AAAABAAAAU1NyBvZl9FyrwABvZLfEW8AAAG9btvnKYEACUtleXNwYWNlMQAAAAMBsPIjV0RYPNuWMcQ+Wc42dn////+AAAAAAAAAAAAAAAAAAAADAA5kdXJhYmxlX3dyaXRlcwAABRX31bAyqAAAAAEBAA5zdHJhdGVneV9jbGFzcwAABRX31bAyqAAAACtvcmcuYXBhY2hlLmNhc3NhbmRyYS5sb2NhdG9yLlNpbXBsZVN0cmF0ZWd5ABBzdHJhdGVneV9vcHRpb25zAAAFFffVsDKoAAAAGnsicmVwbGljYXRpb25fZmFjdG9yIjoiMSJ9AUX1s2AkvD+Do2MQNOpPppd/////gAAAAAAAAAAAAAAAAAAD7wAPAAlBc2NpaUtleXMAAAAAAAAFFffVsDKoAAAAAAAlAAlBc2NpaUtleXMAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31bAyqAAAAARVU2ZuABYACUFzY2lpS2V5cwAAB2NhY2hpbmcAAAAFFffVsDKoAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AFAAJQXNjaWlLZXlzAAAFY2ZfaWQAAAAFFffVsDKoAAAAEGxid075gBHkuKDn1EjV4m0AHQAJQXNjaWlLZXlzAAAOY29sdW1uX2FsaWFzZXMAAAAFFffVsDKoAAAAC1siY29sdW1uMSJdABYACUFzY2lpS2V5cwAAB2NvbW1lbnQAAAAFFffVsDKoAAAAAAAoAAlBc2NpaUtleXMAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31bAyqAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAKgAJQXNjaWlLZXlzAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31bAyqAAAAAJ7fQAZAAlBc2NpaUtleXMAAApjb21wYXJhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAlAAlBc2NpaUtleXMAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31bAyqAAAAAJ7fQAjAAlBc2NpaUtleXMAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99WwMqgAAAAEAAAAAAAgAAlBc2NpaUtleXMAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHwAJQXNjaWlLZXlzAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99WwMqgAAAAEAA0vAAAdAAlBc2NpaUtleXMAAA5pbmRleF9pbnRlcnZhbAABAAUV99WwMqgAAAAEVVNmbgAXAAlBc2NpaUtleXMAAAhpc19kZW5zZQAAAAUV99WwMqgAAAABAQAaAAlBc2NpaUtleXMAAAtrZXlfYWxpYXNlcwAAAAUV99WwMqgAAAAHWyJrZXkiXQAcAAlBc2NpaUtleXMAAA1rZXlfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkFzY2lpVHlwZQAnAAlBc2NpaUtleXMAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACD+5mZmZmZmaACcACUFzY2lpS2V5cwAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAAIAAhAAlBc2NpaUtleXMAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAACAAAKgAJQXNjaWlLZXlzAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31bAyqAAAAAQAAAAAACcACUFzY2lpS2V5cwAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAABAAhAAlBc2NpaUtleXMAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAAAIAAIQAJQXNjaWlLZXlzAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAgAAAAAAAAAAAAgAAlBc2NpaUtleXMAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99WwMqgAAAAOOTkuMFBFUkNFTlRJTEUAEwAJQXNjaWlLZXlzAAAEdHlwZQAAAAUV99WwMqgAAAAIU3RhbmRhcmQAGgAJQXNjaWlLZXlzAAALdmFsdWVfYWxpYXMAAAAFFffVsDKoAAAABXZhbHVlAA4ACENvdW50ZXIxAAAAAAAABRX31bAyqAAAAAAAJAAIQ291bnRlcjEAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31bAyqAAAAARVU2ZuABUACENvdW50ZXIxAAAHY2FjaGluZwAAAAUV99WwMqgAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQATAAhDb3VudGVyMQAABWNmX2lkAAAABRX31bAyqAAAABBsYlA1+YAR5Lig59RI1eJtABwACENvdW50ZXIxAAAOY29sdW1uX2FsaWFzZXMAAAAFFffVsDKoAAAAC1siY29sdW1uMSJdABUACENvdW50ZXIxAAAHY29tbWVudAAAAAUV99WwMqgAAAAAACcACENvdW50ZXIxAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99WwMqgAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5ACkACENvdW50ZXIxAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31bAyqAAAAAJ7fQAYAAhDb3VudGVyMQAACmNvbXBhcmF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACQACENvdW50ZXIxAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99WwMqgAAAACe30AIgAIQ291bnRlcjEAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99WwMqgAAAAEAAAAAAAfAAhDb3VudGVyMQAAEWRlZmF1bHRfdmFsaWRhdG9yAAAABRX31bAyqAAAADFvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkNvdW50ZXJDb2x1bW5UeXBlAB4ACENvdW50ZXIxAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99WwMqgAAAAEAA0vAAAcAAhDb3VudGVyMQAADmluZGV4X2ludGVydmFsAAEABRX31bAyqAAAAARVU2ZuABYACENvdW50ZXIxAAAIaXNfZGVuc2UAAAAFFffVsDKoAAAAAQEAGQAIQ291bnRlcjEAAAtrZXlfYWxpYXNlcwAAAAUV99WwMqgAAAAHWyJrZXkiXQAbAAhDb3VudGVyMQAADWtleV92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACYACENvdW50ZXIxAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAg/uZmZmZmZmgAmAAhDb3VudGVyMQAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAAIAAgAAhDb3VudGVyMQAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAIAAApAAhDb3VudGVyMQAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99WwMqgAAAAEAAAAAAAmAAhDb3VudGVyMQAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAABAAgAAhDb3VudGVyMQAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAAgAAgAAhDb3VudGVyMQAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIAAAAAAAAAAAAHwAIQ291bnRlcjEAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99WwMqgAAAAOOTkuMFBFUkNFTlRJTEUAEgAIQ291bnRlcjEAAAR0eXBlAAAABRX31bAyqAAAAAhTdGFuZGFyZAAZAAhDb3VudGVyMQAAC3ZhbHVlX2FsaWFzAAAABRX31bAyqAAAAAV2YWx1ZQAOAAhJbmRleGVkMQAAAAAAAAUV99WwMqgAAAAAACQACEluZGV4ZWQxAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99WwMqgAAAAEVVNmbgAVAAhJbmRleGVkMQAAB2NhY2hpbmcAAAAFFffVsDKoAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AEwAISW5kZXhlZDEAAAVjZl9pZAAAAAUV99WwMqgAAAAQbGJQMfmAEeS4oOfUSNXibQAcAAhJbmRleGVkMQAADmNvbHVtbl9hbGlhc2VzAAAABRX31bAyqAAAAAJbXQAVAAhJbmRleGVkMQAAB2NvbW1lbnQAAAAFFffVsDKoAAAAAAAnAAhJbmRleGVkMQAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffVsDKoAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQApAAhJbmRleGVkMQAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99WwMqgAAAACe30AGAAISW5kZXhlZDEAAApjb21wYXJhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAkAAhJbmRleGVkMQAAFmNvbXByZXNzaW9uX3BhcmFtZXRlcnMAAAAFFffVsDKoAAAAAnt9ACIACEluZGV4ZWQxAAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffVsDKoAAAABAAAAAAAHwAISW5kZXhlZDEAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHgAISW5kZXhlZDEAABBnY19ncmFjZV9zZWNvbmRzAAAABRX31bAyqAAAAAQADS8AABwACEluZGV4ZWQxAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffVsDKoAAAABFVTZm4AFgAISW5kZXhlZDEAAAhpc19kZW5zZQAAAAUV99WwMqgAAAABAAAZAAhJbmRleGVkMQAAC2tleV9hbGlhc2VzAAAABRX31bAyqAAAAAdbImtleSJdABsACEluZGV4ZWQxAAANa2V5X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Bc2NpaVR5cGUAJgAISW5kZXhlZDEAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACD+5mZmZmZmaACYACEluZGV4ZWQxAAAYbWF4X2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAgACAACEluZGV4ZWQxAAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAAgAACkACEluZGV4ZWQxAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31bAyqAAAAAQAAAAAACYACEluZGV4ZWQxAAAYbWluX2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAEACAACEluZGV4ZWQxAAASbWluX2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAACAACAACEluZGV4ZWQxAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAgAAAAAAAAAAAAfAAhJbmRleGVkMQAAEXNwZWN1bGF0aXZlX3JldHJ5AAAABRX31bAyqAAAAA45OS4wUEVSQ0VOVElMRQASAAhJbmRleGVkMQAABHR5cGUAAAAFFffVsDKoAAAACFN0YW5kYXJkABkACEluZGV4ZWQxAAALdmFsdWVfYWxpYXMAAQAFFffVsDKoAAAABFVTZm4ADgAISW5kZXhlZDIAAAAAAAAFFffVsDKoAAAAAAAkAAhJbmRleGVkMgAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffVsDKoAAAABFVTZm4AFQAISW5kZXhlZDIAAAdjYWNoaW5nAAAABRX31bAyqAAAACt7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9ABMACEluZGV4ZWQyAAAFY2ZfaWQAAAAFFffVsDKoAAAAEGxiUDL5gBHkuKDn1EjV4m0AHAAISW5kZXhlZDIAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99WwMqgAAAACW10AFQAISW5kZXhlZDIAAAdjb21tZW50AAAABRX31bAyqAAAAAAAJwAISW5kZXhlZDIAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31bAyqAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAKQAISW5kZXhlZDIAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffVsDKoAAAAAnt9ABgACEluZGV4ZWQyAAAKY29tcGFyYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJAAISW5kZXhlZDIAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31bAyqAAAAAJ7fQAiAAhJbmRleGVkMgAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31bAyqAAAAAQAAAAAAB8ACEluZGV4ZWQyAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlAB4ACEluZGV4ZWQyAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99WwMqgAAAAEAA0vAAAcAAhJbmRleGVkMgAADmluZGV4X2ludGVydmFsAAEABRX31bAyqAAAAARVU2ZuABYACEluZGV4ZWQyAAAIaXNfZGVuc2UAAAAFFffVsDKoAAAAAQAAGQAISW5kZXhlZDIAAAtrZXlfYWxpYXNlcwAAAAUV99WwMqgAAAAHWyJrZXkiXQAbAAhJbmRleGVkMgAADWtleV92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQXNjaWlUeXBlACYACEluZGV4ZWQyAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAg/uZmZmZmZmgAmAAhJbmRleGVkMgAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAAIAAgAAhJbmRleGVkMgAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAIAAApAAhJbmRleGVkMgAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99WwMqgAAAAEAAAAAAAmAAhJbmRleGVkMgAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAABAAgAAhJbmRleGVkMgAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAAgAAgAAhJbmRleGVkMgAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIAAAAAAAAAAAAHwAISW5kZXhlZDIAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99WwMqgAAAAOOTkuMFBFUkNFTlRJTEUAEgAISW5kZXhlZDIAAAR0eXBlAAAABRX31bAyqAAAAAhTdGFuZGFyZAAZAAhJbmRleGVkMgAAC3ZhbHVlX2FsaWFzAAEABRX31bAyqAAAAARVU2ZuAA8ACUpkYmNBc2NpaQAAAAAAAAUV99WwMqgAAAAAACUACUpkYmNBc2NpaQAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffVsDKoAAAABFVTZm4AFgAJSmRiY0FzY2lpAAAHY2FjaGluZwAAAAUV99WwMqgAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQAUAAlKZGJjQXNjaWkAAAVjZl9pZAAAAAUV99WwMqgAAAAQbGJ3Q/mAEeS4oOfUSNXibQAdAAlKZGJjQXNjaWkAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99WwMqgAAAALWyJjb2x1bW4xIl0AFgAJSmRiY0FzY2lpAAAHY29tbWVudAAAAAUV99WwMqgAAAAAACgACUpkYmNBc2NpaQAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffVsDKoAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQAqAAlKZGJjQXNjaWkAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffVsDKoAAAAAnt9ABkACUpkYmNBc2NpaQAACmNvbXBhcmF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQXNjaWlUeXBlACUACUpkYmNBc2NpaQAAFmNvbXByZXNzaW9uX3BhcmFtZXRlcnMAAAAFFffVsDKoAAAAAnt9ACMACUpkYmNBc2NpaQAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31bAyqAAAAAQAAAAAACAACUpkYmNBc2NpaQAAEWRlZmF1bHRfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkFzY2lpVHlwZQAfAAlKZGJjQXNjaWkAABBnY19ncmFjZV9zZWNvbmRzAAAABRX31bAyqAAAAAQADS8AAB0ACUpkYmNBc2NpaQAADmluZGV4X2ludGVydmFsAAEABRX31bAyqAAAAARVU2ZuABcACUpkYmNBc2NpaQAACGlzX2RlbnNlAAAABRX31bAyqAAAAAEBABoACUpkYmNBc2NpaQAAC2tleV9hbGlhc2VzAAAABRX31bAyqAAAAAdbImtleSJdABwACUpkYmNBc2NpaQAADWtleV92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACcACUpkYmNBc2NpaQAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIP7mZmZmZmZoAJwAJSmRiY0FzY2lpAAAYbWF4X2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAgACEACUpkYmNBc2NpaQAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAIAAAqAAlKZGJjQXNjaWkAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffVsDKoAAAABAAAAAAAJwAJSmRiY0FzY2lpAAAYbWluX2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAEACEACUpkYmNBc2NpaQAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAAgAAhAAlKZGJjQXNjaWkAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACAAAAAAAAAAAACAACUpkYmNBc2NpaQAAEXNwZWN1bGF0aXZlX3JldHJ5AAAABRX31bAyqAAAAA45OS4wUEVSQ0VOVElMRQATAAlKZGJjQXNjaWkAAAR0eXBlAAAABRX31bAyqAAAAAhTdGFuZGFyZAAaAAlKZGJjQXNjaWkAAAt2YWx1ZV9hbGlhcwAAAAUV99WwMqgAAAAFdmFsdWUADwAJSmRiY0J5dGVzAAAAAAAABRX31bAyqAAAAAAAJQAJSmRiY0J5dGVzAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99WwMqgAAAAEVVNmbgAWAAlKZGJjQnl0ZXMAAAdjYWNoaW5nAAAABRX31bAyqAAAACt7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9ABQACUpkYmNCeXRlcwAABWNmX2lkAAAABRX31bAyqAAAABBsYndC+YAR5Lig59RI1eJtAB0ACUpkYmNCeXRlcwAADmNvbHVtbl9hbGlhc2VzAAAABRX31bAyqAAAAAtbImNvbHVtbjEiXQAWAAlKZGJjQnl0ZXMAAAdjb21tZW50AAAABRX31bAyqAAAAAAAKAAJSmRiY0J5dGVzAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99WwMqgAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5ACoACUpkYmNCeXRlcwAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99WwMqgAAAACe30AGQAJSmRiY0J5dGVzAAAKY29tcGFyYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJQAJSmRiY0J5dGVzAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99WwMqgAAAACe30AIwAJSmRiY0J5dGVzAAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffVsDKoAAAABAAAAAAAIAAJSmRiY0J5dGVzAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlAB8ACUpkYmNCeXRlcwAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffVsDKoAAAABAANLwAAHQAJSmRiY0J5dGVzAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffVsDKoAAAABFVTZm4AFwAJSmRiY0J5dGVzAAAIaXNfZGVuc2UAAAAFFffVsDKoAAAAAQEAGgAJSmRiY0J5dGVzAAALa2V5X2FsaWFzZXMAAAAFFffVsDKoAAAAB1sia2V5Il0AHAAJSmRiY0J5dGVzAAANa2V5X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJwAJSmRiY0J5dGVzAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAg/uZmZmZmZmgAnAAlKZGJjQnl0ZXMAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAACAAIQAJSmRiY0J5dGVzAAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAAgAACoACUpkYmNCeXRlcwAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99WwMqgAAAAEAAAAAAAnAAlKZGJjQnl0ZXMAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAAAQAIQAJSmRiY0J5dGVzAAASbWluX2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAACAACEACUpkYmNCeXRlcwAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIAAAAAAAAAAAAIAAJSmRiY0J5dGVzAAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffVsDKoAAAADjk5LjBQRVJDRU5USUxFABMACUpkYmNCeXRlcwAABHR5cGUAAAAFFffVsDKoAAAACFN0YW5kYXJkABoACUpkYmNCeXRlcwAAC3ZhbHVlX2FsaWFzAAAABRX31bAyqAAAAAV2YWx1ZQARAAtKZGJjSW50ZWdlcgAAAAAAAAUV99WwMqgAAAAAACcAC0pkYmNJbnRlZ2VyAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99WwMqgAAAAEVVNmbgAYAAtKZGJjSW50ZWdlcgAAB2NhY2hpbmcAAAAFFffVsDKoAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AFgALSmRiY0ludGVnZXIAAAVjZl9pZAAAAAUV99WwMqgAAAAQbGJQOPmAEeS4oOfUSNXibQAfAAtKZGJjSW50ZWdlcgAADmNvbHVtbl9hbGlhc2VzAAAABRX31bAyqAAAAAJbXQAYAAtKZGJjSW50ZWdlcgAAB2NvbW1lbnQAAAAFFffVsDKoAAAAAAAqAAtKZGJjSW50ZWdlcgAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffVsDKoAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQAsAAtKZGJjSW50ZWdlcgAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99WwMqgAAAACe30AGwALSmRiY0ludGVnZXIAAApjb21wYXJhdG9yAAAABRX31bAyqAAAACtvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkludGVnZXJUeXBlACcAC0pkYmNJbnRlZ2VyAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99WwMqgAAAACe30AJQALSmRiY0ludGVnZXIAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99WwMqgAAAAEAAAAAAAiAAtKZGJjSW50ZWdlcgAAEWRlZmF1bHRfdmFsaWRhdG9yAAAABRX31bAyqAAAACtvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkludGVnZXJUeXBlACEAC0pkYmNJbnRlZ2VyAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99WwMqgAAAAEAA0vAAAfAAtKZGJjSW50ZWdlcgAADmluZGV4X2ludGVydmFsAAEABRX31bAyqAAAAARVU2ZuABkAC0pkYmNJbnRlZ2VyAAAIaXNfZGVuc2UAAAAFFffVsDKoAAAAAQAAHAALSmRiY0ludGVnZXIAAAtrZXlfYWxpYXNlcwAAAAUV99WwMqgAAAAHWyJrZXkiXQAeAAtKZGJjSW50ZWdlcgAADWtleV92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACkAC0pkYmNJbnRlZ2VyAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAg/uZmZmZmZmgApAAtKZGJjSW50ZWdlcgAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAAIAAjAAtKZGJjSW50ZWdlcgAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAIAAAsAAtKZGJjSW50ZWdlcgAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99WwMqgAAAAEAAAAAAApAAtKZGJjSW50ZWdlcgAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAABAAjAAtKZGJjSW50ZWdlcgAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAAgAAjAAtKZGJjSW50ZWdlcgAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIAAAAAAAAAAAAIgALSmRiY0ludGVnZXIAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99WwMqgAAAAOOTkuMFBFUkNFTlRJTEUAFQALSmRiY0ludGVnZXIAAAR0eXBlAAAABRX31bAyqAAAAAhTdGFuZGFyZAAcAAtKZGJjSW50ZWdlcgAAC3ZhbHVlX2FsaWFzAAEABRX31bAyqAAAAARVU2ZuAA4ACEpkYmNMb25nAAAAAAAABRX31bAyqAAAAAAAJAAISmRiY0xvbmcAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31bAyqAAAAARVU2ZuABUACEpkYmNMb25nAAAHY2FjaGluZwAAAAUV99WwMqgAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQATAAhKZGJjTG9uZwAABWNmX2lkAAAABRX31bAyqAAAABBsYndB+YAR5Lig59RI1eJtABwACEpkYmNMb25nAAAOY29sdW1uX2FsaWFzZXMAAAAFFffVsDKoAAAAC1siY29sdW1uMSJdABUACEpkYmNMb25nAAAHY29tbWVudAAAAAUV99WwMqgAAAAAACcACEpkYmNMb25nAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99WwMqgAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5ACkACEpkYmNMb25nAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31bAyqAAAAAJ7fQAYAAhKZGJjTG9uZwAACmNvbXBhcmF0b3IAAAAFFffVsDKoAAAAKG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuTG9uZ1R5cGUAJAAISmRiY0xvbmcAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31bAyqAAAAAJ7fQAiAAhKZGJjTG9uZwAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31bAyqAAAAAQAAAAAAB8ACEpkYmNMb25nAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffVsDKoAAAAKG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuTG9uZ1R5cGUAHgAISmRiY0xvbmcAABBnY19ncmFjZV9zZWNvbmRzAAAABRX31bAyqAAAAAQADS8AABwACEpkYmNMb25nAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffVsDKoAAAABFVTZm4AFgAISmRiY0xvbmcAAAhpc19kZW5zZQAAAAUV99WwMqgAAAABAQAZAAhKZGJjTG9uZwAAC2tleV9hbGlhc2VzAAAABRX31bAyqAAAAAdbImtleSJdABsACEpkYmNMb25nAAANa2V5X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJgAISmRiY0xvbmcAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACD+5mZmZmZmaACYACEpkYmNMb25nAAAYbWF4X2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAgACAACEpkYmNMb25nAAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAAgAACkACEpkYmNMb25nAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31bAyqAAAAAQAAAAAACYACEpkYmNMb25nAAAYbWluX2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAEACAACEpkYmNMb25nAAASbWluX2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAACAACAACEpkYmNMb25nAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAgAAAAAAAAAAAAfAAhKZGJjTG9uZwAAEXNwZWN1bGF0aXZlX3JldHJ5AAAABRX31bAyqAAAAA45OS4wUEVSQ0VOVElMRQASAAhKZGJjTG9uZwAABHR5cGUAAAAFFffVsDKoAAAACFN0YW5kYXJkABkACEpkYmNMb25nAAALdmFsdWVfYWxpYXMAAAAFFffVsDKoAAAABXZhbHVlAA4ACEpkYmNVdGY4AAAAAAAABRX31bAyqAAAAAAAJAAISmRiY1V0ZjgAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31bAyqAAAAARVU2ZuABUACEpkYmNVdGY4AAAHY2FjaGluZwAAAAUV99WwMqgAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQATAAhKZGJjVXRmOAAABWNmX2lkAAAABRX31bAyqAAAABBsYndA+YAR5Lig59RI1eJtABwACEpkYmNVdGY4AAAOY29sdW1uX2FsaWFzZXMAAAAFFffVsDKoAAAAAltdABUACEpkYmNVdGY4AAAHY29tbWVudAAAAAUV99WwMqgAAAAAACcACEpkYmNVdGY4AAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99WwMqgAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5ACkACEpkYmNVdGY4AAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31bAyqAAAAAJ7fQAYAAhKZGJjVXRmOAAACmNvbXBhcmF0b3IAAAAFFffVsDKoAAAAKG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVVRGOFR5cGUAJAAISmRiY1V0ZjgAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31bAyqAAAAAJ7fQAiAAhKZGJjVXRmOAAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31bAyqAAAAAQAAAAAAB8ACEpkYmNVdGY4AAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffVsDKoAAAAKG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVVRGOFR5cGUAHgAISmRiY1V0ZjgAABBnY19ncmFjZV9zZWNvbmRzAAAABRX31bAyqAAAAAQADS8AABwACEpkYmNVdGY4AAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffVsDKoAAAABFVTZm4AFgAISmRiY1V0ZjgAAAhpc19kZW5zZQAAAAUV99WwMqgAAAABAAAZAAhKZGJjVXRmOAAAC2tleV9hbGlhc2VzAAAABRX31bAyqAAAAAdbImtleSJdABsACEpkYmNVdGY4AAANa2V5X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJgAISmRiY1V0ZjgAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACD+5mZmZmZmaACYACEpkYmNVdGY4AAAYbWF4X2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAgACAACEpkYmNVdGY4AAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAAgAACkACEpkYmNVdGY4AAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31bAyqAAAAAQAAAAAACYACEpkYmNVdGY4AAAYbWluX2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAEACAACEpkYmNVdGY4AAASbWluX2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAACAACAACEpkYmNVdGY4AAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAgAAAAAAAAAAAAfAAhKZGJjVXRmOAAAEXNwZWN1bGF0aXZlX3JldHJ5AAAABRX31bAyqAAAAA45OS4wUEVSQ0VOVElMRQASAAhKZGJjVXRmOAAABHR5cGUAAAAFFffVsDKoAAAACFN0YW5kYXJkABkACEpkYmNVdGY4AAALdmFsdWVfYWxpYXMAAQAFFffVsDKoAAAABFVTZm4AEAAKTWl4ZWRUeXBlcwAAAAAAAAUV99WwMqgAAAAAACYACk1peGVkVHlwZXMAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31bAyqAAAAARVU2ZuABcACk1peGVkVHlwZXMAAAdjYWNoaW5nAAAABRX31bAyqAAAACt7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9ABUACk1peGVkVHlwZXMAAAVjZl9pZAAAAAUV99WwMqgAAAAQbGJ3TPmAEeS4oOfUSNXibQAeAApNaXhlZFR5cGVzAAAOY29sdW1uX2FsaWFzZXMAAAAFFffVsDKoAAAAC1siY29sdW1uMSJdABcACk1peGVkVHlwZXMAAAdjb21tZW50AAAABRX31bAyqAAAAAAAKQAKTWl4ZWRUeXBlcwAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffVsDKoAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQArAApNaXhlZFR5cGVzAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31bAyqAAAAAJ7fQAaAApNaXhlZFR5cGVzAAAKY29tcGFyYXRvcgAAAAUV99WwMqgAAAAob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Mb25nVHlwZQAmAApNaXhlZFR5cGVzAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99WwMqgAAAACe30AJAAKTWl4ZWRUeXBlcwAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31bAyqAAAAAQAAAAAACEACk1peGVkVHlwZXMAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAArb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Cb29sZWFuVHlwZQAgAApNaXhlZFR5cGVzAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99WwMqgAAAAEAA0vAAAeAApNaXhlZFR5cGVzAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffVsDKoAAAABFVTZm4AGAAKTWl4ZWRUeXBlcwAACGlzX2RlbnNlAAAABRX31bAyqAAAAAEBABsACk1peGVkVHlwZXMAAAtrZXlfYWxpYXNlcwAAAAUV99WwMqgAAAAHWyJrZXkiXQAdAApNaXhlZFR5cGVzAAANa2V5X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAAob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5VVUlEVHlwZQAoAApNaXhlZFR5cGVzAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAg/uZmZmZmZmgAoAApNaXhlZFR5cGVzAAAYbWF4X2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAgACIACk1peGVkVHlwZXMAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAACAAAKwAKTWl4ZWRUeXBlcwAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99WwMqgAAAAEAAAAAAAoAApNaXhlZFR5cGVzAAAYbWluX2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAEACIACk1peGVkVHlwZXMAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAAAIAAIgAKTWl4ZWRUeXBlcwAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIAAAAAAAAAAAAIQAKTWl4ZWRUeXBlcwAAEXNwZWN1bGF0aXZlX3JldHJ5AAAABRX31bAyqAAAAA45OS4wUEVSQ0VOVElMRQAUAApNaXhlZFR5cGVzAAAEdHlwZQAAAAUV99WwMqgAAAAIU3RhbmRhcmQAGwAKTWl4ZWRUeXBlcwAAC3ZhbHVlX2FsaWFzAAAABRX31bAyqAAAAAV2YWx1ZQAZABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAAAAAABRX31bAyqAAAAAAALwATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffVsDKoAAAABFVTZm4AIAATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAAB2NhY2hpbmcAAAAFFffVsDKoAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AHgATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAABWNmX2lkAAAABRX31bAyqAAAABBsYndN+YAR5Lig59RI1eJtACcAE01peGVkVHlwZXNDb21wb3NpdGUAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99WwMqgAAAAfWyJjb2x1bW4xIiwiY29sdW1uMiIsImNvbHVtbjMiXQAgABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAHY29tbWVudAAAAAUV99WwMqgAAAAAADIAE01peGVkVHlwZXNDb21wb3NpdGUAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31bAyqAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kANAATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99WwMqgAAAACe30AIwATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAACmNvbXBhcmF0b3IAAAAFFffVsDKoAAAAsW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQ29tcG9zaXRlVHlwZShvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZSxvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlRpbWVVVUlEVHlwZSxvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkludGVnZXJUeXBlKQAvABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99WwMqgAAAACe30ALQATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31bAyqAAAAAQAAAAAACoAE01peGVkVHlwZXNDb21wb3NpdGUAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAArb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Cb29sZWFuVHlwZQApABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99WwMqgAAAAEAA0vAAAnABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffVsDKoAAAABFVTZm4AIQATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAACGlzX2RlbnNlAAAABRX31bAyqAAAAAEBACQAE01peGVkVHlwZXNDb21wb3NpdGUAAAtrZXlfYWxpYXNlcwAAAAUV99WwMqgAAAAVWyJrZXkiLCJrZXkyIiwia2V5MyJdACYAE01peGVkVHlwZXNDb21wb3NpdGUAAA1rZXlfdmFsaWRhdG9yAAAABRX31bAyqAAAALFvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkNvbXBvc2l0ZVR5cGUob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUsb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5UaW1lVVVJRFR5cGUsb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5JbnRlZ2VyVHlwZSkAMQATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIP7mZmZmZmZoAMQATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAAIAArABNNaXhlZFR5cGVzQ29tcG9zaXRlAAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAAgAADQAE01peGVkVHlwZXNDb21wb3NpdGUAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffVsDKoAAAABAAAAAAAMQATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAABAArABNNaXhlZFR5cGVzQ29tcG9zaXRlAAASbWluX2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAACAACsAE01peGVkVHlwZXNDb21wb3NpdGUAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACAAAAAAAAAAAACoAE01peGVkVHlwZXNDb21wb3NpdGUAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99WwMqgAAAAOOTkuMFBFUkNFTlRJTEUAHQATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAABHR5cGUAAAAFFffVsDKoAAAACFN0YW5kYXJkACQAE01peGVkVHlwZXNDb21wb3NpdGUAAAt2YWx1ZV9hbGlhcwAAAAUV99WwMqgAAAAFdmFsdWUADwAJU3RhbmRhcmQxAAAAAAAABRX31bAyqAAAAAAAJQAJU3RhbmRhcmQxAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99WwMqgAAAAEVVNmbgAWAAlTdGFuZGFyZDEAAAdjYWNoaW5nAAAABRX31bAyqAAAACt7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9ABQACVN0YW5kYXJkMQAABWNmX2lkAAAABRX31bAyqAAAABBsYikg+YAR5Lig59RI1eJtAB0ACVN0YW5kYXJkMQAADmNvbHVtbl9hbGlhc2VzAAAABRX31bAyqAAAAAtbImNvbHVtbjEiXQAWAAlTdGFuZGFyZDEAAAdjb21tZW50AAAABRX31bAyqAAAAAAAKAAJU3RhbmRhcmQxAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99WwMqgAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5ACoACVN0YW5kYXJkMQAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99WwMqgAAAAleyJ0b21ic3RvbmVfY29tcGFjdGlvbl9pbnRlcnZhbCI6IjEifQAZAAlTdGFuZGFyZDEAAApjb21wYXJhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAlAAlTdGFuZGFyZDEAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31bAyqAAAAAJ7fQAjAAlTdGFuZGFyZDEAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99WwMqgAAAAEAAAAAAAgAAlTdGFuZGFyZDEAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHwAJU3RhbmRhcmQxAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99WwMqgAAAAEAA0vAAAdAAlTdGFuZGFyZDEAAA5pbmRleF9pbnRlcnZhbAABAAUV99WwMqgAAAAEVVNmbgAXAAlTdGFuZGFyZDEAAAhpc19kZW5zZQAAAAUV99WwMqgAAAABAQAaAAlTdGFuZGFyZDEAAAtrZXlfYWxpYXNlcwAAAAUV99WwMqgAAAAHWyJrZXkiXQAcAAlTdGFuZGFyZDEAAA1rZXlfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAnAAlTdGFuZGFyZDEAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACD+5mZmZmZmaACcACVN0YW5kYXJkMQAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAAIAAhAAlTdGFuZGFyZDEAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAACAAAKgAJU3RhbmRhcmQxAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31bAyqAAAAAQAAAAAACcACVN0YW5kYXJkMQAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAABAAhAAlTdGFuZGFyZDEAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAAAIAAIQAJU3RhbmRhcmQxAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAgAAAAAAAAAAAAgAAlTdGFuZGFyZDEAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99WwMqgAAAAOOTkuMFBFUkNFTlRJTEUAEwAJU3RhbmRhcmQxAAAEdHlwZQAAAAUV99WwMqgAAAAIU3RhbmRhcmQAGgAJU3RhbmRhcmQxAAALdmFsdWVfYWxpYXMAAAAFFffVsDKoAAAABXZhbHVlAA8ACVN0YW5kYXJkMgAAAAAAAAUV99WwMqgAAAAAACUACVN0YW5kYXJkMgAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffVsDKoAAAABFVTZm4AFgAJU3RhbmRhcmQyAAAHY2FjaGluZwAAAAUV99WwMqgAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQAUAAlTdGFuZGFyZDIAAAVjZl9pZAAAAAUV99WwMqgAAAAQbGIpIfmAEeS4oOfUSNXibQAdAAlTdGFuZGFyZDIAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99WwMqgAAAALWyJjb2x1bW4xIl0AFgAJU3RhbmRhcmQyAAAHY29tbWVudAAAAAUV99WwMqgAAAAAACgACVN0YW5kYXJkMgAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffVsDKoAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQAqAAlTdGFuZGFyZDIAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffVsDKoAAAAAnt9ABkACVN0YW5kYXJkMgAACmNvbXBhcmF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACUACVN0YW5kYXJkMgAAFmNvbXByZXNzaW9uX3BhcmFtZXRlcnMAAAAFFffVsDKoAAAAAnt9ACMACVN0YW5kYXJkMgAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31bAyqAAAAAQAAAAAACAACVN0YW5kYXJkMgAAEWRlZmF1bHRfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAfAAlTdGFuZGFyZDIAABBnY19ncmFjZV9zZWNvbmRzAAAABRX31bAyqAAAAAQADS8AAB0ACVN0YW5kYXJkMgAADmluZGV4X2ludGVydmFsAAEABRX31bAyqAAAAARVU2ZuABcACVN0YW5kYXJkMgAACGlzX2RlbnNlAAAABRX31bAyqAAAAAEBABoACVN0YW5kYXJkMgAAC2tleV9hbGlhc2VzAAAABRX31bAyqAAAAAdbImtleSJdABwACVN0YW5kYXJkMgAADWtleV92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACcACVN0YW5kYXJkMgAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIP7mZmZmZmZoAJwAJU3RhbmRhcmQyAAAYbWF4X2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAgACEACVN0YW5kYXJkMgAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAIAAAqAAlTdGFuZGFyZDIAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffVsDKoAAAABAAAAAAAJwAJU3RhbmRhcmQyAAAYbWluX2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAEACEACVN0YW5kYXJkMgAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAAgAAhAAlTdGFuZGFyZDIAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACAAAAAAAAAAAACAACVN0YW5kYXJkMgAAEXNwZWN1bGF0aXZlX3JldHJ5AAAABRX31bAyqAAAAA45OS4wUEVSQ0VOVElMRQATAAlTdGFuZGFyZDIAAAR0eXBlAAAABRX31bAyqAAAAAhTdGFuZGFyZAAaAAlTdGFuZGFyZDIAAAt2YWx1ZV9hbGlhcwAAAAUV99WwMqgAAAAFdmFsdWUADwAJU3RhbmRhcmQzAAAAAAAABRX31bAyqAAAAAAAJQAJU3RhbmRhcmQzAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99WwMqgAAAAEVVNmbgAWAAlTdGFuZGFyZDMAAAdjYWNoaW5nAAAABRX31bAyqAAAACt7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9ABQACVN0YW5kYXJkMwAABWNmX2lkAAAABRX31bAyqAAAABBsYiki+YAR5Lig59RI1eJtAB0ACVN0YW5kYXJkMwAADmNvbHVtbl9hbGlhc2VzAAAABRX31bAyqAAAAAtbImNvbHVtbjEiXQAWAAlTdGFuZGFyZDMAAAdjb21tZW50AAAABRX31bAyqAAAAAAAKAAJU3RhbmRhcmQzAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99WwMqgAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5ACoACVN0YW5kYXJkMwAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99WwMqgAAAACe30AGQAJU3RhbmRhcmQzAAAKY29tcGFyYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJQAJU3RhbmRhcmQzAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99WwMqgAAAACe30AIwAJU3RhbmRhcmQzAAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffVsDKoAAAABAAAAAAAIAAJU3RhbmRhcmQzAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlAB8ACVN0YW5kYXJkMwAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffVsDKoAAAABAANLwAAHQAJU3RhbmRhcmQzAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffVsDKoAAAABFVTZm4AFwAJU3RhbmRhcmQzAAAIaXNfZGVuc2UAAAAFFffVsDKoAAAAAQEAGgAJU3RhbmRhcmQzAAALa2V5X2FsaWFzZXMAAAAFFffVsDKoAAAAB1sia2V5Il0AHAAJU3RhbmRhcmQzAAANa2V5X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJwAJU3RhbmRhcmQzAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAg/uZmZmZmZmgAnAAlTdGFuZGFyZDMAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAACAAIQAJU3RhbmRhcmQzAAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAAgAACoACVN0YW5kYXJkMwAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99WwMqgAAAAEAAAAAAAnAAlTdGFuZGFyZDMAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAAAQAIQAJU3RhbmRhcmQzAAASbWluX2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAACAACEACVN0YW5kYXJkMwAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIAAAAAAAAAAAAIAAJU3RhbmRhcmQzAAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffVsDKoAAAADjk5LjBQRVJDRU5USUxFABMACVN0YW5kYXJkMwAABHR5cGUAAAAFFffVsDKoAAAACFN0YW5kYXJkABoACVN0YW5kYXJkMwAAC3ZhbHVlX2FsaWFzAAAABRX31bAyqAAAAAV2YWx1ZQAPAAlTdGFuZGFyZDQAAAAAAAAFFffVsDKoAAAAAAAlAAlTdGFuZGFyZDQAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31bAyqAAAAARVU2ZuABYACVN0YW5kYXJkNAAAB2NhY2hpbmcAAAAFFffVsDKoAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AFAAJU3RhbmRhcmQ0AAAFY2ZfaWQAAAAFFffVsDKoAAAAEGxiKSP5gBHkuKDn1EjV4m0AHQAJU3RhbmRhcmQ0AAAOY29sdW1uX2FsaWFzZXMAAAAFFffVsDKoAAAAC1siY29sdW1uMSJdABYACVN0YW5kYXJkNAAAB2NvbW1lbnQAAAAFFffVsDKoAAAAAAAoAAlTdGFuZGFyZDQAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31bAyqAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAKgAJU3RhbmRhcmQ0AAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31bAyqAAAAAJ7fQAZAAlTdGFuZGFyZDQAAApjb21wYXJhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAlAAlTdGFuZGFyZDQAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31bAyqAAAAAJ7fQAjAAlTdGFuZGFyZDQAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99WwMqgAAAAEAAAAAAAgAAlTdGFuZGFyZDQAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHwAJU3RhbmRhcmQ0AAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99WwMqgAAAAEAA0vAAAdAAlTdGFuZGFyZDQAAA5pbmRleF9pbnRlcnZhbAABAAUV99WwMqgAAAAEVVNmbgAXAAlTdGFuZGFyZDQAAAhpc19kZW5zZQAAAAUV99WwMqgAAAABAQAaAAlTdGFuZGFyZDQAAAtrZXlfYWxpYXNlcwAAAAUV99WwMqgAAAAHWyJrZXkiXQAcAAlTdGFuZGFyZDQAAA1rZXlfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAnAAlTdGFuZGFyZDQAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACD+5mZmZmZmaACcACVN0YW5kYXJkNAAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAAIAAhAAlTdGFuZGFyZDQAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAACAAAKgAJU3RhbmRhcmQ0AAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31bAyqAAAAAQAAAAAACcACVN0YW5kYXJkNAAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAABAAhAAlTdGFuZGFyZDQAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAAAIAAIQAJU3RhbmRhcmQ0AAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAgAAAAAAAAAAAAgAAlTdGFuZGFyZDQAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99WwMqgAAAAOOTkuMFBFUkNFTlRJTEUAEwAJU3RhbmRhcmQ0AAAEdHlwZQAAAAUV99WwMqgAAAAIU3RhbmRhcmQAGgAJU3RhbmRhcmQ0AAALdmFsdWVfYWxpYXMAAAAFFffVsDKoAAAABXZhbHVlABcAEVN0YW5kYXJkQ29tcG9zaXRlAAAAAAAABRX31bAyqAAAAAAALQARU3RhbmRhcmRDb21wb3NpdGUAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31bAyqAAAAARVU2ZuAB4AEVN0YW5kYXJkQ29tcG9zaXRlAAAHY2FjaGluZwAAAAUV99WwMqgAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQAcABFTdGFuZGFyZENvbXBvc2l0ZQAABWNmX2lkAAAABRX31bAyqAAAABBsYndE+YAR5Lig59RI1eJtACUAEVN0YW5kYXJkQ29tcG9zaXRlAAAOY29sdW1uX2FsaWFzZXMAAAAFFffVsDKoAAAAH1siY29sdW1uMSIsImNvbHVtbjIiLCJjb2x1bW4zIl0AHgARU3RhbmRhcmRDb21wb3NpdGUAAAdjb21tZW50AAAABRX31bAyqAAAAAAAMAARU3RhbmRhcmRDb21wb3NpdGUAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31bAyqAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAMgARU3RhbmRhcmRDb21wb3NpdGUAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffVsDKoAAAAAnt9ACEAEVN0YW5kYXJkQ29tcG9zaXRlAAAKY29tcGFyYXRvcgAAAAUV99WwMqgAAACxb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Db21wb3NpdGVUeXBlKG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlLG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVGltZVVVSURUeXBlLG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuSW50ZWdlclR5cGUpAC0AEVN0YW5kYXJkQ29tcG9zaXRlAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99WwMqgAAAACe30AKwARU3RhbmRhcmRDb21wb3NpdGUAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99WwMqgAAAAEAAAAAAAoABFTdGFuZGFyZENvbXBvc2l0ZQAAEWRlZmF1bHRfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAnABFTdGFuZGFyZENvbXBvc2l0ZQAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffVsDKoAAAABAANLwAAJQARU3RhbmRhcmRDb21wb3NpdGUAAA5pbmRleF9pbnRlcnZhbAABAAUV99WwMqgAAAAEVVNmbgAfABFTdGFuZGFyZENvbXBvc2l0ZQAACGlzX2RlbnNlAAAABRX31bAyqAAAAAEBACIAEVN0YW5kYXJkQ29tcG9zaXRlAAALa2V5X2FsaWFzZXMAAAAFFffVsDKoAAAAB1sia2V5Il0AJAARU3RhbmRhcmRDb21wb3NpdGUAAA1rZXlfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAvABFTdGFuZGFyZENvbXBvc2l0ZQAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIP7mZmZmZmZoALwARU3RhbmRhcmRDb21wb3NpdGUAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAACAAKQARU3RhbmRhcmRDb21wb3NpdGUAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAACAAAMgARU3RhbmRhcmRDb21wb3NpdGUAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffVsDKoAAAABAAAAAAALwARU3RhbmRhcmRDb21wb3NpdGUAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAAAQAKQARU3RhbmRhcmRDb21wb3NpdGUAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAAAIAAKQARU3RhbmRhcmRDb21wb3NpdGUAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACAAAAAAAAAAAACgAEVN0YW5kYXJkQ29tcG9zaXRlAAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffVsDKoAAAADjk5LjBQRVJDRU5USUxFABsAEVN0YW5kYXJkQ29tcG9zaXRlAAAEdHlwZQAAAAUV99WwMqgAAAAIU3RhbmRhcmQAIgARU3RhbmRhcmRDb21wb3NpdGUAAAt2YWx1ZV9hbGlhcwAAAAUV99WwMqgAAAAFdmFsdWUAGAASU3RhbmRhcmRDb21wb3NpdGUyAAAAAAAABRX31bAyqAAAAAAALgASU3RhbmRhcmRDb21wb3NpdGUyAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99WwMqgAAAAEVVNmbgAfABJTdGFuZGFyZENvbXBvc2l0ZTIAAAdjYWNoaW5nAAAABRX31bAyqAAAACt7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9AB0AElN0YW5kYXJkQ29tcG9zaXRlMgAABWNmX2lkAAAABRX31bAyqAAAABBsYndF+YAR5Lig59RI1eJtACYAElN0YW5kYXJkQ29tcG9zaXRlMgAADmNvbHVtbl9hbGlhc2VzAAAABRX31bAyqAAAABVbImNvbHVtbjEiLCJjb2x1bW4yIl0AHwASU3RhbmRhcmRDb21wb3NpdGUyAAAHY29tbWVudAAAAAUV99WwMqgAAAAAADEAElN0YW5kYXJkQ29tcG9zaXRlMgAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffVsDKoAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQAzABJTdGFuZGFyZENvbXBvc2l0ZTIAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffVsDKoAAAAAnt9ACIAElN0YW5kYXJkQ29tcG9zaXRlMgAACmNvbXBhcmF0b3IAAAAFFffVsDKoAAAAhG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQ29tcG9zaXRlVHlwZShvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZSxvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkludGVnZXJUeXBlKQAuABJTdGFuZGFyZENvbXBvc2l0ZTIAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31bAyqAAAAAJ7fQAsABJTdGFuZGFyZENvbXBvc2l0ZTIAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99WwMqgAAAAEAAAAAAApABJTdGFuZGFyZENvbXBvc2l0ZTIAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAKAASU3RhbmRhcmRDb21wb3NpdGUyAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99WwMqgAAAAEAA0vAAAmABJTdGFuZGFyZENvbXBvc2l0ZTIAAA5pbmRleF9pbnRlcnZhbAABAAUV99WwMqgAAAAEVVNmbgAgABJTdGFuZGFyZENvbXBvc2l0ZTIAAAhpc19kZW5zZQAAAAUV99WwMqgAAAABAQAjABJTdGFuZGFyZENvbXBvc2l0ZTIAAAtrZXlfYWxpYXNlcwAAAAUV99WwMqgAAAAHWyJrZXkiXQAlABJTdGFuZGFyZENvbXBvc2l0ZTIAAA1rZXlfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAwABJTdGFuZGFyZENvbXBvc2l0ZTIAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACD+5mZmZmZmaADAAElN0YW5kYXJkQ29tcG9zaXRlMgAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAAIAAqABJTdGFuZGFyZENvbXBvc2l0ZTIAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAACAAAMwASU3RhbmRhcmRDb21wb3NpdGUyAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31bAyqAAAAAQAAAAAADAAElN0YW5kYXJkQ29tcG9zaXRlMgAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAABAAqABJTdGFuZGFyZENvbXBvc2l0ZTIAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAAAIAAKgASU3RhbmRhcmRDb21wb3NpdGUyAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAgAAAAAAAAAAAApABJTdGFuZGFyZENvbXBvc2l0ZTIAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99WwMqgAAAAOOTkuMFBFUkNFTlRJTEUAHAASU3RhbmRhcmRDb21wb3NpdGUyAAAEdHlwZQAAAAUV99WwMqgAAAAIU3RhbmRhcmQAIwASU3RhbmRhcmRDb21wb3NpdGUyAAALdmFsdWVfYWxpYXMAAAAFFffVsDKoAAAABXZhbHVlAB4AGFN0YW5kYXJkRHluYW1pY0NvbXBvc2l0ZQAAAAAAAAUV99WwMqgAAAAAADQAGFN0YW5kYXJkRHluYW1pY0NvbXBvc2l0ZQAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffVsDKoAAAABFVTZm4AJQAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAAHY2FjaGluZwAAAAUV99WwMqgAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQAjABhTdGFuZGFyZER5bmFtaWNDb21wb3NpdGUAAAVjZl9pZAAAAAUV99WwMqgAAAAQbGJ3RvmAEeS4oOfUSNXibQAsABhTdGFuZGFyZER5bmFtaWNDb21wb3NpdGUAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99WwMqgAAAALWyJjb2x1bW4xIl0AJQAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAAHY29tbWVudAAAAAUV99WwMqgAAAAAADcAGFN0YW5kYXJkRHluYW1pY0NvbXBvc2l0ZQAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffVsDKoAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQA5ABhTdGFuZGFyZER5bmFtaWNDb21wb3NpdGUAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffVsDKoAAAAAnt9ACgAGFN0YW5kYXJkRHluYW1pY0NvbXBvc2l0ZQAACmNvbXBhcmF0b3IAAAAFFffVsDKoAAABS29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuRHluYW1pY0NvbXBvc2l0ZVR5cGUoYj0+b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUsQj0+b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5SZXZlcnNlZFR5cGUob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUpLHQ9Pm9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVGltZVVVSURUeXBlLFQ9Pm9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuUmV2ZXJzZWRUeXBlKG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVGltZVVVSURUeXBlKSkANAAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99WwMqgAAAACe30AMgAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffVsDKoAAAABAAAAAAALwAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlAC4AGFN0YW5kYXJkRHluYW1pY0NvbXBvc2l0ZQAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffVsDKoAAAABAANLwAALAAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffVsDKoAAAABFVTZm4AJgAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAAIaXNfZGVuc2UAAAAFFffVsDKoAAAAAQEAKQAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAALa2V5X2FsaWFzZXMAAAAFFffVsDKoAAAAB1sia2V5Il0AKwAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAANa2V5X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUANgAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAg/uZmZmZmZmgA2ABhTdGFuZGFyZER5bmFtaWNDb21wb3NpdGUAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAACAAMAAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAAgAADkAGFN0YW5kYXJkRHluYW1pY0NvbXBvc2l0ZQAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99WwMqgAAAAEAAAAAAA2ABhTdGFuZGFyZER5bmFtaWNDb21wb3NpdGUAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAAAQAMAAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAASbWluX2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAACAADAAGFN0YW5kYXJkRHluYW1pY0NvbXBvc2l0ZQAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIAAAAAAAAAAAALwAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffVsDKoAAAADjk5LjBQRVJDRU5USUxFACIAGFN0YW5kYXJkRHluYW1pY0NvbXBvc2l0ZQAABHR5cGUAAAAFFffVsDKoAAAACFN0YW5kYXJkACkAGFN0YW5kYXJkRHluYW1pY0NvbXBvc2l0ZQAAC3ZhbHVlX2FsaWFzAAAABRX31bAyqAAAAAV2YWx1ZQATAA1TdGFuZGFyZEdDR1MwAAAAAAAABRX31bAyqAAAAAAAKQANU3RhbmRhcmRHQ0dTMAAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffVsDKoAAAABFVTZm4AGgANU3RhbmRhcmRHQ0dTMAAAB2NhY2hpbmcAAAAFFffVsDKoAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AGAANU3RhbmRhcmRHQ0dTMAAABWNmX2lkAAAABRX31bAyqAAAABBsYikk+YAR5Lig59RI1eJtACEADVN0YW5kYXJkR0NHUzAAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99WwMqgAAAALWyJjb2x1bW4xIl0AGgANU3RhbmRhcmRHQ0dTMAAAB2NvbW1lbnQAAAAFFffVsDKoAAAAAAAsAA1TdGFuZGFyZEdDR1MwAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99WwMqgAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5AC4ADVN0YW5kYXJkR0NHUzAAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffVsDKoAAAAAnt9AB0ADVN0YW5kYXJkR0NHUzAAAApjb21wYXJhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQApAA1TdGFuZGFyZEdDR1MwAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99WwMqgAAAACe30AJwANU3RhbmRhcmRHQ0dTMAAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31bAyqAAAAAQAAAAAACQADVN0YW5kYXJkR0NHUzAAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAIwANU3RhbmRhcmRHQ0dTMAAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffVsDKoAAAABAAAAAAAIQANU3RhbmRhcmRHQ0dTMAAADmluZGV4X2ludGVydmFsAAEABRX31bAyqAAAAARVU2ZuABsADVN0YW5kYXJkR0NHUzAAAAhpc19kZW5zZQAAAAUV99WwMqgAAAABAQAeAA1TdGFuZGFyZEdDR1MwAAALa2V5X2FsaWFzZXMAAAAFFffVsDKoAAAAB1sia2V5Il0AIAANU3RhbmRhcmRHQ0dTMAAADWtleV92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACsADVN0YW5kYXJkR0NHUzAAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACD+5mZmZmZmaACsADVN0YW5kYXJkR0NHUzAAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAACAAJQANU3RhbmRhcmRHQ0dTMAAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAIAAAuAA1TdGFuZGFyZEdDR1MwAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31bAyqAAAAAQAAAAAACsADVN0YW5kYXJkR0NHUzAAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAAAQAJQANU3RhbmRhcmRHQ0dTMAAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAAgAAlAA1TdGFuZGFyZEdDR1MwAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAgAAAAAAAAAAAAkAA1TdGFuZGFyZEdDR1MwAAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffVsDKoAAAADjk5LjBQRVJDRU5USUxFABcADVN0YW5kYXJkR0NHUzAAAAR0eXBlAAAABRX31bAyqAAAAAhTdGFuZGFyZAAeAA1TdGFuZGFyZEdDR1MwAAALdmFsdWVfYWxpYXMAAAAFFffVsDKoAAAABXZhbHVlABYAEFN0YW5kYXJkSW50ZWdlcjEAAAAAAAAFFffVsDKoAAAAAAAsABBTdGFuZGFyZEludGVnZXIxAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99WwMqgAAAAEVVNmbgAdABBTdGFuZGFyZEludGVnZXIxAAAHY2FjaGluZwAAAAUV99WwMqgAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQAbABBTdGFuZGFyZEludGVnZXIxAAAFY2ZfaWQAAAAFFffVsDKoAAAAEGxiUDP5gBHkuKDn1EjV4m0AJAAQU3RhbmRhcmRJbnRlZ2VyMQAADmNvbHVtbl9hbGlhc2VzAAAABRX31bAyqAAAAAtbImNvbHVtbjEiXQAdABBTdGFuZGFyZEludGVnZXIxAAAHY29tbWVudAAAAAUV99WwMqgAAAAAAC8AEFN0YW5kYXJkSW50ZWdlcjEAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31bAyqAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAMQAQU3RhbmRhcmRJbnRlZ2VyMQAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99WwMqgAAAACe30AIAAQU3RhbmRhcmRJbnRlZ2VyMQAACmNvbXBhcmF0b3IAAAAFFffVsDKoAAAAK29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuSW50ZWdlclR5cGUALAAQU3RhbmRhcmRJbnRlZ2VyMQAAFmNvbXByZXNzaW9uX3BhcmFtZXRlcnMAAAAFFffVsDKoAAAAAnt9ACoAEFN0YW5kYXJkSW50ZWdlcjEAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99WwMqgAAAAEAAAAAAAnABBTdGFuZGFyZEludGVnZXIxAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACYAEFN0YW5kYXJkSW50ZWdlcjEAABBnY19ncmFjZV9zZWNvbmRzAAAABRX31bAyqAAAAAQADS8AACQAEFN0YW5kYXJkSW50ZWdlcjEAAA5pbmRleF9pbnRlcnZhbAABAAUV99WwMqgAAAAEVVNmbgAeABBTdGFuZGFyZEludGVnZXIxAAAIaXNfZGVuc2UAAAAFFffVsDKoAAAAAQEAIQAQU3RhbmRhcmRJbnRlZ2VyMQAAC2tleV9hbGlhc2VzAAAABRX31bAyqAAAAAdbImtleSJdACMAEFN0YW5kYXJkSW50ZWdlcjEAAA1rZXlfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAuABBTdGFuZGFyZEludGVnZXIxAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAg/uZmZmZmZmgAuABBTdGFuZGFyZEludGVnZXIxAAAYbWF4X2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAgACgAEFN0YW5kYXJkSW50ZWdlcjEAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAACAAAMQAQU3RhbmRhcmRJbnRlZ2VyMQAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99WwMqgAAAAEAAAAAAAuABBTdGFuZGFyZEludGVnZXIxAAAYbWluX2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAEACgAEFN0YW5kYXJkSW50ZWdlcjEAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAAAIAAKAAQU3RhbmRhcmRJbnRlZ2VyMQAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIAAAAAAAAAAAAJwAQU3RhbmRhcmRJbnRlZ2VyMQAAEXNwZWN1bGF0aXZlX3JldHJ5AAAABRX31bAyqAAAAA45OS4wUEVSQ0VOVElMRQAaABBTdGFuZGFyZEludGVnZXIxAAAEdHlwZQAAAAUV99WwMqgAAAAIU3RhbmRhcmQAIQAQU3RhbmRhcmRJbnRlZ2VyMQAAC3ZhbHVlX2FsaWFzAAAABRX31bAyqAAAAAV2YWx1ZQAVAA9TdGFuZGFyZExldmVsZWQAAAAAAAAFFffVsDKoAAAAAAArAA9TdGFuZGFyZExldmVsZWQAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31bAyqAAAAARVU2ZuABwAD1N0YW5kYXJkTGV2ZWxlZAAAB2NhY2hpbmcAAAAFFffVsDKoAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AGgAPU3RhbmRhcmRMZXZlbGVkAAAFY2ZfaWQAAAAFFffVsDKoAAAAEGxid0f5gBHkuKDn1EjV4m0AIwAPU3RhbmRhcmRMZXZlbGVkAAAOY29sdW1uX2FsaWFzZXMAAAAFFffVsDKoAAAAC1siY29sdW1uMSJdABwAD1N0YW5kYXJkTGV2ZWxlZAAAB2NvbW1lbnQAAAAFFffVsDKoAAAAAAAuAA9TdGFuZGFyZExldmVsZWQAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31bAyqAAAADxvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLkxldmVsZWRDb21wYWN0aW9uU3RyYXRlZ3kAMAAPU3RhbmRhcmRMZXZlbGVkAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31bAyqAAAABp7InNzdGFibGVfc2l6ZV9pbl9tYiI6IjEifQAfAA9TdGFuZGFyZExldmVsZWQAAApjb21wYXJhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQArAA9TdGFuZGFyZExldmVsZWQAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31bAyqAAAAAJ7fQApAA9TdGFuZGFyZExldmVsZWQAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99WwMqgAAAAEAAAAAAAmAA9TdGFuZGFyZExldmVsZWQAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJQAPU3RhbmRhcmRMZXZlbGVkAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99WwMqgAAAAEAA0vAAAjAA9TdGFuZGFyZExldmVsZWQAAA5pbmRleF9pbnRlcnZhbAABAAUV99WwMqgAAAAEVVNmbgAdAA9TdGFuZGFyZExldmVsZWQAAAhpc19kZW5zZQAAAAUV99WwMqgAAAABAQAgAA9TdGFuZGFyZExldmVsZWQAAAtrZXlfYWxpYXNlcwAAAAUV99WwMqgAAAAHWyJrZXkiXQAiAA9TdGFuZGFyZExldmVsZWQAAA1rZXlfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAtAA9TdGFuZGFyZExldmVsZWQAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACD+5mZmZmZmaAC0AD1N0YW5kYXJkTGV2ZWxlZAAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAAIAAnAA9TdGFuZGFyZExldmVsZWQAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAACAAAMAAPU3RhbmRhcmRMZXZlbGVkAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31bAyqAAAAAQAAAAAAC0AD1N0YW5kYXJkTGV2ZWxlZAAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAABAAnAA9TdGFuZGFyZExldmVsZWQAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAAAIAAJwAPU3RhbmRhcmRMZXZlbGVkAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAgAAAAAAAAAAAAmAA9TdGFuZGFyZExldmVsZWQAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99WwMqgAAAAOOTkuMFBFUkNFTlRJTEUAGQAPU3RhbmRhcmRMZXZlbGVkAAAEdHlwZQAAAAUV99WwMqgAAAAIU3RhbmRhcmQAIAAPU3RhbmRhcmRMZXZlbGVkAAALdmFsdWVfYWxpYXMAAAAFFffVsDKoAAAABXZhbHVlABMADVN0YW5kYXJkTG9uZzEAAAAAAAAFFffVsDKoAAAAAAApAA1TdGFuZGFyZExvbmcxAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99WwMqgAAAAEVVNmbgAaAA1TdGFuZGFyZExvbmcxAAAHY2FjaGluZwAAAAUV99WwMqgAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQAYAA1TdGFuZGFyZExvbmcxAAAFY2ZfaWQAAAAFFffVsDKoAAAAEGxiKSX5gBHkuKDn1EjV4m0AIQANU3RhbmRhcmRMb25nMQAADmNvbHVtbl9hbGlhc2VzAAAABRX31bAyqAAAAAtbImNvbHVtbjEiXQAaAA1TdGFuZGFyZExvbmcxAAAHY29tbWVudAAAAAUV99WwMqgAAAAAACwADVN0YW5kYXJkTG9uZzEAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31bAyqAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kALgANU3RhbmRhcmRMb25nMQAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99WwMqgAAAACe30AHQANU3RhbmRhcmRMb25nMQAACmNvbXBhcmF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACkADVN0YW5kYXJkTG9uZzEAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31bAyqAAAAAJ7fQAnAA1TdGFuZGFyZExvbmcxAAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffVsDKoAAAABAAAAAAAJAANU3RhbmRhcmRMb25nMQAAEWRlZmF1bHRfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAjAA1TdGFuZGFyZExvbmcxAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99WwMqgAAAAEAA0vAAAhAA1TdGFuZGFyZExvbmcxAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffVsDKoAAAABFVTZm4AGwANU3RhbmRhcmRMb25nMQAACGlzX2RlbnNlAAAABRX31bAyqAAAAAEBAB4ADVN0YW5kYXJkTG9uZzEAAAtrZXlfYWxpYXNlcwAAAAUV99WwMqgAAAAHWyJrZXkiXQAgAA1TdGFuZGFyZExvbmcxAAANa2V5X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAKwANU3RhbmRhcmRMb25nMQAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIP7mZmZmZmZoAKwANU3RhbmRhcmRMb25nMQAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAAIAAlAA1TdGFuZGFyZExvbmcxAAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAAgAAC4ADVN0YW5kYXJkTG9uZzEAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffVsDKoAAAABAAAAAAAKwANU3RhbmRhcmRMb25nMQAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAABAAlAA1TdGFuZGFyZExvbmcxAAASbWluX2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAACAACUADVN0YW5kYXJkTG9uZzEAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACAAAAAAAAAAAACQADVN0YW5kYXJkTG9uZzEAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99WwMqgAAAAOOTkuMFBFUkNFTlRJTEUAFwANU3RhbmRhcmRMb25nMQAABHR5cGUAAAAFFffVsDKoAAAACFN0YW5kYXJkAB4ADVN0YW5kYXJkTG9uZzEAAAt2YWx1ZV9hbGlhcwAAAAUV99WwMqgAAAAFdmFsdWUAEwANU3RhbmRhcmRMb25nMgAAAAAAAAUV99WwMqgAAAAAACkADVN0YW5kYXJkTG9uZzIAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31bAyqAAAAARVU2ZuABoADVN0YW5kYXJkTG9uZzIAAAdjYWNoaW5nAAAABRX31bAyqAAAACt7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9ABgADVN0YW5kYXJkTG9uZzIAAAVjZl9pZAAAAAUV99WwMqgAAAAQbGIpJvmAEeS4oOfUSNXibQAhAA1TdGFuZGFyZExvbmcyAAAOY29sdW1uX2FsaWFzZXMAAAAFFffVsDKoAAAAC1siY29sdW1uMSJdABoADVN0YW5kYXJkTG9uZzIAAAdjb21tZW50AAAABRX31bAyqAAAAAAALAANU3RhbmRhcmRMb25nMgAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffVsDKoAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQAuAA1TdGFuZGFyZExvbmcyAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31bAyqAAAAAJ7fQAdAA1TdGFuZGFyZExvbmcyAAAKY29tcGFyYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAKQANU3RhbmRhcmRMb25nMgAAFmNvbXByZXNzaW9uX3BhcmFtZXRlcnMAAAAFFffVsDKoAAAAAnt9ACcADVN0YW5kYXJkTG9uZzIAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99WwMqgAAAAEAAAAAAAkAA1TdGFuZGFyZExvbmcyAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACMADVN0YW5kYXJkTG9uZzIAABBnY19ncmFjZV9zZWNvbmRzAAAABRX31bAyqAAAAAQADS8AACEADVN0YW5kYXJkTG9uZzIAAA5pbmRleF9pbnRlcnZhbAABAAUV99WwMqgAAAAEVVNmbgAbAA1TdGFuZGFyZExvbmcyAAAIaXNfZGVuc2UAAAAFFffVsDKoAAAAAQEAHgANU3RhbmRhcmRMb25nMgAAC2tleV9hbGlhc2VzAAAABRX31bAyqAAAAAdbImtleSJdACAADVN0YW5kYXJkTG9uZzIAAA1rZXlfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQArAA1TdGFuZGFyZExvbmcyAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAg/uZmZmZmZmgArAA1TdGFuZGFyZExvbmcyAAAYbWF4X2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAgACUADVN0YW5kYXJkTG9uZzIAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAACAAALgANU3RhbmRhcmRMb25nMgAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99WwMqgAAAAEAAAAAAArAA1TdGFuZGFyZExvbmcyAAAYbWluX2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAEACUADVN0YW5kYXJkTG9uZzIAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAAAIAAJQANU3RhbmRhcmRMb25nMgAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIAAAAAAAAAAAAJAANU3RhbmRhcmRMb25nMgAAEXNwZWN1bGF0aXZlX3JldHJ5AAAABRX31bAyqAAAAA45OS4wUEVSQ0VOVElMRQAXAA1TdGFuZGFyZExvbmcyAAAEdHlwZQAAAAUV99WwMqgAAAAIU3RhbmRhcmQAHgANU3RhbmRhcmRMb25nMgAAC3ZhbHVlX2FsaWFzAAAABRX31bAyqAAAAAV2YWx1ZQATAA1TdGFuZGFyZExvbmczAAAAAAAABRX31bAyqAAAAAAAKQANU3RhbmRhcmRMb25nMwAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffVsDKoAAAABFVTZm4AGgANU3RhbmRhcmRMb25nMwAAB2NhY2hpbmcAAAAFFffVsDKoAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AGAANU3RhbmRhcmRMb25nMwAABWNmX2lkAAAABRX31bAyqAAAABBsYlA0+YAR5Lig59RI1eJtACEADVN0YW5kYXJkTG9uZzMAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99WwMqgAAAALWyJjb2x1bW4xIl0AGgANU3RhbmRhcmRMb25nMwAAB2NvbW1lbnQAAAAFFffVsDKoAAAAAAAsAA1TdGFuZGFyZExvbmczAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99WwMqgAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5AC4ADVN0YW5kYXJkTG9uZzMAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffVsDKoAAAAAnt9AB0ADVN0YW5kYXJkTG9uZzMAAApjb21wYXJhdG9yAAAABRX31bAyqAAAACtvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkludGVnZXJUeXBlACkADVN0YW5kYXJkTG9uZzMAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31bAyqAAAAAJ7fQAnAA1TdGFuZGFyZExvbmczAAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffVsDKoAAAABAAAAAAAJAANU3RhbmRhcmRMb25nMwAAEWRlZmF1bHRfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAjAA1TdGFuZGFyZExvbmczAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99WwMqgAAAAEAA0vAAAhAA1TdGFuZGFyZExvbmczAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffVsDKoAAAABFVTZm4AGwANU3RhbmRhcmRMb25nMwAACGlzX2RlbnNlAAAABRX31bAyqAAAAAEBAB4ADVN0YW5kYXJkTG9uZzMAAAtrZXlfYWxpYXNlcwAAAAUV99WwMqgAAAAHWyJrZXkiXQAgAA1TdGFuZGFyZExvbmczAAANa2V5X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAKwANU3RhbmRhcmRMb25nMwAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIP7mZmZmZmZoAKwANU3RhbmRhcmRMb25nMwAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAAIAAlAA1TdGFuZGFyZExvbmczAAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAAgAAC4ADVN0YW5kYXJkTG9uZzMAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffVsDKoAAAABAAAAAAAKwANU3RhbmRhcmRMb25nMwAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAABAAlAA1TdGFuZGFyZExvbmczAAASbWluX2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAACAACUADVN0YW5kYXJkTG9uZzMAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACAAAAAAAAAAAACQADVN0YW5kYXJkTG9uZzMAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99WwMqgAAAAOOTkuMFBFUkNFTlRJTEUAFwANU3RhbmRhcmRMb25nMwAABHR5cGUAAAAFFffVsDKoAAAACFN0YW5kYXJkAB4ADVN0YW5kYXJkTG9uZzMAAAt2YWx1ZV9hbGlhcwAAAAUV99WwMqgAAAAFdmFsdWUAHgAYU3RhbmRhcmRMb3dJbmRleEludGVydmFsAAAAAAAABRX31bAyqAAAAAAANAAYU3RhbmRhcmRMb3dJbmRleEludGVydmFsAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99WwMqgAAAAEVVNmbgAlABhTdGFuZGFyZExvd0luZGV4SW50ZXJ2YWwAAAdjYWNoaW5nAAAABRX31bAyqAAAACx7ImtleXMiOiJOT05FIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQAjABhTdGFuZGFyZExvd0luZGV4SW50ZXJ2YWwAAAVjZl9pZAAAAAUV99WwMqgAAAAQbGJ3SfmAEeS4oOfUSNXibQAsABhTdGFuZGFyZExvd0luZGV4SW50ZXJ2YWwAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99WwMqgAAAALWyJjb2x1bW4xIl0AJQAYU3RhbmRhcmRMb3dJbmRleEludGVydmFsAAAHY29tbWVudAAAAAUV99WwMqgAAAAAADcAGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffVsDKoAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQA5ABhTdGFuZGFyZExvd0luZGV4SW50ZXJ2YWwAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffVsDKoAAAAAnt9ACgAGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAACmNvbXBhcmF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlADQAGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAAFmNvbXByZXNzaW9uX3BhcmFtZXRlcnMAAAAFFffVsDKoAAAAAnt9ADIAGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31bAyqAAAAAQAAAAAAC8AGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAAEWRlZmF1bHRfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAuABhTdGFuZGFyZExvd0luZGV4SW50ZXJ2YWwAABBnY19ncmFjZV9zZWNvbmRzAAAABRX31bAyqAAAAAQADS8AACwAGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAADmluZGV4X2ludGVydmFsAAEABRX31bAyqAAAAARVU2ZuACYAGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAACGlzX2RlbnNlAAAABRX31bAyqAAAAAEBACkAGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAAC2tleV9hbGlhc2VzAAAABRX31bAyqAAAAAdbImtleSJdACsAGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAADWtleV92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlADYAGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIP7mZmZmZmZoANgAYU3RhbmRhcmRMb3dJbmRleEludGVydmFsAAAYbWF4X2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAgADAAGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAABAAA5ABhTdGFuZGFyZExvd0luZGV4SW50ZXJ2YWwAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffVsDKoAAAABAAAAAAANgAYU3RhbmRhcmRMb3dJbmRleEludGVydmFsAAAYbWluX2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAEADAAGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAACAAwABhTdGFuZGFyZExvd0luZGV4SW50ZXJ2YWwAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACAAAAAAAAAAAAC8AGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAAEXNwZWN1bGF0aXZlX3JldHJ5AAAABRX31bAyqAAAAA45OS4wUEVSQ0VOVElMRQAiABhTdGFuZGFyZExvd0luZGV4SW50ZXJ2YWwAAAR0eXBlAAAABRX31bAyqAAAAAhTdGFuZGFyZAApABhTdGFuZGFyZExvd0luZGV4SW50ZXJ2YWwAAAt2YWx1ZV9hbGlhcwAAAAUV99WwMqgAAAAFdmFsdWUAEgAMU3RhbmRhcmRSYWNlAAAAAAAABRX31bAyqAAAAAAAKAAMU3RhbmRhcmRSYWNlAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99WwMqgAAAAEVVNmbgAZAAxTdGFuZGFyZFJhY2UAAAdjYWNoaW5nAAAABRX31bAyqAAAACx7ImtleXMiOiJOT05FIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQAXAAxTdGFuZGFyZFJhY2UAAAVjZl9pZAAAAAUV99WwMqgAAAAQbGJ3SvmAEeS4oOfUSNXibQAgAAxTdGFuZGFyZFJhY2UAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99WwMqgAAAALWyJjb2x1bW4xIl0AGQAMU3RhbmRhcmRSYWNlAAAHY29tbWVudAAAAAUV99WwMqgAAAAAACsADFN0YW5kYXJkUmFjZQAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffVsDKoAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQAtAAxTdGFuZGFyZFJhY2UAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffVsDKoAAAAAnt9ABwADFN0YW5kYXJkUmFjZQAACmNvbXBhcmF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACgADFN0YW5kYXJkUmFjZQAAFmNvbXByZXNzaW9uX3BhcmFtZXRlcnMAAAAFFffVsDKoAAAAAnt9ACYADFN0YW5kYXJkUmFjZQAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31bAyqAAAAAQAAAAAACMADFN0YW5kYXJkUmFjZQAAEWRlZmF1bHRfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAiAAxTdGFuZGFyZFJhY2UAABBnY19ncmFjZV9zZWNvbmRzAAAABRX31bAyqAAAAAQADS8AACAADFN0YW5kYXJkUmFjZQAADmluZGV4X2ludGVydmFsAAEABRX31bAyqAAAAARVU2ZuABoADFN0YW5kYXJkUmFjZQAACGlzX2RlbnNlAAAABRX31bAyqAAAAAEBAB0ADFN0YW5kYXJkUmFjZQAAC2tleV9hbGlhc2VzAAAABRX31bAyqAAAAAdbImtleSJdAB8ADFN0YW5kYXJkUmFjZQAADWtleV92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACoADFN0YW5kYXJkUmFjZQAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIP7mZmZmZmZoAKgAMU3RhbmRhcmRSYWNlAAAYbWF4X2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAgACQADFN0YW5kYXJkUmFjZQAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAABAAAtAAxTdGFuZGFyZFJhY2UAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffVsDKoAAAABAAAAAAAKgAMU3RhbmRhcmRSYWNlAAAYbWluX2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAEACQADFN0YW5kYXJkUmFjZQAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAACAAkAAxTdGFuZGFyZFJhY2UAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACAAAAAAAAAAAACMADFN0YW5kYXJkUmFjZQAAEXNwZWN1bGF0aXZlX3JldHJ5AAAABRX31bAyqAAAAA45OS4wUEVSQ0VOVElMRQAWAAxTdGFuZGFyZFJhY2UAAAR0eXBlAAAABRX31bAyqAAAAAhTdGFuZGFyZAAdAAxTdGFuZGFyZFJhY2UAAAt2YWx1ZV9hbGlhcwAAAAUV99WwMqgAAAAFdmFsdWUADAAGU3VwZXIxAAAAAAAABRX31bAyqAAAAAAAIgAGU3VwZXIxAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99WwMqgAAAAEVVNmbgATAAZTdXBlcjEAAAdjYWNoaW5nAAAABRX31bAyqAAAACt7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9ABEABlN1cGVyMQAABWNmX2lkAAAABRX31bAyqAAAABBsYiko+YAR5Lig59RI1eJtABoABlN1cGVyMQAADmNvbHVtbl9hbGlhc2VzAAAABRX31bAyqAAAABVbImNvbHVtbjEiLCJjb2x1bW4yIl0AEwAGU3VwZXIxAAAHY29tbWVudAAAAAUV99WwMqgAAAAAACUABlN1cGVyMQAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffVsDKoAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQAnAAZTdXBlcjEAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffVsDKoAAAAAnt9ABYABlN1cGVyMQAACmNvbXBhcmF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACIABlN1cGVyMQAAFmNvbXByZXNzaW9uX3BhcmFtZXRlcnMAAAAFFffVsDKoAAAAAnt9ACAABlN1cGVyMQAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31bAyqAAAAAQAAAAAAB0ABlN1cGVyMQAAEWRlZmF1bHRfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAcAAZTdXBlcjEAABBnY19ncmFjZV9zZWNvbmRzAAAABRX31bAyqAAAAAQADS8AABoABlN1cGVyMQAADmluZGV4X2ludGVydmFsAAEABRX31bAyqAAAAARVU2ZuABQABlN1cGVyMQAACGlzX2RlbnNlAAAABRX31bAyqAAAAAEBABcABlN1cGVyMQAAC2tleV9hbGlhc2VzAAAABRX31bAyqAAAAAdbImtleSJdABkABlN1cGVyMQAADWtleV92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACQABlN1cGVyMQAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIP7mZmZmZmZoAJAAGU3VwZXIxAAAYbWF4X2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAgAB4ABlN1cGVyMQAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAIAAAnAAZTdXBlcjEAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffVsDKoAAAABAAAAAAAJAAGU3VwZXIxAAAYbWluX2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAEAB4ABlN1cGVyMQAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAAgAAeAAZTdXBlcjEAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACAAAAAAAAAAAAB0ABlN1cGVyMQAAEXNwZWN1bGF0aXZlX3JldHJ5AAAABRX31bAyqAAAAA45OS4wUEVSQ0VOVElMRQAZAAZTdXBlcjEAAA1zdWJjb21wYXJhdG9yAAAABRX31bAyqAAAAChvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkxvbmdUeXBlABAABlN1cGVyMQAABHR5cGUAAAAFFffVsDKoAAAABVN1cGVyABcABlN1cGVyMQAAC3ZhbHVlX2FsaWFzAAAABRX31bAyqAAAAAV2YWx1ZQAMAAZTdXBlcjIAAAAAAAAFFffVsDKoAAAAAAAiAAZTdXBlcjIAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31bAyqAAAAARVU2ZuABMABlN1cGVyMgAAB2NhY2hpbmcAAAAFFffVsDKoAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AEQAGU3VwZXIyAAAFY2ZfaWQAAAAFFffVsDKoAAAAEGxiKSn5gBHkuKDn1EjV4m0AGgAGU3VwZXIyAAAOY29sdW1uX2FsaWFzZXMAAAAFFffVsDKoAAAAFVsiY29sdW1uMSIsImNvbHVtbjIiXQATAAZTdXBlcjIAAAdjb21tZW50AAAABRX31bAyqAAAAAAAJQAGU3VwZXIyAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99WwMqgAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5ACcABlN1cGVyMgAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99WwMqgAAAACe30AFgAGU3VwZXIyAAAKY29tcGFyYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAIgAGU3VwZXIyAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99WwMqgAAAACe30AIAAGU3VwZXIyAAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffVsDKoAAAABAAAAAAAHQAGU3VwZXIyAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABwABlN1cGVyMgAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffVsDKoAAAABAANLwAAGgAGU3VwZXIyAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffVsDKoAAAABFVTZm4AFAAGU3VwZXIyAAAIaXNfZGVuc2UAAAAFFffVsDKoAAAAAQEAFwAGU3VwZXIyAAALa2V5X2FsaWFzZXMAAAAFFffVsDKoAAAAB1sia2V5Il0AGQAGU3VwZXIyAAANa2V5X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJAAGU3VwZXIyAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAg/uZmZmZmZmgAkAAZTdXBlcjIAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAACAAHgAGU3VwZXIyAAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAAgAACcABlN1cGVyMgAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99WwMqgAAAAEAAAAAAAkAAZTdXBlcjIAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAAAQAHgAGU3VwZXIyAAASbWluX2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAACAAB4ABlN1cGVyMgAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIAAAAAAAAAAAAHQAGU3VwZXIyAAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffVsDKoAAAADjk5LjBQRVJDRU5USUxFABkABlN1cGVyMgAADXN1YmNvbXBhcmF0b3IAAAAFFffVsDKoAAAAKG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuTG9uZ1R5cGUAEAAGU3VwZXIyAAAEdHlwZQAAAAUV99WwMqgAAAAFU3VwZXIAFwAGU3VwZXIyAAALdmFsdWVfYWxpYXMAAAAFFffVsDKoAAAABXZhbHVlAAwABlN1cGVyMwAAAAAAAAUV99WwMqgAAAAAACIABlN1cGVyMwAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffVsDKoAAAABFVTZm4AEwAGU3VwZXIzAAAHY2FjaGluZwAAAAUV99WwMqgAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQARAAZTdXBlcjMAAAVjZl9pZAAAAAUV99WwMqgAAAAQbGIpKvmAEeS4oOfUSNXibQAaAAZTdXBlcjMAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99WwMqgAAAAVWyJjb2x1bW4xIiwiY29sdW1uMiJdABMABlN1cGVyMwAAB2NvbW1lbnQAAAAFFffVsDKoAAAAAAAlAAZTdXBlcjMAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31bAyqAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAJwAGU3VwZXIzAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31bAyqAAAAAJ7fQAWAAZTdXBlcjMAAApjb21wYXJhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAiAAZTdXBlcjMAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31bAyqAAAAAJ7fQAgAAZTdXBlcjMAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99WwMqgAAAAEAAAAAAAdAAZTdXBlcjMAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHAAGU3VwZXIzAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99WwMqgAAAAEAA0vAAAaAAZTdXBlcjMAAA5pbmRleF9pbnRlcnZhbAABAAUV99WwMqgAAAAEVVNmbgAUAAZTdXBlcjMAAAhpc19kZW5zZQAAAAUV99WwMqgAAAABAQAXAAZTdXBlcjMAAAtrZXlfYWxpYXNlcwAAAAUV99WwMqgAAAAHWyJrZXkiXQAZAAZTdXBlcjMAAA1rZXlfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAkAAZTdXBlcjMAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACD+5mZmZmZmaACQABlN1cGVyMwAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAAIAAeAAZTdXBlcjMAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAACAAAJwAGU3VwZXIzAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31bAyqAAAAAQAAAAAACQABlN1cGVyMwAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAABAAeAAZTdXBlcjMAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAAAIAAHgAGU3VwZXIzAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAgAAAAAAAAAAAAdAAZTdXBlcjMAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99WwMqgAAAAOOTkuMFBFUkNFTlRJTEUAGQAGU3VwZXIzAAANc3ViY29tcGFyYXRvcgAAAAUV99WwMqgAAAAob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Mb25nVHlwZQAQAAZTdXBlcjMAAAR0eXBlAAAABRX31bAyqAAAAAVTdXBlcgAXAAZTdXBlcjMAAAt2YWx1ZV9hbGlhcwAAAAUV99WwMqgAAAAFdmFsdWUADAAGU3VwZXI0AAAAAAAABRX31bAyqAAAAAAAIgAGU3VwZXI0AAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99WwMqgAAAAEVVNmbgATAAZTdXBlcjQAAAdjYWNoaW5nAAAABRX31bAyqAAAACt7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9ABEABlN1cGVyNAAABWNmX2lkAAAABRX31bAyqAAAABBsYikr+YAR5Lig59RI1eJtABoABlN1cGVyNAAADmNvbHVtbl9hbGlhc2VzAAAABRX31bAyqAAAABVbImNvbHVtbjEiLCJjb2x1bW4yIl0AEwAGU3VwZXI0AAAHY29tbWVudAAAAAUV99WwMqgAAAAAACUABlN1cGVyNAAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffVsDKoAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQAnAAZTdXBlcjQAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffVsDKoAAAAAnt9ABYABlN1cGVyNAAACmNvbXBhcmF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACIABlN1cGVyNAAAFmNvbXByZXNzaW9uX3BhcmFtZXRlcnMAAAAFFffVsDKoAAAAAnt9ACAABlN1cGVyNAAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31bAyqAAAAAQAAAAAAB0ABlN1cGVyNAAAEWRlZmF1bHRfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAcAAZTdXBlcjQAABBnY19ncmFjZV9zZWNvbmRzAAAABRX31bAyqAAAAAQADS8AABoABlN1cGVyNAAADmluZGV4X2ludGVydmFsAAEABRX31bAyqAAAAARVU2ZuABQABlN1cGVyNAAACGlzX2RlbnNlAAAABRX31bAyqAAAAAEBABcABlN1cGVyNAAAC2tleV9hbGlhc2VzAAAABRX31bAyqAAAAAdbImtleSJdABkABlN1cGVyNAAADWtleV92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACQABlN1cGVyNAAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIP7mZmZmZmZoAJAAGU3VwZXI0AAAYbWF4X2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAgAB4ABlN1cGVyNAAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAIAAAnAAZTdXBlcjQAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffVsDKoAAAABAAAAAAAJAAGU3VwZXI0AAAYbWluX2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31bAyqAAAAAQAAAAEAB4ABlN1cGVyNAAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAAgAAeAAZTdXBlcjQAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACAAAAAAAAAAAAB0ABlN1cGVyNAAAEXNwZWN1bGF0aXZlX3JldHJ5AAAABRX31bAyqAAAAA45OS4wUEVSQ0VOVElMRQAZAAZTdXBlcjQAAA1zdWJjb21wYXJhdG9yAAAABRX31bAyqAAAAChvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlVURjhUeXBlABAABlN1cGVyNAAABHR5cGUAAAAFFffVsDKoAAAABVN1cGVyABcABlN1cGVyNAAAC3ZhbHVlX2FsaWFzAAAABRX31bAyqAAAAAV2YWx1ZQAMAAZTdXBlcjUAAAAAAAAFFffVsDKoAAAAAAAiAAZTdXBlcjUAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31bAyqAAAAARVU2ZuABMABlN1cGVyNQAAB2NhY2hpbmcAAAAFFffVsDKoAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AEQAGU3VwZXI1AAAFY2ZfaWQAAAAFFffVsDKoAAAAEGxiKSz5gBHkuKDn1EjV4m0AGgAGU3VwZXI1AAAOY29sdW1uX2FsaWFzZXMAAAAFFffVsDKoAAAAFVsiY29sdW1uMSIsImNvbHVtbjIiXQATAAZTdXBlcjUAAAdjb21tZW50AAAABRX31bAyqAAAAAAAJQAGU3VwZXI1AAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99WwMqgAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5ACcABlN1cGVyNQAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99WwMqgAAAACe30AFgAGU3VwZXI1AAAKY29tcGFyYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAIgAGU3VwZXI1AAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99WwMqgAAAACe30AIAAGU3VwZXI1AAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffVsDKoAAAABAAAAAAAHQAGU3VwZXI1AAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABwABlN1cGVyNQAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffVsDKoAAAABAANLwAAGgAGU3VwZXI1AAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffVsDKoAAAABFVTZm4AFAAGU3VwZXI1AAAIaXNfZGVuc2UAAAAFFffVsDKoAAAAAQEAFwAGU3VwZXI1AAALa2V5X2FsaWFzZXMAAAAFFffVsDKoAAAAB1sia2V5Il0AGQAGU3VwZXI1AAANa2V5X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJAAGU3VwZXI1AAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAg/uZmZmZmZmgAkAAZTdXBlcjUAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAACAAHgAGU3VwZXI1AAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAAgAACcABlN1cGVyNQAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99WwMqgAAAAEAAAAAAAkAAZTdXBlcjUAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAAAQAHgAGU3VwZXI1AAASbWluX2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAACAAB4ABlN1cGVyNQAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIAAAAAAAAAAAAHQAGU3VwZXI1AAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffVsDKoAAAADjk5LjBQRVJDRU5USUxFABkABlN1cGVyNQAADXN1YmNvbXBhcmF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABAABlN1cGVyNQAABHR5cGUAAAAFFffVsDKoAAAABVN1cGVyABcABlN1cGVyNQAAC3ZhbHVlX2FsaWFzAAAABRX31bAyqAAAAAV2YWx1ZQAMAAZTdXBlcjYAAAAAAAAFFffVsDKoAAAAAAAiAAZTdXBlcjYAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31bAyqAAAAARVU2ZuABMABlN1cGVyNgAAB2NhY2hpbmcAAAAFFffVsDKoAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AEQAGU3VwZXI2AAAFY2ZfaWQAAAAFFffVsDKoAAAAEGxiUDD5gBHkuKDn1EjV4m0AGgAGU3VwZXI2AAAOY29sdW1uX2FsaWFzZXMAAAAFFffVsDKoAAAAFVsiY29sdW1uMSIsImNvbHVtbjIiXQATAAZTdXBlcjYAAAdjb21tZW50AAAABRX31bAyqAAAAAAAJQAGU3VwZXI2AAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99WwMqgAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5ACcABlN1cGVyNgAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99WwMqgAAAACe30AFgAGU3VwZXI2AAAKY29tcGFyYXRvcgAAAAUV99WwMqgAAAAvb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5MZXhpY2FsVVVJRFR5cGUAIgAGU3VwZXI2AAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99WwMqgAAAACe30AIAAGU3VwZXI2AAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffVsDKoAAAABAAAAAAAHQAGU3VwZXI2AAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABwABlN1cGVyNgAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffVsDKoAAAABAANLwAAGgAGU3VwZXI2AAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffVsDKoAAAABFVTZm4AFAAGU3VwZXI2AAAIaXNfZGVuc2UAAAAFFffVsDKoAAAAAQEAFwAGU3VwZXI2AAALa2V5X2FsaWFzZXMAAAAFFffVsDKoAAAAB1sia2V5Il0AGQAGU3VwZXI2AAANa2V5X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJAAGU3VwZXI2AAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAg/uZmZmZmZmgAkAAZTdXBlcjYAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAACAAHgAGU3VwZXI2AAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAAgAACcABlN1cGVyNgAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99WwMqgAAAAEAAAAAAAkAAZTdXBlcjYAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAAAQAHgAGU3VwZXI2AAASbWluX2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAACAAB4ABlN1cGVyNgAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIAAAAAAAAAAAAHQAGU3VwZXI2AAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffVsDKoAAAADjk5LjBQRVJDRU5USUxFABkABlN1cGVyNgAADXN1YmNvbXBhcmF0b3IAAAAFFffVsDKoAAAAKG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVVRGOFR5cGUAEAAGU3VwZXI2AAAEdHlwZQAAAAUV99WwMqgAAAAFU3VwZXIAFwAGU3VwZXI2AAALdmFsdWVfYWxpYXMAAAAFFffVsDKoAAAABXZhbHVlABMADVN1cGVyQ291bnRlcjEAAAAAAAAFFffVsDKoAAAAAAApAA1TdXBlckNvdW50ZXIxAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99WwMqgAAAAEVVNmbgAaAA1TdXBlckNvdW50ZXIxAAAHY2FjaGluZwAAAAUV99WwMqgAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQAYAA1TdXBlckNvdW50ZXIxAAAFY2ZfaWQAAAAFFffVsDKoAAAAEGxiUDb5gBHkuKDn1EjV4m0AIQANU3VwZXJDb3VudGVyMQAADmNvbHVtbl9hbGlhc2VzAAAABRX31bAyqAAAABVbImNvbHVtbjEiLCJjb2x1bW4yIl0AGgANU3VwZXJDb3VudGVyMQAAB2NvbW1lbnQAAAAFFffVsDKoAAAAAAAsAA1TdXBlckNvdW50ZXIxAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99WwMqgAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5AC4ADVN1cGVyQ291bnRlcjEAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffVsDKoAAAAAnt9AB0ADVN1cGVyQ291bnRlcjEAAApjb21wYXJhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQApAA1TdXBlckNvdW50ZXIxAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99WwMqgAAAACe30AJwANU3VwZXJDb3VudGVyMQAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31bAyqAAAAAQAAAAAACQADVN1cGVyQ291bnRlcjEAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAAxb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Db3VudGVyQ29sdW1uVHlwZQAjAA1TdXBlckNvdW50ZXIxAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99WwMqgAAAAEAA0vAAAhAA1TdXBlckNvdW50ZXIxAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffVsDKoAAAABFVTZm4AGwANU3VwZXJDb3VudGVyMQAACGlzX2RlbnNlAAAABRX31bAyqAAAAAEBAB4ADVN1cGVyQ291bnRlcjEAAAtrZXlfYWxpYXNlcwAAAAUV99WwMqgAAAAHWyJrZXkiXQAgAA1TdXBlckNvdW50ZXIxAAANa2V5X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAKwANU3VwZXJDb3VudGVyMQAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIP7mZmZmZmZoAKwANU3VwZXJDb3VudGVyMQAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAAIAAlAA1TdXBlckNvdW50ZXIxAAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAAgAAC4ADVN1cGVyQ291bnRlcjEAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffVsDKoAAAABAAAAAAAKwANU3VwZXJDb3VudGVyMQAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAABAAlAA1TdXBlckNvdW50ZXIxAAASbWluX2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAACAACUADVN1cGVyQ291bnRlcjEAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACAAAAAAAAAAAACQADVN1cGVyQ291bnRlcjEAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99WwMqgAAAAOOTkuMFBFUkNFTlRJTEUAIAANU3VwZXJDb3VudGVyMQAADXN1YmNvbXBhcmF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABcADVN1cGVyQ291bnRlcjEAAAR0eXBlAAAABRX31bAyqAAAAAVTdXBlcgAeAA1TdXBlckNvdW50ZXIxAAALdmFsdWVfYWxpYXMAAAAFFffVsDKoAAAABXZhbHVlABMADVN1cGVyRGlyZWN0R0MAAAAAAAAFFffVsDKoAAAAAAApAA1TdXBlckRpcmVjdEdDAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99WwMqgAAAAEVVNmbgAaAA1TdXBlckRpcmVjdEdDAAAHY2FjaGluZwAAAAUV99WwMqgAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQAYAA1TdXBlckRpcmVjdEdDAAAFY2ZfaWQAAAAFFffVsDKoAAAAEGxiUDf5gBHkuKDn1EjV4m0AIQANU3VwZXJEaXJlY3RHQwAADmNvbHVtbl9hbGlhc2VzAAAABRX31bAyqAAAABVbImNvbHVtbjEiLCJjb2x1bW4yIl0AGgANU3VwZXJEaXJlY3RHQwAAB2NvbW1lbnQAAAAFFffVsDKoAAAAAAAsAA1TdXBlckRpcmVjdEdDAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99WwMqgAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5AC4ADVN1cGVyRGlyZWN0R0MAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffVsDKoAAAAAnt9AB0ADVN1cGVyRGlyZWN0R0MAAApjb21wYXJhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQApAA1TdXBlckRpcmVjdEdDAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99WwMqgAAAACe30AJwANU3VwZXJEaXJlY3RHQwAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31bAyqAAAAAQAAAAAACQADVN1cGVyRGlyZWN0R0MAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAIwANU3VwZXJEaXJlY3RHQwAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffVsDKoAAAABAAAAAAAIQANU3VwZXJEaXJlY3RHQwAADmluZGV4X2ludGVydmFsAAEABRX31bAyqAAAAARVU2ZuABsADVN1cGVyRGlyZWN0R0MAAAhpc19kZW5zZQAAAAUV99WwMqgAAAABAQAeAA1TdXBlckRpcmVjdEdDAAALa2V5X2FsaWFzZXMAAAAFFffVsDKoAAAAB1sia2V5Il0AIAANU3VwZXJEaXJlY3RHQwAADWtleV92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACsADVN1cGVyRGlyZWN0R0MAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACD+5mZmZmZmaACsADVN1cGVyRGlyZWN0R0MAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAACAAJQANU3VwZXJEaXJlY3RHQwAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAIAAAuAA1TdXBlckRpcmVjdEdDAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31bAyqAAAAAQAAAAAACsADVN1cGVyRGlyZWN0R0MAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAAAQAJQANU3VwZXJEaXJlY3RHQwAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAAgAAlAA1TdXBlckRpcmVjdEdDAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAgAAAAAAAAAAAAkAA1TdXBlckRpcmVjdEdDAAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffVsDKoAAAADjk5LjBQRVJDRU5USUxFACAADVN1cGVyRGlyZWN0R0MAAA1zdWJjb21wYXJhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAXAA1TdXBlckRpcmVjdEdDAAAEdHlwZQAAAAUV99WwMqgAAAAFU3VwZXIAHgANU3VwZXJEaXJlY3RHQwAAC3ZhbHVlX2FsaWFzAAAABRX31bAyqAAAAAV2YWx1ZQAOAAhVVUlES2V5cwAAAAAAAAUV99WwMqgAAAAAACQACFVVSURLZXlzAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99WwMqgAAAAEVVNmbgAVAAhVVUlES2V5cwAAB2NhY2hpbmcAAAAFFffVsDKoAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AEwAIVVVJREtleXMAAAVjZl9pZAAAAAUV99WwMqgAAAAQbGJ3S/mAEeS4oOfUSNXibQAcAAhVVUlES2V5cwAADmNvbHVtbl9hbGlhc2VzAAAABRX31bAyqAAAAAtbImNvbHVtbjEiXQAVAAhVVUlES2V5cwAAB2NvbW1lbnQAAAAFFffVsDKoAAAAAAAnAAhVVUlES2V5cwAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffVsDKoAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQApAAhVVUlES2V5cwAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99WwMqgAAAACe30AGAAIVVVJREtleXMAAApjb21wYXJhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAkAAhVVUlES2V5cwAAFmNvbXByZXNzaW9uX3BhcmFtZXRlcnMAAAAFFffVsDKoAAAAAnt9ACIACFVVSURLZXlzAAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffVsDKoAAAABAAAAAAAHwAIVVVJREtleXMAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHgAIVVVJREtleXMAABBnY19ncmFjZV9zZWNvbmRzAAAABRX31bAyqAAAAAQADS8AABwACFVVSURLZXlzAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffVsDKoAAAABFVTZm4AFgAIVVVJREtleXMAAAhpc19kZW5zZQAAAAUV99WwMqgAAAABAQAZAAhVVUlES2V5cwAAC2tleV9hbGlhc2VzAAAABRX31bAyqAAAAAdbImtleSJdABsACFVVSURLZXlzAAANa2V5X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAAob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5VVUlEVHlwZQAmAAhVVUlES2V5cwAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIP7mZmZmZmZoAJgAIVVVJREtleXMAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAACAAIAAIVVVJREtleXMAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAACAAAKQAIVVVJREtleXMAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffVsDKoAAAABAAAAAAAJgAIVVVJREtleXMAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAAAQAIAAIVVVJREtleXMAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffVsDKoAAAABAAAAIAAIAAIVVVJREtleXMAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACAAAAAAAAAAAAB8ACFVVSURLZXlzAAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffVsDKoAAAADjk5LjBQRVJDRU5USUxFABIACFVVSURLZXlzAAAEdHlwZQAAAAUV99WwMqgAAAAIU3RhbmRhcmQAGQAIVVVJREtleXMAAAt2YWx1ZV9hbGlhcwAAAAUV99WwMqgAAAAFdmFsdWUAFgAQVmFsdWVzV2l0aFF1b3RlcwAAAAAAAAUV99WwMqgAAAAAACwAEFZhbHVlc1dpdGhRdW90ZXMAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31bAyqAAAAARVU2ZuAB0AEFZhbHVlc1dpdGhRdW90ZXMAAAdjYWNoaW5nAAAABRX31bAyqAAAACt7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9ABsAEFZhbHVlc1dpdGhRdW90ZXMAAAVjZl9pZAAAAAUV99WwMqgAAAAQbGIpJ/mAEeS4oOfUSNXibQAkABBWYWx1ZXNXaXRoUXVvdGVzAAAOY29sdW1uX2FsaWFzZXMAAAAFFffVsDKoAAAAC1siY29sdW1uMSJdAB0AEFZhbHVlc1dpdGhRdW90ZXMAAAdjb21tZW50AAAABRX31bAyqAAAAAAALwAQVmFsdWVzV2l0aFF1b3RlcwAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffVsDKoAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQAxABBWYWx1ZXNXaXRoUXVvdGVzAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31bAyqAAAAAJ7fQAgABBWYWx1ZXNXaXRoUXVvdGVzAAAKY29tcGFyYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUALAAQVmFsdWVzV2l0aFF1b3RlcwAAFmNvbXByZXNzaW9uX3BhcmFtZXRlcnMAAAAFFffVsDKoAAAAAnt9ACoAEFZhbHVlc1dpdGhRdW90ZXMAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99WwMqgAAAAEAAAAAAAnABBWYWx1ZXNXaXRoUXVvdGVzAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffVsDKoAAAAKG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVVRGOFR5cGUAJgAQVmFsdWVzV2l0aFF1b3RlcwAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffVsDKoAAAABAANLwAAJAAQVmFsdWVzV2l0aFF1b3RlcwAADmluZGV4X2ludGVydmFsAAEABRX31bAyqAAAAARVU2ZuAB4AEFZhbHVlc1dpdGhRdW90ZXMAAAhpc19kZW5zZQAAAAUV99WwMqgAAAABAQAhABBWYWx1ZXNXaXRoUXVvdGVzAAALa2V5X2FsaWFzZXMAAAAFFffVsDKoAAAAB1sia2V5Il0AIwAQVmFsdWVzV2l0aFF1b3RlcwAADWtleV92YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlAC4AEFZhbHVlc1dpdGhRdW90ZXMAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACD+5mZmZmZmaAC4AEFZhbHVlc1dpdGhRdW90ZXMAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAACAAKAAQVmFsdWVzV2l0aFF1b3RlcwAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAIAAAxABBWYWx1ZXNXaXRoUXVvdGVzAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31bAyqAAAAAQAAAAAAC4AEFZhbHVlc1dpdGhRdW90ZXMAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVsDKoAAAABAAAAAQAKAAQVmFsdWVzV2l0aFF1b3RlcwAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99WwMqgAAAAEAAAAgAAoABBWYWx1ZXNXaXRoUXVvdGVzAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31bAyqAAAAAgAAAAAAAAAAAAnABBWYWx1ZXNXaXRoUXVvdGVzAAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffVsDKoAAAADjk5LjBQRVJDRU5USUxFABoAEFZhbHVlc1dpdGhRdW90ZXMAAAR0eXBlAAAABRX31bAyqAAAAAhTdGFuZGFyZAAhABBWYWx1ZXNXaXRoUXVvdGVzAAALdmFsdWVfYWxpYXMAAAAFFffVsDKoAAAABXZhbHVlABMADWxlZ2FjeWxldmVsZWQAAAAAAAAFFffVsDKoAAAAAAApAA1sZWdhY3lsZXZlbGVkAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99WwMqgAAAAEVVNmbgAaAA1sZWdhY3lsZXZlbGVkAAAHY2FjaGluZwAAAAUV99WwMqgAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQAYAA1sZWdhY3lsZXZlbGVkAAAFY2ZfaWQAAAAFFffVsDKoAAAAEGxid0j5gBHkuKDn1EjV4m0AIQANbGVnYWN5bGV2ZWxlZAAADmNvbHVtbl9hbGlhc2VzAAAABRX31bAyqAAAAAtbImNvbHVtbjEiXQAaAA1sZWdhY3lsZXZlbGVkAAAHY29tbWVudAAAAAUV99WwMqgAAAAAACwADWxlZ2FjeWxldmVsZWQAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31bAyqAAAADxvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLkxldmVsZWRDb21wYWN0aW9uU3RyYXRlZ3kALgANbGVnYWN5bGV2ZWxlZAAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99WwMqgAAAAaeyJzc3RhYmxlX3NpemVfaW5fbWIiOiIxIn0AHQANbGVnYWN5bGV2ZWxlZAAACmNvbXBhcmF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACkADWxlZ2FjeWxldmVsZWQAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31bAyqAAAAAJ7fQAnAA1sZWdhY3lsZXZlbGVkAAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffVsDKoAAAABAAAAAAAJAANbGVnYWN5bGV2ZWxlZAAAEWRlZmF1bHRfdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAjAA1sZWdhY3lsZXZlbGVkAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99WwMqgAAAAEAA0vAAAhAA1sZWdhY3lsZXZlbGVkAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffVsDKoAAAABFVTZm4AGwANbGVnYWN5bGV2ZWxlZAAACGlzX2RlbnNlAAAABRX31bAyqAAAAAEBAB4ADWxlZ2FjeWxldmVsZWQAAAtrZXlfYWxpYXNlcwAAAAUV99WwMqgAAAAHWyJrZXkiXQAgAA1sZWdhY3lsZXZlbGVkAAANa2V5X3ZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAKwANbGVnYWN5bGV2ZWxlZAAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99WwMqgAAAAIP7mZmZmZmZoAKwANbGVnYWN5bGV2ZWxlZAAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAAIAAlAA1sZWdhY3lsZXZlbGVkAAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAAgAAC4ADWxlZ2FjeWxldmVsZWQAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffVsDKoAAAABAAAAAAAKwANbGVnYWN5bGV2ZWxlZAAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99WwMqgAAAAEAAAABAAlAA1sZWdhY3lsZXZlbGVkAAASbWluX2luZGV4X2ludGVydmFsAAAABRX31bAyqAAAAAQAAACAACUADWxlZ2FjeWxldmVsZWQAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVsDKoAAAACAAAAAAAAAAAACQADWxlZ2FjeWxldmVsZWQAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99WwMqgAAAAOOTkuMFBFUkNFTlRJTEUAFwANbGVnYWN5bGV2ZWxlZAAABHR5cGUAAAAFFffVsDKoAAAACFN0YW5kYXJkAB4ADWxlZ2FjeWxldmVsZWQAAAt2YWx1ZV9hbGlhcwAAAAUV99WwMqgAAAAFdmFsdWUBKW6cBJvsMIWCfcF9PfISKn////+AAAAAAAAAAAAAAAAAAANWABkACUFzY2lpS2V5cwAAB2NvbHVtbjEAAAAAAAAFFffVsDKoAAAAAAAoAAlBc2NpaUtleXMAAAdjb2x1bW4xAAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACMACUFzY2lpS2V5cwAAB2NvbHVtbjEAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACYACUFzY2lpS2V5cwAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACMACUFzY2lpS2V5cwAAB2NvbHVtbjEAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuAB0ACUFzY2lpS2V5cwAAB2NvbHVtbjEAAAR0eXBlAAAABRX31bAyqAAAAA5jbHVzdGVyaW5nX2tleQAiAAlBc2NpaUtleXMAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAVAAlBc2NpaUtleXMAAANrZXkAAAAAAAAFFffVsDKoAAAAAAAkAAlBc2NpaUtleXMAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AHwAJQXNjaWlLZXlzAAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAiAAlBc2NpaUtleXMAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsAB8ACUFzY2lpS2V5cwAAA2tleQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AGQAJQXNjaWlLZXlzAAADa2V5AAAEdHlwZQAAAAUV99WwMqgAAAANcGFydGl0aW9uX2tleQAeAAlBc2NpaUtleXMAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQXNjaWlUeXBlABcACUFzY2lpS2V5cwAABXZhbHVlAAAAAAAABRX31bAyqAAAAAAAJgAJQXNjaWlLZXlzAAAFdmFsdWUAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AIQAJQXNjaWlLZXlzAAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACQACUFzY2lpS2V5cwAABXZhbHVlAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAhAAlBc2NpaUtleXMAAAV2YWx1ZQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AGwAJQXNjaWlLZXlzAAAFdmFsdWUAAAR0eXBlAAAABRX31bAyqAAAAA1jb21wYWN0X3ZhbHVlACAACUFzY2lpS2V5cwAABXZhbHVlAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAYAAhDb3VudGVyMQAAB2NvbHVtbjEAAAAAAAAFFffVsDKoAAAAAAAnAAhDb3VudGVyMQAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AIgAIQ291bnRlcjEAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAlAAhDb3VudGVyMQAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACIACENvdW50ZXIxAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AHAAIQ291bnRlcjEAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99WwMqgAAAAOY2x1c3RlcmluZ19rZXkAIQAIQ291bnRlcjEAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAUAAhDb3VudGVyMQAAA2tleQAAAAAAAAUV99WwMqgAAAAAACMACENvdW50ZXIxAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuAB4ACENvdW50ZXIxAAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAhAAhDb3VudGVyMQAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAHgAIQ291bnRlcjEAAANrZXkAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuABgACENvdW50ZXIxAAADa2V5AAAEdHlwZQAAAAUV99WwMqgAAAANcGFydGl0aW9uX2tleQAdAAhDb3VudGVyMQAAA2tleQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFgAIQ291bnRlcjEAAAV2YWx1ZQAAAAAAAAUV99WwMqgAAAAAACUACENvdW50ZXIxAAAFdmFsdWUAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AIAAIQ291bnRlcjEAAAV2YWx1ZQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AIwAIQ291bnRlcjEAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAIAAIQ291bnRlcjEAAAV2YWx1ZQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AGgAIQ291bnRlcjEAAAV2YWx1ZQAABHR5cGUAAAAFFffVsDKoAAAADWNvbXBhY3RfdmFsdWUAHwAIQ291bnRlcjEAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAAxb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Db3VudGVyQ29sdW1uVHlwZQAjAAhJbmRleGVkMQAAEjYyNjk3Mjc0Njg2NDYxNzQ2NQAAAAAAAAUV99WwMqgAAAAAADIACEluZGV4ZWQxAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuAC0ACEluZGV4ZWQxAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAAKaW5kZXhfbmFtZQAAAAUV99WwMqgAAAASNjI2OTcyNzQ2ODY0NjE3NDY1ADAACEluZGV4ZWQxAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAtAAhJbmRleGVkMQAAEjYyNjk3Mjc0Njg2NDYxNzQ2NQAACmluZGV4X3R5cGUAAAAFFffVsDKoAAAABEtFWVMAJwAISW5kZXhlZDEAABI2MjY5NzI3NDY4NjQ2MTc0NjUAAAR0eXBlAAAABRX31bAyqAAAAAdyZWd1bGFyACwACEluZGV4ZWQxAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAChvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkxvbmdUeXBlABQACEluZGV4ZWQxAAADa2V5AAAAAAAABRX31bAyqAAAAAAAIwAISW5kZXhlZDEAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AHgAISW5kZXhlZDEAAANrZXkAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACEACEluZGV4ZWQxAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAeAAhJbmRleGVkMQAAA2tleQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AGAAISW5kZXhlZDEAAANrZXkAAAR0eXBlAAAABRX31bAyqAAAAA1wYXJ0aXRpb25fa2V5AB0ACEluZGV4ZWQxAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkFzY2lpVHlwZQAjAAhJbmRleGVkMgAAEjYyNjk3Mjc0Njg2NDYxNzQ2NQAAAAAAAAUV99WwMqgAAAAAADIACEluZGV4ZWQyAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuAC0ACEluZGV4ZWQyAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAwAAhJbmRleGVkMgAAEjYyNjk3Mjc0Njg2NDYxNzQ2NQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwALQAISW5kZXhlZDIAABI2MjY5NzI3NDY4NjQ2MTc0NjUAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuACcACEluZGV4ZWQyAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAAEdHlwZQAAAAUV99WwMqgAAAAHcmVndWxhcgAsAAhJbmRleGVkMgAAEjYyNjk3Mjc0Njg2NDYxNzQ2NQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAAob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Mb25nVHlwZQAUAAhJbmRleGVkMgAAA2tleQAAAAAAAAUV99WwMqgAAAAAACMACEluZGV4ZWQyAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuAB4ACEluZGV4ZWQyAAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAhAAhJbmRleGVkMgAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAHgAISW5kZXhlZDIAAANrZXkAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuABgACEluZGV4ZWQyAAADa2V5AAAEdHlwZQAAAAUV99WwMqgAAAANcGFydGl0aW9uX2tleQAdAAhJbmRleGVkMgAAA2tleQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Bc2NpaVR5cGUAGQAJSmRiY0FzY2lpAAAHY29sdW1uMQAAAAAAAAUV99WwMqgAAAAAACgACUpkYmNBc2NpaQAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AIwAJSmRiY0FzY2lpAAAHY29sdW1uMQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AJgAJSmRiY0FzY2lpAAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAIwAJSmRiY0FzY2lpAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AHQAJSmRiY0FzY2lpAAAHY29sdW1uMQAABHR5cGUAAAAFFffVsDKoAAAADmNsdXN0ZXJpbmdfa2V5ACIACUpkYmNBc2NpaQAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQXNjaWlUeXBlABUACUpkYmNBc2NpaQAAA2tleQAAAAAAAAUV99WwMqgAAAAAACQACUpkYmNBc2NpaQAAA2tleQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAfAAlKZGJjQXNjaWkAAANrZXkAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACIACUpkYmNBc2NpaQAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAHwAJSmRiY0FzY2lpAAADa2V5AAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAZAAlKZGJjQXNjaWkAAANrZXkAAAR0eXBlAAAABRX31bAyqAAAAA1wYXJ0aXRpb25fa2V5AB4ACUpkYmNBc2NpaQAAA2tleQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFwAJSmRiY0FzY2lpAAAFdmFsdWUAAAAAAAAFFffVsDKoAAAAAAAmAAlKZGJjQXNjaWkAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAhAAlKZGJjQXNjaWkAAAV2YWx1ZQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AJAAJSmRiY0FzY2lpAAAFdmFsdWUAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACEACUpkYmNBc2NpaQAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAbAAlKZGJjQXNjaWkAAAV2YWx1ZQAABHR5cGUAAAAFFffVsDKoAAAADWNvbXBhY3RfdmFsdWUAIAAJSmRiY0FzY2lpAAAFdmFsdWUAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQXNjaWlUeXBlABkACUpkYmNCeXRlcwAAB2NvbHVtbjEAAAAAAAAFFffVsDKoAAAAAAAoAAlKZGJjQnl0ZXMAAAdjb2x1bW4xAAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACMACUpkYmNCeXRlcwAAB2NvbHVtbjEAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACYACUpkYmNCeXRlcwAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACMACUpkYmNCeXRlcwAAB2NvbHVtbjEAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuAB0ACUpkYmNCeXRlcwAAB2NvbHVtbjEAAAR0eXBlAAAABRX31bAyqAAAAA5jbHVzdGVyaW5nX2tleQAiAAlKZGJjQnl0ZXMAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAVAAlKZGJjQnl0ZXMAAANrZXkAAAAAAAAFFffVsDKoAAAAAAAkAAlKZGJjQnl0ZXMAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AHwAJSmRiY0J5dGVzAAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAiAAlKZGJjQnl0ZXMAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsAB8ACUpkYmNCeXRlcwAAA2tleQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AGQAJSmRiY0J5dGVzAAADa2V5AAAEdHlwZQAAAAUV99WwMqgAAAANcGFydGl0aW9uX2tleQAeAAlKZGJjQnl0ZXMAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABcACUpkYmNCeXRlcwAABXZhbHVlAAAAAAAABRX31bAyqAAAAAAAJgAJSmRiY0J5dGVzAAAFdmFsdWUAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AIQAJSmRiY0J5dGVzAAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACQACUpkYmNCeXRlcwAABXZhbHVlAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAhAAlKZGJjQnl0ZXMAAAV2YWx1ZQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AGwAJSmRiY0J5dGVzAAAFdmFsdWUAAAR0eXBlAAAABRX31bAyqAAAAA1jb21wYWN0X3ZhbHVlACAACUpkYmNCeXRlcwAABXZhbHVlAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAWAAtKZGJjSW50ZWdlcgAAAjQyAAAAAAAABRX31bAyqAAAAAAAJQALSmRiY0ludGVnZXIAAAI0MgAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAgAAtKZGJjSW50ZWdlcgAAAjQyAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAjAAtKZGJjSW50ZWdlcgAAAjQyAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAgAAtKZGJjSW50ZWdlcgAAAjQyAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAaAAtKZGJjSW50ZWdlcgAAAjQyAAAEdHlwZQAAAAUV99WwMqgAAAAHcmVndWxhcgAfAAtKZGJjSW50ZWdlcgAAAjQyAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAChvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlVURjhUeXBlABcAC0pkYmNJbnRlZ2VyAAADa2V5AAAAAAAABRX31bAyqAAAAAAAJgALSmRiY0ludGVnZXIAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AIQALSmRiY0ludGVnZXIAAANrZXkAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACQAC0pkYmNJbnRlZ2VyAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAhAAtKZGJjSW50ZWdlcgAAA2tleQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AGwALSmRiY0ludGVnZXIAAANrZXkAAAR0eXBlAAAABRX31bAyqAAAAA1wYXJ0aXRpb25fa2V5ACAAC0pkYmNJbnRlZ2VyAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAYAAhKZGJjTG9uZwAAB2NvbHVtbjEAAAAAAAAFFffVsDKoAAAAAAAnAAhKZGJjTG9uZwAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AIgAISmRiY0xvbmcAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAlAAhKZGJjTG9uZwAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACIACEpkYmNMb25nAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AHAAISmRiY0xvbmcAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99WwMqgAAAAOY2x1c3RlcmluZ19rZXkAIQAISmRiY0xvbmcAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAChvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkxvbmdUeXBlABQACEpkYmNMb25nAAADa2V5AAAAAAAABRX31bAyqAAAAAAAIwAISmRiY0xvbmcAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AHgAISmRiY0xvbmcAAANrZXkAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACEACEpkYmNMb25nAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAeAAhKZGJjTG9uZwAAA2tleQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AGAAISmRiY0xvbmcAAANrZXkAAAR0eXBlAAAABRX31bAyqAAAAA1wYXJ0aXRpb25fa2V5AB0ACEpkYmNMb25nAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAWAAhKZGJjTG9uZwAABXZhbHVlAAAAAAAABRX31bAyqAAAAAAAJQAISmRiY0xvbmcAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAgAAhKZGJjTG9uZwAABXZhbHVlAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAjAAhKZGJjTG9uZwAABXZhbHVlAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAgAAhKZGJjTG9uZwAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAaAAhKZGJjTG9uZwAABXZhbHVlAAAEdHlwZQAAAAUV99WwMqgAAAANY29tcGFjdF92YWx1ZQAfAAhKZGJjTG9uZwAABXZhbHVlAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAChvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkxvbmdUeXBlABkACEpkYmNVdGY4AAAIZm9ydHl0d28AAAAAAAAFFffVsDKoAAAAAAAoAAhKZGJjVXRmOAAACGZvcnR5dHdvAAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACMACEpkYmNVdGY4AAAIZm9ydHl0d28AAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACYACEpkYmNVdGY4AAAIZm9ydHl0d28AAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACMACEpkYmNVdGY4AAAIZm9ydHl0d28AAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuAB0ACEpkYmNVdGY4AAAIZm9ydHl0d28AAAR0eXBlAAAABRX31bAyqAAAAAdyZWd1bGFyACIACEpkYmNVdGY4AAAIZm9ydHl0d28AAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVVRGOFR5cGUAFAAISmRiY1V0ZjgAAANrZXkAAAAAAAAFFffVsDKoAAAAAAAjAAhKZGJjVXRmOAAAA2tleQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAeAAhKZGJjVXRmOAAAA2tleQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AIQAISmRiY1V0ZjgAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsAB4ACEpkYmNVdGY4AAADa2V5AAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAYAAhKZGJjVXRmOAAAA2tleQAABHR5cGUAAAAFFffVsDKoAAAADXBhcnRpdGlvbl9rZXkAHQAISmRiY1V0ZjgAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABoACk1peGVkVHlwZXMAAAdjb2x1bW4xAAAAAAAABRX31bAyqAAAAAAAKQAKTWl4ZWRUeXBlcwAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AJAAKTWl4ZWRUeXBlcwAAB2NvbHVtbjEAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACcACk1peGVkVHlwZXMAAAdjb2x1bW4xAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAkAApNaXhlZFR5cGVzAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AHgAKTWl4ZWRUeXBlcwAAB2NvbHVtbjEAAAR0eXBlAAAABRX31bAyqAAAAA5jbHVzdGVyaW5nX2tleQAjAApNaXhlZFR5cGVzAAAHY29sdW1uMQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAAob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Mb25nVHlwZQAWAApNaXhlZFR5cGVzAAADa2V5AAAAAAAABRX31bAyqAAAAAAAJQAKTWl4ZWRUeXBlcwAAA2tleQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAgAApNaXhlZFR5cGVzAAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAjAApNaXhlZFR5cGVzAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAgAApNaXhlZFR5cGVzAAADa2V5AAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAaAApNaXhlZFR5cGVzAAADa2V5AAAEdHlwZQAAAAUV99WwMqgAAAANcGFydGl0aW9uX2tleQAfAApNaXhlZFR5cGVzAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAChvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlVVSURUeXBlABgACk1peGVkVHlwZXMAAAV2YWx1ZQAAAAAAAAUV99WwMqgAAAAAACcACk1peGVkVHlwZXMAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAiAApNaXhlZFR5cGVzAAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACUACk1peGVkVHlwZXMAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAIgAKTWl4ZWRUeXBlcwAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAcAApNaXhlZFR5cGVzAAAFdmFsdWUAAAR0eXBlAAAABRX31bAyqAAAAA1jb21wYWN0X3ZhbHVlACEACk1peGVkVHlwZXMAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAArb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Cb29sZWFuVHlwZQAjABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAHY29sdW1uMQAAAAAAAAUV99WwMqgAAAAAADIAE01peGVkVHlwZXNDb21wb3NpdGUAAAdjb2x1bW4xAAAPY29tcG9uZW50X2luZGV4AAAABRX31bAyqAAAAAQAAAAAAC0AE01peGVkVHlwZXNDb21wb3NpdGUAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAwABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwALQATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAAB2NvbHVtbjEAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuACcAE01peGVkVHlwZXNDb21wb3NpdGUAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99WwMqgAAAAOY2x1c3RlcmluZ19rZXkALAATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACMAE01peGVkVHlwZXNDb21wb3NpdGUAAAdjb2x1bW4yAAAAAAAABRX31bAyqAAAAAAAMgATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAAB2NvbHVtbjIAAA9jb21wb25lbnRfaW5kZXgAAAAFFffVsDKoAAAABAAAAAEALQATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAAB2NvbHVtbjIAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuADAAE01peGVkVHlwZXNDb21wb3NpdGUAAAdjb2x1bW4yAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAtABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAHY29sdW1uMgAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AJwATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAAB2NvbHVtbjIAAAR0eXBlAAAABRX31bAyqAAAAA5jbHVzdGVyaW5nX2tleQAsABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAHY29sdW1uMgAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAAsb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5UaW1lVVVJRFR5cGUAIwATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAAB2NvbHVtbjMAAAAAAAAFFffVsDKoAAAAAAAyABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAHY29sdW1uMwAAD2NvbXBvbmVudF9pbmRleAAAAAUV99WwMqgAAAAEAAAAAgAtABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAHY29sdW1uMwAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AMAATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAAB2NvbHVtbjMAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsAC0AE01peGVkVHlwZXNDb21wb3NpdGUAAAdjb2x1bW4zAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAnABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAHY29sdW1uMwAABHR5cGUAAAAFFffVsDKoAAAADmNsdXN0ZXJpbmdfa2V5ACwAE01peGVkVHlwZXNDb21wb3NpdGUAAAdjb2x1bW4zAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAACtvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkludGVnZXJUeXBlAB8AE01peGVkVHlwZXNDb21wb3NpdGUAAANrZXkAAAAAAAAFFffVsDKoAAAAAAAuABNNaXhlZFR5cGVzQ29tcG9zaXRlAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAAABRX31bAyqAAAAAQAAAAAACkAE01peGVkVHlwZXNDb21wb3NpdGUAAANrZXkAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACwAE01peGVkVHlwZXNDb21wb3NpdGUAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACkAE01peGVkVHlwZXNDb21wb3NpdGUAAANrZXkAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuACMAE01peGVkVHlwZXNDb21wb3NpdGUAAANrZXkAAAR0eXBlAAAABRX31bAyqAAAAA1wYXJ0aXRpb25fa2V5ACgAE01peGVkVHlwZXNDb21wb3NpdGUAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACAAE01peGVkVHlwZXNDb21wb3NpdGUAAARrZXkyAAAAAAAABRX31bAyqAAAAAAALwATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAABGtleTIAAA9jb21wb25lbnRfaW5kZXgAAAAFFffVsDKoAAAABAAAAAEAKgATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAABGtleTIAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuAC0AE01peGVkVHlwZXNDb21wb3NpdGUAAARrZXkyAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAqABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAEa2V5MgAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AJAATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAABGtleTIAAAR0eXBlAAAABRX31bAyqAAAAA1wYXJ0aXRpb25fa2V5ACkAE01peGVkVHlwZXNDb21wb3NpdGUAAARrZXkyAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAACxvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlRpbWVVVUlEVHlwZQAgABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAEa2V5MwAAAAAAAAUV99WwMqgAAAAAAC8AE01peGVkVHlwZXNDb21wb3NpdGUAAARrZXkzAAAPY29tcG9uZW50X2luZGV4AAAABRX31bAyqAAAAAQAAAACACoAE01peGVkVHlwZXNDb21wb3NpdGUAAARrZXkzAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAtABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAEa2V5MwAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAKgATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAABGtleTMAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuACQAE01peGVkVHlwZXNDb21wb3NpdGUAAARrZXkzAAAEdHlwZQAAAAUV99WwMqgAAAANcGFydGl0aW9uX2tleQApABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAEa2V5MwAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAArb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5JbnRlZ2VyVHlwZQAhABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAFdmFsdWUAAAAAAAAFFffVsDKoAAAAAAAwABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAFdmFsdWUAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AKwATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAABXZhbHVlAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAuABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAFdmFsdWUAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACsAE01peGVkVHlwZXNDb21wb3NpdGUAAAV2YWx1ZQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AJQATTWl4ZWRUeXBlc0NvbXBvc2l0ZQAABXZhbHVlAAAEdHlwZQAAAAUV99WwMqgAAAANY29tcGFjdF92YWx1ZQAqABNNaXhlZFR5cGVzQ29tcG9zaXRlAAAFdmFsdWUAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAK29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQm9vbGVhblR5cGUAGQAJU3RhbmRhcmQxAAAHY29sdW1uMQAAAAAAAAUV99WwMqgAAAAAACgACVN0YW5kYXJkMQAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AIwAJU3RhbmRhcmQxAAAHY29sdW1uMQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AJgAJU3RhbmRhcmQxAAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAIwAJU3RhbmRhcmQxAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AHQAJU3RhbmRhcmQxAAAHY29sdW1uMQAABHR5cGUAAAAFFffVsDKoAAAADmNsdXN0ZXJpbmdfa2V5ACIACVN0YW5kYXJkMQAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABUACVN0YW5kYXJkMQAAA2tleQAAAAAAAAUV99WwMqgAAAAAACQACVN0YW5kYXJkMQAAA2tleQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAfAAlTdGFuZGFyZDEAAANrZXkAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACIACVN0YW5kYXJkMQAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAHwAJU3RhbmRhcmQxAAADa2V5AAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAZAAlTdGFuZGFyZDEAAANrZXkAAAR0eXBlAAAABRX31bAyqAAAAA1wYXJ0aXRpb25fa2V5AB4ACVN0YW5kYXJkMQAAA2tleQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFwAJU3RhbmRhcmQxAAAFdmFsdWUAAAAAAAAFFffVsDKoAAAAAAAmAAlTdGFuZGFyZDEAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAhAAlTdGFuZGFyZDEAAAV2YWx1ZQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AJAAJU3RhbmRhcmQxAAAFdmFsdWUAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACEACVN0YW5kYXJkMQAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAbAAlTdGFuZGFyZDEAAAV2YWx1ZQAABHR5cGUAAAAFFffVsDKoAAAADWNvbXBhY3RfdmFsdWUAIAAJU3RhbmRhcmQxAAAFdmFsdWUAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABkACVN0YW5kYXJkMgAAB2NvbHVtbjEAAAAAAAAFFffVsDKoAAAAAAAoAAlTdGFuZGFyZDIAAAdjb2x1bW4xAAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACMACVN0YW5kYXJkMgAAB2NvbHVtbjEAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACYACVN0YW5kYXJkMgAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACMACVN0YW5kYXJkMgAAB2NvbHVtbjEAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuAB0ACVN0YW5kYXJkMgAAB2NvbHVtbjEAAAR0eXBlAAAABRX31bAyqAAAAA5jbHVzdGVyaW5nX2tleQAiAAlTdGFuZGFyZDIAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAVAAlTdGFuZGFyZDIAAANrZXkAAAAAAAAFFffVsDKoAAAAAAAkAAlTdGFuZGFyZDIAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AHwAJU3RhbmRhcmQyAAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAiAAlTdGFuZGFyZDIAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsAB8ACVN0YW5kYXJkMgAAA2tleQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AGQAJU3RhbmRhcmQyAAADa2V5AAAEdHlwZQAAAAUV99WwMqgAAAANcGFydGl0aW9uX2tleQAeAAlTdGFuZGFyZDIAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABcACVN0YW5kYXJkMgAABXZhbHVlAAAAAAAABRX31bAyqAAAAAAAJgAJU3RhbmRhcmQyAAAFdmFsdWUAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AIQAJU3RhbmRhcmQyAAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACQACVN0YW5kYXJkMgAABXZhbHVlAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAhAAlTdGFuZGFyZDIAAAV2YWx1ZQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AGwAJU3RhbmRhcmQyAAAFdmFsdWUAAAR0eXBlAAAABRX31bAyqAAAAA1jb21wYWN0X3ZhbHVlACAACVN0YW5kYXJkMgAABXZhbHVlAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAZAAlTdGFuZGFyZDMAAAdjb2x1bW4xAAAAAAAABRX31bAyqAAAAAAAKAAJU3RhbmRhcmQzAAAHY29sdW1uMQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAjAAlTdGFuZGFyZDMAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAmAAlTdGFuZGFyZDMAAAdjb2x1bW4xAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAjAAlTdGFuZGFyZDMAAAdjb2x1bW4xAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAdAAlTdGFuZGFyZDMAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99WwMqgAAAAOY2x1c3RlcmluZ19rZXkAIgAJU3RhbmRhcmQzAAAHY29sdW1uMQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFQAJU3RhbmRhcmQzAAADa2V5AAAAAAAABRX31bAyqAAAAAAAJAAJU3RhbmRhcmQzAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuAB8ACVN0YW5kYXJkMwAAA2tleQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AIgAJU3RhbmRhcmQzAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAfAAlTdGFuZGFyZDMAAANrZXkAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuABkACVN0YW5kYXJkMwAAA2tleQAABHR5cGUAAAAFFffVsDKoAAAADXBhcnRpdGlvbl9rZXkAHgAJU3RhbmRhcmQzAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAXAAlTdGFuZGFyZDMAAAV2YWx1ZQAAAAAAAAUV99WwMqgAAAAAACYACVN0YW5kYXJkMwAABXZhbHVlAAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACEACVN0YW5kYXJkMwAABXZhbHVlAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAkAAlTdGFuZGFyZDMAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAIQAJU3RhbmRhcmQzAAAFdmFsdWUAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuABsACVN0YW5kYXJkMwAABXZhbHVlAAAEdHlwZQAAAAUV99WwMqgAAAANY29tcGFjdF92YWx1ZQAgAAlTdGFuZGFyZDMAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAGQAJU3RhbmRhcmQ0AAAHY29sdW1uMQAAAAAAAAUV99WwMqgAAAAAACgACVN0YW5kYXJkNAAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AIwAJU3RhbmRhcmQ0AAAHY29sdW1uMQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AJgAJU3RhbmRhcmQ0AAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAIwAJU3RhbmRhcmQ0AAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AHQAJU3RhbmRhcmQ0AAAHY29sdW1uMQAABHR5cGUAAAAFFffVsDKoAAAADmNsdXN0ZXJpbmdfa2V5ACIACVN0YW5kYXJkNAAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABUACVN0YW5kYXJkNAAAA2tleQAAAAAAAAUV99WwMqgAAAAAACQACVN0YW5kYXJkNAAAA2tleQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAfAAlTdGFuZGFyZDQAAANrZXkAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACIACVN0YW5kYXJkNAAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAHwAJU3RhbmRhcmQ0AAADa2V5AAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAZAAlTdGFuZGFyZDQAAANrZXkAAAR0eXBlAAAABRX31bAyqAAAAA1wYXJ0aXRpb25fa2V5AB4ACVN0YW5kYXJkNAAAA2tleQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFwAJU3RhbmRhcmQ0AAAFdmFsdWUAAAAAAAAFFffVsDKoAAAAAAAmAAlTdGFuZGFyZDQAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAhAAlTdGFuZGFyZDQAAAV2YWx1ZQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AJAAJU3RhbmRhcmQ0AAAFdmFsdWUAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACEACVN0YW5kYXJkNAAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAbAAlTdGFuZGFyZDQAAAV2YWx1ZQAABHR5cGUAAAAFFffVsDKoAAAADWNvbXBhY3RfdmFsdWUAIAAJU3RhbmRhcmQ0AAAFdmFsdWUAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACEAEVN0YW5kYXJkQ29tcG9zaXRlAAAHY29sdW1uMQAAAAAAAAUV99WwMqgAAAAAADAAEVN0YW5kYXJkQ29tcG9zaXRlAAAHY29sdW1uMQAAD2NvbXBvbmVudF9pbmRleAAAAAUV99WwMqgAAAAEAAAAAAArABFTdGFuZGFyZENvbXBvc2l0ZQAAB2NvbHVtbjEAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuAC4AEVN0YW5kYXJkQ29tcG9zaXRlAAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAKwARU3RhbmRhcmRDb21wb3NpdGUAAAdjb2x1bW4xAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAlABFTdGFuZGFyZENvbXBvc2l0ZQAAB2NvbHVtbjEAAAR0eXBlAAAABRX31bAyqAAAAA5jbHVzdGVyaW5nX2tleQAqABFTdGFuZGFyZENvbXBvc2l0ZQAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACEAEVN0YW5kYXJkQ29tcG9zaXRlAAAHY29sdW1uMgAAAAAAAAUV99WwMqgAAAAAADAAEVN0YW5kYXJkQ29tcG9zaXRlAAAHY29sdW1uMgAAD2NvbXBvbmVudF9pbmRleAAAAAUV99WwMqgAAAAEAAAAAQArABFTdGFuZGFyZENvbXBvc2l0ZQAAB2NvbHVtbjIAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuAC4AEVN0YW5kYXJkQ29tcG9zaXRlAAAHY29sdW1uMgAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAKwARU3RhbmRhcmRDb21wb3NpdGUAAAdjb2x1bW4yAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAlABFTdGFuZGFyZENvbXBvc2l0ZQAAB2NvbHVtbjIAAAR0eXBlAAAABRX31bAyqAAAAA5jbHVzdGVyaW5nX2tleQAqABFTdGFuZGFyZENvbXBvc2l0ZQAAB2NvbHVtbjIAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAALG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVGltZVVVSURUeXBlACEAEVN0YW5kYXJkQ29tcG9zaXRlAAAHY29sdW1uMwAAAAAAAAUV99WwMqgAAAAAADAAEVN0YW5kYXJkQ29tcG9zaXRlAAAHY29sdW1uMwAAD2NvbXBvbmVudF9pbmRleAAAAAUV99WwMqgAAAAEAAAAAgArABFTdGFuZGFyZENvbXBvc2l0ZQAAB2NvbHVtbjMAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuAC4AEVN0YW5kYXJkQ29tcG9zaXRlAAAHY29sdW1uMwAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAKwARU3RhbmRhcmRDb21wb3NpdGUAAAdjb2x1bW4zAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAlABFTdGFuZGFyZENvbXBvc2l0ZQAAB2NvbHVtbjMAAAR0eXBlAAAABRX31bAyqAAAAA5jbHVzdGVyaW5nX2tleQAqABFTdGFuZGFyZENvbXBvc2l0ZQAAB2NvbHVtbjMAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAK29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuSW50ZWdlclR5cGUAHQARU3RhbmRhcmRDb21wb3NpdGUAAANrZXkAAAAAAAAFFffVsDKoAAAAAAAsABFTdGFuZGFyZENvbXBvc2l0ZQAAA2tleQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAnABFTdGFuZGFyZENvbXBvc2l0ZQAAA2tleQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AKgARU3RhbmRhcmRDb21wb3NpdGUAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACcAEVN0YW5kYXJkQ29tcG9zaXRlAAADa2V5AAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAhABFTdGFuZGFyZENvbXBvc2l0ZQAAA2tleQAABHR5cGUAAAAFFffVsDKoAAAADXBhcnRpdGlvbl9rZXkAJgARU3RhbmRhcmRDb21wb3NpdGUAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlAB8AEVN0YW5kYXJkQ29tcG9zaXRlAAAFdmFsdWUAAAAAAAAFFffVsDKoAAAAAAAuABFTdGFuZGFyZENvbXBvc2l0ZQAABXZhbHVlAAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACkAEVN0YW5kYXJkQ29tcG9zaXRlAAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACwAEVN0YW5kYXJkQ29tcG9zaXRlAAAFdmFsdWUAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACkAEVN0YW5kYXJkQ29tcG9zaXRlAAAFdmFsdWUAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuACMAEVN0YW5kYXJkQ29tcG9zaXRlAAAFdmFsdWUAAAR0eXBlAAAABRX31bAyqAAAAA1jb21wYWN0X3ZhbHVlACgAEVN0YW5kYXJkQ29tcG9zaXRlAAAFdmFsdWUAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACIAElN0YW5kYXJkQ29tcG9zaXRlMgAAB2NvbHVtbjEAAAAAAAAFFffVsDKoAAAAAAAxABJTdGFuZGFyZENvbXBvc2l0ZTIAAAdjb2x1bW4xAAAPY29tcG9uZW50X2luZGV4AAAABRX31bAyqAAAAAQAAAAAACwAElN0YW5kYXJkQ29tcG9zaXRlMgAAB2NvbHVtbjEAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuAC8AElN0YW5kYXJkQ29tcG9zaXRlMgAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACwAElN0YW5kYXJkQ29tcG9zaXRlMgAAB2NvbHVtbjEAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuACYAElN0YW5kYXJkQ29tcG9zaXRlMgAAB2NvbHVtbjEAAAR0eXBlAAAABRX31bAyqAAAAA5jbHVzdGVyaW5nX2tleQArABJTdGFuZGFyZENvbXBvc2l0ZTIAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAiABJTdGFuZGFyZENvbXBvc2l0ZTIAAAdjb2x1bW4yAAAAAAAABRX31bAyqAAAAAAAMQASU3RhbmRhcmRDb21wb3NpdGUyAAAHY29sdW1uMgAAD2NvbXBvbmVudF9pbmRleAAAAAUV99WwMqgAAAAEAAAAAQAsABJTdGFuZGFyZENvbXBvc2l0ZTIAAAdjb2x1bW4yAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAvABJTdGFuZGFyZENvbXBvc2l0ZTIAAAdjb2x1bW4yAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAsABJTdGFuZGFyZENvbXBvc2l0ZTIAAAdjb2x1bW4yAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAmABJTdGFuZGFyZENvbXBvc2l0ZTIAAAdjb2x1bW4yAAAEdHlwZQAAAAUV99WwMqgAAAAOY2x1c3RlcmluZ19rZXkAKwASU3RhbmRhcmRDb21wb3NpdGUyAAAHY29sdW1uMgAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAArb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5JbnRlZ2VyVHlwZQAeABJTdGFuZGFyZENvbXBvc2l0ZTIAAANrZXkAAAAAAAAFFffVsDKoAAAAAAAtABJTdGFuZGFyZENvbXBvc2l0ZTIAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AKAASU3RhbmRhcmRDb21wb3NpdGUyAAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgArABJTdGFuZGFyZENvbXBvc2l0ZTIAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACgAElN0YW5kYXJkQ29tcG9zaXRlMgAAA2tleQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AIgASU3RhbmRhcmRDb21wb3NpdGUyAAADa2V5AAAEdHlwZQAAAAUV99WwMqgAAAANcGFydGl0aW9uX2tleQAnABJTdGFuZGFyZENvbXBvc2l0ZTIAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACAAElN0YW5kYXJkQ29tcG9zaXRlMgAABXZhbHVlAAAAAAAABRX31bAyqAAAAAAALwASU3RhbmRhcmRDb21wb3NpdGUyAAAFdmFsdWUAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AKgASU3RhbmRhcmRDb21wb3NpdGUyAAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuAC0AElN0YW5kYXJkQ29tcG9zaXRlMgAABXZhbHVlAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAqABJTdGFuZGFyZENvbXBvc2l0ZTIAAAV2YWx1ZQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AJAASU3RhbmRhcmRDb21wb3NpdGUyAAAFdmFsdWUAAAR0eXBlAAAABRX31bAyqAAAAA1jb21wYWN0X3ZhbHVlACkAElN0YW5kYXJkQ29tcG9zaXRlMgAABXZhbHVlAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAoABhTdGFuZGFyZER5bmFtaWNDb21wb3NpdGUAAAdjb2x1bW4xAAAAAAAABRX31bAyqAAAAAAANwAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAAHY29sdW1uMQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAyABhTdGFuZGFyZER5bmFtaWNDb21wb3NpdGUAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgA1ABhTdGFuZGFyZER5bmFtaWNDb21wb3NpdGUAAAdjb2x1bW4xAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAyABhTdGFuZGFyZER5bmFtaWNDb21wb3NpdGUAAAdjb2x1bW4xAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAsABhTdGFuZGFyZER5bmFtaWNDb21wb3NpdGUAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99WwMqgAAAAOY2x1c3RlcmluZ19rZXkAMQAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAAHY29sdW1uMQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAFLb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5EeW5hbWljQ29tcG9zaXRlVHlwZShiPT5vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZSxCPT5vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlJldmVyc2VkVHlwZShvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZSksdD0+b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5UaW1lVVVJRFR5cGUsVD0+b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5SZXZlcnNlZFR5cGUob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5UaW1lVVVJRFR5cGUpKQAkABhTdGFuZGFyZER5bmFtaWNDb21wb3NpdGUAAANrZXkAAAAAAAAFFffVsDKoAAAAAAAzABhTdGFuZGFyZER5bmFtaWNDb21wb3NpdGUAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4ALgAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAxABhTdGFuZGFyZER5bmFtaWNDb21wb3NpdGUAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsAC4AGFN0YW5kYXJkRHluYW1pY0NvbXBvc2l0ZQAAA2tleQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AKAAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAADa2V5AAAEdHlwZQAAAAUV99WwMqgAAAANcGFydGl0aW9uX2tleQAtABhTdGFuZGFyZER5bmFtaWNDb21wb3NpdGUAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACYAGFN0YW5kYXJkRHluYW1pY0NvbXBvc2l0ZQAABXZhbHVlAAAAAAAABRX31bAyqAAAAAAANQAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAAFdmFsdWUAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AMAAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuADMAGFN0YW5kYXJkRHluYW1pY0NvbXBvc2l0ZQAABXZhbHVlAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAwABhTdGFuZGFyZER5bmFtaWNDb21wb3NpdGUAAAV2YWx1ZQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AKgAYU3RhbmRhcmREeW5hbWljQ29tcG9zaXRlAAAFdmFsdWUAAAR0eXBlAAAABRX31bAyqAAAAA1jb21wYWN0X3ZhbHVlAC8AGFN0YW5kYXJkRHluYW1pY0NvbXBvc2l0ZQAABXZhbHVlAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAdAA1TdGFuZGFyZEdDR1MwAAAHY29sdW1uMQAAAAAAAAUV99WwMqgAAAAAACwADVN0YW5kYXJkR0NHUzAAAAdjb2x1bW4xAAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACcADVN0YW5kYXJkR0NHUzAAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAqAA1TdGFuZGFyZEdDR1MwAAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAJwANU3RhbmRhcmRHQ0dTMAAAB2NvbHVtbjEAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuACEADVN0YW5kYXJkR0NHUzAAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99WwMqgAAAAOY2x1c3RlcmluZ19rZXkAJgANU3RhbmRhcmRHQ0dTMAAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABkADVN0YW5kYXJkR0NHUzAAAANrZXkAAAAAAAAFFffVsDKoAAAAAAAoAA1TdGFuZGFyZEdDR1MwAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACMADVN0YW5kYXJkR0NHUzAAAANrZXkAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACYADVN0YW5kYXJkR0NHUzAAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACMADVN0YW5kYXJkR0NHUzAAAANrZXkAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuAB0ADVN0YW5kYXJkR0NHUzAAAANrZXkAAAR0eXBlAAAABRX31bAyqAAAAA1wYXJ0aXRpb25fa2V5ACIADVN0YW5kYXJkR0NHUzAAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABsADVN0YW5kYXJkR0NHUzAAAAV2YWx1ZQAAAAAAAAUV99WwMqgAAAAAACoADVN0YW5kYXJkR0NHUzAAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAlAA1TdGFuZGFyZEdDR1MwAAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACgADVN0YW5kYXJkR0NHUzAAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAJQANU3RhbmRhcmRHQ0dTMAAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAfAA1TdGFuZGFyZEdDR1MwAAAFdmFsdWUAAAR0eXBlAAAABRX31bAyqAAAAA1jb21wYWN0X3ZhbHVlACQADVN0YW5kYXJkR0NHUzAAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAIAAQU3RhbmRhcmRJbnRlZ2VyMQAAB2NvbHVtbjEAAAAAAAAFFffVsDKoAAAAAAAvABBTdGFuZGFyZEludGVnZXIxAAAHY29sdW1uMQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAqABBTdGFuZGFyZEludGVnZXIxAAAHY29sdW1uMQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4ALQAQU3RhbmRhcmRJbnRlZ2VyMQAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACoAEFN0YW5kYXJkSW50ZWdlcjEAAAdjb2x1bW4xAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAkABBTdGFuZGFyZEludGVnZXIxAAAHY29sdW1uMQAABHR5cGUAAAAFFffVsDKoAAAADmNsdXN0ZXJpbmdfa2V5ACkAEFN0YW5kYXJkSW50ZWdlcjEAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAACtvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkludGVnZXJUeXBlABwAEFN0YW5kYXJkSW50ZWdlcjEAAANrZXkAAAAAAAAFFffVsDKoAAAAAAArABBTdGFuZGFyZEludGVnZXIxAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACYAEFN0YW5kYXJkSW50ZWdlcjEAAANrZXkAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACkAEFN0YW5kYXJkSW50ZWdlcjEAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACYAEFN0YW5kYXJkSW50ZWdlcjEAAANrZXkAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuACAAEFN0YW5kYXJkSW50ZWdlcjEAAANrZXkAAAR0eXBlAAAABRX31bAyqAAAAA1wYXJ0aXRpb25fa2V5ACUAEFN0YW5kYXJkSW50ZWdlcjEAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlAB4AEFN0YW5kYXJkSW50ZWdlcjEAAAV2YWx1ZQAAAAAAAAUV99WwMqgAAAAAAC0AEFN0YW5kYXJkSW50ZWdlcjEAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAoABBTdGFuZGFyZEludGVnZXIxAAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACsAEFN0YW5kYXJkSW50ZWdlcjEAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAKAAQU3RhbmRhcmRJbnRlZ2VyMQAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAiABBTdGFuZGFyZEludGVnZXIxAAAFdmFsdWUAAAR0eXBlAAAABRX31bAyqAAAAA1jb21wYWN0X3ZhbHVlACcAEFN0YW5kYXJkSW50ZWdlcjEAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHwAPU3RhbmRhcmRMZXZlbGVkAAAHY29sdW1uMQAAAAAAAAUV99WwMqgAAAAAAC4AD1N0YW5kYXJkTGV2ZWxlZAAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AKQAPU3RhbmRhcmRMZXZlbGVkAAAHY29sdW1uMQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4ALAAPU3RhbmRhcmRMZXZlbGVkAAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAKQAPU3RhbmRhcmRMZXZlbGVkAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AIwAPU3RhbmRhcmRMZXZlbGVkAAAHY29sdW1uMQAABHR5cGUAAAAFFffVsDKoAAAADmNsdXN0ZXJpbmdfa2V5ACgAD1N0YW5kYXJkTGV2ZWxlZAAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABsAD1N0YW5kYXJkTGV2ZWxlZAAAA2tleQAAAAAAAAUV99WwMqgAAAAAACoAD1N0YW5kYXJkTGV2ZWxlZAAAA2tleQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAlAA9TdGFuZGFyZExldmVsZWQAAANrZXkAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACgAD1N0YW5kYXJkTGV2ZWxlZAAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAJQAPU3RhbmRhcmRMZXZlbGVkAAADa2V5AAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAfAA9TdGFuZGFyZExldmVsZWQAAANrZXkAAAR0eXBlAAAABRX31bAyqAAAAA1wYXJ0aXRpb25fa2V5ACQAD1N0YW5kYXJkTGV2ZWxlZAAAA2tleQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHQAPU3RhbmRhcmRMZXZlbGVkAAAFdmFsdWUAAAAAAAAFFffVsDKoAAAAAAAsAA9TdGFuZGFyZExldmVsZWQAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAnAA9TdGFuZGFyZExldmVsZWQAAAV2YWx1ZQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AKgAPU3RhbmRhcmRMZXZlbGVkAAAFdmFsdWUAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACcAD1N0YW5kYXJkTGV2ZWxlZAAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAhAA9TdGFuZGFyZExldmVsZWQAAAV2YWx1ZQAABHR5cGUAAAAFFffVsDKoAAAADWNvbXBhY3RfdmFsdWUAJgAPU3RhbmRhcmRMZXZlbGVkAAAFdmFsdWUAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlAB0ADVN0YW5kYXJkTG9uZzEAAAdjb2x1bW4xAAAAAAAABRX31bAyqAAAAAAALAANU3RhbmRhcmRMb25nMQAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AJwANU3RhbmRhcmRMb25nMQAAB2NvbHVtbjEAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACoADVN0YW5kYXJkTG9uZzEAAAdjb2x1bW4xAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAnAA1TdGFuZGFyZExvbmcxAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AIQANU3RhbmRhcmRMb25nMQAAB2NvbHVtbjEAAAR0eXBlAAAABRX31bAyqAAAAA5jbHVzdGVyaW5nX2tleQAmAA1TdGFuZGFyZExvbmcxAAAHY29sdW1uMQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAGQANU3RhbmRhcmRMb25nMQAAA2tleQAAAAAAAAUV99WwMqgAAAAAACgADVN0YW5kYXJkTG9uZzEAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AIwANU3RhbmRhcmRMb25nMQAAA2tleQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AJgANU3RhbmRhcmRMb25nMQAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAIwANU3RhbmRhcmRMb25nMQAAA2tleQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AHQANU3RhbmRhcmRMb25nMQAAA2tleQAABHR5cGUAAAAFFffVsDKoAAAADXBhcnRpdGlvbl9rZXkAIgANU3RhbmRhcmRMb25nMQAAA2tleQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAGwANU3RhbmRhcmRMb25nMQAABXZhbHVlAAAAAAAABRX31bAyqAAAAAAAKgANU3RhbmRhcmRMb25nMQAABXZhbHVlAAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACUADVN0YW5kYXJkTG9uZzEAAAV2YWx1ZQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AKAANU3RhbmRhcmRMb25nMQAABXZhbHVlAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAlAA1TdGFuZGFyZExvbmcxAAAFdmFsdWUAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuAB8ADVN0YW5kYXJkTG9uZzEAAAV2YWx1ZQAABHR5cGUAAAAFFffVsDKoAAAADWNvbXBhY3RfdmFsdWUAJAANU3RhbmRhcmRMb25nMQAABXZhbHVlAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAdAA1TdGFuZGFyZExvbmcyAAAHY29sdW1uMQAAAAAAAAUV99WwMqgAAAAAACwADVN0YW5kYXJkTG9uZzIAAAdjb2x1bW4xAAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACcADVN0YW5kYXJkTG9uZzIAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAqAA1TdGFuZGFyZExvbmcyAAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAJwANU3RhbmRhcmRMb25nMgAAB2NvbHVtbjEAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuACEADVN0YW5kYXJkTG9uZzIAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99WwMqgAAAAOY2x1c3RlcmluZ19rZXkAJgANU3RhbmRhcmRMb25nMgAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABkADVN0YW5kYXJkTG9uZzIAAANrZXkAAAAAAAAFFffVsDKoAAAAAAAoAA1TdGFuZGFyZExvbmcyAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACMADVN0YW5kYXJkTG9uZzIAAANrZXkAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACYADVN0YW5kYXJkTG9uZzIAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACMADVN0YW5kYXJkTG9uZzIAAANrZXkAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuAB0ADVN0YW5kYXJkTG9uZzIAAANrZXkAAAR0eXBlAAAABRX31bAyqAAAAA1wYXJ0aXRpb25fa2V5ACIADVN0YW5kYXJkTG9uZzIAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABsADVN0YW5kYXJkTG9uZzIAAAV2YWx1ZQAAAAAAAAUV99WwMqgAAAAAACoADVN0YW5kYXJkTG9uZzIAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAlAA1TdGFuZGFyZExvbmcyAAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACgADVN0YW5kYXJkTG9uZzIAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAJQANU3RhbmRhcmRMb25nMgAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAfAA1TdGFuZGFyZExvbmcyAAAFdmFsdWUAAAR0eXBlAAAABRX31bAyqAAAAA1jb21wYWN0X3ZhbHVlACQADVN0YW5kYXJkTG9uZzIAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHQANU3RhbmRhcmRMb25nMwAAB2NvbHVtbjEAAAAAAAAFFffVsDKoAAAAAAAsAA1TdGFuZGFyZExvbmczAAAHY29sdW1uMQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAnAA1TdGFuZGFyZExvbmczAAAHY29sdW1uMQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AKgANU3RhbmRhcmRMb25nMwAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACcADVN0YW5kYXJkTG9uZzMAAAdjb2x1bW4xAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAhAA1TdGFuZGFyZExvbmczAAAHY29sdW1uMQAABHR5cGUAAAAFFffVsDKoAAAADmNsdXN0ZXJpbmdfa2V5ACYADVN0YW5kYXJkTG9uZzMAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAACtvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkludGVnZXJUeXBlABkADVN0YW5kYXJkTG9uZzMAAANrZXkAAAAAAAAFFffVsDKoAAAAAAAoAA1TdGFuZGFyZExvbmczAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACMADVN0YW5kYXJkTG9uZzMAAANrZXkAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACYADVN0YW5kYXJkTG9uZzMAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACMADVN0YW5kYXJkTG9uZzMAAANrZXkAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuAB0ADVN0YW5kYXJkTG9uZzMAAANrZXkAAAR0eXBlAAAABRX31bAyqAAAAA1wYXJ0aXRpb25fa2V5ACIADVN0YW5kYXJkTG9uZzMAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABsADVN0YW5kYXJkTG9uZzMAAAV2YWx1ZQAAAAAAAAUV99WwMqgAAAAAACoADVN0YW5kYXJkTG9uZzMAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAlAA1TdGFuZGFyZExvbmczAAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACgADVN0YW5kYXJkTG9uZzMAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAJQANU3RhbmRhcmRMb25nMwAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAfAA1TdGFuZGFyZExvbmczAAAFdmFsdWUAAAR0eXBlAAAABRX31bAyqAAAAA1jb21wYWN0X3ZhbHVlACQADVN0YW5kYXJkTG9uZzMAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAKAAYU3RhbmRhcmRMb3dJbmRleEludGVydmFsAAAHY29sdW1uMQAAAAAAAAUV99WwMqgAAAAAADcAGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AMgAYU3RhbmRhcmRMb3dJbmRleEludGVydmFsAAAHY29sdW1uMQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4ANQAYU3RhbmRhcmRMb3dJbmRleEludGVydmFsAAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAMgAYU3RhbmRhcmRMb3dJbmRleEludGVydmFsAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4ALAAYU3RhbmRhcmRMb3dJbmRleEludGVydmFsAAAHY29sdW1uMQAABHR5cGUAAAAFFffVsDKoAAAADmNsdXN0ZXJpbmdfa2V5ADEAGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACQAGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAAA2tleQAAAAAAAAUV99WwMqgAAAAAADMAGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAAA2tleQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAuABhTdGFuZGFyZExvd0luZGV4SW50ZXJ2YWwAAANrZXkAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuADEAGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwALgAYU3RhbmRhcmRMb3dJbmRleEludGVydmFsAAADa2V5AAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAoABhTdGFuZGFyZExvd0luZGV4SW50ZXJ2YWwAAANrZXkAAAR0eXBlAAAABRX31bAyqAAAAA1wYXJ0aXRpb25fa2V5AC0AGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAAA2tleQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJgAYU3RhbmRhcmRMb3dJbmRleEludGVydmFsAAAFdmFsdWUAAAAAAAAFFffVsDKoAAAAAAA1ABhTdGFuZGFyZExvd0luZGV4SW50ZXJ2YWwAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAwABhTdGFuZGFyZExvd0luZGV4SW50ZXJ2YWwAAAV2YWx1ZQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AMwAYU3RhbmRhcmRMb3dJbmRleEludGVydmFsAAAFdmFsdWUAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsADAAGFN0YW5kYXJkTG93SW5kZXhJbnRlcnZhbAAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAqABhTdGFuZGFyZExvd0luZGV4SW50ZXJ2YWwAAAV2YWx1ZQAABHR5cGUAAAAFFffVsDKoAAAADWNvbXBhY3RfdmFsdWUALwAYU3RhbmRhcmRMb3dJbmRleEludGVydmFsAAAFdmFsdWUAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABwADFN0YW5kYXJkUmFjZQAAB2NvbHVtbjEAAAAAAAAFFffVsDKoAAAAAAArAAxTdGFuZGFyZFJhY2UAAAdjb2x1bW4xAAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACYADFN0YW5kYXJkUmFjZQAAB2NvbHVtbjEAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACkADFN0YW5kYXJkUmFjZQAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACYADFN0YW5kYXJkUmFjZQAAB2NvbHVtbjEAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuACAADFN0YW5kYXJkUmFjZQAAB2NvbHVtbjEAAAR0eXBlAAAABRX31bAyqAAAAA5jbHVzdGVyaW5nX2tleQAlAAxTdGFuZGFyZFJhY2UAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAYAAxTdGFuZGFyZFJhY2UAAANrZXkAAAAAAAAFFffVsDKoAAAAAAAnAAxTdGFuZGFyZFJhY2UAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AIgAMU3RhbmRhcmRSYWNlAAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAlAAxTdGFuZGFyZFJhY2UAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACIADFN0YW5kYXJkUmFjZQAAA2tleQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AHAAMU3RhbmRhcmRSYWNlAAADa2V5AAAEdHlwZQAAAAUV99WwMqgAAAANcGFydGl0aW9uX2tleQAhAAxTdGFuZGFyZFJhY2UAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABoADFN0YW5kYXJkUmFjZQAABXZhbHVlAAAAAAAABRX31bAyqAAAAAAAKQAMU3RhbmRhcmRSYWNlAAAFdmFsdWUAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AJAAMU3RhbmRhcmRSYWNlAAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACcADFN0YW5kYXJkUmFjZQAABXZhbHVlAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAkAAxTdGFuZGFyZFJhY2UAAAV2YWx1ZQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AHgAMU3RhbmRhcmRSYWNlAAAFdmFsdWUAAAR0eXBlAAAABRX31bAyqAAAAA1jb21wYWN0X3ZhbHVlACMADFN0YW5kYXJkUmFjZQAABXZhbHVlAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAWAAZTdXBlcjEAAAdjb2x1bW4xAAAAAAAABRX31bAyqAAAAAAAJQAGU3VwZXIxAAAHY29sdW1uMQAAD2NvbXBvbmVudF9pbmRleAAAAAUV99WwMqgAAAAEAAAAAAAgAAZTdXBlcjEAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAjAAZTdXBlcjEAAAdjb2x1bW4xAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAgAAZTdXBlcjEAAAdjb2x1bW4xAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAaAAZTdXBlcjEAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99WwMqgAAAAOY2x1c3RlcmluZ19rZXkAHwAGU3VwZXIxAAAHY29sdW1uMQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFgAGU3VwZXIxAAAHY29sdW1uMgAAAAAAAAUV99WwMqgAAAAAACUABlN1cGVyMQAAB2NvbHVtbjIAAA9jb21wb25lbnRfaW5kZXgAAAAFFffVsDKoAAAABAAAAAEAIAAGU3VwZXIxAAAHY29sdW1uMgAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AIwAGU3VwZXIxAAAHY29sdW1uMgAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAIAAGU3VwZXIxAAAHY29sdW1uMgAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AGgAGU3VwZXIxAAAHY29sdW1uMgAABHR5cGUAAAAFFffVsDKoAAAADmNsdXN0ZXJpbmdfa2V5AB8ABlN1cGVyMQAAB2NvbHVtbjIAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuTG9uZ1R5cGUAEgAGU3VwZXIxAAADa2V5AAAAAAAABRX31bAyqAAAAAAAIQAGU3VwZXIxAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuABwABlN1cGVyMQAAA2tleQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AHwAGU3VwZXIxAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAcAAZTdXBlcjEAAANrZXkAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuABYABlN1cGVyMQAAA2tleQAABHR5cGUAAAAFFffVsDKoAAAADXBhcnRpdGlvbl9rZXkAGwAGU3VwZXIxAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAUAAZTdXBlcjEAAAV2YWx1ZQAAAAAAAAUV99WwMqgAAAAAACMABlN1cGVyMQAABXZhbHVlAAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuAB4ABlN1cGVyMQAABXZhbHVlAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAhAAZTdXBlcjEAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAHgAGU3VwZXIxAAAFdmFsdWUAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuABgABlN1cGVyMQAABXZhbHVlAAAEdHlwZQAAAAUV99WwMqgAAAANY29tcGFjdF92YWx1ZQAdAAZTdXBlcjEAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFgAGU3VwZXIyAAAHY29sdW1uMQAAAAAAAAUV99WwMqgAAAAAACUABlN1cGVyMgAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAAAFFffVsDKoAAAABAAAAAAAIAAGU3VwZXIyAAAHY29sdW1uMQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AIwAGU3VwZXIyAAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAIAAGU3VwZXIyAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AGgAGU3VwZXIyAAAHY29sdW1uMQAABHR5cGUAAAAFFffVsDKoAAAADmNsdXN0ZXJpbmdfa2V5AB8ABlN1cGVyMgAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABYABlN1cGVyMgAAB2NvbHVtbjIAAAAAAAAFFffVsDKoAAAAAAAlAAZTdXBlcjIAAAdjb2x1bW4yAAAPY29tcG9uZW50X2luZGV4AAAABRX31bAyqAAAAAQAAAABACAABlN1cGVyMgAAB2NvbHVtbjIAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACMABlN1cGVyMgAAB2NvbHVtbjIAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACAABlN1cGVyMgAAB2NvbHVtbjIAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuABoABlN1cGVyMgAAB2NvbHVtbjIAAAR0eXBlAAAABRX31bAyqAAAAA5jbHVzdGVyaW5nX2tleQAfAAZTdXBlcjIAAAdjb2x1bW4yAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAChvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkxvbmdUeXBlABIABlN1cGVyMgAAA2tleQAAAAAAAAUV99WwMqgAAAAAACEABlN1cGVyMgAAA2tleQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAcAAZTdXBlcjIAAANrZXkAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuAB8ABlN1cGVyMgAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAHAAGU3VwZXIyAAADa2V5AAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAWAAZTdXBlcjIAAANrZXkAAAR0eXBlAAAABRX31bAyqAAAAA1wYXJ0aXRpb25fa2V5ABsABlN1cGVyMgAAA2tleQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFAAGU3VwZXIyAAAFdmFsdWUAAAAAAAAFFffVsDKoAAAAAAAjAAZTdXBlcjIAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAeAAZTdXBlcjIAAAV2YWx1ZQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AIQAGU3VwZXIyAAAFdmFsdWUAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsAB4ABlN1cGVyMgAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAYAAZTdXBlcjIAAAV2YWx1ZQAABHR5cGUAAAAFFffVsDKoAAAADWNvbXBhY3RfdmFsdWUAHQAGU3VwZXIyAAAFdmFsdWUAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABYABlN1cGVyMwAAB2NvbHVtbjEAAAAAAAAFFffVsDKoAAAAAAAlAAZTdXBlcjMAAAdjb2x1bW4xAAAPY29tcG9uZW50X2luZGV4AAAABRX31bAyqAAAAAQAAAAAACAABlN1cGVyMwAAB2NvbHVtbjEAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACMABlN1cGVyMwAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACAABlN1cGVyMwAAB2NvbHVtbjEAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuABoABlN1cGVyMwAAB2NvbHVtbjEAAAR0eXBlAAAABRX31bAyqAAAAA5jbHVzdGVyaW5nX2tleQAfAAZTdXBlcjMAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAWAAZTdXBlcjMAAAdjb2x1bW4yAAAAAAAABRX31bAyqAAAAAAAJQAGU3VwZXIzAAAHY29sdW1uMgAAD2NvbXBvbmVudF9pbmRleAAAAAUV99WwMqgAAAAEAAAAAQAgAAZTdXBlcjMAAAdjb2x1bW4yAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAjAAZTdXBlcjMAAAdjb2x1bW4yAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAgAAZTdXBlcjMAAAdjb2x1bW4yAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAaAAZTdXBlcjMAAAdjb2x1bW4yAAAEdHlwZQAAAAUV99WwMqgAAAAOY2x1c3RlcmluZ19rZXkAHwAGU3VwZXIzAAAHY29sdW1uMgAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAAob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Mb25nVHlwZQASAAZTdXBlcjMAAANrZXkAAAAAAAAFFffVsDKoAAAAAAAhAAZTdXBlcjMAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AHAAGU3VwZXIzAAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAfAAZTdXBlcjMAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsABwABlN1cGVyMwAAA2tleQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AFgAGU3VwZXIzAAADa2V5AAAEdHlwZQAAAAUV99WwMqgAAAANcGFydGl0aW9uX2tleQAbAAZTdXBlcjMAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABQABlN1cGVyMwAABXZhbHVlAAAAAAAABRX31bAyqAAAAAAAIwAGU3VwZXIzAAAFdmFsdWUAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AHgAGU3VwZXIzAAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACEABlN1cGVyMwAABXZhbHVlAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAeAAZTdXBlcjMAAAV2YWx1ZQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AGAAGU3VwZXIzAAAFdmFsdWUAAAR0eXBlAAAABRX31bAyqAAAAA1jb21wYWN0X3ZhbHVlAB0ABlN1cGVyMwAABXZhbHVlAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAWAAZTdXBlcjQAAAdjb2x1bW4xAAAAAAAABRX31bAyqAAAAAAAJQAGU3VwZXI0AAAHY29sdW1uMQAAD2NvbXBvbmVudF9pbmRleAAAAAUV99WwMqgAAAAEAAAAAAAgAAZTdXBlcjQAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAjAAZTdXBlcjQAAAdjb2x1bW4xAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAgAAZTdXBlcjQAAAdjb2x1bW4xAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAaAAZTdXBlcjQAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99WwMqgAAAAOY2x1c3RlcmluZ19rZXkAHwAGU3VwZXI0AAAHY29sdW1uMQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFgAGU3VwZXI0AAAHY29sdW1uMgAAAAAAAAUV99WwMqgAAAAAACUABlN1cGVyNAAAB2NvbHVtbjIAAA9jb21wb25lbnRfaW5kZXgAAAAFFffVsDKoAAAABAAAAAEAIAAGU3VwZXI0AAAHY29sdW1uMgAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AIwAGU3VwZXI0AAAHY29sdW1uMgAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAIAAGU3VwZXI0AAAHY29sdW1uMgAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AGgAGU3VwZXI0AAAHY29sdW1uMgAABHR5cGUAAAAFFffVsDKoAAAADmNsdXN0ZXJpbmdfa2V5AB8ABlN1cGVyNAAAB2NvbHVtbjIAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVVRGOFR5cGUAEgAGU3VwZXI0AAADa2V5AAAAAAAABRX31bAyqAAAAAAAIQAGU3VwZXI0AAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuABwABlN1cGVyNAAAA2tleQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AHwAGU3VwZXI0AAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAcAAZTdXBlcjQAAANrZXkAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuABYABlN1cGVyNAAAA2tleQAABHR5cGUAAAAFFffVsDKoAAAADXBhcnRpdGlvbl9rZXkAGwAGU3VwZXI0AAADa2V5AAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAUAAZTdXBlcjQAAAV2YWx1ZQAAAAAAAAUV99WwMqgAAAAAACMABlN1cGVyNAAABXZhbHVlAAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuAB4ABlN1cGVyNAAABXZhbHVlAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAhAAZTdXBlcjQAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAHgAGU3VwZXI0AAAFdmFsdWUAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuABgABlN1cGVyNAAABXZhbHVlAAAEdHlwZQAAAAUV99WwMqgAAAANY29tcGFjdF92YWx1ZQAdAAZTdXBlcjQAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFgAGU3VwZXI1AAAHY29sdW1uMQAAAAAAAAUV99WwMqgAAAAAACUABlN1cGVyNQAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAAAFFffVsDKoAAAABAAAAAAAIAAGU3VwZXI1AAAHY29sdW1uMQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AIwAGU3VwZXI1AAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAIAAGU3VwZXI1AAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AGgAGU3VwZXI1AAAHY29sdW1uMQAABHR5cGUAAAAFFffVsDKoAAAADmNsdXN0ZXJpbmdfa2V5AB8ABlN1cGVyNQAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABYABlN1cGVyNQAAB2NvbHVtbjIAAAAAAAAFFffVsDKoAAAAAAAlAAZTdXBlcjUAAAdjb2x1bW4yAAAPY29tcG9uZW50X2luZGV4AAAABRX31bAyqAAAAAQAAAABACAABlN1cGVyNQAAB2NvbHVtbjIAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACMABlN1cGVyNQAAB2NvbHVtbjIAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACAABlN1cGVyNQAAB2NvbHVtbjIAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuABoABlN1cGVyNQAAB2NvbHVtbjIAAAR0eXBlAAAABRX31bAyqAAAAA5jbHVzdGVyaW5nX2tleQAfAAZTdXBlcjUAAAdjb2x1bW4yAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQASAAZTdXBlcjUAAANrZXkAAAAAAAAFFffVsDKoAAAAAAAhAAZTdXBlcjUAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AHAAGU3VwZXI1AAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAfAAZTdXBlcjUAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsABwABlN1cGVyNQAAA2tleQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AFgAGU3VwZXI1AAADa2V5AAAEdHlwZQAAAAUV99WwMqgAAAANcGFydGl0aW9uX2tleQAbAAZTdXBlcjUAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABQABlN1cGVyNQAABXZhbHVlAAAAAAAABRX31bAyqAAAAAAAIwAGU3VwZXI1AAAFdmFsdWUAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AHgAGU3VwZXI1AAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACEABlN1cGVyNQAABXZhbHVlAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAeAAZTdXBlcjUAAAV2YWx1ZQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AGAAGU3VwZXI1AAAFdmFsdWUAAAR0eXBlAAAABRX31bAyqAAAAA1jb21wYWN0X3ZhbHVlAB0ABlN1cGVyNQAABXZhbHVlAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAWAAZTdXBlcjYAAAdjb2x1bW4xAAAAAAAABRX31bAyqAAAAAAAJQAGU3VwZXI2AAAHY29sdW1uMQAAD2NvbXBvbmVudF9pbmRleAAAAAUV99WwMqgAAAAEAAAAAAAgAAZTdXBlcjYAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAjAAZTdXBlcjYAAAdjb2x1bW4xAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAgAAZTdXBlcjYAAAdjb2x1bW4xAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAaAAZTdXBlcjYAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99WwMqgAAAAOY2x1c3RlcmluZ19rZXkAHwAGU3VwZXI2AAAHY29sdW1uMQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAAvb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5MZXhpY2FsVVVJRFR5cGUAFgAGU3VwZXI2AAAHY29sdW1uMgAAAAAAAAUV99WwMqgAAAAAACUABlN1cGVyNgAAB2NvbHVtbjIAAA9jb21wb25lbnRfaW5kZXgAAAAFFffVsDKoAAAABAAAAAEAIAAGU3VwZXI2AAAHY29sdW1uMgAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AIwAGU3VwZXI2AAAHY29sdW1uMgAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAIAAGU3VwZXI2AAAHY29sdW1uMgAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AGgAGU3VwZXI2AAAHY29sdW1uMgAABHR5cGUAAAAFFffVsDKoAAAADmNsdXN0ZXJpbmdfa2V5AB8ABlN1cGVyNgAAB2NvbHVtbjIAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVVRGOFR5cGUAEgAGU3VwZXI2AAADa2V5AAAAAAAABRX31bAyqAAAAAAAIQAGU3VwZXI2AAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuABwABlN1cGVyNgAAA2tleQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AHwAGU3VwZXI2AAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAcAAZTdXBlcjYAAANrZXkAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuABYABlN1cGVyNgAAA2tleQAABHR5cGUAAAAFFffVsDKoAAAADXBhcnRpdGlvbl9rZXkAGwAGU3VwZXI2AAADa2V5AAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAUAAZTdXBlcjYAAAV2YWx1ZQAAAAAAAAUV99WwMqgAAAAAACMABlN1cGVyNgAABXZhbHVlAAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuAB4ABlN1cGVyNgAABXZhbHVlAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAhAAZTdXBlcjYAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAHgAGU3VwZXI2AAAFdmFsdWUAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuABgABlN1cGVyNgAABXZhbHVlAAAEdHlwZQAAAAUV99WwMqgAAAANY29tcGFjdF92YWx1ZQAdAAZTdXBlcjYAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHQANU3VwZXJDb3VudGVyMQAAB2NvbHVtbjEAAAAAAAAFFffVsDKoAAAAAAAsAA1TdXBlckNvdW50ZXIxAAAHY29sdW1uMQAAD2NvbXBvbmVudF9pbmRleAAAAAUV99WwMqgAAAAEAAAAAAAnAA1TdXBlckNvdW50ZXIxAAAHY29sdW1uMQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AKgANU3VwZXJDb3VudGVyMQAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACcADVN1cGVyQ291bnRlcjEAAAdjb2x1bW4xAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAhAA1TdXBlckNvdW50ZXIxAAAHY29sdW1uMQAABHR5cGUAAAAFFffVsDKoAAAADmNsdXN0ZXJpbmdfa2V5ACYADVN1cGVyQ291bnRlcjEAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAdAA1TdXBlckNvdW50ZXIxAAAHY29sdW1uMgAAAAAAAAUV99WwMqgAAAAAACwADVN1cGVyQ291bnRlcjEAAAdjb2x1bW4yAAAPY29tcG9uZW50X2luZGV4AAAABRX31bAyqAAAAAQAAAABACcADVN1cGVyQ291bnRlcjEAAAdjb2x1bW4yAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAqAA1TdXBlckNvdW50ZXIxAAAHY29sdW1uMgAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAJwANU3VwZXJDb3VudGVyMQAAB2NvbHVtbjIAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuACEADVN1cGVyQ291bnRlcjEAAAdjb2x1bW4yAAAEdHlwZQAAAAUV99WwMqgAAAAOY2x1c3RlcmluZ19rZXkAJgANU3VwZXJDb3VudGVyMQAAB2NvbHVtbjIAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABkADVN1cGVyQ291bnRlcjEAAANrZXkAAAAAAAAFFffVsDKoAAAAAAAoAA1TdXBlckNvdW50ZXIxAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACMADVN1cGVyQ291bnRlcjEAAANrZXkAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACYADVN1cGVyQ291bnRlcjEAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACMADVN1cGVyQ291bnRlcjEAAANrZXkAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuAB0ADVN1cGVyQ291bnRlcjEAAANrZXkAAAR0eXBlAAAABRX31bAyqAAAAA1wYXJ0aXRpb25fa2V5ACIADVN1cGVyQ291bnRlcjEAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABsADVN1cGVyQ291bnRlcjEAAAV2YWx1ZQAAAAAAAAUV99WwMqgAAAAAACoADVN1cGVyQ291bnRlcjEAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAlAA1TdXBlckNvdW50ZXIxAAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACgADVN1cGVyQ291bnRlcjEAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAJQANU3VwZXJDb3VudGVyMQAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAfAA1TdXBlckNvdW50ZXIxAAAFdmFsdWUAAAR0eXBlAAAABRX31bAyqAAAAA1jb21wYWN0X3ZhbHVlACQADVN1cGVyQ291bnRlcjEAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAAxb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Db3VudGVyQ29sdW1uVHlwZQAdAA1TdXBlckRpcmVjdEdDAAAHY29sdW1uMQAAAAAAAAUV99WwMqgAAAAAACwADVN1cGVyRGlyZWN0R0MAAAdjb2x1bW4xAAAPY29tcG9uZW50X2luZGV4AAAABRX31bAyqAAAAAQAAAAAACcADVN1cGVyRGlyZWN0R0MAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAqAA1TdXBlckRpcmVjdEdDAAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAJwANU3VwZXJEaXJlY3RHQwAAB2NvbHVtbjEAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuACEADVN1cGVyRGlyZWN0R0MAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99WwMqgAAAAOY2x1c3RlcmluZ19rZXkAJgANU3VwZXJEaXJlY3RHQwAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlAB0ADVN1cGVyRGlyZWN0R0MAAAdjb2x1bW4yAAAAAAAABRX31bAyqAAAAAAALAANU3VwZXJEaXJlY3RHQwAAB2NvbHVtbjIAAA9jb21wb25lbnRfaW5kZXgAAAAFFffVsDKoAAAABAAAAAEAJwANU3VwZXJEaXJlY3RHQwAAB2NvbHVtbjIAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACoADVN1cGVyRGlyZWN0R0MAAAdjb2x1bW4yAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAnAA1TdXBlckRpcmVjdEdDAAAHY29sdW1uMgAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AIQANU3VwZXJEaXJlY3RHQwAAB2NvbHVtbjIAAAR0eXBlAAAABRX31bAyqAAAAA5jbHVzdGVyaW5nX2tleQAmAA1TdXBlckRpcmVjdEdDAAAHY29sdW1uMgAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAGQANU3VwZXJEaXJlY3RHQwAAA2tleQAAAAAAAAUV99WwMqgAAAAAACgADVN1cGVyRGlyZWN0R0MAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AIwANU3VwZXJEaXJlY3RHQwAAA2tleQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AJgANU3VwZXJEaXJlY3RHQwAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAIwANU3VwZXJEaXJlY3RHQwAAA2tleQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AHQANU3VwZXJEaXJlY3RHQwAAA2tleQAABHR5cGUAAAAFFffVsDKoAAAADXBhcnRpdGlvbl9rZXkAIgANU3VwZXJEaXJlY3RHQwAAA2tleQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAGwANU3VwZXJEaXJlY3RHQwAABXZhbHVlAAAAAAAABRX31bAyqAAAAAAAKgANU3VwZXJEaXJlY3RHQwAABXZhbHVlAAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACUADVN1cGVyRGlyZWN0R0MAAAV2YWx1ZQAACmluZGV4X25hbWUAAQAFFffVsDKoAAAABFVTZm4AKAANU3VwZXJEaXJlY3RHQwAABXZhbHVlAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAlAA1TdXBlckRpcmVjdEdDAAAFdmFsdWUAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuAB8ADVN1cGVyRGlyZWN0R0MAAAV2YWx1ZQAABHR5cGUAAAAFFffVsDKoAAAADWNvbXBhY3RfdmFsdWUAJAANU3VwZXJEaXJlY3RHQwAABXZhbHVlAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAYAAhVVUlES2V5cwAAB2NvbHVtbjEAAAAAAAAFFffVsDKoAAAAAAAnAAhVVUlES2V5cwAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVsDKoAAAABFVTZm4AIgAIVVVJREtleXMAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAlAAhVVUlES2V5cwAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACIACFVVSURLZXlzAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffVsDKoAAAABFVTZm4AHAAIVVVJREtleXMAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99WwMqgAAAAOY2x1c3RlcmluZ19rZXkAIQAIVVVJREtleXMAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAUAAhVVUlES2V5cwAAA2tleQAAAAAAAAUV99WwMqgAAAAAACMACFVVSURLZXlzAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuAB4ACFVVSURLZXlzAAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAhAAhVVUlES2V5cwAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAHgAIVVVJREtleXMAAANrZXkAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuABgACFVVSURLZXlzAAADa2V5AAAEdHlwZQAAAAUV99WwMqgAAAANcGFydGl0aW9uX2tleQAdAAhVVUlES2V5cwAAA2tleQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAAob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5VVUlEVHlwZQAWAAhVVUlES2V5cwAABXZhbHVlAAAAAAAABRX31bAyqAAAAAAAJQAIVVVJREtleXMAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAgAAhVVUlES2V5cwAABXZhbHVlAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAjAAhVVUlES2V5cwAABXZhbHVlAAANaW5kZXhfb3B0aW9ucwAAAAUV99WwMqgAAAAEbnVsbAAgAAhVVUlES2V5cwAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAaAAhVVUlES2V5cwAABXZhbHVlAAAEdHlwZQAAAAUV99WwMqgAAAANY29tcGFjdF92YWx1ZQAfAAhVVUlES2V5cwAABXZhbHVlAAAJdmFsaWRhdG9yAAAABRX31bAyqAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAgABBWYWx1ZXNXaXRoUXVvdGVzAAAHY29sdW1uMQAAAAAAAAUV99WwMqgAAAAAAC8AEFZhbHVlc1dpdGhRdW90ZXMAAAdjb2x1bW4xAAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACoAEFZhbHVlc1dpdGhRdW90ZXMAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAtABBWYWx1ZXNXaXRoUXVvdGVzAAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAKgAQVmFsdWVzV2l0aFF1b3RlcwAAB2NvbHVtbjEAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuACQAEFZhbHVlc1dpdGhRdW90ZXMAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99WwMqgAAAAOY2x1c3RlcmluZ19rZXkAKQAQVmFsdWVzV2l0aFF1b3RlcwAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABwAEFZhbHVlc1dpdGhRdW90ZXMAAANrZXkAAAAAAAAFFffVsDKoAAAAAAArABBWYWx1ZXNXaXRoUXVvdGVzAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACYAEFZhbHVlc1dpdGhRdW90ZXMAAANrZXkAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACkAEFZhbHVlc1dpdGhRdW90ZXMAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACYAEFZhbHVlc1dpdGhRdW90ZXMAAANrZXkAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuACAAEFZhbHVlc1dpdGhRdW90ZXMAAANrZXkAAAR0eXBlAAAABRX31bAyqAAAAA1wYXJ0aXRpb25fa2V5ACUAEFZhbHVlc1dpdGhRdW90ZXMAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlAB4AEFZhbHVlc1dpdGhRdW90ZXMAAAV2YWx1ZQAAAAAAAAUV99WwMqgAAAAAAC0AEFZhbHVlc1dpdGhRdW90ZXMAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAoABBWYWx1ZXNXaXRoUXVvdGVzAAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACsAEFZhbHVlc1dpdGhRdW90ZXMAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAKAAQVmFsdWVzV2l0aFF1b3RlcwAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAiABBWYWx1ZXNXaXRoUXVvdGVzAAAFdmFsdWUAAAR0eXBlAAAABRX31bAyqAAAAA1jb21wYWN0X3ZhbHVlACcAEFZhbHVlc1dpdGhRdW90ZXMAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAAob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5VVEY4VHlwZQAdAA1sZWdhY3lsZXZlbGVkAAAHY29sdW1uMQAAAAAAAAUV99WwMqgAAAAAACwADWxlZ2FjeWxldmVsZWQAAAdjb2x1bW4xAAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACcADWxlZ2FjeWxldmVsZWQAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99WwMqgAAAAEVVNmbgAqAA1sZWdhY3lsZXZlbGVkAAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAJwANbGVnYWN5bGV2ZWxlZAAAB2NvbHVtbjEAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuACEADWxlZ2FjeWxldmVsZWQAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99WwMqgAAAAOY2x1c3RlcmluZ19rZXkAJgANbGVnYWN5bGV2ZWxlZAAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABkADWxlZ2FjeWxldmVsZWQAAANrZXkAAAAAAAAFFffVsDKoAAAAAAAoAA1sZWdhY3lsZXZlbGVkAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31bAyqAAAAARVU2ZuACMADWxlZ2FjeWxldmVsZWQAAANrZXkAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACYADWxlZ2FjeWxldmVsZWQAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31bAyqAAAAARudWxsACMADWxlZ2FjeWxldmVsZWQAAANrZXkAAAppbmRleF90eXBlAAEABRX31bAyqAAAAARVU2ZuAB0ADWxlZ2FjeWxldmVsZWQAAANrZXkAAAR0eXBlAAAABRX31bAyqAAAAA1wYXJ0aXRpb25fa2V5ACIADWxlZ2FjeWxldmVsZWQAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVsDKoAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABsADWxlZ2FjeWxldmVsZWQAAAV2YWx1ZQAAAAAAAAUV99WwMqgAAAAAACoADWxlZ2FjeWxldmVsZWQAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99WwMqgAAAAEVVNmbgAlAA1sZWdhY3lsZXZlbGVkAAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31bAyqAAAAARVU2ZuACgADWxlZ2FjeWxldmVsZWQAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffVsDKoAAAABG51bGwAJQANbGVnYWN5bGV2ZWxlZAAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99WwMqgAAAAEVVNmbgAfAA1sZWdhY3lsZXZlbGVkAAAFdmFsdWUAAAR0eXBlAAAABRX31bAyqAAAAA1jb21wYWN0X3ZhbHVlACQADWxlZ2FjeWxldmVsZWQAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99WwMqgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGV9Zyq7AAG+BIwON84AAABerZej7wAJS2V5c3BhY2UxAAAAAQGfXGN01IUyKZoKUJSvmtHjf////4AAAAAAAAAAAAAAAAAAAAEAG0luZGV4ZWQxLjYyNjk3Mjc0Njg2NDYxNzQ2NQAABRX31chxsAAAAAC/4xfaAAG+ir5PUnwAAAByn0/PDAAFbG9jYWwAAAABAXrVQ5K83TWmhBdOBHhgs3d/////gAAAAAAAAAAAAAAAAAAAAgADAAAAAAAFFffVyzDQAAAAAAARAA5zY2hlbWFfdmVyc2lvbgAAAAUV99XLMNAAAAAQVV35e59IPsqf66a15gcheimDY6MAAgz8tE/8WwAATl7DbcFkAAlLZXlzcGFjZTIAAAADAbDyI1dEWDzbljHEPlnONnZ/////gAAAAAAAAAAAAAAAAAAAAwAOZHVyYWJsZV93cml0ZXMAAAUV99XLQHAAAAABAQAOc3RyYXRlZ3lfY2xhc3MAAAUV99XLQHAAAAArb3JnLmFwYWNoZS5jYXNzYW5kcmEubG9jYXRvci5TaW1wbGVTdHJhdGVneQAQc3RyYXRlZ3lfb3B0aW9ucwAABRX31ctAcAAAABp7InJlcGxpY2F0aW9uX2ZhY3RvciI6IjEifQFF9bNgJLw/g6NjEDTqT6aXf////4AAAAAAAAAAAAAAAAAAAL8ADgAISW5kZXhlZDEAAAAAAAAFFffVy0BwAAAAAAAkAAhJbmRleGVkMQAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffVy0BwAAAABFVTZm8AFQAISW5kZXhlZDEAAAdjYWNoaW5nAAAABRX31ctAcAAAACt7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9ABMACEluZGV4ZWQxAAAFY2ZfaWQAAAAFFffVy0BwAAAAEGxid1P5gBHkuKDn1EjV4m0AHAAISW5kZXhlZDEAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99XLQHAAAAACW10AFQAISW5kZXhlZDEAAAdjb21tZW50AAAABRX31ctAcAAAAAAAJwAISW5kZXhlZDEAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31ctAcAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAKQAISW5kZXhlZDEAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffVy0BwAAAAAnt9ABgACEluZGV4ZWQxAAAKY29tcGFyYXRvcgAAAAUV99XLQHAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJAAISW5kZXhlZDEAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31ctAcAAAAAJ7fQAiAAhJbmRleGVkMQAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31ctAcAAAAAQAAAAAAB8ACEluZGV4ZWQxAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffVy0BwAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlAB4ACEluZGV4ZWQxAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99XLQHAAAAAEAA0vAAAcAAhJbmRleGVkMQAADmluZGV4X2ludGVydmFsAAEABRX31ctAcAAAAARVU2ZvABYACEluZGV4ZWQxAAAIaXNfZGVuc2UAAAAFFffVy0BwAAAAAQAAGQAISW5kZXhlZDEAAAtrZXlfYWxpYXNlcwAAAAUV99XLQHAAAAAHWyJrZXkiXQAbAAhJbmRleGVkMQAADWtleV92YWxpZGF0b3IAAAAFFffVy0BwAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQXNjaWlUeXBlACYACEluZGV4ZWQxAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31ctAcAAAAAg/uZmZmZmZmgAmAAhJbmRleGVkMQAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XLQHAAAAAEAAAAIAAgAAhJbmRleGVkMQAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99XLQHAAAAAEAAAIAAApAAhJbmRleGVkMQAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99XLQHAAAAAEAAAAAAAmAAhJbmRleGVkMQAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XLQHAAAAAEAAAABAAgAAhJbmRleGVkMQAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99XLQHAAAAAEAAAAgAAgAAhJbmRleGVkMQAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99XLQHAAAAAIAAAAAAAAAAAAHwAISW5kZXhlZDEAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99XLQHAAAAAOOTkuMFBFUkNFTlRJTEUAEgAISW5kZXhlZDEAAAR0eXBlAAAABRX31ctAcAAAAAhTdGFuZGFyZAAZAAhJbmRleGVkMQAAC3ZhbHVlX2FsaWFzAAEABRX31ctAcAAAAARVU2ZvAA4ACEluZGV4ZWQyAAAAAAAABRX31ctAcAAAAAAAJAAISW5kZXhlZDIAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31ctAcAAAAARVU2ZvABUACEluZGV4ZWQyAAAHY2FjaGluZwAAAAUV99XLQHAAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQATAAhJbmRleGVkMgAABWNmX2lkAAAABRX31ctAcAAAABBsYndU+YAR5Lig59RI1eJtABwACEluZGV4ZWQyAAAOY29sdW1uX2FsaWFzZXMAAAAFFffVy0BwAAAAC1siY29sdW1uMSJdABUACEluZGV4ZWQyAAAHY29tbWVudAAAAAUV99XLQHAAAAAAACcACEluZGV4ZWQyAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99XLQHAAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5ACkACEluZGV4ZWQyAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31ctAcAAAAAJ7fQAYAAhJbmRleGVkMgAACmNvbXBhcmF0b3IAAAAFFffVy0BwAAAAgG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQ29tcG9zaXRlVHlwZShvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlVURjhUeXBlLG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVVRGOFR5cGUpACQACEluZGV4ZWQyAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99XLQHAAAAACe30AIgAISW5kZXhlZDIAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99XLQHAAAAAEAAAAAAAfAAhJbmRleGVkMgAAEWRlZmF1bHRfdmFsaWRhdG9yAAAABRX31ctAcAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAeAAhJbmRleGVkMgAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffVy0BwAAAABAANLwAAHAAISW5kZXhlZDIAAA5pbmRleF9pbnRlcnZhbAABAAUV99XLQHAAAAAEVVNmbwAWAAhJbmRleGVkMgAACGlzX2RlbnNlAAAABRX31ctAcAAAAAEAABkACEluZGV4ZWQyAAALa2V5X2FsaWFzZXMAAAAFFffVy0BwAAAAB1sia2V5Il0AGwAISW5kZXhlZDIAAA1rZXlfdmFsaWRhdG9yAAAABRX31ctAcAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAmAAhJbmRleGVkMgAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99XLQHAAAAAIP7mZmZmZmZoAJgAISW5kZXhlZDIAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVy0BwAAAABAAAACAAIAAISW5kZXhlZDIAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffVy0BwAAAABAAACAAAKQAISW5kZXhlZDIAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffVy0BwAAAABAAAAAAAJgAISW5kZXhlZDIAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVy0BwAAAABAAAAAQAIAAISW5kZXhlZDIAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffVy0BwAAAABAAAAIAAIAAISW5kZXhlZDIAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVy0BwAAAACAAAAAAAAAAAAB8ACEluZGV4ZWQyAAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffVy0BwAAAADjk5LjBQRVJDRU5USUxFABIACEluZGV4ZWQyAAAEdHlwZQAAAAUV99XLQHAAAAAIU3RhbmRhcmQAGQAISW5kZXhlZDIAAAt2YWx1ZV9hbGlhcwABAAUV99XLQHAAAAAEVVNmbwAOAAhJbmRleGVkMwAAAAAAAAUV99XLQHAAAAAAACQACEluZGV4ZWQzAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99XLQHAAAAAEVVNmbwAVAAhJbmRleGVkMwAAB2NhY2hpbmcAAAAFFffVy0BwAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AEwAISW5kZXhlZDMAAAVjZl9pZAAAAAUV99XLQHAAAAAQbGKeUPmAEeS4oOfUSNXibQAcAAhJbmRleGVkMwAADmNvbHVtbl9hbGlhc2VzAAAABRX31ctAcAAAAAtbImNvbHVtbjEiXQAVAAhJbmRleGVkMwAAB2NvbW1lbnQAAAAFFffVy0BwAAAAAAAnAAhJbmRleGVkMwAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffVy0BwAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQApAAhJbmRleGVkMwAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99XLQHAAAAACe30AGAAISW5kZXhlZDMAAApjb21wYXJhdG9yAAAABRX31ctAcAAAAIBvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkNvbXBvc2l0ZVR5cGUob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5VVEY4VHlwZSxvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlVURjhUeXBlKQAkAAhJbmRleGVkMwAAFmNvbXByZXNzaW9uX3BhcmFtZXRlcnMAAAAFFffVy0BwAAAAAnt9ACIACEluZGV4ZWQzAAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffVy0BwAAAABAAAAAAAHwAISW5kZXhlZDMAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99XLQHAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHgAISW5kZXhlZDMAABBnY19ncmFjZV9zZWNvbmRzAAAABRX31ctAcAAAAAQAAAAAABwACEluZGV4ZWQzAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffVy0BwAAAABFVTZm8AFgAISW5kZXhlZDMAAAhpc19kZW5zZQAAAAUV99XLQHAAAAABAAAZAAhJbmRleGVkMwAAC2tleV9hbGlhc2VzAAAABRX31ctAcAAAAAdbImtleSJdABsACEluZGV4ZWQzAAANa2V5X3ZhbGlkYXRvcgAAAAUV99XLQHAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJgAISW5kZXhlZDMAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVy0BwAAAACD+5mZmZmZmaACYACEluZGV4ZWQzAAAYbWF4X2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31ctAcAAAAAQAAAAgACAACEluZGV4ZWQzAAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31ctAcAAAAAQAAAgAACkACEluZGV4ZWQzAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31ctAcAAAAAQAAAAAACYACEluZGV4ZWQzAAAYbWluX2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31ctAcAAAAAQAAAAEACAACEluZGV4ZWQzAAASbWluX2luZGV4X2ludGVydmFsAAAABRX31ctAcAAAAAQAAACAACAACEluZGV4ZWQzAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31ctAcAAAAAgAAAAAAAAAAAAfAAhJbmRleGVkMwAAEXNwZWN1bGF0aXZlX3JldHJ5AAAABRX31ctAcAAAAA45OS4wUEVSQ0VOVElMRQASAAhJbmRleGVkMwAABHR5cGUAAAAFFffVy0BwAAAACFN0YW5kYXJkABkACEluZGV4ZWQzAAALdmFsdWVfYWxpYXMAAQAFFffVy0BwAAAABFVTZm8ADwAJU3RhbmRhcmQxAAAAAAAABRX31ctAcAAAAAAAJQAJU3RhbmRhcmQxAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99XLQHAAAAAEVVNmbwAWAAlTdGFuZGFyZDEAAAdjYWNoaW5nAAAABRX31ctAcAAAACt7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9ABQACVN0YW5kYXJkMQAABWNmX2lkAAAABRX31ctAcAAAABBsYndP+YAR5Lig59RI1eJtAB0ACVN0YW5kYXJkMQAADmNvbHVtbl9hbGlhc2VzAAAABRX31ctAcAAAAAtbImNvbHVtbjEiXQAWAAlTdGFuZGFyZDEAAAdjb21tZW50AAAABRX31ctAcAAAAAAAKAAJU3RhbmRhcmQxAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99XLQHAAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5ACoACVN0YW5kYXJkMQAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99XLQHAAAAACe30AGQAJU3RhbmRhcmQxAAAKY29tcGFyYXRvcgAAAAUV99XLQHAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJQAJU3RhbmRhcmQxAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99XLQHAAAAACe30AIwAJU3RhbmRhcmQxAAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffVy0BwAAAABAAAAAAAIAAJU3RhbmRhcmQxAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffVy0BwAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlAB8ACVN0YW5kYXJkMQAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffVy0BwAAAABAANLwAAHQAJU3RhbmRhcmQxAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffVy0BwAAAABFVTZm8AFwAJU3RhbmRhcmQxAAAIaXNfZGVuc2UAAAAFFffVy0BwAAAAAQEAGgAJU3RhbmRhcmQxAAALa2V5X2FsaWFzZXMAAAAFFffVy0BwAAAAB1sia2V5Il0AHAAJU3RhbmRhcmQxAAANa2V5X3ZhbGlkYXRvcgAAAAUV99XLQHAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJwAJU3RhbmRhcmQxAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31ctAcAAAAAg/uZmZmZmZmgAnAAlTdGFuZGFyZDEAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVy0BwAAAABAAAACAAIQAJU3RhbmRhcmQxAAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31ctAcAAAAAQAAAgAACoACVN0YW5kYXJkMQAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99XLQHAAAAAEAAAAAAAnAAlTdGFuZGFyZDEAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVy0BwAAAABAAAAAQAIQAJU3RhbmRhcmQxAAASbWluX2luZGV4X2ludGVydmFsAAAABRX31ctAcAAAAAQAAACAACEACVN0YW5kYXJkMQAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99XLQHAAAAAIAAAAAAAAAAAAIAAJU3RhbmRhcmQxAAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffVy0BwAAAADjk5LjBQRVJDRU5USUxFABMACVN0YW5kYXJkMQAABHR5cGUAAAAFFffVy0BwAAAACFN0YW5kYXJkABoACVN0YW5kYXJkMQAAC3ZhbHVlX2FsaWFzAAAABRX31ctAcAAAAAV2YWx1ZQAPAAlTdGFuZGFyZDMAAAAAAAAFFffVy0BwAAAAAAAlAAlTdGFuZGFyZDMAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31ctAcAAAAARVU2ZvABYACVN0YW5kYXJkMwAAB2NhY2hpbmcAAAAFFffVy0BwAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AFAAJU3RhbmRhcmQzAAAFY2ZfaWQAAAAFFffVy0BwAAAAEGxid1D5gBHkuKDn1EjV4m0AHQAJU3RhbmRhcmQzAAAOY29sdW1uX2FsaWFzZXMAAAAFFffVy0BwAAAAC1siY29sdW1uMSJdABYACVN0YW5kYXJkMwAAB2NvbW1lbnQAAAAFFffVy0BwAAAAAAAoAAlTdGFuZGFyZDMAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31ctAcAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAKgAJU3RhbmRhcmQzAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31ctAcAAAAAJ7fQAZAAlTdGFuZGFyZDMAAApjb21wYXJhdG9yAAAABRX31ctAcAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAlAAlTdGFuZGFyZDMAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31ctAcAAAAAJ7fQAjAAlTdGFuZGFyZDMAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99XLQHAAAAAEAAAAAAAgAAlTdGFuZGFyZDMAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99XLQHAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHwAJU3RhbmRhcmQzAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99XLQHAAAAAEAA0vAAAdAAlTdGFuZGFyZDMAAA5pbmRleF9pbnRlcnZhbAABAAUV99XLQHAAAAAEVVNmbwAXAAlTdGFuZGFyZDMAAAhpc19kZW5zZQAAAAUV99XLQHAAAAABAQAaAAlTdGFuZGFyZDMAAAtrZXlfYWxpYXNlcwAAAAUV99XLQHAAAAAHWyJrZXkiXQAcAAlTdGFuZGFyZDMAAA1rZXlfdmFsaWRhdG9yAAAABRX31ctAcAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAnAAlTdGFuZGFyZDMAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVy0BwAAAACD+5mZmZmZmaACcACVN0YW5kYXJkMwAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XLQHAAAAAEAAAAIAAhAAlTdGFuZGFyZDMAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffVy0BwAAAABAAACAAAKgAJU3RhbmRhcmQzAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31ctAcAAAAAQAAAAAACcACVN0YW5kYXJkMwAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XLQHAAAAAEAAAABAAhAAlTdGFuZGFyZDMAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffVy0BwAAAABAAAAIAAIQAJU3RhbmRhcmQzAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31ctAcAAAAAgAAAAAAAAAAAAgAAlTdGFuZGFyZDMAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99XLQHAAAAAOOTkuMFBFUkNFTlRJTEUAEwAJU3RhbmRhcmQzAAAEdHlwZQAAAAUV99XLQHAAAAAIU3RhbmRhcmQAGgAJU3RhbmRhcmQzAAALdmFsdWVfYWxpYXMAAAAFFffVy0BwAAAABXZhbHVlAAwABlN1cGVyMwAAAAAAAAUV99XLQHAAAAAAACIABlN1cGVyMwAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffVy0BwAAAABFVTZm8AEwAGU3VwZXIzAAAHY2FjaGluZwAAAAUV99XLQHAAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQARAAZTdXBlcjMAAAVjZl9pZAAAAAUV99XLQHAAAAAQbGJ3UfmAEeS4oOfUSNXibQAaAAZTdXBlcjMAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99XLQHAAAAAVWyJjb2x1bW4xIiwiY29sdW1uMiJdABMABlN1cGVyMwAAB2NvbW1lbnQAAAAFFffVy0BwAAAAAAAlAAZTdXBlcjMAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31ctAcAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAJwAGU3VwZXIzAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31ctAcAAAAAJ7fQAWAAZTdXBlcjMAAApjb21wYXJhdG9yAAAABRX31ctAcAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAiAAZTdXBlcjMAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31ctAcAAAAAJ7fQAgAAZTdXBlcjMAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99XLQHAAAAAEAAAAAAAdAAZTdXBlcjMAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99XLQHAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHAAGU3VwZXIzAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99XLQHAAAAAEAA0vAAAaAAZTdXBlcjMAAA5pbmRleF9pbnRlcnZhbAABAAUV99XLQHAAAAAEVVNmbwAUAAZTdXBlcjMAAAhpc19kZW5zZQAAAAUV99XLQHAAAAABAQAXAAZTdXBlcjMAAAtrZXlfYWxpYXNlcwAAAAUV99XLQHAAAAAHWyJrZXkiXQAZAAZTdXBlcjMAAA1rZXlfdmFsaWRhdG9yAAAABRX31ctAcAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAkAAZTdXBlcjMAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVy0BwAAAACD+5mZmZmZmaACQABlN1cGVyMwAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XLQHAAAAAEAAAAIAAeAAZTdXBlcjMAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffVy0BwAAAABAAACAAAJwAGU3VwZXIzAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31ctAcAAAAAQAAAAAACQABlN1cGVyMwAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XLQHAAAAAEAAAABAAeAAZTdXBlcjMAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffVy0BwAAAABAAAAIAAHgAGU3VwZXIzAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31ctAcAAAAAgAAAAAAAAAAAAdAAZTdXBlcjMAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99XLQHAAAAAOOTkuMFBFUkNFTlRJTEUAGQAGU3VwZXIzAAANc3ViY29tcGFyYXRvcgAAAAUV99XLQHAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAEAAGU3VwZXIzAAAEdHlwZQAAAAUV99XLQHAAAAAFU3VwZXIAFwAGU3VwZXIzAAALdmFsdWVfYWxpYXMAAAAFFffVy0BwAAAABXZhbHVlAAwABlN1cGVyNAAAAAAAAAUV99XLQHAAAAAAACIABlN1cGVyNAAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffVy0BwAAAABFVTZm8AEwAGU3VwZXI0AAAHY2FjaGluZwAAAAUV99XLQHAAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQARAAZTdXBlcjQAAAVjZl9pZAAAAAUV99XLQHAAAAAQbGJ3UvmAEeS4oOfUSNXibQAaAAZTdXBlcjQAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99XLQHAAAAAVWyJjb2x1bW4xIiwiY29sdW1uMiJdABMABlN1cGVyNAAAB2NvbW1lbnQAAAAFFffVy0BwAAAAAAAlAAZTdXBlcjQAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31ctAcAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAJwAGU3VwZXI0AAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31ctAcAAAAAJ7fQAWAAZTdXBlcjQAAApjb21wYXJhdG9yAAAABRX31ctAcAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAiAAZTdXBlcjQAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31ctAcAAAAAJ7fQAgAAZTdXBlcjQAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99XLQHAAAAAEAAAAAAAdAAZTdXBlcjQAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99XLQHAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHAAGU3VwZXI0AAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99XLQHAAAAAEAA0vAAAaAAZTdXBlcjQAAA5pbmRleF9pbnRlcnZhbAABAAUV99XLQHAAAAAEVVNmbwAUAAZTdXBlcjQAAAhpc19kZW5zZQAAAAUV99XLQHAAAAABAQAXAAZTdXBlcjQAAAtrZXlfYWxpYXNlcwAAAAUV99XLQHAAAAAHWyJrZXkiXQAZAAZTdXBlcjQAAA1rZXlfdmFsaWRhdG9yAAAABRX31ctAcAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAkAAZTdXBlcjQAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVy0BwAAAACD+5mZmZmZmaACQABlN1cGVyNAAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XLQHAAAAAEAAAAIAAeAAZTdXBlcjQAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffVy0BwAAAABAAACAAAJwAGU3VwZXI0AAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31ctAcAAAAAQAAAAAACQABlN1cGVyNAAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XLQHAAAAAEAAAABAAeAAZTdXBlcjQAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffVy0BwAAAABAAAAIAAHgAGU3VwZXI0AAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31ctAcAAAAAgAAAAAAAAAAAAdAAZTdXBlcjQAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99XLQHAAAAAOOTkuMFBFUkNFTlRJTEUAGQAGU3VwZXI0AAANc3ViY29tcGFyYXRvcgAAAAUV99XLQHAAAAAsb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5UaW1lVVVJRFR5cGUAEAAGU3VwZXI0AAAEdHlwZQAAAAUV99XLQHAAAAAFU3VwZXIAFwAGU3VwZXI0AAALdmFsdWVfYWxpYXMAAAAFFffVy0BwAAAABXZhbHVlASlunASb7DCFgn3BfT3yEip/////gAAAAAAAAAAAAAAAAAAAmgAjAAhJbmRleGVkMQAAEjYyNjk3Mjc0Njg2NDYxNzQ2NQAAAAAAAAUV99XLQHAAAAAAADIACEluZGV4ZWQxAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAAPY29tcG9uZW50X2luZGV4AAEABRX31ctAcAAAAARVU2ZvAC0ACEluZGV4ZWQxAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAAKaW5kZXhfbmFtZQAAAAUV99XLQHAAAAASNjI2OTcyNzQ2ODY0NjE3NDY1ADAACEluZGV4ZWQxAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAANaW5kZXhfb3B0aW9ucwAAAAUV99XLQHAAAAAEbnVsbAAtAAhJbmRleGVkMQAAEjYyNjk3Mjc0Njg2NDYxNzQ2NQAACmluZGV4X3R5cGUAAAAFFffVy0BwAAAABEtFWVMAJwAISW5kZXhlZDEAABI2MjY5NzI3NDY4NjQ2MTc0NjUAAAR0eXBlAAAABRX31ctAcAAAAAdyZWd1bGFyACwACEluZGV4ZWQxAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAAJdmFsaWRhdG9yAAAABRX31ctAcAAAAChvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkxvbmdUeXBlABQACEluZGV4ZWQxAAADa2V5AAAAAAAABRX31ctAcAAAAAAAIwAISW5kZXhlZDEAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVy0BwAAAABFVTZm8AHgAISW5kZXhlZDEAAANrZXkAAAppbmRleF9uYW1lAAEABRX31ctAcAAAAARVU2ZvACEACEluZGV4ZWQxAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99XLQHAAAAAEbnVsbAAeAAhJbmRleGVkMQAAA2tleQAACmluZGV4X3R5cGUAAQAFFffVy0BwAAAABFVTZm8AGAAISW5kZXhlZDEAAANrZXkAAAR0eXBlAAAABRX31ctAcAAAAA1wYXJ0aXRpb25fa2V5AB0ACEluZGV4ZWQxAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31ctAcAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkFzY2lpVHlwZQAVAAhJbmRleGVkMgAABGNvbDEAAAAAAAAFFffVy0BwAAAAAAAkAAhJbmRleGVkMgAABGNvbDEAAA9jb21wb25lbnRfaW5kZXgAAAAFFffVy0BwAAAABAAAAAEAHwAISW5kZXhlZDIAAARjb2wxAAAKaW5kZXhfbmFtZQAAAAUV99XLQHAAAAAIY29sMV9pZHgAIgAISW5kZXhlZDIAAARjb2wxAAANaW5kZXhfb3B0aW9ucwAAAAUV99XLQHAAAAACe30AHwAISW5kZXhlZDIAAARjb2wxAAAKaW5kZXhfdHlwZQAAAAUV99XLQHAAAAAKQ09NUE9TSVRFUwAZAAhJbmRleGVkMgAABGNvbDEAAAR0eXBlAAAABRX31ctAcAAAAAdyZWd1bGFyAB4ACEluZGV4ZWQyAAAEY29sMQAACXZhbGlkYXRvcgAAAAUV99XLQHAAAAAob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5VVEY4VHlwZQAYAAhJbmRleGVkMgAAB2NvbHVtbjEAAAAAAAAFFffVy0BwAAAAAAAnAAhJbmRleGVkMgAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAAAFFffVy0BwAAAABAAAAAAAIgAISW5kZXhlZDIAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99XLQHAAAAAEVVNmbwAlAAhJbmRleGVkMgAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31ctAcAAAAARudWxsACIACEluZGV4ZWQyAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffVy0BwAAAABFVTZm8AHAAISW5kZXhlZDIAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99XLQHAAAAAOY2x1c3RlcmluZ19rZXkAIQAISW5kZXhlZDIAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31ctAcAAAAChvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlVURjhUeXBlABQACEluZGV4ZWQyAAADa2V5AAAAAAAABRX31ctAcAAAAAAAIwAISW5kZXhlZDIAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVy0BwAAAABFVTZm8AHgAISW5kZXhlZDIAAANrZXkAAAppbmRleF9uYW1lAAEABRX31ctAcAAAAARVU2ZvACEACEluZGV4ZWQyAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99XLQHAAAAAEbnVsbAAeAAhJbmRleGVkMgAAA2tleQAACmluZGV4X3R5cGUAAQAFFffVy0BwAAAABFVTZm8AGAAISW5kZXhlZDIAAANrZXkAAAR0eXBlAAAABRX31ctAcAAAAA1wYXJ0aXRpb25fa2V5AB0ACEluZGV4ZWQyAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31ctAcAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAVAAhJbmRleGVkMwAABGNvbDEAAAAAAAAFFffVy0BwAAAAAAAkAAhJbmRleGVkMwAABGNvbDEAAA9jb21wb25lbnRfaW5kZXgAAAAFFffVy0BwAAAABAAAAAEAHwAISW5kZXhlZDMAAARjb2wxAAAKaW5kZXhfbmFtZQAAAAUV99XLQHAAAAAIY29sMV9pZHgAIgAISW5kZXhlZDMAAARjb2wxAAANaW5kZXhfb3B0aW9ucwAAAAUV99XLQHAAAAACe30AHwAISW5kZXhlZDMAAARjb2wxAAAKaW5kZXhfdHlwZQAAAAUV99XLQHAAAAAKQ09NUE9TSVRFUwAZAAhJbmRleGVkMwAABGNvbDEAAAR0eXBlAAAABRX31ctAcAAAAAdyZWd1bGFyAB4ACEluZGV4ZWQzAAAEY29sMQAACXZhbGlkYXRvcgAAAAUV99XLQHAAAAAob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5VVEY4VHlwZQAYAAhJbmRleGVkMwAAB2NvbHVtbjEAAAAAAAAFFffVy0BwAAAAAAAnAAhJbmRleGVkMwAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAAAFFffVy0BwAAAABAAAAAAAIgAISW5kZXhlZDMAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99XLQHAAAAAEVVNmbwAlAAhJbmRleGVkMwAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31ctAcAAAAARudWxsACIACEluZGV4ZWQzAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffVy0BwAAAABFVTZm8AHAAISW5kZXhlZDMAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99XLQHAAAAAOY2x1c3RlcmluZ19rZXkAIQAISW5kZXhlZDMAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31ctAcAAAAChvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlVURjhUeXBlABQACEluZGV4ZWQzAAADa2V5AAAAAAAABRX31ctAcAAAAAAAIwAISW5kZXhlZDMAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVy0BwAAAABFVTZm8AHgAISW5kZXhlZDMAAANrZXkAAAppbmRleF9uYW1lAAEABRX31ctAcAAAAARVU2ZvACEACEluZGV4ZWQzAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99XLQHAAAAAEbnVsbAAeAAhJbmRleGVkMwAAA2tleQAACmluZGV4X3R5cGUAAQAFFffVy0BwAAAABFVTZm8AGAAISW5kZXhlZDMAAANrZXkAAAR0eXBlAAAABRX31ctAcAAAAA1wYXJ0aXRpb25fa2V5AB0ACEluZGV4ZWQzAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31ctAcAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAZAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAAAAAAABRX31ctAcAAAAAAAKAAJU3RhbmRhcmQxAAAHY29sdW1uMQAAD2NvbXBvbmVudF9pbmRleAABAAUV99XLQHAAAAAEVVNmbwAjAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99XLQHAAAAAEVVNmbwAmAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAANaW5kZXhfb3B0aW9ucwAAAAUV99XLQHAAAAAEbnVsbAAjAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAAKaW5kZXhfdHlwZQABAAUV99XLQHAAAAAEVVNmbwAdAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99XLQHAAAAAOY2x1c3RlcmluZ19rZXkAIgAJU3RhbmRhcmQxAAAHY29sdW1uMQAACXZhbGlkYXRvcgAAAAUV99XLQHAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFQAJU3RhbmRhcmQxAAADa2V5AAAAAAAABRX31ctAcAAAAAAAJAAJU3RhbmRhcmQxAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31ctAcAAAAARVU2ZvAB8ACVN0YW5kYXJkMQAAA2tleQAACmluZGV4X25hbWUAAQAFFffVy0BwAAAABFVTZm8AIgAJU3RhbmRhcmQxAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99XLQHAAAAAEbnVsbAAfAAlTdGFuZGFyZDEAAANrZXkAAAppbmRleF90eXBlAAEABRX31ctAcAAAAARVU2ZvABkACVN0YW5kYXJkMQAAA2tleQAABHR5cGUAAAAFFffVy0BwAAAADXBhcnRpdGlvbl9rZXkAHgAJU3RhbmRhcmQxAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31ctAcAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAXAAlTdGFuZGFyZDEAAAV2YWx1ZQAAAAAAAAUV99XLQHAAAAAAACYACVN0YW5kYXJkMQAABXZhbHVlAAAPY29tcG9uZW50X2luZGV4AAEABRX31ctAcAAAAARVU2ZvACEACVN0YW5kYXJkMQAABXZhbHVlAAAKaW5kZXhfbmFtZQABAAUV99XLQHAAAAAEVVNmbwAkAAlTdGFuZGFyZDEAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffVy0BwAAAABG51bGwAIQAJU3RhbmRhcmQxAAAFdmFsdWUAAAppbmRleF90eXBlAAEABRX31ctAcAAAAARVU2ZvABsACVN0YW5kYXJkMQAABXZhbHVlAAAEdHlwZQAAAAUV99XLQHAAAAANY29tcGFjdF92YWx1ZQAgAAlTdGFuZGFyZDEAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99XLQHAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAGQAJU3RhbmRhcmQzAAAHY29sdW1uMQAAAAAAAAUV99XLQHAAAAAAACgACVN0YW5kYXJkMwAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVy0BwAAAABFVTZm8AIwAJU3RhbmRhcmQzAAAHY29sdW1uMQAACmluZGV4X25hbWUAAQAFFffVy0BwAAAABFVTZm8AJgAJU3RhbmRhcmQzAAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffVy0BwAAAABG51bGwAIwAJU3RhbmRhcmQzAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffVy0BwAAAABFVTZm8AHQAJU3RhbmRhcmQzAAAHY29sdW1uMQAABHR5cGUAAAAFFffVy0BwAAAADmNsdXN0ZXJpbmdfa2V5ACIACVN0YW5kYXJkMwAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffVy0BwAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABUACVN0YW5kYXJkMwAAA2tleQAAAAAAAAUV99XLQHAAAAAAACQACVN0YW5kYXJkMwAAA2tleQAAD2NvbXBvbmVudF9pbmRleAABAAUV99XLQHAAAAAEVVNmbwAfAAlTdGFuZGFyZDMAAANrZXkAAAppbmRleF9uYW1lAAEABRX31ctAcAAAAARVU2ZvACIACVN0YW5kYXJkMwAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffVy0BwAAAABG51bGwAHwAJU3RhbmRhcmQzAAADa2V5AAAKaW5kZXhfdHlwZQABAAUV99XLQHAAAAAEVVNmbwAZAAlTdGFuZGFyZDMAAANrZXkAAAR0eXBlAAAABRX31ctAcAAAAA1wYXJ0aXRpb25fa2V5AB4ACVN0YW5kYXJkMwAAA2tleQAACXZhbGlkYXRvcgAAAAUV99XLQHAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFwAJU3RhbmRhcmQzAAAFdmFsdWUAAAAAAAAFFffVy0BwAAAAAAAmAAlTdGFuZGFyZDMAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99XLQHAAAAAEVVNmbwAhAAlTdGFuZGFyZDMAAAV2YWx1ZQAACmluZGV4X25hbWUAAQAFFffVy0BwAAAABFVTZm8AJAAJU3RhbmRhcmQzAAAFdmFsdWUAAA1pbmRleF9vcHRpb25zAAAABRX31ctAcAAAAARudWxsACEACVN0YW5kYXJkMwAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99XLQHAAAAAEVVNmbwAbAAlTdGFuZGFyZDMAAAV2YWx1ZQAABHR5cGUAAAAFFffVy0BwAAAADWNvbXBhY3RfdmFsdWUAIAAJU3RhbmRhcmQzAAAFdmFsdWUAAAl2YWxpZGF0b3IAAAAFFffVy0BwAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABYABlN1cGVyMwAAB2NvbHVtbjEAAAAAAAAFFffVy0BwAAAAAAAlAAZTdXBlcjMAAAdjb2x1bW4xAAAPY29tcG9uZW50X2luZGV4AAAABRX31ctAcAAAAAQAAAAAACAABlN1cGVyMwAAB2NvbHVtbjEAAAppbmRleF9uYW1lAAEABRX31ctAcAAAAARVU2ZvACMABlN1cGVyMwAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31ctAcAAAAARudWxsACAABlN1cGVyMwAAB2NvbHVtbjEAAAppbmRleF90eXBlAAEABRX31ctAcAAAAARVU2ZvABoABlN1cGVyMwAAB2NvbHVtbjEAAAR0eXBlAAAABRX31ctAcAAAAA5jbHVzdGVyaW5nX2tleQAfAAZTdXBlcjMAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31ctAcAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAWAAZTdXBlcjMAAAdjb2x1bW4yAAAAAAAABRX31ctAcAAAAAAAJQAGU3VwZXIzAAAHY29sdW1uMgAAD2NvbXBvbmVudF9pbmRleAAAAAUV99XLQHAAAAAEAAAAAQAgAAZTdXBlcjMAAAdjb2x1bW4yAAAKaW5kZXhfbmFtZQABAAUV99XLQHAAAAAEVVNmbwAjAAZTdXBlcjMAAAdjb2x1bW4yAAANaW5kZXhfb3B0aW9ucwAAAAUV99XLQHAAAAAEbnVsbAAgAAZTdXBlcjMAAAdjb2x1bW4yAAAKaW5kZXhfdHlwZQABAAUV99XLQHAAAAAEVVNmbwAaAAZTdXBlcjMAAAdjb2x1bW4yAAAEdHlwZQAAAAUV99XLQHAAAAAOY2x1c3RlcmluZ19rZXkAHwAGU3VwZXIzAAAHY29sdW1uMgAACXZhbGlkYXRvcgAAAAUV99XLQHAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAEgAGU3VwZXIzAAADa2V5AAAAAAAABRX31ctAcAAAAAAAIQAGU3VwZXIzAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31ctAcAAAAARVU2ZvABwABlN1cGVyMwAAA2tleQAACmluZGV4X25hbWUAAQAFFffVy0BwAAAABFVTZm8AHwAGU3VwZXIzAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99XLQHAAAAAEbnVsbAAcAAZTdXBlcjMAAANrZXkAAAppbmRleF90eXBlAAEABRX31ctAcAAAAARVU2ZvABYABlN1cGVyMwAAA2tleQAABHR5cGUAAAAFFffVy0BwAAAADXBhcnRpdGlvbl9rZXkAGwAGU3VwZXIzAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31ctAcAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAUAAZTdXBlcjMAAAV2YWx1ZQAAAAAAAAUV99XLQHAAAAAAACMABlN1cGVyMwAABXZhbHVlAAAPY29tcG9uZW50X2luZGV4AAEABRX31ctAcAAAAARVU2ZvAB4ABlN1cGVyMwAABXZhbHVlAAAKaW5kZXhfbmFtZQABAAUV99XLQHAAAAAEVVNmbwAhAAZTdXBlcjMAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffVy0BwAAAABG51bGwAHgAGU3VwZXIzAAAFdmFsdWUAAAppbmRleF90eXBlAAEABRX31ctAcAAAAARVU2ZvABgABlN1cGVyMwAABXZhbHVlAAAEdHlwZQAAAAUV99XLQHAAAAANY29tcGFjdF92YWx1ZQAdAAZTdXBlcjMAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99XLQHAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFgAGU3VwZXI0AAAHY29sdW1uMQAAAAAAAAUV99XLQHAAAAAAACUABlN1cGVyNAAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAAAFFffVy0BwAAAABAAAAAAAIAAGU3VwZXI0AAAHY29sdW1uMQAACmluZGV4X25hbWUAAQAFFffVy0BwAAAABFVTZm8AIwAGU3VwZXI0AAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffVy0BwAAAABG51bGwAIAAGU3VwZXI0AAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffVy0BwAAAABFVTZm8AGgAGU3VwZXI0AAAHY29sdW1uMQAABHR5cGUAAAAFFffVy0BwAAAADmNsdXN0ZXJpbmdfa2V5AB8ABlN1cGVyNAAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffVy0BwAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABYABlN1cGVyNAAAB2NvbHVtbjIAAAAAAAAFFffVy0BwAAAAAAAlAAZTdXBlcjQAAAdjb2x1bW4yAAAPY29tcG9uZW50X2luZGV4AAAABRX31ctAcAAAAAQAAAABACAABlN1cGVyNAAAB2NvbHVtbjIAAAppbmRleF9uYW1lAAEABRX31ctAcAAAAARVU2ZvACMABlN1cGVyNAAAB2NvbHVtbjIAAA1pbmRleF9vcHRpb25zAAAABRX31ctAcAAAAARudWxsACAABlN1cGVyNAAAB2NvbHVtbjIAAAppbmRleF90eXBlAAEABRX31ctAcAAAAARVU2ZvABoABlN1cGVyNAAAB2NvbHVtbjIAAAR0eXBlAAAABRX31ctAcAAAAA5jbHVzdGVyaW5nX2tleQAfAAZTdXBlcjQAAAdjb2x1bW4yAAAJdmFsaWRhdG9yAAAABRX31ctAcAAAACxvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlRpbWVVVUlEVHlwZQASAAZTdXBlcjQAAANrZXkAAAAAAAAFFffVy0BwAAAAAAAhAAZTdXBlcjQAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVy0BwAAAABFVTZm8AHAAGU3VwZXI0AAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99XLQHAAAAAEVVNmbwAfAAZTdXBlcjQAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31ctAcAAAAARudWxsABwABlN1cGVyNAAAA2tleQAACmluZGV4X3R5cGUAAQAFFffVy0BwAAAABFVTZm8AFgAGU3VwZXI0AAADa2V5AAAEdHlwZQAAAAUV99XLQHAAAAANcGFydGl0aW9uX2tleQAbAAZTdXBlcjQAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffVy0BwAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABQABlN1cGVyNAAABXZhbHVlAAAAAAAABRX31ctAcAAAAAAAIwAGU3VwZXI0AAAFdmFsdWUAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVy0BwAAAABFVTZm8AHgAGU3VwZXI0AAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31ctAcAAAAARVU2ZvACEABlN1cGVyNAAABXZhbHVlAAANaW5kZXhfb3B0aW9ucwAAAAUV99XLQHAAAAAEbnVsbAAeAAZTdXBlcjQAAAV2YWx1ZQAACmluZGV4X3R5cGUAAQAFFffVy0BwAAAABFVTZm8AGAAGU3VwZXI0AAAFdmFsdWUAAAR0eXBlAAAABRX31ctAcAAAAA1jb21wYWN0X3ZhbHVlAB0ABlN1cGVyNAAABXZhbHVlAAAJdmFsaWRhdG9yAAAABRX31ctAcAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZaIxt0QAAg1k2ZxaMQAAAFRNQkrxAAlLZXlzcGFjZTIAAAABAZ9cY3TUhTIpmgpQlK+a0eN/////gAAAAAAAAAAAAAAAAAAAAQARSW5kZXhlZDMuY29sMV9pZHgAAAUV99XNodAAAAAAh65rjAACDeo+U3AGAAAAcp9PzwwABWxvY2FsAAAAAQF61UOSvN01poQXTgR4YLN3f////4AAAAAAAAAAAAAAAAAAAAIAAwAAAAAABRX31c5RmAAAAAAAEQAOc2NoZW1hX3ZlcnNpb24AAAAFFffVzlGYAAAAEJdXlNh3iTc1joFzEXe9Zs0PA08kAAIjVjRT3iEAABVYc0HgzgAJS2V5c3BhY2UzAAAAAwGw8iNXRFg825YxxD5ZzjZ2f////4AAAAAAAAAAAAAAAAAAAAMADmR1cmFibGVfd3JpdGVzAAAFFffVzl1QAAAAAQEADnN0cmF0ZWd5X2NsYXNzAAAFFffVzl1QAAAAK29yZy5hcGFjaGUuY2Fzc2FuZHJhLmxvY2F0b3IuU2ltcGxlU3RyYXRlZ3kAEHN0cmF0ZWd5X29wdGlvbnMAAAUV99XOXVAAAAAaeyJyZXBsaWNhdGlvbl9mYWN0b3IiOiI1In0BRfWzYCS8P4OjYxA06k+ml3////+AAAAAAAAAAAAAAAAAAAA2AA4ACEluZGV4ZWQxAAAAAAAABRX31c5dUAAAAAAAJAAISW5kZXhlZDEAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31c5dUAAAAARVU2ZvABUACEluZGV4ZWQxAAAHY2FjaGluZwAAAAUV99XOXVAAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQATAAhJbmRleGVkMQAABWNmX2lkAAAABRX31c5dUAAAABBsYp5S+YAR5Lig59RI1eJtABwACEluZGV4ZWQxAAAOY29sdW1uX2FsaWFzZXMAAAAFFffVzl1QAAAAAltdABUACEluZGV4ZWQxAAAHY29tbWVudAAAAAUV99XOXVAAAAAAACcACEluZGV4ZWQxAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99XOXVAAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5ACkACEluZGV4ZWQxAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31c5dUAAAAAJ7fQAYAAhJbmRleGVkMQAACmNvbXBhcmF0b3IAAAAFFffVzl1QAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACQACEluZGV4ZWQxAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99XOXVAAAAACe30AIgAISW5kZXhlZDEAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99XOXVAAAAAEAAAAAAAfAAhJbmRleGVkMQAAEWRlZmF1bHRfdmFsaWRhdG9yAAAABRX31c5dUAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAeAAhJbmRleGVkMQAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffVzl1QAAAABAANLwAAHAAISW5kZXhlZDEAAA5pbmRleF9pbnRlcnZhbAABAAUV99XOXVAAAAAEVVNmbwAWAAhJbmRleGVkMQAACGlzX2RlbnNlAAAABRX31c5dUAAAAAEAABkACEluZGV4ZWQxAAALa2V5X2FsaWFzZXMAAAAFFffVzl1QAAAAB1sia2V5Il0AGwAISW5kZXhlZDEAAA1rZXlfdmFsaWRhdG9yAAAABRX31c5dUAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkFzY2lpVHlwZQAmAAhJbmRleGVkMQAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99XOXVAAAAAIP7mZmZmZmZoAJgAISW5kZXhlZDEAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVzl1QAAAABAAAACAAIAAISW5kZXhlZDEAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffVzl1QAAAABAAACAAAKQAISW5kZXhlZDEAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffVzl1QAAAABAAAAAAAJgAISW5kZXhlZDEAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffVzl1QAAAABAAAAAQAIAAISW5kZXhlZDEAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffVzl1QAAAABAAAAIAAIAAISW5kZXhlZDEAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVzl1QAAAACAAAAAAAAAAAAB8ACEluZGV4ZWQxAAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffVzl1QAAAADjk5LjBQRVJDRU5USUxFABIACEluZGV4ZWQxAAAEdHlwZQAAAAUV99XOXVAAAAAIU3RhbmRhcmQAGQAISW5kZXhlZDEAAAt2YWx1ZV9hbGlhcwABAAUV99XOXVAAAAAEVVNmbwAPAAlTdGFuZGFyZDEAAAAAAAAFFffVzl1QAAAAAAAlAAlTdGFuZGFyZDEAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31c5dUAAAAARVU2ZvABYACVN0YW5kYXJkMQAAB2NhY2hpbmcAAAAFFffVzl1QAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AFAAJU3RhbmRhcmQxAAAFY2ZfaWQAAAAFFffVzl1QAAAAEGxinlH5gBHkuKDn1EjV4m0AHQAJU3RhbmRhcmQxAAAOY29sdW1uX2FsaWFzZXMAAAAFFffVzl1QAAAAC1siY29sdW1uMSJdABYACVN0YW5kYXJkMQAAB2NvbW1lbnQAAAAFFffVzl1QAAAAAAAoAAlTdGFuZGFyZDEAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31c5dUAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAKgAJU3RhbmRhcmQxAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31c5dUAAAAAJ7fQAZAAlTdGFuZGFyZDEAAApjb21wYXJhdG9yAAAABRX31c5dUAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAlAAlTdGFuZGFyZDEAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31c5dUAAAAAJ7fQAjAAlTdGFuZGFyZDEAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99XOXVAAAAAEAAAAAAAgAAlTdGFuZGFyZDEAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99XOXVAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHwAJU3RhbmRhcmQxAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99XOXVAAAAAEAA0vAAAdAAlTdGFuZGFyZDEAAA5pbmRleF9pbnRlcnZhbAABAAUV99XOXVAAAAAEVVNmbwAXAAlTdGFuZGFyZDEAAAhpc19kZW5zZQAAAAUV99XOXVAAAAABAQAaAAlTdGFuZGFyZDEAAAtrZXlfYWxpYXNlcwAAAAUV99XOXVAAAAAHWyJrZXkiXQAcAAlTdGFuZGFyZDEAAA1rZXlfdmFsaWRhdG9yAAAABRX31c5dUAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAnAAlTdGFuZGFyZDEAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffVzl1QAAAACD+5mZmZmZmaACcACVN0YW5kYXJkMQAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XOXVAAAAAEAAAAIAAhAAlTdGFuZGFyZDEAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffVzl1QAAAABAAACAAAKgAJU3RhbmRhcmQxAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31c5dUAAAAAQAAAAAACcACVN0YW5kYXJkMQAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XOXVAAAAAEAAAABAAhAAlTdGFuZGFyZDEAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffVzl1QAAAABAAAAIAAIQAJU3RhbmRhcmQxAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31c5dUAAAAAgAAAAAAAAAAAAgAAlTdGFuZGFyZDEAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99XOXVAAAAAOOTkuMFBFUkNFTlRJTEUAEwAJU3RhbmRhcmQxAAAEdHlwZQAAAAUV99XOXVAAAAAIU3RhbmRhcmQAGgAJU3RhbmRhcmQxAAALdmFsdWVfYWxpYXMAAAAFFffVzl1QAAAABXZhbHVlASlunASb7DCFgn3BfT3yEip/////gAAAAAAAAAAAAAAAAAAAIwAjAAhJbmRleGVkMQAAEjYyNjk3Mjc0Njg2NDYxNzQ2NQAAAAAAAAUV99XOXVAAAAAAADIACEluZGV4ZWQxAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAAPY29tcG9uZW50X2luZGV4AAEABRX31c5dUAAAAARVU2ZvAC0ACEluZGV4ZWQxAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAAKaW5kZXhfbmFtZQAAAAUV99XOXVAAAAASNjI2OTcyNzQ2ODY0NjE3NDY1ADAACEluZGV4ZWQxAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAANaW5kZXhfb3B0aW9ucwAAAAUV99XOXVAAAAAEbnVsbAAtAAhJbmRleGVkMQAAEjYyNjk3Mjc0Njg2NDYxNzQ2NQAACmluZGV4X3R5cGUAAAAFFffVzl1QAAAABEtFWVMAJwAISW5kZXhlZDEAABI2MjY5NzI3NDY4NjQ2MTc0NjUAAAR0eXBlAAAABRX31c5dUAAAAAdyZWd1bGFyACwACEluZGV4ZWQxAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAAJdmFsaWRhdG9yAAAABRX31c5dUAAAAChvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkxvbmdUeXBlABQACEluZGV4ZWQxAAADa2V5AAAAAAAABRX31c5dUAAAAAAAIwAISW5kZXhlZDEAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffVzl1QAAAABFVTZm8AHgAISW5kZXhlZDEAAANrZXkAAAppbmRleF9uYW1lAAEABRX31c5dUAAAAARVU2ZvACEACEluZGV4ZWQxAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99XOXVAAAAAEbnVsbAAeAAhJbmRleGVkMQAAA2tleQAACmluZGV4X3R5cGUAAQAFFffVzl1QAAAABFVTZm8AGAAISW5kZXhlZDEAAANrZXkAAAR0eXBlAAAABRX31c5dUAAAAA1wYXJ0aXRpb25fa2V5AB0ACEluZGV4ZWQxAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31c5dUAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkFzY2lpVHlwZQAZAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAAAAAAABRX31c5dUAAAAAAAKAAJU3RhbmRhcmQxAAAHY29sdW1uMQAAD2NvbXBvbmVudF9pbmRleAABAAUV99XOXVAAAAAEVVNmbwAjAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99XOXVAAAAAEVVNmbwAmAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAANaW5kZXhfb3B0aW9ucwAAAAUV99XOXVAAAAAEbnVsbAAjAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAAKaW5kZXhfdHlwZQABAAUV99XOXVAAAAAEVVNmbwAdAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99XOXVAAAAAOY2x1c3RlcmluZ19rZXkAIgAJU3RhbmRhcmQxAAAHY29sdW1uMQAACXZhbGlkYXRvcgAAAAUV99XOXVAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFQAJU3RhbmRhcmQxAAADa2V5AAAAAAAABRX31c5dUAAAAAAAJAAJU3RhbmRhcmQxAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31c5dUAAAAARVU2ZvAB8ACVN0YW5kYXJkMQAAA2tleQAACmluZGV4X25hbWUAAQAFFffVzl1QAAAABFVTZm8AIgAJU3RhbmRhcmQxAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99XOXVAAAAAEbnVsbAAfAAlTdGFuZGFyZDEAAANrZXkAAAppbmRleF90eXBlAAEABRX31c5dUAAAAARVU2ZvABkACVN0YW5kYXJkMQAAA2tleQAABHR5cGUAAAAFFffVzl1QAAAADXBhcnRpdGlvbl9rZXkAHgAJU3RhbmRhcmQxAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31c5dUAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAXAAlTdGFuZGFyZDEAAAV2YWx1ZQAAAAAAAAUV99XOXVAAAAAAACYACVN0YW5kYXJkMQAABXZhbHVlAAAPY29tcG9uZW50X2luZGV4AAEABRX31c5dUAAAAARVU2ZvACEACVN0YW5kYXJkMQAABXZhbHVlAAAKaW5kZXhfbmFtZQABAAUV99XOXVAAAAAEVVNmbwAkAAlTdGFuZGFyZDEAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffVzl1QAAAABG51bGwAIQAJU3RhbmRhcmQxAAAFdmFsdWUAAAppbmRleF90eXBlAAEABRX31c5dUAAAAARVU2ZvABsACVN0YW5kYXJkMQAABXZhbHVlAAAEdHlwZQAAAAUV99XOXVAAAAANY29tcGFjdF92YWx1ZQAgAAlTdGFuZGFyZDEAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99XOXVAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGU4eKK6AAIkKP2DKKoAAABerZej7wAJS2V5c3BhY2UyAAAAAQGfXGN01IUyKZoKUJSvmtHjf////4AAAAAAAAAAAAAAAAAAAAEAG0luZGV4ZWQxLjYyNjk3Mjc0Njg2NDYxNzQ2NQAABRX31c/UUAAAAAD1RY+HAAAAVE1CSvEACUtleXNwYWNlMgAAAAEBn1xjdNSFMimaClCUr5rR43////+AAAAAAAAAAAAAAAAAAAABABFJbmRleGVkMi5jb2wxX2lkeAAABRX31c/UUAAAAABhS7yRAAIkmgV/4lYAAABerZej7wAJS2V5c3BhY2UzAAAAAQGfXGN01IUyKZoKUJSvmtHjf////4AAAAAAAAAAAAAAAAAAAAEAG0luZGV4ZWQxLjYyNjk3Mjc0Njg2NDYxNzQ2NQAABRX31dCjWAAAAAAYh7XXAAIlICAQMPYAAAByn0/PDAAFbG9jYWwAAAABAXrVQ5K83TWmhBdOBHhgs3d/////gAAAAAAAAAAAAAAAAAAAAgADAAAAAAAFFffV0M5QAAAAAAARAA5zY2hlbWFfdmVyc2lvbgAAAAUV99XQzlAAAAAQVeiLNLzHMWiZQ69aosJ462cvRAoAAmBuEr9bJQAAOzrb+umWAAlLZXlzcGFjZTQAAAADAbDyI1dEWDzbljHEPlnONnZ/////gAAAAAAAAAAAAAAAAAAAAwAOZHVyYWJsZV93cml0ZXMAAAUV99XQ0jgAAAABAQAOc3RyYXRlZ3lfY2xhc3MAAAUV99XQ0jgAAAArb3JnLmFwYWNoZS5jYXNzYW5kcmEubG9jYXRvci5TaW1wbGVTdHJhdGVneQAQc3RyYXRlZ3lfb3B0aW9ucwAABRX31dDSOAAAABp7InJlcGxpY2F0aW9uX2ZhY3RvciI6IjMifQFF9bNgJLw/g6NjEDTqT6aXf////4AAAAAAAAAAAAAAAAAAAIoADwAJU3RhbmRhcmQxAAAAAAAABRX31dDSOAAAAAAAJQAJU3RhbmRhcmQxAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99XQ0jgAAAAEVVNmbwAWAAlTdGFuZGFyZDEAAAdjYWNoaW5nAAAABRX31dDSOAAAACt7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9ABQACVN0YW5kYXJkMQAABWNmX2lkAAAABRX31dDSOAAAABBsYp5T+YAR5Lig59RI1eJtAB0ACVN0YW5kYXJkMQAADmNvbHVtbl9hbGlhc2VzAAAABRX31dDSOAAAAAtbImNvbHVtbjEiXQAWAAlTdGFuZGFyZDEAAAdjb21tZW50AAAABRX31dDSOAAAAAAAKAAJU3RhbmRhcmQxAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99XQ0jgAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5ACoACVN0YW5kYXJkMQAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99XQ0jgAAAACe30AGQAJU3RhbmRhcmQxAAAKY29tcGFyYXRvcgAAAAUV99XQ0jgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJQAJU3RhbmRhcmQxAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99XQ0jgAAAACe30AIwAJU3RhbmRhcmQxAAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffV0NI4AAAABAAAAAAAIAAJU3RhbmRhcmQxAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffV0NI4AAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlAB8ACVN0YW5kYXJkMQAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffV0NI4AAAABAANLwAAHQAJU3RhbmRhcmQxAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffV0NI4AAAABFVTZm8AFwAJU3RhbmRhcmQxAAAIaXNfZGVuc2UAAAAFFffV0NI4AAAAAQEAGgAJU3RhbmRhcmQxAAALa2V5X2FsaWFzZXMAAAAFFffV0NI4AAAAB1sia2V5Il0AHAAJU3RhbmRhcmQxAAANa2V5X3ZhbGlkYXRvcgAAAAUV99XQ0jgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJwAJU3RhbmRhcmQxAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31dDSOAAAAAg/uZmZmZmZmgAnAAlTdGFuZGFyZDEAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffV0NI4AAAABAAAACAAIQAJU3RhbmRhcmQxAAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31dDSOAAAAAQAAAgAACoACVN0YW5kYXJkMQAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99XQ0jgAAAAEAAAAAAAnAAlTdGFuZGFyZDEAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffV0NI4AAAABAAAAAQAIQAJU3RhbmRhcmQxAAASbWluX2luZGV4X2ludGVydmFsAAAABRX31dDSOAAAAAQAAACAACEACVN0YW5kYXJkMQAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99XQ0jgAAAAIAAAAAAAAAAAAIAAJU3RhbmRhcmQxAAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffV0NI4AAAADjk5LjBQRVJDRU5USUxFABMACVN0YW5kYXJkMQAABHR5cGUAAAAFFffV0NI4AAAACFN0YW5kYXJkABoACVN0YW5kYXJkMQAAC3ZhbHVlX2FsaWFzAAAABRX31dDSOAAAAAV2YWx1ZQAPAAlTdGFuZGFyZDMAAAAAAAAFFffV0NI4AAAAAAAlAAlTdGFuZGFyZDMAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31dDSOAAAAARVU2ZvABYACVN0YW5kYXJkMwAAB2NhY2hpbmcAAAAFFffV0NI4AAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AFAAJU3RhbmRhcmQzAAAFY2ZfaWQAAAAFFffV0NI4AAAAEGxinlT5gBHkuKDn1EjV4m0AHQAJU3RhbmRhcmQzAAAOY29sdW1uX2FsaWFzZXMAAAAFFffV0NI4AAAAC1siY29sdW1uMSJdABYACVN0YW5kYXJkMwAAB2NvbW1lbnQAAAAFFffV0NI4AAAAAAAoAAlTdGFuZGFyZDMAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31dDSOAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAKgAJU3RhbmRhcmQzAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31dDSOAAAAAJ7fQAZAAlTdGFuZGFyZDMAAApjb21wYXJhdG9yAAAABRX31dDSOAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAlAAlTdGFuZGFyZDMAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31dDSOAAAAAJ7fQAjAAlTdGFuZGFyZDMAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99XQ0jgAAAAEAAAAAAAgAAlTdGFuZGFyZDMAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99XQ0jgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHwAJU3RhbmRhcmQzAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99XQ0jgAAAAEAA0vAAAdAAlTdGFuZGFyZDMAAA5pbmRleF9pbnRlcnZhbAABAAUV99XQ0jgAAAAEVVNmbwAXAAlTdGFuZGFyZDMAAAhpc19kZW5zZQAAAAUV99XQ0jgAAAABAQAaAAlTdGFuZGFyZDMAAAtrZXlfYWxpYXNlcwAAAAUV99XQ0jgAAAAHWyJrZXkiXQAcAAlTdGFuZGFyZDMAAA1rZXlfdmFsaWRhdG9yAAAABRX31dDSOAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAnAAlTdGFuZGFyZDMAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffV0NI4AAAACD+5mZmZmZmaACcACVN0YW5kYXJkMwAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XQ0jgAAAAEAAAAIAAhAAlTdGFuZGFyZDMAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffV0NI4AAAABAAACAAAKgAJU3RhbmRhcmQzAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31dDSOAAAAAQAAAAAACcACVN0YW5kYXJkMwAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XQ0jgAAAAEAAAABAAhAAlTdGFuZGFyZDMAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffV0NI4AAAABAAAAIAAIQAJU3RhbmRhcmQzAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31dDSOAAAAAgAAAAAAAAAAAAgAAlTdGFuZGFyZDMAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99XQ0jgAAAAOOTkuMFBFUkNFTlRJTEUAEwAJU3RhbmRhcmQzAAAEdHlwZQAAAAUV99XQ0jgAAAAIU3RhbmRhcmQAGgAJU3RhbmRhcmQzAAALdmFsdWVfYWxpYXMAAAAFFffV0NI4AAAABXZhbHVlAAwABlN1cGVyMwAAAAAAAAUV99XQ0jgAAAAAACIABlN1cGVyMwAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffV0NI4AAAABFVTZm8AEwAGU3VwZXIzAAAHY2FjaGluZwAAAAUV99XQ0jgAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQARAAZTdXBlcjMAAAVjZl9pZAAAAAUV99XQ0jgAAAAQbGKeVfmAEeS4oOfUSNXibQAaAAZTdXBlcjMAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99XQ0jgAAAAVWyJjb2x1bW4xIiwiY29sdW1uMiJdABMABlN1cGVyMwAAB2NvbW1lbnQAAAAFFffV0NI4AAAAAAAlAAZTdXBlcjMAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31dDSOAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAJwAGU3VwZXIzAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31dDSOAAAAAJ7fQAWAAZTdXBlcjMAAApjb21wYXJhdG9yAAAABRX31dDSOAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAiAAZTdXBlcjMAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31dDSOAAAAAJ7fQAgAAZTdXBlcjMAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99XQ0jgAAAAEAAAAAAAdAAZTdXBlcjMAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99XQ0jgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHAAGU3VwZXIzAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99XQ0jgAAAAEAA0vAAAaAAZTdXBlcjMAAA5pbmRleF9pbnRlcnZhbAABAAUV99XQ0jgAAAAEVVNmbwAUAAZTdXBlcjMAAAhpc19kZW5zZQAAAAUV99XQ0jgAAAABAQAXAAZTdXBlcjMAAAtrZXlfYWxpYXNlcwAAAAUV99XQ0jgAAAAHWyJrZXkiXQAZAAZTdXBlcjMAAA1rZXlfdmFsaWRhdG9yAAAABRX31dDSOAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAkAAZTdXBlcjMAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffV0NI4AAAACD+5mZmZmZmaACQABlN1cGVyMwAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XQ0jgAAAAEAAAAIAAeAAZTdXBlcjMAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffV0NI4AAAABAAACAAAJwAGU3VwZXIzAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31dDSOAAAAAQAAAAAACQABlN1cGVyMwAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XQ0jgAAAAEAAAABAAeAAZTdXBlcjMAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffV0NI4AAAABAAAAIAAHgAGU3VwZXIzAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31dDSOAAAAAgAAAAAAAAAAAAdAAZTdXBlcjMAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99XQ0jgAAAAOOTkuMFBFUkNFTlRJTEUAGQAGU3VwZXIzAAANc3ViY29tcGFyYXRvcgAAAAUV99XQ0jgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAEAAGU3VwZXIzAAAEdHlwZQAAAAUV99XQ0jgAAAAFU3VwZXIAFwAGU3VwZXIzAAALdmFsdWVfYWxpYXMAAAAFFffV0NI4AAAABXZhbHVlAAwABlN1cGVyNAAAAAAAAAUV99XQ0jgAAAAAACIABlN1cGVyNAAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffV0NI4AAAABFVTZm8AEwAGU3VwZXI0AAAHY2FjaGluZwAAAAUV99XQ0jgAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQARAAZTdXBlcjQAAAVjZl9pZAAAAAUV99XQ0jgAAAAQbGKeVvmAEeS4oOfUSNXibQAaAAZTdXBlcjQAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99XQ0jgAAAAVWyJjb2x1bW4xIiwiY29sdW1uMiJdABMABlN1cGVyNAAAB2NvbW1lbnQAAAAFFffV0NI4AAAAAAAlAAZTdXBlcjQAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31dDSOAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAJwAGU3VwZXI0AAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31dDSOAAAAAJ7fQAWAAZTdXBlcjQAAApjb21wYXJhdG9yAAAABRX31dDSOAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAiAAZTdXBlcjQAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31dDSOAAAAAJ7fQAgAAZTdXBlcjQAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99XQ0jgAAAAEAAAAAAAdAAZTdXBlcjQAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99XQ0jgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHAAGU3VwZXI0AAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99XQ0jgAAAAEAA0vAAAaAAZTdXBlcjQAAA5pbmRleF9pbnRlcnZhbAABAAUV99XQ0jgAAAAEVVNmbwAUAAZTdXBlcjQAAAhpc19kZW5zZQAAAAUV99XQ0jgAAAABAQAXAAZTdXBlcjQAAAtrZXlfYWxpYXNlcwAAAAUV99XQ0jgAAAAHWyJrZXkiXQAZAAZTdXBlcjQAAA1rZXlfdmFsaWRhdG9yAAAABRX31dDSOAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAkAAZTdXBlcjQAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffV0NI4AAAACD+5mZmZmZmaACQABlN1cGVyNAAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XQ0jgAAAAEAAAAIAAeAAZTdXBlcjQAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffV0NI4AAAABAAACAAAJwAGU3VwZXI0AAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31dDSOAAAAAQAAAAAACQABlN1cGVyNAAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XQ0jgAAAAEAAAABAAeAAZTdXBlcjQAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffV0NI4AAAABAAAAIAAHgAGU3VwZXI0AAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31dDSOAAAAAgAAAAAAAAAAAAdAAZTdXBlcjQAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99XQ0jgAAAAOOTkuMFBFUkNFTlRJTEUAGQAGU3VwZXI0AAANc3ViY29tcGFyYXRvcgAAAAUV99XQ0jgAAAAsb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5UaW1lVVVJRFR5cGUAEAAGU3VwZXI0AAAEdHlwZQAAAAUV99XQ0jgAAAAFU3VwZXIAFwAGU3VwZXI0AAALdmFsdWVfYWxpYXMAAAAFFffV0NI4AAAABXZhbHVlAAwABlN1cGVyNQAAAAAAAAUV99XQ0jgAAAAAACIABlN1cGVyNQAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffV0NI4AAAABFVTZm8AEwAGU3VwZXI1AAAHY2FjaGluZwAAAAUV99XQ0jgAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQARAAZTdXBlcjUAAAVjZl9pZAAAAAUV99XQ0jgAAAAQbGKeV/mAEeS4oOfUSNXibQAaAAZTdXBlcjUAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99XQ0jgAAAAVWyJjb2x1bW4xIiwiY29sdW1uMiJdABMABlN1cGVyNQAAB2NvbW1lbnQAAAAFFffV0NI4AAAAAAAlAAZTdXBlcjUAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31dDSOAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAJwAGU3VwZXI1AAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31dDSOAAAAAJ7fQAWAAZTdXBlcjUAAApjb21wYXJhdG9yAAAABRX31dDSOAAAACxvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlRpbWVVVUlEVHlwZQAiAAZTdXBlcjUAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31dDSOAAAAAJ7fQAgAAZTdXBlcjUAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99XQ0jgAAAAEAAAAAAAdAAZTdXBlcjUAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99XQ0jgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHAAGU3VwZXI1AAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99XQ0jgAAAAEAA0vAAAaAAZTdXBlcjUAAA5pbmRleF9pbnRlcnZhbAABAAUV99XQ0jgAAAAEVVNmbwAUAAZTdXBlcjUAAAhpc19kZW5zZQAAAAUV99XQ0jgAAAABAQAXAAZTdXBlcjUAAAtrZXlfYWxpYXNlcwAAAAUV99XQ0jgAAAAHWyJrZXkiXQAZAAZTdXBlcjUAAA1rZXlfdmFsaWRhdG9yAAAABRX31dDSOAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAkAAZTdXBlcjUAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffV0NI4AAAACD+5mZmZmZmaACQABlN1cGVyNQAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XQ0jgAAAAEAAAAIAAeAAZTdXBlcjUAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffV0NI4AAAABAAACAAAJwAGU3VwZXI1AAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31dDSOAAAAAQAAAAAACQABlN1cGVyNQAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XQ0jgAAAAEAAAABAAeAAZTdXBlcjUAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffV0NI4AAAABAAAAIAAHgAGU3VwZXI1AAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31dDSOAAAAAgAAAAAAAAAAAAdAAZTdXBlcjUAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99XQ0jgAAAAOOTkuMFBFUkNFTlRJTEUAGQAGU3VwZXI1AAANc3ViY29tcGFyYXRvcgAAAAUV99XQ0jgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAEAAGU3VwZXI1AAAEdHlwZQAAAAUV99XQ0jgAAAAFU3VwZXIAFwAGU3VwZXI1AAALdmFsdWVfYWxpYXMAAAAFFffV0NI4AAAABXZhbHVlASlunASb7DCFgn3BfT3yEip/////gAAAAAAAAAAAAAAAAAAAfgAZAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAAAAAAABRX31dDSOAAAAAAAKAAJU3RhbmRhcmQxAAAHY29sdW1uMQAAD2NvbXBvbmVudF9pbmRleAABAAUV99XQ0jgAAAAEVVNmbwAjAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99XQ0jgAAAAEVVNmbwAmAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAANaW5kZXhfb3B0aW9ucwAAAAUV99XQ0jgAAAAEbnVsbAAjAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAAKaW5kZXhfdHlwZQABAAUV99XQ0jgAAAAEVVNmbwAdAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99XQ0jgAAAAOY2x1c3RlcmluZ19rZXkAIgAJU3RhbmRhcmQxAAAHY29sdW1uMQAACXZhbGlkYXRvcgAAAAUV99XQ0jgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFQAJU3RhbmRhcmQxAAADa2V5AAAAAAAABRX31dDSOAAAAAAAJAAJU3RhbmRhcmQxAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31dDSOAAAAARVU2ZvAB8ACVN0YW5kYXJkMQAAA2tleQAACmluZGV4X25hbWUAAQAFFffV0NI4AAAABFVTZm8AIgAJU3RhbmRhcmQxAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99XQ0jgAAAAEbnVsbAAfAAlTdGFuZGFyZDEAAANrZXkAAAppbmRleF90eXBlAAEABRX31dDSOAAAAARVU2ZvABkACVN0YW5kYXJkMQAAA2tleQAABHR5cGUAAAAFFffV0NI4AAAADXBhcnRpdGlvbl9rZXkAHgAJU3RhbmRhcmQxAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31dDSOAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAXAAlTdGFuZGFyZDEAAAV2YWx1ZQAAAAAAAAUV99XQ0jgAAAAAACYACVN0YW5kYXJkMQAABXZhbHVlAAAPY29tcG9uZW50X2luZGV4AAEABRX31dDSOAAAAARVU2ZvACEACVN0YW5kYXJkMQAABXZhbHVlAAAKaW5kZXhfbmFtZQABAAUV99XQ0jgAAAAEVVNmbwAkAAlTdGFuZGFyZDEAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffV0NI4AAAABG51bGwAIQAJU3RhbmRhcmQxAAAFdmFsdWUAAAppbmRleF90eXBlAAEABRX31dDSOAAAAARVU2ZvABsACVN0YW5kYXJkMQAABXZhbHVlAAAEdHlwZQAAAAUV99XQ0jgAAAANY29tcGFjdF92YWx1ZQAgAAlTdGFuZGFyZDEAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99XQ0jgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAGQAJU3RhbmRhcmQzAAAHY29sdW1uMQAAAAAAAAUV99XQ0jgAAAAAACgACVN0YW5kYXJkMwAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV0NI4AAAABFVTZm8AIwAJU3RhbmRhcmQzAAAHY29sdW1uMQAACmluZGV4X25hbWUAAQAFFffV0NI4AAAABFVTZm8AJgAJU3RhbmRhcmQzAAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffV0NI4AAAABG51bGwAIwAJU3RhbmRhcmQzAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffV0NI4AAAABFVTZm8AHQAJU3RhbmRhcmQzAAAHY29sdW1uMQAABHR5cGUAAAAFFffV0NI4AAAADmNsdXN0ZXJpbmdfa2V5ACIACVN0YW5kYXJkMwAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffV0NI4AAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABUACVN0YW5kYXJkMwAAA2tleQAAAAAAAAUV99XQ0jgAAAAAACQACVN0YW5kYXJkMwAAA2tleQAAD2NvbXBvbmVudF9pbmRleAABAAUV99XQ0jgAAAAEVVNmbwAfAAlTdGFuZGFyZDMAAANrZXkAAAppbmRleF9uYW1lAAEABRX31dDSOAAAAARVU2ZvACIACVN0YW5kYXJkMwAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffV0NI4AAAABG51bGwAHwAJU3RhbmRhcmQzAAADa2V5AAAKaW5kZXhfdHlwZQABAAUV99XQ0jgAAAAEVVNmbwAZAAlTdGFuZGFyZDMAAANrZXkAAAR0eXBlAAAABRX31dDSOAAAAA1wYXJ0aXRpb25fa2V5AB4ACVN0YW5kYXJkMwAAA2tleQAACXZhbGlkYXRvcgAAAAUV99XQ0jgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFwAJU3RhbmRhcmQzAAAFdmFsdWUAAAAAAAAFFffV0NI4AAAAAAAmAAlTdGFuZGFyZDMAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99XQ0jgAAAAEVVNmbwAhAAlTdGFuZGFyZDMAAAV2YWx1ZQAACmluZGV4X25hbWUAAQAFFffV0NI4AAAABFVTZm8AJAAJU3RhbmRhcmQzAAAFdmFsdWUAAA1pbmRleF9vcHRpb25zAAAABRX31dDSOAAAAARudWxsACEACVN0YW5kYXJkMwAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99XQ0jgAAAAEVVNmbwAbAAlTdGFuZGFyZDMAAAV2YWx1ZQAABHR5cGUAAAAFFffV0NI4AAAADWNvbXBhY3RfdmFsdWUAIAAJU3RhbmRhcmQzAAAFdmFsdWUAAAl2YWxpZGF0b3IAAAAFFffV0NI4AAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABYABlN1cGVyMwAAB2NvbHVtbjEAAAAAAAAFFffV0NI4AAAAAAAlAAZTdXBlcjMAAAdjb2x1bW4xAAAPY29tcG9uZW50X2luZGV4AAAABRX31dDSOAAAAAQAAAAAACAABlN1cGVyMwAAB2NvbHVtbjEAAAppbmRleF9uYW1lAAEABRX31dDSOAAAAARVU2ZvACMABlN1cGVyMwAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31dDSOAAAAARudWxsACAABlN1cGVyMwAAB2NvbHVtbjEAAAppbmRleF90eXBlAAEABRX31dDSOAAAAARVU2ZvABoABlN1cGVyMwAAB2NvbHVtbjEAAAR0eXBlAAAABRX31dDSOAAAAA5jbHVzdGVyaW5nX2tleQAfAAZTdXBlcjMAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31dDSOAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAWAAZTdXBlcjMAAAdjb2x1bW4yAAAAAAAABRX31dDSOAAAAAAAJQAGU3VwZXIzAAAHY29sdW1uMgAAD2NvbXBvbmVudF9pbmRleAAAAAUV99XQ0jgAAAAEAAAAAQAgAAZTdXBlcjMAAAdjb2x1bW4yAAAKaW5kZXhfbmFtZQABAAUV99XQ0jgAAAAEVVNmbwAjAAZTdXBlcjMAAAdjb2x1bW4yAAANaW5kZXhfb3B0aW9ucwAAAAUV99XQ0jgAAAAEbnVsbAAgAAZTdXBlcjMAAAdjb2x1bW4yAAAKaW5kZXhfdHlwZQABAAUV99XQ0jgAAAAEVVNmbwAaAAZTdXBlcjMAAAdjb2x1bW4yAAAEdHlwZQAAAAUV99XQ0jgAAAAOY2x1c3RlcmluZ19rZXkAHwAGU3VwZXIzAAAHY29sdW1uMgAACXZhbGlkYXRvcgAAAAUV99XQ0jgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAEgAGU3VwZXIzAAADa2V5AAAAAAAABRX31dDSOAAAAAAAIQAGU3VwZXIzAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31dDSOAAAAARVU2ZvABwABlN1cGVyMwAAA2tleQAACmluZGV4X25hbWUAAQAFFffV0NI4AAAABFVTZm8AHwAGU3VwZXIzAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99XQ0jgAAAAEbnVsbAAcAAZTdXBlcjMAAANrZXkAAAppbmRleF90eXBlAAEABRX31dDSOAAAAARVU2ZvABYABlN1cGVyMwAAA2tleQAABHR5cGUAAAAFFffV0NI4AAAADXBhcnRpdGlvbl9rZXkAGwAGU3VwZXIzAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31dDSOAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAUAAZTdXBlcjMAAAV2YWx1ZQAAAAAAAAUV99XQ0jgAAAAAACMABlN1cGVyMwAABXZhbHVlAAAPY29tcG9uZW50X2luZGV4AAEABRX31dDSOAAAAARVU2ZvAB4ABlN1cGVyMwAABXZhbHVlAAAKaW5kZXhfbmFtZQABAAUV99XQ0jgAAAAEVVNmbwAhAAZTdXBlcjMAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffV0NI4AAAABG51bGwAHgAGU3VwZXIzAAAFdmFsdWUAAAppbmRleF90eXBlAAEABRX31dDSOAAAAARVU2ZvABgABlN1cGVyMwAABXZhbHVlAAAEdHlwZQAAAAUV99XQ0jgAAAANY29tcGFjdF92YWx1ZQAdAAZTdXBlcjMAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99XQ0jgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFgAGU3VwZXI0AAAHY29sdW1uMQAAAAAAAAUV99XQ0jgAAAAAACUABlN1cGVyNAAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAAAFFffV0NI4AAAABAAAAAAAIAAGU3VwZXI0AAAHY29sdW1uMQAACmluZGV4X25hbWUAAQAFFffV0NI4AAAABFVTZm8AIwAGU3VwZXI0AAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffV0NI4AAAABG51bGwAIAAGU3VwZXI0AAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffV0NI4AAAABFVTZm8AGgAGU3VwZXI0AAAHY29sdW1uMQAABHR5cGUAAAAFFffV0NI4AAAADmNsdXN0ZXJpbmdfa2V5AB8ABlN1cGVyNAAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffV0NI4AAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABYABlN1cGVyNAAAB2NvbHVtbjIAAAAAAAAFFffV0NI4AAAAAAAlAAZTdXBlcjQAAAdjb2x1bW4yAAAPY29tcG9uZW50X2luZGV4AAAABRX31dDSOAAAAAQAAAABACAABlN1cGVyNAAAB2NvbHVtbjIAAAppbmRleF9uYW1lAAEABRX31dDSOAAAAARVU2ZvACMABlN1cGVyNAAAB2NvbHVtbjIAAA1pbmRleF9vcHRpb25zAAAABRX31dDSOAAAAARudWxsACAABlN1cGVyNAAAB2NvbHVtbjIAAAppbmRleF90eXBlAAEABRX31dDSOAAAAARVU2ZvABoABlN1cGVyNAAAB2NvbHVtbjIAAAR0eXBlAAAABRX31dDSOAAAAA5jbHVzdGVyaW5nX2tleQAfAAZTdXBlcjQAAAdjb2x1bW4yAAAJdmFsaWRhdG9yAAAABRX31dDSOAAAACxvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlRpbWVVVUlEVHlwZQASAAZTdXBlcjQAAANrZXkAAAAAAAAFFffV0NI4AAAAAAAhAAZTdXBlcjQAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV0NI4AAAABFVTZm8AHAAGU3VwZXI0AAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99XQ0jgAAAAEVVNmbwAfAAZTdXBlcjQAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31dDSOAAAAARudWxsABwABlN1cGVyNAAAA2tleQAACmluZGV4X3R5cGUAAQAFFffV0NI4AAAABFVTZm8AFgAGU3VwZXI0AAADa2V5AAAEdHlwZQAAAAUV99XQ0jgAAAANcGFydGl0aW9uX2tleQAbAAZTdXBlcjQAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffV0NI4AAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABQABlN1cGVyNAAABXZhbHVlAAAAAAAABRX31dDSOAAAAAAAIwAGU3VwZXI0AAAFdmFsdWUAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV0NI4AAAABFVTZm8AHgAGU3VwZXI0AAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31dDSOAAAAARVU2ZvACEABlN1cGVyNAAABXZhbHVlAAANaW5kZXhfb3B0aW9ucwAAAAUV99XQ0jgAAAAEbnVsbAAeAAZTdXBlcjQAAAV2YWx1ZQAACmluZGV4X3R5cGUAAQAFFffV0NI4AAAABFVTZm8AGAAGU3VwZXI0AAAFdmFsdWUAAAR0eXBlAAAABRX31dDSOAAAAA1jb21wYWN0X3ZhbHVlAB0ABlN1cGVyNAAABXZhbHVlAAAJdmFsaWRhdG9yAAAABRX31dDSOAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAWAAZTdXBlcjUAAAdjb2x1bW4xAAAAAAAABRX31dDSOAAAAAAAJQAGU3VwZXI1AAAHY29sdW1uMQAAD2NvbXBvbmVudF9pbmRleAAAAAUV99XQ0jgAAAAEAAAAAAAgAAZTdXBlcjUAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99XQ0jgAAAAEVVNmbwAjAAZTdXBlcjUAAAdjb2x1bW4xAAANaW5kZXhfb3B0aW9ucwAAAAUV99XQ0jgAAAAEbnVsbAAgAAZTdXBlcjUAAAdjb2x1bW4xAAAKaW5kZXhfdHlwZQABAAUV99XQ0jgAAAAEVVNmbwAaAAZTdXBlcjUAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99XQ0jgAAAAOY2x1c3RlcmluZ19rZXkAHwAGU3VwZXI1AAAHY29sdW1uMQAACXZhbGlkYXRvcgAAAAUV99XQ0jgAAAAsb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5UaW1lVVVJRFR5cGUAFgAGU3VwZXI1AAAHY29sdW1uMgAAAAAAAAUV99XQ0jgAAAAAACUABlN1cGVyNQAAB2NvbHVtbjIAAA9jb21wb25lbnRfaW5kZXgAAAAFFffV0NI4AAAABAAAAAEAIAAGU3VwZXI1AAAHY29sdW1uMgAACmluZGV4X25hbWUAAQAFFffV0NI4AAAABFVTZm8AIwAGU3VwZXI1AAAHY29sdW1uMgAADWluZGV4X29wdGlvbnMAAAAFFffV0NI4AAAABG51bGwAIAAGU3VwZXI1AAAHY29sdW1uMgAACmluZGV4X3R5cGUAAQAFFffV0NI4AAAABFVTZm8AGgAGU3VwZXI1AAAHY29sdW1uMgAABHR5cGUAAAAFFffV0NI4AAAADmNsdXN0ZXJpbmdfa2V5AB8ABlN1cGVyNQAAB2NvbHVtbjIAAAl2YWxpZGF0b3IAAAAFFffV0NI4AAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABIABlN1cGVyNQAAA2tleQAAAAAAAAUV99XQ0jgAAAAAACEABlN1cGVyNQAAA2tleQAAD2NvbXBvbmVudF9pbmRleAABAAUV99XQ0jgAAAAEVVNmbwAcAAZTdXBlcjUAAANrZXkAAAppbmRleF9uYW1lAAEABRX31dDSOAAAAARVU2ZvAB8ABlN1cGVyNQAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffV0NI4AAAABG51bGwAHAAGU3VwZXI1AAADa2V5AAAKaW5kZXhfdHlwZQABAAUV99XQ0jgAAAAEVVNmbwAWAAZTdXBlcjUAAANrZXkAAAR0eXBlAAAABRX31dDSOAAAAA1wYXJ0aXRpb25fa2V5ABsABlN1cGVyNQAAA2tleQAACXZhbGlkYXRvcgAAAAUV99XQ0jgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFAAGU3VwZXI1AAAFdmFsdWUAAAAAAAAFFffV0NI4AAAAAAAjAAZTdXBlcjUAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99XQ0jgAAAAEVVNmbwAeAAZTdXBlcjUAAAV2YWx1ZQAACmluZGV4X25hbWUAAQAFFffV0NI4AAAABFVTZm8AIQAGU3VwZXI1AAAFdmFsdWUAAA1pbmRleF9vcHRpb25zAAAABRX31dDSOAAAAARudWxsAB4ABlN1cGVyNQAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99XQ0jgAAAAEVVNmbwAYAAZTdXBlcjUAAAV2YWx1ZQAABHR5cGUAAAAFFffV0NI4AAAADWNvbXBhY3RfdmFsdWUAHQAGU3VwZXI1AAAFdmFsdWUAAAl2YWxpZGF0b3IAAAAFFffV0NI4AAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlUxgoAwACYPQO1YzyAAAAcp9PzwwABWxvY2FsAAAAAQF61UOSvN01poQXTgR4YLN3f////4AAAAAAAAAAAAAAAAAAAAIAAwAAAAAABRX31dPP2AAAAAAAEQAOc2NoZW1hX3ZlcnNpb24AAAAFFffV08/YAAAAEP+xBNV1xzVnmeQR7jqSxguc2RqGAAJ3rR4P9qgAABalm2A9rAAJS2V5c3BhY2U1AAAAAwGw8iNXRFg825YxxD5ZzjZ2f////4AAAAAAAAAAAAAAAAAAAAMADmR1cmFibGVfd3JpdGVzAAAFFffV0994AAAAAQEADnN0cmF0ZWd5X2NsYXNzAAAFFffV0994AAAAK29yZy5hcGFjaGUuY2Fzc2FuZHJhLmxvY2F0b3IuU2ltcGxlU3RyYXRlZ3kAEHN0cmF0ZWd5X29wdGlvbnMAAAUV99XT33gAAAAaeyJyZXBsaWNhdGlvbl9mYWN0b3IiOiIyIn0BRfWzYCS8P4OjYxA06k+ml3////+AAAAAAAAAAAAAAAAAAAA2AA4ACENvdW50ZXIxAAAAAAAABRX31dPfeAAAAAAAJAAIQ291bnRlcjEAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31dPfeAAAAARVU2ZwABUACENvdW50ZXIxAAAHY2FjaGluZwAAAAUV99XT33gAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQATAAhDb3VudGVyMQAABWNmX2lkAAAABRX31dPfeAAAABBsYp5Z+YAR5Lig59RI1eJtABwACENvdW50ZXIxAAAOY29sdW1uX2FsaWFzZXMAAAAFFffV0994AAAAC1siY29sdW1uMSJdABUACENvdW50ZXIxAAAHY29tbWVudAAAAAUV99XT33gAAAAAACcACENvdW50ZXIxAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99XT33gAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5ACkACENvdW50ZXIxAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31dPfeAAAAAJ7fQAYAAhDb3VudGVyMQAACmNvbXBhcmF0b3IAAAAFFffV0994AAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACQACENvdW50ZXIxAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99XT33gAAAACe30AIgAIQ291bnRlcjEAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99XT33gAAAAEAAAAAAAfAAhDb3VudGVyMQAAEWRlZmF1bHRfdmFsaWRhdG9yAAAABRX31dPfeAAAADFvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkNvdW50ZXJDb2x1bW5UeXBlAB4ACENvdW50ZXIxAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99XT33gAAAAEAA0vAAAcAAhDb3VudGVyMQAADmluZGV4X2ludGVydmFsAAEABRX31dPfeAAAAARVU2ZwABYACENvdW50ZXIxAAAIaXNfZGVuc2UAAAAFFffV0994AAAAAQEAGQAIQ291bnRlcjEAAAtrZXlfYWxpYXNlcwAAAAUV99XT33gAAAAHWyJrZXkiXQAbAAhDb3VudGVyMQAADWtleV92YWxpZGF0b3IAAAAFFffV0994AAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACYACENvdW50ZXIxAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31dPfeAAAAAg/uZmZmZmZmgAmAAhDb3VudGVyMQAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XT33gAAAAEAAAAIAAgAAhDb3VudGVyMQAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99XT33gAAAAEAAAIAAApAAhDb3VudGVyMQAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99XT33gAAAAEAAAAAAAmAAhDb3VudGVyMQAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XT33gAAAAEAAAABAAgAAhDb3VudGVyMQAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99XT33gAAAAEAAAAgAAgAAhDb3VudGVyMQAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99XT33gAAAAIAAAAAAAAAAAAHwAIQ291bnRlcjEAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99XT33gAAAAOOTkuMFBFUkNFTlRJTEUAEgAIQ291bnRlcjEAAAR0eXBlAAAABRX31dPfeAAAAAhTdGFuZGFyZAAZAAhDb3VudGVyMQAAC3ZhbHVlX2FsaWFzAAAABRX31dPfeAAAAAV2YWx1ZQAPAAlTdGFuZGFyZDEAAAAAAAAFFffV0994AAAAAAAlAAlTdGFuZGFyZDEAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31dPfeAAAAARVU2ZwABYACVN0YW5kYXJkMQAAB2NhY2hpbmcAAAAFFffV0994AAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AFAAJU3RhbmRhcmQxAAAFY2ZfaWQAAAAFFffV0994AAAAEGxinlj5gBHkuKDn1EjV4m0AHQAJU3RhbmRhcmQxAAAOY29sdW1uX2FsaWFzZXMAAAAFFffV0994AAAAC1siY29sdW1uMSJdABYACVN0YW5kYXJkMQAAB2NvbW1lbnQAAAAFFffV0994AAAAAAAoAAlTdGFuZGFyZDEAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31dPfeAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAKgAJU3RhbmRhcmQxAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31dPfeAAAAAJ7fQAZAAlTdGFuZGFyZDEAAApjb21wYXJhdG9yAAAABRX31dPfeAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAlAAlTdGFuZGFyZDEAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31dPfeAAAAAJ7fQAjAAlTdGFuZGFyZDEAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99XT33gAAAAEAAAAAAAgAAlTdGFuZGFyZDEAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99XT33gAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHwAJU3RhbmRhcmQxAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99XT33gAAAAEAA0vAAAdAAlTdGFuZGFyZDEAAA5pbmRleF9pbnRlcnZhbAABAAUV99XT33gAAAAEVVNmcAAXAAlTdGFuZGFyZDEAAAhpc19kZW5zZQAAAAUV99XT33gAAAABAQAaAAlTdGFuZGFyZDEAAAtrZXlfYWxpYXNlcwAAAAUV99XT33gAAAAHWyJrZXkiXQAcAAlTdGFuZGFyZDEAAA1rZXlfdmFsaWRhdG9yAAAABRX31dPfeAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAnAAlTdGFuZGFyZDEAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffV0994AAAACD+5mZmZmZmaACcACVN0YW5kYXJkMQAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XT33gAAAAEAAAAIAAhAAlTdGFuZGFyZDEAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffV0994AAAABAAACAAAKgAJU3RhbmRhcmQxAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31dPfeAAAAAQAAAAAACcACVN0YW5kYXJkMQAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XT33gAAAAEAAAABAAhAAlTdGFuZGFyZDEAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffV0994AAAABAAAAIAAIQAJU3RhbmRhcmQxAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31dPfeAAAAAgAAAAAAAAAAAAgAAlTdGFuZGFyZDEAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99XT33gAAAAOOTkuMFBFUkNFTlRJTEUAEwAJU3RhbmRhcmQxAAAEdHlwZQAAAAUV99XT33gAAAAIU3RhbmRhcmQAGgAJU3RhbmRhcmQxAAALdmFsdWVfYWxpYXMAAAAFFffV0994AAAABXZhbHVlASlunASb7DCFgn3BfT3yEip/////gAAAAAAAAAAAAAAAAAAAKgAYAAhDb3VudGVyMQAAB2NvbHVtbjEAAAAAAAAFFffV0994AAAAAAAnAAhDb3VudGVyMQAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV0994AAAABFVTZnAAIgAIQ291bnRlcjEAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99XT33gAAAAEVVNmcAAlAAhDb3VudGVyMQAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31dPfeAAAAARudWxsACIACENvdW50ZXIxAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffV0994AAAABFVTZnAAHAAIQ291bnRlcjEAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99XT33gAAAAOY2x1c3RlcmluZ19rZXkAIQAIQ291bnRlcjEAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31dPfeAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAUAAhDb3VudGVyMQAAA2tleQAAAAAAAAUV99XT33gAAAAAACMACENvdW50ZXIxAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31dPfeAAAAARVU2ZwAB4ACENvdW50ZXIxAAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99XT33gAAAAEVVNmcAAhAAhDb3VudGVyMQAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffV0994AAAABG51bGwAHgAIQ291bnRlcjEAAANrZXkAAAppbmRleF90eXBlAAEABRX31dPfeAAAAARVU2ZwABgACENvdW50ZXIxAAADa2V5AAAEdHlwZQAAAAUV99XT33gAAAANcGFydGl0aW9uX2tleQAdAAhDb3VudGVyMQAAA2tleQAACXZhbGlkYXRvcgAAAAUV99XT33gAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFgAIQ291bnRlcjEAAAV2YWx1ZQAAAAAAAAUV99XT33gAAAAAACUACENvdW50ZXIxAAAFdmFsdWUAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV0994AAAABFVTZnAAIAAIQ291bnRlcjEAAAV2YWx1ZQAACmluZGV4X25hbWUAAQAFFffV0994AAAABFVTZnAAIwAIQ291bnRlcjEAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffV0994AAAABG51bGwAIAAIQ291bnRlcjEAAAV2YWx1ZQAACmluZGV4X3R5cGUAAQAFFffV0994AAAABFVTZnAAGgAIQ291bnRlcjEAAAV2YWx1ZQAABHR5cGUAAAAFFffV0994AAAADWNvbXBhY3RfdmFsdWUAHwAIQ291bnRlcjEAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99XT33gAAAAxb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Db3VudGVyQ29sdW1uVHlwZQAZAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAAAAAAABRX31dPfeAAAAAAAKAAJU3RhbmRhcmQxAAAHY29sdW1uMQAAD2NvbXBvbmVudF9pbmRleAABAAUV99XT33gAAAAEVVNmcAAjAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99XT33gAAAAEVVNmcAAmAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAANaW5kZXhfb3B0aW9ucwAAAAUV99XT33gAAAAEbnVsbAAjAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAAKaW5kZXhfdHlwZQABAAUV99XT33gAAAAEVVNmcAAdAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99XT33gAAAAOY2x1c3RlcmluZ19rZXkAIgAJU3RhbmRhcmQxAAAHY29sdW1uMQAACXZhbGlkYXRvcgAAAAUV99XT33gAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFQAJU3RhbmRhcmQxAAADa2V5AAAAAAAABRX31dPfeAAAAAAAJAAJU3RhbmRhcmQxAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31dPfeAAAAARVU2ZwAB8ACVN0YW5kYXJkMQAAA2tleQAACmluZGV4X25hbWUAAQAFFffV0994AAAABFVTZnAAIgAJU3RhbmRhcmQxAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99XT33gAAAAEbnVsbAAfAAlTdGFuZGFyZDEAAANrZXkAAAppbmRleF90eXBlAAEABRX31dPfeAAAAARVU2ZwABkACVN0YW5kYXJkMQAAA2tleQAABHR5cGUAAAAFFffV0994AAAADXBhcnRpdGlvbl9rZXkAHgAJU3RhbmRhcmQxAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31dPfeAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAXAAlTdGFuZGFyZDEAAAV2YWx1ZQAAAAAAAAUV99XT33gAAAAAACYACVN0YW5kYXJkMQAABXZhbHVlAAAPY29tcG9uZW50X2luZGV4AAEABRX31dPfeAAAAARVU2ZwACEACVN0YW5kYXJkMQAABXZhbHVlAAAKaW5kZXhfbmFtZQABAAUV99XT33gAAAAEVVNmcAAkAAlTdGFuZGFyZDEAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffV0994AAAABG51bGwAIQAJU3RhbmRhcmQxAAAFdmFsdWUAAAppbmRleF90eXBlAAEABRX31dPfeAAAAARVU2ZwABsACVN0YW5kYXJkMQAABXZhbHVlAAAEdHlwZQAAAAUV99XT33gAAAANY29tcGFjdF92YWx1ZQAgAAlTdGFuZGFyZDEAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99XT33gAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGWuucFFAAJ4Mwk7m24AAAByn0/PDAAFbG9jYWwAAAABAXrVQ5K83TWmhBdOBHhgs3d/////gAAAAAAAAAAAAAAAAAAAAgADAAAAAAAFFffV1osQAAAAAAARAA5zY2hlbWFfdmVyc2lvbgAAAAUV99XWixAAAAAQIUuMGuyBN1GrOWUYC4OBLaf5QSUAAoLLmRQ54gAACoQxfnCvAAlLZXlzcGFjZTYAAAADAbDyI1dEWDzbljHEPlnONnZ/////gAAAAAAAAAAAAAAAAAAAAwAOZHVyYWJsZV93cml0ZXMAAAUV99XWkuAAAAABAQAOc3RyYXRlZ3lfY2xhc3MAAAUV99XWkuAAAAArb3JnLmFwYWNoZS5jYXNzYW5kcmEubG9jYXRvci5TaW1wbGVTdHJhdGVneQAQc3RyYXRlZ3lfb3B0aW9ucwAABRX31daS4AAAABp7InJlcGxpY2F0aW9uX2ZhY3RvciI6IjEifQFF9bNgJLw/g6NjEDTqT6aXf////4AAAAAAAAAAAAAAAAAAABsADgAISW5kZXhlZDEAAAAAAAAFFffV1pLgAAAAAAAkAAhJbmRleGVkMQAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffV1pLgAAAABFVTZnAAFQAISW5kZXhlZDEAAAdjYWNoaW5nAAAABRX31daS4AAAACt7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9ABMACEluZGV4ZWQxAAAFY2ZfaWQAAAAFFffV1pLgAAAAEGxinlr5gBHkuKDn1EjV4m0AHAAISW5kZXhlZDEAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99XWkuAAAAACW10AFQAISW5kZXhlZDEAAAdjb21tZW50AAAABRX31daS4AAAAAAAJwAISW5kZXhlZDEAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31daS4AAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAKQAISW5kZXhlZDEAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffV1pLgAAAAAnt9ABgACEluZGV4ZWQxAAAKY29tcGFyYXRvcgAAAAUV99XWkuAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJAAISW5kZXhlZDEAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31daS4AAAAAJ7fQAiAAhJbmRleGVkMQAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31daS4AAAAAQAAAAAAB8ACEluZGV4ZWQxAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffV1pLgAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlAB4ACEluZGV4ZWQxAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99XWkuAAAAAEAA0vAAAcAAhJbmRleGVkMQAADmluZGV4X2ludGVydmFsAAEABRX31daS4AAAAARVU2ZwABYACEluZGV4ZWQxAAAIaXNfZGVuc2UAAAAFFffV1pLgAAAAAQAAGQAISW5kZXhlZDEAAAtrZXlfYWxpYXNlcwAAAAUV99XWkuAAAAAHWyJrZXkiXQAbAAhJbmRleGVkMQAADWtleV92YWxpZGF0b3IAAAAFFffV1pLgAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQXNjaWlUeXBlACYACEluZGV4ZWQxAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31daS4AAAAAg/uZmZmZmZmgAmAAhJbmRleGVkMQAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XWkuAAAAAEAAAAIAAgAAhJbmRleGVkMQAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99XWkuAAAAAEAAAIAAApAAhJbmRleGVkMQAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99XWkuAAAAAEAAAAAAAmAAhJbmRleGVkMQAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XWkuAAAAAEAAAABAAgAAhJbmRleGVkMQAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99XWkuAAAAAEAAAAgAAgAAhJbmRleGVkMQAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99XWkuAAAAAIAAAAAAAAAAAAHwAISW5kZXhlZDEAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99XWkuAAAAAOOTkuMFBFUkNFTlRJTEUAEgAISW5kZXhlZDEAAAR0eXBlAAAABRX31daS4AAAAAhTdGFuZGFyZAAZAAhJbmRleGVkMQAAC3ZhbHVlX2FsaWFzAAEABRX31daS4AAAAARVU2ZwASlunASb7DCFgn3BfT3yEip/////gAAAAAAAAAAAAAAAAAAADgAjAAhJbmRleGVkMQAAEjYyNjk3Mjc0Njg2NDYxNzQ2NQAAAAAAAAUV99XWkuAAAAAAADIACEluZGV4ZWQxAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAAPY29tcG9uZW50X2luZGV4AAEABRX31daS4AAAAARVU2ZwAC0ACEluZGV4ZWQxAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAAKaW5kZXhfbmFtZQAAAAUV99XWkuAAAAASNjI2OTcyNzQ2ODY0NjE3NDY1ADAACEluZGV4ZWQxAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAANaW5kZXhfb3B0aW9ucwAAAAUV99XWkuAAAAAEbnVsbAAtAAhJbmRleGVkMQAAEjYyNjk3Mjc0Njg2NDYxNzQ2NQAACmluZGV4X3R5cGUAAAAFFffV1pLgAAAABEtFWVMAJwAISW5kZXhlZDEAABI2MjY5NzI3NDY4NjQ2MTc0NjUAAAR0eXBlAAAABRX31daS4AAAAAdyZWd1bGFyACwACEluZGV4ZWQxAAASNjI2OTcyNzQ2ODY0NjE3NDY1AAAJdmFsaWRhdG9yAAAABRX31daS4AAAAChvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkxvbmdUeXBlABQACEluZGV4ZWQxAAADa2V5AAAAAAAABRX31daS4AAAAAAAIwAISW5kZXhlZDEAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV1pLgAAAABFVTZnAAHgAISW5kZXhlZDEAAANrZXkAAAppbmRleF9uYW1lAAEABRX31daS4AAAAARVU2ZwACEACEluZGV4ZWQxAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99XWkuAAAAAEbnVsbAAeAAhJbmRleGVkMQAAA2tleQAACmluZGV4X3R5cGUAAQAFFffV1pLgAAAABFVTZnAAGAAISW5kZXhlZDEAAANrZXkAAAR0eXBlAAAABRX31daS4AAAAA1wYXJ0aXRpb25fa2V5AB0ACEluZGV4ZWQxAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31daS4AAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkFzY2lpVHlwZezZS7IAAoNRxCFK+wAAAHKfT88MAAVsb2NhbAAAAAEBetVDkrzdNaaEF04EeGCzd3////+AAAAAAAAAAAAAAAAAAAACAAMAAAAAAAUV99XajmgAAAAAABEADnNjaGVtYV92ZXJzaW9uAAAABRX31dqOaAAAABCFt/1nqioyspc3Lu2vMGyLlES4oAACpQLN4AHgAAAhnSNlJQYADUtleUNhY2hlU3BhY2UAAAADAbDyI1dEWDzbljHEPlnONnZ/////gAAAAAAAAAAAAAAAAAAAAwAOZHVyYWJsZV93cml0ZXMAAAUV99XaklAAAAABAQAOc3RyYXRlZ3lfY2xhc3MAAAUV99XaklAAAAArb3JnLmFwYWNoZS5jYXNzYW5kcmEubG9jYXRvci5TaW1wbGVTdHJhdGVneQAQc3RyYXRlZ3lfb3B0aW9ucwAABRX31dqSUAAAABp7InJlcGxpY2F0aW9uX2ZhY3RvciI6IjEifQFF9bNgJLw/g6NjEDTqT6aXf////4AAAAAAAAAAAAAAAAAAAFEADwAJU3RhbmRhcmQxAAAAAAAABRX31dqSUAAAAAAAJQAJU3RhbmRhcmQxAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99XaklAAAAAEVVNmcAAWAAlTdGFuZGFyZDEAAAdjYWNoaW5nAAAABRX31dqSUAAAACt7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9ABQACVN0YW5kYXJkMQAABWNmX2lkAAAABRX31dqSUAAAABBsYp5b+YAR5Lig59RI1eJtAB0ACVN0YW5kYXJkMQAADmNvbHVtbl9hbGlhc2VzAAAABRX31dqSUAAAAAtbImNvbHVtbjEiXQAWAAlTdGFuZGFyZDEAAAdjb21tZW50AAAABRX31dqSUAAAAAAAKAAJU3RhbmRhcmQxAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99XaklAAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5ACoACVN0YW5kYXJkMQAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99XaklAAAAACe30AGQAJU3RhbmRhcmQxAAAKY29tcGFyYXRvcgAAAAUV99XaklAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJQAJU3RhbmRhcmQxAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99XaklAAAAACe30AIwAJU3RhbmRhcmQxAAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffV2pJQAAAABAAAAAAAIAAJU3RhbmRhcmQxAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffV2pJQAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlAB8ACVN0YW5kYXJkMQAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffV2pJQAAAABAANLwAAHQAJU3RhbmRhcmQxAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffV2pJQAAAABFVTZnAAFwAJU3RhbmRhcmQxAAAIaXNfZGVuc2UAAAAFFffV2pJQAAAAAQEAGgAJU3RhbmRhcmQxAAALa2V5X2FsaWFzZXMAAAAFFffV2pJQAAAAB1sia2V5Il0AHAAJU3RhbmRhcmQxAAANa2V5X3ZhbGlkYXRvcgAAAAUV99XaklAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJwAJU3RhbmRhcmQxAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31dqSUAAAAAg/uZmZmZmZmgAnAAlTdGFuZGFyZDEAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffV2pJQAAAABAAAACAAIQAJU3RhbmRhcmQxAAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31dqSUAAAAAQAAAgAACoACVN0YW5kYXJkMQAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99XaklAAAAAEAAAAAAAnAAlTdGFuZGFyZDEAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffV2pJQAAAABAAAAAQAIQAJU3RhbmRhcmQxAAASbWluX2luZGV4X2ludGVydmFsAAAABRX31dqSUAAAAAQAAACAACEACVN0YW5kYXJkMQAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99XaklAAAAAIAAAAAAAAAAAAIAAJU3RhbmRhcmQxAAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffV2pJQAAAADjk5LjBQRVJDRU5USUxFABMACVN0YW5kYXJkMQAABHR5cGUAAAAFFffV2pJQAAAACFN0YW5kYXJkABoACVN0YW5kYXJkMQAAC3ZhbHVlX2FsaWFzAAAABRX31dqSUAAAAAV2YWx1ZQAPAAlTdGFuZGFyZDIAAAAAAAAFFffV2pJQAAAAAAAlAAlTdGFuZGFyZDIAABZibG9vbV9maWx0ZXJfZnBfY2hhbmNlAAEABRX31dqSUAAAAARVU2ZwABYACVN0YW5kYXJkMgAAB2NhY2hpbmcAAAAFFffV2pJQAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AFAAJU3RhbmRhcmQyAAAFY2ZfaWQAAAAFFffV2pJQAAAAEGxinlz5gBHkuKDn1EjV4m0AHQAJU3RhbmRhcmQyAAAOY29sdW1uX2FsaWFzZXMAAAAFFffV2pJQAAAAC1siY29sdW1uMSJdABYACVN0YW5kYXJkMgAAB2NvbW1lbnQAAAAFFffV2pJQAAAAAAAoAAlTdGFuZGFyZDIAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31dqSUAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAKgAJU3RhbmRhcmQyAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31dqSUAAAAAJ7fQAZAAlTdGFuZGFyZDIAAApjb21wYXJhdG9yAAAABRX31dqSUAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAlAAlTdGFuZGFyZDIAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31dqSUAAAAAJ7fQAjAAlTdGFuZGFyZDIAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99XaklAAAAAEAAAAAAAgAAlTdGFuZGFyZDIAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99XaklAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHwAJU3RhbmRhcmQyAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99XaklAAAAAEAA0vAAAdAAlTdGFuZGFyZDIAAA5pbmRleF9pbnRlcnZhbAABAAUV99XaklAAAAAEVVNmcAAXAAlTdGFuZGFyZDIAAAhpc19kZW5zZQAAAAUV99XaklAAAAABAQAaAAlTdGFuZGFyZDIAAAtrZXlfYWxpYXNlcwAAAAUV99XaklAAAAAHWyJrZXkiXQAcAAlTdGFuZGFyZDIAAA1rZXlfdmFsaWRhdG9yAAAABRX31dqSUAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAnAAlTdGFuZGFyZDIAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffV2pJQAAAACD+5mZmZmZmaACcACVN0YW5kYXJkMgAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XaklAAAAAEAAAAIAAhAAlTdGFuZGFyZDIAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffV2pJQAAAABAAACAAAKgAJU3RhbmRhcmQyAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31dqSUAAAAAQAAAAAACcACVN0YW5kYXJkMgAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XaklAAAAAEAAAABAAhAAlTdGFuZGFyZDIAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffV2pJQAAAABAAAAIAAIQAJU3RhbmRhcmQyAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31dqSUAAAAAgAAAAAAAAAAAAgAAlTdGFuZGFyZDIAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99XaklAAAAAOOTkuMFBFUkNFTlRJTEUAEwAJU3RhbmRhcmQyAAAEdHlwZQAAAAUV99XaklAAAAAIU3RhbmRhcmQAGgAJU3RhbmRhcmQyAAALdmFsdWVfYWxpYXMAAAAFFffV2pJQAAAABXZhbHVlAA8ACVN0YW5kYXJkMwAAAAAAAAUV99XaklAAAAAAACUACVN0YW5kYXJkMwAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffV2pJQAAAABFVTZnAAFgAJU3RhbmRhcmQzAAAHY2FjaGluZwAAAAUV99XaklAAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQAUAAlTdGFuZGFyZDMAAAVjZl9pZAAAAAUV99XaklAAAAAQbGKeXfmAEeS4oOfUSNXibQAdAAlTdGFuZGFyZDMAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99XaklAAAAALWyJjb2x1bW4xIl0AFgAJU3RhbmRhcmQzAAAHY29tbWVudAAAAAUV99XaklAAAAAAACgACVN0YW5kYXJkMwAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffV2pJQAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQAqAAlTdGFuZGFyZDMAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffV2pJQAAAAAnt9ABkACVN0YW5kYXJkMwAACmNvbXBhcmF0b3IAAAAFFffV2pJQAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACUACVN0YW5kYXJkMwAAFmNvbXByZXNzaW9uX3BhcmFtZXRlcnMAAAAFFffV2pJQAAAAAnt9ACMACVN0YW5kYXJkMwAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31dqSUAAAAAQAAAAAACAACVN0YW5kYXJkMwAAEWRlZmF1bHRfdmFsaWRhdG9yAAAABRX31dqSUAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAfAAlTdGFuZGFyZDMAABBnY19ncmFjZV9zZWNvbmRzAAAABRX31dqSUAAAAAQADS8AAB0ACVN0YW5kYXJkMwAADmluZGV4X2ludGVydmFsAAEABRX31dqSUAAAAARVU2ZwABcACVN0YW5kYXJkMwAACGlzX2RlbnNlAAAABRX31dqSUAAAAAEBABoACVN0YW5kYXJkMwAAC2tleV9hbGlhc2VzAAAABRX31dqSUAAAAAdbImtleSJdABwACVN0YW5kYXJkMwAADWtleV92YWxpZGF0b3IAAAAFFffV2pJQAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACcACVN0YW5kYXJkMwAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99XaklAAAAAIP7mZmZmZmZoAJwAJU3RhbmRhcmQzAAAYbWF4X2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31dqSUAAAAAQAAAAgACEACVN0YW5kYXJkMwAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99XaklAAAAAEAAAIAAAqAAlTdGFuZGFyZDMAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffV2pJQAAAABAAAAAAAJwAJU3RhbmRhcmQzAAAYbWluX2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31dqSUAAAAAQAAAAEACEACVN0YW5kYXJkMwAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99XaklAAAAAEAAAAgAAhAAlTdGFuZGFyZDMAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffV2pJQAAAACAAAAAAAAAAAACAACVN0YW5kYXJkMwAAEXNwZWN1bGF0aXZlX3JldHJ5AAAABRX31dqSUAAAAA45OS4wUEVSQ0VOVElMRQATAAlTdGFuZGFyZDMAAAR0eXBlAAAABRX31dqSUAAAAAhTdGFuZGFyZAAaAAlTdGFuZGFyZDMAAAt2YWx1ZV9hbGlhcwAAAAUV99XaklAAAAAFdmFsdWUBKW6cBJvsMIWCfcF9PfISKn////+AAAAAAAAAAAAAAAAAAAA/ABkACVN0YW5kYXJkMQAAB2NvbHVtbjEAAAAAAAAFFffV2pJQAAAAAAAoAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAAPY29tcG9uZW50X2luZGV4AAEABRX31dqSUAAAAARVU2ZwACMACVN0YW5kYXJkMQAAB2NvbHVtbjEAAAppbmRleF9uYW1lAAEABRX31dqSUAAAAARVU2ZwACYACVN0YW5kYXJkMQAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31dqSUAAAAARudWxsACMACVN0YW5kYXJkMQAAB2NvbHVtbjEAAAppbmRleF90eXBlAAEABRX31dqSUAAAAARVU2ZwAB0ACVN0YW5kYXJkMQAAB2NvbHVtbjEAAAR0eXBlAAAABRX31dqSUAAAAA5jbHVzdGVyaW5nX2tleQAiAAlTdGFuZGFyZDEAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31dqSUAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAVAAlTdGFuZGFyZDEAAANrZXkAAAAAAAAFFffV2pJQAAAAAAAkAAlTdGFuZGFyZDEAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV2pJQAAAABFVTZnAAHwAJU3RhbmRhcmQxAAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99XaklAAAAAEVVNmcAAiAAlTdGFuZGFyZDEAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31dqSUAAAAARudWxsAB8ACVN0YW5kYXJkMQAAA2tleQAACmluZGV4X3R5cGUAAQAFFffV2pJQAAAABFVTZnAAGQAJU3RhbmRhcmQxAAADa2V5AAAEdHlwZQAAAAUV99XaklAAAAANcGFydGl0aW9uX2tleQAeAAlTdGFuZGFyZDEAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffV2pJQAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABcACVN0YW5kYXJkMQAABXZhbHVlAAAAAAAABRX31dqSUAAAAAAAJgAJU3RhbmRhcmQxAAAFdmFsdWUAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV2pJQAAAABFVTZnAAIQAJU3RhbmRhcmQxAAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31dqSUAAAAARVU2ZwACQACVN0YW5kYXJkMQAABXZhbHVlAAANaW5kZXhfb3B0aW9ucwAAAAUV99XaklAAAAAEbnVsbAAhAAlTdGFuZGFyZDEAAAV2YWx1ZQAACmluZGV4X3R5cGUAAQAFFffV2pJQAAAABFVTZnAAGwAJU3RhbmRhcmQxAAAFdmFsdWUAAAR0eXBlAAAABRX31dqSUAAAAA1jb21wYWN0X3ZhbHVlACAACVN0YW5kYXJkMQAABXZhbHVlAAAJdmFsaWRhdG9yAAAABRX31dqSUAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAZAAlTdGFuZGFyZDIAAAdjb2x1bW4xAAAAAAAABRX31dqSUAAAAAAAKAAJU3RhbmRhcmQyAAAHY29sdW1uMQAAD2NvbXBvbmVudF9pbmRleAABAAUV99XaklAAAAAEVVNmcAAjAAlTdGFuZGFyZDIAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99XaklAAAAAEVVNmcAAmAAlTdGFuZGFyZDIAAAdjb2x1bW4xAAANaW5kZXhfb3B0aW9ucwAAAAUV99XaklAAAAAEbnVsbAAjAAlTdGFuZGFyZDIAAAdjb2x1bW4xAAAKaW5kZXhfdHlwZQABAAUV99XaklAAAAAEVVNmcAAdAAlTdGFuZGFyZDIAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99XaklAAAAAOY2x1c3RlcmluZ19rZXkAIgAJU3RhbmRhcmQyAAAHY29sdW1uMQAACXZhbGlkYXRvcgAAAAUV99XaklAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFQAJU3RhbmRhcmQyAAADa2V5AAAAAAAABRX31dqSUAAAAAAAJAAJU3RhbmRhcmQyAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31dqSUAAAAARVU2ZwAB8ACVN0YW5kYXJkMgAAA2tleQAACmluZGV4X25hbWUAAQAFFffV2pJQAAAABFVTZnAAIgAJU3RhbmRhcmQyAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99XaklAAAAAEbnVsbAAfAAlTdGFuZGFyZDIAAANrZXkAAAppbmRleF90eXBlAAEABRX31dqSUAAAAARVU2ZwABkACVN0YW5kYXJkMgAAA2tleQAABHR5cGUAAAAFFffV2pJQAAAADXBhcnRpdGlvbl9rZXkAHgAJU3RhbmRhcmQyAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31dqSUAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAXAAlTdGFuZGFyZDIAAAV2YWx1ZQAAAAAAAAUV99XaklAAAAAAACYACVN0YW5kYXJkMgAABXZhbHVlAAAPY29tcG9uZW50X2luZGV4AAEABRX31dqSUAAAAARVU2ZwACEACVN0YW5kYXJkMgAABXZhbHVlAAAKaW5kZXhfbmFtZQABAAUV99XaklAAAAAEVVNmcAAkAAlTdGFuZGFyZDIAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffV2pJQAAAABG51bGwAIQAJU3RhbmRhcmQyAAAFdmFsdWUAAAppbmRleF90eXBlAAEABRX31dqSUAAAAARVU2ZwABsACVN0YW5kYXJkMgAABXZhbHVlAAAEdHlwZQAAAAUV99XaklAAAAANY29tcGFjdF92YWx1ZQAgAAlTdGFuZGFyZDIAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99XaklAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAGQAJU3RhbmRhcmQzAAAHY29sdW1uMQAAAAAAAAUV99XaklAAAAAAACgACVN0YW5kYXJkMwAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV2pJQAAAABFVTZnAAIwAJU3RhbmRhcmQzAAAHY29sdW1uMQAACmluZGV4X25hbWUAAQAFFffV2pJQAAAABFVTZnAAJgAJU3RhbmRhcmQzAAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffV2pJQAAAABG51bGwAIwAJU3RhbmRhcmQzAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffV2pJQAAAABFVTZnAAHQAJU3RhbmRhcmQzAAAHY29sdW1uMQAABHR5cGUAAAAFFffV2pJQAAAADmNsdXN0ZXJpbmdfa2V5ACIACVN0YW5kYXJkMwAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffV2pJQAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABUACVN0YW5kYXJkMwAAA2tleQAAAAAAAAUV99XaklAAAAAAACQACVN0YW5kYXJkMwAAA2tleQAAD2NvbXBvbmVudF9pbmRleAABAAUV99XaklAAAAAEVVNmcAAfAAlTdGFuZGFyZDMAAANrZXkAAAppbmRleF9uYW1lAAEABRX31dqSUAAAAARVU2ZwACIACVN0YW5kYXJkMwAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffV2pJQAAAABG51bGwAHwAJU3RhbmRhcmQzAAADa2V5AAAKaW5kZXhfdHlwZQABAAUV99XaklAAAAAEVVNmcAAZAAlTdGFuZGFyZDMAAANrZXkAAAR0eXBlAAAABRX31dqSUAAAAA1wYXJ0aXRpb25fa2V5AB4ACVN0YW5kYXJkMwAAA2tleQAACXZhbGlkYXRvcgAAAAUV99XaklAAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFwAJU3RhbmRhcmQzAAAFdmFsdWUAAAAAAAAFFffV2pJQAAAAAAAmAAlTdGFuZGFyZDMAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99XaklAAAAAEVVNmcAAhAAlTdGFuZGFyZDMAAAV2YWx1ZQAACmluZGV4X25hbWUAAQAFFffV2pJQAAAABFVTZnAAJAAJU3RhbmRhcmQzAAAFdmFsdWUAAA1pbmRleF9vcHRpb25zAAAABRX31dqSUAAAAARudWxsACEACVN0YW5kYXJkMwAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99XaklAAAAAEVVNmcAAbAAlTdGFuZGFyZDMAAAV2YWx1ZQAABHR5cGUAAAAFFffV2pJQAAAADWNvbXBhY3RfdmFsdWUAIAAJU3RhbmRhcmQzAAAFdmFsdWUAAAl2YWxpZGF0b3IAAAAFFffV2pJQAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlacoB3gACpYj8XIKKAAAAcp9PzwwABWxvY2FsAAAAAQF61UOSvN01poQXTgR4YLN3f////4AAAAAAAAAAAAAAAAAAAAIAAwAAAAAABRX31dzr4AAAAAAAEQAOc2NoZW1hX3ZlcnNpb24AAAAFFffV3OvgAAAAEAQaZVT6aj9/k5Km4wZS0M8ER8JrAALIXPEx6LQAACLAHZJbjAANUm93Q2FjaGVTcGFjZQAAAAMBsPIjV0RYPNuWMcQ+Wc42dn////+AAAAAAAAAAAAAAAAAAAADAA5kdXJhYmxlX3dyaXRlcwAABRX31dzzsAAAAAEBAA5zdHJhdGVneV9jbGFzcwAABRX31dzzsAAAACtvcmcuYXBhY2hlLmNhc3NhbmRyYS5sb2NhdG9yLlNpbXBsZVN0cmF0ZWd5ABBzdHJhdGVneV9vcHRpb25zAAAFFffV3POwAAAAGnsicmVwbGljYXRpb25fZmFjdG9yIjoiMSJ9AUX1s2AkvD+Do2MQNOpPppd/////gAAAAAAAAAAAAAAAAAAAUQAUAA5DRldpdGhvdXRDYWNoZQAAAAAAAAUV99Xc87AAAAAAACoADkNGV2l0aG91dENhY2hlAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99Xc87AAAAAEVVNmcAAbAA5DRldpdGhvdXRDYWNoZQAAB2NhY2hpbmcAAAAFFffV3POwAAAALHsia2V5cyI6Ik5PTkUiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9ABkADkNGV2l0aG91dENhY2hlAAAFY2ZfaWQAAAAFFffV3POwAAAAEGxinl75gBHkuKDn1EjV4m0AIgAOQ0ZXaXRob3V0Q2FjaGUAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99Xc87AAAAALWyJjb2x1bW4xIl0AGwAOQ0ZXaXRob3V0Q2FjaGUAAAdjb21tZW50AAAABRX31dzzsAAAAAAALQAOQ0ZXaXRob3V0Q2FjaGUAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31dzzsAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kALwAOQ0ZXaXRob3V0Q2FjaGUAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffV3POwAAAAAnt9AB4ADkNGV2l0aG91dENhY2hlAAAKY29tcGFyYXRvcgAAAAUV99Xc87AAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAKgAOQ0ZXaXRob3V0Q2FjaGUAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31dzzsAAAAAJ7fQAoAA5DRldpdGhvdXRDYWNoZQAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31dzzsAAAAAQAAAAAACUADkNGV2l0aG91dENhY2hlAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffV3POwAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACQADkNGV2l0aG91dENhY2hlAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99Xc87AAAAAEAA0vAAAiAA5DRldpdGhvdXRDYWNoZQAADmluZGV4X2ludGVydmFsAAEABRX31dzzsAAAAARVU2ZwABwADkNGV2l0aG91dENhY2hlAAAIaXNfZGVuc2UAAAAFFffV3POwAAAAAQEAHwAOQ0ZXaXRob3V0Q2FjaGUAAAtrZXlfYWxpYXNlcwAAAAUV99Xc87AAAAAHWyJrZXkiXQAhAA5DRldpdGhvdXRDYWNoZQAADWtleV92YWxpZGF0b3IAAAAFFffV3POwAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACwADkNGV2l0aG91dENhY2hlAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31dzzsAAAAAg/uZmZmZmZmgAsAA5DRldpdGhvdXRDYWNoZQAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99Xc87AAAAAEAAAAIAAmAA5DRldpdGhvdXRDYWNoZQAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99Xc87AAAAAEAAAIAAAvAA5DRldpdGhvdXRDYWNoZQAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99Xc87AAAAAEAAAAAAAsAA5DRldpdGhvdXRDYWNoZQAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99Xc87AAAAAEAAAABAAmAA5DRldpdGhvdXRDYWNoZQAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99Xc87AAAAAEAAAAgAAmAA5DRldpdGhvdXRDYWNoZQAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99Xc87AAAAAIAAAAAAAAAAAAJQAOQ0ZXaXRob3V0Q2FjaGUAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99Xc87AAAAAOOTkuMFBFUkNFTlRJTEUAGAAOQ0ZXaXRob3V0Q2FjaGUAAAR0eXBlAAAABRX31dzzsAAAAAhTdGFuZGFyZAAfAA5DRldpdGhvdXRDYWNoZQAAC3ZhbHVlX2FsaWFzAAAABRX31dzzsAAAAAV2YWx1ZQAOAAhDYWNoZWRDRgAAAAAAAAUV99Xc87AAAAAAACQACENhY2hlZENGAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99Xc87AAAAAEVVNmcAAVAAhDYWNoZWRDRgAAB2NhY2hpbmcAAAAFFffV3POwAAAAKnsia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJBTEwifQATAAhDYWNoZWRDRgAABWNmX2lkAAAABRX31dzzsAAAABBsYp5f+YAR5Lig59RI1eJtABwACENhY2hlZENGAAAOY29sdW1uX2FsaWFzZXMAAAAFFffV3POwAAAAC1siY29sdW1uMSJdABUACENhY2hlZENGAAAHY29tbWVudAAAAAUV99Xc87AAAAAAACcACENhY2hlZENGAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99Xc87AAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5ACkACENhY2hlZENGAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31dzzsAAAAAJ7fQAYAAhDYWNoZWRDRgAACmNvbXBhcmF0b3IAAAAFFffV3POwAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlACQACENhY2hlZENGAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99Xc87AAAAACe30AIgAIQ2FjaGVkQ0YAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99Xc87AAAAAEAAAAAAAfAAhDYWNoZWRDRgAAEWRlZmF1bHRfdmFsaWRhdG9yAAAABRX31dzzsAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAeAAhDYWNoZWRDRgAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffV3POwAAAABAANLwAAHAAIQ2FjaGVkQ0YAAA5pbmRleF9pbnRlcnZhbAABAAUV99Xc87AAAAAEVVNmcAAWAAhDYWNoZWRDRgAACGlzX2RlbnNlAAAABRX31dzzsAAAAAEBABkACENhY2hlZENGAAALa2V5X2FsaWFzZXMAAAAFFffV3POwAAAAB1sia2V5Il0AGwAIQ2FjaGVkQ0YAAA1rZXlfdmFsaWRhdG9yAAAABRX31dzzsAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAmAAhDYWNoZWRDRgAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99Xc87AAAAAIP7mZmZmZmZoAJgAIQ2FjaGVkQ0YAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffV3POwAAAABAAAACAAIAAIQ2FjaGVkQ0YAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffV3POwAAAABAAACAAAKQAIQ2FjaGVkQ0YAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffV3POwAAAABAAAAAAAJgAIQ2FjaGVkQ0YAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffV3POwAAAABAAAAAQAIAAIQ2FjaGVkQ0YAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffV3POwAAAABAAAAIAAIAAIQ2FjaGVkQ0YAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffV3POwAAAACAAAAAAAAAAAAB8ACENhY2hlZENGAAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffV3POwAAAADjk5LjBQRVJDRU5USUxFABIACENhY2hlZENGAAAEdHlwZQAAAAUV99Xc87AAAAAIU3RhbmRhcmQAGQAIQ2FjaGVkQ0YAAAt2YWx1ZV9hbGlhcwAAAAUV99Xc87AAAAAFdmFsdWUAEQALQ2FjaGVkSW50Q0YAAAAAAAAFFffV3POwAAAAAAAnAAtDYWNoZWRJbnRDRgAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffV3POwAAAABFVTZnAAGAALQ2FjaGVkSW50Q0YAAAdjYWNoaW5nAAAABRX31dzzsAAAACp7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiMTAwIn0AFgALQ2FjaGVkSW50Q0YAAAVjZl9pZAAAAAUV99Xc87AAAAAQbGKeYPmAEeS4oOfUSNXibQAfAAtDYWNoZWRJbnRDRgAADmNvbHVtbl9hbGlhc2VzAAAABRX31dzzsAAAAAtbImNvbHVtbjEiXQAYAAtDYWNoZWRJbnRDRgAAB2NvbW1lbnQAAAAFFffV3POwAAAAAAAqAAtDYWNoZWRJbnRDRgAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffV3POwAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQAsAAtDYWNoZWRJbnRDRgAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99Xc87AAAAACe30AGwALQ2FjaGVkSW50Q0YAAApjb21wYXJhdG9yAAAABRX31dzzsAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAnAAtDYWNoZWRJbnRDRgAAFmNvbXByZXNzaW9uX3BhcmFtZXRlcnMAAAAFFffV3POwAAAAAnt9ACUAC0NhY2hlZEludENGAAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffV3POwAAAABAAAAAAAIgALQ2FjaGVkSW50Q0YAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99Xc87AAAAArb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5JbnRlZ2VyVHlwZQAhAAtDYWNoZWRJbnRDRgAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffV3POwAAAABAANLwAAHwALQ2FjaGVkSW50Q0YAAA5pbmRleF9pbnRlcnZhbAABAAUV99Xc87AAAAAEVVNmcAAZAAtDYWNoZWRJbnRDRgAACGlzX2RlbnNlAAAABRX31dzzsAAAAAEBABwAC0NhY2hlZEludENGAAALa2V5X2FsaWFzZXMAAAAFFffV3POwAAAAB1sia2V5Il0AHgALQ2FjaGVkSW50Q0YAAA1rZXlfdmFsaWRhdG9yAAAABRX31dzzsAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQApAAtDYWNoZWRJbnRDRgAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99Xc87AAAAAIP7mZmZmZmZoAKQALQ2FjaGVkSW50Q0YAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffV3POwAAAABAAAACAAIwALQ2FjaGVkSW50Q0YAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffV3POwAAAABAAACAAALAALQ2FjaGVkSW50Q0YAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffV3POwAAAABAAAAAAAKQALQ2FjaGVkSW50Q0YAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffV3POwAAAABAAAAAQAIwALQ2FjaGVkSW50Q0YAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffV3POwAAAABAAAAIAAIwALQ2FjaGVkSW50Q0YAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffV3POwAAAACAAAAAAAAAAAACIAC0NhY2hlZEludENGAAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffV3POwAAAADjk5LjBQRVJDRU5USUxFABUAC0NhY2hlZEludENGAAAEdHlwZQAAAAUV99Xc87AAAAAIU3RhbmRhcmQAHAALQ2FjaGVkSW50Q0YAAAt2YWx1ZV9hbGlhcwAAAAUV99Xc87AAAAAFdmFsdWUBKW6cBJvsMIWCfcF9PfISKn////+AAAAAAAAAAAAAAAAAAAA/AB4ADkNGV2l0aG91dENhY2hlAAAHY29sdW1uMQAAAAAAAAUV99Xc87AAAAAAAC0ADkNGV2l0aG91dENhY2hlAAAHY29sdW1uMQAAD2NvbXBvbmVudF9pbmRleAABAAUV99Xc87AAAAAEVVNmcAAoAA5DRldpdGhvdXRDYWNoZQAAB2NvbHVtbjEAAAppbmRleF9uYW1lAAEABRX31dzzsAAAAARVU2ZwACsADkNGV2l0aG91dENhY2hlAAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffV3POwAAAABG51bGwAKAAOQ0ZXaXRob3V0Q2FjaGUAAAdjb2x1bW4xAAAKaW5kZXhfdHlwZQABAAUV99Xc87AAAAAEVVNmcAAiAA5DRldpdGhvdXRDYWNoZQAAB2NvbHVtbjEAAAR0eXBlAAAABRX31dzzsAAAAA5jbHVzdGVyaW5nX2tleQAnAA5DRldpdGhvdXRDYWNoZQAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffV3POwAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABoADkNGV2l0aG91dENhY2hlAAADa2V5AAAAAAAABRX31dzzsAAAAAAAKQAOQ0ZXaXRob3V0Q2FjaGUAAANrZXkAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV3POwAAAABFVTZnAAJAAOQ0ZXaXRob3V0Q2FjaGUAAANrZXkAAAppbmRleF9uYW1lAAEABRX31dzzsAAAAARVU2ZwACcADkNGV2l0aG91dENhY2hlAAADa2V5AAANaW5kZXhfb3B0aW9ucwAAAAUV99Xc87AAAAAEbnVsbAAkAA5DRldpdGhvdXRDYWNoZQAAA2tleQAACmluZGV4X3R5cGUAAQAFFffV3POwAAAABFVTZnAAHgAOQ0ZXaXRob3V0Q2FjaGUAAANrZXkAAAR0eXBlAAAABRX31dzzsAAAAA1wYXJ0aXRpb25fa2V5ACMADkNGV2l0aG91dENhY2hlAAADa2V5AAAJdmFsaWRhdG9yAAAABRX31dzzsAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAcAA5DRldpdGhvdXRDYWNoZQAABXZhbHVlAAAAAAAABRX31dzzsAAAAAAAKwAOQ0ZXaXRob3V0Q2FjaGUAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99Xc87AAAAAEVVNmcAAmAA5DRldpdGhvdXRDYWNoZQAABXZhbHVlAAAKaW5kZXhfbmFtZQABAAUV99Xc87AAAAAEVVNmcAApAA5DRldpdGhvdXRDYWNoZQAABXZhbHVlAAANaW5kZXhfb3B0aW9ucwAAAAUV99Xc87AAAAAEbnVsbAAmAA5DRldpdGhvdXRDYWNoZQAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99Xc87AAAAAEVVNmcAAgAA5DRldpdGhvdXRDYWNoZQAABXZhbHVlAAAEdHlwZQAAAAUV99Xc87AAAAANY29tcGFjdF92YWx1ZQAlAA5DRldpdGhvdXRDYWNoZQAABXZhbHVlAAAJdmFsaWRhdG9yAAAABRX31dzzsAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAYAAhDYWNoZWRDRgAAB2NvbHVtbjEAAAAAAAAFFffV3POwAAAAAAAnAAhDYWNoZWRDRgAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV3POwAAAABFVTZnAAIgAIQ2FjaGVkQ0YAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99Xc87AAAAAEVVNmcAAlAAhDYWNoZWRDRgAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31dzzsAAAAARudWxsACIACENhY2hlZENGAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffV3POwAAAABFVTZnAAHAAIQ2FjaGVkQ0YAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99Xc87AAAAAOY2x1c3RlcmluZ19rZXkAIQAIQ2FjaGVkQ0YAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31dzzsAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAUAAhDYWNoZWRDRgAAA2tleQAAAAAAAAUV99Xc87AAAAAAACMACENhY2hlZENGAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31dzzsAAAAARVU2ZwAB4ACENhY2hlZENGAAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99Xc87AAAAAEVVNmcAAhAAhDYWNoZWRDRgAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffV3POwAAAABG51bGwAHgAIQ2FjaGVkQ0YAAANrZXkAAAppbmRleF90eXBlAAEABRX31dzzsAAAAARVU2ZwABgACENhY2hlZENGAAADa2V5AAAEdHlwZQAAAAUV99Xc87AAAAANcGFydGl0aW9uX2tleQAdAAhDYWNoZWRDRgAAA2tleQAACXZhbGlkYXRvcgAAAAUV99Xc87AAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFgAIQ2FjaGVkQ0YAAAV2YWx1ZQAAAAAAAAUV99Xc87AAAAAAACUACENhY2hlZENGAAAFdmFsdWUAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV3POwAAAABFVTZnAAIAAIQ2FjaGVkQ0YAAAV2YWx1ZQAACmluZGV4X25hbWUAAQAFFffV3POwAAAABFVTZnAAIwAIQ2FjaGVkQ0YAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffV3POwAAAABG51bGwAIAAIQ2FjaGVkQ0YAAAV2YWx1ZQAACmluZGV4X3R5cGUAAQAFFffV3POwAAAABFVTZnAAGgAIQ2FjaGVkQ0YAAAV2YWx1ZQAABHR5cGUAAAAFFffV3POwAAAADWNvbXBhY3RfdmFsdWUAHwAIQ2FjaGVkQ0YAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99Xc87AAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAGwALQ2FjaGVkSW50Q0YAAAdjb2x1bW4xAAAAAAAABRX31dzzsAAAAAAAKgALQ2FjaGVkSW50Q0YAAAdjb2x1bW4xAAAPY29tcG9uZW50X2luZGV4AAEABRX31dzzsAAAAARVU2ZwACUAC0NhY2hlZEludENGAAAHY29sdW1uMQAACmluZGV4X25hbWUAAQAFFffV3POwAAAABFVTZnAAKAALQ2FjaGVkSW50Q0YAAAdjb2x1bW4xAAANaW5kZXhfb3B0aW9ucwAAAAUV99Xc87AAAAAEbnVsbAAlAAtDYWNoZWRJbnRDRgAAB2NvbHVtbjEAAAppbmRleF90eXBlAAEABRX31dzzsAAAAARVU2ZwAB8AC0NhY2hlZEludENGAAAHY29sdW1uMQAABHR5cGUAAAAFFffV3POwAAAADmNsdXN0ZXJpbmdfa2V5ACQAC0NhY2hlZEludENGAAAHY29sdW1uMQAACXZhbGlkYXRvcgAAAAUV99Xc87AAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFwALQ2FjaGVkSW50Q0YAAANrZXkAAAAAAAAFFffV3POwAAAAAAAmAAtDYWNoZWRJbnRDRgAAA2tleQAAD2NvbXBvbmVudF9pbmRleAABAAUV99Xc87AAAAAEVVNmcAAhAAtDYWNoZWRJbnRDRgAAA2tleQAACmluZGV4X25hbWUAAQAFFffV3POwAAAABFVTZnAAJAALQ2FjaGVkSW50Q0YAAANrZXkAAA1pbmRleF9vcHRpb25zAAAABRX31dzzsAAAAARudWxsACEAC0NhY2hlZEludENGAAADa2V5AAAKaW5kZXhfdHlwZQABAAUV99Xc87AAAAAEVVNmcAAbAAtDYWNoZWRJbnRDRgAAA2tleQAABHR5cGUAAAAFFffV3POwAAAADXBhcnRpdGlvbl9rZXkAIAALQ2FjaGVkSW50Q0YAAANrZXkAAAl2YWxpZGF0b3IAAAAFFffV3POwAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABkAC0NhY2hlZEludENGAAAFdmFsdWUAAAAAAAAFFffV3POwAAAAAAAoAAtDYWNoZWRJbnRDRgAABXZhbHVlAAAPY29tcG9uZW50X2luZGV4AAEABRX31dzzsAAAAARVU2ZwACMAC0NhY2hlZEludENGAAAFdmFsdWUAAAppbmRleF9uYW1lAAEABRX31dzzsAAAAARVU2ZwACYAC0NhY2hlZEludENGAAAFdmFsdWUAAA1pbmRleF9vcHRpb25zAAAABRX31dzzsAAAAARudWxsACMAC0NhY2hlZEludENGAAAFdmFsdWUAAAppbmRleF90eXBlAAEABRX31dzzsAAAAARVU2ZwAB0AC0NhY2hlZEludENGAAAFdmFsdWUAAAR0eXBlAAAABRX31dzzsAAAAA1jb21wYWN0X3ZhbHVlACIAC0NhY2hlZEludENGAAAFdmFsdWUAAAl2YWxpZGF0b3IAAAAFFffV3POwAAAAK29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuSW50ZWdlclR5cGXViU2lAALI4qDc65MAAAByn0/PDAAFbG9jYWwAAAABAXrVQ5K83TWmhBdOBHhgs3d/////gAAAAAAAAAAAAAAAAAAAAgADAAAAAAAFFffV4BhgAAAAAAARAA5zY2hlbWFfdmVyc2lvbgAAAAUV99XgGGAAAAAQ3G1EZhk+ODGnqRA2pFL+hBYE3F4AAt+DjAV1GAAAFo2u1ZVWABFDb3VudGVyQ2FjaGVTcGFjZQAAAAMBsPIjV0RYPNuWMcQ+Wc42dn////+AAAAAAAAAAAAAAAAAAAADAA5kdXJhYmxlX3dyaXRlcwAABRX31eAkGAAAAAEBAA5zdHJhdGVneV9jbGFzcwAABRX31eAkGAAAACtvcmcuYXBhY2hlLmNhc3NhbmRyYS5sb2NhdG9yLlNpbXBsZVN0cmF0ZWd5ABBzdHJhdGVneV9vcHRpb25zAAAFFffV4CQYAAAAGnsicmVwbGljYXRpb25fZmFjdG9yIjoiMSJ9AUX1s2AkvD+Do2MQNOpPppd/////gAAAAAAAAAAAAAAAAAAANgAOAAhDb3VudGVyMQAAAAAAAAUV99XgJBgAAAAAACQACENvdW50ZXIxAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99XgJBgAAAAEVVNmcAAVAAhDb3VudGVyMQAAB2NhY2hpbmcAAAAFFffV4CQYAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AEwAIQ291bnRlcjEAAAVjZl9pZAAAAAUV99XgJBgAAAAQbGKeYfmAEeS4oOfUSNXibQAcAAhDb3VudGVyMQAADmNvbHVtbl9hbGlhc2VzAAAABRX31eAkGAAAAAtbImNvbHVtbjEiXQAVAAhDb3VudGVyMQAAB2NvbW1lbnQAAAAFFffV4CQYAAAAAAAnAAhDb3VudGVyMQAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffV4CQYAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQApAAhDb3VudGVyMQAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99XgJBgAAAACe30AGAAIQ291bnRlcjEAAApjb21wYXJhdG9yAAAABRX31eAkGAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAkAAhDb3VudGVyMQAAFmNvbXByZXNzaW9uX3BhcmFtZXRlcnMAAAAFFffV4CQYAAAAAnt9ACIACENvdW50ZXIxAAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffV4CQYAAAABAAAAAAAHwAIQ291bnRlcjEAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99XgJBgAAAAxb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Db3VudGVyQ29sdW1uVHlwZQAeAAhDb3VudGVyMQAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffV4CQYAAAABAANLwAAHAAIQ291bnRlcjEAAA5pbmRleF9pbnRlcnZhbAABAAUV99XgJBgAAAAEVVNmcAAWAAhDb3VudGVyMQAACGlzX2RlbnNlAAAABRX31eAkGAAAAAEBABkACENvdW50ZXIxAAALa2V5X2FsaWFzZXMAAAAFFffV4CQYAAAAB1sia2V5Il0AGwAIQ291bnRlcjEAAA1rZXlfdmFsaWRhdG9yAAAABRX31eAkGAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAmAAhDb3VudGVyMQAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99XgJBgAAAAIP7mZmZmZmZoAJgAIQ291bnRlcjEAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffV4CQYAAAABAAAACAAIAAIQ291bnRlcjEAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffV4CQYAAAABAAACAAAKQAIQ291bnRlcjEAABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffV4CQYAAAABAAAAAAAJgAIQ291bnRlcjEAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffV4CQYAAAABAAAAAQAIAAIQ291bnRlcjEAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffV4CQYAAAABAAAAIAAIAAIQ291bnRlcjEAABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffV4CQYAAAACAAAAAAAAAAAAB8ACENvdW50ZXIxAAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffV4CQYAAAADjk5LjBQRVJDRU5USUxFABIACENvdW50ZXIxAAAEdHlwZQAAAAUV99XgJBgAAAAIU3RhbmRhcmQAGQAIQ291bnRlcjEAAAt2YWx1ZV9hbGlhcwAAAAUV99XgJBgAAAAFdmFsdWUADgAIQ291bnRlcjIAAAAAAAAFFffV4CQYAAAAAAAkAAhDb3VudGVyMgAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffV4CQYAAAABFVTZnAAFQAIQ291bnRlcjIAAAdjYWNoaW5nAAAABRX31eAkGAAAACt7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9ABMACENvdW50ZXIyAAAFY2ZfaWQAAAAFFffV4CQYAAAAEGxinmL5gBHkuKDn1EjV4m0AHAAIQ291bnRlcjIAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99XgJBgAAAALWyJjb2x1bW4xIl0AFQAIQ291bnRlcjIAAAdjb21tZW50AAAABRX31eAkGAAAAAAAJwAIQ291bnRlcjIAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31eAkGAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAKQAIQ291bnRlcjIAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffV4CQYAAAAAnt9ABgACENvdW50ZXIyAAAKY29tcGFyYXRvcgAAAAUV99XgJBgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJAAIQ291bnRlcjIAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31eAkGAAAAAJ7fQAiAAhDb3VudGVyMgAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31eAkGAAAAAQAAAAAAB8ACENvdW50ZXIyAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffV4CQYAAAAMW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQ291bnRlckNvbHVtblR5cGUAHgAIQ291bnRlcjIAABBnY19ncmFjZV9zZWNvbmRzAAAABRX31eAkGAAAAAQADS8AABwACENvdW50ZXIyAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffV4CQYAAAABFVTZnAAFgAIQ291bnRlcjIAAAhpc19kZW5zZQAAAAUV99XgJBgAAAABAQAZAAhDb3VudGVyMgAAC2tleV9hbGlhc2VzAAAABRX31eAkGAAAAAdbImtleSJdABsACENvdW50ZXIyAAANa2V5X3ZhbGlkYXRvcgAAAAUV99XgJBgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJgAIQ291bnRlcjIAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffV4CQYAAAACD+5mZmZmZmaACYACENvdW50ZXIyAAAYbWF4X2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31eAkGAAAAAQAAAAgACAACENvdW50ZXIyAAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31eAkGAAAAAQAAAgAACkACENvdW50ZXIyAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31eAkGAAAAAQAAAAAACYACENvdW50ZXIyAAAYbWluX2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31eAkGAAAAAQAAAAEACAACENvdW50ZXIyAAASbWluX2luZGV4X2ludGVydmFsAAAABRX31eAkGAAAAAQAAACAACAACENvdW50ZXIyAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31eAkGAAAAAgAAAAAAAAAAAAfAAhDb3VudGVyMgAAEXNwZWN1bGF0aXZlX3JldHJ5AAAABRX31eAkGAAAAA45OS4wUEVSQ0VOVElMRQASAAhDb3VudGVyMgAABHR5cGUAAAAFFffV4CQYAAAACFN0YW5kYXJkABkACENvdW50ZXIyAAALdmFsdWVfYWxpYXMAAAAFFffV4CQYAAAABXZhbHVlASlunASb7DCFgn3BfT3yEip/////gAAAAAAAAAAAAAAAAAAAKgAYAAhDb3VudGVyMQAAB2NvbHVtbjEAAAAAAAAFFffV4CQYAAAAAAAnAAhDb3VudGVyMQAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV4CQYAAAABFVTZnAAIgAIQ291bnRlcjEAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99XgJBgAAAAEVVNmcAAlAAhDb3VudGVyMQAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31eAkGAAAAARudWxsACIACENvdW50ZXIxAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffV4CQYAAAABFVTZnAAHAAIQ291bnRlcjEAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99XgJBgAAAAOY2x1c3RlcmluZ19rZXkAIQAIQ291bnRlcjEAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31eAkGAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAUAAhDb3VudGVyMQAAA2tleQAAAAAAAAUV99XgJBgAAAAAACMACENvdW50ZXIxAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31eAkGAAAAARVU2ZwAB4ACENvdW50ZXIxAAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99XgJBgAAAAEVVNmcAAhAAhDb3VudGVyMQAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffV4CQYAAAABG51bGwAHgAIQ291bnRlcjEAAANrZXkAAAppbmRleF90eXBlAAEABRX31eAkGAAAAARVU2ZwABgACENvdW50ZXIxAAADa2V5AAAEdHlwZQAAAAUV99XgJBgAAAANcGFydGl0aW9uX2tleQAdAAhDb3VudGVyMQAAA2tleQAACXZhbGlkYXRvcgAAAAUV99XgJBgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFgAIQ291bnRlcjEAAAV2YWx1ZQAAAAAAAAUV99XgJBgAAAAAACUACENvdW50ZXIxAAAFdmFsdWUAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV4CQYAAAABFVTZnAAIAAIQ291bnRlcjEAAAV2YWx1ZQAACmluZGV4X25hbWUAAQAFFffV4CQYAAAABFVTZnAAIwAIQ291bnRlcjEAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffV4CQYAAAABG51bGwAIAAIQ291bnRlcjEAAAV2YWx1ZQAACmluZGV4X3R5cGUAAQAFFffV4CQYAAAABFVTZnAAGgAIQ291bnRlcjEAAAV2YWx1ZQAABHR5cGUAAAAFFffV4CQYAAAADWNvbXBhY3RfdmFsdWUAHwAIQ291bnRlcjEAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99XgJBgAAAAxb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Db3VudGVyQ29sdW1uVHlwZQAYAAhDb3VudGVyMgAAB2NvbHVtbjEAAAAAAAAFFffV4CQYAAAAAAAnAAhDb3VudGVyMgAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV4CQYAAAABFVTZnAAIgAIQ291bnRlcjIAAAdjb2x1bW4xAAAKaW5kZXhfbmFtZQABAAUV99XgJBgAAAAEVVNmcAAlAAhDb3VudGVyMgAAB2NvbHVtbjEAAA1pbmRleF9vcHRpb25zAAAABRX31eAkGAAAAARudWxsACIACENvdW50ZXIyAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffV4CQYAAAABFVTZnAAHAAIQ291bnRlcjIAAAdjb2x1bW4xAAAEdHlwZQAAAAUV99XgJBgAAAAOY2x1c3RlcmluZ19rZXkAIQAIQ291bnRlcjIAAAdjb2x1bW4xAAAJdmFsaWRhdG9yAAAABRX31eAkGAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAUAAhDb3VudGVyMgAAA2tleQAAAAAAAAUV99XgJBgAAAAAACMACENvdW50ZXIyAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31eAkGAAAAARVU2ZwAB4ACENvdW50ZXIyAAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99XgJBgAAAAEVVNmcAAhAAhDb3VudGVyMgAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffV4CQYAAAABG51bGwAHgAIQ291bnRlcjIAAANrZXkAAAppbmRleF90eXBlAAEABRX31eAkGAAAAARVU2ZwABgACENvdW50ZXIyAAADa2V5AAAEdHlwZQAAAAUV99XgJBgAAAANcGFydGl0aW9uX2tleQAdAAhDb3VudGVyMgAAA2tleQAACXZhbGlkYXRvcgAAAAUV99XgJBgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFgAIQ291bnRlcjIAAAV2YWx1ZQAAAAAAAAUV99XgJBgAAAAAACUACENvdW50ZXIyAAAFdmFsdWUAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV4CQYAAAABFVTZnAAIAAIQ291bnRlcjIAAAV2YWx1ZQAACmluZGV4X25hbWUAAQAFFffV4CQYAAAABFVTZnAAIwAIQ291bnRlcjIAAAV2YWx1ZQAADWluZGV4X29wdGlvbnMAAAAFFffV4CQYAAAABG51bGwAIAAIQ291bnRlcjIAAAV2YWx1ZQAACmluZGV4X3R5cGUAAQAFFffV4CQYAAAABFVTZnAAGgAIQ291bnRlcjIAAAV2YWx1ZQAABHR5cGUAAAAFFffV4CQYAAAADWNvbXBhY3RfdmFsdWUAHwAIQ291bnRlcjIAAAV2YWx1ZQAACXZhbGlkYXRvcgAAAAUV99XgJBgAAAAxb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Db3VudGVyQ29sdW1uVHlwZV9tsv4AAuAJszOgQAAAAHKfT88MAAVsb2NhbAAAAAEBetVDkrzdNaaEF04EeGCzd3////+AAAAAAAAAAAAAAAAAAAACAAMAAAAAAAUV99Xi7vAAAAAAABEADnNjaGVtYV92ZXJzaW9uAAAABRX31eLu8AAAABBOgmg+pHE0C5B+6/Hi8RKcRw7gYAAC7BXmgOBCAAAL+HHWfPkAEE5vQ29tbWl0bG9nU3BhY2UAAAADAbDyI1dEWDzbljHEPlnONnZ/////gAAAAAAAAAAAAAAAAAAAAwAOZHVyYWJsZV93cml0ZXMAAAUV99Xi8tgAAAABAAAOc3RyYXRlZ3lfY2xhc3MAAAUV99Xi8tgAAAArb3JnLmFwYWNoZS5jYXNzYW5kcmEubG9jYXRvci5TaW1wbGVTdHJhdGVneQAQc3RyYXRlZ3lfb3B0aW9ucwAABRX31eLy2AAAABp7InJlcGxpY2F0aW9uX2ZhY3RvciI6IjEifQFF9bNgJLw/g6NjEDTqT6aXf////4AAAAAAAAAAAAAAAAAAABsADwAJU3RhbmRhcmQxAAAAAAAABRX31eLy2AAAAAAAJQAJU3RhbmRhcmQxAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQABAAUV99Xi8tgAAAAEVVNmcQAWAAlTdGFuZGFyZDEAAAdjYWNoaW5nAAAABRX31eLy2AAAACt7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9ABQACVN0YW5kYXJkMQAABWNmX2lkAAAABRX31eLy2AAAABBsYp5j+YAR5Lig59RI1eJtAB0ACVN0YW5kYXJkMQAADmNvbHVtbl9hbGlhc2VzAAAABRX31eLy2AAAAAtbImNvbHVtbjEiXQAWAAlTdGFuZGFyZDEAAAdjb21tZW50AAAABRX31eLy2AAAAAAAKAAJU3RhbmRhcmQxAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99Xi8tgAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5ACoACVN0YW5kYXJkMQAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99Xi8tgAAAACe30AGQAJU3RhbmRhcmQxAAAKY29tcGFyYXRvcgAAAAUV99Xi8tgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJQAJU3RhbmRhcmQxAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99Xi8tgAAAACe30AIwAJU3RhbmRhcmQxAAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffV4vLYAAAABAAAAAAAIAAJU3RhbmRhcmQxAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffV4vLYAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlAB8ACVN0YW5kYXJkMQAAEGdjX2dyYWNlX3NlY29uZHMAAAAFFffV4vLYAAAABAANLwAAHQAJU3RhbmRhcmQxAAAOaW5kZXhfaW50ZXJ2YWwAAQAFFffV4vLYAAAABFVTZnEAFwAJU3RhbmRhcmQxAAAIaXNfZGVuc2UAAAAFFffV4vLYAAAAAQEAGgAJU3RhbmRhcmQxAAALa2V5X2FsaWFzZXMAAAAFFffV4vLYAAAAB1sia2V5Il0AHAAJU3RhbmRhcmQxAAANa2V5X3ZhbGlkYXRvcgAAAAUV99Xi8tgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAJwAJU3RhbmRhcmQxAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31eLy2AAAAAg/uZmZmZmZmgAnAAlTdGFuZGFyZDEAABhtYXhfY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffV4vLYAAAABAAAACAAIQAJU3RhbmRhcmQxAAASbWF4X2luZGV4X2ludGVydmFsAAAABRX31eLy2AAAAAQAAAgAACoACVN0YW5kYXJkMQAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99Xi8tgAAAAEAAAAAAAnAAlTdGFuZGFyZDEAABhtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQAAAAFFffV4vLYAAAABAAAAAQAIQAJU3RhbmRhcmQxAAASbWluX2luZGV4X2ludGVydmFsAAAABRX31eLy2AAAAAQAAACAACEACVN0YW5kYXJkMQAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99Xi8tgAAAAIAAAAAAAAAAAAIAAJU3RhbmRhcmQxAAARc3BlY3VsYXRpdmVfcmV0cnkAAAAFFffV4vLYAAAADjk5LjBQRVJDRU5USUxFABMACVN0YW5kYXJkMQAABHR5cGUAAAAFFffV4vLYAAAACFN0YW5kYXJkABoACVN0YW5kYXJkMQAAC3ZhbHVlX2FsaWFzAAAABRX31eLy2AAAAAV2YWx1ZQEpbpwEm+wwhYJ9wX098hIqf////4AAAAAAAAAAAAAAAAAAABUAGQAJU3RhbmRhcmQxAAAHY29sdW1uMQAAAAAAAAUV99Xi8tgAAAAAACgACVN0YW5kYXJkMQAAB2NvbHVtbjEAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV4vLYAAAABFVTZnEAIwAJU3RhbmRhcmQxAAAHY29sdW1uMQAACmluZGV4X25hbWUAAQAFFffV4vLYAAAABFVTZnEAJgAJU3RhbmRhcmQxAAAHY29sdW1uMQAADWluZGV4X29wdGlvbnMAAAAFFffV4vLYAAAABG51bGwAIwAJU3RhbmRhcmQxAAAHY29sdW1uMQAACmluZGV4X3R5cGUAAQAFFffV4vLYAAAABFVTZnEAHQAJU3RhbmRhcmQxAAAHY29sdW1uMQAABHR5cGUAAAAFFffV4vLYAAAADmNsdXN0ZXJpbmdfa2V5ACIACVN0YW5kYXJkMQAAB2NvbHVtbjEAAAl2YWxpZGF0b3IAAAAFFffV4vLYAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlABUACVN0YW5kYXJkMQAAA2tleQAAAAAAAAUV99Xi8tgAAAAAACQACVN0YW5kYXJkMQAAA2tleQAAD2NvbXBvbmVudF9pbmRleAABAAUV99Xi8tgAAAAEVVNmcQAfAAlTdGFuZGFyZDEAAANrZXkAAAppbmRleF9uYW1lAAEABRX31eLy2AAAAARVU2ZxACIACVN0YW5kYXJkMQAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffV4vLYAAAABG51bGwAHwAJU3RhbmRhcmQxAAADa2V5AAAKaW5kZXhfdHlwZQABAAUV99Xi8tgAAAAEVVNmcQAZAAlTdGFuZGFyZDEAAANrZXkAAAR0eXBlAAAABRX31eLy2AAAAA1wYXJ0aXRpb25fa2V5AB4ACVN0YW5kYXJkMQAAA2tleQAACXZhbGlkYXRvcgAAAAUV99Xi8tgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAFwAJU3RhbmRhcmQxAAAFdmFsdWUAAAAAAAAFFffV4vLYAAAAAAAmAAlTdGFuZGFyZDEAAAV2YWx1ZQAAD2NvbXBvbmVudF9pbmRleAABAAUV99Xi8tgAAAAEVVNmcQAhAAlTdGFuZGFyZDEAAAV2YWx1ZQAACmluZGV4X25hbWUAAQAFFffV4vLYAAAABFVTZnEAJAAJU3RhbmRhcmQxAAAFdmFsdWUAAA1pbmRleF9vcHRpb25zAAAABRX31eLy2AAAAARudWxsACEACVN0YW5kYXJkMQAABXZhbHVlAAAKaW5kZXhfdHlwZQABAAUV99Xi8tgAAAAEVVNmcQAbAAlTdGFuZGFyZDEAAAV2YWx1ZQAABHR5cGUAAAAFFffV4vLYAAAADWNvbXBhY3RfdmFsdWUAIAAJU3RhbmRhcmQxAAAFdmFsdWUAAAl2YWxpZGF0b3IAAAAFFffV4vLYAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlmPK6JgAC7JteNPMBAAAAcp9PzwwABWxvY2FsAAAAAQF61UOSvN01poQXTgR4YLN3f////4AAAAAAAAAAAAAAAAAAAAIAAwAAAAAABRX31eWmQAAAAAAAEQAOc2NoZW1hX3ZlcnNpb24AAAAFFffV5aZAAAAAEDTUW/2Z6TeyhrLiflw3tYX6arI+AAL3NlQ0XSYAAAqHqHchFQAUUGVyUm93U2Vjb25kYXJ5SW5kZXgAAAADAbDyI1dEWDzbljHEPlnONnZ/////gAAAAAAAAAAAAAAAAAAAAwAOZHVyYWJsZV93cml0ZXMAAAUV99XlqigAAAABAQAOc3RyYXRlZ3lfY2xhc3MAAAUV99XlqigAAAArb3JnLmFwYWNoZS5jYXNzYW5kcmEubG9jYXRvci5TaW1wbGVTdHJhdGVneQAQc3RyYXRlZ3lfb3B0aW9ucwAABRX31eWqKAAAABp7InJlcGxpY2F0aW9uX2ZhY3RvciI6IjEifQFF9bNgJLw/g6NjEDTqT6aXf////4AAAAAAAAAAAAAAAAAAABsADgAISW5kZXhlZDEAAAAAAAAFFffV5aooAAAAAAAkAAhJbmRleGVkMQAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAQAFFffV5aooAAAABFVTZnEAFQAISW5kZXhlZDEAAAdjYWNoaW5nAAAABRX31eWqKAAAACt7ImtleXMiOiJBTEwiLCAicm93c19wZXJfcGFydGl0aW9uIjoiTk9ORSJ9ABMACEluZGV4ZWQxAAAFY2ZfaWQAAAAFFffV5aooAAAAEGxixWD5gBHkuKDn1EjV4m0AHAAISW5kZXhlZDEAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99XlqigAAAACW10AFQAISW5kZXhlZDEAAAdjb21tZW50AAAABRX31eWqKAAAAAAAJwAISW5kZXhlZDEAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31eWqKAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAKQAISW5kZXhlZDEAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffV5aooAAAAAnt9ABgACEluZGV4ZWQxAAAKY29tcGFyYXRvcgAAAAUV99XlqigAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Bc2NpaVR5cGUAJAAISW5kZXhlZDEAABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31eWqKAAAAAJ7fQAiAAhJbmRleGVkMQAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31eWqKAAAAAQAAAAAAB8ACEluZGV4ZWQxAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffV5aooAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQnl0ZXNUeXBlAB4ACEluZGV4ZWQxAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99XlqigAAAAEAA0vAAAcAAhJbmRleGVkMQAADmluZGV4X2ludGVydmFsAAEABRX31eWqKAAAAARVU2ZxABYACEluZGV4ZWQxAAAIaXNfZGVuc2UAAAAFFffV5aooAAAAAQAAGQAISW5kZXhlZDEAAAtrZXlfYWxpYXNlcwAAAAUV99XlqigAAAAHWyJrZXkiXQAbAAhJbmRleGVkMQAADWtleV92YWxpZGF0b3IAAAAFFffV5aooAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQXNjaWlUeXBlACYACEluZGV4ZWQxAAAYbG9jYWxfcmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31eWqKAAAAAg/uZmZmZmZmgAmAAhJbmRleGVkMQAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XlqigAAAAEAAAAIAAgAAhJbmRleGVkMQAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99XlqigAAAAEAAAIAAApAAhJbmRleGVkMQAAG21lbXRhYmxlX2ZsdXNoX3BlcmlvZF9pbl9tcwAAAAUV99XlqigAAAAEAAAAAAAmAAhJbmRleGVkMQAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99XlqigAAAAEAAAABAAgAAhJbmRleGVkMQAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99XlqigAAAAEAAAAgAAgAAhJbmRleGVkMQAAEnJlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99XlqigAAAAIAAAAAAAAAAAAHwAISW5kZXhlZDEAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99XlqigAAAAOOTkuMFBFUkNFTlRJTEUAEgAISW5kZXhlZDEAAAR0eXBlAAAABRX31eWqKAAAAAhTdGFuZGFyZAAZAAhJbmRleGVkMQAAC3ZhbHVlX2FsaWFzAAEABRX31eWqKAAAAARVU2ZxASlunASb7DCFgn3BfT3yEip/////gAAAAAAAAAAAAAAAAAAADgAYAAhJbmRleGVkMQAAB2luZGV4ZWQAAAAAAAAFFffV5aooAAAAAAAnAAhJbmRleGVkMQAAB2luZGV4ZWQAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV5aooAAAABFVTZnEAIgAISW5kZXhlZDEAAAdpbmRleGVkAAAKaW5kZXhfbmFtZQAAAAUV99XlqigAAAAHaW5kZXhlMQAlAAhJbmRleGVkMQAAB2luZGV4ZWQAAA1pbmRleF9vcHRpb25zAAAABRX31eWqKAAAAFF7ImNsYXNzX25hbWUiOiJvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5pbmRleC5QZXJSb3dTZWNvbmRhcnlJbmRleFRlc3QkVGVzdEluZGV4In0AIgAISW5kZXhlZDEAAAdpbmRleGVkAAAKaW5kZXhfdHlwZQAAAAUV99XlqigAAAAGQ1VTVE9NABwACEluZGV4ZWQxAAAHaW5kZXhlZAAABHR5cGUAAAAFFffV5aooAAAAB3JlZ3VsYXIAIQAISW5kZXhlZDEAAAdpbmRleGVkAAAJdmFsaWRhdG9yAAAABRX31eWqKAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkFzY2lpVHlwZQAUAAhJbmRleGVkMQAAA2tleQAAAAAAAAUV99XlqigAAAAAACMACEluZGV4ZWQxAAADa2V5AAAPY29tcG9uZW50X2luZGV4AAEABRX31eWqKAAAAARVU2ZxAB4ACEluZGV4ZWQxAAADa2V5AAAKaW5kZXhfbmFtZQABAAUV99XlqigAAAAEVVNmcQAhAAhJbmRleGVkMQAAA2tleQAADWluZGV4X29wdGlvbnMAAAAFFffV5aooAAAABG51bGwAHgAISW5kZXhlZDEAAANrZXkAAAppbmRleF90eXBlAAEABRX31eWqKAAAAARVU2ZxABgACEluZGV4ZWQxAAADa2V5AAAEdHlwZQAAAAUV99XlqigAAAANcGFydGl0aW9uX2tleQAdAAhJbmRleGVkMQAAA2tleQAACXZhbGlkYXRvcgAAAAUV99XlqigAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5Bc2NpaVR5cGVWn/OZAAL3vFVlSekAAAByn0/PDAAFbG9jYWwAAAABAXrVQ5K83TWmhBdOBHhgs3d/////gAAAAAAAAAAAAAAAAAAAAgADAAAAAAAFFffV5+xIAAAAAAARAA5zY2hlbWFfdmVyc2lvbgAAAAUV99Xn7EgAAAAQRbj6z34EN9mLBB4zNaKG2fHOVKUAAyV5WAgj1wAALamuZJ6/AAxjcWxfa2V5c3BhY2UAAAADAbDyI1dEWDzbljHEPlnONnZ/////gAAAAAAAAAAAAAAAAAAAAwAOZHVyYWJsZV93cml0ZXMAAAUV99Xn9BgAAAABAQAOc3RyYXRlZ3lfY2xhc3MAAAUV99Xn9BgAAAArb3JnLmFwYWNoZS5jYXNzYW5kcmEubG9jYXRvci5TaW1wbGVTdHJhdGVneQAQc3RyYXRlZ3lfb3B0aW9ucwAABRX31ef0GAAAABp7InJlcGxpY2F0aW9uX2ZhY3RvciI6IjEifQFF9bNgJLw/g6NjEDTqT6aXf////4AAAAAAAAAAAAAAAAAAAGwACQADZm9vAAAAAAAABRX31ef0GAAAAAAAHwADZm9vAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQAAAAUV99Xn9BgAAAAIP4R64UeuFHsAEAADZm9vAAAHY2FjaGluZwAAAAUV99Xn9BgAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQAOAANmb28AAAVjZl9pZAAAAAUV99Xn9BgAAAAQsDqQdOMZN9iO4BtwplJVRQAXAANmb28AAA5jb2x1bW5fYWxpYXNlcwAAAAUV99Xn9BgAAAAHWyJiYXoiXQAQAANmb28AAAdjb21tZW50AAAABRX31ef0GAAAAAAAIgADZm9vAAAZY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcwAAAAUV99Xn9BgAAAA/b3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIuY29tcGFjdGlvbi5TaXplVGllcmVkQ29tcGFjdGlvblN0cmF0ZWd5ACQAA2ZvbwAAG2NvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucwAAAAUV99Xn9BgAAAACe30AEwADZm9vAAAKY29tcGFyYXRvcgAAAAUV99Xn9BgAAAAob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5VVEY4VHlwZQAfAANmb28AABZjb21wcmVzc2lvbl9wYXJhbWV0ZXJzAAAABRX31ef0GAAAAEh7InNzdGFibGVfY29tcHJlc3Npb24iOiJvcmcuYXBhY2hlLmNhc3NhbmRyYS5pby5jb21wcmVzcy5MWjRDb21wcmVzc29yIn0AHQADZm9vAAAUZGVmYXVsdF90aW1lX3RvX2xpdmUAAAAFFffV5/QYAAAABAAAAAAAGgADZm9vAAARZGVmYXVsdF92YWxpZGF0b3IAAAAFFffV5/QYAAAAKG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVVRGOFR5cGUAGQADZm9vAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99Xn9BgAAAAEAAAAAAAXAANmb28AAA5pbmRleF9pbnRlcnZhbAABAAUV99Xn9BgAAAAEVVNmcQARAANmb28AAAhpc19kZW5zZQAAAAUV99Xn9BgAAAABAQAUAANmb28AAAtrZXlfYWxpYXNlcwAAAAUV99Xn9BgAAAAHWyJiYXIiXQAWAANmb28AAA1rZXlfdmFsaWRhdG9yAAAABRX31ef0GAAAAChvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlVURjhUeXBlACEAA2ZvbwAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99Xn9BgAAAAIAAAAAAAAAAAAIQADZm9vAAAYbWF4X2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31ef0GAAAAAQAAAAgABsAA2ZvbwAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99Xn9BgAAAAEAAAIAAAkAANmb28AABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffV5/QYAAAABAA27oAAIQADZm9vAAAYbWluX2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31ef0GAAAAAQAAAAEABsAA2ZvbwAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99Xn9BgAAAAEAAAAgAAbAANmb28AABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffV5/QYAAAACAAAAAAAAAAAABoAA2ZvbwAAEXNwZWN1bGF0aXZlX3JldHJ5AAAABRX31ef0GAAAAA45OS4wUEVSQ0VOVElMRQANAANmb28AAAR0eXBlAAAABRX31ef0GAAAAAhTdGFuZGFyZAAUAANmb28AAAt2YWx1ZV9hbGlhcwAAAAUV99Xn9BgAAAADcXV4AAwABmZvb2ZvbwAAAAAAAAUV99Xn9BgAAAAAACIABmZvb2ZvbwAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAAAFFffV5/QYAAAACD+EeuFHrhR7ABMABmZvb2ZvbwAAB2NhY2hpbmcAAAAFFffV5/QYAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AEQAGZm9vZm9vAAAFY2ZfaWQAAAAFFffV5/QYAAAAEIrD5AGsjTQ9j9FYd195Ln0AGgAGZm9vZm9vAAAOY29sdW1uX2FsaWFzZXMAAAAFFffV5/QYAAAADVsicXV4IiwicXV6Il0AEwAGZm9vZm9vAAAHY29tbWVudAAAAAUV99Xn9BgAAAAAACUABmZvb2ZvbwAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffV5/QYAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQAnAAZmb29mb28AABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffV5/QYAAAAAnt9ABYABmZvb2ZvbwAACmNvbXBhcmF0b3IAAAAFFffV5/QYAAAAgG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQ29tcG9zaXRlVHlwZShvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlVURjhUeXBlLG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVVRGOFR5cGUpACIABmZvb2ZvbwAAFmNvbXByZXNzaW9uX3BhcmFtZXRlcnMAAAAFFffV5/QYAAAASHsic3N0YWJsZV9jb21wcmVzc2lvbiI6Im9yZy5hcGFjaGUuY2Fzc2FuZHJhLmlvLmNvbXByZXNzLkxaNENvbXByZXNzb3IifQAgAAZmb29mb28AABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99Xn9BgAAAAEAAAAAAAdAAZmb29mb28AABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99Xn9BgAAAAob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5VVEY4VHlwZQAcAAZmb29mb28AABBnY19ncmFjZV9zZWNvbmRzAAAABRX31ef0GAAAAAQAAAAAABoABmZvb2ZvbwAADmluZGV4X2ludGVydmFsAAEABRX31ef0GAAAAARVU2ZxABQABmZvb2ZvbwAACGlzX2RlbnNlAAAABRX31ef0GAAAAAEBABcABmZvb2ZvbwAAC2tleV9hbGlhc2VzAAAABRX31ef0GAAAAA1bImJhciIsImJheiJdABkABmZvb2ZvbwAADWtleV92YWxpZGF0b3IAAAAFFffV5/QYAAAAgG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQ29tcG9zaXRlVHlwZShvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlVURjhUeXBlLG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVVRGOFR5cGUpACQABmZvb2ZvbwAAGGxvY2FsX3JlYWRfcmVwYWlyX2NoYW5jZQAAAAUV99Xn9BgAAAAIAAAAAAAAAAAAJAAGZm9vZm9vAAAYbWF4X2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31ef0GAAAAAQAAAAgAB4ABmZvb2ZvbwAAEm1heF9pbmRleF9pbnRlcnZhbAAAAAUV99Xn9BgAAAAEAAAIAAAnAAZmb29mb28AABttZW10YWJsZV9mbHVzaF9wZXJpb2RfaW5fbXMAAAAFFffV5/QYAAAABAA27oAAJAAGZm9vZm9vAAAYbWluX2NvbXBhY3Rpb25fdGhyZXNob2xkAAAABRX31ef0GAAAAAQAAAAEAB4ABmZvb2ZvbwAAEm1pbl9pbmRleF9pbnRlcnZhbAAAAAUV99Xn9BgAAAAEAAAAgAAeAAZmb29mb28AABJyZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffV5/QYAAAACAAAAAAAAAAAAB0ABmZvb2ZvbwAAEXNwZWN1bGF0aXZlX3JldHJ5AAAABRX31ef0GAAAAA45OS4wUEVSQ0VOVElMRQAQAAZmb29mb28AAAR0eXBlAAAABRX31ef0GAAAAAhTdGFuZGFyZAAXAAZmb29mb28AAAt2YWx1ZV9hbGlhcwAAAAUV99Xn9BgAAAADZm9vAAwABnRhYmxlMQAAAAAAAAUV99Xn9BgAAAAAACIABnRhYmxlMQAAFmJsb29tX2ZpbHRlcl9mcF9jaGFuY2UAAAAFFffV5/QYAAAACD+EeuFHrhR7ABMABnRhYmxlMQAAB2NhY2hpbmcAAAAFFffV5/QYAAAAK3sia2V5cyI6IkFMTCIsICJyb3dzX3Blcl9wYXJ0aXRpb24iOiJOT05FIn0AEQAGdGFibGUxAAAFY2ZfaWQAAAAFFffV5/QYAAAAEMEY6mlK7TITpyHzt4fXQ9wAGgAGdGFibGUxAAAOY29sdW1uX2FsaWFzZXMAAAAFFffV5/QYAAAAAltdABMABnRhYmxlMQAAB2NvbW1lbnQAAAAFFffV5/QYAAAAAAAlAAZ0YWJsZTEAABljb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzAAAABRX31ef0GAAAAD9vcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5jb21wYWN0aW9uLlNpemVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kAJwAGdGFibGUxAAAbY29tcGFjdGlvbl9zdHJhdGVneV9vcHRpb25zAAAABRX31ef0GAAAAAJ7fQAWAAZ0YWJsZTEAAApjb21wYXJhdG9yAAAABRX31ef0GAAAAFdvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkNvbXBvc2l0ZVR5cGUob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5VVEY4VHlwZSkAIgAGdGFibGUxAAAWY29tcHJlc3Npb25fcGFyYW1ldGVycwAAAAUV99Xn9BgAAABIeyJzc3RhYmxlX2NvbXByZXNzaW9uIjoib3JnLmFwYWNoZS5jYXNzYW5kcmEuaW8uY29tcHJlc3MuTFo0Q29tcHJlc3NvciJ9ACAABnRhYmxlMQAAFGRlZmF1bHRfdGltZV90b19saXZlAAAABRX31ef0GAAAAAQAAAAAAB0ABnRhYmxlMQAAEWRlZmF1bHRfdmFsaWRhdG9yAAAABRX31ef0GAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkJ5dGVzVHlwZQAcAAZ0YWJsZTEAABBnY19ncmFjZV9zZWNvbmRzAAAABRX31ef0GAAAAAQAAAAAABoABnRhYmxlMQAADmluZGV4X2ludGVydmFsAAEABRX31ef0GAAAAARVU2ZxABQABnRhYmxlMQAACGlzX2RlbnNlAAAABRX31ef0GAAAAAEAABcABnRhYmxlMQAAC2tleV9hbGlhc2VzAAAABRX31ef0GAAAAAVbImsiXQAZAAZ0YWJsZTEAAA1rZXlfdmFsaWRhdG9yAAAABRX31ef0GAAAAClvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLkludDMyVHlwZQAkAAZ0YWJsZTEAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffV5/QYAAAACAAAAAAAAAAAACQABnRhYmxlMQAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99Xn9BgAAAAEAAAAIAAeAAZ0YWJsZTEAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffV5/QYAAAABAAACAAAJwAGdGFibGUxAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31ef0GAAAAAQANu6AACQABnRhYmxlMQAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99Xn9BgAAAAEAAAABAAeAAZ0YWJsZTEAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffV5/QYAAAABAAAAIAAHgAGdGFibGUxAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31ef0GAAAAAgAAAAAAAAAAAAdAAZ0YWJsZTEAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99Xn9BgAAAAOOTkuMFBFUkNFTlRJTEUAEAAGdGFibGUxAAAEdHlwZQAAAAUV99Xn9BgAAAAIU3RhbmRhcmQAFwAGdGFibGUxAAALdmFsdWVfYWxpYXMAAQAFFffV5/QYAAAABFVTZnEADAAGdGFibGUyAAAAAAAABRX31ef0GAAAAAAAIgAGdGFibGUyAAAWYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQAAAAUV99Xn9BgAAAAIP4R64UeuFHsAEwAGdGFibGUyAAAHY2FjaGluZwAAAAUV99Xn9BgAAAAreyJrZXlzIjoiQUxMIiwgInJvd3NfcGVyX3BhcnRpdGlvbiI6Ik5PTkUifQARAAZ0YWJsZTIAAAVjZl9pZAAAAAUV99Xn9BgAAAAQAjjkQ/+wNX+RkvaXfb5+KwAaAAZ0YWJsZTIAAA5jb2x1bW5fYWxpYXNlcwAAAAUV99Xn9BgAAAAFWyJjIl0AEwAGdGFibGUyAAAHY29tbWVudAAAAAUV99Xn9BgAAAAAACUABnRhYmxlMgAAGWNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MAAAAFFffV5/QYAAAAP29yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLmNvbXBhY3Rpb24uU2l6ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneQAnAAZ0YWJsZTIAABtjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMAAAAFFffV5/QYAAAAAnt9ABYABnRhYmxlMgAACmNvbXBhcmF0b3IAAAAFFffV5/QYAAAAgG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuQ29tcG9zaXRlVHlwZShvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlVURjhUeXBlLG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVVRGOFR5cGUpACIABnRhYmxlMgAAFmNvbXByZXNzaW9uX3BhcmFtZXRlcnMAAAAFFffV5/QYAAAASHsic3N0YWJsZV9jb21wcmVzc2lvbiI6Im9yZy5hcGFjaGUuY2Fzc2FuZHJhLmlvLmNvbXByZXNzLkxaNENvbXByZXNzb3IifQAgAAZ0YWJsZTIAABRkZWZhdWx0X3RpbWVfdG9fbGl2ZQAAAAUV99Xn9BgAAAAEAAAAAAAdAAZ0YWJsZTIAABFkZWZhdWx0X3ZhbGlkYXRvcgAAAAUV99Xn9BgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5CeXRlc1R5cGUAHAAGdGFibGUyAAAQZ2NfZ3JhY2Vfc2Vjb25kcwAAAAUV99Xn9BgAAAAEAAAAAAAaAAZ0YWJsZTIAAA5pbmRleF9pbnRlcnZhbAABAAUV99Xn9BgAAAAEVVNmcQAUAAZ0YWJsZTIAAAhpc19kZW5zZQAAAAUV99Xn9BgAAAABAAAXAAZ0YWJsZTIAAAtrZXlfYWxpYXNlcwAAAAUV99Xn9BgAAAAFWyJrIl0AGQAGdGFibGUyAAANa2V5X3ZhbGlkYXRvcgAAAAUV99Xn9BgAAAAob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5VVEY4VHlwZQAkAAZ0YWJsZTIAABhsb2NhbF9yZWFkX3JlcGFpcl9jaGFuY2UAAAAFFffV5/QYAAAACAAAAAAAAAAAACQABnRhYmxlMgAAGG1heF9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99Xn9BgAAAAEAAAAIAAeAAZ0YWJsZTIAABJtYXhfaW5kZXhfaW50ZXJ2YWwAAAAFFffV5/QYAAAABAAACAAAJwAGdGFibGUyAAAbbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zAAAABRX31ef0GAAAAAQANu6AACQABnRhYmxlMgAAGG1pbl9jb21wYWN0aW9uX3RocmVzaG9sZAAAAAUV99Xn9BgAAAAEAAAABAAeAAZ0YWJsZTIAABJtaW5faW5kZXhfaW50ZXJ2YWwAAAAFFffV5/QYAAAABAAAAIAAHgAGdGFibGUyAAAScmVhZF9yZXBhaXJfY2hhbmNlAAAABRX31ef0GAAAAAgAAAAAAAAAAAAdAAZ0YWJsZTIAABFzcGVjdWxhdGl2ZV9yZXRyeQAAAAUV99Xn9BgAAAAOOTkuMFBFUkNFTlRJTEUAEAAGdGFibGUyAAAEdHlwZQAAAAUV99Xn9BgAAAAIU3RhbmRhcmQAFwAGdGFibGUyAAALdmFsdWVfYWxpYXMAAQAFFffV5/QYAAAABFVTZnEBKW6cBJvsMIWCfcF9PfISKn////+AAAAAAAAAAAAAAAAAAABiAA8AA2ZvbwAAA2JhcgAAAAAAAAUV99Xn9BgAAAAAAB4AA2ZvbwAAA2JhcgAAD2NvbXBvbmVudF9pbmRleAABAAUV99Xn9BgAAAAEVVNmcQAZAANmb28AAANiYXIAAAppbmRleF9uYW1lAAEABRX31ef0GAAAAARVU2ZxABwAA2ZvbwAAA2JhcgAADWluZGV4X29wdGlvbnMAAAAFFffV5/QYAAAABG51bGwAGQADZm9vAAADYmFyAAAKaW5kZXhfdHlwZQABAAUV99Xn9BgAAAAEVVNmcQATAANmb28AAANiYXIAAAR0eXBlAAAABRX31ef0GAAAAA1wYXJ0aXRpb25fa2V5ABgAA2ZvbwAAA2JhcgAACXZhbGlkYXRvcgAAAAUV99Xn9BgAAAAob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5VVEY4VHlwZQAPAANmb28AAANiYXoAAAAAAAAFFffV5/QYAAAAAAAeAANmb28AAANiYXoAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV5/QYAAAABFVTZnEAGQADZm9vAAADYmF6AAAKaW5kZXhfbmFtZQABAAUV99Xn9BgAAAAEVVNmcQAcAANmb28AAANiYXoAAA1pbmRleF9vcHRpb25zAAAABRX31ef0GAAAAARudWxsABkAA2ZvbwAAA2JhegAACmluZGV4X3R5cGUAAQAFFffV5/QYAAAABFVTZnEAEwADZm9vAAADYmF6AAAEdHlwZQAAAAUV99Xn9BgAAAAOY2x1c3RlcmluZ19rZXkAGAADZm9vAAADYmF6AAAJdmFsaWRhdG9yAAAABRX31ef0GAAAAChvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlVURjhUeXBlAA8AA2ZvbwAAA3F1eAAAAAAAAAUV99Xn9BgAAAAAAB4AA2ZvbwAAA3F1eAAAD2NvbXBvbmVudF9pbmRleAABAAUV99Xn9BgAAAAEVVNmcQAZAANmb28AAANxdXgAAAppbmRleF9uYW1lAAEABRX31ef0GAAAAARVU2ZxABwAA2ZvbwAAA3F1eAAADWluZGV4X29wdGlvbnMAAAAFFffV5/QYAAAABG51bGwAGQADZm9vAAADcXV4AAAKaW5kZXhfdHlwZQABAAUV99Xn9BgAAAAEVVNmcQATAANmb28AAANxdXgAAAR0eXBlAAAABRX31ef0GAAAAA1jb21wYWN0X3ZhbHVlABgAA2ZvbwAAA3F1eAAACXZhbGlkYXRvcgAAAAUV99Xn9BgAAAAob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5VVEY4VHlwZQASAAZmb29mb28AAANiYXIAAAAAAAAFFffV5/QYAAAAAAAhAAZmb29mb28AAANiYXIAAA9jb21wb25lbnRfaW5kZXgAAAAFFffV5/QYAAAABAAAAAAAHAAGZm9vZm9vAAADYmFyAAAKaW5kZXhfbmFtZQABAAUV99Xn9BgAAAAEVVNmcQAfAAZmb29mb28AAANiYXIAAA1pbmRleF9vcHRpb25zAAAABRX31ef0GAAAAARudWxsABwABmZvb2ZvbwAAA2JhcgAACmluZGV4X3R5cGUAAQAFFffV5/QYAAAABFVTZnEAFgAGZm9vZm9vAAADYmFyAAAEdHlwZQAAAAUV99Xn9BgAAAANcGFydGl0aW9uX2tleQAbAAZmb29mb28AAANiYXIAAAl2YWxpZGF0b3IAAAAFFffV5/QYAAAAKG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVVRGOFR5cGUAEgAGZm9vZm9vAAADYmF6AAAAAAAABRX31ef0GAAAAAAAIQAGZm9vZm9vAAADYmF6AAAPY29tcG9uZW50X2luZGV4AAAABRX31ef0GAAAAAQAAAABABwABmZvb2ZvbwAAA2JhegAACmluZGV4X25hbWUAAQAFFffV5/QYAAAABFVTZnEAHwAGZm9vZm9vAAADYmF6AAANaW5kZXhfb3B0aW9ucwAAAAUV99Xn9BgAAAAEbnVsbAAcAAZmb29mb28AAANiYXoAAAppbmRleF90eXBlAAEABRX31ef0GAAAAARVU2ZxABYABmZvb2ZvbwAAA2JhegAABHR5cGUAAAAFFffV5/QYAAAADXBhcnRpdGlvbl9rZXkAGwAGZm9vZm9vAAADYmF6AAAJdmFsaWRhdG9yAAAABRX31ef0GAAAAChvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlVURjhUeXBlABIABmZvb2ZvbwAAA2ZvbwAAAAAAAAUV99Xn9BgAAAAAACEABmZvb2ZvbwAAA2ZvbwAAD2NvbXBvbmVudF9pbmRleAABAAUV99Xn9BgAAAAEVVNmcQAcAAZmb29mb28AAANmb28AAAppbmRleF9uYW1lAAEABRX31ef0GAAAAARVU2ZxAB8ABmZvb2ZvbwAAA2ZvbwAADWluZGV4X29wdGlvbnMAAAAFFffV5/QYAAAABG51bGwAHAAGZm9vZm9vAAADZm9vAAAKaW5kZXhfdHlwZQABAAUV99Xn9BgAAAAEVVNmcQAWAAZmb29mb28AAANmb28AAAR0eXBlAAAABRX31ef0GAAAAA1jb21wYWN0X3ZhbHVlABsABmZvb2ZvbwAAA2ZvbwAACXZhbGlkYXRvcgAAAAUV99Xn9BgAAAAob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5VVEY4VHlwZQASAAZmb29mb28AAANxdXgAAAAAAAAFFffV5/QYAAAAAAAhAAZmb29mb28AAANxdXgAAA9jb21wb25lbnRfaW5kZXgAAAAFFffV5/QYAAAABAAAAAAAHAAGZm9vZm9vAAADcXV4AAAKaW5kZXhfbmFtZQABAAUV99Xn9BgAAAAEVVNmcQAfAAZmb29mb28AAANxdXgAAA1pbmRleF9vcHRpb25zAAAABRX31ef0GAAAAARudWxsABwABmZvb2ZvbwAAA3F1eAAACmluZGV4X3R5cGUAAQAFFffV5/QYAAAABFVTZnEAFgAGZm9vZm9vAAADcXV4AAAEdHlwZQAAAAUV99Xn9BgAAAAOY2x1c3RlcmluZ19rZXkAGwAGZm9vZm9vAAADcXV4AAAJdmFsaWRhdG9yAAAABRX31ef0GAAAAChvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlVURjhUeXBlABIABmZvb2ZvbwAAA3F1egAAAAAAAAUV99Xn9BgAAAAAACEABmZvb2ZvbwAAA3F1egAAD2NvbXBvbmVudF9pbmRleAAAAAUV99Xn9BgAAAAEAAAAAQAcAAZmb29mb28AAANxdXoAAAppbmRleF9uYW1lAAEABRX31ef0GAAAAARVU2ZxAB8ABmZvb2ZvbwAAA3F1egAADWluZGV4X29wdGlvbnMAAAAFFffV5/QYAAAABG51bGwAHAAGZm9vZm9vAAADcXV6AAAKaW5kZXhfdHlwZQABAAUV99Xn9BgAAAAEVVNmcQAWAAZmb29mb28AAANxdXoAAAR0eXBlAAAABRX31ef0GAAAAA5jbHVzdGVyaW5nX2tleQAbAAZmb29mb28AAANxdXoAAAl2YWxpZGF0b3IAAAAFFffV5/QYAAAAKG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVVRGOFR5cGUAEAAGdGFibGUxAAABawAAAAAAAAUV99Xn9BgAAAAAAB8ABnRhYmxlMQAAAWsAAA9jb21wb25lbnRfaW5kZXgAAQAFFffV5/QYAAAABFVTZnEAGgAGdGFibGUxAAABawAACmluZGV4X25hbWUAAQAFFffV5/QYAAAABFVTZnEAHQAGdGFibGUxAAABawAADWluZGV4X29wdGlvbnMAAAAFFffV5/QYAAAABG51bGwAGgAGdGFibGUxAAABawAACmluZGV4X3R5cGUAAQAFFffV5/QYAAAABFVTZnEAFAAGdGFibGUxAAABawAABHR5cGUAAAAFFffV5/QYAAAADXBhcnRpdGlvbl9rZXkAGQAGdGFibGUxAAABawAACXZhbGlkYXRvcgAAAAUV99Xn9BgAAAApb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5JbnQzMlR5cGUAEQAGdGFibGUxAAACdjEAAAAAAAAFFffV5/QYAAAAAAAgAAZ0YWJsZTEAAAJ2MQAAD2NvbXBvbmVudF9pbmRleAAAAAUV99Xn9BgAAAAEAAAAAAAbAAZ0YWJsZTEAAAJ2MQAACmluZGV4X25hbWUAAQAFFffV5/QYAAAABFVTZnEAHgAGdGFibGUxAAACdjEAAA1pbmRleF9vcHRpb25zAAAABRX31ef0GAAAAARudWxsABsABnRhYmxlMQAAAnYxAAAKaW5kZXhfdHlwZQABAAUV99Xn9BgAAAAEVVNmcQAVAAZ0YWJsZTEAAAJ2MQAABHR5cGUAAAAFFffV5/QYAAAAB3JlZ3VsYXIAGgAGdGFibGUxAAACdjEAAAl2YWxpZGF0b3IAAAAFFffV5/QYAAAAKG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVVRGOFR5cGUAEQAGdGFibGUxAAACdjIAAAAAAAAFFffV5/QYAAAAAAAgAAZ0YWJsZTEAAAJ2MgAAD2NvbXBvbmVudF9pbmRleAAAAAUV99Xn9BgAAAAEAAAAAAAbAAZ0YWJsZTEAAAJ2MgAACmluZGV4X25hbWUAAQAFFffV5/QYAAAABFVTZnEAHgAGdGFibGUxAAACdjIAAA1pbmRleF9vcHRpb25zAAAABRX31ef0GAAAAARudWxsABsABnRhYmxlMQAAAnYyAAAKaW5kZXhfdHlwZQABAAUV99Xn9BgAAAAEVVNmcQAVAAZ0YWJsZTEAAAJ2MgAABHR5cGUAAAAFFffV5/QYAAAAB3JlZ3VsYXIAGgAGdGFibGUxAAACdjIAAAl2YWxpZGF0b3IAAAAFFffV5/QYAAAAKW9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuSW50MzJUeXBlABAABnRhYmxlMgAAAWMAAAAAAAAFFffV5/QYAAAAAAAfAAZ0YWJsZTIAAAFjAAAPY29tcG9uZW50X2luZGV4AAAABRX31ef0GAAAAAQAAAAAABoABnRhYmxlMgAAAWMAAAppbmRleF9uYW1lAAEABRX31ef0GAAAAARVU2ZxAB0ABnRhYmxlMgAAAWMAAA1pbmRleF9vcHRpb25zAAAABRX31ef0GAAAAARudWxsABoABnRhYmxlMgAAAWMAAAppbmRleF90eXBlAAEABRX31ef0GAAAAARVU2ZxABQABnRhYmxlMgAAAWMAAAR0eXBlAAAABRX31ef0GAAAAA5jbHVzdGVyaW5nX2tleQAZAAZ0YWJsZTIAAAFjAAAJdmFsaWRhdG9yAAAABRX31ef0GAAAAChvcmcuYXBhY2hlLmNhc3NhbmRyYS5kYi5tYXJzaGFsLlVURjhUeXBlABAABnRhYmxlMgAAAWsAAAAAAAAFFffV5/QYAAAAAAAfAAZ0YWJsZTIAAAFrAAAPY29tcG9uZW50X2luZGV4AAEABRX31ef0GAAAAARVU2ZxABoABnRhYmxlMgAAAWsAAAppbmRleF9uYW1lAAEABRX31ef0GAAAAARVU2ZxAB0ABnRhYmxlMgAAAWsAAA1pbmRleF9vcHRpb25zAAAABRX31ef0GAAAAARudWxsABoABnRhYmxlMgAAAWsAAAppbmRleF90eXBlAAEABRX31ef0GAAAAARVU2ZxABQABnRhYmxlMgAAAWsAAAR0eXBlAAAABRX31ef0GAAAAA1wYXJ0aXRpb25fa2V5ABkABnRhYmxlMgAAAWsAAAl2YWxpZGF0b3IAAAAFFffV5/QYAAAAKG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRiLm1hcnNoYWwuVVRGOFR5cGUAEAAGdGFibGUyAAABdgAAAAAAAAUV99Xn9BgAAAAAAB8ABnRhYmxlMgAAAXYAAA9jb21wb25lbnRfaW5kZXgAAAAFFffV5/QYAAAABAAAAAEAGgAGdGFibGUyAAABdgAACmluZGV4X25hbWUAAQAFFffV5/QYAAAABFVTZnEAHQAGdGFibGUyAAABdgAADWluZGV4X29wdGlvbnMAAAAFFffV5/QYAAAABG51bGwAGgAGdGFibGUyAAABdgAACmluZGV4X3R5cGUAAQAFFffV5/QYAAAABFVTZnEAFAAGdGFibGUyAAABdgAABHR5cGUAAAAFFffV5/QYAAAAB3JlZ3VsYXIAGQAGdGFibGUyAAABdgAACXZhbGlkYXRvcgAAAAUV99Xn9BgAAAAob3JnLmFwYWNoZS5jYXNzYW5kcmEuZGIubWFyc2hhbC5VVEY4VHlwZQBaYPIAAyXZAcrYQgAAAExeLtKnACEABnN5c3RlbQAADnNjaGVtYV9jb2x1bW5zAAAEAAAABAAAAAABAVof8mes4D8ShWPPrmEDxl5VU2ZxAAUV99XpCXAAAAAAAAAAADEETa4AAyY51xx7qgAAAExeLtKnACEABnN5c3RlbQAADnNjaGVtYV9jb2x1bW5zAAAEAAAAAwAAAAABAVof8mes4D8ShWPPrmEDxl5VU2ZxAAUV99XpneAAAAAAAAAAAD3b4aMAAyaZXDvKEQAAAExeLtKnACEABnN5c3RlbQAADnNjaGVtYV9jb2x1bW5zAAAEAAAAAgAAAAABAVof8mes4D8ShWPPrmEDxl5VU2ZxAAUV99Xp0KgAAAAAAAAAAHTGOlcAAyb5iu1p+QAAAExeLtKnACEABnN5c3RlbQAADnNjaGVtYV9jb2x1bW5zAAAEAAAAAQAAAAABAVof8mes4D8ShWPPrmEDxl5VU2ZxAAUV99Xp7AAAAAAAAAAAAJBBYxgAAydUx18IoQAAAEfJ/AsvABwABnN5c3RlbQAACUluZGV4SW5mbwAABAAAAAEAAAAAAQFaH/JnrOA/EoVjz65hA8ZeVVNmcQAFFffV6wkoAAAAAAAAAAAN9DzgAAMoLXYj5rUAAABHyfwLLwAcAAZzeXN0ZW0AAAlJbmRleEluZm8AAAQAAAAEAAAAAAEBWh/yZ6zgPxKFY8+uYQPGXlVTZnEABRX31etLkAAAAAAAAAAA5CqirgAAAHKfT88MAAVsb2NhbAAAAAEBetVDkrzdNaaEF04EeGCzd3////+AAAAAAAAAAAAAAAAAAAACAAMAAAAAAAUV99XrgkAAAAAAABEADnNjaGVtYV92ZXJzaW9uAAAABRX31euCQAAAABCuO3ZMy/k4t4rkWJnje9ePmIgWcgADOiPYYjPiAAABT948slwAEDQzMTEpCiAqIG11bHRpdGgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IK/kAAAEAY29tcGFjdGlvbmxvY2sgdXNlIGluIHNjaGVtYSBtaWdyYXRpb24gYnkgY2hlY2tpbmcgQ0ZTLmlzVmFsaWQKICAgKENBU1NBTkRSQS0zMTE2KQogKiByZWNvZ25pemUgdGhhdCAiU0VMRUNUIGZpcnN0IC4uLiAqIiBpc24ndCByZWFsbHkgIlNFTEVDVCAqIiAoQ0FTU0FORFJBLTM0NDUpCiAqIFVzZSBmYXN0ZXIgYnl0ZXMgY29tcGFyaXNvbiAoQ0FTU0FORFJBLTM0MzQpCiAqIEJ1bGsgbG9hZGVyIGlzIG5vIGxvbmdlciBhIGZhdCBjbGllbnQsIChIQcVNl4wAAAFP3jyyXAAQIENRTCB0eXBlIG5hbWVzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgr+QAAAQBBU1NBTkRSQS03MDE4KQogKiBQcm9wZXJseSBsb2FkIHRydXN0b3JlIGluIHRoZSBuYXRpdmUgcHJvdG9jb2wgKENBU1NBTkRSQS02ODQ3KQogKiBBbHdheXMgY2xlYW4gdXAgcmVmZXJlbmNlcyBpbiBTZXJpYWxpemluZ0NhY2hlIChDQVNTQU5EUkEtNjk5NCkKICogRG9uJ3Qgc2h1dCBNZXNzYWdpbmdTZXJ2aWNlIGRvd24gd2hlbiByZXBsYWNpbmcgYSBub2RlIChDQVNTQU5EUkEtNjQ3NikKICogZml4IG5wZSB3aGVuIGRvaW5nIC1EY2Fzc2FuZHJhKN05TQAAAU/ePLJcABBuY3Rpb24gd2l0aCBtdWx0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCv5AAABAGxvY2FsLW5vZGUgd3JpdGVzIChDQVNTQU5EUkEtNTU4KQogKiBhZGRlZCBnZXRfcmFuZ2Vfc2xpY2UsIGRlcHJlY2F0aW5nIGdldF9rZXlfcmFuZ2UgKENBU1NBTkRSQS0zNDQpCiAqIGV4cG9zZSBUaW1lZE91dEV4Y2VwdGlvbiB0byB0aHJpZnQgKENBU1NBTkRSQS01NjMpCiAKCjAuNC4yCiAqIEFkZCB2YWxpZGF0aW9uIGRpc2FsbG93aW5nIG51bGwga2V5cyAoQ0FTU0FORFJBLTQ4NikKICogRml4IHJhY2UgY29uZGl0aW9ucyBpbiBUQ1BDb25uZWOxHEgSAAABT948slwAEDcwKQogKiBhZGQgYW50LW8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IK/kAAAEAbCBSUEMgdGltZW91dCBjYWxjdWxhdGlvbiAoQ0FTU0FORFJBLTkxMSkKICogQWRkZWQgUGlnIGxvYWRmdW5jIHRvIGNvbnRyaWIvcGlnIChDQVNTQU5EUkEtOTEwKQoKCjAuNi4wLWJldGEzCiAqIGZpeCBjb21wYWN0aW9uIGJ1Y2tldGluZyBidWcgKENBU1NBTkRSQS04MTQpCiAqIHVwZGF0ZSB3aW5kb3dzIGJhdGNoIGZpbGUgKENBU1NBTkRSQS04MjQpCiAqIGRlcHJlY2F0ZSBLZXlzQ2FjaGVkRnJhY3Rpb24gY29uZmlndXJhdGlvbiBkaXJlY3Rpdm8iIhEAAAFP3jyyXAAQZXN0YW1wIGlmIHdlIGhhdgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgr+QAAAQBvdyBpbnRvIHJvdyBjYWNoZSBvbiBzdGFydHVwIChDQVNTQU5EUkEtNDQ2MykKICogZnN5bmMgbGV2ZWxlZCBtYW5pZmVzdCB0byBhdm9pZCBjb3JydXB0aW9uIChDQVNTQU5EUkEtNTUzNSkKICogRml4IEJvdW5kIGludGVyc2VjdGlvbiBjb21wdXRhdGlvbiAoQ0FTU0FORFJBLTU1NTEpCiAqIHNzdGFibGVzY3J1YiBub3cgcmVzcGVjdHMgbWF4IG1lbW9yeSBzaXplIGluIGNhc3NhbmRyYS5pbi5zaCAoQ0FTU0FORFJBLTU1NjIpCgoKMS4yLjQKICogH9aiCwAAAU/ePLJcABBTU0FORFJBLTczODYpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCv5AAABAE5EUkEtMjI4MCkKICogZG9uJ3QgYm90aGVyIHBlcnNpc3RpbmcgY29sdW1ucyBzaGFkb3dlZCBieSBhIHJvdyB0b21ic3RvbmUgKENBU1NBTkRSQS0yNTg5KQogKiByZXNldCBDRiBhbmQgU0MgZGVsZXRpb24gdGltZXMgYWZ0ZXIgZ2NfZ3JhY2UgKENBU1NBTkRSQS0yMzE3KQogKiBvcHRpbWl6ZSBhd2F5IHNlZWsgd2hlbiBjb21wYWN0aW5nIHdpZGUgcm93cyAoQ0FTU0FORFJBLTI4NzkpCiAqIHNpbmdsZS1wYXNzIHN0cmVhbWluZyAoQ0FTU0FORFJA+9WTAAABT948slwAECAgKENBU1NBTkRSQS0zMTgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IK/kAAAEALjAtcmM1CiAqIFJlamVjdCBjb3VudGVycyBpbnNpZGUgdXNlciB0eXBlcyAoQ0FTU0FORFJBLTc2NzIpCiAqIFN3aXRjaCB0byBub3RpZmljYXRpb24tYmFzZWQgR0NJbnNwZWN0b3IgKENBU1NBTkRSQS03NjM4KQogKiAoY3Fsc2gpIEhhbmRsZSBudWxscyBpbiBVRFRzIGFuZCB0dXBsZXMgY29ycmVjdGx5IChDQVNTQU5EUkEtNzY1NikKICogRG9uJ3QgdXNlIHN0cmljdCBjb25zaXN0ZW5jeSB3aGVuIHJlcGxhY2luZyAoQ0FTU0FORFJBLTc1NjgpCnm5Pi8AAAFP3jyyXAAQZXhhY3QgU1NUYWJsZVJlYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgr+QAAAQBsIHF1ZXVlIHNjZW5hcmlvIGZvciBQYXJhbGxlbENvbXBhY3Rpb25JdGVyYXRvciAoQ0FTU0FORFJBLTMyNzApCiAqIGZpeCBib290c3RyYXAgcHJvY2VzcyAoQ0FTU0FORFJBLTMyODUpCiAqIGRvbid0IHRyeSBkZWxpdmVyaW5nIGhpbnRzIGlmIHdoZW4gdGhlcmUgaXNuJ3QgYW55IChDQVNTQU5EUkEtMzE3NikKICogQ0xJIGRvY3VtZW50YXRpb24gY2hhbmdlIGZvciBDb2x1bW5GYW1pbHkgYGNvbXByZXNzaW9uX29wdGlvbnNgIChDQVNTQU5EUkEtHFs3xAAAAU/ePLJcABA0NTgpCiAqIG1hZGUgQ29tAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCv5AAABADYpCiAqIGZpeCBOUEUgZHVyaW5nIHN0cmVhbSBzZXNzaW9uIChDQVNTQU5EUkEtMjM3NykKICogZml4IHJhY2UgY29uZGl0aW9uIHRoYXQgY291bGQgbGVhdmUgb3JwaGFuZWQgZGF0YSBmaWxlcyB3aGVuIGRyb3BwaW5nIENGIG9yCiAgIEtTIChDQVNTQU5EUkEtMjM4MSkKICogZnN5bmMgc3RhdGlzdGljcyBjb21wb25lbnQgb24gd3JpdGUgKENBU1NBTkRSQS0yMzgyKQogKiBmaXggZHVwbGljYXRlIHJlc3VsdHMgZnJvbSBDRlMuc2NhbiAoQ0FTU0HOuUtvAAABT948slwAEG5jb2RlIG5vbi1TdHJpbmcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IK/kAAAEAcG9ydCBmb3IgUGlnIENhc3NhbmRyYVN0b3JhZ2UgKENBU1NBTkRSQS0zMDQyKQogKiBmaXggQ1FMMiBBTFRFUiBUQUJMRSBjb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzIGFsdGVyaW5nIChDQVNTQU5EUkEtNDk2NSkKTWVyZ2VkIGZyb20gMS4xOgogKiBGYWxsIGJhY2sgdG8gb2xkIGRlc2NyaWJlX3NwbGl0cyBpZiBkX3NfZXggaXMgbm90IGF2YWlsYWJsZSAoQ0FTU0FORFJBLTQ4MDMpCiAqIEltcHJvdmUgZXJyb3IgcmVwb3J0aW5nIHdoZW4gc3RyZej3lXAAAAFP3jyyXAAQb3JkZXJlZCBieSBrZXksIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgr/QAAAQBpbHRlcgogICAoQ0FTU0FORFJBLTc5MCkKICogaW5jbHVkZSBqdm0gYXJndW1lbnQgaW1wcm92ZW1lbnRzIGZyb20gQ0FTU0FORFJBLTUwNCBpbiBkZWJpYW4gcGFja2FnZQogKiBjaGFuZ2Ugc3RyZWFtaW5nIGNodW5rIHNpemUgdG8gMzJNQiB0byBhY2NvbW9kYXRlIFdpbmRvd3MgWFAgbGltaXRhdGlvbnMKICAgKHdhcyA2NE1CKSAoQ0FTU0FORFJBLTc5NSkKICogZml4IGdldF9yYW5nZV9zbGljZSByZXR1cm5pbmcgcmVzdWx0cyBpbiB0aGUgd3Jv+7KpqAAAAU/ePLJcABBtbWl0bG9nIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCv9AAABACB1cGdyYWRlZCAoQ0FTU0FORFJBLTU4MjIpCiAqIEZpeCBidWZmZXIgdW5kZXJmbG93IG9uIHNvY2tldCBjbG9zZSAoQ0FTU0FORFJBLTU3OTIpCk1lcmdlZCBmcm9tIDEuMjoKICogRml4IHJlYWRpbmcgRGVsZXRpb25UaW1lIGZyb20gMS4xLWZvcm1hdCBzc3RhYmxlcyAoQ0FTU0FORFJBLTU4MTQpCiAqIGNxbHNoOiBhZGQgY29sbGVjdGlvbnMgc3VwcG9ydCB0byBDT1BZIChDQVNTQU5EUkEtNTY5OCkKICogcmV0cnkgaW1wb3J0YW50IG1lc3NhZ2Wq9F7LAAABni/oUB4AEG6lsID5gBHkuKDn1EjV4m0AAAABAbTbt7TcST+1s7/ObkNIMsp/////gAAAAAAAAAAAAAABAA4AC3Jvd3NfbWVyZ2Vk/wAOAAtyb3dzX21lcmdlZAFVU2ZxAAUV99XqYS8AAAAHAAMAAAACAAk6gFVcoPEABRX31ephMAAAAAAACwAIYnl0ZXNfaW4AAgAJOoBVXKDxAAUV99XqYTAAAAAIAAAAAAAAMq0ADAAJYnl0ZXNfb3V0AAIACTqAVVyg8QAFFffV6mEwAAAACAAAAAAAADGAABQAEWNvbHVtbmZhbWlseV9uYW1lAAIACTqAVVyg8QAFFffV6mEwAAAADnNjaGVtYV9jb2x1bW5zAA8ADGNvbXBhY3RlZF9hdAACAAk6gFVcoPEABRX31ephMAAAAAgAAAFNTcgriAAQAA1rZXlzcGFjZV9uYW1lAAIACTqAVVyg8QAFFffV6mEwAAAABnN5c3RlbQAVAAtyb3dzX21lcmdlZAAABAAAAAEAAgAJOoBVXKDxAAUV99XqYTAAAAAIAAAAAAAAAAT1dp2CAAM/DUcubjYAAAHN3YpQUAAQbrUZ0PmAEeS4oOfUSNXibQAAAAEBtNu3tNxJP7Wzv85uQ0gyyn////+AAAAAAAAAAAAAAAEADgALcm93c19tZXJnZWT/AA4AC3Jvd3NfbWVyZ2VkAVVTZnEABRX31euVxwAAAAgAAwAAAAIACTqAVVyg8QAFFffV65XIAAAAAAALAAhieXRlc19pbgACAAk6gFVcoPEABRX31euVyAAAAAgAAAAAAAABMQAMAAlieXRlc19vdXQAAgAJOoBVXKDxAAUV99XrlcgAAAAIAAAAAAAAAIQAFAARY29sdW1uZmFtaWx5X25hbWUAAgAJOoBVXKDxAAUV99XrlcgAAAAJSW5kZXhJbmZvAA8ADGNvbXBhY3RlZF9hdAACAAk6gFVcoPEABRX31euVyAAAAAgAAAFNTcgr7QAQAA1rZXlzcGFjZV9uYW1lAAIACTqAVVyg8QAFFffV65XIAAAABnN5c3RlbQAVAAtyb3dzX21lcmdlZAAABAAAAAEAAgAJOoBVXKDxAAUV99XrlcgAAAAIAAAAAAAAAAIAFQALcm93c19tZXJnZWQAAAQAAAACAAIACTqAVVyg8QAFFffV65XIAAAACAAAAAAAAAABp9O6EAAAAU/ePLJcABAtcGxhdGZvcm0gbmV3bGluAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCv/AAABAGVtb3J5IHF1ZXJ5IGZhaWxzIChDQVNTQU5EUkEtNzUwNSkKICogQW50aS1jb21wYWN0aW9uIHByb2NlZWRzIGlmIGFueSBwYXJ0IG9mIHRoZSByZXBhaXIgZmFpbGVkIChDQVNBTkRSQS03NTIxKQogKiBBZGQgbWlzc2luZyB0YWJsZSBuYW1lIHRvIERST1AgSU5ERVggcmVzcG9uc2VzIGFuZCBub3RpZmljYXRpb25zIChDQVNTQU5EUkEtNzUzOSkKICogQnVtcCBDUUwgdmVyc2lvbiB0byAzLjIuMCBhbmQgdXBkYXRlIENRTCBkb2N1bWVudGF0aW9uICiBcWFEAAAAR8n8Cy8AHAAGc3lzdGVtAAAJSW5kZXhJbmZvAAAEAAAAAwAAAAABAVof8mes4D8ShWPPrmEDxl5VU2ZxAAUV99Xr3BgAAAAAAAAAABTaVckAAAFP3jyyXAAQIChDQVNTQU5EUkEtNzc4OQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgr/wAAAQAtNjQ4OCkKICogY3Fsc2g6IHF1b3RlIHNpbmdsZSBxdW90ZXMgaW4gc3RyaW5ncyBpbnNpZGUgY29sbGVjdGlvbnMgKENBU1NBTkRSQS02MTcyKQogKiBJbXByb3ZlIGdvc3NpcCBwZXJmb3JtYW5jZSBmb3IgdHlwaWNhbCBtZXNzYWdlcyAoQ0FTU0FORFJBLTY0MDkpCiAqIFRocm93IElSRSBpZiBhIHByZXBhcmVkIHN0YXRlbWVudCBoYXMgbW9yZSBtYXJrZXJzIHRoYW4gc3VwcG9ydGVkIAogICAoQ0FTU0FORFJBLTU1OTgpCiAqIEV4cG9zZSBUaHJlwmWvIwADULTmj5e8AAABT948slwAEG1ham9yIGNvbXBhY3Rpb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAAAAAEAIHZlcmIgYW5kIHVwZGF0ZSBDYXNzYW5kcmFCdWxrTG9hZGVyCiAgIHRvIHdhaXQgZm9yIGFja3MgZm9yIGVhY2ggcm93IChDQVNTQU5EUkEtMTA5MykKICogYWRkZWQgZGVzY3JpYmVfcGFydGl0aW9uZXIgVGhyaWZ0IG1ldGhvZCAoQ0FTU0FORFJBLTEwNDcpCiAqIEhhZG9vcCBqb2JzIG5vIGxvbmdlciByZXF1aXJlIHRoZSBDYXNzYW5kcmEgc3RvcmFnZS1jb25mLnhtbAogICAoQ0FTU0FORFJBLTEyODAsIENBU1NBTkRSQS0xMDQ3KQogKiBsb2cgdARtWjYAAAFP3jyyXAAQLXJjMQogKiBpbXByb3ZlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsAAAAAQAgKiBib3VuZCByZWFkLCBtdXRhdGlvbiwgYW5kIHJlc3BvbnNlIHN0YWdlcyB0byBmaXggcG9zc2libGUgT09NCiAgIGR1cmluZyBsb2cgcmVwbGF5IChDQVNTQU5EUkEtODg1KQogKiBVc2UgbWljcm9zZWNvbmRzLXNpbmNlLWVwb2NoIChVVEMpIGluIGNsaSwgaW5zdGVhZCBvZiBtaWxsaXNlY29uZHMKICogVHJlYXQgYmF0Y2hfbXV0YXRlIERlbGV0aW9uIHdpdGggbnVsbCBzdXBlcmNvbHVtbiBhcyAiYXBwbHkgdGhpcyBwcmVkaWNhdGUgCiAgIHRvYMMcSQAAAU/ePLJcABAqIEZpeCBjYXNzYW5kcmEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwAAAABACBhbGxvdyBBQ0ZSVyB0byBsaW1pdCBub2RlcyB0byBsb2NhbCBEQyAoQ0FTU0FORFJBLTcyNTIpCiAqIChjcWxzaCkgY3Fsc2ggc2hvdWxkIGF1dG9tYXRpY2FsbHkgZGlzYWJsZSB0cmFjaW5nIHdoZW4gc2VsZWN0aW5nCiAgIGZyb20gc3lzdGVtX3RyYWNlcyAoQ0FTU0FORFJBLTc2NDEpCiAqIChIYWRvb3ApIEFkZCBDcWxPdXRwdXRGb3JtYXQgKENBU1NBTkRSQS02OTI3KQogKiBEb24ndCBkZXBlbmQgb24gY2Fzc2FuZHJhIGNvbmZpZyBmb3Igbm+jk7XmAAABT948slwAECBzaGFkb3dlZCBieSByYW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAAAAAEAX2ZwX2NoYW5jZSAoQ0FTU0FORFJBLTM0OTcpCiAqIGF0dGVtcHQgaGludCBkZWxpdmVyeSBldmVyeSB0ZW4gbWludXRlcywgb3Igd2hlbiBmYWlsdXJlIGRldGVjdG9yCiAgIG5vdGlmaWVzIHVzIHRoYXQgYSBub2RlIGlzIGJhY2sgdXAsIHdoaWNoZXZlciBjb21lcyBmaXJzdC4gIGhpbnQKICAgaGFuZG9mZiB0aHJvdHRsZSBkZWxheSBkZWZhdWx0IGNoYW5nZWQgdG8gMW1zLCBmcm9tIDUwIChDQVNTQU5EUkEtMzU1NCkKICogYWRkIG5vZGV0b29sION5exQAAAFP3jyyXAAQU1NBTkRSQS05MzApCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsAAAAAQB0IGZpbGVzIGZvciBzaGVsbCBjb21tYW5kcyAoQ0FTU0FORFJBLTYxNDUpCiAqIEZpeCBwb3RlbnRpYWwgc3RhY2sgb3ZlcmZsb3cgZHVyaW5nIHJhbmdlIHRvbWJzdG9uZXMgaW5zZXJ0aW9uIChDQVNTQU5EUkEtNjE4MSkKICogKEhhZG9vcCkgTWFrZSBMT0NBTF9PTkUgdGhlIGRlZmF1bHQgY29uc2lzdGVuY3kgbGV2ZWwgKENBU1NBTkRSQS02MjE0KQoKCjIuMC4xCiAqIEZpeCBidWcgdGhhdCBjb3VsZCBhbGxvdyByZWFkaW5nIGRlbGV0ZWQgZGF0mb16/wAAAU/ePLJcABBEUkEtNzY0NCkKICogUmVtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwAAAABAHRoZSByZXN0IG9mIG5vZGV0b29sIChDQVNTQU5EUkEtNDQ2NCkKICogQmluYXJ5IHByb3RvY29sOiBhdm9pZCBzZW5kaW5nIG5vdGlmaWNhdGlvbiBmb3IgMC4wLjAuMCAoQ0FTU0FORFJBLTUyMjcpCiAqIGFkZCBVc2VDb25kQ2FyZE1hcmsgWFgganZtIHNldHRpbmdzIG9uIGpkayAxLjcgKENBU1NBTkRSQS00MzY2KQogKiBDUUwzIHJlZmFjdG9yIHRvIGFsbG93IGNvbnZlcnNpb24gZnVuY3Rpb24gKENBU1NBTkRSQS01MjI2KQogKiBGaXggZHJvcCDxdJjNAAABT948slwAECAoQ0FTU0FORFJBLTY0NCkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAAAAAEAYXR1cmFsRW5kcG9pbnRzIHRvIGJlIE8oTiBsb2cgTikgKENBU1NBTkRSQS0zODgxKQogKiBzcGxpdCB1cCBycGMgdGltZW91dCBieSBvcGVyYXRpb24gdHlwZSAoQ0FTU0FORFJBLTI4MTkpCiAqIHJld3JpdGUga2V5IGNhY2hlIHNhdmUvbG9hZCB0byB1c2Ugb25seSBzZXF1ZW50aWFsIGkvbyAoQ0FTU0FORFJBLTM3NjIpCiAqIHVwZGF0ZSBNUyBwcm90b2NvbCB3aXRoIGEgdmVyc2lvbiBoYW5kc2hha2UgKyBicm9hZGNhc3QgYWRkcmVzcyBpZAogIBjNhmgAAAFP3jyyXAAQNTEyMykKICogdXBncmFkZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsAAAAAQBBTkRSQS0zNjY4KQogKiBGaXggYnVncyBpbiBzdXBlcmNvbHVtbnMgaGFuZGxpbmcgKENBU1NBTkRSQS03MTM4KQogKiBGaXggQ2xhc3NDbGFzc0V4Y2VwdGlvbiBvbiBjb21wb3NpdGUgZGVuc2UgdGFibGVzIChDQVNTQU5EUkEtNzExMikKICogQ2xlYW51cCBhbmQgb3B0aW1pemUgY29sbGF0aW9uIGFuZCBzbGljZSBpdGVyYXRvcnMgKENBU1NBTkRSQS03MTA3KQogKiBVcGdyYWRlIE5CSE0gbGliIChDQVNTQU5EUkEtNzEyOCkKICogT3B0aW1pemUg0rEqlgAAAU/ePLJcABBEUkEtNjAxNykKICogRml4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwAAAABAG9tbWl0IGxvZyBkdXJpbmcgZmx1c2ggKENBU1NBTkRSQS0zMjUzKSAKCgoxLjAuMC1iZXRhMQogKiByZW1vdmVkIGJpbmFyeW1lbXRhYmxlIChDQVNTQU5EUkEtMjY5MikKICogYWRkIGNvbW1pdGxvZ190b3RhbF9zcGFjZV9pbl9tYiB0byBwcmV2ZW50IGZyYWdtZW50ZWQgbG9ncyAoQ0FTU0FORFJBLTI0MjcpCiAqIHJlbW92ZWQgY29tbWl0bG9nX3JvdGF0aW9uX3RocmVzaG9sZF9pbl9tYiBjb25maWd1cmF0aW9uIChDQVNTQU5EUkEtMjc3MSkKICrK/ojUAAABT948slwAEGUgZ2V0TG9hZCIgdG8gU3QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAAAAAEAaXhlZCAoQ0FTU0FORFJBLTE2MzAsIENBU1NBTkRSQS0xNTg1KQogKiBhZGQgY2xpIHNhbml0eSB0ZXN0cyAoQ0FTU0FORFJBLTE1ODIpCiAqIHVwZGF0ZSBHQyBzZXR0aW5ncyBpbiBjYXNzYW5kcmEuYmF0IChDQVNTQU5EUkEtMTYzNikKICogY2xpIHN1cHBvcnQgZm9yIGluZGV4IHF1ZXJpZXMgKENBU1NBTkRSQS0xNjM1KQogKiBjbGkgc3VwcG9ydCBmb3IgdXBkYXRpbmcgc2NoZW1hIG1lbXRhYmxlIHNldHRpbmdzIChDQVNTQU5EUkEtMTYzNCkKIB66rrcAAAFP3jyyXAAQU0FORFJBLTE4NzIpCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsAAAAAQBlcnZlciBzdGF0dXMgaW4gbm9kZXRvb2wgaW5mbyAoQ0FTU0FORFJBLTU3MzUpCiAqIEZpeCBwYXRoZXRpYyBwZXJmb3JtYW5jZSBvZiByYW5nZSB0b21ic3RvbmVzIChDQVNTQU5EUkEtNTY3NykKICogRml4IHF1ZXJ5aW5nIHdpdGggYW4gZW1wdHkgKGltcG9zc2libGUpIHJhbmdlIChDQVNTQU5EUkEtNTU3MykKICogY3Fsc2g6IGhhbmRsZSBDVVNUT00gMmkgaW4gREVTQ1JJQkUgb3V0cHV0IChDQVNTQU5EUkEtNTc2MCkKICogRml4IG1pbm9yIGJ1iEFIpQAAAU/ePLJcABBBLTE3MzQpCiAqIGNsZWFyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwBAAABACkKICogVmFsaWRhdGUgSVB2NiB3aWxkY2FyZCBhZGRyZXNzZXMgcHJvcGVybHkgKENBU1NBTkRSQS03NjgwKQogKiAoY3Fsc2gpIEVycm9yIHdoZW4gdHJhY2luZyBxdWVyeSAoQ0FTU0FORFJBLTc2MTMpCiAqIEF2b2lkIElPT0JFIHdoZW4gYnVpbGRpbmcgU3ludGF4RXJyb3IgbWVzc2FnZSBzbmlwcGV0IChDQVNTQU5EUkEtNzU2OSkKICogU1NUYWJsZUV4cG9ydCB1c2VzIGNvcnJlY3QgdmFsaWRhdG9yIHRvIGNyZWF0ZSBzdHJpbmcgcmVwcmVzZW7VrrSoAAABT948slwAECogRml4IHBhZ2luZyB3aXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAEAAAEAY3Fsc2gpIEhhbmRsZSB1bmljb2RlIEJPTSBhdCBzdGFydCBvZiBmaWxlcyAoQ0FTU0FORFJBLTg2MzgpCiAqIFN0b3AgY29tcGFjdGlvbnMgYmVmb3JlIGV4aXRpbmcgb2ZmbGluZSB0b29scyAoQ0FTU0FORFJBLTg2MjMpCiAqIFVwZGF0ZSB0b29scy9zdHJlc3MvUkVBRE1FLnR4dCB0byBtYXRjaCBjdXJyZW50IGJlaGF2aW91ciAoQ0FTU0FORFJBLTc5MzMpCiAqIEZpeCBzY2hlbWEgZnJvbSBUaHJpZnQgY29udmVyc2lvbiB3aXRoIGVtcHR5IG1ldKevk8UAA1Nytlfr/AAAAU/ePLJcABBTQU5EUkEtMjAwNykKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwBAAABACkKICogT3B0aW1pemUgbmV0dHkgc2VydmVyIChDQVNTQU5EUkEtNjg2MSkKICogRml4IHJlcGFpciBoYW5nIHdoZW4gZ2l2ZW4gQ0YgZG9lcyBub3QgZXhpc3QgKENBU1NBTkRSQS03MTg5KQogKiBBbGxvdyBjKiB0byBiZSBzaHV0ZG93biBpbiBhbiBlbWJlZGRlZCBtb2RlIChDQVNTQU5EUkEtNTYzNSkKICogQWRkIHNlcnZlciBzaWRlIGJhdGNoaW5nIHRvIG5hdGl2ZSB0cmFuc3BvcnQgKENBU1NBTkRSQS01NjYzKQogKiBNYWtlIGJhdGNobG9nIHJ3Ic4fAAABT948slwAEHMgKENBU1NBTkRSQS04NzQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAEAAAEAdCAoQ0FTU0FORFJBLTIzODgpCiAqIGZpeCBkeW5hbWljIHNuaXRjaCBpZ25vcmluZyBub2RlcyB3aGVuIHJlYWRfcmVwYWlyX2NoYW5jZSBpcyB6ZXJvCiAgIChDQVNTQU5EUkEtMjY2MikKICogYXZvaWQgcmV0YWluaW5nIHJlZmVyZW5jZXMgdG8gZHJvcHBlZCBDRlMgb2JqZWN0cyBpbiAKICAgQ29tcGFjdGlvbk1hbmFnZXIuZXN0aW1hdGVkQ29tcGFjdGlvbnMgKENBU1NBTkRSQS0yNzA4KQogKiBleHBvc2UgcnBjIHRpbWVvdXRzIHBlciBob3N0IAyggAYAA2UZ733fugAAAU/ePLJcABB0cmVhbWluZyBSYW5nZVRvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwCAAABAEEtOTkyKQogKiBzcGxpdCBDb21taXRMb2dFeGVjdXRvclNlcnZpY2UgaW50byBCYXRjaENvbW1pdExvZ0V4ZWN1dG9yU2VydmljZSBhbmQgCiAgIFBlcmlvZGljQ29tbWl0TG9nRXhlY3V0b3JTZXJ2aWNlIChDQVNTQU5EUkEtMTAxNCkKICogYWRkIGxhdGVuY3kgaGlzdG9ncmFtcyB0byBDRlNNQmVhbiAoQ0FTU0FORFJBLTEwMjQpCiAqIG1ha2UgcmVzb2x2aW5nIHRpbWVzdGFtcCB0aWVzIGRldGVybWluaXN0aWMgYnkgdXNpbmcgdmFsdWUgYnl0ZXN+vfJWAAABT948slwAEGR1cGxpY2F0ZSBzc3RhYmwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAIAAAEALW5vZGUgc29ja2V0cyB3aGVuIGNvbm5lY3Rpb24gaXMgYnJva2VuIChDQVNTQU5EUkEtMTUyOCkKICogUlBNIHBhY2thZ2luZyBzcGVjIGZpbGUgKENBU1NBTkRSQS03ODYpCiAqIHdlaWdodGVkIHJlcXVlc3Qgc2NoZWR1bGVyIChDQVNTQU5EUkEtMTQ4NSkKICogdHJlYXQgZXhwaXJlZCBjb2x1bW5zIGFzIGRlbGV0ZWQgKENBU1NBTkRSQS0xNTM5KQogKiBtYWtlIEluZGV4SW50ZXJ2YWwgY29uZmlndXJhYmxlIChDQVNTQU5EUkEtMTQ4OCkKICogYf6lZisAAAFP3jyyXAAQZCAoQ0FTU0FORFJBLTU4MgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsAwAAAQAwODIpCiAqIEFkZCBVTkxPR0dFRCwgQ09VTlRFUiBvcHRpb25zIHRvIEJBVENIIGRvY3VtZW50YXRpb24gKENBU1NBTkRSQS02ODE2KQogKiBhZGQgZXh0cmEgU1NMIGNpcGhlciBzdWl0ZXMgKENBU1NBTkRSQS02NjEzKQogKiBmaXggbm9kZXRvb2wgZ2V0c3N0YWJsZXMgZm9yIGJsb2IgUEsgKENBU1NBTkRSQS02ODAzKQogKiBGaXggQmF0Y2hsb2dNYW5hZ2VyI2RlbGV0ZUJhdGNoKCkgdXNlIG9mIG1pbGxpc2Vjb25kIHRpbWVzdGFtcHMKICAgKENBFcsUQgAAAU/ePLJcABAoQ0FTU0FORFJBLTg2MTgpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwDAAABAHNpemUgb2Ygc3N0YWJsZXMgd2FzIHVzZSBpbiBwbGFjZSBvZiB0aGUKICAgY29tcHJlc3NlZCBvbmUgKENBU1NBTkRSQS0zMzM4KQogKiBGaXggaHNoYSB0aHJpZnQgc2VydmVyIChDQVNTQU5EUkEtMzM0NikKICogTWFrZSBzdXJlIHJlcGFpciBvbmx5IHN0cmVhbSBuZWVkZWQgc3N0YWJsZXMgKENBU1NBTkRSQS0zMzQ1KQoKCjEuMC4wLXJjMgogKiBMb2cgYSBtZWFuaW5nZnVsIHdhcm5pbmcgd2hlbiBhIG5vZGUgcmVjZWl2ZXMgYSBtZXNzYWdlIGar+1cpAAABT948slwAECBhIHJlZmVyZW5jZSB0byAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAMAAAEAdHJlYW1PdXRTZXNzaW9uIGtlZXBpbmcgc3N0YWJsZXMgcmVmZXJlbmNlcyBmb3JldmVyIGlmIHRoZSByZW1vdGUgZW5kCiAgIGRpZXMgKENBU1NBTkRSQS0zMjE2KQogKiBSZW1vdmUgZHluYW1pY19zbml0Y2ggYm9vbGVhbiBmcm9tIGV4YW1wbGUgY29uZmlndXJhdGlvbiAoZGVmYXVsdGluZyB0byAKICAgdHJ1ZSkgYW5kIHNldCBkZWZhdWx0IGJhZG5lc3MgdGhyZXNob2xkIHRvIDAuMSAoQ0FTU0FORFJBLTMyMjkpCiAqIEJhc2UgY2hvaWNlIG9mIA8kA7QAAAFP3jyyXAAQIGFuZCBzc3RhYmxla2V5cwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsAwAAAQA1OCkKICogbWFkZSBDb21wYWN0aW9uSW5mby5nZXRUYXNrVHlwZSByZXR1cm4gYW4gZW51bSAoQ0FTU0FORFJBLTI0ODIpCiAqIGFkZCBhIHNlcnZlci13aWRlIGNhcCBvbiBtZWFzdXJlZCBtZW10YWJsZSBtZW1vcnkgdXNhZ2UgYW5kIGFnZ3Jlc3NpdmVseQogICBmbHVzaCB0byBrZWVwIHVuZGVyIHRoYXQgdGhyZXNob2xkIChDQVNTQU5EUkEtMjAwNikKICogYWRkIHVuaWZpZWQgVVVJRFR5cGUgKENBU1NBTkRSQS0yMjMzKQogKiBhZGQgb2ZmLWhlwcpriwAAAU/ePLJcABBlaWdodCB0cmFuc2FjdGlvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwDAAABACkKICogZXhwb3NlIHRoZSBhYmlsaXR5IHRvIHJlcGFpciB0aGUgZmlyc3QgcmFuZ2UgKGFzIHJldHVybmVkIGJ5IHRoZQogICBwYXJ0aXRpb25lcikgb2YgYSBub2RlIChDQVNTQU5EUkEtMjYwNikKICogU3RyZWFtcyBDb21wcmVzc2lvbiAoQ0FTU0FORFJBLTMwMTUpCiAqIGFkZCBhYmlsaXR5IHRvIHVzZSBtdWx0aXBsZSB0aHJlYWRzIGR1cmluZyBhIHNpbmdsZSBjb21wYWN0aW9uCiAgIChDQVNTQU5EUkEtMjkwMSkKICogbWFrZSBBYnN0cmFjdELGnupLAAABT948slwAECBDRiByb3dfY2FjaGVfcHIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAMAAAEAb24gdG8gc2V0IHRoZSBDTCB1c2VkIGluIEhhZG9vcCBqb2JzIChDQVNTQU5EUkEtMjMzMSkKICogYWRkIG1lbXRhYmxlX2ZsdXNoX3F1ZXVlX3NpemUgZGVmYXVsdGluZyB0byA0IChDQVNTQU5EUkEtMjMzMykKICogQWxsb3cgb3ZlcnJpZGluZyBvZiBpbml0aWFsX3Rva2VuLCBzdG9yYWdlX3BvcnQgYW5kIHJwY19wb3J0IGZyb20gc3lzdGVtCiAgIHByb3BlcnRpZXMgKENBU1NBTkRSQS0yMzQzKQogKiBmaXggY29tcGFyYXRvciB1c2VkIGZvciBub9XfL8YAAAFP3jyyXAAQeXRlW10gZm9yIGVhY2ggbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsAwAAAQBxbFN0b3JhZ2UgKENBU1NBTkRSQS04NTk5KQogKiBEb24ndCByZXVzZSB0aGUgc2FtZSBjbGVhbnVwIHN0cmF0ZWd5IGZvciBhbGwgc3N0YWJsZXMgKENBU1NBTkRSQS04NTM3KQogKiBGaXggY2FzZS1zZW5zaXRpdml0eSBvZiBpbmRleCBuYW1lIG9uIENSRUFURSBhbmQgRFJPUCBJTkRFWAogICBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtODM2NSkKICogQmV0dGVyIGRldGVjdGlvbi9sb2dnaW5nIGZvciBjb3JydXB0aW9uIGluIGNvbXByZXNzZWQgc3N008VUbAAAAU/ePLJcABBibGUgd2hlbiBkcm9wcGluAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwDAAABADEpCiAqIEZpeCBkaXZpZGUgYnkgemVybyBlcnJvciBpbiBHQ0luc3BlY3RvciAoQ0FTU0FORFJBLTMxNjQpCiAqIGFsbG93IHF1b3Rpbmcgb2YgdGhlIENvbHVtbkZhbWlseSBuYW1lIGluIENMSSBgY3JlYXRlIGNvbHVtbiBmYW1pbHlgCiAgIHN0YXRlbWVudCAoQ0FTU0FORFJBLTMxOTUpCiAqIEZpeCByb2xsaW5nIHVwZ3JhZGUgZnJvbSAwLjcgdG8gMC44IHByb2JsZW0gKENBU1NBTkRSQS0zMTY2KQogKiBBY2NvbW9kYXRlIG1pc3NpbmcgZW5jcnlt0aUNAAABT948slwAEFNUQU5ESU5HX1JFUExBWV8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAMAAAEAZyBSYW5nZVRvbWJzdG9uZXMgYXQgY29sdW1uIGluZGV4IGJvdW5kYXJ5IChDQVNTQU5EUkEtNTQxOCkKICogRml4IHByZXBhcmluZyBzdGF0ZW1lbnRzIHdoZW4gY3VycmVudCBrZXlzcGFjZSBpcyBub3Qgc2V0IChDQVNTQU5EUkEtNTQ2OCkKICogRml4IFNlbWFudGljVmVyc2lvbi5pc1N1cHBvcnRlZEJ5IG1pbm9yL3BhdGNoIGhhbmRsaW5nIChDQVNTQU5EUkEtNTQ5NikKICogRG9uJ3QgcHJvdmlkZSBvbGRDZklkIGZvciBwb3N0LTEuMSBzeXN0Zb/afzsAAAFP3jyyXAAQIEFMVEVSIFRBQkxFIHByZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsAwAAAQBTQU5EUkEtMTc1MykKICogZml4IGZvciBib290c3RyYXAgd2hlbiBubyBub24tc3lzdGVtIHRhYmxlcyBhcmUgZGVmaW5lZCAoQ0FTU0FORFJBLTE3MzIpCiAqIGhhbmRsZSByZXBsaWNhIHVuYXZhaWxhYmlsaXR5IGluIGluZGV4IHNjYW4gKENBU1NBTkRSQS0xNzU1KQogKiBmaXggc2VydmljZSBpbml0aWFsaXphdGlvbiBvcmRlciBkZWFkbG9jayAoQ0FTU0FORFJBLTE3NTYpCiAqIG11bHRpLWxpbmUgY2xpIGNvbW1hbmRzIChDQVNTQU5EUkEtMTc02k/+DgAAAU/ePLJcABB0IChDQVNTQU5EUkEtMTc2AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwDAAABACBudW1iZXIgb2YgY29tcGFjdGlvbiB0aHJlYWQgKENBU1NBTkRSQS0yNTU4KQogKiBmb3JjZVVzZXJEZWZpbmVkQ29tcGFjdGlvbiB3aWxsIGF0dGVtcHQgdG8gY29tcGFjdCB3aGF0IGl0IGlzIGdpdmVuCiAgIGV2ZW4gaWYgdGhlIHBlc3NpbWlzdGljIGVzdGltYXRlIGlzIHRoYXQgdGhlcmUgaXMgbm90IGVub3VnaCBkaXNrIHNwYWNlOwogICBhdXRvbWF0aWMgY29tcGFjdGlvbnMgd2lsbCBvbmx5IGNvbXBhY3QgMiBvciBtb3JlIHNzdGFibGVzICiUU/M6AAN5ybwB9h8AAAFP3jyyXAAQMTApCgoKMS4xLjAtZmluYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsBwAAAQBBU1NBTkRSQS02NTk1KQogKiBBZGQgc3VwcG9ydCBmb3IgMi4xIGdsb2JhbCBjb3VudGVyIHNoYXJkcyAoQ0FTU0FORFJBLTY1MDUpCiAqIEZpeCBOUEUgd2hlbiBzdHJlYW1pbmcgY29ubmVjdGlvbiBpcyBub3QgeWV0IGVzdGFibGlzaGVkIChDQVNTQU5EUkEtNjIxMCkKICogQXZvaWQgcmFyZSBkdXBsaWNhdGUgcmVhZCByZXBhaXIgdHJpZ2dlcmluZyAoQ0FTU0FORFJBLTY2MDYpCiAqIEZpeCBwYWdpbmcgZGlzY2FyZEZpcnN0IChDQVNTQU5EUkEtEjwaEAAAAU/ePLJcABBPTSBpbnNlcnRzIChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwHAAABAAogICBwYXJ0aXRpb24gKENBU1NBTkRSQS04MjAzKQogKiBEbyBtb3JlIGFnZ3Jlc3NpdmUgZW50aXJlLXNzdGFibGUgVFRMIGV4cGlyeSBjaGVja3MgKENBU1NBTkRSQS04MjQzKQogKiBBZGQgbW9yZSBsb2cgaW5mbyBpZiByZWFkTWV0ZXIgaXMgbnVsbCAoQ0FTU0FORFJBLTgyMzgpCiAqIGFkZCBjaGVjayBvZiB0aGUgc3lzdGVtIHdhbGwgY2xvY2sgdGltZSBhdCBzdGFydHVwIChDQVNTQU5EUkEtODMwNSkKICogU3VwcG9ydCBmb3IgZnJvemVuIGPqBiv6AAABT948slwAEG9tcGFjdGlvbmxvY2sgZHUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAcAAAEAc3RhcnQvZW5kIGluY2x1c2l2ZS9leGNsdXNpdmUgKENBU1NBTkRSQS0zNzQ5KQogKiBGaXggQnVsa0xvYWRlciB0byBzdXBwb3J0IG5ldyBTU1RhYmxlIGxheW91dCBhbmQgYWRkIHN0cmVhbQogICB0aHJvdHRsaW5nIHRvIHByZXZlbnQgYW4gTlBFIHdoZW4gdGhlcmUgaXMgbm8geWFtbCBjb25maWcgKENBU1NBTkRSQS0zNzUyKQogKiBBbGxvdyBjb25jdXJyZW50IHNjaGVtYSBtaWdyYXRpb25zIChDQVNTQU5EUkEtMTM5MSwgMzgzMikKICogQWRkIKxeSLcAAAFP3jyyXAAQQ0FTU0FORFJBLTU1ODIpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsBwAAAQBnZXIKICAgKENBU1NBTkRSQS00MzY1KQogKiBhZGQgc3RyYXRlZ3lfb3B0aW9ucyB0byB0aGUgS1NNZXRhRGF0YS50b1N0cmluZygpIG91dHB1dCAoQ0FTU0FORFJBLTQyNDgpCiAqIChjcWwzKSBmaXggcmFuZ2UgcXVlcmllcyBjb250YWluaW5nIHVucXVlcmllZCByZXN1bHRzIChDQVNTQU5EUkEtNDM3MikKICogKGNxbDMpIGFsbG93IHVwZGF0aW5nIGNvbHVtbl9hbGlhcyB0eXBlcyAoQ0FTU0FORFJBLTQwNDEpCiAqIChjcWwzKSBGaXggZGVsZXRpRclFGQAAAU/ePLJcABBEUkEtMzY2NikKICogRG9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwHAAABACBhc3NlcnRpb24gZXJyb3Igd2hlbiB0b21ic3RvbmVzIGV4cGlyZSAoQ0FTU0FORFJBLTYyNzcpCiAqIFNraXAgbG9hZGluZyBjb3JydXB0IGtleSBjYWNoZSAoQ0FTU0FORFJBLTYyNjApCiAqIEZpeGVzIGZvciBjb21wYWN0aW5nIGxhcmdlci10aGFuLW1lbW9yeSByb3dzIChDQVNTQU5EUkEtNjI3NCkKICogQ29tcGFjdCBob3R0ZXN0IHNzdGFibGVzIGZpcnN0IGFuZCBvcHRpb25hbGx5IG9taXQgY29sZGVzdCBmcm9tCiAgIGNvbXBhY3Rpb24gZW4hOehtAAABT948slwAEGhlYXAgc2l6ZSBhbmQgbWUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAcAAAEAb2YgbG9jYWwgInN5c3RlbSIga2V5c3BhY2UgKENBU1NBTkRSQS01NzYpCiAqIGltcHJvdmUgY29tcHV0YXRpb24gb2YgY2x1c3RlciBsb2FkIGJhbGFuY2UgKENBU1NBTkRSQS01NTQpCiAqIGFkZGVkIHN1cGVyIGNvbHVtbiByZWFkL3dyaXRlLCBjb2x1bW4gY291bnQsIGFuZCBjb2x1bW4vcm93IGRlbGV0ZSB0bwogICBjYXNzYW5kcmEtY2xpIChDQVNTQU5EUkEtNTY3LCBDQVNTQU5EUkEtNTk0KQogKiBmaXggcmV0dXJuaW5nIGxpdmUgc3ViY29sdQPjop4AAAFP3jyyXAAQdW50ZXJDb2x1bW4gKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsBwAAAQBlZCBpbmRleCBzdW1tYXJ5IG1lbW9yeSBwb29sIGFuZCByZXNhbXBsZSBjb2xkIGluZGV4IHN1bW1hcmllcyAKICAgdG8gdXNlIGxlc3MgbWVtb3J5IChDQVNTQU5EUkEtNTUxOSkKICogUmVtb3ZlZCBtdWx0aXRocmVhZGVkIGNvbXBhY3Rpb24gKENBU1NBTkRSQS02MTQyKQogKiBQYXJhbGxlbGl6ZSBmZXRjaGluZyByb3dzIGZvciBsb3ctY2FyZGluYWxpdHkgaW5kZXhlcyAoQ0FTU0FORFJBLTEzMzcpCiAqIGNoYW5nZSBsb2dnaW5nIGZyb20gbG9n3inNFwAAAU/ePLJcABBvIHNwZWNpZnkgbGltaXQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwHAAABAG5vIHNzdGFibGVzIChDQVNTQU5EUkEtMzYxNCkKICogbW9yZSBlZmZpY2llbnQgYWxsb2NhdGlvbiBvZiBzbWFsbCBibG9vbSBmaWx0ZXJzIChDQVNTQU5EUkEtMzYxOCkKICogQ0xpYnJhcnkuY3JlYXRlSGFyZExpbmtXaXRoRXhlYygpIHRvIGNoZWNrIGZvciBlcnJvcnMgKENBU1NBTkRSQS0zMTAxKQogKiBBdm9pZCBjcmVhdGluZyBlbXB0eSBhbmQgbm9uIGNsZWFuZWQgd3JpdGVyIGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtMzYxNikKICrnOvMhAAABT948slwAECAqIFNraXAgbG9hZGluZyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAgAAAEAIGNvbHVtbnMgd2l0aAogICBxdWVyeSBwYWdpbmcgKENBU1NBTkRSQS04MTA4KQogKiBGaXggTlBFIG9uIG51bGwgbmVzdGVkIFVEVCBpbnNpZGUgYSBzZXQgKENBU1NBTkRSQS04MTA1KQogKiBGaXggZXhjZXB0aW9uIHdoZW4gcXVlcnlpbmcgc2Vjb25kYXJ5IGluZGV4IG9uIHNldCBpdGVtcyBvciBtYXAga2V5cwogICB3aGVuIHNvbWUgY2x1c3RlcmluZyBjb2x1bW5zIGFyZSBzcGVjaWZpZWQgKENBU1NBTkRSQS04MDczKQogKiBTZW5kIHByb3BlcrW98fgAAAFP3jyyXAAQIG1ldGhvZCB0byBFbWJlZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsCAAAAQBlcnNpc3RlbnQgcm93IHNpemUgYW5kIGNvbHVtbiBjb3VudCBzdGF0aXN0aWNzIChDQVNTQU5EUkEtMTE1NSkKICogYWRkIEludGVnZXJUeXBlIChDQVNTQU5EUkEtMTI4MikKICogcGFnZSB3aXRoaW4gYSBzaW5nbGUgcm93IGR1cmluZyBoaW50ZWQgaGFuZG9mZiAoQ0FTU0FORFJBLTEzMjcpCiAqIHB1c2ggRGF0YWNlbnRlclNoYXJkU3RyYXRlZ3kgY29uZmlndXJhdGlvbiBpbnRvIGtleXNwYWNlIGRlZmluaXRpb24sCiAgIGVsaW1pbmF0aW5nIGRhamrZBQAAAU/ePLJcABAgb24gaW5jcmVtZW50YWxsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwIAAABACBjbGllbnQgdGltZW91dCAoQ0FTU0FORFJBLTE3MzApCiAqIGZpeCBib3RjaGVkIG1lcmdlIG9mIENBU1NBTkRSQS0xMzE2CgoKMC43LjAtcmMxCiAqIGZpeCBjb21wYWN0aW9uIGFuZCBmbHVzaCByYWNlcyB3aXRoIHNjaGVtYSB1cGRhdGVzIChDQVNTQU5EUkEtMTcxNSkKICogYWRkIGNsdXN0ZXJ0b29sLCBjb25maWctY29udmVydGVyLCBzc3RhYmxla2V5cywgYW5kIHNjaGVtYXRvb2wgCiAgIFdpbmRvd3MgLmJhdCBmaWxlcyAoQ0FTU0FORFJBLTGsIL8PAAABT948slwAEHNlIHByb3BlcnR5IG1hcCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAgAAAEAb21taXNzaW9uIGFuZCByZW1vdmV0b2tlbgogICAoQ0FTU0FORFJBLTE2MDkpCiAqIGluY2x1ZGUgQ0YgbWV0YWRhdGEgaW4gY2xpICdzaG93IGtleXNwYWNlcycgKENBU1NBTkRSQS0xNjEzKQogKiBzd2l0Y2ggZnJvbSBQcm9wZXJ0aWVzIHRvIEhhc2hNYXAgaW4gUHJvcGVydHlGaWxlU25pdGNoIHRvCiAgIGF2b2lkIHN5bmNocm9uaXphdGlvbiBib3R0bGVuZWNrIChDQVNTQU5EUkEtMTQ4MSkKICogUHJvcGVydHlGaWxlU25pdGNoIGNvbmZpZ3VyYdTyx14AAAFP3jyyXAAQIHNzdGFibGVzIChDQVNTQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsCAAAAQBlcmUKICAgb25lIG9yIG1vcmUgbm9kZXMgaXMgZG93biB3aGVuIHRoZSBtb3ZlbWVudCBvY2N1cnMgKENBU1NBTkRSQS01NzIpCiAqIEluY2x1ZGUgZGVhZCBub2RlcyBpbiBnb3NzaXAgdG8gYXZvaWQgYSB2YXJpZXR5IG9mIHByb2JsZW1zCiAgIGFuZCBmaXggSEggdG8gcmVtb3ZlZCBub2RlcyAoQ0FTU0FORFJBLTYzNCkKICogcmV0dXJuIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIGZvciBtYWwtZm9ybWVkIFNsaWNlUHJlZGljYXRlcwogICAoKk+s3wAAAU/ePLJcABBlcywgYXMgaW50ZW5kZWQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwIAAABAG90ZW50aWFsIGRhdGEgbG9zcyBpbiBDb21wcmVzc2VkU2VxdWVudGlhbFdyaXRlciAoQ0FTU0FORFJBLTg5NDkpCiAqIE1ha2UgUGFzc3dvcmRBdXRoZW50aWNhdG9yIG51bWJlciBvZiBoYXNoaW5nIHJvdW5kcyBjb25maWd1cmFibGUgKENBU1NBTkRSQS04MDg1KQogKiBGaXggQXNzZXJ0aW9uRXJyb3Igd2hlbiBiaW5kaW5nIG5lc3RlZCBjb2xsZWN0aW9ucyBpbiBERUxFVEUgKENBU1NBTkRSQS04OTAwKQogKiBDaGVjayBmb3Igb3ZlcmxhcCB3aXQkAvDQAAABT948slwAEChjcWxzaCkgZml4IEFTU1UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAgAAAEAZWQgbWVyZ2Ugb2YgQ0FTU0FORFJBLTEzMTYKCgowLjcuMC1yYzEKICogZml4IGNvbXBhY3Rpb24gYW5kIGZsdXNoIHJhY2VzIHdpdGggc2NoZW1hIHVwZGF0ZXMgKENBU1NBTkRSQS0xNzE1KQogKiBhZGQgY2x1c3RlcnRvb2wsIGNvbmZpZy1jb252ZXJ0ZXIsIHNzdGFibGVrZXlzLCBhbmQgc2NoZW1hdG9vbCAKICAgV2luZG93cyAuYmF0IGZpbGVzIChDQVNTQU5EUkEtMTcyMykKICogcmVqZWN0IHJhbmdlIHF1ZXJpZXMgcmVjZWl2ZWQgZHVyaW5nINl2BXgAAABHyfwLLwAcAAZzeXN0ZW0AAAlJbmRleEluZm8AAAQAAAACAAAAAAEBWh/yZ6zgPxKFY8+uYQPGXlVTZnEABRX31ev/QAAAAAAAAAAAPin4jwADjibcpXmWAAABT948slwAEGFyZWQgc3RhdGVtZW50cyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAkAAAEACiAqIGxvY2sgcm93IGNhY2hlIHVwZGF0ZXMgdG8gcHJldmVudCByYWNlIGNvbmRpdGlvbiAoQ0FTU0FORFJBLTEyOTMpCiAqIHJlbW92ZSBhc3NlcnRpb24gY2F1c2luZyByYXJlIChhbmQgaGFybWxlc3MpIGVycm9yIG1lc3NhZ2VzIGluCiAgIGNvbW1pdGxvZyAoQ0FTU0FORFJBLTEzMzApCiAqIGZpeCBtb3Zpbmcgbm9kZXMgd2l0aCBubyBrZXlzcGFjZXMgZGVmaW5lZCAoQ0FTU0FORFJBLTE1NzQpCiAqIGZpeCB1bmJvb3RzdHJhcCB3aGVuIG5vICATrFwAAAFP3jyyXAAQdmVzdGlnZXMgb2YgdGhlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsCQAAAQB1cCBvbiBXaW5kb3dzIHdoZW4gQ0FTU0FORFJBX0hPTUUgY29udGFpbnMgd2hpdGVzcGFjZQogICAoQ0FTU0FORFJBLTIyMzcpCiAqIGFkZCBbZ2V0fHNldF1bcm93fGtleV1jYWNoZVNhdmVQZXJpb2QgdG8gSk1YIChDQVNTQU5EUkEtMjEwMCkKICogZml4IEhhZG9vcCBDb2x1bW5GYW1pbHlPdXRwdXRGb3JtYXQgZHJvcHBpbmcgb2YgbXV0YXRpb25zCiAgIHdoZW4gYmF0Y2ggZmlsbHMgdXAgKENBU1NBTkRSQS0yMjU1KQogKiBtb3ZlIGZpbGUgZGVsGqvwjwAAAU/ePLJcABAoQ0FTU0FORFJBLTc1MDkpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwJAAABAFNlcmlhbGl6aW5nQ2FjaGUgKENBU1NBTkRSQS02OTk0KQogKiBEb24ndCBzaHV0IE1lc3NhZ2luZ1NlcnZpY2UgZG93biB3aGVuIHJlcGxhY2luZyBhIG5vZGUgKENBU1NBTkRSQS02NDc2KQogKiBmaXggbnBlIHdoZW4gZG9pbmcgLURjYXNzYW5kcmEuZmRfaW5pdGlhbF92YWx1ZV9tcyAoQ0FTU0FORFJBLTY3NTEpCgoKMi4xLjAtYmV0YTEKICogQWRkIGZsdXNoIGRpcmVjdG9yeSBkaXN0aW5jdCBmcm9tIGNvbXBhY3Rpb24gZGlyZWN0b3JpZXMgKEOPWpauAAABT948slwAEDgpCiAqIFJlbGVhc2Ugc3MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAkAAAEAc3RzIHRvIGVub3VnaCByZXBsaWNhcyB0bwogICBzYXRpc2Z5IHJlcXVlc3RlZCBDTCArIFJSIChDQVNTQU5EUkEtMzU5OCkKICogdXNlIGNhbm5vbmljYWwgaG9zdCBmb3IgbG9jYWwgbm9kZSBpbiBub2RldG9vbCBpbmZvIChDQVNTQU5EUkEtMzU1NikKICogcmVtb3ZlIG5vbmxvY2FsIERDIHdyaXRlIG9wdGltaXphdGlvbiBzaW5jZSBpdCBvbmx5IHdvcmtlZCB3aXRoCiAgIENMLk9ORSBvciBDTC5MT0NBTF9RVU9SVU0gKENBU1NBTkRSQS0zNTc3LNhnkbgAAAFP3jyyXAAQc2lwIHJlbGF0ZWQgdG8gbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsCQAAAQAKICogY2hhbmdlIFRva2VuUmFuZ2UuZW5kcG9pbnRzIGJhY2sgdG8gbGlzdGVuL2Jyb2FkY2FzdCBhZGRyZXNzIHRvIG1hdGNoCiAgIHByZS0xNzc3IGJlaGF2aW9yLCBhbmQgYWRkIFRva2VuUmFuZ2UucnBjX2VuZHBvaW50cyBpbnN0ZWFkIChDQVNTQU5EUkEtMzE4NykKICogYXZvaWQgdHJ5aW5nIHRvIHdhdGNoIGNhc3NhbmRyYS10b3BvbG9neS5wcm9wZXJ0aWVzIHdoZW4gbG9hZGVkIGZyb20gamFyCiAgIChDQVNTQU5EUkEtMzEzOCkKICogcHJlEIBzygAAAU/ePLJcABBjb2x1bW4gYW5kIHNpbmdsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwJAAABAGluY29tcGxldGUgY29tcGFjdGlvbnMgKyBjb3VudGVycyAoQ0FTU0FORFJBLTUxNTEpCiAqIENoYW5nZSBvcmRlciBvZiBkaXJlY3Rvcnkgc2VhcmNoaW5nIGZvciBjKi5pbi5zaCAoQ0FTU0FORFJBLTM5ODMpCiAqIEFkZCB0b29sIHRvIHJlc2V0IFNTVGFibGUgY29tcGFjdGlvbiBsZXZlbCBmb3IgTENTIChDQVNTQU5EUkEtNTI3MSkKICogQWxsb3cgY3VzdG9tIGNvbmZpZ3VyYXRpb24gbG9hZGVyIChDQVNTQU5EUkEtNTA0NSkKICogUmVtb3ZlIG3A8KVMAAABT948slwAEDUpCiAqIEhhbmRsZSBudWwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAkAAAEAdCBhIG5vZGUncyBzY2hlbWEgKENBU1NBTkRSQS0yOTYzKQogKiBmaXggZm9yIGludGVybWl0dGVudCBTY2hlbWFEaXNhZ3JlZW1lbnRFeGNlcHRpb24gKENBU1NBTkRSQS0zODg0KQogKiBDTEkgYGxpc3QgPENGPmAgdG8gbGltaXQgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHRoZWlyIG9yZGVyIChDQVNTQU5EUkEtMzAxMikKICogaWdub3JlIGRlcHJlY2F0ZWQgS3NEZWYvQ2ZEZWYvQ29sdW1uRGVmIGZpZWxkcyBpbiBuYXRpdmUgc2NoZW1hIChDQVNTQRd+hVYAAAFP3jyyXAAQCiAqIEFsbG93IElOIGNsYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsCgAAAQBoIGV4cGVjdGVkIFNRTCBiZWhhdmlvciAoQ0FTU0FORFJBLTMxNDksIDMwMzEpCiAqIEFyZW5hLWJhc2VkIGFsbG9jYXRpb24gZm9yIG1lbXRhYmxlcyAoQ0FTU0FORFJBLTIyNTIsIDMxNjIsIDMxNjMsIDMxNjgpCiAqIERlZmF1bHQgUlIgY2hhbmNlIHRvIDAuMSAoQ0FTU0FORFJBLTMxNjkpCiAqIEFkZCBSb3dMZXZlbCBzdXBwb3J0IHRvIHNlY29uZGFyeSBpbmRleCBBUEkgKENBU1NBTkRSQS0zMTQ3KQogKiBNYWtlIFNlcmlhbGl6aW5nQ2FjaGVQx+NcCgAAAU/ePLJcABAwKQogKiBqYXZhLmxhbmcuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwKAAABADAtYmV0YTIKICogUmVwbGFjZSBjb3VudFBlbmRpbmdIaW50cyB3aXRoIEhpbnRzIENyZWF0ZWQgbWV0cmljIChDQVNTQU5EUkEtNTc0NikKICogQWxsb3cgbm9kZXRvb2wgd2l0aCBubyBhcmdzLCBhbmQgd2l0aCBoZWxwIHRvIHJ1biB3aXRob3V0IGEgc2VydmVyIChDQVNTQU5EUkEtNTczNCkKICogQ2xlYW51cCBBYnN0cmFjdFR5cGUvVHlwZVNlcmlhbGl6ZXIgY2xhc3NlcyAoQ0FTU0FORFJBLTU3NDQpCiAqIFJlbW92ZSB1bmltcGxlbWVudGVkIGNInbM7AAABT948slwAEDIpCiAqIFVwZGF0ZSBkZWwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAoAAAEAbmQgaWdub3JlcyBsb2NhbCBwYXVzZXMgKENBU1NBTkRSQS05MTgzKQogKiBBZGQgdXRpbGl0eSBjbGFzcyB0byBzdXBwb3J0IGZvciByYXRlIGxpbWl0aW5nIGEgZ2l2ZW4gbG9nIHN0YXRlbWVudCAoQ0FTU0FORFJBLTkwMjkpCiAqIEFkZCBtaXNzaW5nIGNvbnNpc3RlbmN5IGxldmVscyB0byBjYXNzYW5kcmEtc3Rlc3MgKENBU1NBTkRSQS05MzYxKQogKiBGaXggY29tbWl0bG9nIGdldENvbXBsZXRlZFRhc2tzIHRvIG5vdCBpbmNyZW1lbnQgKENBUzk5UPAAAAFP3jyyXAAQYWJsZXMgaW5jbHVkZXMgcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsCgAAAQBfaW50ZXJmYWNlIGlzIHVzZWQgKENBU1NBTkRSQS04ODM5KQogKiBEb24ndCBjaGVjayBpZiBhbiBzc3RhYmxlIGlzIGxpdmUgZm9yIG9mZmxpbmUgY29tcGFjdGlvbnMgKENBU1NBTkRSQS04ODQxKQogKiBEb24ndCBzZXQgY2xpZW50TW9kZSBpbiBTU1RhYmxlTG9hZGVyIChDQVNTQU5EUkEtODIzOCkKICogRml4IFNTVGFibGVSZXdyaXRlciB3aXRoIGRpc2FibGVkIGVhcmx5IG9wZW4gKENBU1NBTkRSQS04NTM1KQogKiBBbGxvdyBpbnZhbGlkYXRpJjAnEAAAAU/ePLJcABBTU0FORFJBLTI2MTIpIAogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwKAAABAGRldGVybWluaXN0aWMuIERhdGEgZGlyL2tleSBjYWNoZSBhcmUgY3JlYXRlZAogICB1bmlxdWVseSBmb3IgQ0YgaWQgKENBU1NBTkRSQS01MjAyKQogKiBOZXcgY291bnRlcnMgaW1wbGVtZW50YXRpb24gKENBU1NBTkRSQS02NTA0KQogKiBSZXBsYWNlIFVuc29ydGVkQ29sdW1ucywgRW1wdHlDb2x1bW5zLCBUcmVlTWFwQmFja2VkU29ydGVkQ29sdW1ucyB3aXRoIG5ldwogICBBcnJheUJhY2tlZFNvcnRlZENvbHVtbnMgKENBU1NBTkRSQS02NjMwLCBbpMPfAAABT948slwAEEEtMzg3NSkKCgoxLjAuNwoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILAoAAAEAcyB0byBzdXBlcmNvbHVtbnMgaW4gQ0ZzIGNvbnRhaW5pbmcgb25seSBzdGFuZGFyZAogICBjb2x1bW5zIChDQVNTQU5EUkEtMTEzOSkKICogYXZvaWQgcHJlc2VydmluZyBsb2dpbiBpbmZvcm1hdGlvbiBhZnRlciBjbGllbnQgZGlzY29ubmVjdHMKICAgKENBU1NBTkRSQS0xMDU3KQogKiBwcmVmZXIgc3VuIGpkayB0byBvcGVuamRrIGluIGRlYmlhbiBpbml0IHNjcmlwdCAoQ0FTU0FORFJBLTExNzQpCiAqIGRldGVjdCBwYXJ0aW9uZXIgY29uZmlnIJRZcpAAAAFP3jyyXAAQaW5kZXhlcyAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsCgAAAQBwdGlvbiB3aGVuIHN0cmluZwogICBjb250YWlucyBub24taGV4IGNoYXJhY3RlcnMgKENBU1NBTkRSQS0zMjMxKQogKiBLZWVwIFNpbXBsZVNuaXRjaCBwcm94aW1pdHkgb3JkZXJpbmcgdW5jaGFuZ2VkIGZyb20gd2hhdCB0aGUgU3RyYXRlZ3kKICAgZ2VuZXJhdGVzLCBhcyBpbnRlbmRlZCAoQ0FTU0FORFJBLTMyNjIpCiAqIHJlbW92ZSBTY3J1YiBmcm9tIGNvbXBhY3Rpb25zdGF0cyB3aGVuIGZpbmlzaGVkIChDQVNTQU5EUkEtMzI1NSkKICogZml4FtHHEgAAAU/ePLJcABBlZCBwZXItQ0YgaW4gY29uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwKAAABAEEtNTg2MikKICogSW1wcm92ZSBvZmZoZWFwIG1lbWNweSBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTU4ODQpCiAqIFVzZSBhIHJhbmdlIGF3YXJlIHNjYW5uZXIgZm9yIGNsZWFudXAgKENBU1NBTkRSQS0yNTI0KQogKiBDbGVhbnVwIGRvZXNuJ3QgbmVlZCB0byBpbnNwZWN0IHNzdGFibGVzIHRoYXQgY29udGFpbiBvbmx5IGxvY2FsIGRhdGEKICAgKENBU1NBTkRSQS01NzIyKQogKiBBZGQgYWJpbGl0eSBmb3IgQ1FMMyB0byBsaXN0IHBhcnRpdGlvbiDtFTmMAAOig7ft8QUAAAFP3jyyXAAQMTQ3KQogKiBGaXggcmVhZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsEAAAAQBjYWNoZSBoaXQgKENBU1NBTkRSQS04NTI1KQogKiBNb3ZlIE1ldGVyZWRGbHVzaGVyIHRvIGl0cyBvd24gdGhyZWFkIChDQVNTQU5EUkEtODQ4NSkKICogRml4IG5vbi1kaXN0aW5jdCByZXN1bHRzIGluIERJU1ROQ1QgcXVlcmllcyBvbiBzdGF0aWMgY29sdW1ucyB3aGVuCiAgIHBhZ2luZyBpcyBlbmFibGVkIChDQVNTQU5EUkEtODA4NykKICogTW92ZSBhbGwgaGludHMgcmVsYXRlZCB0YXNrcyB0byBoaW50cyBpbnRlcm5hbCBleGVjdXRvciAoQ0FT+i9YxwAAAU/ePLJcABBBU1NBTkRSQS0zNTQ2KQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwRAAABAG1lc3NhZ2VzIGZyb20gaW1wcm9wZXIgaW5wdXQgaW4gY2xpIChDQVNTQU5EUkEtMzg2NSkKICogVHJ5IHRvIHN0b3AgYWxsIGNvbXBhY3Rpb24gdXBvbiBLZXlzcGFjZSBvciBDb2x1bW5GYW1pbHkgZHJvcCAoQ0FTU0FORFJBLTQyMjEpCiAqIChjcWwzKSBBbGxvdyBrZXlzcGFjZSBwcm9wZXJ0aWVzIHRvIGNvbnRhaW4gaHlwaGVucyAoQ0FTU0FORFJBLTQyNzgpCiAqIChjcWwzKSBDb3JyZWN0bHkgdmFsaWRhdGUga2V5c3BhY2UgYWNjZXNzIGluIGOb9kBIAAABT948slwAEGRlIHdpdGggbm8gc2NoZW0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBEAAAEAbiBwYWNrYWdpbmcgKENBU1NBTkRSQS00NjQyKQogKiBBdXRvbWF0aWMgZml4aW5nIG9mIG92ZXJsYXBwaW5nIGxldmVsZWQgc3N0YWJsZXMgKENBU1NBTkRSQS00NjQ0KQogKiBmaXggZXJyb3Igd2hlbiB1c2luZyBPUkRFUiBCWSB3aXRoIGV4dGVuZGVkIHNlbGVjdGlvbnMgKENBU1NBTkRSQS00Njg5KQogKiAoQ1FMMykgRml4IHZhbGlkYXRpb24gZm9yIElOIHF1ZXJpZXMgZm9yIG5vbi1QSyBjb2xzIChDQVNTQU5EUkEtNDcwOSkKICogZml4IHJlLYsI3rQAAAFP3jyyXAAQcyAyMDBrIGVudHJpZXMsIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsEQAAAQAgZGF0YSAoQ0FTU0FORFJBLTg5NzkpCiAqIEZpeCBpbmNvcnJlY3QgdmFsaWRhdGlvbiB3aGVuIHNuYXBzaG90dGluZyBzaW5nbGUgdGFibGUgKENBU1NBTkRSQS04MDU2KQogKiBBZGQgb2ZmbGluZSB0b29sIHRvIHJlbGV2ZWwgc3N0YWJsZXMgKENBU1NBTkRSQS04MzAxKQogKiBQcmVzZXJ2ZSBzdHJlYW0gSUQgZm9yIG1vcmUgcHJvdG9jb2wgZXJyb3JzIChDQVNTQU5EUkEtODg0OCkKICogRml4IGNvbWJpbmluZyB0b2tlbigpIGZ1bmN0aW9uIHdpHLqh9wAAAU/ePLJcABAtNTQ3NikKICogYWxsb3cgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwRAAABAGdlIG1hcCBhbmQgc2V0IGxpdGVyYWxzIChDQVNTQU5EUkEtNTg5MykKCgoyLjAuMC1yYzIKICogZW5hYmxlIHZub2RlcyBieSBkZWZhdWx0IChDQVNTQU5EUkEtNTg2OSkKICogZml4IENBUyBjb250ZW50aW9uIHRpbWVvdXQgKENBU1NBTkRSQS01ODMwKQogKiBmaXggSHNIYSB0byByZXNwZWN0IG1heCBmcmFtZSBzaXplIChDQVNTQU5EUkEtNDU3MykKICogRml4IChzb21lKSAyaSBvbiBjb21wb3NpdGUgY29tcG9uZW50cyBvbWlzc2lvbnMgKENBU1NjEpCVAAABT948slwAECBjbHVzdGVyaW5nIGNvbHUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBEAAAEAZXMKICAgKENBU1NBTkRSQS01NTExKQogKiByZW1vdmVkIFBCU1ByZWRpY3RvciAoQ0FTU0FORFJBLTU0NTUpCiAqIENBUyBzdXBwb3J0IChDQVNTQU5EUkEtNTA2MiwgNTQ0MSwgNTQ0MiwgNTQ0MywgNTYxOSwgNTY2NykKICogTGV2ZWxlZCBjb21wYWN0aW9uIHBlcmZvcm1zIHNpemUtdGllcmVkIGNvbXBhY3Rpb25zIGluIEwwIAogICAoQ0FTU0FORFJBLTUzNzEsIDU0MzkpCiAqIEFkZCB5YW1sIG5ldHdvcmsgdG9wb2xvZ3kgc25pdGNoIGZvciBtaYJmRuEAAAFP3jyyXAAQU0FORFJBLTY5MTkpCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsEQAAAQBtbiBkZXNlcmlhbGl6YXRpb24gKENBU1NBTkRSQS0xODkxKQogKiBmaXggQ0ZNZXRhRGF0YS5hcHBseSB0byBvbmx5IGNvbXBhcmUgb2JqZWN0cyBvZiB0aGUgc2FtZSBjbGFzcyAKICAgKENBU1NBTkRSQS0xOTYyKQogKiBhbGxvdyBzcGVjaWZ5aW5nIHNwZWNpZmljIFNTVGFibGVzIHRvIGNvbXBhY3QgZnJvbSBKTVggKENBU1NBTkRSQS0xOTYzKQogKiBmaXggcmFjZSBjb25kaXRpb24gaW4gTWVzc2FnaW5nU2VydmljZS50YXJnZXRzIChDQVNTQU5Eoixb3wAAAU/ePLJcABB3aXRoIGxvY2FsIHNuYXBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwRAAABAHdlIGRvbid0IHdpcGUgZGF0YSBkdXJpbmcgY2xlYW51cCBpZiB0aGUgbm9kZSBoYXMgbm90IGpvaW4KICAgdGhlIHJpbmcgKENBU1NBTkRSQS0yNDI4KQogKiBUcnkgaGFyZGVyIHRvIGNsb3NlIGZpbGVzIGFmdGVyIGNvbXBhY3Rpb24gKENBU1NBTkRSQS0yNDMxKQogKiByZS1zZXQgYm9vdHN0cmFwcGVkIGZsYWcgYWZ0ZXIgbW92ZSBmaW5pc2hlcyAoQ0FTU0FORFJBLTI0MzUpCiAqIGRpc3BsYXkgdmFsaWRhdGlvbl9jbGFzcyBpbiBDTEkgJ2Rlc2MmeQVCAAABT948slwAEGV0ZXJtaW5pbmcgY2xvc2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBEAAAEAY3RpbmcgbmV0c3RhdHMgKENBU1NBTkRSQS02NTc3KQogKiBBbGxvdyByZXBhaXJpbmcgYmV0d2VlbiBzcGVjaWZpYyByZXBsaWNhcyAoQ0FTU0FORFJBLTY0NDApCiAqIEFsbG93IHBlci1kYyBlbmFibGluZyBvZiBoaW50cyAoQ0FTU0FORFJBLTYxNTcpCiAqIEFkZCBjb21wYXRpYmlsaXR5IGZvciBIYWRvb3AgMC4yLnggKENBU1NBTkRSQS01MjAxKQogKiBGaXggRXN0aW1hdGVkSGlzdG9ncmFtIHJhY2VzIChDQVNTQU5EUkEtNjY4MikKICogRmFpbIxWg3AAAAFP3jyyXAAQdGUgY29sdW1uIGZhbWlseQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsEQAAAQBjZSB0byA4R0IgKENBU1NBTkRSQS03MDMxKQogKiBBZGQgcmFuZ2UgdG9tYnN0b25lcyB0byByZWFkIHJlcGFpciBkaWdlc3RzIChDQVNTQU5EUkEtNjg2MykKICogRml4IEJUcmVlLmNsZWFyIGZvciBsYXJnZSB1cGRhdGVzIChDQVNTQU5EUkEtNjk0MykKICogRmFpbCB3cml0ZSBpbnN0ZWFkIG9mIGxvZ2dpbmcgYSB3YXJuaW5nIHdoZW4gdW5hYmxlIHRvIGFwcGVuZCB0byBDTAogICAoQ0FTU0FORFJBLTY3NjQpCiAqIEVsaW1pbmF0ZSBwb3NzaWJpra3B+AAAAU/ePLJcABBCRiBlbnRpcmVseTsgTENTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwRAAABACBidW5kbGUgc3N0YWJsZWxvYWRlciB3aXRoIHRoZSBkZWJpYW4gcGFja2FnZSAoQ0FTU0FORFJBLTMxMTMpCiAqIGRvbid0IHRyeSB0byBidWlsZCBzZWNvbmRhcnkgaW5kZXhlcyB3aGVuIHRoZXJlIGlzIG5vbmUgKENBU1NBTkRSQS0zMTIzKQogKiBpbXByb3ZlIFNTVGFibGVTaW1wbGVVbnNvcnRlZFdyaXRlciBzcGVlZCBmb3IgbGFyZ2Ugcm93cyAoQ0FTU0FORFJBLTMxMjIpCiAqIGhhbmRsZSBrZXlzcGFjZSBhcmd1bWVudHMgY29ycmVjdGx5IGkdbQ9wAAABT948slwAEGV5c3BhY2VzIGZvciBzY2gAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBIAAAEAIG9wdGlvbnMgdG8gY29uZmlndXJlIFRocmlmdCBzb2NrZXQga2VlcGFsaXZlIGFuZCBidWZmZXIgc2l6ZXMgKENBU1NBTkRSQS0xNDI2KQogKiBtYWtlIGNvbnRyaWIgQ2Fzc2FuZHJhU2VydmljZURhdGFDbGVhbmVyIHJlY3Vyc2l2ZSAoQ0FTU0FORFJBLTE1MDkpCiAqIG1pbiwgbWF4IGNvbXBhY3Rpb24gdGhyZXNob2xkIGFyZSBjb25maWd1cmFibGUgYW5kIHBlcnNpc3RlbnQgCiAgIHBlci1Db2x1bW5GYW1pbHkgKENBU1NBTkRSQS0xNDY4KQogKsFU2X0AAAFP3jyyXAAQc3RyZXNzLnB5IHRvIGhhdgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsEgAAAQBuZyAoQ0FTU0FORFJBLTkxMzIpCgoKMi4xLjUKICogUmUtYWRkIGRlcHJlY2F0ZWQgY29sZF9yZWFkc190b19vbWl0IHBhcmFtIGZvciBiYWNrd2FyZHMgY29tcGF0IChDQVNTQU5EUkEtOTIwMykKICogTWFrZSBhbnRpY29tcGFjdGlvbiB2aXNpYmxlIGluIGNvbXBhY3Rpb25zdGF0cyAoQ0FTU0FORFJBLTkwOTgpCiAqIEltcHJvdmUgbm9kZXRvb2wgZ2V0ZW5kcG9pbnRzIGRvY3VtZW50YXRpb24gYWJvdXQgdGhlIHBhcnRpdGlvbgogICBrZXkgcGFyf8v+twAAAU/ePLJcABAgbmVpZ2hib3Jpbmcgbm9kAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwSAAABAAogKiBSZXR1cm4gSW52YWxpZFJlcXVlc3Qgd2hlbiB1c2luZyBhIGtleXNwYWNlIHRoYXQgZG9lc24ndCBleGlzdAogICAoQ0FTU0FORFJBLTM3NjQpCiAqIGRpc2FsbG93IHVzZXIgbW9kaWZpY2F0aW9uIG9mIFN5c3RlbSBrZXlzcGFjZSAoQ0FTU0FORFJBLTM3MzgpCiAqIGFsbG93IHVzaW5nIHNzdGFibGUyanNvbiBvbiBzZWNvbmRhcnkgaW5kZXggZGF0YSAoQ0FTU0FORFJBLTM3MzgpCiAqIChjcWxzaCkgYWRkIERFU0NSSUJFIENPTFVNTkZBTUnr6RuOAAABT948slwAEGQgKGFuZCBhdm9pZCBrZWUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBIAAAEAYXRjaCBleHBlY3RlZCBTUUwgYmVoYXZpb3IgKENBU1NBTkRSQS0zMTQ5LCAzMDMxKQogKiBBcmVuYS1iYXNlZCBhbGxvY2F0aW9uIGZvciBtZW10YWJsZXMgKENBU1NBTkRSQS0yMjUyLCAzMTYyLCAzMTYzLCAzMTY4KQogKiBEZWZhdWx0IFJSIGNoYW5jZSB0byAwLjEgKENBU1NBTkRSQS0zMTY5KQogKiBBZGQgUm93TGV2ZWwgc3VwcG9ydCB0byBzZWNvbmRhcnkgaW5kZXggQVBJIChDQVNTQU5EUkEtMzE0NykKICogTWFrZSBTZXJpYWxpemluZ0NhY83kQqgAA7bgKGDNzAAAAU/ePLJcABBTU0FORFJBLTMwNTEpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwTAAABAEEtNjE0MCkKICogRml4IGJ1ZyBtaXNzaW5nIHJlc3VsdHMgd2l0aCBJTiBjbGF1c2VzIChDQVNTQU5EUkEtNjMyNykKICogRml4IHBhZ2luZyB3aXRoIHJldmVyc2VkIHNsaWNlcyAoQ0FTU0FORFJBLTYzNDMpCiAqIFNldCBtaW5UaW1lc3RhbXAgY29ycmVjdGx5IHRvIGJlIGFibGUgdG8gZHJvcCBleHBpcmVkIHNzdGFibGVzIChDQVNTQU5EUkEtNjMzNykKICogU3VwcG9ydCBOYU4gYW5kIEluZmluaXR5IGFzIGZsb2F0IGxpdGVyYWxzIChDQVNTQU4ngg+lAAABT948slwAEGNvbW1pdGxvZyBzZWdtZW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBMAAAEAZSAoQ0FTU0FORFJBLTMxODMpCiAqIEZpeCBiYWNrd2FyZHMgY29tcGF0aWJpbHR5IGZvciBDUUwgbWVtdGFibGUgcHJvcGVydGllcyAoQ0FTU0FORFJBLTMxOTApCiAqIEFkZCBmaXZlLW1pbnV0ZSBkZWxheSBiZWZvcmUgc3RhcnRpbmcgY29tcGFjdGlvbnMgb24gYSByZXN0YXJ0ZWQgc2VydmVyCiAgIChDQVNTQU5EUkEtMzE4MSkKICogUmVkdWNlIGNvcGllcyBkb25lIGZvciBpbnRyYS1ob3N0IG1lc3NhZ2VzIChDQVNTQU5EUkEtMTc4OCwgMzE0NPjlBvAAAAFP3jyyXAAQb3ZlIGRlZmF1bHQgSlZNIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsEwAAAQAyR0IgKENBU1NBTkRSQS00MTUwKQogKiBhZGQgZ2V0c3N0YWJsZXMgY29tbWFuZCB0byBub2RldG9vbCAoQ0FTU0FORFJBLTQxOTkpCiAqIGFwcGx5IHBhcmVudCBDRiBjb21wYWN0aW9uIHNldHRpbmdzIHRvIHNlY29uZGFyeSBpbmRleCBDRnMgKENBU1NBTkRSQS00MjgwKQogKiBwcmVzZXJ2ZSBjb21taXRsb2cgc2l6ZSBjYXAgd2hlbiByZWN5Y2xpbmcgc2VnbWVudHMgYXQgc3RhcnR1cAogICAoQ0FTU0FORFJBLTQyMDEpCiAqIChIYWRvb3ApIGZpYY/uDgAAAU/ePLJcABByZXNzLmphdmEgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwTAAABAHN0b25lcyB3aGVuIGV4Y2VlZGluZyB0aGUgdGhyZXNob2xkCiAgIChDQVNTQU5EUkEtODU1OSkKICogRml4IE51bGxQb2ludGVyRXhjZXB0aW9uIHdoZW4gbm9kZXRvb2wgZ2V0ZW5kcG9pbnRzIGlzIHJ1bgogICBhZ2FpbnN0IGludmFsaWQga2V5c3BhY2VzIG9yIHRhYmxlcyAoQ0FTU0FORFJBLTg5NTApCiAqIEFsbG93IHNwZWNpZnlpbmcgdGhlIHRtcCBkaXIgKENBU1NBTkRSQS03NzEyKQogKiBJbXByb3ZlIGNvbXBhY3Rpb24gZXN0aW1hdGVkIHT8e58vAAABT948slwAEFJBLTQ0MTEpCiAqIGZpeCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBMAAAEAZXBlbmRlbmNpZXMgd2l0aCBDYXNzYW5kcmEgKENBU1NBTkRSQS0zNTA3KQogICArIGFkZGVkIHRvIERlYmlhbiBwYWNrYWdlIChDQVNTQU5EUkEtMzQ1OCkKICAgKyBkaXNwbGF5IGJ5dGUgZGF0YSBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dCBvbiBkZWNvZGUgZmFpbHVyZSAKICAgICAoQ0FTU0FORFJBLTM4NzQpCiAqIGFkZCBub2RldG9vbCByZWJ1aWxkX2luZGV4IChDQVNTQU5EUkEtMzU4MykKICogYWRkIG5vZGV0b29sIHJhbmdla2V5c2FtcGxlIPS1ZT0AAAFP3jyyXAAQIHRpbWVzdGFtcCBnZW5lcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsEwAAAQAgRXhwZXJpbWVudGFsLgogICAoQ0FTU0FORFJBLTQ5MikKICogV2ViIGNsaWVudCBpbnRlcmZhY2UgYWRkZWQgdG8gY29udHJpYiAoQ0FTU0FORFJBLTQ1NykKICogTW9yZS1lZmZpY2llbnQgZmx1c2ggZm9yIFJhbmRvbSwgQ29sbGF0ZWRPUFAgcGFydGl0aW9uZXJzIAogICBmb3Igbm9ybWFsIHdyaXRlcyAoQ0FTU0FORFJBLTQ0NikgYW5kIGJ1bGsgbG9hZCAoQ0FTU0FORFJBLTQyMCkKICogQWRkIE1lbXRhYmxlRmx1c2hBZnRlck1pbnV0ZXMsIGEgsSmr9wAAAU/ePLJcABBlcyAoQ0FTU0FORFJBLTUxAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwUAAABAHJhbnRlZXMgb24gZGlnZXN0IG1pc21hdGNoIChDQVNTQU5EUkEtNTExMykKICogVmFsaWRhdGUgY29ycmVjdGx5IHNlbGVjdHMgb24gY29tcG9zaXRlIHBhcnRpdGlvbiBrZXkgKENBU1NBTkRSQS01MTIyKQogKiBGaXggZXhjZXB0aW9uIHdoZW4gYWRkaW5nIGNvbGxlY3Rpb24gKENBU1NBTkRSQS01MTE3KQogKiBIYW5kbGUgc3RhdGVzIGZvciBub24tdm5vZGUgY2x1c3RlcnMgY29ycmVjdGx5IChDQVNTQU5EUkEtNTEyNykKICogUmVmdXNlIHVucmW0sovrAAABT948slwAEChDQVNTQU5EUkEtNzY1MSkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBUAAAEAIGludGVuZGVkIChDQVNTQU5EUkEtNDc3OCkKICogTlRTIHdpbGwgZGVmYXVsdCB1bmNvbmZpZ3VyZWQgREMgcmVwbGljYXMgdG8gemVybyAoQ0FTU0FORFJBLTQ2NzUpCiAqIHVzZSBkZWZhdWx0IGNvbnNpc3RlbmN5IGxldmVsIGluIGNvdW50ZXIgdmFsaWRhdGlvbiBpZiBub25lIGlzCiAgIGV4cGxpY2l0bHkgcHJvdmlkZSAoQ0FTU0FORFJBLTQ3MDApCiAqIEltcHJvdmUgSUF1dGhvcml0eSBpbnRlcmZhY2UgYnkgaW50cm9kdWNpbmcgZmluZS1ncscTtCIAAAFP3jyyXAAQIGlzIGRpc2FibGVkIChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsFQAAAQBkaXIgKENBU1NBTkRSQS03NzEyKQogKiBJbXByb3ZlIGNvbXBhY3Rpb24gZXN0aW1hdGVkIHRhc2tzIGVzdGltYXRpb24gKENBU1NBTkRSQS04OTA0KQogKiBGaXggZHVwbGljYXRlIHVwL2Rvd24gbWVzc2FnZXMgc2VudCB0byBuYXRpdmUgY2xpZW50cyAoQ0FTU0FORFJBLTc4MTYpCiAqIEV4cG9zZSBjb21taXQgbG9nIGFyY2hpdmUgc3RhdHVzIHZpYSBKTVggKENBU1NBTkRSQS04NzM0KQogKiBQcm92aWRlIGJldHRlciBleGNlcHRpb25zIGZvciBpQh3dTgAAAU/ePLJcABBvbi1FeGNlcHRpb24gVGhyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwVAAABAE5EUkEtMjM4OAogKiBjaGFuZ2UgVG9rZW5SYW5nZS5lbmRwb2ludHMgYmFjayB0byBsaXN0ZW4vYnJvYWRjYXN0IGFkZHJlc3MgdG8gbWF0Y2gKICAgcHJlLTE3NzcgYmVoYXZpb3IsIGFuZCBhZGQgVG9rZW5SYW5nZS5ycGNfZW5kcG9pbnRzIGluc3RlYWQgKENBU1NBTkRSQS0zMTg3KQogKiBhdm9pZCB0cnlpbmcgdG8gd2F0Y2ggY2Fzc2FuZHJhLXRvcG9sb2d5LnByb3BlcnRpZXMgd2hlbiBsb2FkZWQgZnJvbSBqYXIKICAgKENBU1NBTkRSQS0zMTO2CfyGAAABT948slwAEGVtcHR5IG1hcHMgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBUAAAEAc3VyZSBpbmZlcmVkIGFuZCBhY3R1YWwgc2NoZW1hIG1hdGNoIChDQVNTQU5EUkEtMzM3MSkKICogRml4IE5QRSBkdXJpbmcgSEggZGVsaXZlcnkgKENBU1NBTkRSQS0zNjc3KQogKiBEb24ndCBwdXQgYm9vc3RyYXBwaW5nIG5vZGUgaW4gJ2hpYmVybmF0ZScgc3RhdHVzIChDQVNTQU5EUkEtMzczNykKICogRml4IGRvdWJsZSBxdW90ZXMgaW4gd2luZG93cyBiYXQgZmlsZXMgKENBU1NBTkRSQS0zNzQ0KQogKiBGaXggYmFkIHZhbGlkYXRvciBsb29rdYboChUAAAFP3jyyXAAQdXBkYXRlZCAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsFQAAAQAtY29tcGFjdGlvbiBwcm9jZWVkcyBpZiBhbnkgcGFydCBvZiB0aGUgcmVwYWlyIGZhaWxlZCAoQ0FTQU5EUkEtNzUyMSkKICogQWRkIG1pc3NpbmcgdGFibGUgbmFtZSB0byBEUk9QIElOREVYIHJlc3BvbnNlcyBhbmQgbm90aWZpY2F0aW9ucyAoQ0FTU0FORFJBLTc1MzkpCiAqIEJ1bXAgQ1FMIHZlcnNpb24gdG8gMy4yLjAgYW5kIHVwZGF0ZSBDUUwgZG9jdW1lbnRhdGlvbiAoQ0FTU0FORFJBLTc1MjcpCiAqIEZpeCBjb25maWd1cmF0aW9uIGVycm9yhnqGJAAAAU/ePLJcABBkcmEtc3RyZXNzIGZvciBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwVAAABACBleGVjdXRpb24gZm9yIHByZXBhcmVkIHN0YXRlbWVudCAoQ0FTU0FORFJBLTY1MzUpCiAqIEFkZCBhYmlsaXR5IHRvIHRocm90dGxlIGJhdGNobG9nIHJlcGxheSAoQ0FTU0FORFJBLTY1NTApCiAqIEZpeCBleGVjdXRpbmcgTE9DQUxfUVVPUlVNIHdpdGggU2ltcGxlU3RyYXRlZ3kgKENBU1NBTkRSQS02NTQ1KQogKiBBdm9pZCBTdGFja092ZXJmbG93IHdoZW4gdXNpbmcgbGFyZ2UgSU4gcXVlcmllcyAoQ0FTU0FORFJBLTY1NjcpCiAqIE5vZGV0b2/Zf/UpAAABT948slwAEHN0b2dyYW0gKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBUAAAEAb2cgKENBU1NBTkRSQS0xMjg0KQogKiBhZGQgZHluYW1pYyBlbmRwb2ludCBzbml0Y2ggKENBU1NBTkRSQS05ODEpCiAqIGZpeCBzdHJlYW1pbmcgZm9yIGtleXNwYWNlcyB3aXRoIGh5cGhlbnMgaW4gdGhlaXIgbmFtZSAoQ0FTU0FORFJBLTEzNzcpCiAqIGZpeCBlcnJvcnMgaW4gaGFyZC1jb2RlZCBibG9vbSBmaWx0ZXIgb3B0S1BlckJ1Y2tldCBieSBjb21wdXRpbmcgaXQKICAgYWxnb3JpdGhtaWNhbGx5IChDQVNTQU5EUkEtMTIyMAogKiByZW1vdhBASOYAAAFP3jyyXAAQb25maWd1cmFibGUgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsFQAAAQB0IHJhbmdlIHNsaWNlcyBhbmQgMmFyeSBpbmRleCBxdWVyaWVzIChDQVNTQU5EUkEtNzYyNikKICogRml4IHNjcnViIGFnYWluc3QgY29sbGVjdGlvbiB0eXBlIChDQVNTQU5EUkEtNzY2NSkKTWVyZ2VkIGZyb20gMi4wOgogKiBTZXQgZ2NfZ3JhY2Vfc2Vjb25kcyB0byBzZXZlbiBkYXlzIGZvciBzeXN0ZW0gc2NoZW1hIHRhYmxlcyAoQ0FTU0FORFJBLTc2NjgpCiAqIFNpbXBsZVNlZWRQcm92aWRlciBubyBsb25nZXIgY2FjaGVzIHNlZWRzIGZvcmV2Hdr7+QADyz3SdSp7AAABT948slwAEEEtMjQ5NikKICogZG9uJ3QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBUAAAEAc3RvcmUgdXNlIG9mIG1tYXBfaW5kZXhfb25seSBvcHRpb24gKENBU1NBTkRSQS0xMjQxKQogKiBkcm9wcGluZyBhIGtleXNwYWNlIHdpdGggbm8gY29sdW1uIGZhbWlsaWVzIGdlbmVyYXRlZCBhbiBlcnJvciAKICAgKENBU1NBTkRSQS0xMzc4KQogKiByZW5hbWUgUmFja0F3YXJlU3RyYXRlZ3kgdG8gT2xkTmV0d29ya1RvcG9sb2d5U3RyYXRlZ3ksIFJhY2tVbmF3YXJlU3RyYXRlZ3kgCiAgIHRvIFNpbXBsZVN0cmF0ZWd5LCBEYXRhY2VudGVyU2hhcooFVo8AAAFP3jyyXAAQTkRSQS03OTg1KQogKiBGaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsFQAAAQBmYXQgY2xpZW50IHRpbWVvdXQgKENBU1NBTkRSQS0xNzMwKQogKiBmaXggYm90Y2hlZCBtZXJnZSBvZiBDQVNTQU5EUkEtMTMxNgoKCjAuNy4wLXJjMQogKiBmaXggY29tcGFjdGlvbiBhbmQgZmx1c2ggcmFjZXMgd2l0aCBzY2hlbWEgdXBkYXRlcyAoQ0FTU0FORFJBLTE3MTUpCiAqIGFkZCBjbHVzdGVydG9vbCwgY29uZmlnLWNvbnZlcnRlciwgc3N0YWJsZWtleXMsIGFuZCBzY2hlbWF0b29sIAogICBXaW5kb3dzIC5iYXQgZmlsZXMgKENBU1NBTkRS6yrRgAAAAU/ePLJcABB0b3IuanNwYT9yZXNldD10AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwWAAABAHNhZ2luZ1NlcnZpY2UKICAgKENBU1NBTkRSQS0zMzM1KQogKiAoQ1FMKSBjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMgYW5kIGNvbXByZXNzaW9uX3BhcmFtZXRlcnMgZm9yCiAgIENSRUFURSBDT0xVTU5GQU1JTFkgc3RhdGVtZW50IChDQVNTQU5EUkEtMzM3NCkKICogUmVzZXQgbWluL21heCBjb21wYWN0aW9uIHRocmVzaG9sZCB3aGVuIGNyZWF0aW5nIHNpemUgdGllcmVkIGNvbXBhY3Rpb24KICAgc3RyYXRlZ3kgKENBU1NBTkRSQS0zNjY2KQrdykK2AAABT948slwAEGJsZVJlYWRlciBpbnN0YW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBYAAAEAbmRleCB0YWJsZXMgKENBU1NBTkRSQS04NTUwKQogKiBGaXggcG90ZW50aWFsbHkgcmV0dXJuaW5nIGRlbGV0ZWQgcm93cyB3aXRoIHJhbmdlIHRvbWJzdG9uZSAoQ0FTU0FORFJBLTg1NTgpCiAqIENoZWNrIGZvciBhdmFpbGFibGUgZGlzayBzcGFjZSBiZWZvcmUgc3RhcnRpbmcgYSBjb21wYWN0aW9uIChDQVNTQU5EUkEtODU2MikKICogRml4IERJU1RJTkNUIHF1ZXJpZXMgd2l0aCBMSU1JVHMgb3IgcGFnaW5nIHdoZW4gc29tZSBwYXJ0aXRpb25zCplmo0EAAAFP3jyyXAAQaGVudGljYXRpb24vYXV0aAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsFgAAAQBkcm9wIChDQVNTQU5EUkEtNTk1NykKICogRml4IHZhbGlkYXRpb24gb2YgZW1wdHkgY29sdW1uIG5hbWVzIGZvciBjb21wYWN0IHRhYmxlcyAoQ0FTU0FORFJBLTYxNTIpCiAqIFNraXAgcmVwbGF5aW5nIG11dGF0aW9ucyB0aGF0IHBhc3MgQ1JDIGJ1dCBmYWlsIHRvIGRlc2VyaWFsaXplIChDQVNTQU5EUkEtNjE4MykKICogUmV3b3JrIHRva2VuIHJlcGxhY2VtZW50IHRvIHVzZSByZXBsYWNlX2FkZHJlc3MgKENBU1NBTkRSQS01OTE2KQogKiBGaXggZ1Jc7AAAAU/ePLJcABAgYnVsayAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwWAAABACBmaXggYmFja3NsYXNoIHN1YnN0aXR1dGlvbnMgaW4gQ0xJIChDQVNTQU5EUkEtMjQ5MikKICogY291bnQgYSByb3cgZGVsZXRpb24gYXMgb25lIG9wZXJhdGlvbiB0b3dhcmRzIG1lbXRhYmxlIHRocmVzaG9sZCAKICAgKENBU1NBTkRSQS0yNTE5KQogKiBzdXBwb3J0IExPQ0FMX1FVT1JVTSwgRUFDSF9RVU9SVU0gQ0xzIG91dHNpZGUgb2YgTlRTIChDQVNTQU5EUkEtMjUxNikKCgowLjcuNAogKiBhZGQgbm9kZXRvb2wgam9pbiBjb21tYW5kIChDQVNaCwGmAAABT948slwAEGFkaW5nIGZyb20gc3N0YWIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBYAAAEAdHNldCB0eXBlIGluZm9ybWF0aW9uIGludG8gcHJlcGFyZSwgbm90IGV4ZWN1dGUgKENBU1NBTkRSQS01NjQ5KQogKiBBdXRvIHBhZ2luZyBpbiBiaW5hcnkgcHJvdG9jb2wgKENBU1NBTkRSQS00NDE1LCA1NzE0KQogKiBEb24ndCB0aWUgY2xpZW50IHNpZGUgdXNlIG9mIEFic3RyYWN0VHlwZSB0byBKREJDIChDQVNTQU5EUkEtNDQ5NSkKICogQWRkcyBuZXcgVGltZXN0YW1wVHlwZSB0byByZXBsYWNlIERhdGVUeXBlIChDQVNTQU5EUkEtNTcyMywgQzRH6xEAAAFP3jyyXAAQb3ZlZCB0b2tlbiByYW5nZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsFgAAAQBSQS00MTg2KQogKiAoY3FsMykgTW92ZSBtYXgvbWluIGNvbXBhY3Rpb24gdGhyZXNob2xkcyB0byBjb21wYWN0aW9uIHN0cmF0ZWd5IG9wdGlvbnMKICAgKENBU1NBTkRSQS00MTg3KQogKiBGaXggZXhjZXB0aW9uIGR1cmluZyBtb3ZlIHdoZW4gbG9jYWxob3N0IGlzIHRoZSBvbmx5IHNvdXJjZSAoQ0FTU0FORFJBLTQyMDApCiAqIChjcWwzKSBBbGxvdyBwYWdpbmcgdGhyb3VnaCBub24tb3JkZXJlZCBwYXJ0aXRpb25lciByZXN1bHRzIChDQVNTQU5EbuCfUgAAAU/ePLJcABBjcENvbm5lY3Rpb24gaW4gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwWAAABACBjZnMgaW4gQ1FMMyAoQ0FTU0FORFJBLTUxMDEpCiAqIENvcnJlY3RseSBnb3NzaXAgd2l0aCBub2RlcyA+PSAxLjEuNyAoQ0FTU0FORFJBLTUxMDIpCiAqIEVuc3VyZSBDTCBndWFyYW50ZWVzIG9uIGRpZ2VzdCBtaXNtYXRjaCAoQ0FTU0FORFJBLTUxMTMpCiAqIFZhbGlkYXRlIGNvcnJlY3RseSBzZWxlY3RzIG9uIGNvbXBvc2l0ZSBwYXJ0aXRpb24ga2V5IChDQVNTQU5EUkEtNTEyMikKICogRml4IGV4Y2VwdGlvbiB3aGVuIGFkZGluZyBjb2xsZWNWal3QAAABT948slwAEHhlY3V0b3IgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBYAAAEAZXIgaW50cm9kdWNpbmcgY29ycnVwdCBkYXRhIChDQVNTQU5EUkEtNjI4NSkKICogRml4IENBUyBjb25kaXRpb25zIGZvciBDT01QQUNUIFNUT1JBR0UgdGFibGVzIChDQVNTQU5EUkEtNjgxMykKICogU3RhcnRpbmcgdGhyZWFkcyBpbiBPdXRib3VuZFRjcENvbm5lY3Rpb25Qb29sIGNvbnN0cnVjdG9yIGNhdXNlcyByYWNlIGNvbmRpdGlvbnMgKENBU1NBTkRSQS03MTc3KQogKiBBbGxvdyBvdmVycmlkaW5nIGNhc3NhbmRyYS1yYWNrZGMucHJvcGVydEvVrk8AAAFP3jyyXAAQIGVtcHR5IGZpbGVzIHdpdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsFgAAAQBoYXQgY2Fubm90IGJlIHByb2Nlc3NlZCB3aXRoaW4gUlBDVGltZW91dAogICAoQ0FTU0FORFJBLTY4NSkKICogYWRkIGFjayB0byBCaW5hcnkgd3JpdGUgdmVyYiBhbmQgdXBkYXRlIENhc3NhbmRyYUJ1bGtMb2FkZXIKICAgdG8gd2FpdCBmb3IgYWNrcyBmb3IgZWFjaCByb3cgKENBU1NBTkRSQS0xMDkzKQogKiBhZGRlZCBkZXNjcmliZV9wYXJ0aXRpb25lciBUaHJpZnQgbWV0aG9kIChDQVNTQU5EUkEtMTA0NykKICogSGFkb29wIGpvYnMgbm8gbG9uA6AL3wAAAU/ePLJcABBMX1FVT1JVTSAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwWAAABAG1ha2UgaXQgcG9zc2libGUgdG8gZGVzY3JpYmUgdGhyaWZ0IENGcyAoQ0FTU0FORFJBLTQ4MjcpCiAqIGNxbHNoOiBmaXggdGltZXN0YW1wIGZvcm1hdHRpbmcgb24gc29tZSBwbGF0Zm9ybXMgKENBU1NBTkRSQS01MDQ2KQoKCjEuMi1iZXRhMwogKiBtYWtlIGNvbnNpc3RlbmN5IGxldmVsIGNvbmZpZ3VyYWJsZSBpbiBjcWxzaCAoQ0FTU0FORFJBLTQ4MjkpCiAqIGZpeCBjcWxzaCByZW5kZXJpbmcgb2YgYmxvYiBmaWVsZHMgKENBU1NBTkRSQS00OTc0eESoAAABT948slwAEHIgZHVyaW5nIHJlcGFpciAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBYAAAEAbiBjb21taXRsb2cgZGlzY2FyZCAoQ0FTU0FORFJBLTg1MykKICogRml4IGhhcmRjb2RlZCByb3cgY291bnQgaW4gSGFkb29wIFJlY29yZFJlYWRlciAoQ0FTU0FORFJBLTgzNykKICogQWRkIGEgam14IHN0YXR1cyB0byB0aGUgc3RyZWFtaW5nIHNlcnZpY2UgYW5kIGNoYW5nZSBzZXZlcmFsIERFQlVHCiAgIG1lc3NhZ2VzIHRvIElORk8gKENBU1NBTkRSQS04NDUpCiAqIGZpeCBjbGFzc3BhdGggaW4gY2Fzc2FuZHJhLWNsaS5iYXQgZm9yIFdpbmRvd/HbRwkAAAFP3jyyXAAQcnQgZm9yIFJldmVyc2VkVAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsFgAAAQAgZXhjZXB0aW9ucyByZWxhdGVkIHRvIHVuY2xlYW4gbmF0aXZlIHByb3RvY29sIGNsaWVudCBkaXNjb25uZWN0cwogICBhdCBERUJVRyBvciBJTkZPIChDQVNTQU5EUkEtNzg0OSkKICogQWxsb3cgcGVybWlzc2lvbnMgY2FjaGUgdG8gYmUgc2V0IHZpYSBKTVggKENBU1NBTkRSQS03Njk4KQogKiBJbmNsdWRlIHNjaGVtYV90cmlnZ2VycyBDRiBpbiByZWFkYWJsZSBzeXN0ZW0gcmVzb3VyY2VzIChDQVNTQU5EUkEtNzk2NykKICogRml4IFJvd0luZGV4vJbLoQAAAU/ePLJcABBlIG9wdGlvbiAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwWAAABAEEtMzIyOSkKICogQmFzZSBjaG9pY2Ugb2YgcmFuZG9tIG9yICJiYWxhbmNlZCIgdG9rZW4gb24gYm9vdHN0cmFwIG9uIHdoZXRoZXIKICAgc2NoZW1hIGRlZmluaXRpb25zIHdlcmUgZm91bmQgKENBU1NBTkRSQS0zMjE5KQogKiBGaXhlcyBmb3IgTGV2ZWxlZENvbXBhY3Rpb25TdHJhdGVneSBzY29yZSBjb21wdXRhdGlvbiwgcHJpb3JpdGl6YXRpb24sCiAgIHNjaGVkdWxpbmcsIGFuZCBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTMyMjQsIDMyMzQpCiD5bAl1AAPfmrCGg6kAAAFP3jyyXAAQQVNTQU5EUkEtNjE1NykKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsFwAAAQBlcyAoQ0FTU0FORFJBLTYzMjIpCiAqIEFsbG93IHJlc3RvcmluZyBzcGVjaWZpYyBjb2x1bW5mYW1pbGllcyBmcm9tIGFyY2hpdmVkIENMIChDQVNTQU5EUkEtNDgwOSkKICogQXZvaWQgZmx1c2hpbmcgY29tcGFjdGlvbl9oaXN0b3J5IGFmdGVyIGVhY2ggb3BlcmF0aW9uIChDQVNTQU5EUkEtNjI4NykKICogRml4IHJlcGFpciBhc3NlcnRpb24gZXJyb3Igd2hlbiB0b21ic3RvbmVzIGV4cGlyZSAoQ0FTU0FORFJBLTYyNzcpCiAqIFNraXAgbG9hZGluKthYzgAAAU/ePLJcABBsb2cgY2hhbmdlcyBmcm9tAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwXAAABAG9pZCBtYXJraW5nIGVudGlyZSBsaXN0IG9mIHNzdGFibGVzIGFzIGFjdGl2ZWx5IGJlaW5nIGNvbXBhY3RlZAogICBpbiBtdWx0aXRocmVhZGVkIGNvbXBhY3Rpb24gKENBU1NBTkRSQS0yNzY1KQogKiBzZWVrIGJhY2sgYWZ0ZXIgZGVzZXJpYWxpemluZyBhIHJvdyB0byB1cGRhdGUgY2FjaGUgd2l0aCAoQ0FTU0FORFJBLTI3NTIpCiAqIGF2b2lkIHNraXBwaW5nIHJvd3MgaW4gc2NydWIgZm9yIGNvdW50ZXIgY29sdW1uIGZhbWlseSAoQ0FTU0FORFKn0QtyAAABT948slwAEG9uIGF2YWlsYWJpbGl0eSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBcAAAEAZnQgY29tbWFuZCwgZGVwcmVjYXRpbmcgYmF0Y2hfaW5zZXJ0IChDQVNTQU5EUkEtMzM2KQogKiByZW1vdmUgZ2V0X2tleV9yYW5nZSBUaHJpZnQgQVBJLCBkZXByZWNhdGVkIGluIDAuNSAoQ0FTU0FORFJBLTcxMCkKICogYWRkIG9wdGlvbmFsIGxvZ2luKCkgVGhyaWZ0IGNhbGwgZm9yIGF1dGhlbnRpY2F0aW9uIChDQVNTQU5EUkEtNTQ3KQogKiBzdXBwb3J0IGZhdCBjbGllbnRzIHVzaW5nIGdvc3NpcGVyIGFuZCBTdG9yYWdlUHJveHkgdG8gcGVyZkaURWEAAAFP3jyyXAAQcmF0ZWd5IHBhcmFtZXRlcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsFwAAAQB2ZSBNZXNzYWdpbmdTZXJ2aWNlIGVmZmljaWVuY3kgKENBU1NBTkRSQS0zNjE3KQogKiBBdm9pZCBJRCBjb25mbGljdHMgZnJvbSBjb25jdXJyZW50IHNjaGVtYSBjaGFuZ2VzIChDQVNTQU5EUkEtMzc5NCkKICogU2V0IHRocmlmdCBIU0hBIHNlcnZlciB0aHJlYWQgbGltaXQgdG8gdW5saW1pdGVkIGJ5IGRlZmF1bHQgKENBU1NBTkRSQS00Mjc3KQogKiBBdm9pZHMgZG91YmxlIHNlcmlhbGl6YXRpb24gb2YgQ0YgaWQgaW4gUm93TXV0YXRpb24gbWVzcKKDmwAAAU/ePLJcABBsZXRpbmcgc3N0YWJsZXMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwXAAABACBmaWx0ZXIgZmFsc2UgcG9zaXRpdmUgY2hhbmNlIG9mIDAgKENBU1NBTkRSQS01MDEzKQogKiBhZGQgdGhyZWFkcG9vbCBzaXplIGFkanVzdG1lbnQgbWV0aG9kcyB0byBKTVhFbmFibGVkVGhyZWFkUG9vbEV4ZWN1dG9yIGFuZCAKICAgQ29tcGFjdGlvbk1hbmFnZXJNQmVhbiAoQ0FTU0FORFJBLTUwNDQpCiAqIGZpeCBoaW50aW5nIGZvciBkcm9wcGVkIGxvY2FsIHdyaXRlcyAoQ0FTU0FORFJBLTQ3NTMpCiAqIG9mZi1oZWFwIGNhY2hlIGRvZXNuJ3SjywFdAAABT948slwAEGUgaGFuZGxpbmcgbmF0aXYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBcAAAEAIHJlZmVyZW5jZSAoQ0FTU0FORFJBLTcwMDApCiAqIENsZWFuIHVwIEluZGV4SW5mbyBvbiBrZXlzcGFjZS90YWJsZSBkcm9wcyAoQ0FTU0FORFJBLTY5MjQpCiAqIE9ubHkgc25hcHNob3QgcmVsYXRpdmUgU1NUYWJsZXMgd2hlbiBzZXF1ZW50aWFsIHJlcGFpciAoQ0FTU0FORFJBLTcwMjQpCiAqIFJlcXVpcmUgbm9kZXRvb2wgcmVidWlsZF9pbmRleCB0byBzcGVjaWZ5IGluZGV4IG5hbWVzIChDQVNTQU5EUkEtNzAzOCkKICogZml4IGNhc3NhbmRyYYvvVYkAAAFP3jyyXAAQNDkyNCkKICogRml4IHJhcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsFwAAAQAgY29uZGl0aW9uIGluIEJhdGNoIENMRSAoQ0FTU0FORFJBLTY4NjApCiAqIEltcHJvdmUgY2xlYW51cC9zY3J1Yi91cGdyYWRlc3N0YWJsZXMgZmFpbHVyZSBoYW5kbGluZyAoQ0FTU0FORFJBLTY3NzQpCiAqIEJ5dGVCdWZmZXIgd3JpdGUoKSBtZXRob2RzIGZvciBzZXJpYWxpemluZyBzc3RhYmxlcyAoQ0FTU0FORFJBLTY3ODEpCiAqIFByb3BlciBjb21wYXJlIGZ1bmN0aW9uIGZvciBDb2xsZWN0aW9uVHlwZSAoQ0FTU0FORFJBLTY3ODMpCiAqIFVwhPdJywAAAU/ePLJcABBjcmVhc2Ugc3RhY2sgc2l6AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwXAAABAGVuZGxpZXIgZXJyb3IgZm9yIFVua25vd25Ib3N0RXhjZXB0aW9uIG9uIHN0YXJ0dXAgKENBU1NBTkRSQS0xNjk3KQogKiBpbmNsdWRlIGpuYSBkZXBlbmRlbmN5IGluIFJQTSBwYWNrYWdlIChDQVNTQU5EUkEtMTY5MCkKICogYWRkIC0tc2tpcC1rZXlzIG9wdGlvbiB0byBzdHJlc3MucHkgKENBU1NBTkRSQS0xNjk2KQogKiBpbXByb3ZlIGNsaSBoYW5kbGluZyBvZiBub24tc3RyaW5nIGtleXMgYW5kIGNvbHVtbiBuYW1lcyAKICAgKENBU1NBTkRSQS05LssvAAABT948slwAEDcyMSkKICogbWFrZSBzdHIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBcAAAEAciAoQ0FTU0FORFJBLTgyNjcpCiAqIERvbid0IGFsbG93IHN0YXJ0aW5nIG11bHRpcGxlIGluYyByZXBhaXJzIG9uIHRoZSBzYW1lIHNzdGFibGVzIChDQVNTQU5EUkEtODMxNikKICogSW52YWxpZGF0ZSBwcmVwYXJlZCBCQVRDSCBzdGF0ZW1lbnRzIHdoZW4gcmVsYXRlZCB0YWJsZXMKICAgb3Iga2V5c3BhY2VzIGFyZSBkcm9wcGVkIChDQVNTQU5EUkEtODY1MikKICogRml4IG1pc3NpbmcgcmVzdWx0cyBpbiBzZWNvbmRhcnkgaW5kZXggcXVlcmllc3yiXdgAAAFP3jyyXAAQbWVudHMgYmVmb3JlIHJlbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsFwAAAQBoZSBjb21taXRsb2cgZm9yIGNlcnRhaW4ga2V5c3BhY2VzIChDQVNTQU5EUkEtMjY4MykKICogYXZvaWQgTlBFIHdoZW4gYnlwYXNzaW5nIGNvbW1pdGxvZyBkdXJpbmcgbWVtdGFibGUgZmx1c2ggKENBU1NBTkRSQS0yNzgxKQogKiBBZGRlZCBzdXBwb3J0IGZvciBtYWtpbmcgYm9vdHN0cmFwIHJldHJ5IGlmIG5vZGVzIGZsYXAgKENBU1NBTkRSQS0yNjQ0KQogKiBBZGRlZCBzdGF0dXN0aHJpZnQgdG8gbm9kZXRvb2wgdG8gcmVwb3J0IGlmIHRocmlmKtrlfgAAAU/ePLJcABAyNSwgMTkwNykKICogbW9yAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwYAAABAGxlIGdldExvYWQiIHRvIFN0b3JhZ2VTZXJ2aWNlTUJlYW4gKENBU1NBTkRSQS04OTgpCiAqIHRyYWNrIHJvdyBzdGF0cyBwZXIgQ0YgYXQgY29tcGFjdGlvbiB0aW1lIChDQVNTQU5EUkEtODcwKQogKiBkaXNhbGxvdyBDb21taXRMb2dEaXJlY3RvcnkgbWF0Y2hpbmcgYSBEYXRhRmlsZURpcmVjdG9yeSAoQ0FTU0FORFJBLTg4OCkKICogZGVmYXVsdCBrZXkgY2FjaGUgc2l6ZSBpcyAyMDBrIGVudHJpZXMsIGNoYW5nZWQgZnJvbSAxMCUgKENBU1NBTkS502RmAAABT948slwAEENBU1NBTkRSQS00MDE4KQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBgAAAEAcmFwIHRva2VuCiAgIChDQVNTQU5EUkEtMjgyNSkKICogZ29zc2lwZXIgbm90aWZpZXMgb2YgbG9jYWwgc3RhdGUgY2hhbmdlcyAoQ0FTU0FORFJBLTI5NDgpCiAqIGFkZCBhc3luY2hyb25vdXMgYW5kIGhhbGYtc3luYy9oYWxmLWFzeW5jIChoc2hhKSB0aHJpZnQgc2VydmVycyAKICAgKENBU1NBTkRSQS0xNDA1KQogKiBmaXggcG90ZW50aWFsIHVzZSBvZiBmcmVlJ2QgbmF0aXZlIG1lbW9yeSBpbiBTZXJpYWxpemluZ0NhY2hlIAogICAoQ0FTU0FORODlQ4MAAAFP3jyyXAAQeXRlcyB0byBoZXggY29udgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsGAAAAQAgbm90IGV4aXN0IChDQVNTQU5EUkEtMjcyMykKICogU3VwcG9ydCBwYXNzaW5nIHRhYmxlTmFtZSBhbmQgY2ZOYW1lIHRvIFJvd0NhY2hlUHJvdmlkZXJzIChDQVNTQU5EUkEtMjcwMikKICogY2xvc2Ugc2NydWIgZmlsZSBoYW5kbGVzIChDQVNTQU5EUkEtMjY2OSkKICogdGhyb3R0bGUgbWlncmF0aW9uIHJlcGxheSAoQ0FTU0FORFJBLTI3MTQpCiAqIG9wdGltaXplIGNvbHVtbiBzZXJpYWxpemVyIGNyZWF0aW9uIChDQVNTQU5EUkEtMjcxNikKICog4luTFQAAAU/ePLJcABBnIGNvbXBhY3Rpb24gKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwZAAABAHIgY29tcGFjdCB0YWJsZSB3aXRoIGNvbXBvc2l0ZXMgKENBU1NBTkRSQS02NzM4KQogKiBGaXggcG90ZW50aWFsbHkgcmVwYWlyaW5nIHdpdGggd3Jvbmcgbm9kZXMgKENBU1NBTkRSQS02ODA4KQogKiBDaGFuZ2UgY2FjaGluZyBvcHRpb24gc3ludGF4IChDQVNTQU5EUkEtNjc0NSkKICogRml4IHN0cmVzcyB0byBkbyBwcm9wZXIgY291bnRlciByZWFkcyAoQ0FTU0FORFJBLTY4MzUpCiAqIEZpeCBoZWxwIG1lc3NhZ2UgZm9yIHN0cmVzcyBjb3VudGVsWPFaAAABT948slwAEGQgKENBU1NBTkRSQS01NjUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBkAAAEAZGF0ZSBzdHJpbmdzIChDQVNTQU5EUkEtNjk3MykKICogU3VwcG9ydCBzZWxlY3RpbmcgbXVsdGlwbGUgcm93cyBpbiBhIHBhcnRpdGlvbiB1c2luZyBJTiAoQ0FTU0FORFJBLTY4NzUpCiAqIEFkZCBhdXRoZW50aWNhdGlvbiBzdXBwb3J0IHRvIHNodWZmbGUgKENBU1NBTkRSQS02NDg0KQogKiBTd2FwIGxvY2FsIGFuZCBnbG9iYWwgZGVmYXVsdCByZWFkIHJlcGFpciBjaGFuY2VzIChDQVNTQU5EUkEtNzMyMCkKICogQWRkIGNvbmRpdGlvbmFsIENSRdMGbOwAA/P31ppitwAAAU/ePLJcABAgRkQgcGhpIGVzdGltYXRlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwZAAABAGVmYXVsdCAoQ0FTU0FORFJBLTUwMjkpCiAqIEZpeCBwcmVwYXJpbmcgaW5zZXJ0IHF1ZXJpZXMgKENBU1NBTkRSQS01MDE2KQogKiBGaXggcHJlcGFyaW5nIHF1ZXJpZXMgd2l0aCBjb3VudGVyIGluY3JlbWVudCAoQ0FTU0FORFJBLTUwMjIpCiAqIEZpeCBwcmVwYXJpbmcgdXBkYXRlcyB3aXRoIGNvbGxlY3Rpb25zIChDQVNTQU5EUkEtNTAxNykKICogRG9uJ3QgZ2VuZXJhdGUgVVVJRCBiYXNlZCBvbiBvdGhlciBub2RlIGFkZHJlc3MgKENBU1NBTkRtGsjAAAABT948slwAEHVzZSBkZWZhdWx0IGNvbnMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBkAAAEAQ0FTU0FORFJBLTg2MTApCiAqIEZpeCByZXZlcnNhbCBvZiBsaXN0IHByZXBlbmRzIChDQVNTQU5EUkEtODczMykKICogUHJldmVudCBub24temVybyBkZWZhdWx0X3RpbWVfdG9fbGl2ZSBvbiB0YWJsZXMgd2l0aCBjb3VudGVycwogICAoQ0FTU0FORFJBLTg2NzgpCiAqIEZpeCBTU1RhYmxlU2ltcGxlVW5zb3J0ZWRXcml0ZXIgQ29uY3VycmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlvbgogICAoQ0FTU0FORFJBLTg2MTkpCiAqIFJvdW5kIHVwIHRpbWUgZBQRDJ0AAAFP3jyyXAAQQU5EUkEtODM3MykKICogRgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsGgAAAQB1bW5zIGluc3RlYWQgb2YKICAgcm93cyAoQ0FTU0FORFJBLTM3NDIpCiAqIEFsbG93IHJhbmdlU2xpY2UgcXVlcmllcyB0byBiZSBzdGFydC9lbmQgaW5jbHVzaXZlL2V4Y2x1c2l2ZSAoQ0FTU0FORFJBLTM3NDkpCiAqIEZpeCBCdWxrTG9hZGVyIHRvIHN1cHBvcnQgbmV3IFNTVGFibGUgbGF5b3V0IGFuZCBhZGQgc3RyZWFtCiAgIHRocm90dGxpbmcgdG8gcHJldmVudCBhbiBOUEUgd2hlbiB0aGVyZSBpcyBubyB5YW1sIGNvbmZpZyAoQ0FTU0FORFJBdM85ugAAAU/ePLJcABAKICAgKCJhbnQgdGVzdCIgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwaAAABAEluZm8gYWZ0ZXIgbWFya2luZyBpbmRleCBidWlsdCAoQ0FTU0FORFJBLTkxMjgpCiAqIEZpeCB1cGRhdGVzIHRvIG1pbi9tYXhfY29tcGFjdGlvbl90aHJlc2hvbGQgdGhyb3VnaCBjYXNzYW5kcmEtY2xpCiAgIChDQVNTQU5EUkEtODEwMikKICogRG9uJ3QgaW5jbHVkZSB0bXAgZmlsZXMgd2hlbiBkb2luZyBvZmZsaW5lIHJlbGV2ZWwgKENBU1NBTkRSQS05MDg4KQogKiBVc2UgdGhlIHByb3BlciBDQVMgV3JpdGVUeXBlIHdoZW4gZmluaXNoaW5nIGEYp1XGAAABT948slwAEG5UeXBlIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBoAAAEAQS03ODEwKQoKCjIuMS4wLXJjNgogKiBGaXggT09NIGlzc3VlIGZyb20gbmV0dHkgY2FjaGluZyBvdmVyIHRpbWUgKENBU1NBTkRSQS03NzQzKQogKiBqc29uMnNzdGFibGUgY291bGRuJ3QgaW1wb3J0IEpTT04gZm9yIENRTCB0YWJsZSAoQ0FTU0FORFJBLTc0NzcpCiAqIEludmFsaWRhdGUgYWxsIGNhY2hlcyBvbiB0YWJsZSBkcm9wIChDQVNTQU5EUkEtNzU2MSkKICogU2tpcCBzdHJpY3QgZW5kcG9pbnQgc2VsZWN0aW9uIGZvciByYW5nZXMgaWYgUoo/pwsAAAFP3jyyXAAQQ0FTU0FORFJBLTc1MzgpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsGgAAAQBvcGVydGllcwogKiBhZGQgY2xpIHN1cHBvcnQgZm9yIGdldF9yYW5nZV9zbGljZXMgKENBU1NBTkRSQS0xMDg4LCBDQVNTQU5EUkEtMTYxOSkKICogTWFrZSBtZW10YWJsZSBmbHVzaCB0aHJlc2hvbGRzIHBlci1DRiBpbnN0ZWFkIG9mIGdsb2JhbCAKICAgKENBU1NBTkRSQS0xMDA3LCAxNjM3KQogKiBhZGQgY2xpIHN1cHBvcnQgZm9yIGJpbmFyeSBkYXRhIHdpdGhvdXQgQ2ZEZWYgaGludHMgKENBU1NBTkRSQS0xNjAzKQogKiBmaXggYnVpbGRpbmcgeDkn2wAAAU/ePLJcABBhY2hlIHZpYSBKTVggKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwaAAABAE5EUkEtNzY2MykKICogQWx3YXlzIGZsdXNoIG9uIHRydW5jYXRlIChDQVNTQU5EUkEtNzUxMSkKICogRml4IFJldmVyc2VkVHlwZShEYXRlVHlwZSkgbWFwcGluZyB0byBuYXRpdmUgcHJvdG9jb2wgKENBU1NBTkRSQS03NTc2KQogKiBBbHdheXMgbWVyZ2UgcmFuZ2VzIG93bmVkIGJ5IGEgc2luZ2xlIG5vZGUgKENBU1NBTkRSQS02OTMwKQogKiBUcmFjayBtYXgvbWluIHRpbWVzdGFtcHMgZm9yIHJhbmdlIHRvbWJzdG9uZXMgKENBU1NBTkRSQS03NjSHItz+AAABT948slwAEG9sdW1uIGZhbWlsaWVzIGYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBoAAAEACiAqIGFkZCBUVEwgc3VwcG9ydCB0byBDTEkgKENBU1NBTkRSQS0xODM4KQogKiBjbGkgZGVmYXVsdHMgdG8gYnl0ZXN0eXBlIGZvciBzdWJjb21wYXJhdG9yIHdoZW4gY3JlYXRpbmcKICAgY29sdW1uIGZhbWlsaWVzIChDQVNTQU5EUkEtMTgzNSkKICogdW5yZWdpc3RlciBpbmRleCBNQmVhbnMgd2hlbiBpbmRleCBpcyBkcm9wcGVkIChDQVNTQU5EUkEtMTg0MykKICogbWFrZSBCeXRlQnVmZmVyVXRpbC5jbG9uZSB0aHJlYWQtc2FmZSAoQ0FTU0FORDmjshkAAAFP3jyyXAAQb3IgQ0wuVFdPIGFuZCBDTAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsGgAAAQBkZCB2YWxpZGF0aW9uIGRpc2FsbG93aW5nIG51bGwga2V5cyAoQ0FTU0FORFJBLTQ4NikKICogRml4IHJhY2UgY29uZGl0aW9ucyBpbiBUQ1BDb25uZWN0aW9uTWFuYWdlciAoQ0FTU0FORFJBLTQ4NykKICogRml4IHVzaW5nIG5vbi11dGY4LWF3YXJlIGNvbXBhcmlzb24gYXMgYSBzYW5pdHkgY2hlY2suCiAgIChDQVNTQU5EUkEtNDkzKQogKiBJbXByb3ZlIGRlZmF1bHQgZ2FyYmFnZSBjb2xsZWN0b3Igb3B0aW9ucyAoQ0FTU0FORFJBLTUwNCkKICogSTlQAwAAAU/ePLJcABAgZm9yIGNvbW1pdCBsb2cgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwaAAABACBDUkFSIHRvIHByZXZlbnQgbGVha2luZyBmaWxlIGRlc2NyaXB0b3JzIChDQVNTQU5EUkEtNDgyMCkKICogZml4IHBvdGVudGlhbCBpbmZpbml0ZSBsb29wIGluIGdldF9jb3VudCAoQ0FTU0FORFJBLTQ4MzMpCiAqIGZpeCBjb21wb3NpdGVUeXBlLntnZXQvZnJvbX1TdHJpbmcgbWV0aG9kcyAoQ0FTU0FORFJBLTQ4NDIpCiAqIChDUUwpIGZpeCBDUkVBVEUgQ09MVU1ORkFNSUxZIHBlcm1pc3Npb25zIGNoZWNrIChDQVNTQU5EUkEtNDg2NCkKICogRmmYCvlfAAABT948slwAEExfU0VSSUFMIGZyb20gdGgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBoAAAEAOTQ2KQogKiBGaXggd3JvbmcgcHJvZ3Jlc3Mgd2hlbiBzdHJlYW1pbmcgdW5jb21wcmVzc2VkIChDQVNTQU5EUkEtNzg3OCkKICogRml4IHBvc3NpYmxlIGluZmluaXRlIGxvb3AgaW4gY3JlYXRpbmcgcmVwYWlyIHJhbmdlIChDQVNTQU5EUkEtNzk4MykKICogRml4IHVuaXQgaW4gbm9kZXRvb2wgZm9yIHN0cmVhbWluZyB0aHJvdWdocHV0IChDQVNTQU5EUkEtNzM3NSkKTWVyZ2VkIGZyb20gMS4yOgogKiBEb24ndCBpbmRleCB0b21ic3RvbmVzIChDQdb7tQ4AAAFP3jyyXAAQYW1wIG9uIGZ1bGwgcm93IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsGgAAAQBpbnRvIC5kYiwgLm5ldCwgLmludGVybmFsLCAucmVxdWVzdCAoQ0FTU0FORFJBLTEyMTcpCiAqIGFsbG93IG5vZGVzIHRvIGNoYW5nZSBJUHMgYmV0d2VlbiByZXN0YXJ0cyAoQ0FTU0FORFJBLTE1MTgpCiAqIHJlbWVtYmVyIHJpbmcgc3RhdGUgYmV0d2VlbiByZXN0YXJ0cyBieSBkZWZhdWx0IChDQVNTQU5EUkEtMTUxOCkKICogZmx1c2ggaW5kZXggYnVpbHQgZmxhZyBzbyB3ZSBjYW4gcmVhZCBpdCBiZWZvcmUgbG9nIHJlcGxheSAoQ0FTU0FORFJBhOAMpAAAAU/ePLJcABBsaWFzIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwaAAABAGFuZ2Vfc2xpY2UgZm9yIFJhbmRvbVBhcnRpdGlvbmVyIChDQVNTQU5EUkEtNzQ1KQogKiBwZXIta2V5c3BhY2UgcmVwbGljYXRpb24gZmFjdG9yeSBhbmQgcmVwbGljYXRpb24gc3RyYXRlZ3kgKENBU1NBTkRSQS02MjApCiAqIHRyYWNrIGxhdGVuY3kgaW4gbWljcm9zZWNvbmRzIChDQVNTQU5EUkEtNzMzKQogKiBhZGQgZGVzY3JpYmVfIFRocmlmdCBtZXRob2RzLCBkZXByZWNhdGluZyBnZXRfc3RyaW5nX3Byb3BlcnR5IGFuZCAKICAgZ2V0X3N0cmlIEv7/AAABT948slwAEFNTQU5EUkEtNDAwMykKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBoAAAEALjIueCAoQ0FTU0FORFJBLTUyMDEpCiAqIEZpeCBFc3RpbWF0ZWRIaXN0b2dyYW0gcmFjZXMgKENBU1NBTkRSQS02NjgyKQogKiBGYWlsdXJlIGRldGVjdG9yIGNvcnJlY3RseSBjb252ZXJ0cyBpbml0aWFsIHZhbHVlIHRvIG5hbm9zIChDQVNTQU5EUkEtNjY1OCkKICogQWRkIG5vZGV0b29sIHRha2V0b2tlbiB0byByZWxvY2F0ZSB2bm9kZXMgKENBU1NBTkRSQS00NDQ1KQogKiBFeHBvc2UgYnVsayBsb2FkaW5nIHByb2dyZXNzIG92ZXIgSk1YIChDQZ+KcM8AAAFP3jyyXAAQcnkgKENBU1NBTkRSQS01NAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsGgAAAQBpbCBvbiBub2RlIGRvd24gKENBU1NBTkRSQS01MjAzKQogKiBhbHdheXMgY29sbGVjdCB0b21ic3RvbmUgaGludHMgKENBU1NBTkRSQS01MDY4KQogKiBGaXggZXJyb3Igd2hlbiBzb3VyY2luZyBmaWxlIGluIGNxbHNoIChDQVNTQU5EUkEtNTIzNSkKCgoxLjIuMQogKiBzdHJlYW0gdW5kZWxpdmVyZWQgaGludHMgb24gZGVjb21taXNzaW9uIChDQVNTQU5EUkEtNTEyOCkKICogR29zc2lwaW5nUHJvcGVydHlGaWxlU25pdGNoIGxvYWRzIHNhdmVkIGRje2UoKQAECFTcqBT8AAABT948slwAECBpbiBDUUwgcXVlcmllcyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBsAAAEAZiBtdWx0aXBsZSBzc3RhYmxlcyAoQ0FTU0FORFJBLTIzMDEpCiAqIHB1cmdlIHRvbWJzdG9uZWQgcm93cyBmcm9tIGNhY2hlIGFmdGVyIEdDR3JhY2VTZWNvbmRzIChDQVNTQU5EUkEtMjMwNSkKICogYWxsb3cgemVybyByZXBsaWNhcyBpbiBhIE5UUyBkYXRhY2VudGVyIChDQVNTQU5EUkEtMTkyNCkKICogbWFrZSByYW5nZSBxdWVyaWVzIHJlc3BlY3Qgc25pdGNoIGZvciBsb2NhbCByZXBsaWNhcyAoQ0FTU0FORFJBLTIyODYpCiAqIGZpeCBISCBkZZZQmI8AAAFP3jyyXAAQeSBjYWxsIHByb3ZpZGVkIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsGwAAAQAgKENBU1NBTkRSQS05NzUpCiAqIGZpeCBpbmRleCBzY2FuIHJvdXRpbmcgKENBU1NBTkRSQS0xNzIyKQogKiBmaXggdG9tYnN0b25pbmcgb2Ygc3VwZXJjb2x1bW5zIGluIHJhbmdlIHF1ZXJpZXMgKENBU1NBTkRSQS0xNzM0KQogKiBjbGVhciBlbmRwb2ludCBjYWNoZSBhZnRlciB1cGRhdGluZyBrZXlzcGFjZSBtZXRhZGF0YSAoQ0FTU0FORFJBLTE3NDEpCiAqIGZpeCB3cmFwcGluZy1yYW5nZSBxdWVyaWVzIG9uIG5vbi1taW5pbXVtIHRva2VuIChD2b2AiwAAAU/ePLJcABBpdGggc3N0YWJsZTJqc29uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwbAAABAGVyIHNvY2tldHMgKENBU1NBTkRSQS0xNzY2KQogKiBjb3VudCB0aW1lb3V0cyB0b3dhcmRzIGR5bmFtaWNzbml0Y2ggbGF0ZW5jaWVzIChDQVNTQU5EUkEtMTkwNSkKICogRXhwb3NlIGluZGV4LWJ1aWxkaW5nIHN0YXR1cyBpbiBKTVggKyBjbGkgc2NoZW1hIGRlc2NyaXB0aW9uCiAgIChDQVNTQU5EUkEtMTg3MSkKICogYWxsb3cgW0xPQ0FMfEVBQ0hdX1FVT1JVTSB0byBiZSB1c2VkIHdpdGggbm9uLU5ldHdvcmtUb3BvbG9neSAKICAgcmVwbGljYXSOdrHjAAABT948slwAEGxpY2F0aW9uU3RyYXRlZ3kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBsAAAEAd2l0aCBzdGF0aWMgY29sdW1ucyAoQ0FTU0FORFJBLTY5NTYpCiAqIEZpeCBjbGFzaCB3aXRoIENRTCBjb2x1bW4gbmFtZSBpbiB0aHJpZnQgdmFsaWRhdGlvbiAoQ0FTU0FORFJBLTY4OTIpCiAqIEZpeCBlcnJvciB3aXRoIHN1cGVyIGNvbHVtbnMgaW4gbWl4ZWQgMS4yLTIuMCBjbHVzdGVycyAoQ0FTU0FORFJBLTY5NjYpCiAqIEZpeCBiYWQgc2tpcCBvZiBzc3RhYmxlcyBvbiBzbGljZSBxdWVyeSB3aXRoIGNvbXBvc2l0ZSBzdGFydC9maW5pc2ggKHY/35gAAAFP3jyyXAAQIEhIT00ucmVuYW1lSGludAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsGwAAAQB0ZSB0aGVpciBKTVggc3RhdHVzIChDQVNTQU5EUkEtOTE2KQogKiBGaXggaW50ZXJuYWwgUlBDIHRpbWVvdXQgY2FsY3VsYXRpb24gKENBU1NBTkRSQS05MTEpCiAqIEFkZGVkIFBpZyBsb2FkZnVuYyB0byBjb250cmliL3BpZyAoQ0FTU0FORFJBLTkxMCkKCgowLjYuMC1iZXRhMwogKiBmaXggY29tcGFjdGlvbiBidWNrZXRpbmcgYnVnIChDQVNTQU5EUkEtODE0KQogKiB1cGRhdGUgd2luZG93cyBiYXRjaCBmaWxlIChDQVNTQU5EUkEtODI0KQogKiBkc7XGnwAAAU/ePLJcABBTQU5EUkEtNzE5MSkKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwbAAABAGQgaW4gU1NUYWJsZVNpbXBsZVVuc29ydGVkV3JpdGVyIChDQVNTQU5EUkEtMzYxOSkKICogZnN5bmMgdGhlIGRpcmVjdG9yeSBhZnRlciBuZXcgc3N0YWJsZSBvciBjb21taXRsb2cgc2VnbWVudCBhcmUgY3JlYXRlZCAoQ0FTU0FORFJBLTMyNTApCiAqIGZpeCBtaW5vciBpc3N1ZXMgcmVwb3J0ZWQgYnkgRmluZEJ1Z3MgKENBU1NBTkRSQS0zNjU4KQogKiBnbG9iYWwga2V5L3JvdyBjYWNoZXMgKENBU1NBTkRSQS0zMTQzLCAzODQ5KQogKiBvcHRpbWmqgRr7AAABT948slwAEF9QUklPUklUWSAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBwAAAEAICogQ29tbWl0IGRpc2sgZmFpbHVyZSBwb2xpY3kgKENBU1NBTkRSQS03NDI5KQogKiBNYWtlIHN1cmUgaGlnaCBsZXZlbCBzc3RhYmxlcyBnZXQgY29tcGFjdGVkIChDQVNTQU5EUkEtNzQxNCkKICogRml4IEFzc2VydGlvbkVycm9yIHdoZW4gdXNpbmcgZW1wdHkgY2x1c3RlcmluZyBjb2x1bW5zIGFuZCBzdGF0aWMgY29sdW1ucwogICAoQ0FTU0FORFJBLTc0NTUpCiAqIEFkZCBvcHRpb24gdG8gZGlzYWJsZSBTVENTIGluIEwwIChDQVNTQU5EUkEtNstVHaAAAAFP3jyyXAAQdXNlIGEgdG9rZW4gdGhhdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsHAAAAQBvdXBhYmxlIG11dGF0aW9ucyBpbiBUcmlnZ2VyRXhlY3V0b3IjZXhlY3V0ZSgpIChDQVNTQU5EUkEtNzA0NykKICogUGx1ZyBob2xlcyBpbiByZXNvdXJjZSByZWxlYXNlIHdoZW4gd2lyaW5nIHVwIFN0cmVhbVNlc3Npb24gKENBU1NBTkRSQS03MDczKQogKiBSZS1hZGQgcGFyYW1ldGVyIGNvbHVtbnMgdG8gdHJhY2luZyBzZXNzaW9uIChDQVNTQU5EUkEtNjk0MikKICogUHJlc2VydmVzIENRTCBtZXRhZGF0YSB3aGVuIHVwZGF0aW5nIHRhYmxlIGZyW3S9xAAAAU/ePLJcABB1cCBhdCBDTC5PTkUgKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwcAAABAHRhdGUgdG8gcHJldmVudCB0aW1lb3V0cyBkdXJpbmcgcm9sbGluZyByZXN0YXJ0cyAoQ0FTU0FORFJBLTgzMzYpCiAqIEZpeCBydW5uaW5nIHdpdGggamF2YS5uZXQucHJlZmVySVB2NkFkZHJlc3Nlcz10cnVlIChDQVNTQU5EUkEtOTEzNykKICogRml4IGZhaWxlZCBib290c3RyYXAvcmVwbGFjZSBhdHRlbXB0cyBiZWluZyBwZXJzaXN0ZWQgaW4gc3lzdGVtLnBlZXJzIChDQVNTQU5EUkEtOTE4MCkKICogRmx1c2ggc3lzdGVtLkluZGV4SW5mbyBhZnT65+SLAAABT948slwAEGUuICByZXBhaXJzIGFyZSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBwAAAEATkRSQS01Njk2KQogKiBjcWxzaDogRG9uJ3Qgc2hvdyAnbnVsbCcgaW4gcGxhY2Ugb2YgZW1wdHkgdmFsdWVzIChDQVNTQU5EUkEtNTY3NSkKICogUmFjZSBjb25kaXRpb24gaW4gZGV0ZWN0aW5nIHZlcnNpb24gb24gYSBtaXhlZCAxLjEvMS4yIGNsdXN0ZXIKICAgKENBU1NBTkRSQS01NjkyKQogKiBGaXggc2tpcHBpbmcgcmFuZ2UgdG9tYnN0b25lcyB3aXRoIHJldmVyc2UgcXVlcmllcyAoQ0FTU0FORFJBLTU3MTIpCiAqIEV4cGlyZSBlbnRyaWVzICoJDSkAAAFP3jyyXAAQMzkxKQogKiBjcWxzaDogaAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsHAAAAQAgc2l6ZSBsaW1pdCB0aHJvdWdoCiAgIGNxbHNocmMgY29uZmlnIG9wdGlvbiAoQ0FTU0FORFJBLTg5MzQpCiAqIFN0b3AgbG9nZ2luZyByYW5nZSB0b21ic3RvbmVzIHdoZW4gZXhjZWVkaW5nIHRoZSB0aHJlc2hvbGQKICAgKENBU1NBTkRSQS04NTU5KQogKiBGaXggTnVsbFBvaW50ZXJFeGNlcHRpb24gd2hlbiBub2RldG9vbCBnZXRlbmRwb2ludHMgaXMgcnVuCiAgIGFnYWluc3QgaW52YWxpZCBrZXlzcGFjZXMgb3IgdGFibGVzIChDQVNTQU5EUkEtwnBypQAAAU/ePLJcABA3KQogKiByZW1vdmUgdG9tAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwcAAABACByZXBhaXJpbmcgYmV0d2VlbiBzcGVjaWZpYyByZXBsaWNhcyAoQ0FTU0FORFJBLTY0NDApCiAqIEFsbG93IHBlci1kYyBlbmFibGluZyBvZiBoaW50cyAoQ0FTU0FORFJBLTYxNTcpCiAqIEFkZCBjb21wYXRpYmlsaXR5IGZvciBIYWRvb3AgMC4yLnggKENBU1NBTkRSQS01MjAxKQogKiBGaXggRXN0aW1hdGVkSGlzdG9ncmFtIHJhY2VzIChDQVNTQU5EUkEtNjY4MikKICogRmFpbHVyZSBkZXRlY3RvciBjb3JyZWN0bHkgY29udmVydHMgaW5pdGlhbCCYkM1UAAABT948slwAEDUxODUpCiAqIGZpeCBidWcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILBwAAAEAdXB0aW9uIGluIGNvbXByZXNzZWQgc3N0YWJsZXMgKENBU1NBTkRSQS04MTkyKQogKiBVc2UgdGhlIGNvcnJlY3QgcmVwYWlyZWRBdCB2YWx1ZSB3aGVuIGNsb3Npbmcgd3JpdGVyIChDQVNTQU5EUkEtODU3MCkKICogKGNxbHNoKSBIYW5kbGUgYSBzY2hlbWEgbWlzbWF0Y2ggYmVpbmcgZGV0ZWN0ZWQgb24gc3RhcnR1cCAoQ0FTU0FORFJBLTg1MTIpCiAqIFByb3Blcmx5IGNhbGN1bGF0ZSBleHBlY3RlZCB3cml0ZSBzaXplIGR1cmluZyBjb21wYWN0aTGwXBwAAAFP3jyyXAAQU1NUYWJsZUxvYWRlciBtZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsHAAAAQBSQS04MzA1KQogKiBTdXBwb3J0IGZvciBmcm96ZW4gY29sbGVjdGlvbnMgKENBU1NBTkRSQS03ODU5KQogKiBGaXggb3ZlcmZsb3cgb24gaGlzdG9ncmFtIGNvbXB1dGF0aW9uIChDQVNTQU5EUkEtODAyOCkKICogSGF2ZSBwYXhvcyByZXVzZSB0aGUgdGltZXN0YW1wIGdlbmVyYXRpb24gb2Ygbm9ybWFsIHF1ZXJpZXMgKENBU1NBTkRSQS03ODAxKQogKiBGaXggaW5jcmVtZW50YWwgcmVwYWlyIG5vdCByZW1vdmUgcGFyZW50IHNlc3Npb24gb24gcmVtVwHObgAAAU/ePLJcABBTQU5EUkEtMTQyNikKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwcAAABADc2OSkKICogZml4IE5QRSB3aGVuIHRoZSBjb21taXQgbG9nIGlzIGJ5cGFzc2VkIChDQVNTQU5EUkEtMjcxOCkKICogZG9uJ3QgdGhyb3cgYW4gZXhjZXB0aW9uIGluIFNTLmlzUlBDU2VydmVyUnVubmluZyAoQ0FTU0FORFJBLTI3MjEpCiAqIG1ha2Ugc3RyZXNzLmphciBleGVjdXRhYmxlIChDQVNTQU5EUkEtMjc0NCkKICogYWRkIGRhZW1vbiBtb2RlIHRvIGphdmEgc3RyZXNzIChDQVNTQU5EUkEtMjI2NykKICogZXhwb3NlIHRoZSBEQyBhbmQgcmGaHMVaAAQcsWFwyF0AAAFP3jyyXAAQc3RlYWQgb2YgcmVjdXJzaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsHQAAAQAgY29sdW1ucyBpbiBtaXhlZCAxLjItMi4wIGNsdXN0ZXJzIChDQVNTQU5EUkEtNjk2NikKICogRml4IGJhZCBza2lwIG9mIHNzdGFibGVzIG9uIHNsaWNlIHF1ZXJ5IHdpdGggY29tcG9zaXRlIHN0YXJ0L2ZpbmlzaCAoQ0FTU0FORFJBLTY4MjUpCiAqIEZpeCB1bmludGVuZGVkIHVwZGF0ZSB3aXRoIGNvbmRpdGlvbmFsIHN0YXRlbWVudCAoQ0FTU0FORFJBLTY4OTMpCiAqIEZpeCBtYXAgZWxlbWVudCBhY2Nlc3MgaW4gSUYgKENBU1NBTkRSQS02OTE0c3nL9AAAAU/ePLJcABBuZyAoQ0FTU0FORFJBLTMwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwdAAABACAoQ0FTU0FORFJBLTM2NzEpCiAqIGF2b2lkIHF1YWRyYXRpYyBzdGFydHVwIHRpbWUgaW4gTGV2ZWxlZE1hbmlmZXN0IChDQVNTQU5EUkEtMzk1MikKICogQWRkIHR5cGUgaW5mb3JtYXRpb24gdG8gbmV3IHNjaGVtYV8gY29sdW1uZmFtaWxpZXMgYW5kIHJlbW92ZSB0aHJpZnQKICAgc2VyaWFsaXphdGlvbiBmb3Igc2NoZW1hIChDQVNTQU5EUkEtMzc5MikKICogYWRkIG1pc3NpbmcgY29sdW1uIHZhbGlkYXRvciBvcHRpb25zIHRvIHRoZSBDTEkgaGXvk/BTAAABT948slwAEENBU1NBTkRSQS01MjcxKQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILB0AAAEAbGF0ZSBnbG9iYWwgY2FjaGVzIChDQVNTQU5EUkEtNDU2MykKICogKGNxbDMpIGZpeCBzZXR0aW5nIGNvbXBhY3Rpb24gc3RyYXRlZ3kgKENBU1NBTkRSQS00NTk3KQogKiBmaXggYnJva2VuIHN5c3RlbS5zY2hlbWFfKiB0aW1lc3RhbXBzIG9uIHN5c3RlbSBzdGFydHVwIChDQVNTQU5EUkEtNDU2MSkKICogZml4IHdyb25nIHNraXAgb2YgY2FjaGUgc2F2aW5nIChDQVNTQU5EUkEtNDUzMykKICogQXZvaWQgTlBFIHdoZW4gbG9zdCtmb3VuZCBpcyBpbsv2TkoAAAFP3jyyXAAQZyBDb25zaXN0ZW5jeUxldgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsHQAAAQB3YXJlIGNvbXBhcmlzb24gYXMgYSBzYW5pdHkgY2hlY2suCiAgIChDQVNTQU5EUkEtNDkzKQogKiBJbXByb3ZlIGRlZmF1bHQgZ2FyYmFnZSBjb2xsZWN0b3Igb3B0aW9ucyAoQ0FTU0FORFJBLTUwNCkKICogQWRkICJub2RlcHJvYmUgZmx1c2giIChDQVNTQU5EUkEtNTA1KQogKiByZW1vdmUgTm90Rm91bmRFeGNlcHRpb24gZnJvbSBnZXRfc2xpY2UgdGhyb3dzIGxpc3QgKENBU1NBTkRSQS01MTgpCiAqIGZpeCBnZXQgKG5vdCBnZXRfc2xpY2UpIG9mzEgGJgAAAU/ePLJcABBmIGNvbW1vbnMtbG9nZ2luAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwdAAABAHNzdGFibGUgcHJlbWF0dXJlbHkgaW4gY2xlYW51cCAoQ0FTU0FORFJBLTI3NjkpCiAqIGZpeCBOUEUgd2hlbiB0aGUgY29tbWl0IGxvZyBpcyBieXBhc3NlZCAoQ0FTU0FORFJBLTI3MTgpCiAqIGRvbid0IHRocm93IGFuIGV4Y2VwdGlvbiBpbiBTUy5pc1JQQ1NlcnZlclJ1bm5pbmcgKENBU1NBTkRSQS0yNzIxKQogKiBtYWtlIHN0cmVzcy5qYXIgZXhlY3V0YWJsZSAoQ0FTU0FORFJBLTI3NDQpCiAqIGFkZCBkYWVtb24gbW9kZSB0byBqYXZhIHN0cmVkV9IcAAABT948slwAEGl0IChDQVNTQU5EUkEtNDkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILB0AAAEAaXggY3Fsc2ggcmVuZGVyaW5nIG9mIGJsb2IgZmllbGRzIChDQVNTQU5EUkEtNDk3MCkKICogZml4IGNxbHNoIERFU0NSSUJFIGNvbW1hbmQgKENBU1NBTkRSQS00OTEzKQogKiBzYXZlIHRydW5jYXRpb24gcG9zaXRpb24gaW4gc3lzdGVtIHRhYmxlIChDQVNTQU5EUkEtNDkwNikKICogTW92ZSBDb21wcmVzc2lvbk1ldGFkYXRhIG9mZi1oZWFwIChDQVNTQU5EUkEtNDkzNykKICogYWxsb3cgQ0xJIHRvIEdFVCBjcWwzIGNvbHVtbmZhbWlseSBkYXRhIHF7F0IAAAFP3jyyXAAQaXRpb25lZCByZWFkIHBhdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsHQAAAQAtNzgyNCkKICogKGNxbHNoKSBTdXBwb3J0IGZvciBxdWVyeSBwYWdpbmcgKENBU1NBTkRSQS03NTE0KQogKiAoY3Fsc2gpIFNob3cgcHJvZ3Jlc3Mgb2YgQ09QWSBvcGVyYXRpb25zIChDQVNTQU5EUkEtNzc4OSkKICogQWRkIHN5bnRheCB0byByZW1vdmUgbXVsdGlwbGUgZWxlbWVudHMgZnJvbSBhIG1hcCAoQ0FTU0FORFJBLTY1OTkpCiAqIFN1cHBvcnQgbm9uLWVxdWFscyBjb25kaXRpb25zIGluIGxpZ2h0d2VpZ2h0IHRyYW5zYWN0aW9ucyAoQ0FTJrHibQAAAU/ePLJcABAoQ0FTU0FORFJBLTI1MTkpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwdAAABAERSQS02ODE4KQogKiBBdm9pZCBidWlsZCBmYWlsdXJlIGR1ZSB0byBBTlRMUiB0aW1lb3V0IChDQVNTQU5EUkEtNjk5MSkKICogUXVlcmllcyBvbiBjb21wYWN0IHRhYmxlcyBjYW4gcmV0dXJuIG1vcmUgcm93cyB0aGF0IHJlcXVlc3RlZCAoQ0FTU0FORFJBLTcwNTIpCiAqIFVTSU5HIFRJTUVTVEFNUCBmb3IgYmF0Y2hlcyBkb2VzIG5vdCB3b3JrIChDQVNTQU5EUkEtNzA1MykKICogRml4IHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24gZnJvbSBDQVNTQU56yNecAAABT948slwAEGVuIHF1ZXJpZXMgY29udGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILB0AAAEAVUlEIHZhbHVlIChDQVNTQU5EUkEtNDkzNikKICogQWRkcyBFIG5vdGF0aW9uIGZvciBmbG9hdGluZyBwb2ludCBudW1iZXJzIChDQVNTQU5EUkEtNDkyNykKICogRGV0ZWN0IChhbmQgd2FybikgdW5pbnRlbnRpb25hbCB1c2Ugb2YgdGhlIGNxbDIgdGhyaWZ0IG1ldGhvZHMgd2hlbiBjcWwzIHdhcwogICBpbnRlbmRlZCAoQ0FTU0FORFJBLTUxNzIpCiAqIGNsaTogUXVvdGUga3MgYW5kIGNmIG5hbWVzIGluIHNjaGVtYSBvdXRwdXQgd2hlbiBuZWVkZTDBdfcAAAFP3jyyXAAQZm9yIHRyaWdnZXJzIChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsHQAAAQBibGUgaW1wb3J0L2V4cG9ydCAoQ0FTU0FORFJBLTE3NTQpCiAqIGFkZCBmbHVzaCBmb3IgZWFjaCBhcHBlbmQgdG8gcGVyaW9kaWMgY29tbWl0bG9nIG1vZGU7IGFkZGVkCiAgIHBlcmlvZGljX3dpdGhvdXRfZmx1c2ggb3B0aW9uIHRvIGRpc2FibGUgdGhpcyAoQ0FTU0FORFJBLTE3ODApCiAqIGNsb3NlIGZpbGUgaGFuZGxlIHVzZWQgZm9yIHBvc3QtZmx1c2ggdHJ1bmNhdGUgKENBU1NBTkRSQS0xNzkwKQogKiB2YXJpb3VzIGNvZGUgY2xlYW51cCAovCCalwAAAU/ePLJcABBORFJBLTIxOTYpCiAqIEZpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwdAAABADM2MzMpCiAqIENvcnJlY3RseSBjYXRjaCBleGNlcHRpb24gd2hlbiBTbmFwcHkgY2Fubm90IGJlIGxvYWRlZCAoQ0FTU0FORFJBLTQ0MDApCiAqIChjcWwzKSBTdXBwb3J0IE9SREVSIEJZIHdoZW4gSU4gY29uZGl0aW9uIGlzIGdpdmVuIGluIFdIRVJFIGNsYXVzZSAoQ0FTU0FORFJBLTQzMjcpCiAqIChjcWwzKSBkZWxldGUgImNvbXBvbmVudF9pbmRleCIgY29sdW1uIG9uIERST1AgVEFCTEUgY2FsbCAoQ0FTU0FORFJBLTQ0MjApCiAqIGNoYW5nZSAew1UtAAABT948slwAEG50LW9wdGlvbmFsIGFzIGQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILB0AAAEAKQogKiBsYXJnZSByb3cgc3VwcG9ydCBmb3IgU1NUYWJsZUV4cG9ydCAoQ0FTU0FORFJBLTE4NjcpCiAqIFJlLWNhY2hlIGhvdCBrZXlzIHBvc3QtY29tcGFjdGlvbiB3aXRob3V0IGhpdHRpbmcgZGlzayAoQ0FTU0FORFJBLTE4NzgpCiAqIG1hbmFnZSByZWFkIHJlcGFpciBpbiBjb29yZGluYXRvciBpbnN0ZWFkIG9mIGRhdGEgc291cmNlLCB0bwogICBwcm92aWRlIGxhdGVuY3kgaW5mb3JtYXRpb24gdG8gZHluYW1pYyBzbml0Y2ggKENBU1NBTkRSQbXK0jkAAAFP3jyyXAAQcmVtb3ZlIEZCVXRpbGl0aQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsHQAAAQAqIGZpeCByZXR1cm5pbmcgbGl2ZSBzdWJjb2x1bW5zIG9mIGRlbGV0ZWQgc3VwZXJjb2x1bW5zIChDQVNTQU5EUkEtNTgzKQogKiByZXNwZWN0IEpBVkFfSE9NRSBpbiBiaW4vIHNjcmlwdHMgKHNldmVyYWwgdGlja2V0cykKICogYWRkIFN0b3JhZ2VTZXJ2aWNlLmluaXRDbGllbnQgZm9yIGZhdCBjbGllbnRzIG9uIHRoZSBKVk0gKENBU1NBTkRSQS01MzUpCiAgIChzZWUgY29udHJpYi9jbGllbnRfb25seSBmb3IgYW4gZXhhbXBsZSBvZiB1c2UpCiAqLnFFcgAAAU/ePLJcABBuIHJhbmdlIGdob3N0cyBhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwdAAABAG5nIHRvIGFsdGVyIGEgY2x1c3RlcmluZyBrZXkgdHlwZSAoQ0FTU0FORFJBLTUwMTIpCiAqIFVwZGF0ZSBJQXV0aGVudGljYXRvciB0byBtYXRjaCB0aGUgbmV3IElBdXRob3JpemVyIChDQVNTQU5EUkEtNTAwMykKICogRml4IGluc2VydGluZyBvbmx5IGEga2V5IGluIENRTDMgKENBU1NBTkRSQS01MDQwKQogKiBGaXggQ1FMMyB0b2tlbigpIGZ1bmN0aW9uIHdoZW4gdXNlZCB3aXRoIHN0cmluZ3MgKENBU1NBTkRSQS01MDUwKQpNZXJnZWQgZnJvbSDrRXVGAAABT948slwAEGl0eSAoQ0FTU0FORFJBLTcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILB0AAAEAIG1pc2MgKENBU1NBTkRSQS04NzY5KQogKiBVc2UgbG9uZyBmb3Iga2V5IGNvdW50IGluIGNmc3RhdHMgKENBU1NBTkRSQS04OTEzKQogKiBNYWtlIFNTVGFibGVSZXdyaXRlci5hYm9ydCgpIG1vcmUgcm9idXN0IHRvIGZhaWx1cmUgKENBU1NBTkRSQS04ODMyKQogKiBSZW1vdmUgY29sZF9yZWFkc190b19vbWl0IGZyb20gU1RDUyAoQ0FTU0FORFJBLTg4NjApCiAqIE1ha2UgRXN0aW1hdGVkSGlzdG9ncmFtI3BlcmNlbnRpbGUoKSB1c2UgY2VpbCBpbvZ1VlsABDEOn74J/wAAAU/ePLJcABAKICogQWRkIHNuaXRjaCwgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwfAAABADE3KQogKiBhbGxvdyBub2RlcyB0byBjaGFuZ2UgSVBzIGJldHdlZW4gcmVzdGFydHMgKENBU1NBTkRSQS0xNTE4KQogKiByZW1lbWJlciByaW5nIHN0YXRlIGJldHdlZW4gcmVzdGFydHMgYnkgZGVmYXVsdCAoQ0FTU0FORFJBLTE1MTgpCiAqIGZsdXNoIGluZGV4IGJ1aWx0IGZsYWcgc28gd2UgY2FuIHJlYWQgaXQgYmVmb3JlIGxvZyByZXBsYXkgKENBU1NBTkRSQS0xNTQxKQogKiBsb2NrIHJvdyBjYWNoZSB1cGRhdGVzIHRvIHByZXZlbnQgcmFjZSBR8nyiAAABT948slwAEHMgdG8gc3RyZWFtIGZyb20AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILB8AAAEAKiBGaXggUElUUiBjb21taXRsb2cgcmVwbGF5IChDQVNTQU5EUkEtOTE5NSkKICogR0NJbnNwZWN0b3IgbG9ncyB2ZXJ5IGRpZmZlcmVudCB0aW1lcyAoQ0FTU0FORFJBLTkxMjQpCiAqIEZpeCBkZWxldGluZyBmcm9tIGFuIGVtcHR5IGxpc3QgKENBU1NBTkRSQS05MTk4KQogKiBVcGRhdGUgdHVwbGUgYW5kIGNvbGxlY3Rpb24gdHlwZXMgdGhhdCB1c2UgYSB1c2VyLWRlZmluZWQgdHlwZSB3aGVuIHRoYXQgVURUCiAgIGlzIG1vZGlmaWVkIChDQVNTQcKxQSEAAAFP3jyyXAAQZXRpbWUvdHRsIGZ1bmN0aQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsHwAAAQBpbGl0eSB2YWxpZGF0aW9uIGZvciBMT0NBTF9PTkUgQ0wgKENBU1NBTkRSQS03MzE5KQogKiBIaW50IHN0cmVhbWluZyBjYW4gY2F1c2UgZGVjb21taXNzaW9uIHRvIGZhaWwgKENBU1NBTkRSQS03MjE5KQoKCjIuMS4wLWJldGEyCiAqIEluY3JlYXNlIGRlZmF1bHQgQ0wgc3BhY2UgdG8gOEdCIChDQVNTQU5EUkEtNzAzMSkKICogQWRkIHJhbmdlIHRvbWJzdG9uZXMgdG8gcmVhZCByZXBhaXIgZGlnZXN0cyAoQ0FTU0FORFJBLTY4NjMpCiAqIEZpeCBC69UqjQAAAU/ePLJcABBDQVNTQU5EUkEtMzI2OCkKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwfAAABACBvbiBzdGFydHVwCiAgIChDQVNTQU5EUkEtMjk4OCkKICogbXVsdGktZGMgcmVwbGljYXRpb24gb3B0aW1pemF0aW9uIHN1cHBvcnRpbmcgQ0wgPiBPTkUgKENBU1NBTkRSQS0zNTc3KQogKiBhZGQgY29tbWFuZCB0byBzdG9wIGNvbXBhY3Rpb25zIChDQVNTQU5EUkEtMTc0MCwgMzU2NiwgMzU4MikKICogbXVsdGl0aHJlYWRlZCBzdHJlYW1pbmcgKENBU1NBTkRSQS0zNDk0KQogKiByZW1vdmVkIGluLXRyZWUgcmVkaGF0IHNwZWMgKENBU1NBTkRSQS27ccPTAAABT948slwAEHZvaWQgdHJ1bmNhdGlvbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILB8AAAEAKQpNZXJnZWQgZnJvbSAyLjA6CiAqIElnbm9yZSBnb3NzaXAgU1lOcyBhZnRlciBzaHV0ZG93biAoQ0FTU0FORFJBLTkyMzgpCiAqIEF2b2lkIG92ZXJmbG93IHdoZW4gY2FsY3VsYXRpbmcgbWF4IHNzdGFibGUgc2l6ZSBpbiBMQ1MgKENBU1NBTkRSQS05MjM1KQogKiBNYWtlIHNzdGFibGUgYmxhY2tsaXN0aW5nIHdvcmsgd2l0aCBjb21wcmVzc2lvbiAoQ0FTU0FORFJBLTkxMzgpCiAqIERvIG5vdCBhdHRlbXB0IHRvIHJlYnVpbGQgaW5kZXhlcyBpZiSeKQIAAAFP3jyyXAAQIGdldF9jb3VudCAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsHwAAAQBBTkRSQS03OTUpCiAqIGZpeCBnZXRfcmFuZ2Vfc2xpY2UgcmV0dXJuaW5nIHJlc3VsdHMgaW4gdGhlIHdyb25nIG9yZGVyIChDQVNTQU5EUkEtNzgxKQogCgowLjUuMCBmaW5hbAogKiBhdm9pZCBhdHRlbXB0aW5nIHRvIGRlbGV0ZSB0ZW1wb3JhcnkgYm9vdHN0cmFwIGZpbGVzIHR3aWNlIChDQVNTQU5EUkEtNjgxKQogKiBmaXggYm9ndXMgTmFOIGluIG5vZGVwcm9iZSBjZnN0YXRzIG91dHB1dCAoQ0FTU0FORFJBLTY0NikKICogcHJvdmlkZSBhIHBv5anLqAAAAU/ePLJcABBEUkEtMTEyOSkKICogZml4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwfAAABAEFORFJBLTg2ODkpCiAqIGNhc3NhbmRyYS1zdHJlc3Mgc3VwcG9ydCBmb3IgdmFyaW50IChDQVNTQU5EUkEtODg4MikKICogRml4IEFkbGVyMzIgZGlnZXN0IGZvciBjb21wcmVzc2VkIHNzdGFibGVzIChDQVNTQU5EUkEtODc3OCkKICogQWRkIG5vZGV0b29sIHN0YXR1c2hhbmRvZmYvc3RhdHVzYmFja3VwIChDQVNTQU5EUkEtODkxMikKICogVXNlIHN0ZG91dCBmb3IgcHJvZ3Jlc3MgYW5kIHN0YXRzIGluIHNzdGFibGVsb2FkZXIgKENBU1NBTkRSQS3f+FqEAAABT948slwAEDk0OSkKICogaWdub3JlIHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILB8AAAEAMTcxMSwgMTk0MCwgCiAgIDIxMjQsIDIzMDIsIDIyNzcsIDI0OTMpCiAqIGF2b2lkIGRvdWJsZSBSb3dNdXRhdGlvbiBzZXJpYWxpemF0aW9uIG9uIHdyaXRlIHBhdGggKENBU1NBTkRSQS0xODAwKQogKiBtYWtlIE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5IHRoZSBkZWZhdWx0IChDQVNTQU5EUkEtMTk2MCkKICogY29uZmlndXJhYmxlIGludGVybm9kZSBlbmNyeXB0aW9uIChDQVNTQU5EUkEtMTU2NywgMjE1MikKICogaHVtYW4gcmVhZGFibGUgY29sdbMw2TcAAAFP3jyyXAAQKENBU1NBTkRSQS00NzUzKQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsIAAAAQBhbGlkIGtleXNwYWNlcyBvciB0YWJsZXMgKENBU1NBTkRSQS04OTUwKQogKiBBbGxvdyBzcGVjaWZ5aW5nIHRoZSB0bXAgZGlyIChDQVNTQU5EUkEtNzcxMikKICogSW1wcm92ZSBjb21wYWN0aW9uIGVzdGltYXRlZCB0YXNrcyBlc3RpbWF0aW9uIChDQVNTQU5EUkEtODkwNCkKICogRml4IGR1cGxpY2F0ZSB1cC9kb3duIG1lc3NhZ2VzIHNlbnQgdG8gbmF0aXZlIGNsaWVudHMgKENBU1NBTkRSQS03ODE2KQogKiBFeHBvc2UgY29tbWl0IGxvZyBhcmNoiOR56QAAAU/ePLJcABAzKSBGaXggYWxsb3dpbmcgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwgAAABAE5EUkEtNzUxMSkKICogRml4IFJldmVyc2VkVHlwZShEYXRlVHlwZSkgbWFwcGluZyB0byBuYXRpdmUgcHJvdG9jb2wgKENBU1NBTkRSQS03NTc2KQogKiBBbHdheXMgbWVyZ2UgcmFuZ2VzIG93bmVkIGJ5IGEgc2luZ2xlIG5vZGUgKENBU1NBTkRSQS02OTMwKQogKiBUcmFjayBtYXgvbWluIHRpbWVzdGFtcHMgZm9yIHJhbmdlIHRvbWJzdG9uZXMgKENBU1NBTkRSQS03NjQ3KQogKiBGaXggTlBFIHdoZW4gbGlzdGluZyBzYXZlZCBjYWNoZXMgZGlyIChGiVKCAAABT948slwAEEFsc28gbm9ybWFsaXplZAoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCAAAAEAICogVmFsaWRhdGUgdGhhdCBwcm92aWRlZCBDUUwzIGNvbGxlY3Rpb24gdmFsdWUgYXJlIDwgNjRLIChDQVNTQU5EUkEtNTM1NSkKICogTWFrZSB1cGdyYWRlU1NUYWJsZSBza2lwIGN1cnJlbnQgdmVyc2lvbiBzc3RhYmxlcyBieSBkZWZhdWx0IChDQVNTQU5EUkEtNTM2NikKICogT3B0aW1pemUgbWluL21heCB0aW1lc3RhbXAgY29sbGVjdGlvbiAoQ0FTU0FORFJBLTUzNzMpCiAqIEludmFsaWQgc3RyZWFtSWQgaW4gY3FsIGJpbmFyeSBwcm90b2NvbKT21YYAAAFP3jyyXAAQYmxlIG92ZXJmbG93IHdoaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsIAAAAQBkLCBhbGwgbm9uLXNlZWQgbm9kZXMgd2lsbCBhdHRlbXB0CiAgIHRvIGJvb3RzdHJhcCB3aGVuIHN0YXJ0ZWQsIHVudGlsIGJvb3RzdHJhcCBzdWNjZXNzZnVsbHkKICAgY29tcGxldGVzLiAtYiBvcHRpb24gaXMgcmVtb3ZlZC4gIChDQVNTQU5EUkEtNDM4KQogKiBVbmxlc3MgYSB0b2tlbiBpcyBtYW51YWxseSBzcGVjaWZpZWQgaW4gdGhlIGNvbmZpZ3VyYXRpb24geG1sLAogICBhIGJvb3RzdHJhcGluZyBub2RlIHdpbGwgdXNlIGEgdG9rZW4gdGhh5fe+ogAAAU/ePLJcABBDQVNTQU5EUkEtMTczOSkKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwgAAABACBBdm9pZCByYWNlIGluIGNhbmNlbGxpbmcgY29tcGFjdGlvbnMgKENBU1NBTkRSQS05MDcwKQogKiBNb3JlIGFnZ3Jlc3NpdmUgY2hlY2sgZm9yIGV4cGlyZWQgc3N0YWJsZXMgaW4gRFRDUyAoQ0FTU0FORFJBLTgzNTkpCiAqIEZpeCBpZ25vcmVkIGluZGV4X2ludGVydmFsIGNoYW5nZSBpbiBBTFRFUiBUQUJMRSBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNzk3NikKICogRG8gbW9yZSBhZ2dyZXNzaXZlIGNvbXBhY3Rpb24gaW4gb2xkIHRpbWUgd2luZG9OHjmpAAABT948slwAEGFjdEJvdW5kcy5ub3JtYWwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCAAAAEATkRSQS02MzU4KQogKiBmcmVlIG9mZi1oZWFwIEluZGV4U3VtbWFyeSBkdXJpbmcgYnVsayAoQ0FTU0FORFJBLTYzNTkpCiAqIFJlY292ZXIgZnJvbSBJT0V4Y2VwdGlvbiBpbiBhY2NlcHQoKSB0aHJlYWQgKENBU1NBTkRSQS02MzQ5KQogKiBJbXByb3ZlIEdvc3NpcCB0b2xlcmFuY2Ugb2YgYWJub3JtYWxseSBzbG93IHRhc2tzIChDQVNTQU5EUkEtNjMzOCkKICogRml4IHRyeWluZyB0byBoaW50IHRpbWVkIG91dCBjb3VudGVyIHdyaXRlcyAoQ0FTUxjf4/YAAAFP3jyyXAAQdCBvZiBhc3NlcnQgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsIAAAAQAgRml4IEVDMiBzbml0Y2ggaW5jb3JyZWN0bHkgcmVwb3J0aW5nIHJlZ2lvbiAoQ0FTU0FORFJBLTQwMjYpCiAqIFNodXQgZG93biB0aHJpZnQgZHVyaW5nIGRlY29tbWlzc2lvbiAoQ0FTU0FORFJBLTQwODYpCiAqIEV4cG9zZSBub2RldG9vbCBjZmhpc3RvZ3JhbXMgZm9yIDJuZGFyeSBpbmRleGVzIChDQVNTQU5EUkEtNDA2MykKTWVyZ2VkIGZyb20gMC44OgogKiBGaXggQ29uY3VycmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlvbiBpbiBnb3NzaXBlciAoSloJjQAERWvkSv0NAAABT948slwAEGluZG93cyBpbiBEVENTICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCEAAAEACiAqIEF2b2lkIGV4cG9zaW5nIGludGVybmFsIGNsYXNzZXMgb3ZlciBKTVggKENBU1NBTkRSQS03ODc5KQogKiBBZGQgbnVsbCBjaGVjayBmb3Iga2V5cyB3aGVuIGZyZWV6aW5nIGNvbGxlY3Rpb24gKENBU1NBTkRSQS03ODY5KQogKiBJbXByb3ZlIHN0cmVzcyB3b3JrbG9hZCByZWFsaXNtIChDQVNTQU5EUkEtNzUxOSkKCgoyLjEuMC1yYzcKICogQWRkIGZyb3plbiBrZXl3b3JkIGFuZCByZXF1aXJlIFVEVCB0byBiZSBmcm96ZW4gKENBU1NBTkRSQa8peA8AAAFP3jyyXAAQbGVjdGlvbiB3aGVuIGl0JwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsIQAAAQBGaWxlU25pdGNoIGxvYWRzIHNhdmVkIGRjL3JhY2sgaW5mbyBpZiBuZWVkZWQgKENBU1NBTkRSQS01MTMzKQogKiBkcmFpbiBzaG91bGQgZmx1c2ggc3lzdGVtIENGcyB0b28gKENBU1NBTkRSQS00NDQ2KQogKiBhZGQgaW50ZXJfZGNfdGNwX25vZGVsYXkgc2V0dGluZyAoQ0FTU0FORFJBLTUxNDgpCiAqIHJlLWFsbG93IHdyYXBwaW5nIHJhbmdlcyBmb3Igc3RhcnRfdG9rZW4vZW5kX3Rva2VuIHJhbmdlIHBhaXJpdHNwd25nIChDQVNTQU5EUkEtNTEwN0CZCgAAAU/ePLJcABBiYWdlIGNyZWF0aW9uIGluAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwhAAABAFNTQU5EUkEtNjg2MSkKICogRml4IHJlcGFpciBoYW5nIHdoZW4gZ2l2ZW4gQ0YgZG9lcyBub3QgZXhpc3QgKENBU1NBTkRSQS03MTg5KQogKiBBbGxvdyBjKiB0byBiZSBzaHV0ZG93biBpbiBhbiBlbWJlZGRlZCBtb2RlIChDQVNTQU5EUkEtNTYzNSkKICogQWRkIHNlcnZlciBzaWRlIGJhdGNoaW5nIHRvIG5hdGl2ZSB0cmFuc3BvcnQgKENBU1NBTkRSQS01NjYzKQogKiBNYWtlIGJhdGNobG9nIHJlcGxheSBhc3luY2hyb25vdXMgKENBU1NBTkRSQS2NmRe/AAABT948slwAEHZlcnNpb24gaW4gYWxsIGMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCEAAAEAQU5EUkEtMjAxNCkKICogTWFrZSBtZW10YWJsZV9mbHVzaF93cml0ZXJzIGZsdXNoIGluIHBhcmFsbGVsIChDQVNTQU5EUkEtMjE3OCkKICogQWRkIGNvbXBhY3Rpb25fcHJlaGVhdF9rZXlfY2FjaGUgb3B0aW9uIChDQVNTQU5EUkEtMjE3NSkKICogcmVmYWN0b3Igc3RyZXNzLnB5IHRvIGhhdmUgb25seSBvbmUgY29weSBvZiB0aGUgZm9ybWF0IHN0cmluZyAKICAgdXNlZCBmb3IgY3JlYXRpbmcgcm93IGtleXMgKENBU1NBTkRSQS0yMTA4KQogKiB2YVslF5EAAAFP3jyyXAAQc2hhZG93ZWQgYnkgcmFuZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsIQAAAQBncmVzc2l2ZWx5IChDQVNTQU5EUkEtNjA0MCkKICogU3VwcG9ydCB2YXJpYWRpYyBwYXJhbWV0ZXJzIGZvciBJTiBjbGF1c2VzIChDQVNTQU5EUkEtNDIxMCkKICogY3Fsc2g6IHJldHVybiB0aGUgcmVzdWx0IG9mIENBUyB3cml0ZXMgKENBU1NBTkRSQS01Nzk2KQogKiBGaXggdmFsaWRhdGlvbiBvZiBJTiBjbGF1c2VzIHdpdGggMm5kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS02MDUwKQogKiBTdXBwb3J0IG5hbWVkIGJpbmQgdmFyaWFibGVzIGluIENR+GClNwAAAU/ePLJcABBpdGlvbmVycyAKICAgZm9yAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwhAAABAHVtbkZhbWlseVNuYXBzaG90IHRvCiAgIFN0b3JhZ2VTZXJ2aWNlIG1iZWFuIChDQVNTQU5EUkEtNTU2KQogKiBvcHRpbWl6ZSBjbGVhbnVwIHRvIGRyb3AgZW50aXJlIHNzdGFibGVzIHdoZXJlIHBvc3NpYmxlIChDQVNTQU5EUkEtNDA3OSkKICogb3B0aW1pemUgdHJ1bmNhdGUgd2hlbiBhdXRvc25hcHNob3QgaXMgZGlzYWJsZWQgKENBU1NBTkRSQS00MTUzKQogKiB1cGRhdGUgY2FjaGVzIHRvIHVzZSBieXRlW10ga2V5cyB0byByZWR1Y2UgbWVtb3JZIBo6AAABT948slwAEGNvbCB2ZXJzaW9uIGluIG4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCEAAAEAY3QgdmVyc2lvbiBvZiB0aGUgcGF0Y2ggZm9yIENBU1NBTkRSQS02NjMKCgowLjUuMCBSQzIgKHVucmVsZWFzZWQpCiAqIGZpeCBidWdzIGluIGNvbnZlcnRpbmcgZ2V0X3JhbmdlX3NsaWNlIHJlc3VsdHMgdG8gVGhyaWZ0IAogICAoQ0FTU0FORFJBLTY0NywgQ0FTU0FORFJBLTY0OSkKICogZXhwb3NlIGphdmEudXRpbC5jb25jdXJyZW50LlRpbWVvdXRFeGNlcHRpb24gaW4gU3RvcmFnZVByb3h5IG1ldGhvZHMKICAgKENBU1NBTkRSQS02MDApCiAqIIzEE5QAAAFP3jyyXAAQIHRoYW4gc3VwcG9ydGVkIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsIQAAAQBDQVNTQU5EUkEtNDEyOSkKICogQXZvaWRzIHBvc3NpYmxlIGRlYWRsb2NrIGR1cmluZyBib290c3RyYXAgKENBU1NBTkRSQS00MTU5KQogKiBmaXggc3RyZXNzIHRvb2wgdGhhdCBoYW5ncyBmb3JldmVyIG9uIHRpbWVvdXQgb3IgZXJyb3IgKENBU1NBTkRSQS00MTI4KQogKiBGaXggc3VwZXIgY29sdW1ucyBidWcgd2hlcmUgY2FjaGUgaXMgbm90IHVwZGF0ZWQgKENBU1NBTkRSQS00MTkwKQogKiBzdHJlc3MgdG9vbCB0byByZXR1cm4gYXBwcm9wcmlhph9S2QAAAU/ePLJcABAgKiBQcm9wZXJseSBsb2FkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwhAAABAEFORFJBLTI4OTIpCiAqIHJlZnVzZSBjb3VudGVyIHdyaXRlIGZvciBDTC5BTlkgKENBU1NBTkRSQS0yOTkwKQogKiBzd2l0Y2ggYmFjayB0byBvbmx5IGxvZ2dpbmcgcmVjZW50IGRyb3BwZWQgbWVzc2FnZXMgKENBU1NBTkRSQS0zMDA0KQogKiBhbHdheXMgZGVzZXJpYWxpemUgUm93TXV0YXRpb24gZm9yIGNvdW50ZXJzIChDQVNTQU5EUkEtMzAwNikKICogaWdub3JlIHNhdmVkIHJlcGxpY2F0aW9uX2ZhY3RvciBzdHJhdGVneV9vcHRpb24gZm9yIE45Gcs2AAABT948slwAEFNBTkRSQS0yNzQwKQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCEAAAEAb29sIChDQVNTQU5EUkEtNDE5OSkKICogYXBwbHkgcGFyZW50IENGIGNvbXBhY3Rpb24gc2V0dGluZ3MgdG8gc2Vjb25kYXJ5IGluZGV4IENGcyAoQ0FTU0FORFJBLTQyODApCiAqIHByZXNlcnZlIGNvbW1pdGxvZyBzaXplIGNhcCB3aGVuIHJlY3ljbGluZyBzZWdtZW50cyBhdCBzdGFydHVwCiAgIChDQVNTQU5EUkEtNDIwMSkKICogKEhhZG9vcCkgZml4IHNwbGl0IGdlbmVyYXRpb24gcmVncmVzc2lvbiAoQ0FTU0FORFJBLTQyNTkpCiAqIGlnbm9yZa/7kGYAAAFP3jyyXAAQcGVyYXRvcnMgaW4gcmFuZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsIQAAAQA2MDc3KQogKiBGaXggdGhyaWZ0IHZhbGlkYXRpb24gcmVmdXNpbmcgcm93IG1hcmtlcnMgb24gQ1FMMyB0YWJsZXMgKENBU1NBTkRSQS02MDgxKQogKiBGaXggaW5zZXJ0aW9uIG9mIGNvbGxlY3Rpb25zIHdpdGggQ0FTIChDQVNTQU5EUkEtNjA2OSkKICogQ29ycmVjdGx5IHNlbmQgbWV0YWRhdGEgb24gU0VMRUNUIENPVU5UIChDQVNTQU5EUkEtNjA4MCkKICogVHJhY2sgY2xpZW50cycgcmVtb3RlIGFkZHJlc3NlcyBpbiBDbGllbnRTdGF0ZSAoQ0FT4kxGzAAAAU/ePLJcABAqIFJlbW92ZSBzaHVmZmxlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwhAAABACB0aGVtIGRvd24KICAgKENBU1NBTkRSQS0xMTA4KQoKCjAuNy4wLXJjMwogKiBleHBvc2UgZ2V0TmF0dXJhbEVuZHBvaW50cyBpbiBTdG9yYWdlU2VydmljZU1CZWFuIHRha2luZyBieXRlW10KICAga2V5OyBSTUkgY2Fubm90IHNlcmlhbGl6ZSBCeXRlQnVmZmVyIChDQVNTQU5EUkEtMTgzMykKICogaW5mZXIgb3JnLmFwYWNoZS5jYXNzYW5kcmEubG9jYXRvciBmb3IgcmVwbGljYXRpb24gc3RyYXRlZ3kgY2xhc3NlcwogICB3aGVuIG5vdCBvdGhlcnc0oJnoAAABT948slwAEGF0ZSB3aGVuIHN0YXJ0aW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCEAAAEAIENMLlRIUkVFIGluIENRTCAoQ0FTU0FORFJBLTQxNTYpCiAqIChjcWwpIEZpeCB0eXBlIGluIENRTDMgQUxURVIgVEFCTEUgcHJldmVudGluZyB1cGRhdGUgKENBU1NBTkRSQS00MTcwKQogKiAoY3FsKSBUaHJvdyBpbnZhbGlkIGV4Y2VwdGlvbiBmcm9tIENRTDMgb24gb2Jzb2xldGUgb3B0aW9ucyAoQ0FTU0FORFJBLTQxNzEpCiAqIChjcWxzaCkgZml4IHJlY29nbml6aW5nIHVwcGVyY2FzZSBTRUxFQ1Qga2V5d29yZCAoQ0FTU0FORFJBLTQxNjEpCtK2Zi4AAAFP3jyyXAAQb19jYWNoZV9vbl9mbHVzaAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsIgAAAQAoQ0FTU0FORFJBLTczMjUpCk1lcmdlZCBmcm9tIDEuMjoKICogQWRkIENsb3Vkc3RhY2sgc25pdGNoIChDQVNTQU5EUkEtNzE0NykKICogVXBkYXRlIHN5c3RlbS5wZWVycyBjb3JyZWN0bHkgd2hlbiByZWxvY2F0aW5nIHRva2VucyAoQ0FTU0FORFJBLTcxMjYpCiAqIEFkZCBHb29nbGUgQ29tcHV0ZSBFbmdpbmUgc25pdGNoIChDQVNTQU5EUkEtNzEzMikKICogcmVtb3ZlIGR1cGxpY2F0ZSBxdWVyeSBmb3IgbG9jYWwgdG9rZW5zIChDQVNTQU5EUkEtOrsyFwAAAU/ePLJcABBlc3MgY29ycmVjdCB2ZXJzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwiAAABAEFORFJBLTExOTApCiAqIGFkZCBhYmlsaXR5IHRvIGxvd2VyIGNvbXBhY3Rpb24gcHJpb3JpdHkgKGRlZmF1bHQgaXMgbm8gY2hhbmdlIGZyb20gMC42LjIpCiAgIChDQVNTQU5EUkEtMTE4MSkKCgowLjYuMgogKiBmaXggY29udHJpYi93b3JkX2NvdW50IGJ1aWxkLiAoQ0FTU0FORFJBLTk5MikKICogc3BsaXQgQ29tbWl0TG9nRXhlY3V0b3JTZXJ2aWNlIGludG8gQmF0Y2hDb21taXRMb2dFeGVjdXRvclNlcnZpY2UgYW5kIAogICBQZXJpb2RpY0NvbW2mZry9AARZyJLB1CgAAAFP3jyyXAAQZXNzZWQgZmlsZXMgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsIwAAAQBBTkRSQS04Njk1KQogKiBTYWZlciBSZXNvdXJjZSBNYW5hZ2VtZW50IChDQVNTQU5EUkEtNzcwNSkKICogTWFrZSBzdXJlIHdlIGNvbXBhY3QgaGlnaGx5IG92ZXJsYXBwaW5nIGNvbGQgc3N0YWJsZXMgd2l0aAogICBTVENTIChDQVNTQU5EUkEtODYzNSkKICogcnBjX2ludGVyZmFjZSBhbmQgbGlzdGVuX2ludGVyZmFjZSBnZW5lcmF0ZSBOUEUgb24gc3RhcnR1cCB3aGVuIHNwZWNpZmllZAogICBpbnRlcmZhY2UgZG9lc24ndCBleGlzdCAoQ0FTU0FOg2yAXQAAAU/ePLJcABBjdGlvbiBjb25maWd1cmF0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwjAAABAHNzdGFibGVzIGFzIGludGVuZGVkIChDQVNTQU5EUkEtNDc3OCkKICogTlRTIHdpbGwgZGVmYXVsdCB1bmNvbmZpZ3VyZWQgREMgcmVwbGljYXMgdG8gemVybyAoQ0FTU0FORFJBLTQ2NzUpCiAqIHVzZSBkZWZhdWx0IGNvbnNpc3RlbmN5IGxldmVsIGluIGNvdW50ZXIgdmFsaWRhdGlvbiBpZiBub25lIGlzCiAgIGV4cGxpY2l0bHkgcHJvdmlkZSAoQ0FTU0FORFJBLTQ3MDApCiAqIEltcHJvdmUgSUF1dGhvcml0eSBpbnRlcmZhY2UgYnkgaW50cm9kdWNFmCZzAAABT948slwAEEhhIHdpdGggTE1BWCBEaXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCMAAAEAQS02NDgxKQogKiBGaXggdGh1bmRlcmluZyBoZXJkIG9uIGVuZHBvaW50IGNhY2hlIGludmFsaWRhdGlvbiAoQ0FTU0FORFJBLTYzNDUsIDY0ODUpCiAqIEltcHJvdmUgYmF0Y2hsb2cgd3JpdGUgcGVyZm9ybWFuY2Ugd2l0aCB2bm9kZXMgKENBU1NBTkRSQS02NDg4KQogKiBjcWxzaDogcXVvdGUgc2luZ2xlIHF1b3RlcyBpbiBzdHJpbmdzIGluc2lkZSBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTYxNzIpCiAqIEltcHJvdmUgZ29zc2lwIHBlcmZvcm1hbo9lQgwAAAFP3jyyXAAQZSBGRCBwaGkgY2FsY3VsYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsIwAAAQB0aWFsbHkgcmV0dXJuaW5nIGRlbGV0ZWQgcm93cyB3aXRoIHJhbmdlIHRvbWJzdG9uZSAoQ0FTU0FORFJBLTg1NTgpCiAqIENoZWNrIGZvciBhdmFpbGFibGUgZGlzayBzcGFjZSBiZWZvcmUgc3RhcnRpbmcgYSBjb21wYWN0aW9uIChDQVNTQU5EUkEtODU2MikKICogRml4IERJU1RJTkNUIHF1ZXJpZXMgd2l0aCBMSU1JVHMgb3IgcGFnaW5nIHdoZW4gc29tZSBwYXJ0aXRpb25zCiAgIGNvbnRhaW4gb25seSB0b21ic3RvbmVzIChDQVNTQU5EUkEtODQ5YcQb1AAAAU/ePLJcABA3NTA5KQogKiBIYW5kbGUgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwjAAABAG50IHNzdGFibGUgc3RhdHMgZnJvbSB0aGUgc3lzdGVtIHRhYmxlIHRvIGFuIHNzdGFibGUgY29tcG9uZW50CiAgIChDQVNTQU5EUkEtMTQzMCkKICogcmVtb3ZlIGZhaWxlZCBib290c3RyYXAgYXR0ZW1wdCBmcm9tIHBlbmRpbmcgcmFuZ2VzIHdoZW4gZ29zc2lwIHRpbWVzCiAgIGl0IG91dCBhZnRlciAxaCAoQ0FTU0FORFJBLTE0NjMpCiAqIGVhZ2VyLWNyZWF0ZSB0Y3AgY29ubmVjdGlvbnMgdG8gb3RoZXIgY2x1c3RlciBtZW1iZXJzIChDQVNTQU6kcHEtAAABT948slwAECBxdWVyeSB0cmFjZXMgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCMAAAEAcnJ1cHRlZCBkYXRhIG9mZiB0aGUgd2lyZSAoQ0FTU0FORFJBLTc2OTUpCiAqIGNxbHNoIERFU0MgQ0xVU1RFUiBmYWlscyByZXRyaWV2aW5nIHJpbmcgaW5mb3JtYXRpb24gKENBU1NBTkRSQS03Njg3KQogKiBGaXggYmluZGluZyBudWxsIHZhbHVlcyBpbnNpZGUgVURUIChDQVNTQU5EUkEtNzY4NSkKICogRml4IFVEVCBmaWVsZCBzZWxlY3Rpb24gd2l0aCBlbXB0eSBmaWVsZHMgKENBU1NBTkRSQS03NjcwKQogKiBCb2d1cyBkZXNlcmlhbGl6YXRpbz9fmLsAAAFP3jyyXAAQUkEtODUzNSkKICogQWxsbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsIwAAAQBzcGFjZSBpdHNlbGYgaW4gc2NoZW1hIHRhYmxlcyAoQ0FTU0FORFJBLTQ0MTYpCiAqIGFkZCBjaGVjayB0byBQcm9wZXJ0eUZpbGVTbml0Y2ggdG8gdmVyaWZ5IHByZXNlbmNlIG9mIGxvY2F0aW9uIGZvcgogICBsb2NhbCBub2RlIChDQVNTQU5EUkEtNDcyOCkKICogYWRkIFBCU1ByZWRpY3RvciBjb25zaXN0ZW5jeSBtb2RlbGVyIChDQVNTQU5EUkEtNDI2MSkKICogcmVtb3ZlIHZlc3RpZ2VzIG9mIFRocmlmdCB1bmZyYW1lZCBtb2RlIChDQVNTQU5Es7wRRQAAAU/ePLJcABByaW5nIHN0cmVhbSBzZXNzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwjAAABAC1vcmdhbml6ZWQgZW5kcG9pbnRzbml0Y2ggaW1wbGVtZW50YXRpb25zIGFuZCBhZGRlZCBTaW1wbGVTbml0Y2gKICAgKENBU1NBTkRSQS05OTQpCiAqIEFkZGVkIHByZWxvYWRfcm93X2NhY2hlIG9wdGlvbiAoQ0FTU0FORFJBLTk0NikKICogYWRkIENSQyB0byBjb21taXRsb2cgaGVhZGVyIChDQVNTQU5EUkEtOTk5KQogKiByZW1vdmVkIGRlcHJlY2F0ZWQgYmF0Y2hfaW5zZXJ0IGFuZCBnZXRfcmFuZ2Vfc2xpY2UgbWV0aG9kcyAoQ0FTU0FORFJBLTHRApV7AAABT948slwAEGhpbmcgZm9yIGMqLmluLnMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCMAAAEAIChjcWxzaCkgRml4IElQdjYgc3VwcG9ydCAoQ0FTU0FORFJBLTc5ODgpCiAqIElnbm9yZSBmYXQgY2xpZW50cyB3aGVuIGNoZWNraW5nIGZvciBlbmRwb2ludCBjb2xsaXNpb24gKENBU1NBTkRSQS03OTM5KQogKiBNYWtlIHNzdGFibGVyZXBhaXJlZHNldCB0YWtlIGEgbGlzdCBvZiBmaWxlcyAoQ0FTU0FORFJBLTc5OTUpCiAqIChjcWxzaCkgVGFiIGNvbXBsZXRlaW9uIGZvciBpbmRleGVzIG9uIG1hcCBrZXlzIChDQVNTQU5EUkEtNzk3MikKICogKH9ogK0AAAFP3jyyXAAQYXN0RXhjZXB0aW9uIGluIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsIwAAAQAgaGVhcCBmcmFnbWVudGF0aW9uIChDQVNTQU5EUkEtMjQ2NikKICogZml4IGNhc3NhbmRyYSBoYW5naW5nIG9uIGpzdmMgc3RvcCAoQ0FTU0FORFJBLTMzMDIpCiAqIEF2b2lkIGxldmVsZWQgY29tcGFjdGlvbiBnZXR0aW5nIGJsb2NrZWQgb24gZXJyb3JzIChDQVNTQU5EUkEtMzQwOCkKICogTWFrZSByZWxvYWRpbmcgdGhlIGNvbXBhY3Rpb24gc3RyYXRlZ3kgc2FmZSAoQ0FTU0FORFJBLTM0MDkpCiAqIGlnbm9yZSAwLjggaGludHMgZXZlbiBpZiBjQ+LQGAAAAU/ePLJcABBkZXIgdG8gY2xvc2UgZmlsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwjAAABADI5MzMpCiAqIHNwZWVkdXAgYnl0ZXMgdG8gaGV4IGNvbnZlcnNpb25zIGRyYW1hdGljYWxseSAoQ0FTU0FORFJBLTI4NTApCiAqIEZsdXNoIG1lbXRhYmxlcyBvbiBzaHV0ZG93biB3aGVuIGR1cmFibGUgd3JpdGVzIGFyZSBkaXNhYmxlZCAKICAgKENBU1NBTkRSQS0yOTU4KQogKiBpbXByb3ZlZCBQT1NJWCBjb21wYXRpYmlsaXR5IG9mIHN0YXJ0IHNjcmlwdHMgKENBU3NBTkRSQS0yOTY1KQogKiBhZGQgY291bnRlciBzdXBwb3J0IHRvIEhhZG9vcCD5dU/fAAABT948slwAEFNBTkRSQS01OTA0KQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCMAAAEAaXggcmFjZSBiZXR3ZWVuIGNsZWFudXAgYW5kIGZsdXNoIG9uIHNlY29uZGFyeSBpbmRleCBDRlNlcyAoQ0FTU0FORFJBLTM3MTIpCiAqIGF2b2lkIGluY2x1ZGluZyBub24tcXVlcmllZCBub2RlcyBpbiByYW5nZXNsaWNlIHJlYWQgcmVwYWlyCiAgIChDQVNTQU5EUkEtMzg0MykKICogT25seSBzbmFwc2hvdCBDRiBiZWluZyBjb21wYWN0ZWQgZm9yIHNuYXBzaG90X2JlZm9yZV9jb21wYWN0aW9uIAogICAoQ0FTU0FORFJBLTM4MDMpCiAqIExvZyBhY9I94sYAAAFP3jyyXAAQIGluY2x1ZGluZyB0b21icwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsIwAAAQBwYXJlbnQgQ0YgZmx1c2ggdGhyZXNob2xkcyBkdXJpbmcgaW5pdGlhbCBidWlsZAogICAoQ0FTU0FORFJBLTIyOTQpCiAqIHVwZGF0ZSBtZW10YWJsZV90aHJvdWdocHV0IHRvIGJlIGEgbG9uZyAoQ0FTU0FORFJBLTIxNTgpCgoKMC43LjMKICogS2VlcCBlbmRwb2ludCBzdGF0ZSB1bnRpbCBhVmVyeUxvbmdUaW1lIChDQVNTQU5EUkEtMjExNSkKICogbG93ZXItbGF0ZW5jeSByZWFkIHJlcGFpciAoQ0FTU0FORFJBLTIwNjkpCiAqIGFkZCBoaW50ZWRf2Pxe9AAAAU/ePLJcABBlc3QgdW5kZXIgTGV2ZWxlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwjAAABADE3KQpNZXJnZWQgZnJvbSAxLjA6CiAqIGNxbHNoOiBndWVzcyBjb3JyZWN0IHZlcnNpb24gb2YgUHl0aG9uIGZvciBBcmNoIExpbnV4IChDQVNTQU5EUkEtNDA5MCkKICogKENMSSkgcHJvcGVybHkgaGFuZGxlIHF1b3RlcyBpbiBjcmVhdGUvdXBkYXRlIGtleXNwYWNlIGNvbW1hbmRzIChDQVNTQU5EUkEtNDEyOSkKICogQXZvaWRzIHBvc3NpYmxlIGRlYWRsb2NrIGR1cmluZyBib290c3RyYXAgKENBU1NBTkRSQS00MTU5KQogKiBmaXggc3RyZXNzIHRQAVEPAAABT948slwAEGVycyAoQ0FTU0FORFJBLTMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCMAAAEAbGUKICAgaW50ZXJmYWNlcyAoQ0FTU0FORFJBLTU0NikKICogc3RyZXNzLnB5IGJlbmNobWFya2luZyB0b29sIGltcHJvdmVtZW50cyAoc2V2ZXJhbCB0aWNrZXRzKQogKiBvcHRpbWl6ZWQgcmVwbGljYSBwbGFjZW1lbnQgY29kZSAoQ0FTU0FORFJBLTUyNSkKICogZmFzdGVyIGxvZyByZXBsYXkgb24gcmVzdGFydCAoQ0FTU0FORFJBLTUzOSwgQ0FTU0FORFJBLTU0MCkKICogb3B0aW1pemVkIGxvY2FsLW5vZGUgd3JpdGVzIChDQVNTQU5EUkEtNTU4KemI8RAABG4lO2l7JwAAAU/ePLJcABBzc2FuZHJhIGNsdXN0ZXIKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwlAAABAHRjaCBzdHJlc3MgdG8gdXNlIElUcmFuc3BvcnRGYWN0b3J5IChDQVNTQU5EUkEtNjY0MSkKICogRml4IElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiBkdXJpbmcgcHJlcGFyZSAoQ0FTU0FORFJBLTY1OTIpCiAqIEZpeCBwb3NzaWJsZSBsb3NzIG9mIDJuZGFyeSBpbmRleCBlbnRyaWVzIGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtNjUxNykKICogRml4IGRpcmVjdCBNZW1vcnkgb24gYXJjaGl0ZWN0dXJlcyB0aGF0IGRvIG5vdCBzdXBwb3J0IHVS92T0AAABT948slwAECBkYXRhIGludG8gbmV3LXYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCUAAAEAb2J1c3QgdG8gZmFpbHVyZSAoQ0FTU0FORFJBLTg4MzIpCiAqIFJlbW92ZSBjb2xkX3JlYWRzX3RvX29taXQgZnJvbSBTVENTIChDQVNTQU5EUkEtODg2MCkKICogTWFrZSBFc3RpbWF0ZWRIaXN0b2dyYW0jcGVyY2VudGlsZSgpIHVzZSBjZWlsIGluc3RlYWQgb2YgZmxvb3IgKENBU1NBTkRSQS04ODgzKQogKiBGaXggdG9wIHBhcnRpdGlvbnMgcmVwb3J0aW5nIHdyb25nIGNhcmRpbmFsaXR5IChDQVNTQU5EUkEtODgzNCkKICogRml4IHJhcmUgTlBFIIr7Hk4AAAFP3jyyXAAQdGlvbiB0byB1c2Ugcm93IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsJQAAAQAgYnVnIHN0YXJ0aW5nIENhc3NhbmRyYSB3aXRoIHNpbXBsZSBhdXRoZW50aWNhdGlvbiAoQ0FTU0FORFJBLTQ2NDgpCiAqIEFkZCBzdXBwb3J0IGZvciBiYXRjaGxvZyBpbiBDUUwzIChDQVNTQU5EUkEtNDU0NSwgNDczOCkKICogQWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIGNvbHVtbiBmYW1pbHkgb3V0cHV0cyBpbiBDRk9GIChDQVNTQU5EUkEtNDIwOCkKICogU3VwcG9ydCByZXBhaXJpbmcgb25seSB0aGUgbG9jYWwgREMgbm9kZXMgKENBU1NBTkRStfDQSQAAAU/ePLJcABBlIGF3YXkgY29weSBvZiBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwlAAABAHMgZHVyaW5nIEhIIHBhZ2luZyAoQ0FTU0FORFJBLTE0MzIpCiAqIGluY2x1ZGUgc2Vjb25kYXJ5IGluZGV4ZXMgZHVyaW5nIHNjaGVtYSBtaWdyYXRpb25zIChDQVNTQU5EUkEtMTQwNikKICogZml4IGNvbW1pdGxvZyBoZWFkZXIgcmFjZSBkdXJpbmcgc2NoZW1hIGNoYW5nZSAoQ0FTU0FORFJBLTE0MzUpCiAqIGZpeCBDb2x1bW5GYW1pbHlTdG9yZU1CZWFuSXRlcmF0b3IgdG8gdXNlIG5ldyB0eXBlIG5hbWUgKENBU1NBTkRSQS0xNDMzKQogKiBjb3JilHHaAAABT948slwAEGluZy9sb2dnaW5nIG9uIGIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCUAAAEATkRSQS02MjEyKQogKiBBZGQgcmVsb2FkdHJpZ2dlcnMgY29tbWFuZCB0byBub2RldG9vbCAoQ0FTU0FORFJBLTQ5NDkpCiAqIGNxbHNoOiBpZ25vcmUgZW1wdHkgJ3ZhbHVlIGFsaWFzJyBpbiBERVNDUklCRSAoQ0FTU0FORFJBLTYxMzkpCiAqIEZpeCBzc3RhYmxlIGxvYWRlciAoQ0FTU0FORFJBLTYyMDUpCiAqIFJlamVjdCBib290c3RyYXBwaW5nIGlmIHRoZSBub2RlIGFscmVhZHkgZXhpc3RzIGluIGdvc3NpcCAoQ0FTU0FORFJBLTU1NzEpCiAqIB/UYAkAAAFP3jyyXAAQeCBzdXBwb3J0IChDQVNTQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsJQAAAQB1cm4gc2NoZW1hIGluZm9ybWF0aW9uIGFsb25nIHdpdGggdGhlIHJlc3VsdFNldCBpbiBDUUwgKENBU1NBTkRSQS0yNzM0KQogKiBBZGQgbmV3IERlY2ltYWxUeXBlIChDQVNTQU5EUkEtMjg4MykKICogRml4IGFzc2VydGlvbiBlcnJvciBpbiBSb3dSZXBhaXJSZXNvbHZlciAoQ0FTU0FORFJBLTMxNTYpCiAqIFJlZHVjZSB1bm5lY2Vzc2FyeSBoaWdoIGJ1ZmZlciBzaXplcyAoQ0FTU0FORFJBLTMxNzEpCiAqIFBsdWdnYWJsZSBjb21wYWN0aW9uIHN09sxnWAAAAU/ePLJcABBTQU5EUkEtMzc5OCkKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwlAAABAFJBLTM2MTkpCiAqIGZzeW5jIHRoZSBkaXJlY3RvcnkgYWZ0ZXIgbmV3IHNzdGFibGUgb3IgY29tbWl0bG9nIHNlZ21lbnQgYXJlIGNyZWF0ZWQgKENBU1NBTkRSQS0zMjUwKQogKiBmaXggbWlub3IgaXNzdWVzIHJlcG9ydGVkIGJ5IEZpbmRCdWdzIChDQVNTQU5EUkEtMzY1OCkKICogZ2xvYmFsIGtleS9yb3cgY2FjaGVzIChDQVNTQU5EUkEtMzE0MywgMzg0OSkKICogb3B0aW1pemUgbWVtdGFibGUgaXRlcmF0aW9uIGR1cmluZyByYW5nZSBzY2FuIChMFApDAAABT948slwAEGluayBmaWxlcyAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCUAAAEAZXJ0cwogICAoQ0FTU0FORFJBLTIyNTkpCiAqIG1vdmUgc2FtcGxlIHNjaGVtYSBmcm9tIGNhc3NhbmRyYS55YW1sIHRvIHNjaGVtYS1zYW1wbGUudHh0LAogICBhIGNsaSBzY3JpcHRzIChDQVNTQU5EUkEtMjAwNykKICogYXZvaWQgd3JpdGluZyBlbXB0eSByb3dzIHdoZW4gc2NydWJiaW5nIHRvbWJzdG9uZWQgcm93cyAoQ0FTU0FORFJBLTIyOTYpCiAqIGZpeCBhc3NlcnRpb24gZXJyb3IgaW4gcmFuZ2UgYW5kIGluZGV4IHNjYW5zIGZvciBDTCA8IPHByIwAAAFP3jyyXAAQbCB0byB0aGUgcHJvdG9jbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsJQAAAQBsZVJlYWRlci5maXJzdC9sYXN0IChDQVNTQU5EUkEtODc0NCkKICogQ2xlYW51cCBTZWdtZW50ZWRGaWxlIEFQSSAoQ0FTU0FORFJBLTg3NDkpCiAqIEF2b2lkIG92ZXJsYXAgd2l0aCBlYXJseSBjb21wYWN0aW9uIHJlcGxhY2VtZW50IChDQVNTQU5EUkEtODY4MykKICogU2FmZXIgUmVzb3VyY2UgTWFuYWdlbWVudCsrIChDQVNTQU5EUkEtODcwNykKICogV3JpdGUgcGFydGl0aW9uIHNpemUgZXN0aW1hdGVzIGludG8gYSBzeXN0ZW0gdGFibGUgKENBi0DBjAAAAU/ePLJcABByZXF1ZXN0IHBhdGggKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwlAAABAG9uIChDQVNTQU5EUkEtOTI5OSkKICogRml4IFJlY29ubmVjdGFibGVTbml0Y2ggcmVjb25uZWN0aW5nIHRvIHBlZXJzIGR1cmluZyB1cGdyYWRlIChDQVNTQU5EUkEtNjcwMikKICogSW5jbHVkZSBrZXlzcGFjZSBhbmQgdGFibGUgbmFtZSBpbiBlcnJvciBsb2cgZm9yIGNvbGxlY3Rpb25zIG92ZXIgdGhlIHNpemUKICAgbGltaXQgKENBU1NBTkRSQS05Mjg2KQogKiBBdm9pZCBwb3RlbnRpYWwgb3ZlcmxhcCBpbiBMQ1Mgd2l0aCBzaW5nbGUtcGFydGnlpDr2AAABT948slwAEGdlIHF1ZXJpZXMgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCUAAAEAdGVyX2ZwX2NoYW5jZSBmb3IgTGV2ZWxlZENvbXBhY3Rpb25TdHJhdGVneSAoQ0FTU0FORFJBLTUwOTMpCk1lcmdlZCBmcm9tIDEuMToKICogYWRkIHZhbGlkYXRpb24gZm9yIGdldF9yYW5nZV9zbGljZXMgd2l0aCBzdGFydF9rZXkgYW5kIGVuZF90b2tlbiAoQ0FTU0FORFJBLTUwODkpCgoKMS4yLjAtcmMyCiAqIGZpeCBub2RldG9vbCBvd25lcnNoaXAgZGlzcGxheSB3aXRoIHZub2RlcyAoQ0FTU0FORFJBLTUwNjUpCiAqIGNxbHNoOiBhZGQgREVTQ/wq6vMAAAFP3jyyXAAQMDUpCiAqIFN1cHBvcnQgZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsJQAAAQBvcnQgaWYgdGhyaWZ0IHNlcnZlciBpcyBydW5uaW5nIChDQVNTQU5EUkEtMjcyMikKICogRml4ZWQgcm93cyBiZWluZyBjYWNoZWQgaWYgdGhleSBkbyBub3QgZXhpc3QgKENBU1NBTkRSQS0yNzIzKQogKiBTdXBwb3J0IHBhc3NpbmcgdGFibGVOYW1lIGFuZCBjZk5hbWUgdG8gUm93Q2FjaGVQcm92aWRlcnMgKENBU1NBTkRSQS0yNzAyKQogKiBjbG9zZSBzY3J1YiBmaWxlIGhhbmRsZXMgKENBU1NBTkRSQS0yNjY5KQogKiB0aHJvdHRsZSBtaWdyYXRpZhfsigAAAU/ePLJcABA3KQogKiAoY3Fsc2gpIEFsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwlAAABACBJRiAoQ0FTU0FORFJBLTY5MTQpCiAqIEF2b2lkIGNvc3RseSByYW5nZSBjYWxjdWxhdGlvbnMgZm9yIHJhbmdlIHF1ZXJpZXMgb24gc3lzdGVtIGtleXNwYWNlcwogICAoQ0FTU0FORFJBLTY5MDYpCiAqIEZpeCBTU1RhYmxlIG5vdCByZWxlYXNlZCBpZiBzdHJlYW0gc2Vzc2lvbiBmYWlscyAoQ0FTU0FORFJBLTY4MTgpCiAqIEF2b2lkIGJ1aWxkIGZhaWx1cmUgZHVlIHRvIEFOVExSIHRpbWVvdXQgKENBU1NBTkRSQS02OTkxKQogKiBRdWVyaWVzIG/9g4TlAAABT948slwAEHQgc2VuZCBzY2hlbWEgY2gAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCUAAAEAIEFQSSAKICAgKENBU1NBTkRSQS01MTM5KQogKiBtb3JlIHJvYnVzdCBzb2x1dGlvbiB0byBpbmNvbXBsZXRlIGNvbXBhY3Rpb25zICsgY291bnRlcnMgKENBU1NBTkRSQS01MTUxKQogKiBDaGFuZ2Ugb3JkZXIgb2YgZGlyZWN0b3J5IHNlYXJjaGluZyBmb3IgYyouaW4uc2ggKENBU1NBTkRSQS0zOTgzKQogKiBBZGQgdG9vbCB0byByZXNldCBTU1RhYmxlIGNvbXBhY3Rpb24gbGV2ZWwgZm9yIExDUyAoQ0FTU0FORFJBLTUyNzEpCiAqIEFsbG93IGN1c04+GV4AAAFP3jyyXAAQZXRpbmcgaXQgKENBU1NBTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsJQAAAQAgdmFsaWRhdGlvbiBvZiBlbXB0eSBjb2x1bW4gbmFtZXMgZm9yIGNvbXBhY3QgdGFibGVzIChDQVNTQU5EUkEtNjE1MikKICogU2tpcCByZXBsYXlpbmcgbXV0YXRpb25zIHRoYXQgcGFzcyBDUkMgYnV0IGZhaWwgdG8gZGVzZXJpYWxpemUgKENBU1NBTkRSQS02MTgzKQogKiBSZXdvcmsgdG9rZW4gcmVwbGFjZW1lbnQgdG8gdXNlIHJlcGxhY2VfYWRkcmVzcyAoQ0FTU0FORFJBLTU5MTYpCiAqIEZpeCBhbHRlcmluZyBjb2x1bW4gdHlwZXMgKENBU1NBs/XEYQAEgoJ11UXWAAABT948slwAEGNoZSB0byBiZSBzZXQgdmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCcAAAEAaGluZyB0b2tlbi1vbmx5IGRlY29yYXRlZGtleXMgKENBU1NBTkRSQS0yNDE2KQogKiBjb252ZXJ0IG1tYXAgYXNzZXJ0aW9uIHRvIGlmL3Rocm93IHNvIHNjcnViIGNhbiBjYXRjaCBpdCAoQ0FTU0FORFJBLTI0MTcpCiAqIGRvbid0IG92ZXJ3cml0ZSBnYyBsb2cgKENBU1NBTkRSLTI0MTgpCiAqIGludmFsaWRhdGUgcm93IGNhY2hlIGZvciBzdHJlYW1lZCByb3cgdG8gYXZvaWQgaW5jb25zaXRlbmNpZXMKICAgKENBU1NBTkRSQS0yNDIwKQogKiBhdvy8WKMAAAFP3jyyXAAQcyAoQ0FTU0FORFJBLTIyOAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsJwAAAQAoQ0FTU0FORFJBLTQwMCkKICogYWRkIGZvcndhcmRzLWNvbXBhdGlibGUgQ29uc2lzdGVuY3lMZXZlbCBwYXJhbWV0ZXIgdG8gZ2V0X2tleV9yYW5nZQogICAoQ0FTU0FORFJBLTMyMikKICogci9tIHNwZWNpYWwgY2FzZSBvZiBibG9ja2luZyBmb3IgbG9jYWwgZGVzdGluYXRpb24gd2hlbiB3cml0aW5nIHdpdGggCiAgIENvbnNpc3RlbmN5TGV2ZWwuWkVSTyAoQ0FTU0FORFJBLTM5OSkKICogRml4ZXMgdG8gbWFrZSBCaW5hcnlNZW10YWJsZSBbYnVsn8x4HQAAAU/ePLJcABBBTkRSQS0zMjgyKQogKiBpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwnAAABAG5lY3Rpb25Qb29sIGNvbnN0cnVjdG9yIGNhdXNlcyByYWNlIGNvbmRpdGlvbnMgKENBU1NBTkRSQS03MTc3KQogKiBBbGxvdyBvdmVycmlkaW5nIGNhc3NhbmRyYS1yYWNrZGMucHJvcGVydGllcyBmaWxlIChDQVNTQU5EUkEtNzA3MikKICogU2V0IEpNWCBSTUkgcG9ydCB0byA3MTk5IChDQVNTQU5EUkEtNzA4NykKICogVXNlIExPQ0FMX1FVT1JVTSBmb3IgZGF0YSByZWFkcyBhdCBMT0NBTF9TRVJJQUwgKENBU1NBTkRSQS02OTM5KQogKiBMb2cgYSCtb22kAAABT948slwAEGVyZ2VkIGZyb20gMC44OgoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCcAAAEAc2ggd29yayB3aXRoIHBpcGluZyAoQ0FTU0FORFJBLTQxMTMpCiAqIFZhbGlkYXRlIGFyZ3VtZW50cyBmb3Igbm9kZXRvb2wgZGVjb21taXNzaW9uIChDQVNTQU5EUkEtNDA2MSkKICogUmVwb3J0IHRocmlmdCBzdGF0dXMgaW4gbm9kZXRvb2wgaW5mbyAoQ0FTU0FORFJBLTQwMTApCgoKMS4xLjAtZmluYWwKICogYXZlcmFnZSBhIHJlZHVjZWQgbGl2ZVJhdGlvIGVzdGltYXRlIHdpdGggdGhlIHByZXZpb3VzIG9uZSAoQ0FTU0FORFJBLTQwNjUpCiAqIMK7WxIAAAFP3jyyXAAQcm9tIHNsaWNlIHJlYWQgcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsJwAAAQBzIG9yZGVyZWQgYnkga2V5LCBzb3J0IHNldHMgKENBU1NBTkRSQS01NDEzKQogKiBBZGQgbnVsbCBzeW50YXggc3VwcG9ydCBpbiBDUUwzIGZvciBpbnNlcnRzIChDQVNTQU5EUkEtMzc4MykKICogQWxsb3cgdW5hdXRoZW50aWNhdGVkIHNldF9rZXlzcGFjZSgpIGNhbGxzIChDQVNTQU5EUkEtNTQyMykKICogRml4IHBvdGVudGlhbCBpbmNyZW1lbnRhbCBiYWNrdXBzIHJhY2UgKENBU1NBTkRSQS01NDEwKQogKiBGaXggcHJlcGFyZWQgQkFUQ0ggc3RhhfRNwAAAAU/ePLJcABBsIGhlbHAgb3V0cHV0IChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwnAAABAFNTQU5EUkEtMzI1MCkKICogZml4IG1pbm9yIGlzc3VlcyByZXBvcnRlZCBieSBGaW5kQnVncyAoQ0FTU0FORFJBLTM2NTgpCiAqIGdsb2JhbCBrZXkvcm93IGNhY2hlcyAoQ0FTU0FORFJBLTMxNDMsIDM4NDkpCiAqIG9wdGltaXplIG1lbXRhYmxlIGl0ZXJhdGlvbiBkdXJpbmcgcmFuZ2Ugc2NhbiAoQ0FTU0FORFJBLTM2MzgpCiAqIGludHJvZHVjZSAnY3JjX2NoZWNrX2NoYW5jZScgaW4gQ29tcHJlc3Npb25QYXJhbWV0ZXJzIHRvIHN1cHBvcnQKICBmd8yjAAABT948slwAEFNBTkRSQS0xMDY2KQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCcAAAEAb2lkIHJldHVybmluZwogICBtdWx0aS1NQiByZXN1bHRzIGFzIGFuIGF0dHJpYnV0ZSAoQ0FTU0FORFJBLTQ0NTIpCiAqIGZsdXNoIGJhc2VkIG9uIGRhdGEgc2l6ZSwgbm90IHRocm91Z2hwdXQ7IG92ZXJ3cml0dGVuIGNvbHVtbnMgbm8gCiAgIGxvbmdlciBhcnRpZmljaWFsbHkgaW5mbGF0ZSBsaXZlUmF0aW8gKENBU1NBTkRSQS00Mzk5KQogKiB1cGRhdGUgZGVmYXVsdCBjb21taXRsb2cgc2VnbWVudCBzaXplIHRvIDMyTUIgYW5kIHRvdGFsIGNvbdgVwSkAAAFP3jyyXAAQbm9kZXMgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsJwAAAQBuZyBjbGllbnQgY29ubmVjdGlvbnMgKENBU1NBTkRSQS00Mjg4KQogKiBEZWxldGUgdW5maW5pc2hlZCBjb21wYWN0aW9uIGluY3JlbWVudGFsbHkgKENBU1NBTkRSQS02MDg2KQogKiBBbGxvdyBzcGVjaWZ5aW5nIGN1c3RvbSBzZWNvbmRhcnkgaW5kZXggb3B0aW9ucyBpbiBDUUwzIChDQVNTQU5EUkEtNjQ4MCkKICogSW1wcm92ZSByZXBsaWNhIHBpbm5pbmcgZm9yIGNhY2hlIGVmZmljaWVuY3kgaW4gREVTIChDQVNTQU5EUkEtNjQ4NSkKICogRml4DCJ1lQAAAU/ePLJcABBSQS0xNDI2KQogKiBtYWtlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwnAAABAFJBLTU4OTcpCiAqIEZpeCBvdmVyZmxvdyBvZiBtZW10YWJsZV90b3RhbF9zcGFjZV9pbl9tYiAoQ0FTU0FORFJBLTY1NzMpCiAqIEZpeCBBQlRDIE5QRSBhbmQgYXBwbHkgdXBkYXRlIGZ1bmN0aW9uIGNvcnJlY3RseSAoQ0FTU0FORFJBLTY2OTIpCiAqIEFsbG93IG5vZGV0b29sIHRvIHVzZSBhIGZpbGUgb3IgcHJvbXB0IGZvciBwYXNzd29yZCAoQ0FTU0FORFJBLTY2NjApCiAqIEZpeCBBSU9PQkUgd2hlbiBjb25jdXJyZW50bHkgYWNjZXNzaW5nIEG/9SHcAAABT948slwAECBPcHRpbWl6ZSB0b21ic3QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCcAAAEAVHlwZSAoQ0FTU0FORFJBLTI4ODMpCiAqIEZpeCBhc3NlcnRpb24gZXJyb3IgaW4gUm93UmVwYWlyUmVzb2x2ZXIgKENBU1NBTkRSQS0zMTU2KQogKiBSZWR1Y2UgdW5uZWNlc3NhcnkgaGlnaCBidWZmZXIgc2l6ZXMgKENBU1NBTkRSQS0zMTcxKQogKiBQbHVnZ2FibGUgY29tcGFjdGlvbiBzdHJhdGVneSAoQ0FTU0FORFJBLTE2MTApCiAqIEFkZCBuZXcgYnJvYWRjYXN0X2FkZHJlc3MgY29uZmlnIG9wdGlvbiAoQ0FTU0FORFJBLTI0OTEpCgoKMC44Luha4iAAAAFP3jyyXAAQcyAoQ0FTU0FORFJBLTE1OQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsJwAAAQAgKENBU1NBTkRSQS00MzUzKQogKiBVc2UgQ0YgY29tcGFyYXRvciB0byBzb3J0IGluZGV4ZWQgY29sdW1ucyBpbiBTZWNvbmRhcnlJbmRleE1hbmFnZXIKICAgKENBU1NBTkRSQS00MzY1KQogKiBhZGQgc3RyYXRlZ3lfb3B0aW9ucyB0byB0aGUgS1NNZXRhRGF0YS50b1N0cmluZygpIG91dHB1dCAoQ0FTU0FORFJBLTQyNDgpCiAqIChjcWwzKSBmaXggcmFuZ2UgcXVlcmllcyBjb250YWluaW5nIHVucXVlcmllZCByZXN1bHRzIChDQVNTQU5EUkEtNDM3baQHaAAAAU/ePLJcABBlIHJpbmcgKENBU1NBTkRSAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwnAAABADEwOTApCiAqIGltcHJvdmUgZGVmYXVsdCBKVk0gR0Mgb3B0aW9ucyAoQ0FTU0FORFJBLTEwMTQpCiAqIGZpeCBTbGljZVByZWRpY2F0ZSBzZXJpYWxpemF0aW9uIGluc2lkZSBIYWRvb3Agam9icyAoQ0FTU0FORFJBLTEwNDkpCiAqIGNsb3NlIFRocmlmdCBzb2NrZXRzIGluIEhhZG9vcCBDb2x1bW5GYW1pbHlSZWNvcmRSZWFkZXIgKENBU1NBTkRSQS0xMDgxKQoKCjAuNi4xCiAqIGZpeCBOUEUgaW4gc3N0YWJsZTJqc29uIHdoZW4gbm8gZXhjbHVkZWTWib1bAAABT948slwAEGZpeCBidWcgZGV0ZXJtaW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCcAAAEAc2ggdHJ1bmNhdGUgKENBU1NBTkRSQS0xNzkwKQogKiB2YXJpb3VzIGNvZGUgY2xlYW51cCAoQ0FTU0FORFJBLTE3OTMsIC0xNzk0LCAtMTc5NSkKICogZml4IHJhbmdlIHF1ZXJpZXMgYWdhaW5zdCB3cmFwcGVkIHJhbmdlIChDQVNTQU5EUkEtMTc4MSkKICogZml4IGNvbnNpc3RlbmN5bGV2ZWwgY2FsY3VsYXRpb25zIGZvciBOZXR3b3JrVG9wb2xvZ3lTdHJhdGVneQogICAoQ0FTU0FORFJBLTE4MDQpCiAqIGNsaSBzdXBwb3J0IGluZGV4IHR5cGUgZXDLRgoAAAFP3jyyXAAQb290c3RyYXBwaW5nIGEgbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsJwAAAQAgRml4IGFzc2VydGlvbiBlcnJvciBpbiBSb3dSZXBhaXJSZXNvbHZlciAoQ0FTU0FORFJBLTMxNTYpCiAqIFJlZHVjZSB1bm5lY2Vzc2FyeSBoaWdoIGJ1ZmZlciBzaXplcyAoQ0FTU0FORFJBLTMxNzEpCiAqIFBsdWdnYWJsZSBjb21wYWN0aW9uIHN0cmF0ZWd5IChDQVNTQU5EUkEtMTYxMCkKICogQWRkIG5ldyBicm9hZGNhc3RfYWRkcmVzcyBjb25maWcgb3B0aW9uIChDQVNTQU5EUkEtMjQ5MSkKCgowLjguNwogKiBLaWxsIHNlcnZlciBvbiB3cmFw/A3yggAAAU/ePLJcABBzIGluIHRvbWJzdG9uZSBkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwnAAABAEFORFJBLTMzODcpCiAqIHRvbGVyYXRlIGluZGV4IGJlaW5nIGRyb3BwZWQgbWlkLW11dGF0aW9uIChDQVNTQU5EUkEtMzMzNCwgMzMxMykKICogQ29tcGFjdGlvbk1hbmFnZXIgaXMgbm93IHJlc3BvbnNpYmxlIGZvciBjaGVja2luZyBmb3IgbmV3IGNhbmRpZGF0ZXMKICAgcG9zdC10YXNrIGV4ZWN1dGlvbiwgZW5hYmxpbmcgbW9yZSBjb25zaXN0ZW50IGxldmVsZWQgY29tcGFjdGlvbiAKICAgKENBU1NBTkRSQS0zMzkxKQogKiBDYWNoZSBIU0hBIHSBY7+xAASW38+sz30AAAFP3jyyXAAQKENBU1NBTkRSQS0yNjE3KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsKQAAAQAqIGF2b2lkIGFib3J0aW5nIGNvbW1pdGxvZyByZXBsYXkgcHJlbWF0dXJlbHkgaWYgYSBmbHVzaGVkLWJ1dC0KICAgbm90LXJlbW92ZWQgY29tbWl0bG9nIHNlZ21lbnQgaXMgZW5jb3VudGVyZWQgKENBU1NBTkRSQS0xMjk3KQogKiBmaXggZHVwbGljYXRlIHJvd3MgYmVpbmcgcmVhZCBkdXJpbmcgbWFwcmVkdWNlIChDQVNTQU5EUkEtMTE0MikKICogZmFpbHVyZSBkZXRlY3Rpb24gd2Fzbid0IGNsb3NpbmcgY29tbWFuZCBzb2NrZXRzIChDQVNTQU5ErMpIQAAAAU/ePLJcABAwLjguNQogKiBmaXggTlBFAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwpAAABAHFsc2ggKENBU1NBTkRSQS00ODI5KQogKiBmaXggY3Fsc2ggcmVuZGVyaW5nIG9mIGJsb2IgZmllbGRzIChDQVNTQU5EUkEtNDk3MCkKICogZml4IGNxbHNoIERFU0NSSUJFIGNvbW1hbmQgKENBU1NBTkRSQS00OTEzKQogKiBzYXZlIHRydW5jYXRpb24gcG9zaXRpb24gaW4gc3lzdGVtIHRhYmxlIChDQVNTQU5EUkEtNDkwNikKICogTW92ZSBDb21wcmVzc2lvbk1ldGFkYXRhIG9mZi1oZWFwIChDQVNTQU5EUkEtNDkzNykKICogYWxsb3cgQ0xJIHRvIEdpK0jRAAABT948slwAEGx1ZXMgZnJvbSBCYWNrZ3IAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCkAAAEAU1NBTkRSQS00MDQxKQogKiAoY3FsMykgRml4IGRlbGV0aW9uIGJ1ZyAoQ0FTU0FORFJBLTQxOTMpCiAqIEZpeCBjb21wdXRhdGlvbiBvZiBvdmVybGFwcGluZyBzc3RhYmxlIGZvciBsZXZlbGVkIGNvbXBhY3Rpb24gKENBU1NBTkRSQS00MzIxKQogKiBJbXByb3ZlIHNjcnViIGFuZCBhbGxvdyB0byBydW4gaXQgb2ZmbGluZSAoQ0FTU0FORFJBLTQzMjEpCiAqIEZpeCBhc3NlcnRpb25FcnJvciBpbiBTdG9yYWdlU2VydmljZS5idWxrTG9hZCAoQ0FTU4NvNpAAAAFP3jyyXAAQICogKEhhZG9vcCkgUmVxdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsKQAAAQBuZyBwYXJzaW5nIG9mIGNodW5rX2xlbmd0aF9rYiAoQ0FTU0FORFJBLTM2NDQpCiAqIEltcHJvdmUgc3RyZWFtIHByb3RvY29sIG1pc21hdGNoIGVycm9ycyAoQ0FTU0FORFJBLTM2NTIpCiAqIEF2b2lkIG11bHRpcGxlIHRocmVhZCBkb2luZyBISCB0byB0aGUgc2FtZSB0YXJnZXQgKENBU1NBTkRSQS0zNjgxKQogKiBBZGQgSk1YIHByb3BlcnR5IGZvciBycF90aW1lb3V0X2luX21zIChDQVNTQU5EUkEtMjk0MCkKICogQWxsb3cgRHluYW1pY0NvbXBvWj+QzAAAAU/ePLJcABAsIC0yMjQwKQogKiBmaXggAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwpAAABAHJzIGFnYWluLCBlc3BlY2lhbGx5IG9uIENMIHdyaXRlcyAoQ0FTU0FORFJBLTI2NjApCiAqIGFkZCBEUk9QIElOREVYIHN1cHBvcnQgdG8gQ0xJIChDQVNTQU5EUkEtMjYxNikKICogZG9uJ3QgcGVyZm9ybSBISCB0byBjbGllbnQtbW9kZSBbc3RvcmFnZXByb3h5XSBub2RlcyAoQ0FTU0FORFJBLTI2NjgpCiAqIEltcHJvdmUgZm9yY2VEZXNlcmlhbGl6ZS9nZXRDb21wYWN0ZWRSb3cgZW5jYXBzdWxhdGlvbiAoQ0FTU0FORFJBLTI2NTkpCiAqIERvbifErYR7AAABT948slwAEHF1ZXJpZXMgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCoAAAEACiAgIGluY29ycmVjdGx5IChhbmQgdGVtcG9yYXJpbHkpIG1hcmtlZCBhcyBkb3duIChDQVNTQU5EUkEtNjEwKQogKiByZXNwZWN0IG1lbXRhYmxlIHRocmVzaG9sZHMgZHVyaW5nIGxvZyByZXBsYXkgKENBU1NBTkRSQS02MDkpCiAqIHN1cHBvcnQgQ29uc2lzdGVuY3lMZXZlbC5BTEwgb24gcmVhZCAoQ0FTU0FORFJBLTU4NCkKICogYWRkIG5vZGVwcm9iZSByZW1vdmV0b2tlbiBjb21tYW5kIChDQVNTQU5EUkEtNTY0KQoKCjAuNS4wIGJldGEKICogQY0VO3MAAAFP3jyyXAAQaGxvZyBpbiBDUUwzIChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsKgAAAQAgKENBU1NBTkRSQS0yMTkxKQogKiBjb21wYWN0aW9uIHRocm90dGxpbmcgKENBU1NBTkRSQS0yMTU2KQogKiBhZGQga2V5IHR5cGUgaW5mb3JtYXRpb24gYW5kIGFsaWFzIChDQVNTQU5EUkEtMjMxMSwgMjM5NikKICogY2xpIG5vIGxvbmdlciBkaXZpZGVzIHJlYWRfcmVwYWlyX2NoYW5jZSBieSAxMDAgKENBU1NBTkRSQS0yNDU4KQogKiBtYWRlIENvbXBhY3Rpb25JbmZvLmdldFRhc2tUeXBlIHJldHVybiBhbiBlbnVtIChDQVNTQU5EUkEtMjQ4MikKCgOy2QAAAU/ePLJcABAoQ0FTU0FORFJBLTEyMzUpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwqAAABAHJvdyBVbmF2YWlsYWJsZUV4Y2VwdGlvbgogICBpbW1lZGlhdGVseSBpZiBpbnN1ZmZpY2llbnQgbGl2ZSBub2RlcyBleGlzdCAoQ0FTU0FORFJBLTE4MDMpCiAqIGNvcHkgYnl0ZWJ1ZmZlcnMgZm9yIGxvY2FsIHdyaXRlcyB0byBhdm9pZCByZXRhaW5pbmcgdGhlIGVudGlyZQogICBUaHJpZnQgZnJhbWUgKENBU1NBTkRSQS0xODAxKQogKiBmaXggTlBFIGFkZGluZyBpbmRleCB0byBjb2x1bW4gdy9vIHByaW9yIG1ldGFkYXRhIChDQVNTQU5EUkEtMTfvQsioAAABT948slwAEGVtLnNjaGVtYV8qIHRpbWUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCoAAAEAb25kYXJ5IGluZGV4IG9uIHNldCBpdGVtcyBvciBtYXAga2V5cwogICB3aGVuIHNvbWUgY2x1c3RlcmluZyBjb2x1bW5zIGFyZSBzcGVjaWZpZWQgKENBU1NBTkRSQS04MDczKQogKiBTZW5kIHByb3BlciBlcnJvciByZXNwb25zZSB3aGVuIHRoZXJlIGlzIGFuIGVycm9yIGR1cmluZyBuYXRpdmUKICAgcHJvdG9jb2wgbWVzc2FnZSBkZWNvZGUgKENBU1NBTkRSQS04MTE4KQogKiBHb3NzaXAgc2hvdWxkIGlnbm9yZSBnZW5lcmF0aW9uIG51bWJlcnMgdO1MV3QAAAFP3jyyXAAQZ2UKICogYWRkIEFic3RyYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsKgAAAQAgdG8gYmUgdXNlZCB3aXRoIG5vbi1OZXR3b3JrVG9wb2xvZ3kgCiAgIHJlcGxpY2F0aW9uIFN0cmF0ZWdpZXMKICogaW5jcmVhc2VkIGFtb3VudCBvZiBpbmRleCBsb2NrcyBmb3IgZmFzdGVyIGNvbW1pdGxvZyByZXBsYXkKICogY29sbGVjdCBzZWNvbmRhcnkgaW5kZXggdG9tYnN0b25lcyBpbW1lZGlhdGVseSAoQ0FTU0FORFJBLTE5MTQpCiAqIHJldmVydCBjb21taXRsb2cgY2hhbmdlcyBmcm9tICMxNzgwIChDQVNTQU5EUkEtMTkxNykKICogY2hhgsAgPQAAAU/ePLJcABB1ZXN0cyBmb3IgdGhlIGxhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwrAAABAG50ZWdlciBpbiBDUUwgdGhyb3dzIE51bWJlckZvcm1hdEV4Y2VwdGlvbiAoQ0FTU0FORFJBLTQyOTEpCiAqIGZpeCAxLjAueCBub2RlIGpvaW4gdG8gbWl4ZWQgdmVyc2lvbiBjbHVzdGVyLCBvdGhlciBub2RlcyA+PSAxLjEgKENBU1NBTkRSQS00MTk1KQogKiBGaXggTENTIHNwbGl0dGluZyBzc3RhYmxlIGJhc2Ugb24gdW5jb21wcmVzc2VkIHNpemUgKENBU1NBTkRSQS00NDE5KQogKiBQdXNoIHRoZSB2YWxpZGF0aW9uIG9mIHNlY29uZGFyeSBpbmTnBpVkAAABT948slwAEE5EUkEtMTgzNSkKICogdW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCsAAAEAb3NzaXBwZWQgYmFjayB0byBpdCAoQ0FTU0FORFJBLTE2NjYpCgoKMC43LWJldGEyCiAqIGFsd2F5cyB1c2UgVVRGLTggZm9yIGhpbnQga2V5cyAoQ0FTU0FORFJBLTE0MzkpCiAqIHJlbW92ZSBjYXNzYW5kcmEueWFtbCBkZXBlbmRlbmN5IGZyb20gSGFkb29wIGFuZCBQaWcgKENBU1NBRFJBLTEzMjIpCiAqIGV4cG9zZSBDZkRlZiBtZXRhZGF0YSBpbiBkZXNjcmliZV9rZXlzcGFjZXMgKENBU1NBTkRSQS0xMzYzKQogKiByZXN0b3JlIHVzZSBvZiBtba5Hj+YAAAFP3jyyXAAQCiAqIGRlbGV0aW9uIHN1cAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsKwAAAQAgREVTQyBjbHVzdGVyaW5nIG9yZGVyIChDQVNTQU5EUkEtNjk1MCkKICogSW52YWxpZCBrZXkgY2FjaGUgZW50cmllcyBvbiBEUk9QIChDQVNTQU5EUkEtNjUyNSkKICogRml4IGZsYXBwaW5nIFJlY292ZXJ5TWFuYWdlclRlc3QgKENBU1NBTkRSQS03MDg0KQogKiBBZGQgbWlzc2luZyBpc284NjAxIHBhdHRlcm5zIGZvciBkYXRlIHN0cmluZ3MgKENBU1NBTkRSQS02OTczKQogKiBTdXBwb3J0IHNlbGVjdGluZyBtdWx0aXBsZSByb3dzIGluIGEgcGFytUntDgAAAU/ePLJcABBhcnRpYWwKICAgYnVmZmVyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwrAAABAG90ZSBrcyBhbmQgY2YgbmFtZXMgaW4gc2NoZW1hIG91dHB1dCB3aGVuIG5lZWRlZCAoQ0FTU0FORFJBLTUwNTIpCiAqIEZpeCBiYWQgZGVmYXVsdCBmb3IgbWluL21heCB0aW1lc3RhbXAgaW4gU1NUYWJsZU1ldGFkYXRhIChDQVNTQU5EUkEtNTM3MikKICogRml4IGNmIG5hbWUgZXh0cmFjdGlvbiBmcm9tIG1hbmlmZXN0IGluIERpcmVjdG9yaWVzLm1pZ3JhdGVGaWxlKCkgCiAgIChDQVNTQU5EUkEtNTI0MikKICogU3VwcG9ydCBwbHVnZ2FibGUgaW7y6vs3AAABT948slwAEHRpZWJyZWFrZXIgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCsAAAEAVGFzayB0aHJlYWQgc2FmZSBhbmQgZ2MgZnJpZW5kbHkgKENBU1NBTkRSQS03Nzk1KQogKiBWYWxpZGF0ZSBlbXB0eSBjZWxsIG5hbWVzIGZyb20gY291bnRlciB1cGRhdGVzIChDQVNTQU5EUkEtNzc5OCkKTWVyZ2VkIGZyb20gMS4yOgogKiBEb24ndCBhbGxvdyBjb21wYWN0ZWQgc3N0YWJsZXMgdG8gYmUgbWFya2VkIGFzIGNvbXBhY3RpbmcgKENBU1NBTkRSQS03MTQ1KQogKiBUcmFjayBleHBpcmVkIHRvbWJzdG9uZXMgKENBU1NBTkRSQS03ODEwKZf3XLMABKs89Ng1YQAAAU/ePLJcABBseSAoQ0FTU0FORFJBLTQ0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwrAAABAHNzaXAgc3RhdGVzIGF0b21pY2FsbHkgKENBU1NBTkRSQS02MTI1KQogKiBMb2cgZXhjZXB0aW9ucyByZWxhdGVkIHRvIHVuY2xlYW4gbmF0aXZlIHByb3RvY29sIGNsaWVudCBkaXNjb25uZWN0cwogICBhdCBERUJVRyBvciBJTkZPIChDQVNTQU5EUkEtNzg0OSkKICogQWxsb3cgcGVybWlzc2lvbnMgY2FjaGUgdG8gYmUgc2V0IHZpYSBKTVggKENBU1NBTkRSQS03Njk4KQogKiBJbmNsdWRlIHNjaGVtYV90cmlnZ2VycyBDRiBpbiByZWFkYWJsZSBzeXMkm07HAAABT948slwAEDA0KQogKiBGaXggZHVwbGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCsAAAEAIChDQVNTQU5EUkEtNDc1MSkKICogRml4IHVzZSBvZiBjb2xsZWN0aW9ucyBpbiBwcmVwYXJlZCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNDczOSkKICogU3RvcmUgbW9yZSBpbmZvcm1hdGlvbiBpbnRvIHBlZXJzIHRhYmxlIChDQVNTQU5EUkEtNDM1MSwgNDgxNCkKICogQ29uZmlndXJhYmxlIGJ1Y2tldCBzaXplIGZvciBzaXplIHRpZXJlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtNDcwNCkKICogUnVuIGxldmVsZWQgY29tcGFjdGlvbiBpbiBwYXJhbMWQIs8AAAFP3jyyXAAQcmVzaXN0YW50IHRvIGJhZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsKwAAAQBpb24KICAgKENBU1NBTkRSQS03ODk1KQogKiBGaXhlZCBJbGxlZ2FsU3RhdGVFeGNlcHRpb24gaW4gYW50aWNvbXBhY3Rpb24gKENBU1NBTkRSQS03ODkyKQogKiBjcWxzaDogREVTQ1JJQkUgc3VwcG9ydCBmb3IgZnJvemVuIFVEVHMsIHR1cGxlcyAoQ0FTU0FORFJBLTc4NjMpCiAqIEF2b2lkIGV4cG9zaW5nIGludGVybmFsIGNsYXNzZXMgb3ZlciBKTVggKENBU1NBTkRSQS03ODc5KQogKiBBZGQgbnVsbCBjaGVjayBmb3Iga2V5cyB3aGVuIGZyZWV6+8TeswAAAU/ePLJcABBDb2x1bW5GYW1pbHlSZWNvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwsAAABACBjb21tYW5kcyAoQ0FTU0FORFJBLTQxMjkpCiAqIEF2b2lkcyBwb3NzaWJsZSBkZWFkbG9jayBkdXJpbmcgYm9vdHN0cmFwIChDQVNTQU5EUkEtNDE1OSkKICogZml4IHN0cmVzcyB0b29sIHRoYXQgaGFuZ3MgZm9yZXZlciBvbiB0aW1lb3V0IG9yIGVycm9yIChDQVNTQU5EUkEtNDEyOCkKICogRml4IHN1cGVyIGNvbHVtbnMgYnVnIHdoZXJlIGNhY2hlIGlzIG5vdCB1cGRhdGVkIChDQVNTQU5EUkEtNDE5MCkKICogc3RyZXNzIHRvb2wgdG8gcmV0dXLBrRT+AAABT948slwAECBmcm9tICMxNzgwIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCwAAAEAZnRlciByZXBsYXlpbmcKICAgbG9nIGJ1dCBiZWZvcmUgbmV3IGluc2VydHMgZm9yY2UgbWVtdGFibGUgZmx1c2guCiAgIChDQVNTQU5EUkEtMjA0KQogKiBBZGRlZCBCVUdTIGZpbGUKCgowLjMuMCBSQzEKICogUmFuZ2UgcXVlcmllcyBvbiBrZXlzLCBpbmNsdWRpbmcgdXNlci1kZWZpbmVkIGtleSBjb2xsYXRpb24KICogUmVtb3ZlIHN1cHBvcnQKICogV29ya2Fyb3VuZHMgZm9yIGEgd2VpcmQgYnVnIGluIEpESyBzZWxlY3QvcmVnaXN0ZXIgdGhhdBrAHBQAAAFP3jyyXAAQY29tcGFjdGluZyAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsLAAAAQBtZXMgKENBU1NBTkRSQS0xNzYxKQogKiByZWR1Y2UgY29udGVudGlvbiBvbiBUYWJsZS5mbHVzaGVyTG9jayAoQ0FTU0FORFJBLTE5NTQpCiAqIHRyeSBoYXJkZXIgdG8gZGV0ZWN0IGZhaWx1cmVzIGR1cmluZyBzdHJlYW1pbmcsIGNsZWFuaW5nIHVwIHRlbXBvcmFyeQogICBmaWxlcyBtb3JlIHJlbGlhYmx5IChDQVNTQU5EUkEtMjA4OCkKICogc2h1dCBkb3duIHNlcnZlciBmb3IgT09NIG9uIGEgVGhyaWZ0IHRocmVhZCAoQ0FTU0FORFJBLTIyNjkpaAG4AAAAAU/ePLJcABAtNjgxKQogKiBmaXggYm9nAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwsAAABAChDQVNTQU5EUkEtNzQ3OCkKICogQ2xvbmUgdG9rZW4gbWFwIG91dHNpZGUgb2YgaG90IGdvc3NpcCBsb29wcyAoQ0FTU0FORFJBLTc3NTgpCiAqIEZpeCBNUyBleHBpcmluZyBtYXAgdGltZW91dCBmb3IgUGF4b3MgbWVzc2FnZXMgKENBU1NBTkRSQS03NzUyKQogKiBEbyBub3QgZmx1c2ggb24gdHJ1bmNhdGUgaWYgZHVyYWJsZV93cml0ZXMgaXMgZmFsc2UgKENBU1NBTkRSQS03NzUwKQogKiBHaXZlIENSUiBhIGRlZmF1bHQgaW5wdXRfY3FsIFN0YXR+DJCgAAABT948slwAEGNoaXZpbmcgZHVyaW5nIHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCwAAAEARFJBLTU3ODEpCiAqIERvbid0IHJlbHkgb24gcm93IG1hcmtlciBmb3IgcXVlcmllcyBpbiBnZW5lcmFsIHRvIGhpZGUgbG9zdCBtYXJrZXJzCiAgIGFmdGVyIFRUTCBleHBpcmVzIChDQVNTQU5EUkEtNTc2MikKICogU29ydCBub2RldG9vbCBoZWxwIG91dHB1dCAoQ0FTU0FORFJBLTU3NzYpCiAqIEZpeCBjb2x1bW4gZXhwaXJpbmcgZHVyaW5nIDIgcGhhc2VzIGNvbXBhY3Rpb24gKENBU1NBTkRSQS01Nzk5KQogKiBub3coKSBpcyBiZWluZyByZWplY4q1DH0AAAFP3jyyXAAQaWVzIiB3aGVuIG9ubHkgcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsLAAAAQAqIERvbid0IHVzZSBzdHJpY3QgY29uc2lzdGVuY3kgd2hlbiByZXBsYWNpbmcgKENBU1NBTkRSQS03NTY4KQogKiBGaXggbWluL21heCBjZWxsIG5hbWUgY29sbGVjdGlvbiBvbiAyLjAgU1NUYWJsZXMgd2l0aCByYW5nZQogICB0b21ic3RvbmVzIChDQVNTQU5EUkEtNzU5MykKICogVG9sZXJhdGUgbWluL21heCBjZWxsIG5hbWVzIG9mIGRpZmZlcmVudCBsZW5ndGhzIChDQVNTQU5EUkEtNzY1MSkKICogRmlsdGVyIGNhY2hlZCByZXN1bHRzIGNvcnJlRzyzfAAAAU/ePLJcABAoSGFkb29wKSBmaXggc2V0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwsAAABAGVtdGFibGUgdG8gZmx1c2gKICAgaW4gSk1YIChDQVNTQU5EUkEtMjgxNykKICogYWRkIGFiaWxpdHkgdG8gcmV0dXJuICJlbmRwb2ludHMiIHRvIG5vZGV0b29sIChDQVNTQU5EUkEtMjc3NikKICogQWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIChjb21tYS1kZWxpbWl0ZWQpIGNvb3JkaW5hdG9yIGFkZHJlc3NlcwogICB0byBDb2x1bW5GYW1pbHlJbnB1dEZvcm1hdCAoQ0FTU0FORFJBLTI4MDcpCiAqIGZpeCBwb3RlbnRpYWwgTlBFIHdoaWxlIHNjaGVQ60T8AAABT948slwAEDQ4MjQpCiAqIEZpeCBTdWIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCwAAAEAbGl6YXRpb24gKENBU1NBTkRSQS05MDY2KQogKiBGaXggYW50aS1jb21wYWN0aW9uIHRhcmdldCBibG9vbSBmaWx0ZXIgc2l6ZSAoQ0FTU0FORFJBLTkwNjApCiAqIE1ha2UgRlJPWkVOIGFuZCBUVVBMRSB1bnJlc2VydmVkIGtleXdvcmRzIGluIENRTCAoQ0FTU0FORFJBLTkwNDcpCiAqIFByZXZlbnQgQXNzZXJ0aW9uRXJyb3IgZnJvbSBTaXplRXN0aW1hdGVzUmVjb3JkZXIgKENBU1NBTkRSQS05MDM0KQogKiBBdm9pZCBvdmVyd3JpdGluZyBpbmRleMLkYUgAAAFP3jyyXAAQCjIuMC4wLWJldGExCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsLAAAAQBSQS0zMTkwKQogKiBBZGQgZml2ZS1taW51dGUgZGVsYXkgYmVmb3JlIHN0YXJ0aW5nIGNvbXBhY3Rpb25zIG9uIGEgcmVzdGFydGVkIHNlcnZlcgogICAoQ0FTU0FORFJBLTMxODEpCiAqIFJlZHVjZSBjb3BpZXMgZG9uZSBmb3IgaW50cmEtaG9zdCBtZXNzYWdlcyAoQ0FTU0FORFJBLTE3ODgsIDMxNDQpCiAqIHN1cHBvcnQgb2YgY29tcGFjdGlvbiBzdHJhdGVneSBvcHRpb24gZm9yIHN0cmVzcy5qYXZhIChDQVNTQU5EUkEtMzIwNCkKICogbWFrZSBtEcXDKwAAAU/ePLJcABBpeCB0byBzdXBwb3J0IG9mAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwsAAABACBGaXggU0VMRUNUIC4uLiBUT0tFTigpIGZ1bmN0aW9uIGJyb2tlbiBpbiBDKiAyLjEuMSAoQ0FTU0FORFJBLTgyNTgpCiAqIEZpeCBDYXNzYW5kcmEgY3Jhc2ggd2hlbiBydW5uaW5nIG9uIEpESzggdXBkYXRlIDQwIChDQVNTQU5EUkEtODIwOSkKICogT3B0aW1pemUgcGFydGl0aW9uZXIgdG9rZW5zIChDQVNTQU5EUkEtODIzMCkKICogSW1wcm92ZSBjb21wYWN0aW9uIG9mIHJlcGFpcmVkL3VucmVwYWlyZWQgc3N0YWJsZXMgKENBU1NBTkRSQS04MDD6EYV1AAABT948slwAEGV0IGNvcnJlY3RseQogICAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILCwAAAEAZwogICBzaXplIHRvIDMyLzEwMjQgTUIgZm9yIDMyLzY0IGJpdCBKVk1zLCByZXNwZWN0aXZlbHkgKENBU1NBTkRSQS00NDIyKQogKiBhdm9pZCB1c2luZyBnbG9iYWwgcGFydGl0aW9uZXIgdG8gZXN0aW1hdGUgcmFuZ2VzIGluIGluZGV4IHNzdGFibGVzCiAgIChDQVNTQU5EUkEtNDQwMykKICogcmVzdG9yZSBwcmUtQ0FTU0FORFJBLTM4NjIgYXBwcm9hY2ggdG8gcmVtb3ZpbmcgZXhwaXJlZCB0b21ic3RvbmVzCiAgIGZyb20gcm93IGNhY2hlIGR1clRlTaMAAAFP3jyyXAAQIHdoZW4gdGhleSBoYXZlCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsLAAAAQBBLTUzNjEpCgoKMS4yLjIKICogZml4IHBvdGVudGlhbCBmb3IgbXVsdGlwbGUgY29uY3VycmVudCBjb21wYWN0aW9ucyBvZiB0aGUgc2FtZSBzc3RhYmxlcwogICAoQ0FTU0FORFJBLTUyNTYpCiAqIGF2b2lkIG5vLW9wIGNhY2hpbmcgb2YgYnl0ZVtdIG9uIGNvbW1pdGxvZyBhcHBlbmQgKENBU1NBTkRSQS01MTk5KQogKiBmaXggc3ltbGlua3MgdW5kZXIgZGF0YSBkaXIgbm90IHdvcmtpbmcgKENBU1NBTkRSQS01MTg1KQogKiBmaXggYnVnIGluIGNvSXrsNwAEv5mnM84dAAABT948slwAEENRTCkgUHJvcGVyIENvbHUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILC0AAAEAZCBpZ25vcmVzIGxvY2FsIHBhdXNlcyAoQ0FTU0FORFJBLTkxODMpCiAqIEFkZCB1dGlsaXR5IGNsYXNzIHRvIHN1cHBvcnQgZm9yIHJhdGUgbGltaXRpbmcgYSBnaXZlbiBsb2cgc3RhdGVtZW50IChDQVNTQU5EUkEtOTAyOSkKICogQWRkIG1pc3NpbmcgY29uc2lzdGVuY3kgbGV2ZWxzIHRvIGNhc3NhbmRyYS1zdGVzcyAoQ0FTU0FORFJBLTkzNjEpCiAqIEZpeCBjb21taXRsb2cgZ2V0Q29tcGxldGVkVGFza3MgdG8gbm90IGluY3JlbWVudCAoQ0FTU/qMbKsAAAFP3jyyXAAQaCkgRml4IGF1dG9jb21wbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsLQAAAQApCiAqIHVwZGF0ZSBtZW10YWJsZV90aHJvdWdocHV0IHRvIGJlIGEgbG9uZyAoQ0FTU0FORFJBLTIxNTgpCgoKMC43LjMKICogS2VlcCBlbmRwb2ludCBzdGF0ZSB1bnRpbCBhVmVyeUxvbmdUaW1lIChDQVNTQU5EUkEtMjExNSkKICogbG93ZXItbGF0ZW5jeSByZWFkIHJlcGFpciAoQ0FTU0FORFJBLTIwNjkpCiAqIGFkZCBoaW50ZWRfaGFuZG9mZl90aHJvdHRsZV9kZWxheV9pbl9tcyBvcHRpb24gKENBU1NBTkRSQS0yMTYxKQogKiBmaXhlcyBmb3IgvdlEBgAAAU/ePLJcABBNZXNzYWdpbmdTZXJ2aWNlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwtAAABAEFTU0FORFJBLTU4MjApCiAqIChIYWRvb3ApIGZpeCBxdW90aW5nIGluIENxbFBhZ2luZ1JlY29yZFJlYWRlciBhbmQgQ3FsUmVjb3JkV3JpdGVyIAogICAoQ0FTU0FORFJBLTU4MjQpCiAqIHVwZGF0ZSBkZWZhdWx0IExDUyBzc3RhYmxlIHNpemUgdG8gMTYwTUIgKENBU1NBTkRSQS01NzI3KQogKiBBbGxvdyBjb21wYWN0aW5nIDJJcyB2aWEgbm9kZXRvb2wgKENBU1NBTkRSQS01NjcwKQogKiBIZXgtZW5jb2RlIG5vbi1TdHJpbmcga2V5cyBpbiBPUFCYY1fmAAABT948slwAEGluZyBsb2cgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILC0AAAEAU1NBTkRSQS0zNjI1KQogKiBGbHVzaCBub24tY2ZzIGJhY2tlZCBzZWNvbmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTM2NTkpCiAqIFNlY29uZGFyeSBJbmRleGVzIHNob3VsZCByZXBvcnQgbWVtb3J5IGNvbnN1bXB0aW9uIChDQVNTQU5EUkEtMzE1NSkKICogZml4IGZvciBTZWxlY3RTdGF0ZW1lbnQgc3RhcnQvZW5kIGtleSBhcmUgbm90IHNldCBjb3JyZWN0bHkKICAgd2hlbiBhIGtleSBhbGlhcyBpcyBpbnZvbHZlZCAoQ0FTU0FORFJBLTM3MDApCiKvIQoAAAFP3jyyXAAQKiBmaXggZXJyb3JzIGluIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsLQAAAQBlIGRlZmF1bHQgSk1YIHBvcnQgdG8gNzE5OSAoQ0FTU0FORFJBLTIwMjcpCiAqIGJhY2t3YXJkcyBjb21wYXRpYmxlIGludGVybmFsIG1lc3NhZ2luZyAoQ0FTU0FORFJBLTEwMTUpCiAqIGF0b21pYyBzd2l0Y2ggb2YgbWVtdGFibGVzIGFuZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTIyODQpCiAqIGFkZCBwbHVnZ2FibGUgU2VlZFByb3ZpZGVyIChDQVNTQU5EUkEtMTY2OSkKICogRml4IGNsdXN0ZXJ0b29sIHRvIG5vdCB0aHJvdyBleGNlcHRpb24gd2hlWDElNwAAAU/ePLJcABBvdHN0cmFwIGF0dGVtcHQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwtAAABAHRpYyBjb2x1bW5zIChDQVNTQU5EUkEtNzQ5MCkKTWVyZ2VkIGZyb20gMS4yOgogKiBTZXQgY29ycmVjdCBzdHJlYW0gSUQgb24gcmVzcG9uc2VzIHdoZW4gbm9uLUV4Y2VwdGlvbiBUaHJvd2FibGVzCiAgIGFyZSB0aHJvd24gd2hpbGUgaGFuZGxpbmcgbmF0aXZlIHByb3RvY29sIG1lc3NhZ2VzIChDQVNTQU5EUkEtNzQ3MCkKCgoyLjEuMC1yYzMKICogQ29uc2lkZXIgZXhwaXJ5IHdoZW4gcmVjb25jaWxpbmcgb3RoZXJ3aXNlIGVxdWFsIGNlbGxzICjrzyr9AAABT948slwAEDI0OTEpCgoKMC44LjcKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILC0AAAEAb2lkcyBoYXZpbmcgcmVtb3ZlZCBub2RlIHJlYXBwZWFyaW5nIGluIEdvc3NpcCAoQ0FTU0FORFJBLTIzNzEpCiAqIGZpeCBpbmNvcnJlY3QgdHJ1bmNhdGlvbiBvZiBsb25nIHRvIGludCB3aGVuIHJlYWRpbmcgY29sdW1ucyB2aWEgYmxvY2sKICAgaW5kZXggKENBU1NBTkRSQS0yMzc2KQogKiBmaXggTlBFIGR1cmluZyBzdHJlYW0gc2Vzc2lvbiAoQ0FTU0FORFJBLTIzNzcpCiAqIGZpeCByYWNlIGNvbmRpdGlvbiB0aGF0IGNvdWxkIGxlYXZlIG9ycPB2iRIAAAFP3jyyXAAQNjIwMikKICogTGltaXQgQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsLQAAAQBhbGxlbCAoQ0FTU0FORFJBLTQzMTApCiAqIEZpeCBwb3RlbnRpYWwgTlBFIGR1cmluZyBDRlMgcmVsb2FkIChDQVNTQU5EUkEtNDc4NikKICogQ29tcG9zaXRlIGluZGV4ZXMgbWF5IG1pc3MgcmVzdWx0cyAoQ0FTU0FORFJBLTQ3OTYpCiAqIE1vdmUgY29uc2lzdGVuY3kgbGV2ZWwgdG8gdGhlIHByb3RvY29sIGxldmVsIChDQVNTQU5EUkEtNDczNCwgNDgyNCkKICogRml4IFN1YmNvbHVtbiBzbGljZSBlbmRzIG5vdCByZXNwZWN0ZWQgKENBU1NBTkRSFyesHgAAAU/ePLJcABBSQS0zNDA5KQogKiBpZ25vAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwtAAABAG5vZGV0b29sIHJpbmcgKENBU1NBTkRSQS03NTA4KQogKiBTdXBwb3J0IGNvbmRpdGlvbmFsIHVwZGF0ZXMsIHR1cGxlIHR5cGUsIGFuZCB0aGUgdjMgcHJvdG9jb2wgaW4gY3Fsc2ggKENBU1NBTkRSQS03NTA5KQogKiBIYW5kbGUgcXVlcmllcyBvbiBtdWx0aXBsZSBzZWNvbmRhcnkgaW5kZXggdHlwZXMgKENBU1NBTkRSQS03NTI1KQogKiBGaXggY3Fsc2ggYXV0aGVudGljYXRpb24gd2l0aCB2MyBuYXRpdmUgcHJvdG9jb2wgKENBU1NBTkRSQS03NTZxN8zeAAABT948slwAEChDQVNTQU5EUkEtMzk4NSkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILC0AAAEAaWNvcmUgc3lzdGVtcwogICAoQ0FTU0FORFJBLTQ0NCwgQ0FTU0FORFJBLTQxNCkKICogTW9yZSBlZmZpY2llbnQgdXNlIG9mIG1lbW9yeSBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTQzNikKICogYXV0b2Jvb3RzdHJhcCBvcHRpb246IHdoZW4gZW5hYmxlZCwgYWxsIG5vbi1zZWVkIG5vZGVzIHdpbGwgYXR0ZW1wdAogICB0byBib290c3RyYXAgd2hlbiBzdGFydGVkLCB1bnRpbCBib290c3RyYXAgc3VjY2Vzc2Z1bGx5CiAgIGNvbXBsZXRlc9lmxhcAAAFP3jyyXAAQeXMgKENBU1NBTkRSQS04MwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsLQAAAQBjZSBhcmd1bWVudCB0byAiZGVzY3JpYmUga2V5c3BhY2UiIGluIENMSSBvcHRpb25hbAogICB3aGVuIGF1dGhlbnRpY2F0ZWQgdG8ga2V5c3BhY2UgYWxyZWFkeSAoQ0FTU0FORFJBLTIwMjkpCiAqIGFkZGVkIG9wdGlvbiB0byBzcGVjaWZ5IC1EY2Fzc2FuZHJhLmpvaW5fcmluZz1mYWxzZSBvbiBzdGFydHVwCiAgIHRvIGFsbG93ICJ3YXJtIHNwYXJlIiBub2RlcyBvciBwZXJmb3JtaW5nIEpNWCBtYWludGVuYW5jZSBiZWZvcmUKICAgam9pbmluZyB0G9gdZAAAAU/ePLJcABAgU1NUYWJsZVdyaXRlciBjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwtAAABAERSQS02MDA1KQogKiBGaXggcGF4b3MgYnVncyAoQ0FTU0FORFJBLTYwMTIsIDYwMTMsIDYwMjMpCiAqIEZpeCBwYWdlZCByYW5nZXMgd2l0aCBtdWx0aXBsZSByZXBsaWNhcyAoQ0FTU0FORFJBLTYwMDQpCiAqIEZpeCBwb3RlbnRpYWwgQXNzZXJ0aW9uRXJyb3IgZHVyaW5nIHRyYWNpbmcgKENBU1NBTkRSQS02MDQxKQogKiBGaXggTlBFIGluIHNzdGFibGVzcGxpdCAoQ0FTU0FORFJBLTYwMjcpCiAqIE1pZ3JhdGUgcHJlLTIuMCBrZXkvdmFsdWUvY2+6uwFhAAABT948slwAEChDQVNTQU5EUkEtNDI0OSkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILC0AAAEAKiAoY3Fsc2gpIEFsbG93IGluY3JlYXNpbmcgQ1NWIGZpZWxkIHNpemUgbGltaXQgdGhyb3VnaAogICBjcWxzaHJjIGNvbmZpZyBvcHRpb24gKENBU1NBTkRSQS04OTM0KQogKiBTdG9wIGxvZ2dpbmcgcmFuZ2UgdG9tYnN0b25lcyB3aGVuIGV4Y2VlZGluZyB0aGUgdGhyZXNob2xkCiAgIChDQVNTQU5EUkEtODU1OSkKICogRml4IE51bGxQb2ludGVyRXhjZXB0aW9uIHdoZW4gbm9kZXRvb2wgZ2V0ZW5kcG9pbnRzIGlzIHJ1bgogICBhZ2FpbnN0IGludhwRS3EAAAFP3jyyXAAQb29tIGZpbHRlcgogICBkbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsLQAAAQBSZXdyaXRlciBwcm9wZXJseSAoQ0FTU0FORFJBLTgzMjApCiAqIEZpeCBoaWdoIHNpemUgY2FsY3VsYXRpb25zIGZvciBwcmVwYXJlZCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtODIzMSkKICogQ2VudHJhbGl6ZSBzaGFyZWQgZXhlY3V0b3JzIChDQVNTQU5EUkEtODA1NSkKICogRml4IGZpbHRlcmluZyBmb3IgQ09OVEFJTlMgKEtFWSkgcmVsYXRpb25zIG9uIGZyb3plbiBjb2xsZWN0aW9uCiAgIGNsdXN0ZXJpbmcgY29sdW1ucyB3aGVuIHRoZSBxdWVy9ChGIQAAAU/ePLJcABB1c2UgcmVxdWVzdGVkIGNvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwtAAABACBtYW5pcHVsYXRlIGdsb2JhbCBjYWNoZXMgKENBU1NBTkRSQS00NTYzKQogKiAoY3FsMykgZml4IHNldHRpbmcgY29tcGFjdGlvbiBzdHJhdGVneSAoQ0FTU0FORFJBLTQ1OTcpCiAqIGZpeCBicm9rZW4gc3lzdGVtLnNjaGVtYV8qIHRpbWVzdGFtcHMgb24gc3lzdGVtIHN0YXJ0dXAgKENBU1NBTkRSQS00NTYxKQogKiBmaXggd3Jvbmcgc2tpcCBvZiBjYWNoZSBzYXZpbmcgKENBU1NBTkRSQS00NTMzKQogKiBBdm9pZCBOUEUgd2hlbiBsb3N0K2ZvdW6DdwCXAATT9i8hTi8AAAFP3jyyXAAQbiBUYWJsZS5mbHVzaGVyTAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsLwAAAQAqIE1vdmUgQ29tcHJlc3Npb25NZXRhZGF0YSBvZmYtaGVhcCAoQ0FTU0FORFJBLTQ5MzcpCiAqIGFsbG93IENMSSB0byBHRVQgY3FsMyBjb2x1bW5mYW1pbHkgZGF0YSAoQ0FTU0FORFJBLTQ5MjQpCiAqIEZpeCByYXJlIHJhY2UgY29uZGl0aW9uIGluIGdldEV4cGlyZVRpbWVGb3JFbmRwb2ludCAoQ0FTU0FORFJBLTQ0MDIpCiAqIGFjcXVpcmUgcmVmZXJlbmNlcyB0byBvdmVybGFwcGluZyBzc3RhYmxlcyBkdXJpbmcgY29tcGFjdGlvbiBzbyBibG9vuFLhWwAAAU/ePLJcABBpbGVzIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwwAAABACBzdGFydCBoaW50IHJlcGxheSBhcyBzb29uIGFzIEZEIG5vdGlmaWVzIHRoYXQgdGhlIHRhcmdldCBpcyBiYWNrIHVwCiAgIChDQVNTQU5EUkEtMzk1OCkKICogYXZvaWQgdW5wcm9kdWN0aXZlIGRlc2VyaWFsaXppbmcgb2YgY2FjaGVkIHJvd3MgZHVyaW5nIGNvbXBhY3Rpb24KICAgKENBU1NBTkRSQS0zOTIxKQogKiBmaXggY29uY3VycmVuY3kgaXNzdWVzIHdpdGggQ1FMIGtleXNwYWNlIGNyZWF0aW9uIChDQVNTQU5EUkEtMzkwMykKICogU2hvdyD/+EEZAAABT948slwAEHRsaW5nIGZvciBpbnRlcm4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDAAAAEAZWQgYW4gZXJyb3IgCiAgIChDQVNTQU5EUkEtMTM3OCkKICogcmVuYW1lIFJhY2tBd2FyZVN0cmF0ZWd5IHRvIE9sZE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5LCBSYWNrVW5hd2FyZVN0cmF0ZWd5IAogICB0byBTaW1wbGVTdHJhdGVneSwgRGF0YWNlbnRlclNoYXJkU3RyYXRlZ3kgdG8gTmV0d29ya1RvcG9sb2d5U3RyYXRlZ3ksCiAgIEFic3RyYWN0UmFja0F3YXJlU25pdGNoIHRvIEFic3RyYWN0TmV0d29ya1RvcG9sb2d5U25pdGNoIChDQVNTQU5EUq1Kj7sAAAFP3jyyXAAQYmxlIHZlcmJzIHNob3VsZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsMAAAAQAgQWx3YXlzIHJlYWxsb2NhdGUgYnVmZmVycyBpbiBIU0hBIChDQVNTQU5EUkEtNjI4NSkKICogKEhhZG9vcCkgc3VwcG9ydCBhdXRoZW50aWNhdGlvbiBpbiBDcWxSZWNvcmRSZWFkZXIgKENBU1NBTkRSQS03MjIxKQogKiAoSGFkb29wKSBDbG9zZSBqYXZhIGRyaXZlciBDbHVzdGVyIGluIENRTFJSLmNsb3NlIChDQVNTQU5EUkEtNzIyOCkKICogV2FybiB3aGVuICdVU0lORyBUSU1FU1RBTVAnIGlzIHVzZWQgb24gYSBDQVMgQkFUQ0ggKENBU1NBTkRSxCy5gAAAAU/ePLJcABBudGljYXRpb24gd2l0aCB2AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwwAAABAGZmZXJlbnQgZGF0YSBzb3VyY2VzCiAgIChDQVNTQU5EUkEtMTQ1MCkKICogbWFrZSBmYWlsdXJlIHRvIHJlbW92ZSBjb21taXRsb2cgc2VnbWVudCBub24tZmF0YWwgKENBU1NBTkRSQS0xMzQ4KQogKiBjb3JyZWN0IG9yZGVyaW5nIG9mIGRyYWluIG9wZXJhdGlvbnMgc28gQ0wucmVjb3ZlciBpcyBubyBsb25nZXIgCiAgIG5lY2Vzc2FyeSAoQ0FTU0FORFJBLTE0MDgpCiAqIHJlbW92ZWQga2V5c3BhY2UgZnJvbSBkZXNjcmliZV9zcGxpdHMgbWV0aG++7iSqAAABT948slwAECB0eXBlcyB0byB0aGUga2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDAAAAEATG9nIHdoZW4gYSBub2RlIGlzIGRvd24gbG9uZ2VyIHRoYW4gdGhlIGhpbnQgd2luZG93IChDQVNTQU5EUkEtNDU1NCkKICogT3B0aW1pemUgdG9tYnN0b25lIGNyZWF0aW9uIGZvciBFeHBpcmluZ0NvbHVtbnMgKENBU1NBTkRSQS00OTE3KQogKiBJbXByb3ZlIExldmVsZWRTY2FubmVyIHdvcmsgZXN0aW1hdGlvbiAoQ0FTU0FORFJBLTUyNTAsIDU0MDcpCiAqIFJlcGxhY2UgY29tcGFjdGlvbiBsb2NrIHdpdGggcnVuV2l0aENvbXBhY3Rpb25zRGlzYZu9FFkAAAFP3jyyXAAQdCBzcGVjaWFsIGNhc2UgcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsMAAAAQBlU25pdGNoIHRvIEFic3RyYWN0TmV0d29ya1RvcG9sb2d5U25pdGNoIChDQVNTQU5EUkEtMTM5MikKICogbWVyZ2UgU3RvcmFnZVByb3h5Lm11dGF0ZSwgbXV0YXRlQmxvY2tpbmcgKENBU1NBTkRSQS0xMzk2KQogKiBmYXN0ZXIgVVVJRFR5cGUsIExvbmdUeXBlIGNvbXBhcmlzb25zIChDQVNTQU5EUkEtMTM4NiwgMTM5MykKICogZml4IHNldHRpbmcgcmVhZF9yZXBhaXJfY2hhbmNlIGZyb20gQ0xJIGFkZENvbHVtbkZhbWlseSAoQ0FTU0FORFJBLTEzdeh/8wAAAU/ePLJcABB0aGF0IGRvZXMgbm90IGV4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwwAAABAHNob3VsZCBpbmNsdWRlIGRhdGFjZW50ZXIvdG9wb2xvZ3kgaW5mb3JtYXRpb24gKENBU1NBTkRSQS0yODgyKQogKiBUaHJpZnQgc29ja2V0cyBhcmUgbm90IHByb3Blcmx5IGJ1ZmZlcmVkIChDQVNTQU5EUkEtMzI2MSkKICogcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQgZm9yIGJ5dGVidWZmZXJ1dGlsIGNvbXBhcmUgZnVuY3Rpb24gKENBU1NBTkRSQS0zMjg2KQogKiBhZGQgc3lzdGVtLnZlcnNpb25zIENvbHVtbkZhbWlseSAoQ0FTU0FORFJBLTMxNDDXwKrpAAABT948slwAEGluaXRpYWxpemF0aW9uIG8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDAAAAEANTcyKQogKiBJbmNsdWRlIGRlYWQgbm9kZXMgaW4gZ29zc2lwIHRvIGF2b2lkIGEgdmFyaWV0eSBvZiBwcm9ibGVtcwogICBhbmQgZml4IEhIIHRvIHJlbW92ZWQgbm9kZXMgKENBU1NBTkRSQS02MzQpCiAqIHJldHVybiBhbiBJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmb3IgbWFsLWZvcm1lZCBTbGljZVByZWRpY2F0ZXMKICAgKENBU1NBTkRSQS02NDMpCiAqIGZpeCBidWcgZGV0ZXJtaW5pbmcgY2xvc2VzdCBuZWlnaGJvciBmb3IgdXNlIGluIG11bLtOkfUAAAFP3jyyXAAQdGFpbmVkIGJ5IAogICB1cwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsMAAAAQBhdGVzIHdpdGggY29sbGVjdGlvbnMgKENBU1NBTkRSQS01MDE3KQogKiBEb24ndCBnZW5lcmF0ZSBVVUlEIGJhc2VkIG9uIG90aGVyIG5vZGUgYWRkcmVzcyAoQ0FTU0FORFJBLTUwMDIpCiAqIEZpeCBtZXNzYWdlIHdoZW4gdHJ5aW5nIHRvIGFsdGVyIGEgY2x1c3RlcmluZyBrZXkgdHlwZSAoQ0FTU0FORFJBLTUwMTIpCiAqIFVwZGF0ZSBJQXV0aGVudGljYXRvciB0byBtYXRjaCB0aGUgbmV3IElBdXRob3JpemVyIChDQVNTQU5EUkEtNTAwMykKICog/8SXEQAAAU/ePLJcABBBTkRSQS0yNTMwKQogKiBBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwwAAABAGRlZmF1bHQgaGVhcCB0aHJlc2hvbGRzIHRvIG1heChtaW4oMS8yIHJhbSwgMUcpLCBtaW4oMS80IHJhbSwgOEdCKSkKICAgKENBU1NBTkRSQS0zMjk1KQogKiBGaXggYnJva2VuIENvbXByZXNzZWRSYW5kb21BY2Nlc3NSZWFkZXJUZXN0IChDQVNTQU5EUkEtMzI5OCkKICogKENRTCkgZml4IHR5cGUgaW5mb3JtYXRpb24gcmV0dXJuZWQgZm9yIHdpbGRjYXJkIHF1ZXJpZXMgKENBU1NBTkRSQS0zMzExKQogKiBhZGQgZXN0aW1hdGVkIHRhc2tzIHRvIEycrdwvAAABT948slwAEG9yZGVyZWQgcGFydGl0aW8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDAAAAEAICogRmlsdGVyIGNhY2hlZCByZXN1bHRzIGNvcnJlY3RseSAoQ0FTU0FORFJBLTc2MzYpCiAqIEZpeCB0cmFjaW5nIG9uIHRoZSBuZXcgU0VQRXhlY3V0b3IgKENBU1NBTkRSQS03NjQ0KQogKiBSZW1vdmUgc2h1ZmZsZSBhbmQgdGFrZXRva2VuIChDQVNTQU5EUkEtNzYwMSkKICogQ2xlYW4gdXAgV2luZG93cyBiYXRjaCBzY3JpcHRzIChDQVNTQU5EUkEtNzYxOSkKICogRml4IG5hdGl2ZSBwcm90b2NvbCBkcm9wIHVzZXIgdHlwZSBub3RpZmljYXRpb3UdFxIAAAFP3jyyXAAQeCBzdHJlc3Mgc21hcnQgVAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsMAAAAQBkIGNhY2hlIGVudHJpZXMgYXJlIGVuY291bnRlcmVkCiAgIChDQVNTQU5EUkEtMjA3NikKICogYWRkIG1heF9oaW50X3dpbmRvd19pbl9tcyBvcHRpb24gKENBU1NBTkRSQS0xNDU5KQoKCjAuNy4wLWZpbmFsCiAqIGZpeCBvZmZzZXRzIHRvIEJ5dGVCdWZmZXIuZ2V0IChDQVNTQU5EUkEtMTkzOSkKCgowLjcuMC1yYzQKICogZml4IGNsaSBjcmFzaCBhZnRlciBiYWNrZ3JvdW5kaW5nIChDQVNTQU5EUkEtMTg3NSkKICogY291bnQgdGltZW91dHMgaW4gyTBQIQAAAU/ePLJcABBFUiBCWSB3aGVuIHVzaW5nAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwwAAABAGF0IHN0YXJ0dXAgKENBU1NBTkRSQS02OTA0KQogKiBDcmNDaGVja0NoYW5jZSBzaG91bGQgYWRqdXN0IGJhc2VkIG9uIGxpdmUgQ0ZNZXRhZGF0YSBub3QgCiAgIHNzdGFibGUgbWV0YWRhdGEgKENBU1NBTkRSQS03OTc4KQogKiB0b2tlbigpIHNob3VsZCBvbmx5IGFjY2VwdCBjb2x1bW5zIGluIHRoZSBwYXJ0aXRpb25pbmcKICAga2V5IG9yZGVyIChDQVNTQU5EUkEtNjA3NSkKICogQWRkIG1ldGhvZCB0byBpbnZhbGlkYXRlIHBlcm1pc3Npb24gY2EPUzX/AAABT948slwAEG5nIFBJRyAnZHVtcCcgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDAAAAEAZXMgY29tcGFyaXNvbiAoQ0FTU0FORFJBLTM0MzQpCiAqIEJ1bGsgbG9hZGVyIGlzIG5vIGxvbmdlciBhIGZhdCBjbGllbnQsIChIQURPT1ApIGJ1bGsgbG9hZCBvdXRwdXQgZm9ybWF0CiAgIChDQVNTQU5EUkEtMzA0NSkKICogKEhhZG9vcCkgYWRkIHN1cHBvcnQgZm9yIEtleVJhbmdlLmZpbHRlcgogKiByZW1vdmUgYXNzdW1wdGlvbiB0aGF0IGtleXMgYW5kIHRva2VuIGFyZSBpbiBiaWplY3Rpb24KICAgKENBU1NBTkRSQS0xMDM0LCAzNTc0LCAzNsP0pRgABOhTO2QWTQAAAU/ePLJcABBTQU5EUkEtMzM0MikKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwxAAABAHMgW2p2bS1vbmx5XSAoQ0FTU0FORFJBLTUzNSkKICogc3VwcG9ydCBtbWFwcGVkIEkvTyBmb3IgcmVhZHMsIG9uIGJ5IGRlZmF1bHQgb24gNjRiaXQgSlZNcyAKICAgKENBU1NBTkRSQS00MDgsIENBU1NBTkRSQS02NjkpCiAqIGltcHJvdmUgaW5zZXJ0IGNvbmN1cnJlbmN5LCBwYXJ0aWN1bGFybHkgZHVyaW5nIEhpbnRlZCBIYW5kb2ZmCiAgIChDQVNTQU5EUkEtNjU4KQogKiBmYXN0ZXIgbmV0d29yayBjb2RlIChDQVNTQU5EUkEtNjc1KQogKiBzdHJsTPzGAAABT948slwAECBtZXJnaW5nIHRocmVhZCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDEAAAEAZGV4IE5hbWUiIHByb2JsZW0gb24gQ0YgdXBkYXRlIChDQVNTQU5EUkEtNDQzOSkKICogRml4IGFzc2VydGlvbiBlcnJvciBpbiBnZXRPdmVybGFwcGluZ1NTVGFibGVzIGR1cmluZyByZXBhaXIgKENBU1NBTkRSQS00NDU2KQogKiBmaXggbm9kZXRvb2wncyBzZXRjb21wYWN0aW9udGhyZXNob2xkIGNvbW1hbmQgKENBU1NBTkRSQS00NDU1KQogKiBFbnN1cmUgY29tcGFjdGVkIGZpbGVzIGFyZSBuZXZlciB1c2VkLCB0byBhdm9pZCBjb3VudGVyIG92ZYkT/pkAAAFP3jyyXAAQRFJBLTI2NTIpCiAqIG1hcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsMQAAAQBEVENTIChDQVNTQU5EUkEtODM2MCkKICogamF2YS5sYW5nLkFzc2VydGlvbkVycm9yIHdoZW4gcmVhZGluZyBzYXZlZCBjYWNoZSAoQ0FTU0FORFJBLTg3NDApCiAqICJkaXNrIGZ1bGwiIHdoZW4gcnVubmluZyBjbGVhbnVwIChDQVNTQU5EUkEtOTAzNikKICogTG93ZXIgbG9nZ2luZyBsZXZlbCBmcm9tIEVSUk9SIHRvIERFQlVHIHdoZW4gYSBzY2hlZHVsZWQgc2NoZW1hIHB1bGwKICAgY2Fubm90IGJlIGNvbXBsZXRlZCBkdWUgdG8gYSBub2RlIGJl9RYR6gAAAU/ePLJcABBldGUgYmFkIHJlZmNvdW50AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwxAAABACBOUEUgd2hlbiBsaXN0aW5nIHNhdmVkIGNhY2hlcyBkaXIgKENBU1NBTkRSQS03NjMyKQoKCjIuMS4wLXJjNAogKiBGaXggd29yZCBjb3VudCBoYWRvb3AgZXhhbXBsZSAoQ0FTU0FORFJBLTcyMDApCiAqIFVwZGF0ZWQgbWVtdGFibGVfY2xlYW51cF90aHJlc2hvbGQgYW5kIG1lbXRhYmxlX2ZsdXNoX3dyaXRlcnMgZGVmYXVsdHMgCiAgIChDQVNTQU5EUkEtNzU1MSkKICogKFdpbmRvd3MpIGZpeCBzdGFydHVwIHdoZW4gV01JIG1lbW9yeSBxdWVyeSBlV/MMAAABT948slwAEHIgdGhyaWZ0IHRhYmxlIGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDEAAAEAQVNTQU5EUkEtNTg1NSkKCgoyLjAuMC1iZXRhMgogKiBSZXBsYWNlIGNvdW50UGVuZGluZ0hpbnRzIHdpdGggSGludHMgQ3JlYXRlZCBtZXRyaWMgKENBU1NBTkRSQS01NzQ2KQogKiBBbGxvdyBub2RldG9vbCB3aXRoIG5vIGFyZ3MsIGFuZCB3aXRoIGhlbHAgdG8gcnVuIHdpdGhvdXQgYSBzZXJ2ZXIgKENBU1NBTkRSQS01NzM0KQogKiBDbGVhbnVwIEFic3RyYWN0VHlwZS9UeXBlU2VyaWFsaXplciBjbGFzc2VzIChDQVNTQU5EUkEtNTc0NCkKICogUqDCjJQAAAFP3jyyXAAQaW9uIChDQVNTQU5EUkEtOAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsMQAAAQBlZFNlcXVlbnRpYWxXcml0ZXIgKENBU1NBTkRSQS04OTQ5KQogKiBNYWtlIFBhc3N3b3JkQXV0aGVudGljYXRvciBudW1iZXIgb2YgaGFzaGluZyByb3VuZHMgY29uZmlndXJhYmxlIChDQVNTQU5EUkEtODA4NSkKICogRml4IEFzc2VydGlvbkVycm9yIHdoZW4gYmluZGluZyBuZXN0ZWQgY29sbGVjdGlvbnMgaW4gREVMRVRFIChDQVNTQU5EUkEtODkwMCkKICogQ2hlY2sgZm9yIG92ZXJsYXAgd2l0aCBub24tZWFybHkgc3N0YWJsZXMgaW4gTENTIChD/4ni9wAAAU/ePLJcABBuZWFyIHN5bnRheCBlcnJvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwxAAABACBhZGRlZAogICBwZXJpb2RpY193aXRob3V0X2ZsdXNoIG9wdGlvbiB0byBkaXNhYmxlIHRoaXMgKENBU1NBTkRSQS0xNzgwKQogKiBjbG9zZSBmaWxlIGhhbmRsZSB1c2VkIGZvciBwb3N0LWZsdXNoIHRydW5jYXRlIChDQVNTQU5EUkEtMTc5MCkKICogdmFyaW91cyBjb2RlIGNsZWFudXAgKENBU1NBTkRSQS0xNzkzLCAtMTc5NCwgLTE3OTUpCiAqIGZpeCByYW5nZSBxdWVyaWVzIGFnYWluc3Qgd3JhcHBlZCByYW5nZSAoQ0FTU0FORFJBLTE3ODEpCiAaGxL4AAABT948slwAEGlvbiAoQ0FTU0FORFJBLTcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDEAAAEAbmNlIChDQVNTQU5EUkEtNTg4NCkKICogVXNlIGEgcmFuZ2UgYXdhcmUgc2Nhbm5lciBmb3IgY2xlYW51cCAoQ0FTU0FORFJBLTI1MjQpCiAqIENsZWFudXAgZG9lc24ndCBuZWVkIHRvIGluc3BlY3Qgc3N0YWJsZXMgdGhhdCBjb250YWluIG9ubHkgbG9jYWwgZGF0YQogICAoQ0FTU0FORFJBLTU3MjIpCiAqIEFkZCBhYmlsaXR5IGZvciBDUUwzIHRvIGxpc3QgcGFydGl0aW9uIGtleXMgKENBU1NBTkRSQS00NTM2KQogKiBJbXByb3ZlIG5hdGl2ZSBwcgIKowEAAAFP3jyyXAAQMzQyMikKICogdHVybiBvZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsMQAAAQAgcmVzdWx0cyB0byBUaHJpZnQgCiAgIChDQVNTQU5EUkEtNjQ3LCBDQVNTQU5EUkEtNjQ5KQogKiBleHBvc2UgamF2YS51dGlsLmNvbmN1cnJlbnQuVGltZW91dEV4Y2VwdGlvbiBpbiBTdG9yYWdlUHJveHkgbWV0aG9kcwogICAoQ0FTU0FORFJBLTYwMCkKICogVGNwQ29ubmVjdGlvbk1hbmFnZXIgd2FzIGhvbGRpbmcgb24gdG8gZGlzY29ubmVjdGVkIGNvbm5lY3Rpb25zLCAKICAgZ2l2aW5nIHRoZSBmYWxzZSBpbmRpY2F0aW9uIHRoZXkgd2VyZSBi6cdhggAAAU/ePLJcABAgYmFkIHJlZmNvdW50aW5nAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwxAAABAEEtNDkxMykKICogc2F2ZSB0cnVuY2F0aW9uIHBvc2l0aW9uIGluIHN5c3RlbSB0YWJsZSAoQ0FTU0FORFJBLTQ5MDYpCiAqIE1vdmUgQ29tcHJlc3Npb25NZXRhZGF0YSBvZmYtaGVhcCAoQ0FTU0FORFJBLTQ5MzcpCiAqIGFsbG93IENMSSB0byBHRVQgY3FsMyBjb2x1bW5mYW1pbHkgZGF0YSAoQ0FTU0FORFJBLTQ5MjQpCiAqIEZpeCByYXJlIHJhY2UgY29uZGl0aW9uIGluIGdldEV4cGlyZVRpbWVGb3JFbmRwb2ludCAoQ0FTU0FORFJBLTQ0MDIpCiBEi6BeAAABT948slwAEGxpdmUgc3ViY29sdW1ucyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDEAAAEAbGxvdyBjb3VudGVyIG11dGF0aW9ucyBpbiBVTkxPR0dFRCBiYXRjaGVzIChDQVNTQU5EUkEtNzM1MSkKICogTW9kaWZ5IHJlY29uY2lsZSBsb2dpYyB0byBhbHdheXMgcGljayBhIHRvbWJzdG9uZSBvdmVyIGEgY291bnRlciBjZWxsCiAgIChDQVNTQU5EUkEtNzM0NikKICogQXZvaWQgaW5jcmVtZW50YWwgY29tcGFjdGlvbiBvbiBXaW5kb3dzIChDQVNTQU5EUkEtNzM2NSkKICogRml4IGV4Y2VwdGlvbiB3aGVuIHF1ZXJ5aW5nIGEgY29tcG9zaXRlLcan3tMAAAFP3jyyXAAQZmUgKENBU1NBTkRSQS0zMQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsMQAAAQByb20gUm93V2FybmluZ1RocmVzaG9sZEluTUIgaW5zdGVhZCBvZiBhbiBpbnQgKENBU1NBTkRSQS04ODIpCiAqIFJlbW92ZSBvYnNvbGV0ZSBDb250cm9sUG9ydCBjb2RlIGZyb20gRGF0YWJhc2VEZXNjcmlwdG9yIChDQVNTQU5EUkEtODg2KQogKiBtb3ZlIHNraXBCeXRlcyBzaWRlIGVmZmVjdCBvdXQgb2YgYXNzZXJ0IChDQVNTQU5EUkEtODk5KQogKiBhZGQgImRvdWJsZSBnZXRMb2FkIiB0byBTdG9yYWdlU2VydmljZU1CZWFuIChDQVNTQU5EUkEt4kZg7QAAAU/ePLJcABBxc2hyYyBwYXNzd29yZHMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCwxAAABACB3aGV0aGVyIGpuYSBpcyBlbmFibGVkIGFuZCBtZW1vcnkgaXMgbG9ja2VkIHZpYSBKTVggKENBU1NBTkRSQS01NTA4KQogKiBjcWxzaDogZml4IENPUFkgRlJPTSB3aXRoIFJldmVyc2VkVHlwZSAoQ0FTU0FORFJBLTU2MTApCiAqIEFsbG93IGNyZWF0aW5nIENVU1RPTSBpbmRleGVzIG9uIGNvbGxlY3Rpb25zIChDQVNTQU5EUkEtNTYxNSkKICogRXZhbHVhdGUgbm93KCkgZnVuY3Rpb24gYXQgZXhlY3V0aW9uIHRpbWUgKENBU1NBTkRSQS01NjE2KQqJf4yWAAABT948slwAEHB0aW9uCiAqIGluY2x1ZGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDIAAAEAc2luZyBmaWVsZHMgaW4gQ0xJIGBzaG93IHNjaGVtYWAgb3V0cHV0IChDQVNTQU5EUkEtMzMwNCkKICogTm9kZXRvb2wgbm8gbG9uZ2VyIGxlYWtzIHRocmVhZHMgYW5kIGNsb3NlcyBKTVggY29ubmVjdGlvbnMgKENBU1NBTkRSQS0zMzA5KQogKiBmaXggdHJ1bmNhdGUgYWxsb3dpbmcgZGF0YSB0byBiZSByZXBsYXllZCBwb3N0LXJlc3RhcnQgKENBU1NBTkRSQS0zMjk3KQogKiBNb3ZlIFNpbXBsZUF1dGhvcml0eSBhbmQgU2ltcGxlQXV0aGVudGljYcs643YAAAFP3jyyXAAQIHNzdGFibGVsb2FkZXIgcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsMgAAAQAtMTIyMAogKiByZW1vdmUgbWVzc2FnZSBkZXNlcmlhbGl6YXRpb24gc3RhZ2UsIGFuZCB1bmNhcCByZWFkL3dyaXRlIHN0YWdlcwogICBzbyBzbG93IHJlYWRzL3dyaXRlcyBkb24ndCBibG9jayBnb3NzaXAgcHJvY2Vzc2luZyAoQ0FTU0FORFJBLTEzNTgpCiAqIGFkZCBqbXggcG9ydCBjb25maWd1cmF0aW9uIHRvIERlYmlhbiBwYWNrYWdlIChDQVNTQU5EUkEtMTIwMikKICogdXNlIG1sb2NrYWxsIHZpYSBKTkEsIGlmIHByZXNlbnQsIHRvIHByZXZl5WY6BAAE/LChaq4SAAABT948slwAECBhcyBzdHJpbmcgZnJvbSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDQAAAEARFJBLTM5MDQpCiAqIEJ1bGtSZWNvcmRXcml0ZXIgdGhyb3dzIE5QRSBmb3IgY291bnRlciBjb2x1bW5zIChDQVNTQU5EUkEtMzkwNikKICogU3VwcG9ydCBjb21wcmVzc2lvbiB1c2luZyBCdWxrV3JpdGVyIChDQVNTQU5EUkEtMzkwNykKCgoxLjAuOAogKiBmaXggcmFjZSBiZXR3ZWVuIGNsZWFudXAgYW5kIGZsdXNoIG9uIHNlY29uZGFyeSBpbmRleCBDRlNlcyAoQ0FTU0FORFJBLTM3MTIpCiAqIGF2b2lkIGluY2x1ZGluZyBub24tcXVlcmllZCBub3gvYMMAAAFP3jyyXAAQaGUgY2FzZSB3aGVyZQogIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsNQAAAQBzYW5kcmEgY29uZmlnIGZvciBub2RldG9vbCByaW5nIChDQVNTQU5EUkEtNzUwOCkKICogKGNxbHNoKSBGaXggZmFpbGluZyBjcWxzaCBmb3JtYXR0aW5nIHRlc3RzIChDQVNTQU5EUkEtNzcwMykKICogRml4IEluY29tcGF0aWJsZUNsYXNzQ2hhbmdlRXJyb3IgZnJvbSBoYWRvb3AyIChDQVNTQU5EUkEtNzIyOSkKICogQWRkICdub2RldG9vbCBzZXRoaW50ZWRoYW5kb2ZmdGhyb3R0bGVrYicgKENBU1NBTkRSQS03NjM1KQogKiAoY3Fsc2gpIEFkZCB0ehewYQAAAU/ePLJcABBzdCByZWNlbnQgdmFsdWVzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw1AAABACwgZXNwZWNpYWxseSBjb21tb24gb24gT1MgWCAoQ0FTU0FORFJBLTk0NCkKICogY29udmVydCB0byBieXRlW10ga2V5cyBpbnRlcm5hbGx5IGFuZCBhbGwgcHVibGljIEFQSXMgKENBU1NBTkRSQS03NjcpCiAqIGFiaWxpdHkgdG8gYWx0ZXIgc2NoZW1hIGRlZmluaXRpb25zIG9uIGEgbGl2ZSBjbHVzdGVyIChDQVNTQU5EUkEtNDQpCiAqIHJlbmFtZWQgY29uZmlndXJhdGlvbiBmaWxlIHRvIGNhc3NhbmRyYS54bWwsIGFuZCBsb2c0ai5wcm9wZXJ0aWUNlyZeAAABT948slwAEGFjZSB0aGUgZGVwcmVjYXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDUAAAEAQS0zMzU3KQogKiBPbmx5IGNvdW50IGNvbXBhY3Rpb24gYXMgYWN0aXZlIChmb3IgdGhyb3R0bGluZykgd2hlbiB0aGV5IGhhdmUKICAgc3VjY2Vzc2Z1bGx5IGFjcXVpcmVkIHRoZSBjb21wYWN0aW9uIGxvY2sgKENBU1NBTkRSQS0zMzQ0KQogKiBEaXNwbGF5IENMSSB2ZXJzaW9uIHN0cmluZyBvbiBzdGFydHVwIChDQVNTQU5EUkEtMzE5NikKICogKEhhZG9vcCkgbWFrZSBDRklGIHRyeSBycGNfYWRkcmVzcyBvciBmYWxsYmFjayB0byBsaXN0ZW5fYfjdpwAAAAFP3jyyXAAQRFJBLTQ5MzcpCiAqIEltcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsNQAAAQBNYWtlIHN1cmUgcmVwYWlyIG9ubHkgc3RyZWFtIG5lZWRlZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTMzNDUpCgoKMS4wLjAtcmMyCiAqIExvZyBhIG1lYW5pbmdmdWwgd2FybmluZyB3aGVuIGEgbm9kZSByZWNlaXZlcyBhIG1lc3NhZ2UgZm9yIGEgcmVwYWlyIHNlc3Npb24KICAgdGhhdCBkb2Vzbid0IGV4aXN0IGFueW1vcmUgKENBU1NBTkRSQS0zMjU2KQogKiB0ZXN0IGZvciBOVU1BIHBvbGljeSBzdXBwb3J0IGFzIHdlbGwgYXMgbnVtYWN0bCBwcmVzeJAvIQAAAU/ePLJcABB0YWRhdGEvc3RhdGlzdGljAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw2AAABAAogKiBGaXggcG90ZW50aWFsIGV4Y2VwdGlvbiB3aGVuIHVzaW5nIFJldmVyc2VkVHlwZSBpbiBEeW5hbWljQ29tcG9zaXRlVHlwZQogICAoQ0FTU0FORFJBLTc4OTgpCiAqIEJldHRlciB2YWxpZGF0aW9uIG9mIGNvbGxlY3Rpb24gdmFsdWVzIChDQVNTQU5EUkEtNzgzMykKICogVHJhY2sgbWluL21heCB0aW1lc3RhbXBzIGNvcnJlY3RseSAoQ0FTU0FORFJBLTc5NjkpCiAqIEZpeCBwb3NzaWJsZSBvdmVyZmxvdyB3aGlsZSBzb3J0aW5nIENMIHNlZ21ud6t0AAABT948slwAEHMgKENBU1NBTkRSQS03MzMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDYAAAEAd2l0aCByZXZlcnNlIHF1ZXJpZXMgKENBU1NBTkRSQS01NzEyKQogKiBFeHBpcmUgZW50cmllcyBvdXQgb2YgVGhyaWZ0U2Vzc2lvbk1hbmFnZXIgKENBU1NBTlJEQS01NzE5KQogKiBEb24ndCBrZWVwIGFuY2VzdG9yIGluZm9ybWF0aW9uIGluIG1lbW9yeSAoQ0FTU0FORFJBLTUzNDIpCiAqIGNxbHNoOiBmaXggaGFuZGxpbmcgb2Ygc2VtaWNvbG9ucyBpbnNpZGUgQkFUQ0ggcXVlcmllcyAoQ0FTU0FORFJBLTU2OTcpCgoKMS4yLjYKICogRml4IHRyYS5BrvwAAAFP3jyyXAAQdW5jdGlvbiBicm9rZW4gaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsNgAAAQBpbmcgaGludGVkIGhhbmRvZmYgKENBU1NBTkRSQS0zNjk0KQogKiBVcGdyYWRlIFRocmlmdCB0byAwLjcgKENBU1NBTkRSQS0zMjEzKQogKiBNYWtlIHN0cmVzcy5qYXZhIGluc2VydCBvcGVyYXRpb24gdG8gdXNlIG1pY3Jvc2Vjb25kcyAoQ0FTU0FORFJBLTM3MjUpCiAqIEFsbG93cyAoaW50ZXJuYWxseSkgZG9pbmcgYSByYW5nZSBxdWVyeSB3aXRoIGEgbGltaXQgb2YgY29sdW1ucyBpbnN0ZWFkIG9mCiAgIHJvd3MgKENBU1NBTkRSQS0zNzQyKQogxlJdGQAAAU/ePLJcABAgbm90aWZpY2F0aW9uIHRoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw2AAABAG4gY29tbW9uIChDQVNTQU5EUkEtMTY3NCkKICogaW5kZXggc2NhbiB0cmVhdHMgbWlzc2luZyBjb2x1bW5zIGFzIG5vdCBtYXRjaGluZyBzZWNvbmRhcnkKICAgZXhwcmVzc2lvbnMgKENBU1NBTkRSQS0xNzQ1KQogKiBGaXggbWlzdXNlIG9mIERhdGFPdXRwdXRCdWZmZXIuZ2V0RGF0YSBpbiBBbnRpRW50cm9weVNlcnZpY2UKICAgKENBU1NBTkRSQS0xNzI5KQogKiBkZXRlY3QgYW5kIHdhcm4gd2hlbiBvYnNvbGV0ZSB2ZXJzaW9uIG9mIEpOQSBpcyC3Sl+FAAABT948slwAECAqIHVzZSBuYW5vdGltZSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDYAAAEAQ0FTU0FORFJBLTM1NzcsIDM1ODUpCiAqIGRldGVjdCBtaXN1c2VzIG9mIENvdW50ZXJDb2x1bW5UeXBlIChDQVNTQU5EUkEtMzQyMikKICogdHVybiBvZmYgc3RyaW5nIGludGVybmluZyBpbiBqc29uMnNzdGFibGUsIHRha2UgMiAoQ0FTU0FORFJBLTIxODkpCiAqIHZhbGlkYXRlIGNvbXByZXNzaW9uIHBhcmFtZXRlcnMgb24gYWRkL3VwZGF0ZSBvZiB0aGUgQ29sdW1uRmFtaWx5IAogICAoQ0FTU0FORFJBLTM1NzMpCiAqIENoZWNrIGZvciAwLjAuMNU++FsAAAFP3jyyXAAQKENBU1NBTkRSQS04MDg1KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsNgAAAQBvd24gSlZNIG9uIGZpbGUgZGVzY3JpcHRvciBleGhhdXN0aW9uIChDQVNTQU5EUkEtNzU3OSkKICogQWRkICdkaWUnIHBvbGljeSBmb3IgY29tbWl0IGxvZyBhbmQgZGlzayBmYWlsdXJlIChDQVNTQU5EUkEtNzkyNykKICogRml4IGluc3RhbGxpbmcgYXMgc2VydmljZSBvbiBXaW5kb3dzIChDQVNTQU5EUkEtODExNSkKICogRml4IENSRUFURSBUQUJMRSBmb3IgQ1FMMiAoQ0FTU0FORFJBLTgxNDQpCiAqIEF2b2lkIGJveGluZyBpbiBDb2x1bW5TdGF0CgVARwAAAU/ePLJcABBBU1NBTkRSQS0zODY3KQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw2AAABACBrZXkgdHlwZSBpbmZvcm1hdGlvbiBhbmQgYWxpYXMgKENBU1NBTkRSQS0yMzExLCAyMzk2KQogKiBjbGkgbm8gbG9uZ2VyIGRpdmlkZXMgcmVhZF9yZXBhaXJfY2hhbmNlIGJ5IDEwMCAoQ0FTU0FORFJBLTI0NTgpCiAqIG1hZGUgQ29tcGFjdGlvbkluZm8uZ2V0VGFza1R5cGUgcmV0dXJuIGFuIGVudW0gKENBU1NBTkRSQS0yNDgyKQogKiBhZGQgYSBzZXJ2ZXItd2lkZSBjYXAgb24gbWVhc3VyZWQgbWVtdGFibGUgbWVtb3J5IHVzYWdlIGFuZCBhZ2chvDv1AAABT948slwAEChDQVNTQU5EUkEtNTU2NykAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDYAAAEAIHRvIHVzZSBuZXcgdHlwZSBuYW1lIChDQVNTQU5EUkEtMTQzMykKICogY29ycmVjdCBmaWxlbmFtZSBnZW5lcmF0ZWQgYnkgeG1sLT55YW1sIGNvbnZlcnRlciAoQ0FTU0FORFJBLTE0MTkpCiAqIGFkZCBDTVNJbml0aWF0aW5nT2NjdXBhbmN5RnJhY3Rpb249NzUgYW5kIFVzZUNNU0luaXRpYXRpbmdPY2N1cGFuY3lPbmx5CiAgIHRvIGRlZmF1bHQgSlZNIG9wdGlvbnMKICogZGVjcmVhc2UganZtIGhlYXAgZm9yIGNhc3NhbmRyYS1jbGkgKENBU1NBTtKl2agAAAFP3jyyXAAQRFJBLTcyODcpCiAqIEFsbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsNgAAAQBtcGxlIChDQVNTQU5EUkEtMjkxNykKICogRml4IHN0cmVhbWluZyB0b28gbXVjaCBkYXRhIGR1cmluZyBtb3ZlIG9wZXJhdGlvbnMgKENBU1NBTkRSQS0zNjM5KQogKiBOb2RldG9vbCBhbmQgQ0xJIGNvbm5lY3QgdG8gbG9jYWxob3N0IGJ5IGRlZmF1bHQgKENBU1NBTkRSQS0zNTY4KQogKiBSZWR1Y2UgbWVtb3J5IHVzZWQgYnkgcHJpbWFyeSBpbmRleCBzYW1wbGUgKENBU1NBTkRSQS0zNzQzKQogKiAoSGFkb29wKSBzZXBhcmF0ZSBpbnB1dC9vdXRwWUcMHAAAAU/ePLJcABBub2RlcyBpbiBoaWJlcm5hAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw2AAABAHRpbWVvdXQgaW4gdGhlIGNvb3JkaW5hdG9yCiAgIChDQVNTQU5EUkEtODY0KQogKiBSZW1vdmUgQ2FsbG91dExvY2F0aW9uIGFuZCBTdGFnaW5nRmlsZURpcmVjdG9yeSBmcm9tIHN0b3JhZ2UtY29uZiBmaWxlcyAKICAgc2luY2UgdGhvc2Ugc2V0dGluZ3MgYXJlIG5vIGxvbmdlciB1c2VkIChDQVNTQU5EUkEtODc4KQogKiBQYXJzZSBhIGxvbmcgZnJvbSBSb3dXYXJuaW5nVGhyZXNob2xkSW5NQiBpbnN0ZWFkIG9mIGFuIGludCAoQ0FTU0FORFJBLThzwW0bAAURDbbHyoUAAAFP3jyyXAAQc2lzdGVudCBsZXZlbGVkIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsNwAAAQAgU1NUYWJsZVJld3JpdGVyIHByb3Blcmx5IChDQVNTQU5EUkEtODMyMCkKICogRml4IGhpZ2ggc2l6ZSBjYWxjdWxhdGlvbnMgZm9yIHByZXBhcmVkIHN0YXRlbWVudHMgKENBU1NBTkRSQS04MjMxKQogKiBDZW50cmFsaXplIHNoYXJlZCBleGVjdXRvcnMgKENBU1NBTkRSQS04MDU1KQogKiBGaXggZmlsdGVyaW5nIGZvciBDT05UQUlOUyAoS0VZKSByZWxhdGlvbnMgb24gZnJvemVuIGNvbGxlY3Rpb24KICAgY2x1c3RlcmluZyBjb2x1bW5zIHdoZW4gTMtedAAAAU/ePLJcABBhbmdlcyBkdWUgdG8gbm9kAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw3AAABAGVydHlGaWxlU25pdGNoIGluIGJ1bGsgbG9hZGVyIChDQVNTQU5EUkEtNDE0NSkKICogYWRkIGF1dG9fc25hcHNob3Qgb3B0aW9uIGFsbG93aW5nIGRpc2FibGluZyBzbmFwc2hvdCBiZWZvcmUgZHJvcC90cnVuY2F0ZQogICAoQ0FTU0FORFJBLTM3MTApCiAqIGFsbG93IHNob3J0IHNuaXRjaCBuYW1lcyAoQ0FTU0FORFJBLTQxMzApCgoKMS4xLWJldGEyCiAqIHJlbmFtZSBsb2FkZWQgc3N0YWJsZXMgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGggbG9jYWxhSARnAAABT948slwAECkKICogSW1wcm92ZSBmb3IAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDcAAAEAIChDQVNTQU5EUkEtMTc3NykKICogaW5jbHVkZSBmaWxlcy10by1iZS1zdHJlYW1lZCBpbiBTdHJlYW1JblNlc3Npb24uZ2V0U291cmNlcyAoQ0FTU0FORFJBLTI5NzIpCiAqIHVzZSBKQVZBIGVudiB2YXIgaW4gY2Fzc2FuZHJhLWVudi5zaCAoQ0FTU0FORFJBLTI3ODUsIDI5OTIpCiAqIGF2b2lkIGRvaW5nIHJlYWQgZm9yIG5vLW9wIHJlcGxpY2F0ZS1vbi13cml0ZSBhdCBDTD0xIChDQVNTQU5EUkEtMjg5MikKICogcmVmdXNlIGNvdW50ZXIgd3JpdJtPKtYAAAFP3jyyXAAQIHRvIHJlc3RyaWN0CiAgIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsNwAAAQBXaW5kb3dzKSBmaXggc3RhcnR1cCB3aGVuIFdNSSBtZW1vcnkgcXVlcnkgZmFpbHMgKENBU1NBTkRSQS03NTA1KQogKiBBbnRpLWNvbXBhY3Rpb24gcHJvY2VlZHMgaWYgYW55IHBhcnQgb2YgdGhlIHJlcGFpciBmYWlsZWQgKENBU0FORFJBLTc1MjEpCiAqIEFkZCBtaXNzaW5nIHRhYmxlIG5hbWUgdG8gRFJPUCBJTkRFWCByZXNwb25zZXMgYW5kIG5vdGlmaWNhdGlvbnMgKENBU1NBTkRSQS03NTM5KQogKiBCdW1wIENRTCB2ZXJzaW9uIHRvIDMuMi4wySCoqwAAAU/ePLJcABBlIHJlbWFpbmluZyB2ZXN0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw3AAABAGNlIChDQVNTQU5EUkEtNTA3OCkKICogRml4IE5QRSBpZiBTdG9yYWdlU2VydmljZS5nZXRPcGVyYXRpb25Nb2RlKCkgaXMgZXhlY3V0ZWQgYmVmb3JlIGZ1bGwgc3RhcnR1cCAoQ0FTU0FORFJBLTYxNjYpCiAqIENRTDM6IHN1cHBvcnQgcHJlLWVwb2NoIGxvbmdzIGZvciBUaW1lc3RhbXBUeXBlIChDQVNTQU5EUkEtNjIxMikKICogQWRkIHJlbG9hZHRyaWdnZXJzIGNvbW1hbmQgdG8gbm9kZXRvb2wgKENBU1NBTkRSQS00OTQ5KQogKiBjcWxzaDogaWeIHYAWAAABT948slwAECogQWxsb3cgb3ZlcnJpZGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDcAAAEAIHdyaXRlcyBmb3IgQ0wuQU5ZIChDQVNTQU5EUkEtNTk2NykKICogVXBncmFkZSBtZXRyaWNzLWNvcmUgdG8gdmVyc2lvbiAyLjIuMCAoQ0FTU0FORFJBLTU5NDcpCiAqIEZpeCBDcWxSZWNvcmRXcml0ZXIgd2l0aCBjb21wb3NpdGUga2V5cyAoQ0FTU0FORFJBLTU5NDkpCiAqIEFkZCBzbml0Y2gsIHNjaGVtYSB2ZXJzaW9uLCBjbHVzdGVyLCBwYXJ0aXRpb25lciB0byBKTVggKENBU1NBTkRSQS01ODgxKQogKiBBbGxvdyBkaXNhYmxpbmcgU2xhYkFsbIPd+hMAAAFP3jyyXAAQLTc3MTEpCiAqIEJldHRlcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsNwAAAQBwbGV0ZWQgY291bnRzIChDQVNTQU5EUkEtMTUzMykKICogZml4IHJhY2UgY29uZGl0aW9uIHByb2Nlc3NpbmcgcmVwYWlyIHJlc3BvbnNlcyAoQ0FTU0FORFJBLTE1MTEpCiAqIG1ha2UgcmVwYWlyIGJsb2NraW5nIChDQVNTQU5EUkEtMTUxMSkKICogY3JlYXRlIEVuZHBvaW50U25pdGNoSW5mbyBhbmQgTUJlYW4gdG8gZXhwb3NlIHJhY2sgYW5kIERDIChDQVNTQU5EUkEtMTQ5MSkKICogYWRkZWQgb3B0aW9uIHRvIGNvbnRyaWIvd29yZF9jb3VudCB07QPkUgAAAU/ePLJcABBseSBpbmZsYXRlIGxpdmVSAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw3AAABAAogKiBJbmNsdWRlIHR5cGUgYXJndW1lbnRzIGluIFRocmlmdCBDUUxQcmVwYXJlZFJlc3VsdCAoQ0FTU0FORFJBLTUzMTEpCiAqIEZpeCBjb21wYWN0aW9uIG5vdCByZW1vdmluZyBjb2x1bW5zIHdoZW4gYmZfZnBfcmF0aW8gaXMgMSAoQ0FTU0FORFJBLTUxODIpCiAqIGNsaTogV2FybiBhYm91dCBtaXNzaW5nIENRTDMgdGFibGVzIGluIHNjaGVtYSBkZXNjcmlwdGlvbnMgKENBU1NBTkRSQS01MzA5KQogKiBSZS1lbmFibGUgdW5rbm93biBvcHRpb246KeCfAAABT948slwAEHRlYWQgb2YgCiAgIGxpc3QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDcAAAEAIChDQVNTQU5EUkEtMzQ2MCkKICogYWRkIGF1dGhlbnRpY2F0aW9uIHN1cHBvcnQgdG8gc3N0YWJsZWxvYWRlciAoQ0FTU0FORFJBLTQ3MTIpCiAqIEZpeCBDUUwzICdpcyByZXZlcnNlZCcgbG9naWMgKENBU1NBTkRSQS00NzE2LCA0NzU5KQogKiAoQ1FMMykgRG9uJ3QgcmV0dXJuIFJldmVyc2VkVHlwZSBpbiByZXN1bHQgc2V0IG1ldGFkYXRhIChDQVNTQU5EUkEtNDcxNykKICogQmFja3BvcnQgYWRkaW5nIEFsdGVyS2V5c3BhY2Ugc3RhdGVtZW50IOtjInoAAAFP3jyyXAAQbHRzIHRvIGJ5dGVzdHlwZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsNwAAAQBkcm9wcGVkIChDQVNTQU5EUkEtMTg0MykKICogbWFrZSBCeXRlQnVmZmVyVXRpbC5jbG9uZSB0aHJlYWQtc2FmZSAoQ0FTU0FORFJBLTE4NDcpCiAqIGNoYW5nZSBleGNlcHRpb24gZm9yIHJlYWQgcmVxdWVzdHMgZHVyaW5nIGJvb3RzdHJhcCBmcm9tIAogICBJbnZhbGlkUmVxdWVzdCB0byBVbmF2YWlsYWJsZSAoQ0FTU0FORFJBLTE4NjIpCiAqIHJlc3BlY3Qgcm93LWxldmVsIHRvbWJzdG9uZXMgcG9zdC1mbHVzaCBpbiByYW5nZSBzY2FucwogICAo6myOEQAAAU/ePLJcABB0YWtlIHRvbyBsb25nIHRvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw3AAABAHJlIHRoYXQgc3VibWl0QmFja2dyb3VuZCBlbnF1ZXVlcyBhdCBsZWFzdCBvbmUgdGFzayAoQ0FTU0FORFJBLTU1NTQpCiAqIGZpeCAyaSB1cGRhdGVzIHdpdGggaWRlbnRpY2FsIHZhbHVlcyBhbmQgdGltZXN0YW1wcyAoQ0FTU0FORFJBLTU1NDApCiAqIGZpeCBjb21wYWN0aW9uIHRocm90dGxpbmcgYnVyc3R5LW5lc3MgKENBU1NBTkRSQS00MzE2KQogKiByZWR1Y2UgbWVtb3J5IGNvbnN1bXB0aW9uIG9mIEluZGV4U3VtbWFyeSAoQ0FTU0FORFJBLTX9uaK7AAABT948slwAEC01Mzc2KQogKiBDb3B5IHIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDcAAAEAYWJsZWQgYW5kIGRyb3BwZWQgQ0YgaXMgcHJlc2VudAogICBpbiBhIGNvbW1pdGxvZyBzZWdtZW50IChDQVNTQU5EUkEtMzAyMSkKICogZml4IGNhc3NhbmRyYS5iYXQgd2hlbiBDQVNTQU5EUkFfSE9NRSBjb250YWlucyBzcGFjZXMgKENBU1NBTkRSQS0yOTUyKQogKiBmaXggdG8gU1NUYWJsZVNpbXBsZVVuc29ydGVkV3JpdGVyIGJ1ZmZlclNpemUgY2FsY3VsYXRpb24gKENBU1NBTkRSQS0zMDI3KQogKiBtYWtlIGNsZWFudXAgYW5kIG5vcm1hbCBjbw9C6MUAAAFP3jyyXAAQLjIuMgogKiBmaXggcG90ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsNwAAAQBhdGVzIGF0b21pY2FsbHkgKENBU1NBTkRSQS02MTI1KQogKiBMb2cgZXhjZXB0aW9ucyByZWxhdGVkIHRvIHVuY2xlYW4gbmF0aXZlIHByb3RvY29sIGNsaWVudCBkaXNjb25uZWN0cwogICBhdCBERUJVRyBvciBJTkZPIChDQVNTQU5EUkEtNzg0OSkKICogQWxsb3cgcGVybWlzc2lvbnMgY2FjaGUgdG8gYmUgc2V0IHZpYSBKTVggKENBU1NBTkRSQS03Njk4KQogKiBJbmNsdWRlIHNjaGVtYV90cmlnZ2VycyBDRiBpbiByZWFkYWJsZSBzeXN0ZW0gcmVzBl9VjQAAAU/ePLJcABBBU1NBTkRSQS03MTMxKQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw3AAABAGxlbmd0aCB0byBhdm9pZAogICAzIHN5c3RlbSBjYWxscyBwZXIgaW52b2NhdGlvbiAoQ0FTU0FORFJBLTk1MCkKICogbm9kZXMgd2l0aCBJUHY2IChhbmQgbm8gSVB2NCkgYWRkcmVzc2VzIGNvdWxkIG5vdCBqb2luIGNsdXN0ZXIKICAgKENBU1NBTkRSQS05NjkpCiAqIFJldHJpZXZlIHRoZSBjb3JyZWN0IG51bWJlciBvZiB1bmRlbGV0ZWQgY29sdW1ucywgaWYgYW55LCBmcm9tCiAgIGEgc3VwZXJjb2x1bW4gaW4gYSByb3cgdGhhdCBoYWQgYmVlbiCIkmSUAAABT948slwAEERDIGFuZCByYWNrIG9mIGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDcAAAEAYXNzYW5kcmEtZW52LnNoIChDQVNTQU5EUkEtMjc4NSwgMjk5MikKICogYXZvaWQgZG9pbmcgcmVhZCBmb3Igbm8tb3AgcmVwbGljYXRlLW9uLXdyaXRlIGF0IENMPTEgKENBU1NBTkRSQS0yODkyKQogKiByZWZ1c2UgY291bnRlciB3cml0ZSBmb3IgQ0wuQU5ZIChDQVNTQU5EUkEtMjk5MCkKICogc3dpdGNoIGJhY2sgdG8gb25seSBsb2dnaW5nIHJlY2VudCBkcm9wcGVkIG1lc3NhZ2VzIChDQVNTQU5EUkEtMzAwNCkKICogYWx3YXlzIGRlc2VyaWFsacuJS5UABSVq6QXiIgAAAU/ePLJcABAgKiBNYWtlIGRpc3J1cHRvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw5AAABAFJBLTMyOTkpCiAqIGF2b2lkIHRydW5jYXRpb24gZXJyb3JzIGJ5IHVzaW5nIGxvbmcgbWF0aCBvbiBsb25nIHZhbHVlcyAoQ0FTU0FORFJBLTMzNjQpCiAqIGF2b2lkIGNsb2NrIGRyaWZ0IG9uIHNvbWUgV2luZG93cyBtYWNoaW5lIChDQVNTQU5EUkEtMzM3NSkKICogZGlzcGxheSBjYWNoZSBwcm92aWRlciBpbiBjbGkgJ2Rlc2NyaWJlIGtleXNwYWNlJyBjb21tYW5kIChDQVNTQU5EUkEtMzM4NCkKICogZml4IGluY29tcGxldGUgdG9wb2xvZ3kgaW6t6qOzAAABT948slwAEHJhbmdlIHF1ZXJ5IHBlcmYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDkAAAEAIENRTC1hd2FyZSBTU1RhYmxlV3JpdGVyIChDQVNTQU5EUkEtNTg5NCkKICogUmVqZWN0IENBUyBvcGVyYXRpb24gd2hlbiB0aGUgcHJvdG9jb2wgdjEgaXMgdXNlZCAoQ0FTU0FORFJBLTYyNzApCiAqIENvcnJlY3RseSB0aHJvdyBlcnJvciB3aGVuIGZyYW1lIHRvbyBsYXJnZSAoQ0FTU0FORFJBLTU5ODEpCiAqIEZpeCBzZXJpYWxpemF0aW9uIGJ1ZyBpbiBQYWdlZFJhbmdlIHdpdGggMm5kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS02Mjk5KQogKiBGacpttGsAAAFP3jyyXAAQb3AgQ29tbWl0TG9nU2VnbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsOQAAAQA5MikKICogYWRkIGNvbW1pdGxvZ190b3RhbF9zcGFjZV9pbl9tYiB0byBwcmV2ZW50IGZyYWdtZW50ZWQgbG9ncyAoQ0FTU0FORFJBLTI0MjcpCiAqIHJlbW92ZWQgY29tbWl0bG9nX3JvdGF0aW9uX3RocmVzaG9sZF9pbl9tYiBjb25maWd1cmF0aW9uIChDQVNTQU5EUkEtMjc3MSkKICogbWFrZSBBYnN0cmFjdEJvdW5kcy5ub3JtYWxpemUgZGUtb3ZlcmxhcHAgb3ZlcmxhcHBpbmcgcmFuZ2VzIChDQVNTQU5EUkEtMjY0MSkKICogcmVwbGFjZSBDb2xsBF9ZWgAAAU/ePLJcABBwbGF5IHdoZW4gZmx1c2ggAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw5AAABAEFTU0FORFJBLTg3OTYpCiAqIEVuc3VyZSBTU1RhYmxlUmVhZGVyLmxhc3QgY29ycmVzcG9uZHMgZXhhY3RseSB3aXRoIHRoZSBmaWxlIGVuZCAoQ0FTU0FORFJBLTg3NTApCiAqIE1ha2UgU1NUYWJsZVdyaXRlci5vcGVuRWFybHkgbW9yZSByb2J1c3QgYW5kIG9idmlvdXMgKENBU1NBTkRSQS04NzQ3KQogKiBFbmZvcmNlIFNTVGFibGVSZWFkZXIuZmlyc3QvbGFzdCAoQ0FTU0FORFJBLTg3NDQpCiAqIENsZWFudXAgU2VnbWVudGVkRmlsZSBBUEkgKEOSv6yqAAABT948slwAEHluYyBwZXJpb2QsIGFuZCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDkAAAEAICogRGlzYWJsZSBTU0x2MyBmb3IgUE9PRExFIChDQVNTQU5EUkEtODI2NSkKICogRml4IG1pbGxpc2Vjb25kIHRpbWVzdGFtcHMgaW4gVHJhY2luZyAoQ0FTU0FORFJBLTgyOTcpCiAqIEluY2x1ZGUga2V5c3BhY2UgbmFtZSBpbiBlcnJvciBtZXNzYWdlIHdoZW4gdGhlcmUgYXJlIGluc3VmZmljaWVudAogICBsaXZlIG5vZGVzIHRvIHN0cmVhbSBmcm9tIChDQVNTQU5EUkEtODIyMSkKICogQXZvaWQgb3ZlcmxhcCBpbiBMMSB3aGVuIEwwIGNvbnRhaceomC4AAAFP3jyyXAAQIAogICBzZXJ2ZXIgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsOQAAAQAxODAwKQogKiBtYWtlIE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5IHRoZSBkZWZhdWx0IChDQVNTQU5EUkEtMTk2MCkKICogY29uZmlndXJhYmxlIGludGVybm9kZSBlbmNyeXB0aW9uIChDQVNTQU5EUkEtMTU2NywgMjE1MikKICogaHVtYW4gcmVhZGFibGUgY29sdW1uIG5hbWVzIGluIHNzdGFibGUyanNvbiBvdXRwdXQgKENBU1NBTkRSQS0xOTMzKQogKiBjaGFuZ2UgZGVmYXVsdCBKTVggcG9ydCB0byA3MTk5IChDQVNTQU5EUkEtMjAyNykKICogYmFjvcz83AAAAU/ePLJcABA4NikKICogZml4IHJhY2UgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw5AAABACBvbiByb3cga2V5cyBpbiBiYXRjaCBtdXRhdGlvbnMgKENBU1NBTkRSQS0xMjM1KQogKiBMb2cgc3VtbWFyeSBvZiBkcm9wcGVkIG1lc3NhZ2VzIGluc3RlYWQgb2Ygc3BhbW1pbmcgbG9nIChDQVNTQU5EUkEtMTI4NCkKICogYWRkIGR5bmFtaWMgZW5kcG9pbnQgc25pdGNoIChDQVNTQU5EUkEtOTgxKQogKiBmaXggc3RyZWFtaW5nIGZvciBrZXlzcGFjZXMgd2l0aCBoeXBoZW5zIGluIHRoZWlyIG5hbWUgKENBU1NBTkRSQS0xMzc3KQogKiBmaXggZXL50lXvAAABT948slwAEG9sdW1uT3JTdXBlckNvbHUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDkAAAEAdGliaWxpdHkgd2l0aCBwcmUtMS4xIGluZGV4IHF1ZXJpZXMgKENBU1NBTkRSQS00MjYyKQpNZXJnZWQgZnJvbSAxLjA6CiAqIEZpeCBzdXBlciBjb2x1bW5zIGJ1ZyB3aGVyZSBjYWNoZSBpcyBub3QgdXBkYXRlZCAoQ0FTU0FORFJBLTQxOTApCiAqIGZpeCBtYXhUaW1lc3RhbXAgdG8gaW5jbHVkZSByb3cgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTQxMTYpCiAqIChDTEkpIHByb3Blcmx5IGhhbmRsZSBxdW90ZXMgaW4gY3JlYXRlL3VwZGF0ZSBrZXlzcGd9z8AAAAFP3jyyXAAQNTE4KQogKiBmbHVzaCBpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsOgAAAQBhdHMuZGIpIGZvcm1hdCBjaGFuZ2UgKENBU1NBTkRSQS02MzU2KQogKiBQdXNoIGNvbXBvc2l0ZXMgc3VwcG9ydCBpbiB0aGUgc3RvcmFnZSBlbmdpbmUKICAgKENBU1NBTkRSQS01NDE3LCBDQVNTQU5EUkEtNjUyMCkKICogQWRkIHNuYXBzaG90IHNwYWNlIHVzZWQgdG8gY2ZzdGF0cyAoQ0FTU0FORFJBLTYyMzEpCiAqIEFkZCBjYXJkaW5hbGl0eSBlc3RpbWF0b3IgZm9yIGtleSBjb3VudCBlc3RpbWF0aW9uIChDQVNTQU5EUkEtNTkwNikKICogQ0Yga5wHMwAAAU/ePLJcABAKICogZm9yY2UgYW50aS1lAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw6AAABAHRpY3Mgd2l0aCBsaWZldGltZSB0b3RhbHMKICAgaW5zdGVhZCBvZiBhdmVyYWdlIG92ZXIgdGhlIGxhc3QgbWludXRlIChDQVNTQU5EUkEtNzAyKQogKiBzdXBwb3J0IGdldF9yYW5nZV9zbGljZSBmb3IgUmFuZG9tUGFydGl0aW9uZXIgKENBU1NBTkRSQS03NDUpCiAqIHBlci1rZXlzcGFjZSByZXBsaWNhdGlvbiBmYWN0b3J5IGFuZCByZXBsaWNhdGlvbiBzdHJhdGVneSAoQ0FTU0FORFJBLTYyMCkKICogdHJhY2sgbGF0ZW5jeSBpbiBtaWNyb3NlY2/2S6apAAABT948slwAECBBbHdheXMgcmVzcGVjdCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDoAAAEAMDMyKQogKiBBZGQgdGltZW91dHMgdG8gY2xpZW50IHJlcXVlc3Qgc2NoZWR1bGVycyAoQ0FTU0FORFJBLTMwNzksIDMwOTYpCiAqIENsaSB0byB1c2UgaGFzaGVzIHJhdGhlciB0aGFuIGFycmF5IG9mIGhhc2hlcyBmb3Igc3RyYXRlZ3kgb3B0aW9ucyAoQ0FTU0FORFJBLTMwODEpCiAqIExldmVsZWRDb21wYWN0aW9uU3RyYXRlZ3kgKENBU1NBTkRSQS0xNjA4LCAzMDg1LCAzMTEwLCAzMDg3LCAzMTQ1LCAzMTU0LCAzMTgyKQogKiBJbXByb3ZlbWVudK93WYUAAAFP3jyyXAAQY3QgMiBvciBtb3JlIHNzdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsOgAAAQAgbm9kZSdzIHRva2VuIGV2ZW4gYWZ0ZXIgaXQgaGFzIGRhdGEgb24gaXQKICAgKENBU1NBTkRSQS01NDEpCiAqIEFiaWxpdHkgdG8gZGVjb21taXNzaW9uIGEgbGl2ZSBub2RlIGZyb20gdGhlIHJpbmcgKENBU1NBTkRSQS00MzUpCiAqIFNlbWktYXV0b21hdGljIGxvYWRiYWxhbmNpbmcgdmlhIG5vZGVwcm9iZSAoQ0FTU0FORFJBLTE5MikKICogQWRkIGFiaWxpdHkgdG8gc2V0IGNvbXBhY3Rpb24gdGhyZXNob2xkcyBhdCBydW50aW1lIHZpYQogICBKrCbaxgAAAU/ePLJcABBBTkRSQS02Mjg3KQogKiBGAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw6AAABAHduZXJzaGlwIGluZm8gd2l0aG91dCBhIGtleXNwYWNlIChDQVNTQU5EUkEtNzE3MykKICogQWRkIGh1bWFuIHJlYWRhYmxlIG9wdGlvbiB0byBub2RldG9vbCBjb21tYW5kcyAoQ0FTU0FORFJBLTU0MzMpCiAqIERvbid0IHRyeSB0byBzZXQgcmVwYWlyZWRBdCBvbiBvbGQgc3N0YWJsZXMgKENBU1NBTkRSQS03OTEzKQogKiBBZGQgbWV0cmljcyBmb3IgdHJhY2tpbmcgUHJlcGFyZWRTdGF0ZW1lbnQgdXNlIChDQVNTQU5EUkEtNzcxOSkKICogKGNxbHP3D2QqAAABT948slwAEHB0eSBjb2x1bW4gbmFtZXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDoAAAEAbWF0IHRvIGFsbG93IEhhZG9vcCdzIG5haXZlIHN0cmluZy1iYXNlZAogICBsb2NhbGl0eSBjb21wYXJpc29ucyB0byB3b3JrIChDQVNTQU5EUkEtOTU1KQogKiBjYWNoZSByZWFkLW9ubHkgQnVmZmVyZWRSYW5kb21BY2Nlc3NGaWxlIGxlbmd0aCB0byBhdm9pZAogICAzIHN5c3RlbSBjYWxscyBwZXIgaW52b2NhdGlvbiAoQ0FTU0FORFJBLTk1MCkKICogbm9kZXMgd2l0aCBJUHY2IChhbmQgbm8gSVB2NCkgYWRkcmVzc2VzIGNvdWxkIG5vdCBqb2luIBdq2MAAAAFP3jyyXAAQZSBvbiB1bmNvbXByZXNzZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsOgAAAQBldmVydCBuYW1lLWJhc2VkIHF1ZXJ5IGRlZnJhZ21lbnRhdGlvbiBha2EgQ0FTU0FORFJBLTI1MDMgKENBU1NBTkRSQS0zNDkxKQogKiBmaXggaW52YWxpZGF0ZS1yZWxhdGVkIHRlc3QgZmFpbHVyZXMgKENBU1NBTkRSQS0zNDM3KQogKiBhZGQgbmV4dC1nZW4gY3Fsc2ggdG8gYmluLyAoQ0FTU0FORFJBLTMxODgsIDMxMzEsIDM0OTMpCiAqIChDUUwpIGZpeCBoYW5kbGluZyBvZiByb3dzIHdpdGggbm8gY29sdW1ucyAoQ0FTU0FORFJBLTM0MjQsIDM0S86eBgAFOceB+eUuAAABT948slwAEHNlbWljb2xvbiBhZnRlciAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDsAAAEAaXphdGlvbiBvZiBTdG9yYWdlUHJveHkgb24gc3RhcnQtdXAgKENBU1NBTkRSQS0zNzk3KQogKiBzdXBwb3J0IHRyaWNrbGluZyBmc3luYygpIG9uIHdyaXRlcyAoQ0FTU0FORFJBLTM5NTApCiAqIGV4cG9zZSBjb3VudGVycyBmb3IgdW5hdmFpbGFibGUvdGltZW91dCBleGNlcHRpb25zIGdpdmVuIHRvIHRocmlmdCBjbGllbnRzIChDQVNTQU5EUkEtMzY3MSkKICogYXZvaWQgcXVhZHJhdGljIHN0YXJ0dXAgdGltZSBpbiBMZXZlbGVkTWFuaWZlc3QgKApLZgMAAAFP3jyyXAAQRFJBLTM4NzQpCiAqIGFkZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsOwAAAQBBTkRSQS04MDIwKQogKiBEbyBub3QgZXhpdCBub2RldG9vbCByZXBhaXIgd2hlbiByZWNlaXZpbmcgSk1YIE5PVElGX0xPU1QgKENBU1NBTkRSQS03OTA5KQogKiBTdHJlYW0gdG8gcHJpdmF0ZSBJUCB3aGVuIGF2YWlsYWJsZSAoQ0FTU0FORFJBLTgwODQpCk1lcmdlZCBmcm9tIDIuMDoKICogUmVqZWN0IGNvbmRpdGlvbnMgb24gREVMRVRFIHVubGVzcyBmdWxsIFBLIGlzIGdpdmVuIChDQVNTQU5EUkEtNjQzMCkKICogUHJvcGVybHkgcmVqZWN0IHRogacG2gAAAU/ePLJcABAgKiBhZGQgSU5URVJOQUxfAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw7AAABAC02MDQpCiAqIGluY3JlYXNlIGZhaWx1cmUgY29udmljdGlvbiB0aHJlc2hvbGQsIHJlc3VsdGluZyBpbiBsZXNzIG5vZGVzCiAgIGluY29ycmVjdGx5IChhbmQgdGVtcG9yYXJpbHkpIG1hcmtlZCBhcyBkb3duIChDQVNTQU5EUkEtNjEwKQogKiByZXNwZWN0IG1lbXRhYmxlIHRocmVzaG9sZHMgZHVyaW5nIGxvZyByZXBsYXkgKENBU1NBTkRSQS02MDkpCiAqIHN1cHBvcnQgQ29uc2lzdGVuY3lMZXZlbC5BTEwgb24gcmVhZCAoQ0FTU0FORFJBLTU4NCkJm3oZAAABT948slwAEEFTU0FORFJBLTI3ODEpCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDsAAAEAQS0xNTgwKQogKiBhZGQgY2FjaGUgc2F2ZS9sb2FkIGFiaWxpdHkgKENBU1NBTkRSQS0xNDE3LCAxNjA2LCAxNjQ3KQogKiBhZGQgU3RvcmFnZVNlcnZpY2UuZ2V0RHJhaW5Qcm9ncmVzcyAoQ0FTU0FORFJBLTE1ODgpCiAqIERpc2FsbG93IGJvb3RzdHJhcCB0byBhbiBpbi11c2UgdG9rZW4gKENBU1NBTkRSQS0xNTYxKQogKiBBbGxvdyBkeW5hbWljIHNlY29uZGFyeSBpbmRleCBjcmVhdGlvbiBhbmQgZGVzdHJ1Y3Rpb24gKENBU1NBTkRSQS0xNTMyKZ0Z2M8AAAFP3jyyXAAQY3QgdmVyc2lvbiBvZiB0aAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsOwAAAQBmb3IgYWx0ZXIga2V5c3BhY2UgKENBU1NBTkRSQS04MDIxKQogKiBDcmVhdGUgYmFja3VwIGRpcmVjdG9yaWVzIGZvciBjb21taXRsb2cgYXJjaGl2aW5nIGR1cmluZyBzdGFydHVwIChDQVNTQU5EUkEtODExMSkKICogUmVkdWNlIHRvdGFsQmxvY2tGb3IoKSBmb3IgTE9DQUxfKiBjb25zaXN0ZW5jeSBsZXZlbHMgKENBU1NBTkRSQS04MDU4KQogKiBGaXggbWVyZ2luZyBzY2hlbWFzIHdpdGggcmUtZHJvcHBlZCBrZXlzcGFjZXMgKENBU1NBTkRSQS030OEPSgAAAU/ePLJcABBybQogICByZXBsaWNhdGlvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw7AAABAGlmdCBNdWx0aVNsaWNlUmVxdWVzdCAoQ0FTU0FORFJBLTY3NTcsIENBU1NBTkRSQS03MDI3KQogKiBIYW5kbGUgb3ZlcmxhcHBpbmcgTXVsdGlTbGljZXMgKENBU1NBTkRSQS03Mjc5KQogKiBGaXggRGF0YU91dHB1dFRlc3Qgb24gV2luZG93cyAoQ0FTU0FORFJBLTcyNjUpCiAqIEVtYmVkZGVkIHNldHMgaW4gdXNlciBkZWZpbmVkIGRhdGEtdHlwZXMgYXJlIG5vdCB1cGRhdGluZyAoQ0FTU0FORFJBLTcyNjcpCiAqIEFkZCB0dXBsZSB0eXBlIHRvIEN1ZWYoAAABT948slwAEGlvbiAoQ0FTU0FORFJBLTUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDsAAAEAMzMpCiAqIGltcHJvdmUgIm5vZGV0b29sIHJpbmciIGhhbmRsaW5nIG9mIG11bHRpLWRjIGNsdXN0ZXJzIChDQVNTQU5EUkEtMzA0NykKICogdXBkYXRlIE5UUyBjYWxjdWxhdGVOYXR1cmFsRW5kcG9pbnRzIHRvIGJlIE8oTiBsb2cgTikgKENBU1NBTkRSQS0zODgxKQogKiBzcGxpdCB1cCBycGMgdGltZW91dCBieSBvcGVyYXRpb24gdHlwZSAoQ0FTU0FORFJBLTI4MTkpCiAqIHJld3JpdGUga2V5IGNhY2hlIHNhdmUvbG9hZCB0byB1c2Ugb25seSBzZYrOR+sAAAFP3jyyXAAQTkRSQS0xNTgyKQogKiB1cAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsOwAAAQBvIGZpbmQgbm9uLW92ZXJsYXBwaW5nIEwwIGNvbXBhY3Rpb25zCiAgIHRvIHdvcmsgb24gY29uY3VycmVudGx5IChDQVNTQU5EUkEtNTkyMSkKICogTm90aWZ5IGluZGV4ZXIgb2YgY29sdW1ucyBzaGFkb3dlZCBieSByYW5nZSB0b21ic3RvbmVzIChDQVNTQU5EUkEtNTYxNCkKICogTG9nIE1lcmtsZSB0cmVlIHN0YXRzIChDQVNTQU5EUkEtMjY5OCkKICogU3dpdGNoIGZyb20gY3JjMzIgdG8gYWRsZXIzMiBmb3IgY29tcHJlc3NlZCBzc3RhYmxlIGNomnKRbAAAAU/ePLJcABBITSB0byBDSE0gaW4gTWVzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw7AAABAEEtMzg3NSkKCgoxLjAuNwogKiBmaXggcmVncmVzc2lvbiBpbiBISCBwYWdlIHNpemUgY2FsY3VsYXRpb24gKENBU1NBTkRSQS0zNjI0KQogKiByZXRyeSBmYWlsZWQgc3RyZWFtIG9uIElPRXhjZXB0aW9uIChDQVNTQU5EUkEtMzY4NikKICogYWxsb3cgY29uZmlndXJpbmcgYmxvb21fZmlsdGVyX2ZwX2NoYW5jZSAoQ0FTU0FORFJBLTM0OTcpCiAqIGF0dGVtcHQgaGludCBkZWxpdmVyeSBldmVyeSB0ZW4gbWludXRlcywgb3Igd2hlbiBmYWlsdXJlIGQGH5dRAAABT948slwAEGRkIHN1cHBvcnQgZm9yIHAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDsAAAEATW92ZSBDb21wcmVzc2lvbk1ldGFkYXRhIG9mZi1oZWFwIChDQVNTQU5EUkEtNDkzNykKICogYWxsb3cgQ0xJIHRvIEdFVCBjcWwzIGNvbHVtbmZhbWlseSBkYXRhIChDQVNTQU5EUkEtNDkyNCkKICogRml4IHJhcmUgcmFjZSBjb25kaXRpb24gaW4gZ2V0RXhwaXJlVGltZUZvckVuZHBvaW50IChDQVNTQU5EUkEtNDQwMikKICogYWNxdWlyZSByZWZlcmVuY2VzIHRvIG92ZXJsYXBwaW5nIHNzdGFibGVzIGR1cmluZyBjb21wYWN0aW9uIHNvIGJsb29tIFU64YwAAAFP3jyyXAAQc3Qgbm93IGJlIGxvYWRlZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsOwAAAQB0aCAod2hpY2ggaXMgaG93IG91ciBzY3JpcHRzIGluIGJpbi8gaGF2ZSBhbHdheXMgZG9uZSBpdCkKICAgKENBU1NBTkRSQS05NzEpCiAqIGNoYW5nZSBnZXRfY291bnQgdG8gcmVxdWlyZSBhIFNsaWNlUHJlZGljYXRlLiBjcmVhdGUgbXVsdGlfZ2V0X2NvdW50CiAgIChDQVNTQU5EUkEtNzQ0KQogKiByZS1vcmdhbml6ZWQgZW5kcG9pbnRzbml0Y2ggaW1wbGVtZW50YXRpb25zIGFuZCBhZGRlZCBTaW1wbGVTbml0Y2gKICAgKENBU1NBTkRSQS05OTQpenr4dAAAAU/ePLJcABByb3cgdGhhdCBvbmx5IGNvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw7AAABACBjb2x1bW5mYW1pbGllcyBhbmQgcmVtb3ZlIHRocmlmdAogICBzZXJpYWxpemF0aW9uIGZvciBzY2hlbWEgKENBU1NBTkRSQS0zNzkyKQogKiBhZGQgbWlzc2luZyBjb2x1bW4gdmFsaWRhdG9yIG9wdGlvbnMgdG8gdGhlIENMSSBoZWxwIChDQVNTQU5EUkEtMzkyNikKICogc2tpcCByZWFkaW5nIHNhdmVkIGtleSBjYWNoZSBpZiBDRidzIGNhY2hpbmcgc3RyYXRlZ3kgaXMgTk9ORSBvciBST1dTX09OTFkgKENBU1NBTkRSQS0zOTU0KQogKiBVbmlmeSBJThSLAAABT948slwAEGVXcml0ZXIgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILDsAAAEAKiBUb2xlcmF0ZSBtaW4vbWF4IGNlbGwgbmFtZXMgb2YgZGlmZmVyZW50IGxlbmd0aHMgKENBU1NBTkRSQS03NjUxKQogKiBGaWx0ZXIgY2FjaGVkIHJlc3VsdHMgY29ycmVjdGx5IChDQVNTQU5EUkEtNzYzNikKICogRml4IHRyYWNpbmcgb24gdGhlIG5ldyBTRVBFeGVjdXRvciAoQ0FTU0FORFJBLTc2NDQpCiAqIFJlbW92ZSBzaHVmZmxlIGFuZCB0YWtldG9rZW4gKENBU1NBTkRSQS03NjAxKQogKiBDbGVhbiB1cCBXaW5kb3dzIGJhdGNoIHNjcmlwdIiJyj0AAAFP3jyyXAAQNzEpCiAqIHdvcmsgYXJvdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsOwAAAQBuZmxpY3RzIHByb3Blcmx5IChDQVNTQU5EUkEtNjYxNSkKICogTW92ZSBoYW5kbGluZyBvZiBtaWdyYXRpb24gZXZlbnQgc291cmNlIHRvIHNvbHZlIGJvb3RzdHJhcCByYWNlLiAoQ0FTU0FORFJBLTY2NDgpCiAqIE1ha2Ugc3VyZSBjb21wYWN0aW9uIHRocm91Z2hwdXQgdmFsdWUgZG9lc24ndCBvdmVyZmxvdyB3aXRoIGludCBtYXRoIChDQVNTQU5EUkEtNjY0NykKCgoyLjAuNAogKiBBbGxvdyByZW1vdmluZyBzbmFwc2hvdHMgb2Ygbm8tbG9uZ2VyuHE8PwAAAU/ePLJcABBEUkEtNDA3NykKICogUmVzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw7AAABAG92ZSBnb3NzaXAgcGVyZm9ybWFuY2UgZm9yIHR5cGljYWwgbWVzc2FnZXMgKENBU1NBTkRSQS02NDA5KQogKiBUaHJvdyBJUkUgaWYgYSBwcmVwYXJlZCBzdGF0ZW1lbnQgaGFzIG1vcmUgbWFya2VycyB0aGFuIHN1cHBvcnRlZCAKICAgKENBU1NBTkRSQS01NTk4KQogKiBFeHBvc2UgVGhyZWFkIG1ldHJpY3MgZm9yIHRoZSBuYXRpdmUgcHJvdG9jb2wgc2VydmVyIChDQVNTQU5EUkEtNjIzNCkKICogQ2hhbmdlIHNuYXBzaG90IHJlc3BvbnNlIG1lc3PGtWjMAAVOJM/pZyYAAAFP3jyyXAAQZGlyZWN0aXZlIGluIGZhdgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsPQAAAQBlZGljYXRlIChDQVNTQU5EUkEtMTQxMCkKICogY29uZmlnLWNvbnZlcnRlciBwcm9wZXJseSBoYW5kbGVzIHNuaXRjaGVzIGFuZCBmcmFtZWQgc3VwcG9ydCAKICAgKENBU1NBTkRSQS0xNDIwKQogKiByZW1vdmUga2V5c3BhY2UgYXJndW1lbnQgZnJvbSBtdWx0aWdldF9jb3VudCAoQ0FTU0FORFJBLTE0MjIpCiAqIGFsbG93IHNwZWNpZnlpbmcgY2Fzc2FuZHJhLnlhbWwgbG9jYXRpb24gYXMgKGxvY2FsIG9yIHJlbW90ZSkgVVJMCiAgIChDQVNTQU5ElJk2JwAAAU/ePLJcABBsIChDQVNTQU5EUkEtNTc0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw9AAABAENvbXB1dGUgbW9yZSBhY2N1cmF0ZSBjb21wYWN0aW9uIHNjb3JlIHBlciBsZXZlbCAoQ0FTU0FORFJBLTM3OTApCiAqIFJldHVybiBJbnZhbGlkUmVxdWVzdCB3aGVuIHVzaW5nIGEga2V5c3BhY2UgdGhhdCBkb2Vzbid0IGV4aXN0CiAgIChDQVNTQU5EUkEtMzc2NCkKICogZGlzYWxsb3cgdXNlciBtb2RpZmljYXRpb24gb2YgU3lzdGVtIGtleXNwYWNlIChDQVNTQU5EUkEtMzczOCkKICogYWxsb3cgdXNpbmcgc3N0YWJsZTJqc29uIG9uIHNlY29uZGGOkwiiAAABT948slwAEGNvcnJlY3Qgb3JkZXJpbmcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILD0AAAEAYSkgdGhyaWZ0IHNlcnZlcnMgCiAgIChDQVNTQU5EUkEtMTQwNSkKICogZml4IHBvdGVudGlhbCB1c2Ugb2YgZnJlZSdkIG5hdGl2ZSBtZW1vcnkgaW4gU2VyaWFsaXppbmdDYWNoZSAKICAgKENBU1NBTkRSQS0yOTUxKQogKiBwcnVuZSBpbmRleCBzY2FuIHJlc3VsdHNldCBiYWNrIHRvIG9yaWdpbmFsIHJlcXVlc3QgZm9yIGxhenkKICAgcmVzdWx0c2V0IGV4cGFuc2lvbiBjYXNlIChDQVNTQU5EUkEtMjk2NCkKICogKEhhZG9vcCkgZmFpbCBqb2JzIG+haeQAAAFP3jyyXAAQdGxlIAogICAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsPQAAAQB3aW5kb3dzIC5iYXQgZmlsZXMgdG8gd29yayBvdXRzaWRlIG9mIG1haW4gQ2Fzc2FuZHJhCiAgIGRpcmVjdG9yeSAoQ0FTU0FORFJBLTE3MTMpCiAqIGZpeCByZWFkIHJlcGFpciByZWdyZXNzaW9uIGZyb20gMC42LjcgKENBU1NBTkRSQS0xNzI3KQogKiBtb3JlLWVmZmljaWVudCByZWFkIHJlcGFpciAoQ0FTU0FORFJBLTE3MTkpCiAqIGZpeCBoaW50ZWQgaGFuZG9mZiByZXBsYXkgKENBU1NBTkRSQS0xNjU2KQogKiBsb2cgdHlwZSBvZiBkcm9wcGVkS86OhQAAAU/ePLJcABBhbiBwYWNrYWdpbmcgKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw9AAABAGl2ZSBwcm90b2NvbCAoQ0FTU0FORFJBLTcyNDgpCiAqIEZpeCBDcWxQYWdpbmdSZWNvcmRSZWFkZXIgb24gdGFibGVzIHdpdGggZmV3IHJvd3MgKENBU1NBTkRSQS03MzIyKQpNZXJnZWQgZnJvbSAyLjA6CiAqIENvcHkgY29tcGFjdGlvbiBvcHRpb25zIHRvIG1ha2Ugc3VyZSB0aGV5IGFyZSByZWxvYWRlZCAoQ0FTU0FORFJBLTcyOTApCiAqIEFkZCBvcHRpb24gdG8gZG8gbW9yZSBhZ2dyZXNzaXZlIHRvbWJzdG9uZSBjb21wYWN0aW9ucyAoQ0FTU0EUL5CaAAABT948slwAEERpc3BsYXkgdGhlIGN1cnIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILD0AAAEAIEJ5dGVzVG9rZW4udG9TdHJpbmcgb25seSByZXR1cm4gaGV4IGJ5dGVzIChDQVNTQU5EUkEtNTU2NikKICogRW5zdXJlIHRoYXQgc3VibWl0QmFja2dyb3VuZCBlbnF1ZXVlcyBhdCBsZWFzdCBvbmUgdGFzayAoQ0FTU0FORFJBLTU1NTQpCiAqIGZpeCAyaSB1cGRhdGVzIHdpdGggaWRlbnRpY2FsIHZhbHVlcyBhbmQgdGltZXN0YW1wcyAoQ0FTU0FORFJBLTU1NDApCiAqIGZpeCBjb21wYWN0aW9uIHRocm90dGxpbmcgYnVyc3R5LW5lc3MgKENBU1NBTgAX0BkAAAFP3jyyXAAQNjcpCiAqIHJlbmFtZWQgQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsPQAAAQAgY2xlYW51cCAoQ0FTU0FORFJBLTkwMzYpCiAqIExvd2VyIGxvZ2dpbmcgbGV2ZWwgZnJvbSBFUlJPUiB0byBERUJVRyB3aGVuIGEgc2NoZWR1bGVkIHNjaGVtYSBwdWxsCiAgIGNhbm5vdCBiZSBjb21wbGV0ZWQgZHVlIHRvIGEgbm9kZSBiZWluZyBkb3duIChDQVNTQU5EUkEtOTAzMikKICogRml4IE1PVkVEX05PREUgY2xpZW50IGV2ZW50IChDQVNTQU5EUkEtODUxNikKICogQWxsb3cgb3ZlcnJpZGluZyBNQVhfT1VUU1RBTkRJTkdfUkVQTEFZX0NPsxnwOwAAAU/ePLJcABByZXNzaW9uIG9wdGlvbnMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw9AAABAHQgc3luYyB0byAKICAgZmluaXNoIGJlZm9yZSBzdWJtaXR0aW5nIGFub3RoZXIgKENBU1NBTkRSQS02NjgpCgoKMC41LjAgUkMxCiAqIEZpeCBwb3RlbnRpYWwgTlBFIGluIGdldF9yYW5nZV9zbGljZSAoQ0FTU0FORFJBLTYyMykKICogYWRkIENSQzMyIHRvIGNvbW1pdGxvZyBlbnRyaWVzIChDQVNTQU5EUkEtNjA1KQogKiBmaXggZGF0YSBzdHJlYW1pbmcgb24gd2luZG93cyAoQ0FTU0FORFJBLTYzMCkKICogR0MgY29tcGFjdGVkIHNzdGFibGVzIGHGQh72AAABT948slwAEHJlIChDQVNTQU5EUkEtODgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILD0AAAEANTUpCiAqIGZpeCBjb3VudGVyIGVudHJ5IGluIGpkYmMgVHlwZXNNYXAgKENBU1NBTkRSQS0zMjY4KQogKiBmaXggZnVsbCBxdWV1ZSBzY2VuYXJpbyBmb3IgUGFyYWxsZWxDb21wYWN0aW9uSXRlcmF0b3IgKENBU1NBTkRSQS0zMjcwKQogKiBmaXggYm9vdHN0cmFwIHByb2Nlc3MgKENBU1NBTkRSQS0zMjg1KQogKiBkb24ndCB0cnkgZGVsaXZlcmluZyBoaW50cyBpZiB3aGVuIHRoZXJlIGlzbid0IGFueSAoQ0FTU0FORFJBLTMxNzYpCiAqIENMSSBkb+AztkoAAAFP3jyyXAAQQS01NDU1KQogKiBDQVMgcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsPQAAAQAga2V5IChDQVNTQU5EUkEtNTEyMikKICogRml4IGV4Y2VwdGlvbiB3aGVuIGFkZGluZyBjb2xsZWN0aW9uIChDQVNTQU5EUkEtNTExNykKICogSGFuZGxlIHN0YXRlcyBmb3Igbm9uLXZub2RlIGNsdXN0ZXJzIGNvcnJlY3RseSAoQ0FTU0FORFJBLTUxMjcpCiAqIFJlZnVzZSB1bnJlY29nbml6ZWQgcmVwbGljYXRpb24gYW5kIGNvbXBhY3Rpb24gc3RyYXRlZ3kgb3B0aW9ucyAoQ0FTU0FORFJBLTQ3OTUpCiAqIFBpY2sgdGhlIGNvcnJlY3QgdmFsdWUgaRJT9wAAAU/ePLJcABAgd29yayBsaWtlIGRlY29tAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw9AAABAENBU1NBTkRSQS03NDAzKQogKiBJbnRyb2R1Y2UgQ1FMIHN1cHBvcnQgZm9yIHN0cmVzcyB0b29sIChDQVNTQU5EUkEtNjE0NikKICogRml4IENsYXNzQ2FzdEV4Y2VwdGlvbiBwcm9jZXNzaW5nIGV4cGlyZWQgbWVzc2FnZXMgKENBU1NBTkRSQS03NDk2KQogKiBGaXggcHJlcGFyZWQgbWFya2VyIGZvciBjb2xsZWN0aW9ucyBpbnNpZGUgVURUIChDQVNTQU5EUkEtNzQ3MikKICogUmVtb3ZlIGxlZnQtb3ZlciBwb3B1bGF0ZV9pb19jYWNoZV9vbl9mbHVVWJauAAABT948slwAEHIgc3BlY2lmeWluZyAndXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILD0AAAEATEVDVCBDT1VOVCAoQ0FTU0FORFJBLTYwODApCiAqIFRyYWNrIGNsaWVudHMnIHJlbW90ZSBhZGRyZXNzZXMgaW4gQ2xpZW50U3RhdGUgKENBU1NBTkRSQS02MDcwKQogKiBDcmVhdGUgc25hcHNob3QgZGlyIGlmIGl0IGRvZXMgbm90IGV4aXN0IHdoZW4gbWlncmF0aW5nCiAgIGxldmVsZWQgbWFuaWZlc3QgKENBU1NBTkRSQS02MDkzKQogKiBtYWtlIHNlcXVlbnRpYWwgbm9kZXRvb2wgcmVwYWlyIHRoZSBkZWZhdWx0IChDQVNTQU5EUkEtNTk1MCkKINjTx7UAAAFP3jyyXAAQYWRlc3N0YWJsZXMgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsPQAAAQApCiAqIEZpeCBzbmFwc2hvdCByZXBhaXIgZXJyb3Igb24gaW5kZXhlZCB0YWJsZXMgKENBU1NBTkRSQS04MDIwKQogKiBEbyBub3QgZXhpdCBub2RldG9vbCByZXBhaXIgd2hlbiByZWNlaXZpbmcgSk1YIE5PVElGX0xPU1QgKENBU1NBTkRSQS03OTA5KQogKiBTdHJlYW0gdG8gcHJpdmF0ZSBJUCB3aGVuIGF2YWlsYWJsZSAoQ0FTU0FORFJBLTgwODQpCk1lcmdlZCBmcm9tIDIuMDoKICogUmVqZWN0IGNvbmRpdGlvbnMgb24gREVMRVRFIHVubGVzcyBmh1RPlQAAAU/ePLJcABB0ZWQgbWVtdGFibGVfY2xlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw9AAABAG5nIGl0CiAgIGFsZ29yaXRobWljYWxseSAoQ0FTU0FORFJBLTEyMjAKICogcmVtb3ZlIG1lc3NhZ2UgZGVzZXJpYWxpemF0aW9uIHN0YWdlLCBhbmQgdW5jYXAgcmVhZC93cml0ZSBzdGFnZXMKICAgc28gc2xvdyByZWFkcy93cml0ZXMgZG9uJ3QgYmxvY2sgZ29zc2lwIHByb2Nlc3NpbmcgKENBU1NBTkRSQS0xMzU4KQogKiBhZGQgam14IHBvcnQgY29uZmlndXJhdGlvbiB0byBEZWJpYW4gcGFja2FnZSAoQ0FTU0FORFJBLTEyMDIpCiAqIHVzZSBtbG8APW7SAAABT948slwAEGFuY2UKICAgaGFzIGNoYW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILD0AAAEATVggcG9ydCB0byA3MTk5IChDQVNTQU5EUkEtMjAyNykKICogYmFja3dhcmRzIGNvbXBhdGlibGUgaW50ZXJuYWwgbWVzc2FnaW5nIChDQVNTQU5EUkEtMTAxNSkKICogYXRvbWljIHN3aXRjaCBvZiBtZW10YWJsZXMgYW5kIHNzdGFibGVzIChDQVNTQU5EUkEtMjI4NCkKICogYWRkIHBsdWdnYWJsZSBTZWVkUHJvdmlkZXIgKENBU1NBTkRSQS0xNjY5KQogKiBGaXggY2x1c3RlcnRvb2wgdG8gbm90IHRocm93IGV4Y2VwdGlvbiB3aGVuIGNhbGxpbmcgZ8y8DbsABWKBlpQ71QAAAU/ePLJcABBhdGlvbnMgd2l0aCB0aGUgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw/AAABAGQgYmxvd2luZyBzdGFjayBpbiBwYXRob2xvZ2ljYWwgY2FzZXMgKENBU1NBTkRSQS04MDQpCiAqIGJhc2ljIEhhZG9vcCBtYXAvcmVkdWNlIHN1cHBvcnQgKENBU1NBTkRSQS0zNDIpCgoKMC41LjEKICogZW5zdXJlIGFsbCBmaWxlcyBmb3IgYW4gc3N0YWJsZSBhcmUgc3RyZWFtZWQgdG8gdGhlIHNhbWUgZGlyZWN0b3J5LgogICAoQ0FTU0FORFJBLTcxNikKICogbW9yZSBhY2N1cmF0ZSBsb2FkIGVzdGltYXRlIGZvciBib290c3RyYXBwaW5nIChDQVP1FQKXAAABT948slwAEENBU1NBTkRSQS02MTkxKQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILD8AAAEAcHJvdmVtZW50cyAoc2V2ZXJhbCB0aWNrZXRzKQogKiBhZGQgbm9kZXByb2JlIHJlcGFpciBhbnRpLWVudHJvcHkgZmVhdHVyZSAoQ0FTU0FORFJBLTE5MywgQ0FTU0FORFJBLTUyMCkKICogZml4IHBvc3NpYmlsaXR5IG9mIHBhcnRpdGlvbiB3aGVuIG1hbnkgbm9kZXMgcmVzdGFydCBhdCBvbmNlCiAgIGluIGNsdXN0ZXJzIHdpdGggbXVsdGlwbGUgc2VlZHMgKENBU1NBTkRSQS0xNTApCiAqIGZpeCBOUEUgaW4gZ2V0X3JhbmdlX3NsaWNlIHdoZW4gbrOVaNYAAAFP3jyyXAAQcmF0b3ItYXdhcmUgYW5kIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsPwAAAQBpdGVyIGZvciBidWxrIGxvYWRpbmcgdXNlCiAgIChDQVNTQU5EUkEtMjkxMSkKICogZml4IHJlLXVzaW5nIGluZGV4IENGIHNzdGFibGUgbmFtZXMgYWZ0ZXIgZHJvcC9yZWNyZWF0ZSAoQ0FTU0FORFJBLTI4NzIpCiAqIHByZXBlbmQgQ0YgdG8gZGVmYXVsdCBpbmRleCBuYW1lcyAoQ0FTU0FORFJBLTI5MDMpCiAqIGZpeCBoaW50IHJlcGxheSAoQ0FTU0FORFJBLTI5MjgpCiAqIFByb3Blcmx5IHN5bmNocm9uaXplIHJlcGFpcidzIG1lcmtsZSB0cmVlgh37nwAAAU/ePLJcABBvdGluZyBvZiB0aGUgQ29sAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw/AAABAChDQVNTQU5EUkEtMzExNikKICogcmVjb2duaXplIHRoYXQgIlNFTEVDVCBmaXJzdCAuLi4gKiIgaXNuJ3QgcmVhbGx5ICJTRUxFQ1QgKiIgKENBU1NBTkRSQS0zNDQ1KQogKiBVc2UgZmFzdGVyIGJ5dGVzIGNvbXBhcmlzb24gKENBU1NBTkRSQS0zNDM0KQogKiBCdWxrIGxvYWRlciBpcyBubyBsb25nZXIgYSBmYXQgY2xpZW50LCAoSEFET09QKSBidWxrIGxvYWQgb3V0cHV0IGZvcm1hdAogICAoQ0FTU0FORFJBLTMwNDUpCiAqIChIYWRvb3ApIGFkZCCMfePEAAABT948slwAEE5EUkEtNTE3NSkKICogTWEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILD8AAAEAcmVhZGluZyBob3N0cyBmcm9tIGEgZmlsZSAKICAgKENBU1NBTkRSQS0yMTQ5KQogKiBib3VuZCBoaW50cyBDRiB0aHJvdWdocHV0IGJldHdlZW4gMzJNIGFuZCAyNTZNIChDQVNTQU5EUkEtMjE0OCkKICogY29udGludWUgc3RhcnRpbmcgd2hlbiBpbnZhbGlkIHNhdmVkIGNhY2hlIGVudHJpZXMgYXJlIGVuY291bnRlcmVkCiAgIChDQVNTQU5EUkEtMjA3NikKICogYWRkIG1heF9oaW50X3dpbmRvd19pbl9tcyBvcHRpb24gKENBU1NBTkRSQS0xNDU5Kfu0fwAAAAFP3jyyXAAQLCAzMDg3LCAzMTQ1LCAzMQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsPwAAAQBwcmVzZXJ2ZSBzc3RhYmxlIHZlcnNpb24gKENBU1NBTkRSQS00MDc3KQogKiBSZXNwZWN0IDEuMCBjYWNoZSBzZXR0aW5ncyBhcyBtdWNoIGFzIHBvc3NpYmxlIHdoZW4gdXBncmFkaW5nIAogICAoQ0FTU0FORFJBLTQwODgpCiAqIHJlbGF4IHBhdGggbGVuZ3RoIHJlcXVpcmVtZW50IGZvciBzc3RhYmxlIGZpbGVzIHdoZW4gdXBncmFkaW5nIG9uIAogICBub24tV2luZG93cyBwbGF0Zm9ybXMgKENBU1NBTkRSQS00MTEwKQogKiBmaXggdGVybWluaW5hqOPEGwAAAU/ePLJcABApCiAqIGFkZCAiYWxsIHRpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw/AAABAGVsZXRpb24gdGltZXMgYWZ0ZXIgZ2NfZ3JhY2UgKENBU1NBTkRSQS0yMzE3KQogKiBvcHRpbWl6ZSBhd2F5IHNlZWsgd2hlbiBjb21wYWN0aW5nIHdpZGUgcm93cyAoQ0FTU0FORFJBLTI4NzkpCiAqIHNpbmdsZS1wYXNzIHN0cmVhbWluZyAoQ0FTU0FORFJBLTI2NzcsIDI5MDYsIDI5MTYsIDMwMDMpCiAqIHVzZSByZWZlcmVuY2UgY291bnRpbmcgZm9yIGRlbGV0aW5nIHNzdGFibGVzIGluc3RlYWQgb2YgcmVseWluZyBvbiBHQwogICAoQ0FTU0FORFKJFrT3AAABT948slwAEGN0aW9ucyAoQ0FTU0FORFIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILD8AAAEAYW1pbmcgb3ZlciBTU0wgd2hlbiBjb21wcmVzc2VkIFNTVGFibGUgaW52b2x2ZWQgKENBU1NBTkRSQS0zMDUxKQogKiBBZGQgc3VwcG9ydCBmb3IgcGx1Z2dhYmxlIHNlY29uZGFyeSBpbmRleCBpbXBsZW1lbnRhdGlvbnMgKENBU1NBTkRSQS0zMDc4KQogKiByZW1vdmUgY29tcGFjdGlvbl90aHJlYWRfcHJpb3JpdHkgc2V0dGluZyAoQ0FTU0FORFJBLTMxMDQpCiAqIGdlbmVyYXRlIGhpbnRzIGZvciByZXBsaWNhcyB0aGF0IHRpbWVvdXQsIG5vdCBqdSx04fYAAAFP3jyyXAAQdHlwZScgYXNzZXJ0aW9uIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsPwAAAQBEUkEtNTM1MikKICogRml4IGNvbnNpc3RlbmN5IGxldmVsIGR1cmluZyBib290c3RyYXAgLSBzdHJpa2UgMyAoQ0FTU0FORFJBLTUzNTQpCiAqIEZpeCB0cmFuc3Bvc2VkIGFyZ3VtZW50cyBpbiBBbHJlYWR5RXhpc3RzRXhjZXB0aW9uIChDQVNTQU5EUkEtNTM2MikKICogSW1wcm92ZSBhc3luY2hyb25vdXMgaGludCBkZWxpdmVyeSAoQ0FTU0FORFJBLTUxNzkpCiAqIEZpeCBHdWF2YSBkZXBlbmRlbmN5IHZlcnNpb24gKDEyLjAgLT4gMTMuMC4xKSBmvjyUewAAAU/ePLJcABBvciBjcWwgc2VsZWN0IHN0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw/AAABAHN1cGVyIGNvbHVtbnMgKENBU1NBTkRSQS0zODc1KQoKCjEuMC43CiAqIGZpeCByZWdyZXNzaW9uIGluIEhIIHBhZ2Ugc2l6ZSBjYWxjdWxhdGlvbiAoQ0FTU0FORFJBLTM2MjQpCiAqIHJldHJ5IGZhaWxlZCBzdHJlYW0gb24gSU9FeGNlcHRpb24gKENBU1NBTkRSQS0zNjg2KQogKiBhbGxvdyBjb25maWd1cmluZyBibG9vbV9maWx0ZXJfZnBfY2hhbmNlIChDQVNTQU5EUkEtMzQ5NykKICogYXR0ZW1wdCBoaW50IGRlbGl2ZXJ5IGV2ZXJ5IHRlbiBtaW6hKplmAAABT948slwAECBzaXplIGNhbGN1bGF0aW8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILD8AAAEAIHdlbGwgYXMKICAgZGVjb21taXNzaW9uIChDQVNTQU5EUkEtMzA0MSkKICogRml4IGRpdmlkZSBieSB6ZXJvIGVycm9yIGluIEdDSW5zcGVjdG9yIChDQVNTQU5EUkEtMzE2NCkKICogYWxsb3cgcXVvdGluZyBvZiB0aGUgQ29sdW1uRmFtaWx5IG5hbWUgaW4gQ0xJIGBjcmVhdGUgY29sdW1uIGZhbWlseWAKICAgc3RhdGVtZW50IChDQVNTQU5EUkEtMzE5NSkKICogRml4IHJvbGxpbmcgdXBncmFkZSBmcm9tIDAuNyB0byAwLjggcHJvYmxlbSAoQ0FTU04DzXcAAAFP3jyyXAAQRFJBLTUzOTUpCiAqIENoYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsPwAAAQAgKiBjYXNzYW5kcmEtc3RyZXNzIHJlcG9ydHMgcGVyLW9wZXJhdGlvbiBzdGF0aXN0aWNzLCBwbHVzIG1pc2MgKENBU1NBTkRSQS04NzY5KQogKiBVc2UgbG9uZyBmb3Iga2V5IGNvdW50IGluIGNmc3RhdHMgKENBU1NBTkRSQS04OTEzKQogKiBNYWtlIFNTVGFibGVSZXdyaXRlci5hYm9ydCgpIG1vcmUgcm9idXN0IHRvIGZhaWx1cmUgKENBU1NBTkRSQS04ODMyKQogKiBSZW1vdmUgY29sZF9yZWFkc190b19vbWl0IGZyb20gU1RDUyAoQ0FTU0FORFJBkFDYWQAAAU/ePLJcABB0ZXIvb3JkZXI9REVTQwoKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCw/AAABAG4gRmlsZUNhY2hlU2VydmljZS5zaXplSW5CeXRlcyAoQ0FTU0FORFJBLTc3NTYpCiAqIFJlbW92ZSBkdXBsaWNhdGVzIGZyb20gU3RvcmFnZVNlcnZpY2UuZ2V0Sm9pbmluZ05vZGVzIChDQVNTQU5EUkEtNzQ3OCkKICogQ2xvbmUgdG9rZW4gbWFwIG91dHNpZGUgb2YgaG90IGdvc3NpcCBsb29wcyAoQ0FTU0FORFJBLTc3NTgpCiAqIEZpeCBNUyBleHBpcmluZyBtYXAgdGltZW91dCBmb3IgUGF4b3MgbWVzc2FnZXMgKENBU1NBTkRSQS03NzUyKQogKiBQ3L/AAAABT948slwAEHMKICogQWRkIGV4YW1wbGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILD8AAAEAQU5EUkEtNjA1OCkKICogUmVtb3ZlIEhhZG9vcCBkZXBlbmRlbmN5IGZyb20gSVRyYW5zcG9ydEZhY3RvcnkgKENBU1NBTkRSQS02MDYyKQogKiBhZGQgZmlsZV9jYWNoZV9zaXplX2luX21iIHNldHRpbmcgKENBU1NBTkRSQS01NjYxKQogKiBJbXByb3ZlIGVycm9yIG1lc3NhZ2Ugd2hlbiB5YW1sIGNvbnRhaW5zIGludmFsaWQgcHJvcGVydGllcyAoQ0FTU0FORFJBLTU5NTgpCiAqIEltcHJvdmUgbGV2ZWxlZCBjb21wYWN0aW9uJ3MgYWJpbGl0eSB0b1+1+/cAAAFP3jyyXAAQaW9uZXIgd2hlbiBzYXZpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsPwAAAQBheSBNZXNzYWdpbmdTZXJ2aWNlIGZvciBsb2NhbCByYW5nZSBxdWVyaWVzIChDQVNTQU5EUkEtMTI2MSkKICogbWFrZSBmcmFtZWQgdHJhbnNwb3J0IHRoZSBkZWZhdWx0IHNvIG1hbGZvcm1lZCByZXF1ZXN0cyBjYW4ndCBPT00gdGhlIAogICBzZXJ2ZXIgKENBU1NBTkRSQS00NzUpCiAqIHNpZ25pZmljYW50bHkgZmFzdGVyIHJlYWRzIGZyb20gcm93IGNhY2hlIChDQVNTQU5EUkEtMTI2NykKICogdGFrZSBhZHZhbnRhZ2Ugb2Ygcm93IGNhY2hlIGR1Jm7NZgAFdt4JGQccAAABT948slwAEDg2MikKICogRml4IHBhcmEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEEAAAEAaWVzIChDQVNTQU5EUkEtMjI4MCkKICogZG9uJ3QgYm90aGVyIHBlcnNpc3RpbmcgY29sdW1ucyBzaGFkb3dlZCBieSBhIHJvdyB0b21ic3RvbmUgKENBU1NBTkRSQS0yNTg5KQogKiByZXNldCBDRiBhbmQgU0MgZGVsZXRpb24gdGltZXMgYWZ0ZXIgZ2NfZ3JhY2UgKENBU1NBTkRSQS0yMzE3KQogKiBvcHRpbWl6ZSBhd2F5IHNlZWsgd2hlbiBjb21wYWN0aW5nIHdpZGUgcm93cyAoQ0FTU0FORFJBLTI4NzkpCiAqIHNpbmdsZS1wYXNzIHN0cmVhbWluZ00eW4kAAAFP3jyyXAAQNTUzMCkKICogQWRkIGFsaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsQQAAAQByYWRlU1NUYWJsZSBza2lwIGN1cnJlbnQgdmVyc2lvbiBzc3RhYmxlcyBieSBkZWZhdWx0IChDQVNTQU5EUkEtNTM2NikKICogT3B0aW1pemUgbWluL21heCB0aW1lc3RhbXAgY29sbGVjdGlvbiAoQ0FTU0FORFJBLTUzNzMpCiAqIEludmFsaWQgc3RyZWFtSWQgaW4gY3FsIGJpbmFyeSBwcm90b2NvbCB3aGVuIHVzaW5nIGludmFsaWQgQ0wgCiAgIChDQVNTQU5EUkEtNTE2NCkKICogRml4IHZhbGlkYXRpb24gZm9yIElOIHdoZXJlIGNsYXVzZXMgd2l0FeSPmgAAAU/ePLJcABBhY2hlU2VydmljZS5zaXplAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxBAAABAHNwZWNpYWxseSBvbiBDTCB3cml0ZXMgKENBU1NBTkRSQS0yNjYwKQogKiBhZGQgRFJPUCBJTkRFWCBzdXBwb3J0IHRvIENMSSAoQ0FTU0FORFJBLTI2MTYpCiAqIGRvbid0IHBlcmZvcm0gSEggdG8gY2xpZW50LW1vZGUgW3N0b3JhZ2Vwcm94eV0gbm9kZXMgKENBU1NBTkRSQS0yNjY4KQogKiBJbXByb3ZlIGZvcmNlRGVzZXJpYWxpemUvZ2V0Q29tcGFjdGVkUm93IGVuY2Fwc3VsYXRpb24gKENBU1NBTkRSQS0yNjU5KQogKiBEb24ndCB3cml0ZSBDb3UHOSjLAAABT948slwAEDc4KQogKiAoSEFET09QKSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEEAAAEANDgpCiAqIGNsaTogQWRkIEpNWCBhdXRoZW50aWNhdGlvbiBzdXBwb3J0IChDQVNTQU5EUkEtNTA4MCkKICogRml4IGZvcmNlRmx1c2ggYmVoYXZpb3IgKENBU1NBTkRSQS01MjQxKQogKiBjcWxzaDogQWRkIHVzZXJuYW1lIGF1dG9jb21wbGV0aW9uIChDQVNTQU5EUkEtNTIzMSkKICogRml4IENRTDMgY29tcG9zaXRlIHBhcnRpdGlvbiBrZXkgZXJyb3IgKENBU1NBTkRSQS01MjQwKQogKiBBbGxvdyBJTiBjbGF1c2Ugb24gbGFzdCBjbHVzdGVyaW5nIHEPaHUAAAFP3jyyXAAQbiBhbG9uZSAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsQQAAAQB1c3RlcmluZyBrZXkgKENBU1NBTkRSQS01MjMwKQpNZXJnZWQgZnJvbSAxLjE6CiAqIGZpeCBzdGFydCBrZXkvZW5kIHRva2VuIHZhbGlkYXRpb24gZm9yIHdpZGUgcm93IGl0ZXJhdGlvbiAoQ0FTU0FORFJBLTUxNjgpCiAqIGFkZCBDb25maWdIZWxwZXIgc3VwcG9ydCBmb3IgVGhyaWZ0IGZyYW1lIGFuZCBtYXggbWVzc2FnZSBzaXplcyAoQ0FTU0FORFJBLTUxODgpCiAqIGZpeCBub2RldG9vbCByZXBhaXIgbm90IGZhaWwgb24gbm9kZSBkb3duIChDZBgItAAAAU/ePLJcABA4NzQpCiAqIGNscXNoOiBmAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxBAAABACAKICAgKENBU1NBTkRSQS0xMDA3LCAxNjM3KQogKiBhZGQgY2xpIHN1cHBvcnQgZm9yIGJpbmFyeSBkYXRhIHdpdGhvdXQgQ2ZEZWYgaGludHMgKENBU1NBTkRSQS0xNjAzKQogKiBmaXggYnVpbGRpbmcgU1NUYWJsZSBzdGF0aXN0aWNzIHBvc3Qtc3RyZWFtIChDQVNTQU5EUkEtMTYyMCkKICogZml4IHBvdGVudGlhbCBpbmZpbml0ZSBsb29wIGluIDJhcnkgaW5kZXggcXVlcmllcyAoQ0FTU0FORFJBLTE2MjMpCiAqIGFsbG93IGNyZWF0aW5nIE5UUyBoEWGtAAABT948slwAEHcgZGVsZXRpbmcgc25hcHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEEAAAEAbiBuYW1lcywgd2hpY2ggYXJlIG5vdyBieXRlIGFycmF5cy4KICAgICAgRGVmYXVsdCBjb21wYXJhdG9ycyBhcmUgcHJvdmlkZWQgZm9yIFVURjgsIEJ5dGVzLCBBc2NpaSwgTG9uZyAoaTY0KSwKICAgICAgYW5kIFVVSUQgdHlwZXMuCiAgICAtIHJlbW92ZWQgY29sb24tZGVsaW1pdGVkIHN0cmluZ3MgaW4gdGhyaWZ0IGFwaSBpbiBmYXZvciBvZiBleHBsaWNpdAogICAgICBzdHJ1Y3RzIHN1Y2ggYXMgQ29sdW1uUGF0aCwgQ29sdW1uUGFyZW50LCBldDoXHWQAAAFP3jyyXAAQIChDQVNTQU5EUkEtMjQyNQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsQQAAAQA4NDk5KQogKiBJbmNyZWFzZSBiZiB0cnVlIHBvc2l0aXZlIGNvdW50IG9uIGtleSBjYWNoZSBoaXQgKENBU1NBTkRSQS04NTI1KQogKiBNb3ZlIE1ldGVyZWRGbHVzaGVyIHRvIGl0cyBvd24gdGhyZWFkIChDQVNTQU5EUkEtODQ4NSkKICogRml4IG5vbi1kaXN0aW5jdCByZXN1bHRzIGluIERJU1ROQ1QgcXVlcmllcyBvbiBzdGF0aWMgY29sdW1ucyB3aGVuCiAgIHBhZ2luZyBpcyBlbmFibGVkIChDQVNTQU5EUkEtODA4NykKICogTW92ZSBhbGwgaGlu84AtiQAAAU/ePLJcABB0aW9uIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxBAAABACBmcm9tIHRhYi1jb21wbGV0aW9uCiAgIChDQVNTQU5EUkEtNzg5NSkKICogRml4ZWQgSWxsZWdhbFN0YXRlRXhjZXB0aW9uIGluIGFudGljb21wYWN0aW9uIChDQVNTQU5EUkEtNzg5MikKICogY3Fsc2g6IERFU0NSSUJFIHN1cHBvcnQgZm9yIGZyb3plbiBVRFRzLCB0dXBsZXMgKENBU1NBTkRSQS03ODYzKQogKiBBdm9pZCBleHBvc2luZyBpbnRlcm5hbCBjbGFzc2VzIG92ZXIgSk1YIChDQVNTQU5EUkEtNzg3OSkKICogQWRkIG51bGwgY2hlY2sgZm9phGxqAAABT948slwAEGVyYWxzIGluIENRTCBxdWUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEEAAAEARk9GIChDQVNTQU5EUkEtNDIwOCkKICogU3VwcG9ydCByZXBhaXJpbmcgb25seSB0aGUgbG9jYWwgREMgbm9kZXMgKENBU1NBTkRSQS00NzQ3KQogKiBVc2UgcnBjX2FkZHJlc3MgZm9yIGJpbmFyeSBwcm90b2NvbCBhbmQgY2hhbmdlIGRlZmF1bHQgcG9ydCAoQ0FTU0FORFJBLTQ3NTEpCiAqIEZpeCB1c2Ugb2YgY29sbGVjdGlvbnMgaW4gcHJlcGFyZWQgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTQ3MzkpCiAqIFN0b3JlIG1vcmUgaW5mb3JtYXRpb24gaT7VBFoAAAFP3jyyXAAQZSBXaW5kb3dzIFhQIGxpbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsQQAAAQBsIGNvbnRhaW5zIGludmFsaWQgcHJvcGVydGllcyAoQ0FTU0FORFJBLTU5NTgpCiAqIEltcHJvdmUgbGV2ZWxlZCBjb21wYWN0aW9uJ3MgYWJpbGl0eSB0byBmaW5kIG5vbi1vdmVybGFwcGluZyBMMCBjb21wYWN0aW9ucwogICB0byB3b3JrIG9uIGNvbmN1cnJlbnRseSAoQ0FTU0FORFJBLTU5MjEpCiAqIE5vdGlmeSBpbmRleGVyIG9mIGNvbHVtbnMgc2hhZG93ZWQgYnkgcmFuZ2UgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTU2MTQpCiAqIExvZyBNZXJrJWoPegAAAU/ePLJcABBtYXJrIGEgaG9zdAogICBkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxBAAABAGZvciB3aWRlIHJvdyBpdGVyYXRpb24gKENBU1NBTkRSQS01MTY4KQogKiBhZGQgQ29uZmlnSGVscGVyIHN1cHBvcnQgZm9yIFRocmlmdCBmcmFtZSBhbmQgbWF4IG1lc3NhZ2Ugc2l6ZXMgKENBU1NBTkRSQS01MTg4KQogKiBmaXggbm9kZXRvb2wgcmVwYWlyIG5vdCBmYWlsIG9uIG5vZGUgZG93biAoQ0FTU0FORFJBLTUyMDMpCiAqIGFsd2F5cyBjb2xsZWN0IHRvbWJzdG9uZSBoaW50cyAoQ0FTU0FORFJBLTUwNjgpCiAqIEZpeCBlcnJvciB3aGVuIHNR+EXPAAABT948slwAEG5kZXggc3VtbWFyeSBjb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEEAAAEAZGVsZXRlZCBjZiBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTI3ODYpCiAqIGZpeCByYWNlIHRoYXQgY291bGQgcmVzdWx0IGluIEhhZG9vcCB3cml0ZXIgZmFpbGluZyB0byB0aHJvdyBhbgogICBleGNlcHRpb24gZW5jb3VudGVyZWQgYWZ0ZXIgY2xvc2UoKSAoQ0FTU0FORFJBLTI3NTUpCiAqIGZpeCBzY2FuIHdyb25nbHkgdGhyb3dpbmcgYXNzZXJ0aW9uIGVycm9yIChDQVNTQU5EUkEtMjY1MykKICogQWx3YXlzIHVzZSBldmVuIGRpc3RyaYK8rLsAAAFP3jyyXAAQY2xlYXIgb3V0IHJlcGFpcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsQQAAAQApCiAqIGNxbHNoOiByZXR1cm4gdGhlIHJlc3VsdCBvZiBDQVMgd3JpdGVzIChDQVNTQU5EUkEtNTc5NikKICogRml4IHZhbGlkYXRpb24gb2YgSU4gY2xhdXNlcyB3aXRoIDJuZGFyeSBpbmRleGVzIChDQVNTQU5EUkEtNjA1MCkKICogU3VwcG9ydCBuYW1lZCBiaW5kIHZhcmlhYmxlcyBpbiBDUUwgKENBU1NBTkRSQS02MDMzKQpNZXJnZWQgZnJvbSAxLjI6CiAqIEFsbG93IGNhY2hlLWtleXMtdG8tc2F2ZSB0byBiZSBzZXQgYXQgcnVudGltZSAoQ0FTu9b3+gAAAU/ePLJcABBORFJBLTg0MTcpCiAqIFJlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxBAAABAGVUeXBlIHdoZW4gZmluaXNoaW5nIGEgcHJldmlvdXMgcm91bmQgZHVyaW5nIFBheG9zCiAgIHByZXBhcmF0aW9uIChDQVNTQU5EUkEtODY3MikKICogQXZvaWQgcmFjZSBpbiBjYW5jZWxsaW5nIGNvbXBhY3Rpb25zIChDQVNTQU5EUkEtOTA3MCkKICogTW9yZSBhZ2dyZXNzaXZlIGNoZWNrIGZvciBleHBpcmVkIHNzdGFibGVzIGluIERUQ1MgKENBU1NBTkRSQS04MzU5KQogKiBGaXggaWdub3JlZCBpbmRleF9pbnRlcnZhbCBjaGFuZ2UgaW4gQUxURVK+v0kpAAWLO9xjnCwAAAFP3jyyXAAQb3ZlIG5vbmxvY2FsIERDIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsRAAAAQBDQVNTQU5EUkEtMzQwMykKICogZXhwaXJlIGRlYWQgZ29zc2lwIHN0YXRlcyBiYXNlZCBvbiB0aW1lIChDQVNTQU5EUkEtMjk2MSkKICogaW1wcm92ZSBDb21wYWN0aW9uVGFzayBleHRlbnNpYmlsaXR5IChDQVNTQU5EUkEtMzMzMCkKICogQWxsb3cgb25lIGxldmVsZWQgY29tcGFjdGlvbiB0YXNrIHRvIGtpY2sgb2ZmIGFub3RoZXIgKENBU1NBTkRSQS0zMzYzKQogKiBhbGxvdyBlbmNyeXB0aW9uIG9ubHkgYmV0d2VlbiBkYXRhY2VudGVycyAoQ0FTKzjZQwAAAU/ePLJcABBleGVzIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxEAAABAFJBLTI3OTcpCiAqIHB1cmdlIHRvbWJzdG9uZSBldmVuIGlmIHJvdyBpcyBpbiBvbmx5IG9uZSBzc3RhYmxlIChDQVNTQU5EUkEtMjgwMSkKICogRml4IHdyb25nIHB1cmdlIG9mIGRlbGV0ZWQgY2YgZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS0yNzg2KQogKiBmaXggcmFjZSB0aGF0IGNvdWxkIHJlc3VsdCBpbiBIYWRvb3Agd3JpdGVyIGZhaWxpbmcgdG8gdGhyb3cgYW4KICAgZXhjZXB0aW9uIGVuY291bnRlcmVkIGFmdGVyIGNsb3NlKCkgKEMRkfhwAAABT948slwAEGliZV9wYXJ0aXRpb25lciAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEQAAAEAbWEgaW52ZXJzZXMKICAgKENBU1NBTkRSQV8zNTU5KQogKiBBZGQgaW5pdGlhbCBjb2RlIGZvciBDUUwgMy4wLWJldGEgKENBU1NBTkRSQS0yNDc0LCAzNzgxLCAzNzUzKQogKiBBZGQgd2lkZSByb3cgc3VwcG9ydCBmb3IgQ29sdW1uRmFtaWx5SW5wdXRGb3JtYXQgKENBU1NBTkRSQS0zMjY0KQogKiBBbGxvdyBleHRlbmRpbmcgQ29tcG9zaXRlVHlwZSBjb21wYXJhdG9yIChDQVNTQU5EUkEtMzY1NykKICogQXZvaWRzIG92ZXItcGFnaW5nIGR1cmluZ0Mtk6YAAAFP3jyyXAAQKSBEaXNwbGF5IHRoZSBjdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsRAAAAQBhY2Nlc3MgdG8gdGltZXN0YW1wCiAqIEpEQkMgUmVzdWx0U2V0TWV0YWRhdGEgcHJvcGVydGllcyBhZGRlZCB0byBBYnN0cmFjdFR5cGUKICogci9tIGNsdXN0ZXJ0b29sIChDQVNTQU5EUkEtMjYwNykKICogYWRkIHN1cHBvcnQgZm9yIHByZXNlbnRpbmcgcm93IGtleSBhcyBhIGNvbHVtbiBpbiBDUUwgcmVzdWx0IHNldHMgCiAgIChDQVNTQU5EUkEtMjYyMikKICogRG9uJ3QgYWxsb3cge0xPQ0FMfEVBQ0h9X1FVT1JVTSB1bmxlc3Mgc3RyYXRlZ3kgJUX0yAAAAU/ePLJcABBldmVsZWQgY29tcGFjdGlvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxEAAABAENBU1NBTkRSQS0yOTcyKQogKiB1c2UgSkFWQSBlbnYgdmFyIGluIGNhc3NhbmRyYS1lbnYuc2ggKENBU1NBTkRSQS0yNzg1LCAyOTkyKQogKiBhdm9pZCBkb2luZyByZWFkIGZvciBuby1vcCByZXBsaWNhdGUtb24td3JpdGUgYXQgQ0w9MSAoQ0FTU0FORFJBLTI4OTIpCiAqIHJlZnVzZSBjb3VudGVyIHdyaXRlIGZvciBDTC5BTlkgKENBU1NBTkRSQS0yOTkwKQogKiBzd2l0Y2ggYmFjayB0byBvbmx5IGxvZ2dpbmcgcmVjZW50IGRyb3BwZWQgbWVzc2FHOun+AAABT948slwAEGx0c2V0IGNvbnNpc3RpbmcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEQAAAEAIHdoZW4gdGFibGUgZHJvcHBlZCBkdXJpbmcgc3RyZWFtaW5nIChDQVNTQU5EUkEtNzk0NikKICogRml4IHdyb25nIHByb2dyZXNzIHdoZW4gc3RyZWFtaW5nIHVuY29tcHJlc3NlZCAoQ0FTU0FORFJBLTc4NzgpCiAqIEZpeCBwb3NzaWJsZSBpbmZpbml0ZSBsb29wIGluIGNyZWF0aW5nIHJlcGFpciByYW5nZSAoQ0FTU0FORFJBLTc5ODMpCiAqIEZpeCB1bml0IGluIG5vZGV0b29sIGZvciBzdHJlYW1pbmcgdGhyb3VnaHB1dCAoQ0FTU0FORFJBLTczN/k5VOcAAAFP3jyyXAAQIChDQVNTQU5EUkEtNDU2NgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsRAAAAQB0aHJvdWdocHV0IChDQVNTQU5EUkEtMzU3MSkKICogZml4IGFzc2VydGlvbiB3aGVuIGRyb3BwaW5nIGEgY29sdW1uZmFtaWx5IHdpdGggbm8gc3N0YWJsZXMgKENBU1NBTkRSQS0zNjE0KQogKiBtb3JlIGVmZmljaWVudCBhbGxvY2F0aW9uIG9mIHNtYWxsIGJsb29tIGZpbHRlcnMgKENBU1NBTkRSQS0zNjE4KQogKiBDTGlicmFyeS5jcmVhdGVIYXJkTGlua1dpdGhFeGVjKCkgdG8gY2hlY2sgZm9yIGVycm9ycyAoQ0FTU0FORFJBLTMxMDEpCiAqIEF2RFk+iwAAAU/ePLJcABBSQS0zNjc3KQogKiBEb24nAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxEAAABAHJlIHN0YXJ0aW5nIChDQVNTQU5EUkEtMjAzNCkKICogQWRkIHRocm90dGxpbmcgZm9yIGludGVybm9kZSBzdHJlYW1pbmcgKENBU1NBTkRSQS0zMDgwKQogKiBtYWtlIHRoZSByZXBhaXIgb2YgYSByYW5nZSByZXBhaXIgYWxsIHJlcGxpY2EgKENBU1NBTkRSQS0yNjEwLCAzMTk0KQogKiBleHBvc2UgdGhlIGFiaWxpdHkgdG8gcmVwYWlyIHRoZSBmaXJzdCByYW5nZSAoYXMgcmV0dXJuZWQgYnkgdGhlCiAgIHBhcnRpdGlvbmVyKSBvZiBhIG5vZGUgKEMYoyIcAAABT948slwAEERSQS01MjcyKQogKiAoSGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEQAAAEAIHZlcnNpb24gKENBU1NBTkRSQS04MTg4KQogKiBSZWZhY3RvciBob3cgd2UgdHJhY2sgbGl2ZSBzaXplIChDQVNTQU5EUkEtNzg1MikKICogTWFrZSBzdXJlIHVuZmluaXNoZWQgY29tcGFjdGlvbiBmaWxlcyBhcmUgcmVtb3ZlZCAoQ0FTU0FORFJBLTgxMjQpCiAqIEZpeCBzaHV0ZG93biB3aGVuIHJ1biBhcyBXaW5kb3dzIHNlcnZpY2UgKENBU1NBTkRSQS04MTM2KQogKiBGaXggREVTQ1JJQkUgVEFCTEUgd2l0aCBjdXN0b20gaW5kZXhlcyAoQ0FTU7BpKNUAAAFP3jyyXAAQZWQgcXVlcmllcyAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsRAAAAQBuZyBjb2xkIHNzdGFibGVzIHdpdGgKICAgU1RDUyAoQ0FTU0FORFJBLTg2MzUpCiAqIHJwY19pbnRlcmZhY2UgYW5kIGxpc3Rlbl9pbnRlcmZhY2UgZ2VuZXJhdGUgTlBFIG9uIHN0YXJ0dXAgd2hlbiBzcGVjaWZpZWQKICAgaW50ZXJmYWNlIGRvZXNuJ3QgZXhpc3QgKENBU1NBTkRSQS04Njc3KQogKiBGaXggQXJyYXlJbmRleE91dE9mQm91bmRzRXhjZXB0aW9uIGluIG5vZGV0b29sIGNmaGlzdG9ncmFtcyAoQ0FTU0FORFJBLTg1MTQpCiAqIFN3aXRj2dXmdAAAAU/ePLJcABBDQVNTQU5EUkEtNDAxKQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxEAAABAGlyJ3MgbWVya2xlIHRyZWUgY29tcHV0YXRpb24gKENBU1NBTkRSQS0yODE2KQoKCjAuOC4xCiAqIENRTDoKICAgLSBzdXBwb3J0IGZvciBpbnNlcnQsIGRlbGV0ZSBpbiBCQVRDSCAoQ0FTU0FORFJBLTI1MzcpCiAgIC0gc3VwcG9ydCBmb3IgSU4gdG8gU0VMRUNULCBVUERBVEUgKENBU1NBTkRSQS0yNTUzKQogICAtIHRpbWVzdGFtcCBzdXBwb3J0IGZvciBJTlNFUlQsIFVQREFURSwgYW5kIEJBVENIIChDQVNTQU5EUkEtMjU1NSkKICAgLSBUVEwgc3V5utZjAAABT948slwAECogQWRkIHZhbGlkYXRpb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEQAAAEAZGVjb3JhdGVka2V5cyAoQ0FTU0FORFJBLTI0MTYpCiAqIGNvbnZlcnQgbW1hcCBhc3NlcnRpb24gdG8gaWYvdGhyb3cgc28gc2NydWIgY2FuIGNhdGNoIGl0IChDQVNTQU5EUkEtMjQxNykKICogZG9uJ3Qgb3ZlcndyaXRlIGdjIGxvZyAoQ0FTU0FORFItMjQxOCkKICogaW52YWxpZGF0ZSByb3cgY2FjaGUgZm9yIHN0cmVhbWVkIHJvdyB0byBhdm9pZCBpbmNvbnNpdGVuY2llcwogICAoQ0FTU0FORFJBLTI0MjApCiAqIGF2b2lkIGNvcGllcyBpbiByYbaLzY4AAAFP3jyyXAAQcm9tIDUwIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsRAAAAQAgaW4gbm9kZXByb2JlIGNmc3RhdHMgb3V0cHV0IChDQVNTQU5EUkEtNjQ2KQogKiBwcm92aWRlIGEgcG9saWN5IGZvciBkZWFsaW5nIHdpdGggc2luZ2xlIHRocmVhZCBleGVjdXRvcnMgdy8gYSBmdWxsIHF1ZXVlCiAgIChDQVNTQU5EUkEtNjk0KQogKiBvcHRpbWl6ZSBpbm5lciByZWFkIGluIE1lc3NhZ2luZ1NlcnZpY2UsIHZhc3RseSBpbXByb3ZpbmcgbXVsdGlwbGUtbm9kZQogICBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTY3NSkKICogd2FpdCBm1x+xewAAAU/ePLJcABBTQU5EUkEtMzI4MikKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxEAAABAHJ5IGluZGV4ZXMgKENBU1NBTkRSQS02NTk4KQogKiBQYWdpbmF0ZSBiYXRjaGxvZyByZXBsYXkgKENBU1NBTkRSQS02NTY5KQogKiBza2lwIGJsb2NraW5nIG9uIHN0cmVhbWluZyBkdXJpbmcgZHJhaW4gKENBU1NBTkRSQS02NjAzKQogKiBJbXByb3ZlIGVycm9yIG1lc3NhZ2Ugd2hlbiBzY2hlbWEgZG9lc24ndCBtYXRjaCBsb2FkZWQgc3N0YWJsZSAoQ0FTU0FORFJBLTYyNjIpCiAqIEFkZCBwcm9wZXJ0aWVzIHRvIGFkanVzdCBGRCBpbml0aWFsIHYCLF0XAAABT948slwAECBvZiBzdXBlcmNvbHVtbnMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEQAAAEAdGggc3VwZXIgY29sdW1ucyAoQ0FTU0FORFJBLTUyODcpCiAqIEZpeCBpbnN1ZmZpY2llbnQgdmFsaWRhdGlvbiBvZiBVUERBVEUgcXVlcmllcyBhZ2FpbnN0IGNvdW50ZXIgY2ZzCiAgIChDQVNTQU5EUkEtNTMwMCkKICogRml4IFByb3BlcnR5RmlsZVNuaXRjaCBkZWZhdWx0IERDL1JhY2sgYmVoYXZpb3IgKENBU1NBTkRSQS01Mjg1KQogKiBIYW5kbGUgbnVsbCB2YWx1ZXMgd2hlbiBleGVjdXRpbmcgcHJlcGFyZWQgc3RhdGVtZW50IChDQVNTQU5EUjLHIY0ABaBsrREVKwAAAU/ePLJcABByIG5ldyBjYW5kaWRhdGVzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxGAAABAG0gdG9rZW4gKENBU1NBTkRSQS0xMTEyKQogKiBraWxsIHNlcnZlciBvbiBPT00gaW4gZXhlY3V0b3Igc3RhZ2UgYXMgd2VsbCBhcyBUaHJpZnQgKENBU1NBTkRSQS0xMjI2KQogKiByZW1vdmUgb3Bwb3J0dW5pc3RpYyByZXBhaXJzLCB3aGVuIHR3byBtYWNoaW5lcyB3aXRoIG92ZXJsYXBwaW5nIHJlcGxpY2EKICAgcmVzcG9uc2liaWxpdGllcyBoYXBwZW4gdG8gZmluaXNoIG1ham9yIGNvbXBhY3Rpb25zIG9mIHRoZSBzYW1lIENGIG5lYXIKICAgdGjSBtHWAAABT948slwAEEZpeCBpc3N1ZXMgd2l0aCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEYAAAEAIGNhbm5vbmljYWwgaG9zdCBmb3IgbG9jYWwgbm9kZSBpbiBub2RldG9vbCBpbmZvIChDQVNTQU5EUkEtMzU1NikKICogcmVtb3ZlIG5vbmxvY2FsIERDIHdyaXRlIG9wdGltaXphdGlvbiBzaW5jZSBpdCBvbmx5IHdvcmtlZCB3aXRoCiAgIENMLk9ORSBvciBDTC5MT0NBTF9RVU9SVU0gKENBU1NBTkRSQS0zNTc3LCAzNTg1KQogKiBkZXRlY3QgbWlzdXNlcyBvZiBDb3VudGVyQ29sdW1uVHlwZSAoQ0FTU0FORFJBLTM0MjIpCiAqIHR1cm4gb2ZmIHN0ctyKDCQAAAFP3jyyXAAQKQogKiBjaGFuZ2UgZXhjZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsRgAAAQB3TXV0YXRpb24gZm9yIGNvdW50ZXJzIChDQVNTQU5EUkEtMzAwNikKICogaWdub3JlIHNhdmVkIHJlcGxpY2F0aW9uX2ZhY3RvciBzdHJhdGVneV9vcHRpb24gZm9yIE5UUyAoQ0FTU0FORFJBLTMwMTEpCiAqIG1ha2Ugc3VyZSBwcmUtdHJ1bmNhdGUgQ0wgc2VnbWVudHMgYXJlIGRpc2NhcmRlZCAoQ0FTU0FORFJBLTI5NTApCgoKMC44LjMKICogYWRkIGFiaWxpdHkgdG8gZHJvcCBsb2NhbCByZWFkcy93cml0ZXMgdGhhdCBhcmUgZ29pbmcgdG8gdGltMIMw6AAAAU/ePLJcABBlcmdlZCBmcm9tIDEuMToKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxGAAABAHRpbWUvdHRsIGZ1bmN0aW9ucyBvbiBudWxsIHZhbHVlcyAoQ0FTU0FORFJBLTUzNDEpCiAqIEZpeCBOUEUgZHVyaW5nIGNxbDMgc2VsZWN0IHdpdGggdG9rZW4oKSAoQ0FTU0FORFJBLTU0MDQpCiAqIEluZGV4SGVscGVyLnNraXBCbG9vbUZpbHRlcnMgd29uJ3Qgc2tpcCBub24tU0hBIGZpbHRlcnMgKENBU1NBTkRSQS01Mzg1KQogKiBjcWxzaDogUHJpbnQgbWFwcyBvcmRlcmVkIGJ5IGtleSwgc29ydCBzZXRzIChDQVNTQU5EUkEtNTQxMykKICogQWRw4x5CAAABT948slwAEGNpbmcgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEYAAAEAb2Ygc2VtaWNvbG9ucyBpbnNpZGUgQkFUQ0ggcXVlcmllcyAoQ0FTU0FORFJBLTU2OTcpCgoKMS4yLjYKICogRml4IHRyYWNpbmcgd2hlbiBvcGVyYXRpb24gY29tcGxldGVzIGJlZm9yZSBhbGwgcmVzcG9uc2VzIGFycml2ZSAKICAgKENBU1NBTkRSQS01NjY4KQogKiBGaXggY3Jvc3MtREMgbXV0YXRpb24gZm9yd2FyZGluZyAoQ0FTU0FORFJBLTU2MzIpCiAqIFJlZHVjZSBTU1RhYmxlTG9hZGVyIG1lbW9yeSB1c2FnZSAoQ0FTU0FORFJBLTU1NTUpCm352ucAAAFP3jyyXAAQZW1hIG1lcmdlIHBlcmZvcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsRgAAAQBSQS0yNzU2KQogICAtIGtleSBhbGlhcyBzdXBwb3J0IChDQVNTQU5EUkEtMjQ4MCkKICogYWRkIHN1cHBvcnQgZm9yIGNvbXBhcmF0b3IgcGFyYW1ldGVycyBhbmQgYSBnZW5lcmljIFJldmVyc2VUeXBlCiAgIChDQVNTQU5EUkEtMjM1NSkKICogYWRkIENvbXBvc2l0ZVR5cGUgYW5kIER5bmFtaWNDb21wb3NpdGVUeXBlIChDQVNTQU5EUkEtMjIzMSkKICogb3B0aW1pemUgYmF0Y2hlcyBjb250YWluaW5nIG11bHRpcGxlIHVwZGF0ZXMgdG8gdGhlIHNhaP+g3AAAAU/ePLJcABB0byB0cmFja2luZyByZWFkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxGAAABAGhlZHVsZWQgcmFuZ2UgeGZlcnMgKENBU1NBTkRSQS03MTQzKQogKiBNYWtlIGJhdGNobG9nIHJlcGxpY2Egc2VsZWN0aW9uIHJhY2stYXdhcmUgKENBU1NBTkRSQS02NTUxKQogKiBGaXggQ0ZNZXRhRGF0YSNnZXRDb2x1bW5EZWZpbml0aW9uRnJvbUNvbHVtbk5hbWUoKSAoQ0FTU0FORFJBLTcwNzQpCiAqIEZpeCB3cml0ZXRpbWUvdHRsIGZ1bmN0aW9ucyBmb3Igc3RhdGljIGNvbHVtbnMgKENBU1NBTkRSQS03MDgxKQogKiBTdWdnZXN0IENUUkwtQyBs3dKbAAABT948slwAEGVyLWV4aXN0aW5nIENGcyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEYAAAEAeCBDUUwzIEJBVENIIGF1dGhvcml6YXRpb24gY2FjaGluZyAoQ0FTU0FORFJBLTUxNDUpCiAqIGZpeCBnZXRfY291bnQgcmV0dXJucyBpbmNvcnJlY3QgdmFsdWUgd2l0aCBUVEwgKENBU1NBTkRSQS01MDk5KQogKiBiZXR0ZXIgaGFuZGxpbmcgZm9yIG1pZC1jb21wYWN0aW9uIGZhaWx1cmUgKENBU1NBTkRSQS01MTM3KQogKiBjb252ZXJ0IGRlZmF1bHQgbWFyc2hhbGxlcnMgbGlzdCB0byBtYXAgZm9yIGJldHRlciByZWFkYWJpbGl0eSAoQ0FTU0FORO0XSGUAAAFP3jyyXAAQbGwgcmVwYWlyIG9wZXJhdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsRgAAAQAgYWxsb3cgaW5kZXggZXhwcmVzc2lvbnMgYWdhaW5zdCBjb2x1bW5zIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIHRoZSAKICAgU2xpY2VQcmVkaWNhdGUgKENBU1NBTkRSQS0xNDEwKQogKiBjb25maWctY29udmVydGVyIHByb3Blcmx5IGhhbmRsZXMgc25pdGNoZXMgYW5kIGZyYW1lZCBzdXBwb3J0IAogICAoQ0FTU0FORFJBLTE0MjApCiAqIHJlbW92ZSBrZXlzcGFjZSBhcmd1bWVudCBmcm9tIG11bHRpZ2V0X2NvdW50IChDQVNTQU5EUkEtMTQyMikKICogc7l9KwAAAU/ePLJcABBpb24gKENBU1NBTkRSQS03AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxGAAABAAogKiBhbGxvdyBKZGJjRGF0ZSB0byBjb21wb3NlIG51bGwgRGF0ZSBvYmplY3RzIChDQVNTQU5EUkEtNDgzMCkKICogZml4IHBvc3NpYmxlIHN0YWNrb3ZlcmZsb3cgd2hlbiBjb21wYWN0aW5nIDEwMDBzIG9mIHNzdGFibGVzCiAgIChDQVNTQU5EUkEtNDc2NSkKICogZml4IHdyb25nIGxldmVsZWQgY29tcGFjdGlvbiBwcm9ncmVzcyBjYWxjdWxhdGlvbiAoQ0FTU0FORFJBLTQ4MDcpCiAqIGFkZCBhIGNsb3NlKCkgbWV0aG9kIHRvIENSQVIgdG8gcHI1Hwy+AAABT948slwAEGNvcmRSZWFkZXIgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEYAAAEAbiBkZWNvZGUgZmFpbHVyZSAKICAgICAoQ0FTU0FORFJBLTM4NzQpCiAqIGFkZCBub2RldG9vbCByZWJ1aWxkX2luZGV4IChDQVNTQU5EUkEtMzU4MykKICogYWRkIG5vZGV0b29sIHJhbmdla2V5c2FtcGxlIChDQVNTQU5EUkEtMjkxNykKICogRml4IHN0cmVhbWluZyB0b28gbXVjaCBkYXRhIGR1cmluZyBtb3ZlIG9wZXJhdGlvbnMgKENBU1NBTkRSQS0zNjM5KQogKiBOb2RldG9vbCBhbmQgQ0xJIGNvbm5lY3QgdG8gbG9jYWxob3N0IGJ5IGRlZmF1bGgtuNQAAAFP3jyyXAAQTkRSQS01NTQ0KQoKCjEuMgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsRgAAAQBTU0FORFJBLTMxNzgpCiAqIFJldmVydCBDQVNTQU5EUkEtMjg1NQogKiBGaXggYnVnIHByZXZlbnRpbmcgdGhlIHVzZSBvZiBlZmZpY2llbnQgY3Jvc3MtREMgd3JpdGVzIChDQVNTQU5EUkEtMzQ3MikKICogYGRlc2NyaWJlIHJpbmdgIGNvbW1hbmQgZm9yIENMSSAoQ0FTU0FORFJBLTMyMjApCiAqIChIYWRvb3ApIHNraXAgZW1wdHkgcm93cyB3aGVuIGVudGlyZSByb3cgaXMgcmVxdWVzdGVkLCByZWR1eCAoQ0FTU0FORFJBLTI4NTUpCgoKMS4wLjIK7iLWswAAAU/ePLJcABBjb2x1bW4gbmFtZXMgaW4gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxGAAABAG90X2JlZm9yZV9jb21wYWN0aW9uIAogICAoQ0FTU0FORFJBLTM4MDMpCiAqIExvZyBhY3RpdmUgY29tcGFjdGlvbnMgaW4gU3RhdHVzTG9nZ2VyIChDQVNTQU5EUkEtMzcwMykKICogQ29tcHV0ZSBtb3JlIGFjY3VyYXRlIGNvbXBhY3Rpb24gc2NvcmUgcGVyIGxldmVsIChDQVNTQU5EUkEtMzc5MCkKICogUmV0dXJuIEludmFsaWRSZXF1ZXN0IHdoZW4gdXNpbmcgYSBrZXlzcGFjZSB0aGF0IGRvZXNuJ3QgZXhpc3QKICAgKENBU1NBTkRSQS0zNzY0KQqd1Qq/AAABT948slwAEG9mIGNsaWVudHV0aWwuamEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEYAAAEANzkpCiAqIGltcHJvdmUgRHluYW1pY0VuZHBvaW50U25pdGNoIGJ5IHVzaW5nIHJlc2Vydm9pciBzYW1wbGluZyAoQ0FTU0FORFJBLTQwMzgpCiAqIChjcWwzKSBBZGQgc3VwcG9ydCBmb3IgMm5kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS0zNjgwKQogKiAoY3FsMykgZml4IGRlZmluaW5nIG1vcmUgdGhhbiBvbmUgUEsgdG8gYmUgaW52YWxpZCAoQ0FTU0FORFJBLTQ0NzcpCiAqIHJlbW92ZSBzY2hlbWEgYWdyZWVtZW50IGNoZWNraW5nIGZyb20gYWxsINBJBLsAAAFP3jyyXAAQQU5EUkEtNjUwNSkKICogRgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsRgAAAQAzODg1KQogKiBBZGQgY29sdW1uIG1ldGFkYXRhIHRvIHN5c3RlbSBjb2x1bW4gZmFtaWxpZXMgKENBU1NBTkRSQS00MDE4KQogKiAoY3FsMykgQWx3YXlzIHVzZSBjb21wb3NpdGUgdHlwZXMgYnkgZGVmYXVsdCAoQ0FTU0FORFJBLTQzMjkpCiAqIChjcWwzKSBBZGQgc3VwcG9ydCBmb3Igc2V0LCBtYXAgYW5kIGxpc3QgKENBU1NBTkRSQS0zNjQ3KQogKiBWYWxpZGF0ZSBkYXRlIHR5cGUgY29ycmVjdGx5IChDQVNTQU5EUkEtNDQ0MSkKICogKGNxbDMpGd3jnQAAAF6tl6PvAAlLZXlzcGFjZTYAAAABAZ9cY3TUhTIpmgpQlK+a0eN/////gAAAAAAAAAAAAAAAAAAAAQAbSW5kZXhlZDEuNjI2OTcyNzQ2ODY0NjE3NDY1AAAFFffV7PVYAAAAAETvtKkAAABerZej7wAUUGVyUm93U2Vjb25kYXJ5SW5kZXgAAAABAZ9cY3TUhTIpmgpQlK+a0eN/////gAAAAAAAAAAAAAAAAAAAAQAQVGVzdEluZGV4aW5kZXhlZAAABRX31ez1WAAAAAB3u0cSAAW0yS5uLBUAAAFP3jyyXAAQIGNvbXBvc2l0ZSBpbmRleAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsSAAAAQBBU1NBTkRSQS00MTU2KQogKiAoY3FsKSBGaXggdHlwZSBpbiBDUUwzIEFMVEVSIFRBQkxFIHByZXZlbnRpbmcgdXBkYXRlIChDQVNTQU5EUkEtNDE3MCkKICogKGNxbCkgVGhyb3cgaW52YWxpZCBleGNlcHRpb24gZnJvbSBDUUwzIG9uIG9ic29sZXRlIG9wdGlvbnMgKENBU1NBTkRSQS00MTcxKQogKiAoY3Fsc2gpIGZpeCByZWNvZ25pemluZyB1cHBlcmNhc2UgU0VMRUNUIGtleXdvcmQgKENBU1NBTkRSQS00MTYxKQogKiBQaWc6IHdpZGUgcm93IHN1SDVeTwAAAU/ePLJcABAgKiBGaXggbWFwIGVsZW1lAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxIAAABAFJBLTY1OTcpCiAqIFVzZSBMT0NBTF9RVU9SVU0gZm9yIExXVCBvcGVyYXRpb25zIGF0IExPQ0FMX1NFUklBTCAoQ0FTU0FORFJBLTY0OTUpCiAqIFdhaXQgZm9yIGdvc3NpcCB0byBzZXR0bGUgYmVmb3JlIGFjY2VwdGluZyBjbGllbnQgY29ubmVjdGlvbnMgKENBU1NBTkRSQS00Mjg4KQogKiBEZWxldGUgdW5maW5pc2hlZCBjb21wYWN0aW9uIGluY3JlbWVudGFsbHkgKENBU1NBTkRSQS02MDg2KQogKiBBbGxvdyBzcGVjaWZ5aW5nIGN1c3RvbSBzZWO9kx6LAAABT948slwAEENBU1NBTkRSQS01MTQ4KQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEgAAAEAZW50IHJhbmdlIHNsaWNlcyBhbmQgMmFyeSBpbmRleCBxdWVyaWVzIChDQVNTQU5EUkEtNzYyNikKICogRml4IHNjcnViIGFnYWluc3QgY29sbGVjdGlvbiB0eXBlIChDQVNTQU5EUkEtNzY2NSkKTWVyZ2VkIGZyb20gMi4wOgogKiBTZXQgZ2NfZ3JhY2Vfc2Vjb25kcyB0byBzZXZlbiBkYXlzIGZvciBzeXN0ZW0gc2NoZW1hIHRhYmxlcyAoQ0FTU0FORFJBLTc2NjgpCiAqIFNpbXBsZVNlZWRQcm92aWRlciBubyBsb25nZXIgY2FjaGVzIHNlZWRzIGZvciJMiLYAAAFP3jyyXAAQdXJpbmcgYm9vdHN0cmFwIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsSAAAAQB5IChDQVNTQU5EUkEtMTU0MSkKICogbG9jayByb3cgY2FjaGUgdXBkYXRlcyB0byBwcmV2ZW50IHJhY2UgY29uZGl0aW9uIChDQVNTQU5EUkEtMTI5MykKICogcmVtb3ZlIGFzc2VydGlvbiBjYXVzaW5nIHJhcmUgKGFuZCBoYXJtbGVzcykgZXJyb3IgbWVzc2FnZXMgaW4KICAgY29tbWl0bG9nIChDQVNTQU5EUkEtMTMzMCkKICogZml4IG1vdmluZyBub2RlcyB3aXRoIG5vIGtleXNwYWNlcyBkZWZpbmVkIChDQVNTQU5EUkEtMTU3NCkKICogZml4IHVur59PKgAAAU/ePLJcABB0IChDQVNTQU5EUkEtOTAyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxIAAABAG5jdGlvbiB3aXRoIG11bHRpLWNvbHVtbiByZWxhdGlvbnMgb24KICAgY2x1c3RlcmluZyBjb2x1bW5zIChDQVNTQU5EUkEtODc5NykKICogTWFrZSBDRlMubWFya1JlZmVyZW5jZWQoKSByZXNpc3RhbnQgdG8gYmFkIHJlZmNvdW50aW5nIChDQVNTQU5EUkEtODgyOSkKICogRml4IFN0cmVhbVRyYW5zZmVyVGFzayBhYm9ydC9jb21wbGV0ZSBiYWQgcmVmY291bnRpbmcgKENBU1NBTkRSQS04ODE1KQogKiBGaXggQXNzZXJ0aW9uRXJyb3Igd2hlbiBxdWU4Hv3XAAABT948slwAEDM0KQogKiBVc2UgU0FTTCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEgAAAEAbWF0Y2ggKENBU1NBTkRSQS00NzkyKQogKiBmaXggY29tbWl0bG9nIHJlcGxheSBmb3IgbmFub3RpbWUtaW5mZWN0ZWQgc3N0YWJsZXMgKENBU1NBTkRSQS00NzgyKQogKiBwcmVmbGlnaHQgY2hlY2sgdHRsIGZvciBtYXhpbXVtIG9mIDIwIHllYXJzIChDQVNTQU5EUkEtNDc3MSkKICogKFBpZykgZml4IHdpZGVyb3cgaW5wdXQgd2l0aCBzaW5nbGUgY29sdW1uIHJvd3MgKENBU1NBTkRSQS00Nzg5KQogKiBGaXggSEggdG8gY29tcGFjdCB3aXRoIGNvckvT01wAAAFP3jyyXAAQbiBzZWNvbmRhcnkgaW5kZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsSAAAAQBobWFya2luZyB0b29sIGltcHJvdmVtZW50cyAoc2V2ZXJhbCB0aWNrZXRzKQogKiBvcHRpbWl6ZWQgcmVwbGljYSBwbGFjZW1lbnQgY29kZSAoQ0FTU0FORFJBLTUyNSkKICogZmFzdGVyIGxvZyByZXBsYXkgb24gcmVzdGFydCAoQ0FTU0FORFJBLTUzOSwgQ0FTU0FORFJBLTU0MCkKICogb3B0aW1pemVkIGxvY2FsLW5vZGUgd3JpdGVzIChDQVNTQU5EUkEtNTU4KQogKiBhZGRlZCBnZXRfcmFuZ2Vfc2xpY2UsIGRlcHJlY2F0aW5nIGdldF9rZXlfcmFurphIbQAAAU/ePLJcABBORFJBLTM2MjgpCk1lcmdlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxIAAABAGlvbiAoQ0FTU0FORFJBLTYzMTcpCiAqIEZpeCBqc29uMnNzdGFibGUgaGFuZGxpbmcgb2YgcmFuZ2UgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTYzMTYpCiAqIEZpeCBtaXNzaW5nIG9uZSByb3cgaW4gcmV2ZXJzZSBxdWVyeSAoQ0FTU0FORFJBLTYzMzApCiAqIEZpeCByZWFkaW5nIGV4cGlyZWQgcm93IHZhbHVlIGZyb20gcm93IGNhY2hlIChDQVNTQU5EUkEtNjMyNSkKICogRml4IEFzc2VydGlvbkVycm9yIHdoZW4gZG9pbmcgc2V0IGVsZW1lbnQgZGXJGerMAAABT948slwAEENRTDIvQ1FMMy1iZXRhIHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEgAAAEAcm1hdCAoQ0FTU0FORFJBLTIwMTQpCiAqIE1ha2UgbWVtdGFibGVfZmx1c2hfd3JpdGVycyBmbHVzaCBpbiBwYXJhbGxlbCAoQ0FTU0FORFJBLTIxNzgpCiAqIEFkZCBjb21wYWN0aW9uX3ByZWhlYXRfa2V5X2NhY2hlIG9wdGlvbiAoQ0FTU0FORFJBLTIxNzUpCiAqIHJlZmFjdG9yIHN0cmVzcy5weSB0byBoYXZlIG9ubHkgb25lIGNvcHkgb2YgdGhlIGZvcm1hdCBzdHJpbmcgCiAgIHVzZWQgZm9yIGNyZWF0aW5nIHJvdyBrZXlzIChDQVNTQU5EUkEtMm4pH9QAAAFP3jyyXAAQc2V0IGNhY2hlIHNpemVzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsSAAAAQB1bGwgc3RhcnR1cCAoQ0FTU0FORFJBLTYxNjYpCiAqIENRTDM6IHN1cHBvcnQgcHJlLWVwb2NoIGxvbmdzIGZvciBUaW1lc3RhbXBUeXBlIChDQVNTQU5EUkEtNjIxMikKICogQWRkIHJlbG9hZHRyaWdnZXJzIGNvbW1hbmQgdG8gbm9kZXRvb2wgKENBU1NBTkRSQS00OTQ5KQogKiBjcWxzaDogaWdub3JlIGVtcHR5ICd2YWx1ZSBhbGlhcycgaW4gREVTQ1JJQkUgKENBU1NBTkRSQS02MTM5KQogKiBGaXggc3N0YWJsZSBsb2FkZXIgKENBU1NBTkRSQS02BIPv3AAAAU/ePLJcABA5ODksIDQxMTIpCiAqIGZpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxIAAABACAgKENBU1NBTkRSQS02NDEzKQogKiAoSGFkb29wKSBhZGQgZGVzY3JpYmVfbG9jYWxfcmluZyAoQ0FTU0FORFJBLTYyNjgpCiAqIEZpeCBoYW5kbGluZyBvZiBjb25jdXJyZW50IGRpcmVjdG9yeSBjcmVhdGlvbiBmYWlsdXJlIChDQVNTQU5EUkEtNjQ1OSkKICogQWxsb3cgZXhlY3V0aW5nIENSRUFURSBzdGF0ZW1lbnRzIG11bHRpcGxlIHRpbWVzIChDQVNTQU5EUkEtNjQ3MSkKICogRG9uJ3Qgc2VuZCBjb25mdXNpbmcgaW5mbyB3aXRoIHRpbWVvdXQrmvJ6AAABT948slwAEFNTQU5EUkEtMTQxMykKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEgAAAEATWVyZ2VkIGZyb20gMS4yOgogKiBDb3JyZWN0bHkgdmFsaWRhdGUgc3BhcnNlIGNvbXBvc2l0ZSBjZWxscyBpbiBzY3J1YiAoQ0FTU0FORFJBLTU4NTUpCiAqIEFkZCBLZXlDYWNoZUhpdFJhdGUgbWV0cmljIHRvIENGIG1ldHJpY3MgKENBU1NBTkRSQS01ODY4KQogKiBjcWxzaDogYWRkIHN1cHBvcnQgZm9yIG11bHRpbGluZSBjb21tZW50cyAoQ0FTU0FORFJBLTU3OTgpCiAqIEhhbmRsZSBDUUwzIFNFTEVDVCBkdXBsaWNhdGUgSU4gcmVzdHJpY3RpbzQMLWQAAAFP3jyyXAAQYXJ5IGluZGV4IHN1cHBvcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsSAAAAQBhcCB0aW1lb3V0IGZvciBQYXhvcyBtZXNzYWdlcyAoQ0FTU0FORFJBLTc3NTIpCiAqIERvIG5vdCBmbHVzaCBvbiB0cnVuY2F0ZSBpZiBkdXJhYmxlX3dyaXRlcyBpcyBmYWxzZSAoQ0FTU0FORFJBLTc3NTApCiAqIEdpdmUgQ1JSIGEgZGVmYXVsdCBpbnB1dF9jcWwgU3RhdGVtZW50IChDQVNTQU5EUkEtNzIyNikKICogQmV0dGVyIGVycm9yIG1lc3NhZ2Ugd2hlbiBhZGRpbmcgYSBjb2xsZWN0aW9uIHdpdGggdGhlIHNhbWUgbmFtZQogICB0aGFuIGEgIOWzCgAAAU/ePLJcABAgaW5kZXggbmFtZSBvbiBDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxIAAABAGFuIG5vZGV0b29sIHBhY2thZ2luZyAoQ0FTU0FORFJBLTY0MjEpCiAqIENoYW5nZSBjb25jdXJyZW50X2NvbXBhY3RvcnMgZGVmYXVsdHMgKENBU1NBTkRSQS03MTM5KQogKiBBZGQgUG93ZXJTaGVsbCBXaW5kb3dzIGxhdW5jaCBzY3JpcHRzIChDQVNTQU5EUkEtNzAwMSkKICogTWFrZSBjb21taXRsb2cgYXJjaGl2ZStyZXN0b3JlIG1vcmUgcm9idXN0IChDQVNTQU5EUkEtNjk3NCkKICogRml4IG1hcmtpbmcgY29tbWl0bG9nc2VnbWVudHMgY2xlYW6diskOAAABT948slwAEDg1OCkKICogYWxsb3cgcmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEgAAAEAbGlzdHNuYXBzaG90cyBjb21tYW5kIHRvIG5vZGV0b29sIChDQVNTQU5EUkEtNTc0MikKICogSW50cm9kdWNlIEF0b21pY0JUcmVlQ29sdW1ucyAoQ0FTU0FORFJBLTYyNzEsIDY2OTIpCiAqIE11bHRpdGhyZWFkZWQgY29tbWl0bG9nIChDQVNTQU5EUkEtMzU3OCkKICogYWxsb2NhdGUgZml4ZWQgaW5kZXggc3VtbWFyeSBtZW1vcnkgcG9vbCBhbmQgcmVzYW1wbGUgY29sZCBpbmRleCBzdW1tYXJpZXMgCiAgIHRvIHVzZSBsZXNzIG1lbW9yeSAoQ0FTU3e9dugABckmpnysJwAAAU/ePLJcABByYW1ldGVycyBhbmQgYSBnAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxLAAABAGVjaWRpbmcgb24gYSBnY0JlZm9yZSBiZWZvcmUgc2VuZGluZwogICBvdXQgVHJlZVJlcXVlc3RzIChDQVNTQU5EUkEtNDkzMikKICogQWRkIGFuIG9mZmljaWFsIHdheSB0byBkaXNhYmxlIGNvbXBhY3Rpb25zIChDQVNTQU5EUkEtNTA3NCkKICogUmVlbmFibGUgQUxURVIgVEFCTEUgRFJPUCB3aXRoIG5ldyBzZW1hbnRpY3MgKENBU1NBTkRSQS0zOTE5KQogKiBBZGQgYmluYXJ5IHByb3RvY29sIHZlcnNpb25pbmcgKENBU1NBTkRSQS01NDM2KQogKiDcitZ8AAABT948slwAEGMgKENBU1NBTkRSQS04NzYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEsAAAEARFJBLTMzODgpCiAqIEF2b2lkIGxhcmdlIGFycmF5IGFsbG9jYXRpb24gZm9yIGNvbXByZXNzZWQgY2h1bmsgb2Zmc2V0cyAoQ0FTU0FORFJBLTM0MzIpCiAqIGZpeCBEZWNpbWFsVHlwZSBieXRlYnVmZmVyIG1hcnNoYWxsaW5nIChDQVNTQU5EUkEtMzQyMSkKICogZml4IGJ1ZyB0aGF0IGNhdXNlZCBmaXJzdCBjb2x1bW4gaW4gcGVyIHJvdyBpbmRleGVzIHRvIGJlIGlnbm9yZWQgCiAgIChDQVNTQU5EUkEtMzQ0MSkKICogYWRkIEpNWCBjYWxsIHRvIGu9/mIAAAFP3jyyXAAQcGxlbWVudGF0aW9uIChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsSwAAAQAoQ0FTU0FORFJBLTEzNzgpCiAqIHJlbmFtZSBSYWNrQXdhcmVTdHJhdGVneSB0byBPbGROZXR3b3JrVG9wb2xvZ3lTdHJhdGVneSwgUmFja1VuYXdhcmVTdHJhdGVneSAKICAgdG8gU2ltcGxlU3RyYXRlZ3ksIERhdGFjZW50ZXJTaGFyZFN0cmF0ZWd5IHRvIE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5LAogICBBYnN0cmFjdFJhY2tBd2FyZVNuaXRjaCB0byBBYnN0cmFjdE5ldHdvcmtUb3BvbG9neVNuaXRjaCAoQ0FTU0FORFJBLTEzOTIpCiAqIG1lcmdl1IxlfgAAAU/ePLJcABBvCiAgIGJlIGFibGUgdG8gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxLAAABAFNpbXBsZVN0cmF0ZWd5IChDQVNTQU5EUkEtNjU0NSkKICogQXZvaWQgU3RhY2tPdmVyZmxvdyB3aGVuIHVzaW5nIGxhcmdlIElOIHF1ZXJpZXMgKENBU1NBTkRSQS02NTY3KQogKiBOb2RldG9vbCB1cGdyYWRlc3N0YWJsZXMgaW5jbHVkZXMgc2Vjb25kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS02NTk4KQogKiBQYWdpbmF0ZSBiYXRjaGxvZyByZXBsYXkgKENBU1NBTkRSQS02NTY5KQogKiBza2lwIGJsb2NraW5nIG9uIHN0cmVhbWluZyBkdXJpbmcgZHIKm4aQAAABT948slwAECBNVCBkZXB0aCBiYXNlZCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEsAAAEAQ0FTU0FORFJBLTg5MTkpCiAqIGNxbHNoOiBGaXggZGlzcGxheSBvZiB0cmlnZ2VycyAoQ0FTU0FORFJBLTkwODEpCiAqIEZpeCBOdWxsUG9pbnRlckV4Y2VwdGlvbiB3aGVuIGRlbGV0aW5nIG9yIHNldHRpbmcgYW4gZWxlbWVudCBieSBpbmRleCBvbgogICBhIG51bGwgbGlzdCBjb2xsZWN0aW9uIChDQVNTQU5EUkEtOTA3NykKICogQnVmZmVyIGJsb29tIGZpbHRlciBzZXJpYWxpemF0aW9uIChDQVNTQU5EUkEtOTA2NikKICogRml4IGFudGktY29tcD3fVzgAAAFP3jyyXAAQc2UgbmFub250aW1lIChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsSwAAAQAgaWQgaW4gUm93TXV0YXRpb24gbWVzc2FnZXMKICAgKENBU1NBTkRSQS00MjkzKQogKiBzdHJlYW0gY29tcHJlc3NlZCBzc3RhYmxlcyBkaXJlY3RseSB3aXRoIGphdmEgbmlvIChDQVNTQU5EUkEtNDI5NykKICogU3VwcG9ydCBtdWx0aXBsZSByYW5nZXMgaW4gU2xpY2VRdWVyeUZpbHRlciAoQ0FTU0FORFJBLTM4ODUpCiAqIEFkZCBjb2x1bW4gbWV0YWRhdGEgdG8gc3lzdGVtIGNvbHVtbiBmYW1pbGllcyAoQ0FTU0FORFJBLTQwMTgpCiAqIChjcWwzFYOyfAAAAU/ePLJcABBBTkRSQS0zMjUwKQogKiBmAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxLAAABAEFkZCB0cmFjaW5nIGVudHJpZXMgYWJvdXQgY29uY3VycmVudCByYW5nZSByZXF1ZXN0cyAoQ0FTU0FORFJBLTc1OTkpCiAqIChjcWxzaCkgRml4IERFU0NSSUJFIGZvciBOVFMga2V5c3BhY2VzIChDQVNTQU5EUkEtNzcyOSkKICogUmVtb3ZlIG5ldHR5IGJ1ZmZlciByZWYtY291bnRpbmcgKENBU1NBTkRSQS03NzM1KQogKiBQYXNzIG11dGF0ZWQgY2YgdG8gaW5kZXggdXBkYXRlciBmb3IgdXNlIGJ5IFBSU0kgKENBU1NBTkRSQS03NzQyKQogKiBJbmPqDIsUAAABT948slwAEGxlU25pdGNoIGxvZ2dpbmcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEsAAAEAZURlc2NyaXB0b3IgdGhyb3dzIE5QRSB3aGVuIHJwY19pbnRlcmZhY2UgaXMgdXNlZCAoQ0FTU0FORFJBLTg4MzkpCiAqIERvbid0IGNoZWNrIGlmIGFuIHNzdGFibGUgaXMgbGl2ZSBmb3Igb2ZmbGluZSBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTg4NDEpCiAqIERvbid0IHNldCBjbGllbnRNb2RlIGluIFNTVGFibGVMb2FkZXIgKENBU1NBTkRSQS04MjM4KQogKiBGaXggU1NUYWJsZVJld3JpdGVyIHdpdGggZGlzYWJsZWQgZWFybHkgb3BlbiAoQ0FTU3aOQAsAAAFP3jyyXAAQd24gaW4gYW4gZW1iZWRkZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsSwAAAQBORFJBLTMwNDMpCiAqIGV4cG9zZSBjb21wYWN0aW9uVGhyb3VnaHB1dE1iUGVyU2VjIHRocm91Z2ggSk1YIChDQVNTQU5EUkEtMzExNykKICogbG9nIGtleXNwYWNlIGFuZCBDRiBvZiBsYXJnZSByb3dzIGJlaW5nIGNvbXBhY3RlZAoKCjAuOC40CiAqIGNoYW5nZSBUb2tlblJpbmcuZW5kcG9pbnRzIHRvIGJlIGEgbGlzdCBvZiBycGMgYWRkcmVzc2VzIGluc3RlYWQgb2YgCiAgIGxpc3Rlbi9icm9hZGNhc3QgYWRkcmVzc2VzIChDQVNTQU5EUkEtMTc31bSAegAAAU/ePLJcABBleGluZyBlbXB0eSBjb2x1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxLAAABAGNsZWFudXAgKENBU1NBTkRSQS0yNzY5KQogKiBmaXggTlBFIHdoZW4gdGhlIGNvbW1pdCBsb2cgaXMgYnlwYXNzZWQgKENBU1NBTkRSQS0yNzE4KQogKiBkb24ndCB0aHJvdyBhbiBleGNlcHRpb24gaW4gU1MuaXNSUENTZXJ2ZXJSdW5uaW5nIChDQVNTQU5EUkEtMjcyMSkKICogbWFrZSBzdHJlc3MuamFyIGV4ZWN1dGFibGUgKENBU1NBTkRSQS0yNzQ0KQogKiBhZGQgZGFlbW9uIG1vZGUgdG8gamF2YSBzdHJlc3MgKENBU1NBTkRSQS0yMjY3KQogKiBP8uEtAAABT948slwAECBDUUwgb3B0aW9ucyAoQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEwAAAEAaW9uIG9mIHNtYWxsIGJsb29tIGZpbHRlcnMgKENBU1NBTkRSQS0zNjE4KQogKiBVc2Ugc2VwYXJhdGUgd3JpdGVyIHRocmVhZCBpbiBTU1RhYmxlU2ltcGxlVW5zb3J0ZWRXcml0ZXIgKENBU1NBTkRSQS0zNjE5KQogKiBmc3luYyB0aGUgZGlyZWN0b3J5IGFmdGVyIG5ldyBzc3RhYmxlIG9yIGNvbW1pdGxvZyBzZWdtZW50IGFyZSBjcmVhdGVkIChDQVNTQU5EUkEtMzI1MCkKICogZml4IG1pbm9yIGlzc3VlcyByZXBvcnRlZCBieSBGaW5kQnVncyAoQw0faq4AAAFP3jyyXAAQIFNTVGFibGVSZXdyaXRlcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsTAAAAQBsbG93IGVtcHR5IGJsb2IgbGl0ZXJhbHMgaW4gQ1FMMyAoQ0FTU0FORFJBLTU0NTIpCiAqIEZpeCBzdHJlYW1pbmcgUmFuZ2VUb21ic3RvbmVzIGF0IGNvbHVtbiBpbmRleCBib3VuZGFyeSAoQ0FTU0FORFJBLTU0MTgpCiAqIEZpeCBwcmVwYXJpbmcgc3RhdGVtZW50cyB3aGVuIGN1cnJlbnQga2V5c3BhY2UgaXMgbm90IHNldCAoQ0FTU0FORFJBLTU0NjgpCiAqIEZpeCBTZW1hbnRpY1ZlcnNpb24uaXNTdXBwb3J0ZWRCeSBtaW5vci9wYXRjaCBoYW5kfWND7AAAAU/ePLJcABBFUyB3aGVuIGEgcmVwYWlyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxMAAABAHRlIHRoZWlyIEpNWCBzdGF0dXMgKENBU1NBTkRSQS05MTYpCiAqIEZpeCBpbnRlcm5hbCBSUEMgdGltZW91dCBjYWxjdWxhdGlvbiAoQ0FTU0FORFJBLTkxMSkKICogQWRkZWQgUGlnIGxvYWRmdW5jIHRvIGNvbnRyaWIvcGlnIChDQVNTQU5EUkEtOTEwKQoKCjAuNi4wLWJldGEzCiAqIGZpeCBjb21wYWN0aW9uIGJ1Y2tldGluZyBidWcgKENBU1NBTkRSQS04MTQpCiAqIHVwZGF0ZSB3aW5kb3dzIGJhdGNoIGZpbGUgKENBU1NBTkRSQS04MjQpCiAqIGQ00uvLAAABT948slwAEHlwZSB3aGVuIHRoYXQgVUQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEwAAAEAdGhlIHN0YXJ0dXAgb3JkZXJpbmcgb2YgR29zc2lwZXIgYW5kIE1lc3NhZ2VTZXJ2aWNlIHRvIGF2b2lkCiAgIHRpbWluZyBhbm9tYWxpZXMgKENBU1NBTkRSQS0xMTYwKQogKiBkZXRlY3QgaW5jb21wbGV0ZSBjb21taXQgbG9nIGhlYXJkZXJzIChDQVNTQU5EUkEtMTExOSkKICogZm9yY2UgYW50aS1lbnRyb3B5IHNlcnZpY2UgdG8gc3RyZWFtIGZpbGVzIG9uIHRoZSBzdHJlYW0gc3RhZ2UgdG8gYXZvaWQKICAgc2VuZGluZyBzdHJlYW1zIG91dCBvZvLhj7AAAAFP3jyyXAAQTkRSQS0yNzc4KQogKiBjbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsTAAAAQA4MzkpCiAqIEFkZCBJRiBbTk9UXSBFWElTVFMgdG8gY3JlYXRlL2Ryb3AgdHJpZ2dlcnMgKENBU1NBTkRSQS03NjA2KQogKiAoY3Fsc2gpIERpc3BsYXkgdGhlIGN1cnJlbnQgbG9nZ2VkLWluIHVzZXIgKENBU1NBTkRSQS03Nzg1KQogKiAoY3Fsc2gpIERvbid0IGlnbm9yZSBDVFJMLUMgZHVyaW5nIENPUFkgRlJPTSBleGVjdXRpb24gKENBU1NBTkRSQS03ODE1KQogKiAoY3Fsc2gpIE9yZGVyIFVEVHMgYWNjb3JkaW5nIHRvIGNyb3NzLXR5cGUgZGVwA1G2/gAF3YMMWFR1AAABT948slwAEGF0ZWQga2V5c3BhY2UgZGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILEwAAAEAdGhlIGNvbXBhY3Rpb24gc3RyYXRlZ3kgc2FmZSAoQ0FTU0FORFJBLTM0MDkpCiAqIGlnbm9yZSAwLjggaGludHMgZXZlbiBpZiBjb21wYWN0aW9uIGJlZ2lucyBiZWZvcmUgd2UgdHJ5IHRvIHB1cmdlCiAgIHRoZW0gKENBU1NBTkRSQS0zMzg1KQogKiByZW1vdmUgcHJvY3J1biAoYmluXGRhZW1vbikgZnJvbSBDYXNzYW5kcmEgc291cmNlIHRyZWUgYW5kIAogICBhcnRpZmFjdHMgKENBU1NBTkRSQS0zMzMxKQogKiBtYWtlIGNhc3NhbmRyYSBjb21waYlU3XwAAAFP3jyyXAAQYXNzIHRvIHN1cHBvcnQgZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsTQAAAQB4IHZhbHVlcyB0byB0aGUgU2Vjb25kYXJ5SW5kZXhNYW5hZ2VyIChDQVNTQU5EUkEtNDI0MCkKICogRG9uJ3QgcHVyZ2UgY29sdW1ucyBkdXJpbmcgdXBncmFkZXNzdGFibGVzIChDQVNTQU5EUkEtNDQ2MikKICogTWFrZSBjcWxzaCB3b3JrIHdpdGggcGlwaW5nIChDQVNTQU5EUkEtNDExMykKICogVmFsaWRhdGUgYXJndW1lbnRzIGZvciBub2RldG9vbCBkZWNvbW1pc3Npb24gKENBU1NBTkRSQS00MDYxKQogKiBSZXBvcnQgdGhyaWZ0IHN0YXR1cyBplGMcYgAAAU/ePLJcABAgZ2V0X2tleV9yYW5nZSBwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxNAAABACBmaWVsZHMgaW4gbmF0aXZlIHNjaGVtYSAoQ0FTU0FORFJBLTM5NjMpCiAqIENMSSB0byByZXBvcnQgd2hlbiB1bnN1cHBvcnRlZCBjb2x1bW5fbWV0YWRhdGEgcGFpciB3YXMgZ2l2ZW4gKENBU1NBTkRSQS0zOTU5KQogKiByZWluY2FybmF0ZSByZW1vdmVkIGFuZCBkZXByZWNhdGVkIEtzRGVmL0NmRGVmIGF0dHJpYnV0ZXMgKENBU1NBTkRSQS0zOTUzKQogKiBGaXggcmFjZSBiZXR3ZWVuIHdyaXRlcyBhbmQgcmVhZCBmb3IgY2FjaGUgKENBU1NBTkTBSx8HAAABT948slwAEGFkIG9mIEpOQSAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILE0AAAEAKENBU1NBTkRSQS0yODgyKQogKiBUaHJpZnQgc29ja2V0cyBhcmUgbm90IHByb3Blcmx5IGJ1ZmZlcmVkIChDQVNTQU5EUkEtMzI2MSkKICogcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQgZm9yIGJ5dGVidWZmZXJ1dGlsIGNvbXBhcmUgZnVuY3Rpb24gKENBU1NBTkRSQS0zMjg2KQogKiBhZGQgc3lzdGVtLnZlcnNpb25zIENvbHVtbkZhbWlseSAoQ0FTU0FORFJBLTMxNDApCiAqIHJlZHVjZSBuZXR3b3JrIGNvcGllcyAoQ0FTU0FORFJBLTMzMzMsIDMzN54T44gAAAFP3jyyXAAQIChDQVNTQU5EUkEtMTk1OQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsTQAAAQBDQVNTQU5EUkEtMjIzMykKICogYWRkIG9mZi1oZWFwIHJvdyBjYWNoZSBzdXBwb3J0IChDQVNTQU5EUkEtMTk2OSkKCgowLjcuNQogKiBpbXByb3ZlbWVudHMvZml4ZXMgdG8gUElHIGRyaXZlciAoQ0FTU0FORFJBLTE2MTgsIENBU1NBTkRSQS0yMzg3LAogICBDQVNTQU5EUkEtMjQ2NSwgQ0FTU0FORFJBLTI0ODQpCiAqIHZhbGlkYXRlIGluZGV4IG5hbWVzIChDQVNTQU5EUkEtMTc2MSkKICogcmVkdWNlIGNvbnRlbnRpb24gb24gVGFibGUuZmx1c2hl7I0sSwAAAU/ePLJcABBjaGVQcm92aWRlciAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxNAAABACBGaWxlQ2FjaGVTZXJ2aWNlIHJlZ3Jlc3Npb25zIChDQVNTQU5EUkEtNjE0OSkKICogTmV2ZXIgcmV0dXJuIFdyaXRlVGltZW91dCBmb3IgQ0wuQU5ZIChDQVNTQU5EUkEtNjEzMikKICogRml4IHJhY2UgY29uZGl0aW9ucyBpbiBidWxrIGxvYWRlciAoQ0FTU0FORFJBLTYxMjkpCiAqIEFkZCBjb25maWd1cmFibGUgbWV0cmljcyByZXBvcnRpbmcgKENBU1NBTkRSQS00NDMwKQogKiBkcm9wIHF1ZXJpZXMgZXhjZWVkaW5nIGEgY29uZmlndXJhYmxlIG5htpZZAAABT948slwAEAogKiBUcmFjayBtYXgvbWkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILE0AAAEAcyAoQ0FTU0FORFJBLTI3MTcpCiAgIC0gcmVzcGVjdCBjbGllbnQgdGltZXN0YW1wIG9uIGZ1bGwgcm93IGRlbGV0aW9ucyAoQ0FTU0FORFJBLTI5MTIpCiAqIGltcHJvdmUgdGhyZWFkLXNhZmV0eSBpbiBTdHJlYW1PdXRTZXNzaW9uIChDQVNTQU5EUkEtMjc5MikKICogYWxsb3cgZGVsZXRpbmcgYSByb3cgYW5kIHVwZGF0aW5nIGluZGV4ZWQgY29sdW1ucyBpbiBpdCBpbiB0aGUKICAgc2FtZSBtdXRhdGlvbiAoQ0FTU0FORFJBLTI3NzMpCiAqIEV4cFV3Pv0AAAFP3jyyXAAQaXR5IHBlcm1hbmVudGx5IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsTQAAAQBTU0FORFJBLTY2NDYpCiAqIEltcHJvdmUgUGVyUm93U2Vjb25kYXJ5SW5kZXggcGVyZm9ybWFuY2UgKENBU1NBTkRSQS02ODc2KQogKiBFeHRlbmQgdHJpZ2dlcnMgdG8gc3VwcG9ydCBDQVMgdXBkYXRlcyAoQ0FTU0FORFJBLTY4ODIpCiAqIFN0YXRpYyBjb2x1bW5zIHdpdGggSUYgTk9UIEVYSVNUUyBkb24ndCBhbHdheXMgd29yayBhcyBleHBlY3RlZCAoQ0FTU0FORFJBLTY4NzMpCiAqIEZpeCBwYWdpbmcgd2l0aCBTRUxFQ1QgRElTVElOQ1QgKENBP8J6aAAAAU/ePLJcABBjaGVtYWAgb3V0cHV0IChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxNAAABACAoQ0FTU0FORFJBLTQyNzUpCiAqIGNxbHNoOiBhZGQgQ09QWSBjb21tYW5kIHRvIGxvYWQgZGF0YSBmcm9tIENTViBmbGF0IGZpbGVzIChDQVNTQU5EUkEtNDAxMikKICogQ0ZNZXRhRGF0YS5mcm9tVGhyaWZ0IHRvIHRocm93IENvbmZpZ3VyYXRpb25FeGNlcHRpb24gdXBvbiBlcnJvciAoQ0FTU0FORFJBLTQzNTMpCiAqIFVzZSBDRiBjb21wYXJhdG9yIHRvIHNvcnQgaW5kZXhlZCBjb2x1bW5zIGluIFNlY29uZGFyeUluZGV4TWFuYWdlcgogICAoQ0EAK2jHAAABT948slwAEGFuZHJhLWNsaS5iYXQgd28AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILE0AAAEAc2VkIHN0cmVhbWluZyBzZW5kaW5nIGV4dHJhIGNodW5rIChDQVNTQU5EUkEtNTEwNSkKICogQWRkIENRTDMtYmFzZWQgaW1wbGVtZW50YXRpb25zIG9mIElBdXRoZW50aWNhdG9yIGFuZCBJQXV0aG9yaXplcgogICAoQ0FTU0FORFJBLTQ4OTgpCiAqIEZpeCB0aW1lc3RhbXAtYmFzZWQgdG9tc3RvbmUgcmVtb3ZhbCBsb2dpYyAoQ0FTU0FORFJBLTUyNDgpCiAqIGNsaTogQWRkIEpNWCBhdXRoZW50aWNhdGlvbiBzdXBwb3J0IChDQVNTQU5EUkEtNTA4MEoK2oMAAAFP3jyyXAAQbWVudGF0aW9ucyAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsTQAAAQA1MikKICogRml4IGNmIG5hbWUgZXh0cmFjdGlvbiBmcm9tIG1hbmlmZXN0IGluIERpcmVjdG9yaWVzLm1pZ3JhdGVGaWxlKCkgKENBU1NBTkRSQS01MjQyKQogKiBSZXBsYWNlIG1pc3Rha2VuIHVzYWdlIG9mIGNvbW1vbnMtbG9nZ2luZyB3aXRoIHNsZjRqIChDQVNTQU5EUkEtNTQ2NCkKICogRW5zdXJlIEphY2tzb24gZGVwZW5kZW5jeSBtYXRjaGVzIGxpYiAoQ0FTU0FORFJBLTUxMjYpCiAqIEV4cG9zZSBkcm9wcGFibGUgdG9tYnN0b25lIHJhdGlvrbynwAAAAU/ePLJcABApCiAqIGZpeCByZS1jcmVhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxNAAABAHNoOiBhZGQgY3VzdG9tIHByb21wdCBzdXBwb3J0IChDQVNTQU5EUkEtNTUzOSkKICogUmV1c2UgcHJlcGFyZWQgc3RhdGVtZW50cyBpbiBob3QgYXV0aCBxdWVyaWVzIChDQVNTQU5EUkEtNTU5NCkKICogY3Fsc2g6IGFkZCB2ZXJ0aWNhbCBvdXRwdXQgb3B0aW9uIChzZWUgRVhQQU5EKSAoQ0FTU0FORFJBLTU1OTcpCiAqIEFkZCBhIHJhdGUgbGltaXQgb3B0aW9uIHRvIHN0cmVzcyAoQ0FTU0FORFJBLTUwMDQpCiAqIGhhdmUgQnVsa0xvYWRlciBpZ243eVrrAAABT948slwAECB0aGUgbG9nZ2luZyBsZXYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILE0AAAEATkRSQS00MzIyKQogKiBBZGRzIG9mZmxpbmUgc3N0YWJsZXNjcnViIHRvIGRlYmlhbiBwYWNrYWdpbmcgKENBU1NBTkRSQS00NjQyKQogKiBBdXRvbWF0aWMgZml4aW5nIG9mIG92ZXJsYXBwaW5nIGxldmVsZWQgc3N0YWJsZXMgKENBU1NBTkRSQS00NjQ0KQogKiBmaXggZXJyb3Igd2hlbiB1c2luZyBPUkRFUiBCWSB3aXRoIGV4dGVuZGVkIHNlbGVjdGlvbnMgKENBU1NBTkRSQS00Njg5KQogKiAoQ1FMMykgRml4IHZhbGlkYXRpb24gZm9yIElOIHF1ZSAUY4QAAAFP3jyyXAAQJyBhc3NlcnRpb24gaW4gQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsTQAAAQBpeCByYWNlIHByb2Nlc3NpbmcgcmFuZ2Ugc2NhbiByZXNwb25zZXMgKENBU1NBTkRSQS02ODIwKQogKiBBbGxvdyBkZWxldGluZyBzbmFwc2hvdHMgZnJvbSBkcm9wcGVkIGtleXNwYWNlcyAoQ0FTU0FORFJBLTY4MjEpCiAqIEFkZCB1dWlkKCkgZnVuY3Rpb24gKENBU1NBTkRSQS02NDczKQogKiBPbWl0IHRvbWJzdG9uZXMgZnJvbSBzY2hlbWEgZGlnZXN0cyAoQ0FTU0FORFJBLTY4NjIpCiAqIEluY2x1ZGUgY29ycmVjdCBjb25zaXN0ZW5jeUxldmVseuzjMgAAAU/ePLJcABB1ZXJpZXMgYWdhaW5zdCB3AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxNAAABAF9TRVJJQUwgKENBU1NBTkRSQS02OTM5KQogKiBMb2cgYSB3YXJuaW5nIGZvciBsYXJnZSBiYXRjaGVzIChDQVNTQU5EUkEtNjQ4NykKICogUHV0IG5vZGVzIGluIGhpYmVybmF0ZSB3aGVuIGpvaW5fcmluZyBpcyBmYWxzZSAoQ0FTU0FORFJBLTY5NjEpCiAqIEF2b2lkIGVhcmx5IGxvYWRpbmcgb2Ygbm9uLXN5c3RlbSBrZXlzcGFjZXMgYmVmb3JlIGNvbXBhY3Rpb24tbGVmdG92ZXJzIAogICBjbGVhbnVwIGF0IHN0YXJ0dXAgKENBU1NBTkRSQS02OTHJ9KMIAAXx4IRK1EcAAAFP3jyyXAAQb3IgdHJpZ2dlcnMgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsTgAAAQAgICB0eXBlIGlzIGFsdGVyZWQgKENBU1NBTkRSQS05MTg3KQogKiBBbGxvdyB0YWtlQ29sdW1uRmFtaWx5U25hcHNob3QgdG8gdGFrZSBhIGxpc3Qgb2YgdGFibGVzIChDQVNTQU5EUkEtODM0OCkKICogTGltaXQgbWFqb3Igc3N0YWJsZSBvcGVyYXRpb25zIHRvIHRoZWlyIGNhbm9uaWNhbCByZXByZXNlbnRhdGlvbiAoQ0FTU0FORFJBLTg2NjkpCiAqIGNxbHNoOiBBZGQgdGVzdHMgZm9yIElOU0VSVCBhbmQgVVBEQVRFIHRhYiBjb21wbGV0aW9uIChD+oFpIwAAAU/ePLJcABAgKENBU1NBTkRSQS0xNDM0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxOAAABAGNoIHNjcmlwdHMgKENBU1NBTkRSQS03MDAxKQogKiBNYWtlIGNvbW1pdGxvZyBhcmNoaXZlK3Jlc3RvcmUgbW9yZSByb2J1c3QgKENBU1NBTkRSQS02OTc0KQogKiBGaXggbWFya2luZyBjb21taXRsb2dzZWdtZW50cyBjbGVhbiAoQ0FTU0FORFJBLTY5NTkpCiAqIEFkZCBzbmFwc2hvdCAibWFuaWZlc3QiIGRlc2NyaWJpbmcgZmlsZXMgaW5jbHVkZWQgKENBU1NBTkRSQS02MzI2KQogKiBQYXJhbGxlbCBzdHJlYW1pbmcgZm9yIHNzdGFibGVsb2FkZXLePwRIAAABT948slwAECBhYm9ydCB1bmRlciBpbnMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILE4AAAEAIElEIG9uIHJlc3BvbnNlcyB3aGVuIG5vbi1FeGNlcHRpb24gVGhyb3dhYmxlcwogICBhcmUgdGhyb3duIHdoaWxlIGhhbmRsaW5nIG5hdGl2ZSBwcm90b2NvbCBtZXNzYWdlcyAoQ0FTU0FORFJBLTc0NzApCgoKMi4xLjAtcmMzCiAqIENvbnNpZGVyIGV4cGlyeSB3aGVuIHJlY29uY2lsaW5nIG90aGVyd2lzZSBlcXVhbCBjZWxscyAoQ0FTU0FORFJBLTc0MDMpCiAqIEludHJvZHVjZSBDUUwgc3VwcG9ydCBmb3Igc3RyZXNzIHRvb2wgKENBU1NBTkRSQTdOFKEAAAFP3jyyXAAQUkEtMzg2NSkKICogVHJ5IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsTgAAAQAgc2FtZSAKICAgKENBU1NBTkRSQS05MDcpCiAqIGJvdW5kIHJlYWQsIG11dGF0aW9uLCBhbmQgcmVzcG9uc2Ugc3RhZ2VzIHRvIGZpeCBwb3NzaWJsZSBPT00KICAgZHVyaW5nIGxvZyByZXBsYXkgKENBU1NBTkRSQS04ODUpCiAqIFVzZSBtaWNyb3NlY29uZHMtc2luY2UtZXBvY2ggKFVUQykgaW4gY2xpLCBpbnN0ZWFkIG9mIG1pbGxpc2Vjb25kcwogKiBUcmVhdCBiYXRjaF9tdXRhdGUgRGVsZXRpb24gd2l0aCBudWxsIHN1cGVyY29sdW1uIGFzICJhlGEhKAAAAU/ePLJcABBhLXN0ZXNzIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxOAAABAG93IEFDRlJXIHRvIGxpbWl0IG5vZGVzIHRvIGxvY2FsIERDIChDQVNTQU5EUkEtNzI1MikKICogKGNxbHNoKSBjcWxzaCBzaG91bGQgYXV0b21hdGljYWxseSBkaXNhYmxlIHRyYWNpbmcgd2hlbiBzZWxlY3RpbmcKICAgZnJvbSBzeXN0ZW1fdHJhY2VzIChDQVNTQU5EUkEtNzY0MSkKICogKEhhZG9vcCkgQWRkIENxbE91dHB1dEZvcm1hdCAoQ0FTU0FORFJBLTY5MjcpCiAqIERvbid0IGRlcGVuZCBvbiBjYXNzYW5kcmEgY29uZmlnIGZvciBub2RldG96mKmaAAABT948slwAEGluIEpNWCAoQ0FTU0FORFIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILE4AAAEAIChDQVNTQU5EUkEtMTAxOSkKICogcmVqZWN0IGRlc2NyaWJlX3JpbmcoKSBjYWxscyBvbiBpbnZhbGlkIGtleXNwYWNlcyAoQ0FTU0FORFJBLTExMTEpCiAqIGZpeCBjYWNoZSBzaXplIGNhbGN1bGF0aW9uIGZvciBzaXplIG9mIDEwMCUgKENBU1NBTkRSQS0xMTI5KQogKiBmaXggY2FjaGUgY2FwYWNpdHkgb25seSBiZWluZyByZWNhbGN1bGF0ZWQgb25jZSAoQ0FTU0FORFJBLTExMjkpCiAqIHJlbW92ZSBob3VybHkgc2NhbiBvZiBhbGwgaGludHMgb068HOUAAAFP3jyyXAAQYXJhdG9yIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsTgAAAQBzdHJlYW1pbmcgb3ZlciBTU0wgd2hlbiBjb21wcmVzc2VkIFNTVGFibGUgaW52b2x2ZWQgKENBU1NBTkRSQS0zMDUxKQogKiBBZGQgc3VwcG9ydCBmb3IgcGx1Z2dhYmxlIHNlY29uZGFyeSBpbmRleCBpbXBsZW1lbnRhdGlvbnMgKENBU1NBTkRSQS0zMDc4KQogKiByZW1vdmUgY29tcGFjdGlvbl90aHJlYWRfcHJpb3JpdHkgc2V0dGluZyAoQ0FTU0FORFJBLTMxMDQpCiAqIGdlbmVyYXRlIGhpbnRzIGZvciByZXBsaWNhcyB0aGF0IHRpbWVvdXQsIG5vlsoTVgAAAU/ePLJcABBkc0V4Y2VwdGlvbiBpbiAyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxOAAABAHdpdGggYnVsayBsb2FkZXIgaWYgc3N0YWJsZXdyaXRlciBlcnJvcnMgb3V0CiAgIChDQVNTQU5EUkEtMzk0NikKCgoxLjEtcmMxCiAqIEluY2x1ZGUgc3RyZXNzIHRvb2wgaW4gYmluYXJ5IGJ1aWxkcyAoQ0FTU0FORFJBLTQxMDMpCiAqIChIYWRvb3ApIGZpeCB3aWRlIHJvdyBpdGVyYXRpb24gd2hlbiBsYXN0IHJvdyByZWFkIHdhcyBkZWxldGVkCiAgIChDQVNTQU5EUkEtNDE1NCkKICogZml4IHJlYWRfcmVwYWlyX2NoYW5jZSB0byByZWFsbHkgZGX3sf7bAAABT948slwAEGUgKENBU1NBTkRSQS02MTYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILE4AAAEAQVNTQU5EUkEtNDU0OCkKICogbmV3IG1ldHJpY3MgKENBU1NBTkRSQS00MDA5KQogKiByZWRlc2lnbiBLRVlTIGluZGV4ZXMgdG8gYXZvaWQgcmVhZC1iZWZvcmUtd3JpdGUgKENBU1NBTkRSQS0yODk3KQogKiBkZWJ1ZyB0cmFjaW5nIChDQVNTQU5EUkEtMTEyMykKICogcGFyYWxsZWxpemUgcm93IGNhY2hlIGxvYWRpbmcgKENBU1NBTkRSQS00MjgyKQogKiBNYWtlIGNvbXBhY3Rpb24sIGZsdXNoIEpCT0QtYXdhcmUgKENBU1NBTkRSQS00MjkyKQogKp7cBU0AAAFP3jyyXAAQZWQgZnJvbSAxLjI6CiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsTgAAAQAgdG8gZmx1c2ggZW1wdHkgcm93cyAoQ0FTU0FORFJBLTYzNzQpCiAqIEZpeCBwb3RlbnRpYWwgb3V0IG9mIGJvdW5kcyBleGNlcHRpb24gd2hlbiBwYWdpbmcgKENBU1NBTkRSQS02MzMzKQpNZXJnZWQgZnJvbSAxLjI6CiAqIE9wdGltaXplIEZEIHBoaSBjYWxjdWxhdGlvbiAoQ0FTU0FORFJBLTYzODYpCiAqIEltcHJvdmUgaW5pdGlhbCBGRCBwaGkgZXN0aW1hdGUgd2hlbiBzdGFydGluZyB1cCAoQ0FTU0FORFJBLTYzODUpCiAqIERvbid0IGxpc3Qg0zto/gAAAU/ePLJcABBBU1NBTkRSQS05MTE2KQpNAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxOAAABAGNydWIgZm9yIDEuMCAtPiAxLjEgZGlyZWN0b3J5IHN0cnVjdHVyZSAoQ0FTU0FORFJBLTUxOTUpCiAqIGFkZCB0bXAgZmxhZyB0byBEZXNjcmlwdG9yIGhhc2hjb2RlIChDQVNTQU5EUkEtNDAyMSkKICogZml4IGxvZ2dpbmcgb2YgIkZvdW5kIHRhYmxlIGRhdGEgaW4gZGF0YSBkaXJlY3RvcmllcyIgd2hlbiBvbmx5IHN5c3RlbSB0YWJsZXMKICAgYXJlIHByZXNlbnQgKENBU1NBTkRSQS01Mjg5KQogKiBjbGk6IEFkZCBKTVggYXV0aGVudGljYXRpb25n67VnAAABT948slwAEGlvbiAoQ0FTU0FORFJBLTIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILE4AAAEARFJBLTQzNTMpCiAqIFVzZSBDRiBjb21wYXJhdG9yIHRvIHNvcnQgaW5kZXhlZCBjb2x1bW5zIGluIFNlY29uZGFyeUluZGV4TWFuYWdlcgogICAoQ0FTU0FORFJBLTQzNjUpCiAqIGFkZCBzdHJhdGVneV9vcHRpb25zIHRvIHRoZSBLU01ldGFEYXRhLnRvU3RyaW5nKCkgb3V0cHV0IChDQVNTQU5EUkEtNDI0OCkKICogKGNxbDMpIGZpeCByYW5nZSBxdWVyaWVzIGNvbnRhaW5pbmcgdW5xdWVyaWVkIHJlc3VsdHMgKENBU1NBTkRSQS00MzcyKQogKiAoY7pdRrEAAAFP3jyyXAAQbWFsaXplIGRlLW92ZXJsYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsTgAAAQB0b3IgaGFzaGNvZGUgKENBU1NBTkRSQS00MDIxKQogKiBmaXggbG9nZ2luZyBvZiAiRm91bmQgdGFibGUgZGF0YSBpbiBkYXRhIGRpcmVjdG9yaWVzIiB3aGVuIG9ubHkgc3lzdGVtIHRhYmxlcwogICBhcmUgcHJlc2VudCAoQ0FTU0FORFJBLTUyODkpCiAqIGNsaTogQWRkIEpNWCBhdXRoZW50aWNhdGlvbiBzdXBwb3J0IChDQVNTQU5EUkEtNTA4MCkKICogbm9kZXRvb2w6IGFiaWxpdHkgdG8gcmVwYWlyIHNwZWNpZmljIHJhbmdlIChDQVNTQU5EUkEtqBzQNwAAAU/ePLJcABBEUkEtNTU1NSkKICogU2NhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxOAAABAG5kIGFsbCBwdWJsaWMgQVBJcyAoQ0FTU0FORFJBLTc2NykKICogYWJpbGl0eSB0byBhbHRlciBzY2hlbWEgZGVmaW5pdGlvbnMgb24gYSBsaXZlIGNsdXN0ZXIgKENBU1NBTkRSQS00NCkKICogcmVuYW1lZCBjb25maWd1cmF0aW9uIGZpbGUgdG8gY2Fzc2FuZHJhLnhtbCwgYW5kIGxvZzRqLnByb3BlcnRpZXMgdG8KICAgbG9nNGotc2VydmVyLnByb3BlcnRpZXMsIHdoaWNoIG11c3Qgbm93IGJlIGxvYWRlZCBmcm9tCiAgIHRoZSBjbGFzc3BhdGggKHf+w/EfAAABT948slwAEHRvIGEgc2VwYXJhdGUgdGgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILE4AAAEAZWQgKENBU1NBTkRSQS05MTQ4LCBDQVNTQU5EUkEtOTE5MikKICogVXNlIGhpZ2hlciB0aW1lb3V0IGZvciBwcmVwYWlyIGFuZCBzbmFwc2hvdCBpbiByZXBhaXIgKENBU1NBTkRSQS05MjYxKQogKiBGaXggYW50aWNvbXBhY3Rpb24gYmxvY2tpbmcgQU5USV9FTlRST1BZIHN0YWdlIChDQVNTQU5EUkEtOTE1MSkKICogUmVwYWlyIHdhaXRzIGZvciBhbnRpY29tcGFjdGlvbiB0byBmaW5pc2ggKENBU1NBTkRSQS05MDk3KQpNZXJnZWQgZnJvbSAyLjA6Cqhld8wABgY9acCPCwAAAU/ePLJcABBjdG9yeSBkaXN0aW5jdCBmAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxRAAABACAoQ0FTU0FORFJBLTI0NDIpCiAqIG1ha2UgY2xlYW51cCBjb21wYWN0aW9ucyBjbGVhbnVwIHRoZSByb3cgY2FjaGUgKENBU1NBTkRSQS0yNDUxKQogKiBhZGQgY29sdW1uIGZpZWxkcyB2YWxpZGF0aW9uIHRvIHNjcnViIChDQVNTQU5EUkEtMjQ2MCkKICogdXNlIDY0S0IgZmx1c2ggYnVmZmVyIGluc3RlYWQgb2YgaW5fbWVtb3J5X2NvbXBhY3Rpb25fbGltaXQgKENBU1NBTkRSQS0yNDYzKQogKiBmaXggYmFja3NsYXNoIHN1YnN0aXR1dGlvbnMgaW7sonQyAAABT948slwAECAoQ0FTU0FORFJBLTQxNTQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFEAAAEAb3RlbnRpYWwgb3V0IG9mIGJvdW5kcyBleGNlcHRpb24gd2hlbiBwYWdpbmcgKENBU1NBTkRSQS02MzMzKQpNZXJnZWQgZnJvbSAxLjI6CiAqIE9wdGltaXplIEZEIHBoaSBjYWxjdWxhdGlvbiAoQ0FTU0FORFJBLTYzODYpCiAqIEltcHJvdmUgaW5pdGlhbCBGRCBwaGkgZXN0aW1hdGUgd2hlbiBzdGFydGluZyB1cCAoQ0FTU0FORFJBLTYzODUpCiAqIERvbid0IGxpc3QgQ1FMMyB0YWJsZSBpbiBDTEkgZGVzY3JpYmUgZXZlbiBpZiBuYW1lZCBleHBsaejsvf0AAAFP3jyyXAAQQU5EUkEtNTkzNSkKICogTQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsUQAAAQBmaWVsZHMgaW4gQ0xJIGBzaG93IHNjaGVtYWAgb3V0cHV0IChDQVNTQU5EUkEtMzMwNCkKICogTm9kZXRvb2wgbm8gbG9uZ2VyIGxlYWtzIHRocmVhZHMgYW5kIGNsb3NlcyBKTVggY29ubmVjdGlvbnMgKENBU1NBTkRSQS0zMzA5KQogKiBmaXggdHJ1bmNhdGUgYWxsb3dpbmcgZGF0YSB0byBiZSByZXBsYXllZCBwb3N0LXJlc3RhcnQgKENBU1NBTkRSQS0zMjk3KQogKiBNb3ZlIFNpbXBsZUF1dGhvcml0eSBhbmQgU2ltcGxlQXV0aGVudGljYXRvciB0/McGkQAAAU/ePLJcABB0IERUQ1MgYmFzZV90aW1lAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxRAAABACBmaXhlcyBmb3IgdmVyaWZ5aW5nIGRlc3RpbmF0aW9uIGF2YWlsYWJpbGl0eSB1bmRlciBoaW50ZWQgY29uZGl0aW9ucwogICBzbyBVRSBjYW4gYmUgdGhyb3duIGludGVhZCBvZiB0aW1pbmcgb3V0IChDQVNTQU5EUkEtMjUxNCkKICogZml4IHVwZGF0ZSBvZiB2YWxpZGF0aW9uIGNsYXNzIGluIGNvbHVtbiBtZXRhZGF0YSAoQ0FTU0FORFJBLTI1MTIpCiAqIHN1cHBvcnQgTE9DQUxfUVVPUlVNLCBFQUNIX1FVT1JVTSBDTHMgb3V0c2lkZSBvZiBOVFNMG+j5AAABT948slwAECByZWNvdmVyeSBkZWxldGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFEAAAEAeXBlIChDQVNTQU5EUkEtNDA3MikKICogb3B0aW1pemUgY29tbWl0bG9nIGNoZWNrc3VtbWluZyAoQ0FTU0FORFJBLTM2MTApCiAqIGlkZW50aWZ5IGFuZCBibGFja2xpc3QgY29ycnVwdGVkIFNTVGFibGVzIGZyb20gZnV0dXJlIGNvbXBhY3Rpb25zIAogICAoQ0FTU0FORFJBLTIyNjEpCiAqIE1vdmUgQ2ZEZWYgYW5kIEtzRGVmIHZhbGlkYXRpb24gb3V0IG9mIHRocmlmdCAoQ0FTU0FORFJBLTQwMzcpCiAqIEV4cG9zZSBBUEkgdG8gcmVwYWlyIGEgdbEGpF0AAAFP3jyyXAAQZGVyIGRhdGEgZGlyIG5vdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsUQAAAQBpb24ga2V5IHJhbmdlcyBpbiBDUUwzIHdpdGhvdXQgdG9rZW4oKSAoQ0FTU0FORFJBLTU2NjYpCiAqIEdvc3NpcGVyIGluY29ycmVjdGx5IGRyb3BzIEFwcFN0YXRlIGZvciBhbiB1cGdyYWRpbmcgbm9kZSAoQ0FTU0FORFJBLTU2NjApCiAqIENvbm5lY3Rpb24gdGhyYXNoaW5nIGR1cmluZyBtdWx0aS1yZWdpb24gZWMyIGR1cmluZyB1cGdyYWRlLCBkdWUgdG8gCiAgIG1lc3NhZ2luZyB2ZXJzaW9uIChDQVNTQU5EUkEtNTY2OSkKICogQXZvaWQgb3ZlglgjiQAAAU/ePLJcABBzdC4gIGhpbnQKICAgaGFuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxRAAABAHVtbiBtb2RlIHRvIHN0cmVzcy5qYXZhIChDQVNTQU5EUkEtMzA2NCkKICogQWRkICJpbnN0YWxsIiBjb21tYW5kIHRvIGNhc3NhbmRyYS5iYXQgKENBU1NBTkRSQS0yOTIpCiAqIGNsZWFuIHVwIEtTTWV0YWRhdGEsIENGTWV0YWRhdGEgZnJvbSB1bm5lY2Vzc2FyeQogICBUaHJpZnQ8LT5BdnJvIGNvbnZlcnNpb24gbWV0aG9kcyAoQ0FTU0FORFJBLTMwMzIpCiAqIEFkZCB0aW1lb3V0cyB0byBjbGllbnQgcmVxdWVzdCBzY2hlZHVsZXJzIChDQVNTQU401U8+AAABT948slwAEHVyIHdoZW4gRElTVElOQyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFEAAAEAcmVjYXRlZCBjb2xkX3JlYWRzX3RvX29taXQgcGFyYW0gZm9yIGJhY2t3YXJkcyBjb21wYXQgKENBU1NBTkRSQS05MjAzKQogKiBNYWtlIGFudGljb21wYWN0aW9uIHZpc2libGUgaW4gY29tcGFjdGlvbnN0YXRzIChDQVNTQU5EUkEtOTA5OCkKICogSW1wcm92ZSBub2RldG9vbCBnZXRlbmRwb2ludHMgZG9jdW1lbnRhdGlvbiBhYm91dCB0aGUgcGFydGl0aW9uCiAgIGtleSBwYXJhbWV0ZXIgKENBU1NBTkRSQS02NDU4KQogKiBEb24ndCBjaGVjayBvdEd4lbAAAAFP3jyyXAAQcmlmdCB0byBub2RldG9vbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsUQAAAQBURVIgVEFCTEUgKENBU1NBTkRSQS00MTYzKQogKiAoY3FsKSBBZGQgc3VwcG9ydCBmb3IgQ0wuVFdPIGFuZCBDTC5USFJFRSBpbiBDUUwgKENBU1NBTkRSQS00MTU2KQogKiAoY3FsKSBGaXggdHlwZSBpbiBDUUwzIEFMVEVSIFRBQkxFIHByZXZlbnRpbmcgdXBkYXRlIChDQVNTQU5EUkEtNDE3MCkKICogKGNxbCkgVGhyb3cgaW52YWxpZCBleGNlcHRpb24gZnJvbSBDUUwzIG9uIG9ic29sZXRlIG9wdGlvbnMgKENBU1NBTkRSQS00MTcxKQogKiAoY3FstjeeuQAAAU/ePLJcABB6aW5nIHVwcGVyY2FzZSBTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxRAAABAG9uIGluIGdldEV4cGlyZVRpbWVGb3JFbmRwb2ludCAoQ0FTU0FORFJBLTQ0MDIpCiAqIGFjcXVpcmUgcmVmZXJlbmNlcyB0byBvdmVybGFwcGluZyBzc3RhYmxlcyBkdXJpbmcgY29tcGFjdGlvbiBzbyBibG9vbSBmaWx0ZXIKICAgZG9lc24ndCBnZXQgZnJlZSdkIHByZW1hdHVyZWx5IChDQVNTQU5EUkEtNDkzNCkKICogRG9uJ3Qgc2hhcmUgc2xpY2UgcXVlcnkgZmlsdGVyIGluIENRTDMgU2VsZWN0U3RhdGVtZW50IChDQVNTQU5EUkEtNDkyOCkKICr49mnSAAABT948slwAEAogKiBBZGQgYWJpbGl0eSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFEAAAEAcHJvdmUgRGVjaW1hbFNlcmlhbGl6ZXIgcGVyZm9ybWFuY2UgKENBU1NBTkRSQS01ODM3KQogKiBmaXggcG90ZW50aWFsIHNwdXJpb3VzIHdha2V1cCBpbiBBc3luY09uZVJlc3BvbnNlIChDQVNTQU5EUkEtNTY5MCkKICogZml4IHNjaGVtYS1yZWxhdGVkIHRyaWdnZXIgaXNzdWVzIChDQVNTQU5EUkEtNTc3NCkKICogQmV0dGVyIHZhbGlkYXRpb24gd2hlbiBhY2Nlc3NpbmcgQ1FMMyB0YWJsZSBmcm9tIHRocmlmdCAoQ0FTU0FORFJBLTUxMzgpCiAqIKg9OR0AAAFP3jyyXAAQQWRkIHN1cHBvcnQgZm9yIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsUQAAAQBmIGRpZmZlcmVudCB0eXBlcwogICAoQ0FTU0FORFJBLTM2MjUpCiAqIEZsdXNoIG5vbi1jZnMgYmFja2VkIHNlY29uZGFyeSBpbmRleGVzIChDQVNTQU5EUkEtMzY1OSkKICogU2Vjb25kYXJ5IEluZGV4ZXMgc2hvdWxkIHJlcG9ydCBtZW1vcnkgY29uc3VtcHRpb24gKENBU1NBTkRSQS0zMTU1KQogKiBmaXggZm9yIFNlbGVjdFN0YXRlbWVudCBzdGFydC9lbmQga2V5IGFyZSBub3Qgc2V0IGNvcnJlY3RseQogICB3aGVuIGEga2V5IGFsaWFzIGlzIGlun6MfMgAAAU/ePLJcABBEYXRlVGllcmVkQ29tcGFjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxRAAABAG9mIHVzZSkKICogbWFrZSBjb25zaXN0ZW5jeV9sZXZlbCBmdW5jdGlvbmFsIGluIGdldF9yYW5nZV9zbGljZSAoQ0FTU0FORFJBLTU2OCkKICogb3B0aW1pemUga2V5IGRlc2VyaWFsaXphdGlvbiBmb3IgUmFuZG9tUGFydGl0aW9uZXIgKENBU1NBTkRSQS01ODEpCiAqIGF2b2lkIEdDaW5nIHRvbWJzdG9uZXMgZXhjZXB0IG9uIG1ham9yIGNvbXBhY3Rpb24gKENBU1NBTkRSQS02MDQpCiAqIGluY3JlYXNlIGZhaWx1cmUgY29udmljdGlvbiB0aHJlc2gEWhRcAAABT948slwAEE5EUkEtMTQwNSkKICogZmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFEAAAEACiAqIGZpeCByZW1vdmluZyB0b2tlbnMgZnJvbSBTeXN0ZW1UYWJsZSBvbiBkZWNvbW1pc3Npb24gYW5kIHJlbW92ZXRva2VuCiAgIChDQVNTQU5EUkEtMTYwOSkKICogaW5jbHVkZSBDRiBtZXRhZGF0YSBpbiBjbGkgJ3Nob3cga2V5c3BhY2VzJyAoQ0FTU0FORFJBLTE2MTMpCiAqIHN3aXRjaCBmcm9tIFByb3BlcnRpZXMgdG8gSGFzaE1hcCBpbiBQcm9wZXJ0eUZpbGVTbml0Y2ggdG8KICAgYXZvaWQgc3luY2hyb25pemF0aW9uIGJvdHRsZW5lY2sgKNS1NU0AAAFP3jyyXAAQbW9yeV9jb21wYWN0aW9uXwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsUQAAAQAgdG8gMzIgTDAgc3N0YWJsZXMgYXMgaW50ZW5kZWQgKENBU1NBTkRSQS00Nzc4KQogKiBOVFMgd2lsbCBkZWZhdWx0IHVuY29uZmlndXJlZCBEQyByZXBsaWNhcyB0byB6ZXJvIChDQVNTQU5EUkEtNDY3NSkKICogdXNlIGRlZmF1bHQgY29uc2lzdGVuY3kgbGV2ZWwgaW4gY291bnRlciB2YWxpZGF0aW9uIGlmIG5vbmUgaXMKICAgZXhwbGljaXRseSBwcm92aWRlIChDQVNTQU5EUkEtNDcwMCkKICogSW1wcm92ZSBJQXV0aG9yaXR5IGludGVyZmFjZSBiIUNL7AAGGprIGehBAAABT948slwAEERSQS00NTcxKQogKiBhdm8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFMAAAEAU0FORFJBLTU0NTQpCiAqIE1vdmUgcmVzdWx0c2V0IHR5cGUgaW5mb3JtYXRpb24gaW50byBwcmVwYXJlLCBub3QgZXhlY3V0ZSAoQ0FTU0FORFJBLTU2NDkpCiAqIEF1dG8gcGFnaW5nIGluIGJpbmFyeSBwcm90b2NvbCAoQ0FTU0FORFJBLTQ0MTUsIDU3MTQpCiAqIERvbid0IHRpZSBjbGllbnQgc2lkZSB1c2Ugb2YgQWJzdHJhY3RUeXBlIHRvIEpEQkMgKENBU1NBTkRSQS00NDk1KQogKiBBZGRzIG5ldyBUaW1lc3RhbXBUeXBlIHRvIHJlcGxhY2UgRMbwos4AAAFP3jyyXAAQb21wb3NpdGUgMm5kYXJ5IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsUwAAAQBoIHRoZSBzYW1lIG5hbWUgYXMgZHJvcHBlZAogICBvbmVzIChDQVNTQU5EUkEtNDIxOSkKICogZml4IFNlY29uZGFyeUluZGV4IExldmVsZWRNYW5pZmVzdCBzYXZlIHVwb24gc25hcHNob3QgKENBU1NBTkRSQS00MjMwKQogKiBmaXggbWlzc2luZyBhcnJheU9mZnNldCBpbiBGQlV0aWxpdGllcy5oYXNoIChDQVNTQU5EUkEtNDI1MCkKICogKGNxbDMpIEFkZCBuYW1lIG9mIHBhcmFtZXRlcnMgaW4gQ3FsUmVzdWx0U2V0IChDQVNTQU5EUkEtNDI0MikKNEx02QAAAU/ePLJcABBlcnMgdG8gc2NoZW1hIChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxTAAABAENMSSkgZGlzcGxheSBlbGFwc2VkIHRpbWUgaW4gMiBmcmFjdGlvbiBkaWdpdHMgKENBU1NBTkRSQS0zNDYwKQogKiBhZGQgYXV0aGVudGljYXRpb24gc3VwcG9ydCB0byBzc3RhYmxlbG9hZGVyIChDQVNTQU5EUkEtNDcxMikKICogRml4IENRTDMgJ2lzIHJldmVyc2VkJyBsb2dpYyAoQ0FTU0FORFJBLTQ3MTYsIDQ3NTkpCiAqIChDUUwzKSBEb24ndCByZXR1cm4gUmV2ZXJzZWRUeXBlIGluIHJlc3VsdCBzZXQgbWV0YWRhdGEgKENBU1NBTkRSQS00NzHYl5yyAAABT948slwAEGlyZCBidWcgaW4gSkRLIHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFMAAAEAbm90IChDQVNTQU5EUkEtMjM4OCkKICogZml4IGR5bmFtaWMgc25pdGNoIGlnbm9yaW5nIG5vZGVzIHdoZW4gcmVhZF9yZXBhaXJfY2hhbmNlIGlzIHplcm8KICAgKENBU1NBTkRSQS0yNjYyKQogKiBhdm9pZCByZXRhaW5pbmcgcmVmZXJlbmNlcyB0byBkcm9wcGVkIENGUyBvYmplY3RzIGluIAogICBDb21wYWN0aW9uTWFuYWdlci5lc3RpbWF0ZWRDb21wYWN0aW9ucyAoQ0FTU0FORFJBLTI3MDgpCiAqIGV4cG9zZSBycGMgdGltZW91dHMgcGVyIGhvc+XC+nEAAAFP3jyyXAAQYyB0byB1c2UgdHdvIHRocgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsUwAAAQBBTkRSQS01OTM4KQogKiBBZGQgc3RyZWFtIHNlc3Npb24gcHJvZ3Jlc3MgdG8gSk1YIChDQVNTQU5EUkEtNDc1NykKICogRml4IE5QRSBkdXJpbmcgQ0FTIG9wZXJhdGlvbiAoQ0FTU0FORFJBLTU5MjUpCk1lcmdlZCBmcm9tIDEuMjoKICogRml4IGdldEJsb29tRmlsdGVyRGlza1NwYWNlVXNlZCBmb3IgQWx3YXlzUHJlc2VudEZpbHRlciAoQ0FTU0FORFJBLTU5MDApCiAqIERvbid0IGFubm91bmNlIHNjaGVtYSB2ZXJzaW9uIHVudGlsIHdlJ3ZlIGxvKZH2cwAAAU/ePLJcABBldmVyYWwgdGlja2V0cykKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxTAAABACBmaXggY291bnRlciBlbnRyeSBpbiBqZGJjIFR5cGVzTWFwIChDQVNTQU5EUkEtMzI2OCkKICogZml4IGZ1bGwgcXVldWUgc2NlbmFyaW8gZm9yIFBhcmFsbGVsQ29tcGFjdGlvbkl0ZXJhdG9yIChDQVNTQU5EUkEtMzI3MCkKICogZml4IGJvb3RzdHJhcCBwcm9jZXNzIChDQVNTQU5EUkEtMzI4NSkKICogZG9uJ3QgdHJ5IGRlbGl2ZXJpbmcgaGludHMgaWYgd2hlbiB0aGVyZSBpc24ndCBhbnkgKENBU1NBTkRSQS0zMTc2KQogKiBDTEkgZG9jdW1lbnT7qvipAAABT948slwAECAoQ0FTU0FORFJBLTQyNzgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFMAAAEAU1NBTkRSQS0xOTMsIENBU1NBTkRSQS01MjApCiAqIGZpeCBwb3NzaWJpbGl0eSBvZiBwYXJ0aXRpb24gd2hlbiBtYW55IG5vZGVzIHJlc3RhcnQgYXQgb25jZQogICBpbiBjbHVzdGVycyB3aXRoIG11bHRpcGxlIHNlZWRzIChDQVNTQU5EUkEtMTUwKQogKiBmaXggTlBFIGluIGdldF9yYW5nZV9zbGljZSB3aGVuIG5vIGRhdGEgaXMgZm91bmQgKENBU1NBTkRSQS01NzgpCiAqIGZpeCBwb3RlbnRpYWwgTlBFIGluIGhpbnRlZCBoYW5kb2ZmIChDQVNTQaQquaUAAAFP3jyyXAAQRFJBLTMxMTYpCiAqIHJlYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsUwAAAQBBU1NBTkRSQS01MTcyKQogKiBjbGk6IFF1b3RlIGtzIGFuZCBjZiBuYW1lcyBpbiBzY2hlbWEgb3V0cHV0IHdoZW4gbmVlZGVkIChDQVNTQU5EUkEtNTA1MikKICogRml4IGNmIG5hbWUgZXh0cmFjdGlvbiBmcm9tIG1hbmlmZXN0IGluIERpcmVjdG9yaWVzLm1pZ3JhdGVGaWxlKCkgKENBU1NBTkRSQS01MjQyKQogKiBSZXBsYWNlIG1pc3Rha2VuIHVzYWdlIG9mIGNvbW1vbnMtbG9nZ2luZyB3aXRoIHNsZjRqIChDQVNTQU5EUkEtNTQ2NCkKICogRW5z2JrfzQAAAU/ePLJcABBjZSBjb3BpZXMgZG9uZSBmAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxTAAABADQzMCkKICogQ2hhbmdlIE1lc3NhZ2UgSURzIHRvIGludHMgKENBU1NBTkRSQS01MzA3KQogKiBNb3ZlIHNzdGFibGUgbGV2ZWwgaW5mb3JtYXRpb24gaW50byB0aGUgU3RhdHMgY29tcG9uZW50LCByZW1vdmluZyB0aGUKICAgbmVlZCBmb3IgYSBzZXBhcmF0ZSBNYW5pZmVzdCBmaWxlIChDQVNTQU5EUkEtNDg3MikKICogYXZvaWQgc2VyaWFsaXppbmcgdG8gYnl0ZVtdIG9uIGNvbW1pdGxvZyBhcHBlbmQgKENBU1NBTkRSQS01MTk5KQogKiBtYWtlIGnbkbrBAAABT948slwAEFNhdmUgSW5kZXhTdW1tYXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFMAAAEAIGxpc3QgKENBU1NBTkRSQS05MzMpCiAqIGZpeCBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGludmVyc2lvbiBpbiBjbHVzdGVydG9vbCAoQ0FTU0FORFJBLTk0MikKICogZml4IHJhY2UgY29uZGl0aW9uIHRoYXQgY291bGQgdHJpZ2dlciBhIGZhbHNlLXBvc2l0aXZlIGFzc2VydGlvbgogICBkdXJpbmcgcG9zdC1mbHVzaCBkaXNjYXJkIG9mIG9sZCBjb21taXRsb2cgc2VnbWVudHMgKENBU1NBTkRSQS05MzYpCiAqIGZpeCBuZWlnaGJvciBjYWxjdWxhdCjz6bAAAAFP3jyyXAAQbiBDRk1ldGFkYXRhIChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsUwAAAQAgc2FtZS12ZXJzaW9uIE1lc3NhZ2VzIG9uIGRpZ2VzdCBhbmQgcmVwYWlyIHBhdGhzCiAgIChDQVNTQU5EUkEtMzE1OCkKICogUmFuZG9taXplIGNob2ljZSBvZiBmaXJzdCByZXBsaWNhIGZvciBjb3VudGVyIGluY3JlbWVudCAoQ0FTU0FORFJBLTI4OTApCiAqIEZpeCB1c2luZyByZWFkX3JlcGFpcl9jaGFuY2UgaW5zdGVhZCBvZiBtZXJnZV9zaGFyZF9jaGFuZ2UgKENBU1NBTkRSQS0zMjAyKQogKiBBdm9pZCBzdHJlYW1pbmcgZGF0YSB0byBub2RlaBKhhAAAAU/ePLJcABBNZXRhZGF0YSBvZmYtaGVhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxTAAABAGFmaWxlCiAgIChDQVNTQU5EUkEtNzY2NCkKICogRml4IFBSU0kgaGFuZGxpbmcgb2YgQ1FMMyByb3cgbWFya2VycyBmb3Igcm93IGNsZWFudXAgKENBU1NBTkRSQS03Nzg3KQogKiBGaXggZHJvcHBpbmcgY29sbGVjdGlvbiB3aGVuIGl0J3MgdGhlIGxhc3QgcmVndWxhciBjb2x1bW4gKENBU1NBTkRSQS03NzQ0KQogKiBQcm9wZXJseSByZWplY3Qgb3BlcmF0aW9ucyBvbiBsaXN0IGluZGV4IHdpdGggY29uZGl0aW9ucyAoQ0FTU0FORFJBLTc0OTkpCiA2QbuHAAABT948slwAECBub2RldG9vbCBvd25lcnMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFMAAAEAcmNfY2hlY2tfY2hhbmNlIChDQVNTQU5EUkEtNTA1MykKICogZml4IE11cm11cjNQYXJ0aXRpb25lciBvd25lcnNoaXAlIGNhbGN1bGF0aW9uIChDQVNTQU5EUkEtNTA3NikKICogRG9uJ3QgZXhwaXJlIGNvbHVtbnMgc29vbmVyIHRoYW4gdGhleSBzaG91bGQgaW4gMm5kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS01MDc5KQoKCjEuMi1yYzEKICogcmVuYW1lIHJwY190aW1lb3V0IHNldHRpbmdzIHRvIHJlcXVlc3RfdGltZW91dCAoQ0FTU0FORFJBLTUwMs/Eb+cAAAFP3jyyXAAQKSByZWxhdGlvbnMgb24gZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsUwAAAQBBTkRSQS00MjY4KQogKiBhZGQgSVJFIGZvciBpbnZhbGlkIENGIHN1cHBsaWVkIHRvIGdldF9jb3VudCAoQ0FTU0FORFJBLTU3MDEpCiAqIGFkZCBjbGllbnQgZW5jcnlwdGlvbiBzdXBwb3J0IHRvIHNzdGFibGVsb2FkZXIgKENBU1NBTkRSQS02Mzc4KQogKiBGaXggYWNjZXB0KCkgbG9vcCBmb3IgU1NMIHNvY2tldHMgcG9zdC1zaHV0ZG93biAoQ0FTU0FORFJBLTY0NjgpCiAqIEZpeCBzaXplLXRpZXJlZCBjb21wYWN0aW9uIGluIExDUyBMMCAoQ0FTSHWWHwAAAU/ePLJcABByIGRlZmluZWQgd3JpdGVzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxTAAABAFJBLTY0NDYpCiAqIEZpeCBDbGFzc0Nhc3RFeGNlcHRpb24gZm9yIGNvbXBhY3QgdGFibGUgd2l0aCBjb21wb3NpdGVzIChDQVNTQU5EUkEtNjczOCkKICogRml4IHBvdGVudGlhbGx5IHJlcGFpcmluZyB3aXRoIHdyb25nIG5vZGVzIChDQVNTQU5EUkEtNjgwOCkKICogQ2hhbmdlIGNhY2hpbmcgb3B0aW9uIHN5bnRheCAoQ0FTU0FORFJBLTY3NDUpCiAqIEZpeCBzdHJlc3MgdG8gZG8gcHJvcGVyIGNvdW50ZXIgcmVhZHMgKENBU1NBTkRSQS02ODM1KQo8HmliAAYvVmbcg1cAAABT0ybfUgAoAAZzeXN0ZW0AABVzY2hlbWFfY29sdW1uZmFtaWxpZXMAAAQAAAABAAAAAAEBWh/yZ6zgPxKFY8+uYQPGXlVTZnEABRX31e0sCAAAAAAAAAAA4gGC+QAAAU/ePLJcABAtZGV0ZXJtaW5pc3RpYy4gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxVAAABAG1ucyBpbXBsaWNpdGx5IChDQVNTQU5EUkEtNjc4MikKICogRml4IElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiB3aGVuIHVwZGF0aW5nIGZyb20gMS4yIHdpdGggU3VwZXJDb2x1bW5zCiAgIChDQVNTQU5EUkEtNjczMykKICogRkJVdGlsaXRpZXMuc2luZ2xldG9uKCkgc2hvdWxkIHVzZSB0aGUgQ0YgY29tcGFyYXRvciAoQ0FTU0FORFJBLTY3NzgpCiAqIEZpeCBDUUxTU3RhYmxlV3JpdGVyLmFkZFJvdyhNYXA8U3RyaW5nLCBPYmplY3Q+KSAoQ0FTU0E/oAKCAAABT948slwAEG93IFVuYXZhaWxhYmxlRXgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFUAAAEAaGVja3N1bSB0bwogICBtdXRhdGlvbnMgKENBU1NBTkRSQS0xMTc5KQogKiBhdm9pZCBhbGxvY2F0aW5nIGEgbmV3IGJ5dGVbXSBmb3IgZWFjaCBtdXRhdGlvbiBvbiByZXBsYXkgKENBU1NBTkRSQS0xMjE5KQogKiByZXZpc2UgSEggc2NoZW1hIHRvIGJlIHBlci1lbmRwb2ludCAoQ0FTU0FORFJBLTExNDIpCiAqIGFkZCBqb2luaW5nL2xlYXZpbmcgc3RhdHVzIHRvIG5vZGV0b29sIHJpbmcgKENBU1NBTkRSQS0xMTE1KQogKiBhbGxvdyBtdWx0aXBsZYaU1voAAAFP3jyyXAAQVEFCTEUgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsVQAAAQAgKENBU1NBTkRSQS00NDk1KQogKiBBZGRzIG5ldyBUaW1lc3RhbXBUeXBlIHRvIHJlcGxhY2UgRGF0ZVR5cGUgKENBU1NBTkRSQS01NzIzLCBDQVNTQU5EUkEtNTcyOSkKTWVyZ2VkIGZyb20gMS4yOgogKiBtYWtlIHN0YXJ0aW5nIG5hdGl2ZSBwcm90b2NvbCBzZXJ2ZXIgaWRlbXBvdGVudCAoQ0FTU0FORFJBLTU3MjgpCiAqIEZpeCBsb2FkaW5nIGtleSBjYWNoZSB3aGVuIGEgc2F2ZWQgZW50cnkgaXMgbm8gbG9uZ2VyIHZhbGlkIChDQVNTQU5EUkEtj9xubAAAAU/ePLJcABBmYXN0ZXIgY29tbWl0bG9nAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxVAAABAHN0ZW5jeV9sZXZlbCBmdW5jdGlvbmFsIGluIGdldF9yYW5nZV9zbGljZSAoQ0FTU0FORFJBLTU2OCkKICogb3B0aW1pemUga2V5IGRlc2VyaWFsaXphdGlvbiBmb3IgUmFuZG9tUGFydGl0aW9uZXIgKENBU1NBTkRSQS01ODEpCiAqIGF2b2lkIEdDaW5nIHRvbWJzdG9uZXMgZXhjZXB0IG9uIG1ham9yIGNvbXBhY3Rpb24gKENBU1NBTkRSQS02MDQpCiAqIGluY3JlYXNlIGZhaWx1cmUgY29udmljdGlvbiB0aHJlc2hvbGQsIHJlc3VsdGluZyBpbiBsZXMY8pU1AAABT948slwAECAgIHRvIHdvcmsgb24gY28AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFUAAAEAb3J0IGZvciBpbmRleGluZyBjbHVzdGVyZWQgY29sdW1ucyAoQ0FTU0FORFJBLTUxMjUpCiAqIFJlbW92ZWQgb24taGVhcCByb3cgY2FjaGUgKENBU1NBTkRSQS01MzQ4KQogKiB1c2UgbmFub3RpbWUgY29uc2lzdGVudGx5IGZvciBub2RlLWxvY2FsIHRpbWVvdXRzIChDQVNTQU5EUkEtNTU4MSkKICogQXZvaWQgdW5uZWNlc3Nhcnkgc2Vjb25kIHBhc3Mgb24gbmFtZS1iYXNlZCBxdWVyaWVzIChDQVNTQU5EUkEtNTU3NykKICogRXhwZXJpbWVudGFsIAB7xB4AAAFP3jyyXAAQcmx5aW5nIGJ1ZmZlciAoQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsVQAAAQB0RHJhaW5Qcm9ncmVzcyAoQ0FTU0FORFJBLTE1ODgpCiAqIERpc2FsbG93IGJvb3RzdHJhcCB0byBhbiBpbi11c2UgdG9rZW4gKENBU1NBTkRSQS0xNTYxKQogKiBBbGxvdyBkeW5hbWljIHNlY29uZGFyeSBpbmRleCBjcmVhdGlvbiBhbmQgZGVzdHJ1Y3Rpb24gKENBU1NBTkRSQS0xNTMyKQogKiBsb2cgYXV0by1ndWVzc2VkIG1lbXRhYmxlIHRocmVzaG9sZHMgKENBU1NBTkRSQS0xNTk1KQogKiBhZGQgQ29sdW1uRGVmIHN1cHBvcnQgdG8gY2xpIChDAnB9PQAAAU/ePLJcABAKMi4xLjUKICogUmUtYWRkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxVAAABAGJ5dGVzIGluIGEgZmlsZSAoQ0FTU0FORFJBLTIyMTMpCiAqIGZpeCBCdWZmZXJlZFJhbmRvbUFjY2Vzc0ZpbGUgYnVncyAoQ0FTU0FORFJBLTIyMTgsIC0yMjQxKQogKiBjaGVjayBmb3IgbWVtdGFibGUgZmx1c2hfYWZ0ZXJfbWlucyBleGNlZWRlZCBldmVyeSAxMHMgKENBU1NBTkRSQS0yMTgzKQogKiBmaXggY2FjaGUgc2F2aW5nIG9uIFdpbmRvd3MgKENBU1NBTkRSQS0yMjA3KQogKiBhZGQgdmFsaWRhdGVTY2hlbWFBZ3JlZW1lbnQgY2FsbCArIHP+6XPnAAABT948slwAECBwYWNrYWdpbmcgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFUAAAEAQU5EUkEtMzA2NikKICogY2F0Y2ggaW52YWxpZCBrZXlfdmFsaWRhdGlvbl9jbGFzcyBiZWZvcmUgaW5zdGFudGlhdGluZyBVcGRhdGVDb2x1bW5GYW1pbHkgKENBU1NBTkRSQS0zMTAyKQogKiBtYWtlIFJhbmdlIGFuZCBCb3VuZHMgb2JqZWN0cyBjbGllbnQtc2FmZSAoQ0FTU0FORFJBLTMxMDgpCiAqIG9wdGlvbmFsbHkgc2tpcCBsb2c0aiBjb25maWd1cmF0aW9uIChDQVNTQU5EUkEtMzA2MSkKICogYnVuZGxlIHNzdGFibGVsb2FkZXIgd2l0aCB0aAGHSY8AAAFP3jyyXAAQZGVyIChDQVNTQU5EUkEtMQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsVQAAAQAgcG9zdC10cnVuY2F0ZSAoQ0FTU0FORFJBLTQ5NDApCiAqIEFsbG93IHN0YXRpYyBDRiBkZWZpbml0aW9uIHdpdGggY29tcGFjdCBzdG9yYWdlIChDQVNTQU5EUkEtNDkxMCkKICogRml4IGVuZGxlc3MgbG9vcC9jb21wYWN0aW9uIG9mIHNjaGVtYV8qIENGcyBkdWUgdG8gYnJva2VuIHRpbWVzdGFtcHMgKENBU1NBTkRSQS00ODgwKQogKiBGaXggJ3dyb25nIGNsYXNzIHR5cGUnIGFzc2VydGlvbiBpbiBDb3VudGVyQ29sdW1uIChDQVNTQU5EUkEtNDk3yTAvvwAAAU/ePLJcABBvaWQgZHVwbGljYXRlIGluAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxVAAABACBzdGF0ZW1lbnQgKENBU1NBTkRSQS02NTM1KQogKiBBZGQgYWJpbGl0eSB0byB0aHJvdHRsZSBiYXRjaGxvZyByZXBsYXkgKENBU1NBTkRSQS02NTUwKQogKiBGaXggZXhlY3V0aW5nIExPQ0FMX1FVT1JVTSB3aXRoIFNpbXBsZVN0cmF0ZWd5IChDQVNTQU5EUkEtNjU0NSkKICogQXZvaWQgU3RhY2tPdmVyZmxvdyB3aGVuIHVzaW5nIGxhcmdlIElOIHF1ZXJpZXMgKENBU1NBTkRSQS02NTY3KQogKiBOb2RldG9vbCB1cGdyYWRlc3N0YWJsZXMgaW5jbHUO93S2AAABT948slwAEG9zdCB3aGVuIHByZXBhcmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFUAAAEANjUpCiAqIEFkZCAiY29tbWVudCIgZmllbGQgdG8gQ29sdW1uRmFtaWx5IGRlZmluaXRpb24uIChDQVNTQU5EUkEtNDgxKQogKiBBZGRpdGlvbmFsIEpNWCBtZXRyaWNzIChDQVNTQU5EUkEtNDgyKQogKiBKU09OIGJhc2VkIGV4cG9ydCBhbmQgaW1wb3J0IHRvb2xzIChzZXZlcmFsIHRpY2tldHMpCiAqIEhpbnRlZCBIYW5kb2ZmIGZpeGVzIChzZXZlcmFsIHRpY2tldHMpCiAqIEFkZCBrZXkgY2FjaGUgdG8gaW1wcm92ZSByZWFkIHBlcmZvcm1hbmNlILVMUyQAAAFP3jyyXAAQYXJ5CiAgIGluZGV4IHRhYgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsVQAAAQBvdyBleGVjdXRpbmcgQ1JFQVRFIHN0YXRlbWVudHMgbXVsdGlwbGUgdGltZXMgKENBU1NBTkRSQS02NDcxKQogKiBEb24ndCBzZW5kIGNvbmZ1c2luZyBpbmZvIHdpdGggdGltZW91dHMgKENBU1NBTkRSQS02NDkxKQogKiBEb24ndCByZXN1Ym1pdCBjb3VudGVyIG11dGF0aW9uIHJ1bm5hYmxlcyBpbnRlcm5hbGx5IChDQVNTQU5EUkEtNjQyNykKICogRG9uJ3QgZHJvcCBsb2NhbCBtdXRhdGlvbnMgd2l0aG91dCBhIGhpbnQgKENBU1NBTkRSQS02NTEweulxBwAAAU/ePLJcABBwZWNpZnlpbmcgc3RhcnQvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxVAAABAG9mZiBjaGFuY2UgdGhhdCB0aGUgZ29zc2lwZXIKICAgbWlzc2VkIGEgc3RhdHVzIGNoYW5nZTsgaW5zdGVhZCwgZXhwb3NlIGRlbGl2ZXJIaW50c1RvRW5kcG9pbnQgdG8gSk1YCiAgIHNvIGl0IGNhbiBiZSBkb25lIG1hbnVhbGx5LCBpZiBuZWNlc3NhcnkgKENBU1NBTkRSQS0xMTQxKQogKiBkb24ndCByZWplY3QgcmVhZHMgYXQgQ0wuQUxMIChDQVNTQU5EUkEtMTE1MikKICogcmVqZWN0IGRlbGV0aW9ucyB0byBzdXBlcmNvbHVtbnMgaW4gQ0ZzIGOX120cAAABT948slwAEFJBLTQ5OTApCiAqIChjcWwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFUAAAEAIGRlc3RpbmF0aW9uIHdoZW4gd3JpdGluZyB3aXRoIAogICBDb25zaXN0ZW5jeUxldmVsLlpFUk8gKENBU1NBTkRSQS0zOTkpCiAqIEZpeGVzIHRvIG1ha2UgQmluYXJ5TWVtdGFibGUgW2J1bGsgbG9hZCBpbnRlcmZhY2VdIHVzZWZ1bCAoQ0FTU0FORFJBLTMzNyk7CiAgIHNlZSBjb250cmliL2JtdF9leGFtcGxlIGZvciBhbiBleGFtcGxlIG9mIHVzaW5nIGl0LgogKiBNb3JlIEpNWCBwcm9wZXJ0aWVzIGFkZGVkIChzZXZlcmFsIHRpY2tldHMpCiAqIKK/z0MAAAFP3jyyXAAQLTQwNykKICogYWRkIHBlcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsVQAAAQAgKiBBbGxvdyBvdmVycmlkaW5nIHN1cGVydXNlciBzZXR1cCBkZWxheSAoQ0FTU0FORFJBLTU0MzApCiAqIGNhc3NhbmRyYS1zaHVmZmxlIHdpdGggSk1YIHVzZXJuYW1lcyBhbmQgcGFzc3dvcmRzIChDQVNTQU5EUkEtNTQzMSkKTWVyZ2VkIGZyb20gMS4xOgogKiBjbGk6IFF1b3RlIGtzIGFuZCBjZiBuYW1lcyBpbiBzY2hlbWEgb3V0cHV0IHdoZW4gbmVlZGVkIChDQVNTQU5EUkEtNTA1MikKICogRml4IGJhZCBkZWZhdWx0IGZvciBtaW4vbWF4IHRphRRpHQAGQ7NWP896AAABT948slwAEGhlIGIvYyBvZiBjb25jdXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFcAAAEAZXhjZXB0aW9ucyB3cml0aW5nIHRvIE91dGJvdW5kVGNwQ29ubmVjdGlvbiAoQ0FTU0FORFJBLTMyMzUpCiAqIEFsbG93IHVzaW5nIHF1b3RlcyBpbiAiVVNFIDxrZXlzcGFjZT47IiBDTEkgY29tbWFuZCAoQ0FTU0FORFJBLTMyMDgpCiAqIERvbid0IGFsbG93IGFueSBjYWNoZSBsb2FkaW5nIGV4Y2VwdGlvbnMgdG8gaGFsdCBzdGFydHVwIChDQVNTQU5EUkEtMzIxOCkKICogRml4IHNzdGFibGVsb2FkZXIgLS1pZ25vcmVzIG9wdGlvbiAoQ0FTU0FORGYXPXgAAAFP3jyyXAAQbG9nZ2luZyBvZiBHQyBhYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsVwAAAQBoIHRvIExaNCBjb21wcmVzc2lvbiBmb3IgaW50ZXJub2RlIGNvbW11bmljYXRpb24gKENBU1NBTkRSQS01ODg3KQogKiBTdG9wIHVzaW5nIFRocmlmdC1nZW5lcmF0ZWQgSW5kZXgqIGNsYXNzZXMgaW50ZXJuYWxseSAoQ0FTU0FORFJBLTU5NzEpCiAqIFJlbW92ZSAxLjIgbmV0d29yayBjb21wYXRpYmlsaXR5IGNvZGUgKENBU1NBTkRSQS01OTYwKQogKiBSZW1vdmUgbGV2ZWxlZCBqc29uIG1hbmlmZXN0IG1pZ3JhdGlvbiBjb2RlIChDQVNTQU5EUkEt1hpL0wAAAU/ePLJcABByYS5pbi5zaCAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxXAAABAHB1dCByZXN1bHRzIGJhY2sgdG8gQ2Fzc2FuZHJhCiAgIChDQVNTQU5EUkEtMTM0MikKICogcmV3cml0ZSBIYWRvb3AgQ29sdW1uRmFtaWx5UmVjb3JkV3JpdGVyIHRvIHBvb2wgY29ubmVjdGlvbnMsIHJldHJ5IHRvCiAgIG11bHRpcGxlIENhc3NhbmRyYSBub2RlcywgYW5kIHNtb290aCBpbXBhY3Qgb24gdGhlIENhc3NhbmRyYSBjbHVzdGVyCiAgIGJ5IHVzaW5nIHNtYWxsZXIgYmF0Y2ggc2l6ZXMgKENBU1NBTkRSQS0xNDM0KQogKiBmaXggc2V0dGnEnkBmAAABT948slwAECBzbmFwc2hvdHRpbmcgc2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFcAAAEAdGVyZmFjZSBnZW5lcmF0ZSBOUEUgb24gc3RhcnR1cCB3aGVuIHNwZWNpZmllZAogICBpbnRlcmZhY2UgZG9lc24ndCBleGlzdCAoQ0FTU0FORFJBLTg2NzcpCiAqIEZpeCBBcnJheUluZGV4T3V0T2ZCb3VuZHNFeGNlcHRpb24gaW4gbm9kZXRvb2wgY2ZoaXN0b2dyYW1zIChDQVNTQU5EUkEtODUxNCkKICogU3dpdGNoIGZyb20geWFtbWVyIG1ldHJpY3MgZm9yIG5vZGV0b29sIGNmL3Byb3h5IGhpc3RvZ3JhbXMgKENBU1NBTkRSQS04NjYyKQogKiBNYSGdQ2kAAAFP3jyyXAAQU0FORFJBLTQ5NzYpCgoKMQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsVwAAAQBSQS01OTI4KQogKiBGaXggU1NUYWJsZSB1bmludGVudGlvbmFsbHkgbG9hZHMgQkYgd2hlbiBvcGVuZWQgZm9yIGJhdGNoIChDQVNTQU5EUkEtNTkzOCkKICogQWRkIHN0cmVhbSBzZXNzaW9uIHByb2dyZXNzIHRvIEpNWCAoQ0FTU0FORFJBLTQ3NTcpCiAqIEZpeCBOUEUgZHVyaW5nIENBUyBvcGVyYXRpb24gKENBU1NBTkRSQS01OTI1KQpNZXJnZWQgZnJvbSAxLjI6CiAqIEZpeCBnZXRCbG9vbUZpbHRlckRpc2tTcGFjZVVzZWQgZm9yIEFsd2F5c1ByLgUU3AAAAU/ePLJcABBwb3J0CiAqIFdvcmthcm91AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxXAAABAChDQVNTQU5EUkEtNTA1MykKICogZml4IE11cm11cjNQYXJ0aXRpb25lciBvd25lcnNoaXAlIGNhbGN1bGF0aW9uIChDQVNTQU5EUkEtNTA3NikKICogRG9uJ3QgZXhwaXJlIGNvbHVtbnMgc29vbmVyIHRoYW4gdGhleSBzaG91bGQgaW4gMm5kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS01MDc5KQoKCjEuMi1yYzEKICogcmVuYW1lIHJwY190aW1lb3V0IHNldHRpbmdzIHRvIHJlcXVlc3RfdGltZW91dCAoQ0FTU0FORFJBLTUwMjcpCiAqIGFkZCBCRiB3aXRDJm5+AAABT948slwAEGlzayBzcGFjZSAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFcAAAEAZSByb3ctbGV2ZWwgYmxvb20gZmlsdGVycyAoQ0FTU0FORFJBLTQ4ODUpCiAqIENoYW5nZSBLZXJuZWwgUGFnZSBDYWNoZSBza2lwcGluZyBpbnRvIHJvdyBwcmVoZWF0aW5nIChkaXNhYmxlZCBieSBkZWZhdWx0KQogICAoQ0FTU0FORFJBLTQ5MzcpCiAqIEltcHJvdmUgcmVwYWlyIGJ5IGRlY2lkaW5nIG9uIGEgZ2NCZWZvcmUgYmVmb3JlIHNlbmRpbmcKICAgb3V0IFRyZWVSZXF1ZXN0cyAoQ0FTU0FORFJBLTQ5MzIpCiAqIEFkZCBhbiBvZmZpY2lhbFaaOa4AAAFP3jyyXAAQIG9wZW5pbmcgb2YgY29tcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsVwAAAQBvbXBvc2l0ZSBrZXlzIChDQVNTQU5EUkEtNTk0OSkKICogQWRkIHNuaXRjaCwgc2NoZW1hIHZlcnNpb24sIGNsdXN0ZXIsIHBhcnRpdGlvbmVyIHRvIEpNWCAoQ0FTU0FORFJBLTU4ODEpCiAqIEFsbG93IGRpc2FibGluZyBTbGFiQWxsb2NhdG9yIChDQVNTQU5EUkEtNTkzNSkKICogTWFrZSB1c2VyLWRlZmluZWQgY29tcGFjdGlvbiBKTVggYmxvY2tpbmcgKENBU1NBTkRSQS00OTUyKQogKiBGaXggc3RyZWFtaW5nIGRvZXMgbm90IHRyYW5zZmVyIHdyvDIRcAAAAU/ePLJcABBubWVudHMuIENhc3NhbmRyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxXAAABAG9yIGFueSBJT0V4Y2VwdGlvbiAoQ0FTU0FORFJBLTU4MDQpCiAqIEFsbG93IGVtcHR5IElOIHJlbGF0aW9ucyBpbiBTRUxFQ1QvVVBEQVRFL0RFTEVURSBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNTYyNikKICogY3Fsc2g6IGZpeCBjcmFzaGluZyBvbiBXaW5kb3dzIGR1ZSB0byBsaWJlZGl0IGRldGVjdGlvbiAoQ0FTU0FORFJBLTU4MTIpCiAqIGZpeCBidWxrLWxvYWRpbmcgY29tcHJlc3NlZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTU4MjApCiAqIChIYWRpUk7wAAABT948slwAEGVkIChjZWxsKSBjb21wYWMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFcAAAEAc3RhZ2VzCiAgIHNvIHNsb3cgcmVhZHMvd3JpdGVzIGRvbid0IGJsb2NrIGdvc3NpcCBwcm9jZXNzaW5nIChDQVNTQU5EUkEtMTM1OCkKICogYWRkIGpteCBwb3J0IGNvbmZpZ3VyYXRpb24gdG8gRGViaWFuIHBhY2thZ2UgKENBU1NBTkRSQS0xMjAyKQogKiB1c2UgbWxvY2thbGwgdmlhIEpOQSwgaWYgcHJlc2VudCwgdG8gcHJldmVudCBMaW51eCBmcm9tIHN3YXBwaW5nCiAgIG91dCBwYXJ0cyBvZiB0aGUgSlZNIChDQVNTQU5EUkEtMTIxNCkKCgowLtsccRgAAAFP3jyyXAAQdmVycyBjb3JyZWN0bHkgKAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsVwAAAQBidWxrIGxvYWRpbmcgdXNlCiAgIChDQVNTQU5EUkEtMjkxMSkKICogZml4IHJlLXVzaW5nIGluZGV4IENGIHNzdGFibGUgbmFtZXMgYWZ0ZXIgZHJvcC9yZWNyZWF0ZSAoQ0FTU0FORFJBLTI4NzIpCiAqIHByZXBlbmQgQ0YgdG8gZGVmYXVsdCBpbmRleCBuYW1lcyAoQ0FTU0FORFJBLTI5MDMpCiAqIGZpeCBoaW50IHJlcGxheSAoQ0FTU0FORFJBLTI5MjgpCiAqIFByb3Blcmx5IHN5bmNocm9uaXplIHJlcGFpcidzIG1lcmtsZSB0cmVlIGNvbXB1dGF0MiVtfwAAAU/ePLJcABBmaWMgY29sdW1uZmFtaWxpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxXAAABAHVlc3Qgd2l0aCBza2lwTWV0YWRhdGE9ZmFsc2UgcmV0dXJuaW5nIG5vIG1ldGFkYXRhCiAgIChDQVNTQU5EUkEtODA1NCkKICogQWxsb3cgY29uY3VycmVudCB1c2Ugb2YgQ1FMQnVsa091dHB1dEZvcm1hdCAoQ0FTU0FORFJBLTc3NzYpCiAqIFNodXRkb3duIEpWTSBvbiBPT00gKENBU1NBTkRSQS03NTA3KQogKiBVcGdyYWRlIG5ldHR5IHZlcnNpb24gYW5kIGVuYWJsZSBlcG9sbCBldmVudCBsb29wIChDQVNTQU5EUkEtNzc2MSkKICogRG9uJ3QgZHVe3Ma6AAABT948slwAECAqIERvbid0IHdyaXRlIEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFcAAAEAZG93biB3aGVuIHRoZSBtb3ZlbWVudCBvY2N1cnMgKENBU1NBTkRSQS01NzIpCiAqIEluY2x1ZGUgZGVhZCBub2RlcyBpbiBnb3NzaXAgdG8gYXZvaWQgYSB2YXJpZXR5IG9mIHByb2JsZW1zCiAgIGFuZCBmaXggSEggdG8gcmVtb3ZlZCBub2RlcyAoQ0FTU0FORFJBLTYzNCkKICogcmV0dXJuIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIGZvciBtYWwtZm9ybWVkIFNsaWNlUHJlZGljYXRlcwogICAoQ0FTU0FORFJBLTY0MykKICogZml4IGJ1ZyBkZTTXL+gAAAFP3jyyXAAQdyByZWFkcy93cml0ZXMgZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsVwAAAQBtcCAoQ0FTU0FORFJBLTM1MTApCiAqIG1ha2Ugc3N0YWJsZWxvYWRlciByZWNvZ25pemUgY29tcHJlc3NlZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTM1MjEpCiAqIGF2b2lkcyByYWNlIGluIE91dGJvdW5kVGNwQ29ubmVjdGlvbiBpbiBtdWx0aS1EQyBzZXR1cHMgKENBU1NBTkRSQS0zNTMwKQogKiB1c2UgU0VUTE9DQUwgaW4gY2Fzc2FuZHJhLmJhdCAoQ0FTU0FORFJBLTM1MDYpCiAqIGZpeCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uIGluMogxWgAAAU/ePLJcABBBU1NBTkRSQS01OTM1KQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxXAAABAG5ncyBmb3JldmVyIG9uIHRpbWVvdXQgb3IgZXJyb3IgKENBU1NBTkRSQS00MTI4KQogKiBzdHJlc3MgdG9vbCB0byByZXR1cm4gYXBwcm9wcmlhdGUgZXhpdCBjb2RlIG9uIGZhaWx1cmUgKENBU1NBTkRSQS00MTg4KQogKiBmaXggY29tcGFjdGlvbiBOUEUgd2hlbiBvdXQgb2YgZGlzayBzcGFjZSBhbmQgYXNzZXJ0aW9ucyBkaXNhYmxlZAogICAoQ0FTU0FORFJBLTM5ODUpCiAqIHN5bmNocm9uaXplIExDUyBnZXRFc3RpbWF0ZWRUYXNrcyB0byBhdm8Ta7hZAAZYEE8X/SYAAAFP3jyyXAAQcyB0byBhY2NlcHQgdGhlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsWgAAAQAgYSBtYXAgKENBU1NBTkRSQS02NTk5KQogKiBTdXBwb3J0IG5vbi1lcXVhbHMgY29uZGl0aW9ucyBpbiBsaWdodHdlaWdodCB0cmFuc2FjdGlvbnMgKENBU1NBTkRSQS02ODM5KQogKiBBZGQgSUYgW05PVF0gRVhJU1RTIHRvIGNyZWF0ZS9kcm9wIHRyaWdnZXJzIChDQVNTQU5EUkEtNzYwNikKICogKGNxbHNoKSBEaXNwbGF5IHRoZSBjdXJyZW50IGxvZ2dlZC1pbiB1c2VyIChDQVNTQU5EUkEtNzc4NSkKICogKGNxbHNoKSBEb24ndCBpZ25vcmUgQ1RS8t/o1wAAAU/ePLJcABByYWdlU2VydmljZS5pbml0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxaAAABADIpCiAqIGFkZCAiYWxsIHRpbWUgYmxvY2tlZCIgdG8gU3RhdHVzTG9nZ2VyIG91dHB1dCAoQ0FTU0FORFJBLTU4MjUpCiAqIEZ1dHVyZS1wcm9vZiBpbnRlci1tYWpvci12ZXJzaW9uIHNjaGVtYSBtaWdyYXRpb25zIChDQVNTQU5EUkEtNTg0NSkKICogKEhhZG9vcCkgYWRkIENxbFBhZ2luZ1JlY29yZFJlYWRlciBzdXBwb3J0IGZvciBSZXZlcnNlZFR5cGUgaW4gVGhyaWZ0IHRhYmxlCiAgIChDQVNTQU5EUkEtNTcxOCkKICogQWRkIC1uby1zbmFwc2gZMjMfAAABT948slwAEHZvaWQgcmVwYWlyaW5nIGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFoAAAEAcmVtb3ZlIHBhcmVudCBzZXNzaW9uIG9uIHJlbW90ZSAoQ0FTU0FORFJBLTgyOTEpCiAqIEltcHJvdmUgSkJPRCBkaXNrIHV0aWxpemF0aW9uIChDQVNTQU5EUkEtNzM4NikKICogTG9nIGZhaWxlZCBob3N0IHdoZW4gcHJlcGFyaW5nIGluY3JlbWVudGFsIHJlcGFpciAoQ0FTU0FORFJBLTgyMjgpCiAqIEZvcmNlIGNvbmZpZyBjbGllbnQgbW9kZSBpbiBDUUxTU1RhYmxlV3JpdGVyIChDQVNTQU5EUkEtODI4MSkKICogRml4IHNzdGFibGV1cGdyYWRlID56eygAAAFP3jyyXAAQRmFpbHVyZURldGVjdG9yIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsWgAAAQAgZXZlbiB3aGVuIHJlc3BvbnNlcyB3ZXJlIHJlY2VpdmVkIChDQVNTQU5EUkEtMjU1MikKICogdHJpZ2dlciByZWFkIHJlcGFpciBjb3JyZWN0bHkgZm9yIExPQ0FMX1FVT1JVTSByZWFkcyAoQ0FTU0FORFJBLTI1NTYpCiAqIEFsbG93IGNvbmZpZ3VyaW5nIHRoZSBudW1iZXIgb2YgY29tcGFjdGlvbiB0aHJlYWQgKENBU1NBTkRSQS0yNTU4KQogKiBmb3JjZVVzZXJEZWZpbmVkQ29tcGFjdGlvbiB3aWxsIGF0dGVtcHQgdG8gY29tcGFjdCB3aGF0IGl0iCfyBQAAAU/ePLJcABBkIGluZGV4IHN1bW1hcnkgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxaAAABAChDQVNTQU5EUkEtMTc5MywgLTE3OTQsIC0xNzk1KQogKiBmaXggcmFuZ2UgcXVlcmllcyBhZ2FpbnN0IHdyYXBwZWQgcmFuZ2UgKENBU1NBTkRSQS0xNzgxKQogKiBmaXggY29uc2lzdGVuY3lsZXZlbCBjYWxjdWxhdGlvbnMgZm9yIE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5CiAgIChDQVNTQU5EUkEtMTgwNCkKICogY2xpIHN1cHBvcnQgaW5kZXggdHlwZSBlbnVtIG5hbWVzIChDQVNTQU5EUkEtMTgxMCkKICogaW1wcm92ZWQgdmFsaWRhdGlvbiBvZiDFE4IXAAABT948slwAECBQaWNrIHRoZSBjb3JyZWMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFoAAAEAb2ljZSBvZiByYW5kb20gb3IgImJhbGFuY2VkIiB0b2tlbiBvbiBib290c3RyYXAgb24gd2hldGhlcgogICBzY2hlbWEgZGVmaW5pdGlvbnMgd2VyZSBmb3VuZCAoQ0FTU0FORFJBLTMyMTkpCiAqIEZpeGVzIGZvciBMZXZlbGVkQ29tcGFjdGlvblN0cmF0ZWd5IHNjb3JlIGNvbXB1dGF0aW9uLCBwcmlvcml0aXphdGlvbiwKICAgc2NoZWR1bGluZywgYW5kIHBlcmZvcm1hbmNlIChDQVNTQU5EUkEtMzIyNCwgMzIzNCkKICogcGFyYWxsZWxpemUgc3N0YSAQrWkAAAFP3jyyXAAQIHRvIGNvbHVtbiB0aW1lcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsWgAAAQAgb3ZlcmxhcCBpbiBMMSAoQ0FTU0FORFJBLTU5MDcpCiAqIE5ldyBzc3RhYmxlc3BsaXQgdG9vbCB0byBzcGxpdCBsYXJnZSBzc3RhYmxlcyBvZmZsaW5lIChDQVNTQU5EUkEtNDc2NikKICogRml4IHBvdGVudGlhbCBkZWFkbG9jayBpbiBuYXRpdmUgcHJvdG9jb2wgc2VydmVyIChDQVNTQU5EUkEtNTkyNikKICogRGlzYWxsb3cgaW5jb21wYXRpYmxlIHR5cGUgY2hhbmdlIGluIENRTDMgKENBU1NBTkRSQS01ODgyKQpNZXJnZWQgZnJvbSAxLjE6CiAq0OHTgwAAAU/ePLJcABAoQ0FTU0FORFJBLTcxODcpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxaAAABAGl6ZSByZXBhaXIncyBtZXJrbGUgdHJlZSBjb21wdXRhdGlvbiAoQ0FTU0FORFJBLTI4MTYpCgoKMC44LjEKICogQ1FMOgogICAtIHN1cHBvcnQgZm9yIGluc2VydCwgZGVsZXRlIGluIEJBVENIIChDQVNTQU5EUkEtMjUzNykKICAgLSBzdXBwb3J0IGZvciBJTiB0byBTRUxFQ1QsIFVQREFURSAoQ0FTU0FORFJBLTI1NTMpCiAgIC0gdGltZXN0YW1wIHN1cHBvcnQgZm9yIElOU0VSVCwgVVBEQVRFLCBhbmQgQkFUQ0ggKENBU1NBTkRSQS0yNTU1KQogICATST/oAAABT948slwAEEFORFJBLTY4ODgpCiAqIEUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFoAAAEAICogV3JpdGUgcGFydGl0aW9uIHNpemUgZXN0aW1hdGVzIGludG8gYSBzeXN0ZW0gdGFibGUgKENBU1NBTkRSQS03Njg4KQogKiBjcWxzaDogRml4IGtleXMoKSBhbmQgZnVsbCgpIGNvbGxlY3Rpb24gaW5kZXhlcyBpbiBERVNDUklCRSBvdXRwdXQKICAgKENBU1NBTkRSQS04MTU0KQogKiBTaG93IHByb2dyZXNzIG9mIHN0cmVhbWluZyBpbiBub2RldG9vbCBuZXRzdGF0cyAoQ0FTU0FORFJBLTg4ODYpCiAqIEluZGV4U3VtbWFyeUJ1aWxkZXIgdXRpbBzDbBwAAAFP3jyyXAAQcmUgcHJlc2VudCAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsWgAAAQBEUkEtODE0NikKICogRml4IElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiB3aGVuIGEgbGlzdCBvZiBJTiB2YWx1ZXMgY29udGFpbmluZyB0dXBsZXMKICAgaXMgcGFzc2VkIGFzIGEgc2luZ2xlIGFyZyB0byBhIHByZXBhcmVkIHN0YXRlbWVudCB3aXRoIHRoZSB2MSBvciB2MgogICBwcm90b2NvbCAoQ0FTU0FORFJBLTgwNjIpCiAqIEZpeCBDbGFzc0Nhc3RFeGNlcHRpb24gaW4gRElTVElOQ1QgcXVlcnkgb24gc3RhdGljIGNvbHVtbnMgd2l0aAogICBxJUx3MAAAAU/ePLJcABAgbW9yZSByb2J1c3QgYW5kAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxaAAABAENBU1NBTkRSQS03MTczKQogKiBBZGQgaHVtYW4gcmVhZGFibGUgb3B0aW9uIHRvIG5vZGV0b29sIGNvbW1hbmRzIChDQVNTQU5EUkEtNTQzMykKICogRG9uJ3QgdHJ5IHRvIHNldCByZXBhaXJlZEF0IG9uIG9sZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTc5MTMpCiAqIEFkZCBtZXRyaWNzIGZvciB0cmFja2luZyBQcmVwYXJlZFN0YXRlbWVudCB1c2UgKENBU1NBTkRSQS03NzE5KQogKiAoY3Fsc2gpIHRhYi1jb21wbGV0aW9uIGZvciB0cmlnZ2VycyAoQ0GCTPrTAAABT948slwAEHNhbGxvdyBpbmNvbXBhdGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFoAAAEAbXBvc2l0ZVR5cGUgc2NoZW1hcyBjb3JyZWN0bHkgKENBU1NBTkRSQS04NTYzKQogKiBEdXBsaWNhdGUgcm93cyByZXR1cm5lZCB3aGVuIGluIGNsYXVzZSBoYXMgcmVwZWF0ZWQgdmFsdWVzIChDQVNTQU5EUkEtNjcwNikKICogQWRkIHRvb2xpbmcgdG8gZGV0ZWN0IGhvdCBwYXJ0aXRpb25zIChDQVNTQU5EUkEtNzk3NCkKICogRml4IGNhc3NhbmRyYS1zdHJlc3MgdXNlci1tb2RlIHRydW5jYXRpb24gb2YgcGFydGl0aW9uIGdlbmVyYXRpb24gKENBUxfYNDYAAAFP3jyyXAAQcmllcyB3aXRoIHN0YXRpYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsWgAAAQAgKENBU1NBTkRSQS0zMjI5KQogKiBCYXNlIGNob2ljZSBvZiByYW5kb20gb3IgImJhbGFuY2VkIiB0b2tlbiBvbiBib290c3RyYXAgb24gd2hldGhlcgogICBzY2hlbWEgZGVmaW5pdGlvbnMgd2VyZSBmb3VuZCAoQ0FTU0FORFJBLTMyMTkpCiAqIEZpeGVzIGZvciBMZXZlbGVkQ29tcGFjdGlvblN0cmF0ZWd5IHNjb3JlIGNvbXB1dGF0aW9uLCBwcmlvcml0aXphdGlvbiwKICAgc2NoZWR1bGluZywgYW5kIHBlcmZvcm1hbmNlIChDQVNTQU5EUkEtMzIyr1LRtQAAAU/ePLJcABBuIGZpbGVzIGFyZSByZW1vAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxaAAABAGVzIG9mIENvdW50ZXJDb2x1bW5UeXBlIChDQVNTQU5EUkEtMzQyMikKICogdHVybiBvZmYgc3RyaW5nIGludGVybmluZyBpbiBqc29uMnNzdGFibGUsIHRha2UgMiAoQ0FTU0FORFJBLTIxODkpCiAqIHZhbGlkYXRlIGNvbXByZXNzaW9uIHBhcmFtZXRlcnMgb24gYWRkL3VwZGF0ZSBvZiB0aGUgQ29sdW1uRmFtaWx5IAogICAoQ0FTU0FORFJBLTM1NzMpCiAqIENoZWNrIGZvciAwLjAuMC4wIGlzIGluY29ycmVjdCBpbiBDRklGIChDQVNTQU5EUkEtMzXVyKGPAAABT948slwAECBpbXBsZW1lbnRhdGlvbnMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILFoAAAEAc3RhdGVzIChnb3NzaXAgZGV0YWlscykgdmlhIGpteCAoQ0FTU0FORFJBLTE0NjcpCiAqIGVuc3VyZSB0aGF0IGNvbXBhY3RlZCBzc3RhYmxlcyBhcmUgbm90IGluY2x1ZGVkIHdoZW4gbmV3IHJlYWRlcnMgYXJlCiAgIGluc3RhbnRpYXRlZCAoQ0FTU0FORFJBLTE0NzcpCiAqIGJ5IGRlZmF1bHQsIGNhbGN1bGF0ZSBoZWFwIHNpemUgYW5kIG1lbXRhYmxlIHRocmVzaG9sZHMgYXQgcnVudGltZSAoQ0FTU0FORFJBLTE0NjkpCiAqIGZpeCByYWNlcyBkZbOy03MABmzMqf7E7gAAAU/ePLJcABA3MTUpCiAqIFN1cHBvcnQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxgAAABACkKICogUmVtb3ZlZCB0aGUgd2ViIGludGVyZmFjZS4gTm9kZSBpbmZvcm1hdGlvbiBjYW4gbm93IGJlIG9idGFpbmVkIGJ5IAogICB1c2luZyB0aGUgbmV3bHkgaW50cm9kdWNlZCBub2RlcHJvYmUgdXRpbGl0eS4KICogTW9yZSBKTVggc3RhdHMKICogUmVtb3ZlIG1hZ2ljIHZhbHVlcyBmcm9tIGludGVybmFscyAoZS5nLiBzcGVjaWFsIGtleSB0byBpbmRpY2F0ZQogICB3aGVuIHRvIGZsdXNoIG1lbXRhYmxlcykKICogUmVuYW1lIGNvbmZpZ3VyYXTYt1UOAAABT948slwAEHMgbm93IG9ubHkgc2VuZCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILGAAAAEAYWxsZWxpemUgZmV0Y2hpbmcgcm93cyBmb3IgbG93LWNhcmRpbmFsaXR5IGluZGV4ZXMgKENBU1NBTkRSQS0xMzM3KQogKiBjaGFuZ2UgbG9nZ2luZyBmcm9tIGxvZzRqIHRvIGxvZ2JhY2sgKENBU1NBTkRSQS01ODgzKQogKiBzd2l0Y2ggdG8gTFo0IGNvbXByZXNzaW9uIGZvciBpbnRlcm5vZGUgY29tbXVuaWNhdGlvbiAoQ0FTU0FORFJBLTU4ODcpCiAqIFN0b3AgdXNpbmcgVGhyaWZ0LWdlbmVyYXRlZCBJbmRleCogY2xhc3NlcyBpbnRlcm5hbGx5IGOP+gYAAAFP3jyyXAAQQVNTQU5EUkEtODMzKQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsYQAAAQBhZ2VTZXJ2aWNlLmluaXRDbGllbnQgZm9yIGZhdCBjbGllbnRzIG9uIHRoZSBKVk0gKENBU1NBTkRSQS01MzUpCiAgIChzZWUgY29udHJpYi9jbGllbnRfb25seSBmb3IgYW4gZXhhbXBsZSBvZiB1c2UpCiAqIG1ha2UgY29uc2lzdGVuY3lfbGV2ZWwgZnVuY3Rpb25hbCBpbiBnZXRfcmFuZ2Vfc2xpY2UgKENBU1NBTkRSQS01NjgpCiAqIG9wdGltaXplIGtleSBkZXNlcmlhbGl6YXRpb24gZm9yIFJhbmRvbVBhcnRpdGlvbmVyIChDQVNTQU5EUkEtNTgx51e5pgAAAU/ePLJcABBORFJBLTMxNDIpCiAqIGFsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxhAAABAHJlc2hvbGRzIGR1cmluZyBsb2cgcmVwbGF5IChDQVNTQU5EUkEtNjA5KQogKiBzdXBwb3J0IENvbnNpc3RlbmN5TGV2ZWwuQUxMIG9uIHJlYWQgKENBU1NBTkRSQS01ODQpCiAqIGFkZCBub2RlcHJvYmUgcmVtb3ZldG9rZW4gY29tbWFuZCAoQ0FTU0FORFJBLTU2NCkKCgowLjUuMCBiZXRhCiAqIEFsbG93IG11bHRpcGxlIHNpbXVsdGFuZW91cyBmbHVzaGVzLCBpbXByb3ZpbmcgZmx1c2ggdGhyb3VnaHB1dCAKICAgb24gbXVsdGljb3JlIHN5c3RlbXMXcx2FAAABT948slwAEGluZyBMMCBjb21wYWN0aW8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILGEAAAEAaWIgcmVsYXRpdmUgdG8gcmVhbHBhdGggKENBU1NBTkRSQS0zNzY3KQogKiBGaXggc2hvcnQgcmVhZCBwcm90ZWN0aW9uIChDQVNTQU5EUkEtMzkzNCkKICogTWFrZSBzdXJlIGluZmVyZWQgYW5kIGFjdHVhbCBzY2hlbWEgbWF0Y2ggKENBU1NBTkRSQS0zMzcxKQogKiBGaXggTlBFIGR1cmluZyBISCBkZWxpdmVyeSAoQ0FTU0FORFJBLTM2NzcpCiAqIERvbid0IHB1dCBib29zdHJhcHBpbmcgbm9kZSBpbiAnaGliZXJuYXRlJyBzdGF0dXMgKENBU1NBTj5GKsYAAAFP3jyyXAAQQVNTQU5EUkEtODc1NykKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsYQAAAQB0ZSAoQ0FTU0FORFJBLTIzODIpCiAqIGZpeCBkdXBsaWNhdGUgcmVzdWx0cyBmcm9tIENGUy5zY2FuIChDQVNTQU5EUkEtMjQwNikKICogYWRkIEludGVnZXJUeXBlIHRvIENMSSBoZWxwIChDQVNTQU5EUkEtMjQxNCkKICogYXZvaWQgY2FjaGluZyB0b2tlbi1vbmx5IGRlY29yYXRlZGtleXMgKENBU1NBTkRSQS0yNDE2KQogKiBjb252ZXJ0IG1tYXAgYXNzZXJ0aW9uIHRvIGlmL3Rocm93IHNvIHNjcnViIGNhbiBjYXRjaCBpdCAoQ0FTU0FORFJBLTI0+qK/EAAAAU/ePLJcABA2MTg1KQogKiBjcWxzaDogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxhAAABACkKTWVyZ2VkIGZyb20gMS4xCiAqIEFkZCByZXRyeSBtZWNoYW5pc20gdG8gT1RDIGZvciBub24tZHJvcHBhYmxlX3ZlcmJzIChDQVNTQU5EUkEtNTM5MykKICogVXNlIGFsbG9jYXRvciBpbmZvcm1hdGlvbiB0byBpbXByb3ZlIG1lbXRhYmxlIG1lbW9yeSB1c2FnZSBlc3RpbWF0ZQogICAoQ0FTU0FORFJBLTU0OTcpCiAqIEZpeCB0cnlpbmcgdG8gbG9hZCBkZWxldGVkIHJvdyBpbnRvIHJvdyBjYWNoZSBvbiBzdGFydHVwIChDQVNTQU5EUkEtNDQ2Mymlcn7tAAABT948slwAEGcgc25hcHNob3RzIG9mIG4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILGEAAAEAIChDQVNTQU5EUkEtNzQ2MykKICogRml4IHRvdGFsRGlza1NwYWNlVXNlZCBjYWxjdWxhdGlvbiAoQ0FTU0FORFJBLTgyMDUpCgoKMi4xLjEKICogRml4IHNwaW4gbG9vcCBpbiBBdG9taWNTb3J0ZWRDb2x1bW5zIChDQVNTQU5EUkEtNzU0NikKICogRG9udCBub3RpZnkgd2hlbiByZXBsYWNpbmcgdG1wbGluayBmaWxlcyAoQ0FTU0FORFJBLTgxNTcpCiAqIEZpeCB2YWxpZGF0aW9uIHdpdGggbXVsdGlwbGUgQ09OVEFJTlMgY2xhdXNlIChDQVNTQU5EUhHMrgsAAAFP3jyyXAAQQ0FTU0FORFJBLTQxNTcpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsYQAAAQBTQU5EUkEtMzMyNikKICogT25seSBjcmVhdGUgb25lIENvbXByZXNzaW9uTWV0YWRhdGEgb2JqZWN0IHBlciBzc3RhYmxlIChDQVNTQU5EUkEtMzQyNykKICogY2xlYW51cCB1c2FnZSBvZiBTdG9yYWdlU2VydmljZS5zZXRNb2RlKCkgKENBU1NBTkRSQS0zMzg4KQogKiBBdm9pZCBsYXJnZSBhcnJheSBhbGxvY2F0aW9uIGZvciBjb21wcmVzc2VkIGNodW5rIG9mZnNldHMgKENBU1NBTkRSQS0zNDMyKQogKiBmaXggRGVjaW1hbFR5cGUgYnl0ZWJ1ZmZlJe83tAAAAU/ePLJcABBvIHNldCBjb3JyZWN0IGtiAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxhAAABAGlvbiBzdHJpbmcgb24gc3RhcnR1cCAoQ0FTU0FORFJBLTMxOTYpCiAqIChIYWRvb3ApIG1ha2UgQ0ZJRiB0cnkgcnBjX2FkZHJlc3Mgb3IgZmFsbGJhY2sgdG8gbGlzdGVuX2FkZHJlc3MKICAgKENBU1NBTkRSQS0zMjE0KQogKiAoSGFkb29wKSBhY2NlcHQgY29tbWEgZGVsaW1pdGVkIGxpc3RzIG9mIGluaXRpYWwgdGhyaWZ0IGNvbm5lY3Rpb25zCiAgIChDQVNTQU5EUkEtMzE4NSkKICogQ29sdW1uRmFtaWx5IG1pbl9jb21wYWN0aW9uX3RocmVzaG/l3l+UAAABT948slwAECogRml4IE1UIG1pc21hdGMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILGEAAAEAQ1QgZm9yIHN0YXRpYyBjb2x1bW5zIGFuZCBmaXggYmVoYXZpb3VyIHdoZW4gRElTVElOQyBpcwogICBub3QgdXNlIChDQVNTQU5EUkEtNzMwNSkuCiAqIFdvcmthcm91bmQgSlZNIE5QRSBvbiBKTVggYmluZCBmYWlsdXJlIChDQVNTQU5EUkEtNzI1NCkKICogRml4IHJhY2UgaW4gRmlsZUNhY2hlU2VydmljZSBSZW1vdmFsTGlzdGVuZXIgKENBU1NBTkRSQS03Mjc4KQogKiBGaXggaW5jb25zaXN0ZW50IHVzZSBvZiBjb25zaXN0ZW5jeUZvckNvbW1pdIK5YhcAAAFP3jyyXAAQQ0FTU0FORFJBLTYyNDQpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsYQAAAQBycyAoQ0FTU0FORFJBLTExMTkpCiAqIGZvcmNlIGFudGktZW50cm9weSBzZXJ2aWNlIHRvIHN0cmVhbSBmaWxlcyBvbiB0aGUgc3RyZWFtIHN0YWdlIHRvIGF2b2lkCiAgIHNlbmRpbmcgc3RyZWFtcyBvdXQgb2Ygb3JkZXIgKENBU1NBTkRSQS0xMTY5KQogKiByZW1vdmUgaW5hY3RpdmUgc3RyZWFtIG1hbmFnZXJzIGFmdGVyIEFFUyBzdHJlYW1zIGZpbGVzIChDQVNTQU5EUkEtMTE2OSkKICogYWxsb3cgcmVtb3ZpbmcgZW50aXJlIHJvdyB0aHJvdWdoEkPqtwAAAU/ePLJcABAwMDkpCiAqIHJlZGVzaWduAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxhAAABAHJlYXRpb24gKENBU1NBTkRSQS02MzA4KQogKiBBbGxvdyBMT0NBTF9PTkUvTE9DQUxfUVVPUlVNIHRvIHdvcmsgd2l0aCBTaW1wbGVTdHJhdGVneSAoQ0FTU0FORFJBLTYyMzgpCiAqIGNxbHNoOiBoYW5kbGUgJ251bGwnIGFzIHNlc3Npb24gZHVyYXRpb24gKENBU1NBTkRSQS02MzE3KQogKiBGaXgganNvbjJzc3RhYmxlIGhhbmRsaW5nIG9mIHJhbmdlIHRvbWJzdG9uZXMgKENBU1NBTkRSQS02MzE2KQogKiBGaXggbWlzc2luZyBvbmUgcm93IGluIHINnBu0AAABT948slwAEGxvdyByZW1vdmluZyBzbmEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILGEAAAEAb3RpZmljYXRpb25zIChDQVNTQU5EUkEtNzUzOSkKICogQnVtcCBDUUwgdmVyc2lvbiB0byAzLjIuMCBhbmQgdXBkYXRlIENRTCBkb2N1bWVudGF0aW9uIChDQVNTQU5EUkEtNzUyNykKICogRml4IGNvbmZpZ3VyYXRpb24gZXJyb3IgbWVzc2FnZSB3aGVuIHJ1bm5pbmcgbm9kZXRvb2wgcmluZyAoQ0FTU0FORFJBLTc1MDgpCiAqIFN1cHBvcnQgY29uZGl0aW9uYWwgdXBkYXRlcywgdHVwbGUgdHlwZSwgYW5kIHRoZSB2MyBwcm90b2NvbCBpbiBjcWxzaE6XkuMAAABT0ybfUgAoAAZzeXN0ZW0AABVzY2hlbWFfY29sdW1uZmFtaWxpZXMAAAQAAAAEAAAAAAEBWh/yZ6zgPxKFY8+uYQPGXlVTZnEABRX31e1a6AAAAAAAAAAAo03dmwAAAU/ePLJcABBORFJBLTE2NjkpCiAqIEZpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxhAAABAAogKiAoY3Fsc2gpIEltcHJvdmUgd2FpdGluZyBmb3IgYSB0cmFjZSB0byBjb21wbGV0ZSAoQ0FTU0FORFJBLTc2MjYpCiAqIEZpeCB0cmFjaW5nIG9mIGNvbmN1cnJlbnQgcmFuZ2Ugc2xpY2VzIGFuZCAyYXJ5IGluZGV4IHF1ZXJpZXMgKENBU1NBTkRSQS03NjI2KQogKiBGaXggc2NydWIgYWdhaW5zdCBjb2xsZWN0aW9uIHR5cGUgKENBU1NBTkRSQS03NjY1KQpNZXJnZWQgZnJvbSAyLjA6CiAqIFNldCBnY19ncmFjZV9zZWNvbmRzIHRvIHNldmVuIGS08kA+AAaBKZ2xqeYAAAFP3jyyXAAQKiBGaXggc2h1dGRvd24gbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsYgAAAQBncmVzcyBjb21wYWN0aW9uIHR5cGUgaW4gam14IChDQVNTQU5EUkEtMTU4NikKICogcmVtb3ZlZCBJQ2xvY2sgJiByZWxhdGVkIGNsYXNzZXMgZnJvbSBpbnRlcm5hbHMgKENBU1NBTkRSQS0xNTAyKQogKiBmaXggcmVtb3ZpbmcgdG9rZW5zIGZyb20gU3lzdGVtVGFibGUgb24gZGVjb21taXNzaW9uIGFuZCByZW1vdmV0b2tlbgogICAoQ0FTU0FORFJBLTE2MDkpCiAqIGluY2x1ZGUgQ0YgbWV0YWRhdGEgaW4gY2xpICdzaG93IGtleXNwYWNlcycgKENB38ycDAAAAU/ePLJcABBpdGl6YXRpb24sCiAgIHNjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxiAAABAGFsaWRhdGUgQ1FMIGNyZWF0ZSBrZXlzcGFjZSBvcHRpb25zIChDQVNTQU5EUkEtMjUyNSkKICogZml4IG5vZGV0b29sIHNldGNvbXBhY3Rpb250aHJvdWdocHV0IChDQVNTQU5EUkEtMjU1MCkKICogbW92ZQlnb3NzaXAgaGVhcnRiZWF0IGJhY2sgdG8gaXRzIG93biB0aHJlYWQgKENBU1NBTkRSQS0yNTU0KQogKiB2YWxpZGF0ZSBjcWwgVFJVTkNBVEUgY29sdW1uZmFtaWx5IGJlZm9yZSB0cnVuY2F0aW5nIChDQVNTQU5EUkEtMjU3MCkKICogZml4IGI3qTfnAAABT948slwAECAqIENGIGlkIGlzIGNoYW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILGIAAAEAZCIgdG9rZW4gb24gYm9vdHN0cmFwIG9uIHdoZXRoZXIKICAgc2NoZW1hIGRlZmluaXRpb25zIHdlcmUgZm91bmQgKENBU1NBTkRSQS0zMjE5KQogKiBGaXhlcyBmb3IgTGV2ZWxlZENvbXBhY3Rpb25TdHJhdGVneSBzY29yZSBjb21wdXRhdGlvbiwgcHJpb3JpdGl6YXRpb24sCiAgIHNjaGVkdWxpbmcsIGFuZCBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTMyMjQsIDMyMzQpCiAqIHBhcmFsbGVsaXplIHNzdGFibGUgb3BlbiBhdCBzZXJ2ZXIgc3RhcnR1cOB9mCgAAAFP3jyyXAAQdXN0IE1UIGRlcHRoIGJhcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsYgAAAQAgYW50aS1lbnRyb3B5IGZlYXR1cmUgKENBU1NBTkRSQS0xOTMsIENBU1NBTkRSQS01MjApCiAqIGZpeCBwb3NzaWJpbGl0eSBvZiBwYXJ0aXRpb24gd2hlbiBtYW55IG5vZGVzIHJlc3RhcnQgYXQgb25jZQogICBpbiBjbHVzdGVycyB3aXRoIG11bHRpcGxlIHNlZWRzIChDQVNTQU5EUkEtMTUwKQogKiBmaXggTlBFIGluIGdldF9yYW5nZV9zbGljZSB3aGVuIG5vIGRhdGEgaXMgZm91bmQgKENBU1NBTkRSQS01NzgpCiAqIGZpeCBwb3RlbnRpYWwgTlBFl3u4WAAAAU/ePLJcABB5IGFuZCBlbmRfdG9rZW4gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxiAAABAHJvdmVtZW50cyBmcm9tIENBU1NBTkRSQS01MDQgaW4gZGViaWFuIHBhY2thZ2UKICogY2hhbmdlIHN0cmVhbWluZyBjaHVuayBzaXplIHRvIDMyTUIgdG8gYWNjb21vZGF0ZSBXaW5kb3dzIFhQIGxpbWl0YXRpb25zCiAgICh3YXMgNjRNQikgKENBU1NBTkRSQS03OTUpCiAqIGZpeCBnZXRfcmFuZ2Vfc2xpY2UgcmV0dXJuaW5nIHJlc3VsdHMgaW4gdGhlIHdyb25nIG9yZGVyIChDQVNTQU5EUkEtNzgxKQogCgowLjUuMCBmaW5hbAogKiBhdm9pZCBhdHR/rOlgAAABT948slwAECBjYXNzYW5kcmEuYmF0ICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILGIAAAEAUHJlcGFyZWRTdGF0ZW1lbnQgdXNlIChDQVNTQU5EUkEtNzcxOSkKICogKGNxbHNoKSB0YWItY29tcGxldGlvbiBmb3IgdHJpZ2dlcnMgKENBU1NBTkRSQS03ODI0KQogKiAoY3Fsc2gpIFN1cHBvcnQgZm9yIHF1ZXJ5IHBhZ2luZyAoQ0FTU0FORFJBLTc1MTQpCiAqIChjcWxzaCkgU2hvdyBwcm9ncmVzcyBvZiBDT1BZIG9wZXJhdGlvbnMgKENBU1NBTkRSQS03Nzg5KQogKiBBZGQgc3ludGF4IHRvIHJlbW92ZSBtdWx0aXBsZSBlbGVtZW50cyBmcm9tIF/NklAAAAFP3jyyXAAQZHMgKENBU1NBTkRSQS0zNwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsYgAAAQApIHBhcnNlX2Zvcl90YWJsZV9tZXRhIGVycm9ycyBvdXQgb24gcXVlcmllcyB3aXRoIHVuZGVmaW5lZAogICBncmFtbWFycyAoQ0FTU0FORFJBLTgyNjIpCiAqIChjcWxzaCkgRml4IFNFTEVDVCAuLi4gVE9LRU4oKSBmdW5jdGlvbiBicm9rZW4gaW4gQyogMi4xLjEgKENBU1NBTkRSQS04MjU4KQogKiBGaXggQ2Fzc2FuZHJhIGNyYXNoIHdoZW4gcnVubmluZyBvbiBKREs4IHVwZGF0ZSA0MCAoQ0FTU0FORFJBLTgyMDkpCiAqIE9wdGltaXplIHBhcnRp2IHUeAAAAU/ePLJcABBuZCBhZGQgc2l6ZSBjaGVjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxiAAABAHVsYXRlIGhlYXAgc2l6ZSBhbmQgbWVtdGFibGUgdGhyZXNob2xkcyBhdCBydW50aW1lIChDQVNTQU5EUkEtMTQ2OSkKICogZml4IHJhY2VzIGRlYWxpbmcgd2l0aCBhZGRpbmcvZHJvcHBpbmcga2V5c3BhY2VzIGFuZCBjb2x1bW4gZmFtaWxpZXMgaW4KICAgcmFwaWQgc3VjY2Vzc2lvbiAoQ0FTU0FORFJBLTE0NzcpCiAqIGNsZWFuIHVwIG9mIFN0cmVhbWluZyBzeXN0ZW0gKENBU1NBTkRSQS0xNTAzLCAxNTA0LCAxNTA2KQogKiBhZGQgb3B0aW9ucyDQCRdZAAABT948slwAEFJBLTc5MTYpCiAqIG5vZGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILGIAAAEAaWZ5aW5nIGNvbHVtbl9tZXRhZGF0YSBmcm9tIHRocmlmdCAoQ0FTU0FORFJBLTYxODIpCiAqIGNxbHNoOiBmaXggTElTVCBVU0VSUyBvdXRwdXQgKENBU1NBTkRSQS02MjQyKQogKiBBZGQgSVJlcXVlc3RTaW5rIGludGVyZmFjZSAoQ0FTU0FORFJBLTYyNDgpCiAqIFVwZGF0ZSBtZW10YWJsZSBzaXplIHdoaWxlIGZsdXNoaW5nIChDQVNTQU5EUkEtNjI0OSkKICogUHJvdmlkZSBob29rcyBhcm91bmQgQ1FMMi9DUUwzIHN0YXRlbWVudCBleGVjdXRpb6tYu3MAAAFP3jyyXAAQU0FORFJBLTY4MjQpCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsYgAAAQBjcWxzaCkgRG9uJ3QgaWdub3JlIENUUkwtQyBkdXJpbmcgQ09QWSBGUk9NIGV4ZWN1dGlvbiAoQ0FTU0FORFJBLTc4MTUpCiAqIChjcWxzaCkgT3JkZXIgVURUcyBhY2NvcmRpbmcgdG8gY3Jvc3MtdHlwZSBkZXBlbmRlbmNpZXMgaW4gREVTQ1JJQkUKICAgb3V0cHV0IChDQVNTQU5EUkEtNzY1OSkKICogKGNxbHNoKSBGaXggaGFuZGxpbmcgb2YgQ0FTIHN0YXRlbWVudCByZXN1bHRzIChDQVNTQU5EUkEtNzY3MSkKICogKGNxbHNoKSBDT1BZIFRPL0ZSKYYHzAAAAU/ePLJcABBsaWNlIHJlYWQgcmVwYWlyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxiAAABAGl0aW9uLiAoQ0FTU0FORFJBLTQ4MSkKICogQWRkaXRpb25hbCBKTVggbWV0cmljcyAoQ0FTU0FORFJBLTQ4MikKICogSlNPTiBiYXNlZCBleHBvcnQgYW5kIGltcG9ydCB0b29scyAoc2V2ZXJhbCB0aWNrZXRzKQogKiBIaW50ZWQgSGFuZG9mZiBmaXhlcyAoc2V2ZXJhbCB0aWNrZXRzKQogKiBBZGQga2V5IGNhY2hlIHRvIGltcHJvdmUgcmVhZCBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTQyMykKICogU2ltcGxpZmllZCBjb25zdHJ1Y3Rpb24gb2YgY3XsQhxEAAABT948slwAECByZXBhaXIgcGF0aHMKICAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILGIAAAEAQVNTQU5EUkEtODExOCkKICogR29zc2lwIHNob3VsZCBpZ25vcmUgZ2VuZXJhdGlvbiBudW1iZXJzIHRvbyBmYXIgaW4gdGhlIGZ1dHVyZSAoQ0FTU0FORFJBLTgxMTMpCiAqIEZpeCBOUEUgd2hlbiBjcmVhdGluZyBhIHRhYmxlIHdpdGggZnJvemVuIHNldHMsIGxpc3RzIChDQVNTQU5EUkEtODEwNCkKICogRml4IGhpZ2ggbWVtb3J5IHVzZSBkdWUgdG8gdHJhY2tpbmcgcmVhZHMgb24gaW5jcmVtZW50YWxseSBvcGVuZWQgc3N0YWJsZQogICByZWFkZUIijJMAAAFP3jyyXAAQY2hhbmdlIHNldmVyYWwgRAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsYgAAAQBhbGlkIHBvc3QtZmx1c2ggc28gd2UgZG9uJ3QgcmUtZmx1c2ggcGFydGlhbAogICBidWZmZXJzIGFnYWluLCBlc3BlY2lhbGx5IG9uIENMIHdyaXRlcyAoQ0FTU0FORFJBLTI2NjApCiAqIGFkZCBEUk9QIElOREVYIHN1cHBvcnQgdG8gQ0xJIChDQVNTQU5EUkEtMjYxNikKICogZG9uJ3QgcGVyZm9ybSBISCB0byBjbGllbnQtbW9kZSBbc3RvcmFnZXByb3h5XSBub2RlcyAoQ0FTU0FORFJBLTI2NjgpCiAqIEltcHJvdmUgZm9yY2VEZXNlcmlhbGl6ZS9nmeD1pAAAAU/ePLJcABBBU1NBTkRSQS01NTQxKQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxiAAABAHRpb24gdG8gd2FybiBiZWZvcmUgdmVyeSAKICAgbGFyZ2Ugcm93cyBnZXQgYmlnIGVub3VnaCB0byB0aHJlYXRlbiBub2RlIHN0YWJpbGl0eSwgYW5kIC14IG9wdGlvbiB0bwogICBiZSBhYmxlIHRvIHJlbW92ZSB0aGVtIHdpdGggc3N0YWJsZTJqc29uIGlmIHRoZSB3YXJuaW5nIGlzIHVuaGVlZGVkCiAgIHVudGlsIGl0J3MgdG9vIGxhdGUgKENBU1NBTkRSQS04NDMpCiAqIEFkZCBsb2dnaW5nIG9mIEdDIGFjdGl2aXR5IChDQVNTQU5EUkEtODEzKQr9x4aMAAABT948slwAEDM5KQogKiBBZGQgSUYgW04AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILGIAAAEAdWVudGFsbHkgKENBU1NBTkRSQS04NTI0KQogKiBGaXggcmVncmVzc2lvbiBpbiBTU1RhYmxlUmV3cml0ZXIgY2F1c2luZyBzb21lIHJvd3MgdG8gYmVjb21lIHVucmVhZGFibGUgCiAgIGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtODQyOSkKICogUnVuIG1ham9yIGNvbXBhY3Rpb25zIGZvciByZXBhaXJlZC91bnJlcGFpcmVkIGluIHBhcmFsbGVsIChDQVNTQU5EUkEtODUxMCkKICogKGNxbHNoKSBGaXggY29tcHJlc3Npb24gb3B0aW9ucyBpbjim3lcABoGQpgEysAAAAFPTJt9SACgABnN5c3RlbQAAFXNjaGVtYV9jb2x1bW5mYW1pbGllcwAABAAAAAMAAAAAAQFaH/JnrOA/EoVjz65hA8ZeVVNmcQAFFffV7X4QAAAAAAAAAADG39kTAAaV7RS8OZgAAAFP3jyyXAAQcyAoQ0FTU0FORFJBLTY1NgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsawAAAQBvdW50IGluIGNmc3RhdHMgKENBU1NBTkRSQS04OTEzKQogKiBNYWtlIFNTVGFibGVSZXdyaXRlci5hYm9ydCgpIG1vcmUgcm9idXN0IHRvIGZhaWx1cmUgKENBU1NBTkRSQS04ODMyKQogKiBSZW1vdmUgY29sZF9yZWFkc190b19vbWl0IGZyb20gU1RDUyAoQ0FTU0FORFJBLTg4NjApCiAqIE1ha2UgRXN0aW1hdGVkSGlzdG9ncmFtI3BlcmNlbnRpbGUoKSB1c2UgY2VpbCBpbnN0ZWFkIG9mIGZsb29yIChDQVNTQU5EUkEtODg4MykKICogRml4IHRvcCBwyZAeqgAAAU/ePLJcABBsZSB0aGlzIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxrAAABAGUgY3VycmVudCBvbmUgKENBU1NBTkRSQS0yNzYzKQogKiBhZGQgS2V5UmFuZ2Ugb3B0aW9uIHRvIEhhZG9vcCBpbnB1dGZvcm1hdCAoQ0FTU0FORFJBLTExMjUpCiAqIGZpeCBwcm90b2NvbCB2ZXJzaW9uaW5nIChDQVNTQU5EUkEtMjgxOCwgMjg2MCkKICogc3VwcG9ydCBzcGFjZXMgaW4gcGF0aCB0byBsb2c0aiBjb25maWd1cmF0aW9uIChDQVNTQU5EUkEtMjM4MykKICogYXZvaWQgaW5jbHVkaW5nIGluZmVycmVkIHR5cGVzIGluIENGIHVwZGF0ZSBA+bTxAAABT948slwAEFRvcG9sb2d5U3RyYXRlZ3kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILGsAAAEAcGFjdGlvbl9oaXN0b3J5IHRpbWVzdGFtcHMgKENBU1NBTkRSQS02Nzg0KQogKiBDb21wYXJlIHNjb3JlcyBvZiBmdWxsIHJlcGxpY2Egb3JkZXJpbmcgaW4gREVTIChDQVNTQU5EUkEtNjY4MykKICogZml4IENNRSBpbiBTZXNzaW9uSW5mbyB1cGRhdGVQcm9ncmVzcyBhZmZlY3RpbmcgbmV0c3RhdHMgKENBU1NBTkRSQS02NTc3KQogKiBBbGxvdyByZXBhaXJpbmcgYmV0d2VlbiBzcGVjaWZpYyByZXBsaWNhcyAoQ0FTU0FORFJBLTY0NDApCiAqIEFsbN6970QAAAFP3jyyXAAQWCBub3RpZmljYXRpb24gZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsawAAAQBBTkRSQS04MDg3KQogKiBNb3ZlIGFsbCBoaW50cyByZWxhdGVkIHRhc2tzIHRvIGhpbnRzIGludGVybmFsIGV4ZWN1dG9yIChDQVNTQU5EUkEtODI4NSkKICogRml4IHBhZ2luZyBmb3IgbXVsdGktcGFydGl0aW9uIElOIHF1ZXJpZXMgKENBU1NBTkRSQS04NDA4KQogKiBGaXggTU9WRURfTk9ERSB0b3BvbG9neSBldmVudCBuZXZlciBiZWluZyBlbWl0dGVkIHdoZW4gYSBub2RlCiAgIG1vdmVzIGl0cyB0b2tlbiAoQ0FTU0FORFJBLTgzNzMpCiAqIEZpvdQjBAAAAU/ePLJcABBlcyAoQ0FTU0FORFJBLTYzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxrAAABAGV0b29sIHJpbmcgb3V0cHV0IChDQVNTQU5EUkEtNjI4OSkKICogRml4IGF0dGVtcHRpbmcgdG8gZmx1c2ggZW1wdHkgcm93cyAoQ0FTU0FORFJBLTYzNzQpCiAqIEZpeCBwb3RlbnRpYWwgb3V0IG9mIGJvdW5kcyBleGNlcHRpb24gd2hlbiBwYWdpbmcgKENBU1NBTkRSQS02MzMzKQpNZXJnZWQgZnJvbSAxLjI6CiAqIE9wdGltaXplIEZEIHBoaSBjYWxjdWxhdGlvbiAoQ0FTU0FORFJBLTYzODYpCiAqIEltcHJvdmUgaW5pdGlhbCBGRCBwaGkgZXN0aW1O8CMNAAABT948slwAEHBlKSBtYXBwaW5nIHRvIG4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILGsAAAEAICogSW1wcm92ZSByZXBhaXIgdGFza3Moc25hcHNob3QsIGRpZmZlcmVuY2luZykgY29uY3VycmVuY3kgKENBU1NBTkRSQS02NTY2KQogKiBGaXggcmVwbGF5aW5nIHByZS0yLjAgY29tbWl0IGxvZ3MgKENBU1NBTkRSQS02NzE0KQogKiBBZGQgc3RhdGljIGNvbHVtbnMgdG8gQ1FMMyAoQ0FTU0FORFJBLTY1NjEpCiAqIE9wdGltaXplIHNpbmdsZSBwYXJ0aXRpb24gYmF0Y2ggc3RhdGVtZW50cyAoQ0FTU0FORFJBLTY3MzcpCiAqIERpc2FsbG93IHBvc3pNEzcAAAFP3jyyXAAQYXRlbWVudHMgaW50ZXJuYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsawAAAQBORFJBLTU2OTYpCiAqIFBpZzogc3VwcG9ydCBmb3IgY3FsMyB0YWJsZXMgKENBU1NBTkRSQS01MjM0KQogKiBGaXggc2tpcHBpbmcgcmFuZ2UgdG9tYnN0b25lcyB3aXRoIHJldmVyc2UgcXVlcmllcyAoQ0FTU0FORFJBLTU3MTIpCiAqIEV4cGlyZSBlbnRyaWVzIG91dCBvZiBUaHJpZnRTZXNzaW9uTWFuYWdlciAoQ0FTU0FORFJBLTU3MTkpCiAqIERvbid0IGtlZXAgYW5jZXN0b3IgaW5mb3JtYXRpb24gaW4gbWVtb3J5IChDQVNTQU5EUkEtNTM0MikKutQh0wAAAU/ePLJcABBhcnkgaW5kZXggQVBJIChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxrAAABAGUgbWVzc2FnZSBpbml0aWF0aW9uIHRpbWUgdG8gcmVwbGljYXMgc28gdGhleSBjYW4gbW9yZQogICBhY2N1cmF0ZWx5IGRyb3AgdGltZWQtb3V0IHJlcXVlc3RzIChDQVNTQU5EUkEtMjg1OCkKICogZml4IGNsaWVudHV0aWwuamFyIGRlcGVuZGVuY2llcyAoQ0FTU0FORFJBLTQ1NjYpCiAqIG9wdGltaXplIFdyaXRlUmVzcG9uc2UgKENBU1NBTkRSQS00NTQ4KQogKiBuZXcgbWV0cmljcyAoQ0FTU0FORFJBLTQwMDkpCiAqIHJlZGVzaWduIEtFWVMgaW4dag+QAAABT948slwAEChDQVNTQU5EUkEtMzE3OCkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILGsAAAEAZWdtZW50cyBhcmUgZGlzY2FyZGVkIChDQVNTQU5EUkEtMjk1MCkKCgowLjguMwogKiBhZGQgYWJpbGl0eSB0byBkcm9wIGxvY2FsIHJlYWRzL3dyaXRlcyB0aGF0IGFyZSBnb2luZyB0byB0aW1lb3V0CiAgIChDQVNTQU5EUkEtMjk0MykKICogcmV2YW1wIHRva2VuIHJlbW92YWwgcHJvY2Vzcywga2VlcCBnb3NzaXAgc3RhdGVzIGZvciAzIGRheXMgKENBU1NBTkRSQS0yNDk2KQogKiBkb24ndCBhY2NlcHQgZXh0cmEgYXJncyBmb3IgMC1hcmcgbm9kZci2g1gAAAFP3jyyXAAQMzYxKQogKiBGaXggY29tbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsawAAAQAgcm93IGNhY2hlIGxvYWRpbmcgKENBU1NBTkRSQS00MjgyKQogKiBNYWtlIGNvbXBhY3Rpb24sIGZsdXNoIEpCT0QtYXdhcmUgKENBU1NBTkRSQS00MjkyKQogKiBydW4gbG9jYWwgcmFuZ2Ugc2NhbnMgb24gdGhlIHJlYWQgc3RhZ2UgKENBU1NBTkRSQS0zNjg3KQogKiBjbGVhbiB1cCBpb2V4Y2VwdGlvbnMgKENBU1NBTkRSQS0yMTE2KQogKiBhZGQgZGlza19mYWlsdXJlX3BvbGljeSAoQ0FTU0FORFJBLTIxMTgpCiAqIEludHJvZHVjZSBuZXcganNvdmaO6QAAAU/ePLJcABAqIHByZXNlcnZlIGNvbW1pAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxrAAABAG9nIHJlcGxpY2Egc2VsZWN0aW9uIHJhY2stYXdhcmUgKENBU1NBTkRSQS02NTUxKQogKiBGaXggQ0ZNZXRhRGF0YSNnZXRDb2x1bW5EZWZpbml0aW9uRnJvbUNvbHVtbk5hbWUoKSAoQ0FTU0FORFJBLTcwNzQpCiAqIEZpeCB3cml0ZXRpbWUvdHRsIGZ1bmN0aW9ucyBmb3Igc3RhdGljIGNvbHVtbnMgKENBU1NBTkRSQS03MDgxKQogKiBTdWdnZXN0IENUUkwtQyBvciBzZW1pY29sb24gYWZ0ZXIgdGhyZWUgYmxhbmsgbGluZXMgaW4gY3Fsc2ggKENBU1PGHerrAAABT948slwAEHkgb24gQ0wgd3JpdGVzICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILGsAAAEATkRSQS0zODY1KQogKiBUcnkgdG8gc3RvcCBhbGwgY29tcGFjdGlvbiB1cG9uIEtleXNwYWNlIG9yIENvbHVtbkZhbWlseSBkcm9wIChDQVNTQU5EUkEtNDIyMSkKICogKGNxbDMpIEFsbG93IGtleXNwYWNlIHByb3BlcnRpZXMgdG8gY29udGFpbiBoeXBoZW5zIChDQVNTQU5EUkEtNDI3OCkKICogKGNxbDMpIENvcnJlY3RseSB2YWxpZGF0ZSBrZXlzcGFjZSBhY2Nlc3MgaW4gY3JlYXRlIHRhYmxlIChDQVNTQU5EUkEtNDI5NikKICogQXZvaWQgZGVhZBwA+x0AAAFP3jyyXAAQZCBlcnJvciByZXBvcnRpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsawAAAQBzaW5nIHF1b3RlcyBpbiAiVVNFIDxrZXlzcGFjZT47IiBDTEkgY29tbWFuZCAoQ0FTU0FORFJBLTMyMDgpCiAqIERvbid0IGFsbG93IGFueSBjYWNoZSBsb2FkaW5nIGV4Y2VwdGlvbnMgdG8gaGFsdCBzdGFydHVwIChDQVNTQU5EUkEtMzIxOCkKICogRml4IHNzdGFibGVsb2FkZXIgLS1pZ25vcmVzIG9wdGlvbiAoQ0FTU0FORFJBLTMyNDcpCiAqIEZpbGUgZGVzY3JpcHRvciBsaW1pdCBpbmNyZWFzZWQgaW4gcGFja2FnaW5nIChDQVNTQU5EUkEtMzIwd+PyngAAAU/ePLJcABAsIHR0bCBhbmQgbGltaXQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxrAAABAHRvIHNldmVuIGRheXMgZm9yIHN5c3RlbSBzY2hlbWEgdGFibGVzIChDQVNTQU5EUkEtNzY2OCkKICogU2ltcGxlU2VlZFByb3ZpZGVyIG5vIGxvbmdlciBjYWNoZXMgc2VlZHMgZm9yZXZlciAoQ0FTU0FORFJBLTc2NjMpCiAqIEFsd2F5cyBmbHVzaCBvbiB0cnVuY2F0ZSAoQ0FTU0FORFJBLTc1MTEpCiAqIEZpeCBSZXZlcnNlZFR5cGUoRGF0ZVR5cGUpIG1hcHBpbmcgdG8gbmF0aXZlIHByb3RvY29sIChDQVNTQU5EUkEtNzU3NikKICogQWx3YXlzIG36LIaDAAABT948slwAECAoQ0FTU0FORFJBLTQwMDMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILGsAAAEAZCBERVNDUklCRSBGVUxMIFNDSEVNQSB2YXJpYW50IChDQVNTQU5EUkEtNTg4MCkKTWVyZ2VkIGZyb20gMS4yOgogKiBDb3JyZWN0bHkgdmFsaWRhdGUgc3BhcnNlIGNvbXBvc2l0ZSBjZWxscyBpbiBzY3J1YiAoQ0FTU0FORFJBLTU4NTUpCiAqIEFkZCBLZXlDYWNoZUhpdFJhdGUgbWV0cmljIHRvIENGIG1ldHJpY3MgKENBU1NBTkRSQS01ODY4KQogKiBjcWxzaDogYWRkIHN1cHBvcnQgZm9yIG11bHRpbGluZSBjb21tZW50cyAoQ0FTU0FORFJBLTU3Od+LUQgABqqpFKbjTAAAAU/ePLJcABBQUlNJIGhhbmRsaW5nIG9mAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxuAAABAHplIGFkanVzdG1lbnQgbWV0aG9kcyB0byBKTVhFbmFibGVkVGhyZWFkUG9vbEV4ZWN1dG9yIGFuZCAKICAgQ29tcGFjdGlvbk1hbmFnZXJNQmVhbiAoQ0FTU0FORFJBLTUwNDQpCiAqIGZpeCBoaW50aW5nIGZvciBkcm9wcGVkIGxvY2FsIHdyaXRlcyAoQ0FTU0FORFJBLTQ3NTMpCiAqIG9mZi1oZWFwIGNhY2hlIGRvZXNuJ3QgbmVlZCBtdXRhYmxlIGNvbHVtbiBjb250YWluZXIgKENBU1NBTkRSQS01MDU3KQogKiBhcHBseSBkaXNrX2ZhaWx1cmVfcG9CYHJbAAABT948slwAECkKICogdG9sZXJhdGUgaW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILG4AAAEARFJBLTI1MjQpCiAqIENsZWFudXAgZG9lc24ndCBuZWVkIHRvIGluc3BlY3Qgc3N0YWJsZXMgdGhhdCBjb250YWluIG9ubHkgbG9jYWwgZGF0YQogICAoQ0FTU0FORFJBLTU3MjIpCiAqIEFkZCBhYmlsaXR5IGZvciBDUUwzIHRvIGxpc3QgcGFydGl0aW9uIGtleXMgKENBU1NBTkRSQS00NTM2KQogKiBJbXByb3ZlIG5hdGl2ZSBwcm90b2NvbCBzZXJpYWxpemF0aW9uIChDQVNTQU5EUkEtNTY2NCkKICogVXBncmFkZSBUaHJpZnQgdG8gMC45LjEgKENBU+TJpnUAAAFP3jyyXAAQciB0byByZWR1Y2UgaS9vIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsbgAAAQBSQS0yMDg4KQogKiBzaHV0IGRvd24gc2VydmVyIGZvciBPT00gb24gYSBUaHJpZnQgdGhyZWFkIChDQVNTQU5EUkEtMjI2OSkKICogZml4IHRvbWJzdG9uZSBoYW5kbGluZyBpbiByZXBhaXIgYW5kIHNzdGFibGUyanNvbiAoQ0FTU0FORFJBLTIyNzkpCiAqIHByZXNlcnZlIHZlcnNpb24gd2hlbiBzdHJlYW1pbmcgZGF0YSBmcm9tIG9sZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTIyODMpCiAqIGRvbid0IHN0YXJ0IHJlcGFpciBpZiBhIG5laWdoYm9yaW5niZbGiwAAAU/ePLJcABA1KQogKiBXYXJuIHdoZW4gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxuAAABAC4gKENBU1NBTkRSQS05OTIpCiAqIHNwbGl0IENvbW1pdExvZ0V4ZWN1dG9yU2VydmljZSBpbnRvIEJhdGNoQ29tbWl0TG9nRXhlY3V0b3JTZXJ2aWNlIGFuZCAKICAgUGVyaW9kaWNDb21taXRMb2dFeGVjdXRvclNlcnZpY2UgKENBU1NBTkRSQS0xMDE0KQogKiBhZGQgbGF0ZW5jeSBoaXN0b2dyYW1zIHRvIENGU01CZWFuIChDQVNTQU5EUkEtMTAyNCkKICogbWFrZSByZXNvbHZpbmcgdGltZXN0YW1wIHRpZXMgZGV0ZXJtaW5pc3RpYyBieSB1c2luZyAXysXGAAABT948slwAEHB0aW9ucwogICAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILG4AAAEAKiBBZGQgdXRpbGl0eSBjbGFzcyB0byBzdXBwb3J0IGZvciByYXRlIGxpbWl0aW5nIGEgZ2l2ZW4gbG9nIHN0YXRlbWVudCAoQ0FTU0FORFJBLTkwMjkpCiAqIEFkZCBtaXNzaW5nIGNvbnNpc3RlbmN5IGxldmVscyB0byBjYXNzYW5kcmEtc3Rlc3MgKENBU1NBTkRSQS05MzYxKQogKiBGaXggY29tbWl0bG9nIGdldENvbXBsZXRlZFRhc2tzIHRvIG5vdCBpbmNyZW1lbnQgKENBU1NBTkRSQS05MzM5KQogKiBGaXggZm9yIGhhcm1sZXNzIGV4Y2VwdGlvbh10g8IAAAFP3jyyXAAQbiByZXBsaWNhdGlvbl9mYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsbgAAAQBNWCAoQ0FTU0FORFJBLTE5NjMpCiAqIGZpeCByYWNlIGNvbmRpdGlvbiBpbiBNZXNzYWdpbmdTZXJ2aWNlLnRhcmdldHMgKENBU1NBTkRSQS0xOTU5LCAyMDk0LCAyMDgxKQogKiByZWZ1c2UgdG8gb3BlbiBzc3RhYmxlcyBmcm9tIGEgZnV0dXJlIHZlcnNpb24gKENBU1NBTkRSQS0xOTM1KQogKiB6ZXJvLWNvcHkgcmVhZHMgKENBU1NBTkRSQS0xNzE0KQogKiBmaXggY29weSBib3VuZHMgZm9yIHdvcmQgVGV4dCBpbiB3b3JkY291bnQgZGVtbyAoQ0FTRxwhHQAAAU/ePLJcABBpcmluZyBkdXJpbmcgMiBwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxuAAABAGFmdGVyIGNsb3NlKCkgKENBU1NBTkRSQS0yNzU1KQogKiBmaXggc2NhbiB3cm9uZ2x5IHRocm93aW5nIGFzc2VydGlvbiBlcnJvciAoQ0FTU0FORFJBLTI2NTMpCiAqIEFsd2F5cyB1c2UgZXZlbiBkaXN0cmlidXRpb24gZm9yIG1lcmtsZSB0cmVlIHdpdGggUmFuZG9tUGFydGl0aW9ubmVyCiAgIChDQVNTQU5EUkEtMjg0MSkKICogZml4IGRlc2NyaWJlT3duZXJzaGlwIGZvciBPUFAgKENBU1NBTkRSQS0yODAwKQogKiBlbnN1cmUgdGhhdCBzdHJpbmfEgGFCAAABT948slwAECBpbiBDRklGIChDQVNTQU4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILG4AAAEAYXV0b19ib290c3RyYXAgc3lzdGVtIHByb3BlcnR5IChDQVNTQU5EUkEtNzY1MCkKICogVXBkYXRlIGphdmEgZHJpdmVyIChmb3IgaGFkb29wKSAoQ0FTU0FORFJBLTc2MTgpCiAqIFJlbW92ZSBDcWxQYWdpbmdSZWNvcmRSZWFkZXIvQ3FsUGFnaW5nSW5wdXRGb3JtYXQgKENBU1NBTkRSQS03NTcwKQogKiBTdXBwb3J0IGNvbm5lY3RpbmcgdG8gaXB2NiBqbXggd2l0aCBub2RldG9vbCAoQ0FTU0FORFJBLTc2NjkpCgoKMi4xLjAtcmM1CiAqIFJlamVjdE221r4AAAFP3jyyXAAQYWxsZWwgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsbgAAAQAoKSBjYWxscyBvbiBpbnZhbGlkIGtleXNwYWNlcyAoQ0FTU0FORFJBLTExMTEpCiAqIGZpeCBjYWNoZSBzaXplIGNhbGN1bGF0aW9uIGZvciBzaXplIG9mIDEwMCUgKENBU1NBTkRSQS0xMTI5KQogKiBmaXggY2FjaGUgY2FwYWNpdHkgb25seSBiZWluZyByZWNhbGN1bGF0ZWQgb25jZSAoQ0FTU0FORFJBLTExMjkpCiAqIHJlbW92ZSBob3VybHkgc2NhbiBvZiBhbGwgaGludHMgb24gdGhlIG9mZiBjaGFuY2UgdGhhdCB0aGUgZ29zc2lwZXIKICAgbWlzjh1bUwAAAU/ePLJcABBTQyBDTFVTVEVSIGZhaWxzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxuAAABAGVzcyAoQ0FTU0FORFJBLTQzMTYpCiAqIHJlZHVjZSBtZW1vcnkgY29uc3VtcHRpb24gb2YgSW5kZXhTdW1tYXJ5IChDQVNTQU5EUkEtNTUwNikKICogcmVtb3ZlIHBlci1yb3cgY29sdW1uIG5hbWUgYmxvb20gZmlsdGVycyAoQ0FTU0FORFJBLTU0OTIpCiAqIEluY2x1ZGUgZmF0YWwgZXJyb3JzIGluIHRyYWNlIGV2ZW50cyAoQ0FTU0FORFJBLTU0NDcpCiAqIEVuc3VyZSB0aGF0IFBlclJvd1NlY29uZGFyeUluZGV4IGlzIG5vdGlmaWVkIG9mIHJvdy3QZQvsAAABT948slwAEC4wIFJDMwogKiBjb21taXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILG4AAAEAbmQgTE9DQUxfU0VSSUFMIGNvbnNpc3RlbmN5IGxldmVscyAoQ0FTU0FORFJBLTgwNTEpCiAqIEZpeCBpbmRleCBzZWxlY3Rpb24gZHVyaW5nIHJlYnVpbGQgd2l0aCBjZXJ0YWluIHRhYmxlIGxheW91dHMgKENBU1NBTkRSQS05MjgxKQogKiBGaXggcGFydGl0aW9uLWxldmVsLWRlbGV0ZS1vbmx5IHdvcmtsb2FkIGFjY291bnRpbmcgKENBU1NBTkRSQS05MTk0KQogKiBBbGxvdyBzY3J1YiB0byBoYW5kbGUgY29ycnVwdGVkIGNvbXByZXNzZWQgY2h1bnW7IAMAAAFP3jyyXAAQcmllcyAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsbgAAAQBhcyBjaGFuZ2VkIHRvIGFsbG93IGJpbGxpb25zIG9mIGtleXMvcm93cyBwZXIKICAgbm9kZSBpbnN0ZWFkIG9mIG9ubHkgbWlsbGlvbnMKICogTXVsdGkta2V5c3BhY2Ugc3VwcG9ydAogKiBTY2FuIGFsbCBzc3RhYmxlcyBmb3IgYWxsIHF1ZXJpZXMgdG8gYXZvaWQgc2l0dWF0aW9ucyB3aGVyZQogICBkaWZmZXJlbnQgdHlwZXMgb2Ygb3BlcmF0aW9uIG9uIHRoZSBzYW1lIENvbHVtbkZhbWlseSBjb3VsZAogICBkaXNhZ3JlZSBvbiB3aGF0IGRhdGEg+r8XrQAAAU/ePLJcABBwaW4gbG9vcCBpbiBBdG9tAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxuAAABAG9kZXMgKENBU1NBTkRSQS03MDgyKQogKiBBZGQgVU5MT0dHRUQsIENPVU5URVIgb3B0aW9ucyB0byBCQVRDSCBkb2N1bWVudGF0aW9uIChDQVNTQU5EUkEtNjgxNikKICogYWRkIGV4dHJhIFNTTCBjaXBoZXIgc3VpdGVzIChDQVNTQU5EUkEtNjYxMykKICogZml4IG5vZGV0b29sIGdldHNzdGFibGVzIGZvciBibG9iIFBLIChDQVNTQU5EUkEtNjgwMykKICogRml4IEJhdGNobG9nTWFuYWdlciNkZWxldGVCYXRjaCgpIHVzZSBvZiBtaWxsaXNlY29uZCBRPlkRAAABT948slwAEFNBTkRSQS00Mzc5KQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILG4AAAEAaG90IG9wdGlvbiBhbGxvd2luZyBkaXNhYmxpbmcgc25hcHNob3QgYmVmb3JlIGRyb3AvdHJ1bmNhdGUKICAgKENBU1NBTkRSQS0zNzEwKQogKiBhbGxvdyBzaG9ydCBzbml0Y2ggbmFtZXMgKENBU1NBTkRSQS00MTMwKQoKCjEuMS1iZXRhMgogKiByZW5hbWUgbG9hZGVkIHNzdGFibGVzIHRvIGF2b2lkIGNvbmZsaWN0cyB3aXRoIGxvY2FsIHNuYXBzaG90cwogICAoQ0FTU0FORFJBLTM5NjcpCiAqIHN0YXJ0IGhpbnQgcmVwbGF5IGFzIHNvb24gYXMgRpBU8dsAAAFP3jyyXAAQKQogKiBEZWxldGUgcHJvYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsbgAAAQAtNTA2OCkKICogRml4IGVycm9yIHdoZW4gc291cmNpbmcgZmlsZSBpbiBjcWxzaCAoQ0FTU0FORFJBLTUyMzUpCgoKMS4yLjEKICogc3RyZWFtIHVuZGVsaXZlcmVkIGhpbnRzIG9uIGRlY29tbWlzc2lvbiAoQ0FTU0FORFJBLTUxMjgpCiAqIEdvc3NpcGluZ1Byb3BlcnR5RmlsZVNuaXRjaCBsb2FkcyBzYXZlZCBkYy9yYWNrIGluZm8gaWYgbmVlZGVkIChDQVNTQU5EUkEtNTEzMykKICogZHJhaW4gc2hvdWxkIGZsdXNoIHN5c3RlbSBDRnMgdG9vIChDRUt2/wAAAFPTJt9SACgABnN5c3RlbQAAFXNjaGVtYV9jb2x1bW5mYW1pbGllcwAABAAAAAIAAAAAAQFaH/JnrOA/EoVjz65hA8ZeVVNmcQAFFffV7ZWAAAAAAAAAAACEW5tQAAa/Bj3JTPkAAAFP3jyyXAAQOSkKICogUmV1c2UgcHJlcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgscQAAAQBsIGF0dGVtcHQKICAgdG8gYm9vdHN0cmFwIHdoZW4gc3RhcnRlZCwgdW50aWwgYm9vdHN0cmFwIHN1Y2Nlc3NmdWxseQogICBjb21wbGV0ZXMuIC1iIG9wdGlvbiBpcyByZW1vdmVkLiAgKENBU1NBTkRSQS00MzgpCiAqIFVubGVzcyBhIHRva2VuIGlzIG1hbnVhbGx5IHNwZWNpZmllZCBpbiB0aGUgY29uZmlndXJhdGlvbiB4bWwsCiAgIGEgYm9vdHN0cmFwaW5nIG5vZGUgd2lsbCB1c2UgYSB0b2tlbiB0aGF0IGdpdmVzIGl0IGhhbGYgdGhlCiAgIGtl40zTHwAAAU/ePLJcABBwYWN0aW9uIHNwZWVkIChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxxAAABAG5kcmEtc3RyZXNzIHNvIGl0IHJlc3BlY3RzIHRoZSBDTCBwYXNzZWQgaW4gdXNlciBtb2RlIChDQVNTQU5EUkEtODk0OCkKICogRml4IHJhcmUgTlBFIGluIENvbHVtbkRlZmluaXRpb24jaGFzSW5kZXhPcHRpb24oKSAoQ0FTU0FORFJBLTg3ODYpCiAqIGNhc3NhbmRyYS1zdHJlc3MgcmVwb3J0cyBwZXItb3BlcmF0aW9uIHN0YXRpc3RpY3MsIHBsdXMgbWlzYyAoQ0FTU0FORFJBLTg3NjkpCiAqIFVzZSBsb25nIGZvciBrZXkgY291bnQgaW4gY2ZzdGFkXqdXAAABT948slwAEGFzZSBvZiBsYXJnZS1yb3cAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHEAAAEAbiB1c2luZyBlbmNyeXB0aW9uIChDQVNTQU5EUkEtMzE3OCkKICogKEhBRE9PUCkgYWRkIG9sZC1zdHlsZSBhcGkgc3VwcG9ydCBmb3IgQ0ZJRiBhbmQgQ0ZSUiAoQ0FTU0FORFJBLTI3OTkpCiAqIFN1cHBvcnQgVGltZVVVSURUeXBlIGNvbHVtbiBuYW1lcyBpbiBTdHJlc3MuamF2YSB0b29sIChDQVNTQU5EUkEtMzU0MSkKICogKENRTCkgSU5TRVJUL1VQREFURS9ERUxFVEUvVFJVTkNBVEUgY29tbWFuZHMgc2hvdWxkIGFsbG93IENGIG5hbWVzIHRvCuT4bmkAAAFP3jyyXAAQZGQgRXhwaXJpbmdDb2x1bQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgscQAAAQAgICAoQ0FTU0FORFJBLTI2NjIpCiAqIGF2b2lkIHJldGFpbmluZyByZWZlcmVuY2VzIHRvIGRyb3BwZWQgQ0ZTIG9iamVjdHMgaW4gCiAgIENvbXBhY3Rpb25NYW5hZ2VyLmVzdGltYXRlZENvbXBhY3Rpb25zIChDQVNTQU5EUkEtMjcwOCkKICogZXhwb3NlIHJwYyB0aW1lb3V0cyBwZXIgaG9zdCBpbiBNZXNzYWdpbmdTZXJ2aWNlTUJlYW4gKENBU1NBTkRSQS0yOTQxKQogKiBhdm9pZCBpbmNsdWRpbmcgY3dkIGluIGNsYXNzcGF0aCBmb3IgZGViIGFu0k/ofAAAAU/ePLJcABAgYWRkIHRocmVhZHBvb2wgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxxAAABACogQWRkIHN0cmVhbSBzZXNzaW9uIHByb2dyZXNzIHRvIEpNWCAoQ0FTU0FORFJBLTQ3NTcpCiAqIEZpeCBOUEUgZHVyaW5nIENBUyBvcGVyYXRpb24gKENBU1NBTkRSQS01OTI1KQpNZXJnZWQgZnJvbSAxLjI6CiAqIEZpeCBnZXRCbG9vbUZpbHRlckRpc2tTcGFjZVVzZWQgZm9yIEFsd2F5c1ByZXNlbnRGaWx0ZXIgKENBU1NBTkRSQS01OTAwKQogKiBEb24ndCBhbm5vdW5jZSBzY2hlbWEgdmVyc2lvbiB1bnRpbCB3ZSd2ZSBsb2FkZWQgdGhlIGNoYW57Fn7KAAABT948slwAEENBU1NBTkRSQS02NTk3KQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHEAAAEAaW4gQ2Fzc2FuZHJhIDMuMAogICBhcmUgZXhlY3V0ZWQgKENBU1NBTkRSQS04NDE4KQogKiBGaXggY2Fzc2FuZHJhLXN0cmVzcyBzbyBpdCByZXNwZWN0cyB0aGUgQ0wgcGFzc2VkIGluIHVzZXIgbW9kZSAoQ0FTU0FORFJBLTg5NDgpCiAqIEZpeCByYXJlIE5QRSBpbiBDb2x1bW5EZWZpbml0aW9uI2hhc0luZGV4T3B0aW9uKCkgKENBU1NBTkRSQS04Nzg2KQogKiBjYXNzYW5kcmEtc3RyZXNzIHJlcG9ydHMgcGVyLW9wZXJhdGlvbiBzdGF0aXN0aWNzLCFpMxEAAAFP3jyyXAAQY29tcGFjdCBzdG9yYWdlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgscQAAAQAgdXNpbmcgYSBrZXlzcGFjZSB0aGF0IGRvZXNuJ3QgZXhpc3QKICAgKENBU1NBTkRSQS0zNzY0KQogKiBkaXNhbGxvdyB1c2VyIG1vZGlmaWNhdGlvbiBvZiBTeXN0ZW0ga2V5c3BhY2UgKENBU1NBTkRSQS0zNzM4KQogKiBhbGxvdyB1c2luZyBzc3RhYmxlMmpzb24gb24gc2Vjb25kYXJ5IGluZGV4IGRhdGEgKENBU1NBTkRSQS0zNzM4KQogKiAoY3Fsc2gpIGFkZCBERVNDUklCRSBDT0xVTU5GQU1JTElFUyAoQ0FTU0FORFJBLTM1ODYpCiAqIChjcWxzn532VwAAAU/ePLJcABAKICogRGlzYWJsZSBjb21wAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxxAAABAGNlIGZsdXNoIG9mIHN5c3RlbSB0YWJsZSBhZnRlciB1cGRhdGluZy9yZW1vdmluZyBhIHRva2VuIChDQVNTQU5EUkEtMzI0MykKCgowLjguNgogKiByZXZlcnQgQ0FTU0FORFJBLTIzODgKICogY2hhbmdlIFRva2VuUmFuZ2UuZW5kcG9pbnRzIGJhY2sgdG8gbGlzdGVuL2Jyb2FkY2FzdCBhZGRyZXNzIHRvIG1hdGNoCiAgIHByZS0xNzc3IGJlaGF2aW9yLCBhbmQgYWRkIFRva2VuUmFuZ2UucnBjX2VuZHBvaW50cyBpbnN0ZWFkIChDQVNTQU5EUkEtMzHxEE7xAAABT948slwAEGFwcGluZy1yYW5nZSBxdWUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHEAAAEARFJBLTg1MzcpCiAqIEZpeCBjYXNlLXNlbnNpdGl2aXR5IG9mIGluZGV4IG5hbWUgb24gQ1JFQVRFIGFuZCBEUk9QIElOREVYCiAgIHN0YXRlbWVudHMgKENBU1NBTkRSQS04MzY1KQogKiBCZXR0ZXIgZGV0ZWN0aW9uL2xvZ2dpbmcgZm9yIGNvcnJ1cHRpb24gaW4gY29tcHJlc3NlZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTgxOTIpCiAqIFVzZSB0aGUgY29ycmVjdCByZXBhaXJlZEF0IHZhbHVlIHdoZW4gY2xvc2luZyB3cml0ZXIgKENBU1NBTkRSQS04NSMd088AAAFP3jyyXAAQaXggc2VyaWFsaXphdGlvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgscQAAAQBuIGFjY2VwdCgpIHRocmVhZCAoQ0FTU0FORFJBLTYzNDkpCiAqIEltcHJvdmUgR29zc2lwIHRvbGVyYW5jZSBvZiBhYm5vcm1hbGx5IHNsb3cgdGFza3MgKENBU1NBTkRSQS02MzM4KQogKiBGaXggdHJ5aW5nIHRvIGhpbnQgdGltZWQgb3V0IGNvdW50ZXIgd3JpdGVzIChDQVNTQU5EUkEtNjMyMikKICogQWxsb3cgcmVzdG9yaW5nIHNwZWNpZmljIGNvbHVtbmZhbWlsaWVzIGZyb20gYXJjaGl2ZWQgQ0wgKENBU1NBTkRSQS00ODA5KQogKiBBdm9pZCBmyKnNwQAAAU/ePLJcABAgaW4gY29tcGFjdGlvbnN0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxxAAABAGVkIGNvbW1pdGxvZ19yb3RhdGlvbl90aHJlc2hvbGRfaW5fbWIgY29uZmlndXJhdGlvbiAoQ0FTU0FORFJBLTI3NzEpCiAqIG1ha2UgQWJzdHJhY3RCb3VuZHMubm9ybWFsaXplIGRlLW92ZXJsYXBwIG92ZXJsYXBwaW5nIHJhbmdlcyAoQ0FTU0FORFJBLTI2NDEpCiAqIHJlcGxhY2UgQ29sbGF0aW5nSXRlcmF0b3IsIFJlZHVjaW5nSXRlcmF0b3Igd2l0aCBNZXJnZUl0ZXJhdG9yIAogICAoQ0FTU0FORFJBLTIwNjIpCiAqIEZpeGVkIHRoZSBhYmlsaXSqC7W7AAABT948slwAEHhhbXBsZSBvZiB1c2UpCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHIAAAEAcXVlcnkgb24gc3RhdGljIGNvbHVtbnMgd2l0aAogICBxdWVyeSBwYWdpbmcgKENBU1NBTkRSQS04MTA4KQogKiBGaXggTlBFIG9uIG51bGwgbmVzdGVkIFVEVCBpbnNpZGUgYSBzZXQgKENBU1NBTkRSQS04MTA1KQogKiBGaXggZXhjZXB0aW9uIHdoZW4gcXVlcnlpbmcgc2Vjb25kYXJ5IGluZGV4IG9uIHNldCBpdGVtcyBvciBtYXAga2V5cwogICB3aGVuIHNvbWUgY2x1c3RlcmluZyBjb2x1bW5zIGFyZSBzcGVjaWZpZWQgKENBU1NBTkRSQS04MDczKSDsCwwAAAFP3jyyXAAQZW1lbnRzIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgscgAAAQBzbGljZSByZWFkIHBhdGggKENBU1NBTkRSQS02Mjc1KQogKiBDYW5jZWwgcmVhZCBtZXRlciB0YXNrIHdoZW4gY2xvc2luZyBTU1RSIChDQVNTQU5EUkEtNjM1OCkKICogZnJlZSBvZmYtaGVhcCBJbmRleFN1bW1hcnkgZHVyaW5nIGJ1bGsgKENBU1NBTkRSQS02MzU5KQogKiBSZWNvdmVyIGZyb20gSU9FeGNlcHRpb24gaW4gYWNjZXB0KCkgdGhyZWFkIChDQVNTQU5EUkEtNjM0OSkKICogSW1wcm92ZSBHb3NzaXAgdG9sZXJhbmNlIG9mIGFibm9ybWFsacCvngAAAU/ePLJcABAgd2l0aCBjb3VudGVycyBpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCxyAAABAERlZmluZWRDb21wYWN0aW9uIHdpbGwgYXR0ZW1wdCB0byBjb21wYWN0IHdoYXQgaXQgaXMgZ2l2ZW4KICAgZXZlbiBpZiB0aGUgcGVzc2ltaXN0aWMgZXN0aW1hdGUgaXMgdGhhdCB0aGVyZSBpcyBub3QgZW5vdWdoIGRpc2sgc3BhY2U7CiAgIGF1dG9tYXRpYyBjb21wYWN0aW9ucyB3aWxsIG9ubHkgY29tcGFjdCAyIG9yIG1vcmUgc3N0YWJsZXMgKENBU1NBTkRSQS0yNTc1KQogKiByZWZ1c2UgdG8gYXBwbHkgbWlncmF0aW9ucyB3aXRoIG9sZGVyIHSyeMgYAAABT948slwAEEFTU0FORFJBLTY5MzkpCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHIAAAEACiAgIHJlYWRzIHdpdGggZHluYW1pYyBzbml0Y2ggKyByZWFkIHJlcGFpciBkaXNhYmxlZCAoQ0FTU0FORFJBLTI4NzApCiAqIGFkZCBhbnQtb3B0aW9uYWwgYXMgZGVwZW5kZW5jZSBmb3IgdGhlIGRlYmlhbiBwYWNrYWdlIChDQVNTQU5EUkEtMjE2NCkKICogYWRkIG9wdGlvbiB0byBzcGVjaWZ5IGxpbWl0IGZvciBnZXRfc2xpY2UgaW4gdGhlIENMSSAoQ0FTU0FORFJBLTI2NDYpCiAqIGRlY3JlYXNlIEhIIHBhZ2Ugc2l6ZSAoQ0FTU0FORFJBLTI4M9hETqcABtNjTBUUlAAAAU/ePLJcABBOb3RpZnkgaW5kZXhlciBvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx0AAABAAogKiBodHRwIG1pbmktaW50ZXJmYWNlIHVzaW5nIG14NGogKENBU1NBTkRSQS0xMDY4KQogKiBvcHRpbWl6ZSBhd2F5IGNvcHkgb2Ygc2xpY2VkIHJvdyBvbiBtZW10YWJsZSByZWFkIHBhdGggKENBU1NBTkRSQS0xMDQ2KQogKiByZXBsYWNlIGNvbnN0YW50LXNpemUgMkdCIG1tYXBlZCBzZWdtZW50cyBhbmQgc3BlY2lhbCBjYXNpbmcgZm9yIGluZGV4IAogICBlbnRyaWVzIHNwYW5uaW5nIHNlZ21lbnQgYm91bmRhcmllcywgd2l0aCBTZWdtZW50ZWTMGruFAAABT948slwAEHRDb21wYWN0aW9uU3RyYXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHQAAAEARFJBLTQxODgpCgoKMS4wLjkKICogaW1wcm92ZSBpbmRleCBzYW1wbGluZyBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTQwMjMpCiAqIGFsd2F5cyBjb21wYWN0IGF3YXkgZGVsZXRlZCBoaW50cyBpbW1lZGlhdGVseSBhZnRlciBoYW5kb2ZmIChDQVNTQU5EUkEtMzk1NSkKICogZGVsZXRlIGhpbnRzIGZyb20gZHJvcHBlZCBDb2x1bW5GYW1pbGllcyBvbiBoYW5kb2ZmIGluc3RlYWQgb2YKICAgZXJyb3Jpbmcgb3V0IChDQVNTQU5EUkEtMzk3NSkKICogYfS3AVYAAAFP3jyyXAAQKQogKiBmaXggZW5jb2RpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsdAAAAQAvbG9nZ2luZyBmb3IgY29ycnVwdGlvbiBpbiBjb21wcmVzc2VkIHNzdGFibGVzIChDQVNTQU5EUkEtODE5MikKICogVXNlIHRoZSBjb3JyZWN0IHJlcGFpcmVkQXQgdmFsdWUgd2hlbiBjbG9zaW5nIHdyaXRlciAoQ0FTU0FORFJBLTg1NzApCiAqIChjcWxzaCkgSGFuZGxlIGEgc2NoZW1hIG1pc21hdGNoIGJlaW5nIGRldGVjdGVkIG9uIHN0YXJ0dXAgKENBU1NBTkRSQS04NTEyKQogKiBQcm9wZXJseSBjYWxjdWxhdGUgZXhwZWN0ZWQgd3JpdGUgc2l6fv5dygAAAU/ePLJcABAgYSB0aWVicmVha2VyIChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx0AAABAG90b2NvbCAoQ0FTU0FORFJBLTc1NzYpCiAqIEFsd2F5cyBtZXJnZSByYW5nZXMgb3duZWQgYnkgYSBzaW5nbGUgbm9kZSAoQ0FTU0FORFJBLTY5MzApCiAqIFRyYWNrIG1heC9taW4gdGltZXN0YW1wcyBmb3IgcmFuZ2UgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTc2NDcpCiAqIEZpeCBOUEUgd2hlbiBsaXN0aW5nIHNhdmVkIGNhY2hlcyBkaXIgKENBU1NBTkRSQS03NjMyKQoKCjIuMS4wLXJjNAogKiBGaXggd29yZCBjb3VudCBoYWRvb3AgZXhhbXBsZSAR1IxWAAABT948slwAECBhcmd1bWVudCB0byBnZXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHQAAAEAIE1ha2UgVGhyaWZ0U2VydmVyIG1vcmUgZWFzbGx5IGV4dGVuc2libGUgKENBU1NBTkRSQS02MDU4KQogKiBSZW1vdmUgSGFkb29wIGRlcGVuZGVuY3kgZnJvbSBJVHJhbnNwb3J0RmFjdG9yeSAoQ0FTU0FORFJBLTYwNjIpCiAqIGFkZCBmaWxlX2NhY2hlX3NpemVfaW5fbWIgc2V0dGluZyAoQ0FTU0FORFJBLTU2NjEpCiAqIEltcHJvdmUgZXJyb3IgbWVzc2FnZSB3aGVuIHlhbWwgY29udGFpbnMgaW52YWxpZCBwcm9wZXJ0aWVzIChDQVNTQU5EUkEtNWMYEJcAAAFP3jyyXAAQdCBmYXQgY2xpZW50cyB1cwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsdAAAAQBfY291bnQgKENBU1NBTkRSQS0zNzk4KQogKiBBZGQgbmV3IGNvbW1hbmQgdG8gcmVidWlsZCBhIG5vZGUgd2l0aG91dCAocmVwYWlyKSBtZXJrbGUgdHJlZSBjYWxjdWxhdGlvbnMKICAgKENBU1NBTkRSQS0zNDgzLCAzOTIyKQogKiByZXNwZWN0IG5vdCBvbmx5IHJvdyBjYWNoZSBjYXBhY2l0eSBidXQgY2FjaGluZyBtb2RlIHdoZW4KICAgdHJ5aW5nIHRvIHJlYWQgZGF0YSAoQ0FTU0FORFJBLTM4MTIpCiAqIGZpeCBzeXN0ZW0gdGVzdHMgKENBU1NB/9gSBwAAAU/ePLJcABA4NjE5KQogKiAnbm9kZXRvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx0AAABAGV0UmFuZ2VTbGljZSBmaWx0ZXIgYWZ0ZXIgZmluaXNoaW5nIGEgcm93IGZvciBnZXRfcGFnZWRfc2xpY2UKICAgKENBU1NBTkRSQS00OTE5KQogKiBleHB1bmdlIHJvdyBjYWNoZSBwb3N0LXRydW5jYXRlIChDQVNTQU5EUkEtNDk0MCkKICogQWxsb3cgc3RhdGljIENGIGRlZmluaXRpb24gd2l0aCBjb21wYWN0IHN0b3JhZ2UgKENBU1NBTkRSQS00OTEwKQogKiBGaXggZW5kbGVzcyBsb29wL2NvbXBhY3Rpb24gb2Ygc2NoZW1hXyogQ0ZzIGR1ZSB0byCAPs9uAAABT948slwAEGUgUm93TXV0YXRpb24gZm8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHQAAAEAb25zdGFudC1zaXplIDJHQiBtbWFwZWQgc2VnbWVudHMgYW5kIHNwZWNpYWwgY2FzaW5nIGZvciBpbmRleCAKICAgZW50cmllcyBzcGFubmluZyBzZWdtZW50IGJvdW5kYXJpZXMsIHdpdGggU2VnbWVudGVkRmlsZSB0aGF0IGNvbXB1dGVzIAogICBzZWdtZW50cyB0aGF0IGFsd2F5cyBjb250YWluIGVudGlyZSBlbnRyaWVzL3Jvd3MgKENBU1NBTkRSQS0xMTE3KQogKiBhdm9pZCByZWFkaW5nIGxhcmdlIHJvd3MgaW50byBtZW1vcnkgZHVyaW5nIGNvbbT03CcAAAFP3jyyXAAQc3NpcCBzaG91bGQgaWdubwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsdAAAAQBmb3IgR1QvRSwgTFQvRSBpbiBzdWJvcmRpbmF0ZSBpbmRleCBjbGF1c2VzIChDQVNTQU5EUkEtMTQwMSkKICogY2ZJZCBjb3VudGVyIGdvdCBvdXQgb2Ygc3luYyB3aGVuIENGcyB3ZXJlIGFkZGVkIChDQVNTQU5EUkEtMTQwMykKICogbGVzcyBjaGF0dHkgc2NoZW1hIHVwZGF0ZXMgKENBU1NBTkRSQS0xMzg5KQogKiByZW5hbWUgY29sdW1uIGZhbWlseSBtYmVhbnMuICd0eXBlJyB3aWxsIG5vdyBpbmNsdWRlIGVpdGhlciAKICAgJ0luZGV4Q29sdW1uyrzuWAAAAU/ePLJcABAgU1NUYWJsZUltcG9ydC9FAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx0AAABAHJvbSAoQ0FTU0FORFJBLTgyMjEpCiAqIEF2b2lkIG92ZXJsYXAgaW4gTDEgd2hlbiBMMCBjb250YWlucyBtYW55IG5vbm92ZXJsYXBwaW5nCiAgIHNzdGFibGVzIChDQVNTQU5EUkEtODIxMSkKICogSW1wcm92ZSBQcm9wZXJ0eUZpbGVTbml0Y2ggbG9nZ2luZyAoQ0FTU0FORFJBLTgxODMpCiAqIEFkZCBEQy1hd2FyZSBzZXF1ZW50aWFsIHJlcGFpciAoQ0FTU0FORFJBLTgxOTMpCiAqIFVzZSBsaXZlIHNzdGFibGVzIGluIHNuYXBzaG90IHJlcGFpciBqduBFAAABT948slwAEGluaXRpb25Gcm9tQ29sdW0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHQAAAEANjk0NSkKICogTWFrZSBzdXJlIHVwZ3JhZGVzc3RhYmxlcyBrZWVwcyBzc3RhYmxlIGxldmVsIChDQVNTQU5EUkEtNjk1OCkKICogRml4IExJTUlUIHdpdGggc3RhdGljIGNvbHVtbnMgKENBU1NBTkRSQS02OTU2KQogKiBGaXggY2xhc2ggd2l0aCBDUUwgY29sdW1uIG5hbWUgaW4gdGhyaWZ0IHZhbGlkYXRpb24gKENBU1NBTkRSQS02ODkyKQogKiBGaXggZXJyb3Igd2l0aCBzdXBlciBjb2x1bW5zIGluIG1peGVkIDEuMi0yLjAgY2x1c3RlcnMgKENBU4QPFBcAAAFP3jyyXAAQRFJBLTI1MTkpCiAqIHN1cAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsdAAAAQB0aGVyIGVudnMgKENBU1NBTkRSQS01MzM5KQogKiBMb2cgd2hlbiBhIG5vZGUgaXMgZG93biBsb25nZXIgdGhhbiB0aGUgaGludCB3aW5kb3cgKENBU1NBTkRSQS00NTU0KQogKiBPcHRpbWl6ZSB0b21ic3RvbmUgY3JlYXRpb24gZm9yIEV4cGlyaW5nQ29sdW1ucyAoQ0FTU0FORFJBLTQ5MTcpCiAqIEltcHJvdmUgTGV2ZWxlZFNjYW5uZXIgd29yayBlc3RpbWF0aW9uIChDQVNTQU5EUkEtNTI1MCwgNTQwNykKICogUmVwbGFjZSBjb21wYWN0aW9uIGxvBA73LgAAAU/ePLJcABAgd2l0aCBubyBwb3N0LWZsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx0AAABAHBvbG9neSAKICAgcmVwbGljYXRpb24gU3RyYXRlZ2llcwogKiBpbmNyZWFzZWQgYW1vdW50IG9mIGluZGV4IGxvY2tzIGZvciBmYXN0ZXIgY29tbWl0bG9nIHJlcGxheQogKiBjb2xsZWN0IHNlY29uZGFyeSBpbmRleCB0b21ic3RvbmVzIGltbWVkaWF0ZWx5IChDQVNTQU5EUkEtMTkxNCkKICogcmV2ZXJ0IGNvbW1pdGxvZyBjaGFuZ2VzIGZyb20gIzE3ODAgKENBU1NBTkRSQS0xOTE3KQogKiBjaGFuZ2UgUmFuZG9tUGFydGl0aW9uZXIgbWluIHRva2XOZg5dAAABT948slwAEGVudGlhbCBtb2RlIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHQAAAEAQS02MzE3KQogKiBGaXgganNvbjJzc3RhYmxlIGhhbmRsaW5nIG9mIHJhbmdlIHRvbWJzdG9uZXMgKENBU1NBTkRSQS02MzE2KQogKiBGaXggbWlzc2luZyBvbmUgcm93IGluIHJldmVyc2UgcXVlcnkgKENBU1NBTkRSQS02MzMwKQogKiBGaXggcmVhZGluZyBleHBpcmVkIHJvdyB2YWx1ZSBmcm9tIHJvdyBjYWNoZSAoQ0FTU0FORFJBLTYzMjUpCiAqIEZpeCBBc3NlcnRpb25FcnJvciB3aGVuIGRvaW5nIHNldCBlbGVtZW50IGRlbGV0aW9uIChDQVNTQTWS+L8AAAFP3jyyXAAQPWlzc3Vla2V5JnNvcnRlcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsdAAAAQBpZGF0ZSBvcmRlciBieSBxdWVyaWVzIChDQVNTQU5EUkEtNDI0NikKICogcmVuYW1lIHN0cmVzcyB0byBjYXNzYW5kcmEtc3RyZXNzIGZvciBzYW5lciBwYWNrYWdpbmcgKENBU1NBTkRSQS00MjU2KQogKiBGaXggZXhjZXB0aW9uIG9uIGNvbHVtIG1ldGFkYXRhIHdpdGggbm9uLXN0cmluZyBjb21wYXJhdG9yIChDQVNTQU5EUkEtNDI2OSkKICogQ2hlY2sgZm9yIHVua25vd24vaW52YWxpZCBjb21wcmVzc2lvbiBvcHRpb25zIChDQVNTQU5EUkEtNDI2TNoEoAAG58C4haXoAAABT948slwAEGVnbWVudHMgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHcAAAEAbmcgKENBU1NBTkRSQS04NzY3KQogKiBBc3NlcnRpb25FcnJvcjogIk1lbW9yeSB3YXMgZnJlZWQiIHdoZW4gcnVubmluZyBjbGVhbnVwIChDQVNTQU5EUkEtODcxNikKICogTWFrZSBpdCBwb3NzaWJsZSB0byBzZXQgbWF4X3NzdGFibGVfYWdlIHRvIGZyYWN0aW9uYWwgZGF5cyAoQ0FTU0FORFJBLTg0MDYpCiAqIEZpeCBzb21lIG11bHRpLWNvbHVtbiByZWxhdGlvbnMgd2l0aCBpbmRleGVzIG9uIHNvbWUgY2x1c3RlcmluZwogICBjb2x1bW5zIChDQfD/g4kAAAFP3jyyXAAQZGF0aW9uIG9mIGNvbGxlYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsdwAAAQBubmVjdGlvbnMgKENBU1NBTkRSQS0zMzA5KQogKiBmaXggdHJ1bmNhdGUgYWxsb3dpbmcgZGF0YSB0byBiZSByZXBsYXllZCBwb3N0LXJlc3RhcnQgKENBU1NBTkRSQS0zMjk3KQogKiBNb3ZlIFNpbXBsZUF1dGhvcml0eSBhbmQgU2ltcGxlQXV0aGVudGljYXRvciB0byBleGFtcGxlcyAoQ0FTU0FORFJBLTI5MjIpCiAqIEZpeCBoYW5kbGluZyBvZiB0b21ic3RvbmUgYnkgU1NUYWJsZUV4cG9ydC9JbXBvcnQgKENBU1NBTkRSQS0zMzU3KQogKiBGaXggYXh5rwAAAU/ePLJcABB0ZW5jeSBsZXZlbCAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx3AAABAExFVEUgKENBU1NBTkRSQS04OTAwKQogKiBDaGVjayBmb3Igb3ZlcmxhcCB3aXRoIG5vbi1lYXJseSBzc3RhYmxlcyBpbiBMQ1MgKENBU1NBTkRSQS04NzM5KQogKiBPbmx5IGNhbGN1bGF0ZSBtYXggcHVyZ2FibGUgdGltZXN0YW1wIGlmIHdlIGhhdmUgdG8gKENBU1NBTkRSQS04OTE0KQogKiAoY3Fsc2gpIEdyZWF0bHkgaW1wcm92ZSBwZXJmb3JtYW5jZSBvZiBDT1BZIEZST00gKENBU1NBTkRSQS04MjI1KQogKiBJbmRleFN1bW1hcnkgZWZmZWN0aXb0jf/uAAABT948slwAEG4gU3VwZXIgQ29sdW1uRmEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHcAAAEAQ0FTU0FORFJBLTU3MTIpCiAqIEV4cGlyZSBlbnRyaWVzIG91dCBvZiBUaHJpZnRTZXNzaW9uTWFuYWdlciAoQ0FTU0FOUkRBLTU3MTkpCiAqIERvbid0IGtlZXAgYW5jZXN0b3IgaW5mb3JtYXRpb24gaW4gbWVtb3J5IChDQVNTQU5EUkEtNTM0MikKICogY3Fsc2g6IGZpeCBoYW5kbGluZyBvZiBzZW1pY29sb25zIGluc2lkZSBCQVRDSCBxdWVyaWVzIChDQVNTQU5EUkEtNTY5NykKCgoxLjIuNgogKiBGaXggdHJhY2luZyB3aGVuIG9wZXJhdGlvbiBjbyiti6oAAAFP3jyyXAAQQS00MjQwKQogKiBhbGxvdwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsdwAAAQAgRml4IElQdjYgc3VwcG9ydCAoQ0FTU0FORFJBLTc5ODgpCiAqIElnbm9yZSBmYXQgY2xpZW50cyB3aGVuIGNoZWNraW5nIGZvciBlbmRwb2ludCBjb2xsaXNpb24gKENBU1NBTkRSQS03OTM5KQogKiBNYWtlIHNzdGFibGVyZXBhaXJlZHNldCB0YWtlIGEgbGlzdCBvZiBmaWxlcyAoQ0FTU0FORFJBLTc5OTUpCiAqIChjcWxzaCkgVGFiIGNvbXBsZXRlaW9uIGZvciBpbmRleGVzIG9uIG1hcCBrZXlzIChDQVNTQU5EUkEtNzk3MikKICogKGNxbHNoKSBGecAUXQAAAU/ePLJcABAwLjUuMQogKiBlbnN1cmUgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx3AAABAG9vIG11Y2ggZGF0YSBkdXJpbmcgbW92ZSBvcGVyYXRpb25zIChDQVNTQU5EUkEtMzYzOSkKICogTm9kZXRvb2wgYW5kIENMSSBjb25uZWN0IHRvIGxvY2FsaG9zdCBieSBkZWZhdWx0IChDQVNTQU5EUkEtMzU2OCkKICogUmVkdWNlIG1lbW9yeSB1c2VkIGJ5IHByaW1hcnkgaW5kZXggc2FtcGxlIChDQVNTQU5EUkEtMzc0MykKICogKEhhZG9vcCkgc2VwYXJhdGUgaW5wdXQvb3V0cHV0IGNvbmZpZ3VyYXRpb25zIChDQVNTQU5EUkEtMzE5NywgMzc2NSkgX+UGAAABT948slwAEHNob2xkIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHcAAAEAICAgKENBU1NBTkRSQS0xNzI5KQogKiBkZXRlY3QgYW5kIHdhcm4gd2hlbiBvYnNvbGV0ZSB2ZXJzaW9uIG9mIEpOQSBpcyBwcmVzZW50IChDQVNTQU5EUkEtMTc2MCkKICogcmVkdWNlIGZhdCBjbGllbnQgdGltZW91dCAoQ0FTU0FORFJBLTE3MzApCiAqIGNsZWFudXAgc21hbGxlc3QgQ0ZzIGZpcnN0IHRvIGluY3JlYXNlIGZyZWUgdGVtcCBzcGFjZSBmb3IgbGFyZ2VyIG9uZXMKICAgKENBU1NBTkRSQS0xODExKQogKiBVcGRhdGUgd2luZG93cyAuYgH+U0YAAAFP3jyyXAAQaG9yaXR5IHdpdGggbmV3IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsdwAAAQBzcGFjZSBvbiBzeXN0ZW1fdHJhY2VzIChDQVNTQU5EUkEtNjAxNikKICogRGlzYWxsb3cgZW1wdHkgY29sdW1uIG5hbWVzIGluIGNxbCAoQ0FTU0FORFJBLTYxMzYpCiAqIFVzZSBKYXZhNyBmaWxlLWhhbmRsaW5nIEFQSXMgYW5kIGZpeCBmaWxlIG1vdmluZyBvbiBXaW5kb3dzIChDQVNTQU5EUkEtNTM4MykKICogU2F2ZSBjb21wYWN0aW9uIGhpc3RvcnkgdG8gc3lzdGVtIGtleXNwYWNlIChDQVNTQU5EUkEtNTA3OCkKICogRml4IE5QRSBpZiBTdG9y8PSmBgAAAU/ePLJcABBtYXRjaCwKICAgcmF0aGVyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx3AAABAGRleCBlbnRyaWVzIChDQVNTQU5EUkEtNDM3OSkKICogVXNlIGNvcnJlY3QgcGFydGl0aW9uZXIgd2hlbiBzYXZpbmcgKyBsb2FkaW5nIGNhY2hlcyAoQ0FTU0FORFJBLTQzMzEpCiAqIENoZWNrIHNjaGVtYSBiZWZvcmUgdHJ5aW5nIHRvIGV4cG9ydCBzc3RhYmxlIChDQVNTQU5EUkEtMjc2MCkKICogUmFpc2UgYSBtZWFuaW5nZnVsIGV4Y2VwdGlvbiBpbnN0ZWFkIG9mIE5QRSB3aGVuIFBGUyBlbmNvdW50ZXJzCiAgIGFuIHVuY29uZmlndXJlZCBub2Rl+TivAAABT948slwAEGhlIGVudGlyZSBmaWxlICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHcAAAEAbSBwZW5kaW5nIHJhbmdlcyB3aGVuIGdvc3NpcCB0aW1lcwogICBpdCBvdXQgYWZ0ZXIgMWggKENBU1NBTkRSQS0xNDYzKQogKiBlYWdlci1jcmVhdGUgdGNwIGNvbm5lY3Rpb25zIHRvIG90aGVyIGNsdXN0ZXIgbWVtYmVycyAoQ0FTU0FORFJBLTE0NjUpCiAqIGVudW1lcmF0ZSBzdGFnZXMgYW5kIGRlcml2ZSBzdGFnZSBmcm9tIG1lc3NhZ2UgdHlwZSBpbnN0ZWFkIG9mIAogICB0cmFuc21pdHRpbmcgc2VwYXJhdGVseSAoQ0FTU0FORFJBLTE0NjUpCi0mQ88AAAFP3jyyXAAQaWx1cmUgaGFuZGxlciB0bwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsdwAAAQBvIGJlIHNldCBhdCBydW50aW1lIChDQVNTQU5EUkEtNTk4MCkKICogQXZvaWQgc2Vjb25kLWd1ZXNzaW5nIG91dC1vZi1zcGFjZSBzdGF0ZSAoQ0FTU0FORFJBLTU2MDUpCiAqIFR1bmluZyBrbm9icyBmb3IgZGVhbGluZyB3aXRoIGxhcmdlIGJsb2JzIGFuZCBtYW55IENGcyAoQ0FTU0FORFJBLTU5ODIpCiAqIChIYWRvb3ApIEZpeCBDUUxSVyBmb3IgdGhyaWZ0IHRhYmxlcyAoQ0FTU0FORFJBLTYwMDIpCiAqIEZpeCBwb3NzaWJsZSBkaXZpZGUtYnktXVIxXQAAAU/ePLJcABAgbG9jYWwgY2xhc3Nsb2FkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx3AAABAG1pbHkgYmFja2VkIGNvbHVtbiBtYXAgcGx1Z2dhYmxlIGFuZCBpbnRyb2R1Y2UgdW5zeW5jaHJvbml6ZWQKICAgQXJyYXlMaXN0IGJhY2tlZCBvbmUgdG8gc3BlZWR1cCByZWFkcyAoQ0FTU0FORFJBLTI4NDMsIDMxNjUsIDMyMDUpCiAqIHJlZmFjdG9yaW5nIG9mIHRoZSBzZWNvbmRhcnkgaW5kZXggYXBpIChDQVNTQU5EUkEtMjk4MikKICogbWFrZSBDTCA+IE9ORSByZWFkcyB3YWl0IGZvciBkaWdlc3QgcmVjb25jaWxpYXRpb24gYmVmb3JlIHJldHWtZM5dAAABT948slwAECBmaXggb2Zmc2V0cyB0byAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHcAAAEAYXJrZWQgYXMgY29tcGFjdGluZyAoQ0FTU0FORFJBLTcxNDUpCiAqIFRyYWNrIGV4cGlyZWQgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTc4MTApCgoKMi4xLjAtcmM2CiAqIEZpeCBPT00gaXNzdWUgZnJvbSBuZXR0eSBjYWNoaW5nIG92ZXIgdGltZSAoQ0FTU0FORFJBLTc3NDMpCiAqIGpzb24yc3N0YWJsZSBjb3VsZG4ndCBpbXBvcnQgSlNPTiBmb3IgQ1FMIHRhYmxlIChDQVNTQU5EUkEtNzQ3NykKICogSW52YWxpZGF0ZSBhbGwgY2FjaGVzIG9uIHRhYltIjrkAAAFP3jyyXAAQZW50cyAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsdwAAAQAgc2V0dGluZ3MgYXJlIG5vIGxvbmdlciB1c2VkIChDQVNTQU5EUkEtODc4KQogKiBQYXJzZSBhIGxvbmcgZnJvbSBSb3dXYXJuaW5nVGhyZXNob2xkSW5NQiBpbnN0ZWFkIG9mIGFuIGludCAoQ0FTU0FORFJBLTg4MikKICogUmVtb3ZlIG9ic29sZXRlIENvbnRyb2xQb3J0IGNvZGUgZnJvbSBEYXRhYmFzZURlc2NyaXB0b3IgKENBU1NBTkRSQS04ODYpCiAqIG1vdmUgc2tpcEJ5dGVzIHNpZGUgZWZmZWN0IG91dCBvZiBhc3NlcnQgKENBU1NBTkRSQS040lVzLQAAAU/ePLJcABAgKiBtb3JlIHJvYnVzdCBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx3AAABACBvciBtYXAga2V5cwogICB3aGVuIHNvbWUgY2x1c3RlcmluZyBjb2x1bW5zIGFyZSBzcGVjaWZpZWQgKENBU1NBTkRSQS04MDczKQogKiBTZW5kIHByb3BlciBlcnJvciByZXNwb25zZSB3aGVuIHRoZXJlIGlzIGFuIGVycm9yIGR1cmluZyBuYXRpdmUKICAgcHJvdG9jb2wgbWVzc2FnZSBkZWNvZGUgKENBU1NBTkRSQS04MTE4KQogKiBHb3NzaXAgc2hvdWxkIGlnbm9yZSBnZW5lcmF0aW9uIG51bWJlcnMgdG9vIGZhciBpbiB0aGUgZnV0dXJlIChDQVP/3CoEAAb8HUxwpE0AAAFP3jyyXAAQYWRkIC1EY2Fzc2FuZHJhLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgseQAAAQA4NDQpCiAqIG1ha2UgQ0xJIGBzaG93IHNjaGVtYWAgdG8gdXNlIG91dHB1dCBzdHJlYW0gZGlyZWN0bHkgaW5zdGVhZAogICBvZiBTdHJpbmdCdWlsZGVyIChDQVNTQU5EUkEtMzg0MikKICogcmVtb3ZlIHRoZSB3YWl0IG9uIGhpbnQgZnV0dXJlIGR1cmluZyB3cml0ZSAoQ0FTU0FORFJBLTM4NzApCiAqIChjcWxzaCkgaWdub3JlIG1pc3NpbmcgQ2ZEZWYgb3B0cyAoQ0FTU0FORFJBLTM5MzMpCiAqIChjcWxzaCkgbG9vayBmb3IgY3Fsc2hsaWIgcmVsIC1H0QAAAU/ePLJcABAgZXh0ZW5kZWQgc2VsZWN0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx5AAABACogUmVqZWN0IGNvdW50ZXJzIGluc2lkZSB1c2VyIHR5cGVzIChDQVNTQU5EUkEtNzY3MikKICogU3dpdGNoIHRvIG5vdGlmaWNhdGlvbi1iYXNlZCBHQ0luc3BlY3RvciAoQ0FTU0FORFJBLTc2MzgpCiAqIChjcWxzaCkgSGFuZGxlIG51bGxzIGluIFVEVHMgYW5kIHR1cGxlcyBjb3JyZWN0bHkgKENBU1NBTkRSQS03NjU2KQogKiBEb24ndCB1c2Ugc3RyaWN0IGNvbnNpc3RlbmN5IHdoZW4gcmVwbGFjaW5nIChDQVNTQU5EUkEtNzU2OCkKICogRml4IG2brepxAAABT948slwAEGdlIGNvbGxlY3RvciBvcHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHkAAAEAd3JpdGluZyBtb3ZlZCB0byBDb21wYWN0aW9uTWFuYWdlciB0byByZWR1Y2UgaS9vIGNvbnRlbnRpb24gYW5kCiAgIHVwZGF0ZWQgdG8gdXNlIG5vbi1jYWNoZS1wb2xsdXRpbmcgd3JpdGVzIChDQVNTQU5EUkEtMjA1MykKICogcGFnZSB0aHJvdWdoIGxhcmdlIHJvd3Mgd2hlbiBleHBvcnRpbmcgdG8gSlNPTiAoQ0FTU0FORFJBLTIwNDEpCiAqIGFkZCBmbHVzaF9sYXJnZXN0X21lbXRhYmxlc19hdCBhbmQgcmVkdWNlX2NhY2hlX3NpemVzX2F0IG9wdDKV150AAAFP3jyyXAAQTkRSQS00ODUwKQogKiAoYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgseQAAAQB0aHJvdyBOUEUgaWYgcmVkdWNlciBnZXRzIG5vIG1hcCBkYXRhIGZyb20gSGFkb29wIChDQVNTQU5EUkEtMzk0NCkKICogRml4IGJ1ZyB3aXRoIGNvdW50ZXJzIGluIHN1cGVyIGNvbHVtbnMgKENBU1NBTkRSQS0zODIxKQogKiBSZW1vdmUgZGVwcmVjYXRlZCBtZXJnZV9zaGFyZF9jaGFuY2UgKENBU1NBTkRSQS0zOTQwKQogKiBhZGQgYSBjb252ZW5pZW50IHdheSB0byByZXNldCBhIG5vZGUncyBzY2hlbWEgKENBU1NBTkRSQS0yOTYzKQogKiBmaXgghRoPegAAAU/ePLJcABBBLTY4ODgpCiAqIEVuc3VyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx5AAABAEUgaW4gYmluLyBzY3JpcHRzIChzZXZlcmFsIHRpY2tldHMpCiAqIGFkZCBTdG9yYWdlU2VydmljZS5pbml0Q2xpZW50IGZvciBmYXQgY2xpZW50cyBvbiB0aGUgSlZNIChDQVNTQU5EUkEtNTM1KQogICAoc2VlIGNvbnRyaWIvY2xpZW50X29ubHkgZm9yIGFuIGV4YW1wbGUgb2YgdXNlKQogKiBtYWtlIGNvbnNpc3RlbmN5X2xldmVsIGZ1bmN0aW9uYWwgaW4gZ2V0X3JhbmdlX3NsaWNlIChDQVNTQU5EUkEtNTY4KQogKiBvcHRpbWl6ZSBrZXkgZGVzZXIKRjMIAAABT948slwAECBpbXBvcnQvZXhwb3J0ICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHkAAAEAa2FnZSAoQ0FTU0FORFJBLTUwNTgpCk1lcmdlZCBmcm9tIDEuMToKICogZml4IG11bHRpdGhyZWFkZWQgY29tcGFjdGlvbiBkZWFkbG9jayAoQ0FTU0FORFJBLTQ0OTIpCiAqIGZpeCB0ZW1wb3JhcmlseSBtaXNzaW5nIHNjaGVtYSBhZnRlciB1cGdyYWRlIGZyb20gcHJlLTEuMS41IChDQVNTQU5EUkEtNTA2MSkKICogRml4IEFMVEVSIFRBQkxFIG92ZXJyaWRpbmcgY29tcHJlc3Npb24gb3B0aW9ucyB3aXRoIGRlZmF1bHRzCiAgIChDQVNTQU5EUkEtNC6dgKoAAAFP3jyyXAAQU1NBTkRSQS03NDUwKQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgseQAAAQBBLTQwODYpCiAqIEV4cG9zZSBub2RldG9vbCBjZmhpc3RvZ3JhbXMgZm9yIDJuZGFyeSBpbmRleGVzIChDQVNTQU5EUkEtNDA2MykKTWVyZ2VkIGZyb20gMC44OgogKiBGaXggQ29uY3VycmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlvbiBpbiBnb3NzaXBlciAoQ0FTU0FORFJBLTQwMTkpCgoKMS4xLWJldGExCiAqIChjcWxzaCkKICAgKyBhZGQgU09VUkNFIGFuZCBDQVBUVVJFIGNvbW1hbmRzLCBhbmQgLS1maWxlIG9wdGlvbiAoQ0FTU0FORFJBLTM0NzkpiUDMBgAAAU/ePLJcABBlIHNsaWNlcyAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx5AAABACByZXRyeSBtZWNoYW5pc20gdG8gT1RDIGZvciBub24tZHJvcHBhYmxlX3ZlcmJzIChDQVNTQU5EUkEtNTM5MykKICogVXNlIGFsbG9jYXRvciBpbmZvcm1hdGlvbiB0byBpbXByb3ZlIG1lbXRhYmxlIG1lbW9yeSB1c2FnZSBlc3RpbWF0ZQogICAoQ0FTU0FORFJBLTU0OTcpCiAqIEZpeCB0cnlpbmcgdG8gbG9hZCBkZWxldGVkIHJvdyBpbnRvIHJvdyBjYWNoZSBvbiBzdGFydHVwIChDQVNTQU5EUkEtNDQ2MykKICogZnN5bmMgbGV2ZWxlZCBtYW5pZmUTrco7AAABT948slwAEG5vZGUgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHkAAAEAZXggaXMgbm90IGF2YWlsYWJsZSAoQ0FTU0FORFJBLTQ4MDMpCiAqIEltcHJvdmUgZXJyb3IgcmVwb3J0aW5nIHdoZW4gc3RyZWFtaW5nIHJhbmdlcyBmYWlsIChDQVNTQU5EUkEtNTAwOSkKICogRml4IGNxbHNoIHRpbWVzdGFtcCBmb3JtYXR0aW5nIG9mIHRpbWV6b25lIGluZm8gKENBU1NBTkRSQS00NzQ2KQogKiBGaXggYXNzZXJ0aW9uIGZhaWx1cmUgd2l0aCBsZXZlbGVkIGNvbXBhY3Rpb24gKENBU1NBTkRSQS00Nzk5KQogKiBDaGVjayBmb3IgbvHjEIwAAAFP3jyyXAAQdXRpb25zIGluIENMSSAoQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgseQAAAQBudmVyc2lvbiBmdW5jdGlvbiAoQ0FTU0FORFJBLTUyMjYpCiAqIEZpeCBkcm9wIG9mIHNzdGFibGVzIGluIHNvbWUgY2lyY3Vtc3RhbmNlIChDQVNTQU5EUkEtNTIzMikKICogSW1wbGVtZW50IGNhY2hpbmcgb2YgYXV0aG9yaXphdGlvbiByZXN1bHRzIChDQVNTQU5EUkEtNDI5NSkKICogQWRkIHN1cHBvcnQgZm9yIExaNCBjb21wcmVzc2lvbiAoQ0FTU0FORFJBLTUwMzgpCiAqIEZpeCBtaXNzaW5nIGNvbHVtbnMgaW4gd2lkZSByb3dzIHF1ZXJpZXMgdS7u2QAAAU/ePLJcABBjdGlvbmFsaXR5IGZvciB2AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx5AAABADkpCiAqIEZpeCBjcWxzaCB0aW1lc3RhbXAgZm9ybWF0dGluZyBvZiB0aW1lem9uZSBpbmZvIChDQVNTQU5EUkEtNDc0NikKICogRml4IGFzc2VydGlvbiBmYWlsdXJlIHdpdGggbGV2ZWxlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtNDc5OSkKICogQ2hlY2sgZm9yIG51bGwgZW5kX3Rva2VuIGluIGdldF9yYW5nZV9zbGljZSAoQ0FTU0FORFJBLTQ4MDQpCiAqIFJlbW92ZSBhbGwgcmVtbmFudHMgb2YgcmVtb3ZlZCBub2RlcyAoQ0FTU0FORFJBLTQ4NDAM6oUXAAABT948slwAEHNpbmdsZQogICBwYXJ0aXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHkAAAEAIGRpcmVjdG9yaWVzIChDQVNTQU5EUkEtODMyOSkKICogRml4IHNvbWUgZmFpbGluZyBxdWVyaWVzIHRoYXQgdXNlIG11bHRpLWNvbHVtbiByZWxhdGlvbnMKICAgb24gQ09NUEFDVCBTVE9SQUdFIHRhYmxlcyAoQ0FTU0FORFJBLTgyNjQpCiAqIEZpeCBJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiB3aXRoIE9SREVSIEJZIChDQVNTQU5EUkEtODI4NikKICogRGlzYWJsZSBTU0x2MyBmb3IgUE9PRExFIChDQVNTQU5EUkEtODI2NSkKICogRml4IG1pbGxpc+vTIVQAAAFP3jyyXAAQIExaNCBjb21wcmVzc2lvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgseQAAAQAgdG8gYXZvaWQgbW9kaWZ5aW5nIHRoZW0gZHVyaW5nIGZsdXNoIChDQVNTQU5EUkEtMjY3NSkKICogYWxsb3cgd3JpdGVzIHRvIGJ5cGFzcyB0aGUgY29tbWl0bG9nIGZvciBjZXJ0YWluIGtleXNwYWNlcyAoQ0FTU0FORFJBLTI2ODMpCiAqIGF2b2lkIE5QRSB3aGVuIGJ5cGFzc2luZyBjb21taXRsb2cgZHVyaW5nIG1lbXRhYmxlIGZsdXNoIChDQVNTQU5EUkEtMjc4MSkKICogQWRkZWQgc3VwcG9ydCBmb3IgbWFraW5nIGJvb3RzdHJhcCByZXRyeSBpf7KLxQAAAU/ePLJcABBBU1NBTkRSQS01NDcyKQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx5AAABACBsYXRlIChDQVNTQU5EUkEtODQzKQogKiBBZGQgbG9nZ2luZyBvZiBHQyBhY3Rpdml0eSAoQ0FTU0FORFJBLTgxMykKICogZml4IENvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb24gaW4gY29tbWl0bG9nIGRpc2NhcmQgKENBU1NBTkRSQS04NTMpCiAqIEZpeCBoYXJkY29kZWQgcm93IGNvdW50IGluIEhhZG9vcCBSZWNvcmRSZWFkZXIgKENBU1NBTkRSQS04MzcpCiAqIEFkZCBhIGpteCBzdGF0dXMgdG8gdGhlIHN0cmVhbWluZyBzZXJ2aWNlIGFDvLtjAAABT948slwAEGFuIDIgR0IgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHkAAAEAZXJtaW5pc3RpYyBieSB1c2luZyB2YWx1ZSBieXRlcwogICBhcyBhIHRpZWJyZWFrZXIgKENBU1NBTkRSQS0xMDM5KQogKiBBZGQgb3B0aW9uIHRvIHR1cm4gb2ZmIEhpbnRlZCBIYW5kb2ZmIChDQVNTQU5EUkEtODk0KQogKiBmaXggd2luZG93cyBzdGFydHVwIChDQVNTQU5EUkEtOTQ4KQogKiBtYWtlIGNvbmN1cnJlbnRfcmVhZHMsIGNvbmN1cnJlbnRfd3JpdGVzIGNvbmZpZ3VyYWJsZSBhdCBydW50aW1lIHZpYSBKTVgKICAgKENBU1NBTkRSQS0xMDRhHSIABxDUHSTBvgAAAU/ePLJcABBlcnRpb25FcnJvciB3aGVuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx7AAABAG1lc3NhZ2Ugc25pcHBldCAoQ0FTU0FORFJBLTc1NjkpCiAqIFNTVGFibGVFeHBvcnQgdXNlcyBjb3JyZWN0IHZhbGlkYXRvciB0byBjcmVhdGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHBhcnRpdGlvbgogICBrZXlzIChDQVNTQU5EUkEtNzQ5OCkKICogQXZvaWQgTlBFcyB3aGVuIHJlY2VpdmluZyB0eXBlIGNoYW5nZXMgZm9yIGFuIHVua25vd24ga2V5c3BhY2UgKENBU1NBTkRSQS03Njg5KQogKiBBZGQgc3VwcG9ydCBmb3IgY3VzdG9tIDJpIHbMH+b0AAABT948slwAEDIxKQogKiBSZWR1Y2UgbWEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHsAAAEAeCBmcm9tIHN3YXBwaW5nCiAgIG91dCBwYXJ0cyBvZiB0aGUgSlZNIChDQVNTQU5EUkEtMTIxNCkKCgowLjYuNAogKiBhdm9pZCBxdWV1aW5nIG11bHRpcGxlIGhpbnQgZGVsaXZlcmllcyBmb3IgdGhlIHNhbWUgZW5kcG9pbnQKICAgKENBU1NBTkRSQS0xMjI5KQogKiBiZXR0ZXIgcGVyZm9ybWFuY2UgZm9yIGFuZCBzdHJpY3RlciBjaGVja2luZyBvZiBVVEY4IGNvbHVtbiBuYW1lcwogICAoQ0FTU0FORFJBLTEyMzIpCiAqIGV4dGVuZCBvcHRpb24gdOZOIEcAAAFP3jyyXAAQIG5vZGV0b29sIHNjcnViIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsewAAAQB1bHRzIChDQVNTQU5EUkEtMzc3MSkKICogKGNxbDMpIEZpeCBkcm9wIGluZGV4IChDQVNTQU5EUkEtNDE5MikKICogKGNxbDMpIERvbid0IHJldHVybiByYW5nZSBnaG9zdHMgYW55bW9yZSAoQ0FTU0FORFJBLTM5ODIpCiAqIGZpeCByZS1jcmVhdGluZyBLZXlzcGFjZXMvQ29sdW1uRmFtaWxpZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIGRyb3BwZWQKICAgb25lcyAoQ0FTU0FORFJBLTQyMTkpCiAqIGZpeCBTZWNvbmRhcnlJbmRleCBMZXZlbGVkTWFudFrpzAAAAU/ePLJcABB3IGludmFsaWQgZXhjZXB0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx7AAABAGludCAoQ0FTU0FORFJBLTg4MikKICogUmVtb3ZlIG9ic29sZXRlIENvbnRyb2xQb3J0IGNvZGUgZnJvbSBEYXRhYmFzZURlc2NyaXB0b3IgKENBU1NBTkRSQS04ODYpCiAqIG1vdmUgc2tpcEJ5dGVzIHNpZGUgZWZmZWN0IG91dCBvZiBhc3NlcnQgKENBU1NBTkRSQS04OTkpCiAqIGFkZCAiZG91YmxlIGdldExvYWQiIHRvIFN0b3JhZ2VTZXJ2aWNlTUJlYW4gKENBU1NBTkRSQS04OTgpCiAqIHRyYWNrIHJvdyBzdGF0cyBwZXIgQ0YgYXQgY29tcGFjdGnR/WH5AAABT948slwAECBhbmQgQUxMLgogICAgLSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHsAAAEAb3J0IChDQVNTQU5EUkEtMzM1NykKICogT25seSBjb3VudCBjb21wYWN0aW9uIGFzIGFjdGl2ZSAoZm9yIHRocm90dGxpbmcpIHdoZW4gdGhleSBoYXZlCiAgIHN1Y2Nlc3NmdWxseSBhY3F1aXJlZCB0aGUgY29tcGFjdGlvbiBsb2NrIChDQVNTQU5EUkEtMzM0NCkKICogRGlzcGxheSBDTEkgdmVyc2lvbiBzdHJpbmcgb24gc3RhcnR1cCAoQ0FTU0FORFJBLTMxOTYpCiAqIChIYWRvb3ApIG1ha2UgQ0ZJRiB0cnkgcnBjX2FkZHJlc3Mgb3IgZmFsbGJhYwH7OzQAAAFP3jyyXAAQcmVzcy5nZXRMb2NhbEhvcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsewAAAQBlbGVjdHMgb24gY29tcG9zaXRlIHBhcnRpdGlvbiBrZXkgKENBU1NBTkRSQS01MTIyKQogKiBGaXggZXhjZXB0aW9uIHdoZW4gYWRkaW5nIGNvbGxlY3Rpb24gKENBU1NBTkRSQS01MTE3KQogKiBIYW5kbGUgc3RhdGVzIGZvciBub24tdm5vZGUgY2x1c3RlcnMgY29ycmVjdGx5IChDQVNTQU5EUkEtNTEyNykKICogUmVmdXNlIHVucmVjb2duaXplZCByZXBsaWNhdGlvbiBhbmQgY29tcGFjdGlvbiBzdHJhdGVneSBvcHRpb25zIChDQVNTQU5EUkEtNDc51pYkbAAAAU/ePLJcABByb3RvY29sIHNlcnZlciBpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx7AAABAGRyYS1jbGkgKENBU1NBTkRSQS01NjcsIENBU1NBTkRSQS01OTQpCiAqIGZpeCByZXR1cm5pbmcgbGl2ZSBzdWJjb2x1bW5zIG9mIGRlbGV0ZWQgc3VwZXJjb2x1bW5zIChDQVNTQU5EUkEtNTgzKQogKiByZXNwZWN0IEpBVkFfSE9NRSBpbiBiaW4vIHNjcmlwdHMgKHNldmVyYWwgdGlja2V0cykKICogYWRkIFN0b3JhZ2VTZXJ2aWNlLmluaXRDbGllbnQgZm9yIGZhdCBjbGllbnRzIG9uIHRoZSBKVk0gKENBU1NBTkRSQS01MzUpCiAgIChzZWUgY29udHKgjeBPAAABT948slwAEHRlIHZhbHVlcyBmb3IgaW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHsAAAEAQU5EUkEtMjU2NikKICogZGViaWFuIHBhY2thZ2luZyBmaXhlcyAoQ0FTU0FORFJBLTI0ODEsIDI2NDcpCiAqIGZpeCBVVUlEVHlwZSwgSW50ZWdlclR5cGUgZm9yIGRpcmVjdCBidWZmZXJzIChDQVNTQU5EUkEtMjY4MiwgMjY4NCkKICogc3dpdGNoIHRvIG5hdGl2ZSBUaHJpZnQgZm9yIEhhZG9vcCBtYXAvcmVkdWNlIChDQVNTQU5EUkEtMjY2NykKICogZml4IFN0YWNrT3ZlcmZsb3dFcnJvciB3aGVuIGJ1aWxkaW5nIGZyb20gZWNsaXBzZSAoQ0FTU/IZd5cAAAFP3jyyXAAQY2NvbW9kYXRlIG1pc3NpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsewAAAQB5IGFyZ3VtZW50IHRvIGdldF9rZXlfcmFuZ2UuCiAgICAtIENoYW5nZSBzaWduYXR1cmUgb2YgZ2V0X3NsaWNlIHRvIGFjY2VwdCBzdGFydGluZyBhbmQgZW5kaW5nCiAgICAgIGNvbHVtbnMgYXMgd2VsbCBhcyBhbiBvZmZzZXQuICAoVGhpcyBhbGxvd3MgdXNlIG9mIGluZGV4ZXMuKQogICAgICBBZGRlZCAiYXNjZW5kaW5nIiBmbGFnIHRvIGFsbG93IHJlYXNvbmFibHktZWZmaWNpZW50IHJldmVyc2UKICAgICAgc2NhbnMgYXMgd2VsbC4gIFJlbW92sba8dgAAAU/ePLJcABBUcmFjayBsaXZlUmF0aW8gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx7AAABAGlmIHNjcmlwdCBmYWlscyAoQ0FTU0FORFJBLTYzNDQpCiAqIEZpeCBidWcgd2l0aCBzb21lIElOIHF1ZXJpZXMgbWlzc2lnIHJlc3VsdHMgKENBU1NBTkRSQS03MTA1KQogKiBGaXggYXZhaWxhYmlsaXR5IHZhbGlkYXRpb24gZm9yIExPQ0FMX09ORSBDTCAoQ0FTU0FORFJBLTczMTkpCiAqIEhpbnQgc3RyZWFtaW5nIGNhbiBjYXVzZSBkZWNvbW1pc3Npb24gdG8gZmFpbCAoQ0FTU0FORFJBLTcyMTkpCgoKMi4xLjAtYmV0YTIKICogSW5jcmVhc2UgZGV/NHhjAAABT948slwAEGxvY2tzIGZvciBmYXN0ZXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHsAAAEAQVNTQU5EUkEtMTY5NykKICogaW5jbHVkZSBqbmEgZGVwZW5kZW5jeSBpbiBSUE0gcGFja2FnZSAoQ0FTU0FORFJBLTE2OTApCiAqIGFkZCAtLXNraXAta2V5cyBvcHRpb24gdG8gc3RyZXNzLnB5IChDQVNTQU5EUkEtMTY5NikKICogaW1wcm92ZSBjbGkgaGFuZGxpbmcgb2Ygbm9uLXN0cmluZyBrZXlzIGFuZCBjb2x1bW4gbmFtZXMgCiAgIChDQVNTQU5EUkEtMTcwMSwgLTE2OTMpCiAqIHIvbSBleHRyYSBzdWJjb21wYXJhdG9yIGxpbmUgaW4gY2xpIHVxKewAAAFP3jyyXAAQcHBpbmcKICAgb3V0IHBhcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsewAAAQA4KQogKiBtYWRlIENvbXBhY3Rpb25JbmZvLmdldFRhc2tUeXBlIHJldHVybiBhbiBlbnVtIChDQVNTQU5EUkEtMjQ4MikKICogYWRkIGEgc2VydmVyLXdpZGUgY2FwIG9uIG1lYXN1cmVkIG1lbXRhYmxlIG1lbW9yeSB1c2FnZSBhbmQgYWdncmVzc2l2ZWx5CiAgIGZsdXNoIHRvIGtlZXAgdW5kZXIgdGhhdCB0aHJlc2hvbGQgKENBU1NBTkRSQS0yMDA2KQogKiBhZGQgdW5pZmllZCBVVUlEVHlwZSAoQ0FTU0FORFJBLTIyMzMpCiAqIGFkZCBvZmYtaGVhhZojigAAAU/ePLJcABAtMTgwMCkKICogbWFrZSBOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx7AAABADIpCiAqIChjcWxzaCkgY3Fsc2ggc2hvdWxkIGF1dG9tYXRpY2FsbHkgZGlzYWJsZSB0cmFjaW5nIHdoZW4gc2VsZWN0aW5nCiAgIGZyb20gc3lzdGVtX3RyYWNlcyAoQ0FTU0FORFJBLTc2NDEpCiAqIChIYWRvb3ApIEFkZCBDcWxPdXRwdXRGb3JtYXQgKENBU1NBTkRSQS02OTI3KQogKiBEb24ndCBkZXBlbmQgb24gY2Fzc2FuZHJhIGNvbmZpZyBmb3Igbm9kZXRvb2wgcmluZyAoQ0FTU0FORFJBLTc1MDgpCiAqIChjcWxzaCkgRml4IGZhaWxpbmcgY3FZGP2sAAABT948slwAEERSQS02OTU2KQogKiBGaXgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILHsAAAEACiAqIHJld3JpdGUgSGFkb29wIENvbHVtbkZhbWlseVJlY29yZFdyaXRlciB0byBwb29sIGNvbm5lY3Rpb25zLCByZXRyeSB0bwogICBtdWx0aXBsZSBDYXNzYW5kcmEgbm9kZXMsIGFuZCBzbW9vdGggaW1wYWN0IG9uIHRoZSBDYXNzYW5kcmEgY2x1c3RlcgogICBieSB1c2luZyBzbWFsbGVyIGJhdGNoIHNpemVzIChDQVNTQU5EUkEtMTQzNCkKICogZml4IHNldHRpbmcgZ2NfZ3JhY2Vfc2Vjb25kcyB2aWEgQ0xJIChDQVNTQU5EUkEtMTU0OSkKICogc7vERIgAAAFP3jyyXAAQbCBzZWNvbmRhcnkKICAgaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsewAAAQBvZiByZXNlcnZlZCBrZXl3b3JkcyAoQ0FTU0FORFJBLTQxODYpCiAqIChjcWwzKSBNb3ZlIG1heC9taW4gY29tcGFjdGlvbiB0aHJlc2hvbGRzIHRvIGNvbXBhY3Rpb24gc3RyYXRlZ3kgb3B0aW9ucwogICAoQ0FTU0FORFJBLTQxODcpCiAqIEZpeCBleGNlcHRpb24gZHVyaW5nIG1vdmUgd2hlbiBsb2NhbGhvc3QgaXMgdGhlIG9ubHkgc291cmNlIChDQVNTQU5EUkEtNDIwMCkKICogKGNxbDMpIEFsbG93IHBhZ2luZyB0aHJvdWdoIG5vbi1vcmRlcmVkmjLUYwAAAE6wILOLACMABnN5c3RlbQAAEHNjaGVtYV9rZXlzcGFjZXMAAAQAAAADAAAAAAEBWh/yZ6zgPxKFY8+uYQPGXlVTZnEABRX31e3ISAAAAAAAAAAALiYCaQAHJuIMlW19AAABT948slwAEGFkIChDQVNTQU5EUkEtMjIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILH4AAAEAKQpNZXJnZWQgZnJvbSAxLjI6CiAqIEltcHJvdmVkIGVycm9yIG1lc3NhZ2Ugb24gYmFkIHByb3BlcnRpZXMgaW4gRERMIHF1ZXJpZXMgKENBU1NBTkRSQS02NDUzKQogKiBSYW5kb21pemUgYmF0Y2hsb2cgY2FuZGlkYXRlcyBzZWxlY3Rpb24gKENBU1NBTkRSQS02NDgxKQogKiBGaXggdGh1bmRlcmluZyBoZXJkIG9uIGVuZHBvaW50IGNhY2hlIGludmFsaWRhdGlvbiAoQ0FTU0FORFJBLTYzNDUsIDY0ODUpCiAqIEltcHJvdmUgYmF0Y2hsb2cgd3JpdDvH58YAAAFP3jyyXAAQaW1lb3V0IGV2ZW50cyB0bwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsfgAAAQAgY29udmVyc2lvbiBtZXRob2RzIChDQVNTQU5EUkEtMzAzMikKICogQWRkIHRpbWVvdXRzIHRvIGNsaWVudCByZXF1ZXN0IHNjaGVkdWxlcnMgKENBU1NBTkRSQS0zMDc5LCAzMDk2KQogKiBDbGkgdG8gdXNlIGhhc2hlcyByYXRoZXIgdGhhbiBhcnJheSBvZiBoYXNoZXMgZm9yIHN0cmF0ZWd5IG9wdGlvbnMgKENBU1NBTkRSQS0zMDgxKQogKiBMZXZlbGVkQ29tcGFjdGlvblN0cmF0ZWd5IChDQVNTQU5EUkEtMTYwOCwgMzA4NSwgMzExMCwgMzA4Nywg8W//PQAAAU/ePLJcABByZWFtaW5nIGRvZXMgbm90AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx+AAABACBjb21iaW5pbmcgdG9rZW4oKSBmdW5jdGlvbiB3aXRoIG11bHRpLWNvbHVtbiByZWxhdGlvbnMgb24KICAgY2x1c3RlcmluZyBjb2x1bW5zIChDQVNTQU5EUkEtODc5NykKICogTWFrZSBDRlMubWFya1JlZmVyZW5jZWQoKSByZXNpc3RhbnQgdG8gYmFkIHJlZmNvdW50aW5nIChDQVNTQU5EUkEtODgyOSkKICogRml4IFN0cmVhbVRyYW5zZmVyVGFzayBhYm9ydC9jb21wbGV0ZSBiYWQgcmVmY291bnRpbmcgKENBU1NBTkRSQS04ODE1KQogKiBGaXggQXMaK9guAAABT948slwAEEFORFJBLTg4MDcpCgoKMi4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILH4AAAEAcmFja2luZyByZWFkcyBvbiBpbmNyZW1lbnRhbGx5IG9wZW5lZCBzc3RhYmxlCiAgIHJlYWRlcnMgKENBU1NBTkRSQS04MDY2KQogKiBGaXggRVhFQ1VURSByZXF1ZXN0IHdpdGggc2tpcE1ldGFkYXRhPWZhbHNlIHJldHVybmluZyBubyBtZXRhZGF0YQogICAoQ0FTU0FORFJBLTgwNTQpCiAqIEFsbG93IGNvbmN1cnJlbnQgdXNlIG9mIENRTEJ1bGtPdXRwdXRGb3JtYXQgKENBU1NBTkRSQS03Nzc2KQogKiBTaHV0ZG93biBKVk0gb24gT09NIChDQVNTQV5RC94AAAFP3jyyXAAQcnJvcmluZyBvdXQgb24gZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsfgAAAQBzIG9uIG5vbi1taW5pbXVtIHRva2VuIChDQVNTQU5EUkEtMTcwMCkKICogYWRkIG5vZGV0b29sIGNmaGlzdG9ncmFtIChDQVNTQU5EUkEtMTY5OCkKICogbGltaXQgcmVwYWlyZWQgcmFuZ2VzIHRvIHdoYXQgdGhlIG5vZGVzIGhhdmUgaW4gY29tbW9uIChDQVNTQU5EUkEtMTY3NCkKICogaW5kZXggc2NhbiB0cmVhdHMgbWlzc2luZyBjb2x1bW5zIGFzIG5vdCBtYXRjaGluZyBzZWNvbmRhcnkKICAgZXhwcmVzc2lvbnMgKENBU1NBTkRSQS0xNzQ1KQog6uqpFAAAAU/ePLJcABBtYWpvciBjb21wYWN0aW9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx+AAABAG9ucyBhZ2FpbnN0IGNvbHVtbnMgdGhhdCBhcmUgbm90IHBhcnQgb2YgdGhlIAogICBTbGljZVByZWRpY2F0ZSAoQ0FTU0FORFJBLTE0MTApCiAqIGNvbmZpZy1jb252ZXJ0ZXIgcHJvcGVybHkgaGFuZGxlcyBzbml0Y2hlcyBhbmQgZnJhbWVkIHN1cHBvcnQgCiAgIChDQVNTQU5EUkEtMTQyMCkKICogcmVtb3ZlIGtleXNwYWNlIGFyZ3VtZW50IGZyb20gbXVsdGlnZXRfY291bnQgKENBU1NBTkRSQS0xNDIyKQogKiBhbGxvdyBzcGVjaWZ5aW5nIGNhc3ND4dcWAAABT948slwAEFJBLTYyMTEpCiAqIGNxbHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILH4AAAEAY2Fzc2FuZHJhLWNsaS5iYXQgZm9yIFdpbmRvd3MgKENBU1NBTkRSQS04NTgpCiAqIGFsbG93IHJlLXNwZWNpZnlpbmcgaG9zdCwgcG9ydCB0byBjYXNzYW5kcmEtY2xpIGlmIGludmFsaWQgb25lcwogICBhcmUgZmlyc3QgdHJpZWQgKENBU1NBTkRSQS04NjcpCiAqIGZpeCByYWNlIGNvbmRpdGlvbiBoYW5kbGluZyBycGMgdGltZW91dCBpbiB0aGUgY29vcmRpbmF0b3IKICAgKENBU1NBTkRSQS04NjQpCiAqIFJlbW92ZSBDYWxsb3V0TG9jYXRpb24gYViKW2UAAAFP3jyyXAAQIGNvbXBhdGliaWxpdHkgdwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsfgAAAQBBLTE5NzkpCiAqIGNoZWNrIG1vcmUgZnJlcXVlbnRseSBmb3IgbWVtdGFibGUgZXhwaXJhdGlvbiAoQ0FTU0FORFJBLTIwMDApCiAqIGZpeCB3cml0aW5nIFNTVGFibGUgY29sdW1uIGNvdW50IHN0YXRpc3RpY3MgKENBU1NBTkRSQS0xOTc2KQogKiBmaXggc3RyZWFtaW5nIG9mIG11bHRpcGxlIENGcyBkdXJpbmcgYm9vdHN0cmFwIChDQVNTQU5EUkEtMTk5MikKICogZXhwbGljaXRseSBzZXQgSlZNIEdDIG5ldyBnZW5lcmF0aW9uIHNpemUgd2l0aCAtsUQvcQAAAU/ePLJcABBlIGFmZmVjdGVkIHByZXBhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx+AAABACBpbnQgbWF0aCAoQ0FTU0FORFJBLTY2NDcpCgoKMi4wLjQKICogQWxsb3cgcmVtb3Zpbmcgc25hcHNob3RzIG9mIG5vLWxvbmdlci1leGlzdGluZyBDRnMgKENBU1NBTkRSQS02NDE4KQogKiBhZGQgU3RvcmFnZVNlcnZpY2Uuc3RvcERhZW1vbigpIChDQVNTQU5EUkEtNDI2OCkKICogYWRkIElSRSBmb3IgaW52YWxpZCBDRiBzdXBwbGllZCB0byBnZXRfY291bnQgKENBU1NBTkRSQS01NzAxKQogKiBhZGQgY2xpZW50IGVuY3J5cHRpb24gc3VwcG9ydCDb2JzNAAABT948slwAEGQgZXN0aW1hdGVkIHRhc2sAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILH4AAAEAYWQvd3JpdGUsIGNvbHVtbiBjb3VudCwgYW5kIGNvbHVtbi9yb3cgZGVsZXRlIHRvCiAgIGNhc3NhbmRyYS1jbGkgKENBU1NBTkRSQS01NjcsIENBU1NBTkRSQS01OTQpCiAqIGZpeCByZXR1cm5pbmcgbGl2ZSBzdWJjb2x1bW5zIG9mIGRlbGV0ZWQgc3VwZXJjb2x1bW5zIChDQVNTQU5EUkEtNTgzKQogKiByZXNwZWN0IEpBVkFfSE9NRSBpbiBiaW4vIHNjcmlwdHMgKHNldmVyYWwgdGlja2V0cykKICogYWRkIFN0b3JhZ2VTZXJ2aWNlLmluaXRDbGllblij0OQAAAFP3jyyXAAQaGVyIAogICAnSW5kZXhDbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsfgAAAQBMIGtleXNwYWNlIGNyZWF0aW9uIChDQVNTQU5EUkEtMzkwMykKICogU2hvdyBFZmZlY3RpdmUgT3dlcnNoaXAgdmlhIE5vZGV0b29sIHJpbmcgPGtleXNwYWNlPiAoQ0FTU0FORFJBLTM0MTIpCiAqIFVwZGF0ZSBPUkRFUiBCWSBzeW50YXggZm9yIENRTDMgKENBU1NBTkRSQS0zOTI1KQogKiBGaXggQnVsa1JlY29yZFdyaXRlciB0byBub3QgdGhyb3cgTlBFIGlmIHJlZHVjZXIgZ2V0cyBubyBtYXAgZGF0YSBmcm9tIEhhZG9vcCAoQ0FTU0FORFJBLTM5zBRDhwAAAU/ePLJcABAKICogQWRkIHF1ZXJ5LWJ5AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx+AAABAHRlZ3kgKENBU1NBTkRSQS01MDkzKQpNZXJnZWQgZnJvbSAxLjE6CiAqIGFkZCB2YWxpZGF0aW9uIGZvciBnZXRfcmFuZ2Vfc2xpY2VzIHdpdGggc3RhcnRfa2V5IGFuZCBlbmRfdG9rZW4gKENBU1NBTkRSQS01MDg5KQoKCjEuMi4wLXJjMgogKiBmaXggbm9kZXRvb2wgb3duZXJzaGlwIGRpc3BsYXkgd2l0aCB2bm9kZXMgKENBU1NBTkRSQS01MDY1KQogKiBjcWxzaDogYWRkIERFU0NSSUJFIEtFWVNQQUNFUyBjb21tYW5kIChDQVNTQU5EUkEtNTA2MCkKoZPuAAABT948slwAEG9uX2xpbWl0IChDQVNTQU4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILH4AAAEAc2gpIFN1cHBvcnQgZm9yIHF1ZXJ5IHBhZ2luZyAoQ0FTU0FORFJBLTc1MTQpCiAqIChjcWxzaCkgU2hvdyBwcm9ncmVzcyBvZiBDT1BZIG9wZXJhdGlvbnMgKENBU1NBTkRSQS03Nzg5KQogKiBBZGQgc3ludGF4IHRvIHJlbW92ZSBtdWx0aXBsZSBlbGVtZW50cyBmcm9tIGEgbWFwIChDQVNTQU5EUkEtNjU5OSkKICogU3VwcG9ydCBub24tZXF1YWxzIGNvbmRpdGlvbnMgaW4gbGlnaHR3ZWlnaHQgdHJhbnNhY3Rpb25zIChDQVNTQU5EUkEtNjgzOSkKIASlx/0AAAFP3jyyXAAQZSAoQ0FTU0FORFJBLTEyNwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsfgAAAQB0byBkcm9wcGVkIENGUyBvYmplY3RzIGluIAogICBDb21wYWN0aW9uTWFuYWdlci5lc3RpbWF0ZWRDb21wYWN0aW9ucyAoQ0FTU0FORFJBLTI3MDgpCiAqIGV4cG9zZSBycGMgdGltZW91dHMgcGVyIGhvc3QgaW4gTWVzc2FnaW5nU2VydmljZU1CZWFuIChDQVNTQU5EUkEtMjk0MSkKICogYXZvaWQgaW5jbHVkaW5nIGN3ZCBpbiBjbGFzc3BhdGggZm9yIGRlYiBhbmQgcnBtIHBhY2thZ2VzIChDQVNTQU5EUkEtMjg4MSkKICogcmVtb3ZlIGdvc3NpcCBz0REkpQAAAU/ePLJcABBBTkRSQS03MDUzKQogKiBGAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCx+AAABACkKICogY3Fsc2g6IGZvcmNlIENMLk9ORSBmb3IgdHJhY2luZyBhbmQgc3lzdGVtLnNjaGVtYSogcXVlcmllcyAoQ0FTU0FORFJBLTUwNzApCiAqIEluY2x1ZGVzIGNhc3NhbmRyYS1zaHVmZmxlIGluIHRoZSBkZWJpYW4gcGFja2FnZSAoQ0FTU0FORFJBLTUwNTgpCk1lcmdlZCBmcm9tIDEuMToKICogZml4IG11bHRpdGhyZWFkZWQgY29tcGFjdGlvbiBkZWFkbG9jayAoQ0FTU0FORFJBLTQ0OTIpCiAqIGZpeCB0ZW1wb3JhcmlseSBtaXNzaW5nIHNjaGVdxOt7AAABpZ7juToAEG7LYPD5gBHkuKDn1EjV4m0AAAABAbTbt7TcST+1s7/ObkNIMsp/////gAAAAAAAAAAAAAABAA4AC3Jvd3NfbWVyZ2Vk/wAOAAtyb3dzX21lcmdlZAFVU2ZxAAUV99Xt0BcAAAAHAAMAAAACAAk6gFVcoPEABRX31e3QGAAAAAAACwAIYnl0ZXNfaW4AAgAJOoBVXKDxAAUV99Xt0BgAAAAIAAAAAAAAN2oADAAJYnl0ZXNfb3V0AAIACTqAVVyg8QAFFffV7dAYAAAACAAAAAAAADawABQAEWNvbHVtbmZhbWlseV9uYW1lAAIACTqAVVyg8QAFFffV7dAYAAAAFXNjaGVtYV9jb2x1bW5mYW1pbGllcwAPAAxjb21wYWN0ZWRfYXQAAgAJOoBVXKDxAAUV99Xt0BgAAAAIAAABTU3ILH8AEAANa2V5c3BhY2VfbmFtZQACAAk6gFVcoPEABRX31e3QGAAAAAZzeXN0ZW0AFQALcm93c19tZXJnZWQAAAQAAAABAAIACTqAVVyg8QAFFffV7dAYAAAACAAAAAAAAAAEA8zseQAHOz9KM2mRAAABT948slwAEFNBTkRSQS03MzQ2KQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILIEAAAEAbWl0IG1ham9yIHNzdGFibGUgb3BlcmF0aW9ucyB0byB0aGVpciBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24gKENBU1NBTkRSQS04NjY5KQogKiBjcWxzaDogQWRkIHRlc3RzIGZvciBJTlNFUlQgYW5kIFVQREFURSB0YWIgY29tcGxldGlvbiAoQ0FTU0FORFJBLTkxMjUpCiAqIGNxbHNoOiBxdW90ZSBjb2x1bW4gbmFtZXMgd2hlbiBuZWVkZWQgaW4gQ09QWSBGUk9NIGluc2VydHMgKENBU1NBTkRSQS05MDgwKQogKiBBZGQgZ2VuZXJhdGUtaWRlYS1maW9FsbIAAAFP3jyyXAAQbWV0YWRhdGEgKENBU1NBTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsgQAAAQBBU1NBTkRSQS01MDQ0KQogKiBmaXggaGludGluZyBmb3IgZHJvcHBlZCBsb2NhbCB3cml0ZXMgKENBU1NBTkRSQS00NzUzKQogKiBvZmYtaGVhcCBjYWNoZSBkb2Vzbid0IG5lZWQgbXV0YWJsZSBjb2x1bW4gY29udGFpbmVyIChDQVNTQU5EUkEtNTA1NykKICogYXBwbHkgZGlza19mYWlsdXJlX3BvbGljeSB0byBiYWQgZGlza3Mgb24gaW5pdGlhbCBkaXJlY3RvcnkgY3JlYXRpb24gCiAgIChDQVNTQU5EUkEtNDg0NykKICogT3B0aW1pemUgbmFtZS1ibrchWgAAAU/ePLJcABBEUkEtNzE0MikKICogRml4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyBAAABAFNBTkRSQS01ODYyKQogKiBJbXByb3ZlIG9mZmhlYXAgbWVtY3B5IHBlcmZvcm1hbmNlIChDQVNTQU5EUkEtNTg4NCkKICogVXNlIGEgcmFuZ2UgYXdhcmUgc2Nhbm5lciBmb3IgY2xlYW51cCAoQ0FTU0FORFJBLTI1MjQpCiAqIENsZWFudXAgZG9lc24ndCBuZWVkIHRvIGluc3BlY3Qgc3N0YWJsZXMgdGhhdCBjb250YWluIG9ubHkgbG9jYWwgZGF0YQogICAoQ0FTU0FORFJBLTU3MjIpCiAqIEFkZCBhYmlsaXR5IGZvciBDUUwzIHRvIGxpc3QgcGFydGnEfysmAAABT948slwAEAogICBjb2xsZWN0aW9uIGMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILIIAAAEAd2hlbiBzdHJlYW1pbmcgY29ubmVjdGlvbiBpcyBub3QgeWV0IGVzdGFibGlzaGVkIChDQVNTQU5EUkEtNjIxMCkKICogQXZvaWQgcmFyZSBkdXBsaWNhdGUgcmVhZCByZXBhaXIgdHJpZ2dlcmluZyAoQ0FTU0FORFJBLTY2MDYpCiAqIEZpeCBwYWdpbmcgZGlzY2FyZEZpcnN0IChDQVNTQU5EUkEtNjU1NSkKICogRml4IEFycmF5SW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbiBpbiAybmRhcnkgaW5kZXggcXVlcnkgKENBU1NBTkRSQS02NDcwKQogKiBSZee1pyAAAAFP3jyyXAAQKENBU1NBTkRSQS0xNzU1KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsggAAAQBNYXJrIFhYIGp2bSBzZXR0aW5ncyBvbiBqZGsgMS43IChDQVNTQU5EUkEtNDM2NikKICogQ1FMMyByZWZhY3RvciB0byBhbGxvdyBjb252ZXJzaW9uIGZ1bmN0aW9uIChDQVNTQU5EUkEtNTIyNikKICogRml4IGRyb3Agb2Ygc3N0YWJsZXMgaW4gc29tZSBjaXJjdW1zdGFuY2UgKENBU1NBTkRSQS01MjMyKQogKiBJbXBsZW1lbnQgY2FjaGluZyBvZiBhdXRob3JpemF0aW9uIHJlc3VsdHMgKENBU1NBTkRSQS00Mjk1KQogKiBBZGQgc3VwcG9ydCBmb3Ig9SSilwAAAU/ePLJcABBRVU9SVU0sIERDUVVPUlVNAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyCAAABAHVtbmZhbWlsaWVzIChDQVNTQU5EUkEtMzQxNSkKICogTWFrZSBjb3VudGVyIHNoYXJkIG1lcmdpbmcgdGhyZWFkIHNhZmUgKENBU1NBTkRSQS0zMTc4KQogKiBSZXZlcnQgQ0FTU0FORFJBLTI4NTUKICogRml4IGJ1ZyBwcmV2ZW50aW5nIHRoZSB1c2Ugb2YgZWZmaWNpZW50IGNyb3NzLURDIHdyaXRlcyAoQ0FTU0FORFJBLTM0NzIpCiAqIGBkZXNjcmliZSByaW5nYCBjb21tYW5kIGZvciBDTEkgKENBU1NBTkRSQS0zMjIwKQogKiAoSGFkb29wKSBza2mgEpOhAAABT948slwAEHVtYmVycyBpbiB0aGUgY2wAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILIIAAAEAZml4IHVwZGF0ZSBvZiB2YWxpZGF0aW9uIGNsYXNzIGluIGNvbHVtbiBtZXRhZGF0YSAoQ0FTU0FORFJBLTI1MTIpCiAqIHN1cHBvcnQgTE9DQUxfUVVPUlVNLCBFQUNIX1FVT1JVTSBDTHMgb3V0c2lkZSBvZiBOVFMgKENBU1NBTkRSQS0yNTE2KQogKiBwcmVzZXJ2ZSB2ZXJzaW9uIHdoZW4gc3RyZWFtaW5nIGRhdGEgZnJvbSBvbGQgc3N0YWJsZXMgKENBU1NBTkRSQS0yMjgzKQogKiBmaXggYmFja3NsYXNoIHN1YnN0aXR1dGlvbnMgaW4gQ0xJIChDQQlX+wYAAAFP3jyyXAAQLTMwMzYpCiAqIHJldHVybgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsggAAAQBvdHN0cmFwIHdoZW4gbm8gbm9uLXN5c3RlbSB0YWJsZXMgYXJlIGRlZmluZWQgKENBU1NBTkRSQS0xNzMyKQogKiBoYW5kbGUgcmVwbGljYSB1bmF2YWlsYWJpbGl0eSBpbiBpbmRleCBzY2FuIChDQVNTQU5EUkEtMTc1NSkKICogZml4IHNlcnZpY2UgaW5pdGlhbGl6YXRpb24gb3JkZXIgZGVhZGxvY2sgKENBU1NBTkRSQS0xNzU2KQogKiBtdWx0aS1saW5lIGNsaSBjb21tYW5kcyAoQ0FTU0FORFJBLTE3NDIpCiAqIGZpeCByYWNlIGJldHdlZW4gc25h/He5CAAAAU/ePLJcABBlc3RzIHRoYXQgY2Fubm90AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyCAAABACBQSyBsb29rdXBzIChDQVNTQU5EUkEtNDcxMCkKICogYWRqdXN0IGJsb2NrRm9yIGNhbGN1bGF0aW9uIHRvIGFjY291bnQgZm9yIHBlbmRpbmcgcmFuZ2VzIGR1ZSB0byBub2RlIAogICBtb3ZlbWVudCAoQ0FTU0FORFJBLTgzMykKICogQ2hhbmdlIENRTCB2ZXJzaW9uIHRvIDMuMC4wIGFuZCBzdG9wIGFjY2VwdGluZyAzLjAuMC1iZXRhMSAoQ0FTU0FORFJBLTQ2NDkpCiAqIChDUUwzKSBNYWtlIHByZXBhcmVkIHN0YXRlbWVudCBnbG9iYWwgaW5zdGUnInQMAAABT948slwAEG1vcmUgaG9va3MgZm9yIGMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILIIAAAEAbG93IHRvIHJ1biBpdCBvZmZsaW5lIChDQVNTQU5EUkEtNDMyMSkKICogRml4IGFzc2VydGlvbkVycm9yIGluIFN0b3JhZ2VTZXJ2aWNlLmJ1bGtMb2FkIChDQVNTQU5EUkEtNDM2OCkKICogKGNxbHNoKSBhZGQgb3B0aW9uIHRvIGF1dGhlbnRpY2F0ZSB0byBhIGtleXNwYWNlIGF0IHN0YXJ0dXAgKENBU1NBTkRSQS00MTA4KQogKiAoY3Fsc2gpIGZpeCBBU1NVTUUgZnVuY3Rpb25hbGl0eSAoQ0FTU0FORFJBLTQzNTIpCiAqIEZpeCBDb2x1bW5GYW1pbO64snYAAAFP3jyyXAAQKG5vbi1wcm90b2NvbCkgYgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsggAAAQBnIChDQVNTQU5EUkEtNDk1MikKICogRml4IHN0cmVhbWluZyBkb2VzIG5vdCB0cmFuc2ZlciB3cmFwcGVkIHJhbmdlIChDQVNTQU5EUkEtNTk0OCkKICogRml4IGxvYWRpbmcgaW5kZXggc3VtbWFyeSBjb250YWluaW5nIGVtcHR5IGtleSAoQ0FTU0FORFJBLTU5NjUpCiAqIENvcnJlY3RseSBoYW5kbGUgbGltaXRzIGluIENvbXBvc2l0ZXNTZWFyY2hlciAoQ0FTU0FORFJBLTU5NzUpCiAqIFBpZzogaGFuZGxlIENRTCBjb2xsZWN0aW9ucyAoQ0FTU0FORhl2NQAAAU/ePLJcABBhcnRpdGlvbnMgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyCAAABAGFzIHNvIHRoZXkgY2FuIG1vcmUKICAgYWNjdXJhdGVseSBkcm9wIHRpbWVkLW91dCByZXF1ZXN0cyAoQ0FTU0FORFJBLTI4NTgpCiAqIGZpeCBjbGllbnR1dGlsLmphciBkZXBlbmRlbmNpZXMgKENBU1NBTkRSQS00NTY2KQogKiBvcHRpbWl6ZSBXcml0ZVJlc3BvbnNlIChDQVNTQU5EUkEtNDU0OCkKICogbmV3IG1ldHJpY3MgKENBU1NBTkRSQS00MDA5KQogKiByZWRlc2lnbiBLRVlTIGluZGV4ZXMgdG8gYXZvaWQgcmVhZC1iZWZvcmUtd3JpdGUgKEPU7zfGAAABT948slwAEFZNIG9uIGZpbGUgZGVzY3IAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILIIAAAEAIHJlY29nbml6ZSBhdHRlbXB0IHRvIGRyb3AganVzdCB0aGUgaW5kZXggd2hpbGUgbGVhdmluZyB0aGUgY29sdW1uCiAgIGRlZmluaXRpb24gYWxvbmUgKENBU1NBTkRSQS0yNjE5KQogIAoKMC44LjAtYmV0YTEKICogcmVtb3ZlIEF2cm8gUlBDIHN1cHBvcnQgKENBU1NBTkRSQS05MjYpCiAqIHN1cHBvcnQgZm9yIGNvbHVtbnMgdGhhdCBhY3QgYXMgaW5jci9kZWNyIGNvdW50ZXJzIAogICAoQ0FTU0FORFJBLTEwNzIsIDE5MzcsIDE5NDQsIDE5MzYsIAUXnNoAAAFP3jyyXAAQY29sdW1uIGxpbWl0IHRvIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsggAAAQAgaW4gUmVhZENhbGxiYWNrIHRoYXQgY291bGQgY2F1c2UKICAgcmVhZHMgdG8gdGltZSBvdXQgZXZlbiB3aGVuIHJlc3BvbnNlcyB3ZXJlIHJlY2VpdmVkIChDQVNTQU5EUkEtMjU1MikKICogdHJpZ2dlciByZWFkIHJlcGFpciBjb3JyZWN0bHkgZm9yIExPQ0FMX1FVT1JVTSByZWFkcyAoQ0FTU0FORFJBLTI1NTYpCiAqIEFsbG93IGNvbmZpZ3VyaW5nIHRoZSBudW1iZXIgb2YgY29tcGFjdGlvbiB0aHJlYWQgKENBU1NBTkRSQS0yNTU4KQogKiBmb3JjE6eydwAAAU/ePLJcABAqIEVuc3VyZSB0aGF0IHN1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyCAAABAGluIGNsdXN0ZXJ0b29sIChDQVNTQU5EUkEtOTQyKQogKiBmaXggcmFjZSBjb25kaXRpb24gdGhhdCBjb3VsZCB0cmlnZ2VyIGEgZmFsc2UtcG9zaXRpdmUgYXNzZXJ0aW9uCiAgIGR1cmluZyBwb3N0LWZsdXNoIGRpc2NhcmQgb2Ygb2xkIGNvbW1pdGxvZyBzZWdtZW50cyAoQ0FTU0FORFJBLTkzNikKICogZml4IG5laWdoYm9yIGNhbGN1bGF0aW9uIGZvciBhbnRpLWVudHJvcHkgcmVwYWlyIChDQVNTQU5EUkEtOTI0KQogKiBwZXJmb3JtIHJlcGFpciCGWxdtAAc+V009q+QAAAFP3jyyXAAQYWQgImRlZnJhZyIgYXN5bgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsgwAAAQBlZAogICBhIHZhbHVlIGxhcmdlciB0aGFuIDY0S0IgKENBU1NBTkRSQS0zMDU3KQogKiBmaXggb2YgbnVtZXJpYy1vbmx5IGFuZCBzdHJpbmcgY29sdW1uIG5hbWVzIGhhbmRsaW5nIGluIENMSSAiZHJvcCBpbmRleCIgCiAgIChDQVNTQU5EUkEtMzA1NCkKICogcHJ1bmUgaW5kZXggc2NhbiByZXN1bHRzZXQgYmFjayB0byBvcmlnaW5hbCByZXF1ZXN0IGZvciBsYXp5CiAgIHJlc3VsdHNldCBleHBhbnNpb24gY2FzZSAoQ0FTU0FORFJBLTI5NjQpCiAq7869wwAAAU/ePLJcABByYXRlZ3kgKENBU1NBTkRSAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyDAAABAHJzaW9uIChDQVNTQU5EUkEtNDA3NykKICogUmVzcGVjdCAxLjAgY2FjaGUgc2V0dGluZ3MgYXMgbXVjaCBhcyBwb3NzaWJsZSB3aGVuIHVwZ3JhZGluZyAKICAgKENBU1NBTkRSQS00MDg4KQogKiByZWxheCBwYXRoIGxlbmd0aCByZXF1aXJlbWVudCBmb3Igc3N0YWJsZSBmaWxlcyB3aGVuIHVwZ3JhZGluZyBvbiAKICAgbm9uLVdpbmRvd3MgcGxhdGZvcm1zIChDQVNTQU5EUkEtNDExMCkKICogZml4IHRlcm1pbmluYXRpb24gb2YgdGhlIHN0cmVzcy5/pRBrAAAATrAgs4sAIwAGc3lzdGVtAAAQc2NoZW1hX2tleXNwYWNlcwAABAAAAAEAAAAAAQFaH/JnrOA/EoVjz65hA8ZeVVNmcQAFFffV7fNAAAAAAAAAAACLyjRIAAdStHMjtssAAAFP3jyyXAAQbWJzdG9uZXMgKENBU1NBTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsiQAAAQAzNTg1KQogKiBkZXRlY3QgbWlzdXNlcyBvZiBDb3VudGVyQ29sdW1uVHlwZSAoQ0FTU0FORFJBLTM0MjIpCiAqIHR1cm4gb2ZmIHN0cmluZyBpbnRlcm5pbmcgaW4ganNvbjJzc3RhYmxlLCB0YWtlIDIgKENBU1NBTkRSQS0yMTg5KQogKiB2YWxpZGF0ZSBjb21wcmVzc2lvbiBwYXJhbWV0ZXJzIG9uIGFkZC91cGRhdGUgb2YgdGhlIENvbHVtbkZhbWlseSAKICAgKENBU1NBTkRSQS0zNTczKQogKiBDaGVjayBmb3IgMC4wLjAuMCBpcyBpbmNvcnJlY3Qg6F6p7wAAAU/ePLJcABAzOTgzKQogKiBBZGQgdG9vAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyJAAABAGlseSBvdXRwdXRzIGluIENGT0YgKENBU1NBTkRSQS00MjA4KQogKiBTdXBwb3J0IHJlcGFpcmluZyBvbmx5IHRoZSBsb2NhbCBEQyBub2RlcyAoQ0FTU0FORFJBLTQ3NDcpCiAqIFVzZSBycGNfYWRkcmVzcyBmb3IgYmluYXJ5IHByb3RvY29sIGFuZCBjaGFuZ2UgZGVmYXVsdCBwb3J0IChDQVNTQU5EUkEtNDc1MSkKICogRml4IHVzZSBvZiBjb2xsZWN0aW9ucyBpbiBwcmVwYXJlZCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNDczOSkKICogU3RvcmUgbW9kWMbjAAABT948slwAEFNTQU5EUkEtMTU4NikKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILIkAAAEAbmRvd3MpIGZpeCBzdGFydHVwIHdoZW4gV01JIG1lbW9yeSBxdWVyeSBmYWlscyAoQ0FTU0FORFJBLTc1MDUpCiAqIEFudGktY29tcGFjdGlvbiBwcm9jZWVkcyBpZiBhbnkgcGFydCBvZiB0aGUgcmVwYWlyIGZhaWxlZCAoQ0FTQU5EUkEtNzUyMSkKICogQWRkIG1pc3NpbmcgdGFibGUgbmFtZSB0byBEUk9QIElOREVYIHJlc3BvbnNlcyBhbmQgbm90aWZpY2F0aW9ucyAoQ0FTU0FORFJBLTc1MzkpCiAqIEJ1bXAgQ1FMIHZlcnNpb24gdG8gMy4yLjAgYXOXMSoAAAFP3jyyXAAQayBsb2FkIGludGVyZmFjZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsiQAAAQApIGZ1bmN0aW9uIHdoZW4gdXNlZCB3aXRoIHN0cmluZ3MgKENBU1NBTkRSQS01MDUwKQpNZXJnZWQgZnJvbSAxLjE6CiAqIHJlZHVjZSBsb2cgc3BhbSBmcm9tIGludmFsaWQgY291bnRlciBzaGFyZHMgKENBU1NBTkRSQS01MDI2KQogKiBJbXByb3ZlIHNjaGVtYSBwcm9wYWdhdGlvbiBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTUwMjUpCiAqIEZpeCBmb3IgSW5kZXhIZWxwZXIuSW5kZXhGb3IgdGhyb3dzIE9PQiBFeGNlcHRpb24gKENBU1NBTkRSQS01SrRNegAAAU/ePLJcABBja2FnZSAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyJAAABAFJBLTYyODUpCiAqIChIYWRvb3ApIHN1cHBvcnQgYXV0aGVudGljYXRpb24gaW4gQ3FsUmVjb3JkUmVhZGVyIChDQVNTQU5EUkEtNzIyMSkKICogKEhhZG9vcCkgQ2xvc2UgamF2YSBkcml2ZXIgQ2x1c3RlciBpbiBDUUxSUi5jbG9zZSAoQ0FTU0FORFJBLTcyMjgpCiAqIFdhcm4gd2hlbiAnVVNJTkcgVElNRVNUQU1QJyBpcyB1c2VkIG9uIGEgQ0FTIEJBVENIIChDQVNTQU5EUkEtNzA2NykKICogcmV0dXJuIGFsbCBjcHUgdmFsdWVzIGZyb20gQmFja2d7EIR7AAABT948slwAEE5EUkEtMjcyMykKICogZmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILIkAAAEANjkyKQogKiBGaXggc2tpcHBpbmcgcmFuZ2UgdG9tYnN0b25lcyB3aXRoIHJldmVyc2UgcXVlcmllcyAoQ0FTU0FORFJBLTU3MTIpCiAqIEV4cGlyZSBlbnRyaWVzIG91dCBvZiBUaHJpZnRTZXNzaW9uTWFuYWdlciAoQ0FTU0FOUkRBLTU3MTkpCiAqIERvbid0IGtlZXAgYW5jZXN0b3IgaW5mb3JtYXRpb24gaW4gbWVtb3J5IChDQVNTQU5EUkEtNTM0MikKICogY3Fsc2g6IGZpeCBoYW5kbGluZyBvZiBzZW1pY29sb25zIGluc2lkZSBCQVRDSCBxdWVyae3KXvQAAAFP3jyyXAAQLTczMjApCiAqIEFkZCBjbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsiQAAAQBEUkEtNjEzNikKICogVXNlIEphdmE3IGZpbGUtaGFuZGxpbmcgQVBJcyBhbmQgZml4IGZpbGUgbW92aW5nIG9uIFdpbmRvd3MgKENBU1NBTkRSQS01MzgzKQogKiBTYXZlIGNvbXBhY3Rpb24gaGlzdG9yeSB0byBzeXN0ZW0ga2V5c3BhY2UgKENBU1NBTkRSQS01MDc4KQogKiBGaXggTlBFIGlmIFN0b3JhZ2VTZXJ2aWNlLmdldE9wZXJhdGlvbk1vZGUoKSBpcyBleGVjdXRlZCBiZWZvcmUgZnVsbCBzdGFydHVwIChDQVNTQU5EUkEtNjE2NikKICogQ1FMW9XhLwAAAU/ePLJcABB0ZW5jeUxldmVuIGNoYW5lAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyJAAABAE5EUkEtNTE1OSkKTWVyZ2VkIGZyb20gMS4xOgogKiBTaW1wbGlmeSBDb21wcmVzc2VkUmFuZG9tQWNjZXNzUmVhZGVyIHRvIHdvcmsgYXJvdW5kIEpESyBGRCBidWcgKENBU1NBTkRSQS01MDg4KQogKiBJbXByb3ZlIGhhbmRsaW5nIGEgY2hhbmdpbmcgdGFyZ2V0IHRocm90dGxlIHJhdGUgbWlkLWNvbXBhY3Rpb24gKENBU1NBTkRSQS01MDg3KQogKiBQaWc6IGNvcnJlY3RseSBkZWNvZGUgcm93IGtleXMgaW4gd2lkZXJvdyBtb2RlIChDQVNTQU5EUkEEDK6DAAABT948slwAEGggKENBU1NBTkRSQS0zMjUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILIkAAAEAQVNTQU5EUkEtNTgxNCkKICogY3Fsc2g6IGFkZCBjb2xsZWN0aW9ucyBzdXBwb3J0IHRvIENPUFkgKENBU1NBTkRSQS01Njk4KQogKiByZXRyeSBpbXBvcnRhbnQgbWVzc2FnZXMgZm9yIGFueSBJT0V4Y2VwdGlvbiAoQ0FTU0FORFJBLTU4MDQpCiAqIEFsbG93IGVtcHR5IElOIHJlbGF0aW9ucyBpbiBTRUxFQ1QvVVBEQVRFL0RFTEVURSBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNTYyNikKICogY3Fsc2g6IGZpeCBjcmFzaGluZyBvbiBXaW5kb3dzIGR1ZdutgjUAAAFP3jyyXAAQZWN0b3J5IChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsiQAAAQAgdW5uZWNlc3NhcnkgY29weSB3aGVuIGFkZGluZyB0byByb3cgY2FjaGUgKENBU1NBTkRSQS0zMjIzKQogKiBMb2cgbWVzc2FnZSB3aGVuIGEgZnVsbCByZXBhaXIgb3BlcmF0aW9uIGNvbXBsZXRlcyAoQ0FTU0FORFJBLTMyMDcpCiAqIEZpeCBzdHJlYW1PdXRTZXNzaW9uIGtlZXBpbmcgc3N0YWJsZXMgcmVmZXJlbmNlcyBmb3JldmVyIGlmIHRoZSByZW1vdGUgZW5kCiAgIGRpZXMgKENBU1NBTkRSQS0zMjE2KQogKiBSZW1vdmUgZHluYW1pY19zbml0rbtkbwAAAU/ePLJcABBvcHRpbWl6ZSBtZW10YWJsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyJAAABAG5kIChDQVNTQU5EUkEtNDA4MSkKICogZml4IHRvdGFsQnl0ZXMgY291bnQgZm9yIHBhcmFsbGVsIGNvbXBhY3Rpb25zIChDQVNTQU5EUkEtMzc1OCkKICogZml4IGludGVybWl0dGVudCBOUEUgaW4gZ2V0X3NsaWNlIChDQVNTQU5EUkEtNDA5NSkKICogcmVtb3ZlIHVubmVjZXNzYXJ5IGFzc2VydHMgaW4gbmF0aXZlIGNvZGUgaW50ZXJmYWNlcyAoQ0FTU0FORFJBLTQwOTYpCiAqIFZhbGlkYXRlIGJsYW5rIGtleXMgaW4gQ1FMIHRvIGF2b2lkIGFzc2XnDZxfAAABT948slwAEG4gYSB0YWJsZSdzIGNvbHUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILIkAAAEALTQ5MTMpCiAqIHNhdmUgdHJ1bmNhdGlvbiBwb3NpdGlvbiBpbiBzeXN0ZW0gdGFibGUgKENBU1NBTkRSQS00OTA2KQogKiBNb3ZlIENvbXByZXNzaW9uTWV0YWRhdGEgb2ZmLWhlYXAgKENBU1NBTkRSQS00OTM3KQogKiBhbGxvdyBDTEkgdG8gR0VUIGNxbDMgY29sdW1uZmFtaWx5IGRhdGEgKENBU1NBTkRSQS00OTI0KQogKiBGaXggcmFyZSByYWNlIGNvbmRpdGlvbiBpbiBnZXRFeHBpcmVUaW1lRm9yRW5kcG9pbnQgKENBU1NBTkRSQS00NDAyKQogKvxl8p4AAAFP3jyyXAAQZm9ybWFuY2UKICAgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsiQAAAQBsaXppbmcgc2NoZW1hIChDQVNTQU5EUkEtNTU3MikKICogQ2hlY2sgb25seSBTU1RhYmxlcyBmb3IgdGhlIHJlcXVlc3RlZCByYW5nZSB3aGVuIHN0cmVhbWluZyAoQ0FTU0FORFJBLTU1NjkpCiAqIEltcHJvdmUgYmF0Y2hsb2cgcmVwbGF5IGJlaGF2aW9yIGFuZCBoaW50IHR0bCBoYW5kbGluZyAoQ0FTU0FORFJBLTUzMTQpCiAqIEV4Y2x1ZGUgbG9jYWxUaW1lc3RhbXAgZnJvbSB2YWxpZGF0aW9uIGZvciB0b21ic3RvbmVzIChDQVNTQU5EUkEtNTM5DhpaGQAAAU/ePLJcABAoQ0FTU0FORFJBLTQ5MTApAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyJAAABAG1wYWN0aW9uIChDQVNTQU5EUkEtMTYpCiAqIGFkZGVkIGhhZG9vcCBPdXRwdXRGb3JtYXQgKENBU1NBTkRSQS0xMTAxKQogKiBlZmZpY2llbnQgU3RyZWFtaW5nIChubyBtb3JlIGFudGljb21wYWN0aW9uKSAoQ0FTU0FORFJBLTU3OSkKICogc3BsaXQgY29tbWl0bG9nIGhlYWRlciBpbnRvIHNlcGFyYXRlIGZpbGUgYW5kIGFkZCBzaXplIGNoZWNrc3VtIHRvCiAgIG11dGF0aW9ucyAoQ0FTU0FORFJBLTExNzkpCiAqIGF2b2lkIGFsbG9jYXRpbmcgYSCofBGjAAABT948slwAEHJhbnNwb3NpdGlvbiBpbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILIkAAAEAYmFnZSBjb2xsZWN0b3Igb3B0aW9ucyAoQ0FTU0FORFJBLTUwNCkKICogQWRkICJub2RlcHJvYmUgZmx1c2giIChDQVNTQU5EUkEtNTA1KQogKiByZW1vdmUgTm90Rm91bmRFeGNlcHRpb24gZnJvbSBnZXRfc2xpY2UgdGhyb3dzIGxpc3QgKENBU1NBTkRSQS01MTgpCiAqIGZpeCBnZXQgKG5vdCBnZXRfc2xpY2UpIG9mIGVudGlyZSBzdXBlcmNvbHVtbiAoQ0FTU0FORFJBLTUwOCkKICogZml4IG51bGwgdG9rZW4gZHVyaW5nIGJvb3RzdHJhcCAoQ0FTUxv8hosAB2cRg2ghogAAAU/ePLJcABAqIGltcHJvdmUgYWJpbGl0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyLAAABAHJlcXVlc3Qgd2l0aCBza2lwTWV0YWRhdGE9ZmFsc2UgcmV0dXJuaW5nIG5vIG1ldGFkYXRhCiAgIChDQVNTQU5EUkEtODA1NCkKICogQWxsb3cgY29uY3VycmVudCB1c2Ugb2YgQ1FMQnVsa091dHB1dEZvcm1hdCAoQ0FTU0FORFJBLTc3NzYpCiAqIFNodXRkb3duIEpWTSBvbiBPT00gKENBU1NBTkRSQS03NTA3KQogKiBVcGdyYWRlIG5ldHR5IHZlcnNpb24gYW5kIGVuYWJsZSBlcG9sbCBldmVudCBsb29wIChDQVNTQU5EUkEtNzc2MSkKICogRG9uJ3SnGzjRAAABT948slwAECBpbiBub2RldG9vbCByZXAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILIsAAAEAdCB0byBIYWRvb3AgSW5wdXRGb3JtYXQgKENBU1NBTkRSQS0yOTgxKQogKiBmaXggYnVnIHdoZXJlIGRpcnR5IGNvbW1pdGxvZyBzZWdtZW50cyB3ZXJlIHJlbW92ZWQgKGFuZCBhdm9pZCBrZWVwaW5nIAogICBzZWdtZW50cyB3aXRoIG5vIHBvc3QtZmx1c2ggYWN0aXZpdHkgcGVybWFuZW50bHkgZGlydHkpIChDQVNTQU5EUkEtMjgyOSkKICogZml4IHRocm93aW5nIGV4Y2VwdGlvbiB3aXRoIGJhdGNoIG11dGF0aW9uIG9mIGNvdW50ZXIgc3VwZXIgY2+sv4oAAAFP3jyyXAAQd3JpdGVzIHRvIGJ5cGFzcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsiwAAAQB3cyBzZXJ2aWNlIChDQVNTQU5EUkEtODEzNikKICogRml4IERFU0NSSUJFIFRBQkxFIHdpdGggY3VzdG9tIGluZGV4ZXMgKENBU1NBTkRSQS04MDMxKQogKiBGaXggcmFjZSBpbiBSZWNvdmVyeU1hbmFnZXJUZXN0IChDQVNTQU5EUkEtODE3NikKICogQXZvaWQgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIHdoaWxlIHNvcnRpbmcgc3N0YWJsZXMgaW4KICAgSW5kZXhTdW1tYXJ5TWFuYWdlciAoQ0FTU0FORFJBLTgxODIpCiAqIFNodXRkb3duIEpWTSBvRkIUTwAAAU/ePLJcABBBTkRSQS02ODQxKQogKiBGAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyLAAABAHZlZCBlbnRyeSBpcyBubyBsb25nZXIgdmFsaWQgKENBU1NBTkRSQS01NzA2KQogKiBGaXggc2VyaWFsaXphdGlvbiBvZiB0aGUgTEVGVCBnb3NzaXAgdmFsdWUgKENBU1NBTkRSQS01Njk2KQogKiBjcWxzaDogRG9uJ3Qgc2hvdyAnbnVsbCcgaW4gcGxhY2Ugb2YgZW1wdHkgdmFsdWVzIChDQVNTQU5EUkEtNTY3NSkKICogUmFjZSBjb25kaXRpb24gaW4gZGV0ZWN0aW5nIHZlcnNpb24gb24gYSBtaXhlZCAxLjEvMS4yIGNsdXN0ZXIKICAgKENBU1NBTkSIT3DgAAABT948slwAEGZpbGUgbW9kZSAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILIsAAAEARFJBLTI1NTMpCiAgIC0gdGltZXN0YW1wIHN1cHBvcnQgZm9yIElOU0VSVCwgVVBEQVRFLCBhbmQgQkFUQ0ggKENBU1NBTkRSQS0yNTU1KQogICAtIFRUTCBzdXBwb3J0IChDQVNTQU5EUkEtMjQ3NikKICAgLSBjb3VudGVyIHN1cHBvcnQgKENBU1NBTkRSQS0yNDczKQogICAtIEFMVEVSIENPTFVNTkZBTUlMWSAoQ0FTU0FORFJBLTE3MDkpCiAgIC0gRFJPUCBJTkRFWCAoQ0FTU0FORFJBLTI2MTcpCiAgIC0gYWRkIFNDSEVNQS9UQUJMRSBhcyBhbGlhc0sG81EAAAFP3jyyXAAQbWF4L21pbiB0aW1lc3RhbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsiwAAAQBlZ21lbnRzIGZvciByZXBsYXkgYnkgaWQgaW5zdGVhZCBvZiBtdGltZSAoQ0FTU0FORFJBLTQ3OTMpCiAqIE1ha2UgaGludCBkZWxpdmVyeSBhc3luY2hyb25vdXMgKENBU1NBTkRSQS00NzYxKQogKiBQbHVnZ2FibGUgVGhyaWZ0IHRyYW5zcG9ydCBmYWN0b3JpZXMgZm9yIENMSSBhbmQgY3Fsc2ggKENBU1NBTkRSQS00NjA5LCA0NjEwKQogKiBjYXNzYW5kcmEtY2xpOiBhbGxvdyBEb3VibGUgdmFsdWUgdHlwZSB0byBiZSBpbnNlcnRlZCB0byBhIGNv66y0zwAAAU/ePLJcABB0cmF0ZWd5LCBEYXRhY2VuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyLAAABAFJBLTEwMjQpCiAqIG1ha2UgcmVzb2x2aW5nIHRpbWVzdGFtcCB0aWVzIGRldGVybWluaXN0aWMgYnkgdXNpbmcgdmFsdWUgYnl0ZXMKICAgYXMgYSB0aWVicmVha2VyIChDQVNTQU5EUkEtMTAzOSkKICogQWRkIG9wdGlvbiB0byB0dXJuIG9mZiBIaW50ZWQgSGFuZG9mZiAoQ0FTU0FORFJBLTg5NCkKICogZml4IHdpbmRvd3Mgc3RhcnR1cCAoQ0FTU0FORFJBLTk0OCkKICogbWFrZSBjb25jdXJyZW50X3JlYWRzLCBjb25jdXJyZW50X3dyaXRlcyBjb25zxPQ7AAABT948slwAEFNBTkRSQS02NDgpCiAqIFYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILIsAAAEAIHRvIGxpc3QgcGFydGl0aW9uIGtleXMgKENBU1NBTkRSQS00NTM2KQogKiBJbXByb3ZlIG5hdGl2ZSBwcm90b2NvbCBzZXJpYWxpemF0aW9uIChDQVNTQU5EUkEtNTY2NCkKICogVXBncmFkZSBUaHJpZnQgdG8gMC45LjEgKENBU1NBTkRSQS01OTIzKQogKiBSZXF1aXJlIHN1cGVydXNlciBzdGF0dXMgZm9yIGFkZGluZyB0cmlnZ2VycyAoQ0FTU0FORFJBLTU5NjMpCiAqIE1ha2Ugc3RhbmRhbG9uZSBzY3J1YmJlciBoYW5kbGUgb2xkIGFuZCBuZXcgcwQhd6AAAAFP3jyyXAAQdGUgYmV0d2VlbiByZXN0YQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsiwAAAQBkIGJhdGNoX2luc2VydCBhbmQgZ2V0X3JhbmdlX3NsaWNlIG1ldGhvZHMgKENBU1NBTkRSQS0xMDY1KQogKiBhZGQgdHJ1bmNhdGUgdGhyaWZ0IG1ldGhvZCAoQ0FTU0FORFJBLTUzMSkKICogaHR0cCBtaW5pLWludGVyZmFjZSB1c2luZyBteDRqIChDQVNTQU5EUkEtMTA2OCkKICogb3B0aW1pemUgYXdheSBjb3B5IG9mIHNsaWNlZCByb3cgb24gbWVtdGFibGUgcmVhZCBwYXRoIChDQVNTQU5EUkEtMTA0NikKICogcmVwbGFjZSBjb25zdGFudC1zaXplnAqRVwAAAU/ePLJcABBjb21wYWN0aW9uIGRpcmVjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyLAAABAFNBTkRSQS03NjY0KQogKiBGaXggUFJTSSBoYW5kbGluZyBvZiBDUUwzIHJvdyBtYXJrZXJzIGZvciByb3cgY2xlYW51cCAoQ0FTU0FORFJBLTc3ODcpCiAqIEZpeCBkcm9wcGluZyBjb2xsZWN0aW9uIHdoZW4gaXQncyB0aGUgbGFzdCByZWd1bGFyIGNvbHVtbiAoQ0FTU0FORFJBLTc3NDQpCiAqIFByb3Blcmx5IHJlamVjdCBvcGVyYXRpb25zIG9uIGxpc3QgaW5kZXggd2l0aCBjb25kaXRpb25zIChDQVNTQU5EUkEtNzQ5OSkKICogTWFrZSBTdHJlYW0SgMUpAAABT948slwAEFJBLTM1MTQpCiAqIGF2b2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILIsAAAEAcm1pbmluZyBjbG9zZXN0IG5laWdoYm9yIGZvciB1c2UgaW4gbXVsdGlwbGUgZGF0YWNlbnRlcnMKICAgKENBU1NBTkRSQS02NDgpCiAqIFZhc3QgaW1wcm92ZW1lbnRzIGluIGFudGljb21wYWN0aW9uIHNwZWVkIChDQVNTQU5EUkEtNjA3KQogKiBTcGVlZCB1cCBsb2cgcmVwbGF5IGFuZCB3cml0ZXMgYnkgYXZvaWRpbmcgcmVkdW5kYW50IHNlcmlhbGl6YXRpb25zCiAgIChDQVNTQU5EUkEtNjUyKQoKCjAuNS4wIGJldGEgMgogKiBCb290c3RyYXAgaTHUU+cAAAFP3jyyXAAQcmllcyB0byB1c2UgQXJyYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsiwAAAQAgdG8KICAgbG9nNGotc2VydmVyLnByb3BlcnRpZXMsIHdoaWNoIG11c3Qgbm93IGJlIGxvYWRlZCBmcm9tCiAgIHRoZSBjbGFzc3BhdGggKHdoaWNoIGlzIGhvdyBvdXIgc2NyaXB0cyBpbiBiaW4vIGhhdmUgYWx3YXlzIGRvbmUgaXQpCiAgIChDQVNTQU5EUkEtOTcxKQogKiBjaGFuZ2UgZ2V0X2NvdW50IHRvIHJlcXVpcmUgYSBTbGljZVByZWRpY2F0ZS4gY3JlYXRlIG11bHRpX2dldF9jb3VudAogICAoQ0FTU0FORFJBLTc0NCkKICogcmUtb3JnYW5pL9PEGAAAAU/ePLJcABBvcmNlIHRoZW0gZG93bgogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyLAAABAFJhY2tBd2FyZVN0cmF0ZWd5IHRvIE9sZE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5LCBSYWNrVW5hd2FyZVN0cmF0ZWd5IAogICB0byBTaW1wbGVTdHJhdGVneSwgRGF0YWNlbnRlclNoYXJkU3RyYXRlZ3kgdG8gTmV0d29ya1RvcG9sb2d5U3RyYXRlZ3ksCiAgIEFic3RyYWN0UmFja0F3YXJlU25pdGNoIHRvIEFic3RyYWN0TmV0d29ya1RvcG9sb2d5U25pdGNoIChDQVNTQU5EUkEtMTM5MikKICogbWVyZ2UgU3RvcmFnZVByb3h5Lm11dGF0ZSwgbXV0YXQ0fp2HAAABT948slwAEGFibGUgZmlsZXMgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILIsAAAEAcHJlLTEuMi41IHNzdGFibGVzIGFuZCBuZXR3b3JrIG1lc3NhZ2VzCiAgIChDQVNTQU5EUkEtNTUxMSkKICogcmVtb3ZlZCBQQlNQcmVkaWN0b3IgKENBU1NBTkRSQS01NDU1KQogKiBDQVMgc3VwcG9ydCAoQ0FTU0FORFJBLTUwNjIsIDU0NDEsIDU0NDIsIDU0NDMsIDU2MTksIDU2NjcpCiAqIExldmVsZWQgY29tcGFjdGlvbiBwZXJmb3JtcyBzaXplLXRpZXJlZCBjb21wYWN0aW9ucyBpbiBMMCAKICAgKENBU1NBTkRSQS01MzcxLCA1NDM5KQogKiBBZECZBusAAAFP3jyyXAAQaW50ZXJFeGNlcHRpb24gdwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsiwAAAQBBTkRSQS01ODUyKQoKCjIuMC4wCiAqIEZpeCB0aHJpZnQgdmFsaWRhdGlvbiB3aGVuIGluc2VydGluZyBpbnRvIENRTDMgdGFibGVzIChDQVNTQU5EUkEtNTEzOCkKICogRml4IHBlcmlvZGljIG1lbXRhYmxlIGZsdXNoaW5nIGJlaGF2aW9yIHdpdGggY2xlYW4gbWVtdGFibGVzIChDQVNTQU5EUkEtNTkzMSkKICogRml4IGRhdGVPZigpIGZ1bmN0aW9uIGZvciBwcmUtMi4wIHRpbWVzdGFtcCBjb2x1bW5zIChDQVNTQU5EUkEtNTkyOCkKICogRml4IFNTGhcMKgAHe26H5bRzAAABT948slwAECByZXBsaWNhdGlvbiBzdHIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILI0AAAEAQ0FTU0FORFJBLTcwMzEpCiAqIEFkZCByYW5nZSB0b21ic3RvbmVzIHRvIHJlYWQgcmVwYWlyIGRpZ2VzdHMgKENBU1NBTkRSQS02ODYzKQogKiBGaXggQlRyZWUuY2xlYXIgZm9yIGxhcmdlIHVwZGF0ZXMgKENBU1NBTkRSQS02OTQzKQogKiBGYWlsIHdyaXRlIGluc3RlYWQgb2YgbG9nZ2luZyBhIHdhcm5pbmcgd2hlbiB1bmFibGUgdG8gYXBwZW5kIHRvIENMCiAgIChDQVNTQU5EUkEtNjc2NCkKICogRWxpbWluYXRlIHBvc3NpYmlsaXR5IG9mIENMIK83VF0AAAFP3jyyXAAQIChDQVNTQU5EUkEtNDQwMwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsjQAAAQAoQ0FTU0FORFJBLTg2ODUpCiAqIERvbid0IHVzZSB0aGUgc2hhcmVkIHJlZiBpbiBzc3RhYmxlbG9hZGVyIChDQVNTQU5EUkEtODcwNCkKICogUHVyZ2UgaW50ZXJuYWwgcHJlcGFyZWQgc3RhdGVtZW50cyBpZiByZWxhdGVkIHRhYmxlcyBvcgogICBrZXlzcGFjZXMgYXJlIGRyb3BwZWQgKENBU1NBTkRSQS04NjkzKQogKiAoY3Fsc2gpIEhhbmRsZSB1bmljb2RlIEJPTSBhdCBzdGFydCBvZiBmaWxlcyAoQ0FTU0FORFJBLTg2MzgpCiAqIFN0b3AgY29txaStfAAAAU/ePLJcABB5IChDQVNTQU5EUkEtNTIzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyNAAABACAgdG8gYWxsb3cgIndhcm0gc3BhcmUiIG5vZGVzIG9yIHBlcmZvcm1pbmcgSk1YIG1haW50ZW5hbmNlIGJlZm9yZQogICBqb2luaW5nIHRoZSByaW5nIChDQVNTQU5EUkEtNTI2KQogKiBsb2cgbWlncmF0aW9ucyBhdCBJTkZPIChDQVNTQU5EUkEtMjAyOCkKICogYWRkIENMSSB2ZXJib3NlIG9wdGlvbiBpbiBmaWxlIG1vZGUgKENBU1NBTkRSQS0yMDMwKQogKiBhZGQgc2luZ2xlLWxpbmUgIi0tIiBjb21tZW50cyB0byBDTEkgKENBU1NBTkRSQS0yMDOSzA61AAABT948slwAEFVNRSBjb21tYW5kIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILI0AAAEAbWJzdG9uZSBoYW5kbGluZyBpbiBzc3RhYmxlIHJvd3Mgd2l0aCBubyBvdGhlciBkYXRhIChDQVNTQU5EUkEtMTA2MykKICogZml4IHNpemUgb2Ygcm93IGluIHNwYW5uZWQgaW5kZXggZW50cmllcyAoQ0FTU0FORFJBLTEwNTYpCiAqIGluc3RhbGwganNvbjJzc3RhYmxlLCBzc3RhYmxlMmpzb24sIGFuZCBzc3RhYmxla2V5cyB0byBEZWJpYW4gcGFja2FnZQogKiBTdHJlYW1pbmdTZXJ2aWNlLlN0cmVhbURlc3RpbmF0aW9ucyB3b3VsZG4ndCBlbXB0eYT4V5UAAAFP3jyyXAAQKENBU1NBTkRSQS02ODM4KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsjQAAAQB3aGl0ZXNwYWNlCiAgIChDQVNTQU5EUkEtMjIzNykKICogYWRkIFtnZXR8c2V0XVtyb3d8a2V5XWNhY2hlU2F2ZVBlcmlvZCB0byBKTVggKENBU1NBTkRSQS0yMTAwKQogKiBmaXggSGFkb29wIENvbHVtbkZhbWlseU91dHB1dEZvcm1hdCBkcm9wcGluZyBvZiBtdXRhdGlvbnMKICAgd2hlbiBiYXRjaCBmaWxscyB1cCAoQ0FTU0FORFJBLTIyNTUpCiAqIG1vdmUgZmlsZSBkZWxldGlvbnMgb2ZmIG9mIHNjaGVkdWxlZHRhc2tzIGV4ZWN1dG9yIChDQVNTn43/cwAAAU/ePLJcABAqIChjcWwzKSBSZWZ1c2UgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyNAAABAG5jaG1hcmtpbmcgdG9vbCBpbXByb3ZlbWVudHMgKHNldmVyYWwgdGlja2V0cykKICogb3B0aW1pemVkIHJlcGxpY2EgcGxhY2VtZW50IGNvZGUgKENBU1NBTkRSQS01MjUpCiAqIGZhc3RlciBsb2cgcmVwbGF5IG9uIHJlc3RhcnQgKENBU1NBTkRSQS01MzksIENBU1NBTkRSQS01NDApCiAqIG9wdGltaXplZCBsb2NhbC1ub2RlIHdyaXRlcyAoQ0FTU0FORFJBLTU1OCkKICogYWRkZWQgZ2V0X3JhbmdlX3NsaWNlLCBkZXByZWNhdGluZyBnZXRfa2V5X3JCtyeHAAABT948slwAEHIgc3lzdGVtIGtleXNwYWMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILI0AAAEAaW9uIHN1cHBvcnQgdG8gc2h1ZmZsZSAoQ0FTU0FORFJBLTY0ODQpCiAqIFN3YXAgbG9jYWwgYW5kIGdsb2JhbCBkZWZhdWx0IHJlYWQgcmVwYWlyIGNoYW5jZXMgKENBU1NBTkRSQS03MzIwKQogKiBBZGQgY29uZGl0aW9uYWwgQ1JFQVRFL0RST1AgVVNFUiBzdXBwb3J0IChDQVNTQU5EUkEtNzI2NCkKICogQ3Fsc2ggY291bnRzIG5vbi1lbXB0eSBsaW5lcyBmb3IgIkJsYW5rIGxpbmVzIiB3YXJuaW5nIChDQVNTQU5EUkEtNzMyNSkKTWVyZ2VkIGZyb5ypSBcAAAFP3jyyXAAQYW1lIHRvIFJvd0NhY2hlUAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsjQAAAQBuZCBmb3IgbmV0dHkgaXNzdWUgY2F1c2luZyBjb3JydXB0ZWQgZGF0YSBvZmYgdGhlIHdpcmUgKENBU1NBTkRSQS03Njk1KQogKiBjcWxzaCBERVNDIENMVVNURVIgZmFpbHMgcmV0cmlldmluZyByaW5nIGluZm9ybWF0aW9uIChDQVNTQU5EUkEtNzY4NykKICogRml4IGJpbmRpbmcgbnVsbCB2YWx1ZXMgaW5zaWRlIFVEVCAoQ0FTU0FORFJBLTc2ODUpCiAqIEZpeCBVRFQgZmllbGQgc2VsZWN0aW9uIHdpdGggZW1wdHkgZmllbGRzIChDQVNTQU5EUkEtJhTWQAAAAU/ePLJcABAgbXVsdGlwbGUgQ0ZzIGR1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyNAAABAGF0ZSBzZXJpYWxpemF0aW9uIGluc2lkZSBIYWRvb3Agam9icyAoQ0FTU0FORFJBLTEwNDkpCiAqIGNsb3NlIFRocmlmdCBzb2NrZXRzIGluIEhhZG9vcCBDb2x1bW5GYW1pbHlSZWNvcmRSZWFkZXIgKENBU1NBTkRSQS0xMDgxKQoKCjAuNi4xCiAqIGZpeCBOUEUgaW4gc3N0YWJsZTJqc29uIHdoZW4gbm8gZXhjbHVkZWQga2V5cyBhcmUgZ2l2ZW4gKENBU1NBTkRSQS05MzQpCiAqIGtlZXAgdGhlIHJlcGxpY2Egc2V0IGNvbnN0YW50IHRocm91Z2hvdXTfD8ZSAAABT948slwAECAoQ0FTU0FORFJBLTEyOTcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILI0AAAEARFJBLTE0NTkpCgoKMC43LjAtZmluYWwKICogZml4IG9mZnNldHMgdG8gQnl0ZUJ1ZmZlci5nZXQgKENBU1NBTkRSQS0xOTM5KQoKCjAuNy4wLXJjNAogKiBmaXggY2xpIGNyYXNoIGFmdGVyIGJhY2tncm91bmRpbmcgKENBU1NBTkRSQS0xODc1KQogKiBjb3VudCB0aW1lb3V0cyBpbiBzdG9yYWdlcHJveHkgbGF0ZW5jaWVzLCBhbmQgaW5jbHVkZSBsYXRlbmN5IAogICBoaXN0b2dyYW1zIGluIFN0b3JhZ2VQcm94eU1CZWFuIChDQVNTQU5EUkEtMTg5MzRo5HoAAAFP3jyyXAAQZCAoQ0FTU0FORFJBLTU3OAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsjQAAAQAgZXZlbiBpZiByb3cgaXMgaW4gb25seSBvbmUgc3N0YWJsZSAoQ0FTU0FORFJBLTI4MDEpCiAqIEZpeCB3cm9uZyBwdXJnZSBvZiBkZWxldGVkIGNmIGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtMjc4NikKICogZml4IHJhY2UgdGhhdCBjb3VsZCByZXN1bHQgaW4gSGFkb29wIHdyaXRlciBmYWlsaW5nIHRvIHRocm93IGFuCiAgIGV4Y2VwdGlvbiBlbmNvdW50ZXJlZCBhZnRlciBjbG9zZSgpIChDQVNTQU5EUkEtMjc1NSkKICogZml4IHNjYW4gB9bbbwAAAU/ePLJcABBuIHRoZSB3cm9uZyBsZXZlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyNAAABAEEtNDI0OSkKICogY2FsY3VsYXRlIGV4YWN0IHNpemUgcmVxdWlyZWQgZm9yIGNsZWFudXAgb3BlcmF0aW9ucyAoQ0FTU0FORFJBLTE0MDQpCiAqIGF2b2lkIGJsb2NraW5nIGFkZGl0aW9uYWwgd3JpdGVzIGR1cmluZyBmbHVzaCB3aGVuIHRoZSBjb21taXRsb2cKICAgZ2V0cyBiZWhpbmQgdGVtcG9yYXJpbHkgKENBU1NBTkRSQS0xOTkxKQogKiBlbmFibGUgY2FjaGluZyBvbiBpbmRleCBDRnMgYmFzZWQgb24gZGF0YSBDRiBjYWNoZSBzZXR0aW5nICjl+Hx2AAABT948slwAEGV0LCBhbmQgcmVzcGVjdCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILI0AAAEAbiB0aGV5IGhhdmUKICAgc3VjY2Vzc2Z1bGx5IGFjcXVpcmVkIHRoZSBjb21wYWN0aW9uIGxvY2sgKENBU1NBTkRSQS0zMzQ0KQogKiBEaXNwbGF5IENMSSB2ZXJzaW9uIHN0cmluZyBvbiBzdGFydHVwIChDQVNTQU5EUkEtMzE5NikKICogKEhhZG9vcCkgbWFrZSBDRklGIHRyeSBycGNfYWRkcmVzcyBvciBmYWxsYmFjayB0byBsaXN0ZW5fYWRkcmVzcwogICAoQ0FTU0FORFJBLTMyMTQpCiAqIChIYWRvb3ApIGFjY2VwdCBjb21tYSBkZWxpbWl0ZWQgbJhJKWwAAAFP3jyyXAAQNDUpCiAqIEFsbG93IGVtcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsjQAAAQB0YWluIHJlZmVyZW5jZSB0byBQZW5kaW5nRmlsZSBzc3RhYmxlcyAoQ0FTU0FORFJBLTE3NDkpCiAqIGZpeCBzc3RhYmxlaW1wb3J0IHJlZ3Jlc3Npb24gKENBU1NBTkRSQS0xNzUzKQogKiBmaXggZm9yIGJvb3RzdHJhcCB3aGVuIG5vIG5vbi1zeXN0ZW0gdGFibGVzIGFyZSBkZWZpbmVkIChDQVNTQU5EUkEtMTczMikKICogaGFuZGxlIHJlcGxpY2EgdW5hdmFpbGFiaWxpdHkgaW4gaW5kZXggc2NhbiAoQ0FTU0FORFJBLTE3NTUpCiAqIGZpeCBzZXJ2khDenQAAAU/ePLJcABBTU0FORFJBLTI4NjgpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyNAAABACBzaXplIChDQVNTQU5EUkEtNDU3MykKICogRml4IChzb21lKSAyaSBvbiBjb21wb3NpdGUgY29tcG9uZW50cyBvbWlzc2lvbnMgKENBU1NBTkRSQS01ODUxKQogKiBjcWxzaDogYWRkIERFU0NSSUJFIEZVTEwgU0NIRU1BIHZhcmlhbnQgKENBU1NBTkRSQS01ODgwKQpNZXJnZWQgZnJvbSAxLjI6CiAqIENvcnJlY3RseSB2YWxpZGF0ZSBzcGFyc2UgY29tcG9zaXRlIGNlbGxzIGluIHNjcnViIChDQVNTQU5EUkEtNTg1NSkKICogQWRkIEtleUNhY2hlSGke/mtfAAePy6EohYMAAAFP3jyyXAAQb3IgY29tcGFjdGlvbiBhbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgskAAAAQBvcm1hbGx5IHNsb3cgdGFza3MgKENBU1NBTkRSQS02MzM4KQogKiBGaXggdHJ5aW5nIHRvIGhpbnQgdGltZWQgb3V0IGNvdW50ZXIgd3JpdGVzIChDQVNTQU5EUkEtNjMyMikKICogQWxsb3cgcmVzdG9yaW5nIHNwZWNpZmljIGNvbHVtbmZhbWlsaWVzIGZyb20gYXJjaGl2ZWQgQ0wgKENBU1NBTkRSQS00ODA5KQogKiBBdm9pZCBmbHVzaGluZyBjb21wYWN0aW9uX2hpc3RvcnkgYWZ0ZXIgZWFjaCBvcGVyYXRpb24gKENBU1NBTkRSQS02Mjg3KQogKiBGxWpgoAAAAU/ePLJcABA1KQogKiBhbGxvdyBsYXJnAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyQAAABAHRzIChDQVNTQU5EUkEtODg4NikKICogSW5kZXhTdW1tYXJ5QnVpbGRlciB1dGlsaXNlcyBvZmZoZWFwIG1lbW9yeSwgYW5kIHNoYXJlcyBkYXRhIGJldHdlZW4KICAgZWFjaCBJbmRleFN1bW1hcnkgb3BlbmVkIGZyb20gaXQgKENBU1NBTkRSQS04NzU3KQogKiBtYXJrQ29tcGFjdGluZyBvbmx5IHN1Y2NlZWRzIGlmIHRoZSBleGFjdCBTU1RhYmxlUmVhZGVyIGluc3RhbmNlcyBiZWluZyAKICAgbWFya2VkIGFyZSBpbiB0aGUgbGl2ZSBzZXQgKENBU1MTMPk4AAABT948slwAEFNTQU5EUkEtNDEyOSkKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJAAAAEAdGltaXplIGlubmVyIHJlYWQgaW4gTWVzc2FnaW5nU2VydmljZSwgdmFzdGx5IGltcHJvdmluZyBtdWx0aXBsZS1ub2RlCiAgIHBlcmZvcm1hbmNlIChDQVNTQU5EUkEtNjc1KQogKiB3YWl0IGZvciB0YWJsZSBmbHVzaCBiZWZvcmUgc3RyZWFtaW5nIGRhdGEgYmFjayB0byBhIGJvb3RzdHJhcHBpbmcgbm9kZS4KICAgKENBU1NBTkRSQS02OTYpCiAqIGtlZXAgdHJhY2sgb2YgYm9vdHN0cmFwcGluZyBzb3VyY2VzIGJ5IHRhYmxlIHNvIHRoYXQgYm9vdBp1fk0AAAFP3jyyXAAQTG9nIGEgd2FybmluZyBmbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgskAAAAQBscyAoQ0FTU0FORFJBLTM1NDgpCiAqIGZpeCBkZWZhdWx0IHZhbHVlIHZhbGlkYXRpb24gdXNhZ2UgaW4gQ0xJIFNFVCBjb21tYW5kIChDQVNTQU5EUkEtMzU1MykKICogT3B0aW1pemUgY29tcG9uZW50c0ZvciBtZXRob2QgZm9yIGNvbXBhY3Rpb24gYW5kIHN0YXJ0dXAgdGltZQogICAoQ0FTU0FORFJBLTM1MzIpCiAqIChDUUwpIFByb3BlciBDb2x1bW5GYW1pbHkgbWV0YWRhdGEgdmFsaWRhdGlvbiBvbiBDUkVBVEUgQ09MVU1ORkFNSUxZIAogICAo1oN2+QAAAU/ePLJcABBhZ2VzIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyQAAABAGVyYnMgKENBU1NBTkRSQS01MzkzKQogKiBVc2UgYWxsb2NhdG9yIGluZm9ybWF0aW9uIHRvIGltcHJvdmUgbWVtdGFibGUgbWVtb3J5IHVzYWdlIGVzdGltYXRlCiAgIChDQVNTQU5EUkEtNTQ5NykKICogRml4IHRyeWluZyB0byBsb2FkIGRlbGV0ZWQgcm93IGludG8gcm93IGNhY2hlIG9uIHN0YXJ0dXAgKENBU1NBTkRSQS00NDYzKQogKiBmc3luYyBsZXZlbGVkIG1hbmlmZXN0IHRvIGF2b2lkIGNvcnJ1cHRpb24gKENBU1NBTkRSQS01NTM1KQogKiCu4pWAAAABT948slwAEHBpbmcgbGV2ZWxlZCBzc3QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJAAAAEAZV9zbGljZSAoQ0FTU0FORFJBLTQ4MDQpCiAqIFJlbW92ZSBhbGwgcmVtbmFudHMgb2YgcmVtb3ZlZCBub2RlcyAoQ0FTU0FORFJBLTQ4NDApCiAqIEFkZCBhdXQtcmVsb2FkaW5nIG9mIHRoZSBsb2c0aiBmaWxlIGluIGRlYmlhbiBwYWNrYWdlIChDQVNTQU5EUkEtNDg1NSkKICogRml4IGVzdGltYXRlZCByb3cgY2FjaGUgZW50cnkgc2l6ZSAoQ0FTU0FORFJBLTQ4NjApCiAqIHJlc2V0IGdldFJhbmdlU2xpY2UgZmlsdGVyIGFmdGVyIGZpbmlzaGluZ9tEUooAAAFP3jyyXAAQQ0FTU0FORFJBLTQ0NTUpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgskAAAAQBybGFwIHdpdGggZWFybHkgY29tcGFjdGlvbiByZXBsYWNlbWVudCAoQ0FTU0FORFJBLTg2ODMpCiAqIFNhZmVyIFJlc291cmNlIE1hbmFnZW1lbnQrKyAoQ0FTU0FORFJBLTg3MDcpCiAqIFdyaXRlIHBhcnRpdGlvbiBzaXplIGVzdGltYXRlcyBpbnRvIGEgc3lzdGVtIHRhYmxlIChDQVNTQU5EUkEtNzY4OCkKICogY3Fsc2g6IEZpeCBrZXlzKCkgYW5kIGZ1bGwoKSBjb2xsZWN0aW9uIGluZGV4ZXMgaW4gREVTQ1JJQkUgb3V0cHV0CiAgIChDQVNTQU5ER1A8zAAAAU/ePLJcABBTU0FORFJBLTkxOTgpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyQAAABACogRml4ZXMgZm9yIExldmVsZWRDb21wYWN0aW9uU3RyYXRlZ3kgc2NvcmUgY29tcHV0YXRpb24sIHByaW9yaXRpemF0aW9uLAogICBzY2hlZHVsaW5nLCBhbmQgcGVyZm9ybWFuY2UgKENBU1NBTkRSQS0zMjI0LCAzMjM0KQogKiBwYXJhbGxlbGl6ZSBzc3RhYmxlIG9wZW4gYXQgc2VydmVyIHN0YXJ0dXAgKENBU1NBTkRSQS0yOTg4KQogKiBmaXggaGFuZGxpbmcgb2YgZXhjZXB0aW9ucyB3cml0aW5nIHRvIE91dGJvdW5kVGNwQ29ubmVjdGlvbiAoQ0Fc9ufDAAABT948slwAEGZlcmVkUmFuZG9tQWNjZXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJAAAAEAcmFkZSAoQ0FTU0FORFJBLTY3MDIpCiAqIEluY2x1ZGUga2V5c3BhY2UgYW5kIHRhYmxlIG5hbWUgaW4gZXJyb3IgbG9nIGZvciBjb2xsZWN0aW9ucyBvdmVyIHRoZSBzaXplCiAgIGxpbWl0IChDQVNTQU5EUkEtOTI4NikKICogQXZvaWQgcG90ZW50aWFsIG92ZXJsYXAgaW4gTENTIHdpdGggc2luZ2xlLXBhcnRpdGlvbiBzc3RhYmxlcyAoQ0FTU0FORFJBLTkzMjIpCiAqIExvZyB3YXJuaW5nIG1lc3NhZ2Ugd2hlbiBhIHRhYmxlIGlzIHF1ZXJpZWQgYrc33loAAAFP3jyyXAAQbWUvcGFzc3dvcmQgYXV0aAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgskAAAAQAKTWVyZ2VkIGZyb20gMi4wOgogKiBGb3JiaWQgcmUtYWRkaW5nIGRyb3BwZWQgY291bnRlciBjb2x1bW5zIChDQVNTQU5EUkEtNzgzMSkKICogRml4IENGTWV0YURhdGEjaXNUaHJpZnRDb21wYXRpYmxlKCkgZm9yIFBLLW9ubHkgdGFibGVzIChDQVNTQU5EUkEtNzgzMikKICogQWx3YXlzIHJlamVjdCBpbmVxdWFsaXR5IG9uIHRoZSBwYXJ0aXRpb24ga2V5IHdpdGhvdXQgdG9rZW4oKQogICAoQ0FTU0FORFJBLTc3MjIpCiAqIEFsd2F5cyBzZW5kIFBh7YHMagAAAU/ePLJcABBBTkRSQS02ODIwKQogKiBGAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyQAAABAGluIEhpbnRlZEhhbmRvZmZNYW5hZ2VyLCBTeXN0ZW1UYWJsZSB3aGVuIGRlZmF1bHQKICAgY2hhcnNldCBpcyBub3QgVVRGOCAoQ0FTU0FORFJBLTIzNjcpCiAqIGF2b2lkcyBoYXZpbmcgcmVtb3ZlZCBub2RlIHJlYXBwZWFyaW5nIGluIEdvc3NpcCAoQ0FTU0FORFJBLTIzNzEpCiAqIGZpeCBpbmNvcnJlY3QgdHJ1bmNhdGlvbiBvZiBsb25nIHRvIGludCB3aGVuIHJlYWRpbmcgY29sdW1ucyB2aWEgYmxvY2sKICAgaW5kZXggKENBU1NBTkRSQS0yMzfCF7CKAAABT948slwAECBvcHRpb24gKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJAAAAEAZSBza2lwcGluZyBpbnRvIHJvdyBwcmVoZWF0aW5nIChkaXNhYmxlZCBieSBkZWZhdWx0KQogICAoQ0FTU0FORFJBLTQ5MzcpCiAqIEltcHJvdmUgcmVwYWlyIGJ5IGRlY2lkaW5nIG9uIGEgZ2NCZWZvcmUgYmVmb3JlIHNlbmRpbmcKICAgb3V0IFRyZWVSZXF1ZXN0cyAoQ0FTU0FORFJBLTQ5MzIpCiAqIEFkZCBhbiBvZmZpY2lhbCB3YXkgdG8gZGlzYWJsZSBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTUwNzQpCiAqIFJlZW5hYmxlIEFMVEVSIFRBQkxFICVt964AAAFP3jyyXAAQQ1FMIG1lbXRhYmxlIHBybwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgskAAAAQBGaXggd3JvbmcgcHJvZ3Jlc3Mgd2hlbiBzdHJlYW1pbmcgdW5jb21wcmVzc2VkIChDQVNTQU5EUkEtNzg3OCkKICogRml4IHBvc3NpYmxlIGluZmluaXRlIGxvb3AgaW4gY3JlYXRpbmcgcmVwYWlyIHJhbmdlIChDQVNTQU5EUkEtNzk4MykKICogRml4IHVuaXQgaW4gbm9kZXRvb2wgZm9yIHN0cmVhbWluZyB0aHJvdWdocHV0IChDQVNTQU5EUkEtNzM3NSkKTWVyZ2VkIGZyb20gMS4yOgogKiBEb24ndCBpbmRleCB0b21ic3RvbmVzIChDQVNTQU5EUkEtK/d6jAAAAU/ePLJcABAgKENBU1NBTkRSQS0yODA0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyQAAABAHRsb2cgc2VnbWVudCBpcyBlbmNvdW50ZXJlZCAoQ0FTU0FORFJBLTEyOTcpCiAqIGZpeCBkdXBsaWNhdGUgcm93cyBiZWluZyByZWFkIGR1cmluZyBtYXByZWR1Y2UgKENBU1NBTkRSQS0xMTQyKQogKiBmYWlsdXJlIGRldGVjdGlvbiB3YXNuJ3QgY2xvc2luZyBjb21tYW5kIHNvY2tldHMgKENBU1NBTkRSQS0xMjIxKQogKiBjYXNzYW5kcmEtY2xpLmJhdCB3b3JrcyBvbiB3aW5kb3dzIChDQVNTQU5EUkEtMTIzNikKICogcHJlLWVtcHRpdmVseSBkcm8SDV2dAAABT948slwAEDApCiAqIEZpeCBJbGxlZ2EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJAAAAEAZXNzZWQgc3N0YWJsZSBjaGVja3N1bXMgKENBU1NBTkRSQS01ODYyKQogKiBJbXByb3ZlIG9mZmhlYXAgbWVtY3B5IHBlcmZvcm1hbmNlIChDQVNTQU5EUkEtNTg4NCkKICogVXNlIGEgcmFuZ2UgYXdhcmUgc2Nhbm5lciBmb3IgY2xlYW51cCAoQ0FTU0FORFJBLTI1MjQpCiAqIENsZWFudXAgZG9lc24ndCBuZWVkIHRvIGluc3BlY3Qgc3N0YWJsZXMgdGhhdCBjb250YWluIG9ubHkgbG9jYWwgZGF0YQogICAoQ0FTU0FORFJBLTU3MjIpCiAqIEFkZCBhYhhWssYAB6XUd0T2XQAAAU/ePLJcABBocmlmdCB1bmZyYW1lZCBtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCySAAABAHMgKENBU1NBTkRSQS0xMzM3KQogKiBjaGFuZ2UgbG9nZ2luZyBmcm9tIGxvZzRqIHRvIGxvZ2JhY2sgKENBU1NBTkRSQS01ODgzKQogKiBzd2l0Y2ggdG8gTFo0IGNvbXByZXNzaW9uIGZvciBpbnRlcm5vZGUgY29tbXVuaWNhdGlvbiAoQ0FTU0FORFJBLTU4ODcpCiAqIFN0b3AgdXNpbmcgVGhyaWZ0LWdlbmVyYXRlZCBJbmRleCogY2xhc3NlcyBpbnRlcm5hbGx5IChDQVNTQU5EUkEtNTk3MSkKICogUmVtb3ZlIDEuMiBuZXR3b3JrIGNvbXBhdGliaWwQXPvfAAABT948slwAEAogKiBNdWNoIGltcHJvdmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJIAAAEAIFRDUCBtZXNzYWdlcyB3aGlsZSBhdm9pZGluZwogICB0aGUgbmFnbGUvZGVsYXllZCBhY2sgcHJvYmxlbSAoQ0FTU0FORFJBLTE4OTYpCiAqIGNoZWNrIGxvZzRqIGNvbmZpZ3VyYXRpb24gZm9yIGNoYW5nZXMgZXZlcnkgMTBzIChDQVNTQU5EUkEtMTUyNSwgMTkwNykKICogbW9yZS1lZmZpY2llbnQgY3Jvc3MtREMgcmVwbGljYXRpb24gKENBU1NBTkRSQS0xNTMwLCAtMjA1MSwgLTIxMzgpCiAqIGF2b2lkIHBvbGx1dGluZyBwYWdlIGNhY2hlIHdpdDE5VigAAAFP3jyyXAAQb3JyZXNwb25kcyBleGFjdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgskgAAAQA2OCkKICogY3Fsc2g6IGFkZCBzdXBwb3J0IGZvciBtdWx0aWxpbmUgY29tbWVudHMgKENBU1NBTkRSQS01Nzk4KQogKiBIYW5kbGUgQ1FMMyBTRUxFQ1QgZHVwbGljYXRlIElOIHJlc3RyaWN0aW9ucyBvbiBjbHVzdGVyaW5nIGNvbHVtbnMKICAgKENBU1NBTkRSQS01ODU2KQoKCjIuMC4wLXJjMQogKiBpbXByb3ZlIERlY2ltYWxTZXJpYWxpemVyIHBlcmZvcm1hbmNlIChDQVNTQU5EUkEtNTgzNykKICogZml4IHBvdGVudGlhbCBzcHVyaW91cyB3YWtlpx4nIQAAAU/ePLJcABBtIHNlY29uZGFyeSBpbmRlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCySAAABAGFwcGVhcmluZyBpbiBHb3NzaXAgKENBU1NBTkRSQS0yMzcxKQogKiBmaXggaW5jb3JyZWN0IHRydW5jYXRpb24gb2YgbG9uZyB0byBpbnQgd2hlbiByZWFkaW5nIGNvbHVtbnMgdmlhIGJsb2NrCiAgIGluZGV4IChDQVNTQU5EUkEtMjM3NikKICogZml4IE5QRSBkdXJpbmcgc3RyZWFtIHNlc3Npb24gKENBU1NBTkRSQS0yMzc3KQogKiBmaXggcmFjZSBjb25kaXRpb24gdGhhdCBjb3VsZCBsZWF2ZSBvcnBoYW5lZCBkYXRhIGZpbGVzIHdoZW4gZHJvcHCV2NeFAAABT948slwAEDMxOCkKICogY2xlYXIgQnUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJIAAAEAIG5hdGl2ZSBwcm90b2NvbCBzZXJ2ZXIgKENBU1NBTkRSQS02MjM0KQogKiBDaGFuZ2Ugc25hcHNob3QgcmVzcG9uc2UgbWVzc2FnZSB2ZXJiIHRvIElOVEVSTkFMIHRvIGF2b2lkIGRyb3BwaW5nIGl0IAogICAoQ0FTU0FORFJBLTY0MTUpCiAqIFdhcm4gd2hlbiBjb2xsZWN0aW9uIHJlYWQgaGFzID4gNjVLIGVsZW1lbnRzIChDQVNTQU5EUkEtNTQyOCkKICogRml4IGNhY2hlIHBlcnNpc3RlbmNlIHdoZW4gYm90aCByb3cgYW5kIGtleSBjYWNoZSBhcrviPK8AAAFP3jyyXAAQQVNTQU5EUkEtMTIwMikKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgskgAAAQBTQU5EUkEtMjQ4MSkKCgowLjguMC1iZXRhMgogKiBmaXggTlBFIGNvbXBhY3RpbmcgaW5kZXggQ0ZzIChDQVNTQU5EUkEtMjUyOCkKICogUmVtb3ZlIGNoZWNraW5nIGFsbCBjb2x1bW4gZmFtaWxpZXMgb24gc3RhcnR1cCBmb3IgY29tcGFjdGlvbiBjYW5kaWRhdGVzIAogICAoQ0FTU0FORFJBLTI0NDQpCiAqIHZhbGlkYXRlIENRTCBjcmVhdGUga2V5c3BhY2Ugb3B0aW9ucyAoQ0FTU0FORFJBLTI1MjUpCiAqIGZpeCBub2RldG9vbCBzZXRjb21wYWN0Zng6ZQAAAU/ePLJcABBSQS04NDIxKQogKiBFeHBvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCySAAABACB0ZXN0cyAoQ0FTU0FORFJBLTI2NTApCiAqIEFkZCBzc3RhYmxlIGJ1bGsgbG9hZGluZyB1dGlsaXR5IChDQVNTQU5EUkEtMTI3OCkKICogYXZvaWQgcmVwbGF5aW5nIGhpbnRzIHRvIGRyb3BwZWQgY29sdW1uZmFtaWxpZXMgKENBU1NBTkRSQS0yNjg1KQogKiBhZGQgcGxhY2Vob2xkZXJzIGZvciBtaXNzaW5nIHJvd3MgaW4gcmFuZ2UgcXVlcnkgcHNldWRvLVJSIChDQVNTQU5EUkEtMjY4MCkKICogcmVtb3ZlIG5vLW9wIEhIT00ucmVuYW1lSGludHNJKWEeAAABT948slwAEG4gcGFyYWxsZWwgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJIAAAEARFJBLTM1NzEpCiAqIGZpeCBhc3NlcnRpb24gd2hlbiBkcm9wcGluZyBhIGNvbHVtbmZhbWlseSB3aXRoIG5vIHNzdGFibGVzIChDQVNTQU5EUkEtMzYxNCkKICogbW9yZSBlZmZpY2llbnQgYWxsb2NhdGlvbiBvZiBzbWFsbCBibG9vbSBmaWx0ZXJzIChDQVNTQU5EUkEtMzYxOCkKICogQ0xpYnJhcnkuY3JlYXRlSGFyZExpbmtXaXRoRXhlYygpIHRvIGNoZWNrIGZvciBlcnJvcnMgKENBU1NBTkRSQS0zMTAxKQogKiBBdm9pZCBjcmVhdGluZyBlbXB0eTrynCEAAAFP3jyyXAAQb3IgcmVzcG9uc2Ugd2hlbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgskgAAAQByIAogICAoQ0FTU0FORFJBLTU3NTIpCiAqIGFkZCAiYWxsIHRpbWUgYmxvY2tlZCIgdG8gU3RhdHVzTG9nZ2VyIG91dHB1dCAoQ0FTU0FORFJBLTU4MjUpCiAqIEZ1dHVyZS1wcm9vZiBpbnRlci1tYWpvci12ZXJzaW9uIHNjaGVtYSBtaWdyYXRpb25zIChDQVNTQU5EUkEtNTg0NSkKICogKEhhZG9vcCkgYWRkIENxbFBhZ2luZ1JlY29yZFJlYWRlciBzdXBwb3J0IGZvciBSZXZlcnNlZFR5cGUgaW4gVGhyaWZ0IHRhYmxlCiAgIChDQVNTQU5EUkEtNTcxjCyjDwAAAU/ePLJcABAtNTgxNCkKICogY3Fsc2g6AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCySAAABAG4gdGltZXN0YW1wcyBmb3IgcmFuZ2UgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTc2NDcpCiAqIEZpeCBOUEUgd2hlbiBsaXN0aW5nIHNhdmVkIGNhY2hlcyBkaXIgKENBU1NBTkRSQS03NjMyKQoKCjIuMS4wLXJjNAogKiBGaXggd29yZCBjb3VudCBoYWRvb3AgZXhhbXBsZSAoQ0FTU0FORFJBLTcyMDApCiAqIFVwZGF0ZWQgbWVtdGFibGVfY2xlYW51cF90aHJlc2hvbGQgYW5kIG1lbXRhYmxlX2ZsdXNoX3dyaXRlcnMgZGVmYXVsdHMgCiAgIChDQVNTQU5ztsWoAAABT948slwAEG91bnRpbmcgaW4gRmlsZUMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJIAAAEAdGVsaXN0IG1vZGUgZm9yIG5vZGUgY29uZmlnIChDQVNTQU5EUkEtNzY1OCkKICogR0NJbnNwZWN0b3IgbW9yZSBjbG9zZWx5IHRyYWNrcyBHQzsgY2Fzc2FuZHJhLXN0cmVzcyBhbmQgbm9kZXRvb2wgcmVwb3J0IGl0IChDQVNTQU5EUkEtNzkxNikKICogbm9kZXRvb2wgd29uJ3Qgb3V0cHV0IGJvZ3VzIG93bmVyc2hpcCBpbmZvIHdpdGhvdXQgYSBrZXlzcGFjZSAoQ0FTU0FORFJBLTcxNzMpCiAqIEFkZCBodW1hbiByZWFkYWJsZSBvcHRpb24gdG8gbsPl/0MAAAFP3jyyXAAQYWQgb2YgbWlsbGlzZWNvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgskgAAAQBmYWxzZSBwb3NpdGl2ZSBjaGFuY2Ugb2YgMCAoQ0FTU0FORFJBLTUwMTMpCiAqIGFkZCB0aHJlYWRwb29sIHNpemUgYWRqdXN0bWVudCBtZXRob2RzIHRvIEpNWEVuYWJsZWRUaHJlYWRQb29sRXhlY3V0b3IgYW5kIAogICBDb21wYWN0aW9uTWFuYWdlck1CZWFuIChDQVNTQU5EUkEtNTA0NCkKICogZml4IGhpbnRpbmcgZm9yIGRyb3BwZWQgbG9jYWwgd3JpdGVzIChDQVNTQU5EUkEtNDc1MykKICogb2ZmLWhlYXAgY2FjaGUgZG9lc24ndCBuZWVkIG11/feWqQAAAU/ePLJcABAKICogRml4IHJlbGV2YW50AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCySAAABAChDQVNTQU5EUkEtNDU4KQogKiBGaXggZm9yIGRpc2NhcmRpbmcgdW5uZWVkZWQgY29tbWl0bG9nIHNlZ21lbnRzIChDQVNTQU5EUkEtNDU5KQogKiBBZGQgU25hcHNob3RCZWZvcmVDb21wYWN0aW9uIGNvbmZpZ3VyYXRpb24gb3B0aW9uIChDQVNTQU5EUkEtNDI2KQogKiBGaXggY29tcGFjdGlvbiBhYm9ydCB1bmRlciBpbnN1ZmZpY2llbnQgZGlzayBzcGFjZSAoQ0FTU0FORFJBLTQ3MykKICogRml4IHJlYWRpbmcgc3ViY29sdW1uIHNsaWNlIGZyb20wicm7AAABT948slwAEGF5IHNlZWsgd2hlbiBjb20AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJIAAAEAaGF0IGNvdWxkIGxlYXZlIG9ycGhhbmVkIGRhdGEgZmlsZXMgd2hlbiBkcm9wcGluZyBDRiBvcgogICBLUyAoQ0FTU0FORFJBLTIzODEpCiAqIGZzeW5jIHN0YXRpc3RpY3MgY29tcG9uZW50IG9uIHdyaXRlIChDQVNTQU5EUkEtMjM4MikKICogZml4IGR1cGxpY2F0ZSByZXN1bHRzIGZyb20gQ0ZTLnNjYW4gKENBU1NBTkRSQS0yNDA2KQogKiBhZGQgSW50ZWdlclR5cGUgdG8gQ0xJIGhlbHAgKENBU1NBTkRSQS0yNDE0KQogKiBhdm9pZCBjYWNoaW5nICLOS0EAAAFP3jyyXAAQb24gKENBU1NBTkRSQS02MgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgskgAAAQBlLWNvbmYgZmlsZXMgCiAgIHNpbmNlIHRob3NlIHNldHRpbmdzIGFyZSBubyBsb25nZXIgdXNlZCAoQ0FTU0FORFJBLTg3OCkKICogUGFyc2UgYSBsb25nIGZyb20gUm93V2FybmluZ1RocmVzaG9sZEluTUIgaW5zdGVhZCBvZiBhbiBpbnQgKENBU1NBTkRSQS04ODIpCiAqIFJlbW92ZSBvYnNvbGV0ZSBDb250cm9sUG9ydCBjb2RlIGZyb20gRGF0YWJhc2VEZXNjcmlwdG9yIChDQVNTQU5EUkEtODg2KQogKiBtb3ZlIHNraXBCeXRlcyBzaWRlIGVmZmVjaHIRhwAAAaDuiU21ABBuzm4w+YAR5Lig59RI1eJtAAAAAQG027e03Ek/tbO/zm5DSDLKf////4AAAAAAAAAAAAAAAQAOAAtyb3dzX21lcmdlZP8ADgALcm93c19tZXJnZWQBVVNmcQAFFffV7h43AAAABwADAAAAAgAJOoBVXKDxAAUV99XuHjgAAAAAAAsACGJ5dGVzX2luAAIACTqAVVyg8QAFFffV7h44AAAACAAAAAAAAAKIAAwACWJ5dGVzX291dAACAAk6gFVcoPEABRX31e4eOAAAAAgAAAAAAAAA/AAUABFjb2x1bW5mYW1pbHlfbmFtZQACAAk6gFVcoPEABRX31e4eOAAAABBzY2hlbWFfa2V5c3BhY2VzAA8ADGNvbXBhY3RlZF9hdAACAAk6gFVcoPEABRX31e4eOAAAAAgAAAFNTcgskwAQAA1rZXlzcGFjZV9uYW1lAAIACTqAVVyg8QAFFffV7h44AAAABnN5c3RlbQAVAAtyb3dzX21lcmdlZAAABAAAAAEAAgAJOoBVXKDxAAUV99XuHjgAAAAIAAAAAAAAAATdznHPAAe6MZUnN4AAAAFP3jyyXAAQc3MgKENBU1NBTkRSQS02OAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsmwAAAQBlIFRUTCBleHBpcnkgY2hlY2tzIChDQVNTQU5EUkEtODI0MykKICogQWRkIG1vcmUgbG9nIGluZm8gaWYgcmVhZE1ldGVyIGlzIG51bGwgKENBU1NBTkRSQS04MjM4KQogKiBhZGQgY2hlY2sgb2YgdGhlIHN5c3RlbSB3YWxsIGNsb2NrIHRpbWUgYXQgc3RhcnR1cCAoQ0FTU0FORFJBLTgzMDUpCiAqIFN1cHBvcnQgZm9yIGZyb3plbiBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTc4NTkpCiAqIEZpeCBvdmVyZmxvdyBvbiBoaXN0b2dyYW0gY29tcHV0YXRpR2BF+QAAAU/ePLJcABAgQWRkZWQgcHJlbG9hZF9yAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCybAAABAGVudHMgKENBU1NBTkRSQS02NzM3KQogKiBEaXNhbGxvdyBwb3N0LXF1ZXJ5IHJlLW9yZGVyaW5nIHdoZW4gcGFnaW5nIChDQVNTQU5EUkEtNjcyMikKICogRml4IHBvdGVudGlhbCBwYWdpbmcgYnVnIHdpdGggZGVsZXRlZCBjb2x1bW5zIChDQVNTQU5EUkEtNjc0OCkKICogRml4IE5QRSBvbiBCdWxrTG9hZGVyIGNhdXNlZCBieSBsb3NpbmcgU3RyZWFtRXZlbnQgKENBU1NBTkRSQS02NjM2KQogKiBGaXggdHJ1bmNhdGluZyBjb21wcmVzc2lvbiBtZXQjWwjhAAABT948slwAECkKICogRml4IGNvdW50ZXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJsAAAEARFJBLTMzMTgpCiAqIGZpeCBidWcgcHJldmVudGluZyBvYnNvbGV0ZSBjb21taXRsb2cgc2VnbWVudHMgZnJvbSBiZWluZyByZW1vdmVkCiAgIChDQVNTQU5EUkEtMzI2OSkKICogdG9sZXJhdGUgd2hpdGVzcGFjZSBpbiBzZWVkIENETCAoQ0FTU0FORFJBLTMyNjMpCiAqIENoYW5nZSBkZWZhdWx0IGhlYXAgdGhyZXNob2xkcyB0byBtYXgobWluKDEvMiByYW0sIDFHKSwgbWluKDEvNCByYW0sIDhHQikpCiAgIChDQVNTQU5EUkEtMzI5NSkKICogRml4IIshQbEAAAFP3jyyXAAQdCAoQ0FTU0FORFJBLTEyMgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsmwAAAQBydWIiIG9mIHN5c3RlbSBrZXlzcGFjZSAoQ0FTU0FORFJBLTY3OTcpCiAqIFBvb2wgQ3FsUmVjb3JkV3JpdGVyIGNsaWVudHMgYnkgaW5ldGFkZHJlc3MgcmF0aGVyIHRoYW4gUmFuZ2UKICAgKENBU1NBTkRSQS02NjY1KQogKiBGaXggY29tcGFjdGlvbl9oaXN0b3J5IHRpbWVzdGFtcHMgKENBU1NBTkRSQS02Nzg0KQogKiBDb21wYXJlIHNjb3JlcyBvZiBmdWxsIHJlcGxpY2Egb3JkZXJpbmcgaW4gREVTIChDQVNTQU5EUkEtNjY4MykKICogZml4IENNYstZ3QAAAU/ePLJcABBuY3VycmVuY3kgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCybAAABAHRlbWVudCBzdGFydC9lbmQga2V5IGFyZSBub3Qgc2V0IGNvcnJlY3RseQogICB3aGVuIGEga2V5IGFsaWFzIGlzIGludm9sdmVkIChDQVNTQU5EUkEtMzcwMCkKICogZml4IENMSSBgc2hvdyBzY2hlbWFgIGNvbW1hbmQgaW5zZXJ0IG9mIGFuIGV4dHJhIGNvbW1hIGluCiAgIGNvbHVtbl9tZXRhZGF0YSAoQ0FTU0FORFJBLTM3MTQpCk1lcmdlZCBmcm9tIDAuODoKICogYXZvaWQgbG9nZ2luZyAoaGFybWxlc3MpIGV4Y2VwdGlvbiB3aGVuIEdDIHRha2Xadk8AAAABT948slwAEFR5cGUgdmFsdWVzIG90aGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJsAAAEAdGhyYXNoaW5nIGR1cmluZyBtdWx0aS1yZWdpb24gZWMyIGR1cmluZyB1cGdyYWRlLCBkdWUgdG8gCiAgIG1lc3NhZ2luZyB2ZXJzaW9uIChDQVNTQU5EUkEtNTY2OSkKICogQXZvaWQgb3ZlciByZWNvbm5lY3RpbmcgaW4gRUMyTVJTIChDQVNTQU5EUkEtNTY3OCkKICogRml4IFJlYWRSZXNwb25zZVNlcmlhbGl6ZXIuc2VyaWFsaXplZFNpemUoKSBmb3IgZGlnZXN0IHJlYWRzIChDQVNTQU5EUkEtNTQ3NikKICogYWxsb3cgc3N0YWJsZTJqc29uIG9uIOWVEnQAAAFP3jyyXAAQdHJhcHBlZCBmbGFnIGFmdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsmwAAAQBsdGVyIGtleXNwYWNlIChDQVNTQU5EUkEtODAyMSkKICogQ3JlYXRlIGJhY2t1cCBkaXJlY3RvcmllcyBmb3IgY29tbWl0bG9nIGFyY2hpdmluZyBkdXJpbmcgc3RhcnR1cCAoQ0FTU0FORFJBLTgxMTEpCiAqIFJlZHVjZSB0b3RhbEJsb2NrRm9yKCkgZm9yIExPQ0FMXyogY29uc2lzdGVuY3kgbGV2ZWxzIChDQVNTQU5EUkEtODA1OCkKICogRml4IG1lcmdpbmcgc2NoZW1hcyB3aXRoIHJlLWRyb3BwZWQga2V5c3BhY2VzIChDQVNTQU5EUkEtNzI1NikKdhK1JgAAAU/ePLJcABAqIERvbid0IHRpZSBjbGllAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCybAAABACBDUUwvbmF0aXZlIHByb3RvY29sIChDQVNTQU5EUkEtNzI0OCkKICogRml4IENxbFBhZ2luZ1JlY29yZFJlYWRlciBvbiB0YWJsZXMgd2l0aCBmZXcgcm93cyAoQ0FTU0FORFJBLTczMjIpCk1lcmdlZCBmcm9tIDIuMDoKICogQ29weSBjb21wYWN0aW9uIG9wdGlvbnMgdG8gbWFrZSBzdXJlIHRoZXkgYXJlIHJlbG9hZGVkIChDQVNTQU5EUkEtNzI5MCkKICogQWRkIG9wdGlvbiB0byBkbyBtb3JlIGFnZ3Jlc3NpdmUgdG9tYnN0b25lIGNvbXBhY3Rpb24gjCwrAAABT948slwAEG9ydCB0byBzaHVmZmxlICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJsAAAEAZ3Jlc3MgKENBU1NBTkRSQS00NzY3KQogKiBmaXggdXNlciBkZWZpbmVkIGNvbXBhY3Rpb24gdG8gcnVuIGFnYWluc3QgMS4xIGRhdGEgZGlyZWN0b3J5IChDQVNTQU5EUkEtNTExOCkKICogRml4IENRTDMgQkFUQ0ggYXV0aG9yaXphdGlvbiBjYWNoaW5nIChDQVNTQU5EUkEtNTE0NSkKICogZml4IGdldF9jb3VudCByZXR1cm5zIGluY29ycmVjdCB2YWx1ZSB3aXRoIFRUTCAoQ0FTU0FORFJBLTUwOTkpCiAqIGJldHRlciBoYW5kbGluZyBmb3IgbWlkLQ6VQrQAAAFP3jyyXAAQICogRml4IHJlcGFpciBoYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsmwAAAQAoQ0FTU0FORFJBLTM5NDIpCk1lcmdlZCBmcm9tIDEuMDoKICogU2V0IGdjX2dyYWNlIG9uIGluZGV4IENGIHRvIDAgKENBU1NBTkRSQS00MzE0KQoKCjEuMS4xCiAqIGFkZCBwb3B1bGF0ZV9pb19jYWNoZV9vbl9mbHVzaCBvcHRpb24gKENBU1NBTkRSQS0yNjM1KQogKiBhbGxvdyBsYXJnZXIgY2FjaGUgY2FwYWNpdGllcyB0aGFuIDJHQiAoQ0FTU0FORFJBLTQxNTApCiAqIGFkZCBnZXRzc3RhYmxlcyBjb21tYW5kIHRvIG5vZGV0b29sIChDQVNTQU5EyBauEgAAAU/ePLJcABB0ZVJlc3BvbnNlIChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCybAAABADU4KQogKiBNZXJnZSBncm91cGFibGUgbXV0YXRpb25zIGluIFRyaWdnZXJFeGVjdXRvciNleGVjdXRlKCkgKENBU1NBTkRSQS03MDQ3KQogKiBQbHVnIGhvbGVzIGluIHJlc291cmNlIHJlbGVhc2Ugd2hlbiB3aXJpbmcgdXAgU3RyZWFtU2Vzc2lvbiAoQ0FTU0FORFJBLTcwNzMpCiAqIFJlLWFkZCBwYXJhbWV0ZXIgY29sdW1ucyB0byB0cmFjaW5nIHNlc3Npb24gKENBU1NBTkRSQS02OTQyKQogKiBQcmVzZXJ2ZXMgQ1FMIG1ldGFkYXRhIHdoZW4gdXBA9QxKAAABT948slwAEE5EUkEtMzAxMikKICogaWcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJsAAAEAcGxpdC9zc3RhYmxldXBncmFkZSAoQ0FTU0FORFJBLTg2MDYpCiAqIEltcHJvdmUgc3N0YWJsZSBleGNsdXNpb24gZnJvbSBwYXJ0aXRpb24gdG9tYnN0b25lcyAoQ0FTU0FORFJBLTkyOTgpCiAqIFZhbGlkYXRlIHRoZSBpbmRleGVkIGNvbHVtbiByYXRoZXIgdGhhbiB0aGUgY2VsbCdzIGNvbnRlbnRzIGZvciAyaSAoQ0FTU0FORFJBLTkwNTcpCiAqIEFkZCBzdXBwb3J0IGZvciB0b3AtayBjdXN0b20gMmkgcXVlcmllcyAoQ0FTU0FORFJBLTg3MTcpCsXQRK4AAAFP3jyyXAAQQS0zNDU2KQogKiBmaXggcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsmwAAAQBtaWMgZW5kcG9pbnQgc25pdGNoIChDQVNTQU5EUkEtOTgxKQogKiBmaXggc3RyZWFtaW5nIGZvciBrZXlzcGFjZXMgd2l0aCBoeXBoZW5zIGluIHRoZWlyIG5hbWUgKENBU1NBTkRSQS0xMzc3KQogKiBmaXggZXJyb3JzIGluIGhhcmQtY29kZWQgYmxvb20gZmlsdGVyIG9wdEtQZXJCdWNrZXQgYnkgY29tcHV0aW5nIGl0CiAgIGFsZ29yaXRobWljYWxseSAoQ0FTU0FORFJBLTEyMjAKICogcmVtb3ZlIG1lc3NhZ2UgZGVzZXJpYWxpemF0aW9uIHN0YWdlpM7ycgAAAU/ePLJcABBTU0FORFJBLTY4OTIpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCybAAABAGcgKENBU1NBTkRSQS0yNTcwKQogKiBmaXggYmF0Y2hfbXV0YXRlIGZvciBtaXhlZCBzdGFuZGFyZC1jb3VudGVyIG11dGF0aW9ucyAoQ0FTU0FORFJBLTI0NTcpCiAqIGRpc2FsbG93IG1ha2luZyBzY2hlbWEgY2hhbmdlcyB0byBzeXN0ZW0ga2V5c3BhY2UgKENBU1NBTkRSQS0yNTYzKQogKiBmaXggc2VuZGluZyBtdXRhdGlvbiBtZXNzYWdlcyBtdWx0aXBsZSB0aW1lcyAoQ0FTU0FORFJBLTI1NTcpCiAqIGZpeCBpbmNvcnJlY3QgdXNlIG9mIE5CSE0cfw5hAAABT948slwAECAoQ0FTU0FORFJBLTExNDIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJsAAAEAdHlwZSBhcmd1bWVudHMgaW4gVGhyaWZ0IENRTFByZXBhcmVkUmVzdWx0IChDQVNTQU5EUkEtNTMxMSkKICogRml4IGNvbXBhY3Rpb24gbm90IHJlbW92aW5nIGNvbHVtbnMgd2hlbiBiZl9mcF9yYXRpbyBpcyAxIChDQVNTQU5EUkEtNTE4MikKICogY2xpOiBXYXJuIGFib3V0IG1pc3NpbmcgQ1FMMyB0YWJsZXMgaW4gc2NoZW1hIGRlc2NyaXB0aW9ucyAoQ0FTU0FORFJBLTUzMDkpCiAqIFJlLWVuYWJsZSB1bmtub3duIG9wdGlvbiBpbiByZXBsaWNhdMPdeKkAB86OiB0v6QAAAU/ePLJcABBpemVkU2l6ZSgpIGZvciBkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCycAAABADIxLCAzMTc5KQogKiBzdG9yZSBoaW50cyBhcyBzZXJpYWxpemVkIG11dGF0aW9ucyBpbnN0ZWFkIG9mIHBvaW50ZXJzIHRvIGRhdGEgcm93CiAgIChDQVNTQU5EUkEtMjA0NSkKICogc3RvcmUgaGludHMgaW4gdGhlIGNvb3JkaW5hdG9yIG5vZGUgaW5zdGVhZCBvZiBpbiB0aGUgY2xvc2VzdCByZXBsaWNhIAogICAoQ0FTU0FORFJBLTI5MTQpCiAqIGFkZCByb3dfY2FjaGVfa2V5c190b19zYXZlIENGIG9wdGlvbiAoQ0FTU0FORFJBLTE5NjYpCiAqIGNPBiflAAABT948slwAEHJ0aWVzIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJwAAAEAbmFwc2hvdCwgZGlmZmVyZW5jaW5nKSBjb25jdXJyZW5jeSAoQ0FTU0FORFJBLTY1NjYpCiAqIEZpeCByZXBsYXlpbmcgcHJlLTIuMCBjb21taXQgbG9ncyAoQ0FTU0FORFJBLTY3MTQpCiAqIEFkZCBzdGF0aWMgY29sdW1ucyB0byBDUUwzIChDQVNTQU5EUkEtNjU2MSkKICogT3B0aW1pemUgc2luZ2xlIHBhcnRpdGlvbiBiYXRjaCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNjczNykKICogRGlzYWxsb3cgcG9zdC1xdWVyeSByZS1vcmRlcmluZyB3aGVuIGSXIuwAAAFP3jyyXAAQZXJhdG9yIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsnAAAAQBleSB0byBpbmRpY2F0ZQogICB3aGVuIHRvIGZsdXNoIG1lbXRhYmxlcykKICogUmVuYW1lIGNvbmZpZ3VyYXRpb24gInRhYmxlIiB0byAia2V5c3BhY2UiCiAqIE1vdmVkIHRvIGNyYXNoLW9ubHkgZGVzaWduOyBubyBtb3JlIHNodXRkb3duIChqdXN0IGtpbGwgdGhlIHByb2Nlc3MpCiAqIExvdHMgb2YgYnVnIGZpeGVzCgpGdWxsIGxpc3Qgb2YgaXNzdWVzIHJlc29sdmVkIGluIDAuNCBpcyBhdCBodHRwczovL2lzc3Vlcy5hcGFjaGUub3JnL2ppcmEvNr/nfgAAAU/ePLJcABBSQS01MjMwKQpNZXJnZWQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCycAAABAGlwbGUgZGF0YWNlbnRlcnMKICAgKENBU1NBTkRSQS02NDgpCiAqIFZhc3QgaW1wcm92ZW1lbnRzIGluIGFudGljb21wYWN0aW9uIHNwZWVkIChDQVNTQU5EUkEtNjA3KQogKiBTcGVlZCB1cCBsb2cgcmVwbGF5IGFuZCB3cml0ZXMgYnkgYXZvaWRpbmcgcmVkdW5kYW50IHNlcmlhbGl6YXRpb25zCiAgIChDQVNTQU5EUkEtNjUyKQoKCjAuNS4wIGJldGEgMgogKiBCb290c3RyYXAgaW1wcm92ZW1lbnRzIChzZXZlcmFsIHRpY2tldHMpCiAqIGFkZCBub2SQkBaUAAABT948slwAECAoQ0FTU0FORFJBLTQ4MikAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJwAAAEAaW5nIGxvZyByZXBsYXkgKENBU1NBTkRSQS04ODUpCiAqIFVzZSBtaWNyb3NlY29uZHMtc2luY2UtZXBvY2ggKFVUQykgaW4gY2xpLCBpbnN0ZWFkIG9mIG1pbGxpc2Vjb25kcwogKiBUcmVhdCBiYXRjaF9tdXRhdGUgRGVsZXRpb24gd2l0aCBudWxsIHN1cGVyY29sdW1uIGFzICJhcHBseSB0aGlzIHByZWRpY2F0ZSAKICAgdG8gdG9wIGxldmVsIHN1cGVyY29sdW1ucyIgKENBU1NBTkRSQS04MzQpCiAqIFN0cmVhbWluZyBkZXN0aW5hdGlvbiBub2RlcxuuHDkAAAFP3jyyXAAQIG92ZXIgcmVjb25uZWN0aQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsnAAAAQAtMTYzNCkKICogY2xpIC0tZmlsZSBvcHRpb24gKENBU1NBTkRSQS0xNjE2KQogKiByZWR1Y2UgYXV0b21hdGljYWxseSBjaG9zZW4gbWVtdGFibGUgc2l6ZXMgYnkgNTAlIChDQVNTQU5EUkEtMTY0MSkKICogbW92ZSBlbmRwb2ludCBjYWNoZSBmcm9tIHNuaXRjaCB0byBzdHJhdGVneSAoQ0FTU0FORFJBLTE2NDMpCiAqIGZpeCBjb21taXRsb2cgcmVjb3ZlcnkgZGVsZXRpbmcgdGhlIG5ld2x5LWNyZWF0ZWQgc2VnbWVudCBhcyB3ZWxsIGFzCiAgIHRo8q/8YwAAAU/ePLJcABByZWxvYWR0cmlnZ2VycyBjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCycAAABADk4KQogKiBGaXggdGhlIEludmVydGVkSW5kZXggdHJpZ2dlciBleGFtcGxlIChDQVNTQU5EUkEtNzIxMSkKICogQWRkIC0tcmVzb2x2ZS1pcCBvcHRpb24gdG8gJ25vZGV0b29sIHJpbmcnIChDQVNTQU5EUkEtNzIxMCkKICogcmVkdWNlIGdhcmJhZ2Ugb24gY29kZWMgZmxhZyBkZXNlcmlhbGl6YXRpb24gKENBU1NBTkRSQS03MjQ0KSAKICogRml4IGR1cGxpY2F0ZWQgZXJyb3IgbWVzc2FnZXMgb24gZGlyZWN0b3J5IGNyZWF0aW9uIGVycm9yIGF0IHOshq5/AAABT948slwAECBvZmZsaW5lIHNzdGFibGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJwAAAEAdGlvbiB3aXRoIG1vcmUgdGhhbiBvbmUgcGVuZGluZyBlbmRwb2ludCAoQ0FTU0FORFJBLTgzNDYsIDg2NDApCiAqIFRocm93IGNvcnJlY3QgZXhjZXB0aW9uIHdoZW4gdHJ5aW5nIHRvIGJpbmQgYSBrZXlzcGFjZSBvciB0YWJsZQogICBuYW1lIChDQVNTQU5EUkEtNjk1MikKICogTWFrZSBISE9NLmNvbXBhY3Qgc3luY2hyb25pemVkIChDQVNTQU5EUkEtODQxNikKICogY2FuY2VsIGxhdGVuY3ktc2FtcGxpbmcgdGFzayB3aGVuIENGIGlzIGRyb3BwZf1OJaAAAAFP3jyyXAAQYXJlIGRpc2NhcmRlZCAoQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsnAAAAQBfY291bnQgZXhhbXBsZSAoQ0FTU0FORFJBLTY3OTMpCiAqIEZpeCBoYW5kbGluZyBvZiBSZWplY3RlZEV4ZWN1dGlvbiBpbiBzeW5jIFRocmlmdCBzZXJ2ZXIgKENBU1NBTkRSQS02Nzg4KQogKiBMb2cgbW9yZSBpbmZvcm1hdGlvbiB3aGVuIGV4Y2VlZGluZyB0b21ic3RvbmVfd2Fybl90aHJlc2hvbGQgKENBU1NBTkRSQS02ODY1KQogKiBGaXggdHJ1bmNhdGUgdG8gbm90IGFib3J0IGR1ZSB0byB1bnJlYWNoYWJsZSBmYXQgY2xpZW50cyAoQ0FTU0FO6QolzQAAAU/ePLJcABBsdWUgKENBU1NBTkRSQS00AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCycAAABAG4gZXhlY3V0b3Igc3RhZ2UgYXMgd2VsbCBhcyBUaHJpZnQgKENBU1NBTkRSQS0xMjI2KQogKiByZW1vdmUgb3Bwb3J0dW5pc3RpYyByZXBhaXJzLCB3aGVuIHR3byBtYWNoaW5lcyB3aXRoIG92ZXJsYXBwaW5nIHJlcGxpY2EKICAgcmVzcG9uc2liaWxpdGllcyBoYXBwZW4gdG8gZmluaXNoIG1ham9yIGNvbXBhY3Rpb25zIG9mIHRoZSBzYW1lIENGIG5lYXIKICAgdGhlIHNhbWUgdGltZS4gIHJlcGFpcnMgYXJlIG5vdyBmdWxseSBtYW51YWwgKENBU1PqPna5AAABT948slwAECAgbW9kaWZpZWQgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJwAAAEAb24gaW4gZHluYW1pYyBzbml0Y2ggKENBU1NBTkRSQS04NDQ4KQogKiBBZGQgc3VwcG9ydCBmb3IgVVBEQVRFIC4uLiBJRiBFWElTVFMgKENBU1NBTkRSQS04NjEwKQogKiBGaXggcmV2ZXJzYWwgb2YgbGlzdCBwcmVwZW5kcyAoQ0FTU0FORFJBLTg3MzMpCiAqIFByZXZlbnQgbm9uLXplcm8gZGVmYXVsdF90aW1lX3RvX2xpdmUgb24gdGFibGVzIHdpdGggY291bnRlcnMKICAgKENBU1NBTkRSQS04Njc4KQogKiBGaXggU1NUYWJsZVNpbXBsZVVuc29ydK7cB9wAAAFP3jyyXAAQYWJsZSAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsnAAAAQAgKiBmaXggYXNzZXJ0aW9uIGVycm9yIGluIHJhbmdlIGFuZCBpbmRleCBzY2FucyBmb3IgQ0wgPCBBTEwKICAgKENBU1NBTkRSQS0yMjgyKQogKiBmaXggY29tbWl0bG9nIHJlcGxheSB3aGVuIGZsdXNoIHBvc2l0aW9uIHJlZmVycyB0byBkYXRhIHRoYXQgZGlkbid0CiAgIGdldCBzeW5jZWQgYmVmb3JlIHNlcnZlciBkaWVkIChDQVNTQU5EUkEtMjI4NSkKICogZml4IGZkIGxlYWsgaW4gc3N0YWJsZTJqc29uIHdpdGggbm9uLW1tYXAnZCBpL28gKENBD89V5wAAAU/ePLJcABB0aG9kIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCycAAABAHRocmVzaG9sZCB0byAwLjEgKENBU1NBTkRSQS0zMjI5KQogKiBCYXNlIGNob2ljZSBvZiByYW5kb20gb3IgImJhbGFuY2VkIiB0b2tlbiBvbiBib290c3RyYXAgb24gd2hldGhlcgogICBzY2hlbWEgZGVmaW5pdGlvbnMgd2VyZSBmb3VuZCAoQ0FTU0FORFJBLTMyMTkpCiAqIEZpeGVzIGZvciBMZXZlbGVkQ29tcGFjdGlvblN0cmF0ZWd5IHNjb3JlIGNvbXB1dGF0aW9uLCBwcmlvcml0aXphdGlvbiwKICAgc2NoZWR1bGluZywgYW5kIHBlcmZvcm1hbmNVCt8AAAABT948slwAEGFnZXMgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJwAAAEAcGFjdGlvbiBwcmlvcml0eSAoZGVmYXVsdCBpcyBubyBjaGFuZ2UgZnJvbSAwLjYuMikKICAgKENBU1NBTkRSQS0xMTgxKQoKCjAuNi4yCiAqIGZpeCBjb250cmliL3dvcmRfY291bnQgYnVpbGQuIChDQVNTQU5EUkEtOTkyKQogKiBzcGxpdCBDb21taXRMb2dFeGVjdXRvclNlcnZpY2UgaW50byBCYXRjaENvbW1pdExvZ0V4ZWN1dG9yU2VydmljZSBhbmQgCiAgIFBlcmlvZGljQ29tbWl0TG9nRXhlY3V0b3JTZXJ2aWNlIChDQVNTQU5EUkEtMTAxNCkKINixYj8AAAFP3jyyXAAQd29yZCAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsnAAAAQBFeGNlcHRpb24gcHJvY2Vzc2luZyBleHBpcmVkIG1lc3NhZ2VzIChDQVNTQU5EUkEtNzQ5NikKICogRml4IHByZXBhcmVkIG1hcmtlciBmb3IgY29sbGVjdGlvbnMgaW5zaWRlIFVEVCAoQ0FTU0FORFJBLTc0NzIpCiAqIFJlbW92ZSBsZWZ0LW92ZXIgcG9wdWxhdGVfaW9fY2FjaGVfb25fZmx1c2ggYW5kIHJlcGxpY2F0ZV9vbl93cml0ZQogICB1c2VzIChDQVNTQU5EUkEtNzQ5MykKICogKFdpbmRvd3MpIGhhbmRsZSBzcGFjZXMgaW4gcGF0aCBuYW1lxJcb/AAH4uuYkD0GAAABT948slwAEGFkZCBuZXcgdXBncmFkZXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJ8AAAEAaW52YWxpZCBrZXlzcGFjZXMgb3IgdGFibGVzIChDQVNTQU5EUkEtODk1MCkKICogQWxsb3cgc3BlY2lmeWluZyB0aGUgdG1wIGRpciAoQ0FTU0FORFJBLTc3MTIpCiAqIEltcHJvdmUgY29tcGFjdGlvbiBlc3RpbWF0ZWQgdGFza3MgZXN0aW1hdGlvbiAoQ0FTU0FORFJBLTg5MDQpCiAqIEZpeCBkdXBsaWNhdGUgdXAvZG93biBtZXNzYWdlcyBzZW50IHRvIG5hdGl2ZSBjbGllbnRzIChDQVNTQU5EUkEtNzgxNikKICogRXhwb3NlIGNvbW1pdCBsb2cgYUPfMkoAAAFP3jyyXAAQbGxvdyBrZXlzcGFjZSBwcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsnwAAAQAgYSBmaWxlIG9yIHByb21wdCBmb3IgcGFzc3dvcmQgKENBU1NBTkRSQS02NjYwKQogKiBGaXggQUlPT0JFIHdoZW4gY29uY3VycmVudGx5IGFjY2Vzc2luZyBBQlNDIChDQVNTQU5EUkEtNjc0MikKICogRml4IGFzc2VydGlvbiBlcnJvciBpbiBBTFRFUiBUWVBFIFJFTkFNRSAoQ0FTU0FORFJBLTY3MDUpCiAqIFNjcnViIHNob3VsZCBub3QgYWx3YXlzIGNsZWFyIG91dCByZXBhaXJlZCBzdGF0dXMgKENBU1NBTkRSQS01MzUxKQogKiBJbXByb3ZlIGhhkh01HAAAAU/ePLJcABBwYWNlVXNlZCBmb3IgQWx3AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyfAAABACBzbmFwc2hvdF9iZWZvcmVfY29tcGFjdGlvbiBkaXJlY3RvcnkgbmFtZSBmaXggKENBU1NBTkRSQS0yNTk4KQogKiBEaXNhYmxlIGNvbXBhY3Rpb24gdGhyb3R0bGluZyBkdXJpbmcgYm9vdHN0cmFwIChDQVNTQU5EUkEtMjYxMikgCiAqIGZpeCBDUUwgdHJlYXRtZW50IG9mID4gYW5kIDwgb3BlcmF0b3JzIGluIHJhbmdlIHNsaWNlcyAoQ0FTU0FORFJBLTI1OTIpCiAqIGZpeCBwb3RlbnRpYWwgZG91YmxlLWFwcGxpY2F0aW9uIG9mIGNvdW50ZXIgdXDn1zzBAAABT948slwAEGNyZWF0ZSB0YWJsZSAoQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJ8AAAEACiAqIChQaWcpIGZpeCBDYXNzYW5kcmFTdG9yYWdlIHRvIHVzZSBjb3JyZWN0IGNvbXBhcmF0b3IgaW4gU3VwZXIgQ29sdW1uRmFtaWx5CiAgIGNhc2UgKENBU1NBTkRSQS0zMjUxKQogKiBmaXggdGhyZWFkIHNhZmV0eSBpc3N1ZXMgaW4gY29tbWl0bG9nIHJlcGxheSwgcHJpbWFyaWx5IGFmZmVjdGluZwogICBzeXN0ZW1zIHdpdGggbWFueSAoMTAwcykgb2YgQ0YgZGVmaW5pdGlvbnMgKENBU1NBTkRSQS0zNzUxKQogKiBGaXggcmVsZXZhbnQgdG9tYnlZK0oAAAFP3jyyXAAQMTEyKQogKiBraWxsIHNlcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsnwAAAQBsc2g6IGZvcmNlIENMLk9ORSBmb3IgdHJhY2luZyBhbmQgc3lzdGVtLnNjaGVtYSogcXVlcmllcyAoQ0FTU0FORFJBLTUwNzApCiAqIEluY2x1ZGVzIGNhc3NhbmRyYS1zaHVmZmxlIGluIHRoZSBkZWJpYW4gcGFja2FnZSAoQ0FTU0FORFJBLTUwNTgpCk1lcmdlZCBmcm9tIDEuMToKICogZml4IG11bHRpdGhyZWFkZWQgY29tcGFjdGlvbiBkZWFkbG9jayAoQ0FTU0FORFJBLTQ0OTIpCiAqIGZpeCB0ZW1wb3JhcmlseSBtaXNzaW5nIHNjaGVtYSBhZnRlXefrZgAAAU/ePLJcABAqIGFkZCBiaW4vc3N0YWJsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyfAAABAGF0YSBhcmUgdmFsaWQgZm9yIHRoZQogICBkZWZpbmVkIGNvbXBhcmF0b3IsIGFuZCBkZWNvZGUgcHJvcGVybHkgaW4gY2xpIChDQVNTQU5EUkEtMTc3MykKICogdXNlIGNyb3NzLXBsYXRmb3JtIG5ld2xpbmVzIGluIGNsaSAoQ0FTU0FORFJBLTE3ODYpCiAqIGFkZCBFeHBpcmluZ0NvbHVtbiBzdXBwb3J0IHRvIHNzdGFibGUgaW1wb3J0L2V4cG9ydCAoQ0FTU0FORFJBLTE3NTQpCiAqIGFkZCBmbHVzaCBmb3IgZWFjaCBhcHBlbmQgdG8gcGVyaW9kaWPEYU3bAAABT948slwAEEFTU0FORFJBLTI0MTcpCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILJ8AAAEAdGlvbiBidWcgKENBU1NBTkRSQS0zNDM4KQogKiBmaXggZXN0aW1hdGVkIHJvdyBzaXplIHJlZ3Jlc3Npb24gKENBU1NBTkRSQS0zNDUxKQogKiBtYWtlIHN1cmUgd2UgZG9uJ3QgcmV0dXJuIG1vcmUgY29sdW1ucyB0aGFuIGFza2VkIChDQVNTQU5EUkEtMzMwMywgMzM5NSkKTWVyZ2VkIGZyb20gMC44OgogKiBhY3F1aXJlIGNvbXBhY3Rpb25sb2NrIGR1cmluZyB0cnVuY2F0ZSAoQ0FTU0FORFJBLTMzOTkpCiAqIGZpeCBkaXNwbGF5aW5nIGNmZGVmIKA7n3IAAAFP3jyyXAAQcmVhZGFibGUgb3B0aW9uIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsoAAAAQBjbGllbnQgcmVxdWVzdCBwYXRoIChDQVNTQU5EUkEtMTY3NikKICogZml4IGpuYSBlcnJubyByZXBvcnRpbmcgKENBU1NBTkRSQS0xNjk0KQogKiBhZGQgZnJpZW5kbGllciBlcnJvciBmb3IgVW5rbm93bkhvc3RFeGNlcHRpb24gb24gc3RhcnR1cCAoQ0FTU0FORFJBLTE2OTcpCiAqIGluY2x1ZGUgam5hIGRlcGVuZGVuY3kgaW4gUlBNIHBhY2thZ2UgKENBU1NBTkRSQS0xNjkwKQogKiBhZGQgLS1za2lwLWtleXMgb3B0aW9uIHRvIHN0cmVzcy5weSAoS2rW0AAAAU/ePLJcABBvbG9uIGFmdGVyIHRocmVlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCygAAABAAogICBzbyBVRSBjYW4gYmUgdGhyb3duIGludGVhZCBvZiB0aW1pbmcgb3V0IChDQVNTQU5EUkEtMjUxNCkKICogZml4IHVwZGF0ZSBvZiB2YWxpZGF0aW9uIGNsYXNzIGluIGNvbHVtbiBtZXRhZGF0YSAoQ0FTU0FORFJBLTI1MTIpCiAqIHN1cHBvcnQgTE9DQUxfUVVPUlVNLCBFQUNIX1FVT1JVTSBDTHMgb3V0c2lkZSBvZiBOVFMgKENBU1NBTkRSQS0yNTE2KQogKiBwcmVzZXJ2ZSB2ZXJzaW9uIHdoZW4gc3RyZWFtaW5nIGRhdGEgZnJvbSBvbGQgc3NnS5OfAAABT948slwAECAgIGRpZmZlcmVudCB0eXAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKAAAAEAU0FORFJBLTgwNCkKICogYmFzaWMgSGFkb29wIG1hcC9yZWR1Y2Ugc3VwcG9ydCAoQ0FTU0FORFJBLTM0MikKCgowLjUuMQogKiBlbnN1cmUgYWxsIGZpbGVzIGZvciBhbiBzc3RhYmxlIGFyZSBzdHJlYW1lZCB0byB0aGUgc2FtZSBkaXJlY3RvcnkuCiAgIChDQVNTQU5EUkEtNzE2KQogKiBtb3JlIGFjY3VyYXRlIGxvYWQgZXN0aW1hdGUgZm9yIGJvb3RzdHJhcHBpbmcgKENBU1NBTkRSQS03NjIpCiAqIHRvbGVyYXRlIGRlYWQgb3IgdW5hdmFpbGFibFfLakgAAAFP3jyyXAAQZXJ2ZXIgb24gd3JhcHBlZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsoAAAAQBlLWNhY2hlIGhvdCBrZXlzIHBvc3QtY29tcGFjdGlvbiB3aXRob3V0IGhpdHRpbmcgZGlzayAoQ0FTU0FORFJBLTE4NzgpCiAqIG1hbmFnZSByZWFkIHJlcGFpciBpbiBjb29yZGluYXRvciBpbnN0ZWFkIG9mIGRhdGEgc291cmNlLCB0bwogICBwcm92aWRlIGxhdGVuY3kgaW5mb3JtYXRpb24gdG8gZHluYW1pYyBzbml0Y2ggKENBU1NBTkRSQS0xODczKQoKCjAuNy4wLXJjMgogKiBmaXggbGl2ZS1jb2x1bW4tY291bnQgb2Ygc2xpY2UgcmFuZ2VzIGluNL6ucgAAAU/ePLJcABBpbmRleGVzCiAgIChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCygAAABADUwKQogKiBleHBvc2UgY291bnRlcnMgZm9yIHVuYXZhaWxhYmxlL3RpbWVvdXQgZXhjZXB0aW9ucyBnaXZlbiB0byB0aHJpZnQgY2xpZW50cyAoQ0FTU0FORFJBLTM2NzEpCiAqIGF2b2lkIHF1YWRyYXRpYyBzdGFydHVwIHRpbWUgaW4gTGV2ZWxlZE1hbmlmZXN0IChDQVNTQU5EUkEtMzk1MikKICogQWRkIHR5cGUgaW5mb3JtYXRpb24gdG8gbmV3IHNjaGVtYV8gY29sdW1uZmFtaWxpZXMgYW5kIHJlbW92ZSB0aHJpZnQKICAgc2VyaWFsaXphdGlvbiBocrYQAAABT948slwAEF9mbHVzaF9xdWV1ZV9zaXoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKAAAAEAc2VlZHMgY2FuIGJlIGEgcmVhY2hlZCBhIG5vZGUgd29uJ3Qgc3RhcnQgaW4gYSByaW5nIGJ5IGl0c2VsZiAoQ0FTU0FORFJBLTU3NjgpCiAqIGFkZCBjYXNzYW5kcmEudW5zYWZlc3lzdGVtIHByb3BlcnR5IChDQVNTQU5EUkEtNTcwNCkKICogKEhhZG9vcCkgcXVvdGUgaWRlbnRpZmllcnMgaW4gQ3FsUGFnaW5nUmVjb3JkUmVhZGVyIChDQVNTQU5EUkEtNTc2MykKICogQWRkIHJlcGxhY2Vfbm9kZSBmdW5jdGlvbmFsaXR5IGZvciB2bm9kZXMgKENBU8sdXhsAAAFP3jyyXAAQTlBFIG9uIEpNWCBiaW5kIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsoAAAAQBSQS04ODMyKQogKiBSZW1vdmUgY29sZF9yZWFkc190b19vbWl0IGZyb20gU1RDUyAoQ0FTU0FORFJBLTg4NjApCiAqIE1ha2UgRXN0aW1hdGVkSGlzdG9ncmFtI3BlcmNlbnRpbGUoKSB1c2UgY2VpbCBpbnN0ZWFkIG9mIGZsb29yIChDQVNTQU5EUkEtODg4MykKICogRml4IHRvcCBwYXJ0aXRpb25zIHJlcG9ydGluZyB3cm9uZyBjYXJkaW5hbGl0eSAoQ0FTU0FORFJBLTg4MzQpCiAqIEZpeCByYXJlIE5QRSBpbiBLZXlDYWNoZVNlcmlhbGl6ZXIgKENB32y5iQAAAU/ePLJcABAoQ0FTU0FORFJBLTI2NTApAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCygAAABAChDQVNTQU5EUkEtMzY1NykKICogQXZvaWRzIG92ZXItcGFnaW5nIGR1cmluZyBnZXRfY291bnQgKENBU1NBTkRSQS0zNzk4KQogKiBBZGQgbmV3IGNvbW1hbmQgdG8gcmVidWlsZCBhIG5vZGUgd2l0aG91dCAocmVwYWlyKSBtZXJrbGUgdHJlZSBjYWxjdWxhdGlvbnMKICAgKENBU1NBTkRSQS0zNDgzLCAzOTIyKQogKiByZXNwZWN0IG5vdCBvbmx5IHJvdyBjYWNoZSBjYXBhY2l0eSBidXQgY2FjaGluZyBtb2RlIHdoZW4KICAgdHJ5aW5nIHRvIHJlYWQfq7GjAAf3SJx5w38AAAFP3jyyXAAQcmVzc2lvbiBpbiBERVNDUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsogAAAQApCiAqIHNraXAgcmVhZGluZyBzYXZlZCBrZXkgY2FjaGUgaWYgQ0YncyBjYWNoaW5nIHN0cmF0ZWd5IGlzIE5PTkUgb3IgUk9XU19PTkxZIChDQVNTQU5EUkEtMzk1NCkKICogVW5pZnkgbWlncmF0aW9uIGNvZGUgKENBU1NBTkRSQS00MDE3KQpNZXJnZWQgZnJvbSAxLjA6CiAqIGNxbHNoOiBndWVzcyBjb3JyZWN0IHZlcnNpb24gb2YgUHl0aG9uIGZvciBBcmNoIExpbnV4IChDQVNTQU5EUkEtNDA5MCkKICogKENMSSkgcHJvcGVybHkgaGFuZGxlIHF1Ljeh6gAAAU/ePLJcABBudCBzY2hlbWEgY2hhbmdlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyiAAABAFQKICAgaXMgbW9kaWZpZWQgKENBU1NBTkRSQS05MTQ4LCBDQVNTQU5EUkEtOTE5MikKICogVXNlIGhpZ2hlciB0aW1lb3V0IGZvciBwcmVwYWlyIGFuZCBzbmFwc2hvdCBpbiByZXBhaXIgKENBU1NBTkRSQS05MjYxKQogKiBGaXggYW50aWNvbXBhY3Rpb24gYmxvY2tpbmcgQU5USV9FTlRST1BZIHN0YWdlIChDQVNTQU5EUkEtOTE1MSkKICogUmVwYWlyIHdhaXRzIGZvciBhbnRpY29tcGFjdGlvbiB0byBmaW5pc2ggKENBU1NBTkRSQS05MDk3KQpNZXLt6KWuAAABT948slwAECBkaXNwbGF5IHdoZW4gemUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKIAAAEALWNwaCA+IDEgKENBU1NBTkRSQS04MDA3KQogKiBGaXggc25hcHNob3QgcmVwYWlyIGVycm9yIG9uIGluZGV4ZWQgdGFibGVzIChDQVNTQU5EUkEtODAyMCkKICogRG8gbm90IGV4aXQgbm9kZXRvb2wgcmVwYWlyIHdoZW4gcmVjZWl2aW5nIEpNWCBOT1RJRl9MT1NUIChDQVNTQU5EUkEtNzkwOSkKICogU3RyZWFtIHRvIHByaXZhdGUgSVAgd2hlbiBhdmFpbGFibGUgKENBU1NBTkRSQS04MDg0KQpNZXJnZWQgZnJvbSAyLjA6CiAqIFJlamVjdCBjb25kaVOW6SUAAAFP3jyyXAAQaXIgKENBU1NBTkRSQS04MQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsogAAAQBBLTkwOTcpCk1lcmdlZCBmcm9tIDIuMDoKICogRml4IGNvdW50aW5nIG9mIHRvbWJzdG9uZXMgZm9yIFRvbWJzdG9uZU92ZXJ3aGVsbWluZ0V4Y2VwdGlvbiAoQ0FTU0FORFJBLTkyOTkpCiAqIEZpeCBSZWNvbm5lY3RhYmxlU25pdGNoIHJlY29ubmVjdGluZyB0byBwZWVycyBkdXJpbmcgdXBncmFkZSAoQ0FTU0FORFJBLTY3MDIpCiAqIEluY2x1ZGUga2V5c3BhY2UgYW5kIHRhYmxlIG5hbWUgaW4gZXJyb3IgbG9nIGZvciBjb2xsZWN0aW9ucyBvdmVygPbGLQAAAU/ePLJcABBEUkEtMjY4MykKICogYXZvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyiAAABAGluZyB0byBiaW5kIGEga2V5c3BhY2Ugb3IgdGFibGUKICAgbmFtZSAoQ0FTU0FORFJBLTY5NTIpCiAqIE1ha2UgSEhPTS5jb21wYWN0IHN5bmNocm9uaXplZCAoQ0FTU0FORFJBLTg0MTYpCiAqIGNhbmNlbCBsYXRlbmN5LXNhbXBsaW5nIHRhc2sgd2hlbiBDRiBpcyBkcm9wcGVkIChDQVNTQU5EUkEtODQwMSkKICogZG9uJ3QgYmxvY2sgU29ja2V0VGhyZWFkIGZvciBNZXNzYWdpbmdTZXJ2aWNlIChDQVNTQU5EUkEtODE4OCkKICogSW5jcmVhc2UgcXXxiQnBAAABT948slwAECBjb21wYWN0aW9ucyAoQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKIAAAEACiAqIGFsbG93IGxhcmdlciBjYWNoZSBjYXBhY2l0aWVzIHRoYW4gMkdCIChDQVNTQU5EUkEtNDE1MCkKICogYWRkIGdldHNzdGFibGVzIGNvbW1hbmQgdG8gbm9kZXRvb2wgKENBU1NBTkRSQS00MTk5KQogKiBhcHBseSBwYXJlbnQgQ0YgY29tcGFjdGlvbiBzZXR0aW5ncyB0byBzZWNvbmRhcnkgaW5kZXggQ0ZzIChDQVNTQU5EUkEtNDI4MCkKICogcHJlc2VydmUgY29tbWl0bG9nIHNpemUgY2FwIHdoZW4gcmVjeWNsaW5nIHNlZ21lbnRzIGF0IHN0YZOSmYAAAAFP3jyyXAAQIChDQVNTQU5EUkEtNjI5KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsogAAAQB2ZSBvZiBzdWJjb2x1bW4gd2l0aG91dCBzdXBlcmNvbHVtbgogICBpcyByZXF1ZXN0ZWQgKENBU1NBTkRSQS0xODY2KQogKiBmbHVzaCBiZWZvcmUgcmVwYWlyIChDQVNTQU5EUkEtMTc0OCkKICogU1NUYWJsZUV4cG9ydCB2YWxpZGF0ZXMga2V5IG9yZGVyIChDQVNTQU5EUkEtMTg4NCkKICogbGFyZ2Ugcm93IHN1cHBvcnQgZm9yIFNTVGFibGVFeHBvcnQgKENBU1NBTkRSQS0xODY3KQogKiBSZS1jYWNoZSBob3Qga2V5cyBwb3N0LWNvbXBhY3Rpb24g3Ah4bgAAAU/ePLJcABBpb24gZmFpbHVyZSBpbiBmAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyiAAABAG9uJ3Qgc2VuZCBzY2hlbWEgY2hhbmdlIHJlc3BvbnNlcyBhbmQgZXZlbnRzIGZvciBuby1vcCBEREwKICAgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTc2MDApCiAqIChIYWRvb3ApIGZpeCBjbHVzdGVyIGluaXRpYWxpc2F0aW9uIGZvciBhIHNwbGl0IGZldGNoaW5nIChDQVNTQU5EUkEtNzc3NCkKICogQ29uZmlndXJlIHN5c3RlbS5wYXhvcyB3aXRoIExldmVsZWRDb21wYWN0aW9uU3RyYXRlZ3kgKENBU1NBTkRSQS03NzUzKQogKiBGaXggQUxURVIgY2ynEr7xAAABT948slwAEENBU1NBTkRSQS00NjYxKQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKIAAAEAZXMgd2hlbiBub24tRXhjZXB0aW9uIFRocm93YWJsZXMKICAgYXJlIHRocm93biB3aGlsZSBoYW5kbGluZyBuYXRpdmUgcHJvdG9jb2wgbWVzc2FnZXMgKENBU1NBTkRSQS03NDcwKQogKiBGaXggcm93IHNpemUgbWlzY2FsY3VsYXRpb24gaW4gTGF6aWx5Q29tcGFjdGVkUm93IChDQVNTQU5EUkEtNzU0MykKICogRml4IHJhY2UgaW4gYmFja2dyb3VuZCBjb21wYWN0aW9uIGNoZWNrIChDQVNTQU5EUkEtNzc0NSkKICogRG9uJ3QgY2xlYXIgb3V0IHJhbgSRQHYAAAFP3jyyXAAQYXRhIChDQVNTQU5EUkEtMwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsogAAAQB0aWFsIG1vZGUgKENBU1NBTkRSQS03NTQxKQogKiBGaXggcmFuZ2UgbWVyZ2luZyB3aGVuIERFUyBzY29yZXMgYXJlIHplcm8gKENBU1NBTkRSQS03NTM1KQogKiBXYXJuIHdoZW4gU1NMIGNlcnRpZmljYXRlcyBoYXZlIGV4cGlyZWQgKENBU1NBTkRSQS03NTI4KQogKiBGaXggZXJyb3Igd2hlbiBkb2luZyByZXZlcnNlZCBxdWVyaWVzIHdpdGggc3RhdGljIGNvbHVtbnMgKENBU1NBTkRSQS03NDkwKQpNZXJnZWQgZnJvbSAxLjI6CiAqIFNldCBjb3Jybp4agAAAAU/ePLJcABBjayBjb2x1bW4gZmFtaWx5AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyiAAABAEFTU0FORFJBLTU2MjkpCiAqIEFsbG93IEdQRlMgdG8gcHJlZmVyIHRoZSBpbnRlcm5hbCBJUCBsaWtlIEVDMk1SUyAoQ0FTU0FORFJBLTU2MzApCiAqIGZpeCBoZWxwIHRleHQgZm9yIC10c3B3IGNhc3NhbmRyYS1jbGkgKENBU1NBTkRSQS01NjQzKQogKiBkb24ndCB0aHJvdyBhd2F5IGluaXRpYWwgY2F1c2VzIGV4Y2VwdGlvbnMgZm9yIGludGVybm9kZSBlbmNyeXB0aW9uIGlzc3VlcyAKICAgKENBU1NBTkRSQS01NjQ0KQogKiBGaXggbWVzc2FnZSBOhe7KAAABT948slwAEDogZml4IGJhZCBkZWNvZGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKIAAAEAdmFsdWVzIChDQVNTQU5EUkEtNTM0MSkKICogRml4IE5QRSBkdXJpbmcgY3FsMyBzZWxlY3Qgd2l0aCB0b2tlbigpIChDQVNTQU5EUkEtNTQwNCkKICogSW5kZXhIZWxwZXIuc2tpcEJsb29tRmlsdGVycyB3b24ndCBza2lwIG5vbi1TSEEgZmlsdGVycyAoQ0FTU0FORFJBLTUzODUpCiAqIGNxbHNoOiBQcmludCBtYXBzIG9yZGVyZWQgYnkga2V5LCBzb3J0IHNldHMgKENBU1NBTkRSQS01NDEzKQogKiBBZGQgbnVsbCBzeW50YXggc3VwcG9ydCBpbiBDUeIxNSoAAAFP3jyyXAAQYWluIG9ubHkgbG9jYWwgZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsowAAAQBlIG1lc3NhZ2UgaW5pdGlhdGlvbiB0aW1lIHRvIHJlcGxpY2FzIHNvIHRoZXkgY2FuIG1vcmUKICAgYWNjdXJhdGVseSBkcm9wIHRpbWVkLW91dCByZXF1ZXN0cyAoQ0FTU0FORFJBLTI4NTgpCiAqIGZpeCBjbGllbnR1dGlsLmphciBkZXBlbmRlbmNpZXMgKENBU1NBTkRSQS00NTY2KQogKiBvcHRpbWl6ZSBXcml0ZVJlc3BvbnNlIChDQVNTQU5EUkEtNDU0OCkKICogbmV3IG1ldHJpY3MgKENBU1NBTkRSQS00MDA5KQogKiByZWRlc2lnbiBLRVlTIGlur3lXPgAAAU/ePLJcABBzZXJpYWxpemF0aW9uIG9mAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyjAAABAGZpbmlzaCAoQ0FTU0FORFJBLTY4MjUpCiAqIEZpeCB1bmludGVuZGVkIHVwZGF0ZSB3aXRoIGNvbmRpdGlvbmFsIHN0YXRlbWVudCAoQ0FTU0FORFJBLTY4OTMpCiAqIEZpeCBtYXAgZWxlbWVudCBhY2Nlc3MgaW4gSUYgKENBU1NBTkRSQS02OTE0KQogKiBBdm9pZCBjb3N0bHkgcmFuZ2UgY2FsY3VsYXRpb25zIGZvciByYW5nZSBxdWVyaWVzIG9uIHN5c3RlbSBrZXlzcGFjZXMKICAgKENBU1NBTkRSQS02OTA2KQogKiBGaXggU1NUYWJsZSBub3QgcmWdhJNSAAABT948slwAEGRpZ2VzdCByZWFkcyAoQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKMAAAEAIHJlcXVpcmVtZW50cyAoQ0FTU0FORFJBLTc5MjYpCiAqIEVuc3VyZSBtZW10YWJsZSBmbHVzaCBjYW5ub3QgZXhwaXJlIGNvbW1pdCBsb2cgZW50cmllcyBmcm9tIGl0cyBmdXR1cmUgKENBU1NBTkRSQS04MzgzKQogKiBNYWtlIHJlYWQgImRlZnJhZyIgYXN5bmMgdG8gcmVjbGFpbSBtZW10YWJsZXMgKENBU1NBTkRSQS04NDU5KQogKiBSZW1vdmUgdG1wbGluayBmaWxlcyBmb3Igb2ZmbGluZSBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTgzMjEpCiAqINPZvX4ACAul5BPXOQAAAU/ePLJcABBvZiB1c2UpCiAqIG1ha2UgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCykAAABAFJBLTE5NjApCiAqIGNvbmZpZ3VyYWJsZSBpbnRlcm5vZGUgZW5jcnlwdGlvbiAoQ0FTU0FORFJBLTE1NjcsIDIxNTIpCiAqIGh1bWFuIHJlYWRhYmxlIGNvbHVtbiBuYW1lcyBpbiBzc3RhYmxlMmpzb24gb3V0cHV0IChDQVNTQU5EUkEtMTkzMykKICogY2hhbmdlIGRlZmF1bHQgSk1YIHBvcnQgdG8gNzE5OSAoQ0FTU0FORFJBLTIwMjcpCiAqIGJhY2t3YXJkcyBjb21wYXRpYmxlIGludGVybmFsIG1lc3NhZ2luZyAoQ0FTU0FORFJBLTEwMTUpCiAqIGFKoLQAAAABT948slwAEEFOVExSIHRpbWVvdXQgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKQAAAEAbmQgVXNlQ01TSW5pdGlhdGluZ09jY3VwYW5jeU9ubHkKICAgdG8gZGVmYXVsdCBKVk0gb3B0aW9ucwogKiBkZWNyZWFzZSBqdm0gaGVhcCBmb3IgY2Fzc2FuZHJhLWNsaSAoQ0FTU0FORFJBLTE0NDYpCiAqIGFiaWxpdHkgdG8gbW9kaWZ5IGtleXNwYWNlcyBhbmQgY29sdW1uIGZhbWlseSBkZWZpbml0aW9ucyBvbiBhIGxpdmUgY2x1c3RlcgogICAoQ0FTU0FORFJBLTEyODUpCiAqIHN1cHBvcnQgZm9yIEhhZG9vcCBTdHJlYW1pbmcgW25vbi1qdm0gbSTG98wAAAFP3jyyXAAQcXVlbnRseS11cGRhdGVkIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgspAAAAQAqIGFkZCBsYXRlbmN5IGhpc3RvZ3JhbXMgdG8gQ0ZTTUJlYW4gKENBU1NBTkRSQS0xMDI0KQogKiBtYWtlIHJlc29sdmluZyB0aW1lc3RhbXAgdGllcyBkZXRlcm1pbmlzdGljIGJ5IHVzaW5nIHZhbHVlIGJ5dGVzCiAgIGFzIGEgdGllYnJlYWtlciAoQ0FTU0FORFJBLTEwMzkpCiAqIEFkZCBvcHRpb24gdG8gdHVybiBvZmYgSGludGVkIEhhbmRvZmYgKENBU1NBTkRSQS04OTQpCiAqIGZpeCB3aW5kb3dzIHN0YXJ0dXAgKENBU1NBTkRSQS05NDgpCiAq9L7y2wAAAU/ePLJcABAgcm93IGRvZXMgbm90IGV4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCykAAABAHVlcmllcyAoQ0FTU0FORFJBLTE2MzUpCiAqIGNsaSBzdXBwb3J0IGZvciB1cGRhdGluZyBzY2hlbWEgbWVtdGFibGUgc2V0dGluZ3MgKENBU1NBTkRSQS0xNjM0KQogKiBjbGkgLS1maWxlIG9wdGlvbiAoQ0FTU0FORFJBLTE2MTYpCiAqIHJlZHVjZSBhdXRvbWF0aWNhbGx5IGNob3NlbiBtZW10YWJsZSBzaXplcyBieSA1MCUgKENBU1NBTkRSQS0xNjQxKQogKiBtb3ZlIGVuZHBvaW50IGNhY2hlIGZyb20gc25pdGNoIHRvIHN0cmF0ZWd5IChDQVNTQU6qV0svAAABT948slwAEEZpeCBkdXBsaWNhdGUgU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKQAAAEAaW9uZXIgY29uZmlnIGNoYW5nZXMgYmV0d2VlbiByZXN0YXJ0cyBhbmQgZmFpbCBmYXN0IAogICAoQ0FTU0FORFJBLTExNDYpCiAqIHVzZSBnZW5lcmF0aW9uIHRpbWUgdG8gcmVzb2x2ZSBub2RlIHRva2VuIHJlYXNzaWdubWVudCBkaXNhZ3JlZW1lbnRzCiAgIChDQVNTQU5EUkEtMTExOCkKICogcmVzdHJ1Y3R1cmUgdGhlIHN0YXJ0dXAgb3JkZXJpbmcgb2YgR29zc2lwZXIgYW5kIE1lc3NhZ2VTZXJ2aWNlIHRvIGF2b2lkCiAgIHRpbWluZyBhbm9tYTZ0r1cAAAFP3jyyXAAQYXJ0aW5nIDAuNyBmb3IgdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgspAAAAQAxLjEgZGlyZWN0b3J5IHN0cnVjdHVyZSAoQ0FTU0FORFJBLTUxOTUpCiAqIGFkZCB0bXAgZmxhZyB0byBEZXNjcmlwdG9yIGhhc2hjb2RlIChDQVNTQU5EUkEtNDAyMSkKICogZml4IGxvZ2dpbmcgb2YgIkZvdW5kIHRhYmxlIGRhdGEgaW4gZGF0YSBkaXJlY3RvcmllcyIgd2hlbiBvbmx5IHN5c3RlbSB0YWJsZXMKICAgYXJlIHByZXNlbnQgKENBU1NBTkRSQS01Mjg5KQogKiBjbGk6IEFkZCBKTVggYXV0aGVudGljYXRpb24gc3VwcG9ydCAoQ0FTU0FOnRJWigAAAU/ePLJcABBjZW1lbnQgdG8gdXNlIHJlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCykAAABAGxpbmcgc3luYygpIChDQVNTQU5EUkEtNjY1MikKICogTWFrZSBjb21taXRsb2cgZmFpbHVyZSBoYW5kbGluZyBjb25maWd1cmFibGUgKENBU1NBTkRSQS02MzY0KQogKiBBdm9pZCBvdmVybGFwcyBpbiBMQ1MgKENBU1NBTkRSQS02Njg4KQogKiBJbXByb3ZlIHN1cHBvcnQgZm9yIHBhZ2luYXRpbmcgb3ZlciBjb21wb3NpdGVzIChDQVNTQU5EUkEtNDg1MSkKICogRml4IGNvdW50KCopIHF1ZXJpZXMgaW4gYSBtaXhlZCBjbHVzdGVyIChDQVNTQU5EUkGvY6TbAAABT948slwAECBzcGFubmluZyBtbWFwIGIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKQAAAEAKiBub2RldG9vbCB3b24ndCBvdXRwdXQgYm9ndXMgb3duZXJzaGlwIGluZm8gd2l0aG91dCBhIGtleXNwYWNlIChDQVNTQU5EUkEtNzE3MykKICogQWRkIGh1bWFuIHJlYWRhYmxlIG9wdGlvbiB0byBub2RldG9vbCBjb21tYW5kcyAoQ0FTU0FORFJBLTU0MzMpCiAqIERvbid0IHRyeSB0byBzZXQgcmVwYWlyZWRBdCBvbiBvbGQgc3N0YWJsZXMgKENBU1NBTkRSQS03OTEzKQogKiBBZGQgbWV0cmljcyBmb3IgdHJhY2tpbmcgUHJlcGFyZWRTdGF0ZW1lbh3TbLkAAAFP3jyyXAAQZSBjb21wdXRhdGlvbiBvZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgspAAAAQBmcm9tIFRocmlmdCBjb252ZXJzaW9uIHdpdGggZW1wdHkgbWV0YWRhdGEgKENBU1NBTkRSQS04Njk1KQogKiBTYWZlciBSZXNvdXJjZSBNYW5hZ2VtZW50IChDQVNTQU5EUkEtNzcwNSkKICogTWFrZSBzdXJlIHdlIGNvbXBhY3QgaGlnaGx5IG92ZXJsYXBwaW5nIGNvbGQgc3N0YWJsZXMgd2l0aAogICBTVENTIChDQVNTQU5EUkEtODYzNSkKICogcnBjX2ludGVyZmFjZSBhbmQgbGlzdGVuX2ludGVyZmFjZSBnZW5lcmF0ZSBOUEUgb24gc3RhcnR1cCB35vVg+wAAAU/ePLJcABBvdyBlc3RpbWF0ZWQgbWVtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCykAAABAEggcGFnaW5nIChDQVNTQU5EUkEtMTQzMikKICogaW5jbHVkZSBzZWNvbmRhcnkgaW5kZXhlcyBkdXJpbmcgc2NoZW1hIG1pZ3JhdGlvbnMgKENBU1NBTkRSQS0xNDA2KQogKiBmaXggY29tbWl0bG9nIGhlYWRlciByYWNlIGR1cmluZyBzY2hlbWEgY2hhbmdlIChDQVNTQU5EUkEtMTQzNSkKICogZml4IENvbHVtbkZhbWlseVN0b3JlTUJlYW5JdGVyYXRvciB0byB1c2UgbmV3IHR5cGUgbmFtZSAoQ0FTU0FORFJBLTE0MzMpCiAqIGNvcnJlY3QgZmlsZW6vp24wAAABT948slwAEFNlcnZpY2VNQmVhbiB0YWsAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKQAAAEAdHMgKENBU1NBTkRSQS0yNjU0KQogKiBmaXggbm9kZXRvb2wgcmluZyB1c2Ugd2l0aCBFYzJTbml0Y2ggKENBU1NBTkRSQS0yNzMzKQogKiBmaXggcmVtb3ZpbmcgY29sdW1ucyBhbmQgc3ViY29sdW1ucyB0aGF0IGFyZSBzdXByZXNzZWQgYnkgYSByb3cgb3IKICAgc3VwZXJjb2x1bW4gdG9tYnN0b25lIGR1cmluZyByZXBsaWNhIHJlc29sdXRpb24gKENBU1NBTkRSQS0yNTkwKQogKiBzdXBwb3J0IHNzdGFibGUyanNvbiBhZ2FpbnN0IHNuYXBzaG90IMWDX2gAAAFP3jyyXAAQcG9ydCB0b29scyAoc2V2ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgspAAAAQBsaWNlIHJlc3VsdHMgdG8gVGhyaWZ0IAogICAoQ0FTU0FORFJBLTY0NywgQ0FTU0FORFJBLTY0OSkKICogZXhwb3NlIGphdmEudXRpbC5jb25jdXJyZW50LlRpbWVvdXRFeGNlcHRpb24gaW4gU3RvcmFnZVByb3h5IG1ldGhvZHMKICAgKENBU1NBTkRSQS02MDApCiAqIFRjcENvbm5lY3Rpb25NYW5hZ2VyIHdhcyBob2xkaW5nIG9uIHRvIGRpc2Nvbm5lY3RlZCBjb25uZWN0aW9ucywgCiAgIGdpdmluZyB0aGUgZmFsc2UgaW5kaWNhdGlvbiB0aGV5IHdlqeOH2QAAAU/ePLJcABBhIHVzZXIgcHJvdmlkZWQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCykAAABACkKICogTG9nIGFjdGl2ZSBjb21wYWN0aW9ucyBpbiBTdGF0dXNMb2dnZXIgKENBU1NBTkRSQS0zNzAzKQogKiBDb21wdXRlIG1vcmUgYWNjdXJhdGUgY29tcGFjdGlvbiBzY29yZSBwZXIgbGV2ZWwgKENBU1NBTkRSQS0zNzkwKQogKiBSZXR1cm4gSW52YWxpZFJlcXVlc3Qgd2hlbiB1c2luZyBhIGtleXNwYWNlIHRoYXQgZG9lc24ndCBleGlzdAogICAoQ0FTU0FORFJBLTM3NjQpCiAqIGRpc2FsbG93IHVzZXIgbW9kaWZpY2F0aW9uIG9mIFN5c3RlbSAz5XzRAAABT948slwAEDE5OCkKICogVXBkYXRlIHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKQAAAEAKQogKiBPcHRpbWl6ZSByZWFkcyB3aGVuIHJvdyBkZWxldGlvbiB0aW1lc3RhbXBzIGFsbG93IHVzIHRvIHJlc3RyaWN0CiAgIHRoZSBzZXQgb2Ygc3N0YWJsZXMgd2UgY2hlY2sgKENBU1NBTkRSQS00MTE2KQogKiBhZGQgc3VwcG9ydCBmb3IgY29tbWl0bG9nIGFyY2hpdmluZyBhbmQgcG9pbnQtaW4tdGltZSByZWNvdmVyeQogICAoQ0FTU0FORFJBLTM2OTApCiAqIGF2b2lkIGdlbmVyYXRpbmcgcmVkdW5kYW50IGNvbXBhY3Rpb24gdGFza3MgZHVyaZ9w794AAAFP3jyyXAAQNikKICogbWFrZSBsb2FkTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgspAAAAQBTU0FORFJBLTY3NSkKICogd2FpdCBmb3IgdGFibGUgZmx1c2ggYmVmb3JlIHN0cmVhbWluZyBkYXRhIGJhY2sgdG8gYSBib290c3RyYXBwaW5nIG5vZGUuCiAgIChDQVNTQU5EUkEtNjk2KQogKiBrZWVwIHRyYWNrIG9mIGJvb3RzdHJhcHBpbmcgc291cmNlcyBieSB0YWJsZSBzbyB0aGF0IGJvb3RzdHJhcHBpbmcgZG9lc24ndCAKICAgZ2l2ZSB0aGUgaW5kaWNhdGlvbiBvZiBmaW5pc2hpbmcgZWFybHkgKENBU1NBTkRSQS02NzMpCgoKMC41LjAgUkMz1WuxBgAIIAKJ/aBwAAABT948slwAEHRlc1NlYXJjaGVyIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKcAAAEAb2NraW5nIG9uIHVwZGF0ZSB3aGVuIG5vIGluZGV4ZXMgYXJlIGludm9sdmVkIChDQVNTQU5EUkEtMzM4NikKICogZml4IGFzc2VydGlvbkVycm9yIGR1cmluZyByZXBhaXIgd2l0aCBvcmRlcmVkIHBhcnRpdGlvbmVycyAoQ0FTU0FORFJBLTMzNjkpCiAqIGNvcnJlY3RseSBzZXJpYWxpemUga2V5X3ZhbGlkYXRpb25fY2xhc3MgZm9yIGF2cm8gKENBU1NBTkRSQS0zMzkxKQogKiBkb24ndCBleHBpcmUgY291bnRlciB0b21ic3RvbmUgYWZ0ZXIgc3RyZRTpbM4AAAFP3jyyXAAQZW50IHRvIHNlZSBjb21tbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgspwAAAQB2ZWwuQUxMIG9uIHJlYWQgKENBU1NBTkRSQS01ODQpCiAqIGFkZCBub2RlcHJvYmUgcmVtb3ZldG9rZW4gY29tbWFuZCAoQ0FTU0FORFJBLTU2NCkKCgowLjUuMCBiZXRhCiAqIEFsbG93IG11bHRpcGxlIHNpbXVsdGFuZW91cyBmbHVzaGVzLCBpbXByb3ZpbmcgZmx1c2ggdGhyb3VnaHB1dCAKICAgb24gbXVsdGljb3JlIHN5c3RlbXMgKENBU1NBTkRSQS00MDEpCiAqIFNwbGl0IHVwIGxvY2tzIHRvIGltcHJvdmUgd3JpdGUgYW5kIHJlYWQgdGhyb3Vnz0dLcAAAAU/ePLJcABBoYW5kbGUgY29ycnVwdGVkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCynAAABAGluZ2xlLWNvbHVtbgogICByZWxhdGlvbnMgb24gY2x1c3RlcmluZyBjb2x1bW5zIChDQVNTQU5EUkEtNzcxMSkKICogQmV0dGVyIGVycm9yIG1lc3NhZ2Ugd2hlbiBjb25kaXRpb24gaXMgc2V0IG9uIFBLIGNvbHVtbiAoQ0FTU0FORFJBLTc4MDQpCiAqIERvbid0IHNlbmQgc2NoZW1hIGNoYW5nZSByZXNwb25zZXMgYW5kIGV2ZW50cyBmb3Igbm8tb3AgRERMCiAgIHN0YXRlbWVudHMgKENBU1NBTkRSQS03NjAwKQogKiAoSGFkb29wKSBmaXggY2x1c3RVhVVXAAABT948slwAEGVwdCBjb21tYSBkZWxpbWkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKcAAAEAIG1hbmlmZXN0IChDQVNTQU5EUkEtNjA5MykKICogbWFrZSBzZXF1ZW50aWFsIG5vZGV0b29sIHJlcGFpciB0aGUgZGVmYXVsdCAoQ0FTU0FORFJBLTU5NTApCiAqIEFkZCBtb3JlIGhvb2tzIGZvciBjb21wYWN0aW9uIHN0cmF0ZWd5IGltcGxlbWVudGF0aW9ucyAoQ0FTU0FORFJBLTYxMTEpCiAqIEZpeCBwb3RlbnRpYWwgTlBFIG9uIGNvbXBvc2l0ZSAybmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTYwOTgpCiAqIERlbGV0ZSBjYW4gcG90ZW50aWFsbG5QkOUAAAFP3jyyXAAQYnVsayBsb2FkaW5nIHVzZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgspwAAAQBlcHJlY2F0ZWQgS3NEZWYvQ2ZEZWYvQ29sdW1uRGVmIGZpZWxkcyBpbiBuYXRpdmUgc2NoZW1hIChDQVNTQU5EUkEtMzk2MykKICogQ0xJIHRvIHJlcG9ydCB3aGVuIHVuc3VwcG9ydGVkIGNvbHVtbl9tZXRhZGF0YSBwYWlyIHdhcyBnaXZlbiAoQ0FTU0FORFJBLTM5NTkpCiAqIHJlaW5jYXJuYXRlIHJlbW92ZWQgYW5kIGRlcHJlY2F0ZWQgS3NEZWYvQ2ZEZWYgYXR0cmlidXRlcyAoQ0FTU0FORFJBLTM5NTMpCiAqIEZpeCByYWNlIGJldHdlZW4gd3JpoMYAngAAAU/ePLJcABBlbnRlZEZpbGUgQVBJIChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCynAAABAHRlciB1cGdyYWRlIGZyb20gcHJlLTEuMS41IChDQVNTQU5EUkEtNTA2MSkKICogRml4IEFMVEVSIFRBQkxFIG92ZXJyaWRpbmcgY29tcHJlc3Npb24gb3B0aW9ucyB3aXRoIGRlZmF1bHRzCiAgIChDQVNTQU5EUkEtNDk5NiwgNTA2NikKICogZml4IHNwZWNpZnlpbmcgYW5kIGFsdGVyaW5nIGNyY19jaGVja19jaGFuY2UgKENBU1NBTkRSQS01MDUzKQogKiBmaXggTXVybXVyM1BhcnRpdGlvbmVyIG93bmVyc2hpcCUgY2FsY3VsYXRpb24gKENBU1NBTkREuMCIAAABT948slwAECAoQ0FTU0FORFJBLTQ5MzEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKcAAAEACjAuNy4wLWJldGEzCiAqIGFkZCBzdHJhdGVneSBvcHRpb25zIHRvIGRlc2NyaWJlX2tleXNwYWNlIG91dHB1dCAoQ0FTU0FORFJBLTE1NjApCiAqIGxvZyB3YXJuaW5nIHdoZW4gdXNpbmcgcmFuZG9tbHkgZ2VuZXJhdGVkIHRva2VuIChDQVNTQU5EUkEtMTU1MikKICogcmUtb3JnYW5pemUgSk1YIGludG8gLmRiLCAubmV0LCAuaW50ZXJuYWwsIC5yZXF1ZXN0IChDQVNTQU5EUkEtMTIxNykKICogYWxsb3cgbm9kZXMgdG8gY2hhbmdlIElQcyBiZXR3ZaKDi4IAAAFP3jyyXAAQTkRSQS0zMTU2KQogKiBSZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsqAAAAQAgZG8gbm90IHN1cHBvcnQgdW5hbGlnbmVkIGxvbmcgYWNjZXNzCiAgIChDQVNTQU5EUkEtNjYyOCkKICogTGV0IHNjcnViIG9wdGlvbmFsbHkgc2tpcCBicm9rZW4gY291bnRlciBwYXJ0aXRpb25zIChDQVNTQU5EUkEtNTkzMCkKTWVyZ2VkIGZyb20gMS4yOgogKiBmc3luYyBjb21wcmVzc2lvbiBtZXRhZGF0YSAoQ0FTU0FORFJBLTY1MzEpCiAqIFZhbGlkYXRlIENGIGV4aXN0ZW5jZSBvbiBleGVjdXRpb24gZm9yIHByZXBhcmVkIHN0YXRlbWVudCAoUhNQ1AAAAU/ePLJcABAgKiBmaXggY29ybmVyIGNhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyoAAABAE5EUkEtNjA1OSkKICogTWFrZSBUaHJpZnRTZXJ2ZXIgbW9yZSBlYXNsbHkgZXh0ZW5zaWJsZSAoQ0FTU0FORFJBLTYwNTgpCiAqIFJlbW92ZSBIYWRvb3AgZGVwZW5kZW5jeSBmcm9tIElUcmFuc3BvcnRGYWN0b3J5IChDQVNTQU5EUkEtNjA2MikKICogYWRkIGZpbGVfY2FjaGVfc2l6ZV9pbl9tYiBzZXR0aW5nIChDQVNTQU5EUkEtNTY2MSkKICogSW1wcm92ZSBlcnJvciBtZXNzYWdlIHdoZW4geWFtbCBjb250YWlucyBpbnZhbGlkIHByb3BlcnRpZXMRECWqAAABT948slwAECAqIEluY2x1ZGUgc3RyZXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKgAAAEAb24gd2hlbiBzdHJlYW1pbmcgZGF0YSBmcm9tIG9sZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTIyODMpCiAqIGRvbid0IHN0YXJ0IHJlcGFpciBpZiBhIG5laWdoYm9yaW5nIG5vZGUgaXMgbWFya2VkIGFzIGRlYWQgKENBU1NBTkRSQS0yMjkwKQogKiBwdXJnZSB0b21ic3RvbmVzIGZyb20gcm93IGNhY2hlIChDQVNTQU5EUkEtMjMwNSkKICogQXZvaWQgc2Vla2luZyB3aGVuIHNzdGFibGUyanNvbiBleHBvcnRzIHRoZSBlbnRpcmUgZmlsZSAoQ0FTU0FORBJ/EC0AAAFP3jyyXAAQOTYpCiAqIChjcWxzaCkgQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsqAAAAQAKICogVGhyb3cgT09NIGlmIGFsbG9jYXRpbmcgbWVtb3J5IGZhaWxzIHRvIHJldHVybiBhIHZhbGlkIHBvaW50ZXIgKENBU1NBTkRSQS04NzI2KQogKiBGaXggU1NUYWJsZVNpbXBsZVVuc29ydGVkV3JpdGVyIENvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb24gKENBU1NBTkRSQS04NjE5KQogKiAnbm9kZXRvb2wgaW5mbycgcHJpbnRzIGV4Y2VwdGlvbiBhZ2FpbnN0IG9sZGVyIG5vZGUgKENBU1NBTkRSQS04Nzk2KQogKiBFbnN1cmUgU1NUYWJs8/5nWgAAAU/ePLJcABBEUkEtODYxOCkKICogRml4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyoAAABAE1CZWFuIHRvIGV4cG9zZSByYWNrIGFuZCBEQyAoQ0FTU0FORFJBLTE0OTEpCiAqIGFkZGVkIG9wdGlvbiB0byBjb250cmliL3dvcmRfY291bnQgdG8gb3V0cHV0IHJlc3VsdHMgYmFjayB0byBDYXNzYW5kcmEKICAgKENBU1NBTkRSQS0xMzQyKQogKiByZXdyaXRlIEhhZG9vcCBDb2x1bW5GYW1pbHlSZWNvcmRXcml0ZXIgdG8gcG9vbCBjb25uZWN0aW9ucywgcmV0cnkgdG8KICAgbXVsdGlwbGUgQ2Fzc2FuZHJhIG5vZGVzLCBhbmQgc21vb3RoIGltcGF1p6/OAAABT948slwAEG5hbWUgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKgAAAEAY29sbGVjdFRpbWVPcmRlcmVkRGF0YSgpIHRvbWJzdG9uZSBvcHRpbWlzYXRpb25zIChDQVNTQU5EUkEtNzM5NCkKICogU3VwcG9ydCBESVNUSU5DVCBmb3Igc3RhdGljIGNvbHVtbnMgYW5kIGZpeCBiZWhhdmlvdXIgd2hlbiBESVNUSU5DIGlzCiAgIG5vdCB1c2UgKENBU1NBTkRSQS03MzA1KS4KICogV29ya2Fyb3VuZCBKVk0gTlBFIG9uIEpNWCBiaW5kIGZhaWx1cmUgKENBU1NBTkRSQS03MjU0KQogKiBGaXggcmFjZSBpbiBGaWxlQ2FjaGVTZXJ2aUr//JAAAAFP3jyyXAAQcnJlbnRfd3JpdGVzIGNvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsqAAAAQBjYXVnaHRFeGNlcHRpb25IYW5kbGVyIGZyb20gRFRQRSB3aXRoIHRoZSBvcmlnaW5hbAogICBleGNlcHRpb24gcmF0aGVyIHRoYW4gdGhlIEV4ZWN1dGlvbkV4Y2VwdGlvbiB3cmFwcGVyIChDQVNTQU5EUkEtMTIyNikKICogcmVtb3ZlIENsb2NrIGZyb20gdGhlIFRocmlmdCAoYW5kIEF2cm8pIEFQSSAoQ0FTU0FORFJBLTE1MDEpCiAqIENsb3NlIGludHJhLW5vZGUgc29ja2V0cyB3aGVuIGNvbm5lY3Rpb24gaXMgYnJva2VuIChDQVNTQU5EUkEtMTUyupsxnQAAAU/ePLJcABB2aWEgc3RkaW4vb3V0XQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyoAAABAE5EUkEtNDExNikKICogYWRkIHN1cHBvcnQgZm9yIGNvbW1pdGxvZyBhcmNoaXZpbmcgYW5kIHBvaW50LWluLXRpbWUgcmVjb3ZlcnkKICAgKENBU1NBTkRSQS0zNjkwKQogKiBhdm9pZCBnZW5lcmF0aW5nIHJlZHVuZGFudCBjb21wYWN0aW9uIHRhc2tzIGR1cmluZyBzdHJlYW1pbmcKICAgKENBU1NBTkRSQS00MTc0KQogKiBhZGQgLWNmIG9wdGlvbiB0byBub2RldG9vbCBzbmFwc2hvdCwgYW5kIHRha2VDb2x1bW5GYW1pbHlTbmFwc2hvdCB0bwogICDRZOb5AAg0X7c/a1IAAAFP3jyyXAAQYXV0aGVudGljYXRvciBjbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsqwAAAQAgb3B0aW1pemUgVVVJREdlbiB0byBhdm9pZCBsb2NrIGNvbnRlbnRpb24gb24gSW5ldEFkZHJlc3MuZ2V0TG9jYWxIb3N0IAogICAoQ0FTU0FORFJBLTMzODcpCiAqIHRvbGVyYXRlIGluZGV4IGJlaW5nIGRyb3BwZWQgbWlkLW11dGF0aW9uIChDQVNTQU5EUkEtMzMzNCwgMzMxMykKICogQ29tcGFjdGlvbk1hbmFnZXIgaXMgbm93IHJlc3BvbnNpYmxlIGZvciBjaGVja2luZyBmb3IgbmV3IGNhbmRpZGF0ZXMKICAgcG9zdC10YXNrIGV4ZWN1dGlvbiwgAKEhKgAAAU/ePLJcABBhbiBwYWNrYWdpbmcgZml4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyrAAABAG1hbnVhbGx5LCBpZiBuZWNlc3NhcnkgKENBU1NBTkRSQS0xMTQxKQogKiBkb24ndCByZWplY3QgcmVhZHMgYXQgQ0wuQUxMIChDQVNTQU5EUkEtMTE1MikKICogcmVqZWN0IGRlbGV0aW9ucyB0byBzdXBlcmNvbHVtbnMgaW4gQ0ZzIGNvbnRhaW5pbmcgb25seSBzdGFuZGFyZAogICBjb2x1bW5zIChDQVNTQU5EUkEtMTEzOSkKICogYXZvaWQgcHJlc2VydmluZyBsb2dpbiBpbmZvcm1hdGlvbiBhZnRlciBjbGllbnQgZGlzY29ubmVjdHMKICAgKENBU1M1EysAAAABT948slwAEGhlLXBvbGx1dGluZyB3cmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKsAAAEAb20gZmlsdGVyCiAgIHZlcmlmaWVzIHRoYXQgcm93IGRvZXMgbm90IGV4aXN0IGluIG90aGVyIHNzdGFibGVzIChDQVNTQU5EUkEtMTA3NCkKICogbm9kZXMgdGhhdCBjb29yZGluYXRlZCBhIGxvYWRiYWxhbmNlIGluIHRoZSBwYXN0IGNvdWxkIG5vdCBiZSBzZWVuIGJ5CiAgIG5ld2x5IGFkZGVkIG5vZGVzIChDQVNTQU5EUkEtMTQ2NykKICogZXhwb3NlZCBlbmRwb2ludCBzdGF0ZXMgKGdvc3NpcCBkZXRhaWxzKSB2aWEgam14IChDQVNTQU5EUkEtMZxf4xsAAAFP3jyyXAAQIHJlY292ZXJ5IGRlbGV0aQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsqwAAAQBTQU5EUkEtMzExMSkKICogQWRkIHZhbGlkYXRpb24gdGhhdCBLZXlzcGFjZSBuYW1lcyBhcmUgY2FzZS1pbnNlbnNpdGl2ZWx5IHVuaXF1ZSAoQ0FTU0FORFJBLTMwNjYpCiAqIGNhdGNoIGludmFsaWQga2V5X3ZhbGlkYXRpb25fY2xhc3MgYmVmb3JlIGluc3RhbnRpYXRpbmcgVXBkYXRlQ29sdW1uRmFtaWx5IChDQVNTQU5EUkEtMzEwMikKICogbWFrZSBSYW5nZSBhbmQgQm91bmRzIG9iamVjdHMgY2xpZW50LXNhZmUgKENBU1NBTkRSQS0zMTA4KQogfrIt+AAAAU/ePLJcABBydHVwCiAgIHRvIGFsbG93AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyrAAABAGEgKENBU1NBTkRSQS0zNTQwKQogKiBmaXggTlBFIGluIGdldF9jb3VudCBmb3IgY291bnRlcnMgKENBU1NBTkRSQS0zNjAxKQpNZXJnZWQgZnJvbSAwLjg6CiAqIHJlbW92ZSBpbnZhbGlkIGFzc2VydGlvbiB0aGF0IHRhYmxlIHdhcyBvcGVuZWQgYmVmb3JlIGRyb3BwaW5nIGl0CiAgIChDQVNTQU5EUkEtMzU4MCkKICogcmFuZ2UgYW5kIGluZGV4IHNjYW5zIG5vdyBvbmx5IHNlbmQgcmVxdWVzdHMgdG8gZW5vdWdoIHJlcGxpY2FzIHRvCiAgIHNhdGllsiPLAAABT948slwAEHRpb24gZHVyaW5nIGhpbnQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKsAAAEALWVudi5zaCAoQ0FTU0FORFJBLTI3ODUsIDI5OTIpCiAqIGF2b2lkIGRvaW5nIHJlYWQgZm9yIG5vLW9wIHJlcGxpY2F0ZS1vbi13cml0ZSBhdCBDTD0xIChDQVNTQU5EUkEtMjg5MikKICogcmVmdXNlIGNvdW50ZXIgd3JpdGUgZm9yIENMLkFOWSAoQ0FTU0FORFJBLTI5OTApCiAqIHN3aXRjaCBiYWNrIHRvIG9ubHkgbG9nZ2luZyByZWNlbnQgZHJvcHBlZCBtZXNzYWdlcyAoQ0FTU0FORFJBLTMwMDQpCiAqIGFsd2F5cyBkZXNlcmlhbGl6ZSBSb3dNdYNiWnAAAAFP3jyyXAAQIHJlYWQgZnJvbSBPVEMncwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsqwAAAQBtZXRhZGF0YSBoYW5kbGluZyAoQ0FTU0FORFJBLTUxODkpCiAqIFZhbGlkYXRlIGxvZ2luIGZvciBVU0UgcXVlcmllcyAoQ0FTU0FORFJBLTUyMDcpCiAqIGNsaTogcmVtb3ZlIGRlZmF1bHQgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIChDQVNTQU5EUkEtNTIwOCkKICogY29uZmlndXJlIHBvcHVsYXRlX2lvX2NhY2hlX29uX2ZsdXNoIHBlci1DRiAoQ0FTU0FORFJBLTQ2OTQpCiAqIGFsbG93IGNvbmZpZ3VyYXRpb24gb2YgaW50ZXJub2RlIHNvY2tldCBihusVIwAAAU/ePLJcABAgb3V0cHV0IHN0cmVhbSBkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyrAAABAHdvcmtsb2FkIGFjY291bnRpbmcgKENBU1NBTkRSQS05MTk0KQogKiBBbGxvdyBzY3J1YiB0byBoYW5kbGUgY29ycnVwdGVkIGNvbXByZXNzZWQgY2h1bmtzIChDQVNTQU5EUkEtOTE0MCkKICogRml4IGFzc2VydGlvbiBlcnJvciB3aGVuIHJlc2V0bG9jYWxzY2hlbWEgaXMgcnVuIGR1cmluZyByZXBhaXIgKENBU1NBTkRSQS05MjQ5KQogKiBEaXNhYmxlIHNpbmdsZSBzc3RhYmxlIHRvbWJzdG9uZSBjb21wYWN0aW9ucyBmb3IgRFRDUyBieSBkZWZhdWz8jYfIAAABT948slwAEC04NTU4KQogKiBDaGVjayAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKsAAAEAIEphdmEgY2xhc3NwYXRoIG9uIHN0YXJ0dXAgKENBU1NBTkRSQS0yODk1KQogKiBrZWVwIGdvc3NpcHBlZCB2ZXJzaW9uIGluIHN5bmMgd2l0aCBhY3R1YWwgb24gbWlncmF0aW9uIGNvb3JkaW5hdG9yIAogICAoQ0FTU0FORFJBLTI5NDYpCiAqIHVzZSBsYXp5IGluaXRpYWxpemF0aW9uIGluc3RlYWQgb2YgY2xhc3MgaW5pdGlhbGl6YXRpb24gaW4gTm9kZUlkCiAgIChDQVNTQU5EUkEtMjk1MykKICogY2hlY2sgY29sdW1uIGZhbWlseSB2YWxpZGl0eaiJlmgAAAFP3jyyXAAQaHVuZGVyaW5nIGhlcmQgbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsqwAAAQBTQU5EUkEtMTc1NCkKICogYWRkIGZsdXNoIGZvciBlYWNoIGFwcGVuZCB0byBwZXJpb2RpYyBjb21taXRsb2cgbW9kZTsgYWRkZWQKICAgcGVyaW9kaWNfd2l0aG91dF9mbHVzaCBvcHRpb24gdG8gZGlzYWJsZSB0aGlzIChDQVNTQU5EUkEtMTc4MCkKICogY2xvc2UgZmlsZSBoYW5kbGUgdXNlZCBmb3IgcG9zdC1mbHVzaCB0cnVuY2F0ZSAoQ0FTU0FORFJBLTE3OTApCiAqIHZhcmlvdXMgY29kZSBjbGVhbnVwIChDQVNTQU5EUkEtMTc5MywgLTE3OTQs1DkoLQAAAU/ePLJcABBvZiBjb3VudGVyIGlkcyAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyrAAABAG9uIG5vZGVzIGRvIG5vdCB1cGRhdGUgdGhlaXIgSk1YIHN0YXR1cyAoQ0FTU0FORFJBLTkxNikKICogRml4IGludGVybmFsIFJQQyB0aW1lb3V0IGNhbGN1bGF0aW9uIChDQVNTQU5EUkEtOTExKQogKiBBZGRlZCBQaWcgbG9hZGZ1bmMgdG8gY29udHJpYi9waWcgKENBU1NBTkRSQS05MTApCgoKMC42LjAtYmV0YTMKICogZml4IGNvbXBhY3Rpb24gYnVja2V0aW5nIGJ1ZyAoQ0FTU0FORFJBLTgxNCkKICogdXBkYXRlIHdpbmRvd3MgYmF0Y2ggZmlsZSALKSR5AAABT948slwAEGNvbmRzLXNpbmNlLWVwb2MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKsAAAEATWVyZ2VkIGZyb20gMS4wOgogKiBzdXBwb3J0IFByb3BlcnR5RmlsZVNuaXRjaCBpbiBidWxrIGxvYWRlciAoQ0FTU0FORFJBLTQxNDUpCiAqIGFkZCBhdXRvX3NuYXBzaG90IG9wdGlvbiBhbGxvd2luZyBkaXNhYmxpbmcgc25hcHNob3QgYmVmb3JlIGRyb3AvdHJ1bmNhdGUKICAgKENBU1NBTkRSQS0zNzEwKQogKiBhbGxvdyBzaG9ydCBzbml0Y2ggbmFtZXMgKENBU1NBTkRSQS00MTMwKQoKCjEuMS1iZXRhMgogKiByZW5hbWUgbG9hZGVkIHNzdGFibOwFuCwAAAFP3jyyXAAQLTM0OTEpCiAqIGZpeCBpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsqwAAAQBlIGNvbXBhY3Rpb24KICAgKENBU1NBTkRSQS0yOTAxKQogKiBtYWtlIEFic3RyYWN0Qm91bmRzLm5vcm1hbGl6ZSBzdXBwb3J0IG92ZXJsYXBwaW5nIHJhbmdlcyAoQ0FTU0FORFJBLTI2NDEpCiAqIGZpeCBvZiB0aGUgQ1FMIGNvdW50KCkgYmVoYXZpb3IgKENBU1NBTkRSQS0zMDY4KQogKiB1c2UgVHJlZU1hcCBiYWNrZWQgY29sdW1uIGZhbWlsaWVzIGZvciB0aGUgU1NUYWJsZSBzaW1wbGUgd3JpdGVycwogICAoQ0FTU0FORFJBLTMxNDgpCiAqIGZppAI+3AAAAU/ePLJcABBvbiBwcmUtZXhpc3RpbmcgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyrAAABAGZpY2F0aW9uRXhjZXB0aW9uIAogICAoQ0FTU0FORFJBLTUzODIpCiAqIENvcnJlY3RseSB0eXBlY2hlY2sgaW4gQ1FMMyBldmVuIHdpdGggUmV2ZXJzZWRUeXBlIChDQVNTQU5EUkEtNTM4NikKICogRml4IHN0cmVhbWluZyBjb21wcmVzc2VkIGZpbGVzIHdoZW4gdXNpbmcgZW5jcnlwdGlvbiAoQ0FTU0FORFJBLTUzOTEpCiAqIGNhc3NhbmRyYS1hbGwgMS4yLjAgcG9tIG1pc3NpbmcgbmV0dHkgZGVwZW5kZW5jeSAoQ0FTU0FORFJBLTUzOTIpCiAqIEZymrQ/AAABT948slwAEGdlIGluIEFMVEVSIFRBQkwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILKsAAAEAMTExKQogKiBGaXggcG90ZW50aWFsIE5QRSBvbiBjb21wb3NpdGUgMm5kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS02MDk4KQogKiBEZWxldGUgY2FuIHBvdGVudGlhbGx5IGJlIHNraXBwZWQgaW4gYmF0Y2ggKENBU1NBTkRSQS02MTE1KQogKiBBbGxvdyBhbHRlciBrZXlzcGFjZSBvbiBzeXN0ZW1fdHJhY2VzIChDQVNTQU5EUkEtNjAxNikKICogRGlzYWxsb3cgZW1wdHkgY29sdW1uIG5hbWVzIGluIGNxbCAoQ0FTU0FORFJBLTYxMzYpCiAqIFVzZSBKYcYxJQwACEi8jEuRTgAAAU/ePLJcABBvciBwbHVnZ2FibGUgc2VjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCytAAABAEF2b2lkIHVubmVjZXNzYXJ5IHNlY29uZCBwYXNzIG9uIG5hbWUtYmFzZWQgcXVlcmllcyAoQ0FTU0FORFJBLTU1NzcpCiAqIEV4cGVyaW1lbnRhbCB0cmlnZ2VycyAoQ0FTU0FORFJBLTEzMTEpCiAqIEpFTWFsbG9jIHN1cHBvcnQgZm9yIG9mZi1oZWFwIGFsbG9jYXRpb24gKENBU1NBTkRSQS0zOTk3KQogKiBTaW5nbGUtcGFzcyBjb21wYWN0aW9uIChDQVNTQU5EUkEtNDE4MCkKICogUmVtb3ZlZCB0b2tlbiByYW5nZSBiaXNlY3Rpb24gKENBU1NBTkQSBmjMAAABT948slwAEGVuZHMgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILK0AAAEAICogRXhwaXJlIGVudHJpZXMgb3V0IG9mIFRocmlmdFNlc3Npb25NYW5hZ2VyIChDQVNTQU5SREEtNTcxOSkKICogRG9uJ3Qga2VlcCBhbmNlc3RvciBpbmZvcm1hdGlvbiBpbiBtZW1vcnkgKENBU1NBTkRSQS01MzQyKQogKiBjcWxzaDogZml4IGhhbmRsaW5nIG9mIHNlbWljb2xvbnMgaW5zaWRlIEJBVENIIHF1ZXJpZXMgKENBU1NBTkRSQS01Njk3KQoKCjEuMi42CiAqIEZpeCB0cmFjaW5nIHdoZW4gb3BlcmF0aW9uIGNvbXBsZXRlcyBiZWZvcmUgYTaVpPUAAAFP3jyyXAAQIFBpZyBsb2FkZnVuYyAoQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsrQAAAQBydCB0aHJpZnQgc3RhdHVzIGluIG5vZGV0b29sIGluZm8gKENBU1NBTkRSQS00MDEwKQoKCjEuMS4wLWZpbmFsCiAqIGF2ZXJhZ2UgYSByZWR1Y2VkIGxpdmVSYXRpbyBlc3RpbWF0ZSB3aXRoIHRoZSBwcmV2aW91cyBvbmUgKENBU1NBTkRSQS00MDY1KQogKiBBbGxvdyBLUyBhbmQgQ0YgbmFtZXMgdXAgdG8gNDggY2hhcmFjdGVycyAoQ0FTU0FORFJBLTQxNTcpCiAqIGZpeCBzdHJlc3MgYnVpbGQgKENBU1NBTkRSQS00MTQwKQogKiBhZGQgdGltZSByuuufIQAAAU/ePLJcABAgYmFjayB0byBhIGJvb3RzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCytAAABAHN0YXRlbWVudChzKSBmcm9tIGNvbW1hbmQtbGluZSBwYXJhbWV0ZXIgKENBU1NBTkRSQS03MTcyKQogKiBGaXggSWxsZWdhbFN0YXRlRXhjZXB0aW9uIGluIENxbFBhZ2luZ1JlY29yZFJlYWRlciAoQ0FTU0FORFJBLTcxOTgpCiAqIEZpeCB0aGUgSW52ZXJ0ZWRJbmRleCB0cmlnZ2VyIGV4YW1wbGUgKENBU1NBTkRSQS03MjExKQogKiBBZGQgLS1yZXNvbHZlLWlwIG9wdGlvbiB0byAnbm9kZXRvb2wgcmluZycgKENBU1NBTkRSQS03MjEwKQogKiByZWQ6GHn6AAABT948slwAEHQgc3RhcnR1cCAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILK0AAAEAcm93cyBiZWluZyBjb21wYWN0ZWQKCgowLjguNAogKiBjaGFuZ2UgVG9rZW5SaW5nLmVuZHBvaW50cyB0byBiZSBhIGxpc3Qgb2YgcnBjIGFkZHJlc3NlcyBpbnN0ZWFkIG9mIAogICBsaXN0ZW4vYnJvYWRjYXN0IGFkZHJlc3NlcyAoQ0FTU0FORFJBLTE3NzcpCiAqIGluY2x1ZGUgZmlsZXMtdG8tYmUtc3RyZWFtZWQgaW4gU3RyZWFtSW5TZXNzaW9uLmdldFNvdXJjZXMgKENBU1NBTkRSQS0yOTcyKQogKiB1c2UgSkFWQSBlbnYgdmFyIGluIGNhc3NhbkB5fmwAAAFP3jyyXAAQIGluIDJhcnkgaW5kZXggcQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsrQAAAQBlcnRhaW4gZXJyb3JzIG9uIGV4ZWN1dG9yIHRocmVhZHMgKENBU1NBTkRSQS00MjUpCgoKMC40LjAgUkMxCiAqIEJvb3RzdHJhcCBmZWF0dXJlIGlzIGxpdmU7IHVzZSAtYiBvbiBzdGFydHVwIChzZXZlcmFsIHRpY2tldHMpCiAqIEFkZGVkIG11bHRpZ2V0IGFwaSAoQ0FTU0FORFJBLTcwKQogKiBmaXggRGVhZGxvY2sgd2l0aCBTZWxlY3Rvck1hbmFnZXIuZG9Qcm9jZXNzIGFuZCBUY3BDb25uZWN0aW9uLndyaXRlCiAgIChDQVNTQU5EUkEtMzkyKQog6yExvwAAAU/ePLJcABBudXAgaW52YWxpZCBzZWNvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCytAAABAGdlcyB0byBzeXN0ZW0ga2V5c3BhY2UgKENBU1NBTkRSQS0yNTYzKQogKiBmaXggc2VuZGluZyBtdXRhdGlvbiBtZXNzYWdlcyBtdWx0aXBsZSB0aW1lcyAoQ0FTU0FORFJBLTI1NTcpCiAqIGZpeCBpbmNvcnJlY3QgdXNlIG9mIE5CSE0uc2l6ZSBpbiBSZWFkQ2FsbGJhY2sgdGhhdCBjb3VsZCBjYXVzZQogICByZWFkcyB0byB0aW1lIG91dCBldmVuIHdoZW4gcmVzcG9uc2VzIHdlcmUgcmVjZWl2ZWQgKENBU1NBTkRSQS0yNTUyKQogKiB0cmlnZ2VyIHInND6fAAABT948slwAEHBvcnQgZG93bnNhbXBsaW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILK0AAAEAIHF1ZXJpZXMgaW4gYSBtaXhlZCBjbHVzdGVyIChDQVNTQU5EUkEtNjcwNykKICogSW1wcm92ZSByZXBhaXIgdGFza3Moc25hcHNob3QsIGRpZmZlcmVuY2luZykgY29uY3VycmVuY3kgKENBU1NBTkRSQS02NTY2KQogKiBGaXggcmVwbGF5aW5nIHByZS0yLjAgY29tbWl0IGxvZ3MgKENBU1NBTkRSQS02NzE0KQogKiBBZGQgc3RhdGljIGNvbHVtbnMgdG8gQ1FMMyAoQ0FTU0FORFJBLTY1NjEpCiAqIE9wdGltaXplIHNpbmdsZSBwYXJ0aXRpb24gYmF0Y6xmH2wAAAFP3jyyXAAQZHJvcHBpbmcgYW4gaW5kZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsrQAAAQBBU1NBTkRSQS03ODUyKQogKiBNYWtlIHN1cmUgdW5maW5pc2hlZCBjb21wYWN0aW9uIGZpbGVzIGFyZSByZW1vdmVkIChDQVNTQU5EUkEtODEyNCkKICogRml4IHNodXRkb3duIHdoZW4gcnVuIGFzIFdpbmRvd3Mgc2VydmljZSAoQ0FTU0FORFJBLTgxMzYpCiAqIEZpeCBERVNDUklCRSBUQUJMRSB3aXRoIGN1c3RvbSBpbmRleGVzIChDQVNTQU5EUkEtODAzMSkKICogRml4IHJhY2UgaW4gUmVjb3ZlcnlNYW5hZ2VyVGVzdCAoQ0FTU0FORFJBLTgxNzYpc3H1aAAAAU/ePLJcABBDQVNTQU5EUkEtMjc1OCkKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyuAAABAGFkZCBpdHNlbGYgdG8gc2F2ZWQgZW5kcG9pbnRzIChDQVNTQU5EUkEtMzQ4NSkKCgoxLjAuNQogKiByZXZlcnQgQ0FTU0FORFJBLTM0MDcgKHNlZSBDQVNTQU5EUkEtMzU0MCkKICogZml4IGFzc2VydGlvbiBlcnJvciB3aGlsZSBmb3J3YXJkaW5nIHdyaXRlcyB0byBsb2NhbCBub2RlcyAoQ0FTU0FORFJBLTM1MzkpCgoKMS4wLjQKICogZml4IHNlbGYtaGludGluZyBvZiB0aW1lZCBvdXQgcmVhZCByZXBhaXIgdXBkYXRlcyBhbmQgbWFrZSBoaW50ZWTofk8HAAABT948slwAEE5EUkEtNTY0NCkKICogRmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILK4AAAEAZSBzaXplcyBieSA1MCUgKENBU1NBTkRSQS0xNjQxKQogKiBtb3ZlIGVuZHBvaW50IGNhY2hlIGZyb20gc25pdGNoIHRvIHN0cmF0ZWd5IChDQVNTQU5EUkEtMTY0MykKICogZml4IGNvbW1pdGxvZyByZWNvdmVyeSBkZWxldGluZyB0aGUgbmV3bHktY3JlYXRlZCBzZWdtZW50IGFzIHdlbGwgYXMKICAgdGhlIG9sZCBvbmVzIChDQVNTQU5EUkEtMTY0NCkKICogdXBncmFkZSB0byBUaHJpZnQgMC41IChDQVNTQU5EUkEtMTM2NykKICogcmVuYW1lZCBDTI4E/gwAAAFP3jyyXAAQbmNlIChDQVNTQU5EUkEtNwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsrgAAAQBvYkFzKiBmdW5jdGlvbnMgKENBU1NBTkRSQS03NzA3KQogKiBGaXggcG90ZW50aWFsIEFzc2VydGlvbkVycm9yIHdpdGggMm5kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS02NjEyKQogKiBBdm9pZCBsb2dnaW5nIENvbXBhY3Rpb25JbnRlcnJ1cHRlZCBhdCBFUlJPUiAoQ0FTU0FORFJBLTc2OTQpCiAqIE1pbm9yIGxlYWsgaW4gc3N0YWJsZTJqb24gKENBU1NBTkRSQS03NzA5KQogKiBBZGQgY2Fzc2FuZHJhLmF1dG9fYm9vdHN0cmFwIHN5c3RlbSBwcm9wl8akmwAAAU/ePLJcABBvbiBtZXNzYWdlcyBtdWx0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyuAAABAEEtMTQzMykKICogY29ycmVjdCBmaWxlbmFtZSBnZW5lcmF0ZWQgYnkgeG1sLT55YW1sIGNvbnZlcnRlciAoQ0FTU0FORFJBLTE0MTkpCiAqIGFkZCBDTVNJbml0aWF0aW5nT2NjdXBhbmN5RnJhY3Rpb249NzUgYW5kIFVzZUNNU0luaXRpYXRpbmdPY2N1cGFuY3lPbmx5CiAgIHRvIGRlZmF1bHQgSlZNIG9wdGlvbnMKICogZGVjcmVhc2UganZtIGhlYXAgZm9yIGNhc3NhbmRyYS1jbGkgKENBU1NBTkRSQS0xNDQ2KQogKiBhYmlsaXR5IHRvIG1vZGlmeSAJ+m8XAAABT948slwAEG1uRmFtaWx5IG1pbl9jb20AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILK4AAAEALTc3MTIpCiAqIEltcHJvdmUgY29tcGFjdGlvbiBlc3RpbWF0ZWQgdGFza3MgZXN0aW1hdGlvbiAoQ0FTU0FORFJBLTg5MDQpCiAqIEZpeCBkdXBsaWNhdGUgdXAvZG93biBtZXNzYWdlcyBzZW50IHRvIG5hdGl2ZSBjbGllbnRzIChDQVNTQU5EUkEtNzgxNikKICogRXhwb3NlIGNvbW1pdCBsb2cgYXJjaGl2ZSBzdGF0dXMgdmlhIEpNWCAoQ0FTU0FORFJBLTg3MzQpCiAqIFByb3ZpZGUgYmV0dGVyIGV4Y2VwdGlvbnMgZm9yIGludmFsaWQgcmVwbGljYU0XxfEAAAFP3jyyXAAQIGNvbW1pdGxvZyBnZXRQZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsrgAAAQByLmxhc3QgY29ycmVzcG9uZHMgZXhhY3RseSB3aXRoIHRoZSBmaWxlIGVuZCAoQ0FTU0FORFJBLTg3NTApCiAqIE1ha2UgU1NUYWJsZVdyaXRlci5vcGVuRWFybHkgbW9yZSByb2J1c3QgYW5kIG9idmlvdXMgKENBU1NBTkRSQS04NzQ3KQogKiBFbmZvcmNlIFNTVGFibGVSZWFkZXIuZmlyc3QvbGFzdCAoQ0FTU0FORFJBLTg3NDQpCiAqIENsZWFudXAgU2VnbWVudGVkRmlsZSBBUEkgKENBU1NBTkRSQS04NzQ5KQogKiBBdm9pZCBvdmVybGFwIHdpdGgggxlT8wAIXRk2whR2AAABT948slwAEG4gQ1FMMyBxdWVyaWVzICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILK4AAAEAYWRkIG5vZGV0b29sIHJhbmdla2V5c2FtcGxlIChDQVNTQU5EUkEtMjkxNykKICogRml4IHN0cmVhbWluZyB0b28gbXVjaCBkYXRhIGR1cmluZyBtb3ZlIG9wZXJhdGlvbnMgKENBU1NBTkRSQS0zNjM5KQogKiBOb2RldG9vbCBhbmQgQ0xJIGNvbm5lY3QgdG8gbG9jYWxob3N0IGJ5IGRlZmF1bHQgKENBU1NBTkRSQS0zNTY4KQogKiBSZWR1Y2UgbWVtb3J5IHVzZWQgYnkgcHJpbWFyeSBpbmRleCBzYW1wbGUgKENBU1NBTkRSQS0zNzQzKQogKiAoSGFkbwQj8rIAAAFP3jyyXAAQKENBU1NBTkRSQS01MjAzKQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsrgAAAQBrcyBvbiB3aW5kb3dzIChDQVNTQU5EUkEtMTIzNikKICogcHJlLWVtcHRpdmVseSBkcm9wIHJlcXVlc3RzIHRoYXQgY2Fubm90IGJlIHByb2Nlc3NlZCB3aXRoaW4gUlBDVGltZW91dAogICAoQ0FTU0FORFJBLTY4NSkKICogYWRkIGFjayB0byBCaW5hcnkgd3JpdGUgdmVyYiBhbmQgdXBkYXRlIENhc3NhbmRyYUJ1bGtMb2FkZXIKICAgdG8gd2FpdCBmb3IgYWNrcyBmb3IgZWFjaCByb3cgKENBU1NBTkRSQS0xMDkzKQogKiBhZGRlZCBkZXNjcmliZV9wMIq73AAAAU/ePLJcABB0aXRpb25zCiAgIGNvbnRhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyuAAABAGVkIHJvd3MgKENBU1NBTkRSQS0yMjk2KQogKiBmaXggYXNzZXJ0aW9uIGVycm9yIGluIHJhbmdlIGFuZCBpbmRleCBzY2FucyBmb3IgQ0wgPCBBTEwKICAgKENBU1NBTkRSQS0yMjgyKQogKiBmaXggY29tbWl0bG9nIHJlcGxheSB3aGVuIGZsdXNoIHBvc2l0aW9uIHJlZmVycyB0byBkYXRhIHRoYXQgZGlkbid0CiAgIGdldCBzeW5jZWQgYmVmb3JlIHNlcnZlciBkaWVkIChDQVNTQU5EUkEtMjI4NSkKICogZml4IGZkIGxlYWsgaW4gc3N0YWJsZTJqc29KdOtfAAABT948slwAEGFsdWVzIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILK4AAAEAZHVyaW5nIGNvbXBhY3Rpb24gc28gYmxvb20gZmlsdGVyCiAgIGRvZXNuJ3QgZ2V0IGZyZWUnZCBwcmVtYXR1cmVseSAoQ0FTU0FORFJBLTQ5MzQpCiAqIERvbid0IHNoYXJlIHNsaWNlIHF1ZXJ5IGZpbHRlciBpbiBDUUwzIFNlbGVjdFN0YXRlbWVudCAoQ0FTU0FORFJBLTQ5MjgpCiAqIFNlcGFyYXRlIHRyYWNpbmcgZnJvbSBMb2c0SiAoQ0FTU0FORFJBLTQ4NjEpCiAqIEV4Y2x1ZGUgZ2NhYmxlIHRvbWJzdG9uZXMgZnJvbSBtZXJrbGUtdHJlZSBjb3fthgcAAAFP3jyyXAAQY3RseSByZW1vdmUgdG1wbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsrgAAAQBBLTcxNDMpCiAqIE1ha2UgYmF0Y2hsb2cgcmVwbGljYSBzZWxlY3Rpb24gcmFjay1hd2FyZSAoQ0FTU0FORFJBLTY1NTEpCiAqIEZpeCBDRk1ldGFEYXRhI2dldENvbHVtbkRlZmluaXRpb25Gcm9tQ29sdW1uTmFtZSgpIChDQVNTQU5EUkEtNzA3NCkKICogRml4IHdyaXRldGltZS90dGwgZnVuY3Rpb25zIGZvciBzdGF0aWMgY29sdW1ucyAoQ0FTU0FORFJBLTcwODEpCiAqIFN1Z2dlc3QgQ1RSTC1DIG9yIHNlbWljb2xvbiBhZnRlciB0aHJlZSBibGFuVYFY2wAAAU/ePLJcABB4IENRTDMgdGFibGUgdmFsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyuAAABAGFjcXVpc2l0aW9uIGJ1ZyAoQ0FTU0FORFJBLTM0MzgpCiAqIGZpeCBlc3RpbWF0ZWQgcm93IHNpemUgcmVncmVzc2lvbiAoQ0FTU0FORFJBLTM0NTEpCiAqIG1ha2Ugc3VyZSB3ZSBkb24ndCByZXR1cm4gbW9yZSBjb2x1bW5zIHRoYW4gYXNrZWQgKENBU1NBTkRSQS0zMzAzLCAzMzk1KQpNZXJnZWQgZnJvbSAwLjg6CiAqIGFjcXVpcmUgY29tcGFjdGlvbmxvY2sgZHVyaW5nIHRydW5jYXRlIChDQVNTQU5EUkEtMzM5OSkKICogZml4IGRpc3BsYXlpbmdvSzdqAAABT948slwAEHRzIGJhY2sgdG8gbGlzdGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILK4AAAEAUmV3cml0ZXIuYWJvcnQoKSBtb3JlIHJvYnVzdCB0byBmYWlsdXJlIChDQVNTQU5EUkEtODgzMikKICogUmVtb3ZlIGNvbGRfcmVhZHNfdG9fb21pdCBmcm9tIFNUQ1MgKENBU1NBTkRSQS04ODYwKQogKiBNYWtlIEVzdGltYXRlZEhpc3RvZ3JhbSNwZXJjZW50aWxlKCkgdXNlIGNlaWwgaW5zdGVhZCBvZiBmbG9vciAoQ0FTU0FORFJBLTg4ODMpCiAqIEZpeCB0b3AgcGFydGl0aW9ucyByZXBvcnRpbmcgd3JvbmcgY2FyZGluYWxpdHkgKENBU1NBTkRSQdvCSmcAAAFP3jyyXAAQeCBlbnRyaWVzIHNwYW5uaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsrgAAAQAKICogKGNxbCkgRml4IHR5cGUgaW4gQ1FMMyBBTFRFUiBUQUJMRSBwcmV2ZW50aW5nIHVwZGF0ZSAoQ0FTU0FORFJBLTQxNzApCiAqIChjcWwpIFRocm93IGludmFsaWQgZXhjZXB0aW9uIGZyb20gQ1FMMyBvbiBvYnNvbGV0ZSBvcHRpb25zIChDQVNTQU5EUkEtNDE3MSkKICogKGNxbHNoKSBmaXggcmVjb2duaXppbmcgdXBwZXJjYXNlIFNFTEVDVCBrZXl3b3JkIChDQVNTQU5EUkEtNDE2MSkKICogUGlnOiB3aWRlIHJvdyBzdXBwb3J0IChDQVNTQU5E7iE8iQAAAU/ePLJcABBDRiBuYW1lIHRvIGJlIHF1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyuAAABAGluIGRhdGEgZGlyIChDQVNTQU5EUkEtNDU3MikKICogUmVzcGVjdCBmaXZlLW1pbnV0ZSBmbHVzaCBtb3JhdG9yaXVtIGFmdGVyIGluaXRpYWwgQ0wgcmVwbGF5IChDQVNTQU5EUkEtNDQ3NCkKICogQWRkcyBudHAgYXMgcmVjb21tZW5kZWQgaW4gZGViaWFuIHBhY2thZ2luZyAoQ0FTU0FORFJBLTQ2MDYpCiAqIENvbmZpZ3VyYWJsZSB0cmFuc3BvcnQgaW4gQ0YgUmVjb3Jke1JlYWRlcnxXcml0ZXJ9IChDQVNTQU5EUkEtNDU1OCkKICogKGNxbDMpIGYHGIrKAAABT948slwAEC5weSBiZW5jaG1hcmtpbmcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILK4AAAEAdGhyZXNob2xkcyB0byBjb21wYWN0aW9uIHN0cmF0ZWd5IG9wdGlvbnMKICAgKENBU1NBTkRSQS00MTg3KQogKiBGaXggZXhjZXB0aW9uIGR1cmluZyBtb3ZlIHdoZW4gbG9jYWxob3N0IGlzIHRoZSBvbmx5IHNvdXJjZSAoQ0FTU0FORFJBLTQyMDApCiAqIChjcWwzKSBBbGxvdyBwYWdpbmcgdGhyb3VnaCBub24tb3JkZXJlZCBwYXJ0aXRpb25lciByZXN1bHRzIChDQVNTQU5EUkEtMzc3MSkKICogKGNxbDMpIEZpeCBkcm9wIGluZGV4IChDQVNTQU5EUtYBO/kAAAFP3jyyXAAQZ2VyIChDQVNTQU5EUkEtNAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsrgAAAQAzNjI4KQpNZXJnZWQgZnJvbSAwLjg6CiAqIChQaWcpIGZpeCBDYXNzYW5kcmFTdG9yYWdlIHRvIHVzZSBjb3JyZWN0IGNvbXBhcmF0b3IgaW4gU3VwZXIgQ29sdW1uRmFtaWx5CiAgIGNhc2UgKENBU1NBTkRSQS0zMjUxKQogKiBmaXggdGhyZWFkIHNhZmV0eSBpc3N1ZXMgaW4gY29tbWl0bG9nIHJlcGxheSwgcHJpbWFyaWx5IGFmZmVjdGluZwogICBzeXN0ZW1zIHdpdGggbWFueSAoMTAwcykgb2YgQ0YgZGVmaW5pdGlvbnMgKENBU1NBTkRSQS0zNzUxchjjowAAAU/ePLJcABBybmluZyB3aGVuIGEgbm9kAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyuAAABAEZhbWlseSAKICAgKENBU1NBTkRSQS0zNTczKQogKiBDaGVjayBmb3IgMC4wLjAuMCBpcyBpbmNvcnJlY3QgaW4gQ0ZJRiAoQ0FTU0FORFJBLTM1ODQpCiAqIEluY3JlYXNlIHZtLm1heF9tYXBfY291bnQgaW4gZGViaWFuIHBhY2thZ2luZyAoQ0FTU0FORFJBLTM1NjMpCiAqIGdvc3NpcGVyIHdpbGwgbmV2ZXIgYWRkIGl0c2VsZiB0byBzYXZlZCBlbmRwb2ludHMgKENBU1NBTkRSQS0zNDg1KQoKCjEuMC41CiAqIHJldmVydCBDQVNTQU5EUkEtMzQwNyBZgaP4AAABT948slwAEGFsbCBjbG9jayB0aW1lIGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILK4AAAEALyBub2RlcHJvYmUuICAoQ0FTU0FORFJBLTQ2NSkKICogQWRkICJjb21tZW50IiBmaWVsZCB0byBDb2x1bW5GYW1pbHkgZGVmaW5pdGlvbi4gKENBU1NBTkRSQS00ODEpCiAqIEFkZGl0aW9uYWwgSk1YIG1ldHJpY3MgKENBU1NBTkRSQS00ODIpCiAqIEpTT04gYmFzZWQgZXhwb3J0IGFuZCBpbXBvcnQgdG9vbHMgKHNldmVyYWwgdGlja2V0cykKICogSGludGVkIEhhbmRvZmYgZml4ZXMgKHNldmVyYWwgdGlja2V0cykKICogQWRkIGtleSBjYWNoZSB0b/8KDwcAAAFP3jyyXAAQIHRyYWNpbmcgb24gdGhlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsrwAAAQAgIG9uZSBvciBtb3JlIG5vZGVzIGlzIGRvd24gd2hlbiB0aGUgbW92ZW1lbnQgb2NjdXJzIChDQVNTQU5EUkEtNTcyKQogKiBJbmNsdWRlIGRlYWQgbm9kZXMgaW4gZ29zc2lwIHRvIGF2b2lkIGEgdmFyaWV0eSBvZiBwcm9ibGVtcwogICBhbmQgZml4IEhIIHRvIHJlbW92ZWQgbm9kZXMgKENBU1NBTkRSQS02MzQpCiAqIHJldHVybiBhbiBJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmb3IgbWFsLWZvcm1lZCBTbGljZVByZWRpY2F0ZXMKICAgKENBU1NBoMLrUAAAAU/ePLJcABAgaGVscCB0ZXh0IGZvciAtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyvAAABAEV4cG9zZSBnb3NzaXAvRkQgaW5mbyB0byBKTVggKENBU1NBTkRSQS0yODA2KQogKiBGaXggc3RyZWFtaW5nIG92ZXIgU1NMIHdoZW4gY29tcHJlc3NlZCBTU1RhYmxlIGludm9sdmVkIChDQVNTQU5EUkEtMzA1MSkKICogQWRkIHN1cHBvcnQgZm9yIHBsdWdnYWJsZSBzZWNvbmRhcnkgaW5kZXggaW1wbGVtZW50YXRpb25zIChDQVNTQU5EUkEtMzA3OCkKICogcmVtb3ZlIGNvbXBhY3Rpb25fdGhyZWFkX3ByaW9yaXR5IHNldHRpbmcgKENBU1NBTkRSQS0i4zBBAAhxdqfLpQUAAAFP3jyyXAAQTkRSQS01NTQyKQogKiBBZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgssAAAAQBxdWVyaWVzIChDQVNTQU5EUkEtMTMwMikKICogbWFrZSBHQ0dyYWNlU2Vjb25kcyBhIHBlci1Db2x1bW5GYW1pbHkgdmFsdWUgKENBU1NBTkRSQS0xMjc2KQogKiBrZWVwIHBlcnNpc3RlbnQgcm93IHNpemUgYW5kIGNvbHVtbiBjb3VudCBzdGF0aXN0aWNzIChDQVNTQU5EUkEtMTE1NSkKICogYWRkIEludGVnZXJUeXBlIChDQVNTQU5EUkEtMTI4MikKICogcGFnZSB3aXRoaW4gYSBzaW5nbGUgcm93IGR1cmluZyBoaW50ZWQgaGFuZG9mZiAoQ0FTU0FOPe034gAAAU/ePLJcABBUYWJsZSBub3QgcmVsZWFzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCywAAABAG9tIGZpbHRlciBzaXplIChDQVNTQU5EUkEtOTA2MCkKICogTWFrZSBGUk9aRU4gYW5kIFRVUExFIHVucmVzZXJ2ZWQga2V5d29yZHMgaW4gQ1FMIChDQVNTQU5EUkEtOTA0NykKICogUHJldmVudCBBc3NlcnRpb25FcnJvciBmcm9tIFNpemVFc3RpbWF0ZXNSZWNvcmRlciAoQ0FTU0FORFJBLTkwMzQpCiAqIEF2b2lkIG92ZXJ3cml0aW5nIGluZGV4IHN1bW1hcmllcyBmb3Igc3N0YWJsZXMgd2l0aCBhbiBvbGRlciBmb3JtYXQgdGhhdAogICBkb2VzIG6wjNivAAABT948slwAECBEb24ndCBhbGxvdyB0byAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLAAAAEAIHVzZSBsZXhpY2FsIGNvbXBhcmlzb24gaWYgdGltZSBwYXJ0IG9mIFRpbWVVVUlEcyBhcmUgdGhlIHNhbWUgCiAgIChDQVNTQU5EUkEtOTA3KQogKiBib3VuZCByZWFkLCBtdXRhdGlvbiwgYW5kIHJlc3BvbnNlIHN0YWdlcyB0byBmaXggcG9zc2libGUgT09NCiAgIGR1cmluZyBsb2cgcmVwbGF5IChDQVNTQU5EUkEtODg1KQogKiBVc2UgbWljcm9zZWNvbmRzLXNpbmNlLWVwb2NoIChVVEMpIGluIGNsaSwgaW5zdGVhZCBvZiBtaWxsaXNlY29uZHMKIKYJQWEAAAFP3jyyXAAQZnQgdG8gMC43IChDQVNTQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgssAAAAQA2MCkKICogU3VwcG9ydCBtb3JlIGNvbmN1cnJlbnQgcmVxdWVzdHMgaW4gbmF0aXZlIHByb3RvY29sIChDQVNTQU5EUkEtNzIzMSkKICogQWRkIHRhYi1jb21wbGV0aW9uIHRvIGRlYmlhbiBub2RldG9vbCBwYWNrYWdpbmcgKENBU1NBTkRSQS02NDIxKQogKiBDaGFuZ2UgY29uY3VycmVudF9jb21wYWN0b3JzIGRlZmF1bHRzIChDQVNTQU5EUkEtNzEzOSkKICogQWRkIFBvd2VyU2hlbGwgV2luZG93cyBsYXVuY2ggc2NyaXB0cyAoQ0FTU0FORFJBLTcwEqwCEAAAAU/ePLJcABBuZCBEQyAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCywAAABAE5EUkEtNjEwKQogKiByZXNwZWN0IG1lbXRhYmxlIHRocmVzaG9sZHMgZHVyaW5nIGxvZyByZXBsYXkgKENBU1NBTkRSQS02MDkpCiAqIHN1cHBvcnQgQ29uc2lzdGVuY3lMZXZlbC5BTEwgb24gcmVhZCAoQ0FTU0FORFJBLTU4NCkKICogYWRkIG5vZGVwcm9iZSByZW1vdmV0b2tlbiBjb21tYW5kIChDQVNTQU5EUkEtNTY0KQoKCjAuNS4wIGJldGEKICogQWxsb3cgbXVsdGlwbGUgc2ltdWx0YW5lb3VzIGZsdXNoZXMsIGltcHJvdmluZyBmbHVzaCB0aHJeTYtoAAABT948slwAECogbWFrZSBjb25jdXJyZW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLAAAAEAIHRoZXJlIGlzIG5vIHlhbWwgY29uZmlnIChDQVNTQU5EUkEtMzc1MikKICogQWxsb3cgY29uY3VycmVudCBzY2hlbWEgbWlncmF0aW9ucyAoQ0FTU0FORFJBLTEzOTEsIDM4MzIpCiAqIEFkZCBTbmFwc2hvdENvbW1hbmQgdG8gdHJpZ2dlciBzbmFwc2hvdCBvbiByZW1vdGUgbm9kZSAoQ0FTU0FORFJBLTM3MjEpCiAqIE1ha2UgQ0ZNZXRhRGF0YSBjb252ZXJzaW9ucyB0by9mcm9tIHRocmlmdC9uYXRpdmUgc2NoZW1hIGludmVyc2VzCiAgIChDQVNTQfv/5/oAAAFP3jyyXAAQZCB2YWxpZGF0aW9uIHRoYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgssAAAAQB0YWRhdGEgKENBU1NBTkRSQS0yNTEyKQogKiBzdXBwb3J0IExPQ0FMX1FVT1JVTSwgRUFDSF9RVU9SVU0gQ0xzIG91dHNpZGUgb2YgTlRTIChDQVNTQU5EUkEtMjUxNikKICogcHJlc2VydmUgdmVyc2lvbiB3aGVuIHN0cmVhbWluZyBkYXRhIGZyb20gb2xkIHNzdGFibGVzIChDQVNTQU5EUkEtMjI4MykKICogZml4IGJhY2tzbGFzaCBzdWJzdGl0dXRpb25zIGluIENMSSAoQ0FTU0FORFJBLTI0OTIpCiAqIGNvdW50IGEgcm93IGRlbGV0aW9uIGFzIG9uhulRegAAAU/ePLJcABBlU2VydmljZS5nZXRFeGNlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCywAAABAHVtbnMKICAgICAgaW5zdGVhZCBvZiBhbGwgb2YgdGhlbS4gICgiYWxsIiBjYW4gcnVuIHlvdXIgc2VydmVyIG91dCBvZiBtZW1vcnkuCiAgICAgIHVzZSBhIHJhbmdlLWJhc2VkIHNsaWNlIHdpdGggYSBoaWdoIG1heCBjb2x1bW4gY291bnQgaW5zdGVhZC4pCiAqIFJlbW92ZWQgdGhlIHdlYiBpbnRlcmZhY2UuIE5vZGUgaW5mb3JtYXRpb24gY2FuIG5vdyBiZSBvYnRhaW5lZCBieSAKICAgdXNpbmcgdGhlIG5ld2x5IGludHJvZHVjZWQgbm9kZXByb2KVAxVsAAABT948slwAEGlvbiBzeW50YXggKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLAAAAEAIFJlZGVzaWduIHJlcGFpciBtZXNzYWdlcyAoQ0FTU0FORFJBLTU0MjYpCiAqIEZpeCBBTFRFUiBSRU5BTUUgcG9zdC01MTI1IChDQVNTQU5EUkEtNTcwMikKICogRGlzYWxsb3cgcmVuYW1pbmcgYSAybmRhcnkgaW5kZXhlZCBjb2x1bW4gKENBU1NBTkRSQS01NzA1KQogKiBSZW5hbWUgVGFibGUgdG8gS2V5c3BhY2UgKENBU1NBTkRSQS01NjEzKQogKiBFbnN1cmUgY2hhbmdpbmcgY29sdW1uX2luZGV4X3NpemVfaW5fa2Igb24gZGlmZmVyZW50IG5vZKYdYtYAAAFP3jyyXAAQIChDQVNTQU5EUkEtNzc3MAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgssAAAAQB0IChhbmQgd2FybikgdW5pbnRlbnRpb25hbCB1c2Ugb2YgdGhlIGNxbDIgdGhyaWZ0IG1ldGhvZHMgd2hlbiBjcWwzIHdhcwogICBpbnRlbmRlZCAoQ0FTU0FORFJBLTUxNzIpCiAqIGNsaTogUXVvdGUga3MgYW5kIGNmIG5hbWVzIGluIHNjaGVtYSBvdXRwdXQgd2hlbiBuZWVkZWQgKENBU1NBTkRSQS01MDUyKQogKiBGaXggY2YgbmFtZSBleHRyYWN0aW9uIGZyb20gbWFuaWZlc3QgaW4gRGlyZWN0b3JpZXMubWlncmF0ZUZpbGUoKSAoQ0FTU0FORFJBDLrTkgAAAU/ePLJcABBUaHJpZnQgY2FzKCkgbWV0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCywAAABAGlvbiBzdHJhdGVneSBpbXBsZW1lbnRhdGlvbnMgKENBU1NBTkRSQS02MTExKQogKiBGaXggcG90ZW50aWFsIE5QRSBvbiBjb21wb3NpdGUgMm5kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS02MDk4KQogKiBEZWxldGUgY2FuIHBvdGVudGlhbGx5IGJlIHNraXBwZWQgaW4gYmF0Y2ggKENBU1NBTkRSQS02MTE1KQogKiBBbGxvdyBhbHRlciBrZXlzcGFjZSBvbiBzeXN0ZW1fdHJhY2VzIChDQVNTQU5EUkEtNjAxNikKICogRGlzYWxsb3cgZW1wdHkgY29sdW23uUJlAAABT948slwAEGQgKENBU1NBTkRSQS04NTAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLAAAAEAdW50ZXIgdXBkYXRlcyAoQ0FTU0FORFJBLTc3OTgpCk1lcmdlZCBmcm9tIDEuMjoKICogRG9uJ3QgYWxsb3cgY29tcGFjdGVkIHNzdGFibGVzIHRvIGJlIG1hcmtlZCBhcyBjb21wYWN0aW5nIChDQVNTQU5EUkEtNzE0NSkKICogVHJhY2sgZXhwaXJlZCB0b21ic3RvbmVzIChDQVNTQU5EUkEtNzgxMCkKCgoyLjEuMC1yYzYKICogRml4IE9PTSBpc3N1ZSBmcm9tIG5ldHR5IGNhY2hpbmcgb3ZlciB0aW1lIChDQVNTQU5EUkEtNzc0MykKICoganNvbjJzc3Czwa8AAAFP3jyyXAAQd19jYWNoZSBvcHRpb24gKAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgssAAAAQBlcGFpciAoQ0FTU0FORFJBLTU4MDEpCiAqIEZpeCByYW5nZSB0b21ic3RvbmUgYnVnIChDQVNTQU5EUkEtNTgwNSkKICogREMtbG9jYWwgQ0FTIChDQVNTQU5EUkEtNTc5NykKICogQWRkIGEgbmF0aXZlX3Byb3RvY29sX3ZlcnNpb24gY29sdW1uIHRvIHRoZSBzeXN0ZW0ubG9jYWwgdGFibGUgKENBU1NBTlJEQS01ODE5KQogKiBVc2UgaW5kZXhfaW50ZXJ2YWwgZnJvbSBjYXNzYW5kcmEueWFtbCB3aGVuIHVwZ3JhZGVkIChDQVNTQU5EUkEtNTgyMikKRA7ILwAAAU/ePLJcABBjaGVfc2l6ZXNfYXQgb3B0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCywAAABACAgIHRhYmxlcyB3aXRoIHNvbWUgY2x1c3RlcmluZyBjb2x1bW5zIG9taXR0ZWQgKENBU1NBTkRSQS03OTkwKQogKiBGaXggZmlsdGVyaW5nIGZvciBDT05UQUlOUyBvbiBzZXRzIChDQVNTQU5EUkEtODAzMykKICogUHJvcGVybHkgdHJhY2sgYWRkZWQgc2l6ZSAoQ0FTU0FORFJBLTcyMzkpCiAqIEFsbG93IGNvbXBpbGF0aW9uIGluIGphdmEgOCAoQ0FTU0FORFJBLTcyMDgpCiAqIEZpeCBBc3NlcnRpb24gZXJyb3Igb24gUmFuZ2VUb21ic3RvbmVMaXN+0g19AAABT948slwAEEEtNTMzNykKICogQWRkIHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLAAAAEAaXZlcnkgKENBU1NBTkRSQS0zNjc3KQogKiBEb24ndCBwdXQgYm9vc3RyYXBwaW5nIG5vZGUgaW4gJ2hpYmVybmF0ZScgc3RhdHVzIChDQVNTQU5EUkEtMzczNykKICogRml4IGRvdWJsZSBxdW90ZXMgaW4gd2luZG93cyBiYXQgZmlsZXMgKENBU1NBTkRSQS0zNzQ0KQogKiBGaXggYmFkIHZhbGlkYXRvciBsb29rdXAgKENBU1NBTkRSQS0zNzg5KQogKiBGaXggc29mdCByZXNldCBpbiBFQzJNdWx0aVJlZ2lvblNuaXRjaCAoQ0FTU0FORFJBLTM4MzUpCkbaY5AACIXTQ/eyYgAAAU/ePLJcABBDQVNTQU5EUkEtMTAzNCwgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyzAAABAGN0IGV4Y2VwdGlvbiB3aGVuIHRyeWluZyB0byBiaW5kIGEga2V5c3BhY2Ugb3IgdGFibGUKICAgbmFtZSAoQ0FTU0FORFJBLTY5NTIpCiAqIE1ha2UgSEhPTS5jb21wYWN0IHN5bmNocm9uaXplZCAoQ0FTU0FORFJBLTg0MTYpCiAqIGNhbmNlbCBsYXRlbmN5LXNhbXBsaW5nIHRhc2sgd2hlbiBDRiBpcyBkcm9wcGVkIChDQVNTQU5EUkEtODQwMSkKICogZG9uJ3QgYmxvY2sgU29ja2V0VGhyZWFkIGZvciBNZXNzYWdpbmdTZXJ2aWNlIChDQVNTQU5EUkFshs2vAAABT948slwAEHRocm91Z2hvdXQgdGhlIHIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLMAAAEAQVNTQU5EUkEtNjMzMykKTWVyZ2VkIGZyb20gMS4yOgogKiBPcHRpbWl6ZSBGRCBwaGkgY2FsY3VsYXRpb24gKENBU1NBTkRSQS02Mzg2KQogKiBJbXByb3ZlIGluaXRpYWwgRkQgcGhpIGVzdGltYXRlIHdoZW4gc3RhcnRpbmcgdXAgKENBU1NBTkRSQS02Mzg1KQogKiBEb24ndCBsaXN0IENRTDMgdGFibGUgaW4gQ0xJIGRlc2NyaWJlIGV2ZW4gaWYgbmFtZWQgZXhwbGljaXRlbHkgCiAgIChDQVNTQU5EUkEtNTc1MCkKICogSW52YWxpZGF0ZSByb3cgYyAXZhUAAAFP3jyyXAAQeGNlcHRpb24gaW4gU3RvcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsswAAAQAgY3JlYXRpb24gZmFpbHVyZXMgKENBU1NBTkRSQS01MTk2KQogKiBFeHBvc2Ugc2Vjb25kYXJ5IGluZGljaWVzIHRvIHRoZSByZXN0IG9mIG5vZGV0b29sIChDQVNTQU5EUkEtNDQ2NCkKICogQmluYXJ5IHByb3RvY29sOiBhdm9pZCBzZW5kaW5nIG5vdGlmaWNhdGlvbiBmb3IgMC4wLjAuMCAoQ0FTU0FORFJBLTUyMjcpCiAqIGFkZCBVc2VDb25kQ2FyZE1hcmsgWFgganZtIHNldHRpbmdzIG9uIGpkayAxLjcgKENBU1NBTkRSQS00MzY2KQogKiBDUUwzg9GnywAAAU/ePLJcABAyMzI0KQogKiBwdXJnZSB0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyzAAABADYpCiAqIHJlbW92ZSBub25sb2NhbCBEQyB3cml0ZSBvcHRpbWl6YXRpb24gc2luY2UgaXQgb25seSB3b3JrZWQgd2l0aAogICBDTC5PTkUgb3IgQ0wuTE9DQUxfUVVPUlVNIChDQVNTQU5EUkEtMzU3NywgMzU4NSkKICogZGV0ZWN0IG1pc3VzZXMgb2YgQ291bnRlckNvbHVtblR5cGUgKENBU1NBTkRSQS0zNDIyKQogKiB0dXJuIG9mZiBzdHJpbmcgaW50ZXJuaW5nIGluIGpzb24yc3N0YWJsZSwgdGFrZSAyIChDQVNTQU5EUkEtMjE4OSkKICogdmFsaWT7hkBIAAABT948slwAEAogKiBGaXggY2x1c3RlcnQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLMAAAEAciBsZXZlbCB0byBjZnN0YXRzIChDQVNTQU5EUkEtNDUzNykKICogKGNxbDMpIEFkZCBBTFRFUiBLRVlTUEFDRSBzdGF0ZW1lbnQgKENBU1NBTkRSQS00NjExKQogKiAoY3FsMykgQWxsb3cgZGVmaW5pbmcgZGVmYXVsdCBjb25zaXN0ZW5jeSBsZXZlbHMgKENBU1NBTkRSQS00NDQ4KQogKiAoY3FsMykgRml4IHF1ZXJpZXMgdXNpbmcgTElNSVQgbWlzc2luZyByZXN1bHRzIChDQVNTQU5EUkEtNDU3OSkKICogZml4IGNyb3NzLXZlcnNpb24gZ29zc2lwIKTxOloAAAFP3jyyXAAQY3VtZW50YXRpb24gKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsswAAAQByZWFkcyBhdCBDb25zaXN0ZW5jeUxldmVsID4gMSB0aHJvdyBVbmF2YWlsYWJsZUV4Y2VwdGlvbgogICBpbW1lZGlhdGVseSBpZiBpbnN1ZmZpY2llbnQgbGl2ZSBub2RlcyBleGlzdCAoQ0FTU0FORFJBLTE4MDMpCiAqIGNvcHkgYnl0ZWJ1ZmZlcnMgZm9yIGxvY2FsIHdyaXRlcyB0byBhdm9pZCByZXRhaW5pbmcgdGhlIGVudGlyZQogICBUaHJpZnQgZnJhbWUgKENBU1NBTkRSQS0xODAxKQogKiBmaXggTlBFIGFkZGluZyBpbmRleCB0byBjb2x1bW4g76I8YAAAAU/ePLJcABBsb3NpbmcgSW5jb21pbmdUAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyzAAABAG9uIHdpdGggZW1wdHkgZmllbGRzIChDQVNTQU5EUkEtNzY3MCkKICogQm9ndXMgZGVzZXJpYWxpemF0aW9uIG9mIHN0YXRpYyBjZWxscyBmcm9tIHNzdGFibGUgKENBU1NBTkRSQS03Njg0KQogKiBGaXggTlBFIG9uIGNvbXBhY3Rpb24gbGVmdG92ZXIgY2xlYW51cCBmb3IgZHJvcHBlZCB0YWJsZSAoQ0FTU0FORFJBLTc3NzApCk1lcmdlZCBmcm9tIDIuMDoKICogKGNxbHNoKSBXYWl0IHVwIHRvIDEwIHNlYyBmb3IgYSB0cmFjaW5nIHNlc3Npb24gKEOVzgMBAAABT948slwAEGNlIG1iZWFuIChDQVNTQU4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLMAAAEAKQoKCjIuMS4wLXJjNgogKiBGaXggT09NIGlzc3VlIGZyb20gbmV0dHkgY2FjaGluZyBvdmVyIHRpbWUgKENBU1NBTkRSQS03NzQzKQogKiBqc29uMnNzdGFibGUgY291bGRuJ3QgaW1wb3J0IEpTT04gZm9yIENRTCB0YWJsZSAoQ0FTU0FORFJBLTc0NzcpCiAqIEludmFsaWRhdGUgYWxsIGNhY2hlcyBvbiB0YWJsZSBkcm9wIChDQVNTQU5EUkEtNzU2MSkKICogU2tpcCBzdHJpY3QgZW5kcG9pbnQgc2VsZWN0aW9uIGZvciByYW5nZXMgaWYgUkYgPT0gbtldDAUAAAFP3jyyXAAQb24ndCB3aXBlIGRhdGEgZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsswAAAQB5IGxldmVscyAoQ0FTU0FORFJBLTI1NjYpCiAqIGRlYmlhbiBwYWNrYWdpbmcgZml4ZXMgKENBU1NBTkRSQS0yNDgxLCAyNjQ3KQogKiBmaXggVVVJRFR5cGUsIEludGVnZXJUeXBlIGZvciBkaXJlY3QgYnVmZmVycyAoQ0FTU0FORFJBLTI2ODIsIDI2ODQpCiAqIHN3aXRjaCB0byBuYXRpdmUgVGhyaWZ0IGZvciBIYWRvb3AgbWFwL3JlZHVjZSAoQ0FTU0FORFJBLTI2NjcpCiAqIGZpeCBTdGFja092ZXJmbG93RXJyb3Igd2hlbiBidWlsZGluZyBmcm9t6tqQgwAAAU/ePLJcABAgcmVwbGFjZW1lbnQgKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyzAAABAHVlcmllcyBvbiBjb21wYWN0IHRhYmxlcyBjYW4gcmV0dXJuIG1vcmUgcm93cyB0aGF0IHJlcXVlc3RlZCAoQ0FTU0FORFJBLTcwNTIpCiAqIFVTSU5HIFRJTUVTVEFNUCBmb3IgYmF0Y2hlcyBkb2VzIG5vdCB3b3JrIChDQVNTQU5EUkEtNzA1MykKICogRml4IHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24gZnJvbSBDQVNTQU5EUkEtNTYxNCAoQ0FTU0FORFJBLTY5NDkpCiAqIEVuc3VyZSB0aGF0IGJhdGNobG9nIGFuZCBoaW50IHRpbWVvdXRzIGRvIG5vdCBOvNkTAAABT948slwAEHplciBleGFtcGxlIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLMAAAEARFJBLTY5MjQpCiAqIE9ubHkgc25hcHNob3QgcmVsYXRpdmUgU1NUYWJsZXMgd2hlbiBzZXF1ZW50aWFsIHJlcGFpciAoQ0FTU0FORFJBLTcwMjQpCiAqIFJlcXVpcmUgbm9kZXRvb2wgcmVidWlsZF9pbmRleCB0byBzcGVjaWZ5IGluZGV4IG5hbWVzIChDQVNTQU5EUkEtNzAzOCkKICogZml4IGNhc3NhbmRyYSBzdHJlc3MgZXJyb3JzIG9uIHJlYWRzIHdpdGggbmF0aXZlIHByb3RvY29sIChDQVNTQU5EUkEtNzAzMykKICogVXNlIE9wT3JkZXIgdG8gZyf4L5AAAAFP3jyyXAAQbGFjZSBvZiBlbXB0eSB2YQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsswAAAQBhdGUgcm93cyBiZWluZyByZWFkIGR1cmluZyBtYXByZWR1Y2UgKENBU1NBTkRSQS0xMTQyKQogKiBmYWlsdXJlIGRldGVjdGlvbiB3YXNuJ3QgY2xvc2luZyBjb21tYW5kIHNvY2tldHMgKENBU1NBTkRSQS0xMjIxKQogKiBjYXNzYW5kcmEtY2xpLmJhdCB3b3JrcyBvbiB3aW5kb3dzIChDQVNTQU5EUkEtMTIzNikKICogcHJlLWVtcHRpdmVseSBkcm9wIHJlcXVlc3RzIHRoYXQgY2Fubm90IGJlIHByb2Nlc3NlZCB3aXRoaW4gUlBDVGltZW91dAogICAoqmI/twAAAU/ePLJcABA4MjQpCiAqIChjcWxzaCkgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCyzAAABADEyKQogKiBmaXggc3lzdGVtIHRlc3RzIChDQVNTQU5EUkEtMzgyNykKICogQ1FMIHN1cHBvcnQgZm9yIGFsdGVyaW5nIHJvdyBrZXkgdHlwZSBpbiBBTFRFUiBUQUJMRSAoQ0FTU0FORFJBLTM3ODEpCiAqIHR1cm4gY29tcHJlc3Npb24gb24gYnkgZGVmYXVsdCAoQ0FTU0FORFJBLTM4NzEpCiAqIG1ha2UgaGV4VG9CeXRlcyByZWZ1c2UgaW52YWxpZCBpbnB1dCAoQ0FTU0FORFJBLTI4NTEpCiAqIE1ha2Ugc2Vjb25kYXJ5IGluZGV4ZXMgQ0YgaW5oZXLGb6EBAAABT948slwAEGNoaXZlK3Jlc3RvcmUgbW8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLMAAAEAMSkKICogY3Fsc2g6IGhhbmRsZSBzeW1saW5rcyBwcm9wZXJseSAoQ0FTU0FORFJBLTY0MjUpCiAqIEZpeCBwb3RlbnRpYWwgaW5maW5pdGUgbG9vcCB3aGVuIHBhZ2luZyBxdWVyeSB3aXRoIElOIChDQVNTQU5EUkEtNjQ2NCkKICogRml4IGFzc2VydGlvbiBlcnJvciBpbiBBYnN0cmFjdFF1ZXJ5UGFnZXIuZGlzY2FyZEZpcnN0IChDQVNTQU5EUkEtNjQ0NykKICogRml4IHN0cmVhbWluZyBvbGRlciBTU1RhYmxlIHlpZWxkcyB1bm5lY2Vzc2FyeSB0b0waJbMAAAFP3jyyXAAQIDMwOTYpCiAqIENsaSB0bwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsswAAAQA2NSkKTWVyZ2VkIGZyb20gMi4wOgogKiBTZXQgZ2NfZ3JhY2Vfc2Vjb25kcyB0byBzZXZlbiBkYXlzIGZvciBzeXN0ZW0gc2NoZW1hIHRhYmxlcyAoQ0FTU0FORFJBLTc2NjgpCiAqIFNpbXBsZVNlZWRQcm92aWRlciBubyBsb25nZXIgY2FjaGVzIHNlZWRzIGZvcmV2ZXIgKENBU1NBTkRSQS03NjYzKQogKiBBbHdheXMgZmx1c2ggb24gdHJ1bmNhdGUgKENBU1NBTkRSQS03NTExKQogKiBGaXggUmV2ZXJzZWRUeXBlKERhdGVUeXBlKSBtYXBwaW5nIHRv3iGaCAAImjCVm8G8AAABT948slwAEGl4IENvbmN1cnJlbnRNb2QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLUAAAEACiAqIEZpeCBwb3RlbnRpYWwgZGF0YSBsb3NzIGluIENvbXByZXNzZWRTZXF1ZW50aWFsV3JpdGVyIChDQVNTQU5EUkEtODk0OSkKICogTWFrZSBQYXNzd29yZEF1dGhlbnRpY2F0b3IgbnVtYmVyIG9mIGhhc2hpbmcgcm91bmRzIGNvbmZpZ3VyYWJsZSAoQ0FTU0FORFJBLTgwODUpCiAqIEZpeCBBc3NlcnRpb25FcnJvciB3aGVuIGJpbmRpbmcgbmVzdGVkIGNvbGxlY3Rpb25zIGluIERFTEVURSAoQ0FTU0FORFJBLTg5MDApCiAqIENoZWNrIGZvciBvdstNo3cAAAFP3jyyXAAQdGhlCiAgIGNvbXByZXNzZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgstQAAAQAgbG9hZGluZyBzc3RhYmxlcyBpZiBibG9vbV9maWx0ZXJfZnBfY2hhbmNlCiAgIGhhcyBjaGFuZ2VkIHNpbmNlIGNvbXBhY3Rpb24gKENBU1NBTkRSQS01MDE1KQogKiByZW1vdmUgcm93LWxldmVsIGJsb29tIGZpbHRlcnMgKENBU1NBTkRSQS00ODg1KQogKiBDaGFuZ2UgS2VybmVsIFBhZ2UgQ2FjaGUgc2tpcHBpbmcgaW50byByb3cgcHJlaGVhdGluZyAoZGlzYWJsZWQgYnkgZGVmYXVsdCkKICAgKENBU1NBTkRSQS00OTM3KQogKiBJbXByb3ZlIHJlHsbL3gAAAU/ePLJcABAqIEZpeCBzY2hlbWEgZnJvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy1AAABAHIgZHJvcHBpbmcgdGhlIGN1cnJlbnQgb25lIChDQVNTQU5EUkEtMjc2MykKICogYWRkIEtleVJhbmdlIG9wdGlvbiB0byBIYWRvb3AgaW5wdXRmb3JtYXQgKENBU1NBTkRSQS0xMTI1KQogKiBmaXggcHJvdG9jb2wgdmVyc2lvbmluZyAoQ0FTU0FORFJBLTI4MTgsIDI4NjApCiAqIHN1cHBvcnQgc3BhY2VzIGluIHBhdGggdG8gbG9nNGogY29uZmlndXJhdGlvbiAoQ0FTU0FORFJBLTIzODMpCiAqIGF2b2lkIGluY2x1ZGluZyBpbmZlcnJlZCB0eXBlcyCn+8flAAABT948slwAEERSQS03NTg3KQogKiBEb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLUAAAEAQVNTQU5EUkEtNjI5KQogKiBGaXggYW50aS1lbnRyb3B5IGFzc2VydGlvbiBlcnJvciAoQ0FTU0FORFJBLTYzOSkKICogRml4IHBlbmRpbmcgcmFuZ2UgY29uZmxpY3RzIHdoZW4gYm9vdHN0YXBwaW5nIG9yIG1vdmluZwogICBtdWx0aXBsZSBub2RlcyBhdCBvbmNlIChDQVNTQU5EUkEtNjAzKQogKiBIYW5kbGUgb2Jzb2xldGUgZ29zc2lwIHJlbGF0ZWQgdG8gbm9kZSBtb3ZlbWVudCBpbiB0aGUgY2FzZSB3aGVyZQogICBvbmUgb3IgbW9yZSBub2Rlc2AOuxEAAAFP3jyyXAAQcnkgaW5kZXggaW1wbGVtZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgstQAAAQBuZGVyIHRoZSByaWdodCBjb25kaXRpb25zIChDQVNTQU5EUkEtOTAyKQogKiBmaXggbWVyZ2luZyByb3cgdmVyc2lvbnMgaW4gcmFuZ2Vfc2xpY2UgZm9yIENMID4gT05FIChDQVNTQU5EUkEtODg0KQogKiBkZWZhdWx0IHdyaXRlIENvbnNpc3RlbmN5TGV2ZW4gY2hhbmVkIGZyb20gWkVSTyB0byBPTkUKICogZml4IGZvciBpbmRleCBlbnRyaWVzIHNwYW5uaW5nIG1tYXAgYnVmZmVyIGJvdW5kYXJpZXMgKENBU1NBTkRSQS04NTcpCiAqIHVzZSBsZXhpf8CJWAAAAU/ePLJcABBjbG9zZSBmaWxlcyBhZnRlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy1AAABAHN0YWJsZXMgKENBU1NBTkRSQS02OTEyKQogKiBBZGQgZmFpbHVyZSBoYW5kbGVyIHRvIGFzeW5jIGNhbGxiYWNrIChDQVNTQU5EUkEtNjc0NykKICogRml4IEFFIHdoZW4gY2xvc2luZyBTU1RhYmxlIHdpdGhvdXQgcmVsZWFzaW5nIHJlZmVyZW5jZSAoQ0FTU0FORFJBLTcwMDApCiAqIENsZWFuIHVwIEluZGV4SW5mbyBvbiBrZXlzcGFjZS90YWJsZSBkcm9wcyAoQ0FTU0FORFJBLTY5MjQpCiAqIE9ubHkgc25hcHNob3QgcmVsYXRpdmUgU1NUYWJsZXOtpfF/AAABT948slwAEGRkIG1pc3NpbmcgQ29uc2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLUAAAEAQS00MjM3KQogKiByZXBsYWNlIHN1cGVyY29sdW1ucyBpbnRlcm5hbGx5IGJ5IGNvbXBvc2l0ZXMgKENBU1NBTkRSQS0zMjM3LCA1MTIzKQogKiB1cGdyYWRlIHRocmlmdCB0byAwLjkuMCAoQ0FTU0FORFJBLTM3MTkpCiAqIGRyb3AgdW5uZWNlc3Nhcnkga2V5c3BhY2UgcGFyYW1ldGVyIGZyb20gdXNlci1kZWZpbmVkIGNvbXBhY3Rpb24gQVBJIAogICAoQ0FTU0FORFJBLTUxMzkpCiAqIG1vcmUgcm9idXN0IHNvbHV0aW9uIHRvIGluY29tcGxldGUgY9IvZ1UAAAFP3jyyXAAQNTc5KQogKiBBZGQgJ2RpZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgstQAAAQB2aWRlciB0aGUgZGVmYXVsdCBpZiBKTkEgaXMgYXZhaWxhYmxlIChDQVNTQU5EUkEtMzE4MykKICogRml4IGJhY2t3YXJkcyBjb21wYXRpYmlsdHkgZm9yIENRTCBtZW10YWJsZSBwcm9wZXJ0aWVzIChDQVNTQU5EUkEtMzE5MCkKICogQWRkIGZpdmUtbWludXRlIGRlbGF5IGJlZm9yZSBzdGFydGluZyBjb21wYWN0aW9ucyBvbiBhIHJlc3RhcnRlZCBzZXJ2ZXIKICAgKENBU1NBTkRSQS0zMTgxKQogKiBSZWR1Y2UgY29waWVzIGRvbmUgZm9yIGludHJh2qEH6QAAAU/ePLJcABB1cmFibGUgcGVyIGNvbHVtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy1AAABAG4gZmFtaWx5IHZhbGlkaXR5IGluIG5vZGV0b29sIHJlcGFpciAoQ0FTU0FORFJBLTI5MzMpCiAqIHVzZSBsYXp5IGluaXRpYWxpemF0aW9uIGluc3RlYWQgb2YgY2xhc3MgaW5pdGlhbGl6YXRpb24gaW4gTm9kZUlkCiAgIChDQVNTQU5EUkEtMjk1MykKICogYWRkIHBhZ2luZyB0byBnZXRfY291bnQgKENBU1NBTkRSQS0yODk0KQogKiBmaXggInNob3J0IHJlYWRzIiBpbiBbbXVsdGldZ2V0IChDQVNTQU5EUkEtMjY0MywgMzE1NywgMzE5MikKICogYWRSBjXaAAABT948slwAEG9pZCBwcmVzZXJ2aW5nIGwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLUAAAEAZCBub2RldG9vbCB0YWtldG9rZW4gdG8gcmVsb2NhdGUgdm5vZGVzIChDQVNTQU5EUkEtNDQ0NSkKICogRXhwb3NlIGJ1bGsgbG9hZGluZyBwcm9ncmVzcyBvdmVyIEpNWCAoQ0FTU0FORFJBLTQ3NTcpCiAqIENvcnJlY3RseSBoYW5kbGUgbnVsbCB3aXRoIElGIGNvbmRpdGlvbnMgYW5kIFRUTCAoQ0FTU0FORFJBLTY2MjMpCiAqIEFjY291bnQgZm9yIHJhbmdlL3JvdyB0b21ic3RvbmVzIGluIHRvbWJzdG9uZSBkcm9wCiAgIHRpbWUgaGlzdG9ncmFtIPBt8CQAAAFP3jyyXAAQIHVwIHRvIDggdGltZXMuIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgstQAAAQAoQ0FTU0FORFJBLTQ2NTUpCiAqIE1vdmUgU3lzdGVtLmV4aXQgb24gT09NIGludG8gYSBzZXBhcmF0ZSB0aHJlYWQgKENBU1NBTkRSQS01MjczKQogKiBXcml0ZSByb3cgbWFya2VycyB3aGVuIHNlcmlhbGl6aW5nIHNjaGVtYSAoQ0FTU0FORFJBLTU1NzIpCiAqIENoZWNrIG9ubHkgU1NUYWJsZXMgZm9yIHRoZSByZXF1ZXN0ZWQgcmFuZ2Ugd2hlbiBzdHJlYW1pbmcgKENBU1NBTkRSQS01NTY5KQogKiBJbXByb3ZlIGJhdGNobG9nIHJlcGxheSBiZWhh2VaUfAAAAU/ePLJcABByIG5vbi1kcm9wcGFibGVfAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy1AAABAHJpZnQgbWV0aG9kcyB3aGVuIGNxbDMgd2FzCiAgIGludGVuZGVkIChDQVNTQU5EUkEtNTE3MikKICogY2xpOiBRdW90ZSBrcyBhbmQgY2YgbmFtZXMgaW4gc2NoZW1hIG91dHB1dCB3aGVuIG5lZWRlZCAoQ0FTU0FORFJBLTUwNTIpCiAqIEZpeCBjZiBuYW1lIGV4dHJhY3Rpb24gZnJvbSBtYW5pZmVzdCBpbiBEaXJlY3Rvcmllcy5taWdyYXRlRmlsZSgpIChDQVNTQU5EUkEtNTI0MikKICogUmVwbGFjZSBtaXN0YWtlbiB1c2FnZSBvZiBjb21tb25zLWwZPgxmAAABT948slwAEG1wdAogICB0byBib290c3QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLUAAAEAZSBhbnkgQ0YgaWRzIHNlbnQgYnkgY2xpZW50IGZvciBhZGRpbmcgQ0YvS1MgKENBU1NBTkRSQS0zMjg4KQogKiByZW1vdmUgb2Jzb2xldGUgaGludHMgb24gZmlyc3Qgc3RhcnR1cCAoQ0FTU0FORFJBLTMyOTEpCiAqIHVzZSBjb3JyZWN0IElTb3J0ZWRDb2x1bW5zIGZvciB0aW1lLW9wdGltaXplZCByZWFkcyAoQ0FTU0FORFJBLTMyODkpCiAqIEV2aWN0IGdvc3NpcCBzdGF0ZSBpbW1lZGlhdGVseSB3aGVuIGEgdG9rZW4gaXMgdGFrZW4gb3ZlciBiefP779AAAAFP3jyyXAAQaW50ZXJuaW5nIFZlcnNpbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgstQAAAQAzKQogKiBGaXggcmVhZGluZyBzdWJjb2x1bW4gc2xpY2UgZnJvbSB0b21ic3RvbmVkIENGIChDQVNTQU5EUkEtNDg0KQogKiBGaXggcmFjZSBjb25kaXRpb24gaW4gUlZIIGNhdXNpbmcgb2NjYXNpb25hbCBOUEUgKENBU1NBTkRSQS00NzgpCgoKMC40LjAKICogZml4IGdldF9rZXlfcmFuZ2UgcHJvYmxlbXMgd2hlbiBhIG5vZGUgaXMgZG93biAoQ0FTU0FORFJBLTQ0MCkKICAgYW5kIGFkZCBVbmF2YWlsYWJsZUV4Y2VwdGlvbiB0byBtb3JlIFRocmlmuzNSiQAAAU/ePLJcABBlc3VsdCB3aXRoIHNlY29uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy1AAABAG4gY3JlYXRlIHRhYmxlIChDQVNTQU5EUkEtNDI5NikKICogQXZvaWQgZGVhZGxvY2sgaW4gbWlncmF0aW9uIHN0YWdlIChDQVNTQU5EUkEtMzg4MikKICogVGFrZSBzdXBlcmNvbHVtbiBuYW1lcyBhbmQgZGVsZXRpb24gaW5mbyBpbnRvIGFjY291bnQgaW4gbWVtdGFibGUgdGhyb3VnaHB1dAogICAoQ0FTU0FORFJBLTQyNjQpCiAqIEFkZCBiYWNrIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG9sZCBzdHlsZSByZXBsaWNhdGlvbiBmYWN0b3IgKEMieKw5AAiu52HCfOAAAAFP3jyyXAAQKiBWYXN0IGltcHJvdmVtZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgstwAAAQBzIGZyb20gY29uY3VycmVudCBzY2hlbWEgY2hhbmdlcyAoQ0FTU0FORFJBLTM3OTQpCiAqIFNldCB0aHJpZnQgSFNIQSBzZXJ2ZXIgdGhyZWFkIGxpbWl0IHRvIHVubGltaXRlZCBieSBkZWZhdWx0IChDQVNTQU5EUkEtNDI3NykKICogQXZvaWRzIGRvdWJsZSBzZXJpYWxpemF0aW9uIG9mIENGIGlkIGluIFJvd011dGF0aW9uIG1lc3NhZ2VzCiAgIChDQVNTQU5EUkEtNDI5MykKICogc3RyZWFtIGNvbXByZXNzZWQgc3N0YWJsZXMgZGlyZWN0bHkgd2l0KMRAlwAAAU/ePLJcABBDYWNoZUhpdFJhdGUgbWV0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy3AAABACAqIG1ha2Ugc25pdGNoZXMgY29uZmlndXJhYmxlIGF0IHJ1bnRpbWUgKENBU1NBTkRSQS0xMzc0KQogKiByZXRyeSBoYWRvb3Agc3BsaXQgcmVxdWVzdHMgb24gY29ubmVjdGlvbiBmYWlsdXJlIChDQVNTQU5EUkEtMTkyNykKICogaW1wbGVtZW50IGRlc2NyaWJlT3duZXJzaGlwIGZvciBCT1AsIENPUFAgKENBU1NBTkRSQS0xOTI4KQogKiBtYWtlIHJlYWQgcmVwYWlyIGJlaGF2ZSBhcyBleHBlY3RlZCBmb3IgQ29uc2lzdGVuY3lMZXZlbCA+IE9ORQpWndGgAAABT948slwAEE5EUkEtNTEzOCkKICogRmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLcAAAEAdGlvbiBhYmxlIHRvIHNraXAgZW1wdHkgcm93cwogICAocm93cyBjb250YWluaW5nIG5vdGhpbmcgYnV0IGV4cGlyZWQgdG9tYnN0b25lcykgKENBU1NBTkRSQS0zMDM5KQogKiB3b3JrIGFyb3VuZCBuYXRpdmUgbWVtb3J5IGxlYWsgaW4gY29tLnN1bi5tYW5hZ2VtZW50LkdhcmJhZ2VDb2xsZWN0b3JNWEJlYW4KICAgKENBU1NBTkRSQS0yODY4KQogKiB2YWxpZGF0ZSB0aGF0IGNvbHVtbiBuYW1lcyBpbiBjb2x1bW5fbWV0YWRhdGEgYXJlIG5vdCBlcYkJ3u8AAAFP3jyyXAAQZGV4IHNjYW5zIHRoYXQgYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgstwAAAQBuIHF1ZXJpZXMgdGhhdCB3aWxsIHJlcXVpcmUgQUxMT1cgRklMVEVSSU5HIGluIENhc3NhbmRyYSAzLjAKICAgYXJlIGV4ZWN1dGVkIChDQVNTQU5EUkEtODQxOCkKICogRml4IGNhc3NhbmRyYS1zdHJlc3Mgc28gaXQgcmVzcGVjdHMgdGhlIENMIHBhc3NlZCBpbiB1c2VyIG1vZGUgKENBU1NBTkRSQS04OTQ4KQogKiBGaXggcmFyZSBOUEUgaW4gQ29sdW1uRGVmaW5pdGlvbiNoYXNJbmRleE9wdGlvbigpIChDQVNTQU5EUkEtODc4NikKICogY2Fzc2Fu82e99wAAAU/ePLJcABBjZXB0aW9ucyBkdXJpbmcgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy3AAABAHRpbmcgY29sdW1uX2FsaWFzIHR5cGVzIChDQVNTQU5EUkEtNDA0MSkKICogKGNxbDMpIEZpeCBkZWxldGlvbiBidWcgKENBU1NBTkRSQS00MTkzKQogKiBGaXggY29tcHV0YXRpb24gb2Ygb3ZlcmxhcHBpbmcgc3N0YWJsZSBmb3IgbGV2ZWxlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtNDMyMSkKICogSW1wcm92ZSBzY3J1YiBhbmQgYWxsb3cgdG8gcnVuIGl0IG9mZmxpbmUgKENBU1NBTkRSQS00MzIxKQogKiBGaXggYXNzZXJ0aW9uRXJyb3IgaW4gU3ROJyyqAAABT948slwAECBzc3RhYmxlIG1ldGFkYXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLcAAAEAdGluZyB3aXRoIAogICBDb25zaXN0ZW5jeUxldmVsLlpFUk8gKENBU1NBTkRSQS0zOTkpCiAqIEZpeGVzIHRvIG1ha2UgQmluYXJ5TWVtdGFibGUgW2J1bGsgbG9hZCBpbnRlcmZhY2VdIHVzZWZ1bCAoQ0FTU0FORFJBLTMzNyk7CiAgIHNlZSBjb250cmliL2JtdF9leGFtcGxlIGZvciBhbiBleGFtcGxlIG9mIHVzaW5nIGl0LgogKiBNb3JlIEpNWCBwcm9wZXJ0aWVzIGFkZGVkIChzZXZlcmFsIHRpY2tldHMpCiAqIFRocmlmdCBjaGFuZ2VzIChzZXZlcpqg1/8AAAFP3jyyXAAQZWZhdWx0IGhlYXAgdGhyZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgstwAAAQB0IGZvciBkaWdlc3QgcmVjb25jaWxpYXRpb24gYmVmb3JlIHJldHVybmluZwogICAoQ0FTU0FORFJBLTI0OTQpCiAqIGZpeCBtaXNzaW5nIGxvZ2dpbmcgZm9yIHNvbWUgZXhjZXB0aW9ucyAoQ0FTU0FORFJBLTIwNjEpCiAqIHJlZmFjdG9yIGFuZCBvcHRpbWl6ZSBDb2x1bW5GYW1pbHlTdG9yZS5maWxlcyguLi4pIGFuZCBEZXNjcmlwdG9yLmZyb21GaWxlbmFtZShTdHJpbmcpCiAgIGFuZCBmZXcgb3RoZXIgcGxhY2VzIHJlc3BvbnNpYmxlIGZvciB3hv1trQAAAU/ePLJcABBTU0FORFJBLTUyNjMpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy3AAABAHJvcnMgZm9yIGNxbCBzZWxlY3Qgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTU2NDcpCiAqIFN1cHByZXNzIGN1c3RvbSBleGNlcHRpb25zIHRocnUgam14IChDQVNTQU5EUkEtNTY1MikKICogVXBkYXRlIENSRUFURSBDVVNUT00gSU5ERVggc3ludGF4IChDQVNTQU5EUkEtNTYzOSkKICogRml4IFBlcm1pc3Npb25EZXRhaWxzLmVxdWFscygpIG1ldGhvZCAoQ0FTU0FORFJBLTU2NTUpCiAqIE5ldmVyIGFsbG93IHBhcnRpdGlvbiBrZXkgcmFuZ2VzIGluIEPUcYJ8AAABT948slwAEHQgKENBU1NBTkRSQS01NzUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLcAAAEAZGQgY29uZGl0aW9uYWwgQ1JFQVRFL0RST1AgVVNFUiBzdXBwb3J0IChDQVNTQU5EUkEtNzI2NCkKICogQ3Fsc2ggY291bnRzIG5vbi1lbXB0eSBsaW5lcyBmb3IgIkJsYW5rIGxpbmVzIiB3YXJuaW5nIChDQVNTQU5EUkEtNzMyNSkKTWVyZ2VkIGZyb20gMS4yOgogKiBBZGQgQ2xvdWRzdGFjayBzbml0Y2ggKENBU1NBTkRSQS03MTQ3KQogKiBVcGRhdGUgc3lzdGVtLnBlZXJzIGNvcnJlY3RseSB3aGVuIHJlbG9jYXRpbmcgdG9rZW5zIChDQVNTQU5EUjedyrwAAAFP3jyyXAAQcm93IHRvbWJzdG9uZSAoQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgstwAAAQAtNzc0MSkKICogQWRkIHRyYWNpbmcgZW50cmllcyBhYm91dCBjb25jdXJyZW50IHJhbmdlIHJlcXVlc3RzIChDQVNTQU5EUkEtNzU5OSkKICogKGNxbHNoKSBGaXggREVTQ1JJQkUgZm9yIE5UUyBrZXlzcGFjZXMgKENBU1NBTkRSQS03NzI5KQogKiBSZW1vdmUgbmV0dHkgYnVmZmVyIHJlZi1jb3VudGluZyAoQ0FTU0FORFJBLTc3MzUpCiAqIFBhc3MgbXV0YXRlZCBjZiB0byBpbmRleCB1cGRhdGVyIGZvciB1c2UgYnkgUFJTSSAoQ0FTU0FORFJBLTc3e7JB1QAAAU/ePLJcABAzNjQpCiAqIFZhbGlkYXRlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy3AAABAHQvZW5kIHRva2VucyBpbiBDRklGIChDQVNTQU5EUkEtNjQzNikKICogRml4IE5QRSBpbiBNZXRlcmVkRmx1c2hlciAoQ0FTU0FORFJBLTY4MjApCiAqIEZpeCByYWNlIHByb2Nlc3NpbmcgcmFuZ2Ugc2NhbiByZXNwb25zZXMgKENBU1NBTkRSQS02ODIwKQogKiBBbGxvdyBkZWxldGluZyBzbmFwc2hvdHMgZnJvbSBkcm9wcGVkIGtleXNwYWNlcyAoQ0FTU0FORFJBLTY4MjEpCiAqIEFkZCB1dWlkKCkgZnVuY3Rpb24gKENBU1NBTkRSQS02NDczKQogKiDojGZgAAABT948slwAECAqIEZpeGVkIElsbGVnYWwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLcAAAEANzI3OSkKICogRml4IERhdGFPdXRwdXRUZXN0IG9uIFdpbmRvd3MgKENBU1NBTkRSQS03MjY1KQogKiBFbWJlZGRlZCBzZXRzIGluIHVzZXIgZGVmaW5lZCBkYXRhLXR5cGVzIGFyZSBub3QgdXBkYXRpbmcgKENBU1NBTkRSQS03MjY3KQogKiBBZGQgdHVwbGUgdHlwZSB0byBDUUwvbmF0aXZlIHByb3RvY29sIChDQVNTQU5EUkEtNzI0OCkKICogRml4IENxbFBhZ2luZ1JlY29yZFJlYWRlciBvbiB0YWJsZXMgd2l0aCBmZXcgcm93cyAoQ0FTU0FORFJBLeQWlqoAAAFP3jyyXAAQJ3MgUmF0ZUxpbWl0ZXIgZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgstwAAAQAoQ0FTU0FORFJBLTU3MTkpCiAqIERvbid0IGtlZXAgYW5jZXN0b3IgaW5mb3JtYXRpb24gaW4gbWVtb3J5IChDQVNTQU5EUkEtNTM0MikKICogRXhwb3NlIG5hdGl2ZSBwcm90b2NvbCBzZXJ2ZXIgc3RhdHVzIGluIG5vZGV0b29sIGluZm8gKENBU1NBTkRSQS01NzM1KQogKiBGaXggcGF0aGV0aWMgcGVyZm9ybWFuY2Ugb2YgcmFuZ2UgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTU2NzcpCiAqIEZpeCBxdWVyeWluZyB3aXRoIGFuIGVtcHR5IChpbXBvc3NpsBbGbgAAAU/ePLJcABBvbiBkYXRhIHNpemUsIG5vAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy3AAABAGVzIChDQVNTQU5EUkEtNzUyNSkKICogRml4IGNxbHNoIGF1dGhlbnRpY2F0aW9uIHdpdGggdjMgbmF0aXZlIHByb3RvY29sIChDQVNTQU5EUkEtNzU2NCkKICogRml4IE5QRSB3aGVuIHVua25vd24gcHJlcGFyZWQgc3RhdGVtZW50IElEIGlzIHVzZWQgKENBU1NBTkRSQS03NDU0KQpNZXJnZWQgZnJvbSAyLjA6CiAqIChXaW5kb3dzKSBmb3JjZSByYW5nZS1iYXNlZCByZXBhaXIgdG8gbm9uLXNlcXVlbnRpYWwgbW9kZSAoQ0FTU0FORFJBLTc1NDEpCiBYo7DAAAABT948slwAECAqIChIYWRvb3ApIEZpeCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLcAAAEAcCAoQ0FTU0FORFJBLTM3OTcpCiAqIHN1cHBvcnQgdHJpY2tsaW5nIGZzeW5jKCkgb24gd3JpdGVzIChDQVNTQU5EUkEtMzk1MCkKICogZXhwb3NlIGNvdW50ZXJzIGZvciB1bmF2YWlsYWJsZS90aW1lb3V0IGV4Y2VwdGlvbnMgZ2l2ZW4gdG8gdGhyaWZ0IGNsaWVudHMgKENBU1NBTkRSQS0zNjcxKQogKiBhdm9pZCBxdWFkcmF0aWMgc3RhcnR1cCB0aW1lIGluIExldmVsZWRNYW5pZmVzdCAoQ0FTU0FORFJBLTM5NTIpCiAqIEFkZCB0eXBlIGluZm9ybT+AOsIAAABOsCCziwAjAAZzeXN0ZW0AABBzY2hlbWFfa2V5c3BhY2VzAAAEAAAAAgAAAAABAVof8mes4D8ShWPPrmEDxl5VU2ZxAAUV99XursAAAAAAAAAAAPGjRPMACMNEwl/IYAAAAU/ePLJcABBTU0FORFJBLTQ3MTgpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy6AAABAERSQS01NjAwKQogKiBCaW5hcnkgcHJvdG9jb2w6IGFsbG93IGJhdGNoaW5nIGFscmVhZHkgcHJlcGFyZWQgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTQ2OTMpCiAqIEFsbG93IHByZXBhcmluZyB0aW1lc3RhbXAsIHR0bCBhbmQgbGltaXQgaW4gQ1FMMyBxdWVyaWVzIChDQVNTQU5EUkEtNDQ1MCkKICogU3VwcG9ydCBuYXRpdmUgbGluayB3L28gSk5BIGluIEphdmE3IChDQVNTQU5EUkEtMzczNCkKICogVXNlIFNBU0wgYXV0aGVudGljYXRpb24gaW4gYmmQEH2vAAABT948slwAEGxldGlvbiB0byBkZWJpYW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLoAAAEAIGxlc3MgcHJvbmUgdG8gT09NaW5nIGEgY29vcmRpbmF0b3IgKENBU1NBTkRSQS0zNDQwKQogKiBleHBvc2UgYmxvb20gZmlsdGVyIHNpemVzIHZpYSBKTVggKENBU1NBTkRSQS0zNDk1KQogKiBlbmZvcmNlIFJQIHRva2VucyAwLi4yKioxMjcgKENBU1NBTkRSQS0zNTAxKQogKiBjYW5vbmljYWxpemUgcGF0aHMgZXhwb3NlZCB0aHJvdWdoIEpNWCAoQ0FTU0FORFJBLTM1MDQpCiAqIGZpeCAibGl2ZVNpemUiIHN0YXQgd2hlbiBzc3RhYmxlcyBhcmUgckJ51UIAAAFP3jyyXAAQU0FORFJBLTYzNDUsIDY0OAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsugAAAQAgKENBU1NBTkRSQS0yODA0KQogKiBmaXggcG9zc2liaWxpdHkgb2Ygc3B1cmlvdXMgVW5hdmFpbGFibGVFeGNlcHRpb24gZm9yIExPQ0FMX1FVT1JVTQogICByZWFkcyB3aXRoIGR5bmFtaWMgc25pdGNoICsgcmVhZCByZXBhaXIgZGlzYWJsZWQgKENBU1NBTkRSQS0yODcwKQogKiBhZGQgYW50LW9wdGlvbmFsIGFzIGRlcGVuZGVuY2UgZm9yIHRoZSBkZWJpYW4gcGFja2FnZSAoQ0FTU0FORFJBLTIxNjQpCiAqIGFkZCBvcHRpb24gdG8gc3BlY2lmeSBs99D80gAAAU/ePLJcABAgUENJIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy6AAABADcpCiAqIChjcWwzKSBBZGQgQUxURVIgS0VZU1BBQ0Ugc3RhdGVtZW50IChDQVNTQU5EUkEtNDYxMSkKICogKGNxbDMpIEFsbG93IGRlZmluaW5nIGRlZmF1bHQgY29uc2lzdGVuY3kgbGV2ZWxzIChDQVNTQU5EUkEtNDQ0OCkKICogKGNxbDMpIEZpeCBxdWVyaWVzIHVzaW5nIExJTUlUIG1pc3NpbmcgcmVzdWx0cyAoQ0FTU0FORFJBLTQ1NzkpCiAqIGZpeCBjcm9zcy12ZXJzaW9uIGdvc3NpcCBtZXNzYWdpbmcgKENBU1NBTkRSQS00NTc2KQogKiBhZGQLpuW9AAABT948slwAEGxlIChDQVNTQU5EUkEtODIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLoAAAEAMi4wIChDQVNTQU5EUkEtNTI4NiwgNTY5OSkKICogQ29uZGl0aW9uYWwgY3JlYXRlL2Ryb3Aga3MvdGFibGUvaW5kZXggc3RhdGVtZW50cyBpbiBDUUwzIChDQVNTQU5EUkEtMjczNykKICogbW9yZSBwcmUtdGFibGUgY3JlYXRpb24gcHJvcGVydHkgdmFsaWRhdGlvbiAoQ0FTU0FORFJBLTU2OTMpCiAqIFJlZGVzaWduIHJlcGFpciBtZXNzYWdlcyAoQ0FTU0FORFJBLTU0MjYpCiAqIEZpeCBBTFRFUiBSRU5BTUUgcG9zdC01MTI1IChDQVNTQU5EUkEtNYP5jAMAAAFP3jyyXAAQRFJBLTY2MDIpCiAqIFBybwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsugAAAQBvbHVtbiAoQ0FTU0FORFJBLTY5OSkKICogYWNjZXNzIGxldmVscyBmb3IgYXV0aGVudGljYXRpb24vYXV0aG9yaXphdGlvbiAoQ0FTU0FORFJBLTkwMCkKICogYWRkIFJlYWRSZXBhaXJDaGFuY2UgdG8gQ0YgZGVmaW5pdGlvbiAoQ0FTU0FORFJBLTkzMCkKICogZml4IGhlaXNlbmJ1ZyBpbiBzeXN0ZW0gdGVzdHMsIGVzcGVjaWFsbHkgY29tbW9uIG9uIE9TIFggKENBU1NBTkRSQS05NDQpCiAqIGNvbnZlcnQgdG8gYnl0ZVtdIGtleXMgaW50ZXJuYWxsOTr2YAAAAU/ePLJcABBubmVyIHJlYWQgaW4gTWVzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy6AAABACA0MjM0KQogKiB1cGRhdGUgTXVybXVySGFzaCB0byB2ZXJzaW9uIDMgKENBU1NBTkRSQS0yOTc1KQogKiAoQ0xJKSB0cmFjayBlbGFwc2VkIHRpbWUgZm9yIGBkZWxldGUnIG9wZXJhdGlvbiAoQ0FTU0FORFJBLTQwNjApCiAqIChDTEkpIGpsaW5lIHZlcnNpb24gaXMgYnVtcGVkIHRvIDEuMCB0byBwcm9wZXJseSAgc3VwcG9ydAogICAnZGVsZXRlJyBrZXkgZnVuY3Rpb24gKENBU1NBTkRSQS00MTMyKQogKiBTYXZlIEluZGV4U3VtbWFyeSBpbnRvIG5XFdltAAABT948slwAEGxlcyBpbmNsdWRlcyBzZWMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLoAAAEALTY3ODQpCiAqIENvbXBhcmUgc2NvcmVzIG9mIGZ1bGwgcmVwbGljYSBvcmRlcmluZyBpbiBERVMgKENBU1NBTkRSQS02NjgzKQogKiBmaXggQ01FIGluIFNlc3Npb25JbmZvIHVwZGF0ZVByb2dyZXNzIGFmZmVjdGluZyBuZXRzdGF0cyAoQ0FTU0FORFJBLTY1NzcpCiAqIEFsbG93IHJlcGFpcmluZyBiZXR3ZWVuIHNwZWNpZmljIHJlcGxpY2FzIChDQVNTQU5EUkEtNjQ0MCkKICogQWxsb3cgcGVyLWRjIGVuYWJsaW5nIG9mIGhpbnRzIChDQVNTQU5EUn+93T0AAAFP3jyyXAAQTkRSQS01MTA2KQogKiBmaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsugAAAQAgcG9zc2libGUgQnl0ZUJ1ZmZlciByYWNlIGNvbmRpdGlvbnMgKENBU1NBTkRSQS0yMDY2KQogKiByZWR1Y2UgZ2FyYmFnZSBnZW5lcmF0ZWQgYnkgTWVzc2FnaW5nU2VydmljZSB0byBwcmV2ZW50IGxvYWQgc3Bpa2VzCiAgIChDQVNTQU5EUkEtMjA1OCkKICogZml4IG1hdGggaW4gUmFuZG9tUGFydGl0aW9uZXIuZGVzY3JpYmVPd25lcnNoaXAgKENBU1NBTkRSQS0yMDcxKQogKiBmaXggZGVsZXRpb24gb2Ygc3N0YWJsZSBub24tZGF0YSBjb21wb25lX0P5lwAAAU/ePLJcABByb3IgZHVyaW5nIHJlcGFpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy6AAABAE5EUkEtMzg3NCkKICogRml4IHJlbW92ZXRva2VuIGZvcmNlIGNhdXNpbmcgYW4gaW5jb25zaXN0ZW50IHN0YXRlIChDQVNTQU5EUkEtMzg3NikKICogRml4IGFobmRsaW5nIG9mIHNvbWUgdHlwZXMgd2l0aCBQaWcgKENBU1NBTkRSQS0zODg2KQogKiBEb24ndCBhbGxvdyB0byBkcm9wIHRoZSBzeXN0ZW0ga2V5c3BhY2UgKENBU1NBTkRSQS0zNzU5KQogKiBNYWtlIFBpZyBkZWxldGVzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGNvbmZpZ3VyYWJsZSCPFtHLAAABT948slwAEFNTQU5EUkEtMTQ4NSkKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLoAAAEAb3Igbm9uLWRlZmF1bHQgdXNlcnMgKENBU1NBTkRSQS01MzEwKQogKiBGaXggQXNzZXJ0aW9uRXJyb3IgZHVyaW5nIHJlcGFpciAoQ0FTU0FORFJBLTUyNDUpCiAqIERvbid0IGFubm91bmNlIG1pZ3JhdGlvbnMgdG8gcHJlLTEuMiBub2RlcyAoQ0FTU0FORFJBLTUzMzQpCk1lcmdlZCBmcm9tIDEuMToKICogVXBkYXRlIG9mZmxpbmUgc2NydWIgZm9yIDEuMCAtPiAxLjEgZGlyZWN0b3J5IHN0cnVjdHVyZSAoQ0FTU0FORFJBLTUxOTUpCiAqIGFkZCB0bf6Sk8YAAAFP3jyyXAAQRFJBLTI4NTcpCiAqIHJlbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsugAAAQAgKENBU1NBTkRSQS00NDApCiAgIGFuZCBhZGQgVW5hdmFpbGFibGVFeGNlcHRpb24gdG8gbW9yZSBUaHJpZnQgbWV0aG9kcwogKiBBZGQgZXhhbXBsZSBFbmRQb2ludFNuaXRjaCBjb250cmliIGNvZGUgKHNldmVyYWwgdGlja2V0cykKCgowLjQuMCBSQzIKICogZml4IFNTVGFibGUgZ2VuZXJhdGlvbiBjbGFzaCBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTQxOCkKICogcmVqZWN0IG1ldGhvZCBjYWxscyB3aXRoIG51bGwgcGFyYW1ldGVycyAovHZ0LgAAAU/ePLJcABBwZGF0ZXMgd2l0aCBpZGVuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy6AAABADQyNykKICogY2xlYW51cCB1c2FnZSBvZiBTdG9yYWdlU2VydmljZS5zZXRNb2RlKCkgKENBU1NBTkRSQS0zMzg4KQogKiBBdm9pZCBsYXJnZSBhcnJheSBhbGxvY2F0aW9uIGZvciBjb21wcmVzc2VkIGNodW5rIG9mZnNldHMgKENBU1NBTkRSQS0zNDMyKQogKiBmaXggRGVjaW1hbFR5cGUgYnl0ZWJ1ZmZlciBtYXJzaGFsbGluZyAoQ0FTU0FORFJBLTM0MjEpCiAqIGZpeCBidWcgdGhhdCBjYXVzZWQgZmlyc3QgY29sdW1uIGluIHBlciByb3cgaW5kZXj7EkmAAAABT948slwAEGhvdyBzY2hlbWFgIHRvIGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLoAAAEAc3QtZmx1c2ggZGlzY2FyZCBvZiBvbGQgY29tbWl0bG9nIHNlZ21lbnRzIChDQVNTQU5EUkEtOTM2KQogKiBmaXggbmVpZ2hib3IgY2FsY3VsYXRpb24gZm9yIGFudGktZW50cm9weSByZXBhaXIgKENBU1NBTkRSQS05MjQpCiAqIHBlcmZvcm0gcmVwYWlyIGV2ZW4gZm9yIHNtYWxsIGVudHJvcHkgZGlmZmVyZW5jZXMgKENBU1NBTkRSQS05MjQpCiAqIFVzZSBob3N0bmFtZXMgaW4gQ0ZJbnB1dEZvcm1hdCB0byBhbGxvdyBIYWRvb3AncyBuYWl2ZSBzdCAsV1wAAAFP3jyyXAAQKQogICAKCjAuNi41CiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsugAAAQAvY29tcGxldGUgYmFkIHJlZmNvdW50aW5nIChDQVNTQU5EUkEtODgxNSkKICogRml4IEFzc2VydGlvbkVycm9yIHdoZW4gcXVlcnlpbmcgYSBERVNDIGNsdXN0ZXJpbmcgb3JkZXJlZAogICB0YWJsZSB3aXRoIEFTQyBvcmRlcmluZyBhbmQgcGFnaW5nIChDQVNTQU5EUkEtODc2NykKICogQXNzZXJ0aW9uRXJyb3I6ICJNZW1vcnkgd2FzIGZyZWVkIiB3aGVuIHJ1bm5pbmcgY2xlYW51cCAoQ0FTU0FORFJBLTg3MTYpCiAqIE1ha2UgaXQgcG9zc2libGUgjfv50gAI16Fd0y/YAAABT948slwAECBhbGxvdyByZWFkaW5nIGQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLwAAAEAbnltb3JlIChDQVNTQU5EUkEtMzI1NikKICogdGVzdCBmb3IgTlVNQSBwb2xpY3kgc3VwcG9ydCBhcyB3ZWxsIGFzIG51bWFjdGwgcHJlc2VuY2UgKENBU1NBTkRSQS0zMjQ1KQogKiBGaXggRkQgbGVhayB3aGVuIGludGVybm9kZSBlbmNyeXB0aW9uIGlzIGVuYWJsZWQgKENBU1NBTkRSQS0zMjU3KQogKiBSZW1vdmUgaW5jb3JyZWN0IGFzc2VydGlvbiBpbiBtZXJnZUl0ZXJhdG9yIChDQVNTQU5EUkEtMzI2MCkKICogRkJVdGlsaXRpZXMuaGV4VG9Cedok0I0AAAFP3jyyXAAQbml0b3IucmVhZEFuZENvbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsvAAAAQBhcyBmcmVlZCIgd2hlbiBydW5uaW5nIGNsZWFudXAgKENBU1NBTkRSQS04NzE2KQogKiBNYWtlIGl0IHBvc3NpYmxlIHRvIHNldCBtYXhfc3N0YWJsZV9hZ2UgdG8gZnJhY3Rpb25hbCBkYXlzIChDQVNTQU5EUkEtODQwNikKICogRml4IHNvbWUgbXVsdGktY29sdW1uIHJlbGF0aW9ucyB3aXRoIGluZGV4ZXMgb24gc29tZSBjbHVzdGVyaW5nCiAgIGNvbHVtbnMgKENBU1NBTkRSQS04Mjc1KQogKiBGaXggbWVtb3J5IGxlYWsgaW4gU1NUYWJsZVNpbXBsseq1XgAAAU/ePLJcABBpbnRlcmZhY2UgYW5kIGxpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy8AAABAHJlYXRpb24gYW5kIGRlc3RydWN0aW9uIChDQVNTQU5EUkEtMTUzMikKICogbG9nIGF1dG8tZ3Vlc3NlZCBtZW10YWJsZSB0aHJlc2hvbGRzIChDQVNTQU5EUkEtMTU5NSkKICogYWRkIENvbHVtbkRlZiBzdXBwb3J0IHRvIGNsaSAoQ0FTU0FORFJBLTE1ODMpCiAqIHJlZHVjZSBpbmRleCBzYW1wbGUgdGltZSBieSA3NSUgKENBU1NBTkRSQS0xNTcyKQogKiBhZGQgY2xpIHN1cHBvcnQgZm9yIGNvbHVtbiwgc3RyYXRlZ3kgbWV0YWRhdGEgKENBU1NBTkQFBQOwAAABT948slwAEGF2YWlsYWJpbGl0eSB1bmQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLwAAAEAc3NlZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTM1MjEpCiAqIGF2b2lkcyByYWNlIGluIE91dGJvdW5kVGNwQ29ubmVjdGlvbiBpbiBtdWx0aS1EQyBzZXR1cHMgKENBU1NBTkRSQS0zNTMwKQogKiB1c2UgU0VUTE9DQUwgaW4gY2Fzc2FuZHJhLmJhdCAoQ0FTU0FORFJBLTM1MDYpCiAqIGZpeCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uIGluIFRhYmxlLmFsbCgpIChDQVNTQU5EUkEtMzUyOSkKTWVyZ2VkIGZyb20gMC44OgogKiBmaXggY29uYxXMCOgAAAFP3jyyXAAQQ0FTU0FORFJBLTU5NjcpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsvAAAAQA2ODgpCiAqIEZpeCBoYW5nIHdoZW4gcmVwYWlyaW5nIGVtcHR5IGtleXNwYWNlIChDQVNTQU5EUkEtODY5NCkKTWVyZ2VkIGZyb20gMi4wOgogKiBGaXggSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIGluIGR5bmFtaWMgc25pdGNoIChDQVNTQU5EUkEtODQ0OCkKICogQWRkIHN1cHBvcnQgZm9yIFVQREFURSAuLi4gSUYgRVhJU1RTIChDQVNTQU5EUkEtODYxMCkKICogRml4IHJldmVyc2FsIG9mIGxpc3QgcHJlcGVuZHMgKENBU1NBTkRSQS04NzMzKQog8PmrPQAAAU/ePLJcABBTQU5EUkEtNTk0NykKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy8AAABAGcgb2YgY2FjaGVkIHJvd3MgZHVyaW5nIGNvbXBhY3Rpb24KICAgKENBU1NBTkRSQS0zOTIxKQogKiBmaXggY29uY3VycmVuY3kgaXNzdWVzIHdpdGggQ1FMIGtleXNwYWNlIGNyZWF0aW9uIChDQVNTQU5EUkEtMzkwMykKICogU2hvdyBFZmZlY3RpdmUgT3dlcnNoaXAgdmlhIE5vZGV0b29sIHJpbmcgPGtleXNwYWNlPiAoQ0FTU0FORFJBLTM0MTIpCiAqIFVwZGF0ZSBPUkRFUiBCWSBzeW50YXggZm9yIENRTDMgKENBU1NBTkRSQS0zOTI1KQogKiBGaXgS05GcAAABT948slwAEEFTU0FORFJBLTQ2MDYpCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLwAAAEAIHBhcmFtZXRlciB0byByZWFkIG1ldGhvZHMKICAgIC0gY29sdW1uLW5hbWUtc2V0IHNsaWNlIHdpdGggbm8gbmFtZXMgZ2l2ZW4gbm93IHJldHVybnMgemVybyBjb2x1bW5zCiAgICAgIGluc3RlYWQgb2YgYWxsIG9mIHRoZW0uICAoImFsbCIgY2FuIHJ1biB5b3VyIHNlcnZlciBvdXQgb2YgbWVtb3J5LgogICAgICB1c2UgYSByYW5nZS1iYXNlZCBzbGljZSB3aXRoIGEgaGlnaCBtYXggY29sdW1uIGNvdW50IGluc3RlYWQuKQogKiBSZW1vdmVkIHRoZYTomcwAAAFP3jyyXAAQIGluIHNvcnRlZCBvcmRlcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsvAAAAQBpdGlhbGlzYXRpb24gZm9yIGEgc3BsaXQgZmV0Y2hpbmcgKENBU1NBTkRSQS03Nzc0KQogKiBUaHJvdyBJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiB3aGVuIHF1ZXJpZXMgY29udGFpbiByZWxhdGlvbnMgb24gZW50aXJlCiAgIGNvbGxlY3Rpb24gY29sdW1ucyAoQ0FTU0FORFJBLTc1MDYpCiAqIChjcWxzaCkgZW5hYmxlIENUUkwtUiBoaXN0b3J5IHNlYXJjaCB3aXRoIGxpYmVkaXQgKENBU1NBTkRSQS03NTc3KQogKiAoSGFkb29wKSBhbGxvdyBBQ0ZSJFN6nAAAAU/ePLJcABAgaW5jbHVkZXMgc2Vjb25kAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy8AAABACBGaXggYWx0ZXJpbmcgY29sdW1uIHR5cGVzIChDQVNTQU5EUkEtNjE4NSkKICogY3Fsc2g6IGZpeCBDUkVBVEUvQUxURVIgV0lUSCBjb21wbGV0aW9uIChDQVNTQU5EUkEtNjE5NikKICogYWRkIHdpbmRvd3MgYmF0IGZpbGVzIGZvciBzaGVsbCBjb21tYW5kcyAoQ0FTU0FORFJBLTYxNDUpCiAqIEZpeCBwb3RlbnRpYWwgc3RhY2sgb3ZlcmZsb3cgZHVyaW5nIHJhbmdlIHRvbWJzdG9uZXMgaW5zZXJ0aW9uIChDQVNTQU5EUkEtNjE4MSkKICogKEhhZG8Nn27OAAABT948slwAEEFORFJBLTc2MzUpCiAqICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLwAAAEAQ0ZzIHdlcmUgYWRkZWQgKENBU1NBTkRSQS0xNDAzKQogKiBsZXNzIGNoYXR0eSBzY2hlbWEgdXBkYXRlcyAoQ0FTU0FORFJBLTEzODkpCiAqIHJlbmFtZSBjb2x1bW4gZmFtaWx5IG1iZWFucy4gJ3R5cGUnIHdpbGwgbm93IGluY2x1ZGUgZWl0aGVyIAogICAnSW5kZXhDb2x1bW5GYW1pbGllcycgb3IgJ0NvbHVtbkZhbWlsaWVzJyBkZXBlbmRpbmcgb24gdGhlIENGUyB0eXBlLgogICAoQ0FTU0FORFJBLTEzODUpCiAqIGRpc2FsbG93IGludmFsaWQgawFMINQAAAFP3jyyXAAQZSBvcHRpb24gKENBU1NBTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsvAAAAQBnIGNvbHVtbnMgYXMgbm90IG1hdGNoaW5nIHNlY29uZGFyeQogICBleHByZXNzaW9ucyAoQ0FTU0FORFJBLTE3NDUpCiAqIEZpeCBtaXN1c2Ugb2YgRGF0YU91dHB1dEJ1ZmZlci5nZXREYXRhIGluIEFudGlFbnRyb3B5U2VydmljZQogICAoQ0FTU0FORFJBLTE3MjkpCiAqIGRldGVjdCBhbmQgd2FybiB3aGVuIG9ic29sZXRlIHZlcnNpb24gb2YgSk5BIGlzIHByZXNlbnQgKENBU1NBTkRSQS0xNzYwKQogKiByZWR1Y2UgZmF0IGNsaWVudCB0aW1lb3V0ODvWKwAAAU/ePLJcABBtb2RpZmllZCAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy8AAABAHN5bmMgd2l0aGluIHBhcnRpdGlvbnMgKENBU1NBTkRSQS03MzYwKQogKiBQb3RlbnRpYWxseSB1c2Ugbm9uLWxvY2FsIHJlcGxpY2FzIGluIENxbENvbmZpZ0hlbHBlciAoQ0FTU0FORFJBLTc5MDYpCiAqIEV4cGxpY2l0bHkgZGlzYWxsb3cgbWl4aW5nIG11bHRpLWNvbHVtbiBhbmQgc2luZ2xlLWNvbHVtbgogICByZWxhdGlvbnMgb24gY2x1c3RlcmluZyBjb2x1bW5zIChDQVNTQU5EUkEtNzcxMSkKICogQmV0dGVyIGVycm9yIG1lc3NhZ2Ugd2hlbiAYxjO1AAABT948slwAECAqIFN1cHByZXNzIGN1c3QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILLwAAAEAQS01MTcpCiAqIE1pc2NlbGxhbmVvdXMgYm9vdHN0cmFwIGZpeGVzIChzZXZlcmFsIHRpY2tldHMpCiAqIEFiaWxpdHkgdG8gY2hhbmdlIGEgbm9kZSdzIHRva2VuIGV2ZW4gYWZ0ZXIgaXQgaGFzIGRhdGEgb24gaXQKICAgKENBU1NBTkRSQS01NDEpCiAqIEFiaWxpdHkgdG8gZGVjb21taXNzaW9uIGEgbGl2ZSBub2RlIGZyb20gdGhlIHJpbmcgKENBU1NBTkRSQS00MzUpCiAqIFNlbWktYXV0b21hdGljIGxvYWRiYWxhbmNpbmcgdmlhIG5vZGVwcm9iZTyK5XcAAAFP3jyyXAAQIEhhZG9vcCBkZXBlbmRlbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsvAAAAQBhCiAgIChDQVNTQU5EUkEtMTM0MikKICogcmV3cml0ZSBIYWRvb3AgQ29sdW1uRmFtaWx5UmVjb3JkV3JpdGVyIHRvIHBvb2wgY29ubmVjdGlvbnMsIHJldHJ5IHRvCiAgIG11bHRpcGxlIENhc3NhbmRyYSBub2RlcywgYW5kIHNtb290aCBpbXBhY3Qgb24gdGhlIENhc3NhbmRyYSBjbHVzdGVyCiAgIGJ5IHVzaW5nIHNtYWxsZXIgYmF0Y2ggc2l6ZXMgKENBU1NBTkRSQS0xNDM0KQogKiBmaXggc2V0dGluZyBnY19ncmFjZV9zZWNvbmRzIHZpYSBDTEkgpz+05AAAAU/ePLJcABBsZXRpbmcgc3N0YWJsZXMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy8AAABAG5kcG9pbnQgSk1YIG1ldGhvZHMgCiAgIChDQVNTQU5EUkEtMTU1MSkKCgowLjcuMC1iZXRhMwogKiBhZGQgc3RyYXRlZ3kgb3B0aW9ucyB0byBkZXNjcmliZV9rZXlzcGFjZSBvdXRwdXQgKENBU1NBTkRSQS0xNTYwKQogKiBsb2cgd2FybmluZyB3aGVuIHVzaW5nIHJhbmRvbWx5IGdlbmVyYXRlZCB0b2tlbiAoQ0FTU0FORFJBLTE1NTIpCiAqIHJlLW9yZ2FuaXplIEpNWCBpbnRvIC5kYiwgLm5ldCwgLmludGVybmFsLCAucmVxdWVzdCAoQ0FTU0FORFLOV5b5AAjr/qMd7noAAAFP3jyyXAAQZSBmaWxlcyAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsvwAAAQBhbmQgcnVuIHRocm91Z2ggY29tbWl0IGxvZyAoQ0FTU0FORFJBLTg4MCkKICogQm9vdHN0cmFwcGluZyBjYW4gc2tpcCByYW5nZXMgdW5kZXIgdGhlIHJpZ2h0IGNvbmRpdGlvbnMgKENBU1NBTkRSQS05MDIpCiAqIGZpeCBtZXJnaW5nIHJvdyB2ZXJzaW9ucyBpbiByYW5nZV9zbGljZSBmb3IgQ0wgPiBPTkUgKENBU1NBTkRSQS04ODQpCiAqIGRlZmF1bHQgd3JpdGUgQ29uc2lzdGVuY3lMZXZlbiBjaGFuZWQgZnJvbSBaRVJPIHRvIE9ORQogKiBmaXggx4qgBQAAAU/ePLJcABBhZGQgQ09QWSBjb21tYW5kAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy/AAABACAqIEZpeCBsaXN0IHByZXBlbmQgbG9naWMgKENRTDMpIChDQVNTQU5EUkEtNDgzNSkKICogQWRkIGJvb2xlYW5zIGFzIGxpdGVyYWxzIGluIENRTDMgKENBU1NBTkRSQS00Nzc2KQogKiBBbGxvdyByZW5hbWluZyBQSyBjb2x1bW5zIGluIENRTDMgKENBU1NBTkRSQS00ODIyKQogKiBGaXggYmluYXJ5IHByb3RvY29sIE5FV19OT0RFIGV2ZW50IChDQVNTQU5EUkEtNDY3OSkKICogRml4IHBvdGVudGlhbCBpbmZpbml0ZSBsb29wIGluIHRvbWJzdG9uZSCK01VuAAABT948slwAEEEtNDQyMikKICogYXZvaWQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILL8AAAEAc2Vjb25kYXJ5CiAgIGV4cHJlc3Npb25zIChDQVNTQU5EUkEtMTc0NSkKICogRml4IG1pc3VzZSBvZiBEYXRhT3V0cHV0QnVmZmVyLmdldERhdGEgaW4gQW50aUVudHJvcHlTZXJ2aWNlCiAgIChDQVNTQU5EUkEtMTcyOSkKICogZGV0ZWN0IGFuZCB3YXJuIHdoZW4gb2Jzb2xldGUgdmVyc2lvbiBvZiBKTkEgaXMgcHJlc2VudCAoQ0FTU0FORFJBLTE3NjApCiAqIHJlZHVjZSBmYXQgY2xpZW50IHRpbWVvdXQgKENBU1NBTkRSQS0xNzMwKQogKiBjbGVhbshSwOUAAAFP3jyyXAAQYWRkIGNvbW1hbmQgdG8gcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsvwAAAQBtcHJlc3Npb24gdG8gdGhlIG5hdGl2ZSBwcm90b2NvbCAoQ0FTU0FORFJBLTU3NjUpCiAqIEZpeCBidWdzIGluIHRoZSBuYXRpdmUgcHJvdG9jb2wgdjIgKENBU1NBTkRSQS01NzcwKQogKiBDQVMgb24gJ3ByaW1hcnkga2V5IG9ubHknIHRhYmxlIChDQVNTQU5EUkEtNTcxNSkKICogU3VwcG9ydCBzdHJlYW1pbmcgU1NUYWJsZXMgb2Ygb2xkIHZlcnNpb25zIChDQVNTQU5EUkEtNTc3MikKICogQWx3YXlzIHJlc3BlY3QgcHJvdG9jb2wgdmVyc2lvbiBp5pJf0AAAAU/ePLJcABBTU0FORFJBLTQxOTQpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy/AAABAEFTU0FORFJBLTY3MykKCgowLjUuMCBSQzMKICogY29tbWl0IHRoZSBjb3JyZWN0IHZlcnNpb24gb2YgdGhlIHBhdGNoIGZvciBDQVNTQU5EUkEtNjYzCgoKMC41LjAgUkMyICh1bnJlbGVhc2VkKQogKiBmaXggYnVncyBpbiBjb252ZXJ0aW5nIGdldF9yYW5nZV9zbGljZSByZXN1bHRzIHRvIFRocmlmdCAKICAgKENBU1NBTkRSQS02NDcsIENBU1NBTkRSQS02NDkpCiAqIGV4cG9zZSBqYXZhLnV0aWwuY29uY3VycmVudC5UaW1lb3V0RXhjZXB0aW9uIGnGZNQiAAABT948slwAECwgMjE1MikKICogaHVtYW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILL8AAAEAb25kYXJ5SW5kZXggaXMgbm90aWZpZWQgb2Ygcm93LWxldmVsIGRlbGV0ZXMKICAgKENBU1NBTkRSQS01NDQ1KQogKiBBbGxvdyBlbXB0eSBibG9iIGxpdGVyYWxzIGluIENRTDMgKENBU1NBTkRSQS01NDUyKQogKiBGaXggc3RyZWFtaW5nIFJhbmdlVG9tYnN0b25lcyBhdCBjb2x1bW4gaW5kZXggYm91bmRhcnkgKENBU1NBTkRSQS01NDE4KQogKiBGaXggcHJlcGFyaW5nIHN0YXRlbWVudHMgd2hlbiBjdXJyZW50IGtleXNwYWNlIGlzIG5vdCBzZXQgKJc8djQAAAFP3jyyXAAQZXJyb3IgbWVzc2FnZSB3aAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsvwAAAQBvciBjb21wcmVzc2VkIGNodW5rIG9mZnNldHMgKENBU1NBTkRSQS0zNDMyKQogKiBmaXggRGVjaW1hbFR5cGUgYnl0ZWJ1ZmZlciBtYXJzaGFsbGluZyAoQ0FTU0FORFJBLTM0MjEpCiAqIGZpeCBidWcgdGhhdCBjYXVzZWQgZmlyc3QgY29sdW1uIGluIHBlciByb3cgaW5kZXhlcyB0byBiZSBpZ25vcmVkIAogICAoQ0FTU0FORFJBLTM0NDEpCiAqIGFkZCBKTVggY2FsbCB0byBjbGVhbiAoZmFpbGVkKSByZXBhaXIgc2Vzc2lvbnMgKENBU1NBTkRSQS0zACVTyAAAAU/ePLJcABBwcG9ydCBwYXNzaW5nIHRhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCy/AAABAGxvYWQgYWJpbGl0eSAoQ0FTU0FORFJBLTE0MTcsIDE2MDYsIDE2NDcpCiAqIGFkZCBTdG9yYWdlU2VydmljZS5nZXREcmFpblByb2dyZXNzIChDQVNTQU5EUkEtMTU4OCkKICogRGlzYWxsb3cgYm9vdHN0cmFwIHRvIGFuIGluLXVzZSB0b2tlbiAoQ0FTU0FORFJBLTE1NjEpCiAqIEFsbG93IGR5bmFtaWMgc2Vjb25kYXJ5IGluZGV4IGNyZWF0aW9uIGFuZCBkZXN0cnVjdGlvbiAoQ0FTU0FORFJBLTE1MzIpCiAqIGxvZyBhdXRvLWd1ZXNzZWQgbWVtdGGHlqweAAABT948slwAECkKICogTWFrZSBzc3RhYmwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILL8AAAEAZ2VkIGZyb20gMS4wOgogKiBTZXQgZ2NfZ3JhY2Ugb24gaW5kZXggQ0YgdG8gMCAoQ0FTU0FORFJBLTQzMTQpCgoKMS4xLjEKICogYWRkIHBvcHVsYXRlX2lvX2NhY2hlX29uX2ZsdXNoIG9wdGlvbiAoQ0FTU0FORFJBLTI2MzUpCiAqIGFsbG93IGxhcmdlciBjYWNoZSBjYXBhY2l0aWVzIHRoYW4gMkdCIChDQVNTQU5EUkEtNDE1MCkKICogYWRkIGdldHNzdGFibGVzIGNvbW1hbmQgdG8gbm9kZXRvb2wgKENBU1NBTkRSQS00MTk5KQogKiBhcHBseSBwYSYg2OIAAAFP3jyyXAAQMikKICogbG9nIGF1dG8tZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgswAAAAQBTU0FORFJBLTQ0MDIpCiAqIGFjcXVpcmUgcmVmZXJlbmNlcyB0byBvdmVybGFwcGluZyBzc3RhYmxlcyBkdXJpbmcgY29tcGFjdGlvbiBzbyBibG9vbSBmaWx0ZXIKICAgZG9lc24ndCBnZXQgZnJlZSdkIHByZW1hdHVyZWx5IChDQVNTQU5EUkEtNDkzNCkKICogRG9uJ3Qgc2hhcmUgc2xpY2UgcXVlcnkgZmlsdGVyIGluIENRTDMgU2VsZWN0U3RhdGVtZW50IChDQVNTQU5EUkEtNDkyOCkKICogU2VwYXJhdGUgdHJhY2luZyBmcm9tIExvZzRKIChDQVNTFvOs4AAAAU/ePLJcABBlIChDQVNTQU5EUkEtODA4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzAAAABAHRpb25TdHJhdGVneSAoQ0FTU0FORFJBLTc3NTMpCiAqIEZpeCBBTFRFUiBjbHVzdGVyaW5nIGNvbHVtbiB0eXBlIGZyb20gRGF0ZVR5cGUgdG8gVGltZXN0YW1wVHlwZSB3aGVuCiAgIHVzaW5nIERFU0MgY2x1c3RlcmluZyBvcmRlciAoQ0FTU0FOUkRBLTc3OTcpCiAqIFRocm93IEVPRkV4Y2VwdGlvbiBpZiB3ZSBydW4gb3V0IG9mIGNodW5rcyBpbiBjb21wcmVzc2VkIGRhdGFmaWxlCiAgIChDQVNTQU5EUkEtNzY2NCkKICogRml4IFBSU0kgaGFuZGy567IlAAABT948slwAEGZvciByZXBsaWNhdGVfb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMAAAAEAYm9vdHN0cmFwIHJldHJ5IGlmIG5vZGVzIGZsYXAgKENBU1NBTkRSQS0yNjQ0KQogKiBBZGRlZCBzdGF0dXN0aHJpZnQgdG8gbm9kZXRvb2wgdG8gcmVwb3J0IGlmIHRocmlmdCBzZXJ2ZXIgaXMgcnVubmluZwogICAoQ0FTU0FORFJBLTI3MjIpCiAqIEZpeGVkIHJvd3MgYmVpbmcgY2FjaGVkIGlmIHRoZXkgZG8gbm90IGV4aXN0IChDQVNTQU5EUkEtMjcyMykKICogZml4IHRydW5jYXRlL2NvbXBhY3Rpb24gcmFjZSAoQ0FTU0FORFJBLTI2NzMpCiAqINdFj90AAAFP3jyyXAAQb20gZWFybGllciB2ZXJzaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgswAAAAQBkIGxvY2FsIHdyaXRlcyAoQ0FTU0FORFJBLTQ3NTMpCiAqIG9mZi1oZWFwIGNhY2hlIGRvZXNuJ3QgbmVlZCBtdXRhYmxlIGNvbHVtbiBjb250YWluZXIgKENBU1NBTkRSQS01MDU3KQogKiBhcHBseSBkaXNrX2ZhaWx1cmVfcG9saWN5IHRvIGJhZCBkaXNrcyBvbiBpbml0aWFsIGRpcmVjdG9yeSBjcmVhdGlvbiAKICAgKENBU1NBTkRSQS00ODQ3KQogKiBPcHRpbWl6ZSBuYW1lLWJhc2VkIHF1ZXJpZXMgdG8gdXNlIEFycmF5QmFja2VkU29ydGVkQ29saqIsuwAAAU/ePLJcABBTQU5EUkEtMzEyMikKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzAAAABAHJlIHJhY2UgY29uZGl0aW9uIGluIGdldEV4cGlyZVRpbWVGb3JFbmRwb2ludCAoQ0FTU0FORFJBLTQ0MDIpCiAqIGFjcXVpcmUgcmVmZXJlbmNlcyB0byBvdmVybGFwcGluZyBzc3RhYmxlcyBkdXJpbmcgY29tcGFjdGlvbiBzbyBibG9vbSBmaWx0ZXIKICAgZG9lc24ndCBnZXQgZnJlZSdkIHByZW1hdHVyZWx5IChDQVNTQU5EUkEtNDkzNCkKICogRG9uJ3Qgc2hhcmUgc2xpY2UgcXVlcnkgZmlsdGVyIGluIENRTDMgU2VsZWN0U3RhdGVtZW50IChDQVPEYWxXAAABT948slwAEGUgcmVmZXJlbmNlcyB0byAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMAAAAEAbCBleGVjdXRvciAoQ0FTU0FORFJBLTgyODUpCiAqIEZpeCBwYWdpbmcgZm9yIG11bHRpLXBhcnRpdGlvbiBJTiBxdWVyaWVzIChDQVNTQU5EUkEtODQwOCkKICogRml4IE1PVkVEX05PREUgdG9wb2xvZ3kgZXZlbnQgbmV2ZXIgYmVpbmcgZW1pdHRlZCB3aGVuIGEgbm9kZQogICBtb3ZlcyBpdHMgdG9rZW4gKENBU1NBTkRSQS04MzczKQogKiBGaXggdmFsaWRhdGlvbiBvZiBpbmRleGVzIGluIENPTVBBQ1QgdGFibGVzIChDQVNTQU5EUkEtODE1NikKIKZYWzAACP2lKzrb4AAAAU/ePLJcABBkcywgZGVwcmVjYXRpbmcgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzEAAABADApCiAqIGFkZCB0aW1lIHJlbWFpbmluZyBlc3RpbWF0ZSB0byBub2RldG9vbCBjb21wYWN0aW9uc3RhdHMgKENBU1NBTkRSQS00MTY3KQogKiAoY3FsKSBmaXggTlBFIGluIGNxbDMgQUxURVIgVEFCTEUgKENBU1NBTkRSQS00MTYzKQogKiAoY3FsKSBBZGQgc3VwcG9ydCBmb3IgQ0wuVFdPIGFuZCBDTC5USFJFRSBpbiBDUUwgKENBU1NBTkRSQS00MTU2KQogKiAoY3FsKSBGaXggdHlwZSBpbiBDUUwzIEFMVEVSIFRBQkxFIHByZXZlbnRpbmcgdXBkYXRvbFrTAAABT948slwAEDQzMjkpCiAqIChjcWwzKSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMQAAAEAYWN0aW9uIGNhbmRpZGF0ZXMgCiAgIChDQVNTQU5EUkEtMjQ0NCkKICogdmFsaWRhdGUgQ1FMIGNyZWF0ZSBrZXlzcGFjZSBvcHRpb25zIChDQVNTQU5EUkEtMjUyNSkKICogZml4IG5vZGV0b29sIHNldGNvbXBhY3Rpb250aHJvdWdocHV0IChDQVNTQU5EUkEtMjU1MCkKICogbW92ZQlnb3NzaXAgaGVhcnRiZWF0IGJhY2sgdG8gaXRzIG93biB0aHJlYWQgKENBU1NBTkRSQS0yNTU0KQogKiB2YWxpZGF0ZSBjcWwgVFJVTkNBVEUgY29sdW1uZmFtaWx5IGo1YuYAAAFP3jyyXAAQaWYgdGhlIHBlc3NpbWlzdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsxAAAAQBBU1NBTkRSQS0zNjE5KQogKiBmc3luYyB0aGUgZGlyZWN0b3J5IGFmdGVyIG5ldyBzc3RhYmxlIG9yIGNvbW1pdGxvZyBzZWdtZW50IGFyZSBjcmVhdGVkIChDQVNTQU5EUkEtMzI1MCkKICogZml4IG1pbm9yIGlzc3VlcyByZXBvcnRlZCBieSBGaW5kQnVncyAoQ0FTU0FORFJBLTM2NTgpCiAqIGdsb2JhbCBrZXkvcm93IGNhY2hlcyAoQ0FTU0FORFJBLTMxNDMsIDM4NDkpCiAqIG9wdGltaXplIG1lbXRhYmxlIGl0ZXJhdGlvbiBkdXJpbmcgcmFuZ2Ug6prnZwAAAU/ePLJcABAgdXNlIG1pbGxpcyArIGF0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzEAAABAHNzIG9yIGZhbGxiYWNrIHRvIGxpc3Rlbl9hZGRyZXNzCiAgIChDQVNTQU5EUkEtMzIxNCkKICogKEhhZG9vcCkgYWNjZXB0IGNvbW1hIGRlbGltaXRlZCBsaXN0cyBvZiBpbml0aWFsIHRocmlmdCBjb25uZWN0aW9ucwogICAoQ0FTU0FORFJBLTMxODUpCiAqIENvbHVtbkZhbWlseSBtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQgc2hvdWxkIGJlID49IDIgKENBU1NBTkRSQS0zMzQyKQogKiAoUGlnKSBhZGQgMC44KyB0eXBlcyBhbmQga2V5IHZhbGlkYXT/E3wpAAABT948slwAEGVzIHdoZXJlIHBvc3NpYmwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMQAAAEAb2YgY29sbGVjdGlvbnMgaW4gcHJlcGFyZWQgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTQ3MzkpCiAqIFN0b3JlIG1vcmUgaW5mb3JtYXRpb24gaW50byBwZWVycyB0YWJsZSAoQ0FTU0FORFJBLTQzNTEsIDQ4MTQpCiAqIENvbmZpZ3VyYWJsZSBidWNrZXQgc2l6ZSBmb3Igc2l6ZSB0aWVyZWQgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTQ3MDQpCiAqIFJ1biBsZXZlbGVkIGNvbXBhY3Rpb24gaW4gcGFyYWxsZWwgKENBU1NBTkRSQS00MzEwKQogKiBGaXggcBfcEU4AAAFP3jyyXAAQICogcmVtb3ZlIFNjcnViIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsxAAAAQBvbXBhcmF0b3IgdG8gQnl0ZXNUeXBlIChDQVNTQU5EUkEtMTI3NCkKCgowLjYuMwogKiByZXRyeSB0byBtYWtlIHN0cmVhbWluZyBjb25uZWN0aW9ucyB1cCB0byA4IHRpbWVzLiAoQ0FTU0FORFJBLTEwMTkpCiAqIHJlamVjdCBkZXNjcmliZV9yaW5nKCkgY2FsbHMgb24gaW52YWxpZCBrZXlzcGFjZXMgKENBU1NBTkRSQS0xMTExKQogKiBmaXggY2FjaGUgc2l6ZSBjYWxjdWxhdGlvbiBmb3Igc2l6ZSBvZiAxMDAlIChDQVNTQU5EUkEtMTEyOSkKICogwcHYjAAAAU/ePLJcABBtIGNvbXBhY3Rpb24gZGlyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzEAAABAGxvbmcgZnJvbSBSb3dXYXJuaW5nVGhyZXNob2xkSW5NQiBpbnN0ZWFkIG9mIGFuIGludCAoQ0FTU0FORFJBLTg4MikKICogUmVtb3ZlIG9ic29sZXRlIENvbnRyb2xQb3J0IGNvZGUgZnJvbSBEYXRhYmFzZURlc2NyaXB0b3IgKENBU1NBTkRSQS04ODYpCiAqIG1vdmUgc2tpcEJ5dGVzIHNpZGUgZWZmZWN0IG91dCBvZiBhc3NlcnQgKENBU1NBTkRSQS04OTkpCiAqIGFkZCAiZG91YmxlIGdldExvYWQiIHRvIFN0b3JhZ2VTZXJ2aWNlTUJlYW4gKENBU1P0GnYeAAABT948slwAEHVuZGVybHlpbmcgYnVmZmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMQAAAEAaW5nIHdpdGggCiAgIENvbnNpc3RlbmN5TGV2ZWwuWkVSTyAoQ0FTU0FORFJBLTM5OSkKICogRml4ZXMgdG8gbWFrZSBCaW5hcnlNZW10YWJsZSBbYnVsayBsb2FkIGludGVyZmFjZV0gdXNlZnVsIChDQVNTQU5EUkEtMzM3KTsKICAgc2VlIGNvbnRyaWIvYm10X2V4YW1wbGUgZm9yIGFuIGV4YW1wbGUgb2YgdXNpbmcgaXQuCiAqIE1vcmUgSk1YIHByb3BlcnRpZXMgYWRkZWQgKHNldmVyYWwgdGlja2V0cykKICogVGhyaWZ0IGNoYW5nZXMgKHNldmVyYaiZOS8AAAFP3jyyXAAQQ0FTU0FORFJBLTg3MjYpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsxAAAAQAgY29sdW1uIAogICBmYW1pbHkgY29tbWFuZCAoQ0FTU0FORFJBLTI3NzgpCiAqIGNsZWFuIHVwIHRtcCBmaWxlcyBhZnRlciBmYWlsZWQgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTI0NjgpCiAqIHJlc3RyaWN0IHJlcGFpciBzdHJlYW1pbmcgdG8gc3BlY2lmaWMgY29sdW1uZmFtaWxpZXMgKENBU1NBTkRSQS0yMjgwKQogKiBkb24ndCBib3RoZXIgcGVyc2lzdGluZyBjb2x1bW5zIHNoYWRvd2VkIGJ5IGEgcm93IHRvbWJzdG9uZSAoQ0FTU0FORFJBLTI1iJLqMAAAAU/ePLJcABB1Z2ggYSByZXN1bHRzZXQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzEAAABAGNodW5rIChDQVNTQU5EUkEtNTEwNSkKICogQWRkIENRTDMtYmFzZWQgaW1wbGVtZW50YXRpb25zIG9mIElBdXRoZW50aWNhdG9yIGFuZCBJQXV0aG9yaXplcgogICAoQ0FTU0FORFJBLTQ4OTgpCiAqIEZpeCB0aW1lc3RhbXAtYmFzZWQgdG9tc3RvbmUgcmVtb3ZhbCBsb2dpYyAoQ0FTU0FORFJBLTUyNDgpCiAqIGNsaTogQWRkIEpNWCBhdXRoZW50aWNhdGlvbiBzdXBwb3J0IChDQVNTQU5EUkEtNTA4MCkKICogRml4IGZvcmNlRmx1c2ggYmVoYXZpb3LxckdZAAABT948slwAECAqIGltcGxlbWVudCBkZXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMQAAAEAeCByYWNlIGluIFJlY292ZXJ5TWFuYWdlclRlc3QgKENBU1NBTkRSQS04MTc2KQogKiBBdm9pZCBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gd2hpbGUgc29ydGluZyBzc3RhYmxlcyBpbgogICBJbmRleFN1bW1hcnlNYW5hZ2VyIChDQVNTQU5EUkEtODE4MikKICogU2h1dGRvd24gSlZNIG9uIGZpbGUgZGVzY3JpcHRvciBleGhhdXN0aW9uIChDQVNTQU5EUkEtNzU3OSkKICogQWRkICdkaWUnIHBvbGljeSBmb3IgY29tbWl0IGxvZyBhbmQgZGlzayBmYUcrmskAAAFP3jyyXAAQODMpCiAqIFJld29yayB0bwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsxAAAAQBsaTogUXVvdGUga3MgYW5kIGNmIG5hbWVzIGluIHNjaGVtYSBvdXRwdXQgd2hlbiBuZWVkZWQgKENBU1NBTkRSQS01MDUyKQogKiBGaXggY2YgbmFtZSBleHRyYWN0aW9uIGZyb20gbWFuaWZlc3QgaW4gRGlyZWN0b3JpZXMubWlncmF0ZUZpbGUoKSAoQ0FTU0FORFJBLTUyNDIpCiAqIFJlcGxhY2UgbWlzdGFrZW4gdXNhZ2Ugb2YgY29tbW9ucy1sb2dnaW5nIHdpdGggc2xmNGogKENBU1NBTkRSQS01NDY0KQogKiBFbnN1cmUgSmFja3NvbiBkZXBlbmRljmUYsQAAAU/ePLJcABBuZCAyNTZNIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzEAAABAGxseSAoQ0FTU0FORFJBLTYxMjUpCiAqIExvZyBleGNlcHRpb25zIHJlbGF0ZWQgdG8gdW5jbGVhbiBuYXRpdmUgcHJvdG9jb2wgY2xpZW50IGRpc2Nvbm5lY3RzCiAgIGF0IERFQlVHIG9yIElORk8gKENBU1NBTkRSQS03ODQ5KQogKiBBbGxvdyBwZXJtaXNzaW9ucyBjYWNoZSB0byBiZSBzZXQgdmlhIEpNWCAoQ0FTU0FORFJBLTc2OTgpCiAqIEluY2x1ZGUgc2NoZW1hX3RyaWdnZXJzIENGIGluIHJlYWRhYmxlIHN5c3RlbSByZXNvdXJjZXMgKENBU1NYsrw8AAkSAssb5ksAAAFP3jyyXAAQcmdhbml6ZSBKTVggaW50bwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsxgAAAQBkZWZhdWx0IChDQVNTQU5EUkEtMzU2OCkKICogUmVkdWNlIG1lbW9yeSB1c2VkIGJ5IHByaW1hcnkgaW5kZXggc2FtcGxlIChDQVNTQU5EUkEtMzc0MykKICogKEhhZG9vcCkgc2VwYXJhdGUgaW5wdXQvb3V0cHV0IGNvbmZpZ3VyYXRpb25zIChDQVNTQU5EUkEtMzE5NywgMzc2NSkKICogYXZvaWQgcmV0dXJuaW5nIGludGVybmFsIENhc3NhbmRyYSBjbGFzc2VzIG92ZXIgSk1YIChDQVNTQU5EUkEtMjgwNSkKICogYWRkIHJvdy1sZXZlbCBpc29sYXRptQ3onwAAAU/ePLJcABBzdGFydCBpbiBhIHJpbmcgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzGAAABACBzbyBtYWxmb3JtZWQgcmVxdWVzdHMgY2FuJ3QgT09NIHRoZSAKICAgc2VydmVyIChDQVNTQU5EUkEtNDc1KQogKiBzaWduaWZpY2FudGx5IGZhc3RlciByZWFkcyBmcm9tIHJvdyBjYWNoZSAoQ0FTU0FORFJBLTEyNjcpCiAqIHRha2UgYWR2YW50YWdlIG9mIHJvdyBjYWNoZSBkdXJpbmcgcmFuZ2UgcXVlcmllcyAoQ0FTU0FORFJBLTEzMDIpCiAqIG1ha2UgR0NHcmFjZVNlY29uZHMgYSBwZXItQ29sdW1uRmFtaWx5IHZhbHVlIChDQVNTQU5EUkEtMTI8j2KfAAABT948slwAECBkZXRlY3RpbmcgdmVyc2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMYAAAEAdG9yaWVzLm1pZ3JhdGVGaWxlKCkgCiAgIChDQVNTQU5EUkEtNTI0MikKICogU3VwcG9ydCBwbHVnZ2FibGUgaW50ZXJub2RlIGF1dGhlbnRpY2F0aW9uIChDQVNTQU5EUkEtNTQwMSkKCgoxLjIuMwogKiBhZGQgY2hlY2sgZm9yIHNzdGFibGUgb3ZlcmxhcCB3aXRoaW4gYSBsZXZlbCBvbiBzdGFydHVwIChDQVNTQU5EUkEtNTMyNykKICogcmVwbGFjZSBpcHY2IGNvbG9ucyBpbiBqbXggb2JqZWN0IG5hbWVzIChDQVNTQU5EUkEtNTI5OCwgNTMyOCkKIDOK/7YAAAFP3jyyXAAQU0FORFJBLTMyNDcpCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsxgAAAQAgb2YgIkZvdW5kIHRhYmxlIGRhdGEgaW4gZGF0YSBkaXJlY3RvcmllcyIgd2hlbiBvbmx5IHN5c3RlbSB0YWJsZXMKICAgYXJlIHByZXNlbnQgKENBU1NBTkRSQS01Mjg5KQogKiBjbGk6IEFkZCBKTVggYXV0aGVudGljYXRpb24gc3VwcG9ydCAoQ0FTU0FORFJBLTUwODApCiAqIG5vZGV0b29sOiBhYmlsaXR5IHRvIHJlcGFpciBzcGVjaWZpYyByYW5nZSAoQ0FTU0FORFJBLTUyODApCiAqIEZpeCBwb3NzaWJsZSBhc3NlcnRpb24gdHJpZ2dlcmVkIGluK1Lx5gAAAU/ePLJcABBtX3JlbmFtZV9jb2x1bW5fAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzGAAABAG1vdmVkICJBTFRFUiBUWVBFIDxuYW1lPiBSRU5BTUUgVE8gPG5hbWU+IiBmcm9tIHRhYi1jb21wbGV0aW9uCiAgIChDQVNTQU5EUkEtNzg5NSkKICogRml4ZWQgSWxsZWdhbFN0YXRlRXhjZXB0aW9uIGluIGFudGljb21wYWN0aW9uIChDQVNTQU5EUkEtNzg5MikKICogY3Fsc2g6IERFU0NSSUJFIHN1cHBvcnQgZm9yIGZyb3plbiBVRFRzLCB0dXBsZXMgKENBU1NBTkRSQS03ODYzKQogKiBBdm9pZCBleHBvc2luZyBpbnRlcm5hbCBjbGFzc2VzIG92ZXJBafslAAABT948slwAEC00MDIpCiAqIGNoYW5nZSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMYAAAEAZXQgdGltZW91dCB3aGVuIHJlYWRpbmcgcmVtb3RlIHZlcnNpb24gKENBU1NBTkRSQS04MTg4KQogKiBSZWZhY3RvciBob3cgd2UgdHJhY2sgbGl2ZSBzaXplIChDQVNTQU5EUkEtNzg1MikKICogTWFrZSBzdXJlIHVuZmluaXNoZWQgY29tcGFjdGlvbiBmaWxlcyBhcmUgcmVtb3ZlZCAoQ0FTU0FORFJBLTgxMjQpCiAqIEZpeCBzaHV0ZG93biB3aGVuIHJ1biBhcyBXaW5kb3dzIHNlcnZpY2UgKENBU1NBTkRSQS04MTM2KQogKiBGaXggREVTQ1JJQkUgVGhm6igAAAFP3jyyXAAQIFByb3BlciBjb21wYXJlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsxgAAAQB0ZSAoQ0FTU0FORFJBLTM4NzApCiAqIChjcWxzaCkgaWdub3JlIG1pc3NpbmcgQ2ZEZWYgb3B0cyAoQ0FTU0FORFJBLTM5MzMpCiAqIChjcWxzaCkgbG9vayBmb3IgY3Fsc2hsaWIgcmVsYXRpdmUgdG8gcmVhbHBhdGggKENBU1NBTkRSQS0zNzY3KQogKiBGaXggc2hvcnQgcmVhZCBwcm90ZWN0aW9uIChDQVNTQU5EUkEtMzkzNCkKICogTWFrZSBzdXJlIGluZmVyZWQgYW5kIGFjdHVhbCBzY2hlbWEgbWF0Y2ggKENBU1NBTkRSQS0zMzcxKQogKiBGaXggA0oC5gAAAU/ePLJcABBob2QgKENBU1NBTkRSQS00AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzGAAABAGZhbHNlIChDQVNTQU5EUkEtNjk2MSkKICogQXZvaWQgZWFybHkgbG9hZGluZyBvZiBub24tc3lzdGVtIGtleXNwYWNlcyBiZWZvcmUgY29tcGFjdGlvbi1sZWZ0b3ZlcnMgCiAgIGNsZWFudXAgYXQgc3RhcnR1cCAoQ0FTU0FORFJBLTY5MTMpCiAqIFJlc3RyaWN0IFdpbmRvd3MgdG8gcGFyYWxsZWwgcmVwYWlycyAoQ0FTU0FORFJBLTY5MDcpCiAqIChIYWRvb3ApIEFsbG93IG1hbnVhbGx5IHNwZWNpZnlpbmcgc3RhcnQvZW5kIHRva2VucyBpbiBDRkk7poxUAAABT948slwAECkKICogYXZvaWQgY2xvY2sAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMYAAAEAbyBpdCBjYW4gYmUgZG9uZSBtYW51YWxseSwgaWYgbmVjZXNzYXJ5IChDQVNTQU5EUkEtMTE0MSkKICogZG9uJ3QgcmVqZWN0IHJlYWRzIGF0IENMLkFMTCAoQ0FTU0FORFJBLTExNTIpCiAqIHJlamVjdCBkZWxldGlvbnMgdG8gc3VwZXJjb2x1bW5zIGluIENGcyBjb250YWluaW5nIG9ubHkgc3RhbmRhcmQKICAgY29sdW1ucyAoQ0FTU0FORFJBLTExMzkpCiAqIGF2b2lkIHByZXNlcnZpbmcgbG9naW4gaW5mb3JtYXRpb24gYWZ0ZXIgY2xpZW50IGRpc+tSJeAAAAFP3jyyXAAQZXcgdHlwZSBuYW1lIChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsxgAAAQAtNjUyMCkKICogQWRkIHNuYXBzaG90IHNwYWNlIHVzZWQgdG8gY2ZzdGF0cyAoQ0FTU0FORFJBLTYyMzEpCiAqIEFkZCBjYXJkaW5hbGl0eSBlc3RpbWF0b3IgZm9yIGtleSBjb3VudCBlc3RpbWF0aW9uIChDQVNTQU5EUkEtNTkwNikKICogQ0YgaWQgaXMgY2hhbmdlZCB0byBiZSBub24tZGV0ZXJtaW5pc3RpYy4gRGF0YSBkaXIva2V5IGNhY2hlIGFyZSBjcmVhdGVkCiAgIHVuaXF1ZWx5IGZvciBDRiBpZCAoQ0FTU0FORFJBLTUyMDIpCiAqIE5ldyBjZ9AslwAAAU/ePLJcABB0aWFsaXplIGxvY2FsIGVwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzGAAABAG90ZW50aWFsIGV4Y2VwdGlvbiB3aGVuIHVzaW5nIFJldmVyc2VkVHlwZSBpbiBEeW5hbWljQ29tcG9zaXRlVHlwZQogICAoQ0FTU0FORFJBLTc4OTgpCiAqIEJldHRlciB2YWxpZGF0aW9uIG9mIGNvbGxlY3Rpb24gdmFsdWVzIChDQVNTQU5EUkEtNzgzMykKICogVHJhY2sgbWluL21heCB0aW1lc3RhbXBzIGNvcnJlY3RseSAoQ0FTU0FORFJBLTc5NjkpCiAqIEZpeCBwb3NzaWJsZSBvdmVyZmxvdyB3aGlsZSBzb3J0aW5nIENMIHNlZ21lbnRzIGZvciDLp3BRAAABT948slwAECBidWNrZXRpbmcgYnVnICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMYAAAEAdGY4IHN0cmluZyBsaXRlcmFscyBpbiBDUUwgcXVlcmllcyAoQ0FTU0FORFJBLTgxMDEpCiAqIChjcWxzaCkgRml4IGF1dG9jb21wbGV0aW9uIGZvciBhbHRlciBrZXlzcGFjZSAoQ0FTU0FORFJBLTgwMjEpCiAqIENyZWF0ZSBiYWNrdXAgZGlyZWN0b3JpZXMgZm9yIGNvbW1pdGxvZyBhcmNoaXZpbmcgZHVyaW5nIHN0YXJ0dXAgKENBU1NBTkRSQS04MTExKQogKiBSZWR1Y2UgdG90YWxCbG9ja0ZvcigpIGZvciBMT0NBTF8qIGNvbnNpc3RlbmN5IGxldntoFTMAAAFP3jyyXAAQciBpbiBjbGkgJ2Rlc2NyaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsxgAAAQBkZSBtZXRhZGF0YSBmb3Igc3lzdGVtIGtleXNwYWNlIGl0c2VsZiBpbiBzY2hlbWEgdGFibGVzIChDQVNTQU5EUkEtNDQxNikKICogYWRkIGNoZWNrIHRvIFByb3BlcnR5RmlsZVNuaXRjaCB0byB2ZXJpZnkgcHJlc2VuY2Ugb2YgbG9jYXRpb24gZm9yCiAgIGxvY2FsIG5vZGUgKENBU1NBTkRSQS00NzI4KQogKiBhZGQgUEJTUHJlZGljdG9yIGNvbnNpc3RlbmN5IG1vZGVsZXIgKENBU1NBTkRSQS00MjYxKQogKiByZW1vdmUgdmVzdGlnZXMgb2YgVGhyZ9FlFAAAAU/ePLJcABAKICogY2Fzc2FuZHJhLXN0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzHAAABAFNTQU5EUkEtNDgyMCkKICogZml4IHBvdGVudGlhbCBpbmZpbml0ZSBsb29wIGluIGdldF9jb3VudCAoQ0FTU0FORFJBLTQ4MzMpCiAqIGZpeCBjb21wb3NpdGVUeXBlLntnZXQvZnJvbX1TdHJpbmcgbWV0aG9kcyAoQ0FTU0FORFJBLTQ4NDIpCiAqIChDUUwpIGZpeCBDUkVBVEUgQ09MVU1ORkFNSUxZIHBlcm1pc3Npb25zIGNoZWNrIChDQVNTQU5EUkEtNDg2NCkKICogRml4IER5bmFtaWNDb21wb3NpdGVUeXBlIHNhbWUgdHlwZSBjb21wYXJpc29uICjtIv8EAAABT948slwAEGJsZXJlcGFpcmVkc2V0IHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMcAAAEAdGVzIAogICAoQ0FTU0FORFJBLTI0NDQpCiAqIHZhbGlkYXRlIENRTCBjcmVhdGUga2V5c3BhY2Ugb3B0aW9ucyAoQ0FTU0FORFJBLTI1MjUpCiAqIGZpeCBub2RldG9vbCBzZXRjb21wYWN0aW9udGhyb3VnaHB1dCAoQ0FTU0FORFJBLTI1NTApCiAqIG1vdmUJZ29zc2lwIGhlYXJ0YmVhdCBiYWNrIHRvIGl0cyBvd24gdGhyZWFkIChDQVNTQU5EUkEtMjU1NCkKICogdmFsaWRhdGUgY3FsIFRSVU5DQVRFIGNvbHVtbmZhbWlseSBiZWZvcmUgdHJ1bmNhdO3I2OMACSa5W41VFAAAAU/ePLJcABBlIGFjY2VzcyB0byBjb2x1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzIAAABAChDQVNTQU5EUkEtMzQ3OCkKICogcmVwb3J0IGNvbXByZXNzaW9uIHJhdGlvIGluIENGU01CZWFuIChDQVNTQU5EUkEtMzM5MykKICogZml4IGluY29ycmVjdCBzaXplIGV4Y2VwdGlvbiBkdXJpbmcgc3RyZWFtaW5nIG9mIGNvdW50ZXJzIChDQVNTQU5EUkEtMzQ4MSkKICogKENRTCkgZml4IGZvciBjb3VudGVyIGRlY3JlbWVudCBzeW50YXggKENBU1NBTkRSQS0zNDE4KQogKiBGaXggcmFjZSBpbnRyb2R1Y2VkIGJ5IENBU1NBTkRSQS0yNTAzIChDQVP6OstbAAABT948slwAEHJlcGFyaW5nIGluc2VydCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMgAAAEAKQogKiBGaXggaGFuZGxpbmcgb2YgY29uY3VycmVudCBkaXJlY3RvcnkgY3JlYXRpb24gZmFpbHVyZSAoQ0FTU0FORFJBLTY0NTkpCiAqIEFsbG93IGV4ZWN1dGluZyBDUkVBVEUgc3RhdGVtZW50cyBtdWx0aXBsZSB0aW1lcyAoQ0FTU0FORFJBLTY0NzEpCiAqIERvbid0IHNlbmQgY29uZnVzaW5nIGluZm8gd2l0aCB0aW1lb3V0cyAoQ0FTU0FORFJBLTY0OTEpCiAqIERvbid0IHJlc3VibWl0IGNvdW50ZXIgbXV0YXRpb24gcnVubmFibGVzIGludGVybpZAzjYAAAFP3jyyXAAQZyAKICAgc2VnbWVudHMgdwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsyAAAAQAgcm93cyB3aXRoIG5vIGNvbHVtbnMgKENBU1NBTkRSQS0zNDI0LCAzNDczKQogKiBmaXggcXVlcnlpbmcgc3VwZXJjb2x1bW5zIGJ5IG5hbWUgcmV0dXJuaW5nIG9ubHkgYSBzdWJzZXQgb2YKICAgc3ViY29sdW1ucyBvciBvbGQgc3ViY29sdW1uIHZlcnNpb25zIChDQVNTQU5EUkEtMzQ0NikKICogYXV0b21hdGljYWxseSBjb21wdXRlIHNoYTEgc3VtIGZvciB1bmNvbXByZXNzZWQgZGF0YSBmaWxlcyAoQ0FTU0FORFJBLTM0NTYpCiAqIGZpeCByZWFk1n9rWQAAAU/ePLJcABAuQU5ZIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzIAAABACB0cmFmZmljIChDQVNTQU5EUkEtMTk1MSkKICogZml4IENMSSAic2hvdyBrZXlzcGFjZXMiIHdpdGggbnVsbCBvcHRpb25zIG9uIE5UUyAoQ0FTU0FORFJBLTIwNDkpCiAqIGZpeCBwb3NzaWJsZSBCeXRlQnVmZmVyIHJhY2UgY29uZGl0aW9ucyAoQ0FTU0FORFJBLTIwNjYpCiAqIHJlZHVjZSBnYXJiYWdlIGdlbmVyYXRlZCBieSBNZXNzYWdpbmdTZXJ2aWNlIHRvIHByZXZlbnQgbG9hZCBzcGlrZXMKICAgKENBU1NBTkRSQS0yMDU4KQogKiBmaXggbWHfT3JeAAABT948slwAEG5nIGl0IAogICAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMgAAAEAYXRpb25zIChDQVNTQU5EUkEtMzYzOSkKICogTm9kZXRvb2wgYW5kIENMSSBjb25uZWN0IHRvIGxvY2FsaG9zdCBieSBkZWZhdWx0IChDQVNTQU5EUkEtMzU2OCkKICogUmVkdWNlIG1lbW9yeSB1c2VkIGJ5IHByaW1hcnkgaW5kZXggc2FtcGxlIChDQVNTQU5EUkEtMzc0MykKICogKEhhZG9vcCkgc2VwYXJhdGUgaW5wdXQvb3V0cHV0IGNvbmZpZ3VyYXRpb25zIChDQVNTQU5EUkEtMzE5NywgMzc2NSkKICogYXZvaWQgcmV0dXJuaW5nIGludGVybmFsIKgwk+4AAAFP3jyyXAAQbmdlcyBmcm9tICMxNzgwIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsyAAAAQBuIChDQVNTQU5EUkEtNTUzNSkKICogRml4IEJvdW5kIGludGVyc2VjdGlvbiBjb21wdXRhdGlvbiAoQ0FTU0FORFJBLTU1NTEpCiAqIHNzdGFibGVzY3J1YiBub3cgcmVzcGVjdHMgbWF4IG1lbW9yeSBzaXplIGluIGNhc3NhbmRyYS5pbi5zaCAoQ0FTU0FORFJBLTU1NjIpCgoKMS4yLjQKICogRW5zdXJlIHRoYXQgUGVyUm93U2Vjb25kYXJ5SW5kZXggdXBkYXRlcyBzZWUgdGhlIG1vc3QgcmVjZW50IHZhbHVlcwogICAoQ0FTU0FORFJBLTUzOTcpCiAqVGNGtgAAAU/ePLJcABB4IHNldHRpbmcga2V5IGxlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzIAAABAGYgQ09NUEFDVCBTVE9SQUdFCiAgIHRhYmxlcyB3aXRoIHNvbWUgY2x1c3RlcmluZyBjb2x1bW5zIG9taXR0ZWQgKENBU1NBTkRSQS03OTkwKQogKiBGaXggZmlsdGVyaW5nIGZvciBDT05UQUlOUyBvbiBzZXRzIChDQVNTQU5EUkEtODAzMykKICogUHJvcGVybHkgdHJhY2sgYWRkZWQgc2l6ZSAoQ0FTU0FORFJBLTcyMzkpCiAqIEFsbG93IGNvbXBpbGF0aW9uIGluIGphdmEgOCAoQ0FTU0FORFJBLTcyMDgpCiAqIEZpeCBBc3NlcnRpb24gZXJyb3Igb24xLHGEAAABT948slwAEHJlYW1lZCByb3cgdG8gYXYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMgAAAEAU1NBTkRSQS0yNDY1LCBDQVNTQU5EUkEtMjQ4NCkKICogdmFsaWRhdGUgaW5kZXggbmFtZXMgKENBU1NBTkRSQS0xNzYxKQogKiByZWR1Y2UgY29udGVudGlvbiBvbiBUYWJsZS5mbHVzaGVyTG9jayAoQ0FTU0FORFJBLTE5NTQpCiAqIHRyeSBoYXJkZXIgdG8gZGV0ZWN0IGZhaWx1cmVzIGR1cmluZyBzdHJlYW1pbmcsIGNsZWFuaW5nIHVwIHRlbXBvcmFyeQogICBmaWxlcyBtb3JlIHJlbGlhYmx5IChDQVNTQU5EUkEtMjA4OCkKICogc2h1dCBkb3duIHgxzrsAAAFP3jyyXAAQc3RyZWFtIGZyb20gdW5yZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsyQAAAQBpbGl0eSAoQ0FTU0FORFJBLTQ3OTUpCiAqIEFkZCBiaW5hcnkgcHJvdG9jb2wgc3VwcG9ydCB0byBzdHJlc3MgKENBU1NBTkRSQS00OTkzKQogKiBjcWxzaDogRml4IENPUFkgRlJPTSB2YWx1ZSBxdW90aW5nIGFuZCBudWxsIGhhbmRsaW5nIChDQVNTQU5EUkEtNTMwNSkKICogRml4IHJlcGFpciAtcHIgZm9yIHZub2RlcyAoQ0FTU0FORFJBLTUzMjkpCiAqIFJlbGF4IENMIGZvciBhdXRoIHF1ZXJpZXMgZm9yIG5vbi1kZWZhdWx0IHVzZXJzIChDQVNTOxbKaQAAAU/ePLJcABAgcXVlcnktYnktY29sdW1uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzJAAABAHMgKENBU1NBTkRSQS03NjQ3KQogKiBGaXggTlBFIHdoZW4gbGlzdGluZyBzYXZlZCBjYWNoZXMgZGlyIChDQVNTQU5EUkEtNzYzMikKICogRml4IHNzdGFibGVsb2FkZXIgdW5hYmxlIHRvIGNvbm5lY3QgZW5jcnlwdGVkIG5vZGUgKENBU1NBTkRSQS03NTg1KQpNZXJnZWQgZnJvbSAxLjI6CiAqIENsb25lIHRva2VuIG1hcCBvdXRzaWRlIG9mIGhvdCBnb3NzaXAgbG9vcHMgKENBU1NBTkRSQS03NzU4KQogKiBBZGQgc3RvcCBtZXRob2QgdG8gRW1iZWS15FXkAAABT948slwAEHVsdCBSUiBjaGFuY2UgdG8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMkAAAEAIGZsdXNoIGRpcmVjdG9yeSBkaXN0aW5jdCBmcm9tIGNvbXBhY3Rpb24gZGlyZWN0b3JpZXMgKENBU1NBTkRSQS02MzU3KQogKiBSZXF1aXJlIEpOQSBieSBkZWZhdWx0IChDQVNTQU5EUkEtNjU3NSkKICogYWRkIGxpc3RzbmFwc2hvdHMgY29tbWFuZCB0byBub2RldG9vbCAoQ0FTU0FORFJBLTU3NDIpCiAqIEludHJvZHVjZSBBdG9taWNCVHJlZUNvbHVtbnMgKENBU1NBTkRSQS02MjcxLCA2NjkyKQogKiBNdWx0aXRocmVhZGVkIGNvbW1pdGxvZyAoQ/UHdHMAAAFP3jyyXAAQLTU3OSkKICogc3BsaXQgYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsyQAAAQBnIG9mIHNzdGFibGVzIGZvciBzb21lIHF1ZXJpZXMgKENBU1NBTkRSQS04MjM5KQogKiBGaXggZGVmYXVsdCB0aW1lc3RhbXAgaW4gUXVlcnlPcHRpb25zIChDQVNTQU5EUkEtODI0NikKICogU2V0IHNvY2tldCB0aW1lb3V0IHdoZW4gcmVhZGluZyByZW1vdGUgdmVyc2lvbiAoQ0FTU0FORFJBLTgxODgpCiAqIFJlZmFjdG9yIGhvdyB3ZSB0cmFjayBsaXZlIHNpemUgKENBU1NBTkRSQS03ODUyKQogKiBNYWtlIHN1cmUgdW5maW5pc2hlZCBjb21wYWN0oYp6RQAAAU/ePLJcABBlTG9hZGVyIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzJAAABAGVhZF9yZXBhaXJfY2hhbmNlIGluc3RlYWQgb2YgbWVyZ2Vfc2hhcmRfY2hhbmdlIChDQVNTQU5EUkEtMzIwMikKICogQXZvaWQgc3RyZWFtaW5nIGRhdGEgdG8gbm9kZXMgdGhhdCBhbHJlYWR5IGhhdmUgaXQsIG9uIG1vdmUgYXMgd2VsbCBhcwogICBkZWNvbW1pc3Npb24gKENBU1NBTkRSQS0zMDQxKQogKiBGaXggZGl2aWRlIGJ5IHplcm8gZXJyb3IgaW4gR0NJbnNwZWN0b3IgKENBU1NBTkRSQS0zMTY0KQogKiBhbGxvdyBxdW90aW5nIG9mIHRoZSBe4K1bAAABT948slwAEGVhbSBzZXNzaW9uIHByb2cAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMkAAAEAaXggTlBFIHdoZW4gdGhlIGNvbW1pdCBsb2cgaXMgYnlwYXNzZWQgKENBU1NBTkRSQS0yNzE4KQogKiBkb24ndCB0aHJvdyBhbiBleGNlcHRpb24gaW4gU1MuaXNSUENTZXJ2ZXJSdW5uaW5nIChDQVNTQU5EUkEtMjcyMSkKICogbWFrZSBzdHJlc3MuamFyIGV4ZWN1dGFibGUgKENBU1NBTkRSQS0yNzQ0KQogKiBhZGQgZGFlbW9uIG1vZGUgdG8gamF2YSBzdHJlc3MgKENBU1NBTkRSQS0yMjY3KQogKiBleHBvc2UgdGhlIERDIGFuZCByYWNrIG9mIGEgbh+pAVoAAAFP3jyyXAAQZW0gQ0ZzIHRvbyAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsyQAAAQAKCgoKMC40LjAgYmV0YQogKiBPbi1kaXNrIGRhdGEgZm9ybWF0IGhhcyBjaGFuZ2VkIHRvIGFsbG93IGJpbGxpb25zIG9mIGtleXMvcm93cyBwZXIKICAgbm9kZSBpbnN0ZWFkIG9mIG9ubHkgbWlsbGlvbnMKICogTXVsdGkta2V5c3BhY2Ugc3VwcG9ydAogKiBTY2FuIGFsbCBzc3RhYmxlcyBmb3IgYWxsIHF1ZXJpZXMgdG8gYXZvaWQgc2l0dWF0aW9ucyB3aGVyZQogICBkaWZmZXJlbnQgdHlwZXMgb2Ygb3BlcmF0aW9uIG9uIHRoZSBzYW1lIENvbHVtYRMFOAAAAE6wILOLACMABnN5c3RlbQAAEHNjaGVtYV9rZXlzcGFjZXMAAAQAAAAEAAAAAAEBWh/yZ6zgPxKFY8+uYQPGXlVTZnEABRX31e7xKAAAAAAAAAAAcUuKngAJOxa8FMznAAABT948slwAEGRkL3VwZGF0ZSBvZiB0aGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMoAAAEAZXIgb3V0cHV0IChDQVNTQU5EUkEtNTgyNSkKICogRnV0dXJlLXByb29mIGludGVyLW1ham9yLXZlcnNpb24gc2NoZW1hIG1pZ3JhdGlvbnMgKENBU1NBTkRSQS01ODQ1KQogKiAoSGFkb29wKSBhZGQgQ3FsUGFnaW5nUmVjb3JkUmVhZGVyIHN1cHBvcnQgZm9yIFJldmVyc2VkVHlwZSBpbiBUaHJpZnQgdGFibGUKICAgKENBU1NBTkRSQS01NzE4KQogKiBBZGQgLW5vLXNuYXBzaG90IG9wdGlvbiB0byBzY3J1YiAoQ0FTU0FORFJBLTU4OTEpCiAqIEZpeLVIdAYAAAFP3jyyXAAQZXMgb24gY29tbWl0bG9nIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsygAAAQBjcmliZSByaW5nJyBtb3ZlZCBmcm9tIENMSSB0byBub2RldG9vbCBhbmQgYXZhaWxhYmxlIHRocm91Z2ggSk1YIChDQVNTQU5EUkEtMzIyMCkKICogYWRkIGJhY2sgcGFydGl0aW9uZXIgdG8gc3N0YWJsZSBtZXRhZGF0YSAoQ0FTU0FORFJBLTM1NDApCiAqIGZpeCBOUEUgaW4gZ2V0X2NvdW50IGZvciBjb3VudGVycyAoQ0FTU0FORFJBLTM2MDEpCk1lcmdlZCBmcm9tIDAuODoKICogcmVtb3ZlIGludmFsaWQgYXNzZXJ0aW9uIHRoYXQgdGFibGUgd2FznpMjCAAAAU/ePLJcABAgdGhyZWFkcyBhdCBNSU5fAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzKAAABAGVmYXVsdCBtYXhfaGludF93aW5kb3dfaW5fbXMgdG8gM2ggKENBU1NBTkRSQS00NjMyKQogKiBpbmNsdWRlIG1lc3NhZ2UgaW5pdGlhdGlvbiB0aW1lIHRvIHJlcGxpY2FzIHNvIHRoZXkgY2FuIG1vcmUKICAgYWNjdXJhdGVseSBkcm9wIHRpbWVkLW91dCByZXF1ZXN0cyAoQ0FTU0FORFJBLTI4NTgpCiAqIGZpeCBjbGllbnR1dGlsLmphciBkZXBlbmRlbmNpZXMgKENBU1NBTkRSQS00NTY2KQogKiBvcHRpbWl6ZSBXcml0ZVJlc3BvbnNlIChDQVNTQU5yi4QbAAABT948slwAEHMgKENBU1NBTkRSQS0yNjkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMoAAAEAc3RhdHVzIChDQVNTQU5EUkEtNTM1MSkKICogSW1wcm92ZSBoYW5kbGluZyBvZiByYW5nZSB0b21ic3RvbmUgZm9yIHdpZGUgcGFydGl0aW9ucyAoQ0FTU0FORFJBLTY0NDYpCiAqIEZpeCBDbGFzc0Nhc3RFeGNlcHRpb24gZm9yIGNvbXBhY3QgdGFibGUgd2l0aCBjb21wb3NpdGVzIChDQVNTQU5EUkEtNjczOCkKICogRml4IHBvdGVudGlhbGx5IHJlcGFpcmluZyB3aXRoIHdyb25nIG5vZGVzIChDQVNTQU5EUkEtNjgwOCkKICogQ2hhbmdlIGNhY2hpbl3nM6YAAAFP3jyyXAAQKQogKiBhZGQgb3B0aW9uIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsygAAAQBlcyBpbiBwYXRoIHRvIGxvZzRqIGNvbmZpZ3VyYXRpb24gKENBU1NBTkRSQS0yMzgzKQogKiBhdm9pZCBpbmNsdWRpbmcgaW5mZXJyZWQgdHlwZXMgaW4gQ0YgdXBkYXRlIChDQVNTQU5EUkEtMjgwOSkKICogZml4IEpNWCBidWxrbG9hZCBjYWxsIChDQVNTQU5EUkEtMjkwOCkKICogZml4IHVwZGF0aW5nIEtTIHdpdGggZHVyYWJsZV93cml0ZXM9ZmFsc2UgKENBU1NBTkRSQS0yOTA3KQogKiBhZGQgc2ltcGxpZmllZCBmYWNhZGUgdG8gU1NUYWJsZVdyfu+LpAAAAU/ePLJcABBEY2Fzc2FuZHJhLnN0b3JhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzKAAABACBjb2x1bW4gZmFtaWx5IHZhbGlkaXR5IGluIG5vZGV0b29sIHJlcGFpciAoQ0FTU0FORFJBLTI5MzMpCiAqIHVzZSBsYXp5IGluaXRpYWxpemF0aW9uIGluc3RlYWQgb2YgY2xhc3MgaW5pdGlhbGl6YXRpb24gaW4gTm9kZUlkCiAgIChDQVNTQU5EUkEtMjk1MykKICogYWRkIHBhZ2luZyB0byBnZXRfY291bnQgKENBU1NBTkRSQS0yODk0KQogKiBmaXggInNob3J0IHJlYWRzIiBpbiBbbXVsdGldZ2V0IChDQVNTQU5EUkEtMjY0MywgMzE1NywgMzE5MinmUnxVAAABT948slwAECBub2RldG9vbCBpbmZvICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMoAAAEAZyAoQ0FTU0FORFJBLTMzOTQpCiAqIHByZXZlbnQgbm9kZXMgdGhhdCBmYWlsZWQgdG8gam9pbiBmcm9tIGhhbmdpbmcgYXJvdW5kIGZvcmV2ZXIgCiAgIChDQVNTQU5EUkEtMzM1MSkKICogcmVtb3ZlIGluY29ycmVjdCBvcHRpbWl6YXRpb24gZnJvbSBzbGljZSByZWFkIHBhdGggKENBU1NBTkRSQS0zMzkwKQogKiBGaXggcmFjZSBpbiBBbnRpRW50cm9weVNlcnZpY2UgKENBU1NBTkRSQS0zNDAwKQoKCjEuMC4wLWZpbmFsCiAqIGNsb3NlIHNjcnViYneaJrAAAAFP3jyyXAAQdmVyIGlmIHRoZSByZW1vdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsygAAAQBhbCBvZiBsaXN0IHByZXBlbmRzIChDQVNTQU5EUkEtODczMykKICogUHJldmVudCBub24temVybyBkZWZhdWx0X3RpbWVfdG9fbGl2ZSBvbiB0YWJsZXMgd2l0aCBjb3VudGVycwogICAoQ0FTU0FORFJBLTg2NzgpCiAqIEZpeCBTU1RhYmxlU2ltcGxlVW5zb3J0ZWRXcml0ZXIgQ29uY3VycmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlvbgogICAoQ0FTU0FORFJBLTg2MTkpCiAqIFJvdW5kIHVwIHRpbWUgZGVsdGFzIGxvd2VyIHRoYW4gMW1zIGluIEJ1bGtMyx282AAAAU/ePLJcABAgKiBhbGxvdyB6ZXJvIHJlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzKAAABAGUgW0ZyZWVhYmxlXU1lbW9yeSBmaW5hbGl6ZXJzIChDQVNTQU5EUkEtNDIyMikKICogaW5jbHVkZSB0b21ic3RvbmUgc2l6ZSBpbiBDb2x1bW5GYW1pbHkuc2l6ZSwgd2hpY2ggY2FuIHByZXZlbnQgT09NCiAgIGR1cmluZyBzdWRkZW4gbWFzcyBkZWxldGUgb3BlcmF0aW9ucyBieSB5aWVsZGluZyBhIG5vbnplcm8gbGl2ZVJhdGlvCiAgIChDQVNTQU5EUkEtMzc0MSkKICogT3BlbiAxIHNzdGFibGVTY2FubmVyIHBlciBsZXZlbCBmb3IgbGV2ZWxlZCDAKt/YAAABT948slwAEGN0IHJlcGFpcmVkQXQgdmEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMoAAAEARFJBLTgyOTcpCiAqIEluY2x1ZGUga2V5c3BhY2UgbmFtZSBpbiBlcnJvciBtZXNzYWdlIHdoZW4gdGhlcmUgYXJlIGluc3VmZmljaWVudAogICBsaXZlIG5vZGVzIHRvIHN0cmVhbSBmcm9tIChDQVNTQU5EUkEtODIyMSkKICogQXZvaWQgb3ZlcmxhcCBpbiBMMSB3aGVuIEwwIGNvbnRhaW5zIG1hbnkgbm9ub3ZlcmxhcHBpbmcKICAgc3N0YWJsZXMgKENBU1NBTkRSQS04MjExKQogKiBJbXByb3ZlIFByb3BlcnR5RmlsZVNuaXRjaCBsb2dnaW5nIChDQd/nHEsAAAFP3jyyXAAQIGluc3RlYWQgb2YgcmVseQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsywAAAQBDTC5PTkUgZm9yIHRyYWNpbmcgYW5kIHN5c3RlbS5zY2hlbWEqIHF1ZXJpZXMgKENBU1NBTkRSQS01MDcwKQogKiBJbmNsdWRlcyBjYXNzYW5kcmEtc2h1ZmZsZSBpbiB0aGUgZGViaWFuIHBhY2thZ2UgKENBU1NBTkRSQS01MDU4KQpNZXJnZWQgZnJvbSAxLjE6CiAqIGZpeCBtdWx0aXRocmVhZGVkIGNvbXBhY3Rpb24gZGVhZGxvY2sgKENBU1NBTkRSQS00NDkyKQogKiBmaXggdGVtcG9yYXJpbHkgbWlzc2luZyBzY2hlbWEgYWZ0ZXIgdXBncmFkZSBmF63qSwAAAU/ePLJcABAgZnJvemVuIGNvbGxlY3RpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzLAAABACAoQ0FTU0FORFJBLTY0MTUpCiAqIFdhcm4gd2hlbiBjb2xsZWN0aW9uIHJlYWQgaGFzID4gNjVLIGVsZW1lbnRzIChDQVNTQU5EUkEtNTQyOCkKICogRml4IGNhY2hlIHBlcnNpc3RlbmNlIHdoZW4gYm90aCByb3cgYW5kIGtleSBjYWNoZSBhcmUgZW5hYmxlZCAKICAgKENBU1NBTkRSQS02NDEzKQogKiAoSGFkb29wKSBhZGQgZGVzY3JpYmVfbG9jYWxfcmluZyAoQ0FTU0FORFJBLTYyNjgpCiAqIEZpeCBoYW5kbGluZyBvZiBjb25jdXJyZW50IGRpcmWd8zTeAAABT948slwAEG5vdCBhdHRlbXB0IHRvIHIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILMsAAAEAQVNTQU5EUkEtMTA3NCkKICogbm9kZXMgdGhhdCBjb29yZGluYXRlZCBhIGxvYWRiYWxhbmNlIGluIHRoZSBwYXN0IGNvdWxkIG5vdCBiZSBzZWVuIGJ5CiAgIG5ld2x5IGFkZGVkIG5vZGVzIChDQVNTQU5EUkEtMTQ2NykKICogZXhwb3NlZCBlbmRwb2ludCBzdGF0ZXMgKGdvc3NpcCBkZXRhaWxzKSB2aWEgam14IChDQVNTQU5EUkEtMTQ2NykKICogZW5zdXJlIHRoYXQgY29tcGFjdGVkIHNzdGFibGVzIGFyZSBub3QgaW5jbHVkZWQgd2hlbiBuZXcgck7BOGAAAAFP3jyyXAAQeSBzaXplIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgsywAAAQB0dXJuaW5nIG9ubHkgYSBzdWJzZXQgb2YKICAgc3ViY29sdW1ucyBvciBvbGQgc3ViY29sdW1uIHZlcnNpb25zIChDQVNTQU5EUkEtMzQ0NikKICogYXV0b21hdGljYWxseSBjb21wdXRlIHNoYTEgc3VtIGZvciB1bmNvbXByZXNzZWQgZGF0YSBmaWxlcyAoQ0FTU0FORFJBLTM0NTYpCiAqIGZpeCByZWFkaW5nIG1ldGFkYXRhL3N0YXRpc3RpY3MgY29tcG9uZW50IGZvciB2ZXJzaW9uIDwgaCAoQ0FTU0FORFJBLTM0NzQpCiAqIGFkZCBzc3RhYmxlIGZv8ygUBAAAAU/ePLJcABBTU0FORFJBLTMyNTkpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzLAAABAGN0aW9uIGZvciBDb2xsZWN0aW9uVHlwZSAoQ0FTU0FORFJBLTY3ODMpCiAqIFVwZGF0ZSBuYXRpdmUgc2VydmVyIHRvIE5ldHR5IDQgKENBU1NBTkRSQS02MjM2KQogKiBGaXggb2ZmLWJ5LW9uZSBlcnJvciBpbiBzdHJlc3MgKENBU1NBTkRSQS02ODgzKQogKiBNYWtlIE9wT3JkZXIgQXV0b0Nsb3NlYWJsZSAoQ0FTU0FORFJBLTY5MDEpCiAqIFJlbW92ZSBzeW5jIHJlcGFpciBKTVggaW50ZXJmYWNlIChDQVNTQU5EUkEtNjkwMCkKICogQWRkIG11bHRecccMAAlPcwURHoIAAAFP3jyyXAAQTENTIChDQVNTQU5EUkEtNQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgszQAAAQBhY2NvdW50IGZvciBwZW5kaW5nIHJhbmdlcyBkdWUgdG8gbm9kZSAKICAgbW92ZW1lbnQgKENBU1NBTkRSQS04MzMpCiAqIENoYW5nZSBDUUwgdmVyc2lvbiB0byAzLjAuMCBhbmQgc3RvcCBhY2NlcHRpbmcgMy4wLjAtYmV0YTEgKENBU1NBTkRSQS00NjQ5KQogKiAoQ1FMMykgTWFrZSBwcmVwYXJlZCBzdGF0ZW1lbnQgZ2xvYmFsIGluc3RlYWQgb2YgcGVyIGNvbm5lY3Rpb24gCiAgIChDQVNTQU5EUkEtNDQ0OSkKICogRml4IHNjcnViYmluZyBvZiBDgxtLOAAAAU/ePLJcABBTU0FORFJBLTE2NDQpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzNAAABACBlcnJvciBpbiBBTFRFUiBUWVBFIFJFTkFNRSAoQ0FTU0FORFJBLTY3MDUpCiAqIFNjcnViIHNob3VsZCBub3QgYWx3YXlzIGNsZWFyIG91dCByZXBhaXJlZCBzdGF0dXMgKENBU1NBTkRSQS01MzUxKQogKiBJbXByb3ZlIGhhbmRsaW5nIG9mIHJhbmdlIHRvbWJzdG9uZSBmb3Igd2lkZSBwYXJ0aXRpb25zIChDQVNTQU5EUkEtNjQ0NikKICogRml4IENsYXNzQ2FzdEV4Y2VwdGlvbiBmb3IgY29tcGFjdCB0YWJsZSB3aXRoIGNvbXBvc2l0ZXMgKENBU1NhL4QzAAABT948slwAECB0aGUgcmVzdWx0IG9mIEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILM0AAAEAbmc7IHJlYnVpbGQgc3VtbWFyaWVzIG9uIHN0YXJ0dXAgd2hlbiB0aGlzCiAgIGlzIGRldGVjdGVkIChDQVNTQU5EUkEtODk5MykKICogRml4IHBvdGVudGlhbCBkYXRhIGxvc3MgaW4gQ29tcHJlc3NlZFNlcXVlbnRpYWxXcml0ZXIgKENBU1NBTkRSQS04OTQ5KQogKiBNYWtlIFBhc3N3b3JkQXV0aGVudGljYXRvciBudW1iZXIgb2YgaGFzaGluZyByb3VuZHMgY29uZmlndXJhYmxlIChDQVNTQU5EUkEtODA4NSkKICogRml4IEFzc2VydGlvbkVycm9yIKI3JyIAAAFP3jyyXAAQIHRhYmxlIGZsdXNoIGJlZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgszQAAAQBBU1NBTkRSQS01ODkzKQoKCjIuMC4wLXJjMgogKiBlbmFibGUgdm5vZGVzIGJ5IGRlZmF1bHQgKENBU1NBTkRSQS01ODY5KQogKiBmaXggQ0FTIGNvbnRlbnRpb24gdGltZW91dCAoQ0FTU0FORFJBLTU4MzApCiAqIGZpeCBIc0hhIHRvIHJlc3BlY3QgbWF4IGZyYW1lIHNpemUgKENBU1NBTkRSQS00NTczKQogKiBGaXggKHNvbWUpIDJpIG9uIGNvbXBvc2l0ZSBjb21wb25lbnRzIG9taXNzaW9ucyAoQ0FTU0FORFJBLTU4NTEpCiAqIGNxbHNoOiBhZGQgZydezgAAAU/ePLJcABBpdCBmb3IgbGFzdCBzeW5jAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzNAAABAFNBTkRSQS0xMTM4KQogKiBwYXJhbGxlbGl6ZSBsb2NhbCBhbmQgcmVtb3RlIHJlYWRzIGR1cmluZyBtdWx0aWdldCwgYW5kIHJlc3BlY3Qgc25pdGNoIAogICB3aGVuIGRldGVybWluaW5nIHdoZXRoZXIgdG8gZG8gbG9jYWwgcmVhZCBmb3IgQ0wuT05FIChDQVNTQU5EUkEtMTMxNykKICogZml4IHJlYWQgcmVwYWlyIHRvIHVzZSByZXF1ZXN0ZWQgY29uc2lzdGVuY3kgbGV2ZWwgb24gZGlnZXN0IG1pc21hdGNoLAogICByYXRoZXIgdGhhbiBhc3N1bWlQ/HvfAAABT948slwAEGRsZSBudWxsIHdpdGggSUYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILM0AAAEAIGxvZzRqLXNlcnZlci5wcm9wZXJ0aWVzLCB3aGljaCBtdXN0IG5vdyBiZSBsb2FkZWQgZnJvbQogICB0aGUgY2xhc3NwYXRoICh3aGljaCBpcyBob3cgb3VyIHNjcmlwdHMgaW4gYmluLyBoYXZlIGFsd2F5cyBkb25lIGl0KQogICAoQ0FTU0FORFJBLTk3MSkKICogY2hhbmdlIGdldF9jb3VudCB0byByZXF1aXJlIGEgU2xpY2VQcmVkaWNhdGUuIGNyZWF0ZSBtdWx0aV9nZXRfY291bnQKICAgKENBU1NBTkRSQS03NDQpCiAqIHJlLW9yZ2FuaXplZCBlbtcTOPMAAAFP3jyyXAAQc2ggdGhyb3VnaHB1dCAKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgszQAAAQAtNTU0KQogKiBhZGRlZCBzdXBlciBjb2x1bW4gcmVhZC93cml0ZSwgY29sdW1uIGNvdW50LCBhbmQgY29sdW1uL3JvdyBkZWxldGUgdG8KICAgY2Fzc2FuZHJhLWNsaSAoQ0FTU0FORFJBLTU2NywgQ0FTU0FORFJBLTU5NCkKICogZml4IHJldHVybmluZyBsaXZlIHN1YmNvbHVtbnMgb2YgZGVsZXRlZCBzdXBlcmNvbHVtbnMgKENBU1NBTkRSQS01ODMpCiAqIHJlc3BlY3QgSkFWQV9IT01FIGluIGJpbi8gc2NyaXB0cyAoc2V2ZXJhbCB0aWNrZXRzKQogTvPePwAAAU/ePLJcABBhdmVkIHJlcGxpY2F0aW9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzNAAABAGF0YSAoQ0FTU0FORFJBLTI0MTkpCiAqIEpEQkMgQ1FMIGRyaXZlciBleHBvc2VzIGdldENvbHVtbiBmb3IgYWNjZXNzIHRvIHRpbWVzdGFtcAogKiBKREJDIFJlc3VsdFNldE1ldGFkYXRhIHByb3BlcnRpZXMgYWRkZWQgdG8gQWJzdHJhY3RUeXBlCiAqIHIvbSBjbHVzdGVydG9vbCAoQ0FTU0FORFJBLTI2MDcpCiAqIGFkZCBzdXBwb3J0IGZvciBwcmVzZW50aW5nIHJvdyBrZXkgYXMgYSBjb2x1bW4gaW4gQ1FMIHJlc3VsdCBzZXRzIAogICAoQ0FTU0GQbSljAAABT948slwAEHZlIGluY29ycmVjdCBhc3MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILM0AAAEAICAgKENBU1NBTkRSQS0zMTM4KQogKiBwcmV2ZW50IHVzZXJzIGZyb20gY3JlYXRpbmcga2V5c3BhY2VzIHdpdGggTG9jYWxTdHJhdGVneSByZXBsaWNhdGlvbgogICAoQ0FTU0FORFJBLTMxMzkpCiAqIGZpeCBDTEkgYHNob3cgc2NoZW1hO2AgdG8gb3V0cHV0IGNvcnJlY3Qga2V5c3BhY2UgZGVmaW5pdGlvbiBzdGF0ZW1lbnQKICAgKENBU1NBTkRSQS0zMTI5KQogKiBDdXN0b21UVGhyZWFkUG9vbFNlcnZlciB0byBsb2cgVFRyYW5zcG9ydEV4Y2VwdMcPxAYAAAFP3jyyXAAQYWxpbmcgd2l0aCByaWRpYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgszQAAAQBORFJBLTUyNzIpCiAqIChIYWRvb3ApIEFkZCBDUUwzIGlucHV0L291dHB1dCBmb3JtYXRzIChDQVNTQU5EUkEtNDQyMSwgNTYyMikKICogKEhhZG9vcCkgRml4IElucHV0S2V5UmFuZ2UgaW4gQ0ZJRiAoQ0FTU0FORFJBLTU1MzYpCiAqIEZpeCBkZWFsaW5nIHdpdGggcmlkaWN1bG91c2x5IGxhcmdlIG1heCBzc3RhYmxlIHNpemVzIGluIExDUyAoQ0FTU0FORFJBLTU1ODkpCiAqIElnbm9yZSBwcmUtdHJ1bmNhdGUgaGludHMgKENBU1NBTkRSQS00NjU15bedAQAAAU/ePLJcABBBTkRSQS0xNzAwKQogKiB0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzNAAABAHJldHVybiBhbiBJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmb3IgbWFsLWZvcm1lZCBTbGljZVByZWRpY2F0ZXMKICAgKENBU1NBTkRSQS02NDMpCiAqIGZpeCBidWcgZGV0ZXJtaW5pbmcgY2xvc2VzdCBuZWlnaGJvciBmb3IgdXNlIGluIG11bHRpcGxlIGRhdGFjZW50ZXJzCiAgIChDQVNTQU5EUkEtNjQ4KQogKiBWYXN0IGltcHJvdmVtZW50cyBpbiBhbnRpY29tcGFjdGlvbiBzcGVlZCAoQ0FTU0FORFJBLTYwNykKICogU3BlZWQgdXAgbG9nIHJlcGxy6HpfAAABT948slwAECBtaWdyYXRpb25zIGF0IEkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILM0AAAEAYmxlcyBhbmQgcnVuIHRocm91Z2ggY29tbWl0IGxvZyAoQ0FTU0FORFJBLTg4MCkKICogQm9vdHN0cmFwcGluZyBjYW4gc2tpcCByYW5nZXMgdW5kZXIgdGhlIHJpZ2h0IGNvbmRpdGlvbnMgKENBU1NBTkRSQS05MDIpCiAqIGZpeCBtZXJnaW5nIHJvdyB2ZXJzaW9ucyBpbiByYW5nZV9zbGljZSBmb3IgQ0wgPiBPTkUgKENBU1NBTkRSQS04ODQpCiAqIGRlZmF1bHQgd3JpdGUgQ29uc2lzdGVuY3lMZXZlbiBjaGFuZWQgZnJvbSBaRVJPIHRvIE9ORQogKhsn4aEAAAFP3jyyXAAQc2VydCBBUElzCiAqIEFkZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgszQAAAQByYXRpb25zIChDQVNTQU5EUkEtNzc4OSkKICogQWRkIHN5bnRheCB0byByZW1vdmUgbXVsdGlwbGUgZWxlbWVudHMgZnJvbSBhIG1hcCAoQ0FTU0FORFJBLTY1OTkpCiAqIFN1cHBvcnQgbm9uLWVxdWFscyBjb25kaXRpb25zIGluIGxpZ2h0d2VpZ2h0IHRyYW5zYWN0aW9ucyAoQ0FTU0FORFJBLTY4MzkpCiAqIEFkZCBJRiBbTk9UXSBFWElTVFMgdG8gY3JlYXRlL2Ryb3AgdHJpZ2dlcnMgKENBU1NBTkRSQS03NjA2KQogKiAoY3Fsc2gpIERpc3BsYXkgG94gAwAAAU/ePLJcABBlcnZlciBtb3JlIGVhc2xsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzNAAABAHNvbiB3aGVuIG5vIGV4Y2x1ZGVkIGtleXMgYXJlIGdpdmVuIChDQVNTQU5EUkEtOTM0KQogKiBrZWVwIHRoZSByZXBsaWNhIHNldCBjb25zdGFudCB0aHJvdWdob3V0IHRoZSByZWFkIHJlcGFpciBwcm9jZXNzCiAgIChDQVNTQU5EUkEtOTM3KQogKiBhbGxvdyBxdWVyeWluZyBnZXRBbGxSYW5nZXMgd2l0aCBlbXB0eSB0b2tlbiBsaXN0IChDQVNTQU5EUkEtOTMzKQogKiBmaXggY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBpbnZlcnNpb24gaW4gY2x1c3Q+arg3AAABT948slwAECogcHVzaCBEYXRhY2VudGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILM0AAAEAKiBDTGlicmFyeS5jcmVhdGVIYXJkTGlua1dpdGhFeGVjKCkgdG8gY2hlY2sgZm9yIGVycm9ycyAoQ0FTU0FORFJBLTMxMDEpCiAqIEF2b2lkIGNyZWF0aW5nIGVtcHR5IGFuZCBub24gY2xlYW5lZCB3cml0ZXIgZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS0zNjE2KQogKiBzdG9wIHRocmlmdCBzZXJ2aWNlIGluIHNodXRkb3duIGhvb2sgc28gd2UgY2FuIHF1aWVzY2UgTWVzc2FnaW5nU2VydmljZQogICAoQ0FTU0FORFJBLTMzMzUpCiAqIChDUYSZ+ocACWPQc5o3pwAAAU/ePLJcABByYXRlLWlkZWEtZmlsZXMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzPAAABAHJlY3Rvcnkgc2VhcmNoaW5nIGZvciBjKi5pbi5zaCAoQ0FTU0FORFJBLTM5ODMpCiAqIEFkZCB0b29sIHRvIHJlc2V0IFNTVGFibGUgY29tcGFjdGlvbiBsZXZlbCBmb3IgTENTIChDQVNTQU5EUkEtNTI3MSkKICogQWxsb3cgY3VzdG9tIGNvbmZpZ3VyYXRpb24gbG9hZGVyIChDQVNTQU5EUkEtNTA0NSkKICogUmVtb3ZlIG1lbW9yeSBlbWVyZ2VuY3kgcHJlc3N1cmUgdmFsdmUgbG9naWMgKENBU1NBTkRSQS0zNTM0KQogKiBSZWR1Y2UgcmVxdWVzdCB9oDY8AAABT948slwAECAoQ0FTU0FORFJBLTQ0MTYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILM8AAAEAKiByZW1vdmUgZ29zc2lwIHN0YXRlIHdoZW4gYSBuZXcgSVAgdGFrZXMgb3ZlciBhIHRva2VuIChDQVNTQU5EUkEtMzA3MSkKICogd29yayBhcm91bmQgbmF0aXZlIG1lbW9yeSBsZWFrIGluIGNvbS5zdW4ubWFuYWdlbWVudC5HYXJiYWdlQ29sbGVjdG9yTVhCZWFuCiAgICAoQ0FTU0FORFJBLTI4NjgpCiAqIGZpeCBVbmF2YWlsYWJsZUV4Y2VwdGlvbiB3aXRoIHdyaXRlcyBhdCBDTC5FQUNIX1FVT1JNIChDQVNTQU5EUkEtMzA4NCkKICogZml4IHBhcjxbrkwAAAFP3jyyXAAQY29tcGFjdGlvbiB0aHJlcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgszwAAAQBsb3cgY3JlYXRpbmcgQ1VTVE9NIGluZGV4ZXMgb24gY29sbGVjdGlvbnMgKENBU1NBTkRSQS01NjE1KQogKiBFdmFsdWF0ZSBub3coKSBmdW5jdGlvbiBhdCBleGVjdXRpb24gdGltZSAoQ0FTU0FORFJBLTU2MTYpCiAqIEV4cG9zZSBkZXRhaWxlZCByZWFkIHJlcGFpciBtZXRyaWNzIChDQVNTQU5EUkEtNTYxOCkKICogQ29ycmVjdCBibG9iIGxpdGVyYWwgKyBSZXZlcnNlZFR5cGUgcGFyc2luZyAoQ0FTU0FORFJBLTU2MjkpCiAqIEFsbG93IEdQRlMgA2GHjAAAAU/ePLJcABByb3IgaW4gY291bnRlciBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzPAAABAC4wLjEpIGZvciBNYXZlbiAoQ0FTU0FORFJBLTUzNjQpCiAqIFZhbGlkYXRlIHRoYXQgcHJvdmlkZWQgQ1FMMyBjb2xsZWN0aW9uIHZhbHVlIGFyZSA8IDY0SyAoQ0FTU0FORFJBLTUzNTUpCiAqIE1ha2UgdXBncmFkZVNTVGFibGUgc2tpcCBjdXJyZW50IHZlcnNpb24gc3N0YWJsZXMgYnkgZGVmYXVsdCAoQ0FTU0FORFJBLTUzNjYpCiAqIE9wdGltaXplIG1pbi9tYXggdGltZXN0YW1wIGNvbGxlY3Rpb24gKENBU1NBTkRSQS01MzczKQogKiBJbnZhbGm3fYGoAAABT948slwAEHNhbmRyYS5iYXQgd2hlbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILM8AAAEAc2ggdG8gYmluYXJ5IHByb3RvY29sIChDQVNTQU5EUkEtNDQ4MCkKICogUmV3cml0ZSBub2RldG9vbCBoZWxwIChDQVNTQU5EUkEtMjI5MykKICogTWFrZSBDUUwzIHRoZSBkZWZhdWx0IGZvciBDUUwgKENBU1NBTkRSQS00NjQwKQogKiB1cGRhdGUgc3RyZXNzIHRvb2wgdG8gYmUgYWJsZSB0byB1c2UgQ1FMMyAoQ0FTU0FORFJBLTQ0MDYpCiAqIEFjY2VwdCBhbGwgdGhyaWZ0IHVwZGF0ZSBvbiBDUUwzIGNmIGJ1dCBkb24ndCBleHBvc2UgdGhlaXIgbSdzq3YAAAFP3jyyXAAQcmFyZSBkdXBsaWNhdGUgcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgszwAAAQBlZCAKICAgKENBU1NBTkRSQS0zNDg0KQogKiBmaXggaGFuZGxpbmcgb2YgdGhlIGNodW5rX2xlbmd0aF9rYiBjb21wcmVzc2lvbiBvcHRpb25zIChDQVNTQU5EUkEtMzQ5MikKTWVyZ2VkIGZyb20gMC44OgogKiBmaXggdXBkYXRpbmcgQ0Ygcm93X2NhY2hlX3Byb3ZpZGVyIChDQVNTQU5EUkEtMzQxNCkKICogQ0ZNZXRhRGF0YS5jb252ZXJ0VG9UaHJpZnQgbWV0aG9kIHRvIHNldCBSb3dDYWNoZVByb3ZpZGVyIChDQVNTQU5EUkEtMzQwNSkKICogYWNxrqbpiwAAAU/ePLJcABAgYnl0ZVtdIGZvciBlYWNoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzPAAABAFNBTkRSQS00OTUyKQogKiBGaXggc3RyZWFtaW5nIGRvZXMgbm90IHRyYW5zZmVyIHdyYXBwZWQgcmFuZ2UgKENBU1NBTkRSQS01OTQ4KQogKiBGaXggbG9hZGluZyBpbmRleCBzdW1tYXJ5IGNvbnRhaW5pbmcgZW1wdHkga2V5IChDQVNTQU5EUkEtNTk2NSkKICogQ29ycmVjdGx5IGhhbmRsZSBsaW1pdHMgaW4gQ29tcG9zaXRlc1NlYXJjaGVyIChDQVNTQU5EUkEtNTk3NSkKICogUGlnOiBoYW5kbGUgQ1FMIGNvbGxlY3Rpb25zIChDQVNTQU5EUkEtNTgkhdhlAAABT948slwAEHMgY29udGFpbmluZyBvbmwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILM8AAAEACiAqIHJlZmFjdG9yIHN0cmVzcy5weSB0byBoYXZlIG9ubHkgb25lIGNvcHkgb2YgdGhlIGZvcm1hdCBzdHJpbmcgCiAgIHVzZWQgZm9yIGNyZWF0aW5nIHJvdyBrZXlzIChDQVNTQU5EUkEtMjEwOCkKICogdmFsaWRhdGUgaW5kZXggbmFtZXMgZm9yIFx3KyAoQ0FTU0FORFJBLTIxOTYpCiAqIEZpeCBDYXNzYW5kcmEgY2xpIHRvIHJlc3BlY3QgdGltZW91dCBpZiBzY2hlbWEgZG9lcyBub3Qgc2V0dGxlIAogICAoQ0FTU0FORFJBLTIxODcpCiAqIGZpeGGpGj0AAAFP3jyyXAAQaW5nIHZpYSBub2RlcHJvYgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgszwAAAQBlbnRpcmVseTsgTENTIGRlZmF1bHRzIHRvIDEuMCAoQ0FTU0FORFJBLTQ4NzYpCiAqIG9mZi1oZWFwIGJsb29tIGZpbHRlcnMgZm9yIHJvdyBrZXlzIChDQVNTQU5EUkFfNDg2NSkKICogYWRkIGV4dGVuc2lvbiBwb2ludCBmb3Igc3N0YWJsZSBjb21wb25lbnRzIChDQVNTQU5EUkEtNDA0OSkKICogaW1wcm92ZSB0cmFjaW5nIG91dHB1dCAoQ0FTU0FORFJBLTQ4NTIsIDQ4NjIpCiAqIG1ha2UgVFJBQ0UgdmVyYiBkcm9wcGFibGUgKENBU1NBTkRSQS00XhCERgAAAU/ePLJcABB3cyBnZXQgYmlnIGVub3VnAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzPAAABACBiaW5hcnkgcHJvdG9jb2wgc2VydmVyIChDQVNTQU5EUkEtNTUwNykKICogRml4IHJlcGFpciAtc25hcHNob3Qgbm90IHdvcmtpbmcgKENBU1NBTkRSQS01NTEyKQogKiBTZXQgaXNSdW5uaW5nIGZsYWcgbGF0ZXIgaW4gYmluYXJ5IHByb3RvY29sIHNlcnZlciAoQ0FTU0FORFJBLTU0NjcpCiAqIEZpeCB1c2Ugb2YgQ1FMMyBmdW5jdGlvbnMgd2l0aCBkZXNjZW5kaW5nIGNsdXN0ZXJpbmcgb3JkZXIgKENBU1NBTkRSQS01NDcyKQogKiBEaXNhbGxvdyAENCDCAAABT948slwAEHJlbW92ZSB1bm5lY2Vzc2EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILM8AAAEAa2VlcCB0aGUgcmVwbGljYSBzZXQgY29uc3RhbnQgdGhyb3VnaG91dCB0aGUgcmVhZCByZXBhaXIgcHJvY2VzcwogICAoQ0FTU0FORFJBLTkzNykKICogYWxsb3cgcXVlcnlpbmcgZ2V0QWxsUmFuZ2VzIHdpdGggZW1wdHkgdG9rZW4gbGlzdCAoQ0FTU0FORFJBLTkzMykKICogZml4IGNvbW1hbmQgbGluZSBhcmd1bWVudHMgaW52ZXJzaW9uIGluIGNsdXN0ZXJ0b29sIChDQVNTQU5EUkEtOTQyKQogKiBmaXggcmFjZSBjb25kaXRpb24gdGhhdCBjb3VsZFSLRMQAAAFP3jyyXAAQbGllbnQgZW5jcnlwdGlvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgszwAAAQBsZSwgbm90IHBlci1DRiAoQ0FTU0FORFJBLTY5NDUpCiAqIE1ha2Ugc3VyZSB1cGdyYWRlc3N0YWJsZXMga2VlcHMgc3N0YWJsZSBsZXZlbCAoQ0FTU0FORFJBLTY5NTgpCiAqIEZpeCBMSU1JVCB3aXRoIHN0YXRpYyBjb2x1bW5zIChDQVNTQU5EUkEtNjk1NikKICogRml4IGNsYXNoIHdpdGggQ1FMIGNvbHVtbiBuYW1lIGluIHRocmlmdCB2YWxpZGF0aW9uIChDQVNTQU5EUkEtNjg5MikKICogRml4IGVycm9yIHdpdGggc3VwZXIgY29sdW1ucyBpbiBtKbWwDwAAAU/ePLJcABBoZW4KICAgdHJ5aW5nIHRvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzPAAABAChDQVNTQU5EUkEtNjI4NSkKICogRml4IENBUyBjb25kaXRpb25zIGZvciBDT01QQUNUIFNUT1JBR0UgdGFibGVzIChDQVNTQU5EUkEtNjgxMykKICogU3RhcnRpbmcgdGhyZWFkcyBpbiBPdXRib3VuZFRjcENvbm5lY3Rpb25Qb29sIGNvbnN0cnVjdG9yIGNhdXNlcyByYWNlIGNvbmRpdGlvbnMgKENBU1NBTkRSQS03MTc3KQogKiBBbGxvdyBvdmVycmlkaW5nIGNhc3NhbmRyYS1yYWNrZGMucHJvcGVydGllcyBmaWxlIChDQVNTQU5EUkEtNzA3MikKICrZAd1kAAABT948slwAECogRW5hYmxlIHRjcCBrZWUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILM8AAAEAMSkKICogQ2hlY2sgc2NoZW1hIGJlZm9yZSB0cnlpbmcgdG8gZXhwb3J0IHNzdGFibGUgKENBU1NBTkRSQS0yNzYwKQogKiBSYWlzZSBhIG1lYW5pbmdmdWwgZXhjZXB0aW9uIGluc3RlYWQgb2YgTlBFIHdoZW4gUEZTIGVuY291bnRlcnMKICAgYW4gdW5jb25maWd1cmVkIG5vZGUgKyBubyBkZWZhdWx0IChDQVNTQU5EUkEtNDM0OSkKICogZml4IGJ1ZyBpbiBzc3RhYmxlIGJsYWNrbGlzdGluZyB3aXRoIExDUyAoQ0FTU0FORFJBLTQzNDMpCiAqIExDU/8BklwAAAFP3jyyXAAQImRlZnJhZ21lbnQiIHJvdwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgszwAAAQB1c2VkIGZvciBub24taW5kZXhlZCBzZWNvbmRhcnkgZXhwcmVzc2lvbnMgaW4gaW5kZXggc2NhbgogICAoQ0FTU0FORFJBLTIzNDcpCiAqIGVuc3VyZSBzaXplIGNhbGN1bGF0aW9uIGFuZCB3cml0ZSBwaGFzZSBvZiBsYXJnZS1yb3cgY29tcGFjdGlvbiB1c2UKICAgdGhlIHNhbWUgdGhyZXNob2xkIGZvciBUVEwgZXhwaXJhdGlvbiAoQ0FTU0FORFJBLTIzNDkpCiAqIGZpeCByYWNlIHdoZW4gaXRlcmF0aW5nIENGcyBkdXJpbmcgYWRkL2Ryb3AgKENBrV3k5QAJeC0FdK5bAAABT948slwAEGlsdGVyCiAqIHJlbW92ZSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNIAAAEAU1NBTkRSQS0xODA0KQogKiBjbGkgc3VwcG9ydCBpbmRleCB0eXBlIGVudW0gbmFtZXMgKENBU1NBTkRSQS0xODEwKQogKiBpbXByb3ZlZCB2YWxpZGF0aW9uIG9mIGNvbHVtbl9tZXRhZGF0YSAoQ0FTU0FORFJBLTE4MTMpCiAqIHJlYWRzIGF0IENvbnNpc3RlbmN5TGV2ZWwgPiAxIHRocm93IFVuYXZhaWxhYmxlRXhjZXB0aW9uCiAgIGltbWVkaWF0ZWx5IGlmIGluc3VmZmljaWVudCBsaXZlIG5vZGVzIGV4aXN0IChDQVNTQU5EUkEtMTgwMykKICogY/IWRwIAAAFP3jyyXAAQU1NBTkRSQS0zMzYpCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs0gAAAQBBdm9pZCBzdHJlYW1pbmcgZGF0YSB0byBub2RlcyB0aGF0IGFscmVhZHkgaGF2ZSBpdCwgb24gbW92ZSBhcyB3ZWxsIGFzCiAgIGRlY29tbWlzc2lvbiAoQ0FTU0FORFJBLTMwNDEpCiAqIEZpeCBkaXZpZGUgYnkgemVybyBlcnJvciBpbiBHQ0luc3BlY3RvciAoQ0FTU0FORFJBLTMxNjQpCiAqIGFsbG93IHF1b3Rpbmcgb2YgdGhlIENvbHVtbkZhbWlseSBuYW1lIGluIENMSSBgY3JlYXRlIGNvbHVtbiBmYW1pbHlgCiAgIHN0YXRlbWVudCAoQ0FTU0FObYrRRQAAAU/ePLJcABA6IGFkZCBtaXNzaW5nIHRhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzSAAABAG1wcm92ZSBKQk9EIGRpc2sgdXRpbGl6YXRpb24gKENBU1NBTkRSQS03Mzg2KQogKiBMb2cgZmFpbGVkIGhvc3Qgd2hlbiBwcmVwYXJpbmcgaW5jcmVtZW50YWwgcmVwYWlyIChDQVNTQU5EUkEtODIyOCkKICogRm9yY2UgY29uZmlnIGNsaWVudCBtb2RlIGluIENRTFNTVGFibGVXcml0ZXIgKENBU1NBTkRSQS04MjgxKQogKiBGaXggc3N0YWJsZXVwZ3JhZGUgdGhyb3dzIGV4Y2VwdGlvbiAoQ0FTU0FORFJBLTg2ODgpCiAqIEZpeCBoYW5nIHdoZW4gcmW8dDOoAAABT948slwAECBrZXlzcGFjZSAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNIAAAEAQ0FTU0FORFJBLTc5MTApCiAqIFN0cmVzcyAtIHVzZXIgZGVmaW5lZCB3cml0ZXMgc2hvdWxkIHBvcHVsYXRlIHNlcXVlbnRhbGx5IChDQVNTQU5EUkEtODUyNCkKICogRml4IHJlZ3Jlc3Npb24gaW4gU1NUYWJsZVJld3JpdGVyIGNhdXNpbmcgc29tZSByb3dzIHRvIGJlY29tZSB1bnJlYWRhYmxlIAogICBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTg0MjkpCiAqIFJ1biBtYWpvciBjb21wYWN0aW9ucyBmb3IgcmVwYWlyZWQvdW5yZXBhaXJlZJGKpUAAAAFP3jyyXAAQRFJBLTg3OTYpCiAqIEVucwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs0gAAAQAgKENBU1NBTkRSQS04OTEzKQogKiBNYWtlIFNTVGFibGVSZXdyaXRlci5hYm9ydCgpIG1vcmUgcm9idXN0IHRvIGZhaWx1cmUgKENBU1NBTkRSQS04ODMyKQogKiBSZW1vdmUgY29sZF9yZWFkc190b19vbWl0IGZyb20gU1RDUyAoQ0FTU0FORFJBLTg4NjApCiAqIE1ha2UgRXN0aW1hdGVkSGlzdG9ncmFtI3BlcmNlbnRpbGUoKSB1c2UgY2VpbCBpbnN0ZWFkIG9mIGZsb29yIChDQVNTQU5EUkEtODg4MykKICogRml4IHRvcCBwYXJ0aXRpb25zIHJlcG9yaZOZ3AAAAU/ePLJcABAgU3dpdGNoIGZyb20gY3JjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzSAAABAGNhc2VzIGluIE91dGJvdW5kVGNwQ29ubmVjdGlvbgogICAoQ0FTU0FORFJBLTgwNTcpCiAqIFNTTCBkb2VzIG5vdCB3b3JrIGluIGNhc3NhbmRyYS1jbGkgKENBU1NBTkRSQS03ODk5KQogKiBGaXggcG90ZW50aWFsIGV4Y2VwdGlvbiB3aGVuIHVzaW5nIFJldmVyc2VkVHlwZSBpbiBEeW5hbWljQ29tcG9zaXRlVHlwZQogICAoQ0FTU0FORFJBLTc4OTgpCiAqIEJldHRlciB2YWxpZGF0aW9uIG9mIGNvbGxlY3Rpb24gdmFsdWVzIChDQVNTQU5EUkEtNzi6tLLOAAABT948slwAECkKICogT3ZlcmxvYWQgU2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNIAAAEAc2Vzc2lvbnMgKENBU1NBTkRSQS0zOTA0KQogKiBCdWxrUmVjb3JkV3JpdGVyIHRocm93cyBOUEUgZm9yIGNvdW50ZXIgY29sdW1ucyAoQ0FTU0FORFJBLTM5MDYpCiAqIFN1cHBvcnQgY29tcHJlc3Npb24gdXNpbmcgQnVsa1dyaXRlciAoQ0FTU0FORFJBLTM5MDcpCgoKMS4wLjgKICogZml4IHJhY2UgYmV0d2VlbiBjbGVhbnVwIGFuZCBmbHVzaCBvbiBzZWNvbmRhcnkgaW5kZXggQ0ZTZXMgKENBU1NBTkRSQS0zNzEyKQogKiBhdm9pZCBpbmNsdWRpblxVbfMAAAFP3jyyXAAQb2YgY29sbGVjdGlvbnMgaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs0gAAAQAgc2l6ZSBvZiBzc3RhYmxlcyB3YXMgdXNlIGluIHBsYWNlIG9mIHRoZQogICBjb21wcmVzc2VkIG9uZSAoQ0FTU0FORFJBLTMzMzgpCiAqIEZpeCBoc2hhIHRocmlmdCBzZXJ2ZXIgKENBU1NBTkRSQS0zMzQ2KQogKiBNYWtlIHN1cmUgcmVwYWlyIG9ubHkgc3RyZWFtIG5lZWRlZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTMzNDUpCgoKMS4wLjAtcmMyCiAqIExvZyBhIG1lYW5pbmdmdWwgd2FybmluZyB3aGVuIGEgbm9kZSByZWNlaXZlcyBhIG1lc3NhZ2Ug8UwewwAAAU/ePLJcABBoaW5nIGR1cmluZyBtdWx0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzSAAABACBpbiBOb2RlSWQKICAgKENBU1NBTkRSQS0yOTUzKQogKiBhZGQgcGFnaW5nIHRvIGdldF9jb3VudCAoQ0FTU0FORFJBLTI4OTQpCiAqIGZpeCAic2hvcnQgcmVhZHMiIGluIFttdWx0aV1nZXQgKENBU1NBTkRSQS0yNjQzLCAzMTU3LCAzMTkyKQogKiBhZGQgb3B0aW9uYWwgY29tcHJlc3Npb24gZm9yIHNzdGFibGVzIChDQVNTQU5EUkEtNDcsIDI5OTQsIDMwMDEsIDMxMjgpCiAqIGFkZCBzY2hlZHVsZXIgSk1YIG1ldHJpY3MgKENBU1NBTkRSQS0yOTawu29wAAABT948slwAECBvdXRwdXQgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNIAAAEAQU5EUkEtNjUyKQoKCjAuNS4wIGJldGEgMgogKiBCb290c3RyYXAgaW1wcm92ZW1lbnRzIChzZXZlcmFsIHRpY2tldHMpCiAqIGFkZCBub2RlcHJvYmUgcmVwYWlyIGFudGktZW50cm9weSBmZWF0dXJlIChDQVNTQU5EUkEtMTkzLCBDQVNTQU5EUkEtNTIwKQogKiBmaXggcG9zc2liaWxpdHkgb2YgcGFydGl0aW9uIHdoZW4gbWFueSBub2RlcyByZXN0YXJ0IGF0IG9uY2UKICAgaW4gY2x1c3RlcnMgd2l0aCBtdWx0aXBsZSBzZWVkcyAoQ0FTU0FORFJBLTw6aNEAAAFP3jyyXAAQIEFkZCBUaHJpZnQgTXVsdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs0gAAAQAgcmVzY2hlZHVsaW5nIGNvbXBhY3Rpb25zIHdoZW4gbm8gY29tcGFjdGlvbiB3YXMgZXhlY3V0ZWQgCiAgIChDQVNTQU5EUkEtMzQ4NCkKICogZml4IGhhbmRsaW5nIG9mIHRoZSBjaHVua19sZW5ndGhfa2IgY29tcHJlc3Npb24gb3B0aW9ucyAoQ0FTU0FORFJBLTM0OTIpCk1lcmdlZCBmcm9tIDAuODoKICogZml4IHVwZGF0aW5nIENGIHJvd19jYWNoZV9wcm92aWRlciAoQ0FTU0FORFJBLTM0MTQpCiAqIENGTWV0YURhdGEuY29udmVydFRvVGhyaWZ0HWGwMgAAAU/ePLJcABAgKiBBbGxvdyBjKiB0byBiAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzSAAABAHJpZnQgc29ja2V0IGtlZXBhbGl2ZSBhbmQgYnVmZmVyIHNpemVzIChDQVNTQU5EUkEtMTQyNikKICogbWFrZSBjb250cmliIENhc3NhbmRyYVNlcnZpY2VEYXRhQ2xlYW5lciByZWN1cnNpdmUgKENBU1NBTkRSQS0xNTA5KQogKiBtaW4sIG1heCBjb21wYWN0aW9uIHRocmVzaG9sZCBhcmUgY29uZmlndXJhYmxlIGFuZCBwZXJzaXN0ZW50IAogICBwZXItQ29sdW1uRmFtaWx5IChDQVNTQU5EUkEtMTQ2OCkKICogZml4IHJlcGxheWluZyB0aGUgbGFzdCBRNIaQAAABT948slwAEEEtNTgwMSkKICogRml4IHIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNIAAAEAbGQtc3R5bGUgbWFwcmVkIGFwaSAoQ0FTU0FORFJBLTQ1MzQpCiAqIChIYWRvb3ApIGZpeCBpdGVyYXRpbmcgdGhyb3VnaCBhIHJlc3VsdHNldCBjb25zaXN0aW5nIGVudGlyZWx5CiAgIG9mIHRvbWJzdG9uZWQgcm93cyAoQ0FTU0FORFJBLTQ0NjYpCgoKMS4xLjMKICogKGNxbHNoKSBhZGQgQ09QWSBUTyAoQ0FTU0FORFJBLTQ0MzQpCiAqIG11bm1hcCBjb21taXRsb2cgc2VnbWVudHMgYmVmb3JlIHJlbmFtZSAoQ0FTU0FORFJBLTQzMzcpCiAqIChKTbv2NA4AAAFP3jyyXAAQQ0FTU0FORFJBLTcxMzgpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs0gAAAQAgbm9kZSByZWNlaXZlcyBhIG1lc3NhZ2UgZm9yIGEgcmVwYWlyIHNlc3Npb24KICAgdGhhdCBkb2Vzbid0IGV4aXN0IGFueW1vcmUgKENBU1NBTkRSQS0zMjU2KQogKiB0ZXN0IGZvciBOVU1BIHBvbGljeSBzdXBwb3J0IGFzIHdlbGwgYXMgbnVtYWN0bCBwcmVzZW5jZSAoQ0FTU0FORFJBLTMyNDUpCiAqIEZpeCBGRCBsZWFrIHdoZW4gaW50ZXJub2RlIGVuY3J5cHRpb24gaXMgZW5hYmxlZCAoQ0FTU0FORFJBLTMyNTcpCiAqIFJlbW92ZSBpbmNvcnJlEQYzlwAAAU/ePLJcABBsb3cgZHVyaW5nIHJhbmdlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzSAAABAGx0cyBvdmVyIGFsbCBkYXRhIGRpcmVjdG9yaWVzIChDQVNTQU5EUkEtODMyOSkKICogRml4IHNvbWUgZmFpbGluZyBxdWVyaWVzIHRoYXQgdXNlIG11bHRpLWNvbHVtbiByZWxhdGlvbnMKICAgb24gQ09NUEFDVCBTVE9SQUdFIHRhYmxlcyAoQ0FTU0FORFJBLTgyNjQpCiAqIEZpeCBJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiB3aXRoIE9SREVSIEJZIChDQVNTQU5EUkEtODI4NikKICogRGlzYWJsZSBTU0x2MyBmb3IgUE9PRExFIChDQVNTQU5EUkEtODLvxdaaAAmMim9O62AAAAFP3jyyXAAQYWdlIHdpdGhpbiBhIHNpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs1AAAAQBpeCBjb21wYWN0aW9uIG5vdCByZW1vdmluZyBjb2x1bW5zIHdoZW4gYmZfZnBfcmF0aW8gaXMgMSAoQ0FTU0FORFJBLTUxODIpCiAqIGNsaTogV2FybiBhYm91dCBtaXNzaW5nIENRTDMgdGFibGVzIGluIHNjaGVtYSBkZXNjcmlwdGlvbnMgKENBU1NBTkRSQS01MzA5KQogKiBSZS1lbmFibGUgdW5rbm93biBvcHRpb24gaW4gcmVwbGljYXRpb24vY29tcGFjdGlvbiBzdHJhdGVnaWVzIG9wdGlvbiBmb3IKICAgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAo15/DsQAAAU/ePLJcABA3MDg4KQogKiBjcWxzaCBjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzUAAABAGZmZXIgc2l6ZXMgKENBU1NBTkRSQS0zMTcxKQogKiBQbHVnZ2FibGUgY29tcGFjdGlvbiBzdHJhdGVneSAoQ0FTU0FORFJBLTE2MTApCiAqIEFkZCBuZXcgYnJvYWRjYXN0X2FkZHJlc3MgY29uZmlnIG9wdGlvbiAoQ0FTU0FORFJBLTI0OTEpCgoKMC44LjcKICogS2lsbCBzZXJ2ZXIgb24gd3JhcHBlZCBPT01FIHN1Y2ggYXMgZnJvbSBGaWxlQ2hhbm5lbC5tYXAgKENBU1NBTkRSQS0zMjAxKQogKiBBbGxvdyB1c2luZyBxdW90ZXMgaW4gIlVTRSA8a2Xy7/RsAAABT948slwAEEV4Y2VwdGlvbiBkdXJpbmcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNQAAAEAUkEtODE4MikKICogU2h1dGRvd24gSlZNIG9uIGZpbGUgZGVzY3JpcHRvciBleGhhdXN0aW9uIChDQVNTQU5EUkEtNzU3OSkKICogQWRkICdkaWUnIHBvbGljeSBmb3IgY29tbWl0IGxvZyBhbmQgZGlzayBmYWlsdXJlIChDQVNTQU5EUkEtNzkyNykKICogRml4IGluc3RhbGxpbmcgYXMgc2VydmljZSBvbiBXaW5kb3dzIChDQVNTQU5EUkEtODExNSkKICogRml4IENSRUFURSBUQUJMRSBmb3IgQ1FMMiAoQ0FTU0FORFJBLTgxNDQpCiAqIEF2b2lkIGJveMgLIaEAAAFP3jyyXAAQKiBBZGQgU25hcHNob3RDbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs1AAAAQByYWwgdGlja2V0cykKICogSGludGVkIEhhbmRvZmYgZml4ZXMgKHNldmVyYWwgdGlja2V0cykKICogQWRkIGtleSBjYWNoZSB0byBpbXByb3ZlIHJlYWQgcGVyZm9ybWFuY2UgKENBU1NBTkRSQS00MjMpCiAqIFNpbXBsaWZpZWQgY29uc3RydWN0aW9uIG9mIGN1c3RvbSBSZXBsaWNhdGlvblN0cmF0ZWd5IGNsYXNzZXMKICAgKENBU1NBTkRSQS00OTcpCiAqIEdyYXBoaWNhbCBhcHBsaWNhdGlvbiAoU3dpbmcpIGZvciByaW5nIGludGVncml0eSB2ZXJpyZ9PogAAAU/ePLJcABAgaW5kZXggd2hlbiBsaW1pAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzUAAABAEEtNTE3MikKICogY2xpOiBRdW90ZSBrcyBhbmQgY2YgbmFtZXMgaW4gc2NoZW1hIG91dHB1dCB3aGVuIG5lZWRlZCAoQ0FTU0FORFJBLTUwNTIpCiAqIEZpeCBjZiBuYW1lIGV4dHJhY3Rpb24gZnJvbSBtYW5pZmVzdCBpbiBEaXJlY3Rvcmllcy5taWdyYXRlRmlsZSgpIChDQVNTQU5EUkEtNTI0MikKICogUmVwbGFjZSBtaXN0YWtlbiB1c2FnZSBvZiBjb21tb25zLWxvZ2dpbmcgd2l0aCBzbGY0aiAoQ0FTU0FORFJBLTU0NjQpCiAqIEVuc3VyZSBKYWPfsqmmAAABT948slwAEGl0bG9nIHNlZ21lbnQgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNQAAAEAZXRzIHdoZW4gY29ubmVjdGlvbiBpcyBicm9rZW4gKENBU1NBTkRSQS0xNTI4KQogKiBSUE0gcGFja2FnaW5nIHNwZWMgZmlsZSAoQ0FTU0FORFJBLTc4NikKICogd2VpZ2h0ZWQgcmVxdWVzdCBzY2hlZHVsZXIgKENBU1NBTkRSQS0xNDg1KQogKiB0cmVhdCBleHBpcmVkIGNvbHVtbnMgYXMgZGVsZXRlZCAoQ0FTU0FORFJBLTE1MzkpCiAqIG1ha2UgSW5kZXhJbnRlcnZhbCBjb25maWd1cmFibGUgKENBU1NBTkRSQS0xNDg4KQogKiBhZGQgZGVzY3JpYhcYJ58AAAFP3jyyXAAQRFJBLTcwNzMpCiAqIFJlLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs1AAAAQBlIGV4cGlyaW5nLT5kZWxldGVkIChjZWxsKSBjb21wYWN0aW9uIG9wdGltaXphdGlvbiAoQ0FTU0FORFJBLTY4NDQpCiAqIEZpeCBDb21wYWN0aW9uTWFuYWdlci5uZWVkc0NsZWFudXAgKENBU1NBTkRSQS02ODQ1KQogKiBDb3JyZWN0bHkgY29tcGFyZSBCb29sZWFuVHlwZSB2YWx1ZXMgb3RoZXIgdGhhbiAwIGFuZCAxIChDQVNTQU5EUkEtNjc3OSkKICogUmVhZCBtZXNzYWdlIGlkIGFzIHN0cmluZyBmcm9tIGVhcmxpZXIgdmVyc2lvbnMgKENBU1NBKGWbbQAAAU/ePLJcABBlcGFpciAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzUAAABAChDQVNTQU5EUkEtNjQ3MykKICogT21pdCB0b21ic3RvbmVzIGZyb20gc2NoZW1hIGRpZ2VzdHMgKENBU1NBTkRSQS02ODYyKQogKiBJbmNsdWRlIGNvcnJlY3QgY29uc2lzdGVuY3lMZXZlbCBpbiBMV1QgdGltZW91dCAoQ0FTU0FORFJBLTY4ODQpCiAqIExvd2VyIGNoYW5jZXMgZm9yIGxvc2luZyBuZXcgU1NUYWJsZXMgZHVyaW5nIG5vZGV0b29sIHJlZnJlc2ggYW5kCiAgIENvbHVtbkZhbWlseVN0b3JlLmxvYWROZXdTU1RhYmxlcyAoQ0FTU0FORFJ8lZ+eAAABT948slwAEG90IHBhcnQgb2YgdGhlIAoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNQAAAEAU1NBTkRSQS00MTgpCiAqIHJlamVjdCBtZXRob2QgY2FsbHMgd2l0aCBudWxsIHBhcmFtZXRlcnMgKENBU1NBTkRSQS0zMDgpCiAqIHByb3Blcmx5IG9yZGVyIHJhbmdlcyBpbiBub2RlcHJvYmUgb3V0cHV0IChDQVNTQU5EUkEtNDIxKQogKiBmaXggbG9nZ2luZyBvZiBjZXJ0YWluIGVycm9ycyBvbiBleGVjdXRvciB0aHJlYWRzIChDQVNTQU5EUkEtNDI1KQoKCjAuNC4wIFJDMQogKiBCb290c3RyYXAgZmVhdHVyZSBpcyBsaXZlOyB1c2UgLWIgb24gc2H+KQIAAAFP3jyyXAAQdGVkIG9wIHJhdGUgZnJvbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs1AAAAQAgQ29sdW1uRmFtaWx5IAogICAoQ0FTU0FORFJBLTM1NzMpCiAqIENoZWNrIGZvciAwLjAuMC4wIGlzIGluY29ycmVjdCBpbiBDRklGIChDQVNTQU5EUkEtMzU4NCkKICogSW5jcmVhc2Ugdm0ubWF4X21hcF9jb3VudCBpbiBkZWJpYW4gcGFja2FnaW5nIChDQVNTQU5EUkEtMzU2MykKICogZ29zc2lwZXIgd2lsbCBuZXZlciBhZGQgaXRzZWxmIHRvIHNhdmVkIGVuZHBvaW50cyAoQ0FTU0FORFJBLTM0ODUpCgoKMS4wLjUKICogcmV2ZXJ0IENBU1NBTkRS/XiPWQAAAU/ePLJcABAgTlBFIGR1cmluZyBDRlMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzUAAABAGhlbWEgZGlnZXN0cyAoQ0FTU0FORFJBLTY4NjIpCiAqIEluY2x1ZGUgY29ycmVjdCBjb25zaXN0ZW5jeUxldmVsIGluIExXVCB0aW1lb3V0IChDQVNTQU5EUkEtNjg4NCkKICogTG93ZXIgY2hhbmNlcyBmb3IgbG9zaW5nIG5ldyBTU1RhYmxlcyBkdXJpbmcgbm9kZXRvb2wgcmVmcmVzaCBhbmQKICAgQ29sdW1uRmFtaWx5U3RvcmUubG9hZE5ld1NTVGFibGVzIChDQVNTQU5EUkEtNjUxNCkKICogQWRkIHN1cHBvcnQgZm9yIERFTEVURSAuLi4gSUYgRVjxlNmnAAABT948slwAEENGIChDQVNTQU5EUkEtNjMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNQAAAEAcGxlIChjb21tYS1kZWxpbWl0ZWQpIGNvb3JkaW5hdG9yIGFkZHJlc3NlcwogICB0byBDb2x1bW5GYW1pbHlJbnB1dEZvcm1hdCAoQ0FTU0FORFJBLTI4MDcpCiAqIGZpeCBwb3RlbnRpYWwgTlBFIHdoaWxlIHNjaGVkdWxpbmcgcmVhZCByZXBhaXIgZm9yIHJhbmdlIHNsaWNlCiAgIChDQVNTQU5EUkEtMjgyMykKICogRml4IHJhY2UgaW4gU3lzdGVtVGFibGUuZ2V0Q3VycmVudExvY2FsTm9kZUlkIChDQVNTQU5EUkEtMjgyNCkKICogQ29ycmVjdGx5IJonPhUAAAFP3jyyXAAQIGluIENMSSAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs1AAAAQBhbGx5IHVzZSBub24tbG9jYWwgcmVwbGljYXMgaW4gQ3FsQ29uZmlnSGVscGVyIChDQVNTQU5EUkEtNzkwNikKICogRXhwbGljaXRseSBkaXNhbGxvdyBtaXhpbmcgbXVsdGktY29sdW1uIGFuZCBzaW5nbGUtY29sdW1uCiAgIHJlbGF0aW9ucyBvbiBjbHVzdGVyaW5nIGNvbHVtbnMgKENBU1NBTkRSQS03NzExKQogKiBCZXR0ZXIgZXJyb3IgbWVzc2FnZSB3aGVuIGNvbmRpdGlvbiBpcyBzZXQgb24gUEsgY29sdW1uIChDQVNTQU5EUkEtNzgwNCkKICogzDPxRAAAAU/ePLJcABBBTkRSQS00ODAxKQogKiBGAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzUAAABAChDQVNTQU5EUkEtNzI3MCkKICogRml4IHBvdGVudGlhbCBDbGFzc0Nhc3RFeGNlcHRpb24gaW4gSGludGVkSGFuZG9mZk1hbmFnZXIgKENBU1NBTkRSQS03Mjg0KQogKiBVc2UgcHJlcGFyZWQgc3RhdGVtZW50cyBpbnRlcm5hbGx5IChDQVNTQU5EUkEtNjk3NSkKICogRml4IGJyb2tlbiBwYWdpbmcgc3RhdGUgd2l0aCBwcmVwYXJlZCBzdGF0ZW1lbnQgKENBU1NBTkRSQS03MTIwKQogKiBGaXggSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIGluIENxbFMZLM6iAAABT948slwAEHMgYXJlIHJldHVybmVkICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNQAAAEAZWQgYmFjayB0byBpdCAoQ0FTU0FORFJBLTE2NjYpCgoKMC43LWJldGEyCiAqIGFsd2F5cyB1c2UgVVRGLTggZm9yIGhpbnQga2V5cyAoQ0FTU0FORFJBLTE0MzkpCiAqIHJlbW92ZSBjYXNzYW5kcmEueWFtbCBkZXBlbmRlbmN5IGZyb20gSGFkb29wIGFuZCBQaWcgKENBU1NBRFJBLTEzMjIpCiAqIGV4cG9zZSBDZkRlZiBtZXRhZGF0YSBpbiBkZXNjcmliZV9rZXlzcGFjZXMgKENBU1NBTkRSQS0xMzYzKQogKiByZXN0b3JlIHVzZSBvZiBtbWFwX2luZL2Nt7QACaDnVyz5kgAAAU/ePLJcABBuZ2VUb21ic3RvbmVMaXN0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzWAAABAChDQVNTQU5EUkEtMzM4NykKICogdG9sZXJhdGUgaW5kZXggYmVpbmcgZHJvcHBlZCBtaWQtbXV0YXRpb24gKENBU1NBTkRSQS0zMzM0LCAzMzEzKQogKiBDb21wYWN0aW9uTWFuYWdlciBpcyBub3cgcmVzcG9uc2libGUgZm9yIGNoZWNraW5nIGZvciBuZXcgY2FuZGlkYXRlcwogICBwb3N0LXRhc2sgZXhlY3V0aW9uLCBlbmFibGluZyBtb3JlIGNvbnNpc3RlbnQgbGV2ZWxlZCBjb21wYWN0aW9uIAogICAoQ0FTU0FORFJBLTMzOTEpCiAqIENhY2hlIEiSkFQQAAABT948slwAEGFsIHRocmlmdCBjb25uZWMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNYAAAEANjQ0KQogKiB1cGdyYWRlIHRvIFRocmlmdCAwLjUgKENBU1NBTkRSQS0xMzY3KQogKiByZW5hbWVkIENMLkRDUVVPUlVNIHRvIExPQ0FMX1FVT1JVTSBhbmQgRENRVU9SVU1TWU5DIHRvIEVBQ0hfUVVPUlVNCiAqIGNsaSB0cnVuY2F0ZSBzdXBwb3J0IChDQVNTQU5EUkEtMTY1MykKICogdXBkYXRlIEdDIHNldHRpbmdzIGluIGNhc3NhbmRyYS5iYXQgKENBU1NBTkRSQS0xNjM2KQogKiBhdm9pZCBsb2dnaW5nIHdoZW4gYSBub2RlJ3MgaXAvdG9rZW4gaZNywmEAAAFP3jyyXAAQRmFtaWx5UmVjb3JkV3JpdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs1gAAAQBDUUwzLWJldGEgc3VwcG9ydCAoQ0FTU0FORFJBLTU1ODUpCiAqIFRyYWNrIG1heC9taW4gY29sdW1uIG5hbWVzIGluIHNzdGFibGVzIHRvIGJlIGFibGUgdG8gb3B0aW1pemUgc2xpY2UKICAgcXVlcmllcyAoQ0FTU0FORFJBLTU1MTQsIENBU1NBTkRSQS01NTk1LCBDQVNTQU5EUkEtNTYwMCkKICogQmluYXJ5IHByb3RvY29sOiBhbGxvdyBiYXRjaGluZyBhbHJlYWR5IHByZXBhcmVkIHN0YXRlbWVudHMgKENBU1NBTkRSQS00NjkzKQogKiBBbGxvdyBwOfrkHwAAAU/ePLJcABBsZXMgKENBU1NBTkRSQS0xAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzWAAABAHZlIHZlcnNpb24gd2hlbiBzdHJlYW1pbmcgZGF0YSBmcm9tIG9sZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTIyODMpCiAqIGRvbid0IHN0YXJ0IHJlcGFpciBpZiBhIG5laWdoYm9yaW5nIG5vZGUgaXMgbWFya2VkIGFzIGRlYWQgKENBU1NBTkRSQS0yMjkwKQogKiBwdXJnZSB0b21ic3RvbmVzIGZyb20gcm93IGNhY2hlIChDQVNTQU5EUkEtMjMwNSkKICogQXZvaWQgc2Vla2luZyB3aGVuIHNzdGFibGUyanNvbiBleHBvcnRzIHRoZSBlbnRpcmUgZmlsZSC+4lP0AAABT948slwAEGUgdGhlIGNhc3NhbmRyYS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNYAAAEARFJBLTY2MykKICogaW5jcmVhc2UgZGVmYXVsdCBjb21taXRsb2cgc3luYyBwZXJpb2QsIGFuZCB3YWl0IGZvciBsYXN0IHN5bmMgdG8gCiAgIGZpbmlzaCBiZWZvcmUgc3VibWl0dGluZyBhbm90aGVyIChDQVNTQU5EUkEtNjY4KQoKCjAuNS4wIFJDMQogKiBGaXggcG90ZW50aWFsIE5QRSBpbiBnZXRfcmFuZ2Vfc2xpY2UgKENBU1NBTkRSQS02MjMpCiAqIGFkZCBDUkMzMiB0byBjb21taXRsb2cgZW50cmllcyAoQ0FTU0FORFJBLTYwNSkKICogZml4ICSO+vYAAAFP3jyyXAAQVAogICBpcyBtb2RpZmllZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs1gAAAQBnIGV4cGlyZWQgcm93IHZhbHVlIGZyb20gcm93IGNhY2hlIChDQVNTQU5EUkEtNjMyNSkKICogRml4IEFzc2VydGlvbkVycm9yIHdoZW4gZG9pbmcgc2V0IGVsZW1lbnQgZGVsZXRpb24gKENBU1NBTkRSQS02MzQxKQogKiBNYWtlIENMIGNvZGUgZm9yIHRoZSBuYXRpdmUgcHJvdG9jb2wgbWF0Y2ggdGhlIG9uZSBpbiBDKiAyLjAKICAgKENBU1NBTkRSQS02MzQ3KQogKiBEaXNhbGxvdyBhbHRlcmluZyBDUUwzIHRhYmxlIGZyb20gdGhyaWZ0IChDQVNTVpTYxgAAAU/ePLJcABB0aGF0IGZhaWxlZCB0byBqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzWAAABAHV0L291dHB1dCBmb3JtYXRzIChDQVNTQU5EUkEtNDQyMSwgNTYyMikKICogKEhhZG9vcCkgRml4IElucHV0S2V5UmFuZ2UgaW4gQ0ZJRiAoQ0FTU0FORFJBLTU1MzYpCiAqIEZpeCBkZWFsaW5nIHdpdGggcmlkaWN1bG91c2x5IGxhcmdlIG1heCBzc3RhYmxlIHNpemVzIGluIExDUyAoQ0FTU0FORFJBLTU1ODkpCiAqIElnbm9yZSBwcmUtdHJ1bmNhdGUgaGludHMgKENBU1NBTkRSQS00NjU1KQogKiBNb3ZlIFN5c3RlbS5leGl0IG9uIE9PTSBpbnRvIGHqOc35AAABT948slwAEAogKiBBZGQgImNvbW1lbnQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNYAAAEAQVNTQU5EUkEtNDYyNikKCgoxLjEuNAogKiBmaXggb2ZmbGluZSBzY3J1YiB0byBjYXRjaCA+PSBvdXQgb2Ygb3JkZXIgcm93cyAoQ0FTU0FORFJBLTQ0MTEpCiAqIGZpeCBjYXNzYW5kcmEtZW52LnNoIG9uIFJIRUwgYW5kIG90aGVyIG5vbi1kYXNoLWJhc2VkIHN5c3RlbXMgCiAgIChDQVNTQU5EUkEtNDQ5NCkKTWVyZ2VkIGZyb20gMS4wOgogKiAoSGFkb29wKSBmaXggc2V0dGluZyBrZXkgbGVuZ3RoIGZvciBvbGQtc3R5bGUgbWFwcmVkIGFwaSAoQ+ytBdQAAAFP3jyyXAAQaXggTnVsbFBvaW50ZXJFeAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs1gAAAQBBU1NBTkRSQS03NjkpCgoKMC42LjAtYmV0YTEvYmV0YTIKICogYWRkIGJhdGNoX211dGF0ZSB0aHJpZnQgY29tbWFuZCwgZGVwcmVjYXRpbmcgYmF0Y2hfaW5zZXJ0IChDQVNTQU5EUkEtMzM2KQogKiByZW1vdmUgZ2V0X2tleV9yYW5nZSBUaHJpZnQgQVBJLCBkZXByZWNhdGVkIGluIDAuNSAoQ0FTU0FORFJBLTcxMCkKICogYWRkIG9wdGlvbmFsIGxvZ2luKCkgVGhyaWZ0IGNhbGwgZm9yIGF1dGhlbnRpY2F0aW9uIChDQVNTQU5EUkEtNTQ3KQogKiBzAmT4tgAAAU/ePLJcABBvdmVyIHBvcHVsYXRlX2lvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzWAAABACBvZiBTdHJlYW1pbmcgc3lzdGVtIChDQVNTQU5EUkEtMTUwMywgMTUwNCwgMTUwNikKICogYWRkIG9wdGlvbnMgdG8gY29uZmlndXJlIFRocmlmdCBzb2NrZXQga2VlcGFsaXZlIGFuZCBidWZmZXIgc2l6ZXMgKENBU1NBTkRSQS0xNDI2KQogKiBtYWtlIGNvbnRyaWIgQ2Fzc2FuZHJhU2VydmljZURhdGFDbGVhbmVyIHJlY3Vyc2l2ZSAoQ0FTU0FORFJBLTE1MDkpCiAqIG1pbiwgbWF4IGNvbXBhY3Rpb24gdGhyZXNob2xkIGFyZSBjb25maWd1cmFibGXn/AvTAAABT948slwAECB0byBhY2NlcHQgc3RhcnQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNYAAAEAICogTXVsdGktdGhyZWFkZWQgc2NydWIvY2xlYW51cC91cGdyYWRlc3N0YWJsZXMgKENBU1NBTkRSQS01NTQ3KQogKiBPcHRpbWl6ZSBjZWxsbmFtZSBjb21wYXJpc29uIChDQVNTQU5EUkEtNjkzNCkKICogTmF0aXZlIHByb3RvY29sIHYzIChDQVNTQU5EUkEtNjg1NSkKICogT3B0aW1pemUgQ2VsbCBsaXZlbmVzcyBjaGVja3MgYW5kIGNsZWFuIHVwIENlbGwgKENBU1NBTkRSQS03MTE5KQogKiBTdXBwb3J0IGNvbnNpc3RlbnQgcmFuZ2UgbW92ZW1lbkh4V1cAAAFP3jyyXAAQIHByZWhlYXRpbmcgKGRpcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs1gAAAQByb3cgKENBU1NBTkRSQS00NDExKQogKiBmaXggIkNhbid0IE1vZGlmeSBJbmRleCBOYW1lIiBwcm9ibGVtIG9uIENGIHVwZGF0ZSAoQ0FTU0FORFJBLTQ0MzkpCiAqIEZpeCBhc3NlcnRpb24gZXJyb3IgaW4gZ2V0T3ZlcmxhcHBpbmdTU1RhYmxlcyBkdXJpbmcgcmVwYWlyIChDQVNTQU5EUkEtNDQ1NikKICogZml4IG5vZGV0b29sJ3Mgc2V0Y29tcGFjdGlvbnRocmVzaG9sZCBjb21tYW5kIChDQVNTQU5EUkEtNDQ1NSkKICogRW5zdXJlIGNvbXBhY3RlTMle6QAAAU/ePLJcABBBTkRSQS04NDIxKQogKiBFAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzWAAABAGIgY29tcHJlc3Npb24gb3B0aW9ucyAoQ0FTU0FORFJBLTM0OTIpCk1lcmdlZCBmcm9tIDAuODoKICogZml4IHVwZGF0aW5nIENGIHJvd19jYWNoZV9wcm92aWRlciAoQ0FTU0FORFJBLTM0MTQpCiAqIENGTWV0YURhdGEuY29udmVydFRvVGhyaWZ0IG1ldGhvZCB0byBzZXQgUm93Q2FjaGVQcm92aWRlciAoQ0FTU0FORFJBLTM0MDUpCiAqIGFjcXVpcmUgY29tcGFjdGlvbmxvY2sgZHVyaW5nIHRydW5jYXRlIChDQVNTQU5EUkEtMzM5OSkKICogZml4IGQR/lt4AAABT948slwAEG1pbHkgYmVmb3JlIHRydW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNYAAAEAYXRlIG1lbXRhYmxlX3Rocm91Z2hwdXQgdG8gYmUgYSBsb25nIChDQVNTQU5EUkEtMjE1OCkKCgowLjcuMwogKiBLZWVwIGVuZHBvaW50IHN0YXRlIHVudGlsIGFWZXJ5TG9uZ1RpbWUgKENBU1NBTkRSQS0yMTE1KQogKiBsb3dlci1sYXRlbmN5IHJlYWQgcmVwYWlyIChDQVNTQU5EUkEtMjA2OSkKICogYWRkIGhpbnRlZF9oYW5kb2ZmX3Rocm90dGxlX2RlbGF5X2luX21zIG9wdGlvbiAoQ0FTU0FORFJBLTIxNjEpCiAqIGZpeGVzIGZvciBjYWNoZSBzYTL/FRsAAAFP3jyyXAAQSVNUIFVTRVJTIG91dHB1dAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs1gAAAQBlIElBdXRob3JpdHkgd2l0aCBuZXcgSUF1dGhvcml6ZXIgKENBU1NBTkRSQS00ODc0KQogKiBjbHFzaDogZml4IEtFWSBwc2V1ZG9jb2x1bW4gZXNjYXBpbmcgd2hlbiBkZXNjcmliaW5nIFRocmlmdCB0YWJsZXMKICAgaW4gQ1FMMyBtb2RlIChDQVNTQU5EUkEtNDk1NSkKICogYWRkIGJhc2ljIGF1dGhlbnRpY2F0aW9uIHN1cHBvcnQgZm9yIFBpZyBDYXNzYW5kcmFTdG9yYWdlIChDQVNTQU5EUkEtMzA0MikKICogZml4IENRTDIgQUxURVIgVEFCTEUg1JgAZgAJtURdHo/ZAAABT948slwAEHN0ZXIgbG9hZCBiYWxhbmMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNgAAAEAbiB0aGUgSlZNIHB1bGxzIHRoZSBydWcgb3V0IGZyb20gR0NJbnNwZWN0b3IgKENBU1NBTkRSQS01MzQ1KQogKiBjcWxzaCBmYWlscyB3aGVuIHZlcnNpb24gbnVtYmVyIHBhcnRzIGFyZSBub3QgaW50IChDQVNTQU5EUkEtNzUyNCkKICogRml4IE5QRSB3aGVuIHRhYmxlIGRyb3BwZWQgZHVyaW5nIHN0cmVhbWluZyAoQ0FTU0FORFJBLTc5NDYpCiAqIEZpeCB3cm9uZyBwcm9ncmVzcyB3aGVuIHN0cmVhbWluZyB1bmNvbXByZXNzZWQgKENBU1NBTkRSQbATnhYAAAFP3jyyXAAQb3cgc28gc2NydWIgY2FuIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs2AAAAQBlbnRzIGZvciBuby1vcCBEREwKICAgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTc2MDApCiAqIChIYWRvb3ApIGZpeCBjbHVzdGVyIGluaXRpYWxpc2F0aW9uIGZvciBhIHNwbGl0IGZldGNoaW5nIChDQVNTQU5EUkEtNzc3NCkKICogVGhyb3cgSW52YWxpZFJlcXVlc3RFeGNlcHRpb24gd2hlbiBxdWVyaWVzIGNvbnRhaW4gcmVsYXRpb25zIG9uIGVudGlyZQogICBjb2xsZWN0aW9uIGNvbHVtbnMgKENBU1NBTkRSQS03NTA2KQogKiAoY3Fsc2gpIGVuYWJsuF0rOgAAAU/ePLJcABB0X2NvdW50IChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzYAAABAGF0aW9uIHRvIERhdGFUcmFja2VyIChDQVNTQU5EUkEtNjAxMCkKICogRml4IHNuYXBzaG90cyBpbiB1c2UgZ2V0IGRlbGV0ZWQgZHVyaW5nIHNuYXBzaG90IHJlcGFpciAoQ0FTU0FORFJBLTYwMTEpCiAqIE1vdmUgaGludHMgYW5kIGV4Y2VwdGlvbiBjb3VudCB0byBvLmEuYy5tZXRyaWNzIChDQVNTQU5EUkEtNjAxNykKICogRml4IG1lbW9yeSBsZWFrIGluIHNuYXBzaG90IHJlcGFpciAoQ0FTU0FORFJBLTYwNDcpCiAqIEZpeCBzc3RhYmxlMnNqb27rxv2CAAABT948slwAEGQpCiAqIGZpeCBidWdzIGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNgAAAEAYWN0b3Igc3RyYXRlZ3lfb3B0aW9uIGZvciBOVFMgKENBU1NBTkRSQS0zMDExKQogKiBtYWtlIHN1cmUgcHJlLXRydW5jYXRlIENMIHNlZ21lbnRzIGFyZSBkaXNjYXJkZWQgKENBU1NBTkRSQS0yOTUwKQoKCjAuOC4zCiAqIGFkZCBhYmlsaXR5IHRvIGRyb3AgbG9jYWwgcmVhZHMvd3JpdGVzIHRoYXQgYXJlIGdvaW5nIHRvIHRpbWVvdXQKICAgKENBU1NBTkRSQS0yOTQzKQogKiByZXZhbXAgdG9rZW4gcmVtb3ZhbCBwcm9jZXNzLCBrZWVwIGdvc3NpcKESwXoAAAFP3jyyXAAQQ0FTU0FORFJBLTY5NikKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs2AAAAQAndCBhbHdheXMgd29yayBhcyBleHBlY3RlZCAoQ0FTU0FORFJBLTY4NzMpCiAqIEZpeCBwYWdpbmcgd2l0aCBTRUxFQ1QgRElTVElOQ1QgKENBU1NBTkRSQS02ODU3KQogKiBGaXggVW5zdXBwb3J0ZWRPcGVyYXRpb25FeGNlcHRpb24gb24gQ0FTIHRpbWVvdXQgKENBU1NBTkRSQS02OTIzKQogKiBJbXByb3ZlIE1ldGVyZWRGbHVzaGVyIGhhbmRsaW5nIG9mIE1GLXVuYWZmZWN0ZWQgY29sdW1uIGZhbWlsaWVzCiAgIChDQVNTQU5EUkEtNjg2NykKICogjcWYkgAAAU/ePLJcABAsIDhHQikpCiAgIChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzYAAABAEEtNzU2OSkKICogU1NUYWJsZUV4cG9ydCB1c2VzIGNvcnJlY3QgdmFsaWRhdG9yIHRvIGNyZWF0ZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgcGFydGl0aW9uCiAgIGtleXMgKENBU1NBTkRSQS03NDk4KQogKiBBdm9pZCBOUEVzIHdoZW4gcmVjZWl2aW5nIHR5cGUgY2hhbmdlcyBmb3IgYW4gdW5rbm93biBrZXlzcGFjZSAoQ0FTU0FORFJBLTc2ODkpCiAqIEFkZCBzdXBwb3J0IGZvciBjdXN0b20gMmkgdmFsaWRhdGlvbiAoQ0FTU0FORFJBLTc1NzUGgvCrAAABT948slwAEDc0NSkKICogRml4IG1pc3UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNgAAAEAZ2Vfc2xpY2Ugd2hlbiBubyBkYXRhIGlzIGZvdW5kIChDQVNTQU5EUkEtNTc4KQogKiBmaXggcG90ZW50aWFsIE5QRSBpbiBoaW50ZWQgaGFuZG9mZiAoQ0FTU0FORFJBLTU4NSkKICogZml4IGNsZWFudXAgb2YgbG9jYWwgInN5c3RlbSIga2V5c3BhY2UgKENBU1NBTkRSQS01NzYpCiAqIGltcHJvdmUgY29tcHV0YXRpb24gb2YgY2x1c3RlciBsb2FkIGJhbGFuY2UgKENBU1NBTkRSQS01NTQpCiAqIGFkZGVkIHN1cGVyIGNvbHVtbiByZWFkL3dyaXRlLMOuZZcAAAFP3jyyXAAQRFJBLTUyMDIpCiAqIE5ldwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs2AAAAQAxNDAzKQogKiBsZXNzIGNoYXR0eSBzY2hlbWEgdXBkYXRlcyAoQ0FTU0FORFJBLTEzODkpCiAqIHJlbmFtZSBjb2x1bW4gZmFtaWx5IG1iZWFucy4gJ3R5cGUnIHdpbGwgbm93IGluY2x1ZGUgZWl0aGVyIAogICAnSW5kZXhDb2x1bW5GYW1pbGllcycgb3IgJ0NvbHVtbkZhbWlsaWVzJyBkZXBlbmRpbmcgb24gdGhlIENGUyB0eXBlLgogICAoQ0FTU0FORFJBLTEzODUpCiAqIGRpc2FsbG93IGludmFsaWQga2V5c3BhY2UgYW5kIGNvbHVtbiBmYW1pbHkgaBce6gAAAU/ePLJcABBTQU5EUkEtNDM2KQogKiBhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzYAAABAG5kZXggc2NhbiByb3V0aW5nIChDQVNTQU5EUkEtMTcyMikKICogZml4IHRvbWJzdG9uaW5nIG9mIHN1cGVyY29sdW1ucyBpbiByYW5nZSBxdWVyaWVzIChDQVNTQU5EUkEtMTczNCkKICogY2xlYXIgZW5kcG9pbnQgY2FjaGUgYWZ0ZXIgdXBkYXRpbmcga2V5c3BhY2UgbWV0YWRhdGEgKENBU1NBTkRSQS0xNzQxKQogKiBmaXggd3JhcHBpbmctcmFuZ2UgcXVlcmllcyBvbiBub24tbWluaW11bSB0b2tlbiAoQ0FTU0FORFJBLTE3MDApCiAqIHRydW5jYXRNy3eSAAABT948slwAECBhc3NlcnRpb24gZXJyb3IAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNgAAAEAbmcgYm9vc3RyYXBwaW5nIChDQVNTQU5EUkEtMzYyOSkKICogQ2F0Y2ggb3ZlcmZsb3dzIGR1cmluZyBwYXJzaW5nIG9mIGNodW5rX2xlbmd0aF9rYiAoQ0FTU0FORFJBLTM2NDQpCiAqIEltcHJvdmUgc3RyZWFtIHByb3RvY29sIG1pc21hdGNoIGVycm9ycyAoQ0FTU0FORFJBLTM2NTIpCiAqIEF2b2lkIG11bHRpcGxlIHRocmVhZCBkb2luZyBISCB0byB0aGUgc2FtZSB0YXJnZXQgKENBU1NBTkRSQS0zNjgxKQogKiBBZGQgSk1YIHByb3BlcnR5IGZvcjSUCZwAAAFP3jyyXAAQIHVua25vd24gb3B0aW9uIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs2AAAAQAgZnJvbSBkZWxldmVyeSBxdWV1ZSBpbiBISCAoQ0FTU0FORFJBLTM1NDYpCiAqIGZpeCByYWNlIGJldHdlZW4gY2YgZmx1c2ggYW5kIGl0cyAybmRhcnkgaW5kZXhlcyBmbHVzaCAoQ0FTU0FORFJBLTM1NDcpCiAqIGZpeCBwb3RlbnRpYWwgcmFjZSBpbiBBRVMgd2hlbiBhIHJlcGFpciBmYWlscyAoQ0FTU0FORFJBLTM1NDgpCiAqIGZpeCBkZWZhdWx0IHZhbHVlIHZhbGlkYXRpb24gdXNhZ2UgaW4gQ0xJIFNFVCBjb21tYW5kIChDQVNTQU5EUkEtMzU1EcZqMQAAAU/ePLJcABBuVHlwZSAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzYAAABACAgIGFyZSBub3cgb2YgQ29sdW1uT3JTdXBlckNvbHVtbi4KICAgIC0gU2ltaWxhcmx5LCBtZXJnZWQgYmF0Y2hfaW5zZXJ0X3N1cGVyIGludG8gYmF0Y2hfaW5zZXJ0LgoKCgowLjQuMCBiZXRhCiAqIE9uLWRpc2sgZGF0YSBmb3JtYXQgaGFzIGNoYW5nZWQgdG8gYWxsb3cgYmlsbGlvbnMgb2Yga2V5cy9yb3dzIHBlcgogICBub2RlIGluc3RlYWQgb2Ygb25seSBtaWxsaW9ucwogKiBNdWx0aS1rZXlzcGFjZSBzdXBwb3J0CiAqIFNjYW4gYWxsIHNzdGGFw/GAAAABT948slwAEHNvdXJjZSB0cmVlIGFuZCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNgAAAEAYWN0aW9uIGNoZWNrIChDQVNTQU5EUkEtNzc0NSkKICogRG9uJ3QgY2xlYXIgb3V0IHJhbmdlIHRvbWJzdG9uZXMgZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS03ODA4KQoKCjIuMS4wLXJjMQogKiBSZXZlcnQgZmx1c2ggZGlyZWN0b3J5IChDQVNTQU5EUkEtNjM1NykKICogTW9yZSBlZmZpY2llbnQgZXhlY3V0b3Igc2VydmljZSBmb3IgZmFzdCBvcGVyYXRpb25zIChDQVNTQU5EUkEtNDcxOCkKICogTW92ZSBsZXNzIGNvbW1vbiB0b29scyBpbl2sBkMAAAFP3jyyXAAQU1NBTkRSQS01MDc4KQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs2AAAAQB1bHRzIChDQVNTQU5EUkEtMzc3MSkKICogKGNxbDMpIEZpeCBkcm9wIGluZGV4IChDQVNTQU5EUkEtNDE5MikKICogKGNxbDMpIERvbid0IHJldHVybiByYW5nZSBnaG9zdHMgYW55bW9yZSAoQ0FTU0FORFJBLTM5ODIpCiAqIGZpeCByZS1jcmVhdGluZyBLZXlzcGFjZXMvQ29sdW1uRmFtaWxpZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIGRyb3BwZWQKICAgb25lcyAoQ0FTU0FORFJBLTQyMTkpCiAqIGZpeCBTZWNvbmRhcnlJbmRleCBMZXZlbGVkTWFuLcanRwAAAU/ePLJcABAgRml4IGJ1ZyB3aGVyZSB0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzYAAABACBrZXlzICh0aGlzIGJyZWFrcyBOVFMpIChDQVNTQU5EUkEtNTI5MikKICogRml4IGNvbXBvc2l0ZSBjb21wYXJhdG9yIHdpdGggc3VwZXIgY29sdW1ucyAoQ0FTU0FORFJBLTUyODcpCiAqIEZpeCBpbnN1ZmZpY2llbnQgdmFsaWRhdGlvbiBvZiBVUERBVEUgcXVlcmllcyBhZ2FpbnN0IGNvdW50ZXIgY2ZzCiAgIChDQVNTQU5EUkEtNTMwMCkKICogRml4IFByb3BlcnR5RmlsZVNuaXRjaCBkZWZhdWx0IERDL1JhY2sgYmVoYXZpb3IgKENBU1NBTkRSQS3Kn7dgAAnJoSV0m58AAAFP3jyyXAAQKiBmaXggYXNzZXJ0aW9uIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs2wAAAQByZWFtaW5nCiAgIChDQVNTQU5EUkEtNDE3NCkKICogYWRkIC1jZiBvcHRpb24gdG8gbm9kZXRvb2wgc25hcHNob3QsIGFuZCB0YWtlQ29sdW1uRmFtaWx5U25hcHNob3QgdG8KICAgU3RvcmFnZVNlcnZpY2UgbWJlYW4gKENBU1NBTkRSQS01NTYpCiAqIG9wdGltaXplIGNsZWFudXAgdG8gZHJvcCBlbnRpcmUgc3N0YWJsZXMgd2hlcmUgcG9zc2libGUgKENBU1NBTkRSQS00MDc5KQogKiBvcHRpbWl6ZSB0cnVuY2F0ZSB3aGVuIGF1dG9zbmFwc2hvdCBpdsPFuwAAAU/ePLJcABBldG9vbCBjZnN0YXRzIChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzbAAABACB2YXJpbnQgKENBU1NBTkRSQS04ODgyKQogKiBGaXggQWRsZXIzMiBkaWdlc3QgZm9yIGNvbXByZXNzZWQgc3N0YWJsZXMgKENBU1NBTkRSQS04Nzc4KQogKiBBZGQgbm9kZXRvb2wgc3RhdHVzaGFuZG9mZi9zdGF0dXNiYWNrdXAgKENBU1NBTkRSQS04OTEyKQogKiBVc2Ugc3Rkb3V0IGZvciBwcm9ncmVzcyBhbmQgc3RhdHMgaW4gc3N0YWJsZWxvYWRlciAoQ0FTU0FORFJBLTg5ODIpCiAqIENvcnJlY3RseSBpZGVudGlmeSAyaSBkYXRhZGlyIGZyb23N+WNOAAABT948slwAEHRhYmxlcyBkaXJlY3RseSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNsAAAEAYmF0Y2hfaW5zZXJ0IGFuZCBnZXRfcmFuZ2Vfc2xpY2UgbWV0aG9kcyAoQ0FTU0FORFJBLTEwNjUpCiAqIGFkZCB0cnVuY2F0ZSB0aHJpZnQgbWV0aG9kIChDQVNTQU5EUkEtNTMxKQogKiBodHRwIG1pbmktaW50ZXJmYWNlIHVzaW5nIG14NGogKENBU1NBTkRSQS0xMDY4KQogKiBvcHRpbWl6ZSBhd2F5IGNvcHkgb2Ygc2xpY2VkIHJvdyBvbiBtZW10YWJsZSByZWFkIHBhdGggKENBU1NBTkRSQS0xMDQ2KQogKiByZXBsYWNlIGNvbnN0YW50LXNpemUgMi47xhEAAAFP3jyyXAAQZWQgZGlyZWN0b3JpZXMgdgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs2wAAAQAyMDYpCiAqIEZpeCBkZWFkbG9jayBpbiBjb21taXQgbG9nIGR1cmluZyBmbHVzaCAoQ0FTU0FORFJBLTMyNTMpIAoKCjEuMC4wLWJldGExCiAqIHJlbW92ZWQgYmluYXJ5bWVtdGFibGUgKENBU1NBTkRSQS0yNjkyKQogKiBhZGQgY29tbWl0bG9nX3RvdGFsX3NwYWNlX2luX21iIHRvIHByZXZlbnQgZnJhZ21lbnRlZCBsb2dzIChDQVNTQU5EUkEtMjQyNykKICogcmVtb3ZlZCBjb21taXRsb2dfcm90YXRpb25fdGhyZXNob2xkX2luX21iIGNvbmZpZ3VyCVL97AAAAU/ePLJcABBmYXVsdCBEVENTIGJhc2VfAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzbAAABAGF0aGVyIHRoYW4gdGhlIGNlbGwncyBjb250ZW50cyBmb3IgMmkgKENBU1NBTkRSQS05MDU3KQogKiBBZGQgc3VwcG9ydCBmb3IgdG9wLWsgY3VzdG9tIDJpIHF1ZXJpZXMgKENBU1NBTkRSQS04NzE3KQogKiBGaXggZXJyb3Igd2hlbiBkcm9wcGluZyB0YWJsZSBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTkyNTEpCiAqIGNhc3NhbmRyYS1zdHJlc3Mgc3VwcG9ydHMgdmFsaWRhdGlvbiBvcGVyYXRpb25zIG92ZXIgdXNlciBwcm9maWxlcyAoQ0HHUG2vAAABT948slwAEERSQS02NTczKQogKiBGaXgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNsAAAEAMjoKICogT3B0aW1pemUgRkQgcGhpIGNhbGN1bGF0aW9uIChDQVNTQU5EUkEtNjM4NikKICogSW1wcm92ZSBpbml0aWFsIEZEIHBoaSBlc3RpbWF0ZSB3aGVuIHN0YXJ0aW5nIHVwIChDQVNTQU5EUkEtNjM4NSkKICogRG9uJ3QgbGlzdCBDUUwzIHRhYmxlIGluIENMSSBkZXNjcmliZSBldmVuIGlmIG5hbWVkIGV4cGxpY2l0ZWx5IAogICAoQ0FTU0FORFJBLTU3NTApCiAqIEludmFsaWRhdGUgcm93IGNhY2hlIHdoZW4gZHJvcHBpbmcgQ0YgKENBU1NBTpmgS0gAAAFP3jyyXAAQCiAqIEFkZCBTbmFwc2hvdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs2wAAAQBTU0FORFJBLTU5NjcpCiAqIFVwZ3JhZGUgbWV0cmljcy1jb3JlIHRvIHZlcnNpb24gMi4yLjAgKENBU1NBTkRSQS01OTQ3KQogKiBGaXggQ3FsUmVjb3JkV3JpdGVyIHdpdGggY29tcG9zaXRlIGtleXMgKENBU1NBTkRSQS01OTQ5KQogKiBBZGQgc25pdGNoLCBzY2hlbWEgdmVyc2lvbiwgY2x1c3RlciwgcGFydGl0aW9uZXIgdG8gSk1YIChDQVNTQU5EUkEtNTg4MSkKICogQWxsb3cgZGlzYWJsaW5nIFNsYWJBbGxvY2F0b3IgKENBU1NBTkRSQS01OTM1xdV4FQAAAU/ePLJcABAgY2FuIGJlIGEgcmVhY2hlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzbAAABACBsb2dpbiBmb3IgZGVzY3JpYmVfa2V5c3BhY2UsIGRlc2NyaWJlX2tleXNwYWNlcyBhbmQgc2V0X2tleXNwYWNlCiAgIChDQVNTQU5EUkEtNTE0NCkKICogRml4IGluc2VydGluZyBlbXB0eSBtYXBzIChDQVNTQU5EUkEtNTE0MSkKICogRG9uJ3QgcmVtb3ZlIHRva2VucyBmcm9tIFN5c3RlbSB0YWJsZSBmb3Igbm9kZSB3ZSBrbm93IChDQVNTQU5EUkEtNTEyMSkKICogZml4IHN0cmVhbWluZyBwcm9ncmVzcyByZXBvcnQgZm9yIGNvbXByZXNlZCBmaWw4PifPAAABT948slwAEHNoKSBhZGQgREVTQ1JJQkUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNsAAAEACiAqIGZpeCBkZXNjcmliZU93bmVyc2hpcCBmb3IgT1BQIChDQVNTQU5EUkEtMjgwMCkKICogZW5zdXJlIHRoYXQgc3RyaW5nIHRva2VucyBkbyBub3QgY29udGFpbiBjb21tYXMgKENBU1NBTkRSQS0yNzYyKQoKCjAuOC4wLWZpbmFsCiAqIGZpeCBDUUwgZ3JhbW1hciB3YXJuaW5nIGFuZCBjcWxzaCByZWdyZXNzaW9uIGZyb20gQ0FTU0FORFJBLTI2MjIKICogYWRkIGFudCBnZW5lcmF0ZS1jcWwtaHRtbCB0YXJnZXQgKENBU1NBTkRSQS0yNTI2KQogKq+prPAAAAFP3jyyXAAQRFJBLTQxOTQpCiAqIChjcQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs2wAAAQA0LW9ubHkpIChDQVNTQU5EUkEtNDgwMSkKICogRml4IHJhY2Ugd2hlbiBpbml0aWFsaXppbmcgQ29sdW1uRmFtaWx5U3RvcmUgKENBU1NBTkRSQS01MzUwKQogKiBBZGQgVXNlVExBQiBKVk0gZmxhZyAoQ0FTU0FORFJBLTUzNjEpCgoKMS4yLjIKICogZml4IHBvdGVudGlhbCBmb3IgbXVsdGlwbGUgY29uY3VycmVudCBjb21wYWN0aW9ucyBvZiB0aGUgc2FtZSBzc3RhYmxlcwogICAoQ0FTU0FORFJBLTUyNTYpCiAqIGF2b2lkIG5vLW9wIGNhY2hpbmcgF106VgAAAU/ePLJcABA2MTgxKQogKiAoSGFkb29wAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzbAAABAGUgKENBU1NBTkRSQS0yODgzKQogKiBGaXggYXNzZXJ0aW9uIGVycm9yIGluIFJvd1JlcGFpclJlc29sdmVyIChDQVNTQU5EUkEtMzE1NikKICogUmVkdWNlIHVubmVjZXNzYXJ5IGhpZ2ggYnVmZmVyIHNpemVzIChDQVNTQU5EUkEtMzE3MSkKICogUGx1Z2dhYmxlIGNvbXBhY3Rpb24gc3RyYXRlZ3kgKENBU1NBTkRSQS0xNjEwKQogKiBBZGQgbmV3IGJyb2FkY2FzdF9hZGRyZXNzIGNvbmZpZyBvcHRpb24gKENBU1NBTkRSQS0yNDkxKQoKCjAuOC43CiAg3GHtAAABT948slwAEFJBLTI1MTkpCiAqIHN1cHAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNsAAAEALTU2MTMpCiAqIEVuc3VyZSBjaGFuZ2luZyBjb2x1bW5faW5kZXhfc2l6ZV9pbl9rYiBvbiBkaWZmZXJlbnQgbm9kZXMgZG9uJ3QgY29ycnVwdCB0aGUKICAgc3N0YWJsZSAoQ0FTU0FORFJBLTU0NTQpCiAqIE1vdmUgcmVzdWx0c2V0IHR5cGUgaW5mb3JtYXRpb24gaW50byBwcmVwYXJlLCBub3QgZXhlY3V0ZSAoQ0FTU0FORFJBLTU2NDkpCiAqIEF1dG8gcGFnaW5nIGluIGJpbmFyeSBwcm90b2NvbCAoQ0FTU0FORFJBLTQ0MTUsIDU3MTQpCiAqIERvbkFKDUwAAAFP3jyyXAAQQVNTQU5EUkEtNjMyMikKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs2wAAAQBkIEluZGV4KiBjbGFzc2VzIGludGVybmFsbHkgKENBU1NBTkRSQS01OTcxKQogKiBSZW1vdmUgMS4yIG5ldHdvcmsgY29tcGF0aWJpbGl0eSBjb2RlIChDQVNTQU5EUkEtNTk2MCkKICogUmVtb3ZlIGxldmVsZWQganNvbiBtYW5pZmVzdCBtaWdyYXRpb24gY29kZSAoQ0FTU0FORFJBLTU5OTYpCiAqIFJlbW92ZSBDRkRlZmluaXRpb24gKENBU1NBTkRSQS02MjUzKQogKiBVc2UgQXRvbWljSW50ZWdlckZpZWxkVXBkYXRlciBpbiBSZWZDb3VudGVkTWVtRdK3PQAAAU/ePLJcABAgdGhhdCBhcmUgbm90IHBhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzcAAABAGl0Y2gKICAgKENBU1NBTkRSQS05OTQpCiAqIEFkZGVkIHByZWxvYWRfcm93X2NhY2hlIG9wdGlvbiAoQ0FTU0FORFJBLTk0NikKICogYWRkIENSQyB0byBjb21taXRsb2cgaGVhZGVyIChDQVNTQU5EUkEtOTk5KQogKiByZW1vdmVkIGRlcHJlY2F0ZWQgYmF0Y2hfaW5zZXJ0IGFuZCBnZXRfcmFuZ2Vfc2xpY2UgbWV0aG9kcyAoQ0FTU0FORFJBLTEwNjUpCiAqIGFkZCB0cnVuY2F0ZSB0aHJpZnQgbWV0aG9kIChDQVNTQU5EUkEtNTMxKQogKiBodHRwIG3pA/GyAAABT948slwAEG4gTlRTIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILNwAAAEANjMpCiAqIER1cGxpY2F0ZSByb3dzIHJldHVybmVkIHdoZW4gaW4gY2xhdXNlIGhhcyByZXBlYXRlZCB2YWx1ZXMgKENBU1NBTkRSQS02NzA2KQogKiBBZGQgdG9vbGluZyB0byBkZXRlY3QgaG90IHBhcnRpdGlvbnMgKENBU1NBTkRSQS03OTc0KQogKiBGaXggY2Fzc2FuZHJhLXN0cmVzcyB1c2VyLW1vZGUgdHJ1bmNhdGlvbiBvZiBwYXJ0aXRpb24gZ2VuZXJhdGlvbiAoQ0FTU0FORFJBLTg2MDgpCiAqIE9ubHkgc3RyZWFtIGZyb20gdW5yZXBhaXJlZJYPMtMACd3+dp67kgAAAU/ePLJcABBibGUsIGJlZm9yZSByZWN5AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzeAAABAGlzIGRvd24gKENBU1NBTkRSQS00NDApCiAgIGFuZCBhZGQgVW5hdmFpbGFibGVFeGNlcHRpb24gdG8gbW9yZSBUaHJpZnQgbWV0aG9kcwogKiBBZGQgZXhhbXBsZSBFbmRQb2ludFNuaXRjaCBjb250cmliIGNvZGUgKHNldmVyYWwgdGlja2V0cykKCgowLjQuMCBSQzIKICogZml4IFNTVGFibGUgZ2VuZXJhdGlvbiBjbGFzaCBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTQxOCkKICogcmVqZWN0IG1ldGhvZCBjYWxscyB3aXRoIG51bGwgcGFyYW2itqKNAAABT948slwAECAoQ0FTU0FORFJBLTUzNjIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILN4AAAEAeCB0cmFuc3Bvc2VkIGFyZ3VtZW50cyBpbiBBbHJlYWR5RXhpc3RzRXhjZXB0aW9uIChDQVNTQU5EUkEtNTM2MikKICogSW1wcm92ZSBhc3luY2hyb25vdXMgaGludCBkZWxpdmVyeSAoQ0FTU0FORFJBLTUxNzkpCiAqIEZpeCBHdWF2YSBkZXBlbmRlbmN5IHZlcnNpb24gKDEyLjAgLT4gMTMuMC4xKSBmb3IgTWF2ZW4gKENBU1NBTkRSQS01MzY0KQogKiBWYWxpZGF0ZSB0aGF0IHByb3ZpZGVkIENRTDMgY29sbGVjdGlvbiB2YWx1ZSBhcmUgPCA2NEsgKB+h6DIAAAFP3jyyXAAQYWxseSBhbmQgYWxsIHB1YgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs3gAAAQBsb3NlKCkgdGVybWluYXRlcyBpZgogICBkaXNrIHdyaXRlciBoYXMgY3Jhc2hlZCAoQ0FTU0FORFJBLTg4MDcpCgoKMi4xLjQKICogQmluZCBKTVggdG8gbG9jYWxob3N0IHVubGVzcyBleHBsaWNpdGx5IGNvbmZpZ3VyZWQgb3RoZXJ3aXNlIChDQVNTQU5EUkEtOTA4NSkKCgoyLjEuMwogKiBGaXggSFNIQS9vZmZoZWFwX29iamVjdHMgY29ycnVwdGlvbiAoQ0FTU0FORFJBLTg3MTkpCiAqIFVwZ3JhZGUgbGlidGhyaWZ0IHRvIDAuOS4yIChDQVNTQU5EBxlyPQAAAU/ePLJcABA2MzYpCiAqIEZpeCB0cnVuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzeAAABACBkZXRlcm1pbmluZyB3aGV0aGVyIHRvIGRvIGxvY2FsIHJlYWQgZm9yIENMLk9ORSAoQ0FTU0FORFJBLTEzMTcpCiAqIGZpeCByZWFkIHJlcGFpciB0byB1c2UgcmVxdWVzdGVkIGNvbnNpc3RlbmN5IGxldmVsIG9uIGRpZ2VzdCBtaXNtYXRjaCwKICAgcmF0aGVyIHRoYW4gYXNzdW1pbmcgUVVPUlVNIChDQVNTQU5EUkEtMTMxNikKICogcHJvY2VzcyBkaWdlc3QgbWlzbWF0Y2ggcmUtcmVhZHMgaW4gcGFyYWxsZWwgKENBU1NBTkRSQS0xMzIzKQogKiBkxZPvAAABT948slwAECBmb3IgVVBEQVRFIC4uLiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILN4AAAEAICogUmV1c2UgcHJlcGFyZWQgc3RhdGVtZW50cyBpbiBob3QgYXV0aCBxdWVyaWVzIChDQVNTQU5EUkEtNTU5NCkKICogY3Fsc2g6IGFkZCB2ZXJ0aWNhbCBvdXRwdXQgb3B0aW9uIChzZWUgRVhQQU5EKSAoQ0FTU0FORFJBLTU1OTcpCiAqIEFkZCBhIHJhdGUgbGltaXQgb3B0aW9uIHRvIHN0cmVzcyAoQ0FTU0FORFJBLTUwMDQpCiAqIGhhdmUgQnVsa0xvYWRlciBpZ25vcmUgc25hcHNob3RzIGRpcmVjdG9yaWVzIChDQVNTQU5EUkEtNTU4NykgCiAqIH6CXTcAAAFP3jyyXAAQbGluZSAiLS0iIGNvbW1lbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs3gAAAQBORFJBLTM1NzcpCiAqIGFkZCBjb21tYW5kIHRvIHN0b3AgY29tcGFjdGlvbnMgKENBU1NBTkRSQS0xNzQwLCAzNTY2LCAzNTgyKQogKiBtdWx0aXRocmVhZGVkIHN0cmVhbWluZyAoQ0FTU0FORFJBLTM0OTQpCiAqIHJlbW92ZWQgaW4tdHJlZSByZWRoYXQgc3BlYyAoQ0FTU0FORFJBLTM1NjcpCiAqICJkZWZyYWdtZW50IiByb3dzIGZvciBuYW1lLWJhc2VkIHF1ZXJpZXMgdW5kZXIgU1RDUywgYWdhaW4gKENBU1NBTkRSQS0yNTAzKQogKiBSZWN5Y2xl5EbJDgAAAU/ePLJcABBvbnNpc3RlbmN5IHdoZW4gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzeAAABAC5zdGFydHVwKCkgbWV0aG9kIChDQVNTQU5EUkEtNjYzNykKICogU1NUYWJsZVNjYW5uZXIgbWF5IHNraXAgcm93cyBkdXJpbmcgY2xlYW51cCAoQ0FTU0FORFJBLTY2MzgpCiAqIHNzdGFibGVzIGZyb20gc3RhbGxlZCByZXBhaXIgc2Vzc2lvbnMgY2FuIHJlc3VycmVjdCBkZWxldGVkIGRhdGEgKENBU1NBTkRSQS02NTAzKQogKiBTd2l0Y2ggc3RyZXNzIHRvIHVzZSBJVHJhbnNwb3J0RmFjdG9yeSAoQ0FTU0FORFJBLTY2NDEpCiAqIEZpeCBJbGxlZ2GAdIa8AAABT948slwAEHV0YXRpb24gZm9yIGNvdW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILN4AAAEAZW10YWJsZSBwcm9wZXJ0aWVzIChDQVNTQU5EUkEtMzE5MCkKICogQWRkIGZpdmUtbWludXRlIGRlbGF5IGJlZm9yZSBzdGFydGluZyBjb21wYWN0aW9ucyBvbiBhIHJlc3RhcnRlZCBzZXJ2ZXIKICAgKENBU1NBTkRSQS0zMTgxKQogKiBSZWR1Y2UgY29waWVzIGRvbmUgZm9yIGludHJhLWhvc3QgbWVzc2FnZXMgKENBU1NBTkRSQS0xNzg4LCAzMTQ0KQogKiBzdXBwb3J0IG9mIGNvbXBhY3Rpb24gc3RyYXRlZ3kgb3B0aW9uIGZvciBzdHJlc3MuamF2YXlehv0AAAFP3jyyXAAQQU5EUkEtODgyKQogKiBSZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs3gAAAQBhcmVkIHN0YXRlbWVudCAoQ0FTU0FORFJBLTYzNjkpCgoKMi4wLjIKICogVXBkYXRlIEZhaWx1cmVEZXRlY3RvciB0byB1c2UgbmFub250aW1lIChDQVNTQU5EUkEtNDkyNSkKICogRml4IEZpbGVDYWNoZVNlcnZpY2UgcmVncmVzc2lvbnMgKENBU1NBTkRSQS02MTQ5KQogKiBOZXZlciByZXR1cm4gV3JpdGVUaW1lb3V0IGZvciBDTC5BTlkgKENBU1NBTkRSQS02MTMyKQogKiBGaXggcmFjZSBjb25kaXRpb25zIGluIGJ1bGsgbG9hZGVyIChDQVNTQU5E+kL9NQAAAU/ePLJcABAgSUF1dGhlbnRpY2F0b3IgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzeAAABAG5zIChDQVNTQU5EUkEtMTI2MykKICogZ2l2ZSBzbmFwc2hvdHMgdGhlIHNhbWUgbmFtZSBvbiBlYWNoIG5vZGUgKENBU1NBTkRSQS0xNzkxKQogKiByZW1vdmUgIm5vZGV0b29sIGxvYWRiYWxhbmNlIiAoQ0FTU0FORFJBLTI0NDgpCiAqIG11bHRpdGhyZWFkZWQgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTIxOTEpCiAqIGNvbXBhY3Rpb24gdGhyb3R0bGluZyAoQ0FTU0FORFJBLTIxNTYpCiAqIGFkZCBrZXkgdHlwZSBpbmZvcm1hdGlvbiBhbmQgYWxpYXNnRsKYAAABT948slwAEFNTQU5EUkEtNTUwNikKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILN4AAAEAZW5jeSBpbmZvcm1hdGlvbiB0byBkeW5hbWljIHNuaXRjaCAoQ0FTU0FORFJBLTE4NzMpCgoKMC43LjAtcmMyCiAqIGZpeCBsaXZlLWNvbHVtbi1jb3VudCBvZiBzbGljZSByYW5nZXMgaW5jbHVkaW5nIHRvbWJzdG9uZWQgc3VwZXJjb2x1bW4gCiAgIHdpdGggbGl2ZSBzdWJjb2x1bW4gKENBU1NBTkRSQS0xNTkxKQogKiByZW5hbWUgby5hLmMuaW50ZXJuYWwuQW50aWVudHJvcHlTdGFnZSAtPiBBbnRpRW50cm9weVN0YWdlLAogICBvLmEuYy5yZXF1ZX7G4s4AAAFP3jyyXAAQb2RlIHRydW5jYXRpb24gbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs3gAAAQBhbGxvdyBrZXlzcGFjZSBjcmVhdGlvbiB3aXRoIFJGID4gTiAoQ0FTU0FORFJBLTE0MjgpCiAqIGltcHJvdmUgY2xpIGVycm9yIGhhbmRsaW5nIChDQVNTQU5EUkEtMTU4MCkKICogYWRkIGNhY2hlIHNhdmUvbG9hZCBhYmlsaXR5IChDQVNTQU5EUkEtMTQxNywgMTYwNiwgMTY0NykKICogYWRkIFN0b3JhZ2VTZXJ2aWNlLmdldERyYWluUHJvZ3Jlc3MgKENBU1NBTkRSQS0xNTg4KQogKiBEaXNhbGxvdyBib290c3RyYXAgdG8gYW4gaW4tdXNlIHRva2VuNn2vlQAAAU/ePLJcABAgZml4IGNvbXBhY3Rpb24gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzeAAABAGlucyBleGNlZWRlZCBldmVyeSAxMHMgKENBU1NBTkRSQS0yMTgzKQogKiBmaXggY2FjaGUgc2F2aW5nIG9uIFdpbmRvd3MgKENBU1NBTkRSQS0yMjA3KQogKiBhZGQgdmFsaWRhdGVTY2hlbWFBZ3JlZW1lbnQgY2FsbCArIHN5bmNocm9uaXphdGlvbiB0byBzY2hlbWEKICAgbW9kaWZpY2F0aW9uIG9wZXJhdGlvbnMgKENBU1NBTkRSQS0yMjIyKQogKiBmaXggZm9yIHJldmVyc2VkIHNsaWNlIHF1ZXJpZXMgb24gbGFyZ2Ugcm93cyAoQ0FTU0FORFJBLTL1LJ57AAABT948slwAEHRyZWFtaW5nLCBjbGVhbmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILN4AAAEAYWdlIG9mIGNvbW1vbnMtbG9nZ2luZyB3aXRoIHNsZjRqIChDQVNTQU5EUkEtNTQ2NCkKICogRW5zdXJlIEphY2tzb24gZGVwZW5kZW5jeSBtYXRjaGVzIGxpYiAoQ0FTU0FORFJBLTUxMjYpCiAqIEV4cG9zZSBkcm9wcGFibGUgdG9tYnN0b25lIHJhdGlvIHN0YXRzIG92ZXIgSk1YIChDQVNTQU5EUkEtNTE1OSkKTWVyZ2VkIGZyb20gMS4xOgogKiBTaW1wbGlmeSBDb21wcmVzc2VkUmFuZG9tQWNjZXNzUmVhZGVyIHRvIHdvcmsgYXJvdW5kIEpESyBGRJXQvgYAAAFP3jyyXAAQZiB0b21ic3RvbmUgYnkgUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs3gAAAQBlc3QgYWZ0ZXIgc3RyZWFtaW5nIChDQVNTQU5EUkEtMzUzNikKICogZmlsdGVyIG91dCB1bmF2YWlsYWJsZSBjaXBoZXIgc3VpdGVzIHdoZW4gdXNpbmcgZW5jcnlwdGlvbiAoQ0FTU0FORFJBLTMxNzgpCiAqIChIQURPT1ApIGFkZCBvbGQtc3R5bGUgYXBpIHN1cHBvcnQgZm9yIENGSUYgYW5kIENGUlIgKENBU1NBTkRSQS0yNzk5KQogKiBTdXBwb3J0IFRpbWVVVUlEVHlwZSBjb2x1bW4gbmFtZXMgaW4gU3RyZXNzLmphdmEgdG9vbCAoQ0FTU0FORFJBuPOOzQAJ8luj5CCiAAABT948slwAEG5zIChDQVNTQU5EUkEtNzEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOAAAAEAQiBpbnN0ZWFkIG9mIGFuIGludCAoQ0FTU0FORFJBLTg4MikKICogUmVtb3ZlIG9ic29sZXRlIENvbnRyb2xQb3J0IGNvZGUgZnJvbSBEYXRhYmFzZURlc2NyaXB0b3IgKENBU1NBTkRSQS04ODYpCiAqIG1vdmUgc2tpcEJ5dGVzIHNpZGUgZWZmZWN0IG91dCBvZiBhc3NlcnQgKENBU1NBTkRSQS04OTkpCiAqIGFkZCAiZG91YmxlIGdldExvYWQiIHRvIFN0b3JhZ2VTZXJ2aWNlTUJlYW4gKENBU1NBTkRSQS04OTgpCiAqIHRyYWNrIHJvdyBzdGF0cyBwZTwxklsAAAFP3jyyXAAQZXN0IChDQVNTQU5EUkEtMwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs4AAAAQBydmVkIGtleXdvcmRzIGluIENRTCAoQ0FTU0FORFJBLTkwNDcpCiAqIFByZXZlbnQgQXNzZXJ0aW9uRXJyb3IgZnJvbSBTaXplRXN0aW1hdGVzUmVjb3JkZXIgKENBU1NBTkRSQS05MDM0KQogKiBBdm9pZCBvdmVyd3JpdGluZyBpbmRleCBzdW1tYXJpZXMgZm9yIHNzdGFibGVzIHdpdGggYW4gb2xkZXIgZm9ybWF0IHRoYXQKICAgZG9lcyBub3Qgc3VwcG9ydCBkb3duc2FtcGxpbmc7IHJlYnVpbGQgc3VtbWFyaWVzIG9uIHN0YXJ0dXAgd2hlbiB0aGlzG127TgAAAU/ePLJcABAgKENBU1NBTkRSQS03NTExAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzgAAABAGVydmljZSBhbmQgCiAgIFBlcmlvZGljQ29tbWl0TG9nRXhlY3V0b3JTZXJ2aWNlIChDQVNTQU5EUkEtMTAxNCkKICogYWRkIGxhdGVuY3kgaGlzdG9ncmFtcyB0byBDRlNNQmVhbiAoQ0FTU0FORFJBLTEwMjQpCiAqIG1ha2UgcmVzb2x2aW5nIHRpbWVzdGFtcCB0aWVzIGRldGVybWluaXN0aWMgYnkgdXNpbmcgdmFsdWUgYnl0ZXMKICAgYXMgYSB0aWVicmVha2VyIChDQVNTQU5EUkEtMTAzOSkKICogQWRkIG9wdGlvbiB0byB0dXJuIG9mZiBIaW50ZWShN2yWAAABT948slwAEENBU1NBTkRSQS01ODI0KQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOAAAAEAZG9vcCkgYWxsb3cgd3JhcHBpbmcgcmFuZ2VzIGluIHF1ZXJpZXMgKENBU1NBTkRSQS0zMTM3KQogKiAoSGFkb29wKSBjaGVjayBhbGwgaW50ZXJmYWNlcyBmb3IgYSBtYXRjaCB3aXRoIHNwbGl0IGxvY2F0aW9uCiAgIGJlZm9yZSBmYWxsaW5nIGJhY2sgdG8gcmFuZG9tIHJlcGxpY2EgKENBU1NBTkRSQS0zMjExKQogKiAoSGFkb29wKSBNYWtlIFBpZyBzdG9yYWdlIGhhbmRsZSBpbXBsZW1lbnRzIExvYWRNZXRhZGF0YSAoQ0FTU0FORFJBLTI3NzcpCnylcl4AAAFP3jyyXAAQIGZsb29yIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs4AAAAQBzIGFuZCBjb2x1bW4gbmFtZXMgCiAgIChDQVNTQU5EUkEtMTcwMSwgLTE2OTMpCiAqIHIvbSBleHRyYSBzdWJjb21wYXJhdG9yIGxpbmUgaW4gY2xpIGtleXNwYWNlcyBvdXRwdXQgKENBU1NBTkRSQS0xNzEyKQogKiBhZGQgcmVhZCByZXBhaXIgY2hhbmNlIHRvIGNsaSAic2hvdyBrZXlzcGFjZXMiCiAqIHVwZ3JhZGUgdG8gQ29uY3VycmVudExpbmtlZEhhc2hNYXAgMS4xIChDQVNTQU5EUkEtOTc1KQogKiBmaXggaW5kZXggc2NhbiByb3V0aW5nIChD7/ji/QAAAU/ePLJcABAKICogZXh0ZW5kIG9wdGlvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzgAAABAGFsbG93IGtleXNwYWNlIGNyZWF0aW9uIHdpdGggUkYgPiBOIChDQVNTQU5EUkEtMTQyOCkKICogaW1wcm92ZSBjbGkgZXJyb3IgaGFuZGxpbmcgKENBU1NBTkRSQS0xNTgwKQogKiBhZGQgY2FjaGUgc2F2ZS9sb2FkIGFiaWxpdHkgKENBU1NBTkRSQS0xNDE3LCAxNjA2LCAxNjQ3KQogKiBhZGQgU3RvcmFnZVNlcnZpY2UuZ2V0RHJhaW5Qcm9ncmVzcyAoQ0FTU0FORFJBLTE1ODgpCiAqIERpc2FsbG93IGJvb3RzdHJhcCB0byBhbiBpbi11c2UgdG9rZW7EErVhAAABT948slwAEGxlIGluYyByZXBhaXJzIG8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOAAAAEAcGxpY2l0bHkgZW5hYmxlZCBwZXItQ0YgaW4gY29uZmlnXSAoQ0FTU0FORFJBLTY3OCkKICogcHJlc2VudCBhIHVzZWZ1bCBtZWFzdXJlIG9mIGNvbXBhY3Rpb24gcHJvZ3Jlc3MgaW4gSk1YIChDQVNTQU5EUkEtNTk5KQogKiBhZGQgYmluL3NzdGFibGVrZXlzIChDQVNTTkFEUkEtNjc5KQogKiBhZGQgQ29uc2lzdGVuY3lMZXZlbC5BTlkgKENBU1NBTkRSQS02ODcpCiAqIG1ha2UgcmVtb3ZldG9rZW4gcmVtb3ZlIG5vZGVzIGZyb20gZ29zc2lwIGVudHe0xx4AAAFP3jyyXAAQd2hlbiBleHBvcnRpbmcgdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs4AAAAQBTQU5EUkEtNjkwNikKICogRml4IFNTVGFibGUgbm90IHJlbGVhc2VkIGlmIHN0cmVhbSBzZXNzaW9uIGZhaWxzIChDQVNTQU5EUkEtNjgxOCkKICogQXZvaWQgYnVpbGQgZmFpbHVyZSBkdWUgdG8gQU5UTFIgdGltZW91dCAoQ0FTU0FORFJBLTY5OTEpCiAqIFF1ZXJpZXMgb24gY29tcGFjdCB0YWJsZXMgY2FuIHJldHVybiBtb3JlIHJvd3MgdGhhdCByZXF1ZXN0ZWQgKENBU1NBTkRSQS03MDUyKQogKiBVU0lORyBUSU1FU1RBTVAgZm9yIGJhdGNoZXMgLJK+WAAAAU/ePLJcABB2ZSBpbmNvcnJlY3QgYXNzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzgAAABAFJBLTM1NzMpCiAqIENoZWNrIGZvciAwLjAuMC4wIGlzIGluY29ycmVjdCBpbiBDRklGIChDQVNTQU5EUkEtMzU4NCkKICogSW5jcmVhc2Ugdm0ubWF4X21hcF9jb3VudCBpbiBkZWJpYW4gcGFja2FnaW5nIChDQVNTQU5EUkEtMzU2MykKICogZ29zc2lwZXIgd2lsbCBuZXZlciBhZGQgaXRzZWxmIHRvIHNhdmVkIGVuZHBvaW50cyAoQ0FTU0FORFJBLTM0ODUpCgoKMS4wLjUKICogcmV2ZXJ0IENBU1NBTkRSQS0zNDA3IChzZWUgQ0FTU0FORFJBLTM1NDA/8QmeAAABT948slwAEDA3KQogKiBpbmNsdWRlIGMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOAAAAEAZSBzYW1lIHNzdGFibGVzCiAgIChDQVNTQU5EUkEtNTI1NikKICogYXZvaWQgbm8tb3AgY2FjaGluZyBvZiBieXRlW10gb24gY29tbWl0bG9nIGFwcGVuZCAoQ0FTU0FORFJBLTUxOTkpCiAqIGZpeCBzeW1saW5rcyB1bmRlciBkYXRhIGRpciBub3Qgd29ya2luZyAoQ0FTU0FORFJBLTUxODUpCiAqIGZpeCBidWcgaW4gY29tcGFjdCBzdG9yYWdlIG1ldGFkYXRhIGhhbmRsaW5nIChDQVNTQU5EUkEtNTE4OSkKICogVmFsaWRhdGUgbG9naW4gZm9yIFVTRSzSXogAAAFP3jyyXAAQdGlvbiB4bWwsCiAgIGEgYgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs4AAAAQBpcGluZ1Byb3BlcnR5RmlsZVNuaXRjaCBjb25maWcgKENBU1NBTkRSQS01ODk3KQogKiBGaXggb3ZlcmZsb3cgb2YgbWVtdGFibGVfdG90YWxfc3BhY2VfaW5fbWIgKENBU1NBTkRSQS02NTczKQogKiBGaXggQUJUQyBOUEUgYW5kIGFwcGx5IHVwZGF0ZSBmdW5jdGlvbiBjb3JyZWN0bHkgKENBU1NBTkRSQS02NjkyKQogKiBBbGxvdyBub2RldG9vbCB0byB1c2UgYSBmaWxlIG9yIHByb21wdCBmb3IgcGFzc3dvcmQgKENBU1NBTkRSQS02NjYwKQogKiBG+o3RzAAAAU/ePLJcABAgdHJ5IGhhcmRlciB0byBkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzgAAABAHMgKENBU1NBTkRSQS02NjEzKQogKiBmaXggbm9kZXRvb2wgZ2V0c3N0YWJsZXMgZm9yIGJsb2IgUEsgKENBU1NBTkRSQS02ODAzKQogKiBGaXggQmF0Y2hsb2dNYW5hZ2VyI2RlbGV0ZUJhdGNoKCkgdXNlIG9mIG1pbGxpc2Vjb25kIHRpbWVzdGFtcHMKICAgKENBU1NBTkRSQS02ODIyKQogKiBDb250aW51ZSBhc3Nhc3NpbmF0aW5nIGV2ZW4gaWYgdGhlIGVuZHBvaW50IHZhbmlzaGVzIChDQVNTQU5EUkEtNjc4NykKICogU2NoZWR1bGUgc2NoZW1hIHD4ocWgAAABT948slwAEHBlci1lbmRwb2ludCAoQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOAAAAEAZGlzYWxsb3cgQ29tbWl0TG9nRGlyZWN0b3J5IG1hdGNoaW5nIGEgRGF0YUZpbGVEaXJlY3RvcnkgKENBU1NBTkRSQS04ODgpCiAqIGRlZmF1bHQga2V5IGNhY2hlIHNpemUgaXMgMjAwayBlbnRyaWVzLCBjaGFuZ2VkIGZyb20gMTAlIChDQVNTQU5EUkEtODYzKQogKiBhZGQgLURjYXNzYW5kcmEtZm9yZWdyb3VuZD15ZXMgdG8gY2Fzc2FuZHJhLmJhdAogKiBleGl0IGlmIGNsdXN0ZXIgbmFtZSBpcyBjaGFuZ2VkIHVuZXhwZWN0ZWRseSAoQ0FTU0FORH6kIVgAAAFP3jyyXAAQUkEtNjg2OSkKICogTG9jawAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs4AAAAQAgZGVmYXVsdCAoQ0FTU0FORFJBLTE5NjApCiAqIGNvbmZpZ3VyYWJsZSBpbnRlcm5vZGUgZW5jcnlwdGlvbiAoQ0FTU0FORFJBLTE1NjcsIDIxNTIpCiAqIGh1bWFuIHJlYWRhYmxlIGNvbHVtbiBuYW1lcyBpbiBzc3RhYmxlMmpzb24gb3V0cHV0IChDQVNTQU5EUkEtMTkzMykKICogY2hhbmdlIGRlZmF1bHQgSk1YIHBvcnQgdG8gNzE5OSAoQ0FTU0FORFJBLTIwMjcpCiAqIGJhY2t3YXJkcyBjb21wYXRpYmxlIGludGVybmFsIG1lc3NhZ2luZyAoQ0FTwtl3/QAAAU/ePLJcABApCiAqIFZhbGlkYXRlIGRhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzgAAABAGRNZXRlciBpcyBudWxsIChDQVNTQU5EUkEtODIzOCkKICogYWRkIGNoZWNrIG9mIHRoZSBzeXN0ZW0gd2FsbCBjbG9jayB0aW1lIGF0IHN0YXJ0dXAgKENBU1NBTkRSQS04MzA1KQogKiBTdXBwb3J0IGZvciBmcm96ZW4gY29sbGVjdGlvbnMgKENBU1NBTkRSQS03ODU5KQogKiBGaXggb3ZlcmZsb3cgb24gaGlzdG9ncmFtIGNvbXB1dGF0aW9uIChDQVNTQU5EUkEtODAyOCkKICogSGF2ZSBwYXhvcyByZXVzZSB0aGUgdGltZXN0YW1wIGdlbmVyYXRpb24EpX5+AAoGuBdET6gAAAFP3jyyXAAQciBkdXJpbmcgcmVwYWlyIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs4gAAAQB0cyBpbiAKICAgQ29sdW1uRmFtaWx5SW5wdXRGb3JtYXQgKENBU1NBTkRSQS0xMDk2KQogKiBkbyBub3QgcmVjYWxjdWxhdGUgY2FjaGUgY2FwYWNpdHkgcG9zdC1jb21wYWN0aW9uIGlmIGl0J3MgYmVlbiBtYW51YWxseSAKICAgbW9kaWZpZWQgKENBU1NBTkRSQS0xMDc5KQogKiBiZXR0ZXIgZGVmYXVsdHMgZm9yIGZsdXNoIHNvcnRlciArIHdyaXRlciBleGVjdXRvciBxdWV1ZSBzaXplcwogICAoQ0FTU0FORFJBLTExMDApCiAqIHdpbmRvd3Mgc2NyYjpQvQAAAU/ePLJcABAgYW5kIGxpc3QgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCziAAABAHRhbHMKICAgaW5zdGVhZCBvZiBhdmVyYWdlIG92ZXIgdGhlIGxhc3QgbWludXRlIChDQVNTQU5EUkEtNzAyKQogKiBzdXBwb3J0IGdldF9yYW5nZV9zbGljZSBmb3IgUmFuZG9tUGFydGl0aW9uZXIgKENBU1NBTkRSQS03NDUpCiAqIHBlci1rZXlzcGFjZSByZXBsaWNhdGlvbiBmYWN0b3J5IGFuZCByZXBsaWNhdGlvbiBzdHJhdGVneSAoQ0FTU0FORFJBLTYyMCkKICogdHJhY2sgbGF0ZW5jeSBpbiBtaWNyb3NlY29uZHMgKENBU1NBTkRSQS03MzMpCiDsxq54AAABT948slwAECByZXBhaXIgZmFpbHMgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOIAAAEAcyBvdXRwdXQgKENBU1NBTkRSQS02OTIxKQogKiBBZGQgb3B0aW1pemVkIENGLmhhc0NvbHVtbnMoKSBpbXBsZW1lbnRhdGlvbnMgKENBU1NBTkRSQS02OTQxKQogKiBTZXJpYWxpemUgYmF0Y2hsb2cgbXV0YXRpb25zIHdpdGggdGhlIHZlcnNpb24gb2YgdGhlIHRhcmdldCBub2RlCiAgIChDQVNTQU5EUkEtNjkzMSkKICogT3B0aW1pemUgQ291bnRlckNvbHVtbiNyZWNvbmNpbGUoKSAoQ0FTU0FORFJBLTY5NTMpCiAqIFByb3Blcmx5IHJlbW92ZSAxLh3EyZEAAAFP3jyyXAAQY2VzIGFyZSBhbHRlcmVkIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs4gAAAQBuZGluZyByYW5nZSBjb25mbGljdHMgd2hlbiBib290c3RhcHBpbmcgb3IgbW92aW5nCiAgIG11bHRpcGxlIG5vZGVzIGF0IG9uY2UgKENBU1NBTkRSQS02MDMpCiAqIEhhbmRsZSBvYnNvbGV0ZSBnb3NzaXAgcmVsYXRlZCB0byBub2RlIG1vdmVtZW50IGluIHRoZSBjYXNlIHdoZXJlCiAgIG9uZSBvciBtb3JlIG5vZGVzIGlzIGRvd24gd2hlbiB0aGUgbW92ZW1lbnQgb2NjdXJzIChDQVNTQU5EUkEtNTcyKQogKiBJbmNsdWRlIGRlYWQgbm9kZXMgaW4gJCeIZQAAAU/ePLJcABBnb3NzaXBwZWQgdmVyc2lvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCziAAABACogUmVtb3ZlZCBvbi1oZWFwIHJvdyBjYWNoZSAoQ0FTU0FORFJBLTUzNDgpCiAqIHVzZSBuYW5vdGltZSBjb25zaXN0ZW50bHkgZm9yIG5vZGUtbG9jYWwgdGltZW91dHMgKENBU1NBTkRSQS01NTgxKQogKiBBdm9pZCB1bm5lY2Vzc2FyeSBzZWNvbmQgcGFzcyBvbiBuYW1lLWJhc2VkIHF1ZXJpZXMgKENBU1NBTkRSQS01NTc3KQogKiBFeHBlcmltZW50YWwgdHJpZ2dlcnMgKENBU1NBTkRSQS0xMzExKQogKiBKRU1hbGxvYyBzdXBwb3J0IGZvciBvZmauuIXHAAABT948slwAEHcgY3JlYXRpbmcgQ1VTVE8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOIAAAEAbCBzZXRjb21wYWN0aW9udGhyb3VnaHB1dCAoQ0FTU0FORFJBLTI1NTApCiAqIG1vdmUJZ29zc2lwIGhlYXJ0YmVhdCBiYWNrIHRvIGl0cyBvd24gdGhyZWFkIChDQVNTQU5EUkEtMjU1NCkKICogdmFsaWRhdGUgY3FsIFRSVU5DQVRFIGNvbHVtbmZhbWlseSBiZWZvcmUgdHJ1bmNhdGluZyAoQ0FTU0FORFJBLTI1NzApCiAqIGZpeCBiYXRjaF9tdXRhdGUgZm9yIG1peGVkIHN0YW5kYXJkLWNvdW50ZXIgbXV0YXRpb25zIChDQVNTQU5EUkEtMjQ1NykKIMFUXoQAAAFP3jyyXAAQMjQ3KQogKiBGaWxlIGRlcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs4gAAAQA3OTkpCiAqIHVzZSB3aGlsZSBsb29wIGluc3RlYWQgb2YgcmVjdXJzaW9uIHdoZW4gdHJpbW1pbmcgc3N0YWJsZXMgY29tcGFjdGlvbiBsaXN0IAogICB0byBhdm9pZCBibG93aW5nIHN0YWNrIGluIHBhdGhvbG9naWNhbCBjYXNlcyAoQ0FTU0FORFJBLTgwNCkKICogYmFzaWMgSGFkb29wIG1hcC9yZWR1Y2Ugc3VwcG9ydCAoQ0FTU0FORFJBLTM0MikKCgowLjUuMQogKiBlbnN1cmUgYWxsIGZpbGVzIGZvciBhbiBzc3RhYmxlIGFyZSBzdHJlYW1lZCB0x/SNpQAAAU/ePLJcABBjcWwpIGZpeCBOUEUgaW4gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCziAAABAGF0dGVtcHRpbmcgdG8gZGVsZXRlIHRlbXBvcmFyeSBib290c3RyYXAgZmlsZXMgdHdpY2UgKENBU1NBTkRSQS02ODEpCiAqIGZpeCBib2d1cyBOYU4gaW4gbm9kZXByb2JlIGNmc3RhdHMgb3V0cHV0IChDQVNTQU5EUkEtNjQ2KQogKiBwcm92aWRlIGEgcG9saWN5IGZvciBkZWFsaW5nIHdpdGggc2luZ2xlIHRocmVhZCBleGVjdXRvcnMgdy8gYSBmdWxsIHF1ZXVlCiAgIChDQVNTQU5EUkEtNjk0KQogKiBvcHRpbWl6ZSBpbm5lciByZWFkIGluIE1lc3M1Tv3yAAABT948slwAEHRoIHJlLWRyb3BwZWQga2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOIAAAEAbG93ZWQgTE9DQUxfUVVPUlVNCiAgIG9wZXJhdGlvbnMgdG8gaW5jb3JyZWN0IGJlY29tZSBmdWxsIFFVT1JVTSAoQ0FTU0FORFJBLTczNDUpCiAqIFByb3Blcmx5IGhhbmRsZSB1bnJlY29nbml6ZWQgb3Bjb2RlcyBhbmQgZmxhZ3MgKENBU1NBTkRSQS03NDQwKQogKiAoSGFkb29wKSBjbG9zZSBDcWxSZWNvcmRXcml0ZXIgY2xpZW50cyB3aGVuIGZpbmlzaGVkIChDQVNTQU5EUkEtNzQ1OSkKICogQ29tbWl0IGRpc2sgZmFpbHVyZSBwb2xpY3kgKENBU+U6zcEAAAFP3jyyXAAQaGxvZyB3cml0ZXMgZm9yIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs4gAAAQAgKENBU1NBTkRSQS0yMjk3KQogKiBtYWtlIDJhcnkgaW5kZXhlcyB1c2UgcGFyZW50IENGIGZsdXNoIHRocmVzaG9sZHMgZHVyaW5nIGluaXRpYWwgYnVpbGQKICAgKENBU1NBTkRSQS0yMjk0KQogKiB1cGRhdGUgbWVtdGFibGVfdGhyb3VnaHB1dCB0byBiZSBhIGxvbmcgKENBU1NBTkRSQS0yMTU4KQoKCjAuNy4zCiAqIEtlZXAgZW5kcG9pbnQgc3RhdGUgdW50aWwgYVZlcnlMb25nVGltZSAoQ0FTU0FORFJBLTIxMTUpCiAqIGxvd2VyLWxhdGVuY3kg7zrf3wAAAU/ePLJcABB0ZW1lbnRzIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCziAAABAG4gKENBU1NBTkRSQS00MTgwKQogKiBSZW1vdmVkIHRva2VuIHJhbmdlIGJpc2VjdGlvbiAoQ0FTU0FORFJBLTU1MTgpCiAqIFJlbW92ZWQgY29tcGF0aWJpbGl0eSB3aXRoIHByZS0xLjIuNSBzc3RhYmxlcyBhbmQgbmV0d29yayBtZXNzYWdlcwogICAoQ0FTU0FORFJBLTU1MTEpCiAqIHJlbW92ZWQgUEJTUHJlZGljdG9yIChDQVNTQU5EUkEtNTQ1NSkKICogQ0FTIHN1cHBvcnQgKENBU1NBTkRSQS01MDYyLCA1NDQxLCA1NDQyLCA1NDQzLCA1NjE5LCBzJ0aJAAABT948slwAEEEtOTIwKQogKiBmaXggaW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOIAAAEAIGNvcHkgRGVjb3JhdGVkS2V5LmtleSB3aGVuIGluc2VydGluZyBpbnRvIGNhY2hlcyB0byBhdm9pZCByZXRhaW5pbmcKICAgYSByZWZlcmVuY2UgdG8gdGhlIHVuZGVybHlpbmcgYnVmZmVyIChDQVNTQU5EUkEtMjEwMikKICogZm9ybWF0IHN1YmNvbHVtbiBuYW1lcyB3aXRoIHN1YmNvbXBhcmF0b3IgKENBU1NBTkRSQS0yMTM2KQogKiBmaXggY29sdW1uIGJsb29tIGZpbHRlciBkZXNlcmlhbGl6YXRpb24gKENBU1NBTkRSQS0yMTY1KQoKCjAuNy4xCqDqPMUAAAFP3jyyXAAQdCB0byBvLmEuYy5tZXRyaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs4gAAAQAgZmFpbCBqb2JzIHdoZW4gQ2Fzc2FuZHJhIG5vZGUgaGFzIGZhaWxlZCBidXQgVGFza1RyYWNrZXIKICAgIGhhcyBub3QgKENBU1NBTkRSQS0yMzg4KQoKCjAuOC4yCiAqIENRTDogCiAgIC0gaW5jbHVkZSBvbmx5IG9uZSByb3cgcGVyIHVuaXF1ZSBrZXkgZm9yIElOIHF1ZXJpZXMgKENBU1NBTkRSQS0yNzE3KQogICAtIHJlc3BlY3QgY2xpZW50IHRpbWVzdGFtcCBvbiBmdWxsIHJvdyBkZWxldGlvbnMgKENBU1NBTkRSQS0yOTEyKQogKiBpbXByb3ZllSYwRAAAAU/ePLJcABBTU0FORFJBLTM5MDQpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCziAAABAHB0eSBpdHNlbGYgYWZ0ZXIgc3RyZWFtaW5nCiAgIGZpbmlzaGVkIChDQVNTQU5EUkEtMTA3NikKICogYWRkZWQgQ29sbGVjdGlvbnMuc2h1ZmZsZShzcGxpdHMpIGJlZm9yZSByZXR1cm5pbmcgdGhlIHNwbGl0cyBpbiAKICAgQ29sdW1uRmFtaWx5SW5wdXRGb3JtYXQgKENBU1NBTkRSQS0xMDk2KQogKiBkbyBub3QgcmVjYWxjdWxhdGUgY2FjaGUgY2FwYWNpdHkgcG9zdC1jb21wYWN0aW9uIGlmIGl0J3MgYmVlbiBtYW51YWxseSAKICAgbW9kaWZpZWT/9PqTAAABT948slwAEG92ZSBpbmNvcnJlY3Qgb3AAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOIAAAEAYWdlcyAoQ0FTU0FORFJBLTc0NzApCiAqIEZpeCByb3cgc2l6ZSBtaXNjYWxjdWxhdGlvbiBpbiBMYXppbHlDb21wYWN0ZWRSb3cgKENBU1NBTkRSQS03NTQzKQogKiBGaXggcmFjZSBpbiBiYWNrZ3JvdW5kIGNvbXBhY3Rpb24gY2hlY2sgKENBU1NBTkRSQS03NzQ1KQogKiBEb24ndCBjbGVhciBvdXQgcmFuZ2UgdG9tYnN0b25lcyBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTc4MDgpCgoKMi4xLjAtcmMxCiAqIFJldmVydCBmbHVzaCBkaXJlY4HR9AsAChsVXNFmigAAAU/ePLJcABAgcHJvcGVydHksIGluc3RlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzkAAABAGVyYXRpb24gd2hlbiBsYXN0IHJvdyByZWFkIHdhcyBkZWxldGVkCiAgIChDQVNTQU5EUkEtNDE1NCkKICogZml4IHJlYWRfcmVwYWlyX2NoYW5jZSB0byByZWFsbHkgZGVmYXVsdCB0byAwLjEgaW4gdGhlIGNsaSAoQ0FTU0FORFJBLTQxMTQpCiAqIEFkZHMgY2FjaGluZyBhbmQgYmxvb21GaWx0ZXJGcENoYW5nZSB0byBDUUwgb3B0aW9ucyAoQ0FTU0FORFJBLTQwNDIpCiAqIEFkZHMgcG9zaWJpbGl0eSB0byBhdXRvY29uZmlndXJlIHNpemUgb2YgdGjhARMDAAABT948slwAECBNZXJnZWQgX3N1cGVyIGcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOQAAAEAYWxpZCBpbnB1dCAoQ0FTU0FORFJBLTI4NTEpCiAqIE1ha2Ugc2Vjb25kYXJ5IGluZGV4ZXMgQ0YgaW5oZXJpdCBjb21wcmVzc2lvbiBhbmQgY29tcGFjdGlvbiBmcm9tIHRoZWlyCiAgIHBhcmVudCBDRiAoQ0FTU0FORFJBLTM4NzcpCiAqIEZpbmlzaCBjbGVhbnVwIHVwIHRvbWJzdG9uZSBwdXJnZSBjb2RlIChDQVNTQU5EUkEtMzg3MikKICogQXZvaWQgTlBFIG9uIGFib2FydGVkIHN0cmVhbS1vdXQgc2Vzc2lvbnMgKENBU1NBTkRSQS0zOTA0KQogKrsIXksAAAFP3jyyXAAQcmVudCBDRiBjb21wYWN0aQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs5AAAAQBuIGlzIGdvc3NpcHBlZCBiYWNrIHRvIGl0IChDQVNTQU5EUkEtMTY2NikKCgowLjctYmV0YTIKICogYWx3YXlzIHVzZSBVVEYtOCBmb3IgaGludCBrZXlzIChDQVNTQU5EUkEtMTQzOSkKICogcmVtb3ZlIGNhc3NhbmRyYS55YW1sIGRlcGVuZGVuY3kgZnJvbSBIYWRvb3AgYW5kIFBpZyAoQ0FTU0FEUkEtMTMyMikKICogZXhwb3NlIENmRGVmIG1ldGFkYXRhIGluIGRlc2NyaWJlX2tleXNwYWNlcyAoQ0FTU0FORFJBLTEzNjMpCiAqIHJlc3RvcmUgdXNlfZOjbAAAAU/ePLJcABAgbWVzc2FnZSBzZXJpYWxpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzkAAABAGlzbWF0Y2ggYmV0d2VlbiBlbXB0eSBhbmQgR0MtYWJsZSBkYXRhIChDQVNTQU5EUkEtODk3OSkKICogRml4IGluY29ycmVjdCB2YWxpZGF0aW9uIHdoZW4gc25hcHNob3R0aW5nIHNpbmdsZSB0YWJsZSAoQ0FTU0FORFJBLTgwNTYpCiAqIEFkZCBvZmZsaW5lIHRvb2wgdG8gcmVsZXZlbCBzc3RhYmxlcyAoQ0FTU0FORFJBLTgzMDEpCiAqIFByZXNlcnZlIHN0cmVhbSBJRCBmb3IgbW9yZSBwcm90b2NvbCBlcnJvcnMgKENBU1NBTkRSQS04ODQ4KQogKiDDCZnqAAABT948slwAEGUgaW5kZXhfaW50ZXJ2YWwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOQAAAEAc2libGUpIHJhbmdlIChDQVNTQU5EUkEtNTU3MykKICogY3Fsc2g6IGhhbmRsZSBDVVNUT00gMmkgaW4gREVTQ1JJQkUgb3V0cHV0IChDQVNTQU5EUkEtNTc2MCkKICogRml4IG1pbm9yIGJ1ZyBpbiBSYW5nZS5pbnRlcnNlY3RzKEJvdW5kKSAoQ0FTU0FORFJBLTU3NzEpCiAqIGNxbHNoOiBoYW5kbGUgZGlzYWJsZWQgY29tcHJlc3Npb24gaW4gREVTQ1JJQkUgb3V0cHV0IChDQVNTQU5EUkEtNTc2NikKICogRW5zdXJlIGFsbCBVUCBldmVudHMgYXJlIHt3nLEAAAFP3jyyXAAQIHVzaW5nIHF1b3RlcyBpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs5AAAAQBBTkRSQS02NDcxKQogKiBEb24ndCBzZW5kIGNvbmZ1c2luZyBpbmZvIHdpdGggdGltZW91dHMgKENBU1NBTkRSQS02NDkxKQogKiBEb24ndCByZXN1Ym1pdCBjb3VudGVyIG11dGF0aW9uIHJ1bm5hYmxlcyBpbnRlcm5hbGx5IChDQVNTQU5EUkEtNjQyNykKICogRG9uJ3QgZHJvcCBsb2NhbCBtdXRhdGlvbnMgd2l0aG91dCBhIGhpbnQgKENBU1NBTkRSQS02NTEwKQogKiBEb24ndCBhbGxvdyBudWxsIG1heF9oaW50X3dpbmRvd19pbl9tcyAoQ0FTU0FO41oOHAAAAU/ePLJcABBseSAoQ0FTU0FORFJBLTM5AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzkAAABADA1KQogKiBmaXggcG90ZW50aWFsIHVzZSBvZiBmcmVlJ2QgbmF0aXZlIG1lbW9yeSBpbiBTZXJpYWxpemluZ0NhY2hlIAogICAoQ0FTU0FORFJBLTI5NTEpCiAqIHBydW5lIGluZGV4IHNjYW4gcmVzdWx0c2V0IGJhY2sgdG8gb3JpZ2luYWwgcmVxdWVzdCBmb3IgbGF6eQogICByZXN1bHRzZXQgZXhwYW5zaW9uIGNhc2UgKENBU1NBTkRSQS0yOTY0KQogKiAoSGFkb29wKSBmYWlsIGpvYnMgd2hlbiBDYXNzYW5kcmEgbm9kZSBoYXMgZmFpbGVkIGJ1dCBqsCABAAABT948slwAECogaW1wcm92ZSBjbGkgaGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOQAAAEAcmluZyBtb3ZlIG9wZXJhdGlvbnMgKENBU1NBTkRSQS0zNjM5KQogKiBOb2RldG9vbCBhbmQgQ0xJIGNvbm5lY3QgdG8gbG9jYWxob3N0IGJ5IGRlZmF1bHQgKENBU1NBTkRSQS0zNTY4KQogKiBSZWR1Y2UgbWVtb3J5IHVzZWQgYnkgcHJpbWFyeSBpbmRleCBzYW1wbGUgKENBU1NBTkRSQS0zNzQzKQogKiAoSGFkb29wKSBzZXBhcmF0ZSBpbnB1dC9vdXRwdXQgY29uZmlndXJhdGlvbnMgKENBU1NBTkRSQS0zMTk3LCAzNzY1KQogKiBhdm9pZCByZXR1clRO96wAAAFP3jyyXAAQcyBoYXZlIGluIGNvbW1vbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs5AAAAQBsZXZlbCBibG9vbSBmaWx0ZXIgZmFsc2UgcG9zaXRpdmVzIChDQVNTQU5EUkEtMTIxMikKICogYWRkZWQgYSByZWRoYXQgaW5pdCBzY3JpcHQgdG8gY29udHJpYiAoQ0FTU0FORFJBLTEyMDEpCiAqIHVzZSBtaWRwb2ludCB3aGVuIGJvb3RzdHJhcHBpbmcgYSBuZXcgbWFjaGluZSBpbnRvIHJhbmdlIHdpdGggbm90CiAgIG11Y2ggZGF0YSB5ZXQgaW5zdGVhZCBvZiByYW5kb20gdG9rZW4gKENBU1NBTkRSQS0xMTEyKQogKiBraWxsIHNlcnZlciBvbiBPhYfJVQAAAU/ePLJcABB0IHJlcGFpcmVkIHJhbmdlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzkAAABAHIgSk1YIChDQVNTQU5EUkEtNzg3OSkKICogQWRkIG51bGwgY2hlY2sgZm9yIGtleXMgd2hlbiBmcmVlemluZyBjb2xsZWN0aW9uIChDQVNTQU5EUkEtNzg2OSkKICogSW1wcm92ZSBzdHJlc3Mgd29ya2xvYWQgcmVhbGlzbSAoQ0FTU0FORFJBLTc1MTkpCgoKMi4xLjAtcmM3CiAqIEFkZCBmcm96ZW4ga2V5d29yZCBhbmQgcmVxdWlyZSBVRFQgdG8gYmUgZnJvemVuIChDQVNTQU5EUkEtNzg1NykKICogVHJhY2sgYWRkZWQgc3N0YWJsZSBzaXplIGNvcnKqvlZ+AAABT948slwAEAogKiBmaXggaGFuZGxpbmcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOQAAAEAZSAoQ0FTU0FORFJBLTg2ODcpCiAqIFVzZSBtb3JlIGVmZmljaWVudCBzbGljZSBzaXplIGZvciBxdWVyeWluZyBpbnRlcm5hbCBzZWNvbmRhcnkKICAgaW5kZXggdGFibGVzIChDQVNTQU5EUkEtODU1MCkKICogRml4IHBvdGVudGlhbGx5IHJldHVybmluZyBkZWxldGVkIHJvd3Mgd2l0aCByYW5nZSB0b21ic3RvbmUgKENBU1NBTkRSQS04NTU4KQogKiBDaGVjayBmb3IgYXZhaWxhYmxlIGRpc2sgc3BhY2UgYmVmb3JlIHN0YXJ0aW5nIGEgY29tcGFjdJPg1qIAAAFP3jyyXAAQcwogICAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs5AAAAQBpb24gKENBU1NBTkRSQS01NTQ0KQoKCjEuMi41CiAqIG1ha2UgQnl0ZXNUb2tlbi50b1N0cmluZyBvbmx5IHJldHVybiBoZXggYnl0ZXMgKENBU1NBTkRSQS01NTY2KQogKiBFbnN1cmUgdGhhdCBzdWJtaXRCYWNrZ3JvdW5kIGVucXVldWVzIGF0IGxlYXN0IG9uZSB0YXNrIChDQVNTQU5EUkEtNTU1NCkKICogZml4IDJpIHVwZGF0ZXMgd2l0aCBpZGVudGljYWwgdmFsdWVzIGFuZCB0aW1lc3RhbXBzIChDQVNTQU5EUkEtNTU0MCkKICogZml4IGNvbXBhBcgMxgAAAU/ePLJcABBhcyBjb21wYWN0aW5nIChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzkAAABADY5MCkKICogYXZvaWQgZ2VuZXJhdGluZyByZWR1bmRhbnQgY29tcGFjdGlvbiB0YXNrcyBkdXJpbmcgc3RyZWFtaW5nCiAgIChDQVNTQU5EUkEtNDE3NCkKICogYWRkIC1jZiBvcHRpb24gdG8gbm9kZXRvb2wgc25hcHNob3QsIGFuZCB0YWtlQ29sdW1uRmFtaWx5U25hcHNob3QgdG8KICAgU3RvcmFnZVNlcnZpY2UgbWJlYW4gKENBU1NBTkRSQS01NTYpCiAqIG9wdGltaXplIGNsZWFudXAgdG8gZHJvcCBlbnRpcmUgc3N0YWJsZXMgd2hlcmUgcG9zc2ngrxdOAAABT948slwAECB0YWJsZSBzbyB0aGF0IGIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOQAAAEAZHJvcCAoQ0FTU0FORFJBLTU5NTcpCiAqIEZpeCB2YWxpZGF0aW9uIG9mIGVtcHR5IGNvbHVtbiBuYW1lcyBmb3IgY29tcGFjdCB0YWJsZXMgKENBU1NBTkRSQS02MTUyKQogKiBTa2lwIHJlcGxheWluZyBtdXRhdGlvbnMgdGhhdCBwYXNzIENSQyBidXQgZmFpbCB0byBkZXNlcmlhbGl6ZSAoQ0FTU0FORFJBLTYxODMpCiAqIFJld29yayB0b2tlbiByZXBsYWNlbWVudCB0byB1c2UgcmVwbGFjZV9hZGRyZXNzIChDQVNTQU5EUkEtNTkxNikKICogRml4IHhCU/MAAAFP3jyyXAAQaW9uIGF2YWlsYWJpbGl0eQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs5AAAAQAgYXV0aGVudGljYXRpb24gaW4gQ3FsUmVjb3JkUmVhZGVyIChDQVNTQU5EUkEtNzIyMSkKICogKEhhZG9vcCkgQ2xvc2UgamF2YSBkcml2ZXIgQ2x1c3RlciBpbiBDUUxSUi5jbG9zZSAoQ0FTU0FORFJBLTcyMjgpCiAqIFdhcm4gd2hlbiAnVVNJTkcgVElNRVNUQU1QJyBpcyB1c2VkIG9uIGEgQ0FTIEJBVENIIChDQVNTQU5EUkEtNzA2NykKICogcmV0dXJuIGFsbCBjcHUgdmFsdWVzIGZyb20gQmFja2dyb3VuZEFjdGl2aXR5TW9uaXRvci5yZWFkQW5kvoSJtQAKL3IL2tXDAAABT948slwAEHRhZGF0YQogICAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOYAAAEAb2lkIGNvbGxpc2lvbiB3LwogICB0b2tlbnMgb24gYWN0dWFsIG5vZGVzIChDQVNTQU5EUkEtMTkwMSkKICogZXhhbWluZSB0aGUgcmlnaHQgbmliYmxlIHdoZW4gdmFsaWRhdGluZyBUaW1lVVVJRCAoQ0FTU0FORFJBLTE5MTApCiAqIGluY2x1ZGUgc2Vjb25kYXJ5IGluZGV4ZXMgaW4gY2xlYW51cCAoQ0FTU0FORFJBLTE5MTYpCiAqIENGUy5zY3J1YkRhdGFEaXJlY3RvcmllcyBzaG91bGQgYWxzbyBjbGVhbnVwIGludmFsaWQgc2Vjb25kYXJ5IGluZCmuAPQAAAFP3jyyXAAQaW5nIG1hcCB0aW1lb3V0IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs5gAAAQBvcCkgYWRkIENxbFBhZ2luZ1JlY29yZFJlYWRlciBzdXBwb3J0IGZvciBSZXZlcnNlZFR5cGUgaW4gVGhyaWZ0IHRhYmxlCiAgIChDQVNTQU5EUkEtNTcxOCkKICogQWRkIC1uby1zbmFwc2hvdCBvcHRpb24gdG8gc2NydWIgKENBU1NBTkRSQS01ODkxKQogKiBGaXggdG8gc3VwcG9ydCBvZmYgaGVhcCBibG9vbSBmaWx0ZXJzIHNpemUgZ3JlYXRlciB0aGFuIDIgR0IgKENBU1NBTkRSQS01OTAzKQogKiBQcm9wZXJseSBoYW5kbGUgcGFyc2luZyBodWdltiiQBQAAAU/ePLJcABAgaW4gQ0ZNZXRhZGF0YSAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzmAAABAGVDb2x1bW4gdG8gZGlzayBpbiB0ZXN0cyAoQ0FTU0FORFJBLTI2NTApCiAqIEFkZCBzc3RhYmxlIGJ1bGsgbG9hZGluZyB1dGlsaXR5IChDQVNTQU5EUkEtMTI3OCkKICogYXZvaWQgcmVwbGF5aW5nIGhpbnRzIHRvIGRyb3BwZWQgY29sdW1uZmFtaWxpZXMgKENBU1NBTkRSQS0yNjg1KQogKiBhZGQgcGxhY2Vob2xkZXJzIGZvciBtaXNzaW5nIHJvd3MgaW4gcmFuZ2UgcXVlcnkgcHNldWRvLVJSIChDQVNTQU5EUkEtMjY4MCkKICogcmVtb3ZlIG5vLW8Wn35SAAABT948slwAEGlkYXRvcnMgdG8gbm9uLXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOYAAAEAc2VudCAoQ0FTU0FORFJBLTQ5NTcpCiAqIFNraXAgcmVwYWlyIG9uIHN5c3RlbV90cmFjZSBhbmQga2V5c3BhY2VzIHdpdGggUkY9MSAoQ0FTU0FORFJBLTQ5NTYpCiAqIChjcWwzKSBSZW1vdmUgYXJiaXRyYXJ5IFNFTEVDVCBsaW1pdCAoQ0FTU0FORFJBLTQ5MTgpCiAqIENvcnJlY3RseSBoYW5kbGUgcHJlcGFyZWQgb3BlcmF0aW9uIG9uIGNvbGxlY3Rpb25zIChDQVNTQU5EUkEtNDk0NSkKICogRml4IENRTDMgTElNSVQgKENBU1NBTkRSQS00ODc3KW2YIQ8AAAFP3jyyXAAQdGluZyBDVVNUT00gaW5kZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs5gAAAQBlcyBjb3JyZWN0IHZhbGlkYXRvciB0byBjcmVhdGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHBhcnRpdGlvbgogICBrZXlzIChDQVNTQU5EUkEtNzQ5OCkKICogQXZvaWQgTlBFcyB3aGVuIHJlY2VpdmluZyB0eXBlIGNoYW5nZXMgZm9yIGFuIHVua25vd24ga2V5c3BhY2UgKENBU1NBTkRSQS03Njg5KQogKiBBZGQgc3VwcG9ydCBmb3IgY3VzdG9tIDJpIHZhbGlkYXRpb24gKENBU1NBTkRSQS03NTc1KQogKiBQaWcgc3VwcG9ydCBmb3IgaGFkb29wUpY9PgAAAU/ePLJcABBvbCBzaXplIGFkanVzdG1lAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzmAAABACBiaW5kaW5nIG5lc3RlZCBjb2xsZWN0aW9ucyBpbiBERUxFVEUgKENBU1NBTkRSQS04OTAwKQogKiBDaGVjayBmb3Igb3ZlcmxhcCB3aXRoIG5vbi1lYXJseSBzc3RhYmxlcyBpbiBMQ1MgKENBU1NBTkRSQS04NzM5KQogKiBPbmx5IGNhbGN1bGF0ZSBtYXggcHVyZ2FibGUgdGltZXN0YW1wIGlmIHdlIGhhdmUgdG8gKENBU1NBTkRSQS04OTE0KQogKiAoY3Fsc2gpIEdyZWF0bHkgaW1wcm92ZSBwZXJmb3JtYW5jZSBvZiBDT1BZIEZST00gKENBU1NBTkQtub8vAAABT948slwAEGRlIGVuY3J5cHRpb24gaXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOYAAAEAQS0zNjU5KQogKiBTZWNvbmRhcnkgSW5kZXhlcyBzaG91bGQgcmVwb3J0IG1lbW9yeSBjb25zdW1wdGlvbiAoQ0FTU0FORFJBLTMxNTUpCiAqIGZpeCBmb3IgU2VsZWN0U3RhdGVtZW50IHN0YXJ0L2VuZCBrZXkgYXJlIG5vdCBzZXQgY29ycmVjdGx5CiAgIHdoZW4gYSBrZXkgYWxpYXMgaXMgaW52b2x2ZWQgKENBU1NBTkRSQS0zNzAwKQogKiBmaXggQ0xJIGBzaG93IHNjaGVtYWAgY29tbWFuZCBpbnNlcnQgb2YgYW4gZXh0cmEgY29tbWEgaW4KICAgY06ibPEAAAFP3jyyXAAQQU5EUkEtOTMxNCkKICogKAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs5gAAAQApCiAqIGFkZCBrZXkgdHlwZSBpbmZvcm1hdGlvbiBhbmQgYWxpYXMgKENBU1NBTkRSQS0yMzExLCAyMzk2KQogKiBjbGkgbm8gbG9uZ2VyIGRpdmlkZXMgcmVhZF9yZXBhaXJfY2hhbmNlIGJ5IDEwMCAoQ0FTU0FORFJBLTI0NTgpCiAqIG1hZGUgQ29tcGFjdGlvbkluZm8uZ2V0VGFza1R5cGUgcmV0dXJuIGFuIGVudW0gKENBU1NBTkRSQS0yNDgyKQogKiBhZGQgYSBzZXJ2ZXItd2lkZSBjYXAgb24gbWVhc3VyZWQgbWVtdGFibGUgbWVtb3J5IHVzYWdlAHteBwAAAU/ePLJcABByIG9uIHRhYmxlcyB3aXRoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzmAAABAFJBLTUxNjgpCiAqIGFkZCBDb25maWdIZWxwZXIgc3VwcG9ydCBmb3IgVGhyaWZ0IGZyYW1lIGFuZCBtYXggbWVzc2FnZSBzaXplcyAoQ0FTU0FORFJBLTUxODgpCiAqIGZpeCBub2RldG9vbCByZXBhaXIgbm90IGZhaWwgb24gbm9kZSBkb3duIChDQVNTQU5EUkEtNTIwMykKICogYWx3YXlzIGNvbGxlY3QgdG9tYnN0b25lIGhpbnRzIChDQVNTQU5EUkEtNTA2OCkKICogRml4IGVycm9yIHdoZW4gc291cmNpbmcgZmlsZSBpbiBjcWxzaCAoQ0FTU0FORFJ+pexfAAABT948slwAEGVyZmFjZXMgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOYAAAEAZW4gY29tcGFjdGluZyB3aWRlIHJvd3MgKENBU1NBTkRSQS0yODc5KQogKiBzaW5nbGUtcGFzcyBzdHJlYW1pbmcgKENBU1NBTkRSQS0yNjc3LCAyOTA2LCAyOTE2LCAzMDAzKQogKiB1c2UgcmVmZXJlbmNlIGNvdW50aW5nIGZvciBkZWxldGluZyBzc3RhYmxlcyBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gR0MKICAgKENBU1NBTkRSQS0yNTIxLCAzMTc5KQogKiBzdG9yZSBoaW50cyBhcyBzZXJpYWxpemVkIG11dGF0aW9ucyBpbnN0ZWFkIG9mIHBvaW50ZQjWYKQAAAFP3jyyXAAQbiBoYW5kc2hha2UgKyBicgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs5gAAAQBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNjI5MykKICogYWRkIHdpbmRvd3MgYmF0IGZpbGVzIGZvciBzaGVsbCBjb21tYW5kcyAoQ0FTU0FORFJBLTYxNDUpCiAqIFJlcXVpcmUgbG9nZ2luZyBpbiBmb3IgVGhyaWZ0IENRTDIvMyBzdGF0ZW1lbnQgcHJlcGFyYXRpb24gKENBU1NBTkRSQS02MjU0KQogKiByZXN0cmljdCBtYXhfbnVtX3Rva2VucyB0byAxNTM2IChDQVNTQU5EUkEtNjI2NykKICogTm9kZXRvb2wgZ2V0cyBkZWZhdWx0IEpNWCBwb3J0IGZyYGg6qgAAAU/ePLJcABBjb21wYWN0aW9uIGNhY2hlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzmAAABAHNob3cga2V5c3BhY2VzIgogKiB1cGdyYWRlIHRvIENvbmN1cnJlbnRMaW5rZWRIYXNoTWFwIDEuMSAoQ0FTU0FORFJBLTk3NSkKICogZml4IGluZGV4IHNjYW4gcm91dGluZyAoQ0FTU0FORFJBLTE3MjIpCiAqIGZpeCB0b21ic3RvbmluZyBvZiBzdXBlcmNvbHVtbnMgaW4gcmFuZ2UgcXVlcmllcyAoQ0FTU0FORFJBLTE3MzQpCiAqIGNsZWFyIGVuZHBvaW50IGNhY2hlIGFmdGVyIHVwZGF0aW5nIGtleXNwYWNlIG1ldGFkYXRhIChDQVNTQU5EUkEtMTea4Qt8AAABT948slwAEGUgKENBU1NBTkRSQS0zMjAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOYAAAEAKQogKiBFeHBvc2Ugc2Vjb25kYXJ5IGluZGljaWVzIHRvIHRoZSByZXN0IG9mIG5vZGV0b29sIChDQVNTQU5EUkEtNDQ2NCkKICogQmluYXJ5IHByb3RvY29sOiBhdm9pZCBzZW5kaW5nIG5vdGlmaWNhdGlvbiBmb3IgMC4wLjAuMCAoQ0FTU0FORFJBLTUyMjcpCiAqIGFkZCBVc2VDb25kQ2FyZE1hcmsgWFgganZtIHNldHRpbmdzIG9uIGpkayAxLjcgKENBU1NBTkRSQS00MzY2KQogKiBDUUwzIHJlZmFjdG9yIHRvIGFsbG93IGNvbnZlcnNpb24gZnVuY92WKccAAAFP3jyyXAAQYWRzIHdoZW4gcmVhZCByZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs5gAAAQAga2V5cyAoQ0FTU0FORFJBLTQ1MzYpCiAqIEltcHJvdmUgbmF0aXZlIHByb3RvY29sIHNlcmlhbGl6YXRpb24gKENBU1NBTkRSQS01NjY0KQogKiBVcGdyYWRlIFRocmlmdCB0byAwLjkuMSAoQ0FTU0FORFJBLTU5MjMpCiAqIFJlcXVpcmUgc3VwZXJ1c2VyIHN0YXR1cyBmb3IgYWRkaW5nIHRyaWdnZXJzIChDQVNTQU5EUkEtNTk2MykKICogTWFrZSBzdGFuZGFsb25lIHNjcnViYmVyIGhhbmRsZSBvbGQgYW5kIG5ldyBzdHlsZSBsZXZlbGVkIG1hbmlm6l6SbAAAAU/ePLJcABAgKENBU1NBTkRSQS0zMjEyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzmAAABAENBU1NBTkRSQS0yNDk4KQogKiBBZGQgcXVlcnktYnktY29sdW1uIG1vZGUgdG8gc3RyZXNzLmphdmEgKENBU1NBTkRSQS0zMDY0KQogKiBBZGQgImluc3RhbGwiIGNvbW1hbmQgdG8gY2Fzc2FuZHJhLmJhdCAoQ0FTU0FORFJBLTI5MikKICogY2xlYW4gdXAgS1NNZXRhZGF0YSwgQ0ZNZXRhZGF0YSBmcm9tIHVubmVjZXNzYXJ5CiAgIFRocmlmdDwtPkF2cm8gY29udmVyc2lvbiBtZXRob2RzIChDQVNTQU5EUkEtMzAzMikKICogQWRkIHRpbWVvdXRzIHSsMkBVAApDz2Mm0s8AAAFP3jyyXAAQaWx5U3RvcmVNQmVhbkl0ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs6QAAAQBSQS03NjY1KQpNZXJnZWQgZnJvbSAyLjA6CiAqIFNldCBnY19ncmFjZV9zZWNvbmRzIHRvIHNldmVuIGRheXMgZm9yIHN5c3RlbSBzY2hlbWEgdGFibGVzIChDQVNTQU5EUkEtNzY2OCkKICogU2ltcGxlU2VlZFByb3ZpZGVyIG5vIGxvbmdlciBjYWNoZXMgc2VlZHMgZm9yZXZlciAoQ0FTU0FORFJBLTc2NjMpCiAqIEFsd2F5cyBmbHVzaCBvbiB0cnVuY2F0ZSAoQ0FTU0FORFJBLTc1MTEpCiAqIEZpeCBSZXZlcnNlZFR5cGUoRGF0ZVR5cGUpIG1hcHBp7hBujQAAAU/ePLJcABA3NjkpCgoKMC42LjAtYmV0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzpAAABAGFibGVfYWdlIHRvIGZyYWN0aW9uYWwgZGF5cyAoQ0FTU0FORFJBLTg0MDYpCiAqIEZpeCBzb21lIG11bHRpLWNvbHVtbiByZWxhdGlvbnMgd2l0aCBpbmRleGVzIG9uIHNvbWUgY2x1c3RlcmluZwogICBjb2x1bW5zIChDQVNTQU5EUkEtODI3NSkKICogRml4IG1lbW9yeSBsZWFrIGluIFNTVGFibGVTaW1wbGUqV3JpdGVyIGFuZCBTU1RhYmxlUmVhZGVyLnZhbGlkYXRlKCkKICAgKENBU1NBTkRSQS04NzQ4KQogKiBUaHJvdyBPT00gaWYgYWxsb2NhdGktt8LEAAABT948slwAEGNoZUxvYWRlciAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOkAAAEAQVNTQU5EUkEtMjk3NSkKICogKENMSSkgdHJhY2sgZWxhcHNlZCB0aW1lIGZvciBgZGVsZXRlJyBvcGVyYXRpb24gKENBU1NBTkRSQS00MDYwKQogKiAoQ0xJKSBqbGluZSB2ZXJzaW9uIGlzIGJ1bXBlZCB0byAxLjAgdG8gcHJvcGVybHkgIHN1cHBvcnQKICAgJ2RlbGV0ZScga2V5IGZ1bmN0aW9uIChDQVNTQU5EUkEtNDEzMikKICogU2F2ZSBJbmRleFN1bW1hcnkgaW50byBuZXcgU1NUYWJsZSAnU3VtbWFyeScgY29tcG9uZW50IChDQVNTQU5EUkEtMpleaaMAAAFP3jyyXAAQSGFuZG9mZk1hbmFnZXIsIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs6QAAAQBkIENxbE91dHB1dEZvcm1hdCAoQ0FTU0FORFJBLTY5MjcpCiAqIERvbid0IGRlcGVuZCBvbiBjYXNzYW5kcmEgY29uZmlnIGZvciBub2RldG9vbCByaW5nIChDQVNTQU5EUkEtNzUwOCkKICogKGNxbHNoKSBGaXggZmFpbGluZyBjcWxzaCBmb3JtYXR0aW5nIHRlc3RzIChDQVNTQU5EUkEtNzcwMykKICogRml4IEluY29tcGF0aWJsZUNsYXNzQ2hhbmdlRXJyb3IgZnJvbSBoYWRvb3AyIChDQVNTQU5EUkEtNzIyOSkKICogQWRkICdub2RldG9vbCBzZXRoT68OqwAAAU/ePLJcABAgZnJvbSBjb21wYWN0aW9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzpAAABAE5EUkEtMTc5MywgLTE3OTQsIC0xNzk1KQogKiBmaXggcmFuZ2UgcXVlcmllcyBhZ2FpbnN0IHdyYXBwZWQgcmFuZ2UgKENBU1NBTkRSQS0xNzgxKQogKiBmaXggY29uc2lzdGVuY3lsZXZlbCBjYWxjdWxhdGlvbnMgZm9yIE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5CiAgIChDQVNTQU5EUkEtMTgwNCkKICogY2xpIHN1cHBvcnQgaW5kZXggdHlwZSBlbnVtIG5hbWVzIChDQVNTQU5EUkEtMTgxMCkKICogaW1wcm92ZWQgdmFsaWRhdGlvbiBvZiBjb2x1bW7dYSyQAAABT948slwAEHRyaWVzIGZvciBzdXBlciAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOkAAAEAIHBhZ2luZyBidWcgd2l0aCBkZWxldGVkIGNvbHVtbnMgKENBU1NBTkRSQS02NzQ4KQogKiBGaXggTlBFIG9uIEJ1bGtMb2FkZXIgY2F1c2VkIGJ5IGxvc2luZyBTdHJlYW1FdmVudCAoQ0FTU0FORFJBLTY2MzYpCiAqIEZpeCB0cnVuY2F0aW5nIGNvbXByZXNzaW9uIG1ldGFkYXRhIChDQVNTQU5EUkEtNjc5MSkKICogQWRkIENNU0NsYXNzVW5sb2FkaW5nRW5hYmxlZCBKVk0gb3B0aW9uIChDQVNTQU5EUkEtNjU0MSkKICogQ2F0Y2ggbWVtdGFibGUgZu6BJTUAAAFP3jyyXAAQIGNsZWFuIHVwIGFuZCBvcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs6QAAAQAgKENBU1NBTkRSQS0xNTA5KQogKiBtaW4sIG1heCBjb21wYWN0aW9uIHRocmVzaG9sZCBhcmUgY29uZmlndXJhYmxlIGFuZCBwZXJzaXN0ZW50IAogICBwZXItQ29sdW1uRmFtaWx5IChDQVNTQU5EUkEtMTQ2OCkKICogZml4IHJlcGxheWluZyB0aGUgbGFzdCBtdXRhdGlvbiBpbiBhIGNvbW1pdGxvZyB1bm5lY2Vzc2FyaWx5IAogICAoQ0FTU0FORFJBLTE1MTIpCiAqIGludm9rZSBnZXREZWZhdWx0VW5jYXVnaHRFeGNlcHRpb25IYW5kbGVyIGZyb20gZB4yhQAAAU/ePLJcABAgb2ZmLWhlYXAgcm93IGNhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzpAAABACAoQ0FTU0FORFJBLTQ5MTMpCiAqIHNhdmUgdHJ1bmNhdGlvbiBwb3NpdGlvbiBpbiBzeXN0ZW0gdGFibGUgKENBU1NBTkRSQS00OTA2KQogKiBNb3ZlIENvbXByZXNzaW9uTWV0YWRhdGEgb2ZmLWhlYXAgKENBU1NBTkRSQS00OTM3KQogKiBhbGxvdyBDTEkgdG8gR0VUIGNxbDMgY29sdW1uZmFtaWx5IGRhdGEgKENBU1NBTkRSQS00OTI0KQogKiBGaXggcmFyZSByYWNlIGNvbmRpdGlvbiBpbiBnZXRFeHBpcmVUaW1lRm9yRW5kcG9pbnQgKENBU1NBTkTcgNIeAAABT948slwAEDEpCiAqIFN1Z2dlc3QgQ1QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOkAAAEAbmQgbmV0d29yayBtZXNzYWdlcwogICAoQ0FTU0FORFJBLTU1MTEpCiAqIHJlbW92ZWQgUEJTUHJlZGljdG9yIChDQVNTQU5EUkEtNTQ1NSkKICogQ0FTIHN1cHBvcnQgKENBU1NBTkRSQS01MDYyLCA1NDQxLCA1NDQyLCA1NDQzLCA1NjE5LCA1NjY3KQogKiBMZXZlbGVkIGNvbXBhY3Rpb24gcGVyZm9ybXMgc2l6ZS10aWVyZWQgY29tcGFjdGlvbnMgaW4gTDAgCiAgIChDQVNTQU5EUkEtNTM3MSwgNTQzOSkKICogQWRkIHlhbWwgbmV0d29yayB0b3BvbAe/wBAAAAFP3jyyXAAQam9icyBubyBsb25nZXIgcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs6QAAAQB0ZXMgYmVmb3JlIGFsbCByZXNwb25zZXMgYXJyaXZlIAogICAoQ0FTU0FORFJBLTU2NjgpCiAqIEZpeCBjcm9zcy1EQyBtdXRhdGlvbiBmb3J3YXJkaW5nIChDQVNTQU5EUkEtNTYzMikKICogUmVkdWNlIFNTVGFibGVMb2FkZXIgbWVtb3J5IHVzYWdlIChDQVNTQU5EUkEtNTU1NSkKICogU2NhbGUgaGludGVkX2hhbmRvZmZfdGhyb3R0bGVfaW5fa2IgdG8gY2x1c3RlciBzaXplIChDQVNTQU5EUkEtNTI3MikKICogKEhhZG9vcCkgQWRkIENRTDMgaW5wldi+4wAAAU/ePLJcABBYIHBvcnQgdG8gNzE5OSAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzpAAABAHNhbXBsZUtleVJhbmdlIHRvIGF2b2lkIHJldHVybmluZwogICBtdWx0aS1NQiByZXN1bHRzIGFzIGFuIGF0dHJpYnV0ZSAoQ0FTU0FORFJBLTQ0NTIpCiAqIGZsdXNoIGJhc2VkIG9uIGRhdGEgc2l6ZSwgbm90IHRocm91Z2hwdXQ7IG92ZXJ3cml0dGVuIGNvbHVtbnMgbm8gCiAgIGxvbmdlciBhcnRpZmljaWFsbHkgaW5mbGF0ZSBsaXZlUmF0aW8gKENBU1NBTkRSQS00Mzk5KQogKiB1cGRhdGUgZGVmYXVsdCBjb21taXRsb2cgc2VnbWVudCBzaXplIHRqnl6BAAABT948slwAECBvdXRwdXQgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOkAAAEAIGZsdXNoaW5nIChDQVNTQU5EUkEtNjI0OSkKICogUHJvdmlkZSBob29rcyBhcm91bmQgQ1FMMi9DUUwzIHN0YXRlbWVudCBleGVjdXRpb24gKENBU1NBTkRSQS02MjUyKQogKiBSZXF1aXJlIFBlcm1pc3Npb24uU0VMRUNUIGZvciBDQVMgdXBkYXRlcyAoQ0FTU0FORFJBLTYyNDcpCiAqIE5ldyBDUUwtYXdhcmUgU1NUYWJsZVdyaXRlciAoQ0FTU0FORFJBLTU4OTQpCiAqIFJlamVjdCBDQVMgb3BlcmF0aW9uIHdoZW4gdGhlIHByb3RvY29sIHYxIGlzIPAMx0AAAAFP3jyyXAAQIG9uIHNvY2tldCBjbG9zZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs6QAAAQAgIGRyb3BwZWQgKENBU1NBTkRSQS03NTY2KQogKiBjYXNzYW5kcmEtc3RyZXNzOiBmaXggc3VwcG9ydCBmb3IgTmV0d29ya1RvcG9sb2d5U3RyYXRlZ3kgKENBU1NBTkRSQS03OTQ1KQogKiBGaXggc2F2aW5nIGNhY2hlcyB3aGVuIGEgdGFibGUgaXMgZHJvcHBlZCAoQ0FTU0FORFJBLTc3ODQpCiAqIEFkZCBiZXR0ZXIgZXJyb3IgY2hlY2tpbmcgb2YgbmV3IHN0cmVzcyBwcm9maWxlIChDQVNTQU5EUkEtNzcxNikKICogVXNlIFRocmVhZExvY2FsUmFu+4SRlAAAAU/ePLJcABBsYXkgKENBU1NBTkRSQS0xAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzpAAABAHBhY3Rpb25faGlzdG9yeSB0aW1lc3RhbXBzIChDQVNTQU5EUkEtNjc4NCkKICogQ29tcGFyZSBzY29yZXMgb2YgZnVsbCByZXBsaWNhIG9yZGVyaW5nIGluIERFUyAoQ0FTU0FORFJBLTY2ODMpCiAqIGZpeCBDTUUgaW4gU2Vzc2lvbkluZm8gdXBkYXRlUHJvZ3Jlc3MgYWZmZWN0aW5nIG5ldHN0YXRzIChDQVNTQU5EUkEtNjU3NykKICogQWxsb3cgcmVwYWlyaW5nIGJldHdlZW4gc3BlY2lmaWMgcmVwbGljYXMgKENBU1NBTkRSQS02NDQwKQogKiBBbGy6m1VZAAABT948slwAEGQgZnJvbSAxLjE6CiAqIGMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOkAAAEAdXBsaWNhdGUgcmVzdWx0cyBpbiBESVNUSU5DVCBxdWVyaWVzIG9uIHN0YXRpYyBjb2x1bW5zIHdpdGggcXVlcnkKICAgcGFnaW5nIChDQVNTQU5EUkEtODEwOCkKICogQWRkIERhdGVUaWVyZWRDb21wYWN0aW9uU3RyYXRlZ3kgKENBU1NBTkRSQS02NjAyKQogKiBQcm9wZXJseSB2YWxpZGF0ZSBhc2NpaSBhbmQgdXRmOCBzdHJpbmcgbGl0ZXJhbHMgaW4gQ1FMIHF1ZXJpZXMgKENBU1NBTkRSQS04MTAxKQogKiAoY3Fsc2gpIEZpeCBhdXRvY29tcGxldHr323MAClgsH745VQAAAU/ePLJcABBoIHRoZSB2YWxpZGF0aW9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzrAAABAERSQS00Nzg5KQogKiBGaXggSEggdG8gY29tcGFjdCB3aXRoIGNvcnJlY3QgZ2NCZWZvcmUsIHdoaWNoIGF2b2lkcyB3aXBpbmcgb3V0CiAgIHVuZGVsaXZlcmVkIGhpbnRzIChDQVNTQU5EUkEtNDc3MikKICogTENTIHdpbGwgbWVyZ2UgdXAgdG8gMzIgTDAgc3N0YWJsZXMgYXMgaW50ZW5kZWQgKENBU1NBTkRSQS00Nzc4KQogKiBOVFMgd2lsbCBkZWZhdWx0IHVuY29uZmlndXJlZCBEQyByZXBsaWNhcyB0byB6ZXJvIChDQVNTQU5EUkEtNDY3NSkKICo/4WIuAAABT948slwAEEpWTSB1c2luZwogICBDUUwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOsAAAEAQVNTQU5EUkEtODM0OCkKICogTGltaXQgbWFqb3Igc3N0YWJsZSBvcGVyYXRpb25zIHRvIHRoZWlyIGNhbm9uaWNhbCByZXByZXNlbnRhdGlvbiAoQ0FTU0FORFJBLTg2NjkpCiAqIGNxbHNoOiBBZGQgdGVzdHMgZm9yIElOU0VSVCBhbmQgVVBEQVRFIHRhYiBjb21wbGV0aW9uIChDQVNTQU5EUkEtOTEyNSkKICogY3Fsc2g6IHF1b3RlIGNvbHVtbiBuYW1lcyB3aGVuIG5lZWRlZCBpbiBDT1BZIEZST00gaW5zZXJ0cyAoQ0FTU0FORFJBLTkwODApCiAqIEkQCFwAAAFP3jyyXAAQbGVzCiAgIG9wZXJhdGlvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs6wAAAQAKICogYWRkIC1EIG9wdGlvbiB0byBTdHJlc3MuamF2YSB0byBhbGxvdyByZWFkaW5nIGhvc3RzIGZyb20gYSBmaWxlIAogICAoQ0FTU0FORFJBLTIxNDkpCiAqIGJvdW5kIGhpbnRzIENGIHRocm91Z2hwdXQgYmV0d2VlbiAzMk0gYW5kIDI1Nk0gKENBU1NBTkRSQS0yMTQ4KQogKiBjb250aW51ZSBzdGFydGluZyB3aGVuIGludmFsaWQgc2F2ZWQgY2FjaGUgZW50cmllcyBhcmUgZW5jb3VudGVyZWQKICAgKENBU1NBTkRSQS0yMDc2KQogKiBhZGQgbWF4Xg2XSwAAAU/ePLJcABByIENGSUYgYW5kIENGUlIgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzrAAABAChDQVNTQU5EUkEtNTAxKQoKCjAuNC4xCiAqIEZpeCBGbHVzaFBlcmlvZCBjb2x1bW5mYW1pbHkgY29uZmlndXJhdGlvbiByZWdyZXNzaW9uCiAgIChDQVNTQU5EUkEtNDU1KQogKiBGaXggbG9uZyBjb2x1bW4gbmFtZSBzdXBwb3J0IChDQVNTQU5EUkEtNDYwKQogKiBGaXggZm9yIHNlcmlhbGl6aW5nIGEgcm93IHRoYXQgb25seSBjb250YWlucyB0b21ic3RvbmVzCiAgIChDQVNTQU5EUkEtNDU4KQogKiBGaXggZm9yIGRpc2NhcmRpbmcgdW5uZWVkZWRCVRrfAAABT948slwAEHMgKENBU1NBTkRSQS00NDEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOsAAAEAcyBmb3IgYWRkaW5nIHRyaWdnZXJzIChDQVNTQU5EUkEtNTk2MykKICogTWFrZSBzdGFuZGFsb25lIHNjcnViYmVyIGhhbmRsZSBvbGQgYW5kIG5ldyBzdHlsZSBsZXZlbGVkIG1hbmlmZXN0CiAgIChDQVNTQU5EUkEtNjAwNSkKICogRml4IHBheG9zIGJ1Z3MgKENBU1NBTkRSQS02MDEyLCA2MDEzLCA2MDIzKQogKiBGaXggcGFnZWQgcmFuZ2VzIHdpdGggbXVsdGlwbGUgcmVwbGljYXMgKENBU1NBTkRSQS02MDA0KQogKiBGaXggcG90ZW50aWFsIEFzc1TTV38AAAFP3jyyXAAQY291bnRlciB1cGRhdGVzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs6wAAAQBzIGNhY2hlIHRvIGJlIHNldCB2aWEgSk1YIChDQVNTQU5EUkEtNzY5OCkKICogSW5jbHVkZSBzY2hlbWFfdHJpZ2dlcnMgQ0YgaW4gcmVhZGFibGUgc3lzdGVtIHJlc291cmNlcyAoQ0FTU0FORFJBLTc5NjcpCiAqIEZpeCBSb3dJbmRleEVudHJ5IHRvIHJlcG9ydCBjb3JyZWN0IHNlcmlhbGl6ZWRTaXplIChDQVNTQU5EUkEtNzk0OCkKICogTWFrZSBDUUxTU1RhYmxlV3JpdGVyIHN5bmMgd2l0aGluIHBhcnRpdGlvbnMgKENBU1NBTkRSQS03MzYwKQogE34Z8wAAAU/ePLJcABBkZW5jaWVzIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzrAAABAHAgb2YgcGFydGlhbGx5LXdyaXR0ZW4gc3N0YWJsZXMgCiAgIChDQVNTQU5EUkEtMjIwNikKICogZml4IHN1cGVyY29sdW1uIGRlL3NlcmlhbGl6YXRpb24gd2hlbiBzdWJjb2x1bW4gY29tcGFyYXRvciBpcyBkaWZmZXJlbnQKICAgZnJvbSBzdXBlcmNvbHVtbidzIChDQVNTQU5EUkEtMjEwNCkKICogZml4IHN0YXJ0aW5nIHVwIG9uIFdpbmRvd3Mgd2hlbiBDQVNTQU5EUkFfSE9NRSBjb250YWlucyB3aGl0ZXNwYWNlCiAgIChDQVNTQU5EUkEtMjIzNymEaFYGAAABT948slwAEGVjdGlvbnMgb3ZlciB0aGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOsAAAEAc2luZ2xlIGFyZyB0byBhIHByZXBhcmVkIHN0YXRlbWVudCB3aXRoIHRoZSB2MSBvciB2MgogICBwcm90b2NvbCAoQ0FTU0FORFJBLTgwNjIpCiAqIEZpeCBDbGFzc0Nhc3RFeGNlcHRpb24gaW4gRElTVElOQ1QgcXVlcnkgb24gc3RhdGljIGNvbHVtbnMgd2l0aAogICBxdWVyeSBwYWdpbmcgKENBU1NBTkRSQS04MTA4KQogKiBGaXggTlBFIG9uIG51bGwgbmVzdGVkIFVEVCBpbnNpZGUgYSBzZXQgKENBU1NBTkRSQS04MTA1KQogKiBGaXggZXhjZXB0ad+Uu6sAAAFP3jyyXAAQZnJvbSBsb2c0aiB0byBsbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs6wAAAQBvIHJlY2xhaW0gbWVtdGFibGVzIChDQVNTQU5EUkEtODQ1OSkKICogUmVtb3ZlIHRtcGxpbmsgZmlsZXMgZm9yIG9mZmxpbmUgY29tcGFjdGlvbnMgKENBU1NBTkRSQS04MzIxKQogKiBSZWR1Y2UgbWF4SGludHNJblByb2dyZXNzIChDQVNTQU5EUkEtODQxNSkKICogQlRyZWUgdXBkYXRlcyBtYXkgY2FsbCBwcm92aWRlZCB1cGRhdGUgZnVuY3Rpb24gdHdpY2UgKENBU1NBTkRSQS04MDE4KQogKiBSZWxlYXNlIHNzdGFibGUgcmVmZXJlbmNlcyBhZnRlR2AzYQAAAU/ePLJcABApCiAqIGFkZCBNZXNzYWdpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzrAAABAG5lZCB0eXBlIHdoZW4gdGhhdCBVRFQKICAgaXMgbW9kaWZpZWQgKENBU1NBTkRSQS05MTQ4LCBDQVNTQU5EUkEtOTE5MikKICogVXNlIGhpZ2hlciB0aW1lb3V0IGZvciBwcmVwYWlyIGFuZCBzbmFwc2hvdCBpbiByZXBhaXIgKENBU1NBTkRSQS05MjYxKQogKiBGaXggYW50aWNvbXBhY3Rpb24gYmxvY2tpbmcgQU5USV9FTlRST1BZIHN0YWdlIChDQVNTQU5EUkEtOTE1MSkKICogUmVwYWlyIHdhaXRzIGZvciBhbnRpY29tcGFjdGlvbiB0byBmaW5pc2gdb87UAAABT948slwAEERSQS0yNTUyKQogKiB0cmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOsAAAEAaXJlY3RvcnkgKENBU1NBTkRSQS01MTE4KQogKiBGaXggQ1FMMyBCQVRDSCBhdXRob3JpemF0aW9uIGNhY2hpbmcgKENBU1NBTkRSQS01MTQ1KQogKiBmaXggZ2V0X2NvdW50IHJldHVybnMgaW5jb3JyZWN0IHZhbHVlIHdpdGggVFRMIChDQVNTQU5EUkEtNTA5OSkKICogYmV0dGVyIGhhbmRsaW5nIGZvciBtaWQtY29tcGFjdGlvbiBmYWlsdXJlIChDQVNTQU5EUkEtNTEzNykKICogY29udmVydCBkZWZhdWx0IG1hcnNoYWxsZXJzIGxpc3QgdG8gbWFwINYD2c8AAAFP3jyyXAAQQ0FTU0FORFJBLTQyNTYpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs6wAAAQBlcXVhbCBhbmQgdW5lcXVhbCByZXN0cmljdGlvbiAoQ0FTU0FORFJBLTQ1MzIpCiAqIChjcWwzKSBpbXByb3ZlcyBPUkRFUiBCWSB2YWxpZGF0aW9uIChDQVNTQU5EUkEtNDYyNCkKICogRml4IHBvdGVudGlhbCBkZWFkbG9jayBkdXJpbmcgY291bnRlciB3cml0ZXMgKENBU1NBTkRSQS00NTc4KQogKiBGaXggY3FsIGVycm9yIHdpdGggT1JERVIgQlkgd2hlbiB1c2luZyBJTiAoQ0FTU0FORFJBLTQ2MTIpCk1lcmdlZCBmcm9tIDEuMDoKICogaW5jcmVhpV0TzgAAAU/ePLJcABBORFJBLTQwNzIpCiAqIG9wAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzrAAABAHJlc3Npb25zIGluIGluZGV4IHNjYW4KICAgKENBU1NBTkRSQS0yMzQ3KQogKiBlbnN1cmUgc2l6ZSBjYWxjdWxhdGlvbiBhbmQgd3JpdGUgcGhhc2Ugb2YgbGFyZ2Utcm93IGNvbXBhY3Rpb24gdXNlCiAgIHRoZSBzYW1lIHRocmVzaG9sZCBmb3IgVFRMIGV4cGlyYXRpb24gKENBU1NBTkRSQS0yMzQ5KQogKiBmaXggcmFjZSB3aGVuIGl0ZXJhdGluZyBDRnMgZHVyaW5nIGFkZC9kcm9wIChDQVNTQU5EUkEtMjM1MCkKICogYWRkIENvbnNpc3RlbmN5TGUeaGYNAAABT948slwAEE5EUkEtNDk5MikKICogUmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILOsAAAEAICogYWRkIGNsaSBzdXBwb3J0IGZvciBzZXR0aW5nIHVzZXJuYW1lL3Bhc3N3b3JkIGF0ICdjb25uZWN0JyBjb21tYW5kIAogICAoQ0FTU0FORFJBLTIxMTEpCiAqIGFkZCAtRCBvcHRpb24gdG8gU3RyZXNzLmphdmEgdG8gYWxsb3cgcmVhZGluZyBob3N0cyBmcm9tIGEgZmlsZSAKICAgKENBU1NBTkRSQS0yMTQ5KQogKiBib3VuZCBoaW50cyBDRiB0aHJvdWdocHV0IGJldHdlZW4gMzJNIGFuZCAyNTZNIChDQVNTQU5EUkEtMjE0OCkKICogY29udGludWRNMdYAAAFP3jyyXAAQIAogICAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs6wAAAQAxIGRhdGEgZGlyZWN0b3J5IChDQVNTQU5EUkEtNTExOCkKICogRml4IENRTDMgQkFUQ0ggYXV0aG9yaXphdGlvbiBjYWNoaW5nIChDQVNTQU5EUkEtNTE0NSkKICogZml4IGdldF9jb3VudCByZXR1cm5zIGluY29ycmVjdCB2YWx1ZSB3aXRoIFRUTCAoQ0FTU0FORFJBLTUwOTkpCiAqIGJldHRlciBoYW5kbGluZyBmb3IgbWlkLWNvbXBhY3Rpb24gZmFpbHVyZSAoQ0FTU0FORFJBLTUxMzcpCiAqIGNvbnZlcnQgZGVmYXVsdCBtYXJzaGFsbGVycyBsaXN0mjuenQAKbImPi0ENAAABT948slwAEHQgY29uc2lzdGVuY3kgbGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILO4AAAEAcGFjZSBkZWZpbml0aW9uIHN0YXRlbWVudAogICAoQ0FTU0FORFJBLTMxMjkpCiAqIEN1c3RvbVRUaHJlYWRQb29sU2VydmVyIHRvIGxvZyBUVHJhbnNwb3J0RXhjZXB0aW9uIGF0IERFQlVHIGxldmVsCiAgIChDQVNTQU5EUkEtMzE0MikKICogYWxsb3cgdG9wb2xvZ3kgc29ydCB0byB3b3JrIHdpdGggbm9uLXVuaXF1ZSByYWNrIG5hbWVzIGJldHdlZW4gCiAgIGRhdGFjZW50ZXJzIChDQVNTQU5EUkEtMzE1MikKICogSW1wcm92ZSBjYWNoaW5nIG9mIHgo81wAAAFP3jyyXAAQbW92ZSBjb21taXRsb2cgcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs7gAAAQAgICB3aXRoIG9wdGlvbnMgb2YgTk9ORSwgT05FLCBRVU9SVU0sIGFuZCBBTEwuCiAgICAtIGFkZGVkIHNpbWlsYXIgY29uc2lzdGVuY3lfbGV2ZWwgcGFyYW1ldGVyIHRvIHJlYWQgbWV0aG9kcwogICAgLSBjb2x1bW4tbmFtZS1zZXQgc2xpY2Ugd2l0aCBubyBuYW1lcyBnaXZlbiBub3cgcmV0dXJucyB6ZXJvIGNvbHVtbnMKICAgICAgaW5zdGVhZCBvZiBhbGwgb2YgdGhlbS4gICgiYWxsIiBjYW4gcnVuIHlvdXIgc2VydmVyIG91dCBvZiBtZW1vcnkuzh8TsQAAAU/ePLJcABAtMTc3MikKICogdXNlIGxvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzuAAABADE3NjYpCiAqIGNvdW50IHRpbWVvdXRzIHRvd2FyZHMgZHluYW1pY3NuaXRjaCBsYXRlbmNpZXMgKENBU1NBTkRSQS0xOTA1KQogKiBFeHBvc2UgaW5kZXgtYnVpbGRpbmcgc3RhdHVzIGluIEpNWCArIGNsaSBzY2hlbWEgZGVzY3JpcHRpb24KICAgKENBU1NBTkRSQS0xODcxKQogKiBhbGxvdyBbTE9DQUx8RUFDSF1fUVVPUlVNIHRvIGJlIHVzZWQgd2l0aCBub24tTmV0d29ya1RvcG9sb2d5IAogICByZXBsaWNhdGlvbiBTdHJhdGVnaWVzCiAqIGluY3LG/4QpAAABT948slwAEGcgKENBU1NBTkRSQS0xMTIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILO4AAAEAUkEtNjU0NSkKICogQXZvaWQgU3RhY2tPdmVyZmxvdyB3aGVuIHVzaW5nIGxhcmdlIElOIHF1ZXJpZXMgKENBU1NBTkRSQS02NTY3KQogKiBOb2RldG9vbCB1cGdyYWRlc3N0YWJsZXMgaW5jbHVkZXMgc2Vjb25kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS02NTk4KQogKiBQYWdpbmF0ZSBiYXRjaGxvZyByZXBsYXkgKENBU1NBTkRSQS02NTY5KQogKiBza2lwIGJsb2NraW5nIG9uIHN0cmVhbWluZyBkdXJpbmcgZHJhaW4gKENBU1NBTkRSQS02NjAzKQogKs1otFcAAAFP3jyyXAAQIG5vZGV0b29sIHJpbmcgdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs7gAAAQAKICogcmVwb3J0IGxhdGVuY3kgYW5kIGNhY2hlIGhpdCByYXRlIHN0YXRpc3RpY3Mgd2l0aCBsaWZldGltZSB0b3RhbHMKICAgaW5zdGVhZCBvZiBhdmVyYWdlIG92ZXIgdGhlIGxhc3QgbWludXRlIChDQVNTQU5EUkEtNzAyKQogKiBzdXBwb3J0IGdldF9yYW5nZV9zbGljZSBmb3IgUmFuZG9tUGFydGl0aW9uZXIgKENBU1NBTkRSQS03NDUpCiAqIHBlci1rZXlzcGFjZSByZXBsaWNhdGlvbiBmYWN0b3J5IGFuZCByZXBsaWNhdGlvbiBzdHJhdGVneSAoH0kZOQAAAU/ePLJcABAgbmV3IGNhc3NhbmRyYS10AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzuAAABAChDQVNTQU5EUkEtNTE4NSkKICogZml4IGJ1ZyBpbiBjb21wYWN0IHN0b3JhZ2UgbWV0YWRhdGEgaGFuZGxpbmcgKENBU1NBTkRSQS01MTg5KQogKiBWYWxpZGF0ZSBsb2dpbiBmb3IgVVNFIHF1ZXJpZXMgKENBU1NBTkRSQS01MjA3KQogKiBjbGk6IHJlbW92ZSBkZWZhdWx0IHVzZXJuYW1lIGFuZCBwYXNzd29yZCAoQ0FTU0FORFJBLTUyMDgpCiAqIGNvbmZpZ3VyZSBwb3B1bGF0ZV9pb19jYWNoZV9vbl9mbHVzaCBwZXItQ0YgKENBU1NBTkRSQS00NjkJwMZUAAABT948slwAEGdpdmVuIGluIFdIRVJFIGMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILO4AAAEAIGRpc3BsYXlpbmcgY2ZkZWYgZW50cmllcyBmb3Igc3VwZXIgY29sdW1uZmFtaWxpZXMgKENBU1NBTkRSQS0zNDE1KQogKiBNYWtlIGNvdW50ZXIgc2hhcmQgbWVyZ2luZyB0aHJlYWQgc2FmZSAoQ0FTU0FORFJBLTMxNzgpCiAqIFJldmVydCBDQVNTQU5EUkEtMjg1NQogKiBGaXggYnVnIHByZXZlbnRpbmcgdGhlIHVzZSBvZiBlZmZpY2llbnQgY3Jvc3MtREMgd3JpdGVzIChDQVNTQU5EUkEtMzQ3MikKICogYGRlc2NyaWJlIHJpbmdgIGNvbW1hbmQgZgaHWPYAAAFP3jyyXAAQb24gb3B0aW1pemF0aW9uIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs7gAAAQBsIChDQVNTQU5EUkEtNDMxMCkKICogRml4IHBvdGVudGlhbCBOUEUgZHVyaW5nIENGUyByZWxvYWQgKENBU1NBTkRSQS00Nzg2KQogKiBDb21wb3NpdGUgaW5kZXhlcyBtYXkgbWlzcyByZXN1bHRzIChDQVNTQU5EUkEtNDc5NikKICogTW92ZSBjb25zaXN0ZW5jeSBsZXZlbCB0byB0aGUgcHJvdG9jb2wgbGV2ZWwgKENBU1NBTkRSQS00NzM0LCA0ODI0KQogKiBGaXggU3ViY29sdW1uIHNsaWNlIGVuZHMgbm90IHJlc3BlY3RlZCAoQ0FTU0FORFJBLTQ48DqE3gAAAU/ePLJcABAgbGVhayBpbiBzc3RhYmxlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzuAAABAGxpdmUgKENBU1NBTkRSQS0zOTc0KQogKiBhZGQgbWVtdGFibGVfZmx1c2hfcGVyaW9kX2luX21zIChDQVNTQU5EUkEtNDIzNykKICogcmVwbGFjZSBzdXBlcmNvbHVtbnMgaW50ZXJuYWxseSBieSBjb21wb3NpdGVzIChDQVNTQU5EUkEtMzIzNywgNTEyMykKICogdXBncmFkZSB0aHJpZnQgdG8gMC45LjAgKENBU1NBTkRSQS0zNzE5KQogKiBkcm9wIHVubmVjZXNzYXJ5IGtleXNwYWNlIHBhcmFtZXRlciBmcm9tIHVzZXItZGVmaW5lZCBjb21wYWN0aW/y2gIMAAABT948slwAECdjcmNfY2hlY2tfY2hhbmMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILO4AAAEAU1NBTkRSQS0xNDE2KQogKiBhbGxvdyBpbmRleCBleHByZXNzaW9ucyBhZ2FpbnN0IGNvbHVtbnMgdGhhdCBhcmUgbm90IHBhcnQgb2YgdGhlIAogICBTbGljZVByZWRpY2F0ZSAoQ0FTU0FORFJBLTE0MTApCiAqIGNvbmZpZy1jb252ZXJ0ZXIgcHJvcGVybHkgaGFuZGxlcyBzbml0Y2hlcyBhbmQgZnJhbWVkIHN1cHBvcnQgCiAgIChDQVNTQU5EUkEtMTQyMCkKICogcmVtb3ZlIGtleXNwYWNlIGFyZ3VtZW50IGZyb20gbXVsdGlnZXRfY291bnQgKENBU1/jsb0AAAFP3jyyXAAQYXRlIENSRUFURSBDVVNUTwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs7gAAAQAqIHJlc3RyaWN0IG1heF9udW1fdG9rZW5zIHRvIDE1MzYgKENBU1NBTkRSQS02MjY3KQogKiBOb2RldG9vbCBnZXRzIGRlZmF1bHQgSk1YIHBvcnQgZnJvbSBjYXNzYW5kcmEtZW52LnNoIChDQVNTQU5EUkEtNjI3MykKICogbWFrZSBjYWxjdWxhdGVQZW5kaW5nUmFuZ2VzIGFzeW5jaHJvbm91cyAoQ0FTU0FORFJBLTYyNDQpCiAqIFJlbW92ZSBibG9ja2luZyBmbHVzaGVzIGluIGdvc3NpcCB0aHJlYWQgKENBU1NBTkRSQS02Mjk3KQogKiBGaXggcG90w9puBgAAAU/ePLJcABA5NCwgMjA4MSkKICogcmVmAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzuAAABAFNlcnZpY2UgbWJlYW4gKENBU1NBTkRSQS01NTYpCiAqIG9wdGltaXplIGNsZWFudXAgdG8gZHJvcCBlbnRpcmUgc3N0YWJsZXMgd2hlcmUgcG9zc2libGUgKENBU1NBTkRSQS00MDc5KQogKiBvcHRpbWl6ZSB0cnVuY2F0ZSB3aGVuIGF1dG9zbmFwc2hvdCBpcyBkaXNhYmxlZCAoQ0FTU0FORFJBLTQxNTMpCiAqIHVwZGF0ZSBjYWNoZXMgdG8gdXNlIGJ5dGVbXSBrZXlzIHRvIHJlZHVjZSBtZW1vcnkgb3ZlcmhlYWQgKENBU1NBTkRSQS0zOTY2KQogKiCQdpH1AAABT948slwAEC03MDY3KQogKiByZXR1cm4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILO4AAAEANzYpCiAqIEZpeCBjb2x1bW4gZXhwaXJpbmcgZHVyaW5nIDIgcGhhc2VzIGNvbXBhY3Rpb24gKENBU1NBTkRSQS01Nzk5KQogKiBub3coKSBpcyBiZWluZyByZWplY3RlZCBpbiBJTlNFUlRzIHdoZW4gaW5zaWRlIGNvbGxlY3Rpb25zIChDQVNTQU5EUkEtNTc5NSkKCgoyLjAuMC1iZXRhMQogKiBBZGQgc3VwcG9ydCBmb3IgaW5kZXhpbmcgY2x1c3RlcmVkIGNvbHVtbnMgKENBU1NBTkRSQS01MTI1KQogKiBSZW1vdmVkIG9uLWhlYXAgcm93IGNhY2hlIAZgsa0AAAFP3jyyXAAQdW1uIG5hbWVzIGluIHNzdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs7gAAAQAgTWFrZSBzc3RhYmxlIGJsYWNrbGlzdGluZyB3b3JrIHdpdGggY29tcHJlc3Npb24gKENBU1NBTkRSQS05MTM4KQogKiBEbyBub3QgYXR0ZW1wdCB0byByZWJ1aWxkIGluZGV4ZXMgaWYgbm8gaW5kZXggYWNjZXB0cyBhbnkgY29sdW1uIChDQVNTQU5EUkEtOTE5NikKICogRG9uJ3QgaW5pdGlhdGUgc25pdGNoIHJlY29ubmVjdGlvbiBmb3IgZGVhZCBzdGF0ZXMgKENBU1NBTkRSQS03MjkyKQogKiBGaXggQXJyYXlJbmRleE91dE9mQm91bmRzRXhjZXB0itpcrgAAAU/ePLJcABAKICogZml4IGVzdGltYXRlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzuAAABAGZvcmUgYmVmb3JlIHNlbmRpbmcKICAgb3V0IFRyZWVSZXF1ZXN0cyAoQ0FTU0FORFJBLTQ5MzIpCiAqIEFkZCBhbiBvZmZpY2lhbCB3YXkgdG8gZGlzYWJsZSBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTUwNzQpCiAqIFJlZW5hYmxlIEFMVEVSIFRBQkxFIERST1Agd2l0aCBuZXcgc2VtYW50aWNzIChDQVNTQU5EUkEtMzkxOSkKICogQWRkIGJpbmFyeSBwcm90b2NvbCB2ZXJzaW9uaW5nIChDQVNTQU5EUkEtNTQzNikKICogU3dhcCBUSHNoYVNlcnZlciDBGbTMAAqA5pId5Z0AAAFP3jyyXAAQNjQ2MikKICogUmVkdWNlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs8QAAAQB0IGZhaWwgdG8gZGVzZXJpYWxpemUgKENBU1NBTkRSQS02MTgzKQogKiBSZXdvcmsgdG9rZW4gcmVwbGFjZW1lbnQgdG8gdXNlIHJlcGxhY2VfYWRkcmVzcyAoQ0FTU0FORFJBLTU5MTYpCiAqIEZpeCBhbHRlcmluZyBjb2x1bW4gdHlwZXMgKENBU1NBTkRSQS02MTg1KQogKiBjcWxzaDogZml4IENSRUFURS9BTFRFUiBXSVRIIGNvbXBsZXRpb24gKENBU1NBTkRSQS02MTk2KQogKiBhZGQgd2luZG93cyBiYXQgZmlsZXMgZm9yIHNoZWxsIGNvbW1hbmRzjTnQxAAAAU/ePLJcABBiZWluZyByZWplY3RlZCBpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzxAAABAGVkIHRvIGEgY29sdW1uIChDQVNTQU5EUkEtNDY2MSkKICogQWRkIGFiaWxpdHkgdG8gdXNlIGN1c3RvbSBUU2VydmVyRmFjdG9yeSBpbXBsZW1lbnRhdGlvbnMgKENBU1NBTkRSQS00NjA4KQogKiBvcHRpbWl6ZSBiYXRjaGxvZyBmbHVzaGluZyB0byBza2lwIHN1Y2Nlc3NmdWwgYmF0Y2hlcyAoQ0FTU0FORFJBLTQ2NjcpCiAqIGluY2x1ZGUgbWV0YWRhdGEgZm9yIHN5c3RlbSBrZXlzcGFjZSBpdHNlbGYgaW4gc2NoZW1hIHRhYmxlcyAoQ0FTU0FORFJIt67qAAABT948slwAEEZpeCBDcWxQYWdpbmdSZWMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPEAAAEAUkEtMjIzMSkKICogb3B0aW1pemUgYmF0Y2hlcyBjb250YWluaW5nIG11bHRpcGxlIHVwZGF0ZXMgdG8gdGhlIHNhbWUgcm93CiAgIChDQVNTQU5EUkEtMjU4MykKICogYWRqdXN0IGhpbnRlZCBoYW5kb2ZmIHBhZ2Ugc2l6ZSB0byBhdm9pZCBPT00gd2l0aCBsYXJnZSBjb2x1bW5zIAogICAoQ0FTU0FORFJBLTI2NTIpCiAqIG1hcmsgQlJBRiBidWZmZXIgaW52YWxpZCBwb3N0LWZsdXNoIHNvIHdlIGRvbid0IHJlLWZsdXNoIHBhcnRpYWwKICAgYnVmZkTEibgAAAFP3jyyXAAQUkEtMzE0OSkKICogRml4IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs8QAAAQAgdGhyZWFkIGxpbWl0IHRvIHVubGltaXRlZCBieSBkZWZhdWx0IChDQVNTQU5EUkEtNDI3NykKICogQXZvaWRzIGRvdWJsZSBzZXJpYWxpemF0aW9uIG9mIENGIGlkIGluIFJvd011dGF0aW9uIG1lc3NhZ2VzCiAgIChDQVNTQU5EUkEtNDI5MykKICogc3RyZWFtIGNvbXByZXNzZWQgc3N0YWJsZXMgZGlyZWN0bHkgd2l0aCBqYXZhIG5pbyAoQ0FTU0FORFJBLTQyOTcpCiAqIFN1cHBvcnQgbXVsdGlwbGUgcmFuZ2VzIGluIFNsaWNlUXVlcnlGaWx0ZXIgExBOPQAAAU/ePLJcABAKICogU3VwcG9ydCBzdHJlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzxAAABAG1ucyAoQ0FTU0FORFJBLTQ5MTcpCiAqIEltcHJvdmUgTGV2ZWxlZFNjYW5uZXIgd29yayBlc3RpbWF0aW9uIChDQVNTQU5EUkEtNTI1MCwgNTQwNykKICogUmVwbGFjZSBjb21wYWN0aW9uIGxvY2sgd2l0aCBydW5XaXRoQ29tcGFjdGlvbnNEaXNhYmxlZCAoQ0FTU0FORFJBLTM0MzApCiAqIENoYW5nZSBNZXNzYWdlIElEcyB0byBpbnRzIChDQVNTQU5EUkEtNTMwNykKICogTW92ZSBzc3RhYmxlIGxldmVsIGluZm9ybWF0aW9uIGludG8gdGhlIFN0YXTZtr3SAAABT948slwAEG4gZnJvbSBzY2hlbWFfa2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPEAAAEAY2FuIG5vdyBiZSBvYnRhaW5lZCBieSAKICAgdXNpbmcgdGhlIG5ld2x5IGludHJvZHVjZWQgbm9kZXByb2JlIHV0aWxpdHkuCiAqIE1vcmUgSk1YIHN0YXRzCiAqIFJlbW92ZSBtYWdpYyB2YWx1ZXMgZnJvbSBpbnRlcm5hbHMgKGUuZy4gc3BlY2lhbCBrZXkgdG8gaW5kaWNhdGUKICAgd2hlbiB0byBmbHVzaCBtZW10YWJsZXMpCiAqIFJlbmFtZSBjb25maWd1cmF0aW9uICJ0YWJsZSIgdG8gImtleXNwYWNlIgogKiBNb3ZlZCB0byBjcmFzaC1vbmx5IJ04ZO0AAAFP3jyyXAAQYnVsayBsb2FkZXIgaWYgcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs8QAAAQB1bW4gZmFtaWx5IGRlZmluaXRpb25zIG9uIGEgbGl2ZSBjbHVzdGVyCiAgIChDQVNTQU5EUkEtMTI4NSkKICogc3VwcG9ydCBmb3IgSGFkb29wIFN0cmVhbWluZyBbbm9uLWp2bSBtYXAvcmVkdWNlIHZpYSBzdGRpbi9vdXRdCiAgIChDQVNTQU5EUkEtMTM2OCkKICogTW92ZSBwZXJzaXN0ZW50IHNzdGFibGUgc3RhdHMgZnJvbSB0aGUgc3lzdGVtIHRhYmxlIHRvIGFuIHNzdGFibGUgY29tcG9uZW50CiAgIChDQVNTQU5EUkEtMTQzMCkKICogcmVtb3Zl9ed/IQAAAU/ePLJcABBTU0FORFJBLTQ2OTQpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzxAAABAGltcGxlQXV0aG9yaXplciBleGFtcGxlIChDQVNTQU5EUkEtNTA3MikKICogY3Fsc2g6IGZvcmNlIENMLk9ORSBmb3IgdHJhY2luZyBhbmQgc3lzdGVtLnNjaGVtYSogcXVlcmllcyAoQ0FTU0FORFJBLTUwNzApCiAqIEluY2x1ZGVzIGNhc3NhbmRyYS1zaHVmZmxlIGluIHRoZSBkZWJpYW4gcGFja2FnZSAoQ0FTU0FORFJBLTUwNTgpCk1lcmdlZCBmcm9tIDEuMToKICogZml4IG11bHRpdGhyZWFkZWQgY29tcGFjdGlvbiBkZWFkbG9jayAoQ0FTU0FORFL9WNN3AAABT948slwAEE5EUkEtMTQxNCkKICogZmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPEAAAEAKENBU1NBTkRSQS04MjA5KQogKiBPcHRpbWl6ZSBwYXJ0aXRpb25lciB0b2tlbnMgKENBU1NBTkRSQS04MjMwKQogKiBJbXByb3ZlIGNvbXBhY3Rpb24gb2YgcmVwYWlyZWQvdW5yZXBhaXJlZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTgwMDQpCiAqIE1ha2UgY2FjaGUgc2VyaWFsaXplcnMgcGx1Z2dhYmxlIChDQVNTQU5EUkEtODA5NikKICogRml4IGlzc3VlcyB3aXRoIENPTlRBSU5TIChLRVkpIHF1ZXJpZXMgb24gc2Vjb25kYXJ5IGluZGV4ZXMKICAgKFbNlKgAAAFP3jyyXAAQYWNrIGFmdGVyIGRlc2VyaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs8QAAAQBvcm1hdCB3aXRoIHJvdyBsZXZlbCBkZWxldGlvbiAoQ0FTU0FORFJBLTQwNTQpCiAqIHJlbW92ZSByZWR1bmRhbnQgIm5hbWUiIGNvbHVtbiBmcm9tIHNjaGVtYV9rZXlzcGFjZXMgKENBU1NBTkRSQS00NDMzKQogKiBpbXByb3ZlICJub2RldG9vbCByaW5nIiBoYW5kbGluZyBvZiBtdWx0aS1kYyBjbHVzdGVycyAoQ0FTU0FORFJBLTMwNDcpCiAqIHVwZGF0ZSBOVFMgY2FsY3VsYXRlTmF0dXJhbEVuZHBvaW50cyB0byBiZSBPKE4gbG9nIE4pIChDQVNTInaa6AAAAU/ePLJcABByZWZlciB0aGUgaW50ZXJuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzxAAABAHF1ZXN0cyBjYW4ndCBPT00gdGhlIAogICBzZXJ2ZXIgKENBU1NBTkRSQS00NzUpCiAqIHNpZ25pZmljYW50bHkgZmFzdGVyIHJlYWRzIGZyb20gcm93IGNhY2hlIChDQVNTQU5EUkEtMTI2NykKICogdGFrZSBhZHZhbnRhZ2Ugb2Ygcm93IGNhY2hlIGR1cmluZyByYW5nZSBxdWVyaWVzIChDQVNTQU5EUkEtMTMwMikKICogbWFrZSBHQ0dyYWNlU2Vjb25kcyBhIHBlci1Db2x1bW5GYW1pbHkgdmFsdWUgKENBU1NBTkRSQS0xMjc2KQogKiBrZWVwIHBlcnMDvVDjAAABT948slwAEGluZyBpbmRleCBidWlsdCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPEAAAEAdGVtZW50cyB3aGVuIGEgdGFibGUncyBjb2x1bW5zCiAgIGFyZSBhbHRlcmVkIChDQVNTQU5EUkEtNzkxMCkKICogU3RyZXNzIC0gdXNlciBkZWZpbmVkIHdyaXRlcyBzaG91bGQgcG9wdWxhdGUgc2VxdWVudGFsbHkgKENBU1NBTkRSQS04NTI0KQogKiBGaXggcmVncmVzc2lvbiBpbiBTU1RhYmxlUmV3cml0ZXIgY2F1c2luZyBzb21lIHJvd3MgdG8gYmVjb21lIHVucmVhZGFibGUgCiAgIGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtODQyOSkKIKZebxIAAAFP3jyyXAAQb21wbGV0ZSBjb21wYWN0aQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs8QAAAQBhdGUgaW5kZXggbmFtZXMgKENBU1NBTkRSQS0xNzYxKQogKiByZWR1Y2UgY29udGVudGlvbiBvbiBUYWJsZS5mbHVzaGVyTG9jayAoQ0FTU0FORFJBLTE5NTQpCiAqIHRyeSBoYXJkZXIgdG8gZGV0ZWN0IGZhaWx1cmVzIGR1cmluZyBzdHJlYW1pbmcsIGNsZWFuaW5nIHVwIHRlbXBvcmFyeQogICBmaWxlcyBtb3JlIHJlbGlhYmx5IChDQVNTQU5EUkEtMjA4OCkKICogc2h1dCBkb3duIHNlcnZlciBmb3IgT09NIG9uIGEgVGhyaWZ0IHRocmVhZCAoQ0FTQ3ii3QAAAU/ePLJcABB1c3RlcicgY29tbWFuZCAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCzxAAABADE5KQogKiByZXdyaXRlIGtleSBjYWNoZSBzYXZlL2xvYWQgdG8gdXNlIG9ubHkgc2VxdWVudGlhbCBpL28gKENBU1NBTkRSQS0zNzYyKQogKiB1cGRhdGUgTVMgcHJvdG9jb2wgd2l0aCBhIHZlcnNpb24gaGFuZHNoYWtlICsgYnJvYWRjYXN0IGFkZHJlc3MgaWQKICAgKENBU1NBTkRSQS00MzExKQogKiBtdWx0aXRocmVhZGVkIGhpbnQgcmVwbGF5IChDQVNTQU5EUkEtNDE4OSkKICogYWRkIGludGVyLW5vZGUgbWVzc2FnZSBjb21wcmVzc2lvbiAoQ0FlgZ2PAAABT948slwAECB0cmFja2VycyAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPEAAAEAZXNzYWdlIG9uIGJhZCBwcm9wZXJ0aWVzIGluIERETCBxdWVyaWVzIChDQVNTQU5EUkEtNjQ1MykKICogUmFuZG9taXplIGJhdGNobG9nIGNhbmRpZGF0ZXMgc2VsZWN0aW9uIChDQVNTQU5EUkEtNjQ4MSkKICogRml4IHRodW5kZXJpbmcgaGVyZCBvbiBlbmRwb2ludCBjYWNoZSBpbnZhbGlkYXRpb24gKENBU1NBTkRSQS02MzQ1LCA2NDg1KQogKiBJbXByb3ZlIGJhdGNobG9nIHdyaXRlIHBlcmZvcm1hbmNlIHdpdGggdm5vZGVzIChDQVNTQU5EUkEtNklPEc8ACpVDvdsltAAAAU/ePLJcABAgICAoQ0FTU0FORFJBLTg2AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz0AAABAEFORFJBLTM1ODApCiAqIHJhbmdlIGFuZCBpbmRleCBzY2FucyBub3cgb25seSBzZW5kIHJlcXVlc3RzIHRvIGVub3VnaCByZXBsaWNhcyB0bwogICBzYXRpc2Z5IHJlcXVlc3RlZCBDTCArIFJSIChDQVNTQU5EUkEtMzU5OCkKICogdXNlIGNhbm5vbmljYWwgaG9zdCBmb3IgbG9jYWwgbm9kZSBpbiBub2RldG9vbCBpbmZvIChDQVNTQU5EUkEtMzU1NikKICogcmVtb3ZlIG5vbmxvY2FsIERDIHdyaXRlIG9wdGltaXphdGlvbiBzaW5jZSBpdCBvbmx5IHf95+uLAAABT948slwAEAogICAoQ0FTU0FORFJBLTQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPQAAAEAIGZvciBMQ1MgKENBU1NBTkRSQS01MjcxKQogKiBBbGxvdyBjdXN0b20gY29uZmlndXJhdGlvbiBsb2FkZXIgKENBU1NBTkRSQS01MDQ1KQogKiBSZW1vdmUgbWVtb3J5IGVtZXJnZW5jeSBwcmVzc3VyZSB2YWx2ZSBsb2dpYyAoQ0FTU0FORFJBLTM1MzQpCiAqIFJlZHVjZSByZXF1ZXN0IGxhdGVuY3kgd2l0aCBlYWdlciByZXRyeSAoQ0FTU0FORFJBLTQ3MDUpCiAqIGNxbHNoOiBSZW1vdmUgQVNTVU1FIGNvbW1hbmQgKENBU1NBTkRSQS01MzMxKQogKkzypzQAAAFP3jyyXAAQNTcpCiAqIFJlbW92ZSBpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs9AAAAQBlIG51bGwgRGF0ZSBvYmplY3RzIChDQVNTQU5EUkEtNDgzMCkKICogZml4IHBvc3NpYmxlIHN0YWNrb3ZlcmZsb3cgd2hlbiBjb21wYWN0aW5nIDEwMDBzIG9mIHNzdGFibGVzCiAgIChDQVNTQU5EUkEtNDc2NSkKICogZml4IHdyb25nIGxldmVsZWQgY29tcGFjdGlvbiBwcm9ncmVzcyBjYWxjdWxhdGlvbiAoQ0FTU0FORFJBLTQ4MDcpCiAqIGFkZCBhIGNsb3NlKCkgbWV0aG9kIHRvIENSQVIgdG8gcHJldmVudCBsZWFraW5nIGZpbGUgZGVzY3JpcHRv23baJgAAAU/ePLJcABB0byByZWxldmVsIHNzdGFiAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz0AAABACBjb2x1bW5zIChDQVNTQU5EUkEtNzQ5MCkKICogQmFja3BvcnQgQ0FTU0FORFJBLTY3NDcgKENBU1NBTkRSQS03NTYwKQogKiBUcmFjayBtYXgvbWluIHRpbWVzdGFtcHMgZm9yIHJhbmdlIHRvbWJzdG9uZXMgKENBU1NBTkRSQS03NjQ3KQogKiBGaXggTlBFIHdoZW4gbGlzdGluZyBzYXZlZCBjYWNoZXMgZGlyIChDQVNTQU5EUkEtNzYzMikKICogRml4IHNzdGFibGVsb2FkZXIgdW5hYmxlIHRvIGNvbm5lY3QgZW5jcnlwdGVkIG5vZGUgKENBU1NBTkRsCdfCAAABT948slwAECAqIHJlc3BlY3Qgcm93LWwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPQAAAEAbSB3aXRoIHNzdGFibGUyanNvbiBpZiB0aGUgd2FybmluZyBpcyB1bmhlZWRlZAogICB1bnRpbCBpdCdzIHRvbyBsYXRlIChDQVNTQU5EUkEtODQzKQogKiBBZGQgbG9nZ2luZyBvZiBHQyBhY3Rpdml0eSAoQ0FTU0FORFJBLTgxMykKICogZml4IENvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb24gaW4gY29tbWl0bG9nIGRpc2NhcmQgKENBU1NBTkRSQS04NTMpCiAqIEZpeCBoYXJkY29kZWQgcm93IGNvdW50IGluIEhhZG9vcCBSZWNvcmRSZWFkZR+PZfQAAAFP3jyyXAAQb3cgY2FjaGUgZHVyaW5nIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs9AAAAQBpb24gb24gY29sdW0gbWV0YWRhdGEgd2l0aCBub24tc3RyaW5nIGNvbXBhcmF0b3IgKENBU1NBTkRSQS00MjY5KQogKiBDaGVjayBmb3IgdW5rbm93bi9pbnZhbGlkIGNvbXByZXNzaW9uIG9wdGlvbnMgKENBU1NBTkRSQS00MjY2KQogKiAoY3FsMykgQWRkcyBzaW1wbGUgYWNjZXNzIHRvIGNvbHVtbiB0aW1lc3RhbXAgYW5kIHR0bCAoQ0FTU0FORFJBLTQyMTcpCiAqIChjcWwzKSBGaXggcmFuZ2UgcXVlcmllcyB3aXRoIHNlY29uZGFyeSBpbmRleGVzmR/iLwAAAU/ePLJcABBuZyBvciBtb3ZpbmcKICAgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz0AAABAGNvbXBhY3Rpb25zIG9uIGEgcmVzdGFydGVkIHNlcnZlcgogICAoQ0FTU0FORFJBLTMxODEpCiAqIFJlZHVjZSBjb3BpZXMgZG9uZSBmb3IgaW50cmEtaG9zdCBtZXNzYWdlcyAoQ0FTU0FORFJBLTE3ODgsIDMxNDQpCiAqIHN1cHBvcnQgb2YgY29tcGFjdGlvbiBzdHJhdGVneSBvcHRpb24gZm9yIHN0cmVzcy5qYXZhIChDQVNTQU5EUkEtMzIwNCkKICogbWFrZSBtZW10YWJsZSB0aHJvdWdocHV0IGFuZCBjb2x1bW4gY291bnQgdGhyZXNob2xkcyBuby1G4H9jAAABT948slwAEGNvdW50ZXIgdG9tYnN0b24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPQAAAEAcl9mcF9jaGFuY2UgZm9yIExldmVsZWRDb21wYWN0aW9uU3RyYXRlZ3kgKENBU1NBTkRSQS01MDkzKQpNZXJnZWQgZnJvbSAxLjE6CiAqIGFkZCB2YWxpZGF0aW9uIGZvciBnZXRfcmFuZ2Vfc2xpY2VzIHdpdGggc3RhcnRfa2V5IGFuZCBlbmRfdG9rZW4gKENBU1NBTkRSQS01MDg5KQoKCjEuMi4wLXJjMgogKiBmaXggbm9kZXRvb2wgb3duZXJzaGlwIGRpc3BsYXkgd2l0aCB2bm9kZXMgKENBU1NBTkRSQS01MDY1KQogKiBjcWxzaDogYWRkIERFU0NSSeV9pOoAAAFP3jyyXAAQIHRoZSB0aW1lc3RhbXAgcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs9AAAAQBSb3cgKENBU1NBTkRSQS00Mzk2KQoKCjEuMS4yCiAqIEZpeCBjbGVhbnVwIG5vdCBkZWxldGluZyBpbmRleCBlbnRyaWVzIChDQVNTQU5EUkEtNDM3OSkKICogVXNlIGNvcnJlY3QgcGFydGl0aW9uZXIgd2hlbiBzYXZpbmcgKyBsb2FkaW5nIGNhY2hlcyAoQ0FTU0FORFJBLTQzMzEpCiAqIENoZWNrIHNjaGVtYSBiZWZvcmUgdHJ5aW5nIHRvIGV4cG9ydCBzc3RhYmxlIChDQVNTQU5EUkEtMjc2MCkKICogUmFpc2UgYSBtZWFuaW5nZnVsIGV4Y2VwdGlvPDMGxQAAAU/ePLJcABAgZXF1YWwgYW5kIHVuZXF1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz0AAABACByZXBsYWNlbWVudCB0byB1c2UgcmVwbGFjZV9hZGRyZXNzIChDQVNTQU5EUkEtNTkxNikKICogRml4IGFsdGVyaW5nIGNvbHVtbiB0eXBlcyAoQ0FTU0FORFJBLTYxODUpCiAqIGNxbHNoOiBmaXggQ1JFQVRFL0FMVEVSIFdJVEggY29tcGxldGlvbiAoQ0FTU0FORFJBLTYxOTYpCiAqIGFkZCB3aW5kb3dzIGJhdCBmaWxlcyBmb3Igc2hlbGwgY29tbWFuZHMgKENBU1NBTkRSQS02MTQ1KQogKiBGaXggcG90ZW50aWFsIHN0YWNrIG92ZXJmbG93IGR1cmnswdTJAAABT948slwAEGhlbiB6ZXJvIHJvd3MgYXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPQAAAEAZXJmb3JtIEhIIHRvIGNsaWVudC1tb2RlIFtzdG9yYWdlcHJveHldIG5vZGVzIChDQVNTQU5EUkEtMjY2OCkKICogSW1wcm92ZSBmb3JjZURlc2VyaWFsaXplL2dldENvbXBhY3RlZFJvdyBlbmNhcHN1bGF0aW9uIChDQVNTQU5EUkEtMjY1OSkKICogRG9uJ3Qgd3JpdGUgQ291bnRlclVwZGF0ZUNvbHVtbiB0byBkaXNrIGluIHRlc3RzIChDQVNTQU5EUkEtMjY1MCkKICogQWRkIHNzdGFibGUgYnVsayBsb2FkaW5nIHV0aWxpdHkgKENBU1NBTkRSQS0xMuNlUYIAAAFP3jyyXAAQRml4IE5QRSB3aGVuIGxpcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs9AAAAQAKCgoxLjEtYmV0YTIKICogcmVuYW1lIGxvYWRlZCBzc3RhYmxlcyB0byBhdm9pZCBjb25mbGljdHMgd2l0aCBsb2NhbCBzbmFwc2hvdHMKICAgKENBU1NBTkRSQS0zOTY3KQogKiBzdGFydCBoaW50IHJlcGxheSBhcyBzb29uIGFzIEZEIG5vdGlmaWVzIHRoYXQgdGhlIHRhcmdldCBpcyBiYWNrIHVwCiAgIChDQVNTQU5EUkEtMzk1OCkKICogYXZvaWQgdW5wcm9kdWN0aXZlIGRlc2VyaWFsaXppbmcgb2YgY2FjaGVkIHJvd3MgZHVyaW5nIGNvbXBhY3RpCqg2bgAAAU/ePLJcABBuZSAoQ0FTU0FORFJBLTg1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz0AAABAGNoZSBzZXJpYWxpemVycyBwbHVnZ2FibGUgKENBU1NBTkRSQS04MDk2KQogKiBGaXggaXNzdWVzIHdpdGggQ09OVEFJTlMgKEtFWSkgcXVlcmllcyBvbiBzZWNvbmRhcnkgaW5kZXhlcwogICAoQ0FTU0FORFJBLTgxNDcpCiAqIEZpeCByZWFkLXJhdGUgdHJhY2tpbmcgb2Ygc3N0YWJsZXMgZm9yIHNvbWUgcXVlcmllcyAoQ0FTU0FORFJBLTgyMzkpCiAqIEZpeCBkZWZhdWx0IHRpbWVzdGFtcCBpbiBRdWVyeU9wdGlvbnMgKENBU1NBTkRSQS04MjQ2KQrVc6/4AAABT948slwAEGVtcHR5IGluIFNUQ1MgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPQAAAEAZmF0IGNsaWVudHMgd2hlbiBjaGVja2luZyBmb3IgZW5kcG9pbnQgY29sbGlzaW9uIChDQVNTQU5EUkEtNzkzOSkKICogTWFrZSBzc3RhYmxlcmVwYWlyZWRzZXQgdGFrZSBhIGxpc3Qgb2YgZmlsZXMgKENBU1NBTkRSQS03OTk1KQogKiAoY3Fsc2gpIFRhYiBjb21wbGV0ZWlvbiBmb3IgaW5kZXhlcyBvbiBtYXAga2V5cyAoQ0FTU0FORFJBLTc5NzIpCiAqIChjcWxzaCkgRml4IFVEVCBmaWVsZCBzZWxlY3Rpb24gaW4gc2VsZWN0IGNsYXVzZSAoQ0FTU6/PceQAAAFP3jyyXAAQb3BwaW5nIHRhYmxlIGR1cgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs9AAAAQAgcmVjZWl2ZWQgY291bnRzIGluIENBUyB0aW1lb3V0IGV4Y2VwdGlvbnMgKENBU1NBTkRSQS02NTk1KQogKiBBZGQgc3VwcG9ydCBmb3IgMi4xIGdsb2JhbCBjb3VudGVyIHNoYXJkcyAoQ0FTU0FORFJBLTY1MDUpCiAqIEZpeCBOUEUgd2hlbiBzdHJlYW1pbmcgY29ubmVjdGlvbiBpcyBub3QgeWV0IGVzdGFibGlzaGVkIChDQVNTQU5EUkEtNjIxMCkKICogQXZvaWQgcmFyZSBkdXBsaWNhdGUgcmVhZCByZXBhaXIgdHJpZ2dlcmluZyAoQ0FTU0FORFJBOIdDQQAKqaAs0pTHAAABT948slwAEEFORFJBLTI2OTgpCiAqIFMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPYAAAEAY2VwdCB1cHBlci1jYXNlIGRhdGEgdHlwZXMgKENBU1NBTkRSQS00NzcwKQogKiBBZGQgYmluYXJ5IHByb3RvY29sIGV2ZW50cyBmb3Igc2NoZW1hIGNoYW5nZXMgKENBU1NBTkRSQS00Njg0KQpNZXJnZWQgZnJvbSAxLjA6CiAqIFN3aXRjaCBmcm9tIE5CSE0gdG8gQ0hNIGluIE1lc3NhZ2luZ1NlcnZpY2UncyBjYWxsYmFjayBtYXAsIHdoaWNoCiAgIHByZXZlbnRzIE9PTSBpbiBsb25nLXJ1bm5pbmcgaW5zdGFuY2VzIChDQVNTQU5EUkEtNDcwOCkKClyvS0wAAAFP3jyyXAAQUkEtNzM2NikKICogRml4IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs9gAAAQBTU0FORFJBLTM3MTkpCiAqIGRyb3AgdW5uZWNlc3Nhcnkga2V5c3BhY2UgcGFyYW1ldGVyIGZyb20gdXNlci1kZWZpbmVkIGNvbXBhY3Rpb24gQVBJIAogICAoQ0FTU0FORFJBLTUxMzkpCiAqIG1vcmUgcm9idXN0IHNvbHV0aW9uIHRvIGluY29tcGxldGUgY29tcGFjdGlvbnMgKyBjb3VudGVycyAoQ0FTU0FORFJBLTUxNTEpCiAqIENoYW5nZSBvcmRlciBvZiBkaXJlY3Rvcnkgc2VhcmNoaW5nIGZvciBjKi5pbi5zaCAoQ0FTU0FORFJBLTM5ODMpCiAqRuLMxAAAAU/ePLJcABAgdG8gYmUgZG93biBiZWZvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz2AAABADkzMCkKICogb3B0aW1pemUgc3VwZXJjb2x1bW4gZGVzZXJpYWxpemF0aW9uIChDQVNTQU5EUkEtMTg5MSkKICogZml4IENGTWV0YURhdGEuYXBwbHkgdG8gb25seSBjb21wYXJlIG9iamVjdHMgb2YgdGhlIHNhbWUgY2xhc3MgCiAgIChDQVNTQU5EUkEtMTk2MikKICogYWxsb3cgc3BlY2lmeWluZyBzcGVjaWZpYyBTU1RhYmxlcyB0byBjb21wYWN0IGZyb20gSk1YIChDQVNTQU5EUkEtMTk2MykKICogZml4IHJhY2UgY29uZGl0aW9uIGluIE1lc3NhZ2lJyWIhAAABT948slwAEGV5c3BhY2VzIGJlZm9yZSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPYAAAEANjIwMikKICogTGltaXQgQ1FMIHByZXBhcmVkIHN0YXRlbWVudCBjYWNoZSBieSBzaXplIGluc3RlYWQgb2YgY291bnQgKENBU1NBTkRSQS02MTA3KQogKiBUcmFjaW5nIHNob3VsZCBsb2cgd3JpdGUgZmFpbHVyZSByYXRoZXIgdGhhbiByYXcgZXhjZXB0aW9ucyAoQ0FTU0FORFJBLTYxMzMpCiAqIGxvY2sgYWNjZXNzIHRvIFRNLmVuZHBvaW50VG9Ib3N0SWRNYXAgKENBU1NBTkRSQS02MTAzKQogKiBBbGxvdyBlc3RpbWF0ZWQgbWVtdGFibGUgc2l6ZXAXY+UAAAFP3jyyXAAQIEltcHJvdmUgZm9yY2VEZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs9gAAAQByb20gMC44OgogKiBmaXggY29uY3VycmVuY2UgaXNzdWUgaW4gdGhlIEZhaWx1cmVEZXRlY3RvciAoQ0FTU0FORFJBLTM1MTkpCiAqIGZpeCBhcnJheSBvdXQgb2YgYm91bmRzIGVycm9yIGluIGNvdW50ZXIgc2hhcmQgcmVtb3ZhbCAoQ0FTU0FORFJBLTM1MTQpCiAqIGF2b2lkIGRyb3BwaW5nIHRvbWJzdG9uZXMgd2hlbiB0aGV5IG1pZ2h0IHN0aWxsIGJlIG5lZWRlZCB0byBzaGFkb3cKICAgZGF0YSBpbiBhIGRpZmZlcmVudCBzc3RhYmxlIChDQVNTcAf7EQAAAU/ePLJcABAqIEFkZCBDbG91ZHN0YWNrAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz2AAABACBzZWNvbmRhcnkgaW5kZXggb24gc2V0IGl0ZW1zIG9yIG1hcCBrZXlzCiAgIHdoZW4gc29tZSBjbHVzdGVyaW5nIGNvbHVtbnMgYXJlIHNwZWNpZmllZCAoQ0FTU0FORFJBLTgwNzMpCiAqIFNlbmQgcHJvcGVyIGVycm9yIHJlc3BvbnNlIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3IgZHVyaW5nIG5hdGl2ZQogICBwcm90b2NvbCBtZXNzYWdlIGRlY29kZSAoQ0FTU0FORFJBLTgxMTgpCiAqIEdvc3NpcCBzaG91bGQgaWdub3JlIGdlbmVyYXRpb24gbnVtYmWgf3r8AAABT948slwAEHVzdG9tIGNvbmZpZ3VyYXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPYAAAEAbmNlIHNob3VsZCBhZGp1c3QgYmFzZWQgb24gbGl2ZSBDRk1ldGFkYXRhIG5vdCAKICAgc3N0YWJsZSBtZXRhZGF0YSAoQ0FTU0FORFJBLTc5NzgpCiAqIHRva2VuKCkgc2hvdWxkIG9ubHkgYWNjZXB0IGNvbHVtbnMgaW4gdGhlIHBhcnRpdGlvbmluZwogICBrZXkgb3JkZXIgKENBU1NBTkRSQS02MDc1KQogKiBBZGQgbWV0aG9kIHRvIGludmFsaWRhdGUgcGVybWlzc2lvbiBjYWNoZSB2aWEgSk1YIChDQVNTQU5EUkEtNzk3NykKICogQWxsb3cgcHJvcFhu2p8AAAFP3jyyXAAQNzQ1NSkKICogQWRkIG9wdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs9gAAAQBuIChDQVNTQU5EUkEtNzM4NikKICogTG9nIGZhaWxlZCBob3N0IHdoZW4gcHJlcGFyaW5nIGluY3JlbWVudGFsIHJlcGFpciAoQ0FTU0FORFJBLTgyMjgpCiAqIEZvcmNlIGNvbmZpZyBjbGllbnQgbW9kZSBpbiBDUUxTU1RhYmxlV3JpdGVyIChDQVNTQU5EUkEtODI4MSkKICogRml4IHNzdGFibGV1cGdyYWRlIHRocm93cyBleGNlcHRpb24gKENBU1NBTkRSQS04Njg4KQogKiBGaXggaGFuZyB3aGVuIHJlcGFpcmluZyBlbXB0eSBrZXlzcGFjZSAoQ0FT/BRhNAAAAU/ePLJcABBjYXRpb24gaW4tcHJvY2VzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz2AAABACkKICogRml4IFByb3BlcnR5RmlsZVNuaXRjaCBkZWZhdWx0IERDL1JhY2sgYmVoYXZpb3IgKENBU1NBTkRSQS01Mjg1KQogKiBIYW5kbGUgbnVsbCB2YWx1ZXMgd2hlbiBleGVjdXRpbmcgcHJlcGFyZWQgc3RhdGVtZW50IChDQVNTQU5EUkEtNTA4MSkKICogQWRkIG5ldHR5IHRvIHBvbSBkZXBlbmRlbmNpZXMgKENBU1NBTkRSQS01MTgxKQogKiBJbmNsdWRlIHR5cGUgYXJndW1lbnRzIGluIFRocmlmdCBDUUxQcmVwYXJlZFJlc3VsdCAoQ0FTU0FORFK4tPUHAAABT948slwAEHIgY29ubmVjdGlvbiAKICAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPYAAAEAQ0FTU0FORFJBLTI3MjIpCiAqIEZpeGVkIHJvd3MgYmVpbmcgY2FjaGVkIGlmIHRoZXkgZG8gbm90IGV4aXN0IChDQVNTQU5EUkEtMjcyMykKICogZml4IHRydW5jYXRlL2NvbXBhY3Rpb24gcmFjZSAoQ0FTU0FORFJBLTI2NzMpCiAqIHdvcmthcm91bmQgbGFyZ2UgcmVzdWx0c2V0cyBjYXVzaW5nIGxhcmdlIGFsbG9jYXRpb24gcmV0ZW50aW9uCiAgIGJ5IG5pbyBzb2NrZXRzIChDQVNTQU5EUkEtMjY1NCkKICogZml4IG5vZGV0b29sIHJpbmcgdXNlIDwoJ24AAAFP3jyyXAAQQS00OTkyKQogKiBSZXBsYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs9gAAAQAgRWxpbWluYXRlIHBvc3NpYmlsaXR5IG9mIENMIHNlZ21lbnQgYXBwZWFyaW5nIHR3aWNlIGluIGFjdGl2ZSBsaXN0IAogICAoQ0FTU0FORFJBLTY1NTcpCiAqIEFwcGx5IERPTlRORUVEIGZhZHZpc2UgdG8gY29tbWl0bG9nIHNlZ21lbnRzIChDQVNTQU5EUkEtNjc1OSkKICogU3dpdGNoIENSQyBjb21wb25lbnQgdG8gQWRsZXIgYW5kIGluY2x1ZGUgaXQgZm9yIGNvbXByZXNzZWQgc3N0YWJsZXMgCiAgIChDQVNTQU5EUkEtNDE2NSkKICogQWxsb3cgwDIDvwAAAU/ePLJcABBlIG1lbW9yeSBjb25zdW1wAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz2AAABACAoQ0FTU0FORFJBLTEzMTEpCiAqIEpFTWFsbG9jIHN1cHBvcnQgZm9yIG9mZi1oZWFwIGFsbG9jYXRpb24gKENBU1NBTkRSQS0zOTk3KQogKiBTaW5nbGUtcGFzcyBjb21wYWN0aW9uIChDQVNTQU5EUkEtNDE4MCkKICogUmVtb3ZlZCB0b2tlbiByYW5nZSBiaXNlY3Rpb24gKENBU1NBTkRSQS01NTE4KQogKiBSZW1vdmVkIGNvbXBhdGliaWxpdHkgd2l0aCBwcmUtMS4yLjUgc3N0YWJsZXMgYW5kIG5ldHdvcmsgbWVzc2FnZXMKICAgKENBU1NBTkRSQS0bRxeAAAABT948slwAEGVkIGRhdGEgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPYAAAEAbiB0cnVlIChDQVNTQU5EUkEtNDMwNykKICogKGNxbDMpIGV4ZXB0aW9uIG1lc3NhZ2UgZm9yIE9SREVSIEJZIGNvbnN0cmFpbnRzIHNhaWQgcHJpbWFyeSBmaWx0ZXIgY2FuIGJlCiAgICBhbiBJTiBjbGF1c2UsIHdoaWNoIGlzIG1pc2xlYWRpbmcgKENBU1NBTkRSQS00MzE5KQogKiAoY3FsMykgUmVqZWN0IChub3QgeWV0IHN1cHBvcnRlZCkgY3JlYXRpb24gb2YgMm5kYXJkeSBpbmRleGVzIG9uIHRhYmxlcyB3aXRoCiAgIGNvbXBvc2l0ZSBwcmltYXKWuzYAAAFP3jyyXAAQIEFyY2hpdmUgYW55IGNvbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs9gAAAQBTQU5EUkEtODc5NikKICogRW5zdXJlIFNTVGFibGVTaW1wbGVVbnNvcnRlZFdyaXRlci5jbG9zZSgpIHRlcm1pbmF0ZXMgaWYKICAgZGlzayB3cml0ZXIgaGFzIGNyYXNoZWQgKENBU1NBTkRSQS04ODA3KQoKCjIuMS40CiAqIEJpbmQgSk1YIHRvIGxvY2FsaG9zdCB1bmxlc3MgZXhwbGljaXRseSBjb25maWd1cmVkIG90aGVyd2lzZSAoQ0FTU0FORFJBLTkwODUpCgoKMi4xLjMKICogRml4IEhTSEEvb2ZmaGVhcF9vYmplY3RzIGNvcnJ1cHRpb24gKENB+lWKTAAAAU/ePLJcABB2b2lkIGFsbG9jYXRpbmcgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz2AAABAG1UcmFuc2ZlclRhc2sgdGhhdCBjb3VsZCBsZWFkIHRvCiAgIGluZmluaXRlIGxvb3BzIGFuZCBwcmVtYXR1cmUgc3N0YWJsZSBkZWxldGlvbiAoQ0FTU0FORFJBLTc3MDQpCiAqIEFkZCBhbiBleHRyYSB2ZXJzaW9uIGNoZWNrIHRvIE1pZ3JhdGlvblRhc2sgKENBU1NBTkRSQS04NDYyKQogKiBFbnN1cmUgU1NUYWJsZVdyaXRlciBjbGVhbnMgdXAgcHJvcGVybHkgYWZ0ZXIgZmFpbHVyZSAoQ0FTU0FORFJBLTg0OTkpCiAqIEluY3JlYXNlIGJmIHRydWXXlTz0AAq9/WYiXvoAAAFP3jyyXAAQIChDQVNTQU5EUkEtNDkyNQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs+AAAAQBrIGR1cmluZyBib290c3RyYXAgKENBU1NBTkRSQS00MTU5KQogKiBmaXggc3RyZXNzIHRvb2wgdGhhdCBoYW5ncyBmb3JldmVyIG9uIHRpbWVvdXQgb3IgZXJyb3IgKENBU1NBTkRSQS00MTI4KQogKiBGaXggc3VwZXIgY29sdW1ucyBidWcgd2hlcmUgY2FjaGUgaXMgbm90IHVwZGF0ZWQgKENBU1NBTkRSQS00MTkwKQogKiBzdHJlc3MgdG9vbCB0byByZXR1cm4gYXBwcm9wcmlhdGUgZXhpdCBjb2RlIG9uIGZhaWx1cmUgKENBU1NBTkRSQS00MTg4KQoKCUU7EAAAAU/ePLJcABBlcmlhbGl6YXRpb24gKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz4AAABAGxsaW5nIChDQVNTQU5EUkEtMzQyMSkKICogZml4IGJ1ZyB0aGF0IGNhdXNlZCBmaXJzdCBjb2x1bW4gaW4gcGVyIHJvdyBpbmRleGVzIHRvIGJlIGlnbm9yZWQgCiAgIChDQVNTQU5EUkEtMzQ0MSkKICogYWRkIEpNWCBjYWxsIHRvIGNsZWFuIChmYWlsZWQpIHJlcGFpciBzZXNzaW9ucyAoQ0FTU0FORFJBLTMzMTYpCiAqIGZpeCBzc3RhYmxlbG9hZGVyIHJlZmVyZW5jZSBhY3F1aXNpdGlvbiBidWcgKENBU1NBTkRSQS0zNDM4KQogKiBmaXggZXN0aW2HJXWZAAABT948slwAEHJvcHBpbmcgaW5kZXggZnIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPgAAAEANykKICogb25seSBwcm92aWRlIHJlcGxpY2F0aW9uX2ZhY3RvciB0byBzdHJhdGVneV9vcHRpb25zICJoZWxwIiBmb3IKICAgU2ltcGxlU3RyYXRlZ3ksIE9sZE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5IChDQVNTQU5EUkEtMjY3OCwgMjcxMykKICogZml4IGV4Y2VwdGlvbiBhZGRpbmcgdmFsaWRhdG9ycyB0byBub24tc3RyaW5nIGNvbHVtbnMgKENBU1NBTkRSQS0yNjk2KQogKiBhdm9pZCBpbnN0YW50aWF0aW5nIERhdGFiYXNlRGVzY3JpcHRvciBpbtwkjHUAAAFP3jyyXAAQTCB0aHJvd3MgTnVtYmVyRgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs+AAAAQBrIGlmIGFuIHNzdGFibGUgaXMgbGl2ZSBmb3Igb2ZmbGluZSBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTg4NDEpCiAqIERvbid0IHNldCBjbGllbnRNb2RlIGluIFNTVGFibGVMb2FkZXIgKENBU1NBTkRSQS04MjM4KQogKiBGaXggU1NUYWJsZVJld3JpdGVyIHdpdGggZGlzYWJsZWQgZWFybHkgb3BlbiAoQ0FTU0FORFJBLTg1MzUpCiAqIEFsbG93IGludmFsaWRhdGluZyBwZXJtaXNzaW9ucyBhbmQgY2FjaGUgdGltZSAoQ0FTU0FORFJBLTg3MjIpCiAqqmZ6mAAAAU/ePLJcABBTU0FORFJBLTc3NDIpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz4AAABACBhYmlsaXR5IHRvIGxvd2VyIGNvbXBhY3Rpb24gcHJpb3JpdHkgKGRlZmF1bHQgaXMgbm8gY2hhbmdlIGZyb20gMC42LjIpCiAgIChDQVNTQU5EUkEtMTE4MSkKCgowLjYuMgogKiBmaXggY29udHJpYi93b3JkX2NvdW50IGJ1aWxkLiAoQ0FTU0FORFJBLTk5MikKICogc3BsaXQgQ29tbWl0TG9nRXhlY3V0b3JTZXJ2aWNlIGludG8gQmF0Y2hDb21taXRMb2dFeGVjdXRvclNlcnZpY2UgYW5kIAogICBQZXJpb2RpY0NvbW1pdExvZ0V4ZWN1dG9yU2Vydml5rBjXAAABT948slwAEHV0QnVmZmVyLmdldERhdGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPgAAAEAb25zICJoZWxwIiBmb3IKICAgU2ltcGxlU3RyYXRlZ3ksIE9sZE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5IChDQVNTQU5EUkEtMjY3OCwgMjcxMykKICogZml4IGV4Y2VwdGlvbiBhZGRpbmcgdmFsaWRhdG9ycyB0byBub24tc3RyaW5nIGNvbHVtbnMgKENBU1NBTkRSQS0yNjk2KQogKiBhdm9pZCBpbnN0YW50aWF0aW5nIERhdGFiYXNlRGVzY3JpcHRvciBpbiBKREJDIChDQVNTQU5EUkEtMjY5NCkKICogZml4IHBvdGVudGlhbCBzdGFjayBvdmVyZmxvd1me0JkAAAFP3jyyXAAQb2wgcmVwYWlyIChDQVNTQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs+AAAAQAga2V5c3BhY2Ugc3RyYXRlZ3lfb3B0aW9ucyBkdXJpbmcgQ1FMIGNyZWF0ZSAoQ0FTU0FORFJBLTI2MjQpCiAqIGZpeCBlbXB0eSBSZXN1bHQgd2l0aCBzZWNvbmRhcnkgaW5kZXggd2hlbiBsaW1pdD0xIChDQVNTQU5EUkEtMjYyOCkKICogRml4IHJlZ3Jlc3Npb24gd2hlcmUgYm9vdHN0cmFwcGluZyBhIG5vZGUgd2l0aCBubyBzY2hlbWEgZmFpbHMKICAgKENBU1NBTkRSQS0yNjI1KQogKiBBbGxvdyByZW1vdmluZyBMb2NhdGlvbkluZm8gc3N0YWJsy+pNDQAAAU/ePLJcABAga2V5c3BhY2UvdGFibGUgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz4AAABAHJlYWRzX3RvX29taXQgZnJvbSBTVENTIChDQVNTQU5EUkEtODg2MCkKICogTWFrZSBFc3RpbWF0ZWRIaXN0b2dyYW0jcGVyY2VudGlsZSgpIHVzZSBjZWlsIGluc3RlYWQgb2YgZmxvb3IgKENBU1NBTkRSQS04ODgzKQogKiBGaXggdG9wIHBhcnRpdGlvbnMgcmVwb3J0aW5nIHdyb25nIGNhcmRpbmFsaXR5IChDQVNTQU5EUkEtODgzNCkKICogRml4IHJhcmUgTlBFIGluIEtleUNhY2hlU2VyaWFsaXplciAoQ0FTU0FORFJBLTgwNjcpCiAqIFBpY2sgc3NyisI4AAABT948slwAEHVyaW5nIGRlY29tbWlzc2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPgAAAEAdGlvbiAoQ0FTU0FORFJBLTYyODcpCiAqIEZpeCByZXBhaXIgYXNzZXJ0aW9uIGVycm9yIHdoZW4gdG9tYnN0b25lcyBleHBpcmUgKENBU1NBTkRSQS02Mjc3KQogKiBTa2lwIGxvYWRpbmcgY29ycnVwdCBrZXkgY2FjaGUgKENBU1NBTkRSQS02MjYwKQogKiBGaXhlcyBmb3IgY29tcGFjdGluZyBsYXJnZXItdGhhbi1tZW1vcnkgcm93cyAoQ0FTU0FORFJBLTYyNzQpCiAqIENvbXBhY3QgaG90dGVzdCBzc3RhYmxlcyBmaXJzdCBhbmQgb3B0aW9uYWxsecgx8VAAAAFP3jyyXAAQIGNsZWFuIHVwIGFuZCBvcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs+AAAAQBob2QgKENBU1NBTkRSQS0xMDQ3KQogKiBIYWRvb3Agam9icyBubyBsb25nZXIgcmVxdWlyZSB0aGUgQ2Fzc2FuZHJhIHN0b3JhZ2UtY29uZi54bWwKICAgKENBU1NBTkRSQS0xMjgwLCBDQVNTQU5EUkEtMTA0NykKICogbG9nIHRocmVhZCBwb29sIHN0YXRzIHdoZW4gR0MgaXMgZXhjZXNzaXZlIChDQVNTQU5EUkEtMTI3NSkKICogcmVtb3ZlIGdvc3NpcCBtZXNzYWdlIHNpemUgbGltaXQgKENBU1NBTkRSQS0xMTM4KQogKiBwYXJhbGxlbGl6ZSBsb2NhetAlowAAAU/ePLJcABBEUkEtMTQ4NSkKICogdHJlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz4AAABAAogKiBOb3RpZnkgaW5kZXhlciBvZiBjb2x1bW5zIHNoYWRvd2VkIGJ5IHJhbmdlIHRvbWJzdG9uZXMgKENBU1NBTkRSQS01NjE0KQogKiBMb2cgTWVya2xlIHRyZWUgc3RhdHMgKENBU1NBTkRSQS0yNjk4KQogKiBTd2l0Y2ggZnJvbSBjcmMzMiB0byBhZGxlcjMyIGZvciBjb21wcmVzc2VkIHNzdGFibGUgY2hlY2tzdW1zIChDQVNTQU5EUkEtNTg2MikKICogSW1wcm92ZSBvZmZoZWFwIG1lbWNweSBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTU4ODQpCiAt/z3mAAABT948slwAEDQ0OSkKICogUmV0dXJuIHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPgAAAEAbmdlIHRvbWJzdG9uZSBidWcgKENBU1NBTkRSQS01ODA1KQogKiBEQy1sb2NhbCBDQVMgKENBU1NBTkRSQS01Nzk3KQogKiBBZGQgYSBuYXRpdmVfcHJvdG9jb2xfdmVyc2lvbiBjb2x1bW4gdG8gdGhlIHN5c3RlbS5sb2NhbCB0YWJsZSAoQ0FTU0FOUkRBLTU4MTkpCiAqIFVzZSBpbmRleF9pbnRlcnZhbCBmcm9tIGNhc3NhbmRyYS55YW1sIHdoZW4gdXBncmFkZWQgKENBU1NBTkRSQS01ODIyKQogKiBGaXggYnVmZmVyIHVuZGVyZmxvdyBvbiBzb2NrZUGznc4AAAFP3jyyXAAQIHdpbmRvdyB3aGVyZSBkcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs+AAAAQBzZW5jZSBvZiBsZWdhY3kgY291bnRlciBzaGFyZHMgaW4gc3N0YWJsZXMgKENBU1NBTkRSQS02ODg4KQogKiBFbnN1cmUgc2FmZSByZXNvdXJjZSBjbGVhbnVwIHdoZW4gcmVwbGFjaW5nIHNzdGFibGVzIChDQVNTQU5EUkEtNjkxMikKICogQWRkIGZhaWx1cmUgaGFuZGxlciB0byBhc3luYyBjYWxsYmFjayAoQ0FTU0FORFJBLTY3NDcpCiAqIEZpeCBBRSB3aGVuIGNsb3NpbmcgU1NUYWJsZSB3aXRob3V0IHJlbGVhc2luZyByZWZlcmVuY2UgKENBU1NBnTgSQgAAAU/ePLJcABApCiAqIHJlamVjdCBtZXRoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz4AAABAHN0YWJsZSBjb250YWluaW5nIG9ubHkgMSByb3cgKENBU1NBTkRSQS00NDExKQogKiBmaXggIkNhbid0IE1vZGlmeSBJbmRleCBOYW1lIiBwcm9ibGVtIG9uIENGIHVwZGF0ZSAoQ0FTU0FORFJBLTQ0MzkpCiAqIEZpeCBhc3NlcnRpb24gZXJyb3IgaW4gZ2V0T3ZlcmxhcHBpbmdTU1RhYmxlcyBkdXJpbmcgcmVwYWlyIChDQVNTQU5EUkEtNDQ1NikKICogZml4IG5vZGV0b29sJ3Mgc2V0Y29tcGFjdGlvbnRocmVzaG9sZCBjb21tYW5kIChDQVNTQU5EUkGZnO9ZAAABT948slwAECBwcm9wZXJ0eSwgaW5zdGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPgAAAEAZXJpbmcgd2hlbiBwYWdpbmcgKENBU1NBTkRSQS02NzIyKQogKiBGaXggcG90ZW50aWFsIHBhZ2luZyBidWcgd2l0aCBkZWxldGVkIGNvbHVtbnMgKENBU1NBTkRSQS02NzQ4KQogKiBGaXggTlBFIG9uIEJ1bGtMb2FkZXIgY2F1c2VkIGJ5IGxvc2luZyBTdHJlYW1FdmVudCAoQ0FTU0FORFJBLTY2MzYpCiAqIEZpeCB0cnVuY2F0aW5nIGNvbXByZXNzaW9uIG1ldGFkYXRhIChDQVNTQU5EUkEtNjc5MSkKICogQWRkIENNU0NsYXNzVW5sb2FkaW5nRW5hYt1LLesACtJaXVak5gAAAU/ePLJcABBSQS0zMTk3LCAzNzY1KQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz6AAABAHVudCBoYWRvb3AgZXhhbXBsZSAoQ0FTU0FORFJBLTcyMDApCiAqIFVwZGF0ZWQgbWVtdGFibGVfY2xlYW51cF90aHJlc2hvbGQgYW5kIG1lbXRhYmxlX2ZsdXNoX3dyaXRlcnMgZGVmYXVsdHMgCiAgIChDQVNTQU5EUkEtNzU1MSkKICogKFdpbmRvd3MpIGZpeCBzdGFydHVwIHdoZW4gV01JIG1lbW9yeSBxdWVyeSBmYWlscyAoQ0FTU0FORFJBLTc1MDUpCiAqIEFudGktY29tcGFjdGlvbiBwcm9jZWVkcyBpZiBhbnkgcGFydCBvZiB0aGUgcmVwYWlyIGZAnrFhAAABT948slwAEGJldHdlZW4gY2YgZmx1c2gAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPoAAAEACiAqIEZvcmJpZCByZS1hZGRpbmcgZHJvcHBlZCBjb3VudGVyIGNvbHVtbnMgKENBU1NBTkRSQS03ODMxKQogKiBGaXggQ0ZNZXRhRGF0YSNpc1RocmlmdENvbXBhdGlibGUoKSBmb3IgUEstb25seSB0YWJsZXMgKENBU1NBTkRSQS03ODMyKQogKiBBbHdheXMgcmVqZWN0IGluZXF1YWxpdHkgb24gdGhlIHBhcnRpdGlvbiBrZXkgd2l0aG91dCB0b2tlbigpCiAgIChDQVNTQU5EUkEtNzcyMikKICogQWx3YXlzIHNlbmQgUGF4b3MgY29tbWl0IHRvIGFsbFwS1d8AAAFP3jyyXAAQayBiYWNrIGFmdGVyIGRlcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs+gAAAQBEUkEtMjQ5NikKICogZG9uJ3QgYWNjZXB0IGV4dHJhIGFyZ3MgZm9yIDAtYXJnIG5vZGV0b29sIGNvbW1hbmRzIChDQVNTQU5EUkEtMjc0MCkKICogbG9nIHVuYXZhaWxhYmxlZXhjZXB0aW9uIGRldGFpbHMgYXQgZGVidWcgbGV2ZWwgKENBU1NBTkRSQS0yODU2KQogKiBleHBvc2UgZGF0YV9kaXIgdGhvdWdoIGpteCAoQ0FTU0FORFJBLTI3NzApCiAqIGRvbid0IGluY2x1ZGUgdG1wIGZpbGVzIGFzIHNzdGFibGUgd2hlbiBjcmVhdGUgY2ZzIChDQVNTilWbmAAAAU/ePLJcABByaWZ0IHJhbmdlIGZpbHRlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz6AAABAHkgZm9yIGFuIGV4YW1wbGUgb2YgdXNlKQogKiBtYWtlIGNvbnNpc3RlbmN5X2xldmVsIGZ1bmN0aW9uYWwgaW4gZ2V0X3JhbmdlX3NsaWNlIChDQVNTQU5EUkEtNTY4KQogKiBvcHRpbWl6ZSBrZXkgZGVzZXJpYWxpemF0aW9uIGZvciBSYW5kb21QYXJ0aXRpb25lciAoQ0FTU0FORFJBLTU4MSkKICogYXZvaWQgR0NpbmcgdG9tYnN0b25lcyBleGNlcHQgb24gbWFqb3IgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTYwNCkKICogaW5jcmVhc2UgZmFpbHVyZSAH4H+EAAABT948slwAEGhhbmdlIGRlZmF1bHQgaGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPoAAAEAZm9yZSByZWN5Y2xpbmcKICAgY29tbWl0IGxvZyBzZWdtZW50cyAoQ0FTU0FORFJBLTc0MzcpCiAqIFJlbW92ZSBsZWZ0LW92ZXIgcm93c19wZXJfcGFydGl0aW9uX3RvX2NhY2hlIChDQVNTQU5EUkEtNzQ5MykKICogRml4IGVycm9yIHdoZW4gQ09OVEFJTlMgaXMgdXNlZCB3aXRoIGEgYmluZCBtYXJrZXIgKENBU1NBTkRSQS03NTAyKQogKiBQcm9wZXJseSByZWplY3QgdW5rbm93biBVRFQgZmllbGQgKENBU1NBTkRSQS03NDg0KQpNZXJnZWQgZnJvbWiaNlUAAAFP3jyyXAAQZG9lcyBub3QgZXhpc3QgaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs+gAAAQBBU1NBTkRSQS0xMzE2CgoKMC43LjAtcmMxCiAqIGZpeCBjb21wYWN0aW9uIGFuZCBmbHVzaCByYWNlcyB3aXRoIHNjaGVtYSB1cGRhdGVzIChDQVNTQU5EUkEtMTcxNSkKICogYWRkIGNsdXN0ZXJ0b29sLCBjb25maWctY29udmVydGVyLCBzc3RhYmxla2V5cywgYW5kIHNjaGVtYXRvb2wgCiAgIFdpbmRvd3MgLmJhdCBmaWxlcyAoQ0FTU0FORFJBLTE3MjMpCiAqIHJlamVjdCByYW5nZSBxdWVyaWVzIHJlY2VpdmVkIGR1cmluZyBib290c3RyYXAgKENBcmYZBQAAAU/ePLJcABB3IHNzdGFibGUyanNvbiB0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz6AAABADMuMCBSQzEKICogUmFuZ2UgcXVlcmllcyBvbiBrZXlzLCBpbmNsdWRpbmcgdXNlci1kZWZpbmVkIGtleSBjb2xsYXRpb24KICogUmVtb3ZlIHN1cHBvcnQKICogV29ya2Fyb3VuZHMgZm9yIGEgd2VpcmQgYnVnIGluIEpESyBzZWxlY3QvcmVnaXN0ZXIgdGhhdCBzZWVtcwogICBwYXJ0aWN1bGFybHkgY29tbW9uIG9uIFZNIGVudmlyb25tZW50cy4gQ2Fzc2FuZHJhIHNob3VsZCBkZXBsb3kKICAgZmluZSBvbiBFQzIgbm93CiAqIE11Y2ggaW1wcm92ZWR2+LqrAAABT948slwAEHdyb25nIHByb2dyZXNzIHcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPoAAAEAQ0FTU0FORFJBLTczOTQpCiAqIFN1cHBvcnQgRElTVElOQ1QgZm9yIHN0YXRpYyBjb2x1bW5zIGFuZCBmaXggYmVoYXZpb3VyIHdoZW4gRElTVElOQyBpcwogICBub3QgdXNlIChDQVNTQU5EUkEtNzMwNSkuCiAqIFdvcmthcm91bmQgSlZNIE5QRSBvbiBKTVggYmluZCBmYWlsdXJlIChDQVNTQU5EUkEtNzI1NCkKICogRml4IHJhY2UgaW4gRmlsZUNhY2hlU2VydmljZSBSZW1vdmFsTGlzdGVuZXIgKENBU1NBTkRSQS03Mjc4KQogKiBGaXggaW5jb25zaerPGi4AAAFP3jyyXAAQZXMgKENBU1NBTkRSQS0yMwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs+gAAAQAyNDgpCiAqIGNsaTogQWRkIEpNWCBhdXRoZW50aWNhdGlvbiBzdXBwb3J0IChDQVNTQU5EUkEtNTA4MCkKICogRml4IGZvcmNlRmx1c2ggYmVoYXZpb3IgKENBU1NBTkRSQS01MjQxKQogKiBjcWxzaDogQWRkIHVzZXJuYW1lIGF1dG9jb21wbGV0aW9uIChDQVNTQU5EUkEtNTIzMSkKICogRml4IENRTDMgY29tcG9zaXRlIHBhcnRpdGlvbiBrZXkgZXJyb3IgKENBU1NBTkRSQS01MjQwKQogKiBBbGxvdyBJTiBjbGF1c2Ugb24gbGFzdCBjbHVzdGVyaW5n4ZwkoAAAAU/ePLJcABBuZXcgSVAgdGFrZXMgb3ZlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz6AAABAHJ0IGZvciBiYXRjaGxvZyBpbiBDUUwzIChDQVNTQU5EUkEtNDU0NSwgNDczOCkKICogQWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIGNvbHVtbiBmYW1pbHkgb3V0cHV0cyBpbiBDRk9GIChDQVNTQU5EUkEtNDIwOCkKICogU3VwcG9ydCByZXBhaXJpbmcgb25seSB0aGUgbG9jYWwgREMgbm9kZXMgKENBU1NBTkRSQS00NzQ3KQogKiBVc2UgcnBjX2FkZHJlc3MgZm9yIGJpbmFyeSBwcm90b2NvbCBhbmQgY2hhbmdlIGRlZmF1bHQgcG9ydCAoQ0FTU0FORFLTf9zpAAABT948slwAEG4gKENBU1NBTkRSQS0yNTAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPoAAAEANDMwNykKICogKGNxbDMpIGV4ZXB0aW9uIG1lc3NhZ2UgZm9yIE9SREVSIEJZIGNvbnN0cmFpbnRzIHNhaWQgcHJpbWFyeSBmaWx0ZXIgY2FuIGJlCiAgICBhbiBJTiBjbGF1c2UsIHdoaWNoIGlzIG1pc2xlYWRpbmcgKENBU1NBTkRSQS00MzE5KQogKiAoY3FsMykgUmVqZWN0IChub3QgeWV0IHN1cHBvcnRlZCkgY3JlYXRpb24gb2YgMm5kYXJkeSBpbmRleGVzIG9uIHRhYmxlcyB3aXRoCiAgIGNvbXBvc2l0ZSBwcmltYXJ5IGtleXMgKENBU1NBTkRSQaJwaZQAAAFP3jyyXAAQYmxlTmFtZSBhbmQgY2ZOYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs+gAAAQBtaWxpZXMgaW4KICAgcmFwaWQgc3VjY2Vzc2lvbiAoQ0FTU0FORFJBLTE0NzcpCiAqIGNsZWFuIHVwIG9mIFN0cmVhbWluZyBzeXN0ZW0gKENBU1NBTkRSQS0xNTAzLCAxNTA0LCAxNTA2KQogKiBhZGQgb3B0aW9ucyB0byBjb25maWd1cmUgVGhyaWZ0IHNvY2tldCBrZWVwYWxpdmUgYW5kIGJ1ZmZlciBzaXplcyAoQ0FTU0FORFJBLTE0MjYpCiAqIG1ha2UgY29udHJpYiBDYXNzYW5kcmFTZXJ2aWNlRGF0YUNsZWFuZXIgcmVjdXJzaXZlIChDQVNTQU5EWERb9AAAAU/ePLJcABAgICAoQ0FTU0FORFJBLTQzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz6AAABAGFub3RpbWUgY29uc2lzdGVudGx5IGZvciBub2RlLWxvY2FsIHRpbWVvdXRzIChDQVNTQU5EUkEtNTU4MSkKICogQXZvaWQgdW5uZWNlc3Nhcnkgc2Vjb25kIHBhc3Mgb24gbmFtZS1iYXNlZCBxdWVyaWVzIChDQVNTQU5EUkEtNTU3NykKICogRXhwZXJpbWVudGFsIHRyaWdnZXJzIChDQVNTQU5EUkEtMTMxMSkKICogSkVNYWxsb2Mgc3VwcG9ydCBmb3Igb2ZmLWhlYXAgYWxsb2NhdGlvbiAoQ0FTU0FORFJBLTM5OTcpCiAqIFNpbmdsZS1wYXNzIGNvbXByiw58AAABT948slwAEEZpeCBoaW50cyBzZXJpYWwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILPoAAAEAYnJhcnkgKENBU1NBTkRSQS00MDUpCiAqIHVwZGF0ZSBub24tbWFqb3IgY29tcGFjdGlvbiBsb2dpYyB0byB1c2UgdHdvIHRocmVzaG9sZCB2YWx1ZXMKICAgKENBU1NBTkRSQS00MDcpCiAqIGFkZCBwZXJpb2RpYyAvIGJhdGNoIGNvbW1pdGxvZyBzeW5jIG1vZGVzIChzZXZlcmFsIHRpY2tldHMpCiAqIGlubGluZSBCYXRjaE11dGF0aW9uIGludG8gYmF0Y2hfaW5zZXJ0IHBhcmFtcyAoQ0FTU0FORFJBLTQwMykKICogYWxsb3cgc2V0dGluZyB0aGUgbCRKmAAAAAFP3jyyXAAQZGVzZXJpYWxpemUgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs+gAAAQBudGlhdGluZyBVcGRhdGVDb2x1bW5GYW1pbHkgKENBU1NBTkRSQS0zMTAyKQogKiBtYWtlIFJhbmdlIGFuZCBCb3VuZHMgb2JqZWN0cyBjbGllbnQtc2FmZSAoQ0FTU0FORFJBLTMxMDgpCiAqIG9wdGlvbmFsbHkgc2tpcCBsb2c0aiBjb25maWd1cmF0aW9uIChDQVNTQU5EUkEtMzA2MSkKICogYnVuZGxlIHNzdGFibGVsb2FkZXIgd2l0aCB0aGUgZGViaWFuIHBhY2thZ2UgKENBU1NBTkRSQS0zMTEzKQogKiBkb24ndCB0cnkgdG8gYnVpbGQgc2Vjb25kkMa5TwAK5rf3geXFAAABT948slwAEG4gc25hcHNob3QgcmVwYWkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILP0AAAEAbi4KICAgIC0gU2ltaWxhcmx5LCBtZXJnZWQgYmF0Y2hfaW5zZXJ0X3N1cGVyIGludG8gYmF0Y2hfaW5zZXJ0LgoKCgowLjQuMCBiZXRhCiAqIE9uLWRpc2sgZGF0YSBmb3JtYXQgaGFzIGNoYW5nZWQgdG8gYWxsb3cgYmlsbGlvbnMgb2Yga2V5cy9yb3dzIHBlcgogICBub2RlIGluc3RlYWQgb2Ygb25seSBtaWxsaW9ucwogKiBNdWx0aS1rZXlzcGFjZSBzdXBwb3J0CiAqIFNjYW4gYWxsIHNzdGFibGVzIGZvciBhbGwgcXVlcmllcyB0byBhdm9pZCBzaVNHViwAAAFP3jyyXAAQbiBvZiBjb2x1bW5fbWV0YQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs/QAAAQBTQ1JJQkUgRlVMTCBTQ0hFTUEgdmFyaWFudCAoQ0FTU0FORFJBLTU4ODApCk1lcmdlZCBmcm9tIDEuMjoKICogQ29ycmVjdGx5IHZhbGlkYXRlIHNwYXJzZSBjb21wb3NpdGUgY2VsbHMgaW4gc2NydWIgKENBU1NBTkRSQS01ODU1KQogKiBBZGQgS2V5Q2FjaGVIaXRSYXRlIG1ldHJpYyB0byBDRiBtZXRyaWNzIChDQVNTQU5EUkEtNTg2OCkKICogY3Fsc2g6IGFkZCBzdXBwb3J0IGZvciBtdWx0aWxpbmUgY29tbWVudHMgKENBU1NBTkRSQS01Nzk4KQog6/KutwAAAU/ePLJcABB0YXRpb25zIHdoZW4gYmFzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz9AAABAG4gdGhyZXNob2xkcyBhdCBydW50aW1lIHZpYQogICBKTVggLyBub2RlcHJvYmUuICAoQ0FTU0FORFJBLTQ2NSkKICogQWRkICJjb21tZW50IiBmaWVsZCB0byBDb2x1bW5GYW1pbHkgZGVmaW5pdGlvbi4gKENBU1NBTkRSQS00ODEpCiAqIEFkZGl0aW9uYWwgSk1YIG1ldHJpY3MgKENBU1NBTkRSQS00ODIpCiAqIEpTT04gYmFzZWQgZXhwb3J0IGFuZCBpbXBvcnQgdG9vbHMgKHNldmVyYWwgdGlja2V0cykKICogSGludGVkIEhhbmRvZmYgZml4ZXMgKHNlQPcBAAABT948slwAEHVzZSAtYiBvbiBzdGFydHUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILP0AAAEAbiBSUENUaW1lb3V0CiAgIChDQVNTQU5EUkEtNjg1KQogKiBhZGQgYWNrIHRvIEJpbmFyeSB3cml0ZSB2ZXJiIGFuZCB1cGRhdGUgQ2Fzc2FuZHJhQnVsa0xvYWRlcgogICB0byB3YWl0IGZvciBhY2tzIGZvciBlYWNoIHJvdyAoQ0FTU0FORFJBLTEwOTMpCiAqIGFkZGVkIGRlc2NyaWJlX3BhcnRpdGlvbmVyIFRocmlmdCBtZXRob2QgKENBU1NBTkRSQS0xMDQ3KQogKiBIYWRvb3Agam9icyBubyBsb25nZXIgcmVxdWlyZSB0aGUgQ2Fzc2FuZHJhIHN0b0hTcPsAAAFP3jyyXAAQX3dyaXRlcnMgZmx1c2ggaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs/QAAAQBhbmRyYS1zdHJlc3MgYW5kIG5vZGV0b29sIHJlcG9ydCBpdCAoQ0FTU0FORFJBLTc5MTYpCiAqIG5vZGV0b29sIHdvbid0IG91dHB1dCBib2d1cyBvd25lcnNoaXAgaW5mbyB3aXRob3V0IGEga2V5c3BhY2UgKENBU1NBTkRSQS03MTczKQogKiBBZGQgaHVtYW4gcmVhZGFibGUgb3B0aW9uIHRvIG5vZGV0b29sIGNvbW1hbmRzIChDQVNTQU5EUkEtNTQzMykKICogRG9uJ3QgdHJ5IHRvIHNldCByZXBhaXJlZEF0IG9uIG9sZCBzc3RhYmxlcyAoQ0FTU0FOaH6fKwAAAU/ePLJcABAKICogKGNxbHNoKSBGaXggAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz9AAABAFJBLTkzNjEpCiAqIEZpeCBjb21taXRsb2cgZ2V0Q29tcGxldGVkVGFza3MgdG8gbm90IGluY3JlbWVudCAoQ0FTU0FORFJBLTkzMzkpCiAqIEZpeCBmb3IgaGFybWxlc3MgZXhjZXB0aW9ucyBsb2dnZWQgYXMgRVJST1IgKENBU1NBTkRSQS04NTY0KQogKiBEZWxldGUgcHJvY2Vzc2VkIHNzdGFibGVzIGluIHNzdGFibGVzcGxpdC9zc3RhYmxldXBncmFkZSAoQ0FTU0FORFJBLTg2MDYpCiAqIEltcHJvdmUgc3N0YWJsZSBleGNsdXNpb24gZnJvbSBwYXJ8CeJUAAABT948slwAEAogKiBTb3J0IG5vZGV0b28AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILP0AAAEAIHJlYWRhYmxlIHN5c3RlbSByZXNvdXJjZXMgKENBU1NBTkRSQS03OTY3KQogKiBGaXggUm93SW5kZXhFbnRyeSB0byByZXBvcnQgY29ycmVjdCBzZXJpYWxpemVkU2l6ZSAoQ0FTU0FORFJBLTc5NDgpCiAqIE1ha2UgQ1FMU1NUYWJsZVdyaXRlciBzeW5jIHdpdGhpbiBwYXJ0aXRpb25zIChDQVNTQU5EUkEtNzM2MCkKICogUG90ZW50aWFsbHkgdXNlIG5vbi1sb2NhbCByZXBsaWNhcyBpbiBDcWxDb25maWdIZWxwZXIgKENBU1NBTkRSQS03OTA2KQogKrVSPyoAAAFP3jyyXAAQb2FkIGluIFRDUENvbm5lYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs/QAAAQBDQVNTQU5EUkEtMTQxNywgMTYwNiwgMTY0NykKICogYWRkIFN0b3JhZ2VTZXJ2aWNlLmdldERyYWluUHJvZ3Jlc3MgKENBU1NBTkRSQS0xNTg4KQogKiBEaXNhbGxvdyBib290c3RyYXAgdG8gYW4gaW4tdXNlIHRva2VuIChDQVNTQU5EUkEtMTU2MSkKICogQWxsb3cgZHluYW1pYyBzZWNvbmRhcnkgaW5kZXggY3JlYXRpb24gYW5kIGRlc3RydWN0aW9uIChDQVNTQU5EUkEtMTUzMikKICogbG9nIGF1dG8tZ3Vlc3NlZCBtZW10YWJsZSB0aHJlc2hvbGRzynP/9wAAAU/ePLJcABAzODgpCiAqIEF2b2lkIGxhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz9AAABAG9ybWF0IChDQVNTQU5EUkEtMjk4MSkKICogZml4IGJ1ZyB3aGVyZSBkaXJ0eSBjb21taXRsb2cgc2VnbWVudHMgd2VyZSByZW1vdmVkIChhbmQgYXZvaWQga2VlcGluZyAKICAgc2VnbWVudHMgd2l0aCBubyBwb3N0LWZsdXNoIGFjdGl2aXR5IHBlcm1hbmVudGx5IGRpcnR5KSAoQ0FTU0FORFJBLTI4MjkpCiAqIGZpeCB0aHJvd2luZyBleGNlcHRpb24gd2l0aCBiYXRjaCBtdXRhdGlvbiBvZiBjb3VudGVyIHN1cGVyIGNvbHVtbnMKICAgKENBU1NBTkSn5v0HAAABT948slwAECkKICogQ29tcGFjdCBob3QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILP0AAAEAaWRlIGEgc2V0IChDQVNTQU5EUkEtODEwNSkKICogRml4IGV4Y2VwdGlvbiB3aGVuIHF1ZXJ5aW5nIHNlY29uZGFyeSBpbmRleCBvbiBzZXQgaXRlbXMgb3IgbWFwIGtleXMKICAgd2hlbiBzb21lIGNsdXN0ZXJpbmcgY29sdW1ucyBhcmUgc3BlY2lmaWVkIChDQVNTQU5EUkEtODA3MykKICogU2VuZCBwcm9wZXIgZXJyb3IgcmVzcG9uc2Ugd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBkdXJpbmcgbmF0aXZlCiAgIHByb3RvY29sIG1lc3NhZ2UgZGVjb2RlIKxgDvgAAAFP3jyyXAAQZCB0byAxLjAgdG8gcHJvcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs/QAAAQBwcG9ydHMgdmFsaWRhdGlvbiBvcGVyYXRpb25zIG92ZXIgdXNlciBwcm9maWxlcyAoQ0FTU0FORFJBLTg3NzMpCiAqIEFkZCBzdXBwb3J0IGZvciByYXRlIGxpbWl0aW5nIGxvZyBtZXNzYWdlcyAoQ0FTU0FORFJBLTkwMjkpCiAqIExvZyB0aGUgcGFydGl0aW9uIGtleSB3aXRoIHRvbWJzdG9uZSB3YXJuaW5ncyAoQ0FTU0FORFJBLTg1NjEpCiAqIFJlZHVjZSBydW5XaXRoQ29tcGFjdGlvbnNEaXNhYmxlZCBwb2xsIGludGVydmFsIHRvIDFtcyAoQ0FTt+sKwAAAAU/ePLJcABAgKiBvcHRpbWl6ZSBiYXRjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz9AAABAHApIGZpeCBxdW90aW5nIGluIENxbFBhZ2luZ1JlY29yZFJlYWRlciBhbmQgQ3FsUmVjb3JkV3JpdGVyIAogICAoQ0FTU0FORFJBLTU4MjQpCiAqIHVwZGF0ZSBkZWZhdWx0IExDUyBzc3RhYmxlIHNpemUgdG8gMTYwTUIgKENBU1NBTkRSQS01NzI3KQogKiBBbGxvdyBjb21wYWN0aW5nIDJJcyB2aWEgbm9kZXRvb2wgKENBU1NBTkRSQS01NjcwKQogKiBIZXgtZW5jb2RlIG5vbi1TdHJpbmcga2V5cyBpbiBPUFAgKENBU1NBTkRSQS01NzkzKQogKiBub2SF1cGIAAABT948slwAEG1wb3RlbnQgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILP0AAAEAb3VsZCBhbGxvdyBDRiBuYW1lcyB0bwogICBiZSBxdWFsaWZpZWQgYnkga2V5c3BhY2UgKENBU1NBTkRSQS0zNDE5KQogKiBhbHdheXMgcmVtb3ZlIGVuZHBvaW50cyBmcm9tIGRlbGV2ZXJ5IHF1ZXVlIGluIEhIIChDQVNTQU5EUkEtMzU0NikKICogZml4IHJhY2UgYmV0d2VlbiBjZiBmbHVzaCBhbmQgaXRzIDJuZGFyeSBpbmRleGVzIGZsdXNoIChDQVNTQU5EUkEtMzU0NykKICogZml4IHBvdGVudGlhbCByYWNlIGluIEFFUyB3aGVuIGEgcmVwYWlyIOhE9z0AAAFP3jyyXAAQemF0aW9uIHJlc3VsdHMgKAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgs/QAAAQBzIGRvY3VtZW50YXRpb24gYWJvdXQgdGhlIHBhcnRpdGlvbgogICBrZXkgcGFyYW1ldGVyIChDQVNTQU5EUkEtNjQ1OCkKICogRG9uJ3QgY2hlY2sgb3RoZXIga2V5c3BhY2VzIGZvciBzY2hlbWEgY2hhbmdlcyB3aGVuIGFuIHVzZXItZGVmaW5lZAogICB0eXBlIGlzIGFsdGVyZWQgKENBU1NBTkRSQS05MTg3KQogKiBBbGxvdyB0YWtlQ29sdW1uRmFtaWx5U25hcHNob3QgdG8gdGFrZSBhIGxpc3Qgb2YgdGFibGVzIChDQVNTQU5EUkEtODM0OCkKICogQv+YLAAAAU/ePLJcABBTQU5EUkEtNzQwMykKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyCz9AAABAFNTQU5EUkEtNjI4NCkKICogQWRkIG1pbGxpc2Vjb25kIHByZWNpc2lvbiBmb3JtYXRzIHRvIHRoZSB0aW1lc3RhbXAgcGFyc2VyIChDQVNTQU5EUkEtNjM5NSkKICogRXhwb3NlIGEgdG90YWwgbWVtdGFibGUgc2l6ZSBtZXRyaWMgZm9yIGEgQ0YgKENBU1NBTkRSQS02MzkxKQogKiBjcWxzaDogaGFuZGxlIHN5bWxpbmtzIHByb3Blcmx5IChDQVNTQU5EUkEtNjQyNSkKICogRml4IHBvdGVudGlhbCBpbmZpbml0ZSBsb29wIHdoZW4gcGFnaW5nIHF1ZXLqO1FpAAr7FJIQiPcAAAFP3jyyXAAQZWQgdG8gaW5zcGVjdCBzcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtAAAAAQBsdCByZWFkIHJlcGFpciBjaGFuY2VzIChDQVNTQU5EUkEtNzMyMCkKICogQWRkIGNvbmRpdGlvbmFsIENSRUFURS9EUk9QIFVTRVIgc3VwcG9ydCAoQ0FTU0FORFJBLTcyNjQpCiAqIENxbHNoIGNvdW50cyBub24tZW1wdHkgbGluZXMgZm9yICJCbGFuayBsaW5lcyIgd2FybmluZyAoQ0FTU0FORFJBLTczMjUpCk1lcmdlZCBmcm9tIDEuMjoKICogQWRkIENsb3Vkc3RhY2sgc25pdGNoIChDQVNTQU5EUkEtNzE0NykKICogVXBkYXRlIHN5c3RlbS5wZWVy8Rwl4gAAAU/ePLJcABAgcmVhZCB3YXMgZGVsZXRlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0AAAABAAogKiBjbGVhbiB1cCBhbmQgb3B0aW1pemUgRGF0YU91dHB1dEJ1ZmZlciwgdXNlZCBieSBDUUwgY29tcHJlc3Npb24gYW5kCiAgIENvbXBvc2l0ZVR5cGUgKENBU1NBTkRSQS00MDcyKQogKiBvcHRpbWl6ZSBjb21taXRsb2cgY2hlY2tzdW1taW5nIChDQVNTQU5EUkEtMzYxMCkKICogaWRlbnRpZnkgYW5kIGJsYWNrbGlzdCBjb3JydXB0ZWQgU1NUYWJsZXMgZnJvbSBmdXR1cmUgY29tcGFjdGlvbnMgCiAgIChDQVNTQU5EUkEtMjI2MSkKICogTW92ZSCB6dFRAAABT948slwAECBtZXNzYWdlcyAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQAAAAEAZWZhdWx0IHdyaXRlIENvbnNpc3RlbmN5TGV2ZW4gY2hhbmVkIGZyb20gWkVSTyB0byBPTkUKICogZml4IGZvciBpbmRleCBlbnRyaWVzIHNwYW5uaW5nIG1tYXAgYnVmZmVyIGJvdW5kYXJpZXMgKENBU1NBTkRSQS04NTcpCiAqIHVzZSBsZXhpY2FsIGNvbXBhcmlzb24gaWYgdGltZSBwYXJ0IG9mIFRpbWVVVUlEcyBhcmUgdGhlIHNhbWUgCiAgIChDQVNTQU5EUkEtOTA3KQogKiBib3VuZCByZWFkLCBtdXRhdGlvbiwgYW5kIHJlc3BvbnNlIHN0YWdlcw8MlOYAAAFP3jyyXAAQaW5Qcm9ncmVzcyAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtAAAAAQBhdGVtZW50cyBiZXR3ZWVuIGtleXNwYWNlcyAoQ0FTU0FORFJBLTUzNTIpCiAqIEZpeCBjb25zaXN0ZW5jeSBsZXZlbCBkdXJpbmcgYm9vdHN0cmFwIC0gc3RyaWtlIDMgKENBU1NBTkRSQS01MzU0KQogKiBGaXggdHJhbnNwb3NlZCBhcmd1bWVudHMgaW4gQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbiAoQ0FTU0FORFJBLTUzNjIpCiAqIEltcHJvdmUgYXN5bmNocm9ub3VzIGhpbnQgZGVsaXZlcnkgKENBU1NBTkRSQS01MTc5KQogKiBGaXggR3VhdmEgZGVwsZN34AAAAU/ePLJcABBlbmRpbmcgY2x1c3RlcmluAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0AAAABAGVzIChDQVNTQU5EUkEtMzI3MikKICogcmVwbGFjZSBjb21wYWN0aW9ubG9jayB1c2UgaW4gc2NoZW1hIG1pZ3JhdGlvbiBieSBjaGVja2luZyBDRlMuaXNWYWxpZAogICAoQ0FTU0FORFJBLTMxMTYpCiAqIHJlY29nbml6ZSB0aGF0ICJTRUxFQ1QgZmlyc3QgLi4uICoiIGlzbid0IHJlYWxseSAiU0VMRUNUICoiIChDQVNTQU5EUkEtMzQ0NSkKICogVXNlIGZhc3RlciBieXRlcyBjb21wYXJpc29uIChDQVNTQU5EUkEtMzQzNCkKICogQnVsayBsb2FkZXJUQQlqAAABT948slwAEHQteWV0LWV4cGlyZWQgc3UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQAAAAEAdCgpIG1vcmUgcm9idXN0IHRvIGZhaWx1cmUgKENBU1NBTkRSQS04ODMyKQogKiBSZW1vdmUgY29sZF9yZWFkc190b19vbWl0IGZyb20gU1RDUyAoQ0FTU0FORFJBLTg4NjApCiAqIE1ha2UgRXN0aW1hdGVkSGlzdG9ncmFtI3BlcmNlbnRpbGUoKSB1c2UgY2VpbCBpbnN0ZWFkIG9mIGZsb29yIChDQVNTQU5EUkEtODg4MykKICogRml4IHRvcCBwYXJ0aXRpb25zIHJlcG9ydGluZyB3cm9uZyBjYXJkaW5hbGl0eSAoQ0FTU0FORFJBLTg4MzQpCiAqIEZpePiqY+YAAAFP3jyyXAAQKENBU1NBTkRSQS02MDc1KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtAAAAAQAgaGFuZGxlIHF1b3RlcyBpbiBjcmVhdGUvdXBkYXRlIGtleXNwYWNlIGNvbW1hbmRzIChDQVNTQU5EUkEtNDEyOSkKICogQXZvaWRzIHBvc3NpYmxlIGRlYWRsb2NrIGR1cmluZyBib290c3RyYXAgKENBU1NBTkRSQS00MTU5KQogKiBmaXggc3RyZXNzIHRvb2wgdGhhdCBoYW5ncyBmb3JldmVyIG9uIHRpbWVvdXQgb3IgZXJyb3IgKENBU1NBTkRSQS00MTI4KQogKiBzdHJlc3MgdG9vbCB0byByZXR1cm4gYXBwcm9wcmlhdGUgZXhpdCBjb2RlIG9uIGZh1KH0mgAAAU/ePLJcABBBU1NBTkRSQS04MzMpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0AAAABAChDQVNTQU5EUkEtMTA2NSkKICogYWRkIHRydW5jYXRlIHRocmlmdCBtZXRob2QgKENBU1NBTkRSQS01MzEpCiAqIGh0dHAgbWluaS1pbnRlcmZhY2UgdXNpbmcgbXg0aiAoQ0FTU0FORFJBLTEwNjgpCiAqIG9wdGltaXplIGF3YXkgY29weSBvZiBzbGljZWQgcm93IG9uIG1lbXRhYmxlIHJlYWQgcGF0aCAoQ0FTU0FORFJBLTEwNDYpCiAqIHJlcGxhY2UgY29uc3RhbnQtc2l6ZSAyR0IgbW1hcGVkIHNlZ21lbnRzIGFuZCBzcGVjaWFsIGNhc2luZyBmb3KlJQDTAAABT948slwAEHRvIGRpc2sgaW4gdGVzdHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQAAAAEAQVNTQU5EUkEtNTczNCkKICogQ2xlYW51cCBBYnN0cmFjdFR5cGUvVHlwZVNlcmlhbGl6ZXIgY2xhc3NlcyAoQ0FTU0FORFJBLTU3NDQpCiAqIFJlbW92ZSB1bmltcGxlbWVudGVkIGNsaSBvcHRpb24gc2NoZW1hLW13dCAoQ0FTU0FORFJBLTU3NTQpCiAqIFN1cHBvcnQgcmFuZ2UgdG9tYnN0b25lcyBpbiB0aHJpZnQgKENBU1NBTkRSQS01NDM1KQogKiBOb3JtYWxpemUgdGFibGUtbWFuaXB1bGF0aW5nIENRTDMgc3RhdGVtZW50cycgY2xhc3MgbmFtZdTyN9IAAAFP3jyyXAAQYWRvb3ApIGZpeCBjbHVzdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtAAAAAQAgYW5kIG5vdGlmaWNhdGlvbnMgKENBU1NBTkRSQS03NTM5KQogKiBCdW1wIENRTCB2ZXJzaW9uIHRvIDMuMi4wIGFuZCB1cGRhdGUgQ1FMIGRvY3VtZW50YXRpb24gKENBU1NBTkRSQS03NTI3KQogKiBGaXggY29uZmlndXJhdGlvbiBlcnJvciBtZXNzYWdlIHdoZW4gcnVubmluZyBub2RldG9vbCByaW5nIChDQVNTQU5EUkEtNzUwOCkKICogU3VwcG9ydCBjb25kaXRpb25hbCB1cGRhdGVzLCB0dXBsZSB0eXBlLCBhbmQgdGhlIHYzIHByb3RvY29sIGlutLh5bAAAAU/ePLJcABAyMTE1KQogKiBsb3dlci1sAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0AAAABAGVQcm92aWRlciB0aGUgZGVmYXVsdCBpZiBKTkEgaXMgYXZhaWxhYmxlIChDQVNTQU5EUkEtMzE4MykKICogRml4IGJhY2t3YXJkcyBjb21wYXRpYmlsdHkgZm9yIENRTCBtZW10YWJsZSBwcm9wZXJ0aWVzIChDQVNTQU5EUkEtMzE5MCkKICogQWRkIGZpdmUtbWludXRlIGRlbGF5IGJlZm9yZSBzdGFydGluZyBjb21wYWN0aW9ucyBvbiBhIHJlc3RhcnRlZCBzZXJ2ZXIKICAgKENBU1NBTkRSQS0zMTgxKQogKiBSZWR1Y2UgY29waWVzIGRvbmUgZm9yIGkZuek+AAABT948slwAEGwgaGVscCAoQ0FTU0FORFIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQAAAAEAaW5zdGVhZCBvZiBwb2ludGVycyB0byBkYXRhIHJvdwogICAoQ0FTU0FORFJBLTIwNDUpCiAqIHN0b3JlIGhpbnRzIGluIHRoZSBjb29yZGluYXRvciBub2RlIGluc3RlYWQgb2YgaW4gdGhlIGNsb3Nlc3QgcmVwbGljYSAKICAgKENBU1NBTkRSQS0yOTE0KQogKiBhZGQgcm93X2NhY2hlX2tleXNfdG9fc2F2ZSBDRiBvcHRpb24gKENBU1NBTkRSQS0xOTY2KQogKiBjaGVjayBjb2x1bW4gZmFtaWx5IHZhbGlkaXR5IGluIG5vZGV0b29sIHJlcGFpciAoQ6mTXrQAAAFP3jyyXAAQb3B0aW9uIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtAAAAAQAoQ0FTU0FORFJBLTI0OTIpCiAqIGRpc2FibGUgY2FjaGUgc2F2aW5nIGZvciBzeXN0ZW0gQ0ZTIChDQVNTQU5EUkEtMjUwMikKICogZml4ZXMgZm9yIHZlcmlmeWluZyBkZXN0aW5hdGlvbiBhdmFpbGFiaWxpdHkgdW5kZXIgaGludGVkIGNvbmRpdGlvbnMKICAgc28gVUUgY2FuIGJlIHRocm93biBpbnRlYWQgb2YgdGltaW5nIG91dCAoQ0FTU0FORFJBLTI1MTQpCiAqIGZpeCB1cGRhdGUgb2YgdmFsaWRhdGlvbiBjbGFzcyBpbiBjb2x1bW4gbWV0YWRhgIEtDQAAAU/ePLJcABB0aXZlIGxpc3QgCiAgIChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0AAAABACByYXRlIG9mIDEuMCBkaXNhYmxlcyBCRiBlbnRpcmVseTsgTENTIGRlZmF1bHRzIHRvIDEuMCAoQ0FTU0FORFJBLTQ4NzYpCiAqIG9mZi1oZWFwIGJsb29tIGZpbHRlcnMgZm9yIHJvdyBrZXlzIChDQVNTQU5EUkFfNDg2NSkKICogYWRkIGV4dGVuc2lvbiBwb2ludCBmb3Igc3N0YWJsZSBjb21wb25lbnRzIChDQVNTQU5EUkEtNDA0OSkKICogaW1wcm92ZSB0cmFjaW5nIG91dHB1dCAoQ0FTU0FORFJBLTQ4NTIsIDQ4NjIpCiAqIG1ha2UgVFJBQ0UgdmW2Jh5ZAAABT948slwAEG5zdCBvbGRlciBub2RlICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQAAAAEAc3RyZXNzIENPVU5URVJfR0VUIG9wdGlvbiAoQ0FTU0FORFJBLTMzMDEpCiAqIEZpeCBtaXNzaW5nIGZpZWxkcyBpbiBDTEkgYHNob3cgc2NoZW1hYCBvdXRwdXQgKENBU1NBTkRSQS0zMzA0KQogKiBOb2RldG9vbCBubyBsb25nZXIgbGVha3MgdGhyZWFkcyBhbmQgY2xvc2VzIEpNWCBjb25uZWN0aW9ucyAoQ0FTU0FORFJBLTMzMDkpCiAqIGZpeCB0cnVuY2F0ZSBhbGxvd2luZyBkYXRhIHRvIGJlIHJlcGxheWVkIHBvc3QtcmVzdGFydCAoQ0FTU0FORLltGs4ACw9xIqMWuQAAAU/ePLJcABAgIChDQVNTQU5EUkEtMTM3AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0CAAABADI4OCkKICogRGVsZXRlIHVuZmluaXNoZWQgY29tcGFjdGlvbiBpbmNyZW1lbnRhbGx5IChDQVNTQU5EUkEtNjA4NikKICogQWxsb3cgc3BlY2lmeWluZyBjdXN0b20gc2Vjb25kYXJ5IGluZGV4IG9wdGlvbnMgaW4gQ1FMMyAoQ0FTU0FORFJBLTY0ODApCiAqIEltcHJvdmUgcmVwbGljYSBwaW5uaW5nIGZvciBjYWNoZSBlZmZpY2llbmN5IGluIERFUyAoQ0FTU0FORFJBLTY0ODUpCiAqIEZpeCBMT0NBTF9TRVJJQUwgZnJvbSB0aHJpZnQgKENBU1NBTkR8zdckAAABT948slwAEDE2KQogKiBmaXggaW5kZXgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQMAAAEAa2V5IGluIGhhZG9vcCBDb2x1bW5GYW1pbHlPdXRwdXRGb3JtYXQKICAgKENBU1NBTkRSQS0xNzc0KQogKiBpbXByb3ZlbWVudHMgdG8gRGViaWFuIGluaXQgc2NyaXB0IChDQVNTQU5EUkEtMTc3MikKICogdXNlIGxvY2FsIGNsYXNzbG9hZGVyIHRvIGNoZWNrIGZvciB2ZXJzaW9uLnByb3BlcnRpZXMgKENBU1NBTkRSQS0xNzc4KQogKiBWYWxpZGF0ZSB0aGF0IGNvbHVtbiBuYW1lcyBpbiBjb2x1bW5fbWV0YWRhdGEgYXJlIHZhbGlkIGZvciB0aGUKIH7hR2EAAAFP3jyyXAAQKENBU1NBTkRSQS02MzM3KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtAwAAAQBwYXJzZSBjb21wb3NpdGUgY2VsbHMgaW4gc2NydWIgKENBU1NBTkRSQS01ODU1KQogKiBBZGQgS2V5Q2FjaGVIaXRSYXRlIG1ldHJpYyB0byBDRiBtZXRyaWNzIChDQVNTQU5EUkEtNTg2OCkKICogY3Fsc2g6IGFkZCBzdXBwb3J0IGZvciBtdWx0aWxpbmUgY29tbWVudHMgKENBU1NBTkRSQS01Nzk4KQogKiBIYW5kbGUgQ1FMMyBTRUxFQ1QgZHVwbGljYXRlIElOIHJlc3RyaWN0aW9ucyBvbiBjbHVzdGVyaW5nIGNvbHVtbnMKICAgKENBU1NBTkRSQS01aijumQAAAU/ePLJcABBDQVNTQU5EUkEtMjMzMykKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0DAAABAHQgKENBU1NBTkRSQS0zMzc0KQogKiBSZXNldCBtaW4vbWF4IGNvbXBhY3Rpb24gdGhyZXNob2xkIHdoZW4gY3JlYXRpbmcgc2l6ZSB0aWVyZWQgY29tcGFjdGlvbgogICBzdHJhdGVneSAoQ0FTU0FORFJBLTM2NjYpCiAqIERvbid0IGlnbm9yZSBJT0V4Y2VwdGlvbiBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTM2NTUpCiAqIEZpeCBhc3NlcnRpb24gZXJyb3IgZm9yIENGIHdpdGggZ2NfZ3JhY2U9MCAoQ0FTU0FORFJBLTM1NzkpCiAqIFNodXQnwHUfAAABT948slwAEEFORFJBLTQwODYpCiAqIEUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQMAAAEAIChDQVNTQU5EUkEtNDcyOCkKICogYWRkIFBCU1ByZWRpY3RvciBjb25zaXN0ZW5jeSBtb2RlbGVyIChDQVNTQU5EUkEtNDI2MSkKICogcmVtb3ZlIHZlc3RpZ2VzIG9mIFRocmlmdCB1bmZyYW1lZCBtb2RlIChDQVNTQU5EUkEtNDcyOSkKICogb3B0aW1pemUgc2luZ2xlLXJvdyBQSyBsb29rdXBzIChDQVNTQU5EUkEtNDcxMCkKICogYWRqdXN0IGJsb2NrRm9yIGNhbGN1bGF0aW9uIHRvIGFjY291bnQgZm9yIHBlbmRpbmcgcmFuZ2VzIGR1ZSB0byBub4qMbvkAAAFP3jyyXAAQaHJlc2hvbGQsIGRlZmF1bAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtAwAAAQBlIHBvc2l0aXZlIGNvdW50IG9uIGtleSBjYWNoZSBoaXQgKENBU1NBTkRSQS04NTI1KQogKiBNb3ZlIE1ldGVyZWRGbHVzaGVyIHRvIGl0cyBvd24gdGhyZWFkIChDQVNTQU5EUkEtODQ4NSkKICogRml4IG5vbi1kaXN0aW5jdCByZXN1bHRzIGluIERJU1ROQ1QgcXVlcmllcyBvbiBzdGF0aWMgY29sdW1ucyB3aGVuCiAgIHBhZ2luZyBpcyBlbmFibGVkIChDQVNTQU5EUkEtODA4NykKICogTW92ZSBhbGwgaGludHMgcmVsYXRlZCB0YXNrcyB0byBoaW50JsVosQAAAU/ePLJcABBhcHNob3QgYmVmb3JlIGRyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0DAAABACBuZXcgZ2VuZXJhdGlvbiBzaXplIHdpdGggLVhtbiAoQ0FTU0FORFJBLTE5NjgpCiAqIGFkZCBzaG9ydCBvcHRpb25zIGZvciBDTEkgZmxhZ3MgKENBU1NBTkRSQS0xNTY1KQogKiBtYWtlIGtleXNwYWNlIGFyZ3VtZW50IHRvICJkZXNjcmliZSBrZXlzcGFjZSIgaW4gQ0xJIG9wdGlvbmFsCiAgIHdoZW4gYXV0aGVudGljYXRlZCB0byBrZXlzcGFjZSBhbHJlYWR5IChDQVNTQU5EUkEtMjAyOSkKICogYWRkZWQgb3B0aW9uIHRvIHNwZWNpZnkgLURjYXP3UxiSAAABT948slwAEHZlbiB3aXRoIFJldmVyc2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQMAAAEAQ0FTU0FORFJBLTMzNDcpCiAqIHJlY29yZCBwYXJ0aXRpb25lciBpbiBzc3RhYmxlIG1ldGFkYXRhIGNvbXBvbmVudCAoQ0FTU0FORFJBLTM0MDcpCiAqIGFkZCBuZXcgdXBncmFkZXNzdGFibGVzIG5vZGV0b29sIGNvbW1hbmQgKENBU1NBTkRSQS0zNDA2KQogKiBza2lwIC0tZGVidWcgcmVxdWlyZW1lbnQgdG8gc2VlIGNvbW1vbiBleGNlcHRpb25zIGluIENMSSAoQ0FTU0FORFJBLTM1MDgpCiAqIGZpeCBpbmNvcnJlY3QgcXVlcnkgcmVzdWx0cyBkdbsLvlQAAAFP3jyyXAAQIGFkZCB3aW5kb3dzIGJhdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtAwAAAQB5T2Zmc2V0IGluIEZCVXRpbGl0aWVzLmhhc2ggKENBU1NBTkRSQS00MjUwKQogKiAoY3FsMykgQWRkIG5hbWUgb2YgcGFyYW1ldGVycyBpbiBDcWxSZXN1bHRTZXQgKENBU1NBTkRSQS00MjQyKQogKiAoY3FsMykgQ29ycmVjdGx5IHZhbGlkYXRlIG9yZGVyIGJ5IHF1ZXJpZXMgKENBU1NBTkRSQS00MjQ2KQogKiByZW5hbWUgc3RyZXNzIHRvIGNhc3NhbmRyYS1zdHJlc3MgZm9yIHNhbmVyIHBhY2thZ2luZyAoQ0FTU0FORFJBLTQyNTYpCiAqIEZpeCBlA+Ck5AAAAU/ePLJcABApCiAqIFN1cHBvcnQgdmFyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0DAAABADgpCiAqIGF2b2lkIHJlcGxheWluZyBoaW50cyB0byBkcm9wcGVkIGNvbHVtbmZhbWlsaWVzIChDQVNTQU5EUkEtMjY4NSkKICogYWRkIHBsYWNlaG9sZGVycyBmb3IgbWlzc2luZyByb3dzIGluIHJhbmdlIHF1ZXJ5IHBzZXVkby1SUiAoQ0FTU0FORFJBLTI2ODApCiAqIHJlbW92ZSBuby1vcCBISE9NLnJlbmFtZUhpbnRzIChDQVNTQU5EUkEtMjY5MykKICogY2xvbmUgc3VwZXIgY29sdW1ucyB0byBhdm9pZCBtb2RpZnlpbmcgdGhlbSBkdXJpbmcgZmw83SIVAAABT948slwAEHBhY3Rpb24gKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQMAAAEAbG9nZ2luZyByYW5nZSB0b21ic3RvbmVzIHdoZW4gZXhjZWVkaW5nIHRoZSB0aHJlc2hvbGQKICAgKENBU1NBTkRSQS04NTU5KQogKiBGaXggTnVsbFBvaW50ZXJFeGNlcHRpb24gd2hlbiBub2RldG9vbCBnZXRlbmRwb2ludHMgaXMgcnVuCiAgIGFnYWluc3QgaW52YWxpZCBrZXlzcGFjZXMgb3IgdGFibGVzIChDQVNTQU5EUkEtODk1MCkKICogQWxsb3cgc3BlY2lmeWluZyB0aGUgdG1wIGRpciAoQ0FTU0FORFJBLTc3MTIpCiAqIEltcHJvdmUgY29tcIHCwmcAAAFP3jyyXAAQbGFzc3BhdGggZm9yIGRlYgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtAwAAAQBjdGlvbnMgd2hlbiBibG9vbSBmaWx0ZXIKICAgdmVyaWZpZXMgdGhhdCByb3cgZG9lcyBub3QgZXhpc3QgaW4gb3RoZXIgc3N0YWJsZXMgKENBU1NBTkRSQS0xMDc0KQogKiBub2RlcyB0aGF0IGNvb3JkaW5hdGVkIGEgbG9hZGJhbGFuY2UgaW4gdGhlIHBhc3QgY291bGQgbm90IGJlIHNlZW4gYnkKICAgbmV3bHkgYWRkZWQgbm9kZXMgKENBU1NBTkRSQS0xNDY3KQogKiBleHBvc2VkIGVuZHBvaW50IHN0YXRlcyAoZ29zc2lwIGRldGFpbHMpIHZpYSBqwm4frQAAAU/ePLJcABBhcmRpbmcgKENBU1NBTkRSAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0DAAABAGluIFRocmlmdCB0YWJsZQogICAoQ0FTU0FORFJBLTU3MTgpCiAqIEFkZCAtbm8tc25hcHNob3Qgb3B0aW9uIHRvIHNjcnViIChDQVNTQU5EUkEtNTg5MSkKICogRml4IHRvIHN1cHBvcnQgb2ZmIGhlYXAgYmxvb20gZmlsdGVycyBzaXplIGdyZWF0ZXIgdGhhbiAyIEdCIChDQVNTQU5EUkEtNTkwMykKICogUHJvcGVybHkgaGFuZGxlIHBhcnNpbmcgaHVnZSBtYXAgYW5kIHNldCBsaXRlcmFscyAoQ0FTU0FORFJBLTU4OTMpCiAqIEZpeCBMQ1MgTDAgY2/OnNAhAAABT948slwAEGFibGVsb2FkZXIgcmVmZXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQMAAAEAQ0FTU0FORFJBLTcyMjkpCiAqIEFkZCAnbm9kZXRvb2wgc2V0aGludGVkaGFuZG9mZnRocm90dGxla2InIChDQVNTQU5EUkEtNzYzNSkKICogKGNxbHNoKSBBZGQgdGFiLWNvbXBsZXRpb24gZm9yIENSRUFURS9EUk9QIFVTRVIgSUYgW05PVF0gRVhJU1RTIChDQVNTQU5EUkEtNzYxMSkKICogQ2F0Y2ggZXJyb3JzIHdoZW4gdGhlIEpWTSBwdWxscyB0aGUgcnVnIG91dCBmcm9tIEdDSW5zcGVjdG9yIChDQVNTQU5EUkEtNTM0NSkKICogY3Fsc2ggZmFpbGf/tf0AAAFP3jyyXAAQZWxpdmVyZWQgaGludHMgbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtAwAAAQBTU0FORFJBLTczNjYpCiAqIEZpeCBlcnJvciB3aGVuIGRvaW5nIHJldmVyc2VkIHF1ZXJpZXMgd2l0aCBzdGF0aWMgY29sdW1ucyAoQ0FTU0FORFJBLTc0OTApCiAqIEJhY2twb3J0IENBU1NBTkRSQS02NzQ3IChDQVNTQU5EUkEtNzU2MCkKICogVHJhY2sgbWF4L21pbiB0aW1lc3RhbXBzIGZvciByYW5nZSB0b21ic3RvbmVzIChDQVNTQU5EUkEtNzY0NykKICogRml4IE5QRSB3aGVuIGxpc3Rpbmcgc2F2ZWQgY2FjaGVzIGRpciAoQ0FTU0FORFJBLTc2IWp4qwALI85uac3gAAABT948slwAEDY1NjMpCiAqIERvbid0IHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQQAAAEAZiBDQVNTQU5EUkEtMTMxNgoKCjAuNy4wLXJjMQogKiBmaXggY29tcGFjdGlvbiBhbmQgZmx1c2ggcmFjZXMgd2l0aCBzY2hlbWEgdXBkYXRlcyAoQ0FTU0FORFJBLTE3MTUpCiAqIGFkZCBjbHVzdGVydG9vbCwgY29uZmlnLWNvbnZlcnRlciwgc3N0YWJsZWtleXMsIGFuZCBzY2hlbWF0b29sIAogICBXaW5kb3dzIC5iYXQgZmlsZXMgKENBU1NBTkRSQS0xNzIzKQogKiByZWplY3QgcmFuZ2UgcXVlcmllcyByZWNlaXZlZCBkdXJpbmcgYm9vdHN0cmFwIHzcZb8AAAFP3jyyXAAQU0FORFJBLTM4NDQpCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtBAAAAQBycm9yIHJlc3BvbnNlIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3IgZHVyaW5nIG5hdGl2ZQogICBwcm90b2NvbCBtZXNzYWdlIGRlY29kZSAoQ0FTU0FORFJBLTgxMTgpCiAqIEdvc3NpcCBzaG91bGQgaWdub3JlIGdlbmVyYXRpb24gbnVtYmVycyB0b28gZmFyIGluIHRoZSBmdXR1cmUgKENBU1NBTkRSQS04MTEzKQogKiBGaXggTlBFIHdoZW4gY3JlYXRpbmcgYSB0YWJsZSB3aXRoIGZyb3plbiBzZXRzLCBsaXN0cyAoQ0FTU0FORFJBLTgxMDQpCiAqIEZpP60wZwAAAU/ePLJcABBjb21wYWN0ZWQgc3N0YWJsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0FAAABAG5kIGNvbXBsZXRlZCBjb3VudHMgKENBU1NBTkRSQS0xNTMzKQogKiBmaXggcmFjZSBjb25kaXRpb24gcHJvY2Vzc2luZyByZXBhaXIgcmVzcG9uc2VzIChDQVNTQU5EUkEtMTUxMSkKICogbWFrZSByZXBhaXIgYmxvY2tpbmcgKENBU1NBTkRSQS0xNTExKQogKiBjcmVhdGUgRW5kcG9pbnRTbml0Y2hJbmZvIGFuZCBNQmVhbiB0byBleHBvc2UgcmFjayBhbmQgREMgKENBU1NBTkRSQS0xNDkxKQogKiBhZGRlZCBvcHRpb24gdG8gY29udHJpYi93b3JkX2PcHxvvAAABT948slwAECBjbGllbnQKICogUmVkdWMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQUAAAEAZG93ZWQgYnkgbm90LXlldC1leHBpcmVkIHN1cGVyY29sdW1uIG9yIHJvdwogICB0b21ic3RvbmVzIGluIFByZWNvbXBhY3RlZFJvdyAoQ0FTU0FORFJBLTQzOTYpCgoKMS4xLjIKICogRml4IGNsZWFudXAgbm90IGRlbGV0aW5nIGluZGV4IGVudHJpZXMgKENBU1NBTkRSQS00Mzc5KQogKiBVc2UgY29ycmVjdCBwYXJ0aXRpb25lciB3aGVuIHNhdmluZyArIGxvYWRpbmcgY2FjaGVzIChDQVNTQU5EUkEtNDMzMSkKICogQ2hlY2sgc2NoZW1hIGJlZm9yZcIlIYcAAAFP3jyyXAAQc2VkVHlwZSAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtBQAAAQBDQVNTQU5EUkEtMTg3MikKICogYWRkIGNvbmZpZ3VyYWJsZSByb3cgbGltaXQgdG8gUGlnIGxvYWRmdW5jIChDQVNTQU5EUkEtMjI3NikKICogdmFsaWRhdGUgY29sdW1uIHZhbHVlcyBpbiBiYXRjaGVzIGFzIHdlbGwgYXMgc2luZ2xlLUNvbHVtbiBpbnNlcnRzCiAgIChDQVNTQU5EUkEtMjI1OSkKICogbW92ZSBzYW1wbGUgc2NoZW1hIGZyb20gY2Fzc2FuZHJhLnlhbWwgdG8gc2NoZW1hLXNhbXBsZS50eHQsCiAgIGEgY2xpIHNjcmlwdHMgKENBU1NBkGDC8AAAAU/ePLJcABBtYWtlIHN1cmUgd2UgZG9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0FAAABACBsYXJnZSBibG9icyBhbmQgbWFueSBDRnMgKENBU1NBTkRSQS01OTgyKQogKiAoSGFkb29wKSBGaXggQ1FMUlcgZm9yIHRocmlmdCB0YWJsZXMgKENBU1NBTkRSQS02MDAyKQogKiBGaXggcG9zc2libGUgZGl2aWRlLWJ5LXplcm8gaW4gSEhPTSAoQ0FTU0FORFJBLTU5OTApCiAqIEFsbG93IGxvY2FsIGJhdGNobG9nIHdyaXRlcyBmb3IgQ0wuQU5ZIChDQVNTQU5EUkEtNTk2NykKICogVXBncmFkZSBtZXRyaWNzLWNvcmUgdG8gdmVyc2lvbiAyLjIuMCCkIdddAAABT948slwAEGdlLmZpbHRlcgogKiByZW0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQUAAAEAIG5vdCBiZSBkZWxldGVkIChDQVNTQU5EUkEtMjk0MikKICogRXhwb3NlIGdvc3NpcC9GRCBpbmZvIHRvIEpNWCAoQ0FTU0FORFJBLTI4MDYpCiAqIEZpeCBzdHJlYW1pbmcgb3ZlciBTU0wgd2hlbiBjb21wcmVzc2VkIFNTVGFibGUgaW52b2x2ZWQgKENBU1NBTkRSQS0zMDUxKQogKiBBZGQgc3VwcG9ydCBmb3IgcGx1Z2dhYmxlIHNlY29uZGFyeSBpbmRleCBpbXBsZW1lbnRhdGlvbnMgKENBU1NBTkRSQS0zMDc4KQogKiByZW1vdmUgY29tcGFjdGlvbu0Eoi0AAAFP3jyyXAAQZW5kcG9pbnQgc2VsZWN0aQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtBQAAAQB1ZGUgY29sdW1uIG5hbWUgaW4gdmFsaWRhdGlvbiBmYWlsdXJlIGV4Y2VwdGlvbnMgKENBU1NBTkRSQS0yODQ5KQogKiBtYWtlIHN1cmUgdHJ1bmNhdGUgY2xlYXJzIG91dCB0aGUgY29tbWl0bG9nIHNvIHJlcGxheSB3b24ndCByZS0KICAgcG9wdWxhdGUgd2l0aCB0cnVuY2F0ZWQgZGF0YSAoQ0FTU0FORFJBLTI5NTApCiAqIGZpeCBOUEUgd2hlbiBkZWJ1ZyBsb2dnaW5nIGlzIGVuYWJsZWQgYW5kIGRyb3BwZWQgQ0YgaXMgcHJlc2VudAogICBpbiBhulYCwwAAAU/ePLJcABBSQS0xNDI5KQogKiBBZGQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0FAAABAEFORFJBLTcwODcpCiAqIFVzZSBMT0NBTF9RVU9SVU0gZm9yIGRhdGEgcmVhZHMgYXQgTE9DQUxfU0VSSUFMIChDQVNTQU5EUkEtNjkzOSkKICogTG9nIGEgd2FybmluZyBmb3IgbGFyZ2UgYmF0Y2hlcyAoQ0FTU0FORFJBLTY0ODcpCiAqIFB1dCBub2RlcyBpbiBoaWJlcm5hdGUgd2hlbiBqb2luX3JpbmcgaXMgZmFsc2UgKENBU1NBTkRSQS02OTYxKQogKiBBdm9pZCBlYXJseSBsb2FkaW5nIG9mIG5vbi1zeXN0ZW0ga2V5c3BhY2VzIGJlZm9yZSBjb20NuoouAAABT948slwAECBTdHJlYW1Xcml0ZXIgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQUAAAEAYWJsZSBmb3Igbm9kZSB3ZSBrbm93IChDQVNTQU5EUkEtNTEyMSkKICogZml4IHN0cmVhbWluZyBwcm9ncmVzcyByZXBvcnQgZm9yIGNvbXByZXNlZCBmaWxlcyAoQ0FTU0FORFJBLTUxMzApCiAqIENvdmVyYWdlIGFuYWx5c2lzIGZvciBsb3ctQ0wgcXVlcmllcyAoQ0FTU0FORFJBLTQ4NTgpCiAqIFN0b3AgaW50ZXJwcmV0aW5nIGRhdGVzIGFzIHZhbGlkIHRpbWVVVUlEIHZhbHVlIChDQVNTQU5EUkEtNDkzNikKICogQWRkcyBFIG5vdGF0aW9uIGZvcpDCMMAAAAFP3jyyXAAQICogcmVzZXQgQ0YgYW5kIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtBQAAAQBpYyB2YWx1ZXMgZnJvbSBpbnRlcm5hbHMgKGUuZy4gc3BlY2lhbCBrZXkgdG8gaW5kaWNhdGUKICAgd2hlbiB0byBmbHVzaCBtZW10YWJsZXMpCiAqIFJlbmFtZSBjb25maWd1cmF0aW9uICJ0YWJsZSIgdG8gImtleXNwYWNlIgogKiBNb3ZlZCB0byBjcmFzaC1vbmx5IGRlc2lnbjsgbm8gbW9yZSBzaHV0ZG93biAoanVzdCBraWxsIHRoZSBwcm9jZXNzKQogKiBMb3RzIG9mIGJ1ZyBmaXhlcwoKRnVsbCBsaXN0IG9mIGlzc3VlcyByZXNvbHZlZCBpbiAwSQRrMAAAAU/ePLJcABBhbmQgY2FjaGUgaGl0IHJhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0FAAABADQ4KQogKiB1c2UgbmFub3RpbWUgY29uc2lzdGVudGx5IGZvciBub2RlLWxvY2FsIHRpbWVvdXRzIChDQVNTQU5EUkEtNTU4MSkKICogQXZvaWQgdW5uZWNlc3Nhcnkgc2Vjb25kIHBhc3Mgb24gbmFtZS1iYXNlZCBxdWVyaWVzIChDQVNTQU5EUkEtNTU3NykKICogRXhwZXJpbWVudGFsIHRyaWdnZXJzIChDQVNTQU5EUkEtMTMxMSkKICogSkVNYWxsb2Mgc3VwcG9ydCBmb3Igb2ZmLWhlYXAgYWxsb2NhdGlvbiAoQ0FTU0FORFJBLTM5OTcpCiAqIFNpbmfXfMk+AAABT948slwAECBDRiBjb21wYXJhdG9yICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQUAAAEAZXR1cm5pbmcgZGVsZXRlZCByb3dzIHdpdGggcmFuZ2UgdG9tYnN0b25lIChDQVNTQU5EUkEtODU1OCkKICogQ2hlY2sgZm9yIGF2YWlsYWJsZSBkaXNrIHNwYWNlIGJlZm9yZSBzdGFydGluZyBhIGNvbXBhY3Rpb24gKENBU1NBTkRSQS04NTYyKQogKiBGaXggRElTVElOQ1QgcXVlcmllcyB3aXRoIExJTUlUcyBvciBwYWdpbmcgd2hlbiBzb21lIHBhcnRpdGlvbnMKICAgY29udGFpbiBvbmx5IHRvbWJzdG9uZXMgKENBU1NBTkRSQS04NDkwKQogKiBJbmBmVAsAAAFP3jyyXAAQU1NBTkRSQS0yMzExLCAyMwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtBQAAAQBlcmllcyB0byBiZSBzdGFydC9lbmQgaW5jbHVzaXZlL2V4Y2x1c2l2ZSAoQ0FTU0FORFJBLTM3NDkpCiAqIEZpeCBCdWxrTG9hZGVyIHRvIHN1cHBvcnQgbmV3IFNTVGFibGUgbGF5b3V0IGFuZCBhZGQgc3RyZWFtCiAgIHRocm90dGxpbmcgdG8gcHJldmVudCBhbiBOUEUgd2hlbiB0aGVyZSBpcyBubyB5YW1sIGNvbmZpZyAoQ0FTU0FORFJBLTM3NTIpCiAqIEFsbG93IGNvbmN1cnJlbnQgc2NoZW1hIG1pZ3JhdGlvbnMgKENBU1NBTkRSQS0xMzkxLCAzMNkM2AAAAU/ePLJcABBuYyByZXBhaXIgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0FAAABAG93IGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtMjYyNikKICogY2xvbmUgc3VwZXIgY29sdW1ucyB0byBhdm9pZCBtb2RpZnlpbmcgdGhlbSBkdXJpbmcgZmx1c2ggKENBU1NBTkRSQS0yNjc1KQogKiByZXNldCB1bmRlcmx5aW5nIGl0ZXJhdG9yIGluIEVjaG9lZFJvdyBjb25zdHJ1Y3RvciAoQ0FTU0FORFJBLTI2NTMpCgoKMC44LjAtcmMxCiAqIGZhc3RlciBmbHVzaGVzIGFuZCBjb21wYWN0aW9uIGZyb20gZml4aW5nIGV4Y2Vzc2l2ZWx5IHAEEDXKAAs4KwyGCFMAAAFP3jyyXAAQIChDQVNTQU5EUkEtMzc2NAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtBwAAAQAndCBpbmNsdWRlIHRtcCBmaWxlcyBhcyBzc3RhYmxlIHdoZW4gY3JlYXRlIGNmcyAoQ0FTU0FORFJBLTI5MjkpCiAqIGxvZyBKYXZhIGNsYXNzcGF0aCBvbiBzdGFydHVwIChDQVNTQU5EUkEtMjg5NSkKICoga2VlcCBnb3NzaXBwZWQgdmVyc2lvbiBpbiBzeW5jIHdpdGggYWN0dWFsIG9uIG1pZ3JhdGlvbiBjb29yZGluYXRvciAKICAgKENBU1NBTkRSQS0yOTQ2KQogKiB1c2UgbGF6eSBpbml0aWFsaXphdGlvbiBpbnN0ZWFkIG9mIGNsYXNzIGluaXRpgCZYyQAAAU/ePLJcABBkIERhdGVUaWVyZWRDb21wAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0HAAABAFJBLTU1NDQpCgoKMS4yLjUKICogbWFrZSBCeXRlc1Rva2VuLnRvU3RyaW5nIG9ubHkgcmV0dXJuIGhleCBieXRlcyAoQ0FTU0FORFJBLTU1NjYpCiAqIEVuc3VyZSB0aGF0IHN1Ym1pdEJhY2tncm91bmQgZW5xdWV1ZXMgYXQgbGVhc3Qgb25lIHRhc2sgKENBU1NBTkRSQS01NTU0KQogKiBmaXggMmkgdXBkYXRlcyB3aXRoIGlkZW50aWNhbCB2YWx1ZXMgYW5kIHRpbWVzdGFtcHMgKENBU1NBTkRSQS01NTQwKQogKiBmaXggY29tcGFjdGlvbiB0aHJvdHSkgnbfAAABT948slwAEHNpb24gKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQgAAAEAQ1MsIGFnYWluIChDQVNTQU5EUkEtMjUwMykKICogUmVjeWNsZSBjb21taXRsb2cgc2VnbWVudHMgZm9yIGltcHJvdmVkIHBlcmZvcm1hbmNlIAogICAoQ0FTU0FORFJBLTM0MTEsIDM1NDMsIDM1NTcsIDM2MTUpCiAqIHVwZGF0ZSBzaXplLXRpZXJlZCBjb21wYWN0aW9uIHRvIHByaW9yaXRpemUgc21hbGwgdGllcnMgKENBU1NBTkRSQS0yNDA3KQogKiBhZGQgbWVzc2FnZSBleHBpcmF0aW9uIGxvZ2ljIHRvIE91dGJvdW5kVGNwQ29ubmVjdGlvbiAoQ6ko0VEAAAFP3jyyXAAQcCB3cml0aW5nIG9sZC1mbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtCAAAAQAKICogKGNxbHNoKSBGaXggU0VMRUNUIC4uLiBUT0tFTigpIGZ1bmN0aW9uIGJyb2tlbiBpbiBDKiAyLjEuMSAoQ0FTU0FORFJBLTgyNTgpCiAqIEZpeCBDYXNzYW5kcmEgY3Jhc2ggd2hlbiBydW5uaW5nIG9uIEpESzggdXBkYXRlIDQwIChDQVNTQU5EUkEtODIwOSkKICogT3B0aW1pemUgcGFydGl0aW9uZXIgdG9rZW5zIChDQVNTQU5EUkEtODIzMCkKICogSW1wcm92ZSBjb21wYWN0aW9uIG9mIHJlcGFpcmVkL3VucmVwYWlyZWQgc3N0YWJsZXMgKENBlhd+2gAAAU/ePLJcABBpdGggdG9rZW4oKSAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0IAAABADg5MCkKICogUmUtYWxsb3cgb3JkZXIgYnkgb24gbm9uLXNlbGVjdGVkIGNvbHVtbnMgKENBU1NBTkRSQS00NjQ1KQogKiBCdWcgd2hlbiBjb21wb3NpdGUgaW5kZXggaXMgY3JlYXRlZCBpbiBhIHRhYmxlIGhhdmluZyBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTQ5MDkpCiAqIGxvZyBpbmRleCBzY2FuIHN1YmplY3QgaW4gQ29tcG9zaXRlc1NlYXJjaGVyIChDQVNTQU5EUkEtNDkwNCkKTWVyZ2VkIGZyb20gMS4xOgogKiBhZGQgZ2V0W1Jvd3xLZXldQ2FmsCTcAAABT948slwAEG1hdGlvbiBpbiBkZXNjcmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQgAAAEAYXRpb24gZm9yCiAgIGxvY2FsIG5vZGUgKENBU1NBTkRSQS00NzI4KQogKiBhZGQgUEJTUHJlZGljdG9yIGNvbnNpc3RlbmN5IG1vZGVsZXIgKENBU1NBTkRSQS00MjYxKQogKiByZW1vdmUgdmVzdGlnZXMgb2YgVGhyaWZ0IHVuZnJhbWVkIG1vZGUgKENBU1NBTkRSQS00NzI5KQogKiBvcHRpbWl6ZSBzaW5nbGUtcm93IFBLIGxvb2t1cHMgKENBU1NBTkRSQS00NzEwKQogKiBhZGp1c3QgYmxvY2tGb3IgY2FsY3VsYXRpb24gdG8gYWNjb3VudCBmb3IgcHKstrMAAAFP3jyyXAAQIHJhdGUgbWlkLWNvbXBhYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtCAAAAQBuaXQgc2NyaXB0IChDQVNTQU5EUkEtMTE3NCkKICogZGV0ZWN0IHBhcnRpb25lciBjb25maWcgY2hhbmdlcyBiZXR3ZWVuIHJlc3RhcnRzIGFuZCBmYWlsIGZhc3QgCiAgIChDQVNTQU5EUkEtMTE0NikKICogdXNlIGdlbmVyYXRpb24gdGltZSB0byByZXNvbHZlIG5vZGUgdG9rZW4gcmVhc3NpZ25tZW50IGRpc2FncmVlbWVudHMKICAgKENBU1NBTkRSQS0xMTE4KQogKiByZXN0cnVjdHVyZSB0aGUgc3RhcnR1cCBvcmRlcmluZyBvZiBHb3NzaXBlciBhVqCfmAAAAU/ePLJcABAtaG9zdCBtZXNzYWdlcyAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0IAAABAEFORFJBLTY3MzMpCiAqIEZCVXRpbGl0aWVzLnNpbmdsZXRvbigpIHNob3VsZCB1c2UgdGhlIENGIGNvbXBhcmF0b3IgKENBU1NBTkRSQS02Nzc4KQogKiBGaXggQ1FMU1N0YWJsZVdyaXRlci5hZGRSb3coTWFwPFN0cmluZywgT2JqZWN0PikgKENBU1NBTkRSQS02NTI2KQogKiBGaXggSFNIQSBzZXJ2ZXIgaW50cm9kdWNpbmcgY29ycnVwdCBkYXRhIChDQVNTQU5EUkEtNjI4NSkKICogRml4IENBUyBjb25kaXRpb25zIGZvciBDT01QQUNUIFNUT1JBR0XN08PlAAABT948slwAEGluZyAoQ0FTU0FORFJBLTUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQgAAAEAZSAoQ0FTU0FORFJBLTUxMzcpCiAqIGNvbnZlcnQgZGVmYXVsdCBtYXJzaGFsbGVycyBsaXN0IHRvIG1hcCBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5IChDQVNTQU5EUkEtNTEwOSkKICogZml4IENvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb24gaW4gZ2V0Qm9vdHN0cmFwU291cmNlIChDQVNTQU5EUkEtNTE3MCkKICogZml4IHNzdGFibGUgbWF4dGltZXN0YW1wIGZvciByb3cgZGVsZXRlcyBhbmQgcHJlLTEuMS4xIHNzdGFibGVzIChDQVNTQU5EUo88K6sAAAFP3jyyXAAQNjU4KQogKiBHQ0luc3BlYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtCAAAAQB1bGQgYWxsb3cgcmVhZGluZyBkZWxldGVkIGRhdGEgdGVtcG9yYXJpbHkgKENBU1NBTkRSQS02MDI1KQogKiBJbXByb3ZlIG1lbW9yeSB1c2UgZGVmYXVsdHMgKENBU1NBTkRSQS02MDU5KQogKiBNYWtlIFRocmlmdFNlcnZlciBtb3JlIGVhc2xseSBleHRlbnNpYmxlIChDQVNTQU5EUkEtNjA1OCkKICogUmVtb3ZlIEhhZG9vcCBkZXBlbmRlbmN5IGZyb20gSVRyYW5zcG9ydEZhY3RvcnkgKENBU1NBTkRSQS02MDYyKQogKiBhZGQgZmlsZV9jYWNoZV9zC8UrvQAAAU/ePLJcABBlYWQgc3RhZ2UgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0IAAABAHJvdyBkZWxldGVzIGFuZCBwcmUtMS4xLjEgc3N0YWJsZXMgKENBU1NBTkRSQS01MTUzKQogKiBGaXggdGhyZWFkIGdyb3d0aCBvbiBub2RlIHJlbW92YWwgKENBU1NBTkRSQS01MTc1KQogKiBNYWtlIEVjMlJlZ2lvbidzIGRhdGFjZW50ZXIgbmFtZSBjb25maWd1cmFibGUgKENBU1NBTkRSQS01MTU1KQoKCjEuMi4wCiAqIERpc2FsbG93IGNvdW50ZXJzIGluIGNvbGxlY3Rpb25zIChDQVNTQU5EUkEtNTA4MikKICogY3Fsc2g6IGFkZCB1bml0IHRlc3RsqV/tAAABT948slwAEGdub3Jpbmcgb2Ygb2Jzb2wAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQgAAAEAU0FORFJBLTYxODIpCiAqIGNxbHNoOiBmaXggTElTVCBVU0VSUyBvdXRwdXQgKENBU1NBTkRSQS02MjQyKQogKiBBZGQgSVJlcXVlc3RTaW5rIGludGVyZmFjZSAoQ0FTU0FORFJBLTYyNDgpCiAqIFVwZGF0ZSBtZW10YWJsZSBzaXplIHdoaWxlIGZsdXNoaW5nIChDQVNTQU5EUkEtNjI0OSkKICogUHJvdmlkZSBob29rcyBhcm91bmQgQ1FMMi9DUUwzIHN0YXRlbWVudCBleGVjdXRpb24gKENBU1NBTkRSQS02MjUyKQogKiBSZXF1aXJlIFBlcm1pc3Npb1Mbc3kAAAFP3jyyXAAQdHkgaXRzZWxmIGFmdGVyIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtCAAAAQBjb25maWd1cmFibGUgKENBU1NBTkRSQS0xNDg4KQogKiBhZGQgZGVzY3JpYmVfc25pdGNoIHRvIFRocmlmdCBBUEkgKENBU1NBTkRSQS0xNDkwKQogKiBNRDUgYXV0aGVudGljYXRvciBjb21wYXJlcyBwbGFpbiB0ZXh0IHN1Ym1pdHRlZCBwYXNzd29yZCB3aXRoIE1ENSdkCiAgIHNhdmVkIHByb3BlcnR5LCBpbnN0ZWFkIG9mIHZpY2UgdmVyc2EgKENBU1NBTkRSQS0xNDQ3KQogKiBKTVggTWVzc2FnaW5nU2VydmljZSBwZW5kaW5nIGFuZCBjb21wbGV0mGJDmAAAAU/ePLJcABAgICAoQ0FTU0FORFJBLTQ4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0IAAABACAqIEZpeCByYXJlIHJhY2UgY29uZGl0aW9uIGluIGdldEV4cGlyZVRpbWVGb3JFbmRwb2ludCAoQ0FTU0FORFJBLTQ0MDIpCiAqIGFjcXVpcmUgcmVmZXJlbmNlcyB0byBvdmVybGFwcGluZyBzc3RhYmxlcyBkdXJpbmcgY29tcGFjdGlvbiBzbyBibG9vbSBmaWx0ZXIKICAgZG9lc24ndCBnZXQgZnJlZSdkIHByZW1hdHVyZWx5IChDQVNTQU5EUkEtNDkzNCkKICogRG9uJ3Qgc2hhcmUgc2xpY2UgcXVlcnkgZmlsdGVyIGluIENRTDMgU2VsZWN0U3RhdGW/80drAAABT948slwAECB2ZXJib3NlIG9wdGlvbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQgAAAEAc3RyZXNzKSBzdXBwb3J0IGZvciBDUUwgcHJlcGFyZWQgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTM2MzMpCiAqIENvcnJlY3RseSBjYXRjaCBleGNlcHRpb24gd2hlbiBTbmFwcHkgY2Fubm90IGJlIGxvYWRlZCAoQ0FTU0FORFJBLTQ0MDApCiAqIChjcWwzKSBTdXBwb3J0IE9SREVSIEJZIHdoZW4gSU4gY29uZGl0aW9uIGlzIGdpdmVuIGluIFdIRVJFIGNsYXVzZSAoQ0FTU0FORFJBLTQzMjcpCiAqIChjcWwzKSBkZWxldGUgImNvbXBvbmVudF9pbmRleBcMlOcAC0yIddDVPgAAAU/ePLJcABBjcmlwdG9yIGhhc2hjb2RlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0JAAABAFJBLTEyMjYpCiAqIHJlbW92ZSBvcHBvcnR1bmlzdGljIHJlcGFpcnMsIHdoZW4gdHdvIG1hY2hpbmVzIHdpdGggb3ZlcmxhcHBpbmcgcmVwbGljYQogICByZXNwb25zaWJpbGl0aWVzIGhhcHBlbiB0byBmaW5pc2ggbWFqb3IgY29tcGFjdGlvbnMgb2YgdGhlIHNhbWUgQ0YgbmVhcgogICB0aGUgc2FtZSB0aW1lLiAgcmVwYWlycyBhcmUgbm93IGZ1bGx5IG1hbnVhbCAoQ0FTU0FORFJBLTExOTApCiAqIGFkZCBhYmlsaXR5IHRvIGxvd2VyIGNvbXBhY3QqbUjXAAABT948slwAEHVtLAogICAgICB3aXRoIG8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQkAAAEAZXJzIGR1cmluZyB1cGdyYWRlIChDQVNTQU5EUkEtNjcwMikKICogSW5jbHVkZSBrZXlzcGFjZSBhbmQgdGFibGUgbmFtZSBpbiBlcnJvciBsb2cgZm9yIGNvbGxlY3Rpb25zIG92ZXIgdGhlIHNpemUKICAgbGltaXQgKENBU1NBTkRSQS05Mjg2KQogKiBBdm9pZCBwb3RlbnRpYWwgb3ZlcmxhcCBpbiBMQ1Mgd2l0aCBzaW5nbGUtcGFydGl0aW9uIHNzdGFibGVzIChDQVNTQU5EUkEtOTMyMikKICogTG9nIHdhcm5pbmcgbWVzc2FnZSB3aGVuIGEgdGFibMRFAP0AAAFP3jyyXAAQMykKTWVyZ2VkIGZyb20gMAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtCQAAAQBuZCBzY2hlbWEgY2hhbmdlIHJlc3BvbnNlcyBhbmQgZXZlbnRzIGZvciBuby1vcCBEREwKICAgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTc2MDApCiAqIChIYWRvb3ApIGZpeCBjbHVzdGVyIGluaXRpYWxpc2F0aW9uIGZvciBhIHNwbGl0IGZldGNoaW5nIChDQVNTQU5EUkEtNzc3NCkKICogVGhyb3cgSW52YWxpZFJlcXVlc3RFeGNlcHRpb24gd2hlbiBxdWVyaWVzIGNvbnRhaW4gcmVsYXRpb25zIG9uIGVudGlyZQogICBjb2xsZWN0aW9uIGNvbHVtbnMg5RRxpQAAAU/ePLJcABA2OTUzKQogKiBQcm9wZXJsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0JAAABAGVuIENBU1NBTkRSQV9IT01FIGNvbnRhaW5zIHNwYWNlcyAoQ0FTU0FORFJBLTI5NTIpCiAqIGZpeCB0byBTU1RhYmxlU2ltcGxlVW5zb3J0ZWRXcml0ZXIgYnVmZmVyU2l6ZSBjYWxjdWxhdGlvbiAoQ0FTU0FORFJBLTMwMjcpCiAqIG1ha2UgY2xlYW51cCBhbmQgbm9ybWFsIGNvbXBhY3Rpb24gYWJsZSB0byBza2lwIGVtcHR5IHJvd3MKICAgKHJvd3MgY29udGFpbmluZyBub3RoaW5nIGJ1dCBleHBpcmVkIHRvbWJzdG9uZXMpIChDQVNTQU5EUkEtMzA304CaAAABT948slwAECBpbiBDUUwgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQkAAAEAMjg4KQogKiAoY3Fsc2gpIEZpeCBERVNDUklCRSBvdXRwdXQgYWZ0ZXIga2V5c3BhY2VzIGFyZSBhbHRlcmVkIChDQVNTQU5EUkEtNzYyMykKICogTWFrZSBzdXJlIHdlIHNldCBsYXN0Q29tcGFjdGVkS2V5IGNvcnJlY3RseSAoQ0FTU0FORFJBLTg0NjMpCiAqIChjcWxzaCkgRml4IG91dHB1dCBvZiBDT05TSVNURU5DWSBjb21tYW5kIChDQVNTQU5EUkEtODUwNykKICogKGNxbHNoKSBGaXhlZCB0aGUgaGFuZGxpbmcgb2YgTElTVCBzdGF0ZW1lbnRzIGq4EMgAAAFP3jyyXAAQdyBDb25maWd1cmF0aW9uRQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtCQAAAQB4cG9zZSBjb3VudGVycyBmb3IgdW5hdmFpbGFibGUvdGltZW91dCBleGNlcHRpb25zIGdpdmVuIHRvIHRocmlmdCBjbGllbnRzIChDQVNTQU5EUkEtMzY3MSkKICogYXZvaWQgcXVhZHJhdGljIHN0YXJ0dXAgdGltZSBpbiBMZXZlbGVkTWFuaWZlc3QgKENBU1NBTkRSQS0zOTUyKQogKiBBZGQgdHlwZSBpbmZvcm1hdGlvbiB0byBuZXcgc2NoZW1hXyBjb2x1bW5mYW1pbGllcyBhbmQgcmVtb3ZlIHRocmlmdAogICBzZXJpYWxpemF0aW9uIGZvciBzY2hlIq5oaQAAAU/ePLJcABB0cnVjdCBhbmQgYXJndW1lAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0JAAABAGYgdGhlIGZvcm1hdCBzdHJpbmcgCiAgIHVzZWQgZm9yIGNyZWF0aW5nIHJvdyBrZXlzIChDQVNTQU5EUkEtMjEwOCkKICogdmFsaWRhdGUgaW5kZXggbmFtZXMgZm9yIFx3KyAoQ0FTU0FORFJBLTIxOTYpCiAqIEZpeCBDYXNzYW5kcmEgY2xpIHRvIHJlc3BlY3QgdGltZW91dCBpZiBzY2hlbWEgZG9lcyBub3Qgc2V0dGxlIAogICAoQ0FTU0FORFJBLTIxODcpCiAqIGZpeCBmb3IgY29tcGFjdGlvbiBhbmQgY2xlYW51cCB3cml0aW5nIG9sZC1mb3JtYXQl3DM6AAABT948slwAEHNpb25pbmcgYSBub2RlICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQkAAAEANCkKICogRml4IGhpZ2ggbWVtb3J5IHVzZSBkdWUgdG8gdHJhY2tpbmcgcmVhZHMgb24gaW5jcmVtZW50YWxseSBvcGVuZWQgc3N0YWJsZQogICByZWFkZXJzIChDQVNTQU5EUkEtODA2NikKICogRml4IEVYRUNVVEUgcmVxdWVzdCB3aXRoIHNraXBNZXRhZGF0YT1mYWxzZSByZXR1cm5pbmcgbm8gbWV0YWRhdGEKICAgKENBU1NBTkRSQS04MDU0KQogKiBBbGxvdyBjb25jdXJyZW50IHVzZSBvZiBDUUxCdWxrT3V0cHV0Rm9ybWF0IChDQVNTQU5EUkEtN+C1z0sAAAFP3jyyXAAQU1NBTkRSQS05MDgyKQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtCQAAAQBucG9vbCBjcmVhdGlvbiAoQ0FTU0FORFJBLTYzMDgpCiAqIEFsbG93IExPQ0FMX09ORS9MT0NBTF9RVU9SVU0gdG8gd29yayB3aXRoIFNpbXBsZVN0cmF0ZWd5IChDQVNTQU5EUkEtNjIzOCkKICogY3Fsc2g6IGhhbmRsZSAnbnVsbCcgYXMgc2Vzc2lvbiBkdXJhdGlvbiAoQ0FTU0FORFJBLTYzMTcpCiAqIEZpeCBqc29uMnNzdGFibGUgaGFuZGxpbmcgb2YgcmFuZ2UgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTYzMTYpCiAqIEZpeCBtaXNzaW5nIG9uZSByLpDEnwAAAU/ePLJcABBzIChDQVNTQU5EUkEtNDIxAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0JAAABAGdlcyBhbmQgZGVyaXZlIHN0YWdlIGZyb20gbWVzc2FnZSB0eXBlIGluc3RlYWQgb2YgCiAgIHRyYW5zbWl0dGluZyBzZXBhcmF0ZWx5IChDQVNTQU5EUkEtMTQ2NSkKICogYXBwbHkgcmV2ZXJzZWQgZmxhZyBkdXJpbmcgY29sbGF0aW9uIGZyb20gZGlmZmVyZW50IGRhdGEgc291cmNlcwogICAoQ0FTU0FORFJBLTE0NTApCiAqIG1ha2UgZmFpbHVyZSB0byByZW1vdmUgY29tbWl0bG9nIHNlZ21lbnQgbm9uLWZhdGFsIChDQVNTQU5EUkEtMTM0OCkKICoVT5wYAAABT948slwAEFJBLTU3OTYpCiAqIEZpeCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQkAAAEAbm5lY3Rpb25zLCByZXRyeSB0bwogICBtdWx0aXBsZSBDYXNzYW5kcmEgbm9kZXMsIGFuZCBzbW9vdGggaW1wYWN0IG9uIHRoZSBDYXNzYW5kcmEgY2x1c3RlcgogICBieSB1c2luZyBzbWFsbGVyIGJhdGNoIHNpemVzIChDQVNTQU5EUkEtMTQzNCkKICogZml4IHNldHRpbmcgZ2NfZ3JhY2Vfc2Vjb25kcyB2aWEgQ0xJIChDQVNTQU5EUkEtMTU0OSkKICogc3VwcG9ydCBUVEwnZCBpbmRleCB2YWx1ZXMgKENBU1NBTkRSQS0xNTM2KQogKiBtYWtlIHJlbW5wjO0AAAFP3jyyXAAQOTI2MikKICogQ2xvc2UgaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtCQAAAQBhcHBpbmcKICAgc3N0YWJsZXMgKENBU1NBTkRSQS04MjExKQogKiBJbXByb3ZlIFByb3BlcnR5RmlsZVNuaXRjaCBsb2dnaW5nIChDQVNTQU5EUkEtODE4MykKICogQWRkIERDLWF3YXJlIHNlcXVlbnRpYWwgcmVwYWlyIChDQVNTQU5EUkEtODE5MykKICogVXNlIGxpdmUgc3N0YWJsZXMgaW4gc25hcHNob3QgcmVwYWlyIGlmIHBvc3NpYmxlIChDQVNTQU5EUkEtODMxMikKICogRml4IGhpbnRzIHNlcmlhbGl6ZWQgc2l6ZSBjYWxjdWxhdGlvbiAoQ0FTHB/fAQAAAU/ePLJcABAgYnVsay1sb2FkaW5nIGNvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0JAAABAHRlZ3kgY3JlYXRpb24gb3B0aW9ucyAoQ0FTU0FORFJBLTQwNDYpCiAqIHJlbW92ZSBbRnJlZWFibGVdTWVtb3J5IGZpbmFsaXplcnMgKENBU1NBTkRSQS00MjIyKQogKiBpbmNsdWRlIHRvbWJzdG9uZSBzaXplIGluIENvbHVtbkZhbWlseS5zaXplLCB3aGljaCBjYW4gcHJldmVudCBPT00KICAgZHVyaW5nIHN1ZGRlbiBtYXNzIGRlbGV0ZSBvcGVyYXRpb25zIGJ5IHlpZWxkaW5nIGEgbm9uemVybyBsaXZlUmF0aW8KICAgKENBU1NBTkRSQS0zNzQxKQp8BLbsAAABT948slwAEG90c3RyYXAgcmV0cnkgaWYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQkAAAEAU3RhY2s9dHJ1ZSB0aGUgZGVmYXVsdCAoQ0FTU0FORFJBLTYyOCkKICogYWRkIElOVEVSTkFMX1JFU1BPTlNFIHZlcmIgdG8gZGlmZmVyZW50aWF0ZSBmcm9tIHJlc3BvbnNlcyByZWxhdGVkCiAgIHRvIGNsaWVudCByZXF1ZXN0cyAoQ0FTU0FORFJBLTE2ODUpCiAqIGxvZyB0cHN0YXRzIHdoZW4gZHJvcHBpbmcgbWVzc2FnZXMgKENBU1NBTkRSQS0xNjYwKQogKiBpbmNsdWRlIHVucmVhY2hhYmxlIG5vZGVzIGluIGRlc2NyaWJlU2NoZW1hVmVyc2lvbiSh6/kAAAFP3jyyXAAQbGV0aW5nTm90aWZpY2F0aQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtCQAAAQBldF9jb3VudCBmb3IgY291bnRlcnMgKENBU1NBTkRSQS0zNjAxKQpNZXJnZWQgZnJvbSAwLjg6CiAqIHJlbW92ZSBpbnZhbGlkIGFzc2VydGlvbiB0aGF0IHRhYmxlIHdhcyBvcGVuZWQgYmVmb3JlIGRyb3BwaW5nIGl0CiAgIChDQVNTQU5EUkEtMzU4MCkKICogcmFuZ2UgYW5kIGluZGV4IHNjYW5zIG5vdyBvbmx5IHNlbmQgcmVxdWVzdHMgdG8gZW5vdWdoIHJlcGxpY2FzIHRvCiAgIHNhdGlzZnkgcmVxdWVzdGVkIENMICsgUlIgKENBU1NBTkRSQS0zcsIDLwALYOVxXJueAAABT948slwAEGluZyBnY19ncmFjZV9zZWMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQsAAAEARFJBLTY3NDUpCiAqIEZpeCBzdHJlc3MgdG8gZG8gcHJvcGVyIGNvdW50ZXIgcmVhZHMgKENBU1NBTkRSQS02ODM1KQogKiBGaXggaGVscCBtZXNzYWdlIGZvciBzdHJlc3MgY291bnRlcl93cml0ZSAoQ0FTU0FORFJBLTY4MjQpCiAqIEZpeCBzdHJlc3Mgc21hcnQgVGhyaWZ0IGNsaWVudCB0byBwaWNrIHNlcnZlcnMgY29ycmVjdGx5IChDQVNTQU5EUkEtNjg0OCkKICogQWRkIGxvZ2dpbmcgbGV2ZWxzIChtaW5pbWFsLCBub3JtYWwgb3IgdmVyYm9zZfpioR0AAAFP3jyyXAAQaXRpYWxpemF0aW9uIGlucwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtCwAAAQBsb3cgdXNpbmcgRHluYW1pY0VuZHBvaW50U25pdGNoIHdpdGggUmFja0F3YXJlU3RyYXRlZ3kgKENBU1NBTkRSQS0xNDI5KQogKiByZW1vdmUgdGhlIHJlbWFpbmluZyB2ZXN0aWdlcyBvZiB0aGUgdW5maW5pc2hlZCBEYXRhY2VudGVyU2hhcmRTdHJhdGVneSAKICAgKHJlcGxhY2VkIGJ5IE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5IGluIDAuNykKICAgCgowLjYuNQogKiBmaXgga2V5IG9yZGVyaW5nIGluIHJhbmdlIHF1ZXJ5IHJlc3VsdHMgd2l0aCBSmVaiagAAAU/ePLJcABBvIHNsb3cgcmVhZHMvd3JpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0LAAABAFJBLTUzMzcpCiAqIEFkZCB0aW1lb3V0IGV2ZW50cyB0byBxdWVyeSB0cmFjZXMgKENBU1NBTkRSQS01NTIwKQogKiBGaXggc2VyaWFsaXphdGlvbiBvZiB0aGUgTEVGVCBnb3NzaXAgdmFsdWUgKENBU1NBTkRSQS01Njk2KQogKiBQaWc6IHN1cHBvcnQgZm9yIGNxbDMgdGFibGVzIChDQVNTQU5EUkEtNTIzNCkKICogRml4IHNraXBwaW5nIHJhbmdlIHRvbWJzdG9uZXMgd2l0aCByZXZlcnNlIHF1ZXJpZXMgKENBU1NBTkRSQS01NzEyKQogKiBFeHBpcmWXNcabAAABT948slwAECBzdHJlYW1pbmcgZW1wdHkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQsAAAEAICogQXZvaWQgZHJvcHBpbmcgbWVzc2FnZXMgb2ZmIHRoZSBjbGllbnQgcmVxdWVzdCBwYXRoIChDQVNTQU5EUkEtMTY3NikKICogZml4IGpuYSBlcnJubyByZXBvcnRpbmcgKENBU1NBTkRSQS0xNjk0KQogKiBhZGQgZnJpZW5kbGllciBlcnJvciBmb3IgVW5rbm93bkhvc3RFeGNlcHRpb24gb24gc3RhcnR1cCAoQ0FTU0FORFJBLTE2OTcpCiAqIGluY2x1ZGUgam5hIGRlcGVuZGVuY3kgaW4gUlBNIHBhY2thZ2UgKENBU1NBTkRSQS0xNjkwKQogKiBhZN5Mt1QAAAFP3jyyXAAQbml0Y2ggbGF0ZW5jaWVzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtCwAAAQBlIGZvciBwZW5kaW5nIHRhc2tzIGluIGxldmVsZWQgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTM2OTMpCiAqIChIYWRvb3ApIFN1cHBvcnQgVGltZVVVSUQgaW4gUGlnIENhc3NhbmRyYVN0b3JhZ2UgKENBU1NBTkRSQS0zMzI3KQogKiBDaGVjayBzY2hlbWEgaXMgcmVhZHkgYmVmb3JlIGNvbnRpbnVpbmcgYm9vc3RyYXBwaW5nIChDQVNTQU5EUkEtMzYyOSkKICogQ2F0Y2ggb3ZlcmZsb3dzIGR1cmluZyBwYXJzaW5nIG9mIGNodW5rX2xlbmd0aF9rYiAoFXM58wAAAU/ePLJcABBvbiB3aGVuIG1hbnkgbm9kAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0LAAABAG5nIENGL0tTIChDQVNTQU5EUkEtMzI4OCkKICogcmVtb3ZlIG9ic29sZXRlIGhpbnRzIG9uIGZpcnN0IHN0YXJ0dXAgKENBU1NBTkRSQS0zMjkxKQogKiB1c2UgY29ycmVjdCBJU29ydGVkQ29sdW1ucyBmb3IgdGltZS1vcHRpbWl6ZWQgcmVhZHMgKENBU1NBTkRSQS0zMjg5KQogKiBFdmljdCBnb3NzaXAgc3RhdGUgaW1tZWRpYXRlbHkgd2hlbiBhIHRva2VuIGlzIHRha2VuIG92ZXIgYnkgYSBuZXcgSVAgCiAgIChDQVNTQU5EUkEtMzI1OSkKCgoxLjDHrGqQAAABT948slwAEGNlbnRlclNoYXJkU3RyYXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQsAAAEAZXBsYXkgKENBU1NBTkRSQS02MDkpCiAqIHN1cHBvcnQgQ29uc2lzdGVuY3lMZXZlbC5BTEwgb24gcmVhZCAoQ0FTU0FORFJBLTU4NCkKICogYWRkIG5vZGVwcm9iZSByZW1vdmV0b2tlbiBjb21tYW5kIChDQVNTQU5EUkEtNTY0KQoKCjAuNS4wIGJldGEKICogQWxsb3cgbXVsdGlwbGUgc2ltdWx0YW5lb3VzIGZsdXNoZXMsIGltcHJvdmluZyBmbHVzaCB0aHJvdWdocHV0IAogICBvbiBtdWx0aWNvcmUgc3lzdGVtcyAoQ0FTU0FORFJBLTQwMSkKICogUxpNLmoAAAFP3jyyXAAQKENBU1NBTkRSQS01ODIzKQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtCwAAAQA3KQogKiBmaXggcmVwYWlyIGhhbmdpbmcgaWYgYSBuZWlnaGJvciBoYXMgbm90aGluZyB0byBzZW5kIChDQVNTQU5EUkEtMjc5NykKICogcHVyZ2UgdG9tYnN0b25lIGV2ZW4gaWYgcm93IGlzIGluIG9ubHkgb25lIHNzdGFibGUgKENBU1NBTkRSQS0yODAxKQogKiBGaXggd3JvbmcgcHVyZ2Ugb2YgZGVsZXRlZCBjZiBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTI3ODYpCiAqIGZpeCByYWNlIHRoYXQgY291bGQgcmVzdWx0IGluIEhhZG9vcCB3Te8ldAAAAU/ePLJcABBlcmVkIGNvbXBhY3Rpb24gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0LAAABAERSQS00NjI2KQoKCjEuMS40CiAqIGZpeCBvZmZsaW5lIHNjcnViIHRvIGNhdGNoID49IG91dCBvZiBvcmRlciByb3dzIChDQVNTQU5EUkEtNDQxMSkKICogZml4IGNhc3NhbmRyYS1lbnYuc2ggb24gUkhFTCBhbmQgb3RoZXIgbm9uLWRhc2gtYmFzZWQgc3lzdGVtcyAKICAgKENBU1NBTkRSQS00NDk0KQpNZXJnZWQgZnJvbSAxLjA6CiAqIChIYWRvb3ApIGZpeCBzZXR0aW5nIGtleSBsZW5ndGggZm9yIG9sZC1zdHlsZSBtYXByZWQgYXBpIChDQVNTQU5pYrkOAAABT948slwAEHRyYWNrIGVsYXBzZWQgdGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQsAAAEACgowLjQuMAogKiBmaXggZ2V0X2tleV9yYW5nZSBwcm9ibGVtcyB3aGVuIGEgbm9kZSBpcyBkb3duIChDQVNTQU5EUkEtNDQwKQogICBhbmQgYWRkIFVuYXZhaWxhYmxlRXhjZXB0aW9uIHRvIG1vcmUgVGhyaWZ0IG1ldGhvZHMKICogQWRkIGV4YW1wbGUgRW5kUG9pbnRTbml0Y2ggY29udHJpYiBjb2RlIChzZXZlcmFsIHRpY2tldHMpCgoKMC40LjAgUkMyCiAqIGZpeCBTU1RhYmxlIGdlbmVyYXRpb24gY2xhc2ggZHVyaW5nIGNvbXBhY3Rpb24gKENBU0T0J84AAAFP3jyyXAAQbmktaW50ZXJmYWNlIHVzaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtCwAAAQBORFJBLTU3MjcpCiAqIEFsbG93IGNvbXBhY3RpbmcgMklzIHZpYSBub2RldG9vbCAoQ0FTU0FORFJBLTU2NzApCiAqIEhleC1lbmNvZGUgbm9uLVN0cmluZyBrZXlzIGluIE9QUCAoQ0FTU0FORFJBLTU3OTMpCiAqIG5vZGV0b29sIGhpc3RvcnkgbG9nZ2luZyAoQ0FTU0FORFJBLTU4MjMpCiAqIChIYWRvb3ApIGZpeCBzdXBwb3J0IGZvciBUaHJpZnQgdGFibGVzIGluIENxbFBhZ2luZ1JlY29yZFJlYWRlciAKICAgKENBU1NBTkRSQS01NzUyKQogKiBhW3WpugAAAU/ePLJcABAgKiB1c2UgbGV4aWNhbCBjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0LAAABAAogKiBBZGQgdHlwZSBpbmZvcm1hdGlvbiB0byBuZXcgc2NoZW1hXyBjb2x1bW5mYW1pbGllcyBhbmQgcmVtb3ZlIHRocmlmdAogICBzZXJpYWxpemF0aW9uIGZvciBzY2hlbWEgKENBU1NBTkRSQS0zNzkyKQogKiBhZGQgbWlzc2luZyBjb2x1bW4gdmFsaWRhdG9yIG9wdGlvbnMgdG8gdGhlIENMSSBoZWxwIChDQVNTQU5EUkEtMzkyNikKICogc2tpcCByZWFkaW5nIHNhdmVkIGtleSBjYWNoZSBpZiBDRidzIGNhY2hpbmcgc3RyYXRlZ3kgaXMgTk9ORSBaPIlxAAABT948slwAEGQgd2l0aCB0aGUgZGVmYXUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQsAAAEAYmxlIGluIENRTDMKICAgKENBU1NBTkRSQS01NTMxKQogKiBjcWxzaDogYWRkIENMVVNURVJJTkcgT1JERVIgQlkgc3VwcG9ydCB0byBERVNDUklCRSAoQ0FTU0FORFJBLTU1MjgpCiAqIEFkZCBjdXN0b20gc2Vjb25kYXJ5IGluZGV4IHN1cHBvcnQgdG8gQ1FMMyAoQ0FTU0FORFJBLTU0ODQpCiAqIEZpeCByZXBhaXIgaGFuZ2luZyBzaWxlbnRseSBvbiB1bmV4cGVjdGVkIGVycm9yIChDQVNTQU5EUkEtNTIyOSkKICogRml4IEVjMlNuaXRjaCByZWdyZSehJqEAAAFP3jyyXAAQcmVwYWlyZWQgc3N0YWJsZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtCwAAAQBvIHRoZSBzYW1lIHRhcmdldCAoQ0FTU0FORFJBLTM2ODEpCiAqIEFkZCBKTVggcHJvcGVydHkgZm9yIHJwX3RpbWVvdXRfaW5fbXMgKENBU1NBTkRSQS0yOTQwKQogKiBBbGxvdyBEeW5hbWljQ29tcG9zaXRlVHlwZSB0byBjb21wYXJlIGNvbXBvbmVudCBvZiBkaWZmZXJlbnQgdHlwZXMKICAgKENBU1NBTkRSQS0zNjI1KQogKiBGbHVzaCBub24tY2ZzIGJhY2tlZCBzZWNvbmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTM2NTkpCiAqIFNlY29uZGFyeSBJYunVVwAAAU/ePLJcABBuZCBzbmFwc2hvdCBpbiByAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0LAAABAHNjYWxjdWxhdGlvbiBpbiBMYXppbHlDb21wYWN0ZWRSb3cgKENBU1NBTkRSQS03NTQzKQogKiBGaXggcmFjZSBpbiBiYWNrZ3JvdW5kIGNvbXBhY3Rpb24gY2hlY2sgKENBU1NBTkRSQS03NzQ1KQogKiBEb24ndCBjbGVhciBvdXQgcmFuZ2UgdG9tYnN0b25lcyBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTc4MDgpCgoKMi4xLjAtcmMxCiAqIFJldmVydCBmbHVzaCBkaXJlY3RvcnkgKENBU1NBTkRSQS02MzU3KQogKiBNb3JlIGVmZmljaWVudCAre9gcAAt1Qntu7dUAAAFP3jyyXAAQKiBPcHRpbWlzZSBOYXRpdgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtDQAAAQBSQS01ODIzKQogKiAoSGFkb29wKSBmaXggc3VwcG9ydCBmb3IgVGhyaWZ0IHRhYmxlcyBpbiBDcWxQYWdpbmdSZWNvcmRSZWFkZXIgCiAgIChDQVNTQU5EUkEtNTc1MikKICogYWRkICJhbGwgdGltZSBibG9ja2VkIiB0byBTdGF0dXNMb2dnZXIgb3V0cHV0IChDQVNTQU5EUkEtNTgyNSkKICogRnV0dXJlLXByb29mIGludGVyLW1ham9yLXZlcnNpb24gc2NoZW1hIG1pZ3JhdGlvbnMgKENBU1NBTkRSQS01ODQ1KQogKiAoSGFkb29wKSBhZGQgQ3FsUGFnXEKnbwAAAU/ePLJcABBldCBzb2NrZXQgdGltZW91AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0NAAABAG4gbmFtZS1iYXNlZCBxdWVyaWVzIChDQVNTQU5EUkEtNTU3NykKICogRXhwZXJpbWVudGFsIHRyaWdnZXJzIChDQVNTQU5EUkEtMTMxMSkKICogSkVNYWxsb2Mgc3VwcG9ydCBmb3Igb2ZmLWhlYXAgYWxsb2NhdGlvbiAoQ0FTU0FORFJBLTM5OTcpCiAqIFNpbmdsZS1wYXNzIGNvbXBhY3Rpb24gKENBU1NBTkRSQS00MTgwKQogKiBSZW1vdmVkIHRva2VuIHJhbmdlIGJpc2VjdGlvbiAoQ0FTU0FORFJBLTU1MTgpCiAqIFJlbW92ZWQgY29tcGF0aWJpbGnAhremAAABT948slwAEE5EUkEtMjA1OSkKICogYXYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQ0AAAEAaW5zdGFuY2VzIGJlaW5nIAogICBtYXJrZWQgYXJlIGluIHRoZSBsaXZlIHNldCAoQ0FTU0FORFJBLTg2ODkpCiAqIGNhc3NhbmRyYS1zdHJlc3Mgc3VwcG9ydCBmb3IgdmFyaW50IChDQVNTQU5EUkEtODg4MikKICogRml4IEFkbGVyMzIgZGlnZXN0IGZvciBjb21wcmVzc2VkIHNzdGFibGVzIChDQVNTQU5EUkEtODc3OCkKICogQWRkIG5vZGV0b29sIHN0YXR1c2hhbmRvZmYvc3RhdHVzYmFja3VwIChDQVNTQU5EUkEtODkxMikKICogVXNlIHN0ZG91dIX5CtQAAAFP3jyyXAAQb3RzdHJhcHBpbmcgZG9lcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtDQAAAQBhbGN1bGF0aW9ucyBmb3IgTmV0d29ya1RvcG9sb2d5U3RyYXRlZ3kKICAgKENBU1NBTkRSQS0xODA0KQogKiBjbGkgc3VwcG9ydCBpbmRleCB0eXBlIGVudW0gbmFtZXMgKENBU1NBTkRSQS0xODEwKQogKiBpbXByb3ZlZCB2YWxpZGF0aW9uIG9mIGNvbHVtbl9tZXRhZGF0YSAoQ0FTU0FORFJBLTE4MTMpCiAqIHJlYWRzIGF0IENvbnNpc3RlbmN5TGV2ZWwgPiAxIHRocm93IFVuYXZhaWxhYmxlRXhjZXB0aW9uCiAgIGltbWVkaWF0ZWx5IGlmIGluc3VmppvJCgAAAU/ePLJcABBhIGFyZSBub3QgZXF1YWwgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0NAAABACB0byBmbHVzaCBlbXB0eSByb3dzIChDQVNTQU5EUkEtNjM3NCkKICogRml4IHBvdGVudGlhbCBvdXQgb2YgYm91bmRzIGV4Y2VwdGlvbiB3aGVuIHBhZ2luZyAoQ0FTU0FORFJBLTYzMzMpCk1lcmdlZCBmcm9tIDEuMjoKICogT3B0aW1pemUgRkQgcGhpIGNhbGN1bGF0aW9uIChDQVNTQU5EUkEtNjM4NikKICogSW1wcm92ZSBpbml0aWFsIEZEIHBoaSBlc3RpbWF0ZSB3aGVuIHN0YXJ0aW5nIHVwIChDQVNTQU5EUkEtNjM4NSkKICogRG9uJ3QgbGlzdCC7EFoDAAABT948slwAECBwc2V1ZG9jb2x1bW4gZXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQ0AAAEAcnkgbGVhayBpbiBjb20uc3VuLm1hbmFnZW1lbnQuR2FyYmFnZUNvbGxlY3Rvck1YQmVhbgogICAgKENBU1NBTkRSQS0yODY4KQogKiBmaXggVW5hdmFpbGFibGVFeGNlcHRpb24gd2l0aCB3cml0ZXMgYXQgQ0wuRUFDSF9RVU9STSAoQ0FTU0FORFJBLTMwODQpCiAqIGZpeCBwYXJzaW5nIG9mIHRoZSBLZXlzcGFjZSBhbmQgQ29sdW1uRmFtaWx5IG5hbWVzIGluIG51bWVyaWMKICAgYW5kIHN0cmluZyByZXByZXNlbnRhdGlvbnMgaW4gQ0xJIChDQVNTQQUMR1EAAAFP3jyyXAAQIGNsaWVudCByZXF1ZXN0cwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtDQAAAQAgd2hlbiB7fSBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIFt7fV0KICAgKENBU1NBTkRSQS0zMTE5KQogKiByZW5hbWUgQ1FMIHR5cGUgbmFtZXMgdG8gbWF0Y2ggZXhwZWN0ZWQgU1FMIGJlaGF2aW9yIChDQVNTQU5EUkEtMzE0OSwgMzAzMSkKICogQXJlbmEtYmFzZWQgYWxsb2NhdGlvbiBmb3IgbWVtdGFibGVzIChDQVNTQU5EUkEtMjI1MiwgMzE2MiwgMzE2MywgMzE2OCkKICogRGVmYXVsdCBSUiBjaGFuY2UgdG8gMC4xIChDQVNTQU5EUkEtMzE2Wc2NpAAAAU/ePLJcABBORFJBLTMzMDkpCiAqIGZpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0NAAABADA0MiwgNjA1NykKICogRW5hYmxlIHRjcCBrZWVwYWxpdmUgb24gaW5jb21pbmcgY29ubmVjdGlvbnMgKENBU1NBTkRSQS00MDUzKQogKiBGaXggZmF0IGNsaWVudCBzY2hlbWEgcHVsbCBOUEUgKENBU1NBTkRSQS02MDg5KQogKiBGaXggbWVtdGFibGUgZmx1c2hpbmcgZm9yIGluZGV4ZWQgdGFibGVzIChDQVNTQU5EUkEtNjExMikKICogRml4IHNraXBwaW5nIGNvbHVtbnMgd2l0aCBtdWx0aXBsZSBzbGljZXMgKENBU1NBTkRSQS02MTE5KQogKiBFeHB7IVDyAAABT948slwAEGljeSBzdXBwb3J0IGFzIHcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQ0AAAEAKQogKiBBZGQgbmV0dHkgdG8gcG9tIGRlcGVuZGVuY2llcyAoQ0FTU0FORFJBLTUxODEpCiAqIEluY2x1ZGUgdHlwZSBhcmd1bWVudHMgaW4gVGhyaWZ0IENRTFByZXBhcmVkUmVzdWx0IChDQVNTQU5EUkEtNTMxMSkKICogRml4IGNvbXBhY3Rpb24gbm90IHJlbW92aW5nIGNvbHVtbnMgd2hlbiBiZl9mcF9yYXRpbyBpcyAxIChDQVNTQU5EUkEtNTE4MikKICogY2xpOiBXYXJuIGFib3V0IG1pc3NpbmcgQ1FMMyB0YWJsZXMgaW4gc2NoZW1hIGRlc2NyaZ4NdmkAAAFP3jyyXAAQZSBzdXBwb3J0IGluIDIuMQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtDQAAAQBBU1NBTkRSQS0yODA3KQogKiBmaXggcG90ZW50aWFsIE5QRSB3aGlsZSBzY2hlZHVsaW5nIHJlYWQgcmVwYWlyIGZvciByYW5nZSBzbGljZQogICAoQ0FTU0FORFJBLTI4MjMpCiAqIEZpeCByYWNlIGluIFN5c3RlbVRhYmxlLmdldEN1cnJlbnRMb2NhbE5vZGVJZCAoQ0FTU0FORFJBLTI4MjQpCiAqIENvcnJlY3RseSBzZXQgZGVmYXVsdCBmb3IgcmVwbGljYXRlX29uX3dyaXRlIChDQVNTQU5EUkEtMjgzNSkKICogaW1wcm92ZSBub2RldG9vbCBjb21watlO9wAAAU/ePLJcABB4ICd3cm9uZyBjbGFzcyB0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0NAAABAHMgcHJvZmlsZSAoQ0FTU0FORFJBLTc3MTYpCiAqIFVzZSBUaHJlYWRMb2NhbFJhbmRvbSBhbmQgcmVtb3ZlIEZCVXRpbGl0aWVzLnRocmVhZExvY2FsUmFuZG9tIChDQVNTQU5EUkEtNzkzNCkKICogUHJldmVudCBvcGVyYXRvciBtaXN0YWtlcyBkdWUgdG8gc2ltdWx0YW5lb3VzIGJvb3RzdHJhcCAoQ0FTU0FORFJBLTcwNjkpCiAqIGNhc3NhbmRyYS1zdHJlc3Mgc3VwcG9ydHMgd2hpdGVsaXN0IG1vZGUgZm9yIG5vZGUgY29uZmlnIChDQVNTQU5EUkHoZDFxAAABT948slwAEHBhaXJfY2hhbmNlIHRvIHIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQ0AAAEAdCBmb3IgcXVlcnkgcGFnaW5nIChDQVNTQU5EUkEtNzUxNCkKICogKGNxbHNoKSBTaG93IHByb2dyZXNzIG9mIENPUFkgb3BlcmF0aW9ucyAoQ0FTU0FORFJBLTc3ODkpCiAqIEFkZCBzeW50YXggdG8gcmVtb3ZlIG11bHRpcGxlIGVsZW1lbnRzIGZyb20gYSBtYXAgKENBU1NBTkRSQS02NTk5KQogKiBTdXBwb3J0IG5vbi1lcXVhbHMgY29uZGl0aW9ucyBpbiBsaWdodHdlaWdodCB0cmFuc2FjdGlvbnMgKENBU1NBTkRSQS02ODM5KQogKiBBZGQgSUYgW/piES4AAAFP3jyyXAAQb21wcmVzc2VkIGNodW5rIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtDQAAAQB1bmQgY2FjaGUgcmVmcmVzaGluZyB0byBwZXJtaXNzaW9ucyBjYWNoZQogICAoQ0FTU0FORFJBLTgxOTQpCiAqIEZpeCByYWNlIGNvbmRpdGlvbiBpbiBTdHJlYW1UcmFuc2ZlclRhc2sgdGhhdCBjb3VsZCBsZWFkIHRvCiAgIGluZmluaXRlIGxvb3BzIGFuZCBwcmVtYXR1cmUgc3N0YWJsZSBkZWxldGlvbiAoQ0FTU0FORFJBLTc3MDQpCiAqIEFkZCBhbiBleHRyYSB2ZXJzaW9uIGNoZWNrIHRvIE1pZ3JhdGlvblRhc2sgKENBU1NBTkRSQS04NDYyKQogQx6peQAAAU/ePLJcABBudW1hY3RsIHByZXNlbmNlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0NAAABAGluYXJ5bWVtdGFibGUgKENBU1NBTkRSQS0yNjkyKQogKiBhZGQgY29tbWl0bG9nX3RvdGFsX3NwYWNlX2luX21iIHRvIHByZXZlbnQgZnJhZ21lbnRlZCBsb2dzIChDQVNTQU5EUkEtMjQyNykKICogcmVtb3ZlZCBjb21taXRsb2dfcm90YXRpb25fdGhyZXNob2xkX2luX21iIGNvbmZpZ3VyYXRpb24gKENBU1NBTkRSQS0yNzcxKQogKiBtYWtlIEFic3RyYWN0Qm91bmRzLm5vcm1hbGl6ZSBkZS1vdmVybGFwcCBvdmVybGFwcGluZyByYW5nZXMgKENBU1N29A+UAAABT948slwAEGFjZSBpbiBhZGRpbmcgbGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILQ0AAAEAcGVydGllcywgd2hpY2ggbXVzdCBub3cgYmUgbG9hZGVkIGZyb20KICAgdGhlIGNsYXNzcGF0aCAod2hpY2ggaXMgaG93IG91ciBzY3JpcHRzIGluIGJpbi8gaGF2ZSBhbHdheXMgZG9uZSBpdCkKICAgKENBU1NBTkRSQS05NzEpCiAqIGNoYW5nZSBnZXRfY291bnQgdG8gcmVxdWlyZSBhIFNsaWNlUHJlZGljYXRlLiBjcmVhdGUgbXVsdGlfZ2V0X2NvdW50CiAgIChDQVNTQU5EUkEtNzQ0KQogKiByZS1vcmdhbml6ZWQgZW5kcG9pbnRzbml0Y2ggaW1wbKV8fIgAC4mfBGk9igAAAU/ePLJcABBnZS9kZWxpdmVyeSAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0QAAABAGxsb3cgam9iIGNvbmZpZ3VyYXRpb24gdG8gc2V0IHRoZSBDTCB1c2VkIGluIEhhZG9vcCBqb2JzIChDQVNTQU5EUkEtMjMzMSkKICogYWRkIG1lbXRhYmxlX2ZsdXNoX3F1ZXVlX3NpemUgZGVmYXVsdGluZyB0byA0IChDQVNTQU5EUkEtMjMzMykKICogQWxsb3cgb3ZlcnJpZGluZyBvZiBpbml0aWFsX3Rva2VuLCBzdG9yYWdlX3BvcnQgYW5kIHJwY19wb3J0IGZyb20gc3lzdGVtCiAgIHByb3BlcnRpZXMgKENBU1NBTkRSQS0yMzQzKQogKiBmaXggY28lisPtAAABT948slwAEHVyaW5nIGhpbnRlZCBoYW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILRAAAAEAbSBmb3IgY29tcHJlc3NlZCBkYXRhIChDQVNTQU5EUkEtMTcxNykKICogbWFrZSBjb2x1bW4gZmFtaWx5IGJhY2tlZCBjb2x1bW4gbWFwIHBsdWdnYWJsZSBhbmQgaW50cm9kdWNlIHVuc3luY2hyb25pemVkCiAgIEFycmF5TGlzdCBiYWNrZWQgb25lIHRvIHNwZWVkdXAgcmVhZHMgKENBU1NBTkRSQS0yODQzLCAzMTY1LCAzMjA1KQogKiByZWZhY3RvcmluZyBvZiB0aGUgc2Vjb25kYXJ5IGluZGV4IGFwaSAoQ0FTU0FORFJBLTI5ODIpCiAqIG1ha2UgQ+GY/BgAAAFP3jyyXAAQZXMgcmVwbGljYXRpb24gcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtEAAAAQAgY3VycmVudCBvbmUgKENBU1NBTkRSQS0yNzYzKQogKiBhZGQgS2V5UmFuZ2Ugb3B0aW9uIHRvIEhhZG9vcCBpbnB1dGZvcm1hdCAoQ0FTU0FORFJBLTExMjUpCiAqIGZpeCBwcm90b2NvbCB2ZXJzaW9uaW5nIChDQVNTQU5EUkEtMjgxOCwgMjg2MCkKICogc3VwcG9ydCBzcGFjZXMgaW4gcGF0aCB0byBsb2c0aiBjb25maWd1cmF0aW9uIChDQVNTQU5EUkEtMjM4MykKICogYXZvaWQgaW5jbHVkaW5nIGluZmVycmVkIHR5cGVzIGluIENGIHVwZGF0ZSAobiOjzgAAAU/ePLJcABBnIHRocmVhZHMgaW4gT3V0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0QAAABAC02MTE1KQogKiBBbGxvdyBhbHRlciBrZXlzcGFjZSBvbiBzeXN0ZW1fdHJhY2VzIChDQVNTQU5EUkEtNjAxNikKICogRGlzYWxsb3cgZW1wdHkgY29sdW1uIG5hbWVzIGluIGNxbCAoQ0FTU0FORFJBLTYxMzYpCiAqIFVzZSBKYXZhNyBmaWxlLWhhbmRsaW5nIEFQSXMgYW5kIGZpeCBmaWxlIG1vdmluZyBvbiBXaW5kb3dzIChDQVNTQU5EUkEtNTM4MykKICogU2F2ZSBjb21wYWN0aW9uIGhpc3RvcnkgdG8gc3lzdGVtIGtleXNwYWNlIChDQVNTQU5EUkFVAbq2AAABT948slwAEHVtbnMgd2l0aCBxdWVyeQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILRAAAAEAVU9SVU0gdG8gTE9DQUxfUVVPUlVNIGFuZCBEQ1FVT1JVTVNZTkMgdG8gRUFDSF9RVU9SVU0KICogY2xpIHRydW5jYXRlIHN1cHBvcnQgKENBU1NBTkRSQS0xNjUzKQogKiB1cGRhdGUgR0Mgc2V0dGluZ3MgaW4gY2Fzc2FuZHJhLmJhdCAoQ0FTU0FORFJBLTE2MzYpCiAqIGF2b2lkIGxvZ2dpbmcgd2hlbiBhIG5vZGUncyBpcC90b2tlbiBpcyBnb3NzaXBwZWQgYmFjayB0byBpdCAoQ0FTU0FORFJBLTE2NjYpCgoKMC43LWJldGEyCiAqIGFsd2F5cyB1c7l4PvQAAAFP3jyyXAAQNykKICogQnJlYWsgYmxvbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtEAAAAQBhdGVtZW50IChDQVNTQU5EUkEtOTAyOSkKICogQWRkIG1pc3NpbmcgY29uc2lzdGVuY3kgbGV2ZWxzIHRvIGNhc3NhbmRyYS1zdGVzcyAoQ0FTU0FORFJBLTkzNjEpCiAqIEZpeCBjb21taXRsb2cgZ2V0Q29tcGxldGVkVGFza3MgdG8gbm90IGluY3JlbWVudCAoQ0FTU0FORFJBLTkzMzkpCiAqIEZpeCBmb3IgaGFybWxlc3MgZXhjZXB0aW9ucyBsb2dnZWQgYXMgRVJST1IgKENBU1NBTkRSQS04NTY0KQogKiBEZWxldGUgcHJvY2Vzc2VkIHNzdGFibGVzrxbTNAAAAU/ePLJcABBnIHNlZ21lbnQgYm91bmRhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0QAAABAHVkZSByb3cgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTQxMTYpCiAqIChDTEkpIHByb3Blcmx5IGhhbmRsZSBxdW90ZXMgaW4gY3JlYXRlL3VwZGF0ZSBrZXlzcGFjZSBjb21tYW5kcyAoQ0FTU0FORFJBLTQxMjkpCiAqIEF2b2lkcyBwb3NzaWJsZSBkZWFkbG9jayBkdXJpbmcgYm9vdHN0cmFwIChDQVNTQU5EUkEtNDE1OSkKICogZml4IHN0cmVzcyB0b29sIHRoYXQgaGFuZ3MgZm9yZXZlciBvbiB0aW1lb3V0IG9yIGVycm9yIChDQVNTQU5EUkEtNDEyOClT+JZJAAABT948slwAEGl6ZSBkdXJpbmcgY29tcGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILRAAAAEAZ2luZyAoQ0FTU0FORFJBLTQyNTYpCiAqIEZpeCBleGNlcHRpb24gb24gY29sdW0gbWV0YWRhdGEgd2l0aCBub24tc3RyaW5nIGNvbXBhcmF0b3IgKENBU1NBTkRSQS00MjY5KQogKiBDaGVjayBmb3IgdW5rbm93bi9pbnZhbGlkIGNvbXByZXNzaW9uIG9wdGlvbnMgKENBU1NBTkRSQS00MjY2KQogKiAoY3FsMykgQWRkcyBzaW1wbGUgYWNjZXNzIHRvIGNvbHVtbiB0aW1lc3RhbXAgYW5kIHR0bCAoQ0FTU0FORFJBLTQyMTcpCiAqIChjcWwzKSBGaXggcrhf0VYAAAFP3jyyXAAQMDQpCiAqIGF2b2lkIGJsbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtEAAAAQB2ZXRva2VuIGZvcmNlIGNhdXNpbmcgYW4gaW5jb25zaXN0ZW50IHN0YXRlIChDQVNTQU5EUkEtMzg3NikKICogRml4IGFobmRsaW5nIG9mIHNvbWUgdHlwZXMgd2l0aCBQaWcgKENBU1NBTkRSQS0zODg2KQogKiBEb24ndCBhbGxvdyB0byBkcm9wIHRoZSBzeXN0ZW0ga2V5c3BhY2UgKENBU1NBTkRSQS0zNzU5KQogKiBNYWtlIFBpZyBkZWxldGVzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGNvbmZpZ3VyYWJsZSAoQ0FTU0FORFJBLTM2MjgpCk1lcmdlit1S5AAAAU/ePLJcABAgIHRoYXQgZG9lc24ndCBlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0QAAABAG93IG1vZGUgKENBU1NBTkRSQS01NDg4KQogKiBBZGQgc3BsaXQgc2l6ZSBwYXJhbWV0ZXIgdG8gUGlnIGFuZCBkaXNhYmxlIHNwbGl0IGNvbWJpbmF0aW9uIChDQVNTQU5EUkEtNTU0NCkKCgoxLjIuNQogKiBtYWtlIEJ5dGVzVG9rZW4udG9TdHJpbmcgb25seSByZXR1cm4gaGV4IGJ5dGVzIChDQVNTQU5EUkEtNTU2NikKICogRW5zdXJlIHRoYXQgc3VibWl0QmFja2dyb3VuZCBlbnF1ZXVlcyBhdCBsZWFzdCBvbmUgdGFzayAoQ0FTU0FORFJBLTU1NTSwenhZAAABT948slwAECBjb21wbGV0ZXMgYmVmb3IAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILRAAAAEAUkEtMjE1OCkKCgowLjcuMwogKiBLZWVwIGVuZHBvaW50IHN0YXRlIHVudGlsIGFWZXJ5TG9uZ1RpbWUgKENBU1NBTkRSQS0yMTE1KQogKiBsb3dlci1sYXRlbmN5IHJlYWQgcmVwYWlyIChDQVNTQU5EUkEtMjA2OSkKICogYWRkIGhpbnRlZF9oYW5kb2ZmX3Rocm90dGxlX2RlbGF5X2luX21zIG9wdGlvbiAoQ0FTU0FORFJBLTIxNjEpCiAqIGZpeGVzIGZvciBjYWNoZSBzYXZlL2xvYWQgKENBU1NBTkRSQS0yMTcyLCAtMjE3NCkKICogSGFuZGxlIHdob48XvdoAAAFP3jyyXAAQMikKICogKGNxbDMpIENvcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtEAAAAQAxODAxKQogKiBmaXggTlBFIGFkZGluZyBpbmRleCB0byBjb2x1bW4gdy9vIHByaW9yIG1ldGFkYXRhIChDQVNTQU5EUkEtMTc2NCkKICogcmVkdWNlIGZhdCBjbGllbnQgdGltZW91dCAoQ0FTU0FORFJBLTE3MzApCiAqIGZpeCBib3RjaGVkIG1lcmdlIG9mIENBU1NBTkRSQS0xMzE2CgoKMC43LjAtcmMxCiAqIGZpeCBjb21wYWN0aW9uIGFuZCBmbHVzaCByYWNlcyB3aXRoIHNjaGVtYSB1cGRhdGVzIChDQVNTQU5EUkEtMTcxNSkKICogYWRkIGNsdXN0bERnrwAAAU/ePLJcABBjbHVzdGVydG9vbCAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0QAAABAGNoIChDQVNTQU5EUkEtMzA4NCkKICogZml4IGlwIGFkZHJlc3MgU3RyaW5nIHJlcHJlc2VudGF0aW9uIGluIHRoZSByaW5nIGNhY2hlIChDQVNTQU5EUkEtMzA0NCkKICogZml4IHJpbmcgY2FjaGUgY29tcGF0aWJpbGl0eSB3aGVuIG1peGluZyBwcmUtMC44LjQgbm9kZXMgd2l0aCBwb3N0LQogICBpbiB0aGUgc2FtZSBjbHVzdGVyIChDQVNTQU5EUkEtMzAyMykKICogbWFrZSByZXBhaXIgcmVwb3J0IGZhaWx1cmUgd2hlbiBhIG5vZGUgcGFydGljaXDyqRxAAAABT948slwAEG1lcmdlIG9mIENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILREAAAEAKEhhZG9vcCkgYWxsb3cgQUNGUlcgdG8gbGltaXQgbm9kZXMgdG8gbG9jYWwgREMgKENBU1NBTkRSQS03MjUyKQogKiAoY3Fsc2gpIGNxbHNoIHNob3VsZCBhdXRvbWF0aWNhbGx5IGRpc2FibGUgdHJhY2luZyB3aGVuIHNlbGVjdGluZwogICBmcm9tIHN5c3RlbV90cmFjZXMgKENBU1NBTkRSQS03NjQxKQogKiAoSGFkb29wKSBBZGQgQ3FsT3V0cHV0Rm9ybWF0IChDQVNTQU5EUkEtNjkyNykKICogRG9uJ3QgZGVwZW5kIG9uIGNhc3NhbmRyYSBjb25maWAwtWYAAAFP3jyyXAAQY3QgdmVyc2lvbiBvZiB0aAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtEQAAAQBBU1NBTkRSQS00MDcyKQogKiBvcHRpbWl6ZSBjb21taXRsb2cgY2hlY2tzdW1taW5nIChDQVNTQU5EUkEtMzYxMCkKICogaWRlbnRpZnkgYW5kIGJsYWNrbGlzdCBjb3JydXB0ZWQgU1NUYWJsZXMgZnJvbSBmdXR1cmUgY29tcGFjdGlvbnMgCiAgIChDQVNTQU5EUkEtMjI2MSkKICogTW92ZSBDZkRlZiBhbmQgS3NEZWYgdmFsaWRhdGlvbiBvdXQgb2YgdGhyaWZ0IChDQVNTQU5EUkEtNDAzNykKICogRXhwb3NlIEFQSSB0byByZXBhaXIgYSB1c2VyIHByCs34ZAALnfxEAj1SAAABT948slwAEGN0aW9uIGluZGV4CiAgICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILRMAAAEAU1NBTkRSQS00NDY2KQoKCjEuMS4zCiAqIChjcWxzaCkgYWRkIENPUFkgVE8gKENBU1NBTkRSQS00NDM0KQogKiBtdW5tYXAgY29tbWl0bG9nIHNlZ21lbnRzIGJlZm9yZSByZW5hbWUgKENBU1NBTkRSQS00MzM3KQogKiAoSk1YKSByZW5hbWUgZ2V0UmFuZ2VLZXlTYW1wbGUgdG8gc2FtcGxlS2V5UmFuZ2UgdG8gYXZvaWQgcmV0dXJuaW5nCiAgIG11bHRpLU1CIHJlc3VsdHMgYXMgYW4gYXR0cmlidXRlIChDQVNTQU5EUkEtNDQ1MikKICogZmx1c2ggYvrkPmIAAAFP3jyyXAAQZXB0aW9uIHdoZW4gZGVzZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtEwAAAQBsZQogICByZWFkZXJzIChDQVNTQU5EUkEtODA2NikKICogRml4IEVYRUNVVEUgcmVxdWVzdCB3aXRoIHNraXBNZXRhZGF0YT1mYWxzZSByZXR1cm5pbmcgbm8gbWV0YWRhdGEKICAgKENBU1NBTkRSQS04MDU0KQogKiBBbGxvdyBjb25jdXJyZW50IHVzZSBvZiBDUUxCdWxrT3V0cHV0Rm9ybWF0IChDQVNTQU5EUkEtNzc3NikKICogU2h1dGRvd24gSlZNIG9uIE9PTSAoQ0FTU0FORFJBLTc1MDcpCiAqIFVwZ3JhZGUgbmV0dHkgdmVyc2lvbiBhbmQgZW5hlA1VowAAAU/ePLJcABAgaGFsZi1zeW5jL2hhbGYtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0TAAABAG9wIHJlcXVlc3RzIHRoYXQgY2Fubm90IGJlIHByb2Nlc3NlZCB3aXRoaW4gUlBDVGltZW91dAogICAoQ0FTU0FORFJBLTY4NSkKICogYWRkIGFjayB0byBCaW5hcnkgd3JpdGUgdmVyYiBhbmQgdXBkYXRlIENhc3NhbmRyYUJ1bGtMb2FkZXIKICAgdG8gd2FpdCBmb3IgYWNrcyBmb3IgZWFjaCByb3cgKENBU1NBTkRSQS0xMDkzKQogKiBhZGRlZCBkZXNjcmliZV9wYXJ0aXRpb25lciBUaHJpZnQgbWV0aG9kIChDQVNTQU5EUkEtMTA0NykKICogSGFkb2/eFnZoAAABT948slwAEFNBTkRSQS0yMDg4KQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILRMAAAEAYWlscyAoQ0FTU0FORFJBLTM1NDgpCiAqIGZpeCBkZWZhdWx0IHZhbHVlIHZhbGlkYXRpb24gdXNhZ2UgaW4gQ0xJIFNFVCBjb21tYW5kIChDQVNTQU5EUkEtMzU1MykKICogT3B0aW1pemUgY29tcG9uZW50c0ZvciBtZXRob2QgZm9yIGNvbXBhY3Rpb24gYW5kIHN0YXJ0dXAgdGltZQogICAoQ0FTU0FORFJBLTM1MzIpCiAqIChDUUwpIFByb3BlciBDb2x1bW5GYW1pbHkgbWV0YWRhdGEgdmFsaWRhdGlvbiBvbiBDUkVBVEUgQ09MVU1ORkFNSUxZIAogIHtnxTIAAAFP3jyyXAAQQVNTQU5EUkEtMjU1MykKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtEwAAAQAgKGNxbDMpIE1vdmUgbWF4L21pbiBjb21wYWN0aW9uIHRocmVzaG9sZHMgdG8gY29tcGFjdGlvbiBzdHJhdGVneSBvcHRpb25zCiAgIChDQVNTQU5EUkEtNDE4NykKICogRml4IGV4Y2VwdGlvbiBkdXJpbmcgbW92ZSB3aGVuIGxvY2FsaG9zdCBpcyB0aGUgb25seSBzb3VyY2UgKENBU1NBTkRSQS00MjAwKQogKiAoY3FsMykgQWxsb3cgcGFnaW5nIHRocm91Z2ggbm9uLW9yZGVyZWQgcGFydGl0aW9uZXIgcmVzdWx0cyAoQ0FTU0FORFJBLTM3NzEpCiAqejW59wAAAU/ePLJcABBpeCBCeXRlQnVmZmVyIGJ1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0TAAABADA0KQogKiBhdm9pZCBibG9ja2luZyBhZGRpdGlvbmFsIHdyaXRlcyBkdXJpbmcgZmx1c2ggd2hlbiB0aGUgY29tbWl0bG9nCiAgIGdldHMgYmVoaW5kIHRlbXBvcmFyaWx5IChDQVNTQU5EUkEtMTk5MSkKICogZW5hYmxlIGNhY2hpbmcgb24gaW5kZXggQ0ZzIGJhc2VkIG9uIGRhdGEgQ0YgY2FjaGUgc2V0dGluZyAoQ0FTU0FORFJBLTQxOTcpCiAqIHdhcm4gb24gaW52YWxpZCByZXBsaWNhdGlvbiBzdHJhdGVneSBjcmVhdGlvbiBvcHRpb25zIChDQVM/8j/8AAABT948slwAEENBU1NBTkRSQS03MTYpCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILRMAAAEAZCBleGNlcHRpb25zIGhpZXJhcmNoeSBhbmQgcHJvdmlkZXMgZXJyb3IgY29kZSB3aXRoIGV4Y2VwdGlvbnMgKENBU1NBTkRSQS0zOTc5KQogKiBBZGRzIGV2ZW50cyBwdXNoIHRvIGJpbmFyeSBwcm90b2NvbCAoQ0FTU0FORFJBLTQ0ODApCiAqIFJld3JpdGUgbm9kZXRvb2wgaGVscCAoQ0FTU0FORFJBLTIyOTMpCiAqIE1ha2UgQ1FMMyB0aGUgZGVmYXVsdCBmb3IgQ1FMIChDQVNTQU5EUkEtNDY0MCkKICogdXBkYXRlIHN0cmVzcyB0b29sIHRvIGJlINfvEyEAAAFP3jyyXAAQbiB1c2luZyBsYXJnZSBJTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtEwAAAQA2NTIpCiAqIEZpeCBtaXNzaW5nIHJlc3VsdHMgaW4gc2Vjb25kYXJ5IGluZGV4IHF1ZXJpZXMgb24gY29sbGVjdGlvbnMKICAgd2l0aCBBTExPVyBGSUxURVJJTkcgKENBU1NBTkRSQS04NDIxKQogKiBFeHBvc2UgRXN0aW1hdGVkSGlzdG9ncmFtIG1ldHJpY3MgZm9yIHJhbmdlIHNsaWNlcyAoQ0FTU0FORFJBLTg2MjcpCiAqIChjcWxzaCkgRXNjYXBlIGNscXNocmMgcGFzc3dvcmRzIHByb3Blcmx5IChDQVNTQU5EUkEtODYxOCkKICogRml4IE5QRSB3T2J62QAAAU/ePLJcABAgMzQ5MykKICogKENRTCkgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0TAAABADk5KQogKiBJbmNyZWFzZSBiZiB0cnVlIHBvc2l0aXZlIGNvdW50IG9uIGtleSBjYWNoZSBoaXQgKENBU1NBTkRSQS04NTI1KQogKiBNb3ZlIE1ldGVyZWRGbHVzaGVyIHRvIGl0cyBvd24gdGhyZWFkIChDQVNTQU5EUkEtODQ4NSkKICogRml4IG5vbi1kaXN0aW5jdCByZXN1bHRzIGluIERJU1ROQ1QgcXVlcmllcyBvbiBzdGF0aWMgY29sdW1ucyB3aGVuCiAgIHBhZ2luZyBpcyBlbmFibGVkIChDQVNTQU5EUkEtODA4NykKICogTW92ZSBhbGwgaGludHOMC+hyAAABT948slwAEERSQS02NTE3KQogKiBGaXgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILRMAAAEAciByZXBsYXkgYnkgaWQgaW5zdGVhZCBvZiBtdGltZSAoQ0FTU0FORFJBLTQ3OTMpCiAqIE1ha2UgaGludCBkZWxpdmVyeSBhc3luY2hyb25vdXMgKENBU1NBTkRSQS00NzYxKQogKiBQbHVnZ2FibGUgVGhyaWZ0IHRyYW5zcG9ydCBmYWN0b3JpZXMgZm9yIENMSSBhbmQgY3Fsc2ggKENBU1NBTkRSQS00NjA5LCA0NjEwKQogKiBjYXNzYW5kcmEtY2xpOiBhbGxvdyBEb3VibGUgdmFsdWUgdHlwZSB0byBiZSBpbnNlcnRlZCB0byBhIGNvbHVtbiAoQ0FTU8UqqTkAAAFP3jyyXAAQbWVzIGZpcnN0LiAgaGludAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtEwAAAQAgRml4IGZpbHRlcmluZyBmb3IgQ09OVEFJTlMgKEtFWSkgcmVsYXRpb25zIG9uIGZyb3plbiBjb2xsZWN0aW9uCiAgIGNsdXN0ZXJpbmcgY29sdW1ucyB3aGVuIHRoZSBxdWVyeSBpcyByZXN0cmljdGVkIHRvIGEgc2luZ2xlCiAgIHBhcnRpdGlvbiAoQ0FTU0FORFJBLTgyMDMpCiAqIERvIG1vcmUgYWdncmVzc2l2ZSBlbnRpcmUtc3N0YWJsZSBUVEwgZXhwaXJ5IGNoZWNrcyAoQ0FTU0FORFJBLTgyNDMpCiAqIEFkZCBtb3JlIGxvZyBpbmZvIGlmIHJlAz0FhgAAAU/ePLJcABBTU0FORFJBLTUwMjcpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0TAAABAG4gdG8gRGF0YVRyYWNrZXIgKENBU1NBTkRSQS02MDEwKQogKiBGaXggc25hcHNob3RzIGluIHVzZSBnZXQgZGVsZXRlZCBkdXJpbmcgc25hcHNob3QgcmVwYWlyIChDQVNTQU5EUkEtNjAxMSkKICogTW92ZSBoaW50cyBhbmQgZXhjZXB0aW9uIGNvdW50IHRvIG8uYS5jLm1ldHJpY3MgKENBU1NBTkRSQS02MDE3KQogKiBGaXggbWVtb3J5IGxlYWsgaW4gc25hcHNob3QgcmVwYWlyIChDQVNTQU5EUkEtNjA0NykKICogRml4IHNzdGFibGUyc2pvbiBmb3IV+zVQAAABT948slwAEGUgb2xkIG9uZXMgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILRMAAAEAciAoQ0FTU0FORFJBLTU3MzQpCiAqIENsZWFudXAgQWJzdHJhY3RUeXBlL1R5cGVTZXJpYWxpemVyIGNsYXNzZXMgKENBU1NBTkRSQS01NzQ0KQogKiBSZW1vdmUgdW5pbXBsZW1lbnRlZCBjbGkgb3B0aW9uIHNjaGVtYS1td3QgKENBU1NBTkRSQS01NzU0KQogKiBTdXBwb3J0IHJhbmdlIHRvbWJzdG9uZXMgaW4gdGhyaWZ0IChDQVNTQU5EUkEtNTQzNSkKICogTm9ybWFsaXplIHRhYmxlLW1hbmlwdWxhdGluZyBDUUwzIHN0YXRlbWVudHMnIGNsYXNzIJn3AcYAAAFP3jyyXAAQIGRlcml2ZSBzdGFnZSBmcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtEwAAAQA2MzQzKQogKiBTZXQgbWluVGltZXN0YW1wIGNvcnJlY3RseSB0byBiZSBhYmxlIHRvIGRyb3AgZXhwaXJlZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTYzMzcpCiAqIFN1cHBvcnQgTmFOIGFuZCBJbmZpbml0eSBhcyBmbG9hdCBsaXRlcmFscyAoQ0FTU0FORFJBLTYwMDMpCiAqIFJlbW92ZSBSRiBmcm9tIG5vZGV0b29sIHJpbmcgb3V0cHV0IChDQVNTQU5EUkEtNjI4OSkKICogRml4IGF0dGVtcHRpbmcgdG8gZmx1c2ggZW1wdHkgcm93cyAoQ0FTU0FORFJBqQRaqAAAAU/ePLJcABAgKiByZW1vdmUgY29tcGFjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0TAAABACAqIEZpeCBtaW4vbWF4IGNlbGwgbmFtZSBjb2xsZWN0aW9uIG9uIDIuMCBTU1RhYmxlcyB3aXRoIHJhbmdlCiAgIHRvbWJzdG9uZXMgKENBU1NBTkRSQS03NTkzKQogKiBUb2xlcmF0ZSBtaW4vbWF4IGNlbGwgbmFtZXMgb2YgZGlmZmVyZW50IGxlbmd0aHMgKENBU1NBTkRSQS03NjUxKQogKiBGaWx0ZXIgY2FjaGVkIHJlc3VsdHMgY29ycmVjdGx5IChDQVNTQU5EUkEtNzYzNikKICogRml4IHRyYWNpbmcgb24gdGhlIG5ldyBTRVBFeGVjdXRvciAoQ0G59lI5AAuyWb4X2uUAAAFP3jyyXAAQCiAqIGtlZXAgdGhlIHJlcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtHAAAAQBpbiBzeXN0ZW0gdGFibGUgKENBU1NBTkRSQS00OTA2KQogKiBNb3ZlIENvbXByZXNzaW9uTWV0YWRhdGEgb2ZmLWhlYXAgKENBU1NBTkRSQS00OTM3KQogKiBhbGxvdyBDTEkgdG8gR0VUIGNxbDMgY29sdW1uZmFtaWx5IGRhdGEgKENBU1NBTkRSQS00OTI0KQogKiBGaXggcmFyZSByYWNlIGNvbmRpdGlvbiBpbiBnZXRFeHBpcmVUaW1lRm9yRW5kcG9pbnQgKENBU1NBTkRSQS00NDAyKQogKiBhY3F1aXJlIHJlZmVyZW5jZXMgdG8gb3ZlcmxhcHBpbmcgTek7YQAAAU/ePLJcABBvcnkgbGVhayBpbiBzbmFwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0cAAABACB0aGUgbW9zdC1oZWF2aWx5LWxvYWRlZCBub2RlIGluIHRoZSBjbHVzdGVyLAogICBpbnN0ZWFkIG9mIGdlbmVyYXRpbmcgYSByYW5kb20gdG9rZW4uIAogICAoQ0FTU0FORFJBLTM4NSwgQ0FTU0FORFJBLTUxNykKICogTWlzY2VsbGFuZW91cyBib290c3RyYXAgZml4ZXMgKHNldmVyYWwgdGlja2V0cykKICogQWJpbGl0eSB0byBjaGFuZ2UgYSBub2RlJ3MgdG9rZW4gZXZlbiBhZnRlciBpdCBoYXMgZGF0YSBvbiBpdAogICAoQ0FTU0FORFJBLTU0MSlBAFVvAAABT948slwAEG9ucyBhdCBMT0NBTF9TRVIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILRwAAAEAbm9kZXRvb2wgY29tbWFuZHMgKENBU1NBTkRSQS0yNzQwKQogKiBsb2cgdW5hdmFpbGFibGVleGNlcHRpb24gZGV0YWlscyBhdCBkZWJ1ZyBsZXZlbCAoQ0FTU0FORFJBLTI4NTYpCiAqIGV4cG9zZSBkYXRhX2RpciB0aG91Z2ggam14IChDQVNTQU5EUkEtMjc3MCkKICogZG9uJ3QgaW5jbHVkZSB0bXAgZmlsZXMgYXMgc3N0YWJsZSB3aGVuIGNyZWF0ZSBjZnMgKENBU1NBTkRSQS0yOTI5KQogKiBsb2cgSmF2YSBjbGFzc3BhdGggb24gc3RhcnR1cCAoQyxCL3IAAAFP3jyyXAAQKQogKiBOb3RpZnkgRFQgcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtHAAAAQAgY29sbGVjdGlvbiBvbiAyLjAgU1NUYWJsZXMgd2l0aCByYW5nZQogICB0b21ic3RvbmVzIChDQVNTQU5EUkEtNzU5MykKICogVG9sZXJhdGUgbWluL21heCBjZWxsIG5hbWVzIG9mIGRpZmZlcmVudCBsZW5ndGhzIChDQVNTQU5EUkEtNzY1MSkKICogRmlsdGVyIGNhY2hlZCByZXN1bHRzIGNvcnJlY3RseSAoQ0FTU0FORFJBLTc2MzYpCiAqIEZpeCB0cmFjaW5nIG9uIHRoZSBuZXcgU0VQRXhlY3V0b3IgKENBU1NBTkRSQS03NjQ0KQogKiBSZW1vdmUgL+XJ6wAAAU/ePLJcABBmbGFwcGluZyBSZWNvdmVyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0cAAABAGRleCBNQmVhbnMgd2hlbiBpbmRleCBpcyBkcm9wcGVkIChDQVNTQU5EUkEtMTg0MykKICogbWFrZSBCeXRlQnVmZmVyVXRpbC5jbG9uZSB0aHJlYWQtc2FmZSAoQ0FTU0FORFJBLTE4NDcpCiAqIGNoYW5nZSBleGNlcHRpb24gZm9yIHJlYWQgcmVxdWVzdHMgZHVyaW5nIGJvb3RzdHJhcCBmcm9tIAogICBJbnZhbGlkUmVxdWVzdCB0byBVbmF2YWlsYWJsZSAoQ0FTU0FORFJBLTE4NjIpCiAqIHJlc3BlY3Qgcm93LWxldmVsIHRvbWJzdG9uZXMgcG9zdC0W9pgzAAABT948slwAEG5vdCBpbnRlcnNlY3QgdGgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILRwAAAEAQS00OTc2KQoKCjEuMi1iZXRhMgogKiBmcCByYXRlIG9mIDEuMCBkaXNhYmxlcyBCRiBlbnRpcmVseTsgTENTIGRlZmF1bHRzIHRvIDEuMCAoQ0FTU0FORFJBLTQ4NzYpCiAqIG9mZi1oZWFwIGJsb29tIGZpbHRlcnMgZm9yIHJvdyBrZXlzIChDQVNTQU5EUkFfNDg2NSkKICogYWRkIGV4dGVuc2lvbiBwb2ludCBmb3Igc3N0YWJsZSBjb21wb25lbnRzIChDQVNTQU5EUkEtNDA0OSkKICogaW1wcm92ZSB0cmFjaW5nIG91dHB1dCAoQ0FTU0FORFJBLTQ4NeHK5L8AAAFP3jyyXAAQNCwgMjIzNiwgMjM0MiwKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtHAAAAQBzY3JpcHRzIChDQVNTQU5EUkEtNzAwMSkKICogTWFrZSBjb21taXRsb2cgYXJjaGl2ZStyZXN0b3JlIG1vcmUgcm9idXN0IChDQVNTQU5EUkEtNjk3NCkKICogRml4IG1hcmtpbmcgY29tbWl0bG9nc2VnbWVudHMgY2xlYW4gKENBU1NBTkRSQS02OTU5KQogKiBBZGQgc25hcHNob3QgIm1hbmlmZXN0IiBkZXNjcmliaW5nIGZpbGVzIGluY2x1ZGVkIChDQVNTQU5EUkEtNjMyNikKICogUGFyYWxsZWwgc3RyZWFtaW5nIGZvciBzc3RhYmxlbG9hZGVyIChD7ZzZ3wAAAU/ePLJcABBhZGVyIHN1cHBvcnQgZm9yAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0cAAABAEEtNjMyNSkKICogRml4IEFzc2VydGlvbkVycm9yIHdoZW4gZG9pbmcgc2V0IGVsZW1lbnQgZGVsZXRpb24gKENBU1NBTkRSQS02MzQxKQogKiBNYWtlIENMIGNvZGUgZm9yIHRoZSBuYXRpdmUgcHJvdG9jb2wgbWF0Y2ggdGhlIG9uZSBpbiBDKiAyLjAKICAgKENBU1NBTkRSQS02MzQ3KQogKiBEaXNhbGxvdyBhbHRlcmluZyBDUUwzIHRhYmxlIGZyb20gdGhyaWZ0IChDQVNTQU5EUkEtNjM3MCkKICogRml4IHNpemUgY29tcHV0YXRpb24gb2YgcHJlcGEKaWtxAAABT948slwAECBDQVMgV3JpdGVUeXBlIHcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILRwAAAEAQU5EUkEtMjQ0OSkKICogUmV0dXJuIHNjaGVtYSBpbmZvcm1hdGlvbiBhbG9uZyB3aXRoIHRoZSByZXN1bHRTZXQgaW4gQ1FMIChDQVNTQU5EUkEtMjczNCkKICogQWRkIG5ldyBEZWNpbWFsVHlwZSAoQ0FTU0FORFJBLTI4ODMpCiAqIEZpeCBhc3NlcnRpb24gZXJyb3IgaW4gUm93UmVwYWlyUmVzb2x2ZXIgKENBU1NBTkRSQS0zMTU2KQogKiBSZWR1Y2UgdW5uZWNlc3NhcnkgaGlnaCBidWZmZXIgc2l6ZXMgKENBU1NBTkRSQS0zMTcxKQogKiBQbHVnZzwmKucAAAFP3jyyXAAQQVNTQU5EUkEtNTI1KQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtHAAAAQBrIG9mICRKQVZBIG9uIHN0YXJ0dXAgKENBU1NBTkRSQS03Njc2KQogKiBTY2hlZHVsZSBmYXQgY2xpZW50IHNjaGVtYSBwdWxsIG9uIGpvaW4gKENBU1NBTkRSQS03OTkzKQogKiBEb24ndCByZXNldCBub2RlcycgdmVyc2lvbnMgd2hlbiBjbG9zaW5nIEluY29taW5nVGNwQ29ubmVjdGlvbnMKICAgKENBU1NBTkRSQS03NzM0KQogKiBSZWNvcmQgdGhlIHJlYWwgbWVzc2FnaW5nIHZlcnNpb24gaW4gYWxsIGNhc2VzIGluIE91dGJvdW5kVGNwQ29ubmVjtR9X8gAAAU/ePLJcABBjaCAoQ0FTU0FORFJBLTM4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0cAAABAGRleCBzYW1wbGUgKENBU1NBTkRSQS0zNzQzKQogKiAoSGFkb29wKSBzZXBhcmF0ZSBpbnB1dC9vdXRwdXQgY29uZmlndXJhdGlvbnMgKENBU1NBTkRSQS0zMTk3LCAzNzY1KQogKiBhdm9pZCByZXR1cm5pbmcgaW50ZXJuYWwgQ2Fzc2FuZHJhIGNsYXNzZXMgb3ZlciBKTVggKENBU1NBTkRSQS0yODA1KQogKiBhZGQgcm93LWxldmVsIGlzb2xhdGlvbiB2aWEgU25hcFRyZWUgKENBU1NBTkRSQS0yODkzKQogKiBPcHRpbWl6ZSBrZXkgY291bnQgZXN0aW0J0kqQAAABT948slwAEHJyZWN0IGtiIHZhbHVlIGYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILRwAAAEAbnRlbnQgaXMKICAgaGlnaGVyIHRoYW4gYSBjb25maWd1cmFibGUgdGhyZXNob2xkLCBkZWZhdWx0IDIwJSAoQ0FTU0FORFJBLTM0NDIsIDQyMzQpCiAqIHVwZGF0ZSBNdXJtdXJIYXNoIHRvIHZlcnNpb24gMyAoQ0FTU0FORFJBLTI5NzUpCiAqIChDTEkpIHRyYWNrIGVsYXBzZWQgdGltZSBmb3IgYGRlbGV0ZScgb3BlcmF0aW9uIChDQVNTQU5EUkEtNDA2MCkKICogKENMSSkgamxpbmUgdmVyc2lvbiBpcyBidW1wZWQgdG8gMS4wIHRvIHByb3Blcmx5IEgiZjwAAAFP3jyyXAAQZ2luZyBzY2hlbWFzIHdpdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtHAAAAQBwYWNlIChDQVNTQU5EUkEtNTYxMykKICogRW5zdXJlIGNoYW5naW5nIGNvbHVtbl9pbmRleF9zaXplX2luX2tiIG9uIGRpZmZlcmVudCBub2RlcyBkb24ndCBjb3JydXB0IHRoZQogICBzc3RhYmxlIChDQVNTQU5EUkEtNTQ1NCkKICogTW92ZSByZXN1bHRzZXQgdHlwZSBpbmZvcm1hdGlvbiBpbnRvIHByZXBhcmUsIG5vdCBleGVjdXRlIChDQVNTQU5EUkEtNTY0OSkKICogQXV0byBwYWdpbmcgaW4gYmluYXJ5IHByb3RvY29sIChDQVNTQU5EUkEtNDQxrCdqxwAAAU/ePLJcABBhc3NhbmRyYSBub2RlIGhhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0cAAABAHVic2NyaWJlcnMgd2hlbiBhIGNvbHVtbiBmYW1pbHkgaXMgdHJ1bmNhdGVkIChDQVNTQU5EUkEtODA4OCkKICogQWRkIHNhbml0eSBjaGVjayBvZiAkSkFWQSBvbiBzdGFydHVwIChDQVNTQU5EUkEtNzY3NikKICogU2NoZWR1bGUgZmF0IGNsaWVudCBzY2hlbWEgcHVsbCBvbiBqb2luIChDQVNTQU5EUkEtNzk5MykKICogRG9uJ3QgcmVzZXQgbm9kZXMnIHZlcnNpb25zIHdoZW4gY2xvc2luZyBJbmNvbWluZ1RjcENvbm5lY3Rpb25zCiAgIChDQVNTQU5qI5ZwAAABT948slwAEHR5cGUgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILRwAAAEAQS0xOTM5KQoKCjAuNy4wLXJjNAogKiBmaXggY2xpIGNyYXNoIGFmdGVyIGJhY2tncm91bmRpbmcgKENBU1NBTkRSQS0xODc1KQogKiBjb3VudCB0aW1lb3V0cyBpbiBzdG9yYWdlcHJveHkgbGF0ZW5jaWVzLCBhbmQgaW5jbHVkZSBsYXRlbmN5IAogICBoaXN0b2dyYW1zIGluIFN0b3JhZ2VQcm94eU1CZWFuIChDQVNTQU5EUkEtMTg5MykKICogZml4IENMSSBnZXQgcmVjb2duaXRpb24gb2Ygc3VwZXJjb2x1bW5zIChDQVNTQU5EUkEtMTg5OSkKICogZSSCaPAAC8a2Cre17wAAAU/ePLJcABBUcmFjayBwcmVzZW5jZSBvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0dAAABAGluZyByZXBsYXkgcG9zaXRpb24gZnJvbSBoZWFkZXIgdG8gc3N0YWJsZSBtZXRhZGF0YSAoQ0FTU0FORFJBLTI0MTkpCiAqIEpEQkMgQ1FMIGRyaXZlciBleHBvc2VzIGdldENvbHVtbiBmb3IgYWNjZXNzIHRvIHRpbWVzdGFtcAogKiBKREJDIFJlc3VsdFNldE1ldGFkYXRhIHByb3BlcnRpZXMgYWRkZWQgdG8gQWJzdHJhY3RUeXBlCiAqIHIvbSBjbHVzdGVydG9vbCAoQ0FTU0FORFJBLTI2MDcpCiAqIGFkZCBzdXBwb3J0IGZvciBwcmVzZW50aW5nIHKxLysaAAABT948slwAEHNpc3RpbmcgZW50aXJlbHkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILR0AAAEAdGVbXSBrZXlzIHRvIHJlZHVjZSBtZW1vcnkgb3ZlcmhlYWQgKENBU1NBTkRSQS0zOTY2KQogKiBhZGQgY29sdW1uIGxpbWl0IHRvIGNsaSAoQ0FTU0FORFJBLTMwMTIsIDQwOTgpCiAqIGNsZWFuIHVwIGFuZCBvcHRpbWl6ZSBEYXRhT3V0cHV0QnVmZmVyLCB1c2VkIGJ5IENRTCBjb21wcmVzc2lvbiBhbmQKICAgQ29tcG9zaXRlVHlwZSAoQ0FTU0FORFJBLTQwNzIpCiAqIG9wdGltaXplIGNvbW1pdGxvZyBjaGVja3N1bW1pbmcgKENBU1NBTkRSQS0zNuYwZmgAAAFP3jyyXAAQLTc5NjkpCiAqIEZpeCBwbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtHQAAAQB4IExldmVsZWRDb21wYWN0aW9uU3RyYXRlZ3kgYnJva2VuIGJlY2F1c2Ugb2YgZ2VuZXJhdGlvbiBwcmUtYWxsb2NhdGlvbgogICBpbiBMZXZlbGVkTWFuaWZlc3QgKENBU1NBTkRSQS0zNjkxKQogKiBmaW5lci1ncmFpbmVkIGNvbnRyb2wgb3ZlciBkYXRhIGRpcmVjdG9yaWVzIChDQVNTQU5EUkEtMjc0OSkKICogRml4IENsYXNzQ2FzdEV4Y2VwdGlvbiBkdXJpbmcgaGludGVkIGhhbmRvZmYgKENBU1NBTkRSQS0zNjk0KQogKiBVcGdyYWRlIFRocmlmkifzvQAAAU/ePLJcABBudHMgb21pc3Npb25zIChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0dAAABAHdoZW4gdXBkYXRpbmcvZGVzY3JpYmluZyBrZXlzcGFjZSAKICAgKENBU1NBTkRSQS00MzIyKQogKiBBZGRzIG9mZmxpbmUgc3N0YWJsZXNjcnViIHRvIGRlYmlhbiBwYWNrYWdpbmcgKENBU1NBTkRSQS00NjQyKQogKiBBdXRvbWF0aWMgZml4aW5nIG9mIG92ZXJsYXBwaW5nIGxldmVsZWQgc3N0YWJsZXMgKENBU1NBTkRSQS00NjQ0KQogKiBmaXggZXJyb3Igd2hlbiB1c2luZyBPUkRFUiBCWSB3aXRoIGV4dGVuZGVkIHNlbGVjdGlvbnMgKENBU1NBTkQEieEMAAABT948slwAEGluIHRocmlmdCB2YWxpZGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILR0AAAEAQVNTQU5EUkEtNDgwNCkKICogUmVtb3ZlIGFsbCByZW1uYW50cyBvZiByZW1vdmVkIG5vZGVzIChDQVNTQU5EUkEtNDg0MCkKICogQWRkIGF1dC1yZWxvYWRpbmcgb2YgdGhlIGxvZzRqIGZpbGUgaW4gZGViaWFuIHBhY2thZ2UgKENBU1NBTkRSQS00ODU1KQogKiBGaXggZXN0aW1hdGVkIHJvdyBjYWNoZSBlbnRyeSBzaXplIChDQVNTQU5EUkEtNDg2MCkKICogcmVzZXQgZ2V0UmFuZ2VTbGljZSBmaWx0ZXIgYWZ0ZXIgZmluaXNoaW5nIGEgcm93IGZvcpfkQW8AAAFP3jyyXAAQbnRvIENRTDMgdGFibGVzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtHQAAAQBzIAogICAoQ0FTU0FORFJBLTE0MDUpCiAqIGZpeCBwb3RlbnRpYWwgdXNlIG9mIGZyZWUnZCBuYXRpdmUgbWVtb3J5IGluIFNlcmlhbGl6aW5nQ2FjaGUgCiAgIChDQVNTQU5EUkEtMjk1MSkKICogcHJ1bmUgaW5kZXggc2NhbiByZXN1bHRzZXQgYmFjayB0byBvcmlnaW5hbCByZXF1ZXN0IGZvciBsYXp5CiAgIHJlc3VsdHNldCBleHBhbnNpb24gY2FzZSAoQ0FTU0FORFJBLTI5NjQpCiAqIChIYWRvb3ApIGZhaWwgam9icyB3aGVuIENhc3NhbmRyYSBucaSLDQAAAU/ePLJcABBwYWlyIGlmIGEgbmVpZ2hiAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0dAAABAHBwaW5nIHNzdGFibGVzIGR1cmluZyBjb21wYWN0aW9uIHNvIGJsb29tIGZpbHRlcgogICBkb2Vzbid0IGdldCBmcmVlJ2QgcHJlbWF0dXJlbHkgKENBU1NBTkRSQS00OTM0KQogKiBEb24ndCBzaGFyZSBzbGljZSBxdWVyeSBmaWx0ZXIgaW4gQ1FMMyBTZWxlY3RTdGF0ZW1lbnQgKENBU1NBTkRSQS00OTI4KQogKiBTZXBhcmF0ZSB0cmFjaW5nIGZyb20gTG9nNEogKENBU1NBTkRSQS00ODYxKQogKiBFeGNsdWRlIGdjYWJsZSB0b21ic3RvbmVzIGZyb20NtLe5AAABT948slwAEFN0b3JlLmZpbGVzKC4uLikAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILR0AAAEAU0FORFJBLTc1NzUpCiAqIFBpZyBzdXBwb3J0IGZvciBoYWRvb3AgQ3FsSW5wdXRGb3JtYXQgKENBU1NBTkRSQS02NDU0KQogKiBBZGQgbGlzdGVuX2ludGVyZmFjZSBhbmQgcnBjX2ludGVyZmFjZSBvcHRpb25zIChDQVNTQU5EUkEtNzQxNykKICogSW1wcm92ZSBzY2hlbWEgbWVyZ2UgcGVyZm9ybWFuY2UgKENBU1NBTkRSQS03NDQ0KQogKiBBZGp1c3QgTVQgZGVwdGggYmFzZWQgb24gIyBvZiBwYXJ0aXRpb24gdmFsaWRhdGluZyAoQ0FTU0FORFJBLTEOqbwAAAFP3jyyXAAQcnlpbmcgdG8gY3JlYXRlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtHQAAAQBuZGV4ZWQgY29sdW1ucyBpbiBTZWNvbmRhcnlJbmRleE1hbmFnZXIKICAgKENBU1NBTkRSQS00MzY1KQogKiBhZGQgc3RyYXRlZ3lfb3B0aW9ucyB0byB0aGUgS1NNZXRhRGF0YS50b1N0cmluZygpIG91dHB1dCAoQ0FTU0FORFJBLTQyNDgpCiAqIChjcWwzKSBmaXggcmFuZ2UgcXVlcmllcyBjb250YWluaW5nIHVucXVlcmllZCByZXN1bHRzIChDQVNTQU5EUkEtNDM3MikKICogKGNxbDMpIGFsbG93IHVwZGF0aW5nIGNvbHVtbl9hbGlhcyB0eXBlcyAoZzAYbwAAAU/ePLJcABBrZW5SYW5nZS5lbmRwb2luAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0dAAABAHJSdW5uaW5nIChDQVNTQU5EUkEtMjcyMSkKICogbWFrZSBzdHJlc3MuamFyIGV4ZWN1dGFibGUgKENBU1NBTkRSQS0yNzQ0KQogKiBhZGQgZGFlbW9uIG1vZGUgdG8gamF2YSBzdHJlc3MgKENBU1NBTkRSQS0yMjY3KQogKiBleHBvc2UgdGhlIERDIGFuZCByYWNrIG9mIGEgbm9kZSB0aHJvdWdoIEpNWCBhbmQgbm9kZXRvb2wgcmluZyAoQ0FTU0FORFJBLTI1MzEpCiAqIGZpeCBjYWNoZSBtYmVhbiBnZXRTaXplIChDQVNTQU5EUkEtMjc4MSkKICogQWQfIvvoAAABT948slwAEERSQS0yNzcxKQogKiBtYWsAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILR0AAAEAU0FORFJBLTM3NjIpCiAqIHVwZGF0ZSBNUyBwcm90b2NvbCB3aXRoIGEgdmVyc2lvbiBoYW5kc2hha2UgKyBicm9hZGNhc3QgYWRkcmVzcyBpZAogICAoQ0FTU0FORFJBLTQzMTEpCiAqIG11bHRpdGhyZWFkZWQgaGludCByZXBsYXkgKENBU1NBTkRSQS00MTg5KQogKiBhZGQgaW50ZXItbm9kZSBtZXNzYWdlIGNvbXByZXNzaW9uIChDQVNTQU5EUkEtMzEyNykKICogcmVtb3ZlIENPUFAgKENBU1NBTkRSQS0yNDc5KQogKiBUcmFjayB0b21ic3RvbmUgZToQJZgAAAFP3jyyXAAQaW5nIGxldmVsIGF0IHJ1bgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtHQAAAQAgZGVmYXVsdHMgKENBU1NBTkRSQS03MTM5KQogKiBBZGQgUG93ZXJTaGVsbCBXaW5kb3dzIGxhdW5jaCBzY3JpcHRzIChDQVNTQU5EUkEtNzAwMSkKICogTWFrZSBjb21taXRsb2cgYXJjaGl2ZStyZXN0b3JlIG1vcmUgcm9idXN0IChDQVNTQU5EUkEtNjk3NCkKICogRml4IG1hcmtpbmcgY29tbWl0bG9nc2VnbWVudHMgY2xlYW4gKENBU1NBTkRSQS02OTU5KQogKiBBZGQgc25hcHNob3QgIm1hbmlmZXN0IiBkZXNjcmliaW5nIGZpbGVzIGluY2x1ZGVkIasCqQAAAU/ePLJcABAtMTY5NCkKICogYWRkIGZyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0dAAABAG5pZmVzdCBhZ2FpbiAoQ0FTU0FORFJBLTg0MzIpCiAqIENoZWNrIGZpcnN0L2xhc3Qga2V5cyBpbiBzc3RhYmxlIHdoZW4gZ2l2aW5nIG91dCBwb3NpdGlvbnMgKENBU1NBTkRSQS04NDU4KQogKiBEaXNhYmxlIG1tYXAgb24gV2luZG93cyAoQ0FTU0FORFJBLTY5OTMpCiAqIEFkZCBtaXNzaW5nIENvbnNpc3RlbmN5TGV2ZWxzIHRvIGNhc3NhbmRyYS1zdHJlc3MgKENBU1NBTkRSQS04MjUzKQogKiBBZGQgYXV0aCBzdXBwb3J0IHRvIGNhc3NhbmRyYS1/2j/xAAABT948slwAEChDQVNTQU5EUkEtMzg4MikAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILR0AAAEAaGFuY2UnIGluIENvbXByZXNzaW9uUGFyYW1ldGVycyB0byBzdXBwb3J0CiAgIGEgY2hlY2tzdW0gcGVyY2VudGFnZSBjaGVja2luZyBjaGFuY2Ugc2ltaWxhcmx5IHRvIHJlYWQtcmVwYWlyIChDQVNTQU5EUkEtMzYxMSkKICogYSB3YXkgdG8gZGVhY3RpdmF0ZSBnbG9iYWwga2V5L3JvdyBjYWNoZSBvbiBwZXItQ0YgYmFzaXMgKENBU1NBTkRSQS0zNjY3KQogKiBmaXggTGV2ZWxlZENvbXBhY3Rpb25TdHJhdGVneSBicm9rZW4gYmVjYXVzZSBvZiBnZX6phsIAAAFP3jyyXAAQcnJvcnMgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtHQAAAQAgYmFja2VkIGNvbHVtbiBtYXAgcGx1Z2dhYmxlIGFuZCBpbnRyb2R1Y2UgdW5zeW5jaHJvbml6ZWQKICAgQXJyYXlMaXN0IGJhY2tlZCBvbmUgdG8gc3BlZWR1cCByZWFkcyAoQ0FTU0FORFJBLTI4NDMsIDMxNjUsIDMyMDUpCiAqIHJlZmFjdG9yaW5nIG9mIHRoZSBzZWNvbmRhcnkgaW5kZXggYXBpIChDQVNTQU5EUkEtMjk4MikKICogbWFrZSBDTCA+IE9ORSByZWFkcyB3YWl0IGZvciBkaWdlc3QgcmVjb25jaWxpYXRpb24gYmVmb3JlIHJldHVybmlujDvj6QAL2xNxUfb0AAABT948slwAEGtleXNwYWNlIChDQVNTQU4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILSMAAAEANzI4KQogKiBGaXggbG9hZGluZyBrZXkgY2FjaGUgd2hlbiBhIHNhdmVkIGVudHJ5IGlzIG5vIGxvbmdlciB2YWxpZCAoQ0FTU0FORFJBLTU3MDYpCiAqIEZpeCBzZXJpYWxpemF0aW9uIG9mIHRoZSBMRUZUIGdvc3NpcCB2YWx1ZSAoQ0FTU0FORFJBLTU2OTYpCiAqIGNxbHNoOiBEb24ndCBzaG93ICdudWxsJyBpbiBwbGFjZSBvZiBlbXB0eSB2YWx1ZXMgKENBU1NBTkRSQS01Njc1KQogKiBSYWNlIGNvbmRpdGlvbiBpbiBkZXRlY3RpbmcgdmVyc2lvbmp7oDkAAAFP3jyyXAAQaXggcmFjZXMgZGVhbGluZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtIwAAAQBwIGluIEwxIChDQVNTQU5EUkEtNTkwNykKICogTmV3IHNzdGFibGVzcGxpdCB0b29sIHRvIHNwbGl0IGxhcmdlIHNzdGFibGVzIG9mZmxpbmUgKENBU1NBTkRSQS00NzY2KQogKiBGaXggcG90ZW50aWFsIGRlYWRsb2NrIGluIG5hdGl2ZSBwcm90b2NvbCBzZXJ2ZXIgKENBU1NBTkRSQS01OTI2KQogKiBEaXNhbGxvdyBpbmNvbXBhdGlibGUgdHlwZSBjaGFuZ2UgaW4gQ1FMMyAoQ0FTU0FORFJBLTU4ODIpCk1lcmdlZCBmcm9tIDEuMToKICogQ29ycmVjyXFQEAAAAU/ePLJcABAgYmF0Y2hsb2cgcmVwbGljAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0kAAABAGUgaXQgcG9zc2libGUgdG8gZGVzY3JpYmUgdGhyaWZ0IENGcyAoQ0FTU0FORFJBLTQ4MjcpCiAqIGNxbHNoOiBmaXggdGltZXN0YW1wIGZvcm1hdHRpbmcgb24gc29tZSBwbGF0Zm9ybXMgKENBU1NBTkRSQS01MDQ2KQoKCjEuMi1iZXRhMwogKiBtYWtlIGNvbnNpc3RlbmN5IGxldmVsIGNvbmZpZ3VyYWJsZSBpbiBjcWxzaCAoQ0FTU0FORFJBLTQ4MjkpCiAqIGZpeCBjcWxzaCByZW5kZXJpbmcgb2YgYmxvYiBmaWVsZHMgKENBU1NBTkRSQS00OTcwKQp+l3H+AAABT948slwAECAoQ0FTU0FORFJBLTc5NSkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILSQAAAEAIENxbFBhZ2luZ1JlY29yZFJlYWRlciBhbmQgQ3FsUmVjb3JkV3JpdGVyIAogICAoQ0FTU0FORFJBLTU4MjQpCiAqIHVwZGF0ZSBkZWZhdWx0IExDUyBzc3RhYmxlIHNpemUgdG8gMTYwTUIgKENBU1NBTkRSQS01NzI3KQogKiBBbGxvdyBjb21wYWN0aW5nIDJJcyB2aWEgbm9kZXRvb2wgKENBU1NBTkRSQS01NjcwKQogKiBIZXgtZW5jb2RlIG5vbi1TdHJpbmcga2V5cyBpbiBPUFAgKENBU1NBTkRSQS01NzkzKQogKiBub2RldG9vbCBoaXN0b3J5IGxvZ/6QmSoAAAFP3jyyXAAQciBKTVggKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtJAAAAQBvbWJzdG9uZSBoYW5kbGluZyBpbiByZXBhaXIgYW5kIHNzdGFibGUyanNvbiAoQ0FTU0FORFJBLTIyNzkpCiAqIHByZXNlcnZlIHZlcnNpb24gd2hlbiBzdHJlYW1pbmcgZGF0YSBmcm9tIG9sZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTIyODMpCiAqIGRvbid0IHN0YXJ0IHJlcGFpciBpZiBhIG5laWdoYm9yaW5nIG5vZGUgaXMgbWFya2VkIGFzIGRlYWQgKENBU1NBTkRSQS0yMjkwKQogKiBwdXJnZSB0b21ic3RvbmVzIGZyb20gcm93IGNhY2hlIChDQVNTgaAjNAAAAU/ePLJcABAgaW5zdWZmaWNpZW50IGxpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0kAAABAGljIEhhZG9vcCBtYXAvcmVkdWNlIHN1cHBvcnQgKENBU1NBTkRSQS0zNDIpCgoKMC41LjEKICogZW5zdXJlIGFsbCBmaWxlcyBmb3IgYW4gc3N0YWJsZSBhcmUgc3RyZWFtZWQgdG8gdGhlIHNhbWUgZGlyZWN0b3J5LgogICAoQ0FTU0FORFJBLTcxNikKICogbW9yZSBhY2N1cmF0ZSBsb2FkIGVzdGltYXRlIGZvciBib290c3RyYXBwaW5nIChDQVNTQU5EUkEtNzYyKQogKiB0b2xlcmF0ZSBkZWFkIG9yIHVuYXZhaWxhYmxlIGJvb3RzdHJhcCB0YXJnZXRjDiTyAAABT948slwAEFNTQU5EUkEtODI4MSkKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILSQAAAEAIHJvd3MgaW50byBtZW1vcnkgZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS0xNikKICogYWRkZWQgaGFkb29wIE91dHB1dEZvcm1hdCAoQ0FTU0FORFJBLTExMDEpCiAqIGVmZmljaWVudCBTdHJlYW1pbmcgKG5vIG1vcmUgYW50aWNvbXBhY3Rpb24pIChDQVNTQU5EUkEtNTc5KQogKiBzcGxpdCBjb21taXRsb2cgaGVhZGVyIGludG8gc2VwYXJhdGUgZmlsZSBhbmQgYWRkIHNpemUgY2hlY2tzdW0gdG8KICAgbXV0YXRpb25zIChDQVNTQU5EUkEtMbnkHpUAAAFP3jyyXAAQQ0FTU0FORFJBLTQ5MTApCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtJAAAAQBxbDMpIEFkZCBzdXBwb3J0IGZvciBzZXQsIG1hcCBhbmQgbGlzdCAoQ0FTU0FORFJBLTM2NDcpCiAqIFZhbGlkYXRlIGRhdGUgdHlwZSBjb3JyZWN0bHkgKENBU1NBTkRSQS00NDQxKQogKiAoY3FsMykgQWxsb3cgZGVmaW5pdGlvbnMgd2l0aCBvbmx5IGEgUEsgKENBU1NBTkRSQS00MzYxKQogKiAoY3FsMykgQWRkIHN1cHBvcnQgZm9yIHJvdyBrZXkgY29tcG9zaXRlcyAoQ0FTU0FORFJBLTQxNzkpCiAqIGltcHJvdmUgRHluYW1pY0VuZHBvaW50U25pV2NW0AAAAU/ePLJcABAKICAgYnkgdXNpbmcgc21hAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0kAAABAGluIHBhdGhvbG9naWNhbCBjYXNlcyAoQ0FTU0FORFJBLTgwNCkKICogYmFzaWMgSGFkb29wIG1hcC9yZWR1Y2Ugc3VwcG9ydCAoQ0FTU0FORFJBLTM0MikKCgowLjUuMQogKiBlbnN1cmUgYWxsIGZpbGVzIGZvciBhbiBzc3RhYmxlIGFyZSBzdHJlYW1lZCB0byB0aGUgc2FtZSBkaXJlY3RvcnkuCiAgIChDQVNTQU5EUkEtNzE2KQogKiBtb3JlIGFjY3VyYXRlIGxvYWQgZXN0aW1hdGUgZm9yIGJvb3RzdHJhcHBpbmcgKENBU1NBTkRSQS03NjIpCiAqIHRVMxtIAAABT948slwAEDcpCiAqIGFkZCBKVk0gc2gAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILSQAAAEAODQpCiAqIGZpeCBpbmNvbXBsZXRlIHRvcG9sb2d5IGluZm9ybWF0aW9uIGluIGRlc2NyaWJlX3JpbmcgKENBU1NBTkRSQS0zNDAzKQogKiBleHBpcmUgZGVhZCBnb3NzaXAgc3RhdGVzIGJhc2VkIG9uIHRpbWUgKENBU1NBTkRSQS0yOTYxKQogKiBpbXByb3ZlIENvbXBhY3Rpb25UYXNrIGV4dGVuc2liaWxpdHkgKENBU1NBTkRSQS0zMzMwKQogKiBBbGxvdyBvbmUgbGV2ZWxlZCBjb21wYWN0aW9uIHRhc2sgdG8ga2ljayBvZmYgYW5vdGhlciAoQ0FTU11STzgAAAFP3jyyXAAQbXMgKENBU1NBTkRSQS02NAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtJAAAAQBmaXggTlBFIGluIHNzdGFibGUyanNvbiB3aGVuIG5vIGV4Y2x1ZGVkIGtleXMgYXJlIGdpdmVuIChDQVNTQU5EUkEtOTM0KQogKiBrZWVwIHRoZSByZXBsaWNhIHNldCBjb25zdGFudCB0aHJvdWdob3V0IHRoZSByZWFkIHJlcGFpciBwcm9jZXNzCiAgIChDQVNTQU5EUkEtOTM3KQogKiBhbGxvdyBxdWVyeWluZyBnZXRBbGxSYW5nZXMgd2l0aCBlbXB0eSB0b2tlbiBsaXN0IChDQVNTQU5EUkEtOTMzKQogKiBmaXggY29tbWFuZCBsaW5lIGFyZ3VtZW50HLDZigAAAU/ePLJcABB1bWJlckZvcm1hdEV4Y2VwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0kAAABACAgaXMgcmVxdWVzdGVkIChDQVNTQU5EUkEtMTg2NikKICogZmx1c2ggYmVmb3JlIHJlcGFpciAoQ0FTU0FORFJBLTE3NDgpCiAqIFNTVGFibGVFeHBvcnQgdmFsaWRhdGVzIGtleSBvcmRlciAoQ0FTU0FORFJBLTE4ODQpCiAqIGxhcmdlIHJvdyBzdXBwb3J0IGZvciBTU1RhYmxlRXhwb3J0IChDQVNTQU5EUkEtMTg2NykKICogUmUtY2FjaGUgaG90IGtleXMgcG9zdC1jb21wYWN0aW9uIHdpdGhvdXQgaGl0dGluZyBkaXNrIChDQVNTQU5EUkEtMTg3OCmr+7YjAAABT948slwAEGVwYWlyIHJhbmdlIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILSQAAAEAYmUgZXZlbiBpZiBuYW1lZCBleHBsaWNpdGVseSAKICAgKENBU1NBTkRSQS01NzUwKQogKiBJbnZhbGlkYXRlIHJvdyBjYWNoZSB3aGVuIGRyb3BwaW5nIENGIChDQVNTQU5EUkEtNjM1MSkKICogYWRkIG5vbi1qYW1tIHBhdGggZm9yIGNhY2hlZCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNjI5MykKICogYWRkIHdpbmRvd3MgYmF0IGZpbGVzIGZvciBzaGVsbCBjb21tYW5kcyAoQ0FTU0FORFJBLTYxNDUpCiAqIFJlcXVpcmUgbG9nZ2luZyBpbiBmb3IgVP5hGE0AAAFP3jyyXAAQdWRpbmcgdXNlci1kZWZpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtJAAAAQApCiAqIGFkZCB0aW1lIHJlbWFpbmluZyBlc3RpbWF0ZSB0byBub2RldG9vbCBjb21wYWN0aW9uc3RhdHMgKENBU1NBTkRSQS00MTY3KQogKiAoY3FsKSBmaXggTlBFIGluIGNxbDMgQUxURVIgVEFCTEUgKENBU1NBTkRSQS00MTYzKQogKiAoY3FsKSBBZGQgc3VwcG9ydCBmb3IgQ0wuVFdPIGFuZCBDTC5USFJFRSBpbiBDUUwgKENBU1NBTkRSQS00MTU2KQogKiAoY3FsKSBGaXggdHlwZSBpbiBDUUwzIEFMVEVSIFRBQkxFIHByZXZlbnRpbmcgdXBkYXRl3fsZGwAAAU/ePLJcABByZW1lbnQgKENBU1NBTkRSAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0kAAABADg5KQogKiBjYXNzYW5kcmEtc3RyZXNzIHN1cHBvcnQgZm9yIHZhcmludCAoQ0FTU0FORFJBLTg4ODIpCiAqIEZpeCBBZGxlcjMyIGRpZ2VzdCBmb3IgY29tcHJlc3NlZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTg3NzgpCiAqIEFkZCBub2RldG9vbCBzdGF0dXNoYW5kb2ZmL3N0YXR1c2JhY2t1cCAoQ0FTU0FORFJBLTg5MTIpCiAqIFVzZSBzdGRvdXQgZm9yIHByb2dyZXNzIGFuZCBzdGF0cyBpbiBzc3RhYmxlbG9hZGVyIChDQVNTQU5EUkEtODk4MikKICrEwf4yAAvvcCiBzY8AAAFP3jyyXAAQOTYpCiAqIChIYWRvb3ApIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtJgAAAQA4KQogKiBmaXggbWF0aCBpbiBSYW5kb21QYXJ0aXRpb25lci5kZXNjcmliZU93bmVyc2hpcCAoQ0FTU0FORFJBLTIwNzEpCiAqIGZpeCBkZWxldGlvbiBvZiBzc3RhYmxlIG5vbi1kYXRhIGNvbXBvbmVudHMgKENBU1NBTkRSQS0yMDU5KQogKiBhdm9pZCBibG9ja2luZyBnb3NzaXAgd2hpbGUgZGVsZXRpbmcgaGFuZG9mZiBoaW50cyAoQ0FTU0FORFJBLTIwNzMpCiAqIGlnbm9yZSBtZXNzYWdlcyBmcm9tIG5ld2VyIHZlcnNpb25zLCBrZWVwIHRyYWNrBdapjgAAAU/ePLJcABBzZXJ2ZXJzIGNvcnJlY3RsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0mAAABAGFibGUgdmVyc2lvbiAoQ0FTU0FORFJBLTQwNzcpCiAqIFJlc3BlY3QgMS4wIGNhY2hlIHNldHRpbmdzIGFzIG11Y2ggYXMgcG9zc2libGUgd2hlbiB1cGdyYWRpbmcgCiAgIChDQVNTQU5EUkEtNDA4OCkKICogcmVsYXggcGF0aCBsZW5ndGggcmVxdWlyZW1lbnQgZm9yIHNzdGFibGUgZmlsZXMgd2hlbiB1cGdyYWRpbmcgb24gCiAgIG5vbi1XaW5kb3dzIHBsYXRmb3JtcyAoQ0FTU0FORFJBLTQxMTApCiAqIGZpeCB0ZXJtaW5pbmF0aW9uIG9mIHRoZSCJ5C0fAAABT948slwAEHRpZ2V0X2NvdW50IChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILSYAAAEATkRSQS02NjQ3KQoKCjIuMC40CiAqIEFsbG93IHJlbW92aW5nIHNuYXBzaG90cyBvZiBuby1sb25nZXItZXhpc3RpbmcgQ0ZzIChDQVNTQU5EUkEtNjQxOCkKICogYWRkIFN0b3JhZ2VTZXJ2aWNlLnN0b3BEYWVtb24oKSAoQ0FTU0FORFJBLTQyNjgpCiAqIGFkZCBJUkUgZm9yIGludmFsaWQgQ0Ygc3VwcGxpZWQgdG8gZ2V0X2NvdW50IChDQVNTQU5EUkEtNTcwMSkKICogYWRkIGNsaWVudCBlbmNyeXB0aW9uIHN1cHBvcnQgdG8gc3N0YWJsZWxvYWRlctPdsIAAAAFP3jyyXAAQIFVwZ3JhZGUgamF2YS1kcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtJgAAAQBEUkEtNDg3NikKICogb2ZmLWhlYXAgYmxvb20gZmlsdGVycyBmb3Igcm93IGtleXMgKENBU1NBTkRSQV80ODY1KQogKiBhZGQgZXh0ZW5zaW9uIHBvaW50IGZvciBzc3RhYmxlIGNvbXBvbmVudHMgKENBU1NBTkRSQS00MDQ5KQogKiBpbXByb3ZlIHRyYWNpbmcgb3V0cHV0IChDQVNTQU5EUkEtNDg1MiwgNDg2MikKICogbWFrZSBUUkFDRSB2ZXJiIGRyb3BwYWJsZSAoQ0FTU0FORFJBLTQ2NzIpCiAqIGZpeCBCdWxrTG9hZGVyIHJlY29nbml0aW9uIG9mm7t/2QAAAU/ePLJcABBjaW5nIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0mAAABAERSQS02NjU5KQogKiBUcmFjayBsaXZlUmF0aW8gcGVyLW1lbXRhYmxlLCBub3QgcGVyLUNGIChDQVNTQU5EUkEtNjk0NSkKICogTWFrZSBzdXJlIHVwZ3JhZGVzc3RhYmxlcyBrZWVwcyBzc3RhYmxlIGxldmVsIChDQVNTQU5EUkEtNjk1OCkKICogRml4IExJTUlUIHdpdGggc3RhdGljIGNvbHVtbnMgKENBU1NBTkRSQS02OTU2KQogKiBGaXggY2xhc2ggd2l0aCBDUUwgY29sdW1uIG5hbWUgaW4gdGhyaWZ0IHZhbGlkYXRpb24gKENBU1NBTkRSQS02ODmmhrDSAAABT948slwAEGljIChDUUwzKSAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILSYAAAEAbXByb3ZlIGJhdGNobG9nIHdyaXRlIHBlcmZvcm1hbmNlIHdpdGggdm5vZGVzIChDQVNTQU5EUkEtNjQ4OCkKICogY3Fsc2g6IHF1b3RlIHNpbmdsZSBxdW90ZXMgaW4gc3RyaW5ncyBpbnNpZGUgY29sbGVjdGlvbnMgKENBU1NBTkRSQS02MTcyKQogKiBJbXByb3ZlIGdvc3NpcCBwZXJmb3JtYW5jZSBmb3IgdHlwaWNhbCBtZXNzYWdlcyAoQ0FTU0FORFJBLTY0MDkpCiAqIFRocm93IElSRSBpZiBhIHByZXBhcmVkIHN0YXRlbWVudCBoYXMgbW9yZSBtYfPvfdYAAAFP3jyyXAAQY2NlcHQgYWxsIHRocmlmdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtJgAAAQBzIGZvciBhbiB1bmtub3duIGtleXNwYWNlIChDQVNTQU5EUkEtNzY4OSkKICogQWRkIHN1cHBvcnQgZm9yIGN1c3RvbSAyaSB2YWxpZGF0aW9uIChDQVNTQU5EUkEtNzU3NSkKICogUGlnIHN1cHBvcnQgZm9yIGhhZG9vcCBDcWxJbnB1dEZvcm1hdCAoQ0FTU0FORFJBLTY0NTQpCiAqIEFkZCBsaXN0ZW5faW50ZXJmYWNlIGFuZCBycGNfaW50ZXJmYWNlIG9wdGlvbnMgKENBU1NBTkRSQS03NDE3KQogKiBJbXByb3ZlIHNjaGVtYSBtZXJnZSBwZXJmb3JtLvlRnAAAAU/ePLJcABBTQU5EUkEtMzU4MCkKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0mAAABAGVkIGFzIGRlYWQgKENBU1NBTkRSQS0yMjkwKQogKiBwdXJnZSB0b21ic3RvbmVzIGZyb20gcm93IGNhY2hlIChDQVNTQU5EUkEtMjMwNSkKICogQXZvaWQgc2Vla2luZyB3aGVuIHNzdGFibGUyanNvbiBleHBvcnRzIHRoZSBlbnRpcmUgZmlsZSAoQ0FTU0FORFJBLTIzMTgpCiAqIGNsZWFyIEJ1aWx0IGZsYWcgaW4gc3lzdGVtIHRhYmxlIHdoZW4gZHJvcHBpbmcgYW4gaW5kZXggKENBU1NBTkRSQS0yMzIwKQogKiBkb24ndCBhbGxvdyBhcmJpdHJhcnkNU16+AAABT948slwAECAgIGNhc3NhbmRyYS10b3AAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILSYAAAEAdm9pZCBjcmVhdGluZyBlbXB0eSBhbmQgbm9uIGNsZWFuZWQgd3JpdGVyIGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtMzYxNikKICogc3RvcCB0aHJpZnQgc2VydmljZSBpbiBzaHV0ZG93biBob29rIHNvIHdlIGNhbiBxdWllc2NlIE1lc3NhZ2luZ1NlcnZpY2UKICAgKENBU1NBTkRSQS0zMzM1KQogKiAoQ1FMKSBjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMgYW5kIGNvbXByZXNzaW9uX3BhcmFtZXRlcnMgZm9yCiAgIENSRUFURSBDT0xVTQAQ9k8AAAFP3jyyXAAQICdkZXNjcmliZSByaW5nJwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtJgAAAQBzY2hlbWEgdGFibGVzIChDQVNTQU5EUkEtNDQxNikKICogYWRkIGNoZWNrIHRvIFByb3BlcnR5RmlsZVNuaXRjaCB0byB2ZXJpZnkgcHJlc2VuY2Ugb2YgbG9jYXRpb24gZm9yCiAgIGxvY2FsIG5vZGUgKENBU1NBTkRSQS00NzI4KQogKiBhZGQgUEJTUHJlZGljdG9yIGNvbnNpc3RlbmN5IG1vZGVsZXIgKENBU1NBTkRSQS00MjYxKQogKiByZW1vdmUgdmVzdGlnZXMgb2YgVGhyaWZ0IHVuZnJhbWVkIG1vZGUgKENBU1NBTkRSQS00NzI5KQogKiBvcHRpYXKisAAAAU/ePLJcABBBU1NBTkRSQS0xNDY4KQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0mAAABAGN0aW9uIChDQVNTQU5EUkEtMTYpCiAqIGFkZGVkIGhhZG9vcCBPdXRwdXRGb3JtYXQgKENBU1NBTkRSQS0xMTAxKQogKiBlZmZpY2llbnQgU3RyZWFtaW5nIChubyBtb3JlIGFudGljb21wYWN0aW9uKSAoQ0FTU0FORFJBLTU3OSkKICogc3BsaXQgY29tbWl0bG9nIGhlYWRlciBpbnRvIHNlcGFyYXRlIGZpbGUgYW5kIGFkZCBzaXplIGNoZWNrc3VtIHRvCiAgIG11dGF0aW9ucyAoQ0FTU0FORFJBLTExNzkpCiAqIGF2b2lkIGFsbG9jYXRpbmcgYSBuZXfqiYcdAAABT948slwAEERSQS0yMzQ3KQogKiBlbnMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILScAAAEAVVNFIChDQVNTQU5EUkEtNTU2NykKTWVyZ2VkIGZyb20gMS4xCiAqIEFkZCByZXRyeSBtZWNoYW5pc20gdG8gT1RDIGZvciBub24tZHJvcHBhYmxlX3ZlcmJzIChDQVNTQU5EUkEtNTM5MykKICogVXNlIGFsbG9jYXRvciBpbmZvcm1hdGlvbiB0byBpbXByb3ZlIG1lbXRhYmxlIG1lbW9yeSB1c2FnZSBlc3RpbWF0ZQogICAoQ0FTU0FORFJBLTU0OTcpCiAqIEZpeCB0cnlpbmcgdG8gbG9hZCBkZWxldGVkIHJvdyBpbnRvIHJvdyBjYWNoZSBvbiBzdGFydDQUvzcAAAFP3jyyXAAQb2cgd2FybmluZyB3aGVuIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtJwAAAQBvbmVyIG93bmVyc2hpcCUgY2FsY3VsYXRpb24gKENBU1NBTkRSQS01MDc2KQogKiBEb24ndCBleHBpcmUgY29sdW1ucyBzb29uZXIgdGhhbiB0aGV5IHNob3VsZCBpbiAybmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTUwNzkpCgoKMS4yLXJjMQogKiByZW5hbWUgcnBjX3RpbWVvdXQgc2V0dGluZ3MgdG8gcmVxdWVzdF90aW1lb3V0IChDQVNTQU5EUkEtNTAyNykKICogYWRkIEJGIHdpdGggMC4xIEZQIHRvIExDUyBieSBkZWZhdWx0IChDQVNTQU5EUkEtbaismAAAAU/ePLJcABBlcmljCiAgIGFuZCBzdHJpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0nAAABAHcgdGhyb3VnaCBiYXRjaF9tdXRhdGUgRGVsZXRpb24gKENBU1NBTkRSQS0xMDI3KQogKiBhZGQgSk1YIG1ldHJpY3MgZm9yIHJvdy1sZXZlbCBibG9vbSBmaWx0ZXIgZmFsc2UgcG9zaXRpdmVzIChDQVNTQU5EUkEtMTIxMikKICogYWRkZWQgYSByZWRoYXQgaW5pdCBzY3JpcHQgdG8gY29udHJpYiAoQ0FTU0FORFJBLTEyMDEpCiAqIHVzZSBtaWRwb2ludCB3aGVuIGJvb3RzdHJhcHBpbmcgYSBuZXcgbWFjaGluZSBpbnRvIHJhbmdlIHdpdGggbm90CiD/zKD7AAABT948slwAEHhlcyAoQ0FTU0FORFJBLTYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILScAAAEAdGl0aHJlYWRlZCBjb21wYWN0aW9uIGRlYWRsb2NrIChDQVNTQU5EUkEtNDQ5MikKICogZml4IHRlbXBvcmFyaWx5IG1pc3Npbmcgc2NoZW1hIGFmdGVyIHVwZ3JhZGUgZnJvbSBwcmUtMS4xLjUgKENBU1NBTkRSQS01MDYxKQogKiBGaXggQUxURVIgVEFCTEUgb3ZlcnJpZGluZyBjb21wcmVzc2lvbiBvcHRpb25zIHdpdGggZGVmYXVsdHMKICAgKENBU1NBTkRSQS00OTk2LCA1MDY2KQogKiBmaXggc3BlY2lmeWluZyBhbmQgYWx0ZXJpbmcgY3JjX2NoZbM8zcAADAPNRxAOmgAAAU/ePLJcABA3NjA2KQogKiAoY3Fsc2gpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0pAAABACBsb2cgYnV0IGJlZm9yZSBuZXcgaW5zZXJ0cyBmb3JjZSBtZW10YWJsZSBmbHVzaC4KICAgKENBU1NBTkRSQS0yMDQpCiAqIEFkZGVkIEJVR1MgZmlsZQoKCjAuMy4wIFJDMQogKiBSYW5nZSBxdWVyaWVzIG9uIGtleXMsIGluY2x1ZGluZyB1c2VyLWRlZmluZWQga2V5IGNvbGxhdGlvbgogKiBSZW1vdmUgc3VwcG9ydAogKiBXb3JrYXJvdW5kcyBmb3IgYSB3ZWlyZCBidWcgaW4gSkRLIHNlbGVjdC9yZWdpc3RlciB0aGF0IHNlZW1zCiAgIHBhcnRpY3W7DOoyAAABT948slwAEHJvdyBjYWNoZSBkdXJpbmcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILSkAAAEAIHByb3BlcnRpZXMgKENBU1NBTkRSQS0yMzQzKQogKiBmaXggY29tcGFyYXRvciB1c2VkIGZvciBub24taW5kZXhlZCBzZWNvbmRhcnkgZXhwcmVzc2lvbnMgaW4gaW5kZXggc2NhbgogICAoQ0FTU0FORFJBLTIzNDcpCiAqIGVuc3VyZSBzaXplIGNhbGN1bGF0aW9uIGFuZCB3cml0ZSBwaGFzZSBvZiBsYXJnZS1yb3cgY29tcGFjdGlvbiB1c2UKICAgdGhlIHNhbWUgdGhyZXNob2xkIGZvciBUVEwgZXhwaXJhdGlvbiAoQ0FTU0FORFJBLTIzNDkpCiAqIJ+cx9UAAAFP3jyyXAAQZmF1bHQgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtKQAAAQBTQU5EUkEtMzQ0NikKICogYXV0b21hdGljYWxseSBjb21wdXRlIHNoYTEgc3VtIGZvciB1bmNvbXByZXNzZWQgZGF0YSBmaWxlcyAoQ0FTU0FORFJBLTM0NTYpCiAqIGZpeCByZWFkaW5nIG1ldGFkYXRhL3N0YXRpc3RpY3MgY29tcG9uZW50IGZvciB2ZXJzaW9uIDwgaCAoQ0FTU0FORFJBLTM0NzQpCiAqIGFkZCBzc3RhYmxlIGZvcndhcmQtY29tcGF0aWJpbGl0eSAoQ0FTU0FORFJBLTM0NzgpCiAqIHJlcG9ydCBjb21wcmVzc2lvbiByYXRpbyBpbiBDJcc9sgAAAU/ePLJcABBkZCBVbmF2YWlsYWJsZUV4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0pAAABAGl4IHBvc3NpYmxlIGRpdmlkZS1ieS16ZXJvIGluIEhIT00gKENBU1NBTkRSQS01OTkwKQogKiBBbGxvdyBsb2NhbCBiYXRjaGxvZyB3cml0ZXMgZm9yIENMLkFOWSAoQ0FTU0FORFJBLTU5NjcpCiAqIFVwZ3JhZGUgbWV0cmljcy1jb3JlIHRvIHZlcnNpb24gMi4yLjAgKENBU1NBTkRSQS01OTQ3KQogKiBGaXggQ3FsUmVjb3JkV3JpdGVyIHdpdGggY29tcG9zaXRlIGtleXMgKENBU1NBTkRSQS01OTQ5KQogKiBBZGQgc25pdGNoLCBzY2hlbWEgdmVyc2mOEYYfAAABT948slwAECBzdHJhdGVneV9vcHRpb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILSkAAAEAYWJsZXMKICAgYXJlIHRocm93biB3aGlsZSBoYW5kbGluZyBuYXRpdmUgcHJvdG9jb2wgbWVzc2FnZXMgKENBU1NBTkRSQS03NDcwKQogKiBGaXggcm93IHNpemUgbWlzY2FsY3VsYXRpb24gaW4gTGF6aWx5Q29tcGFjdGVkUm93IChDQVNTQU5EUkEtNzU0MykKICogRml4IHJhY2UgaW4gYmFja2dyb3VuZCBjb21wYWN0aW9uIGNoZWNrIChDQVNTQU5EUkEtNzc0NSkKICogRG9uJ3QgY2xlYXIgb3V0IHJhbmdlIHRvbWJzdG9uZXMgZHVyaW5nIGNvbXBhY3q7IogAAAFP3jyyXAAQIGNvcnJ1cHQga2V5IGNhYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtKQAAAQA2NykKICogZG9uJ3Qgc2FtcGxlIHRoZSBzeXN0ZW0gdGFibGUgd2hlbiBjaG9vc2luZyBhIGJvb3RzdHJhcCB0b2tlbgogICAoQ0FTU0FORFJBLTI4MjUpCiAqIGdvc3NpcGVyIG5vdGlmaWVzIG9mIGxvY2FsIHN0YXRlIGNoYW5nZXMgKENBU1NBTkRSQS0yOTQ4KQogKiBhZGQgYXN5bmNocm9ub3VzIGFuZCBoYWxmLXN5bmMvaGFsZi1hc3luYyAoaHNoYSkgdGhyaWZ0IHNlcnZlcnMgCiAgIChDQVNTQU5EUkEtMTQwNSkKICogZml4IHBvdGVudGlhbCB1TpxX7QAAAU/ePLJcABByZXBsYXkgYW5kIHdyaXRlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0pAAABAHJlIHRoYW4gMTI4IHNwbGl0cyBpbiBwYXJhbGxlbCAoQ0FTU0FORFJBLTYxNjkpCiAqIHN0cmVzczogYWRkIHVzZXJuYW1lL3Bhc3N3b3JkIGF1dGhlbnRpY2F0aW9uIHN1cHBvcnQgKENBU1NBTkRSQS02MDY4KQogKiBGaXggaW5kZXhlZCBxdWVyaWVzIHdpdGggcm93IGNhY2hlIGVuYWJsZWQgb24gcGFyZW50IHRhYmxlIChDQVNTQU5EUkEtNTczMikKICogRml4IGNvbXBhY3Rpb24gcmFjZSBkdXJpbmcgY29sdW1uZmFtaWx5IGRyb3AgKENBU1NBTkRz1odpAAABT948slwAEG1lbnQgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILSkAAAEAQS03NTI0KQogKiBGaXggTlBFIHdoZW4gdGFibGUgZHJvcHBlZCBkdXJpbmcgc3RyZWFtaW5nIChDQVNTQU5EUkEtNzk0NikKICogRml4IHdyb25nIHByb2dyZXNzIHdoZW4gc3RyZWFtaW5nIHVuY29tcHJlc3NlZCAoQ0FTU0FORFJBLTc4NzgpCiAqIEZpeCBwb3NzaWJsZSBpbmZpbml0ZSBsb29wIGluIGNyZWF0aW5nIHJlcGFpciByYW5nZSAoQ0FTU0FORFJBLTc5ODMpCiAqIEZpeCB1bml0IGluIG5vZGV0b29sIGZvciBzdHJlYW1pbmcgdGhyb3VnaE9dPQ0AAAFP3jyyXAAQIGNvcHkgb2YgdGhlIGZvcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtKQAAAQB0aW9uIHN1cHBvcnQgdG8gc3N0YWJsZWxvYWRlciAoQ0FTU0FORFJBLTYzNzgpCiAqIEZpeCBhY2NlcHQoKSBsb29wIGZvciBTU0wgc29ja2V0cyBwb3N0LXNodXRkb3duIChDQVNTQU5EUkEtNjQ2OCkKICogRml4IHNpemUtdGllcmVkIGNvbXBhY3Rpb24gaW4gTENTIEwwIChDQVNTQU5EUkEtNjQ5NikKICogRml4IGFzc2VydGlvbiBmYWlsdXJlIGluIGZpbHRlckNvbGRTU1RhYmxlcyAoQ0FTU0FORFJBLTY0ODMpCiAqIEZpeCByb3cgdG9tYnN0b25lDgzvRAAAAU/ePLJcABAKICogKENRTDMpIERvbid0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0pAAABACkKICogYWRkIG9wdGlvbmFsIGxvZ2luKCkgVGhyaWZ0IGNhbGwgZm9yIGF1dGhlbnRpY2F0aW9uIChDQVNTQU5EUkEtNTQ3KQogKiBzdXBwb3J0IGZhdCBjbGllbnRzIHVzaW5nIGdvc3NpcGVyIGFuZCBTdG9yYWdlUHJveHkgdG8gcGVyZm9ybQogICByZXBsaWNhdGlvbiBpbi1wcm9jZXNzIFtqdm0tb25seV0gKENBU1NBTkRSQS01MzUpCiAqIHN1cHBvcnQgbW1hcHBlZCBJL08gZm9yIHJlYWRzLCBvbiBieSBkZWZhdWx0IG9uIDY0Yml0IEpWTXMgCiCzCfFXAAABT948slwAEGFyZSBhbHRlcmVkIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILSkAAAEAIFJWSCBjYXVzaW5nIG9jY2FzaW9uYWwgTlBFIChDQVNTQU5EUkEtNDc4KQoKCjAuNC4wCiAqIGZpeCBnZXRfa2V5X3JhbmdlIHByb2JsZW1zIHdoZW4gYSBub2RlIGlzIGRvd24gKENBU1NBTkRSQS00NDApCiAgIGFuZCBhZGQgVW5hdmFpbGFibGVFeGNlcHRpb24gdG8gbW9yZSBUaHJpZnQgbWV0aG9kcwogKiBBZGQgZXhhbXBsZSBFbmRQb2ludFNuaXRjaCBjb250cmliIGNvZGUgKHNldmVyYWwgdGlja2V0cykKCgowLjQuMCBSQzIKICogZml4IFNTVCioc0AAAAFP3jyyXAAQbiBvYnNvbGV0ZSB2ZXJzaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtKQAAAQBzdXBwb3J0IHRvIEhhZG9vcCBJbnB1dEZvcm1hdCAoQ0FTU0FORFJBLTI5ODEpCiAqIGZpeCBidWcgd2hlcmUgZGlydHkgY29tbWl0bG9nIHNlZ21lbnRzIHdlcmUgcmVtb3ZlZCAoYW5kIGF2b2lkIGtlZXBpbmcgCiAgIHNlZ21lbnRzIHdpdGggbm8gcG9zdC1mbHVzaCBhY3Rpdml0eSBwZXJtYW5lbnRseSBkaXJ0eSkgKENBU1NBTkRSQS0yODI5KQogKiBmaXggdGhyb3dpbmcgZXhjZXB0aW9uIHdpdGggYmF0Y2ggbXV0YXRpb24gb2YgY291bnRlciBzAmJw5QAAAU/ePLJcABBlcmF0aW9uIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0pAAABAGUgcmV0dXJuaW5nIG9ubHkgYSBzdWJzZXQgb2YKICAgc3ViY29sdW1ucyBvciBvbGQgc3ViY29sdW1uIHZlcnNpb25zIChDQVNTQU5EUkEtMzQ0NikKICogYXV0b21hdGljYWxseSBjb21wdXRlIHNoYTEgc3VtIGZvciB1bmNvbXByZXNzZWQgZGF0YSBmaWxlcyAoQ0FTU0FORFJBLTM0NTYpCiAqIGZpeCByZWFkaW5nIG1ldGFkYXRhL3N0YXRpc3RpY3MgY29tcG9uZW50IGZvciB2ZXJzaW9uIDwgaCAoQ0FTU0FORFJBLTM0NzQpCiAqIGFkZCBzc3RhYmymCSveAAABT948slwAEChDQVNTQU5EUkEtNzMyNSkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILSkAAAEAaG90IHJlc3BvbnNlIG1lc3NhZ2UgdmVyYiB0byBJTlRFUk5BTCB0byBhdm9pZCBkcm9wcGluZyBpdCAKICAgKENBU1NBTkRSQS02NDE1KQogKiBXYXJuIHdoZW4gY29sbGVjdGlvbiByZWFkIGhhcyA+IDY1SyBlbGVtZW50cyAoQ0FTU0FORFJBLTU0MjgpCiAqIEZpeCBjYWNoZSBwZXJzaXN0ZW5jZSB3aGVuIGJvdGggcm93IGFuZCBrZXkgY2FjaGUgYXJlIGVuYWJsZWQgCiAgIChDQVNTQU5EUkEtNjQxMykKICogKEhhZG9vcCkgYWRkIGRlc2NyaWJlX+n/SZcAAAFP3jyyXAAQdmUgaW5zZXJ0IGNvbmN1cgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtKQAAAQBjdG9yIGxvZ3MgKENBU1NBTkRSQS0xNTU4KQogKiBlbmFibGUvZGlzYWJsZSBIaW50ZWRIYW5kb2ZmIHZpYSBKTVggKENBU1NBTkRSQS0xNTUwKQogKiBJZ25vcmUgc3RyYXkgZmlsZXMgaW4gdGhlIGNvbW1pdCBsb2cgZGlyZWN0b3J5IChDQVNTQU5EUkEtMTU0NykKICogRGlzYWxsb3cgYm9vdHN0cmFwIHRvIGFuIGluLXVzZSB0b2tlbiAoQ0FTU0FORFJBLTE1NjEpCgoKMC43LWJldGExCiAqIHNzdGFibGUgdmVyc2lvbmluZyAoQ0FTU0FORFJBLTM4o23zhAAMGCoFRGvOAAABT948slwAEChjcWwpIEZpeCB0eXBlIGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILS0AAAEAKiBQdXNoIGNvbXBvc2l0ZXMgc3VwcG9ydCBpbiB0aGUgc3RvcmFnZSBlbmdpbmUKICAgKENBU1NBTkRSQS01NDE3LCBDQVNTQU5EUkEtNjUyMCkKICogQWRkIHNuYXBzaG90IHNwYWNlIHVzZWQgdG8gY2ZzdGF0cyAoQ0FTU0FORFJBLTYyMzEpCiAqIEFkZCBjYXJkaW5hbGl0eSBlc3RpbWF0b3IgZm9yIGtleSBjb3VudCBlc3RpbWF0aW9uIChDQVNTQU5EUkEtNTkwNikKICogQ0YgaWQgaXMgY2hhbmdlZCB0byBiZSBub24tZGV0ZXJtaW5pc3RpYy4gRN2emt4AAAFP3jyyXAAQNCkKTWVyZ2VkIGZyb20gMQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtLQAAAQBvcmUubG9hZE5ld1NTVGFibGVzIChDQVNTQU5EUkEtNjUxNCkKICogQWRkIHN1cHBvcnQgZm9yIERFTEVURSAuLi4gSUYgRVhJU1RTIHRvIENRTDMgKENBU1NBTkRSQS01NzA4KQogKiBVcGRhdGUgaGFkb29wX2NxbDNfd29yZF9jb3VudCBleGFtcGxlIChDQVNTQU5EUkEtNjc5MykKICogRml4IGhhbmRsaW5nIG9mIFJlamVjdGVkRXhlY3V0aW9uIGluIHN5bmMgVGhyaWZ0IHNlcnZlciAoQ0FTU0FORFJBLTY3ODgpCiAqIExvZyBtb3JlIGluZm9ybWF0zdcB/AAAAU/ePLJcABBlbnQgd2hlbiBzcGVjaWZ5AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0tAAABAF9wYXJ0aXRpb25lciBUaHJpZnQgbWV0aG9kIChDQVNTQU5EUkEtMTA0NykKICogSGFkb29wIGpvYnMgbm8gbG9uZ2VyIHJlcXVpcmUgdGhlIENhc3NhbmRyYSBzdG9yYWdlLWNvbmYueG1sCiAgIChDQVNTQU5EUkEtMTI4MCwgQ0FTU0FORFJBLTEwNDcpCiAqIGxvZyB0aHJlYWQgcG9vbCBzdGF0cyB3aGVuIEdDIGlzIGV4Y2Vzc2l2ZSAoQ0FTU0FORFJBLTEyNzUpCiAqIHJlbW92ZSBnb3NzaXAgbWVzc2FnZSBzaXplIGxpbWl0IChDQVNTQU5EUkEtMTHvVtN0AAABT948slwAEG9DbG9zZWFibGUgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILS0AAAEAY2VuYXJpbyAoQ0FTU0FORFJBLTgyMikKICogQWRkIFJvd1dhcm5pbmdUaHJlc2hvbGRJbk1CIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIHdhcm4gYmVmb3JlIHZlcnkgCiAgIGxhcmdlIHJvd3MgZ2V0IGJpZyBlbm91Z2ggdG8gdGhyZWF0ZW4gbm9kZSBzdGFiaWxpdHksIGFuZCAteCBvcHRpb24gdG8KICAgYmUgYWJsZSB0byByZW1vdmUgdGhlbSB3aXRoIHNzdGFibGUyanNvbiBpZiB0aGUgd2FybmluZyBpcyB1bmhlZWRlZAogICB1bnRpbCBpdCdzIPN+vqsAAAFP3jyyXAAQdHJlc3MgdG8gdXNlIElUcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtLQAAAQBvdyB0b21ic3RvbmVzIGNvcnJlY3RseSBpbiBFY2hvZWRSb3cgKENBU1NBTkRSQS0yNzg2KQogKiBhZGQgTWVzc2FnaW5nU2VydmljZS5nZXRbUmVjZW50bHldRHJvcHBlZE1lc3NhZ2VzIGFuZAogICBTdG9yYWdlU2VydmljZS5nZXRFeGNlcHRpb25Db3VudCAoQ0FTU0FORFJBLTI4MDQpCiAqIGZpeCBwb3NzaWJpbGl0eSBvZiBzcHVyaW91cyBVbmF2YWlsYWJsZUV4Y2VwdGlvbiBmb3IgTE9DQUxfUVVPUlVNCiAgIHJlYWRzIHdpdGggZHluYW1pYyBzoGU0vwAAAU/ePLJcABAtNDMxNCkKCgoxLjEuMQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0tAAABAG5kIChDQVNTQU5EUkEtNjIyOCkKTWVyZ2VkIGZyb20gMS4yOgogKiAoSGFkb29wKSBSZXF1aXJlIENGUlIgYmF0Y2hTaXplIHRvIGJlIGF0IGxlYXN0IDIgKENBU1NBTkRSQS02MTE0KQogKiBBZGQgYSB3YXJuaW5nIGZvciBzbWFsbCBMQ1Mgc3N0YWJsZSBzaXplIChDQVNTQU5EUkEtNjE5MSkKICogQWRkIGFiaWxpdHkgdG8gbGlzdCBzcGVjaWZpYyBLUy9DRiBjb21iaW5hdGlvbnMgaW4gbm9kZXRvb2wgY2ZzdGF0cyAoQ0FTU0FORFJBLTQxOTEpCiCAPRe0AAABT948slwAECkKICogcmVzdHJ1Y3R1cmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILS0AAAEAMCkKICogTWFrZSBzc3RhYmxlc2NydWIgY2hlY2sgbGV2ZWxlZCBtYW5pZmVzdCBhZ2FpbiAoQ0FTU0FORFJBLTg0MzIpCiAqIENoZWNrIGZpcnN0L2xhc3Qga2V5cyBpbiBzc3RhYmxlIHdoZW4gZ2l2aW5nIG91dCBwb3NpdGlvbnMgKENBU1NBTkRSQS04NDU4KQogKiBEaXNhYmxlIG1tYXAgb24gV2luZG93cyAoQ0FTU0FORFJBLTY5OTMpCiAqIEFkZCBtaXNzaW5nIENvbnNpc3RlbmN5TGV2ZWxzIHRvIGNhc3NhbmRyYS1zdHJlc3MgKENBU1NBTkRSQcueuA8AAAFP3jyyXAAQLiBUaGlzIGluY2x1ZGVzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtLQAAAQA2NjEzKQogKiBmaXggbm9kZXRvb2wgZ2V0c3N0YWJsZXMgZm9yIGJsb2IgUEsgKENBU1NBTkRSQS02ODAzKQogKiBGaXggQmF0Y2hsb2dNYW5hZ2VyI2RlbGV0ZUJhdGNoKCkgdXNlIG9mIG1pbGxpc2Vjb25kIHRpbWVzdGFtcHMKICAgKENBU1NBTkRSQS02ODIyKQogKiBDb250aW51ZSBhc3Nhc3NpbmF0aW5nIGV2ZW4gaWYgdGhlIGVuZHBvaW50IHZhbmlzaGVzIChDQVNTQU5EUkEtNjc4NykKICogU2NoZWR1bGUgc2NoZW1hIHB1bGxzIG9uIGNoYW5nx7E2nwAAAU/ePLJcABBEUkEtODEwOCkKICogQWRkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0tAAABAG4gYXJjaGl0ZWN0dXJlcyB0aGF0IGRvIG5vdCBzdXBwb3J0IHVuYWxpZ25lZCBsb25nIGFjY2VzcwogICAoQ0FTU0FORFJBLTY2MjgpCiAqIExldCBzY3J1YiBvcHRpb25hbGx5IHNraXAgYnJva2VuIGNvdW50ZXIgcGFydGl0aW9ucyAoQ0FTU0FORFJBLTU5MzApCk1lcmdlZCBmcm9tIDEuMjoKICogZnN5bmMgY29tcHJlc3Npb24gbWV0YWRhdGEgKENBU1NBTkRSQS02NTMxKQogKiBWYWxpZGF0ZSBDRiBleGlzdGVuY2Ugb24gZXhlY3V0aW9uIGZvciD3YEWOAAABT948slwAEEFORFJBLTgyODUpCiAqIEYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILS0AAAEAOTQpCiAqIG9wdGltaXplIGlubmVyIHJlYWQgaW4gTWVzc2FnaW5nU2VydmljZSwgdmFzdGx5IGltcHJvdmluZyBtdWx0aXBsZS1ub2RlCiAgIHBlcmZvcm1hbmNlIChDQVNTQU5EUkEtNjc1KQogKiB3YWl0IGZvciB0YWJsZSBmbHVzaCBiZWZvcmUgc3RyZWFtaW5nIGRhdGEgYmFjayB0byBhIGJvb3RzdHJhcHBpbmcgbm9kZS4KICAgKENBU1NBTkRSQS02OTYpCiAqIGtlZXAgdHJhY2sgb2YgYm9vdHN0cmFwcGluZyBzb3VyY2VzIGJ5IHRhYmxlIHNvIMSe7W4AAAFP3jyyXAAQcyAobG9jYWwgb3IgcmVtbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtLQAAAQByIFRocmlmdCBmcmFtZSBhbmQgbWF4IG1lc3NhZ2Ugc2l6ZXMgKENBU1NBTkRSQS01MTg4KQogKiBmaXggbm9kZXRvb2wgcmVwYWlyIG5vdCBmYWlsIG9uIG5vZGUgZG93biAoQ0FTU0FORFJBLTUyMDMpCiAqIGFsd2F5cyBjb2xsZWN0IHRvbWJzdG9uZSBoaW50cyAoQ0FTU0FORFJBLTUwNjgpCiAqIEZpeCBlcnJvciB3aGVuIHNvdXJjaW5nIGZpbGUgaW4gY3Fsc2ggKENBU1NBTkRSQS01MjM1KQoKCjEuMi4xCiAqIHN0cmVhbSB1bmRlbGl2ZXJlZCBoKQuyfAAAAU/ePLJcABBpbiB0aGUgc2FtZSBjbHVzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0tAAABADk1NikKICogKGNxbDMpIFJlbW92ZSBhcmJpdHJhcnkgU0VMRUNUIGxpbWl0IChDQVNTQU5EUkEtNDkxOCkKICogQ29ycmVjdGx5IGhhbmRsZSBwcmVwYXJlZCBvcGVyYXRpb24gb24gY29sbGVjdGlvbnMgKENBU1NBTkRSQS00OTQ1KQogKiBGaXggQ1FMMyBMSU1JVCAoQ0FTU0FORFJBLTQ4NzcpCiAqIEZpeCBTdHJlc3MgZm9yIENRTDMgKENBU1NBTkRSQS00OTc5KQogKiBSZW1vdmUgY2Fzc2FuZHJhIHNwZWNpZmljIGV4Y2VwdGlvbnMgZnJvbSBKTVgZmv1QAAABT948slwAEGF0IHJ1bnRpbWUgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILS0AAAEAZyB3aXRoIGRlbGV0ZWQgY29sdW1ucyAoQ0FTU0FORFJBLTY3NDgpCiAqIEZpeCBOUEUgb24gQnVsa0xvYWRlciBjYXVzZWQgYnkgbG9zaW5nIFN0cmVhbUV2ZW50IChDQVNTQU5EUkEtNjYzNikKICogRml4IHRydW5jYXRpbmcgY29tcHJlc3Npb24gbWV0YWRhdGEgKENBU1NBTkRSQS02NzkxKQogKiBBZGQgQ01TQ2xhc3NVbmxvYWRpbmdFbmFibGVkIEpWTSBvcHRpb24gKENBU1NBTkRSQS02NTQxKQogKiBDYXRjaCBtZW10YWJsZSBmbHVzaCBleGNlcAKNwfsAAAFP3jyyXAAQKiBBbGxvdyBjb25jdXJyZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtLQAAAQBkZWQgdG8gRGViaWFuIHBhY2thZ2UgKENBU1NBTkRSQS0zNDU4KQogICArIGRpc3BsYXkgYnl0ZSBkYXRhIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0IG9uIGRlY29kZSBmYWlsdXJlIAogICAgIChDQVNTQU5EUkEtMzg3NCkKICogYWRkIG5vZGV0b29sIHJlYnVpbGRfaW5kZXggKENBU1NBTkRSQS0zNTgzKQogKiBhZGQgbm9kZXRvb2wgcmFuZ2VrZXlzYW1wbGUgKENBU1NBTkRSQS0yOTE3KQogKiBGaXggc3RyZWFtaW5nIHRvbyBtdWNoIGRhdGEgZHVyH7nNBgAAAU/ePLJcABBlcyB0byBiZSBpZ25vcmVkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0tAAABAHJlcGFpciBwYXRocwogICAoQ0FTU0FORFJBLTMxNTgpCiAqIFJhbmRvbWl6ZSBjaG9pY2Ugb2YgZmlyc3QgcmVwbGljYSBmb3IgY291bnRlciBpbmNyZW1lbnQgKENBU1NBTkRSQS0yODkwKQogKiBGaXggdXNpbmcgcmVhZF9yZXBhaXJfY2hhbmNlIGluc3RlYWQgb2YgbWVyZ2Vfc2hhcmRfY2hhbmdlIChDQVNTQU5EUkEtMzIwMikKICogQXZvaWQgc3RyZWFtaW5nIGRhdGEgdG8gbm9kZXMgdGhhdCBhbHJlYWR5IGhhdmUgaXQsIG9uIG1vdmUgYXMgd2ULcCvUAAwsh5Ic148AAAFP3jyyXAAQRVNDIGNsdXN0ZXJpbmcgbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtLwAAAQAgQWRkIG9wdGlvbiB0byB1c2Ugcm93IGNhY2hlIHdpdGggYSBnaXZlbiBhbW91bnQgb2Ygcm93cyAoQ0FTU0FORFJBLTUzNTcpCiAqIEF2b2lkIHJlcGFpcmluZyBhbHJlYWR5IHJlcGFpcmVkIGRhdGEgKENBU1NBTkRSQS01MzUxKQogKiBSZWplY3QgY291bnRlciB1cGRhdGVzIHdpdGggVVNJTkcgVFRML1RJTUVTVEFNUCAoQ0FTU0FORFJBLTY2NDkpCiAqIFJlcGxhY2UgaW5kZXhfaW50ZXJ2YWwgd2l0aCBtaW4vbWF4X2luZGV4X2ludGVydmFsIChDLy1JAwAAAU/ePLJcABByIHRoZSBsYXN0IG1pbnV0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0vAAABACB3aGVuIG11dGF0aW5nIHNzdGFibGUgbWV0YWRhdGEgKENBU1NBTkRSQS03NTk2KQogKiAoY3Fsc2gpIENvcnJlY3RseSBoYW5kbGUgcGFnZWQgcmVzdWx0IHNldHMgKENBU1NBTkRSQS03NjI1KQogKiAoY3Fsc2gpIEltcHJvdmUgd2FpdGluZyBmb3IgYSB0cmFjZSB0byBjb21wbGV0ZSAoQ0FTU0FORFJBLTc2MjYpCiAqIEZpeCB0cmFjaW5nIG9mIGNvbmN1cnJlbnQgcmFuZ2Ugc2xpY2VzIGFuZCAyYXJ5IGluZGV4IHF1ZXJpZXMgKENBU1NBTkRSQS3sZx1FAAABT948slwAEGVpbmcgcmVqZWN0ZWQgaW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILS8AAAEANDUxKQogKiBFbnN1cmUgd3JpdGVzIGhhdmUgY29tcGxldGVkIGFmdGVyIGRyb3BwaW5nIGEgdGFibGUsIGJlZm9yZSByZWN5Y2xpbmcKICAgY29tbWl0IGxvZyBzZWdtZW50cyAoQ0FTU0FORFJBLTc0MzcpCiAqIFJlbW92ZSBsZWZ0LW92ZXIgcm93c19wZXJfcGFydGl0aW9uX3RvX2NhY2hlIChDQVNTQU5EUkEtNzQ5MykKICogRml4IGVycm9yIHdoZW4gQ09OVEFJTlMgaXMgdXNlZCB3aXRoIGEgYmluZCBtYXJrZXIgKENBU1NBTkRSQS03NTAyKQogKoOZAnEAAAFP3jyyXAAQYS1jbGkgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtLwAAAQB0ZW1fdHJhY2VzIChDQVNTQU5EUkEtNzY0MSkKICogKEhhZG9vcCkgQWRkIENxbE91dHB1dEZvcm1hdCAoQ0FTU0FORFJBLTY5MjcpCiAqIERvbid0IGRlcGVuZCBvbiBjYXNzYW5kcmEgY29uZmlnIGZvciBub2RldG9vbCByaW5nIChDQVNTQU5EUkEtNzUwOCkKICogKGNxbHNoKSBGaXggZmFpbGluZyBjcWxzaCBmb3JtYXR0aW5nIHRlc3RzIChDQVNTQU5EUkEtNzcwMykKICogRml4IEluY29tcGF0aWJsZUNsYXNzQ2hhbmdlRXJyb3IgZnJvbSBoYWRvwKtejQAAAU/ePLJcABA2KQogKiBBZGQgJ25vZGV0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0vAAABAGcgaW4gUGFnZWRSYW5nZSB3aXRoIDJuZGFyeSBpbmRleGVzIChDQVNTQU5EUkEtNjI5OSkKICogRml4IENRTDMgdGFibGUgdmFsaWRhdGlvbiBpbiBUaHJpZnQgKENBU1NBTkRSQS02MTQwKQogKiBGaXggYnVnIG1pc3NpbmcgcmVzdWx0cyB3aXRoIElOIGNsYXVzZXMgKENBU1NBTkRSQS02MzI3KQogKiBGaXggcGFnaW5nIHdpdGggcmV2ZXJzZWQgc2xpY2VzIChDQVNTQU5EUkEtNjM0MykKICogU2V0IG1pblRpbWVzdGFtcCBjb3JyZWN0bHkgdG8gYmUY01WwAAABT948slwAEGlvbnMKICAgc28gVUUgY2EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILS8AAAEAbmRsZSBwYWdlZCByZXN1bHQgc2V0cyAoQ0FTU0FORFJBLTc2MjUpCiAqIChjcWxzaCkgSW1wcm92ZSB3YWl0aW5nIGZvciBhIHRyYWNlIHRvIGNvbXBsZXRlIChDQVNTQU5EUkEtNzYyNikKICogRml4IHRyYWNpbmcgb2YgY29uY3VycmVudCByYW5nZSBzbGljZXMgYW5kIDJhcnkgaW5kZXggcXVlcmllcyAoQ0FTU0FORFJBLTc2MjYpCiAqIEZpeCBzY3J1YiBhZ2FpbnN0IGNvbGxlY3Rpb24gdHlwZSAoQ0FTU0FORFJBLTc2NjUpCk1lcmdlZCBmcm9tIFU9JCIAAAFP3jyyXAAQcnQgbmFtZS1iYXNlZCBxdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtLwAAAQAgICAgICBzdHJ1Y3RzIHN1Y2ggYXMgQ29sdW1uUGF0aCwgQ29sdW1uUGFyZW50LCBldGMuICBBbHNvIG5vcm1hbGl6ZWQKICAgICAgdGhyaWZ0IHN0cnVjdCBhbmQgYXJndW1lbnQgbmFtaW5nLgogICAgLSBBZGRlZCBjb2x1bW5GYW1pbHkgYXJndW1lbnQgdG8gZ2V0X2tleV9yYW5nZS4KICAgIC0gQ2hhbmdlIHNpZ25hdHVyZSBvZiBnZXRfc2xpY2UgdG8gYWNjZXB0IHN0YXJ0aW5nIGFuZCBlbmRpbmcKICAgICAgY29sdW1ucyBhcyB3ZWxsIGFzIGFuG0dVjwAAAU/ePLJcABByb3dzIGdldCBiaWcgZW5vAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0vAAABAGJpbGl0eSB0byB3cml0ZSB0byBDYXNzYW5kcmEgZnJvbSBQaWcgKENBU1NBTkRSQS0xODI4KQogKiBhZGQgcnBjX1ttaW58bWF4XV90aHJlYWRzIChDQVNTQU5EUkEtMjE3NikKICogYWRkIENMLlRXTywgQ0wuVEhSRUUgKENBU1NBTkRSQS0yMDEzKQogKiBhdm9pZCBleHBvcnRpbmcgYW4gdW4tcmVxdWVzdGVkIHJvdyBpbiBzc3RhYmxlMmpzb24sIHdoZW4gZXhwb3J0aW5nIAogICBhIGtleSB0aGF0IGRvZXMgbm90IGV4aXN0IChDQVNTQU5EUkEtMjFBowi5AAABT948slwAEE5EUkEtNDA3OSkKICogb3AAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILS8AAAEAZW5ndGggZm9yIG9sZC1zdHlsZSBtYXByZWQgYXBpIChDQVNTQU5EUkEtNDUzNCkKICogKEhhZG9vcCkgZml4IGl0ZXJhdGluZyB0aHJvdWdoIGEgcmVzdWx0c2V0IGNvbnNpc3RpbmcgZW50aXJlbHkKICAgb2YgdG9tYnN0b25lZCByb3dzIChDQVNTQU5EUkEtNDQ2NikKCgoxLjEuMwogKiAoY3Fsc2gpIGFkZCBDT1BZIFRPIChDQVNTQU5EUkEtNDQzNCkKICogbXVubWFwIGNvbW1pdGxvZyBzZWdtZW50cyBiZWZvcmUgcmVuYW1lIChDQVNTQU5EUkEtNBJ8UdwAAAFP3jyyXAAQZW10YWJsZSB0aHJlc2hvbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtLwAAAQBvcmthcm91bmQgZm9yIG5ldHR5IGlzc3VlIGNhdXNpbmcgY29ycnVwdGVkIGRhdGEgb2ZmIHRoZSB3aXJlIChDQVNTQU5EUkEtNzY5NSkKICogY3Fsc2ggREVTQyBDTFVTVEVSIGZhaWxzIHJldHJpZXZpbmcgcmluZyBpbmZvcm1hdGlvbiAoQ0FTU0FORFJBLTc2ODcpCiAqIEZpeCBiaW5kaW5nIG51bGwgdmFsdWVzIGluc2lkZSBVRFQgKENBU1NBTkRSQS03Njg1KQogKiBGaXggVURUIGZpZWxkIHNlbGVjdGlvbiB3aXRoIGVtcHR5IGZpZWxkcyAoQ0FTdYIo8AAAAU/ePLJcABAgaXMgMSAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0vAAABAGJvdW5kcyBmb3Igd29yZCBUZXh0IGluIHdvcmRjb3VudCBkZW1vIChDQVNTQU5EUkEtMTk5MykKICogZml4ZXMgZm9yIGNvbnRyaWIvamF2YXV0aWxzIChDQVNTQU5EUkEtMTk3OSkKICogY2hlY2sgbW9yZSBmcmVxdWVudGx5IGZvciBtZW10YWJsZSBleHBpcmF0aW9uIChDQVNTQU5EUkEtMjAwMCkKICogZml4IHdyaXRpbmcgU1NUYWJsZSBjb2x1bW4gY291bnQgc3RhdGlzdGljcyAoQ0FTU0FORFJBLTE5NzYpCiAqIGZpeCBzdHJlYW1pbmcgb2YgbXWLEki4AAABT948slwAEEFTU0FORFJBLTQ4MDkpCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILS8AAAEAU0FORFJBLTIwMzIpCiAqIG1lc3NhZ2Ugc2VyaWFsaXphdGlvbiB0ZXN0cyAoQ0FTU0FORFJBLTE5MjMpCiAqIHN3aXRjaCBmcm9tIGl2eSB0byBtYXZlbi1hbnQtdGFza3MgKENBU1NBTkRSQS0yMDE3KQogKiBDTEkgYXR0ZW1wdHMgdG8gYmxvY2sgZm9yIG5ldyBzY2hlbWEgdG8gcHJvcGFnYXRlIChDQVNTQU5EUkEtMjA0NCkKICogZml4IHBvdGVudGlhbCBvdmVyZmxvdyBpbiBub2RldG9vbCBjZnN0YXRzIChDQVNTQU5EUkEtMjA1NykKICogYWRkIIvkt5oAAAFP3jyyXAAQRFJBLTQxNjMpCiAqIChjcQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtLwAAAQAgaCAoQ0FTU0FORFJBLTM0NzQpCiAqIGFkZCBzc3RhYmxlIGZvcndhcmQtY29tcGF0aWJpbGl0eSAoQ0FTU0FORFJBLTM0NzgpCiAqIHJlcG9ydCBjb21wcmVzc2lvbiByYXRpbyBpbiBDRlNNQmVhbiAoQ0FTU0FORFJBLTMzOTMpCiAqIGZpeCBpbmNvcnJlY3Qgc2l6ZSBleGNlcHRpb24gZHVyaW5nIHN0cmVhbWluZyBvZiBjb3VudGVycyAoQ0FTU0FORFJBLTM0ODEpCiAqIChDUUwpIGZpeCBmb3IgY291bnRlciBkZWNyZW1lbnQgc3ludGF4IChDQVNTpulkfAAAAU/ePLJcABB5IGFuZCBzdHJpbmcgY29sAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0vAAABAHkgdGhlIGxvY2FsIERDIG5vZGVzIChDQVNTQU5EUkEtNDc0NykKICogVXNlIHJwY19hZGRyZXNzIGZvciBiaW5hcnkgcHJvdG9jb2wgYW5kIGNoYW5nZSBkZWZhdWx0IHBvcnQgKENBU1NBTkRSQS00NzUxKQogKiBGaXggdXNlIG9mIGNvbGxlY3Rpb25zIGluIHByZXBhcmVkIHN0YXRlbWVudHMgKENBU1NBTkRSQS00NzM5KQogKiBTdG9yZSBtb3JlIGluZm9ybWF0aW9uIGludG8gcGVlcnMgdGFibGUgKENBU1NBTkRSQS00MzUxLCA0ODE0KQogKiBDb25PKCskAAABT948slwAEEFORFJBLTc4MjQpCiAqICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILS8AAAEAZWluZyBjYWNoZWQgaWYgdGhleSBkbyBub3QgZXhpc3QgKENBU1NBTkRSQS0yNzIzKQogKiBTdXBwb3J0IHBhc3NpbmcgdGFibGVOYW1lIGFuZCBjZk5hbWUgdG8gUm93Q2FjaGVQcm92aWRlcnMgKENBU1NBTkRSQS0yNzAyKQogKiBjbG9zZSBzY3J1YiBmaWxlIGhhbmRsZXMgKENBU1NBTkRSQS0yNjY5KQogKiB0aHJvdHRsZSBtaWdyYXRpb24gcmVwbGF5IChDQVNTQU5EUkEtMjcxNCkKICogb3B0aW1pemUgY29sdW1uIHNlcmlhbGl6ZXIgY3JlYXRpb/7d2zAADEDkgVH7LQAAAU/ePLJcABAgICAoQ0FTU0FORFJBLTY0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0xAAABAChIYWRvb3ApIGZpeCBjbHVzdGVyIGluaXRpYWxpc2F0aW9uIGZvciBhIHNwbGl0IGZldGNoaW5nIChDQVNTQU5EUkEtNzc3NCkKICogVGhyb3cgSW52YWxpZFJlcXVlc3RFeGNlcHRpb24gd2hlbiBxdWVyaWVzIGNvbnRhaW4gcmVsYXRpb25zIG9uIGVudGlyZQogICBjb2xsZWN0aW9uIGNvbHVtbnMgKENBU1NBTkRSQS03NTA2KQogKiAoY3Fsc2gpIGVuYWJsZSBDVFJMLVIgaGlzdG9yeSBzZWFyY2ggd2l0aCBsaWJlZGl0IChDQVNTQU5EUkEtNzU3Nylvd0OAAAABT948slwAEC4yOgogKiBGaXggcmVhZGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTEAAAEAMyB0b2tlbigpIGZ1bmN0aW9uIHdoZW4gdXNlZCB3aXRoIHN0cmluZ3MgKENBU1NBTkRSQS01MDUwKQpNZXJnZWQgZnJvbSAxLjE6CiAqIHJlZHVjZSBsb2cgc3BhbSBmcm9tIGludmFsaWQgY291bnRlciBzaGFyZHMgKENBU1NBTkRSQS01MDI2KQogKiBJbXByb3ZlIHNjaGVtYSBwcm9wYWdhdGlvbiBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTUwMjUpCiAqIEZpeCBmb3IgSW5kZXhIZWxwZXIuSW5kZXhGb3IgdGhyb3dzIE9PQiBFeGNlcHRpb24gKENBU3CG8s8AAAFP3jyyXAAQbGxvdyBzcGVjaWZ5aW5nIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtMQAAAQA5MikKICogRml4IEFycmF5SW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbiBpbiBDUUxTU1RhYmxlV3JpdGVyIChDQVNTQU5EUkEtODk3OCkKICogQWRkIHNodXRkb3duIGdvc3NpcCBzdGF0ZSB0byBwcmV2ZW50IHRpbWVvdXRzIGR1cmluZyByb2xsaW5nIHJlc3RhcnRzIChDQVNTQU5EUkEtODMzNikKICogRml4IHJ1bm5pbmcgd2l0aCBqYXZhLm5ldC5wcmVmZXJJUHY2QWRkcmVzc2VzPXRydWUgKENBU1NBTkRSQS05MTM3KQogKiBGaXggZmFpbGVkIGJvgX54rwAAAU/ePLJcABB1bW5zIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0xAAABAGVjZXNzYXJpbHkgCiAgIChDQVNTQU5EUkEtMTUxMikKICogaW52b2tlIGdldERlZmF1bHRVbmNhdWdodEV4Y2VwdGlvbkhhbmRsZXIgZnJvbSBEVFBFIHdpdGggdGhlIG9yaWdpbmFsCiAgIGV4Y2VwdGlvbiByYXRoZXIgdGhhbiB0aGUgRXhlY3V0aW9uRXhjZXB0aW9uIHdyYXBwZXIgKENBU1NBTkRSQS0xMjI2KQogKiByZW1vdmUgQ2xvY2sgZnJvbSB0aGUgVGhyaWZ0IChhbmQgQXZybykgQVBJIChDQVNTQU5EUkEtMTUwMSkKICogQ2xvc2UgaW50cmGocYlmAAABT948slwAEHRlcyBjb25maWd1cmF0aW8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTEAAAEAYXggY29sdW1uIG5hbWVzIChDQVNTQU5EUkEtNjA3NykKICogRml4IHRocmlmdCB2YWxpZGF0aW9uIHJlZnVzaW5nIHJvdyBtYXJrZXJzIG9uIENRTDMgdGFibGVzIChDQVNTQU5EUkEtNjA4MSkKICogRml4IGluc2VydGlvbiBvZiBjb2xsZWN0aW9ucyB3aXRoIENBUyAoQ0FTU0FORFJBLTYwNjkpCiAqIENvcnJlY3RseSBzZW5kIG1ldGFkYXRhIG9uIFNFTEVDVCBDT1VOVCAoQ0FTU0FORFJBLTYwODApCiAqIFRyYWNrIGNsaWVudHMnIHJlbW90ZSBhZGctwWMAAAFP3jyyXAAQIEF2b2lkIGJveGluZyBpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtMQAAAQBtdWx0aXBsZSB2YWx1ZXMgZm9yIEN1cnJlbnRMb2NhbCBOb2RlSUQgKENBU1NBTkRSQS00NjI2KQoKCjEuMS40CiAqIGZpeCBvZmZsaW5lIHNjcnViIHRvIGNhdGNoID49IG91dCBvZiBvcmRlciByb3dzIChDQVNTQU5EUkEtNDQxMSkKICogZml4IGNhc3NhbmRyYS1lbnYuc2ggb24gUkhFTCBhbmQgb3RoZXIgbm9uLWRhc2gtYmFzZWQgc3lzdGVtcyAKICAgKENBU1NBTkRSQS00NDk0KQpNZXJnZWQgZnJvbSAxLjA6CiAqIChIYWRvb3ApIGZpeCBzZXR0zALlOAAAAU/ePLJcABBORFJBLTI2NDYpCiAqIGRlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0xAAABAGROZXdTU1RhYmxlcyAoQ0FTU0FORFJBLTY1MTQpCiAqIEFkZCBzdXBwb3J0IGZvciBERUxFVEUgLi4uIElGIEVYSVNUUyB0byBDUUwzIChDQVNTQU5EUkEtNTcwOCkKICogVXBkYXRlIGhhZG9vcF9jcWwzX3dvcmRfY291bnQgZXhhbXBsZSAoQ0FTU0FORFJBLTY3OTMpCiAqIEZpeCBoYW5kbGluZyBvZiBSZWplY3RlZEV4ZWN1dGlvbiBpbiBzeW5jIFRocmlmdCBzZXJ2ZXIgKENBU1NBTkRSQS02Nzg4KQogKiBMb2cgbW9yZSBpbmZvcm1hdGlvbiB3aGU+ArE6AAABT948slwAEGl4IHJvdyB0b21ic3RvbmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTEAAAEAdCBjb3VudGVyIHVwZGF0ZXMgd2l0aCBVU0lORyBUVEwvVElNRVNUQU1QIChDQVNTQU5EUkEtNjY0OSkKICogUmVwbGFjZSBpbmRleF9pbnRlcnZhbCB3aXRoIG1pbi9tYXhfaW5kZXhfaW50ZXJ2YWwgKENBU1NBTkRSQS02Mzc5KQogKiBMaWZ0IGxpbWl0YXRpb24gdGhhdCBvcmRlciBieSBjb2x1bW5zIG11c3QgYmUgc2VsZWN0ZWQgZm9yIElOIHF1ZXJpZXMgKENBU1NBTkRSQS00OTExKQoKCjIuMC41CiAqIFJlZHVjZSBnYXJiYWdlIGdlbmVyYXRlZFUWhCkAAAFP3jyyXAAQb2FkIGRhdGEgZnJvbSBDUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtMQAAAQBhbiBwYWNrYWdpbmcgKENBU1NBTkRSQS0zNTYzKQogKiBnb3NzaXBlciB3aWxsIG5ldmVyIGFkZCBpdHNlbGYgdG8gc2F2ZWQgZW5kcG9pbnRzIChDQVNTQU5EUkEtMzQ4NSkKCgoxLjAuNQogKiByZXZlcnQgQ0FTU0FORFJBLTM0MDcgKHNlZSBDQVNTQU5EUkEtMzU0MCkKICogZml4IGFzc2VydGlvbiBlcnJvciB3aGlsZSBmb3J3YXJkaW5nIHdyaXRlcyB0byBsb2NhbCBub2RlcyAoQ0FTU0FORFJBLTM1MzkpCgoKMS4wLjQKICogZml4IHNlbGYtaGluX6y4cwAAAU/ePLJcABAxMDYzKQogKiBmaXggc2l6AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0xAAABAGQgdXNlIHRoZSBDRiBjb21wYXJhdG9yIChDQVNTQU5EUkEtNjc3OCkKICogRml4IENRTFNTdGFibGVXcml0ZXIuYWRkUm93KE1hcDxTdHJpbmcsIE9iamVjdD4pIChDQVNTQU5EUkEtNjUyNikKICogRml4IEhTSEEgc2VydmVyIGludHJvZHVjaW5nIGNvcnJ1cHQgZGF0YSAoQ0FTU0FORFJBLTYyODUpCiAqIEZpeCBDQVMgY29uZGl0aW9ucyBmb3IgQ09NUEFDVCBTVE9SQUdFIHRhYmxlcyAoQ0FTU0FORFJBLTY4MTMpCiAqIFN0YXJ0aW5nIHRocmVhZHMDX7WfAAABT948slwAEGVsIGZ1bmN0aW9uYWwgaW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTEAAAEAaW5nIChDQVNTQU5EUkEtNTQ5NikKICogRG9uJ3QgcHJvdmlkZSBvbGRDZklkIGZvciBwb3N0LTEuMSBzeXN0ZW0gY2ZzIChDQVNTQU5EUkEtNTQ5MCkKICogRml4IHByaW1hcnkgcmFuZ2UgaWdub3JlcyByZXBsaWNhdGlvbiBzdHJhdGVneSAoQ0FTU0FORFJBLTU0MjQpCiAqIEZpeCBzaHV0ZG93biBvZiBiaW5hcnkgcHJvdG9jb2wgc2VydmVyIChDQVNTQU5EUkEtNTUwNykKICogRml4IHJlcGFpciAtc25hcHNob3Qgbm90IHdvcmtpbmcgKENBU1NBTnd1zDQAAAFP3jyyXAAQcmVwZWF0ZWQgdmFsdWVzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtMQAAAQBudW1iZXIgb2YgdW5kZWxldGVkIGNvbHVtbnMsIGlmIGFueSwgZnJvbQogICBhIHN1cGVyY29sdW1uIGluIGEgcm93IHRoYXQgaGFkIGJlZW4gZGVsZXRlZCBwcmV2aW91c2x5IChDQVNTQU5EUkEtOTIwKQogKiBmaXggaW5kZXggc2NhbnMgdGhhdCBjcm9zcyB0aGUgMkdCIG1tYXAgYm91bmRhcmllcyBmb3IgYm90aCBtbWFwCiAgIGFuZCBzdGFuZGFyZCBpL28gbW9kZXMgKENBU1NBTkRSQS04NjYpCiAqIGV4cG9zZSBkcmFpbiB2aWEgbm9kZXRvb2wg5aTFAAAAAU/ePLJcABBjbHVzdGVyLCBwYXJ0aXRpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC0xAAABAGVzCiAgIGlzIHBhc3NlZCBhcyBhIHNpbmdsZSBhcmcgdG8gYSBwcmVwYXJlZCBzdGF0ZW1lbnQgd2l0aCB0aGUgdjEgb3IgdjIKICAgcHJvdG9jb2wgKENBU1NBTkRSQS04MDYyKQogKiBGaXggQ2xhc3NDYXN0RXhjZXB0aW9uIGluIERJU1RJTkNUIHF1ZXJ5IG9uIHN0YXRpYyBjb2x1bW5zIHdpdGgKICAgcXVlcnkgcGFnaW5nIChDQVNTQU5EUkEtODEwOCkKICogRml4IE5QRSBvbiBudWxsIG5lc3RlZCBVRFQgaW5zaWRlIGEgc2V0IChDQVNTQU5EUkH9hsdTAAABT948slwAECBjYWxjdWxhdGUgbWF4IHAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTEAAAEAaGVtYSBjaGFuZ2UgcmVzcG9uc2VzIGFuZCBldmVudHMgZm9yIG5vLW9wIERETAogICBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNzYwMCkKICogKEhhZG9vcCkgZml4IGNsdXN0ZXIgaW5pdGlhbGlzYXRpb24gZm9yIGEgc3BsaXQgZmV0Y2hpbmcgKENBU1NBTkRSQS03Nzc0KQogKiBDb25maWd1cmUgc3lzdGVtLnBheG9zIHdpdGggTGV2ZWxlZENvbXBhY3Rpb25TdHJhdGVneSAoQ0FTU0FORFJBLTc3NTMpCiAqIEZpeCBBTFRFUiBjbHVzdGVyaW5nIGNvbPxf5IMAAAFP3jyyXAAQc3RlcnRvb2wsIGNvbmZpZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtMQAAAQBTQU5EUkEtMzc2MikKICogdXBkYXRlIE1TIHByb3RvY29sIHdpdGggYSB2ZXJzaW9uIGhhbmRzaGFrZSArIGJyb2FkY2FzdCBhZGRyZXNzIGlkCiAgIChDQVNTQU5EUkEtNDMxMSkKICogbXVsdGl0aHJlYWRlZCBoaW50IHJlcGxheSAoQ0FTU0FORFJBLTQxODkpCiAqIGFkZCBpbnRlci1ub2RlIG1lc3NhZ2UgY29tcHJlc3Npb24gKENBU1NBTkRSQS0zMTI3KQogKiByZW1vdmUgQ09QUCAoQ0FTU0FORFJBLTI0NzkpCiAqIFRyYWNrIHRvbWJzdG9uZSBlxUmtZwAMVUGcou9kAAABT948slwAEGxvb3AvY29tcGFjdGlvbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTQAAAEAcHJlY2F0ZWQgYmF0Y2hfaW5zZXJ0IGFuZCBnZXRfcmFuZ2Vfc2xpY2UgbWV0aG9kcyAoQ0FTU0FORFJBLTEwNjUpCiAqIGFkZCB0cnVuY2F0ZSB0aHJpZnQgbWV0aG9kIChDQVNTQU5EUkEtNTMxKQogKiBodHRwIG1pbmktaW50ZXJmYWNlIHVzaW5nIG14NGogKENBU1NBTkRSQS0xMDY4KQogKiBvcHRpbWl6ZSBhd2F5IGNvcHkgb2Ygc2xpY2VkIHJvdyBvbiBtZW10YWJsZSByZWFkIHBhdGggKENBU1NBTkRSQS0xMDQ2KQogKiByZXBsYWNlIGNvbnN0YZIlpTEAAAFP3jyyXAAQZGF0YSBmaWxlcyB3aGVuIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtNAAAAQAuU3RyZWFtRGVzdGluYXRpb25zIHdvdWxkbid0IGVtcHR5IGl0c2VsZiBhZnRlciBzdHJlYW1pbmcKICAgZmluaXNoZWQgKENBU1NBTkRSQS0xMDc2KQogKiBhZGRlZCBDb2xsZWN0aW9ucy5zaHVmZmxlKHNwbGl0cykgYmVmb3JlIHJldHVybmluZyB0aGUgc3BsaXRzIGluIAogICBDb2x1bW5GYW1pbHlJbnB1dEZvcm1hdCAoQ0FTU0FORFJBLTEwOTYpCiAqIGRvIG5vdCByZWNhbGN1bGF0ZSBjYWNoZSBjYXBhY2l0eSBwb3N0LWNvbXBhY3Rpb24gaWYgO80DRgAAAU/ePLJcABAgcmF0aGVyIHRoYW4gYXJyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC00AAABAFJBLTY4MjApCiAqIEFsbG93IGRlbGV0aW5nIHNuYXBzaG90cyBmcm9tIGRyb3BwZWQga2V5c3BhY2VzIChDQVNTQU5EUkEtNjgyMSkKICogQWRkIHV1aWQoKSBmdW5jdGlvbiAoQ0FTU0FORFJBLTY0NzMpCiAqIE9taXQgdG9tYnN0b25lcyBmcm9tIHNjaGVtYSBkaWdlc3RzIChDQVNTQU5EUkEtNjg2MikKICogSW5jbHVkZSBjb3JyZWN0IGNvbnNpc3RlbmN5TGV2ZWwgaW4gTFdUIHRpbWVvdXQgKENBU1NBTkRSQS02ODg0KQogKiBMb3dlciBjaGFuY2UE5UdsAAABT948slwAEGR1cmluZyByZXBhaXIgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTQAAAEAYVNlcnZpY2UgKENBU1NBTkRSQS03NTk1KQogKiBTdXBwb3J0IGNvbm5lY3RpbmcgdG8gaXB2NiBqbXggd2l0aCBub2RldG9vbCAoQ0FTU0FORFJBLTc2NjkpCiAqIFNldCBnY19ncmFjZV9zZWNvbmRzIHRvIHNldmVuIGRheXMgZm9yIHN5c3RlbSBzY2hlbWEgdGFibGVzIChDQVNTQU5EUkEtNzY2OCkKICogU2ltcGxlU2VlZFByb3ZpZGVyIG5vIGxvbmdlciBjYWNoZXMgc2VlZHMgZm9yZXZlciAoQ0FTU0FORFJBLTc2NjMpCiAqIFNldCBjb3JyZWN0IK7DacsAAAFP3jyyXAAQYWJsZSBoaW50IHN0b3JhZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtNAAAAQBjY2VzcyB0byB0aW1lc3RhbXAKICogSkRCQyBSZXN1bHRTZXRNZXRhZGF0YSBwcm9wZXJ0aWVzIGFkZGVkIHRvIEFic3RyYWN0VHlwZQogKiByL20gY2x1c3RlcnRvb2wgKENBU1NBTkRSQS0yNjA3KQogKiBhZGQgc3VwcG9ydCBmb3IgcHJlc2VudGluZyByb3cga2V5IGFzIGEgY29sdW1uIGluIENRTCByZXN1bHQgc2V0cyAKICAgKENBU1NBTkRSQS0yNjIyKQogKiBEb24ndCBhbGxvdyB7TE9DQUx8RUFDSH1fUVVPUlVNIHVubGVzcyBzdHJhdGVneSBp0ADlpAAAAU/ePLJcABAgKiBNYWtlIHN0YW5kYWxvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC00AAABACAgbW92ZXMgaXRzIHRva2VuIChDQVNTQU5EUkEtODM3MykKICogRml4IHZhbGlkYXRpb24gb2YgaW5kZXhlcyBpbiBDT01QQUNUIHRhYmxlcyAoQ0FTU0FORFJBLTgxNTYpCiAqIEF2b2lkIFN0YWNrT3ZlcmZsb3dFcnJvciB3aGVuIGEgbGFyZ2UgbGlzdCBvZiBJTiB2YWx1ZXMKICAgaXMgdXNlZCBmb3IgYSBjbHVzdGVyaW5nIGNvbHVtbiAoQ0FTU0FORFJBLTg0MTApCiAqIEZpeCBOUEUgd2hlbiB3cml0ZXRpbWUoKSBvciB0dGwoKSBjYWxscyBhcmWxZDUzAAABT948slwAEERSQS0zMzI3KQogKiBDaGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTQAAAEAZSBzaXplIHRvIGV4Y2VlZCBzbGFiIGFsbG9jYXRvciBzaXplIChDQVNTQU5EUkEtNjA3OCkKICogU3RhcnQgTWV0ZXJlZEZsdXNoZXIgZWFybGllciB0byBwcmV2ZW50IE9PTSBkdXJpbmcgQ0wgcmVwbGF5IChDQVNTQU5EUkEtNjA4NykKICogQXZvaWQgc2VuZGluZyBUcnVuY2F0ZSBjb21tYW5kIHRvIGZhdCBjbGllbnRzIChDQVNTQU5EUkEtNjA4OCkKICogQWxsb3cgd2hlcmUgY2xhdXNlIGNvbmRpdGlvbnMgdG8gYmUgaW4gcGFyZW50aGVzaXMgKKhvYG0AAAFP3jyyXAAQc2Vjb25kYXJ5IGluZGV4ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtNAAAAQBpYWxpemUgZW5kcG9pbnQgaW4gZ29zc2lwZXIgZWFybGllciAoQ0FTU0FORFJBLTIyMjgpCiAqIGFkZCBhYmlsaXR5IHRvIHdyaXRlIHRvIENhc3NhbmRyYSBmcm9tIFBpZyAoQ0FTU0FORFJBLTE4MjgpCiAqIGFkZCBycGNfW21pbnxtYXhdX3RocmVhZHMgKENBU1NBTkRSQS0yMTc2KQogKiBhZGQgQ0wuVFdPLCBDTC5USFJFRSAoQ0FTU0FORFJBLTIwMTMpCiAqIGF2b2lkIGV4cG9ydGluZyBhbiB1bi1yZXF1ZXN0ZWQgcm93IGluIHNzdGFibGUyanNvaZfTfwAAAU/ePLJcABBTQU5EUkEtMTY3NikKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC00AAABAHF1aXJlIG5vZGV0b29sIHJlYnVpbGRfaW5kZXggdG8gc3BlY2lmeSBpbmRleCBuYW1lcyAoQ0FTU0FORFJBLTcwMzgpCiAqIGZpeCBjYXNzYW5kcmEgc3RyZXNzIGVycm9ycyBvbiByZWFkcyB3aXRoIG5hdGl2ZSBwcm90b2NvbCAoQ0FTU0FORFJBLTcwMzMpCiAqIFVzZSBPcE9yZGVyIHRvIGd1YXJkIHNzdGFibGUgcmVmZXJlbmNlcyBmb3IgcmVhZHMgKENBU1NBTkRSQS02OTE5KQogKiBQcmVlbXB0aXZlIG9wZW5pbmcgb2YgY29tcGFjdGlvbiByZXNHEW9XAAABT948slwAECBjb3VudCBmb3IgcGFyYWwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTQAAAEAQU5EUkEtMzE5NSkKICogRml4IHJvbGxpbmcgdXBncmFkZSBmcm9tIDAuNyB0byAwLjggcHJvYmxlbSAoQ0FTU0FORFJBLTMxNjYpCiAqIEFjY29tb2RhdGUgbWlzc2luZyBlbmNyeXB0aW9uX29wdGlvbnMgaW4gSW5jb21pbmdUY3BDb25uZWN0aW9uLnN0cmVhbQogICAoQ0FTU0FORFJBLTMyMTIpCgoKMC44LjUKICogZml4IE5QRSB3aGVuIGVuY3J5cHRpb25fb3B0aW9ucyBpcyB1bnNwZWNpZmllZCAoQ0FTU0FORFJBLTMwMDcpCiAqIGluY2x1ZGUgYyH/zyYAAAFP3jyyXAAQNCkKICogQWRkZWQgQlVHUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtNAAAAQB4T3V0T2ZCb3VuZHNFeGNlcHRpb24gaW4gbm9kZXRvb2wgY2ZoaXN0b2dyYW1zIChDQVNTQU5EUkEtODUxNCkKICogU3dpdGNoIGZyb20geWFtbWVyIG1ldHJpY3MgZm9yIG5vZGV0b29sIGNmL3Byb3h5IGhpc3RvZ3JhbXMgKENBU1NBTkRSQS04NjYyKQogKiBNYWtlIHN1cmUgd2UgZG9uJ3QgYWRkIHRtcGxpbmsgZmlsZXMgdG8gdGhlIGNvbXBhY3Rpb24KICAgc3RyYXRlZ3kgKENBU1NBTkRSQS04NTgwKQogKiAoY3Fsc2gpIEhhbmRsZSBtYXBzIHdpHd167gAAAU/ePLJcABBkIG1vZGUgKENBU1NBTkRSAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC00AAABAHcgY2FjaGUgZm9yIHN0cmVhbWVkIHJvdyB0byBhdm9pZCBpbmNvbnNpdGVuY2llcwogICAoQ0FTU0FORFJBLTI0MjApCiAqIGF2b2lkIGNvcGllcyBpbiByYW5nZS9pbmRleCBzY2FucyAoQ0FTU0FORFJBLTI0MjUpCiAqIG1ha2Ugc3VyZSB3ZSBkb24ndCB3aXBlIGRhdGEgZHVyaW5nIGNsZWFudXAgaWYgdGhlIG5vZGUgaGFzIG5vdCBqb2luCiAgIHRoZSByaW5nIChDQVNTQU5EUkEtMjQyOCkKICogVHJ5IGhhcmRlciB0byBjbG9zZSBmaWxlcyBhZnSsYezCAAABT948slwAEFNBTkRSQS0xNTEyKQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTQAAAEAYWRvb3AgbWFwL3JlZHVjZSAoQ0FTU0FORFJBLTI2NjcpCiAqIGZpeCBTdGFja092ZXJmbG93RXJyb3Igd2hlbiBidWlsZGluZyBmcm9tIGVjbGlwc2UgKENBU1NBTkRSQS0yNjg3KQogKiBvbmx5IHByb3ZpZGUgcmVwbGljYXRpb25fZmFjdG9yIHRvIHN0cmF0ZWd5X29wdGlvbnMgImhlbHAiIGZvcgogICBTaW1wbGVTdHJhdGVneSwgT2xkTmV0d29ya1RvcG9sb2d5U3RyYXRlZ3kgKENBU1NBTkRSQS0yNjc4LCAyNzEzKQogKiBmaXggZXhjZXB0aW9uIB8WdWEAAAFP3jyyXAAQIGJvb3RzdHJhcCB0YXJnZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtNAAAAQBhY3RRdWVyeVBhZ2VyLmRpc2NhcmRGaXJzdCAoQ0FTU0FORFJBLTY0NDcpCiAqIEZpeCBzdHJlYW1pbmcgb2xkZXIgU1NUYWJsZSB5aWVsZHMgdW5uZWNlc3NhcnkgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTY1MjcpCk1lcmdlZCBmcm9tIDEuMjoKICogSW1wcm92ZWQgZXJyb3IgbWVzc2FnZSBvbiBiYWQgcHJvcGVydGllcyBpbiBEREwgcXVlcmllcyAoQ0FTU0FORFJBLTY0NTMpCiAqIFJhbmRvbWl6ZSBiYXRjaGxvZyBjYW5kaWRhdGVzIHNlbGVjdGlv4rpYnwAAAU/ePLJcABBlciBhZGQvZ2V0IHVzaW5nAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC00AAABACBmaXggImxpdmVTaXplIiBzdGF0IHdoZW4gc3N0YWJsZXMgYXJlIHJlbW92ZWQgKENBU1NBTkRSQS0zNDk2KQogKiBhZGQgYmxvb20gZmlsdGVyIEZQIHJhdGVzIHRvIG5vZGV0b29sIGNmc3RhdHMgKENBU1NBTkRSQS0zMzQ3KQogKiByZWNvcmQgcGFydGl0aW9uZXIgaW4gc3N0YWJsZSBtZXRhZGF0YSBjb21wb25lbnQgKENBU1NBTkRSQS0zNDA3KQogKiBhZGQgbmV3IHVwZ3JhZGVzc3RhYmxlcyBub2RldG9vbCBjb21tYW5kIChDQVNTQU5EUkEtMzSbqs+pAAxpng2rXhcAAAFP3jyyXAAQQ0FTU0FORFJBLTE3MTUpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtNgAAAQBvZyByZXBsYXkgZm9yIG5hbm90aW1lLWluZmVjdGVkIHNzdGFibGVzIChDQVNTQU5EUkEtNDc4MikKICogcHJlZmxpZ2h0IGNoZWNrIHR0bCBmb3IgbWF4aW11bSBvZiAyMCB5ZWFycyAoQ0FTU0FORFJBLTQ3NzEpCiAqIChQaWcpIGZpeCB3aWRlcm93IGlucHV0IHdpdGggc2luZ2xlIGNvbHVtbiByb3dzIChDQVNTQU5EUkEtNDc4OSkKICogRml4IEhIIHRvIGNvbXBhY3Qgd2l0aCBjb3JyZWN0IGdjQmVmb3JlLCB3aGljaCBhdm9pZHMgd2lwaW5nIG91i1OY1gAAAU/ePLJcABBBTkRSQS0xNzkzLCAtMTc5AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC02AAABAGFkYXRhIGZyb20gdW5uZWNlc3NhcnkKICAgVGhyaWZ0PC0+QXZybyBjb252ZXJzaW9uIG1ldGhvZHMgKENBU1NBTkRSQS0zMDMyKQogKiBBZGQgdGltZW91dHMgdG8gY2xpZW50IHJlcXVlc3Qgc2NoZWR1bGVycyAoQ0FTU0FORFJBLTMwNzksIDMwOTYpCiAqIENsaSB0byB1c2UgaGFzaGVzIHJhdGhlciB0aGFuIGFycmF5IG9mIGhhc2hlcyBmb3Igc3RyYXRlZ3kgb3B0aW9ucyAoQ0FTU0FORFJBLTMwODEpCiAqIExldmVsZWRDb21wYWN0aW9uU3RyYXSIu8e6AAABT948slwAEC0yNTMwKQogKiBBZGQgc3QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTYAAAEAcm93cyB3aXRoIG5vIG90aGVyIGRhdGEgKENBU1NBTkRSQS0xMDYzKQogKiBmaXggc2l6ZSBvZiByb3cgaW4gc3Bhbm5lZCBpbmRleCBlbnRyaWVzIChDQVNTQU5EUkEtMTA1NikKICogaW5zdGFsbCBqc29uMnNzdGFibGUsIHNzdGFibGUyanNvbiwgYW5kIHNzdGFibGVrZXlzIHRvIERlYmlhbiBwYWNrYWdlCiAqIFN0cmVhbWluZ1NlcnZpY2UuU3RyZWFtRGVzdGluYXRpb25zIHdvdWxkbid0IGVtcHR5IGl0c2VsZiBhZnRlciBzdHJlYW1pbmcKICAgZgFgqmAAAAFP3jyyXAAQIHJvdy1sZXZlbCBibG9vbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtNgAAAQBpbXBsZSBhdXRoZW50aWNhdGlvbiAoQ0FTU0FORFJBLTQ2NDgpCiAqIEFkZCBzdXBwb3J0IGZvciBiYXRjaGxvZyBpbiBDUUwzIChDQVNTQU5EUkEtNDU0NSwgNDczOCkKICogQWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIGNvbHVtbiBmYW1pbHkgb3V0cHV0cyBpbiBDRk9GIChDQVNTQU5EUkEtNDIwOCkKICogU3VwcG9ydCByZXBhaXJpbmcgb25seSB0aGUgbG9jYWwgREMgbm9kZXMgKENBU1NBTkRSQS00NzQ3KQogKiBVc2UgcnBjX2FkZHJlc3MgZm9yD5OKUQAAAU/ePLJcABBBU1NBTkRSQS0zMTA0KQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC02AAABAHRhdGVtZW50IGNhY2hlIGJ5IHNpemUgaW5zdGVhZCBvZiBjb3VudCAoQ0FTU0FORFJBLTYxMDcpCiAqIFRyYWNpbmcgc2hvdWxkIGxvZyB3cml0ZSBmYWlsdXJlIHJhdGhlciB0aGFuIHJhdyBleGNlcHRpb25zIChDQVNTQU5EUkEtNjEzMykKICogbG9jayBhY2Nlc3MgdG8gVE0uZW5kcG9pbnRUb0hvc3RJZE1hcCAoQ0FTU0FORFJBLTYxMDMpCiAqIEFsbG93IGVzdGltYXRlZCBtZW10YWJsZSBzaXplIHRvIGV4Y2VlZCBzbGFiIGFsbG9jYXRvciBzaXoqTSqsAAABT948slwAEHMgKENBU1NBTkRSQS02ODEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTYAAAEAZW4gY29sbGVjdGlvbnMgKENBU1NBTkRSQS03ODU5KQogKiBGaXggb3ZlcmZsb3cgb24gaGlzdG9ncmFtIGNvbXB1dGF0aW9uIChDQVNTQU5EUkEtODAyOCkKICogSGF2ZSBwYXhvcyByZXVzZSB0aGUgdGltZXN0YW1wIGdlbmVyYXRpb24gb2Ygbm9ybWFsIHF1ZXJpZXMgKENBU1NBTkRSQS03ODAxKQogKiBGaXggaW5jcmVtZW50YWwgcmVwYWlyIG5vdCByZW1vdmUgcGFyZW50IHNlc3Npb24gb24gcmVtb3RlIChDQVNTQU5EUkEtODI5MSkKICogSW1wchK+jjYAAAFP3jyyXAAQLjguMwogKiBhZGQgYWJpbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtNgAAAQB0ZWFkIG9mIGxvZ2dpbmcgYSB3YXJuaW5nIHdoZW4gdW5hYmxlIHRvIGFwcGVuZCB0byBDTAogICAoQ0FTU0FORFJBLTY3NjQpCiAqIEVsaW1pbmF0ZSBwb3NzaWJpbGl0eSBvZiBDTCBzZWdtZW50IGFwcGVhcmluZyB0d2ljZSBpbiBhY3RpdmUgbGlzdCAKICAgKENBU1NBTkRSQS02NTU3KQogKiBBcHBseSBET05UTkVFRCBmYWR2aXNlIHRvIGNvbW1pdGxvZyBzZWdtZW50cyAoQ0FTU0FORFJBLTY3NTkpCiAqIFN3aXRjaCBDUkMgY29tcG9uZW50IHRv26bSrwAAAU/ePLJcABBsMyBzZWxlY3QgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC02AAABAHIgZHVyaW5nIHJlcGFpciB3aXRoIG9yZGVyZWQgcGFydGl0aW9uZXJzIChDQVNTQU5EUkEtMzM2OSkKICogY29ycmVjdGx5IHNlcmlhbGl6ZSBrZXlfdmFsaWRhdGlvbl9jbGFzcyBmb3IgYXZybyAoQ0FTU0FORFJBLTMzOTEpCiAqIGRvbid0IGV4cGlyZSBjb3VudGVyIHRvbWJzdG9uZSBhZnRlciBzdHJlYW1pbmcgKENBU1NBTkRSQS0zMzk0KQogKiBwcmV2ZW50IG5vZGVzIHRoYXQgZmFpbGVkIHRvIGpvaW4gZnJvbSBoYW5naW5nIGFyb3VuZCBmb3JD9l59AAABT948slwAEGF0aW9uIHRvIHNldCB0aGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTYAAAEAbWUtYmFzZWQgcXVlcmllcyB0byB1c2UgQXJyYXlCYWNrZWRTb3J0ZWRDb2x1bW5zIChDQVNTQU5EUkEtNTA0MykKICogRmFsbCBiYWNrIHRvIG9sZCBtYW5pZmVzdCBpZiBtb3N0IHJlY2VudCBpcyB1bnBhcnNlYWJsZSAoQ0FTU0FORFJBLTUwNDEpCiAqIHBvb2wgW0NvbXByZXNzZWRdUmFuZG9tQWNjZXNzUmVhZGVyIG9iamVjdHMgb24gdGhlIHBhcnRpdGlvbmVkIHJlYWQgcGF0aAogICAoQ0FTU0FORFJBLTQ5NDIpCiAqIEFkZCBkZWJ1ZyBsb2dnafeZS0sAAAFP3jyyXAAQMTkxOSkKICogYWxsb3cgbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtNgAAAQB0aXRpb25lciBpbiBzc3RhYmxlIG1ldGFkYXRhIGNvbXBvbmVudCAoQ0FTU0FORFJBLTM0MDcpCiAqIGFkZCBuZXcgdXBncmFkZXNzdGFibGVzIG5vZGV0b29sIGNvbW1hbmQgKENBU1NBTkRSQS0zNDA2KQogKiBza2lwIC0tZGVidWcgcmVxdWlyZW1lbnQgdG8gc2VlIGNvbW1vbiBleGNlcHRpb25zIGluIENMSSAoQ0FTU0FORFJBLTM1MDgpCiAqIGZpeCBpbmNvcnJlY3QgcXVlcnkgcmVzdWx0cyBkdWUgdG8gaW52YWxpZCBtYXggdGltZXN0YW1wIChDJO8InQAAAU/ePLJcABAqIHRydW5jYXRlIGhpbnRzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC02AAABAG1lIHNzdGFibGVzIChDQVNTQU5EUkEtODMxNikKICogSW52YWxpZGF0ZSBwcmVwYXJlZCBCQVRDSCBzdGF0ZW1lbnRzIHdoZW4gcmVsYXRlZCB0YWJsZXMKICAgb3Iga2V5c3BhY2VzIGFyZSBkcm9wcGVkIChDQVNTQU5EUkEtODY1MikKICogRml4IG1pc3NpbmcgcmVzdWx0cyBpbiBzZWNvbmRhcnkgaW5kZXggcXVlcmllcyBvbiBjb2xsZWN0aW9ucwogICB3aXRoIEFMTE9XIEZJTFRFUklORyAoQ0FTU0FORFJBLTg0MjEpCiAqIEV4cG9zZSBFc3RpbWFMUrj4AAABT948slwAEGludGVkSGFuZG9mZiB2aWEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTYAAAEAIHJlc3RyaWN0IHJlcGFpciBzdHJlYW1pbmcgdG8gc3BlY2lmaWMgY29sdW1uZmFtaWxpZXMgKENBU1NBTkRSQS0yMjgwKQogKiBkb24ndCBib3RoZXIgcGVyc2lzdGluZyBjb2x1bW5zIHNoYWRvd2VkIGJ5IGEgcm93IHRvbWJzdG9uZSAoQ0FTU0FORFJBLTI1ODkpCiAqIHJlc2V0IENGIGFuZCBTQyBkZWxldGlvbiB0aW1lcyBhZnRlciBnY19ncmFjZSAoQ0FTU0FORFJBLTIzMTcpCiAqIG9wdGltaXplIGF3YXkgc2VlayB3aGVuIGNvbXBhY3Rpbmcgd8H1vfIAAAFP3jyyXAAQUkEtNDYxMikKTWVyZ2VkIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtNgAAAQBpbnRlcnZhbCB0byAxbXMgKENBU1NBTkRSQS05MjcxKQogKiBGaXggUElUUiBjb21taXRsb2cgcmVwbGF5IChDQVNTQU5EUkEtOTE5NSkKICogR0NJbnNwZWN0b3IgbG9ncyB2ZXJ5IGRpZmZlcmVudCB0aW1lcyAoQ0FTU0FORFJBLTkxMjQpCiAqIEZpeCBkZWxldGluZyBmcm9tIGFuIGVtcHR5IGxpc3QgKENBU1NBTkRSQS05MTk4KQogKiBVcGRhdGUgdHVwbGUgYW5kIGNvbGxlY3Rpb24gdHlwZXMgdGhhdCB1c2UgYSB1c2VyLWRlZmluZWQgdHlwZSB3lDPsjQAAAU/ePLJcABBzc2FuZHJhLXNodWZmbGUgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC02AAABAGQgc3N0YWJsZXMgKENBU1NBTkRSQS04Nzc4KQogKiBBZGQgbm9kZXRvb2wgc3RhdHVzaGFuZG9mZi9zdGF0dXNiYWNrdXAgKENBU1NBTkRSQS04OTEyKQogKiBVc2Ugc3Rkb3V0IGZvciBwcm9ncmVzcyBhbmQgc3RhdHMgaW4gc3N0YWJsZWxvYWRlciAoQ0FTU0FORFJBLTg5ODIpCiAqIENvcnJlY3RseSBpZGVudGlmeSAyaSBkYXRhZGlyIGZyb20gb2xkZXIgdmVyc2lvbnMgKENBU1NBTkRSQS05MTE2KQpNZXJnZWQgZnJvbSAyLjA6CiAqIElnbm9yZSDJZRRyAAABT948slwAEHJlcGxpY2F0aW9uIHN0cmEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTYAAAEAZ2FsU3RhdGVFeGNlcHRpb24gaW4gQ3FsUGFnaW5nUmVjb3JkUmVhZGVyIChDQVNTQU5EUkEtNzE5OCkKICogRml4IHRoZSBJbnZlcnRlZEluZGV4IHRyaWdnZXIgZXhhbXBsZSAoQ0FTU0FORFJBLTcyMTEpCiAqIEFkZCAtLXJlc29sdmUtaXAgb3B0aW9uIHRvICdub2RldG9vbCByaW5nJyAoQ0FTU0FORFJBLTcyMTApCiAqIHJlZHVjZSBnYXJiYWdlIG9uIGNvZGVjIGZsYWcgZGVzZXJpYWxpemF0aW9uIChDQVNTQU5EUkEtNzI0NCkgCiAqIEZpeCBkdXsx7AkADH37aDTorQAAAU/ePLJcABBhbWUgb24gZWFjaCBub2RlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC04AAABACB0aWVyZWQgY29tcGFjdGlvbgogICBzdHJhdGVneSAoQ0FTU0FORFJBLTM2NjYpCiAqIERvbid0IGlnbm9yZSBJT0V4Y2VwdGlvbiBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTM2NTUpCiAqIEZpeCBhc3NlcnRpb24gZXJyb3IgZm9yIENGIHdpdGggZ2NfZ3JhY2U9MCAoQ0FTU0FORFJBLTM1NzkpCiAqIFNodXRkb3duIFBhcmFsbGVsQ29tcGFjdGlvbiByZWR1Y2VyIGV4ZWN1dG9yIGFmdGVyIHVzZSAoQ0FTU0FORFJBLTM3MTEpCiAqIEF2b2nSgLd+AAABT948slwAEHVsdCBzZXRzIAogICAoQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTgAAAEAbiBzdGF0ZW1lbnQKICAgKENBU1NBTkRSQS0zMTI5KQogKiBDdXN0b21UVGhyZWFkUG9vbFNlcnZlciB0byBsb2cgVFRyYW5zcG9ydEV4Y2VwdGlvbiBhdCBERUJVRyBsZXZlbAogICAoQ0FTU0FORFJBLTMxNDIpCiAqIGFsbG93IHRvcG9sb2d5IHNvcnQgdG8gd29yayB3aXRoIG5vbi11bmlxdWUgcmFjayBuYW1lcyBiZXR3ZWVuIAogICBkYXRhY2VudGVycyAoQ0FTU0FORFJBLTMxNTIpCiAqIEltcHJvdmUgY2FjaGluZyBvZiBzYW1lLXZlcnNpb24gTX5U/aUAAAFP3jyyXAAQMCkKICogQ2xlYW4gdXAgSQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtOAAAAQBuZyB0cnVuY2F0ZSAoQ0FTU0FORFJBLTMzOTkpCiAqIGZpeCBkaXNwbGF5aW5nIGNmZGVmIGVudHJpZXMgZm9yIHN1cGVyIGNvbHVtbmZhbWlsaWVzIChDQVNTQU5EUkEtMzQxNSkKCgoxLjAuMQogKiBhY3F1aXJlIHJlZmVyZW5jZXMgZHVyaW5nIGluZGV4IGJ1aWxkIHRvIHByZXZlbnQgZGVsZXRlIHByb2JsZW1zCiAgIG9uIFdpbmRvd3MgKENBU1NBTkRSQS0zMzE0KQogKiBkZXNjcmliZV9yaW5nIHNob3VsZCBpbmNsdWRlIGRhdGFjZW50ZXIvdG9wyAhxXQAAAU/ePLJcABBlc3RzIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC04AAABAGFzIG9wZW5lZCBiZWZvcmUgZHJvcHBpbmcgaXQKICAgKENBU1NBTkRSQS0zNTgwKQogKiByYW5nZSBhbmQgaW5kZXggc2NhbnMgbm93IG9ubHkgc2VuZCByZXF1ZXN0cyB0byBlbm91Z2ggcmVwbGljYXMgdG8KICAgc2F0aXNmeSByZXF1ZXN0ZWQgQ0wgKyBSUiAoQ0FTU0FORFJBLTM1OTgpCiAqIHVzZSBjYW5ub25pY2FsIGhvc3QgZm9yIGxvY2FsIG5vZGUgaW4gbm9kZXRvb2wgaW5mbyAoQ0FTU0FORFJBLTM1NTYpCiAqIHJlbW92ZSBub25sb2NhbCBYTc8XAAABT948slwAEHRhYmxlIGZyb20gdGhyaWYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTgAAAEAZ2VzIG9uIGRpcmVjdG9yeSBjcmVhdGlvbiBlcnJvciBhdCBzdGFydHVwIChDQVNTQU5EUkEtNTgxOCkKICogUHJvcGVyIG51bGwgaGFuZGxlIGZvciBJRiB3aXRoIG1hcCBlbGVtZW50IGFjY2VzcyAoQ0FTU0FORFJBLTcxNTUpCiAqIEltcHJvdmUgY29tcGFjdGlvbiB2aXNpYmlsaXR5IChDQVNTQU5EUkEtNzI0MikKICogQ29ycmVjdGx5IGRlbGV0ZSBzY2hlZHVsZWQgcmFuZ2UgeGZlcnMgKENBU1NBTkRSQS03MTQzKQogKiBNYWtlIGJhdGNobG9nIMyUuMYAAAFP3jyyXAAQIGxlYWsgaW4gZXZlbnQgbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtOAAAAQBzdGVhZCBvZiBwb2ludGVycyB0byBkYXRhIHJvdwogICAoQ0FTU0FORFJBLTIwNDUpCiAqIHN0b3JlIGhpbnRzIGluIHRoZSBjb29yZGluYXRvciBub2RlIGluc3RlYWQgb2YgaW4gdGhlIGNsb3Nlc3QgcmVwbGljYSAKICAgKENBU1NBTkRSQS0yOTE0KQogKiBhZGQgcm93X2NhY2hlX2tleXNfdG9fc2F2ZSBDRiBvcHRpb24gKENBU1NBTkRSQS0xOTY2KQogKiBjaGVjayBjb2x1bW4gZmFtaWx5IHZhbGlkaXR5IGluIG5vZGV0b29sIHJlcGFpciAoQ0FTF4+pBwAAAU/ePLJcABBsIGNvbW1pdGxvZwogICBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC04AAABAHdheSBzZWVrIHdoZW4gY29tcGFjdGluZyB3aWRlIHJvd3MgKENBU1NBTkRSQS0yODc5KQogKiBzaW5nbGUtcGFzcyBzdHJlYW1pbmcgKENBU1NBTkRSQS0yNjc3LCAyOTA2LCAyOTE2LCAzMDAzKQogKiB1c2UgcmVmZXJlbmNlIGNvdW50aW5nIGZvciBkZWxldGluZyBzc3RhYmxlcyBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gR0MKICAgKENBU1NBTkRSQS0yNTIxLCAzMTc5KQogKiBzdG9yZSBoaW50cyBhcyBzZXJpYWxpemVkIG11dGF0aW9ucyBpbnN0ZWHpqLr+AAABT948slwAEHQgZnJvbSBjb21wYWN0aW8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTgAAAEAZTJqc29uIHRvIHdvcmsgb24gaW5kZXggc3N0YWJsZSBmaWxlcyAoQ0FTU0FORFJBLTMwNTkpCiAqIGFsd2F5cyBoaW50IGNvdW50ZXJzIChDQVNTQU5EUkEtMzA5OSkKICogZml4IGxvZzRqIGluaXRpYWxpemF0aW9uIGluIEVtYmVkZGVkQ2Fzc2FuZHJhU2VydmljZSAoQ0FTU0FORFJBLTI4NTcpCiAqIHJlbW92ZSBnb3NzaXAgc3RhdGUgd2hlbiBhIG5ldyBJUCB0YWtlcyBvdmVyIGEgdG9rZW4gKENBU1NBTkRSQS0zMDcxKQogKiB3b3JrIGFyb3VuZBNFDmUAAAFP3jyyXAAQQU5EUkEtMjM4NywKICAgQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtOAAAAQA0ODcpCiAqIEZpeCB1c2luZyBub24tdXRmOC1hd2FyZSBjb21wYXJpc29uIGFzIGEgc2FuaXR5IGNoZWNrLgogICAoQ0FTU0FORFJBLTQ5MykKICogSW1wcm92ZSBkZWZhdWx0IGdhcmJhZ2UgY29sbGVjdG9yIG9wdGlvbnMgKENBU1NBTkRSQS01MDQpCiAqIEFkZCAibm9kZXByb2JlIGZsdXNoIiAoQ0FTU0FORFJBLTUwNSkKICogcmVtb3ZlIE5vdEZvdW5kRXhjZXB0aW9uIGZyb20gZ2V0X3NsaWNlIHRocm93cyBsaXN0IChDQVNTQU5EUkEtNTE4KQogFKn49wAAAU/ePLJcABBoYXMgbm8gQ0ZzIChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC04AAABAEFORFJBLTQxNDUpCiAqIGFkZCBhdXRvX3NuYXBzaG90IG9wdGlvbiBhbGxvd2luZyBkaXNhYmxpbmcgc25hcHNob3QgYmVmb3JlIGRyb3AvdHJ1bmNhdGUKICAgKENBU1NBTkRSQS0zNzEwKQogKiBhbGxvdyBzaG9ydCBzbml0Y2ggbmFtZXMgKENBU1NBTkRSQS00MTMwKQoKCjEuMS1iZXRhMgogKiByZW5hbWUgbG9hZGVkIHNzdGFibGVzIHRvIGF2b2lkIGNvbmZsaWN0cyB3aXRoIGxvY2FsIHNuYXBzaG90cwogICAoQ0FTU0FORFJBLTM5NjcpCiAqIHPXo03wAAABT948slwAEDc4OTUpCiAqIEZpeGVkIEkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTgAAAEAUkEtMjYxMCwgMzE5NCkKICogZXhwb3NlIHRoZSBhYmlsaXR5IHRvIHJlcGFpciB0aGUgZmlyc3QgcmFuZ2UgKGFzIHJldHVybmVkIGJ5IHRoZQogICBwYXJ0aXRpb25lcikgb2YgYSBub2RlIChDQVNTQU5EUkEtMjYwNikKICogU3RyZWFtcyBDb21wcmVzc2lvbiAoQ0FTU0FORFJBLTMwMTUpCiAqIGFkZCBhYmlsaXR5IHRvIHVzZSBtdWx0aXBsZSB0aHJlYWRzIGR1cmluZyBhIHNpbmdsZSBjb21wYWN0aW9uCiAgIChDQVNTQU5EUkEtMjkwMSkKICogbfH51yMAAAFP3jyyXAAQZwogICBrZXkgb3JkZXIgKAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtOAAAAQBDQVNTQU5EUkEtNzk4NSkKICogRml4IEFycmF5SW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbiB3aGVuIGdlbmVyYXRpbmcgZXJyb3IgbWVzc2FnZQogICBmb3Igc29tZSBDUUwgc3ludGF4IGVycm9ycyAoQ0FTU0FORFJBLTg0NTUpCiAqIFNjYWxlIG1lbXRhYmxlIHNsYWIgYWxsb2NhdGlvbiBsb2dhcml0aG1pY2FsbHkgKENBU1NBTkRSQS03ODgyKQogKiBjYXNzYW5kcmEtc3RyZXNzIHNpbXVsdGFuZW91cyBpbnNlcnRzIG92ZXIgc2FtZSBzZWVkIChD8cITdwAAAU/ePLJcABBlIGJldHdlZW4gY2xlYW51AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC04AAABAF0gKENBU1NBTkRSQS02NzgpCiAqIHByZXNlbnQgYSB1c2VmdWwgbWVhc3VyZSBvZiBjb21wYWN0aW9uIHByb2dyZXNzIGluIEpNWCAoQ0FTU0FORFJBLTU5OSkKICogYWRkIGJpbi9zc3RhYmxla2V5cyAoQ0FTU05BRFJBLTY3OSkKICogYWRkIENvbnNpc3RlbmN5TGV2ZWwuQU5ZIChDQVNTQU5EUkEtNjg3KQogKiBtYWtlIHJlbW92ZXRva2VuIHJlbW92ZSBub2RlcyBmcm9tIGdvc3NpcCBlbnRpcmVseSAoQ0FTU0FORFJBLTY0NCkKICogYWRkIGFiaWxAU6EtAAABT948slwAEGwgc3RvcmFnZSBwb3J0IGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTgAAAEAZXhwcmVzc2lvbnMgYWdhaW5zdCBjb2x1bW5zIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIHRoZSAKICAgU2xpY2VQcmVkaWNhdGUgKENBU1NBTkRSQS0xNDEwKQogKiBjb25maWctY29udmVydGVyIHByb3Blcmx5IGhhbmRsZXMgc25pdGNoZXMgYW5kIGZyYW1lZCBzdXBwb3J0IAogICAoQ0FTU0FORFJBLTE0MjApCiAqIHJlbW92ZSBrZXlzcGFjZSBhcmd1bWVudCBmcm9tIG11bHRpZ2V0X2NvdW50IChDQVNTQU5EUkEtMTQyMikKICogYWxsb3cgc3BlY2lmebJ96Y8AAAFP3jyyXAAQU0FORFJBLTU5MzApCk1lcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtOAAAAQBudGVybm9kZSBlbmNyeXB0aW9uIGlzIGVuYWJsZWQgKENBU1NBTkRSQS0zMjU3KQogKiBGQlV0aWxpdGllcy5oZXhUb0J5dGVzKFN0cmluZykgdG8gdGhyb3cgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIHdoZW4gc3RyaW5nCiAgIGNvbnRhaW5zIG5vbi1oZXggY2hhcmFjdGVycyAoQ0FTU0FORFJBLTMyMzEpCiAqIEtlZXAgU2ltcGxlU25pdGNoIHByb3hpbWl0eSBvcmRlcmluZyB1bmNoYW5nZWQgZnJvbSB3aGF0IHRoZSBTdHJhdGVneQogICBnZW5lcmF0UyKoSwAMklh7QqovAAABT948slwAEC0yMTg3KQogKiBmaXggZm8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTsAAAEAY29sdW1uIGVzY2FwaW5nIHdoZW4gZGVzY3JpYmluZyBUaHJpZnQgdGFibGVzCiAgIGluIENRTDMgbW9kZSAoQ0FTU0FORFJBLTQ5NTUpCiAqIGFkZCBiYXNpYyBhdXRoZW50aWNhdGlvbiBzdXBwb3J0IGZvciBQaWcgQ2Fzc2FuZHJhU3RvcmFnZSAoQ0FTU0FORFJBLTMwNDIpCiAqIGZpeCBDUUwyIEFMVEVSIFRBQkxFIGNvbXBhY3Rpb25fc3RyYXRlZ3lfY2xhc3MgYWx0ZXJpbmcgKENBU1NBTkRSQS00OTY1KQpNZXJnZWQgZnJvbSAxLjE6CiAqIEZhbBNdoZUAAAFP3jyyXAAQdGlhbGlzYXRpb24gZm9yIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtOwAAAQBleHBvc2UgUGhpQ29udmljdFRocmVzaG9sZCAoQ0FTU0FORFJBLTEwNTMpCiAqIG1ha2UgcmVwYWlyIG9mIFJGPT0xIGEgbm8tb3AgKENBU1NBTkRSQS0xMDkwKQogKiBpbXByb3ZlIGRlZmF1bHQgSlZNIEdDIG9wdGlvbnMgKENBU1NBTkRSQS0xMDE0KQogKiBmaXggU2xpY2VQcmVkaWNhdGUgc2VyaWFsaXphdGlvbiBpbnNpZGUgSGFkb29wIGpvYnMgKENBU1NBTkRSQS0xMDQ5KQogKiBjbG9zZSBUaHJpZnQgc29ja2V0cyBpbiBIYWRvb3AgQ29sdW1ueGlL+wAAAU/ePLJcABBBLTM5MikKICogcmVtb3ZlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC07AAABAGVwYWlyIGlmIHBvc3NpYmxlIChDQVNTQU5EUkEtODMxMikKICogRml4IGhpbnRzIHNlcmlhbGl6ZWQgc2l6ZSBjYWxjdWxhdGlvbiAoQ0FTU0FORFJBLTg1ODcpCgoKMi4xLjIKICogKGNxbHNoKSBwYXJzZV9mb3JfdGFibGVfbWV0YSBlcnJvcnMgb3V0IG9uIHF1ZXJpZXMgd2l0aCB1bmRlZmluZWQKICAgZ3JhbW1hcnMgKENBU1NBTkRSQS04MjYyKQogKiAoY3Fsc2gpIEZpeCBTRUxFQ1QgLi4uIFRPS0VOKCkgZnVuY3Rpb24gYnJva2VuIGluIEMqIDKH3h6zAAABT948slwAEG9tcGFyaXNvbiBpZiB0aW0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTsAAAEAU1NBTkRSQS03OTY0KQogKiBSZWR1Y2UgY2Fzc2FuZHJhLXN0cmVzcyBzYW1wbGluZyBtZW1vcnkgcmVxdWlyZW1lbnRzIChDQVNTQU5EUkEtNzkyNikKICogRW5zdXJlIG1lbXRhYmxlIGZsdXNoIGNhbm5vdCBleHBpcmUgY29tbWl0IGxvZyBlbnRyaWVzIGZyb20gaXRzIGZ1dHVyZSAoQ0FTU0FORFJBLTgzODMpCiAqIE1ha2UgcmVhZCAiZGVmcmFnIiBhc3luYyB0byByZWNsYWltIG1lbXRhYmxlcyAoQ0FTU0FORFJBLTg0NTkpCiAqIFJlbW92ZSB0bZMmI90AAAFP3jyyXAAQMTQyOSkKICogcmVtb3ZlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtOwAAAQBBUEkgCiAgIChDQVNTQU5EUkEtNTEzOSkKICogbW9yZSByb2J1c3Qgc29sdXRpb24gdG8gaW5jb21wbGV0ZSBjb21wYWN0aW9ucyArIGNvdW50ZXJzIChDQVNTQU5EUkEtNTE1MSkKICogQ2hhbmdlIG9yZGVyIG9mIGRpcmVjdG9yeSBzZWFyY2hpbmcgZm9yIGMqLmluLnNoIChDQVNTQU5EUkEtMzk4MykKICogQWRkIHRvb2wgdG8gcmVzZXQgU1NUYWJsZSBjb21wYWN0aW9uIGxldmVsIGZvciBMQ1MgKENBU1NBTkRSQS01MjcxKQogKiBBbGxvdyBjdXN097EYNQAAAU/ePLJcABBhY2NlcHQgdGhlIGNvbHVtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC07AAABACBMMCBjb21wYWN0aW9uIG1heSBvdmVybGFwIGluIEwxIChDQVNTQU5EUkEtNTkwNykKICogTmV3IHNzdGFibGVzcGxpdCB0b29sIHRvIHNwbGl0IGxhcmdlIHNzdGFibGVzIG9mZmxpbmUgKENBU1NBTkRSQS00NzY2KQogKiBGaXggcG90ZW50aWFsIGRlYWRsb2NrIGluIG5hdGl2ZSBwcm90b2NvbCBzZXJ2ZXIgKENBU1NBTkRSQS01OTI2KQogKiBEaXNhbGxvdyBpbmNvbXBhdGlibGUgdHlwZSBjaGFuZ2UgaW4gQ1FMMyAoQ0FTU0FORFJBLTU4ODIpCk1zjJXJAAABT948slwAECBqYXZhIHN0cmVzcyAoQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTsAAAEAQ0FTU0FORFJBLTQ5MTcpCiAqIEltcHJvdmUgTGV2ZWxlZFNjYW5uZXIgd29yayBlc3RpbWF0aW9uIChDQVNTQU5EUkEtNTI1MCwgNTQwNykKICogUmVwbGFjZSBjb21wYWN0aW9uIGxvY2sgd2l0aCBydW5XaXRoQ29tcGFjdGlvbnNEaXNhYmxlZCAoQ0FTU0FORFJBLTM0MzApCiAqIENoYW5nZSBNZXNzYWdlIElEcyB0byBpbnRzIChDQVNTQU5EUkEtNTMwNykKICogTW92ZSBzc3RhYmxlIGxldmVsIGluZm9ybWF0aW9uIGludG8gdGhlIFN0YXRzIGNvbVQis7IAAAFP3jyyXAAQQU5EUkEtNDI2NCkKICogQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtOwAAAQBrZWVwIHRoZSByZXBsaWNhIHNldCBjb25zdGFudCB0aHJvdWdob3V0IHRoZSByZWFkIHJlcGFpciBwcm9jZXNzCiAgIChDQVNTQU5EUkEtOTM3KQogKiBhbGxvdyBxdWVyeWluZyBnZXRBbGxSYW5nZXMgd2l0aCBlbXB0eSB0b2tlbiBsaXN0IChDQVNTQU5EUkEtOTMzKQogKiBmaXggY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBpbnZlcnNpb24gaW4gY2x1c3RlcnRvb2wgKENBU1NBTkRSQS05NDIpCiAqIGZpeCByYWNlIGNvbmRpdGlvbiB0aGF0IGNvdWxkB4X/0QAAAU/ePLJcABByaW5nIG1vdmUgd2hlbiBsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC07AAABAFNUYWJsZVdyaXRlciAoQ0FTU0FORFJBLTg5NzgpCiAqIEFkZCBzaHV0ZG93biBnb3NzaXAgc3RhdGUgdG8gcHJldmVudCB0aW1lb3V0cyBkdXJpbmcgcm9sbGluZyByZXN0YXJ0cyAoQ0FTU0FORFJBLTgzMzYpCiAqIEZpeCBydW5uaW5nIHdpdGggamF2YS5uZXQucHJlZmVySVB2NkFkZHJlc3Nlcz10cnVlIChDQVNTQU5EUkEtOTEzNykKICogRml4IGZhaWxlZCBib290c3RyYXAvcmVwbGFjZSBhdHRlbXB0cyBiZWluZyBwZXJzaXN0ZWQgaW4gc3lzdGVP6LpgAAABT948slwAEGV0dHkgaXNzdWUgY2F1c2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTsAAAEAIG92ZXJsYXBwaW5nIE11bHRpU2xpY2VzIChDQVNTQU5EUkEtNzI3OSkKICogRml4IERhdGFPdXRwdXRUZXN0IG9uIFdpbmRvd3MgKENBU1NBTkRSQS03MjY1KQogKiBFbWJlZGRlZCBzZXRzIGluIHVzZXIgZGVmaW5lZCBkYXRhLXR5cGVzIGFyZSBub3QgdXBkYXRpbmcgKENBU1NBTkRSQS03MjY3KQogKiBBZGQgdHVwbGUgdHlwZSB0byBDUUwvbmF0aXZlIHByb3RvY29sIChDQVNTQU5EUkEtNzI0OCkKICogRml4IENxbFBhZ2luZ1JlY29yZFJlYWRlcg6KOZkAAAFP3jyyXAAQZGVyIChDQVNTQU5EUkEtNQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtOwAAAQB3aGVuIGRyb3BwaW5nIG1lc3NhZ2VzIChDQVNTQU5EUkEtMTY2MCkKICogaW5jbHVkZSB1bnJlYWNoYWJsZSBub2RlcyBpbiBkZXNjcmliZVNjaGVtYVZlcnNpb25zIChDQVNTQU5EUkEtMTY3OCkKICogQXZvaWQgZHJvcHBpbmcgbWVzc2FnZXMgb2ZmIHRoZSBjbGllbnQgcmVxdWVzdCBwYXRoIChDQVNTQU5EUkEtMTY3NikKICogZml4IGpuYSBlcnJubyByZXBvcnRpbmcgKENBU1NBTkRSQS0xNjk0KQogKiBhZGQgZnJpZW5kbGllciBlcnJvciBmb3Igo6pLlAAAAU/ePLJcABAtNTA2OCkKICogRml4IGVyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC07AAABAExJIGdldCByZWNvZ25pdGlvbiBvZiBzdXBlcmNvbHVtbnMgKENBU1NBTkRSQS0xODk5KQogKiBlbmFibGUga2VlcGFsaXZlIG9uIGludHJhLWNsdXN0ZXIgc29ja2V0cyAoQ0FTU0FORFJBLTE3NjYpCiAqIGNvdW50IHRpbWVvdXRzIHRvd2FyZHMgZHluYW1pY3NuaXRjaCBsYXRlbmNpZXMgKENBU1NBTkRSQS0xOTA1KQogKiBFeHBvc2UgaW5kZXgtYnVpbGRpbmcgc3RhdHVzIGluIEpNWCArIGNsaSBzY2hlbWEgZGVzY3JpcHRpb24KICAgKENBU1NBTkROwYaQAAABT948slwAEGVsZWN0aW5nCiAgIGZyb20AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILTsAAAEAUkEtMjE3MiwgLTIxNzQpCiAqIEhhbmRsZSB3aG9sZS1yb3cgZGVsZXRpb25zIGluIENGT3V0cHV0Rm9ybWF0IChDQVNTQU5EUkEtMjAxNCkKICogTWFrZSBtZW10YWJsZV9mbHVzaF93cml0ZXJzIGZsdXNoIGluIHBhcmFsbGVsIChDQVNTQU5EUkEtMjE3OCkKICogQWRkIGNvbXBhY3Rpb25fcHJlaGVhdF9rZXlfY2FjaGUgb3B0aW9uIChDQVNTQU5EUkEtMjE3NSkKICogcmVmYWN0b3Igc3RyZXNzLnB5IHRvIGhhdmUgb25seSBvbmUgY29weSBvZiB0aLqPfcQAAAFP3jyyXAAQYWRkaW5nIGNvbGxlY3RpbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtOwAAAQA1KQogKiBwZXIta2V5c3BhY2UgcmVwbGljYXRpb24gZmFjdG9yeSBhbmQgcmVwbGljYXRpb24gc3RyYXRlZ3kgKENBU1NBTkRSQS02MjApCiAqIHRyYWNrIGxhdGVuY3kgaW4gbWljcm9zZWNvbmRzIChDQVNTQU5EUkEtNzMzKQogKiBhZGQgZGVzY3JpYmVfIFRocmlmdCBtZXRob2RzLCBkZXByZWNhdGluZyBnZXRfc3RyaW5nX3Byb3BlcnR5IGFuZCAKICAgZ2V0X3N0cmluZ19saXN0X3Byb3BlcnR5CiAqIGpteCBpbnRlcmZhY2UgZm9yIHRyYWNraW5nbEX05gAAAU/ePLJcABA1NTQ1KQogKiBSZXBsYWNlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC07AAABAFNBTkRSQS00NzAwKQogKiBJbXByb3ZlIElBdXRob3JpdHkgaW50ZXJmYWNlIGJ5IGludHJvZHVjaW5nIGZpbmUtZ3JhaW5lZAogICBhY2Nlc3MgcGVybWlzc2lvbnMgYW5kIGdyYW50L3Jldm9rZSBjb21tYW5kcyAoQ0FTU0FORFJBLTQ0OTAsIDQ2NDQpCiAqIGZpeCBhc3N1bXB0aW9uIGVycm9yIGluIENMSSB3aGVuIHVwZGF0aW5nL2Rlc2NyaWJpbmcga2V5c3BhY2UgCiAgIChDQVNTQU5EUkEtNDMyMikKICogQWRkcyBvZmZsaW5lIHNzdGFibGVzY3IMsRtIAAymte17t14AAAFP3jyyXAAQb24gYSByZXN0YXJ0ZWQgcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtPQAAAQByYWluIG9wZXJhdGlvbnMgc28gQ0wucmVjb3ZlciBpcyBubyBsb25nZXIgCiAgIG5lY2Vzc2FyeSAoQ0FTU0FORFJBLTE0MDgpCiAqIHJlbW92ZWQga2V5c3BhY2UgZnJvbSBkZXNjcmliZV9zcGxpdHMgbWV0aG9kIChDQVNTQU5EUkEtMTQyNSkKICogcmVuYW1lIGNoZWNrX3NjaGVtYV9hZ3JlZW1lbnQgdG8gZGVzY3JpYmVfc2NoZW1hX3ZlcnNpb25zCiAgIChDQVNTQU5EUkEtMTQ3OCkKICogZml4IFFVT1JVTSBjYWxjdWxhdGlvbiBmb3IgUkYgPiAzb/M3WQAAAU/ePLJcABBSQS00MDMzKQogKiBGaXggAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC09AAABAG9uZGFyeSBpbmRleGVzCiAgIChDQVNTQU5EUkEtMzg0NCkKICogbWFrZSBDTEkgYHNob3cgc2NoZW1hYCB0byB1c2Ugb3V0cHV0IHN0cmVhbSBkaXJlY3RseSBpbnN0ZWFkCiAgIG9mIFN0cmluZ0J1aWxkZXIgKENBU1NBTkRSQS0zODQyKQogKiByZW1vdmUgdGhlIHdhaXQgb24gaGludCBmdXR1cmUgZHVyaW5nIHdyaXRlIChDQVNTQU5EUkEtMzg3MCkKICogKGNxbHNoKSBpZ25vcmUgbWlzc2luZyBDZkRlZiBvcHRzIChDQVNTQU5EUkEtMzkzMykKICqLUo5TAAABT948slwAEENSSUJFIENPTFVNTkZBTUkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILT0AAAEAUkEtNzYxNCkKICogKGNxbHNoKSBGaXggZGVzZXJpYWxpemF0aW9uIG9mIGJsb2JzIChDQVNTQU5EUkEtNzYwMykKICogVXNlICJrZXlzcGFjZSB1cGRhdGVkIiBzY2hlbWEgY2hhbmdlIG1lc3NhZ2UgZm9yIFVEVCBjaGFuZ2VzIGluIHYxIGFuZAogICB2MiBwcm90b2NvbHMgKENBU1NBTkRSQS03NjE3KQogKiBGaXggdHJhY2luZyBvZiByYW5nZSBzbGljZXMgYW5kIHNlY29uZGFyeSBpbmRleCBsb29rdXBzIHRoYXQgYXJlIGxvY2FsCiAgIHRvIHRoZc1alugAAAFP3jyyXAAQbXBvc2l0ZVR5cGUgdG8gYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtPQAAAQAuMSBGUCB0byBMQ1MgYnkgZGVmYXVsdCAoQ0FTU0FORFJBLTUwMjkpCiAqIEZpeCBwcmVwYXJpbmcgaW5zZXJ0IHF1ZXJpZXMgKENBU1NBTkRSQS01MDE2KQogKiBGaXggcHJlcGFyaW5nIHF1ZXJpZXMgd2l0aCBjb3VudGVyIGluY3JlbWVudCAoQ0FTU0FORFJBLTUwMjIpCiAqIEZpeCBwcmVwYXJpbmcgdXBkYXRlcyB3aXRoIGNvbGxlY3Rpb25zIChDQVNTQU5EUkEtNTAxNykKICogRG9uJ3QgZ2VuZXJhdGUgVVVJRCBiYXNlZCBvbiBvdGhlciBub2RlKE5ARgAAAU/ePLJcABBzdHJlc3MuamF2YSBpbnNlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC09AAABAGFtZXMsIHdoaWNoIGFyZSBub3cgYnl0ZSBhcnJheXMuCiAgICAgIERlZmF1bHQgY29tcGFyYXRvcnMgYXJlIHByb3ZpZGVkIGZvciBVVEY4LCBCeXRlcywgQXNjaWksIExvbmcgKGk2NCksCiAgICAgIGFuZCBVVUlEIHR5cGVzLgogICAgLSByZW1vdmVkIGNvbG9uLWRlbGltaXRlZCBzdHJpbmdzIGluIHRocmlmdCBhcGkgaW4gZmF2b3Igb2YgZXhwbGljaXQKICAgICAgc3RydWN0cyBzdWNoIGFzIENvbHVtblBhdGgsIENvbHVtblBhcmVudCwgZXRjLiAlzo/PAAABT948slwAEHlzdGVtcyAoQ0FTU0FORFIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILT0AAAEAaW5nIGVudHJpZXMgYWJvdXQgY29uY3VycmVudCByYW5nZSByZXF1ZXN0cyAoQ0FTU0FORFJBLTc1OTkpCiAqIChjcWxzaCkgRml4IERFU0NSSUJFIGZvciBOVFMga2V5c3BhY2VzIChDQVNTQU5EUkEtNzcyOSkKICogUmVtb3ZlIG5ldHR5IGJ1ZmZlciByZWYtY291bnRpbmcgKENBU1NBTkRSQS03NzM1KQogKiBQYXNzIG11dGF0ZWQgY2YgdG8gaW5kZXggdXBkYXRlciBmb3IgdXNlIGJ5IFBSU0kgKENBU1NBTkRSQS03NzQyKQogKiBJbmNsdWRlIHN0ctblPTEAAAFP3jyyXAAQbFBvaW50ZXJFeGNlcHRpbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtPQAAAQB2ZSBkdXBsaWNhdGVkIHdyaXRlLiAoQ0FTU0FORFJBLTY2MikKICogQWJvcnQgYm9vdHN0cmFwIGlmIElQIGlzIGFscmVhZHkgaW4gdGhlIHRva2VuIHJpbmcgKENBU1NBTkRSQS02NjMpCiAqIGluY3JlYXNlIGRlZmF1bHQgY29tbWl0bG9nIHN5bmMgcGVyaW9kLCBhbmQgd2FpdCBmb3IgbGFzdCBzeW5jIHRvIAogICBmaW5pc2ggYmVmb3JlIHN1Ym1pdHRpbmcgYW5vdGhlciAoQ0FTU0FORFJBLTY2OCkKCgowLjUuMCBSQzEKICogRml4IHBvdGVudGlhCjq8IgAAAU/ePLJcABByb3IgcmVzcG9uc2Ugd2hlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC09AAABAGQgc3RhdGVtZW50cyBpZiByZWxhdGVkIHRhYmxlcyBvcgogICBrZXlzcGFjZXMgYXJlIGRyb3BwZWQgKENBU1NBTkRSQS04NjkzKQogKiAoY3Fsc2gpIEhhbmRsZSB1bmljb2RlIEJPTSBhdCBzdGFydCBvZiBmaWxlcyAoQ0FTU0FORFJBLTg2MzgpCiAqIFN0b3AgY29tcGFjdGlvbnMgYmVmb3JlIGV4aXRpbmcgb2ZmbGluZSB0b29scyAoQ0FTU0FORFJBLTg2MjMpCiAqIFVwZGF0ZSB0b29scy9zdHJlc3MvUkVBRE1FLnR4dCB0byBtYXRjaCBjdXJyZW6SZTjrAAABT948slwAECBhbmQgbWVtb3J5IGlzIGwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILT0AAAEAciB3aWxsIG5ldmVyIGFkZCBpdHNlbGYgdG8gc2F2ZWQgZW5kcG9pbnRzIChDQVNTQU5EUkEtMzQ4NSkKCgoxLjAuNQogKiByZXZlcnQgQ0FTU0FORFJBLTM0MDcgKHNlZSBDQVNTQU5EUkEtMzU0MCkKICogZml4IGFzc2VydGlvbiBlcnJvciB3aGlsZSBmb3J3YXJkaW5nIHdyaXRlcyB0byBsb2NhbCBub2RlcyAoQ0FTU0FORFJBLTM1MzkpCgoKMS4wLjQKICogZml4IHNlbGYtaGludGluZyBvZiB0aW1lZCBvdXQgcmVhZCByZXBhaXIgdXBkYXRlcyBhboc3OZAAAAFP3jyyXAAQIGNvbmZpZyBmb3Igbm9kZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtPQAAAQByYmlkIHJlLWFkZGluZyBkcm9wcGVkIGNvdW50ZXIgY29sdW1ucyAoQ0FTU0FORFJBLTc4MzEpCiAqIEZpeCBDRk1ldGFEYXRhI2lzVGhyaWZ0Q29tcGF0aWJsZSgpIGZvciBQSy1vbmx5IHRhYmxlcyAoQ0FTU0FORFJBLTc4MzIpCiAqIEFsd2F5cyByZWplY3QgaW5lcXVhbGl0eSBvbiB0aGUgcGFydGl0aW9uIGtleSB3aXRob3V0IHRva2VuKCkKICAgKENBU1NBTkRSQS03NzIyKQogKiBBbHdheXMgc2VuZCBQYXhvcyBjb21taXQgdG8gYWxsIHJlcGxpEnwDYgAAAU/ePLJcABBSQS0yOTUzKQogKiBjaGVjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC09AAABAG50ZWQgaGFuZG9mZiAoQ0FTU0FORFJBLTEzMjcpCiAqIHB1c2ggRGF0YWNlbnRlclNoYXJkU3RyYXRlZ3kgY29uZmlndXJhdGlvbiBpbnRvIGtleXNwYWNlIGRlZmluaXRpb24sCiAgIGVsaW1pbmF0aW5nIGRhdGFjZW50ZXIucHJvcGVydGllcy4gKENBU1NBTkRSQS0xMDY2KQogKiBvcHRpbWl6ZSBmb3J3YXJkIHNsaWNlcyBzdGFydGluZyB3aXRoICcnIGFuZCBzaW5nbGUtaW5kZXgtYmxvY2sgbmFtZSAKICAgcXVlcmllcyBieSBza2lwcGluZyB0aGU16VNHAAABT948slwAECBpbiBQYWdlZFJhbmdlIHcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILT0AAAEAKQogKiBEdXBsaWNhdGUgcm93cyByZXR1cm5lZCB3aGVuIGluIGNsYXVzZSBoYXMgcmVwZWF0ZWQgdmFsdWVzIChDQVNTQU5EUkEtNjcwNikKICogQWRkIHRvb2xpbmcgdG8gZGV0ZWN0IGhvdCBwYXJ0aXRpb25zIChDQVNTQU5EUkEtNzk3NCkKICogRml4IGNhc3NhbmRyYS1zdHJlc3MgdXNlci1tb2RlIHRydW5jYXRpb24gb2YgcGFydGl0aW9uIGdlbmVyYXRpb24gKENBU1NBTkRSQS04NjA4KQogKiBPbmx5IHN0cmVhbSBmcm9tIHVucmVwYWlyZWQgc9TS4+wAAAFP3jyyXAAQZXJzIChDQVNTQU5EUkEtOAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtPQAAAQAgd2l0aCBuZXcgSUF1dGhvcml6ZXIgKENBU1NBTkRSQS00ODc0KQogKiBjbHFzaDogZml4IEtFWSBwc2V1ZG9jb2x1bW4gZXNjYXBpbmcgd2hlbiBkZXNjcmliaW5nIFRocmlmdCB0YWJsZXMKICAgaW4gQ1FMMyBtb2RlIChDQVNTQU5EUkEtNDk1NSkKICogYWRkIGJhc2ljIGF1dGhlbnRpY2F0aW9uIHN1cHBvcnQgZm9yIFBpZyBDYXNzYW5kcmFTdG9yYWdlIChDQVNTQU5EUkEtMzA0MikKICogZml4IENRTDIgQUxURVIgVEFCTEUgY29tcGFjdGlvbl9zjkOUfgAAAU/ePLJcABBWYWxpZGF0ZSBhcmd1bWVuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC09AAABACBzaXplIHRpZXJlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtNDcwNCkKICogUnVuIGxldmVsZWQgY29tcGFjdGlvbiBpbiBwYXJhbGxlbCAoQ0FTU0FORFJBLTQzMTApCiAqIEZpeCBwb3RlbnRpYWwgTlBFIGR1cmluZyBDRlMgcmVsb2FkIChDQVNTQU5EUkEtNDc4NikKICogQ29tcG9zaXRlIGluZGV4ZXMgbWF5IG1pc3MgcmVzdWx0cyAoQ0FTU0FORFJBLTQ3OTYpCiAqIE1vdmUgY29uc2lzdGVuY3kgbGV2ZWwgdG8gdGhlIHByb3RvY29sIGxldmVsICjj/OVjAAABT948slwAEEEtMjc0MykKICAgLSBzZXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILT0AAAEAIGJ5IGluZGV4IG9uCiAgIGEgbnVsbCBsaXN0IGNvbGxlY3Rpb24gKENBU1NBTkRSQS05MDc3KQogKiBCdWZmZXIgYmxvb20gZmlsdGVyIHNlcmlhbGl6YXRpb24gKENBU1NBTkRSQS05MDY2KQogKiBGaXggYW50aS1jb21wYWN0aW9uIHRhcmdldCBibG9vbSBmaWx0ZXIgc2l6ZSAoQ0FTU0FORFJBLTkwNjApCiAqIE1ha2UgRlJPWkVOIGFuZCBUVVBMRSB1bnJlc2VydmVkIGtleXdvcmRzIGluIENRTCAoQ0FTU0FORFJBLTkwNDcpCiAqIFByZXZlbnQgQXWAFl4ADLsSiOrabAAAAU/ePLJcABBuTWV0YWRhdGEgb2ZmLWhlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1AAAABAHJnaW5nIHJvdyB2ZXJzaW9ucyBpbiByYW5nZV9zbGljZSBmb3IgQ0wgPiBPTkUgKENBU1NBTkRSQS04ODQpCiAqIGRlZmF1bHQgd3JpdGUgQ29uc2lzdGVuY3lMZXZlbiBjaGFuZWQgZnJvbSBaRVJPIHRvIE9ORQogKiBmaXggZm9yIGluZGV4IGVudHJpZXMgc3Bhbm5pbmcgbW1hcCBidWZmZXIgYm91bmRhcmllcyAoQ0FTU0FORFJBLTg1NykKICogdXNlIGxleGljYWwgY29tcGFyaXNvbiBpZiB0aW1lIHBhcnQgb2YgVGltZVVVSURzIGFyZSB0aGUgc2GQ/M5YAAABT948slwAEHV0b3JzIHcvIGEgZnVsbCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUAAAAEAdGggYWxsIHJlYWQgY29tbWFuZHMgdG8gZGV0ZXJtaW5lIGNvbHVtbiBleHBpcmF0aW9uCiAgIChDQVNTQU5EUkEtNTE0OSkKICogU3RyZWFtaW5nIDIuMCAoQ0FTU0FORFJBLTUyODYsIDU2OTkpCiAqIENvbmRpdGlvbmFsIGNyZWF0ZS9kcm9wIGtzL3RhYmxlL2luZGV4IHN0YXRlbWVudHMgaW4gQ1FMMyAoQ0FTU0FORFJBLTI3MzcpCiAqIG1vcmUgcHJlLXRhYmxlIGNyZWF0aW9uIHByb3BlcnR5IHZhbGlkYXRpb24gKENBU1NBTkRSQS01NjkzKQogKi4talAAAAFP3jyyXAAQbHVtbnMsIEVtcHR5Q29sdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtQAAAAQAoY3Fsc2gpIE9yZGVyIFVEVHMgYWNjb3JkaW5nIHRvIGNyb3NzLXR5cGUgZGVwZW5kZW5jaWVzIGluIERFU0NSSUJFCiAgIG91dHB1dCAoQ0FTU0FORFJBLTc2NTkpCiAqIChjcWxzaCkgRml4IGhhbmRsaW5nIG9mIENBUyBzdGF0ZW1lbnQgcmVzdWx0cyAoQ0FTU0FORFJBLTc2NzEpCiAqIChjcWxzaCkgQ09QWSBUTy9GUk9NIGltcHJvdmVtZW50cyAoQ0FTU0FORFJBLTc0MDUpCiAqIFN1cHBvcnQgbGlzdCBpbmRleCBvcGVyYXRpb25zIHdpdGggY29u9HSXwwAAAU/ePLJcABAgRml4IHJhY2Ugd2hlbiBpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1AAAABAG4gYm90dGxlbmVjayAoQ0FTU0FORFJBLTE0ODEpCiAqIFByb3BlcnR5RmlsZVNuaXRjaCBjb25maWd1cmF0aW9uIGZpbGUgcmVuYW1lZCB0byAKICAgY2Fzc2FuZHJhLXRvcG9sb2d5LnByb3BlcnRpZXMKICogYWRkIGNsaSBzdXBwb3J0IGZvciBnZXRfcmFuZ2Vfc2xpY2VzIChDQVNTQU5EUkEtMTA4OCwgQ0FTU0FORFJBLTE2MTkpCiAqIE1ha2UgbWVtdGFibGUgZmx1c2ggdGhyZXNob2xkcyBwZXItQ0YgaW5zdGVhZCBvZiBnbG9iYWwgCiAgIChDQVM0KgJOAAABT948slwAECBkaXNhYmxlIGNhY2hlIHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUAAAAEAYW1lIHJwY190aW1lb3V0IHNldHRpbmdzIHRvIHJlcXVlc3RfdGltZW91dCAoQ0FTU0FORFJBLTUwMjcpCiAqIGFkZCBCRiB3aXRoIDAuMSBGUCB0byBMQ1MgYnkgZGVmYXVsdCAoQ0FTU0FORFJBLTUwMjkpCiAqIEZpeCBwcmVwYXJpbmcgaW5zZXJ0IHF1ZXJpZXMgKENBU1NBTkRSQS01MDE2KQogKiBGaXggcHJlcGFyaW5nIHF1ZXJpZXMgd2l0aCBjb3VudGVyIGluY3JlbWVudCAoQ0FTU0FORFJBLTUwMjIpCiAqIEZpeCBwcmVwYXJpbmcgdXBkYXRlc7lpeZEAAAFP3jyyXAAQZWJpYW4gcGFja2FnaW5nIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtQAAAAQBpbmRleGVzIChDQVNTQU5EUkEtMzY1OSkKICogU2Vjb25kYXJ5IEluZGV4ZXMgc2hvdWxkIHJlcG9ydCBtZW1vcnkgY29uc3VtcHRpb24gKENBU1NBTkRSQS0zMTU1KQogKiBmaXggZm9yIFNlbGVjdFN0YXRlbWVudCBzdGFydC9lbmQga2V5IGFyZSBub3Qgc2V0IGNvcnJlY3RseQogICB3aGVuIGEga2V5IGFsaWFzIGlzIGludm9sdmVkIChDQVNTQU5EUkEtMzcwMCkKICogZml4IENMSSBgc2hvdyBzY2hlbWFgIGNvbW1hbmQgaW5zZXJ0IG9mIGFuIGV4RkXdCAAAAU/ePLJcABBhdCAoQ0FTU0FORFJBLTE2AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1AAAABAHNob3VsZCBwb3B1bGF0ZSBzZXF1ZW50YWxseSAoQ0FTU0FORFJBLTg1MjQpCiAqIEZpeCByZWdyZXNzaW9uIGluIFNTVGFibGVSZXdyaXRlciBjYXVzaW5nIHNvbWUgcm93cyB0byBiZWNvbWUgdW5yZWFkYWJsZSAKICAgZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS04NDI5KQogKiBSdW4gbWFqb3IgY29tcGFjdGlvbnMgZm9yIHJlcGFpcmVkL3VucmVwYWlyZWQgaW4gcGFyYWxsZWwgKENBU1NBTkRSQS04NTEwKQogKiAoY3Fsc2gpIEZpeCBjb22reQzmAAABT948slwAEGVqZWN0IGluZXF1YWxpdHkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUAAAAEAYW5vcyAoQ0FTU0FORFJBLTY2NTgpCiAqIEFkZCBub2RldG9vbCB0YWtldG9rZW4gdG8gcmVsb2NhdGUgdm5vZGVzIChDQVNTQU5EUkEtNDQ0NSkKICogRXhwb3NlIGJ1bGsgbG9hZGluZyBwcm9ncmVzcyBvdmVyIEpNWCAoQ0FTU0FORFJBLTQ3NTcpCiAqIENvcnJlY3RseSBoYW5kbGUgbnVsbCB3aXRoIElGIGNvbmRpdGlvbnMgYW5kIFRUTCAoQ0FTU0FORFJBLTY2MjMpCiAqIEFjY291bnQgZm9yIHJhbmdlL3JvdyB0b21ic3RvbmVzIGluIHRvbWJzdMcOlpcAAAFP3jyyXAAQcmVkdWNlIGZsdXNoIGxvYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtQAAAAQBuYW1lLXNldCBzbGljZSB3aXRoIG5vIG5hbWVzIGdpdmVuIG5vdyByZXR1cm5zIHplcm8gY29sdW1ucwogICAgICBpbnN0ZWFkIG9mIGFsbCBvZiB0aGVtLiAgKCJhbGwiIGNhbiBydW4geW91ciBzZXJ2ZXIgb3V0IG9mIG1lbW9yeS4KICAgICAgdXNlIGEgcmFuZ2UtYmFzZWQgc2xpY2Ugd2l0aCBhIGhpZ2ggbWF4IGNvbHVtbiBjb3VudCBpbnN0ZWFkLikKICogUmVtb3ZlZCB0aGUgd2ViIGludGVyZmFjZS4gTm9kZSBpbmZvcm1hdGlvbiBjYW4gbm93Z4bfFgAAAU/ePLJcABBlZ3kgb3B0aW9ucyB0byBkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1AAAABAEwgY29sbGVjdGlvbnMgKENBU1NBTkRSQS01ODY3KQogKiBQYXNzIHRoZSB1cGRhdGVkIGNmIHRvIHRoZSBQUlNJIGluZGV4KCkgbWV0aG9kIChDQVNTQU5EUkEtNTk5OSkKICogQWxsb3cgZW1wdHkgQ1FMMyBiYXRjaGVzIChhcyBuby1vcCkgKENBU1NBTkRSQS01OTk0KQogKiBTdXBwb3J0IG51bGwgaW4gQ1FMMyBmdW5jdGlvbnMgKENBU1NBTkRSQS01OTEwKQogKiBSZXBsYWNlIHRoZSBkZXByZWNhdGVkIE1hcE1ha2VyIHdpdGggQ2FjaGVMb2FkZXKONJr/AAABT948slwAEG9uZnVzaW5nIGluZm8gd2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUAAAAEARFJBLTYyNjIpCiAqIEFkZCBwcm9wZXJ0aWVzIHRvIGFkanVzdCBGRCBpbml0aWFsIHZhbHVlIGFuZCBtYXggaW50ZXJ2YWwgKENBU1NBTkRSQS00Mzc1KQogKiBGaXggcHJlcGFyaW5nIHdpdGggYmF0Y2ggYW5kIGRlbGV0ZSBmcm9tIGNvbGxlY3Rpb24gKENBU1NBTkRSQS02NjA3KQogKiBGaXggQUJTQyByZXZlcnNlIGl0ZXJhdG9yJ3MgcmVtb3ZlKCkgbWV0aG9kIChDQVNTQU5EUkEtNjYyOSkKICogSGFuZGxlIGhvc3QgSUQgY29uZmxpY3RzIHBybxq818wAAAFP3jyyXAAQbnMgb3ZlciB0aGUgc2l6ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtQAAAAQBldGVybWluaXN0aWMgYnkgdXNpbmcgdmFsdWUgYnl0ZXMKICAgYXMgYSB0aWVicmVha2VyIChDQVNTQU5EUkEtMTAzOSkKICogQWRkIG9wdGlvbiB0byB0dXJuIG9mZiBIaW50ZWQgSGFuZG9mZiAoQ0FTU0FORFJBLTg5NCkKICogZml4IHdpbmRvd3Mgc3RhcnR1cCAoQ0FTU0FORFJBLTk0OCkKICogbWFrZSBjb25jdXJyZW50X3JlYWRzLCBjb25jdXJyZW50X3dyaXRlcyBjb25maWd1cmFibGUgYXQgcnVudGltZSB2aWEgSk1YCiAgIChDQVNTQU5EUkEtbCqvzwAAAU/ePLJcABAgICBhIGtleSB0aGF0IGRvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1AAAABAGluZyB3aGVuIHNlbGVjdGluZwogICBmcm9tIHN5c3RlbV90cmFjZXMgKENBU1NBTkRSQS03NjQxKQogKiAoSGFkb29wKSBBZGQgQ3FsT3V0cHV0Rm9ybWF0IChDQVNTQU5EUkEtNjkyNykKICogRG9uJ3QgZGVwZW5kIG9uIGNhc3NhbmRyYSBjb25maWcgZm9yIG5vZGV0b29sIHJpbmcgKENBU1NBTkRSQS03NTA4KQogKiAoY3Fsc2gpIEZpeCBmYWlsaW5nIGNxbHNoIGZvcm1hdHRpbmcgdGVzdHMgKENBU1NBTkRSQS03NzAzKQogKiBGaXggSW5jb21wYXQ6ejpzAAABT948slwAEG5nIGFuZCBzeXN0ZW0uc2MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUAAAAEAciB2ZXJzaW9ucywga2VlcCB0cmFjayBvZiBub2RlcyBpbiBnb3NzaXAgCiAgIHJlZ2FyZGxlc3Mgb2YgdmVyc2lvbiAoQ0FTU0FORFJBLTE5NzApCiAqIGNhY2hlIHdyaXRpbmcgbW92ZWQgdG8gQ29tcGFjdGlvbk1hbmFnZXIgdG8gcmVkdWNlIGkvbyBjb250ZW50aW9uIGFuZAogICB1cGRhdGVkIHRvIHVzZSBub24tY2FjaGUtcG9sbHV0aW5nIHdyaXRlcyAoQ0FTU0FORFJBLTIwNTMpCiAqIHBhZ2UgdGhyb3VnaCBsYXJnZSByb3dzIHdoZW4gZXhwb6tgMoAAAAFP3jyyXAAQY3MgKENBU1NBTkRSQS02MAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtQAAAAQBpbHRlcmluZyBmb3IgQ09OVEFJTlMgKEtFWSkgcmVsYXRpb25zIG9uIGZyb3plbiBjb2xsZWN0aW9uCiAgIGNsdXN0ZXJpbmcgY29sdW1ucyB3aGVuIHRoZSBxdWVyeSBpcyByZXN0cmljdGVkIHRvIGEgc2luZ2xlCiAgIHBhcnRpdGlvbiAoQ0FTU0FORFJBLTgyMDMpCiAqIERvIG1vcmUgYWdncmVzc2l2ZSBlbnRpcmUtc3N0YWJsZSBUVEwgZXhwaXJ5IGNoZWNrcyAoQ0FTU0FORFJBLTgyNDMpCiAqIEFkZCBtb3JlIGxvZyBpbmZvIGlmIHJlYWRNZXRli6DA6AAMz28/NIA7AAABT948slwAEE5EUkEtNzY1MCkKICogVXAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUIAAAEALTM2MTIpCiAqIGNxbHNoOiBmaXggYmFkIGRlY29kaW5nIG9mIHNvbWUgY29sdW1uIG5hbWVzIChDQVNTQU5EUkEtNDAwMykKICogY3Fsc2g6IGZpeCBpbmNvcnJlY3QgcGFkZGluZyB3aXRoIHVuaWNvZGUgY2hhcnMgKENBU1NBTkRSQS00MDMzKQogKiBGaXggRUMyIHNuaXRjaCBpbmNvcnJlY3RseSByZXBvcnRpbmcgcmVnaW9uIChDQVNTQU5EUkEtNDAyNikKICogU2h1dCBkb3duIHRocmlmdCBkdXJpbmcgZGVjb21taXNzaW9uIChDQVNTQU5EUkEtNI0w1xkAAAFP3jyyXAAQbiBzeW5jIHdpdGggYWN0dQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtQgAAAQAgYXMKICAgZGVjb21taXNzaW9uIChDQVNTQU5EUkEtMzA0MSkKICogRml4IGRpdmlkZSBieSB6ZXJvIGVycm9yIGluIEdDSW5zcGVjdG9yIChDQVNTQU5EUkEtMzE2NCkKICogYWxsb3cgcXVvdGluZyBvZiB0aGUgQ29sdW1uRmFtaWx5IG5hbWUgaW4gQ0xJIGBjcmVhdGUgY29sdW1uIGZhbWlseWAKICAgc3RhdGVtZW50IChDQVNTQU5EUkEtMzE5NSkKICogRml4IHJvbGxpbmcgdXBncmFkZSBmcm9tIDAuNyB0byAwLjggcHJvYmxlbSAoQ0FTU0FORFJBe1c3ewAAAU/ePLJcABBmZmxlKHNwbGl0cykgYmVmAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1CAAABAGVzcyBjdXN0b20gZXhjZXB0aW9ucyB0aHJ1IGpteCAoQ0FTU0FORFJBLTU2NTIpCiAqIFVwZGF0ZSBDUkVBVEUgQ1VTVE9NIElOREVYIHN5bnRheCAoQ0FTU0FORFJBLTU2MzkpCiAqIEZpeCBQZXJtaXNzaW9uRGV0YWlscy5lcXVhbHMoKSBtZXRob2QgKENBU1NBTkRSQS01NjU1KQogKiBOZXZlciBhbGxvdyBwYXJ0aXRpb24ga2V5IHJhbmdlcyBpbiBDUUwzIHdpdGhvdXQgdG9rZW4oKSAoQ0FTU0FORFJBLTU2NjYpCiAqIEdvc3NpcGVyIGluY29ycmVGI4sxAAABT948slwAECBjYXNzYW5kcmEgY29uZmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUIAAAEATkRSQS01MDUzKQogKiBmaXggTXVybXVyM1BhcnRpdGlvbmVyIG93bmVyc2hpcCUgY2FsY3VsYXRpb24gKENBU1NBTkRSQS01MDc2KQogKiBEb24ndCBleHBpcmUgY29sdW1ucyBzb29uZXIgdGhhbiB0aGV5IHNob3VsZCBpbiAybmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTUwNzkpCgoKMS4yLXJjMQogKiByZW5hbWUgcnBjX3RpbWVvdXQgc2V0dGluZ3MgdG8gcmVxdWVzdF90aW1lb3V0IChDQVNTQU5EUkEtNTAyNykKICogYWRkIEJGIHdpdGggMC4xIEJe5G4AAAFP3jyyXAAQaW9uIGVycm9yIGluIHJhbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtQgAAAQBncmFkZSAoQ0FTU0FORFJBLTY3MDIpCiAqIEluY2x1ZGUga2V5c3BhY2UgYW5kIHRhYmxlIG5hbWUgaW4gZXJyb3IgbG9nIGZvciBjb2xsZWN0aW9ucyBvdmVyIHRoZSBzaXplCiAgIGxpbWl0IChDQVNTQU5EUkEtOTI4NikKICogQXZvaWQgcG90ZW50aWFsIG92ZXJsYXAgaW4gTENTIHdpdGggc2luZ2xlLXBhcnRpdGlvbiBzc3RhYmxlcyAoQ0FTU0FORFJBLTkzMjIpCiAqIExvZyB3YXJuaW5nIG1lc3NhZ2Ugd2hlbiBhIHRhYmxlIGlzIHF1ZXJpZWQgalE5/AAAAU/ePLJcABBuZyBjb2x1bW5faW5kZXhfAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1CAAABAERSQS01NzAyKQogKiBEaXNhbGxvdyByZW5hbWluZyBhIDJuZGFyeSBpbmRleGVkIGNvbHVtbiAoQ0FTU0FORFJBLTU3MDUpCiAqIFJlbmFtZSBUYWJsZSB0byBLZXlzcGFjZSAoQ0FTU0FORFJBLTU2MTMpCiAqIEVuc3VyZSBjaGFuZ2luZyBjb2x1bW5faW5kZXhfc2l6ZV9pbl9rYiBvbiBkaWZmZXJlbnQgbm9kZXMgZG9uJ3QgY29ycnVwdCB0aGUKICAgc3N0YWJsZSAoQ0FTU0FORFJBLTU0NTQpCiAqIE1vdmUgcmVzdWx0c2V0IHR5cGUgaW5mb3JtYXS6J5XGAAABT948slwAEHQgcmV0dXJucyBpbmNvcnIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUIAAAEAZmljaWFsIHdheSB0byBkaXNhYmxlIGNvbXBhY3Rpb25zIChDQVNTQU5EUkEtNTA3NCkKICogUmVlbmFibGUgQUxURVIgVEFCTEUgRFJPUCB3aXRoIG5ldyBzZW1hbnRpY3MgKENBU1NBTkRSQS0zOTE5KQogKiBBZGQgYmluYXJ5IHByb3RvY29sIHZlcnNpb25pbmcgKENBU1NBTkRSQS01NDM2KQogKiBTd2FwIFRIc2hhU2VydmVyIGZvciBUVGhyZWFkZWRTZWxlY3RvclNlcnZlciAoQ0FTU0FORFJBLTU1MzApCiAqIEFkZCBhbGlhcyBzdXBwb3J0IHRvICimR+cAAAFP3jyyXAAQZSBieSB6ZXJvIGVycm9yIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtQgAAAQA1NDIpCiAqIEFkZCBMWjQgY29tcHJlc3Npb24gdG8gdGhlIG5hdGl2ZSBwcm90b2NvbCAoQ0FTU0FORFJBLTU3NjUpCiAqIEZpeCBidWdzIGluIHRoZSBuYXRpdmUgcHJvdG9jb2wgdjIgKENBU1NBTkRSQS01NzcwKQogKiBDQVMgb24gJ3ByaW1hcnkga2V5IG9ubHknIHRhYmxlIChDQVNTQU5EUkEtNTcxNSkKICogU3VwcG9ydCBzdHJlYW1pbmcgU1NUYWJsZXMgb2Ygb2xkIHZlcnNpb25zIChDQVNTQU5EUkEtNTc3MikKICogQWx3YXlzIHJlc3BlY3QgTLYZJAAAAU/ePLJcABB1cGRhdGUgKENBU1NBTkRSAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1CAAABAGNhbGwgcHJvdmlkZWQgdXBkYXRlIGZ1bmN0aW9uIHR3aWNlIChDQVNTQU5EUkEtODAxOCkKICogUmVsZWFzZSBzc3RhYmxlIHJlZmVyZW5jZXMgYWZ0ZXIgYW50aWNvbXBhY3Rpb24gKENBU1NBTkRSQS04Mzg2KQogKiBIYW5kbGUgYWJvcnQoKSBpbiBTU1RhYmxlUmV3cml0ZXIgcHJvcGVybHkgKENBU1NBTkRSQS04MzIwKQogKiBGaXggaGlnaCBzaXplIGNhbGN1bGF0aW9ucyBmb3IgcHJlcGFyZWQgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTgyMzEpCiDotIdfAAABT948slwAECkKICogQWxsb3cgb3ZlcnIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUIAAAEARFJBLTUxNTkpCk1lcmdlZCBmcm9tIDEuMToKICogU2ltcGxpZnkgQ29tcHJlc3NlZFJhbmRvbUFjY2Vzc1JlYWRlciB0byB3b3JrIGFyb3VuZCBKREsgRkQgYnVnIChDQVNTQU5EUkEtNTA4OCkKICogSW1wcm92ZSBoYW5kbGluZyBhIGNoYW5naW5nIHRhcmdldCB0aHJvdHRsZSByYXRlIG1pZC1jb21wYWN0aW9uIChDQVNTQU5EUkEtNTA4NykKICogUGlnOiBjb3JyZWN0bHkgZGVjb2RlIHJvdyBrZXlzIGluIHdpZGVyb3cgbW9kZSAoQ0FTU0FORFJBLdky2BIAAAFP3jyyXAAQb2dnaW5nIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtQgAAAQA5NikKICoga2VlcCB0cmFjayBvZiBib290c3RyYXBwaW5nIHNvdXJjZXMgYnkgdGFibGUgc28gdGhhdCBib290c3RyYXBwaW5nIGRvZXNuJ3QgCiAgIGdpdmUgdGhlIGluZGljYXRpb24gb2YgZmluaXNoaW5nIGVhcmx5IChDQVNTQU5EUkEtNjczKQoKCjAuNS4wIFJDMwogKiBjb21taXQgdGhlIGNvcnJlY3QgdmVyc2lvbiBvZiB0aGUgcGF0Y2ggZm9yIENBU1NBTkRSQS02NjMKCgowLjUuMCBSQzIgKHVucmVsZWFzZWQpCiAqIGZpeCBidWdzIGluIGNv4IFZ/wAAAU/ePLJcABBEUkEtNDM0MSkKICogc2tpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1CAAABAEZpeCBza2lwcGluZyByYW5nZSB0b21ic3RvbmVzIHdpdGggcmV2ZXJzZSBxdWVyaWVzIChDQVNTQU5EUkEtNTcxMikKICogRXhwaXJlIGVudHJpZXMgb3V0IG9mIFRocmlmdFNlc3Npb25NYW5hZ2VyIChDQVNTQU5SREEtNTcxOSkKICogRG9uJ3Qga2VlcCBhbmNlc3RvciBpbmZvcm1hdGlvbiBpbiBtZW1vcnkgKENBU1NBTkRSQS01MzQyKQogKiBjcWxzaDogZml4IGhhbmRsaW5nIG9mIHNlbWljb2xvbnMgaW5zaWRlIEJBVENIIHF1ZXJpZXMgKENBU1N74WQxAAABT948slwAECBmaXggTGV2ZWxlZENvbXAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUIAAAEAZSBwYXRoIChDQVNTQU5EUkEtMTgwMCkKICogbWFrZSBOZXR3b3JrVG9wb2xvZ3lTdHJhdGVneSB0aGUgZGVmYXVsdCAoQ0FTU0FORFJBLTE5NjApCiAqIGNvbmZpZ3VyYWJsZSBpbnRlcm5vZGUgZW5jcnlwdGlvbiAoQ0FTU0FORFJBLTE1NjcsIDIxNTIpCiAqIGh1bWFuIHJlYWRhYmxlIGNvbHVtbiBuYW1lcyBpbiBzc3RhYmxlMmpzb24gb3V0cHV0IChDQVNTQU5EUkEtMTkzMykKICogY2hhbmdlIGRlZmF1bHQgSk1YIHBvcnQgdG8gNzE5OSAoQ0FTU5VntFcAAAFP3jyyXAAQLTI2ODApCiAqIHJlbW92ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtQgAAAQBNZXRhRGF0YS5hcHBseSB0byBvbmx5IGNvbXBhcmUgb2JqZWN0cyBvZiB0aGUgc2FtZSBjbGFzcyAKICAgKENBU1NBTkRSQS0xOTYyKQogKiBhbGxvdyBzcGVjaWZ5aW5nIHNwZWNpZmljIFNTVGFibGVzIHRvIGNvbXBhY3QgZnJvbSBKTVggKENBU1NBTkRSQS0xOTYzKQogKiBmaXggcmFjZSBjb25kaXRpb24gaW4gTWVzc2FnaW5nU2VydmljZS50YXJnZXRzIChDQVNTQU5EUkEtMTk1OSwgMjA5NCwgMjA4MSkKICogcmVmdXNlIHRvIG9wZW4gc3N0YWJssdM7eAAAAU/ePLJcABBsbG93IGxhcmdlciBudW1iAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1CAAABAFNTQU5EUkEtNzE0MikKICogRml4IDJuZGFyeSBpbmRleCBxdWVyaWVzIHdpdGggREVTQyBjbHVzdGVyaW5nIG9yZGVyIChDQVNTQU5EUkEtNjk1MCkKICogSW52YWxpZCBrZXkgY2FjaGUgZW50cmllcyBvbiBEUk9QIChDQVNTQU5EUkEtNjUyNSkKICogRml4IGZsYXBwaW5nIFJlY292ZXJ5TWFuYWdlclRlc3QgKENBU1NBTkRSQS03MDg0KQogKiBBZGQgbWlzc2luZyBpc284NjAxIHBhdHRlcm5zIGZvciBkYXRlIHN0cmluZ3MgKENBU1NBTkRSQS02OTc0hUSKAAzjzFrTMUgAAAFP3jyyXAAQMDYpCiAqIEZpeCBTU1RhYgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtRAAAAQAxNTMzKQogKiBmaXggcmFjZSBjb25kaXRpb24gcHJvY2Vzc2luZyByZXBhaXIgcmVzcG9uc2VzIChDQVNTQU5EUkEtMTUxMSkKICogbWFrZSByZXBhaXIgYmxvY2tpbmcgKENBU1NBTkRSQS0xNTExKQogKiBjcmVhdGUgRW5kcG9pbnRTbml0Y2hJbmZvIGFuZCBNQmVhbiB0byBleHBvc2UgcmFjayBhbmQgREMgKENBU1NBTkRSQS0xNDkxKQogKiBhZGRlZCBvcHRpb24gdG8gY29udHJpYi93b3JkX2NvdW50IHRvIG91dHB1dCByZXN1bHRzIGJhY2sgdG8gTFC3QQAAAU/ePLJcABAgY3FsIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1EAAABACogZW5hYmxlIGNhY2hpbmcgb24gaW5kZXggQ0ZzIGJhc2VkIG9uIGRhdGEgQ0YgY2FjaGUgc2V0dGluZyAoQ0FTU0FORFJBLTQxOTcpCiAqIHdhcm4gb24gaW52YWxpZCByZXBsaWNhdGlvbiBzdHJhdGVneSBjcmVhdGlvbiBvcHRpb25zIChDQVNTQU5EUkEtNDA0NikKICogcmVtb3ZlIFtGcmVlYWJsZV1NZW1vcnkgZmluYWxpemVycyAoQ0FTU0FORFJBLTQyMjIpCiAqIGluY2x1ZGUgdG9tYnN0b25lIHNpemUgaW4gQ29sdW1uRmFtaWx5LnNpemUsIHdUiVrNAAABT948slwAEChDQVNTQU5EUkEtMzc5NCkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUQAAAEAUkEtMzI4MikKICogaWdub3JlIGFueSBDRiBpZHMgc2VudCBieSBjbGllbnQgZm9yIGFkZGluZyBDRi9LUyAoQ0FTU0FORFJBLTMyODgpCiAqIHJlbW92ZSBvYnNvbGV0ZSBoaW50cyBvbiBmaXJzdCBzdGFydHVwIChDQVNTQU5EUkEtMzI5MSkKICogdXNlIGNvcnJlY3QgSVNvcnRlZENvbHVtbnMgZm9yIHRpbWUtb3B0aW1pemVkIHJlYWRzIChDQVNTQU5EUkEtMzI4OSkKICogRXZpY3QgZ29zc2lwIHN0YXRlIGltbWVkaWF0ZWx5IHdoZW4gYSB0b2tlbn2ILUUAAAFP3jyyXAAQcyB3aXRoIGJsb2Iga2V5cwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtRAAAAQBlbiBlbnRpcmUgcm93IGlzIHJlcXVlc3RlZCwgcmVkdXggKENBU1NBTkRSQS0yODU1KQoKCjEuMC4yCiAqICJkZWZyYWdtZW50IiByb3dzIGZvciBuYW1lLWJhc2VkIHF1ZXJpZXMgdW5kZXIgU1RDUyAoQ0FTU0FORFJBLTI1MDMpCiAqIEFkZCB0aW1pbmcgaW5mb3JtYXRpb24gdG8gY2Fzc2FuZHJhLWNsaSBHRVQvU0VUL0xJU1QgcXVlcmllcyAoQ0FTU0FORFJBLTMzMjYpCiAqIE9ubHkgY3JlYXRlIG9uZSBDb21wcmVzc2lvbk1ldGFkYXRhIG9iamVj2lturwAAAU/ePLJcABBSQS0xMzk5KQogKiBmaXggAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1EAAABAChDQVNTQU5EUkEtNjE0NSkKICogRml4IHBvdGVudGlhbCBzdGFjayBvdmVyZmxvdyBkdXJpbmcgcmFuZ2UgdG9tYnN0b25lcyBpbnNlcnRpb24gKENBU1NBTkRSQS02MTgxKQogKiAoSGFkb29wKSBNYWtlIExPQ0FMX09ORSB0aGUgZGVmYXVsdCBjb25zaXN0ZW5jeSBsZXZlbCAoQ0FTU0FORFJBLTYyMTQpCgoKMi4wLjEKICogRml4IGJ1ZyB0aGF0IGNvdWxkIGFsbG93IHJlYWRpbmcgZGVsZXRlZCBkYXRhIHRlbXBvcmFyaWx5IChDQVNTQU5EUkEtNjCzvb3tAAABT948slwAEG4gc3Bhbm5lZCBpbmRleCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUQAAAEAIG1ldGFkYXRhIChDQVNTQU5EUkEtNzU5NikKICogKGNxbHNoKSBDb3JyZWN0bHkgaGFuZGxlIHBhZ2VkIHJlc3VsdCBzZXRzIChDQVNTQU5EUkEtNzYyNSkKICogKGNxbHNoKSBJbXByb3ZlIHdhaXRpbmcgZm9yIGEgdHJhY2UgdG8gY29tcGxldGUgKENBU1NBTkRSQS03NjI2KQogKiBGaXggdHJhY2luZyBvZiBjb25jdXJyZW50IHJhbmdlIHNsaWNlcyBhbmQgMmFyeSBpbmRleCBxdWVyaWVzIChDQVNTQU5EUkEtNzYyNikKICogRml4IHNjcnViIGFnYVajfNkAAAFP3jyyXAAQNTMzNCkKTWVyZ2VkIGZybwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtRAAAAQBTQU5EUkEtMjI4MykKICogZml4IGJhY2tzbGFzaCBzdWJzdGl0dXRpb25zIGluIENMSSAoQ0FTU0FORFJBLTI0OTIpCiAqIGNvdW50IGEgcm93IGRlbGV0aW9uIGFzIG9uZSBvcGVyYXRpb24gdG93YXJkcyBtZW10YWJsZSB0aHJlc2hvbGQgCiAgIChDQVNTQU5EUkEtMjUxOSkKICogc3VwcG9ydCBMT0NBTF9RVU9SVU0sIEVBQ0hfUVVPUlVNIENMcyBvdXRzaWRlIG9mIE5UUyAoQ0FTU0FORFJBLTI1MTYpCgoKMC43LjQKICogYWRkIG5vZGV0b29sIGpvuh1bUAAAAU/ePLJcABAgc3RyZWFtZWQgcm93IHRvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1EAAABACgpIG1ldGhvZCBjcmFzaGVzIGlmIGlucHV0IGNvbHVtbnMgYXJlIG5vdCBzb3J0ZWQgKENBU1NBTkRSQS01Nzg2KQogKiBPcmRlciBjb2x1bW5zIG5hbWVzIGNvcnJlY3RseSB3aGVuIHF1ZXJ5aW5nIGZvciBDQVMgKENBU1NBTkRSQS01Nzg4KQogKiBGaXggc3RyZWFtaW5nIHJldHJ5IChDQVNTQU5EUkEtNTc3NSkKTWVyZ2VkIGZyb20gMS4yOgogKiBpZiBubyBzZWVkcyBjYW4gYmUgYSByZWFjaGVkIGEgbm9kZSB3b24ndCBzdGFydCBpbiBhIHJpbme3s2WVAAABT948slwAECogRml4IHRyYWNpbmcgb2YAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUQAAAEAY29tcGFjdGlvbiBzdHJhdGVneSAoQ0FTU0FORFJBLTE2MTApCiAqIEFkZCBuZXcgYnJvYWRjYXN0X2FkZHJlc3MgY29uZmlnIG9wdGlvbiAoQ0FTU0FORFJBLTI0OTEpCgoKMC44LjcKICogS2lsbCBzZXJ2ZXIgb24gd3JhcHBlZCBPT01FIHN1Y2ggYXMgZnJvbSBGaWxlQ2hhbm5lbC5tYXAgKENBU1NBTkRSQS0zMjAxKQogKiBBbGxvdyB1c2luZyBxdW90ZXMgaW4gIlVTRSA8a2V5c3BhY2U+OyIgQ0xJIGNvbW1hbmQgKENBU1NBTkRSQS0zMjA4KQogKoZzawAAAAFP3jyyXAAQbm93KCkgaXMgYmVpbmcgcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtRAAAAQBudWFsIChDQVNTQU5EUkEtMTE5MCkKICogYWRkIGFiaWxpdHkgdG8gbG93ZXIgY29tcGFjdGlvbiBwcmlvcml0eSAoZGVmYXVsdCBpcyBubyBjaGFuZ2UgZnJvbSAwLjYuMikKICAgKENBU1NBTkRSQS0xMTgxKQoKCjAuNi4yCiAqIGZpeCBjb250cmliL3dvcmRfY291bnQgYnVpbGQuIChDQVNTQU5EUkEtOTkyKQogKiBzcGxpdCBDb21taXRMb2dFeGVjdXRvclNlcnZpY2UgaW50byBCYXRjaENvbW1pdExvZ0V4ZWN1dG9yU2VydmljZSBhbmQgCiAgIFBldf1UFgAAAU/ePLJcABA4NikKICogTG9nIGZhaWxlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1EAAABACB0b3BvbG9neSBzb3J0IHRvIHdvcmsgd2l0aCBub24tdW5pcXVlIHJhY2sgbmFtZXMgYmV0d2VlbiAKICAgZGF0YWNlbnRlcnMgKENBU1NBTkRSQS0zMTUyKQogKiBJbXByb3ZlIGNhY2hpbmcgb2Ygc2FtZS12ZXJzaW9uIE1lc3NhZ2VzIG9uIGRpZ2VzdCBhbmQgcmVwYWlyIHBhdGhzCiAgIChDQVNTQU5EUkEtMzE1OCkKICogUmFuZG9taXplIGNob2ljZSBvZiBmaXJzdCByZXBsaWNhIGZvciBjb3VudGVyIGluY3JlbWVudCAoQ0FTU0FORFJBLTI4OTAjtEwkAAABT948slwAECBhbG9uZSAoQ0FTU0FORFIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUQAAAEAdGVtZW50IGdsb2JhbCBpbnN0ZWFkIG9mIHBlciBjb25uZWN0aW9uIAogICAoQ0FTU0FORFJBLTQ0NDkpCiAqIEZpeCBzY3J1YmJpbmcgb2YgQ1FMMyBjcmVhdGVkIHRhYmxlcyAoQ0FTU0FORFJBLTQ2ODUpCiAqIChDUUwzKSBGaXggdmFsaWRhdGlvbiB3aGVuIHVzaW5nIGNvdW50ZXIgYW5kIHJlZ3VsYXIgY29sdW1ucyBpbiB0aGUgc2FtZSAKICAgdGFibGUgKENBU1NBTkRSQS00NzA2KQogKiBGaXggYnVnIHN0YXJ0aW5nIENhc3NhbmRyYSB3aXRoIMrL0yIAAAFP3jyyXAAQZCB0cmlnZ2VycyB0byBzdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtRAAAAQBvcmUgYW50aWNvbXBhY3Rpb24pIChDQVNTQU5EUkEtNTc5KQogKiBzcGxpdCBjb21taXRsb2cgaGVhZGVyIGludG8gc2VwYXJhdGUgZmlsZSBhbmQgYWRkIHNpemUgY2hlY2tzdW0gdG8KICAgbXV0YXRpb25zIChDQVNTQU5EUkEtMTE3OSkKICogYXZvaWQgYWxsb2NhdGluZyBhIG5ldyBieXRlW10gZm9yIGVhY2ggbXV0YXRpb24gb24gcmVwbGF5IChDQVNTQU5EUkEtMTIxOSkKICogcmV2aXNlIEhIIHNjaGVtYSB0byBiZSBwZXItZW5kcG9pbnQgKENB41ABZgAAAU/ePLJcABBwIHBlcnNpc3RlbnQgcm93AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1EAAABADIpCiAqIEltcHJvdmUgZ29zc2lwIHBlcmZvcm1hbmNlIGZvciB0eXBpY2FsIG1lc3NhZ2VzIChDQVNTQU5EUkEtNjQwOSkKICogVGhyb3cgSVJFIGlmIGEgcHJlcGFyZWQgc3RhdGVtZW50IGhhcyBtb3JlIG1hcmtlcnMgdGhhbiBzdXBwb3J0ZWQgCiAgIChDQVNTQU5EUkEtNTU5OCkKICogRXhwb3NlIFRocmVhZCBtZXRyaWNzIGZvciB0aGUgbmF0aXZlIHByb3RvY29sIHNlcnZlciAoQ0FTU0FORFJBLTYyMzQpCiAqIENoYW5nZSBzbmFwc2hvdCByZXOJD1AQAAABT948slwAEGQgaW5jbHVzaXZlL2V4Y2wAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUQAAAEAcmF0b3IgdG8gQUJTQyAoQ0FTU0FORFJBLTg0MTQsIDg2NjYpCiAqIEZpeCBpc0NsaWVudE1vZGUgY2hlY2sgaW4gS2V5c3BhY2UgKENBU1NBTkRSQS04Njg3KQogKiBVc2UgbW9yZSBlZmZpY2llbnQgc2xpY2Ugc2l6ZSBmb3IgcXVlcnlpbmcgaW50ZXJuYWwgc2Vjb25kYXJ5CiAgIGluZGV4IHRhYmxlcyAoQ0FTU0FORFJBLTg1NTApCiAqIEZpeCBwb3RlbnRpYWxseSByZXR1cm5pbmcgZGVsZXRlZCByb3dzIHdpdGggcmFuZ2UgdG9tYnN0b25lIChDQTIE8SoADPgpLD2otAAAAU/ePLJcABBuZXR0eSBpc3N1ZSBjYXVzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1HAAABACogc25hcHNob3RfYmVmb3JlX2NvbXBhY3Rpb24gZGlyZWN0b3J5IG5hbWUgZml4IChDQVNTQU5EUkEtMjU5OCkKICogRGlzYWJsZSBjb21wYWN0aW9uIHRocm90dGxpbmcgZHVyaW5nIGJvb3RzdHJhcCAoQ0FTU0FORFJBLTI2MTIpIAogKiBmaXggQ1FMIHRyZWF0bWVudCBvZiA+IGFuZCA8IG9wZXJhdG9ycyBpbiByYW5nZSBzbGljZXMgKENBU1NBTkRSQS0yNTkyKQogKiBmaXggcG90ZW50aWFsIGRvdWJsZS1hcHBsaWNhdGlvbiBvZiBjb3VudGVyIHXNx+DNAAABT948slwAEAoxLjIuMQogKiBzdHJlYW0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUcAAAEAeSAoQ0FTU0FORFJBLTQ5MzQpCiAqIERvbid0IHNoYXJlIHNsaWNlIHF1ZXJ5IGZpbHRlciBpbiBDUUwzIFNlbGVjdFN0YXRlbWVudCAoQ0FTU0FORFJBLTQ5MjgpCiAqIFNlcGFyYXRlIHRyYWNpbmcgZnJvbSBMb2c0SiAoQ0FTU0FORFJBLTQ4NjEpCiAqIEV4Y2x1ZGUgZ2NhYmxlIHRvbWJzdG9uZXMgZnJvbSBtZXJrbGUtdHJlZSBjb21wdXRhdGlvbiAoQ0FTU0FORFJBLTQ5MDUpCiAqIEJldHRlciBwcmludGluZyBvZiBBYnN0cmFjdEJvdW5kcyBmb9DdA+sAAAFP3jyyXAAQYWxsIHB1YmxpYyBBUElzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtRwAAAQBpdCAKICAgKENBU1NBTkRSQS02NDE1KQogKiBXYXJuIHdoZW4gY29sbGVjdGlvbiByZWFkIGhhcyA+IDY1SyBlbGVtZW50cyAoQ0FTU0FORFJBLTU0MjgpCiAqIEZpeCBjYWNoZSBwZXJzaXN0ZW5jZSB3aGVuIGJvdGggcm93IGFuZCBrZXkgY2FjaGUgYXJlIGVuYWJsZWQgCiAgIChDQVNTQU5EUkEtNjQxMykKICogKEhhZG9vcCkgYWRkIGRlc2NyaWJlX2xvY2FsX3JpbmcgKENBU1NBTkRSQS02MjY4KQogKiBGaXggaGFuZGxpbmcgb2YgY29uY3VycmVu8dqWOgAAAU/ePLJcABBjbHVzdGVyLCBwYXJ0aXRpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1HAAABAERSQS01MDQxKQogKiBwb29sIFtDb21wcmVzc2VkXVJhbmRvbUFjY2Vzc1JlYWRlciBvYmplY3RzIG9uIHRoZSBwYXJ0aXRpb25lZCByZWFkIHBhdGgKICAgKENBU1NBTkRSQS00OTQyKQogKiBBZGQgZGVidWcgbG9nZ2luZyB0byBsaXN0IGZpbGVuYW1lcyBwcm9jZXNzZWQgYnkgRGlyZWN0b3JpZXMubWlncmF0ZUZpbGUgCiAgIG1ldGhvZCAoQ0FTU0FORFJBLTQ5MzkpCiAqIEV4cG9zZSBibGFjay1saXN0ZWQgZGlyZWN0b3JpZXMgdmlhIEpNWCAoQ0ETsQJoAAABT948slwAECogRml4IHByZXBhcmluZyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUcAAAEAUkEtNTE3MikKICogY2xpOiBRdW90ZSBrcyBhbmQgY2YgbmFtZXMgaW4gc2NoZW1hIG91dHB1dCB3aGVuIG5lZWRlZCAoQ0FTU0FORFJBLTUwNTIpCiAqIEZpeCBjZiBuYW1lIGV4dHJhY3Rpb24gZnJvbSBtYW5pZmVzdCBpbiBEaXJlY3Rvcmllcy5taWdyYXRlRmlsZSgpIChDQVNTQU5EUkEtNTI0MikKICogUmVwbGFjZSBtaXN0YWtlbiB1c2FnZSBvZiBjb21tb25zLWxvZ2dpbmcgd2l0aCBzbGY0aiAoQ0FTU0FORFJBLTU0NjQpCiAqIEVuc3VyZSBKYT3+u+oAAAFP3jyyXAAQZGxpbmcgb2Ygc2VtaWNvbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtRwAAAQBlbiBkcm9wcGluZyBhbiBpbmRleCAoQ0FTU0FORFJBLTIzMjApCiAqIGRvbid0IGFsbG93IGFyYml0cmFyeSBhcmd1bWVudCBmb3Igc3RyZXNzLmphdmEgKENBU1NBTkRSQS0yMzIzKQogKiB2YWxpZGF0ZSB2YWx1ZXMgZm9yIGluZGV4IHByZWRpY2F0ZXMgaW4gZ2V0X2luZGV4ZWRfc2xpY2UgKENBU1NBTkRSQS0yMzI4KQogKiBxdWV1ZSBzZWNvbmRhcnkgaW5kZXhlcyBmb3IgZmx1c2ggYmVmb3JlIHRoZSBwYXJlbnQgKENBU1NBTkRSQS0yMzMwKQogabqQ5wAAAU/ePLJcABAgZmluaXNoZWQgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1HAAABAGRkIFNPVVJDRSBhbmQgQ0FQVFVSRSBjb21tYW5kcywgYW5kIC0tZmlsZSBvcHRpb24gKENBU1NBTkRSQS0zNDc5KQogICArIGFkZCBBTFRFUiBDT0xVTU5GQU1JTFkgV0lUSCAoQ0FTU0FORFJBLTM1MjMpCiAgICsgYnVuZGxlIFB5dGhvbiBkZXBlbmRlbmNpZXMgd2l0aCBDYXNzYW5kcmEgKENBU1NBTkRSQS0zNTA3KQogICArIGFkZGVkIHRvIERlYmlhbiBwYWNrYWdlIChDQVNTQU5EUkEtMzQ1OCkKICAgKyBkaXNwbGF5IGJ5dGUgZGF0YSBpbnN0ZWHu8S+IAAABT948slwAEFNBTkRSQS01MTI2KQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUcAAAEAIHRvIHNldCBjb21wYWN0aW9uIHRocmVzaG9sZHMgYXQgcnVudGltZSB2aWEKICAgSk1YIC8gbm9kZXByb2JlLiAgKENBU1NBTkRSQS00NjUpCiAqIEFkZCAiY29tbWVudCIgZmllbGQgdG8gQ29sdW1uRmFtaWx5IGRlZmluaXRpb24uIChDQVNTQU5EUkEtNDgxKQogKiBBZGRpdGlvbmFsIEpNWCBtZXRyaWNzIChDQVNTQU5EUkEtNDgyKQogKiBKU09OIGJhc2VkIGV4cG9ydCBhbmQgaW1wb3J0IHRvb2xzIChzZXZlcmFsIHRpY2tldHMpCiAqIEhpbnRlZJpqiP8AAAFP3jyyXAAQaWxpdHkgd2hlbiBtaXhpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtRwAAAQBpbGluZSBjb21tZW50cyAoQ0FTU0FORFJBLTI4NTIpCiAqIGhhbmRsZSByb3cgdG9tYnN0b25lcyBjb3JyZWN0bHkgaW4gRWNob2VkUm93IChDQVNTQU5EUkEtMjc4NikKICogYWRkIE1lc3NhZ2luZ1NlcnZpY2UuZ2V0W1JlY2VudGx5XURyb3BwZWRNZXNzYWdlcyBhbmQKICAgU3RvcmFnZVNlcnZpY2UuZ2V0RXhjZXB0aW9uQ291bnQgKENBU1NBTkRSQS0yODA0KQogKiBmaXggcG9zc2liaWxpdHkgb2Ygc3B1cmlvdXMgVW5hdmFpbGFibGVFeGNlcHRp63peBwAAAU/ePLJcABAKTWVyZ2VkIGZyb20gMS4yAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1HAAABAG5kcmEtZW52LnNoIG9uIFJIRUwgYW5kIG90aGVyIG5vbi1kYXNoLWJhc2VkIHN5c3RlbXMgCiAgIChDQVNTQU5EUkEtNDQ5NCkKTWVyZ2VkIGZyb20gMS4wOgogKiAoSGFkb29wKSBmaXggc2V0dGluZyBrZXkgbGVuZ3RoIGZvciBvbGQtc3R5bGUgbWFwcmVkIGFwaSAoQ0FTU0FORFJBLTQ1MzQpCiAqIChIYWRvb3ApIGZpeCBpdGVyYXRpbmcgdGhyb3VnaCBhIHJlc3VsdHNldCBjb25zaXN0aW5nIGVudGlyZWx5CiAgIG9mIHRvbWJzdG9uZWQgcm93cyA7s4MXAAABT948slwAEGx2aW5nIHRpbWVzdGFtcCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUcAAAEAeSBrZXkgY29sdW1ucyAoQ0FTU0FORFJBLTgyMDYpCiAqIEFkZCAnbm9kZXRvb2wgc3RhdHVzZ29zc2lwJyAoQ0FTU0FORFJBLTgxMjUpCiAqIEltcHJvdmUgY2xpZW50IG5vdGlmaWNhdGlvbiB0aGF0IG5vZGVzIGFyZSByZWFkeSBmb3IgcmVxdWVzdHMgKENBU1NBTkRSQS03NTEwKQogKiBIYW5kbGUgbmVnYXRpdmUgdGltZXN0YW1wIGluIHdyaXRldGltZSBtZXRob2QgKENBU1NBTkRSQS04MTM5KQogKiBQaWc6IFJlbW92ZSBlcnJhbnQgTElNSVQgY4lo5u0AAAFP3jyyXAAQICogSW1wcm92ZSBtZW1vcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtRwAAAQBtYWxsIFRDUCBtZXNzYWdlcyB3aGlsZSBhdm9pZGluZwogICB0aGUgbmFnbGUvZGVsYXllZCBhY2sgcHJvYmxlbSAoQ0FTU0FORFJBLTE4OTYpCiAqIGNoZWNrIGxvZzRqIGNvbmZpZ3VyYXRpb24gZm9yIGNoYW5nZXMgZXZlcnkgMTBzIChDQVNTQU5EUkEtMTUyNSwgMTkwNykKICogbW9yZS1lZmZpY2llbnQgY3Jvc3MtREMgcmVwbGljYXRpb24gKENBU1NBTkRSQS0xNTMwLCAtMjA1MSwgLTIxMzgpCiAqIGF2b2lkIHBvbGx1dGluZyBwYWdlIGNhY2hl72c+zQAAAU/ePLJcABAgdW5kZXIgU1RDUywgYWdhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1HAAABAGx1c2ggc29ydGVyICsgd3JpdGVyIGV4ZWN1dG9yIHF1ZXVlIHNpemVzCiAgIChDQVNTQU5EUkEtMTEwMCkKICogd2luZG93cyBzY3JpcHRzIGZvciBTU1RhYmxlSW1wb3J0L0V4cG9ydCAoQ0FTU0FORFJBLTEwNTEpCiAqIHdpbmRvd3Mgc2NyaXB0IGZvciBub2RldG9vbCAoQ0FTU0FORFJBLTExMTMpCiAqIGV4cG9zZSBQaGlDb252aWN0VGhyZXNob2xkIChDQVNTQU5EUkEtMTA1MykKICogbWFrZSByZXBhaXIgb2YgUkY9PTEgYSBuby1vcCAoQ0FTU0GIO4K7AAABT948slwAEGxlIHByZXNlcnZpbmcKICAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUcAAAEACiAqIGFkZGVkIGEgcmVkaGF0IGluaXQgc2NyaXB0IHRvIGNvbnRyaWIgKENBU1NBTkRSQS0xMjAxKQogKiB1c2UgbWlkcG9pbnQgd2hlbiBib290c3RyYXBwaW5nIGEgbmV3IG1hY2hpbmUgaW50byByYW5nZSB3aXRoIG5vdAogICBtdWNoIGRhdGEgeWV0IGluc3RlYWQgb2YgcmFuZG9tIHRva2VuIChDQVNTQU5EUkEtMTExMikKICoga2lsbCBzZXJ2ZXIgb24gT09NIGluIGV4ZWN1dG9yIHN0YWdlIGFzIHdlbGwgYXMgVGhyaWZ0IChDQVNTQU5EUkEtMftoDIYAAAFP3jyyXAAQYXN0IG9wZXJhdGlvbnMgKAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtRwAAAQBQcm94eSB0byBwZXJmb3JtCiAgIHJlcGxpY2F0aW9uIGluLXByb2Nlc3MgW2p2bS1vbmx5XSAoQ0FTU0FORFJBLTUzNSkKICogc3VwcG9ydCBtbWFwcGVkIEkvTyBmb3IgcmVhZHMsIG9uIGJ5IGRlZmF1bHQgb24gNjRiaXQgSlZNcyAKICAgKENBU1NBTkRSQS00MDgsIENBU1NBTkRSQS02NjkpCiAqIGltcHJvdmUgaW5zZXJ0IGNvbmN1cnJlbmN5LCBwYXJ0aWN1bGFybHkgZHVyaW5nIEhpbnRlZCBIYW5kb2ZmCiAgIChDQVNTQU5EUkEtNjU4KQogKiBmMYjZpQANDIZVa3XZAAABT948slwAEGlvbiBzdXBwb3J0aW5nIEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUoAAAEAZSBzaHV0ZG93biAoanVzdCBraWxsIHRoZSBwcm9jZXNzKQogKiBMb3RzIG9mIGJ1ZyBmaXhlcwoKRnVsbCBsaXN0IG9mIGlzc3VlcyByZXNvbHZlZCBpbiAwLjQgaXMgYXQgaHR0cHM6Ly9pc3N1ZXMuYXBhY2hlLm9yZy9qaXJhL3NlY3VyZS9Jc3N1ZU5hdmlnYXRvci5qc3BhP3Jlc2V0PXRydWUmJnBpZD0xMjMxMDg2NSZmaXhmb3I9MTIzMTM4NjImcmVzb2x1dGlvbj0xJnNvcnRlci9maWVsZD1pc3N1ZWtleSZzb3J0ZXIvb3JkZXI9REVTQwoKCjAuM9jUMTsAAAFP3jyyXAAQVGhyaWZ0IChhbmQgQXZybwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtSgAAAQBlcm1hbmVudGx5IGRpcnR5KSAoQ0FTU0FORFJBLTI4MjkpCiAqIGZpeCB0aHJvd2luZyBleGNlcHRpb24gd2l0aCBiYXRjaCBtdXRhdGlvbiBvZiBjb3VudGVyIHN1cGVyIGNvbHVtbnMKICAgKENBU1NBTkRSQS0yOTQ5KQogKiBpZ25vcmUgc3lzdGVtIHRhYmxlcyBkdXJpbmcgcmVwYWlyIChDQVNTQU5EUkEtMjk3OSkKICogdGhyb3cgZXhjZXB0aW9uIHdoZW4gTlRTIGlzIGdpdmVuIHJlcGxpY2F0aW9uX2ZhY3RvciBhcyBhbiBvcHRpb24KICAgKENBfaQduwAAAU/ePLJcABBhY3RvciBzdHJlc3MucHkgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1KAAABAHJlIE5QRSBpbiBLZXlDYWNoZVNlcmlhbGl6ZXIgKENBU1NBTkRSQS04MDY3KQogKiBQaWNrIHNzdGFibGVzIGZvciB2YWxpZGF0aW9uIGFzIGxhdGUgYXMgcG9zc2libGUgaW5jIHJlcGFpcnMgKENBU1NBTkRSQS04MzY2KQogKiBGaXggY29tbWl0bG9nIGdldFBlbmRpbmdUYXNrcyB0byBub3QgaW5jcmVtZW50IChDQVNTQU5EUkEtODg2MikKICogRml4IHBhcmFsbGVsaXNtIGFkanVzdG1lbnQgaW4gcmFuZ2UgYW5kIHNlY29uZGFyeSBpbmRleCBxdWWV5401AAABT948slwAEDkpCiAqIENvbmRpdGlvbmEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUoAAAEAb3IgKENBU1NBTkRSQS01OTM1KQogKiBNYWtlIHVzZXItZGVmaW5lZCBjb21wYWN0aW9uIEpNWCBibG9ja2luZyAoQ0FTU0FORFJBLTQ5NTIpCiAqIEZpeCBzdHJlYW1pbmcgZG9lcyBub3QgdHJhbnNmZXIgd3JhcHBlZCByYW5nZSAoQ0FTU0FORFJBLTU5NDgpCiAqIEZpeCBsb2FkaW5nIGluZGV4IHN1bW1hcnkgY29udGFpbmluZyBlbXB0eSBrZXkgKENBU1NBTkRSQS01OTY1KQogKiBDb3JyZWN0bHkgaGFuZGxlIGxpbWl0cyBpbiBDb21wb3NpdGVzUy2YuUQAAAFP3jyyXAAQTF9RVU9SVU0gYW5kIERDUQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtSgAAAQAgRG9uJ3QgZHJvcCBsb2NhbCBtdXRhdGlvbnMgd2l0aG91dCBhIGhpbnQgKENBU1NBTkRSQS02NTEwKQogKiBEb24ndCBhbGxvdyBudWxsIG1heF9oaW50X3dpbmRvd19pbl9tcyAoQ0FTU0FORFJBLTY0MTkpCiAqIFZhbGlkYXRlIFNsaWNlUmFuZ2Ugc3RhcnQgYW5kIGZpbmlzaCBsZW5ndGhzIChDQVNTQU5EUkEtNjUyMSkKCgoyLjAuMwogKiBGaXggRkQgbGVhayBvbiBzbGljZSByZWFkIHBhdGggKENBU1NBTkRSQS02Mjc1KQogKiBDYW5jZWwgcmVhkHvIWAAAAU/ePLJcABBTQU5EUkEtMjk0MykKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1KAAABAAogKiBIYW5kbGUgb2Jzb2xldGUgZ29zc2lwIHJlbGF0ZWQgdG8gbm9kZSBtb3ZlbWVudCBpbiB0aGUgY2FzZSB3aGVyZQogICBvbmUgb3IgbW9yZSBub2RlcyBpcyBkb3duIHdoZW4gdGhlIG1vdmVtZW50IG9jY3VycyAoQ0FTU0FORFJBLTU3MikKICogSW5jbHVkZSBkZWFkIG5vZGVzIGluIGdvc3NpcCB0byBhdm9pZCBhIHZhcmlldHkgb2YgcHJvYmxlbXMKICAgYW5kIGZpeCBISCB0byByZW1vdmVkIG5vZGVzIChDQVNTQU5EUkEtNjM0KQogKiByZXQZFbqzAAABT948slwAECAqIEZpeCBVbnN1cHBvcnQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUoAAAEAcyBzdGFydHVwIChDQVNTQU5EUkEtOTQ4KQogKiBtYWtlIGNvbmN1cnJlbnRfcmVhZHMsIGNvbmN1cnJlbnRfd3JpdGVzIGNvbmZpZ3VyYWJsZSBhdCBydW50aW1lIHZpYSBKTVgKICAgKENBU1NBTkRSQS0xMDYwKQogKiBkaXNhYmxlIEdDSW5zcGVjdG9yIG9uIG5vbi1TdW4gSlZNcyAoQ0FTU0FORFJBLTEwNjEpCiAqIGZpeCB0b21ic3RvbmUgaGFuZGxpbmcgaW4gc3N0YWJsZSByb3dzIHdpdGggbm8gb3RoZXIgZGF0YSAoQ0FTU0FORFJBLTEwNjMpCikXqAMAAAFP3jyyXAAQQ0FTU0FORFJBLTkyNTEpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtSgAAAQBhZGluZyAoQ0FTU0FORFJBLTQzMTkpCiAqIChjcWwzKSBSZWplY3QgKG5vdCB5ZXQgc3VwcG9ydGVkKSBjcmVhdGlvbiBvZiAybmRhcmR5IGluZGV4ZXMgb24gdGFibGVzIHdpdGgKICAgY29tcG9zaXRlIHByaW1hcnkga2V5cyAoQ0FTU0FORFJBLTQzMjgpCiAqIFNldCBKVk0gc3RhY2sgc2l6ZSB0byAxNjBrIGZvciBqYXZhIDcgKENBU1NBTkRSQS00Mjc1KQogKiBjcWxzaDogYWRkIENPUFkgY29tbWFuZCB0byBsb2FkIGRhdGEgZnJvbSBDU1YgZmxh2yGwAAAAAU/ePLJcABBTQU5EUkEtODIzOSkKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1KAAABACkKICogUmVkdWNlIGNhc3NhbmRyYS1zdHJlc3Mgc2FtcGxpbmcgbWVtb3J5IHJlcXVpcmVtZW50cyAoQ0FTU0FORFJBLTc5MjYpCiAqIEVuc3VyZSBtZW10YWJsZSBmbHVzaCBjYW5ub3QgZXhwaXJlIGNvbW1pdCBsb2cgZW50cmllcyBmcm9tIGl0cyBmdXR1cmUgKENBU1NBTkRSQS04MzgzKQogKiBNYWtlIHJlYWQgImRlZnJhZyIgYXN5bmMgdG8gcmVjbGFpbSBtZW10YWJsZXMgKENBU1NBTkRSQS04NDU5KQogKiBSZW1vdmUgdG1wbGluayBmaWxlcyDOG16qAAABT948slwAEGlvbiB3YXMgZXhlY3V0ZWQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUoAAAEAaXNmeSByZXF1ZXN0ZWQgQ0wgKyBSUiAoQ0FTU0FORFJBLTM1OTgpCiAqIHVzZSBjYW5ub25pY2FsIGhvc3QgZm9yIGxvY2FsIG5vZGUgaW4gbm9kZXRvb2wgaW5mbyAoQ0FTU0FORFJBLTM1NTYpCiAqIHJlbW92ZSBub25sb2NhbCBEQyB3cml0ZSBvcHRpbWl6YXRpb24gc2luY2UgaXQgb25seSB3b3JrZWQgd2l0aAogICBDTC5PTkUgb3IgQ0wuTE9DQUxfUVVPUlVNIChDQVNTQU5EUkEtMzU3NywgMzU4NSkKICogZGV0ZWN0IG1pc3VzZXMgb2YgQ291bsfGNgEAAAFP3jyyXAAQRXhjZXB0aW9uIHVwb24gZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtSgAAAQBjYWxOb2RlSWQgKENBU1NBTkRSQS0yODI0KQogKiBDb3JyZWN0bHkgc2V0IGRlZmF1bHQgZm9yIHJlcGxpY2F0ZV9vbl93cml0ZSAoQ0FTU0FORFJBLTI4MzUpCiAqIGltcHJvdmUgbm9kZXRvb2wgY29tcGFjdGlvbnN0YXRzIGZvcm1hdHRpbmcgKENBU1NBTkRSQS0yODQ0KQogKiBmaXggaW5kZXgtYnVpbGRpbmcgc3RhdHVzIGRpc3BsYXkgKENBU1NBTkRSQS0yODUzKQogKiBmaXggQ0xJIHBlcnBldHVhdGluZyBvYnNvbGV0ZSBLc0RlZi5yZXBsaWNhkTRziQAAAU/ePLJcABBuZyBjb2x1bW5zIGFuZCBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1KAAABACAqIEZpeCBmb3JtYXR0aW5nIG9mIHNzdGFibGUyanNvbiB3aXRoIG11bHRpcGxlIC1rIGFyZ3VtZW50cyAoQ0FTU0FORFJBLTU3ODEpCiAqIERvbid0IHJlbHkgb24gcm93IG1hcmtlciBmb3IgcXVlcmllcyBpbiBnZW5lcmFsIHRvIGhpZGUgbG9zdCBtYXJrZXJzCiAgIGFmdGVyIFRUTCBleHBpcmVzIChDQVNTQU5EUkEtNTc2MikKICogU29ydCBub2RldG9vbCBoZWxwIG91dHB1dCAoQ0FTU0FORFJBLTU3NzYpCiAqIEZpeCBjb2x1bW4gZXhwaXJpbmfNf3n3AAABT948slwAEG8uZ2V0VGFza1R5cGUgcmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUoAAAEAIChDQVNTQU5EUkEtMTExOCkKICogcmVzdHJ1Y3R1cmUgdGhlIHN0YXJ0dXAgb3JkZXJpbmcgb2YgR29zc2lwZXIgYW5kIE1lc3NhZ2VTZXJ2aWNlIHRvIGF2b2lkCiAgIHRpbWluZyBhbm9tYWxpZXMgKENBU1NBTkRSQS0xMTYwKQogKiBkZXRlY3QgaW5jb21wbGV0ZSBjb21taXQgbG9nIGhlYXJkZXJzIChDQVNTQU5EUkEtMTExOSkKICogZm9yY2UgYW50aS1lbnRyb3B5IHNlcnZpY2UgdG8gc3RyZWFtIGZpbGVzIG9uIHRoZSBzdHJlYW0gc3RhZ2UgdF9MURwAAAFP3jyyXAAQU1NBTkRSQS02MDcwKQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtSgAAAQBjaGVtYSBhZnRlciB1cGdyYWRlIGZyb20gcHJlLTEuMS41IChDQVNTQU5EUkEtNTA2MSkKICogRml4IEFMVEVSIFRBQkxFIG92ZXJyaWRpbmcgY29tcHJlc3Npb24gb3B0aW9ucyB3aXRoIGRlZmF1bHRzCiAgIChDQVNTQU5EUkEtNDk5NiwgNTA2NikKICogZml4IHNwZWNpZnlpbmcgYW5kIGFsdGVyaW5nIGNyY19jaGVja19jaGFuY2UgKENBU1NBTkRSQS01MDUzKQogKiBmaXggTXVybXVyM1BhcnRpdGlvbmVyIG93bmVyc2hpcCUgY2FsY3VsYXRpb24gvMGQSgAAAU/ePLJcABBtcGFjdGlvbk1hbmFnZXJNAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1KAAABAGxlCiAgIChDQVNTQU5EUkEtNzY2NCkKICogRml4IFBSU0kgaGFuZGxpbmcgb2YgQ1FMMyByb3cgbWFya2VycyBmb3Igcm93IGNsZWFudXAgKENBU1NBTkRSQS03Nzg3KQogKiBGaXggZHJvcHBpbmcgY29sbGVjdGlvbiB3aGVuIGl0J3MgdGhlIGxhc3QgcmVndWxhciBjb2x1bW4gKENBU1NBTkRSQS03NzQ0KQogKiBQcm9wZXJseSByZWplY3Qgb3BlcmF0aW9ucyBvbiBsaXN0IGluZGV4IHdpdGggY29uZGl0aW9ucyAoQ0FTU0FORFJBLTc0OTkpCiAqIE1Byx8ZAA0g42IQhS4AAAFP3jyyXAAQCiAqIFBhZ2luZyBmaWx0ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtTAAAAQBuIHJlc3VsdCBzZXQgbWV0YWRhdGEgKENBU1NBTkRSQS00NzE3KQogKiBCYWNrcG9ydCBhZGRpbmcgQWx0ZXJLZXlzcGFjZSBzdGF0ZW1lbnQgKENBU1NBTkRSQS00NjExKQogKiAoQ1FMMykgQ29ycmVjdHkgYWNjZXB0IHVwcGVyLWNhc2UgZGF0YSB0eXBlcyAoQ0FTU0FORFJBLTQ3NzApCiAqIEFkZCBiaW5hcnkgcHJvdG9jb2wgZXZlbnRzIGZvciBzY2hlbWEgY2hhbmdlcyAoQ0FTU0FORFJBLTQ2ODQpCk1lcmdlZCBmcm9tIDEuMDoKICogU3dpdGNoNJcaIgAAAU/ePLJcABB1bGF0aW9uIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1MAAABAAogICBzeXN0ZW1zIHdpdGggbWFueSAoMTAwcykgb2YgQ0YgZGVmaW5pdGlvbnMgKENBU1NBTkRSQS0zNzUxKQogKiBGaXggcmVsZXZhbnQgdG9tYnN0b25lIGlnbm9yZWQgd2l0aCBzdXBlciBjb2x1bW5zIChDQVNTQU5EUkEtMzg3NSkKCgoxLjAuNwogKiBmaXggcmVncmVzc2lvbiBpbiBISCBwYWdlIHNpemUgY2FsY3VsYXRpb24gKENBU1NBTkRSQS0zNjI0KQogKiByZXRyeSBmYWlsZWQgc3RyZWFtIG9uIElPRXhjZXB0aW9uIChDQVNTQU5EUkEtMzZ/z7biAAABT948slwAEEpNWCAoQ0FTU0FORFJBLTcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUwAAAEAIHN1cHBvcnRlZCkgY3JlYXRpb24gb2YgMm5kYXJkeSBpbmRleGVzIG9uIHRhYmxlcyB3aXRoCiAgIGNvbXBvc2l0ZSBwcmltYXJ5IGtleXMgKENBU1NBTkRSQS00MzI4KQogKiBTZXQgSlZNIHN0YWNrIHNpemUgdG8gMTYwayBmb3IgamF2YSA3IChDQVNTQU5EUkEtNDI3NSkKICogY3Fsc2g6IGFkZCBDT1BZIGNvbW1hbmQgdG8gbG9hZCBkYXRhIGZyb20gQ1NWIGZsYXQgZmlsZXMgKENBU1NBTkRSQS00MDEyKQogKiBDRk1ldGFEYXRhLmZyb21UaHJpZotRBRAAAAFP3jyyXAAQQS03ODEwKQoKCjIuMS4wLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtTAAAAQBsIHZhbHVlIGFuZCBtYXggaW50ZXJ2YWwgKENBU1NBTkRSQS00Mzc1KQogKiBGaXggcHJlcGFyaW5nIHdpdGggYmF0Y2ggYW5kIGRlbGV0ZSBmcm9tIGNvbGxlY3Rpb24gKENBU1NBTkRSQS02NjA3KQogKiBGaXggQUJTQyByZXZlcnNlIGl0ZXJhdG9yJ3MgcmVtb3ZlKCkgbWV0aG9kIChDQVNTQU5EUkEtNjYyOSkKICogSGFuZGxlIGhvc3QgSUQgY29uZmxpY3RzIHByb3Blcmx5IChDQVNTQU5EUkEtNjYxNSkKICogTW92ZSBoYW5kbGluZyBvZiBtaWdy7gF3UAAAAU/ePLJcABBoCiAgIENMLk9ORSBvciBDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1MAAABAEEtNjAwOSkKICogUGFnaW5nIGZpbHRlciBlbXB0eSByb3dzIHRvbyBhZ3Jlc3NpdmVseSAoQ0FTU0FORFJBLTYwNDApCiAqIFN1cHBvcnQgdmFyaWFkaWMgcGFyYW1ldGVycyBmb3IgSU4gY2xhdXNlcyAoQ0FTU0FORFJBLTQyMTApCiAqIGNxbHNoOiByZXR1cm4gdGhlIHJlc3VsdCBvZiBDQVMgd3JpdGVzIChDQVNTQU5EUkEtNTc5NikKICogRml4IHZhbGlkYXRpb24gb2YgSU4gY2xhdXNlcyB3aXRoIDJuZGFyeSBpbmRleGVzIChDQVNTQU5EUkEtNjCEDQ0vAAABT948slwAEHNzIHRvb2wgaW4gYmluYXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUwAAAEAUkEtODc4NikKICogY2Fzc2FuZHJhLXN0cmVzcyByZXBvcnRzIHBlci1vcGVyYXRpb24gc3RhdGlzdGljcywgcGx1cyBtaXNjIChDQVNTQU5EUkEtODc2OSkKICogVXNlIGxvbmcgZm9yIGtleSBjb3VudCBpbiBjZnN0YXRzIChDQVNTQU5EUkEtODkxMykKICogTWFrZSBTU1RhYmxlUmV3cml0ZXIuYWJvcnQoKSBtb3JlIHJvYnVzdCB0byBmYWlsdXJlIChDQVNTQU5EUkEtODgzMikKICogUmVtb3ZlIGNvbGRfcmVhZHNfdG9fb21pdCBmcm9tIFNUQ1MgKG9B964AAAFP3jyyXAAQdyB3cml0ZXMgdG8gYnlwYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtTAAAAQBEUkEtMTU1MCkKICogSWdub3JlIHN0cmF5IGZpbGVzIGluIHRoZSBjb21taXQgbG9nIGRpcmVjdG9yeSAoQ0FTU0FORFJBLTE1NDcpCiAqIERpc2FsbG93IGJvb3RzdHJhcCB0byBhbiBpbi11c2UgdG9rZW4gKENBU1NBTkRSQS0xNTYxKQoKCjAuNy1iZXRhMQogKiBzc3RhYmxlIHZlcnNpb25pbmcgKENBU1NBTkRSQS0zODkpCiAqIHN3aXRjaGVkIHRvIHNsZjRqIGxvZ2dpbmcgKENBU1NBTkRSQS02MjUpCiAqIGFkZCAob3B0aW9uYWwpIGV4cGlyYXRpC0CaxQAAAU/ePLJcABBxdWllc2NlIE1lc3NhZ2luAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1MAAABAC00Mjk2KQogKiBBdm9pZCBkZWFkbG9jayBpbiBtaWdyYXRpb24gc3RhZ2UgKENBU1NBTkRSQS0zODgyKQogKiBUYWtlIHN1cGVyY29sdW1uIG5hbWVzIGFuZCBkZWxldGlvbiBpbmZvIGludG8gYWNjb3VudCBpbiBtZW10YWJsZSB0aHJvdWdocHV0CiAgIChDQVNTQU5EUkEtNDI2NCkKICogQWRkIGJhY2sgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3Igb2xkIHN0eWxlIHJlcGxpY2F0aW9uIGZhY3RvciAoQ0FTU0FORFJBLTQyOTQpCiAqIFByZXNlcnapUcFXAAABT948slwAEG5kIG1ha2UgaXQgZGVmYXUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUwAAAEAIChDQVNTQU5EUkEtMTEzOCkKICogcGFyYWxsZWxpemUgbG9jYWwgYW5kIHJlbW90ZSByZWFkcyBkdXJpbmcgbXVsdGlnZXQsIGFuZCByZXNwZWN0IHNuaXRjaCAKICAgd2hlbiBkZXRlcm1pbmluZyB3aGV0aGVyIHRvIGRvIGxvY2FsIHJlYWQgZm9yIENMLk9ORSAoQ0FTU0FORFJBLTEzMTcpCiAqIGZpeCByZWFkIHJlcGFpciB0byB1c2UgcmVxdWVzdGVkIGNvbnNpc3RlbmN5IGxldmVsIG9uIGRpZ2VzdCBtaXNtYXRjaCwKICAgcmF0aGVyIHRoYW4gYZWeKN0AAAFP3jyyXAAQcnRpbmcgYW5kIGVuZGluZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtTAAAAQAxKQogKiBtYWtlIHN1cmUgcHJlLXRydW5jYXRlIENMIHNlZ21lbnRzIGFyZSBkaXNjYXJkZWQgKENBU1NBTkRSQS0yOTUwKQoKCjAuOC4zCiAqIGFkZCBhYmlsaXR5IHRvIGRyb3AgbG9jYWwgcmVhZHMvd3JpdGVzIHRoYXQgYXJlIGdvaW5nIHRvIHRpbWVvdXQKICAgKENBU1NBTkRSQS0yOTQzKQogKiByZXZhbXAgdG9rZW4gcmVtb3ZhbCBwcm9jZXNzLCBrZWVwIGdvc3NpcCBzdGF0ZXMgZm9yIDMgZGF5cyAoQ0FTU0FORFJBLTI0OTYpCiAqIGRvbid0dsTnagAAAU/ePLJcABBwYXJpc29uIGZvciBVVUlEAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1MAAABAGlzIGJyZWFrcyBOVFMpIChDQVNTQU5EUkEtNTI5MikKICogRml4IGNvbXBvc2l0ZSBjb21wYXJhdG9yIHdpdGggc3VwZXIgY29sdW1ucyAoQ0FTU0FORFJBLTUyODcpCiAqIEZpeCBpbnN1ZmZpY2llbnQgdmFsaWRhdGlvbiBvZiBVUERBVEUgcXVlcmllcyBhZ2FpbnN0IGNvdW50ZXIgY2ZzCiAgIChDQVNTQU5EUkEtNTMwMCkKICogRml4IFByb3BlcnR5RmlsZVNuaXRjaCBkZWZhdWx0IERDL1JhY2sgYmVoYXZpb3IgKENBU1NBTkRSQS01Mjg1KQogKiCxp00XAAABT948slwAEHRvIE9ORQogKiBmaXggZm8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUwAAAEAYW1lPiBSRU5BTUUgVE8gPG5hbWU+IiBmcm9tIHRhYi1jb21wbGV0aW9uCiAgIChDQVNTQU5EUkEtNzg5NSkKICogRml4ZWQgSWxsZWdhbFN0YXRlRXhjZXB0aW9uIGluIGFudGljb21wYWN0aW9uIChDQVNTQU5EUkEtNzg5MikKICogY3Fsc2g6IERFU0NSSUJFIHN1cHBvcnQgZm9yIGZyb3plbiBVRFRzLCB0dXBsZXMgKENBU1NBTkRSQS03ODYzKQogKiBBdm9pZCBleHBvc2luZyBpbnRlcm5hbCBjbGFzc2VzIG92ZXIgSk1YIChDQVNTQU5EUkEtNzg3OTH/ppgAAAFP3jyyXAAQcyBidW1wZWQgdG8gMS4wIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtTAAAAQByb2FjaCB0byByZW1vdmluZyBleHBpcmVkIHRvbWJzdG9uZXMKICAgZnJvbSByb3cgY2FjaGUgZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS00MzY0KQogKiAoc3RyZXNzKSBzdXBwb3J0IGZvciBDUUwgcHJlcGFyZWQgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTM2MzMpCiAqIENvcnJlY3RseSBjYXRjaCBleGNlcHRpb24gd2hlbiBTbmFwcHkgY2Fubm90IGJlIGxvYWRlZCAoQ0FTU0FORFJBLTQ0MDApCiAqIChjcWwzKSBTdXBwb3J0IE9SREVSIEJZ2NsQSwAAAU/ePLJcABAgKiBGaXggdmFsaWRhdGlvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1MAAABADc2OTQpCiAqIE1pbm9yIGxlYWsgaW4gc3N0YWJsZTJqb24gKENBU1NBTkRSQS03NzA5KQogKiBBZGQgY2Fzc2FuZHJhLmF1dG9fYm9vdHN0cmFwIHN5c3RlbSBwcm9wZXJ0eSAoQ0FTU0FORFJBLTc2NTApCiAqIFVwZGF0ZSBqYXZhIGRyaXZlciAoZm9yIGhhZG9vcCkgKENBU1NBTkRSQS03NjE4KQogKiBSZW1vdmUgQ3FsUGFnaW5nUmVjb3JkUmVhZGVyL0NxbFBhZ2luZ0lucHV0Rm9ybWF0IChDQVNTQU5EUkEtNzU3MCkKICogU3VwcG9ydCBjb25uZWNCow8LAAABT948slwAEHVnIHdpdGggc3N0YWJsZSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILUwAAAEAIGZpeCBDb2x1bW5GYW1pbHlTdG9yZU1CZWFuSXRlcmF0b3IgdG8gdXNlIG5ldyB0eXBlIG5hbWUgKENBU1NBTkRSQS0xNDMzKQogKiBjb3JyZWN0IGZpbGVuYW1lIGdlbmVyYXRlZCBieSB4bWwtPnlhbWwgY29udmVydGVyIChDQVNTQU5EUkEtMTQxOSkKICogYWRkIENNU0luaXRpYXRpbmdPY2N1cGFuY3lGcmFjdGlvbj03NSBhbmQgVXNlQ01TSW5pdGlhdGluZ09jY3VwYW5jeU9ubHkKICAgdG8gZGVmYXVsdCBKVk0gb3B0aW9ucwogKiBkZWNyZWFzZffmk60ADTVAZvl7VwAAAU/ePLJcABBDQVNTQU5EUkEtMjI4NSkKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1OAAABAG1wJyAoQ0FTU0FORFJBLTI4MTApCiAqIEZpeCBzdHJlc3MgQ09VTlRFUl9HRVQgb3B0aW9uIChDQVNTQU5EUkEtMzMwMSkKICogRml4IG1pc3NpbmcgZmllbGRzIGluIENMSSBgc2hvdyBzY2hlbWFgIG91dHB1dCAoQ0FTU0FORFJBLTMzMDQpCiAqIE5vZGV0b29sIG5vIGxvbmdlciBsZWFrcyB0aHJlYWRzIGFuZCBjbG9zZXMgSk1YIGNvbm5lY3Rpb25zIChDQVNTQU5EUkEtMzMwOSkKICogZml4IHRydW5jYXRlIGFsbG93aW5nIGRhdGEgdG8gYmUgcmUWcr7DAAABT948slwAEGFjZV0gdXNlZnVsIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILU4AAAEANzY0KQogKiByZWR1Y2UgZmF0IGNsaWVudCB0aW1lb3V0IChDQVNTQU5EUkEtMTczMCkKICogZml4IGJvdGNoZWQgbWVyZ2Ugb2YgQ0FTU0FORFJBLTEzMTYKCgowLjcuMC1yYzEKICogZml4IGNvbXBhY3Rpb24gYW5kIGZsdXNoIHJhY2VzIHdpdGggc2NoZW1hIHVwZGF0ZXMgKENBU1NBTkRSQS0xNzE1KQogKiBhZGQgY2x1c3RlcnRvb2wsIGNvbmZpZy1jb252ZXJ0ZXIsIHNzdGFibGVrZXlzLCBhbmQgc2NoZW1hdG9vbCAKICAgV2luZG93cyAuYmF0IEDgKaAAAAFP3jyyXAAQcmF0aW9uIHRpbWUgZm9yIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtTgAAAQAgc2VsZWN0aW9uIChDQVNTQU5EUkEtNjAwMSkKICogVXBkYXRlIHNzdGFibGVzUGVyUmVhZEhpc3RvZ3JhbSB0byB1c2UgYmlhc2VkIHNhbXBsaW5nIChDQVNTQU5EUkEtNjE2NCkKICogTG9nIFVua25vd25Db2x1bW5mYW1pbHlFeGNlcHRpb24gd2hlbiBjbG9zaW5nIHNvY2tldCAoQ0FTU0FORFJBLTU3MjUpCiAqIFByb3Blcmx5IGVycm9yIG91dCBvbiBDUkVBVEUgSU5ERVggZm9yIGNvdW50ZXJzIHRhYmxlIChDQVNTQU5EUkEtNjE2MCkKICogSGFuIslmsAAAAU/ePLJcABByZXNzLnB5IG1vdmVkIHRvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1OAAABAHlwdGlvbiBzdXBwb3J0IHRvIHNzdGFibGVsb2FkZXIgKENBU1NBTkRSQS02Mzc4KQogKiBGaXggYWNjZXB0KCkgbG9vcCBmb3IgU1NMIHNvY2tldHMgcG9zdC1zaHV0ZG93biAoQ0FTU0FORFJBLTY0NjgpCiAqIEZpeCBzaXplLXRpZXJlZCBjb21wYWN0aW9uIGluIExDUyBMMCAoQ0FTU0FORFJBLTY0OTYpCiAqIEZpeCBhc3NlcnRpb24gZmFpbHVyZSBpbiBmaWx0ZXJDb2xkU1NUYWJsZXMgKENBU1NBTkRSQS02NDgzKQogKiBGaXggcm93IHRvbWJzdG+t3wvNAAABT948slwAEGtzIHRvIGltcHJvdmUgd3IAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILU4AAAEAaW5nIGR1cmluZyBib290c3RyYXAgKENBU1NBTkRSQS0yNjEyKSAKICogZml4IENRTCB0cmVhdG1lbnQgb2YgPiBhbmQgPCBvcGVyYXRvcnMgaW4gcmFuZ2Ugc2xpY2VzIChDQVNTQU5EUkEtMjU5MikKICogZml4IHBvdGVudGlhbCBkb3VibGUtYXBwbGljYXRpb24gb2YgY291bnRlciB1cGRhdGVzIG9uIGNvbW1pdGxvZyByZXBsYXkKICAgYnkgbW92aW5nIHJlcGxheSBwb3NpdGlvbiBmcm9tIGhlYWRlciB0byBzc3RhYmxlIG1ldGFkYXRhIChDQVNTQc8iUs0AAAFP3jyyXAAQZCBKTVggcHJvcGVydHkgZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtTgAAAQBlbnRpcmUgZmlsZSAoQ0FTU0FORFJBLTIzMTgpCiAqIGNsZWFyIEJ1aWx0IGZsYWcgaW4gc3lzdGVtIHRhYmxlIHdoZW4gZHJvcHBpbmcgYW4gaW5kZXggKENBU1NBTkRSQS0yMzIwKQogKiBkb24ndCBhbGxvdyBhcmJpdHJhcnkgYXJndW1lbnQgZm9yIHN0cmVzcy5qYXZhIChDQVNTQU5EUkEtMjMyMykKICogdmFsaWRhdGUgdmFsdWVzIGZvciBpbmRleCBwcmVkaWNhdGVzIGluIGdldF9pbmRleGVkX3NsaWNlIChDQVNTQU5EUkEtMjMyOCkKICogcXVlKp6C+AAAAU/ePLJcABBvcHRpb24gKENBU1NBTkRSAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1OAAABAEFTU0FORFJBLTY5MjQpCiAqIE9ubHkgc25hcHNob3QgcmVsYXRpdmUgU1NUYWJsZXMgd2hlbiBzZXF1ZW50aWFsIHJlcGFpciAoQ0FTU0FORFJBLTcwMjQpCiAqIFJlcXVpcmUgbm9kZXRvb2wgcmVidWlsZF9pbmRleCB0byBzcGVjaWZ5IGluZGV4IG5hbWVzIChDQVNTQU5EUkEtNzAzOCkKICogZml4IGNhc3NhbmRyYSBzdHJlc3MgZXJyb3JzIG9uIHJlYWRzIHdpdGggbmF0aXZlIHByb3RvY29sIChDQVNTQU5EUkEtNzAzMykKICogVXNlIE9wT3JkZXL1DZSSAAABT948slwAECd0IGRlcGVuZCBvbiBjYXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILU4AAAEAIG91dCBldmVuIHdoZW4gcmVzcG9uc2VzIHdlcmUgcmVjZWl2ZWQgKENBU1NBTkRSQS0yNTUyKQogKiB0cmlnZ2VyIHJlYWQgcmVwYWlyIGNvcnJlY3RseSBmb3IgTE9DQUxfUVVPUlVNIHJlYWRzIChDQVNTQU5EUkEtMjU1NikKICogQWxsb3cgY29uZmlndXJpbmcgdGhlIG51bWJlciBvZiBjb21wYWN0aW9uIHRocmVhZCAoQ0FTU0FORFJBLTI1NTgpCiAqIGZvcmNlVXNlckRlZmluZWRDb21wYWN0aW9uIHdpbGwgYXR0ZW1wdCB0byBjb21wYWN0IHdoYTuBjxkAAAFP3jyyXAAQQVNTQU5EUkEtMzYwMSkKTQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtTgAAAQAKICogQWxsb3cgY2Fzc2FuZHJhLXN0cmVzcyB0byBzZXQgY29tcGFjdGlvbiBzdHJhdGVneSBvcHRpb25zIChDQVNTQU5EUkEtNjQ1MSkKICogQWRkIGJyb2FkY2FzdF9ycGNfYWRkcmVzcyBvcHRpb24gdG8gY2Fzc2FuZHJhLnlhbWwgKENBU1NBTkRSQS01ODk5KQogKiBBdXRvIHJlbG9hZCBHb3NzaXBpbmdQcm9wZXJ0eUZpbGVTbml0Y2ggY29uZmlnIChDQVNTQU5EUkEtNTg5NykKICogRml4IG92ZXJmbG93IG9mIG1lbXRhYmxlX3RvdGFsX3NwYWNlRnfg3AAAAU/ePLJcABBvcHkgcmVhZHMgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1OAAABAGZpeCBpbmNvcnJlY3QgcXVlcnkgcmVzdWx0cyBkdWUgdG8gaW52YWxpZCBtYXggdGltZXN0YW1wIChDQVNTQU5EUkEtMzUxMCkKICogbWFrZSBzc3RhYmxlbG9hZGVyIHJlY29nbml6ZSBjb21wcmVzc2VkIHNzdGFibGVzIChDQVNTQU5EUkEtMzUyMSkKICogYXZvaWRzIHJhY2UgaW4gT3V0Ym91bmRUY3BDb25uZWN0aW9uIGluIG11bHRpLURDIHNldHVwcyAoQ0FTU0FORFJBLTM1MzApCiAqIHVzZSBTRVRMT0NBTCBpbiBjYXNzYW5kcmEuYmF0IChDQVP/kIhnAAABT948slwAEFNlcnZlciAoQ0FTU0FORFIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILU4AAAEAb3B0aW9uIHRvIEhhZG9vcCBpbnB1dGZvcm1hdCAoQ0FTU0FORFJBLTExMjUpCiAqIGZpeCBwcm90b2NvbCB2ZXJzaW9uaW5nIChDQVNTQU5EUkEtMjgxOCwgMjg2MCkKICogc3VwcG9ydCBzcGFjZXMgaW4gcGF0aCB0byBsb2c0aiBjb25maWd1cmF0aW9uIChDQVNTQU5EUkEtMjM4MykKICogYXZvaWQgaW5jbHVkaW5nIGluZmVycmVkIHR5cGVzIGluIENGIHVwZGF0ZSAoQ0FTU0FORFJBLTI4MDkpCiAqIGZpeCBKTVggYnVsa2xvYWQgY2FsbCAoQ0FTU0ui0XwAAAFP3jyyXAAQU1NBTkRSQS02MjcxLCA2NgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtTgAAAQB0byBjYXNzYW5kcmEtc3Rlc3MgKENBU1NBTkRSQS05MzYxKQogKiBGaXggY29tbWl0bG9nIGdldENvbXBsZXRlZFRhc2tzIHRvIG5vdCBpbmNyZW1lbnQgKENBU1NBTkRSQS05MzM5KQogKiBGaXggZm9yIGhhcm1sZXNzIGV4Y2VwdGlvbnMgbG9nZ2VkIGFzIEVSUk9SIChDQVNTQU5EUkEtODU2NCkKICogRGVsZXRlIHByb2Nlc3NlZCBzc3RhYmxlcyBpbiBzc3RhYmxlc3BsaXQvc3N0YWJsZXVwZ3JhZGUgKENBU1NBTkRSQS04NjA2KQogKiBJbXByb3Zl9RepKAAAAU/ePLJcABB0aWwuY2xvbmUgdGhyZWFkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1OAAABAERBVEUgdXBkYXRpbmcgUFJJTUFSWSBLRVkgY29sdW1ucyBpbXBsaWNpdGx5IChDQVNTQU5EUkEtNjc4MikKICogRml4IElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiB3aGVuIHVwZGF0aW5nIGZyb20gMS4yIHdpdGggU3VwZXJDb2x1bW5zCiAgIChDQVNTQU5EUkEtNjczMykKICogRkJVdGlsaXRpZXMuc2luZ2xldG9uKCkgc2hvdWxkIHVzZSB0aGUgQ0YgY29tcGFyYXRvciAoQ0FTU0FORFJBLTY3NzgpCiAqIEZpeCBDUUxTU3RhYmxlV3JpdGVyLmFkZFIPwGpCAAABT948slwAEDgxKQoKCjAuOC4wLWJldGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILU4AAAEAcGVkIGtleXNwYWNlcyAoQ0FTU0FORFJBLTY4MjEpCiAqIEFkZCB1dWlkKCkgZnVuY3Rpb24gKENBU1NBTkRSQS02NDczKQogKiBPbWl0IHRvbWJzdG9uZXMgZnJvbSBzY2hlbWEgZGlnZXN0cyAoQ0FTU0FORFJBLTY4NjIpCiAqIEluY2x1ZGUgY29ycmVjdCBjb25zaXN0ZW5jeUxldmVsIGluIExXVCB0aW1lb3V0IChDQVNTQU5EUkEtNjg4NCkKICogTG93ZXIgY2hhbmNlcyBmb3IgbG9zaW5nIG5ldyBTU1RhYmxlcyBkdXJpbmcgbm9kZXRvb2wgcmVmcpDotNwAAAFP3jyyXAAQUmV3cml0ZXIgY2F1c2luZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtTgAAAQBjZmhpc3RvZ3JhbXMgKENBU1NBTkRSQS04NTE0KQogKiBTd2l0Y2ggZnJvbSB5YW1tZXIgbWV0cmljcyBmb3Igbm9kZXRvb2wgY2YvcHJveHkgaGlzdG9ncmFtcyAoQ0FTU0FORFJBLTg2NjIpCiAqIE1ha2Ugc3VyZSB3ZSBkb24ndCBhZGQgdG1wbGluayBmaWxlcyB0byB0aGUgY29tcGFjdGlvbgogICBzdHJhdGVneSAoQ0FTU0FORFJBLTg1ODApCiAqIChjcWxzaCkgSGFuZGxlIG1hcHMgd2l0aCBibG9iIGtleXMgKENBU1NBTkRSQS04MzcyKQogKiAoMJAX3wANSZ0ek28RAAABT948slwAEEwgdG8gYXZvaWQgZHJvcHAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVAAAAEAZXMgb24gdGFibGVzIHdpdGgKICAgY29tcG9zaXRlIHByaW1hcnkga2V5cyAoQ0FTU0FORFJBLTQzMjgpCiAqIFNldCBKVk0gc3RhY2sgc2l6ZSB0byAxNjBrIGZvciBqYXZhIDcgKENBU1NBTkRSQS00Mjc1KQogKiBjcWxzaDogYWRkIENPUFkgY29tbWFuZCB0byBsb2FkIGRhdGEgZnJvbSBDU1YgZmxhdCBmaWxlcyAoQ0FTU0FORFJBLTQwMTIpCiAqIENGTWV0YURhdGEuZnJvbVRocmlmdCB0byB0aHJvdyBDb25maWd1cmF0aW9uRXhjZXB0aW9uIHVwb9mjrWQAAAFP3jyyXAAQb24gKENBU1NBTkRSQS04NwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtUAAAAQAyNTM2KQogKiByZW1vdmUgdW5mcmFtZWQgVGhyaWZ0IHRyYW5zcG9ydCBvcHRpb24KICogaW5jbHVkZSBpbmRleGVzIGluIHNuYXBzaG90cyAoQ0FTU0FORFJBLTI1OTYpCiAqIGltcHJvdmUgaWdub3Jpbmcgb2Ygb2Jzb2xldGUgbXV0YXRpb25zIGluIGluZGV4IG1haW50ZW5hbmNlIChDQVNTQU5EUkEtMjQwMSkKICogcmVjb2duaXplIGF0dGVtcHQgdG8gZHJvcCBqdXN0IHRoZSBpbmRleCB3aGlsZSBsZWF2aW5nIHRoZSBjb2x1bW4KICAgZGVmaW5pVAD3lgAAAU/ePLJcABBJZ25vcmUgUGF4b3MgY29tAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1QAAABADkpCiAqIChjcWxzaCkgRml4IERFU0NSSUJFIGZvciBOVFMga2V5c3BhY2VzIChDQVNTQU5EUkEtNzcyOSkKICogUmVtb3ZlIG5ldHR5IGJ1ZmZlciByZWYtY291bnRpbmcgKENBU1NBTkRSQS03NzM1KQogKiBQYXNzIG11dGF0ZWQgY2YgdG8gaW5kZXggdXBkYXRlciBmb3IgdXNlIGJ5IFBSU0kgKENBU1NBTkRSQS03NzQyKQogKiBJbmNsdWRlIHN0cmVzcyB5YW1sIGV4YW1wbGUgaW4gcmVsZWFzZSBhbmQgZGViIChDQVNTQU5EUkEtNzcxNykKICogd28AkNnfAAABT948slwAEFJBLTc4OTkpCiAqIEZpeCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVAAAAEAcHJlc3Npb24gdG8gdGhlIG5hdGl2ZSBwcm90b2NvbCAoQ0FTU0FORFJBLTU3NjUpCiAqIEZpeCBidWdzIGluIHRoZSBuYXRpdmUgcHJvdG9jb2wgdjIgKENBU1NBTkRSQS01NzcwKQogKiBDQVMgb24gJ3ByaW1hcnkga2V5IG9ubHknIHRhYmxlIChDQVNTQU5EUkEtNTcxNSkKICogU3VwcG9ydCBzdHJlYW1pbmcgU1NUYWJsZXMgb2Ygb2xkIHZlcnNpb25zIChDQVNTQU5EUkEtNTc3MikKICogQWx3YXlzIHJlc3BlY3QgcHJvdG9jb2wgdmVyc2lvbiBpbsJOm3UAAAFP3jyyXAAQLjUuMiAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtUAAAAQAgQ0FTIG9wZXJhdGlvbiB3aGVuIHRoZSBwcm90b2NvbCB2MSBpcyB1c2VkIChDQVNTQU5EUkEtNjI3MCkKICogQ29ycmVjdGx5IHRocm93IGVycm9yIHdoZW4gZnJhbWUgdG9vIGxhcmdlIChDQVNTQU5EUkEtNTk4MSkKICogRml4IHNlcmlhbGl6YXRpb24gYnVnIGluIFBhZ2VkUmFuZ2Ugd2l0aCAybmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTYyOTkpCiAqIEZpeCBDUUwzIHRhYmxlIHZhbGlkYXRpb24gaW4gVGhyaWZ0IChDQVNTQU5EUkEtNjE0MCkKpim5BAAAAU/ePLJcABBpb25zIGluIHByZXBhcmVkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1QAAABAAogICAoQ0FTU0FORFJBLTU4MjQpCiAqIHVwZGF0ZSBkZWZhdWx0IExDUyBzc3RhYmxlIHNpemUgdG8gMTYwTUIgKENBU1NBTkRSQS01NzI3KQogKiBBbGxvdyBjb21wYWN0aW5nIDJJcyB2aWEgbm9kZXRvb2wgKENBU1NBTkRSQS01NjcwKQogKiBIZXgtZW5jb2RlIG5vbi1TdHJpbmcga2V5cyBpbiBPUFAgKENBU1NBTkRSQS01NzkzKQogKiBub2RldG9vbCBoaXN0b3J5IGxvZ2dpbmcgKENBU1NBTkRSQS01ODIzKQogKiAoSGFkb29wKSBmaXggc3VwcG8TI3R/AAABT948slwAECkgSU5TRVJUL1VQREFURS8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVAAAAEAZGVmIGVudHJpZXMgZm9yIHN1cGVyIGNvbHVtbmZhbWlsaWVzIChDQVNTQU5EUkEtMzQxNSkKCgoxLjAuMQogKiBhY3F1aXJlIHJlZmVyZW5jZXMgZHVyaW5nIGluZGV4IGJ1aWxkIHRvIHByZXZlbnQgZGVsZXRlIHByb2JsZW1zCiAgIG9uIFdpbmRvd3MgKENBU1NBTkRSQS0zMzE0KQogKiBkZXNjcmliZV9yaW5nIHNob3VsZCBpbmNsdWRlIGRhdGFjZW50ZXIvdG9wb2xvZ3kgaW5mb3JtYXRpb24gKENBU1NBTkRSQS0yODgyKQogKiBUaHJpZnQgc29ja3dZXEoAAAFP3jyyXAAQZWQgaW4tdHJlZSByZWRoYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtUAAAAQBnIGluIGNvbXBhY3Qgc3RvcmFnZSBtZXRhZGF0YSBoYW5kbGluZyAoQ0FTU0FORFJBLTUxODkpCiAqIFZhbGlkYXRlIGxvZ2luIGZvciBVU0UgcXVlcmllcyAoQ0FTU0FORFJBLTUyMDcpCiAqIGNsaTogcmVtb3ZlIGRlZmF1bHQgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIChDQVNTQU5EUkEtNTIwOCkKICogY29uZmlndXJlIHBvcHVsYXRlX2lvX2NhY2hlX29uX2ZsdXNoIHBlci1DRiAoQ0FTU0FORFJBLTQ2OTQpCiAqIGFsbG93IGNvbmZpZ3VyYXRpb24gcR6argAAAU/ePLJcABAgd2hlbiB0aGUgSlZNIHB1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1QAAABAChDUUwpIGNvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucyBhbmQgY29tcHJlc3Npb25fcGFyYW1ldGVycyBmb3IKICAgQ1JFQVRFIENPTFVNTkZBTUlMWSBzdGF0ZW1lbnQgKENBU1NBTkRSQS0zMzc0KQogKiBSZXNldCBtaW4vbWF4IGNvbXBhY3Rpb24gdGhyZXNob2xkIHdoZW4gY3JlYXRpbmcgc2l6ZSB0aWVyZWQgY29tcGFjdGlvbgogICBzdHJhdGVneSAoQ0FTU0FORFJBLTM2NjYpCiAqIERvbid0IGlnbm9yZSBJT0V4Y2VwdGlvbiBkdXJpbmcgY2+EnweoAAABT948slwAEHN0IHdoZW4gcmVtb3ZlIG8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVAAAAEAKENBU1NBTkRSQS01OTgxKQogKiBGaXggc2VyaWFsaXphdGlvbiBidWcgaW4gUGFnZWRSYW5nZSB3aXRoIDJuZGFyeSBpbmRleGVzIChDQVNTQU5EUkEtNjI5OSkKICogRml4IENRTDMgdGFibGUgdmFsaWRhdGlvbiBpbiBUaHJpZnQgKENBU1NBTkRSQS02MTQwKQogKiBGaXggYnVnIG1pc3NpbmcgcmVzdWx0cyB3aXRoIElOIGNsYXVzZXMgKENBU1NBTkRSQS02MzI3KQogKiBGaXggcGFnaW5nIHdpdGggcmV2ZXJzZWQgc2xpY2VzIChDQVNTQU5EUkEtNiblS5sAAAFP3jyyXAAQdCBhbmQgcnBjX3BvcnQgZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtUAAAAQBTdGF0cyBjb21wb25lbnQsIHJlbW92aW5nIHRoZQogICBuZWVkIGZvciBhIHNlcGFyYXRlIE1hbmlmZXN0IGZpbGUgKENBU1NBTkRSQS00ODcyKQogKiBhdm9pZCBzZXJpYWxpemluZyB0byBieXRlW10gb24gY29tbWl0bG9nIGFwcGVuZCAoQ0FTU0FORFJBLTUxOTkpCiAqIG1ha2UgaW5kZXhfaW50ZXJ2YWwgY29uZmlndXJhYmxlIHBlciBjb2x1bW5mYW1pbHkgKENBU1NBTkRSQS0zOTYxLCBDQVNTQU5EUkEtNTY1MCkKICogYWRkIGRlZmF1bHRfdGlt2XHdQQAAAU/ePLJcABAoQ0FTU0FORFJBLTY1NjMpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1QAAABACBpbnN0ZWFkIG9mIEpOQSAoQ0FTU0FORFJBLTMyNzEpCiAqIEVBQ0hfUVVPUlVNIGlzIG9ubHkgc3VwcG9ydGVkIGZvciB3cml0ZXMgKENBU1NBTkRSQS0zMjcyKQogKiByZXBsYWNlIGNvbXBhY3Rpb25sb2NrIHVzZSBpbiBzY2hlbWEgbWlncmF0aW9uIGJ5IGNoZWNraW5nIENGUy5pc1ZhbGlkCiAgIChDQVNTQU5EUkEtMzExNikKICogcmVjb2duaXplIHRoYXQgIlNFTEVDVCBmaXJzdCAuLi4gKiIgaXNuJ3QgcmVhbGx5ICJTRUxFQ1QgKiIgKENBU1Ox6TfsAAABT948slwAEHdyaXRlciBmaW5hbCBpbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVAAAAEAU1NBTkRSQS02MTg1KQogKiBjcWxzaDogZml4IENSRUFURS9BTFRFUiBXSVRIIGNvbXBsZXRpb24gKENBU1NBTkRSQS02MTk2KQogKiBhZGQgd2luZG93cyBiYXQgZmlsZXMgZm9yIHNoZWxsIGNvbW1hbmRzIChDQVNTQU5EUkEtNjE0NSkKICogRml4IHBvdGVudGlhbCBzdGFjayBvdmVyZmxvdyBkdXJpbmcgcmFuZ2UgdG9tYnN0b25lcyBpbnNlcnRpb24gKENBU1NBTkRSQS02MTgxKQogKiAoSGFkb29wKSBNYWtlIExPQ0FMX09ORSB0aGUgZGVmYXVsdChvHxAAAAFP3jyyXAAQIGluZmluaXRlIGxvb3AgaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtUAAAAQB4IChDQVNTQU5EUkEtMTMzOCkKICogc3RyZWFtaW5nIHJlZmFjdG9yIChDQVNTQU5EUkEtMTE4OSkKICogZmFzdGVyIGNvbXBhcmlzb24gZm9yIFVVSUQgdHlwZXMgKENBU1NBTkRSQS0xMDQzKQogKiBzZWNvbmRhcnkgaW5kZXggc3VwcG9ydCAoQ0FTU0FORFJBLTc0OSBhbmQgc3VidGFza3MpCiAqIG1ha2UgY29tcGFjdGlvbiBidWNrZXRzIGRldGVybWluaXN0aWMgKENBU1NBTkRSQS0xMjY1KQoKCjAuNi42CiAqIEFsbG93IHVzaW5nIER5bmFtaWNF9R9xnAAAAU/ePLJcABBlciBleHBvc2VzIGdldENvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1QAAABAHV0cHV0IGNvcnJlY3Qga2V5c3BhY2UgZGVmaW5pdGlvbiBzdGF0ZW1lbnQKICAgKENBU1NBTkRSQS0zMTI5KQogKiBDdXN0b21UVGhyZWFkUG9vbFNlcnZlciB0byBsb2cgVFRyYW5zcG9ydEV4Y2VwdGlvbiBhdCBERUJVRyBsZXZlbAogICAoQ0FTU0FORFJBLTMxNDIpCiAqIGFsbG93IHRvcG9sb2d5IHNvcnQgdG8gd29yayB3aXRoIG5vbi11bmlxdWUgcmFjayBuYW1lcyBiZXR3ZWVuIAogICBkYXRhY2VudGVycyAoQ0FTU0FORFJBLTMxNTIpCiAqIElpuPNmAA1d+mV794IAAAFP3jyyXAAQZW4gZHJvcHBpbmcgbWVzcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtUgAAAQBlcnJvcnMgaW4gZ29zc2lwIGluc3RlYWQgb2YgcmUtdGhyb3dpbmcgKENBU1NBTkRSQS0xMjg5KQogKiBhdm9pZCBhYm9ydGluZyBjb21taXRsb2cgcmVwbGF5IHByZW1hdHVyZWx5IGlmIGEgZmx1c2hlZC1idXQtCiAgIG5vdC1yZW1vdmVkIGNvbW1pdGxvZyBzZWdtZW50IGlzIGVuY291bnRlcmVkIChDQVNTQU5EUkEtMTI5NykKICogZml4IGR1cGxpY2F0ZSByb3dzIGJlaW5nIHJlYWQgZHVyaW5nIG1hcHJlZHVjZSAoQ0FTU0FORFJBLTExNDIpCiAqH4cwhwAAAU/ePLJcABBuIHJlbW90ZSAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1SAAABAGluZyB3cm9uZyBhcmd1bWVudCBpbiBBTFRFUiBUQUJMRSBzdGF0ZW1lbnQgKENBU1NBTkRSQS04MzU1KQogKiBQaWc6IFJlZmFjdG9yIGFuZCBkZXByZWNhdGUgQ3FsU3RvcmFnZSAoQ0FTU0FORFJBLTg1OTkpCiAqIERvbid0IHJldXNlIHRoZSBzYW1lIGNsZWFudXAgc3RyYXRlZ3kgZm9yIGFsbCBzc3RhYmxlcyAoQ0FTU0FORFJBLTg1MzcpCiAqIEZpeCBjYXNlLXNlbnNpdGl2aXR5IG9mIGluZGV4IG5hbWUgb24gQ1JFQVRFIGFuZCBEUk9QIElOREVWtZb0AAABT948slwAEDcpCiAqIE9ubHkgY291bnQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVIAAAEAbmQgdHRsIChDQVNTQU5EUkEtNDIxNykKICogKGNxbDMpIEZpeCByYW5nZSBxdWVyaWVzIHdpdGggc2Vjb25kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS00MjU3KQogKiBCZXR0ZXIgZXJyb3IgbWVzc2FnZXMgZnJvbSBpbXByb3BlciBpbnB1dCBpbiBjbGkgKENBU1NBTkRSQS0zODY1KQogKiBUcnkgdG8gc3RvcCBhbGwgY29tcGFjdGlvbiB1cG9uIEtleXNwYWNlIG9yIENvbHVtbkZhbWlseSBkcm9wIChDQVNTQU5EUkEtNDIyMSkKICogKGNxbDMpIEFsbAVIoAEAAAFP3jyyXAAQQVNTQU5EUkEtMzIxOCkKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtUgAAAQB0aCBtdWx0aXBsZSBzZWVkcyAoQ0FTU0FORFJBLTE1MCkKICogZml4IE5QRSBpbiBnZXRfcmFuZ2Vfc2xpY2Ugd2hlbiBubyBkYXRhIGlzIGZvdW5kIChDQVNTQU5EUkEtNTc4KQogKiBmaXggcG90ZW50aWFsIE5QRSBpbiBoaW50ZWQgaGFuZG9mZiAoQ0FTU0FORFJBLTU4NSkKICogZml4IGNsZWFudXAgb2YgbG9jYWwgInN5c3RlbSIga2V5c3BhY2UgKENBU1NBTkRSQS01NzYpCiAqIGltcHJvdmUgY29tcHV0YXRpb24gb2YgY2x1c3RlciBsb2FkIGJhRCVYUwAAAU/ePLJcABBTQU5EUkEtNDE4MCkKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1SAAABAG90IHBlci1DRiAoQ0FTU0FORFJBLTY5NDUpCiAqIE1ha2Ugc3VyZSB1cGdyYWRlc3N0YWJsZXMga2VlcHMgc3N0YWJsZSBsZXZlbCAoQ0FTU0FORFJBLTY5NTgpCiAqIEZpeCBMSU1JVCB3aXRoIHN0YXRpYyBjb2x1bW5zIChDQVNTQU5EUkEtNjk1NikKICogRml4IGNsYXNoIHdpdGggQ1FMIGNvbHVtbiBuYW1lIGluIHRocmlmdCB2YWxpZGF0aW9uIChDQVNTQU5EUkEtNjg5MikKICogRml4IGVycm9yIHdpdGggc3VwZXIgY29sdW1ucyBpbiBtaXhlZCDc6OtoAAABT948slwAEGNvbXBhcmF0b3IgdG8gc28AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVIAAAEAQXZvaWQgbG9nZ2luZyBDb21wYWN0aW9uSW50ZXJydXB0ZWQgYXQgRVJST1IgKENBU1NBTkRSQS03Njk0KQogKiBNaW5vciBsZWFrIGluIHNzdGFibGUyam9uIChDQVNTQU5EUkEtNzcwOSkKICogQWRkIGNhc3NhbmRyYS5hdXRvX2Jvb3RzdHJhcCBzeXN0ZW0gcHJvcGVydHkgKENBU1NBTkRSQS03NjUwKQogKiBVcGRhdGUgamF2YSBkcml2ZXIgKGZvciBoYWRvb3ApIChDQVNTQU5EUkEtNzYxOCkKICogUmVtb3ZlIENxbFBhZ2luZ1JlY29yZFJlYWRlcss3QbMAAAFP3jyyXAAQNjg2MCkKICogSW1wcm92ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtUgAAAQBBU1NBTkRSQS04ODgzKQogKiBGaXggdG9wIHBhcnRpdGlvbnMgcmVwb3J0aW5nIHdyb25nIGNhcmRpbmFsaXR5IChDQVNTQU5EUkEtODgzNCkKICogRml4IHJhcmUgTlBFIGluIEtleUNhY2hlU2VyaWFsaXplciAoQ0FTU0FORFJBLTgwNjcpCiAqIFBpY2sgc3N0YWJsZXMgZm9yIHZhbGlkYXRpb24gYXMgbGF0ZSBhcyBwb3NzaWJsZSBpbmMgcmVwYWlycyAoQ0FTU0FORFJBLTgzNjYpCiAqIEZpeCBjb21taXRsb2cgZ2V0UGVuZGluZ1Rhc2tzIHRvIG5vO/+tRwAAAU/ePLJcABBpbnQgd2luZG93IChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1SAAABAG50RXhjZXB0aW9uIHdoZW4gdXBkYXRpbmcgZnJvbSAxLjIgd2l0aCBTdXBlckNvbHVtbnMKICAgKENBU1NBTkRSQS02NzMzKQogKiBGQlV0aWxpdGllcy5zaW5nbGV0b24oKSBzaG91bGQgdXNlIHRoZSBDRiBjb21wYXJhdG9yIChDQVNTQU5EUkEtNjc3OCkKICogRml4IENRTFNTdGFibGVXcml0ZXIuYWRkUm93KE1hcDxTdHJpbmcsIE9iamVjdD4pIChDQVNTQU5EUkEtNjUyNikKICogRml4IEhTSEEgc2VydmVyIGludHJvZHVjaW5nIGNvcnJ1cHQgZGGdRbp6AAABT948slwAECBjbG9zaW5nIFNTVFIgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVIAAAEAeGNlcHRpb24gd2hlbiBOVFMgaXMgZ2l2ZW4gcmVwbGljYXRpb25fZmFjdG9yIGFzIGFuIG9wdGlvbgogICAoQ0FTU0FORFJBLTI5NjApCiAqIGZpeCBhc3NlcnRpb24gZXJyb3IgZHVyaW5nIGNvbXBhY3Rpb24gb2YgY291bnRlciBDRnMgKENBU1NBTkRSQS0yOTY4KQogKiBhdm9pZCB0cnlpbmcgdG8gY3JlYXRlIGluZGV4IG5hbWVzLCB3aGVuIG5vIGluZGV4IGV4aXN0cyAoQ0FTU0FORFJBLTI4NjcpCiAqIGRvbid0IHNhbXBsZSB0aGUgc3lzdGVtIPUa5ecAAAFP3jyyXAAQKiBNYWtlIHN1cmUgdXBncgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtUgAAAQB5IHRvIE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5LAogICBBYnN0cmFjdFJhY2tBd2FyZVNuaXRjaCB0byBBYnN0cmFjdE5ldHdvcmtUb3BvbG9neVNuaXRjaCAoQ0FTU0FORFJBLTEzOTIpCiAqIG1lcmdlIFN0b3JhZ2VQcm94eS5tdXRhdGUsIG11dGF0ZUJsb2NraW5nIChDQVNTQU5EUkEtMTM5NikKICogZmFzdGVyIFVVSURUeXBlLCBMb25nVHlwZSBjb21wYXJpc29ucyAoQ0FTU0FORFJBLTEzODYsIDEzOTMpCiAqIGZpeCBzZXR0aW5nIHJlYWRfcmVw21QPOwAAAU/ePLJcABBwYXJhdGUgZmlsZSBhbmQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1SAAABAENBU1NBTkRSQS01NTg1KQogKiBUcmFjayBtYXgvbWluIGNvbHVtbiBuYW1lcyBpbiBzc3RhYmxlcyB0byBiZSBhYmxlIHRvIG9wdGltaXplIHNsaWNlCiAgIHF1ZXJpZXMgKENBU1NBTkRSQS01NTE0LCBDQVNTQU5EUkEtNTU5NSwgQ0FTU0FORFJBLTU2MDApCiAqIEJpbmFyeSBwcm90b2NvbDogYWxsb3cgYmF0Y2hpbmcgYWxyZWFkeSBwcmVwYXJlZCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNDY5MykKICogQWxsb3cgcHJlcGFyaW5nIHRpbWVzdGFtcCyzFjGhAAABT948slwAEGhlbiBzdGFydGVkLCB1bnQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVIAAAEACjAuNS4wIFJDMQogKiBGaXggcG90ZW50aWFsIE5QRSBpbiBnZXRfcmFuZ2Vfc2xpY2UgKENBU1NBTkRSQS02MjMpCiAqIGFkZCBDUkMzMiB0byBjb21taXRsb2cgZW50cmllcyAoQ0FTU0FORFJBLTYwNSkKICogZml4IGRhdGEgc3RyZWFtaW5nIG9uIHdpbmRvd3MgKENBU1NBTkRSQS02MzApCiAqIEdDIGNvbXBhY3RlZCBzc3RhYmxlcyBhZnRlciBjbGVhbnVwIGFuZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtNjIxKQogKiBTcGVlZCB1cCBhbnRpLWVudD/1Hh4AAAFP3jyyXAAQIChDQVNTQU5EUkEtNDg1NQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtUgAAAQAoQ0FTU0FORFJBLTU3NTcpCiAqIEZpeCBidWxrbG9hZGVyIChDQVNTQU5EUkEtNTU0MikKICogQWRkIExaNCBjb21wcmVzc2lvbiB0byB0aGUgbmF0aXZlIHByb3RvY29sIChDQVNTQU5EUkEtNTc2NSkKICogRml4IGJ1Z3MgaW4gdGhlIG5hdGl2ZSBwcm90b2NvbCB2MiAoQ0FTU0FORFJBLTU3NzApCiAqIENBUyBvbiAncHJpbWFyeSBrZXkgb25seScgdGFibGUgKENBU1NBTkRSQS01NzE1KQogKiBTdXBwb3J0IHN0cmVhbWluZyBTU1RhYmxlcyBvZiBv+9vsSwAAAU/ePLJcABB6ZSByb3cgY2FjaGUgbG9hAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1SAAABACogTWFrZSBFc3RpbWF0ZWRIaXN0b2dyYW0jcGVyY2VudGlsZSgpIHVzZSBjZWlsIGluc3RlYWQgb2YgZmxvb3IgKENBU1NBTkRSQS04ODgzKQogKiBGaXggdG9wIHBhcnRpdGlvbnMgcmVwb3J0aW5nIHdyb25nIGNhcmRpbmFsaXR5IChDQVNTQU5EUkEtODgzNCkKICogRml4IHJhcmUgTlBFIGluIEtleUNhY2hlU2VyaWFsaXplciAoQ0FTU0FORFJBLTgwNjcpCiAqIFBpY2sgc3N0YWJsZXMgZm9yIHZhbGlkYXRpb24gYXMgbGF0ZSBhcyBwb3NzaWJsZSAaxRJzAAABT948slwAEGVyIGZpbmFsIGluIEluZGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVIAAAEAIG1ldGFkYXRhIHVzaW5nIENMSSAoQ0FTU0FORFJBLTMxMjYpCiAqIENMSSBgZGVzY3JpYmUgY2x1c3RlcjtgIG91dHB1dCBzaG91bGQgYmUgb24gc2VwYXJhdGUgbGluZXMgZm9yIHNlcGFyYXRlIHZlcnNpb25zCiAgIChDQVNTQU5EUkEtMzE3MCkKICogZml4IGNoYW5naW5nIGR1cmFibGVfd3JpdGVzIGtleXNwYWNlIG9wdGlvbiBkdXJpbmcgQ0YgY3JlYXRpb24KICAgKENBU1NBTkRSQS0zMjkyKQogKiBhdm9pZCBsb2NraW5nIG9uIHVwZGF0ZSB3aJxafLoADXJXmAPULAAAAU/ePLJcABBTQU5EUkEtNDU3MSkKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1VAAABACogc2tpcCBibG9ja2luZyBvbiBzdHJlYW1pbmcgZHVyaW5nIGRyYWluIChDQVNTQU5EUkEtNjYwMykKICogSW1wcm92ZSBlcnJvciBtZXNzYWdlIHdoZW4gc2NoZW1hIGRvZXNuJ3QgbWF0Y2ggbG9hZGVkIHNzdGFibGUgKENBU1NBTkRSQS02MjYyKQogKiBBZGQgcHJvcGVydGllcyB0byBhZGp1c3QgRkQgaW5pdGlhbCB2YWx1ZSBhbmQgbWF4IGludGVydmFsIChDQVNTQU5EUkEtNDM3NSkKICogRml4IHByZXBhcmluZyB3aXRoIGJhdGNoIGFuZCBkZWxHTHuwAAABT948slwAEHRlIEtzRGVmLnJlcGxpY2EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVUAAAEAbmNpZXMgKENBU1NBTkRSQS0yNjE4KQogKiBTdGFydC9zdG9wIGNhc3NhbmRyYSBhZnRlciBtb3JlIGltcG9ydGFudCBzZXJ2aWNlcyBzdWNoIGFzIG1kYWRtIGluCiAgIGRlYmlhbiBwYWNrYWdpbmcgKENBU1NBTkRSQS0yNDgxKQoKCjAuOC4wLWJldGEyCiAqIGZpeCBOUEUgY29tcGFjdGluZyBpbmRleCBDRnMgKENBU1NBTkRSQS0yNTI4KQogKiBSZW1vdmUgY2hlY2tpbmcgYWxsIGNvbHVtbiBmYW1pbGllcyBvbiBzdGFydHVwIGZvciBjb21wYWN0aYLsVj0AAAFP3jyyXAAQOTY0KQogKiByZWR1Y2UgZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtVQAAAQBpZXMgKENBU1NBTkRSQS0xMzAyKQogKiBtYWtlIEdDR3JhY2VTZWNvbmRzIGEgcGVyLUNvbHVtbkZhbWlseSB2YWx1ZSAoQ0FTU0FORFJBLTEyNzYpCiAqIGtlZXAgcGVyc2lzdGVudCByb3cgc2l6ZSBhbmQgY29sdW1uIGNvdW50IHN0YXRpc3RpY3MgKENBU1NBTkRSQS0xMTU1KQogKiBhZGQgSW50ZWdlclR5cGUgKENBU1NBTkRSQS0xMjgyKQogKiBwYWdlIHdpdGhpbiBhIHNpbmdsZSByb3cgZHVyaW5nIGhpbnRlZCBoYW5kb2ZmIChDQVNTQU5EUkEt2AE8eAAAAU/ePLJcABBSQS0zNTg2KQogKiAoY3FsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1VAAABAGFuYWdlcnMgYWZ0ZXIgQUVTIHN0cmVhbXMgZmlsZXMgKENBU1NBTkRSQS0xMTY5KQogKiBhbGxvdyByZW1vdmluZyBlbnRpcmUgcm93IHRocm91Z2ggYmF0Y2hfbXV0YXRlIERlbGV0aW9uIChDQVNTQU5EUkEtMTAyNykKICogYWRkIEpNWCBtZXRyaWNzIGZvciByb3ctbGV2ZWwgYmxvb20gZmlsdGVyIGZhbHNlIHBvc2l0aXZlcyAoQ0FTU0FORFJBLTEyMTIpCiAqIGFkZGVkIGEgcmVkaGF0IGluaXQgc2NyaXB0IHRvIGNvbnRyaWIgKENBU1NBTkRSQS3PBuoXAAABT948slwAECBrZXkgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVUAAAEAQU5EUkEtMjczNCkKICogQWRkIG5ldyBEZWNpbWFsVHlwZSAoQ0FTU0FORFJBLTI4ODMpCiAqIEZpeCBhc3NlcnRpb24gZXJyb3IgaW4gUm93UmVwYWlyUmVzb2x2ZXIgKENBU1NBTkRSQS0zMTU2KQogKiBSZWR1Y2UgdW5uZWNlc3NhcnkgaGlnaCBidWZmZXIgc2l6ZXMgKENBU1NBTkRSQS0zMTcxKQogKiBQbHVnZ2FibGUgY29tcGFjdGlvbiBzdHJhdGVneSAoQ0FTU0FORFJBLTE2MTApCiAqIEFkZCBuZXcgYnJvYWRjYXN0X2FkZHJlc3MgY29uZmlnIHYHYRUAAAFP3jyyXAAQIG9uIGVudGlyZQogICBjbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtVQAAAQAxNykKICogc2hvdyBpbmRleCBvcHRpb25zIGluIENMSSAoQ0FTU0FORFJBLTM4MDkpCiAqIGFkZCBvcHRpb25hbCBzb2NrZXQgdGltZW91dCBmb3Igc3RyZWFtaW5nIChDQVNTQU5EUkEtMzgzOCkKICogZml4IHRydW5jYXRlIG5vdCB0byBsZWF2ZSBiZWhpbmQgbm9uLUNGUyBiYWNrZWQgc2Vjb25kYXJ5IGluZGV4ZXMKICAgKENBU1NBTkRSQS0zODQ0KQogKiBtYWtlIENMSSBgc2hvdyBzY2hlbWFgIHRvIHVzZSBvdXRwdXQgc3RyZWFtIGRpcmVjdGx5oAIo6QAAAU/ePLJcABB0Y2ggcmUtcmVhZHMgaW4gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1VAAABAAogKiBtYWtlIEFic3RyYWN0Qm91bmRzLm5vcm1hbGl6ZSBkZS1vdmVybGFwcCBvdmVybGFwcGluZyByYW5nZXMgKENBU1NBTkRSQS0yNjQxKQogKiByZXBsYWNlIENvbGxhdGluZ0l0ZXJhdG9yLCBSZWR1Y2luZ0l0ZXJhdG9yIHdpdGggTWVyZ2VJdGVyYXRvciAKICAgKENBU1NBTkRSQS0yMDYyKQogKiBGaXhlZCB0aGUgYWJpbGl0eSB0byBzZXQgY29tcGFjdGlvbiBzdHJhdGVneSBpbiBjbGkgdXNpbmcgY3JlYXRlIGNvbHVtbiAKICAgZmFtaWx5IGNTE/5KAAABT948slwAEG9ybWF0aW9uIHJldHVybmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVUAAAEAIHdpdGggc3ViY29tcGFyYXRvciAoQ0FTU0FORFJBLTIxMzYpCiAqIGZpeCBjb2x1bW4gYmxvb20gZmlsdGVyIGRlc2VyaWFsaXphdGlvbiAoQ0FTU0FORFJBLTIxNjUpCgoKMC43LjEKICogcmVmYWN0b3IgTWVzc2FnZURpZ2VzdCBjcmVhdGlvbiBjb2RlLiAoQ0FTU0FORFJBLTIxMDcpCiAqIGJ1ZmZlciBuZXR3b3JrIHN0YWNrIHRvIGF2b2lkIGluZWZmaWNpZW50IHNtYWxsIFRDUCBtZXNzYWdlcyB3aGlsZSBhdm9pZGluZwogICB0aGUgbmFnbGUvZOTlwJcAAAFP3jyyXAAQc2V0dXAgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtVQAAAQBTU0FORFJBLTQyOTYpCiAqIEF2b2lkIGRlYWRsb2NrIGluIG1pZ3JhdGlvbiBzdGFnZSAoQ0FTU0FORFJBLTM4ODIpCiAqIFRha2Ugc3VwZXJjb2x1bW4gbmFtZXMgYW5kIGRlbGV0aW9uIGluZm8gaW50byBhY2NvdW50IGluIG1lbXRhYmxlIHRocm91Z2hwdXQKICAgKENBU1NBTkRSQS00MjY0KQogKiBBZGQgYmFjayBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBvbGQgc3R5bGUgcmVwbGljYXRpb24gZmFjdG9yIChDQVNTQU5EUkEtNDI5NCkKICog1CBodwAAAU/ePLJcABBvb3Agd3JpdGVyIGZhaWxpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1VAAABADk2KQogKiBmaXggYWRkaW5nIHRvIGxldmVsZWQgbWFuaWZlc3QgYWZ0ZXIgc3RyZWFtaW5nIChDQVNTQU5EUkEtMzUzNikKICogZmlsdGVyIG91dCB1bmF2YWlsYWJsZSBjaXBoZXIgc3VpdGVzIHdoZW4gdXNpbmcgZW5jcnlwdGlvbiAoQ0FTU0FORFJBLTMxNzgpCiAqIChIQURPT1ApIGFkZCBvbGQtc3R5bGUgYXBpIHN1cHBvcnQgZm9yIENGSUYgYW5kIENGUlIgKENBU1NBTkRSQS0yNzk5KQogKiBTdXBwb3J0IFRpbWVVVUlEVHlwZSBjb2x1bW4gbmG4LUKCAAABT948slwAEG1ucyAoQ0FTU0FORFJBLTMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVUAAAEAU0FORFJBLTI1ODEpCiAqIGZpeCByZXR1cm5pbmcgbnVsbCBjb2x1bW4gdmFsdWVzIGluIHRoZSBweXRob24gY3FsIGRyaXZlciAoQ0FTU0FORFJBLTI1OTMpCiAqIGZpeCBtZXJrbGUgdHJlZSBzcGxpdHRpbmcgZXhpdGluZyBlYXJseSAoQ0FTU0FORFJBLTI2MDUpCiAqIHNuYXBzaG90X2JlZm9yZV9jb21wYWN0aW9uIGRpcmVjdG9yeSBuYW1lIGZpeCAoQ0FTU0FORFJBLTI1OTgpCiAqIERpc2FibGUgY29tcGFjdGlvbiB0aHJvdHRsaW5nIGR1cmluZ7f6lR4AAAFP3jyyXAAQbCAoQ0FTU0FORFJBLTcxMQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtVQAAAQAgKENBU1NBTkRSQS0zNzI2KQogKiBzeW5jaHJvbml6ZSBCaU1hcCBvZiBib290c3RyYXBwaW5nIHRva2VucyAoQ0FTU0FORFJBLTM0MTcpCiAqIHNob3cgaW5kZXggb3B0aW9ucyBpbiBDTEkgKENBU1NBTkRSQS0zODA5KQogKiBhZGQgb3B0aW9uYWwgc29ja2V0IHRpbWVvdXQgZm9yIHN0cmVhbWluZyAoQ0FTU0FORFJBLTM4MzgpCiAqIGZpeCB0cnVuY2F0ZSBub3QgdG8gbGVhdmUgYmVoaW5kIG5vbi1DRlMgYmFja2VkIHNlY29uZGFyeSBpbmRleGVzq93p5AAAAU/ePLJcABAgc3RyZXNzIHRvIGRvIHByAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1VAAABAF9oYW5kb2ZmX3Rocm90dGxlX2RlbGF5X2luX21zIG9wdGlvbiAoQ0FTU0FORFJBLTIxNjEpCiAqIGZpeGVzIGZvciBjYWNoZSBzYXZlL2xvYWQgKENBU1NBTkRSQS0yMTcyLCAtMjE3NCkKICogSGFuZGxlIHdob2xlLXJvdyBkZWxldGlvbnMgaW4gQ0ZPdXRwdXRGb3JtYXQgKENBU1NBTkRSQS0yMDE0KQogKiBNYWtlIG1lbXRhYmxlX2ZsdXNoX3dyaXRlcnMgZmx1c2ggaW4gcGFyYWxsZWwgKENBU1NBTkRSQS0yMTc4KQogKiBBZGQgY29tcGFjdGlvbl/XkceaAAABT948slwAEChDQVNTQU5EUkEtMTM3NykAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVUAAAEAdCAoQ0FTU0FORFJBLTkyMDMpCiAqIE1ha2UgYW50aWNvbXBhY3Rpb24gdmlzaWJsZSBpbiBjb21wYWN0aW9uc3RhdHMgKENBU1NBTkRSQS05MDk4KQogKiBJbXByb3ZlIG5vZGV0b29sIGdldGVuZHBvaW50cyBkb2N1bWVudGF0aW9uIGFib3V0IHRoZSBwYXJ0aXRpb24KICAga2V5IHBhcmFtZXRlciAoQ0FTU0FORFJBLTY0NTgpCiAqIERvbid0IGNoZWNrIG90aGVyIGtleXNwYWNlcyBmb3Igc2NoZW1hIGNoYW5nZXMgd2hlbiBhbiB1c2VyLWRlZmluZbLwpCEAAAFP3jyyXAAQNikKICogTW92ZSBjb25zaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtVQAAAQAgKENBU1NBTkRSQS00NDkwLCA0NjQ0KQogKiBmaXggYXNzdW1wdGlvbiBlcnJvciBpbiBDTEkgd2hlbiB1cGRhdGluZy9kZXNjcmliaW5nIGtleXNwYWNlIAogICAoQ0FTU0FORFJBLTQzMjIpCiAqIEFkZHMgb2ZmbGluZSBzc3RhYmxlc2NydWIgdG8gZGViaWFuIHBhY2thZ2luZyAoQ0FTU0FORFJBLTQ2NDIpCiAqIEF1dG9tYXRpYyBmaXhpbmcgb2Ygb3ZlcmxhcHBpbmcgbGV2ZWxlZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTQ2NDQpCiAqIGZpeCBlcnJvTiIXSwANhrQieDMUAAABT948slwAEG9wZXJ0eSBtYXAga2V5cyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVcAAAEAZXJmb3JtYW5jZSByZWdyZXNzaW9uIGZyb20gQ0FTU0FORFJBLTU2MTQgKENBU1NBTkRSQS02OTQ5KQogKiBFbnN1cmUgdGhhdCBiYXRjaGxvZyBhbmQgaGludCB0aW1lb3V0cyBkbyBub3QgcHJvZHVjZSBoaW50cyAoQ0FTU0FORFJBLTcwNTgpCiAqIE1lcmdlIGdyb3VwYWJsZSBtdXRhdGlvbnMgaW4gVHJpZ2dlckV4ZWN1dG9yI2V4ZWN1dGUoKSAoQ0FTU0FORFJBLTcwNDcpCiAqIFBsdWcgaG9sZXMgaW4gcmVzb3VyY2UgcmVsZWFzZSB3aGVuIHdpcgJHUVkAAAFP3jyyXAAQU1NBTkRSQS02NjkyKQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtVwAAAQApCiAqIEZpeGVkIHJvd3MgYmVpbmcgY2FjaGVkIGlmIHRoZXkgZG8gbm90IGV4aXN0IChDQVNTQU5EUkEtMjcyMykKICogU3VwcG9ydCBwYXNzaW5nIHRhYmxlTmFtZSBhbmQgY2ZOYW1lIHRvIFJvd0NhY2hlUHJvdmlkZXJzIChDQVNTQU5EUkEtMjcwMikKICogY2xvc2Ugc2NydWIgZmlsZSBoYW5kbGVzIChDQVNTQU5EUkEtMjY2OSkKICogdGhyb3R0bGUgbWlncmF0aW9uIHJlcGxheSAoQ0FTU0FORFJBLTI3MTQpCiAqIG9wdGltaXplIGNvbHVtbiBzI9FtvAAAAU/ePLJcABByZW1vdmUgbm8tb3AgSEhPAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1XAAABADYsIDg2NDApCiAqIFRocm93IGNvcnJlY3QgZXhjZXB0aW9uIHdoZW4gdHJ5aW5nIHRvIGJpbmQgYSBrZXlzcGFjZSBvciB0YWJsZQogICBuYW1lIChDQVNTQU5EUkEtNjk1MikKICogTWFrZSBISE9NLmNvbXBhY3Qgc3luY2hyb25pemVkIChDQVNTQU5EUkEtODQxNikKICogY2FuY2VsIGxhdGVuY3ktc2FtcGxpbmcgdGFzayB3aGVuIENGIGlzIGRyb3BwZWQgKENBU1NBTkRSQS04NDAxKQogKiBkb24ndCBibG9jayBTb2NrZXRUaHJlYWQgZm9yIE1lc3OhDESwAAABT948slwAEGlvbiB0byBsb3dlciBjb20AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVcAAAEAQXZvaWQgb3ZlcndyaXRpbmcgaW5kZXggc3VtbWFyaWVzIGZvciBzc3RhYmxlcyB3aXRoIGFuIG9sZGVyIGZvcm1hdCB0aGF0CiAgIGRvZXMgbm90IHN1cHBvcnQgZG93bnNhbXBsaW5nOyByZWJ1aWxkIHN1bW1hcmllcyBvbiBzdGFydHVwIHdoZW4gdGhpcwogICBpcyBkZXRlY3RlZCAoQ0FTU0FORFJBLTg5OTMpCiAqIEZpeCBwb3RlbnRpYWwgZGF0YSBsb3NzIGluIENvbXByZXNzZWRTZXF1ZW50aWFsV3JpdGVyIChDQVNTQU5EUkEtODk0OSkKICogTXpaXVwAAAFP3jyyXAAQTkRSQS0xNDE3LCAxNjA2LAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtVwAAAQApIFJlbW92ZSBhcmJpdHJhcnkgU0VMRUNUIGxpbWl0IChDQVNTQU5EUkEtNDkxOCkKICogQ29ycmVjdGx5IGhhbmRsZSBwcmVwYXJlZCBvcGVyYXRpb24gb24gY29sbGVjdGlvbnMgKENBU1NBTkRSQS00OTQ1KQogKiBGaXggQ1FMMyBMSU1JVCAoQ0FTU0FORFJBLTQ4NzcpCiAqIEZpeCBTdHJlc3MgZm9yIENRTDMgKENBU1NBTkRSQS00OTc5KQogKiBSZW1vdmUgY2Fzc2FuZHJhIHNwZWNpZmljIGV4Y2VwdGlvbnMgZnJvbSBKTVggaW50ZXJmYWNlIChDkuh/UgAAAU/ePLJcABAqIEZpeCBwb3NzaWJsZSBsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1XAAABAElTVElOQ1QgcXVlcmllcyB3aXRoIExJTUlUcyBvciBwYWdpbmcgd2hlbiBzb21lIHBhcnRpdGlvbnMKICAgY29udGFpbiBvbmx5IHRvbWJzdG9uZXMgKENBU1NBTkRSQS04NDkwKQogKiBJbnRyb2R1Y2UgYmFja2dyb3VuZCBjYWNoZSByZWZyZXNoaW5nIHRvIHBlcm1pc3Npb25zIGNhY2hlCiAgIChDQVNTQU5EUkEtODE5NCkKICogRml4IHJhY2UgY29uZGl0aW9uIGluIFN0cmVhbVRyYW5zZmVyVGFzayB0aGF0IGNvdWxkIGxlYWQgdG8KICAgaW5maW7VNf25AAABT948slwAEDcwKQogKiAoY3FsKSBUaHIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVcAAAEAYWRpbmcgY29sdW1ucyB2aWEgYmxvY2sKICAgaW5kZXggKENBU1NBTkRSQS0yMzc2KQogKiBmaXggTlBFIGR1cmluZyBzdHJlYW0gc2Vzc2lvbiAoQ0FTU0FORFJBLTIzNzcpCiAqIGZpeCByYWNlIGNvbmRpdGlvbiB0aGF0IGNvdWxkIGxlYXZlIG9ycGhhbmVkIGRhdGEgZmlsZXMgd2hlbiBkcm9wcGluZyBDRiBvcgogICBLUyAoQ0FTU0FORFJBLTIzODEpCiAqIGZzeW5jIHN0YXRpc3RpY3MgY29tcG9uZW50IG9uIHdyaXRlIChDQVNTQU5EUkEtMjM4MnMRCEsAAAFP3jyyXAAQcyB0b29sIHRvIHJldHVybgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtVwAAAQBnb3NzaXAgZW50aXJlbHkgKENBU1NBTkRSQS02NDQpCiAqIGFkZCBhYmlsaXR5IHRvIHNldCBjYWNoZSBzaXplcyBhdCBydW50aW1lIChDQVNTQU5EUkEtNzA4KQogKiByZXBvcnQgbGF0ZW5jeSBhbmQgY2FjaGUgaGl0IHJhdGUgc3RhdGlzdGljcyB3aXRoIGxpZmV0aW1lIHRvdGFscwogICBpbnN0ZWFkIG9mIGF2ZXJhZ2Ugb3ZlciB0aGUgbGFzdCBtaW51dGUgKENBU1NBTkRSQS03MDIpCiAqIHN1cHBvcnQgZ2V0X3JhbmdlX3NsaWNlIGZvciBSYW5khdOPwQAAAU/ePLJcABBhLmpvaW5fcmluZz1mYWxzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1XAAABAHRlbmN5IC4uLicKICAgaW4gbG93ZXIgY2FzZSAoQ0FTU0FORFJBLTMzNjYpCiAqIGZpeCBEZWZsYXRlIGNvbXByZXNzaW9uIHdoZW4gY29tcHJlc3Npb24gYWN0dWFsbHkgbWFrZXMgdGhlIGRhdGEgYmlnZ2VyCiAgIChDQVNTQU5EUkEtMzM3MCkKICogb3B0aW1pemUgVVVJREdlbiB0byBhdm9pZCBsb2NrIGNvbnRlbnRpb24gb24gSW5ldEFkZHJlc3MuZ2V0TG9jYWxIb3N0IAogICAoQ0FTU0FORFJBLTMzODcpCiAqIHRvbGVyYXRlIGluZGV4IGJlaW500b8oAAABT948slwAEG5hcHNob3RfYmVmb3JlX2MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVcAAAEAKQogKiBGaXggdmFsaWRhdGlvbiB3aXRoIG11bHRpcGxlIENPTlRBSU5TIGNsYXVzZSAoQ0FTU0FORFJBLTgxMzEpCiAqIEZpeCB2YWxpZGF0aW9uIG9mIGNvbGxlY3Rpb25zIGluIFRyaWdnZXJFeGVjdXRvciAoQ0FTU0FORFJBLTgxNDYpCiAqIEZpeCBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gd2hlbiBhIGxpc3Qgb2YgSU4gdmFsdWVzIGNvbnRhaW5pbmcgdHVwbGVzCiAgIGlzIHBhc3NlZCBhcyBhIHNpbmdsZSBhcmcgdG8gYSBwcmVwYXJlZCBzdAZZC2IAAAFP3jyyXAAQa092ZXJmbG93RXJyb3IgdwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtVwAAAQByeSAoQ0FTU0FORFJBLTQwNSkKICogdXBkYXRlIG5vbi1tYWpvciBjb21wYWN0aW9uIGxvZ2ljIHRvIHVzZSB0d28gdGhyZXNob2xkIHZhbHVlcwogICAoQ0FTU0FORFJBLTQwNykKICogYWRkIHBlcmlvZGljIC8gYmF0Y2ggY29tbWl0bG9nIHN5bmMgbW9kZXMgKHNldmVyYWwgdGlja2V0cykKICogaW5saW5lIEJhdGNoTXV0YXRpb24gaW50byBiYXRjaF9pbnNlcnQgcGFyYW1zIChDQVNTQU5EUkEtNDAzKQogKiBhbGxvdyBzZXR0aW5nIHRoZSBsb2dnOUTA7QAAAU/ePLJcABBVTSAoQ0FTU0FORFJBLTczAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1XAAABACogU2NoZWR1bGUgc2NoZW1hIHB1bGxzIG9uIGNoYW5nZSAoQ0FTU0FORFJBLTY5NzEpCiAqIE5vbi1kcm9wcGFibGUgdmVyYnMgc2hvdWxkbid0IGJlIGRyb3BwZWQgZnJvbSBPVEMgKENBU1NBTkRSQS02OTgwKQogKiBTaHV0ZG93biBiYXRjaGxvZyBleGVjdXRvciBpbiBTUyNkcmFpbigpIChDQVNTQU5EUkEtNzAyNSkKICogRml4IGJhdGNobG9nIHRvIGFjY291bnQgZm9yIENGIHRydW5jYXRpb24gcmVjb3JkcyAoQ0FTU0FORFJBLTY5OTkpCiAqIEboVkAwAAABT948slwAEHggY29uc2lzdGVuY3lsZXYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVcAAAEAVmFsaWRhdGUgYXJndW1lbnRzIG9mIGJsb2JBcyogZnVuY3Rpb25zIChDQVNTQU5EUkEtNzcwNykKICogRml4IHBvdGVudGlhbCBBc3NlcnRpb25FcnJvciB3aXRoIDJuZGFyeSBpbmRleGVzIChDQVNTQU5EUkEtNjYxMikKICogQXZvaWQgbG9nZ2luZyBDb21wYWN0aW9uSW50ZXJydXB0ZWQgYXQgRVJST1IgKENBU1NBTkRSQS03Njk0KQogKiBNaW5vciBsZWFrIGluIHNzdGFibGUyam9uIChDQVNTQU5EUkEtNzcwOSkKICogQWRkIGNhc3NhbmRyYS5hdfFWRckAAAFP3jyyXAAQKiBmaXggaW52YWxpZGF0ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtVwAAAQB0cyAoQ0FTU0FORFJBLTEzNzEpCiAqIHRydW5jYXRlIGhpbnRzIGlmIHN0YXJ0aW5nIDAuNyBmb3IgdGhlIGZpcnN0IHRpbWUgKENBU1NBTkRSQS0xNDE0KQogKiBmaXggRkQgbGVhayBpbiBzaW5nbGUtcm93IHNsaWNlcHJlZGljYXRlIHF1ZXJpZXMgKENBU1NBTkRSQS0xNDE2KQogKiBhbGxvdyBpbmRleCBleHByZXNzaW9ucyBhZ2FpbnN0IGNvbHVtbnMgdGhhdCBhcmUgbm90IHBhcnQgb2YgdGhlIAogICBTbGljZVByZWRpY2F0ZSAoQ0FTU0FORFJBbgl9igAAAU/ePLJcABBlIHN0cmVzcyB0b29sIHRvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1XAAABAGhhdCBjb21wdXRlcyAKICAgc2VnbWVudHMgdGhhdCBhbHdheXMgY29udGFpbiBlbnRpcmUgZW50cmllcy9yb3dzIChDQVNTQU5EUkEtMTExNykKICogYXZvaWQgcmVhZGluZyBsYXJnZSByb3dzIGludG8gbWVtb3J5IGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtMTYpCiAqIGFkZGVkIGhhZG9vcCBPdXRwdXRGb3JtYXQgKENBU1NBTkRSQS0xMTAxKQogKiBlZmZpY2llbnQgU3RyZWFtaW5nIChubyBtb3JlIGFudGljb21wYWN0aW9uKSAoQ0FTU0ESMooDAA2bEWurpG8AAAFP3jyyXAAQdGggcmV2ZXJzZWQgc2xpYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtWQAAAQAgbm8gY29sdW1ucyAoQ0FTU0FORFJBLTM0MjQsIDM0NzMpCiAqIGZpeCBxdWVyeWluZyBzdXBlcmNvbHVtbnMgYnkgbmFtZSByZXR1cm5pbmcgb25seSBhIHN1YnNldCBvZgogICBzdWJjb2x1bW5zIG9yIG9sZCBzdWJjb2x1bW4gdmVyc2lvbnMgKENBU1NBTkRSQS0zNDQ2KQogKiBhdXRvbWF0aWNhbGx5IGNvbXB1dGUgc2hhMSBzdW0gZm9yIHVuY29tcHJlc3NlZCBkYXRhIGZpbGVzIChDQVNTQU5EUkEtMzQ1NikKICogZml4IHJlYWRpbmcgbWV0YWRho7aqvAAAAU/ePLJcABBvbmRpdGlvbiBpcyBzZXQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1ZAAABAERSQS0xNzM5KQogKiBmaXggd3JhcHBpbmctcmFuZ2UgcXVlcmllcyBvbiBub24tbWluaW11bSB0b2tlbiAoQ0FTU0FORFJBLTE3MDApCiAqIGFkZCBub2RldG9vbCBjZmhpc3RvZ3JhbSAoQ0FTU0FORFJBLTE2OTgpCiAqIGxpbWl0IHJlcGFpcmVkIHJhbmdlcyB0byB3aGF0IHRoZSBub2RlcyBoYXZlIGluIGNvbW1vbiAoQ0FTU0FORFJBLTE2NzQpCiAqIGluZGV4IHNjYW4gdHJlYXRzIG1pc3NpbmcgY29sdW1ucyBhcyBub3QgbWF0Y2hpbmcgc2Vjb25r41K5AAABT948slwAECkKICogRml4IHJlcGFpciAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVkAAAEAMDkzKQogKiAoY3FsMykgRml4IG9yZGVyIGJ5IGZvciByZXZlcnNlZCBxdWVyaWVzIChDQVNTQU5EUkEtNDE2MCkKICogKGNxbDMpIEFkZCBSZXZlcnNlZFR5cGUgc3VwcG9ydCAoQ0FTU0FORFJBLTQwMDQpCiAqIChjcWwzKSBBZGQgdGltZXV1aWQgdHlwZSAoQ0FTU0FORFJBLTQxOTQpCiAqIChjcWwzKSBNaW5vciBmaXhlcyAoQ0FTU0FORFJBLTQxODUpCiAqIChjcWwzKSBGaXggcHJlcGFyZWQgc3RhdGVtZW50IGluIEJBVENIIChDQVNTQU5EUkEtNLHF0hAAAAFP3jyyXAAQciBtdWx0aXBsZSBjb25jdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtWQAAAQBNYWtlIEVzdGltYXRlZEhpc3RvZ3JhbSNwZXJjZW50aWxlKCkgdXNlIGNlaWwgaW5zdGVhZCBvZiBmbG9vciAoQ0FTU0FORFJBLTg4ODMpCiAqIEZpeCB0b3AgcGFydGl0aW9ucyByZXBvcnRpbmcgd3JvbmcgY2FyZGluYWxpdHkgKENBU1NBTkRSQS04ODM0KQogKiBGaXggcmFyZSBOUEUgaW4gS2V5Q2FjaGVTZXJpYWxpemVyIChDQVNTQU5EUkEtODA2NykKICogUGljayBzc3RhYmxlcyBmb3IgdmFsaWRhdGlvbiBhcyBsYXRlIGFzIHBvc3NpYmxlIGlu0giDjgAAAU/ePLJcABBlIGVuZHMgbm90IHJlc3BlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1ZAAABAEEtODc5NykKICogTWFrZSBDRlMubWFya1JlZmVyZW5jZWQoKSByZXNpc3RhbnQgdG8gYmFkIHJlZmNvdW50aW5nIChDQVNTQU5EUkEtODgyOSkKICogRml4IFN0cmVhbVRyYW5zZmVyVGFzayBhYm9ydC9jb21wbGV0ZSBiYWQgcmVmY291bnRpbmcgKENBU1NBTkRSQS04ODE1KQogKiBGaXggQXNzZXJ0aW9uRXJyb3Igd2hlbiBxdWVyeWluZyBhIERFU0MgY2x1c3RlcmluZyBvcmRlcmVkCiAgIHRhYmxlIHdpdGggQVNDIG9yZGVyaW5nIGFuZCBwYWdpbmdYbn1+AAABT948slwAECogYWRkIGJhdGNoX211dGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVkAAAEAQXZvaWQgTlBFcyB3aGVuIHJlY2VpdmluZyB0eXBlIGNoYW5nZXMgZm9yIGFuIHVua25vd24ga2V5c3BhY2UgKENBU1NBTkRSQS03Njg5KQogKiBBZGQgc3VwcG9ydCBmb3IgY3VzdG9tIDJpIHZhbGlkYXRpb24gKENBU1NBTkRSQS03NTc1KQogKiBQaWcgc3VwcG9ydCBmb3IgaGFkb29wIENxbElucHV0Rm9ybWF0IChDQVNTQU5EUkEtNjQ1NCkKICogQWRkIGxpc3Rlbl9pbnRlcmZhY2UgYW5kIHJwY19pbnRlcmZhY2Ugb3B0aW9ucyAoQ0FTU0FORFJBLX5lYFgAAAFP3jyyXAAQaWZlc3QgZmlsZSAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtWQAAAQBORFJBLTIyNDQpCiAqIGluaXRpYWxpemUgZW5kcG9pbnQgaW4gZ29zc2lwZXIgZWFybGllciAoQ0FTU0FORFJBLTIyMjgpCiAqIGFkZCBhYmlsaXR5IHRvIHdyaXRlIHRvIENhc3NhbmRyYSBmcm9tIFBpZyAoQ0FTU0FORFJBLTE4MjgpCiAqIGFkZCBycGNfW21pbnxtYXhdX3RocmVhZHMgKENBU1NBTkRSQS0yMTc2KQogKiBhZGQgQ0wuVFdPLCBDTC5USFJFRSAoQ0FTU0FORFJBLTIwMTMpCiAqIGF2b2lkIGV4cG9ydGluZyBhbiB1bi1yZXF1ZXN0ZWQg2Y0+aAAAAU/ePLJcABBkZWQgbXVsdGlnZXQgYXBpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1ZAAABAGlzdGVuY3kgbGV2ZWwgaW4gY291bnRlciB2YWxpZGF0aW9uIGlmIG5vbmUgaXMKICAgZXhwbGljaXRseSBwcm92aWRlIChDQVNTQU5EUkEtNDcwMCkKICogSW1wcm92ZSBJQXV0aG9yaXR5IGludGVyZmFjZSBieSBpbnRyb2R1Y2luZyBmaW5lLWdyYWluZWQKICAgYWNjZXNzIHBlcm1pc3Npb25zIGFuZCBncmFudC9yZXZva2UgY29tbWFuZHMgKENBU1NBTkRSQS00NDkwLCA0NjQ0KQogKiBmaXggYXNzdW1wdGlvbiBlcnJvciBpbiBDTEkgd2hlbiB1cGSPYN+wAAABT948slwAECB0b29sIHRvIGJlIGFibGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVkAAAEARFJBLTUxMDUpCiAqIEFkZCBDUUwzLWJhc2VkIGltcGxlbWVudGF0aW9ucyBvZiBJQXV0aGVudGljYXRvciBhbmQgSUF1dGhvcml6ZXIKICAgKENBU1NBTkRSQS00ODk4KQogKiBGaXggdGltZXN0YW1wLWJhc2VkIHRvbXN0b25lIHJlbW92YWwgbG9naWMgKENBU1NBTkRSQS01MjQ4KQogKiBjbGk6IEFkZCBKTVggYXV0aGVudGljYXRpb24gc3VwcG9ydCAoQ0FTU0FORFJBLTUwODApCiAqIEZpeCBmb3JjZUZsdXNoIGJlaGF2aW9yIChDQVNTQU5EUkEtNdEMiwUAAAFP3jyyXAAQb2RlcyAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtWQAAAQA0IGNvbXByZXNzaW9uIGZvciBpbnRlcm5vZGUgY29tbXVuaWNhdGlvbiAoQ0FTU0FORFJBLTU4ODcpCiAqIFN0b3AgdXNpbmcgVGhyaWZ0LWdlbmVyYXRlZCBJbmRleCogY2xhc3NlcyBpbnRlcm5hbGx5IChDQVNTQU5EUkEtNTk3MSkKICogUmVtb3ZlIDEuMiBuZXR3b3JrIGNvbXBhdGliaWxpdHkgY29kZSAoQ0FTU0FORFJBLTU5NjApCiAqIFJlbW92ZSBsZXZlbGVkIGpzb24gbWFuaWZlc3QgbWlncmF0aW9uIGNvZGUgKENBU1NBTkRSQS01OTk2KQogRBTb3QAAAU/ePLJcABBmbGF0ZSBjb21wcmVzc2lvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1ZAAABAGVkIGZyb20gMi4wOgogKiBJZ25vcmUgZ29zc2lwIFNZTnMgYWZ0ZXIgc2h1dGRvd24gKENBU1NBTkRSQS05MjM4KQogKiBBdm9pZCBvdmVyZmxvdyB3aGVuIGNhbGN1bGF0aW5nIG1heCBzc3RhYmxlIHNpemUgaW4gTENTIChDQVNTQU5EUkEtOTIzNSkKICogTWFrZSBzc3RhYmxlIGJsYWNrbGlzdGluZyB3b3JrIHdpdGggY29tcHJlc3Npb24gKENBU1NBTkRSQS05MTM4KQogKiBEbyBub3QgYXR0ZW1wdCB0byByZWJ1aWxkIGluZGV4ZXMgaWYgbm8gaW7PvMm/AAABT948slwAECBmb3JjZSByYW5nZS1iYXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVkAAAEAaWdlc3RzIGFnYWluc3QgZWFjaCBvdGhlciAoQ0FTU0FORFJBLTE4MzApCiAqIHJldHVybiBJbnZhbGlkUmVxdWVzdCB3aGVuIHJlbW92ZSBvZiBzdWJjb2x1bW4gd2l0aG91dCBzdXBlcmNvbHVtbgogICBpcyByZXF1ZXN0ZWQgKENBU1NBTkRSQS0xODY2KQogKiBmbHVzaCBiZWZvcmUgcmVwYWlyIChDQVNTQU5EUkEtMTc0OCkKICogU1NUYWJsZUV4cG9ydCB2YWxpZGF0ZXMga2V5IG9yZGVyIChDQVNTQU5EUkEtMTg4NCkKICogbGFyZ2Ugcm93IHN1cNLm0HYAAAFP3jyyXAAQYXVsdCBjb25zaXN0ZW5jeQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtWQAAAQAgcmVwYWlyIHdoZW4gYSBrZXlzcGFjZSBoYXMgbm8gQ0ZzIChDQVNTQU5EUkEtMzk4OCkKICogRml4IGRpdmlzaW9uLWJ5LXplcm8gZXJyb3Igb24gZ2V0X3NsaWNlIChDQVNTQU5EUkEtNDAwMCkKICogZG9uJ3QgY2hhbmdlIG1hbmlmZXN0IGxldmVsIGZvciBjbGVhbnVwLCBzY3J1YiwgYW5kIHVwZ3JhZGVzc3RhYmxlcwogICBvcGVyYXRpb25zIHVuZGVyIExldmVsZWRDb21wYWN0aW9uU3RyYXRlZ3kgKENBU1NBTkRSQS0zOTg5LCA0MTEyKQogKiBm1VgtbgAAAU/ePLJcABAgZHVyaW5nIGNvbXBhY3RpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1ZAAABAG9nIGEgbWVhbmluZ2Z1bGwgd2FybmluZyB3aGVuIGEgbm9kZSByZWNlaXZlIGEgbWVzc2FnZSBmb3IgYSByZXBhaXIgc2Vzc2lvbgogICB0aGF0IGRvZXNuJ3QgZXhpc3QgYW55bW9yZSAoQ0FTU0FORFJBLTMyNTYpCiAqIEZpeCBGRCBsZWFrIHdoZW4gaW50ZXJub2RlIGVuY3J5cHRpb24gaXMgZW5hYmxlZCAoQ0FTU0FORFJBLTMyNTcpCiAqIEZCVXRpbGl0aWVzLmhleFRvQnl0ZXMoU3RyaW5nKSB0byB0aHJvdyBOdW1iZXJGb3JtYXRFeGNlcHRpb26Ersb+AAABT948slwAEGlvbmFsCiAgIHdoZW4gYXUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVkAAAEAX29uX3dyaXRlCiAgIHVzZXMgKENBU1NBTkRSQS03NDkzKQogKiAoV2luZG93cykgaGFuZGxlIHNwYWNlcyBpbiBwYXRoIG5hbWVzIChDQVNTQU5EUkEtNzQ1MSkKICogRW5zdXJlIHdyaXRlcyBoYXZlIGNvbXBsZXRlZCBhZnRlciBkcm9wcGluZyBhIHRhYmxlLCBiZWZvcmUgcmVjeWNsaW5nCiAgIGNvbW1pdCBsb2cgc2VnbWVudHMgKENBU1NBTkRSQS03NDM3KQogKiBSZW1vdmUgbGVmdC1vdmVyIHJvd3NfcGVyX3BhcnRpdGlvbl90b19jYWNoZSAoQ6+P+QEADa9uMnufFAAAAU/ePLJcABBORFJBLTc3NDQpCiAqIFByAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1cAAABAHNob3Qgb24gcmVtb3RlIG5vZGUgKENBU1NBTkRSQS0zNzIxKQogKiBNYWtlIENGTWV0YURhdGEgY29udmVyc2lvbnMgdG8vZnJvbSB0aHJpZnQvbmF0aXZlIHNjaGVtYSBpbnZlcnNlcwogICAoQ0FTU0FORFJBXzM1NTkpCiAqIEFkZCBpbml0aWFsIGNvZGUgZm9yIENRTCAzLjAtYmV0YSAoQ0FTU0FORFJBLTI0NzQsIDM3ODEsIDM3NTMpCiAqIEFkZCB3aWRlIHJvdyBzdXBwb3J0IGZvciBDb2x1bW5GYW1pbHlJbnB1dEZvcm1hdCAoQ0FTU0FORFJBLTPUyNQJAAABT948slwAEGVzIGxvY2FsbHkKICAgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVwAAAEAQU5EUkEtNjYwMykKICogSW1wcm92ZSBlcnJvciBtZXNzYWdlIHdoZW4gc2NoZW1hIGRvZXNuJ3QgbWF0Y2ggbG9hZGVkIHNzdGFibGUgKENBU1NBTkRSQS02MjYyKQogKiBBZGQgcHJvcGVydGllcyB0byBhZGp1c3QgRkQgaW5pdGlhbCB2YWx1ZSBhbmQgbWF4IGludGVydmFsIChDQVNTQU5EUkEtNDM3NSkKICogRml4IHByZXBhcmluZyB3aXRoIGJhdGNoIGFuZCBkZWxldGUgZnJvbSBjb2xsZWN0aW9uIChDQVNTQU5EUkEtNjYwNykKICogRml4IEFCUzelrksAAAFP3jyyXAAQUmFja0F3YXJlU3RyYXRlZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtXAAAAQBJbXByb3ZlIGNhY2hpbmcgb2Ygc2FtZS12ZXJzaW9uIE1lc3NhZ2VzIG9uIGRpZ2VzdCBhbmQgcmVwYWlyIHBhdGhzCiAgIChDQVNTQU5EUkEtMzE1OCkKICogUmFuZG9taXplIGNob2ljZSBvZiBmaXJzdCByZXBsaWNhIGZvciBjb3VudGVyIGluY3JlbWVudCAoQ0FTU0FORFJBLTI4OTApCiAqIEZpeCB1c2luZyByZWFkX3JlcGFpcl9jaGFuY2UgaW5zdGVhZCBvZiBtZXJnZV9zaGFyZF9jaGFuZ2UgKENBU1NBTkRSQS0zMjAyKQogKiBBdm9pZCBzdHJlTSfdoAAAAU/ePLJcABBSb3dJbmRleEVudHJ5IHRvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1cAAABAGggTElNSVRzIG9yIHBhZ2luZyB3aGVuIHNvbWUgcGFydGl0aW9ucwogICBjb250YWluIG9ubHkgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTg0OTApCiAqIEludHJvZHVjZSBiYWNrZ3JvdW5kIGNhY2hlIHJlZnJlc2hpbmcgdG8gcGVybWlzc2lvbnMgY2FjaGUKICAgKENBU1NBTkRSQS04MTk0KQogKiBGaXggcmFjZSBjb25kaXRpb24gaW4gU3RyZWFtVHJhbnNmZXJUYXNrIHRoYXQgY291bGQgbGVhZCB0bwogICBpbmZpbml0ZSBsb29wcyBhbmQgcHJlbWFWOcCSAAABT948slwAEFNTQU5EUkEtNDI2KQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVwAAAEAb3J0IHRvIGNsaSAoQ0FTU0FORFJBLTE1ODMpCiAqIHJlZHVjZSBpbmRleCBzYW1wbGUgdGltZSBieSA3NSUgKENBU1NBTkRSQS0xNTcyKQogKiBhZGQgY2xpIHN1cHBvcnQgZm9yIGNvbHVtbiwgc3RyYXRlZ3kgbWV0YWRhdGEgKENBU1NBTkRSQS0xNTc4LCAxNjEyKQogKiBhZGQgY2xpIHN1cHBvcnQgZm9yIHNjaGVtYSBtb2RpZmljYXRpb24gKENBU1NBTkRSQS0xNTg0KQogKiBkZWxldGUgdGVtcCBmaWxlcyBvbiBmYWlsZWQgY29tcGFjdGlvbnMgKHroVwEAAAFP3jyyXAAQYXRzIChDQVNTQU5EUkEtNwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtXAAAAQByLXdpZGUgY2FwIG9uIG1lYXN1cmVkIG1lbXRhYmxlIG1lbW9yeSB1c2FnZSBhbmQgYWdncmVzc2l2ZWx5CiAgIGZsdXNoIHRvIGtlZXAgdW5kZXIgdGhhdCB0aHJlc2hvbGQgKENBU1NBTkRSQS0yMDA2KQogKiBhZGQgdW5pZmllZCBVVUlEVHlwZSAoQ0FTU0FORFJBLTIyMzMpCiAqIGFkZCBvZmYtaGVhcCByb3cgY2FjaGUgc3VwcG9ydCAoQ0FTU0FORFJBLTE5NjkpCgoKMC43LjUKICogaW1wcm92ZW1lbnRzL2ZpeGVzIHRvIFBJRyBkcml2ZXIgKENBBuPIJAAAAU/ePLJcABBzKQogKiBpbmxpbmUgQmF0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1cAAABAC0yMjk0KQogKiB1cGRhdGUgbWVtdGFibGVfdGhyb3VnaHB1dCB0byBiZSBhIGxvbmcgKENBU1NBTkRSQS0yMTU4KQoKCjAuNy4zCiAqIEtlZXAgZW5kcG9pbnQgc3RhdGUgdW50aWwgYVZlcnlMb25nVGltZSAoQ0FTU0FORFJBLTIxMTUpCiAqIGxvd2VyLWxhdGVuY3kgcmVhZCByZXBhaXIgKENBU1NBTkRSQS0yMDY5KQogKiBhZGQgaGludGVkX2hhbmRvZmZfdGhyb3R0bGVfZGVsYXlfaW5fbXMgb3B0aW9uIChDQVNTQU5EUkEtMjE2MSkKICogZml4ZXOElHiBAAABT948slwAEGFibGVrZXlzLCBhbmQgc2MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVwAAAEAcGFjZSBiZWZvcmUgc3RhcnRpbmcgYSBjb21wYWN0aW9uIChDQVNTQU5EUkEtODU2MikKICogRml4IERJU1RJTkNUIHF1ZXJpZXMgd2l0aCBMSU1JVHMgb3IgcGFnaW5nIHdoZW4gc29tZSBwYXJ0aXRpb25zCiAgIGNvbnRhaW4gb25seSB0b21ic3RvbmVzIChDQVNTQU5EUkEtODQ5MCkKICogSW50cm9kdWNlIGJhY2tncm91bmQgY2FjaGUgcmVmcmVzaGluZyB0byBwZXJtaXNzaW9ucyBjYWNoZQogICAoQ0FTU0FORFJBLTgxOTQpCiAqIEZpeCByYWNlIBMFTL8AAAFP3jyyXAAQZXlzcGFjZSBhcmd1bWVudAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtXAAAAQBpYSBKTVggKENBU1NBTkRSQS0xNTUwKQogKiBJZ25vcmUgc3RyYXkgZmlsZXMgaW4gdGhlIGNvbW1pdCBsb2cgZGlyZWN0b3J5IChDQVNTQU5EUkEtMTU0NykKICogRGlzYWxsb3cgYm9vdHN0cmFwIHRvIGFuIGluLXVzZSB0b2tlbiAoQ0FTU0FORFJBLTE1NjEpCgoKMC43LWJldGExCiAqIHNzdGFibGUgdmVyc2lvbmluZyAoQ0FTU0FORFJBLTM4OSkKICogc3dpdGNoZWQgdG8gc2xmNGogbG9nZ2luZyAoQ0FTU0FORFJBLTYyNSkKICogYWRkIChvcHRpB/ZI/gAAAU/ePLJcABBjb2x1bW4gbmFtZXMsIHdoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1cAAABAGluZ1NTVGFibGVzIGR1cmluZyByZXBhaXIgKENBU1NBTkRSQS00NDU2KQogKiBmaXggbm9kZXRvb2wncyBzZXRjb21wYWN0aW9udGhyZXNob2xkIGNvbW1hbmQgKENBU1NBTkRSQS00NDU1KQogKiBFbnN1cmUgY29tcGFjdGVkIGZpbGVzIGFyZSBuZXZlciB1c2VkLCB0byBhdm9pZCBjb3VudGVyIG92ZXJjb3VudCAoQ0FTU0FORFJBLTQ0MzYpCk1lcmdlZCBmcm9tIDEuMDoKICogUHVzaCB0aGUgdmFsaWRhdGlvbiBvZiBzZWNvbmRhcnkgaW5kZXggdmGOYNHUAAABT948slwAEGhhbmRsZSByZXBsaWNhIHUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVwAAAEAY3RseSBkZWxldGUgc2NoZWR1bGVkIHJhbmdlIHhmZXJzIChDQVNTQU5EUkEtNzE0MykKICogcmV0dXJuIGFsbCBjcHUgdmFsdWVzIGZyb20gQmFja2dyb3VuZEFjdGl2aXR5TW9uaXRvci5yZWFkQW5kQ29tcHV0ZSAoQ0FTU0FORFJBLTcxODMpICAKICogcmVkdWNlIGdhcmJhZ2UgY3JlYXRpb24gaW4gY2FsY3VsYXRlUGVuZGluZ1JhbmdlcyAoQ0FTU0FORFJBLTcxOTEpCiAqIGZpeCBjKiBsYXVuY2ggaXNzdWVzIG9uIFJ1c3NpYW4gb3MncyBkdWUgdO8DzBsAAAFP3jyyXAAQKiBBbGxvdyByZXN0b3JpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtXAAAAQBncmFkZSB0byB0aHJpZnQgMC42IChDQVNTQU5EUkEtMjQxMikgCiAqIHJlcGFpciB3b3JrcyBvbiBhIHRva2VuIHJhbmdlIGluc3RlYWQgb2YgZnVsbCByaW5nIChDQVNTQU5EUkEtMjMyNCkKICogcHVyZ2UgdG9tYnN0b25lcyBmcm9tIHJvdyBjYWNoZSAoQ0FTU0FORFJBLTIzMDUpCiAqIHB1c2ggcmVwbGljYXRpb25fZmFjdG9yIGludG8gc3RyYXRlZ3lfb3B0aW9ucyAoQ0FTU0FORFJBLTEyNjMpCiAqIGdpdmUgc25hcHNob3RzIHRoZSBzYW1lIG5hcTASSAAAAU/ePLJcABAgZHVlIHRvIEFOVExSIHRpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1cAAABACBmaXggc3BsaXQgZ2VuZXJhdGlvbiByZWdyZXNzaW9uIChDQVNTQU5EUkEtNDI1OSkKICogaWdub3JlIG1pbi9tYXggY29tcGFjdGlvbnMgc2V0dGluZ3MgaW4gTENTLCB3aGlsZSBwcmVzZXJ2aW5nCiAgIGJlaGF2aW9yIHRoYXQgbWluPW1heD0wIGRpc2FibGVzIGF1dG9jb21wYWN0aW9uIChDQVNTQU5EUkEtNDIzMykKICogbG9nIG51bWJlciBvZiByb3dzIHJlYWQgZnJvbSBzYXZlZCBjYWNoZSAoQ0FTU0FORFJBLTQyNDkpCiAqIGNhbGN1bGF0ZSBXSdzLAAABT948slwAECBkZXNlcmlhbGl6YXRpb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILVwAAAEAY3VycmVudCBsb2dnZWQtaW4gdXNlciAoQ0FTU0FORFJBLTc3ODUpCiAqIChjcWxzaCkgRG9uJ3QgaWdub3JlIENUUkwtQyBkdXJpbmcgQ09QWSBGUk9NIGV4ZWN1dGlvbiAoQ0FTU0FORFJBLTc4MTUpCiAqIChjcWxzaCkgT3JkZXIgVURUcyBhY2NvcmRpbmcgdG8gY3Jvc3MtdHlwZSBkZXBlbmRlbmNpZXMgaW4gREVTQ1JJQkUKICAgb3V0cHV0IChDQVNTQU5EUkEtNzY1OSkKICogKGNxbHNoKSBGaXggaGFuZGxpbmcgb2YgQ0FTIHN0YXRlbWVudCByZSAf5/UAAAFP3jyyXAAQKiBBZGQgYW4gZXh0cmEgdgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtXAAAAQA1KQogKiAoY3Fsc2gpIERvbid0IGlnbm9yZSBDVFJMLUMgZHVyaW5nIENPUFkgRlJPTSBleGVjdXRpb24gKENBU1NBTkRSQS03ODE1KQogKiAoY3Fsc2gpIE9yZGVyIFVEVHMgYWNjb3JkaW5nIHRvIGNyb3NzLXR5cGUgZGVwZW5kZW5jaWVzIGluIERFU0NSSUJFCiAgIG91dHB1dCAoQ0FTU0FORFJBLTc2NTkpCiAqIChjcWxzaCkgRml4IGhhbmRsaW5nIG9mIENBUyBzdGF0ZW1lbnQgcmVzdWx0cyAoQ0FTU0FORFJBLTc2NzEpCiAqIChjcWxzaCkgQ09Q2DdY1wANw8tJ6wBOAAABT948slwAEEZJbnB1dEZvcm1hdCB0byAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILV8AAAEALTM5ODMpCiAqIEFkZCB0b29sIHRvIHJlc2V0IFNTVGFibGUgY29tcGFjdGlvbiBsZXZlbCBmb3IgTENTIChDQVNTQU5EUkEtNTI3MSkKICogQWxsb3cgY3VzdG9tIGNvbmZpZ3VyYXRpb24gbG9hZGVyIChDQVNTQU5EUkEtNTA0NSkKICogUmVtb3ZlIG1lbW9yeSBlbWVyZ2VuY3kgcHJlc3N1cmUgdmFsdmUgbG9naWMgKENBU1NBTkRSQS0zNTM0KQogKiBSZWR1Y2UgcmVxdWVzdCBsYXRlbmN5IHdpdGggZWFnZXIgcmV0cnkgKENBU1NBTkRSQS00NzA1KWVdRLMAAAFP3jyyXAAQbiBlbXB0eSBsaXN0IChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtXwAAAQBBU1NBTkRSQS04NDE1KQogKiBCVHJlZSB1cGRhdGVzIG1heSBjYWxsIHByb3ZpZGVkIHVwZGF0ZSBmdW5jdGlvbiB0d2ljZSAoQ0FTU0FORFJBLTgwMTgpCiAqIFJlbGVhc2Ugc3N0YWJsZSByZWZlcmVuY2VzIGFmdGVyIGFudGljb21wYWN0aW9uIChDQVNTQU5EUkEtODM4NikKICogSGFuZGxlIGFib3J0KCkgaW4gU1NUYWJsZVJld3JpdGVyIHByb3Blcmx5IChDQVNTQU5EUkEtODMyMCkKICogRml4IGhpZ2ggc2l6ZSBjYWxjdWxhdGlvbnMgZm9yIHByxN4qUAAAAU/ePLJcABByeSBvdmVyaGVhZCAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1fAAABACBGaXggQUUgd2hlbiBjbG9zaW5nIFNTVGFibGUgd2l0aG91dCByZWxlYXNpbmcgcmVmZXJlbmNlIChDQVNTQU5EUkEtNzAwMCkKICogQ2xlYW4gdXAgSW5kZXhJbmZvIG9uIGtleXNwYWNlL3RhYmxlIGRyb3BzIChDQVNTQU5EUkEtNjkyNCkKICogT25seSBzbmFwc2hvdCByZWxhdGl2ZSBTU1RhYmxlcyB3aGVuIHNlcXVlbnRpYWwgcmVwYWlyIChDQVNTQU5EUkEtNzAyNCkKICogUmVxdWlyZSBub2RldG9vbCByZWJ1aWxkX2luZGV4IHRvIHNwZWNpZnk2YBi0AAABT948slwAEG51bWJlciBwYXJ0cyBhcmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILV8AAAEAZWQgKENBU1NBTkRSQS00ODI2KQogKiBGaXggQXNzZXJ0aW9uIGVycm9yIGluIGNxbDMgc2VsZWN0IChDQVNTQU5EUkEtNDc4MykKICogRml4IGxpc3QgcHJlcGVuZCBsb2dpYyAoQ1FMMykgKENBU1NBTkRSQS00ODM1KQogKiBBZGQgYm9vbGVhbnMgYXMgbGl0ZXJhbHMgaW4gQ1FMMyAoQ0FTU0FORFJBLTQ3NzYpCiAqIEFsbG93IHJlbmFtaW5nIFBLIGNvbHVtbnMgaW4gQ1FMMyAoQ0FTU0FORFJBLTQ4MjIpCiAqIEZpeCBiaW5hcnkgcHJvdG9jb2wgTmhrx1gAAAFP3jyyXAAQZCByZWFkLWJlZm9yZS13cgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtXwAAAQBORFJBLTYwMTYpCiAqIERpc2FsbG93IGVtcHR5IGNvbHVtbiBuYW1lcyBpbiBjcWwgKENBU1NBTkRSQS02MTM2KQogKiBVc2UgSmF2YTcgZmlsZS1oYW5kbGluZyBBUElzIGFuZCBmaXggZmlsZSBtb3Zpbmcgb24gV2luZG93cyAoQ0FTU0FORFJBLTUzODMpCiAqIFNhdmUgY29tcGFjdGlvbiBoaXN0b3J5IHRvIHN5c3RlbSBrZXlzcGFjZSAoQ0FTU0FORFJBLTUwNzgpCiAqIEZpeCBOUEUgaWYgU3RvcmFnZVNlcnZpY2UuZ2V0T3BlcmF0aW9uTW9kZSgpzcZ8MQAAAU/ePLJcABBzIGZvciByZXBsYXkgYnkgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1fAAABAHJpbmcgb2Ygc3RhdGljIGNlbGxzIChDQVNTQU5EUkEtNzc2MykKTWVyZ2VkIGZyb20gMi4wOgogKiBGb3JiaWQgcmUtYWRkaW5nIGRyb3BwZWQgY291bnRlciBjb2x1bW5zIChDQVNTQU5EUkEtNzgzMSkKICogRml4IENGTWV0YURhdGEjaXNUaHJpZnRDb21wYXRpYmxlKCkgZm9yIFBLLW9ubHkgdGFibGVzIChDQVNTQU5EUkEtNzgzMikKICogQWx3YXlzIHJlamVjdCBpbmVxdWFsaXR5IG9uIHRoZSBwYXJ0aXRpb24ga2V5IHdpdGhvdXQgdG9rZW4oKQr3oJl/AAABT948slwAEGdlZCBmcm9tIDIuMDoKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILV8AAAEAZWRoYXQgc3BlYyAoQ0FTU0FORFJBLTM1NjcpCiAqICJkZWZyYWdtZW50IiByb3dzIGZvciBuYW1lLWJhc2VkIHF1ZXJpZXMgdW5kZXIgU1RDUywgYWdhaW4gKENBU1NBTkRSQS0yNTAzKQogKiBSZWN5Y2xlIGNvbW1pdGxvZyBzZWdtZW50cyBmb3IgaW1wcm92ZWQgcGVyZm9ybWFuY2UgCiAgIChDQVNTQU5EUkEtMzQxMSwgMzU0MywgMzU1NywgMzYxNSkKICogdXBkYXRlIHNpemUtdGllcmVkIGNvbXBhY3Rpb24gdG8gcHJpb3JpdGl6ZSBzbWFsbCB0afqXSyIAAAFP3jyyXAAQIE5QRSBkdXJpbmcgSEggZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtXwAAAQAKICogYWRkIGNvbW1pdGxvZ190b3RhbF9zcGFjZV9pbl9tYiB0byBwcmV2ZW50IGZyYWdtZW50ZWQgbG9ncyAoQ0FTU0FORFJBLTI0MjcpCiAqIHJlbW92ZWQgY29tbWl0bG9nX3JvdGF0aW9uX3RocmVzaG9sZF9pbl9tYiBjb25maWd1cmF0aW9uIChDQVNTQU5EUkEtMjc3MSkKICogbWFrZSBBYnN0cmFjdEJvdW5kcy5ub3JtYWxpemUgZGUtb3ZlcmxhcHAgb3ZlcmxhcHBpbmcgcmFuZ2VzIChDQVNTQU5EUkEtMjY0MSkKICogcmVwbGFjZSBDb2xsYXRp4M8DjAAAAU/ePLJcABBub3Qgd29ya2luZyAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1fAAABAHRyZWFtaW5nIGNodW5rIHNpemUgdG8gMzJNQiB0byBhY2NvbW9kYXRlIFdpbmRvd3MgWFAgbGltaXRhdGlvbnMKICAgKHdhcyA2NE1CKSAoQ0FTU0FORFJBLTc5NSkKICogZml4IGdldF9yYW5nZV9zbGljZSByZXR1cm5pbmcgcmVzdWx0cyBpbiB0aGUgd3Jvbmcgb3JkZXIgKENBU1NBTkRSQS03ODEpCiAKCjAuNS4wIGZpbmFsCiAqIGF2b2lkIGF0dGVtcHRpbmcgdG8gZGVsZXRlIHRlbXBvcmFyeSBib290c3RyYXAgZmlsZXMgdHdpY2UgKENBU1NBTkQspR0BAAABT948slwAEG9jYWwgZGF0YQogICAoQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILV8AAAEAbCBvdmVyZmxvdyBpbiBub2RldG9vbCBjZnN0YXRzIChDQVNTQU5EUkEtMjA1NykKICogYWRkIEpWTSBzaHV0ZG93bmhvb2sgdG8gc3luYyBjb21taXRsb2cgKENBU1NBTkRSQS0xOTE5KQogKiBhbGxvdyBub2RlcyB0byBiZSB1cCB3aXRob3V0IGJlaW5nIHBhcnQgb2YgIG5vcm1hbCB0cmFmZmljIChDQVNTQU5EUkEtMTk1MSkKICogZml4IENMSSAic2hvdyBrZXlzcGFjZXMiIHdpdGggbnVsbCBvcHRpb25zIG9uIE5UUyAoQ0FTU0FORFJBLTIwNDkpCkXeqFoAAAFP3jyyXAAQKENBU1NBTkRSQS00MzY0KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtXwAAAQBjL3JhY2sgaW5mbyBpZiBuZWVkZWQgKENBU1NBTkRSQS01MTMzKQogKiBkcmFpbiBzaG91bGQgZmx1c2ggc3lzdGVtIENGcyB0b28gKENBU1NBTkRSQS00NDQ2KQogKiBhZGQgaW50ZXJfZGNfdGNwX25vZGVsYXkgc2V0dGluZyAoQ0FTU0FORFJBLTUxNDgpCiAqIHJlLWFsbG93IHdyYXBwaW5nIHJhbmdlcyBmb3Igc3RhcnRfdG9rZW4vZW5kX3Rva2VuIHJhbmdlIHBhaXJpdHNwd25nIChDQVNTQU5EUkEtNTEwNikKICogZml4IHZhbGlkYXRpb24gY29tK+pEmgAAAU/ePLJcABBldHJpY3MtY29yZSB0byB2AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1fAAABAGdlIElEcyB0byBpbnRzIChDQVNTQU5EUkEtNTMwNykKICogTW92ZSBzc3RhYmxlIGxldmVsIGluZm9ybWF0aW9uIGludG8gdGhlIFN0YXRzIGNvbXBvbmVudCwgcmVtb3ZpbmcgdGhlCiAgIG5lZWQgZm9yIGEgc2VwYXJhdGUgTWFuaWZlc3QgZmlsZSAoQ0FTU0FORFJBLTQ4NzIpCiAqIGF2b2lkIHNlcmlhbGl6aW5nIHRvIGJ5dGVbXSBvbiBjb21taXRsb2cgYXBwZW5kIChDQVNTQU5EUkEtNTE5OSkKICogbWFrZSBpbmRleF9pbnRlcnZhbCBjb25maWcLR6XQAAABT948slwAEHBhY2UgdXNlZCB0byBjZnMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILV8AAAEAIGluIGRhdGEgZGlyZWN0b3JpZXMiIHdoZW4gb25seSBzeXN0ZW0gdGFibGVzCiAgIGFyZSBwcmVzZW50IChDQVNTQU5EUkEtNTI4OSkKICogY2xpOiBBZGQgSk1YIGF1dGhlbnRpY2F0aW9uIHN1cHBvcnQgKENBU1NBTkRSQS01MDgwKQogKiBub2RldG9vbDogYWJpbGl0eSB0byByZXBhaXIgc3BlY2lmaWMgcmFuZ2UgKENBU1NBTkRSQS01MjgwKQogKiBGaXggcG9zc2libGUgYXNzZXJ0aW9uIHRyaWdnZXJlZCBpbiBTbGljZUZyb21SZWFkQ29tbWFuZJ4pNIIAAAFP3jyyXAAQQS0zMDc4KQogKiByZW1vdgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtXwAAAQAgb3B0aW9ucyB0byBtYWtlIHN1cmUgdGhleSBhcmUgcmVsb2FkZWQgKENBU1NBTkRSQS03MjkwKQogKiBBZGQgb3B0aW9uIHRvIGRvIG1vcmUgYWdncmVzc2l2ZSB0b21ic3RvbmUgY29tcGFjdGlvbnMgKENBU1NBTkRSQS02NTYzKQogKiBEb24ndCB0cnkgdG8gY29tcGFjdCBhbHJlYWR5LWNvbXBhY3RpbmcgZmlsZXMgaW4gSEhPTSAoQ0FTU0FORFJBLTcyODgpCiAqIEFsd2F5cyByZWFsbG9jYXRlIGJ1ZmZlcnMgaW4gSFNIQSAoQ0FTU0FORFJBLTYynZ1rYQAAAU/ePLJcABAgaWYgdGhyaWZ0IHNlcnZlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1fAAABAG9yZGVyIChDQVNTQU5EUkEtOTAzNCkKICogQXZvaWQgb3ZlcndyaXRpbmcgaW5kZXggc3VtbWFyaWVzIGZvciBzc3RhYmxlcyB3aXRoIGFuIG9sZGVyIGZvcm1hdCB0aGF0CiAgIGRvZXMgbm90IHN1cHBvcnQgZG93bnNhbXBsaW5nOyByZWJ1aWxkIHN1bW1hcmllcyBvbiBzdGFydHVwIHdoZW4gdGhpcwogICBpcyBkZXRlY3RlZCAoQ0FTU0FORFJBLTg5OTMpCiAqIEZpeCBwb3RlbnRpYWwgZGF0YSBsb3NzIGluIENvbXByZXNzZWRTZXF1ZW50aWFsV3LBuemoAA3YKCYfc4IAAAFP3jyyXAAQRFJBLTUyNzEpCiAqIEFsbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtYQAAAQBvbXBvc2l0ZXMgKENBU1NBTkRSQS00MTc5KQogKiBpbXByb3ZlIER5bmFtaWNFbmRwb2ludFNuaXRjaCBieSB1c2luZyByZXNlcnZvaXIgc2FtcGxpbmcgKENBU1NBTkRSQS00MDM4KQogKiAoY3FsMykgQWRkIHN1cHBvcnQgZm9yIDJuZGFyeSBpbmRleGVzIChDQVNTQU5EUkEtMzY4MCkKICogKGNxbDMpIGZpeCBkZWZpbmluZyBtb3JlIHRoYW4gb25lIFBLIHRvIGJlIGludmFsaWQgKENBU1NBTkRSQS00NDc3KQogKiByZW1vdmUgc2NoZW1hIGFncmVlwjoQNQAAAU/ePLJcABBlZW1lbnQgY2FsbCArIHN5AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1hAAABAGZyb20gaW50ZXJuYWxzIChlLmcuIHNwZWNpYWwga2V5IHRvIGluZGljYXRlCiAgIHdoZW4gdG8gZmx1c2ggbWVtdGFibGVzKQogKiBSZW5hbWUgY29uZmlndXJhdGlvbiAidGFibGUiIHRvICJrZXlzcGFjZSIKICogTW92ZWQgdG8gY3Jhc2gtb25seSBkZXNpZ247IG5vIG1vcmUgc2h1dGRvd24gKGp1c3Qga2lsbCB0aGUgcHJvY2VzcykKICogTG90cyBvZiBidWcgZml4ZXMKCkZ1bGwgbGlzdCBvZiBpc3N1ZXMgcmVzb2x2ZWQgaW4gMC40IGlzIGF0IGgaRLvDAAABT948slwAEGVsZWN0aW9uIHdpdGggZW0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWEAAAEAbnVtYmVycyBvZiBrZXlzICg+IDE0ME0pIGluIGEgc3N0YWJsZSBibG9vbSBmaWx0ZXIKICAgKENBU1NBTkRSQS03OTApCiAqIGluY2x1ZGUganZtIGFyZ3VtZW50IGltcHJvdmVtZW50cyBmcm9tIENBU1NBTkRSQS01MDQgaW4gZGViaWFuIHBhY2thZ2UKICogY2hhbmdlIHN0cmVhbWluZyBjaHVuayBzaXplIHRvIDMyTUIgdG8gYWNjb21vZGF0ZSBXaW5kb3dzIFhQIGxpbWl0YXRpb25zCiAgICh3YXMgNjRNQikgKENBU1NBTkRSQS03OTUpCiAqIGZpeELfyeMAAAFP3jyyXAAQKiBjcWxzaDogYWRkIENMVQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtYQAAAQAgZm9yIFVQREFURSAuLi4gSUYgRVhJU1RTIChDQVNTQU5EUkEtODYxMCkKICogRml4IHJldmVyc2FsIG9mIGxpc3QgcHJlcGVuZHMgKENBU1NBTkRSQS04NzMzKQogKiBQcmV2ZW50IG5vbi16ZXJvIGRlZmF1bHRfdGltZV90b19saXZlIG9uIHRhYmxlcyB3aXRoIGNvdW50ZXJzCiAgIChDQVNTQU5EUkEtODY3OCkKICogRml4IFNTVGFibGVTaW1wbGVVbnNvcnRlZFdyaXRlciBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uCiAgIChDQVNTQU5EzPU+2wAAAU/ePLJcABBzIHdpdGggY29uZGl0aW9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1hAAABAGxvY2sgcm93IGNhY2hlIHVwZGF0ZXMgdG8gcHJldmVudCByYWNlIGNvbmRpdGlvbiAoQ0FTU0FORFJBLTEyOTMpCiAqIHJlbW92ZSBhc3NlcnRpb24gY2F1c2luZyByYXJlIChhbmQgaGFybWxlc3MpIGVycm9yIG1lc3NhZ2VzIGluCiAgIGNvbW1pdGxvZyAoQ0FTU0FORFJBLTEzMzApCiAqIGZpeCBtb3Zpbmcgbm9kZXMgd2l0aCBubyBrZXlzcGFjZXMgZGVmaW5lZCAoQ0FTU0FORFJBLTE1NzQpCiAqIGZpeCB1bmJvb3RzdHJhcCB3aGVuIG5vIGRhdGHriO9cAAABT948slwAEGVuIGNvbHVtbnMgbm8gCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWEAAAEAb3Jpbmcgb2YgdGhlIHNlY29uZGFyeSBpbmRleCBhcGkgKENBU1NBTkRSQS0yOTgyKQogKiBtYWtlIENMID4gT05FIHJlYWRzIHdhaXQgZm9yIGRpZ2VzdCByZWNvbmNpbGlhdGlvbiBiZWZvcmUgcmV0dXJuaW5nCiAgIChDQVNTQU5EUkEtMjQ5NCkKICogZml4IG1pc3NpbmcgbG9nZ2luZyBmb3Igc29tZSBleGNlcHRpb25zIChDQVNTQU5EUkEtMjA2MSkKICogcmVmYWN0b3IgYW5kIG9wdGltaXplIENvbHVtbkZhbWlseVN0b3JlLmZpbGVzKC4uLikgYSdFS8wAAAFP3jyyXAAQQU5EUkEtMzAyMSkKICogZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtYQAAAQBmaXggdGVtcG9yYXJpbHkgbWlzc2luZyBzY2hlbWEgYWZ0ZXIgdXBncmFkZSBmcm9tIHByZS0xLjEuNSAoQ0FTU0FORFJBLTUwNjEpCiAqIEZpeCBBTFRFUiBUQUJMRSBvdmVycmlkaW5nIGNvbXByZXNzaW9uIG9wdGlvbnMgd2l0aCBkZWZhdWx0cwogICAoQ0FTU0FORFJBLTQ5OTYsIDUwNjYpCiAqIGZpeCBzcGVjaWZ5aW5nIGFuZCBhbHRlcmluZyBjcmNfY2hlY2tfY2hhbmNlIChDQVNTQU5EUkEtNTA1MykKICogZml4IE11cm11cjNQYXJ0aXRpb25lvbU/fwAAAU/ePLJcABAzNSkKICogQWRkIGJvb2xlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1hAAABAFJBLTQ5MDUpCiAqIEJldHRlciBwcmludGluZyBvZiBBYnN0cmFjdEJvdW5kcyBmb3IgdHJhY2luZyAoQ0FTU0FORFJBLTQ5MzEpCiAqIE9wdGltaXplIG1vc3RSZWNlbnRUb21ic3RvbmUgY2hlY2sgaW4gQ0MuY29sbGVjdEFsbERhdGEgKENBU1NBTkRSQS00ODgzKQogKiBDaGFuZ2Ugc3RyZWFtIHNlc3Npb24gSUQgdG8gVVVJRCB0byBhdm9pZCBjb2xsaXNpb24gZnJvbSBzYW1lIG5vZGUgKENBU1NBTkRSQS00ODEzKQogKiBVc2UgU3RhdHMuZGIgd2gQ0wptAAABT948slwAECBjcWxzaDogZml4IENPUFkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWEAAAEAdGlvbnMgaW4gbm9kZXRvb2wgY2ZzdGF0cyAoQ0FTU0FORFJBLTQxOTEpCiAqIE1hcmsgQ0YgY2xlYW4gaWYgYSBtdXRhdGlvbiByYWNlZCB0aGUgZHJvcCBhbmQgZ290IGl0IG1hcmtlZCBkaXJ0eSAoQ0FTU0FORFJBLTU5NDYpCiAqIEFkZCBhIExPQ0FMX09ORSBjb25zaXN0ZW5jeSBsZXZlbCAoQ0FTU0FORFJBLTYyMDIpCiAqIExpbWl0IENRTCBwcmVwYXJlZCBzdGF0ZW1lbnQgY2FjaGUgYnkgc2l6ZSBpbnN0ZWFkIG9mIGNvdW50IChDQVNTQU5EUgUuZYwAAAFP3jyyXAAQbGljYXRlX29uX3dyaXRlCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtYQAAAQBuIG5vIGRhdGEgaXMgZm91bmQgKENBU1NBTkRSQS01NzgpCiAqIGZpeCBwb3RlbnRpYWwgTlBFIGluIGhpbnRlZCBoYW5kb2ZmIChDQVNTQU5EUkEtNTg1KQogKiBmaXggY2xlYW51cCBvZiBsb2NhbCAic3lzdGVtIiBrZXlzcGFjZSAoQ0FTU0FORFJBLTU3NikKICogaW1wcm92ZSBjb21wdXRhdGlvbiBvZiBjbHVzdGVyIGxvYWQgYmFsYW5jZSAoQ0FTU0FORFJBLTU1NCkKICogYWRkZWQgc3VwZXIgY29sdW1uIHJlYWQvd3JpdGUsIGNvbHVtbiBjb3VuLLSzYgAAAU/ePLJcABAgd2l0aCByZXZlcnNlIHF1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1hAAABAGFnZQogICBmb3Igc29tZSBDUUwgc3ludGF4IGVycm9ycyAoQ0FTU0FORFJBLTg0NTUpCiAqIFNjYWxlIG1lbXRhYmxlIHNsYWIgYWxsb2NhdGlvbiBsb2dhcml0aG1pY2FsbHkgKENBU1NBTkRSQS03ODgyKQogKiBjYXNzYW5kcmEtc3RyZXNzIHNpbXVsdGFuZW91cyBpbnNlcnRzIG92ZXIgc2FtZSBzZWVkIChDQVNTQU5EUkEtNzk2NCkKICogUmVkdWNlIGNhc3NhbmRyYS1zdHJlc3Mgc2FtcGxpbmcgbWVtb3J5IHJlcXVpcmVtZW50cyAoQ0FTU0FORFIadoxgAAABT948slwAEAogKiBGaXggZXhjZXB0aW8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWEAAAEAbmdzIGFyZSBubyBsb25nZXIgdXNlZCAoQ0FTU0FORFJBLTg3OCkKICogUGFyc2UgYSBsb25nIGZyb20gUm93V2FybmluZ1RocmVzaG9sZEluTUIgaW5zdGVhZCBvZiBhbiBpbnQgKENBU1NBTkRSQS04ODIpCiAqIFJlbW92ZSBvYnNvbGV0ZSBDb250cm9sUG9ydCBjb2RlIGZyb20gRGF0YWJhc2VEZXNjcmlwdG9yIChDQVNTQU5EUkEtODg2KQogKiBtb3ZlIHNraXBCeXRlcyBzaWRlIGVmZmVjdCBvdXQgb2YgYXNzZXJ0IChDQVNTQU5EUkEtODk5KQogKvLhNLIAAAFP3jyyXAAQODkpCiAqIGFkZCBpbnRlcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtYQAAAQBvbnMgKENBU1NBTkRSQS02ODgwKQogKiBUcmFjayBwcmVzZW5jZSBvZiBsZWdhY3kgY291bnRlciBzaGFyZHMgaW4gc3N0YWJsZXMgKENBU1NBTkRSQS02ODg4KQogKiBFbnN1cmUgc2FmZSByZXNvdXJjZSBjbGVhbnVwIHdoZW4gcmVwbGFjaW5nIHNzdGFibGVzIChDQVNTQU5EUkEtNjkxMikKICogQWRkIGZhaWx1cmUgaGFuZGxlciB0byBhc3luYyBjYWxsYmFjayAoQ0FTU0FORFJBLTY3NDcpCiAqIEZpeCBBRSB3aGVuIGNsb3NpbmcgU1NUYWJsZSB3ScjRKgAAAU/ePLJcABBRTDMgKENBU1NBTkRSQS01AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1hAAABAFRhYmxlU2ltcGxlVW5zb3J0ZWRXcml0ZXIgQ29uY3VycmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlvbgogICAoQ0FTU0FORFJBLTg2MTkpCiAqIFJvdW5kIHVwIHRpbWUgZGVsdGFzIGxvd2VyIHRoYW4gMW1zIGluIEJ1bGtMb2FkZXIgKENBU1NBTkRSQS04NjQ1KQogKiBBZGQgYmF0Y2ggcmVtb3ZlIGl0ZXJhdG9yIHRvIEFCU0MgKENBU1NBTkRSQS04NDE0LCA4NjY2KQogKiBGaXggaXNDbGllbnRNb2RlIGNoZWNrIGluIEtleXNwYWNlIChDQVNTQU5EUkFvldN3AAABT948slwAEENBU1NBTkRSQS02MDQ3KQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWEAAAEAaXggcG90ZW50aWFsIE51bWJlckZvcm1hdEV4Y2VwdGlvbiB3aGVuIGRlc2VyaWFsaXppbmcgSW50ZWdlclR5cGUgKENBU1NBTkRSQS03MDg4KQogKiBjcWxzaCBjYW4ndCB0YWItY29tcGxldGUgZGlzYWJsaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS03MTg1KQogKiBjcWxzaDogQWNjZXB0IGFuZCBleGVjdXRlIENRTCBzdGF0ZW1lbnQocykgZnJvbSBjb21tYW5kLWxpbmUgcGFyYW1ldGVyIChDQVNTQU5EUkEtNzE3MikKICogRml4IElsbGVnYWxTdOy9G+4ADeyFtioL2gAAAU/ePLJcABB0IGFmdGVyIDFoIChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1kAAABAFNTQU5EUkEtMjcyMikKICogRml4ZWQgcm93cyBiZWluZyBjYWNoZWQgaWYgdGhleSBkbyBub3QgZXhpc3QgKENBU1NBTkRSQS0yNzIzKQogKiBmaXggdHJ1bmNhdGUvY29tcGFjdGlvbiByYWNlIChDQVNTQU5EUkEtMjY3MykKICogd29ya2Fyb3VuZCBsYXJnZSByZXN1bHRzZXRzIGNhdXNpbmcgbGFyZ2UgYWxsb2NhdGlvbiByZXRlbnRpb24KICAgYnkgbmlvIHNvY2tldHMgKENBU1NBTkRSQS0yNjU0KQogKiBmaXggbm9kZXRvb2wgcmluZyB1c2Ugd2kwi1/GAAABT948slwAEDE5OTMpCiAqIGZpeGVzIGYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWQAAAEAdHJhdGVneSwgT2xkTmV0d29ya1RvcG9sb2d5U3RyYXRlZ3kgKENBU1NBTkRSQS0yNjc4LCAyNzEzKQogKiBmaXggZXhjZXB0aW9uIGFkZGluZyB2YWxpZGF0b3JzIHRvIG5vbi1zdHJpbmcgY29sdW1ucyAoQ0FTU0FORFJBLTI2OTYpCiAqIGF2b2lkIGluc3RhbnRpYXRpbmcgRGF0YWJhc2VEZXNjcmlwdG9yIGluIEpEQkMgKENBU1NBTkRSQS0yNjk0KQogKiBmaXggcG90ZW50aWFsIHN0YWNrIG92ZXJmbG93IGR1cmluZyBjb21wYWN0aW9uIChDQVNTQdkQIVEAAAFP3jyyXAAQaG9ydCByZWFkcyIgaW4gWwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtZAAAAQBybWF0dGluZyBvbiBzb21lIHBsYXRmb3JtcyAoQ0FTU0FORFJBLTUwNDYpCgoKMS4yLWJldGEzCiAqIG1ha2UgY29uc2lzdGVuY3kgbGV2ZWwgY29uZmlndXJhYmxlIGluIGNxbHNoIChDQVNTQU5EUkEtNDgyOSkKICogZml4IGNxbHNoIHJlbmRlcmluZyBvZiBibG9iIGZpZWxkcyAoQ0FTU0FORFJBLTQ5NzApCiAqIGZpeCBjcWxzaCBERVNDUklCRSBjb21tYW5kIChDQVNTQU5EUkEtNDkxMykKICogc2F2ZSB0cnVuY2F0aW9uIHBvc2l0aW9uIGluIHN5/4uZtAAAAU/ePLJcABA0ODE2KQogKiBmaXggaW5kAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1kAAABACBpbiBkYXRhIGRpcmVjdG9yaWVzIiB3aGVuIG9ubHkgc3lzdGVtIHRhYmxlcwogICBhcmUgcHJlc2VudCAoQ0FTU0FORFJBLTUyODkpCiAqIGNsaTogQWRkIEpNWCBhdXRoZW50aWNhdGlvbiBzdXBwb3J0IChDQVNTQU5EUkEtNTA4MCkKICogbm9kZXRvb2w6IGFiaWxpdHkgdG8gcmVwYWlyIHNwZWNpZmljIHJhbmdlIChDQVNTQU5EUkEtNTI4MCkKICogRml4IHBvc3NpYmxlIGFzc2VydGlvbiB0cmlnZ2VyZWQgaW4gU2xpY2VGcm9tUmVhZENvbW1hbmQ7Sq0jAAABT948slwAECogRW5zdXJlIFNTVGFibGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWQAAAEAU1NBTkRSQS00NDg3KQogKiBhZGQgTXVybXVyM1BhcnRpdGlvbmVyIGFuZCBtYWtlIGl0IGRlZmF1bHQgZm9yIG5ldyBpbnN0YWxsYXRpb25zIChDQVNTQU5EUkEtMzc3MiwgNDYyMSkKICogKGNxbDMpIHVwZGF0ZSBwc2V1ZG8tbWFwIHN5bnRheCB0byB1c2UgbWFwIHN5bnRheCAoQ0FTU0FORFJBLTQ0OTcpCiAqIEZpbmVyIGdyYWluZWQgZXhjZXB0aW9ucyBoaWVyYXJjaHkgYW5kIHByb3ZpZGVzIGVycm9yIGNvZGUgd2l0aCBleGNlcHRpb25zIChDQYo4JxUAAAFP3jyyXAAQdGVyIENvbmN1cnJlbnRNbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtZAAAAQBxbHNoOiBBZGQgdXNlcm5hbWUgYXV0b2NvbXBsZXRpb24gKENBU1NBTkRSQS01MjMxKQogKiBGaXggQ1FMMyBjb21wb3NpdGUgcGFydGl0aW9uIGtleSBlcnJvciAoQ0FTU0FORFJBLTUyNDApCiAqIEFsbG93IElOIGNsYXVzZSBvbiBsYXN0IGNsdXN0ZXJpbmcga2V5IChDQVNTQU5EUkEtNTIzMCkKTWVyZ2VkIGZyb20gMS4xOgogKiBmaXggc3RhcnQga2V5L2VuZCB0b2tlbiB2YWxpZGF0aW9uIGZvciB3aWRlIHJvdyBpdGVyYXRpb24gKENBU1NBTkRSKO1/NAAAAU/ePLJcABB5IG9uIHJvdyBtYXJrZXIgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1kAAABAHByaW1hcnkgaW5kZXggc2FtcGxlIChDQVNTQU5EUkEtMzc0MykKICogKEhhZG9vcCkgc2VwYXJhdGUgaW5wdXQvb3V0cHV0IGNvbmZpZ3VyYXRpb25zIChDQVNTQU5EUkEtMzE5NywgMzc2NSkKICogYXZvaWQgcmV0dXJuaW5nIGludGVybmFsIENhc3NhbmRyYSBjbGFzc2VzIG92ZXIgSk1YIChDQVNTQU5EUkEtMjgwNSkKICogYWRkIHJvdy1sZXZlbCBpc29sYXRpb24gdmlhIFNuYXBUcmVlIChDQVNTQU5EUkEtMjg5MykKICogT3B0aW1pemUga2V5IGMZcIMYAAABT948slwAEGx1bW4gZGVzZXJpYWxpemEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWQAAAEAcmVwYWlyCiAgIGlzIGRpc2FibGVkIChDQVNTQU5EUkEtMzY5NikKICogYmxvY2sgb24gZmx1c2ggYmVmb3JlIGNvbXBhY3RpbmcgaGludHMgKG1heSBwcmV2ZW50IE9PTSkgKENBU1NBTkRSQS0zNzMzKQoKCjEuMC42CiAqIChDUUwpIGZpeCBjcWxzaCBzdXBwb3J0IGZvciByZXBsaWNhdGVfb25fd3JpdGUgKENBU1NBTkRSQS0zNTk2KQogKiBmaXggYWRkaW5nIHRvIGxldmVsZWQgbWFuaWZlc3QgYWZ0ZXIgc3RyZWFtaW5nIChDQVNTQU5EUkEtMzUzNiGwp0MAAAFP3jyyXAAQT0xVTU5GQU1JTFkgV0lUSAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtZAAAAQBkYXRhIChDQVNTQU5EUkEtODk3OSkKICogRml4IGluY29ycmVjdCB2YWxpZGF0aW9uIHdoZW4gc25hcHNob3R0aW5nIHNpbmdsZSB0YWJsZSAoQ0FTU0FORFJBLTgwNTYpCiAqIEFkZCBvZmZsaW5lIHRvb2wgdG8gcmVsZXZlbCBzc3RhYmxlcyAoQ0FTU0FORFJBLTgzMDEpCiAqIFByZXNlcnZlIHN0cmVhbSBJRCBmb3IgbW9yZSBwcm90b2NvbCBlcnJvcnMgKENBU1NBTkRSQS04ODQ4KQogKiBGaXggY29tYmluaW5nIHRva2VuKCkgZnVuY3Rpb24gd2l0T2aBbgAAAU/ePLJcABBEUkEtNzQ2MykKICogRml4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1kAAABACBoYXJtbGVzcykgZXJyb3IgbWVzc2FnZXMgaW4KICAgY29tbWl0bG9nIChDQVNTQU5EUkEtMTMzMCkKICogZml4IG1vdmluZyBub2RlcyB3aXRoIG5vIGtleXNwYWNlcyBkZWZpbmVkIChDQVNTQU5EUkEtMTU3NCkKICogZml4IHVuYm9vdHN0cmFwIHdoZW4gbm8gZGF0YSBpcyBwcmVzZW50IGluIGEgdHJhbnNmZXIgcmFuZ2UgKENBU1NBTkRSQS0xNTczKQogKiB0YWtlIGFkdmFudGFnZSBvZiBBVlJPLTQ5NSB0byBzaW1wbGlmeSBvdXIgYXZybyBJREy+bYJ8AAABT948slwAEGF0IGhhZCBiZWVuIGRlbGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWQAAAEATkRSQS0yNjIyCiAqIGFkZCBhbnQgZ2VuZXJhdGUtY3FsLWh0bWwgdGFyZ2V0IChDQVNTQU5EUkEtMjUyNikKICogdXBkYXRlIENRTCBjb25zaXN0ZW5jeSBsZXZlbHMgKENBU1NBTkRSQS0yNTY2KQogKiBkZWJpYW4gcGFja2FnaW5nIGZpeGVzIChDQVNTQU5EUkEtMjQ4MSwgMjY0NykKICogZml4IFVVSURUeXBlLCBJbnRlZ2VyVHlwZSBmb3IgZGlyZWN0IGJ1ZmZlcnMgKENBU1NBTkRSQS0yNjgyLCAyNjg0KQogKiBzd2l0Y2ggdG8gbmF0aXZlIFRocjrOLNAAAAFP3jyyXAAQaW9uIChDQVNTQU5EUkEtNwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtZAAAAQBtYnN0b25lIGhhbmRsaW5nIGluIHJlcGFpciBhbmQgc3N0YWJsZTJqc29uIChDQVNTQU5EUkEtMjI3OSkKICogcHJlc2VydmUgdmVyc2lvbiB3aGVuIHN0cmVhbWluZyBkYXRhIGZyb20gb2xkIHNzdGFibGVzIChDQVNTQU5EUkEtMjI4MykKICogZG9uJ3Qgc3RhcnQgcmVwYWlyIGlmIGEgbmVpZ2hib3Jpbmcgbm9kZSBpcyBtYXJrZWQgYXMgZGVhZCAoQ0FTU0FORFJBLTIyOTApCiAqIHB1cmdlIHRvbWJzdG9uZXMgZnJvbSByb3cgY2FjaGUgKENBU1NBtzJSVgAAAU/ePLJcABBpbiBUaHJpZnQgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1kAAABACBiZWZvcmUgcmV0dXJuaW5nCiAgIChDQVNTQU5EUkEtMjQ5NCkKICogZml4IG1pc3NpbmcgbG9nZ2luZyBmb3Igc29tZSBleGNlcHRpb25zIChDQVNTQU5EUkEtMjA2MSkKICogcmVmYWN0b3IgYW5kIG9wdGltaXplIENvbHVtbkZhbWlseVN0b3JlLmZpbGVzKC4uLikgYW5kIERlc2NyaXB0b3IuZnJvbUZpbGVuYW1lKFN0cmluZykKICAgYW5kIGZldyBvdGhlciBwbGFjZXMgcmVzcG9uc2libGUgZm9yIHdvcmsgd2l0aCBTU1RhYmxlIGZpbGVzIChDQVNpZ7gPAAABT948slwAECB0aGUgdjEgb3IgdjIKICAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWQAAAEAUkEtNjY5MikKICogQWxsb3cgbm9kZXRvb2wgdG8gdXNlIGEgZmlsZSBvciBwcm9tcHQgZm9yIHBhc3N3b3JkIChDQVNTQU5EUkEtNjY2MCkKICogRml4IEFJT09CRSB3aGVuIGNvbmN1cnJlbnRseSBhY2Nlc3NpbmcgQUJTQyAoQ0FTU0FORFJBLTY3NDIpCiAqIEZpeCBhc3NlcnRpb24gZXJyb3IgaW4gQUxURVIgVFlQRSBSRU5BTUUgKENBU1NBTkRSQS02NzA1KQogKiBTY3J1YiBzaG91bGQgbm90IGFsd2F5cyBjbGVhciBvdXQgcmVwYWlyZWQgc3RhdNcsGVMAAAFP3jyyXAAQcmVtb3ZlIFNjcnViIGZybwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtZAAAAQBpb3JpdGl6YXRpb24sCiAgIHNjaGVkdWxpbmcsIGFuZCBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTMyMjQsIDMyMzQpCiAqIHBhcmFsbGVsaXplIHNzdGFibGUgb3BlbiBhdCBzZXJ2ZXIgc3RhcnR1cCAoQ0FTU0FORFJBLTI5ODgpCiAqIGZpeCBoYW5kbGluZyBvZiBleGNlcHRpb25zIHdyaXRpbmcgdG8gT3V0Ym91bmRUY3BDb25uZWN0aW9uIChDQVNTQU5EUkEtMzIzNSkKICogQWxsb3cgdXNpbmcgcXVvdGVzIGluICJVU0UgPGtleXNwYWNlPjsiIENM0CkwYAAOAOKlZyd4AAABT948slwAEGluIChDQVNTQU5EUkEtMjUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWcAAAEAc2NoZW1hX2NvbHVtbnMKICAgKENBU1NBTkRSQS02MDA5KQogKiBQYWdpbmcgZmlsdGVyIGVtcHR5IHJvd3MgdG9vIGFncmVzc2l2ZWx5IChDQVNTQU5EUkEtNjA0MCkKICogU3VwcG9ydCB2YXJpYWRpYyBwYXJhbWV0ZXJzIGZvciBJTiBjbGF1c2VzIChDQVNTQU5EUkEtNDIxMCkKICogY3Fsc2g6IHJldHVybiB0aGUgcmVzdWx0IG9mIENBUyB3cml0ZXMgKENBU1NBTkRSQS01Nzk2KQogKiBGaXggdmFsaWRhdGlvbiBvZiBJTiBjbGF1c2VzIHdpdGggMltGXhYAAAFP3jyyXAAQZyBjaGFuZ2VzIGZyb20gIwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtaAAAAQB5c3BhY2UgKENBU1NBTkRSQS03MTczKQogKiBBZGQgaHVtYW4gcmVhZGFibGUgb3B0aW9uIHRvIG5vZGV0b29sIGNvbW1hbmRzIChDQVNTQU5EUkEtNTQzMykKICogRG9uJ3QgdHJ5IHRvIHNldCByZXBhaXJlZEF0IG9uIG9sZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTc5MTMpCiAqIEFkZCBtZXRyaWNzIGZvciB0cmFja2luZyBQcmVwYXJlZFN0YXRlbWVudCB1c2UgKENBU1NBTkRSQS03NzE5KQogKiAoY3Fsc2gpIHRhYi1jb21wbGV0aW9uIGZvciB0cmlnqDsq1gAAAU/ePLJcABBlaXIgbWV0YWRhdGEgKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1oAAABAEFORFJBLTg2MzgpCiAqIFN0b3AgY29tcGFjdGlvbnMgYmVmb3JlIGV4aXRpbmcgb2ZmbGluZSB0b29scyAoQ0FTU0FORFJBLTg2MjMpCiAqIFVwZGF0ZSB0b29scy9zdHJlc3MvUkVBRE1FLnR4dCB0byBtYXRjaCBjdXJyZW50IGJlaGF2aW91ciAoQ0FTU0FORFJBLTc5MzMpCiAqIEZpeCBzY2hlbWEgZnJvbSBUaHJpZnQgY29udmVyc2lvbiB3aXRoIGVtcHR5IG1ldGFkYXRhIChDQVNTQU5EUkEtODY5NSkKICogU2FmZXIgUmVzb3VyY2UgTWFuYWdlbWX1pp4WAAABT948slwAEDMpCiAqIGZpeCByYWNlIGMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWgAAAEAdC1vcHRpb25hbCBhcyBkZXBlbmRlbmNlIGZvciB0aGUgZGViaWFuIHBhY2thZ2UgKENBU1NBTkRSQS0yMTY0KQogKiBhZGQgb3B0aW9uIHRvIHNwZWNpZnkgbGltaXQgZm9yIGdldF9zbGljZSBpbiB0aGUgQ0xJIChDQVNTQU5EUkEtMjY0NikKICogZGVjcmVhc2UgSEggcGFnZSBzaXplIChDQVNTQU5EUkEtMjgzMikKICogcmVzZXQgY2xpIGtleXNwYWNlIGFmdGVyIGRyb3BwaW5nIHRoZSBjdXJyZW50IG9uZSAoQ0FTU0FORFJBLTI3NjMpCiAqIGFkZOk2koMAAAFP3jyyXAAQMDYpCiAqIEZpeCBzdHJlYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtaAAAAQAgZXhjZXB0aW9uIGZyb20gQ1FMMyBvbiBvYnNvbGV0ZSBvcHRpb25zIChDQVNTQU5EUkEtNDE3MSkKICogKGNxbHNoKSBmaXggcmVjb2duaXppbmcgdXBwZXJjYXNlIFNFTEVDVCBrZXl3b3JkIChDQVNTQU5EUkEtNDE2MSkKICogUGlnOiB3aWRlIHJvdyBzdXBwb3J0IChDQVNTQU5EUkEtMzkwOSkKTWVyZ2VkIGZyb20gMS4wOgogKiBhdm9pZCBzdHJlYW1pbmcgZW1wdHkgZmlsZXMgd2l0aCBidWxrIGxvYWRlciBpZiBzc3RhYmxld3JpdGVyIGVycm9y7LcUhAAAAU/ePLJcABA3NykKICogRG9uJ3QgcHV0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1oAAABAEFTU0FORFJBLTIyODUpCiAqIGZpeCBmZCBsZWFrIGluIHNzdGFibGUyanNvbiB3aXRoIG5vbi1tbWFwJ2QgaS9vIChDQVNTQU5EUkEtMjMwNCkKICogcmVkdWNlIG1lbW9yeSB1c2UgZHVyaW5nIHN0cmVhbWluZyBvZiBtdWx0aXBsZSBzc3RhYmxlcyAoQ0FTU0FORFJBLTIzMDEpCiAqIHB1cmdlIHRvbWJzdG9uZWQgcm93cyBmcm9tIGNhY2hlIGFmdGVyIEdDR3JhY2VTZWNvbmRzIChDQVNTQU5EUkEtMjMwNSkKICogYWxsb3cgemVybyByZXBsaWNhcyBwISEUAAABT948slwAEG5kcy5ub3JtYWxpemUgZGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWgAAAEAQU5EUkEtMTk2MikKICogYWxsb3cgc3BlY2lmeWluZyBzcGVjaWZpYyBTU1RhYmxlcyB0byBjb21wYWN0IGZyb20gSk1YIChDQVNTQU5EUkEtMTk2MykKICogZml4IHJhY2UgY29uZGl0aW9uIGluIE1lc3NhZ2luZ1NlcnZpY2UudGFyZ2V0cyAoQ0FTU0FORFJBLTE5NTksIDIwOTQsIDIwODEpCiAqIHJlZnVzZSB0byBvcGVuIHNzdGFibGVzIGZyb20gYSBmdXR1cmUgdmVyc2lvbiAoQ0FTU0FORFJBLTE5MzUpCiAqIHplcm8tY29weSByZWFkcyAoQ0FTU4oPyNUAAAFP3jyyXAAQTkRSQS02Nzg4KQogKiBMbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtaAAAAQBkZCBDbG91ZHN0YWNrIHNuaXRjaCAoQ0FTU0FORFJBLTcxNDcpCiAqIFVwZGF0ZSBzeXN0ZW0ucGVlcnMgY29ycmVjdGx5IHdoZW4gcmVsb2NhdGluZyB0b2tlbnMgKENBU1NBTkRSQS03MTI2KQogKiBBZGQgR29vZ2xlIENvbXB1dGUgRW5naW5lIHNuaXRjaCAoQ0FTU0FORFJBLTcxMzIpCiAqIHJlbW92ZSBkdXBsaWNhdGUgcXVlcnkgZm9yIGxvY2FsIHRva2VucyAoQ0FTU0FORFJBLTcxODIpCiAqIGV4aXQgQ1FMU0ggd2l0aCBlcnJvciBzdGF0dXMg6wJFlQAAAU/ePLJcABBBTkRSQS01MTAyKQogKiBFAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1oAAABAFNTQU5EUkEtMjM3MSkKICogZml4IGluY29ycmVjdCB0cnVuY2F0aW9uIG9mIGxvbmcgdG8gaW50IHdoZW4gcmVhZGluZyBjb2x1bW5zIHZpYSBibG9jawogICBpbmRleCAoQ0FTU0FORFJBLTIzNzYpCiAqIGZpeCBOUEUgZHVyaW5nIHN0cmVhbSBzZXNzaW9uIChDQVNTQU5EUkEtMjM3NykKICogZml4IHJhY2UgY29uZGl0aW9uIHRoYXQgY291bGQgbGVhdmUgb3JwaGFuZWQgZGF0YSBmaWxlcyB3aGVuIGRyb3BwaW5nIENGIG9yCiAgIEtTIChDQVNTQU6AjW/DAAABT948slwAECB0aW1lb3V0cyBkdXJpbmcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWgAAAEACiAgIChDQVNTQU5EUkEtMzM0OSkKICogKENRTCkgYWxsb3cgbnVtZXJpYyBrZXlzcGFjZSBuYW1lcyBpbiBVU0Ugc3RhdGVtZW50IChDQVNTQU5EUkEtMzM1MCkKICogKEhhZG9vcCkgc2tpcCBlbXB0eSByb3dzIHdoZW4gc2xpY2luZyB0aGUgZW50aXJlIHJvdyAoQ0FTU0FORFJBLTI4NTUpCiAqIEZpeCBoYW5kbGluZyBvZiB0b21ic3RvbmUgYnkgU1NUYWJsZUV4cG9ydC9JbXBvcnQgKENBU1NBTkRSQS0zMzU3KQogKiBmaXggQ29sdW1uSW5kZXhlco7GVoMAAAFP3jyyXAAQIHdoZW4gYSBuZXcgSVAgdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtaAAAAQB2YWxpZGF0aW9uIGluIFRocmlmdCAoQ0FTU0FORFJBLTYxNDApCiAqIEZpeCBidWcgbWlzc2luZyByZXN1bHRzIHdpdGggSU4gY2xhdXNlcyAoQ0FTU0FORFJBLTYzMjcpCiAqIEZpeCBwYWdpbmcgd2l0aCByZXZlcnNlZCBzbGljZXMgKENBU1NBTkRSQS02MzQzKQogKiBTZXQgbWluVGltZXN0YW1wIGNvcnJlY3RseSB0byBiZSBhYmxlIHRvIGRyb3AgZXhwaXJlZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTYzMzcpCiAqIFN1cHBvcnQgTmFOIGFuZCBJbmZpuokQ3gAAAU/ePLJcABBTaW1wbGVBdXRob3JpemVyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1oAAABACAoQ0FTU0FORFJBLTYwNDIsIDYwNTcpCiAqIEVuYWJsZSB0Y3Aga2VlcGFsaXZlIG9uIGluY29taW5nIGNvbm5lY3Rpb25zIChDQVNTQU5EUkEtNDA1MykKICogRml4IGZhdCBjbGllbnQgc2NoZW1hIHB1bGwgTlBFIChDQVNTQU5EUkEtNjA4OSkKICogRml4IG1lbXRhYmxlIGZsdXNoaW5nIGZvciBpbmRleGVkIHRhYmxlcyAoQ0FTU0FORFJBLTYxMTIpCiAqIEZpeCBza2lwcGluZyBjb2x1bW5zIHdpdGggbXVsdGlwbGUgc2xpY2VzIChDQVNTQU5EUkGCuH2DAAABT948slwAECogaW5jcmVhc2UgZmFpbHUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWgAAAEAIGNvbHVtbiBmYW1pbHkgbmFtZXMuIFRoaXMgaW5jbHVkZXMgbmFtZSB0aGF0CiAgIG1hdGNoZXMgYSAnXlx3KycgcmVnZXguIChDQVNTQU5EUkEtMTM3NykKICogdXNlIEpOQSwgaWYgcHJlc2VudCwgdG8gdGFrZSBzbmFwc2hvdHMgKENBU1NBTkRSQS0xMzcxKQogKiB0cnVuY2F0ZSBoaW50cyBpZiBzdGFydGluZyAwLjcgZm9yIHRoZSBmaXJzdCB0aW1lIChDQVNTQU5EUkEtMTQxNCkKICogZml4IEZEIGxlYWsgaW4gc2luZ2xlLXJvdyBzbGljZXByZRKHRRwAAAFP3jyyXAAQZWFkZXIgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtaAAAAQBhYmxlIHNldHRpbmdzIChDQVNTQU5EUkEtMTYzNCkKICogY2xpIC0tZmlsZSBvcHRpb24gKENBU1NBTkRSQS0xNjE2KQogKiByZWR1Y2UgYXV0b21hdGljYWxseSBjaG9zZW4gbWVtdGFibGUgc2l6ZXMgYnkgNTAlIChDQVNTQU5EUkEtMTY0MSkKICogbW92ZSBlbmRwb2ludCBjYWNoZSBmcm9tIHNuaXRjaCB0byBzdHJhdGVneSAoQ0FTU0FORFJBLTE2NDMpCiAqIGZpeCBjb21taXRsb2cgcmVjb3ZlcnkgZGVsZXRpbmcgdGhlIG5ld2x5LWNyZWF0ZWQg58tzYwAAAU/ePLJcABAoKSBvciB0dGwoKSBjYWxsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1oAAABAHVtbi1uYW1lLXNldCBzbGljZSB3aXRoIG5vIG5hbWVzIGdpdmVuIG5vdyByZXR1cm5zIHplcm8gY29sdW1ucwogICAgICBpbnN0ZWFkIG9mIGFsbCBvZiB0aGVtLiAgKCJhbGwiIGNhbiBydW4geW91ciBzZXJ2ZXIgb3V0IG9mIG1lbW9yeS4KICAgICAgdXNlIGEgcmFuZ2UtYmFzZWQgc2xpY2Ugd2l0aCBhIGhpZ2ggbWF4IGNvbHVtbiBjb3VudCBpbnN0ZWFkLikKICogUmVtb3ZlZCB0aGUgd2ViIGludGVyZmFjZS4gTm9kZSBpbmZvcm1hdGlvbiBjYW4AtuRmAA4VP4Y80ToAAAFP3jyyXAAQMTIpCiAqIGludm9rZSBnZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtaQAAAQBmcm9tIGRpZmZlcmVudCBkYXRhIHNvdXJjZXMKICAgKENBU1NBTkRSQS0xNDUwKQogKiBtYWtlIGZhaWx1cmUgdG8gcmVtb3ZlIGNvbW1pdGxvZyBzZWdtZW50IG5vbi1mYXRhbCAoQ0FTU0FORFJBLTEzNDgpCiAqIGNvcnJlY3Qgb3JkZXJpbmcgb2YgZHJhaW4gb3BlcmF0aW9ucyBzbyBDTC5yZWNvdmVyIGlzIG5vIGxvbmdlciAKICAgbmVjZXNzYXJ5IChDQVNTQU5EUkEtMTQwOCkKICogcmVtb3ZlZCBrZXlzcGFjZSBmcm9tIGRlc2NyaWJlX3NwbGl0mlfUmgAAAU/ePLJcABA5OTIpCiAqIHNwbGl0IENvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1pAAABAGFybmluZyBpcyB1bmhlZWRlZAogICB1bnRpbCBpdCdzIHRvbyBsYXRlIChDQVNTQU5EUkEtODQzKQogKiBBZGQgbG9nZ2luZyBvZiBHQyBhY3Rpdml0eSAoQ0FTU0FORFJBLTgxMykKICogZml4IENvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb24gaW4gY29tbWl0bG9nIGRpc2NhcmQgKENBU1NBTkRSQS04NTMpCiAqIEZpeCBoYXJkY29kZWQgcm93IGNvdW50IGluIEhhZG9vcCBSZWNvcmRSZWFkZXIgKENBU1NBTkRSQS04MzcpCiAqIEFkZCBhIGq/EFHCAAABT948slwAEHV0ZXMgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWkAAAEAYWN0aW5nIDEwMDBzIG9mIHNzdGFibGVzCiAgIChDQVNTQU5EUkEtNDc2NSkKICogZml4IHdyb25nIGxldmVsZWQgY29tcGFjdGlvbiBwcm9ncmVzcyBjYWxjdWxhdGlvbiAoQ0FTU0FORFJBLTQ4MDcpCiAqIGFkZCBhIGNsb3NlKCkgbWV0aG9kIHRvIENSQVIgdG8gcHJldmVudCBsZWFraW5nIGZpbGUgZGVzY3JpcHRvcnMgKENBU1NBTkRSQS00ODIwKQogKiBmaXggcG90ZW50aWFsIGluZmluaXRlIGxvb3AgaW4gZ2V0X2NvdW50IChDQVNTQU5EUkEtNFmQ6U4AAAFP3jyyXAAQIG5vZGVzIGZsYXAgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtaQAAAQAgQXZvaWQgaGF2aW5nIHJlcGxpY2F0ZSBvbiB3cml0ZSB0YXNrcyBzdGFja2luZyB1cCBhdCBDTC5PTkUgKENBU1NBTkRSQS0yODg5KQogKiAoY3FsMykgQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGNvbXBvc2l0ZSBjb21wYXJhdG9ycyBpbiBub24tY3FsMy1hd2FyZQogICBjbGllbnRzIChDQVNTQU5EUkEtNDA5MykKICogKGNxbDMpIEZpeCBvcmRlciBieSBmb3IgcmV2ZXJzZWQgcXVlcmllcyAoQ0FTU0FORFJBLTQxNjApCiAqIChjcWwzKSBBmPqjvAAAAU/ePLJcABBydCB0b29scyAoc2V2ZXJhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1pAAABADkpCiAqIENvcnJlY3RseSBzZW5kIG1ldGFkYXRhIG9uIFNFTEVDVCBDT1VOVCAoQ0FTU0FORFJBLTYwODApCiAqIFRyYWNrIGNsaWVudHMnIHJlbW90ZSBhZGRyZXNzZXMgaW4gQ2xpZW50U3RhdGUgKENBU1NBTkRSQS02MDcwKQogKiBDcmVhdGUgc25hcHNob3QgZGlyIGlmIGl0IGRvZXMgbm90IGV4aXN0IHdoZW4gbWlncmF0aW5nCiAgIGxldmVsZWQgbWFuaWZlc3QgKENBU1NBTkRSQS02MDkzKQogKiBtYWtlIHNlcXVlbnRpYWwgbm9kZXRvb2wgcmX/3zIAAAABT948slwAEAoKMS4wLjMKICogcmV2ZXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWkAAAEAZnRlciBpdCBoYXMgZGF0YSBvbiBpdAogICAoQ0FTU0FORFJBLTU0MSkKICogQWJpbGl0eSB0byBkZWNvbW1pc3Npb24gYSBsaXZlIG5vZGUgZnJvbSB0aGUgcmluZyAoQ0FTU0FORFJBLTQzNSkKICogU2VtaS1hdXRvbWF0aWMgbG9hZGJhbGFuY2luZyB2aWEgbm9kZXByb2JlIChDQVNTQU5EUkEtMTkyKQogKiBBZGQgYWJpbGl0eSB0byBzZXQgY29tcGFjdGlvbiB0aHJlc2hvbGRzIGF0IHJ1bnRpbWUgdmlhCiAgIEpNWCAvIG5vZGVwcm9iZS4gIChDQRV4rKEAAAFP3jyyXAAQYmxlIGJvb3RzdHJhcCB0YQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtaQAAAQBpdGxvZyAoQ0FTU0FORFJBLTEzMzApCiAqIGZpeCBtb3Zpbmcgbm9kZXMgd2l0aCBubyBrZXlzcGFjZXMgZGVmaW5lZCAoQ0FTU0FORFJBLTE1NzQpCiAqIGZpeCB1bmJvb3RzdHJhcCB3aGVuIG5vIGRhdGEgaXMgcHJlc2VudCBpbiBhIHRyYW5zZmVyIHJhbmdlIChDQVNTQU5EUkEtMTU3MykKICogdGFrZSBhZHZhbnRhZ2Ugb2YgQVZSTy00OTUgdG8gc2ltcGxpZnkgb3VyIGF2cm8gSURMIChDQVNTQU5EUkEtMTQzNikKICogZXh0ZW5kIGF1dGhvcml6ux/KbAAAAU/ePLJcABBycyAoQ0FTU0FORFJBLTUxAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1pAAABAGwgbmV0d29yayB0b3BvbG9neSBzbml0Y2ggZm9yIG1peGVkIGVjMi9vdGhlciBlbnZzIChDQVNTQU5EUkEtNTMzOSkKICogTG9nIHdoZW4gYSBub2RlIGlzIGRvd24gbG9uZ2VyIHRoYW4gdGhlIGhpbnQgd2luZG93IChDQVNTQU5EUkEtNDU1NCkKICogT3B0aW1pemUgdG9tYnN0b25lIGNyZWF0aW9uIGZvciBFeHBpcmluZ0NvbHVtbnMgKENBU1NBTkRSQS00OTE3KQogKiBJbXByb3ZlIExldmVsZWRTY2FubmVyIHdvcmsgZXN0aW1hdGlvbiAoQ0FTU0G3ZH9AAAABT948slwAECBsb2dnaW5nIHJhbmdlIHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWkAAAEAKiBGaXggcmFyZSBOUEUgaW4gQ29sdW1uRGVmaW5pdGlvbiNoYXNJbmRleE9wdGlvbigpIChDQVNTQU5EUkEtODc4NikKICogY2Fzc2FuZHJhLXN0cmVzcyByZXBvcnRzIHBlci1vcGVyYXRpb24gc3RhdGlzdGljcywgcGx1cyBtaXNjIChDQVNTQU5EUkEtODc2OSkKICogVXNlIGxvbmcgZm9yIGtleSBjb3VudCBpbiBjZnN0YXRzIChDQVNTQU5EUkEtODkxMykKICogTWFrZSBTU1RhYmxlUmV3cml0ZXIuYWJvcnQoKSBtb3JlIHJvYnVzdCB0byBmYWlsdXqpN14AAAFP3jyyXAAQbGljZQogICBxdWVyaWVzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtaQAAAQBvbHVtbnMgZHVyaW5nIGxpdmUgdXBncmFkZXMgZnJvbSAxLjIgKENBU1NBTkRSQS03MTg4KQogKiBOb3RpZnkgRFQgc3Vic2NyaWJlcnMgd2hlbiBhIGNvbHVtbiBmYW1pbHkgaXMgdHJ1bmNhdGVkIChDQVNTQU5EUkEtODA4OCkKICogQWRkIHNhbml0eSBjaGVjayBvZiAkSkFWQSBvbiBzdGFydHVwIChDQVNTQU5EUkEtNzY3NikKICogU2NoZWR1bGUgZmF0IGNsaWVudCBzY2hlbWEgcHVsbCBvbiBqb2luIChDQVNTQU5EUkEtNzk5MykKICogRG9uJ3QgV/mbmAAAAU/ePLJcABBTU0FORFJBLTUyNzEpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1pAAABAHRyYW5zZmVyIHJhbmdlIChDQVNTQU5EUkEtMTU3MykKICogdGFrZSBhZHZhbnRhZ2Ugb2YgQVZSTy00OTUgdG8gc2ltcGxpZnkgb3VyIGF2cm8gSURMIChDQVNTQU5EUkEtMTQzNikKICogZXh0ZW5kIGF1dGhvcml6YXRpb24gaGllcmFyY2h5IHRvIGNvbHVtbiBmYW1pbHkgKENBU1NBTkRSQS0xNTU0KQogKiBkZWxldGlvbiBzdXBwb3J0IGluIHNlY29uZGFyeSBpbmRleGVzIChDQVNTQU5EUkEtMTU3MSkKICogbWVhbmluZ2Z1bCBlcnJvciBtZXNzYWfwg3QmAAABT948slwAEGYgbG9jYXRpb24gZm9yCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWkAAAEAYWRhdGEgKENBU1NBTkRSQS0zNTQwKQogKiBmaXggTlBFIGluIGdldF9jb3VudCBmb3IgY291bnRlcnMgKENBU1NBTkRSQS0zNjAxKQpNZXJnZWQgZnJvbSAwLjg6CiAqIHJlbW92ZSBpbnZhbGlkIGFzc2VydGlvbiB0aGF0IHRhYmxlIHdhcyBvcGVuZWQgYmVmb3JlIGRyb3BwaW5nIGl0CiAgIChDQVNTQU5EUkEtMzU4MCkKICogcmFuZ2UgYW5kIGluZGV4IHNjYW5zIG5vdyBvbmx5IHNlbmQgcmVxdWVzdHMgdG8gZW5vdWdoIHJlcGxpY2FzIHRvCiAgIGq2e10AAAFP3jyyXAAQcGxhdGZvcm0gbmV3bGluZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtaQAAAQBvbiAoQ0FTU0FORFJBLTU1MzUpCiAqIEZpeCBCb3VuZCBpbnRlcnNlY3Rpb24gY29tcHV0YXRpb24gKENBU1NBTkRSQS01NTUxKQogKiBzc3RhYmxlc2NydWIgbm93IHJlc3BlY3RzIG1heCBtZW1vcnkgc2l6ZSBpbiBjYXNzYW5kcmEuaW4uc2ggKENBU1NBTkRSQS01NTYyKQoKCjEuMi40CiAqIEVuc3VyZSB0aGF0IFBlclJvd1NlY29uZGFyeUluZGV4IHVwZGF0ZXMgc2VlIHRoZSBtb3N0IHJlY2VudCB2YWx1ZXMKICAgKENBU1NBTkRSQS01Mzk3KQogCRjsYQAAAU/ePLJcABBvciBDTEkgZmxhZ3MgKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1pAAABAHRvb2wgWG14IChDQVNTQU5EUkEtNzk1NikKICogQXJjaGl2ZSBhbnkgY29tbWl0bG9nIHNlZ21lbnRzIHByZXNlbnQgYXQgc3RhcnR1cCAoQ0FTU0FORFJBLTY5MDQpCiAqIENyY0NoZWNrQ2hhbmNlIHNob3VsZCBhZGp1c3QgYmFzZWQgb24gbGl2ZSBDRk1ldGFkYXRhIG5vdCAKICAgc3N0YWJsZSBtZXRhZGF0YSAoQ0FTU0FORFJBLTc5NzgpCiAqIHRva2VuKCkgc2hvdWxkIG9ubHkgYWNjZXB0IGNvbHVtbnMgaW4gdGhlIHBhcnRpdGlvbmluZwogICDo9Cv6AAABT948slwAEFkgdmFsaWRhdGlvbiAoQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWkAAAEAbmcgKENBU1NBTkRSQS0zMzk0KQogKiBwcmV2ZW50IG5vZGVzIHRoYXQgZmFpbGVkIHRvIGpvaW4gZnJvbSBoYW5naW5nIGFyb3VuZCBmb3JldmVyIAogICAoQ0FTU0FORFJBLTMzNTEpCiAqIHJlbW92ZSBpbmNvcnJlY3Qgb3B0aW1pemF0aW9uIGZyb20gc2xpY2UgcmVhZCBwYXRoIChDQVNTQU5EUkEtMzM5MCkKICogRml4IHJhY2UgaW4gQW50aUVudHJvcHlTZXJ2aWNlIChDQVNTQU5EUkEtMzQwMCkKCgoxLjAuMC1maW5hbAogKiBjbG9zZSBzY3J1YimoC80ADimcSeuZRwAAAU/ePLJcABBldHMgY2F1c2luZyBsYXJnAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1rAAABAEEtMTgzNykKICogUmVhZFJlc3BvbnNlUmVzb2x2ZXIgY2hlY2sgZGlnZXN0cyBhZ2FpbnN0IGVhY2ggb3RoZXIgKENBU1NBTkRSQS0xODMwKQogKiByZXR1cm4gSW52YWxpZFJlcXVlc3Qgd2hlbiByZW1vdmUgb2Ygc3ViY29sdW1uIHdpdGhvdXQgc3VwZXJjb2x1bW4KICAgaXMgcmVxdWVzdGVkIChDQVNTQU5EUkEtMTg2NikKICogZmx1c2ggYmVmb3JlIHJlcGFpciAoQ0FTU0FORFJBLTE3NDgpCiAqIFNTVGFibGVFeHBvcnQgdmFsaWRhdGVzIGtleSAfaTXtAAABT948slwAEGVzdHMgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWsAAAEAT1MgWCAoQ0FTU0FORFJBLTk0NCkKICogY29udmVydCB0byBieXRlW10ga2V5cyBpbnRlcm5hbGx5IGFuZCBhbGwgcHVibGljIEFQSXMgKENBU1NBTkRSQS03NjcpCiAqIGFiaWxpdHkgdG8gYWx0ZXIgc2NoZW1hIGRlZmluaXRpb25zIG9uIGEgbGl2ZSBjbHVzdGVyIChDQVNTQU5EUkEtNDQpCiAqIHJlbmFtZWQgY29uZmlndXJhdGlvbiBmaWxlIHRvIGNhc3NhbmRyYS54bWwsIGFuZCBsb2c0ai5wcm9wZXJ0aWVzIHRvCiAgIGxvZzRqLXNlcnZlci5wcgismmAAAAFP3jyyXAAQcm92ZSBpbnNlcnQgY29uYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtawAAAQBmIHNtYWxsIGJsb29tIGZpbHRlcnMgKENBU1NBTkRSQS0zNjE4KQogKiBVc2Ugc2VwYXJhdGUgd3JpdGVyIHRocmVhZCBpbiBTU1RhYmxlU2ltcGxlVW5zb3J0ZWRXcml0ZXIgKENBU1NBTkRSQS0zNjE5KQogKiBmc3luYyB0aGUgZGlyZWN0b3J5IGFmdGVyIG5ldyBzc3RhYmxlIG9yIGNvbW1pdGxvZyBzZWdtZW50IGFyZSBjcmVhdGVkIChDQVNTQU5EUkEtMzI1MCkKICogZml4IG1pbm9yIGlzc3VlcyByZXBvcnRlZCBieSBGaW5kQnVncyAoQ0FTU0FO1j+L1gAAAU/ePLJcABBBU1NBTkRSQS0xNjMwLCBDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1rAAABAGUgKENBU1NBTkRSQS01MjUpCiAqIGZhc3RlciBsb2cgcmVwbGF5IG9uIHJlc3RhcnQgKENBU1NBTkRSQS01MzksIENBU1NBTkRSQS01NDApCiAqIG9wdGltaXplZCBsb2NhbC1ub2RlIHdyaXRlcyAoQ0FTU0FORFJBLTU1OCkKICogYWRkZWQgZ2V0X3JhbmdlX3NsaWNlLCBkZXByZWNhdGluZyBnZXRfa2V5X3JhbmdlIChDQVNTQU5EUkEtMzQ0KQogKiBleHBvc2UgVGltZWRPdXRFeGNlcHRpb24gdG8gdGhyaWZ0IChDQVNTQU5EUkEtNTYzKQogCgowLjRxvkMOAAABT948slwAEHJlc3RvcmUgdXNlIG9mIG0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWsAAAEAZSBhIGxpc3Qgb2YgdGFibGVzIChDQVNTQU5EUkEtODM0OCkKICogTGltaXQgbWFqb3Igc3N0YWJsZSBvcGVyYXRpb25zIHRvIHRoZWlyIGNhbm9uaWNhbCByZXByZXNlbnRhdGlvbiAoQ0FTU0FORFJBLTg2NjkpCiAqIGNxbHNoOiBBZGQgdGVzdHMgZm9yIElOU0VSVCBhbmQgVVBEQVRFIHRhYiBjb21wbGV0aW9uIChDQVNTQU5EUkEtOTEyNSkKICogY3Fsc2g6IHF1b3RlIGNvbHVtbiBuYW1lcyB3aGVuIG5lZWRlZCBpbiBDT1BZIEZST00gaW5zZXJ0czsnTUcAAAFP3jyyXAAQbiBwcmlvcml0eSB0byBoaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtawAAAQBydHVwIHdoZW4gV01JIG1lbW9yeSBxdWVyeSBmYWlscyAoQ0FTU0FORFJBLTc1MDUpCiAqIEFudGktY29tcGFjdGlvbiBwcm9jZWVkcyBpZiBhbnkgcGFydCBvZiB0aGUgcmVwYWlyIGZhaWxlZCAoQ0FTQU5EUkEtNzUyMSkKICogQWRkIG1pc3NpbmcgdGFibGUgbmFtZSB0byBEUk9QIElOREVYIHJlc3BvbnNlcyBhbmQgbm90aWZpY2F0aW9ucyAoQ0FTU0FORFJBLTc1MzkpCiAqIEJ1bXAgQ1FMIHZlcnNpb24gdG8gMy4yLjAgYW5kIHVwZGF0ZSBDUUwgsHVMuQAAAU/ePLJcABBDQVNTQU5EUkEtODc5NikKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1rAAABAGQgdGFibGVzIChDQVNTQU5EUkEtNjExMikKICogRml4IHNraXBwaW5nIGNvbHVtbnMgd2l0aCBtdWx0aXBsZSBzbGljZXMgKENBU1NBTkRSQS02MTE5KQogKiBFeHBvc2UgY29ubmVjdGVkIHRocmlmdCArIG5hdGl2ZSBjbGllbnQgY291bnRzIChDQVNTQU5EUkEtNTA4NCkKICogT3B0aW1pemUgYXV0aCBzZXR1cCAoQ0FTU0FORFJBLTYxMjIpCiAqIFRyYWNlIGluZGV4IHNlbGVjdGlvbiAoQ0FTU0FORFJBLTYwMDEpCiAqIFVwZGF0ZSBzc3RhYmxlc1CFtBRLAAABT948slwAEFNTQU5EUkEtMzQwOCkKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWsAAAEAb2wgaGlzdG9yeSBsb2dnaW5nIChDQVNTQU5EUkEtNTgyMykKICogKEhhZG9vcCkgZml4IHN1cHBvcnQgZm9yIFRocmlmdCB0YWJsZXMgaW4gQ3FsUGFnaW5nUmVjb3JkUmVhZGVyIAogICAoQ0FTU0FORFJBLTU3NTIpCiAqIGFkZCAiYWxsIHRpbWUgYmxvY2tlZCIgdG8gU3RhdHVzTG9nZ2VyIG91dHB1dCAoQ0FTU0FORFJBLTU4MjUpCiAqIEZ1dHVyZS1wcm9vZiBpbnRlci1tYWpvci12ZXJzaW9uIHNjaGVtYSBtaWdyYXRpb25zIChDQVNTQU5EUkEtNXgG+1MAAAFP3jyyXAAQbmcgdG8gdGltZW91dAogIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtawAAAQBhbWV0ZXIgY29sdW1ucyB0byB0cmFjaW5nIHNlc3Npb24gKENBU1NBTkRSQS02OTQyKQogKiBQcmVzZXJ2ZXMgQ1FMIG1ldGFkYXRhIHdoZW4gdXBkYXRpbmcgdGFibGUgZnJvbSB0aHJpZnQgKENBU1NBTkRSQS02ODMxKQpNZXJnZWQgZnJvbSAxLjI6CiAqIEZpeCBub2RldG9vbCBkaXNwbGF5IHdpdGggdm5vZGVzIChDQVNTQU5EUkEtNzA4MikKICogQWRkIFVOTE9HR0VELCBDT1VOVEVSIG9wdGlvbnMgdG8gQkFUQ0ggZG9jdW1lbnRhdGlvbiAoQ0FTIAvgGAAAAU/ePLJcABAgICAgLSBNZXJnZWQgX3N1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1rAAABACkKICogTWFrZSBzdXJlIHdlIHNldCBsYXN0Q29tcGFjdGVkS2V5IGNvcnJlY3RseSAoQ0FTU0FORFJBLTg0NjMpCiAqIChjcWxzaCkgRml4IG91dHB1dCBvZiBDT05TSVNURU5DWSBjb21tYW5kIChDQVNTQU5EUkEtODUwNykKICogKGNxbHNoKSBGaXhlZCB0aGUgaGFuZGxpbmcgb2YgTElTVCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtODM3MCkKICogTWFrZSBzc3RhYmxlc2NydWIgY2hlY2sgbGV2ZWxlZCBtYW5pZmVzdCBhZ2FpbiAoQ0FTU0FORFJBLTjfD88JAAABT948slwAEGluZyB1cGRhdGVzIHdpdGgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWsAAAEAaWZ0IG1ldGhvZHMgd2hlbiBjcWwzIHdhcwogICBpbnRlbmRlZCAoQ0FTU0FORFJBLTUxNzIpCiAqIGNsaTogUXVvdGUga3MgYW5kIGNmIG5hbWVzIGluIHNjaGVtYSBvdXRwdXQgd2hlbiBuZWVkZWQgKENBU1NBTkRSQS01MDUyKQogKiBGaXggY2YgbmFtZSBleHRyYWN0aW9uIGZyb20gbWFuaWZlc3QgaW4gRGlyZWN0b3JpZXMubWlncmF0ZUZpbGUoKSAoQ0FTU0FORFJBLTUyNDIpCiAqIFJlcGxhY2UgbWlzdGFrZW4gdXNhZ2Ugb2YgY29tbW9ucy1sb/uiMTIAAAFP3jyyXAAQcmFuZ2UgcmVwYWlyIGFsbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtawAAAQB3aGVuIGEgbm9kZSByZWNlaXZlcyBhIG1lc3NhZ2UgZm9yIGEgcmVwYWlyIHNlc3Npb24KICAgdGhhdCBkb2Vzbid0IGV4aXN0IGFueW1vcmUgKENBU1NBTkRSQS0zMjU2KQogKiB0ZXN0IGZvciBOVU1BIHBvbGljeSBzdXBwb3J0IGFzIHdlbGwgYXMgbnVtYWN0bCBwcmVzZW5jZSAoQ0FTU0FORFJBLTMyNDUpCiAqIEZpeCBGRCBsZWFrIHdoZW4gaW50ZXJub2RlIGVuY3J5cHRpb24gaXMgZW5hYmxlZCAoQ0FTU0FORFJBLTMyNTcpCiAqIFJlbW92ZSBpEDl9lgAAAU/ePLJcABAxNjgxKQogKiBtYWtlIC1EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1rAAABAGVyIHNpemVzIChDQVNTQU5EUkEtMzE3MSkKICogUGx1Z2dhYmxlIGNvbXBhY3Rpb24gc3RyYXRlZ3kgKENBU1NBTkRSQS0xNjEwKQogKiBBZGQgbmV3IGJyb2FkY2FzdF9hZGRyZXNzIGNvbmZpZyBvcHRpb24gKENBU1NBTkRSQS0yNDkxKQoKCjAuOC43CiAqIEtpbGwgc2VydmVyIG9uIHdyYXBwZWQgT09NRSBzdWNoIGFzIGZyb20gRmlsZUNoYW5uZWwubWFwIChDQVNTQU5EUkEtMzIwMSkKICogQWxsb3cgdXNpbmcgcXVvdGVzIGluICJVU0UgPGtleXOhQnkEAAABT948slwAEERSQS00Mjc5KQogKiBpbXAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILWsAAAEAT3B0aW1pemUgbWluL21heCB0aW1lc3RhbXAgY29sbGVjdGlvbiAoQ0FTU0FORFJBLTUzNzMpCiAqIEludmFsaWQgc3RyZWFtSWQgaW4gY3FsIGJpbmFyeSBwcm90b2NvbCB3aGVuIHVzaW5nIGludmFsaWQgQ0wgCiAgIChDQVNTQU5EUkEtNTE2NCkKICogRml4IHZhbGlkYXRpb24gZm9yIElOIHdoZXJlIGNsYXVzZXMgd2l0aCBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTUzNzYpCiAqIENvcHkgcmVzdWx0U2V0IG9uIGNvdW50IHF1ZXJ5IHRvIGF2b2lkIOW+3UgAAAFP3jyyXAAQaW5nLT5kZWxldGVkIChjZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtawAAAQBhY2UgY29uZGl0aW9uIGluIGRldGVjdGluZyB2ZXJzaW9uIG9uIGEgbWl4ZWQgMS4xLzEuMiBjbHVzdGVyCiAgIChDQVNTQU5EUkEtNTY5MikKICogRml4IHNraXBwaW5nIHJhbmdlIHRvbWJzdG9uZXMgd2l0aCByZXZlcnNlIHF1ZXJpZXMgKENBU1NBTkRSQS01NzEyKQogKiBFeHBpcmUgZW50cmllcyBvdXQgb2YgVGhyaWZ0U2Vzc2lvbk1hbmFnZXIgKENBU1NBTlJEQS01NzE5KQogKiBEb24ndCBrZWVwIGFuY2VzdG9yIGluZm9ybWF0aW9uIGluIG1lJzrrrwAOPfl1xxLqAAABT948slwAEGNvZGUgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILW4AAAEAcmFsbGVsQ29tcGFjdGlvbkl0ZXJhdG9yIChDQVNTQU5EUkEtMzI3MCkKICogZml4IGJvb3RzdHJhcCBwcm9jZXNzIChDQVNTQU5EUkEtMzI4NSkKICogZG9uJ3QgdHJ5IGRlbGl2ZXJpbmcgaGludHMgaWYgd2hlbiB0aGVyZSBpc24ndCBhbnkgKENBU1NBTkRSQS0zMTc2KQogKiBDTEkgZG9jdW1lbnRhdGlvbiBjaGFuZ2UgZm9yIENvbHVtbkZhbWlseSBgY29tcHJlc3Npb25fb3B0aW9uc2AgKENBU1NBTkRSQS0zMjgyKQogKiBpZ25vcmUgYW55IENGIHdUZUIAAAFP3jyyXAAQQU5EUkEtMzEzOCkKICogcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtbgAAAQByZXNzIGlkCiAgIChDQVNTQU5EUkEtNDMxMSkKICogbXVsdGl0aHJlYWRlZCBoaW50IHJlcGxheSAoQ0FTU0FORFJBLTQxODkpCiAqIGFkZCBpbnRlci1ub2RlIG1lc3NhZ2UgY29tcHJlc3Npb24gKENBU1NBTkRSQS0zMTI3KQogKiByZW1vdmUgQ09QUCAoQ0FTU0FORFJBLTI0NzkpCiAqIFRyYWNrIHRvbWJzdG9uZSBleHBpcmF0aW9uIGFuZCBjb21wYWN0IHdoZW4gdG9tYnN0b25lIGNvbnRlbnQgaXMKICAgaGlnaGVyIHRoYW4gYSBjb25maWd1cmFinLD6VAAAAU/ePLJcABBTQU5EUkEtMjQxNikKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1uAAABADE0NikKICogRml4IElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiB3aGVuIGEgbGlzdCBvZiBJTiB2YWx1ZXMgY29udGFpbmluZyB0dXBsZXMKICAgaXMgcGFzc2VkIGFzIGEgc2luZ2xlIGFyZyB0byBhIHByZXBhcmVkIHN0YXRlbWVudCB3aXRoIHRoZSB2MSBvciB2MgogICBwcm90b2NvbCAoQ0FTU0FORFJBLTgwNjIpCiAqIEZpeCBDbGFzc0Nhc3RFeGNlcHRpb24gaW4gRElTVElOQ1QgcXVlcnkgb24gc3RhdGljIGNvbHVtbnMgd2l0aAogICBxdWVyeSBVFH8SAAABT948slwAEHggZnJvbSBzd2FwcGluZwoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILW4AAAEAU1NBTkRSQS0yNjIyCiAqIGFkZCBhbnQgZ2VuZXJhdGUtY3FsLWh0bWwgdGFyZ2V0IChDQVNTQU5EUkEtMjUyNikKICogdXBkYXRlIENRTCBjb25zaXN0ZW5jeSBsZXZlbHMgKENBU1NBTkRSQS0yNTY2KQogKiBkZWJpYW4gcGFja2FnaW5nIGZpeGVzIChDQVNTQU5EUkEtMjQ4MSwgMjY0NykKICogZml4IFVVSURUeXBlLCBJbnRlZ2VyVHlwZSBmb3IgZGlyZWN0IGJ1ZmZlcnMgKENBU1NBTkRSQS0yNjgyLCAyNjg0KQogKiBzd2l0Y2ggdG8gbmF0aXZlIK8xYKwAAAFP3jyyXAAQRFJBLTc1OTMpCiAqIFRvbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtbgAAAQBORFJBLTQyNjEpCiAqIHJlbW92ZSB2ZXN0aWdlcyBvZiBUaHJpZnQgdW5mcmFtZWQgbW9kZSAoQ0FTU0FORFJBLTQ3MjkpCiAqIG9wdGltaXplIHNpbmdsZS1yb3cgUEsgbG9va3VwcyAoQ0FTU0FORFJBLTQ3MTApCiAqIGFkanVzdCBibG9ja0ZvciBjYWxjdWxhdGlvbiB0byBhY2NvdW50IGZvciBwZW5kaW5nIHJhbmdlcyBkdWUgdG8gbm9kZSAKICAgbW92ZW1lbnQgKENBU1NBTkRSQS04MzMpCiAqIENoYW5nZSBDUUwgdmVyc2lvbiB0byAzLjAuMCBhBg0/FQAAAU/ePLJcABA0NzQ3KQogKiBVc2UgcnBjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1uAAABAGEtc3RyZXNzIHN1cHBvcnRzIHZhbGlkYXRpb24gb3BlcmF0aW9ucyBvdmVyIHVzZXIgcHJvZmlsZXMgKENBU1NBTkRSQS04NzczKQogKiBBZGQgc3VwcG9ydCBmb3IgcmF0ZSBsaW1pdGluZyBsb2cgbWVzc2FnZXMgKENBU1NBTkRSQS05MDI5KQogKiBMb2cgdGhlIHBhcnRpdGlvbiBrZXkgd2l0aCB0b21ic3RvbmUgd2FybmluZ3MgKENBU1NBTkRSQS04NTYxKQogKiBSZWR1Y2UgcnVuV2l0aENvbXBhY3Rpb25zRGlzYWJsZWQgcG9sbCBpbnRlcnZhbCAyO24GAAABT948slwAEFNBTkRSQS02NzgyKQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILW4AAAEAZWFuIHVwIHRtcCBmaWxlcyBhZnRlciBmYWlsZWQgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTI0NjgpCiAqIHJlc3RyaWN0IHJlcGFpciBzdHJlYW1pbmcgdG8gc3BlY2lmaWMgY29sdW1uZmFtaWxpZXMgKENBU1NBTkRSQS0yMjgwKQogKiBkb24ndCBib3RoZXIgcGVyc2lzdGluZyBjb2x1bW5zIHNoYWRvd2VkIGJ5IGEgcm93IHRvbWJzdG9uZSAoQ0FTU0FORFJBLTI1ODkpCiAqIHJlc2V0IENGIGFuZCBTQyBkZWxldGlvbiB0aW1lcyBhZnRlciBnY19ncqR8JkcAAAFP3jyyXAAQdGlvbiBmb3IgY29tcHJlcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtbgAAAQBRdW90ZSBrcyBhbmQgY2YgbmFtZXMgaW4gc2NoZW1hIG91dHB1dCB3aGVuIG5lZWRlZCAoQ0FTU0FORFJBLTUwNTIpCiAqIEZpeCBjZiBuYW1lIGV4dHJhY3Rpb24gZnJvbSBtYW5pZmVzdCBpbiBEaXJlY3Rvcmllcy5taWdyYXRlRmlsZSgpIChDQVNTQU5EUkEtNTI0MikKICogUmVwbGFjZSBtaXN0YWtlbiB1c2FnZSBvZiBjb21tb25zLWxvZ2dpbmcgd2l0aCBzbGY0aiAoQ0FTU0FORFJBLTU0NjQpCiAqIEVuc3VyZSBKYWNrc29uIGRlcGVuZGVuY3kgwizykQAAAU/ePLJcABBldmVyeSB0ZW4gbWludXRlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1uAAABADYzNzkpCiAqIExpZnQgbGltaXRhdGlvbiB0aGF0IG9yZGVyIGJ5IGNvbHVtbnMgbXVzdCBiZSBzZWxlY3RlZCBmb3IgSU4gcXVlcmllcyAoQ0FTU0FORFJBLTQ5MTEpCgoKMi4wLjUKICogUmVkdWNlIGdhcmJhZ2UgZ2VuZXJhdGVkIGJ5IGJsb29tIGZpbHRlciBsb29rdXBzIChDQVNTQU5EUkEtNjYwOSkKICogQWRkIGtzLmNmIG5hbWVzIHRvIHRvbWJzdG9uZSBsb2dnaW5nIChDQVNTQU5EUkEtNjU5NykKICogVXNlIExPQ0FMX1FVT1JVTSBmb3IgTFd3NOVAAAABT948slwAEG4ndCBhY2NlcHQgZXh0cmEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILW4AAAEAcm9wZXJ0aWVzIGFkZGVkIChzZXZlcmFsIHRpY2tldHMpCiAqIFRocmlmdCBjaGFuZ2VzIChzZXZlcmFsIHRpY2tldHMpCiAgICAtIE1lcmdlZCBfc3VwZXIgZ2V0IG1ldGhvZHMgd2l0aCB0aGUgbm9ybWFsIG9uZXM7IHJldHVybiB2YWx1ZXMKICAgICAgYXJlIG5vdyBvZiBDb2x1bW5PclN1cGVyQ29sdW1uLgogICAgLSBTaW1pbGFybHksIG1lcmdlZCBiYXRjaF9pbnNlcnRfc3VwZXIgaW50byBiYXRjaF9pbnNlcnQuCgoKCjAuNC4wIGJldGEKICogT8GfQFsAAAFP3jyyXAAQU0FORFJBLTUxMTcpCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtbgAAAQByYWwgdGlja2V0cykKICogVGhyaWZ0IGNoYW5nZXMgKHNldmVyYWwgdGlja2V0cykKICAgIC0gTWVyZ2VkIF9zdXBlciBnZXQgbWV0aG9kcyB3aXRoIHRoZSBub3JtYWwgb25lczsgcmV0dXJuIHZhbHVlcwogICAgICBhcmUgbm93IG9mIENvbHVtbk9yU3VwZXJDb2x1bW4uCiAgICAtIFNpbWlsYXJseSwgbWVyZ2VkIGJhdGNoX2luc2VydF9zdXBlciBpbnRvIGJhdGNoX2luc2VydC4KCgoKMC40LjAgYmV0YQogKiBPbi1kaXNrIGRhdGEgZm9ybWF0IGhhVyXzoQAAAU/ePLJcABB0IChDQVNTQU5EUkEtMTYzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1uAAABACAxMDAlIChDQVNTQU5EUkEtMzk0MikKTWVyZ2VkIGZyb20gMS4wOgogKiBTZXQgZ2NfZ3JhY2Ugb24gaW5kZXggQ0YgdG8gMCAoQ0FTU0FORFJBLTQzMTQpCgoKMS4xLjEKICogYWRkIHBvcHVsYXRlX2lvX2NhY2hlX29uX2ZsdXNoIG9wdGlvbiAoQ0FTU0FORFJBLTI2MzUpCiAqIGFsbG93IGxhcmdlciBjYWNoZSBjYXBhY2l0aWVzIHRoYW4gMkdCIChDQVNTQU5EUkEtNDE1MCkKICogYWRkIGdldHNzdGFibGVzIGNvbW1hbmQgdG8gbm9kZXRvb2wgKEOVyh90AAABT948slwAEGUgb3IgQ29sdW1uRmFtaWwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILW4AAAEAIFJhbmRvbVBhcnRpdGlvbmVyCiAgIGFuZCBDb25zaXN0ZW5jeUxldmVsID4gT05FIChDQVNTQU5EUkEtMTE0NSkKICogZml4IGZvciByYW5nZSBxdWVyeSBzdGFydGluZyB3aXRoIHRoZSB3cm9uZyB0b2tlbiByYW5nZSAoQ0FTU0FORFJBLTEwNDIpCiAqIHBhZ2Ugd2l0aGluIGEgc2luZ2xlIHJvdyBkdXJpbmcgaGludGVkIGhhbmRvZmYgKENBU1NBTkRSQS0xMzI3KQogKiBmaXggY29tcGlsYXRpb24gb24gbm9uLXN1biBKREtzIChDQVNTQU5EUkEtMaNzYJMAAAFP3jyyXAAQaXZlciBDbHVzdGVyIGluIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtbgAAAQA3MTcpCiAqIHdvcmthcm91bmQgZm9yIG5ldHR5IGlzc3VlIGNhdXNpbmcgY29ycnVwdGVkIGRhdGEgb2ZmIHRoZSB3aXJlIChDQVNTQU5EUkEtNzY5NSkKICogY3Fsc2ggREVTQyBDTFVTVEVSIGZhaWxzIHJldHJpZXZpbmcgcmluZyBpbmZvcm1hdGlvbiAoQ0FTU0FORFJBLTc2ODcpCiAqIEZpeCBiaW5kaW5nIG51bGwgdmFsdWVzIGluc2lkZSBVRFQgKENBU1NBTkRSQS03Njg1KQogKiBGaXggVURUIGZpZWxkIHNlbGVjdGlvbiB3aXRoIGVtcHR5IGZpLCHTmQAAAU/ePLJcABByYWNpbmcgb2YgcmFuZ2UgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1uAAABAHQgY29tcGFjdGlvbiBhcyBhY3RpdmUgKGZvciB0aHJvdHRsaW5nKSB3aGVuIHRoZXkgaGF2ZQogICBzdWNjZXNzZnVsbHkgYWNxdWlyZWQgdGhlIGNvbXBhY3Rpb24gbG9jayAoQ0FTU0FORFJBLTMzNDQpCiAqIERpc3BsYXkgQ0xJIHZlcnNpb24gc3RyaW5nIG9uIHN0YXJ0dXAgKENBU1NBTkRSQS0zMTk2KQogKiAoSGFkb29wKSBtYWtlIENGSUYgdHJ5IHJwY19hZGRyZXNzIG9yIGZhbGxiYWNrIHRvIGxpc3Rlbl9hZGRyZXNzCiAgIChDQVNTQU5EUkHgZzNeAA5SVmaxUGgAAAFP3jyyXAAQQVNTQU5EUkEtNzczNCkKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtcAAAAQBKTVggbWV0cmljcyAoQ0FTU0FORFJBLTQ4MikKICogSlNPTiBiYXNlZCBleHBvcnQgYW5kIGltcG9ydCB0b29scyAoc2V2ZXJhbCB0aWNrZXRzKQogKiBIaW50ZWQgSGFuZG9mZiBmaXhlcyAoc2V2ZXJhbCB0aWNrZXRzKQogKiBBZGQga2V5IGNhY2hlIHRvIGltcHJvdmUgcmVhZCBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTQyMykKICogU2ltcGxpZmllZCBjb25zdHJ1Y3Rpb24gb2YgY3VzdG9tIFJlcGxpY2F0aW9uU3RyYXRlZ3kgY2xhc3NlcwogICAocEOUpAAAAU/ePLJcABBmaXggTlBFIHdoZW4gdGhlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1wAAABAEEtNTM1NSkKICogTWFrZSB1cGdyYWRlU1NUYWJsZSBza2lwIGN1cnJlbnQgdmVyc2lvbiBzc3RhYmxlcyBieSBkZWZhdWx0IChDQVNTQU5EUkEtNTM2NikKICogT3B0aW1pemUgbWluL21heCB0aW1lc3RhbXAgY29sbGVjdGlvbiAoQ0FTU0FORFJBLTUzNzMpCiAqIEludmFsaWQgc3RyZWFtSWQgaW4gY3FsIGJpbmFyeSBwcm90b2NvbCB3aGVuIHVzaW5nIGludmFsaWQgQ0wgCiAgIChDQVNTQU5EUkEtNTE2NCkKICogRml4IHZhbGlkYXRpb24gZm9yIEmsZEBUAAABT948slwAEEEtNTczNSkKICogRml4IHAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXAAAAEAc2VydmVyIGlzIHN0b3BwZWQgYWZ0ZXIgcmVwbGF5aW5nCiAgIGxvZyBidXQgYmVmb3JlIG5ldyBpbnNlcnRzIGZvcmNlIG1lbXRhYmxlIGZsdXNoLgogICAoQ0FTU0FORFJBLTIwNCkKICogQWRkZWQgQlVHUyBmaWxlCgoKMC4zLjAgUkMxCiAqIFJhbmdlIHF1ZXJpZXMgb24ga2V5cywgaW5jbHVkaW5nIHVzZXItZGVmaW5lZCBrZXkgY29sbGF0aW9uCiAqIFJlbW92ZSBzdXBwb3J0CiAqIFdvcmthcm91bmRzIGZvciBhIHdlaXJkIGJ1ZyBpbiBKREsgc6lfFRAAAAFP3jyyXAAQdGlvIGVzdGltYXRlIHdpdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtcAAAAQB0aW9uIChDQVNTQU5EUkEtNjQ4MSkKICogRml4IHRodW5kZXJpbmcgaGVyZCBvbiBlbmRwb2ludCBjYWNoZSBpbnZhbGlkYXRpb24gKENBU1NBTkRSQS02MzQ1LCA2NDg1KQogKiBJbXByb3ZlIGJhdGNobG9nIHdyaXRlIHBlcmZvcm1hbmNlIHdpdGggdm5vZGVzIChDQVNTQU5EUkEtNjQ4OCkKICogY3Fsc2g6IHF1b3RlIHNpbmdsZSBxdW90ZXMgaW4gc3RyaW5ncyBpbnNpZGUgY29sbGVjdGlvbnMgKENBU1NBTkRSQS02MTcyKQogKiBJbXByb3ZlIGdvaPZp0gAAAU/ePLJcABBDQVNTQU5EUkEtNzc0NSkKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1wAAABAGFuZG9mZgogICBhcyB3ZWxsIChDQVNTQU5EUkEtMTI2MCkKICogbG9nIGVycm9ycyBpbiBnb3NzaXAgaW5zdGVhZCBvZiByZS10aHJvd2luZyAoQ0FTU0FORFJBLTEyODkpCiAqIGF2b2lkIGFib3J0aW5nIGNvbW1pdGxvZyByZXBsYXkgcHJlbWF0dXJlbHkgaWYgYSBmbHVzaGVkLWJ1dC0KICAgbm90LXJlbW92ZWQgY29tbWl0bG9nIHNlZ21lbnQgaXMgZW5jb3VudGVyZWQgKENBU1NBTkRSQS0xMjk3KQogKiBmaXggZHVwbGljYXRlIHJvd3MgYmVpbmfDiSxKAAABT948slwAEGlwbGUgTXV0YXRpb25zIHAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXAAAAEAbmMgY29tbWl0bG9nIChDQVNTQU5EUkEtMTkxOSkKICogYWxsb3cgbm9kZXMgdG8gYmUgdXAgd2l0aG91dCBiZWluZyBwYXJ0IG9mICBub3JtYWwgdHJhZmZpYyAoQ0FTU0FORFJBLTE5NTEpCiAqIGZpeCBDTEkgInNob3cga2V5c3BhY2VzIiB3aXRoIG51bGwgb3B0aW9ucyBvbiBOVFMgKENBU1NBTkRSQS0yMDQ5KQogKiBmaXggcG9zc2libGUgQnl0ZUJ1ZmZlciByYWNlIGNvbmRpdGlvbnMgKENBU1NBTkRSQS0yMDY2KQogKiByZWR1Y2UgZ2FyYmFnZSwdmfgAAAFP3jyyXAAQd2hlbiByZWxhdGVkIHRhYgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtcAAAAQBtbi4KICAgIC0gU2ltaWxhcmx5LCBtZXJnZWQgYmF0Y2hfaW5zZXJ0X3N1cGVyIGludG8gYmF0Y2hfaW5zZXJ0LgoKCgowLjQuMCBiZXRhCiAqIE9uLWRpc2sgZGF0YSBmb3JtYXQgaGFzIGNoYW5nZWQgdG8gYWxsb3cgYmlsbGlvbnMgb2Yga2V5cy9yb3dzIHBlcgogICBub2RlIGluc3RlYWQgb2Ygb25seSBtaWxsaW9ucwogKiBNdWx0aS1rZXlzcGFjZSBzdXBwb3J0CiAqIFNjYW4gYWxsIHNzdGFibGVzIGZvciBhbGwgcXVlcmllcyB0byBhdm9pZCBzrsOCWwAAAU/ePLJcABAgbWF4IG1lc3NhZ2UgbGVuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1wAAABACAqIFJlbGF4IENMIGZvciBhdXRoIHF1ZXJpZXMgZm9yIG5vbi1kZWZhdWx0IHVzZXJzIChDQVNTQU5EUkEtNTMxMCkKICogRml4IEFzc2VydGlvbkVycm9yIGR1cmluZyByZXBhaXIgKENBU1NBTkRSQS01MjQ1KQogKiBEb24ndCBhbm5vdW5jZSBtaWdyYXRpb25zIHRvIHByZS0xLjIgbm9kZXMgKENBU1NBTkRSQS01MzM0KQpNZXJnZWQgZnJvbSAxLjE6CiAqIFVwZGF0ZSBvZmZsaW5lIHNjcnViIGZvciAxLjAgLT4gMS4xIGRpcmVjdG9yeSBzdHJ1Y3T2OdvcAAABT948slwAEHJyYXkgb3V0IG9mIGJvdW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXAAAAEAbnNlcnRzIG92ZXIgc2FtZSBzZWVkIChDQVNTQU5EUkEtNzk2NCkKICogUmVkdWNlIGNhc3NhbmRyYS1zdHJlc3Mgc2FtcGxpbmcgbWVtb3J5IHJlcXVpcmVtZW50cyAoQ0FTU0FORFJBLTc5MjYpCiAqIEVuc3VyZSBtZW10YWJsZSBmbHVzaCBjYW5ub3QgZXhwaXJlIGNvbW1pdCBsb2cgZW50cmllcyBmcm9tIGl0cyBmdXR1cmUgKENBU1NBTkRSQS04MzgzKQogKiBNYWtlIHJlYWQgImRlZnJhZyIgYXN5bmMgdG8gcmVjbGFpbSBtZW10YWJsZXMgKENBU9O9GNgAAAFP3jyyXAAQcyB0byBiZSBpbiBwYXJlbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtcAAAAQBzIHRvIHVzZSBJVHJhbnNwb3J0RmFjdG9yeSAoQ0FTU0FORFJBLTY2NDEpCiAqIEZpeCBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gZHVyaW5nIHByZXBhcmUgKENBU1NBTkRSQS02NTkyKQogKiBGaXggcG9zc2libGUgbG9zcyBvZiAybmRhcnkgaW5kZXggZW50cmllcyBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTY1MTcpCiAqIEZpeCBkaXJlY3QgTWVtb3J5IG9uIGFyY2hpdGVjdHVyZXMgdGhhdCBkbyBub3Qgc3VwcG9ydCB1bmFsaWduZWQgPFvyQQAAAU/ePLJcABBBTCB0byBhdm9pZCBkcm9wAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1wAAABAC8zIHN0YXRlbWVudCBwcmVwYXJhdGlvbiAoQ0FTU0FORFJBLTYyNTQpCiAqIHJlc3RyaWN0IG1heF9udW1fdG9rZW5zIHRvIDE1MzYgKENBU1NBTkRSQS02MjY3KQogKiBOb2RldG9vbCBnZXRzIGRlZmF1bHQgSk1YIHBvcnQgZnJvbSBjYXNzYW5kcmEtZW52LnNoIChDQVNTQU5EUkEtNjI3MykKICogbWFrZSBjYWxjdWxhdGVQZW5kaW5nUmFuZ2VzIGFzeW5jaHJvbm91cyAoQ0FTU0FORFJBLTYyNDQpCiAqIFJlbW92ZSBibG9ja2luZyBmbHVzaGVzIGmsfsPmAAABT948slwAEEFTU0FORFJBLTcyMDgpCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXAAAAEAICogZXhpdCBDUUxTSCB3aXRoIGVycm9yIHN0YXR1cyBjb2RlIGlmIHNjcmlwdCBmYWlscyAoQ0FTU0FORFJBLTYzNDQpCiAqIEZpeCBidWcgd2l0aCBzb21lIElOIHF1ZXJpZXMgbWlzc2lnIHJlc3VsdHMgKENBU1NBTkRSQS03MTA1KQogKiBGaXggYXZhaWxhYmlsaXR5IHZhbGlkYXRpb24gZm9yIExPQ0FMX09ORSBDTCAoQ0FTU0FORFJBLTczMTkpCiAqIEhpbnQgc3RyZWFtaW5nIGNhbiBjYXVzZSBkZWNvbW1pc3Npb24gdG8gZmFpbCAoQ0FTU0FORDf1wBsAAAFP3jyyXAAQbmVkIHdyaXRlciBkdXJpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtcAAAAQBGaXggbGVha2luZyB2YWxpZGF0b3IgRkggaW4gU3RyZWFtV3JpdGVyIChDQVNTQU5EUkEtNjgzMikKICogRml4IHNhdmluZyB0cmlnZ2VycyB0byBzY2hlbWEgKENBU1NBTkRSQS02Nzg5KQogKiBGaXggdHJpZ2dlciBtdXRhdGlvbnMgd2hlbiBiYXNlIG11dGF0aW9uIGxpc3QgaXMgaW1tdXRhYmxlIChDQVNTQU5EUkEtNjc5MCkKICogRml4IGFjY291bnRpbmcgaW4gRmlsZUNhY2hlU2VydmljZSB0byBhbGxvdyByZS11c2luZyBSQVIgKENBU1NBTkRSzmlV7QAAAU/ePLJcABBVdGlsLmNsb25lIHRocmVhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1wAAABAGFsbG9jYXRpb24gZm9yIG1lbXRhYmxlcyAoQ0FTU0FORFJBLTIyNTIsIDMxNjIsIDMxNjMsIDMxNjgpCiAqIERlZmF1bHQgUlIgY2hhbmNlIHRvIDAuMSAoQ0FTU0FORFJBLTMxNjkpCiAqIEFkZCBSb3dMZXZlbCBzdXBwb3J0IHRvIHNlY29uZGFyeSBpbmRleCBBUEkgKENBU1NBTkRSQS0zMTQ3KQogKiBNYWtlIFNlcmlhbGl6aW5nQ2FjaGVQcm92aWRlciB0aGUgZGVmYXVsdCBpZiBKTkEgaXMgYXZhaWxhYmxlIChDQVNTQU5EUkEtMzE4MykKICogRmnjO/OXAAABT948slwAECBsb2cgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXAAAAEAaCAoQ0FTU0FORFJBLTk4MSkKICogZml4IHN0cmVhbWluZyBmb3Iga2V5c3BhY2VzIHdpdGggaHlwaGVucyBpbiB0aGVpciBuYW1lIChDQVNTQU5EUkEtMTM3NykKICogZml4IGVycm9ycyBpbiBoYXJkLWNvZGVkIGJsb29tIGZpbHRlciBvcHRLUGVyQnVja2V0IGJ5IGNvbXB1dGluZyBpdAogICBhbGdvcml0aG1pY2FsbHkgKENBU1NBTkRSQS0xMjIwCiAqIHJlbW92ZSBtZXNzYWdlIGRlc2VyaWFsaXphdGlvbiBzdGFnZSwgYW5kIHVuY2FwIHJlYWQvd0NEdjIADmazwr2ZeQAAAU/ePLJcABBvbHMgcGFja2FnZSAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1zAAABADc5KQogKiBNYWtlIGRpc3J1cHRvcl90aHJpZnRfc2VydmVyIGludm9jYXRpb24gcG9vbCBjb25maWd1cmFibGUgKENBU1NBTkRSQS03NTk0KQogKiBNYWtlIHJlcGFpciBuby1vcCB3aGVuIFJGPTEgKENBU1NBTkRSQS03ODY0KQoKCjIuMC4xMAogKiBEb24ndCBzZW5kIHNjaGVtYSBjaGFuZ2UgcmVzcG9uc2VzIGFuZCBldmVudHMgZm9yIG5vLW9wIERETAogICBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNzYwMCkKICogKEhhZG9vcCkgZml4IGNsdXN0ZXJdUvSRAAABT948slwAEFNBTkRSQS04MzYwKQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXMAAAEAZmlndXJhYmxlIChDQVNTQU5EUkEtNTE1NSkKCgoxLjIuMAogKiBEaXNhbGxvdyBjb3VudGVycyBpbiBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTUwODIpCiAqIGNxbHNoOiBhZGQgdW5pdCB0ZXN0cyAoQ0FTU0FORFJBLTM5MjApCiAqIGZpeCBkZWZhdWx0IGJsb29tX2ZpbHRlcl9mcF9jaGFuY2UgZm9yIExldmVsZWRDb21wYWN0aW9uU3RyYXRlZ3kgKENBU1NBTkRSQS01MDkzKQpNZXJnZWQgZnJvbSAxLjE6CiAqIGFkZCB2YWxpZGF0aW9uIGZvciBnZcdS3FgAAAFP3jyyXAAQaXRlIGtleSBjYWNoZSBzYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtcwAAAQAgcGVuZGluZyBhbmQgY29tcGxldGVkIGNvdW50cyAoQ0FTU0FORFJBLTE1MzMpCiAqIGZpeCByYWNlIGNvbmRpdGlvbiBwcm9jZXNzaW5nIHJlcGFpciByZXNwb25zZXMgKENBU1NBTkRSQS0xNTExKQogKiBtYWtlIHJlcGFpciBibG9ja2luZyAoQ0FTU0FORFJBLTE1MTEpCiAqIGNyZWF0ZSBFbmRwb2ludFNuaXRjaEluZm8gYW5kIE1CZWFuIHRvIGV4cG9zZSByYWNrIGFuZCBEQyAoQ0FTU0FORFJBLTE0OTEpCiAqIGFkZGVkIG9wdGlvbiB0byBjb250lXeeXAAAAU/ePLJcABApCiAqIFJlc3BlY3QgMS4wAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1zAAABADAwMykKICogUmVtb3ZlIFJGIGZyb20gbm9kZXRvb2wgcmluZyBvdXRwdXQgKENBU1NBTkRSQS02Mjg5KQogKiBGaXggYXR0ZW1wdGluZyB0byBmbHVzaCBlbXB0eSByb3dzIChDQVNTQU5EUkEtNjM3NCkKICogRml4IHBvdGVudGlhbCBvdXQgb2YgYm91bmRzIGV4Y2VwdGlvbiB3aGVuIHBhZ2luZyAoQ0FTU0FORFJBLTYzMzMpCk1lcmdlZCBmcm9tIDEuMjoKICogT3B0aW1pemUgRkQgcGhpIGNhbGN1bGF0aW9uIChDQVNTQU5EUkEtNjM4NikKICogSW074FRnAAABT948slwAECBtdXRhdGlvbnMgaW5zdGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXMAAAEAcGFjdGlvbl90aHJlc2hvbGQgdGhyb3VnaCBjYXNzYW5kcmEtY2xpCiAgIChDQVNTQU5EUkEtODEwMikKICogRG9uJ3QgaW5jbHVkZSB0bXAgZmlsZXMgd2hlbiBkb2luZyBvZmZsaW5lIHJlbGV2ZWwgKENBU1NBTkRSQS05MDg4KQogKiBVc2UgdGhlIHByb3BlciBDQVMgV3JpdGVUeXBlIHdoZW4gZmluaXNoaW5nIGEgcHJldmlvdXMgcm91bmQgZHVyaW5nIFBheG9zCiAgIHByZXBhcmF0aW9uIChDQVNTQU5EUkEtODY3MikKICogQXZvaWQgcmFjZSBpbtipjqUAAAFP3jyyXAAQcHRpb24KICAgKENBU1NBTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtcwAAAQBwb3J0aW5nL2xvZ2dpbmcgb24gYm90aCBzZXJ2ZXIgYW5kIGNsaWVudAogKiBSZWR1Y2VkIG1lbW9yeSBmb290cHJpbnQgaW4gZGVmYXVsdCBjb25maWd1cmF0aW9uCiAqIENvbWJpbmVkIGJsb2NraW5nIGFuZCBub24tYmxvY2tpbmcgdmVyc2lvbnMgb2YgaW5zZXJ0IEFQSXMKICogQWRkZWQgRmx1c2hQZXJpb2RJbk1pbnV0ZXMgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXIgdG8gZm9yY2UKICAgZmx1c2hpbmcgb2YgaW5mcmVxdWVudGx5LXVwZGF0ZWQg4i2LZAAAAU/ePLJcABBuRGVmIHN1cHBvcnQgdG8gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1zAAABAEEtNDQyMCkKICogY2hhbmdlIG5hbm9UaW1lKCkgdG8gY3VycmVudFRpbWVJbk1pbGxpcygpIGluIHNjaGVtYSByZWxhdGVkIGNvZGUgKENBU1NBTkRSQS00NDMyKQogKiBhZGQgYSB0b2tlbiBnZW5lcmF0aW9uIHRvb2wgKENBU1NBTkRSQS0zNzA5KQogKiBGaXggTENTIGJ1ZyB3aXRoIHNzdGFibGUgY29udGFpbmluZyBvbmx5IDEgcm93IChDQVNTQU5EUkEtNDQxMSkKICogZml4ICJDYW4ndCBNb2RpZnkgSW5kZXggTmFtZSIgcHJvYmxlbSBvbiBDRiC4N4i0AAABT948slwAECBwb3RlbnRpYWwgaW5jcmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXMAAAEAZXQgU1NUYWJsZSBjb21wYWN0aW9uIGxldmVsIGZvciBMQ1MgKENBU1NBTkRSQS01MjcxKQogKiBBbGxvdyBjdXN0b20gY29uZmlndXJhdGlvbiBsb2FkZXIgKENBU1NBTkRSQS01MDQ1KQogKiBSZW1vdmUgbWVtb3J5IGVtZXJnZW5jeSBwcmVzc3VyZSB2YWx2ZSBsb2dpYyAoQ0FTU0FORFJBLTM1MzQpCiAqIFJlZHVjZSByZXF1ZXN0IGxhdGVuY3kgd2l0aCBlYWdlciByZXRyeSAoQ0FTU0FORFJBLTQ3MDUpCiAqIGNxbHNoOiBSZW1vdmUgQVNTVU1FIE77RgAAAAFP3jyyXAAQZSBjb21wYWN0aW9uLWxlZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtcwAAAQByZWNhdGluZyBiYXRjaF9pbnNlcnQgKENBU1NBTkRSQS0zMzYpCiAqIHJlbW92ZSBnZXRfa2V5X3JhbmdlIFRocmlmdCBBUEksIGRlcHJlY2F0ZWQgaW4gMC41IChDQVNTQU5EUkEtNzEwKQogKiBhZGQgb3B0aW9uYWwgbG9naW4oKSBUaHJpZnQgY2FsbCBmb3IgYXV0aGVudGljYXRpb24gKENBU1NBTkRSQS01NDcpCiAqIHN1cHBvcnQgZmF0IGNsaWVudHMgdXNpbmcgZ29zc2lwZXIgYW5kIFN0b3JhZ2VQcm94eSB0byBwZXJmb3JtCiAgIHJlcGxpY2F0QGJmDgAAAU/ePLJcABBhLmJhdCAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1zAAABAG5nIGJvb3RzdHJhcCAoQ0FTU0FORFJBLTE3MzkpCiAqIGZpeCB3cmFwcGluZy1yYW5nZSBxdWVyaWVzIG9uIG5vbi1taW5pbXVtIHRva2VuIChDQVNTQU5EUkEtMTcwMCkKICogYWRkIG5vZGV0b29sIGNmaGlzdG9ncmFtIChDQVNTQU5EUkEtMTY5OCkKICogbGltaXQgcmVwYWlyZWQgcmFuZ2VzIHRvIHdoYXQgdGhlIG5vZGVzIGhhdmUgaW4gY29tbW9uIChDQVNTQU5EUkEtMTY3NCkKICogaW5kZXggc2NhbiB0cmVhdHMgbWlzc2luZyBjb2x1bW5zIGE+PMqRAAABT948slwAEGl0aCBudWxsIHN1cGVyY28AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXMAAAEAbGltaXQgKENBU1NBTkRSQS00OTE4KQogKiBDb3JyZWN0bHkgaGFuZGxlIHByZXBhcmVkIG9wZXJhdGlvbiBvbiBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTQ5NDUpCiAqIEZpeCBDUUwzIExJTUlUIChDQVNTQU5EUkEtNDg3NykKICogRml4IFN0cmVzcyBmb3IgQ1FMMyAoQ0FTU0FORFJBLTQ5NzkpCiAqIFJlbW92ZSBjYXNzYW5kcmEgc3BlY2lmaWMgZXhjZXB0aW9ucyBmcm9tIEpNWCBpbnRlcmZhY2UgKENBU1NBTkRSQS00ODkzKQogKiAoQ1FMMykgRsKDz/MAAAFP3jyyXAAQc2FuZHJhLXN0cmVzcyByZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtcwAAAQAKICogQWRkIFNTVGFibGVEZWxldGluZ05vdGlmaWNhdGlvbiB0byBEYXRhVHJhY2tlciAoQ0FTU0FORFJBLTYwMTApCiAqIEZpeCBzbmFwc2hvdHMgaW4gdXNlIGdldCBkZWxldGVkIGR1cmluZyBzbmFwc2hvdCByZXBhaXIgKENBU1NBTkRSQS02MDExKQogKiBNb3ZlIGhpbnRzIGFuZCBleGNlcHRpb24gY291bnQgdG8gby5hLmMubWV0cmljcyAoQ0FTU0FORFJBLTYwMTcpCiAqIEZpeCBtZW1vcnkgbGVhayBpbiBzbmFwc2hvdCByZXBhaXIgKENBU1NBaOc7/wAAAU/ePLJcABBpdGggY29tcG9zaXRlIHN0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1zAAABAHJpbmcga2V5cyBpbiBPUFAgKENBU1NBTkRSQS01NzkzKQogKiBub2RldG9vbCBoaXN0b3J5IGxvZ2dpbmcgKENBU1NBTkRSQS01ODIzKQogKiAoSGFkb29wKSBmaXggc3VwcG9ydCBmb3IgVGhyaWZ0IHRhYmxlcyBpbiBDcWxQYWdpbmdSZWNvcmRSZWFkZXIgCiAgIChDQVNTQU5EUkEtNTc1MikKICogYWRkICJhbGwgdGltZSBibG9ja2VkIiB0byBTdGF0dXNMb2dnZXIgb3V0cHV0IChDQVNTQU5EUkEtNTgyNSkKICogRnV0dXJlLXByb29mIGludGVyLW0j7fgcAAABT948slwAEHQgc2NoZW1hIHB1bGwgb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXMAAAEAQVNTQU5EUkEtMTI4NSkKICogc3VwcG9ydCBmb3IgSGFkb29wIFN0cmVhbWluZyBbbm9uLWp2bSBtYXAvcmVkdWNlIHZpYSBzdGRpbi9vdXRdCiAgIChDQVNTQU5EUkEtMTM2OCkKICogTW92ZSBwZXJzaXN0ZW50IHNzdGFibGUgc3RhdHMgZnJvbSB0aGUgc3lzdGVtIHRhYmxlIHRvIGFuIHNzdGFibGUgY29tcG9uZW50CiAgIChDQVNTQU5EUkEtMTQzMCkKICogcmVtb3ZlIGZhaWxlZCBib290c3RyYXAgYXR0ZW1wdCBmcm9tIHBlbmRpbmcgcmFuZ2VzIGGWyesAAAFP3jyyXAAQdGlnZXRfY291bnQgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtcwAAAQBGaXggaGFuZGxpbmcgb2YgUmVqZWN0ZWRFeGVjdXRpb24gaW4gc3luYyBUaHJpZnQgc2VydmVyIChDQVNTQU5EUkEtNjc4OCkKICogTG9nIG1vcmUgaW5mb3JtYXRpb24gd2hlbiBleGNlZWRpbmcgdG9tYnN0b25lX3dhcm5fdGhyZXNob2xkIChDQVNTQU5EUkEtNjg2NSkKICogRml4IHRydW5jYXRlIHRvIG5vdCBhYm9ydCBkdWUgdG8gdW5yZWFjaGFibGUgZmF0IGNsaWVudHMgKENBU1NBTkRSQS02ODY0KQogKiBGaXggc2NoZW1hIGNvbmN1cnJlbmN5K63lVQAOexCp93x5AAABT948slwAEE1ldGFkYXRhIHRvd2FyZHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXYAAAEAIChDQVNTQU5EUkEtNjEyOSkKICogQWRkIGNvbmZpZ3VyYWJsZSBtZXRyaWNzIHJlcG9ydGluZyAoQ0FTU0FORFJBLTQ0MzApCiAqIGRyb3AgcXVlcmllcyBleGNlZWRpbmcgYSBjb25maWd1cmFibGUgbnVtYmVyIG9mIHRvbWJzdG9uZXMgKENBU1NBTkRSQS02MTE3KQogKiBUcmFjayBhbmQgcGVyc2lzdCBzc3RhYmxlIHJlYWQgYWN0aXZpdHkgKENBU1NBTkRSQS01NTE1KQogKiBGaXhlcyBmb3Igc3BlY3VsYXRpdmUgcmV0cnkgKENBU1NBTkRSQS01OddngRUAAAFP3jyyXAAQZGluZyBUcnVuY2F0ZSBjbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtdgAAAQAgYSBzaW5nbGUKICAgcGFydGl0aW9uIChDQVNTQU5EUkEtODIwMykKICogRG8gbW9yZSBhZ2dyZXNzaXZlIGVudGlyZS1zc3RhYmxlIFRUTCBleHBpcnkgY2hlY2tzIChDQVNTQU5EUkEtODI0MykKICogQWRkIG1vcmUgbG9nIGluZm8gaWYgcmVhZE1ldGVyIGlzIG51bGwgKENBU1NBTkRSQS04MjM4KQogKiBhZGQgY2hlY2sgb2YgdGhlIHN5c3RlbSB3YWxsIGNsb2NrIHRpbWUgYXQgc3RhcnR1cCAoQ0FTU0FORFJBLTgzMDUpCiAqIFN1cHBvcnQgZm9yJkvHSwAAAU/ePLJcABBsYXNzVW5sb2FkaW5nRW5hAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC12AAABAEFORFJBLTY2OTApCiAqIEFkZCBvcHRpb24gdG8gdXNlIHJvdyBjYWNoZSB3aXRoIGEgZ2l2ZW4gYW1vdW50IG9mIHJvd3MgKENBU1NBTkRSQS01MzU3KQogKiBBdm9pZCByZXBhaXJpbmcgYWxyZWFkeSByZXBhaXJlZCBkYXRhIChDQVNTQU5EUkEtNTM1MSkKICogUmVqZWN0IGNvdW50ZXIgdXBkYXRlcyB3aXRoIFVTSU5HIFRUTC9USU1FU1RBTVAgKENBU1NBTkRSQS02NjQ5KQogKiBSZXBsYWNlIGluZGV4X2ludGVydmFsIHdpdGggbWluL21heF9pbmRpjtCyAAABT948slwAEG4gbG9jYWwgcmFuZ2Ugc2MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXYAAAEAKENBU1NBTkRSQS04NTM1KQogKiBBbGxvdyBpbnZhbGlkYXRpbmcgcGVybWlzc2lvbnMgYW5kIGNhY2hlIHRpbWUgKENBU1NBTkRSQS04NzIyKQogKiBMb2cgd2FybmluZyB3aGVuIHF1ZXJpZXMgdGhhdCB3aWxsIHJlcXVpcmUgQUxMT1cgRklMVEVSSU5HIGluIENhc3NhbmRyYSAzLjAKICAgYXJlIGV4ZWN1dGVkIChDQVNTQU5EUkEtODQxOCkKICogRml4IGNhc3NhbmRyYS1zdHJlc3Mgc28gaXQgcmVzcGVjdHMgdGhlIENMIHBhc3NlZCBpbiB1c2VyIPbQHUMAAAFP3jyyXAAQb3dzIGZvciBsb3ctY2FyZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtdgAAAQBwb3J0YW50IHNlcnZpY2VzIHN1Y2ggYXMgbWRhZG0gaW4KICAgZGViaWFuIHBhY2thZ2luZyAoQ0FTU0FORFJBLTI0ODEpCgoKMC44LjAtYmV0YTIKICogZml4IE5QRSBjb21wYWN0aW5nIGluZGV4IENGcyAoQ0FTU0FORFJBLTI1MjgpCiAqIFJlbW92ZSBjaGVja2luZyBhbGwgY29sdW1uIGZhbWlsaWVzIG9uIHN0YXJ0dXAgZm9yIGNvbXBhY3Rpb24gY2FuZGlkYXRlcyAKICAgKENBU1NBTkRSQS0yNDQ0KQogKiB2YWxpZGF0ZSBDUUwgY3JlYXRlIGtlBzNykwAAAU/ePLJcABBibGUgdG9tYnN0b25lIGNvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC12AAABAERSQS04ODIpCiAqIFJlbW92ZSBvYnNvbGV0ZSBDb250cm9sUG9ydCBjb2RlIGZyb20gRGF0YWJhc2VEZXNjcmlwdG9yIChDQVNTQU5EUkEtODg2KQogKiBtb3ZlIHNraXBCeXRlcyBzaWRlIGVmZmVjdCBvdXQgb2YgYXNzZXJ0IChDQVNTQU5EUkEtODk5KQogKiBhZGQgImRvdWJsZSBnZXRMb2FkIiB0byBTdG9yYWdlU2VydmljZU1CZWFuIChDQVNTQU5EUkEtODk4KQogKiB0cmFjayByb3cgc3RhdHMgcGVyIENGIGF0IGNvbXBhY3Rpb24gdGltZSAoQ0Fh8yuKAAABT948slwAEG1wdXRhdGlvbiAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXYAAAEAb3ZlZCBDTEkgZXhjZXB0aW9ucyAoQ0FTU0FORFJBLTMzMTIpCiAqIEZpeCBoYW5kbGluZyBvZiB0b21ic3RvbmUgYnkgU1NUYWJsZUV4cG9ydC9JbXBvcnQgKENBU1NBTkRSQS0zMzU3KQogKiBPbmx5IGNvdW50IGNvbXBhY3Rpb24gYXMgYWN0aXZlIChmb3IgdGhyb3R0bGluZykgd2hlbiB0aGV5IGhhdmUKICAgc3VjY2Vzc2Z1bGx5IGFjcXVpcmVkIHRoZSBjb21wYWN0aW9uIGxvY2sgKENBU1NBTkRSQS0zMzQ0KQogKiBEaXNwbGF5IENMSSB2ZXJzadFWXhgAAAFP3jyyXAAQZXMgaW4gU2VyaWFsaXppbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtdgAAAQA3MjIpCiAqIGZpeCB0b21ic3RvbmluZyBvZiBzdXBlcmNvbHVtbnMgaW4gcmFuZ2UgcXVlcmllcyAoQ0FTU0FORFJBLTE3MzQpCiAqIGNsZWFyIGVuZHBvaW50IGNhY2hlIGFmdGVyIHVwZGF0aW5nIGtleXNwYWNlIG1ldGFkYXRhIChDQVNTQU5EUkEtMTc0MSkKICogZml4IHdyYXBwaW5nLXJhbmdlIHF1ZXJpZXMgb24gbm9uLW1pbmltdW0gdG9rZW4gKENBU1NBTkRSQS0xNzAwKQogKiB0cnVuY2F0ZSBpbmNsdWRlcyBzZWNvbmRhcnkgaW5kZXhlcyAoFnLhIQAAAU/ePLJcABBSQS00MzQ5KQogKiBmaXggAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC12AAABACB3aXRoIE9SREVSIEJZIChDQVNTQU5EUkEtODI4NikKICogRGlzYWJsZSBTU0x2MyBmb3IgUE9PRExFIChDQVNTQU5EUkEtODI2NSkKICogRml4IG1pbGxpc2Vjb25kIHRpbWVzdGFtcHMgaW4gVHJhY2luZyAoQ0FTU0FORFJBLTgyOTcpCiAqIEluY2x1ZGUga2V5c3BhY2UgbmFtZSBpbiBlcnJvciBtZXNzYWdlIHdoZW4gdGhlcmUgYXJlIGluc3VmZmljaWVudAogICBsaXZlIG5vZGVzIHRvIHN0cmVhbSBmcm9tIChDQVNTQU5EUkEtODIyMSkKICogQXbgYJfiAAABT948slwAEGUgaW5zdGVhZCBvZiBpbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXYAAAEAdW1uRmFtaWx5U3RvcmVNQmVhbiAoQ0FTU0FORFJBLTc2MSkKICogc2VuZCBIYW5kb2ZmIGhpbnRzIHRvIG5hdHVyYWwgbG9jYXRpb25zIHRvIHJlZHVjZSBsb2FkIG9uCiAgIHJlbWFpbmluZyBub2RlcyBpbiBhIGZhaWx1cmUgc2NlbmFyaW8gKENBU1NBTkRSQS04MjIpCiAqIEFkZCBSb3dXYXJuaW5nVGhyZXNob2xkSW5NQiBjb25maWd1cmF0aW9uIG9wdGlvbiB0byB3YXJuIGJlZm9yZSB2ZXJ5IAogICBsYXJnZSByb3dzIGdldCBiaWcgZW5vdWdoICxG790AAAFP3jyyXAAQb24gbGluZXMgKENBU1NBTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtdgAAAQBoZSBzYW1lIGNsdXN0ZXIgKENBU1NBTkRSQS0zMDIzKQogKiBtYWtlIHJlcGFpciByZXBvcnQgZmFpbHVyZSB3aGVuIGEgbm9kZSBwYXJ0aWNpcGF0aW5nIGRpZXMgKGluc3RlYWQgb2YKICAgaGFuZ2luZyBmb3JldmVyKSAoQ0FTU0FORFJBLTI0MzMpCiAqIGZpeCBoYW5kbGluZyBvZiB0aGUgZW1wdHkgYnl0ZSBidWZmZXIgYnkgUmV2ZXJzZWRUeXBlIChDQVNTQU5EUkEtMzExMSkKICogQWRkIHZhbGlkYXRpb24gdGhhdCBLZXlzcGFjZSBuYW1lcyBhCoLFrAAAAU/ePLJcABBkb2Vzbid0IGV4aXN0IGFuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC12AAABACBjcmVhdGUvZHJvcCBrcy90YWJsZS9pbmRleCBzdGF0ZW1lbnRzIGluIENRTDMgKENBU1NBTkRSQS0yNzM3KQogKiBtb3JlIHByZS10YWJsZSBjcmVhdGlvbiBwcm9wZXJ0eSB2YWxpZGF0aW9uIChDQVNTQU5EUkEtNTY5MykKICogUmVkZXNpZ24gcmVwYWlyIG1lc3NhZ2VzIChDQVNTQU5EUkEtNTQyNikKICogRml4IEFMVEVSIFJFTkFNRSBwb3N0LTUxMjUgKENBU1NBTkRSQS01NzAyKQogKiBEaXNhbGxvdyByZW5hbWluZyBhIDJuZGFyeSBpbmRleGViozaIAAABT948slwAEEFTU0FORFJBLTEzMTEpCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXYAAAEACiAqIGxvZyBKYXZhIGNsYXNzcGF0aCBvbiBzdGFydHVwIChDQVNTQU5EUkEtMjg5NSkKICoga2VlcCBnb3NzaXBwZWQgdmVyc2lvbiBpbiBzeW5jIHdpdGggYWN0dWFsIG9uIG1pZ3JhdGlvbiBjb29yZGluYXRvciAKICAgKENBU1NBTkRSQS0yOTQ2KQogKiB1c2UgbGF6eSBpbml0aWFsaXphdGlvbiBpbnN0ZWFkIG9mIGNsYXNzIGluaXRpYWxpemF0aW9uIGluIE5vZGVJZAogICAoQ0FTU0FORFJBLTI5NTMpCiAqIGNoZWNrIGNvbHVtbiBmYW1pbHkgduBF/tAAAAFP3jyyXAAQbGkgKENBU1NBTkRSQS01NgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtdgAAAQB0b2tlbiAoQ0FTU0FORFJBLTgzNzMpCiAqIEZpeCB2YWxpZGF0aW9uIG9mIGluZGV4ZXMgaW4gQ09NUEFDVCB0YWJsZXMgKENBU1NBTkRSQS04MTU2KQogKiBBdm9pZCBTdGFja092ZXJmbG93RXJyb3Igd2hlbiBhIGxhcmdlIGxpc3Qgb2YgSU4gdmFsdWVzCiAgIGlzIHVzZWQgZm9yIGEgY2x1c3RlcmluZyBjb2x1bW4gKENBU1NBTkRSQS04NDEwKQogKiBGaXggTlBFIHdoZW4gd3JpdGV0aW1lKCkgb3IgdHRsKCkgY2FsbHMgYXJlIHdyYXBwZWQgYnkKzZNVcwAAAU/ePLJcABAoQ0FTU0FORFJBLTI2OTIpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC12AAABAGluZyBvbiBzdGFydHVwIChDQVNTQU5EUkEtMzE5NikKICogKEhhZG9vcCkgbWFrZSBDRklGIHRyeSBycGNfYWRkcmVzcyBvciBmYWxsYmFjayB0byBsaXN0ZW5fYWRkcmVzcwogICAoQ0FTU0FORFJBLTMyMTQpCiAqIChIYWRvb3ApIGFjY2VwdCBjb21tYSBkZWxpbWl0ZWQgbGlzdHMgb2YgaW5pdGlhbCB0aHJpZnQgY29ubmVjdGlvbnMKICAgKENBU1NBTkRSQS0zMTg1KQogKiBDb2x1bW5GYW1pbHkgbWluX2NvbXBhY3Rpb25fdGhyZXNob2xkIHNob3VF0kj5AA6PbRlE4jcAAAFP3jyyXAAQRmFpbHVyZSBkZXRlY3RvcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgteAAAAQBpcHQgKENBU1NBTkRSQS0yNDg3KQogKiBmaXggZHluYW1pYyBzbml0Y2ggcmFjZSBpbiBhZGRpbmcgbGF0ZW5jaWVzIChDQVNTQU5EUkEtMjYxOCkKICogU3RhcnQvc3RvcCBjYXNzYW5kcmEgYWZ0ZXIgbW9yZSBpbXBvcnRhbnQgc2VydmljZXMgc3VjaCBhcyBtZGFkbSBpbgogICBkZWJpYW4gcGFja2FnaW5nIChDQVNTQU5EUkEtMjQ4MSkKCgowLjguMC1iZXRhMgogKiBmaXggTlBFIGNvbXBhY3RpbmcgaW5kZXggQ0ZzIChDQVNTQU5EUkEtMjUyOCkKb+oWFgAAAU/ePLJcABBuZ2xlIGNvbXBhY3Rpb24KAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC14AAABAGVzdGFtcHMgKENBU1NBTkRSQS01NTQwKQogKiBmaXggY29tcGFjdGlvbiB0aHJvdHRsaW5nIGJ1cnN0eS1uZXNzIChDQVNTQU5EUkEtNDMxNikKICogcmVkdWNlIG1lbW9yeSBjb25zdW1wdGlvbiBvZiBJbmRleFN1bW1hcnkgKENBU1NBTkRSQS01NTA2KQogKiByZW1vdmUgcGVyLXJvdyBjb2x1bW4gbmFtZSBibG9vbSBmaWx0ZXJzIChDQVNTQU5EUkEtNTQ5MikKICogSW5jbHVkZSBmYXRhbCBlcnJvcnMgaW4gdHJhY2UgZXZlbnRzIChDQVNTQU5EUkETTUbfAAABT948slwAEGlndXJhYmxlIGF0IHJ1bnQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXgAAAEAZXN0aW1hdGUKICAgKENBU1NBTkRSQS01NDk3KQogKiBGaXggdHJ5aW5nIHRvIGxvYWQgZGVsZXRlZCByb3cgaW50byByb3cgY2FjaGUgb24gc3RhcnR1cCAoQ0FTU0FORFJBLTQ0NjMpCiAqIGZzeW5jIGxldmVsZWQgbWFuaWZlc3QgdG8gYXZvaWQgY29ycnVwdGlvbiAoQ0FTU0FORFJBLTU1MzUpCiAqIEZpeCBCb3VuZCBpbnRlcnNlY3Rpb24gY29tcHV0YXRpb24gKENBU1NBTkRSQS01NTUxKQogKiBzc3RhYmxlc2NydWIgbm93IHJlc3BlY3RzIG1heGG+mYIAAAFP3jyyXAAQRFJBLTYwMDQpCiAqIEZpeAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgteAAAAQAwOSkKICogcmVkZXNpZ24gS0VZUyBpbmRleGVzIHRvIGF2b2lkIHJlYWQtYmVmb3JlLXdyaXRlIChDQVNTQU5EUkEtMjg5NykKICogZGVidWcgdHJhY2luZyAoQ0FTU0FORFJBLTExMjMpCiAqIHBhcmFsbGVsaXplIHJvdyBjYWNoZSBsb2FkaW5nIChDQVNTQU5EUkEtNDI4MikKICogTWFrZSBjb21wYWN0aW9uLCBmbHVzaCBKQk9ELWF3YXJlIChDQVNTQU5EUkEtNDI5MikKICogcnVuIGxvY2FsIHJhbmdlIHNjYW5zIG9uIHRoZSByZWFkIHN0YWdlIChDphi+eAAAAU/ePLJcABAxNTMpCiAqIHVwZGF0ZSBjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC14AAABACAqIEZpeCBGRCBsZWFrIG9uIHNsaWNlIHJlYWQgcGF0aCAoQ0FTU0FORFJBLTYyNzUpCiAqIENhbmNlbCByZWFkIG1ldGVyIHRhc2sgd2hlbiBjbG9zaW5nIFNTVFIgKENBU1NBTkRSQS02MzU4KQogKiBmcmVlIG9mZi1oZWFwIEluZGV4U3VtbWFyeSBkdXJpbmcgYnVsayAoQ0FTU0FORFJBLTYzNTkpCiAqIFJlY292ZXIgZnJvbSBJT0V4Y2VwdGlvbiBpbiBhY2NlcHQoKSB0aHJlYWQgKENBU1NBTkRSQS02MzQ5KQogKiBJbXByb3ZlIEdvc3NpcCB0b2yOmro9AAABT948slwAECBSZXN0cmljdCBXaW5kb3cAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXgAAAEAIGNvbXBhY3Rpb24gc3RyYXRlZ3kgaW4gY2xpIHVzaW5nIGNyZWF0ZSBjb2x1bW4gCiAgIGZhbWlseSBjb21tYW5kIChDQVNTQU5EUkEtMjc3OCkKICogY2xlYW4gdXAgdG1wIGZpbGVzIGFmdGVyIGZhaWxlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtMjQ2OCkKICogcmVzdHJpY3QgcmVwYWlyIHN0cmVhbWluZyB0byBzcGVjaWZpYyBjb2x1bW5mYW1pbGllcyAoQ0FTU0FORFJBLTIyODApCiAqIGRvbid0IGJvdGhlciBwZXJzaXN0aW5nIGNvbHVtbnMgcz/ovu0AAAFP3jyyXAAQIFB1cmdlIGludGVybmFsIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgteAAAAQAgCiAgIChDQVNTQU5EUkEtNDQ5NCkKTWVyZ2VkIGZyb20gMS4wOgogKiAoSGFkb29wKSBmaXggc2V0dGluZyBrZXkgbGVuZ3RoIGZvciBvbGQtc3R5bGUgbWFwcmVkIGFwaSAoQ0FTU0FORFJBLTQ1MzQpCiAqIChIYWRvb3ApIGZpeCBpdGVyYXRpbmcgdGhyb3VnaCBhIHJlc3VsdHNldCBjb25zaXN0aW5nIGVudGlyZWx5CiAgIG9mIHRvbWJzdG9uZWQgcm93cyAoQ0FTU0FORFJBLTQ0NjYpCgoKMS4xLjMKICogKGNxbHNoKSBhZGQgQ09QWSBUTyAoQ0FT18NW2AAAAU/ePLJcABBudCBzY2hlbWEgcHVsbCBOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC14AAABAFNTQU5EUkEtNjYyOCkKICogTGV0IHNjcnViIG9wdGlvbmFsbHkgc2tpcCBicm9rZW4gY291bnRlciBwYXJ0aXRpb25zIChDQVNTQU5EUkEtNTkzMCkKTWVyZ2VkIGZyb20gMS4yOgogKiBmc3luYyBjb21wcmVzc2lvbiBtZXRhZGF0YSAoQ0FTU0FORFJBLTY1MzEpCiAqIFZhbGlkYXRlIENGIGV4aXN0ZW5jZSBvbiBleGVjdXRpb24gZm9yIHByZXBhcmVkIHN0YXRlbWVudCAoQ0FTU0FORFJBLTY1MzUpCiAqIEFkZCBhYmlsaXR5IHRvIHRocm90dGxlIGKxhHLrAAABT948slwAEENBUyB1cGRhdGVzIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXgAAAEAbWFgIG91dHB1dCAoQ0FTU0FORFJBLTMzMDQpCiAqIE5vZGV0b29sIG5vIGxvbmdlciBsZWFrcyB0aHJlYWRzIGFuZCBjbG9zZXMgSk1YIGNvbm5lY3Rpb25zIChDQVNTQU5EUkEtMzMwOSkKICogZml4IHRydW5jYXRlIGFsbG93aW5nIGRhdGEgdG8gYmUgcmVwbGF5ZWQgcG9zdC1yZXN0YXJ0IChDQVNTQU5EUkEtMzI5NykKICogTW92ZSBTaW1wbGVBdXRob3JpdHkgYW5kIFNpbXBsZUF1dGhlbnRpY2F0b3IgdG8gZXhhbXBsZXMgKENBU1NBTkRSQS0yOcoOcOsAAAFP3jyyXAAQbGwiIGNvbW1hbmQgdG8gYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgteAAAAQBNQmVhbiAoQ0FTU0FORFJBLTc2MSkKICogc2VuZCBIYW5kb2ZmIGhpbnRzIHRvIG5hdHVyYWwgbG9jYXRpb25zIHRvIHJlZHVjZSBsb2FkIG9uCiAgIHJlbWFpbmluZyBub2RlcyBpbiBhIGZhaWx1cmUgc2NlbmFyaW8gKENBU1NBTkRSQS04MjIpCiAqIEFkZCBSb3dXYXJuaW5nVGhyZXNob2xkSW5NQiBjb25maWd1cmF0aW9uIG9wdGlvbiB0byB3YXJuIGJlZm9yZSB2ZXJ5IAogICBsYXJnZSByb3dzIGdldCBiaWcgZW5vdWdoIHRvIHRocmVhdGVuIG5vpJUuXgAAAU/ePLJcABBlcyBhbmQgcnVuIHRocm91AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC14AAABAGxseQogICBwcm9wYWdhdGVkIChDQVNTQU5EUkEtOTEzNikKICogT3ZlcmxvYWQgU2Vjb25kYXJ5SW5kZXgjaW5kZXhlcyB0byBhY2NlcHQgdGhlIGNvbHVtbiBkZWZpbml0aW9uIChDQVNTQU5EUkEtOTMxNCkKICogKGNxbHNoKSBBZGQgU0VSSUFMIGFuZCBMT0NBTF9TRVJJQUwgY29uc2lzdGVuY3kgbGV2ZWxzIChDQVNTQU5EUkEtODA1MSkKICogRml4IGluZGV4IHNlbGVjdGlvbiBkdXJpbmcgcmVidWlsZCB3aXRoIGNlcnRhaW4gdGFibGUgbGF5b3XOv7MmAAABT948slwAEGluZyBISCBwYWdpbmcgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXgAAAEAZXRzIGFyZSBub3QgcHJvcGVybHkgYnVmZmVyZWQgKENBU1NBTkRSQS0zMjYxKQogKiBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCBmb3IgYnl0ZWJ1ZmZlcnV0aWwgY29tcGFyZSBmdW5jdGlvbiAoQ0FTU0FORFJBLTMyODYpCiAqIGFkZCBzeXN0ZW0udmVyc2lvbnMgQ29sdW1uRmFtaWx5IChDQVNTQU5EUkEtMzE0MCkKICogcmVkdWNlIG5ldHdvcmsgY29waWVzIChDQVNTQU5EUkEtMzMzMywgMzM3MykKICogbGltaXQgbm9kZXRvb2wgdG8gMzJNQiBvZmxCJdQAAAFP3jyyXAAQcmFja2VyCiAgIGhhcyBubwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgteAAAAQBvcmthcm91bmQgSlZNIE5QRSBvbiBKTVggYmluZCBmYWlsdXJlIChDQVNTQU5EUkEtNzI1NCkKICogRml4IHJhY2UgaW4gRmlsZUNhY2hlU2VydmljZSBSZW1vdmFsTGlzdGVuZXIgKENBU1NBTkRSQS03Mjc4KQogKiBGaXggaW5jb25zaXN0ZW50IHVzZSBvZiBjb25zaXN0ZW5jeUZvckNvbW1pdCB0aGF0IGFsbG93ZWQgTE9DQUxfUVVPUlVNCiAgIG9wZXJhdGlvbnMgdG8gaW5jb3JyZWN0IGJlY29tZSBmdWxsIFFVT1JVTSAoQ0FTU0FORFJBLTczNDUpiGtgxgAAAU/ePLJcABBMT0NBTF9RVU9SVU0gZm9yAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC14AAABACAoQ0FTU0FORFJBLTg0NTkpCiAqIFJlbW92ZSB0bXBsaW5rIGZpbGVzIGZvciBvZmZsaW5lIGNvbXBhY3Rpb25zIChDQVNTQU5EUkEtODMyMSkKICogUmVkdWNlIG1heEhpbnRzSW5Qcm9ncmVzcyAoQ0FTU0FORFJBLTg0MTUpCiAqIEJUcmVlIHVwZGF0ZXMgbWF5IGNhbGwgcHJvdmlkZWQgdXBkYXRlIGZ1bmN0aW9uIHR3aWNlIChDQVNTQU5EUkEtODAxOCkKICogUmVsZWFzZSBzc3RhYmxlIHJlZmVyZW5jZXMgYWZ0ZXIgYW50aWNvbXBhY3Rpb24gKEMDdaRDAAABT948slwAEEEtMTgzNykKICogUmVhZFIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXgAAAEAcG9ydCBOYU4gYW5kIEluZmluaXR5IGFzIGZsb2F0IGxpdGVyYWxzIChDQVNTQU5EUkEtNjAwMykKICogUmVtb3ZlIFJGIGZyb20gbm9kZXRvb2wgcmluZyBvdXRwdXQgKENBU1NBTkRSQS02Mjg5KQogKiBGaXggYXR0ZW1wdGluZyB0byBmbHVzaCBlbXB0eSByb3dzIChDQVNTQU5EUkEtNjM3NCkKICogRml4IHBvdGVudGlhbCBvdXQgb2YgYm91bmRzIGV4Y2VwdGlvbiB3aGVuIHBhZ2luZyAoQ0FTU0FORFJBLTYzMzMpCk1lcmdlZCBmcm9tIDEuMjoKIJAwmSsADqPKRyDLDwAAAU/ePLJcABBTU0FORFJBLTQzOCkKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC16AAABACBmb3IgbmV3IHNjaGVtYSB0byBwcm9wYWdhdGUgKENBU1NBTkRSQS0yMDQ0KQogKiBmaXggcG90ZW50aWFsIG92ZXJmbG93IGluIG5vZGV0b29sIGNmc3RhdHMgKENBU1NBTkRSQS0yMDU3KQogKiBhZGQgSlZNIHNodXRkb3duaG9vayB0byBzeW5jIGNvbW1pdGxvZyAoQ0FTU0FORFJBLTE5MTkpCiAqIGFsbG93IG5vZGVzIHRvIGJlIHVwIHdpdGhvdXQgYmVpbmcgcGFydCBvZiAgbm9ybWFsIHRyYWZmaWMgKENBU1NBTkRSQS0xOTUxKQogKiBmaXggQ0wRLmCjAAABT948slwAEGVsIHBhcmFtZXRlciB0byAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXoAAAEAQS0zMjgyKQogKiBpZ25vcmUgYW55IENGIGlkcyBzZW50IGJ5IGNsaWVudCBmb3IgYWRkaW5nIENGL0tTIChDQVNTQU5EUkEtMzI4OCkKICogcmVtb3ZlIG9ic29sZXRlIGhpbnRzIG9uIGZpcnN0IHN0YXJ0dXAgKENBU1NBTkRSQS0zMjkxKQogKiB1c2UgY29ycmVjdCBJU29ydGVkQ29sdW1ucyBmb3IgdGltZS1vcHRpbWl6ZWQgcmVhZHMgKENBU1NBTkRSQS0zMjg5KQogKiBFdmljdCBnb3NzaXAgc3RhdGUgaW1tZWRpYXRlbHkgd2hlbiBhIHRva2VuINvH3IUAAAFP3jyyXAAQQ0FTU0FORFJBLTc1MzkpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtegAAAQBEZWJpYW4gcGFja2FnZSAoQ0FTU0FORFJBLTEyMDIpCiAqIHVzZSBtbG9ja2FsbCB2aWEgSk5BLCBpZiBwcmVzZW50LCB0byBwcmV2ZW50IExpbnV4IGZyb20gc3dhcHBpbmcKICAgb3V0IHBhcnRzIG9mIHRoZSBKVk0gKENBU1NBTkRSQS0xMjE0KQoKCjAuNi40CiAqIGF2b2lkIHF1ZXVpbmcgbXVsdGlwbGUgaGludCBkZWxpdmVyaWVzIGZvciB0aGUgc2FtZSBlbmRwb2ludAogICAoQ0FTU0FORFJBLTEyMjkpCiAqIGJldHRlciBwZXJmb3JtYW5jZSBmfpLLHgAAAU/ePLJcABBpbmcgb2YgdG9tYnN0b25lAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC16AAABACAqIEZpeCBwb3NzaWJsZSBvdmVyZmxvdyB3aGlsZSBzb3J0aW5nIENMIHNlZ21lbnRzIGZvciByZXBsYXkgKENBU1NBTkRSQS03OTkyKQogKiBJbmNyZWFzZSBub2RldG9vbCBYbXggKENBU1NBTkRSQS03OTU2KQogKiBBcmNoaXZlIGFueSBjb21taXRsb2cgc2VnbWVudHMgcHJlc2VudCBhdCBzdGFydHVwIChDQVNTQU5EUkEtNjkwNCkKICogQ3JjQ2hlY2tDaGFuY2Ugc2hvdWxkIGFkanVzdCBiYXNlZCBvbiBsaXZlIENGTWV0YWRhdGEgbm90IAogICANycXoAAABT948slwAEGNoZW1hLW13dCAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXoAAAEAICoga2VlcCB0aGUgcmVwbGljYSBzZXQgY29uc3RhbnQgdGhyb3VnaG91dCB0aGUgcmVhZCByZXBhaXIgcHJvY2VzcwogICAoQ0FTU0FORFJBLTkzNykKICogYWxsb3cgcXVlcnlpbmcgZ2V0QWxsUmFuZ2VzIHdpdGggZW1wdHkgdG9rZW4gbGlzdCAoQ0FTU0FORFJBLTkzMykKICogZml4IGNvbW1hbmQgbGluZSBhcmd1bWVudHMgaW52ZXJzaW9uIGluIGNsdXN0ZXJ0b29sIChDQVNTQU5EUkEtOTQyKQogKiBmaXggcmFjZSBjb25kaXRpb24gdGhhdCBjbz3nVMQAAAFP3jyyXAAQU0FORFJBLTMxNzgpCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtegAAAQBuZCBDb2x1bW5GYW1pbHkgbmFtZXMgaW4gbnVtZXJpYwogICBhbmQgc3RyaW5nIHJlcHJlc2VudGF0aW9ucyBpbiBDTEkgKENBU1NBTkRSQS0zMDc1KQogKiBmaXggY29ybmVyIGNhc2VzIGluIFJhbmdlLmRpZmZlcmVuY2VUb0ZldGNoIChDQVNTQU5EUkEtMzA4NCkKICogZml4IGlwIGFkZHJlc3MgU3RyaW5nIHJlcHJlc2VudGF0aW9uIGluIHRoZSByaW5nIGNhY2hlIChDQVNTQU5EUkEtMzA0NCkKICogZml4IHJpbmcgY2FjaGUgY29tcGF0aWJpbGl0rlrh4gAAAU/ePLJcABBSQS0xMzE3KQogKiBmaXggAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC16AAABAGN0ZWQgb24gc3RhcnR1cCAoQ0FTU0FORFJBLTg1MTIpCiAqIFByb3Blcmx5IGNhbGN1bGF0ZSBleHBlY3RlZCB3cml0ZSBzaXplIGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtODUzMikKICogSW52YWxpZGF0ZSBhZmZlY3RlZCBwcmVwYXJlZCBzdGF0ZW1lbnRzIHdoZW4gYSB0YWJsZSdzIGNvbHVtbnMKICAgYXJlIGFsdGVyZWQgKENBU1NBTkRSQS03OTEwKQogKiBTdHJlc3MgLSB1c2VyIGRlZmluZWQgd3JpdGVzIHNob3VsZCBwb3B1bGF0ZSD+qhP9AAABT948slwAEEEtMzY1NSkKICogRml4IGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXoAAAEAQ0FTU0FORFJBLTUzNzYpCiAqIENvcHkgcmVzdWx0U2V0IG9uIGNvdW50IHF1ZXJ5IHRvIGF2b2lkIENvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb24gCiAgIChDQVNTQU5EUkEtNTM4MikKICogQ29ycmVjdGx5IHR5cGVjaGVjayBpbiBDUUwzIGV2ZW4gd2l0aCBSZXZlcnNlZFR5cGUgKENBU1NBTkRSQS01Mzg2KQogKiBGaXggc3RyZWFtaW5nIGNvbXByZXNzZWQgZmlsZXMgd2hlbiB1c2luZyBlbmNyeXB0aW9uIChDQVNTQU5EUkEtNTM5MSkKIGrVtLcAAAFP3jyyXAAQZyB0byBzcGVjaWZpYyBjbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtegAAAQB0cHV0Rm9ybWF0CiAgIChDQVNTQU5EUkEtMTc3NCkKICogaW1wcm92ZW1lbnRzIHRvIERlYmlhbiBpbml0IHNjcmlwdCAoQ0FTU0FORFJBLTE3NzIpCiAqIHVzZSBsb2NhbCBjbGFzc2xvYWRlciB0byBjaGVjayBmb3IgdmVyc2lvbi5wcm9wZXJ0aWVzIChDQVNTQU5EUkEtMTc3OCkKICogVmFsaWRhdGUgdGhhdCBjb2x1bW4gbmFtZXMgaW4gY29sdW1uX21ldGFkYXRhIGFyZSB2YWxpZCBmb3IgdGhlCiAgIGRlZmluZWQgY29tcGFyYXRvciwgYW5kIGRl/XPvVgAAAU/ePLJcABB0cyBDRiBjb21wYXJhdG9yAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC16AAABACB0aGUgY29tbWl0bG9nCiAgIGdldHMgYmVoaW5kIHRlbXBvcmFyaWx5IChDQVNTQU5EUkEtMTk5MSkKICogZW5hYmxlIGNhY2hpbmcgb24gaW5kZXggQ0ZzIGJhc2VkIG9uIGRhdGEgQ0YgY2FjaGUgc2V0dGluZyAoQ0FTU0FORFJBLTQxOTcpCiAqIHdhcm4gb24gaW52YWxpZCByZXBsaWNhdGlvbiBzdHJhdGVneSBjcmVhdGlvbiBvcHRpb25zIChDQVNTQU5EUkEtNDA0NikKICogcmVtb3ZlIFtGcmVlYWJsZV1NZW1vcnkgZmluYWxpemVycyAoQ0FTU0GWDNDdAAABT948slwAECByZWFkaW5nIHN1YmNvbHUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXoAAAEAbGVTdHJhdGVneSAoQ0FTU0FORFJBLTY1NDUpCiAqIEF2b2lkIFN0YWNrT3ZlcmZsb3cgd2hlbiB1c2luZyBsYXJnZSBJTiBxdWVyaWVzIChDQVNTQU5EUkEtNjU2NykKICogTm9kZXRvb2wgdXBncmFkZXNzdGFibGVzIGluY2x1ZGVzIHNlY29uZGFyeSBpbmRleGVzIChDQVNTQU5EUkEtNjU5OCkKICogUGFnaW5hdGUgYmF0Y2hsb2cgcmVwbGF5IChDQVNTQU5EUkEtNjU2OSkKICogc2tpcCBibG9ja2luZyBvbiBzdHJlYW1pbmcgZHVyaW5nIGRyYWluIICl0DYAAAFP3jyyXAAQaXggYnJva2VuIHBhZ2luZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtegAAAQAKICAgKENBU1NBTkRSQS02OTYpCiAqIGtlZXAgdHJhY2sgb2YgYm9vdHN0cmFwcGluZyBzb3VyY2VzIGJ5IHRhYmxlIHNvIHRoYXQgYm9vdHN0cmFwcGluZyBkb2Vzbid0IAogICBnaXZlIHRoZSBpbmRpY2F0aW9uIG9mIGZpbmlzaGluZyBlYXJseSAoQ0FTU0FORFJBLTY3MykKCgowLjUuMCBSQzMKICogY29tbWl0IHRoZSBjb3JyZWN0IHZlcnNpb24gb2YgdGhlIHBhdGNoIGZvciBDQVNTQU5EUkEtNjYzCgoKMC41LjAgUkMyICh1bnJlbGVhc2VkKQog73W+/gAAAU/ePLJcABBzYXZlZCBlbmRwb2ludHMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC16AAABADcyKQogKiBBdm9pZCBOUEUgb24gYWJvYXJ0ZWQgc3RyZWFtLW91dCBzZXNzaW9ucyAoQ0FTU0FORFJBLTM5MDQpCiAqIEJ1bGtSZWNvcmRXcml0ZXIgdGhyb3dzIE5QRSBmb3IgY291bnRlciBjb2x1bW5zIChDQVNTQU5EUkEtMzkwNikKICogU3VwcG9ydCBjb21wcmVzc2lvbiB1c2luZyBCdWxrV3JpdGVyIChDQVNTQU5EUkEtMzkwNykKCgoxLjAuOAogKiBmaXggcmFjZSBiZXR3ZWVuIGNsZWFudXAgYW5kIGZsdXNoIG9uIHNlY29uZGFyeSBpbmRleCDRs1jQAAABT948slwAEEEtNDYyNCkKICogRml4IHAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILXoAAAEAMDc2KQogKiBhZGRlZCBDb2xsZWN0aW9ucy5zaHVmZmxlKHNwbGl0cykgYmVmb3JlIHJldHVybmluZyB0aGUgc3BsaXRzIGluIAogICBDb2x1bW5GYW1pbHlJbnB1dEZvcm1hdCAoQ0FTU0FORFJBLTEwOTYpCiAqIGRvIG5vdCByZWNhbGN1bGF0ZSBjYWNoZSBjYXBhY2l0eSBwb3N0LWNvbXBhY3Rpb24gaWYgaXQncyBiZWVuIG1hbnVhbGx5IAogICBtb2RpZmllZCAoQ0FTU0FORFJBLTEwNzkpCiAqIGJldHRlciBkZWZhdWx0cyBmb3IgZmx1c2ggc29ydNZ8h0UAAAFP3jyyXAAQIDEuMjoKICogT3B0aW1pegAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtegAAAQBlcyBkdXJpbmcgaW5jIHJlcGFpciAoQ0FTU0FORFJBLTgyNjcpCiAqIERvbid0IGFsbG93IHN0YXJ0aW5nIG11bHRpcGxlIGluYyByZXBhaXJzIG9uIHRoZSBzYW1lIHNzdGFibGVzIChDQVNTQU5EUkEtODMxNikKICogSW52YWxpZGF0ZSBwcmVwYXJlZCBCQVRDSCBzdGF0ZW1lbnRzIHdoZW4gcmVsYXRlZCB0YWJsZXMKICAgb3Iga2V5c3BhY2VzIGFyZSBkcm9wcGVkIChDQVNTQU5EUkEtODY1MikKICogRml4IG1pc3NpbmcgcmVzdWx0cyBpbiBzZWNvHp7HZwAOuCc2o5bqAAABT948slwAEGluaXNoZWQgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILX0AAAEAIHNraXBwaW5nIHJhbmdlIHRvbWJzdG9uZXMgd2l0aCByZXZlcnNlIHF1ZXJpZXMgKENBU1NBTkRSQS01NzEyKQogKiBFeHBpcmUgZW50cmllcyBvdXQgb2YgVGhyaWZ0U2Vzc2lvbk1hbmFnZXIgKENBU1NBTkRSQS01NzE5KQogKiBEb24ndCBrZWVwIGFuY2VzdG9yIGluZm9ybWF0aW9uIGluIG1lbW9yeSAoQ0FTU0FORFJBLTUzNDIpCiAqIEV4cG9zZSBuYXRpdmUgcHJvdG9jb2wgc2VydmVyIHN0YXR1cyBpbiBub2RldG9vbCBpbmZvIChDQVNTQU5EUnEi5ToAAAFP3jyyXAAQZXZlbnQgdXNlcnMgZnJvbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtfQAAAQAgc21hcnQgVGhyaWZ0IGNsaWVudCB0byBwaWNrIHNlcnZlcnMgY29ycmVjdGx5IChDQVNTQU5EUkEtNjg0OCkKICogQWRkIGxvZ2dpbmcgbGV2ZWxzIChtaW5pbWFsLCBub3JtYWwgb3IgdmVyYm9zZSkgdG8gc3RyZXNzIHRvb2wgKENBU1NBTkRSQS02ODQ5KQogKiBGaXggcmFjZSBjb25kaXRpb24gaW4gQmF0Y2ggQ0xFIChDQVNTQU5EUkEtNjg2MCkKICogSW1wcm92ZSBjbGVhbnVwL3NjcnViL3VwZ3JhZGVzc3RhYmxlcyBmYWlsdXJlIGhhbmRsaW5nN9iJ4AAAAU/ePLJcABBvZGV0b29sIHJpbmcgPGtlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC19AAABACA+PSAyIChDQVNTQU5EUkEtMzM0MikKICogKFBpZykgYWRkIDAuOCsgdHlwZXMgYW5kIGtleSB2YWxpZGF0aW9uIHR5cGUgaW4gc2NoZW1hIChDQVNTQU5EUkEtMzI4MCkKICogRml4IGNvbXBsZXRlbHkgcmVtb3ZpbmcgY29sdW1uIG1ldGFkYXRhIHVzaW5nIENMSSAoQ0FTU0FORFJBLTMxMjYpCiAqIENMSSBgZGVzY3JpYmUgY2x1c3RlcjtgIG91dHB1dCBzaG91bGQgYmUgb24gc2VwYXJhdGUgbGluZXMgZm9yIHNlcGFyYXRlIHZlcnNpb25zCiAgIChxTCXEAAABT948slwAEHRlbHkgYWZ0ZXIgaGFuZG8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILX0AAAEAaWMgY29sdW1ucyB3aXRoCiAgIHF1ZXJ5IHBhZ2luZyAoQ0FTU0FORFJBLTgxMDgpCiAqIEZpeCBOUEUgb24gbnVsbCBuZXN0ZWQgVURUIGluc2lkZSBhIHNldCAoQ0FTU0FORFJBLTgxMDUpCiAqIEZpeCBleGNlcHRpb24gd2hlbiBxdWVyeWluZyBzZWNvbmRhcnkgaW5kZXggb24gc2V0IGl0ZW1zIG9yIG1hcCBrZXlzCiAgIHdoZW4gc29tZSBjbHVzdGVyaW5nIGNvbHVtbnMgYXJlIHNwZWNpZmllZCAoQ0FTU0FORFJBLTgwNzMpCiAqIFNlbmQgcHJvcGaJKJAAAAFP3jyyXAAQbmRpbmcgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtfQAAAQB0aCBsYXJnZSBjb2x1bW5zIAogICAoQ0FTU0FORFJBLTI2NTIpCiAqIG1hcmsgQlJBRiBidWZmZXIgaW52YWxpZCBwb3N0LWZsdXNoIHNvIHdlIGRvbid0IHJlLWZsdXNoIHBhcnRpYWwKICAgYnVmZmVycyBhZ2FpbiwgZXNwZWNpYWxseSBvbiBDTCB3cml0ZXMgKENBU1NBTkRSQS0yNjYwKQogKiBhZGQgRFJPUCBJTkRFWCBzdXBwb3J0IHRvIENMSSAoQ0FTU0FORFJBLTI2MTYpCiAqIGRvbid0IHBlcmZvcm0gSEggdG8gY2xpZW50LW1vZGUgW3N0b3JhavbdWAAAAU/ePLJcABBlciBjb3VudGVyIHJlYWRzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC19AAABAHRpYWwgZGVhZGxvY2sgZHVyaW5nIGNvdW50ZXIgd3JpdGVzIChDQVNTQU5EUkEtNDU3OCkKICogRml4IGNxbCBlcnJvciB3aXRoIE9SREVSIEJZIHdoZW4gdXNpbmcgSU4gKENBU1NBTkRSQS00NjEyKQpNZXJnZWQgZnJvbSAxLjA6CiAqIGluY3JlYXNlIFhzcyB0byAxNjBrIHRvIGFjY29tb2RhdGUgbGF0ZXN0IDEuNiBKVk1zIChDQVNTQU5EUkEtNDYwMikKICogZml4IHRvU3RyaW5nIG9mIGhpbnQgZGVzdGluYXRpb24gdG9rZW5zIChDQVNTQU5EUkHX13cNAAABT948slwAEAogKiBTaW1wbGlmeSBhdXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILX0AAAEAbCBpbmZvIChDQVNTQU5EUkEtNTczNSkKICogRml4IHBhdGhldGljIHBlcmZvcm1hbmNlIG9mIHJhbmdlIHRvbWJzdG9uZXMgKENBU1NBTkRSQS01Njc3KQogKiBGaXggcXVlcnlpbmcgd2l0aCBhbiBlbXB0eSAoaW1wb3NzaWJsZSkgcmFuZ2UgKENBU1NBTkRSQS01NTczKQogKiBjcWxzaDogaGFuZGxlIENVU1RPTSAyaSBpbiBERVNDUklCRSBvdXRwdXQgKENBU1NBTkRSQS01NzYwKQogKiBGaXggbWlub3IgYnVnIGluIFJhbmdlLmludGVyc2VjdHMoQkCUvqEAAAFP3jyyXAAQQS0zNzMzKQoKCjEuMC42CgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtfQAAAQBvZiBwYXJ0aXRpb24gd2hlbiBtYW55IG5vZGVzIHJlc3RhcnQgYXQgb25jZQogICBpbiBjbHVzdGVycyB3aXRoIG11bHRpcGxlIHNlZWRzIChDQVNTQU5EUkEtMTUwKQogKiBmaXggTlBFIGluIGdldF9yYW5nZV9zbGljZSB3aGVuIG5vIGRhdGEgaXMgZm91bmQgKENBU1NBTkRSQS01NzgpCiAqIGZpeCBwb3RlbnRpYWwgTlBFIGluIGhpbnRlZCBoYW5kb2ZmIChDQVNTQU5EUkEtNTg1KQogKiBmaXggY2xlYW51cCBvZiBsb2NhbCAic3lzdGVtIiBrZXlzyY+VRwAAAU/ePLJcABBjZSwgZGVwcmVjYXRpbmcgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC19AAABAHRhYmxlLCB0YWtlIDIgKENBU1NBTkRSQS0yMTg5KQogKiB2YWxpZGF0ZSBjb21wcmVzc2lvbiBwYXJhbWV0ZXJzIG9uIGFkZC91cGRhdGUgb2YgdGhlIENvbHVtbkZhbWlseSAKICAgKENBU1NBTkRSQS0zNTczKQogKiBDaGVjayBmb3IgMC4wLjAuMCBpcyBpbmNvcnJlY3QgaW4gQ0ZJRiAoQ0FTU0FORFJBLTM1ODQpCiAqIEluY3JlYXNlIHZtLm1heF9tYXBfY291bnQgaW4gZGViaWFuIHBhY2thZ2luZyAoQ0FTU0FORFJBLTM1NjMpCiAqIGdvc3NpcGV71WQ/AAABT948slwAEG9yIGNvbXBhY3QgdGFibGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILX0AAAEAcnkgdXNhZ2UgKENBU1NBTkRSQS01NTU1KQogKiBTY2FsZSBoaW50ZWRfaGFuZG9mZl90aHJvdHRsZV9pbl9rYiB0byBjbHVzdGVyIHNpemUgKENBU1NBTkRSQS01MjcyKQogKiAoSGFkb29wKSBBZGQgQ1FMMyBpbnB1dC9vdXRwdXQgZm9ybWF0cyAoQ0FTU0FORFJBLTQ0MjEsIDU2MjIpCiAqIChIYWRvb3ApIEZpeCBJbnB1dEtleVJhbmdlIGluIENGSUYgKENBU1NBTkRSQS01NTM2KQogKiBGaXggZGVhbGluZyB3aXRoIHJpZGljdWxvdXNseSBsYXJnZeKbZOAAAAFP3jyyXAAQYSByZXBhaXIgZmFpbHMgKAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtfQAAAQBEUkEtMzg4NCkKICogQ0xJIGBsaXN0IDxDRj5gIHRvIGxpbWl0IG51bWJlciBvZiBjb2x1bW5zIGFuZCB0aGVpciBvcmRlciAoQ0FTU0FORFJBLTMwMTIpCiAqIGlnbm9yZSBkZXByZWNhdGVkIEtzRGVmL0NmRGVmL0NvbHVtbkRlZiBmaWVsZHMgaW4gbmF0aXZlIHNjaGVtYSAoQ0FTU0FORFJBLTM5NjMpCiAqIENMSSB0byByZXBvcnQgd2hlbiB1bnN1cHBvcnRlZCBjb2x1bW5fbWV0YWRhdGEgcGFpciB3YXMgZ2l2ZW4gKENBU1NBTkRSQS0zOTU5KQogdlj2WgAAAU/ePLJcABAqIChjcWxzaCkgRml4IERFAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC19AAABAEFORFJBLTM4NzUpCgoKMS4wLjcKICogZml4IHJlZ3Jlc3Npb24gaW4gSEggcGFnZSBzaXplIGNhbGN1bGF0aW9uIChDQVNTQU5EUkEtMzYyNCkKICogcmV0cnkgZmFpbGVkIHN0cmVhbSBvbiBJT0V4Y2VwdGlvbiAoQ0FTU0FORFJBLTM2ODYpCiAqIGFsbG93IGNvbmZpZ3VyaW5nIGJsb29tX2ZpbHRlcl9mcF9jaGFuY2UgKENBU1NBTkRSQS0zNDk3KQogKiBhdHRlbXB0IGhpbnQgZGVsaXZlcnkgZXZlcnkgdGVuIG1pbnV0ZXMsIG9yIHdoZW4gZmFpbHWA1fuVAAABT948slwAEEFTU0FORFJBLTc1MzgpCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILX0AAAEATkRSQS0xNTY2KQogKiBhbGxvdyBrZXlzcGFjZSBjcmVhdGlvbiB3aXRoIFJGID4gTiAoQ0FTU0FORFJBLTE0MjgpCiAqIGltcHJvdmUgY2xpIGVycm9yIGhhbmRsaW5nIChDQVNTQU5EUkEtMTU4MCkKICogYWRkIGNhY2hlIHNhdmUvbG9hZCBhYmlsaXR5IChDQVNTQU5EUkEtMTQxNywgMTYwNiwgMTY0NykKICogYWRkIFN0b3JhZ2VTZXJ2aWNlLmdldERyYWluUHJvZ3Jlc3MgKENBU1NBTkRSQS0xNTg4KQogKiBEaXNhbGxvdyBib290c3RyYXAgdG8gYbJQTDUAAAFP3jyyXAAQY29tcGFjdGVkUm93IChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtfQAAAQBTRSBzdGF0ZW1lbnQgKENBU1NBTkRSQS0zMzUwKQogKiAoSGFkb29wKSBza2lwIGVtcHR5IHJvd3Mgd2hlbiBzbGljaW5nIHRoZSBlbnRpcmUgcm93IChDQVNTQU5EUkEtMjg1NSkKICogRml4IGhhbmRsaW5nIG9mIHRvbWJzdG9uZSBieSBTU1RhYmxlRXhwb3J0L0ltcG9ydCAoQ0FTU0FORFJBLTMzNTcpCiAqIGZpeCBDb2x1bW5JbmRleGVyIHRvIHVzZSBsb25nIG9mZnNldHMgKENBU1NBTkRSQS0zMzU4KQogKiBJbXByb3ZlZCBDTEkgZXhjZXB0aW9u5U9QHQAAAU/ePLJcABBDQVNTQU5EUkEtMjU5NikKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC19AAABAEEtMTczMCkKICogZml4IGJvdGNoZWQgbWVyZ2Ugb2YgQ0FTU0FORFJBLTEzMTYKCgowLjcuMC1yYzEKICogZml4IGNvbXBhY3Rpb24gYW5kIGZsdXNoIHJhY2VzIHdpdGggc2NoZW1hIHVwZGF0ZXMgKENBU1NBTkRSQS0xNzE1KQogKiBhZGQgY2x1c3RlcnRvb2wsIGNvbmZpZy1jb252ZXJ0ZXIsIHNzdGFibGVrZXlzLCBhbmQgc2NoZW1hdG9vbCAKICAgV2luZG93cyAuYmF0IGZpbGVzIChDQVNTQU5EUkEtMTcyMykKICogcmVqZWN0IHJhbmdlIHF1ZXLV8EsEAA7MhEEuw7UAAAFP3jyyXAAQYW5nZXMgaW4gdjEgYW5kCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtfwAAAQAgcm93IHNpemUgYW5kIGNvbHVtbiBjb3VudCBzdGF0aXN0aWNzIChDQVNTQU5EUkEtMTE1NSkKICogYWRkIEludGVnZXJUeXBlIChDQVNTQU5EUkEtMTI4MikKICogcGFnZSB3aXRoaW4gYSBzaW5nbGUgcm93IGR1cmluZyBoaW50ZWQgaGFuZG9mZiAoQ0FTU0FORFJBLTEzMjcpCiAqIHB1c2ggRGF0YWNlbnRlclNoYXJkU3RyYXRlZ3kgY29uZmlndXJhdGlvbiBpbnRvIGtleXNwYWNlIGRlZmluaXRpb24sCiAgIGVsaW1pbmF0aW5nIGRhdGFjZW50ZXIuNYWbewAAAU/ePLJcABAgKENBU1NBTkRSQS00NjQ1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1/AAABACBJbmNsdWRlIHR5cGUgYXJndW1lbnRzIGluIFRocmlmdCBDUUxQcmVwYXJlZFJlc3VsdCAoQ0FTU0FORFJBLTUzMTEpCiAqIEZpeCBjb21wYWN0aW9uIG5vdCByZW1vdmluZyBjb2x1bW5zIHdoZW4gYmZfZnBfcmF0aW8gaXMgMSAoQ0FTU0FORFJBLTUxODIpCiAqIGNsaTogV2FybiBhYm91dCBtaXNzaW5nIENRTDMgdGFibGVzIGluIHNjaGVtYSBkZXNjcmlwdGlvbnMgKENBU1NBTkRSQS01MzA5KQogKiBSZS1lbmFibGUgdW5rbm93biBvcHRpb24gaW65AxZaAAABT948slwAEGRpc2FibGluZyBzbmFwc2gAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILX8AAAEAdGltZSBibG9ja2VkIiB0byBTdGF0dXNMb2dnZXIgb3V0cHV0IChDQVNTQU5EUkEtNTgyNSkKICogRnV0dXJlLXByb29mIGludGVyLW1ham9yLXZlcnNpb24gc2NoZW1hIG1pZ3JhdGlvbnMgKENBU1NBTkRSQS01ODQ1KQogKiAoSGFkb29wKSBhZGQgQ3FsUGFnaW5nUmVjb3JkUmVhZGVyIHN1cHBvcnQgZm9yIFJldmVyc2VkVHlwZSBpbiBUaHJpZnQgdGFibGUKICAgKENBU1NBTkRSQS01NzE4KQogKiBBZGQgLW5vLXNuYXBzaG90IG9wdGlvbiB0byBzY5T2TKcAAAFP3jyyXAAQNzgpCiAqIEZpeCBDb25jdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtfwAAAQAxKQogKiBHaXZlIHJlYWQgYWNjZXNzIHRvIHN5c3RlbS5zY2hlbWFfdXNlcnR5cGVzIHRvIGFsbCBhdXRoZW50aWNhdGVkIHVzZXJzCiAgIChDQVNTQU5EUkEtNzU3OCkKICogKGNxbHNoKSBGaXggY3Fsc2ggZGlzcGxheSB3aGVuIHplcm8gcm93cyBhcmUgcmV0dXJuZWQgKENBU1NBTkRSQS03NTgwKQogKiBHZXQgamF2YSB2ZXJzaW9uIGNvcnJlY3RseSB3aGVuIEpBVkFfVE9PTF9PUFRJT05TIGlzIHNldCAoQ0FTU0FORFJBLTc1NzIpCiAqIEZpeCBOVUXA6wAAAU/ePLJcABBycmVjdGx5IGlkZW50aWZ5AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1/AAABACBjb21wYWN0aW9uIG9mIHJlcGFpcmVkL3VucmVwYWlyZWQgc3N0YWJsZXMgKENBU1NBTkRSQS04MDA0KQogKiBNYWtlIGNhY2hlIHNlcmlhbGl6ZXJzIHBsdWdnYWJsZSAoQ0FTU0FORFJBLTgwOTYpCiAqIEZpeCBpc3N1ZXMgd2l0aCBDT05UQUlOUyAoS0VZKSBxdWVyaWVzIG9uIHNlY29uZGFyeSBpbmRleGVzCiAgIChDQVNTQU5EUkEtODE0NykKICogRml4IHJlYWQtcmF0ZSB0cmFja2luZyBvZiBzc3RhYmxlcyBmb3Igc29tZSBxdWVyaWVzIChDQVN+QQBWAAABT948slwAECAqIGZpeCBoaW50aW5nIGYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILX8AAAEAZyBvcmRlciAoQ0FTU0FORFJBLTc4MSkKIAoKMC41LjAgZmluYWwKICogYXZvaWQgYXR0ZW1wdGluZyB0byBkZWxldGUgdGVtcG9yYXJ5IGJvb3RzdHJhcCBmaWxlcyB0d2ljZSAoQ0FTU0FORFJBLTY4MSkKICogZml4IGJvZ3VzIE5hTiBpbiBub2RlcHJvYmUgY2ZzdGF0cyBvdXRwdXQgKENBU1NBTkRSQS02NDYpCiAqIHByb3ZpZGUgYSBwb2xpY3kgZm9yIGRlYWxpbmcgd2l0aCBzaW5nbGUgdGhyZWFkIGV4ZWN1dG9ycyB3LyBhIGZ1bGwgcXVldWUKIEV0uPYAAAFP3jyyXAAQNikKICogY2xvbmUgc3VwZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtfwAAAQA0NzA4KQoKCjEuMS41CiAqIGFkZCBTZWNvbmRhcnlJbmRleC5yZWxvYWQgQVBJIChDQVNTQU5EUkEtNDU4MSkKICogdXNlIG1pbGxpcyArIGF0b21pY2ludCBmb3IgY29tbWl0bG9nIHNlZ21lbnQgY3JlYXRpb24gaW5zdGVhZCBvZgogICBuYW5vdGltZSwgd2hpY2ggaGFzIGlzc3VlcyB1bmRlciBzb21lIGh5cGVydmlzb3JzIChDQVNTQU5EUkEtNDYwMSkKICogZml4IEZEIGxlYWsgaW4gc2xpY2UgcXVlcmllcyAoQ0FTU0FORFJBLTQ1NzEpCiAqIGF2krd3pQAAAU/ePLJcABBuIGxlZnRvdmVyIGNsZWFuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1/AAABADAyNykKICogSGFuZGxlIG92ZXJsYXBwaW5nIE11bHRpU2xpY2VzIChDQVNTQU5EUkEtNzI3OSkKICogRml4IERhdGFPdXRwdXRUZXN0IG9uIFdpbmRvd3MgKENBU1NBTkRSQS03MjY1KQogKiBFbWJlZGRlZCBzZXRzIGluIHVzZXIgZGVmaW5lZCBkYXRhLXR5cGVzIGFyZSBub3QgdXBkYXRpbmcgKENBU1NBTkRSQS03MjY3KQogKiBBZGQgdHVwbGUgdHlwZSB0byBDUUwvbmF0aXZlIHByb3RvY29sIChDQVNTQU5EUkEtNzI0OCkKICogRml4IENxbFBhZ2lXAuR1AAABT948slwAEENBU1NBTkRSQS04MjgxKQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILX8AAAEAb3IgcGVyZm9ybWluZyBKTVggbWFpbnRlbmFuY2UgYmVmb3JlCiAgIGpvaW5pbmcgdGhlIHJpbmcgKENBU1NBTkRSQS01MjYpCiAqIGxvZyBtaWdyYXRpb25zIGF0IElORk8gKENBU1NBTkRSQS0yMDI4KQogKiBhZGQgQ0xJIHZlcmJvc2Ugb3B0aW9uIGluIGZpbGUgbW9kZSAoQ0FTU0FORFJBLTIwMzApCiAqIGFkZCBzaW5nbGUtbGluZSAiLS0iIGNvbW1lbnRzIHRvIENMSSAoQ0FTU0FORFJBLTIwMzIpCiAqIG1lc3NhZ2Ugc2VyaWFsaXphdGlvbiB0ZSEYBAgAAAFP3jyyXAAQcyB0byBtaW4vbWF4X2NvbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtfwAAAQAxMCkKICogQWxsb3cgc3BlY2lmeWluZyBkYXRhY2VudGVycyB0byBwYXJ0aWNpcGF0ZSBpbiBhIHJlcGFpciAoQ0FTU0FORFJBLTYyMTgpCiAqIEZpeCBkaXZpZGUtYnktemVybyBpbiBQQ0kgKENBU1NBTkRSQS02NDAzKQogKiBGaXggc2V0dGluZyBsYXN0IGNvbXBhY3RlZCBrZXkgaW4gdGhlIHdyb25nIGxldmVsIGZvciBMQ1MgKENBU1NBTkRSQS02Mjg0KQogKiBBZGQgbWlsbGlzZWNvbmQgcHJlY2lzaW9uIGZvcm1hdHMgdG8gdGhlIHRpbWVzdGFtLwjlVwAAAU/ePLJcABBzIGZvciBhbnkgSU9FeGNlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1/AAABAChDQVNTQU5EUkEtODY5MykKICogKGNxbHNoKSBIYW5kbGUgdW5pY29kZSBCT00gYXQgc3RhcnQgb2YgZmlsZXMgKENBU1NBTkRSQS04NjM4KQogKiBTdG9wIGNvbXBhY3Rpb25zIGJlZm9yZSBleGl0aW5nIG9mZmxpbmUgdG9vbHMgKENBU1NBTkRSQS04NjIzKQogKiBVcGRhdGUgdG9vbHMvc3RyZXNzL1JFQURNRS50eHQgdG8gbWF0Y2ggY3VycmVudCBiZWhhdmlvdXIgKENBU1NBTkRSQS03OTMzKQogKiBGaXggc2NoZW1hIGZyb20gVGhyaWZ0IGNvbnY5GTggAAABT948slwAEHVtbWFyaWVzIG9uIHN0YXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILX8AAAEAd3MgZHVlIHRvIGxpYmVkaXQgZGV0ZWN0aW9uIChDQVNTQU5EUkEtNTgxMikKICogZml4IGJ1bGstbG9hZGluZyBjb21wcmVzc2VkIHNzdGFibGVzIChDQVNTQU5EUkEtNTgyMCkKICogKEhhZG9vcCkgZml4IHF1b3RpbmcgaW4gQ3FsUGFnaW5nUmVjb3JkUmVhZGVyIGFuZCBDcWxSZWNvcmRXcml0ZXIgCiAgIChDQVNTQU5EUkEtNTgyNCkKICogdXBkYXRlIGRlZmF1bHQgTENTIHNzdGFibGUgc2l6ZSB0byAxNjBNQiAoQ0FTU0FORFJBLTU3MjcpCiAqIICwz50AAAFP3jyyXAAQMTI1IChDQVNTQU5EUkEtNQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtfwAAAQBBbGxvdyBhbHRlciBrZXlzcGFjZSBvbiBzeXN0ZW1fdHJhY2VzIChDQVNTQU5EUkEtNjAxNikKICogRGlzYWxsb3cgZW1wdHkgY29sdW1uIG5hbWVzIGluIGNxbCAoQ0FTU0FORFJBLTYxMzYpCiAqIFVzZSBKYXZhNyBmaWxlLWhhbmRsaW5nIEFQSXMgYW5kIGZpeCBmaWxlIG1vdmluZyBvbiBXaW5kb3dzIChDQVNTQU5EUkEtNTM4MykKICogU2F2ZSBjb21wYWN0aW9uIGhpc3RvcnkgdG8gc3lzdGVtIGtleXNwYWNlIChDQVNTQU5EUkEtNTA3OCkKICogvtDpWQAAAU/ePLJcABBjaGVtYV90cmlnZ2VycyBDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC1/AAABAHMgKENBU1NBTkRSQS0xMDU2KQogKiBpbnN0YWxsIGpzb24yc3N0YWJsZSwgc3N0YWJsZTJqc29uLCBhbmQgc3N0YWJsZWtleXMgdG8gRGViaWFuIHBhY2thZ2UKICogU3RyZWFtaW5nU2VydmljZS5TdHJlYW1EZXN0aW5hdGlvbnMgd291bGRuJ3QgZW1wdHkgaXRzZWxmIGFmdGVyIHN0cmVhbWluZwogICBmaW5pc2hlZCAoQ0FTU0FORFJBLTEwNzYpCiAqIGFkZGVkIENvbGxlY3Rpb25zLnNodWZmbGUoc3BsaXRzKSBiZWZvcmUgcmV0dXJuaW5nIHRoZSC5XsrTAAABT948slwAECAoQ0FTU0FORFJBLTE2NjYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILX8AAAEAIG92ZXItcGFnaW5nIGR1cmluZyBnZXRfY291bnQgKENBU1NBTkRSQS0zNzk4KQogKiBBZGQgbmV3IGNvbW1hbmQgdG8gcmVidWlsZCBhIG5vZGUgd2l0aG91dCAocmVwYWlyKSBtZXJrbGUgdHJlZSBjYWxjdWxhdGlvbnMKICAgKENBU1NBTkRSQS0zNDgzLCAzOTIyKQogKiByZXNwZWN0IG5vdCBvbmx5IHJvdyBjYWNoZSBjYXBhY2l0eSBidXQgY2FjaGluZyBtb2RlIHdoZW4KICAgdHJ5aW5nIHRvIHJlYWQgZGF0YSAoQ0FTU0FORFJBLTM4MTIpCiAqILqMiJQADuDhRaKNFQAAAU/ePLJcABBKVk0gc3RhY2sgc2l6ZSB0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2CAAABAFNlcnZpY2UgdG8gcHJldmVudCBsb2FkIHNwaWtlcwogICAoQ0FTU0FORFJBLTIwNTgpCiAqIGZpeCBtYXRoIGluIFJhbmRvbVBhcnRpdGlvbmVyLmRlc2NyaWJlT3duZXJzaGlwIChDQVNTQU5EUkEtMjA3MSkKICogZml4IGRlbGV0aW9uIG9mIHNzdGFibGUgbm9uLWRhdGEgY29tcG9uZW50cyAoQ0FTU0FORFJBLTIwNTkpCiAqIGF2b2lkIGJsb2NraW5nIGdvc3NpcCB3aGlsZSBkZWxldGluZyBoYW5kb2ZmIGhpbnRzIChDQVNTQU5EUkEtMjA3MykKICpBvGtNAAABT948slwAEHBhaXIgLXNuYXBzaG90IG4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYIAAAEAIGNoZWNrIGluIENDLmNvbGxlY3RBbGxEYXRhIChDQVNTQU5EUkEtNDg4MykKICogQ2hhbmdlIHN0cmVhbSBzZXNzaW9uIElEIHRvIFVVSUQgdG8gYXZvaWQgY29sbGlzaW9uIGZyb20gc2FtZSBub2RlIChDQVNTQU5EUkEtNDgxMykKICogVXNlIFN0YXRzLmRiIHdoZW4gYnVsayBsb2FkaW5nIGlmIHByZXNlbnQgKENBU1NBTkRSQS00OTU3KQogKiBTa2lwIHJlcGFpciBvbiBzeXN0ZW1fdHJhY2UgYW5kIGtleXNwYWNlcyB3aXRoIFJGPTEgKENBU1NBTrki5RkAAAFP3jyyXAAQX251bV90b2tlbnMgdG8gMQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtggAAAQBVbnN1cHBvcnRlZE9wZXJhdGlvbkV4Y2VwdGlvbiBvbiBDQVMgdGltZW91dCAoQ0FTU0FORFJBLTY5MjMpCiAqIEltcHJvdmUgTWV0ZXJlZEZsdXNoZXIgaGFuZGxpbmcgb2YgTUYtdW5hZmZlY3RlZCBjb2x1bW4gZmFtaWxpZXMKICAgKENBU1NBTkRSQS02ODY3KQogKiBBZGQgQ3FsUmVjb3JkUmVhZGVyIHVzaW5nIG5hdGl2ZSBwYWdpbmF0aW9uIChDQVNTQU5EUkEtNjMxMSkKICogQWRkIFF1ZXJ5SGFuZGxlciBpbnRlcmZhY2UgKENBU1NBTkRSQS02WgmMvQAAAU/ePLJcABAyTVJTIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2CAAABAFNBTkRSQS00ODU1KQogKiBGaXggZXN0aW1hdGVkIHJvdyBjYWNoZSBlbnRyeSBzaXplIChDQVNTQU5EUkEtNDg2MCkKICogcmVzZXQgZ2V0UmFuZ2VTbGljZSBmaWx0ZXIgYWZ0ZXIgZmluaXNoaW5nIGEgcm93IGZvciBnZXRfcGFnZWRfc2xpY2UKICAgKENBU1NBTkRSQS00OTE5KQogKiBleHB1bmdlIHJvdyBjYWNoZSBwb3N0LXRydW5jYXRlIChDQVNTQU5EUkEtNDk0MCkKICogQWxsb3cgc3RhdGljIENGIGRlZmluaXRpb24gd2l0aCBjb21wYWN0IHNKmOmGAAABT948slwAEHBwb3J0CiAqIFNjYW4gYWwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYIAAAEAIG11bHRpY29yZSBzeXN0ZW1zIChDQVNTQU5EUkEtNDAxKQogKiBTcGxpdCB1cCBsb2NrcyB0byBpbXByb3ZlIHdyaXRlIGFuZCByZWFkIHRocm91Z2hwdXQgb24gbXVsdGljb3JlIHN5c3RlbXMKICAgKENBU1NBTkRSQS00NDQsIENBU1NBTkRSQS00MTQpCiAqIE1vcmUgZWZmaWNpZW50IHVzZSBvZiBtZW1vcnkgZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS00MzYpCiAqIGF1dG9ib290c3RyYXAgb3B0aW9uOiB3aGVuIGVuYWJsZWQsIGFsbCBub4HHBXQAAAFP3jyyXAAQQU5EUkEtMTc2MikKICogYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtggAAAQAgaW4gZGV0ZWN0aW5nIHZlcnNpb24gb24gYSBtaXhlZCAxLjEvMS4yIGNsdXN0ZXIKICAgKENBU1NBTkRSQS01NjkyKQogKiBGaXggc2tpcHBpbmcgcmFuZ2UgdG9tYnN0b25lcyB3aXRoIHJldmVyc2UgcXVlcmllcyAoQ0FTU0FORFJBLTU3MTIpCiAqIEV4cGlyZSBlbnRyaWVzIG91dCBvZiBUaHJpZnRTZXNzaW9uTWFuYWdlciAoQ0FTU0FOUkRBLTU3MTkpCiAqIERvbid0IGtlZXAgYW5jZXN0b3IgaW5mb3JtYXRpb24gaW4gbWVtb3J5IChDQVNTQU5E6vwGUAAAAU/ePLJcABBTQU5EUkEtNTAzMCkKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2CAAABAHRzSW5Qcm9ncmVzcyAoQ0FTU0FORFJBLTg0MTUpCiAqIEJUcmVlIHVwZGF0ZXMgbWF5IGNhbGwgcHJvdmlkZWQgdXBkYXRlIGZ1bmN0aW9uIHR3aWNlIChDQVNTQU5EUkEtODAxOCkKICogUmVsZWFzZSBzc3RhYmxlIHJlZmVyZW5jZXMgYWZ0ZXIgYW50aWNvbXBhY3Rpb24gKENBU1NBTkRSQS04Mzg2KQogKiBIYW5kbGUgYWJvcnQoKSBpbiBTU1RhYmxlUmV3cml0ZXIgcHJvcGVybHkgKENBU1NBTkRSQS04MzIwKQogKiBGaXggaGlnaCBzaXplIGNhbGNvk2FGAAABT948slwAEE9DQUxfUVVPUlVNIHRvIHcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYIAAAEAIGNoYW5jZXMgZm9yIGxvc2luZyBuZXcgU1NUYWJsZXMgZHVyaW5nIG5vZGV0b29sIHJlZnJlc2ggYW5kCiAgIENvbHVtbkZhbWlseVN0b3JlLmxvYWROZXdTU1RhYmxlcyAoQ0FTU0FORFJBLTY1MTQpCiAqIEFkZCBzdXBwb3J0IGZvciBERUxFVEUgLi4uIElGIEVYSVNUUyB0byBDUUwzIChDQVNTQU5EUkEtNTcwOCkKICogVXBkYXRlIGhhZG9vcF9jcWwzX3dvcmRfY291bnQgZXhhbXBsZSAoQ0FTU0FORFJBLTY3OTMpCiAqIEZpeCBoYW5kbGluZyBvZjd8wgMAAAFP3jyyXAAQU1NBTkRSQS04ODI5KQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtggAAAQBlYW5pbmdmdWwgd2FybmluZyB3aGVuIGEgbm9kZSByZWNlaXZlcyBhIG1lc3NhZ2UgZm9yIGEgcmVwYWlyIHNlc3Npb24KICAgdGhhdCBkb2Vzbid0IGV4aXN0IGFueW1vcmUgKENBU1NBTkRSQS0zMjU2KQogKiB0ZXN0IGZvciBOVU1BIHBvbGljeSBzdXBwb3J0IGFzIHdlbGwgYXMgbnVtYWN0bCBwcmVzZW5jZSAoQ0FTU0FORFJBLTMyNDUpCiAqIEZpeCBGRCBsZWFrIHdoZW4gaW50ZXJub2RlIGVuY3J5cHRpb24gaXMgZW5hYmxlZCAoQ0FTU0FORFJBO4hacgAAAU/ePLJcABAuMDoKICogc3VwcG9ydCBQAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2CAAABAG1taXRsb2cgc2l6ZSBjYXAgd2hlbiByZWN5Y2xpbmcgc2VnbWVudHMgYXQgc3RhcnR1cAogICAoQ0FTU0FORFJBLTQyMDEpCiAqIChIYWRvb3ApIGZpeCBzcGxpdCBnZW5lcmF0aW9uIHJlZ3Jlc3Npb24gKENBU1NBTkRSQS00MjU5KQogKiBpZ25vcmUgbWluL21heCBjb21wYWN0aW9ucyBzZXR0aW5ncyBpbiBMQ1MsIHdoaWxlIHByZXNlcnZpbmcKICAgYmVoYXZpb3IgdGhhdCBtaW49bWF4PTAgZGlzYWJsZXMgYXV0b2NvbXBhY3Rpb24gKENBU1NBTkT5yOJ0AAABT948slwAEEEtODU2MSkKICogUmVkdWMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYIAAAEAQU5EUkEtNDM3MikKICogKGNxbDMpIGFsbG93IHVwZGF0aW5nIGNvbHVtbl9hbGlhcyB0eXBlcyAoQ0FTU0FORFJBLTQwNDEpCiAqIChjcWwzKSBGaXggZGVsZXRpb24gYnVnIChDQVNTQU5EUkEtNDE5MykKICogRml4IGNvbXB1dGF0aW9uIG9mIG92ZXJsYXBwaW5nIHNzdGFibGUgZm9yIGxldmVsZWQgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTQzMjEpCiAqIEltcHJvdmUgc2NydWIgYW5kIGFsbG93IHRvIHJ1biBpdCBvZmZsaW5lIChDQVNTQU5EUkEtNHEWSMMAAAFP3jyyXAAQbWFsZm9ybWVkIEpNWCBPYgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtggAAAQBpY2UgcmFuZ2VzIGluY2x1ZGluZyB0b21ic3RvbmVkIHN1cGVyY29sdW1uIAogICB3aXRoIGxpdmUgc3ViY29sdW1uIChDQVNTQU5EUkEtMTU5MSkKICogcmVuYW1lIG8uYS5jLmludGVybmFsLkFudGllbnRyb3B5U3RhZ2UgLT4gQW50aUVudHJvcHlTdGFnZSwKICAgby5hLmMucmVxdWVzdC5SZXF1ZXN0X3Jlc3BvbnNlU3RhZ2UgLT4gUmVxdWVzdFJlc3BvbnNlU3RhZ2UsCiAgIG8uYS5jLmludGVybmFsLkludGVybmFsX3Jlc3BvbnNlU3RhZ2UgLT4gLDU4CgAAAU/ePLJcABB4IGNsYXVzZXMgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2CAAABAGl2ZW4gbm93IHJldHVybnMgemVybyBjb2x1bW5zCiAgICAgIGluc3RlYWQgb2YgYWxsIG9mIHRoZW0uICAoImFsbCIgY2FuIHJ1biB5b3VyIHNlcnZlciBvdXQgb2YgbWVtb3J5LgogICAgICB1c2UgYSByYW5nZS1iYXNlZCBzbGljZSB3aXRoIGEgaGlnaCBtYXggY29sdW1uIGNvdW50IGluc3RlYWQuKQogKiBSZW1vdmVkIHRoZSB3ZWIgaW50ZXJmYWNlLiBOb2RlIGluZm9ybWF0aW9uIGNhbiBub3cgYmUgb2J0YWluZWQgYnkgCiAgIHVzaW5nIHRoZSCKoNUJAAABT948slwAEFJBLTY1NjkpCiAqIHNraXAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYIAAAEAeS4KICogTW9yZSBKTVggc3RhdHMKICogUmVtb3ZlIG1hZ2ljIHZhbHVlcyBmcm9tIGludGVybmFscyAoZS5nLiBzcGVjaWFsIGtleSB0byBpbmRpY2F0ZQogICB3aGVuIHRvIGZsdXNoIG1lbXRhYmxlcykKICogUmVuYW1lIGNvbmZpZ3VyYXRpb24gInRhYmxlIiB0byAia2V5c3BhY2UiCiAqIE1vdmVkIHRvIGNyYXNoLW9ubHkgZGVzaWduOyBubyBtb3JlIHNodXRkb3duIChqdXN0IGtpbGwgdGhlIHByb2Nlc3MpCiAqIExvdHMgb2YgYnVnIGZpeGVzCjDkkXAAAAFP3jyyXAAQIHdoZW4gdG8gZmx1c2ggbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtggAAAQBBU1NBTkRSQS0zNjY4KQogKiBGaXggYnVncyBpbiBzdXBlcmNvbHVtbnMgaGFuZGxpbmcgKENBU1NBTkRSQS03MTM4KQogKiBGaXggQ2xhc3NDbGFzc0V4Y2VwdGlvbiBvbiBjb21wb3NpdGUgZGVuc2UgdGFibGVzIChDQVNTQU5EUkEtNzExMikKICogQ2xlYW51cCBhbmQgb3B0aW1pemUgY29sbGF0aW9uIGFuZCBzbGljZSBpdGVyYXRvcnMgKENBU1NBTkRSQS03MTA3KQogKiBVcGdyYWRlIE5CSE0gbGliIChDQVNTQU5EUkEtNzEyOCkKICogT3B0aW1poI+GPAAO9T5BS3NsAAABT948slwAEGx1bW4gcmVsYXRpb25zCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYUAAAEACiAqIFJlc3RyaWN0IFdpbmRvd3MgdG8gcGFyYWxsZWwgcmVwYWlycyAoQ0FTU0FORFJBLTY5MDcpCiAqIChIYWRvb3ApIEFsbG93IG1hbnVhbGx5IHNwZWNpZnlpbmcgc3RhcnQvZW5kIHRva2VucyBpbiBDRklGIChDQVNTQU5EUkEtNjQzNikKICogRml4IE5QRSBpbiBNZXRlcmVkRmx1c2hlciAoQ0FTU0FORFJBLTY4MjApCiAqIEZpeCByYWNlIHByb2Nlc3NpbmcgcmFuZ2Ugc2NhbiByZXNwb25zZXMgKENBU1NBTkRSQS02ODIwKQogKiBBbGxvdyBkZVLMZQ8AAAFP3jyyXAAQb3VudGluZyAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgthQAAAQAoQ0FTU0FORFJBLTExMTIpCiAqIGtpbGwgc2VydmVyIG9uIE9PTSBpbiBleGVjdXRvciBzdGFnZSBhcyB3ZWxsIGFzIFRocmlmdCAoQ0FTU0FORFJBLTEyMjYpCiAqIHJlbW92ZSBvcHBvcnR1bmlzdGljIHJlcGFpcnMsIHdoZW4gdHdvIG1hY2hpbmVzIHdpdGggb3ZlcmxhcHBpbmcgcmVwbGljYQogICByZXNwb25zaWJpbGl0aWVzIGhhcHBlbiB0byBmaW5pc2ggbWFqb3IgY29tcGFjdGlvbnMgb2YgdGhlIHNhbWUgQ0YgbmVhcgogICB0aGUgc2FtZSB05/Fd2QAAAU/ePLJcABAgZXJyb3JzIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2FAAABAGZvciBkZWFkIHN0YXRlcyAoQ0FTU0FORFJBLTcyOTIpCiAqIEZpeCBBcnJheUluZGV4T3V0T2ZCb3VuZHNFeGNlcHRpb24gaW4gQ1FMU1NUYWJsZVdyaXRlciAoQ0FTU0FORFJBLTg5NzgpCiAqIEFkZCBzaHV0ZG93biBnb3NzaXAgc3RhdGUgdG8gcHJldmVudCB0aW1lb3V0cyBkdXJpbmcgcm9sbGluZyByZXN0YXJ0cyAoQ0FTU0FORFJBLTgzMzYpCiAqIEZpeCBydW5uaW5nIHdpdGggamF2YS5uZXQucHJlZmVySVB2NkFkZHJlc3Nlcz10cnVlIChDQVNG53pGAAABT948slwAECBTZWVkUHJvdmlkZXIgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYUAAAEAcykgZml4IHN0YXJ0dXAgd2hlbiBXTUkgbWVtb3J5IHF1ZXJ5IGZhaWxzIChDQVNTQU5EUkEtNzUwNSkKICogQW50aS1jb21wYWN0aW9uIHByb2NlZWRzIGlmIGFueSBwYXJ0IG9mIHRoZSByZXBhaXIgZmFpbGVkIChDQVNBTkRSQS03NTIxKQogKiBBZGQgbWlzc2luZyB0YWJsZSBuYW1lIHRvIERST1AgSU5ERVggcmVzcG9uc2VzIGFuZCBub3RpZmljYXRpb25zIChDQVNTQU5EUkEtNzUzOSkKICogQnVtcCBDUUwgdmVyc2lvbiB0byAzLjIuMCBhbmQgdTjtsPQAAAFP3jyyXAAQb29wIFN0cmVhbWluZyBbbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgthQAAAQAtdXNlIHRva2VuIChDQVNTQU5EUkEtMTU2MSkKCgowLjctYmV0YTEKICogc3N0YWJsZSB2ZXJzaW9uaW5nIChDQVNTQU5EUkEtMzg5KQogKiBzd2l0Y2hlZCB0byBzbGY0aiBsb2dnaW5nIChDQVNTQU5EUkEtNjI1KQogKiBhZGQgKG9wdGlvbmFsKSBleHBpcmF0aW9uIHRpbWUgZm9yIGNvbHVtbiAoQ0FTU0FORFJBLTY5OSkKICogYWNjZXNzIGxldmVscyBmb3IgYXV0aGVudGljYXRpb24vYXV0aG9yaXphdGlvbiAoQ0FTU0FORFJBLTkwMCkKICogYWRkpaEK9gAAAU/ePLJcABByeSBjb250YWluaW5nIGVtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2FAAABADkpCk1lcmdlZCBmcm9tIDAuODoKICogZml4IGNvbmN1cnJlbmNlIGlzc3VlIGluIHRoZSBGYWlsdXJlRGV0ZWN0b3IgKENBU1NBTkRSQS0zNTE5KQogKiBmaXggYXJyYXkgb3V0IG9mIGJvdW5kcyBlcnJvciBpbiBjb3VudGVyIHNoYXJkIHJlbW92YWwgKENBU1NBTkRSQS0zNTE0KQogKiBhdm9pZCBkcm9wcGluZyB0b21ic3RvbmVzIHdoZW4gdGhleSBtaWdodCBzdGlsbCBiZSBuZWVkZWQgdG8gc2hhZG93CiAgIGRhdGEgaW4gYSBkaWZmZXJlbnQgc3NzQBK1AAABT948slwAEHIgdHlwZSBub3RpZmljYXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYUAAAEAZWQgc2VsZWN0aW9ucyAoQ0FTU0FORFJBLTQ2ODkpCiAqIChDUUwzKSBGaXggdmFsaWRhdGlvbiBmb3IgSU4gcXVlcmllcyBmb3Igbm9uLVBLIGNvbHMgKENBU1NBTkRSQS00NzA5KQogKiBmaXggcmUtY3JlYXRlZCBrZXlzcGFjZSBkaXNhcHBlcmluZyBhZnRlciAxLjEuNSB1cGdyYWRlIAogICAoQ0FTU0FORFJBLTQ2OTgsIDQ3NTIpCiAqIChDTEkpIGRpc3BsYXkgZWxhcHNlZCB0aW1lIGluIDIgZnJhY3Rpb24gZGlnaXRzIChDQVNTQU5EUkEtMzQ2MErv1vkAAAFP3jyyXAAQZWQgY29sdW1ucyAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgthQAAAQBTQU5EUkEtOTMxNCkKICogKGNxbHNoKSBBZGQgU0VSSUFMIGFuZCBMT0NBTF9TRVJJQUwgY29uc2lzdGVuY3kgbGV2ZWxzIChDQVNTQU5EUkEtODA1MSkKICogRml4IGluZGV4IHNlbGVjdGlvbiBkdXJpbmcgcmVidWlsZCB3aXRoIGNlcnRhaW4gdGFibGUgbGF5b3V0cyAoQ0FTU0FORFJBLTkyODEpCiAqIEZpeCBwYXJ0aXRpb24tbGV2ZWwtZGVsZXRlLW9ubHkgd29ya2xvYWQgYWNjb3VudGluZyAoQ0FTU0FORFJBLTkxOTQpCiAqIEFsbG93IHNjcnViCbOCAwAAAU/ePLJcABAgc291cmNlcyBieSB0YWJsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2FAAABAFNTQU5EUkEtOTIzNSkKICogTWFrZSBzc3RhYmxlIGJsYWNrbGlzdGluZyB3b3JrIHdpdGggY29tcHJlc3Npb24gKENBU1NBTkRSQS05MTM4KQogKiBEbyBub3QgYXR0ZW1wdCB0byByZWJ1aWxkIGluZGV4ZXMgaWYgbm8gaW5kZXggYWNjZXB0cyBhbnkgY29sdW1uIChDQVNTQU5EUkEtOTE5NikKICogRG9uJ3QgaW5pdGlhdGUgc25pdGNoIHJlY29ubmVjdGlvbiBmb3IgZGVhZCBzdGF0ZXMgKENBU1NBTkRSQS03MjkyKQogKiBGaXggQXJyYXlJbmRleE/BlHxSAAABT948slwAEGFydHVwIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYUAAAEAZXJfd3JpdGUgKENBU1NBTkRSQS02ODI0KQogKiBGaXggc3RyZXNzIHNtYXJ0IFRocmlmdCBjbGllbnQgdG8gcGljayBzZXJ2ZXJzIGNvcnJlY3RseSAoQ0FTU0FORFJBLTY4NDgpCiAqIEFkZCBsb2dnaW5nIGxldmVscyAobWluaW1hbCwgbm9ybWFsIG9yIHZlcmJvc2UpIHRvIHN0cmVzcyB0b29sIChDQVNTQU5EUkEtNjg0OSkKICogRml4IHJhY2UgY29uZGl0aW9uIGluIEJhdGNoIENMRSAoQ0FTU0FORFJBLTY4NjApCiAqIEltcHJvdmUgY2xlYW51cIiu8K0AAAFP3jyyXAAQdXRwdXQgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgthQAAAQAgc3VwcG9ydCB0byBDUUwzIChDQVNTQU5EUkEtNTQ4NCkKICogRml4IHJlcGFpciBoYW5naW5nIHNpbGVudGx5IG9uIHVuZXhwZWN0ZWQgZXJyb3IgKENBU1NBTkRSQS01MjI5KQogKiBGaXggRWMyU25pdGNoIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBDQVNTQU5EUkEtNTE3MSAoQ0FTU0FORFJBLTU0MzIpCiAqIEFkZCBub2RldG9vbCBlbmFibGViYWNrdXAvZGlzYWJsZWJhY2t1cCAoQ0FTU0FORFJBLTU1NTYpCiAqIGNxbHNoOiBmaXggREVTQ1JJMlNIWAAAAU/ePLJcABBpZGVudGlmeSBhbmQgYmxhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2FAAABAG9uIChDQVNTQU5EUkEtODY2OSkKICogY3Fsc2g6IEFkZCB0ZXN0cyBmb3IgSU5TRVJUIGFuZCBVUERBVEUgdGFiIGNvbXBsZXRpb24gKENBU1NBTkRSQS05MTI1KQogKiBjcWxzaDogcXVvdGUgY29sdW1uIG5hbWVzIHdoZW4gbmVlZGVkIGluIENPUFkgRlJPTSBpbnNlcnRzIChDQVNTQU5EUkEtOTA4MCkKICogQWRkIGdlbmVyYXRlLWlkZWEtZmlsZXMgdGFyZ2V0IHRvIGJ1aWxkLnhtbCAoQ0FTU0FORFJBLTkxMjMpCiAqIERvIG5vdCBsb2FkIHJlYWRCTrLJAAABT948slwAEDUpCiAqIGFkZCBhYmlsaXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYUAAAEAIGV4cGlyZWQgdG9tYnN0b25lcwogICBmcm9tIHJvdyBjYWNoZSBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTQzNjQpCiAqIChzdHJlc3MpIHN1cHBvcnQgZm9yIENRTCBwcmVwYXJlZCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtMzYzMykKICogQ29ycmVjdGx5IGNhdGNoIGV4Y2VwdGlvbiB3aGVuIFNuYXBweSBjYW5ub3QgYmUgbG9hZGVkIChDQVNTQU5EUkEtNDQwMCkKICogKGNxbDMpIFN1cHBvcnQgT1JERVIgQlkgd2hlbiBJTiBjb25kaXRpb+4Ny2AAAAFP3jyyXAAQb25seSBjb21wYWN0IDIgbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgthQAAAQBlYWQgcmVwYWlyCiAgIGlzIGRpc2FibGVkIChDQVNTQU5EUkEtMzY5NikKICogYmxvY2sgb24gZmx1c2ggYmVmb3JlIGNvbXBhY3RpbmcgaGludHMgKG1heSBwcmV2ZW50IE9PTSkgKENBU1NBTkRSQS0zNzMzKQoKCjEuMC42CiAqIChDUUwpIGZpeCBjcWxzaCBzdXBwb3J0IGZvciByZXBsaWNhdGVfb25fd3JpdGUgKENBU1NBTkRSQS0zNTk2KQogKiBmaXggYWRkaW5nIHRvIGxldmVsZWQgbWFuaWZlc3QgYWZ0ZXIgc3RyZWFtaW5nIChDQVNTQU5EUkEtU+ZBsAAAAU/ePLJcABBsdW1ucyBpbiB0aGUgc2FtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2FAAABAAogKiBGaXggTlBFIGluIFBpZydzIHdpZGVyb3cgbW9kZSAoQ0FTU0FORFJBLTU0ODgpCiAqIEFkZCBzcGxpdCBzaXplIHBhcmFtZXRlciB0byBQaWcgYW5kIGRpc2FibGUgc3BsaXQgY29tYmluYXRpb24gKENBU1NBTkRSQS01NTQ0KQoKCjEuMi41CiAqIG1ha2UgQnl0ZXNUb2tlbi50b1N0cmluZyBvbmx5IHJldHVybiBoZXggYnl0ZXMgKENBU1NBTkRSQS01NTY2KQogKiBFbnN1cmUgdGhhdCBzdWJtaXRCYWNrZ3JvdW5kIGVucXVldWVzIGF0IGxlYXMgXhGDAA8Jm2CSWj0AAAFP3jyyXAAQY29ycmVjdCB1c2Ugb2YgTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgthwAAAQBzIChDQVNTQU5EUkEtMzkyMCkKICogZml4IGRlZmF1bHQgYmxvb21fZmlsdGVyX2ZwX2NoYW5jZSBmb3IgTGV2ZWxlZENvbXBhY3Rpb25TdHJhdGVneSAoQ0FTU0FORFJBLTUwOTMpCk1lcmdlZCBmcm9tIDEuMToKICogYWRkIHZhbGlkYXRpb24gZm9yIGdldF9yYW5nZV9zbGljZXMgd2l0aCBzdGFydF9rZXkgYW5kIGVuZF90b2tlbiAoQ0FTU0FORFJBLTUwODkpCgoKMS4yLjAtcmMyCiAqIGZpeCBub2RldG9vbCBvd25lcnNoaXAgZGlzcGxheSB3aXRoW6H1cgAAAU/ePLJcABBvbSAxLjI6CiAqIChIYWRvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2HAAABAGltaXRhdGlvbiB0aGF0IG9yZGVyIGJ5IGNvbHVtbnMgbXVzdCBiZSBzZWxlY3RlZCBmb3IgSU4gcXVlcmllcyAoQ0FTU0FORFJBLTQ5MTEpCgoKMi4wLjUKICogUmVkdWNlIGdhcmJhZ2UgZ2VuZXJhdGVkIGJ5IGJsb29tIGZpbHRlciBsb29rdXBzIChDQVNTQU5EUkEtNjYwOSkKICogQWRkIGtzLmNmIG5hbWVzIHRvIHRvbWJzdG9uZSBsb2dnaW5nIChDQVNTQU5EUkEtNjU5NykKICogVXNlIExPQ0FMX1FVT1JVTSBmb3IgTFdUIG9wZXJhdGlvbnMgYXQi1pigAAABT948slwAECB0eXBlIHRvIGJlIGluc2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYcAAAEAcmVudCB0aW1lcyAoQ0FTU0FORFJBLTkxMjQpCiAqIEZpeCBkZWxldGluZyBmcm9tIGFuIGVtcHR5IGxpc3QgKENBU1NBTkRSQS05MTk4KQogKiBVcGRhdGUgdHVwbGUgYW5kIGNvbGxlY3Rpb24gdHlwZXMgdGhhdCB1c2UgYSB1c2VyLWRlZmluZWQgdHlwZSB3aGVuIHRoYXQgVURUCiAgIGlzIG1vZGlmaWVkIChDQVNTQU5EUkEtOTE0OCwgQ0FTU0FORFJBLTkxOTIpCiAqIFVzZSBoaWdoZXIgdGltZW91dCBmb3IgcHJlcGFpciBhbmQgc25hcHNob3QgaYyyeOcAAAFP3jyyXAAQIChjcWwzKSBleGVwdGlvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgthwAAAQAqIGhhcmQgY29kZSBzZXJpYWxWZXJzaW9uVUlEIGZvciB0b2tlbnMgY2xhc3MgKENBU1NBTkRSQS0yMzYxKQogKiBmaXggcG90ZW50aWFsIGluZmluaXRlIGxvb3AgaW4gQnl0ZUJ1ZmZlclV0aWwuaW5wdXRTdHJlYW0gKENBU1NBTkRSQS0yMzY1KQogKiBmaXggZW5jb2RpbmcgYnVncyBpbiBIaW50ZWRIYW5kb2ZmTWFuYWdlciwgU3lzdGVtVGFibGUgd2hlbiBkZWZhdWx0CiAgIGNoYXJzZXQgaXMgbm90IFVURjggKENBU1NBTkRSQS0yMzY3KQogKiBhhsWm9AAAAU/ePLJcABAyKQogKiBGaXggaGludHMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2HAAABACkKICogYWRkIENvbmZpZ0hlbHBlciBzdXBwb3J0IGZvciBUaHJpZnQgZnJhbWUgYW5kIG1heCBtZXNzYWdlIHNpemVzIChDQVNTQU5EUkEtNTE4OCkKICogZml4IG5vZGV0b29sIHJlcGFpciBub3QgZmFpbCBvbiBub2RlIGRvd24gKENBU1NBTkRSQS01MjAzKQogKiBhbHdheXMgY29sbGVjdCB0b21ic3RvbmUgaGludHMgKENBU1NBTkRSQS01MDY4KQogKiBGaXggZXJyb3Igd2hlbiBzb3VyY2luZyBmaWxlIGluIGNxbHNoIChDQVNTQU5EUkEtNTIzNSk//seoAAABT948slwAEGFjdGlvbiBsb2NrIHdpdGgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYcAAAEAIHZlcnNpb24gMyAoQ0FTU0FORFJBLTI5NzUpCiAqIChDTEkpIHRyYWNrIGVsYXBzZWQgdGltZSBmb3IgYGRlbGV0ZScgb3BlcmF0aW9uIChDQVNTQU5EUkEtNDA2MCkKICogKENMSSkgamxpbmUgdmVyc2lvbiBpcyBidW1wZWQgdG8gMS4wIHRvIHByb3Blcmx5ICBzdXBwb3J0CiAgICdkZWxldGUnIGtleSBmdW5jdGlvbiAoQ0FTU0FORFJBLTQxMzIpCiAqIFNhdmUgSW5kZXhTdW1tYXJ5IGludG8gbmV3IFNTVGFibGUgJ1N1bW1hcnknIGNvbXBvbmVudMYIGmcAAAFP3jyyXAAQYWdhaW4sIGVzcGVjaWFsbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgthwAAAQBvaW50IHN0YXRlcyAoZ29zc2lwIGRldGFpbHMpIHZpYSBqbXggKENBU1NBTkRSQS0xNDY3KQogKiBlbnN1cmUgdGhhdCBjb21wYWN0ZWQgc3N0YWJsZXMgYXJlIG5vdCBpbmNsdWRlZCB3aGVuIG5ldyByZWFkZXJzIGFyZQogICBpbnN0YW50aWF0ZWQgKENBU1NBTkRSQS0xNDc3KQogKiBieSBkZWZhdWx0LCBjYWxjdWxhdGUgaGVhcCBzaXplIGFuZCBtZW10YWJsZSB0aHJlc2hvbGRzIGF0IHJ1bnRpbWUgKENBU1NBTkRSQS0xNDY5KQogKiBmaXggcmFjHkezYQAAAU/ePLJcABAwLWJldGEyCiAqIGZpeCBOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2HAAABACAgIChDQVNTQU5EUkEtMjcyMikKICogRml4ZWQgcm93cyBiZWluZyBjYWNoZWQgaWYgdGhleSBkbyBub3QgZXhpc3QgKENBU1NBTkRSQS0yNzIzKQogKiBmaXggdHJ1bmNhdGUvY29tcGFjdGlvbiByYWNlIChDQVNTQU5EUkEtMjY3MykKICogd29ya2Fyb3VuZCBsYXJnZSByZXN1bHRzZXRzIGNhdXNpbmcgbGFyZ2UgYWxsb2NhdGlvbiByZXRlbnRpb24KICAgYnkgbmlvIHNvY2tldHMgKENBU1NBTkRSQS0yNjU0KQogKiBmaXggbm9kZXRvb2wgcmluZyAl1QD8AAABT948slwAEGVmaW5pdGlvbnMgb24gYSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYcAAAEALTQyNjIpCk1lcmdlZCBmcm9tIDEuMDoKICogRml4IHN1cGVyIGNvbHVtbnMgYnVnIHdoZXJlIGNhY2hlIGlzIG5vdCB1cGRhdGVkIChDQVNTQU5EUkEtNDE5MCkKICogZml4IG1heFRpbWVzdGFtcCB0byBpbmNsdWRlIHJvdyB0b21ic3RvbmVzIChDQVNTQU5EUkEtNDExNikKICogKENMSSkgcHJvcGVybHkgaGFuZGxlIHF1b3RlcyBpbiBjcmVhdGUvdXBkYXRlIGtleXNwYWNlIGNvbW1hbmRzIChDQVNTQU5EUkEtNDEyOSkKICogQXZvaWRzIHBvc3NpYgbFZZIAAAFP3jyyXAAQNykKICogZml4IGZvciBjbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgthwAAAQB0YXJ0dXAoKSBtZXRob2QgKENBU1NBTkRSQS02NjM3KQogKiBTU1RhYmxlU2Nhbm5lciBtYXkgc2tpcCByb3dzIGR1cmluZyBjbGVhbnVwIChDQVNTQU5EUkEtNjYzOCkKICogc3N0YWJsZXMgZnJvbSBzdGFsbGVkIHJlcGFpciBzZXNzaW9ucyBjYW4gcmVzdXJyZWN0IGRlbGV0ZWQgZGF0YSAoQ0FTU0FORFJBLTY1MDMpCiAqIFN3aXRjaCBzdHJlc3MgdG8gdXNlIElUcmFuc3BvcnRGYWN0b3J5IChDQVNTQU5EUkEtNjY0MSkKICogRml4IElsbGVnYWxBF6GwHQAAAU/ePLJcABBkIENGIHN1cHBsaWVkIHRvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2HAAABAGl2ZSBmb3Igb2ZmbGluZSBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTg4NDEpCiAqIERvbid0IHNldCBjbGllbnRNb2RlIGluIFNTVGFibGVMb2FkZXIgKENBU1NBTkRSQS04MjM4KQogKiBGaXggU1NUYWJsZVJld3JpdGVyIHdpdGggZGlzYWJsZWQgZWFybHkgb3BlbiAoQ0FTU0FORFJBLTg1MzUpCiAqIEFsbG93IGludmFsaWRhdGluZyBwZXJtaXNzaW9ucyBhbmQgY2FjaGUgdGltZSAoQ0FTU0FORFJBLTg3MjIpCiAqIExvZyB3YXJuaW5nIHdoZW4gcXUHC3+3AAABT948slwAEERSQS0zNzQ5KQogKiBGaXgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYcAAAEAdmVyc2lvbiAoQ0FTU0FORFJBLTE5NzApCiAqIGNhY2hlIHdyaXRpbmcgbW92ZWQgdG8gQ29tcGFjdGlvbk1hbmFnZXIgdG8gcmVkdWNlIGkvbyBjb250ZW50aW9uIGFuZAogICB1cGRhdGVkIHRvIHVzZSBub24tY2FjaGUtcG9sbHV0aW5nIHdyaXRlcyAoQ0FTU0FORFJBLTIwNTMpCiAqIHBhZ2UgdGhyb3VnaCBsYXJnZSByb3dzIHdoZW4gZXhwb3J0aW5nIHRvIEpTT04gKENBU1NBTkRSQS0yMDQxKQogKiBhZGQgZmx1c2hfbGFyZ2VzdF9tZW10YWJsZeoMGPQAAAFP3jyyXAAQSUZFVElNRV9JTl9NSU5TIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgthwAAAQBkaW5nIHRhc2tzIGluIGxldmVsZWQgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTM2OTMpCiAqIChIYWRvb3ApIFN1cHBvcnQgVGltZVVVSUQgaW4gUGlnIENhc3NhbmRyYVN0b3JhZ2UgKENBU1NBTkRSQS0zMzI3KQogKiBDaGVjayBzY2hlbWEgaXMgcmVhZHkgYmVmb3JlIGNvbnRpbnVpbmcgYm9vc3RyYXBwaW5nIChDQVNTQU5EUkEtMzYyOSkKICogQ2F0Y2ggb3ZlcmZsb3dzIGR1cmluZyBwYXJzaW5nIG9mIGNodW5rX2xlbmd0aF9rYiAoQ0FTU0FORFJBzLNXtAAAAU/ePLJcABBja3VwL2Rpc2FibGViYWNrAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2HAAABAHByZS1hbGxvY2F0aW9uCiAgIGluIExldmVsZWRNYW5pZmVzdCAoQ0FTU0FORFJBLTM2OTEpCiAqIGZpbmVyLWdyYWluZWQgY29udHJvbCBvdmVyIGRhdGEgZGlyZWN0b3JpZXMgKENBU1NBTkRSQS0yNzQ5KQogKiBGaXggQ2xhc3NDYXN0RXhjZXB0aW9uIGR1cmluZyBoaW50ZWQgaGFuZG9mZiAoQ0FTU0FORFJBLTM2OTQpCiAqIFVwZ3JhZGUgVGhyaWZ0IHRvIDAuNyAoQ0FTU0FORFJBLTMyMTMpCiAqIE1ha2Ugc3RyZXNzLmphdmEgaW5zZXJ0IG9wZXKt35BfAAABT948slwAEGlzIGdpdmVuIHJlcGxpY2EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYcAAAEAZCBwYXJ0aXRpb25lciByZXN1bHRzIChDQVNTQU5EUkEtMzc3MSkKICogKGNxbDMpIEZpeCBkcm9wIGluZGV4IChDQVNTQU5EUkEtNDE5MikKICogKGNxbDMpIERvbid0IHJldHVybiByYW5nZSBnaG9zdHMgYW55bW9yZSAoQ0FTU0FORFJBLTM5ODIpCiAqIGZpeCByZS1jcmVhdGluZyBLZXlzcGFjZXMvQ29sdW1uRmFtaWxpZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIGRyb3BwZWQKICAgb25lcyAoQ0FTU0FORFJBLTQyMTkpCiAqIGZpeCBTZWNvbmRhcgS2l4sADx34f+XJ3AAAAU/ePLJcABBlY2lmaWMgS1MvQ0YgY29tAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2JAAABAChIQURPT1ApIGFkZCBvbGQtc3R5bGUgYXBpIHN1cHBvcnQgZm9yIENGSUYgYW5kIENGUlIgKENBU1NBTkRSQS0yNzk5KQogKiBTdXBwb3J0IFRpbWVVVUlEVHlwZSBjb2x1bW4gbmFtZXMgaW4gU3RyZXNzLmphdmEgdG9vbCAoQ0FTU0FORFJBLTM1NDEpCiAqIChDUUwpIElOU0VSVC9VUERBVEUvREVMRVRFL1RSVU5DQVRFIGNvbW1hbmRzIHNob3VsZCBhbGxvdyBDRiBuYW1lcyB0bwogICBiZSBxdWFsaWZpZWQgYnkga2V5c3BhY2UgKENBU1NBTkRSQS26FwdiAAABT948slwAEChDQVNTQU5EUkEtNzc3NCkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYkAAAEAZml4IHBvdGVudGlhbCByYWNlIGluIEFFUyB3aGVuIGEgcmVwYWlyIGZhaWxzIChDQVNTQU5EUkEtMzU0OCkKICogZml4IGRlZmF1bHQgdmFsdWUgdmFsaWRhdGlvbiB1c2FnZSBpbiBDTEkgU0VUIGNvbW1hbmQgKENBU1NBTkRSQS0zNTUzKQogKiBPcHRpbWl6ZSBjb21wb25lbnRzRm9yIG1ldGhvZCBmb3IgY29tcGFjdGlvbiBhbmQgc3RhcnR1cCB0aW1lCiAgIChDQVNTQU5EUkEtMzUzMikKICogKENRTCkgUHJvcGVyIENvbHVtbkZhbWlseSBtZXRhZMd+YoUAAAFP3jyyXAAQbnRlZ2VyRmllbGRVcGRhdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtiQAAAQBpbmcgb24gc29tZSBwbGF0Zm9ybXMgKENBU1NBTkRSQS01MDQ2KQoKCjEuMi1iZXRhMwogKiBtYWtlIGNvbnNpc3RlbmN5IGxldmVsIGNvbmZpZ3VyYWJsZSBpbiBjcWxzaCAoQ0FTU0FORFJBLTQ4MjkpCiAqIGZpeCBjcWxzaCByZW5kZXJpbmcgb2YgYmxvYiBmaWVsZHMgKENBU1NBTkRSQS00OTcwKQogKiBmaXggY3Fsc2ggREVTQ1JJQkUgY29tbWFuZCAoQ0FTU0FORFJBLTQ5MTMpCiAqIHNhdmUgdHJ1bmNhdGlvbiBwb3NpdGlvbiBpbiBzeXN0ZW0gNQf5JAAAAU/ePLJcABBTU0FORFJBLTI4NDQpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2JAAABAHQgb25seSByb3cgY2FjaGUgY2FwYWNpdHkgYnV0IGNhY2hpbmcgbW9kZSB3aGVuCiAgIHRyeWluZyB0byByZWFkIGRhdGEgKENBU1NBTkRSQS0zODEyKQogKiBmaXggc3lzdGVtIHRlc3RzIChDQVNTQU5EUkEtMzgyNykKICogQ1FMIHN1cHBvcnQgZm9yIGFsdGVyaW5nIHJvdyBrZXkgdHlwZSBpbiBBTFRFUiBUQUJMRSAoQ0FTU0FORFJBLTM3ODEpCiAqIHR1cm4gY29tcHJlc3Npb24gb24gYnkgZGVmYXVsdCAoQ0FTU0FORFJBLTM4NzEpCiAqIG1ha2XDjZ6JAAABT948slwAECBib2d1cyBOYU4gaW4gbm8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYkAAAEAbmRyYS1zdHJlc3Mgc2ltdWx0YW5lb3VzIGluc2VydHMgb3ZlciBzYW1lIHNlZWQgKENBU1NBTkRSQS03OTY0KQogKiBSZWR1Y2UgY2Fzc2FuZHJhLXN0cmVzcyBzYW1wbGluZyBtZW1vcnkgcmVxdWlyZW1lbnRzIChDQVNTQU5EUkEtNzkyNikKICogRW5zdXJlIG1lbXRhYmxlIGZsdXNoIGNhbm5vdCBleHBpcmUgY29tbWl0IGxvZyBlbnRyaWVzIGZyb20gaXRzIGZ1dHVyZSAoQ0FTU0FORFJBLTgzODMpCiAqIE1ha2UgcmVhZCAiZGVmcmFnIiBhc3luY2v0ZVMAAAFP3jyyXAAQbF9zcGFjZV9pbl9tYiAoQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtiQAAAQByZXBsYXkgKENBU1NBTkRSQS0xMjE5KQogKiByZXZpc2UgSEggc2NoZW1hIHRvIGJlIHBlci1lbmRwb2ludCAoQ0FTU0FORFJBLTExNDIpCiAqIGFkZCBqb2luaW5nL2xlYXZpbmcgc3RhdHVzIHRvIG5vZGV0b29sIHJpbmcgKENBU1NBTkRSQS0xMTE1KQogKiBhbGxvdyBtdWx0aXBsZSByZXBhaXIgc2Vzc2lvbnMgcGVyIG5vZGUgKENBU1NBTkRSQS0xMTkwKQogKiBvcHRpbWl6ZSBhd2F5IE1lc3NhZ2luZ1NlcnZpY2UgZm9yIGxvY2FsIHJhbmdlIHF1C21MIwAAAU/ePLJcABApCiAqIGFwcGx5IGRpc2tfAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2JAAABAGl6aW5nQ2FjaGUgKENBU1NBTkRSQS02OTk0KQogKiBEb24ndCBzaHV0IE1lc3NhZ2luZ1NlcnZpY2UgZG93biB3aGVuIHJlcGxhY2luZyBhIG5vZGUgKENBU1NBTkRSQS02NDc2KQogKiBmaXggbnBlIHdoZW4gZG9pbmcgLURjYXNzYW5kcmEuZmRfaW5pdGlhbF92YWx1ZV9tcyAoQ0FTU0FORFJBLTY3NTEpCgoKMi4xLjAtYmV0YTEKICogQWRkIGZsdXNoIGRpcmVjdG9yeSBkaXN0aW5jdCBmcm9tIGNvbXBhY3Rpb24gZGlyZWN0b3JpZXMgKENBU1NBTkQukVr7AAABT948slwAEGF1bHQgaXMgbm8gY2hhbmcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYkAAAEAQU5EUkEtNTEyNSkKICogUmVtb3ZlZCBvbi1oZWFwIHJvdyBjYWNoZSAoQ0FTU0FORFJBLTUzNDgpCiAqIHVzZSBuYW5vdGltZSBjb25zaXN0ZW50bHkgZm9yIG5vZGUtbG9jYWwgdGltZW91dHMgKENBU1NBTkRSQS01NTgxKQogKiBBdm9pZCB1bm5lY2Vzc2FyeSBzZWNvbmQgcGFzcyBvbiBuYW1lLWJhc2VkIHF1ZXJpZXMgKENBU1NBTkRSQS01NTc3KQogKiBFeHBlcmltZW50YWwgdHJpZ2dlcnMgKENBU1NBTkRSQS0xMzExKQogKiBKRU1hbGxvYyBzdcW7+NoAAAFP3jyyXAAQZyB3YXJuaW5nIHdoZW4gcQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtiQAAAQBlcnMgaW4gc3VwZXJjb2x1bW5zIGR1cmluZyBsaXZlIHVwZ3JhZGVzIGZyb20gMS4yIChDQVNTQU5EUkEtNzE4OCkKICogTm90aWZ5IERUIHN1YnNjcmliZXJzIHdoZW4gYSBjb2x1bW4gZmFtaWx5IGlzIHRydW5jYXRlZCAoQ0FTU0FORFJBLTgwODgpCiAqIEFkZCBzYW5pdHkgY2hlY2sgb2YgJEpBVkEgb24gc3RhcnR1cCAoQ0FTU0FORFJBLTc2NzYpCiAqIFNjaGVkdWxlIGZhdCBjbGllbnQgc2NoZW1hIHB1bGwgb24gam9pbiAoQ0FTU0FORFJBLTc5+cAkbgAAAU/ePLJcABAoQ0FTU0FORFJBLTUwOCkKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2JAAABACkgQWRkcyBzaW1wbGUgYWNjZXNzIHRvIGNvbHVtbiB0aW1lc3RhbXAgYW5kIHR0bCAoQ0FTU0FORFJBLTQyMTcpCiAqIChjcWwzKSBGaXggcmFuZ2UgcXVlcmllcyB3aXRoIHNlY29uZGFyeSBpbmRleGVzIChDQVNTQU5EUkEtNDI1NykKICogQmV0dGVyIGVycm9yIG1lc3NhZ2VzIGZyb20gaW1wcm9wZXIgaW5wdXQgaW4gY2xpIChDQVNTQU5EUkEtMzg2NSkKICogVHJ5IHRvIHN0b3AgYWxsIGNvbXBhY3Rpb24gdXBvbiBLZXlzcGFjZSBvciBDb2x1bW6xgbyOAAABT948slwAEGl4IHN0cmVhbWluZyBmb3IAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYkAAAEAZXhlcyBmbHVzaCAoQ0FTU0FORFJBLTM1NDcpCiAqIGZpeCBwb3RlbnRpYWwgcmFjZSBpbiBBRVMgd2hlbiBhIHJlcGFpciBmYWlscyAoQ0FTU0FORFJBLTM1NDgpCiAqIFJlbW92ZSBjb2x1bW5zIHNoYWRvd2VkIGJ5IGEgZGVsZXRlZCBjb250YWluZXIgZXZlbiB3aGVuIHdlIGNhbm5vdCBwdXJnZQogICAoQ0FTU0FORFJBLTM1MzgpCiAqIEltcHJvdmUgbWVtdGFibGUgc2xpY2UgaXRlcmF0aW9uIHBlcmZvcm1hbmNlIChDQVNTQU5EUkEtMzU0NSkKIF7cp3gAAAFP3jyyXAAQaWZlc3QgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtiQAAAQBDQVNTQU5EUkEtNTMzOSkKICogTG9nIHdoZW4gYSBub2RlIGlzIGRvd24gbG9uZ2VyIHRoYW4gdGhlIGhpbnQgd2luZG93IChDQVNTQU5EUkEtNDU1NCkKICogT3B0aW1pemUgdG9tYnN0b25lIGNyZWF0aW9uIGZvciBFeHBpcmluZ0NvbHVtbnMgKENBU1NBTkRSQS00OTE3KQogKiBJbXByb3ZlIExldmVsZWRTY2FubmVyIHdvcmsgZXN0aW1hdGlvbiAoQ0FTU0FORFJBLTUyNTAsIDU0MDcpCiAqIFJlcGxhY2UgY29tcGFjdGlvbiBsb2NrIHdpdGggcnVu/iYOmgAAAU/ePLJcABBhc3QgY29ycmVzcG9uZHMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2JAAABACkKICogRml4IHJhcmUgTlBFIGluIENvbHVtbkRlZmluaXRpb24jaGFzSW5kZXhPcHRpb24oKSAoQ0FTU0FORFJBLTg3ODYpCiAqIGNhc3NhbmRyYS1zdHJlc3MgcmVwb3J0cyBwZXItb3BlcmF0aW9uIHN0YXRpc3RpY3MsIHBsdXMgbWlzYyAoQ0FTU0FORFJBLTg3NjkpCiAqIFVzZSBsb25nIGZvciBrZXkgY291bnQgaW4gY2ZzdGF0cyAoQ0FTU0FORFJBLTg5MTMpCiAqIE1ha2UgU1NUYWJsZVJld3JpdGVyLmFib3J0KCkgbW9yZSByb2J1c3QgdG8gZmFM7HDtAAABT948slwAEG9uZyB2YWx1ZXMgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYkAAAEAbGRuJ3QgaW1wb3J0IEpTT04gZm9yIENRTCB0YWJsZSAoQ0FTU0FORFJBLTc0NzcpCiAqIEludmFsaWRhdGUgYWxsIGNhY2hlcyBvbiB0YWJsZSBkcm9wIChDQVNTQU5EUkEtNzU2MSkKICogU2tpcCBzdHJpY3QgZW5kcG9pbnQgc2VsZWN0aW9uIGZvciByYW5nZXMgaWYgUkYgPT0gbm9kZXMgKENBU1NBTlJBLTc3NjUpCiAqIEZpeCBUaHJpZnQgcmFuZ2UgZmlsdGVyaW5nIHdpdGhvdXQgMmFyeSBpbmRleCBsb29rdXBzIChDQVNTQU5EUkEtNzc0MSkKIOyUaKkAAAFP3jyyXAAQcWwzKSBGaXggZGVsZXRpbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtiQAAAQBlIHVzZXItZGVmaW5lZCBjb21wYWN0aW9uIEpNWCBibG9ja2luZyAoQ0FTU0FORFJBLTQ5NTIpCiAqIEZpeCBzdHJlYW1pbmcgZG9lcyBub3QgdHJhbnNmZXIgd3JhcHBlZCByYW5nZSAoQ0FTU0FORFJBLTU5NDgpCiAqIEZpeCBsb2FkaW5nIGluZGV4IHN1bW1hcnkgY29udGFpbmluZyBlbXB0eSBrZXkgKENBU1NBTkRSQS01OTY1KQogKiBDb3JyZWN0bHkgaGFuZGxlIGxpbWl0cyBpbiBDb21wb3NpdGVzU2VhcmNoZXIgKENBU1NBTkRSQS01OTc1KQogJLUfmgAPMlWF8C5rAAABT948slwAEHN0IGlzIGltbXV0YWJsZSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYwAAAEAKiBkZWxldGlvbiBzdXBwb3J0IGluIHNlY29uZGFyeSBpbmRleGVzIChDQVNTQU5EUkEtMTU3MSkKICogbWVhbmluZ2Z1bCBlcnJvciBtZXNzYWdlIGZvciBpbnZhbGlkIHJlcGxpY2F0aW9uIHN0cmF0ZWd5IGNsYXNzIAogICAoQ0FTU0FORFJBLTE1NjYpCiAqIGFsbG93IGtleXNwYWNlIGNyZWF0aW9uIHdpdGggUkYgPiBOIChDQVNTQU5EUkEtMTQyOCkKICogaW1wcm92ZSBjbGkgZXJyb3IgaGFuZGxpbmcgKENBU1NBTkRSQS0xNTgwKQogKiBhZGQgY1DpD/AAAAFP3jyyXAAQcywgcGx1cyBtaXNjIChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtjAAAAQBtcGFjdGlvbnMgKENBU1NBTkRSQS04MzIxKQogKiBSZWR1Y2UgbWF4SGludHNJblByb2dyZXNzIChDQVNTQU5EUkEtODQxNSkKICogQlRyZWUgdXBkYXRlcyBtYXkgY2FsbCBwcm92aWRlZCB1cGRhdGUgZnVuY3Rpb24gdHdpY2UgKENBU1NBTkRSQS04MDE4KQogKiBSZWxlYXNlIHNzdGFibGUgcmVmZXJlbmNlcyBhZnRlciBhbnRpY29tcGFjdGlvbiAoQ0FTU0FORFJBLTgzODYpCiAqIEhhbmRsZSBhYm9ydCgpIGluIFNTVGFibGVSZXdyaXRlciBwcm9wAPM3xgAAAU/ePLJcABAgZHVyaW5nIGFkZC9kcm9wAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2MAAABAHJlcGxpY2FzIGZvciBMT0NBTF9RVU9SVU0gcmVhZHMgd2hlbiByZWFkIHJlcGFpcgogICBpcyBkaXNhYmxlZCAoQ0FTU0FORFJBLTM2OTYpCiAqIGJsb2NrIG9uIGZsdXNoIGJlZm9yZSBjb21wYWN0aW5nIGhpbnRzIChtYXkgcHJldmVudCBPT00pIChDQVNTQU5EUkEtMzczMykKCgoxLjAuNgogKiAoQ1FMKSBmaXggY3Fsc2ggc3VwcG9ydCBmb3IgcmVwbGljYXRlX29uX3dyaXRlIChDQVNTQU5EUkEtMzU5NikKICogZml4IGFkZGluZyB0byBsZXZlbGVNOD68AAABT948slwAEAogKiBpbXByb3ZlIFNTVGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYwAAAEAMDk1KQogKiByZW1vdmUgdW5uZWNlc3NhcnkgYXNzZXJ0cyBpbiBuYXRpdmUgY29kZSBpbnRlcmZhY2VzIChDQVNTQU5EUkEtNDA5NikKICogVmFsaWRhdGUgYmxhbmsga2V5cyBpbiBDUUwgdG8gYXZvaWQgYXNzZXJ0aW9uIGVycm9ycyAoQ0FTU0FORFJBLTM2MTIpCiAqIGNxbHNoOiBmaXggYmFkIGRlY29kaW5nIG9mIHNvbWUgY29sdW1uIG5hbWVzIChDQVNTQU5EUkEtNDAwMykKICogY3Fsc2g6IGZpeCBpbmNvcnJlY3QgcGFkZGluZyB3aXRoIHVuaWgzaAcAAAFP3jyyXAAQdW1uIChDQVNTQU5EUkEtOQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtjAAAAQAgKENBU1NBTkRSQS0yNDE3KQogKiBkb24ndCBvdmVyd3JpdGUgZ2MgbG9nIChDQVNTQU5EUi0yNDE4KQogKiBpbnZhbGlkYXRlIHJvdyBjYWNoZSBmb3Igc3RyZWFtZWQgcm93IHRvIGF2b2lkIGluY29uc2l0ZW5jaWVzCiAgIChDQVNTQU5EUkEtMjQyMCkKICogYXZvaWQgY29waWVzIGluIHJhbmdlL2luZGV4IHNjYW5zIChDQVNTQU5EUkEtMjQyNSkKICogbWFrZSBzdXJlIHdlIGRvbid0IHdpcGUgZGF0YSBkdXJpbmcgY2xlYW51cCBpZiB0aGUgbm9ksCkcFAAAAU/ePLJcABByYSAzLjAKICAgYXJlIGV4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2MAAABADIpCiAqIFN3aXRjaCB0byBub3RpZmljYXRpb24tYmFzZWQgR0NJbnNwZWN0b3IgKENBU1NBTkRSQS03NjM4KQogKiAoY3Fsc2gpIEhhbmRsZSBudWxscyBpbiBVRFRzIGFuZCB0dXBsZXMgY29ycmVjdGx5IChDQVNTQU5EUkEtNzY1NikKICogRG9uJ3QgdXNlIHN0cmljdCBjb25zaXN0ZW5jeSB3aGVuIHJlcGxhY2luZyAoQ0FTU0FORFJBLTc1NjgpCiAqIEZpeCBtaW4vbWF4IGNlbGwgbmFtZSBjb2xsZWN0aW9uIG9uIDIuMCBTU1RhYmxlcyB3aXRoIHL6IzPKAAABT948slwAEGluIEwxIHdoZW4gTDAgY28AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYwAAAEAY29tcHV0YXRpb24sIHByaW9yaXRpemF0aW9uLAogICBzY2hlZHVsaW5nLCBhbmQgcGVyZm9ybWFuY2UgKENBU1NBTkRSQS0zMjI0LCAzMjM0KQogKiBwYXJhbGxlbGl6ZSBzc3RhYmxlIG9wZW4gYXQgc2VydmVyIHN0YXJ0dXAgKENBU1NBTkRSQS0yOTg4KQogKiBmaXggaGFuZGxpbmcgb2YgZXhjZXB0aW9ucyB3cml0aW5nIHRvIE91dGJvdW5kVGNwQ29ubmVjdGlvbiAoQ0FTU0FORFJBLTMyMzUpCiAqIEFsbG93IHVzaW5nIHF1b3RlcyBpbiAiVVNFIPpMVcoAAAFP3jyyXAAQc3BlY2lmeSBsaW1pdCBmbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtjAAAAQBORFJBLTY4NjIpCiAqIEluY2x1ZGUgY29ycmVjdCBjb25zaXN0ZW5jeUxldmVsIGluIExXVCB0aW1lb3V0IChDQVNTQU5EUkEtNjg4NCkKICogTG93ZXIgY2hhbmNlcyBmb3IgbG9zaW5nIG5ldyBTU1RhYmxlcyBkdXJpbmcgbm9kZXRvb2wgcmVmcmVzaCBhbmQKICAgQ29sdW1uRmFtaWx5U3RvcmUubG9hZE5ld1NTVGFibGVzIChDQVNTQU5EUkEtNjUxNCkKICogQWRkIHN1cHBvcnQgZm9yIERFTEVURSAuLi4gSUYgRVhJU1RTIHRvIENRTDMgKENBU1NBnM/N6AAAAU/ePLJcABBhdGlvbiBvZiBzbWFsbCBiAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2MAAABAHRpb24gYW5kIFN0YWdpbmdGaWxlRGlyZWN0b3J5IGZyb20gc3RvcmFnZS1jb25mIGZpbGVzIAogICBzaW5jZSB0aG9zZSBzZXR0aW5ncyBhcmUgbm8gbG9uZ2VyIHVzZWQgKENBU1NBTkRSQS04NzgpCiAqIFBhcnNlIGEgbG9uZyBmcm9tIFJvd1dhcm5pbmdUaHJlc2hvbGRJbk1CIGluc3RlYWQgb2YgYW4gaW50IChDQVNTQU5EUkEtODgyKQogKiBSZW1vdmUgb2Jzb2xldGUgQ29udHJvbFBvcnQgY29kZSBmcm9tIERhdGFiYXNlRGVzY3JpcHRvciAoQ0E52ZTDAAABT948slwAEHZlbHMgYW5kIGNvcnJlc3AAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYwAAAEAIChDQVNTQU5EUkEtMTQzMCkKICogcmVtb3ZlIGZhaWxlZCBib290c3RyYXAgYXR0ZW1wdCBmcm9tIHBlbmRpbmcgcmFuZ2VzIHdoZW4gZ29zc2lwIHRpbWVzCiAgIGl0IG91dCBhZnRlciAxaCAoQ0FTU0FORFJBLTE0NjMpCiAqIGVhZ2VyLWNyZWF0ZSB0Y3AgY29ubmVjdGlvbnMgdG8gb3RoZXIgY2x1c3RlciBtZW1iZXJzIChDQVNTQU5EUkEtMTQ2NSkKICogZW51bWVyYXRlIHN0YWdlcyBhbmQgZGVyaXZlIHN0YWdlIGZyb20gbWVzc2FnZSB0eXBlIFQMUY8AAAFP3jyyXAAQY29tcGFjdGlvbiB0YXNrcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtjAAAAQBpZnQgY2xpZW50cyAoQ0FTU0FORFJBLTM2NzEpCiAqIGF2b2lkIHF1YWRyYXRpYyBzdGFydHVwIHRpbWUgaW4gTGV2ZWxlZE1hbmlmZXN0IChDQVNTQU5EUkEtMzk1MikKICogQWRkIHR5cGUgaW5mb3JtYXRpb24gdG8gbmV3IHNjaGVtYV8gY29sdW1uZmFtaWxpZXMgYW5kIHJlbW92ZSB0aHJpZnQKICAgc2VyaWFsaXphdGlvbiBmb3Igc2NoZW1hIChDQVNTQU5EUkEtMzc5MikKICogYWRkIG1pc3NpbmcgY29sdW1uIHZhbGlkYXRvciBvcHRpb25zIHRvJqgKmgAAAU/ePLJcABB5IGluIDAuNykKICAgCgowAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2MAAABAHN0b25lIHJlbW92YWwgbG9naWMgKENBU1NBTkRSQS01MjQ4KQogKiBjbGk6IEFkZCBKTVggYXV0aGVudGljYXRpb24gc3VwcG9ydCAoQ0FTU0FORFJBLTUwODApCiAqIEZpeCBmb3JjZUZsdXNoIGJlaGF2aW9yIChDQVNTQU5EUkEtNTI0MSkKICogY3Fsc2g6IEFkZCB1c2VybmFtZSBhdXRvY29tcGxldGlvbiAoQ0FTU0FORFJBLTUyMzEpCiAqIEZpeCBDUUwzIGNvbXBvc2l0ZSBwYXJ0aXRpb24ga2V5IGVycm9yIChDQVNTQU5EUkEtNTI0MCkKICogQWxJGMeAAAABT948slwAEE5USV9FTlRST1BZIHN0YWcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILYwAAAEAYXRpbmcgbXVsdGlwbGUgZ29zc2lwIHN0YXRlcyBhdG9taWNhbGx5IChDQVNTQU5EUkEtNjEyNSkKICogTG9nIGV4Y2VwdGlvbnMgcmVsYXRlZCB0byB1bmNsZWFuIG5hdGl2ZSBwcm90b2NvbCBjbGllbnQgZGlzY29ubmVjdHMKICAgYXQgREVCVUcgb3IgSU5GTyAoQ0FTU0FORFJBLTc4NDkpCiAqIEFsbG93IHBlcm1pc3Npb25zIGNhY2hlIHRvIGJlIHNldCB2aWEgSk1YIChDQVNTQU5EUkEtNzY5OCkKICogSW5jbHVkZSBzY2hlbWFfdHJpZ2dlcnMgQ6024KAAAAFP3jyyXAAQQ0FTU0FORFJBLTUwNTgpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtjAAAAQAgaG9zdCBpbiBNZXNzYWdpbmdTZXJ2aWNlTUJlYW4gKENBU1NBTkRSQS0yOTQxKQogKiBhdm9pZCBpbmNsdWRpbmcgY3dkIGluIGNsYXNzcGF0aCBmb3IgZGViIGFuZCBycG0gcGFja2FnZXMgKENBU1NBTkRSQS0yODgxKQogKiByZW1vdmUgZ29zc2lwIHN0YXRlIHdoZW4gYSBuZXcgSVAgdGFrZXMgb3ZlciBhIHRva2VuIChDQVNTQU5EUkEtMzA3MSkKICogYWxsb3cgc3N0YWJsZTJqc29uIHRvIHdvcmsgb24gaW5kZXggc3N0YWJsZSBmaWxlcyAoQ0FTuevMSAAAAU/ePLJcABBlcmZsb3cgb2YgbWVtdGFiAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2MAAABAC0yMjA2KQogKiBmaXggc3VwZXJjb2x1bW4gZGUvc2VyaWFsaXphdGlvbiB3aGVuIHN1YmNvbHVtbiBjb21wYXJhdG9yIGlzIGRpZmZlcmVudAogICBmcm9tIHN1cGVyY29sdW1uJ3MgKENBU1NBTkRSQS0yMTA0KQogKiBmaXggc3RhcnRpbmcgdXAgb24gV2luZG93cyB3aGVuIENBU1NBTkRSQV9IT01FIGNvbnRhaW5zIHdoaXRlc3BhY2UKICAgKENBU1NBTkRSQS0yMjM3KQogKiBhZGQgW2dldHxzZXRdW3Jvd3xrZXldY2FjaGVTYXZlUGVyaW9kIHRvIEpq2/8UAA9Gsj+LyVMAAAFP3jyyXAAQID4gTiAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtjwAAAQApIEFkZCBuYW1lIG9mIHBhcmFtZXRlcnMgaW4gQ3FsUmVzdWx0U2V0IChDQVNTQU5EUkEtNDI0MikKICogKGNxbDMpIENvcnJlY3RseSB2YWxpZGF0ZSBvcmRlciBieSBxdWVyaWVzIChDQVNTQU5EUkEtNDI0NikKICogcmVuYW1lIHN0cmVzcyB0byBjYXNzYW5kcmEtc3RyZXNzIGZvciBzYW5lciBwYWNrYWdpbmcgKENBU1NBTkRSQS00MjU2KQogKiBGaXggZXhjZXB0aW9uIG9uIGNvbHVtIG1ldGFkYXRhIHdpdGggbm9uLXN0cmluZyBjb21wYXJhdG9ya0/L6QAAAU/ePLJcABBtcGFjdGluZyBvbmx5IHN1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2PAAABAHNlIHJwY19hZGRyZXNzIGZvciBiaW5hcnkgcHJvdG9jb2wgYW5kIGNoYW5nZSBkZWZhdWx0IHBvcnQgKENBU1NBTkRSQS00NzUxKQogKiBGaXggdXNlIG9mIGNvbGxlY3Rpb25zIGluIHByZXBhcmVkIHN0YXRlbWVudHMgKENBU1NBTkRSQS00NzM5KQogKiBTdG9yZSBtb3JlIGluZm9ybWF0aW9uIGludG8gcGVlcnMgdGFibGUgKENBU1NBTkRSQS00MzUxLCA0ODE0KQogKiBDb25maWd1cmFibGUgYnVja2V0IHNpemUgZm9yIHNpemUgdGllcmVkIGNvbXA09dihAAABT948slwAECAqIGtlZXAgcGVyc2lzdGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILY8AAAEAaG91bGQgYXV0b21hdGljYWxseSBkaXNhYmxlIHRyYWNpbmcgd2hlbiBzZWxlY3RpbmcKICAgZnJvbSBzeXN0ZW1fdHJhY2VzIChDQVNTQU5EUkEtNzY0MSkKICogKEhhZG9vcCkgQWRkIENxbE91dHB1dEZvcm1hdCAoQ0FTU0FORFJBLTY5MjcpCiAqIERvbid0IGRlcGVuZCBvbiBjYXNzYW5kcmEgY29uZmlnIGZvciBub2RldG9vbCByaW5nIChDQVNTQU5EUkEtNzUwOCkKICogKGNxbHNoKSBGaXggZmFpbGluZyBjcWxzaCBmb3JtYXR0aW5nIHRlc3RzIGzoEHoAAAFP3jyyXAAQbmQgSGFuZG9mZiBoaW50cwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtjwAAAQBlbmN5IG9mIGNsaWVudHV0aWwuamFyIHRvIEZCVXRpbGl0aWVzIChDQVNTQU5EUkEtMzI5OSkKICogYXZvaWQgdHJ1bmNhdGlvbiBlcnJvcnMgYnkgdXNpbmcgbG9uZyBtYXRoIG9uIGxvbmcgdmFsdWVzIChDQVNTQU5EUkEtMzM2NCkKICogYXZvaWQgY2xvY2sgZHJpZnQgb24gc29tZSBXaW5kb3dzIG1hY2hpbmUgKENBU1NBTkRSQS0zMzc1KQogKiBkaXNwbGF5IGNhY2hlIHByb3ZpZGVyIGluIGNsaSAnZGVzY3JpYmUga2V5c3BhY2UnIGNvbW1hbmQg68SfDAAAAU/ePLJcABByZWFkZWRTZWxlY3RvclNlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2PAAABAG1lbnRzIChDQVNTQU5EUkEtOTM2KQogKiBmaXggbmVpZ2hib3IgY2FsY3VsYXRpb24gZm9yIGFudGktZW50cm9weSByZXBhaXIgKENBU1NBTkRSQS05MjQpCiAqIHBlcmZvcm0gcmVwYWlyIGV2ZW4gZm9yIHNtYWxsIGVudHJvcHkgZGlmZmVyZW5jZXMgKENBU1NBTkRSQS05MjQpCiAqIFVzZSBob3N0bmFtZXMgaW4gQ0ZJbnB1dEZvcm1hdCB0byBhbGxvdyBIYWRvb3AncyBuYWl2ZSBzdHJpbmctYmFzZWQKICAgbG9jYWxpdHkgY29tcGFyaXNvbnMgdG+zRgUCAAABT948slwAEGFuZ2VUb21ic3RvbmVMaXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILY8AAAEAZ2luZyAoQ0FTU0FORFJBLTEwMTUpCiAqIGF0b21pYyBzd2l0Y2ggb2YgbWVtdGFibGVzIGFuZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTIyODQpCiAqIGFkZCBwbHVnZ2FibGUgU2VlZFByb3ZpZGVyIChDQVNTQU5EUkEtMTY2OSkKICogRml4IGNsdXN0ZXJ0b29sIHRvIG5vdCB0aHJvdyBleGNlcHRpb24gd2hlbiBjYWxsaW5nIGdldF9lbmRwb2ludHMgKENBU1NBTkRSQS0yNDM3KQogKiB1cGdyYWRlIHRvIHRocmlmdCAwLjYgKENBU1NBTkRSQS0yNDEyKZ2MwK0AAAFP3jyyXAAQIHJlcGFpcmVkQXQgb24gbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtjwAAAQBzIG92ZXIgSk1YIChDQVNTQU5EUkEtMjgwNSkKICogYWRkIHJvdy1sZXZlbCBpc29sYXRpb24gdmlhIFNuYXBUcmVlIChDQVNTQU5EUkEtMjg5MykKICogT3B0aW1pemUga2V5IGNvdW50IGVzdGltYXRpb24gd2hlbiBvcGVuaW5nIHNzdGFibGUgb24gc3RhcnR1cAogICAoQ0FTU0FORFJBLTI5ODgpCiAqIG11bHRpLWRjIHJlcGxpY2F0aW9uIG9wdGltaXphdGlvbiBzdXBwb3J0aW5nIENMID4gT05FIChDQVNTQU5EUkEtMzU3NykKICogYWRkIGNvbW1hNOGiOgAAAU/ePLJcABBSQS01MTk5KQogKiBtYWtlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2PAAABAHIgc3RyZWFtaW5nIChDQVNTQU5EUkEtMzUzNikKICogZmlsdGVyIG91dCB1bmF2YWlsYWJsZSBjaXBoZXIgc3VpdGVzIHdoZW4gdXNpbmcgZW5jcnlwdGlvbiAoQ0FTU0FORFJBLTMxNzgpCiAqIChIQURPT1ApIGFkZCBvbGQtc3R5bGUgYXBpIHN1cHBvcnQgZm9yIENGSUYgYW5kIENGUlIgKENBU1NBTkRSQS0yNzk5KQogKiBTdXBwb3J0IFRpbWVVVUlEVHlwZSBjb2x1bW4gbmFtZXMgaW4gU3RyZXNzLmphdmEgdG9vbCAoQ0FTU0FORFJBLTM1NDEpCiBpFv2lAAABT948slwAEGV0dWF0aW5nIG9ic29sZXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILY8AAAEAIHZhbGlkYXRlU2NoZW1hQWdyZWVtZW50IGNhbGwgKyBzeW5jaHJvbml6YXRpb24gdG8gc2NoZW1hCiAgIG1vZGlmaWNhdGlvbiBvcGVyYXRpb25zIChDQVNTQU5EUkEtMjIyMikKICogZml4IGZvciByZXZlcnNlZCBzbGljZSBxdWVyaWVzIG9uIGxhcmdlIHJvd3MgKENBU1NBTkRSQS0yMjEyKQogKiBmYXQgY2xpZW50cyB3ZXJlIHdyaXRpbmcgbG9jYWwgZGF0YSAoQ0FTU0FORFJBLTIyMjMpCiAqIHNldCBERUZBVUxUX01FTVRBQkxFX0xJRkVUSU1FX4L/4C0AAAFP3jyyXAAQYiAoQ0FTU0FORFJBLTM2NAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtjwAAAQAvcm93IGRlbGV0ZSB0bwogICBjYXNzYW5kcmEtY2xpIChDQVNTQU5EUkEtNTY3LCBDQVNTQU5EUkEtNTk0KQogKiBmaXggcmV0dXJuaW5nIGxpdmUgc3ViY29sdW1ucyBvZiBkZWxldGVkIHN1cGVyY29sdW1ucyAoQ0FTU0FORFJBLTU4MykKICogcmVzcGVjdCBKQVZBX0hPTUUgaW4gYmluLyBzY3JpcHRzIChzZXZlcmFsIHRpY2tldHMpCiAqIGFkZCBTdG9yYWdlU2VydmljZS5pbml0Q2xpZW50IGZvciBmYXQgY2xpZW50cyBvbiB0aGUgSlZNIChDQVNTnwgaEAAAAU/ePLJcABBSQS01NTIwKQogKiBGaXggAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2PAAABAHB1dCBvcHRpb24gKHNlZSBFWFBBTkQpIChDQVNTQU5EUkEtNTU5NykKICogQWRkIGEgcmF0ZSBsaW1pdCBvcHRpb24gdG8gc3RyZXNzIChDQVNTQU5EUkEtNTAwNCkKICogaGF2ZSBCdWxrTG9hZGVyIGlnbm9yZSBzbmFwc2hvdHMgZGlyZWN0b3JpZXMgKENBU1NBTkRSQS01NTg3KSAKICogZml4IFNuaXRjaFByb3BlcnRpZXMgbG9nZ2luZyBjb250ZXh0IChDQVNTQU5EUkEtNTYwMikKICogRXhwb3NlIHdoZXRoZXIgam5hIGlzIGVuYWJsZWQgYW5kIG0vPs71AAABT948slwAEGVudHMgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILY8AAAEAb20gdGhyaWZ0IChDQVNTQU5EUkEtNjE4MikKICogY3Fsc2g6IGZpeCBMSVNUIFVTRVJTIG91dHB1dCAoQ0FTU0FORFJBLTYyNDIpCiAqIEFkZCBJUmVxdWVzdFNpbmsgaW50ZXJmYWNlIChDQVNTQU5EUkEtNjI0OCkKICogVXBkYXRlIG1lbXRhYmxlIHNpemUgd2hpbGUgZmx1c2hpbmcgKENBU1NBTkRSQS02MjQ5KQogKiBQcm92aWRlIGhvb2tzIGFyb3VuZCBDUUwyL0NRTDMgc3RhdGVtZW50IGV4ZWN1dGlvbiAoQ0FTU0FORFJBLTYyNTIpCiAqIFJlcbG4FMIAAAFP3jyyXAAQZXMgZm9yIFx3KyAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtjwAAAQBhZyB0byBEZXNjcmlwdG9yIGhhc2hjb2RlIChDQVNTQU5EUkEtNDAyMSkKICogZml4IGxvZ2dpbmcgb2YgIkZvdW5kIHRhYmxlIGRhdGEgaW4gZGF0YSBkaXJlY3RvcmllcyIgd2hlbiBvbmx5IHN5c3RlbSB0YWJsZXMKICAgYXJlIHByZXNlbnQgKENBU1NBTkRSQS01Mjg5KQogKiBjbGk6IEFkZCBKTVggYXV0aGVudGljYXRpb24gc3VwcG9ydCAoQ0FTU0FORFJBLTUwODApCiAqIG5vZGV0b29sOiBhYmlsaXR5IHRvIHJlcGFpciBzcGVjaWZpYyByYW5n3PMkywAAAU/ePLJcABBEUkEtMjUyOCkKICogUmVtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2PAAABACB0byBsaW1pdCBudW1iZXIgb2YgY29sdW1ucyBhbmQgdGhlaXIgb3JkZXIgKENBU1NBTkRSQS0zMDEyKQogKiBpZ25vcmUgZGVwcmVjYXRlZCBLc0RlZi9DZkRlZi9Db2x1bW5EZWYgZmllbGRzIGluIG5hdGl2ZSBzY2hlbWEgKENBU1NBTkRSQS0zOTYzKQogKiBDTEkgdG8gcmVwb3J0IHdoZW4gdW5zdXBwb3J0ZWQgY29sdW1uX21ldGFkYXRhIHBhaXIgd2FzIGdpdmVuIChDQVNTQU5EUkEtMzk1OSkKICogcmVpbmNhcm5hdGUgcmVtb3ZlZCBhbmQgZGV+dokRAAABT948slwAEHJhbCB0aWNrZXRzKQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILY8AAAEAeCBuYW1lcywgd2hlbiBubyBpbmRleCBleGlzdHMgKENBU1NBTkRSQS0yODY3KQogKiBkb24ndCBzYW1wbGUgdGhlIHN5c3RlbSB0YWJsZSB3aGVuIGNob29zaW5nIGEgYm9vdHN0cmFwIHRva2VuCiAgIChDQVNTQU5EUkEtMjgyNSkKICogZ29zc2lwZXIgbm90aWZpZXMgb2YgbG9jYWwgc3RhdGUgY2hhbmdlcyAoQ0FTU0FORFJBLTI5NDgpCiAqIGFkZCBhc3luY2hyb25vdXMgYW5kIGhhbGYtc3luYy9oYWxmLWFzeW5jIChoc2hhKSB0aHJpZnQgc2Vydp7wL0MAD1sPSrYCegAAAU/ePLJcABBSQS04MDczKQogKiBTZW5kAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2RAAABACBHQyB0YWtlcyA8IDFtcyAoQ0FTU0FORFJBLTM2NTYpCiAqIHByZXZlbnQgbmV3IG5vZGVzIGZyb20gdGhpbmtpbmcgZG93biBub2RlcyBhcmUgdXAgZm9yZXZlciAoQ0FTU0FORFJBLTM2MjYpCiAqIHVzZSBjb3JyZWN0IGxpc3Qgb2YgcmVwbGljYXMgZm9yIExPQ0FMX1FVT1JVTSByZWFkcyB3aGVuIHJlYWQgcmVwYWlyCiAgIGlzIGRpc2FibGVkIChDQVNTQU5EUkEtMzY5NikKICogYmxvY2sgb24gZmx1c2ggYmVmb3JlIGNvbXBhY3RpbmcgaGludHPU/Rj3AAABT948slwAEHQgc3VwZXIgdXNlciBzZXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZEAAAEAb2NraW5nIGdvc3NpcCB3aGlsZSBkZWxldGluZyBoYW5kb2ZmIGhpbnRzIChDQVNTQU5EUkEtMjA3MykKICogaWdub3JlIG1lc3NhZ2VzIGZyb20gbmV3ZXIgdmVyc2lvbnMsIGtlZXAgdHJhY2sgb2Ygbm9kZXMgaW4gZ29zc2lwIAogICByZWdhcmRsZXNzIG9mIHZlcnNpb24gKENBU1NBTkRSQS0xOTcwKQogKiBjYWNoZSB3cml0aW5nIG1vdmVkIHRvIENvbXBhY3Rpb25NYW5hZ2VyIHRvIHJlZHVjZSBpL28gY29udGVudGlvbiBhbmQKICAgdXBkYXRlZObyHPIAAAFP3jyyXAAQZXRvb2wgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtkQAAAQBlIGEgcmFuZ2UgYXdhcmUgc2Nhbm5lciBmb3IgY2xlYW51cCAoQ0FTU0FORFJBLTI1MjQpCiAqIENsZWFudXAgZG9lc24ndCBuZWVkIHRvIGluc3BlY3Qgc3N0YWJsZXMgdGhhdCBjb250YWluIG9ubHkgbG9jYWwgZGF0YQogICAoQ0FTU0FORFJBLTU3MjIpCiAqIEFkZCBhYmlsaXR5IGZvciBDUUwzIHRvIGxpc3QgcGFydGl0aW9uIGtleXMgKENBU1NBTkRSQS00NTM2KQogKiBJbXByb3ZlIG5hdGl2ZSBwcm90b2NvbCBzZXJpYWxpemF0aW9uIChDQVNTAOFQLgAAAU/ePLJcABBvdXRzaWRlIG9mIE5UUyAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2RAAABACBvbgogICBhIG51bGwgbGlzdCBjb2xsZWN0aW9uIChDQVNTQU5EUkEtOTA3NykKICogQnVmZmVyIGJsb29tIGZpbHRlciBzZXJpYWxpemF0aW9uIChDQVNTQU5EUkEtOTA2NikKICogRml4IGFudGktY29tcGFjdGlvbiB0YXJnZXQgYmxvb20gZmlsdGVyIHNpemUgKENBU1NBTkRSQS05MDYwKQogKiBNYWtlIEZST1pFTiBhbmQgVFVQTEUgdW5yZXNlcnZlZCBrZXl3b3JkcyBpbiBDUUwgKENBU1NBTkRSQS05MDQ3KQogKiBQcmV2ZW50IEFzc2VydGlvbkWM0hFcAAABT948slwAEENBU1NBTkRSQS0xNzg4LCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZEAAAEAY2hlY2tpbmcgZm9yIG5ldyBjYW5kaWRhdGVzCiAgIHBvc3QtdGFzayBleGVjdXRpb24sIGVuYWJsaW5nIG1vcmUgY29uc2lzdGVudCBsZXZlbGVkIGNvbXBhY3Rpb24gCiAgIChDQVNTQU5EUkEtMzM5MSkKICogQ2FjaGUgSFNIQSB0aHJlYWRzIChDQVNTQU5EUkEtMzM3MikKICogdXNlIENGL0tTIG5hbWVzIGFzIHNuYXBzaG90IHByZWZpeCBmb3IgZHJvcCArIHRydW5jYXRlIG9wZXJhdGlvbnMKICAgKENBU1NBTkRSQS0yOTk3KQogKiBCcmVhayBibDDhb3wAAAFP3jyyXAAQZSBOUEUgb24gc3RhcnR1cAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtkQAAAQBpZ3JhdGlvbiBjb2RlIChDQVNTQU5EUkEtNTk5NikKICogUmVtb3ZlIENGRGVmaW5pdGlvbiAoQ0FTU0FORFJBLTYyNTMpCiAqIFVzZSBBdG9taWNJbnRlZ2VyRmllbGRVcGRhdGVyIGluIFJlZkNvdW50ZWRNZW1vcnkgKENBU1NBTkRSQS02Mjc4KQogKiBVc2VyLWRlZmluZWQgdHlwZXMgZm9yIENRTDMgKENBU1NBTkRSQS01NTkwKQogKiBVc2Ugb2Ygby5hLmMubWV0cmljcyBpbiBub2RldG9vbCAoQ0FTU0FORFJBLTU4NzEsIDY0MDYpCiAqIEJhdGNoa0+HggAAAU/ePLJcABBibGVkIGVhcmx5IG9wZW4gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2RAAABACBmaXggQ09QWSBGUk9NIHdpdGggUmV2ZXJzZWRUeXBlIChDQVNTQU5EUkEtNTYxMCkKICogQWxsb3cgY3JlYXRpbmcgQ1VTVE9NIGluZGV4ZXMgb24gY29sbGVjdGlvbnMgKENBU1NBTkRSQS01NjE1KQogKiBFdmFsdWF0ZSBub3coKSBmdW5jdGlvbiBhdCBleGVjdXRpb24gdGltZSAoQ0FTU0FORFJBLTU2MTYpCiAqIEV4cG9zZSBkZXRhaWxlZCByZWFkIHJlcGFpciBtZXRyaWNzIChDQVNTQU5EUkEtNTYxOCkKICogQ29ycmVjdCBibG9iIGxpdGVyYWxjJOOrAAABT948slwAEGggc3N0YWJsZTJqc29uIGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZEAAAEAMzkpCiAqIGF2b2lkIHByZXNlcnZpbmcgbG9naW4gaW5mb3JtYXRpb24gYWZ0ZXIgY2xpZW50IGRpc2Nvbm5lY3RzCiAgIChDQVNTQU5EUkEtMTA1NykKICogcHJlZmVyIHN1biBqZGsgdG8gb3BlbmpkayBpbiBkZWJpYW4gaW5pdCBzY3JpcHQgKENBU1NBTkRSQS0xMTc0KQogKiBkZXRlY3QgcGFydGlvbmVyIGNvbmZpZyBjaGFuZ2VzIGJldHdlZW4gcmVzdGFydHMgYW5kIGZhaWwgZmFzdCAKICAgKENBU1NBTkRSQS0xMTQ2KQogKiB1c2UgZ2VuZXJhdPsvBoMAAAFP3jyyXAAQTkRSQS0zNjQ0KQogKiBJbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtkQAAAQAoQ0FTU0FORFJBLTE4NzIpCiAqIGFkZCBjb25maWd1cmFibGUgcm93IGxpbWl0IHRvIFBpZyBsb2FkZnVuYyAoQ0FTU0FORFJBLTIyNzYpCiAqIHZhbGlkYXRlIGNvbHVtbiB2YWx1ZXMgaW4gYmF0Y2hlcyBhcyB3ZWxsIGFzIHNpbmdsZS1Db2x1bW4gaW5zZXJ0cwogICAoQ0FTU0FORFJBLTIyNTkpCiAqIG1vdmUgc2FtcGxlIHNjaGVtYSBmcm9tIGNhc3NhbmRyYS55YW1sIHRvIHNjaGVtYS1zYW1wbGUudHh0LAogICBhIGNsaSBzY3JpcHRzIChDQVNTvDSFmgAAAU/ePLJcABA3NykKICogdXNlIEpOQSwgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2RAAABACBjb21tYW5kIHRvIHN0b3AgY29tcGFjdGlvbnMgKENBU1NBTkRSQS0xNzQwLCAzNTY2LCAzNTgyKQogKiBtdWx0aXRocmVhZGVkIHN0cmVhbWluZyAoQ0FTU0FORFJBLTM0OTQpCiAqIHJlbW92ZWQgaW4tdHJlZSByZWRoYXQgc3BlYyAoQ0FTU0FORFJBLTM1NjcpCiAqICJkZWZyYWdtZW50IiByb3dzIGZvciBuYW1lLWJhc2VkIHF1ZXJpZXMgdW5kZXIgU1RDUywgYWdhaW4gKENBU1NBTkRSQS0yNTAzKQogKiBSZWN5Y2xlIGNvbW1pdGxvZyBzZWdtZW7/azjHAAABT948slwAEDM5KQogKiBBZGQgeWFtbCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZEAAAEAZXlzcGFjZT47IiBDTEkgY29tbWFuZCAoQ0FTU0FORFJBLTMyMDgpCiAqIERvbid0IGFsbG93IGFueSBjYWNoZSBsb2FkaW5nIGV4Y2VwdGlvbnMgdG8gaGFsdCBzdGFydHVwIChDQVNTQU5EUkEtMzIxOCkKICogRml4IHNzdGFibGVsb2FkZXIgLS1pZ25vcmVzIG9wdGlvbiAoQ0FTU0FORFJBLTMyNDcpCiAqIEZpbGUgZGVzY3JpcHRvciBsaW1pdCBpbmNyZWFzZWQgaW4gcGFja2FnaW5nIChDQVNTQU5EUkEtMzIwNikKICogRml4IGRlYWRsb2NrIGluIM1MgAsAAAFP3jyyXAAQMTk1MSkKICogZml4IENMSQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtkQAAAQBTU0FORFJBLTU3NTQpCiAqIFN1cHBvcnQgcmFuZ2UgdG9tYnN0b25lcyBpbiB0aHJpZnQgKENBU1NBTkRSQS01NDM1KQogKiBOb3JtYWxpemUgdGFibGUtbWFuaXB1bGF0aW5nIENRTDMgc3RhdGVtZW50cycgY2xhc3MgbmFtZXMgKENBU1NBTkRSQS01NzU5KQogKiBjcWxzaDogYWRkIG1pc3NpbmcgdGFibGUgb3B0aW9ucyB0byBERVNDUklCRSBvdXRwdXQgKENBU1NBTkRSQS01NzQ5KQogKiBGaXggYXNzZXJ0aW9uIGVycm9yIGR1cmluZyByZXBhaXIgJD+IEQAAAU/ePLJcABBoZXIgdGhhbiBhIGNvbmZpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2RAAABAG1ha2Ugc3VyZSB0cnVuY2F0ZSBjbGVhcnMgb3V0IHRoZSBjb21taXRsb2cgc28gcmVwbGF5IHdvbid0IHJlLQogICBwb3B1bGF0ZSB3aXRoIHRydW5jYXRlZCBkYXRhIChDQVNTQU5EUkEtMjk1MCkKICogZml4IE5QRSB3aGVuIGRlYnVnIGxvZ2dpbmcgaXMgZW5hYmxlZCBhbmQgZHJvcHBlZCBDRiBpcyBwcmVzZW50CiAgIGluIGEgY29tbWl0bG9nIHNlZ21lbnQgKENBU1NBTkRSQS0zMDIxKQogKiBmaXggY2Fzc2FuZHJhLmJhdCB3aGVuIENBU1NBTkSe7Q/fAAABT948slwAEFNBTkRSQS0xOTYzKQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZEAAAEAcm9wIGp1c3QgdGhlIGluZGV4IHdoaWxlIGxlYXZpbmcgdGhlIGNvbHVtbgogICBkZWZpbml0aW9uIGFsb25lIChDQVNTQU5EUkEtMjYxOSkKICAKCjAuOC4wLWJldGExCiAqIHJlbW92ZSBBdnJvIFJQQyBzdXBwb3J0IChDQVNTQU5EUkEtOTI2KQogKiBzdXBwb3J0IGZvciBjb2x1bW5zIHRoYXQgYWN0IGFzIGluY3IvZGVjciBjb3VudGVycyAKICAgKENBU1NBTkRSQS0xMDcyLCAxOTM3LCAxOTQ0LCAxOTM2LCAyMTAxLCAyMDkzLCAyMjg4LCAyMTA1LAgYf1YAAAFP3jyyXAAQdG8gZGVzY3JpYmUgdGhyaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtkQAAAQB0YWNraW5nIHVwIGF0IENMLk9ORSAoQ0FTU0FORFJBLTI4ODkpCiAqIChjcWwzKSBCYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBmb3IgY29tcG9zaXRlIGNvbXBhcmF0b3JzIGluIG5vbi1jcWwzLWF3YXJlCiAgIGNsaWVudHMgKENBU1NBTkRSQS00MDkzKQogKiAoY3FsMykgRml4IG9yZGVyIGJ5IGZvciByZXZlcnNlZCBxdWVyaWVzIChDQVNTQU5EUkEtNDE2MCkKICogKGNxbDMpIEFkZCBSZXZlcnNlZFR5cGUgc3VwcG9ydCAoQ0FTU0FORFJBLTQwMDQpR5XaXQAPb2wACqFXAAABT948slwAECAgIChDQVNTQU5EUkEtMjEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZQAAAEAU1NBTkRSQS0yMDE0KQogKiBNYWtlIG1lbXRhYmxlX2ZsdXNoX3dyaXRlcnMgZmx1c2ggaW4gcGFyYWxsZWwgKENBU1NBTkRSQS0yMTc4KQogKiBBZGQgY29tcGFjdGlvbl9wcmVoZWF0X2tleV9jYWNoZSBvcHRpb24gKENBU1NBTkRSQS0yMTc1KQogKiByZWZhY3RvciBzdHJlc3MucHkgdG8gaGF2ZSBvbmx5IG9uZSBjb3B5IG9mIHRoZSBmb3JtYXQgc3RyaW5nIAogICB1c2VkIGZvciBjcmVhdGluZyByb3cga2V5cyAoQ0FTU0FORFJBLTIxMDgpCiAqIKbnHSIAAAFP3jyyXAAQdyBzY3J1YiB0byBoYW5kbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtlAAAAQB2ZXJzaW9uaW5nIChDQVNTQU5EUkEtNTQzNikKICogU3dhcCBUSHNoYVNlcnZlciBmb3IgVFRocmVhZGVkU2VsZWN0b3JTZXJ2ZXIgKENBU1NBTkRSQS01NTMwKQogKiBBZGQgYWxpYXMgc3VwcG9ydCB0byBTRUxFQ1Qgc3RhdGVtZW50IChDQVNTQU5EUkEtNTA3NSkKICogRG9uJ3QgY3JlYXRlIGVtcHR5IFJvd011dGF0aW9ucyBpbiBDb21taXRMb2dSZXBsYXllciAoQ0FTU0FORFJBLTU1NDEpCiAqIFVzZSByYW5nZSB0b21ic3RvbmVzIHdoZW4gZHJvJISjvQAAAU/ePLJcABBPTkUgb3IgQ0wuTE9DQUxfAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2UAAABAHJlc3VsdCBzZXQgbWV0YWRhdGEgKENBU1NBTkRSQS00NzE3KQogKiBCYWNrcG9ydCBhZGRpbmcgQWx0ZXJLZXlzcGFjZSBzdGF0ZW1lbnQgKENBU1NBTkRSQS00NjExKQogKiAoQ1FMMykgQ29ycmVjdHkgYWNjZXB0IHVwcGVyLWNhc2UgZGF0YSB0eXBlcyAoQ0FTU0FORFJBLTQ3NzApCiAqIEFkZCBiaW5hcnkgcHJvdG9jb2wgZXZlbnRzIGZvciBzY2hlbWEgY2hhbmdlcyAoQ0FTU0FORFJBLTQ2ODQpCk1lcmdlZCBmcm9tIDEuMDoKICogU3dpdGNoIGbjfE4OAAABT948slwAEFNTQU5EUkEtMzI3NSkKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZQAAAEAKQogKiBSYW5kb21pemUgYmF0Y2hsb2cgY2FuZGlkYXRlcyBzZWxlY3Rpb24gKENBU1NBTkRSQS02NDgxKQogKiBGaXggdGh1bmRlcmluZyBoZXJkIG9uIGVuZHBvaW50IGNhY2hlIGludmFsaWRhdGlvbiAoQ0FTU0FORFJBLTYzNDUsIDY0ODUpCiAqIEltcHJvdmUgYmF0Y2hsb2cgd3JpdGUgcGVyZm9ybWFuY2Ugd2l0aCB2bm9kZXMgKENBU1NBTkRSQS02NDg4KQogKiBjcWxzaDogcXVvdGUgc2luZ2xlIHF1b3RlcyBpbiBzdHJpbmdzIGluc2lkZSBjb4ynYOAAAAFP3jyyXAAQc2luZyB0YWJsZSBvcHRpbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtlAAAAQBpbmtzIHByb3Blcmx5IChDQVNTQU5EUkEtNjQyNSkKICogRml4IHBvdGVudGlhbCBpbmZpbml0ZSBsb29wIHdoZW4gcGFnaW5nIHF1ZXJ5IHdpdGggSU4gKENBU1NBTkRSQS02NDY0KQogKiBGaXggYXNzZXJ0aW9uIGVycm9yIGluIEFic3RyYWN0UXVlcnlQYWdlci5kaXNjYXJkRmlyc3QgKENBU1NBTkRSQS02NDQ3KQogKiBGaXggc3RyZWFtaW5nIG9sZGVyIFNTVGFibGUgeWllbGRzIHVubmVjZXNzYXJ5IHRvbWJzdG9uZXMgKENBU1NBTkRSQS02NTI32wmmhwAAAU/ePLJcABBpbGlzZXMgb2ZmaGVhcCBtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2UAAABAGVyY29sdW1uIGRlc2VyaWFsaXphdGlvbiAoQ0FTU0FORFJBLTE4OTEpCiAqIGZpeCBDRk1ldGFEYXRhLmFwcGx5IHRvIG9ubHkgY29tcGFyZSBvYmplY3RzIG9mIHRoZSBzYW1lIGNsYXNzIAogICAoQ0FTU0FORFJBLTE5NjIpCiAqIGFsbG93IHNwZWNpZnlpbmcgc3BlY2lmaWMgU1NUYWJsZXMgdG8gY29tcGFjdCBmcm9tIEpNWCAoQ0FTU0FORFJBLTE5NjMpCiAqIGZpeCByYWNlIGNvbmRpdGlvbiBpbiBNZXNzYWdpbmdTZXJ2aWNlLnRhcmdldHMgKEMgMy8pAAABT948slwAEEpNWCAoQ0FTU0FORFJBLTUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZQAAAEAIFNTTCBzdXBwb3J0IGZvciB0aGUgYmluYXJ5IHByb3RvY29sIChDQVNTQU5EUkEtNTAzMSkKICogQWxsb3cgbm9uLXNjaGVtYSBzeXN0ZW0ga3MgbW9kaWZpY2F0aW9uIGZvciBzaHVmZmxlIHRvIHdvcmsgKENBU1NBTkRSQS01MDk3KQogKiBjcWxzaDogQWRkIGRlZmF1bHQgbGltaXQgdG8gU0VMRUNUIHN0YXRlbWVudHMgKENBU1NBTkRSQS00OTcyKQogKiBjcWxzaDogZml4IERFU0NSSUJFIGZvciAxLjEgY2ZzIGluIENRTDMgKENBU1NBTkRSQS01Me+zKi8AAAFP3jyyXAAQIEVYUEFORCkgKENBU1NBTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtlAAAAQBhdGVtZW50cyAoQ0FTU0FORFJBLTgyMzEpCiAqIENlbnRyYWxpemUgc2hhcmVkIGV4ZWN1dG9ycyAoQ0FTU0FORFJBLTgwNTUpCiAqIEZpeCBmaWx0ZXJpbmcgZm9yIENPTlRBSU5TIChLRVkpIHJlbGF0aW9ucyBvbiBmcm96ZW4gY29sbGVjdGlvbgogICBjbHVzdGVyaW5nIGNvbHVtbnMgd2hlbiB0aGUgcXVlcnkgaXMgcmVzdHJpY3RlZCB0byBhIHNpbmdsZQogICBwYXJ0aXRpb24gKENBU1NBTkRSQS04MjAzKQogKiBEbyBtb3JlIGFnZ3Jlc3NpdmUgJ6vW7wAAAU/ePLJcABB2ZXJzaW9uIG51bWJlciBwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2UAAABACBhIHNlcGFyYXRlIHRocmVhZCAoQ0FTU0FORFJBLTUyNzMpCiAqIFdyaXRlIHJvdyBtYXJrZXJzIHdoZW4gc2VyaWFsaXppbmcgc2NoZW1hIChDQVNTQU5EUkEtNTU3MikKICogQ2hlY2sgb25seSBTU1RhYmxlcyBmb3IgdGhlIHJlcXVlc3RlZCByYW5nZSB3aGVuIHN0cmVhbWluZyAoQ0FTU0FORFJBLTU1NjkpCiAqIEltcHJvdmUgYmF0Y2hsb2cgcmVwbGF5IGJlaGF2aW9yIGFuZCBoaW50IHR0bCBoYW5kbGluZyAoQ0FTU0FORFJBLTUzMTQpCiAqIEWOSmLqAAABT948slwAECAoQ0FTU0FORFJBLTg0MDYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZQAAAEAYXRjaGluZyBhIERhdGFGaWxlRGlyZWN0b3J5IChDQVNTQU5EUkEtODg4KQogKiBkZWZhdWx0IGtleSBjYWNoZSBzaXplIGlzIDIwMGsgZW50cmllcywgY2hhbmdlZCBmcm9tIDEwJSAoQ0FTU0FORFJBLTg2MykKICogYWRkIC1EY2Fzc2FuZHJhLWZvcmVncm91bmQ9eWVzIHRvIGNhc3NhbmRyYS5iYXQKICogZXhpdCBpZiBjbHVzdGVyIG5hbWUgaXMgY2hhbmdlZCB1bmV4cGVjdGVkbHkgKENBU1NBTkRSQS03NjkpCgoKMC42LjAtYmV0YTEvYmV0YTIKIDs995MAAAFP3jyyXAAQb24tZW1wdHkgbGluZXMgZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtlAAAAQBvZGV0b29sIHJhbmdla2V5c2FtcGxlIChDQVNTQU5EUkEtMjkxNykKICogRml4IHN0cmVhbWluZyB0b28gbXVjaCBkYXRhIGR1cmluZyBtb3ZlIG9wZXJhdGlvbnMgKENBU1NBTkRSQS0zNjM5KQogKiBOb2RldG9vbCBhbmQgQ0xJIGNvbm5lY3QgdG8gbG9jYWxob3N0IGJ5IGRlZmF1bHQgKENBU1NBTkRSQS0zNTY4KQogKiBSZWR1Y2UgbWVtb3J5IHVzZWQgYnkgcHJpbWFyeSBpbmRleCBzYW1wbGUgKENBU1NBTkRSQS0zNzQzKQogKiAoSGFkb29wKSBzHJXA9wAAAU/ePLJcABBuZyBvZiBleGNlcHRpb25zAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2UAAABACBpbmRleGVzIChDQVNTQU5EUkEtNjA5OCkKICogRGVsZXRlIGNhbiBwb3RlbnRpYWxseSBiZSBza2lwcGVkIGluIGJhdGNoIChDQVNTQU5EUkEtNjExNSkKICogQWxsb3cgYWx0ZXIga2V5c3BhY2Ugb24gc3lzdGVtX3RyYWNlcyAoQ0FTU0FORFJBLTYwMTYpCiAqIERpc2FsbG93IGVtcHR5IGNvbHVtbiBuYW1lcyBpbiBjcWwgKENBU1NBTkRSQS02MTM2KQogKiBVc2UgSmF2YTcgZmlsZS1oYW5kbGluZyBBUElzIGFuZCBmaXggZmlsZSBtb3Zpbmcgb27d3BJlAAABT948slwAEG91bmRUY3BDb25uZWN0aW8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZQAAAEAMCkKICogU3VwcG9ydCBuYW1lZCBiaW5kIHZhcmlhYmxlcyBpbiBDUUwgKENBU1NBTkRSQS02MDMzKQpNZXJnZWQgZnJvbSAxLjI6CiAqIEFsbG93IGNhY2hlLWtleXMtdG8tc2F2ZSB0byBiZSBzZXQgYXQgcnVudGltZSAoQ0FTU0FORFJBLTU5ODApCiAqIEF2b2lkIHNlY29uZC1ndWVzc2luZyBvdXQtb2Ytc3BhY2Ugc3RhdGUgKENBU1NBTkRSQS01NjA1KQogKiBUdW5pbmcga25vYnMgZm9yIGRlYWxpbmcgd2l0aCBsYXJnZSBibG9icyBhbmQgbWFueQCyjrwAAAFP3jyyXAAQb3B0aW9uIGlzIHJlbW92ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtlAAAAQAwKQogKiBzdXBwb3J0IG11bHRpcGxlIE11dGF0aW9ucyBwZXIga2V5IGluIGhhZG9vcCBDb2x1bW5GYW1pbHlPdXRwdXRGb3JtYXQKICAgKENBU1NBTkRSQS0xNzc0KQogKiBpbXByb3ZlbWVudHMgdG8gRGViaWFuIGluaXQgc2NyaXB0IChDQVNTQU5EUkEtMTc3MikKICogdXNlIGxvY2FsIGNsYXNzbG9hZGVyIHRvIGNoZWNrIGZvciB2ZXJzaW9uLnByb3BlcnRpZXMgKENBU1NBTkRSQS0xNzc4KQogKiBWYWxpZGF0ZSB0aGF0IGNvbHVtbiBuYW1lcyBpn2f9hAAAAU/ePLJcABBpbmRleGVzIGluIGNsZWFuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2UAAABAENMSSAiZHJvcCBpbmRleCIgCiAgIChDQVNTQU5EUkEtMzA1NCkKICogcHJ1bmUgaW5kZXggc2NhbiByZXN1bHRzZXQgYmFjayB0byBvcmlnaW5hbCByZXF1ZXN0IGZvciBsYXp5CiAgIHJlc3VsdHNldCBleHBhbnNpb24gY2FzZSAoQ0FTU0FORFJBLTI5NjQpCiAqIChIYWRvb3ApIGZhaWwgam9icyB3aGVuIENhc3NhbmRyYSBub2RlIGhhcyBmYWlsZWQgYnV0IFRhc2tUcmFja2VyCiAgIGhhcyBub3QgKENBU1NBTkRSQS0yMzg4KQogKiBmaXggZHluYW3QEYE8AA+DyW+bYkIAAAFP3jyyXAAQICogRml4IEZsdXNoUGVyaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtlgAAAQBSQS02NDYpCiAqIHByb3ZpZGUgYSBwb2xpY3kgZm9yIGRlYWxpbmcgd2l0aCBzaW5nbGUgdGhyZWFkIGV4ZWN1dG9ycyB3LyBhIGZ1bGwgcXVldWUKICAgKENBU1NBTkRSQS02OTQpCiAqIG9wdGltaXplIGlubmVyIHJlYWQgaW4gTWVzc2FnaW5nU2VydmljZSwgdmFzdGx5IGltcHJvdmluZyBtdWx0aXBsZS1ub2RlCiAgIHBlcmZvcm1hbmNlIChDQVNTQU5EUkEtNjc1KQogKiB3YWl0IGZvciB0YWJsZSBmbHVzaCBiZWZvcmUgc3RyZWFtaW5nIGRhdGEgQ5zYzwAAAU/ePLJcABAgaWdub3JlIGFueSBDRiBpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2WAAABAHVsdCBjaGFuZ2VkIHRvIDFtcywgZnJvbSA1MCAoQ0FTU0FORFJBLTM1NTQpCiAqIGFkZCBub2RldG9vbCBzZXRzdHJlYW10aHJvdWdocHV0IChDQVNTQU5EUkEtMzU3MSkKICogZml4IGFzc2VydGlvbiB3aGVuIGRyb3BwaW5nIGEgY29sdW1uZmFtaWx5IHdpdGggbm8gc3N0YWJsZXMgKENBU1NBTkRSQS0zNjE0KQogKiBtb3JlIGVmZmljaWVudCBhbGxvY2F0aW9uIG9mIHNtYWxsIGJsb29tIGZpbHRlcnMgKENBU1NBTkRSQS0zNjE4KQogKiBDTGlicmGWG8D+AAABT948slwAEDApCiAqIHJlZHVjZSBnYXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZYAAAEAb24gb2YgVVBEQVRFIHF1ZXJpZXMgYWdhaW5zdCBjb3VudGVyIGNmcwogICAoQ0FTU0FORFJBLTUzMDApCiAqIEZpeCBQcm9wZXJ0eUZpbGVTbml0Y2ggZGVmYXVsdCBEQy9SYWNrIGJlaGF2aW9yIChDQVNTQU5EUkEtNTI4NSkKICogSGFuZGxlIG51bGwgdmFsdWVzIHdoZW4gZXhlY3V0aW5nIHByZXBhcmVkIHN0YXRlbWVudCAoQ0FTU0FORFJBLTUwODEpCiAqIEFkZCBuZXR0eSB0byBwb20gZGVwZW5kZW5jaWVzIChDQVNTQU5EUkEtNTE4MSkKICogSf1yWaQAAAFP3jyyXAAQdyBzc3RhYmxlc3BsaXQgdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtlgAAAQB2YWxpZCBzZWNvbmRhcnkgaW5kZXhlcwogICAoQ0FTU0FORFJBLTE5MDQpCiAqIGFiaWxpdHkgdG8gZGlzYWJsZS9lbmFibGUgZ29zc2lwIG9uIG5vZGVzIHRvIGZvcmNlIHRoZW0gZG93bgogICAoQ0FTU0FORFJBLTExMDgpCgoKMC43LjAtcmMzCiAqIGV4cG9zZSBnZXROYXR1cmFsRW5kcG9pbnRzIGluIFN0b3JhZ2VTZXJ2aWNlTUJlYW4gdGFraW5nIGJ5dGVbXQogICBrZXk7IFJNSSBjYW5ub3Qgc2VyaWFsaXplIEJ5dGVCdWZmZXIgKENBU1NBTkRSQBhLxwAAAU/ePLJcABBocmlmdCBtZXRob2QgKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2WAAABADA4NywgMzE0NSwgMzE1NCwgMzE4MikKICogSW1wcm92ZW1lbnRzIG9mIHRoZSBDTEkgYGRlc2NyaWJlYCBjb21tYW5kIChDQVNTQU5EUkEtMjYzMCkKICogcmVkdWNlIHdpbmRvdyB3aGVyZSBkcm9wcGVkIENGIHNzdGFibGVzIG1heSBub3QgYmUgZGVsZXRlZCAoQ0FTU0FORFJBLTI5NDIpCiAqIEV4cG9zZSBnb3NzaXAvRkQgaW5mbyB0byBKTVggKENBU1NBTkRSQS0yODA2KQogKiBGaXggc3RyZWFtaW5nIG92ZXIgU1NMIHdoZW4gY29tcHJlc3NlZCDVfYnVAAABT948slwAEG9uIG9mIGZpbmlzaGluZyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZYAAAEAIG9wdGlvbmFsbHkgc2tpcCBicm9rZW4gY291bnRlciBwYXJ0aXRpb25zIChDQVNTQU5EUkEtNTkzMCkKTWVyZ2VkIGZyb20gMS4yOgogKiBmc3luYyBjb21wcmVzc2lvbiBtZXRhZGF0YSAoQ0FTU0FORFJBLTY1MzEpCiAqIFZhbGlkYXRlIENGIGV4aXN0ZW5jZSBvbiBleGVjdXRpb24gZm9yIHByZXBhcmVkIHN0YXRlbWVudCAoQ0FTU0FORFJBLTY1MzUpCiAqIEFkZCBhYmlsaXR5IHRvIHRocm90dGxlIGJhdGNobG9nIHJlcGxheSAoQ0FTU0FORFJBLWPQepMAAAFP3jyyXAAQUkEtMTE0MikKICogYWRkIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtlgAAAQBpeCB0aGUgSW52ZXJ0ZWRJbmRleCB0cmlnZ2VyIGV4YW1wbGUgKENBU1NBTkRSQS03MjExKQogKiBBZGQgLS1yZXNvbHZlLWlwIG9wdGlvbiB0byAnbm9kZXRvb2wgcmluZycgKENBU1NBTkRSQS03MjEwKQogKiByZWR1Y2UgZ2FyYmFnZSBvbiBjb2RlYyBmbGFnIGRlc2VyaWFsaXphdGlvbiAoQ0FTU0FORFJBLTcyNDQpIAogKiBGaXggZHVwbGljYXRlZCBlcnJvciBtZXNzYWdlcyBvbiBkaXJlY3RvcnkgY3JlYXRpb24gZXJyb3IgYXQgc3RhcnR1cCAoELiNagAAAU/ePLJcABB3IChDQVNTQU5EUkEtNDM5AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2WAAABACBzaG91bGQgYWxsb3cgQ0YgbmFtZXMgdG8KICAgYmUgcXVhbGlmaWVkIGJ5IGtleXNwYWNlIChDQVNTQU5EUkEtMzQxOSkKICogYWx3YXlzIHJlbW92ZSBlbmRwb2ludHMgZnJvbSBkZWxldmVyeSBxdWV1ZSBpbiBISCAoQ0FTU0FORFJBLTM1NDYpCiAqIGZpeCByYWNlIGJldHdlZW4gY2YgZmx1c2ggYW5kIGl0cyAybmRhcnkgaW5kZXhlcyBmbHVzaCAoQ0FTU0FORFJBLTM1NDcpCiAqIGZpeCBwb3RlbnRpYWwgcmFjZSBpbiBBRVMgd2hlbiBhIHJlcGFMCURxAAABT948slwAEHRpZXMgYWRkZWQgdG8gQWIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZYAAAEAaWNhdGlvbiBzdXBwb3J0IChDQVNTQU5EUkEtNTA4MCkKICogRml4IGZvcmNlRmx1c2ggYmVoYXZpb3IgKENBU1NBTkRSQS01MjQxKQogKiBjcWxzaDogQWRkIHVzZXJuYW1lIGF1dG9jb21wbGV0aW9uIChDQVNTQU5EUkEtNTIzMSkKICogRml4IENRTDMgY29tcG9zaXRlIHBhcnRpdGlvbiBrZXkgZXJyb3IgKENBU1NBTkRSQS01MjQwKQogKiBBbGxvdyBJTiBjbGF1c2Ugb24gbGFzdCBjbHVzdGVyaW5nIGtleSAoQ0FTU0FORFJBLTUyMzApCk1lcmdlZNZVI0UAAAFP3jyyXAAQdGlvbiB0byBtb3JlIFRocgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtlgAAAQB0ZXIgaW4gQ1FMMyBTZWxlY3RTdGF0ZW1lbnQgKENBU1NBTkRSQS00OTI4KQogKiBTZXBhcmF0ZSB0cmFjaW5nIGZyb20gTG9nNEogKENBU1NBTkRSQS00ODYxKQogKiBFeGNsdWRlIGdjYWJsZSB0b21ic3RvbmVzIGZyb20gbWVya2xlLXRyZWUgY29tcHV0YXRpb24gKENBU1NBTkRSQS00OTA1KQogKiBCZXR0ZXIgcHJpbnRpbmcgb2YgQWJzdHJhY3RCb3VuZHMgZm9yIHRyYWNpbmcgKENBU1NBTkRSQS00OTMxKQogKiBPcHRpbWl6ZSBtb3N0UmVjZW50awnjCgAAAU/ePLJcABAgZnJvbSAxLjI6CiAqIEFsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2WAAABAG92ZSBDYWxsb3V0TG9jYXRpb24gYW5kIFN0YWdpbmdGaWxlRGlyZWN0b3J5IGZyb20gc3RvcmFnZS1jb25mIGZpbGVzIAogICBzaW5jZSB0aG9zZSBzZXR0aW5ncyBhcmUgbm8gbG9uZ2VyIHVzZWQgKENBU1NBTkRSQS04NzgpCiAqIFBhcnNlIGEgbG9uZyBmcm9tIFJvd1dhcm5pbmdUaHJlc2hvbGRJbk1CIGluc3RlYWQgb2YgYW4gaW50IChDQVNTQU5EUkEtODgyKQogKiBSZW1vdmUgb2Jzb2xldGUgQ29udHJvbFBvcnQgY29kZSBmcm9tIERhdGFiYXOi3TYqAAABT948slwAEHZlIGZpbmlzaGVzIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZYAAAEAaWx0ZXIgZGVzZXJpYWxpemF0aW9uIChDQVNTQU5EUkEtMjE2NSkKCgowLjcuMQogKiByZWZhY3RvciBNZXNzYWdlRGlnZXN0IGNyZWF0aW9uIGNvZGUuIChDQVNTQU5EUkEtMjEwNykKICogYnVmZmVyIG5ldHdvcmsgc3RhY2sgdG8gYXZvaWQgaW5lZmZpY2llbnQgc21hbGwgVENQIG1lc3NhZ2VzIHdoaWxlIGF2b2lkaW5nCiAgIHRoZSBuYWdsZS9kZWxheWVkIGFjayBwcm9ibGVtIChDQVNTQU5EUkEtMTg5NikKICogY2hlY2sgbG9nNGogY29uZmlndclCtkYAAAFP3jyyXAAQU1NBTkRSQS01MTQ0KQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtlgAAAQBzaG9ydCByZWFkIHByb3RlY3Rpb24gZm9yIENRTDMgKENBU1NBTkRSQS00ODgyKQogKiBBZGQgdHJhY2luZyBzdXBwb3J0IHRvIHRoZSBiaW5hcnkgcHJvdG9jb2wgKENBU1NBTkRSQS00Njk5KQogKiAoY3FsMykgRG9uJ3QgYWxsb3cgcHJlcGFyZWQgbWFya2VyIGluc2lkZSBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTQ4OTApCiAqIFJlLWFsbG93IG9yZGVyIGJ5IG9uIG5vbi1zZWxlY3RlZCBjb2x1bW5zIChDQVNTQU5EUkEtNDY0NSkKICogQnVnIHdorVQWGAAAAU/ePLJcABAgQ0FTU0FORFJBLTY2MwoKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2WAAABAEFic3RyYWN0VHlwZS9UeXBlU2VyaWFsaXplciBjbGFzc2VzIChDQVNTQU5EUkEtNTc0NCkKICogUmVtb3ZlIHVuaW1wbGVtZW50ZWQgY2xpIG9wdGlvbiBzY2hlbWEtbXd0IChDQVNTQU5EUkEtNTc1NCkKICogU3VwcG9ydCByYW5nZSB0b21ic3RvbmVzIGluIHRocmlmdCAoQ0FTU0FORFJBLTU0MzUpCiAqIE5vcm1hbGl6ZSB0YWJsZS1tYW5pcHVsYXRpbmcgQ1FMMyBzdGF0ZW1lbnRzJyBjbGFzcyBuYW1lcyAoQ0FTU0FORFJBLTU3NTkpCiAqIGNxbHNMFGsNAAABT948slwAEG1wbGlmeSBvdXIgYXZybyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZYAAAEAIHJlLXVzaW5nIFJBUiAoQ0FTU0FORFJBLTY4MzgpCiAqIEZpeCBzdGF0aWMgY291bnRlciBjb2x1bW5zIChDQVNTQU5EUkEtNjgyNykKICogUmVzdG9yZSBleHBpcmluZy0+ZGVsZXRlZCAoY2VsbCkgY29tcGFjdGlvbiBvcHRpbWl6YXRpb24gKENBU1NBTkRSQS02ODQ0KQogKiBGaXggQ29tcGFjdGlvbk1hbmFnZXIubmVlZHNDbGVhbnVwIChDQVNTQU5EUkEtNjg0NSkKICogQ29ycmVjdGx5IGNvbXBhcmUgQm9vbGVhblR5cGUgdmFsdWVzIG90aGVyIAS6qS8AD5gmO+yJxQAAAU/ePLJcABBORFJBLTIzODgpCgoKMC44AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2ZAAABAHVtYmVyIG9mIHJvd3MgcmVhZCBmcm9tIHNhdmVkIGNhY2hlIChDQVNTQU5EUkEtNDI0OSkKICogY2FsY3VsYXRlIGV4YWN0IHNpemUgcmVxdWlyZWQgZm9yIGNsZWFudXAgb3BlcmF0aW9ucyAoQ0FTU0FORFJBLTE0MDQpCiAqIGF2b2lkIGJsb2NraW5nIGFkZGl0aW9uYWwgd3JpdGVzIGR1cmluZyBmbHVzaCB3aGVuIHRoZSBjb21taXRsb2cKICAgZ2V0cyBiZWhpbmQgdGVtcG9yYXJpbHkgKENBU1NBTkRSQS0xOTkxKQogKiBlbmFibGUgY2FjaGluZyB0rx9dAAABT948slwAEGVlIGNvbW1vbiBleGNlcHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZkAAAEAZGF0ZXNXaXRoUGF4b3NUaW1lIChDQVNTQU5EUkEtNTc4NykKICogVGhyaWZ0IGNhcygpIG1ldGhvZCBjcmFzaGVzIGlmIGlucHV0IGNvbHVtbnMgYXJlIG5vdCBzb3J0ZWQgKENBU1NBTkRSQS01Nzg2KQogKiBPcmRlciBjb2x1bW5zIG5hbWVzIGNvcnJlY3RseSB3aGVuIHF1ZXJ5aW5nIGZvciBDQVMgKENBU1NBTkRSQS01Nzg4KQogKiBGaXggc3RyZWFtaW5nIHJldHJ5IChDQVNTQU5EUkEtNTc3NSkKTWVyZ2VkIGZyb20gMS4yOgogKiBpZiBubyBzZTfHPX8AAAFP3jyyXAAQcyBzaG91bGQgcmVwb3J0IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtmQAAAQBpbmRleCAoQ0FTU0FORFJBLTM1ODMpCiAqIGFkZCBub2RldG9vbCByYW5nZWtleXNhbXBsZSAoQ0FTU0FORFJBLTI5MTcpCiAqIEZpeCBzdHJlYW1pbmcgdG9vIG11Y2ggZGF0YSBkdXJpbmcgbW92ZSBvcGVyYXRpb25zIChDQVNTQU5EUkEtMzYzOSkKICogTm9kZXRvb2wgYW5kIENMSSBjb25uZWN0IHRvIGxvY2FsaG9zdCBieSBkZWZhdWx0IChDQVNTQU5EUkEtMzU2OCkKICogUmVkdWNlIG1lbW9yeSB1c2VkIGJ5IHByaW1hcnkgaW5kZXggc2FtcGxl0fVX9QAAAU/ePLJcABAgaW5kZXggd3JpdGUgcGF0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2ZAAABADU5KQogKiBUcmFjayBsaXZlUmF0aW8gcGVyLW1lbXRhYmxlLCBub3QgcGVyLUNGIChDQVNTQU5EUkEtNjk0NSkKICogTWFrZSBzdXJlIHVwZ3JhZGVzc3RhYmxlcyBrZWVwcyBzc3RhYmxlIGxldmVsIChDQVNTQU5EUkEtNjk1OCkKICogRml4IExJTUlUIHdpdGggc3RhdGljIGNvbHVtbnMgKENBU1NBTkRSQS02OTU2KQogKiBGaXggY2xhc2ggd2l0aCBDUUwgY29sdW1uIG5hbWUgaW4gdGhyaWZ0IHZhbGlkYXRpb24gKENBU1NBTkRSQS02ODkyKQogKiBBI2ILAAABT948slwAECBjb2x1bW5zIChDQVNTQU4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZkAAAEAdGFkaXIgZnJvbSBvbGRlciB2ZXJzaW9ucyAoQ0FTU0FORFJBLTkxMTYpCk1lcmdlZCBmcm9tIDIuMDoKICogSWdub3JlIGdvc3NpcCBTWU5zIGFmdGVyIHNodXRkb3duIChDQVNTQU5EUkEtOTIzOCkKICogQXZvaWQgb3ZlcmZsb3cgd2hlbiBjYWxjdWxhdGluZyBtYXggc3N0YWJsZSBzaXplIGluIExDUyAoQ0FTU0FORFJBLTkyMzUpCiAqIE1ha2Ugc3N0YWJsZSBibGFja2xpc3Rpbmcgd29yayB3aXRoIGNvbXByZXNzaW9uIChDQVNTQU5EUkEtOTEzOIWN1f0AAAFP3jyyXAAQdGhlIGNvcnJlY3QgdmVycwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtmQAAAQBvbm5lY3Rpb25zIChDQVNTQU5EUkEtNDI4OCkKICogRGVsZXRlIHVuZmluaXNoZWQgY29tcGFjdGlvbiBpbmNyZW1lbnRhbGx5IChDQVNTQU5EUkEtNjA4NikKICogQWxsb3cgc3BlY2lmeWluZyBjdXN0b20gc2Vjb25kYXJ5IGluZGV4IG9wdGlvbnMgaW4gQ1FMMyAoQ0FTU0FORFJBLTY0ODApCiAqIEltcHJvdmUgcmVwbGljYSBwaW5uaW5nIGZvciBjYWNoZSBlZmZpY2llbmN5IGluIERFUyAoQ0FTU0FORFJBLTY0ODUpCiAqIEZpeCBMT0NBTF9TRVJJGz3/EQAAAU/ePLJcABBldHRlciBoYW5kbGluZyBmAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2ZAAABAGF0aWMgY29sdW1ucyAoQ0FTU0FORFJBLTY5NTYpCiAqIEZpeCBjbGFzaCB3aXRoIENRTCBjb2x1bW4gbmFtZSBpbiB0aHJpZnQgdmFsaWRhdGlvbiAoQ0FTU0FORFJBLTY4OTIpCiAqIEZpeCBlcnJvciB3aXRoIHN1cGVyIGNvbHVtbnMgaW4gbWl4ZWQgMS4yLTIuMCBjbHVzdGVycyAoQ0FTU0FORFJBLTY5NjYpCiAqIEZpeCBiYWQgc2tpcCBvZiBzc3RhYmxlcyBvbiBzbGljZSBxdWVyeSB3aXRoIGNvbXBvc2l0ZSBzdGFydC9maW5pc2ggKENBU1NBTkR8F75TAAABT948slwAEGxkSW5NQiBjb25maWd1cmEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZkAAAEAZGF0YSAoQ0FTU0FORFJBLTE3MTcpCiAqIG1ha2UgY29sdW1uIGZhbWlseSBiYWNrZWQgY29sdW1uIG1hcCBwbHVnZ2FibGUgYW5kIGludHJvZHVjZSB1bnN5bmNocm9uaXplZAogICBBcnJheUxpc3QgYmFja2VkIG9uZSB0byBzcGVlZHVwIHJlYWRzIChDQVNTQU5EUkEtMjg0MywgMzE2NSwgMzIwNSkKICogcmVmYWN0b3Jpbmcgb2YgdGhlIHNlY29uZGFyeSBpbmRleCBhcGkgKENBU1NBTkRSQS0yOTgyKQogKiBtYWtlIENMID4gT05FIHJlYWRzIHdhaZMMNyoAAAFP3jyyXAAQNDUzMykKICogQXZvaWQgTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtmQAAAQBGIGluIHJlYWRhYmxlIHN5c3RlbSByZXNvdXJjZXMgKENBU1NBTkRSQS03OTY3KQogKiBGaXggUm93SW5kZXhFbnRyeSB0byByZXBvcnQgY29ycmVjdCBzZXJpYWxpemVkU2l6ZSAoQ0FTU0FORFJBLTc5NDgpCiAqIE1ha2UgQ1FMU1NUYWJsZVdyaXRlciBzeW5jIHdpdGhpbiBwYXJ0aXRpb25zIChDQVNTQU5EUkEtNzM2MCkKICogUG90ZW50aWFsbHkgdXNlIG5vbi1sb2NhbCByZXBsaWNhcyBpbiBDcWxDb25maWdIZWxwZXIgKENBU1NBTkRSQS03OTA2p5KRVgAAAU/ePLJcABBDQVNTQU5EUkEtMzI1NikKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2ZAAABAGdyYWNlIG9uIGluZGV4IENGIHRvIDAgKENBU1NBTkRSQS00MzE0KQoKCjEuMS4xCiAqIGFkZCBwb3B1bGF0ZV9pb19jYWNoZV9vbl9mbHVzaCBvcHRpb24gKENBU1NBTkRSQS0yNjM1KQogKiBhbGxvdyBsYXJnZXIgY2FjaGUgY2FwYWNpdGllcyB0aGFuIDJHQiAoQ0FTU0FORFJBLTQxNTApCiAqIGFkZCBnZXRzc3RhYmxlcyBjb21tYW5kIHRvIG5vZGV0b29sIChDQVNTQU5EUkEtNDE5OSkKICogYXBwbHkgcGFyZW50IENGIGNvbXBhY3Rpb24gc2V0dGl+OUVeAAABT948slwAECBmb3IgcGFnZSBjYWNoZSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZkAAAEARFJBLTI3ODgpCiAqIGFkZCBqYW1tIGFnZW50IHRvIGNhc3NhbmRyYS5iYXQgKENBU1NBTkRSQS0yNzg3KQogKiBmaXggcmVwYWlyIGhhbmdpbmcgaWYgYSBuZWlnaGJvciBoYXMgbm90aGluZyB0byBzZW5kIChDQVNTQU5EUkEtMjc5NykKICogcHVyZ2UgdG9tYnN0b25lIGV2ZW4gaWYgcm93IGlzIGluIG9ubHkgb25lIHNzdGFibGUgKENBU1NBTkRSQS0yODAxKQogKiBGaXggd3JvbmcgcHVyZ2Ugb2YgZGVsZXRlZCBjZiBkdXJpbmcgY29tcGFjdGlvbopxpKsAAAFP3jyyXAAQU1NBTkRSQS01NzQ5KQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtmQAAAQB5cGUgaW4gcmVzdWx0IHNldCBtZXRhZGF0YSAoQ0FTU0FORFJBLTQ3MTcpCiAqIEJhY2twb3J0IGFkZGluZyBBbHRlcktleXNwYWNlIHN0YXRlbWVudCAoQ0FTU0FORFJBLTQ2MTEpCiAqIChDUUwzKSBDb3JyZWN0eSBhY2NlcHQgdXBwZXItY2FzZSBkYXRhIHR5cGVzIChDQVNTQU5EUkEtNDc3MCkKICogQWRkIGJpbmFyeSBwcm90b2NvbCBldmVudHMgZm9yIHNjaGVtYSBjaGFuZ2VzIChDQVNTQU5EUkEtNDY4NCkKTWVyZ2VkIGZyb20gMS4wOgogKiBTmsiDhQAAAU/ePLJcABA2NDM2KQogKiBGaXggTlBFAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2ZAAABAHVwcG9ydGVkT3BlcmF0aW9uRXhjZXB0aW9uIG9uIENBUyB0aW1lb3V0IChDQVNTQU5EUkEtNjkyMykKICogSW1wcm92ZSBNZXRlcmVkRmx1c2hlciBoYW5kbGluZyBvZiBNRi11bmFmZmVjdGVkIGNvbHVtbiBmYW1pbGllcwogICAoQ0FTU0FORFJBLTY4NjcpCiAqIEFkZCBDcWxSZWNvcmRSZWFkZXIgdXNpbmcgbmF0aXZlIHBhZ2luYXRpb24gKENBU1NBTkRSQS02MzExKQogKiBBZGQgUXVlcnlIYW5kbGVyIGludGVyZmFjZSAoQ0FTU0FORFJBLTY2NTmP0g2sAAABT948slwAEHRoIHRoZSBkZWZhdWx0CiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZkAAAEAb2YgdXNlKQogKiBtYWtlIGNvbnNpc3RlbmN5X2xldmVsIGZ1bmN0aW9uYWwgaW4gZ2V0X3JhbmdlX3NsaWNlIChDQVNTQU5EUkEtNTY4KQogKiBvcHRpbWl6ZSBrZXkgZGVzZXJpYWxpemF0aW9uIGZvciBSYW5kb21QYXJ0aXRpb25lciAoQ0FTU0FORFJBLTU4MSkKICogYXZvaWQgR0NpbmcgdG9tYnN0b25lcyBleGNlcHQgb24gbWFqb3IgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTYwNCkKICogaW5jcmVhc2UgZmFpbHVyZSBjb252aWN0aW9uIHRocmVzaG8iqmEAAAFP3jyyXAAQQVNTQU5EUkEtNjA3NykKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtmQAAAQAgUGVyUm93U2Vjb25kYXJ5SW5kZXggdXBkYXRlcyBzZWUgdGhlIG1vc3QgcmVjZW50IHZhbHVlcwogICAoQ0FTU0FORFJBLTUzOTcpCiAqIGF2b2lkIGR1cGxpY2F0ZSBpbmRleCBlbnRyaWVzIGluZCBQcmVjb21wYWN0ZWRSb3cgYW5kIAogICBQYXJhbGxlbENvbXBhY3Rpb25JdGVyYWJsZSAoQ0FTU0FORFJBLTUzOTUpCiAqIHJlbW92ZSB0aGUgaW5kZXggZW50cnkgb24gb2xkQ29sdW1uIHdoZW4gbmV3IGNvbHVtbiBpcyBhIHRvbWJzdG9uZSAKICAgcT1AXQAPrIOib722AAABT948slwAEFNBTkRSQS01OTk2KQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZsAAAEAMjQ5MykKICogYXZvaWQgZG91YmxlIFJvd011dGF0aW9uIHNlcmlhbGl6YXRpb24gb24gd3JpdGUgcGF0aCAoQ0FTU0FORFJBLTE4MDApCiAqIG1ha2UgTmV0d29ya1RvcG9sb2d5U3RyYXRlZ3kgdGhlIGRlZmF1bHQgKENBU1NBTkRSQS0xOTYwKQogKiBjb25maWd1cmFibGUgaW50ZXJub2RlIGVuY3J5cHRpb24gKENBU1NBTkRSQS0xNTY3LCAyMTUyKQogKiBodW1hbiByZWFkYWJsZSBjb2x1bW4gbmFtZXMgaW4gc3N0YWJsZTJqc29uIG91dHB1dCAoQ13KY2QAAAFP3jyyXAAQZWplY3RlZEV4ZWN1dGlvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtmwAAAQB0cyAoQ0FTU0FORFJBLTgxMDQpCiAqIEZpeCBoaWdoIG1lbW9yeSB1c2UgZHVlIHRvIHRyYWNraW5nIHJlYWRzIG9uIGluY3JlbWVudGFsbHkgb3BlbmVkIHNzdGFibGUKICAgcmVhZGVycyAoQ0FTU0FORFJBLTgwNjYpCiAqIEZpeCBFWEVDVVRFIHJlcXVlc3Qgd2l0aCBza2lwTWV0YWRhdGE9ZmFsc2UgcmV0dXJuaW5nIG5vIG1ldGFkYXRhCiAgIChDQVNTQU5EUkEtODA1NCkKICogQWxsb3cgY29uY3VycmVudCB1c2Ugb2YgQ1FMQnVsa091dHB1dEZv8syVuAAAAU/ePLJcABAKICogRml4IGJhZCBza2lwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2bAAABAERSQS0yODQ5KQogKiBtYWtlIHN1cmUgdHJ1bmNhdGUgY2xlYXJzIG91dCB0aGUgY29tbWl0bG9nIHNvIHJlcGxheSB3b24ndCByZS0KICAgcG9wdWxhdGUgd2l0aCB0cnVuY2F0ZWQgZGF0YSAoQ0FTU0FORFJBLTI5NTApCiAqIGZpeCBOUEUgd2hlbiBkZWJ1ZyBsb2dnaW5nIGlzIGVuYWJsZWQgYW5kIGRyb3BwZWQgQ0YgaXMgcHJlc2VudAogICBpbiBhIGNvbW1pdGxvZyBzZWdtZW50IChDQVNTQU5EUkEtMzAyMSkKICogZml4IGNhc3NhbmRyYS5iYXRqNXg/AAABT948slwAEEFORFJBLTMxNzgpCiAqIFIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZsAAAEAaW5nIHJlcGFpciB3aGVuIGEga2V5c3BhY2UgaGFzIG5vIENGcyAoQ0FTU0FORFJBLTM5ODgpCiAqIEZpeCBkaXZpc2lvbi1ieS16ZXJvIGVycm9yIG9uIGdldF9zbGljZSAoQ0FTU0FORFJBLTQwMDApCiAqIGRvbid0IGNoYW5nZSBtYW5pZmVzdCBsZXZlbCBmb3IgY2xlYW51cCwgc2NydWIsIGFuZCB1cGdyYWRlc3N0YWJsZXMKICAgb3BlcmF0aW9ucyB1bmRlciBMZXZlbGVkQ29tcGFjdGlvblN0cmF0ZWd5IChDQVNTQU5EUkEtMzk4OSwgNDExMikKIE5N56IAAAFP3jyyXAAQYmxlIGZyb20gdGhyaWZ0IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtmwAAAQAKICogTmF0aXZlIHByb3RvY29sIHYzIChDQVNTQU5EUkEtNjg1NSkKICogT3B0aW1pemUgQ2VsbCBsaXZlbmVzcyBjaGVja3MgYW5kIGNsZWFuIHVwIENlbGwgKENBU1NBTkRSQS03MTE5KQogKiBTdXBwb3J0IGNvbnNpc3RlbnQgcmFuZ2UgbW92ZW1lbnRzIChDQVNTQU5EUkEtMjQzNCkKTWVyZ2VkIGZyb20gMi4wOgogKiBBdm9pZCByYWNlLXByb25lIHNlY29uZCAic2NydWIiIG9mIHN5c3RlbSBrZXlzcGFjZSAoQ0FTU0FORFJBLTY3OTcpCiAqIFBvoTElKQAAAU/ePLJcABBvbHVtbnMgaW1wbGljaXRsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2bAAABACBhbmQgR0MtYWJsZSBkYXRhIChDQVNTQU5EUkEtODk3OSkKICogRml4IGluY29ycmVjdCB2YWxpZGF0aW9uIHdoZW4gc25hcHNob3R0aW5nIHNpbmdsZSB0YWJsZSAoQ0FTU0FORFJBLTgwNTYpCiAqIEFkZCBvZmZsaW5lIHRvb2wgdG8gcmVsZXZlbCBzc3RhYmxlcyAoQ0FTU0FORFJBLTgzMDEpCiAqIFByZXNlcnZlIHN0cmVhbSBJRCBmb3IgbW9yZSBwcm90b2NvbCBlcnJvcnMgKENBU1NBTkRSQS04ODQ4KQogKiBGaXggY29tYmluaW5nIHRva2VuKCkJcHgWAAABT948slwAEG9yIGNvbnNpc3RlbmN5IG0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZsAAAEAZCBwYWdpbmcgdG8gZ2V0X2NvdW50IChDQVNTQU5EUkEtMjg5NCkKICogZml4ICJzaG9ydCByZWFkcyIgaW4gW211bHRpXWdldCAoQ0FTU0FORFJBLTI2NDMsIDMxNTcsIDMxOTIpCiAqIGFkZCBvcHRpb25hbCBjb21wcmVzc2lvbiBmb3Igc3N0YWJsZXMgKENBU1NBTkRSQS00NywgMjk5NCwgMzAwMSwgMzEyOCkKICogYWRkIHNjaGVkdWxlciBKTVggbWV0cmljcyAoQ0FTU0FORFJBLTI5NjIpCiAqIGFkZCBibG9jayBsZXZlbCBjaGVja3N1bSBmb3IgY5t/X08AAAFP3jyyXAAQZSB0eXBlIGNvbXBhcmlzbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtmwAAAQBrYWdlIChDQVNTQU5EUkEtMzQ1OCkKICAgKyBkaXNwbGF5IGJ5dGUgZGF0YSBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dCBvbiBkZWNvZGUgZmFpbHVyZSAKICAgICAoQ0FTU0FORFJBLTM4NzQpCiAqIGFkZCBub2RldG9vbCByZWJ1aWxkX2luZGV4IChDQVNTQU5EUkEtMzU4MykKICogYWRkIG5vZGV0b29sIHJhbmdla2V5c2FtcGxlIChDQVNTQU5EUkEtMjkxNykKICogRml4IHN0cmVhbWluZyB0b28gbXVjaCBkYXRhIGR1cmluZyBtb3ZlIG9wZXJhdGlvqg3YoQAAAU/ePLJcABBlcmx5IG9yZGVyIHJhbmdlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2bAAABAHBsaWNhdGUgcm93cyByZXR1cm5lZCB3aGVuIGluIGNsYXVzZSBoYXMgcmVwZWF0ZWQgdmFsdWVzIChDQVNTQU5EUkEtNjcwNikKICogQWRkIHRvb2xpbmcgdG8gZGV0ZWN0IGhvdCBwYXJ0aXRpb25zIChDQVNTQU5EUkEtNzk3NCkKICogRml4IGNhc3NhbmRyYS1zdHJlc3MgdXNlci1tb2RlIHRydW5jYXRpb24gb2YgcGFydGl0aW9uIGdlbmVyYXRpb24gKENBU1NBTkRSQS04NjA4KQogKiBPbmx5IHN0cmVhbSBmcm9tIHVucmVwYWlyZWQgc3N0YWJsZXMievAvAAABT948slwAEC04NzM0KQogKiBQcm92aWQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZsAAAEANjkpCiAqIFNldCBnY19ncmFjZV9zZWNvbmRzIHRvIHNldmVuIGRheXMgZm9yIHN5c3RlbSBzY2hlbWEgdGFibGVzIChDQVNTQU5EUkEtNzY2OCkKICogU2ltcGxlU2VlZFByb3ZpZGVyIG5vIGxvbmdlciBjYWNoZXMgc2VlZHMgZm9yZXZlciAoQ0FTU0FORFJBLTc2NjMpCiAqIFNldCBjb3JyZWN0IHN0cmVhbSBJRCBvbiByZXNwb25zZXMgd2hlbiBub24tRXhjZXB0aW9uIFRocm93YWJsZXMKICAgYXJlIHRocm93biB3aGlsZSBoYW5kbGluZyBuYXRpdnfRGmoAAAFP3jyyXAAQCiAqIEltcHJvdmUgUHJvcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtmwAAAQBja2VyCiAgICBoYXMgbm90IChDQVNTQU5EUkEtMjM4OCkKCgowLjguMgogKiBDUUw6IAogICAtIGluY2x1ZGUgb25seSBvbmUgcm93IHBlciB1bmlxdWUga2V5IGZvciBJTiBxdWVyaWVzIChDQVNTQU5EUkEtMjcxNykKICAgLSByZXNwZWN0IGNsaWVudCB0aW1lc3RhbXAgb24gZnVsbCByb3cgZGVsZXRpb25zIChDQVNTQU5EUkEtMjkxMikKICogaW1wcm92ZSB0aHJlYWQtc2FmZXR5IGluIFN0cmVhbU91dFNlc3Npb24gKENBU1NBTkRSQS0yNzkyKQog2BkBtgAAAU/ePLJcABBlIGRlYWRsb2NrIGR1cmluAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2bAAABAHNpb24gMi4yLjAgKENBU1NBTkRSQS01OTQ3KQogKiBGaXggQ3FsUmVjb3JkV3JpdGVyIHdpdGggY29tcG9zaXRlIGtleXMgKENBU1NBTkRSQS01OTQ5KQogKiBBZGQgc25pdGNoLCBzY2hlbWEgdmVyc2lvbiwgY2x1c3RlciwgcGFydGl0aW9uZXIgdG8gSk1YIChDQVNTQU5EUkEtNTg4MSkKICogQWxsb3cgZGlzYWJsaW5nIFNsYWJBbGxvY2F0b3IgKENBU1NBTkRSQS01OTM1KQogKiBNYWtlIHVzZXItZGVmaW5lZCBjb21wYWN0aW9uIEpNWCBibG9ja2k6BtNcAAABT948slwAEGllcyB3aXRoIHRoZSBzYW0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZsAAAEAciBqYXZhIDcgKENBU1NBTkRSQS00Mjc1KQogKiBjcWxzaDogYWRkIENPUFkgY29tbWFuZCB0byBsb2FkIGRhdGEgZnJvbSBDU1YgZmxhdCBmaWxlcyAoQ0FTU0FORFJBLTQwMTIpCiAqIENGTWV0YURhdGEuZnJvbVRocmlmdCB0byB0aHJvdyBDb25maWd1cmF0aW9uRXhjZXB0aW9uIHVwb24gZXJyb3IgKENBU1NBTkRSQS00MzUzKQogKiBVc2UgQ0YgY29tcGFyYXRvciB0byBzb3J0IGluZGV4ZWQgY29sdW1ucyBpbiBTZWNvbmRhcnlJbmRleE1hbmFnZeSFCsMAAAFP3jyyXAAQLi4gaW4gY29udGludWF0aQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtmwAAAQBrIGxvYWRpbmcgdXNlCiAgIChDQVNTQU5EUkEtMjkxMSkKICogZml4IHJlLXVzaW5nIGluZGV4IENGIHNzdGFibGUgbmFtZXMgYWZ0ZXIgZHJvcC9yZWNyZWF0ZSAoQ0FTU0FORFJBLTI4NzIpCiAqIHByZXBlbmQgQ0YgdG8gZGVmYXVsdCBpbmRleCBuYW1lcyAoQ0FTU0FORFJBLTI5MDMpCiAqIGZpeCBoaW50IHJlcGxheSAoQ0FTU0FORFJBLTI5MjgpCiAqIFByb3Blcmx5IHN5bmNocm9uaXplIHJlcGFpcidzIG1lcmtsZSB0cmVlIGNvbXB1dGF0aW9uJY+NtgAAAU/ePLJcABBlIHRvIGF2b2lkCiAgIHRpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2bAAABAGllcyAoQ0FTU0FORFJBLTMyOTkpCiAqIGF2b2lkIHRydW5jYXRpb24gZXJyb3JzIGJ5IHVzaW5nIGxvbmcgbWF0aCBvbiBsb25nIHZhbHVlcyAoQ0FTU0FORFJBLTMzNjQpCiAqIGF2b2lkIGNsb2NrIGRyaWZ0IG9uIHNvbWUgV2luZG93cyBtYWNoaW5lIChDQVNTQU5EUkEtMzM3NSkKICogZGlzcGxheSBjYWNoZSBwcm92aWRlciBpbiBjbGkgJ2Rlc2NyaWJlIGtleXNwYWNlJyBjb21tYW5kIChDQVNTQU5EUkEtMzM4NCkKICogZml4IGluY29tcGxldGUTTBWhAA/A4L/5GSYAAAFP3jyyXAAQb3cgZHVyaW5nIGNvbXBhYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtnQAAAQAtNzM2NSkKICogRml4IGV4Y2VwdGlvbiB3aGVuIHF1ZXJ5aW5nIGEgY29tcG9zaXRlLWtleWVkIHRhYmxlIHdpdGggYSBjb2xsZWN0aW9uIGluZGV4CiAgIChDQVNTQU5EUkEtNzM3MikKICogVXNlIG5vZGUncyBob3N0IGlkIGluIHBsYWNlIG9mIGNvdW50ZXIgaWRzIChDQVNTQU5EUkEtNzM2NikKICogRml4IGVycm9yIHdoZW4gZG9pbmcgcmV2ZXJzZWQgcXVlcmllcyB3aXRoIHN0YXRpYyBjb2x1bW5zIChDQVNTQU5EUkEtNzQ5MCkKICogQmFja3Bvfds0EAAAAU/ePLJcABBiZXR0ZXIgZXJyb3IgY2hlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2dAAABAG1hIGFncmVlbWVudCBjaGVja2luZyBmcm9tIGFsbCBleHRlcm5hbCBBUElzIChUaHJpZnQsIENRTCBhbmQgQ1FMMykgKENBU1NBTkRSQS00NDg3KQogKiBhZGQgTXVybXVyM1BhcnRpdGlvbmVyIGFuZCBtYWtlIGl0IGRlZmF1bHQgZm9yIG5ldyBpbnN0YWxsYXRpb25zIChDQVNTQU5EUkEtMzc3MiwgNDYyMSkKICogKGNxbDMpIHVwZGF0ZSBwc2V1ZG8tbWFwIHN5bnRheCB0byB1c2UgbWFwIHN5bnRheCAoQ0FTU0FORFJBLTQ0OTcpCiAqIEZpbmVyIGeQCVMlAAABT948slwAEHkgZHVyaW5nIHN5c3RlbV8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZ0AAAEAQVNTQU5EUkEtNTY0MykKICogZG9uJ3QgdGhyb3cgYXdheSBpbml0aWFsIGNhdXNlcyBleGNlcHRpb25zIGZvciBpbnRlcm5vZGUgZW5jcnlwdGlvbiBpc3N1ZXMgCiAgIChDQVNTQU5EUkEtNTY0NCkKICogRml4IG1lc3NhZ2Ugc3BlbGxpbmcgZXJyb3JzIGZvciBjcWwgc2VsZWN0IHN0YXRlbWVudHMgKENBU1NBTkRSQS01NjQ3KQogKiBTdXBwcmVzcyBjdXN0b20gZXhjZXB0aW9ucyB0aHJ1IGpteCAoQ0FTU0FORFJBLTU2NTIpCiAqIFVwZGF0ZSBDUkMKDJAAAAFP3jyyXAAQby1vcCAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtnQAAAQAwLCAxNzExLCAxOTQwLCAKICAgMjEyNCwgMjMwMiwgMjI3NywgMjQ5MykKICogYXZvaWQgZG91YmxlIFJvd011dGF0aW9uIHNlcmlhbGl6YXRpb24gb24gd3JpdGUgcGF0aCAoQ0FTU0FORFJBLTE4MDApCiAqIG1ha2UgTmV0d29ya1RvcG9sb2d5U3RyYXRlZ3kgdGhlIGRlZmF1bHQgKENBU1NBTkRSQS0xOTYwKQogKiBjb25maWd1cmFibGUgaW50ZXJub2RlIGVuY3J5cHRpb24gKENBU1NBTkRSQS0xNTY3LCAyMTUyKQogKiBodW1hbiByZWFkYWJsZSBjH7rRGgAAAU/ePLJcABB0cyAoQ0FTU0FORFJBLTQ3AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2dAAABAE5EUkEtODU4MCkKICogKGNxbHNoKSBIYW5kbGUgbWFwcyB3aXRoIGJsb2Iga2V5cyAoQ0FTU0FORFJBLTgzNzIpCiAqIChjcWxzaCkgSGFuZGxlIER5bmFtaWNDb21wb3NpdGVUeXBlIHNjaGVtYXMgY29ycmVjdGx5IChDQVNTQU5EUkEtODU2MykKICogRHVwbGljYXRlIHJvd3MgcmV0dXJuZWQgd2hlbiBpbiBjbGF1c2UgaGFzIHJlcGVhdGVkIHZhbHVlcyAoQ0FTU0FORFJBLTY3MDYpCiAqIEFkZCB0b29saW5nIHRvIGRldGVjdCBob3QgcGFydGl0aW+YjJlWAAABT948slwAEGVzdWJtaXQgY291bnRlciAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZ0AAAEAU0FORFJBLTY0MTUpCiAqIFdhcm4gd2hlbiBjb2xsZWN0aW9uIHJlYWQgaGFzID4gNjVLIGVsZW1lbnRzIChDQVNTQU5EUkEtNTQyOCkKICogRml4IGNhY2hlIHBlcnNpc3RlbmNlIHdoZW4gYm90aCByb3cgYW5kIGtleSBjYWNoZSBhcmUgZW5hYmxlZCAKICAgKENBU1NBTkRSQS02NDEzKQogKiAoSGFkb29wKSBhZGQgZGVzY3JpYmVfbG9jYWxfcmluZyAoQ0FTU0FORFJBLTYyNjgpCiAqIEZpeCBoYW5kbGluZyBvZiBjb25jdXJyZW50IGRpcmVjdG9yeVYPc6IAAAFP3jyyXAAQaWRlIGNvbGxlY3Rpb25zIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtnQAAAQBSQS0yNzUyKQogKiBhdm9pZCBza2lwcGluZyByb3dzIGluIHNjcnViIGZvciBjb3VudGVyIGNvbHVtbiBmYW1pbHkgKENBU1NBTkRSQS0yNzU5KQogKiBmaXggQ29uY3VycmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlvbiBpbiByZXBhaXIgd2hlbiBkZWFsaW5nIHdpdGggMC43IG5vZGUKICAgKENBU1NBTkRSQS0yNzY3KQogKiB1c2UgdGhyZWFkc2FmZSBjb2xsZWN0aW9ucyBmb3IgU3RyZWFtSW5TZXNzaW9uIChDQVNTQU5EUkEtMjc2NikKICogYXZvaWQghiBLvAAAAU/ePLJcABBvIGNvbXBvc2UgbnVsbCBEAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2dAAABAHJlZCBzdGF0ZW1lbnQgZ2xvYmFsIGluc3RlYWQgb2YgcGVyIGNvbm5lY3Rpb24gCiAgIChDQVNTQU5EUkEtNDQ0OSkKICogRml4IHNjcnViYmluZyBvZiBDUUwzIGNyZWF0ZWQgdGFibGVzIChDQVNTQU5EUkEtNDY4NSkKICogKENRTDMpIEZpeCB2YWxpZGF0aW9uIHdoZW4gdXNpbmcgY291bnRlciBhbmQgcmVndWxhciBjb2x1bW5zIGluIHRoZSBzYW1lIAogICB0YWJsZSAoQ0FTU0FORFJBLTQ3MDYpCiAqIEZpeCBidWcgc3RhcnRpbmcgQ2Fzc2FuZHLqp1JuAAABT948slwAEGFja2VkIGNvbHVtbiBmYW0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZ0AAAEAbmUgaGFuZGxpbmcgaW4gc3N0YWJsZSByb3dzIHdpdGggbm8gb3RoZXIgZGF0YSAoQ0FTU0FORFJBLTEwNjMpCiAqIGZpeCBzaXplIG9mIHJvdyBpbiBzcGFubmVkIGluZGV4IGVudHJpZXMgKENBU1NBTkRSQS0xMDU2KQogKiBpbnN0YWxsIGpzb24yc3N0YWJsZSwgc3N0YWJsZTJqc29uLCBhbmQgc3N0YWJsZWtleXMgdG8gRGViaWFuIHBhY2thZ2UKICogU3RyZWFtaW5nU2VydmljZS5TdHJlYW1EZXN0aW5hdGlvbnMgd291bGRuJ3QgZW1wdHkgaXRzZVvpRWMAAAFP3jyyXAAQUkEtNjk3MykKICogU3VwcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtnQAAAQBuRmFtaWx5U3RvcmVNQmVhbiAoQ0FTU0FORFJBLTc2MSkKICogc2VuZCBIYW5kb2ZmIGhpbnRzIHRvIG5hdHVyYWwgbG9jYXRpb25zIHRvIHJlZHVjZSBsb2FkIG9uCiAgIHJlbWFpbmluZyBub2RlcyBpbiBhIGZhaWx1cmUgc2NlbmFyaW8gKENBU1NBTkRSQS04MjIpCiAqIEFkZCBSb3dXYXJuaW5nVGhyZXNob2xkSW5NQiBjb25maWd1cmF0aW9uIG9wdGlvbiB0byB3YXJuIGJlZm9yZSB2ZXJ5IAogICBsYXJnZSByb3dzIGdldCBiaWcgZW5vdWdoIHRvI3ktIwAAAU/ePLJcABBlYWQgaGFzID4gNjVLIGVsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2dAAABADg0KQogKiBhZGQgcGx1Z2dhYmxlIFNlZWRQcm92aWRlciAoQ0FTU0FORFJBLTE2NjkpCiAqIEZpeCBjbHVzdGVydG9vbCB0byBub3QgdGhyb3cgZXhjZXB0aW9uIHdoZW4gY2FsbGluZyBnZXRfZW5kcG9pbnRzIChDQVNTQU5EUkEtMjQzNykKICogdXBncmFkZSB0byB0aHJpZnQgMC42IChDQVNTQU5EUkEtMjQxMikgCiAqIHJlcGFpciB3b3JrcyBvbiBhIHRva2VuIHJhbmdlIGluc3RlYWQgb2YgZnVsbCByaW5nIChDQVNTQU5EUkEtMjMyNCkKICogcHX7d+GPAAABT948slwAEC03MTgzKQogKiBDb3JyZWMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZ0AAAEAcyAoQ0FTU0FORFJBLTM4MjcpCiAqIENRTCBzdXBwb3J0IGZvciBhbHRlcmluZyByb3cga2V5IHR5cGUgaW4gQUxURVIgVEFCTEUgKENBU1NBTkRSQS0zNzgxKQogKiB0dXJuIGNvbXByZXNzaW9uIG9uIGJ5IGRlZmF1bHQgKENBU1NBTkRSQS0zODcxKQogKiBtYWtlIGhleFRvQnl0ZXMgcmVmdXNlIGludmFsaWQgaW5wdXQgKENBU1NBTkRSQS0yODUxKQogKiBNYWtlIHNlY29uZGFyeSBpbmRleGVzIENGIGluaGVyaXQgY29tcHJlc3Npb24gYW5kIGNvbc1DGRQAAAFP3jyyXAAQcHRpb24gdG8gbm9kZXRvbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtnQAAAQBzdGFydHVwIChDQVNTQU5EUkEtODMwNSkKICogU3VwcG9ydCBmb3IgZnJvemVuIGNvbGxlY3Rpb25zIChDQVNTQU5EUkEtNzg1OSkKICogRml4IG92ZXJmbG93IG9uIGhpc3RvZ3JhbSBjb21wdXRhdGlvbiAoQ0FTU0FORFJBLTgwMjgpCiAqIEhhdmUgcGF4b3MgcmV1c2UgdGhlIHRpbWVzdGFtcCBnZW5lcmF0aW9uIG9mIG5vcm1hbCBxdWVyaWVzIChDQVNTQU5EUkEtNzgwMSkKICogRml4IGluY3JlbWVudGFsIHJlcGFpciBub3QgcmVtb3ZlIHBhcmVurs4urQAAAU/ePLJcABBoZSAoQ0FTU0FORFJBLTMyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2dAAABAE5EUkEtMTY2NikKCgowLjctYmV0YTIKICogYWx3YXlzIHVzZSBVVEYtOCBmb3IgaGludCBrZXlzIChDQVNTQU5EUkEtMTQzOSkKICogcmVtb3ZlIGNhc3NhbmRyYS55YW1sIGRlcGVuZGVuY3kgZnJvbSBIYWRvb3AgYW5kIFBpZyAoQ0FTU0FEUkEtMTMyMikKICogZXhwb3NlIENmRGVmIG1ldGFkYXRhIGluIGRlc2NyaWJlX2tleXNwYWNlcyAoQ0FTU0FORFJBLTEzNjMpCiAqIHJlc3RvcmUgdXNlIG9mIG1tYXBfaW5kZXhfb25seSBvcHRpb24gKENBU1OBr/7GAAABT948slwAEChDQVNTQU5EUkEtNjM3OSkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILZ0AAAEAIG9yZGVyZWQgcGFydGl0aW9uZXJzIChDQVNTQU5EUkEtMzM2OSkKICogY29ycmVjdGx5IHNlcmlhbGl6ZSBrZXlfdmFsaWRhdGlvbl9jbGFzcyBmb3IgYXZybyAoQ0FTU0FORFJBLTMzOTEpCiAqIGRvbid0IGV4cGlyZSBjb3VudGVyIHRvbWJzdG9uZSBhZnRlciBzdHJlYW1pbmcgKENBU1NBTkRSQS0zMzk0KQogKiBwcmV2ZW50IG5vZGVzIHRoYXQgZmFpbGVkIHRvIGpvaW4gZnJvbSBoYW5naW5nIGFyb3VuZCBmb3JldmVyIAogICAoQ0FTU0FORFJBLebNkdsAD9U9ogoNbwAAAU/ePLJcABBhcmF0b3Igd2hlbiBjcmVhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2gAAABAHZhcmlvdXMgY29kZSBjbGVhbnVwIChDQVNTQU5EUkEtMTc5MywgLTE3OTQsIC0xNzk1KQogKiBmaXggcmFuZ2UgcXVlcmllcyBhZ2FpbnN0IHdyYXBwZWQgcmFuZ2UgKENBU1NBTkRSQS0xNzgxKQogKiBmaXggY29uc2lzdGVuY3lsZXZlbCBjYWxjdWxhdGlvbnMgZm9yIE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5CiAgIChDQVNTQU5EUkEtMTgwNCkKICogY2xpIHN1cHBvcnQgaW5kZXggdHlwZSBlbnVtIG5hbWVzIChDQVNTQU5EUkEtMTgxMCkKICogaW1+xA5CAAABT948slwAEAogKiBGaXggdGhyZWFkIGcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILaAAAAEAUkEtNjI3NSkKICogQ2FuY2VsIHJlYWQgbWV0ZXIgdGFzayB3aGVuIGNsb3NpbmcgU1NUUiAoQ0FTU0FORFJBLTYzNTgpCiAqIGZyZWUgb2ZmLWhlYXAgSW5kZXhTdW1tYXJ5IGR1cmluZyBidWxrIChDQVNTQU5EUkEtNjM1OSkKICogUmVjb3ZlciBmcm9tIElPRXhjZXB0aW9uIGluIGFjY2VwdCgpIHRocmVhZCAoQ0FTU0FORFJBLTYzNDkpCiAqIEltcHJvdmUgR29zc2lwIHRvbGVyYW5jZSBvZiBhYm5vcm1hbGx5IHNsb3cgdGFza3MgKENBU1NBTkRSQc0ZcbAAAAFP3jyyXAAQcHRpb24gd2hlbiBoc2hhIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtoAAAAQBoIHRoZSBvcmlnaW5hbAogICBleGNlcHRpb24gcmF0aGVyIHRoYW4gdGhlIEV4ZWN1dGlvbkV4Y2VwdGlvbiB3cmFwcGVyIChDQVNTQU5EUkEtMTIyNikKICogcmVtb3ZlIENsb2NrIGZyb20gdGhlIFRocmlmdCAoYW5kIEF2cm8pIEFQSSAoQ0FTU0FORFJBLTE1MDEpCiAqIENsb3NlIGludHJhLW5vZGUgc29ja2V0cyB3aGVuIGNvbm5lY3Rpb24gaXMgYnJva2VuIChDQVNTQU5EUkEtMTUyOCkKICogUlBNIHBhY2thZ2luZyBzcGVjIGZpbGUgKENBU1NBdROl0wAAAU/ePLJcABBlcnMgKENBU1NBTkRSQS05AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2gAAABAG1uIGluIGEgcm93IHRoYXQgaGFkIGJlZW4gZGVsZXRlZCBwcmV2aW91c2x5IChDQVNTQU5EUkEtOTIwKQogKiBmaXggaW5kZXggc2NhbnMgdGhhdCBjcm9zcyB0aGUgMkdCIG1tYXAgYm91bmRhcmllcyBmb3IgYm90aCBtbWFwCiAgIGFuZCBzdGFuZGFyZCBpL28gbW9kZXMgKENBU1NBTkRSQS04NjYpCiAqIGV4cG9zZSBkcmFpbiB2aWEgbm9kZXRvb2wgKENBU1NBTkRSQS05NzgpCgoKMC42LjAtUkMxCiAqIEpNWCBkcmFpbiB0byBmbHVzaCBtZW10YWLExmwgAAABT948slwAEGVjay4KICAgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILaAAAAEAQ29uc2lzdGVuY3lMZXZlbCA+IDEgdGhyb3cgVW5hdmFpbGFibGVFeGNlcHRpb24KICAgaW1tZWRpYXRlbHkgaWYgaW5zdWZmaWNpZW50IGxpdmUgbm9kZXMgZXhpc3QgKENBU1NBTkRSQS0xODAzKQogKiBjb3B5IGJ5dGVidWZmZXJzIGZvciBsb2NhbCB3cml0ZXMgdG8gYXZvaWQgcmV0YWluaW5nIHRoZSBlbnRpcmUKICAgVGhyaWZ0IGZyYW1lIChDQVNTQU5EUkEtMTgwMSkKICogZml4IE5QRSBhZGRpbmcgaW5kZXggdG8gY29sdW1uIHcvbyBwcmlvclaXnOIAAAFP3jyyXAAQbyBhbiBpbi11c2UgdG9rZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtoAAAAQByYWNraW5nIFByZXBhcmVkU3RhdGVtZW50IHVzZSAoQ0FTU0FORFJBLTc3MTkpCiAqIChjcWxzaCkgdGFiLWNvbXBsZXRpb24gZm9yIHRyaWdnZXJzIChDQVNTQU5EUkEtNzgyNCkKICogKGNxbHNoKSBTdXBwb3J0IGZvciBxdWVyeSBwYWdpbmcgKENBU1NBTkRSQS03NTE0KQogKiAoY3Fsc2gpIFNob3cgcHJvZ3Jlc3Mgb2YgQ09QWSBvcGVyYXRpb25zIChDQVNTQU5EUkEtNzc4OSkKICogQWRkIHN5bnRheCB0byByZW1vdmUgbXVsdGlwbGUgZWxlbWVuwPLCkAAAAU/ePLJcABBDQVNTQU5EUkEtNTc5OSkKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2gAAABAHAgcmV0cnkgaWYgbm9kZXMgZmxhcCAoQ0FTU0FORFJBLTI2NDQpCiAqIEFkZGVkIHN0YXR1c3RocmlmdCB0byBub2RldG9vbCB0byByZXBvcnQgaWYgdGhyaWZ0IHNlcnZlciBpcyBydW5uaW5nCiAgIChDQVNTQU5EUkEtMjcyMikKICogRml4ZWQgcm93cyBiZWluZyBjYWNoZWQgaWYgdGhleSBkbyBub3QgZXhpc3QgKENBU1NBTkRSQS0yNzIzKQogKiBmaXggdHJ1bmNhdGUvY29tcGFjdGlvbiByYWNlIChDQVNTQU5EUkEtMjY3MykKICogd29ya2Fyb3Wf/R+tAAABT948slwAEGQgcm93cyBmcm9tIGNhY2gAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILaAAAAEAcmcgbm9kZXRvb2wgY29tbWFuZHMgKENBU1NBTkRSQS0yNzQwKQogKiBsb2cgdW5hdmFpbGFibGVleGNlcHRpb24gZGV0YWlscyBhdCBkZWJ1ZyBsZXZlbCAoQ0FTU0FORFJBLTI4NTYpCiAqIGV4cG9zZSBkYXRhX2RpciB0aG91Z2ggam14IChDQVNTQU5EUkEtMjc3MCkKICogZG9uJ3QgaW5jbHVkZSB0bXAgZmlsZXMgYXMgc3N0YWJsZSB3aGVuIGNyZWF0ZSBjZnMgKENBU1NBTkRSQS0yOTI5KQogKiBsb2cgSmF2YSBjbGFzc3BhdGggb24gc3RhcnR1cKO/PU8AAAFP3jyyXAAQIHRvIGF2b2lkIGNvcnJ1cAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtoAAAAQByb25pemF0aW9uIGJvdHRsZW5lY2sgKENBU1NBTkRSQS0xNDgxKQogKiBQcm9wZXJ0eUZpbGVTbml0Y2ggY29uZmlndXJhdGlvbiBmaWxlIHJlbmFtZWQgdG8gCiAgIGNhc3NhbmRyYS10b3BvbG9neS5wcm9wZXJ0aWVzCiAqIGFkZCBjbGkgc3VwcG9ydCBmb3IgZ2V0X3JhbmdlX3NsaWNlcyAoQ0FTU0FORFJBLTEwODgsIENBU1NBTkRSQS0xNjE5KQogKiBNYWtlIG1lbXRhYmxlIGZsdXNoIHRocmVzaG9sZHMgcGVyLUNGIGluc3RlYWQgb2YgZ2xvYmFs9V9zaQAAAU/ePLJcABBiaWxpdHkgdG8gZGVjb21tAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2gAAABACBhZnRlciB1cGRhdGluZy9yZW1vdmluZyBhIHRva2VuIChDQVNTQU5EUkEtMzI0MykKCgowLjguNgogKiByZXZlcnQgQ0FTU0FORFJBLTIzODgKICogY2hhbmdlIFRva2VuUmFuZ2UuZW5kcG9pbnRzIGJhY2sgdG8gbGlzdGVuL2Jyb2FkY2FzdCBhZGRyZXNzIHRvIG1hdGNoCiAgIHByZS0xNzc3IGJlaGF2aW9yLCBhbmQgYWRkIFRva2VuUmFuZ2UucnBjX2VuZHBvaW50cyBpbnN0ZWFkIChDQVNTQU5EUkEtMzE4NykKICogYXZvaWQgdHJ5aW5nIHRvIHeJvXSyAAABT948slwAECogaHVtYW4gcmVhZGFibGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILaAAAAEACiAqIE9wdGltaXplIEZEIHBoaSBjYWxjdWxhdGlvbiAoQ0FTU0FORFJBLTYzODYpCiAqIEltcHJvdmUgaW5pdGlhbCBGRCBwaGkgZXN0aW1hdGUgd2hlbiBzdGFydGluZyB1cCAoQ0FTU0FORFJBLTYzODUpCiAqIERvbid0IGxpc3QgQ1FMMyB0YWJsZSBpbiBDTEkgZGVzY3JpYmUgZXZlbiBpZiBuYW1lZCBleHBsaWNpdGVseSAKICAgKENBU1NBTkRSQS01NzUwKQogKiBJbnZhbGlkYXRlIHJvdyBjYWNoZSB3aGVuIGRyb3BwaW5nIENGIChDQVNTQU5EUtD6Uw4AAAFP3jyyXAAQIGR1cmluZyBwb3N0LWZsdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtoAAAAQBzZW5kIChDQVNTQU5EUkEtMjc5NykKICogcHVyZ2UgdG9tYnN0b25lIGV2ZW4gaWYgcm93IGlzIGluIG9ubHkgb25lIHNzdGFibGUgKENBU1NBTkRSQS0yODAxKQogKiBGaXggd3JvbmcgcHVyZ2Ugb2YgZGVsZXRlZCBjZiBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTI3ODYpCiAqIGZpeCByYWNlIHRoYXQgY291bGQgcmVzdWx0IGluIEhhZG9vcCB3cml0ZXIgZmFpbGluZyB0byB0aHJvdyBhbgogICBleGNlcHRpb24gZW5jb3VudGVyZWQgYWZ05bqLPwAAAU/ePLJcABBzZXF1ZW50aWFsIG1vZGUgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2gAAABAC04NTA3KQogKiAoY3Fsc2gpIEZpeGVkIHRoZSBoYW5kbGluZyBvZiBMSVNUIHN0YXRlbWVudHMgKENBU1NBTkRSQS04MzcwKQogKiBNYWtlIHNzdGFibGVzY3J1YiBjaGVjayBsZXZlbGVkIG1hbmlmZXN0IGFnYWluIChDQVNTQU5EUkEtODQzMikKICogQ2hlY2sgZmlyc3QvbGFzdCBrZXlzIGluIHNzdGFibGUgd2hlbiBnaXZpbmcgb3V0IHBvc2l0aW9ucyAoQ0FTU0FORFJBLTg0NTgpCiAqIERpc2FibGUgbW1hcCBvbiBXaW5kb3dzIChDQVNTQU5EUkG1jeJNAAABT948slwAEEZpeCBhc3NlcnRpb24gZXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILaAAAAEAZXIgcmFuZ2VzIGluIG5vZGVwcm9iZSBvdXRwdXQgKENBU1NBTkRSQS00MjEpCiAqIGZpeCBsb2dnaW5nIG9mIGNlcnRhaW4gZXJyb3JzIG9uIGV4ZWN1dG9yIHRocmVhZHMgKENBU1NBTkRSQS00MjUpCgoKMC40LjAgUkMxCiAqIEJvb3RzdHJhcCBmZWF0dXJlIGlzIGxpdmU7IHVzZSAtYiBvbiBzdGFydHVwIChzZXZlcmFsIHRpY2tldHMpCiAqIEFkZGVkIG11bHRpZ2V0IGFwaSAoQ0FTU0FORFJBLTcwKQogKiBmaXggRGVhZGxvY2sgd2l0aCBTZWxlYwlZ4+cAAAFP3jyyXAAQLjE6CiAqIEZhbGwgYmFjawAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtoAAAAQAgYSByZWRoYXQgaW5pdCBzY3JpcHQgdG8gY29udHJpYiAoQ0FTU0FORFJBLTEyMDEpCiAqIHVzZSBtaWRwb2ludCB3aGVuIGJvb3RzdHJhcHBpbmcgYSBuZXcgbWFjaGluZSBpbnRvIHJhbmdlIHdpdGggbm90CiAgIG11Y2ggZGF0YSB5ZXQgaW5zdGVhZCBvZiByYW5kb20gdG9rZW4gKENBU1NBTkRSQS0xMTEyKQogKiBraWxsIHNlcnZlciBvbiBPT00gaW4gZXhlY3V0b3Igc3RhZ2UgYXMgd2VsbCBhcyBUaHJpZnQgKENBU1NBTkRSQS0xMjI2KQogKiByLloaTwAP6Zpt3UUSAAABT948slwAEFNBTkRSQS0yNzA4KQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILaQAAAEAQVNTQU5EUkEtMzM3OCkKICogTWFrZSBzc3RhYmxlIGRpcmVjdG9yeSBwaWNraW5nIGJsYWNrbGlzdC1hd2FyZSBhZ2FpbiAoQ0FTU0FORFJBLTUxOTMpCiAqIENvcnJlY3RseSBleHBpcmUgZ29zc2lwIHN0YXRlcyBmb3IgZWRnZSBjYXNlcyAoQ0FTU0FORFJBLTUyMTYpCiAqIEltcHJvdmUgaGFuZGxpbmcgb2YgZGlyZWN0b3J5IGNyZWF0aW9uIGZhaWx1cmVzIChDQVNTQU5EUkEtNTE5NikKICogRXhwb3NlIHNlY29uZGFyeSBpbmRpY2llcyB0byB0aNsg3PQAAAFP3jyyXAAQRFJBLTgxMDgpCiAqIEZpeAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtpAAAAQBlIChDQVNTQU5EUkEtODA1NikKICogQWRkIG9mZmxpbmUgdG9vbCB0byByZWxldmVsIHNzdGFibGVzIChDQVNTQU5EUkEtODMwMSkKICogUHJlc2VydmUgc3RyZWFtIElEIGZvciBtb3JlIHByb3RvY29sIGVycm9ycyAoQ0FTU0FORFJBLTg4NDgpCiAqIEZpeCBjb21iaW5pbmcgdG9rZW4oKSBmdW5jdGlvbiB3aXRoIG11bHRpLWNvbHVtbiByZWxhdGlvbnMgb24KICAgY2x1c3RlcmluZyBjb2x1bW5zIChDQVNTQU5EUkEtODc5NykKICogTWFrZSBDRlMuJjYu5AAAAU/ePLJcABBldHdvcmtUb3BvbG9neVN0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2kAAABAEFORFJBLTQyODcpCiAqIE92ZXJzaXplIGludGVnZXIgaW4gQ1FMIHRocm93cyBOdW1iZXJGb3JtYXRFeGNlcHRpb24gKENBU1NBTkRSQS00MjkxKQogKiBmaXggMS4wLnggbm9kZSBqb2luIHRvIG1peGVkIHZlcnNpb24gY2x1c3Rlciwgb3RoZXIgbm9kZXMgPj0gMS4xIChDQVNTQU5EUkEtNDE5NSkKICogRml4IExDUyBzcGxpdHRpbmcgc3N0YWJsZSBiYXNlIG9uIHVuY29tcHJlc3NlZCBzaXplIChDQVNTQU5EUkEtNDQxOSkKICogUHVzaCB0aGUgdmF8psEqAAABT948slwAEENBU1NBTkRSQS04Mjk3KQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILaQAAAEAIGF2b2lkIHVucHJvZHVjdGl2ZSBkZXNlcmlhbGl6aW5nIG9mIGNhY2hlZCByb3dzIGR1cmluZyBjb21wYWN0aW9uCiAgIChDQVNTQU5EUkEtMzkyMSkKICogZml4IGNvbmN1cnJlbmN5IGlzc3VlcyB3aXRoIENRTCBrZXlzcGFjZSBjcmVhdGlvbiAoQ0FTU0FORFJBLTM5MDMpCiAqIFNob3cgRWZmZWN0aXZlIE93ZXJzaGlwIHZpYSBOb2RldG9vbCByaW5nIDxrZXlzcGFjZT4gKENBU1NBTkRSQS0zNDEyKQogKiBVcGRhdGUgT1JERVIgQlkgc3ludGF4IIRKqR0AAAFP3jyyXAAQCiAqIGZpeCB3cml0aW5nIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtpQAAAQAgKENBU1NBTkRSQS01MTAyKQogKiBFbnN1cmUgQ0wgZ3VhcmFudGVlcyBvbiBkaWdlc3QgbWlzbWF0Y2ggKENBU1NBTkRSQS01MTEzKQogKiBWYWxpZGF0ZSBjb3JyZWN0bHkgc2VsZWN0cyBvbiBjb21wb3NpdGUgcGFydGl0aW9uIGtleSAoQ0FTU0FORFJBLTUxMjIpCiAqIEZpeCBleGNlcHRpb24gd2hlbiBhZGRpbmcgY29sbGVjdGlvbiAoQ0FTU0FORFJBLTUxMTcpCiAqIEhhbmRsZSBzdGF0ZXMgZm9yIG5vbi12bm9kZSBjbHVzdGVycyBjb3JyZWN0tmZpEQAAAU/ePLJcABBlcy5taWdyYXRlRmlsZSgpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2lAAABAHcgaXMgaW4gb25seSBvbmUgc3N0YWJsZSAoQ0FTU0FORFJBLTI4MDEpCiAqIEZpeCB3cm9uZyBwdXJnZSBvZiBkZWxldGVkIGNmIGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtMjc4NikKICogZml4IHJhY2UgdGhhdCBjb3VsZCByZXN1bHQgaW4gSGFkb29wIHdyaXRlciBmYWlsaW5nIHRvIHRocm93IGFuCiAgIGV4Y2VwdGlvbiBlbmNvdW50ZXJlZCBhZnRlciBjbG9zZSgpIChDQVNTQU5EUkEtMjc1NSkKICogZml4IHNjYW4gd3JvbmdseSB0aHJN271YAAABT948slwAECAoQ0FTU0FORFJBLTU5NTgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILaUAAAEAIHRoZSB3cm9uZyB0b2tlbiByYW5nZSAoQ0FTU0FORFJBLTEwNDIpCiAqIHBhZ2Ugd2l0aGluIGEgc2luZ2xlIHJvdyBkdXJpbmcgaGludGVkIGhhbmRvZmYgKENBU1NBTkRSQS0xMzI3KQogKiBmaXggY29tcGlsYXRpb24gb24gbm9uLXN1biBKREtzIChDQVNTQU5EUkEtMTA2MSkKICogcmVtb3ZlIFN0cmluZy50cmltKCkgY2FsbCBvbiByb3cga2V5cyBpbiBiYXRjaCBtdXRhdGlvbnMgKENBU1NBTkRSQS0xMjM1KQogKiBMb2cgc3VtbWFyeSBvZiBkcgb7ffAAAAFP3jyyXAAQYXRpb24gdG8gc2V0IHRoZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtpQAAAQBydHkgdmFsaWRhdGlvbiAoQ0FTU0FORFJBLTU2OTMpCiAqIFJlZGVzaWduIHJlcGFpciBtZXNzYWdlcyAoQ0FTU0FORFJBLTU0MjYpCiAqIEZpeCBBTFRFUiBSRU5BTUUgcG9zdC01MTI1IChDQVNTQU5EUkEtNTcwMikKICogRGlzYWxsb3cgcmVuYW1pbmcgYSAybmRhcnkgaW5kZXhlZCBjb2x1bW4gKENBU1NBTkRSQS01NzA1KQogKiBSZW5hbWUgVGFibGUgdG8gS2V5c3BhY2UgKENBU1NBTkRSQS01NjEzKQogKiBFbnN1cmUgY2hhbmdpbmcgY29sdW1ucWCVYwAAAU/ePLJcABBpcyBubyBsb25nZXIgCiAgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2lAAABAG91Z2hwdXQgdG8gYmUgYSBsb25nIChDQVNTQU5EUkEtMjE1OCkKCgowLjcuMwogKiBLZWVwIGVuZHBvaW50IHN0YXRlIHVudGlsIGFWZXJ5TG9uZ1RpbWUgKENBU1NBTkRSQS0yMTE1KQogKiBsb3dlci1sYXRlbmN5IHJlYWQgcmVwYWlyIChDQVNTQU5EUkEtMjA2OSkKICogYWRkIGhpbnRlZF9oYW5kb2ZmX3Rocm90dGxlX2RlbGF5X2luX21zIG9wdGlvbiAoQ0FTU0FORFJBLTIxNjEpCiAqIGZpeGVzIGZvciBjYWNoZSBzYXZlL2xvYWQgKENBU1NBTkQ/XLDxAAABT948slwAEG1ldGVycyBvbiBhZGQvdXAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILaUAAAEAQS03NzU4KQogKiBGaXggTVMgZXhwaXJpbmcgbWFwIHRpbWVvdXQgZm9yIFBheG9zIG1lc3NhZ2VzIChDQVNTQU5EUkEtNzc1MikKICogRG8gbm90IGZsdXNoIG9uIHRydW5jYXRlIGlmIGR1cmFibGVfd3JpdGVzIGlzIGZhbHNlIChDQVNTQU5EUkEtNzc1MCkKICogR2l2ZSBDUlIgYSBkZWZhdWx0IGlucHV0X2NxbCBTdGF0ZW1lbnQgKENBU1NBTkRSQS03MjI2KQogKiBCZXR0ZXIgZXJyb3IgbWVzc2FnZSB3aGVuIGFkZGluZyBhIGNvbGxlY3Rpb24gdxfJCvsAAAFP3jyyXAAQQU5EUkEtMTk5MikKICogZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtpQAAAQAgY29tbWl0bG9nIHJlcGxheSwgcHJpbWFyaWx5IGFmZmVjdGluZwogICBzeXN0ZW1zIHdpdGggbWFueSAoMTAwcykgb2YgQ0YgZGVmaW5pdGlvbnMgKENBU1NBTkRSQS0zNzUxKQogKiBGaXggcmVsZXZhbnQgdG9tYnN0b25lIGlnbm9yZWQgd2l0aCBzdXBlciBjb2x1bW5zIChDQVNTQU5EUkEtMzg3NSkKCgoxLjAuNwogKiBmaXggcmVncmVzc2lvbiBpbiBISCBwYWdlIHNpemUgY2FsY3VsYXRpb24gKENBU1NBTkRSQS0zNjI0KQogKiByZXRyeSBmYWlsgGmAWQAAAU/ePLJcABBjcnViYmluZyB0b21ic3RvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2lAAABAFNTQU5EUkEtNjAyNSkKICogSW1wcm92ZSBtZW1vcnkgdXNlIGRlZmF1bHRzIChDQVNTQU5EUkEtNjA1OSkKICogTWFrZSBUaHJpZnRTZXJ2ZXIgbW9yZSBlYXNsbHkgZXh0ZW5zaWJsZSAoQ0FTU0FORFJBLTYwNTgpCiAqIFJlbW92ZSBIYWRvb3AgZGVwZW5kZW5jeSBmcm9tIElUcmFuc3BvcnRGYWN0b3J5IChDQVNTQU5EUkEtNjA2MikKICogYWRkIGZpbGVfY2FjaGVfc2l6ZV9pbl9tYiBzZXR0aW5nIChDQVNTQU5EUkEtNTY2MSkKICogSW1wcm92ZSCswJz6AAABT948slwAEDI3NTUpCiAqIGZpeCBzY2EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILaUAAAEAIG5lYXIgc3ludGF4IGVycm9yIGluIG1lc3NhZ2VzIChDQVNTQU5EUkEtNzExMSkKICogTWFrZSByZXBhaXIgLXByIHdvcmsgd2l0aCAtbG9jYWwgKENBU1NBTkRSQS03NDUwKQogKiBGaXggZXJyb3IgaW4gc3N0YWJsZWxvYWRlciB3aXRoIC1jcGggPiAxIChDQVNTQU5EUkEtODAwNykKICogRml4IHNuYXBzaG90IHJlcGFpciBlcnJvciBvbiBpbmRleGVkIHRhYmxlcyAoQ0FTU0FORFJBLTgwMjApCiAqIERvIG5vdCBleGl0IG5vZGV0b29sIHJlcGFpcohBYLcAAAFP3jyyXAAQQ0FTU0FORFJBLTcwNjkpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtpQAAAQAKICogTGV2ZWxlZCBjb21wYWN0aW9uIHBlcmZvcm1zIHNpemUtdGllcmVkIGNvbXBhY3Rpb25zIGluIEwwIAogICAoQ0FTU0FORFJBLTUzNzEsIDU0MzkpCiAqIEFkZCB5YW1sIG5ldHdvcmsgdG9wb2xvZ3kgc25pdGNoIGZvciBtaXhlZCBlYzIvb3RoZXIgZW52cyAoQ0FTU0FORFJBLTUzMzkpCiAqIExvZyB3aGVuIGEgbm9kZSBpcyBkb3duIGxvbmdlciB0aGFuIHRoZSBoaW50IHdpbmRvdyAoQ0FTU0FORFJBLTQ1NTQpCiAqIE9wdGltaXplIHRvbWJzd63NtgAAAU/ePLJcABBvdyBmdWxseSBtYW51YWwgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2lAAABAGVzIChDQVNTQU5EUkEtNjk0MykKICogRmFpbCB3cml0ZSBpbnN0ZWFkIG9mIGxvZ2dpbmcgYSB3YXJuaW5nIHdoZW4gdW5hYmxlIHRvIGFwcGVuZCB0byBDTAogICAoQ0FTU0FORFJBLTY3NjQpCiAqIEVsaW1pbmF0ZSBwb3NzaWJpbGl0eSBvZiBDTCBzZWdtZW50IGFwcGVhcmluZyB0d2ljZSBpbiBhY3RpdmUgbGlzdCAKICAgKENBU1NBTkRSQS02NTU3KQogKiBBcHBseSBET05UTkVFRCBmYWR2aXNlIHRvIGNvbW1pdGxvZyBzZWdtZW50cyAoQ0FTU0FAv+yaAA/991acCqYAAAFP3jyyXAAQIGRvIG5vdCBjb250YWluIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtpgAAAQBmZiAoQ0FTU0FORFJBLTM5NTUpCiAqIGRlbGV0ZSBoaW50cyBmcm9tIGRyb3BwZWQgQ29sdW1uRmFtaWxpZXMgb24gaGFuZG9mZiBpbnN0ZWFkIG9mCiAgIGVycm9yaW5nIG91dCAoQ0FTU0FORFJBLTM5NzUpCiAqIGFkZCBDb21wb3NpdGVUeXBlIHJlZiB0byB0aGUgQ0xJIGRvYyBmb3IgY3JlYXRlL3VwZGF0ZSBjb2x1bW4gZmFtaWx5IChDQVNTQU5EUkEtMzk4MCkKICogUGlnOiBzdXBwb3J0IENvdW50ZXIgQ29sdW1uRmFtaWxpZXMgKENBU1NBTkRS1NpRBQAAAU/ePLJcABBwb3J0IGZyb20gc3lzdGVtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2mAAABAHNlIGNlaWwgaW5zdGVhZCBvZiBmbG9vciAoQ0FTU0FORFJBLTg4ODMpCiAqIEZpeCB0b3AgcGFydGl0aW9ucyByZXBvcnRpbmcgd3JvbmcgY2FyZGluYWxpdHkgKENBU1NBTkRSQS04ODM0KQogKiBGaXggcmFyZSBOUEUgaW4gS2V5Q2FjaGVTZXJpYWxpemVyIChDQVNTQU5EUkEtODA2NykKICogUGljayBzc3RhYmxlcyBmb3IgdmFsaWRhdGlvbiBhcyBsYXRlIGFzIHBvc3NpYmxlIGluYyByZXBhaXJzIChDQVNTQU5EUkEtODM2NikKICogRml4IGNvbW3/f7EuAAABT948slwAEHRvbmUgcmF0aW8gc3RhdHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILaYAAAEAZyBtdXRhdGlvbnMgdGhhdCBwYXNzIENSQyBidXQgZmFpbCB0byBkZXNlcmlhbGl6ZSAoQ0FTU0FORFJBLTYxODMpCiAqIFJld29yayB0b2tlbiByZXBsYWNlbWVudCB0byB1c2UgcmVwbGFjZV9hZGRyZXNzIChDQVNTQU5EUkEtNTkxNikKICogRml4IGFsdGVyaW5nIGNvbHVtbiB0eXBlcyAoQ0FTU0FORFJBLTYxODUpCiAqIGNxbHNoOiBmaXggQ1JFQVRFL0FMVEVSIFdJVEggY29tcGxldGlvbiAoQ0FTU0FORFJBLTYxOTYpCiAqIGFkZCB3aW5kb3dzIKBrWj8AAAFP3jyyXAAQdHJ1bmNhdGUgQ0wgc2VnbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtpgAAAQApCiAqIENsZWFudXAgU2VnbWVudGVkRmlsZSBBUEkgKENBU1NBTkRSQS04NzQ5KQogKiBBdm9pZCBvdmVybGFwIHdpdGggZWFybHkgY29tcGFjdGlvbiByZXBsYWNlbWVudCAoQ0FTU0FORFJBLTg2ODMpCiAqIFNhZmVyIFJlc291cmNlIE1hbmFnZW1lbnQrKyAoQ0FTU0FORFJBLTg3MDcpCiAqIFdyaXRlIHBhcnRpdGlvbiBzaXplIGVzdGltYXRlcyBpbnRvIGEgc3lzdGVtIHRhYmxlIChDQVNTQU5EUkEtNzY4OCkKICogY3Fsc2g6IEZpeCBrZXlzKCkgaYkLWwAAAU/ePLJcABApCiAqIFByb3ZpZGUgaG9vAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2mAAABAGVzIChDQVNTQU5EUkEtMTY0NCkKICogdXBncmFkZSB0byBUaHJpZnQgMC41IChDQVNTQU5EUkEtMTM2NykKICogcmVuYW1lZCBDTC5EQ1FVT1JVTSB0byBMT0NBTF9RVU9SVU0gYW5kIERDUVVPUlVNU1lOQyB0byBFQUNIX1FVT1JVTQogKiBjbGkgdHJ1bmNhdGUgc3VwcG9ydCAoQ0FTU0FORFJBLTE2NTMpCiAqIHVwZGF0ZSBHQyBzZXR0aW5ncyBpbiBjYXNzYW5kcmEuYmF0IChDQVNTQU5EUkEtMTYzNikKICogYXZvaWQgbG9nZ2luZyB3aGVuIGEgbm8Q5hv5AAABT948slwAEGFyeSBpbmRleGVzIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILaYAAAEAbiBFQzIgbm93CiAqIE11Y2ggaW1wcm92ZWQgaW5mcmFzdHJ1Y3R1cmU6IHRoZSBiZWdpbm5pbmdzIG9mIGEgZGVjZW50IHRlc3Qgc3VpdGUKICAgKCJhbnQgdGVzdCIgZm9yIHVuaXQgdGVzdHM7ICJub3NldGVzdHMiIGZvciBzeXN0ZW0gdGVzdHMpLCBjb2RlCiAgIGNvdmVyYWdlIHJlcG9ydGluZywgZXRjLgogKiBFeHBhbmRlZCBub2RlIHN0YXR1cyByZXBvcnRpbmcgdmlhIEpNWAogKiBJbXByb3ZlZCBlcnJvciByZXBvcnRpbmcvbG9nZ2luZyBvbm4FhNoAAAFP3jyyXAAQY29tcG9zaXRlIHBhcnRpdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtpgAAAQBBLTM1MzgpCiAqIEltcHJvdmUgbWVtdGFibGUgc2xpY2UgaXRlcmF0aW9uIHBlcmZvcm1hbmNlIChDQVNTQU5EUkEtMzU0NSkKICogbW9yZSBlZmZpY2llbnQgYWxsb2NhdGlvbiBvZiBzbWFsbCBibG9vbSBmaWx0ZXJzIChDQVNTQU5EUkEtMzYxOCkKICogVXNlIHNlcGFyYXRlIHdyaXRlciB0aHJlYWQgaW4gU1NUYWJsZVNpbXBsZVVuc29ydGVkV3JpdGVyIChDQVNTQU5EUkEtMzYxOSkKICogZnN5bmMgdGhlIGRpcmVjdG9yeSBhZnRlciBuZXcgc3N0FpFOPAAAAU/ePLJcABBNQiBpbnN0ZWFkIG9mIGFuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2mAAABAHRpb24sCiAgIHNjaGVkdWxpbmcsIGFuZCBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTMyMjQsIDMyMzQpCiAqIHBhcmFsbGVsaXplIHNzdGFibGUgb3BlbiBhdCBzZXJ2ZXIgc3RhcnR1cCAoQ0FTU0FORFJBLTI5ODgpCiAqIGZpeCBoYW5kbGluZyBvZiBleGNlcHRpb25zIHdyaXRpbmcgdG8gT3V0Ym91bmRUY3BDb25uZWN0aW9uIChDQVNTQU5EUkEtMzIzNSkKICogQWxsb3cgdXNpbmcgcXVvdGVzIGluICJVU0UgPGtleXNwYWNlPjsiIENMSSBjb21tYW5J9iPJAAABT948slwAEHRoIG5vIHBvc3QtZmx1c2gAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILaYAAAEAZmljYW50bHkgZmFzdGVyIHJlYWRzIGZyb20gcm93IGNhY2hlIChDQVNTQU5EUkEtMTI2NykKICogdGFrZSBhZHZhbnRhZ2Ugb2Ygcm93IGNhY2hlIGR1cmluZyByYW5nZSBxdWVyaWVzIChDQVNTQU5EUkEtMTMwMikKICogbWFrZSBHQ0dyYWNlU2Vjb25kcyBhIHBlci1Db2x1bW5GYW1pbHkgdmFsdWUgKENBU1NBTkRSQS0xMjc2KQogKiBrZWVwIHBlcnNpc3RlbnQgcm93IHNpemUgYW5kIGNvbHVtbiBjb3VudCBzdGF0aXN0aWNzIChDQVNTQU5EUkEtMRppzKAAAAFP3jyyXAAQU0FORFJBLTMxNzgpCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtpgAAAQBvbkV4Y2VwdGlvbiB3cmFwcGVyIChDQVNTQU5EUkEtMTIyNikKICogcmVtb3ZlIENsb2NrIGZyb20gdGhlIFRocmlmdCAoYW5kIEF2cm8pIEFQSSAoQ0FTU0FORFJBLTE1MDEpCiAqIENsb3NlIGludHJhLW5vZGUgc29ja2V0cyB3aGVuIGNvbm5lY3Rpb24gaXMgYnJva2VuIChDQVNTQU5EUkEtMTUyOCkKICogUlBNIHBhY2thZ2luZyBzcGVjIGZpbGUgKENBU1NBTkRSQS03ODYpCiAqIHdlaWdodGVkIHJlcXVlc3Qgc2NoZWR1bGVyIChDQVNTQU5EUkEthGiwCgAAAU/ePLJcABBtZSB2aWEgSk1YCiAgIChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2mAAABAHRlIEZhaWx1cmVEZXRlY3RvciB0byB1c2UgbmFub250aW1lIChDQVNTQU5EUkEtNDkyNSkKICogRml4IEZpbGVDYWNoZVNlcnZpY2UgcmVncmVzc2lvbnMgKENBU1NBTkRSQS02MTQ5KQogKiBOZXZlciByZXR1cm4gV3JpdGVUaW1lb3V0IGZvciBDTC5BTlkgKENBU1NBTkRSQS02MTMyKQogKiBGaXggcmFjZSBjb25kaXRpb25zIGluIGJ1bGsgbG9hZGVyIChDQVNTQU5EUkEtNjEyOSkKICogQWRkIGNvbmZpZ3VyYWJsZSBtZXRyaWNzIHJlcG9ydGluZyC6yvBPAAABT948slwAEGUgbm9kZXMgaGF2ZSBpbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILaYAAAEAICogKGNxbHNoKSBTdXBwb3J0IGZvciBxdWVyeSBwYWdpbmcgKENBU1NBTkRSQS03NTE0KQogKiAoY3Fsc2gpIFNob3cgcHJvZ3Jlc3Mgb2YgQ09QWSBvcGVyYXRpb25zIChDQVNTQU5EUkEtNzc4OSkKICogQWRkIHN5bnRheCB0byByZW1vdmUgbXVsdGlwbGUgZWxlbWVudHMgZnJvbSBhIG1hcCAoQ0FTU0FORFJBLTY1OTkpCiAqIFN1cHBvcnQgbm9uLWVxdWFscyBjb25kaXRpb25zIGluIGxpZ2h0d2VpZ2h0IHRyYW5zYWN0aW9ucyAoQ0FTU0FORFJBLeHhCqoAAAFP3jyyXAAQU2luayBpbnRlcmZhY2UgKAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtpgAAAQBmb3Iga2V5IGNvdW50IGluIGNmc3RhdHMgKENBU1NBTkRSQS04OTEzKQogKiBNYWtlIFNTVGFibGVSZXdyaXRlci5hYm9ydCgpIG1vcmUgcm9idXN0IHRvIGZhaWx1cmUgKENBU1NBTkRSQS04ODMyKQogKiBSZW1vdmUgY29sZF9yZWFkc190b19vbWl0IGZyb20gU1RDUyAoQ0FTU0FORFJBLTg4NjApCiAqIE1ha2UgRXN0aW1hdGVkSGlzdG9ncmFtI3BlcmNlbnRpbGUoKSB1c2UgY2VpbCBpbnN0ZWFkIG9mIGZsb29yIChDQVNTQU5EUkEtODg4MykKICog27CkQwAAAU/ePLJcABB0ZSBwcmUtMi4wIGtleS92AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2mAAABAHIgc3VpdGVzIHdoZW4gdXNpbmcgZW5jcnlwdGlvbiAoQ0FTU0FORFJBLTMxNzgpCiAqIChIQURPT1ApIGFkZCBvbGQtc3R5bGUgYXBpIHN1cHBvcnQgZm9yIENGSUYgYW5kIENGUlIgKENBU1NBTkRSQS0yNzk5KQogKiBTdXBwb3J0IFRpbWVVVUlEVHlwZSBjb2x1bW4gbmFtZXMgaW4gU3RyZXNzLmphdmEgdG9vbCAoQ0FTU0FORFJBLTM1NDEpCiAqIChDUUwpIElOU0VSVC9VUERBVEUvREVMRVRFL1RSVU5DQVRFIGNvbW1hbmRzIHNob3VsZCBhbGxvdyCwhIm7AAABT948slwAEGcgaW4ganNvbjJzc3RhYmwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILaYAAAEANikKICogY2FuY2VsIGxhdGVuY3ktc2FtcGxpbmcgdGFzayB3aGVuIENGIGlzIGRyb3BwZWQgKENBU1NBTkRSQS04NDAxKQogKiBkb24ndCBibG9jayBTb2NrZXRUaHJlYWQgZm9yIE1lc3NhZ2luZ1NlcnZpY2UgKENBU1NBTkRSQS04MTg4KQogKiBJbmNyZWFzZSBxdWFyYW50aW5lIGRlbGF5IG9uIHJlcGxhY2VtZW50IChDQVNTQU5EUkEtODI2MCkKICogRXhwb3NlIG9mZi1oZWFwIG1lbW9yeSB1c2FnZSBzdGF0cyAoQ0FTU0FORFJBLTc4OTcpCiAqIA+gfB0AEBJUSzHAFgAAAU/ePLJcABBlcnMKICAgKENBU1NBTkRSAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2pAAABAHRlUm93Q2FjaGUgdG8gQ29sdW1uRmFtaWx5U3RvcmVNQmVhbiAoQ0FTU0FORFJBLTc2MSkKICogc2VuZCBIYW5kb2ZmIGhpbnRzIHRvIG5hdHVyYWwgbG9jYXRpb25zIHRvIHJlZHVjZSBsb2FkIG9uCiAgIHJlbWFpbmluZyBub2RlcyBpbiBhIGZhaWx1cmUgc2NlbmFyaW8gKENBU1NBTkRSQS04MjIpCiAqIEFkZCBSb3dXYXJuaW5nVGhyZXNob2xkSW5NQiBjb25maWd1cmF0aW9uIG9wdGlvbiB0byB3YXJuIGJlZm9yZSB2ZXJ5IAogICBsYXJnZSByb3e2zYwVAAABT948slwAEElTVCBxdWVyaWVzIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILakAAAEAbGVzIChDQVNTQU5EUkEtODIxMSkKICogSW1wcm92ZSBQcm9wZXJ0eUZpbGVTbml0Y2ggbG9nZ2luZyAoQ0FTU0FORFJBLTgxODMpCiAqIEFkZCBEQy1hd2FyZSBzZXF1ZW50aWFsIHJlcGFpciAoQ0FTU0FORFJBLTgxOTMpCiAqIFVzZSBsaXZlIHNzdGFibGVzIGluIHNuYXBzaG90IHJlcGFpciBpZiBwb3NzaWJsZSAoQ0FTU0FORFJBLTgzMTIpCiAqIEZpeCBoaW50cyBzZXJpYWxpemVkIHNpemUgY2FsY3VsYXRpb24gKENBU1NBTkRSQS04NTg3KQoKCj0K1oUAAAFP3jyyXAAQbWluZyByYW5nZXMgZmFpbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtqQAAAQBDQVNTQU5SREEtNzc5NykKICogVGhyb3cgRU9GRXhjZXB0aW9uIGlmIHdlIHJ1biBvdXQgb2YgY2h1bmtzIGluIGNvbXByZXNzZWQgZGF0YWZpbGUKICAgKENBU1NBTkRSQS03NjY0KQogKiBGaXggUFJTSSBoYW5kbGluZyBvZiBDUUwzIHJvdyBtYXJrZXJzIGZvciByb3cgY2xlYW51cCAoQ0FTU0FORFJBLTc3ODcpCiAqIEZpeCBkcm9wcGluZyBjb2xsZWN0aW9uIHdoZW4gaXQncyB0aGUgbGFzdCByZWd1bGFyIGNvbHVtbiAoQ0FTU0FORFJBLTc3NDQpxNzcsgAAAU/ePLJcABBtZSBibG9ja2VkIiB0byBTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2pAAABAHBwb3J0IGZvciBnZXRfcmFuZ2Vfc2xpY2VzIChDQVNTQU5EUkEtMTA4OCwgQ0FTU0FORFJBLTE2MTkpCiAqIE1ha2UgbWVtdGFibGUgZmx1c2ggdGhyZXNob2xkcyBwZXItQ0YgaW5zdGVhZCBvZiBnbG9iYWwgCiAgIChDQVNTQU5EUkEtMTAwNywgMTYzNykKICogYWRkIGNsaSBzdXBwb3J0IGZvciBiaW5hcnkgZGF0YSB3aXRob3V0IENmRGVmIGhpbnRzIChDQVNTQU5EUkEtMTYwMykKICogZml4IGJ1aWxkaW5nIFNTVGFibGUgc3RhdGlzdGljcyBwb3Mu803DAAABT948slwAEG91bnRlciBzdXBwb3J0IHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILakAAAEAQS0yNDU4KQogKiBtYWRlIENvbXBhY3Rpb25JbmZvLmdldFRhc2tUeXBlIHJldHVybiBhbiBlbnVtIChDQVNTQU5EUkEtMjQ4MikKICogYWRkIGEgc2VydmVyLXdpZGUgY2FwIG9uIG1lYXN1cmVkIG1lbXRhYmxlIG1lbW9yeSB1c2FnZSBhbmQgYWdncmVzc2l2ZWx5CiAgIGZsdXNoIHRvIGtlZXAgdW5kZXIgdGhhdCB0aHJlc2hvbGQgKENBU1NBTkRSQS0yMDA2KQogKiBhZGQgdW5pZmllZCBVVUlEVHlwZSAoQ0FTU0FORFJBLTIyMzMpCiAqIGFkZCBvZmb3lF0AAAFP3jyyXAAQayBmaWxlcyAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtqQAAAQB5IGRlZmF1bHQgKENBU1NBTkRSQS0zNTY4KQogKiBSZWR1Y2UgbWVtb3J5IHVzZWQgYnkgcHJpbWFyeSBpbmRleCBzYW1wbGUgKENBU1NBTkRSQS0zNzQzKQogKiAoSGFkb29wKSBzZXBhcmF0ZSBpbnB1dC9vdXRwdXQgY29uZmlndXJhdGlvbnMgKENBU1NBTkRSQS0zMTk3LCAzNzY1KQogKiBhdm9pZCByZXR1cm5pbmcgaW50ZXJuYWwgQ2Fzc2FuZHJhIGNsYXNzZXMgb3ZlciBKTVggKENBU1NBTkRSQS0yODA1KQogKiBhZGQgcm93LWxldmVsIGlzb2xhlH0rPwAAAU/ePLJcABBpemUgQ29sdW1uRmFtaWx5AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2pAAABAG5zIChDQVNTQU5EUkEtNjg0MSkKICogRml4IGxlYWtpbmcgdmFsaWRhdG9yIEZIIGluIFN0cmVhbVdyaXRlciAoQ0FTU0FORFJBLTY4MzIpCiAqIEZpeCBzYXZpbmcgdHJpZ2dlcnMgdG8gc2NoZW1hIChDQVNTQU5EUkEtNjc4OSkKICogRml4IHRyaWdnZXIgbXV0YXRpb25zIHdoZW4gYmFzZSBtdXRhdGlvbiBsaXN0IGlzIGltbXV0YWJsZSAoQ0FTU0FORFJBLTY3OTApCiAqIEZpeCBhY2NvdW50aW5nIGluIEZpbGVDYWNoZVNlcnZpY2UgdG8gYWxsb3f5A2slAAABT948slwAEGVjdGlvbnMgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILakAAAEAcm1hdHRpbmcgb2Ygc3N0YWJsZTJqc29uIHdpdGggbXVsdGlwbGUgLWsgYXJndW1lbnRzIChDQVNTQU5EUkEtNTc4MSkKICogRG9uJ3QgcmVseSBvbiByb3cgbWFya2VyIGZvciBxdWVyaWVzIGluIGdlbmVyYWwgdG8gaGlkZSBsb3N0IG1hcmtlcnMKICAgYWZ0ZXIgVFRMIGV4cGlyZXMgKENBU1NBTkRSQS01NzYyKQogKiBTb3J0IG5vZGV0b29sIGhlbHAgb3V0cHV0IChDQVNTQU5EUkEtNTc3NikKICogRml4IGNvbHVtbiBleHBpcmluZyBkdXJpbmcgMgX+1lIAAAFP3jyyXAAQdCBzdHJlYW0gSUQgb24gcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtqQAAAQBTU0FORFJBLTQ4MSkKICogQWRkaXRpb25hbCBKTVggbWV0cmljcyAoQ0FTU0FORFJBLTQ4MikKICogSlNPTiBiYXNlZCBleHBvcnQgYW5kIGltcG9ydCB0b29scyAoc2V2ZXJhbCB0aWNrZXRzKQogKiBIaW50ZWQgSGFuZG9mZiBmaXhlcyAoc2V2ZXJhbCB0aWNrZXRzKQogKiBBZGQga2V5IGNhY2hlIHRvIGltcHJvdmUgcmVhZCBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTQyMykKICogU2ltcGxpZmllZCBjb25zdHJ1Y3Rpb24gb2YgY3VzdG9tIFJlcGxpvrLlowAAAU/ePLJcABBSQS0yMDE0KQogKiBNYWtlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2pAAABAGluZykgcm93cyBkdXJpbmcgSEggcGFnaW5nIChDQVNTQU5EUkEtMTQzMikKICogaW5jbHVkZSBzZWNvbmRhcnkgaW5kZXhlcyBkdXJpbmcgc2NoZW1hIG1pZ3JhdGlvbnMgKENBU1NBTkRSQS0xNDA2KQogKiBmaXggY29tbWl0bG9nIGhlYWRlciByYWNlIGR1cmluZyBzY2hlbWEgY2hhbmdlIChDQVNTQU5EUkEtMTQzNSkKICogZml4IENvbHVtbkZhbWlseVN0b3JlTUJlYW5JdGVyYXRvciB0byB1c2UgbmV3IHR5cGUgbmFtZSAoQ0FTU0FORFJBLTE0MzPDIgsOAAABT948slwAECBub3QgdHJhbnNmZXIgd3IAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILakAAAEAQVNTQU5EUkEtODE3OCkKICogRml4IGRlbGV0aW9uIGZvciBpbmRleGVzIG9uIHByaW1hcnkga2V5IGNvbHVtbnMgKENBU1NBTkRSQS04MjA2KQogKiBBZGQgJ25vZGV0b29sIHN0YXR1c2dvc3NpcCcgKENBU1NBTkRSQS04MTI1KQogKiBJbXByb3ZlIGNsaWVudCBub3RpZmljYXRpb24gdGhhdCBub2RlcyBhcmUgcmVhZHkgZm9yIHJlcXVlc3RzIChDQVNTQU5EUkEtNzUxMCkKICogSGFuZGxlIG5lZ2F0aXZlIHRpbWVzdGFtcCBpbiB3cml0ZXRpbWUgbTBSecsAAAFP3jyyXAAQQS01ODU1KQogKiBBZGQgSwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtqQAAAQAsIDQ2MTApCiAqIGNhc3NhbmRyYS1jbGk6IGFsbG93IERvdWJsZSB2YWx1ZSB0eXBlIHRvIGJlIGluc2VydGVkIHRvIGEgY29sdW1uIChDQVNTQU5EUkEtNDY2MSkKICogQWRkIGFiaWxpdHkgdG8gdXNlIGN1c3RvbSBUU2VydmVyRmFjdG9yeSBpbXBsZW1lbnRhdGlvbnMgKENBU1NBTkRSQS00NjA4KQogKiBvcHRpbWl6ZSBiYXRjaGxvZyBmbHVzaGluZyB0byBza2lwIHN1Y2Nlc3NmdWwgYmF0Y2hlcyAoQ0FTU0FORFJBLTQ2NjcpCiAqIGluY2x1ZGUgjO6PfAAAAU/ePLJcABB3aXRoIG1pbi9tYXhfaW5kAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2pAAABAHN0ZW0gY2ZzIChDQVNTQU5EUkEtNTQ5MCkKICogRml4IHByaW1hcnkgcmFuZ2UgaWdub3JlcyByZXBsaWNhdGlvbiBzdHJhdGVneSAoQ0FTU0FORFJBLTU0MjQpCiAqIEZpeCBzaHV0ZG93biBvZiBiaW5hcnkgcHJvdG9jb2wgc2VydmVyIChDQVNTQU5EUkEtNTUwNykKICogRml4IHJlcGFpciAtc25hcHNob3Qgbm90IHdvcmtpbmcgKENBU1NBTkRSQS01NTEyKQogKiBTZXQgaXNSdW5uaW5nIGZsYWcgbGF0ZXIgaW4gYmluYXJ5IHByb3RvY29sIHNlcnYIC8A8AAABT948slwAECBzb21lIHJvd3MgdG8gYmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILakAAAEAb21wYWN0IHN0b3JhZ2UgbWV0YWRhdGEgaGFuZGxpbmcgKENBU1NBTkRSQS01MTg5KQogKiBWYWxpZGF0ZSBsb2dpbiBmb3IgVVNFIHF1ZXJpZXMgKENBU1NBTkRSQS01MjA3KQogKiBjbGk6IHJlbW92ZSBkZWZhdWx0IHVzZXJuYW1lIGFuZCBwYXNzd29yZCAoQ0FTU0FORFJBLTUyMDgpCiAqIGNvbmZpZ3VyZSBwb3B1bGF0ZV9pb19jYWNoZV9vbl9mbHVzaCBwZXItQ0YgKENBU1NBTkRSQS00Njk0KQogKiBhbGxvdyBjb25maWd1cmF0aW9uIG9mIGludAD0mMgAAAFP3jyyXAAQemUsIHdoaWNoIGNhbiBwcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtqQAAAQAgY2hlY2tzdW0gZm9yIGNvbXByZXNzZWQgZGF0YSAoQ0FTU0FORFJBLTE3MTcpCiAqIG1ha2UgY29sdW1uIGZhbWlseSBiYWNrZWQgY29sdW1uIG1hcCBwbHVnZ2FibGUgYW5kIGludHJvZHVjZSB1bnN5bmNocm9uaXplZAogICBBcnJheUxpc3QgYmFja2VkIG9uZSB0byBzcGVlZHVwIHJlYWRzIChDQVNTQU5EUkEtMjg0MywgMzE2NSwgMzIwNSkKICogcmVmYWN0b3Jpbmcgb2YgdGhlIHNlY29uZGFyeSBpbmRleCBhcGkgKENBU1NBTkRSQS0yOTgyKQogz0WevgAQJrHKcjkqAAABT948slwAECkKICogdHJhY2sgbGF0ZW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILawAAAEANTMpCiAqIFByb3Blcmx5IHJlbW92ZSAxLjIgc3N0YWJsZSBzdXBwb3J0IGluIDIuMSAoQ0FTU0FORFJBLTY4NjkpCiAqIExvY2sgY291bnRlciBjZWxscywgbm90IHBhcnRpdGlvbnMgKENBU1NBTkRSQS02ODgwKQogKiBUcmFjayBwcmVzZW5jZSBvZiBsZWdhY3kgY291bnRlciBzaGFyZHMgaW4gc3N0YWJsZXMgKENBU1NBTkRSQS02ODg4KQogKiBFbnN1cmUgc2FmZSByZXNvdXJjZSBjbGVhbnVwIHdoZW4gcmVwbGFjaW5nIHNzdGFibGVzIChDQVNTQXVs5mQAAAFP3jyyXAAQUkEtMzgyMSkKICogUmVtbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtrAAAAQBhdGl2ZSBjbGllbnRzIChDQVNTQU5EUkEtNzgxNikKICogRXhwb3NlIGNvbW1pdCBsb2cgYXJjaGl2ZSBzdGF0dXMgdmlhIEpNWCAoQ0FTU0FORFJBLTg3MzQpCiAqIFByb3ZpZGUgYmV0dGVyIGV4Y2VwdGlvbnMgZm9yIGludmFsaWQgcmVwbGljYXRpb24gc3RyYXRlZ3kgcGFyYW1ldGVycwogICAoQ0FTU0FORFJBLTg5MDkpCiAqIEZpeCByZWdyZXNzaW9uIGluIG1peGVkIHNpbmdsZSBhbmQgbXVsdGktY29sdW1uIHJlbGF0aW9uIHN1cHBvcnQgZm9yAYV7UAAAAU/ePLJcABBlIChDQVNTQU5EUkEtMjY4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2sAAABAHZlcnRlciAoQ0FTU0FORFJBLTE0MTkpCiAqIGFkZCBDTVNJbml0aWF0aW5nT2NjdXBhbmN5RnJhY3Rpb249NzUgYW5kIFVzZUNNU0luaXRpYXRpbmdPY2N1cGFuY3lPbmx5CiAgIHRvIGRlZmF1bHQgSlZNIG9wdGlvbnMKICogZGVjcmVhc2UganZtIGhlYXAgZm9yIGNhc3NhbmRyYS1jbGkgKENBU1NBTkRSQS0xNDQ2KQogKiBhYmlsaXR5IHRvIG1vZGlmeSBrZXlzcGFjZXMgYW5kIGNvbHVtbiBmYW1pbHkgZGVmaW5pdGlvbnMgb24gYSBsaXZlIGNsdXNPEYA8AAABT948slwAEHggU3ViY29sdW1uIHNsaWMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILawAAAEAYWRkIEFMVEVSIENPTFVNTkZBTUlMWSBXSVRIIChDQVNTQU5EUkEtMzUyMykKICAgKyBidW5kbGUgUHl0aG9uIGRlcGVuZGVuY2llcyB3aXRoIENhc3NhbmRyYSAoQ0FTU0FORFJBLTM1MDcpCiAgICsgYWRkZWQgdG8gRGViaWFuIHBhY2thZ2UgKENBU1NBTkRSQS0zNDU4KQogICArIGRpc3BsYXkgYnl0ZSBkYXRhIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0IG9uIGRlY29kZSBmYWlsdXJlIAogICAgIChDQVNTQU5EUkEtMzg3NCkKICogYWRkIG5vZGV0b/NIgmgAAAFP3jyyXAAQbiBVRFRzLCB0dXBsZXMgKAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtrAAAAQByb3B5IGZlYXR1cmUgKENBU1NBTkRSQS0xOTMsIENBU1NBTkRSQS01MjApCiAqIGZpeCBwb3NzaWJpbGl0eSBvZiBwYXJ0aXRpb24gd2hlbiBtYW55IG5vZGVzIHJlc3RhcnQgYXQgb25jZQogICBpbiBjbHVzdGVycyB3aXRoIG11bHRpcGxlIHNlZWRzIChDQVNTQU5EUkEtMTUwKQogKiBmaXggTlBFIGluIGdldF9yYW5nZV9zbGljZSB3aGVuIG5vIGRhdGEgaXMgZm91bmQgKENBU1NBTkRSQS01NzgpCiAqIGZpeCBwb3RlbnRpYWwgTlBFIGluIGhpbnRl3XxQegAAAU/ePLJcABAgKiAoY3FsMykgaW1wcm92AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2sAAABAG1heCBwdXJnYWJsZSB0aW1lc3RhbXAgaWYgd2UgaGF2ZSB0byAoQ0FTU0FORFJBLTg5MTQpCiAqIChjcWxzaCkgR3JlYXRseSBpbXByb3ZlIHBlcmZvcm1hbmNlIG9mIENPUFkgRlJPTSAoQ0FTU0FORFJBLTgyMjUpCiAqIEluZGV4U3VtbWFyeSBlZmZlY3RpdmVJbmRleEludGVydmFsIGlzIG5vdyBhIGd1aWRlbGluZSwgbm90IGEgcnVsZSAoQ0FTU0FORFJBLTg5OTMpCiAqIFVzZSBjb3JyZWN0IGJvdW5kcyBmb3IgcGFnZSBjYWNoZSBldmljdGlvbiAHPhYSAAABT948slwAEFJBLTE5NjMpCiAqIGZpeCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILawAAAEALTMxMzgpCiAqIHByZXZlbnQgdXNlcnMgZnJvbSBjcmVhdGluZyBrZXlzcGFjZXMgd2l0aCBMb2NhbFN0cmF0ZWd5IHJlcGxpY2F0aW9uCiAgIChDQVNTQU5EUkEtMzEzOSkKICogZml4IENMSSBgc2hvdyBzY2hlbWE7YCB0byBvdXRwdXQgY29ycmVjdCBrZXlzcGFjZSBkZWZpbml0aW9uIHN0YXRlbWVudAogICAoQ0FTU0FORFJBLTMxMjkpCiAqIEN1c3RvbVRUaHJlYWRQb29sU2VydmVyIHRvIGxvZyBUVHJhbnNwb3J0RXhjZXB0aW9uIGF0IERFQlVHIDhI1IgAAAFP3jyyXAAQIGtleXMgaW4gd2lkZXJvdwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtrAAAAQBpc3QgY29ycnVwdGVkIFNTVGFibGVzIGZyb20gZnV0dXJlIGNvbXBhY3Rpb25zIAogICAoQ0FTU0FORFJBLTIyNjEpCiAqIE1vdmUgQ2ZEZWYgYW5kIEtzRGVmIHZhbGlkYXRpb24gb3V0IG9mIHRocmlmdCAoQ0FTU0FORFJBLTQwMzcpCiAqIEV4cG9zZSBBUEkgdG8gcmVwYWlyIGEgdXNlciBwcm92aWRlZCByYW5nZSAoQ0FTU0FORFJBLTM5MTIpCiAqIEFkZCB3YXkgdG8gZm9yY2UgdGhlIGNhc3NhbmRyYS1jbGkgdG8gcmVmcmVzaCBpdHMgc2NoZW1hW32dSQAAAU/ePLJcABBzZWQgdG8gY2ZzdGF0cyAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2sAAABAHN1cHBvcnQgZm9yIGNvbW1pdGxvZyBhcmNoaXZpbmcgYW5kIHBvaW50LWluLXRpbWUgcmVjb3ZlcnkKICAgKENBU1NBTkRSQS0zNjkwKQogKiBhdm9pZCBnZW5lcmF0aW5nIHJlZHVuZGFudCBjb21wYWN0aW9uIHRhc2tzIGR1cmluZyBzdHJlYW1pbmcKICAgKENBU1NBTkRSQS00MTc0KQogKiBhZGQgLWNmIG9wdGlvbiB0byBub2RldG9vbCBzbmFwc2hvdCwgYW5kIHRha2VDb2x1bW5GYW1pbHlTbmFwc2hvdCB0bwogICBTdG9yYWdlU2VydmljZSBtYmVBvihMAAABT948slwAEENBU1NBTkRSQS0zNjcxKQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILawAAAEAOCkKICogYWRkIGFiaWxpdHkgdG8gd3JpdGUgdG8gQ2Fzc2FuZHJhIGZyb20gUGlnIChDQVNTQU5EUkEtMTgyOCkKICogYWRkIHJwY19bbWlufG1heF1fdGhyZWFkcyAoQ0FTU0FORFJBLTIxNzYpCiAqIGFkZCBDTC5UV08sIENMLlRIUkVFIChDQVNTQU5EUkEtMjAxMykKICogYXZvaWQgZXhwb3J0aW5nIGFuIHVuLXJlcXVlc3RlZCByb3cgaW4gc3N0YWJsZTJqc29uLCB3aGVuIGV4cG9ydGluZyAKICAgYSBrZXkgdGhhdCBkb2VzIG5vdCBleGlzdCAoQ1y4NqIAAAFP3jyyXAAQb3ZlIHNjaGVtYSBwcm9wYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtrAAAAQAtNDU3KQogKiBNb3JlLWVmZmljaWVudCBmbHVzaCBmb3IgUmFuZG9tLCBDb2xsYXRlZE9QUCBwYXJ0aXRpb25lcnMgCiAgIGZvciBub3JtYWwgd3JpdGVzIChDQVNTQU5EUkEtNDQ2KSBhbmQgYnVsayBsb2FkIChDQVNTQU5EUkEtNDIwKQogKiBBZGQgTWVtdGFibGVGbHVzaEFmdGVyTWludXRlcywgYSBnbG9iYWwgcmVwbGFjZW1lbnQgZm9yIHRoZSBvbGQgCiAgIHBlci1DRiBGbHVzaFBlcmlvZEluTWludXRlcyBzZXR0aW5nIChDQVNTQU5EUkEtNDYzg3xRQAAAAU/ePLJcABAwKQogKiBhZGQgQ29uc2lzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2sAAABAGtleXNwYWNlIGNvbW1hbmRzIChDQVNTQU5EUkEtNDEyOSkKICogQXZvaWRzIHBvc3NpYmxlIGRlYWRsb2NrIGR1cmluZyBib290c3RyYXAgKENBU1NBTkRSQS00MTU5KQogKiBmaXggc3RyZXNzIHRvb2wgdGhhdCBoYW5ncyBmb3JldmVyIG9uIHRpbWVvdXQgb3IgZXJyb3IgKENBU1NBTkRSQS00MTI4KQogKiBzdHJlc3MgdG9vbCB0byByZXR1cm4gYXBwcm9wcmlhdGUgZXhpdCBjb2RlIG9uIGZhaWx1cmUgKENBU1NBTkRSQS00MTg4KQogKiBmaXggY2/7SnfRAAABT948slwAEHNoZXMgaW4gZ29zc2lwIHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILawAAAEARSBjYW4gYmUgdGhyb3duIGludGVhZCBvZiB0aW1pbmcgb3V0IChDQVNTQU5EUkEtMjUxNCkKICogZml4IHVwZGF0ZSBvZiB2YWxpZGF0aW9uIGNsYXNzIGluIGNvbHVtbiBtZXRhZGF0YSAoQ0FTU0FORFJBLTI1MTIpCiAqIHN1cHBvcnQgTE9DQUxfUVVPUlVNLCBFQUNIX1FVT1JVTSBDTHMgb3V0c2lkZSBvZiBOVFMgKENBU1NBTkRSQS0yNTE2KQogKiBwcmVzZXJ2ZSB2ZXJzaW9uIHdoZW4gc3RyZWFtaW5nIGRhdGEgZnJvbSBvbGQgc3N0YWJsZXMgKFWwSQIAAAFP3jyyXAAQQU5EUkEtODcwNykKICogVwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtrAAAAQBuZyAoQ0FTU0FORFJBLTE3NjcpCiAqIHJlcXVpcmUgaW5kZXhfdHlwZSB0byBiZSBwcmVzZW50IHdoZW4gc3BlY2lmeWluZyBpbmRleF9uYW1lCiAgIG9uIENvbHVtbkRlZiAoQ0FTU0FORFJBLTE3NTkpCiAqIGZpeCBhZGQvcmVtb3ZlIGluZGV4IGJ1Z3MgaW4gQ0ZNZXRhZGF0YSAoQ0FTU0FORFJBLTE3NjgpCiAqIHJlYnVpbGQgU3RyYXRlZ3kgZHVyaW5nIHN5c3RlbV91cGRhdGVfa2V5c3BhY2UgKENBU1NBTkRSQS0xNzYyKQogKiBjbGkgdXBkYXRlDr5eaQAAAU/ePLJcABAzIGNvbHVtbmZhbWlsaWVzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2sAAABAHRhdHVzIGNvZGUgaWYgc2NyaXB0IGZhaWxzIChDQVNTQU5EUkEtNjM0NCkKICogRml4IGJ1ZyB3aXRoIHNvbWUgSU4gcXVlcmllcyBtaXNzaWcgcmVzdWx0cyAoQ0FTU0FORFJBLTcxMDUpCiAqIEZpeCBhdmFpbGFiaWxpdHkgdmFsaWRhdGlvbiBmb3IgTE9DQUxfT05FIENMIChDQVNTQU5EUkEtNzMxOSkKICogSGludCBzdHJlYW1pbmcgY2FuIGNhdXNlIGRlY29tbWlzc2lvbiB0byBmYWlsIChDQVNTQU5EUkEtNzIxOSkKCgoyLjEuMC1iZXRhMgogKiA6mhNcABA7DqE43CoAAAFP3jyyXAAQZSBpcyBzdG9wcGVkIChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtrgAAAQBhbGUgaGludGVkX2hhbmRvZmZfdGhyb3R0bGVfaW5fa2IgdG8gY2x1c3RlciBzaXplIChDQVNTQU5EUkEtNTI3MikKICogKEhhZG9vcCkgQWRkIENRTDMgaW5wdXQvb3V0cHV0IGZvcm1hdHMgKENBU1NBTkRSQS00NDIxLCA1NjIyKQogKiAoSGFkb29wKSBGaXggSW5wdXRLZXlSYW5nZSBpbiBDRklGIChDQVNTQU5EUkEtNTUzNikKICogRml4IGRlYWxpbmcgd2l0aCByaWRpY3Vsb3VzbHkgbGFyZ2UgbWF4IHNzdGFibGUgc2l6ZXMgaW4gTENTIChDQVNTwo2ldAAAAU/ePLJcABBBLTMzNzgpCiAqIE1ha2UgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2uAAABAEFTU0FORFJBLTY5NikKICoga2VlcCB0cmFjayBvZiBib290c3RyYXBwaW5nIHNvdXJjZXMgYnkgdGFibGUgc28gdGhhdCBib290c3RyYXBwaW5nIGRvZXNuJ3QgCiAgIGdpdmUgdGhlIGluZGljYXRpb24gb2YgZmluaXNoaW5nIGVhcmx5IChDQVNTQU5EUkEtNjczKQoKCjAuNS4wIFJDMwogKiBjb21taXQgdGhlIGNvcnJlY3QgdmVyc2lvbiBvZiB0aGUgcGF0Y2ggZm9yIENBU1NBTkRSQS02NjMKCgowLjUuMCBSQzIgKHVucmVsZWFzZWQpCiAqIGZpeCDja26dAAABT948slwAECogTG93ZXIgY2hhbmNlcyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILa4AAAEAZGF0ZSAoQ0FTU0FORFJBLTQ0MzkpCiAqIEZpeCBhc3NlcnRpb24gZXJyb3IgaW4gZ2V0T3ZlcmxhcHBpbmdTU1RhYmxlcyBkdXJpbmcgcmVwYWlyIChDQVNTQU5EUkEtNDQ1NikKICogZml4IG5vZGV0b29sJ3Mgc2V0Y29tcGFjdGlvbnRocmVzaG9sZCBjb21tYW5kIChDQVNTQU5EUkEtNDQ1NSkKICogRW5zdXJlIGNvbXBhY3RlZCBmaWxlcyBhcmUgbmV2ZXIgdXNlZCwgdG8gYXZvaWQgY291bnRlciBvdmVyY291bnQgKENBU1NBTkRSQS00NDM2KQpNZQFCg5UAAAFP3jyyXAAQcnZpc29ycyAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtrgAAAQBpYyAoQ0FTU0FORFJBLTQ3MTYsIDQ3NTkpCiAqIChDUUwzKSBEb24ndCByZXR1cm4gUmV2ZXJzZWRUeXBlIGluIHJlc3VsdCBzZXQgbWV0YWRhdGEgKENBU1NBTkRSQS00NzE3KQogKiBCYWNrcG9ydCBhZGRpbmcgQWx0ZXJLZXlzcGFjZSBzdGF0ZW1lbnQgKENBU1NBTkRSQS00NjExKQogKiAoQ1FMMykgQ29ycmVjdHkgYWNjZXB0IHVwcGVyLWNhc2UgZGF0YSB0eXBlcyAoQ0FTU0FORFJBLTQ3NzApCiAqIEFkZCBiaW5hcnkgcHJvdG9jb2wgZXZlbnRzP+oQXQAAAU/ePLJcABBpeCByYWNlIGNvbmRpdGlvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2uAAABAGludGVyc2VjdHMoQm91bmQpIChDQVNTQU5EUkEtNTc3MSkKICogY3Fsc2g6IGhhbmRsZSBkaXNhYmxlZCBjb21wcmVzc2lvbiBpbiBERVNDUklCRSBvdXRwdXQgKENBU1NBTkRSQS01NzY2KQogKiBFbnN1cmUgYWxsIFVQIGV2ZW50cyBhcmUgbm90aWZpZWQgb24gdGhlIG5hdGl2ZSBwcm90b2NvbCAoQ0FTU0FORFJBLTU3NjkpCiAqIEZpeCBmb3JtYXR0aW5nIG9mIHNzdGFibGUyanNvbiB3aXRoIG11bHRpcGxlIC1rIGFyZ3VtZW50cyAoQ0FTU0FORFIaz65MAAABT948slwAEERSQS02MzU3KQogKiBNb3IAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILa4AAAEACiAqIEZpeCBvcmRlcmluZyBvZiBzdGF0aWMgY2VsbHMgKENBU1NBTkRSQS03NzYzKQpNZXJnZWQgZnJvbSAyLjA6CiAqIEZvcmJpZCByZS1hZGRpbmcgZHJvcHBlZCBjb3VudGVyIGNvbHVtbnMgKENBU1NBTkRSQS03ODMxKQogKiBGaXggQ0ZNZXRhRGF0YSNpc1RocmlmdENvbXBhdGlibGUoKSBmb3IgUEstb25seSB0YWJsZXMgKENBU1NBTkRSQS03ODMyKQogKiBBbHdheXMgcmVqZWN0IGluZXF1YWxpdHkgb24gdGhlIHBhcnRpdGlvbiBrZXkgd2l0aEk2qFwAAAFP3jyyXAAQRFJBLTU5NjApCiAqIFJlbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtrgAAAQBDIENRTCBkcml2ZXIgZXhwb3NlcyBnZXRDb2x1bW4gZm9yIGFjY2VzcyB0byB0aW1lc3RhbXAKICogSkRCQyBSZXN1bHRTZXRNZXRhZGF0YSBwcm9wZXJ0aWVzIGFkZGVkIHRvIEFic3RyYWN0VHlwZQogKiByL20gY2x1c3RlcnRvb2wgKENBU1NBTkRSQS0yNjA3KQogKiBhZGQgc3VwcG9ydCBmb3IgcHJlc2VudGluZyByb3cga2V5IGFzIGEgY29sdW1uIGluIENRTCByZXN1bHQgc2V0cyAKICAgKENBU1NBTkRSQS0yNjIyKQogKiBEb24ndCBhbGxvdyB7vZ9EJQAAAU/ePLJcABBpY2UKICAgcXVlcmllcyAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2uAAABAGRTdHJhdGVneSB0byBOZXR3b3JrVG9wb2xvZ3lTdHJhdGVneSwKICAgQWJzdHJhY3RSYWNrQXdhcmVTbml0Y2ggdG8gQWJzdHJhY3ROZXR3b3JrVG9wb2xvZ3lTbml0Y2ggKENBU1NBTkRSQS0xMzkyKQogKiBtZXJnZSBTdG9yYWdlUHJveHkubXV0YXRlLCBtdXRhdGVCbG9ja2luZyAoQ0FTU0FORFJBLTEzOTYpCiAqIGZhc3RlciBVVUlEVHlwZSwgTG9uZ1R5cGUgY29tcGFyaXNvbnMgKENBU1NBTkRSQS0xMzg2LCAxMzkzKQogKiBmaXggc2V0dGluZyBsC1DNAAABT948slwAEHJvcHlTdGFnZSwKICAgby4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILa4AAAEAb3J0IGR1ZSB0byB1bnJlYWNoYWJsZSBmYXQgY2xpZW50cyAoQ0FTU0FORFJBLTY4NjQpCiAqIEZpeCBzY2hlbWEgY29uY3VycmVuY3kgZXhjZXB0aW9ucyAoQ0FTU0FORFJBLTY4NDEpCiAqIEZpeCBsZWFraW5nIHZhbGlkYXRvciBGSCBpbiBTdHJlYW1Xcml0ZXIgKENBU1NBTkRSQS02ODMyKQogKiBGaXggc2F2aW5nIHRyaWdnZXJzIHRvIHNjaGVtYSAoQ0FTU0FORFJBLTY3ODkpCiAqIEZpeCB0cmlnZ2VyIG11dGF0aW9ucyB3aGVuIGJhc2UgbXV0YQStHpsAAAFP3jyyXAAQCiAqIEZpeCBhY2NlcHQoKQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtrgAAAQBlc2hvbGQgY29tbWFuZCAoQ0FTU0FORFJBLTQ0NTUpCiAqIEVuc3VyZSBjb21wYWN0ZWQgZmlsZXMgYXJlIG5ldmVyIHVzZWQsIHRvIGF2b2lkIGNvdW50ZXIgb3ZlcmNvdW50IChDQVNTQU5EUkEtNDQzNikKTWVyZ2VkIGZyb20gMS4wOgogKiBQdXNoIHRoZSB2YWxpZGF0aW9uIG9mIHNlY29uZGFyeSBpbmRleCB2YWx1ZXMgdG8gdGhlIFNlY29uZGFyeUluZGV4TWFuYWdlciAoQ0FTU0FORFJBLTQyNDApCiAqIGFsbG93IGRyb3BwaW5nIGNvbHVtbnMg9rTeEwAAAU/ePLJcABAxKQogKiBjcWxzaDogYWRkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2uAAABAERSQS0zOTg1KQogKiBzeW5jaHJvbml6ZSBMQ1MgZ2V0RXN0aW1hdGVkVGFza3MgdG8gYXZvaWQgQ01FIChDQVNTQU5EUkEtNDI1NSkKICogZW5zdXJlIHVuaXF1ZSBzdHJlYW1pbmcgc2Vzc2lvbiBpZCdzIChDQVNTQU5EUkEtNDIyMykKICoga2ljayBvZmYgYmFja2dyb3VuZCBjb21wYWN0aW9uIHdoZW4gbWluL21heCB0aHJlc2hvbGRzIGNoYW5nZSAKICAgKENBU1NBTkRSQS00Mjc5KQogKiBpbXByb3ZlIGFiaWxpdHkgb2YgU1RDUy5nZXRCdWNrZXQWnlfkAAABT948slwAEGMgKGhzaGEpIHRocmlmdCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILa4AAAEAIHByZS0xLjEgaW5kZXggcXVlcmllcyAoQ0FTU0FORFJBLTQyNjIpCk1lcmdlZCBmcm9tIDEuMDoKICogRml4IHN1cGVyIGNvbHVtbnMgYnVnIHdoZXJlIGNhY2hlIGlzIG5vdCB1cGRhdGVkIChDQVNTQU5EUkEtNDE5MCkKICogZml4IG1heFRpbWVzdGFtcCB0byBpbmNsdWRlIHJvdyB0b21ic3RvbmVzIChDQVNTQU5EUkEtNDExNikKICogKENMSSkgcHJvcGVybHkgaGFuZGxlIHF1b3RlcyBpbiBjcmVhdGUvdXBkYXRlIGtleXNwYWNlIGNvbW1hbmRzIHsBKxEAAAFP3jyyXAAQQVNTQU5EUkEtNzYyMykKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtrgAAAQBwZSB3aGVuIGRvaW5nIC1EY2Fzc2FuZHJhLmZkX2luaXRpYWxfdmFsdWVfbXMgKENBU1NBTkRSQS02NzUxKQoKCjIuMS4wLWJldGExCiAqIEFkZCBmbHVzaCBkaXJlY3RvcnkgZGlzdGluY3QgZnJvbSBjb21wYWN0aW9uIGRpcmVjdG9yaWVzIChDQVNTQU5EUkEtNjM1NykKICogUmVxdWlyZSBKTkEgYnkgZGVmYXVsdCAoQ0FTU0FORFJBLTY1NzUpCiAqIGFkZCBsaXN0c25hcHNob3RzIGNvbW1hbmQgdG8gbm9kZXRvb2wgKENBU1NBTkRSQS01NzQyKQogMlCfPQAAAU/ePLJcABBhY2tlciAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2uAAABAHRhdHVzIChDQVNTQU5EUkEtNTM1MSkKICogSW1wcm92ZSBoYW5kbGluZyBvZiByYW5nZSB0b21ic3RvbmUgZm9yIHdpZGUgcGFydGl0aW9ucyAoQ0FTU0FORFJBLTY0NDYpCiAqIEZpeCBDbGFzc0Nhc3RFeGNlcHRpb24gZm9yIGNvbXBhY3QgdGFibGUgd2l0aCBjb21wb3NpdGVzIChDQVNTQU5EUkEtNjczOCkKICogRml4IHBvdGVudGlhbGx5IHJlcGFpcmluZyB3aXRoIHdyb25nIG5vZGVzIChDQVNTQU5EUkEtNjgwOCkKICogQ2hhbmdlIGNhY2hpbmdGs6pFAAABT948slwAECAqIEZpeCB0b29sIC5iYXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILa4AAAEAY3Fsc2hyYyBjb25maWcgb3B0aW9uIChDQVNTQU5EUkEtODkzNCkKICogU3RvcCBsb2dnaW5nIHJhbmdlIHRvbWJzdG9uZXMgd2hlbiBleGNlZWRpbmcgdGhlIHRocmVzaG9sZAogICAoQ0FTU0FORFJBLTg1NTkpCiAqIEZpeCBOdWxsUG9pbnRlckV4Y2VwdGlvbiB3aGVuIG5vZGV0b29sIGdldGVuZHBvaW50cyBpcyBydW4KICAgYWdhaW5zdCBpbnZhbGlkIGtleXNwYWNlcyBvciB0YWJsZXMgKENBU1NBTkRSQS04OTUwKQogKiBBbGxvdyBzcGVjaWZ5abGWe8AAEE9rBYoeKwAAAU/ePLJcABByZXF1ZXN0ZWQgcm93IGluAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2wAAABAHBhcmVkIHN0YXRlbWVudHMgaW4gaG90IGF1dGggcXVlcmllcyAoQ0FTU0FORFJBLTU1OTQpCiAqIGNxbHNoOiBhZGQgdmVydGljYWwgb3V0cHV0IG9wdGlvbiAoc2VlIEVYUEFORCkgKENBU1NBTkRSQS01NTk3KQogKiBBZGQgYSByYXRlIGxpbWl0IG9wdGlvbiB0byBzdHJlc3MgKENBU1NBTkRSQS01MDA0KQogKiBoYXZlIEJ1bGtMb2FkZXIgaWdub3JlIHNuYXBzaG90cyBkaXJlY3RvcmllcyAoQ0FTU0FORFJBLTU1ODcpIAogKiBmaXggU25pdGNoUHLB6GBkAAABT948slwAEHRzIG9mIHJlbW92ZWQgbm8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbAAAAEAKENBU1NBTkRSQS0zNTQ3KQogKiBmaXggcG90ZW50aWFsIHJhY2UgaW4gQUVTIHdoZW4gYSByZXBhaXIgZmFpbHMgKENBU1NBTkRSQS0zNTQ4KQogKiBSZW1vdmUgY29sdW1ucyBzaGFkb3dlZCBieSBhIGRlbGV0ZWQgY29udGFpbmVyIGV2ZW4gd2hlbiB3ZSBjYW5ub3QgcHVyZ2UKICAgKENBU1NBTkRSQS0zNTM4KQogKiBJbXByb3ZlIG1lbXRhYmxlIHNsaWNlIGl0ZXJhdGlvbiBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTM1NDUpCiAqIG1vcmUgZWZmaepUrXQAAAFP3jyyXAAQaW5nIGluZm9ybWF0aW9uIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtsAAAAQAtNzU3NykKICogKEhhZG9vcCkgYWxsb3cgQUNGUlcgdG8gbGltaXQgbm9kZXMgdG8gbG9jYWwgREMgKENBU1NBTkRSQS03MjUyKQogKiAoY3Fsc2gpIGNxbHNoIHNob3VsZCBhdXRvbWF0aWNhbGx5IGRpc2FibGUgdHJhY2luZyB3aGVuIHNlbGVjdGluZwogICBmcm9tIHN5c3RlbV90cmFjZXMgKENBU1NBTkRSQS03NjQxKQogKiAoSGFkb29wKSBBZGQgQ3FsT3V0cHV0Rm9ybWF0IChDQVNTQU5EUkEtNjkyNykKICogRG9uJ3QgZGVwZW5kIG9uIGNhc3NhXyLTOAAAAU/ePLJcABAKICogRml4IHNob3J0IHJlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2wAAABAGFyCiAgIChDQVNTQU5EUkEtMzEzOCkKICogcHJldmVudCB1c2VycyBmcm9tIGNyZWF0aW5nIGtleXNwYWNlcyB3aXRoIExvY2FsU3RyYXRlZ3kgcmVwbGljYXRpb24KICAgKENBU1NBTkRSQS0zMTM5KQogKiBmaXggQ0xJIGBzaG93IHNjaGVtYTtgIHRvIG91dHB1dCBjb3JyZWN0IGtleXNwYWNlIGRlZmluaXRpb24gc3RhdGVtZW50CiAgIChDQVNTQU5EUkEtMzEyOSkKICogQ3VzdG9tVFRocmVhZFBvb2xTZXJ2ZXIgdG8gbG9nIFRUcmFuc3BvcnRFeGMhnmkGAAABT948slwAEGVfcmluZyAoQ0FTU0FORFIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbAAAAEAbXBsaWZpZWQgZmFjYWRlIHRvIFNTVGFibGVXcml0ZXIgZm9yIGJ1bGsgbG9hZGluZyB1c2UKICAgKENBU1NBTkRSQS0yOTExKQogKiBmaXggcmUtdXNpbmcgaW5kZXggQ0Ygc3N0YWJsZSBuYW1lcyBhZnRlciBkcm9wL3JlY3JlYXRlIChDQVNTQU5EUkEtMjg3MikKICogcHJlcGVuZCBDRiB0byBkZWZhdWx0IGluZGV4IG5hbWVzIChDQVNTQU5EUkEtMjkwMykKICogZml4IGhpbnQgcmVwbGF5IChDQVNTQU5EUkEtMjkyOCkKICogUHJvcGVybHkgc3luY2PTf6YAAAFP3jyyXAAQTlBFIChDQVNTQU5EUkEtNgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtsAAAAQBEUkEtMzgyMSkKICogUmVtb3ZlIGRlcHJlY2F0ZWQgbWVyZ2Vfc2hhcmRfY2hhbmNlIChDQVNTQU5EUkEtMzk0MCkKICogYWRkIGEgY29udmVuaWVudCB3YXkgdG8gcmVzZXQgYSBub2RlJ3Mgc2NoZW1hIChDQVNTQU5EUkEtMjk2MykKICogZml4IGZvciBpbnRlcm1pdHRlbnQgU2NoZW1hRGlzYWdyZWVtZW50RXhjZXB0aW9uIChDQVNTQU5EUkEtMzg4NCkKICogQ0xJIGBsaXN0IDxDRj5gIHRvIGxpbWl0IG51bWJlciBvZiBjb2x1bW5zIGFuZCB0aGVp7qoziwAAAU/ePLJcABBBU1NBTkRSQS01NDUyKQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2wAAABAGluZGV4ZXMgaW4gQ09NUEFDVCB0YWJsZXMgKENBU1NBTkRSQS04MTU2KQogKiBBdm9pZCBTdGFja092ZXJmbG93RXJyb3Igd2hlbiBhIGxhcmdlIGxpc3Qgb2YgSU4gdmFsdWVzCiAgIGlzIHVzZWQgZm9yIGEgY2x1c3RlcmluZyBjb2x1bW4gKENBU1NBTkRSQS04NDEwKQogKiBGaXggTlBFIHdoZW4gd3JpdGV0aW1lKCkgb3IgdHRsKCkgY2FsbHMgYXJlIHdyYXBwZWQgYnkKICAgYW5vdGhlciBmdW5jdGlvbiBjYWxsIChDQVNTQU5EUkEtODQ1MSkKICqHlEpuAAABT948slwAEE5EUkEtNTkwNykKICogTmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbAAAAEAaGUgb3B0aW9uIChDQVNTQU5EUkEtMjE3NSkKICogcmVmYWN0b3Igc3RyZXNzLnB5IHRvIGhhdmUgb25seSBvbmUgY29weSBvZiB0aGUgZm9ybWF0IHN0cmluZyAKICAgdXNlZCBmb3IgY3JlYXRpbmcgcm93IGtleXMgKENBU1NBTkRSQS0yMTA4KQogKiB2YWxpZGF0ZSBpbmRleCBuYW1lcyBmb3IgXHcrIChDQVNTQU5EUkEtMjE5NikKICogRml4IENhc3NhbmRyYSBjbGkgdG8gcmVzcGVjdCB0aW1lb3V0IGlmIHNjaGVtYSBkb2VzIG5vdCBzZXR0bGUgCvlzW9YAAAFP3jyyXAAQIGlucHV0IGluIGNsaSAoQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtsAAAAQB0IGF1dGggcXVlcmllcyAoQ0FTU0FORFJBLTU1OTQpCiAqIGNxbHNoOiBhZGQgdmVydGljYWwgb3V0cHV0IG9wdGlvbiAoc2VlIEVYUEFORCkgKENBU1NBTkRSQS01NTk3KQogKiBBZGQgYSByYXRlIGxpbWl0IG9wdGlvbiB0byBzdHJlc3MgKENBU1NBTkRSQS01MDA0KQogKiBoYXZlIEJ1bGtMb2FkZXIgaWdub3JlIHNuYXBzaG90cyBkaXJlY3RvcmllcyAoQ0FTU0FORFJBLTU1ODcpIAogKiBmaXggU25pdGNoUHJvcGVydGllcyBsb2dnaW5nIGNvbnRllwN+5AAAAU/ePLJcABB0ZXIgaGFuZG9mZiAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2wAAABACAqIEZpeCBwb3RlbnRpYWwgQXNzZXJ0aW9uRXJyb3Igd2l0aCAybmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTY2MTIpCiAqIEF2b2lkIGxvZ2dpbmcgQ29tcGFjdGlvbkludGVycnVwdGVkIGF0IEVSUk9SIChDQVNTQU5EUkEtNzY5NCkKICogTWlub3IgbGVhayBpbiBzc3RhYmxlMmpvbiAoQ0FTU0FORFJBLTc3MDkpCiAqIEFkZCBjYXNzYW5kcmEuYXV0b19ib290c3RyYXAgc3lzdGVtIHByb3BlcnR5IChDQVNTQU5EUkEtNzY1MCkKICogVXBkYXRlIGr8EzDLAAABT948slwAEGUgY29ycmVjdGx5IHNlbGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbAAAAEAbWVudCBsb3N0IGFmdGVyIHJlc3RhcnQgKENBU1NBTkRSQS0yNjQyKQogKiBhZGQgcXVvdGUtZXNjYXBpbmcgdmlhIGJhY2tzbGFzaCB0byBDTEkgKENBU1NBTkRSQS0yNjIzKQogKiBmaXggcGlnIGV4YW1wbGUgc2NyaXB0IChDQVNTQU5EUkEtMjQ4NykKICogZml4IGR5bmFtaWMgc25pdGNoIHJhY2UgaW4gYWRkaW5nIGxhdGVuY2llcyAoQ0FTU0FORFJBLTI2MTgpCiAqIFN0YXJ0L3N0b3AgY2Fzc2FuZHJhIGFmdGVyIG1vcmUgaW1wb3J0YW50IHNlctB2xBcAAAFP3jyyXAAQdGVkIHRhYmxlcyBvcgogIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtsAAAAQApIEFkZCBjb21tYW5kIGxpbmUgb3B0aW9uIGZvciBjcWxzaHJjIGZpbGUgcGF0aCAoQ0FTU0FORFJBLTcxMzEpCiAqIFByb3ZpZGUgdmlzaWJpbGl0eSBpbnRvIHByZXBhcmVkIHN0YXRlbWVudHMgY2h1cm4gKENBU1NBTkRSQS03OTIxLCBDQVNTQU5EUkEtNzkzMCkKICogSW52YWxpZGF0ZSBwcmVwYXJlZCBzdGF0ZW1lbnRzIHdoZW4gdGhlaXIga2V5c3BhY2Ugb3IgdGFibGUgaXMKICAgZHJvcHBlZCAoQ0FTU0FORFJBLTc1NjYpCiAqIGNhc3NhbmRywFPCXgAAAU/ePLJcABBTU0FORFJBLTc1NzEpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2wAAABAAogKiBBbGxvdyBzcGVjaWZ5aW5nIGN1c3RvbSBzZWNvbmRhcnkgaW5kZXggb3B0aW9ucyBpbiBDUUwzIChDQVNTQU5EUkEtNjQ4MCkKICogSW1wcm92ZSByZXBsaWNhIHBpbm5pbmcgZm9yIGNhY2hlIGVmZmljaWVuY3kgaW4gREVTIChDQVNTQU5EUkEtNjQ4NSkKICogRml4IExPQ0FMX1NFUklBTCBmcm9tIHRocmlmdCAoQ0FTU0FORFJBLTY1ODQpCiAqIERvbid0IHNwZWNpYWwgY2FzZSByZWNlaXZlZCBjb3VudHMgaW4gQ0FTIHRpbWVvdXQgZXhjZXChPgpVAAABT948slwAEDMpCiAqIG1ha2UgcmVwYWkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbAAAAEAaWVzIHdpdGggc3RhdGljIGNvbHVtbnMgKENBU1NBTkRSQS03NDkwKQpNZXJnZWQgZnJvbSAxLjI6CiAqIFNldCBjb3JyZWN0IHN0cmVhbSBJRCBvbiByZXNwb25zZXMgd2hlbiBub24tRXhjZXB0aW9uIFRocm93YWJsZXMKICAgYXJlIHRocm93biB3aGlsZSBoYW5kbGluZyBuYXRpdmUgcHJvdG9jb2wgbWVzc2FnZXMgKENBU1NBTkRSQS03NDcwKQoKCjIuMS4wLXJjMwogKiBDb25zaWRlciBleHBpcnkgd2hlbiByZWNvbmNpbGluZyBvdGhlcndpc2UgZRHbZlAAAAFP3jyyXAAQZWQgc3RhdGVtZW50cyB3aAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtsAAAAQB5X3ZhbGlkYXRpb25fY2xhc3MgYmVmb3JlIGluc3RhbnRpYXRpbmcgVXBkYXRlQ29sdW1uRmFtaWx5IChDQVNTQU5EUkEtMzEwMikKICogbWFrZSBSYW5nZSBhbmQgQm91bmRzIG9iamVjdHMgY2xpZW50LXNhZmUgKENBU1NBTkRSQS0zMTA4KQogKiBvcHRpb25hbGx5IHNraXAgbG9nNGogY29uZmlndXJhdGlvbiAoQ0FTU0FORFJBLTMwNjEpCiAqIGJ1bmRsZSBzc3RhYmxlbG9hZGVyIHdpdGggdGhlIGRlYmlhbiBwYWNrYWdlIChDQVNTQU5EUkEtMzExPl0RqwAQY8hzATcOAAABT948slwAEHRlIFNTVGFibGUgcmVmZXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbIAAAEAIGludmFsaWRhdGlvbiAoQ0FTU0FORFJBLTYzNDUsIDY0ODUpCiAqIEltcHJvdmUgYmF0Y2hsb2cgd3JpdGUgcGVyZm9ybWFuY2Ugd2l0aCB2bm9kZXMgKENBU1NBTkRSQS02NDg4KQogKiBjcWxzaDogcXVvdGUgc2luZ2xlIHF1b3RlcyBpbiBzdHJpbmdzIGluc2lkZSBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTYxNzIpCiAqIEltcHJvdmUgZ29zc2lwIHBlcmZvcm1hbmNlIGZvciB0eXBpY2FsIG1lc3NhZ2VzIChDQVNTQU5EUkEtNjQwOSkKICogVGhyb8mza14AAAFP3jyyXAAQeSBpbmVmZmljaWVudCBxdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtsgAAAQB1cGRhdGVzIHRvIGluZGV4ZWQgY29sdW1ucyAoQ0FTU0FORFJBLTEzNzMpCiAqIGZpeCByYWNlIGNvbmRpdGlvbiBsZWF2aW5nIHRvIEZpbGVOb3RGb3VuZEV4Y2VwdGlvbiAoQ0FTU0FORFJBLTEzODIpCiAqIGZpeCBzaGFyZGVkIGxvY2sgaGFzaCBvbiBpbmRleCB3cml0ZSBwYXRoIChDQVNTQU5EUkEtMTQwMikKICogYWRkIHN1cHBvcnQgZm9yIEdUL0UsIExUL0UgaW4gc3Vib3JkaW5hdGUgaW5kZXggY2xhdXNlcyAoQ0FTU0FORFJBLTE0MDEpCiAq2ekxuQAAAU/ePLJcABBlc3QgcmVjb25jaWxpYXRpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2yAAABAFNBTkRSQS03MTEyKQogKiBDbGVhbnVwIGFuZCBvcHRpbWl6ZSBjb2xsYXRpb24gYW5kIHNsaWNlIGl0ZXJhdG9ycyAoQ0FTU0FORFJBLTcxMDcpCiAqIFVwZ3JhZGUgTkJITSBsaWIgKENBU1NBTkRSQS03MTI4KQogKiBPcHRpbWl6ZSBuZXR0eSBzZXJ2ZXIgKENBU1NBTkRSQS02ODYxKQogKiBGaXggcmVwYWlyIGhhbmcgd2hlbiBnaXZlbiBDRiBkb2VzIG5vdCBleGlzdCAoQ0FTU0FORFJBLTcxODkpCiAqIEFsbG93IGMqIHRvIGJlIHNodXRkb3duIGn6nt+iAAABT948slwAEG5kcmEuYmF0IHdoZW4gQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbIAAAEAb3ZlZCAoQ0FTU0FORFJBLTgxMjQpCiAqIEZpeCBzaHV0ZG93biB3aGVuIHJ1biBhcyBXaW5kb3dzIHNlcnZpY2UgKENBU1NBTkRSQS04MTM2KQogKiBGaXggREVTQ1JJQkUgVEFCTEUgd2l0aCBjdXN0b20gaW5kZXhlcyAoQ0FTU0FORFJBLTgwMzEpCiAqIEZpeCByYWNlIGluIFJlY292ZXJ5TWFuYWdlclRlc3QgKENBU1NBTkRSQS04MTc2KQogKiBBdm9pZCBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gd2hpbGUgc29ydGluZyBzc3RhYmxlcyBpbgogICKl2C8AAAFP3jyyXAAQCiAqIHVzZSBjYW5ub25pYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtsgAAAQAgKENBU1NBTkRSQS0xNTMzKQogKiBmaXggcmFjZSBjb25kaXRpb24gcHJvY2Vzc2luZyByZXBhaXIgcmVzcG9uc2VzIChDQVNTQU5EUkEtMTUxMSkKICogbWFrZSByZXBhaXIgYmxvY2tpbmcgKENBU1NBTkRSQS0xNTExKQogKiBjcmVhdGUgRW5kcG9pbnRTbml0Y2hJbmZvIGFuZCBNQmVhbiB0byBleHBvc2UgcmFjayBhbmQgREMgKENBU1NBTkRSQS0xNDkxKQogKiBhZGRlZCBvcHRpb24gdG8gY29udHJpYi93b3JkX2NvdW50IHRvIG91dHB1dCByZXN1UR2vHwAAAU/ePLJcABBpZGF0aW9uIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2yAAABAG9ycmVjdCBwYWRkaW5nIHdpdGggdW5pY29kZSBjaGFycyAoQ0FTU0FORFJBLTQwMzMpCiAqIEZpeCBFQzIgc25pdGNoIGluY29ycmVjdGx5IHJlcG9ydGluZyByZWdpb24gKENBU1NBTkRSQS00MDI2KQogKiBTaHV0IGRvd24gdGhyaWZ0IGR1cmluZyBkZWNvbW1pc3Npb24gKENBU1NBTkRSQS00MDg2KQogKiBFeHBvc2Ugbm9kZXRvb2wgY2ZoaXN0b2dyYW1zIGZvciAybmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTQwNjMpCk1lcmdlZCBmcm9tIDAuODrnc5aIAAABT948slwAEEEtNjg3KQogKiBtYWtlIHIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbIAAAEAc3NlZCAoQ0FTU0FORFJBLTI3MTgpCiAqIGRvbid0IHRocm93IGFuIGV4Y2VwdGlvbiBpbiBTUy5pc1JQQ1NlcnZlclJ1bm5pbmcgKENBU1NBTkRSQS0yNzIxKQogKiBtYWtlIHN0cmVzcy5qYXIgZXhlY3V0YWJsZSAoQ0FTU0FORFJBLTI3NDQpCiAqIGFkZCBkYWVtb24gbW9kZSB0byBqYXZhIHN0cmVzcyAoQ0FTU0FORFJBLTIyNjcpCiAqIGV4cG9zZSB0aGUgREMgYW5kIHJhY2sgb2YgYSBub2RlIHRocm91Z2ggSk1YIGFuZCBub2RldG9vbCByaW5nIBdNSe4AAAFP3jyyXAAQIG1lbXRhYmxlIGZsdXNoIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtsgAAAQBTQU5EUkEtNjk0KQogKiBvcHRpbWl6ZSBpbm5lciByZWFkIGluIE1lc3NhZ2luZ1NlcnZpY2UsIHZhc3RseSBpbXByb3ZpbmcgbXVsdGlwbGUtbm9kZQogICBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTY3NSkKICogd2FpdCBmb3IgdGFibGUgZmx1c2ggYmVmb3JlIHN0cmVhbWluZyBkYXRhIGJhY2sgdG8gYSBib290c3RyYXBwaW5nIG5vZGUuCiAgIChDQVNTQU5EUkEtNjk2KQogKiBrZWVwIHRyYWNrIG9mIGJvb3RzdHJhcHBpbmcgc291cmNlcyBieSB0C/s/yQAAAU/ePLJcABB4IHRyYWNpbmcgd2hlbiBvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2yAAABAG8gMTUzNiAoQ0FTU0FORFJBLTYyNjcpCiAqIE5vZGV0b29sIGdldHMgZGVmYXVsdCBKTVggcG9ydCBmcm9tIGNhc3NhbmRyYS1lbnYuc2ggKENBU1NBTkRSQS02MjczKQogKiBtYWtlIGNhbGN1bGF0ZVBlbmRpbmdSYW5nZXMgYXN5bmNocm9ub3VzIChDQVNTQU5EUkEtNjI0NCkKICogUmVtb3ZlIGJsb2NraW5nIGZsdXNoZXMgaW4gZ29zc2lwIHRocmVhZCAoQ0FTU0FORFJBLTYyOTcpCiAqIEZpeCBwb3RlbnRpYWwgc29ja2V0IGxlYWsgaW4gY29ubmVshfqhAAABT948slwAEHNpbmcgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbIAAAEAZ2NhYmxlIHRvbWJzdG9uZXMgZnJvbSBtZXJrbGUtdHJlZSBjb21wdXRhdGlvbiAoQ0FTU0FORFJBLTQ5MDUpCiAqIEJldHRlciBwcmludGluZyBvZiBBYnN0cmFjdEJvdW5kcyBmb3IgdHJhY2luZyAoQ0FTU0FORFJBLTQ5MzEpCiAqIE9wdGltaXplIG1vc3RSZWNlbnRUb21ic3RvbmUgY2hlY2sgaW4gQ0MuY29sbGVjdEFsbERhdGEgKENBU1NBTkRSQS00ODgzKQogKiBDaGFuZ2Ugc3RyZWFtIHNlc3Npb24gSUQgdG8gVVVJRCB0byBhdm9pZCBjb2xsaeFxjwwAAAFP3jyyXAAQYW1lIGRpcmVjdG9yeS4KIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtsgAAAQBlLmdldE9wZXJhdGlvbk1vZGUoKSBpcyBleGVjdXRlZCBiZWZvcmUgZnVsbCBzdGFydHVwIChDQVNTQU5EUkEtNjE2NikKICogQ1FMMzogc3VwcG9ydCBwcmUtZXBvY2ggbG9uZ3MgZm9yIFRpbWVzdGFtcFR5cGUgKENBU1NBTkRSQS02MjEyKQogKiBBZGQgcmVsb2FkdHJpZ2dlcnMgY29tbWFuZCB0byBub2RldG9vbCAoQ0FTU0FORFJBLTQ5NDkpCiAqIGNxbHNoOiBpZ25vcmUgZW1wdHkgJ3ZhbHVlIGFsaWFzJyBpbiBERVNDUklCRSAoQ0FTU0FORFJBbPbzEAAAAU/ePLJcABBhYmxlIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2yAAABAEFORFJBLTMyMDEpCiAqIHJlbW92ZSB1bm5lY2Vzc2FyeSBjb3B5IHdoZW4gYWRkaW5nIHRvIHJvdyBjYWNoZSAoQ0FTU0FORFJBLTMyMjMpCiAqIExvZyBtZXNzYWdlIHdoZW4gYSBmdWxsIHJlcGFpciBvcGVyYXRpb24gY29tcGxldGVzIChDQVNTQU5EUkEtMzIwNykKICogRml4IHN0cmVhbU91dFNlc3Npb24ga2VlcGluZyBzc3RhYmxlcyByZWZlcmVuY2VzIGZvcmV2ZXIgaWYgdGhlIHJlbW90ZSBlbmQKICAgZGllcyAoQ0FTU0FORFJBLTMyMTYpCiCp5dPJAAABT948slwAEHR1cCAoQ0FTU0FORFJBLTgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbIAAAEAc3VwcG9ydCB0byBDUUwzIChDQVNTQU5EUkEtNTQ4NCkKICogRml4IHJlcGFpciBoYW5naW5nIHNpbGVudGx5IG9uIHVuZXhwZWN0ZWQgZXJyb3IgKENBU1NBTkRSQS01MjI5KQogKiBGaXggRWMyU25pdGNoIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBDQVNTQU5EUkEtNTE3MSAoQ0FTU0FORFJBLTU0MzIpCiAqIEFkZCBub2RldG9vbCBlbmFibGViYWNrdXAvZGlzYWJsZWJhY2t1cCAoQ0FTU0FORFJBLTU1NTYpCiAqIGNxbHNoOiBmaXggREVTQ1JJQhtC8w8AAAFP3jyyXAAQIHByb2Nlc3NpbmcgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtsgAAAQAxOSkKICogcmV3cml0ZSBrZXkgY2FjaGUgc2F2ZS9sb2FkIHRvIHVzZSBvbmx5IHNlcXVlbnRpYWwgaS9vIChDQVNTQU5EUkEtMzc2MikKICogdXBkYXRlIE1TIHByb3RvY29sIHdpdGggYSB2ZXJzaW9uIGhhbmRzaGFrZSArIGJyb2FkY2FzdCBhZGRyZXNzIGlkCiAgIChDQVNTQU5EUkEtNDMxMSkKICogbXVsdGl0aHJlYWRlZCBoaW50IHJlcGxheSAoQ0FTU0FORFJBLTQxODkpCiAqIGFkZCBpbnRlci1ub2RlIG1lc3NhZ2UgY29tcHJlc3Npb24gKENBZL2sIQAAAU/ePLJcABBwZSBpbiBUaHJpZnQgdGFiAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2yAAABACAoQ0FTU0FORFJBLTQ1OTcpCiAqIGZpeCBicm9rZW4gc3lzdGVtLnNjaGVtYV8qIHRpbWVzdGFtcHMgb24gc3lzdGVtIHN0YXJ0dXAgKENBU1NBTkRSQS00NTYxKQogKiBmaXggd3Jvbmcgc2tpcCBvZiBjYWNoZSBzYXZpbmcgKENBU1NBTkRSQS00NTMzKQogKiBBdm9pZCBOUEUgd2hlbiBsb3N0K2ZvdW5kIGlzIGluIGRhdGEgZGlyIChDQVNTQU5EUkEtNDU3MikKICogUmVzcGVjdCBmaXZlLW1pbnV0ZSBmbHVzaCBtb3JhdG9yaXVtIGFmdGVyIGluaXTpZ/tRABB4JQXvrvIAAAFP3jyyXAAQNDYzKQogKiBmc3luYyBsZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgttQAAAQBza2lwIGVtcHR5IHJvd3MKICAgKHJvd3MgY29udGFpbmluZyBub3RoaW5nIGJ1dCBleHBpcmVkIHRvbWJzdG9uZXMpIChDQVNTQU5EUkEtMzAzOSkKICogd29yayBhcm91bmQgbmF0aXZlIG1lbW9yeSBsZWFrIGluIGNvbS5zdW4ubWFuYWdlbWVudC5HYXJiYWdlQ29sbGVjdG9yTVhCZWFuCiAgIChDQVNTQU5EUkEtMjg2OCkKICogdmFsaWRhdGUgdGhhdCBjb2x1bW4gbmFtZXMgaW4gY29sdW1uX21ldGFkYXRhIGFyZSBub3QgZXF1YWwgdG8ga2V5X2FsAiJ/KAAAAU/ePLJcABBnIGFuZCBjb21wbGV0ZWQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC21AAABAGUgYXJlIGNyZWF0ZWQKICAgdW5pcXVlbHkgZm9yIENGIGlkIChDQVNTQU5EUkEtNTIwMikKICogTmV3IGNvdW50ZXJzIGltcGxlbWVudGF0aW9uIChDQVNTQU5EUkEtNjUwNCkKICogUmVwbGFjZSBVbnNvcnRlZENvbHVtbnMsIEVtcHR5Q29sdW1ucywgVHJlZU1hcEJhY2tlZFNvcnRlZENvbHVtbnMgd2l0aCBuZXcKICAgQXJyYXlCYWNrZWRTb3J0ZWRDb2x1bW5zIChDQVNTQU5EUkEtNjYzMCwgQ0FTU0FORFJBLTY2NjIsIENBU1NBTkRSQS02NjkwKQrMWxDEAAABT948slwAECAgQXJyYXlCYWNrZWRTb3IAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbUAAAEAbiBzY2hlbWEgKENBU1NBTkRSQS0zMjgwKQogKiBGaXggY29tcGxldGVseSByZW1vdmluZyBjb2x1bW4gbWV0YWRhdGEgdXNpbmcgQ0xJIChDQVNTQU5EUkEtMzEyNikKICogQ0xJIGBkZXNjcmliZSBjbHVzdGVyO2Agb3V0cHV0IHNob3VsZCBiZSBvbiBzZXBhcmF0ZSBsaW5lcyBmb3Igc2VwYXJhdGUgdmVyc2lvbnMKICAgKENBU1NBTkRSQS0zMTcwKQogKiBmaXggY2hhbmdpbmcgZHVyYWJsZV93cml0ZXMga2V5c3BhY2Ugb3B0aW9uIGR1cmluZyBDRnzut1gAAAFP3jyyXAAQUkEtNTE0NSkKICogZml4IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgttQAAAQBoZSB3aXRoIGEgZ2l2ZW4gYW1vdW50IG9mIHJvd3MgKENBU1NBTkRSQS01MzU3KQogKiBBdm9pZCByZXBhaXJpbmcgYWxyZWFkeSByZXBhaXJlZCBkYXRhIChDQVNTQU5EUkEtNTM1MSkKICogUmVqZWN0IGNvdW50ZXIgdXBkYXRlcyB3aXRoIFVTSU5HIFRUTC9USU1FU1RBTVAgKENBU1NBTkRSQS02NjQ5KQogKiBSZXBsYWNlIGluZGV4X2ludGVydmFsIHdpdGggbWluL21heF9pbmRleF9pbnRlcnZhbCAoQ0FTU0FORFJBLTYzNzkpCiAqIExpZnQgbGlt5AxROwAAAU/ePLJcABBkCiAgIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC21AAABAGxlYW51cCAoQ0FTU0FORFJBLTY4NDUpCiAqIENvcnJlY3RseSBjb21wYXJlIEJvb2xlYW5UeXBlIHZhbHVlcyBvdGhlciB0aGFuIDAgYW5kIDEgKENBU1NBTkRSQS02Nzc5KQogKiBSZWFkIG1lc3NhZ2UgaWQgYXMgc3RyaW5nIGZyb20gZWFybGllciB2ZXJzaW9ucyAoQ0FTU0FORFJBLTY4NDApCiAqIFByb3Blcmx5IHVzZSB0aGUgUGF4b3MgY29uc2lzdGVuY3kgZm9yIChub24tcHJvdG9jb2wpIGJhdGNoIChDQVNTQU5EUkEtNjgzNykKICogQWRkIHBV6ggtAAABT948slwAEFRFIHN0YXRlbWVudAogICAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbUAAAEAMTQpCiAqIChjcWxzaCkgRml4IGRlc2VyaWFsaXphdGlvbiBvZiBibG9icyAoQ0FTU0FORFJBLTc2MDMpCiAqIFVzZSAia2V5c3BhY2UgdXBkYXRlZCIgc2NoZW1hIGNoYW5nZSBtZXNzYWdlIGZvciBVRFQgY2hhbmdlcyBpbiB2MSBhbmQKICAgdjIgcHJvdG9jb2xzIChDQVNTQU5EUkEtNzYxNykKICogRml4IHRyYWNpbmcgb2YgcmFuZ2Ugc2xpY2VzIGFuZCBzZWNvbmRhcnkgaW5kZXggbG9va3VwcyB0aGF0IGFyZSBsb2NhbAogICB0byB0aGUgY29vckai0k8AAAFP3jyyXAAQQS0zMjQzKQoKCjAuOC42CgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgttQAAAQAwMSBwYXR0ZXJucyBmb3IgZGF0ZSBzdHJpbmdzIChDQVNTQU5EUkEtNjk3MykKICogU3VwcG9ydCBzZWxlY3RpbmcgbXVsdGlwbGUgcm93cyBpbiBhIHBhcnRpdGlvbiB1c2luZyBJTiAoQ0FTU0FORFJBLTY4NzUpCiAqIEFkZCBhdXRoZW50aWNhdGlvbiBzdXBwb3J0IHRvIHNodWZmbGUgKENBU1NBTkRSQS02NDg0KQogKiBTd2FwIGxvY2FsIGFuZCBnbG9iYWwgZGVmYXVsdCByZWFkIHJlcGFpciBjaGFuY2VzIChDQVNTQU5EUkEtNzMyMCkKICogQWRkyGfUYQAAAU/ePLJcABBjb2x1bW5zIG9taXR0ZWQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC21AAABAGx1bW5GYW1pbHkgbWV0YWRhdGEgdmFsaWRhdGlvbiBvbiBDUkVBVEUgQ09MVU1ORkFNSUxZIAogICAoQ0FTU0FORFJBLTM1NjUpCiAqIGZpeCBjb21wcmVzc2lvbiAiY2h1bmtfbGVuZ3RoX2tiIiBvcHRpb24gdG8gc2V0IGNvcnJlY3Qga2IgdmFsdWUgZm9yIAogICB0aHJpZnQvYXZybyAoQ0FTU0FORFJBLTM1NTgpCiAqIGZpeCBtaXNzaW5nIHJlc3BvbnNlIGR1cmluZyByYW5nZSBzbGljZSByZXBhaXIgKENBU1NBTkRSQS0zNTUxKQogKiAnZGVzY3JcZ2LzAAABT948slwAEHVwcG9ydCB0byBDTEkgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbUAAAEAd2luZyBkYXRhIHRvIGJlIHJlcGxheWVkIHBvc3QtcmVzdGFydCAoQ0FTU0FORFJBLTMyOTcpCiAqIG1ha2UgaXdyaXRlciBmaW5hbCBpbiBJbmRleFdyaXRlciB0byBhdm9pZCBOUEUgKENBU1NBTkRSQS0yODYzKQogKiAoQ1FMKSB1cGRhdGUgZ3JhbW1hciB0byByZXF1aXJlIGtleSBjbGF1c2UgaW4gREVMRVRFIHN0YXRlbWVudAogICAoQ0FTU0FORFJBLTMzNDkpCiAqIChDUUwpIGFsbG93IG51bWVyaWMga2V5c3BhY2UgbmFtZXMgaW4gVVNFIHN0YQ2Wd+IAAAFP3jyyXAAQbXVsdGktZGMgcmVwbGljYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgttQAAAQAgKENBU1NBTkRSQS02NDE5KQogKiBWYWxpZGF0ZSBTbGljZVJhbmdlIHN0YXJ0IGFuZCBmaW5pc2ggbGVuZ3RocyAoQ0FTU0FORFJBLTY1MjEpCgoKMi4wLjMKICogRml4IEZEIGxlYWsgb24gc2xpY2UgcmVhZCBwYXRoIChDQVNTQU5EUkEtNjI3NSkKICogQ2FuY2VsIHJlYWQgbWV0ZXIgdGFzayB3aGVuIGNsb3NpbmcgU1NUUiAoQ0FTU0FORFJBLTYzNTgpCiAqIGZyZWUgb2ZmLWhlYXAgSW5kZXhTdW1tYXJ5IGR1cmluZyBidWxrIChDQVNTQU5EUkEt9UjstAAAAU/ePLJcABB0IGR1ZSB0byB1bnJlYWNoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC21AAABAG9vcCkgZml4IGl0ZXJhdGluZyB0aHJvdWdoIGEgcmVzdWx0c2V0IGNvbnNpc3RpbmcgZW50aXJlbHkKICAgb2YgdG9tYnN0b25lZCByb3dzIChDQVNTQU5EUkEtNDQ2NikKCgoxLjEuMwogKiAoY3Fsc2gpIGFkZCBDT1BZIFRPIChDQVNTQU5EUkEtNDQzNCkKICogbXVubWFwIGNvbW1pdGxvZyBzZWdtZW50cyBiZWZvcmUgcmVuYW1lIChDQVNTQU5EUkEtNDMzNykKICogKEpNWCkgcmVuYW1lIGdldFJhbmdlS2V5U2FtcGxlIHRvIHNhbXBsZUtleVJhbmewLrIWAAABT948slwAEE5EUkEtMTA2NikKICogb3AAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbUAAAEAWCAoQ0FTU0FORFJBLTc5NzcpCiAqIEFsbG93IHByb3BhZ2F0aW5nIG11bHRpcGxlIGdvc3NpcCBzdGF0ZXMgYXRvbWljYWxseSAoQ0FTU0FORFJBLTYxMjUpCiAqIExvZyBleGNlcHRpb25zIHJlbGF0ZWQgdG8gdW5jbGVhbiBuYXRpdmUgcHJvdG9jb2wgY2xpZW50IGRpc2Nvbm5lY3RzCiAgIGF0IERFQlVHIG9yIElORk8gKENBU1NBTkRSQS03ODQ5KQogKiBBbGxvdyBwZXJtaXNzaW9ucyBjYWNoZSB0byBiZSBzZXQgdmlhIEpNWCAoQ0FTU0FORFJBLYycGA8AAAFP3jyyXAAQcmFkZXNzdGFibGVzCiAgIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgttQAAAQBoIHRoZSBzYW1lIG5hbWUKICAgdGhhbiBhIHByZXZpb3VzbHkgZHJvcHBlZCBvbmUgKENBU1NBTkRSQS02Mjc2KQogKiBGaXggdmFsaWRhdGlvbiB3aGVuIGFkZGluZyBzdGF0aWMgY29sdW1ucyAoQ0FTU0FORFJBLTc3MzApCiAqIChUaHJpZnQpIGZpeCByYW5nZSBkZWxldGlvbiBvZiBzdXBlcmNvbHVtbnMgKENBU1NBTkRSQS03NzMzKQogKiBGaXggcG90ZW50aWFsIEFzc2VydGlvbkVycm9yIGluIFJhbmdlVG9tYnN0b25lTGlzdCAoQ0FTU0FORFJB5kgpgwAAAU/ePLJcABBfbWIgdG8gcHJldmVudCBmAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC21AAABAG90YWwgbWVtdGFibGUgc2l6ZSBtZXRyaWMgZm9yIGEgQ0YgKENBU1NBTkRSQS02MzkxKQogKiBjcWxzaDogaGFuZGxlIHN5bWxpbmtzIHByb3Blcmx5IChDQVNTQU5EUkEtNjQyNSkKICogRml4IHBvdGVudGlhbCBpbmZpbml0ZSBsb29wIHdoZW4gcGFnaW5nIHF1ZXJ5IHdpdGggSU4gKENBU1NBTkRSQS02NDY0KQogKiBGaXggYXNzZXJ0aW9uIGVycm9yIGluIEFic3RyYWN0UXVlcnlQYWdlci5kaXNjYXJkRmlyc3QgKENBU1NBTkRSQS02NDQ3KQogKiDEJeVdAAABT948slwAEHJzaW9ucyB0by9mcm9tIHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbUAAAEAaGFuZ2luZyBzaWxlbnRseSBvbiB1bmV4cGVjdGVkIGVycm9yIChDQVNTQU5EUkEtNTIyOSkKICogRml4IEVjMlNuaXRjaCByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgQ0FTU0FORFJBLTUxNzEgKENBU1NBTkRSQS01NDMyKQogKiBBZGQgbm9kZXRvb2wgZW5hYmxlYmFja3VwL2Rpc2FibGViYWNrdXAgKENBU1NBTkRSQS01NTU2KQogKiBjcWxzaDogZml4IERFU0NSSUJFIGFmdGVyIGNhc2UgaW5zZW5zaXRpdmUgVVNFIChDQVNTQU5EUkEtNTU2NykKTUkyhoYAEIyCcmL7rQAAAU/ePLJcABAoQ0FTU0FORFJBLTM0OTQpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC24AAABAGR1Y2UgbG9hZCBvbgogICByZW1haW5pbmcgbm9kZXMgaW4gYSBmYWlsdXJlIHNjZW5hcmlvIChDQVNTQU5EUkEtODIyKQogKiBBZGQgUm93V2FybmluZ1RocmVzaG9sZEluTUIgY29uZmlndXJhdGlvbiBvcHRpb24gdG8gd2FybiBiZWZvcmUgdmVyeSAKICAgbGFyZ2Ugcm93cyBnZXQgYmlnIGVub3VnaCB0byB0aHJlYXRlbiBub2RlIHN0YWJpbGl0eSwgYW5kIC14IG9wdGlvbiB0bwogICBiZSBhYmxlIHRvIHJlbW92ZSB0aGVtIHdpdGggc3N0YWJsZTIUI8xTAAABT948slwAEG5kIG9idmlvdXMgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbgAAAEAKiBjcWxzaDogQWRkIHJvdyBjb3VudCB0byBTRUxFQ1Qgb3V0cHV0IChDQVNTQU5EUkEtNTYzNikKICogSW5jbHVkZSBhIHRpbWVzdGFtcCB3aXRoIGFsbCByZWFkIGNvbW1hbmRzIHRvIGRldGVybWluZSBjb2x1bW4gZXhwaXJhdGlvbgogICAoQ0FTU0FORFJBLTUxNDkpCiAqIFN0cmVhbWluZyAyLjAgKENBU1NBTkRSQS01Mjg2LCA1Njk5KQogKiBDb25kaXRpb25hbCBjcmVhdGUvZHJvcCBrcy90YWJsZS9pbmRleCBzdGF0ZW1lbnRzIGluIENRTDMgKFo0jGYAAAFP3jyyXAAQMDYpCiAqIGZpeCB2YWxpZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtuAAAAQBudCBhcHBlYXJpbmcgdHdpY2UgaW4gYWN0aXZlIGxpc3QgCiAgIChDQVNTQU5EUkEtNjU1NykKICogQXBwbHkgRE9OVE5FRUQgZmFkdmlzZSB0byBjb21taXRsb2cgc2VnbWVudHMgKENBU1NBTkRSQS02NzU5KQogKiBTd2l0Y2ggQ1JDIGNvbXBvbmVudCB0byBBZGxlciBhbmQgaW5jbHVkZSBpdCBmb3IgY29tcHJlc3NlZCBzc3RhYmxlcyAKICAgKENBU1NBTkRSQS00MTY1KQogKiBBbGxvdyBjYXNzYW5kcmEtc3RyZXNzIHRvIHNldCBjb21wYWN0aW9uZTtu7wAAAU/ePLJcABBydW5jYXRlIHdoZW4gYXV0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC24AAABAHV0IGZvciBjcWxzaCAoQ0FTU0FORFJBLTc1MTYpCiAqIEluY2x1ZGUgc25pcHBldCBvZiBDUUwgcXVlcnkgbmVhciBzeW50YXggZXJyb3IgaW4gbWVzc2FnZXMgKENBU1NBTkRSQS03MTExKQogKiBNYWtlIHJlcGFpciAtcHIgd29yayB3aXRoIC1sb2NhbCAoQ0FTU0FORFJBLTc0NTApCiAqIEZpeCBlcnJvciBpbiBzc3RhYmxlbG9hZGVyIHdpdGggLWNwaCA+IDEgKENBU1NBTkRSQS04MDA3KQogKiBGaXggc25hcHNob3QgcmVwYWlyIGVycm9yIG9uIGmdP1igAAABT948slwAEG9kcyAoQ0FTU0FORFJBLTQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbgAAAEAcHBpbmcgdGhlIGN1cnJlbnQgb25lIChDQVNTQU5EUkEtMjc2MykKICogYWRkIEtleVJhbmdlIG9wdGlvbiB0byBIYWRvb3AgaW5wdXRmb3JtYXQgKENBU1NBTkRSQS0xMTI1KQogKiBmaXggcHJvdG9jb2wgdmVyc2lvbmluZyAoQ0FTU0FORFJBLTI4MTgsIDI4NjApCiAqIHN1cHBvcnQgc3BhY2VzIGluIHBhdGggdG8gbG9nNGogY29uZmlndXJhdGlvbiAoQ0FTU0FORFJBLTIzODMpCiAqIGF2b2lkIGluY2x1ZGluZyBpbmZlcnJlZCB0eXBlcyBpbiBDRrAUNPsAAAFP3jyyXAAQX3ZhbGlkYXRpb25fY2xhcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtuAAAAQA1KQogKiBBdm9pZCBTdGFja092ZXJmbG93IHdoZW4gdXNpbmcgbGFyZ2UgSU4gcXVlcmllcyAoQ0FTU0FORFJBLTY1NjcpCiAqIE5vZGV0b29sIHVwZ3JhZGVzc3RhYmxlcyBpbmNsdWRlcyBzZWNvbmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTY1OTgpCiAqIFBhZ2luYXRlIGJhdGNobG9nIHJlcGxheSAoQ0FTU0FORFJBLTY1NjkpCiAqIHNraXAgYmxvY2tpbmcgb24gc3RyZWFtaW5nIGR1cmluZyBkcmFpbiAoQ0FTU0FORFJBLTY2MDMpCiAqIEltcHJvrAAyyQAAAU/ePLJcABAwNykKICogYWRkIGEgY2xvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC24AAABAGFzID4gNjVLIGVsZW1lbnRzIChDQVNTQU5EUkEtNTQyOCkKICogRml4IGNhY2hlIHBlcnNpc3RlbmNlIHdoZW4gYm90aCByb3cgYW5kIGtleSBjYWNoZSBhcmUgZW5hYmxlZCAKICAgKENBU1NBTkRSQS02NDEzKQogKiAoSGFkb29wKSBhZGQgZGVzY3JpYmVfbG9jYWxfcmluZyAoQ0FTU0FORFJBLTYyNjgpCiAqIEZpeCBoYW5kbGluZyBvZiBjb25jdXJyZW50IGRpcmVjdG9yeSBjcmVhdGlvbiBmYWlsdXJlIChDQVNTQU5EUkEtNjQ1OSkKICogQWxsb3e2rAUiAAABT948slwAEDQ2KQogKiBBbGxvdyBub2QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbgAAAEAbmRleGVzIG9uIHRhYmxlcyB3aXRoCiAgIGNvbXBvc2l0ZSBwcmltYXJ5IGtleXMgKENBU1NBTkRSQS00MzI4KQogKiBTZXQgSlZNIHN0YWNrIHNpemUgdG8gMTYwayBmb3IgamF2YSA3IChDQVNTQU5EUkEtNDI3NSkKICogY3Fsc2g6IGFkZCBDT1BZIGNvbW1hbmQgdG8gbG9hZCBkYXRhIGZyb20gQ1NWIGZsYXQgZmlsZXMgKENBU1NBTkRSQS00MDEyKQogKiBDRk1ldGFEYXRhLmZyb21UaHJpZnQgdG8gdGhyb3cgQ29uZmlndXJhdGlvbkV4Y2VwdGlvbp6PrlsAAAFP3jyyXAAQKiBhbGxvdyBuZWdhdGl2ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtuAAAAQBEUkEtMzA2MSkKICogYnVuZGxlIHNzdGFibGVsb2FkZXIgd2l0aCB0aGUgZGViaWFuIHBhY2thZ2UgKENBU1NBTkRSQS0zMTEzKQogKiBkb24ndCB0cnkgdG8gYnVpbGQgc2Vjb25kYXJ5IGluZGV4ZXMgd2hlbiB0aGVyZSBpcyBub25lIChDQVNTQU5EUkEtMzEyMykKICogaW1wcm92ZSBTU1RhYmxlU2ltcGxlVW5zb3J0ZWRXcml0ZXIgc3BlZWQgZm9yIGxhcmdlIHJvd3MgKENBU1NBTkRSQS0zMTIyKQogKiBoYW5kbGUga2V5c3BhY2UgYXJndW1lbnRzDDqt5QAAAU/ePLJcABAgdmFsdWUgdmFsaWRhdGlvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC24AAABACBub24tZHJvcHBhYmxlX3ZlcmJzIChDQVNTQU5EUkEtNTM5MykKICogVXNlIGFsbG9jYXRvciBpbmZvcm1hdGlvbiB0byBpbXByb3ZlIG1lbXRhYmxlIG1lbW9yeSB1c2FnZSBlc3RpbWF0ZQogICAoQ0FTU0FORFJBLTU0OTcpCiAqIEZpeCB0cnlpbmcgdG8gbG9hZCBkZWxldGVkIHJvdyBpbnRvIHJvdyBjYWNoZSBvbiBzdGFydHVwIChDQVNTQU5EUkEtNDQ2MykKICogZnN5bmMgbGV2ZWxlZCBtYW5pZmVzdCB0byBhdm9pZCBjb3JydXB0aW9uIChDQVNPBU34AAABT948slwAEE1YCiAqIEltcHJvdmVkIGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbgAAAEAdXRhdGluZyBzc3RhYmxlIG1ldGFkYXRhIChDQVNTQU5EUkEtNzU5NikKICogKGNxbHNoKSBDb3JyZWN0bHkgaGFuZGxlIHBhZ2VkIHJlc3VsdCBzZXRzIChDQVNTQU5EUkEtNzYyNSkKICogKGNxbHNoKSBJbXByb3ZlIHdhaXRpbmcgZm9yIGEgdHJhY2UgdG8gY29tcGxldGUgKENBU1NBTkRSQS03NjI2KQogKiBGaXggdHJhY2luZyBvZiBjb25jdXJyZW50IHJhbmdlIHNsaWNlcyBhbmQgMmFyeSBpbmRleCBxdWVyaWVzIChDQVNTQU5EUkEtNzYyNikKICc5Ee4AAAFP3jyyXAAQYWdlIChDQVNTQU5EUkEtNwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtuAAAAQAgY2VsbHMgaW4gc2NydWIgKENBU1NBTkRSQS01ODU1KQoKCjIuMC4wLWJldGEyCiAqIFJlcGxhY2UgY291bnRQZW5kaW5nSGludHMgd2l0aCBIaW50cyBDcmVhdGVkIG1ldHJpYyAoQ0FTU0FORFJBLTU3NDYpCiAqIEFsbG93IG5vZGV0b29sIHdpdGggbm8gYXJncywgYW5kIHdpdGggaGVscCB0byBydW4gd2l0aG91dCBhIHNlcnZlciAoQ0FTU0FORFJBLTU3MzQpCiAqIENsZWFudXAgQWJzdHJhY3RUeXBlL1R5cGVTZXJpYWxpemVyIGNsYXNzZXMgKENBxPFuSwAAAU/ePLJcABBkIHRlc3RzIGZvciBJTlNFAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC24AAABAG9yIG1vcmUgc3N0YWJsZXMgKENBU1NBTkRSQS0yNTc1KQogKiByZWZ1c2UgdG8gYXBwbHkgbWlncmF0aW9ucyB3aXRoIG9sZGVyIHRpbWVzdGFtcHMgdGhhbiB0aGUgY3VycmVudCAKICAgc2NoZW1hIChDQVNTQU5EUkEtMjUzNikKICogcmVtb3ZlIHVuZnJhbWVkIFRocmlmdCB0cmFuc3BvcnQgb3B0aW9uCiAqIGluY2x1ZGUgaW5kZXhlcyBpbiBzbmFwc2hvdHMgKENBU1NBTkRSQS0yNTk2KQogKiBpbXByb3ZlIGlnbm9yaW5nIG9mIG9ic29sZXRlIG2q+9jvAAABT948slwAEEFTU0FORFJBLTMyNjIpCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbgAAAEACiAqIGFkZCBuZXcgdXBncmFkZXNzdGFibGVzIG5vZGV0b29sIGNvbW1hbmQgKENBU1NBTkRSQS0zNDA2KQogKiBza2lwIC0tZGVidWcgcmVxdWlyZW1lbnQgdG8gc2VlIGNvbW1vbiBleGNlcHRpb25zIGluIENMSSAoQ0FTU0FORFJBLTM1MDgpCiAqIGZpeCBpbmNvcnJlY3QgcXVlcnkgcmVzdWx0cyBkdWUgdG8gaW52YWxpZCBtYXggdGltZXN0YW1wIChDQVNTQU5EUkEtMzUxMCkKICogbWFrZSBzc3RhYmxlbG9hZGVyIHJlY29nbml6ZSBjb21wcmVzcwLC11AAAAFP3jyyXAAQRFJBLTc1OTYpCiAqIChjcQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtuAAAAQB0cmVhbWluZyBvbGRlciBTU1RhYmxlIHlpZWxkcyB1bm5lY2Vzc2FyeSB0b21ic3RvbmVzIChDQVNTQU5EUkEtNjUyNykKTWVyZ2VkIGZyb20gMS4yOgogKiBJbXByb3ZlZCBlcnJvciBtZXNzYWdlIG9uIGJhZCBwcm9wZXJ0aWVzIGluIERETCBxdWVyaWVzIChDQVNTQU5EUkEtNjQ1MykKICogUmFuZG9taXplIGJhdGNobG9nIGNhbmRpZGF0ZXMgc2VsZWN0aW9uIChDQVNTQU5EUkEtNjQ4MSkKICogRml4IHRodW5kZXJpbmcgaGVyZCBvbiBlbmRwb2lumROHZgAQoN9KAOlfAAABT948slwAEFNBTkRSQS03NDM3KQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbsAAAEAIHJlc3Qgb2Ygbm9kZXRvb2wgKENBU1NBTkRSQS00NDY0KQogKiBCaW5hcnkgcHJvdG9jb2w6IGF2b2lkIHNlbmRpbmcgbm90aWZpY2F0aW9uIGZvciAwLjAuMC4wIChDQVNTQU5EUkEtNTIyNykKICogYWRkIFVzZUNvbmRDYXJkTWFyayBYWCBqdm0gc2V0dGluZ3Mgb24gamRrIDEuNyAoQ0FTU0FORFJBLTQzNjYpCiAqIENRTDMgcmVmYWN0b3IgdG8gYWxsb3cgY29udmVyc2lvbiBmdW5jdGlvbiAoQ0FTU0FORFJBLTUyMjYpCiAqIEZpeCBkcm9wIG9mIJaL318AAAFP3jyyXAAQNCkKICogdXBkYXRlIGRlZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtuwAAAQAqIEZpeCBkZWxldGlvbiBmb3IgaW5kZXhlcyBvbiBwcmltYXJ5IGtleSBjb2x1bW5zIChDQVNTQU5EUkEtODIwNikKICogQWRkICdub2RldG9vbCBzdGF0dXNnb3NzaXAnIChDQVNTQU5EUkEtODEyNSkKICogSW1wcm92ZSBjbGllbnQgbm90aWZpY2F0aW9uIHRoYXQgbm9kZXMgYXJlIHJlYWR5IGZvciByZXF1ZXN0cyAoQ0FTU0FORFJBLTc1MTApCiAqIEhhbmRsZSBuZWdhdGl2ZSB0aW1lc3RhbXAgaW4gd3JpdGV0aW1lIG1ldGhvZCAoQ0FTU0FORFJBPssF9wAAAU/ePLJcABA1OTgyKQogKiAoSGFkb29wAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC27AAABAGVQcm92aWRlcnMgKENBU1NBTkRSQS0yNzAyKQogKiBjbG9zZSBzY3J1YiBmaWxlIGhhbmRsZXMgKENBU1NBTkRSQS0yNjY5KQogKiB0aHJvdHRsZSBtaWdyYXRpb24gcmVwbGF5IChDQVNTQU5EUkEtMjcxNCkKICogb3B0aW1pemUgY29sdW1uIHNlcmlhbGl6ZXIgY3JlYXRpb24gKENBU1NBTkRSQS0yNzE2KQogKiBBZGRlZCBzdXBwb3J0IGZvciBtYWtpbmcgYm9vdHN0cmFwIHJldHJ5IGlmIG5vZGVzIGZsYXAgKENBU1NBTkRSQS0yNjQ0KQogKiBBZGREP6DAAAABT948slwAEGFtaW5nIGRhdGEgdG8gbm8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbsAAAEAb2wgdG8gcmVzZXQgU1NUYWJsZSBjb21wYWN0aW9uIGxldmVsIGZvciBMQ1MgKENBU1NBTkRSQS01MjcxKQogKiBBbGxvdyBjdXN0b20gY29uZmlndXJhdGlvbiBsb2FkZXIgKENBU1NBTkRSQS01MDQ1KQogKiBSZW1vdmUgbWVtb3J5IGVtZXJnZW5jeSBwcmVzc3VyZSB2YWx2ZSBsb2dpYyAoQ0FTU0FORFJBLTM1MzQpCiAqIFJlZHVjZSByZXF1ZXN0IGxhdGVuY3kgd2l0aCBlYWdlciByZXRyeSAoQ0FTU0FORFJBLTQ3MDUpCiAqIGNxbHNoOiBSZW1vdgfuoMYAAAFP3jyyXAAQdHJvZHVjZSB1bnN5bmNocgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtuwAAAQA3NzQpCiAqIEJldHRlciB2YWxpZGF0aW9uIHdoZW4gYWNjZXNzaW5nIENRTDMgdGFibGUgZnJvbSB0aHJpZnQgKENBU1NBTkRSQS01MTM4KQogKiBGaXggYXNzZXJ0aW9uIGVycm9yIGR1cmluZyByZXBhaXIgKENBU1NBTkRSQS01ODAxKQogKiBGaXggcmFuZ2UgdG9tYnN0b25lIGJ1ZyAoQ0FTU0FORFJBLTU4MDUpCiAqIERDLWxvY2FsIENBUyAoQ0FTU0FORFJBLTU3OTcpCiAqIEFkZCBhIG5hdGl2ZV9wcm90b2NvbF92ZXJzaW9uIGNvbHVtbiB0byB0Ed404gAAAU/ePLJcABB0YSBwYWlyIHdhcyBnaXZlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC27AAABADcxNzIpCiAqIEZpeCBJbGxlZ2FsU3RhdGVFeGNlcHRpb24gaW4gQ3FsUGFnaW5nUmVjb3JkUmVhZGVyIChDQVNTQU5EUkEtNzE5OCkKICogRml4IHRoZSBJbnZlcnRlZEluZGV4IHRyaWdnZXIgZXhhbXBsZSAoQ0FTU0FORFJBLTcyMTEpCiAqIEFkZCAtLXJlc29sdmUtaXAgb3B0aW9uIHRvICdub2RldG9vbCByaW5nJyAoQ0FTU0FORFJBLTcyMTApCiAqIHJlZHVjZSBnYXJiYWdlIG9uIGNvZGVjIGZsYWcgZGVzZXJpYWxpemF0aW9uIChDQVNTQU5EUkGl6WutAAABT948slwAEGFsd2F5cyByZW1vdmUgZW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbsAAAEAMTc0KQogKiBhZGQgLWNmIG9wdGlvbiB0byBub2RldG9vbCBzbmFwc2hvdCwgYW5kIHRha2VDb2x1bW5GYW1pbHlTbmFwc2hvdCB0bwogICBTdG9yYWdlU2VydmljZSBtYmVhbiAoQ0FTU0FORFJBLTU1NikKICogb3B0aW1pemUgY2xlYW51cCB0byBkcm9wIGVudGlyZSBzc3RhYmxlcyB3aGVyZSBwb3NzaWJsZSAoQ0FTU0FORFJBLTQwNzkpCiAqIG9wdGltaXplIHRydW5jYXRlIHdoZW4gYXV0b3NuYXBzaG90IGlzIGRpc2FibGVkIChDQVNTQU5EUkEtNKFIkmEAAAFP3jyyXAAQCjIuMS4wCiAqIChjcWxzaAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtuwAAAQAgYnkgCiAgIHVzaW5nIHRoZSBuZXdseSBpbnRyb2R1Y2VkIG5vZGVwcm9iZSB1dGlsaXR5LgogKiBNb3JlIEpNWCBzdGF0cwogKiBSZW1vdmUgbWFnaWMgdmFsdWVzIGZyb20gaW50ZXJuYWxzIChlLmcuIHNwZWNpYWwga2V5IHRvIGluZGljYXRlCiAgIHdoZW4gdG8gZmx1c2ggbWVtdGFibGVzKQogKiBSZW5hbWUgY29uZmlndXJhdGlvbiAidGFibGUiIHRvICJrZXlzcGFjZSIKICogTW92ZWQgdG8gY3Jhc2gtb25seSBkZXNpZ247IG5vIG1vcmUgc2h1/zNjIwAAAU/ePLJcABBBU1NBTkRSQS0xMTQ2KQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC27AAABAGVyZSBib290c3RyYXBwaW5nIGEgbm9kZSB3aXRoIG5vIHNjaGVtYSBmYWlscwogICAoQ0FTU0FORFJBLTI2MjUpCiAqIEFsbG93IHJlbW92aW5nIExvY2F0aW9uSW5mbyBzc3RhYmxlcyAoQ0FTU0FORFJBLTI2MzIpCiAqIGF2b2lkIGF0dGVtcHRpbmcgdG8gcmVwbGF5IG11dGF0aW9ucyBmcm9tIGRyb3BwZWQga2V5c3BhY2VzIChDQVNTQU5EUkEtMjYzMSkKICogYXZvaWQgdXNpbmcgY2FjaGVkIHBvc2l0aW9uIG9mIGEga2V5IHdoZW4gR1QgaXMgcmXuN4WyAAABT948slwAEC0xNDE3LCAxNjA2LCAxNjQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbsAAAEAZmZpY2llbnQgYWxsb2NhdGlvbiBvZiBzbWFsbCBibG9vbSBmaWx0ZXJzIChDQVNTQU5EUkEtMzYxOCkKICogVXNlIHNlcGFyYXRlIHdyaXRlciB0aHJlYWQgaW4gU1NUYWJsZVNpbXBsZVVuc29ydGVkV3JpdGVyIChDQVNTQU5EUkEtMzYxOSkKICogZnN5bmMgdGhlIGRpcmVjdG9yeSBhZnRlciBuZXcgc3N0YWJsZSBvciBjb21taXRsb2cgc2VnbWVudCBhcmUgY3JlYXRlZCAoQ0FTU0FORFJBLTMyNTApCiAqIGZpeCBtaW5vciBpc3N1ZXMgcmVwb3J0ZRGN+f0AAAFP3jyyXAAQbiBDRklGIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtuwAAAQBvbSBtYW5pZmVzdCBpbiBEaXJlY3Rvcmllcy5taWdyYXRlRmlsZSgpIAogICAoQ0FTU0FORFJBLTUyNDIpCiAqIFN1cHBvcnQgcGx1Z2dhYmxlIGludGVybm9kZSBhdXRoZW50aWNhdGlvbiAoQ0FTU0FORFJBLTU0MDEpCgoKMS4yLjMKICogYWRkIGNoZWNrIGZvciBzc3RhYmxlIG92ZXJsYXAgd2l0aGluIGEgbGV2ZWwgb24gc3RhcnR1cCAoQ0FTU0FORFJBLTUzMjcpCiAqIHJlcGxhY2UgaXB2NiBjb2xvbnMgaW4gam14IG9iamVjdCBuYW1lcyAoQ0FTkAJTXQAAAU/ePLJcABAgKiBBZGQgbmV3IERlY2ltAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC27AAABAGZpeCBudWxsIHRva2VuIGR1cmluZyBib290c3RyYXAgKENBU1NBTkRSQS01MDEpCgoKMC40LjEKICogRml4IEZsdXNoUGVyaW9kIGNvbHVtbmZhbWlseSBjb25maWd1cmF0aW9uIHJlZ3Jlc3Npb24KICAgKENBU1NBTkRSQS00NTUpCiAqIEZpeCBsb25nIGNvbHVtbiBuYW1lIHN1cHBvcnQgKENBU1NBTkRSQS00NjApCiAqIEZpeCBmb3Igc2VyaWFsaXppbmcgYSByb3cgdGhhdCBvbmx5IGNvbnRhaW5zIHRvbWJzdG9uZXMKICAgKENBU1NBTkRSQS00NTgEyU/FAAABT948slwAEG5zdGVhZCBvZiAKICAgdHIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILbsAAAEAY3Rpb24gCiAgIChDQVNTQU5EUkEtMzgwMykKICogTG9nIGFjdGl2ZSBjb21wYWN0aW9ucyBpbiBTdGF0dXNMb2dnZXIgKENBU1NBTkRSQS0zNzAzKQogKiBDb21wdXRlIG1vcmUgYWNjdXJhdGUgY29tcGFjdGlvbiBzY29yZSBwZXIgbGV2ZWwgKENBU1NBTkRSQS0zNzkwKQogKiBSZXR1cm4gSW52YWxpZFJlcXVlc3Qgd2hlbiB1c2luZyBhIGtleXNwYWNlIHRoYXQgZG9lc24ndCBleGlzdAogICAoQ0FTU0FORFJBLTM3NjQpCiAqIGRpc2FsbG93IHVzZSknSe4AAAFP3jyyXAAQJ3MgY2FsbGJhY2sgbWFwLAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtuwAAAQBtIE9UQyAoQ0FTU0FORFJBLTY5ODApCiAqIFNodXRkb3duIGJhdGNobG9nIGV4ZWN1dG9yIGluIFNTI2RyYWluKCkgKENBU1NBTkRSQS03MDI1KQogKiBGaXggYmF0Y2hsb2cgdG8gYWNjb3VudCBmb3IgQ0YgdHJ1bmNhdGlvbiByZWNvcmRzIChDQVNTQU5EUkEtNjk5OSkKICogRml4IENRTFNIIHBhcnNpbmcgb2YgZnVuY3Rpb25zIGFuZCBCTE9CIGxpdGVyYWxzIChDQVNTQU5EUkEtNzAxOCkKICogUHJvcGVybHkgbG9hZCB0cnVzdG9yZSBpbiB0aGUgL9NheQAAAU/ePLJcABBlcnZlIGNvbXBhdGliaWxpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC27AAABAGR1cmluZyBidWxrIChDQVNTQU5EUkEtNjM1OSkKICogUmVjb3ZlciBmcm9tIElPRXhjZXB0aW9uIGluIGFjY2VwdCgpIHRocmVhZCAoQ0FTU0FORFJBLTYzNDkpCiAqIEltcHJvdmUgR29zc2lwIHRvbGVyYW5jZSBvZiBhYm5vcm1hbGx5IHNsb3cgdGFza3MgKENBU1NBTkRSQS02MzM4KQogKiBGaXggdHJ5aW5nIHRvIGhpbnQgdGltZWQgb3V0IGNvdW50ZXIgd3JpdGVzIChDQVNTQU5EUkEtNjMyMikKICogQWxsb3cgcmVzdG9yaW5nIHNwZWNpZmljIGPJRtKFABC1PGbrr7gAAAFP3jyyXAAQdGhvZHMgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtvgAAAQBTQU5EUkEtNDAzKQogKiBhbGxvdyBzZXR0aW5nIHRoZSBsb2dnaW5nIGxldmVsIGF0IHJ1bnRpbWUgdmlhIG1iZWFuIChDQVNTQU5EUkEtNDAyKQogKiBjaGFuZ2UgZGVmYXVsdCBjb21wYXJhdG9yIHRvIEJ5dGVzVHlwZSAoQ0FTU0FORFJBLTQwMCkKICogYWRkIGZvcndhcmRzLWNvbXBhdGlibGUgQ29uc2lzdGVuY3lMZXZlbCBwYXJhbWV0ZXIgdG8gZ2V0X2tleV9yYW5nZQogICAoQ0FTU0FORFJBLTMyMikKICogci9tIHNwZWNpYWwgY2FzZSBvZiBi9kC8rAAAAU/ePLJcABAgKENBU1NBTkRSQS03OTEwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2+AAABAERSQS0xNzg4LCAzMTQ0KQogKiBzdXBwb3J0IG9mIGNvbXBhY3Rpb24gc3RyYXRlZ3kgb3B0aW9uIGZvciBzdHJlc3MuamF2YSAoQ0FTU0FORFJBLTMyMDQpCiAqIG1ha2UgbWVtdGFibGUgdGhyb3VnaHB1dCBhbmQgY29sdW1uIGNvdW50IHRocmVzaG9sZHMgbm8tb3BzIChDQVNTQU5EUkEtMjQ0OSkKICogUmV0dXJuIHNjaGVtYSBpbmZvcm1hdGlvbiBhbG9uZyB3aXRoIHRoZSByZXN1bHRTZXQgaW4gQ1FMIChDQVNTQU5EUkEtMjczNCkKICogQWRkIG4i98g3AAABT948slwAEG5nIG5vZGVzIHdoZW4gcmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILb4AAAEAU1NBTkRSQS04OTc5KQogKiBGaXggaW5jb3JyZWN0IHZhbGlkYXRpb24gd2hlbiBzbmFwc2hvdHRpbmcgc2luZ2xlIHRhYmxlIChDQVNTQU5EUkEtODA1NikKICogQWRkIG9mZmxpbmUgdG9vbCB0byByZWxldmVsIHNzdGFibGVzIChDQVNTQU5EUkEtODMwMSkKICogUHJlc2VydmUgc3RyZWFtIElEIGZvciBtb3JlIHByb3RvY29sIGVycm9ycyAoQ0FTU0FORFJBLTg4NDgpCiAqIEZpeCBjb21iaW5pbmcgdG9rZW4oKSBmdW5jdGlvbiB3aXRoIG11bHRpLSWJm+QAAAFP3jyyXAAQQS02OTkxKQogKiBRdWVyaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtvgAAAQAgKiBFbnN1cmUgU1NUYWJsZVJlYWRlci5sYXN0IGNvcnJlc3BvbmRzIGV4YWN0bHkgd2l0aCB0aGUgZmlsZSBlbmQgKENBU1NBTkRSQS04NzUwKQogKiBNYWtlIFNTVGFibGVXcml0ZXIub3BlbkVhcmx5IG1vcmUgcm9idXN0IGFuZCBvYnZpb3VzIChDQVNTQU5EUkEtODc0NykKICogRW5mb3JjZSBTU1RhYmxlUmVhZGVyLmZpcnN0L2xhc3QgKENBU1NBTkRSQS04NzQ0KQogKiBDbGVhbnVwIFNlZ21lbnRlZEZpbGUgQVBJIChDQVNTQU5EUkEtODc0OSkKq+ouzQAAAU/ePLJcABB0ZXJ2YWwgY2hhbmdlIGluAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2+AAABAHJvciB3aGVuCiAgIGRyb3BwaW5nIG5vbi1leGlzdGVudCBpbmRleCB3aXRoIElGIEVYSVNUUyAoQ0FTU0FORFJBLTc1OTApCiAqIEZpeCBzc3RhYmxlbGV2ZWxyZXNldHRlciBoYW5nIChDQVNTQU5EUkEtNzYxNCkKICogKGNxbHNoKSBGaXggZGVzZXJpYWxpemF0aW9uIG9mIGJsb2JzIChDQVNTQU5EUkEtNzYwMykKICogVXNlICJrZXlzcGFjZSB1cGRhdGVkIiBzY2hlbWEgY2hhbmdlIG1lc3NhZ2UgZm9yIFVEVCBjaGFuZ2VzIGluIHYxIGFuZAogICDA67iEAAABT948slwAEHV0IG9yIGVycm9yIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILb4AAAEAQ0FTU0FORFJBLTc4NzgpCiAqIEZpeCBwb3NzaWJsZSBpbmZpbml0ZSBsb29wIGluIGNyZWF0aW5nIHJlcGFpciByYW5nZSAoQ0FTU0FORFJBLTc5ODMpCiAqIEZpeCB1bml0IGluIG5vZGV0b29sIGZvciBzdHJlYW1pbmcgdGhyb3VnaHB1dCAoQ0FTU0FORFJBLTczNzUpCk1lcmdlZCBmcm9tIDEuMjoKICogRG9uJ3QgaW5kZXggdG9tYnN0b25lcyAoQ0FTU0FORFJBLTc4MjgpCiAqIEltcHJvdmUgUGFzc3dvcmRBdXRoZW50aWNhdG9yIGRlZmF1bHQgc6ankHUAAAFP3jyyXAAQQU5EUkEtNTIwNykKICogYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtvgAAAQBNYWtlIHJlcGFpciAtcHIgd29yayB3aXRoIC1sb2NhbCAoQ0FTU0FORFJBLTc0NTApCiAqIEZpeCBlcnJvciBpbiBzc3RhYmxlbG9hZGVyIHdpdGggLWNwaCA+IDEgKENBU1NBTkRSQS04MDA3KQogKiBGaXggc25hcHNob3QgcmVwYWlyIGVycm9yIG9uIGluZGV4ZWQgdGFibGVzIChDQVNTQU5EUkEtODAyMCkKICogRG8gbm90IGV4aXQgbm9kZXRvb2wgcmVwYWlyIHdoZW4gcmVjZWl2aW5nIEpNWCBOT1RJRl9MT1NUIChDQVNTQU5EUkEtNzkwOSkKICogbwai+wAAAU/ePLJcABB2ZWQgYW5kIGRlcHJlY2F0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2+AAABAGlsZWQgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTI0NjgpCiAqIHJlc3RyaWN0IHJlcGFpciBzdHJlYW1pbmcgdG8gc3BlY2lmaWMgY29sdW1uZmFtaWxpZXMgKENBU1NBTkRSQS0yMjgwKQogKiBkb24ndCBib3RoZXIgcGVyc2lzdGluZyBjb2x1bW5zIHNoYWRvd2VkIGJ5IGEgcm93IHRvbWJzdG9uZSAoQ0FTU0FORFJBLTI1ODkpCiAqIHJlc2V0IENGIGFuZCBTQyBkZWxldGlvbiB0aW1lcyBhZnRlciBnY19ncmFjZSAoQ0FTU0FORFJBLTIzMTcpCiAqIG/RskKBAAABT948slwAECBpbiBzc3RhYmxlc3BsaXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILb4AAAEAbCBjb250YWlucyBpbnZhbGlkIHByb3BlcnRpZXMgKENBU1NBTkRSQS01OTU4KQogKiBJbXByb3ZlIGxldmVsZWQgY29tcGFjdGlvbidzIGFiaWxpdHkgdG8gZmluZCBub24tb3ZlcmxhcHBpbmcgTDAgY29tcGFjdGlvbnMKICAgdG8gd29yayBvbiBjb25jdXJyZW50bHkgKENBU1NBTkRSQS01OTIxKQogKiBOb3RpZnkgaW5kZXhlciBvZiBjb2x1bW5zIHNoYWRvd2VkIGJ5IHJhbmdlIHRvbWJzdG9uZXMgKENBU1NBTkRSQS01NjE0KQogKiBMb2cgTWVya890PnUAAAFP3jyyXAAQZCB0aGUgY29tcGFjdGlvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtvgAAAQBzbml0Y2hlcyBhbmQgZnJhbWVkIHN1cHBvcnQgCiAgIChDQVNTQU5EUkEtMTQyMCkKICogcmVtb3ZlIGtleXNwYWNlIGFyZ3VtZW50IGZyb20gbXVsdGlnZXRfY291bnQgKENBU1NBTkRSQS0xNDIyKQogKiBhbGxvdyBzcGVjaWZ5aW5nIGNhc3NhbmRyYS55YW1sIGxvY2F0aW9uIGFzIChsb2NhbCBvciByZW1vdGUpIFVSTAogICAoQ0FTU0FORFJBLTExMjYpCiAqIGZpeCB1c2luZyBEeW5hbWljRW5kcG9pbnRTbml0Y2ggd2l0aCBOZXR3b3JrVG9wb2xvWvj69wAAAU/ePLJcABB0aWNzIHdpdGggbGlmZXRpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2+AAABAHJ5IGluZGV4IGRhdGEgKENBU1NBTkRSQS0zNzM4KQogKiAoY3Fsc2gpIGFkZCBERVNDUklCRSBDT0xVTU5GQU1JTElFUyAoQ0FTU0FORFJBLTM1ODYpCiAqIChjcWxzaCkgZm9ybWF0IGJsb2JzIGNvcnJlY3RseSBhbmQgdXNlIGNvbG9ycyB0byBpbXByb3ZlIG91dHB1dAogICByZWFkYWJpbGl0eSAoQ0FTU0FORFJBLTM3MjYpCiAqIHN5bmNocm9uaXplIEJpTWFwIG9mIGJvb3RzdHJhcHBpbmcgdG9rZW5zIChDQVNTQU5EUkEtMzQxNykKICogc2hvdyAilkn8AAABT948slwAEHVyY2VzIGJ5IHRhYmxlIHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILb4AAAEALTI5MjIpCiAqIEZpeCBoYW5kbGluZyBvZiB0b21ic3RvbmUgYnkgU1NUYWJsZUV4cG9ydC9JbXBvcnQgKENBU1NBTkRSQS0zMzU3KQogKiBGaXggdHJhbnNwb3NpdGlvbiBpbiBjZkhpc3RvZ3JhbXMgKENBU1NBTkRSQS0zMjIyKQogKiBBbGxvdyB1c2luZyBudW1iZXIgYXMgREMgbmFtZSB3aGVuIGNyZWF0aW5nIGtleXNwYWNlIGluIENRTCAoQ0FTU0FORFJBLTMyMzkpCiAqIEZvcmNlIGZsdXNoIG9mIHN5c3RlbSB0YWJsZSBhZnRlciB1cGRhdGluZ0GmARsAAAFP3jyyXAAQU1NBTkRSQS0xNjA1KQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtvgAAAQBvbWJzdG9uZXMgaW4gdG9tYnN0b25lIGRyb3AKICAgdGltZSBoaXN0b2dyYW0gKENBU1NBTkRSQS02NTIyKQogKiBTdG9wIENvbW1pdExvZ1NlZ21lbnQuY2xvc2UoKSBmcm9tIGNhbGxpbmcgc3luYygpIChDQVNTQU5EUkEtNjY1MikKICogTWFrZSBjb21taXRsb2cgZmFpbHVyZSBoYW5kbGluZyBjb25maWd1cmFibGUgKENBU1NBTkRSQS02MzY0KQogKiBBdm9pZCBvdmVybGFwcyBpbiBMQ1MgKENBU1NBTkRSQS02Njg4KQogKiBJbXByb3ZlIHN1cHBvvGoj/wAAAU/ePLJcABAtMjIxOCwgLTIyNDEpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC2+AAABAEFTU0FORFJBLTE3MjIpCiAqIGZpeCB0b21ic3RvbmluZyBvZiBzdXBlcmNvbHVtbnMgaW4gcmFuZ2UgcXVlcmllcyAoQ0FTU0FORFJBLTE3MzQpCiAqIGNsZWFyIGVuZHBvaW50IGNhY2hlIGFmdGVyIHVwZGF0aW5nIGtleXNwYWNlIG1ldGFkYXRhIChDQVNTQU5EUkEtMTc0MSkKICogZml4IHdyYXBwaW5nLXJhbmdlIHF1ZXJpZXMgb24gbm9uLW1pbmltdW0gdG9rZW4gKENBU1NBTkRSQS0xNzAwKQogKiB0cnVuY2F0ZSBpbmNsdWRlcyBzZWNvbmRhcnnh7D/iAAABT948slwAECByYWNlIGJldHdlZW4gY2YAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILb4AAAEAbWljQ29tcG9zaXRlVHlwZSAoQ0FTU0FORFJBLTIyMzEpCiAqIG9wdGltaXplIGJhdGNoZXMgY29udGFpbmluZyBtdWx0aXBsZSB1cGRhdGVzIHRvIHRoZSBzYW1lIHJvdwogICAoQ0FTU0FORFJBLTI1ODMpCiAqIGFkanVzdCBoaW50ZWQgaGFuZG9mZiBwYWdlIHNpemUgdG8gYXZvaWQgT09NIHdpdGggbGFyZ2UgY29sdW1ucyAKICAgKENBU1NBTkRSQS0yNjUyKQogKiBtYXJrIEJSQUYgYnVmZmVyIGludmFsaWQgcG9zdC1mbHVzaCBzbyB3ZSBkb24ndG25yLIAEMmZaF36bgAAAU/ePLJcABAgCiAgIG1ldGhvZCAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3AAAABAG50aWFsIHBhZ2luZyBidWcgd2l0aCBkZWxldGVkIGNvbHVtbnMgKENBU1NBTkRSQS02NzQ4KQogKiBGaXggTlBFIG9uIEJ1bGtMb2FkZXIgY2F1c2VkIGJ5IGxvc2luZyBTdHJlYW1FdmVudCAoQ0FTU0FORFJBLTY2MzYpCiAqIEZpeCB0cnVuY2F0aW5nIGNvbXByZXNzaW9uIG1ldGFkYXRhIChDQVNTQU5EUkEtNjc5MSkKICogQWRkIENNU0NsYXNzVW5sb2FkaW5nRW5hYmxlZCBKVk0gb3B0aW9uIChDQVNTQU5EUkEtNjU0MSkKICogQ2F0Y2ggbWVtdGGDfaThAAABT948slwAEG9zc2lwIHBlcmZvcm1hbmMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcAAAAEAQ0FTU0FORFJBLTkzNikKICogZml4IG5laWdoYm9yIGNhbGN1bGF0aW9uIGZvciBhbnRpLWVudHJvcHkgcmVwYWlyIChDQVNTQU5EUkEtOTI0KQogKiBwZXJmb3JtIHJlcGFpciBldmVuIGZvciBzbWFsbCBlbnRyb3B5IGRpZmZlcmVuY2VzIChDQVNTQU5EUkEtOTI0KQogKiBVc2UgaG9zdG5hbWVzIGluIENGSW5wdXRGb3JtYXQgdG8gYWxsb3cgSGFkb29wJ3MgbmFpdmUgc3RyaW5nLWJhc2VkCiAgIGxvY2FsaXR5IGNvbXBhcmlzb25zIHRvIHdvcmsgKH9zJ3MAAAFP3jyyXAAQZnQgMC42IChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtwAAAAQBFVEUgdW5sZXNzIGZ1bGwgUEsgaXMgZ2l2ZW4gKENBU1NBTkRSQS02NDMwKQogKiBQcm9wZXJseSByZWplY3QgdGhlIHRva2VuIGZ1bmN0aW9uIERFTEVURSAoQ0FTU0FORFJBLTc3NDcpCiAqIEZvcmNlIGJhdGNobG9nIHJlcGxheSBiZWZvcmUgZGVjb21taXNzaW9uaW5nIGEgbm9kZSAoQ0FTU0FORFJBLTc0NDYpCiAqIEZpeCBoaW50IHJlcGxheSB3aXRoIG1hbnkgYWNjdW11bGF0ZWQgZXhwaXJlZCBoaW50cyAoQ0FTU0FORFJBLTY5OTgpCiAqIEZpTwcfdAAAAU/ePLJcABBhdnJvIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3AAAABADcyNikKICogRml4IFNTVGFibGVTaW1wbGVVbnNvcnRlZFdyaXRlciBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uIChDQVNTQU5EUkEtODYxOSkKICogJ25vZGV0b29sIGluZm8nIHByaW50cyBleGNlcHRpb24gYWdhaW5zdCBvbGRlciBub2RlIChDQVNTQU5EUkEtODc5NikKICogRW5zdXJlIFNTVGFibGVTaW1wbGVVbnNvcnRlZFdyaXRlci5jbG9zZSgpIHRlcm1pbmF0ZXMgaWYKICAgZGlzayB3cml0ZXIgaGFzIGNyYXNoZWQgKENBU1NBTkRwUKyPAAABT948slwAEHRvIERlYmlhbiBwYWNrYWcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcAAAAEAaW4gW211bHRpXWdldCAoQ0FTU0FORFJBLTI2NDMsIDMxNTcsIDMxOTIpCiAqIGFkZCBvcHRpb25hbCBjb21wcmVzc2lvbiBmb3Igc3N0YWJsZXMgKENBU1NBTkRSQS00NywgMjk5NCwgMzAwMSwgMzEyOCkKICogYWRkIHNjaGVkdWxlciBKTVggbWV0cmljcyAoQ0FTU0FORFJBLTI5NjIpCiAqIGFkZCBibG9jayBsZXZlbCBjaGVja3N1bSBmb3IgY29tcHJlc3NlZCBkYXRhIChDQVNTQU5EUkEtMTcxNykKICogbWFrZSBjb2x1bW4gZmFtaWx5IGJhY2tlZNVRAKYAAAFP3jyyXAAQRFJBLTgxNCkKICogdXBkYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtwAAAAQBlbnVtZXJhdGUgc3RhZ2VzIGFuZCBkZXJpdmUgc3RhZ2UgZnJvbSBtZXNzYWdlIHR5cGUgaW5zdGVhZCBvZiAKICAgdHJhbnNtaXR0aW5nIHNlcGFyYXRlbHkgKENBU1NBTkRSQS0xNDY1KQogKiBhcHBseSByZXZlcnNlZCBmbGFnIGR1cmluZyBjb2xsYXRpb24gZnJvbSBkaWZmZXJlbnQgZGF0YSBzb3VyY2VzCiAgIChDQVNTQU5EUkEtMTQ1MCkKICogbWFrZSBmYWlsdXJlIHRvIHJlbW92ZSBjb21taXRsb2cgc2VnbWVudCBub24tZmF0YWwgKENBU1NBIsElFwAAAU/ePLJcABA1NTkpCiAqIEFkZCBpbml0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3AAAABAG5zdGVhZCBvZiBhdmVyYWdlIG92ZXIgdGhlIGxhc3QgbWludXRlIChDQVNTQU5EUkEtNzAyKQogKiBzdXBwb3J0IGdldF9yYW5nZV9zbGljZSBmb3IgUmFuZG9tUGFydGl0aW9uZXIgKENBU1NBTkRSQS03NDUpCiAqIHBlci1rZXlzcGFjZSByZXBsaWNhdGlvbiBmYWN0b3J5IGFuZCByZXBsaWNhdGlvbiBzdHJhdGVneSAoQ0FTU0FORFJBLTYyMCkKICogdHJhY2sgbGF0ZW5jeSBpbiBtaWNyb3NlY29uZHMgKENBU1NBTkRSQS03MzMpCiAqIGFkZCBkZXPHFkXZAAABT948slwAEGx1ZGUgc3RyZXNzIHRvb2wAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcAAAAEAU1NBTkRSQS01NTc3KQogKiBFeHBlcmltZW50YWwgdHJpZ2dlcnMgKENBU1NBTkRSQS0xMzExKQogKiBKRU1hbGxvYyBzdXBwb3J0IGZvciBvZmYtaGVhcCBhbGxvY2F0aW9uIChDQVNTQU5EUkEtMzk5NykKICogU2luZ2xlLXBhc3MgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTQxODApCiAqIFJlbW92ZWQgdG9rZW4gcmFuZ2UgYmlzZWN0aW9uIChDQVNTQU5EUkEtNTUxOCkKICogUmVtb3ZlZCBjb21wYXRpYmlsaXR5IHdpdGggcHJlLTEuMi41IHNzdGFibJklyU4AAAFP3jyyXAAQOTgxKQogKiBmaXggc3RyZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtwAAAAQBvdG9jb2wgKENBU1NBTkRSQS01MDMxKQogKiBBbGxvdyBub24tc2NoZW1hIHN5c3RlbSBrcyBtb2RpZmljYXRpb24gZm9yIHNodWZmbGUgdG8gd29yayAoQ0FTU0FORFJBLTUwOTcpCiAqIGNxbHNoOiBBZGQgZGVmYXVsdCBsaW1pdCB0byBTRUxFQ1Qgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTQ5NzIpCiAqIGNxbHNoOiBmaXggREVTQ1JJQkUgZm9yIDEuMSBjZnMgaW4gQ1FMMyAoQ0FTU0FORFJBLTUxMDEpCiAqIENvcnJlY3RseSBnb3NzaXAgd2l0aCBui1ZCzAAAAU/ePLJcABAgICBpbnRlbmRlZCAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3AAAABACB2ZXJzaW9ucyAoQ0FTU0FORFJBLTY4NDApCiAqIFByb3Blcmx5IHVzZSB0aGUgUGF4b3MgY29uc2lzdGVuY3kgZm9yIChub24tcHJvdG9jb2wpIGJhdGNoIChDQVNTQU5EUkEtNjgzNykKICogQWRkIHBhcmFub2lkIGRpc2sgZmFpbHVyZSBvcHRpb24gKENBU1NBTkRSQS02NjQ2KQogKiBJbXByb3ZlIFBlclJvd1NlY29uZGFyeUluZGV4IHBlcmZvcm1hbmNlIChDQVNTQU5EUkEtNjg3NikKICogRXh0ZW5kIHRyaWdnZXJzIHRvIHN1cHBvcnQgQ0FTIHU1CFrrAAABT948slwAECByb3cgdG9tYnN0b25lcyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcAAAAEAYW5nZSBkZWZhdWx0IGhlYXAgdGhyZXNob2xkcyB0byBtYXgobWluKDEvMiByYW0sIDFHKSwgbWluKDEvNCByYW0sIDhHQikpCiAgIChDQVNTQU5EUkEtMzI5NSkKICogRml4IGJyb2tlbiBDb21wcmVzc2VkUmFuZG9tQWNjZXNzUmVhZGVyVGVzdCAoQ0FTU0FORFJBLTMyOTgpCiAqIChDUUwpIGZpeCB0eXBlIGluZm9ybWF0aW9uIHJldHVybmVkIGZvciB3aWxkY2FyZCBxdWVyaWVzIChDQVNTQU5EUkEtMzMxMSkKICogYWRkIGVzdGltYXRlZCB0YXNrcxkIaVEAAAFP3jyyXAAQZWQgZWMyL290aGVyIGVudgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtwAAAAQBlbi1vbmx5IGRlY29yYXRlZGtleXMgKENBU1NBTkRSQS0yNDE2KQogKiBjb252ZXJ0IG1tYXAgYXNzZXJ0aW9uIHRvIGlmL3Rocm93IHNvIHNjcnViIGNhbiBjYXRjaCBpdCAoQ0FTU0FORFJBLTI0MTcpCiAqIGRvbid0IG92ZXJ3cml0ZSBnYyBsb2cgKENBU1NBTkRSLTI0MTgpCiAqIGludmFsaWRhdGUgcm93IGNhY2hlIGZvciBzdHJlYW1lZCByb3cgdG8gYXZvaWQgaW5jb25zaXRlbmNpZXMKICAgKENBU1NBTkRSQS0yNDIwKQogKiBhdm9pZCBjb3BpZ1uB4AAAAU/ePLJcABB0ZXIgKENBU1NBTkRSQS0xAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3AAAABAG4gMi4xIChDQVNTQU5EUkEtNjg2OSkKICogTG9jayBjb3VudGVyIGNlbGxzLCBub3QgcGFydGl0aW9ucyAoQ0FTU0FORFJBLTY4ODApCiAqIFRyYWNrIHByZXNlbmNlIG9mIGxlZ2FjeSBjb3VudGVyIHNoYXJkcyBpbiBzc3RhYmxlcyAoQ0FTU0FORFJBLTY4ODgpCiAqIEVuc3VyZSBzYWZlIHJlc291cmNlIGNsZWFudXAgd2hlbiByZXBsYWNpbmcgc3N0YWJsZXMgKENBU1NBTkRSQS02OTEyKQogKiBBZGQgZmFpbHVyZSBoYW5kbGVyIHRvIGFzeW5jIGMz53yXAAABT948slwAECwgYW5kIEJvb2xlYW4gdHkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcAAAAEAIGdldFJhbmdlS2V5U2FtcGxlIHRvIHNhbXBsZUtleVJhbmdlIHRvIGF2b2lkIHJldHVybmluZwogICBtdWx0aS1NQiByZXN1bHRzIGFzIGFuIGF0dHJpYnV0ZSAoQ0FTU0FORFJBLTQ0NTIpCiAqIGZsdXNoIGJhc2VkIG9uIGRhdGEgc2l6ZSwgbm90IHRocm91Z2hwdXQ7IG92ZXJ3cml0dGVuIGNvbHVtbnMgbm8gCiAgIGxvbmdlciBhcnRpZmljaWFsbHkgaW5mbGF0ZSBsaXZlUmF0aW8gKENBU1NBTkRSQS00Mzk5KQogKiB1cGRhdGUgZGVmYXVsdCBjb8tG4wAAAAFP3jyyXAAQb25zIChDQVNTQU5EUkEtNAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtwAAAAQBlIGNhc3NhbmRyYS1zdHJlc3Mgc2FtcGxpbmcgbWVtb3J5IHJlcXVpcmVtZW50cyAoQ0FTU0FORFJBLTc5MjYpCiAqIEVuc3VyZSBtZW10YWJsZSBmbHVzaCBjYW5ub3QgZXhwaXJlIGNvbW1pdCBsb2cgZW50cmllcyBmcm9tIGl0cyBmdXR1cmUgKENBU1NBTkRSQS04MzgzKQogKiBNYWtlIHJlYWQgImRlZnJhZyIgYXN5bmMgdG8gcmVjbGFpbSBtZW10YWJsZXMgKENBU1NBTkRSQS04NDU5KQogKiBSZW1vdmUgdG1wbGluayBmaWxlcyBmb3Igb2ZmbGlubVAXGQAQ3fZNa5vzAAABT948slwAEGVhZCwgZXhwb3NlIGRlbGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcIAAAEAKENBU1NBTkRSQS01MTAyKQogKiBFbnN1cmUgQ0wgZ3VhcmFudGVlcyBvbiBkaWdlc3QgbWlzbWF0Y2ggKENBU1NBTkRSQS01MTEzKQogKiBWYWxpZGF0ZSBjb3JyZWN0bHkgc2VsZWN0cyBvbiBjb21wb3NpdGUgcGFydGl0aW9uIGtleSAoQ0FTU0FORFJBLTUxMjIpCiAqIEZpeCBleGNlcHRpb24gd2hlbiBhZGRpbmcgY29sbGVjdGlvbiAoQ0FTU0FORFJBLTUxMTcpCiAqIEhhbmRsZSBzdGF0ZXMgZm9yIG5vbi12bm9kZSBjbHVzdGVycyBjb3JyZWN0bFArYpkAAAFP3jyyXAAQbnRpbmcgZnJvbSBzY2hlbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtwgAAAQBvciAoQ0FTU0FORFJBLTM1MTkpCiAqIGZpeCBhcnJheSBvdXQgb2YgYm91bmRzIGVycm9yIGluIGNvdW50ZXIgc2hhcmQgcmVtb3ZhbCAoQ0FTU0FORFJBLTM1MTQpCiAqIGF2b2lkIGRyb3BwaW5nIHRvbWJzdG9uZXMgd2hlbiB0aGV5IG1pZ2h0IHN0aWxsIGJlIG5lZWRlZCB0byBzaGFkb3cKICAgZGF0YSBpbiBhIGRpZmZlcmVudCBzc3RhYmxlIChDQVNTQU5EUkEtMjc4NikKCgoxLjAuMwogKiByZXZlcnQgbmFtZS1iYXNlZCBxdWVyeSBkZWZyYWdtq+m5TwAAAU/ePLJcABByIFJhbmRvbVBhcnRpdGlvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3CAAABAGdtZW50cyAoQ0FTU0FORFJBLTkzNikKICogZml4IG5laWdoYm9yIGNhbGN1bGF0aW9uIGZvciBhbnRpLWVudHJvcHkgcmVwYWlyIChDQVNTQU5EUkEtOTI0KQogKiBwZXJmb3JtIHJlcGFpciBldmVuIGZvciBzbWFsbCBlbnRyb3B5IGRpZmZlcmVuY2VzIChDQVNTQU5EUkEtOTI0KQogKiBVc2UgaG9zdG5hbWVzIGluIENGSW5wdXRGb3JtYXQgdG8gYWxsb3cgSGFkb29wJ3MgbmFpdmUgc3RyaW5nLWJhc2VkCiAgIGxvY2FsaXR5IGNvbXBhcmlzb25zIHTMpRS4AAABT948slwAEG5vdCB0byBsZWF2ZSBiZWgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcIAAAEAZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uCiAgIChDQVNTQU5EUkEtODYxOSkKICogUm91bmQgdXAgdGltZSBkZWx0YXMgbG93ZXIgdGhhbiAxbXMgaW4gQnVsa0xvYWRlciAoQ0FTU0FORFJBLTg2NDUpCiAqIEFkZCBiYXRjaCByZW1vdmUgaXRlcmF0b3IgdG8gQUJTQyAoQ0FTU0FORFJBLTg0MTQsIDg2NjYpCiAqIEZpeCBpc0NsaWVudE1vZGUgY2hlY2sgaW4gS2V5c3BhY2UgKENBU1NBTkRSQS04Njg3KQogKiBVc2UgbW9yZSBlZmZpY2llbnQgc2xpY0rywPUAAAFP3jyyXAAQU0FORFJBLTMyMDYpCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtwgAAAQBuJ3QgdGhyb3cgYW4gZXhjZXB0aW9uIGluIFNTLmlzUlBDU2VydmVyUnVubmluZyAoQ0FTU0FORFJBLTI3MjEpCiAqIG1ha2Ugc3RyZXNzLmphciBleGVjdXRhYmxlIChDQVNTQU5EUkEtMjc0NCkKICogYWRkIGRhZW1vbiBtb2RlIHRvIGphdmEgc3RyZXNzIChDQVNTQU5EUkEtMjI2NykKICogZXhwb3NlIHRoZSBEQyBhbmQgcmFjayBvZiBhIG5vZGUgdGhyb3VnaCBKTVggYW5kIG5vZGV0b29sIHJpbmcgKENBU1NBTkRSQS0yNTMxKQogKiBmaXggY2Fjo6TptQAAAU/ePLJcABAgaW50ZXJmYWNlIChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3CAAABAENBU1NBTkRSQS01Njc3KQogKiBGaXggcXVlcnlpbmcgd2l0aCBhbiBlbXB0eSAoaW1wb3NzaWJsZSkgcmFuZ2UgKENBU1NBTkRSQS01NTczKQogKiBjcWxzaDogaGFuZGxlIENVU1RPTSAyaSBpbiBERVNDUklCRSBvdXRwdXQgKENBU1NBTkRSQS01NzYwKQogKiBGaXggbWlub3IgYnVnIGluIFJhbmdlLmludGVyc2VjdHMoQm91bmQpIChDQVNTQU5EUkEtNTc3MSkKICogY3Fsc2g6IGhhbmRsZSBkaXNhYmxlZCBjb21wcmVzc2lvbiBpbiBERVNDUklCRSD4kYbJAAABT948slwAEGF0YSAoQ0FTU0FORFJBLTIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcIAAAEAcmx5IHNjYW4gb2YgYWxsIGhpbnRzIG9uIHRoZSBvZmYgY2hhbmNlIHRoYXQgdGhlIGdvc3NpcGVyCiAgIG1pc3NlZCBhIHN0YXR1cyBjaGFuZ2U7IGluc3RlYWQsIGV4cG9zZSBkZWxpdmVySGludHNUb0VuZHBvaW50IHRvIEpNWAogICBzbyBpdCBjYW4gYmUgZG9uZSBtYW51YWxseSwgaWYgbmVjZXNzYXJ5IChDQVNTQU5EUkEtMTE0MSkKICogZG9uJ3QgcmVqZWN0IHJlYWRzIGF0IENMLkFMTCAoQ0FTU0FORFJBLTExNTIpCiAqIHJlamVjdCBkZWxldGBPcsIAAAFP3jyyXAAQc2l0ZVR5cGUKICAgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtwgAAAQBnb3NzaXBlciBlYXJsaWVyIChDQVNTQU5EUkEtMjIyOCkKICogYWRkIGFiaWxpdHkgdG8gd3JpdGUgdG8gQ2Fzc2FuZHJhIGZyb20gUGlnIChDQVNTQU5EUkEtMTgyOCkKICogYWRkIHJwY19bbWlufG1heF1fdGhyZWFkcyAoQ0FTU0FORFJBLTIxNzYpCiAqIGFkZCBDTC5UV08sIENMLlRIUkVFIChDQVNTQU5EUkEtMjAxMykKICogYXZvaWQgZXhwb3J0aW5nIGFuIHVuLXJlcXVlc3RlZCByb3cgaW4gc3N0YWJsZTJqc29uLCB3aGVuIGV4cG9ydGluZyAKItpzcgAAAU/ePLJcABBpbmcgb2YgJ3VubGltaXRlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3CAAABAGF0ZWQgaW4gYSB0YWJsZSBoYXZpbmcgY29sbGVjdGlvbnMgKENBU1NBTkRSQS00OTA5KQogKiBsb2cgaW5kZXggc2NhbiBzdWJqZWN0IGluIENvbXBvc2l0ZXNTZWFyY2hlciAoQ0FTU0FORFJBLTQ5MDQpCk1lcmdlZCBmcm9tIDEuMToKICogYWRkIGdldFtSb3d8S2V5XUNhY2hlRW50cmllcyB0byBDYWNoZVNlcnZpY2VNQmVhbiAoQ0FTU0FORFJBLTQ4NTkpCiAqIGZpeCBnZXRfcGFnZWRfc2xpY2UgdG8gd3JhcCB0byBuZXh0IHJvdyBjb3JyZWN0bHmPZWWXAAABT948slwAEHktemVybyBpbiBQQ0kgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcIAAAEAb24gdG8gZGlzYWJsZSB0aGlzIChDQVNTQU5EUkEtMTc4MCkKICogY2xvc2UgZmlsZSBoYW5kbGUgdXNlZCBmb3IgcG9zdC1mbHVzaCB0cnVuY2F0ZSAoQ0FTU0FORFJBLTE3OTApCiAqIHZhcmlvdXMgY29kZSBjbGVhbnVwIChDQVNTQU5EUkEtMTc5MywgLTE3OTQsIC0xNzk1KQogKiBmaXggcmFuZ2UgcXVlcmllcyBhZ2FpbnN0IHdyYXBwZWQgcmFuZ2UgKENBU1NBTkRSQS0xNzgxKQogKiBmaXggY29uc2lzdGVuY3lsZXZlbCBjYWxjdWxhdGlvbnMgZvnrHq0AAAFP3jyyXAAQQVNTQU5EUkEtMjU1NCkKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtwgAAAQBDQVNTQU5EUkEtNjAzMykKTWVyZ2VkIGZyb20gMS4yOgogKiBBbGxvdyBjYWNoZS1rZXlzLXRvLXNhdmUgdG8gYmUgc2V0IGF0IHJ1bnRpbWUgKENBU1NBTkRSQS01OTgwKQogKiBBdm9pZCBzZWNvbmQtZ3Vlc3Npbmcgb3V0LW9mLXNwYWNlIHN0YXRlIChDQVNTQU5EUkEtNTYwNSkKICogVHVuaW5nIGtub2JzIGZvciBkZWFsaW5nIHdpdGggbGFyZ2UgYmxvYnMgYW5kIG1hbnkgQ0ZzIChDQVNTQU5EUkEtNTk4MikKICogKEhhZG9vcCkgRml4IENRTFJXU18aBAAAAU/ePLJcABBjb21tYW5kIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3CAAABAFNTVGFibGVTaW1wbGVVbnNvcnRlZFdyaXRlciBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uCiAgIChDQVNTQU5EUkEtODYxOSkKICogUm91bmQgdXAgdGltZSBkZWx0YXMgbG93ZXIgdGhhbiAxbXMgaW4gQnVsa0xvYWRlciAoQ0FTU0FORFJBLTg2NDUpCiAqIEFkZCBiYXRjaCByZW1vdmUgaXRlcmF0b3IgdG8gQUJTQyAoQ0FTU0FORFJBLTg0MTQsIDg2NjYpCiAqIEZpeCBpc0NsaWVudE1vZGUgY2hlY2sgaW4gS2V5c3BhY2UgKENBU1NBTkTb+nskAAABT948slwAEHJhcCAoQ0FTU0FORFJBLTUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcIAAAEAKiBBdm9pZCBOUEUgb24gYWJvYXJ0ZWQgc3RyZWFtLW91dCBzZXNzaW9ucyAoQ0FTU0FORFJBLTM5MDQpCiAqIEJ1bGtSZWNvcmRXcml0ZXIgdGhyb3dzIE5QRSBmb3IgY291bnRlciBjb2x1bW5zIChDQVNTQU5EUkEtMzkwNikKICogU3VwcG9ydCBjb21wcmVzc2lvbiB1c2luZyBCdWxrV3JpdGVyIChDQVNTQU5EUkEtMzkwNykKCgoxLjAuOAogKiBmaXggcmFjZSBiZXR3ZWVuIGNsZWFudXAgYW5kIGZsdXNoIG9uIHNlY29uZGFyeSBpbmRleCBDRlNlcw2XVoAAAAFP3jyyXAAQIGEgbm9kZSB0aHJvdWdoIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtwgAAAQA5Mjk4KQogKiBWYWxpZGF0ZSB0aGUgaW5kZXhlZCBjb2x1bW4gcmF0aGVyIHRoYW4gdGhlIGNlbGwncyBjb250ZW50cyBmb3IgMmkgKENBU1NBTkRSQS05MDU3KQogKiBBZGQgc3VwcG9ydCBmb3IgdG9wLWsgY3VzdG9tIDJpIHF1ZXJpZXMgKENBU1NBTkRSQS04NzE3KQogKiBGaXggZXJyb3Igd2hlbiBkcm9wcGluZyB0YWJsZSBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTkyNTEpCiAqIGNhc3NhbmRyYS1zdHJlc3Mgc3VwcG9ydHMgdmFsaWRhGHNSmwAAAU/ePLJcABBldGUgaW4gQkFUQ0ggKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3CAAABAGVjayBvdGhlciBrZXlzcGFjZXMgZm9yIHNjaGVtYSBjaGFuZ2VzIHdoZW4gYW4gdXNlci1kZWZpbmVkCiAgIHR5cGUgaXMgYWx0ZXJlZCAoQ0FTU0FORFJBLTkxODcpCiAqIEFsbG93IHRha2VDb2x1bW5GYW1pbHlTbmFwc2hvdCB0byB0YWtlIGEgbGlzdCBvZiB0YWJsZXMgKENBU1NBTkRSQS04MzQ4KQogKiBMaW1pdCBtYWpvciBzc3RhYmxlIG9wZXJhdGlvbnMgdG8gdGhlaXIgY2Fub25pY2FsIHJlcHJlc2VudGF0aW9uIChDQVNTQU5EUkEtODY2OSkViAGBABDyU77IMG8AAAFP3jyyXAAQdG8gbGlzdGVuL2Jyb2FkYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtxQAAAQAoQ0FTU0FORFJBLTE2MTYpCiAqIHJlZHVjZSBhdXRvbWF0aWNhbGx5IGNob3NlbiBtZW10YWJsZSBzaXplcyBieSA1MCUgKENBU1NBTkRSQS0xNjQxKQogKiBtb3ZlIGVuZHBvaW50IGNhY2hlIGZyb20gc25pdGNoIHRvIHN0cmF0ZWd5IChDQVNTQU5EUkEtMTY0MykKICogZml4IGNvbW1pdGxvZyByZWNvdmVyeSBkZWxldGluZyB0aGUgbmV3bHktY3JlYXRlZCBzZWdtZW50IGFzIHdlbGwgYXMKICAgdGhlIG9sZCBvbmVzIChDQVNTQU5EUkEtMTY0NCkKSqodxwAAAU/ePLJcABAyMjYpCiAqIHJlbW92ZSBDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3FAAABAHVudGVyZWQKICAgKENBU1NBTkRSQS00MTI4KQogKiBNb3ZlIENmRGVmIGFuZCBLc0RlZiB2YWxpZGF0aW9uIG91dCBvZiB0aHJpZnQgKENBU1NBTkRSQS00MDM3KQogKiBGaXggZ2V0X3BhZ2VkX3NsaWNlIChDQVNTQU5EUkEtNDEzNikKICogQ1FMMzogU3VwcG9ydCBzbGljZSB3aXRoIGV4Y2x1c2l2ZSBzdGFydCBhbmQgc3RvcCAoQ0FTU0FORFJBLTM3ODUpCk1lcmdlZCBmcm9tIDEuMDoKICogc3VwcG9ydCBQcm9wZXJ0eUZpbGVTbml0Y2ggaW4gYnWjbX/xAAABT948slwAEHJhdG9ycyBpbiBub24tY3EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcUAAAEAaW5nIENvbXBvc2l0ZVR5cGUgY29tcGFyYXRvciAoQ0FTU0FORFJBLTM2NTcpCiAqIEF2b2lkcyBvdmVyLXBhZ2luZyBkdXJpbmcgZ2V0X2NvdW50IChDQVNTQU5EUkEtMzc5OCkKICogQWRkIG5ldyBjb21tYW5kIHRvIHJlYnVpbGQgYSBub2RlIHdpdGhvdXQgKHJlcGFpcikgbWVya2xlIHRyZWUgY2FsY3VsYXRpb25zCiAgIChDQVNTQU5EUkEtMzQ4MywgMzkyMikKICogcmVzcGVjdCBub3Qgb25seSByb3cgY2FjaGUgY2FwYWNpdHkgYnV0IGNhY2hpboW3IP8AAAFP3jyyXAAQZWF0aW9uIG9wdGlvbnMgKAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtxQAAAQBTIChDQVNTQU5EUkEtMjA0OSkKICogZml4IHBvc3NpYmxlIEJ5dGVCdWZmZXIgcmFjZSBjb25kaXRpb25zIChDQVNTQU5EUkEtMjA2NikKICogcmVkdWNlIGdhcmJhZ2UgZ2VuZXJhdGVkIGJ5IE1lc3NhZ2luZ1NlcnZpY2UgdG8gcHJldmVudCBsb2FkIHNwaWtlcwogICAoQ0FTU0FORFJBLTIwNTgpCiAqIGZpeCBtYXRoIGluIFJhbmRvbVBhcnRpdGlvbmVyLmRlc2NyaWJlT3duZXJzaGlwIChDQVNTQU5EUkEtMjA3MSkKICogZml4IGRlbGV0aW9uIG9mk4t3LwAAAU/ePLJcABBlc2hvbGRzIGR1cmluZyBpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3FAAABADEuMS4zCiAqIChjcWxzaCkgYWRkIENPUFkgVE8gKENBU1NBTkRSQS00NDM0KQogKiBtdW5tYXAgY29tbWl0bG9nIHNlZ21lbnRzIGJlZm9yZSByZW5hbWUgKENBU1NBTkRSQS00MzM3KQogKiAoSk1YKSByZW5hbWUgZ2V0UmFuZ2VLZXlTYW1wbGUgdG8gc2FtcGxlS2V5UmFuZ2UgdG8gYXZvaWQgcmV0dXJuaW5nCiAgIG11bHRpLU1CIHJlc3VsdHMgYXMgYW4gYXR0cmlidXRlIChDQVNTQU5EUkEtNDQ1MikKICogZmx1c2ggYmFzZWQgb24gZGF0YSBzaXoeNiH1AAABT948slwAEGN0aW9ucyAoQ0FTU0FORFIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcUAAAEAayBkcmlmdCBvbiBzb21lIFdpbmRvd3MgbWFjaGluZSAoQ0FTU0FORFJBLTMzNzUpCiAqIGRpc3BsYXkgY2FjaGUgcHJvdmlkZXIgaW4gY2xpICdkZXNjcmliZSBrZXlzcGFjZScgY29tbWFuZCAoQ0FTU0FORFJBLTMzODQpCiAqIGZpeCBpbmNvbXBsZXRlIHRvcG9sb2d5IGluZm9ybWF0aW9uIGluIGRlc2NyaWJlX3JpbmcgKENBU1NBTkRSQS0zNDAzKQogKiBleHBpcmUgZGVhZCBnb3NzaXAgc3RhdGVzIGJhc2VkIG9uIHRpbWUgKENBU1NBTkRSQS0yOTrFETwAAAFP3jyyXAAQZWRSYW5kb21BY2Nlc3NSZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtxQAAAQBTU0FORFJBLTc2MjYpCiAqIEZpeCBzY3J1YiBhZ2FpbnN0IGNvbGxlY3Rpb24gdHlwZSAoQ0FTU0FORFJBLTc2NjUpCk1lcmdlZCBmcm9tIDIuMDoKICogU2V0IGdjX2dyYWNlX3NlY29uZHMgdG8gc2V2ZW4gZGF5cyBmb3Igc3lzdGVtIHNjaGVtYSB0YWJsZXMgKENBU1NBTkRSQS03NjY4KQogKiBTaW1wbGVTZWVkUHJvdmlkZXIgbm8gbG9uZ2VyIGNhY2hlcyBzZWVkcyBmb3JldmVyIChDQVNTQU5EUkEtNzY2MykKICogQWx3YXlzIGZsdXNoIG9uIHRyAeixrQAAAU/ePLJcABBjbGllbnQgY29ubmVjdGlvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3FAAABAHN1cHBvcnRlZCBmb3Igd3JpdGVzIChDQVNTQU5EUkEtMzI3MikKICogcmVwbGFjZSBjb21wYWN0aW9ubG9jayB1c2UgaW4gc2NoZW1hIG1pZ3JhdGlvbiBieSBjaGVja2luZyBDRlMuaXNWYWxpZAogICAoQ0FTU0FORFJBLTMxMTYpCiAqIHJlY29nbml6ZSB0aGF0ICJTRUxFQ1QgZmlyc3QgLi4uICoiIGlzbid0IHJlYWxseSAiU0VMRUNUICoiIChDQVNTQU5EUkEtMzQ0NSkKICogVXNlIGZhc3RlciBieXRlcyBjb21wYXJpc29uIChDQVNTQU5EUkEtMzSJf6rsAAABT948slwAECBhYmlsaXR5IHRvIHVzZSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcUAAAEAIHRvIGJlIHNldCBhdCBydW50aW1lIChDQVNTQU5EUkEtNTk4MCkKICogQXZvaWQgc2Vjb25kLWd1ZXNzaW5nIG91dC1vZi1zcGFjZSBzdGF0ZSAoQ0FTU0FORFJBLTU2MDUpCiAqIFR1bmluZyBrbm9icyBmb3IgZGVhbGluZyB3aXRoIGxhcmdlIGJsb2JzIGFuZCBtYW55IENGcyAoQ0FTU0FORFJBLTU5ODIpCiAqIChIYWRvb3ApIEZpeCBDUUxSVyBmb3IgdGhyaWZ0IHRhYmxlcyAoQ0FTU0FORFJBLTYwMDIpCiAqIEZpeCBwb3NzaWJsZSBkaXZpZGUtYgbnDPgAAAFP3jyyXAAQYWJsZSBkcm9wcGVkIGR1cgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtxQAAAQAqIGFkZCBvcHRpb25hbCBsb2dpbigpIFRocmlmdCBjYWxsIGZvciBhdXRoZW50aWNhdGlvbiAoQ0FTU0FORFJBLTU0NykKICogc3VwcG9ydCBmYXQgY2xpZW50cyB1c2luZyBnb3NzaXBlciBhbmQgU3RvcmFnZVByb3h5IHRvIHBlcmZvcm0KICAgcmVwbGljYXRpb24gaW4tcHJvY2VzcyBbanZtLW9ubHldIChDQVNTQU5EUkEtNTM1KQogKiBzdXBwb3J0IG1tYXBwZWQgSS9PIGZvciByZWFkcywgb24gYnkgZGVmYXVsdCBvbiA2NGJpdCBKVk1zIAogICAozr+RHAAAAU/ePLJcABBhbmQgZnVsbCgpIGNvbGxlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3FAAABAEFTU0FORFJBLTY3MykKCgowLjUuMCBSQzMKICogY29tbWl0IHRoZSBjb3JyZWN0IHZlcnNpb24gb2YgdGhlIHBhdGNoIGZvciBDQVNTQU5EUkEtNjYzCgoKMC41LjAgUkMyICh1bnJlbGVhc2VkKQogKiBmaXggYnVncyBpbiBjb252ZXJ0aW5nIGdldF9yYW5nZV9zbGljZSByZXN1bHRzIHRvIFRocmlmdCAKICAgKENBU1NBTkRSQS02NDcsIENBU1NBTkRSQS02NDkpCiAqIGV4cG9zZSBqYXZhLnV0aWwuY29uY3VycmVudC5UaW1lb3V0RXhjZXB0aW9uIGlGGTK+AAABT948slwAEHJlY3RvcnkgZnJvbSBzdG8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcUAAAEAKiBUaHJpZnQgY2hhbmdlcyAoc2V2ZXJhbCB0aWNrZXRzKQogICAgLSBNZXJnZWQgX3N1cGVyIGdldCBtZXRob2RzIHdpdGggdGhlIG5vcm1hbCBvbmVzOyByZXR1cm4gdmFsdWVzCiAgICAgIGFyZSBub3cgb2YgQ29sdW1uT3JTdXBlckNvbHVtbi4KICAgIC0gU2ltaWxhcmx5LCBtZXJnZWQgYmF0Y2hfaW5zZXJ0X3N1cGVyIGludG8gYmF0Y2hfaW5zZXJ0LgoKCgowLjQuMCBiZXRhCiAqIE9uLWRpc2sgZGF0YSBmb3JtYXQgaGFzIGNoYW5nZWQgdG8gYS34EVMAAAFP3jyyXAAQIGR1cmluZyByZW1vdmV0bwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtxQAAAQBlZCB0aGUgY29tcGFjdGlvbiBsb2NrIChDQVNTQU5EUkEtMzM0NCkKICogRGlzcGxheSBDTEkgdmVyc2lvbiBzdHJpbmcgb24gc3RhcnR1cCAoQ0FTU0FORFJBLTMxOTYpCiAqIChIYWRvb3ApIG1ha2UgQ0ZJRiB0cnkgcnBjX2FkZHJlc3Mgb3IgZmFsbGJhY2sgdG8gbGlzdGVuX2FkZHJlc3MKICAgKENBU1NBTkRSQS0zMjE0KQogKiAoSGFkb29wKSBhY2NlcHQgY29tbWEgZGVsaW1pdGVkIGxpc3RzIG9mIGluaXRpYWwgdGhyaWZ0IGNvbm5lY3Rpb25zcY/eFAAAAU/ePLJcABB1aW5nIGJvb3N0cmFwcGluAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3FAAABAGluZWZmaWNpZW50IHNtYWxsIFRDUCBtZXNzYWdlcyB3aGlsZSBhdm9pZGluZwogICB0aGUgbmFnbGUvZGVsYXllZCBhY2sgcHJvYmxlbSAoQ0FTU0FORFJBLTE4OTYpCiAqIGNoZWNrIGxvZzRqIGNvbmZpZ3VyYXRpb24gZm9yIGNoYW5nZXMgZXZlcnkgMTBzIChDQVNTQU5EUkEtMTUyNSwgMTkwNykKICogbW9yZS1lZmZpY2llbnQgY3Jvc3MtREMgcmVwbGljYXRpb24gKENBU1NBTkRSQS0xNTMwLCAtMjA1MSwgLTIxMzgpCiAqIGF2b2lkIHBvbGx1dGnwgG4dAAABT948slwAEDAuNy4wLXJjMgogKiBmaXgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcUAAAEALTQzMDcpCiAqIChjcWwzKSBleGVwdGlvbiBtZXNzYWdlIGZvciBPUkRFUiBCWSBjb25zdHJhaW50cyBzYWlkIHByaW1hcnkgZmlsdGVyIGNhbiBiZQogICAgYW4gSU4gY2xhdXNlLCB3aGljaCBpcyBtaXNsZWFkaW5nIChDQVNTQU5EUkEtNDMxOSkKICogKGNxbDMpIFJlamVjdCAobm90IHlldCBzdXBwb3J0ZWQpIGNyZWF0aW9uIG9mIDJuZGFyZHkgaW5kZXhlcyBvbiB0YWJsZXMgd2l0aAogICBjb21wb3NpdGUgcHJpbWFyeSBrZXlzIChDQVNTQU5EUhxcRBAAEQawCmhfZQAAAU/ePLJcABBhbGl6YXRpb24gb2YgdGhlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3IAAABAEEtNjI2NykKICogTm9kZXRvb2wgZ2V0cyBkZWZhdWx0IEpNWCBwb3J0IGZyb20gY2Fzc2FuZHJhLWVudi5zaCAoQ0FTU0FORFJBLTYyNzMpCiAqIG1ha2UgY2FsY3VsYXRlUGVuZGluZ1JhbmdlcyBhc3luY2hyb25vdXMgKENBU1NBTkRSQS02MjQ0KQogKiBSZW1vdmUgYmxvY2tpbmcgZmx1c2hlcyBpbiBnb3NzaXAgdGhyZWFkIChDQVNTQU5EUkEtNjI5NykKICogRml4IHBvdGVudGlhbCBzb2NrZXQgbGVhayBpbiBjb25uZWN0aW9ucG9vbCBjcmVhdGkVocnNAAABT948slwAECkKICogZml4IGJ1ZyBpbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcgAAAEAZXQgY29tcGFjdGlvbiB0aHJlc2hvbGRzIGF0IHJ1bnRpbWUgdmlhCiAgIEpNWCAvIG5vZGVwcm9iZS4gIChDQVNTQU5EUkEtNDY1KQogKiBBZGQgImNvbW1lbnQiIGZpZWxkIHRvIENvbHVtbkZhbWlseSBkZWZpbml0aW9uLiAoQ0FTU0FORFJBLTQ4MSkKICogQWRkaXRpb25hbCBKTVggbWV0cmljcyAoQ0FTU0FORFJBLTQ4MikKICogSlNPTiBiYXNlZCBleHBvcnQgYW5kIGltcG9ydCB0b29scyAoc2V2ZXJhbCB0aWNrZXRzKQogKiBIaW50ZWQgSGFuZGVYI20AAAFP3jyyXAAQaW4gUGlnIENhc3NhbmRyYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtyAAAAQBzZWdtZW50IGNyZWF0aW9uIGluc3RlYWQgb2YKICAgbmFub3RpbWUsIHdoaWNoIGhhcyBpc3N1ZXMgdW5kZXIgc29tZSBoeXBlcnZpc29ycyAoQ0FTU0FORFJBLTQ2MDEpCiAqIGZpeCBGRCBsZWFrIGluIHNsaWNlIHF1ZXJpZXMgKENBU1NBTkRSQS00NTcxKQogKiBhdm9pZCByZWN1cnNpb24gaW4gbGV2ZWxlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtNDU4NykKICogaW5jcmVhc2Ugc3RhY2sgc2l6ZSB1bmRlciBKYXZhNyB0byAxODBLCiAqIExvZyhp+NEJzAAAAU/ePLJcABBEUkEtNTYzNSkKICogQWRkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3IAAABAGVtb3ZldG9rZW4gKENBU1NBTkRSQS0xNjA1KQogKiByZW1vdmUgQ29uc2lzdGVuY3lMZXZlbC5aRVJPIChDQVNTQU5EUkEtMTYwNykKICogZXhwb3NlIGluLXByb2dyZXNzIGNvbXBhY3Rpb24gdHlwZSBpbiBqbXggKENBU1NBTkRSQS0xNTg2KQogKiByZW1vdmVkIElDbG9jayAmIHJlbGF0ZWQgY2xhc3NlcyBmcm9tIGludGVybmFscyAoQ0FTU0FORFJBLTE1MDIpCiAqIGZpeCByZW1vdmluZyB0b2tlbnMgZnJvbSBTeXN0ZW1UYWJsZSBvbiBkZWNvbW3xpZzkAAABT948slwAEGVzc2VzIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcgAAAEAIHRvIHJlbW92ZSBjb21taXRsb2cgc2VnbWVudCBub24tZmF0YWwgKENBU1NBTkRSQS0xMzQ4KQogKiBjb3JyZWN0IG9yZGVyaW5nIG9mIGRyYWluIG9wZXJhdGlvbnMgc28gQ0wucmVjb3ZlciBpcyBubyBsb25nZXIgCiAgIG5lY2Vzc2FyeSAoQ0FTU0FORFJBLTE0MDgpCiAqIHJlbW92ZWQga2V5c3BhY2UgZnJvbSBkZXNjcmliZV9zcGxpdHMgbWV0aG9kIChDQVNTQU5EUkEtMTQyNSkKICogcmVuYW1lIGNoZWNrX3NjaGVtYV9hZ3JlZW1lbnQgdG8gZAcMQYUAAAFP3jyyXAAQaW9ucyBvbiBjbHVzdGVyaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtyAAAAQBUaHJvdyBpbnZhbGlkIGV4Y2VwdGlvbiBmcm9tIENRTDMgb24gb2Jzb2xldGUgb3B0aW9ucyAoQ0FTU0FORFJBLTQxNzEpCiAqIChjcWxzaCkgZml4IHJlY29nbml6aW5nIHVwcGVyY2FzZSBTRUxFQ1Qga2V5d29yZCAoQ0FTU0FORFJBLTQxNjEpCiAqIFBpZzogd2lkZSByb3cgc3VwcG9ydCAoQ0FTU0FORFJBLTM5MDkpCk1lcmdlZCBmcm9tIDEuMDoKICogYXZvaWQgc3RyZWFtaW5nIGVtcHR5IGZpbGVzIHdpdGggYnVsayBsb2FkZXIgaWYgc3N0YWJs+jDr8QAAAU/ePLJcABBwIChDQVNTQU5EUkEtNjU5AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3IAAABACBleGNlcHRpb24gd2l0aCBiYXRjaCBtdXRhdGlvbiBvZiBjb3VudGVyIHN1cGVyIGNvbHVtbnMKICAgKENBU1NBTkRSQS0yOTQ5KQogKiBpZ25vcmUgc3lzdGVtIHRhYmxlcyBkdXJpbmcgcmVwYWlyIChDQVNTQU5EUkEtMjk3OSkKICogdGhyb3cgZXhjZXB0aW9uIHdoZW4gTlRTIGlzIGdpdmVuIHJlcGxpY2F0aW9uX2ZhY3RvciBhcyBhbiBvcHRpb24KICAgKENBU1NBTkRSQS0yOTYwKQogKiBmaXggYXNzZXJ0aW9uIGVycm9yIGR1cmluZyBjb21wYWMl8W0yAAABT948slwAEGtldHMgYXJlIG5vdCBwcm8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcgAAAEAZCBiYXRjaF9tdXRhdGUgdGhyaWZ0IGNvbW1hbmQsIGRlcHJlY2F0aW5nIGJhdGNoX2luc2VydCAoQ0FTU0FORFJBLTMzNikKICogcmVtb3ZlIGdldF9rZXlfcmFuZ2UgVGhyaWZ0IEFQSSwgZGVwcmVjYXRlZCBpbiAwLjUgKENBU1NBTkRSQS03MTApCiAqIGFkZCBvcHRpb25hbCBsb2dpbigpIFRocmlmdCBjYWxsIGZvciBhdXRoZW50aWNhdGlvbiAoQ0FTU0FORFJBLTU0NykKICogc3VwcG9ydCBmYXQgY2xpZW50cyB1c2luZyBnb3NzaXBlciBhbmQgU38xA+0AAAFP3jyyXAAQbXBhY3Rpb24gKENBU1NBTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtyAAAAQBtZW50IGNhbGwgKyBzeW5jaHJvbml6YXRpb24gdG8gc2NoZW1hCiAgIG1vZGlmaWNhdGlvbiBvcGVyYXRpb25zIChDQVNTQU5EUkEtMjIyMikKICogZml4IGZvciByZXZlcnNlZCBzbGljZSBxdWVyaWVzIG9uIGxhcmdlIHJvd3MgKENBU1NBTkRSQS0yMjEyKQogKiBmYXQgY2xpZW50cyB3ZXJlIHdyaXRpbmcgbG9jYWwgZGF0YSAoQ0FTU0FORFJBLTIyMjMpCiAqIHNldCBERUZBVUxUX01FTVRBQkxFX0xJRkVUSU1FX0lOX01JTlMgdG8gMjRoCiAqIGltcrkmKAAAAU/ePLJcABBlcyBpcyBkb3duIHdoZW4gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3IAAABAERSLTI0MTgpCiAqIGludmFsaWRhdGUgcm93IGNhY2hlIGZvciBzdHJlYW1lZCByb3cgdG8gYXZvaWQgaW5jb25zaXRlbmNpZXMKICAgKENBU1NBTkRSQS0yNDIwKQogKiBhdm9pZCBjb3BpZXMgaW4gcmFuZ2UvaW5kZXggc2NhbnMgKENBU1NBTkRSQS0yNDI1KQogKiBtYWtlIHN1cmUgd2UgZG9uJ3Qgd2lwZSBkYXRhIGR1cmluZyBjbGVhbnVwIGlmIHRoZSBub2RlIGhhcyBub3Qgam9pbgogICB0aGUgcmluZyAoQ0FTU0FORFJBLTI0MjgpCiAqIFRyeSD5uT6ZAAABT948slwAEGhlbWEgZmFpbHMKICAgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcgAAAEAIGV4Y2VwdGlvbiB3aGVuIHBhZ2luZyAoQ0FTU0FORFJBLTYzMzMpCk1lcmdlZCBmcm9tIDEuMjoKICogT3B0aW1pemUgRkQgcGhpIGNhbGN1bGF0aW9uIChDQVNTQU5EUkEtNjM4NikKICogSW1wcm92ZSBpbml0aWFsIEZEIHBoaSBlc3RpbWF0ZSB3aGVuIHN0YXJ0aW5nIHVwIChDQVNTQU5EUkEtNjM4NSkKICogRG9uJ3QgbGlzdCBDUUwzIHRhYmxlIGluIENMSSBkZXNjcmliZSBldmVuIGlmIG5hbWVkIGV4cGxpY2l0ZWx5IAogICAoQ0FTU0FORFJBLUTweccAAAFP3jyyXAAQaWd1cmF0aW9uIHhtbCwKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtyAAAAQBmbHVzaCB0aHJlc2hvbGRzIHBlci1DRiBpbnN0ZWFkIG9mIGdsb2JhbCAKICAgKENBU1NBTkRSQS0xMDA3LCAxNjM3KQogKiBhZGQgY2xpIHN1cHBvcnQgZm9yIGJpbmFyeSBkYXRhIHdpdGhvdXQgQ2ZEZWYgaGludHMgKENBU1NBTkRSQS0xNjAzKQogKiBmaXggYnVpbGRpbmcgU1NUYWJsZSBzdGF0aXN0aWNzIHBvc3Qtc3RyZWFtIChDQVNTQU5EUkEtMTYyMCkKICogZml4IHBvdGVudGlhbCBpbmZpbml0ZSBsb29wIGluIDJhcnkgaW5kZXggcXVlcmllINqDFQAAAU/ePLJcABBtaWx5U3RvcmVNQmVhbkl0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3IAAABAEFORFJBLTg3MDcpCiAqIFdyaXRlIHBhcnRpdGlvbiBzaXplIGVzdGltYXRlcyBpbnRvIGEgc3lzdGVtIHRhYmxlIChDQVNTQU5EUkEtNzY4OCkKICogY3Fsc2g6IEZpeCBrZXlzKCkgYW5kIGZ1bGwoKSBjb2xsZWN0aW9uIGluZGV4ZXMgaW4gREVTQ1JJQkUgb3V0cHV0CiAgIChDQVNTQU5EUkEtODE1NCkKICogU2hvdyBwcm9ncmVzcyBvZiBzdHJlYW1pbmcgaW4gbm9kZXRvb2wgbmV0c3RhdHMgKENBU1NBTkRSQS04ODg2KQogKiBJbmRleFN1bW1hcnl68cJ7AAABT948slwAECBjaGFuY2UgdG8gMC4xICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcgAAAEAbyBub2RlIAogICBtb3ZlbWVudCAoQ0FTU0FORFJBLTgzMykKICogQ2hhbmdlIENRTCB2ZXJzaW9uIHRvIDMuMC4wIGFuZCBzdG9wIGFjY2VwdGluZyAzLjAuMC1iZXRhMSAoQ0FTU0FORFJBLTQ2NDkpCiAqIChDUUwzKSBNYWtlIHByZXBhcmVkIHN0YXRlbWVudCBnbG9iYWwgaW5zdGVhZCBvZiBwZXIgY29ubmVjdGlvbiAKICAgKENBU1NBTkRSQS00NDQ5KQogKiBGaXggc2NydWJiaW5nIG9mIENRTDMgY3JlYXRlZCB0YWJsZXMgKENBU1NBTkRSQS00Nsr58fYAAAFP3jyyXAAQZWQgaW4tdHJlZSByZWRoYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtyAAAAQAgKGNxbDMpIFJlamVjdCAobm90IHlldCBzdXBwb3J0ZWQpIGNyZWF0aW9uIG9mIDJuZGFyZHkgaW5kZXhlcyBvbiB0YWJsZXMgd2l0aAogICBjb21wb3NpdGUgcHJpbWFyeSBrZXlzIChDQVNTQU5EUkEtNDMyOCkKICogU2V0IEpWTSBzdGFjayBzaXplIHRvIDE2MGsgZm9yIGphdmEgNyAoQ0FTU0FORFJBLTQyNzUpCiAqIGNxbHNoOiBhZGQgQ09QWSBjb21tYW5kIHRvIGxvYWQgZGF0YSBmcm9tIENTViBmbGF0IGZpbGVzIChDQVNTQU5EUkEtNDAxMikKl/4BKgARGw1CeaIpAAABT948slwAEFJBLTMxMjQpCiAqIChDUUwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcsAAAEAYWxpemVkU2l6ZSgpIGZvciBkaWdlc3QgcmVhZHMgKENBU1NBTkRSQS01NDc2KQogKiBhbGxvdyBzc3RhYmxlMmpzb24gb24gMmkgQ0ZzIChDQVNTQU5EUkEtNTY5NCkKTWVyZ2VkIGZyb20gMS4xOgogKiBSZW1vdmUgYnVnZ3kgdGhyaWZ0IG1heCBtZXNzYWdlIGxlbmd0aCBvcHRpb24gKENBU1NBTkRSQS01NTI5KQogKiBGaXggTlBFIGluIFBpZydzIHdpZGVyb3cgbW9kZSAoQ0FTU0FORFJBLTU0ODgpCiAqIEFkZCBzcGxpdCBzaXplIHBhcmFtZXRlclI2SVEAAAFP3jyyXAAQbnQgdGltZXMgKENBU1NBTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtywAAAQB0aW1pemUgYXdheSBNZXNzYWdpbmdTZXJ2aWNlIGZvciBsb2NhbCByYW5nZSBxdWVyaWVzIChDQVNTQU5EUkEtMTI2MSkKICogbWFrZSBmcmFtZWQgdHJhbnNwb3J0IHRoZSBkZWZhdWx0IHNvIG1hbGZvcm1lZCByZXF1ZXN0cyBjYW4ndCBPT00gdGhlIAogICBzZXJ2ZXIgKENBU1NBTkRSQS00NzUpCiAqIHNpZ25pZmljYW50bHkgZmFzdGVyIHJlYWRzIGZyb20gcm93IGNhY2hlIChDQVNTQU5EUkEtMTI2NykKICogdGFrZSBhZHZhbnRhZ2Ugb2Ygcm934WcpLQAAAU/ePLJcABA5MzApCiAqIG9wdGltaXplAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3LAAABAGF2cm8gKENBU1NBTkRSQS0zNTU4KQogKiBmaXggbWlzc2luZyByZXNwb25zZSBkdXJpbmcgcmFuZ2Ugc2xpY2UgcmVwYWlyIChDQVNTQU5EUkEtMzU1MSkKICogJ2Rlc2NyaWJlIHJpbmcnIG1vdmVkIGZyb20gQ0xJIHRvIG5vZGV0b29sIGFuZCBhdmFpbGFibGUgdGhyb3VnaCBKTVggKENBU1NBTkRSQS0zMjIwKQogKiBhZGQgYmFjayBwYXJ0aXRpb25lciB0byBzc3RhYmxlIG1ldGFkYXRhIChDQVNTQU5EUkEtMzU0MCkKICogZml4IE5QRSBpbiBnZXSm0OxrAAABT948slwAEGhlY2sgZm9yIGtleXMgd2gAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcsAAAEAdGF0aW9uIHJhY2VkIHRoZSBkcm9wIGFuZCBnb3QgaXQgbWFya2VkIGRpcnR5IChDQVNTQU5EUkEtNTk0NikKICogQWRkIGEgTE9DQUxfT05FIGNvbnNpc3RlbmN5IGxldmVsIChDQVNTQU5EUkEtNjIwMikKICogTGltaXQgQ1FMIHByZXBhcmVkIHN0YXRlbWVudCBjYWNoZSBieSBzaXplIGluc3RlYWQgb2YgY291bnQgKENBU1NBTkRSQS02MTA3KQogKiBUcmFjaW5nIHNob3VsZCBsb2cgd3JpdGUgZmFpbHVyZSByYXRoZXIgdGhhbiByYXcgZXhjZXB0aX+6FSUAAAFP3jyyXAAQaGVyIChDQVNTQU5EUkEtMwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtywAAAQApCgoKMS4wLjAtcmMxCiAqIFVwZGF0ZSBDUUwgdG8gZ2VuZXJhdGUgbWljcm9zZWNvbmQgdGltZXN0YW1wcyBieSBkZWZhdWx0IChDQVNTQU5EUkEtMzIyNykKICogRml4IGNvdW50aW5nIENGTWV0YWRhdGEgdG93YXJkcyBNZW10YWJsZSBsaXZlUmF0aW8gKENBU1NBTkRSQS0zMDIzKQogKiBLaWxsIHNlcnZlciBvbiB3cmFwcGVkIE9PTUUgc3VjaCBhcyBmcm9tIEZpbGVDaGFubmVsLm1hcCAoQ0FTU0FORFJBLTMyMDEpCiAqIHJlbW92ZSB1bm5lY2VzRNow4gAAAU/ePLJcABAgZnJvbSBjb3VudGVyIHVwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3LAAABAGlyIEpNWCBpbnRlcmZhY2UgKENBU1NBTkRSQS02OTAwKQogKiBBZGQgbXVsdGlwbGUgbWVtb3J5IGFsbG9jYXRpb24gb3B0aW9ucyBmb3IgbWVtdGFibGVzIChDQVNTQU5EUkEtNjY4OSwgNjY5NCkKICogUmVtb3ZlIGFkanVzdGVkIG9wIHJhdGUgZnJvbSBzdHJlc3Mgb3V0cHV0IChDQVNTQU5EUkEtNjkyMSkKICogQWRkIG9wdGltaXplZCBDRi5oYXNDb2x1bW5zKCkgaW1wbGVtZW50YXRpb25zIChDQVNTQU5EUkEtNjk0MSkKICogU2VyaWFsaXplIGK0Bc0vAAABT948slwAEEFORFJBLTkyNjIpCiAqIEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcsAAAEATkRSQS0zMjQ3KQogKiBGaWxlIGRlc2NyaXB0b3IgbGltaXQgaW5jcmVhc2VkIGluIHBhY2thZ2luZyAoQ0FTU0FORFJBLTMyMDYpCiAqIEZpeCBkZWFkbG9jayBpbiBjb21taXQgbG9nIGR1cmluZyBmbHVzaCAoQ0FTU0FORFJBLTMyNTMpIAoKCjEuMC4wLWJldGExCiAqIHJlbW92ZWQgYmluYXJ5bWVtdGFibGUgKENBU1NBTkRSQS0yNjkyKQogKiBhZGQgY29tbWl0bG9nX3RvdGFsX3NwYWNlX2luX21iIHRvIHByZXZlbnQgZnJhZ21lbnRlZCBsb2dzIChEygAAAAFP3jyyXAAQckZvcm1hdEV4Y2VwdGlvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtywAAAQAKICogQXZvaWQgSUQgY29uZmxpY3RzIGZyb20gY29uY3VycmVudCBzY2hlbWEgY2hhbmdlcyAoQ0FTU0FORFJBLTM3OTQpCiAqIFNldCB0aHJpZnQgSFNIQSBzZXJ2ZXIgdGhyZWFkIGxpbWl0IHRvIHVubGltaXRlZCBieSBkZWZhdWx0IChDQVNTQU5EUkEtNDI3NykKICogQXZvaWRzIGRvdWJsZSBzZXJpYWxpemF0aW9uIG9mIENGIGlkIGluIFJvd011dGF0aW9uIG1lc3NhZ2VzCiAgIChDQVNTQU5EUkEtNDI5MykKICogc3RyZWFtIGNvbXByZXNzZWQghuMu2AAAAU/ePLJcABBpZmljaWFsbHkgaW5mbGF0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3LAAABAEYgd2l0aCAwLjEgRlAgdG8gTENTIGJ5IGRlZmF1bHQgKENBU1NBTkRSQS01MDI5KQogKiBGaXggcHJlcGFyaW5nIGluc2VydCBxdWVyaWVzIChDQVNTQU5EUkEtNTAxNikKICogRml4IHByZXBhcmluZyBxdWVyaWVzIHdpdGggY291bnRlciBpbmNyZW1lbnQgKENBU1NBTkRSQS01MDIyKQogKiBGaXggcHJlcGFyaW5nIHVwZGF0ZXMgd2l0aCBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTUwMTcpCiAqIERvbid0IGdlbmVyYXRlIFVVSUQgYmFzZWQgb24gb3RdIW3kAAABT948slwAEEFTU0FORFJBLTI0ODApCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcsAAAEAQVNTQU5EUkEtMTQyNikKICogbWFrZSBjb250cmliIENhc3NhbmRyYVNlcnZpY2VEYXRhQ2xlYW5lciByZWN1cnNpdmUgKENBU1NBTkRSQS0xNTA5KQogKiBtaW4sIG1heCBjb21wYWN0aW9uIHRocmVzaG9sZCBhcmUgY29uZmlndXJhYmxlIGFuZCBwZXJzaXN0ZW50IAogICBwZXItQ29sdW1uRmFtaWx5IChDQVNTQU5EUkEtMTQ2OCkKICogZml4IHJlcGxheWluZyB0aGUgbGFzdCBtdXRhdGlvbiBpbiBhIGNvbW1pdGxvZyB1bm5lY2Vzc2FyaWx5IAogID6MmbUAAAFP3jyyXAAQcyBpbnNpZGUgY29sbGVjdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtywAAAQBhdG9yIChDQVNTQU5EUkEtNTkzNSkKICogTWFrZSB1c2VyLWRlZmluZWQgY29tcGFjdGlvbiBKTVggYmxvY2tpbmcgKENBU1NBTkRSQS00OTUyKQogKiBGaXggc3RyZWFtaW5nIGRvZXMgbm90IHRyYW5zZmVyIHdyYXBwZWQgcmFuZ2UgKENBU1NBTkRSQS01OTQ4KQogKiBGaXggbG9hZGluZyBpbmRleCBzdW1tYXJ5IGNvbnRhaW5pbmcgZW1wdHkga2V5IChDQVNTQU5EUkEtNTk2NSkKICogQ29ycmVjdGx5IGhhbmRsZSBsaW1pdHMgaW4gQ29tcG9zaXRlKBNbrQAAAU/ePLJcABA3OTUpCiAqIFBpY2sgdGhlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3LAAABAGVTbml0Y2ggcHJveGltaXR5IG9yZGVyaW5nIHVuY2hhbmdlZCBmcm9tIHdoYXQgdGhlIFN0cmF0ZWd5CiAgIGdlbmVyYXRlcywgYXMgaW50ZW5kZWQgKENBU1NBTkRSQS0zMjYyKQogKiByZW1vdmUgU2NydWIgZnJvbSBjb21wYWN0aW9uc3RhdHMgd2hlbiBmaW5pc2hlZCAoQ0FTU0FORFJBLTMyNTUpCiAqIGZpeCBjb3VudGVyIGVudHJ5IGluIGpkYmMgVHlwZXNNYXAgKENBU1NBTkRSQS0zMjY4KQogKiBmaXggZnVsbCBxdWV1ZSBzY2VuYXJpbyBmb3JawuovAAABT948slwAEFJBLTg2NjkpCiAqIGNxbHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILcsAAAEAc29ydGVkV3JpdGVyIChDQVNTQU5EUkEtMzYxOSkKICogZnN5bmMgdGhlIGRpcmVjdG9yeSBhZnRlciBuZXcgc3N0YWJsZSBvciBjb21taXRsb2cgc2VnbWVudCBhcmUgY3JlYXRlZCAoQ0FTU0FORFJBLTMyNTApCiAqIGZpeCBtaW5vciBpc3N1ZXMgcmVwb3J0ZWQgYnkgRmluZEJ1Z3MgKENBU1NBTkRSQS0zNjU4KQogKiBnbG9iYWwga2V5L3JvdyBjYWNoZXMgKENBU1NBTkRSQS0zMTQzLCAzODQ5KQogKiBvcHRpbWl6ZSBtZW10YWJsZSBpdGVyYXRpbwptIWEAAAFP3jyyXAAQICogKGNxbHNoKSBGaXggUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtywAAAQBleXNwYWNlIGFuZCBjb2x1bW4gZmFtaWx5IG5hbWVzLiBUaGlzIGluY2x1ZGVzIG5hbWUgdGhhdAogICBtYXRjaGVzIGEgJ15cdysnIHJlZ2V4LiAoQ0FTU0FORFJBLTEzNzcpCiAqIHVzZSBKTkEsIGlmIHByZXNlbnQsIHRvIHRha2Ugc25hcHNob3RzIChDQVNTQU5EUkEtMTM3MSkKICogdHJ1bmNhdGUgaGludHMgaWYgc3RhcnRpbmcgMC43IGZvciB0aGUgZmlyc3QgdGltZSAoQ0FTU0FORFJBLTE0MTQpCiAqIGZpeCBGRCBsZWFrIGluIHNpbmdsZS1yMWQ9rwAAAU/ePLJcABAtMjI4MikKICogZml4IGNvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3LAAABADE0OCkKICogZml4IGluY29uc2lzdGVuY3kgb2YgdGhlIENMSSBzeW50YXggd2hlbiB7fSBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIFt7fV0KICAgKENBU1NBTkRSQS0zMTE5KQogKiByZW5hbWUgQ1FMIHR5cGUgbmFtZXMgdG8gbWF0Y2ggZXhwZWN0ZWQgU1FMIGJlaGF2aW9yIChDQVNTQU5EUkEtMzE0OSwgMzAzMSkKICogQXJlbmEtYmFzZWQgYWxsb2NhdGlvbiBmb3IgbWVtdGFibGVzIChDQVNTQU5EUkEtMjI1MiwgMzE2MiwgMzE2MywgMzE2OCkr5UV/ABEvagjFAQQAAAFP3jyyXAAQayBpZiBhbiBzc3RhYmxlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtzQAAAQBDQVNTQU5EUkEtMzMyMikKICogYXZvaWQgaW5jbHVkaW5nIGNvbXBhY3Rpb24gY2FjaGUtd2FybWluZyBpbiBrZXljYWNoZSBzdGF0cyAoQ0FTU0FORFJBLTMzMjUpCiAqIHJ1biBjb21wYWN0aW9uIGFuZCBoaW50ZWQgaGFuZG9mZiB0aHJlYWRzIGF0IE1JTl9QUklPUklUWSAoQ0FTU0FORFJBLTMzMDgpCiAqIGRlZmF1bHQgaHNoYSB0aHJpZnQgc2VydmVyIHRvIGNwdSBjb3JlIGNvdW50IGluIHJwYyBwb29sIChDQVNTQU5EUkEtMzMyOSkKICogYWRkt1IfWAAAAU/ePLJcABBnIGluIERFUyAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3NAAABAG9yZSB0cnlpbmcgdG8gZXhwb3J0IHNzdGFibGUgKENBU1NBTkRSQS0yNzYwKQogKiBSYWlzZSBhIG1lYW5pbmdmdWwgZXhjZXB0aW9uIGluc3RlYWQgb2YgTlBFIHdoZW4gUEZTIGVuY291bnRlcnMKICAgYW4gdW5jb25maWd1cmVkIG5vZGUgKyBubyBkZWZhdWx0IChDQVNTQU5EUkEtNDM0OSkKICogZml4IGJ1ZyBpbiBzc3RhYmxlIGJsYWNrbGlzdGluZyB3aXRoIExDUyAoQ0FTU0FORFJBLTQzNDMpCiAqIExDUyBubyBsb25nZXIgcHJvbW90ZXMgdGmDb5L+AAABT948slwAEG93biAoQ0FTU0FORFJBLTYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILc0AAAEAdGFtcHMgaW4gVHJhY2luZyAoQ0FTU0FORFJBLTgyOTcpCiAqIEluY2x1ZGUga2V5c3BhY2UgbmFtZSBpbiBlcnJvciBtZXNzYWdlIHdoZW4gdGhlcmUgYXJlIGluc3VmZmljaWVudAogICBsaXZlIG5vZGVzIHRvIHN0cmVhbSBmcm9tIChDQVNTQU5EUkEtODIyMSkKICogQXZvaWQgb3ZlcmxhcCBpbiBMMSB3aGVuIEwwIGNvbnRhaW5zIG1hbnkgbm9ub3ZlcmxhcHBpbmcKICAgc3N0YWJsZXMgKENBU1NBTkRSQS04MjExKQogKiBJbXByb3ZlIFByb3Blcpekn4cAAAFP3jyyXAAQKENBU1NBTkRSQS0zMTk3LAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtzQAAAQBBTkRSQS0xNjA5KQogKiBpbmNsdWRlIENGIG1ldGFkYXRhIGluIGNsaSAnc2hvdyBrZXlzcGFjZXMnIChDQVNTQU5EUkEtMTYxMykKICogc3dpdGNoIGZyb20gUHJvcGVydGllcyB0byBIYXNoTWFwIGluIFByb3BlcnR5RmlsZVNuaXRjaCB0bwogICBhdm9pZCBzeW5jaHJvbml6YXRpb24gYm90dGxlbmVjayAoQ0FTU0FORFJBLTE0ODEpCiAqIFByb3BlcnR5RmlsZVNuaXRjaCBjb25maWd1cmF0aW9uIGZpbGUgcmVuYW1lZCB0byAKICAgY2Fzc2FuZHJh1te50AAAAU/ePLJcABAgQ3FsUGFnaW5nUmVjb3JkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3NAAABACBjb21wYWN0aW9uIGRpcmVjdG9yaWVzIChDQVNTQU5EUkEtNjM1NykKICogUmVxdWlyZSBKTkEgYnkgZGVmYXVsdCAoQ0FTU0FORFJBLTY1NzUpCiAqIGFkZCBsaXN0c25hcHNob3RzIGNvbW1hbmQgdG8gbm9kZXRvb2wgKENBU1NBTkRSQS01NzQyKQogKiBJbnRyb2R1Y2UgQXRvbWljQlRyZWVDb2x1bW5zIChDQVNTQU5EUkEtNjI3MSwgNjY5MikKICogTXVsdGl0aHJlYWRlZCBjb21taXRsb2cgKENBU1NBTkRSQS0zNTc4KQogKiBhbGxvY2F0ZSBmaXg1oDgQAAABT948slwAECd0IHJlbHkgb24gcm93IG0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILc0AAAEAQS0xMzgyKQogKiBmaXggc2hhcmRlZCBsb2NrIGhhc2ggb24gaW5kZXggd3JpdGUgcGF0aCAoQ0FTU0FORFJBLTE0MDIpCiAqIGFkZCBzdXBwb3J0IGZvciBHVC9FLCBMVC9FIGluIHN1Ym9yZGluYXRlIGluZGV4IGNsYXVzZXMgKENBU1NBTkRSQS0xNDAxKQogKiBjZklkIGNvdW50ZXIgZ290IG91dCBvZiBzeW5jIHdoZW4gQ0ZzIHdlcmUgYWRkZWQgKENBU1NBTkRSQS0xNDAzKQogKiBsZXNzIGNoYXR0eSBzY2hlbWEgdXBkYXRlcyAoQ0FTU0FORFJBLaDsM3AAAAFP3jyyXAAQIFJhbmdlVG9tYnN0b25lTAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtzQAAAQBsaXNhdGlvbiBmb3IgYSBzcGxpdCBmZXRjaGluZyAoQ0FTU0FORFJBLTc3NzQpCiAqIFRocm93IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdoZW4gcXVlcmllcyBjb250YWluIHJlbGF0aW9ucyBvbiBlbnRpcmUKICAgY29sbGVjdGlvbiBjb2x1bW5zIChDQVNTQU5EUkEtNzUwNikKICogKGNxbHNoKSBlbmFibGUgQ1RSTC1SIGhpc3Rvcnkgc2VhcmNoIHdpdGggbGliZWRpdCAoQ0FTU0FORFJBLTc1NzcpCiAqIChIYWRvb3ApIGFsbG93IEFDRlJXIHRvYZywswAAAU/ePLJcABB0ZXJzIGZvciBJTiBjbGF1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3NAAABAChDQVNTQU5EUkEtNDg0MCkKICogQWRkIGF1dC1yZWxvYWRpbmcgb2YgdGhlIGxvZzRqIGZpbGUgaW4gZGViaWFuIHBhY2thZ2UgKENBU1NBTkRSQS00ODU1KQogKiBGaXggZXN0aW1hdGVkIHJvdyBjYWNoZSBlbnRyeSBzaXplIChDQVNTQU5EUkEtNDg2MCkKICogcmVzZXQgZ2V0UmFuZ2VTbGljZSBmaWx0ZXIgYWZ0ZXIgZmluaXNoaW5nIGEgcm93IGZvciBnZXRfcGFnZWRfc2xpY2UKICAgKENBU1NBTkRSQS00OTE5KQogKiBleHB1bmdlIHJvdyBjYWPkFBVxAAABT948slwAEGNlcHRpb24gZHVyaW5nIHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILc0AAAEAaW9uRXhjZXB0aW9uIG9uIENBUyB0aW1lb3V0IChDQVNTQU5EUkEtNjkyMykKICogSW1wcm92ZSBNZXRlcmVkRmx1c2hlciBoYW5kbGluZyBvZiBNRi11bmFmZmVjdGVkIGNvbHVtbiBmYW1pbGllcwogICAoQ0FTU0FORFJBLTY4NjcpCiAqIEFkZCBDcWxSZWNvcmRSZWFkZXIgdXNpbmcgbmF0aXZlIHBhZ2luYXRpb24gKENBU1NBTkRSQS02MzExKQogKiBBZGQgUXVlcnlIYW5kbGVyIGludGVyZmFjZSAoQ0FTU0FORFJBLTY2NTkpCiAqIFRyYWNrIGxpdqts43kAAAFP3jyyXAAQIGZvciBDTC5PTkUgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtzQAAAQBDQVNTQU5EUkEtMjkwNykKICogYWRkIHNpbXBsaWZpZWQgZmFjYWRlIHRvIFNTVGFibGVXcml0ZXIgZm9yIGJ1bGsgbG9hZGluZyB1c2UKICAgKENBU1NBTkRSQS0yOTExKQogKiBmaXggcmUtdXNpbmcgaW5kZXggQ0Ygc3N0YWJsZSBuYW1lcyBhZnRlciBkcm9wL3JlY3JlYXRlIChDQVNTQU5EUkEtMjg3MikKICogcHJlcGVuZCBDRiB0byBkZWZhdWx0IGluZGV4IG5hbWVzIChDQVNTQU5EUkEtMjkwMykKICogZml4IGhpbnQgcmVwbGF5IChDQVNTQU5EBokwCwAAAU/ePLJcABBkb3duIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3NAAABAHJhbmdlcyBmYWlsIChDQVNTQU5EUkEtNTAwOSkKICogRml4IGNxbHNoIHRpbWVzdGFtcCBmb3JtYXR0aW5nIG9mIHRpbWV6b25lIGluZm8gKENBU1NBTkRSQS00NzQ2KQogKiBGaXggYXNzZXJ0aW9uIGZhaWx1cmUgd2l0aCBsZXZlbGVkIGNvbXBhY3Rpb24gKENBU1NBTkRSQS00Nzk5KQogKiBDaGVjayBmb3IgbnVsbCBlbmRfdG9rZW4gaW4gZ2V0X3JhbmdlX3NsaWNlIChDQVNTQU5EUkEtNDgwNCkKICogUmVtb3ZlIGFsbCByZW1uYW50cyBvZiByZW09NUBeAAABT948slwAEG4gcmVzdWx0IChDQVNTQU4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILc0AAAEAL3ZhbHVlL2NvbHVtbiBhbGlhc2VzIHRvIHN5c3RlbS5zY2hlbWFfY29sdW1ucwogICAoQ0FTU0FORFJBLTYwMDkpCiAqIFBhZ2luZyBmaWx0ZXIgZW1wdHkgcm93cyB0b28gYWdyZXNzaXZlbHkgKENBU1NBTkRSQS02MDQwKQogKiBTdXBwb3J0IHZhcmlhZGljIHBhcmFtZXRlcnMgZm9yIElOIGNsYXVzZXMgKENBU1NBTkRSQS00MjEwKQogKiBjcWxzaDogcmV0dXJuIHRoZSByZXN1bHQgb2YgQ0FTIHdyaXRlcyAoQ0FTU0FORFJBLTU3OTYpCiAqIEZpeI8gzs8AAAFP3jyyXAAQY2hpbmVzIHdpdGggb3ZlcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgtzQAAAQA0NzY3KQogKiBmaXggdXNlciBkZWZpbmVkIGNvbXBhY3Rpb24gdG8gcnVuIGFnYWluc3QgMS4xIGRhdGEgZGlyZWN0b3J5IChDQVNTQU5EUkEtNTExOCkKICogRml4IENRTDMgQkFUQ0ggYXV0aG9yaXphdGlvbiBjYWNoaW5nIChDQVNTQU5EUkEtNTE0NSkKICogZml4IGdldF9jb3VudCByZXR1cm5zIGluY29ycmVjdCB2YWx1ZSB3aXRoIFRUTCAoQ0FTU0FORFJBLTUwOTkpCiAqIGJldHRlciBoYW5kbGluZyBmb3IgbWlkLWNvbXBhY3Rpb24gZmFpbHVyNJcXUgAAAU/ePLJcABBSQS00MTc5KQogKiBpbXByAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3NAAABAGNlcyAoQ0FTU0FORFJBLTkyNCkKICogVXNlIGhvc3RuYW1lcyBpbiBDRklucHV0Rm9ybWF0IHRvIGFsbG93IEhhZG9vcCdzIG5haXZlIHN0cmluZy1iYXNlZAogICBsb2NhbGl0eSBjb21wYXJpc29ucyB0byB3b3JrIChDQVNTQU5EUkEtOTU1KQogKiBjYWNoZSByZWFkLW9ubHkgQnVmZmVyZWRSYW5kb21BY2Nlc3NGaWxlIGxlbmd0aCB0byBhdm9pZAogICAzIHN5c3RlbSBjYWxscyBwZXIgaW52b2NhdGlvbiAoQ0FTU0FORFJBLTk1MCkKICogbm9kZXNL5WClAAABT948slwAEDMwNjQpCiAqIEFkZCAiaW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILc0AAAEAOTMpCiAqIEltcHJvdmUgZGVmYXVsdCBnYXJiYWdlIGNvbGxlY3RvciBvcHRpb25zIChDQVNTQU5EUkEtNTA0KQogKiBBZGQgIm5vZGVwcm9iZSBmbHVzaCIgKENBU1NBTkRSQS01MDUpCiAqIHJlbW92ZSBOb3RGb3VuZEV4Y2VwdGlvbiBmcm9tIGdldF9zbGljZSB0aHJvd3MgbGlzdCAoQ0FTU0FORFJBLTUxOCkKICogZml4IGdldCAobm90IGdldF9zbGljZSkgb2YgZW50aXJlIHN1cGVyY29sdW1uIChDQVNTQU5EUkEtNTA4KQogKiBmaXggbnVsbCB0b2pMM2sAEUPHYDkGCAAAAU/ePLJcABAgcmVxdWVzdCBzY2hlZHVsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3QAAABAGxvY2FsIENBUyAoQ0FTU0FORFJBLTU3OTcpCiAqIEFkZCBhIG5hdGl2ZV9wcm90b2NvbF92ZXJzaW9uIGNvbHVtbiB0byB0aGUgc3lzdGVtLmxvY2FsIHRhYmxlIChDQVNTQU5SREEtNTgxOSkKICogVXNlIGluZGV4X2ludGVydmFsIGZyb20gY2Fzc2FuZHJhLnlhbWwgd2hlbiB1cGdyYWRlZCAoQ0FTU0FORFJBLTU4MjIpCiAqIEZpeCBidWZmZXIgdW5kZXJmbG93IG9uIHNvY2tldCBjbG9zZSAoQ0FTU0FORFJBLTU3OTIpCk1lcmdlZCBmcm9tIDEuMjpZyy5/AAABT948slwAEGl0Y2ggdG8gVGhyaWZ0IEEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdAAAAEAc2lwZXIgbG9ncyBET1dOIGZvciBzeW1tZXRyeSB3aXRoIFVQIChDQVNTQU5EUkEtNTE4NykKICogRml4IG1peGluZyBwcmVwYXJlZCBzdGF0ZW1lbnRzIGJldHdlZW4ga2V5c3BhY2VzIChDQVNTQU5EUkEtNTM1MikKICogRml4IGNvbnNpc3RlbmN5IGxldmVsIGR1cmluZyBib290c3RyYXAgLSBzdHJpa2UgMyAoQ0FTU0FORFJBLTUzNTQpCiAqIEZpeCB0cmFuc3Bvc2VkIGFyZ3VtZW50cyBpbiBBbHJlYWR5RXhpc3RzRXhjZXB0aW9uIChDQVNTQU5EUpWWjhEAAAFP3jyyXAAQKiBmaXggRkQgbGVhayBpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt0AAAAQBlIGRlZmF1bHQgKENBU1NBTkRSQS0xOTYwKQogKiBjb25maWd1cmFibGUgaW50ZXJub2RlIGVuY3J5cHRpb24gKENBU1NBTkRSQS0xNTY3LCAyMTUyKQogKiBodW1hbiByZWFkYWJsZSBjb2x1bW4gbmFtZXMgaW4gc3N0YWJsZTJqc29uIG91dHB1dCAoQ0FTU0FORFJBLTE5MzMpCiAqIGNoYW5nZSBkZWZhdWx0IEpNWCBwb3J0IHRvIDcxOTkgKENBU1NBTkRSQS0yMDI3KQogKiBiYWNrd2FyZHMgY29tcGF0aWJsZSBpbnRlcm5hbCBtZXNzYWdpbmcgKENBl4vWzgAAAU/ePLJcABBhIGlzIHByZXNlbnQgaW4gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3QAAABAHRlbiBub2RlIHN0YWJpbGl0eSwgYW5kIC14IG9wdGlvbiB0bwogICBiZSBhYmxlIHRvIHJlbW92ZSB0aGVtIHdpdGggc3N0YWJsZTJqc29uIGlmIHRoZSB3YXJuaW5nIGlzIHVuaGVlZGVkCiAgIHVudGlsIGl0J3MgdG9vIGxhdGUgKENBU1NBTkRSQS04NDMpCiAqIEFkZCBsb2dnaW5nIG9mIEdDIGFjdGl2aXR5IChDQVNTQU5EUkEtODEzKQogKiBmaXggQ29uY3VycmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlvbiBpbiBjb21taXRsb2cgZGlzY2FyZCAoQ0EBl4VUAAABT948slwAEG5vbi1mYXRhbCAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdAAAAEAZCBDUUwzLWJhc2VkIGltcGxlbWVudGF0aW9ucyBvZiBJQXV0aGVudGljYXRvciBhbmQgSUF1dGhvcml6ZXIKICAgKENBU1NBTkRSQS00ODk4KQogKiBGaXggdGltZXN0YW1wLWJhc2VkIHRvbXN0b25lIHJlbW92YWwgbG9naWMgKENBU1NBTkRSQS01MjQ4KQogKiBjbGk6IEFkZCBKTVggYXV0aGVudGljYXRpb24gc3VwcG9ydCAoQ0FTU0FORFJBLTUwODApCiAqIEZpeCBmb3JjZUZsdXNoIGJlaGF2aW9yIChDQVNTQU5EUkEtNTI0MSkKICogY3Fsc2g6ICLz+VAAAAFP3jyyXAAQYnN0b25lZCBjZWxscyB0bwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt0AAAAQBlIGZvciByZXBhaXIgKENBU1NBTkRSQS02MDk3KQogKiAoSGFkb29wKSBGZXRjaCBubyBtb3JlIHRoYW4gMTI4IHNwbGl0cyBpbiBwYXJhbGxlbCAoQ0FTU0FORFJBLTYxNjkpCiAqIHN0cmVzczogYWRkIHVzZXJuYW1lL3Bhc3N3b3JkIGF1dGhlbnRpY2F0aW9uIHN1cHBvcnQgKENBU1NBTkRSQS02MDY4KQogKiBGaXggaW5kZXhlZCBxdWVyaWVzIHdpdGggcm93IGNhY2hlIGVuYWJsZWQgb24gcGFyZW50IHRhYmxlIChDQVNTQU5EUkEtNTczMikKICogkK8wTwAAAU/ePLJcABB2YWwgY2hhbmdlIGluIEFMAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3QAAABAEEtOTA4NSkKCgoyLjEuMwogKiBGaXggSFNIQS9vZmZoZWFwX29iamVjdHMgY29ycnVwdGlvbiAoQ0FTU0FORFJBLTg3MTkpCiAqIFVwZ3JhZGUgbGlidGhyaWZ0IHRvIDAuOS4yIChDQVNTQU5EUkEtODY4NSkKICogRG9uJ3QgdXNlIHRoZSBzaGFyZWQgcmVmIGluIHNzdGFibGVsb2FkZXIgKENBU1NBTkRSQS04NzA0KQogKiBQdXJnZSBpbnRlcm5hbCBwcmVwYXJlZCBzdGF0ZW1lbnRzIGlmIHJlbGF0ZWQgdGFibGVzIG9yCiAgIGtleXNwYWNlcyBhcmXHa3qdAAABT948slwAEHJhY2VTZWNvbmRzIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdAAAAEAZXJpbmcKICAgY29sdW1ucyAoQ0FTU0FORFJBLTgyNzUpCiAqIEZpeCBtZW1vcnkgbGVhayBpbiBTU1RhYmxlU2ltcGxlKldyaXRlciBhbmQgU1NUYWJsZVJlYWRlci52YWxpZGF0ZSgpCiAgIChDQVNTQU5EUkEtODc0OCkKICogVGhyb3cgT09NIGlmIGFsbG9jYXRpbmcgbWVtb3J5IGZhaWxzIHRvIHJldHVybiBhIHZhbGlkIHBvaW50ZXIgKENBU1NBTkRSQS04NzI2KQogKiBGaXggU1NUYWJsZVNpbXBsZVVuc29ydGVkV3JpdGVyIENvbmN1cnJlbnRNb3rBg14AAAFP3jyyXAAQKiBpbmNyZWFzZSBkZWZhdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt0AAAAQBib290c3RyYXAgKENBU1NBTkRSQS01MDEpCgoKMC40LjEKICogRml4IEZsdXNoUGVyaW9kIGNvbHVtbmZhbWlseSBjb25maWd1cmF0aW9uIHJlZ3Jlc3Npb24KICAgKENBU1NBTkRSQS00NTUpCiAqIEZpeCBsb25nIGNvbHVtbiBuYW1lIHN1cHBvcnQgKENBU1NBTkRSQS00NjApCiAqIEZpeCBmb3Igc2VyaWFsaXppbmcgYSByb3cgdGhhdCBvbmx5IGNvbnRhaW5zIHRvbWJzdG9uZXMKICAgKENBU1NBTkRSQS00NTgpCiAqIEZpeCBmb3IgZGlzY2FyZGluuzijlgAAAU/ePLJcABAgKiBhbGxvdyBtdWx0aXBsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3QAAABAHF1ZXJpZXMgKENBU1NBTkRSQS01NzEyKQogKiBFeHBpcmUgZW50cmllcyBvdXQgb2YgVGhyaWZ0U2Vzc2lvbk1hbmFnZXIgKENBU1NBTlJEQS01NzE5KQogKiBEb24ndCBrZWVwIGFuY2VzdG9yIGluZm9ybWF0aW9uIGluIG1lbW9yeSAoQ0FTU0FORFJBLTUzNDIpCiAqIGNxbHNoOiBmaXggaGFuZGxpbmcgb2Ygc2VtaWNvbG9ucyBpbnNpZGUgQkFUQ0ggcXVlcmllcyAoQ0FTU0FORFJBLTU2OTcpCgoKMS4yLjYKICogRml4IHRyYWNpbmcgd2hlbiBvcGVC3lCiAAABT948slwAEDkpCiAqIGZpeCBzdHJlc3MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdAAAAEAaGF0IGFyZSBsb2NhbAogICB0byB0aGUgY29vcmRpbmF0b3IgKENBU1NBTkRSQS03NTk5KQogKiBTZXQgLURjYXNzYW5kcmEuc3RvcmFnZWRpciBmb3IgYWxsIHRvb2wgc2hlbGwgc2NyaXB0cyAoQ0FTU0FORFJBLTc1ODcpCiAqIERvbid0IHN3YXAgbWF4L21pbiBjb2wgbmFtZXMgd2hlbiBtdXRhdGluZyBzc3RhYmxlIG1ldGFkYXRhIChDQVNTQU5EUkEtNzU5NikKICogKGNxbHNoKSBDb3JyZWN0bHkgaGFuZGxlIHBhZ2VkIHJlc3VsdCBzZXRzIChDQVYJ/X4AAAFP3jyyXAAQZGluZyBpbmRleCBzdW1tYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt0AAAAQBwcm92ZSBQYXNzd29yZEF1dGhlbnRpY2F0b3IgZGVmYXVsdCBzdXBlciB1c2VyIHNldHVwIChDQVNTQU5EUkEtNzc4OCkKCgoyLjEuMAogKiAoY3Fsc2gpIFJlbW92ZWQgIkFMVEVSIFRZUEUgPG5hbWU+IFJFTkFNRSBUTyA8bmFtZT4iIGZyb20gdGFiLWNvbXBsZXRpb24KICAgKENBU1NBTkRSQS03ODk1KQogKiBGaXhlZCBJbGxlZ2FsU3RhdGVFeGNlcHRpb24gaW4gYW50aWNvbXBhY3Rpb24gKENBU1NBTkRSQS03ODkyKQogKiBjcWxzaDogREVTQ1JJEnX94AAAAU/ePLJcABB0eSBhbmQgbm9uIGNsZWFuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3QAAABAGZvciBub24tUEsgY29scyAoQ0FTU0FORFJBLTQ3MDkpCiAqIGZpeCByZS1jcmVhdGVkIGtleXNwYWNlIGRpc2FwcGVyaW5nIGFmdGVyIDEuMS41IHVwZ3JhZGUgCiAgIChDQVNTQU5EUkEtNDY5OCwgNDc1MikKICogKENMSSkgZGlzcGxheSBlbGFwc2VkIHRpbWUgaW4gMiBmcmFjdGlvbiBkaWdpdHMgKENBU1NBTkRSQS0zNDYwKQogKiBhZGQgYXV0aGVudGljYXRpb24gc3VwcG9ydCB0byBzc3RhYmxlbG9hZGVyIChDQVNTQU5EUkEtNDcxMikKICogRmlb6eP/AAABT948slwAEC5sYW5nLkFzc2VydGlvbkUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdAAAAEAbGllcwogICAoQ0FTU0FORFJBLTY4NjcpCiAqIEFkZCBDcWxSZWNvcmRSZWFkZXIgdXNpbmcgbmF0aXZlIHBhZ2luYXRpb24gKENBU1NBTkRSQS02MzExKQogKiBBZGQgUXVlcnlIYW5kbGVyIGludGVyZmFjZSAoQ0FTU0FORFJBLTY2NTkpCiAqIFRyYWNrIGxpdmVSYXRpbyBwZXItbWVtdGFibGUsIG5vdCBwZXItQ0YgKENBU1NBTkRSQS02OTQ1KQogKiBNYWtlIHN1cmUgdXBncmFkZXNzdGFibGVzIGtlZXBzIHNzdGFibGUgbGV2ZWwgKENBU1NBTkRSQfyHDacAAAFP3jyyXAAQIEJvb2xlYW5UeXBlIHZhbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt0AAAAQB0YSByZWFkcyBhdCBMT0NBTF9TRVJJQUwgKENBU1NBTkRSQS02OTM5KQogKiBMb2cgYSB3YXJuaW5nIGZvciBsYXJnZSBiYXRjaGVzIChDQVNTQU5EUkEtNjQ4NykKICogUHV0IG5vZGVzIGluIGhpYmVybmF0ZSB3aGVuIGpvaW5fcmluZyBpcyBmYWxzZSAoQ0FTU0FORFJBLTY5NjEpCiAqIEF2b2lkIGVhcmx5IGxvYWRpbmcgb2Ygbm9uLXN5c3RlbSBrZXlzcGFjZXMgYmVmb3JlIGNvbXBhY3Rpb24tbGVmdG92ZXJzIAogICBjbGVhbnVwIGF0IHN0YXJ0FLvUHwARWCQBFv32AAABT948slwAEGlvbiBERUxFVEUgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdIAAAEACiAqIHVzZSA2NEtCIGZsdXNoIGJ1ZmZlciBpbnN0ZWFkIG9mIGluX21lbW9yeV9jb21wYWN0aW9uX2xpbWl0IChDQVNTQU5EUkEtMjQ2MykKICogZml4IGJhY2tzbGFzaCBzdWJzdGl0dXRpb25zIGluIENMSSAoQ0FTU0FORFJBLTI0OTIpCiAqIGRpc2FibGUgY2FjaGUgc2F2aW5nIGZvciBzeXN0ZW0gQ0ZTIChDQVNTQU5EUkEtMjUwMikKICogZml4ZXMgZm9yIHZlcmlmeWluZyBkZXN0aW5hdGlvbiBhdmFpbGFiaWxpdHkgdW5kZXIgaGludGVkIGNvbmNY4iUAAAFP3jyyXAAQIG9wdGlvbiAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt0gAAAQByYXAgKENBU1NBTkRSQS00MTU5KQogKiBmaXggc3RyZXNzIHRvb2wgdGhhdCBoYW5ncyBmb3JldmVyIG9uIHRpbWVvdXQgb3IgZXJyb3IgKENBU1NBTkRSQS00MTI4KQogKiBGaXggc3VwZXIgY29sdW1ucyBidWcgd2hlcmUgY2FjaGUgaXMgbm90IHVwZGF0ZWQgKENBU1NBTkRSQS00MTkwKQogKiBzdHJlc3MgdG9vbCB0byByZXR1cm4gYXBwcm9wcmlhdGUgZXhpdCBjb2RlIG9uIGZhaWx1cmUgKENBU1NBTkRSQS00MTg4KQoKCjEuMC45CiAqIGltcHJvyhf/GwAAAU/ePLJcABBvYnVzdCB0byBmYWlsdXJlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3SAAABADY1MzEpCiAqIFZhbGlkYXRlIENGIGV4aXN0ZW5jZSBvbiBleGVjdXRpb24gZm9yIHByZXBhcmVkIHN0YXRlbWVudCAoQ0FTU0FORFJBLTY1MzUpCiAqIEFkZCBhYmlsaXR5IHRvIHRocm90dGxlIGJhdGNobG9nIHJlcGxheSAoQ0FTU0FORFJBLTY1NTApCiAqIEZpeCBleGVjdXRpbmcgTE9DQUxfUVVPUlVNIHdpdGggU2ltcGxlU3RyYXRlZ3kgKENBU1NBTkRSQS02NTQ1KQogKiBBdm9pZCBTdGFja092ZXJmbG93IHdoZW4gdXNpbmcgbGFyZ2UgSU4gcXWZHNOjAAABT948slwAEFNTQU5EUkEtODYwOCkKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdIAAAEAYXJ0dXAgaWYgbmVlZGVkIChDQVNTQU5EUkEtMjYzOCkKICogZml4IGNvdW50ZXIgaW5jcmVtZW50IGxvc3QgYWZ0ZXIgcmVzdGFydCAoQ0FTU0FORFJBLTI2NDIpCiAqIGFkZCBxdW90ZS1lc2NhcGluZyB2aWEgYmFja3NsYXNoIHRvIENMSSAoQ0FTU0FORFJBLTI2MjMpCiAqIGZpeCBwaWcgZXhhbXBsZSBzY3JpcHQgKENBU1NBTkRSQS0yNDg3KQogKiBmaXggZHluYW1pYyBzbml0Y2ggcmFjZSBpbiBhZGRpbmcgbGF0ZW5jaWVzIChDQVNTQU5EUkEtMqVEK98AAAFP3jyyXAAQMzM4KQogKiBzdHJlYW1pbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt0gAAAQBvbi1qYW1tIHBhdGggZm9yIGNhY2hlZCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNjI5MykKICogYWRkIHdpbmRvd3MgYmF0IGZpbGVzIGZvciBzaGVsbCBjb21tYW5kcyAoQ0FTU0FORFJBLTYxNDUpCiAqIFJlcXVpcmUgbG9nZ2luZyBpbiBmb3IgVGhyaWZ0IENRTDIvMyBzdGF0ZW1lbnQgcHJlcGFyYXRpb24gKENBU1NBTkRSQS02MjU0KQogKiByZXN0cmljdCBtYXhfbnVtX3Rva2VucyB0byAxNTM2IChDQVNTQU5EUkEtNjI2NykKICogTm9kZXRvb2wgFnGL4AAAAU/ePLJcABBlcGxhY2UgSUF1dGhvcml0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3SAAABADQxKQogKiBGaXggSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIGR1cmluZyBwcmVwYXJlIChDQVNTQU5EUkEtNjU5MikKICogRml4IHBvc3NpYmxlIGxvc3Mgb2YgMm5kYXJ5IGluZGV4IGVudHJpZXMgZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS02NTE3KQogKiBGaXggZGlyZWN0IE1lbW9yeSBvbiBhcmNoaXRlY3R1cmVzIHRoYXQgZG8gbm90IHN1cHBvcnQgdW5hbGlnbmVkIGxvbmcgYWNjZXNzCiAgIChDQVNTQU5EUkEtNjYyOCkKICogTGV0IHMFm7fjAAABT948slwAEG5kIHJ1biB0aHJvdWdoIGMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdIAAAEAdXJpbmcgbWFwcmVkdWNlIChDQVNTQU5EUkEtMTE0MikKICogZmFpbHVyZSBkZXRlY3Rpb24gd2Fzbid0IGNsb3NpbmcgY29tbWFuZCBzb2NrZXRzIChDQVNTQU5EUkEtMTIyMSkKICogY2Fzc2FuZHJhLWNsaS5iYXQgd29ya3Mgb24gd2luZG93cyAoQ0FTU0FORFJBLTEyMzYpCiAqIHByZS1lbXB0aXZlbHkgZHJvcCByZXF1ZXN0cyB0aGF0IGNhbm5vdCBiZSBwcm9jZXNzZWQgd2l0aGluIFJQQ1RpbWVvdXQKICAgKENBU1NBTkRSQS02ODUpCiAqIGFkZJN3A1MAAAFP3jyyXAAQU0FORFJBLTQ5NDUpCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt0gAAAQAgKiBDaGFuZ2UgY2FjaGluZyBvcHRpb24gc3ludGF4IChDQVNTQU5EUkEtNjc0NSkKICogRml4IHN0cmVzcyB0byBkbyBwcm9wZXIgY291bnRlciByZWFkcyAoQ0FTU0FORFJBLTY4MzUpCiAqIEZpeCBoZWxwIG1lc3NhZ2UgZm9yIHN0cmVzcyBjb3VudGVyX3dyaXRlIChDQVNTQU5EUkEtNjgyNCkKICogRml4IHN0cmVzcyBzbWFydCBUaHJpZnQgY2xpZW50IHRvIHBpY2sgc2VydmVycyBjb3JyZWN0bHkgKENBU1NBTkRSQS02ODQ4KQogKiBBZGQgbG9nAtTdbwAAAU/ePLJcABB4IFNlY29uZGFyeUluZGV4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3SAAABAGJlIGRvbmUgbWFudWFsbHksIGlmIG5lY2Vzc2FyeSAoQ0FTU0FORFJBLTExNDEpCiAqIGRvbid0IHJlamVjdCByZWFkcyBhdCBDTC5BTEwgKENBU1NBTkRSQS0xMTUyKQogKiByZWplY3QgZGVsZXRpb25zIHRvIHN1cGVyY29sdW1ucyBpbiBDRnMgY29udGFpbmluZyBvbmx5IHN0YW5kYXJkCiAgIGNvbHVtbnMgKENBU1NBTkRSQS0xMTM5KQogKiBhdm9pZCBwcmVzZXJ2aW5nIGxvZ2luIGluZm9ybWF0aW9uIGFmdGVyIGNsaWVudCBkaXNjb25uZWN0cwr4QGd0AAABT948slwAECAqIFJlZnVzZSBQYXhvcyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdIAAAEAYmlsaXR5IGZvciBDUUwzIHRvIGxpc3QgcGFydGl0aW9uIGtleXMgKENBU1NBTkRSQS00NTM2KQogKiBJbXByb3ZlIG5hdGl2ZSBwcm90b2NvbCBzZXJpYWxpemF0aW9uIChDQVNTQU5EUkEtNTY2NCkKICogVXBncmFkZSBUaHJpZnQgdG8gMC45LjEgKENBU1NBTkRSQS01OTIzKQogKiBSZXF1aXJlIHN1cGVydXNlciBzdGF0dXMgZm9yIGFkZGluZyB0cmlnZ2VycyAoQ0FTU0FORFJBLTU5NjMpCiAqIE1ha2Ugc3RhbmRhbG9uZSBzY3J1YmJlciBoYW5kbO2s/bQAAAFP3jyyXAAQa2VyCiAgIGhhcyBub3QgKAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt0gAAAQBMSE0gbGlicmFyeSAoQ0FTU0FORFJBLTQwNSkKICogdXBkYXRlIG5vbi1tYWpvciBjb21wYWN0aW9uIGxvZ2ljIHRvIHVzZSB0d28gdGhyZXNob2xkIHZhbHVlcwogICAoQ0FTU0FORFJBLTQwNykKICogYWRkIHBlcmlvZGljIC8gYmF0Y2ggY29tbWl0bG9nIHN5bmMgbW9kZXMgKHNldmVyYWwgdGlja2V0cykKICogaW5saW5lIEJhdGNoTXV0YXRpb24gaW50byBiYXRjaF9pbnNlcnQgcGFyYW1zIChDQVNTQU5EUkEtNDAzKQogKiBhbGxvdyBzZXR0aW5nUuPqxwAAAU/ePLJcABBwdGlvbjogd2hlbiBlbmFiAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3SAAABADkwOTgpCiAqIEltcHJvdmUgbm9kZXRvb2wgZ2V0ZW5kcG9pbnRzIGRvY3VtZW50YXRpb24gYWJvdXQgdGhlIHBhcnRpdGlvbgogICBrZXkgcGFyYW1ldGVyIChDQVNTQU5EUkEtNjQ1OCkKICogRG9uJ3QgY2hlY2sgb3RoZXIga2V5c3BhY2VzIGZvciBzY2hlbWEgY2hhbmdlcyB3aGVuIGFuIHVzZXItZGVmaW5lZAogICB0eXBlIGlzIGFsdGVyZWQgKENBU1NBTkRSQS05MTg3KQogKiBBbGxvdyB0YWtlQ29sdW1uRmFtaWx5U25hcHNob3QgdG8gdGFrZSBIiC+vAAABT948slwAEGUgb2YgQ09QWSBGUk9NICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdIAAAEAQ0FTU0FORFJBLTI1MTIpCiAqIHN1cHBvcnQgTE9DQUxfUVVPUlVNLCBFQUNIX1FVT1JVTSBDTHMgb3V0c2lkZSBvZiBOVFMgKENBU1NBTkRSQS0yNTE2KQogKiBwcmVzZXJ2ZSB2ZXJzaW9uIHdoZW4gc3RyZWFtaW5nIGRhdGEgZnJvbSBvbGQgc3N0YWJsZXMgKENBU1NBTkRSQS0yMjgzKQogKiBmaXggYmFja3NsYXNoIHN1YnN0aXR1dGlvbnMgaW4gQ0xJIChDQVNTQU5EUkEtMjQ5MikKICogY291bnQgYSByb3cgZGVsZXRpb24gYXMgb25lIG9wZXJhdHKkWfoAAAFP3jyyXAAQcmVzc2VkU2VxdWVudGlhbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt0gAAAQBKREJDIFJlc3VsdFNldE1ldGFkYXRhIHByb3BlcnRpZXMgYWRkZWQgdG8gQWJzdHJhY3RUeXBlCiAqIHIvbSBjbHVzdGVydG9vbCAoQ0FTU0FORFJBLTI2MDcpCiAqIGFkZCBzdXBwb3J0IGZvciBwcmVzZW50aW5nIHJvdyBrZXkgYXMgYSBjb2x1bW4gaW4gQ1FMIHJlc3VsdCBzZXRzIAogICAoQ0FTU0FORFJBLTI2MjIpCiAqIERvbid0IGFsbG93IHtMT0NBTHxFQUNIfV9RVU9SVU0gdW5sZXNzIHN0cmF0ZWd5IGlzIE5UUyAoQ0FTU0FORFJBLTI2MjcpF8S/VwAAAU/ePLJcABBGaXggZm9ybWF0dGluZyBvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3SAAABACgpIChDQVNTQU5EUkEtNTI0MikKICogUmVwbGFjZSBtaXN0YWtlbiB1c2FnZSBvZiBjb21tb25zLWxvZ2dpbmcgd2l0aCBzbGY0aiAoQ0FTU0FORFJBLTU0NjQpCiAqIEVuc3VyZSBKYWNrc29uIGRlcGVuZGVuY3kgbWF0Y2hlcyBsaWIgKENBU1NBTkRSQS01MTI2KQogKiBFeHBvc2UgZHJvcHBhYmxlIHRvbWJzdG9uZSByYXRpbyBzdGF0cyBvdmVyIEpNWCAoQ0FTU0FORFJBLTUxNTkpCk1lcmdlZCBmcm9tIDEuMToKICogU2ltcGxpZnkgQ29tcHJlc3MSw1ApABFsgZEjha4AAAFP3jyyXAAQIChDQVNTQU5EUkEtNzU5OQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt1AAAAQBTU0FORFJBLTc5ODMpCiAqIEZpeCB1bml0IGluIG5vZGV0b29sIGZvciBzdHJlYW1pbmcgdGhyb3VnaHB1dCAoQ0FTU0FORFJBLTczNzUpCk1lcmdlZCBmcm9tIDEuMjoKICogRG9uJ3QgaW5kZXggdG9tYnN0b25lcyAoQ0FTU0FORFJBLTc4MjgpCiAqIEltcHJvdmUgUGFzc3dvcmRBdXRoZW50aWNhdG9yIGRlZmF1bHQgc3VwZXIgdXNlciBzZXR1cCAoQ0FTU0FORFJBLTc3ODgpCgoKMi4xLjAKICogKGNxbHNoKSBSZW1vdmVkICJBTFRFUiBUWVBFIDxupdrFBQAAAU/ePLJcABBrYWdlIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3UAAABACB1c2Ugb2YgTkJITS5zaXplIGluIFJlYWRDYWxsYmFjayB0aGF0IGNvdWxkIGNhdXNlCiAgIHJlYWRzIHRvIHRpbWUgb3V0IGV2ZW4gd2hlbiByZXNwb25zZXMgd2VyZSByZWNlaXZlZCAoQ0FTU0FORFJBLTI1NTIpCiAqIHRyaWdnZXIgcmVhZCByZXBhaXIgY29ycmVjdGx5IGZvciBMT0NBTF9RVU9SVU0gcmVhZHMgKENBU1NBTkRSQS0yNTU2KQogKiBBbGxvdyBjb25maWd1cmluZyB0aGUgbnVtYmVyIG9mIGNvbXBhY3Rpb24gdGhyZWFkIChDQVNTQU5PTXvmAAABT948slwAECAgIHF1ZXJpZXMgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdQAAAEAQS02NDgzKQogKiBGaXggcm93IHRvbWJzdG9uZXMgaW4gbGFyZ2VyLXRoYW4tbWVtb3J5IGNvbXBhY3Rpb25zIChDQVNTQU5EUkEtNjAwOCkKICogRml4IGNsZWFudXAgQ2xhc3NDYXN0RXhjZXB0aW9uIChDQVNTQU5EUkEtNjQ2MikKICogUmVkdWNlIGdvc3NpcCBtZW1vcnkgdXNlIGJ5IGludGVybmluZyBWZXJzaW9uZWRWYWx1ZSBzdHJpbmdzIChDQVNTQU5EUkEtNjQxMCkKICogQWxsb3cgc3BlY2lmeWluZyBkYXRhY2VudGVycyB0byBwYXJ0aWNpcJ6DQEsAAAFP3jyyXAAQb3JzIG9uIHJlYWRzIHdpdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt1AAAAQAgKiBhZGQgQ0wuVFdPLCBDTC5USFJFRSAoQ0FTU0FORFJBLTIwMTMpCiAqIGF2b2lkIGV4cG9ydGluZyBhbiB1bi1yZXF1ZXN0ZWQgcm93IGluIHNzdGFibGUyanNvbiwgd2hlbiBleHBvcnRpbmcgCiAgIGEga2V5IHRoYXQgZG9lcyBub3QgZXhpc3QgKENBU1NBTkRSQS0yMTY4KQogKiBhZGQgaW5jcmVtZW50YWxfYmFja3VwcyBvcHRpb24gKENBU1NBTkRSQS0xODcyKQogKiBhZGQgY29uZmlndXJhYmxlIHJvdyBsaW1pdCB0byBQaWcgbG9hZGZ1bmMgdDjyDQAAAU/ePLJcABBSIEJZJyAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3UAAABAGxheSBDTEkgdmVyc2lvbiBzdHJpbmcgb24gc3RhcnR1cCAoQ0FTU0FORFJBLTMxOTYpCiAqIChIYWRvb3ApIG1ha2UgQ0ZJRiB0cnkgcnBjX2FkZHJlc3Mgb3IgZmFsbGJhY2sgdG8gbGlzdGVuX2FkZHJlc3MKICAgKENBU1NBTkRSQS0zMjE0KQogKiAoSGFkb29wKSBhY2NlcHQgY29tbWEgZGVsaW1pdGVkIGxpc3RzIG9mIGluaXRpYWwgdGhyaWZ0IGNvbm5lY3Rpb25zCiAgIChDQVNTQU5EUkEtMzE4NSkKICogQ29sdW1uRmFtaWx5IG1pbl9jb21wYWM4nfMkAAABT948slwAEDg0MTUpCiAqIEJUcmVlIHUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdQAAAEAdGVyIGNoZWNraW5nIG9mIFVURjggY29sdW1uIG5hbWVzCiAgIChDQVNTQU5EUkEtMTIzMikKICogZXh0ZW5kIG9wdGlvbiB0byBsb3dlciBjb21wYWN0aW9uIHByaW9yaXR5IHRvIGhpbnRlZCBoYW5kb2ZmCiAgIGFzIHdlbGwgKENBU1NBTkRSQS0xMjYwKQogKiBsb2cgZXJyb3JzIGluIGdvc3NpcCBpbnN0ZWFkIG9mIHJlLXRocm93aW5nIChDQVNTQU5EUkEtMTI4OSkKICogYXZvaWQgYWJvcnRpbmcgY29tbWl0bG9nIHJlcGxheSBwcmVtYXR1cmVseQQWqZYAAAFP3jyyXAAQZml4IGNxbHNoIERFU0NSSQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt1AAAAQAzMzApCiAqIGZpeCBtb3Zpbmcgbm9kZXMgd2l0aCBubyBrZXlzcGFjZXMgZGVmaW5lZCAoQ0FTU0FORFJBLTE1NzQpCiAqIGZpeCB1bmJvb3RzdHJhcCB3aGVuIG5vIGRhdGEgaXMgcHJlc2VudCBpbiBhIHRyYW5zZmVyIHJhbmdlIChDQVNTQU5EUkEtMTU3MykKICogdGFrZSBhZHZhbnRhZ2Ugb2YgQVZSTy00OTUgdG8gc2ltcGxpZnkgb3VyIGF2cm8gSURMIChDQVNTQU5EUkEtMTQzNikKICogZXh0ZW5kIGF1dGhvcml6YXRpb24gaGllcmFyY2h5IHRvgw8DPAAAAU/ePLJcABB2ZXJzZWRUeXBlIChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3UAAABAGlvbiBpbiBMQ1MgTDAgKENBU1NBTkRSQS02NDk2KQogKiBGaXggYXNzZXJ0aW9uIGZhaWx1cmUgaW4gZmlsdGVyQ29sZFNTVGFibGVzIChDQVNTQU5EUkEtNjQ4MykKICogRml4IHJvdyB0b21ic3RvbmVzIGluIGxhcmdlci10aGFuLW1lbW9yeSBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTYwMDgpCiAqIEZpeCBjbGVhbnVwIENsYXNzQ2FzdEV4Y2VwdGlvbiAoQ0FTU0FORFJBLTY0NjIpCiAqIFJlZHVjZSBnb3NzaXAgbWVtb3J5IHVzZSBieSBpbnRlcm5ylKEZAAABT948slwAEDIwNTgpCiAqIGZpeCBtYXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdQAAAEAUi0yNDE4KQogKiBpbnZhbGlkYXRlIHJvdyBjYWNoZSBmb3Igc3RyZWFtZWQgcm93IHRvIGF2b2lkIGluY29uc2l0ZW5jaWVzCiAgIChDQVNTQU5EUkEtMjQyMCkKICogYXZvaWQgY29waWVzIGluIHJhbmdlL2luZGV4IHNjYW5zIChDQVNTQU5EUkEtMjQyNSkKICogbWFrZSBzdXJlIHdlIGRvbid0IHdpcGUgZGF0YSBkdXJpbmcgY2xlYW51cCBpZiB0aGUgbm9kZSBoYXMgbm90IGpvaW4KICAgdGhlIHJpbmcgKENBU1NBTkRSQS0yNDI4KQogKiBUcnkgaCGdnVEAAAFP3jyyXAAQMjAxNykKICogQ0xJIGF0dAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt1AAAAQAgb2YgTElTVCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtODM3MCkKICogTWFrZSBzc3RhYmxlc2NydWIgY2hlY2sgbGV2ZWxlZCBtYW5pZmVzdCBhZ2FpbiAoQ0FTU0FORFJBLTg0MzIpCiAqIENoZWNrIGZpcnN0L2xhc3Qga2V5cyBpbiBzc3RhYmxlIHdoZW4gZ2l2aW5nIG91dCBwb3NpdGlvbnMgKENBU1NBTkRSQS04NDU4KQogKiBEaXNhYmxlIG1tYXAgb24gV2luZG93cyAoQ0FTU0FORFJBLTY5OTMpCiAqIEFkZCBtaXNzaW5nIENvbnNpc3RlbmN5TGV26fCvGwAAAU/ePLJcABBsCiAgIHdoZW4gYXV0aGVuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3UAAABAEFTU0FORFJBLTUxMzApCiAqIENvdmVyYWdlIGFuYWx5c2lzIGZvciBsb3ctQ0wgcXVlcmllcyAoQ0FTU0FORFJBLTQ4NTgpCiAqIFN0b3AgaW50ZXJwcmV0aW5nIGRhdGVzIGFzIHZhbGlkIHRpbWVVVUlEIHZhbHVlIChDQVNTQU5EUkEtNDkzNikKICogQWRkcyBFIG5vdGF0aW9uIGZvciBmbG9hdGluZyBwb2ludCBudW1iZXJzIChDQVNTQU5EUkEtNDkyNykKICogRGV0ZWN0IChhbmQgd2FybikgdW5pbnRlbnRpb25hbCB1c2Ugb2YgdGhlIGNxbDIgdGjE9M80AAABT948slwAEGl6ZSBvZiB0aGUgS2V5Q2EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdQAAAEAbHVzaCBtZW10YWJsZXMpCiAqIFJlbmFtZSBjb25maWd1cmF0aW9uICJ0YWJsZSIgdG8gImtleXNwYWNlIgogKiBNb3ZlZCB0byBjcmFzaC1vbmx5IGRlc2lnbjsgbm8gbW9yZSBzaHV0ZG93biAoanVzdCBraWxsIHRoZSBwcm9jZXNzKQogKiBMb3RzIG9mIGJ1ZyBmaXhlcwoKRnVsbCBsaXN0IG9mIGlzc3VlcyByZXNvbHZlZCBpbiAwLjQgaXMgYXQgaHR0cHM6Ly9pc3N1ZXMuYXBhY2hlLm9yZy9qaXJhL3NlY3VyZS9Jc3N1ZU5hdmlnYXRvci5qc3BhPxV6hsMAAAFP3jyyXAAQdXJpbmcgbm9kZXRvb2wgcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt1AAAAQBsaWNhcyB0byB6ZXJvIChDQVNTQU5EUkEtNDY3NSkKICogdXNlIGRlZmF1bHQgY29uc2lzdGVuY3kgbGV2ZWwgaW4gY291bnRlciB2YWxpZGF0aW9uIGlmIG5vbmUgaXMKICAgZXhwbGljaXRseSBwcm92aWRlIChDQVNTQU5EUkEtNDcwMCkKICogSW1wcm92ZSBJQXV0aG9yaXR5IGludGVyZmFjZSBieSBpbnRyb2R1Y2luZyBmaW5lLWdyYWluZWQKICAgYWNjZXNzIHBlcm1pc3Npb25zIGFuZCBncmFudC9yZXZva2UgY29tbWFuZHMgKENBU1NBTkRSQS009JUSlAAAAU/ePLJcABAgaW5zdGVhZCBvZiBjb3VuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3UAAABAG5nIHNldCBlbGVtZW50IGRlbGV0aW9uIChDQVNTQU5EUkEtNjM0MSkKICogTWFrZSBDTCBjb2RlIGZvciB0aGUgbmF0aXZlIHByb3RvY29sIG1hdGNoIHRoZSBvbmUgaW4gQyogMi4wCiAgIChDQVNTQU5EUkEtNjM0NykKICogRGlzYWxsb3cgYWx0ZXJpbmcgQ1FMMyB0YWJsZSBmcm9tIHRocmlmdCAoQ0FTU0FORFJBLTYzNzApCiAqIEZpeCBzaXplIGNvbXB1dGF0aW9uIG9mIHByZXBhcmVkIHN0YXRlbWVudCAoQ0FTU0FORFJBLTYzNjkpCgoKMi4wLjJC3koaAAABT948slwAEHkgKENBU1NBTkRSQS03NjUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdQAAAEAaW5kb3dzIChDQVNTQU5EUkEtODU4KQogKiBhbGxvdyByZS1zcGVjaWZ5aW5nIGhvc3QsIHBvcnQgdG8gY2Fzc2FuZHJhLWNsaSBpZiBpbnZhbGlkIG9uZXMKICAgYXJlIGZpcnN0IHRyaWVkIChDQVNTQU5EUkEtODY3KQogKiBmaXggcmFjZSBjb25kaXRpb24gaGFuZGxpbmcgcnBjIHRpbWVvdXQgaW4gdGhlIGNvb3JkaW5hdG9yCiAgIChDQVNTQU5EUkEtODY0KQogKiBSZW1vdmUgQ2FsbG91dExvY2F0aW9uIGFuZCBTdGFnaW5nRmlsZURpcmVjdG9yeUxbpI0AEYDejLUhPgAAAU/ePLJcABAgLSBnZXRfa2V5X3JhbmdlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3WAAABAGVSZXdyaXRlciBwcm9wZXJseSAoQ0FTU0FORFJBLTgzMjApCiAqIEZpeCBoaWdoIHNpemUgY2FsY3VsYXRpb25zIGZvciBwcmVwYXJlZCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtODIzMSkKICogQ2VudHJhbGl6ZSBzaGFyZWQgZXhlY3V0b3JzIChDQVNTQU5EUkEtODA1NSkKICogRml4IGZpbHRlcmluZyBmb3IgQ09OVEFJTlMgKEtFWSkgcmVsYXRpb25zIG9uIGZyb3plbiBjb2xsZWN0aW9uCiAgIGNsdXN0ZXJpbmcgY29sdW1ucyB3aGVuIHRoZSBxdWV6sGi0AAABT948slwAEGJsZXMgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdYAAAEAICogU3RhcnQvc3RvcCBjYXNzYW5kcmEgYWZ0ZXIgbW9yZSBpbXBvcnRhbnQgc2VydmljZXMgc3VjaCBhcyBtZGFkbSBpbgogICBkZWJpYW4gcGFja2FnaW5nIChDQVNTQU5EUkEtMjQ4MSkKCgowLjguMC1iZXRhMgogKiBmaXggTlBFIGNvbXBhY3RpbmcgaW5kZXggQ0ZzIChDQVNTQU5EUkEtMjUyOCkKICogUmVtb3ZlIGNoZWNraW5nIGFsbCBjb2x1bW4gZmFtaWxpZXMgb24gc3RhcnR1cCBmb3IgY29tcGFjdGlvbiBjYW5kaWRhdGVzIAogICAoQ0FTU3bWmJMAAAFP3jyyXAAQd3MgKENBU1NBTkRSQS02OQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt1gAAAQBpdGggbm8gb3RoZXIgZGF0YSAoQ0FTU0FORFJBLTEwNjMpCiAqIGZpeCBzaXplIG9mIHJvdyBpbiBzcGFubmVkIGluZGV4IGVudHJpZXMgKENBU1NBTkRSQS0xMDU2KQogKiBpbnN0YWxsIGpzb24yc3N0YWJsZSwgc3N0YWJsZTJqc29uLCBhbmQgc3N0YWJsZWtleXMgdG8gRGViaWFuIHBhY2thZ2UKICogU3RyZWFtaW5nU2VydmljZS5TdHJlYW1EZXN0aW5hdGlvbnMgd291bGRuJ3QgZW1wdHkgaXRzZWxmIGFmdGVyIHN0cmVhbWluZwogICBmaW5pc2hlcLZ++QAAAU/ePLJcABBzIGNsZWFudXAgdGhlIHJvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3WAAABAEFORFJBLTcwMDApCiAqIENsZWFuIHVwIEluZGV4SW5mbyBvbiBrZXlzcGFjZS90YWJsZSBkcm9wcyAoQ0FTU0FORFJBLTY5MjQpCiAqIE9ubHkgc25hcHNob3QgcmVsYXRpdmUgU1NUYWJsZXMgd2hlbiBzZXF1ZW50aWFsIHJlcGFpciAoQ0FTU0FORFJBLTcwMjQpCiAqIFJlcXVpcmUgbm9kZXRvb2wgcmVidWlsZF9pbmRleCB0byBzcGVjaWZ5IGluZGV4IG5hbWVzIChDQVNTQU5EUkEtNzAzOCkKICogZml4IGNhc3NhbmRyYSBzdHJlc3MgZXJyb3JzIG+R3oSjAAABT948slwAEHNldCBKVk0gR0MgbmV3IGcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdYAAAEACgowLjYuMgogKiBmaXggY29udHJpYi93b3JkX2NvdW50IGJ1aWxkLiAoQ0FTU0FORFJBLTk5MikKICogc3BsaXQgQ29tbWl0TG9nRXhlY3V0b3JTZXJ2aWNlIGludG8gQmF0Y2hDb21taXRMb2dFeGVjdXRvclNlcnZpY2UgYW5kIAogICBQZXJpb2RpY0NvbW1pdExvZ0V4ZWN1dG9yU2VydmljZSAoQ0FTU0FORFJBLTEwMTQpCiAqIGFkZCBsYXRlbmN5IGhpc3RvZ3JhbXMgdG8gQ0ZTTUJlYW4gKENBU1NBTkRSQS0xMDI0KQogKiBtYWtlIHJlc29sdmluZ0njLsoAAAFP3jyyXAAQIEJ1bGtMb2FkZXIgY2F1cwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt1gAAAQBkcyAoQ0FTU0FORFJBLTYxNDUpCiAqIFJlcXVpcmUgbG9nZ2luZyBpbiBmb3IgVGhyaWZ0IENRTDIvMyBzdGF0ZW1lbnQgcHJlcGFyYXRpb24gKENBU1NBTkRSQS02MjU0KQogKiByZXN0cmljdCBtYXhfbnVtX3Rva2VucyB0byAxNTM2IChDQVNTQU5EUkEtNjI2NykKICogTm9kZXRvb2wgZ2V0cyBkZWZhdWx0IEpNWCBwb3J0IGZyb20gY2Fzc2FuZHJhLWVudi5zaCAoQ0FTU0FORFJBLTYyNzMpCiAqIG1ha2UgY2FsY3VsYXRlUGVuZGluZ1JhbmdlcyBhXqxR6wAAAU/ePLJcABBEUkEtNjUxMCkKICogRG9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3WAAABAEEtNTgzNykKICogZml4IHBvdGVudGlhbCBzcHVyaW91cyB3YWtldXAgaW4gQXN5bmNPbmVSZXNwb25zZSAoQ0FTU0FORFJBLTU2OTApCiAqIGZpeCBzY2hlbWEtcmVsYXRlZCB0cmlnZ2VyIGlzc3VlcyAoQ0FTU0FORFJBLTU3NzQpCiAqIEJldHRlciB2YWxpZGF0aW9uIHdoZW4gYWNjZXNzaW5nIENRTDMgdGFibGUgZnJvbSB0aHJpZnQgKENBU1NBTkRSQS01MTM4KQogKiBGaXggYXNzZXJ0aW9uIGVycm9yIGR1cmluZyByZXBhaXIgKENBU1NBTkRSQS3DaNLDAAABT948slwAEHRob2QgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdYAAAEAZXByb2JlIHJlcGFpciBhbnRpLWVudHJvcHkgZmVhdHVyZSAoQ0FTU0FORFJBLTE5MywgQ0FTU0FORFJBLTUyMCkKICogZml4IHBvc3NpYmlsaXR5IG9mIHBhcnRpdGlvbiB3aGVuIG1hbnkgbm9kZXMgcmVzdGFydCBhdCBvbmNlCiAgIGluIGNsdXN0ZXJzIHdpdGggbXVsdGlwbGUgc2VlZHMgKENBU1NBTkRSQS0xNTApCiAqIGZpeCBOUEUgaW4gZ2V0X3JhbmdlX3NsaWNlIHdoZW4gbm8gZGF0YSBpcyBmb3VuZCAoQ0FTU0FORFJBLTU3OCkKICogZml4IHBNRgIAAAFP3jyyXAAQb2RpZnkgSW5kZXggTmFtZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt1gAAAQBpeCBOUEUgb24gQnVsa0xvYWRlciBjYXVzZWQgYnkgbG9zaW5nIFN0cmVhbUV2ZW50IChDQVNTQU5EUkEtNjYzNikKICogRml4IHRydW5jYXRpbmcgY29tcHJlc3Npb24gbWV0YWRhdGEgKENBU1NBTkRSQS02NzkxKQogKiBBZGQgQ01TQ2xhc3NVbmxvYWRpbmdFbmFibGVkIEpWTSBvcHRpb24gKENBU1NBTkRSQS02NTQxKQogKiBDYXRjaCBtZW10YWJsZSBmbHVzaCBleGNlcHRpb25zIGR1cmluZyBzaHV0ZG93biAoQ0FTU0FORFJBLTY3MzUpCiAqIEZpC5xpIgAAAU/ePLJcABBvcmUgaGludHMgYXMgc2VyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3WAAABAHMgZG9uJ3QgY29ycnVwdCB0aGUKICAgc3N0YWJsZSAoQ0FTU0FORFJBLTU0NTQpCiAqIE1vdmUgcmVzdWx0c2V0IHR5cGUgaW5mb3JtYXRpb24gaW50byBwcmVwYXJlLCBub3QgZXhlY3V0ZSAoQ0FTU0FORFJBLTU2NDkpCiAqIEF1dG8gcGFnaW5nIGluIGJpbmFyeSBwcm90b2NvbCAoQ0FTU0FORFJBLTQ0MTUsIDU3MTQpCiAqIERvbid0IHRpZSBjbGllbnQgc2lkZSB1c2Ugb2YgQWJzdHJhY3RUeXBlIHRvIEpEQkMgKENBU1NBTkRSQS00NDk1KQogKiD41DvtAAABT948slwAEHJhbnNwb3J0RmFjdG9yeSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdYAAAEAZXgtYmxvY2sgbmFtZSAKICAgcXVlcmllcyBieSBza2lwcGluZyB0aGUgY29sdW1uIGluZGV4IChDQVNTQU5EUkEtMTMzOCkKICogc3RyZWFtaW5nIHJlZmFjdG9yIChDQVNTQU5EUkEtMTE4OSkKICogZmFzdGVyIGNvbXBhcmlzb24gZm9yIFVVSUQgdHlwZXMgKENBU1NBTkRSQS0xMDQzKQogKiBzZWNvbmRhcnkgaW5kZXggc3VwcG9ydCAoQ0FTU0FORFJBLTc0OSBhbmQgc3VidGFza3MpCiAqIG1ha2UgY29tcGFjdGlvbiBidWNrZXRzIGRldGVybWluaUthwzQAAAFP3jyyXAAQdGVneSBmb3IgYWxsIHNzdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt1gAAAQBtIDAuODoKICogZml4IGNvbmN1cnJlbmNlIGlzc3VlIGluIHRoZSBGYWlsdXJlRGV0ZWN0b3IgKENBU1NBTkRSQS0zNTE5KQogKiBmaXggYXJyYXkgb3V0IG9mIGJvdW5kcyBlcnJvciBpbiBjb3VudGVyIHNoYXJkIHJlbW92YWwgKENBU1NBTkRSQS0zNTE0KQogKiBhdm9pZCBkcm9wcGluZyB0b21ic3RvbmVzIHdoZW4gdGhleSBtaWdodCBzdGlsbCBiZSBuZWVkZWQgdG8gc2hhZG93CiAgIGRhdGEgaW4gYSBkaWZmZXJlbnQgc3N0YWJsZSAoQ0FTU0FOF6s7tAAAAU/ePLJcABBycyAKICAgY2xlYW51cCBhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3WAAABAENBU1NBTkRSQS03NzkyKQogKiBGaXggb3JkZXJpbmcgb2Ygc3RhdGljIGNlbGxzIChDQVNTQU5EUkEtNzc2MykKTWVyZ2VkIGZyb20gMi4wOgogKiBGb3JiaWQgcmUtYWRkaW5nIGRyb3BwZWQgY291bnRlciBjb2x1bW5zIChDQVNTQU5EUkEtNzgzMSkKICogRml4IENGTWV0YURhdGEjaXNUaHJpZnRDb21wYXRpYmxlKCkgZm9yIFBLLW9ubHkgdGFibGVzIChDQVNTQU5EUkEtNzgzMikKICogQWx3YXlzIHJlamVjdCBpbmVxdWFsaXR5IG9uIHRoZSBwYXKRRXSLAAABT948slwAEHZlbiBkaXN0cmlidXRpb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdYAAAEAc2FtZSByb3cKICAgKENBU1NBTkRSQS0yNTgzKQogKiBhZGp1c3QgaGludGVkIGhhbmRvZmYgcGFnZSBzaXplIHRvIGF2b2lkIE9PTSB3aXRoIGxhcmdlIGNvbHVtbnMgCiAgIChDQVNTQU5EUkEtMjY1MikKICogbWFyayBCUkFGIGJ1ZmZlciBpbnZhbGlkIHBvc3QtZmx1c2ggc28gd2UgZG9uJ3QgcmUtZmx1c2ggcGFydGlhbAogICBidWZmZXJzIGFnYWluLCBlc3BlY2lhbGx5IG9uIENMIHdyaXRlcyAoQ0FTU0FORFJBLTI2NjApCiAqIGFkZCBEUk9QIDimUioAAAFP3jyyXAAQTkRSQS04NzU4KQogKiAnbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt1gAAAQBEUkEtMTA0NykKICogbG9nIHRocmVhZCBwb29sIHN0YXRzIHdoZW4gR0MgaXMgZXhjZXNzaXZlIChDQVNTQU5EUkEtMTI3NSkKICogcmVtb3ZlIGdvc3NpcCBtZXNzYWdlIHNpemUgbGltaXQgKENBU1NBTkRSQS0xMTM4KQogKiBwYXJhbGxlbGl6ZSBsb2NhbCBhbmQgcmVtb3RlIHJlYWRzIGR1cmluZyBtdWx0aWdldCwgYW5kIHJlc3BlY3Qgc25pdGNoIAogICB3aGVuIGRldGVybWluaW5nIHdoZXRoZXIgdG8gZG8gbG9jYWwgcmVhZCBmb3IgQ0wuT05FS6ISVQARlTuFqtG7AAABT948slwAEG1pY0ludGVnZXJGaWVsZFUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdgAAAEAQU5EUkEtMzU0NikKICogZml4IHJhY2UgYmV0d2VlbiBjZiBmbHVzaCBhbmQgaXRzIDJuZGFyeSBpbmRleGVzIGZsdXNoIChDQVNTQU5EUkEtMzU0NykKICogZml4IHBvdGVudGlhbCByYWNlIGluIEFFUyB3aGVuIGEgcmVwYWlyIGZhaWxzIChDQVNTQU5EUkEtMzU0OCkKICogUmVtb3ZlIGNvbHVtbnMgc2hhZG93ZWQgYnkgYSBkZWxldGVkIGNvbnRhaW5lciBldmVuIHdoZW4gd2UgY2Fubm90IHB1cmdlCiAgIChDQVNTQU5EUkEtMzUzOCkKICogSW1wcs/pF1kAAAFP3jyyXAAQb2ZmbGluZSB0b29sIHRvIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt2AAAAQBzIHRoZSAyR0IgbW1hcCBib3VuZGFyaWVzIGZvciBib3RoIG1tYXAKICAgYW5kIHN0YW5kYXJkIGkvbyBtb2RlcyAoQ0FTU0FORFJBLTg2NikKICogZXhwb3NlIGRyYWluIHZpYSBub2RldG9vbCAoQ0FTU0FORFJBLTk3OCkKCgowLjYuMC1SQzEKICogSk1YIGRyYWluIHRvIGZsdXNoIG1lbXRhYmxlcyBhbmQgcnVuIHRocm91Z2ggY29tbWl0IGxvZyAoQ0FTU0FORFJBLTg4MCkKICogQm9vdHN0cmFwcGluZyBjYW4gc2tpcCByYW5nZXMgdW5kZXIgdGhloNTO3wAAAU/ePLJcABAgc2NoZW1hIGZyb20gY2FzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3YAAABACB0aGUgUGF4b3MgY29uc2lzdGVuY3kgZm9yIChub24tcHJvdG9jb2wpIGJhdGNoIChDQVNTQU5EUkEtNjgzNykKICogQWRkIHBhcmFub2lkIGRpc2sgZmFpbHVyZSBvcHRpb24gKENBU1NBTkRSQS02NjQ2KQogKiBJbXByb3ZlIFBlclJvd1NlY29uZGFyeUluZGV4IHBlcmZvcm1hbmNlIChDQVNTQU5EUkEtNjg3NikKICogRXh0ZW5kIHRyaWdnZXJzIHRvIHN1cHBvcnQgQ0FTIHVwZGF0ZXMgKENBU1NBTkRSQS02ODgyKQogKiBTdGF0aWMgY29sdW1ucyDGrzy8AAABT948slwAEHIgd2hlbgogICBkcm9wcGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdgAAAEAUCB3aGVuIGF2YWlsYWJsZSAoQ0FTU0FORFJBLTgwODQpCk1lcmdlZCBmcm9tIDIuMDoKICogUmVqZWN0IGNvbmRpdGlvbnMgb24gREVMRVRFIHVubGVzcyBmdWxsIFBLIGlzIGdpdmVuIChDQVNTQU5EUkEtNjQzMCkKICogUHJvcGVybHkgcmVqZWN0IHRoZSB0b2tlbiBmdW5jdGlvbiBERUxFVEUgKENBU1NBTkRSQS03NzQ3KQogKiBGb3JjZSBiYXRjaGxvZyByZXBsYXkgYmVmb3JlIGRlY29tbWlzc2lvbmluZyBhIG5vZGUgKENBU1NBTkRSQS03NDQ2KWU2eKwAAAFP3jyyXAAQQmluZCBKTVggdG8gbG9jYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt2AAAAQBBLTgzNykKICogQWRkIGEgam14IHN0YXR1cyB0byB0aGUgc3RyZWFtaW5nIHNlcnZpY2UgYW5kIGNoYW5nZSBzZXZlcmFsIERFQlVHCiAgIG1lc3NhZ2VzIHRvIElORk8gKENBU1NBTkRSQS04NDUpCiAqIGZpeCBjbGFzc3BhdGggaW4gY2Fzc2FuZHJhLWNsaS5iYXQgZm9yIFdpbmRvd3MgKENBU1NBTkRSQS04NTgpCiAqIGFsbG93IHJlLXNwZWNpZnlpbmcgaG9zdCwgcG9ydCB0byBjYXNzYW5kcmEtY2xpIGlmIGludmFsaWQgb25lcwogICBhcmUgZmlyOVcQcwAAAU/ePLJcABBuV2l0aENvbXBhY3Rpb25zAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3YAAABAGxvdyBvdmVycmlkaW5nIGNhc3NhbmRyYS1yYWNrZGMucHJvcGVydGllcyBmaWxlIChDQVNTQU5EUkEtNzA3MikKICogU2V0IEpNWCBSTUkgcG9ydCB0byA3MTk5IChDQVNTQU5EUkEtNzA4NykKICogVXNlIExPQ0FMX1FVT1JVTSBmb3IgZGF0YSByZWFkcyBhdCBMT0NBTF9TRVJJQUwgKENBU1NBTkRSQS02OTM5KQogKiBMb2cgYSB3YXJuaW5nIGZvciBsYXJnZSBiYXRjaGVzIChDQVNTQU5EUkEtNjQ4NykKICogUHV0IG5vZGVzIGluIGhpYmVybmF0ZSAXNZHHAAABT948slwAEGVzIGFjY291bnRpbmcgZnIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdgAAAEAIAoKMC41LjAgZmluYWwKICogYXZvaWQgYXR0ZW1wdGluZyB0byBkZWxldGUgdGVtcG9yYXJ5IGJvb3RzdHJhcCBmaWxlcyB0d2ljZSAoQ0FTU0FORFJBLTY4MSkKICogZml4IGJvZ3VzIE5hTiBpbiBub2RlcHJvYmUgY2ZzdGF0cyBvdXRwdXQgKENBU1NBTkRSQS02NDYpCiAqIHByb3ZpZGUgYSBwb2xpY3kgZm9yIGRlYWxpbmcgd2l0aCBzaW5nbGUgdGhyZWFkIGV4ZWN1dG9ycyB3LyBhIGZ1bGwgcXVldWUKICAgKENBU1NBTkRSQS02OTQpCiAqIG9wdC5I4AcAAAFP3jyyXAAQNDkpCiAqIEZpeCByYWNlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt2AAAAQBpbmcgZmx1c2hlcyBpbiBnb3NzaXAgdGhyZWFkIChDQVNTQU5EUkEtNjI5NykKICogRml4IHBvdGVudGlhbCBzb2NrZXQgbGVhayBpbiBjb25uZWN0aW9ucG9vbCBjcmVhdGlvbiAoQ0FTU0FORFJBLTYzMDgpCiAqIEFsbG93IExPQ0FMX09ORS9MT0NBTF9RVU9SVU0gdG8gd29yayB3aXRoIFNpbXBsZVN0cmF0ZWd5IChDQVNTQU5EUkEtNjIzOCkKICogY3Fsc2g6IGhhbmRsZSAnbnVsbCcgYXMgc2Vzc2lvbiBkdXJhdGlvbiAoQ0FTU0FORFJBLTYzMTcpZid5/gAAAU/ePLJcABB0ZXJlZCAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3YAAABAG5nIEFOVElfRU5UUk9QWSBzdGFnZSAoQ0FTU0FORFJBLTkxNTEpCiAqIFJlcGFpciB3YWl0cyBmb3IgYW50aWNvbXBhY3Rpb24gdG8gZmluaXNoIChDQVNTQU5EUkEtOTA5NykKTWVyZ2VkIGZyb20gMi4wOgogKiBGaXggY291bnRpbmcgb2YgdG9tYnN0b25lcyBmb3IgVG9tYnN0b25lT3ZlcndoZWxtaW5nRXhjZXB0aW9uIChDQVNTQU5EUkEtOTI5OSkKICogRml4IFJlY29ubmVjdGFibGVTbml0Y2ggcmVjb25uZWN0aW5nIHRvIHBlZXJzIGR1cmluZyB8Qus1AAABT948slwAEEFORFJBLTQ2NDQpCiAqIGYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdgAAAEALTM5MTkpCiAqIEFkZCBiaW5hcnkgcHJvdG9jb2wgdmVyc2lvbmluZyAoQ0FTU0FORFJBLTU0MzYpCiAqIFN3YXAgVEhzaGFTZXJ2ZXIgZm9yIFRUaHJlYWRlZFNlbGVjdG9yU2VydmVyIChDQVNTQU5EUkEtNTUzMCkKICogQWRkIGFsaWFzIHN1cHBvcnQgdG8gU0VMRUNUIHN0YXRlbWVudCAoQ0FTU0FORFJBLTUwNzUpCiAqIERvbid0IGNyZWF0ZSBlbXB0eSBSb3dNdXRhdGlvbnMgaW4gQ29tbWl0TG9nUmVwbGF5ZXIgKENBU1NBTkRSQS01NTQxKQogKkFDzpsAAAFP3jyyXAAQKENBU1NBTkRSQS04NDMpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt2AAAAQAKICogRGlzYWJsZSBTU0x2MyBmb3IgUE9PRExFIChDQVNTQU5EUkEtODI2NSkKICogRml4IG1pbGxpc2Vjb25kIHRpbWVzdGFtcHMgaW4gVHJhY2luZyAoQ0FTU0FORFJBLTgyOTcpCiAqIEluY2x1ZGUga2V5c3BhY2UgbmFtZSBpbiBlcnJvciBtZXNzYWdlIHdoZW4gdGhlcmUgYXJlIGluc3VmZmljaWVudAogICBsaXZlIG5vZGVzIHRvIHN0cmVhbSBmcm9tIChDQVNTQU5EUkEtODIyMSkKICogQXZvaWQgb3ZlcmxhcCBpbiBMMSB3aGVuIEwwIGNvbnRh0CxAlgAAAU/ePLJcABBBLTc4MDEpCiAqIEZpeCBpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3YAAABAG1ldHJpY3MgZm9yIHRyYWNraW5nIFByZXBhcmVkU3RhdGVtZW50IHVzZSAoQ0FTU0FORFJBLTc3MTkpCiAqIChjcWxzaCkgdGFiLWNvbXBsZXRpb24gZm9yIHRyaWdnZXJzIChDQVNTQU5EUkEtNzgyNCkKICogKGNxbHNoKSBTdXBwb3J0IGZvciBxdWVyeSBwYWdpbmcgKENBU1NBTkRSQS03NTE0KQogKiAoY3Fsc2gpIFNob3cgcHJvZ3Jlc3Mgb2YgQ09QWSBvcGVyYXRpb25zIChDQVNTQU5EUkEtNzc4OSkKICogQWRkIHN5bnRheCB0byByZW1vdmUgbXWOCtMzAAABT948slwAEHQgc2lkZSB1c2Ugb2YgQWIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdgAAAEAbWljcm9zZWNvbmRzIChDQVNTQU5EUkEtNzMzKQogKiBhZGQgZGVzY3JpYmVfIFRocmlmdCBtZXRob2RzLCBkZXByZWNhdGluZyBnZXRfc3RyaW5nX3Byb3BlcnR5IGFuZCAKICAgZ2V0X3N0cmluZ19saXN0X3Byb3BlcnR5CiAqIGpteCBpbnRlcmZhY2UgZm9yIHRyYWNraW5nIG9wZXJhdGlvbiBtb2RlIGFuZCBzdHJlYW1zIGluIGdlbmVyYWwuCiAgIChDQVNTQU5EUkEtNzA5KQogKiBrZWVwIG1lbXRhYmxlcyBpbiBzb3J0ZWQgb3JkZXIgdG8gaW1wctFX1qkAAAFP3jyyXAAQQ0FTU0FORFJBLTM3MTEpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt2AAAAQB1bnRlciBjb2x1bW4gZmFtaWx5IChDQVNTQU5EUkEtMjc1OSkKICogZml4IENvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb24gaW4gcmVwYWlyIHdoZW4gZGVhbGluZyB3aXRoIDAuNyBub2RlCiAgIChDQVNTQU5EUkEtMjc2NykKICogdXNlIHRocmVhZHNhZmUgY29sbGVjdGlvbnMgZm9yIFN0cmVhbUluU2Vzc2lvbiAoQ0FTU0FORFJBLTI3NjYpCiAqIGF2b2lkIGluZmluaXRlIGxvb3Agd2hlbiBjcmVhdGluZyBtZXJrbGUgdHJlZSAoQ0FTU0FOOIYlDQAAAU/ePLJcABBsYWJpbGl0eSB1bmRlciBoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3YAAABAGNlcyAoQ0FTU0FORFJBLTc2NDEpCiAqIChIYWRvb3ApIEFkZCBDcWxPdXRwdXRGb3JtYXQgKENBU1NBTkRSQS02OTI3KQogKiBEb24ndCBkZXBlbmQgb24gY2Fzc2FuZHJhIGNvbmZpZyBmb3Igbm9kZXRvb2wgcmluZyAoQ0FTU0FORFJBLTc1MDgpCiAqIChjcWxzaCkgRml4IGZhaWxpbmcgY3Fsc2ggZm9ybWF0dGluZyB0ZXN0cyAoQ0FTU0FORFJBLTc3MDMpCiAqIEZpeCBJbmNvbXBhdGlibGVDbGFzc0NoYW5nZUVycm9yIGZyb20gaGFkb29wMiAoQ0HnMDkeABGpmGJ/IVgAAAFP3jyyXAAQZCBCQVRDSCBzdGF0ZW1lbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt2gAAAQAyNDApCiAqIGZpeCBzc3RhYmxlMmpzb24gbGFyZ2Utcm93IHBhZ2luYXRpb24gKENBU1NBTkRSQS0yMTg4KQogKiBmaXggRU9GaW5nIG9uIHJlcXVlc3RzIGZvciB0aGUgbGFzdCBieXRlcyBpbiBhIGZpbGUgKENBU1NBTkRSQS0yMjEzKQogKiBmaXggQnVmZmVyZWRSYW5kb21BY2Nlc3NGaWxlIGJ1Z3MgKENBU1NBTkRSQS0yMjE4LCAtMjI0MSkKICogY2hlY2sgZm9yIG1lbXRhYmxlIGZsdXNoX2FmdGVyX21pbnMgZXhjZWVkZWQgZXZlcnkgMTBzIChD20xLEwAAAU/ePLJcABBubmluZyBvbiBKREs4IHVwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3aAAABAHNob3VsZCBwb3B1bGF0ZSBzZXF1ZW50YWxseSAoQ0FTU0FORFJBLTg1MjQpCiAqIEZpeCByZWdyZXNzaW9uIGluIFNTVGFibGVSZXdyaXRlciBjYXVzaW5nIHNvbWUgcm93cyB0byBiZWNvbWUgdW5yZWFkYWJsZSAKICAgZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS04NDI5KQogKiBSdW4gbWFqb3IgY29tcGFjdGlvbnMgZm9yIHJlcGFpcmVkL3VucmVwYWlyZWQgaW4gcGFyYWxsZWwgKENBU1NBTkRSQS04NTEwKQogKiAoY3Fsc2gpIEZpeCBjb20isv3GAAABT948slwAEGV0Y2FjaGVjYXBjaXR5IHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdoAAAEAIGluIENxbFJlY29yZFJlYWRlciAoQ0FTU0FORFJBLTcyMjEpCiAqIChIYWRvb3ApIENsb3NlIGphdmEgZHJpdmVyIENsdXN0ZXIgaW4gQ1FMUlIuY2xvc2UgKENBU1NBTkRSQS03MjI4KQogKiBXYXJuIHdoZW4gJ1VTSU5HIFRJTUVTVEFNUCcgaXMgdXNlZCBvbiBhIENBUyBCQVRDSCAoQ0FTU0FORFJBLTcwNjcpCiAqIHJldHVybiBhbGwgY3B1IHZhbHVlcyBmcm9tIEJhY2tncm91bmRBY3Rpdml0eU1vbml0b3IucmVhZEFuZENvbXB1dGUgKENBU1NBTnch/fwAAAFP3jyyXAAQKQogKiBGaXggTlBFIHdoZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt2gAAAQBtcGFjdGlvbiB3aWxsIGF0dGVtcHQgdG8gY29tcGFjdCB3aGF0IGl0IGlzIGdpdmVuCiAgIGV2ZW4gaWYgdGhlIHBlc3NpbWlzdGljIGVzdGltYXRlIGlzIHRoYXQgdGhlcmUgaXMgbm90IGVub3VnaCBkaXNrIHNwYWNlOwogICBhdXRvbWF0aWMgY29tcGFjdGlvbnMgd2lsbCBvbmx5IGNvbXBhY3QgMiBvciBtb3JlIHNzdGFibGVzIChDQVNTQU5EUkEtMjU3NSkKICogcmVmdXNlIHRvIGFwcGx5IG1pZ3JhdGlvbnMgd2l0aCBvbGRlciB0aW1lc3RhbXBzehkBbQAAAU/ePLJcABBzc2FnZSBmb3IgYSByZXBhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3aAAABAGxlIHRvbWJzdG9uZSByYXRpbyBzdGF0cyBvdmVyIEpNWCAoQ0FTU0FORFJBLTUxNTkpCk1lcmdlZCBmcm9tIDEuMToKICogU2ltcGxpZnkgQ29tcHJlc3NlZFJhbmRvbUFjY2Vzc1JlYWRlciB0byB3b3JrIGFyb3VuZCBKREsgRkQgYnVnIChDQVNTQU5EUkEtNTA4OCkKICogSW1wcm92ZSBoYW5kbGluZyBhIGNoYW5naW5nIHRhcmdldCB0aHJvdHRsZSByYXRlIG1pZC1jb21wYWN0aW9uIChDQVNTQU5EUkEtNTA4NykKICogUGlnOiBjb3JyZWN0bHkgZGXlxMITAAABT948slwAEHF1ZXJpZWQgbm9kZXMgaW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdoAAAEAZCBwb2ludGVyIChDQVNTQU5EUkEtODcyNikKICogRml4IFNTVGFibGVTaW1wbGVVbnNvcnRlZFdyaXRlciBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uIChDQVNTQU5EUkEtODYxOSkKICogJ25vZGV0b29sIGluZm8nIHByaW50cyBleGNlcHRpb24gYWdhaW5zdCBvbGRlciBub2RlIChDQVNTQU5EUkEtODc5NikKICogRW5zdXJlIFNTVGFibGVTaW1wbGVVbnNvcnRlZFdyaXRlci5jbG9zZSgpIHRlcm1pbmF0ZXMgaWYKICAgZGlzayB3cml0Zfr8ytgAAAFP3jyyXAAQIGluIEhTSEEgKENBU1NBTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt2gAAAQBBLTI4MzIpCiAqIHJlc2V0IGNsaSBrZXlzcGFjZSBhZnRlciBkcm9wcGluZyB0aGUgY3VycmVudCBvbmUgKENBU1NBTkRSQS0yNzYzKQogKiBhZGQgS2V5UmFuZ2Ugb3B0aW9uIHRvIEhhZG9vcCBpbnB1dGZvcm1hdCAoQ0FTU0FORFJBLTExMjUpCiAqIGZpeCBwcm90b2NvbCB2ZXJzaW9uaW5nIChDQVNTQU5EUkEtMjgxOCwgMjg2MCkKICogc3VwcG9ydCBzcGFjZXMgaW4gcGF0aCB0byBsb2c0aiBjb25maWd1cmF0aW9uIChDQVNTQU5EUkEtMjM4MykKZofbmwAAAU/ePLJcABBsZW1lbnRhdGlvbnMgKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3aAAABACBrcy90YWJsZS9pbmRleCBzdGF0ZW1lbnRzIGluIENRTDMgKENBU1NBTkRSQS0yNzM3KQogKiBtb3JlIHByZS10YWJsZSBjcmVhdGlvbiBwcm9wZXJ0eSB2YWxpZGF0aW9uIChDQVNTQU5EUkEtNTY5MykKICogUmVkZXNpZ24gcmVwYWlyIG1lc3NhZ2VzIChDQVNTQU5EUkEtNTQyNikKICogRml4IEFMVEVSIFJFTkFNRSBwb3N0LTUxMjUgKENBU1NBTkRSQS01NzAyKQogKiBEaXNhbGxvdyByZW5hbWluZyBhIDJuZGFyeSBpbmRleGVkIGNvbHVtbiAoQ0G4niF3AAABT948slwAEGRlIHRvIFNTVGFibGVXcmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdoAAAEAdmUgQ0Ygb3B0aW9uIChDQVNTQU5EUkEtMTk2NikKICogY2hlY2sgY29sdW1uIGZhbWlseSB2YWxpZGl0eSBpbiBub2RldG9vbCByZXBhaXIgKENBU1NBTkRSQS0yOTMzKQogKiB1c2UgbGF6eSBpbml0aWFsaXphdGlvbiBpbnN0ZWFkIG9mIGNsYXNzIGluaXRpYWxpemF0aW9uIGluIE5vZGVJZAogICAoQ0FTU0FORFJBLTI5NTMpCiAqIGFkZCBwYWdpbmcgdG8gZ2V0X2NvdW50IChDQVNTQU5EUkEtMjg5NCkKICogZml4ICJzaG9ydCByZWFkcyIgaW4gW2iSaLIAAAFP3jyyXAAQIHR5cGUnIGFzc2VydGlvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt2gAAAQBTQU5EUkEtODUzNykKICogRml4IGNhc2Utc2Vuc2l0aXZpdHkgb2YgaW5kZXggbmFtZSBvbiBDUkVBVEUgYW5kIERST1AgSU5ERVgKICAgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTgzNjUpCiAqIEJldHRlciBkZXRlY3Rpb24vbG9nZ2luZyBmb3IgY29ycnVwdGlvbiBpbiBjb21wcmVzc2VkIHNzdGFibGVzIChDQVNTQU5EUkEtODE5MikKICogVXNlIHRoZSBjb3JyZWN0IHJlcGFpcmVkQXQgdmFsdWUgd2hlbiBjbG9zaW5nIHdyaXRlciAoQ0FTU0FORFJBD2B3FgAAAU/ePLJcABBhcmVkIHN0YXRlbWVudCAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3aAAABAGluIHN0b3JhZ2Vwcm94eSBsYXRlbmNpZXMsIGFuZCBpbmNsdWRlIGxhdGVuY3kgCiAgIGhpc3RvZ3JhbXMgaW4gU3RvcmFnZVByb3h5TUJlYW4gKENBU1NBTkRSQS0xODkzKQogKiBmaXggQ0xJIGdldCByZWNvZ25pdGlvbiBvZiBzdXBlcmNvbHVtbnMgKENBU1NBTkRSQS0xODk5KQogKiBlbmFibGUga2VlcGFsaXZlIG9uIGludHJhLWNsdXN0ZXIgc29ja2V0cyAoQ0FTU0FORFJBLTE3NjYpCiAqIGNvdW50IHRpbWVvdXRzIHRvd2FyZHMgZHluYW1pY3M2WtmSAAABT948slwAEHQgcHJlcGVuZCBsb2dpYyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdoAAAEARFJBLTMzOTQpCiAqIHByZXZlbnQgbm9kZXMgdGhhdCBmYWlsZWQgdG8gam9pbiBmcm9tIGhhbmdpbmcgYXJvdW5kIGZvcmV2ZXIgCiAgIChDQVNTQU5EUkEtMzM1MSkKICogcmVtb3ZlIGluY29ycmVjdCBvcHRpbWl6YXRpb24gZnJvbSBzbGljZSByZWFkIHBhdGggKENBU1NBTkRSQS0zMzkwKQogKiBGaXggcmFjZSBpbiBBbnRpRW50cm9weVNlcnZpY2UgKENBU1NBTkRSQS0zNDAwKQoKCjEuMC4wLWZpbmFsCiAqIGNsb3NlIHNjcnViYmVkIHNzdGFibN8HSwsAAAFP3jyyXAAQcGFydGl0aW9uIGJhdGNoIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt2gAAAQBlIHByZXNlcnZlIHNzdGFibGUgdmVyc2lvbiAoQ0FTU0FORFJBLTQwNzcpCiAqIFJlc3BlY3QgMS4wIGNhY2hlIHNldHRpbmdzIGFzIG11Y2ggYXMgcG9zc2libGUgd2hlbiB1cGdyYWRpbmcgCiAgIChDQVNTQU5EUkEtNDA4OCkKICogcmVsYXggcGF0aCBsZW5ndGggcmVxdWlyZW1lbnQgZm9yIHNzdGFibGUgZmlsZXMgd2hlbiB1cGdyYWRpbmcgb24gCiAgIG5vbi1XaW5kb3dzIHBsYXRmb3JtcyAoQ0FTU0FORFJBLTQxMTApCiAqIGZpeCB0ZXJtaW5p27ahuwAAAU/ePLJcABBTU0FORFJBLTU0NTQpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3aAAABACAqIGRpc3BsYXkgY2FjaGUgcHJvdmlkZXIgaW4gY2xpICdkZXNjcmliZSBrZXlzcGFjZScgY29tbWFuZCAoQ0FTU0FORFJBLTMzODQpCiAqIGZpeCBpbmNvbXBsZXRlIHRvcG9sb2d5IGluZm9ybWF0aW9uIGluIGRlc2NyaWJlX3JpbmcgKENBU1NBTkRSQS0zNDAzKQogKiBleHBpcmUgZGVhZCBnb3NzaXAgc3RhdGVzIGJhc2VkIG9uIHRpbWUgKENBU1NBTkRSQS0yOTYxKQogKiBpbXByb3ZlIENvbXBhY3Rpb25UYXNrIGV4dGVuc2liaWxpdHkgKENBU1MB0Tf5AAABT948slwAEHBhcnRpdGlvbmVyIHRva2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILdoAAAEAaW4gc25hcHNob3QgcmVwYWlyIGlmIHBvc3NpYmxlIChDQVNTQU5EUkEtODMxMikKICogRml4IGhpbnRzIHNlcmlhbGl6ZWQgc2l6ZSBjYWxjdWxhdGlvbiAoQ0FTU0FORFJBLTg1ODcpCgoKMi4xLjIKICogKGNxbHNoKSBwYXJzZV9mb3JfdGFibGVfbWV0YSBlcnJvcnMgb3V0IG9uIHF1ZXJpZXMgd2l0aCB1bmRlZmluZWQKICAgZ3JhbW1hcnMgKENBU1NBTkRSQS04MjYyKQogKiAoY3Fsc2gpIEZpeCBTRUxFQ1QgLi4uIFRPS0VOKCkgZnVuY3Rpb24gYomOTvkAEb31XlOq9QAAAU/ePLJcABBuIHRvIEdDSW5zcGVjdG9yAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3dAAABACAqIEFsd2F5cyBzZW5kIFBheG9zIGNvbW1pdCB0byBhbGwgcmVwbGljYXMgKENBU1NBTkRSQS03NDc5KQogKiBNYWtlIGRpc3J1cHRvcl90aHJpZnRfc2VydmVyIGludm9jYXRpb24gcG9vbCBjb25maWd1cmFibGUgKENBU1NBTkRSQS03NTk0KQogKiBNYWtlIHJlcGFpciBuby1vcCB3aGVuIFJGPTEgKENBU1NBTkRSQS03ODY0KQoKCjIuMC4xMAogKiBEb24ndCBzZW5kIHNjaGVtYSBjaGFuZ2UgcmVzcG9uc2VzIGFuZCBldmVudHMgZm9yIG5vLW9wIEScgnWyAAABT948slwAEHggc2V0dGluZyBnY19ncmEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILd0AAAEANjEpCiAqIFJlcG9ydCB0aHJpZnQgc3RhdHVzIGluIG5vZGV0b29sIGluZm8gKENBU1NBTkRSQS00MDEwKQoKCjEuMS4wLWZpbmFsCiAqIGF2ZXJhZ2UgYSByZWR1Y2VkIGxpdmVSYXRpbyBlc3RpbWF0ZSB3aXRoIHRoZSBwcmV2aW91cyBvbmUgKENBU1NBTkRSQS00MDY1KQogKiBBbGxvdyBLUyBhbmQgQ0YgbmFtZXMgdXAgdG8gNDggY2hhcmFjdGVycyAoQ0FTU0FORFJBLTQxNTcpCiAqIGZpeCBzdHJlc3MgYnVpbGQgKENBU1NBTkRSQS00MTQwKQogKhgSDE0AAAFP3jyyXAAQIGluIFVTRSBzdGF0ZW1lbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt3QAAAQBvbiAoQ0FTU0FORFJBLTg2NjkpCiAqIGNxbHNoOiBBZGQgdGVzdHMgZm9yIElOU0VSVCBhbmQgVVBEQVRFIHRhYiBjb21wbGV0aW9uIChDQVNTQU5EUkEtOTEyNSkKICogY3Fsc2g6IHF1b3RlIGNvbHVtbiBuYW1lcyB3aGVuIG5lZWRlZCBpbiBDT1BZIEZST00gaW5zZXJ0cyAoQ0FTU0FORFJBLTkwODApCiAqIEFkZCBnZW5lcmF0ZS1pZGVhLWZpbGVzIHRhcmdldCB0byBidWlsZC54bWwgKENBU1NBTkRSQS05MTIzKQogKiBEbyBub3QgbG9hZCByZWFk3MAgbwAAAU/ePLJcABAzKQogKiAoY3FsKSBBZGQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3dAAABACBhZGQgQ29uc2lzdGVuY3lMZXZlbC5BTlkgKENBU1NBTkRSQS02ODcpCiAqIG1ha2UgcmVtb3ZldG9rZW4gcmVtb3ZlIG5vZGVzIGZyb20gZ29zc2lwIGVudGlyZWx5IChDQVNTQU5EUkEtNjQ0KQogKiBhZGQgYWJpbGl0eSB0byBzZXQgY2FjaGUgc2l6ZXMgYXQgcnVudGltZSAoQ0FTU0FORFJBLTcwOCkKICogcmVwb3J0IGxhdGVuY3kgYW5kIGNhY2hlIGhpdCByYXRlIHN0YXRpc3RpY3Mgd2l0aCBsaWZldGltZSB0b3RhbHMKICAgaW5zdGVhZCBvZiBSx0SGAAABT948slwAEGJzdG9uZXMgaW4gUHJlY28AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILd0AAAEAcmVzc2lvbiB0byB0aGUgbmF0aXZlIHByb3RvY29sIChDQVNTQU5EUkEtNTc2NSkKICogRml4IGJ1Z3MgaW4gdGhlIG5hdGl2ZSBwcm90b2NvbCB2MiAoQ0FTU0FORFJBLTU3NzApCiAqIENBUyBvbiAncHJpbWFyeSBrZXkgb25seScgdGFibGUgKENBU1NBTkRSQS01NzE1KQogKiBTdXBwb3J0IHN0cmVhbWluZyBTU1RhYmxlcyBvZiBvbGQgdmVyc2lvbnMgKENBU1NBTkRSQS01NzcyKQogKiBBbHdheXMgcmVzcGVjdCBwcm90b2NvbCB2ZXJzaW9uIGluICfP/18AAAFP3jyyXAAQZW50X3dyaXRlcyBjb25maQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt3QAAAQBodW1hbiByZWFkYWJsZSBvcHRpb24gdG8gbm9kZXRvb2wgY29tbWFuZHMgKENBU1NBTkRSQS01NDMzKQogKiBEb24ndCB0cnkgdG8gc2V0IHJlcGFpcmVkQXQgb24gb2xkIHNzdGFibGVzIChDQVNTQU5EUkEtNzkxMykKICogQWRkIG1ldHJpY3MgZm9yIHRyYWNraW5nIFByZXBhcmVkU3RhdGVtZW50IHVzZSAoQ0FTU0FORFJBLTc3MTkpCiAqIChjcWxzaCkgdGFiLWNvbXBsZXRpb24gZm9yIHRyaWdnZXJzIChDQVNTQU5EUkEtNzgyNCkKICogKGNxbHNohgb84gAAAU/ePLJcABBsYXRpb24gYW5kIHdyaXRlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3dAAABAHJyb3IgKENBU1NBTkRSQS00MzUzKQogKiBVc2UgQ0YgY29tcGFyYXRvciB0byBzb3J0IGluZGV4ZWQgY29sdW1ucyBpbiBTZWNvbmRhcnlJbmRleE1hbmFnZXIKICAgKENBU1NBTkRSQS00MzY1KQogKiBhZGQgc3RyYXRlZ3lfb3B0aW9ucyB0byB0aGUgS1NNZXRhRGF0YS50b1N0cmluZygpIG91dHB1dCAoQ0FTU0FORFJBLTQyNDgpCiAqIChjcWwzKSBmaXggcmFuZ2UgcXVlcmllcyBjb250YWluaW5nIHVucXVlcmllZCByZXN1bHRzIChDQVNTQU5EUkE2zCx/AAABT948slwAEG9kZXRvb2wgdG8gcmVwb3IAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILd0AAAEAU1NBTkRSQS0xMDM5KQogKiBBZGQgb3B0aW9uIHRvIHR1cm4gb2ZmIEhpbnRlZCBIYW5kb2ZmIChDQVNTQU5EUkEtODk0KQogKiBmaXggd2luZG93cyBzdGFydHVwIChDQVNTQU5EUkEtOTQ4KQogKiBtYWtlIGNvbmN1cnJlbnRfcmVhZHMsIGNvbmN1cnJlbnRfd3JpdGVzIGNvbmZpZ3VyYWJsZSBhdCBydW50aW1lIHZpYSBKTVgKICAgKENBU1NBTkRSQS0xMDYwKQogKiBkaXNhYmxlIEdDSW5zcGVjdG9yIG9uIG5vbi1TdW4gSlZNcyAoQ0FTU0FORFJBLYKn6EkAAAFP3jyyXAAQMSkKICogRml4IHNlcmlhbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt3QAAAQBTQU5EUkEtMjM2NykKICogYXZvaWRzIGhhdmluZyByZW1vdmVkIG5vZGUgcmVhcHBlYXJpbmcgaW4gR29zc2lwIChDQVNTQU5EUkEtMjM3MSkKICogZml4IGluY29ycmVjdCB0cnVuY2F0aW9uIG9mIGxvbmcgdG8gaW50IHdoZW4gcmVhZGluZyBjb2x1bW5zIHZpYSBibG9jawogICBpbmRleCAoQ0FTU0FORFJBLTIzNzYpCiAqIGZpeCBOUEUgZHVyaW5nIHN0cmVhbSBzZXNzaW9uIChDQVNTQU5EUkEtMjM3NykKICogZml4IHJhY2UgY29uZGl0aW9uIHRoNA0kkAAAAU/ePLJcABA0NDU1KQogKiBFbnN1cmUgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3dAAABAHRhdGUgd2l0aCBwcmVwYXJlZCBzdGF0ZW1lbnQgKENBU1NBTkRSQS03MTIwKQogKiBGaXggSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIGluIENxbFN0b3JhZ2UgKENBU1NBTkRSQS03Mjg3KQogKiBBbGxvdyBudWxscy9ub24tZXhpc3RhbnQgZmllbGRzIGluIFVEVCAoQ0FTU0FORFJBLTcyMDYpCiAqIEFkZCBUaHJpZnQgTXVsdGlTbGljZVJlcXVlc3QgKENBU1NBTkRSQS02NzU3LCBDQVNTQU5EUkEtNzAyNykKICogSGFuZGxlIG92ZXJsYXBwaW5nIE1zWvpGAAABT948slwAEGNvbW1pdCB0aGUgY29ycmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILd0AAAEAZW0gdGVzdHMpLCBjb2RlCiAgIGNvdmVyYWdlIHJlcG9ydGluZywgZXRjLgogKiBFeHBhbmRlZCBub2RlIHN0YXR1cyByZXBvcnRpbmcgdmlhIEpNWAogKiBJbXByb3ZlZCBlcnJvciByZXBvcnRpbmcvbG9nZ2luZyBvbiBib3RoIHNlcnZlciBhbmQgY2xpZW50CiAqIFJlZHVjZWQgbWVtb3J5IGZvb3RwcmludCBpbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb24KICogQ29tYmluZWQgYmxvY2tpbmcgYW5kIG5vbi1ibG9ja2luZyB2ZXJzaW9ucyBvZiBpbnNlchYh3MYAAAFP3jyyXAAQKENBU1NBTkRSQS0zMjk3KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt3QAAAQBnIGFuZCBibG9vbUZpbHRlckZwQ2hhbmdlIHRvIENRTCBvcHRpb25zIChDQVNTQU5EUkEtNDA0MikKICogQWRkcyBwb3NpYmlsaXR5IHRvIGF1dG9jb25maWd1cmUgc2l6ZSBvZiB0aGUgS2V5Q2FjaGUgKENBU1NBTkRSQS00MDg3KQogKiBmaXggS0VZUyBpbmRleCBmcm9tIHNraXBwaW5nIHJlc3VsdHMgKENBU1NBTkRSQS0zOTk2KQogKiBSZW1vdmUgc2xpY2VkX2J1ZmZlcl9zaXplX2luX2tiIGRlYWQgb3B0aW9uIChDQVNTQU5EUkEtNDA3NikKICogrjEddAAAAU/ePLJcABAgcmVtb3ZhbCAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3dAAABAHN0YXRzIG91dHB1dCAoQ0FTU0FORFJBLTY0NikKICogcHJvdmlkZSBhIHBvbGljeSBmb3IgZGVhbGluZyB3aXRoIHNpbmdsZSB0aHJlYWQgZXhlY3V0b3JzIHcvIGEgZnVsbCBxdWV1ZQogICAoQ0FTU0FORFJBLTY5NCkKICogb3B0aW1pemUgaW5uZXIgcmVhZCBpbiBNZXNzYWdpbmdTZXJ2aWNlLCB2YXN0bHkgaW1wcm92aW5nIG11bHRpcGxlLW5vZGUKICAgcGVyZm9ybWFuY2UgKENBU1NBTkRSQS02NzUpCiAqIHdhaXQgZm9yIHRhYmxlIGZsdXNoIGL7LsQ/AAABT948slwAECBnb3NzaXAgaW5zdGVhZCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILd0AAAEAbnQgTElNSVQgY2xhdXNlIGluIENxbE5hdGl2ZVN0b3JhZ2UgKENBU1NBTkRSQS04MTY2KQogKiBUaHJvdyBDb25maWd1cmF0aW9uRXhjZXB0aW9uIHdoZW4gaHNoYSBpcyB1c2VkIHdpdGggdGhlIGRlZmF1bHQKICAgcnBjX21heF90aHJlYWRzIHNldHRpbmcgb2YgJ3VubGltaXRlZCcgKENBU1NBTkRSQS04MTE2KQogKiBBbGxvdyBjb25jdXJyZW50IHdyaXRpbmcgb2YgdGhlIHNhbWUgdGFibGUgaW4gdGhlIHNhbWUgSlZNIHVzaW5nCiAgIENRTFNTVFIKqnsAAAFP3jyyXAAQbWluZyByZXRyeSAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt3QAAAQBpbmcgVGltZVVVSUQgKENBU1NBTkRSQS0xOTEwKQogKiBpbmNsdWRlIHNlY29uZGFyeSBpbmRleGVzIGluIGNsZWFudXAgKENBU1NBTkRSQS0xOTE2KQogKiBDRlMuc2NydWJEYXRhRGlyZWN0b3JpZXMgc2hvdWxkIGFsc28gY2xlYW51cCBpbnZhbGlkIHNlY29uZGFyeSBpbmRleGVzCiAgIChDQVNTQU5EUkEtMTkwNCkKICogYWJpbGl0eSB0byBkaXNhYmxlL2VuYWJsZSBnb3NzaXAgb24gbm9kZXMgdG8gZm9yY2UgdGhlbSBkb3duCiAgIChDQVNTQU5EKYsByAAR0lJD/mBFAAABT948slwAEC0zOTg5LCA0MTEyKQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILeAAAAEAZW4gaW50ZXJub2RlIGVuY3J5cHRpb24gaXMgZW5hYmxlZCAoQ0FTU0FORFJBLTMyNTcpCiAqIEZCVXRpbGl0aWVzLmhleFRvQnl0ZXMoU3RyaW5nKSB0byB0aHJvdyBOdW1iZXJGb3JtYXRFeGNlcHRpb24gd2hlbiBzdHJpbmcKICAgY29udGFpbnMgbm9uLWhleCBjaGFyYWN0ZXJzIChDQVNTQU5EUkEtMzIzMSkKICogS2VlcCBTaW1wbGVTbml0Y2ggcHJveGltaXR5IG9yZGVyaW5nIHVuY2hhbmdlZCBmcm9tIHdoYXQgdGhlIFN0cmF0ZWd5CiAgIGdlbiQhta0AAAFP3jyyXAAQcm9wIGxvY2FsIHJlYWRzLwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt4AAAAQBudHMgZm9yIHJlcGxpY2FzIHRoYXQgdGltZW91dCwgbm90IGp1c3QgcmVwbGljYXMgdGhhdCBhcmUga25vd24KICAgdG8gYmUgZG93biBiZWZvcmUgc3RhcnRpbmcgKENBU1NBTkRSQS0yMDM0KQogKiBBZGQgdGhyb3R0bGluZyBmb3IgaW50ZXJub2RlIHN0cmVhbWluZyAoQ0FTU0FORFJBLTMwODApCiAqIG1ha2UgdGhlIHJlcGFpciBvZiBhIHJhbmdlIHJlcGFpciBhbGwgcmVwbGljYSAoQ0FTU0FORFJBLTI2MTAsIDMxOTQpCiAqIGV4cG9zZSB0aGUgva1l+wAAAU/ePLJcABB5cGVzIHRvIGFsbCBhdXRoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3gAAABACByaWRpY3Vsb3VzbHkgbGFyZ2UgbWF4IHNzdGFibGUgc2l6ZXMgaW4gTENTIChDQVNTQU5EUkEtNTU4OSkKICogSWdub3JlIHByZS10cnVuY2F0ZSBoaW50cyAoQ0FTU0FORFJBLTQ2NTUpCiAqIE1vdmUgU3lzdGVtLmV4aXQgb24gT09NIGludG8gYSBzZXBhcmF0ZSB0aHJlYWQgKENBU1NBTkRSQS01MjczKQogKiBXcml0ZSByb3cgbWFya2VycyB3aGVuIHNlcmlhbGl6aW5nIHNjaGVtYSAoQ0FTU0FORFJBLTU1NzIpCiAqIENoZWNrIG9ubHkgU1NUYWJfwHZkAAABT948slwAEDgpCiAqIFJhbmRvbWl6ZSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILeAAAAEAb2FkaW5nIGNvbXByZXNzZWQgc3N0YWJsZXMgKENBU1NBTkRSQS01ODIwKQogKiAoSGFkb29wKSBmaXggcXVvdGluZyBpbiBDcWxQYWdpbmdSZWNvcmRSZWFkZXIgYW5kIENxbFJlY29yZFdyaXRlciAKICAgKENBU1NBTkRSQS01ODI0KQogKiB1cGRhdGUgZGVmYXVsdCBMQ1Mgc3N0YWJsZSBzaXplIHRvIDE2ME1CIChDQVNTQU5EUkEtNTcyNykKICogQWxsb3cgY29tcGFjdGluZyAySXMgdmlhIG5vZGV0b29sIChDQVNTQU5EUkEtNTY3MCkKICogSGV4LVgYt+oAAAFP3jyyXAAQLTQ0MjApCiAqIGNoYW5nZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt4AAAAQAyNzEsIDY2OTIpCiAqIE11bHRpdGhyZWFkZWQgY29tbWl0bG9nIChDQVNTQU5EUkEtMzU3OCkKICogYWxsb2NhdGUgZml4ZWQgaW5kZXggc3VtbWFyeSBtZW1vcnkgcG9vbCBhbmQgcmVzYW1wbGUgY29sZCBpbmRleCBzdW1tYXJpZXMgCiAgIHRvIHVzZSBsZXNzIG1lbW9yeSAoQ0FTU0FORFJBLTU1MTkpCiAqIFJlbW92ZWQgbXVsdGl0aHJlYWRlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtNjE0MikKICogUGFyYWxsZWxpemUgZmV0Y2hpbmcgcm93cyBmgQRxegAAAU/ePLJcABBuIGhhbmRzaGFrZSArIGJyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3gAAABAFJld3JpdGVyIHdpdGggZGlzYWJsZWQgZWFybHkgb3BlbiAoQ0FTU0FORFJBLTg1MzUpCiAqIEFsbG93IGludmFsaWRhdGluZyBwZXJtaXNzaW9ucyBhbmQgY2FjaGUgdGltZSAoQ0FTU0FORFJBLTg3MjIpCiAqIExvZyB3YXJuaW5nIHdoZW4gcXVlcmllcyB0aGF0IHdpbGwgcmVxdWlyZSBBTExPVyBGSUxURVJJTkcgaW4gQ2Fzc2FuZHJhIDMuMAogICBhcmUgZXhlY3V0ZWQgKENBU1NBTkRSQS04NDE4KQogKiBGaXggY2Fzc2FuZHJhLXN0cmVzcyBzbyCKnBPIAAABT948slwAEHRyZXNzIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILeAAAAEAbmFtZXMgZm9yIFx3KyAoQ0FTU0FORFJBLTIxOTYpCiAqIEZpeCBDYXNzYW5kcmEgY2xpIHRvIHJlc3BlY3QgdGltZW91dCBpZiBzY2hlbWEgZG9lcyBub3Qgc2V0dGxlIAogICAoQ0FTU0FORFJBLTIxODcpCiAqIGZpeCBmb3IgY29tcGFjdGlvbiBhbmQgY2xlYW51cCB3cml0aW5nIG9sZC1mb3JtYXQgZGF0YSBpbnRvIG5ldy12ZXJzaW9uIAogICBzc3RhYmxlIChDQVNTQU5EUkEtMjIxMSwgLTIyMTYpCiAqIGFkZCBub2RldG9vbCBzY3J1YiAoQ0FTU7CgtlwAAAFP3jyyXAAQKENBU1NBTkRSQS0xNDc3KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt4AAAAQBTVEFNUCcgaXMgdXNlZCBvbiBhIENBUyBCQVRDSCAoQ0FTU0FORFJBLTcwNjcpCiAqIHJldHVybiBhbGwgY3B1IHZhbHVlcyBmcm9tIEJhY2tncm91bmRBY3Rpdml0eU1vbml0b3IucmVhZEFuZENvbXB1dGUgKENBU1NBTkRSQS03MTgzKQogKiBDb3JyZWN0bHkgZGVsZXRlIHNjaGVkdWxlZCByYW5nZSB4ZmVycyAoQ0FTU0FORFJBLTcxNDMpCiAqIHJldHVybiBhbGwgY3B1IHZhbHVlcyBmcm9tIEJhY2tncm91bmRBY3Rpdml0eU1vbml0b3IucmVhZEFuMnAywQAAAU/ePLJcABA9MCBkaXNhYmxlcyBhdXRvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3gAAABAGwgc2VyaWFsaXphdGlvbiAoQ0FTU0FORFJBLTU2NjQpCiAqIFVwZ3JhZGUgVGhyaWZ0IHRvIDAuOS4xIChDQVNTQU5EUkEtNTkyMykKICogUmVxdWlyZSBzdXBlcnVzZXIgc3RhdHVzIGZvciBhZGRpbmcgdHJpZ2dlcnMgKENBU1NBTkRSQS01OTYzKQogKiBNYWtlIHN0YW5kYWxvbmUgc2NydWJiZXIgaGFuZGxlIG9sZCBhbmQgbmV3IHN0eWxlIGxldmVsZWQgbWFuaWZlc3QKICAgKENBU1NBTkRSQS02MDA1KQogKiBGaXggcGF4b3MgYnVncyAoQ0FTU0FoVbFdAAABT948slwAEG5ncyBvZiBhIGRlY2VudCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILeAAAAEAMzgpCiAqIChjcWwzKSBBZGQgc3VwcG9ydCBmb3IgMm5kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS0zNjgwKQogKiAoY3FsMykgZml4IGRlZmluaW5nIG1vcmUgdGhhbiBvbmUgUEsgdG8gYmUgaW52YWxpZCAoQ0FTU0FORFJBLTQ0NzcpCiAqIHJlbW92ZSBzY2hlbWEgYWdyZWVtZW50IGNoZWNraW5nIGZyb20gYWxsIGV4dGVybmFsIEFQSXMgKFRocmlmdCwgQ1FMIGFuZCBDUUwzKSAoQ0FTU0FORFJBLTQ0ODcpCiAqIGFkZCBNdXJtdXIzUGFydGl0aW9uZZxmw3gAAAFP3jyyXAAQU0FORFJBLTE4OTMpCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt4AAAAQBmcm9tIERUUEUgd2l0aCB0aGUgb3JpZ2luYWwKICAgZXhjZXB0aW9uIHJhdGhlciB0aGFuIHRoZSBFeGVjdXRpb25FeGNlcHRpb24gd3JhcHBlciAoQ0FTU0FORFJBLTEyMjYpCiAqIHJlbW92ZSBDbG9jayBmcm9tIHRoZSBUaHJpZnQgKGFuZCBBdnJvKSBBUEkgKENBU1NBTkRSQS0xNTAxKQogKiBDbG9zZSBpbnRyYS1ub2RlIHNvY2tldHMgd2hlbiBjb25uZWN0aW9uIGlzIGJyb2tlbiAoQ0FTU0FORFJBLTE1MjgpCiAqIFJQTSBwYWNrYWdpbmcgc3BlJVTuCAAAAU/ePLJcABAyMCkKICogQWRkIHNuYXBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3gAAABAGQgY2FjaGUgc2F2ZS9sb2FkIGFiaWxpdHkgKENBU1NBTkRSQS0xNDE3LCAxNjA2LCAxNjQ3KQogKiBhZGQgU3RvcmFnZVNlcnZpY2UuZ2V0RHJhaW5Qcm9ncmVzcyAoQ0FTU0FORFJBLTE1ODgpCiAqIERpc2FsbG93IGJvb3RzdHJhcCB0byBhbiBpbi11c2UgdG9rZW4gKENBU1NBTkRSQS0xNTYxKQogKiBBbGxvdyBkeW5hbWljIHNlY29uZGFyeSBpbmRleCBjcmVhdGlvbiBhbmQgZGVzdHJ1Y3Rpb24gKENBU1NBTkRSQS0xNTMyKQogKiBsb2cgYXV0by3+EaOUAAABT948slwAECBjYXNzYW5kcmEuYmF0ICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILeAAAAEAIHJlc3VsdHMgYXMgYW4gYXR0cmlidXRlIChDQVNTQU5EUkEtNDQ1MikKICogZmx1c2ggYmFzZWQgb24gZGF0YSBzaXplLCBub3QgdGhyb3VnaHB1dDsgb3ZlcndyaXR0ZW4gY29sdW1ucyBubyAKICAgbG9uZ2VyIGFydGlmaWNpYWxseSBpbmZsYXRlIGxpdmVSYXRpbyAoQ0FTU0FORFJBLTQzOTkpCiAqIHVwZGF0ZSBkZWZhdWx0IGNvbW1pdGxvZyBzZWdtZW50IHNpemUgdG8gMzJNQiBhbmQgdG90YWwgY29tbWl0bG9nCiAgIHNpemUgdG8gMzIvMTAyNK6V/1kAAAFP3jyyXAAQZXN0cnVjdGlvbiAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt4AAAAQBwZXJjb2x1bW4gKENBU1NBTkRSQS01MDgpCiAqIGZpeCBudWxsIHRva2VuIGR1cmluZyBib290c3RyYXAgKENBU1NBTkRSQS01MDEpCgoKMC40LjEKICogRml4IEZsdXNoUGVyaW9kIGNvbHVtbmZhbWlseSBjb25maWd1cmF0aW9uIHJlZ3Jlc3Npb24KICAgKENBU1NBTkRSQS00NTUpCiAqIEZpeCBsb25nIGNvbHVtbiBuYW1lIHN1cHBvcnQgKENBU1NBTkRSQS00NjApCiAqIEZpeCBmb3Igc2VyaWFsaXppbmcgYSByb3cgdGhhdCBvbmx5IGNvbnRhaW5zphPuigAAAU/ePLJcABBhdGVyIGluIFJlZkNvdW50AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3gAAABAENUIHF1ZXJpZXMgb24gc3RhdGljIGNvbHVtbnMgd2l0aCBxdWVyeQogICBwYWdpbmcgKENBU1NBTkRSQS04MTA4KQogKiBBZGQgRGF0ZVRpZXJlZENvbXBhY3Rpb25TdHJhdGVneSAoQ0FTU0FORFJBLTY2MDIpCiAqIFByb3Blcmx5IHZhbGlkYXRlIGFzY2lpIGFuZCB1dGY4IHN0cmluZyBsaXRlcmFscyBpbiBDUUwgcXVlcmllcyAoQ0FTU0FORFJBLTgxMDEpCiAqIChjcWxzaCkgRml4IGF1dG9jb21wbGV0aW9uIGZvciBhbHRlciBrZXlzcGFjZSAoQ0GfNgbjABHmr+kpIWYAAAFP3jyyXAAQQU5EUkEtODY2KQogKiBleAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt4wAAAQAqIHZhbGlkYXRlIHZhbHVlcyBmb3IgaW5kZXggcHJlZGljYXRlcyBpbiBnZXRfaW5kZXhlZF9zbGljZSAoQ0FTU0FORFJBLTIzMjgpCiAqIHF1ZXVlIHNlY29uZGFyeSBpbmRleGVzIGZvciBmbHVzaCBiZWZvcmUgdGhlIHBhcmVudCAoQ0FTU0FORFJBLTIzMzApCiAqIGFsbG93IGpvYiBjb25maWd1cmF0aW9uIHRvIHNldCB0aGUgQ0wgdXNlZCBpbiBIYWRvb3Agam9icyAoQ0FTU0FORFJBLTIzMzEpCiAqIGFkZCBtZW10YWJsZV9mbHVzaF9xdWV1ZV9z8u0x2AAAAU/ePLJcABB0aW9uIHByb2Nlc3NpbmcgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3jAAABAHdoZW4gdG9tYnN0b25lIGNvbnRlbnQgaXMKICAgaGlnaGVyIHRoYW4gYSBjb25maWd1cmFibGUgdGhyZXNob2xkLCBkZWZhdWx0IDIwJSAoQ0FTU0FORFJBLTM0NDIsIDQyMzQpCiAqIHVwZGF0ZSBNdXJtdXJIYXNoIHRvIHZlcnNpb24gMyAoQ0FTU0FORFJBLTI5NzUpCiAqIChDTEkpIHRyYWNrIGVsYXBzZWQgdGltZSBmb3IgYGRlbGV0ZScgb3BlcmF0aW9uIChDQVNTQU5EUkEtNDA2MCkKICogKENMSSkgamxpbmUgdmVyc2lvbiBpcyBidW1wZWQgdG8J+n8wAAABT948slwAEHRoIHNpbmdsZS1wYXJ0aXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILeMAAAEAKQogKiBNYWtlIHJlcGFpciAtcHIgd29yayB3aXRoIC1sb2NhbCAoQ0FTU0FORFJBLTc0NTApCiAqIEZpeCBlcnJvciBpbiBzc3RhYmxlbG9hZGVyIHdpdGggLWNwaCA+IDEgKENBU1NBTkRSQS04MDA3KQogKiBGaXggc25hcHNob3QgcmVwYWlyIGVycm9yIG9uIGluZGV4ZWQgdGFibGVzIChDQVNTQU5EUkEtODAyMCkKICogRG8gbm90IGV4aXQgbm9kZXRvb2wgcmVwYWlyIHdoZW4gcmVjZWl2aW5nIEpNWCBOT1RJRl9MT1NUIChDQVNTQU5EUkEtNzkwOT3/O4IAAAFP3jyyXAAQcyBhbmQgcnVuIHRocm91ZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt4wAAAQBBU1NBTkRSQS03ODM0KQogKiBGaXggZmFpbHVyZSB0byBzdHJlYW0gcmFuZ2VzIHdoZW4gbW92aW5nIChDQVNTQU5EUkEtNzgzNikKICogQ29ycmVjdGx5IHJlbW92ZSB0bXBsaW5rIGZpbGVzIChDQVNTQU5EUkEtNzgwMykKICogKGNxbHNoKSBGaXggY29sdW1uIG5hbWUgZm9ybWF0dGluZyBmb3IgZnVuY3Rpb25zLCBDQVMgb3BlcmF0aW9ucywKICAgYW5kIFVEVCBmaWVsZCBzZWxlY3Rpb25zIChDQVNTQU5EUkEtNzgwNikKICogKGNxbHNoKSBGaXggpAVtVgAAAU/ePLJcABBDRlMgb2JqZWN0cyBpbiAKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3jAAABAGRkIGRlc2NyaWJlX2xvY2FsX3JpbmcgKENBU1NBTkRSQS02MjY4KQogKiBGaXggaGFuZGxpbmcgb2YgY29uY3VycmVudCBkaXJlY3RvcnkgY3JlYXRpb24gZmFpbHVyZSAoQ0FTU0FORFJBLTY0NTkpCiAqIEFsbG93IGV4ZWN1dGluZyBDUkVBVEUgc3RhdGVtZW50cyBtdWx0aXBsZSB0aW1lcyAoQ0FTU0FORFJBLTY0NzEpCiAqIERvbid0IHNlbmQgY29uZnVzaW5nIGluZm8gd2l0aCB0aW1lb3V0cyAoQ0FTU0FORFJBLTY0OTEpCiAqIERvbid0IHJlc3UmuvGFAAABT948slwAEHlzcGFjZSBhcmd1bWVudCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILeMAAAEAaWNzIGluIG5vZGV0b29sIChDQVNTQU5EUkEtNTg3MSwgNjQwNikKICogQmF0Y2ggcmVhZCBmcm9tIE9UQydzIHF1ZXVlIGFuZCBjbGVhbnVwIChDQVNTQU5EUkEtMTYzMikKICogU2Vjb25kYXJ5IGluZGV4IHN1cHBvcnQgZm9yIGNvbGxlY3Rpb25zIChDQVNTQU5EUkEtNDUxMSwgNjM4MykKICogU1NUYWJsZSBtZXRhZGF0YShTdGF0cy5kYikgZm9ybWF0IGNoYW5nZSAoQ0FTU0FORFJBLTYzNTYpCiAqIFB1c2ggY29tcG9zaXRlcyBzdXBwb3J0IGluIMHa6oEAAAFP3jyyXAAQIHRvIHBhcmFsbGVsIHJlcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt4wAAAQB4IGJyb2tlbiBzeXN0ZW0uc2NoZW1hXyogdGltZXN0YW1wcyBvbiBzeXN0ZW0gc3RhcnR1cCAoQ0FTU0FORFJBLTQ1NjEpCiAqIGZpeCB3cm9uZyBza2lwIG9mIGNhY2hlIHNhdmluZyAoQ0FTU0FORFJBLTQ1MzMpCiAqIEF2b2lkIE5QRSB3aGVuIGxvc3QrZm91bmQgaXMgaW4gZGF0YSBkaXIgKENBU1NBTkRSQS00NTcyKQogKiBSZXNwZWN0IGZpdmUtbWludXRlIGZsdXNoIG1vcmF0b3JpdW0gYWZ0ZXIgaW5pdGlhbCBDTCByZXBsYXkgKENBU1NBTkRSrmPCrgAAAU/ePLJcABBBLTUzODUpCiAqIGNxbHNoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3jAAABAHJlbnQga2V5c3BhY2UgaXMgbm90IHNldCAoQ0FTU0FORFJBLTU0NjgpCiAqIEZpeCBTZW1hbnRpY1ZlcnNpb24uaXNTdXBwb3J0ZWRCeSBtaW5vci9wYXRjaCBoYW5kbGluZyAoQ0FTU0FORFJBLTU0OTYpCiAqIERvbid0IHByb3ZpZGUgb2xkQ2ZJZCBmb3IgcG9zdC0xLjEgc3lzdGVtIGNmcyAoQ0FTU0FORFJBLTU0OTApCiAqIEZpeCBwcmltYXJ5IHJhbmdlIGlnbm9yZXMgcmVwbGljYXRpb24gc3RyYXRlZ3kgKENBU1NBTkRSQS01NDI0KQogKiBGaXiE6sroAAABT948slwAEHJzIG9uIENRTDMgdGFibGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILeMAAAEAZQogICAgICBzY2FucyBhcyB3ZWxsLiAgUmVtb3ZlZCBnZXRfc2xpY2VfYnlfcmFuZ2UgYXMgcmVkdW5kYW50LgogICAgLSBnZXRfa2V5X3JhbmdlIG9wZXJhdGVzIG9uIG9uZSBDRiBhdCBhIHRpbWUKICAgIC0gY2hhbmdlZCBgYmxvY2tgIGJvb2xlYW4gb24gaW5zZXJ0IG1ldGhvZHMgdG8gQ29uc2lzdGVuY3lMZXZlbCBlbnVtLAogICAgICB3aXRoIG9wdGlvbnMgb2YgTk9ORSwgT05FLCBRVU9SVU0sIGFuZCBBTEwuCiAgICAtIGFkZGVkIHNpbWlsYWVT7koAAAFP3jyyXAAQdGltZXN0YW1wIChDQVNTQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt4wAAAQBsbCBUQ1AgbWVzc2FnZXMgd2hpbGUgYXZvaWRpbmcKICAgdGhlIG5hZ2xlL2RlbGF5ZWQgYWNrIHByb2JsZW0gKENBU1NBTkRSQS0xODk2KQogKiBjaGVjayBsb2c0aiBjb25maWd1cmF0aW9uIGZvciBjaGFuZ2VzIGV2ZXJ5IDEwcyAoQ0FTU0FORFJBLTE1MjUsIDE5MDcpCiAqIG1vcmUtZWZmaWNpZW50IGNyb3NzLURDIHJlcGxpY2F0aW9uIChDQVNTQU5EUkEtMTUzMCwgLTIwNTEsIC0yMTM4KQogKiBhdm9pZCBwb2xsdXRpbmcgcGFnZSBjYWNoZSB3RUTvSAAAAU/ePLJcABBhdGUgb2JqZWN0cyAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3jAAABAHJvdyBPT00gaWYgYWxsb2NhdGluZyBtZW1vcnkgZmFpbHMgdG8gcmV0dXJuIGEgdmFsaWQgcG9pbnRlciAoQ0FTU0FORFJBLTg3MjYpCiAqIEZpeCBTU1RhYmxlU2ltcGxlVW5zb3J0ZWRXcml0ZXIgQ29uY3VycmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlvbiAoQ0FTU0FORFJBLTg2MTkpCiAqICdub2RldG9vbCBpbmZvJyBwcmludHMgZXhjZXB0aW9uIGFnYWluc3Qgb2xkZXIgbm9kZSAoQ0FTU0FORFJBLTg3OTYpCiAqIEVuc3VyZSBTU1RhYmxlU2ltcGylRGIMAAABT948slwAEGFtZXRlciB0byBQaWcgYW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILeMAAAEAY2hlIGV2aWN0aW9uIG9mIGNvbXByZXNzZWQgZmlsZXMgKENBU1NBTkRSQS04NzQ2KQogKiBTU1RhYmxlU2Nhbm5lciBlbmZvcmNlcyBpdHMgYm91bmRzIChDQVNTQU5EUkEtODk0NikKICogQ2xlYW51cCBjZWxsIGVxdWFsaXR5IChDQVNTQU5EUkEtODk0NykKICogSW50cm9kdWNlIGludHJhLWNsdXN0ZXIgbWVzc2FnZSBjb2FsZXNjaW5nIChDQVNTQU5EUkEtODY5MikKICogRGF0YWJhc2VEZXNjcmlwdG9yIHRocm93cyBOUEUgd2hlbiBycGNfaW50ZXaFp6AAAAFP3jyyXAAQKENBU1NBTkRSQS03NDE3KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt4wAAAQBhbVRyYW5zZmVyVGFzayB0aGF0IGNvdWxkIGxlYWQgdG8KICAgaW5maW5pdGUgbG9vcHMgYW5kIHByZW1hdHVyZSBzc3RhYmxlIGRlbGV0aW9uIChDQVNTQU5EUkEtNzcwNCkKICogQWRkIGFuIGV4dHJhIHZlcnNpb24gY2hlY2sgdG8gTWlncmF0aW9uVGFzayAoQ0FTU0FORFJBLTg0NjIpCiAqIEVuc3VyZSBTU1RhYmxlV3JpdGVyIGNsZWFucyB1cCBwcm9wZXJseSBhZnRlciBmYWlsdXJlIChDQVNTQU5EUkEtODQ5OSkKICogSW5jcmVhc2UgYmYgdHJ1xa8qrgAAAU/ePLJcABAgd2hhdCBpdCBpcyBnaXZlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3jAAABADIpCiAqIEZpeCBpbmNvbXBsZXRlIGRlbGV0aW9uIG9mIGRlbGl2ZXJlZCBoaW50cyAoQ0FTU0FORFJBLTM0NjYpCiAqIEF2b2lkIHJlc2NoZWR1bGluZyBjb21wYWN0aW9ucyB3aGVuIG5vIGNvbXBhY3Rpb24gd2FzIGV4ZWN1dGVkIAogICAoQ0FTU0FORFJBLTM0ODQpCiAqIGZpeCBoYW5kbGluZyBvZiB0aGUgY2h1bmtfbGVuZ3RoX2tiIGNvbXByZXNzaW9uIG9wdGlvbnMgKENBU1NBTkRSQS0zNDkyKQpNZXJnZWQgZnJvbSAwLjg6CiAqIGZpeCB1cGQ7knbHAAABT948slwAECogY3Fsc2ggREVTQyBDTFUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILeMAAAEAcnRpdGlvbmVyIG93bmVyc2hpcCUgY2FsY3VsYXRpb24gKENBU1NBTkRSQS01MDc2KQogKiBEb24ndCBleHBpcmUgY29sdW1ucyBzb29uZXIgdGhhbiB0aGV5IHNob3VsZCBpbiAybmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTUwNzkpCgoKMS4yLXJjMQogKiByZW5hbWUgcnBjX3RpbWVvdXQgc2V0dGluZ3MgdG8gcmVxdWVzdF90aW1lb3V0IChDQVNTQU5EUkEtNTAyNykKICogYWRkIEJGIHdpdGggMC4xIEZQIHRvIExDUyBieSBkZWZhdWx0IChDQVNTQfZwmzEAEfsMkQ9cMAAAAU/ePLJcABAgcGVyZm9ybWFuY2UgaW1wAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3lAAABAHN0cyAoQ0FTU0FORFJBLTE1ODIpCiAqIHVwZGF0ZSBHQyBzZXR0aW5ncyBpbiBjYXNzYW5kcmEuYmF0IChDQVNTQU5EUkEtMTYzNikKICogY2xpIHN1cHBvcnQgZm9yIGluZGV4IHF1ZXJpZXMgKENBU1NBTkRSQS0xNjM1KQogKiBjbGkgc3VwcG9ydCBmb3IgdXBkYXRpbmcgc2NoZW1hIG1lbXRhYmxlIHNldHRpbmdzIChDQVNTQU5EUkEtMTYzNCkKICogY2xpIC0tZmlsZSBvcHRpb24gKENBU1NBTkRSQS0xNjE2KQogKiByZWR1Y2UgYXV0b21hdGljYWxRRmRdAAABT948slwAECByZXBhaXIgaGFuZyB3aGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILeUAAAEAc3VwZXJjb2x1bW5zIChDQVNTQU5EUkEtNzczMykKICogRml4IHBvdGVudGlhbCBBc3NlcnRpb25FcnJvciBpbiBSYW5nZVRvbWJzdG9uZUxpc3QgKENBU1NBTkRSQS03NzAwKQogKiBWYWxpZGF0ZSBhcmd1bWVudHMgb2YgYmxvYkFzKiBmdW5jdGlvbnMgKENBU1NBTkRSQS03NzA3KQogKiBGaXggcG90ZW50aWFsIEFzc2VydGlvbkVycm9yIHdpdGggMm5kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS02NjEyKQogKiBBdm9pZCBsb2dnaW5nIENvbXBhY3Rpb5aNOSwAAAFP3jyyXAAQdWxsUG9pbnRlckV4Y2VwdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt5QAAAQBpdGlvbmVyIHJlc3VsdHMgKENBU1NBTkRSQS0zNzcxKQogKiAoY3FsMykgRml4IGRyb3AgaW5kZXggKENBU1NBTkRSQS00MTkyKQogKiAoY3FsMykgRG9uJ3QgcmV0dXJuIHJhbmdlIGdob3N0cyBhbnltb3JlIChDQVNTQU5EUkEtMzk4MikKICogZml4IHJlLWNyZWF0aW5nIEtleXNwYWNlcy9Db2x1bW5GYW1pbGllcyB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgZHJvcHBlZAogICBvbmVzIChDQVNTQU5EUkEtNDIxOSkKICogZml4IFNlY29uZGFyeUluZGV49ia+7AAAAU/ePLJcABA4OSkKICogYWRkIGludGVyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3lAAABAGluIENBUyB0aW1lb3V0IGV4Y2VwdGlvbnMgKENBU1NBTkRSQS02NTk1KQogKiBBZGQgc3VwcG9ydCBmb3IgMi4xIGdsb2JhbCBjb3VudGVyIHNoYXJkcyAoQ0FTU0FORFJBLTY1MDUpCiAqIEZpeCBOUEUgd2hlbiBzdHJlYW1pbmcgY29ubmVjdGlvbiBpcyBub3QgeWV0IGVzdGFibGlzaGVkIChDQVNTQU5EUkEtNjIxMCkKICogQXZvaWQgcmFyZSBkdXBsaWNhdGUgcmVhZCByZXBhaXIgdHJpZ2dlcmluZyAoQ0FTU0FORFJBLTY2MDYpCiAqIEZpeCBwYWevlWykAAABT948slwAEDcxNykKICogbWFrZSBjb2wAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILeUAAAEAaWdnZXIgYSBmYWxzZS1wb3NpdGl2ZSBhc3NlcnRpb24KICAgZHVyaW5nIHBvc3QtZmx1c2ggZGlzY2FyZCBvZiBvbGQgY29tbWl0bG9nIHNlZ21lbnRzIChDQVNTQU5EUkEtOTM2KQogKiBmaXggbmVpZ2hib3IgY2FsY3VsYXRpb24gZm9yIGFudGktZW50cm9weSByZXBhaXIgKENBU1NBTkRSQS05MjQpCiAqIHBlcmZvcm0gcmVwYWlyIGV2ZW4gZm9yIHNtYWxsIGVudHJvcHkgZGlmZmVyZW5jZXMgKENBU1NBTkRSQS05MjQpCiAqIFVzZSBob3N0bmFtZUDAgDYAAAFP3jyyXAAQb25zIHdpdGggb2xkZXIgdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt5QAAAQBlcnMgdGhhbiBzdXBwb3J0ZWQgCiAgIChDQVNTQU5EUkEtNTU5OCkKICogRXhwb3NlIFRocmVhZCBtZXRyaWNzIGZvciB0aGUgbmF0aXZlIHByb3RvY29sIHNlcnZlciAoQ0FTU0FORFJBLTYyMzQpCiAqIENoYW5nZSBzbmFwc2hvdCByZXNwb25zZSBtZXNzYWdlIHZlcmIgdG8gSU5URVJOQUwgdG8gYXZvaWQgZHJvcHBpbmcgaXQgCiAgIChDQVNTQU5EUkEtNjQxNSkKICogV2FybiB3aGVuIGNvbGxlY3Rpb24gcmVhZCBoYXMgPiA2NUsgZWxlbWVudHMgupPA4gAAAU/ePLJcABBSQS0zMzg4KQogKiBBdm9pAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3lAAABAGVzIChDQVNTQU5EUkEtNzI3OSkKICogRml4IERhdGFPdXRwdXRUZXN0IG9uIFdpbmRvd3MgKENBU1NBTkRSQS03MjY1KQogKiBFbWJlZGRlZCBzZXRzIGluIHVzZXIgZGVmaW5lZCBkYXRhLXR5cGVzIGFyZSBub3QgdXBkYXRpbmcgKENBU1NBTkRSQS03MjY3KQogKiBBZGQgdHVwbGUgdHlwZSB0byBDUUwvbmF0aXZlIHByb3RvY29sIChDQVNTQU5EUkEtNzI0OCkKICogRml4IENxbFBhZ2luZ1JlY29yZFJlYWRlciBvbiB0YWJsZXMgd2l0aCBmZXcgcm/9cNuEAAABT948slwAEG9sIHJlcGFpciAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILeUAAAEAZCBzdWJjb2x1bW4gdmVyc2lvbnMgKENBU1NBTkRSQS0zNDQ2KQogKiBhdXRvbWF0aWNhbGx5IGNvbXB1dGUgc2hhMSBzdW0gZm9yIHVuY29tcHJlc3NlZCBkYXRhIGZpbGVzIChDQVNTQU5EUkEtMzQ1NikKICogZml4IHJlYWRpbmcgbWV0YWRhdGEvc3RhdGlzdGljcyBjb21wb25lbnQgZm9yIHZlcnNpb24gPCBoIChDQVNTQU5EUkEtMzQ3NCkKICogYWRkIHNzdGFibGUgZm9yd2FyZC1jb21wYXRpYmlsaXR5IChDQVNTQU5EUkEtMzQ3OCkKICogcmVwb7/GoXkAAAFP3jyyXAAQYmxlcyAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt5QAAAQBSQS01MjI3KQogKiBhZGQgVXNlQ29uZENhcmRNYXJrIFhYIGp2bSBzZXR0aW5ncyBvbiBqZGsgMS43IChDQVNTQU5EUkEtNDM2NikKICogQ1FMMyByZWZhY3RvciB0byBhbGxvdyBjb252ZXJzaW9uIGZ1bmN0aW9uIChDQVNTQU5EUkEtNTIyNikKICogRml4IGRyb3Agb2Ygc3N0YWJsZXMgaW4gc29tZSBjaXJjdW1zdGFuY2UgKENBU1NBTkRSQS01MjMyKQogKiBJbXBsZW1lbnQgY2FjaGluZyBvZiBhdXRob3JpemF0aW9uIHJlc3VsdHMgKENBU1NBTkRSzXaU+AAAAU/ePLJcABBjb252aWN0aW9uIHRocmVzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3lAAABACBQbHVnZ2FibGUgVGhyaWZ0IHRyYW5zcG9ydCBmYWN0b3JpZXMgZm9yIENMSSBhbmQgY3Fsc2ggKENBU1NBTkRSQS00NjA5LCA0NjEwKQogKiBjYXNzYW5kcmEtY2xpOiBhbGxvdyBEb3VibGUgdmFsdWUgdHlwZSB0byBiZSBpbnNlcnRlZCB0byBhIGNvbHVtbiAoQ0FTU0FORFJBLTQ2NjEpCiAqIEFkZCBhYmlsaXR5IHRvIHVzZSBjdXN0b20gVFNlcnZlckZhY3RvcnkgaW1wbGVtZW50YXRpb25zIChDQVNTQU5EUkEtNDYwOCkKICogb3B0aW1pemUgYmH47YKGAAABT948slwAEGRkIC1uby1zbmFwc2hvdCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILeUAAAEAbGltaXQgaW5jcmVhc2VkIGluIHBhY2thZ2luZyAoQ0FTU0FORFJBLTMyMDYpCiAqIExvZyBhIG1lYW5pbmdmdWxsIHdhcm5pbmcgd2hlbiBhIG5vZGUgcmVjZWl2ZSBhIG1lc3NhZ2UgZm9yIGEgcmVwYWlyIHNlc3Npb24KICAgdGhhdCBkb2Vzbid0IGV4aXN0IGFueW1vcmUgKENBU1NBTkRSQS0zMjU2KQogKiBGaXggRkQgbGVhayB3aGVuIGludGVybm9kZSBlbmNyeXB0aW9uIGlzIGVuYWJsZWQgKENBU1NBTkRSQS0zMjU3KQogKiBGQlV0aWxpdGllc4rI6usAAAFP3jyyXAAQcyBzZWUgdGhlIG1vc3QgcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt5QAAAQB6ZSAoQ0FTU0FORFJBLTUyNzIpCiAqIChIYWRvb3ApIEFkZCBDUUwzIGlucHV0L291dHB1dCBmb3JtYXRzIChDQVNTQU5EUkEtNDQyMSwgNTYyMikKICogKEhhZG9vcCkgRml4IElucHV0S2V5UmFuZ2UgaW4gQ0ZJRiAoQ0FTU0FORFJBLTU1MzYpCiAqIEZpeCBkZWFsaW5nIHdpdGggcmlkaWN1bG91c2x5IGxhcmdlIG1heCBzc3RhYmxlIHNpemVzIGluIExDUyAoQ0FTU0FORFJBLTU1ODkpCiAqIElnbm9yZSBwcmUtdHJ1bmNhdGUgaGludHMgKENBU1NB2qYh+AAAAU/ePLJcABAqIGZpeCByZWdyZXNzaW9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3lAAABAEwgcmVwbGF5IChDQVNTQU5EUkEtNDQ3NCkKICogQWRkcyBudHAgYXMgcmVjb21tZW5kZWQgaW4gZGViaWFuIHBhY2thZ2luZyAoQ0FTU0FORFJBLTQ2MDYpCiAqIENvbmZpZ3VyYWJsZSB0cmFuc3BvcnQgaW4gQ0YgUmVjb3Jke1JlYWRlcnxXcml0ZXJ9IChDQVNTQU5EUkEtNDU1OCkKICogKGNxbDMpIGZpeCBwb3RlbnRpYWwgTlBFIHdpdGggYm90aCBlcXVhbCBhbmQgdW5lcXVhbCByZXN0cmljdGlvbiAoQ0FTU0FORFJBLTQ1MzIpCiAqIChjcWwzKSCCSkMUAAABT948slwAEHN0YXR1cyBjb2RlIGlmIHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILeUAAAEAaXRlcmF0b3IncyByZW1vdmUoKSBtZXRob2QgKENBU1NBTkRSQS02NjI5KQogKiBIYW5kbGUgaG9zdCBJRCBjb25mbGljdHMgcHJvcGVybHkgKENBU1NBTkRSQS02NjE1KQogKiBNb3ZlIGhhbmRsaW5nIG9mIG1pZ3JhdGlvbiBldmVudCBzb3VyY2UgdG8gc29sdmUgYm9vdHN0cmFwIHJhY2UuIChDQVNTQU5EUkEtNjY0OCkKICogTWFrZSBzdXJlIGNvbXBhY3Rpb24gdGhyb3VnaHB1dCB2YWx1ZSBkb2Vzbid0IG92ZXJmbG93IHdpdGggaW50IG1hdGggKPsqt6EAAAFP3jyyXAAQRFJBLTc1OTkpCiAqIChjcQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt5QAAAQAwOSkKICogRml4IExDUyBidWcgd2l0aCBzc3RhYmxlIGNvbnRhaW5pbmcgb25seSAxIHJvdyAoQ0FTU0FORFJBLTQ0MTEpCiAqIGZpeCAiQ2FuJ3QgTW9kaWZ5IEluZGV4IE5hbWUiIHByb2JsZW0gb24gQ0YgdXBkYXRlIChDQVNTQU5EUkEtNDQzOSkKICogRml4IGFzc2VydGlvbiBlcnJvciBpbiBnZXRPdmVybGFwcGluZ1NTVGFibGVzIGR1cmluZyByZXBhaXIgKENBU1NBTkRSQS00NDU2KQogKiBmaXggbm9kZXRvb2wncyBzZXRjb21wYWN0aW9udGhyw4JNSAASD2khvMJ+AAABT948slwAEE5EUkEtNTEwKQogKiBmb3IAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILecAAAEAYXhfbWFwX2NvdW50IGluIGRlYmlhbiBwYWNrYWdpbmcgKENBU1NBTkRSQS0zNTYzKQogKiBnb3NzaXBlciB3aWxsIG5ldmVyIGFkZCBpdHNlbGYgdG8gc2F2ZWQgZW5kcG9pbnRzIChDQVNTQU5EUkEtMzQ4NSkKCgoxLjAuNQogKiByZXZlcnQgQ0FTU0FORFJBLTM0MDcgKHNlZSBDQVNTQU5EUkEtMzU0MCkKICogZml4IGFzc2VydGlvbiBlcnJvciB3aGlsZSBmb3J3YXJkaW5nIHdyaXRlcyB0byBsb2NhbCBub2RlcyAoQ0FTU0FORFJBLTM1MzkpCgoKMeJmyu8AAAFP3jyyXAAQcyB0byB0aGUgcmVzdCBvZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt5wAAAQBBLTIyOTApCiAqIHB1cmdlIHRvbWJzdG9uZXMgZnJvbSByb3cgY2FjaGUgKENBU1NBTkRSQS0yMzA1KQogKiBBdm9pZCBzZWVraW5nIHdoZW4gc3N0YWJsZTJqc29uIGV4cG9ydHMgdGhlIGVudGlyZSBmaWxlIChDQVNTQU5EUkEtMjMxOCkKICogY2xlYXIgQnVpbHQgZmxhZyBpbiBzeXN0ZW0gdGFibGUgd2hlbiBkcm9wcGluZyBhbiBpbmRleCAoQ0FTU0FORFJBLTIzMjApCiAqIGRvbid0IGFsbG93IGFyYml0cmFyeSBhcmd1bWVudCBmb3Igc3RyZXNzgiZ6hQAAAU/ePLJcABAKICogY3Fsc2g6IGZpeCBMAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3nAAABAENBU1NBTkRSQS02MTMzKQogKiBsb2NrIGFjY2VzcyB0byBUTS5lbmRwb2ludFRvSG9zdElkTWFwIChDQVNTQU5EUkEtNjEwMykKICogQWxsb3cgZXN0aW1hdGVkIG1lbXRhYmxlIHNpemUgdG8gZXhjZWVkIHNsYWIgYWxsb2NhdG9yIHNpemUgKENBU1NBTkRSQS02MDc4KQogKiBTdGFydCBNZXRlcmVkRmx1c2hlciBlYXJsaWVyIHRvIHByZXZlbnQgT09NIGR1cmluZyBDTCByZXBsYXkgKENBU1NBTkRSQS02MDg3KQogKiBBdm9pZCBzZW5kaW5nIFRydW47AXb1AAABT948slwAEC01MTEyKQogKiBTdG9wIGMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILecAAAEAZCBNQmVhbiB0byBleHBvc2UgcmFjayBhbmQgREMgKENBU1NBTkRSQS0xNDkxKQogKiBhZGRlZCBvcHRpb24gdG8gY29udHJpYi93b3JkX2NvdW50IHRvIG91dHB1dCByZXN1bHRzIGJhY2sgdG8gQ2Fzc2FuZHJhCiAgIChDQVNTQU5EUkEtMTM0MikKICogcmV3cml0ZSBIYWRvb3AgQ29sdW1uRmFtaWx5UmVjb3JkV3JpdGVyIHRvIHBvb2wgY29ubmVjdGlvbnMsIHJldHJ5IHRvCiAgIG11bHRpcGxlIENhc3NhbmRyYSBub2RlcywgYW5kIHNtb290aCBpbZUXSLYAAAFP3jyyXAAQeCBwb3RlbnRpYWwgcmFjZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt5wAAAQBjb21taXRsb2cgYXJjaGl2aW5nIGR1cmluZyBzdGFydHVwIChDQVNTQU5EUkEtODExMSkKICogUmVkdWNlIHRvdGFsQmxvY2tGb3IoKSBmb3IgTE9DQUxfKiBjb25zaXN0ZW5jeSBsZXZlbHMgKENBU1NBTkRSQS04MDU4KQogKiBGaXggbWVyZ2luZyBzY2hlbWFzIHdpdGggcmUtZHJvcHBlZCBrZXlzcGFjZXMgKENBU1NBTkRSQS03MjU2KQogKiBGaXggY291bnRlcnMgaW4gc3VwZXJjb2x1bW5zIGR1cmluZyBsaXZlIHVwZ3JhZGVzIGZyb20gMS4yIChDZzLdLQAAAU/ePLJcABBuIHVzaW5nIElOIChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3nAAABACAoQ0FTU0FORFJBLTYwMDMpCiAqIFJlbW92ZSBSRiBmcm9tIG5vZGV0b29sIHJpbmcgb3V0cHV0IChDQVNTQU5EUkEtNjI4OSkKICogRml4IGF0dGVtcHRpbmcgdG8gZmx1c2ggZW1wdHkgcm93cyAoQ0FTU0FORFJBLTYzNzQpCiAqIEZpeCBwb3RlbnRpYWwgb3V0IG9mIGJvdW5kcyBleGNlcHRpb24gd2hlbiBwYWdpbmcgKENBU1NBTkRSQS02MzMzKQpNZXJnZWQgZnJvbSAxLjI6CiAqIE9wdGltaXplIEZEIHBoaSBjYWxjdWxhdGlvbiAoQ0FTU0FORFIdMjzsAAABT948slwAEG5nZVNsaWNlIHF1ZXJpZXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILecAAAEAaW4gc3N0YWJsZSByb3dzIHdpdGggbm8gb3RoZXIgZGF0YSAoQ0FTU0FORFJBLTEwNjMpCiAqIGZpeCBzaXplIG9mIHJvdyBpbiBzcGFubmVkIGluZGV4IGVudHJpZXMgKENBU1NBTkRSQS0xMDU2KQogKiBpbnN0YWxsIGpzb24yc3N0YWJsZSwgc3N0YWJsZTJqc29uLCBhbmQgc3N0YWJsZWtleXMgdG8gRGViaWFuIHBhY2thZ2UKICogU3RyZWFtaW5nU2VydmljZS5TdHJlYW1EZXN0aW5hdGlvbnMgd291bGRuJ3QgZW1wdHkgaXRzZWxmIGFmdGVyIHN0cgkrO8YAAAFP3jyyXAAQc3RhYmxlIHdyaXRlcwogIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt5wAAAQBlcmllcyB1bmRlciBTVENTIChDQVNTQU5EUkEtMjUwMykKICogQWRkIHRpbWluZyBpbmZvcm1hdGlvbiB0byBjYXNzYW5kcmEtY2xpIEdFVC9TRVQvTElTVCBxdWVyaWVzIChDQVNTQU5EUkEtMzMyNikKICogT25seSBjcmVhdGUgb25lIENvbXByZXNzaW9uTWV0YWRhdGEgb2JqZWN0IHBlciBzc3RhYmxlIChDQVNTQU5EUkEtMzQyNykKICogY2xlYW51cCB1c2FnZSBvZiBTdG9yYWdlU2VydmljZS5zZXRNb2RlKCkgKENBU1NBTkRSQS0zMzg4KQogKiBBjPny3QAAAU/ePLJcABBBTkRSQS0xMzU4KQogKiBhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3nAAABAG9vdHN0cmFwcGluZyAoQ0FTU0FORFJBLTc2MikKICogdG9sZXJhdGUgZGVhZCBvciB1bmF2YWlsYWJsZSBib290c3RyYXAgdGFyZ2V0IG9uIHdyaXRlIChDQVNTQU5EUkEtNzMxKQogKiBhbGxvdyBsYXJnZXIgbnVtYmVycyBvZiBrZXlzICg+IDE0ME0pIGluIGEgc3N0YWJsZSBibG9vbSBmaWx0ZXIKICAgKENBU1NBTkRSQS03OTApCiAqIGluY2x1ZGUganZtIGFyZ3VtZW50IGltcHJvdmVtZW50cyBmcm9tIENBU1NBTkRSQS01MDQgaW4gZGViaWFuIHCygdBoAAABT948slwAEGQvd3JpdGUgc3RhZ2VzCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILecAAAEAeXN0ZW0gdGVzdHMsIGVzcGVjaWFsbHkgY29tbW9uIG9uIE9TIFggKENBU1NBTkRSQS05NDQpCiAqIGNvbnZlcnQgdG8gYnl0ZVtdIGtleXMgaW50ZXJuYWxseSBhbmQgYWxsIHB1YmxpYyBBUElzIChDQVNTQU5EUkEtNzY3KQogKiBhYmlsaXR5IHRvIGFsdGVyIHNjaGVtYSBkZWZpbml0aW9ucyBvbiBhIGxpdmUgY2x1c3RlciAoQ0FTU0FORFJBLTQ0KQogKiByZW5hbWVkIGNvbmZpZ3VyYXRpb24gZmlsZSB0byBjYXNzYW5kcmEueG1sLCBhbmQgbG9nNAJo07oAAAFP3jyyXAAQMjQ2KQogKiByZW5hbWUgcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt5wAAAQB2YS1kcml2ZXIgdXNlZCBmb3IgY2Fzc2FuZHJhLXN0cmVzcyAoQ0FTU0FORFJBLTg4NDIpCiAqIEZpeCBDb21taXRMb2cuZm9yY2VSZWN5Y2xlQWxsU2VnbWVudHMoKSBtZW1vcnkgYWNjZXNzIGVycm9yIChDQVNTQU5EUkEtODgxMikKICogSW1wcm92ZSBhc3NlcnRpb25zIGluIE1lbW9yeSAoQ0FTU0FORFJBLTg3OTIpCiAqIEZpeCBTU1RhYmxlUmV3cml0ZXIgY2xlYW51cCAoQ0FTU0FORFJBLTg4MDIpCiAqIEludHJvZHVjZSBTYWZlTWVtb3J5IGZvqYgwjQAAAU/ePLJcABB0aCAwLjcgbm9kZQogICAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3nAAABACB1c2luZyB2YWx1ZSBieXRlcwogICBhcyBhIHRpZWJyZWFrZXIgKENBU1NBTkRSQS0xMDM5KQogKiBBZGQgb3B0aW9uIHRvIHR1cm4gb2ZmIEhpbnRlZCBIYW5kb2ZmIChDQVNTQU5EUkEtODk0KQogKiBmaXggd2luZG93cyBzdGFydHVwIChDQVNTQU5EUkEtOTQ4KQogKiBtYWtlIGNvbmN1cnJlbnRfcmVhZHMsIGNvbmN1cnJlbnRfd3JpdGVzIGNvbmZpZ3VyYWJsZSBhdCBydW50aW1lIHZpYSBKTVgKICAgKENBU1NBTkRSQS0xMDYwKQogKiBkaXNhYmwBmuMcAAABT948slwAECAtIHN0cmlrZSAzIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILecAAAEAcCBlbXB0eSByb3dzCiAgIChyb3dzIGNvbnRhaW5pbmcgbm90aGluZyBidXQgZXhwaXJlZCB0b21ic3RvbmVzKSAoQ0FTU0FORFJBLTMwMzkpCiAqIHdvcmsgYXJvdW5kIG5hdGl2ZSBtZW1vcnkgbGVhayBpbiBjb20uc3VuLm1hbmFnZW1lbnQuR2FyYmFnZUNvbGxlY3Rvck1YQmVhbgogICAoQ0FTU0FORFJBLTI4NjgpCiAqIHZhbGlkYXRlIHRoYXQgY29sdW1uIG5hbWVzIGluIGNvbHVtbl9tZXRhZGF0YSBhcmUgbm90IGVxdWFsIHRvIGtleV9hbGlhc9eOSsMAAAFP3jyyXAAQQVNTQU5EUkEtNDA0MikKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt5wAAAQBEUkEtNTQyMykKICogRml4IHBvdGVudGlhbCBpbmNyZW1lbnRhbCBiYWNrdXBzIHJhY2UgKENBU1NBTkRSQS01NDEwKQogKiBGaXggcHJlcGFyZWQgQkFUQ0ggc3RhdGVtZW50cyB3aXRoIGJhdGNoLWxldmVsIHRpbWVzdGFtcHMgKENBU1NBTkRSQS01NDE1KQogKiBBbGxvdyBvdmVycmlkaW5nIHN1cGVydXNlciBzZXR1cCBkZWxheSAoQ0FTU0FORFJBLTU0MzApCiAqIGNhc3NhbmRyYS1zaHVmZmxlIHdpdGggSk1YIHVzZXJuYW1lcyBhbmQgcGFzc3dvtHeQJAAAAU/ePLJcABBBU1NBTkRSQS00MDkzKQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3nAAABAGxlY3Rpb25zIChDQVNTQU5EUkEtNTYxNSkKICogRXZhbHVhdGUgbm93KCkgZnVuY3Rpb24gYXQgZXhlY3V0aW9uIHRpbWUgKENBU1NBTkRSQS01NjE2KQogKiBFeHBvc2UgZGV0YWlsZWQgcmVhZCByZXBhaXIgbWV0cmljcyAoQ0FTU0FORFJBLTU2MTgpCiAqIENvcnJlY3QgYmxvYiBsaXRlcmFsICsgUmV2ZXJzZWRUeXBlIHBhcnNpbmcgKENBU1NBTkRSQS01NjI5KQogKiBBbGxvdyBHUEZTIHRvIHByZWZlciB0aGUgaW50ZXJuYWwgSVAgbGlrZSBFQzJWtoMYABIjxm7yzUkAAAFP3jyyXAAQZWJ1ZmZlciBtYXJzaGFsbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt6QAAAQBtZW10YWJsZXMgb24gc2h1dGRvd24gd2hlbiBkdXJhYmxlIHdyaXRlcyBhcmUgZGlzYWJsZWQgCiAgIChDQVNTQU5EUkEtMjk1OCkKICogaW1wcm92ZWQgUE9TSVggY29tcGF0aWJpbGl0eSBvZiBzdGFydCBzY3JpcHRzIChDQVNzQU5EUkEtMjk2NSkKICogYWRkIGNvdW50ZXIgc3VwcG9ydCB0byBIYWRvb3AgSW5wdXRGb3JtYXQgKENBU1NBTkRSQS0yOTgxKQogKiBmaXggYnVnIHdoZXJlIGRpcnR5IGNvbW1pdGxvZyBzZWdtZW50cyB3ZXJlIHJlbW92A3DiIAAAAU/ePLJcABBkIHJvd3MgZHVyaW5nIGNvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3pAAABAF0ga2V5cyBpbnRlcm5hbGx5IGFuZCBhbGwgcHVibGljIEFQSXMgKENBU1NBTkRSQS03NjcpCiAqIGFiaWxpdHkgdG8gYWx0ZXIgc2NoZW1hIGRlZmluaXRpb25zIG9uIGEgbGl2ZSBjbHVzdGVyIChDQVNTQU5EUkEtNDQpCiAqIHJlbmFtZWQgY29uZmlndXJhdGlvbiBmaWxlIHRvIGNhc3NhbmRyYS54bWwsIGFuZCBsb2c0ai5wcm9wZXJ0aWVzIHRvCiAgIGxvZzRqLXNlcnZlci5wcm9wZXJ0aWVzLCB3aGljaCBtdXN0IG5vdyBiZSBsb2FkZWQgZnJvbQqFJOEwAAABT948slwAEDc2ODkpCiAqIEFkZCBzdXAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILekAAAEAcmVzaG9sZHMgZHVyaW5nIGluaXRpYWwgYnVpbGQKICAgKENBU1NBTkRSQS0yMjk0KQogKiB1cGRhdGUgbWVtdGFibGVfdGhyb3VnaHB1dCB0byBiZSBhIGxvbmcgKENBU1NBTkRSQS0yMTU4KQoKCjAuNy4zCiAqIEtlZXAgZW5kcG9pbnQgc3RhdGUgdW50aWwgYVZlcnlMb25nVGltZSAoQ0FTU0FORFJBLTIxMTUpCiAqIGxvd2VyLWxhdGVuY3kgcmVhZCByZXBhaXIgKENBU1NBTkRSQS0yMDY5KQogKiBhZGQgaGludGVkX2hhbmRvZmZfdGhyb3R0bGVfZF55o24AAAFP3jyyXAAQKioxMjcgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt6QAAAQB4IHF1ZXJpZXMgdXNpbmcgTElNSVQgbWlzc2luZyByZXN1bHRzIChDQVNTQU5EUkEtNDU3OSkKICogZml4IGNyb3NzLXZlcnNpb24gZ29zc2lwIG1lc3NhZ2luZyAoQ0FTU0FORFJBLTQ1NzYpCiAqIGFkZGVkIGluZXQgZGF0YSB0eXBlIChDQVNTQU5EUkEtNDYyNykKCgoxLjEuNgogKiBXYWl0IGZvciB3cml0ZXMgb24gc3luY2hyb25vdXMgcmVhZCBkaWdlc3QgbWlzbWF0Y2ggKENBU1NBTkRSQS00NzkyKQogKiBmaXggY29tbWl0bG9nIHJlcGxheSBm/q5tOAAAAU/ePLJcABBhcHBlZCBmbGFnIGFmdGVyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3pAAABAHRpb24gbWF5IG92ZXJsYXAgaW4gTDEgKENBU1NBTkRSQS01OTA3KQogKiBOZXcgc3N0YWJsZXNwbGl0IHRvb2wgdG8gc3BsaXQgbGFyZ2Ugc3N0YWJsZXMgb2ZmbGluZSAoQ0FTU0FORFJBLTQ3NjYpCiAqIEZpeCBwb3RlbnRpYWwgZGVhZGxvY2sgaW4gbmF0aXZlIHByb3RvY29sIHNlcnZlciAoQ0FTU0FORFJBLTU5MjYpCiAqIERpc2FsbG93IGluY29tcGF0aWJsZSB0eXBlIGNoYW5nZSBpbiBDUUwzIChDQVNTQU5EUkEtNTg4MikKTWVyZ2VkIGZyb20PFz3WAAABT948slwAEG9uJ3QgZHJvcCBsb2NhbCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILekAAAEAKiBtYWtlIGNvbnNpc3RlbmN5IGxldmVsIGNvbmZpZ3VyYWJsZSBpbiBjcWxzaCAoQ0FTU0FORFJBLTQ4MjkpCiAqIGZpeCBjcWxzaCByZW5kZXJpbmcgb2YgYmxvYiBmaWVsZHMgKENBU1NBTkRSQS00OTcwKQogKiBmaXggY3Fsc2ggREVTQ1JJQkUgY29tbWFuZCAoQ0FTU0FORFJBLTQ5MTMpCiAqIHNhdmUgdHJ1bmNhdGlvbiBwb3NpdGlvbiBpbiBzeXN0ZW0gdGFibGUgKENBU1NBTkRSQS00OTA2KQogKiBNb3ZlIENvbXByZXNzaW9uTWV0YWRhdGEgb8sB8FEAAAFP3jyyXAAQRFJBLTc4OTcpCiAqIElnbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt6QAAAQBBTkRSQS04MTAyKQogKiBEb24ndCBpbmNsdWRlIHRtcCBmaWxlcyB3aGVuIGRvaW5nIG9mZmxpbmUgcmVsZXZlbCAoQ0FTU0FORFJBLTkwODgpCiAqIFVzZSB0aGUgcHJvcGVyIENBUyBXcml0ZVR5cGUgd2hlbiBmaW5pc2hpbmcgYSBwcmV2aW91cyByb3VuZCBkdXJpbmcgUGF4b3MKICAgcHJlcGFyYXRpb24gKENBU1NBTkRSQS04NjcyKQogKiBBdm9pZCByYWNlIGluIGNhbmNlbGxpbmcgY29tcGFjdGlvbnMgKENBU1NBTkRSQS05MDcwKQogKiBNb3JlP5CEFQAAAU/ePLJcABBhaWx1cmVzIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3pAAABADRqIGZpbGUgaW4gZGViaWFuIHBhY2thZ2UgKENBU1NBTkRSQS00ODU1KQogKiBGaXggZXN0aW1hdGVkIHJvdyBjYWNoZSBlbnRyeSBzaXplIChDQVNTQU5EUkEtNDg2MCkKICogcmVzZXQgZ2V0UmFuZ2VTbGljZSBmaWx0ZXIgYWZ0ZXIgZmluaXNoaW5nIGEgcm93IGZvciBnZXRfcGFnZWRfc2xpY2UKICAgKENBU1NBTkRSQS00OTE5KQogKiBleHB1bmdlIHJvdyBjYWNoZSBwb3N0LXRydW5jYXRlIChDQVNTQU5EUkEtNDk0MCkKICogQWxsb3cgc3RhdGkDQtguAAABT948slwAEDU5KQogKiBmaXggc3RyZXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILekAAAEAYmxlIG5vdCByZWxlYXNlZCBpZiBzdHJlYW0gc2Vzc2lvbiBmYWlscyAoQ0FTU0FORFJBLTY4MTgpCiAqIEF2b2lkIGJ1aWxkIGZhaWx1cmUgZHVlIHRvIEFOVExSIHRpbWVvdXQgKENBU1NBTkRSQS02OTkxKQogKiBRdWVyaWVzIG9uIGNvbXBhY3QgdGFibGVzIGNhbiByZXR1cm4gbW9yZSByb3dzIHRoYXQgcmVxdWVzdGVkIChDQVNTQU5EUkEtNzA1MikKICogVVNJTkcgVElNRVNUQU1QIGZvciBiYXRjaGVzIGRvZXMgbm90IHdvcmsgKENBU1NBTkRSQaj62Y4AAAFP3jyyXAAQLiAgcmVwYWlycyBhcmUgbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt6QAAAQBBTkRSQS00OTU2KQogKiAoY3FsMykgUmVtb3ZlIGFyYml0cmFyeSBTRUxFQ1QgbGltaXQgKENBU1NBTkRSQS00OTE4KQogKiBDb3JyZWN0bHkgaGFuZGxlIHByZXBhcmVkIG9wZXJhdGlvbiBvbiBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTQ5NDUpCiAqIEZpeCBDUUwzIExJTUlUIChDQVNTQU5EUkEtNDg3NykKICogRml4IFN0cmVzcyBmb3IgQ1FMMyAoQ0FTU0FORFJBLTQ5NzkpCiAqIFJlbW92ZSBjYXNzYW5kcmEgc3BlY2lmaWMgZXhjZXB0aW9ucyBmQk2urAAAAU/ePLJcABBvbiB0b21ic3RvbmVzIChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3pAAABAGNoZSB0byB1c2Ugc3VuLm1pc2MuVW5zYWZlIGluc3RlYWQgb2YgSk5BIChDQVNTQU5EUkEtMzI3MSkKICogRUFDSF9RVU9SVU0gaXMgb25seSBzdXBwb3J0ZWQgZm9yIHdyaXRlcyAoQ0FTU0FORFJBLTMyNzIpCiAqIHJlcGxhY2UgY29tcGFjdGlvbmxvY2sgdXNlIGluIHNjaGVtYSBtaWdyYXRpb24gYnkgY2hlY2tpbmcgQ0ZTLmlzVmFsaWQKICAgKENBU1NBTkRSQS0zMTE2KQogKiByZWNvZ25pemUgdGhhdCAiU0VMRUNUIGZpcnN0IC4uLiAqIiBpc26srjinAAABT948slwAECBxdWVyaWVzIChDQVNTQU4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILekAAAEAQU5EUkEtNDQ2MykKICogZnN5bmMgbGV2ZWxlZCBtYW5pZmVzdCB0byBhdm9pZCBjb3JydXB0aW9uIChDQVNTQU5EUkEtNTUzNSkKICogRml4IEJvdW5kIGludGVyc2VjdGlvbiBjb21wdXRhdGlvbiAoQ0FTU0FORFJBLTU1NTEpCiAqIHNzdGFibGVzY3J1YiBub3cgcmVzcGVjdHMgbWF4IG1lbW9yeSBzaXplIGluIGNhc3NhbmRyYS5pbi5zaCAoQ0FTU0FORFJBLTU1NjIpCgoKMS4yLjQKICogRW5zdXJlIHRoYXQgUGVyUm93U2Vjb25kYXJ5SW5kZXggdb2e6jEAAAFP3jyyXAAQcHJvdG9jb2wgc2VydmVyIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt6QAAAQByZWFkcyAoQ0FTU0FORFJBLTI1NTYpCiAqIEFsbG93IGNvbmZpZ3VyaW5nIHRoZSBudW1iZXIgb2YgY29tcGFjdGlvbiB0aHJlYWQgKENBU1NBTkRSQS0yNTU4KQogKiBmb3JjZVVzZXJEZWZpbmVkQ29tcGFjdGlvbiB3aWxsIGF0dGVtcHQgdG8gY29tcGFjdCB3aGF0IGl0IGlzIGdpdmVuCiAgIGV2ZW4gaWYgdGhlIHBlc3NpbWlzdGljIGVzdGltYXRlIGlzIHRoYXQgdGhlcmUgaXMgbm90IGVub3VnaCBkaXNrIHNwYWNlOwogICBhdXRvbWF0aWMgY29tUoxELgAAAU/ePLJcABBBU1NBTkRSQS00NTcyKQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3pAAABACkKICogaW5zdGFsbCBqc29uMnNzdGFibGUsIHNzdGFibGUyanNvbiwgYW5kIHNzdGFibGVrZXlzIHRvIERlYmlhbiBwYWNrYWdlCiAqIFN0cmVhbWluZ1NlcnZpY2UuU3RyZWFtRGVzdGluYXRpb25zIHdvdWxkbid0IGVtcHR5IGl0c2VsZiBhZnRlciBzdHJlYW1pbmcKICAgZmluaXNoZWQgKENBU1NBTkRSQS0xMDc2KQogKiBhZGRlZCBDb2xsZWN0aW9ucy5zaHVmZmxlKHNwbGl0cykgYmVmb3JlIHJldHVybmluZyB0aGUgc3BsaXRzIGluIAogICBDb2zR1s4yAAABT948slwAEHMgY29ycmVjdGx5IChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILekAAAEAZ25vcmUgSU9FeGNlcHRpb24gZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS0zNjU1KQogKiBGaXggYXNzZXJ0aW9uIGVycm9yIGZvciBDRiB3aXRoIGdjX2dyYWNlPTAgKENBU1NBTkRSQS0zNTc5KQogKiBTaHV0ZG93biBQYXJhbGxlbENvbXBhY3Rpb24gcmVkdWNlciBleGVjdXRvciBhZnRlciB1c2UgKENBU1NBTkRSQS0zNzExKQogKiBBdm9pZCA8IDAgdmFsdWUgZm9yIHBlbmRpbmcgdGFza3MgaW4gbGV2ZWxlZCBjb21wYWN0aW9uIChDQVNTQXFJtNUAEjgjEaoYngAAAU/ePLJcABAqIEFkZCBzdXBwb3J0IGZvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3rAAABAC4wLjAuMCBpcyBpbmNvcnJlY3QgaW4gQ0ZJRiAoQ0FTU0FORFJBLTM1ODQpCiAqIEluY3JlYXNlIHZtLm1heF9tYXBfY291bnQgaW4gZGViaWFuIHBhY2thZ2luZyAoQ0FTU0FORFJBLTM1NjMpCiAqIGdvc3NpcGVyIHdpbGwgbmV2ZXIgYWRkIGl0c2VsZiB0byBzYXZlZCBlbmRwb2ludHMgKENBU1NBTkRSQS0zNDg1KQoKCjEuMC41CiAqIHJldmVydCBDQVNTQU5EUkEtMzQwNyAoc2VlIENBU1NBTkRSQS0zNTQwKQogKiBmaXggYXNzZXJ0aW9uIGVycm/XY5WhAAABT948slwAEFJlbW92ZSBsZWZ0LW92ZXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILesAAAEAaW9uIHR5cGUgaW4gam14IChDQVNTQU5EUkEtMTU4NikKICogcmVtb3ZlZCBJQ2xvY2sgJiByZWxhdGVkIGNsYXNzZXMgZnJvbSBpbnRlcm5hbHMgKENBU1NBTkRSQS0xNTAyKQogKiBmaXggcmVtb3ZpbmcgdG9rZW5zIGZyb20gU3lzdGVtVGFibGUgb24gZGVjb21taXNzaW9uIGFuZCByZW1vdmV0b2tlbgogICAoQ0FTU0FORFJBLTE2MDkpCiAqIGluY2x1ZGUgQ0YgbWV0YWRhdGEgaW4gY2xpICdzaG93IGtleXNwYWNlcycgKENBU1NBTkRSQS0xNjEzKbENWooAAAFP3jyyXAAQYWdpbmcgaW4gYmluYXJ5IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt6wAAAQBtYWxmb3JtZWQgcmVxdWVzdHMgY2FuJ3QgT09NIHRoZSAKICAgc2VydmVyIChDQVNTQU5EUkEtNDc1KQogKiBzaWduaWZpY2FudGx5IGZhc3RlciByZWFkcyBmcm9tIHJvdyBjYWNoZSAoQ0FTU0FORFJBLTEyNjcpCiAqIHRha2UgYWR2YW50YWdlIG9mIHJvdyBjYWNoZSBkdXJpbmcgcmFuZ2UgcXVlcmllcyAoQ0FTU0FORFJBLTEzMDIpCiAqIG1ha2UgR0NHcmFjZVNlY29uZHMgYSBwZXItQ29sdW1uRmFtaWx5IHZhbHVlIChDQVNTQU5EUkEtMTI3NikKISTr+wAAAU/ePLJcABBzc3RhYmxlc2NydWIgbm93AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3rAAABAHkgYnJva2VuIGJlY2F1c2Ugb2YgZ2VuZXJhdGlvbiBwcmUtYWxsb2NhdGlvbgogICBpbiBMZXZlbGVkTWFuaWZlc3QgKENBU1NBTkRSQS0zNjkxKQogKiBmaW5lci1ncmFpbmVkIGNvbnRyb2wgb3ZlciBkYXRhIGRpcmVjdG9yaWVzIChDQVNTQU5EUkEtMjc0OSkKICogRml4IENsYXNzQ2FzdEV4Y2VwdGlvbiBkdXJpbmcgaGludGVkIGhhbmRvZmYgKENBU1NBTkRSQS0zNjk0KQogKiBVcGdyYWRlIFRocmlmdCB0byAwLjcgKENBU1NBTkRSQS0zMjEzKQrXWcYnAAABT948slwAEGVjdCBkZWxldGlvbnMgdG8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILesAAAEAYXRlcywgYXMgaW50ZW5kZWQgKENBU1NBTkRSQS0zMjYyKQogKiByZW1vdmUgU2NydWIgZnJvbSBjb21wYWN0aW9uc3RhdHMgd2hlbiBmaW5pc2hlZCAoQ0FTU0FORFJBLTMyNTUpCiAqIGZpeCBjb3VudGVyIGVudHJ5IGluIGpkYmMgVHlwZXNNYXAgKENBU1NBTkRSQS0zMjY4KQogKiBmaXggZnVsbCBxdWV1ZSBzY2VuYXJpbyBmb3IgUGFyYWxsZWxDb21wYWN0aW9uSXRlcmF0b3IgKENBU1NBTkRSQS0zMjcwKQogKiBmaXggYm9vdHN0cmFwIHByb2Nlc63TfScAAAFP3jyyXAAQZCAoQ0FTU0FORFJBLTY2NgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt6wAAAQBnZXN0IChDQVNTQU5EUkEtMTY3OSkKICogZml4IEludGVnZXJUeXBlLmdldFN0cmluZyAoQ0FTU0FORFJBLTE2ODEpCiAqIG1ha2UgLURqYXZhLm5ldC5wcmVmZXJJUHY0U3RhY2s9dHJ1ZSB0aGUgZGVmYXVsdCAoQ0FTU0FORFJBLTYyOCkKICogYWRkIElOVEVSTkFMX1JFU1BPTlNFIHZlcmIgdG8gZGlmZmVyZW50aWF0ZSBmcm9tIHJlc3BvbnNlcyByZWxhdGVkCiAgIHRvIGNsaWVudCByZXF1ZXN0cyAoQ0FTU0FORFJBLTE2ODUpCiAqIGxvZyB0cHN0SgZIpQAAAU/ePLJcABBEUkEtNTgwNSkKICogREMtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3rAAABAG91bnRpbmcgb2YgdG9tYnN0b25lcyBmb3IgVG9tYnN0b25lT3ZlcndoZWxtaW5nRXhjZXB0aW9uIChDQVNTQU5EUkEtOTI5OSkKICogRml4IFJlY29ubmVjdGFibGVTbml0Y2ggcmVjb25uZWN0aW5nIHRvIHBlZXJzIGR1cmluZyB1cGdyYWRlIChDQVNTQU5EUkEtNjcwMikKICogSW5jbHVkZSBrZXlzcGFjZSBhbmQgdGFibGUgbmFtZSBpbiBlcnJvciBsb2cgZm9yIGNvbGxlY3Rpb25zIG92ZXIgdGhlIHNpemUKICAgbGltaXQgKENBU1NBTkRSQS05MjjEdvNwAAABT948slwAEFNTQU5EUkEtNzg2KQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILesAAAEAdGlvbiBkdXJpbmcgQ0YgY3JlYXRpb24KICAgKENBU1NBTkRSQS0zMjkyKQogKiBhdm9pZCBsb2NraW5nIG9uIHVwZGF0ZSB3aGVuIG5vIGluZGV4ZXMgYXJlIGludm9sdmVkIChDQVNTQU5EUkEtMzM4NikKICogZml4IGFzc2VydGlvbkVycm9yIGR1cmluZyByZXBhaXIgd2l0aCBvcmRlcmVkIHBhcnRpdGlvbmVycyAoQ0FTU0FORFJBLTMzNjkpCiAqIGNvcnJlY3RseSBzZXJpYWxpemUga2V5X3ZhbGlkYXRpb25fY2xhc3MgZm9yIGF2cm8gKENBU1NBTq/zrCUAAAFP3jyyXAAQU1NBTkRSQS03ODg1KQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt6wAAAQBpbiBDUUwzIChDQVNTQU5EUkEtNTg4MikKTWVyZ2VkIGZyb20gMS4xOgogKiBDb3JyZWN0bHkgdmFsaWRhdGUgc3BhcnNlIGNvbXBvc2l0ZSBjZWxscyBpbiBzY3J1YiAoQ0FTU0FORFJBLTU4NTUpCgoKMi4wLjAtYmV0YTIKICogUmVwbGFjZSBjb3VudFBlbmRpbmdIaW50cyB3aXRoIEhpbnRzIENyZWF0ZWQgbWV0cmljIChDQVNTQU5EUkEtNTc0NikKICogQWxsb3cgbm9kZXRvb2wgd2l0aCBubyBhcmdzLCBhbmQgd2l0aCBoZWxwIHRvIHJ1biB3aXRofDW+6AAAAU/ePLJcABAqIFByb3Blcmx5IGhhbmRsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3rAAABAEFTU0FORFJBLTI5MjIpCiAqIEZpeCBoYW5kbGluZyBvZiB0b21ic3RvbmUgYnkgU1NUYWJsZUV4cG9ydC9JbXBvcnQgKENBU1NBTkRSQS0zMzU3KQogKiBGaXggdHJhbnNwb3NpdGlvbiBpbiBjZkhpc3RvZ3JhbXMgKENBU1NBTkRSQS0zMjIyKQogKiBBbGxvdyB1c2luZyBudW1iZXIgYXMgREMgbmFtZSB3aGVuIGNyZWF0aW5nIGtleXNwYWNlIGluIENRTCAoQ0FTU0FORFJBLTMyMzkpCiAqIEZvcmNlIGZsdXNoIG9mIHN5c3RlbSB0YWJsZSBhZnRlciBv03mkAAABT948slwAEGVjb25jaWxlIGxvZ2ljIHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILesAAAEAcHRpb25zIHRvIG5vZGV0b29sIChDQVNTQU5EUkEtMTkyMSkKICogbWFrZSBzbml0Y2hlcyBjb25maWd1cmFibGUgYXQgcnVudGltZSAoQ0FTU0FORFJBLTEzNzQpCiAqIHJldHJ5IGhhZG9vcCBzcGxpdCByZXF1ZXN0cyBvbiBjb25uZWN0aW9uIGZhaWx1cmUgKENBU1NBTkRSQS0xOTI3KQogKiBpbXBsZW1lbnQgZGVzY3JpYmVPd25lcnNoaXAgZm9yIEJPUCwgQ09QUCAoQ0FTU0FORFJBLTE5MjgpCiAqIG1ha2UgcmVhZCByZXBhaXIgYmVoYXZlIGFzIHcu8R8AAAFP3jyyXAAQKENBU1NBTkRSQS00MDIxKQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt6wAAAQBlIGFkZHJlc3NlcyBpbiBDbGllbnRTdGF0ZSAoQ0FTU0FORFJBLTYwNzApCiAqIENyZWF0ZSBzbmFwc2hvdCBkaXIgaWYgaXQgZG9lcyBub3QgZXhpc3Qgd2hlbiBtaWdyYXRpbmcKICAgbGV2ZWxlZCBtYW5pZmVzdCAoQ0FTU0FORFJBLTYwOTMpCiAqIG1ha2Ugc2VxdWVudGlhbCBub2RldG9vbCByZXBhaXIgdGhlIGRlZmF1bHQgKENBU1NBTkRSQS01OTUwKQogKiBBZGQgbW9yZSBob29rcyBmb3IgY29tcGFjdGlvbiBzdHJhdGVneSBpbXBsZW1lbnRhin4VpwAAAU/ePLJcABBPUlVNIHJlYWRzIChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3rAAABAGVzdCBtaXNtYXRjaCAoQ0FTU0FORFJBLTUxMTMpCiAqIFZhbGlkYXRlIGNvcnJlY3RseSBzZWxlY3RzIG9uIGNvbXBvc2l0ZSBwYXJ0aXRpb24ga2V5IChDQVNTQU5EUkEtNTEyMikKICogRml4IGV4Y2VwdGlvbiB3aGVuIGFkZGluZyBjb2xsZWN0aW9uIChDQVNTQU5EUkEtNTExNykKICogSGFuZGxlIHN0YXRlcyBmb3Igbm9uLXZub2RlIGNsdXN0ZXJzIGNvcnJlY3RseSAoQ0FTU0FORFJBLTUxMjcpCiAqIFJlZnVzZSB1bnJlY29nbml6ZWQgcmVwbGk20xR/AAABT948slwAEGggY2xhc3Nlcy4gIEV4cGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILesAAAEAIHRvIHJlc2V0IGEgbm9kZSdzIHNjaGVtYSAoQ0FTU0FORFJBLTI5NjMpCiAqIGZpeCBmb3IgaW50ZXJtaXR0ZW50IFNjaGVtYURpc2FncmVlbWVudEV4Y2VwdGlvbiAoQ0FTU0FORFJBLTM4ODQpCiAqIENMSSBgbGlzdCA8Q0Y+YCB0byBsaW1pdCBudW1iZXIgb2YgY29sdW1ucyBhbmQgdGhlaXIgb3JkZXIgKENBU1NBTkRSQS0zMDEyKQogKiBpZ25vcmUgZGVwcmVjYXRlZCBLc0RlZi9DZkRlZi9Db2x1bW5EZWYgZmllbGRzIGluIG5hdGl2ZSBzY2hlbdd7U0sAAAFP3jyyXAAQc2hvdWxkIGF1dG9tYXRpYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt6wAAAQBBU1NBTkRSQS00Njk5KQogKiAoY3FsMykgRG9uJ3QgYWxsb3cgcHJlcGFyZWQgbWFya2VyIGluc2lkZSBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTQ4OTApCiAqIFJlLWFsbG93IG9yZGVyIGJ5IG9uIG5vbi1zZWxlY3RlZCBjb2x1bW5zIChDQVNTQU5EUkEtNDY0NSkKICogQnVnIHdoZW4gY29tcG9zaXRlIGluZGV4IGlzIGNyZWF0ZWQgaW4gYSB0YWJsZSBoYXZpbmcgY29sbGVjdGlvbnMgKENBU1NBTkRSQS00OTA5KQogKiBsb2cgaW5kZXggc2NhbiBz+27g1QASTIBo/MXzAAABT948slwAEC04NzkyKQogKiBGaXggU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILe0AAAEAQU5EUkEtMzI1NykKICogUmVtb3ZlIGluY29ycmVjdCBhc3NlcnRpb24gaW4gbWVyZ2VJdGVyYXRvciAoQ0FTU0FORFJBLTMyNjApCiAqIEZCVXRpbGl0aWVzLmhleFRvQnl0ZXMoU3RyaW5nKSB0byB0aHJvdyBOdW1iZXJGb3JtYXRFeGNlcHRpb24gd2hlbiBzdHJpbmcKICAgY29udGFpbnMgbm9uLWhleCBjaGFyYWN0ZXJzIChDQVNTQU5EUkEtMzIzMSkKICogS2VlcCBTaW1wbGVTbml0Y2ggcHJveGltaXR5IG9yZGVyaW5nIHVuY2hhbmdlZCBmcm9tIHmlNQMAAAFP3jyyXAAQLTI2OTMpCiAqIGNsb25lIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt7QAAAQBpbGVzIHRhcmdldCB0byBidWlsZC54bWwgKENBU1NBTkRSQS05MTIzKQogKiBEbyBub3QgbG9hZCByZWFkIG1ldGVyIGZvciBvZmZsaW5lIG9wZXJhdGlvbnMgKENBU1NBTkRSQS05MDgyKQogKiBjcWxzaDogTWFrZSBDb21wb3NpdGVUeXBlIGRhdGEgcmVhZGFibGUgKENBU1NBTkRSQS04OTE5KQogKiBjcWxzaDogRml4IGRpc3BsYXkgb2YgdHJpZ2dlcnMgKENBU1NBTkRSQS05MDgxKQogKiBGaXggTnVsbFBvaW50ZXJFeGNlcHRpb24gd2hlbiBkZWxl24FzsgAAAU/ePLJcABA3NikKICAgLSBjb3VudGVyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3tAAABAGFsIG9yIHZlcmJvc2UpIHRvIHN0cmVzcyB0b29sIChDQVNTQU5EUkEtNjg0OSkKICogRml4IHJhY2UgY29uZGl0aW9uIGluIEJhdGNoIENMRSAoQ0FTU0FORFJBLTY4NjApCiAqIEltcHJvdmUgY2xlYW51cC9zY3J1Yi91cGdyYWRlc3N0YWJsZXMgZmFpbHVyZSBoYW5kbGluZyAoQ0FTU0FORFJBLTY3NzQpCiAqIEJ5dGVCdWZmZXIgd3JpdGUoKSBtZXRob2RzIGZvciBzZXJpYWxpemluZyBzc3RhYmxlcyAoQ0FTU0FORFJBLTY3ODEpCiAqIFByb3BlciDKrmPkAAABT948slwAEG5zIChDQVNTQU5EUkEtNTAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILe0AAAEAYW5kbGUgbnVsbCB3aXRoIElGIGNvbmRpdGlvbnMgYW5kIFRUTCAoQ0FTU0FORFJBLTY2MjMpCiAqIEFjY291bnQgZm9yIHJhbmdlL3JvdyB0b21ic3RvbmVzIGluIHRvbWJzdG9uZSBkcm9wCiAgIHRpbWUgaGlzdG9ncmFtIChDQVNTQU5EUkEtNjUyMikKICogU3RvcCBDb21taXRMb2dTZWdtZW50LmNsb3NlKCkgZnJvbSBjYWxsaW5nIHN5bmMoKSAoQ0FTU0FORFJBLTY2NTIpCiAqIE1ha2UgY29tbWl0bG9nIGZhaWx1cmUgaGFuZGxpbmcgY29uZmlndYO1okwAAAFP3jyyXAAQKENBU1NBTkRSQS0yNzU2KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt7QAAAQBvdmVkIHRvIENvbXBhY3Rpb25NYW5hZ2VyIHRvIHJlZHVjZSBpL28gY29udGVudGlvbiBhbmQKICAgdXBkYXRlZCB0byB1c2Ugbm9uLWNhY2hlLXBvbGx1dGluZyB3cml0ZXMgKENBU1NBTkRSQS0yMDUzKQogKiBwYWdlIHRocm91Z2ggbGFyZ2Ugcm93cyB3aGVuIGV4cG9ydGluZyB0byBKU09OIChDQVNTQU5EUkEtMjA0MSkKICogYWRkIGZsdXNoX2xhcmdlc3RfbWVtdGFibGVzX2F0IGFuZCByZWR1Y2VfY2FjaGVfc2l6ZXNfYXQgb3B0aW9ucwogICAojGhxgwAAAU/ePLJcABAgKENBU1NBTkRSQS03Nzc0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3tAAABAGwgd2l0aCBubyBhcmdzLCBhbmQgd2l0aCBoZWxwIHRvIHJ1biB3aXRob3V0IGEgc2VydmVyIChDQVNTQU5EUkEtNTczNCkKICogQ2xlYW51cCBBYnN0cmFjdFR5cGUvVHlwZVNlcmlhbGl6ZXIgY2xhc3NlcyAoQ0FTU0FORFJBLTU3NDQpCiAqIFJlbW92ZSB1bmltcGxlbWVudGVkIGNsaSBvcHRpb24gc2NoZW1hLW13dCAoQ0FTU0FORFJBLTU3NTQpCiAqIFN1cHBvcnQgcmFuZ2UgdG9tYnN0b25lcyBpbiB0aHJpZnQgKENBU1NBTkRSQS01NDM1KQogKiCqxH5HAAABT948slwAEHRlIHRoZWlyIEpNWCBzdGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILe0AAAEAIGZvciB0cmlnZ2VycyAoQ0FTU0FORFJBLTc4MjQpCiAqIChjcWxzaCkgU3VwcG9ydCBmb3IgcXVlcnkgcGFnaW5nIChDQVNTQU5EUkEtNzUxNCkKICogKGNxbHNoKSBTaG93IHByb2dyZXNzIG9mIENPUFkgb3BlcmF0aW9ucyAoQ0FTU0FORFJBLTc3ODkpCiAqIEFkZCBzeW50YXggdG8gcmVtb3ZlIG11bHRpcGxlIGVsZW1lbnRzIGZyb20gYSBtYXAgKENBU1NBTkRSQS02NTk5KQogKiBTdXBwb3J0IG5vbi1lcXVhbHMgY29uZGl0aW9ucyBpbiBsaWdodPK3TnEAAAFP3jyyXAAQUkEtNTcyKQogKiBJbmNsdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt7QAAAQAgSW5kZXhlcyBzaG91bGQgcmVwb3J0IG1lbW9yeSBjb25zdW1wdGlvbiAoQ0FTU0FORFJBLTMxNTUpCiAqIGZpeCBmb3IgU2VsZWN0U3RhdGVtZW50IHN0YXJ0L2VuZCBrZXkgYXJlIG5vdCBzZXQgY29ycmVjdGx5CiAgIHdoZW4gYSBrZXkgYWxpYXMgaXMgaW52b2x2ZWQgKENBU1NBTkRSQS0zNzAwKQogKiBmaXggQ0xJIGBzaG93IHNjaGVtYWAgY29tbWFuZCBpbnNlcnQgb2YgYW4gZXh0cmEgY29tbWEgaW4KICAgY29sdW1uX21ldGFkYXRhIChDQVNT9LOuOwAAAU/ePLJcABBlZCAoYW5kIGF2b2lkIGtlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3tAAABAGRkIENxbFJlY29yZFJlYWRlciB1c2luZyBuYXRpdmUgcGFnaW5hdGlvbiAoQ0FTU0FORFJBLTYzMTEpCiAqIEFkZCBRdWVyeUhhbmRsZXIgaW50ZXJmYWNlIChDQVNTQU5EUkEtNjY1OSkKICogVHJhY2sgbGl2ZVJhdGlvIHBlci1tZW10YWJsZSwgbm90IHBlci1DRiAoQ0FTU0FORFJBLTY5NDUpCiAqIE1ha2Ugc3VyZSB1cGdyYWRlc3N0YWJsZXMga2VlcHMgc3N0YWJsZSBsZXZlbCAoQ0FTU0FORFJBLTY5NTgpCiAqIEZpeCBMSU1JVCB3aXRoIHN0YXTHyd5AAAABT948slwAECAqIGFkZCBvZmYtaGVhcCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILe0AAAEAQVNTQU5EUkEtMTc3OCkKICogVmFsaWRhdGUgdGhhdCBjb2x1bW4gbmFtZXMgaW4gY29sdW1uX21ldGFkYXRhIGFyZSB2YWxpZCBmb3IgdGhlCiAgIGRlZmluZWQgY29tcGFyYXRvciwgYW5kIGRlY29kZSBwcm9wZXJseSBpbiBjbGkgKENBU1NBTkRSQS0xNzczKQogKiB1c2UgY3Jvc3MtcGxhdGZvcm0gbmV3bGluZXMgaW4gY2xpIChDQVNTQU5EUkEtMTc4NikKICogYWRkIEV4cGlyaW5nQ29sdW1uIHN1cHBvcnQgdG8gc3N0YWJsZSBpbXBvcnQvZXhwb13x7HoAAAFP3jyyXAAQbGljZSByZXR1cm5pbmcgcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt7QAAAQB4cGlyZWQgbWVzc2FnZXMgKENBU1NBTkRSQS03NDk2KQogKiBGaXggcHJlcGFyZWQgbWFya2VyIGZvciBjb2xsZWN0aW9ucyBpbnNpZGUgVURUIChDQVNTQU5EUkEtNzQ3MikKICogUmVtb3ZlIGxlZnQtb3ZlciBwb3B1bGF0ZV9pb19jYWNoZV9vbl9mbHVzaCBhbmQgcmVwbGljYXRlX29uX3dyaXRlCiAgIHVzZXMgKENBU1NBTkRSQS03NDkzKQogKiAoV2luZG93cykgaGFuZGxlIHNwYWNlcyBpbiBwYXRoIG5hbWVzIChDQVNTQU5EUkEtNzQ1MSkKICog0179pwAAAU/ePLJcABBpcGxlIENGcyBkdXJpbmcgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3tAAABAG1wYWN0IHRhYmxlcyAoQ0FTU0FORFJBLTYxNTIpCiAqIFNraXAgcmVwbGF5aW5nIG11dGF0aW9ucyB0aGF0IHBhc3MgQ1JDIGJ1dCBmYWlsIHRvIGRlc2VyaWFsaXplIChDQVNTQU5EUkEtNjE4MykKICogUmV3b3JrIHRva2VuIHJlcGxhY2VtZW50IHRvIHVzZSByZXBsYWNlX2FkZHJlc3MgKENBU1NBTkRSQS01OTE2KQogKiBGaXggYWx0ZXJpbmcgY29sdW1uIHR5cGVzIChDQVNTQU5EUkEtNjE4NSkKICogY3Fsc2g6IGZpeCBDUkVBVEUvQUxURVIgV0lU7oUtAAABT948slwAEGVkIGZsYWcgYWZ0ZXIgbW8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILe0AAAEAZiBnZXRfc2xpY2UgdG8gYWNjZXB0IHN0YXJ0aW5nIGFuZCBlbmRpbmcKICAgICAgY29sdW1ucyBhcyB3ZWxsIGFzIGFuIG9mZnNldC4gIChUaGlzIGFsbG93cyB1c2Ugb2YgaW5kZXhlcy4pCiAgICAgIEFkZGVkICJhc2NlbmRpbmciIGZsYWcgdG8gYWxsb3cgcmVhc29uYWJseS1lZmZpY2llbnQgcmV2ZXJzZQogICAgICBzY2FucyBhcyB3ZWxsLiAgUmVtb3ZlZCBnZXRfc2xpY2VfYnlfcmFuZ2UgYXMgcmVkdW5kYW50LgogICAgLSBnZXRfa2V5X3JhbjNSE5MAAAFP3jyyXAAQQ0FTU0FORFJBLTEwNDcpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt7QAAAQBvdmVtZW50IGZvciBieXRlYnVmZmVydXRpbCBjb21wYXJlIGZ1bmN0aW9uIChDQVNTQU5EUkEtMzI4NikKICogYWRkIHN5c3RlbS52ZXJzaW9ucyBDb2x1bW5GYW1pbHkgKENBU1NBTkRSQS0zMTQwKQogKiByZWR1Y2UgbmV0d29yayBjb3BpZXMgKENBU1NBTkRSQS0zMzMzLCAzMzczKQogKiBsaW1pdCBub2RldG9vbCB0byAzMk1CIG9mIGhlYXAgKENBU1NBTkRSQS0zMTI0KQogKiAoQ1FMKSB1cGRhdGUgcGFyc2VyIHRvIGFjY2VwdCAidGltZXN0YW1wk0fSUAAAAU/ePLJcABBuZyBpbml0aWFsIGJ1aWxkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3tAAABACAgIGRvZXMgbm90IHN1cHBvcnQgZG93bnNhbXBsaW5nOyByZWJ1aWxkIHN1bW1hcmllcyBvbiBzdGFydHVwIHdoZW4gdGhpcwogICBpcyBkZXRlY3RlZCAoQ0FTU0FORFJBLTg5OTMpCiAqIEZpeCBwb3RlbnRpYWwgZGF0YSBsb3NzIGluIENvbXByZXNzZWRTZXF1ZW50aWFsV3JpdGVyIChDQVNTQU5EUkEtODk0OSkKICogTWFrZSBQYXNzd29yZEF1dGhlbnRpY2F0b3IgbnVtYmVyIG9mIGhhc2hpbmcgcm91bmRzIGNvbmZpZ3VyYWJsZSAoQ0FTU0FORFLLlrbJABJg3Wxwi1MAAAFP3jyyXAAQMTU1MikKICogcmUtb3JnYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt7wAAAQBuY3kgb2YgY2xpZW50dXRpbC5qYXIgdG8gRkJVdGlsaXRpZXMgKENBU1NBTkRSQS0zMjk5KQogKiBhdm9pZCB0cnVuY2F0aW9uIGVycm9ycyBieSB1c2luZyBsb25nIG1hdGggb24gbG9uZyB2YWx1ZXMgKENBU1NBTkRSQS0zMzY0KQogKiBhdm9pZCBjbG9jayBkcmlmdCBvbiBzb21lIFdpbmRvd3MgbWFjaGluZSAoQ0FTU0FORFJBLTMzNzUpCiAqIGRpc3BsYXkgY2FjaGUgcHJvdmlkZXIgaW4gY2xpICdkZXNjcmliZSBrZXlzcGFjZScgY29tbWFuZCAos4u4aAAAAU/ePLJcABAgU3VwcG9ydCByZXBhaXJpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3vAAABACBjcWxzaDogZHJvcCBDUUwyL0NRTDMtYmV0YSBzdXBwb3J0IChDQVNTQU5EUkEtNTU4NSkKICogVHJhY2sgbWF4L21pbiBjb2x1bW4gbmFtZXMgaW4gc3N0YWJsZXMgdG8gYmUgYWJsZSB0byBvcHRpbWl6ZSBzbGljZQogICBxdWVyaWVzIChDQVNTQU5EUkEtNTUxNCwgQ0FTU0FORFJBLTU1OTUsIENBU1NBTkRSQS01NjAwKQogKiBCaW5hcnkgcHJvdG9jb2w6IGFsbG93IGJhdGNoaW5nIGFscmVhZHkgcHJlcGFyZWQgc3RhdGVtZW50cyAoQ0FTU0FORFKHR7GXAAABT948slwAEDEuMC1yYzMKICogQ29uc2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILe8AAAEAIGZyb20gY29tcGFjdGlvbnN0YXRzIHdoZW4gZmluaXNoZWQgKENBU1NBTkRSQS0zMjU1KQogKiBmaXggY291bnRlciBlbnRyeSBpbiBqZGJjIFR5cGVzTWFwIChDQVNTQU5EUkEtMzI2OCkKICogZml4IGZ1bGwgcXVldWUgc2NlbmFyaW8gZm9yIFBhcmFsbGVsQ29tcGFjdGlvbkl0ZXJhdG9yIChDQVNTQU5EUkEtMzI3MCkKICogZml4IGJvb3RzdHJhcCBwcm9jZXNzIChDQVNTQU5EUkEtMzI4NSkKICogZG9uJ3QgdHJ5IGRlbGl2ZXJpbmcgaGludHMgabW0vLQAAAFP3jyyXAAQcyB0eXBlcyAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt7wAAAQAKICogYXBwbHkgcGFyZW50IENGIGNvbXBhY3Rpb24gc2V0dGluZ3MgdG8gc2Vjb25kYXJ5IGluZGV4IENGcyAoQ0FTU0FORFJBLTQyODApCiAqIHByZXNlcnZlIGNvbW1pdGxvZyBzaXplIGNhcCB3aGVuIHJlY3ljbGluZyBzZWdtZW50cyBhdCBzdGFydHVwCiAgIChDQVNTQU5EUkEtNDIwMSkKICogKEhhZG9vcCkgZml4IHNwbGl0IGdlbmVyYXRpb24gcmVncmVzc2lvbiAoQ0FTU0FORFJBLTQyNTkpCiAqIGlnbm9yZSBtaW4vbWF4IGNvbXBhY3Rpb25znEcfLgAAAU/ePLJcABAgZGVsZXRlIG9wZXJhdGlvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3vAAABACAoY3Fsc2gpIERvbid0IGlnbm9yZSBDVFJMLUMgZHVyaW5nIENPUFkgRlJPTSBleGVjdXRpb24gKENBU1NBTkRSQS03ODE1KQogKiAoY3Fsc2gpIE9yZGVyIFVEVHMgYWNjb3JkaW5nIHRvIGNyb3NzLXR5cGUgZGVwZW5kZW5jaWVzIGluIERFU0NSSUJFCiAgIG91dHB1dCAoQ0FTU0FORFJBLTc2NTkpCiAqIChjcWxzaCkgRml4IGhhbmRsaW5nIG9mIENBUyBzdGF0ZW1lbnQgcmVzdWx0cyAoQ0FTU0FORFJBLTc2NzEpCiAqIChjcWxzaCkgQ09QWSBUTy8Rs0i3AAABT948slwAEG5vZGUgZW5jcnlwdGlvbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILe8AAAEATWV0YWRhdGEgcHJvcGVydGllcyBhZGRlZCB0byBBYnN0cmFjdFR5cGUKICogci9tIGNsdXN0ZXJ0b29sIChDQVNTQU5EUkEtMjYwNykKICogYWRkIHN1cHBvcnQgZm9yIHByZXNlbnRpbmcgcm93IGtleSBhcyBhIGNvbHVtbiBpbiBDUUwgcmVzdWx0IHNldHMgCiAgIChDQVNTQU5EUkEtMjYyMikKICogRG9uJ3QgYWxsb3cge0xPQ0FMfEVBQ0h9X1FVT1JVTSB1bmxlc3Mgc3RyYXRlZ3kgaXMgTlRTIChDQVNTQU5EUkEtMjYyNykKICogdmFsaWRhdGUga2v9uBoAAAFP3jyyXAAQKENBU1NBTkRSQS0xMDM0LAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt7wAAAQByYzMKICogQ29uc2lkZXIgZXhwaXJ5IHdoZW4gcmVjb25jaWxpbmcgb3RoZXJ3aXNlIGVxdWFsIGNlbGxzIChDQVNTQU5EUkEtNzQwMykKICogSW50cm9kdWNlIENRTCBzdXBwb3J0IGZvciBzdHJlc3MgdG9vbCAoQ0FTU0FORFJBLTYxNDYpCiAqIEZpeCBDbGFzc0Nhc3RFeGNlcHRpb24gcHJvY2Vzc2luZyBleHBpcmVkIG1lc3NhZ2VzIChDQVNTQU5EUkEtNzQ5NikKICogRml4IHByZXBhcmVkIG1hcmtlciBmb3IgY29sbGVjdGlvbnMgaW5zaWRlIFVELYEXaQAAAU/ePLJcABBseSB2YWxpZGl0eSBpbiBuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3vAAABAGxlZCwgYWxsIG5vbi1zZWVkIG5vZGVzIHdpbGwgYXR0ZW1wdAogICB0byBib290c3RyYXAgd2hlbiBzdGFydGVkLCB1bnRpbCBib290c3RyYXAgc3VjY2Vzc2Z1bGx5CiAgIGNvbXBsZXRlcy4gLWIgb3B0aW9uIGlzIHJlbW92ZWQuICAoQ0FTU0FORFJBLTQzOCkKICogVW5sZXNzIGEgdG9rZW4gaXMgbWFudWFsbHkgc3BlY2lmaWVkIGluIHRoZSBjb25maWd1cmF0aW9uIHhtbCwKICAgYSBib290c3RyYXBpbmcgbm9kZSB3aWxsIHVzZSBhIHRva2VuIHSvti79AAABT948slwAEEFTU0FORFJBLTYyMTApCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILe8AAAEAZCBsaXN0IChDQVNTQU5EUkEtMzY0NykKICogVmFsaWRhdGUgZGF0ZSB0eXBlIGNvcnJlY3RseSAoQ0FTU0FORFJBLTQ0NDEpCiAqIChjcWwzKSBBbGxvdyBkZWZpbml0aW9ucyB3aXRoIG9ubHkgYSBQSyAoQ0FTU0FORFJBLTQzNjEpCiAqIChjcWwzKSBBZGQgc3VwcG9ydCBmb3Igcm93IGtleSBjb21wb3NpdGVzIChDQVNTQU5EUkEtNDE3OSkKICogaW1wcm92ZSBEeW5hbWljRW5kcG9pbnRTbml0Y2ggYnkgdXNpbmcgcmVzZXJ2b2lyIHNhbXBsaW5nIDDBWoIAAAFP3jyyXAAQcnVlIChDQVNTQU5EUkEtNAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt7wAAAQByeSBpbmRleCBvcHRpb25zIGluIENRTDMgKENBU1NBTkRSQS02NDgwKQogKiBJbXByb3ZlIHJlcGxpY2EgcGlubmluZyBmb3IgY2FjaGUgZWZmaWNpZW5jeSBpbiBERVMgKENBU1NBTkRSQS02NDg1KQogKiBGaXggTE9DQUxfU0VSSUFMIGZyb20gdGhyaWZ0IChDQVNTQU5EUkEtNjU4NCkKICogRG9uJ3Qgc3BlY2lhbCBjYXNlIHJlY2VpdmVkIGNvdW50cyBpbiBDQVMgdGltZW91dCBleGNlcHRpb25zIChDQVNTQU5EUkEtNjU5NSkKICogQWRkIHN1cHBvaux3GAAAAU/ePLJcABBvbSBhcmNoaXZlZCBDTCAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3vAAABACAgIChDQVNTQU5EUkEtMjA0KQogKiBBZGRlZCBCVUdTIGZpbGUKCgowLjMuMCBSQzEKICogUmFuZ2UgcXVlcmllcyBvbiBrZXlzLCBpbmNsdWRpbmcgdXNlci1kZWZpbmVkIGtleSBjb2xsYXRpb24KICogUmVtb3ZlIHN1cHBvcnQKICogV29ya2Fyb3VuZHMgZm9yIGEgd2VpcmQgYnVnIGluIEpESyBzZWxlY3QvcmVnaXN0ZXIgdGhhdCBzZWVtcwogICBwYXJ0aWN1bGFybHkgY29tbW9uIG9uIFZNIGVudmlyb25tZW50cy4gQ2Fzc2FuZHJhIHNob3VsZCDb1Z6qAAABT948slwAEC04OTc4KQogKiBBZGQgc2gAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILe8AAAEAIChDQVNTQU5EUkEtMzI0NykKICogRmlsZSBkZXNjcmlwdG9yIGxpbWl0IGluY3JlYXNlZCBpbiBwYWNrYWdpbmcgKENBU1NBTkRSQS0zMjA2KQogKiBGaXggZGVhZGxvY2sgaW4gY29tbWl0IGxvZyBkdXJpbmcgZmx1c2ggKENBU1NBTkRSQS0zMjUzKSAKCgoxLjAuMC1iZXRhMQogKiByZW1vdmVkIGJpbmFyeW1lbXRhYmxlIChDQVNTQU5EUkEtMjY5MikKICogYWRkIGNvbW1pdGxvZ190b3RhbF9zcGFjZV9pbl9tYiB0byBwcmV2ZW50IGZyYWdtZW50ZdIdzHYAAAFP3jyyXAAQIChDQVNTQU5EUkEtNzUwOAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt7wAAAQBmcm9tIDAuODoKICogZml4IHVwZGF0aW5nIENGIHJvd19jYWNoZV9wcm92aWRlciAoQ0FTU0FORFJBLTM0MTQpCiAqIENGTWV0YURhdGEuY29udmVydFRvVGhyaWZ0IG1ldGhvZCB0byBzZXQgUm93Q2FjaGVQcm92aWRlciAoQ0FTU0FORFJBLTM0MDUpCiAqIGFjcXVpcmUgY29tcGFjdGlvbmxvY2sgZHVyaW5nIHRydW5jYXRlIChDQVNTQU5EUkEtMzM5OSkKICogZml4IGRpc3BsYXlpbmcgY2ZkZWYgZW50cmllcyBmb3Igc3VwZXIgY29sdW1uZmFtaWxpXfy2JwAAAU/ePLJcABB0cnVjdHVyZSAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3vAAABADMyNTgpCiAqIEZvcmNlIGZsdXNoIG9mIHN0YXR1cyB0YWJsZSB3aGVuIHJlbW92aW5nL3VwZGF0aW5nIHRva2VuIChDQVNTQU5EUkEtMzI0MykKICogRXZpY3QgZ29zc2lwIHN0YXRlIGltbWVkaWF0ZWx5IHdoZW4gYSB0b2tlbiBpcyB0YWtlbiBvdmVyIGJ5IGEgbmV3IElQIChDQVNTQU5EUkEtMzI1OSkKICogRml4IGJ1ZyB3aGVyZSB0aGUgZmFpbHVyZSBkZXRlY3RvciBjYW4gdGFrZSB0b28gbG9uZyB0byBtYXJrIGEgaG9zdAogICBkb3duIChDQVPC3bpOAAABT948slwAECBkdXJpbmcgY29tcGFjdGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILe8AAAEARml4IGJ1ZyB0aGF0IGNvdWxkIGFsbG93IHJlYWRpbmcgZGVsZXRlZCBkYXRhIHRlbXBvcmFyaWx5IChDQVNTQU5EUkEtNjAyNSkKICogSW1wcm92ZSBtZW1vcnkgdXNlIGRlZmF1bHRzIChDQVNTQU5EUkEtNjA1OSkKICogTWFrZSBUaHJpZnRTZXJ2ZXIgbW9yZSBlYXNsbHkgZXh0ZW5zaWJsZSAoQ0FTU0FORFJBLTYwNTgpCiAqIFJlbW92ZSBIYWRvb3AgZGVwZW5kZW5jeSBmcm9tIElUcmFuc3BvcnRGYWN0b3J5IChDQVNTQU5EUkEtNjA2MikKICogYaSQ42kAEnU6QJvNtAAAAU/ePLJcABB2ZWQgaW4tdHJlZSByZWRoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3yAAABAG9tcGFjdGlvbiByYWNlIGR1cmluZyBjb2x1bW5mYW1pbHkgZHJvcCAoQ0FTU0FORFJBLTU5NTcpCiAqIEZpeCB2YWxpZGF0aW9uIG9mIGVtcHR5IGNvbHVtbiBuYW1lcyBmb3IgY29tcGFjdCB0YWJsZXMgKENBU1NBTkRSQS02MTUyKQogKiBTa2lwIHJlcGxheWluZyBtdXRhdGlvbnMgdGhhdCBwYXNzIENSQyBidXQgZmFpbCB0byBkZXNlcmlhbGl6ZSAoQ0FTU0FORFJBLTYxODMpCiAqIFJld29yayB0b2tlbiByZXBsYWNlbWVudCB0byB1c2UgcmVwbGFpoabeAAABT948slwAEGl0aCBub2RlcyA+PSAxLjEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfIAAAEAbGljaXQKICAgICAgc3RydWN0cyBzdWNoIGFzIENvbHVtblBhdGgsIENvbHVtblBhcmVudCwgZXRjLiAgQWxzbyBub3JtYWxpemVkCiAgICAgIHRocmlmdCBzdHJ1Y3QgYW5kIGFyZ3VtZW50IG5hbWluZy4KICAgIC0gQWRkZWQgY29sdW1uRmFtaWx5IGFyZ3VtZW50IHRvIGdldF9rZXlfcmFuZ2UuCiAgICAtIENoYW5nZSBzaWduYXR1cmUgb2YgZ2V0X3NsaWNlIHRvIGFjY2VwdCBzdGFydGluZyBhbmQgZW5kaW5nCiAgICAgIGNvbHVtbnMgYXMgd2VsbIuAuqMAAAFP3jyyXAAQCiAqIEluY2x1ZGUgc2NoZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt8gAAAQBuZHBvaW50IEpNWCBtZXRob2RzIAogICAoQ0FTU0FORFJBLTE1NTEpCgoKMC43LjAtYmV0YTMKICogYWRkIHN0cmF0ZWd5IG9wdGlvbnMgdG8gZGVzY3JpYmVfa2V5c3BhY2Ugb3V0cHV0IChDQVNTQU5EUkEtMTU2MCkKICogbG9nIHdhcm5pbmcgd2hlbiB1c2luZyByYW5kb21seSBnZW5lcmF0ZWQgdG9rZW4gKENBU1NBTkRSQS0xNTUyKQogKiByZS1vcmdhbml6ZSBKTVggaW50byAuZGIsIC5uZXQsIC5pbnRlcm5hbCwgLnJlcXVlc3QgKENBU1NBTkRSh2C02gAAAU/ePLJcABBvZGUgY2hhcnMgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3yAAABAGl2ZUNlbGwgY29tcGFyaXNvbnMgKENBU1NBTkRSQS02NzU1KQogKiBDb25maWd1cmFibGUgY2xpZW50IHRpbWVvdXQgZm9yIGNxbHNoIChDQVNTQU5EUkEtNzUxNikKICogSW5jbHVkZSBzbmlwcGV0IG9mIENRTCBxdWVyeSBuZWFyIHN5bnRheCBlcnJvciBpbiBtZXNzYWdlcyAoQ0FTU0FORFJBLTcxMTEpCiAqIE1ha2UgcmVwYWlyIC1wciB3b3JrIHdpdGggLWxvY2FsIChDQVNTQU5EUkEtNzQ1MCkKICogRml4IGVycm9yIGluIHNzdGFibGVsb2FkZXJZVNhoAAABT948slwAEGtleXNwYWNlcyAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfIAAAEAY2F0aW9uU3RyYXRlZ3kgY2xhc3NlcwogICAoQ0FTU0FORFJBLTQ5NykKICogR3JhcGhpY2FsIGFwcGxpY2F0aW9uIChTd2luZykgZm9yIHJpbmcgaW50ZWdyaXR5IHZlcmlmaWNhdGlvbiBhbmQgCiAgIHZpc3VhbGl6YXRpb24gd2FzIGFkZGVkIHRvIGNvbnRyaWIgKENBU1NBTkRSQS0yNTIpCiAqIEFkZCBEQ1FVT1JVTSwgRENRVU9SVU1TWU5DIGNvbnNpc3RlbmN5IGxldmVscyBhbmQgY29ycmVzcG9uZGluZwogICBSZXBsaWNhdGlvblN0cmF0ZWd5IM8/n58AAAFP3jyyXAAQb25zIChDQVNTQU5EUkEtMgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt8gAAAQAgY2xpIChDQVNTQU5EUkEtMzAxMiwgNDA5OCkKICogY2xlYW4gdXAgYW5kIG9wdGltaXplIERhdGFPdXRwdXRCdWZmZXIsIHVzZWQgYnkgQ1FMIGNvbXByZXNzaW9uIGFuZAogICBDb21wb3NpdGVUeXBlIChDQVNTQU5EUkEtNDA3MikKICogb3B0aW1pemUgY29tbWl0bG9nIGNoZWNrc3VtbWluZyAoQ0FTU0FORFJBLTM2MTApCiAqIGlkZW50aWZ5IGFuZCBibGFja2xpc3QgY29ycnVwdGVkIFNTVGFibGVzIGZyb20gZnV0dXJlIGNvbXBhY3Rpb25zIAogt26b6AAAAU/ePLJcABBpZ3VyYXRpb25FeGNlcHRpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3yAAABACBpbnN0ZWFkIG9mIG1lcmdlX3NoYXJkX2NoYW5nZSAoQ0FTU0FORFJBLTMyMDIpCiAqIEF2b2lkIHN0cmVhbWluZyBkYXRhIHRvIG5vZGVzIHRoYXQgYWxyZWFkeSBoYXZlIGl0LCBvbiBtb3ZlIGFzIHdlbGwgYXMKICAgZGVjb21taXNzaW9uIChDQVNTQU5EUkEtMzA0MSkKICogRml4IGRpdmlkZSBieSB6ZXJvIGVycm9yIGluIEdDSW5zcGVjdG9yIChDQVNTQU5EUkEtMzE2NCkKICogYWxsb3cgcXVvdGluZyBvZiB0aGUgQ29sdW1uRmFtaWx5IG5hbWUQtTW0AAABT948slwAEDg2KQogKiBMb2cgZmFpbGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfIAAAEAU0FORFJBLTQxMTApCiAqIGZpeCB0ZXJtaW5pbmF0aW9uIG9mIHRoZSBzdHJlc3MuamF2YSB3aGVuIGVycm9ycyB3ZXJlIGVuY291bnRlcmVkCiAgIChDQVNTQU5EUkEtNDEyOCkKICogTW92ZSBDZkRlZiBhbmQgS3NEZWYgdmFsaWRhdGlvbiBvdXQgb2YgdGhyaWZ0IChDQVNTQU5EUkEtNDAzNykKICogRml4IGdldF9wYWdlZF9zbGljZSAoQ0FTU0FORFJBLTQxMzYpCiAqIENRTDM6IFN1cHBvcnQgc2xpY2Ugd2l0aCBleGNsdXNpdmUgc3RhcnQgYW5kIATCJIQAAAFP3jyyXAAQIGVhcmxpZXIgKENBU1NBTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt8gAAAQBybWF0IGJsb2JzIGNvcnJlY3RseSBhbmQgdXNlIGNvbG9ycyB0byBpbXByb3ZlIG91dHB1dAogICByZWFkYWJpbGl0eSAoQ0FTU0FORFJBLTM3MjYpCiAqIHN5bmNocm9uaXplIEJpTWFwIG9mIGJvb3RzdHJhcHBpbmcgdG9rZW5zIChDQVNTQU5EUkEtMzQxNykKICogc2hvdyBpbmRleCBvcHRpb25zIGluIENMSSAoQ0FTU0FORFJBLTM4MDkpCiAqIGFkZCBvcHRpb25hbCBzb2NrZXQgdGltZW91dCBmb3Igc3RyZWFtaW5nIChDQVNTQU5EUkEtMzgzOCkKUTWzYgAAAU/ePLJcABBrZW4oKSAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3yAAABAHMgKENBU1NBTkRSQS03MDgyKQogKiBBZGQgVU5MT0dHRUQsIENPVU5URVIgb3B0aW9ucyB0byBCQVRDSCBkb2N1bWVudGF0aW9uIChDQVNTQU5EUkEtNjgxNikKICogYWRkIGV4dHJhIFNTTCBjaXBoZXIgc3VpdGVzIChDQVNTQU5EUkEtNjYxMykKICogZml4IG5vZGV0b29sIGdldHNzdGFibGVzIGZvciBibG9iIFBLIChDQVNTQU5EUkEtNjgwMykKICogRml4IEJhdGNobG9nTWFuYWdlciNkZWxldGVCYXRjaCgpIHVzZSBvZiBtaWxsaXNlY29uZCB0aW1BVtgaAAABT948slwAEDI1NzApCiAqIGZpeCBiYXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfIAAAEAKENBU1NBTkRSQS03MjU0KQogKiBGaXggcmFjZSBpbiBGaWxlQ2FjaGVTZXJ2aWNlIFJlbW92YWxMaXN0ZW5lciAoQ0FTU0FORFJBLTcyNzgpCiAqIEZpeCBpbmNvbnNpc3RlbnQgdXNlIG9mIGNvbnNpc3RlbmN5Rm9yQ29tbWl0IHRoYXQgYWxsb3dlZCBMT0NBTF9RVU9SVU0KICAgb3BlcmF0aW9ucyB0byBpbmNvcnJlY3QgYmVjb21lIGZ1bGwgUVVPUlVNIChDQVNTQU5EUkEtNzM0NSkKICogUHJvcGVybHkgaGFuZGxlIHVucmVjb2duaXplZCBvcGNvZJyDam4AAAFP3jyyXAAQaWNzIChDQVNTQU5EUkEtMwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt8gAAAQBQIG1lc3NhZ2VzIHdoaWxlIGF2b2lkaW5nCiAgIHRoZSBuYWdsZS9kZWxheWVkIGFjayBwcm9ibGVtIChDQVNTQU5EUkEtMTg5NikKICogY2hlY2sgbG9nNGogY29uZmlndXJhdGlvbiBmb3IgY2hhbmdlcyBldmVyeSAxMHMgKENBU1NBTkRSQS0xNTI1LCAxOTA3KQogKiBtb3JlLWVmZmljaWVudCBjcm9zcy1EQyByZXBsaWNhdGlvbiAoQ0FTU0FORFJBLTE1MzAsIC0yMDUxLCAtMjEzOCkKICogYXZvaWQgcG9sbHV0aW5nIHBhZ2UgY2FjaGUgd2l0aCBjF8dR5gAAAU/ePLJcABB1bmtub3duIFVEVCBmaWVsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC3yAAABAG5FeGNlcHRpb24gd2hlbiBoc2hhIGlzIHVzZWQgd2l0aCB0aGUgZGVmYXVsdAogICBycGNfbWF4X3RocmVhZHMgc2V0dGluZyBvZiAndW5saW1pdGVkJyAoQ0FTU0FORFJBLTgxMTYpCiAqIEFsbG93IGNvbmN1cnJlbnQgd3JpdGluZyBvZiB0aGUgc2FtZSB0YWJsZSBpbiB0aGUgc2FtZSBKVk0gdXNpbmcKICAgQ1FMU1NUYWJsZVdyaXRlciAoQ0FTU0FORFJBLTc0NjMpCiAqIEZpeCB0b3RhbERpc2tTcGFjZVVzZWQgY2FsY3VsYXRpb24gKENBU1NBTkRSdFitAAABT948slwAEFJBLTQyMTcpCiAqIChjcWwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfIAAAEAc2VydGlvbiBpbiBDb3VudGVyQ29sdW1uIChDQVNTQU5EUkEtNDk3NikKCgoxLjItYmV0YTIKICogZnAgcmF0ZSBvZiAxLjAgZGlzYWJsZXMgQkYgZW50aXJlbHk7IExDUyBkZWZhdWx0cyB0byAxLjAgKENBU1NBTkRSQS00ODc2KQogKiBvZmYtaGVhcCBibG9vbSBmaWx0ZXJzIGZvciByb3cga2V5cyAoQ0FTU0FORFJBXzQ4NjUpCiAqIGFkZCBleHRlbnNpb24gcG9pbnQgZm9yIHNzdGFibGUgY29tcG9uZW50cyAoQ0FTU0FORFJBLTQwNDkpCiAqIGltcJ59P5oAAAFP3jyyXAAQcyB0aGF0IGNvb3JkaW5hdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt8gAAAQBvcnJlY3QgZmlsZW5hbWUgZ2VuZXJhdGVkIGJ5IHhtbC0+eWFtbCBjb252ZXJ0ZXIgKENBU1NBTkRSQS0xNDE5KQogKiBhZGQgQ01TSW5pdGlhdGluZ09jY3VwYW5jeUZyYWN0aW9uPTc1IGFuZCBVc2VDTVNJbml0aWF0aW5nT2NjdXBhbmN5T25seQogICB0byBkZWZhdWx0IEpWTSBvcHRpb25zCiAqIGRlY3JlYXNlIGp2bSBoZWFwIGZvciBjYXNzYW5kcmEtY2xpIChDQVNTQU5EUkEtMTQ0NikKICogYWJpbGl0eSB0byBtb2RpZnkga2V5c3BhY2VzIGFuqMKK/gASiZdJQFx7AAABT948slwAECBFeHBvc2Ugd2hldGhlciAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfQAAAEAICogRml4IHNzdGFibGVsb2FkZXIgLS1pZ25vcmVzIG9wdGlvbiAoQ0FTU0FORFJBLTMyNDcpCiAqIEZpbGUgZGVzY3JpcHRvciBsaW1pdCBpbmNyZWFzZWQgaW4gcGFja2FnaW5nIChDQVNTQU5EUkEtMzIwNikKICogRml4IGRlYWRsb2NrIGluIGNvbW1pdCBsb2cgZHVyaW5nIGZsdXNoIChDQVNTQU5EUkEtMzI1MykgCgoKMS4wLjAtYmV0YTEKICogcmVtb3ZlZCBiaW5hcnltZW10YWJsZSAoQ0FTU0FORFJBLTI2OTIpCiAqIGFkZCBjb21taXRsb2dfdBaasd4AAAFP3jyyXAAQQS01NjU1KQogKiBOZXZlcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt9AAAAQBsYXRlZAogICB0byBjbGllbnQgcmVxdWVzdHMgKENBU1NBTkRSQS0xNjg1KQogKiBsb2cgdHBzdGF0cyB3aGVuIGRyb3BwaW5nIG1lc3NhZ2VzIChDQVNTQU5EUkEtMTY2MCkKICogaW5jbHVkZSB1bnJlYWNoYWJsZSBub2RlcyBpbiBkZXNjcmliZVNjaGVtYVZlcnNpb25zIChDQVNTQU5EUkEtMTY3OCkKICogQXZvaWQgZHJvcHBpbmcgbWVzc2FnZXMgb2ZmIHRoZSBjbGllbnQgcmVxdWVzdCBwYXRoIChDQVNTQU5EUkEtMTY3NikKICogZml4IGpuYSBlH973EAAAAU/ePLJcABAoQ0FTU0FORFJBLTczOTQpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC30AAABAEEtNzQ3OSkKICogTWFrZSBkaXNydXB0b3JfdGhyaWZ0X3NlcnZlciBpbnZvY2F0aW9uIHBvb2wgY29uZmlndXJhYmxlIChDQVNTQU5EUkEtNzU5NCkKICogTWFrZSByZXBhaXIgbm8tb3Agd2hlbiBSRj0xIChDQVNTQU5EUkEtNzg2NCkKCgoyLjAuMTAKICogRG9uJ3Qgc2VuZCBzY2hlbWEgY2hhbmdlIHJlc3BvbnNlcyBhbmQgZXZlbnRzIGZvciBuby1vcCBEREwKICAgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTc2MDApCiAqIChIYWRvb3ApIGZpeCBjbHUtb+6wAAABT948slwAEHJvZHVjdGl2ZSBkZXNlcmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfQAAAEAcyBhbmQgdGhlaXIgb3JkZXIgKENBU1NBTkRSQS0zMDEyKQogKiBpZ25vcmUgZGVwcmVjYXRlZCBLc0RlZi9DZkRlZi9Db2x1bW5EZWYgZmllbGRzIGluIG5hdGl2ZSBzY2hlbWEgKENBU1NBTkRSQS0zOTYzKQogKiBDTEkgdG8gcmVwb3J0IHdoZW4gdW5zdXBwb3J0ZWQgY29sdW1uX21ldGFkYXRhIHBhaXIgd2FzIGdpdmVuIChDQVNTQU5EUkEtMzk1OSkKICogcmVpbmNhcm5hdGUgcmVtb3ZlZCBhbmQgZGVwcmVjYXRlZCBLc0RlZi9DZkRlZiBhdHRyaQ5g4WsAAAFP3jyyXAAQbiAoQ0FTU0FORFJBLTQwMgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt9AAAAQAoQ0FTU0FORFJBLTM0MTgpCiAqIEZpeCByYWNlIGludHJvZHVjZWQgYnkgQ0FTU0FORFJBLTI1MDMgKENBU1NBTkRSQS0zNDgyKQogKiBGaXggaW5jb21wbGV0ZSBkZWxldGlvbiBvZiBkZWxpdmVyZWQgaGludHMgKENBU1NBTkRSQS0zNDY2KQogKiBBdm9pZCByZXNjaGVkdWxpbmcgY29tcGFjdGlvbnMgd2hlbiBubyBjb21wYWN0aW9uIHdhcyBleGVjdXRlZCAKICAgKENBU1NBTkRSQS0zNDg0KQogKiBmaXggaGFuZGxpbmcgb2YgdGhlIGNodW5rX2xl8Mj1LQAAAU/ePLJcABA2NjApCiAqIEZpeCBBSU9PAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC30AAABAGh1dGRvd24gKENBU1NBTkRSQS05MjM4KQogKiBBdm9pZCBvdmVyZmxvdyB3aGVuIGNhbGN1bGF0aW5nIG1heCBzc3RhYmxlIHNpemUgaW4gTENTIChDQVNTQU5EUkEtOTIzNSkKICogTWFrZSBzc3RhYmxlIGJsYWNrbGlzdGluZyB3b3JrIHdpdGggY29tcHJlc3Npb24gKENBU1NBTkRSQS05MTM4KQogKiBEbyBub3QgYXR0ZW1wdCB0byByZWJ1aWxkIGluZGV4ZXMgaWYgbm8gaW5kZXggYWNjZXB0cyBhbnkgY29sdW1uIChDQVNTQU5EUkEtOTE5NikKICpAmZxOAAABT948slwAEGxlYW4gdXAgb2YgU3RyZWEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfQAAAEAbGluZyBzZWdtZW50cyBhdCBzdGFydHVwCiAgIChDQVNTQU5EUkEtNDIwMSkKICogKEhhZG9vcCkgZml4IHNwbGl0IGdlbmVyYXRpb24gcmVncmVzc2lvbiAoQ0FTU0FORFJBLTQyNTkpCiAqIGlnbm9yZSBtaW4vbWF4IGNvbXBhY3Rpb25zIHNldHRpbmdzIGluIExDUywgd2hpbGUgcHJlc2VydmluZwogICBiZWhhdmlvciB0aGF0IG1pbj1tYXg9MCBkaXNhYmxlcyBhdXRvY29tcGFjdGlvbiAoQ0FTU0FORFJBLTQyMzMpCiAqIGxvZyBudW1iZXIgb2YgcscYuegAAAFP3jyyXAAQaWx1cmUgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt9AAAAQAgcXVlcmllcyBvbiBtdWx0aXBsZSBzZWNvbmRhcnkgaW5kZXggdHlwZXMgKENBU1NBTkRSQS03NTI1KQogKiBGaXggY3Fsc2ggYXV0aGVudGljYXRpb24gd2l0aCB2MyBuYXRpdmUgcHJvdG9jb2wgKENBU1NBTkRSQS03NTY0KQogKiBGaXggTlBFIHdoZW4gdW5rbm93biBwcmVwYXJlZCBzdGF0ZW1lbnQgSUQgaXMgdXNlZCAoQ0FTU0FORFJBLTc0NTQpCk1lcmdlZCBmcm9tIDIuMDoKICogKFdpbmRvd3MpIGZvcmNlIHJhbmdlLWJhc2VkIHJlcGFpciB0EnfRSQAAAU/ePLJcABBlZCAoQ0FTU0FORFJBLTcyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC30AAABAG9zZSB0aGVpciBtZXRhZGF0YSAoQ0FTU0FORFJBLTQzNzcpCiAqIFJlcGxhY2UgVGhyb3R0bGUgd2l0aCBHdWF2YSdzIFJhdGVMaW1pdGVyIGZvciBIaW50ZWRIYW5kT2ZmIChDQVNTQU5EUkEtNDU0MSkKICogZml4IGNvdW50ZXIgYWRkL2dldCB1c2luZyBDUUwyIGFuZCBDUUwzIGluIHN0cmVzcyB0b29sIChDQVNTQU5EUkEtNDYzMykKICogQWRkIHNzdGFibGUgY291bnQgcGVyIGxldmVsIHRvIGNmc3RhdHMgKENBU1NBTkRSQS00NTM3KQogKiAoY3GDUEIbAAABT948slwAEGVzc2lvbgogICB0aGF0IGQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfQAAAEAIHJlcGxheWVkIHBvc3QtcmVzdGFydCAoQ0FTU0FORFJBLTMyOTcpCiAqIG1ha2UgaXdyaXRlciBmaW5hbCBpbiBJbmRleFdyaXRlciB0byBhdm9pZCBOUEUgKENBU1NBTkRSQS0yODYzKQogKiAoQ1FMKSB1cGRhdGUgZ3JhbW1hciB0byByZXF1aXJlIGtleSBjbGF1c2UgaW4gREVMRVRFIHN0YXRlbWVudAogICAoQ0FTU0FORFJBLTMzNDkpCiAqIChDUUwpIGFsbG93IG51bWVyaWMga2V5c3BhY2UgbmFtZXMgaW4gVVNFIHN0YXRlbWVudCAoQ0FTU0FORPRXpMAAAAFP3jyyXAAQdCBub2RlcyB0aGF0IGZhaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt9AAAAQAgIHNhbWUgbXV0YXRpb24gKENBU1NBTkRSQS0yNzczKQogKiBFeHBvc2UgbnVtYmVyIG9mIHRocmVhZHMgYmxvY2tlZCBvbiBzdWJtaXR0aW5nIG1lbXRhYmxlIHRvIGZsdXNoCiAgIGluIEpNWCAoQ0FTU0FORFJBLTI4MTcpCiAqIGFkZCBhYmlsaXR5IHRvIHJldHVybiAiZW5kcG9pbnRzIiB0byBub2RldG9vbCAoQ0FTU0FORFJBLTI3NzYpCiAqIEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSAoY29tbWEtZGVsaW1pdGVkKSBjb29yZGluYXRvciBhZGRyhD/gUwAAAU/ePLJcABAKICogZml4IHRvbWJzdG9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC30AAABADUxNzkpCiAqIEZpeCBHdWF2YSBkZXBlbmRlbmN5IHZlcnNpb24gKDEyLjAgLT4gMTMuMC4xKSBmb3IgTWF2ZW4gKENBU1NBTkRSQS01MzY0KQogKiBWYWxpZGF0ZSB0aGF0IHByb3ZpZGVkIENRTDMgY29sbGVjdGlvbiB2YWx1ZSBhcmUgPCA2NEsgKENBU1NBTkRSQS01MzU1KQogKiBNYWtlIHVwZ3JhZGVTU1RhYmxlIHNraXAgY3VycmVudCB2ZXJzaW9uIHNzdGFibGVzIGJ5IGRlZmF1bHQgKENBU1NBTkRSQS01MzY2KQogKiBPcHRpbWl6ZSBtaW4vbWE5r6n4AAABT948slwAEHIgc2l6ZXMgdmlhIEpNWCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfQAAAEAdWZmZXJzIGluIEhTSEEgKENBU1NBTkRSQS02Mjg1KQogKiAoSGFkb29wKSBzdXBwb3J0IGF1dGhlbnRpY2F0aW9uIGluIENxbFJlY29yZFJlYWRlciAoQ0FTU0FORFJBLTcyMjEpCiAqIChIYWRvb3ApIENsb3NlIGphdmEgZHJpdmVyIENsdXN0ZXIgaW4gQ1FMUlIuY2xvc2UgKENBU1NBTkRSQS03MjI4KQogKiBXYXJuIHdoZW4gJ1VTSU5HIFRJTUVTVEFNUCcgaXMgdXNlZCBvbiBhIENBUyBCQVRDSCAoQ0FTU0FORFJBLTcwNjcpCiAqIHJldHVybiBhbFi6lMwAAAFP3jyyXAAQb3BlcmF0aW9uIHRvd2FyZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt9AAAAQB0cmF0ZWd5IGNyZWF0aW9uIG9wdGlvbnMgKENBU1NBTkRSQS00MDQ2KQogKiByZW1vdmUgW0ZyZWVhYmxlXU1lbW9yeSBmaW5hbGl6ZXJzIChDQVNTQU5EUkEtNDIyMikKICogaW5jbHVkZSB0b21ic3RvbmUgc2l6ZSBpbiBDb2x1bW5GYW1pbHkuc2l6ZSwgd2hpY2ggY2FuIHByZXZlbnQgT09NCiAgIGR1cmluZyBzdWRkZW4gbWFzcyBkZWxldGUgb3BlcmF0aW9ucyBieSB5aWVsZGluZyBhIG5vbnplcm8gbGl2ZVJhdGlvCiAgIChDQVNTQU5EUkEtMzc0IokCSAAAAU/ePLJcABBlbiBkcm9wcGluZyBDRiBvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC30AAABAE1TSW5pdGlhdGluZ09jY3VwYW5jeU9ubHkKICAgdG8gZGVmYXVsdCBKVk0gb3B0aW9ucwogKiBkZWNyZWFzZSBqdm0gaGVhcCBmb3IgY2Fzc2FuZHJhLWNsaSAoQ0FTU0FORFJBLTE0NDYpCiAqIGFiaWxpdHkgdG8gbW9kaWZ5IGtleXNwYWNlcyBhbmQgY29sdW1uIGZhbWlseSBkZWZpbml0aW9ucyBvbiBhIGxpdmUgY2x1c3RlcgogICAoQ0FTU0FORFJBLTEyODUpCiAqIHN1cHBvcnQgZm9yIEhhZG9vcCBTdHJlYW1pbmcgW25vbi1qdm0gbWFwL3JlZHUirqMvABKd9FkuLZ8AAAFP3jyyXAAQIGluZGV4IENGU2VzIChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt9wAAAQBlbG9hZHRyaWdnZXJzIGNvbW1hbmQgdG8gbm9kZXRvb2wgKENBU1NBTkRSQS00OTQ5KQogKiBjcWxzaDogaWdub3JlIGVtcHR5ICd2YWx1ZSBhbGlhcycgaW4gREVTQ1JJQkUgKENBU1NBTkRSQS02MTM5KQogKiBGaXggc3N0YWJsZSBsb2FkZXIgKENBU1NBTkRSQS02MjA1KQogKiBSZWplY3QgYm9vdHN0cmFwcGluZyBpZiB0aGUgbm9kZSBhbHJlYWR5IGV4aXN0cyBpbiBnb3NzaXAgKENBU1NBTkRSQS01NTcxKQogKiBGaXggTlBFIHdoaWxlIGxvYWRpT2br2wAAAU/ePLJcABBzZSBpbmNvbWluZyBjb25uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC33AAABAHRpbmcgYSByYW5kb20gdG9rZW4uIAogICAoQ0FTU0FORFJBLTM4NSwgQ0FTU0FORFJBLTUxNykKICogTWlzY2VsbGFuZW91cyBib290c3RyYXAgZml4ZXMgKHNldmVyYWwgdGlja2V0cykKICogQWJpbGl0eSB0byBjaGFuZ2UgYSBub2RlJ3MgdG9rZW4gZXZlbiBhZnRlciBpdCBoYXMgZGF0YSBvbiBpdAogICAoQ0FTU0FORFJBLTU0MSkKICogQWJpbGl0eSB0byBkZWNvbW1pc3Npb24gYSBsaXZlIG5vZGUgZnJvbSB0aGUgcmluZyAoQ0FTU0FORFJBLTRSAIH/AAABT948slwAEEFORFJBLTgwOTYpCiAqIEYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfcAAAEAZiB0aGUgY3FsMiB0aHJpZnQgbWV0aG9kcyB3aGVuIGNxbDMgd2FzCiAgIGludGVuZGVkIChDQVNTQU5EUkEtNTE3MikKICogY2xpOiBRdW90ZSBrcyBhbmQgY2YgbmFtZXMgaW4gc2NoZW1hIG91dHB1dCB3aGVuIG5lZWRlZCAoQ0FTU0FORFJBLTUwNTIpCiAqIEZpeCBjZiBuYW1lIGV4dHJhY3Rpb24gZnJvbSBtYW5pZmVzdCBpbiBEaXJlY3Rvcmllcy5taWdyYXRlRmlsZSgpIChDQVNTQU5EUkEtNTI0MikKICogUmVwbGFjZSBtaXN0YWtlbiB1c2FnZe+Uw+YAAAFP3jyyXAAQc2UgZHVyaW5nIHN0cmVhbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt9wAAAQAgKENBU1NBTkRSQS03MDAxKQogKiBNYWtlIGNvbW1pdGxvZyBhcmNoaXZlK3Jlc3RvcmUgbW9yZSByb2J1c3QgKENBU1NBTkRSQS02OTc0KQogKiBGaXggbWFya2luZyBjb21taXRsb2dzZWdtZW50cyBjbGVhbiAoQ0FTU0FORFJBLTY5NTkpCiAqIEFkZCBzbmFwc2hvdCAibWFuaWZlc3QiIGRlc2NyaWJpbmcgZmlsZXMgaW5jbHVkZWQgKENBU1NBTkRSQS02MzI2KQogKiBQYXJhbGxlbCBzdHJlYW1pbmcgZm9yIHNzdGFibGVsb2FkZXIgKENBU1NBTkRSteOJFgAAAU/ePLJcABBuIENRTDMgKENBU1NBTkRSAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC33AAABAGF0dGluZyBmb3IgZnVuY3Rpb25zLCBDQVMgb3BlcmF0aW9ucywKICAgYW5kIFVEVCBmaWVsZCBzZWxlY3Rpb25zIChDQVNTQU5EUkEtNzgwNikKICogKGNxbHNoKSBGaXggQ09QWSBGUk9NIGhhbmRsaW5nIG9mIG51bGwvZW1wdHkgcHJpbWFyeSBrZXkKICAgdmFsdWVzIChDQVNTQU5EUkEtNzc5MikKICogRml4IG9yZGVyaW5nIG9mIHN0YXRpYyBjZWxscyAoQ0FTU0FORFJBLTc3NjMpCk1lcmdlZCBmcm9tIDIuMDoKICogRm9yYmlkIHJlLWFkZGluZyCZqCEpAAABT948slwAEE5EUkEtMzMyOSkKICogYWQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfcAAAEAX3NsaWNlcyAoQ0FTU0FORFJBLTEwODgsIENBU1NBTkRSQS0xNjE5KQogKiBNYWtlIG1lbXRhYmxlIGZsdXNoIHRocmVzaG9sZHMgcGVyLUNGIGluc3RlYWQgb2YgZ2xvYmFsIAogICAoQ0FTU0FORFJBLTEwMDcsIDE2MzcpCiAqIGFkZCBjbGkgc3VwcG9ydCBmb3IgYmluYXJ5IGRhdGEgd2l0aG91dCBDZkRlZiBoaW50cyAoQ0FTU0FORFJBLTE2MDMpCiAqIGZpeCBidWlsZGluZyBTU1RhYmxlIHN0YXRpc3RpY3MgcG9zdC1zdHJlYW0gKENBU1NBTkRSQaiQMi0AAAFP3jyyXAAQCiAqIEZpeCB0cnVuY2F0ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt9wAAAQByYXRoZXIgdGhhbiB0aGUgRXhlY3V0aW9uRXhjZXB0aW9uIHdyYXBwZXIgKENBU1NBTkRSQS0xMjI2KQogKiByZW1vdmUgQ2xvY2sgZnJvbSB0aGUgVGhyaWZ0IChhbmQgQXZybykgQVBJIChDQVNTQU5EUkEtMTUwMSkKICogQ2xvc2UgaW50cmEtbm9kZSBzb2NrZXRzIHdoZW4gY29ubmVjdGlvbiBpcyBicm9rZW4gKENBU1NBTkRSQS0xNTI4KQogKiBSUE0gcGFja2FnaW5nIHNwZWMgZmlsZSAoQ0FTU0FORFJBLTc4NikKICogd2VpZ2h0ZWQgcmVxdWVzJy2VawAAAU/ePLJcABB1ZSAoQ0FTU0FORFJBLTU2AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC33AAABACogYWRkIEpNWCBtZXRyaWNzIGZvciByb3ctbGV2ZWwgYmxvb20gZmlsdGVyIGZhbHNlIHBvc2l0aXZlcyAoQ0FTU0FORFJBLTEyMTIpCiAqIGFkZGVkIGEgcmVkaGF0IGluaXQgc2NyaXB0IHRvIGNvbnRyaWIgKENBU1NBTkRSQS0xMjAxKQogKiB1c2UgbWlkcG9pbnQgd2hlbiBib290c3RyYXBwaW5nIGEgbmV3IG1hY2hpbmUgaW50byByYW5nZSB3aXRoIG5vdAogICBtdWNoIGRhdGEgeWV0IGluc3RlYWQgb2YgcmFuZG9tIHRva2VuIChDQVNTQU5EUkGOGiUiAAABT948slwAEGcgSW5jb21pbmdUY3BDb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfcAAAEAQ0FTU0FORFJBLTE1NjcsIDIxNTIpCiAqIGh1bWFuIHJlYWRhYmxlIGNvbHVtbiBuYW1lcyBpbiBzc3RhYmxlMmpzb24gb3V0cHV0IChDQVNTQU5EUkEtMTkzMykKICogY2hhbmdlIGRlZmF1bHQgSk1YIHBvcnQgdG8gNzE5OSAoQ0FTU0FORFJBLTIwMjcpCiAqIGJhY2t3YXJkcyBjb21wYXRpYmxlIGludGVybmFsIG1lc3NhZ2luZyAoQ0FTU0FORFJBLTEwMTUpCiAqIGF0b21pYyBzd2l0Y2ggb2YgbWVtdGFibGVzIGFuZCBzc3RhYmxlcyAoQ0FTU0FORKsjG1kAAAFP3jyyXAAQYmxlIGRyb3BzIChDQVNTQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt9wAAAQBzZXJ0aW9uIGluIG1lcmdlSXRlcmF0b3IgKENBU1NBTkRSQS0zMjYwKQogKiBGQlV0aWxpdGllcy5oZXhUb0J5dGVzKFN0cmluZykgdG8gdGhyb3cgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIHdoZW4gc3RyaW5nCiAgIGNvbnRhaW5zIG5vbi1oZXggY2hhcmFjdGVycyAoQ0FTU0FORFJBLTMyMzEpCiAqIEtlZXAgU2ltcGxlU25pdGNoIHByb3hpbWl0eSBvcmRlcmluZyB1bmNoYW5nZWQgZnJvbSB3aGF0IHRoZSBTdHJhdGVneQogICBnZW5lcmF0ZXMsIGFzxfrERAAAAU/ePLJcABBvciBvdmVybGFwIHdpdGggAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC33AAABACAga2V5IG9yZGVyIChDQVNTQU5EUkEtNjA3NSkKICogQWRkIG1ldGhvZCB0byBpbnZhbGlkYXRlIHBlcm1pc3Npb24gY2FjaGUgdmlhIEpNWCAoQ0FTU0FORFJBLTc5NzcpCiAqIEFsbG93IHByb3BhZ2F0aW5nIG11bHRpcGxlIGdvc3NpcCBzdGF0ZXMgYXRvbWljYWxseSAoQ0FTU0FORFJBLTYxMjUpCiAqIExvZyBleGNlcHRpb25zIHJlbGF0ZWQgdG8gdW5jbGVhbiBuYXRpdmUgcHJvdG9jb2wgY2xpZW50IGRpc2Nvbm5lY3RzCiAgIGF0IERFQlVHIG/+SX+6AAABT948slwAEDM0KQogKiBjbGVhciBlbmQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfcAAAEAb2lkCiAgIDMgc3lzdGVtIGNhbGxzIHBlciBpbnZvY2F0aW9uIChDQVNTQU5EUkEtOTUwKQogKiBub2RlcyB3aXRoIElQdjYgKGFuZCBubyBJUHY0KSBhZGRyZXNzZXMgY291bGQgbm90IGpvaW4gY2x1c3RlcgogICAoQ0FTU0FORFJBLTk2OSkKICogUmV0cmlldmUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIHVuZGVsZXRlZCBjb2x1bW5zLCBpZiBhbnksIGZyb20KICAgYSBzdXBlcmNvbHVtbiBpbiBhIHJvdyB0aGF0IGhhZCBiZWVuIGRlbGV0ZWQgcHJldr5xHxQAAAFP3jyyXAAQUkEtMzMwOSkKICogZml4IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt9wAAAQAKICogUmVtb3ZlIGNhc3NhbmRyYSBzcGVjaWZpYyBleGNlcHRpb25zIGZyb20gSk1YIGludGVyZmFjZSAoQ0FTU0FORFJBLTQ4OTMpCiAqIChDUUwzKSBGb3JjZSB1c2luZyBBTExPVyBGSUxURVJJTkcgb24gcG90ZW50aWFsbHkgaW5lZmZpY2llbnQgcXVlcmllcyAoQ0FTU0FORFJBLTQ5MTUpCiAqIChjcWwzKSBGaXggYWRkaW5nIGNvbHVtbiB3aGVuIHRoZSB0YWJsZSBoYXMgY29sbGVjdGlvbnMgKENBU1NBTkRSQS00OTgyKQogKiAoY3FsMykgRml47JXOQgAAAU/ePLJcABAgaW4gSkRCQyAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC33AAABAEZpeCBjZiBuYW1lIGV4dHJhY3Rpb24gZnJvbSBtYW5pZmVzdCBpbiBEaXJlY3Rvcmllcy5taWdyYXRlRmlsZSgpIChDQVNTQU5EUkEtNTI0MikKICogUmVwbGFjZSBtaXN0YWtlbiB1c2FnZSBvZiBjb21tb25zLWxvZ2dpbmcgd2l0aCBzbGY0aiAoQ0FTU0FORFJBLTU0NjQpCiAqIEVuc3VyZSBKYWNrc29uIGRlcGVuZGVuY3kgbWF0Y2hlcyBsaWIgKENBU1NBTkRSQS01MTI2KQogKiBFeHBvc2UgZHJvcHBhYmxlIHRvbWJzdG9uZSByYXRpbyBzdGF0cyCaWLkbAAABT948slwAEGFtaW5nIFJhbmdlVG9tYnMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfcAAAEAZSBwcm90b2NvbCAoQ0FTU0FORFJBLTU3NzgpCiAqIEZpeCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uIGR1cmluZyBzdHJlYW1pbmcgKENBU1NBTkRSQS01NzgyKQogKiBVcGRhdGUgZGVsZXRpb24gdGltZXN0YW1wIGluIENvbW1pdCN1cGRhdGVzV2l0aFBheG9zVGltZSAoQ0FTU0FORFJBLTU3ODcpCiAqIFRocmlmdCBjYXMoKSBtZXRob2QgY3Jhc2hlcyBpZiBpbnB1dCBjb2x1bW5zIGFyZSBub3Qgc29ydGVkIChDQVNTQU5EUkEtNTc4NtvRYLEAErJRozvKKAAAAU/ePLJcABBocmlmdCBtZXRob2RzLCBkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC36AAABACBjbG9jayBkcmlmdCBvbiBzb21lIFdpbmRvd3MgbWFjaGluZSAoQ0FTU0FORFJBLTMzNzUpCiAqIGRpc3BsYXkgY2FjaGUgcHJvdmlkZXIgaW4gY2xpICdkZXNjcmliZSBrZXlzcGFjZScgY29tbWFuZCAoQ0FTU0FORFJBLTMzODQpCiAqIGZpeCBpbmNvbXBsZXRlIHRvcG9sb2d5IGluZm9ybWF0aW9uIGluIGRlc2NyaWJlX3JpbmcgKENBU1NBTkRSQS0zNDAzKQogKiBleHBpcmUgZGVhZCBnb3NzaXAgc3RhdGVzIGJhc2VkIG9uIHRpbWUgKENBU1NBTkQENOEiAAABT948slwAEGUgdXAgd2l0aG91dCBiZWkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfoAAAEAbGxvdyBudWxscy9ub24tZXhpc3RhbnQgZmllbGRzIGluIFVEVCAoQ0FTU0FORFJBLTcyMDYpCiAqIEFkZCBUaHJpZnQgTXVsdGlTbGljZVJlcXVlc3QgKENBU1NBTkRSQS02NzU3LCBDQVNTQU5EUkEtNzAyNykKICogSGFuZGxlIG92ZXJsYXBwaW5nIE11bHRpU2xpY2VzIChDQVNTQU5EUkEtNzI3OSkKICogRml4IERhdGFPdXRwdXRUZXN0IG9uIFdpbmRvd3MgKENBU1NBTkRSQS03MjY1KQogKiBFbWJlZGRlZCBzZXRzIGluIHVzZXIgZGVmaW5lZCBkYZjROaIAAAFP3jyyXAAQZiB0aHJlYWRzIGF0IE1JTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt+gAAAQBoZW4gdGhlIGNvbW1pdGxvZwogICBnZXRzIGJlaGluZCB0ZW1wb3JhcmlseSAoQ0FTU0FORFJBLTE5OTEpCiAqIGVuYWJsZSBjYWNoaW5nIG9uIGluZGV4IENGcyBiYXNlZCBvbiBkYXRhIENGIGNhY2hlIHNldHRpbmcgKENBU1NBTkRSQS00MTk3KQogKiB3YXJuIG9uIGludmFsaWQgcmVwbGljYXRpb24gc3RyYXRlZ3kgY3JlYXRpb24gb3B0aW9ucyAoQ0FTU0FORFJBLTQwNDYpCiAqIHJlbW92ZSBbRnJlZWFibGVdTWVtb3J5IGZpbmFsaXplcnMgKENBAzx4SQAAAU/ePLJcABAgY29uZmlndXJhdGlvbiAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC36AAABAG8gcmVsZXZlbCBzc3RhYmxlcyAoQ0FTU0FORFJBLTgzMDEpCiAqIFByZXNlcnZlIHN0cmVhbSBJRCBmb3IgbW9yZSBwcm90b2NvbCBlcnJvcnMgKENBU1NBTkRSQS04ODQ4KQogKiBGaXggY29tYmluaW5nIHRva2VuKCkgZnVuY3Rpb24gd2l0aCBtdWx0aS1jb2x1bW4gcmVsYXRpb25zIG9uCiAgIGNsdXN0ZXJpbmcgY29sdW1ucyAoQ0FTU0FORFJBLTg3OTcpCiAqIE1ha2UgQ0ZTLm1hcmtSZWZlcmVuY2VkKCkgcmVzaXN0YW50IHRvIGJhZCByZWZjb3Xaba7pAAABT948slwAEGQgZmFpbHVyZSBkdWUgdG8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfoAAAEAb29sIGNvbW1hbmRzIChDQVNTQU5EUkEtNTQzMykKICogRG9uJ3QgdHJ5IHRvIHNldCByZXBhaXJlZEF0IG9uIG9sZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTc5MTMpCiAqIEFkZCBtZXRyaWNzIGZvciB0cmFja2luZyBQcmVwYXJlZFN0YXRlbWVudCB1c2UgKENBU1NBTkRSQS03NzE5KQogKiAoY3Fsc2gpIHRhYi1jb21wbGV0aW9uIGZvciB0cmlnZ2VycyAoQ0FTU0FORFJBLTc4MjQpCiAqIChjcWxzaCkgU3VwcG9ydCBmb3IgcXVlcnkgcGFnaW5nIChDQW+dP0AAAAFP3jyyXAAQIG9mIHJhbmRvbSBvciAiYgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt+gAAAQBMKSBmaXggY3Fsc2ggc3VwcG9ydCBmb3IgcmVwbGljYXRlX29uX3dyaXRlIChDQVNTQU5EUkEtMzU5NikKICogZml4IGFkZGluZyB0byBsZXZlbGVkIG1hbmlmZXN0IGFmdGVyIHN0cmVhbWluZyAoQ0FTU0FORFJBLTM1MzYpCiAqIGZpbHRlciBvdXQgdW5hdmFpbGFibGUgY2lwaGVyIHN1aXRlcyB3aGVuIHVzaW5nIGVuY3J5cHRpb24gKENBU1NBTkRSQS0zMTc4KQogKiAoSEFET09QKSBhZGQgb2xkLXN0eWxlIGFwaSBzdXBwb3J0IGZvciBDRklGIGFuZWU4wQAAAU/ePLJcABBTQU5EUkEtMzU2OCkKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC36AAABACBDRiB1cGRhdGUgKENBU1NBTkRSQS0yODA5KQogKiBmaXggSk1YIGJ1bGtsb2FkIGNhbGwgKENBU1NBTkRSQS0yOTA4KQogKiBmaXggdXBkYXRpbmcgS1Mgd2l0aCBkdXJhYmxlX3dyaXRlcz1mYWxzZSAoQ0FTU0FORFJBLTI5MDcpCiAqIGFkZCBzaW1wbGlmaWVkIGZhY2FkZSB0byBTU1RhYmxlV3JpdGVyIGZvciBidWxrIGxvYWRpbmcgdXNlCiAgIChDQVNTQU5EUkEtMjkxMSkKICogZml4IHJlLXVzaW5nIGluZGV4IENGIHNzdGFibGUgbmFtZXMgYWbcIOPbAAABT948slwAECB0b2tlbiBpcyB0YWtlbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfoAAAEAZSBvZiB0aGUKICAgY29tcHJlc3NlZCBvbmUgKENBU1NBTkRSQS0zMzM4KQogKiBGaXggaHNoYSB0aHJpZnQgc2VydmVyIChDQVNTQU5EUkEtMzM0NikKICogTWFrZSBzdXJlIHJlcGFpciBvbmx5IHN0cmVhbSBuZWVkZWQgc3N0YWJsZXMgKENBU1NBTkRSQS0zMzQ1KQoKCjEuMC4wLXJjMgogKiBMb2cgYSBtZWFuaW5nZnVsIHdhcm5pbmcgd2hlbiBhIG5vZGUgcmVjZWl2ZXMgYSBtZXNzYWdlIGZvciBhIHJlcGFpciBzZXNzaW9uCiAgIHRoYXQgZG9lc2hZI/0AAAFP3jyyXAAQY29yZCB0aGUgcmVhbCBtZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt+gAAAQAgaW4gZ2V0T3ZlcmxhcHBpbmdTU1RhYmxlcyBkdXJpbmcgcmVwYWlyIChDQVNTQU5EUkEtNDQ1NikKICogZml4IG5vZGV0b29sJ3Mgc2V0Y29tcGFjdGlvbnRocmVzaG9sZCBjb21tYW5kIChDQVNTQU5EUkEtNDQ1NSkKICogRW5zdXJlIGNvbXBhY3RlZCBmaWxlcyBhcmUgbmV2ZXIgdXNlZCwgdG8gYXZvaWQgY291bnRlciBvdmVyY291bnQgKENBU1NBTkRSQS00NDM2KQpNZXJnZWQgZnJvbSAxLjA6CiAqIFB1c2ggdGhlIHZhbGlkYXRpb24gb2Ygc2Vj1A/m+wAAAU/ePLJcABBBTkRSQS01MTA1KQogKiBBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC36AAABAFNBTkRSQS0yMzA1KQogKiBwdXNoIHJlcGxpY2F0aW9uX2ZhY3RvciBpbnRvIHN0cmF0ZWd5X29wdGlvbnMgKENBU1NBTkRSQS0xMjYzKQogKiBnaXZlIHNuYXBzaG90cyB0aGUgc2FtZSBuYW1lIG9uIGVhY2ggbm9kZSAoQ0FTU0FORFJBLTE3OTEpCiAqIHJlbW92ZSAibm9kZXRvb2wgbG9hZGJhbGFuY2UiIChDQVNTQU5EUkEtMjQ0OCkKICogbXVsdGl0aHJlYWRlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtMjE5MSkKICogY29tcGFjdGlvbiB0aHJvdHS9qu4RAAABT948slwAEG5nZSBsb2dnaW5nIGZyb20AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfoAAAEAdG8gQ1JBUiB0byBwcmV2ZW50IGxlYWtpbmcgZmlsZSBkZXNjcmlwdG9ycyAoQ0FTU0FORFJBLTQ4MjApCiAqIGZpeCBwb3RlbnRpYWwgaW5maW5pdGUgbG9vcCBpbiBnZXRfY291bnQgKENBU1NBTkRSQS00ODMzKQogKiBmaXggY29tcG9zaXRlVHlwZS57Z2V0L2Zyb219U3RyaW5nIG1ldGhvZHMgKENBU1NBTkRSQS00ODQyKQogKiAoQ1FMKSBmaXggQ1JFQVRFIENPTFVNTkZBTUlMWSBwZXJtaXNzaW9ucyBjaGVjayAoQ0FTU0FORFJBLTQ4NjQpCiAqIKftsWMAAAFP3jyyXAAQKiBtYWtlIEluZGV4SW50ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt+gAAAQBEUkEtNjg3MykKICogRml4IHBhZ2luZyB3aXRoIFNFTEVDVCBESVNUSU5DVCAoQ0FTU0FORFJBLTY4NTcpCiAqIEZpeCBVbnN1cHBvcnRlZE9wZXJhdGlvbkV4Y2VwdGlvbiBvbiBDQVMgdGltZW91dCAoQ0FTU0FORFJBLTY5MjMpCiAqIEltcHJvdmUgTWV0ZXJlZEZsdXNoZXIgaGFuZGxpbmcgb2YgTUYtdW5hZmZlY3RlZCBjb2x1bW4gZmFtaWxpZXMKICAgKENBU1NBTkRSQS02ODY3KQogKiBBZGQgQ3FsUmVjb3JkUmVhZGVyIHVzaW5nIG5hdGl2ZSBw4r8twQAAAU/ePLJcABBjYXRpb24gaW4tcHJvY2VzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC36AAABACogTWFrZSBzc3RhYmxlIGJsYWNrbGlzdGluZyB3b3JrIHdpdGggY29tcHJlc3Npb24gKENBU1NBTkRSQS05MTM4KQogKiBEbyBub3QgYXR0ZW1wdCB0byByZWJ1aWxkIGluZGV4ZXMgaWYgbm8gaW5kZXggYWNjZXB0cyBhbnkgY29sdW1uIChDQVNTQU5EUkEtOTE5NikKICogRG9uJ3QgaW5pdGlhdGUgc25pdGNoIHJlY29ubmVjdGlvbiBmb3IgZGVhZCBzdGF0ZXMgKENBU1NBTkRSQS03MjkyKQogKiBGaXggQXJyYXlJbmRleE91dE9mQm91bmRzRXhjZXDuWV8KAAABT948slwAEFNBTkRSQS0xNDgxKQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILfoAAAEAQ0FTU0FORFJBLTQ4NikKICogRml4IHJhY2UgY29uZGl0aW9ucyBpbiBUQ1BDb25uZWN0aW9uTWFuYWdlciAoQ0FTU0FORFJBLTQ4NykKICogRml4IHVzaW5nIG5vbi11dGY4LWF3YXJlIGNvbXBhcmlzb24gYXMgYSBzYW5pdHkgY2hlY2suCiAgIChDQVNTQU5EUkEtNDkzKQogKiBJbXByb3ZlIGRlZmF1bHQgZ2FyYmFnZSBjb2xsZWN0b3Igb3B0aW9ucyAoQ0FTU0FORFJBLTUwNCkKICogQWRkICJub2RlcHJvYmUgZmx1c2giIChDQVNTQU5EUkEtNTA1KRNDoeUAAAFP3jyyXAAQTkRSQS04MTQpCiAqIHVwZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt+gAAAQBvZ3JhbXMgaW4gU3RvcmFnZVByb3h5TUJlYW4gKENBU1NBTkRSQS0xODkzKQogKiBmaXggQ0xJIGdldCByZWNvZ25pdGlvbiBvZiBzdXBlcmNvbHVtbnMgKENBU1NBTkRSQS0xODk5KQogKiBlbmFibGUga2VlcGFsaXZlIG9uIGludHJhLWNsdXN0ZXIgc29ja2V0cyAoQ0FTU0FORFJBLTE3NjYpCiAqIGNvdW50IHRpbWVvdXRzIHRvd2FyZHMgZHluYW1pY3NuaXRjaCBsYXRlbmNpZXMgKENBU1NBTkRSQS0xOTA1KQogKiBFeHBvc2UgaW5kZXgtYnVpbGRpokX/IQASxq4Xm6UiAAABT948slwAEHIgV2luZG93cyBzZXJ2aWMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILf0AAAEAY2ggKENBU1NBTkRSQS01OTM4KQogKiBBZGQgc3RyZWFtIHNlc3Npb24gcHJvZ3Jlc3MgdG8gSk1YIChDQVNTQU5EUkEtNDc1NykKICogRml4IE5QRSBkdXJpbmcgQ0FTIG9wZXJhdGlvbiAoQ0FTU0FORFJBLTU5MjUpCk1lcmdlZCBmcm9tIDEuMjoKICogRml4IGdldEJsb29tRmlsdGVyRGlza1NwYWNlVXNlZCBmb3IgQWx3YXlzUHJlc2VudEZpbHRlciAoQ0FTU0FORFJBLTU5MDApCiAqIERvbid0IGFubm91bmNlIHNjaGVtYSB2ZXJzaW9uIHVudGlsIHRjWTkAAAFP3jyyXAAQQVNTQU5EUkEtNTY0NCkKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt/QAAAQBBTkRSQS00NTcpCiAqIE1vcmUtZWZmaWNpZW50IGZsdXNoIGZvciBSYW5kb20sIENvbGxhdGVkT1BQIHBhcnRpdGlvbmVycyAKICAgZm9yIG5vcm1hbCB3cml0ZXMgKENBU1NBTkRSQS00NDYpIGFuZCBidWxrIGxvYWQgKENBU1NBTkRSQS00MjApCiAqIEFkZCBNZW10YWJsZUZsdXNoQWZ0ZXJNaW51dGVzLCBhIGdsb2JhbCByZXBsYWNlbWVudCBmb3IgdGhlIG9sZCAKICAgcGVyLUNGIEZsdXNoUGVyaW9kSW5NaW51dGVzIHNldHRpbmcgKENBU1NBTkRStdXH0AAAAU/ePLJcABBlbiBieXBhc3NpbmcgY29tAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC39AAABAGVyc2VkIGZsYWcgZHVyaW5nIGNvbGxhdGlvbiBmcm9tIGRpZmZlcmVudCBkYXRhIHNvdXJjZXMKICAgKENBU1NBTkRSQS0xNDUwKQogKiBtYWtlIGZhaWx1cmUgdG8gcmVtb3ZlIGNvbW1pdGxvZyBzZWdtZW50IG5vbi1mYXRhbCAoQ0FTU0FORFJBLTEzNDgpCiAqIGNvcnJlY3Qgb3JkZXJpbmcgb2YgZHJhaW4gb3BlcmF0aW9ucyBzbyBDTC5yZWNvdmVyIGlzIG5vIGxvbmdlciAKICAgbmVjZXNzYXJ5IChDQVNTQU5EUkEtMTQwOCkKICogcmVtb3ZlZCBkFRrYAAABT948slwAEEEtMzI1OSkKICogRml4IGIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILf0AAAEALTIxMzgpCiAqIGF2b2lkIHBvbGx1dGluZyBwYWdlIGNhY2hlIHdpdGggY29tbWl0bG9nIG9yIHNzdGFibGUgd3JpdGVzCiAgIGFuZCBzZXEgc2NhbiBvcGVyYXRpb25zIChDQVNTQU5EUkEtMTQ3MCkKICogYWRkIFJNSSBhdXRoZW50aWNhdGlvbiBvcHRpb25zIHRvIG5vZGV0b29sIChDQVNTQU5EUkEtMTkyMSkKICogbWFrZSBzbml0Y2hlcyBjb25maWd1cmFibGUgYXQgcnVudGltZSAoQ0FTU0FORFJBLTEzNzQpCiAqIHJldHJ5IGhhZG9vcCBzcGxpdNyXueMAAAFP3jyyXAAQcyBjb3VudGVyX3dyaXRlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt/QAAAQB5bmNocm9uaXplZCAoQ0FTU0FORFJBLTg0MTYpCiAqIGNhbmNlbCBsYXRlbmN5LXNhbXBsaW5nIHRhc2sgd2hlbiBDRiBpcyBkcm9wcGVkIChDQVNTQU5EUkEtODQwMSkKICogZG9uJ3QgYmxvY2sgU29ja2V0VGhyZWFkIGZvciBNZXNzYWdpbmdTZXJ2aWNlIChDQVNTQU5EUkEtODE4OCkKICogSW5jcmVhc2UgcXVhcmFudGluZSBkZWxheSBvbiByZXBsYWNlbWVudCAoQ0FTU0FORFJBLTgyNjApCiAqIEV4cG9zZSBvZmYtaGVhcCBtZW1vcnkgdXNhZ2UgGtYezgAAAU/ePLJcABBzc0Nhc3RFeGNlcHRpb24gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC39AAABAHBvc2l0ZVR5cGUgcmVmIHRvIHRoZSBDTEkgZG9jIGZvciBjcmVhdGUvdXBkYXRlIGNvbHVtbiBmYW1pbHkgKENBU1NBTkRSQS0zOTgwKQogKiBQaWc6IHN1cHBvcnQgQ291bnRlciBDb2x1bW5GYW1pbGllcyAoQ0FTU0FORFJBLTM5NzMpCiAqIFBpZzogQ29tcG9zaXRlIGNvbHVtbiBzdXBwb3J0IChDQVNTQU5EUkEtMzY4NCkKICogQXZvaWQgTlBFIGR1cmluZyByZXBhaXIgd2hlbiBhIGtleXNwYWNlIGhhcyBubyBDRnMgKENBU1NBTkRSQS0zOTg4KQpCKUDbAAABT948slwAEDIzMDUpCiAqIGFsbG93IHoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILf0AAAEAb3IgTFdUIG9wZXJhdGlvbnMgYXQgTE9DQUxfU0VSSUFMIChDQVNTQU5EUkEtNjQ5NSkKICogV2FpdCBmb3IgZ29zc2lwIHRvIHNldHRsZSBiZWZvcmUgYWNjZXB0aW5nIGNsaWVudCBjb25uZWN0aW9ucyAoQ0FTU0FORFJBLTQyODgpCiAqIERlbGV0ZSB1bmZpbmlzaGVkIGNvbXBhY3Rpb24gaW5jcmVtZW50YWxseSAoQ0FTU0FORFJBLTYwODYpCiAqIEFsbG93IHNwZWNpZnlpbmcgY3VzdG9tIHNlY29uZGFyeSBpbmRleCBvcHRpb25zIGluIENRTDMgKOoN584AAAFP3jyyXAAQbW92ZSBnb3NzaXAgc3RhdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt/QAAAQAqIGFkZCBtZW10YWJsZV9mbHVzaF9xdWV1ZV9zaXplIGRlZmF1bHRpbmcgdG8gNCAoQ0FTU0FORFJBLTIzMzMpCiAqIEFsbG93IG92ZXJyaWRpbmcgb2YgaW5pdGlhbF90b2tlbiwgc3RvcmFnZV9wb3J0IGFuZCBycGNfcG9ydCBmcm9tIHN5c3RlbQogICBwcm9wZXJ0aWVzIChDQVNTQU5EUkEtMjM0MykKICogZml4IGNvbXBhcmF0b3IgdXNlZCBmb3Igbm9uLWluZGV4ZWQgc2Vjb25kYXJ5IGV4cHJlc3Npb25zIGluIGluZGV4IHNjYW4KICAgKENBU1NB4p0YZAAAAU/ePLJcABAtYXdhcmUgYWdhaW4gKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC39AAABAGZpeCBxdWVyeWluZyBzdXBlcmNvbHVtbnMgYnkgbmFtZSByZXR1cm5pbmcgb25seSBhIHN1YnNldCBvZgogICBzdWJjb2x1bW5zIG9yIG9sZCBzdWJjb2x1bW4gdmVyc2lvbnMgKENBU1NBTkRSQS0zNDQ2KQogKiBhdXRvbWF0aWNhbGx5IGNvbXB1dGUgc2hhMSBzdW0gZm9yIHVuY29tcHJlc3NlZCBkYXRhIGZpbGVzIChDQVNTQU5EUkEtMzQ1NikKICogZml4IHJlYWRpbmcgbWV0YWRhdGEvc3RhdGlzdGljcyBjb21wb25lbnQgZm9yIHZlcnNpb24gPCDHafD8AAABT948slwAEGdlIFRva2VuUmluZy5lbmQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILf0AAAEAbXBvbmVudF9pbmRleCIgY29sdW1uIG9uIERST1AgVEFCTEUgY2FsbCAoQ0FTU0FORFJBLTQ0MjApCiAqIGNoYW5nZSBuYW5vVGltZSgpIHRvIGN1cnJlbnRUaW1lSW5NaWxsaXMoKSBpbiBzY2hlbWEgcmVsYXRlZCBjb2RlIChDQVNTQU5EUkEtNDQzMikKICogYWRkIGEgdG9rZW4gZ2VuZXJhdGlvbiB0b29sIChDQVNTQU5EUkEtMzcwOSkKICogRml4IExDUyBidWcgd2l0aCBzc3RhYmxlIGNvbnRhaW5pbmcgb25seSAxIHJvdyAoQ0FTU0FORFJBLTQ0MZKcIvoAAAFP3jyyXAAQaW9uIG9mIGluZGV4ZXMgaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt/QAAAQBsZXRlZAogICAoQ0FTU0FORFJBLTQxNTQpCiAqIGZpeCByZWFkX3JlcGFpcl9jaGFuY2UgdG8gcmVhbGx5IGRlZmF1bHQgdG8gMC4xIGluIHRoZSBjbGkgKENBU1NBTkRSQS00MTE0KQogKiBBZGRzIGNhY2hpbmcgYW5kIGJsb29tRmlsdGVyRnBDaGFuZ2UgdG8gQ1FMIG9wdGlvbnMgKENBU1NBTkRSQS00MDQyKQogKiBBZGRzIHBvc2liaWxpdHkgdG8gYXV0b2NvbmZpZ3VyZSBzaXplIG9mIHRoZSBLZXlDYWNoZSAoQ0FTU0FORFJBLTQwODcpCiAqIGZpgYUYHAAAAU/ePLJcABAubGFuZy5Bc3NlcnRpb25FAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC39AAABAG5rbm93bkhvc3RFeGNlcHRpb24gb24gc3RhcnR1cCAoQ0FTU0FORFJBLTE2OTcpCiAqIGluY2x1ZGUgam5hIGRlcGVuZGVuY3kgaW4gUlBNIHBhY2thZ2UgKENBU1NBTkRSQS0xNjkwKQogKiBhZGQgLS1za2lwLWtleXMgb3B0aW9uIHRvIHN0cmVzcy5weSAoQ0FTU0FORFJBLTE2OTYpCiAqIGltcHJvdmUgY2xpIGhhbmRsaW5nIG9mIG5vbi1zdHJpbmcga2V5cyBhbmQgY29sdW1uIG5hbWVzIAogICAoQ0FTU0FORFJBLTE3MDEsIC0xNjkzKQogKiByL23NtmOPAAABT948slwAEG9ucyBzZXR0aW5ncyBpbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILf0AAAEAZWdtZW50cyAoQ0FTU0FORFJBLTkzNikKICogZml4IG5laWdoYm9yIGNhbGN1bGF0aW9uIGZvciBhbnRpLWVudHJvcHkgcmVwYWlyIChDQVNTQU5EUkEtOTI0KQogKiBwZXJmb3JtIHJlcGFpciBldmVuIGZvciBzbWFsbCBlbnRyb3B5IGRpZmZlcmVuY2VzIChDQVNTQU5EUkEtOTI0KQogKiBVc2UgaG9zdG5hbWVzIGluIENGSW5wdXRGb3JtYXQgdG8gYWxsb3cgSGFkb29wJ3MgbmFpdmUgc3RyaW5nLWJhc2VkCiAgIGxvY2FsaXR5IGNvbXBhcmlzb25zIJ/qn8IAAAFP3jyyXAAQbiB3aGVuIHN0cmluZwogIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgt/QAAAQBnIGEgMm5kYXJ5IGluZGV4ZWQgY29sdW1uIChDQVNTQU5EUkEtNTcwNSkKICogUmVuYW1lIFRhYmxlIHRvIEtleXNwYWNlIChDQVNTQU5EUkEtNTYxMykKICogRW5zdXJlIGNoYW5naW5nIGNvbHVtbl9pbmRleF9zaXplX2luX2tiIG9uIGRpZmZlcmVudCBub2RlcyBkb24ndCBjb3JydXB0IHRoZQogICBzc3RhYmxlIChDQVNTQU5EUkEtNTQ1NCkKICogTW92ZSByZXN1bHRzZXQgdHlwZSBpbmZvcm1hdGlvbiBpbnRvIHByZXBhcmUsIG5vdCBleGVjdXRlouvWQgAAAU/ePLJcABB5cGUgd2hlbgogICB1c2luAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC39AAABAGltZXN0YW1wIGNvbGxlY3Rpb24gKENBU1NBTkRSQS01MzczKQogKiBJbnZhbGlkIHN0cmVhbUlkIGluIGNxbCBiaW5hcnkgcHJvdG9jb2wgd2hlbiB1c2luZyBpbnZhbGlkIENMIAogICAoQ0FTU0FORFJBLTUxNjQpCiAqIEZpeCB2YWxpZGF0aW9uIGZvciBJTiB3aGVyZSBjbGF1c2VzIHdpdGggY29sbGVjdGlvbnMgKENBU1NBTkRSQS01Mzc2KQogKiBDb3B5IHJlc3VsdFNldCBvbiBjb3VudCBxdWVyeSB0byBhdm9pZCBDb25jdXJyZW50TW9kaWZpY2HpRmsMABLbC3HK9l0AAAFP3jyyXAAQb3VyY2UgcmVsZWFzZSB3aAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguAAAAAQBkdXJpbmcgbmF0aXZlCiAgIHByb3RvY29sIG1lc3NhZ2UgZGVjb2RlIChDQVNTQU5EUkEtODExOCkKICogR29zc2lwIHNob3VsZCBpZ25vcmUgZ2VuZXJhdGlvbiBudW1iZXJzIHRvbyBmYXIgaW4gdGhlIGZ1dHVyZSAoQ0FTU0FORFJBLTgxMTMpCiAqIEZpeCBOUEUgd2hlbiBjcmVhdGluZyBhIHRhYmxlIHdpdGggZnJvemVuIHNldHMsIGxpc3RzIChDQVNTQU5EUkEtODEwNCkKICogRml4IGhpZ2ggbWVtb3J5IHVzZSBkdWUgdG8gdHJhY2tpbmcgcmVhBWy/qwAAAU/ePLJcABAgdG9tYnN0b25lIGNvbXBhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4AAAABAGVydGllcyAoQ0FTU0FORFJBLTIzNDMpCiAqIGZpeCBjb21wYXJhdG9yIHVzZWQgZm9yIG5vbi1pbmRleGVkIHNlY29uZGFyeSBleHByZXNzaW9ucyBpbiBpbmRleCBzY2FuCiAgIChDQVNTQU5EUkEtMjM0NykKICogZW5zdXJlIHNpemUgY2FsY3VsYXRpb24gYW5kIHdyaXRlIHBoYXNlIG9mIGxhcmdlLXJvdyBjb21wYWN0aW9uIHVzZQogICB0aGUgc2FtZSB0aHJlc2hvbGQgZm9yIFRUTCBleHBpcmF0aW9uIChDQVNTQU5EUkEtMjM0OSkKICogZml4IHKxWUdrAAABT948slwAEGFzaCB3aXRoIENRTCBjb2wAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgAAAAEAbGV2ZWwgdG8gY2ZzdGF0cyAoQ0FTU0FORFJBLTQ1MzcpCiAqIChjcWwzKSBBZGQgQUxURVIgS0VZU1BBQ0Ugc3RhdGVtZW50IChDQVNTQU5EUkEtNDYxMSkKICogKGNxbDMpIEFsbG93IGRlZmluaW5nIGRlZmF1bHQgY29uc2lzdGVuY3kgbGV2ZWxzIChDQVNTQU5EUkEtNDQ0OCkKICogKGNxbDMpIEZpeCBxdWVyaWVzIHVzaW5nIExJTUlUIG1pc3NpbmcgcmVzdWx0cyAoQ0FTU0FORFJBLTQ1NzkpCiAqIGZpeCBjcm9zcy12ZXJzaW9uIGdvc3NpcCBtZVQfJSoAAAFP3jyyXAAQZXN0YXJ0IChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguAAAAAQBORFJBLTY4ODApCiAqIFRyYWNrIHByZXNlbmNlIG9mIGxlZ2FjeSBjb3VudGVyIHNoYXJkcyBpbiBzc3RhYmxlcyAoQ0FTU0FORFJBLTY4ODgpCiAqIEVuc3VyZSBzYWZlIHJlc291cmNlIGNsZWFudXAgd2hlbiByZXBsYWNpbmcgc3N0YWJsZXMgKENBU1NBTkRSQS02OTEyKQogKiBBZGQgZmFpbHVyZSBoYW5kbGVyIHRvIGFzeW5jIGNhbGxiYWNrIChDQVNTQU5EUkEtNjc0NykKICogRml4IEFFIHdoZW4gY2xvc2luZyBTU1RhYmxlIHdpdGhvdXQgcmVsjri17wAAAU/ePLJcABB4cG9zZSBzZWNvbmRhcnkgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4AAAABAAogKiBGQlV0aWxpdGllcy5oZXhUb0J5dGVzKFN0cmluZykgdG8gdGhyb3cgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIHdoZW4gc3RyaW5nCiAgIGNvbnRhaW5zIG5vbi1oZXggY2hhcmFjdGVycyAoQ0FTU0FORFJBLTMyMzEpCiAqIEtlZXAgU2ltcGxlU25pdGNoIHByb3hpbWl0eSBvcmRlcmluZyB1bmNoYW5nZWQgZnJvbSB3aGF0IHRoZSBTdHJhdGVneQogICBnZW5lcmF0ZXMsIGFzIGludGVuZGVkIChDQVNTQU5EUkEtMzI2MikKICogcmVtb3ZlIFNjcnUKDE7YAAABT948slwAECB2YWxpZGF0aW9uIG9mIHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgAAAAEAKENBU1NBTkRSQS00NTY2KQogKiBvcHRpbWl6ZSBXcml0ZVJlc3BvbnNlIChDQVNTQU5EUkEtNDU0OCkKICogbmV3IG1ldHJpY3MgKENBU1NBTkRSQS00MDA5KQogKiByZWRlc2lnbiBLRVlTIGluZGV4ZXMgdG8gYXZvaWQgcmVhZC1iZWZvcmUtd3JpdGUgKENBU1NBTkRSQS0yODk3KQogKiBkZWJ1ZyB0cmFjaW5nIChDQVNTQU5EUkEtMTEyMykKICogcGFyYWxsZWxpemUgcm93IGNhY2hlIGxvYWRpbmcgKENBU1NBTkRSQS00MjgyKQogKiBNYWtlIGNvbcpqsloAAAFP3jyyXAAQRFJBLTY0MTMpCiAqIChIYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguAAAAAQBjdGlvbiAoQ0FTU0FORFJBLTg0MjkpCiAqIFJ1biBtYWpvciBjb21wYWN0aW9ucyBmb3IgcmVwYWlyZWQvdW5yZXBhaXJlZCBpbiBwYXJhbGxlbCAoQ0FTU0FORFJBLTg1MTApCiAqIChjcWxzaCkgRml4IGNvbXByZXNzaW9uIG9wdGlvbnMgaW4gREVTQ1JJQkUgVEFCTEUgb3V0cHV0IHdoZW4gY29tcHJlc3Npb24KICAgaXMgZGlzYWJsZWQgKENBU1NBTkRSQS04Mjg4KQogKiAoY3Fsc2gpIEZpeCBERVNDUklCRSBvdXRwdXQgYWZ0ZXIga2V5c3BhY2VzHXnhoQAAAU/ePLJcABBibGUyanNvbiB3aXRoIG11AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4AAAABADQ5ODIpCiAqIChjcWwzKSBGaXggYWxsb3dpbmcgY29sbGVjdGlvbnMgd2l0aCBjb21wYWN0IHN0b3JhZ2UgKENBU1NBTkRSQS00OTkwKQogKiAoY3FsMykgUmVmdXNlIHR0bC93cml0ZXRpbWUgZnVuY3Rpb24gb24gY29sbGVjdGlvbnMgKENBU1NBTkRSQS00OTkyKQogKiBSZXBsYWNlIElBdXRob3JpdHkgd2l0aCBuZXcgSUF1dGhvcml6ZXIgKENBU1NBTkRSQS00ODc0KQogKiBjbHFzaDogZml4IEtFWSBwc2V1ZG9jb2x1bW4gZXNjYXBpbmcgd2hlbiCrqvDJAAABT948slwAEChDQVNTQU5EUkEtMzM2MykAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgAAAAEAaWZ5IG91ciBhdnJvIElETCAoQ0FTU0FORFJBLTE0MzYpCiAqIGV4dGVuZCBhdXRob3JpemF0aW9uIGhpZXJhcmNoeSB0byBjb2x1bW4gZmFtaWx5IChDQVNTQU5EUkEtMTU1NCkKICogZGVsZXRpb24gc3VwcG9ydCBpbiBzZWNvbmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTE1NzEpCiAqIG1lYW5pbmdmdWwgZXJyb3IgbWVzc2FnZSBmb3IgaW52YWxpZCByZXBsaWNhdGlvbiBzdHJhdGVneSBjbGFzcyAKICAgKENBU1NBTkRSQS0xNTY2KQogKiBhbGxvd7zI+NAAAAFP3jyyXAAQaWRlLWJ5LXplcm8gaW4gSAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguAAAAAQBpb24gaW4gVGhyaWZ0IChDQVNTQU5EUkEtNjE0MCkKICogRml4IGJ1ZyBtaXNzaW5nIHJlc3VsdHMgd2l0aCBJTiBjbGF1c2VzIChDQVNTQU5EUkEtNjMyNykKICogRml4IHBhZ2luZyB3aXRoIHJldmVyc2VkIHNsaWNlcyAoQ0FTU0FORFJBLTYzNDMpCiAqIFNldCBtaW5UaW1lc3RhbXAgY29ycmVjdGx5IHRvIGJlIGFibGUgdG8gZHJvcCBleHBpcmVkIHNzdGFibGVzIChDQVNTQU5EUkEtNjMzNykKICogU3VwcG9ydCBOYU4gYW5kIEluZmluaXR5IGFzd+VoVAAAAU/ePLJcABBhdGljIGNvbHVtbnMgd2l0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4AAAABAAogICB0aGVtIChDQVNTQU5EUkEtMzM4NSkKICogcmVtb3ZlIHByb2NydW4gKGJpblxkYWVtb24pIGZyb20gQ2Fzc2FuZHJhIHNvdXJjZSB0cmVlIGFuZCAKICAgYXJ0aWZhY3RzIChDQVNTQU5EUkEtMzMzMSkKICogbWFrZSBjYXNzYW5kcmEgY29tcGlsZSB1bmRlciBKREs3IChDQVNTQU5EUkEtMzI3NSkKICogcmVtb3ZlIGRlcGVuZGVuY3kgb2YgY2xpZW50dXRpbC5qYXIgdG8gRkJVdGlsaXRpZXMgKENBU1NBTkRSQS0zMjk5KQogKiBhdm9pZCB0cnWm1sz8AAABT948slwAEENvdW50ZXIgQ29sdW1uRmEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgAAAAEAZSBuZXR0eSBzZXJ2ZXIgKENBU1NBTkRSQS02ODYxKQogKiBGaXggcmVwYWlyIGhhbmcgd2hlbiBnaXZlbiBDRiBkb2VzIG5vdCBleGlzdCAoQ0FTU0FORFJBLTcxODkpCiAqIEFsbG93IGMqIHRvIGJlIHNodXRkb3duIGluIGFuIGVtYmVkZGVkIG1vZGUgKENBU1NBTkRSQS01NjM1KQogKiBBZGQgc2VydmVyIHNpZGUgYmF0Y2hpbmcgdG8gbmF0aXZlIHRyYW5zcG9ydCAoQ0FTU0FORFJBLTU2NjMpCiAqIE1ha2UgYmF0Y2hsb2cgcmVwbGF5IGFzeW5jaPX1q3IAAAFP3jyyXAAQZCBjb2x1bW4gZmFtaWxpZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguAAAAAQAgd2hlbiBNZXNzYWdpbmdTZXJ2aWNlIGlzIHN0b3BwZWQgKENBU1NBTkRSQS05MjM4KQogKiBGaXggc3RyZWFtaW5nIGhhbmcgd2hlbiByZXRyeWluZyAoQ0FTU0FORFJBLTkxMzIpCgoKMi4xLjUKICogUmUtYWRkIGRlcHJlY2F0ZWQgY29sZF9yZWFkc190b19vbWl0IHBhcmFtIGZvciBiYWNrd2FyZHMgY29tcGF0IChDQVNTQU5EUkEtOTIwMykKICogTWFrZSBhbnRpY29tcGFjdGlvbiB2aXNpYmxlIGluIGNvbXBhY3Rpb25zdGF0cyAoQ0FTU0FORFJBPHBNxwAAAU/ePLJcABBtZW1vcnkgZW1lcmdlbmN5AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4AAAABAGcgZGlyZWN0b3J5IChDQVNTQU5EUkEtMTU0NykKICogRGlzYWxsb3cgYm9vdHN0cmFwIHRvIGFuIGluLXVzZSB0b2tlbiAoQ0FTU0FORFJBLTE1NjEpCgoKMC43LWJldGExCiAqIHNzdGFibGUgdmVyc2lvbmluZyAoQ0FTU0FORFJBLTM4OSkKICogc3dpdGNoZWQgdG8gc2xmNGogbG9nZ2luZyAoQ0FTU0FORFJBLTYyNSkKICogYWRkIChvcHRpb25hbCkgZXhwaXJhdGlvbiB0aW1lIGZvciBjb2x1bW4gKENBU1NBTkRSQS02OTkpCiAqIGFjY2VzcyBsZXbZxiJcAAABT948slwAEENsZWFudXAgQWJzdHJhY3QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgAAAAEALTIwNjIpCiAqIEZpeGVkIHRoZSBhYmlsaXR5IHRvIHNldCBjb21wYWN0aW9uIHN0cmF0ZWd5IGluIGNsaSB1c2luZyBjcmVhdGUgY29sdW1uIAogICBmYW1pbHkgY29tbWFuZCAoQ0FTU0FORFJBLTI3NzgpCiAqIGNsZWFuIHVwIHRtcCBmaWxlcyBhZnRlciBmYWlsZWQgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTI0NjgpCiAqIHJlc3RyaWN0IHJlcGFpciBzdHJlYW1pbmcgdG8gc3BlY2lmaWMgY29sdW1uZmFtaWxpZXMgKENBU1NBTkRSQS0yMjgwKQogKrTEcj0AEu9oKBrNJgAAAU/ePLJcABBoaW50X3dpbmRvd19pbl9tAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4DAAABAG5jYXRlIHdoZW4gYXV0b3NuYXBzaG90IGlzIGRpc2FibGVkIChDQVNTQU5EUkEtNDE1MykKICogdXBkYXRlIGNhY2hlcyB0byB1c2UgYnl0ZVtdIGtleXMgdG8gcmVkdWNlIG1lbW9yeSBvdmVyaGVhZCAoQ0FTU0FORFJBLTM5NjYpCiAqIGFkZCBjb2x1bW4gbGltaXQgdG8gY2xpIChDQVNTQU5EUkEtMzAxMiwgNDA5OCkKICogY2xlYW4gdXAgYW5kIG9wdGltaXplIERhdGFPdXRwdXRCdWZmZXIsIHVzZWQgYnkgQ1FMIGNvbXByZXNzaW9uIGFuZAogICCG/EgXAAABT948slwAEGRpZnkga2V5c3BhY2VzIGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgMAAAEAbmVzIGV4cGlyZSAoQ0FTU0FORFJBLTYyNzcpCiAqIFNraXAgbG9hZGluZyBjb3JydXB0IGtleSBjYWNoZSAoQ0FTU0FORFJBLTYyNjApCiAqIEZpeGVzIGZvciBjb21wYWN0aW5nIGxhcmdlci10aGFuLW1lbW9yeSByb3dzIChDQVNTQU5EUkEtNjI3NCkKICogQ29tcGFjdCBob3R0ZXN0IHNzdGFibGVzIGZpcnN0IGFuZCBvcHRpb25hbGx5IG9taXQgY29sZGVzdCBmcm9tCiAgIGNvbXBhY3Rpb24gZW50aXJlbHkgKENBU1NBTkRSQS02MTA5KQogKiBGaSY2kTMAAAFP3jyyXAAQdGVyIHRocm93cyBOUEUgZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguAwAAAQBBU1NBTkRSQS03NjI2KQogKiBGaXggdHJhY2luZyBvZiBjb25jdXJyZW50IHJhbmdlIHNsaWNlcyBhbmQgMmFyeSBpbmRleCBxdWVyaWVzIChDQVNTQU5EUkEtNzYyNikKICogRml4IHNjcnViIGFnYWluc3QgY29sbGVjdGlvbiB0eXBlIChDQVNTQU5EUkEtNzY2NSkKTWVyZ2VkIGZyb20gMi4wOgogKiBTZXQgZ2NfZ3JhY2Vfc2Vjb25kcyB0byBzZXZlbiBkYXlzIGZvciBzeXN0ZW0gc2NoZW1hIHRhYmxlcyAoQ0FTU0FORFJBLTc2NjgpCiAqIFNpbXBsjbTqCQAAAU/ePLJcABAgZm9yIGRhdGEgcmVhZHMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4DAAABADgpCiAqIE5vdGlmeSBEVCBzdWJzY3JpYmVycyB3aGVuIGEgY29sdW1uIGZhbWlseSBpcyB0cnVuY2F0ZWQgKENBU1NBTkRSQS04MDg4KQogKiBBZGQgc2FuaXR5IGNoZWNrIG9mICRKQVZBIG9uIHN0YXJ0dXAgKENBU1NBTkRSQS03Njc2KQogKiBTY2hlZHVsZSBmYXQgY2xpZW50IHNjaGVtYSBwdWxsIG9uIGpvaW4gKENBU1NBTkRSQS03OTkzKQogKiBEb24ndCByZXNldCBub2RlcycgdmVyc2lvbnMgd2hlbiBjbG9zaW5nIEluY29taW5nVGNwQ29ubmUPJtkfAAABT948slwAEGlnYXRvci5qc3BhP3Jlc2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgMAAAEAaWRhdGUgc2l6ZSBvZiBpbmRleGVkIGNvbHVtbiB2YWx1ZXMgKENBU1NBTkRSQS04MjgwKQogKiBNYWtlIExDUyBzcGxpdCBjb21wYWN0aW9uIHJlc3VsdHMgb3ZlciBhbGwgZGF0YSBkaXJlY3RvcmllcyAoQ0FTU0FORFJBLTgzMjkpCiAqIEZpeCBzb21lIGZhaWxpbmcgcXVlcmllcyB0aGF0IHVzZSBtdWx0aS1jb2x1bW4gcmVsYXRpb25zCiAgIG9uIENPTVBBQ1QgU1RPUkFHRSB0YWJsZXMgKENBU1NBTkRSQS04MjY0KQogKiBGaXggSW52YWxpZFJlcXfcuqwAAAFP3jyyXAAQdGhlIGxvZzRqIGZpbGUgaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguAwAAAQAyNTk4KQogKiBEaXNhYmxlIGNvbXBhY3Rpb24gdGhyb3R0bGluZyBkdXJpbmcgYm9vdHN0cmFwIChDQVNTQU5EUkEtMjYxMikgCiAqIGZpeCBDUUwgdHJlYXRtZW50IG9mID4gYW5kIDwgb3BlcmF0b3JzIGluIHJhbmdlIHNsaWNlcyAoQ0FTU0FORFJBLTI1OTIpCiAqIGZpeCBwb3RlbnRpYWwgZG91YmxlLWFwcGxpY2F0aW9uIG9mIGNvdW50ZXIgdXBkYXRlcyBvbiBjb21taXRsb2cgcmVwbGF5CiAgIGJ5IG1vdmluZyByZXBsYXkgcG9zaXRpb24gZnJveI2WuwAAAU/ePLJcABB1aWxkIHNlY29uZGFyeSBpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4DAAABAG5ldyBJUCAoQ0FTU0FORFJBLTMyNTkpCiAqIEZpeCBidWcgd2hlcmUgdGhlIGZhaWx1cmUgZGV0ZWN0b3IgY2FuIHRha2UgdG9vIGxvbmcgdG8gbWFyayBhIGhvc3QKICAgZG93biAoQ0FTU0FORFJBLTMyNzMpCiAqIChIYWRvb3ApIGFsbG93IHdyYXBwaW5nIHJhbmdlcyBpbiBxdWVyaWVzIChDQVNTQU5EUkEtMzEzNykKICogKEhhZG9vcCkgY2hlY2sgYWxsIGludGVyZmFjZXMgZm9yIGEgbWF0Y2ggd2l0aCBzcGxpdCBsb2NhdGlvbgogICBiZWZvcmWJ/1F/AAABT948slwAECAqIENvcnJlY3RseSBjb20AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgMAAAEAcmMyCiAqIExvZyBhIG1lYW5pbmdmdWwgd2FybmluZyB3aGVuIGEgbm9kZSByZWNlaXZlcyBhIG1lc3NhZ2UgZm9yIGEgcmVwYWlyIHNlc3Npb24KICAgdGhhdCBkb2Vzbid0IGV4aXN0IGFueW1vcmUgKENBU1NBTkRSQS0zMjU2KQogKiB0ZXN0IGZvciBOVU1BIHBvbGljeSBzdXBwb3J0IGFzIHdlbGwgYXMgbnVtYWN0bCBwcmVzZW5jZSAoQ0FTU0FORFJBLTMyNDUpCiAqIEZpeCBGRCBsZWFrIHdoZW4gaW50ZXJub2RlIGVuY3J5cHRpb24gaXMgZW5hYsCDkzkAAAFP3jyyXAAQUkEtNzAxOCkKICogUHJvcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguAwAAAQB6ZSBjb21wdXRhdGlvbiBvZiBwcmVwYXJlZCBzdGF0ZW1lbnQgKENBU1NBTkRSQS02MzY5KQoKCjIuMC4yCiAqIFVwZGF0ZSBGYWlsdXJlRGV0ZWN0b3IgdG8gdXNlIG5hbm9udGltZSAoQ0FTU0FORFJBLTQ5MjUpCiAqIEZpeCBGaWxlQ2FjaGVTZXJ2aWNlIHJlZ3Jlc3Npb25zIChDQVNTQU5EUkEtNjE0OSkKICogTmV2ZXIgcmV0dXJuIFdyaXRlVGltZW91dCBmb3IgQ0wuQU5ZIChDQVNTQU5EUkEtNjEzMikKICogRml4IHJhY2UgY29uZGl0aW9ucyBpBMUcswAAAU/ePLJcABAwKQogKiBQcm9wZXJseSByAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4DAAABAC01MDEzKQogKiBhZGQgdGhyZWFkcG9vbCBzaXplIGFkanVzdG1lbnQgbWV0aG9kcyB0byBKTVhFbmFibGVkVGhyZWFkUG9vbEV4ZWN1dG9yIGFuZCAKICAgQ29tcGFjdGlvbk1hbmFnZXJNQmVhbiAoQ0FTU0FORFJBLTUwNDQpCiAqIGZpeCBoaW50aW5nIGZvciBkcm9wcGVkIGxvY2FsIHdyaXRlcyAoQ0FTU0FORFJBLTQ3NTMpCiAqIG9mZi1oZWFwIGNhY2hlIGRvZXNuJ3QgbmVlZCBtdXRhYmxlIGNvbHVtbiBjb250YWluZXIgKENBU1NBTkRSQS01MDU8L1TwAAABT948slwAEGhpbmcgdG8gc2tpcCBzdWMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgMAAAEAIEZEIGxlYWsgd2hlbiBpbnRlcm5vZGUgZW5jcnlwdGlvbiBpcyBlbmFibGVkIChDQVNTQU5EUkEtMzI1NykKICogRkJVdGlsaXRpZXMuaGV4VG9CeXRlcyhTdHJpbmcpIHRvIHRocm93IE51bWJlckZvcm1hdEV4Y2VwdGlvbiB3aGVuIHN0cmluZwogICBjb250YWlucyBub24taGV4IGNoYXJhY3RlcnMgKENBU1NBTkRSQS0zMjMxKQogKiBLZWVwIFNpbXBsZVNuaXRjaCBwcm94aW1pdHkgb3JkZXJpbmcgdW5jaGFuZ2VkIGZyb20gd2hhdCB0aGUgU3RyYemrofgAAAFP3jyyXAAQMzQ4KQogKiB1c2UgbmFubwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguAwAAAQAgS1MgYW5kIENGIG5hbWVzIHVwIHRvIDQ4IGNoYXJhY3RlcnMgKENBU1NBTkRSQS00MTU3KQogKiBmaXggc3RyZXNzIGJ1aWxkIChDQVNTQU5EUkEtNDE0MCkKICogYWRkIHRpbWUgcmVtYWluaW5nIGVzdGltYXRlIHRvIG5vZGV0b29sIGNvbXBhY3Rpb25zdGF0cyAoQ0FTU0FORFJBLTQxNjcpCiAqIChjcWwpIGZpeCBOUEUgaW4gY3FsMyBBTFRFUiBUQUJMRSAoQ0FTU0FORFJBLTQxNjMpCiAqIChjcWwpIEFkZCBzdXBwb3J0IGZvciBDTC5UV08gYW5kepS+/wAAAU/ePLJcABBuIGNsZWFudXAgYW5kIGZsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4DAAABAGx1cmUgKENBU1NBTkRSQS02NDU5KQogKiBBbGxvdyBleGVjdXRpbmcgQ1JFQVRFIHN0YXRlbWVudHMgbXVsdGlwbGUgdGltZXMgKENBU1NBTkRSQS02NDcxKQogKiBEb24ndCBzZW5kIGNvbmZ1c2luZyBpbmZvIHdpdGggdGltZW91dHMgKENBU1NBTkRSQS02NDkxKQogKiBEb24ndCByZXN1Ym1pdCBjb3VudGVyIG11dGF0aW9uIHJ1bm5hYmxlcyBpbnRlcm5hbGx5IChDQVNTQU5EUkEtNjQyNykKICogRG9uJ3QgZHJvcCBsb2NhbCBtdXRhdGlvbnMgd2lpoXaFAAABT948slwAEAogKiBGaXggQXNzZXJ0aW8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgMAAAEAbWVjaGFuaXNtIHRvIE9UQyBmb3Igbm9uLWRyb3BwYWJsZV92ZXJicyAoQ0FTU0FORFJBLTUzOTMpCiAqIFVzZSBhbGxvY2F0b3IgaW5mb3JtYXRpb24gdG8gaW1wcm92ZSBtZW10YWJsZSBtZW1vcnkgdXNhZ2UgZXN0aW1hdGUKICAgKENBU1NBTkRSQS01NDk3KQogKiBGaXggdHJ5aW5nIHRvIGxvYWQgZGVsZXRlZCByb3cgaW50byByb3cgY2FjaGUgb24gc3RhcnR1cCAoQ0FTU0FORFJBLTQ0NjMpCiAqIGZzeW5jIGxldmVsZWQgbWFuaWZlc3QgdG8gYQnLTL8AAAFP3jyyXAAQb3VyY2UgY2xlYW51cCB3aAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguAwAAAQBvX3NuYXBzaG90IG9wdGlvbiBhbGxvd2luZyBkaXNhYmxpbmcgc25hcHNob3QgYmVmb3JlIGRyb3AvdHJ1bmNhdGUKICAgKENBU1NBTkRSQS0zNzEwKQogKiBhbGxvdyBzaG9ydCBzbml0Y2ggbmFtZXMgKENBU1NBTkRSQS00MTMwKQoKCjEuMS1iZXRhMgogKiByZW5hbWUgbG9hZGVkIHNzdGFibGVzIHRvIGF2b2lkIGNvbmZsaWN0cyB3aXRoIGxvY2FsIHNuYXBzaG90cwogICAoQ0FTU0FORFJBLTM5NjcpCiAqIHN0YXJ0IGhpbnQgcmVwbGF5IGFzIHNvScSWaQATA8VHiw4zAAABT948slwAECByZWZ1c2UgaW52YWxpZCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgUAAAEAb250aHJvdWdocHV0IChDQVNTQU5EUkEtMjU1MCkKICogbW92ZQlnb3NzaXAgaGVhcnRiZWF0IGJhY2sgdG8gaXRzIG93biB0aHJlYWQgKENBU1NBTkRSQS0yNTU0KQogKiB2YWxpZGF0ZSBjcWwgVFJVTkNBVEUgY29sdW1uZmFtaWx5IGJlZm9yZSB0cnVuY2F0aW5nIChDQVNTQU5EUkEtMjU3MCkKICogZml4IGJhdGNoX211dGF0ZSBmb3IgbWl4ZWQgc3RhbmRhcmQtY291bnRlciBtdXRhdGlvbnMgKENBU1NBTkRSQS0yNDU3KQogKiBkaXNhbGxvdyBtYSxc1pEAAAFP3jyyXAAQb25maWd1cmF0aW9uIHRvIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguBQAAAQBTU0FORFJBLTY3NDcpCiAqIEZpeCBBRSB3aGVuIGNsb3NpbmcgU1NUYWJsZSB3aXRob3V0IHJlbGVhc2luZyByZWZlcmVuY2UgKENBU1NBTkRSQS03MDAwKQogKiBDbGVhbiB1cCBJbmRleEluZm8gb24ga2V5c3BhY2UvdGFibGUgZHJvcHMgKENBU1NBTkRSQS02OTI0KQogKiBPbmx5IHNuYXBzaG90IHJlbGF0aXZlIFNTVGFibGVzIHdoZW4gc2VxdWVudGlhbCByZXBhaXIgKENBU1NBTkRSQS03MDI0KQogKiBSZXF1aXJlIG5vZGV0b29sIHJlYnVpbGRfwTY/zAAAAU/ePLJcABBuIChDQVNTQU5EUkEtNTAxAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4FAAABAGIgY2hlY2sgbGV2ZWxlZCBtYW5pZmVzdCBhZ2FpbiAoQ0FTU0FORFJBLTg0MzIpCiAqIENoZWNrIGZpcnN0L2xhc3Qga2V5cyBpbiBzc3RhYmxlIHdoZW4gZ2l2aW5nIG91dCBwb3NpdGlvbnMgKENBU1NBTkRSQS04NDU4KQogKiBEaXNhYmxlIG1tYXAgb24gV2luZG93cyAoQ0FTU0FORFJBLTY5OTMpCiAqIEFkZCBtaXNzaW5nIENvbnNpc3RlbmN5TGV2ZWxzIHRvIGNhc3NhbmRyYS1zdHJlc3MgKENBU1NBTkRSQS04MjUzKQogKiBBZGQgYXV0aCBzdXDNA3+2AAABT948slwAEHVlcnkgZmFpbHMgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgUAAAEAICBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNzYwMCkKICogKEhhZG9vcCkgZml4IGNsdXN0ZXIgaW5pdGlhbGlzYXRpb24gZm9yIGEgc3BsaXQgZmV0Y2hpbmcgKENBU1NBTkRSQS03Nzc0KQogKiBDb25maWd1cmUgc3lzdGVtLnBheG9zIHdpdGggTGV2ZWxlZENvbXBhY3Rpb25TdHJhdGVneSAoQ0FTU0FORFJBLTc3NTMpCiAqIEZpeCBBTFRFUiBjbHVzdGVyaW5nIGNvbHVtbiB0eXBlIGZyb20gRGF0ZVR5cGUgdG8gVGltZXN0YW1wVHlwZSB3aGVuCiAgIKxeZOoAAAFP3jyyXAAQICdDTFVTVEVSSU5HIE9SRAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguBQAAAQBTU0FORFJBLTMzMjUpCiAqIHJ1biBjb21wYWN0aW9uIGFuZCBoaW50ZWQgaGFuZG9mZiB0aHJlYWRzIGF0IE1JTl9QUklPUklUWSAoQ0FTU0FORFJBLTMzMDgpCiAqIGRlZmF1bHQgaHNoYSB0aHJpZnQgc2VydmVyIHRvIGNwdSBjb3JlIGNvdW50IGluIHJwYyBwb29sIChDQVNTQU5EUkEtMzMyOSkKICogYWRkIGJpblxkYWVtb24gdG8gYmluYXJ5IHRhcmJhbGwgZm9yIFdpbmRvd3Mgc2VydmljZSAoQ0FTU0FORFJBLTMzMzEpCiAqIEZpeCBwbGFjZXMgKSV1jgAAAU/ePLJcABBlIHJvdyBpcyByZXF1ZXN0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4FAAABAGUgZmx1c2hpbmcgYmVoYXZpb3Igd2l0aCBjbGVhbiBtZW10YWJsZXMgKENBU1NBTkRSQS01OTMxKQogKiBGaXggZGF0ZU9mKCkgZnVuY3Rpb24gZm9yIHByZS0yLjAgdGltZXN0YW1wIGNvbHVtbnMgKENBU1NBTkRSQS01OTI4KQogKiBGaXggU1NUYWJsZSB1bmludGVudGlvbmFsbHkgbG9hZHMgQkYgd2hlbiBvcGVuZWQgZm9yIGJhdGNoIChDQVNTQU5EUkEtNTkzOCkKICogQWRkIHN0cmVhbSBzZXNzaW9uIHByb2dyZXNzIHRvIEpNWCAoQ0FTU0FORFK7pROWAAABT948slwAEGVwb3J0IHRocmlmdCBzdGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgUAAAEAU0FORFJBLTIwMDcpCiAqIGF2b2lkIHdyaXRpbmcgZW1wdHkgcm93cyB3aGVuIHNjcnViYmluZyB0b21ic3RvbmVkIHJvd3MgKENBU1NBTkRSQS0yMjk2KQogKiBmaXggYXNzZXJ0aW9uIGVycm9yIGluIHJhbmdlIGFuZCBpbmRleCBzY2FucyBmb3IgQ0wgPCBBTEwKICAgKENBU1NBTkRSQS0yMjgyKQogKiBmaXggY29tbWl0bG9nIHJlcGxheSB3aGVuIGZsdXNoIHBvc2l0aW9uIHJlZmVycyB0byBkYXRhIHRoYXQgZGlkbid0CiAgIGdldCBzeW5jZWQgYjY1WCgAAAFP3jyyXAAQcyBCRiBlbnRpcmVseTsgTAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguBQAAAQBsZSAnbnVsbCcgYXMgc2Vzc2lvbiBkdXJhdGlvbiAoQ0FTU0FORFJBLTYzMTcpCiAqIEZpeCBqc29uMnNzdGFibGUgaGFuZGxpbmcgb2YgcmFuZ2UgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTYzMTYpCiAqIEZpeCBtaXNzaW5nIG9uZSByb3cgaW4gcmV2ZXJzZSBxdWVyeSAoQ0FTU0FORFJBLTYzMzApCiAqIEZpeCByZWFkaW5nIGV4cGlyZWQgcm93IHZhbHVlIGZyb20gcm93IGNhY2hlIChDQVNTQU5EUkEtNjMyNSkKICogRml4IEFzc2VydGlvbkVycm9yTTqrtQAAAU/ePLJcABAgKD4gMTQwTSkgaW4gYSBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4FAAABAFNTQU5EUkEtNTc1NykKICogRml4IGJ1bGtsb2FkZXIgKENBU1NBTkRSQS01NTQyKQogKiBBZGQgTFo0IGNvbXByZXNzaW9uIHRvIHRoZSBuYXRpdmUgcHJvdG9jb2wgKENBU1NBTkRSQS01NzY1KQogKiBGaXggYnVncyBpbiB0aGUgbmF0aXZlIHByb3RvY29sIHYyIChDQVNTQU5EUkEtNTc3MCkKICogQ0FTIG9uICdwcmltYXJ5IGtleSBvbmx5JyB0YWJsZSAoQ0FTU0FORFJBLTU3MTUpCiAqIFN1cHBvcnQgc3RyZWFtaW5nIFNTVGFibGVzIG9mIG9sZCDn7Z0MAAABT948slwAEGVzcyBjb3VudGVyX3dyaXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgUAAAEATkRSQS02OTA2KQogKiBGaXggU1NUYWJsZSBub3QgcmVsZWFzZWQgaWYgc3RyZWFtIHNlc3Npb24gZmFpbHMgKENBU1NBTkRSQS02ODE4KQogKiBBdm9pZCBidWlsZCBmYWlsdXJlIGR1ZSB0byBBTlRMUiB0aW1lb3V0IChDQVNTQU5EUkEtNjk5MSkKICogUXVlcmllcyBvbiBjb21wYWN0IHRhYmxlcyBjYW4gcmV0dXJuIG1vcmUgcm93cyB0aGF0IHJlcXVlc3RlZCAoQ0FTU0FORFJBLTcwNTIpCiAqIFVTSU5HIFRJTUVTVEFNUCBmb3IgYmF0Y2hlcyBkb1crF5wAAAFP3jyyXAAQKENBU1NBTkRSQS0zMTU4KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguBQAAAQBtcGFjdGlvbiBzbyBibG9vbSBmaWx0ZXIKICAgZG9lc24ndCBnZXQgZnJlZSdkIHByZW1hdHVyZWx5IChDQVNTQU5EUkEtNDkzNCkKICogRG9uJ3Qgc2hhcmUgc2xpY2UgcXVlcnkgZmlsdGVyIGluIENRTDMgU2VsZWN0U3RhdGVtZW50IChDQVNTQU5EUkEtNDkyOCkKICogU2VwYXJhdGUgdHJhY2luZyBmcm9tIExvZzRKIChDQVNTQU5EUkEtNDg2MSkKICogRXhjbHVkZSBnY2FibGUgdG9tYnN0b25lcyBmcm9tIG1lcmtsZS10cmVlIGNvbXB1dGF0aW9uojDTEAAAAU/ePLJcABAqIEZpeCBwb3RlbnRpYWwgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4FAAABAGljdWxhcmx5IGNvbW1vbiBvbiBWTSBlbnZpcm9ubWVudHMuIENhc3NhbmRyYSBzaG91bGQgZGVwbG95CiAgIGZpbmUgb24gRUMyIG5vdwogKiBNdWNoIGltcHJvdmVkIGluZnJhc3RydWN0dXJlOiB0aGUgYmVnaW5uaW5ncyBvZiBhIGRlY2VudCB0ZXN0IHN1aXRlCiAgICgiYW50IHRlc3QiIGZvciB1bml0IHRlc3RzOyAibm9zZXRlc3RzIiBmb3Igc3lzdGVtIHRlc3RzKSwgY29kZQogICBjb3ZlcmFnZSByZXBvcnRpbmcsIGV0Yy4KICogRXhwYW5kZWTrCCrVAAABT948slwAEDY1MjUpCiAqIEZpeCBmbGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgUAAAEAc3RhdGVtZW50IChDQVNTQU5EUkEtNTA3NSkKICogRG9uJ3QgY3JlYXRlIGVtcHR5IFJvd011dGF0aW9ucyBpbiBDb21taXRMb2dSZXBsYXllciAoQ0FTU0FORFJBLTU1NDEpCiAqIFVzZSByYW5nZSB0b21ic3RvbmVzIHdoZW4gZHJvcHBpbmcgY2ZzL2NvbHVtbnMgZnJvbSBzY2hlbWEgKENBU1NBTkRSQS01NTc5KQogKiBjcWxzaDogZHJvcCBDUUwyL0NRTDMtYmV0YSBzdXBwb3J0IChDQVNTQU5EUkEtNTU4NSkKICogVHJhY2sgbWF4L21pbiBjb2x1bb9eb/MAAAFP3jyyXAAQKENBU1NBTkRSQS0yMDg4KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguBQAAAQBiZXRhMQogKiBhZGQgYXRvbWljX2JhdGNoX211dGF0ZSAoQ0FTU0FORFJBLTQ1NDIsIC00NjM1KQogKiBpbmNyZWFzZSBkZWZhdWx0IG1heF9oaW50X3dpbmRvd19pbl9tcyB0byAzaCAoQ0FTU0FORFJBLTQ2MzIpCiAqIGluY2x1ZGUgbWVzc2FnZSBpbml0aWF0aW9uIHRpbWUgdG8gcmVwbGljYXMgc28gdGhleSBjYW4gbW9yZQogICBhY2N1cmF0ZWx5IGRyb3AgdGltZWQtb3V0IHJlcXVlc3RzIChDQVNTQU5EUkEtMjg1OCkKICogZml4IGNsaWVudHV0gRIFDwAAAU/ePLJcABA3MjIpCiAqIEZpeGVkIHJvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4FAAABAG1ldGVyIHRhc2sgd2hlbiBjbG9zaW5nIFNTVFIgKENBU1NBTkRSQS02MzU4KQogKiBmcmVlIG9mZi1oZWFwIEluZGV4U3VtbWFyeSBkdXJpbmcgYnVsayAoQ0FTU0FORFJBLTYzNTkpCiAqIFJlY292ZXIgZnJvbSBJT0V4Y2VwdGlvbiBpbiBhY2NlcHQoKSB0aHJlYWQgKENBU1NBTkRSQS02MzQ5KQogKiBJbXByb3ZlIEdvc3NpcCB0b2xlcmFuY2Ugb2YgYWJub3JtYWxseSBzbG93IHRhc2tzIChDQVNTQU5EUkEtNjMzOCkKICogRml4IHRyeWluZyB0byC27iLtABMYIhzlB7EAAAFP3jyyXAAQaWQgZm9yIHRoZQogICBkZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguBwAAAQApIFByb3BlciBDb2x1bW5GYW1pbHkgbWV0YWRhdGEgdmFsaWRhdGlvbiBvbiBDUkVBVEUgQ09MVU1ORkFNSUxZIAogICAoQ0FTU0FORFJBLTM1NjUpCiAqIGZpeCBjb21wcmVzc2lvbiAiY2h1bmtfbGVuZ3RoX2tiIiBvcHRpb24gdG8gc2V0IGNvcnJlY3Qga2IgdmFsdWUgZm9yIAogICB0aHJpZnQvYXZybyAoQ0FTU0FORFJBLTM1NTgpCiAqIGZpeCBtaXNzaW5nIHJlc3BvbnNlIGR1cmluZyByYW5nZSBzbGljZSByZXBhaXIgKENBU1NBTkRSQS0zNTUxPrDIIwAAAU/ePLJcABAqIGV4cG9zZSBnZXROYXR1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4HAAABAE5EUkEtNzU3NykKICogKEhhZG9vcCkgYWxsb3cgQUNGUlcgdG8gbGltaXQgbm9kZXMgdG8gbG9jYWwgREMgKENBU1NBTkRSQS03MjUyKQogKiAoY3Fsc2gpIGNxbHNoIHNob3VsZCBhdXRvbWF0aWNhbGx5IGRpc2FibGUgdHJhY2luZyB3aGVuIHNlbGVjdGluZwogICBmcm9tIHN5c3RlbV90cmFjZXMgKENBU1NBTkRSQS03NjQxKQogKiAoSGFkb29wKSBBZGQgQ3FsT3V0cHV0Rm9ybWF0IChDQVNTQU5EUkEtNjkyNykKICogRG9uJ3QgZGVwZW5kIG9uIGOdCvWJAAABT948slwAEG90b2NvbCAoQ0FTU0FORFIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgcAAAEAIEltcHJvdmUgcmVwYWlyIGJ5IGRlY2lkaW5nIG9uIGEgZ2NCZWZvcmUgYmVmb3JlIHNlbmRpbmcKICAgb3V0IFRyZWVSZXF1ZXN0cyAoQ0FTU0FORFJBLTQ5MzIpCiAqIEFkZCBhbiBvZmZpY2lhbCB3YXkgdG8gZGlzYWJsZSBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTUwNzQpCiAqIFJlZW5hYmxlIEFMVEVSIFRBQkxFIERST1Agd2l0aCBuZXcgc2VtYW50aWNzIChDQVNTQU5EUkEtMzkxOSkKICogQWRkIGJpbmFyeSBwcm90b2NvbCB2ZXJzaW9uaW5nIEc/LgEAAAFP3jyyXAAQdGVyIGhhbmRvZmYgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguBwAAAQBlcm5hbCwgLnJlcXVlc3QgKENBU1NBTkRSQS0xMjE3KQogKiBhbGxvdyBub2RlcyB0byBjaGFuZ2UgSVBzIGJldHdlZW4gcmVzdGFydHMgKENBU1NBTkRSQS0xNTE4KQogKiByZW1lbWJlciByaW5nIHN0YXRlIGJldHdlZW4gcmVzdGFydHMgYnkgZGVmYXVsdCAoQ0FTU0FORFJBLTE1MTgpCiAqIGZsdXNoIGluZGV4IGJ1aWx0IGZsYWcgc28gd2UgY2FuIHJlYWQgaXQgYmVmb3JlIGxvZyByZXBsYXkgKENBU1NBTkRSQS0xNTQxKQogKiBsb2NrIHJvdyBj4GgDNgAAAU/ePLJcABAtNTgyMykKICogKEhhZG9vAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4HAAABAGVudCAoQ0FTU0FORFJBLTc3MDUpCiAqIE1ha2Ugc3VyZSB3ZSBjb21wYWN0IGhpZ2hseSBvdmVybGFwcGluZyBjb2xkIHNzdGFibGVzIHdpdGgKICAgU1RDUyAoQ0FTU0FORFJBLTg2MzUpCiAqIHJwY19pbnRlcmZhY2UgYW5kIGxpc3Rlbl9pbnRlcmZhY2UgZ2VuZXJhdGUgTlBFIG9uIHN0YXJ0dXAgd2hlbiBzcGVjaWZpZWQKICAgaW50ZXJmYWNlIGRvZXNuJ3QgZXhpc3QgKENBU1NBTkRSQS04Njc3KQogKiBGaXggQXJyYXlJbmRleE91dE9mQm91bmQDAXUPAAABT948slwAEDYpCiAqIGNsaSBzdXBwb3IAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgcAAAEAcmVNQmVhbkl0ZXJhdG9yIHRvIHVzZSBuZXcgdHlwZSBuYW1lIChDQVNTQU5EUkEtMTQzMykKICogY29ycmVjdCBmaWxlbmFtZSBnZW5lcmF0ZWQgYnkgeG1sLT55YW1sIGNvbnZlcnRlciAoQ0FTU0FORFJBLTE0MTkpCiAqIGFkZCBDTVNJbml0aWF0aW5nT2NjdXBhbmN5RnJhY3Rpb249NzUgYW5kIFVzZUNNU0luaXRpYXRpbmdPY2N1cGFuY3lPbmx5CiAgIHRvIGRlZmF1bHQgSlZNIG9wdGlvbnMKICogZGVjcmVhc2UganZtIGhlYXAgZm9yIGNhc3Nhbv3lVIAAAAFP3jyyXAAQYXJkCiAgIGNvbHVtbnMgKAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguBwAAAQBTU0FORFJBLTQyOTYpCiAqIEF2b2lkIGRlYWRsb2NrIGluIG1pZ3JhdGlvbiBzdGFnZSAoQ0FTU0FORFJBLTM4ODIpCiAqIFRha2Ugc3VwZXJjb2x1bW4gbmFtZXMgYW5kIGRlbGV0aW9uIGluZm8gaW50byBhY2NvdW50IGluIG1lbXRhYmxlIHRocm91Z2hwdXQKICAgKENBU1NBTkRSQS00MjY0KQogKiBBZGQgYmFjayBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBvbGQgc3R5bGUgcmVwbGljYXRpb24gZmFjdG9yIChDQVNTQU5EUkEtNDI5NCkKICogLg6JtQAAAU/ePLJcABAgdGlja2V0cykKICogYWRkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4HAAABAChDQVNTQU5EUkEtMjg1NSkKICogRml4IGhhbmRsaW5nIG9mIHRvbWJzdG9uZSBieSBTU1RhYmxlRXhwb3J0L0ltcG9ydCAoQ0FTU0FORFJBLTMzNTcpCiAqIGZpeCBDb2x1bW5JbmRleGVyIHRvIHVzZSBsb25nIG9mZnNldHMgKENBU1NBTkRSQS0zMzU4KQogKiBJbXByb3ZlZCBDTEkgZXhjZXB0aW9ucyAoQ0FTU0FORFJBLTMzMTIpCiAqIEZpeCBoYW5kbGluZyBvZiB0b21ic3RvbmUgYnkgU1NUYWJsZUV4cG9ydC9JbXBvcnQgKENBU1NBTkRSQS0zMzXi6u75AAABT948slwAECAqIGZpeCBjb250cmliL3cAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgcAAAEARFJBLTI0MzQpCk1lcmdlZCBmcm9tIDIuMDoKICogQXZvaWQgcmFjZS1wcm9uZSBzZWNvbmQgInNjcnViIiBvZiBzeXN0ZW0ga2V5c3BhY2UgKENBU1NBTkRSQS02Nzk3KQogKiBQb29sIENxbFJlY29yZFdyaXRlciBjbGllbnRzIGJ5IGluZXRhZGRyZXNzIHJhdGhlciB0aGFuIFJhbmdlCiAgIChDQVNTQU5EUkEtNjY2NSkKICogRml4IGNvbXBhY3Rpb25faGlzdG9yeSB0aW1lc3RhbXBzIChDQVNTQU5EUkEtNjc4NCkKICogQ29tcGFyZSBzY29yZXMgbyVG/JwAAAFP3jyyXAAQb2tlbiBmb3JjZSBjYXVzaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguBwAAAQAnIChDQVNTQU5EUkEtMjgxMCkKICogRml4IHN0cmVzcyBDT1VOVEVSX0dFVCBvcHRpb24gKENBU1NBTkRSQS0zMzAxKQogKiBGaXggbWlzc2luZyBmaWVsZHMgaW4gQ0xJIGBzaG93IHNjaGVtYWAgb3V0cHV0IChDQVNTQU5EUkEtMzMwNCkKICogTm9kZXRvb2wgbm8gbG9uZ2VyIGxlYWtzIHRocmVhZHMgYW5kIGNsb3NlcyBKTVggY29ubmVjdGlvbnMgKENBU1NBTkRSQS0zMzA5KQogKiBmaXggdHJ1bmNhdGUgYWxsb3dpbmcgZGF0YSB0byBiZSByZXBsxo6SmgAAAU/ePLJcABAyCiAqIGFkZCBiYXRjaF9tAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4HAAABAC02NzE0KQogKiBBZGQgc3RhdGljIGNvbHVtbnMgdG8gQ1FMMyAoQ0FTU0FORFJBLTY1NjEpCiAqIE9wdGltaXplIHNpbmdsZSBwYXJ0aXRpb24gYmF0Y2ggc3RhdGVtZW50cyAoQ0FTU0FORFJBLTY3MzcpCiAqIERpc2FsbG93IHBvc3QtcXVlcnkgcmUtb3JkZXJpbmcgd2hlbiBwYWdpbmcgKENBU1NBTkRSQS02NzIyKQogKiBGaXggcG90ZW50aWFsIHBhZ2luZyBidWcgd2l0aCBkZWxldGVkIGNvbHVtbnMgKENBU1NBTkRSQS02NzQ4KQogKiBGaXggTlCs4SwcAAABT948slwAECBjaGFuZ2UgZ2V0X2NvdW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgcAAAEAaGVhdGluZyAoZGlzYWJsZWQgYnkgZGVmYXVsdCkKICAgKENBU1NBTkRSQS00OTM3KQogKiBJbXByb3ZlIHJlcGFpciBieSBkZWNpZGluZyBvbiBhIGdjQmVmb3JlIGJlZm9yZSBzZW5kaW5nCiAgIG91dCBUcmVlUmVxdWVzdHMgKENBU1NBTkRSQS00OTMyKQogKiBBZGQgYW4gb2ZmaWNpYWwgd2F5IHRvIGRpc2FibGUgY29tcGFjdGlvbnMgKENBU1NBTkRSQS01MDc0KQogKiBSZWVuYWJsZSBBTFRFUiBUQUJMRSBEUk9QIHdpdGggbmV3IHNlbWFudGljc9y5NiAAAAFP3jyyXAAQeSAtRGNhc3NhbmRyYS5qbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguBwAAAQBwIHdoZW4gcmVjeWNsaW5nIHNlZ21lbnRzIGF0IHN0YXJ0dXAKICAgKENBU1NBTkRSQS00MjAxKQogKiAoSGFkb29wKSBmaXggc3BsaXQgZ2VuZXJhdGlvbiByZWdyZXNzaW9uIChDQVNTQU5EUkEtNDI1OSkKICogaWdub3JlIG1pbi9tYXggY29tcGFjdGlvbnMgc2V0dGluZ3MgaW4gTENTLCB3aGlsZSBwcmVzZXJ2aW5nCiAgIGJlaGF2aW9yIHRoYXQgbWluPW1heD0wIGRpc2FibGVzIGF1dG9jb21wYWN0aW9uIChDQVNTQU5EUkEtNDIzMykKICogbG9nLIoicQAAAU/ePLJcABBBTkRSQS01ODg0KQogKiBVAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4HAAABAG9sIGdldHNzdGFibGVzIGZvciBibG9iIFBLIChDQVNTQU5EUkEtNjgwMykKICogRml4IEJhdGNobG9nTWFuYWdlciNkZWxldGVCYXRjaCgpIHVzZSBvZiBtaWxsaXNlY29uZCB0aW1lc3RhbXBzCiAgIChDQVNTQU5EUkEtNjgyMikKICogQ29udGludWUgYXNzYXNzaW5hdGluZyBldmVuIGlmIHRoZSBlbmRwb2ludCB2YW5pc2hlcyAoQ0FTU0FORFJBLTY3ODcpCiAqIFNjaGVkdWxlIHNjaGVtYSBwdWxscyBvbiBjaGFuZ2UgKENBU1NBTkRSQS02OTcxKQq5Zy01AAABT948slwAEHB0aW9ucyAoQ0FTU0FORFIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgcAAAEAbXV0YXRlIGZvciBtaXhlZCBzdGFuZGFyZC1jb3VudGVyIG11dGF0aW9ucyAoQ0FTU0FORFJBLTI0NTcpCiAqIGRpc2FsbG93IG1ha2luZyBzY2hlbWEgY2hhbmdlcyB0byBzeXN0ZW0ga2V5c3BhY2UgKENBU1NBTkRSQS0yNTYzKQogKiBmaXggc2VuZGluZyBtdXRhdGlvbiBtZXNzYWdlcyBtdWx0aXBsZSB0aW1lcyAoQ0FTU0FORFJBLTI1NTcpCiAqIGZpeCBpbmNvcnJlY3QgdXNlIG9mIE5CSE0uc2l6ZSBpbiBSZWFkQ2FsbGJhY2sgdGhhdCBjb3VsZPZieMcAEyx/i7278AAAAU/ePLJcABBjdGlvbnMgKENBU1NBTkRSAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4JAAABAC0yODk0KQogKiBmaXggInNob3J0IHJlYWRzIiBpbiBbbXVsdGldZ2V0IChDQVNTQU5EUkEtMjY0MywgMzE1NywgMzE5MikKICogYWRkIG9wdGlvbmFsIGNvbXByZXNzaW9uIGZvciBzc3RhYmxlcyAoQ0FTU0FORFJBLTQ3LCAyOTk0LCAzMDAxLCAzMTI4KQogKiBhZGQgc2NoZWR1bGVyIEpNWCBtZXRyaWNzIChDQVNTQU5EUkEtMjk2MikKICogYWRkIGJsb2NrIGxldmVsIGNoZWNrc3VtIGZvciBjb21wcmVzc2VkIGRhdGEgKENBU1NBTkRSQS0xNzE3KQqwKxj8AAABT948slwAECkKICogQWRkZWQgbXVsdGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgkAAAEAIHRva2VucyAoQ0FTU0FORFJBLTgyMzApCiAqIEltcHJvdmUgY29tcGFjdGlvbiBvZiByZXBhaXJlZC91bnJlcGFpcmVkIHNzdGFibGVzIChDQVNTQU5EUkEtODAwNCkKICogTWFrZSBjYWNoZSBzZXJpYWxpemVycyBwbHVnZ2FibGUgKENBU1NBTkRSQS04MDk2KQogKiBGaXggaXNzdWVzIHdpdGggQ09OVEFJTlMgKEtFWSkgcXVlcmllcyBvbiBzZWNvbmRhcnkgaW5kZXhlcwogICAoQ0FTU0FORFJBLTgxNDcpCiAqIEZpeCByZWFkLXJhdGUgdHJhY2tpbqaYDxsAAAFP3jyyXAAQIHByb3ZpZGVkIHJhbmdlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguCQAAAQBvcHRpb24gdG8gZG8gbW9yZSBhZ2dyZXNzaXZlIHRvbWJzdG9uZSBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTY1NjMpCiAqIERvbid0IHRyeSB0byBjb21wYWN0IGFscmVhZHktY29tcGFjdGluZyBmaWxlcyBpbiBISE9NIChDQVNTQU5EUkEtNzI4OCkKICogQWx3YXlzIHJlYWxsb2NhdGUgYnVmZmVycyBpbiBIU0hBIChDQVNTQU5EUkEtNjI4NSkKICogKEhhZG9vcCkgc3VwcG9ydCBhdXRoZW50aWNhdGlvbiBpbiBDcWxSZWNvcmRSZWFkZXIgKENBU1NBhXdGsgAAAU/ePLJcABBuJ3QgZ2V0IGZyZWUnZCBwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4JAAABAHJpZnQgCiAgIChDQVNTQU5EUkEtNjQ3LCBDQVNTQU5EUkEtNjQ5KQogKiBleHBvc2UgamF2YS51dGlsLmNvbmN1cnJlbnQuVGltZW91dEV4Y2VwdGlvbiBpbiBTdG9yYWdlUHJveHkgbWV0aG9kcwogICAoQ0FTU0FORFJBLTYwMCkKICogVGNwQ29ubmVjdGlvbk1hbmFnZXIgd2FzIGhvbGRpbmcgb24gdG8gZGlzY29ubmVjdGVkIGNvbm5lY3Rpb25zLCAKICAgZ2l2aW5nIHRoZSBmYWxzZSBpbmRpY2F0aW9uIHRoZXkgd2VyZSBiZWluZyB1c2VkLiAoQ0EpVGJxAAABT948slwAECBmb3IgQ1FMIHByZXBhcmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgkAAAEAX3RvdGFsX3NwYWNlX2luX21iIChDQVNTQU5EUkEtNjU3MykKICogRml4IEFCVEMgTlBFIGFuZCBhcHBseSB1cGRhdGUgZnVuY3Rpb24gY29ycmVjdGx5IChDQVNTQU5EUkEtNjY5MikKICogQWxsb3cgbm9kZXRvb2wgdG8gdXNlIGEgZmlsZSBvciBwcm9tcHQgZm9yIHBhc3N3b3JkIChDQVNTQU5EUkEtNjY2MCkKICogRml4IEFJT09CRSB3aGVuIGNvbmN1cnJlbnRseSBhY2Nlc3NpbmcgQUJTQyAoQ0FTU0FORFJBLTY3NDIpCiAqIEZpeCBhc3NlcnRpb6pj8rMAAAFP3jyyXAAQbmcgaHVnZSBtYXAgYW5kIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguCQAAAQBDQVNTQU5EUkEtMTc1MykKICogZml4IGZvciBib290c3RyYXAgd2hlbiBubyBub24tc3lzdGVtIHRhYmxlcyBhcmUgZGVmaW5lZCAoQ0FTU0FORFJBLTE3MzIpCiAqIGhhbmRsZSByZXBsaWNhIHVuYXZhaWxhYmlsaXR5IGluIGluZGV4IHNjYW4gKENBU1NBTkRSQS0xNzU1KQogKiBmaXggc2VydmljZSBpbml0aWFsaXphdGlvbiBvcmRlciBkZWFkbG9jayAoQ0FTU0FORFJBLTE3NTYpCiAqIG11bHRpLWxpbmUgY2xpIGNvbW1hbmRzIChDQVNTQU5EUkEtwu8LsAAAAU/ePLJcABB3cyBiZWluZyBjb21wYWN0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4JAAABAGQgYW5kIGhpc3RvZ3JhbSAoQ0FTU0FORFJBLTYwNDIsIDYwNTcpCiAqIEVuYWJsZSB0Y3Aga2VlcGFsaXZlIG9uIGluY29taW5nIGNvbm5lY3Rpb25zIChDQVNTQU5EUkEtNDA1MykKICogRml4IGZhdCBjbGllbnQgc2NoZW1hIHB1bGwgTlBFIChDQVNTQU5EUkEtNjA4OSkKICogRml4IG1lbXRhYmxlIGZsdXNoaW5nIGZvciBpbmRleGVkIHRhYmxlcyAoQ0FTU0FORFJBLTYxMTIpCiAqIEZpeCBza2lwcGluZyBjb2x1bW5zIHdpdGggbXVsdGlwbGUgc2xs+Y05AAABT948slwAEGUgYWNjZXB0aW5nIGNsaWUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgkAAAEAZWQgKENBU1NBTkRSQS03OTkwKQogKiBGaXggZmlsdGVyaW5nIGZvciBDT05UQUlOUyBvbiBzZXRzIChDQVNTQU5EUkEtODAzMykKICogUHJvcGVybHkgdHJhY2sgYWRkZWQgc2l6ZSAoQ0FTU0FORFJBLTcyMzkpCiAqIEFsbG93IGNvbXBpbGF0aW9uIGluIGphdmEgOCAoQ0FTU0FORFJBLTcyMDgpCiAqIEZpeCBBc3NlcnRpb24gZXJyb3Igb24gUmFuZ2VUb21ic3RvbmVMaXN0IGRpZmYgKENBU1NBTkRSQS04MDEzKQogKiBSZWxlYXNlIHJlZmVyZW5jZfpIbAkAAAFP3jyyXAAQdGggcm93IGFuZCBrZXkgYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguCQAAAQB2YWxpZGF0ZSByb3cgY2FjaGUgZm9yIHN0cmVhbWVkIHJvdyB0byBhdm9pZCBpbmNvbnNpdGVuY2llcwogICAoQ0FTU0FORFJBLTI0MjApCiAqIGF2b2lkIGNvcGllcyBpbiByYW5nZS9pbmRleCBzY2FucyAoQ0FTU0FORFJBLTI0MjUpCiAqIG1ha2Ugc3VyZSB3ZSBkb24ndCB3aXBlIGRhdGEgZHVyaW5nIGNsZWFudXAgaWYgdGhlIG5vZGUgaGFzIG5vdCBqb2luCiAgIHRoZSByaW5nIChDQVNTQU5EUkEtMjQyOCkKICogVHJ5IGhhcmRlciB0byBjbG9z8Rr/8AAAAU/ePLJcABBpc3RlbmN5IGxldmVscyAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4JAAABAG9tcGFjdGlvbmxvY2sgZHVyaW5nIHRydW5jYXRlIChDQVNTQU5EUkEtMzM5OSkKICogZml4IGRpc3BsYXlpbmcgY2ZkZWYgZW50cmllcyBmb3Igc3VwZXIgY29sdW1uZmFtaWxpZXMgKENBU1NBTkRSQS0zNDE1KQogKiBNYWtlIGNvdW50ZXIgc2hhcmQgbWVyZ2luZyB0aHJlYWQgc2FmZSAoQ0FTU0FORFJBLTMxNzgpCiAqIFJldmVydCBDQVNTQU5EUkEtMjg1NQogKiBGaXggYnVnIHByZXZlbnRpbmcgdGhlIHVzZSBvZiBlZmZpY2llbnQgY3Jvc3MtRENeFqVLAAABT948slwAEEEtNjYyOSkKICogSGFuZGwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgkAAAEAKiBGaXggc2NoZW1hIGZyb20gVGhyaWZ0IGNvbnZlcnNpb24gd2l0aCBlbXB0eSBtZXRhZGF0YSAoQ0FTU0FORFJBLTg2OTUpCiAqIFNhZmVyIFJlc291cmNlIE1hbmFnZW1lbnQgKENBU1NBTkRSQS03NzA1KQogKiBNYWtlIHN1cmUgd2UgY29tcGFjdCBoaWdobHkgb3ZlcmxhcHBpbmcgY29sZCBzc3RhYmxlcyB3aXRoCiAgIFNUQ1MgKENBU1NBTkRSQS04NjM1KQogKiBycGNfaW50ZXJmYWNlIGFuZCBsaXN0ZW5faW50ZXJmYWNlIGdlbmVyYXRlIE5QRVIHoJwAAAFP3jyyXAAQUkEtNDE0MikKICogT3B0aQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguCQAAAQBDb2x1bW5QYXRoLCBDb2x1bW5QYXJlbnQsIGV0Yy4gIEFsc28gbm9ybWFsaXplZAogICAgICB0aHJpZnQgc3RydWN0IGFuZCBhcmd1bWVudCBuYW1pbmcuCiAgICAtIEFkZGVkIGNvbHVtbkZhbWlseSBhcmd1bWVudCB0byBnZXRfa2V5X3JhbmdlLgogICAgLSBDaGFuZ2Ugc2lnbmF0dXJlIG9mIGdldF9zbGljZSB0byBhY2NlcHQgc3RhcnRpbmcgYW5kIGVuZGluZwogICAgICBjb2x1bW5zIGFzIHdlbGwgYXMgYW4gb2Zmc2V0LiAgKFRoaXMgYWxsb3dzQOD4twAAAU/ePLJcABAgbWVtb3J5IGNvbnN1bXB0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4JAAABAGVsZWRDb21wYWN0aW9uU3RyYXRlZ3kgYnJva2VuIGJlY2F1c2Ugb2YgZ2VuZXJhdGlvbiBwcmUtYWxsb2NhdGlvbgogICBpbiBMZXZlbGVkTWFuaWZlc3QgKENBU1NBTkRSQS0zNjkxKQogKiBmaW5lci1ncmFpbmVkIGNvbnRyb2wgb3ZlciBkYXRhIGRpcmVjdG9yaWVzIChDQVNTQU5EUkEtMjc0OSkKICogRml4IENsYXNzQ2FzdEV4Y2VwdGlvbiBkdXJpbmcgaGludGVkIGhhbmRvZmYgKENBU1NBTkRSQS0zNjk0KQogKiBVcGdyYWRlIFRocmlmdCB0byD2zoP6AAABT948slwAEAogKiBQcmVzZXJ2ZXMgQ1EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgkAAAEAU0FORFJBLTc5NDYpCiAqIEZpeCB3cm9uZyBwcm9ncmVzcyB3aGVuIHN0cmVhbWluZyB1bmNvbXByZXNzZWQgKENBU1NBTkRSQS03ODc4KQogKiBGaXggcG9zc2libGUgaW5maW5pdGUgbG9vcCBpbiBjcmVhdGluZyByZXBhaXIgcmFuZ2UgKENBU1NBTkRSQS03OTgzKQogKiBGaXggdW5pdCBpbiBub2RldG9vbCBmb3Igc3RyZWFtaW5nIHRocm91Z2hwdXQgKENBU1NBTkRSQS03Mzc1KQpNZXJnZWQgZnJvbSAxLjI6CiAqIERvbid0IGluZGV4IHRvbWJzdFgY6e4AAAFP3jyyXAAQNDQpCiAqIEZpeCBiYWQgdgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguCQAAAQBEUkEtMTM2NykKICogcmVuYW1lZCBDTC5EQ1FVT1JVTSB0byBMT0NBTF9RVU9SVU0gYW5kIERDUVVPUlVNU1lOQyB0byBFQUNIX1FVT1JVTQogKiBjbGkgdHJ1bmNhdGUgc3VwcG9ydCAoQ0FTU0FORFJBLTE2NTMpCiAqIHVwZGF0ZSBHQyBzZXR0aW5ncyBpbiBjYXNzYW5kcmEuYmF0IChDQVNTQU5EUkEtMTYzNikKICogYXZvaWQgbG9nZ2luZyB3aGVuIGEgbm9kZSdzIGlwL3Rva2VuIGlzIGdvc3NpcHBlZCBiYWNrIHRvIGl0IChDQVNTQU5EUkEtMTY2P9heKwATQNwlTWVOAAABT948slwAEGVmZXJlbmNlIHdoZW4gc3QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgwAAAEAdHJhcCBvbiB3aGV0aGVyCiAgIHNjaGVtYSBkZWZpbml0aW9ucyB3ZXJlIGZvdW5kIChDQVNTQU5EUkEtMzIxOSkKICogRml4ZXMgZm9yIExldmVsZWRDb21wYWN0aW9uU3RyYXRlZ3kgc2NvcmUgY29tcHV0YXRpb24sIHByaW9yaXRpemF0aW9uLAogICBzY2hlZHVsaW5nLCBhbmQgcGVyZm9ybWFuY2UgKENBU1NBTkRSQS0zMjI0LCAzMjM0KQogKiBwYXJhbGxlbGl6ZSBzc3RhYmxlIG9wZW4gYXQgc2VydmVyIHN0YXJ0dXAgKENBU1NBTkRSQS0yOTg4KaCpL3oAAAFP3jyyXAAQZFdyaXRlciBjbGllbnRzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguDAAAAQBhbWluZyB0b28gbXVjaCBkYXRhIGR1cmluZyBtb3ZlIG9wZXJhdGlvbnMgKENBU1NBTkRSQS0zNjM5KQogKiBOb2RldG9vbCBhbmQgQ0xJIGNvbm5lY3QgdG8gbG9jYWxob3N0IGJ5IGRlZmF1bHQgKENBU1NBTkRSQS0zNTY4KQogKiBSZWR1Y2UgbWVtb3J5IHVzZWQgYnkgcHJpbWFyeSBpbmRleCBzYW1wbGUgKENBU1NBTkRSQS0zNzQzKQogKiAoSGFkb29wKSBzZXBhcmF0ZSBpbnB1dC9vdXRwdXQgY29uZmlndXJhdGlvbnMgKENBU1NBTkRSQS0zMTk3eG2NTwAAAU/ePLJcABBnIGlmIHByZXNlbnQgKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4MAAABAChDQVNTQU5EUkEtMjQ2OCkKICogcmVzdHJpY3QgcmVwYWlyIHN0cmVhbWluZyB0byBzcGVjaWZpYyBjb2x1bW5mYW1pbGllcyAoQ0FTU0FORFJBLTIyODApCiAqIGRvbid0IGJvdGhlciBwZXJzaXN0aW5nIGNvbHVtbnMgc2hhZG93ZWQgYnkgYSByb3cgdG9tYnN0b25lIChDQVNTQU5EUkEtMjU4OSkKICogcmVzZXQgQ0YgYW5kIFNDIGRlbGV0aW9uIHRpbWVzIGFmdGVyIGdjX2dyYWNlIChDQVNTQU5EUkEtMjMxNykKICogb3B0aW1pemUgYXdheSBzZWUJ/zHcAAABT948slwAECAxLjI6CiAqIEZpeCBnZXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgwAAAEARFJBLTUwNzgpCiAqIEZpeCBOUEUgaWYgU3RvcmFnZVNlcnZpY2UuZ2V0T3BlcmF0aW9uTW9kZSgpIGlzIGV4ZWN1dGVkIGJlZm9yZSBmdWxsIHN0YXJ0dXAgKENBU1NBTkRSQS02MTY2KQogKiBDUUwzOiBzdXBwb3J0IHByZS1lcG9jaCBsb25ncyBmb3IgVGltZXN0YW1wVHlwZSAoQ0FTU0FORFJBLTYyMTIpCiAqIEFkZCByZWxvYWR0cmlnZ2VycyBjb21tYW5kIHRvIG5vZGV0b29sIChDQVNTQU5EUkEtNDk0OSkKICogY3Fsc2g6IGlnbm9yZSBlbXB0eVGz7yoAAAFP3jyyXAAQdyAoQ0FTU0FORFJBLTQzOQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguDAAAAQBydmVyIGludHJvZHVjaW5nIGNvcnJ1cHQgZGF0YSAoQ0FTU0FORFJBLTYyODUpCiAqIEZpeCBDQVMgY29uZGl0aW9ucyBmb3IgQ09NUEFDVCBTVE9SQUdFIHRhYmxlcyAoQ0FTU0FORFJBLTY4MTMpCiAqIFN0YXJ0aW5nIHRocmVhZHMgaW4gT3V0Ym91bmRUY3BDb25uZWN0aW9uUG9vbCBjb25zdHJ1Y3RvciBjYXVzZXMgcmFjZSBjb25kaXRpb25zIChDQVNTQU5EUkEtNzE3NykKICogQWxsb3cgb3ZlcnJpZGluZyBjYXNzYW5kcmEtcmFja2RjLnByb3Bl+KyUDQAAAU/ePLJcABBmb3Iga2V5cyB3aGVuIGZyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4MAAABAHJlIHJlbGlhYmx5IChDQVNTQU5EUkEtMjA4OCkKICogc2h1dCBkb3duIHNlcnZlciBmb3IgT09NIG9uIGEgVGhyaWZ0IHRocmVhZCAoQ0FTU0FORFJBLTIyNjkpCiAqIGZpeCB0b21ic3RvbmUgaGFuZGxpbmcgaW4gcmVwYWlyIGFuZCBzc3RhYmxlMmpzb24gKENBU1NBTkRSQS0yMjc5KQogKiBwcmVzZXJ2ZSB2ZXJzaW9uIHdoZW4gc3RyZWFtaW5nIGRhdGEgZnJvbSBvbGQgc3N0YWJsZXMgKENBU1NBTkRSQS0yMjgzKQogKiBkb24ndCBzdGFydCByZXB8/uvbAAABT948slwAEG5hbHMgKGUuZy4gc3BlY2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgwAAAEAOTI4MSkKICogRml4IHBhcnRpdGlvbi1sZXZlbC1kZWxldGUtb25seSB3b3JrbG9hZCBhY2NvdW50aW5nIChDQVNTQU5EUkEtOTE5NCkKICogQWxsb3cgc2NydWIgdG8gaGFuZGxlIGNvcnJ1cHRlZCBjb21wcmVzc2VkIGNodW5rcyAoQ0FTU0FORFJBLTkxNDApCiAqIEZpeCBhc3NlcnRpb24gZXJyb3Igd2hlbiByZXNldGxvY2Fsc2NoZW1hIGlzIHJ1biBkdXJpbmcgcmVwYWlyIChDQVNTQU5EUkEtOTI0OSkKICogRGlzYWJsZSBzaW5nbGUgc3N0YWJsZT6t9f4AAAFP3jyyXAAQcmFzaC1vbmx5IGRlc2lnbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguDAAAAQAoQ0FTU0FORFJBLTQzMTYpCiAqIHJlZHVjZSBtZW1vcnkgY29uc3VtcHRpb24gb2YgSW5kZXhTdW1tYXJ5IChDQVNTQU5EUkEtNTUwNikKICogcmVtb3ZlIHBlci1yb3cgY29sdW1uIG5hbWUgYmxvb20gZmlsdGVycyAoQ0FTU0FORFJBLTU0OTIpCiAqIEluY2x1ZGUgZmF0YWwgZXJyb3JzIGluIHRyYWNlIGV2ZW50cyAoQ0FTU0FORFJBLTU0NDcpCiAqIEVuc3VyZSB0aGF0IFBlclJvd1NlY29uZGFyeUluZGV4IGlzIG5vdGlmaWVkIG9mIHJvdy1sZXZlzU0jggAAAU/ePLJcABB0ZWd5IHNjb3JlIGNvbXB1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4MAAABAChDQVNTQU5EUkEtNDkzMikKICogQWRkIGFuIG9mZmljaWFsIHdheSB0byBkaXNhYmxlIGNvbXBhY3Rpb25zIChDQVNTQU5EUkEtNTA3NCkKICogUmVlbmFibGUgQUxURVIgVEFCTEUgRFJPUCB3aXRoIG5ldyBzZW1hbnRpY3MgKENBU1NBTkRSQS0zOTE5KQogKiBBZGQgYmluYXJ5IHByb3RvY29sIHZlcnNpb25pbmcgKENBU1NBTkRSQS01NDM2KQogKiBTd2FwIFRIc2hhU2VydmVyIGZvciBUVGhyZWFkZWRTZWxlY3RvclNlcnZlciAoQ0FTU0FORFJBLTUvM+6HAAABT948slwAECBsb2NhbGhvc3QgdW5sZXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgwAAAEAaGUgQ0wgdXNlZCBpbiBIYWRvb3Agam9icyAoQ0FTU0FORFJBLTIzMzEpCiAqIGFkZCBtZW10YWJsZV9mbHVzaF9xdWV1ZV9zaXplIGRlZmF1bHRpbmcgdG8gNCAoQ0FTU0FORFJBLTIzMzMpCiAqIEFsbG93IG92ZXJyaWRpbmcgb2YgaW5pdGlhbF90b2tlbiwgc3RvcmFnZV9wb3J0IGFuZCBycGNfcG9ydCBmcm9tIHN5c3RlbQogICBwcm9wZXJ0aWVzIChDQVNTQU5EUkEtMjM0MykKICogZml4IGNvbXBhcmF0b3IgdXNlZCBmb3Igbm9uLWluZGV4ZWQgc0U7cc4AAAFP3jyyXAAQaW1hdGlvbiAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguDAAAAQB0IExPQ0FMX1NFUklBTCAoQ0FTU0FORFJBLTY5MzkpCiAqIExvZyBhIHdhcm5pbmcgZm9yIGxhcmdlIGJhdGNoZXMgKENBU1NBTkRSQS02NDg3KQogKiBQdXQgbm9kZXMgaW4gaGliZXJuYXRlIHdoZW4gam9pbl9yaW5nIGlzIGZhbHNlIChDQVNTQU5EUkEtNjk2MSkKICogQXZvaWQgZWFybHkgbG9hZGluZyBvZiBub24tc3lzdGVtIGtleXNwYWNlcyBiZWZvcmUgY29tcGFjdGlvbi1sZWZ0b3ZlcnMgCiAgIGNsZWFudXAgYXQgc3RhcnR1cCAoQ0FTU0FOb+v46wAAAU/ePLJcABA1NykKICogUmVtb3ZlIGluAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4MAAABACkKICogcmVtb3ZlIHVubmVjZXNzYXJ5IGFzc2VydHMgaW4gbmF0aXZlIGNvZGUgaW50ZXJmYWNlcyAoQ0FTU0FORFJBLTQwOTYpCiAqIFZhbGlkYXRlIGJsYW5rIGtleXMgaW4gQ1FMIHRvIGF2b2lkIGFzc2VydGlvbiBlcnJvcnMgKENBU1NBTkRSQS0zNjEyKQogKiBjcWxzaDogZml4IGJhZCBkZWNvZGluZyBvZiBzb21lIGNvbHVtbiBuYW1lcyAoQ0FTU0FORFJBLTQwMDMpCiAqIGNxbHNoOiBmaXggaW5jb3JyZWN0IHBhZGRpbmcgd2l0aCB1bmljb2Q/faPmAAABT948slwAEDEwcyAoQ0FTU0FORFJBLTEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILgwAAAEACiAqIFRha2Ugc3VwZXJjb2x1bW4gbmFtZXMgYW5kIGRlbGV0aW9uIGluZm8gaW50byBhY2NvdW50IGluIG1lbXRhYmxlIHRocm91Z2hwdXQKICAgKENBU1NBTkRSQS00MjY0KQogKiBBZGQgYmFjayBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBvbGQgc3R5bGUgcmVwbGljYXRpb24gZmFjdG9yIChDQVNTQU5EUkEtNDI5NCkKICogUHJlc2VydmUgY29tcGF0aWJpbGl0eSB3aXRoIHByZS0xLjEgaW5kZXggcXVlcmllcyAoQ0FTU0FORFJBLTQyNjIpCvvumdgAAAFP3jyyXAAQdmUgcHJvdG9jb2wgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguDAAAAQBBTkRSQS00MDAzKQogKiBjcWxzaDogZml4IGluY29ycmVjdCBwYWRkaW5nIHdpdGggdW5pY29kZSBjaGFycyAoQ0FTU0FORFJBLTQwMzMpCiAqIEZpeCBFQzIgc25pdGNoIGluY29ycmVjdGx5IHJlcG9ydGluZyByZWdpb24gKENBU1NBTkRSQS00MDI2KQogKiBTaHV0IGRvd24gdGhyaWZ0IGR1cmluZyBkZWNvbW1pc3Npb24gKENBU1NBTkRSQS00MDg2KQogKiBFeHBvc2Ugbm9kZXRvb2wgY2ZoaXN0b2dyYW1zIGZvciAybmRhcnkgaW5kZXhlcyAoQ0FT4yyY2AAAAU/ePLJcABBpbmRleCBuYW1lIG9uIENSAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4MAAABAGN0IGFzc2VydGlvbiBpbiBtZXJnZUl0ZXJhdG9yIChDQVNTQU5EUkEtMzI2MCkKICogRkJVdGlsaXRpZXMuaGV4VG9CeXRlcyhTdHJpbmcpIHRvIHRocm93IE51bWJlckZvcm1hdEV4Y2VwdGlvbiB3aGVuIHN0cmluZwogICBjb250YWlucyBub24taGV4IGNoYXJhY3RlcnMgKENBU1NBTkRSQS0zMjMxKQogKiBLZWVwIFNpbXBsZVNuaXRjaCBwcm94aW1pdHkgb3JkZXJpbmcgdW5jaGFuZ2VkIGZyb20gd2hhdCB0aGUgU3RyYXRlZ3kKICAgZ2VuZXJhdGXoBCXuABNVOaPas7cAAAFP3jyyXAAQZyBvZiBjb25jdXJyZW50IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguDwAAAQBTU0FORFJBLTMzODcpCiAqIHRvbGVyYXRlIGluZGV4IGJlaW5nIGRyb3BwZWQgbWlkLW11dGF0aW9uIChDQVNTQU5EUkEtMzMzNCwgMzMxMykKICogQ29tcGFjdGlvbk1hbmFnZXIgaXMgbm93IHJlc3BvbnNpYmxlIGZvciBjaGVja2luZyBmb3IgbmV3IGNhbmRpZGF0ZXMKICAgcG9zdC10YXNrIGV4ZWN1dGlvbiwgZW5hYmxpbmcgbW9yZSBjb25zaXN0ZW50IGxldmVsZWQgY29tcGFjdGlvbiAKICAgKENBU1NBTkRSQS0zMzkxKQogKiBDYWNoZSBIU0hBk0X+fwAAAU/ePLJcABB1bHRzIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4PAAABACwgbWluKDEvNCByYW0sIDhHQikpCiAgIChDQVNTQU5EUkEtMzI5NSkKICogRml4IGJyb2tlbiBDb21wcmVzc2VkUmFuZG9tQWNjZXNzUmVhZGVyVGVzdCAoQ0FTU0FORFJBLTMyOTgpCiAqIChDUUwpIGZpeCB0eXBlIGluZm9ybWF0aW9uIHJldHVybmVkIGZvciB3aWxkY2FyZCBxdWVyaWVzIChDQVNTQU5EUkEtMzMxMSkKICogYWRkIGVzdGltYXRlZCB0YXNrcyB0byBMZXZlbGVkQ29tcGFjdGlvblN0cmF0ZWd5IChDQVNTQU5EUkEtMzMyMikKICogYXbQSjE+AAABT948slwAEHN5bnRheCAoQ0FTU0FORFIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILg8AAAEAIHRvIG5vZGUgbW92ZW1lbnQgaW4gdGhlIGNhc2Ugd2hlcmUKICAgb25lIG9yIG1vcmUgbm9kZXMgaXMgZG93biB3aGVuIHRoZSBtb3ZlbWVudCBvY2N1cnMgKENBU1NBTkRSQS01NzIpCiAqIEluY2x1ZGUgZGVhZCBub2RlcyBpbiBnb3NzaXAgdG8gYXZvaWQgYSB2YXJpZXR5IG9mIHByb2JsZW1zCiAgIGFuZCBmaXggSEggdG8gcmVtb3ZlZCBub2RlcyAoQ0FTU0FORFJBLTYzNCkKICogcmV0dXJuIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIGZvcihA8CoAAAFP3jyyXAAQQ0FTU0FORFJBLTU0OTcpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguDwAAAQBubmVlZGVkIGNvbW1pdGxvZyBzZWdtZW50cyAoQ0FTU0FORFJBLTQ1OSkKICogQWRkIFNuYXBzaG90QmVmb3JlQ29tcGFjdGlvbiBjb25maWd1cmF0aW9uIG9wdGlvbiAoQ0FTU0FORFJBLTQyNikKICogRml4IGNvbXBhY3Rpb24gYWJvcnQgdW5kZXIgaW5zdWZmaWNpZW50IGRpc2sgc3BhY2UgKENBU1NBTkRSQS00NzMpCiAqIEZpeCByZWFkaW5nIHN1YmNvbHVtbiBzbGljZSBmcm9tIHRvbWJzdG9uZWQgQ0YgKENBU1NBTkRSQS00ODQpCiAqIEZpeCByhY8wmgAAAU/ePLJcABAtNDQ0NikKICogYWRkIGluAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4PAAABAGN0bHkgaWRlbnRpZnkgMmkgZGF0YWRpciBmcm9tIG9sZGVyIHZlcnNpb25zIChDQVNTQU5EUkEtOTExNikKTWVyZ2VkIGZyb20gMi4wOgogKiBJZ25vcmUgZ29zc2lwIFNZTnMgYWZ0ZXIgc2h1dGRvd24gKENBU1NBTkRSQS05MjM4KQogKiBBdm9pZCBvdmVyZmxvdyB3aGVuIGNhbGN1bGF0aW5nIG1heCBzc3RhYmxlIHNpemUgaW4gTENTIChDQVNTQU5EUkEtOTIzNSkKICogTWFrZSBzc3RhYmxlIGJsYWNrbGlzdGluZyB3b3JrIHdpdGggY29tcHJlc3O06q7CAAABT948slwAEGQgc3RyYXRlZ3lfb3B0aW8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILg8AAAEAQ0FTU0FORFJBLTM1NjMpCiAqIGdvc3NpcGVyIHdpbGwgbmV2ZXIgYWRkIGl0c2VsZiB0byBzYXZlZCBlbmRwb2ludHMgKENBU1NBTkRSQS0zNDg1KQoKCjEuMC41CiAqIHJldmVydCBDQVNTQU5EUkEtMzQwNyAoc2VlIENBU1NBTkRSQS0zNTQwKQogKiBmaXggYXNzZXJ0aW9uIGVycm9yIHdoaWxlIGZvcndhcmRpbmcgd3JpdGVzIHRvIGxvY2FsIG5vZGVzIChDQVNTQU5EUkEtMzUzOSkKCgoxLjAuNAogKiBmaXggc2VsZi1oaW50aW5nIG9mIHRpbWVkIKnkqdsAAAFP3jyyXAAQb2JlIGNmc3RhdHMgb3V0cAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguDwAAAQBBLTQzNzcpCiAqIFJlcGxhY2UgVGhyb3R0bGUgd2l0aCBHdWF2YSdzIFJhdGVMaW1pdGVyIGZvciBIaW50ZWRIYW5kT2ZmIChDQVNTQU5EUkEtNDU0MSkKICogZml4IGNvdW50ZXIgYWRkL2dldCB1c2luZyBDUUwyIGFuZCBDUUwzIGluIHN0cmVzcyB0b29sIChDQVNTQU5EUkEtNDYzMykKICogQWRkIHNzdGFibGUgY291bnQgcGVyIGxldmVsIHRvIGNmc3RhdHMgKENBU1NBTkRSQS00NTM3KQogKiAoY3FsMykgQWRkIEFMVEVSIEtFWVNQQUNFIHN0YXRlTu1KZQAAAU/ePLJcABAKCjIuMC4xMAogKiBEb24nAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4PAAABAC03OTM5KQogKiBNYWtlIHNzdGFibGVyZXBhaXJlZHNldCB0YWtlIGEgbGlzdCBvZiBmaWxlcyAoQ0FTU0FORFJBLTc5OTUpCiAqIChjcWxzaCkgVGFiIGNvbXBsZXRlaW9uIGZvciBpbmRleGVzIG9uIG1hcCBrZXlzIChDQVNTQU5EUkEtNzk3MikKICogKGNxbHNoKSBGaXggVURUIGZpZWxkIHNlbGVjdGlvbiBpbiBzZWxlY3QgY2xhdXNlIChDQVNTQU5EUkEtNzg5MSkKICogRml4IHJlc291cmNlIGxlYWsgaW4gZXZlbnQgb2YgY29ycnVwdCBzc3RhYmxKV7M+AAABT948slwAEFNBTkRSQS0zMzAxKQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILg8AAAEAIGNsYXNzZXMKICAgKENBU1NBTkRSQS00OTcpCiAqIEdyYXBoaWNhbCBhcHBsaWNhdGlvbiAoU3dpbmcpIGZvciByaW5nIGludGVncml0eSB2ZXJpZmljYXRpb24gYW5kIAogICB2aXN1YWxpemF0aW9uIHdhcyBhZGRlZCB0byBjb250cmliIChDQVNTQU5EUkEtMjUyKQogKiBBZGQgRENRVU9SVU0sIERDUVVPUlVNU1lOQyBjb25zaXN0ZW5jeSBsZXZlbHMgYW5kIGNvcnJlc3BvbmRpbmcKICAgUmVwbGljYXRpb25TdHJhdGVneSAvIEVuZHBvaW50U25pdCtDhuQAAAFP3jyyXAAQaXRoIHJpZGljdWxvdXNseQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguDwAAAQByeSB1c2FnZSBlc3RpbWF0ZQogICAoQ0FTU0FORFJBLTU0OTcpCiAqIEZpeCB0cnlpbmcgdG8gbG9hZCBkZWxldGVkIHJvdyBpbnRvIHJvdyBjYWNoZSBvbiBzdGFydHVwIChDQVNTQU5EUkEtNDQ2MykKICogZnN5bmMgbGV2ZWxlZCBtYW5pZmVzdCB0byBhdm9pZCBjb3JydXB0aW9uIChDQVNTQU5EUkEtNTUzNSkKICogRml4IEJvdW5kIGludGVyc2VjdGlvbiBjb21wdXRhdGlvbiAoQ0FTU0FORFJBLTU1NTEpCiAqIHNzdGFibGVzY3J1YiBub3cgcmVztHpo6AAAAU/ePLJcABBvb2wgY2ZoaXN0b2dyYW1zAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4PAAABACBwcmV2ZW50IE9PTSkgKENBU1NBTkRSQS0zNzMzKQoKCjEuMC42CiAqIChDUUwpIGZpeCBjcWxzaCBzdXBwb3J0IGZvciByZXBsaWNhdGVfb25fd3JpdGUgKENBU1NBTkRSQS0zNTk2KQogKiBmaXggYWRkaW5nIHRvIGxldmVsZWQgbWFuaWZlc3QgYWZ0ZXIgc3RyZWFtaW5nIChDQVNTQU5EUkEtMzUzNikKICogZmlsdGVyIG91dCB1bmF2YWlsYWJsZSBjaXBoZXIgc3VpdGVzIHdoZW4gdXNpbmcgZW5jcnlwdGlvbiAoQ0FTU0FORFJBLTMxNzgpCiAqICgpEjf6AAABT948slwAEG93ZXIgY29tcGFjdGlvbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILg8AAAEAX2hpc3RvcnkgYWZ0ZXIgZWFjaCBvcGVyYXRpb24gKENBU1NBTkRSQS02Mjg3KQogKiBGaXggcmVwYWlyIGFzc2VydGlvbiBlcnJvciB3aGVuIHRvbWJzdG9uZXMgZXhwaXJlIChDQVNTQU5EUkEtNjI3NykKICogU2tpcCBsb2FkaW5nIGNvcnJ1cHQga2V5IGNhY2hlIChDQVNTQU5EUkEtNjI2MCkKICogRml4ZXMgZm9yIGNvbXBhY3RpbmcgbGFyZ2VyLXRoYW4tbWVtb3J5IHJvd3MgKENBU1NBTkRSQS02Mjc0KQogKiBDb21wYWN0IGhvdHRlc3Qgc3N0YR0/X7YAAAFP3jyyXAAQbnRzIGZvciBuby1vcCBERAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguDwAAAQAgImFsbCB0aW1lIGJsb2NrZWQiIHRvIFN0YXR1c0xvZ2dlciBvdXRwdXQgKENBU1NBTkRSQS01ODI1KQogKiBGdXR1cmUtcHJvb2YgaW50ZXItbWFqb3ItdmVyc2lvbiBzY2hlbWEgbWlncmF0aW9ucyAoQ0FTU0FORFJBLTU4NDUpCiAqIChIYWRvb3ApIGFkZCBDcWxQYWdpbmdSZWNvcmRSZWFkZXIgc3VwcG9ydCBmb3IgUmV2ZXJzZWRUeXBlIGluIFRocmlmdCB0YWJsZQogICAoQ0FTU0FORFJBLTU3MTgpCiAqIEFkZCAtbm8tc25hcHNob3Qgb3B0aW9uJMOfXAAAAU/ePLJcABB0byBnaXZlbiBsaXN0ZW5hAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4PAAABAHVlIChDQVNTQU5EUkEtMTI3NikKICoga2VlcCBwZXJzaXN0ZW50IHJvdyBzaXplIGFuZCBjb2x1bW4gY291bnQgc3RhdGlzdGljcyAoQ0FTU0FORFJBLTExNTUpCiAqIGFkZCBJbnRlZ2VyVHlwZSAoQ0FTU0FORFJBLTEyODIpCiAqIHBhZ2Ugd2l0aGluIGEgc2luZ2xlIHJvdyBkdXJpbmcgaGludGVkIGhhbmRvZmYgKENBU1NBTkRSQS0xMzI3KQogKiBwdXNoIERhdGFjZW50ZXJTaGFyZFN0cmF0ZWd5IGNvbmZpZ3VyYXRpb24gaW50byBrZXlzcGFjZSD4s+p3AAABT948slwAEC00NTkpCiAqIEFkZCBTbmEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILg8AAAEAY29kZSAoQ0FTU0FORFJBLTQ0MzIpCiAqIGFkZCBhIHRva2VuIGdlbmVyYXRpb24gdG9vbCAoQ0FTU0FORFJBLTM3MDkpCiAqIEZpeCBMQ1MgYnVnIHdpdGggc3N0YWJsZSBjb250YWluaW5nIG9ubHkgMSByb3cgKENBU1NBTkRSQS00NDExKQogKiBmaXggIkNhbid0IE1vZGlmeSBJbmRleCBOYW1lIiBwcm9ibGVtIG9uIENGIHVwZGF0ZSAoQ0FTU0FORFJBLTQ0MzkpCiAqIEZpeCBhc3NlcnRpb24gZXJyb3IgaW4gZ2V0T3ZlcmxhcHBpbmdTU1RhYmxlc0bCupAAE2mWRA9DVAAAAU/ePLJcABBMIHRvIGF2b2lkIGFzc2VyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4SAAABAGVyIGZhaWxlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtMjQ2OCkKICogcmVzdHJpY3QgcmVwYWlyIHN0cmVhbWluZyB0byBzcGVjaWZpYyBjb2x1bW5mYW1pbGllcyAoQ0FTU0FORFJBLTIyODApCiAqIGRvbid0IGJvdGhlciBwZXJzaXN0aW5nIGNvbHVtbnMgc2hhZG93ZWQgYnkgYSByb3cgdG9tYnN0b25lIChDQVNTQU5EUkEtMjU4OSkKICogcmVzZXQgQ0YgYW5kIFNDIGRlbGV0aW9uIHRpbWVzIGFmdGVyIGdjX2dyYWNlIChDQVNTQU5EUkEtMjMxNyndetDMAAABT948slwAEGlwdG9yIGV4aGF1c3Rpb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhIAAAEAYWdlck1CZWFuIChDQVNTQU5EUkEtNTA0NCkKICogZml4IGhpbnRpbmcgZm9yIGRyb3BwZWQgbG9jYWwgd3JpdGVzIChDQVNTQU5EUkEtNDc1MykKICogb2ZmLWhlYXAgY2FjaGUgZG9lc24ndCBuZWVkIG11dGFibGUgY29sdW1uIGNvbnRhaW5lciAoQ0FTU0FORFJBLTUwNTcpCiAqIGFwcGx5IGRpc2tfZmFpbHVyZV9wb2xpY3kgdG8gYmFkIGRpc2tzIG9uIGluaXRpYWwgZGlyZWN0b3J5IGNyZWF0aW9uIAogICAoQ0FTU0FORFJBLTQ4NDcpCiAqIE9wdE2N0GUAAAFP3jyyXAAQW10gb24gY29tbWl0bG9nIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguEgAAAQByb2dyZXNzIHdoZW4gc3RyZWFtaW5nIHVuY29tcHJlc3NlZCAoQ0FTU0FORFJBLTc4NzgpCiAqIEZpeCBwb3NzaWJsZSBpbmZpbml0ZSBsb29wIGluIGNyZWF0aW5nIHJlcGFpciByYW5nZSAoQ0FTU0FORFJBLTc5ODMpCiAqIEZpeCB1bml0IGluIG5vZGV0b29sIGZvciBzdHJlYW1pbmcgdGhyb3VnaHB1dCAoQ0FTU0FORFJBLTczNzUpCk1lcmdlZCBmcm9tIDEuMjoKICogRG9uJ3QgaW5kZXggdG9tYnN0b25lcyAoQ0FTU0FORFJBLTc4MjgpCiAqIElt66ihPwAAAU/ePLJcABBvbiAoQ0FTU0FORFJBLTU2AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4SAAABAEFkZCBhYmlsaXR5IHRvIGxpc3Qgc3BlY2lmaWMgS1MvQ0YgY29tYmluYXRpb25zIGluIG5vZGV0b29sIGNmc3RhdHMgKENBU1NBTkRSQS00MTkxKQogKiBNYXJrIENGIGNsZWFuIGlmIGEgbXV0YXRpb24gcmFjZWQgdGhlIGRyb3AgYW5kIGdvdCBpdCBtYXJrZWQgZGlydHkgKENBU1NBTkRSQS01OTQ2KQogKiBBZGQgYSBMT0NBTF9PTkUgY29uc2lzdGVuY3kgbGV2ZWwgKENBU1NBTkRSQS02MjAyKQogKiBMaW1pdCBDUUwgcHJlcGFyZWQgc3RhdGVtZW52NNVuAAABT948slwAEFJBLTMxNDIpCiAqIGFsbG8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhIAAAEAQVNTQU5EUkEtODA1NykKICogU1NMIGRvZXMgbm90IHdvcmsgaW4gY2Fzc2FuZHJhLWNsaSAoQ0FTU0FORFJBLTc4OTkpCiAqIEZpeCBwb3RlbnRpYWwgZXhjZXB0aW9uIHdoZW4gdXNpbmcgUmV2ZXJzZWRUeXBlIGluIER5bmFtaWNDb21wb3NpdGVUeXBlCiAgIChDQVNTQU5EUkEtNzg5OCkKICogQmV0dGVyIHZhbGlkYXRpb24gb2YgY29sbGVjdGlvbiB2YWx1ZXMgKENBU1NBTkRSQS03ODMzKQogKiBUcmFjayBtaW4vbWF4IHRpbWVzdGFtcHMgY29ycnI8x/oAAAFP3jyyXAAQb25zIG9uIGVudGlyZQogIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguEgAAAQBsZSBpcyBkcm9wcGVkIChDQVNTQU5EUkEtNzc4NCkKICogQWRkIGJldHRlciBlcnJvciBjaGVja2luZyBvZiBuZXcgc3RyZXNzIHByb2ZpbGUgKENBU1NBTkRSQS03NzE2KQogKiBVc2UgVGhyZWFkTG9jYWxSYW5kb20gYW5kIHJlbW92ZSBGQlV0aWxpdGllcy50aHJlYWRMb2NhbFJhbmRvbSAoQ0FTU0FORFJBLTc5MzQpCiAqIFByZXZlbnQgb3BlcmF0b3IgbWlzdGFrZXMgZHVlIHRvIHNpbXVsdGFuZW91cyBib290c3RyYXAgKENBU1NBTkRSQS03MDY58gB7QAAAAU/ePLJcABBjeSBsZXZlbCBpbiBjb3VuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4SAAABAFNTQU5EUkEtNzQ5IGFuZCBzdWJ0YXNrcykKICogbWFrZSBjb21wYWN0aW9uIGJ1Y2tldHMgZGV0ZXJtaW5pc3RpYyAoQ0FTU0FORFJBLTEyNjUpCgoKMC42LjYKICogQWxsb3cgdXNpbmcgRHluYW1pY0VuZHBvaW50U25pdGNoIHdpdGggUmFja0F3YXJlU3RyYXRlZ3kgKENBU1NBTkRSQS0xNDI5KQogKiByZW1vdmUgdGhlIHJlbWFpbmluZyB2ZXN0aWdlcyBvZiB0aGUgdW5maW5pc2hlZCBEYXRhY2VudGVyU2hhcmRTdHJhdGVneSAKICAgKHJlcGxhY2XlNsCaAAABT948slwAEChDQVNTQU5EUkEtODgxMikAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhIAAAEAYnkgb24gbm9uLXNlbGVjdGVkIGNvbHVtbnMgKENBU1NBTkRSQS00NjQ1KQogKiBCdWcgd2hlbiBjb21wb3NpdGUgaW5kZXggaXMgY3JlYXRlZCBpbiBhIHRhYmxlIGhhdmluZyBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTQ5MDkpCiAqIGxvZyBpbmRleCBzY2FuIHN1YmplY3QgaW4gQ29tcG9zaXRlc1NlYXJjaGVyIChDQVNTQU5EUkEtNDkwNCkKTWVyZ2VkIGZyb20gMS4xOgogKiBhZGQgZ2V0W1Jvd3xLZXldQ2FjaGVFbnRyaWVzIHRvIENhY2hlU2VydoFpiHYAAAFP3jyyXAAQZW4gdW5rbm93biBwcmVwYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguEgAAAQBhdGlvbiAoQ0FTU0FORFJBLTYzNDUsIDY0ODUpCiAqIEltcHJvdmUgYmF0Y2hsb2cgd3JpdGUgcGVyZm9ybWFuY2Ugd2l0aCB2bm9kZXMgKENBU1NBTkRSQS02NDg4KQogKiBjcWxzaDogcXVvdGUgc2luZ2xlIHF1b3RlcyBpbiBzdHJpbmdzIGluc2lkZSBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTYxNzIpCiAqIEltcHJvdmUgZ29zc2lwIHBlcmZvcm1hbmNlIGZvciB0eXBpY2FsIG1lc3NhZ2VzIChDQVNTQU5EUkEtNjQwOSkKICogVGhyb3cgSVJFIGlm/EeppAAAAU/ePLJcABBhdGlvbiAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4SAAABAGV3IHJvd3MgKENBU1NBTkRSQS03MzIyKQpNZXJnZWQgZnJvbSAyLjA6CiAqIENvcHkgY29tcGFjdGlvbiBvcHRpb25zIHRvIG1ha2Ugc3VyZSB0aGV5IGFyZSByZWxvYWRlZCAoQ0FTU0FORFJBLTcyOTApCiAqIEFkZCBvcHRpb24gdG8gZG8gbW9yZSBhZ2dyZXNzaXZlIHRvbWJzdG9uZSBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTY1NjMpCiAqIERvbid0IHRyeSB0byBjb21wYWN0IGFscmVhZHktY29tcGFjdGluZyBmaWxlcyBpbiBISE9NIChDQVNTQU76bWX8AAABT948slwAEAoKCjIuMC41CiAqIFJlZHUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhIAAAEAdXJuIG1vcmUgcm93cyB0aGF0IHJlcXVlc3RlZCAoQ0FTU0FORFJBLTcwNTIpCiAqIFVTSU5HIFRJTUVTVEFNUCBmb3IgYmF0Y2hlcyBkb2VzIG5vdCB3b3JrIChDQVNTQU5EUkEtNzA1MykKICogRml4IHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24gZnJvbSBDQVNTQU5EUkEtNTYxNCAoQ0FTU0FORFJBLTY5NDkpCiAqIEVuc3VyZSB0aGF0IGJhdGNobG9nIGFuZCBoaW50IHRpbWVvdXRzIGRvIG5vdCBwcm9kdWNlIGhpbnRzIChDQVNTQU5EUkEtNzA1OCkKIFVx7ZEAAAFP3jyyXAAQY29tcGFjdGlvbiBzdHJhdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguEgAAAQBvcGVyYXRpb25zIGF0IExPQ0FMX1NFUklBTCAoQ0FTU0FORFJBLTY0OTUpCiAqIFdhaXQgZm9yIGdvc3NpcCB0byBzZXR0bGUgYmVmb3JlIGFjY2VwdGluZyBjbGllbnQgY29ubmVjdGlvbnMgKENBU1NBTkRSQS00Mjg4KQogKiBEZWxldGUgdW5maW5pc2hlZCBjb21wYWN0aW9uIGluY3JlbWVudGFsbHkgKENBU1NBTkRSQS02MDg2KQogKiBBbGxvdyBzcGVjaWZ5aW5nIGN1c3RvbSBzZWNvbmRhcnkgaW5kZXggb3B0aW9ucyBpbiBDUUwzIChDQVNTQU5EgPAk5wAAAU/ePLJcABApCiAqIEluY2x1ZGUgZmF0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4SAAABAG51bGwgZW5kX3Rva2VuIGluIGdldF9yYW5nZV9zbGljZSAoQ0FTU0FORFJBLTQ4MDQpCiAqIFJlbW92ZSBhbGwgcmVtbmFudHMgb2YgcmVtb3ZlZCBub2RlcyAoQ0FTU0FORFJBLTQ4NDApCiAqIEFkZCBhdXQtcmVsb2FkaW5nIG9mIHRoZSBsb2c0aiBmaWxlIGluIGRlYmlhbiBwYWNrYWdlIChDQVNTQU5EUkEtNDg1NSkKICogRml4IGVzdGltYXRlZCByb3cgY2FjaGUgZW50cnkgc2l6ZSAoQ0FTU0FORFJBLTQ4NjApCiAqIHJlc2V0IGdldFJhbmdlU2xK6I9WAAABT948slwAEHJyb3JzIG9uIHJlYWRzIHcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhIAAAEAICogZG9uJ3QgdHJ5IGRlbGl2ZXJpbmcgaGludHMgaWYgd2hlbiB0aGVyZSBpc24ndCBhbnkgKENBU1NBTkRSQS0zMTc2KQogKiBDTEkgZG9jdW1lbnRhdGlvbiBjaGFuZ2UgZm9yIENvbHVtbkZhbWlseSBgY29tcHJlc3Npb25fb3B0aW9uc2AgKENBU1NBTkRSQS0zMjgyKQogKiBpZ25vcmUgYW55IENGIGlkcyBzZW50IGJ5IGNsaWVudCBmb3IgYWRkaW5nIENGL0tTIChDQVNTQU5EUkEtMzI4OCkKICogcmVtb3ZlIG9ic29sZXRlIGhpbnRzIG9uIGZpctMbU64AAAFP3jyyXAAQZW4gaWYgdGhlIHBlc3NpbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguEgAAAQAgcHJlcGFyZWQgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTQ2OTMpCiAqIEFsbG93IHByZXBhcmluZyB0aW1lc3RhbXAsIHR0bCBhbmQgbGltaXQgaW4gQ1FMMyBxdWVyaWVzIChDQVNTQU5EUkEtNDQ1MCkKICogU3VwcG9ydCBuYXRpdmUgbGluayB3L28gSk5BIGluIEphdmE3IChDQVNTQU5EUkEtMzczNCkKICogVXNlIFNBU0wgYXV0aGVudGljYXRpb24gaW4gYmluYXJ5IHByb3RvY29sIHYyIChDQVNTQU5EUkEtNTU0NSkKICogUmVwbGFjZSBUaHJpZnQgCSuYZwATffNxlYTSAAABT948slwAEGZvciBwcmVwYXJlZCBzdGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhQAAAEAMSB0aHJvdyBVbmF2YWlsYWJsZUV4Y2VwdGlvbgogICBpbW1lZGlhdGVseSBpZiBpbnN1ZmZpY2llbnQgbGl2ZSBub2RlcyBleGlzdCAoQ0FTU0FORFJBLTE4MDMpCiAqIGNvcHkgYnl0ZWJ1ZmZlcnMgZm9yIGxvY2FsIHdyaXRlcyB0byBhdm9pZCByZXRhaW5pbmcgdGhlIGVudGlyZQogICBUaHJpZnQgZnJhbWUgKENBU1NBTkRSQS0xODAxKQogKiBmaXggTlBFIGFkZGluZyBpbmRleCB0byBjb2x1bW4gdy9vIHByaW9yIG1ldGFkYXRhIChDQVNTQU5EUpC6/JoAAAFP3jyyXAAQU1NBTkRSQS0xNDc4KQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguFAAAAQBuIG1peGluZyBwcmUtMC44LjQgbm9kZXMgd2l0aCBwb3N0LQogICBpbiB0aGUgc2FtZSBjbHVzdGVyIChDQVNTQU5EUkEtMzAyMykKICogbWFrZSByZXBhaXIgcmVwb3J0IGZhaWx1cmUgd2hlbiBhIG5vZGUgcGFydGljaXBhdGluZyBkaWVzIChpbnN0ZWFkIG9mCiAgIGhhbmdpbmcgZm9yZXZlcikgKENBU1NBTkRSQS0yNDMzKQogKiBmaXggaGFuZGxpbmcgb2YgdGhlIGVtcHR5IGJ5dGUgYnVmZmVyIGJ5IFJldmVyc2VkVHlwZSAoQ0FTU0FORFJBLTMx5OBldgAAAU/ePLJcABApCiAqIGNxbHNoOiBhZGQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4UAAABAHVjdHMgc3VjaCBhcyBDb2x1bW5QYXRoLCBDb2x1bW5QYXJlbnQsIGV0Yy4gIEFsc28gbm9ybWFsaXplZAogICAgICB0aHJpZnQgc3RydWN0IGFuZCBhcmd1bWVudCBuYW1pbmcuCiAgICAtIEFkZGVkIGNvbHVtbkZhbWlseSBhcmd1bWVudCB0byBnZXRfa2V5X3JhbmdlLgogICAgLSBDaGFuZ2Ugc2lnbmF0dXJlIG9mIGdldF9zbGljZSB0byBhY2NlcHQgc3RhcnRpbmcgYW5kIGVuZGluZwogICAgICBjb2x1bW5zIGFzIHdlbGwgYXMgYW4gb2Zmc2V0LiDDoA3KAAABT948slwAEGRhdGFfZGlyIHRob3VnaCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhQAAAEAIFRyeSBoYXJkZXIgdG8gY2xvc2UgZmlsZXMgYWZ0ZXIgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTI0MzEpCiAqIHJlLXNldCBib290c3RyYXBwZWQgZmxhZyBhZnRlciBtb3ZlIGZpbmlzaGVzIChDQVNTQU5EUkEtMjQzNSkKICogZGlzcGxheSB2YWxpZGF0aW9uX2NsYXNzIGluIENMSSAnZGVzY3JpYmUga2V5c3BhY2UnIChDQVNTQU5EUkEtMjQ0MikKICogbWFrZSBjbGVhbnVwIGNvbXBhY3Rpb25zIGNsZWFudXAgdGhlIHJvdyBjYWNoZSAoQ0FTU0FORAtDC9MAAAFP3jyyXAAQbmZpbml0ZSBsb29wIGluIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguFAAAAQBvYmxlbXMgd2hlbiBhIG5vZGUgaXMgZG93biAoQ0FTU0FORFJBLTQ0MCkKICAgYW5kIGFkZCBVbmF2YWlsYWJsZUV4Y2VwdGlvbiB0byBtb3JlIFRocmlmdCBtZXRob2RzCiAqIEFkZCBleGFtcGxlIEVuZFBvaW50U25pdGNoIGNvbnRyaWIgY29kZSAoc2V2ZXJhbCB0aWNrZXRzKQoKCjAuNC4wIFJDMgogKiBmaXggU1NUYWJsZSBnZW5lcmF0aW9uIGNsYXNoIGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtNDE4KQogKiByZWplY3QgbWV0aG9kIGNhzxQFXAAAAU/ePLJcABAtNTY2OSkKICogQXZvaWQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4UAAABAAogKiBmaXggbWlzc2luZyBsb2dnaW5nIGZvciBzb21lIGV4Y2VwdGlvbnMgKENBU1NBTkRSQS0yMDYxKQogKiByZWZhY3RvciBhbmQgb3B0aW1pemUgQ29sdW1uRmFtaWx5U3RvcmUuZmlsZXMoLi4uKSBhbmQgRGVzY3JpcHRvci5mcm9tRmlsZW5hbWUoU3RyaW5nKQogICBhbmQgZmV3IG90aGVyIHBsYWNlcyByZXNwb25zaWJsZSBmb3Igd29yayB3aXRoIFNTVGFibGUgZmlsZXMgKENBU1NBTkRSQS0zMDQwKQogKiBTdG9wIHJlYWRpbmcgZnJvbSBzc3RCXiQiAAABT948slwAEGNvbW1vbiBvbiBPUyBYICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhQAAAEAZXRhMQogKiBBZGQgc3VwcG9ydCBmb3IgaW5kZXhpbmcgY2x1c3RlcmVkIGNvbHVtbnMgKENBU1NBTkRSQS01MTI1KQogKiBSZW1vdmVkIG9uLWhlYXAgcm93IGNhY2hlIChDQVNTQU5EUkEtNTM0OCkKICogdXNlIG5hbm90aW1lIGNvbnNpc3RlbnRseSBmb3Igbm9kZS1sb2NhbCB0aW1lb3V0cyAoQ0FTU0FORFJBLTU1ODEpCiAqIEF2b2lkIHVubmVjZXNzYXJ5IHNlY29uZCBwYXNzIG9uIG5hbWUtYmFzZWQgcXVlcmllcyAoQ0FTU0FORFJBLTU1NzcpCu7sSPcAAAFP3jyyXAAQMykKICogRml4IHNldHRpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguFAAAAQBBTkRSQS00Nzc2KQogKiBBbGxvdyByZW5hbWluZyBQSyBjb2x1bW5zIGluIENRTDMgKENBU1NBTkRSQS00ODIyKQogKiBGaXggYmluYXJ5IHByb3RvY29sIE5FV19OT0RFIGV2ZW50IChDQVNTQU5EUkEtNDY3OSkKICogRml4IHBvdGVudGlhbCBpbmZpbml0ZSBsb29wIGluIHRvbWJzdG9uZSBjb21wYWN0aW9uIChDQVNTQU5EUkEtNDc4MSkKICogUmVtb3ZlIHN5c3RlbSB0YWJsZXMgYWNjb3VudGluZyBmcm9tIHNjaGVtYSAoQ0FTU0FORFJBLTQ4NTApSrudrgAAAU/ePLJcABBjb3VudGVyIG11dGF0aW9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4UAAABAHNlcnZpY2UgYW5kIGNoYW5nZSBzZXZlcmFsIERFQlVHCiAgIG1lc3NhZ2VzIHRvIElORk8gKENBU1NBTkRSQS04NDUpCiAqIGZpeCBjbGFzc3BhdGggaW4gY2Fzc2FuZHJhLWNsaS5iYXQgZm9yIFdpbmRvd3MgKENBU1NBTkRSQS04NTgpCiAqIGFsbG93IHJlLXNwZWNpZnlpbmcgaG9zdCwgcG9ydCB0byBjYXNzYW5kcmEtY2xpIGlmIGludmFsaWQgb25lcwogICBhcmUgZmlyc3QgdHJpZWQgKENBU1NBTkRSQS04NjcpCiAqIGZpeCByYWNlIGNvbmRpdGnbZUiWAAABT948slwAEGF0aXZlIHNlcnZlciB0byAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhQAAAEAcyBiZWluZyBjb21wYWN0ZWQKCgowLjguNAogKiBjaGFuZ2UgVG9rZW5SaW5nLmVuZHBvaW50cyB0byBiZSBhIGxpc3Qgb2YgcnBjIGFkZHJlc3NlcyBpbnN0ZWFkIG9mIAogICBsaXN0ZW4vYnJvYWRjYXN0IGFkZHJlc3NlcyAoQ0FTU0FORFJBLTE3NzcpCiAqIGluY2x1ZGUgZmlsZXMtdG8tYmUtc3RyZWFtZWQgaW4gU3RyZWFtSW5TZXNzaW9uLmdldFNvdXJjZXMgKENBU1NBTkRSQS0yOTcyKQogKiB1c2UgSkFWQSBlbnYgdmFyIGluIGNhc3NhbmRyYWEFs3sAAAFP3jyyXAAQUkEtODExOCkKICogR29zcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguFAAAAQBhYmxlIGluIENRTDMKICAgKENBU1NBTkRSQS01NTMxKQogKiBjcWxzaDogYWRkIENMVVNURVJJTkcgT1JERVIgQlkgc3VwcG9ydCB0byBERVNDUklCRSAoQ0FTU0FORFJBLTU1MjgpCiAqIEFkZCBjdXN0b20gc2Vjb25kYXJ5IGluZGV4IHN1cHBvcnQgdG8gQ1FMMyAoQ0FTU0FORFJBLTU0ODQpCiAqIEZpeCByZXBhaXIgaGFuZ2luZyBzaWxlbnRseSBvbiB1bmV4cGVjdGVkIGVycm9yIChDQVNTQU5EUkEtNTIyOSkKICogRml4IEVjMlNuaXRjaCByZWdytHSl1QAAAU/ePLJcABBuIGZhbWlseSBtYmVhbnMuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4UAAABAE5EUkEtNTIxNikKICogSW1wcm92ZSBoYW5kbGluZyBvZiBkaXJlY3RvcnkgY3JlYXRpb24gZmFpbHVyZXMgKENBU1NBTkRSQS01MTk2KQogKiBFeHBvc2Ugc2Vjb25kYXJ5IGluZGljaWVzIHRvIHRoZSByZXN0IG9mIG5vZGV0b29sIChDQVNTQU5EUkEtNDQ2NCkKICogQmluYXJ5IHByb3RvY29sOiBhdm9pZCBzZW5kaW5nIG5vdGlmaWNhdGlvbiBmb3IgMC4wLjAuMCAoQ0FTU0FORFJBLTUyMjcpCiAqIGFkZCBVc2VDb25kQ2FyZE1hcmsgWFgganZtIHMermZMAAABT948slwAEE5EUkEtMzM1OSkKICogKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhQAAAEAdmVyIGludHJvZHVjaW5nIGNvcnJ1cHQgZGF0YSAoQ0FTU0FORFJBLTYyODUpCiAqIEZpeCBDQVMgY29uZGl0aW9ucyBmb3IgQ09NUEFDVCBTVE9SQUdFIHRhYmxlcyAoQ0FTU0FORFJBLTY4MTMpCiAqIFN0YXJ0aW5nIHRocmVhZHMgaW4gT3V0Ym91bmRUY3BDb25uZWN0aW9uUG9vbCBjb25zdHJ1Y3RvciBjYXVzZXMgcmFjZSBjb25kaXRpb25zIChDQVNTQU5EUkEtNzE3NykKICogQWxsb3cgb3ZlcnJpZGluZyBjYXNzYW5kcmEtcmFja2RjLnByb3BlcittRX4AAAFP3jyyXAAQIHRvIGEgYm9vdHN0cmFwcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguFAAAAQAgcHJvbXB0IGZvciBwYXNzd29yZCAoQ0FTU0FORFJBLTY2NjApCiAqIEZpeCBBSU9PQkUgd2hlbiBjb25jdXJyZW50bHkgYWNjZXNzaW5nIEFCU0MgKENBU1NBTkRSQS02NzQyKQogKiBGaXggYXNzZXJ0aW9uIGVycm9yIGluIEFMVEVSIFRZUEUgUkVOQU1FIChDQVNTQU5EUkEtNjcwNSkKICogU2NydWIgc2hvdWxkIG5vdCBhbHdheXMgY2xlYXIgb3V0IHJlcGFpcmVkIHN0YXR1cyAoQ0FTU0FORFJBLTUzNTEpCiAqIEltcHJvdmUgaGFuZGxpbmcgb2Yg/2UUAgAAAU/ePLJcABA5NykKICogRmluZXIgZ3JhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4UAAABADkpCiAqIChDUUwzKSBGaXggdmFsaWRhdGlvbiBmb3IgSU4gcXVlcmllcyBmb3Igbm9uLVBLIGNvbHMgKENBU1NBTkRSQS00NzA5KQogKiBmaXggcmUtY3JlYXRlZCBrZXlzcGFjZSBkaXNhcHBlcmluZyBhZnRlciAxLjEuNSB1cGdyYWRlIAogICAoQ0FTU0FORFJBLTQ2OTgsIDQ3NTIpCiAqIChDTEkpIGRpc3BsYXkgZWxhcHNlZCB0aW1lIGluIDIgZnJhY3Rpb24gZGlnaXRzIChDQVNTQU5EUkEtMzQ2MCkKICogYWRkIGF1dGhlbnRpY2F0aW9uIHN1cHC++z3CABOSUGLjxlAAAAFP3jyyXAAQcm1hbmNlCiAgIChDQVNTQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguFgAAAQBkIGNvbHVtbiBtZXRhZGF0YSB0byBzeXN0ZW0gY29sdW1uIGZhbWlsaWVzIChDQVNTQU5EUkEtNDAxOCkKICogKGNxbDMpIEFsd2F5cyB1c2UgY29tcG9zaXRlIHR5cGVzIGJ5IGRlZmF1bHQgKENBU1NBTkRSQS00MzI5KQogKiAoY3FsMykgQWRkIHN1cHBvcnQgZm9yIHNldCwgbWFwIGFuZCBsaXN0IChDQVNTQU5EUkEtMzY0NykKICogVmFsaWRhdGUgZGF0ZSB0eXBlIGNvcnJlY3RseSAoQ0FTU0FORFJBLTQ0NDEpCiAqIChjcWwzKSBBbGxvdyBkZWZpUb+ieAAAAU/ePLJcABB4IENRTCB0cmVhdG1lbnQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4WAAABAHggZW1wdHkgUmVzdWx0IHdpdGggc2Vjb25kYXJ5IGluZGV4IHdoZW4gbGltaXQ9MSAoQ0FTU0FORFJBLTI2MjgpCiAqIEZpeCByZWdyZXNzaW9uIHdoZXJlIGJvb3RzdHJhcHBpbmcgYSBub2RlIHdpdGggbm8gc2NoZW1hIGZhaWxzCiAgIChDQVNTQU5EUkEtMjYyNSkKICogQWxsb3cgcmVtb3ZpbmcgTG9jYXRpb25JbmZvIHNzdGFibGVzIChDQVNTQU5EUkEtMjYzMikKICogYXZvaWQgYXR0ZW1wdGluZyB0byByZXBsYXkgbXV0YXRpb25zIGZyb20gZHIXDmMNAAABT948slwAEC01MDA5KQogKiBGaXggY3EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhYAAAEAc3NlcnRpb24gZmFpbHVyZSBpbiBmaWx0ZXJDb2xkU1NUYWJsZXMgKENBU1NBTkRSQS02NDgzKQogKiBGaXggcm93IHRvbWJzdG9uZXMgaW4gbGFyZ2VyLXRoYW4tbWVtb3J5IGNvbXBhY3Rpb25zIChDQVNTQU5EUkEtNjAwOCkKICogRml4IGNsZWFudXAgQ2xhc3NDYXN0RXhjZXB0aW9uIChDQVNTQU5EUkEtNjQ2MikKICogUmVkdWNlIGdvc3NpcCBtZW1vcnkgdXNlIGJ5IGludGVybmluZyBWZXJzaW9uZWRWYWx1ZSBzdHJpbmdzIChDQVNTQU5EUkEtNjVhhXgAAAFP3jyyXAAQIGJvdW5kcyBmb3IgcGFnZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguFgAAAQBlcnRzIChDQVNTQU5EUkEtOTA4MCkKICogQWRkIGdlbmVyYXRlLWlkZWEtZmlsZXMgdGFyZ2V0IHRvIGJ1aWxkLnhtbCAoQ0FTU0FORFJBLTkxMjMpCiAqIERvIG5vdCBsb2FkIHJlYWQgbWV0ZXIgZm9yIG9mZmxpbmUgb3BlcmF0aW9ucyAoQ0FTU0FORFJBLTkwODIpCiAqIGNxbHNoOiBNYWtlIENvbXBvc2l0ZVR5cGUgZGF0YSByZWFkYWJsZSAoQ0FTU0FORFJBLTg5MTkpCiAqIGNxbHNoOiBGaXggZGlzcGxheSBvZiB0cmlnZ2VycyAoQ0FTU0FORFJBn59skwAAAU/ePLJcABB0IHJlcXVlc3RzIChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4WAAABACogcmVwb3J0IGxhdGVuY3kgYW5kIGNhY2hlIGhpdCByYXRlIHN0YXRpc3RpY3Mgd2l0aCBsaWZldGltZSB0b3RhbHMKICAgaW5zdGVhZCBvZiBhdmVyYWdlIG92ZXIgdGhlIGxhc3QgbWludXRlIChDQVNTQU5EUkEtNzAyKQogKiBzdXBwb3J0IGdldF9yYW5nZV9zbGljZSBmb3IgUmFuZG9tUGFydGl0aW9uZXIgKENBU1NBTkRSQS03NDUpCiAqIHBlci1rZXlzcGFjZSByZXBsaWNhdGlvbiBmYWN0b3J5IGFuZCByZXBsaWNhdGlvbiBzdHJhdGVneSAoQ0FVoYkbAAABT948slwAEGVuc3VyZSBzaXplIGNhbGMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhYAAAEANzApCiAqIGZpeCBjaGFuZ2luZyBkdXJhYmxlX3dyaXRlcyBrZXlzcGFjZSBvcHRpb24gZHVyaW5nIENGIGNyZWF0aW9uCiAgIChDQVNTQU5EUkEtMzI5MikKICogYXZvaWQgbG9ja2luZyBvbiB1cGRhdGUgd2hlbiBubyBpbmRleGVzIGFyZSBpbnZvbHZlZCAoQ0FTU0FORFJBLTMzODYpCiAqIGZpeCBhc3NlcnRpb25FcnJvciBkdXJpbmcgcmVwYWlyIHdpdGggb3JkZXJlZCBwYXJ0aXRpb25lcnMgKENBU1NBTkRSQS0zMzY5KQogKiBjb3JyZWN0bHkgc/O9tDkAAAFP3jyyXAAQcnJlbnQgdmVyc2lvbiBzcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguFgAAAQBldHMgKENBU1NBTkRSQS0yNjU0KQogKiBmaXggbm9kZXRvb2wgcmluZyB1c2Ugd2l0aCBFYzJTbml0Y2ggKENBU1NBTkRSQS0yNzMzKQogKiBmaXggcmVtb3ZpbmcgY29sdW1ucyBhbmQgc3ViY29sdW1ucyB0aGF0IGFyZSBzdXByZXNzZWQgYnkgYSByb3cgb3IKICAgc3VwZXJjb2x1bW4gdG9tYnN0b25lIGR1cmluZyByZXBsaWNhIHJlc29sdXRpb24gKENBU1NBTkRSQS0yNTkwKQogKiBzdXBwb3J0IHNzdGFibGUyanNvbiBhZ2FpbnN0IHNuYXBzaG90pLAPwwAAAU/ePLJcABBTU0FORFJBLTc3MDQpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4WAAABADM4KQogKiBkaXN0cmlidXRlZCB0ZXN0IGhhcm5lc3MgKENBU1NBTkRSQS0xODU5LCAxOTY0KQogKiByZWR1Y2UgZmx1c2ggbG9jayBjb250ZW50aW9uIChDQVNTQU5EUkEtMTkzMCkKICogb3B0aW1pemUgc3VwZXJjb2x1bW4gZGVzZXJpYWxpemF0aW9uIChDQVNTQU5EUkEtMTg5MSkKICogZml4IENGTWV0YURhdGEuYXBwbHkgdG8gb25seSBjb21wYXJlIG9iamVjdHMgb2YgdGhlIHNhbWUgY2xhc3MgCiAgIChDQVNTQU5EUkEtMTk2MikKICogYWxsb3fZesgvAAABT948slwAEE5EUkEtMzU5NikKICogZmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhYAAAEAKENBU1NBTkRSQS0xMTY5KQogKiBhbGxvdyByZW1vdmluZyBlbnRpcmUgcm93IHRocm91Z2ggYmF0Y2hfbXV0YXRlIERlbGV0aW9uIChDQVNTQU5EUkEtMTAyNykKICogYWRkIEpNWCBtZXRyaWNzIGZvciByb3ctbGV2ZWwgYmxvb20gZmlsdGVyIGZhbHNlIHBvc2l0aXZlcyAoQ0FTU0FORFJBLTEyMTIpCiAqIGFkZGVkIGEgcmVkaGF0IGluaXQgc2NyaXB0IHRvIGNvbnRyaWIgKENBU1NBTkRSQS0xMjAxKQogKiB1c2UgbWlkcG9pbnQgd2hlbiBib290c/eSDGYAAAFP3jyyXAAQZSByb3cgY2FjaGUgZm9yIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguFgAAAQAyNzgxKQogKiBBZGQgRGF0ZSwgRmxvYXQsIERvdWJsZSwgYW5kIEJvb2xlYW4gdHlwZXMgKENBU1NBTkRSQS0yNTMwKQogKiBBZGQgc3RhcnR1cCBmbGFnIHRvIHJlbmV3IGNvdW50ZXIgbm9kZSBpZCAoQ0FTU0FORFJBLTI3ODgpCiAqIGFkZCBqYW1tIGFnZW50IHRvIGNhc3NhbmRyYS5iYXQgKENBU1NBTkRSQS0yNzg3KQogKiBmaXggcmVwYWlyIGhhbmdpbmcgaWYgYSBuZWlnaGJvciBoYXMgbm90aGluZyB0byBzZW5kIChDQVNTQU5EUkEtMjc5NykKNXq1ewAAAU/ePLJcABApCiAqIFN0b3AgdXNpbmcgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4WAAABAHN5c3RlbSBwcm9wZXJ0eSAoQ0FTU0FORFJBLTU3MDQpCiAqIChIYWRvb3ApIHF1b3RlIGlkZW50aWZpZXJzIGluIENxbFBhZ2luZ1JlY29yZFJlYWRlciAoQ0FTU0FORFJBLTU3NjMpCiAqIEFkZCByZXBsYWNlX25vZGUgZnVuY3Rpb25hbGl0eSBmb3Igdm5vZGVzIChDQVNTQU5EUkEtNTMzNykKICogQWRkIHRpbWVvdXQgZXZlbnRzIHRvIHF1ZXJ5IHRyYWNlcyAoQ0FTU0FORFJBLTU1MjApCiAqIEZpeCBzZXJpYWxpemF0aW9uIG9mIHRoZSBMRUZUIGepdM7TAAABT948slwAEFJBLTM1NzEpCiAqIGZpeCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhYAAAEAZCBmYWlsIGZhc3QgCiAgIChDQVNTQU5EUkEtMTE0NikKICogdXNlIGdlbmVyYXRpb24gdGltZSB0byByZXNvbHZlIG5vZGUgdG9rZW4gcmVhc3NpZ25tZW50IGRpc2FncmVlbWVudHMKICAgKENBU1NBTkRSQS0xMTE4KQogKiByZXN0cnVjdHVyZSB0aGUgc3RhcnR1cCBvcmRlcmluZyBvZiBHb3NzaXBlciBhbmQgTWVzc2FnZVNlcnZpY2UgdG8gYXZvaWQKICAgdGltaW5nIGFub21hbGllcyAoQ0FTU0FORFJBLTExNjApCiAqIGRldGVjdCBpbmNvbXBsZV+zv/kAAAFP3jyyXAAQQU5EUkEtMzcxOSkKICogZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguFgAAAQAKICogQ2xlYW51cCBkb2Vzbid0IG5lZWQgdG8gaW5zcGVjdCBzc3RhYmxlcyB0aGF0IGNvbnRhaW4gb25seSBsb2NhbCBkYXRhCiAgIChDQVNTQU5EUkEtNTcyMikKICogQWRkIGFiaWxpdHkgZm9yIENRTDMgdG8gbGlzdCBwYXJ0aXRpb24ga2V5cyAoQ0FTU0FORFJBLTQ1MzYpCiAqIEltcHJvdmUgbmF0aXZlIHByb3RvY29sIHNlcmlhbGl6YXRpb24gKENBU1NBTkRSQS01NjY0KQogKiBVcGdyYWRlIFRocmlmdCB0byAwLjkuMSAoQ0FTU0FORFJBLTU5ecNltAAAAU/ePLJcABBtYXggc3N0YWJsZSBzaXplAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4WAAABAHNhZ2UgZm9yIE9SREVSIEJZIGNvbnN0cmFpbnRzIHNhaWQgcHJpbWFyeSBmaWx0ZXIgY2FuIGJlCiAgICBhbiBJTiBjbGF1c2UsIHdoaWNoIGlzIG1pc2xlYWRpbmcgKENBU1NBTkRSQS00MzE5KQogKiAoY3FsMykgUmVqZWN0IChub3QgeWV0IHN1cHBvcnRlZCkgY3JlYXRpb24gb2YgMm5kYXJkeSBpbmRleGVzIG9uIHRhYmxlcyB3aXRoCiAgIGNvbXBvc2l0ZSBwcmltYXJ5IGtleXMgKENBU1NBTkRSQS00MzI4KQogKiBTZXQgSlZNIHN0YWNrIHNpemUg41qEAAABT948slwAEGluZGV4ZXMgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhYAAAEAbGUgZGVsYXkgZGVmYXVsdCBjaGFuZ2VkIHRvIDFtcywgZnJvbSA1MCAoQ0FTU0FORFJBLTM1NTQpCiAqIGFkZCBub2RldG9vbCBzZXRzdHJlYW10aHJvdWdocHV0IChDQVNTQU5EUkEtMzU3MSkKICogZml4IGFzc2VydGlvbiB3aGVuIGRyb3BwaW5nIGEgY29sdW1uZmFtaWx5IHdpdGggbm8gc3N0YWJsZXMgKENBU1NBTkRSQS0zNjE0KQogKiBtb3JlIGVmZmljaWVudCBhbGxvY2F0aW9uIG9mIHNtYWxsIGJsb29tIGZpbHRlcnMgKENBU1NBTkRSQS0zNinrZYcAE6at9NrbIQAAAU/ePLJcABBibGUgdG9tYnN0b25lIHJhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4YAAABAGUgU2NydWIgZnJvbSBjb21wYWN0aW9uc3RhdHMgd2hlbiBmaW5pc2hlZCAoQ0FTU0FORFJBLTMyNTUpCiAqIGZpeCBjb3VudGVyIGVudHJ5IGluIGpkYmMgVHlwZXNNYXAgKENBU1NBTkRSQS0zMjY4KQogKiBmaXggZnVsbCBxdWV1ZSBzY2VuYXJpbyBmb3IgUGFyYWxsZWxDb21wYWN0aW9uSXRlcmF0b3IgKENBU1NBTkRSQS0zMjcwKQogKiBmaXggYm9vdHN0cmFwIHByb2Nlc3MgKENBU1NBTkRSQS0zMjg1KQogKiBkb24ndCB0cnkgZGVsaXZlcmluZyCIlvvZAAABT948slwAEENRVU9SVU1TWU5DIHRvIEUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhgAAAEAZCBieSBrZXksIHNvcnQgc2V0cyAoQ0FTU0FORFJBLTU0MTMpCiAqIEFkZCBudWxsIHN5bnRheCBzdXBwb3J0IGluIENRTDMgZm9yIGluc2VydHMgKENBU1NBTkRSQS0zNzgzKQogKiBBbGxvdyB1bmF1dGhlbnRpY2F0ZWQgc2V0X2tleXNwYWNlKCkgY2FsbHMgKENBU1NBTkRSQS01NDIzKQogKiBGaXggcG90ZW50aWFsIGluY3JlbWVudGFsIGJhY2t1cHMgcmFjZSAoQ0FTU0FORFJBLTU0MTApCiAqIEZpeCBwcmVwYXJlZCBCQVRDSCBzdGF0ZW1lbnRzIG+EOqgAAAFP3jyyXAAQICogRml4IG1pc3NpbmcgYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguGAAAAQByYW1lZCBzdXBwb3J0IAogICAoQ0FTU0FORFJBLTE0MjApCiAqIHJlbW92ZSBrZXlzcGFjZSBhcmd1bWVudCBmcm9tIG11bHRpZ2V0X2NvdW50IChDQVNTQU5EUkEtMTQyMikKICogYWxsb3cgc3BlY2lmeWluZyBjYXNzYW5kcmEueWFtbCBsb2NhdGlvbiBhcyAobG9jYWwgb3IgcmVtb3RlKSBVUkwKICAgKENBU1NBTkRSQS0xMTI2KQogKiBmaXggdXNpbmcgRHluYW1pY0VuZHBvaW50U25pdGNoIHdpdGggTmV0d29ya1RvcG9sb2d5U3RyYXRlZ3kKICAgQ+poKwAAAU/ePLJcABBvbXBhcmF0b3IgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4YAAABAGV4cGlyZSBjb3VudGVyIHRvbWJzdG9uZSBhZnRlciBzdHJlYW1pbmcgKENBU1NBTkRSQS0zMzk0KQogKiBwcmV2ZW50IG5vZGVzIHRoYXQgZmFpbGVkIHRvIGpvaW4gZnJvbSBoYW5naW5nIGFyb3VuZCBmb3JldmVyIAogICAoQ0FTU0FORFJBLTMzNTEpCiAqIHJlbW92ZSBpbmNvcnJlY3Qgb3B0aW1pemF0aW9uIGZyb20gc2xpY2UgcmVhZCBwYXRoIChDQVNTQU5EUkEtMzM5MCkKICogRml4IHJhY2UgaW4gQW50aUVudHJvcHlTZXJ2aWNlIChDQVNTQU56k2XFAAABT948slwAEGlsdGVycyAoQ0FTU0FORFIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhgAAAEAb2tlbiB0byByZWxvY2F0ZSB2bm9kZXMgKENBU1NBTkRSQS00NDQ1KQogKiBFeHBvc2UgYnVsayBsb2FkaW5nIHByb2dyZXNzIG92ZXIgSk1YIChDQVNTQU5EUkEtNDc1NykKICogQ29ycmVjdGx5IGhhbmRsZSBudWxsIHdpdGggSUYgY29uZGl0aW9ucyBhbmQgVFRMIChDQVNTQU5EUkEtNjYyMykKICogQWNjb3VudCBmb3IgcmFuZ2Uvcm93IHRvbWJzdG9uZXMgaW4gdG9tYnN0b25lIGRyb3AKICAgdGltZSBoaXN0b2dyYW0gKENBU1NBTkRSQS02NTIyKe7+rQ8AAAFP3jyyXAAQZWVkZWQgdG8gc2hhZG93CgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguGAAAAQAqIERvbnQgbm90aWZ5IHdoZW4gcmVwbGFjaW5nIHRtcGxpbmsgZmlsZXMgKENBU1NBTkRSQS04MTU3KQogKiBGaXggdmFsaWRhdGlvbiB3aXRoIG11bHRpcGxlIENPTlRBSU5TIGNsYXVzZSAoQ0FTU0FORFJBLTgxMzEpCiAqIEZpeCB2YWxpZGF0aW9uIG9mIGNvbGxlY3Rpb25zIGluIFRyaWdnZXJFeGVjdXRvciAoQ0FTU0FORFJBLTgxNDYpCiAqIEZpeCBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gd2hlbiBhIGxpc3Qgb2YgSU4gdmFsdWVzIGNvbnRhxFlAGgAAAU/ePLJcABBBTkRSQS04MDU1KQogKiBGAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4YAAABAG9uIChDQVNTQU5EUkEtNTE2OCkKICogYWRkIENvbmZpZ0hlbHBlciBzdXBwb3J0IGZvciBUaHJpZnQgZnJhbWUgYW5kIG1heCBtZXNzYWdlIHNpemVzIChDQVNTQU5EUkEtNTE4OCkKICogZml4IG5vZGV0b29sIHJlcGFpciBub3QgZmFpbCBvbiBub2RlIGRvd24gKENBU1NBTkRSQS01MjAzKQogKiBhbHdheXMgY29sbGVjdCB0b21ic3RvbmUgaGludHMgKENBU1NBTkRSQS01MDY4KQogKiBGaXggZXJyb3Igd2hlbiBzb3VyY2luZyBmaWxlIGluIGNxbHP0AQOGAAABT948slwAEG4gb2YgSk5BIGlzIHByZXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhgAAAEAaXRoIGNvdW50ZXJzIGluIHN1cGVyIGNvbHVtbnMgKENBU1NBTkRSQS0zODIxKQogKiBSZW1vdmUgZGVwcmVjYXRlZCBtZXJnZV9zaGFyZF9jaGFuY2UgKENBU1NBTkRSQS0zOTQwKQogKiBhZGQgYSBjb252ZW5pZW50IHdheSB0byByZXNldCBhIG5vZGUncyBzY2hlbWEgKENBU1NBTkRSQS0yOTYzKQogKiBmaXggZm9yIGludGVybWl0dGVudCBTY2hlbWFEaXNhZ3JlZW1lbnRFeGNlcHRpb24gKENBU1NBTkRSQS0zODg0KQogKiBDTEkgYGxpc3QgPENGPvsv28sAAAFP3jyyXAAQcm9wcGVkIGNvbHVtbmZhbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguGAAAAQBrYiIgb3B0aW9uIHRvIHNldCBjb3JyZWN0IGtiIHZhbHVlIGZvciAKICAgdGhyaWZ0L2F2cm8gKENBU1NBTkRSQS0zNTU4KQogKiBmaXggbWlzc2luZyByZXNwb25zZSBkdXJpbmcgcmFuZ2Ugc2xpY2UgcmVwYWlyIChDQVNTQU5EUkEtMzU1MSkKICogJ2Rlc2NyaWJlIHJpbmcnIG1vdmVkIGZyb20gQ0xJIHRvIG5vZGV0b29sIGFuZCBhdmFpbGFibGUgdGhyb3VnaCBKTVggKENBU1NBTkRSQS0zMjIwKQogKiBhZGQgYmFjayBwYXJ0aXRpb25lciB0byBzaZUGcAAAAU/ePLJcABB0aWVicmVha2VyIChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4YAAABAEFORFJBLTY0NywgQ0FTU0FORFJBLTY0OSkKICogZXhwb3NlIGphdmEudXRpbC5jb25jdXJyZW50LlRpbWVvdXRFeGNlcHRpb24gaW4gU3RvcmFnZVByb3h5IG1ldGhvZHMKICAgKENBU1NBTkRSQS02MDApCiAqIFRjcENvbm5lY3Rpb25NYW5hZ2VyIHdhcyBob2xkaW5nIG9uIHRvIGRpc2Nvbm5lY3RlZCBjb25uZWN0aW9ucywgCiAgIGdpdmluZyB0aGUgZmFsc2UgaW5kaWNhdGlvbiB0aGV5IHdlcmUgYmVpbmcgdXNlZC4gKENBU1NBTkRSQS02NTEpCiDi6TMuAAABT948slwAEDA4KQogKiByZW1vdmVkIGsAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhgAAAEAU0FORFJBLTc4NjQpCgoKMi4wLjEwCiAqIERvbid0IHNlbmQgc2NoZW1hIGNoYW5nZSByZXNwb25zZXMgYW5kIGV2ZW50cyBmb3Igbm8tb3AgRERMCiAgIHN0YXRlbWVudHMgKENBU1NBTkRSQS03NjAwKQogKiAoSGFkb29wKSBmaXggY2x1c3RlciBpbml0aWFsaXNhdGlvbiBmb3IgYSBzcGxpdCBmZXRjaGluZyAoQ0FTU0FORFJBLTc3NzQpCiAqIENvbmZpZ3VyZSBzeXN0ZW0ucGF4b3Mgd2l0aCBMZXZlbGVkQ29tcGFjdGlvblN0cmF0ZWd5IChDQVNTQd2APDAAAAFP3jyyXAAQZGViaWFuIHBhY2thZ2UKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguGAAAAQAgZGVhbGluZyB3aXRoIDAuNyBub2RlCiAgIChDQVNTQU5EUkEtMjc2NykKICogdXNlIHRocmVhZHNhZmUgY29sbGVjdGlvbnMgZm9yIFN0cmVhbUluU2Vzc2lvbiAoQ0FTU0FORFJBLTI3NjYpCiAqIGF2b2lkIGluZmluaXRlIGxvb3Agd2hlbiBjcmVhdGluZyBtZXJrbGUgdHJlZSAoQ0FTU0FORFJBLTI3NTgpCiAqIGF2b2lkcyB1bm1hcmtpbmcgY29tcGFjdGluZyBzc3RhYmxlIHByZW1hdHVyZWx5IGluIGNsZWFudXAgKENBU1NBTkRSQS0yNzY5KQogNdypqgAAAU/ePLJcABBsIGVycm9ycyAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4YAAABADYxMCkKICogcmVzcGVjdCBtZW10YWJsZSB0aHJlc2hvbGRzIGR1cmluZyBsb2cgcmVwbGF5IChDQVNTQU5EUkEtNjA5KQogKiBzdXBwb3J0IENvbnNpc3RlbmN5TGV2ZWwuQUxMIG9uIHJlYWQgKENBU1NBTkRSQS01ODQpCiAqIGFkZCBub2RlcHJvYmUgcmVtb3ZldG9rZW4gY29tbWFuZCAoQ0FTU0FORFJBLTU2NCkKCgowLjUuMCBiZXRhCiAqIEFsbG93IG11bHRpcGxlIHNpbXVsdGFuZW91cyBmbHVzaGVzLCBpbXByb3ZpbmcgZmx1c2ggdGhyb3VnaHBwDvz7AAABT948slwAEGF5IGZvciBuYW5vdGltZS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhgAAAEAU1NBTkRSQS00NDMwKQogKiBkcm9wIHF1ZXJpZXMgZXhjZWVkaW5nIGEgY29uZmlndXJhYmxlIG51bWJlciBvZiB0b21ic3RvbmVzIChDQVNTQU5EUkEtNjExNykKICogVHJhY2sgYW5kIHBlcnNpc3Qgc3N0YWJsZSByZWFkIGFjdGl2aXR5IChDQVNTQU5EUkEtNTUxNSkKICogRml4ZXMgZm9yIHNwZWN1bGF0aXZlIHJldHJ5IChDQVNTQU5EUkEtNTkzMiwgQ0FTU0FORFJBLTYxOTQpCiAqIEltcHJvdmUgbWVtb3J5IHVzYWdlIG9mIG1ldGFkYXRhIG1pbj2g6RkAAAFP3jyyXAAQZCBkZWNvZGluZyBvZiBzbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguGAAAAQAtNzY0NCkKICogUmVtb3ZlIHNodWZmbGUgYW5kIHRha2V0b2tlbiAoQ0FTU0FORFJBLTc2MDEpCiAqIENsZWFuIHVwIFdpbmRvd3MgYmF0Y2ggc2NyaXB0cyAoQ0FTU0FORFJBLTc2MTkpCiAqIEZpeCBuYXRpdmUgcHJvdG9jb2wgZHJvcCB1c2VyIHR5cGUgbm90aWZpY2F0aW9uIChDQVNTQU5EUkEtNzU3MSkKICogR2l2ZSByZWFkIGFjY2VzcyB0byBzeXN0ZW0uc2NoZW1hX3VzZXJ0eXBlcyB0byBhbGwgYXV0aGVudGljYXRlZCB1c2VycwogICAoQ0FTaH76qAATuwqM/KZ3AAABT948slwAEEwKICAgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhoAAAEAYXRpb24gKENBU1NBTkRSQS02MzExKQogKiBBZGQgUXVlcnlIYW5kbGVyIGludGVyZmFjZSAoQ0FTU0FORFJBLTY2NTkpCiAqIFRyYWNrIGxpdmVSYXRpbyBwZXItbWVtdGFibGUsIG5vdCBwZXItQ0YgKENBU1NBTkRSQS02OTQ1KQogKiBNYWtlIHN1cmUgdXBncmFkZXNzdGFibGVzIGtlZXBzIHNzdGFibGUgbGV2ZWwgKENBU1NBTkRSQS02OTU4KQogKiBGaXggTElNSVQgd2l0aCBzdGF0aWMgY29sdW1ucyAoQ0FTU0FORFJBLTY5NTYpCiAqIEZpeCBjbOlH5IQAAAFP3jyyXAAQbj03NSBhbmQgVXNlQ01TSQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguGgAAAQBTU0FORFJBLTc3NzQpCiAqIENvbmZpZ3VyZSBzeXN0ZW0ucGF4b3Mgd2l0aCBMZXZlbGVkQ29tcGFjdGlvblN0cmF0ZWd5IChDQVNTQU5EUkEtNzc1MykKICogRml4IEFMVEVSIGNsdXN0ZXJpbmcgY29sdW1uIHR5cGUgZnJvbSBEYXRlVHlwZSB0byBUaW1lc3RhbXBUeXBlIHdoZW4KICAgdXNpbmcgREVTQyBjbHVzdGVyaW5nIG9yZGVyIChDQVNTQU5SREEtNzc5NykKICogVGhyb3cgRU9GRXhjZXB0aW9uIGlmIHdlIHJ1biBvdXQgb2YgY2h1bmtzIGlu3yvErwAAAU/ePLJcABAzKQogKiBub2RldG9vbCBoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4aAAABAHkgaWQgaW5zdGVhZCBvZiBtdGltZSAoQ0FTU0FORFJBLTQ3OTMpCiAqIE1ha2UgaGludCBkZWxpdmVyeSBhc3luY2hyb25vdXMgKENBU1NBTkRSQS00NzYxKQogKiBQbHVnZ2FibGUgVGhyaWZ0IHRyYW5zcG9ydCBmYWN0b3JpZXMgZm9yIENMSSBhbmQgY3Fsc2ggKENBU1NBTkRSQS00NjA5LCA0NjEwKQogKiBjYXNzYW5kcmEtY2xpOiBhbGxvdyBEb3VibGUgdmFsdWUgdHlwZSB0byBiZSBpbnNlcnRlZCB0byBhIGNvbHVtbiAoQ0FTU0FORFJBLTQ2NjEfYTeIAAABT948slwAEEFORFJBLTMzNzIpCiAqIHUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhoAAAEAZWF0IGJhY2sgdG8gaXRzIG93biB0aHJlYWQgKENBU1NBTkRSQS0yNTU0KQogKiB2YWxpZGF0ZSBjcWwgVFJVTkNBVEUgY29sdW1uZmFtaWx5IGJlZm9yZSB0cnVuY2F0aW5nIChDQVNTQU5EUkEtMjU3MCkKICogZml4IGJhdGNoX211dGF0ZSBmb3IgbWl4ZWQgc3RhbmRhcmQtY291bnRlciBtdXRhdGlvbnMgKENBU1NBTkRSQS0yNDU3KQogKiBkaXNhbGxvdyBtYWtpbmcgc2NoZW1hIGNoYW5nZXMgdG8gc3lzdGVtIGtleXNwYWNlIChDQVNTQU5EUkEtMjn2zJEAAAFP3jyyXAAQcG9ydGluZyB2aWEgSk1YCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguGgAAAQBhZGQgY29sdW1uIGZpZWxkcyB2YWxpZGF0aW9uIHRvIHNjcnViIChDQVNTQU5EUkEtMjQ2MCkKICogdXNlIDY0S0IgZmx1c2ggYnVmZmVyIGluc3RlYWQgb2YgaW5fbWVtb3J5X2NvbXBhY3Rpb25fbGltaXQgKENBU1NBTkRSQS0yNDYzKQogKiBmaXggYmFja3NsYXNoIHN1YnN0aXR1dGlvbnMgaW4gQ0xJIChDQVNTQU5EUkEtMjQ5MikKICogZGlzYWJsZSBjYWNoZSBzYXZpbmcgZm9yIHN5c3RlbSBDRlMgKENBU1NBTkRSQS0yNTAyKQogKiBmaXhlcyBmUuwetgAAAU/ePLJcABBvciBDTC5UV08gYW5kIENMAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4aAAABACogYXZvaWQgZG9pbmcgcmVhZCBmb3Igbm8tb3AgcmVwbGljYXRlLW9uLXdyaXRlIGF0IENMPTEgKENBU1NBTkRSQS0yODkyKQogKiByZWZ1c2UgY291bnRlciB3cml0ZSBmb3IgQ0wuQU5ZIChDQVNTQU5EUkEtMjk5MCkKICogc3dpdGNoIGJhY2sgdG8gb25seSBsb2dnaW5nIHJlY2VudCBkcm9wcGVkIG1lc3NhZ2VzIChDQVNTQU5EUkEtMzAwNCkKICogYWx3YXlzIGRlc2VyaWFsaXplIFJvd011dGF0aW9uIGZvciBjb3VudGVycyAoQ0FTU0FORFJBLTONgw+2AAABT948slwAEGJsZSBhdCBydW50aW1lICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhoAAAEAZWRDb2x1bW5zLCBFbXB0eUNvbHVtbnMsIFRyZWVNYXBCYWNrZWRTb3J0ZWRDb2x1bW5zIHdpdGggbmV3CiAgIEFycmF5QmFja2VkU29ydGVkQ29sdW1ucyAoQ0FTU0FORFJBLTY2MzAsIENBU1NBTkRSQS02NjYyLCBDQVNTQU5EUkEtNjY5MCkKICogQWRkIG9wdGlvbiB0byB1c2Ugcm93IGNhY2hlIHdpdGggYSBnaXZlbiBhbW91bnQgb2Ygcm93cyAoQ0FTU0FORFJBLTUzNTcpCiAqIEF2b2lkIHJlcGFpcmluZyBhbHJlYWR5IHJlcGFpcmVkIGRhdGEgKOwV3z0AAAFP3jyyXAAQaW1wcm92ZW1lbnRzIGluIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguGgAAAQAgb2YgQ0FTIHN0YXRlbWVudCByZXN1bHRzIChDQVNTQU5EUkEtNzY3MSkKICogKGNxbHNoKSBDT1BZIFRPL0ZST00gaW1wcm92ZW1lbnRzIChDQVNTQU5EUkEtNzQwNSkKICogU3VwcG9ydCBsaXN0IGluZGV4IG9wZXJhdGlvbnMgd2l0aCBjb25kaXRpb25zIChDQVNTQU5EUkEtNzQ5OSkKICogQWRkIG1heCBsaXZlL3RvbWJzdG9uZWQgY2VsbHMgdG8gbm9kZXRvb2wgY2ZzdGF0cyBvdXRwdXQgKENBU1NBTkRSQS03NzMxKQogKiBWYWxpZGF0ZSBJUHY2+PvafAAAAU/ePLJcABBBLTU3NDIpCiAqIEludHJvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4aAAABAHRob3V0IGEgaGludCAoQ0FTU0FORFJBLTY1MTApCiAqIERvbid0IGFsbG93IG51bGwgbWF4X2hpbnRfd2luZG93X2luX21zIChDQVNTQU5EUkEtNjQxOSkKICogVmFsaWRhdGUgU2xpY2VSYW5nZSBzdGFydCBhbmQgZmluaXNoIGxlbmd0aHMgKENBU1NBTkRSQS02NTIxKQoKCjIuMC4zCiAqIEZpeCBGRCBsZWFrIG9uIHNsaWNlIHJlYWQgcGF0aCAoQ0FTU0FORFJBLTYyNzUpCiAqIENhbmNlbCByZWFkIG1ldGVyIHRhc2sgd2hlbiBjbG9zaW5nIFNTVFJ9H/XeAAABT948slwAEGxsb3cgcmUtdXNpbmcgUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhoAAAEAQVNTQU5EUkEtNTQzMSkKTWVyZ2VkIGZyb20gMS4xOgogKiBjbGk6IFF1b3RlIGtzIGFuZCBjZiBuYW1lcyBpbiBzY2hlbWEgb3V0cHV0IHdoZW4gbmVlZGVkIChDQVNTQU5EUkEtNTA1MikKICogRml4IGJhZCBkZWZhdWx0IGZvciBtaW4vbWF4IHRpbWVzdGFtcCBpbiBTU1RhYmxlTWV0YWRhdGEgKENBU1NBTkRSQS01MzcyKQogKiBGaXggY2YgbmFtZSBleHRyYWN0aW9uIGZyb20gbWFuaWZlc3QgaW4gRGlyZWN0b3JpZXMubWlncmF0ZUZpbGUoKSAKII/pazQAAAFP3jyyXAAQY29tcGFyYXRvciBpbiBTdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguGgAAAQAgICAoQ0FTU0FORFJBLTQ5NDIpCiAqIEFkZCBkZWJ1ZyBsb2dnaW5nIHRvIGxpc3QgZmlsZW5hbWVzIHByb2Nlc3NlZCBieSBEaXJlY3Rvcmllcy5taWdyYXRlRmlsZSAKICAgbWV0aG9kIChDQVNTQU5EUkEtNDkzOSkKICogRXhwb3NlIGJsYWNrLWxpc3RlZCBkaXJlY3RvcmllcyB2aWEgSk1YIChDQVNTQU5EUkEtNDg0OCkKICogTG9nIGNvbXBhY3Rpb24gbWVyZ2UgY291bnRzIChDQVNTQU5EUkEtNDg5NCkKICogTWluaW1pemUgYnl0ZSBhcnJheSBhz2BpPwAAAU/ePLJcABAoQ0FTU0FORFJBLTQ4NTkpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4aAAABAEFTU0FORFJBLTcxMDcpCiAqIFVwZ3JhZGUgTkJITSBsaWIgKENBU1NBTkRSQS03MTI4KQogKiBPcHRpbWl6ZSBuZXR0eSBzZXJ2ZXIgKENBU1NBTkRSQS02ODYxKQogKiBGaXggcmVwYWlyIGhhbmcgd2hlbiBnaXZlbiBDRiBkb2VzIG5vdCBleGlzdCAoQ0FTU0FORFJBLTcxODkpCiAqIEFsbG93IGMqIHRvIGJlIHNodXRkb3duIGluIGFuIGVtYmVkZGVkIG1vZGUgKENBU1NBTkRSQS01NjM1KQogKiBBZGQgc2VydmVyIHNpZGUgYmF0Y2hpbmcgdG8gbmGssnIMAAABT948slwAEDg5KQoKCjEuMi4wLXJjMgoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhoAAAEAc3RhYmxlcyBpbmNsdWRlcyBzZWNvbmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTY1OTgpCiAqIFBhZ2luYXRlIGJhdGNobG9nIHJlcGxheSAoQ0FTU0FORFJBLTY1NjkpCiAqIHNraXAgYmxvY2tpbmcgb24gc3RyZWFtaW5nIGR1cmluZyBkcmFpbiAoQ0FTU0FORFJBLTY2MDMpCiAqIEltcHJvdmUgZXJyb3IgbWVzc2FnZSB3aGVuIHNjaGVtYSBkb2Vzbid0IG1hdGNoIGxvYWRlZCBzc3RhYmxlIChDQVNTQU5EUkEtNjI2MikKICogQWRkIHByb3BlcnRpZYj2r/QAAAFP3jyyXAAQZmlsZSBhbmQgYWRkIHNpegAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguGgAAAQBzIGFuZCBrZXkgdmFsaWRhdGlvbiB0eXBlIGluIHNjaGVtYSAoQ0FTU0FORFJBLTMyODApCiAqIEZpeCBjb21wbGV0ZWx5IHJlbW92aW5nIGNvbHVtbiBtZXRhZGF0YSB1c2luZyBDTEkgKENBU1NBTkRSQS0zMTI2KQogKiBDTEkgYGRlc2NyaWJlIGNsdXN0ZXI7YCBvdXRwdXQgc2hvdWxkIGJlIG9uIHNlcGFyYXRlIGxpbmVzIGZvciBzZXBhcmF0ZSB2ZXJzaW9ucwogICAoQ0FTU0FORFJBLTMxNzApCiAqIGZpeCBjaGFuZ2luZyBkdXJhYmxlX3dyaXRlAGhr7wAAAU/ePLJcABA2LCAyMzQyLAogICAyNDU0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4aAAABAHRpdGlvbiBzc3RhYmxlcyAoQ0FTU0FORFJBLTkzMjIpCiAqIExvZyB3YXJuaW5nIG1lc3NhZ2Ugd2hlbiBhIHRhYmxlIGlzIHF1ZXJpZWQgYmVmb3JlIHRoZSBzY2hlbWEgaGFzIGZ1bGx5CiAgIHByb3BhZ2F0ZWQgKENBU1NBTkRSQS05MTM2KQogKiBPdmVybG9hZCBTZWNvbmRhcnlJbmRleCNpbmRleGVzIHRvIGFjY2VwdCB0aGUgY29sdW1uIGRlZmluaXRpb24gKENBU1NBTkRSQS05MzE0KQogKiAoY3Fsc2gpIEFkZCBTRVJJQUwgYW5kIExPQ0FMX1OJPJG8ABPPZzsi/CAAAAFP3jyyXAAQaXRoIGphdmEgbmlvIChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguHAAAAQBuIHRyYWNpbmcgcXVlcnkgKENBU1NBTkRSQS03NjEzKQogKiBBdm9pZCBJT09CRSB3aGVuIGJ1aWxkaW5nIFN5bnRheEVycm9yIG1lc3NhZ2Ugc25pcHBldCAoQ0FTU0FORFJBLTc1NjkpCiAqIFNTVGFibGVFeHBvcnQgdXNlcyBjb3JyZWN0IHZhbGlkYXRvciB0byBjcmVhdGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHBhcnRpdGlvbgogICBrZXlzIChDQVNTQU5EUkEtNzQ5OCkKICogQXZvaWQgTlBFcyB3aGVuIHJlY2VpdmluZyB0eXBlIGNoYW5np5oB9QAAAU/ePLJcABBBU1NBTkRSQS03ODkyKQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4cAAABAG4gc3RyZWFtaW5nIGRhdGEgZnJvbSBvbGQgc3N0YWJsZXMgKENBU1NBTkRSQS0yMjgzKQogKiBmaXggYmFja3NsYXNoIHN1YnN0aXR1dGlvbnMgaW4gQ0xJIChDQVNTQU5EUkEtMjQ5MikKICogY291bnQgYSByb3cgZGVsZXRpb24gYXMgb25lIG9wZXJhdGlvbiB0b3dhcmRzIG1lbXRhYmxlIHRocmVzaG9sZCAKICAgKENBU1NBTkRSQS0yNTE5KQogKiBzdXBwb3J0IExPQ0FMX1FVT1JVTSwgRUFDSF9RVU9SVU0gQ0xzIG91dHNpZGUgb2YgTlRTIChDQVOsoVyIAAABT948slwAEHJlIGlzIG5vdCBlbm91Z2gAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhwAAAEAQ0FTU0FORFJBLTY0MykKICogZml4IGJ1ZyBkZXRlcm1pbmluZyBjbG9zZXN0IG5laWdoYm9yIGZvciB1c2UgaW4gbXVsdGlwbGUgZGF0YWNlbnRlcnMKICAgKENBU1NBTkRSQS02NDgpCiAqIFZhc3QgaW1wcm92ZW1lbnRzIGluIGFudGljb21wYWN0aW9uIHNwZWVkIChDQVNTQU5EUkEtNjA3KQogKiBTcGVlZCB1cCBsb2cgcmVwbGF5IGFuZCB3cml0ZXMgYnkgYXZvaWRpbmcgcmVkdW5kYW50IHNlcmlhbGl6YXRpb25zCiAgIChDQVNTQU5EUkEtNjUyKQATCysAAAFP3jyyXAAQcnVuY2F0ZSBhbGxvd2luZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguHAAAAQB0ZXIgc2l6ZSAoQ0FTU0FORFJBLTkwNjApCiAqIE1ha2UgRlJPWkVOIGFuZCBUVVBMRSB1bnJlc2VydmVkIGtleXdvcmRzIGluIENRTCAoQ0FTU0FORFJBLTkwNDcpCiAqIFByZXZlbnQgQXNzZXJ0aW9uRXJyb3IgZnJvbSBTaXplRXN0aW1hdGVzUmVjb3JkZXIgKENBU1NBTkRSQS05MDM0KQogKiBBdm9pZCBvdmVyd3JpdGluZyBpbmRleCBzdW1tYXJpZXMgZm9yIHNzdGFibGVzIHdpdGggYW4gb2xkZXIgZm9ybWF0IHRoYXQKICAgZG9lcyBub3Qgc3VwcieuRAAAAU/ePLJcABBlIGluZGV4X3R5cGUgdG8gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4cAAABACB0aGUgMkdCIG1tYXAgYm91bmRhcmllcyBmb3IgYm90aCBtbWFwCiAgIGFuZCBzdGFuZGFyZCBpL28gbW9kZXMgKENBU1NBTkRSQS04NjYpCiAqIGV4cG9zZSBkcmFpbiB2aWEgbm9kZXRvb2wgKENBU1NBTkRSQS05NzgpCgoKMC42LjAtUkMxCiAqIEpNWCBkcmFpbiB0byBmbHVzaCBtZW10YWJsZXMgYW5kIHJ1biB0aHJvdWdoIGNvbW1pdCBsb2cgKENBU1NBTkRSQS04ODApCiAqIEJvb3RzdHJhcHBpbmcgY2FuIHNraXAgcmFuZ2VzIHVuZGVyIHRoZSBoAaOjAAABT948slwAECBvdXQgYWZ0ZXIgMWggKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhwAAAEAYXRpb25zIHNvIENMLnJlY292ZXIgaXMgbm8gbG9uZ2VyIAogICBuZWNlc3NhcnkgKENBU1NBTkRSQS0xNDA4KQogKiByZW1vdmVkIGtleXNwYWNlIGZyb20gZGVzY3JpYmVfc3BsaXRzIG1ldGhvZCAoQ0FTU0FORFJBLTE0MjUpCiAqIHJlbmFtZSBjaGVja19zY2hlbWFfYWdyZWVtZW50IHRvIGRlc2NyaWJlX3NjaGVtYV92ZXJzaW9ucwogICAoQ0FTU0FORFJBLTE0NzgpCiAqIGZpeCBRVU9SVU0gY2FsY3VsYXRpb24gZm9yIFJGID4gMyAoQ0FTU0FORPvI+nQAAAFP3jyyXAAQZml4IHRydW5jYXRlIGFsbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguHAAAAQBTdHJlYW1pbmcgc3lzdGVtIChDQVNTQU5EUkEtMTUwMywgMTUwNCwgMTUwNikKICogYWRkIG9wdGlvbnMgdG8gY29uZmlndXJlIFRocmlmdCBzb2NrZXQga2VlcGFsaXZlIGFuZCBidWZmZXIgc2l6ZXMgKENBU1NBTkRSQS0xNDI2KQogKiBtYWtlIGNvbnRyaWIgQ2Fzc2FuZHJhU2VydmljZURhdGFDbGVhbmVyIHJlY3Vyc2l2ZSAoQ0FTU0FORFJBLTE1MDkpCiAqIG1pbiwgbWF4IGNvbXBhY3Rpb24gdGhyZXNob2xkIGFyZSBjb25maWd1cmFibGUgYW5kMeo+RAAAAU/ePLJcABA3NzQpCiAqIGltcHJvdmVtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4cAAABAG9zc2liaWxpdHkgb2Ygc3B1cmlvdXMgVW5hdmFpbGFibGVFeGNlcHRpb24gZm9yIExPQ0FMX1FVT1JVTQogICByZWFkcyB3aXRoIGR5bmFtaWMgc25pdGNoICsgcmVhZCByZXBhaXIgZGlzYWJsZWQgKENBU1NBTkRSQS0yODcwKQogKiBhZGQgYW50LW9wdGlvbmFsIGFzIGRlcGVuZGVuY2UgZm9yIHRoZSBkZWJpYW4gcGFja2FnZSAoQ0FTU0FORFJBLTIxNjQpCiAqIGFkZCBvcHRpb24gdG8gc3BlY2lmeSBsaW1pdCBmb3IgZ2V0X3NsaWNlIGluIHRoZSBTNfoAAAABT948slwAECBOUEUgZHVyaW5nIEhIIGQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhwAAAEAaWNlcyAoQ0FTU0FORFJBLTcyNzkpCiAqIEZpeCBEYXRhT3V0cHV0VGVzdCBvbiBXaW5kb3dzIChDQVNTQU5EUkEtNzI2NSkKICogRW1iZWRkZWQgc2V0cyBpbiB1c2VyIGRlZmluZWQgZGF0YS10eXBlcyBhcmUgbm90IHVwZGF0aW5nIChDQVNTQU5EUkEtNzI2NykKICogQWRkIHR1cGxlIHR5cGUgdG8gQ1FML25hdGl2ZSBwcm90b2NvbCAoQ0FTU0FORFJBLTcyNDgpCiAqIEZpeCBDcWxQYWdpbmdSZWNvcmRSZWFkZXIgb24gdGFibGVzIHdpdGggZmV3IHWtZZ8AAAFP3jyyXAAQCiAgIEFycmF5QmFja2VkUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguHAAAAQAqIEZpeCBidWcgd2l0aCBzb21lIElOIHF1ZXJpZXMgbWlzc2lnIHJlc3VsdHMgKENBU1NBTkRSQS03MTA1KQogKiBGaXggYXZhaWxhYmlsaXR5IHZhbGlkYXRpb24gZm9yIExPQ0FMX09ORSBDTCAoQ0FTU0FORFJBLTczMTkpCiAqIEhpbnQgc3RyZWFtaW5nIGNhbiBjYXVzZSBkZWNvbW1pc3Npb24gdG8gZmFpbCAoQ0FTU0FORFJBLTcyMTkpCgoKMi4xLjAtYmV0YTIKICogSW5jcmVhc2UgZGVmYXVsdCBDTCBzcGFjZSB0byA4R0IgKENBU1NBTkRSQS03JP+gJwAAAU/ePLJcABAgICBtb2RpZmllZCAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4cAAABAGcgZ2V0X3JhbmdlX3NsaWNlIHJlc3VsdHMgdG8gVGhyaWZ0IAogICAoQ0FTU0FORFJBLTY0NywgQ0FTU0FORFJBLTY0OSkKICogZXhwb3NlIGphdmEudXRpbC5jb25jdXJyZW50LlRpbWVvdXRFeGNlcHRpb24gaW4gU3RvcmFnZVByb3h5IG1ldGhvZHMKICAgKENBU1NBTkRSQS02MDApCiAqIFRjcENvbm5lY3Rpb25NYW5hZ2VyIHdhcyBob2xkaW5nIG9uIHRvIGRpc2Nvbm5lY3RlZCBjb25uZWN0aW9ucywgCiAgIGdpdmluZyB0aGUgZmFsc2UgaW5kaWNIvfuoAAABT948slwAECAqIE1ha2UgYmF0Y2hsb2cAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhwAAAEAby5hLmMucmVxdWVzdC5SZXF1ZXN0X3Jlc3BvbnNlU3RhZ2UgLT4gUmVxdWVzdFJlc3BvbnNlU3RhZ2UsCiAgIG8uYS5jLmludGVybmFsLkludGVybmFsX3Jlc3BvbnNlU3RhZ2UgLT4gSW50ZXJuYWxSZXNwb25zZVN0YWdlCiAqIGFkZCBBYnN0cmFjdFR5cGUuZnJvbVN0cmluZyAoQ0FTU0FORFJBLTE3NjcpCiAqIHJlcXVpcmUgaW5kZXhfdHlwZSB0byBiZSBwcmVzZW50IHdoZW4gc3BlY2lmeWluZyBpbmRleF9uYW1lCiAgIG9uIENvbHVtbkRlZiAoQ7iUsesAAAFP3jyyXAAQcyAoQ0FTU0FORFJBLTc4MAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguHAAAAQBzIChDQVNTQU5EUkEtNDMzMSkKICogQ2hlY2sgc2NoZW1hIGJlZm9yZSB0cnlpbmcgdG8gZXhwb3J0IHNzdGFibGUgKENBU1NBTkRSQS0yNzYwKQogKiBSYWlzZSBhIG1lYW5pbmdmdWwgZXhjZXB0aW9uIGluc3RlYWQgb2YgTlBFIHdoZW4gUEZTIGVuY291bnRlcnMKICAgYW4gdW5jb25maWd1cmVkIG5vZGUgKyBubyBkZWZhdWx0IChDQVNTQU5EUkEtNDM0OSkKICogZml4IGJ1ZyBpbiBzc3RhYmxlIGJsYWNrbGlzdGluZyB3aXRoIExDUyAoQ0FTU0FO/9sM7QAAAU/ePLJcABBDQVNTQU5EUkEtODQwNikKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4cAAABACogRG9udCBub3RpZnkgd2hlbiByZXBsYWNpbmcgdG1wbGluayBmaWxlcyAoQ0FTU0FORFJBLTgxNTcpCiAqIEZpeCB2YWxpZGF0aW9uIHdpdGggbXVsdGlwbGUgQ09OVEFJTlMgY2xhdXNlIChDQVNTQU5EUkEtODEzMSkKICogRml4IHZhbGlkYXRpb24gb2YgY29sbGVjdGlvbnMgaW4gVHJpZ2dlckV4ZWN1dG9yIChDQVNTQU5EUkEtODE0NikKICogRml4IElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiB3aGVuIGEgbGlzdCBvZiBJTiB2YWx1ZXMgY29udGHdgEFAAAABT948slwAEGxvc2VseSB0cmFja3MgR0MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILhwAAAEAZyB0aGUgdG1wIGRpciAoQ0FTU0FORFJBLTc3MTIpCiAqIEltcHJvdmUgY29tcGFjdGlvbiBlc3RpbWF0ZWQgdGFza3MgZXN0aW1hdGlvbiAoQ0FTU0FORFJBLTg5MDQpCiAqIEZpeCBkdXBsaWNhdGUgdXAvZG93biBtZXNzYWdlcyBzZW50IHRvIG5hdGl2ZSBjbGllbnRzIChDQVNTQU5EUkEtNzgxNikKICogRXhwb3NlIGNvbW1pdCBsb2cgYXJjaGl2ZSBzdGF0dXMgdmlhIEpNWCAoQ0FTU0FORFJBLTg3MzQpCiAqIFByb3ZpZGUgYmV0dGVyIGV4Y2VwdIJsO1wAE+PEQ3JdNwAAAU/ePLJcABAgbnVsbCBEYXRlIG9iamVjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4eAAABAG1uIGNvdW50IHN0YXRpc3RpY3MgKENBU1NBTkRSQS0xMTU1KQogKiBhZGQgSW50ZWdlclR5cGUgKENBU1NBTkRSQS0xMjgyKQogKiBwYWdlIHdpdGhpbiBhIHNpbmdsZSByb3cgZHVyaW5nIGhpbnRlZCBoYW5kb2ZmIChDQVNTQU5EUkEtMTMyNykKICogcHVzaCBEYXRhY2VudGVyU2hhcmRTdHJhdGVneSBjb25maWd1cmF0aW9uIGludG8ga2V5c3BhY2UgZGVmaW5pdGlvbiwKICAgZWxpbWluYXRpbmcgZGF0YWNlbnRlci5wcm9wZXJ0aWVzLiAoQ0FTU0HY3MU2AAABT948slwAEFNBTkRSQS00OTM2KQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILh4AAAEAOSkKICogaW1wcm92ZSBpbnNlcnQgY29uY3VycmVuY3ksIHBhcnRpY3VsYXJseSBkdXJpbmcgSGludGVkIEhhbmRvZmYKICAgKENBU1NBTkRSQS02NTgpCiAqIGZhc3RlciBuZXR3b3JrIGNvZGUgKENBU1NBTkRSQS02NzUpCiAqIHN0cmVzcy5weSBtb3ZlZCB0byBjb250cmliIChDQVNTQU5EUkEtNjM1KQogKiByb3cgY2FjaGluZyBbbXVzdCBiZSBleHBsaWNpdGx5IGVuYWJsZWQgcGVyLUNGIGluIGNvbmZpZ10gKENBU1NBTkRSQS02NzgpCiAqIHByZZfZ4mEAAAFP3jyyXAAQQS00NDc3KQogKiByZW1vdgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguHgAAAQBlIHR5cGUgY29ycmVjdGx5IChDQVNTQU5EUkEtNDQ0MSkKICogKGNxbDMpIEFsbG93IGRlZmluaXRpb25zIHdpdGggb25seSBhIFBLIChDQVNTQU5EUkEtNDM2MSkKICogKGNxbDMpIEFkZCBzdXBwb3J0IGZvciByb3cga2V5IGNvbXBvc2l0ZXMgKENBU1NBTkRSQS00MTc5KQogKiBpbXByb3ZlIER5bmFtaWNFbmRwb2ludFNuaXRjaCBieSB1c2luZyByZXNlcnZvaXIgc2FtcGxpbmcgKENBU1NBTkRSQS00MDM4KQogKiAoY3FsMykgQWRkIHN1cHBvcnQgwdjp9gAAAU/ePLJcABB0ZWd5IGltcGxlbWVudGF0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4eAAABAFVzZSBvZiBvLmEuYy5tZXRyaWNzIGluIG5vZGV0b29sIChDQVNTQU5EUkEtNTg3MSwgNjQwNikKICogQmF0Y2ggcmVhZCBmcm9tIE9UQydzIHF1ZXVlIGFuZCBjbGVhbnVwIChDQVNTQU5EUkEtMTYzMikKICogU2Vjb25kYXJ5IGluZGV4IHN1cHBvcnQgZm9yIGNvbGxlY3Rpb25zIChDQVNTQU5EUkEtNDUxMSwgNjM4MykKICogU1NUYWJsZSBtZXRhZGF0YShTdGF0cy5kYikgZm9ybWF0IGNoYW5nZSAoQ0FTU0FORFJBLTYzNTYpCiAqIFB1c2ggY29tcG+lPG77AAABT948slwAEERSQS01OTgxKQogKiBGaXgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILh4AAAEAYmxvb20gZmlsdGVyIGZhbHNlIHBvc2l0aXZlcyAoQ0FTU0FORFJBLTEyMTIpCiAqIGFkZGVkIGEgcmVkaGF0IGluaXQgc2NyaXB0IHRvIGNvbnRyaWIgKENBU1NBTkRSQS0xMjAxKQogKiB1c2UgbWlkcG9pbnQgd2hlbiBib290c3RyYXBwaW5nIGEgbmV3IG1hY2hpbmUgaW50byByYW5nZSB3aXRoIG5vdAogICBtdWNoIGRhdGEgeWV0IGluc3RlYWQgb2YgcmFuZG9tIHRva2VuIChDQVNTQU5EUkEtMTExMikKICoga2lsbCBzZXJ2ZXIgb24gT09NIGluIJwtpK4AAAFP3jyyXAAQZWQgdXNlcnMKICAgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguHgAAAQBEUkEtMjgwNykKICogZml4IHBvdGVudGlhbCBOUEUgd2hpbGUgc2NoZWR1bGluZyByZWFkIHJlcGFpciBmb3IgcmFuZ2Ugc2xpY2UKICAgKENBU1NBTkRSQS0yODIzKQogKiBGaXggcmFjZSBpbiBTeXN0ZW1UYWJsZS5nZXRDdXJyZW50TG9jYWxOb2RlSWQgKENBU1NBTkRSQS0yODI0KQogKiBDb3JyZWN0bHkgc2V0IGRlZmF1bHQgZm9yIHJlcGxpY2F0ZV9vbl93cml0ZSAoQ0FTU0FORFJBLTI4MzUpCiAqIGltcHJvdmUgbm9kZXRvb2wgY29tcGFjdGlvc0mVZgAAAU/ePLJcABBlcHRpb25zIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4eAAABACBzbml0Y2ggKENBU1NBTkRSQS03MTQ3KQogKiBVcGRhdGUgc3lzdGVtLnBlZXJzIGNvcnJlY3RseSB3aGVuIHJlbG9jYXRpbmcgdG9rZW5zIChDQVNTQU5EUkEtNzEyNikKICogQWRkIEdvb2dsZSBDb21wdXRlIEVuZ2luZSBzbml0Y2ggKENBU1NBTkRSQS03MTMyKQogKiByZW1vdmUgZHVwbGljYXRlIHF1ZXJ5IGZvciBsb2NhbCB0b2tlbnMgKENBU1NBTkRSQS03MTgyKQogKiBleGl0IENRTFNIIHdpdGggZXJyb3Igc3RhdHVzIGNvZGUgaWYgc2NyaXA/mfhZAAABT948slwAEFRBTVAgZm9yIGJhdGNoZXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILh4AAAEAdG8gQ2Fzc2FuZHJhIGZyb20gUGlnIChDQVNTQU5EUkEtMTgyOCkKICogYWRkIHJwY19bbWlufG1heF1fdGhyZWFkcyAoQ0FTU0FORFJBLTIxNzYpCiAqIGFkZCBDTC5UV08sIENMLlRIUkVFIChDQVNTQU5EUkEtMjAxMykKICogYXZvaWQgZXhwb3J0aW5nIGFuIHVuLXJlcXVlc3RlZCByb3cgaW4gc3N0YWJsZTJqc29uLCB3aGVuIGV4cG9ydGluZyAKICAgYSBrZXkgdGhhdCBkb2VzIG5vdCBleGlzdCAoQ0FTU0FORFJBLTIxNjgpCiAqIGFkZCBpbmNyZe9gYzkAAAFP3jyyXAAQdGluZyBmcm9tIDEuMiB3aQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguHgAAAQBuIGxpZ2h0d2VpZ2h0IHRyYW5zYWN0aW9ucyAoQ0FTU0FORFJBLTY4MzkpCiAqIEFkZCBJRiBbTk9UXSBFWElTVFMgdG8gY3JlYXRlL2Ryb3AgdHJpZ2dlcnMgKENBU1NBTkRSQS03NjA2KQogKiAoY3Fsc2gpIERpc3BsYXkgdGhlIGN1cnJlbnQgbG9nZ2VkLWluIHVzZXIgKENBU1NBTkRSQS03Nzg1KQogKiAoY3Fsc2gpIERvbid0IGlnbm9yZSBDVFJMLUMgZHVyaW5nIENPUFkgRlJPTSBleGVjdXRpb24gKENBU1NBTkRSQS03ODE1KQogKiAoY3Fsc2gp7r5qCAAAAU/ePLJcABApCiAqIEdvc3NpcGVyIGluAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4eAAABAGhhbmdlIG5hbm9UaW1lKCkgdG8gY3VycmVudFRpbWVJbk1pbGxpcygpIGluIHNjaGVtYSByZWxhdGVkIGNvZGUgKENBU1NBTkRSQS00NDMyKQogKiBhZGQgYSB0b2tlbiBnZW5lcmF0aW9uIHRvb2wgKENBU1NBTkRSQS0zNzA5KQogKiBGaXggTENTIGJ1ZyB3aXRoIHNzdGFibGUgY29udGFpbmluZyBvbmx5IDEgcm93IChDQVNTQU5EUkEtNDQxMSkKICogZml4ICJDYW4ndCBNb2RpZnkgSW5kZXggTmFtZSIgcHJvYmxlbSBvbiBDRiB1cGRhdGUgKENBU1OgpiceAAABT948slwAEG9ucyAoQ0FTU0FORFJBLTQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILh4AAAEAaGVuIHNzdGFibGVzIGFyZSByZW1vdmVkIChDQVNTQU5EUkEtMzQ5NikKICogYWRkIGJsb29tIGZpbHRlciBGUCByYXRlcyB0byBub2RldG9vbCBjZnN0YXRzIChDQVNTQU5EUkEtMzM0NykKICogcmVjb3JkIHBhcnRpdGlvbmVyIGluIHNzdGFibGUgbWV0YWRhdGEgY29tcG9uZW50IChDQVNTQU5EUkEtMzQwNykKICogYWRkIG5ldyB1cGdyYWRlc3N0YWJsZXMgbm9kZXRvb2wgY29tbWFuZCAoQ0FTU0FORFJBLTM0MDYpCiAqIHNraXAgLS1kZWJ1ZyByZUTSRcMAAAFP3jyyXAAQZCBsYXRlbmN5IGhpc3RvZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguHgAAAQBhYmxla2V5cyB0byBEZWJpYW4gcGFja2FnZQogKiBTdHJlYW1pbmdTZXJ2aWNlLlN0cmVhbURlc3RpbmF0aW9ucyB3b3VsZG4ndCBlbXB0eSBpdHNlbGYgYWZ0ZXIgc3RyZWFtaW5nCiAgIGZpbmlzaGVkIChDQVNTQU5EUkEtMTA3NikKICogYWRkZWQgQ29sbGVjdGlvbnMuc2h1ZmZsZShzcGxpdHMpIGJlZm9yZSByZXR1cm5pbmcgdGhlIHNwbGl0cyBpbiAKICAgQ29sdW1uRmFtaWx5SW5wdXRGb3JtYXQgKENBU1NBTkRSQS0xMDk2KQogKiBkbyBub3QgZ83a7gAAAU/ePLJcABBpbnRlcmZhY2UgYW5kIHJwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4eAAABAHRocmVhZCBpbiBTU1RhYmxlU2ltcGxlVW5zb3J0ZWRXcml0ZXIgKENBU1NBTkRSQS0zNjE5KQogKiBmc3luYyB0aGUgZGlyZWN0b3J5IGFmdGVyIG5ldyBzc3RhYmxlIG9yIGNvbW1pdGxvZyBzZWdtZW50IGFyZSBjcmVhdGVkIChDQVNTQU5EUkEtMzI1MCkKICogZml4IG1pbm9yIGlzc3VlcyByZXBvcnRlZCBieSBGaW5kQnVncyAoQ0FTU0FORFJBLTM2NTgpCiAqIGdsb2JhbCBrZXkvcm93IGNhY2hlcyAoQ0FTU0FORFJBLTMxNDMsIDM4NDkpCiAqIG8YHw22AAABT948slwAEHVyZSBmb3IgcmVwYWlyICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILh4AAAEAcmEuYmF0IHdoZW4gQ0FTU0FORFJBX0hPTUUgY29udGFpbnMgc3BhY2VzIChDQVNTQU5EUkEtMjk1MikKICogZml4IHRvIFNTVGFibGVTaW1wbGVVbnNvcnRlZFdyaXRlciBidWZmZXJTaXplIGNhbGN1bGF0aW9uIChDQVNTQU5EUkEtMzAyNykKICogbWFrZSBjbGVhbnVwIGFuZCBub3JtYWwgY29tcGFjdGlvbiBhYmxlIHRvIHNraXAgZW1wdHkgcm93cwogICAocm93cyBjb250YWluaW5nIG5vdGhpbmcgYnV0IGV4cGlyZWQgdG9tYnN0b25lcykgKENBU6L5bKYAAAFP3jyyXAAQdGF0ZW1lbnQgcHJlcGFyYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguHgAAAQB0byBiZSByZXBsYXllZCBwb3N0LXJlc3RhcnQgKENBU1NBTkRSQS0zMjk3KQogKiBNb3ZlIFNpbXBsZUF1dGhvcml0eSBhbmQgU2ltcGxlQXV0aGVudGljYXRvciB0byBleGFtcGxlcyAoQ0FTU0FORFJBLTI5MjIpCiAqIEZpeCBoYW5kbGluZyBvZiB0b21ic3RvbmUgYnkgU1NUYWJsZUV4cG9ydC9JbXBvcnQgKENBU1NBTkRSQS0zMzU3KQogKiBGaXggdHJhbnNwb3NpdGlvbiBpbiBjZkhpc3RvZ3JhbXMgKENBU1NBTkRSQS0zMjIyKQogKiBBbGxvdyB106+tMwAT+CE1nMTLAAABT948slwAEEFORFJBLTQwMjMpCiAqIGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiAAAAEAMjEpCiAqIChjcWwzKSBBbGxvdyBrZXlzcGFjZSBwcm9wZXJ0aWVzIHRvIGNvbnRhaW4gaHlwaGVucyAoQ0FTU0FORFJBLTQyNzgpCiAqIChjcWwzKSBDb3JyZWN0bHkgdmFsaWRhdGUga2V5c3BhY2UgYWNjZXNzIGluIGNyZWF0ZSB0YWJsZSAoQ0FTU0FORFJBLTQyOTYpCiAqIEF2b2lkIGRlYWRsb2NrIGluIG1pZ3JhdGlvbiBzdGFnZSAoQ0FTU0FORFJBLTM4ODIpCiAqIFRha2Ugc3VwZXJjb2x1bW4gbmFtZXMgYW5kIGRlbGV0aW9uIGluZm8gaW50b5oR5vAAAAFP3jyyXAAQaXRlcyAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguIAAAAQBkIHRvIHNldCBSb3dDYWNoZVByb3ZpZGVyIChDQVNTQU5EUkEtMzQwNSkKICogYWNxdWlyZSBjb21wYWN0aW9ubG9jayBkdXJpbmcgdHJ1bmNhdGUgKENBU1NBTkRSQS0zMzk5KQogKiBmaXggZGlzcGxheWluZyBjZmRlZiBlbnRyaWVzIGZvciBzdXBlciBjb2x1bW5mYW1pbGllcyAoQ0FTU0FORFJBLTM0MTUpCiAqIE1ha2UgY291bnRlciBzaGFyZCBtZXJnaW5nIHRocmVhZCBzYWZlIChDQVNTQU5EUkEtMzE3OCkKICogUmV2ZXJ0IENBU1NBTkRSQS0y1qr9xwAAAU/ePLJcABBSQS0xNDc4KQogKiBmaXggAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4gAAABADMxMjYpCiAqIENMSSBgZGVzY3JpYmUgY2x1c3RlcjtgIG91dHB1dCBzaG91bGQgYmUgb24gc2VwYXJhdGUgbGluZXMgZm9yIHNlcGFyYXRlIHZlcnNpb25zCiAgIChDQVNTQU5EUkEtMzE3MCkKICogZml4IGNoYW5naW5nIGR1cmFibGVfd3JpdGVzIGtleXNwYWNlIG9wdGlvbiBkdXJpbmcgQ0YgY3JlYXRpb24KICAgKENBU1NBTkRSQS0zMjkyKQogKiBhdm9pZCBsb2NraW5nIG9uIHVwZGF0ZSB3aGVuIG5vIGluZGV4ZXMgYXJlIGludm9sdmVkIChDQVNJhi7DAAABT948slwAEGFnZXIgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiAAAAEAb2x2aW5nIHRpbWVzdGFtcCB0aWVzIGRldGVybWluaXN0aWMgYnkgdXNpbmcgdmFsdWUgYnl0ZXMKICAgYXMgYSB0aWVicmVha2VyIChDQVNTQU5EUkEtMTAzOSkKICogQWRkIG9wdGlvbiB0byB0dXJuIG9mZiBIaW50ZWQgSGFuZG9mZiAoQ0FTU0FORFJBLTg5NCkKICogZml4IHdpbmRvd3Mgc3RhcnR1cCAoQ0FTU0FORFJBLTk0OCkKICogbWFrZSBjb25jdXJyZW50X3JlYWRzLCBjb25jdXJyZW50X3dyaXRlcyBjb25maWd1cmFibGUgYXQgcnVudGltZSNzdDgAAAFP3jyyXAAQU0FORFJBLTIxNjUpCgoKMAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguIAAAAQB0aW9uIChkZWZhdWx0aW5nIHRvIAogICB0cnVlKSBhbmQgc2V0IGRlZmF1bHQgYmFkbmVzcyB0aHJlc2hvbGQgdG8gMC4xIChDQVNTQU5EUkEtMzIyOSkKICogQmFzZSBjaG9pY2Ugb2YgcmFuZG9tIG9yICJiYWxhbmNlZCIgdG9rZW4gb24gYm9vdHN0cmFwIG9uIHdoZXRoZXIKICAgc2NoZW1hIGRlZmluaXRpb25zIHdlcmUgZm91bmQgKENBU1NBTkRSQS0zMjE5KQogKiBGaXhlcyBmb3IgTGV2ZWxlZENvbXBhY3Rpb25TdHJhdGVneSBzY29yZSBjb21wO6yndAAAAU/ePLJcABBjdCBjb25zaXN0ZW5jeUxlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4gAAABAGllcyBpbmQgUHJlY29tcGFjdGVkUm93IGFuZCAKICAgUGFyYWxsZWxDb21wYWN0aW9uSXRlcmFibGUgKENBU1NBTkRSQS01Mzk1KQogKiByZW1vdmUgdGhlIGluZGV4IGVudHJ5IG9uIG9sZENvbHVtbiB3aGVuIG5ldyBjb2x1bW4gaXMgYSB0b21ic3RvbmUgCiAgIChDQVNTQU5EUkEtNTM5NSkKICogQ2hhbmdlIGRlZmF1bHQgc3RyZWFtIHRocm91Z2hwdXQgZnJvbSA0MDAgdG8gMjAwIG1icHMgKENBU1NBTkRSQS01MDM2KQogKiBHb3NzaXBlciBsb2dTkuwCAAABT948slwAEG50ZXJmYWNlXSB1c2VmdWwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiAAAAEAQU5EUkEtMjc3OCkKICogY2xlYW4gdXAgdG1wIGZpbGVzIGFmdGVyIGZhaWxlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtMjQ2OCkKICogcmVzdHJpY3QgcmVwYWlyIHN0cmVhbWluZyB0byBzcGVjaWZpYyBjb2x1bW5mYW1pbGllcyAoQ0FTU0FORFJBLTIyODApCiAqIGRvbid0IGJvdGhlciBwZXJzaXN0aW5nIGNvbHVtbnMgc2hhZG93ZWQgYnkgYSByb3cgdG9tYnN0b25lIChDQVNTQU5EUkEtMjU4OSkKICogcmVzZXQgQ0YgYW5kIFNDIGRlbGV0aW9uID574U4AAAFP3jyyXAAQbmRwb2ludCAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguIAAAAQA4MSkKCgowLjYuMQogKiBmaXggTlBFIGluIHNzdGFibGUyanNvbiB3aGVuIG5vIGV4Y2x1ZGVkIGtleXMgYXJlIGdpdmVuIChDQVNTQU5EUkEtOTM0KQogKiBrZWVwIHRoZSByZXBsaWNhIHNldCBjb25zdGFudCB0aHJvdWdob3V0IHRoZSByZWFkIHJlcGFpciBwcm9jZXNzCiAgIChDQVNTQU5EUkEtOTM3KQogKiBhbGxvdyBxdWVyeWluZyBnZXRBbGxSYW5nZXMgd2l0aCBlbXB0eSB0b2tlbiBsaXN0IChDQVNTQU5EUkEtOTMzKQogKiBmaXggY29tbWFunpxpHgAAAU/ePLJcABByZQogICBvbmUgb3IgbW9yAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4gAAABAGluIGphdmEgOCAoQ0FTU0FORFJBLTcyMDgpCiAqIEZpeCBBc3NlcnRpb24gZXJyb3Igb24gUmFuZ2VUb21ic3RvbmVMaXN0IGRpZmYgKENBU1NBTkRSQS04MDEzKQogKiBSZWxlYXNlIHJlZmVyZW5jZXMgdG8gb3ZlcmxhcHBpbmcgc3N0YWJsZXMgZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS03ODE5KQogKiBTZW5kIG5vdGlmaWNhdGlvbiB3aGVuIG9wZW5pbmcgY29tcGFjdGlvbiByZXN1bHRzIGVhcmx5IChDQVNTQU5EUkEtODAzNCkKICogTWGQVCmIAAABT948slwAEGFscyBpbiBDUUwzIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiAAAAEAYW4gb3BlcmF0aW9ucyAoQ0FTU0FORFJBLTE0NzApCiAqIGFkZCBSTUkgYXV0aGVudGljYXRpb24gb3B0aW9ucyB0byBub2RldG9vbCAoQ0FTU0FORFJBLTE5MjEpCiAqIG1ha2Ugc25pdGNoZXMgY29uZmlndXJhYmxlIGF0IHJ1bnRpbWUgKENBU1NBTkRSQS0xMzc0KQogKiByZXRyeSBoYWRvb3Agc3BsaXQgcmVxdWVzdHMgb24gY29ubmVjdGlvbiBmYWlsdXJlIChDQVNTQU5EUkEtMTkyNykKICogaW1wbGVtZW50IGRlc2NyaWJlT3duZXJzaGlwIGZvcicD/60AAAFP3jyyXAAQbnNpYmxlIGZvciB3b3JrIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguIAAAAQAqIFByb3Blcmx5IHJlamVjdCB1bmtub3duIFVEVCBmaWVsZCAoQ0FTU0FORFJBLTc0ODQpCk1lcmdlZCBmcm9tIDIuMDoKICogRml4IENDI2NvbGxlY3RUaW1lT3JkZXJlZERhdGEoKSB0b21ic3RvbmUgb3B0aW1pc2F0aW9ucyAoQ0FTU0FORFJBLTczOTQpCiAqIFN1cHBvcnQgRElTVElOQ1QgZm9yIHN0YXRpYyBjb2x1bW5zIGFuZCBmaXggYmVoYXZpb3VyIHdoZW4gRElTVElOQyBpcwogICBub3QgdXNlIChDQVNTQU5EUkEtNzMwNSkuCiAqIFdvcmthPL6w3gAAAU/ePLJcABBlIFRocmlmdCBzbGljZSBkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4gAAABAGQgZnJvbSAxLjI6CiAqIENvcnJlY3RseSB2YWxpZGF0ZSBzcGFyc2UgY29tcG9zaXRlIGNlbGxzIGluIHNjcnViIChDQVNTQU5EUkEtNTg1NSkKICogQWRkIEtleUNhY2hlSGl0UmF0ZSBtZXRyaWMgdG8gQ0YgbWV0cmljcyAoQ0FTU0FORFJBLTU4NjgpCiAqIGNxbHNoOiBhZGQgc3VwcG9ydCBmb3IgbXVsdGlsaW5lIGNvbW1lbnRzIChDQVNTQU5EUkEtNTc5OCkKICogSGFuZGxlIENRTDMgU0VMRUNUIGR1cGxpY2F0ZSBJTiByZXN0cmljdGlvbnMgb26Fo4GcAAABT948slwAEG46IHdoZW4gZW5hYmxlZCwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiAAAAEAbHVtbnMgKENBU1NBTkRSQS0zODc1KQoKCjEuMC43CiAqIGZpeCByZWdyZXNzaW9uIGluIEhIIHBhZ2Ugc2l6ZSBjYWxjdWxhdGlvbiAoQ0FTU0FORFJBLTM2MjQpCiAqIHJldHJ5IGZhaWxlZCBzdHJlYW0gb24gSU9FeGNlcHRpb24gKENBU1NBTkRSQS0zNjg2KQogKiBhbGxvdyBjb25maWd1cmluZyBibG9vbV9maWx0ZXJfZnBfY2hhbmNlIChDQVNTQU5EUkEtMzQ5NykKICogYXR0ZW1wdCBoaW50IGRlbGl2ZXJ5IGV2ZXJ5IHRlbiBtaW51dGVzLCBvcq2VKLYAAAFP3jyyXAAQdGVzIHJlZnVzZSBpbnZhbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguIAAAAQAgKENBU1NBTkRSQS00NTY2KQogKiBvcHRpbWl6ZSBXcml0ZVJlc3BvbnNlIChDQVNTQU5EUkEtNDU0OCkKICogbmV3IG1ldHJpY3MgKENBU1NBTkRSQS00MDA5KQogKiByZWRlc2lnbiBLRVlTIGluZGV4ZXMgdG8gYXZvaWQgcmVhZC1iZWZvcmUtd3JpdGUgKENBU1NBTkRSQS0yODk3KQogKiBkZWJ1ZyB0cmFjaW5nIChDQVNTQU5EUkEtMTEyMykKICogcGFyYWxsZWxpemUgcm93IGNhY2hlIGxvYWRpbmcgKENBU1NBTkRSQS00MjgyKQogKiBNYWtlIGNvS9IFXgAAAU/ePLJcABB5CiAgIGdlbmVyYXRlcywgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4gAAABACBOUEUgZHVyaW5nIHN0cmVhbSBzZXNzaW9uIChDQVNTQU5EUkEtMjM3NykKICogZml4IHJhY2UgY29uZGl0aW9uIHRoYXQgY291bGQgbGVhdmUgb3JwaGFuZWQgZGF0YSBmaWxlcyB3aGVuIGRyb3BwaW5nIENGIG9yCiAgIEtTIChDQVNTQU5EUkEtMjM4MSkKICogZnN5bmMgc3RhdGlzdGljcyBjb21wb25lbnQgb24gd3JpdGUgKENBU1NBTkRSQS0yMzgyKQogKiBmaXggZHVwbGljYXRlIHJlc3VsdHMgZnJvbSBDRlMuc2NhbiAoQ0FTU0FORFJBLTI0MDYb1qCFABQMfkzKGaYAAAFP3jyyXAAQQS02MTUyKQogKiBTa2lwIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguIgAAAQBpbGVkIGJ1dCBUYXNrVHJhY2tlcgogICBoYXMgbm90IChDQVNTQU5EUkEtMjM4OCkKICogZml4IGR5bmFtaWMgc25pdGNoIGlnbm9yaW5nIG5vZGVzIHdoZW4gcmVhZF9yZXBhaXJfY2hhbmNlIGlzIHplcm8KICAgKENBU1NBTkRSQS0yNjYyKQogKiBhdm9pZCByZXRhaW5pbmcgcmVmZXJlbmNlcyB0byBkcm9wcGVkIENGUyBvYmplY3RzIGluIAogICBDb21wYWN0aW9uTWFuYWdlci5lc3RpbWF0ZWRDb21wYWN0aW9ucyAoQ0FTU0FORFJBLTI3MDgpCiAq/6Xc/wAAAU/ePLJcABBlY29uZCB0aW1lc3RhbXBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4iAAABACBvdXRwdXQgKENBU1NBTkRSQS02Mjg5KQogKiBGaXggYXR0ZW1wdGluZyB0byBmbHVzaCBlbXB0eSByb3dzIChDQVNTQU5EUkEtNjM3NCkKICogRml4IHBvdGVudGlhbCBvdXQgb2YgYm91bmRzIGV4Y2VwdGlvbiB3aGVuIHBhZ2luZyAoQ0FTU0FORFJBLTYzMzMpCk1lcmdlZCBmcm9tIDEuMjoKICogT3B0aW1pemUgRkQgcGhpIGNhbGN1bGF0aW9uIChDQVNTQU5EUkEtNjM4NikKICogSW1wcm92ZSBpbml0aWFsIEZEIHBoaSBlc3RpbWF0ZSB3aGVuIHOtIRopAAABT948slwAEG5lIGluZGV4IHNjYW4gcmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiIAAAEAICogSW1wcm92ZSByZXBhaXIgdGFza3Moc25hcHNob3QsIGRpZmZlcmVuY2luZykgY29uY3VycmVuY3kgKENBU1NBTkRSQS02NTY2KQogKiBGaXggcmVwbGF5aW5nIHByZS0yLjAgY29tbWl0IGxvZ3MgKENBU1NBTkRSQS02NzE0KQogKiBBZGQgc3RhdGljIGNvbHVtbnMgdG8gQ1FMMyAoQ0FTU0FORFJBLTY1NjEpCiAqIE9wdGltaXplIHNpbmdsZSBwYXJ0aXRpb24gYmF0Y2ggc3RhdGVtZW50cyAoQ0FTU0FORFJBLTY3MzcpCiAqIERpc2FsbG93IHBvc+gaDMsAAAFP3jyyXAAQRFJBLTUyMzApCk1lcmdlZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguIgAAAQBudHV0aWwuamFyIHRvIEZCVXRpbGl0aWVzIChDQVNTQU5EUkEtMzI5OSkKICogYXZvaWQgdHJ1bmNhdGlvbiBlcnJvcnMgYnkgdXNpbmcgbG9uZyBtYXRoIG9uIGxvbmcgdmFsdWVzIChDQVNTQU5EUkEtMzM2NCkKICogYXZvaWQgY2xvY2sgZHJpZnQgb24gc29tZSBXaW5kb3dzIG1hY2hpbmUgKENBU1NBTkRSQS0zMzc1KQogKiBkaXNwbGF5IGNhY2hlIHByb3ZpZGVyIGluIGNsaSAnZGVzY3JpYmUga2V5c3BhY2UnIGNvbW1hbmQgKENBU1NBTkRSQS0z1BQO9AAAAU/ePLJcABAtMTMwMikKICogbWFrZSBHAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4iAAABAGhhbmcgd2hlbiBnaXZlbiBDRiBkb2VzIG5vdCBleGlzdCAoQ0FTU0FORFJBLTcxODkpCiAqIEFsbG93IGMqIHRvIGJlIHNodXRkb3duIGluIGFuIGVtYmVkZGVkIG1vZGUgKENBU1NBTkRSQS01NjM1KQogKiBBZGQgc2VydmVyIHNpZGUgYmF0Y2hpbmcgdG8gbmF0aXZlIHRyYW5zcG9ydCAoQ0FTU0FORFJBLTU2NjMpCiAqIE1ha2UgYmF0Y2hsb2cgcmVwbGF5IGFzeW5jaHJvbm91cyAoQ0FTU0FORFJBLTYxMzQpCiAqIHJlbW92ZSB1bnVzZWQgY2xhc3PNF6+FAAABT948slwAEGZyb20gMi4wOgogKiAoV2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiIAAAEAU0FORFJBLTEwMzQsIDM1NzQsIDM2MDQpCiAqIGFsd2F5cyByZW1vdmUgZW5kcG9pbnRzIGZyb20gZGVsZXZlcnkgcXVldWUgaW4gSEggKENBU1NBTkRSQS0zNTQ2KQogKiBmaXggcmFjZSBiZXR3ZWVuIGNmIGZsdXNoIGFuZCBpdHMgMm5kYXJ5IGluZGV4ZXMgZmx1c2ggKENBU1NBTkRSQS0zNTQ3KQogKiBmaXggcG90ZW50aWFsIHJhY2UgaW4gQUVTIHdoZW4gYSByZXBhaXIgZmFpbHMgKENBU1NBTkRSQS0zNTQ4KQogKiBSZW1vdmUgY29sdW1ucyBzaFBoV84AAAFP3jyyXAAQIHNpemVzIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguIgAAAQBsIChDQVNTQU5EUkEtNDYzMykKICogQWRkIHNzdGFibGUgY291bnQgcGVyIGxldmVsIHRvIGNmc3RhdHMgKENBU1NBTkRSQS00NTM3KQogKiAoY3FsMykgQWRkIEFMVEVSIEtFWVNQQUNFIHN0YXRlbWVudCAoQ0FTU0FORFJBLTQ2MTEpCiAqIChjcWwzKSBBbGxvdyBkZWZpbmluZyBkZWZhdWx0IGNvbnNpc3RlbmN5IGxldmVscyAoQ0FTU0FORFJBLTQ0NDgpCiAqIChjcWwzKSBGaXggcXVlcmllcyB1c2luZyBMSU1JVCBtaXNzaW5nIHJlc3VsdHMgKENBlR1XIwAAAU/ePLJcABA0KQogKiBjbGkgc3VwcG9yAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4iAAABAFRBQkxFIG92ZXJyaWRpbmcgY29tcHJlc3Npb24gb3B0aW9ucyB3aXRoIGRlZmF1bHRzCiAgIChDQVNTQU5EUkEtNDk5NiwgNTA2NikKICogZml4IHNwZWNpZnlpbmcgYW5kIGFsdGVyaW5nIGNyY19jaGVja19jaGFuY2UgKENBU1NBTkRSQS01MDUzKQogKiBmaXggTXVybXVyM1BhcnRpdGlvbmVyIG93bmVyc2hpcCUgY2FsY3VsYXRpb24gKENBU1NBTkRSQS01MDc2KQogKiBEb24ndCBleHBpcmUgY29sdW1ucyBzb29uZXIgdGhhbiB0aGV5IHNob3VsZCBjX9o8AAABT948slwAEHNuYXBzaG90X2JlZm9yZV8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiIAAAEAL2Ryb3AgKENBU1NBTkRSQS0yMzUwKQogKiBhZGQgQ29uc2lzdGVuY3lMZXZlbCBjb21tYW5kIHRvIENMSSAoQ0FTU0FORFJBLTIzNTQpCiAqIGFsbG93IG5lZ2F0aXZlIG51bWJlcnMgaW4gdGhlIGNsaSAoQ0FTU0FORFJBLTIzNTgpCiAqIGhhcmQgY29kZSBzZXJpYWxWZXJzaW9uVUlEIGZvciB0b2tlbnMgY2xhc3MgKENBU1NBTkRSQS0yMzYxKQogKiBmaXggcG90ZW50aWFsIGluZmluaXRlIGxvb3AgaW4gQnl0ZUJ1ZmZlclV0aWwuaW5wdXRTdHJlYbMTMlYAAAFP3jyyXAAQSEVNQSB2YXJpYW50IChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguIgAAAQBmaXggbm9kZXRvb2wgcmluZyB1c2Ugd2l0aCBFYzJTbml0Y2ggKENBU1NBTkRSQS0yNzMzKQogKiBmaXggcmVtb3ZpbmcgY29sdW1ucyBhbmQgc3ViY29sdW1ucyB0aGF0IGFyZSBzdXByZXNzZWQgYnkgYSByb3cgb3IKICAgc3VwZXJjb2x1bW4gdG9tYnN0b25lIGR1cmluZyByZXBsaWNhIHJlc29sdXRpb24gKENBU1NBTkRSQS0yNTkwKQogKiBzdXBwb3J0IHNzdGFibGUyanNvbiBhZ2FpbnN0IHNuYXBzaG90IHNzdGFibGVzIChDQVNTQU5EUkEtMjM4bp9pBAAAAU/ePLJcABBvdW50ZXJDb2x1bW4jcmVjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4iAAABAHN0YWJsZXMgYWZ0ZXIgY2xlYW51cCBhbmQgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTYyMSkKICogU3BlZWQgdXAgYW50aS1lbnRyb3B5IHZhbGlkYXRpb24gKENBU1NBTkRSQS02MjkpCiAqIEZpeCBhbnRpLWVudHJvcHkgYXNzZXJ0aW9uIGVycm9yIChDQVNTQU5EUkEtNjM5KQogKiBGaXggcGVuZGluZyByYW5nZSBjb25mbGljdHMgd2hlbiBib290c3RhcHBpbmcgb3IgbW92aW5nCiAgIG11bHRpcGxlIG5vZGVzIGF0IG9uY2UgKENBU1NBTkRSQS02MDOt73ifAAABT948slwAEFJST1IgdG8gREVCVUcgd2gAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiIAAAEAIHdoZW4gd3JpdGluZyB3aXRoIAogICBDb25zaXN0ZW5jeUxldmVsLlpFUk8gKENBU1NBTkRSQS0zOTkpCiAqIEZpeGVzIHRvIG1ha2UgQmluYXJ5TWVtdGFibGUgW2J1bGsgbG9hZCBpbnRlcmZhY2VdIHVzZWZ1bCAoQ0FTU0FORFJBLTMzNyk7CiAgIHNlZSBjb250cmliL2JtdF9leGFtcGxlIGZvciBhbiBleGFtcGxlIG9mIHVzaW5nIGl0LgogKiBNb3JlIEpNWCBwcm9wZXJ0aWVzIGFkZGVkIChzZXZlcmFsIHRpY2tldHMpCiAqIFRocmlmdCBjaGFuZ9KB/iwAAAFP3jyyXAAQYWxjdWxhdGlvbnMgZm9yIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguIgAAAQBlc3RhbXAgY29sdW1ucyAoQ0FTU0FORFJBLTU5MjgpCiAqIEZpeCBTU1RhYmxlIHVuaW50ZW50aW9uYWxseSBsb2FkcyBCRiB3aGVuIG9wZW5lZCBmb3IgYmF0Y2ggKENBU1NBTkRSQS01OTM4KQogKiBBZGQgc3RyZWFtIHNlc3Npb24gcHJvZ3Jlc3MgdG8gSk1YIChDQVNTQU5EUkEtNDc1NykKICogRml4IE5QRSBkdXJpbmcgQ0FTIG9wZXJhdGlvbiAoQ0FTU0FORFJBLTU5MjUpCk1lcmdlZCBmcm9tIDEuMjoKICogRml4IGdldEJsb29tRmlsdGVyRGlzJYVI2gAAAU/ePLJcABB0CiAgIGxpdmUgbm9kZXMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4iAAABAGNvbHVtbiBhcyAiYXBwbHkgdGhpcyBwcmVkaWNhdGUgCiAgIHRvIHRvcCBsZXZlbCBzdXBlcmNvbHVtbnMiIChDQVNTQU5EUkEtODM0KQogKiBTdHJlYW1pbmcgZGVzdGluYXRpb24gbm9kZXMgZG8gbm90IHVwZGF0ZSB0aGVpciBKTVggc3RhdHVzIChDQVNTQU5EUkEtOTE2KQogKiBGaXggaW50ZXJuYWwgUlBDIHRpbWVvdXQgY2FsY3VsYXRpb24gKENBU1NBTkRSQS05MTEpCiAqIEFkZGVkIFBpZyBsb2FkZnVuYyB0byBjb250cmliL3BpZyAoQ0FTU0H31cF1AAABT948slwAEERSQS00MDYzKQpNZXJnZWQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiIAAAEAQ0FTU0FORFJBLTM3NDMpCiAqIChIYWRvb3ApIHNlcGFyYXRlIGlucHV0L291dHB1dCBjb25maWd1cmF0aW9ucyAoQ0FTU0FORFJBLTMxOTcsIDM3NjUpCiAqIGF2b2lkIHJldHVybmluZyBpbnRlcm5hbCBDYXNzYW5kcmEgY2xhc3NlcyBvdmVyIEpNWCAoQ0FTU0FORFJBLTI4MDUpCiAqIGFkZCByb3ctbGV2ZWwgaXNvbGF0aW9uIHZpYSBTbmFwVHJlZSAoQ0FTU0FORFJBLTI4OTMpCiAqIE9wdGltaXplIGtleSBjb3VudCBlc3RpbWF0aW9uIHdoZW4gbzBLJOYAFCDbwoFn/wAAAU/ePLJcABBORFJBLTUzMDkpCiAqIFJlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4kAAABAFNBTkRSQS00MTcwKQogKiAoY3FsKSBUaHJvdyBpbnZhbGlkIGV4Y2VwdGlvbiBmcm9tIENRTDMgb24gb2Jzb2xldGUgb3B0aW9ucyAoQ0FTU0FORFJBLTQxNzEpCiAqIChjcWxzaCkgZml4IHJlY29nbml6aW5nIHVwcGVyY2FzZSBTRUxFQ1Qga2V5d29yZCAoQ0FTU0FORFJBLTQxNjEpCiAqIFBpZzogd2lkZSByb3cgc3VwcG9ydCAoQ0FTU0FORFJBLTM5MDkpCk1lcmdlZCBmcm9tIDEuMDoKICogYXZvaWQgc3RyZWFtaW5nIGVtcHR5IGZpbGVzIHdpdGhs10cWAAABT948slwAECBzdXBwb3J0IGZvciBjb20AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiQAAAEAY29tbXVuaWNhdGlvbiAoQ0FTU0FORFJBLTU4ODcpCiAqIFN0b3AgdXNpbmcgVGhyaWZ0LWdlbmVyYXRlZCBJbmRleCogY2xhc3NlcyBpbnRlcm5hbGx5IChDQVNTQU5EUkEtNTk3MSkKICogUmVtb3ZlIDEuMiBuZXR3b3JrIGNvbXBhdGliaWxpdHkgY29kZSAoQ0FTU0FORFJBLTU5NjApCiAqIFJlbW92ZSBsZXZlbGVkIGpzb24gbWFuaWZlc3QgbWlncmF0aW9uIGNvZGUgKENBU1NBTkRSQS01OTk2KQogKiBSZW1vdmUgQ0ZEZWZpbml0aW9uIChDQVNTQaLCzMUAAAFP3jyyXAAQeCBoYW5kbGluZyBvZiBleAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguJAAAAQBsaWNlIGl0ZXJhdGlvbiBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTM1NDUpCiAqIG1vcmUgZWZmaWNpZW50IGFsbG9jYXRpb24gb2Ygc21hbGwgYmxvb20gZmlsdGVycyAoQ0FTU0FORFJBLTM2MTgpCiAqIFVzZSBzZXBhcmF0ZSB3cml0ZXIgdGhyZWFkIGluIFNTVGFibGVTaW1wbGVVbnNvcnRlZFdyaXRlciAoQ0FTU0FORFJBLTM2MTkpCiAqIGZzeW5jIHRoZSBkaXJlY3RvcnkgYWZ0ZXIgbmV3IHNzdGFibGUgb3IgY29tbWl0bG9nIHNlZ21lbnQgYXJllPosiQAAAU/ePLJcABBTU0FORFJBLTIzODIpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4kAAABAHJzIGluc2lkZSB1c2VyIHR5cGVzIChDQVNTQU5EUkEtNzY3MikKICogU3dpdGNoIHRvIG5vdGlmaWNhdGlvbi1iYXNlZCBHQ0luc3BlY3RvciAoQ0FTU0FORFJBLTc2MzgpCiAqIChjcWxzaCkgSGFuZGxlIG51bGxzIGluIFVEVHMgYW5kIHR1cGxlcyBjb3JyZWN0bHkgKENBU1NBTkRSQS03NjU2KQogKiBEb24ndCB1c2Ugc3RyaWN0IGNvbnNpc3RlbmN5IHdoZW4gcmVwbGFjaW5nIChDQVNTQU5EUkEtNzU2OCkKICogRml4IG1pbi9tYXggY2VsbCBuYW1YP474AAABT948slwAEG1vcmUgcHJvdG9jb2wgZXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiQAAAEAbmFtZXMgKENBU1NBTkRSQS0xODEwKQogKiBpbXByb3ZlZCB2YWxpZGF0aW9uIG9mIGNvbHVtbl9tZXRhZGF0YSAoQ0FTU0FORFJBLTE4MTMpCiAqIHJlYWRzIGF0IENvbnNpc3RlbmN5TGV2ZWwgPiAxIHRocm93IFVuYXZhaWxhYmxlRXhjZXB0aW9uCiAgIGltbWVkaWF0ZWx5IGlmIGluc3VmZmljaWVudCBsaXZlIG5vZGVzIGV4aXN0IChDQVNTQU5EUkEtMTgwMykKICogY29weSBieXRlYnVmZmVycyBmb3IgbG9jYWwgd3JpdGVzIHRvIGF2b2lkIHJldJaotJ4AAAFP3jyyXAAQIC1EIG9wdGlvbiB0byBTdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguJAAAAQBTU0FORFJBLTE3NDAsIDM1NjYsIDM1ODIpCiAqIG11bHRpdGhyZWFkZWQgc3RyZWFtaW5nIChDQVNTQU5EUkEtMzQ5NCkKICogcmVtb3ZlZCBpbi10cmVlIHJlZGhhdCBzcGVjIChDQVNTQU5EUkEtMzU2NykKICogImRlZnJhZ21lbnQiIHJvd3MgZm9yIG5hbWUtYmFzZWQgcXVlcmllcyB1bmRlciBTVENTLCBhZ2FpbiAoQ0FTU0FORFJBLTI1MDMpCiAqIFJlY3ljbGUgY29tbWl0bG9nIHNlZ21lbnRzIGZvciBpbXByb3ZlZCBwZXJmb3JtYW5jZSAKICAg2IAWnwAAAU/ePLJcABByaWZ0IGNsaWVudHMgKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4kAAABACAqIChDUUwpIFNFTEVDVCBxdWVyeSBzaG91bGQgYWxsb3cgQ0YgbmFtZSB0byBiZSBxdWFsaWZpZWQgYnkga2V5c3BhY2UgKENBU1NBTkRSQS0zMTMwKQogKiAoQ1FMKSBGaXggaW50ZXJuYWwgYXBwbGljYXRpb24gZXJyb3Igc3BlY2lmeWluZyAndXNpbmcgY29uc2lzdGVuY3kgLi4uJwogICBpbiBsb3dlciBjYXNlIChDQVNTQU5EUkEtMzM2NikKICogZml4IERlZmxhdGUgY29tcHJlc3Npb24gd2hlbiBjb21wcmVzc2lvbiBhY3R1YWxseSBtYWtlcyAb3MAZAAABT948slwAECBmaW5pc2hpbmcgYSByb3cAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiQAAAEAb3VnaCB0byB0aHJlYXRlbiBub2RlIHN0YWJpbGl0eSwgYW5kIC14IG9wdGlvbiB0bwogICBiZSBhYmxlIHRvIHJlbW92ZSB0aGVtIHdpdGggc3N0YWJsZTJqc29uIGlmIHRoZSB3YXJuaW5nIGlzIHVuaGVlZGVkCiAgIHVudGlsIGl0J3MgdG9vIGxhdGUgKENBU1NBTkRSQS04NDMpCiAqIEFkZCBsb2dnaW5nIG9mIEdDIGFjdGl2aXR5IChDQVNTQU5EUkEtODEzKQogKiBmaXggQ29uY3VycmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlvbiBpbiBjb21taXRsb9LNClAAAAFP3jyyXAAQKQogKiBGaXggQ2Fzc2FuZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguJAAAAQBvbXBhY3RlZCBmb3Igc25hcHNob3RfYmVmb3JlX2NvbXBhY3Rpb24gCiAgIChDQVNTQU5EUkEtMzgwMykKICogTG9nIGFjdGl2ZSBjb21wYWN0aW9ucyBpbiBTdGF0dXNMb2dnZXIgKENBU1NBTkRSQS0zNzAzKQogKiBDb21wdXRlIG1vcmUgYWNjdXJhdGUgY29tcGFjdGlvbiBzY29yZSBwZXIgbGV2ZWwgKENBU1NBTkRSQS0zNzkwKQogKiBSZXR1cm4gSW52YWxpZFJlcXVlc3Qgd2hlbiB1c2luZyBhIGtleXNwYWNlIHRoYXQgZG9lc24ndCBleGlzdAogqwcJXgAAAU/ePLJcABB0cHV0IChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4kAAABAGhvdWxkIGJlID49IDIgKENBU1NBTkRSQS0zMzQyKQogKiAoUGlnKSBhZGQgMC44KyB0eXBlcyBhbmQga2V5IHZhbGlkYXRpb24gdHlwZSBpbiBzY2hlbWEgKENBU1NBTkRSQS0zMjgwKQogKiBGaXggY29tcGxldGVseSByZW1vdmluZyBjb2x1bW4gbWV0YWRhdGEgdXNpbmcgQ0xJIChDQVNTQU5EUkEtMzEyNikKICogQ0xJIGBkZXNjcmliZSBjbHVzdGVyO2Agb3V0cHV0IHNob3VsZCBiZSBvbiBzZXBhcmF0ZSBsaW5lcyBmb3Igc2VwYXJhdGUgdmVyc2kNMTA0AAABT948slwAEGxlIHRocmVzaG9sZHMgZHUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiQAAAEAIHNlY29uZGFyeSBpbmRleGVzIGluIGNsZWFudXAgKENBU1NBTkRSQS0xOTE2KQogKiBDRlMuc2NydWJEYXRhRGlyZWN0b3JpZXMgc2hvdWxkIGFsc28gY2xlYW51cCBpbnZhbGlkIHNlY29uZGFyeSBpbmRleGVzCiAgIChDQVNTQU5EUkEtMTkwNCkKICogYWJpbGl0eSB0byBkaXNhYmxlL2VuYWJsZSBnb3NzaXAgb24gbm9kZXMgdG8gZm9yY2UgdGhlbSBkb3duCiAgIChDQVNTQU5EUkEtMTEwOCkKCgowLjcuMC1yYzMKICogZXhwb3NlIGdldE5hdHVyYSiebkQAAAFP3jyyXAAQIDMxNjUsIDMyMDUpCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguJAAAAQAgdG8gREVCVUcgd2hlbiBhIHNjaGVkdWxlZCBzY2hlbWEgcHVsbAogICBjYW5ub3QgYmUgY29tcGxldGVkIGR1ZSB0byBhIG5vZGUgYmVpbmcgZG93biAoQ0FTU0FORFJBLTkwMzIpCiAqIEZpeCBNT1ZFRF9OT0RFIGNsaWVudCBldmVudCAoQ0FTU0FORFJBLTg1MTYpCiAqIEFsbG93IG92ZXJyaWRpbmcgTUFYX09VVFNUQU5ESU5HX1JFUExBWV9DT1VOVCAoQ0FTU0FORFJBLTc1MzMpCiAqIEZpeCBtYWxmb3JtZWQgSk1YIE9iamVjdE5hbWUgY29udGFpsTH3tAAAAU/ePLJcABAgY29tcHJlc3Npb24gb3B0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4kAAABAGVudGlhdGUgZnJvbSByZXNwb25zZXMgcmVsYXRlZAogICB0byBjbGllbnQgcmVxdWVzdHMgKENBU1NBTkRSQS0xNjg1KQogKiBsb2cgdHBzdGF0cyB3aGVuIGRyb3BwaW5nIG1lc3NhZ2VzIChDQVNTQU5EUkEtMTY2MCkKICogaW5jbHVkZSB1bnJlYWNoYWJsZSBub2RlcyBpbiBkZXNjcmliZVNjaGVtYVZlcnNpb25zIChDQVNTQU5EUkEtMTY3OCkKICogQXZvaWQgZHJvcHBpbmcgbWVzc2FnZXMgb2ZmIHRoZSBjbGllbnQgcmVxdWVzdCBwYXRoIChDQVOrwdHnAAABT948slwAEEFsbG93IGFsdGVyIGtleXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiQAAAEAbWV0cmljIGZvciBhIENGIChDQVNTQU5EUkEtNjM5MSkKICogY3Fsc2g6IGhhbmRsZSBzeW1saW5rcyBwcm9wZXJseSAoQ0FTU0FORFJBLTY0MjUpCiAqIEZpeCBwb3RlbnRpYWwgaW5maW5pdGUgbG9vcCB3aGVuIHBhZ2luZyBxdWVyeSB3aXRoIElOIChDQVNTQU5EUkEtNjQ2NCkKICogRml4IGFzc2VydGlvbiBlcnJvciBpbiBBYnN0cmFjdFF1ZXJ5UGFnZXIuZGlzY2FyZEZpcnN0IChDQVNTQU5EUkEtNjQ0NykKICogRml4IHN0cmVhbWluZyBvbGRlciD4ZpsAAAFP3jyyXAAQZ2UgZG9lcyAKICAgbm90IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguJAAAAQAgKENBU1NBTkRSQS02MTE0KQogKiBBZGQgYSB3YXJuaW5nIGZvciBzbWFsbCBMQ1Mgc3N0YWJsZSBzaXplIChDQVNTQU5EUkEtNjE5MSkKICogQWRkIGFiaWxpdHkgdG8gbGlzdCBzcGVjaWZpYyBLUy9DRiBjb21iaW5hdGlvbnMgaW4gbm9kZXRvb2wgY2ZzdGF0cyAoQ0FTU0FORFJBLTQxOTEpCiAqIE1hcmsgQ0YgY2xlYW4gaWYgYSBtdXRhdGlvbiByYWNlZCB0aGUgZHJvcCBhbmQgZ290IGl0IG1hcmtlZCBkaXJ0eSAoQ0FTU0FORFJBLTU5NDYpCiAqbu0OzAAUNThdDFs2AAABT948slwAECAoQ0FTU0FORFJBLTY3NTkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiYAAAEAZGVsZXRpbmcgdGhlIG5ld2x5LWNyZWF0ZWQgc2VnbWVudCBhcyB3ZWxsIGFzCiAgIHRoZSBvbGQgb25lcyAoQ0FTU0FORFJBLTE2NDQpCiAqIHVwZ3JhZGUgdG8gVGhyaWZ0IDAuNSAoQ0FTU0FORFJBLTEzNjcpCiAqIHJlbmFtZWQgQ0wuRENRVU9SVU0gdG8gTE9DQUxfUVVPUlVNIGFuZCBEQ1FVT1JVTVNZTkMgdG8gRUFDSF9RVU9SVU0KICogY2xpIHRydW5jYXRlIHN1cHBvcnQgKENBU1NBTkRSQS0xNjUzKQogKiB1cGRhdGUgR0Mgc2V0dGluZ3Mgaf/zJhsAAAFP3jyyXAAQY29uZnVzaW5nIGluZm8gdwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguJgAAAQBpdGUgY2VsbHMgaW4gc2NydWIgKENBU1NBTkRSQS01ODU1KQogKiBBZGQgS2V5Q2FjaGVIaXRSYXRlIG1ldHJpYyB0byBDRiBtZXRyaWNzIChDQVNTQU5EUkEtNTg2OCkKICogY3Fsc2g6IGFkZCBzdXBwb3J0IGZvciBtdWx0aWxpbmUgY29tbWVudHMgKENBU1NBTkRSQS01Nzk4KQogKiBIYW5kbGUgQ1FMMyBTRUxFQ1QgZHVwbGljYXRlIElOIHJlc3RyaWN0aW9ucyBvbiBjbHVzdGVyaW5nIGNvbHVtbnMKICAgKENBU1NBTkRSQS01ODU2KQoKCjIuMC4wtDITXAAAAU/ePLJcABBlc2lnbjsgbm8gbW9yZSBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4mAAABAHMgb2YgdGhlIHNhbWUgc3N0YWJsZXMKICAgKENBU1NBTkRSQS01MjU2KQogKiBhdm9pZCBuby1vcCBjYWNoaW5nIG9mIGJ5dGVbXSBvbiBjb21taXRsb2cgYXBwZW5kIChDQVNTQU5EUkEtNTE5OSkKICogZml4IHN5bWxpbmtzIHVuZGVyIGRhdGEgZGlyIG5vdCB3b3JraW5nIChDQVNTQU5EUkEtNTE4NSkKICogZml4IGJ1ZyBpbiBjb21wYWN0IHN0b3JhZ2UgbWV0YWRhdGEgaGFuZGxpbmcgKENBU1NBTkRSQS01MTg5KQogKiBWYWxpZGF0ZSBsb2dpbiA5y7DSAAABT948slwAEG92ZW1lbnRzIChzZXZlcmEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiYAAAEAc0NhY2hlZEZyYWN0aW9uIGNvbmZpZ3VyYXRpb24gZGlyZWN0aXZlIGluIGZhdm9yCiAgIG9mIEtleXNDYWNoZWQ7IG1vdmUgdG8gdW5pZmllZC1wZXItQ0Yga2V5IGNhY2hlIChDQVNTQU5EUkEtODAxKQogKiBhZGQgaW52YWxpZGF0ZVJvd0NhY2hlIHRvIENvbHVtbkZhbWlseVN0b3JlTUJlYW4gKENBU1NBTkRSQS03NjEpCiAqIHNlbmQgSGFuZG9mZiBoaW50cyB0byBuYXR1cmFsIGxvY2F0aW9ucyB0byByZWR1Y2UgbG9hZCBvbgogICByZW1haW5pbtqpRf0AAAFP3jyyXAAQeXN0ZW0gdGFibGUgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguJgAAAQB0aW5nIGtleXNwYWNlIG1ldGFkYXRhIChDQVNTQU5EUkEtMTc0MSkKICogZml4IHdyYXBwaW5nLXJhbmdlIHF1ZXJpZXMgb24gbm9uLW1pbmltdW0gdG9rZW4gKENBU1NBTkRSQS0xNzAwKQogKiB0cnVuY2F0ZSBpbmNsdWRlcyBzZWNvbmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTE3NDcpCiAqIHJldGFpbiByZWZlcmVuY2UgdG8gUGVuZGluZ0ZpbGUgc3N0YWJsZXMgKENBU1NBTkRSQS0xNzQ5KQogKiBmaXggc3N0YWJsZWltcG9ydCByZWdyZXNzaW9uETO0ZwAAAU/ePLJcABByIHVuaXF1ZSBrZXkgZm9yAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4mAAABACBidWlsZCBmYWlsdXJlIGR1ZSB0byBBTlRMUiB0aW1lb3V0IChDQVNTQU5EUkEtNjk5MSkKICogUXVlcmllcyBvbiBjb21wYWN0IHRhYmxlcyBjYW4gcmV0dXJuIG1vcmUgcm93cyB0aGF0IHJlcXVlc3RlZCAoQ0FTU0FORFJBLTcwNTIpCiAqIFVTSU5HIFRJTUVTVEFNUCBmb3IgYmF0Y2hlcyBkb2VzIG5vdCB3b3JrIChDQVNTQU5EUkEtNzA1MykKICogRml4IHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24gZnJvbSBDQVNTQU5EUkEtNTYxNCAoQ0FTU0FORFLHkxClAAABT948slwAEGFkZXNzdGFibGVzIE5QRSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiYAAAEAcHBpbmcgcmVzdWx0cyAoQ0FTU0FORFJBLTM5OTYpCiAqIFJlbW92ZSBzbGljZWRfYnVmZmVyX3NpemVfaW5fa2IgZGVhZCBvcHRpb24gKENBU1NBTkRSQS00MDc2KQogKiBtYWtlIGxvYWROZXdTU3RhYmxlIHByZXNlcnZlIHNzdGFibGUgdmVyc2lvbiAoQ0FTU0FORFJBLTQwNzcpCiAqIFJlc3BlY3QgMS4wIGNhY2hlIHNldHRpbmdzIGFzIG11Y2ggYXMgcG9zc2libGUgd2hlbiB1cGdyYWRpbmcgCiAgIChDQVNTQU5EUkEtNDA4OCkKICogcmVsYXggcFAJUfwAAAFP3jyyXAAQRVBFeGVjdXRvciAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguJgAAAQA4MjkxKQogKiBJbXByb3ZlIEpCT0QgZGlzayB1dGlsaXphdGlvbiAoQ0FTU0FORFJBLTczODYpCiAqIExvZyBmYWlsZWQgaG9zdCB3aGVuIHByZXBhcmluZyBpbmNyZW1lbnRhbCByZXBhaXIgKENBU1NBTkRSQS04MjI4KQogKiBGb3JjZSBjb25maWcgY2xpZW50IG1vZGUgaW4gQ1FMU1NUYWJsZVdyaXRlciAoQ0FTU0FORFJBLTgyODEpCiAqIEZpeCBzc3RhYmxldXBncmFkZSB0aHJvd3MgZXhjZXB0aW9uIChDQVNTQU5EUkEtODY4OCkKICogRml4IGhh3Ft6ugAAAU/ePLJcABAKCgowLjcuMC1iZXRhMwogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4mAAABAGRlc2NyaWJlIHRocmlmdCBDRnMgKENBU1NBTkRSQS00ODI3KQogKiBjcWxzaDogZml4IHRpbWVzdGFtcCBmb3JtYXR0aW5nIG9uIHNvbWUgcGxhdGZvcm1zIChDQVNTQU5EUkEtNTA0NikKCgoxLjItYmV0YTMKICogbWFrZSBjb25zaXN0ZW5jeSBsZXZlbCBjb25maWd1cmFibGUgaW4gY3Fsc2ggKENBU1NBTkRSQS00ODI5KQogKiBmaXggY3Fsc2ggcmVuZGVyaW5nIG9mIGJsb2IgZmllbGRzIChDQVNTQU5EUkEtNDk3MCkKICogZml4IGNxbHNoIERFU0NF+kjqAAABT948slwAEEEtNzcxMSkKICogQmV0dGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiYAAAEAbWlseS5zaXplLCB3aGljaCBjYW4gcHJldmVudCBPT00KICAgZHVyaW5nIHN1ZGRlbiBtYXNzIGRlbGV0ZSBvcGVyYXRpb25zIGJ5IHlpZWxkaW5nIGEgbm9uemVybyBsaXZlUmF0aW8KICAgKENBU1NBTkRSQS0zNzQxKQogKiBPcGVuIDEgc3N0YWJsZVNjYW5uZXIgcGVyIGxldmVsIGZvciBsZXZlbGVkIGNvbXBhY3Rpb24gKENBU1NBTkRSQS00MTQyKQogKiBPcHRpbWl6ZSByZWFkcyB3aGVuIHJvdyBkZWxldGlvbiB0aW1lc3RhbXBzIGFsbG93IHVzIGWCf/AAAAFP3jyyXAAQCiAqIFZhbGlkYXRlIFNsaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguJgAAAQBORFJBLTU0NzYpCiAqIGFsbG93IHNzdGFibGUyanNvbiBvbiAyaSBDRnMgKENBU1NBTkRSQS01Njk0KQpNZXJnZWQgZnJvbSAxLjE6CiAqIFJlbW92ZSBidWdneSB0aHJpZnQgbWF4IG1lc3NhZ2UgbGVuZ3RoIG9wdGlvbiAoQ0FTU0FORFJBLTU1MjkpCiAqIEZpeCBOUEUgaW4gUGlnJ3Mgd2lkZXJvdyBtb2RlIChDQVNTQU5EUkEtNTQ4OCkKICogQWRkIHNwbGl0IHNpemUgcGFyYW1ldGVyIHRvIFBpZyBhbmQgZGlzYWJsZSBzcGxpdCBjb21iaW5hdGlv29S8cQAAAU/ePLJcABAgZml4IEZEIGxlYWsgaW4gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4mAAABADIgZnJhY3Rpb24gZGlnaXRzIChDQVNTQU5EUkEtMzQ2MCkKICogYWRkIGF1dGhlbnRpY2F0aW9uIHN1cHBvcnQgdG8gc3N0YWJsZWxvYWRlciAoQ0FTU0FORFJBLTQ3MTIpCiAqIEZpeCBDUUwzICdpcyByZXZlcnNlZCcgbG9naWMgKENBU1NBTkRSQS00NzE2LCA0NzU5KQogKiAoQ1FMMykgRG9uJ3QgcmV0dXJuIFJldmVyc2VkVHlwZSBpbiByZXN1bHQgc2V0IG1ldGFkYXRhIChDQVNTQU5EUkEtNDcxNykKICogQmFja3BvcnQgYWRkaW5nIEFsdGVyS2W/FAZMAAABT948slwAEG5jZSAoQ0FTU0FORFJBLTUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILiYAAAEAdGFibGVzIChDQVNTQU5EUkEtNDcsIDI5OTQsIDMwMDEsIDMxMjgpCiAqIGFkZCBzY2hlZHVsZXIgSk1YIG1ldHJpY3MgKENBU1NBTkRSQS0yOTYyKQogKiBhZGQgYmxvY2sgbGV2ZWwgY2hlY2tzdW0gZm9yIGNvbXByZXNzZWQgZGF0YSAoQ0FTU0FORFJBLTE3MTcpCiAqIG1ha2UgY29sdW1uIGZhbWlseSBiYWNrZWQgY29sdW1uIG1hcCBwbHVnZ2FibGUgYW5kIGludHJvZHVjZSB1bnN5bmNocm9uaXplZAogICBBcnJheUxpc3QgYmFja2VkIG9uZSB0byzLWhwAAAFP3jyyXAAQICogc2tpcCBibG9ja2luZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguJgAAAQAxMDE0KQogKiBmaXggU2xpY2VQcmVkaWNhdGUgc2VyaWFsaXphdGlvbiBpbnNpZGUgSGFkb29wIGpvYnMgKENBU1NBTkRSQS0xMDQ5KQogKiBjbG9zZSBUaHJpZnQgc29ja2V0cyBpbiBIYWRvb3AgQ29sdW1uRmFtaWx5UmVjb3JkUmVhZGVyIChDQVNTQU5EUkEtMTA4MSkKCgowLjYuMQogKiBmaXggTlBFIGluIHNzdGFibGUyanNvbiB3aGVuIG5vIGV4Y2x1ZGVkIGtleXMgYXJlIGdpdmVuIChDQVNTQU5EUkEtOTM0KQogKiBrZWVwIHRoZSByZXBsaWNhOek2+QAAAU/ePLJcABBlVGllcmVkQ29tcGFjdGlvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4mAAABACogbWFrZSBzbml0Y2hlcyBjb25maWd1cmFibGUgYXQgcnVudGltZSAoQ0FTU0FORFJBLTEzNzQpCiAqIHJldHJ5IGhhZG9vcCBzcGxpdCByZXF1ZXN0cyBvbiBjb25uZWN0aW9uIGZhaWx1cmUgKENBU1NBTkRSQS0xOTI3KQogKiBpbXBsZW1lbnQgZGVzY3JpYmVPd25lcnNoaXAgZm9yIEJPUCwgQ09QUCAoQ0FTU0FORFJBLTE5MjgpCiAqIG1ha2UgcmVhZCByZXBhaXIgYmVoYXZlIGFzIGV4cGVjdGVkIGZvciBDb25zaXN0ZW5jeUxldmVsID4gT05FCiAGiu62ABRJlVO6DuAAAAFP3jyyXAAQUkEtNzgwMykKICogKGNxbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguKAAAAQBhdGlvbiBidWcgaW4gUGFnZWRSYW5nZSB3aXRoIDJuZGFyeSBpbmRleGVzIChDQVNTQU5EUkEtNjI5OSkKICogRml4IENRTDMgdGFibGUgdmFsaWRhdGlvbiBpbiBUaHJpZnQgKENBU1NBTkRSQS02MTQwKQogKiBGaXggYnVnIG1pc3NpbmcgcmVzdWx0cyB3aXRoIElOIGNsYXVzZXMgKENBU1NBTkRSQS02MzI3KQogKiBGaXggcGFnaW5nIHdpdGggcmV2ZXJzZWQgc2xpY2VzIChDQVNTQU5EUkEtNjM0MykKICogU2V0IG1pblRpbWVzdGFtcCBjb3JyZWN0/rlpWQAAAU/ePLJcABByTG9jayAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4oAAABAGxvYWRpbmcgKENBU1NBTkRSQS00MjgyKQogKiBNYWtlIGNvbXBhY3Rpb24sIGZsdXNoIEpCT0QtYXdhcmUgKENBU1NBTkRSQS00MjkyKQogKiBydW4gbG9jYWwgcmFuZ2Ugc2NhbnMgb24gdGhlIHJlYWQgc3RhZ2UgKENBU1NBTkRSQS0zNjg3KQogKiBjbGVhbiB1cCBpb2V4Y2VwdGlvbnMgKENBU1NBTkRSQS0yMTE2KQogKiBhZGQgZGlza19mYWlsdXJlX3BvbGljeSAoQ0FTU0FORFJBLTIxMTgpCiAqIEludHJvZHVjZSBuZXcganNvbiBmb3JtYXQgd2lyJ2aDAAABT948slwAEDYpCiAqIGNxbHNoOiBEb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILigAAAEAdXN0ZXJpbmcgb3JkZXJlZAogICB0YWJsZSB3aXRoIEFTQyBvcmRlcmluZyBhbmQgcGFnaW5nIChDQVNTQU5EUkEtODc2NykKICogQXNzZXJ0aW9uRXJyb3I6ICJNZW1vcnkgd2FzIGZyZWVkIiB3aGVuIHJ1bm5pbmcgY2xlYW51cCAoQ0FTU0FORFJBLTg3MTYpCiAqIE1ha2UgaXQgcG9zc2libGUgdG8gc2V0IG1heF9zc3RhYmxlX2FnZSB0byBmcmFjdGlvbmFsIGRheXMgKENBU1NBTkRSQS04NDA2KQogKiBGaXggc29tZSBtdWx0aS1jb2x1bW4gcmVsYYMEEx4AAAFP3jyyXAAQcmluZyBmb3IgQ09OVEFJTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguKAAAAQAzMDEpCiAqIHB1cmdlIHRvbWJzdG9uZWQgcm93cyBmcm9tIGNhY2hlIGFmdGVyIEdDR3JhY2VTZWNvbmRzIChDQVNTQU5EUkEtMjMwNSkKICogYWxsb3cgemVybyByZXBsaWNhcyBpbiBhIE5UUyBkYXRhY2VudGVyIChDQVNTQU5EUkEtMTkyNCkKICogbWFrZSByYW5nZSBxdWVyaWVzIHJlc3BlY3Qgc25pdGNoIGZvciBsb2NhbCByZXBsaWNhcyAoQ0FTU0FORFJBLTIyODYpCiAqIGZpeCBISCBkZWxpdmVyeSB3aGVuIGNvbHVtbiBpbmRleCBpcyBsYXJnbfhusAAAAU/ePLJcABBzIGNhdXNpbmcgbGFyZ2UgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4oAAABAHcgaW52YWxpZGF0aW5nIHBlcm1pc3Npb25zIGFuZCBjYWNoZSB0aW1lIChDQVNTQU5EUkEtODcyMikKICogTG9nIHdhcm5pbmcgd2hlbiBxdWVyaWVzIHRoYXQgd2lsbCByZXF1aXJlIEFMTE9XIEZJTFRFUklORyBpbiBDYXNzYW5kcmEgMy4wCiAgIGFyZSBleGVjdXRlZCAoQ0FTU0FORFJBLTg0MTgpCiAqIEZpeCBjYXNzYW5kcmEtc3RyZXNzIHNvIGl0IHJlc3BlY3RzIHRoZSBDTCBwYXNzZWQgaW4gdXNlciBtb2RlIChDQVNTQU5EUkEtODk0OCkKICqaBjxQAAABT948slwAEHRyeSBoYXJkZXIgdG8gZGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILigAAAEALTUwMDkpCiAqIEZpeCBjcWxzaCB0aW1lc3RhbXAgZm9ybWF0dGluZyBvZiB0aW1lem9uZSBpbmZvIChDQVNTQU5EUkEtNDc0NikKICogRml4IGFzc2VydGlvbiBmYWlsdXJlIHdpdGggbGV2ZWxlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtNDc5OSkKICogQ2hlY2sgZm9yIG51bGwgZW5kX3Rva2VuIGluIGdldF9yYW5nZV9zbGljZSAoQ0FTU0FORFJBLTQ4MDQpCiAqIFJlbW92ZSBhbGwgcmVtbmFudHMgb2YgcmVtb3ZlZCBub2RlcyAoQ0FTU0FORFJBLdm5+ZUAAAFP3jyyXAAQdXRhdGlvbiAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguKAAAAQB0b2tlbiByZW1vdmUgbm9kZXMgZnJvbSBnb3NzaXAgZW50aXJlbHkgKENBU1NBTkRSQS02NDQpCiAqIGFkZCBhYmlsaXR5IHRvIHNldCBjYWNoZSBzaXplcyBhdCBydW50aW1lIChDQVNTQU5EUkEtNzA4KQogKiByZXBvcnQgbGF0ZW5jeSBhbmQgY2FjaGUgaGl0IHJhdGUgc3RhdGlzdGljcyB3aXRoIGxpZmV0aW1lIHRvdGFscwogICBpbnN0ZWFkIG9mIGF2ZXJhZ2Ugb3ZlciB0aGUgbGFzdCBtaW51dGUgKENBU1NBTkRSQS03MDIpCiAqIHN1cHBvcnQg051urwAAAU/ePLJcABAgYnVnIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4oAAABAGRpdGlvbmFsIHN0YXRlbWVudCAoQ0FTU0FORFJBLTY4OTMpCiAqIEZpeCBtYXAgZWxlbWVudCBhY2Nlc3MgaW4gSUYgKENBU1NBTkRSQS02OTE0KQogKiBBdm9pZCBjb3N0bHkgcmFuZ2UgY2FsY3VsYXRpb25zIGZvciByYW5nZSBxdWVyaWVzIG9uIHN5c3RlbSBrZXlzcGFjZXMKICAgKENBU1NBTkRSQS02OTA2KQogKiBGaXggU1NUYWJsZSBub3QgcmVsZWFzZWQgaWYgc3RyZWFtIHNlc3Npb24gZmFpbHMgKENBU1NBTkRSQS02ODE4KQogKiBBdm9pZCDHelwLAAABT948slwAEDgxMzYpCiAqIEZpeCBERVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILigAAAEAIHRvIGNhc3NhbmRyYS5iYXQgKENBU1NBTkRSQS0yOTIpCiAqIGNsZWFuIHVwIEtTTWV0YWRhdGEsIENGTWV0YWRhdGEgZnJvbSB1bm5lY2Vzc2FyeQogICBUaHJpZnQ8LT5BdnJvIGNvbnZlcnNpb24gbWV0aG9kcyAoQ0FTU0FORFJBLTMwMzIpCiAqIEFkZCB0aW1lb3V0cyB0byBjbGllbnQgcmVxdWVzdCBzY2hlZHVsZXJzIChDQVNTQU5EUkEtMzA3OSwgMzA5NikKICogQ2xpIHRvIHVzZSBoYXNoZXMgcmF0aGVyIHRoYW4gYXJyYXkgb2YgaGFzaGVzIGLrTIgAAAFP3jyyXAAQMikKICogY3Fsc2g6IGZvcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguKAAAAQByb3cgVW5hdmFpbGFibGVFeGNlcHRpb24KICAgaW1tZWRpYXRlbHkgaWYgaW5zdWZmaWNpZW50IGxpdmUgbm9kZXMgZXhpc3QgKENBU1NBTkRSQS0xODAzKQogKiBjb3B5IGJ5dGVidWZmZXJzIGZvciBsb2NhbCB3cml0ZXMgdG8gYXZvaWQgcmV0YWluaW5nIHRoZSBlbnRpcmUKICAgVGhyaWZ0IGZyYW1lIChDQVNTQU5EUkEtMTgwMSkKICogZml4IE5QRSBhZGRpbmcgaW5kZXggdG8gY29sdW1uIHcvbyBwcmlvciBtZXRhZGF0YSAoQ0FTU0FORFJBLTE315HcewAAAU/ePLJcABBBU1NBTkRSQS02MjQ4KQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4oAAABAGNlcHRpb24gZW5jb3VudGVyZWQgYWZ0ZXIgY2xvc2UoKSAoQ0FTU0FORFJBLTI3NTUpCiAqIGZpeCBzY2FuIHdyb25nbHkgdGhyb3dpbmcgYXNzZXJ0aW9uIGVycm9yIChDQVNTQU5EUkEtMjY1MykKICogQWx3YXlzIHVzZSBldmVuIGRpc3RyaWJ1dGlvbiBmb3IgbWVya2xlIHRyZWUgd2l0aCBSYW5kb21QYXJ0aXRpb25uZXIKICAgKENBU1NBTkRSQS0yODQxKQogKiBmaXggZGVzY3JpYmVPd25lcnNoaXAgZm9yIE9QUCAoQ0FTU0FORFJBLTI4MDApCiCtYkHjAAABT948slwAEGFsIENsYXNzQ2FzdEV4Y2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILigAAAEAYXJraW5nIGVudGlyZSBsaXN0IG9mIHNzdGFibGVzIGFzIGFjdGl2ZWx5IGJlaW5nIGNvbXBhY3RlZAogICBpbiBtdWx0aXRocmVhZGVkIGNvbXBhY3Rpb24gKENBU1NBTkRSQS0yNzY1KQogKiBzZWVrIGJhY2sgYWZ0ZXIgZGVzZXJpYWxpemluZyBhIHJvdyB0byB1cGRhdGUgY2FjaGUgd2l0aCAoQ0FTU0FORFJBLTI3NTIpCiAqIGF2b2lkIHNraXBwaW5nIHJvd3MgaW4gc2NydWIgZm9yIGNvdW50ZXIgY29sdW1uIGZhbWlseSAoQ0FTU0FORFJBLTI3Ncw6S0IAAAFP3jyyXAAQdHJlYW1pbmcgZG9lcyBubwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguKAAAAQByaW5nIGNvbHVtbiB0eXBlcyAoQ0FTU0FORFJBLTYxODUpCiAqIGNxbHNoOiBmaXggQ1JFQVRFL0FMVEVSIFdJVEggY29tcGxldGlvbiAoQ0FTU0FORFJBLTYxOTYpCiAqIGFkZCB3aW5kb3dzIGJhdCBmaWxlcyBmb3Igc2hlbGwgY29tbWFuZHMgKENBU1NBTkRSQS02MTQ1KQogKiBGaXggcG90ZW50aWFsIHN0YWNrIG92ZXJmbG93IGR1cmluZyByYW5nZSB0b21ic3RvbmVzIGluc2VydGlvbiAoQ0FTU0FORFJBLTYxODEpCiAqIChIYWRvb3ApIE1ha2UghPTLKgAAAU/ePLJcABBsZXMgdG8gd29yayBvdXRzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4oAAABAGhlIGNvb3JkaW5hdG9yCiAgIChDQVNTQU5EUkEtODY0KQogKiBSZW1vdmUgQ2FsbG91dExvY2F0aW9uIGFuZCBTdGFnaW5nRmlsZURpcmVjdG9yeSBmcm9tIHN0b3JhZ2UtY29uZiBmaWxlcyAKICAgc2luY2UgdGhvc2Ugc2V0dGluZ3MgYXJlIG5vIGxvbmdlciB1c2VkIChDQVNTQU5EUkEtODc4KQogKiBQYXJzZSBhIGxvbmcgZnJvbSBSb3dXYXJuaW5nVGhyZXNob2xkSW5NQiBpbnN0ZWFkIG9mIGFuIGludCAoQ0FTU0FORFJBLTg4MikKICogUmVtb3anY/T5AAABT948slwAEG4gYm9vdHN0cmFwcGluZyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILigAAAEAX2ludGVyZmFjZSBpcyB1c2VkIChDQVNTQU5EUkEtODgzOSkKICogRG9uJ3QgY2hlY2sgaWYgYW4gc3N0YWJsZSBpcyBsaXZlIGZvciBvZmZsaW5lIGNvbXBhY3Rpb25zIChDQVNTQU5EUkEtODg0MSkKICogRG9uJ3Qgc2V0IGNsaWVudE1vZGUgaW4gU1NUYWJsZUxvYWRlciAoQ0FTU0FORFJBLTgyMzgpCiAqIEZpeCBTU1RhYmxlUmV3cml0ZXIgd2l0aCBkaXNhYmxlZCBlYXJseSBvcGVuIChDQVNTQU5EUkEtODUzNSkKICogQWxsb3cgaW52YWxpZGF0afMSleQAFF3yeFfnTwAAAU/ePLJcABBuIGJ5IGRlZmF1bHQgb24gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4rAAABACogbm9kZXRvb2wgcmVwYWlyIGNvbW1hbmQgbm93IHByaW50cyBwcm9ncmVzcyAoQ0FTU0FORFJBLTQ3NjcpCiAqIGZpeCB1c2VyIGRlZmluZWQgY29tcGFjdGlvbiB0byBydW4gYWdhaW5zdCAxLjEgZGF0YSBkaXJlY3RvcnkgKENBU1NBTkRSQS01MTE4KQogKiBGaXggQ1FMMyBCQVRDSCBhdXRob3JpemF0aW9uIGNhY2hpbmcgKENBU1NBTkRSQS01MTQ1KQogKiBmaXggZ2V0X2NvdW50IHJldHVybnMgaW5jb3JyZWN0IHZhbHVlIHdpdGggVFRMIChDQVO9cDILAAABT948slwAEEFORFJBLTUzNTEpCiAqIEkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILisAAAEAbi1vdmVybGFwcGluZyBMMCBjb21wYWN0aW9ucwogICB0byB3b3JrIG9uIGNvbmN1cnJlbnRseSAoQ0FTU0FORFJBLTU5MjEpCiAqIE5vdGlmeSBpbmRleGVyIG9mIGNvbHVtbnMgc2hhZG93ZWQgYnkgcmFuZ2UgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTU2MTQpCiAqIExvZyBNZXJrbGUgdHJlZSBzdGF0cyAoQ0FTU0FORFJBLTI2OTgpCiAqIFN3aXRjaCBmcm9tIGNyYzMyIHRvIGFkbGVyMzIgZm9yIGNvbXByZXNzZWQgc3N0YWJsZSBjaGVja3N1bXMgKNlRywwAAAFP3jyyXAAQLTEwMTUpCiAqIGF0b21pYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguKwAAAQB0IGlkIGluIHBsYWNlIG9mIGNvdW50ZXIgaWRzIChDQVNTQU5EUkEtNzM2NikKICogRml4IGVycm9yIHdoZW4gZG9pbmcgcmV2ZXJzZWQgcXVlcmllcyB3aXRoIHN0YXRpYyBjb2x1bW5zIChDQVNTQU5EUkEtNzQ5MCkKICogQmFja3BvcnQgQ0FTU0FORFJBLTY3NDcgKENBU1NBTkRSQS03NTYwKQogKiBUcmFjayBtYXgvbWluIHRpbWVzdGFtcHMgZm9yIHJhbmdlIHRvbWJzdG9uZXMgKENBU1NBTkRSQS03NjQ3KQogKiBGaXggTlBFIHdoZW4gbGlzdGluUCMNrwAAAU/ePLJcABBldG9vbCBnZXRzIGRlZmF1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4rAAABAGcgSk1YIG1haW50ZW5hbmNlIGJlZm9yZQogICBqb2luaW5nIHRoZSByaW5nIChDQVNTQU5EUkEtNTI2KQogKiBsb2cgbWlncmF0aW9ucyBhdCBJTkZPIChDQVNTQU5EUkEtMjAyOCkKICogYWRkIENMSSB2ZXJib3NlIG9wdGlvbiBpbiBmaWxlIG1vZGUgKENBU1NBTkRSQS0yMDMwKQogKiBhZGQgc2luZ2xlLWxpbmUgIi0tIiBjb21tZW50cyB0byBDTEkgKENBU1NBTkRSQS0yMDMyKQogKiBtZXNzYWdlIHNlcmlhbGl6YXRpb24gdGVzdHMgKENBU1NBTkSkr0v4AAABT948slwAEChDQVNTQU5EUkEtMjYyMykAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILisAAAEAY29tcGFjdGlvbiBzdHJhdGVneSAoQ0FTU0FORFJBLTE2MTApCiAqIEFkZCBuZXcgYnJvYWRjYXN0X2FkZHJlc3MgY29uZmlnIG9wdGlvbiAoQ0FTU0FORFJBLTI0OTEpCgoKMC44LjcKICogS2lsbCBzZXJ2ZXIgb24gd3JhcHBlZCBPT01FIHN1Y2ggYXMgZnJvbSBGaWxlQ2hhbm5lbC5tYXAgKENBU1NBTkRSQS0zMjAxKQogKiBBbGxvdyB1c2luZyBxdW90ZXMgaW4gIlVTRSA8a2V5c3BhY2U+OyIgQ0xJIGNvbW1hbmQgKENBU1NBTkRSQS0zMjA4KQogKqDJMdQAAAFP3jyyXAAQICogUmV2ZXJ0IGZsdXNoIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguKwAAAQBsbHkKICAgcHJvcGFnYXRlZCAoQ0FTU0FORFJBLTkxMzYpCiAqIE92ZXJsb2FkIFNlY29uZGFyeUluZGV4I2luZGV4ZXMgdG8gYWNjZXB0IHRoZSBjb2x1bW4gZGVmaW5pdGlvbiAoQ0FTU0FORFJBLTkzMTQpCiAqIChjcWxzaCkgQWRkIFNFUklBTCBhbmQgTE9DQUxfU0VSSUFMIGNvbnNpc3RlbmN5IGxldmVscyAoQ0FTU0FORFJBLTgwNTEpCiAqIEZpeCBpbmRleCBzZWxlY3Rpb24gZHVyaW5nIHJlYnVpbGQgd2l0aCBjZXJ0YWluIHRhYmxlIGxheW91anoNtgAAAU/ePLJcABBlZCBmcm9tIDEuMToKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4rAAABAG9yIGEgdHJhY2UgdG8gY29tcGxldGUgKENBU1NBTkRSQS03NjI2KQogKiBGaXggdHJhY2luZyBvZiBjb25jdXJyZW50IHJhbmdlIHNsaWNlcyBhbmQgMmFyeSBpbmRleCBxdWVyaWVzIChDQVNTQU5EUkEtNzYyNikKICogRml4IHNjcnViIGFnYWluc3QgY29sbGVjdGlvbiB0eXBlIChDQVNTQU5EUkEtNzY2NSkKTWVyZ2VkIGZyb20gMi4wOgogKiBTZXQgZ2NfZ3JhY2Vfc2Vjb25kcyB0byBzZXZlbiBkYXlzIGZvciBzeXN0ZW0gc2NoZW1hIHRhYmxlcyC3QmVZAAABT948slwAEHAgYnJva2VuIGNvdW50ZXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILisAAAEAbnRzIHdoZW4gY3VycmVudCBrZXlzcGFjZSBpcyBub3Qgc2V0IChDQVNTQU5EUkEtNTQ2OCkKICogRml4IFNlbWFudGljVmVyc2lvbi5pc1N1cHBvcnRlZEJ5IG1pbm9yL3BhdGNoIGhhbmRsaW5nIChDQVNTQU5EUkEtNTQ5NikKICogRG9uJ3QgcHJvdmlkZSBvbGRDZklkIGZvciBwb3N0LTEuMSBzeXN0ZW0gY2ZzIChDQVNTQU5EUkEtNTQ5MCkKICogRml4IHByaW1hcnkgcmFuZ2UgaWdub3JlcyByZXBsaWNhdGlvbiBzdHJhdGVneSAoQ0FTU0FORFJBLW4BZkkAAAFP3jyyXAAQc3RhcnR1cCAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguKwAAAQBuZyAoQ0FTU0FORFJBLTMxMDQpCiAqIGdlbmVyYXRlIGhpbnRzIGZvciByZXBsaWNhcyB0aGF0IHRpbWVvdXQsIG5vdCBqdXN0IHJlcGxpY2FzIHRoYXQgYXJlIGtub3duCiAgIHRvIGJlIGRvd24gYmVmb3JlIHN0YXJ0aW5nIChDQVNTQU5EUkEtMjAzNCkKICogQWRkIHRocm90dGxpbmcgZm9yIGludGVybm9kZSBzdHJlYW1pbmcgKENBU1NBTkRSQS0zMDgwKQogKiBtYWtlIHRoZSByZXBhaXIgb2YgYSByYW5nZSByZXBhaXIgYWxsIHJlcGxpY2EgKENBqEAjiQAAAU/ePLJcABAgdGhhbiA2NEtCIChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4rAAABACB0aGF0IGNyb3NzIHRoZSAyR0IgbW1hcCBib3VuZGFyaWVzIGZvciBib3RoIG1tYXAKICAgYW5kIHN0YW5kYXJkIGkvbyBtb2RlcyAoQ0FTU0FORFJBLTg2NikKICogZXhwb3NlIGRyYWluIHZpYSBub2RldG9vbCAoQ0FTU0FORFJBLTk3OCkKCgowLjYuMC1SQzEKICogSk1YIGRyYWluIHRvIGZsdXNoIG1lbXRhYmxlcyBhbmQgcnVuIHRocm91Z2ggY29tbWl0IGxvZyAoQ0FTU0FORFJBLTg4MCkKICogQm9vdHN0cmFwcGluZyBjYW4gc2tpcCByYW5nZXOCwbJ3AAABT948slwAEEFTU0FORFJBLTMzNjkpCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILisAAAEAIGN1c3RvbSB0eXBlcyBpbiBDTEkncyBhc3N1bWUgY29tbWFuZCAoQ0FTU0FORFJBLTQwODEpCiAqIGZpeCB0b3RhbEJ5dGVzIGNvdW50IGZvciBwYXJhbGxlbCBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTM3NTgpCiAqIGZpeCBpbnRlcm1pdHRlbnQgTlBFIGluIGdldF9zbGljZSAoQ0FTU0FORFJBLTQwOTUpCiAqIHJlbW92ZSB1bm5lY2Vzc2FyeSBhc3NlcnRzIGluIG5hdGl2ZSBjb2RlIGludGVyZmFjZXMgKENBU1NBTkRSQS00MDk2KQogKiBWYWxpZNCNyowAAAFP3jyyXAAQCiAqIEZpeCB0byBzdXBwbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguKwAAAQBkIGNvbGxlY3Rpb25zIGluIERFTEVURSAoQ0FTU0FORFJBLTg5MDApCiAqIENoZWNrIGZvciBvdmVybGFwIHdpdGggbm9uLWVhcmx5IHNzdGFibGVzIGluIExDUyAoQ0FTU0FORFJBLTg3MzkpCiAqIE9ubHkgY2FsY3VsYXRlIG1heCBwdXJnYWJsZSB0aW1lc3RhbXAgaWYgd2UgaGF2ZSB0byAoQ0FTU0FORFJBLTg5MTQpCiAqIChjcWxzaCkgR3JlYXRseSBpbXByb3ZlIHBlcmZvcm1hbmNlIG9mIENPUFkgRlJPTSAoQ0FTU0FORFJBLTgyMjUpCiAqIEluJQd8jAAAAU/ePLJcABBlbnRpcmUgZmlsZSAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4rAAABAGV4IHF1ZXJpZXMgKENBU1NBTkRSQS03NjI2KQogKiBGaXggc2NydWIgYWdhaW5zdCBjb2xsZWN0aW9uIHR5cGUgKENBU1NBTkRSQS03NjY1KQpNZXJnZWQgZnJvbSAyLjA6CiAqIFNldCBnY19ncmFjZV9zZWNvbmRzIHRvIHNldmVuIGRheXMgZm9yIHN5c3RlbSBzY2hlbWEgdGFibGVzIChDQVNTQU5EUkEtNzY2OCkKICogU2ltcGxlU2VlZFByb3ZpZGVyIG5vIGxvbmdlciBjYWNoZXMgc2VlZHMgZm9yZXZlciAoQ0FTU0FORFJBLTc2NjMpCiAqIEFsd2E1GmnFAAABT948slwAEHRzIG9taXNzaW9ucyAoQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILisAAAEAZGV4aW5nIGNsdXN0ZXJlZCBjb2x1bW5zIChDQVNTQU5EUkEtNTEyNSkKICogUmVtb3ZlZCBvbi1oZWFwIHJvdyBjYWNoZSAoQ0FTU0FORFJBLTUzNDgpCiAqIHVzZSBuYW5vdGltZSBjb25zaXN0ZW50bHkgZm9yIG5vZGUtbG9jYWwgdGltZW91dHMgKENBU1NBTkRSQS01NTgxKQogKiBBdm9pZCB1bm5lY2Vzc2FyeSBzZWNvbmQgcGFzcyBvbiBuYW1lLWJhc2VkIHF1ZXJpZXMgKENBU1NBTkRSQS01NTc3KQogKiBFeHBlcmltZW50YWwgdHJpZ2dlcnMgKKsEusgAAAFP3jyyXAAQY2FwYWNpdHkgYnV0IGNhYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguKwAAAQByb20gMC44OgogKiByZW1vdmUgaW52YWxpZCBhc3NlcnRpb24gdGhhdCB0YWJsZSB3YXMgb3BlbmVkIGJlZm9yZSBkcm9wcGluZyBpdAogICAoQ0FTU0FORFJBLTM1ODApCiAqIHJhbmdlIGFuZCBpbmRleCBzY2FucyBub3cgb25seSBzZW5kIHJlcXVlc3RzIHRvIGVub3VnaCByZXBsaWNhcyB0bwogICBzYXRpc2Z5IHJlcXVlc3RlZCBDTCArIFJSIChDQVNTQU5EUkEtMzU5OCkKICogdXNlIGNhbm5vbmljYWwgaG9zdCBmb3IgbG9jYWwgbm9kZSBpbiBuiUtLLQAUck+FL8ThAAABT948slwAECogU1NMIGRvZXMgbm90IHcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILi0AAAEAU1NBTkRSQS0zMjIwKQogKiBhZGQgYmFjayBwYXJ0aXRpb25lciB0byBzc3RhYmxlIG1ldGFkYXRhIChDQVNTQU5EUkEtMzU0MCkKICogZml4IE5QRSBpbiBnZXRfY291bnQgZm9yIGNvdW50ZXJzIChDQVNTQU5EUkEtMzYwMSkKTWVyZ2VkIGZyb20gMC44OgogKiByZW1vdmUgaW52YWxpZCBhc3NlcnRpb24gdGhhdCB0YWJsZSB3YXMgb3BlbmVkIGJlZm9yZSBkcm9wcGluZyBpdAogICAoQ0FTU0FORFJBLTM1ODApCiAqIHJhbmdlIGFuZCBpbmRleCBzY+inE6MAAAFP3jyyXAAQb3NlZCBhcmd1bWVudHMgaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguLQAAAQAgc3RhcnR1cCAoQ0FTU0FORFJBLTgxMTEpCiAqIFJlZHVjZSB0b3RhbEJsb2NrRm9yKCkgZm9yIExPQ0FMXyogY29uc2lzdGVuY3kgbGV2ZWxzIChDQVNTQU5EUkEtODA1OCkKICogRml4IG1lcmdpbmcgc2NoZW1hcyB3aXRoIHJlLWRyb3BwZWQga2V5c3BhY2VzIChDQVNTQU5EUkEtNzI1NikKICogRml4IGNvdW50ZXJzIGluIHN1cGVyY29sdW1ucyBkdXJpbmcgbGl2ZSB1cGdyYWRlcyBmcm9tIDEuMiAoQ0FTU0FORFJBLTcxODgpCiAqIE5vdGlmeSBEgsOv8AAAAU/ePLJcABByYS1lbnYuc2ggKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4tAAABAGN1dGlvbiB0aW1lIChDQVNTQU5EUkEtNTYxNikKICogRXhwb3NlIGRldGFpbGVkIHJlYWQgcmVwYWlyIG1ldHJpY3MgKENBU1NBTkRSQS01NjE4KQogKiBDb3JyZWN0IGJsb2IgbGl0ZXJhbCArIFJldmVyc2VkVHlwZSBwYXJzaW5nIChDQVNTQU5EUkEtNTYyOSkKICogQWxsb3cgR1BGUyB0byBwcmVmZXIgdGhlIGludGVybmFsIElQIGxpa2UgRUMyTVJTIChDQVNTQU5EUkEtNTYzMCkKICogZml4IGhlbHAgdGV4dCBmb3IgLXRzcHcgY2Fzc2FuZHJhLWPfoN3fAAABT948slwAEGFwcGVkIGZsYWcgYWZ0ZXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILi0AAAEAZGVuY3kgZnJvbSBIYWRvb3AgYW5kIFBpZyAoQ0FTU0FEUkEtMTMyMikKICogZXhwb3NlIENmRGVmIG1ldGFkYXRhIGluIGRlc2NyaWJlX2tleXNwYWNlcyAoQ0FTU0FORFJBLTEzNjMpCiAqIHJlc3RvcmUgdXNlIG9mIG1tYXBfaW5kZXhfb25seSBvcHRpb24gKENBU1NBTkRSQS0xMjQxKQogKiBkcm9wcGluZyBhIGtleXNwYWNlIHdpdGggbm8gY29sdW1uIGZhbWlsaWVzIGdlbmVyYXRlZCBhbiBlcnJvciAKICAgKENBU1NBTkRSQS0xMzc4KQogKiByZWNXy+0AAAFP3jyyXAAQc2V0c3RyZWFtdGhyb3VnaAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguLQAAAQBhZGF0YSAoQ0FTU0FORFJBLTE1NzgsIDE2MTIpCiAqIGFkZCBjbGkgc3VwcG9ydCBmb3Igc2NoZW1hIG1vZGlmaWNhdGlvbiAoQ0FTU0FORFJBLTE1ODQpCiAqIGRlbGV0ZSB0ZW1wIGZpbGVzIG9uIGZhaWxlZCBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTE1OTYpCiAqIGF2b2lkIGJsb2NraW5nIGZvciBkZWFkIG5vZGVzIGR1cmluZyByZW1vdmV0b2tlbiAoQ0FTU0FORFJBLTE2MDUpCiAqIHJlbW92ZSBDb25zaXN0ZW5jeUxldmVsLlpFUk8gKENBU1NBPJPipQAAAU/ePLJcABA4MzUpCiAqIHVucmVnaXN0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4tAAABAGJpYW4gcGFja2FnZSAoQ0FTU0FORFJBLTIxNjQpCiAqIGFkZCBvcHRpb24gdG8gc3BlY2lmeSBsaW1pdCBmb3IgZ2V0X3NsaWNlIGluIHRoZSBDTEkgKENBU1NBTkRSQS0yNjQ2KQogKiBkZWNyZWFzZSBISCBwYWdlIHNpemUgKENBU1NBTkRSQS0yODMyKQogKiByZXNldCBjbGkga2V5c3BhY2UgYWZ0ZXIgZHJvcHBpbmcgdGhlIGN1cnJlbnQgb25lIChDQVNTQU5EUkEtMjc2MykKICogYWRkIEtleVJhbmdlIG9wdGlvbiB0byBIYWRvb3AgaW5wdXRmb3I7mC+RAAABT948slwAEENBU1NBTkRSQS02NTYzKQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILi0AAAEAICogZml4IHRvbWJzdG9uZSBoYW5kbGluZyBpbiByZXBhaXIgYW5kIHNzdGFibGUyanNvbiAoQ0FTU0FORFJBLTIyNzkpCiAqIHByZXNlcnZlIHZlcnNpb24gd2hlbiBzdHJlYW1pbmcgZGF0YSBmcm9tIG9sZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTIyODMpCiAqIGRvbid0IHN0YXJ0IHJlcGFpciBpZiBhIG5laWdoYm9yaW5nIG5vZGUgaXMgbWFya2VkIGFzIGRlYWQgKENBU1NBTkRSQS0yMjkwKQogKiBwdXJnZSB0b21ic3RvbmVzIGZyb20gcm93IGNhYzXlJYAAAAFP3jyyXAAQcmlmdFNlcnZlciBtb3JlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguLQAAAQBlIHNldHRpbmcgKENBU1NBTkRSQS00MTk3KQogKiB3YXJuIG9uIGludmFsaWQgcmVwbGljYXRpb24gc3RyYXRlZ3kgY3JlYXRpb24gb3B0aW9ucyAoQ0FTU0FORFJBLTQwNDYpCiAqIHJlbW92ZSBbRnJlZWFibGVdTWVtb3J5IGZpbmFsaXplcnMgKENBU1NBTkRSQS00MjIyKQogKiBpbmNsdWRlIHRvbWJzdG9uZSBzaXplIGluIENvbHVtbkZhbWlseS5zaXplLCB3aGljaCBjYW4gcHJldmVudCBPT00KICAgZHVyaW5nIHN1ZGRlbiBtYXNzIGRlbGV0ZSBvaObSRgAAAU/ePLJcABAtNjIxNCkKCgoyLjAuMQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4tAAABAGlvbiBmb3IgYWx0ZXIga2V5c3BhY2UgKENBU1NBTkRSQS04MDIxKQogKiBDcmVhdGUgYmFja3VwIGRpcmVjdG9yaWVzIGZvciBjb21taXRsb2cgYXJjaGl2aW5nIGR1cmluZyBzdGFydHVwIChDQVNTQU5EUkEtODExMSkKICogUmVkdWNlIHRvdGFsQmxvY2tGb3IoKSBmb3IgTE9DQUxfKiBjb25zaXN0ZW5jeSBsZXZlbHMgKENBU1NBTkRSQS04MDU4KQogKiBGaXggbWVyZ2luZyBzY2hlbWFzIHdpdGggcmUtZHJvcHBlZCBrZXlzcGFjZXMgKENBU1NBTkSHlkTqAAABT948slwAEEFORFJBLTg0ODUpCiAqIEYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILi0AAAEAKENBU1NBTkRSQS04MTAyKQogKiBEb24ndCBpbmNsdWRlIHRtcCBmaWxlcyB3aGVuIGRvaW5nIG9mZmxpbmUgcmVsZXZlbCAoQ0FTU0FORFJBLTkwODgpCiAqIFVzZSB0aGUgcHJvcGVyIENBUyBXcml0ZVR5cGUgd2hlbiBmaW5pc2hpbmcgYSBwcmV2aW91cyByb3VuZCBkdXJpbmcgUGF4b3MKICAgcHJlcGFyYXRpb24gKENBU1NBTkRSQS04NjcyKQogKiBBdm9pZCByYWNlIGluIGNhbmNlbGxpbmcgY29tcGFjdGlvbnMgKENBU1NBTkRSQS05MDcwKQogKn0KW9oAAAFP3jyyXAAQIGFkZCBleHRyYSBTU0wgYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguLQAAAQBoZSBDRiBjb21wYXJhdG9yIChDQVNTQU5EUkEtNjc3OCkKICogRml4IENRTFNTdGFibGVXcml0ZXIuYWRkUm93KE1hcDxTdHJpbmcsIE9iamVjdD4pIChDQVNTQU5EUkEtNjUyNikKICogRml4IEhTSEEgc2VydmVyIGludHJvZHVjaW5nIGNvcnJ1cHQgZGF0YSAoQ0FTU0FORFJBLTYyODUpCiAqIEZpeCBDQVMgY29uZGl0aW9ucyBmb3IgQ09NUEFDVCBTVE9SQUdFIHRhYmxlcyAoQ0FTU0FORFJBLTY4MTMpCiAqIFN0YXJ0aW5nIHRocmVhZHMgaW4gT3V06hzSuwAAAU/ePLJcABBweSBieXRlYnVmZmVycyBmAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4tAAABAFJBLTY5NTgpCiAqIEZpeCBMSU1JVCB3aXRoIHN0YXRpYyBjb2x1bW5zIChDQVNTQU5EUkEtNjk1NikKICogRml4IGNsYXNoIHdpdGggQ1FMIGNvbHVtbiBuYW1lIGluIHRocmlmdCB2YWxpZGF0aW9uIChDQVNTQU5EUkEtNjg5MikKICogRml4IGVycm9yIHdpdGggc3VwZXIgY29sdW1ucyBpbiBtaXhlZCAxLjItMi4wIGNsdXN0ZXJzIChDQVNTQU5EUkEtNjk2NikKICogRml4IGJhZCBza2lwIG9mIHNzdGFibGVzIG9uIHNsaWNlIHF1ZXJ5IHdpdGggY28la4cNAAABT948slwAEGxzaCkgSGFuZGxlIG1hcHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILi0AAAEAMjkpCiAqIEZpeCBzb21lIGZhaWxpbmcgcXVlcmllcyB0aGF0IHVzZSBtdWx0aS1jb2x1bW4gcmVsYXRpb25zCiAgIG9uIENPTVBBQ1QgU1RPUkFHRSB0YWJsZXMgKENBU1NBTkRSQS04MjY0KQogKiBGaXggSW52YWxpZFJlcXVlc3RFeGNlcHRpb24gd2l0aCBPUkRFUiBCWSAoQ0FTU0FORFJBLTgyODYpCiAqIERpc2FibGUgU1NMdjMgZm9yIFBPT0RMRSAoQ0FTU0FORFJBLTgyNjUpCiAqIEZpeCBtaWxsaXNlY29uZCB0aW1lc3RhbXBzIGluIFRyYWNpbprD2ToAAAFP3jyyXAAQZWNvdmVyeQogICAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguLQAAAQBuIChDQVNTQU5EUkEtMzYxNikKICogc3RvcCB0aHJpZnQgc2VydmljZSBpbiBzaHV0ZG93biBob29rIHNvIHdlIGNhbiBxdWllc2NlIE1lc3NhZ2luZ1NlcnZpY2UKICAgKENBU1NBTkRSQS0zMzM1KQogKiAoQ1FMKSBjb21wYWN0aW9uX3N0cmF0ZWd5X29wdGlvbnMgYW5kIGNvbXByZXNzaW9uX3BhcmFtZXRlcnMgZm9yCiAgIENSRUFURSBDT0xVTU5GQU1JTFkgc3RhdGVtZW50IChDQVNTQU5EUkEtMzM3NCkKICogUmVzZXQgbWluL21heCBjb21wYWN0sIun9AAAAU/ePLJcABByIHVzZWQgZm9yIG5vbi1pAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4tAAABAHRlciBjbGllbnQgZGlzY29ubmVjdHMKICAgKENBU1NBTkRSQS0xMDU3KQogKiBwcmVmZXIgc3VuIGpkayB0byBvcGVuamRrIGluIGRlYmlhbiBpbml0IHNjcmlwdCAoQ0FTU0FORFJBLTExNzQpCiAqIGRldGVjdCBwYXJ0aW9uZXIgY29uZmlnIGNoYW5nZXMgYmV0d2VlbiByZXN0YXJ0cyBhbmQgZmFpbCBmYXN0IAogICAoQ0FTU0FORFJBLTExNDYpCiAqIHVzZSBnZW5lcmF0aW9uIHRpbWUgdG8gcmVzb2x2ZSBub2RlIHRva2VuIHJlYXNzaWdubWVudCCWCULVABSGrCLjM70AAAFP3jyyXAAQKiBjcWxzaDogYWRkIGNvbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguLwAAAQBpbmcgYW4gZWxlbWVudCBieSBpbmRleCBvbgogICBhIG51bGwgbGlzdCBjb2xsZWN0aW9uIChDQVNTQU5EUkEtOTA3NykKICogQnVmZmVyIGJsb29tIGZpbHRlciBzZXJpYWxpemF0aW9uIChDQVNTQU5EUkEtOTA2NikKICogRml4IGFudGktY29tcGFjdGlvbiB0YXJnZXQgYmxvb20gZmlsdGVyIHNpemUgKENBU1NBTkRSQS05MDYwKQogKiBNYWtlIEZST1pFTiBhbmQgVFVQTEUgdW5yZXNlcnZlZCBrZXl3b3JkcyBpbiBDUUwgKENBU1NBTkRSQS05MDQ3qhCY6wAAAU/ePLJcABBmcm9tIHN3YXBwaW5nCiAgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4vAAABAGF0ZSBDUUwgY29uc2lzdGVuY3kgbGV2ZWxzIChDQVNTQU5EUkEtMjU2NikKICogZGViaWFuIHBhY2thZ2luZyBmaXhlcyAoQ0FTU0FORFJBLTI0ODEsIDI2NDcpCiAqIGZpeCBVVUlEVHlwZSwgSW50ZWdlclR5cGUgZm9yIGRpcmVjdCBidWZmZXJzIChDQVNTQU5EUkEtMjY4MiwgMjY4NCkKICogc3dpdGNoIHRvIG5hdGl2ZSBUaHJpZnQgZm9yIEhhZG9vcCBtYXAvcmVkdWNlIChDQVNTQU5EUkEtMjY2NykKICogZml4IFN0YWNrT3ZlcmZsb3dFcnJvciAoAO3dAAABT948slwAEHViIGNhbiBjYXRjaCBpdCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILi8AAAEAY3MgZm9yIHJvdy1sZXZlbCBibG9vbSBmaWx0ZXIgZmFsc2UgcG9zaXRpdmVzIChDQVNTQU5EUkEtMTIxMikKICogYWRkZWQgYSByZWRoYXQgaW5pdCBzY3JpcHQgdG8gY29udHJpYiAoQ0FTU0FORFJBLTEyMDEpCiAqIHVzZSBtaWRwb2ludCB3aGVuIGJvb3RzdHJhcHBpbmcgYSBuZXcgbWFjaGluZSBpbnRvIHJhbmdlIHdpdGggbm90CiAgIG11Y2ggZGF0YSB5ZXQgaW5zdGVhZCBvZiByYW5kb20gdG9rZW4gKENBU1NBTkRSQS0xMTEyKQogKiBraWxsICHZtmEAAAFP3jyyXAAQU0FORFJBLTcxMTEpCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguLwAAAQAgc3VjaCBhcyB3aGVuIGNvbnZlcnRpbmIgYmFjayBmcm9tIExDUyAoQ0FTU0FORFJBLTQyODcpCiAqIE92ZXJzaXplIGludGVnZXIgaW4gQ1FMIHRocm93cyBOdW1iZXJGb3JtYXRFeGNlcHRpb24gKENBU1NBTkRSQS00MjkxKQogKiBmaXggMS4wLnggbm9kZSBqb2luIHRvIG1peGVkIHZlcnNpb24gY2x1c3Rlciwgb3RoZXIgbm9kZXMgPj0gMS4xIChDQVNTQU5EUkEtNDE5NSkKICogRml4IExDUyBzcGxpdHRpbmcgc3N0YWJsZSBiYXNlIG9uIHVuY29tKP2MIgAAAU/ePLJcABBseSAoQ0FTU0FORFJBLTQ4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4vAAABAG91dGluZyAoQ0FTU0FORFJBLTE3MjIpCiAqIGZpeCB0b21ic3RvbmluZyBvZiBzdXBlcmNvbHVtbnMgaW4gcmFuZ2UgcXVlcmllcyAoQ0FTU0FORFJBLTE3MzQpCiAqIGNsZWFyIGVuZHBvaW50IGNhY2hlIGFmdGVyIHVwZGF0aW5nIGtleXNwYWNlIG1ldGFkYXRhIChDQVNTQU5EUkEtMTc0MSkKICogZml4IHdyYXBwaW5nLXJhbmdlIHF1ZXJpZXMgb24gbm9uLW1pbmltdW0gdG9rZW4gKENBU1NBTkRSQS0xNzAwKQogKiB0cnVuY2F0ZSBpbmNsdWRlcyDwkZpCAAABT948slwAECBzdHJlYW1pbmcgY29ubmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILi8AAAEAYW50IHNlcnZpY2VzIHN1Y2ggYXMgbWRhZG0gaW4KICAgZGViaWFuIHBhY2thZ2luZyAoQ0FTU0FORFJBLTI0ODEpCgoKMC44LjAtYmV0YTIKICogZml4IE5QRSBjb21wYWN0aW5nIGluZGV4IENGcyAoQ0FTU0FORFJBLTI1MjgpCiAqIFJlbW92ZSBjaGVja2luZyBhbGwgY29sdW1uIGZhbWlsaWVzIG9uIHN0YXJ0dXAgZm9yIGNvbXBhY3Rpb24gY2FuZGlkYXRlcyAKICAgKENBU1NBTkRSQS0yNDQ0KQogKiB2YWxpZGF0ZSBDUUwgY3JlYXRlIGtleXNwYXFjmncAAAFP3jyyXAAQICogcmVwbGFjZSBzdXBlcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguLwAAAQBycm9yIHJlc3BvbnNlIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3IgZHVyaW5nIG5hdGl2ZQogICBwcm90b2NvbCBtZXNzYWdlIGRlY29kZSAoQ0FTU0FORFJBLTgxMTgpCiAqIEdvc3NpcCBzaG91bGQgaWdub3JlIGdlbmVyYXRpb24gbnVtYmVycyB0b28gZmFyIGluIHRoZSBmdXR1cmUgKENBU1NBTkRSQS04MTEzKQogKiBGaXggTlBFIHdoZW4gY3JlYXRpbmcgYSB0YWJsZSB3aXRoIGZyb3plbiBzZXRzLCBsaXN0cyAoQ0FTU0FORFJBLTgxMDQpCiAqIEZpPK+a4QAAAU/ePLJcABBSQS02MTkxKQogKiBBZGQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4vAAABACAoQ0FTU0FORFJBLTc2MzIpCiAqIEZpeCBzc3RhYmxlbG9hZGVyIHVuYWJsZSB0byBjb25uZWN0IGVuY3J5cHRlZCBub2RlIChDQVNTQU5EUkEtNzU4NSkKTWVyZ2VkIGZyb20gMS4yOgogKiBDbG9uZSB0b2tlbiBtYXAgb3V0c2lkZSBvZiBob3QgZ29zc2lwIGxvb3BzIChDQVNTQU5EUkEtNzc1OCkKICogQWRkIHN0b3AgbWV0aG9kIHRvIEVtYmVkZGVkQ2Fzc2FuZHJhU2VydmljZSAoQ0FTU0FORFJBLTc1OTUpCiAqIFN1cHBvcnQgY29ubmVjdGluZyCGVFULAAABT948slwAEChDQVNTQU5EUkEtNjk5OSkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILi8AAAEAb2YgZGlmZmVyZW50IHR5cGVzCiAgIChDQVNTQU5EUkEtMzYyNSkKICogRmx1c2ggbm9uLWNmcyBiYWNrZWQgc2Vjb25kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS0zNjU5KQogKiBTZWNvbmRhcnkgSW5kZXhlcyBzaG91bGQgcmVwb3J0IG1lbW9yeSBjb25zdW1wdGlvbiAoQ0FTU0FORFJBLTMxNTUpCiAqIGZpeCBmb3IgU2VsZWN0U3RhdGVtZW50IHN0YXJ0L2VuZCBrZXkgYXJlIG5vdCBzZXQgY29ycmVjdGx5CiAgIHdoZW4gYSBrZXkgYWxpYXMgaXMgaRvvsMsAAAFP3jyyXAAQdm9pZCBvdmVyZmxvdyB3aAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguLwAAAQBhdGVtZW50cyAoQ0FTU0FORFJBLTgzNzApCiAqIE1ha2Ugc3N0YWJsZXNjcnViIGNoZWNrIGxldmVsZWQgbWFuaWZlc3QgYWdhaW4gKENBU1NBTkRSQS04NDMyKQogKiBDaGVjayBmaXJzdC9sYXN0IGtleXMgaW4gc3N0YWJsZSB3aGVuIGdpdmluZyBvdXQgcG9zaXRpb25zIChDQVNTQU5EUkEtODQ1OCkKICogRGlzYWJsZSBtbWFwIG9uIFdpbmRvd3MgKENBU1NBTkRSQS02OTkzKQogKiBBZGQgbWlzc2luZyBDb25zaXN0ZW5jeUxldmVscyB0byBjYXNzWj7k2gAAAU/ePLJcABBzIG9uIGRpZ2VzdCBtaXNtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4vAAABADcxNSkKICogU3VwcG9ydCBzdHJlYW1pbmcgU1NUYWJsZXMgb2Ygb2xkIHZlcnNpb25zIChDQVNTQU5EUkEtNTc3MikKICogQWx3YXlzIHJlc3BlY3QgcHJvdG9jb2wgdmVyc2lvbiBpbiBuYXRpdmUgcHJvdG9jb2wgKENBU1NBTkRSQS01Nzc4KQogKiBGaXggQ29uY3VycmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlvbiBkdXJpbmcgc3RyZWFtaW5nIChDQVNTQU5EUkEtNTc4MikKICogVXBkYXRlIGRlbGV0aW9uIHRpbWVzdGFtcCBpbiBDb21taXQjdXBkYXQmqMPSAAABT948slwAEC03MjQ0KSAKICogRml4IGQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILi8AAAEAb2NrIGNvdW50ZXIgY2VsbHMsIG5vdCBwYXJ0aXRpb25zIChDQVNTQU5EUkEtNjg4MCkKICogVHJhY2sgcHJlc2VuY2Ugb2YgbGVnYWN5IGNvdW50ZXIgc2hhcmRzIGluIHNzdGFibGVzIChDQVNTQU5EUkEtNjg4OCkKICogRW5zdXJlIHNhZmUgcmVzb3VyY2UgY2xlYW51cCB3aGVuIHJlcGxhY2luZyBzc3RhYmxlcyAoQ0FTU0FORFJBLTY5MTIpCiAqIEFkZCBmYWlsdXJlIGhhbmRsZXIgdG8gYXN5bmMgY2FsbGJhY2sgKENBU1NBTkRSQS02NzQ3KQogKsBI0NYAAAFP3jyyXAAQc2FmZSBhbmQgZ2MgZnJpZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguLwAAAQAuMi41IHNzdGFibGVzIGFuZCBuZXR3b3JrIG1lc3NhZ2VzCiAgIChDQVNTQU5EUkEtNTUxMSkKICogcmVtb3ZlZCBQQlNQcmVkaWN0b3IgKENBU1NBTkRSQS01NDU1KQogKiBDQVMgc3VwcG9ydCAoQ0FTU0FORFJBLTUwNjIsIDU0NDEsIDU0NDIsIDU0NDMsIDU2MTksIDU2NjcpCiAqIExldmVsZWQgY29tcGFjdGlvbiBwZXJmb3JtcyBzaXplLXRpZXJlZCBjb21wYWN0aW9ucyBpbiBMMCAKICAgKENBU1NBTkRSQS01MzcxLCA1NDM5KQogKiBBZGQgeWFtzIoR1QAAAU/ePLJcABBuZG93cyBiYXRjaCBzY3JpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4vAAABAGtlciBmb3IgcXVlcmllcyBpbiBnZW5lcmFsIHRvIGhpZGUgbG9zdCBtYXJrZXJzCiAgIGFmdGVyIFRUTCBleHBpcmVzIChDQVNTQU5EUkEtNTc2MikKICogU29ydCBub2RldG9vbCBoZWxwIG91dHB1dCAoQ0FTU0FORFJBLTU3NzYpCiAqIEZpeCBjb2x1bW4gZXhwaXJpbmcgZHVyaW5nIDIgcGhhc2VzIGNvbXBhY3Rpb24gKENBU1NBTkRSQS01Nzk5KQogKiBub3coKSBpcyBiZWluZyByZWplY3RlZCBpbiBJTlNFUlRzIHdoZW4gaW5zaWRlIGNvbGxlY3Tjpjw1AAABT948slwAEGFibGVkIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILi8AAAEAdFNuaXRjaCB3aXRoIFJhY2tBd2FyZVN0cmF0ZWd5IChDQVNTQU5EUkEtMTQyOSkKICogcmVtb3ZlIHRoZSByZW1haW5pbmcgdmVzdGlnZXMgb2YgdGhlIHVuZmluaXNoZWQgRGF0YWNlbnRlclNoYXJkU3RyYXRlZ3kgCiAgIChyZXBsYWNlZCBieSBOZXR3b3JrVG9wb2xvZ3lTdHJhdGVneSBpbiAwLjcpCiAgIAoKMC42LjUKICogZml4IGtleSBvcmRlcmluZyBpbiByYW5nZSBxdWVyeSByZXN1bHRzIHdpdGggUmFuZG9tUGFydGl0aW9uZXIKICAgYW5kILnsEisAFJsJazCkxgAAAU/ePLJcABBuZyBzdGF0aWMgY29sdW1uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4zAAABAEEtODA2MikKICogRml4IENsYXNzQ2FzdEV4Y2VwdGlvbiBpbiBESVNUSU5DVCBxdWVyeSBvbiBzdGF0aWMgY29sdW1ucyB3aXRoCiAgIHF1ZXJ5IHBhZ2luZyAoQ0FTU0FORFJBLTgxMDgpCiAqIEZpeCBOUEUgb24gbnVsbCBuZXN0ZWQgVURUIGluc2lkZSBhIHNldCAoQ0FTU0FORFJBLTgxMDUpCiAqIEZpeCBleGNlcHRpb24gd2hlbiBxdWVyeWluZyBzZWNvbmRhcnkgaW5kZXggb24gc2V0IGl0ZW1zIG9yIG1hcCBrZXlzCiAgIHdoZW4gc29tZSBjbHXiHWS/AAABT948slwAECBDYWxsb3V0TG9jYXRpb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILjMAAAEAZWwgcmVwYWlycyAoQ0FTU0FORFJBLTY5MDcpCiAqIChIYWRvb3ApIEFsbG93IG1hbnVhbGx5IHNwZWNpZnlpbmcgc3RhcnQvZW5kIHRva2VucyBpbiBDRklGIChDQVNTQU5EUkEtNjQzNikKICogRml4IE5QRSBpbiBNZXRlcmVkRmx1c2hlciAoQ0FTU0FORFJBLTY4MjApCiAqIEZpeCByYWNlIHByb2Nlc3NpbmcgcmFuZ2Ugc2NhbiByZXNwb25zZXMgKENBU1NBTkRSQS02ODIwKQogKiBBbGxvdyBkZWxldGluZyBzbmFwc2hvdHMgZnJvbSBkcm9wcGVkIOxbGJQAAAFP3jyyXAAQaXR5IG9mIHNwdXJpb3VzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguMwAAAQBuIG5hdGl2ZSBwcm90b2NvbCAoQ0FTU0FORFJBLTcyMzEpCiAqIEFkZCB0YWItY29tcGxldGlvbiB0byBkZWJpYW4gbm9kZXRvb2wgcGFja2FnaW5nIChDQVNTQU5EUkEtNjQyMSkKICogQ2hhbmdlIGNvbmN1cnJlbnRfY29tcGFjdG9ycyBkZWZhdWx0cyAoQ0FTU0FORFJBLTcxMzkpCiAqIEFkZCBQb3dlclNoZWxsIFdpbmRvd3MgbGF1bmNoIHNjcmlwdHMgKENBU1NBTkRSQS03MDAxKQogKiBNYWtlIGNvbW1pdGxvZyBhcmNoaXZlK3Jlc3RvcmUgbW9yEqiXygAAAU/ePLJcABByaW5nIG5hdGl2ZQogICBwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4zAAABACBjbGVhbnVwIHRvIGRyb3AgZW50aXJlIHNzdGFibGVzIHdoZXJlIHBvc3NpYmxlIChDQVNTQU5EUkEtNDA3OSkKICogb3B0aW1pemUgdHJ1bmNhdGUgd2hlbiBhdXRvc25hcHNob3QgaXMgZGlzYWJsZWQgKENBU1NBTkRSQS00MTUzKQogKiB1cGRhdGUgY2FjaGVzIHRvIHVzZSBieXRlW10ga2V5cyB0byByZWR1Y2UgbWVtb3J5IG92ZXJoZWFkIChDQVNTQU5EUkEtMzk2NikKICogYWRkIGNvbHVtbiBsaW1pdCB0byBjbGkgKENBU1NBTkRSQS0zMDEyLCAZXaadAAABT948slwAEG1heCBzc3RhYmxlIHNpemUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILjMAAAEAdGggZGVzY2VuZGluZyBjbHVzdGVyaW5nIG9yZGVyIChDQVNTQU5EUkEtNTQ3MikKICogRGlzYWxsb3cgcmVuYW1pbmcgY29sdW1ucyBvbmUgYXQgYSB0aW1lIGZvciB0aHJpZnQgdGFibGUgaW4gQ1FMMwogICAoQ0FTU0FORFJBLTU1MzEpCiAqIGNxbHNoOiBhZGQgQ0xVU1RFUklORyBPUkRFUiBCWSBzdXBwb3J0IHRvIERFU0NSSUJFIChDQVNTQU5EUkEtNTUyOCkKICogQWRkIGN1c3RvbSBzZWNvbmRhcnkgaW5kZXggc3VwcG9ydCB0byBDUUwzIChDQbkmS8AAAAFP3jyyXAAQZGVzY3JpYmVfcmluZygpIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguMwAAAQBvc3NpcCBzdGF0ZXMgYmFzZWQgb24gdGltZSAoQ0FTU0FORFJBLTI5NjEpCiAqIGltcHJvdmUgQ29tcGFjdGlvblRhc2sgZXh0ZW5zaWJpbGl0eSAoQ0FTU0FORFJBLTMzMzApCiAqIEFsbG93IG9uZSBsZXZlbGVkIGNvbXBhY3Rpb24gdGFzayB0byBraWNrIG9mZiBhbm90aGVyIChDQVNTQU5EUkEtMzM2MykKICogYWxsb3cgZW5jcnlwdGlvbiBvbmx5IGJldHdlZW4gZGF0YWNlbnRlcnMgKENBU1NBTkRSQS0yODAyKQpNZXJnZWQgZnJvbSAwLjg6CiAqxaUz/gAAAU/ePLJcABAgKENBU1NBTkRSQS0zNTM4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4zAAABAFNBTkRSQS01MTU5KQpNZXJnZWQgZnJvbSAxLjE6CiAqIFNpbXBsaWZ5IENvbXByZXNzZWRSYW5kb21BY2Nlc3NSZWFkZXIgdG8gd29yayBhcm91bmQgSkRLIEZEIGJ1ZyAoQ0FTU0FORFJBLTUwODgpCiAqIEltcHJvdmUgaGFuZGxpbmcgYSBjaGFuZ2luZyB0YXJnZXQgdGhyb3R0bGUgcmF0ZSBtaWQtY29tcGFjdGlvbiAoQ0FTU0FORFJBLTUwODcpCiAqIFBpZzogY29ycmVjdGx5IGRlY29kZSByb3cga2V5cyBpbiB3aWRlcm93IG1vZGUgKENBU1NBTkQ5GU0IAAABT948slwAEEUgdGFibGVzIChDQVNTQU4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILjMAAAEAIHN0cmVhbWluZyBkYXRhIGZyb20gb2xkIHNzdGFibGVzIChDQVNTQU5EUkEtMjI4MykKICogZG9uJ3Qgc3RhcnQgcmVwYWlyIGlmIGEgbmVpZ2hib3Jpbmcgbm9kZSBpcyBtYXJrZWQgYXMgZGVhZCAoQ0FTU0FORFJBLTIyOTApCiAqIHB1cmdlIHRvbWJzdG9uZXMgZnJvbSByb3cgY2FjaGUgKENBU1NBTkRSQS0yMzA1KQogKiBBdm9pZCBzZWVraW5nIHdoZW4gc3N0YWJsZTJqc29uIGV4cG9ydHMgdGhlIGVudGlyZSBmaWxlIChDQVNTQU5EUkEtMjMxOEAZfZoAAAFP3jyyXAAQKENBU1NBTkRSQS00MDc5KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguMwAAAQBrIGV4dGVuc2liaWxpdHkgKENBU1NBTkRSQS0zMzMwKQogKiBBbGxvdyBvbmUgbGV2ZWxlZCBjb21wYWN0aW9uIHRhc2sgdG8ga2ljayBvZmYgYW5vdGhlciAoQ0FTU0FORFJBLTMzNjMpCiAqIGFsbG93IGVuY3J5cHRpb24gb25seSBiZXR3ZWVuIGRhdGFjZW50ZXJzIChDQVNTQU5EUkEtMjgwMikKTWVyZ2VkIGZyb20gMC44OgogKiBmaXggdHJ1bmNhdGUgYWxsb3dpbmcgZGF0YSB0byBiZSByZXBsYXllZCBwb3N0LXJlc3RhcnQgKENBU1NBTkRSQS0ztbMaWQAAAU/ePLJcABBpbmcgQ1FMMyB0YWJsZXMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4zAAABACBpbiBIaW50ZWRIYW5kb2ZmTWFuYWdlciAoQ0FTU0FORFJBLTcyODQpCiAqIFVzZSBwcmVwYXJlZCBzdGF0ZW1lbnRzIGludGVybmFsbHkgKENBU1NBTkRSQS02OTc1KQogKiBGaXggYnJva2VuIHBhZ2luZyBzdGF0ZSB3aXRoIHByZXBhcmVkIHN0YXRlbWVudCAoQ0FTU0FORFJBLTcxMjApCiAqIEZpeCBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gaW4gQ3FsU3RvcmFnZSAoQ0FTU0FORFJBLTcyODcpCiAqIEFsbG93IG51bGxzL25vbi1leGlzdGFudCDqe0z+AAABT948slwAEHRlY3Rpb24vbG9nZ2luZyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILjMAAAEAIGltbWVkaWF0ZWx5IChDQVNTQU5EUkEtMTkxNCkKICogcmV2ZXJ0IGNvbW1pdGxvZyBjaGFuZ2VzIGZyb20gIzE3ODAgKENBU1NBTkRSQS0xOTE3KQogKiBjaGFuZ2UgUmFuZG9tUGFydGl0aW9uZXIgbWluIHRva2VuIHRvIC0xIHRvIGF2b2lkIGNvbGxpc2lvbiB3LwogICB0b2tlbnMgb24gYWN0dWFsIG5vZGVzIChDQVNTQU5EUkEtMTkwMSkKICogZXhhbWluZSB0aGUgcmlnaHQgbmliYmxlIHdoZW4gdmFsaWRhdGluZyBUaW1lVVVJRCAoQ0FTU0FORNrQ5icAAAFP3jyyXAAQdXJyZW5jeSBpc3N1ZXMgdwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguMwAAAQBlZmluZWQgKENBU1NBTkRSQS0xNTc0KQogKiBmaXggdW5ib290c3RyYXAgd2hlbiBubyBkYXRhIGlzIHByZXNlbnQgaW4gYSB0cmFuc2ZlciByYW5nZSAoQ0FTU0FORFJBLTE1NzMpCiAqIHRha2UgYWR2YW50YWdlIG9mIEFWUk8tNDk1IHRvIHNpbXBsaWZ5IG91ciBhdnJvIElETCAoQ0FTU0FORFJBLTE0MzYpCiAqIGV4dGVuZCBhdXRob3JpemF0aW9uIGhpZXJhcmNoeSB0byBjb2x1bW4gZmFtaWx5IChDQVNTQU5EUkEtMTU1NCkKICogZGVsZXRpb24g9JXntwAAAU/ePLJcABBBTkRSQS04ODAyKQogKiBJAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4zAAABAGVkIEJVR1MgZmlsZQoKCjAuMy4wIFJDMQogKiBSYW5nZSBxdWVyaWVzIG9uIGtleXMsIGluY2x1ZGluZyB1c2VyLWRlZmluZWQga2V5IGNvbGxhdGlvbgogKiBSZW1vdmUgc3VwcG9ydAogKiBXb3JrYXJvdW5kcyBmb3IgYSB3ZWlyZCBidWcgaW4gSkRLIHNlbGVjdC9yZWdpc3RlciB0aGF0IHNlZW1zCiAgIHBhcnRpY3VsYXJseSBjb21tb24gb24gVk0gZW52aXJvbm1lbnRzLiBDYXNzYW5kcmEgc2hvdWxkIGRlcGxveQogICBmaW5lIG9uIEVDMiBub3dvBlU8AAABT948slwAECB0aW1lc3RhbXBzIGluIFQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILjMAAAEAdGFibGUgcmVmZXJlbmNlcyBhZnRlciBhbnRpY29tcGFjdGlvbiAoQ0FTU0FORFJBLTgzODYpCiAqIEhhbmRsZSBhYm9ydCgpIGluIFNTVGFibGVSZXdyaXRlciBwcm9wZXJseSAoQ0FTU0FORFJBLTgzMjApCiAqIEZpeCBoaWdoIHNpemUgY2FsY3VsYXRpb25zIGZvciBwcmVwYXJlZCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtODIzMSkKICogQ2VudHJhbGl6ZSBzaGFyZWQgZXhlY3V0b3JzIChDQVNTQU5EUkEtODA1NSkKICogRml4IGZpbHRlcmluZyBmbwxV1v4AAAFP3jyyXAAQIGlzIGdpdmVuIChDQVNTQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguMwAAAQBlZFByb3ZpZGVyIChDQVNTQU5EUkEtMTY2OSkKICogRml4IGNsdXN0ZXJ0b29sIHRvIG5vdCB0aHJvdyBleGNlcHRpb24gd2hlbiBjYWxsaW5nIGdldF9lbmRwb2ludHMgKENBU1NBTkRSQS0yNDM3KQogKiB1cGdyYWRlIHRvIHRocmlmdCAwLjYgKENBU1NBTkRSQS0yNDEyKSAKICogcmVwYWlyIHdvcmtzIG9uIGEgdG9rZW4gcmFuZ2UgaW5zdGVhZCBvZiBmdWxsIHJpbmcgKENBU1NBTkRSQS0yMzI0KQogKiBwdXJnZSB0b21ic3RvbmVzIGZyb20gcm93PAwsHQAUr2Yy4J+9AAABT948slwAECAgIHNzdGFibGUgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILjYAAAEAcGFjdGlvbiAoQ0FTU0FORFJBLTQxNDIpCiAqIE9wdGltaXplIHJlYWRzIHdoZW4gcm93IGRlbGV0aW9uIHRpbWVzdGFtcHMgYWxsb3cgdXMgdG8gcmVzdHJpY3QKICAgdGhlIHNldCBvZiBzc3RhYmxlcyB3ZSBjaGVjayAoQ0FTU0FORFJBLTQxMTYpCiAqIGFkZCBzdXBwb3J0IGZvciBjb21taXRsb2cgYXJjaGl2aW5nIGFuZCBwb2ludC1pbi10aW1lIHJlY292ZXJ5CiAgIChDQVNTQU5EUkEtMzY5MCkKICogYXZvaWQgZ2VuZXJhdGluZyByZWR1bmRhbiAqLwYAAAFP3jyyXAAQd2hlbiBxdWVyaWVzIGNvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguNgAAAQBhcmRpbmFsaXR5IGluZGV4ZXMgKENBU1NBTkRSQS0xMzM3KQogKiBjaGFuZ2UgbG9nZ2luZyBmcm9tIGxvZzRqIHRvIGxvZ2JhY2sgKENBU1NBTkRSQS01ODgzKQogKiBzd2l0Y2ggdG8gTFo0IGNvbXByZXNzaW9uIGZvciBpbnRlcm5vZGUgY29tbXVuaWNhdGlvbiAoQ0FTU0FORFJBLTU4ODcpCiAqIFN0b3AgdXNpbmcgVGhyaWZ0LWdlbmVyYXRlZCBJbmRleCogY2xhc3NlcyBpbnRlcm5hbGx5IChDQVNTQU5EUkEtNTk3MSkKICogUmVtb3ZlIDEuMiBuMXXPZwAAAU/ePLJcABBhLnVuc2FmZXN5c3RlbSBwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC42AAABAChmb3IgdGhyb3R0bGluZykgd2hlbiB0aGV5IGhhdmUKICAgc3VjY2Vzc2Z1bGx5IGFjcXVpcmVkIHRoZSBjb21wYWN0aW9uIGxvY2sgKENBU1NBTkRSQS0zMzQ0KQogKiBEaXNwbGF5IENMSSB2ZXJzaW9uIHN0cmluZyBvbiBzdGFydHVwIChDQVNTQU5EUkEtMzE5NikKICogKEhhZG9vcCkgbWFrZSBDRklGIHRyeSBycGNfYWRkcmVzcyBvciBmYWxsYmFjayB0byBsaXN0ZW5fYWRkcmVzcwogICAoQ0FTU0FORFJBLTMyMTQpCiAqIChIYWRvb3ApIGFjY2X3NG7SAAABT948slwAEGF0ZWQgdG8ga2V5c3BhY2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILjYAAAEAZyBjb2x1bW5zIGFuZCBzdWJjb2x1bW5zIHRoYXQgYXJlIHN1cHJlc3NlZCBieSBhIHJvdyBvcgogICBzdXBlcmNvbHVtbiB0b21ic3RvbmUgZHVyaW5nIHJlcGxpY2EgcmVzb2x1dGlvbiAoQ0FTU0FORFJBLTI1OTApCiAqIHN1cHBvcnQgc3N0YWJsZTJqc29uIGFnYWluc3Qgc25hcHNob3Qgc3N0YWJsZXMgKENBU1NBTkRSQS0yMzg2KQogKiByZW1vdmUgYWN0aXZlLXB1bGwgc2NoZW1hIHJlcXVlc3RzIChDQVNTQU5EUkEtMjcxNSkKICogYXZvaWQgbZYeJ5cAAAFP3jyyXAAQaW4gY29tcGFjdGlvbnN0YQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguNgAAAQBtUmVhZENvbW1hbmQgKENBU1NBTkRSQS01Mjg0KQogKiBjcWxzaDogQWRkIGluZXQgdHlwZSBzdXBwb3J0IG9uIFdpbmRvd3MgKGlwdjQtb25seSkgKENBU1NBTkRSQS00ODAxKQogKiBGaXggcmFjZSB3aGVuIGluaXRpYWxpemluZyBDb2x1bW5GYW1pbHlTdG9yZSAoQ0FTU0FORFJBLTUzNTApCiAqIEFkZCBVc2VUTEFCIEpWTSBmbGFnIChDQVNTQU5EUkEtNTM2MSkKCgoxLjIuMgogKiBmaXggcG90ZW50aWFsIGZvciBtdWx0aXBsZSBjb25jdXJyZW50aOgc2AAAAU/ePLJcABApCiAqIEZpeCBoaWdoIHNpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC42AAABACBhIHNjaGVtYSBtaXNtYXRjaCBiZWluZyBkZXRlY3RlZCBvbiBzdGFydHVwIChDQVNTQU5EUkEtODUxMikKICogUHJvcGVybHkgY2FsY3VsYXRlIGV4cGVjdGVkIHdyaXRlIHNpemUgZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS04NTMyKQogKiBJbnZhbGlkYXRlIGFmZmVjdGVkIHByZXBhcmVkIHN0YXRlbWVudHMgd2hlbiBhIHRhYmxlJ3MgY29sdW1ucwogICBhcmUgYWx0ZXJlZCAoQ0FTU0FORFJBLTc5MTApCiAqIFN0cmVzcyAtIHVzZXIgZGVGKJ0LAAABT948slwAEERSQS02MjMpCiAqIGFkZCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILjYAAAEAQ0ZzIGZpcnN0IHRvIGluY3JlYXNlIGZyZWUgdGVtcCBzcGFjZSBmb3IgbGFyZ2VyIG9uZXMKICAgKENBU1NBTkRSQS0xODExKQogKiBVcGRhdGUgd2luZG93cyAuYmF0IGZpbGVzIHRvIHdvcmsgb3V0c2lkZSBvZiBtYWluIENhc3NhbmRyYQogICBkaXJlY3RvcnkgKENBU1NBTkRSQS0xNzEzKQogKiBmaXggcmVhZCByZXBhaXIgcmVncmVzc2lvbiBmcm9tIDAuNi43IChDQVNTQU5EUkEtMTcyNykKICogbW9yZS1lZmZpY2llbnQgcmVhZCByZXBhaXIgKEmxDaAAAAFP3jyyXAAQIGV4Y2VlZGVkIGV2ZXJ5IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguNgAAAQBncmVzcyBhbmQgc3RhdHMgaW4gc3N0YWJsZWxvYWRlciAoQ0FTU0FORFJBLTg5ODIpCiAqIENvcnJlY3RseSBpZGVudGlmeSAyaSBkYXRhZGlyIGZyb20gb2xkZXIgdmVyc2lvbnMgKENBU1NBTkRSQS05MTE2KQpNZXJnZWQgZnJvbSAyLjA6CiAqIElnbm9yZSBnb3NzaXAgU1lOcyBhZnRlciBzaHV0ZG93biAoQ0FTU0FORFJBLTkyMzgpCiAqIEF2b2lkIG92ZXJmbG93IHdoZW4gY2FsY3VsYXRpbmcgbWF4IHNzdGFibGUgc2l6ZSBpbiBMQ1MgKENBU1NBx8KRzAAAAU/ePLJcABB3aGVuIHF1ZXJpZXMgY29uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC42AAABADQ1NjYpCiAqIG9wdGltaXplIFdyaXRlUmVzcG9uc2UgKENBU1NBTkRSQS00NTQ4KQogKiBuZXcgbWV0cmljcyAoQ0FTU0FORFJBLTQwMDkpCiAqIHJlZGVzaWduIEtFWVMgaW5kZXhlcyB0byBhdm9pZCByZWFkLWJlZm9yZS13cml0ZSAoQ0FTU0FORFJBLTI4OTcpCiAqIGRlYnVnIHRyYWNpbmcgKENBU1NBTkRSQS0xMTIzKQogKiBwYXJhbGxlbGl6ZSByb3cgY2FjaGUgbG9hZGluZyAoQ0FTU0FORFJBLTQyODIpCiAqIE1ha2UgY29tcGFjdGlvbiwgZmw6sH75AAABT948slwAEHRFeGNlcHRpb24gd2hlbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILjYAAAEAL2xvYWQgdG8gdXNlIG9ubHkgc2VxdWVudGlhbCBpL28gKENBU1NBTkRSQS0zNzYyKQogKiB1cGRhdGUgTVMgcHJvdG9jb2wgd2l0aCBhIHZlcnNpb24gaGFuZHNoYWtlICsgYnJvYWRjYXN0IGFkZHJlc3MgaWQKICAgKENBU1NBTkRSQS00MzExKQogKiBtdWx0aXRocmVhZGVkIGhpbnQgcmVwbGF5IChDQVNTQU5EUkEtNDE4OSkKICogYWRkIGludGVyLW5vZGUgbWVzc2FnZSBjb21wcmVzc2lvbiAoQ0FTU0FORFJBLTMxMjcpCiAqIHJlbW92ZSBDT1BQIFe3FLcAAAFP3jyyXAAQZW1lbnRzL2ZpeGVzIHRvIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguNgAAAQBjZXNzaW5nIChDQVNTQU5EUkEtMTM1OCkKICogYWRkIGpteCBwb3J0IGNvbmZpZ3VyYXRpb24gdG8gRGViaWFuIHBhY2thZ2UgKENBU1NBTkRSQS0xMjAyKQogKiB1c2UgbWxvY2thbGwgdmlhIEpOQSwgaWYgcHJlc2VudCwgdG8gcHJldmVudCBMaW51eCBmcm9tIHN3YXBwaW5nCiAgIG91dCBwYXJ0cyBvZiB0aGUgSlZNIChDQVNTQU5EUkEtMTIxNCkKCgowLjYuNAogKiBhdm9pZCBxdWV1aW5nIG11bHRpcGxlIGhpbnQgZGVsaXZlcmllcyBmb3IgdGhlOvgQtQAAAU/ePLJcABAgIChDQVNTQU5EUkEtMzU4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC42AAABAGhvZCAoQ0FTU0FORFJBLTY2MjkpCiAqIEhhbmRsZSBob3N0IElEIGNvbmZsaWN0cyBwcm9wZXJseSAoQ0FTU0FORFJBLTY2MTUpCiAqIE1vdmUgaGFuZGxpbmcgb2YgbWlncmF0aW9uIGV2ZW50IHNvdXJjZSB0byBzb2x2ZSBib290c3RyYXAgcmFjZS4gKENBU1NBTkRSQS02NjQ4KQogKiBNYWtlIHN1cmUgY29tcGFjdGlvbiB0aHJvdWdocHV0IHZhbHVlIGRvZXNuJ3Qgb3ZlcmZsb3cgd2l0aCBpbnQgbWF0aCAoQ0FTU0FORFJBLTY2NDcpCgoKMi4wLjSLuyTdAAABT948slwAEHVyaW5nIGNvbXBhY3Rpb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILjYAAAEAYXJuaW5nIHdoZW4gYSBub2RlIHJlY2VpdmVzIGEgbWVzc2FnZSBmb3IgYSByZXBhaXIgc2Vzc2lvbgogICB0aGF0IGRvZXNuJ3QgZXhpc3QgYW55bW9yZSAoQ0FTU0FORFJBLTMyNTYpCiAqIHRlc3QgZm9yIE5VTUEgcG9saWN5IHN1cHBvcnQgYXMgd2VsbCBhcyBudW1hY3RsIHByZXNlbmNlIChDQVNTQU5EUkEtMzI0NSkKICogRml4IEZEIGxlYWsgd2hlbiBpbnRlcm5vZGUgZW5jcnlwdGlvbiBpcyBlbmFibGVkIChDQVNTQU5EUkEtMzI1NykKICogUhVTiSsAAAFP3jyyXAAQUkEtMzU3MykKICogQ2hlYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguNgAAAQAgQWRkICdkaWUnIHBvbGljeSBmb3IgY29tbWl0IGxvZyBhbmQgZGlzayBmYWlsdXJlIChDQVNTQU5EUkEtNzkyNykKICogRml4IGluc3RhbGxpbmcgYXMgc2VydmljZSBvbiBXaW5kb3dzIChDQVNTQU5EUkEtODExNSkKICogRml4IENSRUFURSBUQUJMRSBmb3IgQ1FMMiAoQ0FTU0FORFJBLTgxNDQpCiAqIEF2b2lkIGJveGluZyBpbiBDb2x1bW5TdGF0cyBtaW4vbWF4IHRyYWNrZXJzIChDQVNTQU5EUkEtODEwOSkKTWVyZ2VkIGZyb20gMi4wOgogKiBD9d+utAAAAU/ePLJcABBoZXIgKENBU1NBTkRSQS0zAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC42AAABACkKICogRml4IHJhY2UgcHJvY2Vzc2luZyByYW5nZSBzY2FuIHJlc3BvbnNlcyAoQ0FTU0FORFJBLTY4MjApCiAqIEFsbG93IGRlbGV0aW5nIHNuYXBzaG90cyBmcm9tIGRyb3BwZWQga2V5c3BhY2VzIChDQVNTQU5EUkEtNjgyMSkKICogQWRkIHV1aWQoKSBmdW5jdGlvbiAoQ0FTU0FORFJBLTY0NzMpCiAqIE9taXQgdG9tYnN0b25lcyBmcm9tIHNjaGVtYSBkaWdlc3RzIChDQVNTQU5EUkEtNjg2MikKICogSW5jbHVkZSBjb3JyZWN0IGNvbnNpc3RlbmMbBzHvABTDw1THEIMAAAFP3jyyXAAQZXJpbmcgY29sdW1ucwogIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguOgAAAQBoZXIgcGxhY2VzIHJlc3BvbnNpYmxlIGZvciB3b3JrIHdpdGggU1NUYWJsZSBmaWxlcyAoQ0FTU0FORFJBLTMwNDApCiAqIFN0b3AgcmVhZGluZyBmcm9tIHNzdGFibGVzIG9uY2Ugd2Uga25vdyB3ZSBoYXZlIHRoZSBtb3N0IHJlY2VudCBjb2x1bW5zLAogICBmb3IgcXVlcnktYnktbmFtZSByZXF1ZXN0cyAoQ0FTU0FORFJBLTI0OTgpCiAqIEFkZCBxdWVyeS1ieS1jb2x1bW4gbW9kZSB0byBzdHJlc3MuamF2YSAoQ0FTU0FORFJBLTMwNjQpCiAqIEFkbO+z3AAAAU/ePLJcABAgc3N0YWJsZXMgaW4KICAgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC46AAABAENBU1NBTkRSQS00NDkwLCA0NjQ0KQogKiBmaXggYXNzdW1wdGlvbiBlcnJvciBpbiBDTEkgd2hlbiB1cGRhdGluZy9kZXNjcmliaW5nIGtleXNwYWNlIAogICAoQ0FTU0FORFJBLTQzMjIpCiAqIEFkZHMgb2ZmbGluZSBzc3RhYmxlc2NydWIgdG8gZGViaWFuIHBhY2thZ2luZyAoQ0FTU0FORFJBLTQ2NDIpCiAqIEF1dG9tYXRpYyBmaXhpbmcgb2Ygb3ZlcmxhcHBpbmcgbGV2ZWxlZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTQ2NDQpCiAqIGZpeCBlcnJvciDE4+/FAAABT948slwAEHJtYWwgY29tcGFjdGlvbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILjoAAAEAdXJyZW50IHZlcnNpb24gc3N0YWJsZXMgYnkgZGVmYXVsdCAoQ0FTU0FORFJBLTUzNjYpCiAqIE9wdGltaXplIG1pbi9tYXggdGltZXN0YW1wIGNvbGxlY3Rpb24gKENBU1NBTkRSQS01MzczKQogKiBJbnZhbGlkIHN0cmVhbUlkIGluIGNxbCBiaW5hcnkgcHJvdG9jb2wgd2hlbiB1c2luZyBpbnZhbGlkIENMIAogICAoQ0FTU0FORFJBLTUxNjQpCiAqIEZpeCB2YWxpZGF0aW9uIGZvciBJTiB3aGVyZSBjbGF1c2VzIHdpdGggY29sbGVjdGlvbnMgKENBUyqI+2AAAAFP3jyyXAAQb3JtcyAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguOgAAAQB2b2lkIHJlY3Vyc2lvbiBpbiBsZXZlbGVkIGNvbXBhY3Rpb24gKENBU1NBTkRSQS00NTg3KQogKiBpbmNyZWFzZSBzdGFjayBzaXplIHVuZGVyIEphdmE3IHRvIDE4MEsKICogTG9nKGluZm8pIHNjaGVtYSBjaGFuZ2VzIChDQVNTQU5EUkEtNDU0NykKICogQ2hhbmdlIG5vZGV0b29sIHNldGNhY2hlY2FwY2l0eSB0byBtYW5pcHVsYXRlIGdsb2JhbCBjYWNoZXMgKENBU1NBTkRSQS00NTYzKQogKiAoY3FsMykgZml4IHNldHRpbmcgY29tcGFjdGlvbiBzTRjFfQAAAU/ePLJcABBvcm1hdGlvbiBhbmQgYWxpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC46AAABACBBZGQgYSByYXRlIGxpbWl0IG9wdGlvbiB0byBzdHJlc3MgKENBU1NBTkRSQS01MDA0KQogKiBoYXZlIEJ1bGtMb2FkZXIgaWdub3JlIHNuYXBzaG90cyBkaXJlY3RvcmllcyAoQ0FTU0FORFJBLTU1ODcpIAogKiBmaXggU25pdGNoUHJvcGVydGllcyBsb2dnaW5nIGNvbnRleHQgKENBU1NBTkRSQS01NjAyKQogKiBFeHBvc2Ugd2hldGhlciBqbmEgaXMgZW5hYmxlZCBhbmQgbWVtb3J5IGlzIGxvY2tlZCB2aWEgSk1YIChDQVNTQU5EUkEtNTUwOCkKICqABFw5AAABT948slwAEEEtNTQ5NikKICogRG9uJ3QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILjoAAAEAcHV0IChDQVNTQU5EUkEtMTkzMykKICogY2hhbmdlIGRlZmF1bHQgSk1YIHBvcnQgdG8gNzE5OSAoQ0FTU0FORFJBLTIwMjcpCiAqIGJhY2t3YXJkcyBjb21wYXRpYmxlIGludGVybmFsIG1lc3NhZ2luZyAoQ0FTU0FORFJBLTEwMTUpCiAqIGF0b21pYyBzd2l0Y2ggb2YgbWVtdGFibGVzIGFuZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTIyODQpCiAqIGFkZCBwbHVnZ2FibGUgU2VlZFByb3ZpZGVyIChDQVNTQU5EUkEtMTY2OSkKICogRml4IGNsdXN0ZXJ0b1nQ1xcAAAFP3jyyXAAQY2lhbGx5IG9uIENMIHdyaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguOgAAAQApCiAqIGNxbHNoIGNhbid0IHRhYi1jb21wbGV0ZSBkaXNhYmxpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTcxODUpCiAqIGNxbHNoOiBBY2NlcHQgYW5kIGV4ZWN1dGUgQ1FMIHN0YXRlbWVudChzKSBmcm9tIGNvbW1hbmQtbGluZSBwYXJhbWV0ZXIgKENBU1NBTkRSQS03MTcyKQogKiBGaXggSWxsZWdhbFN0YXRlRXhjZXB0aW9uIGluIENxbFBhZ2luZ1JlY29yZFJlYWRlciAoQ0FTU0FORFJBLTcxOTgpCiAqIEZpeCB0aGUgSW52ZXJ0ZWRJbmRleCB0zjclkgAAAU/ePLJcABBBTkRSQS00NjQ0KQogKiBmAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC46AAABACB2YWxpZCBwb2ludGVyIChDQVNTQU5EUkEtODcyNikKICogRml4IFNTVGFibGVTaW1wbGVVbnNvcnRlZFdyaXRlciBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uIChDQVNTQU5EUkEtODYxOSkKICogJ25vZGV0b29sIGluZm8nIHByaW50cyBleGNlcHRpb24gYWdhaW5zdCBvbGRlciBub2RlIChDQVNTQU5EUkEtODc5NikKICogRW5zdXJlIFNTVGFibGVTaW1wbGVVbnNvcnRlZFdyaXRlci5jbG9zZSgpIHRlcm1pbmF0ZXMgaWYKICAgZGlzayD4zQrVAAABT948slwAEGl2ZXIgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILjoAAAEAZml4IGNhc3NhbmRyYS1lbnYuc2ggb24gUkhFTCBhbmQgb3RoZXIgbm9uLWRhc2gtYmFzZWQgc3lzdGVtcyAKICAgKENBU1NBTkRSQS00NDk0KQpNZXJnZWQgZnJvbSAxLjA6CiAqIChIYWRvb3ApIGZpeCBzZXR0aW5nIGtleSBsZW5ndGggZm9yIG9sZC1zdHlsZSBtYXByZWQgYXBpIChDQVNTQU5EUkEtNDUzNCkKICogKEhhZG9vcCkgZml4IGl0ZXJhdGluZyB0aHJvdWdoIGEgcmVzdWx0c2V0IGNvbnNpc3RpbmcgZW50aXJlbHkKICAgb2YgdG9tYnN0b1TOyxwAAAFP3jyyXAAQb2x1bW5GYW1pbHlSZWNvcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguOgAAAQAgTWV0ZXJlZEZsdXNoZXIgdG8gaXRzIG93biB0aHJlYWQgKENBU1NBTkRSQS04NDg1KQogKiBGaXggbm9uLWRpc3RpbmN0IHJlc3VsdHMgaW4gRElTVE5DVCBxdWVyaWVzIG9uIHN0YXRpYyBjb2x1bW5zIHdoZW4KICAgcGFnaW5nIGlzIGVuYWJsZWQgKENBU1NBTkRSQS04MDg3KQogKiBNb3ZlIGFsbCBoaW50cyByZWxhdGVkIHRhc2tzIHRvIGhpbnRzIGludGVybmFsIGV4ZWN1dG9yIChDQVNTQU5EUkEtODI4NSkKICogRml4IHBhZ2luZyBmb3IgbXVsw8mtLgAAAU/ePLJcABBjb2wgKENBU1NBTkRSQS03AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC46AAABAFNBTkRSQS02NTk5KQogKiBTdXBwb3J0IG5vbi1lcXVhbHMgY29uZGl0aW9ucyBpbiBsaWdodHdlaWdodCB0cmFuc2FjdGlvbnMgKENBU1NBTkRSQS02ODM5KQogKiBBZGQgSUYgW05PVF0gRVhJU1RTIHRvIGNyZWF0ZS9kcm9wIHRyaWdnZXJzIChDQVNTQU5EUkEtNzYwNikKICogKGNxbHNoKSBEaXNwbGF5IHRoZSBjdXJyZW50IGxvZ2dlZC1pbiB1c2VyIChDQVNTQU5EUkEtNzc4NSkKICogKGNxbHNoKSBEb24ndCBpZ25vcmUgQ1RSTC1DIGR1cmluZyDKffRQAAABT948slwAEDEpCiAqIEF2b2lkIGNyZWEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILjoAAAEATkRSQS04Mjg2KQogKiBEaXNhYmxlIFNTTHYzIGZvciBQT09ETEUgKENBU1NBTkRSQS04MjY1KQogKiBGaXggbWlsbGlzZWNvbmQgdGltZXN0YW1wcyBpbiBUcmFjaW5nIChDQVNTQU5EUkEtODI5NykKICogSW5jbHVkZSBrZXlzcGFjZSBuYW1lIGluIGVycm9yIG1lc3NhZ2Ugd2hlbiB0aGVyZSBhcmUgaW5zdWZmaWNpZW50CiAgIGxpdmUgbm9kZXMgdG8gc3RyZWFtIGZyb20gKENBU1NBTkRSQS04MjIxKQogKiBBdm9pZCBvdmVybGFwIGluIEwxIHdoZaXHxAoAAAFP3jyyXAAQaGVuIGNyZWF0aW5nIGEgdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguOgAAAQBvY2F0ZSBidWZmZXJzIGluIEhTSEEgKENBU1NBTkRSQS02Mjg1KQogKiAoSGFkb29wKSBzdXBwb3J0IGF1dGhlbnRpY2F0aW9uIGluIENxbFJlY29yZFJlYWRlciAoQ0FTU0FORFJBLTcyMjEpCiAqIChIYWRvb3ApIENsb3NlIGphdmEgZHJpdmVyIENsdXN0ZXIgaW4gQ1FMUlIuY2xvc2UgKENBU1NBTkRSQS03MjI4KQogKiBXYXJuIHdoZW4gJ1VTSU5HIFRJTUVTVEFNUCcgaXMgdXNlZCBvbiBhIENBUyBCQVRDSCAoQ0FTU0FORFJBLTcwNjcpCiAqIHJlmRmrzQAAAU/ePLJcABAsIGlmIGFueSwgZnJvbQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC46AAABAGJsZXMKICAgb3BlcmF0aW9ucyB1bmRlciBMZXZlbGVkQ29tcGFjdGlvblN0cmF0ZWd5IChDQVNTQU5EUkEtMzk4OSwgNDExMikKICogZml4IHJhY2UgbGVhZGluZyB0byBzdXBlciBjb2x1bW5zIGFzc2VydGlvbiBmYWlsdXJlIChDQVNTQU5EUkEtMzk1NykKICogZml4IE5QRSBvbiBpbnZhbGlkIENRTCBkZWxldGUgY29tbWFuZCAoQ0FTU0FORFJBLTM3NTUpCiAqIGFsbG93IGN1c3RvbSB0eXBlcyBpbiBDTEkncyBhc3N1bWUgY29tbWFuZCAoQ0FTU0H8pZvNAAABT948slwAECByaW5nIGluZm9ybWF0aW8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILjoAAAEAaXplIGF3YXkgY29weSBvZiBzbGljZWQgcm93IG9uIG1lbXRhYmxlIHJlYWQgcGF0aCAoQ0FTU0FORFJBLTEwNDYpCiAqIHJlcGxhY2UgY29uc3RhbnQtc2l6ZSAyR0IgbW1hcGVkIHNlZ21lbnRzIGFuZCBzcGVjaWFsIGNhc2luZyBmb3IgaW5kZXggCiAgIGVudHJpZXMgc3Bhbm5pbmcgc2VnbWVudCBib3VuZGFyaWVzLCB3aXRoIFNlZ21lbnRlZEZpbGUgdGhhdCBjb21wdXRlcyAKICAgc2VnbWVudHMgdGhhdCBhbHdheXMgY29udGFpbiBlbnRpcmUgZYiKRhQAFNggOzNjTwAAAU/ePLJcABAgICAoQ0FTU0FORFJBLTc3AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC49AAABACBkZWxldGVzCiAgIChDQVNTQU5EUkEtNTQ0NSkKICogQWxsb3cgZW1wdHkgYmxvYiBsaXRlcmFscyBpbiBDUUwzIChDQVNTQU5EUkEtNTQ1MikKICogRml4IHN0cmVhbWluZyBSYW5nZVRvbWJzdG9uZXMgYXQgY29sdW1uIGluZGV4IGJvdW5kYXJ5IChDQVNTQU5EUkEtNTQxOCkKICogRml4IHByZXBhcmluZyBzdGF0ZW1lbnRzIHdoZW4gY3VycmVudCBrZXlzcGFjZSBpcyBub3Qgc2V0IChDQVNTQU5EUkEtNTQ2OCkKICogRml4IFNlbWFudGljVmVyc2nxqjmBAAABT948slwAEFNTQU5EUkEtMjYyNCkKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILj0AAAEAICAgKENBU1NBTkRSQS01Mzk1KQogKiBDaGFuZ2UgZGVmYXVsdCBzdHJlYW0gdGhyb3VnaHB1dCBmcm9tIDQwMCB0byAyMDAgbWJwcyAoQ0FTU0FORFJBLTUwMzYpCiAqIEdvc3NpcGVyIGxvZ3MgRE9XTiBmb3Igc3ltbWV0cnkgd2l0aCBVUCAoQ0FTU0FORFJBLTUxODcpCiAqIEZpeCBtaXhpbmcgcHJlcGFyZWQgc3RhdGVtZW50cyBiZXR3ZWVuIGtleXNwYWNlcyAoQ0FTU0FORFJBLTUzNTIpCiAqIEZpeCBjb25zaXN0ZW5jeSBsZXZlbCBkdXJpbmcgYpCeQs4AAAFP3jyyXAAQbWV0ZXJzIGluIENxbFJlcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguPQAAAQBpb25zIChDQVNTQU5EUkEtODg0MSkKICogRG9uJ3Qgc2V0IGNsaWVudE1vZGUgaW4gU1NUYWJsZUxvYWRlciAoQ0FTU0FORFJBLTgyMzgpCiAqIEZpeCBTU1RhYmxlUmV3cml0ZXIgd2l0aCBkaXNhYmxlZCBlYXJseSBvcGVuIChDQVNTQU5EUkEtODUzNSkKICogQWxsb3cgaW52YWxpZGF0aW5nIHBlcm1pc3Npb25zIGFuZCBjYWNoZSB0aW1lIChDQVNTQU5EUkEtODcyMikKICogTG9nIHdhcm5pbmcgd2hlbiBxdWVyaWVzIHRoYXQgd2lsbCByZXF1aXJl7AGY3QAAAU/ePLJcABBydmljZSBtYmVhbiAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC49AAABAGZlcmVudCBub2RlcyBkb24ndCBjb3JydXB0IHRoZQogICBzc3RhYmxlIChDQVNTQU5EUkEtNTQ1NCkKICogTW92ZSByZXN1bHRzZXQgdHlwZSBpbmZvcm1hdGlvbiBpbnRvIHByZXBhcmUsIG5vdCBleGVjdXRlIChDQVNTQU5EUkEtNTY0OSkKICogQXV0byBwYWdpbmcgaW4gYmluYXJ5IHByb3RvY29sIChDQVNTQU5EUkEtNDQxNSwgNTcxNCkKICogRG9uJ3QgdGllIGNsaWVudCBzaWRlIHVzZSBvZiBBYnN0cmFjdFR5cGUgdG8gSkRCQyAoQ0FTU0FORFJBejUsAAABT948slwAEGNhbGN1bGF0aW9uIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILj0AAAEAaWxzIChDQVNTQU5EUkEtMzU0OCkKICogUmVtb3ZlIGNvbHVtbnMgc2hhZG93ZWQgYnkgYSBkZWxldGVkIGNvbnRhaW5lciBldmVuIHdoZW4gd2UgY2Fubm90IHB1cmdlCiAgIChDQVNTQU5EUkEtMzUzOCkKICogSW1wcm92ZSBtZW10YWJsZSBzbGljZSBpdGVyYXRpb24gcGVyZm9ybWFuY2UgKENBU1NBTkRSQS0zNTQ1KQogKiBtb3JlIGVmZmljaWVudCBhbGxvY2F0aW9uIG9mIHNtYWxsIGJsb29tIGZpbHRlcnMgKENBU1NBTkRSQS0zNjE4KQogKiBVc/J/dkAAAAFP3jyyXAAQb3J0IG11bHRpcGxlIHJhbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguPQAAAQBTU0FORFJBLTEzNjMpCiAqIHJlc3RvcmUgdXNlIG9mIG1tYXBfaW5kZXhfb25seSBvcHRpb24gKENBU1NBTkRSQS0xMjQxKQogKiBkcm9wcGluZyBhIGtleXNwYWNlIHdpdGggbm8gY29sdW1uIGZhbWlsaWVzIGdlbmVyYXRlZCBhbiBlcnJvciAKICAgKENBU1NBTkRSQS0xMzc4KQogKiByZW5hbWUgUmFja0F3YXJlU3RyYXRlZ3kgdG8gT2xkTmV0d29ya1RvcG9sb2d5U3RyYXRlZ3ksIFJhY2tVbmF3YXJlU3RyYXRlZ3kgCiAgIHRvIFNpbXBsZVN0cmF0JbNSkwAAAU/ePLJcABBTaGFyZFN0cmF0ZWd5IGNvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC49AAABAHV0aW9uIHRpbWUgKENBU1NBTkRSQS01NjE2KQogKiBFeHBvc2UgZGV0YWlsZWQgcmVhZCByZXBhaXIgbWV0cmljcyAoQ0FTU0FORFJBLTU2MTgpCiAqIENvcnJlY3QgYmxvYiBsaXRlcmFsICsgUmV2ZXJzZWRUeXBlIHBhcnNpbmcgKENBU1NBTkRSQS01NjI5KQogKiBBbGxvdyBHUEZTIHRvIHByZWZlciB0aGUgaW50ZXJuYWwgSVAgbGlrZSBFQzJNUlMgKENBU1NBTkRSQS01NjMwKQogKiBmaXggaGVscCB0ZXh0IGZvciAtdHNwdyBjYXNzYW5kcmEtY2x44jDDAAABT948slwAECAoQ0FTU0FORFJBLTIxMDcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILj0AAAEAaXRpb25lciB0byBzc3RhYmxlIG1ldGFkYXRhIChDQVNTQU5EUkEtMzU0MCkKICogZml4IE5QRSBpbiBnZXRfY291bnQgZm9yIGNvdW50ZXJzIChDQVNTQU5EUkEtMzYwMSkKTWVyZ2VkIGZyb20gMC44OgogKiByZW1vdmUgaW52YWxpZCBhc3NlcnRpb24gdGhhdCB0YWJsZSB3YXMgb3BlbmVkIGJlZm9yZSBkcm9wcGluZyBpdAogICAoQ0FTU0FORFJBLTM1ODApCiAqIHJhbmdlIGFuZCBpbmRleCBzY2FucyBub3cgb25seSBzZW5kIHJlcXVlc3RzIHRvIHlhdEgAAAFP3jyyXAAQZSAoQ0FTU0FORFJBLTQwOAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguPQAAAQBvd24gd2hpbGUgaGFuZGxpbmcgbmF0aXZlIHByb3RvY29sIG1lc3NhZ2VzIChDQVNTQU5EUkEtNzQ3MCkKCgoyLjEuMC1yYzMKICogQ29uc2lkZXIgZXhwaXJ5IHdoZW4gcmVjb25jaWxpbmcgb3RoZXJ3aXNlIGVxdWFsIGNlbGxzIChDQVNTQU5EUkEtNzQwMykKICogSW50cm9kdWNlIENRTCBzdXBwb3J0IGZvciBzdHJlc3MgdG9vbCAoQ0FTU0FORFJBLTYxNDYpCiAqIEZpeCBDbGFzc0Nhc3RFeGNlcHRpb24gcHJvY2Vzc2luZyBleHBpcmVkIG1lc3NhVp7HLQAAAU/ePLJcABB0dXAgd2hlbiBXTUkgbWVtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC49AAABAE5EUkEtMTM3MSkKICogdHJ1bmNhdGUgaGludHMgaWYgc3RhcnRpbmcgMC43IGZvciB0aGUgZmlyc3QgdGltZSAoQ0FTU0FORFJBLTE0MTQpCiAqIGZpeCBGRCBsZWFrIGluIHNpbmdsZS1yb3cgc2xpY2VwcmVkaWNhdGUgcXVlcmllcyAoQ0FTU0FORFJBLTE0MTYpCiAqIGFsbG93IGluZGV4IGV4cHJlc3Npb25zIGFnYWluc3QgY29sdW1ucyB0aGF0IGFyZSBub3QgcGFydCBvZiB0aGUgCiAgIFNsaWNlUHJlZGljYXRlIChDQVNTQU5EUkEtMTQxMCkKICrLhClhAAABT948slwAEFNTQU5EUkEtNjk2KQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILj0AAAEAIHJldmVyc2VkIHF1ZXJpZXMgd2l0aCBzdGF0aWMgY29sdW1ucyAoQ0FTU0FORFJBLTc0OTApCiAqIEJhY2twb3J0IENBU1NBTkRSQS02NzQ3IChDQVNTQU5EUkEtNzU2MCkKICogVHJhY2sgbWF4L21pbiB0aW1lc3RhbXBzIGZvciByYW5nZSB0b21ic3RvbmVzIChDQVNTQU5EUkEtNzY0NykKICogRml4IE5QRSB3aGVuIGxpc3Rpbmcgc2F2ZWQgY2FjaGVzIGRpciAoQ0FTU0FORFJBLTc2MzIpCiAqIEZpeCBzc3RhYmxlbG9hZGVyIHVuYWJsZSB0byBjb/ldz0sAAAFP3jyyXAAQbiBISE9NIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguPQAAAQBnY19ncmFjZSAoQ0FTU0FORFJBLTIzMTcpCiAqIG9wdGltaXplIGF3YXkgc2VlayB3aGVuIGNvbXBhY3Rpbmcgd2lkZSByb3dzIChDQVNTQU5EUkEtMjg3OSkKICogc2luZ2xlLXBhc3Mgc3RyZWFtaW5nIChDQVNTQU5EUkEtMjY3NywgMjkwNiwgMjkxNiwgMzAwMykKICogdXNlIHJlZmVyZW5jZSBjb3VudGluZyBmb3IgZGVsZXRpbmcgc3N0YWJsZXMgaW5zdGVhZCBvZiByZWx5aW5nIG9uIEdDCiAgIChDQVNTQU5EUkEtMjUyMSwgMzE3OSkKICogc3Rvt8JQuwAAAU/ePLJcABBBU1NBTkRSQS0zMzMzLCAzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC49AAABAGYgdGhlIEtleXNwYWNlIGFuZCBDb2x1bW5GYW1pbHkgbmFtZXMgaW4gbnVtZXJpYwogICBhbmQgc3RyaW5nIHJlcHJlc2VudGF0aW9ucyBpbiBDTEkgKENBU1NBTkRSQS0zMDc1KQogKiBmaXggY29ybmVyIGNhc2VzIGluIFJhbmdlLmRpZmZlcmVuY2VUb0ZldGNoIChDQVNTQU5EUkEtMzA4NCkKICogZml4IGlwIGFkZHJlc3MgU3RyaW5nIHJlcHJlc2VudGF0aW9uIGluIHRoZSByaW5nIGNhY2hlIChDQVNTQU5EUkEtMzA0NCkKICogZml4IHJpbmcgY2HcG2jHAAABT948slwAEHVzZSBUcmVlTWFwIGJhY2sAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILj0AAAEAU0FORFJBLTc3OTgpCk1lcmdlZCBmcm9tIDEuMjoKICogRG9uJ3QgYWxsb3cgY29tcGFjdGVkIHNzdGFibGVzIHRvIGJlIG1hcmtlZCBhcyBjb21wYWN0aW5nIChDQVNTQU5EUkEtNzE0NSkKICogVHJhY2sgZXhwaXJlZCB0b21ic3RvbmVzIChDQVNTQU5EUkEtNzgxMCkKCgoyLjEuMC1yYzYKICogRml4IE9PTSBpc3N1ZSBmcm9tIG5ldHR5IGNhY2hpbmcgb3ZlciB0aW1lIChDQVNTQU5EUkEtNzc0MykKICoganNvbjJzc3RhYmxlIGNvdWxkbid0IGltcLRbcUMAAAFP3jyyXAAQb2tlbiByZW1vdmFsIHBybwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguPQAAAQB1bHQgKENBU1NBTkRSQS01OTUwKQogKiBBZGQgbW9yZSBob29rcyBmb3IgY29tcGFjdGlvbiBzdHJhdGVneSBpbXBsZW1lbnRhdGlvbnMgKENBU1NBTkRSQS02MTExKQogKiBGaXggcG90ZW50aWFsIE5QRSBvbiBjb21wb3NpdGUgMm5kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS02MDk4KQogKiBEZWxldGUgY2FuIHBvdGVudGlhbGx5IGJlIHNraXBwZWQgaW4gYmF0Y2ggKENBU1NBTkRSQS02MTE1KQogKiBBbGxvdyBhbHRlciBrZXlzcGFjZSBvbiBzeXN02DDMXwAU7H2rBhsXAAABT948slwAEG9tcGFjdGlvbiBBUEkgCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILj8AAAEAQU5EUkEtOTE5OCkKICogVXBkYXRlIHR1cGxlIGFuZCBjb2xsZWN0aW9uIHR5cGVzIHRoYXQgdXNlIGEgdXNlci1kZWZpbmVkIHR5cGUgd2hlbiB0aGF0IFVEVAogICBpcyBtb2RpZmllZCAoQ0FTU0FORFJBLTkxNDgsIENBU1NBTkRSQS05MTkyKQogKiBVc2UgaGlnaGVyIHRpbWVvdXQgZm9yIHByZXBhaXIgYW5kIHNuYXBzaG90IGluIHJlcGFpciAoQ0FTU0FORFJBLTkyNjEpCiAqIEZpeCBhbnRpY29tcGFjdGlvbiBibG9ja2luZyBBTlRJX0VOVFJPUHCNguQAAAFP3jyyXAAQc3Mgb3V0cHV0IChDQVNTQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguPwAAAQBoZW4gc3RyZWFtaW5nIHJhbmdlcyBmYWlsIChDQVNTQU5EUkEtNTAwOSkKICogRml4IGNxbHNoIHRpbWVzdGFtcCBmb3JtYXR0aW5nIG9mIHRpbWV6b25lIGluZm8gKENBU1NBTkRSQS00NzQ2KQogKiBGaXggYXNzZXJ0aW9uIGZhaWx1cmUgd2l0aCBsZXZlbGVkIGNvbXBhY3Rpb24gKENBU1NBTkRSQS00Nzk5KQogKiBDaGVjayBmb3IgbnVsbCBlbmRfdG9rZW4gaW4gZ2V0X3JhbmdlX3NsaWNlIChDQVNTQU5EUkEtNDgwNCkKICogUmVtb3ZlIGFsbCByleidKAAAAU/ePLJcABBhdHRpbmcgb24gc29tZSBwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4/AAABAG5kcmEtc3RyZXNzIChDQVNTQU5EUkEtODI1MykKICogQWRkIGF1dGggc3VwcG9ydCB0byBjYXNzYW5kcmEtc3RyZXNzIChDQVNTQU5EUkEtNzk4NSkKICogRml4IEFycmF5SW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbiB3aGVuIGdlbmVyYXRpbmcgZXJyb3IgbWVzc2FnZQogICBmb3Igc29tZSBDUUwgc3ludGF4IGVycm9ycyAoQ0FTU0FORFJBLTg0NTUpCiAqIFNjYWxlIG1lbXRhYmxlIHNsYWIgYWxsb2NhdGlvbiBsb2dhcml0aG1pY2FsbHkgKENBU1N15FGyAAABT948slwAECB1bmZyYW1lZCBUaHJpZnQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILj8AAAEAI2RlbGV0ZUJhdGNoKCkgdXNlIG9mIG1pbGxpc2Vjb25kIHRpbWVzdGFtcHMKICAgKENBU1NBTkRSQS02ODIyKQogKiBDb250aW51ZSBhc3Nhc3NpbmF0aW5nIGV2ZW4gaWYgdGhlIGVuZHBvaW50IHZhbmlzaGVzIChDQVNTQU5EUkEtNjc4NykKICogU2NoZWR1bGUgc2NoZW1hIHB1bGxzIG9uIGNoYW5nZSAoQ0FTU0FORFJBLTY5NzEpCiAqIE5vbi1kcm9wcGFibGUgdmVyYnMgc2hvdWxkbid0IGJlIGRyb3BwZWQgZnJvbSBPVEMgKENBU1NBTkRSQS02ObYDx44AAAFP3jyyXAAQbmQgbm9kZXRvb2wgcmluZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguPwAAAQBlciB1dGlsaXNlcyBvZmZoZWFwIG1lbW9yeSwgYW5kIHNoYXJlcyBkYXRhIGJldHdlZW4KICAgZWFjaCBJbmRleFN1bW1hcnkgb3BlbmVkIGZyb20gaXQgKENBU1NBTkRSQS04NzU3KQogKiBtYXJrQ29tcGFjdGluZyBvbmx5IHN1Y2NlZWRzIGlmIHRoZSBleGFjdCBTU1RhYmxlUmVhZGVyIGluc3RhbmNlcyBiZWluZyAKICAgbWFya2VkIGFyZSBpbiB0aGUgbGl2ZSBzZXQgKENBU1NBTkRSQS04Njg5KQogKiBjYXNzYW5kcmEtc3RyZXNzIHN1cHBvcnQgBQFwvwAAAU/ePLJcABBhY2tlZCBzZWNvbmRhcnkgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4/AAABAFJBLTM2NjcpCiAqIGZpeCBMZXZlbGVkQ29tcGFjdGlvblN0cmF0ZWd5IGJyb2tlbiBiZWNhdXNlIG9mIGdlbmVyYXRpb24gcHJlLWFsbG9jYXRpb24KICAgaW4gTGV2ZWxlZE1hbmlmZXN0IChDQVNTQU5EUkEtMzY5MSkKICogZmluZXItZ3JhaW5lZCBjb250cm9sIG92ZXIgZGF0YSBkaXJlY3RvcmllcyAoQ0FTU0FORFJBLTI3NDkpCiAqIEZpeCBDbGFzc0Nhc3RFeGNlcHRpb24gZHVyaW5nIGhpbnRlZCBoYW5kb2ZmIChDQVNTQU5EUkEtMzY5NCkKICrT20wbAAABT948slwAEEEtNzk0NikKICogRml4IHcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILj8AAAEAb2x1bW5zIiAoQ0FTU0FORFJBLTgzNCkKICogU3RyZWFtaW5nIGRlc3RpbmF0aW9uIG5vZGVzIGRvIG5vdCB1cGRhdGUgdGhlaXIgSk1YIHN0YXR1cyAoQ0FTU0FORFJBLTkxNikKICogRml4IGludGVybmFsIFJQQyB0aW1lb3V0IGNhbGN1bGF0aW9uIChDQVNTQU5EUkEtOTExKQogKiBBZGRlZCBQaWcgbG9hZGZ1bmMgdG8gY29udHJpYi9waWcgKENBU1NBTkRSQS05MTApCgoKMC42LjAtYmV0YTMKICogZml4IGNvbXBhY3Rpb24gYnVja2V0aW5nIGJ1Z/dwAeUAAAFP3jyyXAAQIHdpcGluZyBvdXQKICAgdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguPwAAAQBuZCBhZ2dyZXNzaXZlbHkKICAgZmx1c2ggdG8ga2VlcCB1bmRlciB0aGF0IHRocmVzaG9sZCAoQ0FTU0FORFJBLTIwMDYpCiAqIGFkZCB1bmlmaWVkIFVVSURUeXBlIChDQVNTQU5EUkEtMjIzMykKICogYWRkIG9mZi1oZWFwIHJvdyBjYWNoZSBzdXBwb3J0IChDQVNTQU5EUkEtMTk2OSkKCgowLjcuNQogKiBpbXByb3ZlbWVudHMvZml4ZXMgdG8gUElHIGRyaXZlciAoQ0FTU0FORFJBLTE2MTgsIENBU1NBTkRSQS0yMzg3LAogICBDQVNTQU5EUkEtMjQ2cGdIVwAAAU/ePLJcABAgRml4IGFudGktY29tcGFjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4/AAABAHRlcnNlY3QgdGhlIHNzdGFibGUgKENBU1NBTkRSQS01MjQ5KQogKiBEb24ndCBsb3dlcmNhc2UgcHJvcGVydHkgbWFwIGtleXMgKHRoaXMgYnJlYWtzIE5UUykgKENBU1NBTkRSQS01MjkyKQogKiBGaXggY29tcG9zaXRlIGNvbXBhcmF0b3Igd2l0aCBzdXBlciBjb2x1bW5zIChDQVNTQU5EUkEtNTI4NykKICogRml4IGluc3VmZmljaWVudCB2YWxpZGF0aW9uIG9mIFVQREFURSBxdWVyaWVzIGFnYWluc3QgY291bnRlciBjZnMKICAgKENBU1NBTkRSQS0Tvn7kAAABT948slwAEDM1NykKICogRml4IHRyYW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILj8AAAEAIChDQVNTQU5EUkEtMjY2NykKICogZml4IFN0YWNrT3ZlcmZsb3dFcnJvciB3aGVuIGJ1aWxkaW5nIGZyb20gZWNsaXBzZSAoQ0FTU0FORFJBLTI2ODcpCiAqIG9ubHkgcHJvdmlkZSByZXBsaWNhdGlvbl9mYWN0b3IgdG8gc3RyYXRlZ3lfb3B0aW9ucyAiaGVscCIgZm9yCiAgIFNpbXBsZVN0cmF0ZWd5LCBPbGROZXR3b3JrVG9wb2xvZ3lTdHJhdGVneSAoQ0FTU0FORFJBLTI2NzgsIDI3MTMpCiAqIGZpeCBleGNlcHRpb24gYWRkaW5nIHZhbGlkYXRvcgRaau0AAAFP3jyyXAAQbmlmZXN0IGFmdGVyIHN0cgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguPwAAAQBuZyBwb2ludCBudW1iZXJzIChDQVNTQU5EUkEtNDkyNykKICogRGV0ZWN0IChhbmQgd2FybikgdW5pbnRlbnRpb25hbCB1c2Ugb2YgdGhlIGNxbDIgdGhyaWZ0IG1ldGhvZHMgd2hlbiBjcWwzIHdhcwogICBpbnRlbmRlZCAoQ0FTU0FORFJBLTUxNzIpCiAqIGNsaTogUXVvdGUga3MgYW5kIGNmIG5hbWVzIGluIHNjaGVtYSBvdXRwdXQgd2hlbiBuZWVkZWQgKENBU1NBTkRSQS01MDUyKQogKiBGaXggY2YgbmFtZSBleHRyYWN0aW9uIGZyb20gbWFuaWZllLIlTwAAAU/ePLJcABA1KQogKiBhZGQgdG1wIGZsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4/AAABAERUUEUgd2l0aCB0aGUgb3JpZ2luYWwKICAgZXhjZXB0aW9uIHJhdGhlciB0aGFuIHRoZSBFeGVjdXRpb25FeGNlcHRpb24gd3JhcHBlciAoQ0FTU0FORFJBLTEyMjYpCiAqIHJlbW92ZSBDbG9jayBmcm9tIHRoZSBUaHJpZnQgKGFuZCBBdnJvKSBBUEkgKENBU1NBTkRSQS0xNTAxKQogKiBDbG9zZSBpbnRyYS1ub2RlIHNvY2tldHMgd2hlbiBjb25uZWN0aW9uIGlzIGJyb2tlbiAoQ0FTU0FORFJBLTE1MjgpCiAqIFJQTSBwYWNrYWdpbmcgc3BlYyBmaWwfCCsTAAABT948slwAEAowLjYuMC1SQzEKICogSk0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILj8AAAEAbGFwcGluZwogICBzc3RhYmxlcyAoQ0FTU0FORFJBLTgyMTEpCiAqIEltcHJvdmUgUHJvcGVydHlGaWxlU25pdGNoIGxvZ2dpbmcgKENBU1NBTkRSQS04MTgzKQogKiBBZGQgREMtYXdhcmUgc2VxdWVudGlhbCByZXBhaXIgKENBU1NBTkRSQS04MTkzKQogKiBVc2UgbGl2ZSBzc3RhYmxlcyBpbiBzbmFwc2hvdCByZXBhaXIgaWYgcG9zc2libGUgKENBU1NBTkRSQS04MzEyKQogKiBGaXggaGludHMgc2VyaWFsaXplZCBzaXplIGNhbGN1bGF0aW9uIChDQU7yCMgAAAFP3jyyXAAQdmluZyBKTVggTk9USUZfTAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguPwAAAQBzdXBwb3J0IGZvciBjb21taXRsb2cgYXJjaGl2aW5nIGFuZCBwb2ludC1pbi10aW1lIHJlY292ZXJ5CiAgIChDQVNTQU5EUkEtMzY5MCkKICogYXZvaWQgZ2VuZXJhdGluZyByZWR1bmRhbnQgY29tcGFjdGlvbiB0YXNrcyBkdXJpbmcgc3RyZWFtaW5nCiAgIChDQVNTQU5EUkEtNDE3NCkKICogYWRkIC1jZiBvcHRpb24gdG8gbm9kZXRvb2wgc25hcHNob3QsIGFuZCB0YWtlQ29sdW1uRmFtaWx5U25hcHNob3QgdG8KICAgU3RvcmFnZVNlcnZpY2UgbWJlZc+tjwAAAU/ePLJcABBkIHN0YXRlbWVudHMgaWYgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC4/AAABAGhhdCBVRFQKICAgaXMgbW9kaWZpZWQgKENBU1NBTkRSQS05MTQ4LCBDQVNTQU5EUkEtOTE5MikKICogVXNlIGhpZ2hlciB0aW1lb3V0IGZvciBwcmVwYWlyIGFuZCBzbmFwc2hvdCBpbiByZXBhaXIgKENBU1NBTkRSQS05MjYxKQogKiBGaXggYW50aWNvbXBhY3Rpb24gYmxvY2tpbmcgQU5USV9FTlRST1BZIHN0YWdlIChDQVNTQU5EUkEtOTE1MSkKICogUmVwYWlyIHdhaXRzIGZvciBhbnRpY29tcGFjdGlvbiB0byBmaW5pc2ggKENBU1NBTkRSQS05MDnS6BGHABUA2gX2xakAAAFP3jyyXAAQc2UgY29tcGFjdGlvblRocgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguQgAAAQBmaXggaGVscCB0ZXh0IGZvciAtdHNwdyBjYXNzYW5kcmEtY2xpIChDQVNTQU5EUkEtNTY0MykKICogZG9uJ3QgdGhyb3cgYXdheSBpbml0aWFsIGNhdXNlcyBleGNlcHRpb25zIGZvciBpbnRlcm5vZGUgZW5jcnlwdGlvbiBpc3N1ZXMgCiAgIChDQVNTQU5EUkEtNTY0NCkKICogRml4IG1lc3NhZ2Ugc3BlbGxpbmcgZXJyb3JzIGZvciBjcWwgc2VsZWN0IHN0YXRlbWVudHMgKENBU1NBTkRSQS01NjQ3KQogKiBTdXBwcmVzcyBjdXN0b20gZXhjZXB0aW9urNGSiwAAAU/ePLJcABBkcmEtY2xpIGlmIGludmFsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5CAAABAG9sdW1ucwogICAoQ0FTU0FORFJBLTY3MzMpCiAqIEZCVXRpbGl0aWVzLnNpbmdsZXRvbigpIHNob3VsZCB1c2UgdGhlIENGIGNvbXBhcmF0b3IgKENBU1NBTkRSQS02Nzc4KQogKiBGaXggQ1FMU1N0YWJsZVdyaXRlci5hZGRSb3coTWFwPFN0cmluZywgT2JqZWN0PikgKENBU1NBTkRSQS02NTI2KQogKiBGaXggSFNIQSBzZXJ2ZXIgaW50cm9kdWNpbmcgY29ycnVwdCBkYXRhIChDQVNTQU5EUkEtNjI4NSkKICogRml4IENBUyBjb25kaXRpb25zIGZvciCqTdpMAAABT948slwAEHJzaXN0ZW50IHNzdGFibGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkIAAAEAZSBzdXJlIHVuZmluaXNoZWQgY29tcGFjdGlvbiBmaWxlcyBhcmUgcmVtb3ZlZCAoQ0FTU0FORFJBLTgxMjQpCiAqIEZpeCBzaHV0ZG93biB3aGVuIHJ1biBhcyBXaW5kb3dzIHNlcnZpY2UgKENBU1NBTkRSQS04MTM2KQogKiBGaXggREVTQ1JJQkUgVEFCTEUgd2l0aCBjdXN0b20gaW5kZXhlcyAoQ0FTU0FORFJBLTgwMzEpCiAqIEZpeCByYWNlIGluIFJlY292ZXJ5TWFuYWdlclRlc3QgKENBU1NBTkRSQS04MTc2KQogKiBBdm9pZCBJbGxlZ2FsQXJndbSZeugAAAFP3jyyXAAQIChDQVNTQU5EUkEtMzE4MQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguQgAAAQBBLTkyODEpCiAqIEZpeCBwYXJ0aXRpb24tbGV2ZWwtZGVsZXRlLW9ubHkgd29ya2xvYWQgYWNjb3VudGluZyAoQ0FTU0FORFJBLTkxOTQpCiAqIEFsbG93IHNjcnViIHRvIGhhbmRsZSBjb3JydXB0ZWQgY29tcHJlc3NlZCBjaHVua3MgKENBU1NBTkRSQS05MTQwKQogKiBGaXggYXNzZXJ0aW9uIGVycm9yIHdoZW4gcmVzZXRsb2NhbHNjaGVtYSBpcyBydW4gZHVyaW5nIHJlcGFpciAoQ0FTU0FORFJBLTkyNDkpCiAqIERpc2FibGUgc2luZ2xlIHNzdGFiRk6atwAAAU/ePLJcABBwb3J0IG5ldyBTU1RhYmxlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5CAAABADUwKQogKiBHaXZlIENSUiBhIGRlZmF1bHQgaW5wdXRfY3FsIFN0YXRlbWVudCAoQ0FTU0FORFJBLTcyMjYpCiAqIEJldHRlciBlcnJvciBtZXNzYWdlIHdoZW4gYWRkaW5nIGEgY29sbGVjdGlvbiB3aXRoIHRoZSBzYW1lIG5hbWUKICAgdGhhbiBhIHByZXZpb3VzbHkgZHJvcHBlZCBvbmUgKENBU1NBTkRSQS02Mjc2KQogKiBGaXggdmFsaWRhdGlvbiB3aGVuIGFkZGluZyBzdGF0aWMgY29sdW1ucyAoQ0FTU0FORFJBLTc3MzApCiAqIChUaHJpZnQpIGYuK28fAAABT948slwAEG5nIGNvbXBhY3Rpb24KICAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkIAAAEAZXBsYXlpbmcgdGhlIGxhc3QgbXV0YXRpb24gaW4gYSBjb21taXRsb2cgdW5uZWNlc3NhcmlseSAKICAgKENBU1NBTkRSQS0xNTEyKQogKiBpbnZva2UgZ2V0RGVmYXVsdFVuY2F1Z2h0RXhjZXB0aW9uSGFuZGxlciBmcm9tIERUUEUgd2l0aCB0aGUgb3JpZ2luYWwKICAgZXhjZXB0aW9uIHJhdGhlciB0aGFuIHRoZSBFeGVjdXRpb25FeGNlcHRpb24gd3JhcHBlciAoQ0FTU0FORFJBLTEyMjYpCiAqIHJlbW92ZSBDbG9jayBmcm9tIHRoZSBUaHJpZnQgKOUxTYsAAAFP3jyyXAAQc3BlY3RvciAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguQgAAAQBURS9BTFRFUiBXSVRIIGNvbXBsZXRpb24gKENBU1NBTkRSQS02MTk2KQogKiBhZGQgd2luZG93cyBiYXQgZmlsZXMgZm9yIHNoZWxsIGNvbW1hbmRzIChDQVNTQU5EUkEtNjE0NSkKICogRml4IHBvdGVudGlhbCBzdGFjayBvdmVyZmxvdyBkdXJpbmcgcmFuZ2UgdG9tYnN0b25lcyBpbnNlcnRpb24gKENBU1NBTkRSQS02MTgxKQogKiAoSGFkb29wKSBNYWtlIExPQ0FMX09ORSB0aGUgZGVmYXVsdCBjb25zaXN0ZW5jeSBsZXZlbCAoQ0FTU0FORFJBLTYyv3oKFwAAAU/ePLJcABBPTSkgKENBU1NBTkRSQS0zAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5CAAABAE1vdmUgQ29tcHJlc3Npb25NZXRhZGF0YSBvZmYtaGVhcCAoQ0FTU0FORFJBLTQ5MzcpCiAqIGFsbG93IENMSSB0byBHRVQgY3FsMyBjb2x1bW5mYW1pbHkgZGF0YSAoQ0FTU0FORFJBLTQ5MjQpCiAqIEZpeCByYXJlIHJhY2UgY29uZGl0aW9uIGluIGdldEV4cGlyZVRpbWVGb3JFbmRwb2ludCAoQ0FTU0FORFJBLTQ0MDIpCiAqIGFjcXVpcmUgcmVmZXJlbmNlcyB0byBvdmVybGFwcGluZyBzc3RhYmxlcyBkdXJpbmcgY29tcGFjdGlvbiBzbyBibG9vbSDhEEuQAAABT948slwAEGUgKENBU1NBTkRSQS0yNjEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkIAAAEAQS03NzM1KQogKiBQYXNzIG11dGF0ZWQgY2YgdG8gaW5kZXggdXBkYXRlciBmb3IgdXNlIGJ5IFBSU0kgKENBU1NBTkRSQS03NzQyKQogKiBJbmNsdWRlIHN0cmVzcyB5YW1sIGV4YW1wbGUgaW4gcmVsZWFzZSBhbmQgZGViIChDQVNTQU5EUkEtNzcxNykKICogd29ya2Fyb3VuZCBmb3IgbmV0dHkgaXNzdWUgY2F1c2luZyBjb3JydXB0ZWQgZGF0YSBvZmYgdGhlIHdpcmUgKENBU1NBTkRSQS03Njk1KQogKiBjcWxzaCBERVNDIENMVVNURVIgZmFpbHMgch5BLTIAAAFP3jyyXAAQU1NBTkRSQS0yNjUzKQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguQgAAAQBkIHJlYWQgcmVwYWlyIG1ldHJpY3MgKENBU1NBTkRSQS01NjE4KQogKiBDb3JyZWN0IGJsb2IgbGl0ZXJhbCArIFJldmVyc2VkVHlwZSBwYXJzaW5nIChDQVNTQU5EUkEtNTYyOSkKICogQWxsb3cgR1BGUyB0byBwcmVmZXIgdGhlIGludGVybmFsIElQIGxpa2UgRUMyTVJTIChDQVNTQU5EUkEtNTYzMCkKICogZml4IGhlbHAgdGV4dCBmb3IgLXRzcHcgY2Fzc2FuZHJhLWNsaSAoQ0FTU0FORFJBLTU2NDMpCiAqIGRvbid0IHRocm93IGF3YXkgaW5pdGlhF0IaIAAAAU/ePLJcABAtYmV0YTIKICogUmVwbGFjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5CAAABAG5vZGV0b29sIGZvciBzdHJlYW1pbmcgdGhyb3VnaHB1dCAoQ0FTU0FORFJBLTczNzUpCk1lcmdlZCBmcm9tIDEuMjoKICogRG9uJ3QgaW5kZXggdG9tYnN0b25lcyAoQ0FTU0FORFJBLTc4MjgpCiAqIEltcHJvdmUgUGFzc3dvcmRBdXRoZW50aWNhdG9yIGRlZmF1bHQgc3VwZXIgdXNlciBzZXR1cCAoQ0FTU0FORFJBLTc3ODgpCgoKMi4xLjAKICogKGNxbHNoKSBSZW1vdmVkICJBTFRFUiBUWVBFIDxuYW1lPiBSRU5BTUUgVE8gPG5hbWU+IiBmcm9tIHQpVK6xAAABT948slwAEChDQVNTQU5EUkEtNTY5NykAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkIAAAEAQ0FTU0FORFJBLTQyNzcpCiAqIEF2b2lkcyBkb3VibGUgc2VyaWFsaXphdGlvbiBvZiBDRiBpZCBpbiBSb3dNdXRhdGlvbiBtZXNzYWdlcwogICAoQ0FTU0FORFJBLTQyOTMpCiAqIHN0cmVhbSBjb21wcmVzc2VkIHNzdGFibGVzIGRpcmVjdGx5IHdpdGggamF2YSBuaW8gKENBU1NBTkRSQS00Mjk3KQogKiBTdXBwb3J0IG11bHRpcGxlIHJhbmdlcyBpbiBTbGljZVF1ZXJ5RmlsdGVyIChDQVNTQU5EUkEtMzg4NSkKICogQWRkIGNvbHVtbiBtZXRhZGF0YUnJd5cAAAFP3jyyXAAQIGZyb20gcm93IGNhY2hlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguQgAAAQBuIChDQVNTQU5EUkEtNTU2KQogKiBvcHRpbWl6ZSBjbGVhbnVwIHRvIGRyb3AgZW50aXJlIHNzdGFibGVzIHdoZXJlIHBvc3NpYmxlIChDQVNTQU5EUkEtNDA3OSkKICogb3B0aW1pemUgdHJ1bmNhdGUgd2hlbiBhdXRvc25hcHNob3QgaXMgZGlzYWJsZWQgKENBU1NBTkRSQS00MTUzKQogKiB1cGRhdGUgY2FjaGVzIHRvIHVzZSBieXRlW10ga2V5cyB0byByZWR1Y2UgbWVtb3J5IG92ZXJoZWFkIChDQVNTQU5EUkEtMzk2NikKICogYWRkIGNvbHVtbiBsuPrA7AAAAU/ePLJcABBsZVVuc29ydGVkV3JpdGVyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5CAAABAFJBLTU1MTQsIENBU1NBTkRSQS01NTk1LCBDQVNTQU5EUkEtNTYwMCkKICogQmluYXJ5IHByb3RvY29sOiBhbGxvdyBiYXRjaGluZyBhbHJlYWR5IHByZXBhcmVkIHN0YXRlbWVudHMgKENBU1NBTkRSQS00NjkzKQogKiBBbGxvdyBwcmVwYXJpbmcgdGltZXN0YW1wLCB0dGwgYW5kIGxpbWl0IGluIENRTDMgcXVlcmllcyAoQ0FTU0FORFJBLTQ0NTApCiAqIFN1cHBvcnQgbmF0aXZlIGxpbmsgdy9vIEpOQSBpbiBKYXZhNyAoQ0FTU0FORFJBLTM3MzQpCiDQ0hleAAABT948slwAEHJlbnRMb2NhbCBOb2RlSUQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkIAAAEAcHBvcnQgZm9yIGhhZG9vcCBDcWxJbnB1dEZvcm1hdCAoQ0FTU0FORFJBLTY0NTQpCiAqIEFkZCBsaXN0ZW5faW50ZXJmYWNlIGFuZCBycGNfaW50ZXJmYWNlIG9wdGlvbnMgKENBU1NBTkRSQS03NDE3KQogKiBJbXByb3ZlIHNjaGVtYSBtZXJnZSBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTc0NDQpCiAqIEFkanVzdCBNVCBkZXB0aCBiYXNlZCBvbiAjIG9mIHBhcnRpdGlvbiB2YWxpZGF0aW5nIChDQVNTQU5EUkEtNTI2MykKICogT3B0aW1pc2UgTmF0aYHUD4EAFQu6vk0lNQAAAU/ePLJcABBlIHN0YXR1cyByZXBvcnRpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5FAAABACBJbXByb3ZlIHJlcGFpciBieSBkZWNpZGluZyBvbiBhIGdjQmVmb3JlIGJlZm9yZSBzZW5kaW5nCiAgIG91dCBUcmVlUmVxdWVzdHMgKENBU1NBTkRSQS00OTMyKQogKiBBZGQgYW4gb2ZmaWNpYWwgd2F5IHRvIGRpc2FibGUgY29tcGFjdGlvbnMgKENBU1NBTkRSQS01MDc0KQogKiBSZWVuYWJsZSBBTFRFUiBUQUJMRSBEUk9QIHdpdGggbmV3IHNlbWFudGljcyAoQ0FTU0FORFJBLTM5MTkpCiAqIEFkZCBiaW5hcnkgcHJvdG9jb2wgdmVyc2lvbmluZyC705JKAAABT948slwAEHRhdGlvbiBvZiBjbHVzdGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkYAAAEAaXRoIE9SREVSIEJZIChDQVNTQU5EUkEtODI4NikKICogRGlzYWJsZSBTU0x2MyBmb3IgUE9PRExFIChDQVNTQU5EUkEtODI2NSkKICogRml4IG1pbGxpc2Vjb25kIHRpbWVzdGFtcHMgaW4gVHJhY2luZyAoQ0FTU0FORFJBLTgyOTcpCiAqIEluY2x1ZGUga2V5c3BhY2UgbmFtZSBpbiBlcnJvciBtZXNzYWdlIHdoZW4gdGhlcmUgYXJlIGluc3VmZmljaWVudAogICBsaXZlIG5vZGVzIHRvIHN0cmVhbSBmcm9tIChDQVNTQU5EUkEtODIyMSkKICogQXZvaYTKtWIAAAFP3jyyXAAQIGFjY2VwdGluZyBjbGllbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguRgAAAQAgc3RyaW5nIGxpdGVyYWxzIGluIENRTCBxdWVyaWVzIChDQVNTQU5EUkEtODEwMSkKICogKGNxbHNoKSBGaXggYXV0b2NvbXBsZXRpb24gZm9yIGFsdGVyIGtleXNwYWNlIChDQVNTQU5EUkEtODAyMSkKICogQ3JlYXRlIGJhY2t1cCBkaXJlY3RvcmllcyBmb3IgY29tbWl0bG9nIGFyY2hpdmluZyBkdXJpbmcgc3RhcnR1cCAoQ0FTU0FORFJBLTgxMTEpCiAqIFJlZHVjZSB0b3RhbEJsb2NrRm9yKCkgZm9yIExPQ0FMXyogY29uc2lzdGVuY3kgbGV2ZWxzLO/ilwAAAU/ePLJcABAxKQogKiBNb3ZlIGhpbnRzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5GAAABAHNzIGZvciBhdnJvIChDQVNTQU5EUkEtMzM5MSkKICogZG9uJ3QgZXhwaXJlIGNvdW50ZXIgdG9tYnN0b25lIGFmdGVyIHN0cmVhbWluZyAoQ0FTU0FORFJBLTMzOTQpCiAqIHByZXZlbnQgbm9kZXMgdGhhdCBmYWlsZWQgdG8gam9pbiBmcm9tIGhhbmdpbmcgYXJvdW5kIGZvcmV2ZXIgCiAgIChDQVNTQU5EUkEtMzM1MSkKICogcmVtb3ZlIGluY29ycmVjdCBvcHRpbWl6YXRpb24gZnJvbSBzbGljZSByZWFkIHBhdGggKENBU1NBTkRSQS0zMzkwKQogKiAtLCe+AAABT948slwAEHV0ZG93biBpbiBhbiBlbWIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkcAAAEAbW1lZGlhdGVseSAoQ0FTU0FORFJBLTE5MTQpCiAqIHJldmVydCBjb21taXRsb2cgY2hhbmdlcyBmcm9tICMxNzgwIChDQVNTQU5EUkEtMTkxNykKICogY2hhbmdlIFJhbmRvbVBhcnRpdGlvbmVyIG1pbiB0b2tlbiB0byAtMSB0byBhdm9pZCBjb2xsaXNpb24gdy8KICAgdG9rZW5zIG9uIGFjdHVhbCBub2RlcyAoQ0FTU0FORFJBLTE5MDEpCiAqIGV4YW1pbmUgdGhlIHJpZ2h0IG5pYmJsZSB3aGVuIHZhbGlkYXRpbmcgVGltZVVVSUQgKENBU1NBTkRSQTPryF8AAAFP3jyyXAAQb3ZlIGhhbmRsaW5nIG9mIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguRwAAAQBpbGRpbmcgU3ludGF4RXJyb3IgbWVzc2FnZSBzbmlwcGV0IChDQVNTQU5EUkEtNzU2OSkKICogU1NUYWJsZUV4cG9ydCB1c2VzIGNvcnJlY3QgdmFsaWRhdG9yIHRvIGNyZWF0ZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgcGFydGl0aW9uCiAgIGtleXMgKENBU1NBTkRSQS03NDk4KQogKiBBdm9pZCBOUEVzIHdoZW4gcmVjZWl2aW5nIHR5cGUgY2hhbmdlcyBmb3IgYW4gdW5rbm93biBrZXlzcGFjZSAoQ0FTU0FORFJBLTc2ODkpCiAqIEFkZCBzdXBwyf0vjwAAAU/ePLJcABBVcGdyYWRlIHRvIHNuYXBwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5HAAABAHJuYWwuSW50ZXJuYWxfcmVzcG9uc2VTdGFnZSAtPiBJbnRlcm5hbFJlc3BvbnNlU3RhZ2UKICogYWRkIEFic3RyYWN0VHlwZS5mcm9tU3RyaW5nIChDQVNTQU5EUkEtMTc2NykKICogcmVxdWlyZSBpbmRleF90eXBlIHRvIGJlIHByZXNlbnQgd2hlbiBzcGVjaWZ5aW5nIGluZGV4X25hbWUKICAgb24gQ29sdW1uRGVmIChDQVNTQU5EUkEtMTc1OSkKICogZml4IGFkZC9yZW1vdmUgaW5kZXggYnVncyBpbiBDRk1ldGFkYXRhIChDQVNTQU5EUkEtMTc2OCkG3O8pAAABT948slwAEGVxdWVzdGVkIHJvdyBpbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkcAAAEAIGxvbmdzIGZvciBUaW1lc3RhbXBUeXBlIChDQVNTQU5EUkEtNjIxMikKICogQWRkIHJlbG9hZHRyaWdnZXJzIGNvbW1hbmQgdG8gbm9kZXRvb2wgKENBU1NBTkRSQS00OTQ5KQogKiBjcWxzaDogaWdub3JlIGVtcHR5ICd2YWx1ZSBhbGlhcycgaW4gREVTQ1JJQkUgKENBU1NBTkRSQS02MTM5KQogKiBGaXggc3N0YWJsZSBsb2FkZXIgKENBU1NBTkRSQS02MjA1KQogKiBSZWplY3QgYm9vdHN0cmFwcGluZyBpZiB0aGUgbm9kZSBhbHJlYWR5IGV4aXN0c4cC3rYAFRU/EAudpgAAAU/ePLJcABAKICogZml4IHJlLWNyZWF0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5GAAABAG9yIGFkZHJlc3NlcwogICB0byBDb2x1bW5GYW1pbHlJbnB1dEZvcm1hdCAoQ0FTU0FORFJBLTI4MDcpCiAqIGZpeCBwb3RlbnRpYWwgTlBFIHdoaWxlIHNjaGVkdWxpbmcgcmVhZCByZXBhaXIgZm9yIHJhbmdlIHNsaWNlCiAgIChDQVNTQU5EUkEtMjgyMykKICogRml4IHJhY2UgaW4gU3lzdGVtVGFibGUuZ2V0Q3VycmVudExvY2FsTm9kZUlkIChDQVNTQU5EUkEtMjgyNCkKICogQ29ycmVjdGx5IHNldCBkZWZhdWx0IGZvciByZXBsaWNhdGVfb25fd3LP4TvXAAABT948slwAEG9sIG1lc3NhZ2VzIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkgAAAEAQVNTQU5EUkEtNDg4MCkKICogRml4ICd3cm9uZyBjbGFzcyB0eXBlJyBhc3NlcnRpb24gaW4gQ291bnRlckNvbHVtbiAoQ0FTU0FORFJBLTQ5NzYpCgoKMS4yLWJldGExCiAqIGFkZCBhdG9taWNfYmF0Y2hfbXV0YXRlIChDQVNTQU5EUkEtNDU0MiwgLTQ2MzUpCiAqIGluY3JlYXNlIGRlZmF1bHQgbWF4X2hpbnRfd2luZG93X2luX21zIHRvIDNoIChDQVNTQU5EUkEtNDYzMikKICogaW5jbHVkZSBtZXNzYWdlIGluaXRpYXRpb24gdGltZSB0byByZXBsaasoM+kAAAFP3jyyXAAQKiBmaXggQ0ZNZXRhRGF0YQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguSAAAAQBvdXNseSAoQ0FTU0FORFJBLTkyMCkKICogZml4IGluZGV4IHNjYW5zIHRoYXQgY3Jvc3MgdGhlIDJHQiBtbWFwIGJvdW5kYXJpZXMgZm9yIGJvdGggbW1hcAogICBhbmQgc3RhbmRhcmQgaS9vIG1vZGVzIChDQVNTQU5EUkEtODY2KQogKiBleHBvc2UgZHJhaW4gdmlhIG5vZGV0b29sIChDQVNTQU5EUkEtOTc4KQoKCjAuNi4wLVJDMQogKiBKTVggZHJhaW4gdG8gZmx1c2ggbWVtdGFibGVzIGFuZCBydW4gdGhyb3VnaCBjb21taXQgbG9nIChDQVNTQU5ELlNfywAAAU/ePLJcABAtZmF0YWwgKENBU1NBTkRSAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5IAAABAG4gbWVzc2FnZXMgKENBU1NBTkRSQS03MTExKQogKiBNYWtlIHJlcGFpciAtcHIgd29yayB3aXRoIC1sb2NhbCAoQ0FTU0FORFJBLTc0NTApCiAqIEZpeCBlcnJvciBpbiBzc3RhYmxlbG9hZGVyIHdpdGggLWNwaCA+IDEgKENBU1NBTkRSQS04MDA3KQogKiBGaXggc25hcHNob3QgcmVwYWlyIGVycm9yIG9uIGluZGV4ZWQgdGFibGVzIChDQVNTQU5EUkEtODAyMCkKICogRG8gbm90IGV4aXQgbm9kZXRvb2wgcmVwYWlyIHdoZW4gcmVjZWl2aW5nIEpNWCB6OqYkAAABT948slwAEHlpbmcgdG8gaGludCB0aW0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkgAAAEAdCB0YWJsZXMgKENBU1NBTkRSQS02MTUyKQogKiBTa2lwIHJlcGxheWluZyBtdXRhdGlvbnMgdGhhdCBwYXNzIENSQyBidXQgZmFpbCB0byBkZXNlcmlhbGl6ZSAoQ0FTU0FORFJBLTYxODMpCiAqIFJld29yayB0b2tlbiByZXBsYWNlbWVudCB0byB1c2UgcmVwbGFjZV9hZGRyZXNzIChDQVNTQU5EUkEtNTkxNikKICogRml4IGFsdGVyaW5nIGNvbHVtbiB0eXBlcyAoQ0FTU0FORFJBLTYxODUpCiAqIGNxbHNoOiBmaXggQ1JFQVRFL0FMVEVSIFdJVEggY0PJdIgAAAFP3jyyXAAQdHJlZSBjYWxjdWxhdGlvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguSAAAAQAgKENBU1NBTkRSQS0yNDM0KQpNZXJnZWQgZnJvbSAyLjA6CiAqIEF2b2lkIHJhY2UtcHJvbmUgc2Vjb25kICJzY3J1YiIgb2Ygc3lzdGVtIGtleXNwYWNlIChDQVNTQU5EUkEtNjc5NykKICogUG9vbCBDcWxSZWNvcmRXcml0ZXIgY2xpZW50cyBieSBpbmV0YWRkcmVzcyByYXRoZXIgdGhhbiBSYW5nZQogICAoQ0FTU0FORFJBLTY2NjUpCiAqIEZpeCBjb21wYWN0aW9uX2hpc3RvcnkgdGltZXN0YW1wcyAoQ0FTU0FORFJBLTY3ODQpCiAqIENvbXBhcmUgcTfisAAAAU/ePLJcABBzZXJ0aW9uIGVycm9yIGR1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5IAAABAGdyYWNlIG9uIGluZGV4IENGIHRvIDAgKENBU1NBTkRSQS00MzE0KQoKCjEuMS4xCiAqIGFkZCBwb3B1bGF0ZV9pb19jYWNoZV9vbl9mbHVzaCBvcHRpb24gKENBU1NBTkRSQS0yNjM1KQogKiBhbGxvdyBsYXJnZXIgY2FjaGUgY2FwYWNpdGllcyB0aGFuIDJHQiAoQ0FTU0FORFJBLTQxNTApCiAqIGFkZCBnZXRzc3RhYmxlcyBjb21tYW5kIHRvIG5vZGV0b29sIChDQVNTQU5EUkEtNDE5OSkKICogYXBwbHkgcGFyZW50IENGIGNvbXBhY3Rpb24gc2V0dGnCZZbqABUgH1mY1dYAAAFP3jyyXAAQCiAgIChDQVNTQU5EUkEtMgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguSAAAAQAgaGFuZGxlIHBhcnNpbmcgaHVnZSBtYXAgYW5kIHNldCBsaXRlcmFscyAoQ0FTU0FORFJBLTU4OTMpCiAqIEZpeCBMQ1MgTDAgY29tcGFjdGlvbiBtYXkgb3ZlcmxhcCBpbiBMMSAoQ0FTU0FORFJBLTU5MDcpCiAqIE5ldyBzc3RhYmxlc3BsaXQgdG9vbCB0byBzcGxpdCBsYXJnZSBzc3RhYmxlcyBvZmZsaW5lIChDQVNTQU5EUkEtNDc2NikKICogRml4IHBvdGVudGlhbCBkZWFkbG9jayBpbiBuYXRpdmUgcHJvdG9jb2wgc2VydmVyIChDQVNTQU5EUkEtWqLEqgAAAU/ePLJcABAqIGF2b2lkIGJsb2NraW5nAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5IAAABAHNlZWQgbm9kZXMgd2lsbCBhdHRlbXB0CiAgIHRvIGJvb3RzdHJhcCB3aGVuIHN0YXJ0ZWQsIHVudGlsIGJvb3RzdHJhcCBzdWNjZXNzZnVsbHkKICAgY29tcGxldGVzLiAtYiBvcHRpb24gaXMgcmVtb3ZlZC4gIChDQVNTQU5EUkEtNDM4KQogKiBVbmxlc3MgYSB0b2tlbiBpcyBtYW51YWxseSBzcGVjaWZpZWQgaW4gdGhlIGNvbmZpZ3VyYXRpb24geG1sLAogICBhIGJvb3RzdHJhcGluZyBub2RlIHdpbGwgdXNlIGEgdG9rZW4gdGhhdCBnaXZlcyBpdCBXng8iAAABT948slwAEENBU1NBTkRSQS05MDk4KQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkgAAAEAQWJzdHJhY3RUeXBlIHRvIEpEQkMgKENBU1NBTkRSQS00NDk1KQogKiBBZGRzIG5ldyBUaW1lc3RhbXBUeXBlIHRvIHJlcGxhY2UgRGF0ZVR5cGUgKENBU1NBTkRSQS01NzIzLCBDQVNTQU5EUkEtNTcyOSkKTWVyZ2VkIGZyb20gMS4yOgogKiBtYWtlIHN0YXJ0aW5nIG5hdGl2ZSBwcm90b2NvbCBzZXJ2ZXIgaWRlbXBvdGVudCAoQ0FTU0FORFJBLTU3MjgpCiAqIEZpeCBsb2FkaW5nIGtleSBjYWNoZSB3aGVuIGEgc2F2ZWQgZW50cnkgaXMgbm8gbG9uZ0pRpqEAAAFP3jyyXAAQICogcmVxdWlyZSBpbmRleAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguSAAAAQBoZSBzZXR0aW5ncyBhcyBtdWNoIGFzIHBvc3NpYmxlIHdoZW4gdXBncmFkaW5nIAogICAoQ0FTU0FORFJBLTQwODgpCiAqIHJlbGF4IHBhdGggbGVuZ3RoIHJlcXVpcmVtZW50IGZvciBzc3RhYmxlIGZpbGVzIHdoZW4gdXBncmFkaW5nIG9uIAogICBub24tV2luZG93cyBwbGF0Zm9ybXMgKENBU1NBTkRSQS00MTEwKQogKiBmaXggdGVybWluaW5hdGlvbiBvZiB0aGUgc3RyZXNzLmphdmEgd2hlbiBlcnJvcnMgd2VyZSBlbmNvdW50ZXJlZAogICAoQ0FTrtL82wAAAU/ePLJcABB0cyAoQ0FTU0FORFJBLTQwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5IAAABAGVyIGNhc2UgaW5zZW5zaXRpdmUgVVNFIChDQVNTQU5EUkEtNTU2NykKTWVyZ2VkIGZyb20gMS4xCiAqIEFkZCByZXRyeSBtZWNoYW5pc20gdG8gT1RDIGZvciBub24tZHJvcHBhYmxlX3ZlcmJzIChDQVNTQU5EUkEtNTM5MykKICogVXNlIGFsbG9jYXRvciBpbmZvcm1hdGlvbiB0byBpbXByb3ZlIG1lbXRhYmxlIG1lbW9yeSB1c2FnZSBlc3RpbWF0ZQogICAoQ0FTU0FORFJBLTU0OTcpCiAqIEZpeCB0cnlpbmcgdG8gbG9hZCBkZWxldGVkIHJvdyBpbnRWbh7qAAABT948slwAEE5EUkEtNzQ3OCkKICogQ2wAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkgAAAEAZHJhLWNsaSBHRVQvU0VUL0xJU1QgcXVlcmllcyAoQ0FTU0FORFJBLTMzMjYpCiAqIE9ubHkgY3JlYXRlIG9uZSBDb21wcmVzc2lvbk1ldGFkYXRhIG9iamVjdCBwZXIgc3N0YWJsZSAoQ0FTU0FORFJBLTM0MjcpCiAqIGNsZWFudXAgdXNhZ2Ugb2YgU3RvcmFnZVNlcnZpY2Uuc2V0TW9kZSgpIChDQVNTQU5EUkEtMzM4OCkKICogQXZvaWQgbGFyZ2UgYXJyYXkgYWxsb2NhdGlvbiBmb3IgY29tcHJlc3NlZCBjaHVuayBvZmZzZXRzIChDQVNTQU5EUkEtM5BQgTIAAAFP3jyyXAAQb3JtYWwgcXVlcmllcyAoQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguSAAAAQBJbnRyb2R1Y2UgYmFja2dyb3VuZCBjYWNoZSByZWZyZXNoaW5nIHRvIHBlcm1pc3Npb25zIGNhY2hlCiAgIChDQVNTQU5EUkEtODE5NCkKICogRml4IHJhY2UgY29uZGl0aW9uIGluIFN0cmVhbVRyYW5zZmVyVGFzayB0aGF0IGNvdWxkIGxlYWQgdG8KICAgaW5maW5pdGUgbG9vcHMgYW5kIHByZW1hdHVyZSBzc3RhYmxlIGRlbGV0aW9uIChDQVNTQU5EUkEtNzcwNCkKICogQWRkIGFuIGV4dHJhIHZlcnNpb24gY2hlY2sgdG8gTWlncmF0aW9uVGFzayAoVXdWMQAAAU/ePLJcABBSQS00MTc0KQogKiBhZGQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5IAAABADA4NCkKICogZml4IHBhcnNpbmcgb2YgdGhlIEtleXNwYWNlIGFuZCBDb2x1bW5GYW1pbHkgbmFtZXMgaW4gbnVtZXJpYwogICBhbmQgc3RyaW5nIHJlcHJlc2VudGF0aW9ucyBpbiBDTEkgKENBU1NBTkRSQS0zMDc1KQogKiBmaXggY29ybmVyIGNhc2VzIGluIFJhbmdlLmRpZmZlcmVuY2VUb0ZldGNoIChDQVNTQU5EUkEtMzA4NCkKICogZml4IGlwIGFkZHJlc3MgU3RyaW5nIHJlcHJlc2VudGF0aW9uIGluIHRoZSByaW5nIGNhY2hlIChDQVNTQU5EUkE2PD6xABU0fMDHN6gAAAFP3jyyXAAQZXRlY3RlZCBvbiBzdGFydAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguSQAAAQB0cyAoQ0FTU0FORFJBLTg5MTMpCiAqIE1ha2UgU1NUYWJsZVJld3JpdGVyLmFib3J0KCkgbW9yZSByb2J1c3QgdG8gZmFpbHVyZSAoQ0FTU0FORFJBLTg4MzIpCiAqIFJlbW92ZSBjb2xkX3JlYWRzX3RvX29taXQgZnJvbSBTVENTIChDQVNTQU5EUkEtODg2MCkKICogTWFrZSBFc3RpbWF0ZWRIaXN0b2dyYW0jcGVyY2VudGlsZSgpIHVzZSBjZWlsIGluc3RlYWQgb2YgZmxvb3IgKENBU1NBTkRSQS04ODgzKQogKiBGaXggdG9wIHBhcnRpdGlvbnMgcmVwYGx4JwAAAU/ePLJcABAgNTcxNCkKICogRG9uJ3QgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5JAAABAGlvbiBmb3JtYXQgZm9yIFVEVCB2YWx1ZXMgKENBU1NBTkRSQS03MjA5LCBDQVNTQU5EUkEtNzI2MSkKICogRml4IG5vZGV0b29sIG5ldHN0YXRzIChDQVNTQU5EUkEtNzI3MCkKICogRml4IHBvdGVudGlhbCBDbGFzc0Nhc3RFeGNlcHRpb24gaW4gSGludGVkSGFuZG9mZk1hbmFnZXIgKENBU1NBTkRSQS03Mjg0KQogKiBVc2UgcHJlcGFyZWQgc3RhdGVtZW50cyBpbnRlcm5hbGx5IChDQVNTQU5EUkEtNjk3NSkKICogRml4IGJyb2tlbiBwYWdpbmcgc3QJTEwbAAABT948slwAEGhhbiBhIGNvbmZpZ3VyYWIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkkAAAEAQVNTQU5EUkEtNTkwMykKICogUHJvcGVybHkgaGFuZGxlIHBhcnNpbmcgaHVnZSBtYXAgYW5kIHNldCBsaXRlcmFscyAoQ0FTU0FORFJBLTU4OTMpCgoKMi4wLjAtcmMyCiAqIGVuYWJsZSB2bm9kZXMgYnkgZGVmYXVsdCAoQ0FTU0FORFJBLTU4NjkpCiAqIGZpeCBDQVMgY29udGVudGlvbiB0aW1lb3V0IChDQVNTQU5EUkEtNTgzMCkKICogZml4IEhzSGEgdG8gcmVzcGVjdCBtYXggZnJhbWUgc2l6ZSAoQ0FTU0FORFJBLTQ1NzMpCiAqIEZpeCAoc29tZfZ0DvsAAAFP3jyyXAAQUkEtOTE5MikKICogVXNlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguSQAAAQBTQU5EUkEtMjQyOCkKICogVHJ5IGhhcmRlciB0byBjbG9zZSBmaWxlcyBhZnRlciBjb21wYWN0aW9uIChDQVNTQU5EUkEtMjQzMSkKICogcmUtc2V0IGJvb3RzdHJhcHBlZCBmbGFnIGFmdGVyIG1vdmUgZmluaXNoZXMgKENBU1NBTkRSQS0yNDM1KQogKiBkaXNwbGF5IHZhbGlkYXRpb25fY2xhc3MgaW4gQ0xJICdkZXNjcmliZSBrZXlzcGFjZScgKENBU1NBTkRSQS0yNDQyKQogKiBtYWtlIGNsZWFudXAgY29tcGFjdGlvbnMgY2xlYW51cCB0aGUgcm93rfn1gwAAAU/ePLJcABBlcm5hdGUgd2hlbiBqb2luAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5JAAABAHNjb25uZWN0cwogICBhdCBERUJVRyBvciBJTkZPIChDQVNTQU5EUkEtNzg0OSkKICogQWxsb3cgcGVybWlzc2lvbnMgY2FjaGUgdG8gYmUgc2V0IHZpYSBKTVggKENBU1NBTkRSQS03Njk4KQogKiBJbmNsdWRlIHNjaGVtYV90cmlnZ2VycyBDRiBpbiByZWFkYWJsZSBzeXN0ZW0gcmVzb3VyY2VzIChDQVNTQU5EUkEtNzk2NykKICogRml4IFJvd0luZGV4RW50cnkgdG8gcmVwb3J0IGNvcnJlY3Qgc2VyaWFsaXplZFNpemUgKENBU1NBTkRSQS03OTQ4KQoD0oJ4AAABT948slwAEEFORFJBLTM2MzkpCiAqIE4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkkAAAEALTQwOTApCiAqIChDTEkpIHByb3Blcmx5IGhhbmRsZSBxdW90ZXMgaW4gY3JlYXRlL3VwZGF0ZSBrZXlzcGFjZSBjb21tYW5kcyAoQ0FTU0FORFJBLTQxMjkpCiAqIEF2b2lkcyBwb3NzaWJsZSBkZWFkbG9jayBkdXJpbmcgYm9vdHN0cmFwIChDQVNTQU5EUkEtNDE1OSkKICogZml4IHN0cmVzcyB0b29sIHRoYXQgaGFuZ3MgZm9yZXZlciBvbiB0aW1lb3V0IG9yIGVycm9yIChDQVNTQU5EUkEtNDEyOCkKICogRml4IHN1cGVyIGNvbHVtbnMgYnVnIHdoZXU+7+cAAAFP3jyyXAAQdG9wIGxldmVsIHN1cGVyYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguSQAAAQAyMDBrIGVudHJpZXMsIGNoYW5nZWQgZnJvbSAxMCUgKENBU1NBTkRSQS04NjMpCiAqIGFkZCAtRGNhc3NhbmRyYS1mb3JlZ3JvdW5kPXllcyB0byBjYXNzYW5kcmEuYmF0CiAqIGV4aXQgaWYgY2x1c3RlciBuYW1lIGlzIGNoYW5nZWQgdW5leHBlY3RlZGx5IChDQVNTQU5EUkEtNzY5KQoKCjAuNi4wLWJldGExL2JldGEyCiAqIGFkZCBiYXRjaF9tdXRhdGUgdGhyaWZ0IGNvbW1hbmQsIGRlcHJlY2F0aW5nIGJhdGNoX2luc2VydCAoQ0FTU0FORFJBLTMzlYRBvwAAAU/ePLJcABAgb2YgZW1wdHkgdmFsdWVzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5JAAABAGYgbWlncmF0aW9uIGV2ZW50IHNvdXJjZSB0byBzb2x2ZSBib290c3RyYXAgcmFjZS4gKENBU1NBTkRSQS02NjQ4KQogKiBNYWtlIHN1cmUgY29tcGFjdGlvbiB0aHJvdWdocHV0IHZhbHVlIGRvZXNuJ3Qgb3ZlcmZsb3cgd2l0aCBpbnQgbWF0aCAoQ0FTU0FORFJBLTY2NDcpCgoKMi4wLjQKICogQWxsb3cgcmVtb3Zpbmcgc25hcHNob3RzIG9mIG5vLWxvbmdlci1leGlzdGluZyBDRnMgKENBU1NBTkRSQS02NDE4KQogKiBhZGQgU3RvcmFnZVNlcnZpY2UlZpcpAAABT948slwAECkKICogTWFrZSBTU1RhYmwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkkAAAEAZXIgKENBU1NBTkRSQS03NDUpCiAqIHBlci1rZXlzcGFjZSByZXBsaWNhdGlvbiBmYWN0b3J5IGFuZCByZXBsaWNhdGlvbiBzdHJhdGVneSAoQ0FTU0FORFJBLTYyMCkKICogdHJhY2sgbGF0ZW5jeSBpbiBtaWNyb3NlY29uZHMgKENBU1NBTkRSQS03MzMpCiAqIGFkZCBkZXNjcmliZV8gVGhyaWZ0IG1ldGhvZHMsIGRlcHJlY2F0aW5nIGdldF9zdHJpbmdfcHJvcGVydHkgYW5kIAogICBnZXRfc3RyaW5nX2xpc3RfcHJvcGVydHkKICogam14IGludGVyZmVVBy0AAAFP3jyyXAAQIGF2b2lkIGFib3J0aW5nIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguSQAAAQBmIGFsbCBvZiB0aGVtLiAgKCJhbGwiIGNhbiBydW4geW91ciBzZXJ2ZXIgb3V0IG9mIG1lbW9yeS4KICAgICAgdXNlIGEgcmFuZ2UtYmFzZWQgc2xpY2Ugd2l0aCBhIGhpZ2ggbWF4IGNvbHVtbiBjb3VudCBpbnN0ZWFkLikKICogUmVtb3ZlZCB0aGUgd2ViIGludGVyZmFjZS4gTm9kZSBpbmZvcm1hdGlvbiBjYW4gbm93IGJlIG9idGFpbmVkIGJ5IAogICB1c2luZyB0aGUgbmV3bHkgaW50cm9kdWNlZCBub2RlcHJvYmUgdXRpbGl0eS4KICogTW9yZSBKMdlqwwAAAU/ePLJcABA5MDEpCiAqIGV4YW1pbmUgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5JAAABACogT3B0aW1pemUgYXV0aCBzZXR1cCAoQ0FTU0FORFJBLTYxMjIpCiAqIFRyYWNlIGluZGV4IHNlbGVjdGlvbiAoQ0FTU0FORFJBLTYwMDEpCiAqIFVwZGF0ZSBzc3RhYmxlc1BlclJlYWRIaXN0b2dyYW0gdG8gdXNlIGJpYXNlZCBzYW1wbGluZyAoQ0FTU0FORFJBLTYxNjQpCiAqIExvZyBVbmtub3duQ29sdW1uZmFtaWx5RXhjZXB0aW9uIHdoZW4gY2xvc2luZyBzb2NrZXQgKENBU1NBTkRSQS01NzI1KQogKiBQcm9wZXJseSBlcnJvciBvdXQgb24gQ1IJIuIyAAABT948slwAEHJlY3Qgc2VyaWFsaXplZFMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkkAAAEAYWQgYmVlbiBkZWxldGVkIHByZXZpb3VzbHkgKENBU1NBTkRSQS05MjApCiAqIGZpeCBpbmRleCBzY2FucyB0aGF0IGNyb3NzIHRoZSAyR0IgbW1hcCBib3VuZGFyaWVzIGZvciBib3RoIG1tYXAKICAgYW5kIHN0YW5kYXJkIGkvbyBtb2RlcyAoQ0FTU0FORFJBLTg2NikKICogZXhwb3NlIGRyYWluIHZpYSBub2RldG9vbCAoQ0FTU0FORFJBLTk3OCkKCgowLjYuMC1SQzEKICogSk1YIGRyYWluIHRvIGZsdXNoIG1lbXRhYmxlcyBhbmQgcnVuIHRocm91ZwlZlq8AAAFP3jyyXAAQOCkKICogZml4IGhhbmRsaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguSQAAAQAgZGVsZXRpb25zIHRvIHN1cGVyY29sdW1ucyBpbiBDRnMgY29udGFpbmluZyBvbmx5IHN0YW5kYXJkCiAgIGNvbHVtbnMgKENBU1NBTkRSQS0xMTM5KQogKiBhdm9pZCBwcmVzZXJ2aW5nIGxvZ2luIGluZm9ybWF0aW9uIGFmdGVyIGNsaWVudCBkaXNjb25uZWN0cwogICAoQ0FTU0FORFJBLTEwNTcpCiAqIHByZWZlciBzdW4gamRrIHRvIG9wZW5qZGsgaW4gZGViaWFuIGluaXQgc2NyaXB0IChDQVNTQU5EUkEtMTE3NCkKICogZGV0ZWN0IHBhcnRpb25l12fh7QAAAU/ePLJcABAyNjgwKQogKiByZW1vdmUgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5JAAABAEFTU0FORFJBLTg1ODApCiAqIChjcWxzaCkgSGFuZGxlIG1hcHMgd2l0aCBibG9iIGtleXMgKENBU1NBTkRSQS04MzcyKQogKiAoY3Fsc2gpIEhhbmRsZSBEeW5hbWljQ29tcG9zaXRlVHlwZSBzY2hlbWFzIGNvcnJlY3RseSAoQ0FTU0FORFJBLTg1NjMpCiAqIER1cGxpY2F0ZSByb3dzIHJldHVybmVkIHdoZW4gaW4gY2xhdXNlIGhhcyByZXBlYXRlZCB2YWx1ZXMgKENBU1NBTkRSQS02NzA2KQogKiBBZGQgdG9vbGluZyB0byBkZXRlY3QgaG90IHBhcnTNNUAUAAABT948slwAEGwgZmlsZXMgZm9yIGFuIHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkkAAAEAUmFuZ2VTbGljZSBmaWx0ZXIgYWZ0ZXIgZmluaXNoaW5nIGEgcm93IGZvciBnZXRfcGFnZWRfc2xpY2UKICAgKENBU1NBTkRSQS00OTE5KQogKiBleHB1bmdlIHJvdyBjYWNoZSBwb3N0LXRydW5jYXRlIChDQVNTQU5EUkEtNDk0MCkKICogQWxsb3cgc3RhdGljIENGIGRlZmluaXRpb24gd2l0aCBjb21wYWN0IHN0b3JhZ2UgKENBU1NBTkRSQS00OTEwKQogKiBGaXggZW5kbGVzcyBsb29wL2NvbXBhY3Rpb24gb2Ygc2NoZW1hXyogQ0ZzIGR1ZSB0byBicrqzk2wAFUjZOtLQHwAAAU/ePLJcABAgKENBU1NBTkRSQS01Njc1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5MAAABACBBdG9taWNCVHJlZUNvbHVtbnMgKENBU1NBTkRSQS02MjcxLCA2NjkyKQogKiBNdWx0aXRocmVhZGVkIGNvbW1pdGxvZyAoQ0FTU0FORFJBLTM1NzgpCiAqIGFsbG9jYXRlIGZpeGVkIGluZGV4IHN1bW1hcnkgbWVtb3J5IHBvb2wgYW5kIHJlc2FtcGxlIGNvbGQgaW5kZXggc3VtbWFyaWVzIAogICB0byB1c2UgbGVzcyBtZW1vcnkgKENBU1NBTkRSQS01NTE5KQogKiBSZW1vdmVkIG11bHRpdGhyZWFkZWQgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTYxNDK3130XAAABT948slwAEGVzcGVjdGVkIChDQVNTQU4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkwAAAEAb25Gcm9tQ29sdW1uTmFtZSgpIChDQVNTQU5EUkEtNzA3NCkKICogRml4IHdyaXRldGltZS90dGwgZnVuY3Rpb25zIGZvciBzdGF0aWMgY29sdW1ucyAoQ0FTU0FORFJBLTcwODEpCiAqIFN1Z2dlc3QgQ1RSTC1DIG9yIHNlbWljb2xvbiBhZnRlciB0aHJlZSBibGFuayBsaW5lcyBpbiBjcWxzaCAoQ0FTU0FORFJBLTcxNDIpCiAqIEZpeCAybmRhcnkgaW5kZXggcXVlcmllcyB3aXRoIERFU0MgY2x1c3RlcmluZyBvcmRlciAoQ0FTU0FORFJBLTY5NTApCj+R5TcAAAFP3jyyXAAQICogZml4IGZvciByZXZlcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguTAAAAQBjdGlvbnN0YXRzIChDQVNTQU5EUkEtNDE2NykKICogKGNxbCkgZml4IE5QRSBpbiBjcWwzIEFMVEVSIFRBQkxFIChDQVNTQU5EUkEtNDE2MykKICogKGNxbCkgQWRkIHN1cHBvcnQgZm9yIENMLlRXTyBhbmQgQ0wuVEhSRUUgaW4gQ1FMIChDQVNTQU5EUkEtNDE1NikKICogKGNxbCkgRml4IHR5cGUgaW4gQ1FMMyBBTFRFUiBUQUJMRSBwcmV2ZW50aW5nIHVwZGF0ZSAoQ0FTU0FORFJBLTQxNzApCiAqIChjcWwpIFRocm93IGludmFsaWQgZXhjZXB0aW9u0wDn7wAAAU/ePLJcABBzdGFjayBzaXplIHRvIDE2AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5MAAABAGxsb3cgc2V0dGluZyB0aGUgbG9nZ2luZyBsZXZlbCBhdCBydW50aW1lIHZpYSBtYmVhbiAoQ0FTU0FORFJBLTQwMikKICogY2hhbmdlIGRlZmF1bHQgY29tcGFyYXRvciB0byBCeXRlc1R5cGUgKENBU1NBTkRSQS00MDApCiAqIGFkZCBmb3J3YXJkcy1jb21wYXRpYmxlIENvbnNpc3RlbmN5TGV2ZWwgcGFyYW1ldGVyIHRvIGdldF9rZXlfcmFuZ2UKICAgKENBU1NBTkRSQS0zMjIpCiAqIHIvbSBzcGVjaWFsIGNhc2Ugb2YgYmxvY2tpbmcgZm9yIGxvY2FmFxQgAAABT948slwAEHJyZW50X3dyaXRlcyBjb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkwAAAEAZXJ2ZXJSdW5uaW5nIChDQVNTQU5EUkEtMjcyMSkKICogbWFrZSBzdHJlc3MuamFyIGV4ZWN1dGFibGUgKENBU1NBTkRSQS0yNzQ0KQogKiBhZGQgZGFlbW9uIG1vZGUgdG8gamF2YSBzdHJlc3MgKENBU1NBTkRSQS0yMjY3KQogKiBleHBvc2UgdGhlIERDIGFuZCByYWNrIG9mIGEgbm9kZSB0aHJvdWdoIEpNWCBhbmQgbm9kZXRvb2wgcmluZyAoQ0FTU0FORFJBLTI1MzEpCiAqIGZpeCBjYWNoZSBtYmVhbiBnZXRTaXplIChDQVNTQU5EUkEtMjc4MSkKICspXkAAAAFP3jyyXAAQU1NBTkRSQS00MjY0KQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguTAAAAQAgc3N0YWJsZSB3aGVuIGdpdmluZyBvdXQgcG9zaXRpb25zIChDQVNTQU5EUkEtODQ1OCkKICogRGlzYWJsZSBtbWFwIG9uIFdpbmRvd3MgKENBU1NBTkRSQS02OTkzKQogKiBBZGQgbWlzc2luZyBDb25zaXN0ZW5jeUxldmVscyB0byBjYXNzYW5kcmEtc3RyZXNzIChDQVNTQU5EUkEtODI1MykKICogQWRkIGF1dGggc3VwcG9ydCB0byBjYXNzYW5kcmEtc3RyZXNzIChDQVNTQU5EUkEtNzk4NSkKICogRml4IEFycmF5SW5kZXhPdXRPZkJvdW5kc0V4Y2VwkmnWrgAAAU/ePLJcABBSQS02NDQwKQogKiBBbGxvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5MAAABAHNlZFJhbmRvbUFjY2Vzc1JlYWRlclRlc3QgKENBU1NBTkRSQS0zMjk4KQogKiAoQ1FMKSBmaXggdHlwZSBpbmZvcm1hdGlvbiByZXR1cm5lZCBmb3Igd2lsZGNhcmQgcXVlcmllcyAoQ0FTU0FORFJBLTMzMTEpCiAqIGFkZCBlc3RpbWF0ZWQgdGFza3MgdG8gTGV2ZWxlZENvbXBhY3Rpb25TdHJhdGVneSAoQ0FTU0FORFJBLTMzMjIpCiAqIGF2b2lkIGluY2x1ZGluZyBjb21wYWN0aW9uIGNhY2hlLXdhcm1pbmcgaW4ga2V5Y2FjaGUgc3RhdHMgKENBU1NMqCF5AAABT948slwAECBJbnZhbGlkUmVxdWVzdEUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkwAAAEAbmFtZXMgKENBU1NBTkRSQS02MDc3KQogKiBGaXggdGhyaWZ0IHZhbGlkYXRpb24gcmVmdXNpbmcgcm93IG1hcmtlcnMgb24gQ1FMMyB0YWJsZXMgKENBU1NBTkRSQS02MDgxKQogKiBGaXggaW5zZXJ0aW9uIG9mIGNvbGxlY3Rpb25zIHdpdGggQ0FTIChDQVNTQU5EUkEtNjA2OSkKICogQ29ycmVjdGx5IHNlbmQgbWV0YWRhdGEgb24gU0VMRUNUIENPVU5UIChDQVNTQU5EUkEtNjA4MCkKICogVHJhY2sgY2xpZW50cycgcmVtb3RlIGFkZHJlc3NlcyBpbqzuvBkAAAFP3jyyXAAQSCBkb2N1bWVudGF0aW9uIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguTAAAAQByaXRlciBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uCiAgIChDQVNTQU5EUkEtODYxOSkKICogUm91bmQgdXAgdGltZSBkZWx0YXMgbG93ZXIgdGhhbiAxbXMgaW4gQnVsa0xvYWRlciAoQ0FTU0FORFJBLTg2NDUpCiAqIEFkZCBiYXRjaCByZW1vdmUgaXRlcmF0b3IgdG8gQUJTQyAoQ0FTU0FORFJBLTg0MTQsIDg2NjYpCiAqIEZpeCBpc0NsaWVudE1vZGUgY2hlY2sgaW4gS2V5c3BhY2UgKENBU1NBTkRSQS04Njg3KQogKiBVc2UgbW9yZSBll9Ak1QAAAU/ePLJcABBoZWlyIEpNWCBzdGF0dXMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5MAAABAGVyIHN1biBqZGsgdG8gb3BlbmpkayBpbiBkZWJpYW4gaW5pdCBzY3JpcHQgKENBU1NBTkRSQS0xMTc0KQogKiBkZXRlY3QgcGFydGlvbmVyIGNvbmZpZyBjaGFuZ2VzIGJldHdlZW4gcmVzdGFydHMgYW5kIGZhaWwgZmFzdCAKICAgKENBU1NBTkRSQS0xMTQ2KQogKiB1c2UgZ2VuZXJhdGlvbiB0aW1lIHRvIHJlc29sdmUgbm9kZSB0b2tlbiByZWFzc2lnbm1lbnQgZGlzYWdyZWVtZW50cwogICAoQ0FTU0FORFJBLTExMTgpCiAqIHJlc3RydWN0dXJlIHRMD4hEAAABT948slwAEG5nCiAgIGZpbmlzaGVkICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkwAAAEAaW4gSk1YIChDQVNTQU5EUkEtMjgxNykKICogYWRkIGFiaWxpdHkgdG8gcmV0dXJuICJlbmRwb2ludHMiIHRvIG5vZGV0b29sIChDQVNTQU5EUkEtMjc3NikKICogQWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIChjb21tYS1kZWxpbWl0ZWQpIGNvb3JkaW5hdG9yIGFkZHJlc3NlcwogICB0byBDb2x1bW5GYW1pbHlJbnB1dEZvcm1hdCAoQ0FTU0FORFJBLTI4MDcpCiAqIGZpeCBwb3RlbnRpYWwgTlBFIHdoaWxlIHNjaGVkdWxpbmcgcmVhZCByZXBhaXIgZnfRzeEAAAFP3jyyXAAQaW5nIAogICB1c2VkIGZvcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguTAAAAQByIGdvdCBvdXQgb2Ygc3luYyB3aGVuIENGcyB3ZXJlIGFkZGVkIChDQVNTQU5EUkEtMTQwMykKICogbGVzcyBjaGF0dHkgc2NoZW1hIHVwZGF0ZXMgKENBU1NBTkRSQS0xMzg5KQogKiByZW5hbWUgY29sdW1uIGZhbWlseSBtYmVhbnMuICd0eXBlJyB3aWxsIG5vdyBpbmNsdWRlIGVpdGhlciAKICAgJ0luZGV4Q29sdW1uRmFtaWxpZXMnIG9yICdDb2x1bW5GYW1pbGllcycgZGVwZW5kaW5nIG9uIHRoZSBDRlMgdHlwZS4KICAgKENBU1NBTkRSQS0xMzg1kJMfMgAAAU/ePLJcABBuZCB0byBjYXNzYW5kcmEuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5MAAABAE5EUkEtNjY4OSwgNjY5NCkKICogUmVtb3ZlIGFkanVzdGVkIG9wIHJhdGUgZnJvbSBzdHJlc3Mgb3V0cHV0IChDQVNTQU5EUkEtNjkyMSkKICogQWRkIG9wdGltaXplZCBDRi5oYXNDb2x1bW5zKCkgaW1wbGVtZW50YXRpb25zIChDQVNTQU5EUkEtNjk0MSkKICogU2VyaWFsaXplIGJhdGNobG9nIG11dGF0aW9ucyB3aXRoIHRoZSB2ZXJzaW9uIG9mIHRoZSB0YXJnZXQgbm9kZQogICAoQ0FTU0FORFJBLTY5MzEpCiAqIE9wdGltaXplIENvdW50ZXJDb2yO9wbBAAABT948slwAEGxsb3cgb25lIGxldmVsZWQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILkwAAAEAIFJGPTEgKENBU1NBTkRSQS03ODY0KQoKCjIuMC4xMAogKiBEb24ndCBzZW5kIHNjaGVtYSBjaGFuZ2UgcmVzcG9uc2VzIGFuZCBldmVudHMgZm9yIG5vLW9wIERETAogICBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNzYwMCkKICogKEhhZG9vcCkgZml4IGNsdXN0ZXIgaW5pdGlhbGlzYXRpb24gZm9yIGEgc3BsaXQgZmV0Y2hpbmcgKENBU1NBTkRSQS03Nzc0KQogKiBDb25maWd1cmUgc3lzdGVtLnBheG9zIHdpdGggTGV2ZWxlZENvbXBhY3Rpb25TdHJhdBuK/EMAAAFP3jyyXAAQcmFuZ2Uvcm93IHRvbWJzdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguTAAAAQBBU1NBTkRSQS02NjAyKQogKiBQcm9wZXJseSB2YWxpZGF0ZSBhc2NpaSBhbmQgdXRmOCBzdHJpbmcgbGl0ZXJhbHMgaW4gQ1FMIHF1ZXJpZXMgKENBU1NBTkRSQS04MTAxKQogKiAoY3Fsc2gpIEZpeCBhdXRvY29tcGxldGlvbiBmb3IgYWx0ZXIga2V5c3BhY2UgKENBU1NBTkRSQS04MDIxKQogKiBDcmVhdGUgYmFja3VwIGRpcmVjdG9yaWVzIGZvciBjb21taXRsb2cgYXJjaGl2aW5nIGR1cmluZyBzdGFydHVwIChDQVNTQU5EUkEtODExMSkKICogUmVkqBg7JgAVXTYf5LGCAAABT948slwAEHVwbGljYXRlIHVwL2Rvd24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILk4AAAEAKENBU1NBTkRSQS04ODI5KQogKiBGaXggU3RyZWFtVHJhbnNmZXJUYXNrIGFib3J0L2NvbXBsZXRlIGJhZCByZWZjb3VudGluZyAoQ0FTU0FORFJBLTg4MTUpCiAqIEZpeCBBc3NlcnRpb25FcnJvciB3aGVuIHF1ZXJ5aW5nIGEgREVTQyBjbHVzdGVyaW5nIG9yZGVyZWQKICAgdGFibGUgd2l0aCBBU0Mgb3JkZXJpbmcgYW5kIHBhZ2luZyAoQ0FTU0FORFJBLTg3NjcpCiAqIEFzc2VydGlvbkVycm9yOiAiTWVtb3J5IHdhcyBmcmVlZCIgd2hlbiBydW5uaTuLuXkAAAFP3jyyXAAQIG1lcmdlIHBlcmZvcm1hbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguTgAAAQBpbmcgMklzIHZpYSBub2RldG9vbCAoQ0FTU0FORFJBLTU2NzApCiAqIEhleC1lbmNvZGUgbm9uLVN0cmluZyBrZXlzIGluIE9QUCAoQ0FTU0FORFJBLTU3OTMpCiAqIG5vZGV0b29sIGhpc3RvcnkgbG9nZ2luZyAoQ0FTU0FORFJBLTU4MjMpCiAqIChIYWRvb3ApIGZpeCBzdXBwb3J0IGZvciBUaHJpZnQgdGFibGVzIGluIENxbFBhZ2luZ1JlY29yZFJlYWRlciAKICAgKENBU1NBTkRSQS01NzUyKQogKiBhZGQgImFsbCB0aW1lIGJsb2NrZWQiIHRvIFN0CeKUqwAAAU/ePLJcABA2KQogKiBzdG9wIHRocmlmAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5OAAABADgpCiAqIGZpeCBkeW5hbWljIHNuaXRjaCBpZ25vcmluZyBub2RlcyB3aGVuIHJlYWRfcmVwYWlyX2NoYW5jZSBpcyB6ZXJvCiAgIChDQVNTQU5EUkEtMjY2MikKICogYXZvaWQgcmV0YWluaW5nIHJlZmVyZW5jZXMgdG8gZHJvcHBlZCBDRlMgb2JqZWN0cyBpbiAKICAgQ29tcGFjdGlvbk1hbmFnZXIuZXN0aW1hdGVkQ29tcGFjdGlvbnMgKENBU1NBTkRSQS0yNzA4KQogKiBleHBvc2UgcnBjIHRpbWVvdXRzIHBlciBob3N0IGluIE1lc3NhZ2luZ1NlcnZ4LBdOAAABT948slwAEGR1cGxpY2F0ZSByZXN1bHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILk4AAAEAaGF0IGFjdCBhcyBpbmNyL2RlY3IgY291bnRlcnMgCiAgIChDQVNTQU5EUkEtMTA3MiwgMTkzNywgMTk0NCwgMTkzNiwgMjEwMSwgMjA5MywgMjI4OCwgMjEwNSwgMjM4NCwgMjIzNiwgMjM0MiwKICAgMjQ1NCkKICogQ1FMIChDQVNTQU5EUkEtMTcwMywgMTcwNCwgMTcwNSwgMTcwNiwgMTcwNywgMTcwOCwgMTcxMCwgMTcxMSwgMTk0MCwgCiAgIDIxMjQsIDIzMDIsIDIyNzcsIDI0OTMpCiAqIGF2b2lkIGRvdWJsZSBSb3dNdXRhdGlvbiBzZXJpYWxpephF9VIAAAFP3jyyXAAQaWdodCBuaWJibGUgd2hlbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguTgAAAQBnIHRvIHBlcm1pc3Npb25zIGNhY2hlCiAgIChDQVNTQU5EUkEtODE5NCkKICogRml4IHJhY2UgY29uZGl0aW9uIGluIFN0cmVhbVRyYW5zZmVyVGFzayB0aGF0IGNvdWxkIGxlYWQgdG8KICAgaW5maW5pdGUgbG9vcHMgYW5kIHByZW1hdHVyZSBzc3RhYmxlIGRlbGV0aW9uIChDQVNTQU5EUkEtNzcwNCkKICogQWRkIGFuIGV4dHJhIHZlcnNpb24gY2hlY2sgdG8gTWlncmF0aW9uVGFzayAoQ0FTU0FORFJBLTg0NjIpCiAqIEVuc3VyZSBTU1RhYmxlV3Jpc0TkgQAAAU/ePLJcABBuZyBvbiBXaW5kb3dzIChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5OAAABAHIgZmFpbHMgKENBU1NBTkRSQS0zNTQ4KQogKiBSZW1vdmUgY29sdW1ucyBzaGFkb3dlZCBieSBhIGRlbGV0ZWQgY29udGFpbmVyIGV2ZW4gd2hlbiB3ZSBjYW5ub3QgcHVyZ2UKICAgKENBU1NBTkRSQS0zNTM4KQogKiBJbXByb3ZlIG1lbXRhYmxlIHNsaWNlIGl0ZXJhdGlvbiBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTM1NDUpCiAqIG1vcmUgZWZmaWNpZW50IGFsbG9jYXRpb24gb2Ygc21hbGwgYmxvb20gZmlsdGVycyAoQ0FTU0FORFJBLTM2MTgpCiAwv147AAABT948slwAEGhhdmlvciB0aGF0IG1pbj0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILk4AAAEAZWwgZm9yIGNsZWFudXAsIHNjcnViLCBhbmQgdXBncmFkZXNzdGFibGVzCiAgIG9wZXJhdGlvbnMgdW5kZXIgTGV2ZWxlZENvbXBhY3Rpb25TdHJhdGVneSAoQ0FTU0FORFJBLTM5ODksIDQxMTIpCiAqIGZpeCByYWNlIGxlYWRpbmcgdG8gc3VwZXIgY29sdW1ucyBhc3NlcnRpb24gZmFpbHVyZSAoQ0FTU0FORFJBLTM5NTcpCiAqIGZpeCBOUEUgb24gaW52YWxpZCBDUUwgZGVsZXRlIGNvbW1hbmQgKENBU1NBTkRSQS0zNzU1KQogKiBhbGxvdyBjdXN0b27pCR8AAAFP3jyyXAAQRGVmaW5pdGlvbiNoYXNJbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguTgAAAQBldGUgdG9wb2xvZ3kgaW5mb3JtYXRpb24gaW4gZGVzY3JpYmVfcmluZyAoQ0FTU0FORFJBLTM0MDMpCiAqIGV4cGlyZSBkZWFkIGdvc3NpcCBzdGF0ZXMgYmFzZWQgb24gdGltZSAoQ0FTU0FORFJBLTI5NjEpCiAqIGltcHJvdmUgQ29tcGFjdGlvblRhc2sgZXh0ZW5zaWJpbGl0eSAoQ0FTU0FORFJBLTMzMzApCiAqIEFsbG93IG9uZSBsZXZlbGVkIGNvbXBhY3Rpb24gdGFzayB0byBraWNrIG9mZiBhbm90aGVyIChDQVNTQU5EUkEtMzM2MykKICogYWxsosda0gAAAU/ePLJcABBBU1NBTkRSQS0zNTA4KQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5OAAABAE9ubHkgY291bnQgY29tcGFjdGlvbiBhcyBhY3RpdmUgKGZvciB0aHJvdHRsaW5nKSB3aGVuIHRoZXkgaGF2ZQogICBzdWNjZXNzZnVsbHkgYWNxdWlyZWQgdGhlIGNvbXBhY3Rpb24gbG9jayAoQ0FTU0FORFJBLTMzNDQpCiAqIERpc3BsYXkgQ0xJIHZlcnNpb24gc3RyaW5nIG9uIHN0YXJ0dXAgKENBU1NBTkRSQS0zMTk2KQogKiAoSGFkb29wKSBtYWtlIENGSUYgdHJ5IHJwY19hZGRyZXNzIG9yIGZhbGxiYWNrIHRvIGxpc3Rlbl9hZGRyZXNzCiAgIChkUmcUAAABT948slwAEGFuZAogICBTdG9yYWdlU2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILk4AAAEAYXJ5CiAgIGluZGV4IHRhYmxlcyAoQ0FTU0FORFJBLTg1NTApCiAqIEZpeCBwb3RlbnRpYWxseSByZXR1cm5pbmcgZGVsZXRlZCByb3dzIHdpdGggcmFuZ2UgdG9tYnN0b25lIChDQVNTQU5EUkEtODU1OCkKICogQ2hlY2sgZm9yIGF2YWlsYWJsZSBkaXNrIHNwYWNlIGJlZm9yZSBzdGFydGluZyBhIGNvbXBhY3Rpb24gKENBU1NBTkRSQS04NTYyKQogKiBGaXggRElTVElOQ1QgcXVlcmllcyB3aXRoIExJTUlUcyBvciBwYWdpbmcgd2hlbiBzb21lIHBhcp7qv+cAAAFP3jyyXAAQTkRSQS01OTMxKQogKiBGaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguTgAAAQBjdGlvbiAoQ0FTU0FORFJBLTkyNTEpCiAqIGNhc3NhbmRyYS1zdHJlc3Mgc3VwcG9ydHMgdmFsaWRhdGlvbiBvcGVyYXRpb25zIG92ZXIgdXNlciBwcm9maWxlcyAoQ0FTU0FORFJBLTg3NzMpCiAqIEFkZCBzdXBwb3J0IGZvciByYXRlIGxpbWl0aW5nIGxvZyBtZXNzYWdlcyAoQ0FTU0FORFJBLTkwMjkpCiAqIExvZyB0aGUgcGFydGl0aW9uIGtleSB3aXRoIHRvbWJzdG9uZSB3YXJuaW5ncyAoQ0FTU0FORFJBLTg1NjEpCiAqIFJlZHVjZSBydW5XaXRobhGUeAAAAU/ePLJcABAgZG93biBsb25nZXIgdGhhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5OAAABAEFTU0FORFJBLTg2MzUpCiAqIHJwY19pbnRlcmZhY2UgYW5kIGxpc3Rlbl9pbnRlcmZhY2UgZ2VuZXJhdGUgTlBFIG9uIHN0YXJ0dXAgd2hlbiBzcGVjaWZpZWQKICAgaW50ZXJmYWNlIGRvZXNuJ3QgZXhpc3QgKENBU1NBTkRSQS04Njc3KQogKiBGaXggQXJyYXlJbmRleE91dE9mQm91bmRzRXhjZXB0aW9uIGluIG5vZGV0b29sIGNmaGlzdG9ncmFtcyAoQ0FTU0FORFJBLTg1MTQpCiAqIFN3aXRjaCBmcm9tIHlhbW1lciBtZXRyaWNzIGZvciBub2RldG/SwhhnAAABT948slwAEGxlLmZsdXNoZXJMb2NrICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILk4AAAEAIGVhc2xseSBleHRlbnNpYmxlIChDQVNTQU5EUkEtNjA1OCkKICogUmVtb3ZlIEhhZG9vcCBkZXBlbmRlbmN5IGZyb20gSVRyYW5zcG9ydEZhY3RvcnkgKENBU1NBTkRSQS02MDYyKQogKiBhZGQgZmlsZV9jYWNoZV9zaXplX2luX21iIHNldHRpbmcgKENBU1NBTkRSQS01NjYxKQogKiBJbXByb3ZlIGVycm9yIG1lc3NhZ2Ugd2hlbiB5YW1sIGNvbnRhaW5zIGludmFsaWQgcHJvcGVydGllcyAoQ0FTU0FORFJBLTU5NTgpCiAqIEltcHJvdmUgbGV2ZWxlZGE6RQcAAAFP3jyyXAAQbmcgbm9uLWV4aXN0ZW50IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguTgAAAQBvciBpbiBBTFRFUiBUWVBFIFJFTkFNRSAoQ0FTU0FORFJBLTY3MDUpCiAqIFNjcnViIHNob3VsZCBub3QgYWx3YXlzIGNsZWFyIG91dCByZXBhaXJlZCBzdGF0dXMgKENBU1NBTkRSQS01MzUxKQogKiBJbXByb3ZlIGhhbmRsaW5nIG9mIHJhbmdlIHRvbWJzdG9uZSBmb3Igd2lkZSBwYXJ0aXRpb25zIChDQVNTQU5EUkEtNjQ0NikKICogRml4IENsYXNzQ2FzdEV4Y2VwdGlvbiBmb3IgY29tcGFjdCB0YWJsZSB3aXRoIGNvbXBvc2l0ZXMgKENBU1NBTkRS35/76wAAAU/ePLJcABBnIGNvbHVtbnMgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5OAAABAFJBLTMzNjYpCiAqIGZpeCBEZWZsYXRlIGNvbXByZXNzaW9uIHdoZW4gY29tcHJlc3Npb24gYWN0dWFsbHkgbWFrZXMgdGhlIGRhdGEgYmlnZ2VyCiAgIChDQVNTQU5EUkEtMzM3MCkKICogb3B0aW1pemUgVVVJREdlbiB0byBhdm9pZCBsb2NrIGNvbnRlbnRpb24gb24gSW5ldEFkZHJlc3MuZ2V0TG9jYWxIb3N0IAogICAoQ0FTU0FORFJBLTMzODcpCiAqIHRvbGVyYXRlIGluZGV4IGJlaW5nIGRyb3BwZWQgbWlkLW11dGF0aW9uIChDQVNTQU5EUkEtMzOufY8bABVxkxjkqH8AAAFP3jyyXAAQIHR5cGUgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguUQAAAQBlIChDQVNTQU5EUkEtMjY3MykKICogd29ya2Fyb3VuZCBsYXJnZSByZXN1bHRzZXRzIGNhdXNpbmcgbGFyZ2UgYWxsb2NhdGlvbiByZXRlbnRpb24KICAgYnkgbmlvIHNvY2tldHMgKENBU1NBTkRSQS0yNjU0KQogKiBmaXggbm9kZXRvb2wgcmluZyB1c2Ugd2l0aCBFYzJTbml0Y2ggKENBU1NBTkRSQS0yNzMzKQogKiBmaXggcmVtb3ZpbmcgY29sdW1ucyBhbmQgc3ViY29sdW1ucyB0aGF0IGFyZSBzdXByZXNzZWQgYnkgYSByb3cgb3IKICAgc3VwZXJjZ3PuLQAAAU/ePLJcABBvdGhlciB0aGFuIDAgYW5kAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5RAAABACB3aGVuIGEgcmVwYWlyIGZhaWxzIChDQVNTQU5EUkEtMzU0OCkKICogUmVtb3ZlIGNvbHVtbnMgc2hhZG93ZWQgYnkgYSBkZWxldGVkIGNvbnRhaW5lciBldmVuIHdoZW4gd2UgY2Fubm90IHB1cmdlCiAgIChDQVNTQU5EUkEtMzUzOCkKICogSW1wcm92ZSBtZW10YWJsZSBzbGljZSBpdGVyYXRpb24gcGVyZm9ybWFuY2UgKENBU1NBTkRSQS0zNTQ1KQogKiBtb3JlIGVmZmljaWVudCBhbGxvY2F0aW9uIG9mIHNtYWxsIGJsb29tIGZpbHRlcnMgKENBU1PLt236AAABT948slwAEHBhY2UgZGVmaW5pdGlvbiwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlEAAAEAb3NzaXAgbG9vcHMgKENBU1NBTkRSQS03NzU4KQogKiBBZGQgc3RvcCBtZXRob2QgdG8gRW1iZWRkZWRDYXNzYW5kcmFTZXJ2aWNlIChDQVNTQU5EUkEtNzU5NSkKICogU3VwcG9ydCBjb25uZWN0aW5nIHRvIGlwdjYgam14IHdpdGggbm9kZXRvb2wgKENBU1NBTkRSQS03NjY5KQogKiBTZXQgZ2NfZ3JhY2Vfc2Vjb25kcyB0byBzZXZlbiBkYXlzIGZvciBzeXN0ZW0gc2NoZW1hIHRhYmxlcyAoQ0FTU0FORFJBLTc2NjgpCiAqIFNpbXBsZVNlZWRQcm92afYrdxgAAAFP3jyyXAAQdyBpdGVyYXRpb24gKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguUQAAAQB0b2tlbiAoQ0FTU0FORFJBLTMwNzEpCiAqIHdvcmsgYXJvdW5kIG5hdGl2ZSBtZW1vcnkgbGVhayBpbiBjb20uc3VuLm1hbmFnZW1lbnQuR2FyYmFnZUNvbGxlY3Rvck1YQmVhbgogICAgKENBU1NBTkRSQS0yODY4KQogKiBmaXggVW5hdmFpbGFibGVFeGNlcHRpb24gd2l0aCB3cml0ZXMgYXQgQ0wuRUFDSF9RVU9STSAoQ0FTU0FORFJBLTMwODQpCiAqIGZpeCBwYXJzaW5nIG9mIHRoZSBLZXlzcGFjZSBhbmQgQ29sdW1uRmFtaWx5IG5hbWVzIGluIG51OvCiZQAAAU/ePLJcABAqIGluY3JlYXNlIGRlZmF1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5RAAABAHMgYWNjb3JkaW5nIHRvIGNyb3NzLXR5cGUgZGVwZW5kZW5jaWVzIGluIERFU0NSSUJFCiAgIG91dHB1dCAoQ0FTU0FORFJBLTc2NTkpCiAqIChjcWxzaCkgRml4IGhhbmRsaW5nIG9mIENBUyBzdGF0ZW1lbnQgcmVzdWx0cyAoQ0FTU0FORFJBLTc2NzEpCiAqIChjcWxzaCkgQ09QWSBUTy9GUk9NIGltcHJvdmVtZW50cyAoQ0FTU0FORFJBLTc0MDUpCiAqIFN1cHBvcnQgbGlzdCBpbmRleCBvcGVyYXRpb25zIHdpdGggY29uZGl0aW9ucyAoQ0FTU0FORFKx3A/SAAABT948slwAEGF0aW9uIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlEAAAEAb2wgY29uc3RydWN0b3IgY2F1c2VzIHJhY2UgY29uZGl0aW9ucyAoQ0FTU0FORFJBLTcxNzcpCiAqIEFsbG93IG92ZXJyaWRpbmcgY2Fzc2FuZHJhLXJhY2tkYy5wcm9wZXJ0aWVzIGZpbGUgKENBU1NBTkRSQS03MDcyKQogKiBTZXQgSk1YIFJNSSBwb3J0IHRvIDcxOTkgKENBU1NBTkRSQS03MDg3KQogKiBVc2UgTE9DQUxfUVVPUlVNIGZvciBkYXRhIHJlYWRzIGF0IExPQ0FMX1NFUklBTCAoQ0FTU0FORFJBLTY5MzkpCiAqIExvZyBhIHdhcm5pbmcgZpdj4PEAAAFP3jyyXAAQUkEtNjc1NSkKICogQ29uZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguUQAAAQBvcnQgZm9yIHRvcC1rIGN1c3RvbSAyaSBxdWVyaWVzIChDQVNTQU5EUkEtODcxNykKICogRml4IGVycm9yIHdoZW4gZHJvcHBpbmcgdGFibGUgZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS05MjUxKQogKiBjYXNzYW5kcmEtc3RyZXNzIHN1cHBvcnRzIHZhbGlkYXRpb24gb3BlcmF0aW9ucyBvdmVyIHVzZXIgcHJvZmlsZXMgKENBU1NBTkRSQS04NzczKQogKiBBZGQgc3VwcG9ydCBmb3IgcmF0ZSBsaW1pdGluZyBsb2cgbWVzc2FnZXMgKENBU1NBBBb1fwAAAU/ePLJcABBSQS0xMTkwKQogKiBvcHRpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5RAAABAGggUkYgPiBOIChDQVNTQU5EUkEtMTQyOCkKICogaW1wcm92ZSBjbGkgZXJyb3IgaGFuZGxpbmcgKENBU1NBTkRSQS0xNTgwKQogKiBhZGQgY2FjaGUgc2F2ZS9sb2FkIGFiaWxpdHkgKENBU1NBTkRSQS0xNDE3LCAxNjA2LCAxNjQ3KQogKiBhZGQgU3RvcmFnZVNlcnZpY2UuZ2V0RHJhaW5Qcm9ncmVzcyAoQ0FTU0FORFJBLTE1ODgpCiAqIERpc2FsbG93IGJvb3RzdHJhcCB0byBhbiBpbi11c2UgdG9rZW4gKENBU1NBTkRSQS0xNTYxKQogKiBBbGxvdyAPAHrbAAABT948slwAEFNTQU5EUkEtMTE4MSkKCgoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlEAAAEAbmN0aW9ucyB3aXRoIGRlc2NlbmRpbmcgY2x1c3RlcmluZyBvcmRlciAoQ0FTU0FORFJBLTU0NzIpCiAqIERpc2FsbG93IHJlbmFtaW5nIGNvbHVtbnMgb25lIGF0IGEgdGltZSBmb3IgdGhyaWZ0IHRhYmxlIGluIENRTDMKICAgKENBU1NBTkRSQS01NTMxKQogKiBjcWxzaDogYWRkIENMVVNURVJJTkcgT1JERVIgQlkgc3VwcG9ydCB0byBERVNDUklCRSAoQ0FTU0FORFJBLTU1MjgpCiAqIEFkZCBjdXN0b20gc2Vjb25kYXJ5IGluZGV4IHN1cHBvcnQgdNWlK8cAAAFP3jyyXAAQNzk5MikKICogSW5jcmVhcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguUQAAAQAwMykKICogQWRkIHRpbWluZyBpbmZvcm1hdGlvbiB0byBjYXNzYW5kcmEtY2xpIEdFVC9TRVQvTElTVCBxdWVyaWVzIChDQVNTQU5EUkEtMzMyNikKICogT25seSBjcmVhdGUgb25lIENvbXByZXNzaW9uTWV0YWRhdGEgb2JqZWN0IHBlciBzc3RhYmxlIChDQVNTQU5EUkEtMzQyNykKICogY2xlYW51cCB1c2FnZSBvZiBTdG9yYWdlU2VydmljZS5zZXRNb2RlKCkgKENBU1NBTkRSQS0zMzg4KQogKiBBdm9pZCBsYXJnZSBhcnJheSBhbGxvY2F0aW9uIGZvAt0XzgAAAU/ePLJcABAgY29udGVudCBpcwogICBoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5RAAABAERSQS0yOTg4KQogKiBmaXggaGFuZGxpbmcgb2YgZXhjZXB0aW9ucyB3cml0aW5nIHRvIE91dGJvdW5kVGNwQ29ubmVjdGlvbiAoQ0FTU0FORFJBLTMyMzUpCiAqIEFsbG93IHVzaW5nIHF1b3RlcyBpbiAiVVNFIDxrZXlzcGFjZT47IiBDTEkgY29tbWFuZCAoQ0FTU0FORFJBLTMyMDgpCiAqIERvbid0IGFsbG93IGFueSBjYWNoZSBsb2FkaW5nIGV4Y2VwdGlvbnMgdG8gaGFsdCBzdGFydHVwIChDQVNTQU5EUkEtMzIxOCkKICogRml4IHNzdGFibGVsb2H4Up2AAAABT948slwAEGhlaXIKICAgcGFyZW50IEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlEAAAEAbHVkZSBjb3JyZWN0IGNvbnNpc3RlbmN5TGV2ZWwgaW4gTFdUIHRpbWVvdXQgKENBU1NBTkRSQS02ODg0KQogKiBMb3dlciBjaGFuY2VzIGZvciBsb3NpbmcgbmV3IFNTVGFibGVzIGR1cmluZyBub2RldG9vbCByZWZyZXNoIGFuZAogICBDb2x1bW5GYW1pbHlTdG9yZS5sb2FkTmV3U1NUYWJsZXMgKENBU1NBTkRSQS02NTE0KQogKiBBZGQgc3VwcG9ydCBmb3IgREVMRVRFIC4uLiBJRiBFWElTVFMgdG8gQ1FMMyAoQ0FTU0FORFJBLTU3MDgpCiAqIFVwZK4mWPkAAAFP3jyyXAAQbyAuZGIsIC5uZXQsIC5pbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguUQAAAQAKICogZml4IGNhY2hlIHNhdmluZyBvbiBXaW5kb3dzIChDQVNTQU5EUkEtMjIwNykKICogYWRkIHZhbGlkYXRlU2NoZW1hQWdyZWVtZW50IGNhbGwgKyBzeW5jaHJvbml6YXRpb24gdG8gc2NoZW1hCiAgIG1vZGlmaWNhdGlvbiBvcGVyYXRpb25zIChDQVNTQU5EUkEtMjIyMikKICogZml4IGZvciByZXZlcnNlZCBzbGljZSBxdWVyaWVzIG9uIGxhcmdlIHJvd3MgKENBU1NBTkRSQS0yMjEyKQogKiBmYXQgY2xpZW50cyB3ZXJlIHdyaXRpbmcgbG9jYWwgfPWBeAAAAU/ePLJcABBTQU5EUkFfSE9NRSBjb250AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5RAAABAEFTU0FORFJBLTQzNDMpCiAqIExDUyBubyBsb25nZXIgcHJvbW90ZXMgdGlueSBzc3RhYmxlcyBvdXQgb2YgTDAgKENBU1NBTkRSQS00MzQxKQogKiBza2lwIHRvbWJzdG9uZXMgZHVyaW5nIGhpbnQgcmVwbGF5IChDQVNTQU5EUkEtNDMyMCkKICogZml4IE5QRSBpbiBjb21wYWN0aW9uc3RhdHMgKENBU1NBTkRSQS00MzE4KQogKiBlbmZvcmNlIDFtIG1pbiBrZXljYWNoZSBmb3IgYXV0byAoQ0FTU0FORFJBLTQzMDYpCiAqIEhhdmUgRGVsZXRlZENvbHWw2vzGAAABT948slwAEHJrbG9hZCBhY2NvdW50aW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlEAAAEAdHNpZGUgb2YgTlRTIChDQVNTQU5EUkEtMjUxNikKICogcHJlc2VydmUgdmVyc2lvbiB3aGVuIHN0cmVhbWluZyBkYXRhIGZyb20gb2xkIHNzdGFibGVzIChDQVNTQU5EUkEtMjI4MykKICogZml4IGJhY2tzbGFzaCBzdWJzdGl0dXRpb25zIGluIENMSSAoQ0FTU0FORFJBLTI0OTIpCiAqIGNvdW50IGEgcm93IGRlbGV0aW9uIGFzIG9uZSBvcGVyYXRpb24gdG93YXJkcyBtZW10YWJsZSB0aHJlc2hvbGQgCiAgIChDQVNTQU5EUkEtMjUxOSkKICogc3VwcKKktZAAFYXwh2mUtgAAAU/ePLJcABBEQVRFL0RFTEVURSBzdGF0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5UAAABAHJlc2hvbGQgYXJlIGNvbmZpZ3VyYWJsZSBhbmQgcGVyc2lzdGVudCAKICAgcGVyLUNvbHVtbkZhbWlseSAoQ0FTU0FORFJBLTE0NjgpCiAqIGZpeCByZXBsYXlpbmcgdGhlIGxhc3QgbXV0YXRpb24gaW4gYSBjb21taXRsb2cgdW5uZWNlc3NhcmlseSAKICAgKENBU1NBTkRSQS0xNTEyKQogKiBpbnZva2UgZ2V0RGVmYXVsdFVuY2F1Z2h0RXhjZXB0aW9uSGFuZGxlciBmcm9tIERUUEUgd2l0aCB0aGUgb3JpZ2luYWwKICAgZXhjZXB0aW9uIHJhdGhlciCT7MQSAAABT948slwAEHN1cHBvcnQgZm9yIGJhdGMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlQAAAEAbmcgbXV0YXRpb24gbWVzc2FnZXMgbXVsdGlwbGUgdGltZXMgKENBU1NBTkRSQS0yNTU3KQogKiBmaXggaW5jb3JyZWN0IHVzZSBvZiBOQkhNLnNpemUgaW4gUmVhZENhbGxiYWNrIHRoYXQgY291bGQgY2F1c2UKICAgcmVhZHMgdG8gdGltZSBvdXQgZXZlbiB3aGVuIHJlc3BvbnNlcyB3ZXJlIHJlY2VpdmVkIChDQVNTQU5EUkEtMjU1MikKICogdHJpZ2dlciByZWFkIHJlcGFpciBjb3JyZWN0bHkgZm9yIExPQ0FMX1FVT1JVTSByZWFkcyAoQ0FTU0FOREd8j8cAAAFP3jyyXAAQb21wYWN0aW9uIGluIG9sZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguVAAAAQBSQS0zMDgpCiAqIHByb3Blcmx5IG9yZGVyIHJhbmdlcyBpbiBub2RlcHJvYmUgb3V0cHV0IChDQVNTQU5EUkEtNDIxKQogKiBmaXggbG9nZ2luZyBvZiBjZXJ0YWluIGVycm9ycyBvbiBleGVjdXRvciB0aHJlYWRzIChDQVNTQU5EUkEtNDI1KQoKCjAuNC4wIFJDMQogKiBCb290c3RyYXAgZmVhdHVyZSBpcyBsaXZlOyB1c2UgLWIgb24gc3RhcnR1cCAoc2V2ZXJhbCB0aWNrZXRzKQogKiBBZGRlZCBtdWx0aWdldCBhcGkgKENBU1NBTkRSQS03MCkKICogXclG/wAAAU/ePLJcABBlbnRhZ2UgY2hlY2tpbmcgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5UAAABAE5EUkEtMzM2KQogKiByZW1vdmUgZ2V0X2tleV9yYW5nZSBUaHJpZnQgQVBJLCBkZXByZWNhdGVkIGluIDAuNSAoQ0FTU0FORFJBLTcxMCkKICogYWRkIG9wdGlvbmFsIGxvZ2luKCkgVGhyaWZ0IGNhbGwgZm9yIGF1dGhlbnRpY2F0aW9uIChDQVNTQU5EUkEtNTQ3KQogKiBzdXBwb3J0IGZhdCBjbGllbnRzIHVzaW5nIGdvc3NpcGVyIGFuZCBTdG9yYWdlUHJveHkgdG8gcGVyZm9ybQogICByZXBsaWNhdGlvbiBpbi1wcm9jZXNzIFtqdm0tb25seV0gKEN4gac/AAABT948slwAECAoQ0FTU0FORFJBLTI4MzIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlQAAAEATkRSQS0yNjU5KQogKiBEb24ndCB3cml0ZSBDb3VudGVyVXBkYXRlQ29sdW1uIHRvIGRpc2sgaW4gdGVzdHMgKENBU1NBTkRSQS0yNjUwKQogKiBBZGQgc3N0YWJsZSBidWxrIGxvYWRpbmcgdXRpbGl0eSAoQ0FTU0FORFJBLTEyNzgpCiAqIGF2b2lkIHJlcGxheWluZyBoaW50cyB0byBkcm9wcGVkIGNvbHVtbmZhbWlsaWVzIChDQVNTQU5EUkEtMjY4NSkKICogYWRkIHBsYWNlaG9sZGVycyBmb3IgbWlzc2luZyByb3dzIGluIHJhbmdlIHF1ZXJ5IHBzZd8A3FMAAAFP3jyyXAAQRXhlY3V0b3IgYW5kIAogIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguVAAAAQBmIHN1cGVyY29sdW1ucyAoQ0FTU0FORFJBLTE4OTkpCiAqIGVuYWJsZSBrZWVwYWxpdmUgb24gaW50cmEtY2x1c3RlciBzb2NrZXRzIChDQVNTQU5EUkEtMTc2NikKICogY291bnQgdGltZW91dHMgdG93YXJkcyBkeW5hbWljc25pdGNoIGxhdGVuY2llcyAoQ0FTU0FORFJBLTE5MDUpCiAqIEV4cG9zZSBpbmRleC1idWlsZGluZyBzdGF0dXMgaW4gSk1YICsgY2xpIHNjaGVtYSBkZXNjcmlwdGlvbgogICAoQ0FTU0FORFJBLTE4NzEpCiAqIGFsbG93IFtMjPDBMAAAAU/ePLJcABA2MDksIDQ2MTApCiAqIGNhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5UAAABAG5lcnNoaXAlIGNhbGN1bGF0aW9uIChDQVNTQU5EUkEtNTA3NikKICogRG9uJ3QgZXhwaXJlIGNvbHVtbnMgc29vbmVyIHRoYW4gdGhleSBzaG91bGQgaW4gMm5kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS01MDc5KQoKCjEuMi1yYzEKICogcmVuYW1lIHJwY190aW1lb3V0IHNldHRpbmdzIHRvIHJlcXVlc3RfdGltZW91dCAoQ0FTU0FORFJBLTUwMjcpCiAqIGFkZCBCRiB3aXRoIDAuMSBGUCB0byBMQ1MgYnkgZGVmYXVsdCAoQ0FTU0FORFJBLTUwMjkpCiCSz0ikAAABT948slwAEDRKIDEuNi4xCiAqIGZpeCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlQAAAEAUkEtNzI1NCkKICogRml4IHJhY2UgaW4gRmlsZUNhY2hlU2VydmljZSBSZW1vdmFsTGlzdGVuZXIgKENBU1NBTkRSQS03Mjc4KQogKiBGaXggaW5jb25zaXN0ZW50IHVzZSBvZiBjb25zaXN0ZW5jeUZvckNvbW1pdCB0aGF0IGFsbG93ZWQgTE9DQUxfUVVPUlVNCiAgIG9wZXJhdGlvbnMgdG8gaW5jb3JyZWN0IGJlY29tZSBmdWxsIFFVT1JVTSAoQ0FTU0FORFJBLTczNDUpCiAqIFByb3Blcmx5IGhhbmRsZSB1bnJlY29nbml6ZWQgb3Bjb2RlcyBhbmQgZnZ5A/cAAAFP3jyyXAAQZm9yIHBhZ2luYXRpbmcgbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguVAAAAQBudGluZyBibG9vbSBmaWx0ZXIgdHJ1ZSBwb3NpdGl2ZXMgKENBU1NBTkRSQS0yNjM3KQogKiBpbml0aWFsaXplIGxvY2FsIGVwIHN0YXRlIHByaW9yIHRvIGdvc3NpcCBzdGFydHVwIGlmIG5lZWRlZCAoQ0FTU0FORFJBLTI2MzgpCiAqIGZpeCBjb3VudGVyIGluY3JlbWVudCBsb3N0IGFmdGVyIHJlc3RhcnQgKENBU1NBTkRSQS0yNjQyKQogKiBhZGQgcXVvdGUtZXNjYXBpbmcgdmlhIGJhY2tzbGFzaCB0byBDTEkgKENBU1NBTkRSQS0yNjIzKQogKiBmm6oTyAAAAU/ePLJcABBSQS01MzI5KQogKiBSZWxhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5UAAABACAoQ0FTU0FORFJBLTc1NjApCiAqIFRyYWNrIG1heC9taW4gdGltZXN0YW1wcyBmb3IgcmFuZ2UgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTc2NDcpCiAqIEZpeCBOUEUgd2hlbiBsaXN0aW5nIHNhdmVkIGNhY2hlcyBkaXIgKENBU1NBTkRSQS03NjMyKQogKiBGaXggc3N0YWJsZWxvYWRlciB1bmFibGUgdG8gY29ubmVjdCBlbmNyeXB0ZWQgbm9kZSAoQ0FTU0FORFJBLTc1ODUpCk1lcmdlZCBmcm9tIDEuMjoKICogQ2xvbmUgdG9rZW4gbWFwIG91dHNpZGUv1wKvAAABT948slwAEGVudCBkZXNjcmliZU93bmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlQAAAEAU1NBTkRSQS0yODI1KQogKiBnb3NzaXBlciBub3RpZmllcyBvZiBsb2NhbCBzdGF0ZSBjaGFuZ2VzIChDQVNTQU5EUkEtMjk0OCkKICogYWRkIGFzeW5jaHJvbm91cyBhbmQgaGFsZi1zeW5jL2hhbGYtYXN5bmMgKGhzaGEpIHRocmlmdCBzZXJ2ZXJzIAogICAoQ0FTU0FORFJBLTE0MDUpCiAqIGZpeCBwb3RlbnRpYWwgdXNlIG9mIGZyZWUnZCBuYXRpdmUgbWVtb3J5IGluIFNlcmlhbGl6aW5nQ2FjaGUgCiAgIChDQVNTQU5EUkEtMjk1MSkKICogcHJ1bpFa2iEAAAFP3jyyXAAQYSBKTVggKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguVAAAAQBvb2t1cHMgKENBU1NBTkRSQS02NjA5KQogKiBBZGQga3MuY2YgbmFtZXMgdG8gdG9tYnN0b25lIGxvZ2dpbmcgKENBU1NBTkRSQS02NTk3KQogKiBVc2UgTE9DQUxfUVVPUlVNIGZvciBMV1Qgb3BlcmF0aW9ucyBhdCBMT0NBTF9TRVJJQUwgKENBU1NBTkRSQS02NDk1KQogKiBXYWl0IGZvciBnb3NzaXAgdG8gc2V0dGxlIGJlZm9yZSBhY2NlcHRpbmcgY2xpZW50IGNvbm5lY3Rpb25zIChDQVNTQU5EUkEtNDI4OCkKICogRGVsZXRlIHVuZmluaXNoZWQgzBYm7QAAAU/ePLJcABBneQogICBnZW5lcmF0ZXMsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5UAAABADQ4NTkpCiAqIGZpeCBnZXRfcGFnZWRfc2xpY2UgdG8gd3JhcCB0byBuZXh0IHJvdyBjb3JyZWN0bHkgKENBU1NBTkRSQS00ODE2KQogKiBmaXggaW5kZXhpbmcgZW1wdHkgY29sdW1uIHZhbHVlcyAoQ0FTU0FORFJBLTQ4MzIpCiAqIGFsbG93IEpkYmNEYXRlIHRvIGNvbXBvc2UgbnVsbCBEYXRlIG9iamVjdHMgKENBU1NBTkRSQS00ODMwKQogKiBmaXggcG9zc2libGUgc3RhY2tvdmVyZmxvdyB3aGVuIGNvbXBhY3RpbmcgMTAwMHMgb2Ygc3N0YWJsZXMhaHQQAAABT948slwAEEFSWSBLRVkgY29sdW1ucyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlQAAAEAcmx5IChDQVNTQU5EUkEtNzY4MCkKICogKGNxbHNoKSBFcnJvciB3aGVuIHRyYWNpbmcgcXVlcnkgKENBU1NBTkRSQS03NjEzKQogKiBBdm9pZCBJT09CRSB3aGVuIGJ1aWxkaW5nIFN5bnRheEVycm9yIG1lc3NhZ2Ugc25pcHBldCAoQ0FTU0FORFJBLTc1NjkpCiAqIFNTVGFibGVFeHBvcnQgdXNlcyBjb3JyZWN0IHZhbGlkYXRvciB0byBjcmVhdGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHBhcnRpdGlvbgogICBrZXlzIChDQVNTQU5EUkEtNzQ5OBadC6AAAAFP3jyyXAAQQVNTQU5EUkEtODEzNikKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguVAAAAQBncm91cGFibGUgbXV0YXRpb25zIGluIFRyaWdnZXJFeGVjdXRvciNleGVjdXRlKCkgKENBU1NBTkRSQS03MDQ3KQogKiBQbHVnIGhvbGVzIGluIHJlc291cmNlIHJlbGVhc2Ugd2hlbiB3aXJpbmcgdXAgU3RyZWFtU2Vzc2lvbiAoQ0FTU0FORFJBLTcwNzMpCiAqIFJlLWFkZCBwYXJhbWV0ZXIgY29sdW1ucyB0byB0cmFjaW5nIHNlc3Npb24gKENBU1NBTkRSQS02OTQyKQogKiBQcmVzZXJ2ZXMgQ1FMIG1ldGFkYXRhIHdoZW4gdXBkYXRpbmcgdGFibGUg0JdOZgAVmk0jAoDtAAABT948slwAEHJlZCBzdGF0ZW1lbnQgaW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlYAAAEALTI0MTkpCiAqIEpEQkMgQ1FMIGRyaXZlciBleHBvc2VzIGdldENvbHVtbiBmb3IgYWNjZXNzIHRvIHRpbWVzdGFtcAogKiBKREJDIFJlc3VsdFNldE1ldGFkYXRhIHByb3BlcnRpZXMgYWRkZWQgdG8gQWJzdHJhY3RUeXBlCiAqIHIvbSBjbHVzdGVydG9vbCAoQ0FTU0FORFJBLTI2MDcpCiAqIGFkZCBzdXBwb3J0IGZvciBwcmVzZW50aW5nIHJvdyBrZXkgYXMgYSBjb2x1bW4gaW4gQ1FMIHJlc3VsdCBzZXRzIAogICAoQ0FTU0FORFJBLTI2MjIpCiAqIHWZxTAAAAFP3jyyXAAQMCkKICogRml4IHJhY2UgaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguVgAAAQBzcGxheSBlbGFwc2VkIHRpbWUgaW4gMiBmcmFjdGlvbiBkaWdpdHMgKENBU1NBTkRSQS0zNDYwKQogKiBhZGQgYXV0aGVudGljYXRpb24gc3VwcG9ydCB0byBzc3RhYmxlbG9hZGVyIChDQVNTQU5EUkEtNDcxMikKICogRml4IENRTDMgJ2lzIHJldmVyc2VkJyBsb2dpYyAoQ0FTU0FORFJBLTQ3MTYsIDQ3NTkpCiAqIChDUUwzKSBEb24ndCByZXR1cm4gUmV2ZXJzZWRUeXBlIGluIHJlc3VsdCBzZXQgbWV0YWRhdGEgKENBU1NBTkRSQS00NzE3KQogKiBC7pNTLAAAAU/ePLJcABAxOgogKiBVcGRhdGUgb2ZmAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5WAAABAHMgZHJvcHBlZAogICBvbmVzIChDQVNTQU5EUkEtNDIxOSkKICogZml4IFNlY29uZGFyeUluZGV4IExldmVsZWRNYW5pZmVzdCBzYXZlIHVwb24gc25hcHNob3QgKENBU1NBTkRSQS00MjMwKQogKiBmaXggbWlzc2luZyBhcnJheU9mZnNldCBpbiBGQlV0aWxpdGllcy5oYXNoIChDQVNTQU5EUkEtNDI1MCkKICogKGNxbDMpIEFkZCBuYW1lIG9mIHBhcmFtZXRlcnMgaW4gQ3FsUmVzdWx0U2V0IChDQVNTQU5EUkEtNDI0MikKICogKGNxbDMpIENvcnJlY3QUau6TAAABT948slwAEENBU1NBTkRSQS01NzY5KQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlYAAAEAZW1lbnRzIChDQVNTQU5EUkEtNzYwMCkKICogKEhhZG9vcCkgZml4IGNsdXN0ZXIgaW5pdGlhbGlzYXRpb24gZm9yIGEgc3BsaXQgZmV0Y2hpbmcgKENBU1NBTkRSQS03Nzc0KQogKiBDb25maWd1cmUgc3lzdGVtLnBheG9zIHdpdGggTGV2ZWxlZENvbXBhY3Rpb25TdHJhdGVneSAoQ0FTU0FORFJBLTc3NTMpCiAqIEZpeCBBTFRFUiBjbHVzdGVyaW5nIGNvbHVtbiB0eXBlIGZyb20gRGF0ZVR5cGUgdG8gVGltZXN0YW1wVHlwZSB3aGVuCiAgIHVzaW5nIBN1JtEAAAFP3jyyXAAQIHNldCBvbiBQSyBjb2x1bQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguVgAAAQBSQS01MzkyKQogKiBGaXggd3JpdGV0aW1lL3R0bCBmdW5jdGlvbnMgb24gbnVsbCB2YWx1ZXMgKENBU1NBTkRSQS01MzQxKQogKiBGaXggTlBFIGR1cmluZyBjcWwzIHNlbGVjdCB3aXRoIHRva2VuKCkgKENBU1NBTkRSQS01NDA0KQogKiBJbmRleEhlbHBlci5za2lwQmxvb21GaWx0ZXJzIHdvbid0IHNraXAgbm9uLVNIQSBmaWx0ZXJzIChDQVNTQU5EUkEtNTM4NSkKICogY3Fsc2g6IFByaW50IG1hcHMgb3JkZXJlZCBieSBrZXksIHNvcnQgc2V0cyAoln/PtQAAAU/ePLJcABBORFJBLTMwNzUpCiAqIGZpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5WAAABAE5EUkEtNTY0NykKICogU3VwcHJlc3MgY3VzdG9tIGV4Y2VwdGlvbnMgdGhydSBqbXggKENBU1NBTkRSQS01NjUyKQogKiBVcGRhdGUgQ1JFQVRFIENVU1RPTSBJTkRFWCBzeW50YXggKENBU1NBTkRSQS01NjM5KQogKiBGaXggUGVybWlzc2lvbkRldGFpbHMuZXF1YWxzKCkgbWV0aG9kIChDQVNTQU5EUkEtNTY1NSkKICogTmV2ZXIgYWxsb3cgcGFydGl0aW9uIGtleSByYW5nZXMgaW4gQ1FMMyB3aXRob3V0IHRva2VuKCkgKENBU1NBTkRSQS01NjY2KQqhm1wNAAABT948slwAEHZpY2UuZ2V0RXhjZXB0aW8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlYAAAEAODM1KQogKiBpbXByb3ZlIG5vZGV0b29sIGNvbXBhY3Rpb25zdGF0cyBmb3JtYXR0aW5nIChDQVNTQU5EUkEtMjg0NCkKICogZml4IGluZGV4LWJ1aWxkaW5nIHN0YXR1cyBkaXNwbGF5IChDQVNTQU5EUkEtMjg1MykKICogZml4IENMSSBwZXJwZXR1YXRpbmcgb2Jzb2xldGUgS3NEZWYucmVwbGljYXRpb25fZmFjdG9yIChDQVNTQU5EUkEtMjg0NikKICogaW1wcm92ZSBjbGkgdHJlYXRtZW50IG9mIG11bHRpbGluZSBjb21tZW50cyAoQ0FTU0FORFJBLS0BvFIAAAFP3jyyXAAQZSBMT0NBTF9RVU9SVU0gZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguVgAAAQBodW1hbiByZWFkYWJsZSBvcHRpb24gdG8gbm9kZXRvb2wgY29tbWFuZHMgKENBU1NBTkRSQS01NDMzKQogKiBEb24ndCB0cnkgdG8gc2V0IHJlcGFpcmVkQXQgb24gb2xkIHNzdGFibGVzIChDQVNTQU5EUkEtNzkxMykKICogQWRkIG1ldHJpY3MgZm9yIHRyYWNraW5nIFByZXBhcmVkU3RhdGVtZW50IHVzZSAoQ0FTU0FORFJBLTc3MTkpCiAqIChjcWxzaCkgdGFiLWNvbXBsZXRpb24gZm9yIHRyaWdnZXJzIChDQVNTQU5EUkEtNzgyNCkKICogKGNxbHNoyIn1cgAAAU/ePLJcABBSQS04MzQ4KQogKiBMaW1pAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5WAAABAFJBLTczMTkpCiAqIEhpbnQgc3RyZWFtaW5nIGNhbiBjYXVzZSBkZWNvbW1pc3Npb24gdG8gZmFpbCAoQ0FTU0FORFJBLTcyMTkpCgoKMi4xLjAtYmV0YTIKICogSW5jcmVhc2UgZGVmYXVsdCBDTCBzcGFjZSB0byA4R0IgKENBU1NBTkRSQS03MDMxKQogKiBBZGQgcmFuZ2UgdG9tYnN0b25lcyB0byByZWFkIHJlcGFpciBkaWdlc3RzIChDQVNTQU5EUkEtNjg2MykKICogRml4IEJUcmVlLmNsZWFyIGZvciBsYXJnZSB1cGRhdGVzIChDQVNTQU5EUkEtNjmOlmG7AAABT948slwAEGctcnVubmluZyBpbnN0YW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlYAAAEAQS01NDc2KQogKiBhbGxvdyBzc3RhYmxlMmpzb24gb24gMmkgQ0ZzIChDQVNTQU5EUkEtNTY5NCkKTWVyZ2VkIGZyb20gMS4xOgogKiBSZW1vdmUgYnVnZ3kgdGhyaWZ0IG1heCBtZXNzYWdlIGxlbmd0aCBvcHRpb24gKENBU1NBTkRSQS01NTI5KQogKiBGaXggTlBFIGluIFBpZydzIHdpZGVyb3cgbW9kZSAoQ0FTU0FORFJBLTU0ODgpCiAqIEFkZCBzcGxpdCBzaXplIHBhcmFtZXRlciB0byBQaWcgYW5kIGRpc2FibGUgc3BsaXQgY29tYmluYXRpb24gKLewxYAAAAFP3jyyXAAQIHRocmlmdC9uYXRpdmUgcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguVgAAAQBuZGVkU2Nhbm5lciBkdXJpbmcgcmVwYWlyIHdoZW4gdGhlIHJhbmdlIGRvZXMgCiAgIG5vdCBpbnRlcnNlY3QgdGhlIHNzdGFibGUgKENBU1NBTkRSQS01MjQ5KQogKiBEb24ndCBsb3dlcmNhc2UgcHJvcGVydHkgbWFwIGtleXMgKHRoaXMgYnJlYWtzIE5UUykgKENBU1NBTkRSQS01MjkyKQogKiBGaXggY29tcG9zaXRlIGNvbXBhcmF0b3Igd2l0aCBzdXBlciBjb2x1bW5zIChDQVNTQU5EUkEtNTI4NykKICogRml4IGluc3VmZmljaWVudCB2YWxpZGF0vQIS7AAAAU/ePLJcABAuYmF0IGZpbGVzIHdoZW4gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5WAAABAGVsbGFuZW91cyBib290c3RyYXAgZml4ZXMgKHNldmVyYWwgdGlja2V0cykKICogQWJpbGl0eSB0byBjaGFuZ2UgYSBub2RlJ3MgdG9rZW4gZXZlbiBhZnRlciBpdCBoYXMgZGF0YSBvbiBpdAogICAoQ0FTU0FORFJBLTU0MSkKICogQWJpbGl0eSB0byBkZWNvbW1pc3Npb24gYSBsaXZlIG5vZGUgZnJvbSB0aGUgcmluZyAoQ0FTU0FORFJBLTQzNSkKICogU2VtaS1hdXRvbWF0aWMgbG9hZGJhbGFuY2luZyB2aWEgbm9kZXByb2JlIChDQVNTQU5EUkEtMTkphHEqAAABT948slwAEHdoZW4gb2Jzb2xldGUgdmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlYAAAEAKQogKiBBdm9pZCBsYXJnZSBhcnJheSBhbGxvY2F0aW9uIGZvciBjb21wcmVzc2VkIGNodW5rIG9mZnNldHMgKENBU1NBTkRSQS0zNDMyKQogKiBmaXggRGVjaW1hbFR5cGUgYnl0ZWJ1ZmZlciBtYXJzaGFsbGluZyAoQ0FTU0FORFJBLTM0MjEpCiAqIGZpeCBidWcgdGhhdCBjYXVzZWQgZmlyc3QgY29sdW1uIGluIHBlciByb3cgaW5kZXhlcyB0byBiZSBpZ25vcmVkIAogICAoQ0FTU0FORFJBLTM0NDEpCiAqIGFkZCBKTVggY2FsbCB0byBjbGVhbiAoZlY7D7YAAAFP3jyyXAAQIG9mIGNsYXNzIGluaXRpYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguVgAAAQAgdG8gZ3VhcmQgc3N0YWJsZSByZWZlcmVuY2VzIGZvciByZWFkcyAoQ0FTU0FORFJBLTY5MTkpCiAqIFByZWVtcHRpdmUgb3BlbmluZyBvZiBjb21wYWN0aW9uIHJlc3VsdCAoQ0FTU0FORFJBLTY5MTYpCiAqIE11bHRpLXRocmVhZGVkIHNjcnViL2NsZWFudXAvdXBncmFkZXNzdGFibGVzIChDQVNTQU5EUkEtNTU0NykKICogT3B0aW1pemUgY2VsbG5hbWUgY29tcGFyaXNvbiAoQ0FTU0FORFJBLTY5MzQpCiAqIE5hdGl2ZSBwcm90b2NvbCB2MyAoQ0FTGxmibwAAAU/ePLJcABBORFJBLTg3NDcpCiAqIEVuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5WAAABAGVkIG1pZC1tdXRhdGlvbiAoQ0FTU0FORFJBLTMzMzQsIDMzMTMpCiAqIENvbXBhY3Rpb25NYW5hZ2VyIGlzIG5vdyByZXNwb25zaWJsZSBmb3IgY2hlY2tpbmcgZm9yIG5ldyBjYW5kaWRhdGVzCiAgIHBvc3QtdGFzayBleGVjdXRpb24sIGVuYWJsaW5nIG1vcmUgY29uc2lzdGVudCBsZXZlbGVkIGNvbXBhY3Rpb24gCiAgIChDQVNTQU5EUkEtMzM5MSkKICogQ2FjaGUgSFNIQSB0aHJlYWRzIChDQVNTQU5EUkEtMzM3MikKICogdXNlIENGL0tTIG5hbWUgeO5VABWuqluIQUIAAAFP3jyyXAAQZXB0aW9ucyBnaXZlbiB0bwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguWQAAAQBsIHRoZSBwcm9jZXNzKQogKiBMb3RzIG9mIGJ1ZyBmaXhlcwoKRnVsbCBsaXN0IG9mIGlzc3VlcyByZXNvbHZlZCBpbiAwLjQgaXMgYXQgaHR0cHM6Ly9pc3N1ZXMuYXBhY2hlLm9yZy9qaXJhL3NlY3VyZS9Jc3N1ZU5hdmlnYXRvci5qc3BhP3Jlc2V0PXRydWUmJnBpZD0xMjMxMDg2NSZmaXhmb3I9MTIzMTM4NjImcmVzb2x1dGlvbj0xJnNvcnRlci9maWVsZD1pc3N1ZWtleSZzb3J0ZXIvb3JkZXI9REVTQwoKCjAuMy4wIFJDMwogKiBGaXggcG90ZW50CqrkGQAAAU/ePLJcABBGaXggQXNzZXJ0aW9uIGVyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5ZAAABACAgIG9yIGtleXNwYWNlcyBhcmUgZHJvcHBlZCAoQ0FTU0FORFJBLTg2NTIpCiAqIEZpeCBtaXNzaW5nIHJlc3VsdHMgaW4gc2Vjb25kYXJ5IGluZGV4IHF1ZXJpZXMgb24gY29sbGVjdGlvbnMKICAgd2l0aCBBTExPVyBGSUxURVJJTkcgKENBU1NBTkRSQS04NDIxKQogKiBFeHBvc2UgRXN0aW1hdGVkSGlzdG9ncmFtIG1ldHJpY3MgZm9yIHJhbmdlIHNsaWNlcyAoQ0FTU0FORFJBLTg2MjcpCiAqIChjcWxzaCkgRXNjYXBlIGNscXNocmMgcGFzc3dvcmQgqOGmAAABT948slwAEGVudHMgZnJvbSBiZWluZyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlkAAAEAaGFuZ2UgY29uY3VycmVudF9jb21wYWN0b3JzIGRlZmF1bHRzIChDQVNTQU5EUkEtNzEzOSkKICogQWRkIFBvd2VyU2hlbGwgV2luZG93cyBsYXVuY2ggc2NyaXB0cyAoQ0FTU0FORFJBLTcwMDEpCiAqIE1ha2UgY29tbWl0bG9nIGFyY2hpdmUrcmVzdG9yZSBtb3JlIHJvYnVzdCAoQ0FTU0FORFJBLTY5NzQpCiAqIEZpeCBtYXJraW5nIGNvbW1pdGxvZ3NlZ21lbnRzIGNsZWFuIChDQVNTQU5EUkEtNjk1OSkKICogQWRkIHNuYXBzaG90ICJtYW5pZmVzdLz4zVEAAAFP3jyyXAAQKiBhYmlsaXR5IHRvIGRpcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguWQAAAQBsaWRhdGlvbiB3aGVuIGFjY2Vzc2luZyBDUUwzIHRhYmxlIGZyb20gdGhyaWZ0IChDQVNTQU5EUkEtNTEzOCkKICogRml4IGFzc2VydGlvbiBlcnJvciBkdXJpbmcgcmVwYWlyIChDQVNTQU5EUkEtNTgwMSkKICogRml4IHJhbmdlIHRvbWJzdG9uZSBidWcgKENBU1NBTkRSQS01ODA1KQogKiBEQy1sb2NhbCBDQVMgKENBU1NBTkRSQS01Nzk3KQogKiBBZGQgYSBuYXRpdmVfcHJvdG9jb2xfdmVyc2lvbiBjb2x1bW4gdG8gdGhlIHN5c3RlbS5sb2NhbCB09aM0CAAAAU/ePLJcABBzIAogICAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5ZAAABAHR5cGUgb2YgZHJvcHBlZCBtZXNzYWdlcyAoQ0FTU0FORFJBLTE2NzcpCiAqIHVwZ3JhZGUgdG8gU0xGNEogMS42LjEKICogZml4IEJ5dGVCdWZmZXIgYnVnIGluIEV4cGlyaW5nQ29sdW1uLnVwZGF0ZURpZ2VzdCAoQ0FTU0FORFJBLTE2NzkpCiAqIGZpeCBJbnRlZ2VyVHlwZS5nZXRTdHJpbmcgKENBU1NBTkRSQS0xNjgxKQogKiBtYWtlIC1EamF2YS5uZXQucHJlZmVySVB2NFN0YWNrPXRydWUgdGhlIGRlZmF1bHQgKENBU1NBTkRSQS02MjgpCiAqIGHZD5o5AAABT948slwAECBvbiBkZWNvbW1pc3Npb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlkAAAEAZWFkQ2FsbGJhY2sgdGhhdCBjb3VsZCBjYXVzZQogICByZWFkcyB0byB0aW1lIG91dCBldmVuIHdoZW4gcmVzcG9uc2VzIHdlcmUgcmVjZWl2ZWQgKENBU1NBTkRSQS0yNTUyKQogKiB0cmlnZ2VyIHJlYWQgcmVwYWlyIGNvcnJlY3RseSBmb3IgTE9DQUxfUVVPUlVNIHJlYWRzIChDQVNTQU5EUkEtMjU1NikKICogQWxsb3cgY29uZmlndXJpbmcgdGhlIG51bWJlciBvZiBjb21wYWN0aW9uIHRocmVhZCAoQ0FTU0FORFJBLTI1NTgpCiAqIGZvcmNlVXNlcneUbzYAAAFP3jyyXAAQY2llcyAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguWQAAAQBEYXRhY2VudGVyU2hhcmRTdHJhdGVneSAKICAgKHJlcGxhY2VkIGJ5IE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5IGluIDAuNykKICAgCgowLjYuNQogKiBmaXgga2V5IG9yZGVyaW5nIGluIHJhbmdlIHF1ZXJ5IHJlc3VsdHMgd2l0aCBSYW5kb21QYXJ0aXRpb25lcgogICBhbmQgQ29uc2lzdGVuY3lMZXZlbCA+IE9ORSAoQ0FTU0FORFJBLTExNDUpCiAqIGZpeCBmb3IgcmFuZ2UgcXVlcnkgc3RhcnRpbmcgd2l0aCB0aGUgd3JvbmcgdG9rZW4gcmFuZ2Ug+tMVswAAAU/ePLJcABB1ZyB3aGVyZSBjYWNoZSBpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5ZAAABAFNBTkRSQS04OTEzKQogKiBNYWtlIFNTVGFibGVSZXdyaXRlci5hYm9ydCgpIG1vcmUgcm9idXN0IHRvIGZhaWx1cmUgKENBU1NBTkRSQS04ODMyKQogKiBSZW1vdmUgY29sZF9yZWFkc190b19vbWl0IGZyb20gU1RDUyAoQ0FTU0FORFJBLTg4NjApCiAqIE1ha2UgRXN0aW1hdGVkSGlzdG9ncmFtI3BlcmNlbnRpbGUoKSB1c2UgY2VpbCBpbnN0ZWFkIG9mIGZsb29yIChDQVNTQU5EUkEtODg4MykKICogRml4IHRvcCBwYXJ0aXRpb25zIHJlcG9ydGluZyAQtgtfAAABT948slwAEGFjZW50ZXJzCiAgIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlkAAAEAU1NBTkRSQS00NjQ0KQogKiBmaXggZXJyb3Igd2hlbiB1c2luZyBPUkRFUiBCWSB3aXRoIGV4dGVuZGVkIHNlbGVjdGlvbnMgKENBU1NBTkRSQS00Njg5KQogKiAoQ1FMMykgRml4IHZhbGlkYXRpb24gZm9yIElOIHF1ZXJpZXMgZm9yIG5vbi1QSyBjb2xzIChDQVNTQU5EUkEtNDcwOSkKICogZml4IHJlLWNyZWF0ZWQga2V5c3BhY2UgZGlzYXBwZXJpbmcgYWZ0ZXIgMS4xLjUgdXBncmFkZSAKICAgKENBU1NBTkRSQS00Njk4LCA0NzUyKQogKiAoQ0xJKYVmgP4AAAFP3jyyXAAQCiAqIEFkZCBhYmlsaXR5IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguWQAAAQBjdGVkIG9uIHN0YXJ0dXAgKENBU1NBTkRSQS04NTEyKQogKiBQcm9wZXJseSBjYWxjdWxhdGUgZXhwZWN0ZWQgd3JpdGUgc2l6ZSBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTg1MzIpCiAqIEludmFsaWRhdGUgYWZmZWN0ZWQgcHJlcGFyZWQgc3RhdGVtZW50cyB3aGVuIGEgdGFibGUncyBjb2x1bW5zCiAgIGFyZSBhbHRlcmVkIChDQVNTQU5EUkEtNzkxMCkKICogU3RyZXNzIC0gdXNlciBkZWZpbmVkIHdyaXRlcyBzaG91bGQgcG9wdWxhdGUgHag/xQAAAU/ePLJcABAgKiBzdHJlc3MucHkgYmVuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5ZAAABAHZlciBhIHRva2VuIChDQVNTQU5EUkEtMzA3MSkKICogYWxsb3cgc3N0YWJsZTJqc29uIHRvIHdvcmsgb24gaW5kZXggc3N0YWJsZSBmaWxlcyAoQ0FTU0FORFJBLTMwNTkpCiAqIGFsd2F5cyBoaW50IGNvdW50ZXJzIChDQVNTQU5EUkEtMzA5OSkKICogZml4IGxvZzRqIGluaXRpYWxpemF0aW9uIGluIEVtYmVkZGVkQ2Fzc2FuZHJhU2VydmljZSAoQ0FTU0FORFJBLTI4NTcpCiAqIHJlbW92ZSBnb3NzaXAgc3RhdGUgd2hlbiBhIG5ldyBJUCB0YWtlcyBaYYLjAAABT948slwAEDUpCiAqIFRyYWNrIGV4cGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlkAAAEAIG1pc3NpbmcpIHJvd3MgZHVyaW5nIEhIIHBhZ2luZyAoQ0FTU0FORFJBLTE0MzIpCiAqIGluY2x1ZGUgc2Vjb25kYXJ5IGluZGV4ZXMgZHVyaW5nIHNjaGVtYSBtaWdyYXRpb25zIChDQVNTQU5EUkEtMTQwNikKICogZml4IGNvbW1pdGxvZyBoZWFkZXIgcmFjZSBkdXJpbmcgc2NoZW1hIGNoYW5nZSAoQ0FTU0FORFJBLTE0MzUpCiAqIGZpeCBDb2x1bW5GYW1pbHlTdG9yZU1CZWFuSXRlcmF0b3IgdG8gdXNlIG5ldyB0eXBlIG5hbWUgKENBU1NBTkRSQTV1RPUAAAFP3jyyXAAQaW5nIChDQVNTQU5EUkEtNAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguWQAAAQB1dCBiZWZvcmUgbmV3IGluc2VydHMgZm9yY2UgbWVtdGFibGUgZmx1c2guCiAgIChDQVNTQU5EUkEtMjA0KQogKiBBZGRlZCBCVUdTIGZpbGUKCgowLjMuMCBSQzEKICogUmFuZ2UgcXVlcmllcyBvbiBrZXlzLCBpbmNsdWRpbmcgdXNlci1kZWZpbmVkIGtleSBjb2xsYXRpb24KICogUmVtb3ZlIHN1cHBvcnQKICogV29ya2Fyb3VuZHMgZm9yIGEgd2VpcmQgYnVnIGluIEpESyBzZWxlY3QvcmVnaXN0ZXIgdGhhdCBzZWVtcwogICBwYXJ0aWN1bGFybHkgQXZyMQAAAU/ePLJcABAgd2l0aCB2bm9kZXMgKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5ZAAABAG9uZXMgcG9zdC1mbHVzaCBpbiByYW5nZSBzY2FucwogICAoQ0FTU0FORFJBLTE4MzcpCiAqIFJlYWRSZXNwb25zZVJlc29sdmVyIGNoZWNrIGRpZ2VzdHMgYWdhaW5zdCBlYWNoIG90aGVyIChDQVNTQU5EUkEtMTgzMCkKICogcmV0dXJuIEludmFsaWRSZXF1ZXN0IHdoZW4gcmVtb3ZlIG9mIHN1YmNvbHVtbiB3aXRob3V0IHN1cGVyY29sdW1uCiAgIGlzIHJlcXVlc3RlZCAoQ0FTU0FORFJBLTE4NjYpCiAqIGZsdXNoIGJlZm9yZSByZXBhaXIgKENBU1PfAAW0AAABT948slwAEFNBTkRSQS01NjQ5KQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlkAAAEAb3ZlIGludmFsaWQgYXNzZXJ0aW9uIHRoYXQgdGFibGUgd2FzIG9wZW5lZCBiZWZvcmUgZHJvcHBpbmcgaXQKICAgKENBU1NBTkRSQS0zNTgwKQogKiByYW5nZSBhbmQgaW5kZXggc2NhbnMgbm93IG9ubHkgc2VuZCByZXF1ZXN0cyB0byBlbm91Z2ggcmVwbGljYXMgdG8KICAgc2F0aXNmeSByZXF1ZXN0ZWQgQ0wgKyBSUiAoQ0FTU0FORFJBLTM1OTgpCiAqIHVzZSBjYW5ub25pY2FsIGhvc3QgZm9yIGxvY2FsIG5vZGUgaW4gbm9kZXRvb2wgaW5mbyAoQ9fr6GcAFcMH3szFbgAAAU/ePLJcABB4IHBvdGVudGlhbCBwYWdpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5bAAABAHJpZ2dlcnMgdG8gc2NoZW1hIChDQVNTQU5EUkEtNjc4OSkKICogRml4IHRyaWdnZXIgbXV0YXRpb25zIHdoZW4gYmFzZSBtdXRhdGlvbiBsaXN0IGlzIGltbXV0YWJsZSAoQ0FTU0FORFJBLTY3OTApCiAqIEZpeCBhY2NvdW50aW5nIGluIEZpbGVDYWNoZVNlcnZpY2UgdG8gYWxsb3cgcmUtdXNpbmcgUkFSIChDQVNTQU5EUkEtNjgzOCkKICogRml4IHN0YXRpYyBjb3VudGVyIGNvbHVtbnMgKENBU1NBTkRSQS02ODI3KQogKiBSZXN0b3JlIGV4cGlyaW46yH2+AAABT948slwAEEEtNjU3NykKICogQWxsb3cAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlsAAAEAa2V5IGFuZCBlbmRfdG9rZW4gKENBU1NBTkRSQS01MDg5KQoKCjEuMi4wLXJjMgogKiBmaXggbm9kZXRvb2wgb3duZXJzaGlwIGRpc3BsYXkgd2l0aCB2bm9kZXMgKENBU1NBTkRSQS01MDY1KQogKiBjcWxzaDogYWRkIERFU0NSSUJFIEtFWVNQQUNFUyBjb21tYW5kIChDQVNTQU5EUkEtNTA2MCkKICogRml4IHBvdGVudGlhbCBpbmZpbml0ZSBsb29wIHdoZW4gcmVsb2FkaW5nIENGUyAoQ0FTU0FORFJBLTUwNjQpCiAqIEZpeCBTaW1wbGVBdXRob3JpegaGS4cAAAFP3jyyXAAQQ29sdW1uIGZvciBhY2NlcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguWwAAAQAgY3JlYXRpbmcgYSB0YWJsZSB3aXRoIGZyb3plbiBzZXRzLCBsaXN0cyAoQ0FTU0FORFJBLTgxMDQpCiAqIEZpeCBoaWdoIG1lbW9yeSB1c2UgZHVlIHRvIHRyYWNraW5nIHJlYWRzIG9uIGluY3JlbWVudGFsbHkgb3BlbmVkIHNzdGFibGUKICAgcmVhZGVycyAoQ0FTU0FORFJBLTgwNjYpCiAqIEZpeCBFWEVDVVRFIHJlcXVlc3Qgd2l0aCBza2lwTWV0YWRhdGE9ZmFsc2UgcmV0dXJuaW5nIG5vIG1ldGFkYXRhCiAgIChDQVNTQU5EUkEtODA1NCkKICogmooO5AAAAU/ePLJcABB0YWJsZXMgYXJlIGRlZmluAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5bAAABAFRfTUVNVEFCTEVfTElGRVRJTUVfSU5fTUlOUyB0byAyNGgKICogaW1wcm92ZSBkZXRlY3Rpb24gYW5kIGNsZWFudXAgb2YgcGFydGlhbGx5LXdyaXR0ZW4gc3N0YWJsZXMgCiAgIChDQVNTQU5EUkEtMjIwNikKICogZml4IHN1cGVyY29sdW1uIGRlL3NlcmlhbGl6YXRpb24gd2hlbiBzdWJjb2x1bW4gY29tcGFyYXRvciBpcyBkaWZmZXJlbnQKICAgZnJvbSBzdXBlcmNvbHVtbidzIChDQVNTQU5EUkEtMjEwNCkKICogZml4IHN0YXJ0aW5nIHVwIG9uIFf2qr1QAAABT948slwAEGcgYm9vc3RyYXBwaW5nICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlsAAAEAYmVhbiAoQ0FTU0FORFJBLTU1NikKICogb3B0aW1pemUgY2xlYW51cCB0byBkcm9wIGVudGlyZSBzc3RhYmxlcyB3aGVyZSBwb3NzaWJsZSAoQ0FTU0FORFJBLTQwNzkpCiAqIG9wdGltaXplIHRydW5jYXRlIHdoZW4gYXV0b3NuYXBzaG90IGlzIGRpc2FibGVkIChDQVNTQU5EUkEtNDE1MykKICogdXBkYXRlIGNhY2hlcyB0byB1c2UgYnl0ZVtdIGtleXMgdG8gcmVkdWNlIG1lbW9yeSBvdmVyaGVhZCAoQ0FTU0FORFJBLTM5NjYpCiAqIGFkZCBjb2x1beerUKUAAAFP3jyyXAAQIGlmIGNvbXBhY3Rpb24gYgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguWwAAAQBlbCB0aW1lc3RhbXBzIChDQVNTQU5EUkEtNTQxNSkKICogQWxsb3cgb3ZlcnJpZGluZyBzdXBlcnVzZXIgc2V0dXAgZGVsYXkgKENBU1NBTkRSQS01NDMwKQogKiBjYXNzYW5kcmEtc2h1ZmZsZSB3aXRoIEpNWCB1c2VybmFtZXMgYW5kIHBhc3N3b3JkcyAoQ0FTU0FORFJBLTU0MzEpCk1lcmdlZCBmcm9tIDEuMToKICogY2xpOiBRdW90ZSBrcyBhbmQgY2YgbmFtZXMgaW4gc2NoZW1hIG91dHB1dCB3aGVuIG5lZWRlZCAoQ0FTU0FORFJBLTUwNTIpCiAqo8RMIQAAAU/ePLJcABBlIG1ldGFkYXRhIGZvciBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5bAAABAHJlc3MgdG8gbWF0Y2gKICAgcHJlLTE3NzcgYmVoYXZpb3IsIGFuZCBhZGQgVG9rZW5SYW5nZS5ycGNfZW5kcG9pbnRzIGluc3RlYWQgKENBU1NBTkRSQS0zMTg3KQogKiBhdm9pZCB0cnlpbmcgdG8gd2F0Y2ggY2Fzc2FuZHJhLXRvcG9sb2d5LnByb3BlcnRpZXMgd2hlbiBsb2FkZWQgZnJvbSBqYXIKICAgKENBU1NBTkRSQS0zMTM4KQogKiBwcmV2ZW50IHVzZXJzIGZyb20gY3JlYXRpbmcga2V5c3BhY2VzIHdpdGggTG9jYWxTdHJhdGVneSByZXBsaWP/GcuqAAABT948slwAECAqIFRocm93IElSRSBpZiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlsAAAEAbiB0aGUgSlZNIHB1bGxzIHRoZSBydWcgb3V0IGZyb20gR0NJbnNwZWN0b3IgKENBU1NBTkRSQS01MzQ1KQogKiBjcWxzaCBmYWlscyB3aGVuIHZlcnNpb24gbnVtYmVyIHBhcnRzIGFyZSBub3QgaW50IChDQVNTQU5EUkEtNzUyNCkKICogRml4IE5QRSB3aGVuIHRhYmxlIGRyb3BwZWQgZHVyaW5nIHN0cmVhbWluZyAoQ0FTU0FORFJBLTc5NDYpCiAqIEZpeCB3cm9uZyBwcm9ncmVzcyB3aGVuIHN0cmVhbWluZyB1bmNvbXByZXNzZWQgKENBU1NBTkRSQXbxWxkAAAFP3jyyXAAQSWxsZWdhbEFyZ3VtZW50RQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguWwAAAQBzZXR1cHMgKENBU1NBTkRSQS0zNTMwKQogKiB1c2UgU0VUTE9DQUwgaW4gY2Fzc2FuZHJhLmJhdCAoQ0FTU0FORFJBLTM1MDYpCiAqIGZpeCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uIGluIFRhYmxlLmFsbCgpIChDQVNTQU5EUkEtMzUyOSkKTWVyZ2VkIGZyb20gMC44OgogKiBmaXggY29uY3VycmVuY2UgaXNzdWUgaW4gdGhlIEZhaWx1cmVEZXRlY3RvciAoQ0FTU0FORFJBLTM1MTkpCiAqIGZpeCBhcnJheSBvdXQgb2YgYm91bmRzIGVyuVr4oQAAAU/ePLJcABByIHNwZWNpZmljIHJhbmdlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5bAAABAG9yZSBmcmVxdWVudGx5IGZvciBtZW10YWJsZSBleHBpcmF0aW9uIChDQVNTQU5EUkEtMjAwMCkKICogZml4IHdyaXRpbmcgU1NUYWJsZSBjb2x1bW4gY291bnQgc3RhdGlzdGljcyAoQ0FTU0FORFJBLTE5NzYpCiAqIGZpeCBzdHJlYW1pbmcgb2YgbXVsdGlwbGUgQ0ZzIGR1cmluZyBib290c3RyYXAgKENBU1NBTkRSQS0xOTkyKQogKiBleHBsaWNpdGx5IHNldCBKVk0gR0MgbmV3IGdlbmVyYXRpb24gc2l6ZSB3aXRoIC1YbW4gKENBU1NBTkRSQS0xOTbM1gbNAAABT948slwAEGFuZCBtYWtlIGl0IGRlZmEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlsAAAEAb2RzIHdoZW4gY3FsMyB3YXMKICAgaW50ZW5kZWQgKENBU1NBTkRSQS01MTcyKQogKiBjbGk6IFF1b3RlIGtzIGFuZCBjZiBuYW1lcyBpbiBzY2hlbWEgb3V0cHV0IHdoZW4gbmVlZGVkIChDQVNTQU5EUkEtNTA1MikKICogRml4IGNmIG5hbWUgZXh0cmFjdGlvbiBmcm9tIG1hbmlmZXN0IGluIERpcmVjdG9yaWVzLm1pZ3JhdGVGaWxlKCkgKENBU1NBTkRSQS01MjQyKQogKiBSZXBsYWNlIG1pc3Rha2VuIHVzYWdlIG9mIGNvbW1vbnMtbG9nZ2luZyB3aRJgOOQAAAFP3jyyXAAQZFJhbmdlIHdpdGggMm5kYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguWwAAAQBBTkRSQS0xODc4KQogKiBtYW5hZ2UgcmVhZCByZXBhaXIgaW4gY29vcmRpbmF0b3IgaW5zdGVhZCBvZiBkYXRhIHNvdXJjZSwgdG8KICAgcHJvdmlkZSBsYXRlbmN5IGluZm9ybWF0aW9uIHRvIGR5bmFtaWMgc25pdGNoIChDQVNTQU5EUkEtMTg3MykKCgowLjcuMC1yYzIKICogZml4IGxpdmUtY29sdW1uLWNvdW50IG9mIHNsaWNlIHJhbmdlcyBpbmNsdWRpbmcgdG9tYnN0b25lZCBzdXBlcmNvbHVtbiAKICAgd2l0aCBsaXZlIHN1YmNvbHVtbiAoQ0FT9w5tHQAAAU/ePLJcABAgKENBU1NBTkRSQS05MTQwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5bAAABAHRhYmxlIGZyb20gdGhyaWZ0IChDQVNTQU5EUkEtNjgzMSkKTWVyZ2VkIGZyb20gMS4yOgogKiBGaXggbm9kZXRvb2wgZGlzcGxheSB3aXRoIHZub2RlcyAoQ0FTU0FORFJBLTcwODIpCiAqIEFkZCBVTkxPR0dFRCwgQ09VTlRFUiBvcHRpb25zIHRvIEJBVENIIGRvY3VtZW50YXRpb24gKENBU1NBTkRSQS02ODE2KQogKiBhZGQgZXh0cmEgU1NMIGNpcGhlciBzdWl0ZXMgKENBU1NBTkRSQS02NjEzKQogKiBmaXggbm9kZXRvb2wgZ2V0c3N0YWJsZXMgZm/RYm7EAAABT948slwAEDY0MTMpCiAqIChIYWRvb3AAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILlsAAAEAQU5EUkEtNTgyMykKICogKEhhZG9vcCkgZml4IHN1cHBvcnQgZm9yIFRocmlmdCB0YWJsZXMgaW4gQ3FsUGFnaW5nUmVjb3JkUmVhZGVyIAogICAoQ0FTU0FORFJBLTU3NTIpCiAqIGFkZCAiYWxsIHRpbWUgYmxvY2tlZCIgdG8gU3RhdHVzTG9nZ2VyIG91dHB1dCAoQ0FTU0FORFJBLTU4MjUpCiAqIEZ1dHVyZS1wcm9vZiBpbnRlci1tYWpvci12ZXJzaW9uIHNjaGVtYSBtaWdyYXRpb25zIChDQVNTQU5EUkEtNTg0NSkKICogKEhhZG9vcCkgYWRkIENxbHvxbkgAAAFP3jyyXAAQZCAoQ0FTU0FORFJBLTU3MAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguWwAAAQAgc2VnbWVudHMgYmVmb3JlIHJlbmFtZSAoQ0FTU0FORFJBLTQzMzcpCiAqIChKTVgpIHJlbmFtZSBnZXRSYW5nZUtleVNhbXBsZSB0byBzYW1wbGVLZXlSYW5nZSB0byBhdm9pZCByZXR1cm5pbmcKICAgbXVsdGktTUIgcmVzdWx0cyBhcyBhbiBhdHRyaWJ1dGUgKENBU1NBTkRSQS00NDUyKQogKiBmbHVzaCBiYXNlZCBvbiBkYXRhIHNpemUsIG5vdCB0aHJvdWdocHV0OyBvdmVyd3JpdHRlbiBjb2x1bW5zIG5vIAogICBsb25nZXIgYXJ0aWZpY2lhbGx5S3kFWwAV12Sm+A/RAAABT948slwAEG4gb2Jzb2xldGUgdmVyc2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILl4AAAEAcm90b2NvbCBzZXJ2ZXIgKENBU1NBTkRSQS01NTA3KQogKiBGaXggcmVwYWlyIC1zbmFwc2hvdCBub3Qgd29ya2luZyAoQ0FTU0FORFJBLTU1MTIpCiAqIFNldCBpc1J1bm5pbmcgZmxhZyBsYXRlciBpbiBiaW5hcnkgcHJvdG9jb2wgc2VydmVyIChDQVNTQU5EUkEtNTQ2NykKICogRml4IHVzZSBvZiBDUUwzIGZ1bmN0aW9ucyB3aXRoIGRlc2NlbmRpbmcgY2x1c3RlcmluZyBvcmRlciAoQ0FTU0FORFJBLTU0NzIpCiAqIERpc2FsbG93IHJlbmFtaW5nILV/TzQAAAFP3jyyXAAQYXRlZCBtZW10YWJsZSBzaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguXgAAAQBpbmcgKENBU1NBTkRSQS04NzY3KQogKiBBc3NlcnRpb25FcnJvcjogIk1lbW9yeSB3YXMgZnJlZWQiIHdoZW4gcnVubmluZyBjbGVhbnVwIChDQVNTQU5EUkEtODcxNikKICogTWFrZSBpdCBwb3NzaWJsZSB0byBzZXQgbWF4X3NzdGFibGVfYWdlIHRvIGZyYWN0aW9uYWwgZGF5cyAoQ0FTU0FORFJBLTg0MDYpCiAqIEZpeCBzb21lIG11bHRpLWNvbHVtbiByZWxhdGlvbnMgd2l0aCBpbmRleGVzIG9uIHNvbWUgY2x1c3RlcmluZwogICBjb2x1bW5zIChDR1IupgAAAU/ePLJcABBlIHRvIHVzZSBjb3JyZWN0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5eAAABAEFTU0FORFJBLTY0OSkKICogZXhwb3NlIGphdmEudXRpbC5jb25jdXJyZW50LlRpbWVvdXRFeGNlcHRpb24gaW4gU3RvcmFnZVByb3h5IG1ldGhvZHMKICAgKENBU1NBTkRSQS02MDApCiAqIFRjcENvbm5lY3Rpb25NYW5hZ2VyIHdhcyBob2xkaW5nIG9uIHRvIGRpc2Nvbm5lY3RlZCBjb25uZWN0aW9ucywgCiAgIGdpdmluZyB0aGUgZmFsc2UgaW5kaWNhdGlvbiB0aGV5IHdlcmUgYmVpbmcgdXNlZC4gKENBU1NBTkRSQS02NTEpCiAqIFJlbW92ZSBkdXCABj8IAAABT948slwAEGl0aCBleGNsdXNpdmUgc3QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILl4AAAEAc2FnZSBvbiByZWFkIHJlcGFpciB0aW1lb3V0cyAoQ0FTU0FORFJBLTc5NDcpCiAqIERlZmF1bHQgRFRDUyBiYXNlX3RpbWVfc2Vjb25kcyBjaGFuZ2VkIHRvIDYwIChDQVNTQU5EUkEtODQxNykKICogUmVmdXNlIFBheG9zIG9wZXJhdGlvbiB3aXRoIG1vcmUgdGhhbiBvbmUgcGVuZGluZyBlbmRwb2ludCAoQ0FTU0FORFJBLTgzNDYsIDg2NDApCiAqIFRocm93IGNvcnJlY3QgZXhjZXB0aW9uIHdoZW4gdHJ5aW5nIHRvIGJpbmQgYSBrZXlzcGFjZSBvckdGvnEAAAFP3jyyXAAQZXItZGVmaW5lZCBjb21wYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguXgAAAQB1bW5mYW1pbHlFeGNlcHRpb24gd2hlbiBjbG9zaW5nIHNvY2tldCAoQ0FTU0FORFJBLTU3MjUpCiAqIFByb3Blcmx5IGVycm9yIG91dCBvbiBDUkVBVEUgSU5ERVggZm9yIGNvdW50ZXJzIHRhYmxlIChDQVNTQU5EUkEtNjE2MCkKICogSGFuZGxlIEpNWCBub3RpZmljYXRpb24gZmFpbHVyZSBmb3IgcmVwYWlyIChDQVNTQU5EUkEtNjA5NykKICogKEhhZG9vcCkgRmV0Y2ggbm8gbW9yZSB0aGFuIDEyOCBzcGxpdHMgaW4gcGFyYWxsZWwgKENBU1NBTkRSjeWfZwAAAU/ePLJcABBhbGFuY2UiIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5eAAABAHh5IHRvIHBlcmZvcm0KICAgcmVwbGljYXRpb24gaW4tcHJvY2VzcyBbanZtLW9ubHldIChDQVNTQU5EUkEtNTM1KQogKiBzdXBwb3J0IG1tYXBwZWQgSS9PIGZvciByZWFkcywgb24gYnkgZGVmYXVsdCBvbiA2NGJpdCBKVk1zIAogICAoQ0FTU0FORFJBLTQwOCwgQ0FTU0FORFJBLTY2OSkKICogaW1wcm92ZSBpbnNlcnQgY29uY3VycmVuY3ksIHBhcnRpY3VsYXJseSBkdXJpbmcgSGludGVkIEhhbmRvZmYKICAgKENBU1NBTkRSQS02NTgpCiAqIGZhc3T9Uk7bAAABT948slwAEG4gcGFnaW5nIHF1ZXJ5IHcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILl4AAAEAbmdlIHByb2JsZW1zIHdoZW4gYSBub2RlIGlzIGRvd24gKENBU1NBTkRSQS00NDApCiAgIGFuZCBhZGQgVW5hdmFpbGFibGVFeGNlcHRpb24gdG8gbW9yZSBUaHJpZnQgbWV0aG9kcwogKiBBZGQgZXhhbXBsZSBFbmRQb2ludFNuaXRjaCBjb250cmliIGNvZGUgKHNldmVyYWwgdGlja2V0cykKCgowLjQuMCBSQzIKICogZml4IFNTVGFibGUgZ2VuZXJhdGlvbiBjbGFzaCBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTQxOCkKICogcmVqZWN0IG1ldCaU/ykAAAFP3jyyXAAQbmFsIGNyZWF0ZS9kcm9wIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguXgAAAQBEUkEtMzExNikKICogcmVjb2duaXplIHRoYXQgIlNFTEVDVCBmaXJzdCAuLi4gKiIgaXNuJ3QgcmVhbGx5ICJTRUxFQ1QgKiIgKENBU1NBTkRSQS0zNDQ1KQogKiBVc2UgZmFzdGVyIGJ5dGVzIGNvbXBhcmlzb24gKENBU1NBTkRSQS0zNDM0KQogKiBCdWxrIGxvYWRlciBpcyBubyBsb25nZXIgYSBmYXQgY2xpZW50LCAoSEFET09QKSBidWxrIGxvYWQgb3V0cHV0IGZvcm1hdAogICAoQ0FTU0FORFJBLTMwNDUpCiAqIChIYWRvb3ApIGFkZCBzdXBwb3J0U8NwMwAAAU/ePLJcABAKICAgc2F0aXNmeSByZXF1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5eAAABAGUgKENBU1NBTkRSQS0zMzc1KQogKiBkaXNwbGF5IGNhY2hlIHByb3ZpZGVyIGluIGNsaSAnZGVzY3JpYmUga2V5c3BhY2UnIGNvbW1hbmQgKENBU1NBTkRSQS0zMzg0KQogKiBmaXggaW5jb21wbGV0ZSB0b3BvbG9neSBpbmZvcm1hdGlvbiBpbiBkZXNjcmliZV9yaW5nIChDQVNTQU5EUkEtMzQwMykKICogZXhwaXJlIGRlYWQgZ29zc2lwIHN0YXRlcyBiYXNlZCBvbiB0aW1lIChDQVNTQU5EUkEtMjk2MSkKICogaW1wcm92ZSBDb21wYWN0aW9uVGFzayDIl21lAAABT948slwAEDcpCiAgIC0gcmVzcGVjdCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILl4AAAEAbXBhY3Rpb25TdHJhdGVneSAoQ0FTU0FORFJBLTE2MDgsIDMwODUsIDMxMTAsIDMwODcsIDMxNDUsIDMxNTQsIDMxODIpCiAqIEltcHJvdmVtZW50cyBvZiB0aGUgQ0xJIGBkZXNjcmliZWAgY29tbWFuZCAoQ0FTU0FORFJBLTI2MzApCiAqIHJlZHVjZSB3aW5kb3cgd2hlcmUgZHJvcHBlZCBDRiBzc3RhYmxlcyBtYXkgbm90IGJlIGRlbGV0ZWQgKENBU1NBTkRSQS0yOTQyKQogKiBFeHBvc2UgZ29zc2lwL0ZEIGluZm8gdG8gSk1YIChDQVNTQU5EUkEtMgj+aFEAAAFP3jyyXAAQaW4gdG8gbWl4ZWQgdmVycwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguXgAAAQAgd2hlbiB0aGUgSlZNIHB1bGxzIHRoZSBydWcgb3V0IGZyb20gR0NJbnNwZWN0b3IgKENBU1NBTkRSQS01MzQ1KQogKiBjcWxzaCBmYWlscyB3aGVuIHZlcnNpb24gbnVtYmVyIHBhcnRzIGFyZSBub3QgaW50IChDQVNTQU5EUkEtNzUyNCkKICogRml4IE5QRSB3aGVuIHRhYmxlIGRyb3BwZWQgZHVyaW5nIHN0cmVhbWluZyAoQ0FTU0FORFJBLTc5NDYpCiAqIEZpeCB3cm9uZyBwcm9ncmVzcyB3aGVuIHN0cmVhbWluZyB1bmNvbXByZXNzZWQgKENBU1NBTXE1XAAAAU/ePLJcABB5c3BhY2UgbWV0YWRhdGEgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5eAAABAGF0aW9uIGZyb20gc2xpY2UgcmVhZCBwYXRoIChDQVNTQU5EUkEtMzM5MCkKICogRml4IHJhY2UgaW4gQW50aUVudHJvcHlTZXJ2aWNlIChDQVNTQU5EUkEtMzQwMCkKCgoxLjAuMC1maW5hbAogKiBjbG9zZSBzY3J1YmJlZCBzc3RhYmxlIGZkIGJlZm9yZSBkZWxldGluZyBpdCAoQ0FTU0FORFJBLTMzMTgpCiAqIGZpeCBidWcgcHJldmVudGluZyBvYnNvbGV0ZSBjb21taXRsb2cgc2VnbWVudHMgZnJvbSBiZWluZyByZW1vdmVkCiAgIChDQVNTQU5EUkH2qNkmAAABT948slwAEGF0aW9uRXhjZXB0aW9uICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILl4AAAEAKiBhdm9pZCB1c2luZyBnbG9iYWwgcGFydGl0aW9uZXIgdG8gZXN0aW1hdGUgcmFuZ2VzIGluIGluZGV4IHNzdGFibGVzCiAgIChDQVNTQU5EUkEtNDQwMykKICogcmVzdG9yZSBwcmUtQ0FTU0FORFJBLTM4NjIgYXBwcm9hY2ggdG8gcmVtb3ZpbmcgZXhwaXJlZCB0b21ic3RvbmVzCiAgIGZyb20gcm93IGNhY2hlIGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtNDM2NCkKICogKHN0cmVzcykgc3VwcG9ydCBmb3IgQ1FMIHByZXBhcmVkIHN0YXRlbVqKN98AAAFP3jyyXAAQdGhlIEpWTSAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguXgAAAQBSQS01NTM1KQogKiBGaXggQm91bmQgaW50ZXJzZWN0aW9uIGNvbXB1dGF0aW9uIChDQVNTQU5EUkEtNTU1MSkKICogc3N0YWJsZXNjcnViIG5vdyByZXNwZWN0cyBtYXggbWVtb3J5IHNpemUgaW4gY2Fzc2FuZHJhLmluLnNoIChDQVNTQU5EUkEtNTU2MikKCgoxLjIuNAogKiBFbnN1cmUgdGhhdCBQZXJSb3dTZWNvbmRhcnlJbmRleCB1cGRhdGVzIHNlZSB0aGUgbW9zdCByZWNlbnQgdmFsdWVzCiAgIChDQVNTQU5EUkEtNTM5NykKICogYXZvaWQgZHVwRXs1IgAAAU/ePLJcABBSQS0xMTQ2KQogKiB1c2UgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5eAAABAGJsZSBkcm9wcGVkIGR1cmluZyBzdHJlYW1pbmcgKENBU1NBTkRSQS03OTQ2KQogKiBGaXggd3JvbmcgcHJvZ3Jlc3Mgd2hlbiBzdHJlYW1pbmcgdW5jb21wcmVzc2VkIChDQVNTQU5EUkEtNzg3OCkKICogRml4IHBvc3NpYmxlIGluZmluaXRlIGxvb3AgaW4gY3JlYXRpbmcgcmVwYWlyIHJhbmdlIChDQVNTQU5EUkEtNzk4MykKICogRml4IHVuaXQgaW4gbm9kZXRvb2wgZm9yIHN0cmVhbWluZyB0aHJvdWdocHV0IChDQVNTQU5EUkEtNzM3NSkKTWVyZ2WSYIxDABXrwVzt6GYAAAFP3jyyXAAQQ0wgPCBBTEwKICAgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguYAAAAQBFWElTVFMgKENBU1NBTkRSQS04NjEwKQogKiBGaXggcmV2ZXJzYWwgb2YgbGlzdCBwcmVwZW5kcyAoQ0FTU0FORFJBLTg3MzMpCiAqIFByZXZlbnQgbm9uLXplcm8gZGVmYXVsdF90aW1lX3RvX2xpdmUgb24gdGFibGVzIHdpdGggY291bnRlcnMKICAgKENBU1NBTkRSQS04Njc4KQogKiBGaXggU1NUYWJsZVNpbXBsZVVuc29ydGVkV3JpdGVyIENvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb24KICAgKENBU1NBTkRSQS04NjE5KQogKiBSb3VuZCB1UuNwMQAAAU/ePLJcABBsb3dzIGR1cmluZyBwYXJzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5gAAABAFJBLTU4ODApCk1lcmdlZCBmcm9tIDEuMjoKICogQ29ycmVjdGx5IHZhbGlkYXRlIHNwYXJzZSBjb21wb3NpdGUgY2VsbHMgaW4gc2NydWIgKENBU1NBTkRSQS01ODU1KQogKiBBZGQgS2V5Q2FjaGVIaXRSYXRlIG1ldHJpYyB0byBDRiBtZXRyaWNzIChDQVNTQU5EUkEtNTg2OCkKICogY3Fsc2g6IGFkZCBzdXBwb3J0IGZvciBtdWx0aWxpbmUgY29tbWVudHMgKENBU1NBTkRSQS01Nzk4KQogKiBIYW5kbGUgQ1FMMyBTRUxFQ1QgZHVwbGljYXRlIElOIHITZ63yAAABT948slwAEHQgc2NydWIgb3B0aW9uYWwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmAAAAEAZWVtZW50RXhjZXB0aW9uIChDQVNTQU5EUkEtMzg4NCkKICogQ0xJIGBsaXN0IDxDRj5gIHRvIGxpbWl0IG51bWJlciBvZiBjb2x1bW5zIGFuZCB0aGVpciBvcmRlciAoQ0FTU0FORFJBLTMwMTIpCiAqIGlnbm9yZSBkZXByZWNhdGVkIEtzRGVmL0NmRGVmL0NvbHVtbkRlZiBmaWVsZHMgaW4gbmF0aXZlIHNjaGVtYSAoQ0FTU0FORFJBLTM5NjMpCiAqIENMSSB0byByZXBvcnQgd2hlbiB1bnN1cHBvcnRlZCBjb2x1bW5fbWV0YWRhdGEgcGFpciB3YXMgZ04qHoYAAAFP3jyyXAAQIDIxMDUsIDIzODQsIDIyMwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguYAAAAQBORFJBLTcyNjcpCiAqIEFkZCB0dXBsZSB0eXBlIHRvIENRTC9uYXRpdmUgcHJvdG9jb2wgKENBU1NBTkRSQS03MjQ4KQogKiBGaXggQ3FsUGFnaW5nUmVjb3JkUmVhZGVyIG9uIHRhYmxlcyB3aXRoIGZldyByb3dzIChDQVNTQU5EUkEtNzMyMikKTWVyZ2VkIGZyb20gMi4wOgogKiBDb3B5IGNvbXBhY3Rpb24gb3B0aW9ucyB0byBtYWtlIHN1cmUgdGhleSBhcmUgcmVsb2FkZWQgKENBU1NBTkRSQS03MjkwKQogKiBBZGQgb3B0aW9uIHRvIGRvIG1vcmUgDfvElwAAAU/ePLJcABB0cnVuY2F0aW9uIGVycm9yAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5gAAABAEZpeCBjb21wdXRhdGlvbiBvZiBvdmVybGFwcGluZyBzc3RhYmxlIGZvciBsZXZlbGVkIGNvbXBhY3Rpb24gKENBU1NBTkRSQS00MzIxKQogKiBJbXByb3ZlIHNjcnViIGFuZCBhbGxvdyB0byBydW4gaXQgb2ZmbGluZSAoQ0FTU0FORFJBLTQzMjEpCiAqIEZpeCBhc3NlcnRpb25FcnJvciBpbiBTdG9yYWdlU2VydmljZS5idWxrTG9hZCAoQ0FTU0FORFJBLTQzNjgpCiAqIChjcWxzaCkgYWRkIG9wdGlvbiB0byBhdXRoZW50aWNhdGUgdG8gYSBrZXlzcGF9EPyJAAABT948slwAEGF0aW9uIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmAAAAEALTc5NjcpCiAqIEZpeCBSb3dJbmRleEVudHJ5IHRvIHJlcG9ydCBjb3JyZWN0IHNlcmlhbGl6ZWRTaXplIChDQVNTQU5EUkEtNzk0OCkKICogTWFrZSBDUUxTU1RhYmxlV3JpdGVyIHN5bmMgd2l0aGluIHBhcnRpdGlvbnMgKENBU1NBTkRSQS03MzYwKQogKiBQb3RlbnRpYWxseSB1c2Ugbm9uLWxvY2FsIHJlcGxpY2FzIGluIENxbENvbmZpZ0hlbHBlciAoQ0FTU0FORFJBLTc5MDYpCiAqIEV4cGxpY2l0bHkgZGlzYWxsb3cgbWl4aW5nIG11bHRpLWNvbA78z7MAAAFP3jyyXAAQaW4gQ0xJIFNFVCBjb21tYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguYAAAAQBlY3QgcmVwYWlyZWRBdCB2YWx1ZSB3aGVuIGNsb3Npbmcgd3JpdGVyIChDQVNTQU5EUkEtODU3MCkKICogKGNxbHNoKSBIYW5kbGUgYSBzY2hlbWEgbWlzbWF0Y2ggYmVpbmcgZGV0ZWN0ZWQgb24gc3RhcnR1cCAoQ0FTU0FORFJBLTg1MTIpCiAqIFByb3Blcmx5IGNhbGN1bGF0ZSBleHBlY3RlZCB3cml0ZSBzaXplIGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtODUzMikKICogSW52YWxpZGF0ZSBhZmZlY3RlZCBwcmVwYXJlZCBzdGF0ZW1lbnRzXWc9+AAAAU/ePLJcABBSQS03MjI4KQogKiBXYXJuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5gAAABAG50YWluaW5nIG5vdGhpbmcgYnV0IGV4cGlyZWQgdG9tYnN0b25lcykgKENBU1NBTkRSQS0zMDM5KQogKiB3b3JrIGFyb3VuZCBuYXRpdmUgbWVtb3J5IGxlYWsgaW4gY29tLnN1bi5tYW5hZ2VtZW50LkdhcmJhZ2VDb2xsZWN0b3JNWEJlYW4KICAgKENBU1NBTkRSQS0yODY4KQogKiB2YWxpZGF0ZSB0aGF0IGNvbHVtbiBuYW1lcyBpbiBjb2x1bW5fbWV0YWRhdGEgYXJlIG5vdCBlcXVhbCB0byBrZXlfYWxpYXMKICAgb24gY3JlYXRlL3VwZGF0ZSBvZiAVod+BAAABT948slwAEHAvdXBncmFkZXNzdGFibGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmAAAAEAZXggc2NhbiBzdWJqZWN0IGluIENvbXBvc2l0ZXNTZWFyY2hlciAoQ0FTU0FORFJBLTQ5MDQpCk1lcmdlZCBmcm9tIDEuMToKICogYWRkIGdldFtSb3d8S2V5XUNhY2hlRW50cmllcyB0byBDYWNoZVNlcnZpY2VNQmVhbiAoQ0FTU0FORFJBLTQ4NTkpCiAqIGZpeCBnZXRfcGFnZWRfc2xpY2UgdG8gd3JhcCB0byBuZXh0IHJvdyBjb3JyZWN0bHkgKENBU1NBTkRSQS00ODE2KQogKiBmaXggaW5kZXhpbmcgZW1wdHkgY29sdW1uIHZhbHVlcyAoQ0FTU0FORP7BtEgAAAFP3jyyXAAQaW5kZXhlZCBjb2x1bW5zIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguYAAAAQApCiAqIFJlbW92ZSBzeXN0ZW0gdGFibGVzIGFjY291bnRpbmcgZnJvbSBzY2hlbWEgKENBU1NBTkRSQS00ODUwKQogKiAoY3FsMykgRm9yY2UgcHJvdmlkZWQgY29sdW1ucyBpbiBjbHVzdGVyaW5nIGtleSBvcmRlciBpbiAKICAgJ0NMVVNURVJJTkcgT1JERVIgQlknIChDQVNTQU5EUkEtNDg4MSkKICogRml4IGNvbXBvc2l0ZSBpbmRleCBidWcgKENBU1NBTkRSQS00ODg0KQogKiBGaXggc2hvcnQgcmVhZCBwcm90ZWN0aW9uIGZvciBDUUwzIChDQVNTArKrwgAAAU/ePLJcABBpdGggZGVsZXRlZCBjb2x1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5gAAABAGZyb20gY3JjMzIgdG8gYWRsZXIzMiBmb3IgY29tcHJlc3NlZCBzc3RhYmxlIGNoZWNrc3VtcyAoQ0FTU0FORFJBLTU4NjIpCiAqIEltcHJvdmUgb2ZmaGVhcCBtZW1jcHkgcGVyZm9ybWFuY2UgKENBU1NBTkRSQS01ODg0KQogKiBVc2UgYSByYW5nZSBhd2FyZSBzY2FubmVyIGZvciBjbGVhbnVwIChDQVNTQU5EUkEtMjUyNCkKICogQ2xlYW51cCBkb2Vzbid0IG5lZWQgdG8gaW5zcGVjdCBzc3RhYmxlcyB0aGF0IGNvbnRhaW4gb25seSBsb2NhbCBkYXRrPahiAAABT948slwAEHVvdGVzIGluIGNyZWF0ZS8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmAAAAEAc2luZyBjb3VudGVyIGFuZCByZWd1bGFyIGNvbHVtbnMgaW4gdGhlIHNhbWUgCiAgIHRhYmxlIChDQVNTQU5EUkEtNDcwNikKICogRml4IGJ1ZyBzdGFydGluZyBDYXNzYW5kcmEgd2l0aCBzaW1wbGUgYXV0aGVudGljYXRpb24gKENBU1NBTkRSQS00NjQ4KQogKiBBZGQgc3VwcG9ydCBmb3IgYmF0Y2hsb2cgaW4gQ1FMMyAoQ0FTU0FORFJBLTQ1NDUsIDQ3MzgpCiAqIEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBjb2x1bW4gZmFtaWx5IG91dHB1dHMgadSq//4AAAFP3jyyXAAQYnkgZGVmYXVsdCAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguYAAAAQB0YWJsZSAoQ0FTU0FORFJBLTQ3MDYpCiAqIEZpeCBidWcgc3RhcnRpbmcgQ2Fzc2FuZHJhIHdpdGggc2ltcGxlIGF1dGhlbnRpY2F0aW9uIChDQVNTQU5EUkEtNDY0OCkKICogQWRkIHN1cHBvcnQgZm9yIGJhdGNobG9nIGluIENRTDMgKENBU1NBTkRSQS00NTQ1LCA0NzM4KQogKiBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgY29sdW1uIGZhbWlseSBvdXRwdXRzIGluIENGT0YgKENBU1NBTkRSQS00MjA4KQogKiBTdXBwb3J0IHJlcGFpcmluZyBvbmx5rIi9+QAAAU/ePLJcABBuY2x1ZGVzIGNhc3NhbmRyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5gAAABAHR5cGUgdG8gQ1FML25hdGl2ZSBwcm90b2NvbCAoQ0FTU0FORFJBLTcyNDgpCiAqIEZpeCBDcWxQYWdpbmdSZWNvcmRSZWFkZXIgb24gdGFibGVzIHdpdGggZmV3IHJvd3MgKENBU1NBTkRSQS03MzIyKQpNZXJnZWQgZnJvbSAyLjA6CiAqIENvcHkgY29tcGFjdGlvbiBvcHRpb25zIHRvIG1ha2Ugc3VyZSB0aGV5IGFyZSByZWxvYWRlZCAoQ0FTU0FORFJBLTcyOTApCiAqIEFkZCBvcHRpb24gdG8gZG8gbW9yZSBhZ2dyZXNzaXZlIHRvbWJzdG9uZSBjb21JWdx+AAABT948slwAEG9mIGZyZWUnZCBuYXRpdmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmAAAAEARFJBLTYzMTYpCiAqIEZpeCBtaXNzaW5nIG9uZSByb3cgaW4gcmV2ZXJzZSBxdWVyeSAoQ0FTU0FORFJBLTYzMzApCiAqIEZpeCByZWFkaW5nIGV4cGlyZWQgcm93IHZhbHVlIGZyb20gcm93IGNhY2hlIChDQVNTQU5EUkEtNjMyNSkKICogRml4IEFzc2VydGlvbkVycm9yIHdoZW4gZG9pbmcgc2V0IGVsZW1lbnQgZGVsZXRpb24gKENBU1NBTkRSQS02MzQxKQogKiBNYWtlIENMIGNvZGUgZm9yIHRoZSBuYXRpdmUgcHJvdG9jb2wgbWF0Y2ggdGhlIG9uZbcZdu0AFgAeiaLG/gAAAU/ePLJcABBneSB0byBPbGROZXR3b3JrAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5jAAABAENBU1NBTkRSQS0yMTA4KQogKiB2YWxpZGF0ZSBpbmRleCBuYW1lcyBmb3IgXHcrIChDQVNTQU5EUkEtMjE5NikKICogRml4IENhc3NhbmRyYSBjbGkgdG8gcmVzcGVjdCB0aW1lb3V0IGlmIHNjaGVtYSBkb2VzIG5vdCBzZXR0bGUgCiAgIChDQVNTQU5EUkEtMjE4NykKICogZml4IGZvciBjb21wYWN0aW9uIGFuZCBjbGVhbnVwIHdyaXRpbmcgb2xkLWZvcm1hdCBkYXRhIGludG8gbmV3LXZlcnNpb24gCiAgIHNzdGFibGUgKENBU1NBTkRSQS0yMjExLCCrnHKNAAABT948slwAEFNBTkRSQS03NTQzKQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmMAAAEAbSAwLjg6CiAqIChQaWcpIGZpeCBDYXNzYW5kcmFTdG9yYWdlIHRvIHVzZSBjb3JyZWN0IGNvbXBhcmF0b3IgaW4gU3VwZXIgQ29sdW1uRmFtaWx5CiAgIGNhc2UgKENBU1NBTkRSQS0zMjUxKQogKiBmaXggdGhyZWFkIHNhZmV0eSBpc3N1ZXMgaW4gY29tbWl0bG9nIHJlcGxheSwgcHJpbWFyaWx5IGFmZmVjdGluZwogICBzeXN0ZW1zIHdpdGggbWFueSAoMTAwcykgb2YgQ0YgZGVmaW5pdGlvbnMgKENBU1NBTkRSQS0zNzUxKQogKiBGaXggcmVsZXZhbm+GcgAAAAFP3jyyXAAQZW50cyB0byBEZWJpYW4gaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguYwAAAQBEUkEtMTUxMSkKICogbWFrZSByZXBhaXIgYmxvY2tpbmcgKENBU1NBTkRSQS0xNTExKQogKiBjcmVhdGUgRW5kcG9pbnRTbml0Y2hJbmZvIGFuZCBNQmVhbiB0byBleHBvc2UgcmFjayBhbmQgREMgKENBU1NBTkRSQS0xNDkxKQogKiBhZGRlZCBvcHRpb24gdG8gY29udHJpYi93b3JkX2NvdW50IHRvIG91dHB1dCByZXN1bHRzIGJhY2sgdG8gQ2Fzc2FuZHJhCiAgIChDQVNTQU5EUkEtMTM0MikKICogcmV3cml0ZSBIYWRvb3AgQ29sdW1uRmFtaWx5UmVjWxWHNAAAAU/ePLJcABBBU1NBTkRSQS0zMjM3LCA1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5jAAABADE3OCkKICogQWRkIGNvbXBhY3Rpb25fcHJlaGVhdF9rZXlfY2FjaGUgb3B0aW9uIChDQVNTQU5EUkEtMjE3NSkKICogcmVmYWN0b3Igc3RyZXNzLnB5IHRvIGhhdmUgb25seSBvbmUgY29weSBvZiB0aGUgZm9ybWF0IHN0cmluZyAKICAgdXNlZCBmb3IgY3JlYXRpbmcgcm93IGtleXMgKENBU1NBTkRSQS0yMTA4KQogKiB2YWxpZGF0ZSBpbmRleCBuYW1lcyBmb3IgXHcrIChDQVNTQU5EUkEtMjE5NikKICogRml4IENhc3NhbmRyYSBjbGkgdG8gcmVzcGWhxVWhAAABT948slwAEHN0YXJ0dXAgZmxhZyB0byAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmMAAAEAIGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtMjc4NikKICogZml4IHJhY2UgdGhhdCBjb3VsZCByZXN1bHQgaW4gSGFkb29wIHdyaXRlciBmYWlsaW5nIHRvIHRocm93IGFuCiAgIGV4Y2VwdGlvbiBlbmNvdW50ZXJlZCBhZnRlciBjbG9zZSgpIChDQVNTQU5EUkEtMjc1NSkKICogZml4IHNjYW4gd3JvbmdseSB0aHJvd2luZyBhc3NlcnRpb24gZXJyb3IgKENBU1NBTkRSQS0yNjUzKQogKiBBbHdheXMgdXNlIGV2ZW4gZGlzdHJpYnV0aW9uIGZvcl1YBukAAAFP3jyyXAAQQS03NTk5KQogKiBTZXQgLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguYwAAAQBhcGlkIHN1Y2Nlc3Npb24gKENBU1NBTkRSQS0xNDc3KQogKiBjbGVhbiB1cCBvZiBTdHJlYW1pbmcgc3lzdGVtIChDQVNTQU5EUkEtMTUwMywgMTUwNCwgMTUwNikKICogYWRkIG9wdGlvbnMgdG8gY29uZmlndXJlIFRocmlmdCBzb2NrZXQga2VlcGFsaXZlIGFuZCBidWZmZXIgc2l6ZXMgKENBU1NBTkRSQS0xNDI2KQogKiBtYWtlIGNvbnRyaWIgQ2Fzc2FuZHJhU2VydmljZURhdGFDbGVhbmVyIHJlY3Vyc2l2ZSAoQ0FTU0FORFJBLTE1MDkpCiAqIG1pw2tPqAAAAU/ePLJcABB1cGRhdGVzIHRvIGluZGV4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5jAAABADIwOCkKICogRG9uJ3QgYWxsb3cgYW55IGNhY2hlIGxvYWRpbmcgZXhjZXB0aW9ucyB0byBoYWx0IHN0YXJ0dXAgKENBU1NBTkRSQS0zMjE4KQogKiBGaXggc3N0YWJsZWxvYWRlciAtLWlnbm9yZXMgb3B0aW9uIChDQVNTQU5EUkEtMzI0NykKICogRmlsZSBkZXNjcmlwdG9yIGxpbWl0IGluY3JlYXNlZCBpbiBwYWNrYWdpbmcgKENBU1NBTkRSQS0zMjA2KQogKiBGaXggZGVhZGxvY2sgaW4gY29tbWl0IGxvZyBkdXJpbmcgZmx1c2ggKENBU1NBTkRSQS33rZxDAAABT948slwAECBzdXBlciBjb2x1bW5zIGIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmMAAAEAb21lIHVucmVhZGFibGUgCiAgIGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtODQyOSkKICogUnVuIG1ham9yIGNvbXBhY3Rpb25zIGZvciByZXBhaXJlZC91bnJlcGFpcmVkIGluIHBhcmFsbGVsIChDQVNTQU5EUkEtODUxMCkKICogKGNxbHNoKSBGaXggY29tcHJlc3Npb24gb3B0aW9ucyBpbiBERVNDUklCRSBUQUJMRSBvdXRwdXQgd2hlbiBjb21wcmVzc2lvbgogICBpcyBkaXNhYmxlZCAoQ0FTU0FORFJBLTgyODgpCiAqIChjcWxzaCkgRml4IHQxkooAAAFP3jyyXAAQIHNldHRpbmcgZ2NfZ3JhYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguYwAAAQBBU1NBTkRSQS0xNzg2KQogKiBhZGQgRXhwaXJpbmdDb2x1bW4gc3VwcG9ydCB0byBzc3RhYmxlIGltcG9ydC9leHBvcnQgKENBU1NBTkRSQS0xNzU0KQogKiBhZGQgZmx1c2ggZm9yIGVhY2ggYXBwZW5kIHRvIHBlcmlvZGljIGNvbW1pdGxvZyBtb2RlOyBhZGRlZAogICBwZXJpb2RpY193aXRob3V0X2ZsdXNoIG9wdGlvbiB0byBkaXNhYmxlIHRoaXMgKENBU1NBTkRSQS0xNzgwKQogKiBjbG9zZSBmaWxlIGhhbmRsZSB1c2VkIGZvciBwb3N0LWZsdXNoTyfV1AAAAU/ePLJcABBtZXRhZGF0YSAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5jAAABAFBFIHdoZW4gY3JlYXRpbmcgYSB0YWJsZSB3aXRoIGZyb3plbiBzZXRzLCBsaXN0cyAoQ0FTU0FORFJBLTgxMDQpCiAqIEZpeCBoaWdoIG1lbW9yeSB1c2UgZHVlIHRvIHRyYWNraW5nIHJlYWRzIG9uIGluY3JlbWVudGFsbHkgb3BlbmVkIHNzdGFibGUKICAgcmVhZGVycyAoQ0FTU0FORFJBLTgwNjYpCiAqIEZpeCBFWEVDVVRFIHJlcXVlc3Qgd2l0aCBza2lwTWV0YWRhdGE9ZmFsc2UgcmV0dXJuaW5nIG5vIG1ldGFkYXRhCiAgIChDQVNTQU5EUkEtODAdYcCfAAABT948slwAEGFza2VkIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmMAAAEAU0FORFJBLTUwNzQpCiAqIFJlZW5hYmxlIEFMVEVSIFRBQkxFIERST1Agd2l0aCBuZXcgc2VtYW50aWNzIChDQVNTQU5EUkEtMzkxOSkKICogQWRkIGJpbmFyeSBwcm90b2NvbCB2ZXJzaW9uaW5nIChDQVNTQU5EUkEtNTQzNikKICogU3dhcCBUSHNoYVNlcnZlciBmb3IgVFRocmVhZGVkU2VsZWN0b3JTZXJ2ZXIgKENBU1NBTkRSQS01NTMwKQogKiBBZGQgYWxpYXMgc3VwcG9ydCB0byBTRUxFQ1Qgc3RhdGVtZW50IChDQVNTQU5EUkEtNTA3NSkKICogRNNYl5kAAAFP3jyyXAAQdGVkIGF0IEVSUk9SIChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguYwAAAQBEUkEtNTAxNikKICogRml4IHByZXBhcmluZyBxdWVyaWVzIHdpdGggY291bnRlciBpbmNyZW1lbnQgKENBU1NBTkRSQS01MDIyKQogKiBGaXggcHJlcGFyaW5nIHVwZGF0ZXMgd2l0aCBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTUwMTcpCiAqIERvbid0IGdlbmVyYXRlIFVVSUQgYmFzZWQgb24gb3RoZXIgbm9kZSBhZGRyZXNzIChDQVNTQU5EUkEtNTAwMikKICogRml4IG1lc3NhZ2Ugd2hlbiB0cnlpbmcgdG8gYWx0ZXIgYSBjbHVzdGVyaW5nIGtleSB0yF3GpQAAAU/ePLJcABBlY29uZGFyeUluZGV4IExlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5jAAABACBjb3VudGVyIHVwZGF0ZXMgKENBU1NBTkRSQS03Nzk4KQpNZXJnZWQgZnJvbSAxLjI6CiAqIERvbid0IGFsbG93IGNvbXBhY3RlZCBzc3RhYmxlcyB0byBiZSBtYXJrZWQgYXMgY29tcGFjdGluZyAoQ0FTU0FORFJBLTcxNDUpCiAqIFRyYWNrIGV4cGlyZWQgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTc4MTApCgoKMi4xLjAtcmM2CiAqIEZpeCBPT00gaXNzdWUgZnJvbSBuZXR0eSBjYWNoaW5nIG92ZXIgdGltZSAoQ0FTU0FORFJBLTc3NDMpCiAqIGpzb24h0xdjAAABT948slwAEAogKiBGaXggcGFnaW5nIHcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmMAAAEAKENBU1NBTkRSQS01ODIzKQogKiAoSGFkb29wKSBmaXggc3VwcG9ydCBmb3IgVGhyaWZ0IHRhYmxlcyBpbiBDcWxQYWdpbmdSZWNvcmRSZWFkZXIgCiAgIChDQVNTQU5EUkEtNTc1MikKICogYWRkICJhbGwgdGltZSBibG9ja2VkIiB0byBTdGF0dXNMb2dnZXIgb3V0cHV0IChDQVNTQU5EUkEtNTgyNSkKICogRnV0dXJlLXByb29mIGludGVyLW1ham9yLXZlcnNpb24gc2NoZW1hIG1pZ3JhdGlvbnMgKENBU1NBTkRSQS01ODQ1KQogKiAoSGFkb29wKSBhZPMUuTEAAAFP3jyyXAAQMDE5KQogKiByZWplY3QgZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguYwAAAQBmIENPUFkgb3BlcmF0aW9ucyAoQ0FTU0FORFJBLTc3ODkpCiAqIEFkZCBzeW50YXggdG8gcmVtb3ZlIG11bHRpcGxlIGVsZW1lbnRzIGZyb20gYSBtYXAgKENBU1NBTkRSQS02NTk5KQogKiBTdXBwb3J0IG5vbi1lcXVhbHMgY29uZGl0aW9ucyBpbiBsaWdodHdlaWdodCB0cmFuc2FjdGlvbnMgKENBU1NBTkRSQS02ODM5KQogKiBBZGQgSUYgW05PVF0gRVhJU1RTIHRvIGNyZWF0ZS9kcm9wIHRyaWdnZXJzIChDQVNTQU5EUkEtNzYwNikKICogKGNxbHNowTQd0gAWFHsgAp3FAAABT948slwAEGFjdGlvblRocm91Z2hwdXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmUAAAEAdG8gR0NJbnNwZWN0b3IgbG9ncyAoQ0FTU0FORFJBLTE1NTgpCiAqIGVuYWJsZS9kaXNhYmxlIEhpbnRlZEhhbmRvZmYgdmlhIEpNWCAoQ0FTU0FORFJBLTE1NTApCiAqIElnbm9yZSBzdHJheSBmaWxlcyBpbiB0aGUgY29tbWl0IGxvZyBkaXJlY3RvcnkgKENBU1NBTkRSQS0xNTQ3KQogKiBEaXNhbGxvdyBib290c3RyYXAgdG8gYW4gaW4tdXNlIHRva2VuIChDQVNTQU5EUkEtMTU2MSkKCgowLjctYmV0YTEKICogc3N0YWJsZSB2ZXJzaW9uaW5nIChDQQQjCpwAAAFP3jyyXAAQUkEtNTkyOCkKICogRml4IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguZQAAAQBpbmdTZXJ2aWNlIGVmZmljaWVuY3kgKENBU1NBTkRSQS0zNjE3KQogKiBBdm9pZCBJRCBjb25mbGljdHMgZnJvbSBjb25jdXJyZW50IHNjaGVtYSBjaGFuZ2VzIChDQVNTQU5EUkEtMzc5NCkKICogU2V0IHRocmlmdCBIU0hBIHNlcnZlciB0aHJlYWQgbGltaXQgdG8gdW5saW1pdGVkIGJ5IGRlZmF1bHQgKENBU1NBTkRSQS00Mjc3KQogKiBBdm9pZHMgZG91YmxlIHNlcmlhbGl6YXRpb24gb2YgQ0YgaWQgaW4gUm93TXV0YXRpb24gbWVzc2FnZXMKICAgBQS5fwAAAU/ePLJcABBzdHJlc3MgcHJvZmlsZSAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5lAAABACogZml4IGVycm9ycyBpbiBoYXJkLWNvZGVkIGJsb29tIGZpbHRlciBvcHRLUGVyQnVja2V0IGJ5IGNvbXB1dGluZyBpdAogICBhbGdvcml0aG1pY2FsbHkgKENBU1NBTkRSQS0xMjIwCiAqIHJlbW92ZSBtZXNzYWdlIGRlc2VyaWFsaXphdGlvbiBzdGFnZSwgYW5kIHVuY2FwIHJlYWQvd3JpdGUgc3RhZ2VzCiAgIHNvIHNsb3cgcmVhZHMvd3JpdGVzIGRvbid0IGJsb2NrIGdvc3NpcCBwcm9jZXNzaW5nIChDQVNTQU5EUkEtMTM1OCkKICogYWRkIGpteCA1HQyEAAABT948slwAEGxlcyAoQ0FTU0FORFJBLTcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmUAAAEAbGxvdyBjb3VudGVyIG11dGF0aW9ucyBpbiBVTkxPR0dFRCBiYXRjaGVzIChDQVNTQU5EUkEtNzM1MSkKICogTW9kaWZ5IHJlY29uY2lsZSBsb2dpYyB0byBhbHdheXMgcGljayBhIHRvbWJzdG9uZSBvdmVyIGEgY291bnRlciBjZWxsCiAgIChDQVNTQU5EUkEtNzM0NikKICogQXZvaWQgaW5jcmVtZW50YWwgY29tcGFjdGlvbiBvbiBXaW5kb3dzIChDQVNTQU5EUkEtNzM2NSkKICogRml4IGV4Y2VwdGlvbiB3aGVuIHF1ZXJ5aW5nIGEgY29tcG9zaXRlLU6xocwAAAFP3jyyXAAQRFJBLTM4NzQpCiAqIGFkZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguZQAAAQByZW1lbnQgZm9yIHNzdGFibGUgZmlsZXMgd2hlbiB1cGdyYWRpbmcgb24gCiAgIG5vbi1XaW5kb3dzIHBsYXRmb3JtcyAoQ0FTU0FORFJBLTQxMTApCiAqIGZpeCB0ZXJtaW5pbmF0aW9uIG9mIHRoZSBzdHJlc3MuamF2YSB3aGVuIGVycm9ycyB3ZXJlIGVuY291bnRlcmVkCiAgIChDQVNTQU5EUkEtNDEyOCkKICogTW92ZSBDZkRlZiBhbmQgS3NEZWYgdmFsaWRhdGlvbiBvdXQgb2YgdGhyaWZ0IChDQVNTQU5EUkEtNDAzNykKICogRml4IGdldF9wYWdldLbaPwAAAU/ePLJcABBzdGFibGVzUGVyUmVhZEhpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5lAAABACBvZiB0aGUgTEVGVCBnb3NzaXAgdmFsdWUgKENBU1NBTkRSQS01Njk2KQogKiBQaWc6IHN1cHBvcnQgZm9yIGNxbDMgdGFibGVzIChDQVNTQU5EUkEtNTIzNCkKICogRml4IHNraXBwaW5nIHJhbmdlIHRvbWJzdG9uZXMgd2l0aCByZXZlcnNlIHF1ZXJpZXMgKENBU1NBTkRSQS01NzEyKQogKiBFeHBpcmUgZW50cmllcyBvdXQgb2YgVGhyaWZ0U2Vzc2lvbk1hbmFnZXIgKENBU1NBTkRSQS01NzE5KQogKiBEb24ndCBrZWVwIGFuY2VzdG9yIGluZm9ybWFTmpEpAAABT948slwAEHF1ZXVlX3NpemUgZGVmYXUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmUAAAEARFJBLTQ0OTUpCiAqIEFkZHMgbmV3IFRpbWVzdGFtcFR5cGUgdG8gcmVwbGFjZSBEYXRlVHlwZSAoQ0FTU0FORFJBLTU3MjMsIENBU1NBTkRSQS01NzI5KQpNZXJnZWQgZnJvbSAxLjI6CiAqIG1ha2Ugc3RhcnRpbmcgbmF0aXZlIHByb3RvY29sIHNlcnZlciBpZGVtcG90ZW50IChDQVNTQU5EUkEtNTcyOCkKICogRml4IGxvYWRpbmcga2V5IGNhY2hlIHdoZW4gYSBzYXZlZCBlbnRyeSBpcyBubyBsb25nZXIgdmFsaWQgKENBU1NBTkRSQS01NzA2KQogKpnWhQQAAAFP3jyyXAAQIGFzc2VydGlvbiBpbiBtZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguZQAAAQBzcG9ydEZhY3RvcnkgKENBU1NBTkRSQS02NjQxKQogKiBGaXggSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIGR1cmluZyBwcmVwYXJlIChDQVNTQU5EUkEtNjU5MikKICogRml4IHBvc3NpYmxlIGxvc3Mgb2YgMm5kYXJ5IGluZGV4IGVudHJpZXMgZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS02NTE3KQogKiBGaXggZGlyZWN0IE1lbW9yeSBvbiBhcmNoaXRlY3R1cmVzIHRoYXQgZG8gbm90IHN1cHBvcnQgdW5hbGlnbmVkIGxvbmcgYWNjZXNzCiAgVoel0AAAAU/ePLJcABBpbiAwLjQgaXMgYXQgaHR0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5lAAABAGUgcGFydGl0aW9uCiAgIGtleSBwYXJhbWV0ZXIgKENBU1NBTkRSQS02NDU4KQogKiBEb24ndCBjaGVjayBvdGhlciBrZXlzcGFjZXMgZm9yIHNjaGVtYSBjaGFuZ2VzIHdoZW4gYW4gdXNlci1kZWZpbmVkCiAgIHR5cGUgaXMgYWx0ZXJlZCAoQ0FTU0FORFJBLTkxODcpCiAqIEFsbG93IHRha2VDb2x1bW5GYW1pbHlTbmFwc2hvdCB0byB0YWtlIGEgbGlzdCBvZiB0YWJsZXMgKENBU1NBTkRSQS04MzQ4KQogKiBMaW1pdCBtYWpvciBzc3RhYmxlIG9wZXI2gmljAAABT948slwAEChDQVNTQU5EUkEtMjQ5MikAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmUAAAEAICB0byB0b3AgbGV2ZWwgc3VwZXJjb2x1bW5zIiAoQ0FTU0FORFJBLTgzNCkKICogU3RyZWFtaW5nIGRlc3RpbmF0aW9uIG5vZGVzIGRvIG5vdCB1cGRhdGUgdGhlaXIgSk1YIHN0YXR1cyAoQ0FTU0FORFJBLTkxNikKICogRml4IGludGVybmFsIFJQQyB0aW1lb3V0IGNhbGN1bGF0aW9uIChDQVNTQU5EUkEtOTExKQogKiBBZGRlZCBQaWcgbG9hZGZ1bmMgdG8gY29udHJpYi9waWcgKENBU1NBTkRSQS05MTApCgoKMC42LjAtYmV0YTMKICogZml4IGNvbQL266gAAAFP3jyyXAAQIChDQVNTQU5EUkEtNzczMAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguZQAAAQBDQVNTQU5EUkEtNTM1NCkKICogRml4IHRyYW5zcG9zZWQgYXJndW1lbnRzIGluIEFscmVhZHlFeGlzdHNFeGNlcHRpb24gKENBU1NBTkRSQS01MzYyKQogKiBJbXByb3ZlIGFzeW5jaHJvbm91cyBoaW50IGRlbGl2ZXJ5IChDQVNTQU5EUkEtNTE3OSkKICogRml4IEd1YXZhIGRlcGVuZGVuY3kgdmVyc2lvbiAoMTIuMCAtPiAxMy4wLjEpIGZvciBNYXZlbiAoQ0FTU0FORFJBLTUzNjQpCiAqIFZhbGlkYXRlIHRoYXQgcHJvdmlkZWQgQ1FMMyBjb2xsZWN0Z2SqRAAAAU/ePLJcABBkZXMgKENBU1NBTkRSQS02AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5lAAABAGVsZXRpb25zIG9mZiBvZiBzY2hlZHVsZWR0YXNrcyBleGVjdXRvciAoQ0FTU0FORFJBLTIyNTMpCgoKMC43LjIKICogY29weSBEZWNvcmF0ZWRLZXkua2V5IHdoZW4gaW5zZXJ0aW5nIGludG8gY2FjaGVzIHRvIGF2b2lkIHJldGFpbmluZwogICBhIHJlZmVyZW5jZSB0byB0aGUgdW5kZXJseWluZyBidWZmZXIgKENBU1NBTkRSQS0yMTAyKQogKiBmb3JtYXQgc3ViY29sdW1uIG5hbWVzIHdpdGggc3ViY29tcGFyYXRvciAoQ0FTU0FORFJBLTIxMzYpCiA0PDEwAAABT948slwAEC4wIGFuZCB1cGRhdGUgQ1EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmUAAAEAKQogKiBkb24ndCBhbGxvdyBhcmJpdHJhcnkgYXJndW1lbnQgZm9yIHN0cmVzcy5qYXZhIChDQVNTQU5EUkEtMjMyMykKICogdmFsaWRhdGUgdmFsdWVzIGZvciBpbmRleCBwcmVkaWNhdGVzIGluIGdldF9pbmRleGVkX3NsaWNlIChDQVNTQU5EUkEtMjMyOCkKICogcXVldWUgc2Vjb25kYXJ5IGluZGV4ZXMgZm9yIGZsdXNoIGJlZm9yZSB0aGUgcGFyZW50IChDQVNTQU5EUkEtMjMzMCkKICogYWxsb3cgam9iIGNvbmZpZ3VyYXRpb24gdG8gc2V0IHRoZafsi4gAAAFP3jyyXAAQbGluZyBvdGhlcndpc2UgZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguZQAAAQBzIChDQVNTQU5EUkEtNTIxNikKICogSW1wcm92ZSBoYW5kbGluZyBvZiBkaXJlY3RvcnkgY3JlYXRpb24gZmFpbHVyZXMgKENBU1NBTkRSQS01MTk2KQogKiBFeHBvc2Ugc2Vjb25kYXJ5IGluZGljaWVzIHRvIHRoZSByZXN0IG9mIG5vZGV0b29sIChDQVNTQU5EUkEtNDQ2NCkKICogQmluYXJ5IHByb3RvY29sOiBhdm9pZCBzZW5kaW5nIG5vdGlmaWNhdGlvbiBmb3IgMC4wLjAuMCAoQ0FTU0FORFJBLTUyMjcpCiAqIGFkZCBVc2VDb25kQ2FyZE1hcmsgpBDyMgAAAU/ePLJcABBGaXggdHJhY2luZyBvbiB0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5lAAABAHRvIG1ha2UgQmluYXJ5TWVtdGFibGUgW2J1bGsgbG9hZCBpbnRlcmZhY2VdIHVzZWZ1bCAoQ0FTU0FORFJBLTMzNyk7CiAgIHNlZSBjb250cmliL2JtdF9leGFtcGxlIGZvciBhbiBleGFtcGxlIG9mIHVzaW5nIGl0LgogKiBNb3JlIEpNWCBwcm9wZXJ0aWVzIGFkZGVkIChzZXZlcmFsIHRpY2tldHMpCiAqIFRocmlmdCBjaGFuZ2VzIChzZXZlcmFsIHRpY2tldHMpCiAgICAtIE1lcmdlZCBfc3VwZXIgZ2V0IG1ldGhvZHMgd2l0aCB0aGUgbm9ybWFsIG9r02QzABYo2DN030cAAAFP3jyyXAAQcG9ydCAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguZwAAAQByZSAoQ0FTU0FORFJBLTcyNTQpCiAqIEZpeCByYWNlIGluIEZpbGVDYWNoZVNlcnZpY2UgUmVtb3ZhbExpc3RlbmVyIChDQVNTQU5EUkEtNzI3OCkKICogRml4IGluY29uc2lzdGVudCB1c2Ugb2YgY29uc2lzdGVuY3lGb3JDb21taXQgdGhhdCBhbGxvd2VkIExPQ0FMX1FVT1JVTQogICBvcGVyYXRpb25zIHRvIGluY29ycmVjdCBiZWNvbWUgZnVsbCBRVU9SVU0gKENBU1NBTkRSQS03MzQ1KQogKiBQcm9wZXJseSBoYW5kbGUgdW5yZWNvZ25pemVkIG9wXhoOBAAAAU/ePLJcABBORFJBLTEyNzYpCiAqIGtlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5nAAABAChDQVNTQU5EUkEtMjYyNykKICogdmFsaWRhdGUga2V5c3BhY2Ugc3RyYXRlZ3lfb3B0aW9ucyBkdXJpbmcgQ1FMIGNyZWF0ZSAoQ0FTU0FORFJBLTI2MjQpCiAqIGZpeCBlbXB0eSBSZXN1bHQgd2l0aCBzZWNvbmRhcnkgaW5kZXggd2hlbiBsaW1pdD0xIChDQVNTQU5EUkEtMjYyOCkKICogRml4IHJlZ3Jlc3Npb24gd2hlcmUgYm9vdHN0cmFwcGluZyBhIG5vZGUgd2l0aCBubyBzY2hlbWEgZmFpbHMKICAgKENBU1NBTkRSQS0yNjI1KQogKiBBbGxvdyDFB8vkAAABT948slwAEDIpCiAqIEltcHJvdmUgZ28AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmcAAAEAaXNjYXJkIChDQVNTQU5EUkEtODUzKQogKiBGaXggaGFyZGNvZGVkIHJvdyBjb3VudCBpbiBIYWRvb3AgUmVjb3JkUmVhZGVyIChDQVNTQU5EUkEtODM3KQogKiBBZGQgYSBqbXggc3RhdHVzIHRvIHRoZSBzdHJlYW1pbmcgc2VydmljZSBhbmQgY2hhbmdlIHNldmVyYWwgREVCVUcKICAgbWVzc2FnZXMgdG8gSU5GTyAoQ0FTU0FORFJBLTg0NSkKICogZml4IGNsYXNzcGF0aCBpbiBjYXNzYW5kcmEtY2xpLmJhdCBmb3IgV2luZG93cyAoQ0FTU0FORFJBLfXDuD0AAAFP3jyyXAAQZwogICBnZXRzIGJlaGluZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguZwAAAQBYIG5vdGlmaWNhdGlvbiBmYWlsdXJlIGZvciByZXBhaXIgKENBU1NBTkRSQS02MDk3KQogKiAoSGFkb29wKSBGZXRjaCBubyBtb3JlIHRoYW4gMTI4IHNwbGl0cyBpbiBwYXJhbGxlbCAoQ0FTU0FORFJBLTYxNjkpCiAqIHN0cmVzczogYWRkIHVzZXJuYW1lL3Bhc3N3b3JkIGF1dGhlbnRpY2F0aW9uIHN1cHBvcnQgKENBU1NBTkRSQS02MDY4KQogKiBGaXggaW5kZXhlZCBxdWVyaWVzIHdpdGggcm93IGNhY2hlIGVuYWJsZWQgb24gcGFyZW50IHRhYmxlNN8MAAAAAU/ePLJcABBhdGVkIHRyaWdnZXIgaXNzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5nAAABAHQgc3RhcnR1cCAoQ0FTU0FORFJBLTMyOTEpCiAqIHVzZSBjb3JyZWN0IElTb3J0ZWRDb2x1bW5zIGZvciB0aW1lLW9wdGltaXplZCByZWFkcyAoQ0FTU0FORFJBLTMyODkpCiAqIEV2aWN0IGdvc3NpcCBzdGF0ZSBpbW1lZGlhdGVseSB3aGVuIGEgdG9rZW4gaXMgdGFrZW4gb3ZlciBieSBhIG5ldyBJUCAKICAgKENBU1NBTkRSQS0zMjU5KQoKCjEuMC4wLXJjMQogKiBVcGRhdGUgQ1FMIHRvIGdlbmVyYXRlIG1pY3Jvc2Vjb25kIHRpbWVzdGFtcHMgYnl3pICEAAABT948slwAEENBU1NBTkRSQS02MjkzKQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmcAAAEARml4IG92ZXJmbG93IG9uIGhpc3RvZ3JhbSBjb21wdXRhdGlvbiAoQ0FTU0FORFJBLTgwMjgpCiAqIEhhdmUgcGF4b3MgcmV1c2UgdGhlIHRpbWVzdGFtcCBnZW5lcmF0aW9uIG9mIG5vcm1hbCBxdWVyaWVzIChDQVNTQU5EUkEtNzgwMSkKICogRml4IGluY3JlbWVudGFsIHJlcGFpciBub3QgcmVtb3ZlIHBhcmVudCBzZXNzaW9uIG9uIHJlbW90ZSAoQ0FTU0FORFJBLTgyOTEpCiAqIEltcHJvdmUgSkJPRCBkaXNrIHV0aWxpemF0aW9uIChDQVNTQU5EUpxtF6EAAAFP3jyyXAAQUGlnJ3Mgd2lkZXJvdyBtbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguZwAAAQBlIChDQVNTQU5EUkEtNDkwNikKICogTW92ZSBDb21wcmVzc2lvbk1ldGFkYXRhIG9mZi1oZWFwIChDQVNTQU5EUkEtNDkzNykKICogYWxsb3cgQ0xJIHRvIEdFVCBjcWwzIGNvbHVtbmZhbWlseSBkYXRhIChDQVNTQU5EUkEtNDkyNCkKICogRml4IHJhcmUgcmFjZSBjb25kaXRpb24gaW4gZ2V0RXhwaXJlVGltZUZvckVuZHBvaW50IChDQVNTQU5EUkEtNDQwMikKICogYWNxdWlyZSByZWZlcmVuY2VzIHRvIG92ZXJsYXBwaW5nIHNzdGFibGVzIGR1cmluYrHCRwAAAU/ePLJcABBSQS05MTQ4LCBDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5nAAABAHIga2V5cyB3aGVuIGZyZWV6aW5nIGNvbGxlY3Rpb24gKENBU1NBTkRSQS03ODY5KQogKiBJbXByb3ZlIHN0cmVzcyB3b3JrbG9hZCByZWFsaXNtIChDQVNTQU5EUkEtNzUxOSkKCgoyLjEuMC1yYzcKICogQWRkIGZyb3plbiBrZXl3b3JkIGFuZCByZXF1aXJlIFVEVCB0byBiZSBmcm96ZW4gKENBU1NBTkRSQS03ODU3KQogKiBUcmFjayBhZGRlZCBzc3RhYmxlIHNpemUgY29ycmVjdGx5IChDQVNTQU5EUkEtNzIzOSkKICogKGNxbHNoKSBGaXggY2FzZSD8DQwiAAABT948slwAEC04NTUwKQogKiBGaXggcG8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmcAAAEAb19saXZlIG9uIHRhYmxlcyB3aXRoIGNvdW50ZXJzCiAgIChDQVNTQU5EUkEtODY3OCkKICogRml4IFNTVGFibGVTaW1wbGVVbnNvcnRlZFdyaXRlciBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uCiAgIChDQVNTQU5EUkEtODYxOSkKICogUm91bmQgdXAgdGltZSBkZWx0YXMgbG93ZXIgdGhhbiAxbXMgaW4gQnVsa0xvYWRlciAoQ0FTU0FORFJBLTg2NDUpCiAqIEFkZCBiYXRjaCByZW1vdmUgaXRlcmF0b3IgdG8gQUJTQyAoQ0FTU0FORFJBLSl2kp8AAAFP3jyyXAAQdGxvZyByZXBsYXkgZm9yIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguZwAAAQB0ZWQgdG8gdXNlIG5vbi1jYWNoZS1wb2xsdXRpbmcgd3JpdGVzIChDQVNTQU5EUkEtMjA1MykKICogcGFnZSB0aHJvdWdoIGxhcmdlIHJvd3Mgd2hlbiBleHBvcnRpbmcgdG8gSlNPTiAoQ0FTU0FORFJBLTIwNDEpCiAqIGFkZCBmbHVzaF9sYXJnZXN0X21lbXRhYmxlc19hdCBhbmQgcmVkdWNlX2NhY2hlX3NpemVzX2F0IG9wdGlvbnMKICAgKENBU1NBTkRSQS0yMTQyKQogKiBhZGQgY2xpICdkZXNjcmliZSBjbHVzdGVyJyBjb21tYW5kIChDQVNTQU5EgW7smAAAAU/ePLJcABB5IGNhY2hlIGhpdCAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5nAAABAGhlbiBvcGVyYXRpb24gY29tcGxldGVzIGJlZm9yZSBhbGwgcmVzcG9uc2VzIGFycml2ZSAKICAgKENBU1NBTkRSQS01NjY4KQogKiBGaXggY3Jvc3MtREMgbXV0YXRpb24gZm9yd2FyZGluZyAoQ0FTU0FORFJBLTU2MzIpCiAqIFJlZHVjZSBTU1RhYmxlTG9hZGVyIG1lbW9yeSB1c2FnZSAoQ0FTU0FORFJBLTU1NTUpCiAqIFNjYWxlIGhpbnRlZF9oYW5kb2ZmX3Rocm90dGxlX2luX2tiIHRvIGNsdXN0ZXIgc2l6ZSAoQ0FTU0FORFJBLTUyNzIpCiAqICg6L7daAAABT948slwAEHN1ZmZpY2llbnQKICAgbGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmcAAAEAZS1lbmFibGUgdW5rbm93biBvcHRpb24gaW4gcmVwbGljYXRpb24vY29tcGFjdGlvbiBzdHJhdGVnaWVzIG9wdGlvbiBmb3IKICAgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAoQ0FTU0FORFJBLTQ3OTUpCiAqIEFkZCBiaW5hcnkgcHJvdG9jb2wgc3VwcG9ydCB0byBzdHJlc3MgKENBU1NBTkRSQS00OTkzKQogKiBjcWxzaDogRml4IENPUFkgRlJPTSB2YWx1ZSBxdW90aW5nIGFuZCBudWxsIGhhbmRsaW5nIChDQVNTQU5EUkEtNTMwNSkKICogRml4IHJlcIQptSYAAAFP3jyyXAAQICogYWRkIENSQzMyIHRvIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguZwAAAQA0KQogKiBGaXggcmFyZSByYWNlIGNvbmRpdGlvbiBpbiBnZXRFeHBpcmVUaW1lRm9yRW5kcG9pbnQgKENBU1NBTkRSQS00NDAyKQogKiBhY3F1aXJlIHJlZmVyZW5jZXMgdG8gb3ZlcmxhcHBpbmcgc3N0YWJsZXMgZHVyaW5nIGNvbXBhY3Rpb24gc28gYmxvb20gZmlsdGVyCiAgIGRvZXNuJ3QgZ2V0IGZyZWUnZCBwcmVtYXR1cmVseSAoQ0FTU0FORFJBLTQ5MzQpCiAqIERvbid0IHNoYXJlIHNsaWNlIHF1ZXJ5IGZpbHRlciBpbiBDUUwzIFNlbGVjdFN0Zn6g6AAAAU/ePLJcABBSQS0yODQxKQogKiBmaXggAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5nAAABAGxsZWN0aW9ucyAoQ0FTU0FORFJBLTU4NjcpCiAqIFBhc3MgdGhlIHVwZGF0ZWQgY2YgdG8gdGhlIFBSU0kgaW5kZXgoKSBtZXRob2QgKENBU1NBTkRSQS01OTk5KQogKiBBbGxvdyBlbXB0eSBDUUwzIGJhdGNoZXMgKGFzIG5vLW9wKSAoQ0FTU0FORFJBLTU5OTQpCiAqIFN1cHBvcnQgbnVsbCBpbiBDUUwzIGZ1bmN0aW9ucyAoQ0FTU0FORFJBLTU5MTApCiAqIFJlcGxhY2UgdGhlIGRlcHJlY2F0ZWQgTWFwTWFrZXIgd2l0aCBDYWNoZUxvYWRlciAoQ0ErPLshAAABT948slwAEGVsZXRpb25zIG9mZiBvZiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmcAAAEAcnkgaW5kZXggY3JlYXRpb24gYW5kIGRlc3RydWN0aW9uIChDQVNTQU5EUkEtMTUzMikKICogbG9nIGF1dG8tZ3Vlc3NlZCBtZW10YWJsZSB0aHJlc2hvbGRzIChDQVNTQU5EUkEtMTU5NSkKICogYWRkIENvbHVtbkRlZiBzdXBwb3J0IHRvIGNsaSAoQ0FTU0FORFJBLTE1ODMpCiAqIHJlZHVjZSBpbmRleCBzYW1wbGUgdGltZSBieSA3NSUgKENBU1NBTkRSQS0xNTcyKQogKiBhZGQgY2xpIHN1cHBvcnQgZm9yIGNvbHVtbiwgc3RyYXRlZ3kgbWV0YWRhdPHTUUoAFj01D1hU6gAAAU/ePLJcABA2OSkKICogU1NUYWJsZUV4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5qAAABAChDQVNTQU5EUkEtMTUyMywtMTUyNCkKICogbWFrZSBub2RldG9vbCBjb21wYWN0IGFuZCBjbGVhbnVwIGJsb2NraW5nIChDQVNTQU5EUkEtMTQ0OSkKICogYWRkIG1lbXRhYmxlLCBjYWNoZSBpbmZvcm1hdGlvbiB0byBHQ0luc3BlY3RvciBsb2dzIChDQVNTQU5EUkEtMTU1OCkKICogZW5hYmxlL2Rpc2FibGUgSGludGVkSGFuZG9mZiB2aWEgSk1YIChDQVNTQU5EUkEtMTU1MCkKICogSWdub3JlIHN0cmF5IGZpbGVzIGluIHRoZSBjb21taXQgbG9nIGTz98XcAAABT948slwAEGQgYXQgRVJST1IgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmoAAAEAdmEgKENBU1NBTkRSQS0zMDY0KQogKiBBZGQgImluc3RhbGwiIGNvbW1hbmQgdG8gY2Fzc2FuZHJhLmJhdCAoQ0FTU0FORFJBLTI5MikKICogY2xlYW4gdXAgS1NNZXRhZGF0YSwgQ0ZNZXRhZGF0YSBmcm9tIHVubmVjZXNzYXJ5CiAgIFRocmlmdDwtPkF2cm8gY29udmVyc2lvbiBtZXRob2RzIChDQVNTQU5EUkEtMzAzMikKICogQWRkIHRpbWVvdXRzIHRvIGNsaWVudCByZXF1ZXN0IHNjaGVkdWxlcnMgKENBU1NBTkRSQS0zMDc5LCAzMDk2KQogKiBDbByhUDEAAAFP3jyyXAAQbGl6YXRpb24gaW4gTm9kZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguagAAAQAtMzIwMSkKICogQWxsb3cgdXNpbmcgcXVvdGVzIGluICJVU0UgPGtleXNwYWNlPjsiIENMSSBjb21tYW5kIChDQVNTQU5EUkEtMzIwOCkKICogTG9nIG1lc3NhZ2Ugd2hlbiBhIGZ1bGwgcmVwYWlyIG9wZXJhdGlvbiBjb21wbGV0ZXMgKENBU1NBTkRSQS0zMjA3KQogKiBEb24ndCBhbGxvdyBhbnkgY2FjaGUgbG9hZGluZyBleGNlcHRpb25zIHRvIGhhbHQgc3RhcnR1cCAoQ0FTU0FORFJBLTMyMTgpCiAqIEZpeCBzc3RhYmxlbG9hZGVyIC0taWdub3JlL09s+AAAAU/ePLJcABBpcwogICBleHBsaWNpdGx5AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5qAAABAHRlIG5vdygpIGZ1bmN0aW9uIGF0IGV4ZWN1dGlvbiB0aW1lIChDQVNTQU5EUkEtNTYxNikKICogRXhwb3NlIGRldGFpbGVkIHJlYWQgcmVwYWlyIG1ldHJpY3MgKENBU1NBTkRSQS01NjE4KQogKiBDb3JyZWN0IGJsb2IgbGl0ZXJhbCArIFJldmVyc2VkVHlwZSBwYXJzaW5nIChDQVNTQU5EUkEtNTYyOSkKICogQWxsb3cgR1BGUyB0byBwcmVmZXIgdGhlIGludGVybmFsIElQIGxpa2UgRUMyTVJTIChDQVNTQU5EUkEtNTYzMCkKICogZml4IGhlbHAgdGXvreO8AAABT948slwAEGRhdGUgb2YgdGhlIENvbHUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmoAAAEAIHR5cGUgY29ycmVjdGx5IChDQVNTQU5EUkEtNDQ0MSkKICogKGNxbDMpIEFsbG93IGRlZmluaXRpb25zIHdpdGggb25seSBhIFBLIChDQVNTQU5EUkEtNDM2MSkKICogKGNxbDMpIEFkZCBzdXBwb3J0IGZvciByb3cga2V5IGNvbXBvc2l0ZXMgKENBU1NBTkRSQS00MTc5KQogKiBpbXByb3ZlIER5bmFtaWNFbmRwb2ludFNuaXRjaCBieSB1c2luZyByZXNlcnZvaXIgc2FtcGxpbmcgKENBU1NBTkRSQS00MDM4KQogKiAoY3FsMykgQWRkIHN1cHBvcnQgZmIYsuMAAAFP3jyyXAAQYmxlIGNvbXBvbmVudHMgKAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguagAAAQBpbmlzaGVkIGNvbXBhY3Rpb24gZmlsZXMgYXJlIHJlbW92ZWQgKENBU1NBTkRSQS04MTI0KQogKiBGaXggc2h1dGRvd24gd2hlbiBydW4gYXMgV2luZG93cyBzZXJ2aWNlIChDQVNTQU5EUkEtODEzNikKICogRml4IERFU0NSSUJFIFRBQkxFIHdpdGggY3VzdG9tIGluZGV4ZXMgKENBU1NBTkRSQS04MDMxKQogKiBGaXggcmFjZSBpbiBSZWNvdmVyeU1hbmFnZXJUZXN0IChDQVNTQU5EUkEtODE3NikKICogQXZvaWQgSWxsZWdhbEFyZ3VtZW50RXhjZXB0hVwYrwAAAU/ePLJcABBhbmRyYS1zdHJlc3MgYW5kAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5qAAABAAogKiBFbnN1cmUgY29tcGFjdGVkIGZpbGVzIGFyZSBuZXZlciB1c2VkLCB0byBhdm9pZCBjb3VudGVyIG92ZXJjb3VudCAoQ0FTU0FORFJBLTQ0MzYpCk1lcmdlZCBmcm9tIDEuMDoKICogUHVzaCB0aGUgdmFsaWRhdGlvbiBvZiBzZWNvbmRhcnkgaW5kZXggdmFsdWVzIHRvIHRoZSBTZWNvbmRhcnlJbmRleE1hbmFnZXIgKENBU1NBTkRSQS00MjQwKQogKiBhbGxvdyBkcm9wcGluZyBjb2x1bW5zIHNoYWRvd2VkIGJ5IG5vdC15ZXQtZXhwaXJlZCBzdXAGENu4AAABT948slwAEGxzZSBpbmRpY2F0aW9uIHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmoAAAEAIHJlbW92ZWQKICAgKENBU1NBTkRSQS0zMjY5KQogKiB0b2xlcmF0ZSB3aGl0ZXNwYWNlIGluIHNlZWQgQ0RMIChDQVNTQU5EUkEtMzI2MykKICogQ2hhbmdlIGRlZmF1bHQgaGVhcCB0aHJlc2hvbGRzIHRvIG1heChtaW4oMS8yIHJhbSwgMUcpLCBtaW4oMS80IHJhbSwgOEdCKSkKICAgKENBU1NBTkRSQS0zMjk1KQogKiBGaXggYnJva2VuIENvbXByZXNzZWRSYW5kb21BY2Nlc3NSZWFkZXJUZXN0IChDQVNTQU5EUkEtMzI5OCkKICogKENRTCkgZml4IOOiHCcAAAFP3jyyXAAQKQogKiBBbGxvdyBub2RldAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguagAAAQBwIHJlZmVyZW5jZXMgaW4gU2VyaWFsaXppbmdDYWNoZSAoQ0FTU0FORFJBLTY5OTQpCiAqIERvbid0IHNodXQgTWVzc2FnaW5nU2VydmljZSBkb3duIHdoZW4gcmVwbGFjaW5nIGEgbm9kZSAoQ0FTU0FORFJBLTY0NzYpCiAqIGZpeCBucGUgd2hlbiBkb2luZyAtRGNhc3NhbmRyYS5mZF9pbml0aWFsX3ZhbHVlX21zIChDQVNTQU5EUkEtNjc1MSkKCgoyLjEuMC1iZXRhMQogKiBBZGQgZmx1c2ggZGlyZWN0b3J5IGRpc3RpbmN0IGZyb20gY29tcGFjdGlvbCCPGAAAAU/ePLJcABBpY2UgaW4gdGhlIENMSSAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5qAAABAGUgZWZmZWN0IG91dCBvZiBhc3NlcnQgKENBU1NBTkRSQS04OTkpCiAqIGFkZCAiZG91YmxlIGdldExvYWQiIHRvIFN0b3JhZ2VTZXJ2aWNlTUJlYW4gKENBU1NBTkRSQS04OTgpCiAqIHRyYWNrIHJvdyBzdGF0cyBwZXIgQ0YgYXQgY29tcGFjdGlvbiB0aW1lIChDQVNTQU5EUkEtODcwKQogKiBkaXNhbGxvdyBDb21taXRMb2dEaXJlY3RvcnkgbWF0Y2hpbmcgYSBEYXRhRmlsZURpcmVjdG9yeSAoQ0FTU0FORFJBLTg4OCkKICogZGVmYXVsdCBrZXkgY2HnrqcSAAABT948slwAEHRocmVhZGVkIGNvbW1pdGwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmoAAAEAY3kgZm9yIChub24tcHJvdG9jb2wpIGJhdGNoIChDQVNTQU5EUkEtNjgzNykKICogQWRkIHBhcmFub2lkIGRpc2sgZmFpbHVyZSBvcHRpb24gKENBU1NBTkRSQS02NjQ2KQogKiBJbXByb3ZlIFBlclJvd1NlY29uZGFyeUluZGV4IHBlcmZvcm1hbmNlIChDQVNTQU5EUkEtNjg3NikKICogRXh0ZW5kIHRyaWdnZXJzIHRvIHN1cHBvcnQgQ0FTIHVwZGF0ZXMgKENBU1NBTkRSQS02ODgyKQogKiBTdGF0aWMgY29sdW1ucyB3aXRoIElGIE5PVCBFWElTVFMgZMQLaWIAAAFP3jyyXAAQJyBhc3NlcnRpb24gaW4gQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguagAAAQBEUkEtNTIyOSkKICogRml4IEVjMlNuaXRjaCByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgQ0FTU0FORFJBLTUxNzEgKENBU1NBTkRSQS01NDMyKQogKiBBZGQgbm9kZXRvb2wgZW5hYmxlYmFja3VwL2Rpc2FibGViYWNrdXAgKENBU1NBTkRSQS01NTU2KQogKiBjcWxzaDogZml4IERFU0NSSUJFIGFmdGVyIGNhc2UgaW5zZW5zaXRpdmUgVVNFIChDQVNTQU5EUkEtNTU2NykKTWVyZ2VkIGZyb20gMS4xCiAqIEFkZCByZXRyeSBtZWNoYW5pc20gdG8gT1RDBlr/QgAAAU/ePLJcABBtdWx0aV9nZXRfY291bnQKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5qAAABAERSQS01Nzk3KQogKiBBZGQgYSBuYXRpdmVfcHJvdG9jb2xfdmVyc2lvbiBjb2x1bW4gdG8gdGhlIHN5c3RlbS5sb2NhbCB0YWJsZSAoQ0FTU0FOUkRBLTU4MTkpCiAqIFVzZSBpbmRleF9pbnRlcnZhbCBmcm9tIGNhc3NhbmRyYS55YW1sIHdoZW4gdXBncmFkZWQgKENBU1NBTkRSQS01ODIyKQogKiBGaXggYnVmZmVyIHVuZGVyZmxvdyBvbiBzb2NrZXQgY2xvc2UgKENBU1NBTkRSQS01NzkyKQpNZXJnZWQgZnJvbSAxLjI6CiAqIEZpeCByZWFkaW5nIETBcH7AAAABT948slwAEGFuZGFsb25lIHNjcnViYmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILmoAAAEAZmluaXNoZXMgKENBU1NBTkRSQS0yNDM1KQogKiBkaXNwbGF5IHZhbGlkYXRpb25fY2xhc3MgaW4gQ0xJICdkZXNjcmliZSBrZXlzcGFjZScgKENBU1NBTkRSQS0yNDQyKQogKiBtYWtlIGNsZWFudXAgY29tcGFjdGlvbnMgY2xlYW51cCB0aGUgcm93IGNhY2hlIChDQVNTQU5EUkEtMjQ1MSkKICogYWRkIGNvbHVtbiBmaWVsZHMgdmFsaWRhdGlvbiB0byBzY3J1YiAoQ0FTU0FORFJBLTI0NjApCiAqIHVzZSA2NEtCIGZsdXNoIGJ1ZmZlciBpbnN0ZWFkIH4I1vAAAAFP3jyyXAAQTkRSQS0xOTc2KQogKiBmaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguagAAAQBORFJBLTUyMjkpCiAqIEZpeCBFYzJTbml0Y2ggcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5IENBU1NBTkRSQS01MTcxIChDQVNTQU5EUkEtNTQzMikKICogQWRkIG5vZGV0b29sIGVuYWJsZWJhY2t1cC9kaXNhYmxlYmFja3VwIChDQVNTQU5EUkEtNTU1NikKICogY3Fsc2g6IGZpeCBERVNDUklCRSBhZnRlciBjYXNlIGluc2Vuc2l0aXZlIFVTRSAoQ0FTU0FORFJBLTU1NjcpCk1lcmdlZCBmcm9tIDEuMQogKiBBZGQgcmV0cnkgbWVjaGFuaXNtIHRvIE9UhufV9wAWUZLmViw7AAABT948slwAEAogKiBzZXQgREVGQVVMVF8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILm0AAAEAMDMpCiAqIGFsbG93IHNldHRpbmcgdGhlIGxvZ2dpbmcgbGV2ZWwgYXQgcnVudGltZSB2aWEgbWJlYW4gKENBU1NBTkRSQS00MDIpCiAqIGNoYW5nZSBkZWZhdWx0IGNvbXBhcmF0b3IgdG8gQnl0ZXNUeXBlIChDQVNTQU5EUkEtNDAwKQogKiBhZGQgZm9yd2FyZHMtY29tcGF0aWJsZSBDb25zaXN0ZW5jeUxldmVsIHBhcmFtZXRlciB0byBnZXRfa2V5X3JhbmdlCiAgIChDQVNTQU5EUkEtMzIyKQogKiByL20gc3BlY2lhbCBjYXNlIG9mIGJsb2NraW5nIL7v9e0AAAFP3jyyXAAQbnB1dFN0cmVhbSAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgubQAAAQBwb3J0IChDQVNTQU5EUkEtNTA4MCkKICogRml4IGZvcmNlRmx1c2ggYmVoYXZpb3IgKENBU1NBTkRSQS01MjQxKQogKiBjcWxzaDogQWRkIHVzZXJuYW1lIGF1dG9jb21wbGV0aW9uIChDQVNTQU5EUkEtNTIzMSkKICogRml4IENRTDMgY29tcG9zaXRlIHBhcnRpdGlvbiBrZXkgZXJyb3IgKENBU1NBTkRSQS01MjQwKQogKiBBbGxvdyBJTiBjbGF1c2Ugb24gbGFzdCBjbHVzdGVyaW5nIGtleSAoQ0FTU0FORFJBLTUyMzApCk1lcmdlZCBmcm9tIDEuMToKrhKTxAAAAU/ePLJcABBTIGtleXNwYWNlcyB3aXRoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5tAAABAENvbHVtblN0YXRzIG1pbi9tYXggdHJhY2tlcnMgKENBU1NBTkRSQS04MTA5KQpNZXJnZWQgZnJvbSAyLjA6CiAqIENvcnJlY3RseSBoYW5kbGUgbm9uLXRleHQgY29sdW1uIG5hbWVzIGluIGNxbDMgKENBU1NBTkRSQS04MTc4KQogKiBGaXggZGVsZXRpb24gZm9yIGluZGV4ZXMgb24gcHJpbWFyeSBrZXkgY29sdW1ucyAoQ0FTU0FORFJBLTgyMDYpCiAqIEFkZCAnbm9kZXRvb2wgc3RhdHVzZ29zc2lwJyAoQ0FTU0FORFJBLTgxMjUpCiAqIEltcHJvdmXwHebLAAABT948slwAEENBU1NBTkRSQS0yMTc2KQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILm0AAAEAQVNTQU5EUkEtMTExMykKICogZXhwb3NlIFBoaUNvbnZpY3RUaHJlc2hvbGQgKENBU1NBTkRSQS0xMDUzKQogKiBtYWtlIHJlcGFpciBvZiBSRj09MSBhIG5vLW9wIChDQVNTQU5EUkEtMTA5MCkKICogaW1wcm92ZSBkZWZhdWx0IEpWTSBHQyBvcHRpb25zIChDQVNTQU5EUkEtMTAxNCkKICogZml4IFNsaWNlUHJlZGljYXRlIHNlcmlhbGl6YXRpb24gaW5zaWRlIEhhZG9vcCBqb2JzIChDQVNTQU5EUkEtMTA0OSkKICogY2xvc2UgVGhyaWZ0IHNvY2tldJH3p0kAAAFP3jyyXAAQaXggY29tbWl0bG9nIGdldAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgubQAAAQBTU0FORFJBLTU5ODApCiAqIEF2b2lkIHNlY29uZC1ndWVzc2luZyBvdXQtb2Ytc3BhY2Ugc3RhdGUgKENBU1NBTkRSQS01NjA1KQogKiBUdW5pbmcga25vYnMgZm9yIGRlYWxpbmcgd2l0aCBsYXJnZSBibG9icyBhbmQgbWFueSBDRnMgKENBU1NBTkRSQS01OTgyKQogKiAoSGFkb29wKSBGaXggQ1FMUlcgZm9yIHRocmlmdCB0YWJsZXMgKENBU1NBTkRSQS02MDAyKQogKiBGaXggcG9zc2libGUgZGl2aWRlLWJ5LXplcm8gaW4gSEhPTSAoQ0FTU0FORFJBvre43AAAAU/ePLJcABB0byBhdm9pZCBkcm9wcGluAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5tAAABAHIgbW9yZSBzc3RhYmxlcyAoQ0FTU0FORFJBLTI1NzUpCiAqIHJlZnVzZSB0byBhcHBseSBtaWdyYXRpb25zIHdpdGggb2xkZXIgdGltZXN0YW1wcyB0aGFuIHRoZSBjdXJyZW50IAogICBzY2hlbWEgKENBU1NBTkRSQS0yNTM2KQogKiByZW1vdmUgdW5mcmFtZWQgVGhyaWZ0IHRyYW5zcG9ydCBvcHRpb24KICogaW5jbHVkZSBpbmRleGVzIGluIHNuYXBzaG90cyAoQ0FTU0FORFJBLTI1OTYpCiAqIGltcHJvdmUgaWdub3Jpbmcgb2Ygb2Jzb2xldGUgbXVDROiIAAABT948slwAEFNBTkRSQS0zMjU5KQoKCjEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILm0AAAEAZXBhaXJlZCByYW5nZXMgdG8gd2hhdCB0aGUgbm9kZXMgaGF2ZSBpbiBjb21tb24gKENBU1NBTkRSQS0xNjc0KQogKiBpbmRleCBzY2FuIHRyZWF0cyBtaXNzaW5nIGNvbHVtbnMgYXMgbm90IG1hdGNoaW5nIHNlY29uZGFyeQogICBleHByZXNzaW9ucyAoQ0FTU0FORFJBLTE3NDUpCiAqIEZpeCBtaXN1c2Ugb2YgRGF0YU91dHB1dEJ1ZmZlci5nZXREYXRhIGluIEFudGlFbnRyb3B5U2VydmljZQogICAoQ0FTU0FORFJBLTE3MjkpCiAqIGRldGVjdCBhbj03z1kAAAFP3jyyXAAQYW5kbGUgbmVnYXRpdmUgdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgubQAAAQAgKHdoaWNoIGlzIGhvdyBvdXIgc2NyaXB0cyBpbiBiaW4vIGhhdmUgYWx3YXlzIGRvbmUgaXQpCiAgIChDQVNTQU5EUkEtOTcxKQogKiBjaGFuZ2UgZ2V0X2NvdW50IHRvIHJlcXVpcmUgYSBTbGljZVByZWRpY2F0ZS4gY3JlYXRlIG11bHRpX2dldF9jb3VudAogICAoQ0FTU0FORFJBLTc0NCkKICogcmUtb3JnYW5pemVkIGVuZHBvaW50c25pdGNoIGltcGxlbWVudGF0aW9ucyBhbmQgYWRkZWQgU2ltcGxlU25pdGNoCiAgIChDQVNTQU5EUkEtOTk0KQogrONXqgAAAU/ePLJcABBjb21wcmVzc2lvbiBtZXRhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5tAAABAG9yIGNyZWF0ZS91cGRhdGUgY29sdW1uIGZhbWlseSAoQ0FTU0FORFJBLTM5ODApCiAqIFBpZzogc3VwcG9ydCBDb3VudGVyIENvbHVtbkZhbWlsaWVzIChDQVNTQU5EUkEtMzk3MykKICogUGlnOiBDb21wb3NpdGUgY29sdW1uIHN1cHBvcnQgKENBU1NBTkRSQS0zNjg0KQogKiBBdm9pZCBOUEUgZHVyaW5nIHJlcGFpciB3aGVuIGEga2V5c3BhY2UgaGFzIG5vIENGcyAoQ0FTU0FORFJBLTM5ODgpCiAqIEZpeCBkaXZpc2lvbi1ieS16ZXJvIGVycm9yIG8VoTDmAAABT948slwAEHRvIERhdGFUcmFja2VyICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILm0AAAEAc28gdGhleSBjYW4gbW9yZQogICBhY2N1cmF0ZWx5IGRyb3AgdGltZWQtb3V0IHJlcXVlc3RzIChDQVNTQU5EUkEtMjg1OCkKICogZml4IGNsaWVudHV0aWwuamFyIGRlcGVuZGVuY2llcyAoQ0FTU0FORFJBLTQ1NjYpCiAqIG9wdGltaXplIFdyaXRlUmVzcG9uc2UgKENBU1NBTkRSQS00NTQ4KQogKiBuZXcgbWV0cmljcyAoQ0FTU0FORFJBLTQwMDkpCiAqIHJlZGVzaWduIEtFWVMgaW5kZXhlcyB0byBhdm9pZCByZWFkLWJlZm9yZS13cml0ZSAoQ0FTU6G02loAAAFP3jyyXAAQYXRpb24gdGhhdCBnZW5lcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgubQAAAQBhbWljIGVuZHBvaW50IHNuaXRjaCAoQ0FTU0FORFJBLTk4MSkKICogZml4IHN0cmVhbWluZyBmb3Iga2V5c3BhY2VzIHdpdGggaHlwaGVucyBpbiB0aGVpciBuYW1lIChDQVNTQU5EUkEtMTM3NykKICogZml4IGVycm9ycyBpbiBoYXJkLWNvZGVkIGJsb29tIGZpbHRlciBvcHRLUGVyQnVja2V0IGJ5IGNvbXB1dGluZyBpdAogICBhbGdvcml0aG1pY2FsbHkgKENBU1NBTkRSQS0xMjIwCiAqIHJlbW92ZSBtZXNzYWdlIGRlc2VyaWFsaXphdGlvbiBzdGFng7yZaQAAAU/ePLJcABBhbmNlIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5tAAABAGF5IChDQVNTQU5EUkEtMjcxNCkKICogb3B0aW1pemUgY29sdW1uIHNlcmlhbGl6ZXIgY3JlYXRpb24gKENBU1NBTkRSQS0yNzE2KQogKiBBZGRlZCBzdXBwb3J0IGZvciBtYWtpbmcgYm9vdHN0cmFwIHJldHJ5IGlmIG5vZGVzIGZsYXAgKENBU1NBTkRSQS0yNjQ0KQogKiBBZGRlZCBzdGF0dXN0aHJpZnQgdG8gbm9kZXRvb2wgdG8gcmVwb3J0IGlmIHRocmlmdCBzZXJ2ZXIgaXMgcnVubmluZwogICAoQ0FTU0FORFJBLTI3MjIpCiAqIEZpeGVkIHJvd3Oah52ZAAABT948slwAEEFORFJBLTc2MjUpCiAqICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILm0AAAEAIGV4YW1wbGVzIChDQVNTQU5EUkEtMjkyMikKICogRml4IGhhbmRsaW5nIG9mIHRvbWJzdG9uZSBieSBTU1RhYmxlRXhwb3J0L0ltcG9ydCAoQ0FTU0FORFJBLTMzNTcpCiAqIEZpeCB0cmFuc3Bvc2l0aW9uIGluIGNmSGlzdG9ncmFtcyAoQ0FTU0FORFJBLTMyMjIpCiAqIEFsbG93IHVzaW5nIG51bWJlciBhcyBEQyBuYW1lIHdoZW4gY3JlYXRpbmcga2V5c3BhY2UgaW4gQ1FMIChDQVNTQU5EUkEtMzIzOSkKICogRm9yY2UgZmx1c2ggb2Ygc3lzdGVtIAB8tKQAAAFP3jyyXAAQZW1lbnQgY29kZSAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgubQAAAQBDRlMuaXNWYWxpZAogICAoQ0FTU0FORFJBLTMxMTYpCiAqIHJlY29nbml6ZSB0aGF0ICJTRUxFQ1QgZmlyc3QgLi4uICoiIGlzbid0IHJlYWxseSAiU0VMRUNUICoiIChDQVNTQU5EUkEtMzQ0NSkKICogVXNlIGZhc3RlciBieXRlcyBjb21wYXJpc29uIChDQVNTQU5EUkEtMzQzNCkKICogQnVsayBsb2FkZXIgaXMgbm8gbG9uZ2VyIGEgZmF0IGNsaWVudCwgKEhBRE9PUCkgYnVsayBsb2FkIG91dHB1dCBmb3JtYXQKICAgKENBU1NBTkRSQS0zMDQ1KQogof8+hwAAAU/ePLJcABB0ZWFkIG9mIHRpbWluZyBvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5tAAABAG9ucyBvbiBsaXN0IGluZGV4IHdpdGggY29uZGl0aW9ucyAoQ0FTU0FORFJBLTc0OTkpCiAqIE1ha2UgU3RyZWFtUmVjZWl2ZVRhc2sgdGhyZWFkIHNhZmUgYW5kIGdjIGZyaWVuZGx5IChDQVNTQU5EUkEtNzc5NSkKICogVmFsaWRhdGUgZW1wdHkgY2VsbCBuYW1lcyBmcm9tIGNvdW50ZXIgdXBkYXRlcyAoQ0FTU0FORFJBLTc3OTgpCk1lcmdlZCBmcm9tIDEuMjoKICogRG9uJ3QgYWxsb3cgY29tcGFjdGVkIHNzdGFibGVzIHRvIGJlIG1hcmtlZCBhcyCVcLe1ABZl72esPtsAAAFP3jyyXAAQUkEtNTM1NCkKICogRml4IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgubwAAAQAgc2xpY2UgcXVlcnkgd2l0aCBjb21wb3NpdGUgc3RhcnQvZmluaXNoIChDQVNTQU5EUkEtNjgyNSkKICogRml4IHVuaW50ZW5kZWQgdXBkYXRlIHdpdGggY29uZGl0aW9uYWwgc3RhdGVtZW50IChDQVNTQU5EUkEtNjg5MykKICogRml4IG1hcCBlbGVtZW50IGFjY2VzcyBpbiBJRiAoQ0FTU0FORFJBLTY5MTQpCiAqIEF2b2lkIGNvc3RseSByYW5nZSBjYWxjdWxhdGlvbnMgZm9yIHJhbmdlIHF1ZXJpZXMgb24gc3lzdGVtIGtleXNwYWNlcwogICAoQ0FTu7TZRgAAAU/ePLJcABBlIG1pc3NpbmcgZW5jcnlwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5vAAABAG9jYXRpb24KICAgaW4gTGV2ZWxlZE1hbmlmZXN0IChDQVNTQU5EUkEtMzY5MSkKICogZmluZXItZ3JhaW5lZCBjb250cm9sIG92ZXIgZGF0YSBkaXJlY3RvcmllcyAoQ0FTU0FORFJBLTI3NDkpCiAqIEZpeCBDbGFzc0Nhc3RFeGNlcHRpb24gZHVyaW5nIGhpbnRlZCBoYW5kb2ZmIChDQVNTQU5EUkEtMzY5NCkKICogVXBncmFkZSBUaHJpZnQgdG8gMC43IChDQVNTQU5EUkEtMzIxMykKICogTWFrZSBzdHJlc3MuamF2YSBpbnNlcnQgb3BlcmF0aW9uIHTd959/AAABT948slwAEC0yODU1KQogKiBGaXggaGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILm8AAAEAIGR1cmluZyBsb2cgcmVwbGF5IChDQVNTQU5EUkEtNjA5KQogKiBzdXBwb3J0IENvbnNpc3RlbmN5TGV2ZWwuQUxMIG9uIHJlYWQgKENBU1NBTkRSQS01ODQpCiAqIGFkZCBub2RlcHJvYmUgcmVtb3ZldG9rZW4gY29tbWFuZCAoQ0FTU0FORFJBLTU2NCkKCgowLjUuMCBiZXRhCiAqIEFsbG93IG11bHRpcGxlIHNpbXVsdGFuZW91cyBmbHVzaGVzLCBpbXByb3ZpbmcgZmx1c2ggdGhyb3VnaHB1dCAKICAgb24gbXVsdGljb3JlIHN5c3RlbXMgKENBU1NBToYVCUgAAAFP3jyyXAAQbGxvY2F0aW9uIG9wdGlvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgubwAAAQA3KQogKiBPdmVyc2l6ZSBpbnRlZ2VyIGluIENRTCB0aHJvd3MgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIChDQVNTQU5EUkEtNDI5MSkKICogZml4IDEuMC54IG5vZGUgam9pbiB0byBtaXhlZCB2ZXJzaW9uIGNsdXN0ZXIsIG90aGVyIG5vZGVzID49IDEuMSAoQ0FTU0FORFJBLTQxOTUpCiAqIEZpeCBMQ1Mgc3BsaXR0aW5nIHNzdGFibGUgYmFzZSBvbiB1bmNvbXByZXNzZWQgc2l6ZSAoQ0FTU0FORFJBLTQ0MTkpCiAqIFB1c2ggdGhlIHZhbGlkYXRpb24gm4gtAQAAAU/ePLJcABBkIGZyaWVuZGxpZXIgZXJyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5vAAABAGFjZXMgb3IgdGFibGVzIChDQVNTQU5EUkEtODk1MCkKICogQWxsb3cgc3BlY2lmeWluZyB0aGUgdG1wIGRpciAoQ0FTU0FORFJBLTc3MTIpCiAqIEltcHJvdmUgY29tcGFjdGlvbiBlc3RpbWF0ZWQgdGFza3MgZXN0aW1hdGlvbiAoQ0FTU0FORFJBLTg5MDQpCiAqIEZpeCBkdXBsaWNhdGUgdXAvZG93biBtZXNzYWdlcyBzZW50IHRvIG5hdGl2ZSBjbGllbnRzIChDQVNTQU5EUkEtNzgxNikKICogRXhwb3NlIGNvbW1pdCBsb2cgYXJjaGl2ZSBzdGF0dXOvJfNdAAABT948slwAEG5kZXhfaW50ZXJ2YWwgY28AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILm8AAAEAcmVzcGVjdCBwcm90b2NvbCB2ZXJzaW9uIGluIG5hdGl2ZSBwcm90b2NvbCAoQ0FTU0FORFJBLTU3NzgpCiAqIEZpeCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uIGR1cmluZyBzdHJlYW1pbmcgKENBU1NBTkRSQS01NzgyKQogKiBVcGRhdGUgZGVsZXRpb24gdGltZXN0YW1wIGluIENvbW1pdCN1cGRhdGVzV2l0aFBheG9zVGltZSAoQ0FTU0FORFJBLTU3ODcpCiAqIFRocmlmdCBjYXMoKSBtZXRob2QgY3Jhc2hlcyBpZiBpbnB1dCBjb2x1bZqxWnwAAAFP3jyyXAAQbiBuYW1lcyBpbiBjcWwzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgubwAAAQBNZXJnZSBncm91cGFibGUgbXV0YXRpb25zIGluIFRyaWdnZXJFeGVjdXRvciNleGVjdXRlKCkgKENBU1NBTkRSQS03MDQ3KQogKiBQbHVnIGhvbGVzIGluIHJlc291cmNlIHJlbGVhc2Ugd2hlbiB3aXJpbmcgdXAgU3RyZWFtU2Vzc2lvbiAoQ0FTU0FORFJBLTcwNzMpCiAqIFJlLWFkZCBwYXJhbWV0ZXIgY29sdW1ucyB0byB0cmFjaW5nIHNlc3Npb24gKENBU1NBTkRSQS02OTQyKQogKiBQcmVzZXJ2ZXMgQ1FMIG1ldGFkYXRhIHdoZW4gdXBkYXRpbmcghoecswAAAU/ePLJcABBSQS0yNjUzKQogKiBBbHdhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5vAAABAGFuZGxpbmcgb2YgUmVqZWN0ZWRFeGVjdXRpb24gaW4gc3luYyBUaHJpZnQgc2VydmVyIChDQVNTQU5EUkEtNjc4OCkKICogTG9nIG1vcmUgaW5mb3JtYXRpb24gd2hlbiBleGNlZWRpbmcgdG9tYnN0b25lX3dhcm5fdGhyZXNob2xkIChDQVNTQU5EUkEtNjg2NSkKICogRml4IHRydW5jYXRlIHRvIG5vdCBhYm9ydCBkdWUgdG8gdW5yZWFjaGFibGUgZmF0IGNsaWVudHMgKENBU1NBTkRSQS02ODY0KQogKiBGaXggc2NoZW1hIGNvbmN1cnJlbmN5IGV4Y2UsnuM3AAABT948slwAEG5nIG9mIG9ic29sZXRlIG0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILm8AAAEAUkEtNjA2OSkKICogQ29ycmVjdGx5IHNlbmQgbWV0YWRhdGEgb24gU0VMRUNUIENPVU5UIChDQVNTQU5EUkEtNjA4MCkKICogVHJhY2sgY2xpZW50cycgcmVtb3RlIGFkZHJlc3NlcyBpbiBDbGllbnRTdGF0ZSAoQ0FTU0FORFJBLTYwNzApCiAqIENyZWF0ZSBzbmFwc2hvdCBkaXIgaWYgaXQgZG9lcyBub3QgZXhpc3Qgd2hlbiBtaWdyYXRpbmcKICAgbGV2ZWxlZCBtYW5pZmVzdCAoQ0FTU0FORFJBLTYwOTMpCiAqIG1ha2Ugc2VxdWVudGlhbCBub2RldOACaz4AAAFP3jyyXAAQIEJBVENIIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgubwAAAQBlbCBQYWdlIENhY2hlIHNraXBwaW5nIGludG8gcm93IHByZWhlYXRpbmcgKGRpc2FibGVkIGJ5IGRlZmF1bHQpCiAgIChDQVNTQU5EUkEtNDkzNykKICogSW1wcm92ZSByZXBhaXIgYnkgZGVjaWRpbmcgb24gYSBnY0JlZm9yZSBiZWZvcmUgc2VuZGluZwogICBvdXQgVHJlZVJlcXVlc3RzIChDQVNTQU5EUkEtNDkzMikKICogQWRkIGFuIG9mZmljaWFsIHdheSB0byBkaXNhYmxlIGNvbXBhY3Rpb25zIChDQVNTQU5EUkEtNTA3NCkKICogUmVlbmFibGUgJivVOgAAAU/ePLJcABAtMzI5MSkKICogdXNlIGNvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5vAAABAEFTU0FORFJBLTY0NTQpCiAqIEFkZCBsaXN0ZW5faW50ZXJmYWNlIGFuZCBycGNfaW50ZXJmYWNlIG9wdGlvbnMgKENBU1NBTkRSQS03NDE3KQogKiBJbXByb3ZlIHNjaGVtYSBtZXJnZSBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTc0NDQpCiAqIEFkanVzdCBNVCBkZXB0aCBiYXNlZCBvbiAjIG9mIHBhcnRpdGlvbiB2YWxpZGF0aW5nIChDQVNTQU5EUkEtNTI2MykKICogT3B0aW1pc2UgTmF0aXZlQ2VsbCBjb21wYXJpc29ucyAoQ0FTU0FORFJBLTY3NTVfaTfjAAABT948slwAEDgwKQogKiBTaHV0ZG93biAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILm8AAAEAb3V0cyB0b3dhcmRzIGR5bmFtaWNzbml0Y2ggbGF0ZW5jaWVzIChDQVNTQU5EUkEtMTkwNSkKICogRXhwb3NlIGluZGV4LWJ1aWxkaW5nIHN0YXR1cyBpbiBKTVggKyBjbGkgc2NoZW1hIGRlc2NyaXB0aW9uCiAgIChDQVNTQU5EUkEtMTg3MSkKICogYWxsb3cgW0xPQ0FMfEVBQ0hdX1FVT1JVTSB0byBiZSB1c2VkIHdpdGggbm9uLU5ldHdvcmtUb3BvbG9neSAKICAgcmVwbGljYXRpb24gU3RyYXRlZ2llcwogKiBpbmNyZWFzZWQgYW1vdW50IG9mIGluZHpZV0sAAAFP3jyyXAAQb3J0IERJU1RJTkNUIGZvcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgubwAAAQAgaW4gbG9uZy1ydW5uaW5nIGluc3RhbmNlcyAoQ0FTU0FORFJBLTQ3MDgpCgoKMS4xLjUKICogYWRkIFNlY29uZGFyeUluZGV4LnJlbG9hZCBBUEkgKENBU1NBTkRSQS00NTgxKQogKiB1c2UgbWlsbGlzICsgYXRvbWljaW50IGZvciBjb21taXRsb2cgc2VnbWVudCBjcmVhdGlvbiBpbnN0ZWFkIG9mCiAgIG5hbm90aW1lLCB3aGljaCBoYXMgaXNzdWVzIHVuZGVyIHNvbWUgaHlwZXJ2aXNvcnMgKENBU1NBTkRSQS00NjAxKQogKiBmaXggRkQgbGVhayBpCUhAbAAAAU/ePLJcABB0byBBZGxlciBhbmQgaW5jAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5vAAABACAqIGxlc3MgY2hhdHR5IHNjaGVtYSB1cGRhdGVzIChDQVNTQU5EUkEtMTM4OSkKICogcmVuYW1lIGNvbHVtbiBmYW1pbHkgbWJlYW5zLiAndHlwZScgd2lsbCBub3cgaW5jbHVkZSBlaXRoZXIgCiAgICdJbmRleENvbHVtbkZhbWlsaWVzJyBvciAnQ29sdW1uRmFtaWxpZXMnIGRlcGVuZGluZyBvbiB0aGUgQ0ZTIHR5cGUuCiAgIChDQVNTQU5EUkEtMTM4NSkKICogZGlzYWxsb3cgaW52YWxpZCBrZXlzcGFjZSBhbmQgY29sdW1uIGZhbWlseSBuYW1lcy76s7cTAAABT948slwAEHQgbm9kZXRvb2wgcmVwYWkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILm8AAAEAIChDQVNTQU5EUkEtNzc4NykKICogRml4IGRyb3BwaW5nIGNvbGxlY3Rpb24gd2hlbiBpdCdzIHRoZSBsYXN0IHJlZ3VsYXIgY29sdW1uIChDQVNTQU5EUkEtNzc0NCkKICogUHJvcGVybHkgcmVqZWN0IG9wZXJhdGlvbnMgb24gbGlzdCBpbmRleCB3aXRoIGNvbmRpdGlvbnMgKENBU1NBTkRSQS03NDk5KQogKiBNYWtlIFN0cmVhbVJlY2VpdmVUYXNrIHRocmVhZCBzYWZlIGFuZCBnYyBmcmllbmRseSAoQ0FTU0FORFJBLTc3OTUpCiAqIFZhbGlkYXRlIAh/BbYAFnpM8jLArQAAAU/ePLJcABAgbWFjaGluZXMgd2l0aCBvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5xAAABAG4gQ0xJIGBjcmVhdGUgY29sdW1uIGZhbWlseWAKICAgc3RhdGVtZW50IChDQVNTQU5EUkEtMzE5NSkKICogRml4IHJvbGxpbmcgdXBncmFkZSBmcm9tIDAuNyB0byAwLjggcHJvYmxlbSAoQ0FTU0FORFJBLTMxNjYpCiAqIEFjY29tb2RhdGUgbWlzc2luZyBlbmNyeXB0aW9uX29wdGlvbnMgaW4gSW5jb21pbmdUY3BDb25uZWN0aW9uLnN0cmVhbQogICAoQ0FTU0FORFJBLTMyMTIpCgoKMC44LjUKICogZml4IE5QRSB3aGVuIGVuY3J5cHRpb25fb3B0aW/mlC2VAAABT948slwAEHN0YWJsZSByb3dzIHdpdGgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnEAAAEAMykKICogRXZpY3QgZ29zc2lwIHN0YXRlIGltbWVkaWF0ZWx5IHdoZW4gYSB0b2tlbiBpcyB0YWtlbiBvdmVyIGJ5IGEgbmV3IElQIChDQVNTQU5EUkEtMzI1OSkKICogRml4IGJ1ZyB3aGVyZSB0aGUgZmFpbHVyZSBkZXRlY3RvciBjYW4gdGFrZSB0b28gbG9uZyB0byBtYXJrIGEgaG9zdAogICBkb3duIChDQVNTQU5EUkEtMzI3MykKICogKEhhZG9vcCkgYWxsb3cgd3JhcHBpbmcgcmFuZ2VzIGluIHF1ZXJpZXMgKENBU1NBTkRSQS0zMTM3KQogKiAoSFyviSgAAAFP3jyyXAAQYXRpb25zIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgucQAAAQBSZWNvcmRlciAoQ0FTU0FORFJBLTkwMzQpCiAqIEF2b2lkIG92ZXJ3cml0aW5nIGluZGV4IHN1bW1hcmllcyBmb3Igc3N0YWJsZXMgd2l0aCBhbiBvbGRlciBmb3JtYXQgdGhhdAogICBkb2VzIG5vdCBzdXBwb3J0IGRvd25zYW1wbGluZzsgcmVidWlsZCBzdW1tYXJpZXMgb24gc3RhcnR1cCB3aGVuIHRoaXMKICAgaXMgZGV0ZWN0ZWQgKENBU1NBTkRSQS04OTkzKQogKiBGaXggcG90ZW50aWFsIGRhdGEgbG9zcyBpbiBDb21wcmVzc2VkU2VxdWVudGlhwV58pgAAAU/ePLJcABBhbXAgcGFyc2VyIChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5xAAABAGVyIGRlY3JlbWVudCBzeW50YXggKENBU1NBTkRSQS0zNDE4KQogKiBGaXggcmFjZSBpbnRyb2R1Y2VkIGJ5IENBU1NBTkRSQS0yNTAzIChDQVNTQU5EUkEtMzQ4MikKICogRml4IGluY29tcGxldGUgZGVsZXRpb24gb2YgZGVsaXZlcmVkIGhpbnRzIChDQVNTQU5EUkEtMzQ2NikKICogQXZvaWQgcmVzY2hlZHVsaW5nIGNvbXBhY3Rpb25zIHdoZW4gbm8gY29tcGFjdGlvbiB3YXMgZXhlY3V0ZWQgCiAgIChDQVNTQU5EUkEtMzQ4NCkKICogZml4IGhhbmRz9voiAAABT948slwAECAqIGZpeCBzc3RhYmxlaW0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnEAAAEAKQogKiBSZXZlcnQgQ0FTU0FORFJBLTI4NTUKICogRml4IGJ1ZyBwcmV2ZW50aW5nIHRoZSB1c2Ugb2YgZWZmaWNpZW50IGNyb3NzLURDIHdyaXRlcyAoQ0FTU0FORFJBLTM0NzIpCiAqIGBkZXNjcmliZSByaW5nYCBjb21tYW5kIGZvciBDTEkgKENBU1NBTkRSQS0zMjIwKQogKiAoSGFkb29wKSBza2lwIGVtcHR5IHJvd3Mgd2hlbiBlbnRpcmUgcm93IGlzIHJlcXVlc3RlZCwgcmVkdXggKENBU1NBTkRSQS0yODU1KQoKCjEuMC4yCiAqICJkZWZyYWdtZdDsUJgAAAFP3jyyXAAQICogRml4IGR1cGxpY2F0ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgucQAAAQBEUkEtMTA5MCkKICogaW1wcm92ZSBkZWZhdWx0IEpWTSBHQyBvcHRpb25zIChDQVNTQU5EUkEtMTAxNCkKICogZml4IFNsaWNlUHJlZGljYXRlIHNlcmlhbGl6YXRpb24gaW5zaWRlIEhhZG9vcCBqb2JzIChDQVNTQU5EUkEtMTA0OSkKICogY2xvc2UgVGhyaWZ0IHNvY2tldHMgaW4gSGFkb29wIENvbHVtbkZhbWlseVJlY29yZFJlYWRlciAoQ0FTU0FORFJBLTEwODEpCgoKMC42LjEKICogZml4IE5QRSBpbiBzc3RhYmxlMmpzb24gd2hlbiBubyBleGNsu50fDQAAAU/ePLJcABBBZGQgcmVsb2FkdHJpZ2dlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5xAAABAFtub24tanZtIG1hcC9yZWR1Y2UgdmlhIHN0ZGluL291dF0KICAgKENBU1NBTkRSQS0xMzY4KQogKiBNb3ZlIHBlcnNpc3RlbnQgc3N0YWJsZSBzdGF0cyBmcm9tIHRoZSBzeXN0ZW0gdGFibGUgdG8gYW4gc3N0YWJsZSBjb21wb25lbnQKICAgKENBU1NBTkRSQS0xNDMwKQogKiByZW1vdmUgZmFpbGVkIGJvb3RzdHJhcCBhdHRlbXB0IGZyb20gcGVuZGluZyByYW5nZXMgd2hlbiBnb3NzaXAgdGltZXMKICAgaXQgb3V0IGFmdGVyIDFoIChDQVNTQU5EUkGg7G9KAAABT948slwAEGRwb2ludCB0byBKTVgKICAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnEAAAEAICogcmVtb3ZlIHZlc3RpZ2VzIG9mIFRocmlmdCB1bmZyYW1lZCBtb2RlIChDQVNTQU5EUkEtNDcyOSkKICogb3B0aW1pemUgc2luZ2xlLXJvdyBQSyBsb29rdXBzIChDQVNTQU5EUkEtNDcxMCkKICogYWRqdXN0IGJsb2NrRm9yIGNhbGN1bGF0aW9uIHRvIGFjY291bnQgZm9yIHBlbmRpbmcgcmFuZ2VzIGR1ZSB0byBub2RlIAogICBtb3ZlbWVudCAoQ0FTU0FORFJBLTgzMykKICogQ2hhbmdlIENRTCB2ZXJzaW9uIHRvIDMuMC4wIGFuZCBzdG9wIGFjYxmBxsQAAAFP3jyyXAAQRFJBLTE0MTApCiAqIGNvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgucQAAAQBuZGVkIChDQVNTQU5EUkEtMzI2MikKICogcmVtb3ZlIFNjcnViIGZyb20gY29tcGFjdGlvbnN0YXRzIHdoZW4gZmluaXNoZWQgKENBU1NBTkRSQS0zMjU1KQogKiBmaXggY291bnRlciBlbnRyeSBpbiBqZGJjIFR5cGVzTWFwIChDQVNTQU5EUkEtMzI2OCkKICogZml4IGZ1bGwgcXVldWUgc2NlbmFyaW8gZm9yIFBhcmFsbGVsQ29tcGFjdGlvbkl0ZXJhdG9yIChDQVNTQU5EUkEtMzI3MCkKICogZml4IGJvb3RzdHJhcCBwcm9jZXNzIChDQVNTQU5EUkEtvTwSqAAAAU/ePLJcABBTQU5EUkEtMTc0NykKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5xAAABAG9udGVudGlvbiBvbiBJbmV0QWRkcmVzcy5nZXRMb2NhbEhvc3QgCiAgIChDQVNTQU5EUkEtMzM4NykKICogdG9sZXJhdGUgaW5kZXggYmVpbmcgZHJvcHBlZCBtaWQtbXV0YXRpb24gKENBU1NBTkRSQS0zMzM0LCAzMzEzKQogKiBDb21wYWN0aW9uTWFuYWdlciBpcyBub3cgcmVzcG9uc2libGUgZm9yIGNoZWNraW5nIGZvciBuZXcgY2FuZGlkYXRlcwogICBwb3N0LXRhc2sgZXhlY3V0aW9uLCBlbmFibGluZyBtb3JlIGNvbnNpc3RlbnQgbGV2ZWxlZCD0YhJMAAABT948slwAECBSYW5nZVRvbWJzdG9uZXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnEAAAEAeCBDRk1ldGFEYXRhI2lzVGhyaWZ0Q29tcGF0aWJsZSgpIGZvciBQSy1vbmx5IHRhYmxlcyAoQ0FTU0FORFJBLTc4MzIpCiAqIEFsd2F5cyByZWplY3QgaW5lcXVhbGl0eSBvbiB0aGUgcGFydGl0aW9uIGtleSB3aXRob3V0IHRva2VuKCkKICAgKENBU1NBTkRSQS03NzIyKQogKiBBbHdheXMgc2VuZCBQYXhvcyBjb21taXQgdG8gYWxsIHJlcGxpY2FzIChDQVNTQU5EUkEtNzQ3OSkKICogTWFrZSBkaXNydXB0b3JfdGhyaWZ0X3NlcnZlciBpbnZvY2F0aaYZm+4AAAFP3jyyXAAQbWFrZSByZXBhaXIgYmxvYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgucQAAAQB0byBib290c3RyYXAgd2hlbiBzdGFydGVkLCB1bnRpbCBib290c3RyYXAgc3VjY2Vzc2Z1bGx5CiAgIGNvbXBsZXRlcy4gLWIgb3B0aW9uIGlzIHJlbW92ZWQuICAoQ0FTU0FORFJBLTQzOCkKICogVW5sZXNzIGEgdG9rZW4gaXMgbWFudWFsbHkgc3BlY2lmaWVkIGluIHRoZSBjb25maWd1cmF0aW9uIHhtbCwKICAgYSBib290c3RyYXBpbmcgbm9kZSB3aWxsIHVzZSBhIHRva2VuIHRoYXQgZ2l2ZXMgaXQgaGFsZiB0aGUKICAga2V5cyBmcm9tIHRoZSBt6HLEFgAAAU/ePLJcABAsIDM3NjUpCiAqIGF2b2lkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC5xAAABAFJBLTc3NTgpCiAqIEFkZCBzdG9wIG1ldGhvZCB0byBFbWJlZGRlZENhc3NhbmRyYVNlcnZpY2UgKENBU1NBTkRSQS03NTk1KQogKiBTdXBwb3J0IGNvbm5lY3RpbmcgdG8gaXB2NiBqbXggd2l0aCBub2RldG9vbCAoQ0FTU0FORFJBLTc2NjkpCiAqIFNldCBnY19ncmFjZV9zZWNvbmRzIHRvIHNldmVuIGRheXMgZm9yIHN5c3RlbSBzY2hlbWEgdGFibGVzIChDQVNTQU5EUkEtNzY2OCkKICogU2ltcGxlU2VlZFByb3ZpZGVyIG5vIGxvbmdlciBjYWNoZXMGTHqvAAABT948slwAEG9ydCBmb3Igcm93IGtleSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnEAAAEAMjQ3NikKICAgLSBjb3VudGVyIHN1cHBvcnQgKENBU1NBTkRSQS0yNDczKQogICAtIEFMVEVSIENPTFVNTkZBTUlMWSAoQ0FTU0FORFJBLTE3MDkpCiAgIC0gRFJPUCBJTkRFWCAoQ0FTU0FORFJBLTI2MTcpCiAgIC0gYWRkIFNDSEVNQS9UQUJMRSBhcyBhbGlhc2VzIGZvciBLUy9DRiAoQ0FTU0FORFJBLTI3NDMpCiAgIC0gc2VydmVyIGhhbmRsZXMgd2FpdC1mb3Itc2NoZW1hLWFncmVlbWVudCAoQ0FTU0FORFJBLTI3NTYpCiAgIC0ga2V5IGFsaWFzIF6co8QAAAFP3jyyXAAQYXRzIG92ZXIgSk1YIChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgucQAAAQBleXNwYWNlIGFuZCBjb2x1bW4gZmFtaWx5IG5hbWVzLiBUaGlzIGluY2x1ZGVzIG5hbWUgdGhhdAogICBtYXRjaGVzIGEgJ15cdysnIHJlZ2V4LiAoQ0FTU0FORFJBLTEzNzcpCiAqIHVzZSBKTkEsIGlmIHByZXNlbnQsIHRvIHRha2Ugc25hcHNob3RzIChDQVNTQU5EUkEtMTM3MSkKICogdHJ1bmNhdGUgaGludHMgaWYgc3RhcnRpbmcgMC43IGZvciB0aGUgZmlyc3QgdGltZSAoQ0FTU0FORFJBLTE0MTQpCiAqIGZpeCBGRCBsZWFrIGluIHNpbmdsZS1yY84f9gAWjqlwtzxhAAABT948slwAEGx1ZGVkIHdoZW4gbmV3IHIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnQAAAEAIGNvbXBhY3Rpb25fdGhyZWFkX3ByaW9yaXR5IHNldHRpbmcgKENBU1NBTkRSQS0zMTA0KQogKiBnZW5lcmF0ZSBoaW50cyBmb3IgcmVwbGljYXMgdGhhdCB0aW1lb3V0LCBub3QganVzdCByZXBsaWNhcyB0aGF0IGFyZSBrbm93bgogICB0byBiZSBkb3duIGJlZm9yZSBzdGFydGluZyAoQ0FTU0FORFJBLTIwMzQpCiAqIEFkZCB0aHJvdHRsaW5nIGZvciBpbnRlcm5vZGUgc3RyZWFtaW5nIChDQVNTQU5EUkEtMzA4MCkKICogbWFrZSB0aGUgcmVwYWlyIOxLXdgAAAFP3jyyXAAQL0RFTEVURS9UUlVOQ0FURQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgudAAAAQBORFJBLTIzNzEpCiAqIGZpeCBpbmNvcnJlY3QgdHJ1bmNhdGlvbiBvZiBsb25nIHRvIGludCB3aGVuIHJlYWRpbmcgY29sdW1ucyB2aWEgYmxvY2sKICAgaW5kZXggKENBU1NBTkRSQS0yMzc2KQogKiBmaXggTlBFIGR1cmluZyBzdHJlYW0gc2Vzc2lvbiAoQ0FTU0FORFJBLTIzNzcpCiAqIGZpeCByYWNlIGNvbmRpdGlvbiB0aGF0IGNvdWxkIGxlYXZlIG9ycGhhbmVkIGRhdGEgZmlsZXMgd2hlbiBkcm9wcGluZyBDRiBvcgogICBLUyAoQ0FTU0FORFJB6GIBGAAAAU/ePLJcABBtZSB0YWJsZSBpbiB0aGUgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC50AAABADApCiAqIEZpeCByZWFkaW5nIGV4cGlyZWQgcm93IHZhbHVlIGZyb20gcm93IGNhY2hlIChDQVNTQU5EUkEtNjMyNSkKICogRml4IEFzc2VydGlvbkVycm9yIHdoZW4gZG9pbmcgc2V0IGVsZW1lbnQgZGVsZXRpb24gKENBU1NBTkRSQS02MzQxKQogKiBNYWtlIENMIGNvZGUgZm9yIHRoZSBuYXRpdmUgcHJvdG9jb2wgbWF0Y2ggdGhlIG9uZSBpbiBDKiAyLjAKICAgKENBU1NBTkRSQS02MzQ3KQogKiBEaXNhbGxvdyBhbHRlcmluZyBDUUwzIHRhYmxlIGZXIc8WAAABT948slwAEAoKMC40LjAKICogZml4IGcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnQAAAEALTE2OTApCiAqIGFkZCAtLXNraXAta2V5cyBvcHRpb24gdG8gc3RyZXNzLnB5IChDQVNTQU5EUkEtMTY5NikKICogaW1wcm92ZSBjbGkgaGFuZGxpbmcgb2Ygbm9uLXN0cmluZyBrZXlzIGFuZCBjb2x1bW4gbmFtZXMgCiAgIChDQVNTQU5EUkEtMTcwMSwgLTE2OTMpCiAqIHIvbSBleHRyYSBzdWJjb21wYXJhdG9yIGxpbmUgaW4gY2xpIGtleXNwYWNlcyBvdXRwdXQgKENBU1NBTkRSQS0xNzEyKQogKiBhZGQgcmVhZCByZXBhaXIgY2hhbmNlIHRvIGNsaRgAl0oAAAFP3jyyXAAQIChDQVNTQU5EUkEtMTAyNwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgudAAAAQBvbGx1dGluZyBwYWdlIGNhY2hlIHdpdGggY29tbWl0bG9nIG9yIHNzdGFibGUgd3JpdGVzCiAgIGFuZCBzZXEgc2NhbiBvcGVyYXRpb25zIChDQVNTQU5EUkEtMTQ3MCkKICogYWRkIFJNSSBhdXRoZW50aWNhdGlvbiBvcHRpb25zIHRvIG5vZGV0b29sIChDQVNTQU5EUkEtMTkyMSkKICogbWFrZSBzbml0Y2hlcyBjb25maWd1cmFibGUgYXQgcnVudGltZSAoQ0FTU0FORFJBLTEzNzQpCiAqIHJldHJ5IGhhZG9vcCBzcGxpdCByZXF1ZXN0cyBvbiBjb25u0GDdgQAAAU/ePLJcABBuTWFuYWdlck1CZWFuIChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC50AAABACAqIEFkZGVkIFBpZyBsb2FkZnVuYyB0byBjb250cmliL3BpZyAoQ0FTU0FORFJBLTkxMCkKCgowLjYuMC1iZXRhMwogKiBmaXggY29tcGFjdGlvbiBidWNrZXRpbmcgYnVnIChDQVNTQU5EUkEtODE0KQogKiB1cGRhdGUgd2luZG93cyBiYXRjaCBmaWxlIChDQVNTQU5EUkEtODI0KQogKiBkZXByZWNhdGUgS2V5c0NhY2hlZEZyYWN0aW9uIGNvbmZpZ3VyYXRpb24gZGlyZWN0aXZlIGluIGZhdm9yCiAgIG9mIEtleXNDYWNoZWQ7IG1vdmUgdG8gdW5pZmnVKxLUAAABT948slwAEG90ZW50aWFsIGluZmluaXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnQAAAEAIGFkZCBzdXBwb3J0IGZvciBjb21wYXJhdG9yIHBhcmFtZXRlcnMgYW5kIGEgZ2VuZXJpYyBSZXZlcnNlVHlwZQogICAoQ0FTU0FORFJBLTIzNTUpCiAqIGFkZCBDb21wb3NpdGVUeXBlIGFuZCBEeW5hbWljQ29tcG9zaXRlVHlwZSAoQ0FTU0FORFJBLTIyMzEpCiAqIG9wdGltaXplIGJhdGNoZXMgY29udGFpbmluZyBtdWx0aXBsZSB1cGRhdGVzIHRvIHRoZSBzYW1lIHJvdwogICAoQ0FTU0FORFJBLTI1ODMpCiAqIGFkanVzdCBoaW50ZWQgaGFuZG9mZkZCNvcAAAFP3jyyXAAQY29udHJpYiAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgudAAAAQBib290c3RyYXAgKENBU1NBTkRSQS00MTU5KQogKiBmaXggc3RyZXNzIHRvb2wgdGhhdCBoYW5ncyBmb3JldmVyIG9uIHRpbWVvdXQgb3IgZXJyb3IgKENBU1NBTkRSQS00MTI4KQogKiBzdHJlc3MgdG9vbCB0byByZXR1cm4gYXBwcm9wcmlhdGUgZXhpdCBjb2RlIG9uIGZhaWx1cmUgKENBU1NBTkRSQS00MTg4KQogKiBmaXggY29tcGFjdGlvbiBOUEUgd2hlbiBvdXQgb2YgZGlzayBzcGFjZSBhbmQgYXNzZXJ0aW9ucyBkaXNhYmxlZAogICAoQ0FTU0FOoKkmkQAAAU/ePLJcABAoQ0FTU0FORFJBLTU4MzcpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC50AAABAEFORFJBLTY5NzUpCiAqIEZpeCBicm9rZW4gcGFnaW5nIHN0YXRlIHdpdGggcHJlcGFyZWQgc3RhdGVtZW50IChDQVNTQU5EUkEtNzEyMCkKICogRml4IElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiBpbiBDcWxTdG9yYWdlIChDQVNTQU5EUkEtNzI4NykKICogQWxsb3cgbnVsbHMvbm9uLWV4aXN0YW50IGZpZWxkcyBpbiBVRFQgKENBU1NBTkRSQS03MjA2KQogKiBBZGQgVGhyaWZ0IE11bHRpU2xpY2VSZXF1ZXN0IChDQVNTQU5EUkEtNjc1NywgQ0FTU0Gcfqp+AAABT948slwAECBpbiB0aGUgd3JvbmcgbGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnQAAAEAY29ycmVjdCBzaXplIGV4Y2VwdGlvbiBkdXJpbmcgc3RyZWFtaW5nIG9mIGNvdW50ZXJzIChDQVNTQU5EUkEtMzQ4MSkKICogKENRTCkgZml4IGZvciBjb3VudGVyIGRlY3JlbWVudCBzeW50YXggKENBU1NBTkRSQS0zNDE4KQogKiBGaXggcmFjZSBpbnRyb2R1Y2VkIGJ5IENBU1NBTkRSQS0yNTAzIChDQVNTQU5EUkEtMzQ4MikKICogRml4IGluY29tcGxldGUgZGVsZXRpb24gb2YgZGVsaXZlcmVkIGhpbnRzIChDQVNTQU5EUkEtMzQ2NikKICogQXZvaWADcC0AAAFP3jyyXAAQc3RhYmxlcyB1cG9uIHJlYgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgudAAAAQBpbHVyZSAKICAgICAoQ0FTU0FORFJBLTM4NzQpCiAqIGFkZCBub2RldG9vbCByZWJ1aWxkX2luZGV4IChDQVNTQU5EUkEtMzU4MykKICogYWRkIG5vZGV0b29sIHJhbmdla2V5c2FtcGxlIChDQVNTQU5EUkEtMjkxNykKICogRml4IHN0cmVhbWluZyB0b28gbXVjaCBkYXRhIGR1cmluZyBtb3ZlIG9wZXJhdGlvbnMgKENBU1NBTkRSQS0zNjM5KQogKiBOb2RldG9vbCBhbmQgQ0xJIGNvbm5lY3QgdG8gbG9jYWxob3N0IGJ5IGRlZmF1bHQgKENBU1NBTkRSgsSc7gAAAU/ePLJcABBzaCBvbiBSSEVMIGFuZCBvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC50AAABAG8tUlIgKENBU1NBTkRSQS0yNjgwKQogKiByZW1vdmUgbm8tb3AgSEhPTS5yZW5hbWVIaW50cyAoQ0FTU0FORFJBLTI2OTMpCiAqIGNsb25lIHN1cGVyIGNvbHVtbnMgdG8gYXZvaWQgbW9kaWZ5aW5nIHRoZW0gZHVyaW5nIGZsdXNoIChDQVNTQU5EUkEtMjY3NSkKICogYWxsb3cgd3JpdGVzIHRvIGJ5cGFzcyB0aGUgY29tbWl0bG9nIGZvciBjZXJ0YWluIGtleXNwYWNlcyAoQ0FTU0FORFJBLTI2ODMpCiAqIGF2b2lkIE5QRSB3aGVuIGJ5cGFzc2luZyCjdhXfAAABT948slwAEG50TW9kaWZpY2F0aW9uRXgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnQAAAEAYSBpcyBmb3VuZCAoQ0FTU0FORFJBLTU3OCkKICogZml4IHBvdGVudGlhbCBOUEUgaW4gaGludGVkIGhhbmRvZmYgKENBU1NBTkRSQS01ODUpCiAqIGZpeCBjbGVhbnVwIG9mIGxvY2FsICJzeXN0ZW0iIGtleXNwYWNlIChDQVNTQU5EUkEtNTc2KQogKiBpbXByb3ZlIGNvbXB1dGF0aW9uIG9mIGNsdXN0ZXIgbG9hZCBiYWxhbmNlIChDQVNTQU5EUkEtNTU0KQogKiBhZGRlZCBzdXBlciBjb2x1bW4gcmVhZC93cml0ZSwgY29sdW1uIGNvdW50LCBhbmQgY+AO9FYAAAFP3jyyXAAQdG9yIChDQVNTQU5EUkEtNAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgudAAAAQBORFJBLTY5NDIpCiAqIFByZXNlcnZlcyBDUUwgbWV0YWRhdGEgd2hlbiB1cGRhdGluZyB0YWJsZSBmcm9tIHRocmlmdCAoQ0FTU0FORFJBLTY4MzEpCk1lcmdlZCBmcm9tIDEuMjoKICogRml4IG5vZGV0b29sIGRpc3BsYXkgd2l0aCB2bm9kZXMgKENBU1NBTkRSQS03MDgyKQogKiBBZGQgVU5MT0dHRUQsIENPVU5URVIgb3B0aW9ucyB0byBCQVRDSCBkb2N1bWVudGF0aW9uIChDQVNTQU5EUkEtNjgxNikKICogYWRkIGV4dHJhIFNTTCBjaXBoZXIgc3VpSBp/xgAAAU/ePLJcABBwIG9uIFdpbmRvd3Mgd2hlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC50AAABAG0gc2NoZW1hIHRhYmxlcyAoQ0FTU0FORFJBLTc2NjgpCiAqIFNpbXBsZVNlZWRQcm92aWRlciBubyBsb25nZXIgY2FjaGVzIHNlZWRzIGZvcmV2ZXIgKENBU1NBTkRSQS03NjYzKQogKiBTZXQgY29ycmVjdCBzdHJlYW0gSUQgb24gcmVzcG9uc2VzIHdoZW4gbm9uLUV4Y2VwdGlvbiBUaHJvd2FibGVzCiAgIGFyZSB0aHJvd24gd2hpbGUgaGFuZGxpbmcgbmF0aXZlIHByb3RvY29sIG1lc3NhZ2VzIChDQVNTQU5EUkEtNzQ3MCkKICogRml4IHJvdyBzaXod3R4nABajBtAHDi8AAAFP3jyyXAAQY2VzIChDQVNTQU5EUkEtMwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgudgAAAQBwcmVwYXJlZCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNDczOSkKICogU3RvcmUgbW9yZSBpbmZvcm1hdGlvbiBpbnRvIHBlZXJzIHRhYmxlIChDQVNTQU5EUkEtNDM1MSwgNDgxNCkKICogQ29uZmlndXJhYmxlIGJ1Y2tldCBzaXplIGZvciBzaXplIHRpZXJlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtNDcwNCkKICogUnVuIGxldmVsZWQgY29tcGFjdGlvbiBpbiBwYXJhbGxlbCAoQ0FTU0FORFJBLTQzMTApCiAqIEZpeCBwb3RlbnRpYWwgTlBFIGR1cmlumP0G9gAAAU/ePLJcABAgbWVzc2FnZXMgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC52AAABAGQgSk1YIGNhbGwgdG8gY2xlYW4gKGZhaWxlZCkgcmVwYWlyIHNlc3Npb25zIChDQVNTQU5EUkEtMzMxNikKICogZml4IHNzdGFibGVsb2FkZXIgcmVmZXJlbmNlIGFjcXVpc2l0aW9uIGJ1ZyAoQ0FTU0FORFJBLTM0MzgpCiAqIGZpeCBlc3RpbWF0ZWQgcm93IHNpemUgcmVncmVzc2lvbiAoQ0FTU0FORFJBLTM0NTEpCiAqIG1ha2Ugc3VyZSB3ZSBkb24ndCByZXR1cm4gbW9yZSBjb2x1bW5zIHRoYW4gYXNrZWQgKENBU1NBTkRSQS0zMzAzLCAzMzk1KQrEwa7tAAABT948slwAEG1lbnRzIHRoYXQgYWx3YXkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnYAAAEAZW91dCB3aGVuIHJlYWRpbmcgcmVtb3RlIHZlcnNpb24gKENBU1NBTkRSQS04MTg4KQogKiBSZWZhY3RvciBob3cgd2UgdHJhY2sgbGl2ZSBzaXplIChDQVNTQU5EUkEtNzg1MikKICogTWFrZSBzdXJlIHVuZmluaXNoZWQgY29tcGFjdGlvbiBmaWxlcyBhcmUgcmVtb3ZlZCAoQ0FTU0FORFJBLTgxMjQpCiAqIEZpeCBzaHV0ZG93biB3aGVuIHJ1biBhcyBXaW5kb3dzIHNlcnZpY2UgKENBU1NBTkRSQS04MTM2KQogKiBGaXggREVTQ1JJQkUgVEFCTEUgd/fvaZQAAAFP3jyyXAAQIGRpZmZlcmVudCB0aW1lcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgudgAAAQBtaWxpZXMgKENBU1NBTkRSQS0zNDE1KQogKiBNYWtlIGNvdW50ZXIgc2hhcmQgbWVyZ2luZyB0aHJlYWQgc2FmZSAoQ0FTU0FORFJBLTMxNzgpCiAqIFJldmVydCBDQVNTQU5EUkEtMjg1NQogKiBGaXggYnVnIHByZXZlbnRpbmcgdGhlIHVzZSBvZiBlZmZpY2llbnQgY3Jvc3MtREMgd3JpdGVzIChDQVNTQU5EUkEtMzQ3MikKICogYGRlc2NyaWJlIHJpbmdgIGNvbW1hbmQgZm9yIENMSSAoQ0FTU0FORFJBLTMyMjApCiAqIChIYWRvb3ApIHNraXAgZW1wLUMRjwAAAU/ePLJcABBydCBmb3IgZnJvemVuIFVEAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC52AAABAAogICBkaXNrIHdyaXRlciBoYXMgY3Jhc2hlZCAoQ0FTU0FORFJBLTg4MDcpCgoKMi4xLjQKICogQmluZCBKTVggdG8gbG9jYWxob3N0IHVubGVzcyBleHBsaWNpdGx5IGNvbmZpZ3VyZWQgb3RoZXJ3aXNlIChDQVNTQU5EUkEtOTA4NSkKCgoyLjEuMwogKiBGaXggSFNIQS9vZmZoZWFwX29iamVjdHMgY29ycnVwdGlvbiAoQ0FTU0FORFJBLTg3MTkpCiAqIFVwZ3JhZGUgbGlidGhyaWZ0IHRvIDAuOS4yIChDQVNTQU5EUkEtODY4NSkKICogRG9uJ3QgdXOMwf0ZAAABT948slwAEHQgKENBU1NBTkRSQS0xOTYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnYAAAEARml4IHJlZ3Jlc3Npb24gaW4gbWl4ZWQgc2luZ2xlIGFuZCBtdWx0aS1jb2x1bW4gcmVsYXRpb24gc3VwcG9ydCBmb3IKICAgU0VMRUNUIHN0YXRlbWVudHMgKENBU1NBTkRSQS04NjEzKQogKiBBZGQgYWJpbGl0eSB0byBsaW1pdCBudW1iZXIgb2YgbmF0aXZlIGNvbm5lY3Rpb25zIChDQVNTQU5EUkEtODA4NikKICogRml4IENRTFNTVGFibGVXcml0ZXIgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBzcGF3bmluZyB0aHJlYWRzCiAgIChDQVNTQU5EUkEtOIfwGtwAAAFP3jyyXAAQdG8gdXNlIGJ5dGVbXSBrZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgudgAAAQAgKiBDb3JyZWN0bHkgY2F0Y2ggZXhjZXB0aW9uIHdoZW4gU25hcHB5IGNhbm5vdCBiZSBsb2FkZWQgKENBU1NBTkRSQS00NDAwKQogKiAoY3FsMykgU3VwcG9ydCBPUkRFUiBCWSB3aGVuIElOIGNvbmRpdGlvbiBpcyBnaXZlbiBpbiBXSEVSRSBjbGF1c2UgKENBU1NBTkRSQS00MzI3KQogKiAoY3FsMykgZGVsZXRlICJjb21wb25lbnRfaW5kZXgiIGNvbHVtbiBvbiBEUk9QIFRBQkxFIGNhbGwgKENBU1NBTkRSQS00NDIwKQogKiBjaGFuZ2UgbmFub1Rp742pUQAAAU/ePLJcABBhdHRpbmcgZm9yIGZ1bmN0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC52AAABACBGaXggTVQgbWlzbWF0Y2ggYmV0d2VlbiBlbXB0eSBhbmQgR0MtYWJsZSBkYXRhIChDQVNTQU5EUkEtODk3OSkKICogRml4IGluY29ycmVjdCB2YWxpZGF0aW9uIHdoZW4gc25hcHNob3R0aW5nIHNpbmdsZSB0YWJsZSAoQ0FTU0FORFJBLTgwNTYpCiAqIEFkZCBvZmZsaW5lIHRvb2wgdG8gcmVsZXZlbCBzc3RhYmxlcyAoQ0FTU0FORFJBLTgzMDEpCiAqIFByZXNlcnZlIHN0cmVhbSBJRCBmb3IgbW9yZSBwcm90b2NvbCBlcnJvcnMgKENBU1NBTkRSQS3v5WT8AAABT948slwAEG5kYXJ5SW5kZXggaXMgbm8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnYAAAEAYWJsZSBzdXBwb3J0IGluIDIuMSAoQ0FTU0FORFJBLTY4NjkpCiAqIExvY2sgY291bnRlciBjZWxscywgbm90IHBhcnRpdGlvbnMgKENBU1NBTkRSQS02ODgwKQogKiBUcmFjayBwcmVzZW5jZSBvZiBsZWdhY3kgY291bnRlciBzaGFyZHMgaW4gc3N0YWJsZXMgKENBU1NBTkRSQS02ODg4KQogKiBFbnN1cmUgc2FmZSByZXNvdXJjZSBjbGVhbnVwIHdoZW4gcmVwbGFjaW5nIHNzdGFibGVzIChDQVNTQU5EUkEtNjkxMikKICogQWRkIGZhaWx1cmUgaGFuZPU/evAAAAFP3jyyXAAQZm9yIGNvdW50ZXIgY29sdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgudgAAAQBlYW0gSUQgb24gcmVzcG9uc2VzIHdoZW4gbm9uLUV4Y2VwdGlvbiBUaHJvd2FibGVzCiAgIGFyZSB0aHJvd24gd2hpbGUgaGFuZGxpbmcgbmF0aXZlIHByb3RvY29sIG1lc3NhZ2VzIChDQVNTQU5EUkEtNzQ3MCkKCgoyLjEuMC1yYzMKICogQ29uc2lkZXIgZXhwaXJ5IHdoZW4gcmVjb25jaWxpbmcgb3RoZXJ3aXNlIGVxdWFsIGNlbGxzIChDQVNTQU5EUkEtNzQwMykKICogSW50cm9kdWNlIENRTCBzdXBwb3J0IGZvciBzdHJlc3MgdG9vbCAoQ0FTU0FOThQ4bQAAAU/ePLJcABBpdCBmb3IgY29tcHJlc3NlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC52AAABAHVlcmllcyAoQ0FTU0FORFJBLTI3MTcpCiAgIC0gcmVzcGVjdCBjbGllbnQgdGltZXN0YW1wIG9uIGZ1bGwgcm93IGRlbGV0aW9ucyAoQ0FTU0FORFJBLTI5MTIpCiAqIGltcHJvdmUgdGhyZWFkLXNhZmV0eSBpbiBTdHJlYW1PdXRTZXNzaW9uIChDQVNTQU5EUkEtMjc5MikKICogYWxsb3cgZGVsZXRpbmcgYSByb3cgYW5kIHVwZGF0aW5nIGluZGV4ZWQgY29sdW1ucyBpbiBpdCBpbiB0aGUKICAgc2FtZSBtdXRhdGlvbiAoQ0FTU0FORFJBLTI3NzMpCiCXZ3mCAAABT948slwAECBlcnJvciB3aGVuIGRvaW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnYAAAEAcmV2ZXJzZWQgcXVlcmllcyB3aXRoIHN0YXRpYyBjb2x1bW5zIChDQVNTQU5EUkEtNzQ5MCkKTWVyZ2VkIGZyb20gMS4yOgogKiBTZXQgY29ycmVjdCBzdHJlYW0gSUQgb24gcmVzcG9uc2VzIHdoZW4gbm9uLUV4Y2VwdGlvbiBUaHJvd2FibGVzCiAgIGFyZSB0aHJvd24gd2hpbGUgaGFuZGxpbmcgbmF0aXZlIHByb3RvY29sIG1lc3NhZ2VzIChDQVNTQU5EUkEtNzQ3MCkKCgoyLjEuMC1yYzMKICogQ29uc2lkZXIgZXhwaXJ5IHdoZW4gcmVjb25jaWxpbu5Ggm8AAAFP3jyyXAAQZWN0ZWQgY29sdW1uIGZhbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgudgAAAQAKICogc3BsaXQgdXAgcnBjIHRpbWVvdXQgYnkgb3BlcmF0aW9uIHR5cGUgKENBU1NBTkRSQS0yODE5KQogKiByZXdyaXRlIGtleSBjYWNoZSBzYXZlL2xvYWQgdG8gdXNlIG9ubHkgc2VxdWVudGlhbCBpL28gKENBU1NBTkRSQS0zNzYyKQogKiB1cGRhdGUgTVMgcHJvdG9jb2wgd2l0aCBhIHZlcnNpb24gaGFuZHNoYWtlICsgYnJvYWRjYXN0IGFkZHJlc3MgaWQKICAgKENBU1NBTkRSQS00MzExKQogKiBtdWx0aXRocmVhZGVkIGhpbnQgcmVwbGF5IChDgFkv+gAAAU/ePLJcABAgU2V0IGdjX2dyYWNlX3NlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC52AAABAHNhZ2Ugc2l6ZSBsaW1pdCAoQ0FTU0FORFJBLTExMzgpCiAqIHBhcmFsbGVsaXplIGxvY2FsIGFuZCByZW1vdGUgcmVhZHMgZHVyaW5nIG11bHRpZ2V0LCBhbmQgcmVzcGVjdCBzbml0Y2ggCiAgIHdoZW4gZGV0ZXJtaW5pbmcgd2hldGhlciB0byBkbyBsb2NhbCByZWFkIGZvciBDTC5PTkUgKENBU1NBTkRSQS0xMzE3KQogKiBmaXggcmVhZCByZXBhaXIgdG8gdXNlIHJlcXVlc3RlZCBjb25zaXN0ZW5jeSBsZXZlbCBvbiBkaWdlc3QgbWlzbWF0Y2gsCiDRm2ULAAABT948slwAEGwgc3N0YWJsZXMgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnYAAAEARUNUIGtleXdvcmQgKENBU1NBTkRSQS00MTYxKQogKiBQaWc6IHdpZGUgcm93IHN1cHBvcnQgKENBU1NBTkRSQS0zOTA5KQpNZXJnZWQgZnJvbSAxLjA6CiAqIGF2b2lkIHN0cmVhbWluZyBlbXB0eSBmaWxlcyB3aXRoIGJ1bGsgbG9hZGVyIGlmIHNzdGFibGV3cml0ZXIgZXJyb3JzIG91dAogICAoQ0FTU0FORFJBLTM5NDYpCgoKMS4xLXJjMQogKiBJbmNsdWRlIHN0cmVzcyB0b29sIGluIGJpbmFyeSBidWlsZHMgKENBU1NBTkRSQS00MTAzKQogKiAoSLZ/RcEAFrdjtkTquQAAAU/ePLJcABBDQVNTQU5EUkEtNTE0NCkKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC54AAABAEEtOTE5NSkKICogR0NJbnNwZWN0b3IgbG9ncyB2ZXJ5IGRpZmZlcmVudCB0aW1lcyAoQ0FTU0FORFJBLTkxMjQpCiAqIEZpeCBkZWxldGluZyBmcm9tIGFuIGVtcHR5IGxpc3QgKENBU1NBTkRSQS05MTk4KQogKiBVcGRhdGUgdHVwbGUgYW5kIGNvbGxlY3Rpb24gdHlwZXMgdGhhdCB1c2UgYSB1c2VyLWRlZmluZWQgdHlwZSB3aGVuIHRoYXQgVURUCiAgIGlzIG1vZGlmaWVkIChDQVNTQU5EUkEtOTE0OCwgQ0FTU0FORFJBLTkxOTIpCiAqIFVzZSBoaWdyG9+oAAABT948slwAEHJ0L2ZpbmlzaCAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILngAAAEAbmNyZWFzZSBzdGFjayBzaXplIHVuZGVyIEphdmE3IHRvIDE4MEsKICogTG9nKGluZm8pIHNjaGVtYSBjaGFuZ2VzIChDQVNTQU5EUkEtNDU0NykKICogQ2hhbmdlIG5vZGV0b29sIHNldGNhY2hlY2FwY2l0eSB0byBtYW5pcHVsYXRlIGdsb2JhbCBjYWNoZXMgKENBU1NBTkRSQS00NTYzKQogKiAoY3FsMykgZml4IHNldHRpbmcgY29tcGFjdGlvbiBzdHJhdGVneSAoQ0FTU0FORFJBLTQ1OTcpCiAqIGZpeCBicm9rZW4gc3lzdGVtLnNjaGVtYV8qIHRpbXVHXG0AAAFP3jyyXAAQQU5EUkEtMTM0MikKICogcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgueAAAAQAoQ0FTU0FORFJBLTc4MzQpCiAqIEZpeCBmYWlsdXJlIHRvIHN0cmVhbSByYW5nZXMgd2hlbiBtb3ZpbmcgKENBU1NBTkRSQS03ODM2KQogKiBDb3JyZWN0bHkgcmVtb3ZlIHRtcGxpbmsgZmlsZXMgKENBU1NBTkRSQS03ODAzKQogKiAoY3Fsc2gpIEZpeCBjb2x1bW4gbmFtZSBmb3JtYXR0aW5nIGZvciBmdW5jdGlvbnMsIENBUyBvcGVyYXRpb25zLAogICBhbmQgVURUIGZpZWxkIHNlbGVjdGlvbnMgKENBU1NBTkRSQS03ODA2KQogKiAoY3Fsc2gpIEZpuoLSDwAAAU/ePLJcABBjb2wgTkVXX05PREUgZXZlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC54AAABAHRvY29sIHNlcnZlciAoQ0FTU0FORFJBLTU0NjcpCiAqIEZpeCB1c2Ugb2YgQ1FMMyBmdW5jdGlvbnMgd2l0aCBkZXNjZW5kaW5nIGNsdXN0ZXJpbmcgb3JkZXIgKENBU1NBTkRSQS01NDcyKQogKiBEaXNhbGxvdyByZW5hbWluZyBjb2x1bW5zIG9uZSBhdCBhIHRpbWUgZm9yIHRocmlmdCB0YWJsZSBpbiBDUUwzCiAgIChDQVNTQU5EUkEtNTUzMSkKICogY3Fsc2g6IGFkZCBDTFVTVEVSSU5HIE9SREVSIEJZIHN1cHBvcnQgdG8gREVTQ1JJQkUgKENBU1MSWELhAAABT948slwAECAqIGZpeCBpbmNvcnJlY3QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILngAAAEAQ09MVU1ORkFNSUxJRVMgKENBU1NBTkRSQS0zNTg2KQogKiAoY3Fsc2gpIGZvcm1hdCBibG9icyBjb3JyZWN0bHkgYW5kIHVzZSBjb2xvcnMgdG8gaW1wcm92ZSBvdXRwdXQKICAgcmVhZGFiaWxpdHkgKENBU1NBTkRSQS0zNzI2KQogKiBzeW5jaHJvbml6ZSBCaU1hcCBvZiBib290c3RyYXBwaW5nIHRva2VucyAoQ0FTU0FORFJBLTM0MTcpCiAqIHNob3cgaW5kZXggb3B0aW9ucyBpbiBDTEkgKENBU1NBTkRSQS0zODA5KQogKiBhZGQgb3B0aW9uYWwgcwf2rG8AAAFP3jyyXAAQZWQgQkFUQ0ggc3RhdGVtZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgueAAAAQApCiAqIFNhdmUgY29tcGFjdGlvbiBoaXN0b3J5IHRvIHN5c3RlbSBrZXlzcGFjZSAoQ0FTU0FORFJBLTUwNzgpCiAqIEZpeCBOUEUgaWYgU3RvcmFnZVNlcnZpY2UuZ2V0T3BlcmF0aW9uTW9kZSgpIGlzIGV4ZWN1dGVkIGJlZm9yZSBmdWxsIHN0YXJ0dXAgKENBU1NBTkRSQS02MTY2KQogKiBDUUwzOiBzdXBwb3J0IHByZS1lcG9jaCBsb25ncyBmb3IgVGltZXN0YW1wVHlwZSAoQ0FTU0FORFJBLTYyMTIpCiAqIEFkZCByZWxvYWR0cmlnZ2VycyBjb21tW5k2ZQAAAU/ePLJcABBvdWdoIEpNWCAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC54AAABADExMTIpCiAqIGtpbGwgc2VydmVyIG9uIE9PTSBpbiBleGVjdXRvciBzdGFnZSBhcyB3ZWxsIGFzIFRocmlmdCAoQ0FTU0FORFJBLTEyMjYpCiAqIHJlbW92ZSBvcHBvcnR1bmlzdGljIHJlcGFpcnMsIHdoZW4gdHdvIG1hY2hpbmVzIHdpdGggb3ZlcmxhcHBpbmcgcmVwbGljYQogICByZXNwb25zaWJpbGl0aWVzIGhhcHBlbiB0byBmaW5pc2ggbWFqb3IgY29tcGFjdGlvbnMgb2YgdGhlIHNhbWUgQ0YgbmVhcgogICB0aGUgc2FtZSB0aW1lLiAgcmVwYWnTVBkTAAABT948slwAEDkyNykKICogaW1wbGVtZW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILngAAAEAdHMgKENBU1NBTkRSQS0zMzQ3KQogKiByZWNvcmQgcGFydGl0aW9uZXIgaW4gc3N0YWJsZSBtZXRhZGF0YSBjb21wb25lbnQgKENBU1NBTkRSQS0zNDA3KQogKiBhZGQgbmV3IHVwZ3JhZGVzc3RhYmxlcyBub2RldG9vbCBjb21tYW5kIChDQVNTQU5EUkEtMzQwNikKICogc2tpcCAtLWRlYnVnIHJlcXVpcmVtZW50IHRvIHNlZSBjb21tb24gZXhjZXB0aW9ucyBpbiBDTEkgKENBU1NBTkRSQS0zNTA4KQogKiBmaXggaW5jb3JyZWN0IHF1ZXJ5IHJlc3VsdMV5T6cAAAFP3jyyXAAQYW5kIHJlZ3VsYXIgY29sdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgueAAAAQA1NikKICogUHVzaCBjb21wb3NpdGVzIHN1cHBvcnQgaW4gdGhlIHN0b3JhZ2UgZW5naW5lCiAgIChDQVNTQU5EUkEtNTQxNywgQ0FTU0FORFJBLTY1MjApCiAqIEFkZCBzbmFwc2hvdCBzcGFjZSB1c2VkIHRvIGNmc3RhdHMgKENBU1NBTkRSQS02MjMxKQogKiBBZGQgY2FyZGluYWxpdHkgZXN0aW1hdG9yIGZvciBrZXkgY291bnQgZXN0aW1hdGlvbiAoQ0FTU0FORFJBLTU5MDYpCiAqIENGIGlkIGlzIGNoYW5nZWQgdG8gYmUgbm9uLWRldGVybWluaXN0qq4u7gAAAU/ePLJcABA1NSkKICogRml4IGhhbmRsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC54AAABAHVzZWQgb24gYSBDQVMgQkFUQ0ggKENBU1NBTkRSQS03MDY3KQogKiByZXR1cm4gYWxsIGNwdSB2YWx1ZXMgZnJvbSBCYWNrZ3JvdW5kQWN0aXZpdHlNb25pdG9yLnJlYWRBbmRDb21wdXRlIChDQVNTQU5EUkEtNzE4MykKICogQ29ycmVjdGx5IGRlbGV0ZSBzY2hlZHVsZWQgcmFuZ2UgeGZlcnMgKENBU1NBTkRSQS03MTQzKQogKiByZXR1cm4gYWxsIGNwdSB2YWx1ZXMgZnJvbSBCYWNrZ3JvdW5kQWN0aXZpdHlNb25pdG9yLnJlYWRBbmRDb21wdXRlICgxSqAoAAABT948slwAEFNBTkRSQS03NDkwKQpNZXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILngAAAEAZSBPcE9yZGVyIHRvIGd1YXJkIHNzdGFibGUgcmVmZXJlbmNlcyBmb3IgcmVhZHMgKENBU1NBTkRSQS02OTE5KQogKiBQcmVlbXB0aXZlIG9wZW5pbmcgb2YgY29tcGFjdGlvbiByZXN1bHQgKENBU1NBTkRSQS02OTE2KQogKiBNdWx0aS10aHJlYWRlZCBzY3J1Yi9jbGVhbnVwL3VwZ3JhZGVzc3RhYmxlcyAoQ0FTU0FORFJBLTU1NDcpCiAqIE9wdGltaXplIGNlbGxuYW1lIGNvbXBhcmlzb24gKENBU1NBTkRSQS02OTM0KQogKiBOYXRpdmUgcHJvdG9jb/ITpXEAAAFP3jyyXAAQIHRvIHNldCByZXBhaXJlZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgueAAAAQBpeCBERVNDUklCRSBUQUJMRSB3aXRoIGN1c3RvbSBpbmRleGVzIChDQVNTQU5EUkEtODAzMSkKICogRml4IHJhY2UgaW4gUmVjb3ZlcnlNYW5hZ2VyVGVzdCAoQ0FTU0FORFJBLTgxNzYpCiAqIEF2b2lkIElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiB3aGlsZSBzb3J0aW5nIHNzdGFibGVzIGluCiAgIEluZGV4U3VtbWFyeU1hbmFnZXIgKENBU1NBTkRSQS04MTgyKQogKiBTaHV0ZG93biBKVk0gb24gZmlsZSBkZXNjcmlwdG9yIGV4aGF1c3Rpb24gKENBuBaJ9wAAAU/ePLJcABBpb25zIGluIGxpZ2h0d2VpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC54AAABAGVhdGVkIGtleXNwYWNlIGRpc2FwcGVyaW5nIGFmdGVyIDEuMS41IHVwZ3JhZGUgCiAgIChDQVNTQU5EUkEtNDY5OCwgNDc1MikKICogKENMSSkgZGlzcGxheSBlbGFwc2VkIHRpbWUgaW4gMiBmcmFjdGlvbiBkaWdpdHMgKENBU1NBTkRSQS0zNDYwKQogKiBhZGQgYXV0aGVudGljYXRpb24gc3VwcG9ydCB0byBzc3RhYmxlbG9hZGVyIChDQVNTQU5EUkEtNDcxMikKICogRml4IENRTDMgJ2lzIHJldmVyc2VkJyBsb2dpYyAoQ0FTU0FORFJBLTQ3MTYsIDQtacVBAAABT948slwAEHQgSlZNIEdDIG5ldyBnZW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILngAAAEAIFRUTC9USU1FU1RBTVAgKENBU1NBTkRSQS02NjQ5KQogKiBSZXBsYWNlIGluZGV4X2ludGVydmFsIHdpdGggbWluL21heF9pbmRleF9pbnRlcnZhbCAoQ0FTU0FORFJBLTYzNzkpCiAqIExpZnQgbGltaXRhdGlvbiB0aGF0IG9yZGVyIGJ5IGNvbHVtbnMgbXVzdCBiZSBzZWxlY3RlZCBmb3IgSU4gcXVlcmllcyAoQ0FTU0FORFJBLTQ5MTEpCgoKMi4wLjUKICogUmVkdWNlIGdhcmJhZ2UgZ2VuZXJhdGVkIGJ5IGJsb29tIGZpbHRlciBsb29rdXBzIChDQdNLDSEAAAFP3jyyXAAQU0FORFJBLTE2NzgpCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgueAAAAQBzZS1wb3NpdGl2ZSBhc3NlcnRpb24KICAgZHVyaW5nIHBvc3QtZmx1c2ggZGlzY2FyZCBvZiBvbGQgY29tbWl0bG9nIHNlZ21lbnRzIChDQVNTQU5EUkEtOTM2KQogKiBmaXggbmVpZ2hib3IgY2FsY3VsYXRpb24gZm9yIGFudGktZW50cm9weSByZXBhaXIgKENBU1NBTkRSQS05MjQpCiAqIHBlcmZvcm0gcmVwYWlyIGV2ZW4gZm9yIHNtYWxsIGVudHJvcHkgZGlmZmVyZW5jZXMgKENBU1NBTkRSQS05MjQpCiAqIFVzZSBob3N0bmFtZXMgaW4gQ0ZJbnB1lzBHzAAWy8ClMqg7AAABT948slwAEGJ5IFJldmVyc2VkVHlwZSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnoAAAEAIHByb3Blcmx5IChDQVNTQU5EUkEtNjQyNSkKICogRml4IHBvdGVudGlhbCBpbmZpbml0ZSBsb29wIHdoZW4gcGFnaW5nIHF1ZXJ5IHdpdGggSU4gKENBU1NBTkRSQS02NDY0KQogKiBGaXggYXNzZXJ0aW9uIGVycm9yIGluIEFic3RyYWN0UXVlcnlQYWdlci5kaXNjYXJkRmlyc3QgKENBU1NBTkRSQS02NDQ3KQogKiBGaXggc3RyZWFtaW5nIG9sZGVyIFNTVGFibGUgeWllbGRzIHVubmVjZXNzYXJ5IHRvbWJzdG9uZXMgKENBU1NBTkRSQS02NTI3KQpNZXIOgSMAAAFP3jyyXAAQc2hlZCBjb21wYWN0aW9uIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguegAAAQBBTkRSQS03MDU4KQogKiBNZXJnZSBncm91cGFibGUgbXV0YXRpb25zIGluIFRyaWdnZXJFeGVjdXRvciNleGVjdXRlKCkgKENBU1NBTkRSQS03MDQ3KQogKiBQbHVnIGhvbGVzIGluIHJlc291cmNlIHJlbGVhc2Ugd2hlbiB3aXJpbmcgdXAgU3RyZWFtU2Vzc2lvbiAoQ0FTU0FORFJBLTcwNzMpCiAqIFJlLWFkZCBwYXJhbWV0ZXIgY29sdW1ucyB0byB0cmFjaW5nIHNlc3Npb24gKENBU1NBTkRSQS02OTQyKQogKiBQcmVzZXJ2ZXMgQ1FMIG1ldGFkYXRh5pm1qwAAAU/ePLJcABAgVW5sZXNzIGEgdG9rZW4gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC56AAABACB2ZXJzaW9uLCBjbHVzdGVyLCBwYXJ0aXRpb25lciB0byBKTVggKENBU1NBTkRSQS01ODgxKQogKiBBbGxvdyBkaXNhYmxpbmcgU2xhYkFsbG9jYXRvciAoQ0FTU0FORFJBLTU5MzUpCiAqIE1ha2UgdXNlci1kZWZpbmVkIGNvbXBhY3Rpb24gSk1YIGJsb2NraW5nIChDQVNTQU5EUkEtNDk1MikKICogRml4IHN0cmVhbWluZyBkb2VzIG5vdCB0cmFuc2ZlciB3cmFwcGVkIHJhbmdlIChDQVNTQU5EUkEtNTk0OCkKICogRml4IGxvYWRpbmcgaW5kZXggc3Xli/URAAABT948slwAEC1zcGVjaWZ5aW5nIGhvc3QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnoAAAEAIGFuZCB0YWJsZSBuYW1lIGluIGVycm9yIGxvZyBmb3IgY29sbGVjdGlvbnMgb3ZlciB0aGUgc2l6ZQogICBsaW1pdCAoQ0FTU0FORFJBLTkyODYpCiAqIEF2b2lkIHBvdGVudGlhbCBvdmVybGFwIGluIExDUyB3aXRoIHNpbmdsZS1wYXJ0aXRpb24gc3N0YWJsZXMgKENBU1NBTkRSQS05MzIyKQogKiBMb2cgd2FybmluZyBtZXNzYWdlIHdoZW4gYSB0YWJsZSBpcyBxdWVyaWVkIGJlZm9yZSB0aGUgc2NoZW1hIGhhcyBmdWxseQogICBwcm9wYWdhdGVkIJII5WAAAAFP3jyyXAAQbHZlZCAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguegAAAQBBTEwgb24gcmVhZCAoQ0FTU0FORFJBLTU4NCkKICogYWRkIG5vZGVwcm9iZSByZW1vdmV0b2tlbiBjb21tYW5kIChDQVNTQU5EUkEtNTY0KQoKCjAuNS4wIGJldGEKICogQWxsb3cgbXVsdGlwbGUgc2ltdWx0YW5lb3VzIGZsdXNoZXMsIGltcHJvdmluZyBmbHVzaCB0aHJvdWdocHV0IAogICBvbiBtdWx0aWNvcmUgc3lzdGVtcyAoQ0FTU0FORFJBLTQwMSkKICogU3BsaXQgdXAgbG9ja3MgdG8gaW1wcm92ZSB3cml0ZSBhbmQgcmVhZCB0aHJvdWdocHV0WlMuWQAAAU/ePLJcABBsdHMgaW4gc2Vjb25kYXJ5AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC56AAABAHRyYWN0VHlwZS5mcm9tU3RyaW5nIChDQVNTQU5EUkEtMTc2NykKICogcmVxdWlyZSBpbmRleF90eXBlIHRvIGJlIHByZXNlbnQgd2hlbiBzcGVjaWZ5aW5nIGluZGV4X25hbWUKICAgb24gQ29sdW1uRGVmIChDQVNTQU5EUkEtMTc1OSkKICogZml4IGFkZC9yZW1vdmUgaW5kZXggYnVncyBpbiBDRk1ldGFkYXRhIChDQVNTQU5EUkEtMTc2OCkKICogcmVidWlsZCBTdHJhdGVneSBkdXJpbmcgc3lzdGVtX3VwZGF0ZV9rZXlzcGFjZSAoQ0FTU0FORFJBLTE9/LPPAAABT948slwAEEFTU0FORFJBLTM5OSkKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnoAAAEAYXAgb3V0c2lkZSBvZiBob3QgZ29zc2lwIGxvb3BzIChDQVNTQU5EUkEtNzc1OCkKICogRml4IE1TIGV4cGlyaW5nIG1hcCB0aW1lb3V0IGZvciBQYXhvcyBtZXNzYWdlcyAoQ0FTU0FORFJBLTc3NTIpCiAqIERvIG5vdCBmbHVzaCBvbiB0cnVuY2F0ZSBpZiBkdXJhYmxlX3dyaXRlcyBpcyBmYWxzZSAoQ0FTU0FORFJBLTc3NTApCiAqIEdpdmUgQ1JSIGEgZGVmYXVsdCBpbnB1dF9jcWwgU3RhdGVtZW50IChDQVNTQU5EUkEtNzIyNikKICogQmV0dGVyIL5qNWsAAAFP3jyyXAAQYXNlIEhIIHBhZ2Ugc2l6ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguegAAAQBvcmUtZWZmaWNpZW50IHJlYWQgcmVwYWlyIChDQVNTQU5EUkEtMTcxOSkKICogZml4IGhpbnRlZCBoYW5kb2ZmIHJlcGxheSAoQ0FTU0FORFJBLTE2NTYpCiAqIGxvZyB0eXBlIG9mIGRyb3BwZWQgbWVzc2FnZXMgKENBU1NBTkRSQS0xNjc3KQogKiB1cGdyYWRlIHRvIFNMRjRKIDEuNi4xCiAqIGZpeCBCeXRlQnVmZmVyIGJ1ZyBpbiBFeHBpcmluZ0NvbHVtbi51cGRhdGVEaWdlc3QgKENBU1NBTkRSQS0xNjc5KQogKiBmaXggSW50ZWdlclR5cGUuZ2V0oJFpCwAAAU/ePLJcABBORFJBLTMyMjApCiAqIChIAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC56AAABAGEgdG93YXJkcyBNZW10YWJsZSBsaXZlUmF0aW8gKENBU1NBTkRSQS0zMDIzKQogKiBLaWxsIHNlcnZlciBvbiB3cmFwcGVkIE9PTUUgc3VjaCBhcyBmcm9tIEZpbGVDaGFubmVsLm1hcCAoQ0FTU0FORFJBLTMyMDEpCiAqIHJlbW92ZSB1bm5lY2Vzc2FyeSBjb3B5IHdoZW4gYWRkaW5nIHRvIHJvdyBjYWNoZSAoQ0FTU0FORFJBLTMyMjMpCiAqIExvZyBtZXNzYWdlIHdoZW4gYSBmdWxsIHJlcGFpciBvcGVyYXRpb24gY29tcGxldGVzIChDQVNTQU5EUkHQgZlaAAABT948slwAEHdvcmsgdG9rZW4gcmVwbGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnoAAAEAICogaGFuZGxlIHJlcGxpY2EgdW5hdmFpbGFiaWxpdHkgaW4gaW5kZXggc2NhbiAoQ0FTU0FORFJBLTE3NTUpCiAqIGZpeCBzZXJ2aWNlIGluaXRpYWxpemF0aW9uIG9yZGVyIGRlYWRsb2NrIChDQVNTQU5EUkEtMTc1NikKICogbXVsdGktbGluZSBjbGkgY29tbWFuZHMgKENBU1NBTkRSQS0xNzQyKQogKiBmaXggcmFjZSBiZXR3ZWVuIHNuYXBzaG90IGFuZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtMTczNikKICogYWRkIGxpc3RFbmRwb2ludHNQZW5kacRz4LAAAAFP3jyyXAAQeS4KICAgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguegAAAQBsaWRhdGlvbiBmb3IgSU4gd2hlcmUgY2xhdXNlcyB3aXRoIGNvbGxlY3Rpb25zIChDQVNTQU5EUkEtNTM3NikKICogQ29weSByZXN1bHRTZXQgb24gY291bnQgcXVlcnkgdG8gYXZvaWQgQ29uY3VycmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlvbiAKICAgKENBU1NBTkRSQS01MzgyKQogKiBDb3JyZWN0bHkgdHlwZWNoZWNrIGluIENRTDMgZXZlbiB3aXRoIFJldmVyc2VkVHlwZSAoQ0FTU0FORFJBLTUzODYpCiAqIEZpeCBzdHJlYW1pbmcgY29tcHJlc3Nl6Ln7EgAAAU/ePLJcABBBZGQgYSBuYXRpdmVfcHJvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC56AAABAGVyaWFsVmVyc2lvblVJRCBmb3IgdG9rZW5zIGNsYXNzIChDQVNTQU5EUkEtMjM2MSkKICogZml4IHBvdGVudGlhbCBpbmZpbml0ZSBsb29wIGluIEJ5dGVCdWZmZXJVdGlsLmlucHV0U3RyZWFtIChDQVNTQU5EUkEtMjM2NSkKICogZml4IGVuY29kaW5nIGJ1Z3MgaW4gSGludGVkSGFuZG9mZk1hbmFnZXIsIFN5c3RlbVRhYmxlIHdoZW4gZGVmYXVsdAogICBjaGFyc2V0IGlzIG5vdCBVVEY4IChDQVNTQU5EUkEtMjM2NykKICogYXZvaWRzIGhhdmluZyA5Wu9XAAABT948slwAEDUpCiAqIEFkZCBhYmlsaXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnoAAAEAaW9uIHdpdGggd3JpdGVzIGF0IENMLkVBQ0hfUVVPUk0gKENBU1NBTkRSQS0zMDg0KQogKiBmaXggcGFyc2luZyBvZiB0aGUgS2V5c3BhY2UgYW5kIENvbHVtbkZhbWlseSBuYW1lcyBpbiBudW1lcmljCiAgIGFuZCBzdHJpbmcgcmVwcmVzZW50YXRpb25zIGluIENMSSAoQ0FTU0FORFJBLTMwNzUpCiAqIGZpeCBjb3JuZXIgY2FzZXMgaW4gUmFuZ2UuZGlmZmVyZW5jZVRvRmV0Y2ggKENBU1NBTkRSQS0zMDg0KQogKiBmaXggaXAgYWRkcmVzcyBTdHJpbuUv+lsAAAFP3jyyXAAQKQogKiBBbGxvdyBjb25jdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguegAAAQBORFJBLTcxMzIpCiAqIHJlbW92ZSBkdXBsaWNhdGUgcXVlcnkgZm9yIGxvY2FsIHRva2VucyAoQ0FTU0FORFJBLTcxODIpCiAqIGV4aXQgQ1FMU0ggd2l0aCBlcnJvciBzdGF0dXMgY29kZSBpZiBzY3JpcHQgZmFpbHMgKENBU1NBTkRSQS02MzQ0KQogKiBGaXggYnVnIHdpdGggc29tZSBJTiBxdWVyaWVzIG1pc3NpZyByZXN1bHRzIChDQVNTQU5EUkEtNzEwNSkKICogRml4IGF2YWlsYWJpbGl0eSB2YWxpZGF0aW9uIGZvciBMT0NBTF9PTkUgQ0wgKENBe24CvwAAAU/ePLJcABAgdGltZXN0YW1wcyBjb3JyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC56AAABADU3MSkKICogYXZvaWQgcmVjdXJzaW9uIGluIGxldmVsZWQgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTQ1ODcpCiAqIGluY3JlYXNlIHN0YWNrIHNpemUgdW5kZXIgSmF2YTcgdG8gMTgwSwogKiBMb2coaW5mbykgc2NoZW1hIGNoYW5nZXMgKENBU1NBTkRSQS00NTQ3KQogKiBDaGFuZ2Ugbm9kZXRvb2wgc2V0Y2FjaGVjYXBjaXR5IHRvIG1hbmlwdWxhdGUgZ2xvYmFsIGNhY2hlcyAoQ0FTU0FORFJBLTQ1NjMpCiAqIChjcWwzKSBmaXggc2V0dGluZyBjb20wtTt7ABbgHWlnbJMAAAFP3jyyXAAQCiAqIEZpeCBsb2FkaW5nIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgufAAAAQBOWSAoQ0FTU0FORFJBLTYxMzIpCiAqIEZpeCByYWNlIGNvbmRpdGlvbnMgaW4gYnVsayBsb2FkZXIgKENBU1NBTkRSQS02MTI5KQogKiBBZGQgY29uZmlndXJhYmxlIG1ldHJpY3MgcmVwb3J0aW5nIChDQVNTQU5EUkEtNDQzMCkKICogZHJvcCBxdWVyaWVzIGV4Y2VlZGluZyBhIGNvbmZpZ3VyYWJsZSBudW1iZXIgb2YgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTYxMTcpCiAqIFRyYWNrIGFuZCBwZXJzaXN0IHNzdGFibGUgcmVhZCBhY3Rpdml0eSAoQ0FTrtOy6wAAAU/ePLJcABBleFN1bW1hcnkgZHVyaW5nAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC58AAABAHJhY2tpbmcgcmVhZHMgb24gaW5jcmVtZW50YWxseSBvcGVuZWQgc3N0YWJsZQogICByZWFkZXJzIChDQVNTQU5EUkEtODA2NikKICogRml4IEVYRUNVVEUgcmVxdWVzdCB3aXRoIHNraXBNZXRhZGF0YT1mYWxzZSByZXR1cm5pbmcgbm8gbWV0YWRhdGEKICAgKENBU1NBTkRSQS04MDU0KQogKiBBbGxvdyBjb25jdXJyZW50IHVzZSBvZiBDUUxCdWxrT3V0cHV0Rm9ybWF0IChDQVNTQU5EUkEtNzc3NikKICogU2h1dGRvd24gSlZNIG9uIE9PTSAoQ0FTU0El8T8iAAABT948slwAEHNvbHZlciAoQ0FTU0FORFIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnwAAAEAYXRpb25fZmFjdG9yIHN0cmF0ZWd5X29wdGlvbiBmb3IgTlRTIChDQVNTQU5EUkEtMzAxMSkKICogbWFrZSBzdXJlIHByZS10cnVuY2F0ZSBDTCBzZWdtZW50cyBhcmUgZGlzY2FyZGVkIChDQVNTQU5EUkEtMjk1MCkKCgowLjguMwogKiBhZGQgYWJpbGl0eSB0byBkcm9wIGxvY2FsIHJlYWRzL3dyaXRlcyB0aGF0IGFyZSBnb2luZyB0byB0aW1lb3V0CiAgIChDQVNTQU5EUkEtMjk0MykKICogcmV2YW1wIHRva2VuIHJlbW92YWwgcHJvY2Vzcywga2VlcDi171YAAAFP3jyyXAAQZW1vdmluZyBzbmFwc2hvdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgufAAAAQB1cmluZyBib290c3RyYXAgKENBU1NBTkRSQS0yNjEyKSAKICogZml4IENRTCB0cmVhdG1lbnQgb2YgPiBhbmQgPCBvcGVyYXRvcnMgaW4gcmFuZ2Ugc2xpY2VzIChDQVNTQU5EUkEtMjU5MikKICogZml4IHBvdGVudGlhbCBkb3VibGUtYXBwbGljYXRpb24gb2YgY291bnRlciB1cGRhdGVzIG9uIGNvbW1pdGxvZyByZXBsYXkKICAgYnkgbW92aW5nIHJlcGxheSBwb3NpdGlvbiBmcm9tIGhlYWRlciB0byBzc3RhYmxlIG1ldGFkYXRhIChDQVNTQU5EUkEtYXRIDQAAAU/ePLJcABBSb3dNdXRhdGlvbiBzZXJpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC58AAABAGVjdGlvbiB0aHJlYWQgaXMgbm90IG5hbWVkIChDQVNTQU5EUkEtOTI2MikKICogQ2xvc2UgaW5jb21pbmcgY29ubmVjdGlvbnMgd2hlbiBNZXNzYWdpbmdTZXJ2aWNlIGlzIHN0b3BwZWQgKENBU1NBTkRSQS05MjM4KQogKiBGaXggc3RyZWFtaW5nIGhhbmcgd2hlbiByZXRyeWluZyAoQ0FTU0FORFJBLTkxMzIpCgoKMi4xLjUKICogUmUtYWRkIGRlcHJlY2F0ZWQgY29sZF9yZWFkc190b19vbWl0IHBhcmFtIGZvciBiYWNrd2FyZHMgY29tcGF0IChDQVPLftcNAAABT948slwAEFNTQU5EUkEtNTIyNikKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnwAAAEAKiBTdXBwb3J0IG11bHRpcGxlIHJhbmdlcyBpbiBTbGljZVF1ZXJ5RmlsdGVyIChDQVNTQU5EUkEtMzg4NSkKICogQWRkIGNvbHVtbiBtZXRhZGF0YSB0byBzeXN0ZW0gY29sdW1uIGZhbWlsaWVzIChDQVNTQU5EUkEtNDAxOCkKICogKGNxbDMpIEFsd2F5cyB1c2UgY29tcG9zaXRlIHR5cGVzIGJ5IGRlZmF1bHQgKENBU1NBTkRSQS00MzI5KQogKiAoY3FsMykgQWRkIHN1cHBvcnQgZm9yIHNldCwgbWFwIGFuZCBsaXN0IChDQVNTQU5EUkEtMzY0NykKIC7Qi0EAAAFP3jyyXAAQIG1pbi9tYXggY29tcGFjdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgufAAAAQAoQ0FTU0FORFJBLTMwMDcpCiAqIGluY2x1ZGUgY29sdW1uIG5hbWUgaW4gdmFsaWRhdGlvbiBmYWlsdXJlIGV4Y2VwdGlvbnMgKENBU1NBTkRSQS0yODQ5KQogKiBtYWtlIHN1cmUgdHJ1bmNhdGUgY2xlYXJzIG91dCB0aGUgY29tbWl0bG9nIHNvIHJlcGxheSB3b24ndCByZS0KICAgcG9wdWxhdGUgd2l0aCB0cnVuY2F0ZWQgZGF0YSAoQ0FTU0FORFJBLTI5NTApCiAqIGZpeCBOUEUgd2hlbiBkZWJ1ZyBsb2dnaW5nIGlzIGVuYWJsZWQgYW5kIGRyb3Bwec+FngAAAU/ePLJcABBucwogICAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC58AAABAEFORFJBLTMzMTgpCiAqIGZpeCBidWcgcHJldmVudGluZyBvYnNvbGV0ZSBjb21taXRsb2cgc2VnbWVudHMgZnJvbSBiZWluZyByZW1vdmVkCiAgIChDQVNTQU5EUkEtMzI2OSkKICogdG9sZXJhdGUgd2hpdGVzcGFjZSBpbiBzZWVkIENETCAoQ0FTU0FORFJBLTMyNjMpCiAqIENoYW5nZSBkZWZhdWx0IGhlYXAgdGhyZXNob2xkcyB0byBtYXgobWluKDEvMiByYW0sIDFHKSwgbWluKDEvNCByYW0sIDhHQikpCiAgIChDQVNTQU5EUkEtMzI5NSkKICogRmmls3XNAAABT948slwAEEEtMzIxOCkKICogRml4IHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnwAAAEAbmtpbmcgZG93biBub2RlcyBhcmUgdXAgZm9yZXZlciAoQ0FTU0FORFJBLTM2MjYpCiAqIHVzZSBjb3JyZWN0IGxpc3Qgb2YgcmVwbGljYXMgZm9yIExPQ0FMX1FVT1JVTSByZWFkcyB3aGVuIHJlYWQgcmVwYWlyCiAgIGlzIGRpc2FibGVkIChDQVNTQU5EUkEtMzY5NikKICogYmxvY2sgb24gZmx1c2ggYmVmb3JlIGNvbXBhY3RpbmcgaGludHMgKG1heSBwcmV2ZW50IE9PTSkgKENBU1NBTkRSQS0zNzMzKQoKCjEuMC42CiAqIChDUUwpIGZpeCBjcWxzaMYQZWAAAAFP3jyyXAAQc3RvbmVzIGluIFByZWNvbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgufAAAAQBkIChDQVNTQU5EUkEtMzIxOSkKICogRml4ZXMgZm9yIExldmVsZWRDb21wYWN0aW9uU3RyYXRlZ3kgc2NvcmUgY29tcHV0YXRpb24sIHByaW9yaXRpemF0aW9uLAogICBzY2hlZHVsaW5nLCBhbmQgcGVyZm9ybWFuY2UgKENBU1NBTkRSQS0zMjI0LCAzMjM0KQogKiBwYXJhbGxlbGl6ZSBzc3RhYmxlIG9wZW4gYXQgc2VydmVyIHN0YXJ0dXAgKENBU1NBTkRSQS0yOTg4KQogKiBmaXggaGFuZGxpbmcgb2YgZXhjZXB0aW9ucyB3cml0aW5nIHRvIE91dGJvGKMN1gAAAU/ePLJcABBhYmxlIHRvIGRyb3AgZXhwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC58AAABAG9kZSBoYXMgZmFpbGVkIGJ1dCBUYXNrVHJhY2tlcgogICAgaGFzIG5vdCAoQ0FTU0FORFJBLTIzODgpCgoKMC44LjIKICogQ1FMOiAKICAgLSBpbmNsdWRlIG9ubHkgb25lIHJvdyBwZXIgdW5pcXVlIGtleSBmb3IgSU4gcXVlcmllcyAoQ0FTU0FORFJBLTI3MTcpCiAgIC0gcmVzcGVjdCBjbGllbnQgdGltZXN0YW1wIG9uIGZ1bGwgcm93IGRlbGV0aW9ucyAoQ0FTU0FORFJBLTI5MTIpCiAqIGltcHJvdmUgdGhyZWFkLXNhZmV0eSBpbiBTdHJlYW1PdXSaujEiAAABT948slwAEChDQVNTQU5EUkEtMzYxMikAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnwAAAEAQVNTQU5EUkEtNDA4NykKICogZml4IEtFWVMgaW5kZXggZnJvbSBza2lwcGluZyByZXN1bHRzIChDQVNTQU5EUkEtMzk5NikKICogUmVtb3ZlIHNsaWNlZF9idWZmZXJfc2l6ZV9pbl9rYiBkZWFkIG9wdGlvbiAoQ0FTU0FORFJBLTQwNzYpCiAqIG1ha2UgbG9hZE5ld1NTdGFibGUgcHJlc2VydmUgc3N0YWJsZSB2ZXJzaW9uIChDQVNTQU5EUkEtNDA3NykKICogUmVzcGVjdCAxLjAgY2FjaGUgc2V0dGluZ3MgYXMgbXVjaCBhcyBwb3NzaWJsZSB3aGVuIK8Qan4AAAFP3jyyXAAQcHJvYmUgdXRpbGl0eS4KIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgufAAAAQB0aW9uIChDQVNTQU5EUkEtNzE4NSkKICogY3Fsc2g6IEFjY2VwdCBhbmQgZXhlY3V0ZSBDUUwgc3RhdGVtZW50KHMpIGZyb20gY29tbWFuZC1saW5lIHBhcmFtZXRlciAoQ0FTU0FORFJBLTcxNzIpCiAqIEZpeCBJbGxlZ2FsU3RhdGVFeGNlcHRpb24gaW4gQ3FsUGFnaW5nUmVjb3JkUmVhZGVyIChDQVNTQU5EUkEtNzE5OCkKICogRml4IHRoZSBJbnZlcnRlZEluZGV4IHRyaWdnZXIgZXhhbXBsZSAoQ0FTU0FORFJBLTcyMTEpCiAqIEFkZCAtLXJlc29sBS7H8QAAAU/ePLJcABBjY2VwdGluZyBjbGllbnQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC58AAABAENBU1NBTkRSQS0zMjU2KQogKiBGaXggRkQgbGVhayB3aGVuIGludGVybm9kZSBlbmNyeXB0aW9uIGlzIGVuYWJsZWQgKENBU1NBTkRSQS0zMjU3KQogKiBGQlV0aWxpdGllcy5oZXhUb0J5dGVzKFN0cmluZykgdG8gdGhyb3cgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIHdoZW4gc3RyaW5nCiAgIGNvbnRhaW5zIG5vbi1oZXggY2hhcmFjdGVycyAoQ0FTU0FORFJBLTMyMzEpCiAqIEtlZXAgU2ltcGxlU25pdGNoIHByb3hpbWl0eSBvcmRlcmluZyB1bmNoYW6Qan89AAABT948slwAEGljdGlvbiB0aHJlc2hvbGQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILnwAAAEARFJBLTMyNTcpCiAqIFJlbW92ZSBpbmNvcnJlY3QgYXNzZXJ0aW9uIGluIG1lcmdlSXRlcmF0b3IgKENBU1NBTkRSQS0zMjYwKQogKiBGQlV0aWxpdGllcy5oZXhUb0J5dGVzKFN0cmluZykgdG8gdGhyb3cgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIHdoZW4gc3RyaW5nCiAgIGNvbnRhaW5zIG5vbi1oZXggY2hhcmFjdGVycyAoQ0FTU0FORFJBLTMyMzEpCiAqIEtlZXAgU2ltcGxlU25pdGNoIHByb3hpbWl0eSBvcmRlcmluZyB1bmNoYW5nZWQgZnJvbSB3aErNNYoAFvR653U/kwAAAU/ePLJcABAKICogZml4IHRocmVhZCBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6BAAABAHRoIGVycm9yIHN0YXR1cyBjb2RlIGlmIHNjcmlwdCBmYWlscyAoQ0FTU0FORFJBLTYzNDQpCiAqIEZpeCBidWcgd2l0aCBzb21lIElOIHF1ZXJpZXMgbWlzc2lnIHJlc3VsdHMgKENBU1NBTkRSQS03MTA1KQogKiBGaXggYXZhaWxhYmlsaXR5IHZhbGlkYXRpb24gZm9yIExPQ0FMX09ORSBDTCAoQ0FTU0FORFJBLTczMTkpCiAqIEhpbnQgc3RyZWFtaW5nIGNhbiBjYXVzZSBkZWNvbW1pc3Npb24gdG8gZmFpbCAoQ0FTU0FORFJBLTcyMTkpCgoKMi4xLjBnNiYqAAABT948slwAEGcgQ0FTIG9wZXJhdGlvbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILoEAAAEAc2V0IGl0ZW1zIG9yIG1hcCBrZXlzCiAgIHdoZW4gc29tZSBjbHVzdGVyaW5nIGNvbHVtbnMgYXJlIHNwZWNpZmllZCAoQ0FTU0FORFJBLTgwNzMpCiAqIFNlbmQgcHJvcGVyIGVycm9yIHJlc3BvbnNlIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3IgZHVyaW5nIG5hdGl2ZQogICBwcm90b2NvbCBtZXNzYWdlIGRlY29kZSAoQ0FTU0FORFJBLTgxMTgpCiAqIEdvc3NpcCBzaG91bGQgaWdub3JlIGdlbmVyYXRpb24gbnVtYmVycyB0b28gZmFyIGluIHRoZSBmdSInmP8AAAFP3jyyXAAQTkRSQS01OTgyKQogKiAoSAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgugQAAAQBpYWxpemF0aW9uIG9mIFN0b3JhZ2VQcm94eSBvbiBzdGFydC11cCAoQ0FTU0FORFJBLTM3OTcpCiAqIHN1cHBvcnQgdHJpY2tsaW5nIGZzeW5jKCkgb24gd3JpdGVzIChDQVNTQU5EUkEtMzk1MCkKICogZXhwb3NlIGNvdW50ZXJzIGZvciB1bmF2YWlsYWJsZS90aW1lb3V0IGV4Y2VwdGlvbnMgZ2l2ZW4gdG8gdGhyaWZ0IGNsaWVudHMgKENBU1NBTkRSQS0zNjcxKQogKiBhdm9pZCBxdWFkcmF0aWMgc3RhcnR1cCB0aW1lIGluIExldmVsZWRNYW5pZmVzfZQcgQAAAU/ePLJcABBhdGVtZW50cyAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6BAAABAGluZyBSZXZlcnNlZFR5cGUgaW4gRHluYW1pY0NvbXBvc2l0ZVR5cGUKICAgKENBU1NBTkRSQS03ODk4KQogKiBCZXR0ZXIgdmFsaWRhdGlvbiBvZiBjb2xsZWN0aW9uIHZhbHVlcyAoQ0FTU0FORFJBLTc4MzMpCiAqIFRyYWNrIG1pbi9tYXggdGltZXN0YW1wcyBjb3JyZWN0bHkgKENBU1NBTkRSQS03OTY5KQogKiBGaXggcG9zc2libGUgb3ZlcmZsb3cgd2hpbGUgc29ydGluZyBDTCBzZWdtZW50cyBmb3IgcmVwbGF5IChDQVNTQU5EUkEtNzk5MikKICqqgdKqAAABT948slwAEDcxKQogKiBGaXggTlBFIHcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILoEAAAEAaW9uLnN0cmVhbQogICAoQ0FTU0FORFJBLTMyMTIpCgoKMC44LjUKICogZml4IE5QRSB3aGVuIGVuY3J5cHRpb25fb3B0aW9ucyBpcyB1bnNwZWNpZmllZCAoQ0FTU0FORFJBLTMwMDcpCiAqIGluY2x1ZGUgY29sdW1uIG5hbWUgaW4gdmFsaWRhdGlvbiBmYWlsdXJlIGV4Y2VwdGlvbnMgKENBU1NBTkRSQS0yODQ5KQogKiBtYWtlIHN1cmUgdHJ1bmNhdGUgY2xlYXJzIG91dCB0aGUgY29tbWl0bG9nIHNvIHJlcGxheSB3b24ndCByZS0KICAgcG9wdWxhdKROaTEAAAFP3jyyXAAQbSB0b21ic3RvbmVkIENGIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgugQAAAQBpY2Egc2V0IGNvbnN0YW50IHRocm91Z2hvdXQgdGhlIHJlYWQgcmVwYWlyIHByb2Nlc3MKICAgKENBU1NBTkRSQS05MzcpCiAqIGFsbG93IHF1ZXJ5aW5nIGdldEFsbFJhbmdlcyB3aXRoIGVtcHR5IHRva2VuIGxpc3QgKENBU1NBTkRSQS05MzMpCiAqIGZpeCBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGludmVyc2lvbiBpbiBjbHVzdGVydG9vbCAoQ0FTU0FORFJBLTk0MikKICogZml4IHJhY2UgY29uZGl0aW9uIHRoYXQgY291bGQgdHJpZ2dlciBhIGZh2+gU+QAAAU/ePLJcABBpb24gc3VwcG9ydCAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6BAAABAGVtYWAgdG8gaW5jbHVkZSAiY29tcHJlc3Npb25fb3B0aW9ucyIgKENBU1NBTkRSQS0zMzY4KQogKiBTbmFwc2hvdCB0byBpbmNsdWRlIG1hbmlmZXN0IHVuZGVyIExldmVsZWRDb21wYWN0aW9uU3RyYXRlZ3kgKENBU1NBTkRSQS0zMzU5KQogKiAoQ1FMKSBTRUxFQ1QgcXVlcnkgc2hvdWxkIGFsbG93IENGIG5hbWUgdG8gYmUgcXVhbGlmaWVkIGJ5IGtleXNwYWNlIChDQVNTQU5EUkEtMzEzMCkKICogKENRTCkgRml4IGludGVybmFsIGFwcGxpY2F0aW/CTWkgAAABT948slwAEHRpbWVzdGFtcCBmb3Igcm8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILoEAAAEAZWQgdG8gQ29tcGFjdGlvbk1hbmFnZXIgdG8gcmVkdWNlIGkvbyBjb250ZW50aW9uIGFuZAogICB1cGRhdGVkIHRvIHVzZSBub24tY2FjaGUtcG9sbHV0aW5nIHdyaXRlcyAoQ0FTU0FORFJBLTIwNTMpCiAqIHBhZ2UgdGhyb3VnaCBsYXJnZSByb3dzIHdoZW4gZXhwb3J0aW5nIHRvIEpTT04gKENBU1NBTkRSQS0yMDQxKQogKiBhZGQgZmx1c2hfbGFyZ2VzdF9tZW10YWJsZXNfYXQgYW5kIHJlZHVjZV9jYWNoZV9zaXplc19hdCBvcHRpb25zCiAgIChDQVoNSWoAAAFP3jyyXAAQb25nIHdpdGggdGhlIHJlcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgugQAAAQBpbWl6YXRpb24gc2luY2UgaXQgb25seSB3b3JrZWQgd2l0aAogICBDTC5PTkUgb3IgQ0wuTE9DQUxfUVVPUlVNIChDQVNTQU5EUkEtMzU3NywgMzU4NSkKICogZGV0ZWN0IG1pc3VzZXMgb2YgQ291bnRlckNvbHVtblR5cGUgKENBU1NBTkRSQS0zNDIyKQogKiB0dXJuIG9mZiBzdHJpbmcgaW50ZXJuaW5nIGluIGpzb24yc3N0YWJsZSwgdGFrZSAyIChDQVNTQU5EUkEtMjE4OSkKICogdmFsaWRhdGUgY29tcHJlc3Npb24gcGFyYW1ldGVycyBvbiBhZGQvAzhRbAAAAU/ePLJcABBUVEwgZXhwaXJlcyAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6BAAABAENBU1NBTkRSQS03NjU5KQogKiAoY3Fsc2gpIEZpeCBoYW5kbGluZyBvZiBDQVMgc3RhdGVtZW50IHJlc3VsdHMgKENBU1NBTkRSQS03NjcxKQogKiAoY3Fsc2gpIENPUFkgVE8vRlJPTSBpbXByb3ZlbWVudHMgKENBU1NBTkRSQS03NDA1KQogKiBTdXBwb3J0IGxpc3QgaW5kZXggb3BlcmF0aW9ucyB3aXRoIGNvbmRpdGlvbnMgKENBU1NBTkRSQS03NDk5KQogKiBBZGQgbWF4IGxpdmUvdG9tYnN0b25lZCBjZWxscyB0byBub2RldG9vbCBjZnN0YXRzIG+LOjiiAAABT948slwAEHRzZXQgdHlwZSBpbmZvcm0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILoEAAAEAZSB0aGUgcGFyZW50IChDQVNTQU5EUkEtMjMzMCkKICogYWxsb3cgam9iIGNvbmZpZ3VyYXRpb24gdG8gc2V0IHRoZSBDTCB1c2VkIGluIEhhZG9vcCBqb2JzIChDQVNTQU5EUkEtMjMzMSkKICogYWRkIG1lbXRhYmxlX2ZsdXNoX3F1ZXVlX3NpemUgZGVmYXVsdGluZyB0byA0IChDQVNTQU5EUkEtMjMzMykKICogQWxsb3cgb3ZlcnJpZGluZyBvZiBpbml0aWFsX3Rva2VuLCBzdG9yYWdlX3BvcnQgYW5kIHJwY19wb3J0IGZyb20gc3lzdGVtCiAgIHByb4ez70kAAAFP3jyyXAAQaGVuIHNjaGVtYSBkb2VzbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgugQAAAQBlIChDQVNTQU5EUkEtNzY4NCkKICogRml4IE5QRSBvbiBjb21wYWN0aW9uIGxlZnRvdmVyIGNsZWFudXAgZm9yIGRyb3BwZWQgdGFibGUgKENBU1NBTkRSQS03NzcwKQpNZXJnZWQgZnJvbSAyLjA6CiAqIChjcWxzaCkgV2FpdCB1cCB0byAxMCBzZWMgZm9yIGEgdHJhY2luZyBzZXNzaW9uIChDQVNTQU5EUkEtNzIyMikKICogRml4IE5QRSBpbiBGaWxlQ2FjaGVTZXJ2aWNlLnNpemVJbkJ5dGVzIChDQVNTQU5EUkEtNzc1NikKICogUmVtb3ZlIGR1cGxppiaCdwAAAU/ePLJcABAgKENBU1NBTkRSQS01OTk0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6BAAABAHN0b25lIGNoZWNrIGluIENDLmNvbGxlY3RBbGxEYXRhIChDQVNTQU5EUkEtNDg4MykKICogQ2hhbmdlIHN0cmVhbSBzZXNzaW9uIElEIHRvIFVVSUQgdG8gYXZvaWQgY29sbGlzaW9uIGZyb20gc2FtZSBub2RlIChDQVNTQU5EUkEtNDgxMykKICogVXNlIFN0YXRzLmRiIHdoZW4gYnVsayBsb2FkaW5nIGlmIHByZXNlbnQgKENBU1NBTkRSQS00OTU3KQogKiBTa2lwIHJlcGFpciBvbiBzeXN0ZW1fdHJhY2UgYW5kIGtleXNwYWNlcyB3aXRoIFJGPTEgKEN4DHUKAAABT948slwAEEwzIExJTUlUIChDQVNTQU4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILoEAAAEAIChDQVNTQU5EUkEtMjI4NSkKICogZml4IGZkIGxlYWsgaW4gc3N0YWJsZTJqc29uIHdpdGggbm9uLW1tYXAnZCBpL28gKENBU1NBTkRSQS0yMzA0KQogKiByZWR1Y2UgbWVtb3J5IHVzZSBkdXJpbmcgc3RyZWFtaW5nIG9mIG11bHRpcGxlIHNzdGFibGVzIChDQVNTQU5EUkEtMjMwMSkKICogcHVyZ2UgdG9tYnN0b25lZCByb3dzIGZyb20gY2FjaGUgYWZ0ZXIgR0NHcmFjZVNlY29uZHMgKENBU1NBTkRSQS0yMzA1KQogKiBhbGxvdyB6ZXJvIHJlcGxpY4CxlhEAAAFP3jyyXAAQZXMgKGluc3RlYWQgb2YKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgugQAAAQB0b2NvbCBlcnJvcnMgKENBU1NBTkRSQS04ODQ4KQogKiBGaXggY29tYmluaW5nIHRva2VuKCkgZnVuY3Rpb24gd2l0aCBtdWx0aS1jb2x1bW4gcmVsYXRpb25zIG9uCiAgIGNsdXN0ZXJpbmcgY29sdW1ucyAoQ0FTU0FORFJBLTg3OTcpCiAqIE1ha2UgQ0ZTLm1hcmtSZWZlcmVuY2VkKCkgcmVzaXN0YW50IHRvIGJhZCByZWZjb3VudGluZyAoQ0FTU0FORFJBLTg4MjkpCiAqIEZpeCBTdHJlYW1UcmFuc2ZlclRhc2sgYWJvcnQvY29tcGxldGUgYmFkIHJluJnEywAXCNcaDRw9AAABT948slwAEGF0Y2ggc2NyaXB0cyAoQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILoMAAAEAIGRhdGEgd2FzIHByZXNlbnQKICogU25hcHNob3Qgc3VwcG9ydCB2aWEgSk1YCiAqIFRocmlmdCBBUEkgaGFzIGNoYW5nZWQgYSBfbG90XzoKICAgIC0gcmVtb3ZlZCB0aW1lLXNvcnRlZCBDRnM7IGluc3RlYWQsIHVzZXItZGVmaW5lZCBjb21wYXJhdG9ycwogICAgICBtYXkgYmUgZGVmaW5lZCBvbiB0aGUgY29sdW1uIG5hbWVzLCB3aGljaCBhcmUgbm93IGJ5dGUgYXJyYXlzLgogICAgICBEZWZhdWx0IGNvbXBhcmF0b3JzIGFyZSBwcm92aWRlZCBmb9hF/58AAAFP3jyyXAAQcG9saWN5IHN1cHBvcnQgYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgugwAAAQBnZSBNZXNzYWdlIElEcyB0byBpbnRzIChDQVNTQU5EUkEtNTMwNykKICogTW92ZSBzc3RhYmxlIGxldmVsIGluZm9ybWF0aW9uIGludG8gdGhlIFN0YXRzIGNvbXBvbmVudCwgcmVtb3ZpbmcgdGhlCiAgIG5lZWQgZm9yIGEgc2VwYXJhdGUgTWFuaWZlc3QgZmlsZSAoQ0FTU0FORFJBLTQ4NzIpCiAqIGF2b2lkIHNlcmlhbGl6aW5nIHRvIGJ5dGVbXSBvbiBjb21taXRsb2cgYXBwZW5kIChDQVNTQU5EUkEtNTE5OSkKICogbWFrZSBpbmRleF9pbnRlcnZhVoCd8QAAAU/ePLJcABBuX2ZhY3RvciBzdHJhdGVnAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6DAAABAGggKENBU1NBTkRSQS00NjA5LCA0NjEwKQogKiBjYXNzYW5kcmEtY2xpOiBhbGxvdyBEb3VibGUgdmFsdWUgdHlwZSB0byBiZSBpbnNlcnRlZCB0byBhIGNvbHVtbiAoQ0FTU0FORFJBLTQ2NjEpCiAqIEFkZCBhYmlsaXR5IHRvIHVzZSBjdXN0b20gVFNlcnZlckZhY3RvcnkgaW1wbGVtZW50YXRpb25zIChDQVNTQU5EUkEtNDYwOCkKICogb3B0aW1pemUgYmF0Y2hsb2cgZmx1c2hpbmcgdG8gc2tpcCBzdWNjZXNzZnVsIGJhdGNoZXMgKENBU1NBTkRSQS3zpeYUAAABT948slwAEAogKiBjcWxzaDogUmVtb3YAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILoMAAAEAYmxlIGRpcmVjdG9yeSBwaWNraW5nIGJsYWNrbGlzdC1hd2FyZSBhZ2FpbiAoQ0FTU0FORFJBLTUxOTMpCiAqIENvcnJlY3RseSBleHBpcmUgZ29zc2lwIHN0YXRlcyBmb3IgZWRnZSBjYXNlcyAoQ0FTU0FORFJBLTUyMTYpCiAqIEltcHJvdmUgaGFuZGxpbmcgb2YgZGlyZWN0b3J5IGNyZWF0aW9uIGZhaWx1cmVzIChDQVNTQU5EUkEtNTE5NikKICogRXhwb3NlIHNlY29uZGFyeSBpbmRpY2llcyB0byB0aGUgcmVzdCBvZiBub2RldG9vbCAoQ0FTU0FORNle9yYAAAFP3jyyXAAQMTk0KQogKiAoY3FsMykgTQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgugwAAAQAgKiBjaGFuZ2Ugc3RyZWFtaW5nIGNodW5rIHNpemUgdG8gMzJNQiB0byBhY2NvbW9kYXRlIFdpbmRvd3MgWFAgbGltaXRhdGlvbnMKICAgKHdhcyA2NE1CKSAoQ0FTU0FORFJBLTc5NSkKICogZml4IGdldF9yYW5nZV9zbGljZSByZXR1cm5pbmcgcmVzdWx0cyBpbiB0aGUgd3Jvbmcgb3JkZXIgKENBU1NBTkRSQS03ODEpCiAKCjAuNS4wIGZpbmFsCiAqIGF2b2lkIGF0dGVtcHRpbmcgdG8gZGVsZXRlIHRlbXBvcmFyeSBib290c3RyYXAgZmlsZXMgdHdpAdorXwAAAU/ePLJcABBuZyBhIGNvbmZpZ3VyYWJsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6DAAABACBvcGVuamRrIGluIGRlYmlhbiBpbml0IHNjcmlwdCAoQ0FTU0FORFJBLTExNzQpCiAqIGRldGVjdCBwYXJ0aW9uZXIgY29uZmlnIGNoYW5nZXMgYmV0d2VlbiByZXN0YXJ0cyBhbmQgZmFpbCBmYXN0IAogICAoQ0FTU0FORFJBLTExNDYpCiAqIHVzZSBnZW5lcmF0aW9uIHRpbWUgdG8gcmVzb2x2ZSBub2RlIHRva2VuIHJlYXNzaWdubWVudCBkaXNhZ3JlZW1lbnRzCiAgIChDQVNTQU5EUkEtMTExOCkKICogcmVzdHJ1Y3R1cmUgdGhlIHN0YXJ0dXAgb3JkgvPeAAABT948slwAEGJsZSByZWZlcmVuY2Ugd2gAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILoMAAAEAZGluZ1JhbmdlcyBhc3luY2hyb25vdXMgKENBU1NBTkRSQS02MjQ0KQogKiBSZW1vdmUgYmxvY2tpbmcgZmx1c2hlcyBpbiBnb3NzaXAgdGhyZWFkIChDQVNTQU5EUkEtNjI5NykKICogRml4IHBvdGVudGlhbCBzb2NrZXQgbGVhayBpbiBjb25uZWN0aW9ucG9vbCBjcmVhdGlvbiAoQ0FTU0FORFJBLTYzMDgpCiAqIEFsbG93IExPQ0FMX09ORS9MT0NBTF9RVU9SVU0gdG8gd29yayB3aXRoIFNpbXBsZVN0cmF0ZWd5IChDQVNTQU5EUkEtNjIzOCkKICogYwgonFwAAAFP3jyyXAAQZXRvb2wgc2NydWIgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgugwAAAQB5IE1lc3NhZ2luZ1NlcnZpY2UgdG8gcHJldmVudCBsb2FkIHNwaWtlcwogICAoQ0FTU0FORFJBLTIwNTgpCiAqIGZpeCBtYXRoIGluIFJhbmRvbVBhcnRpdGlvbmVyLmRlc2NyaWJlT3duZXJzaGlwIChDQVNTQU5EUkEtMjA3MSkKICogZml4IGRlbGV0aW9uIG9mIHNzdGFibGUgbm9uLWRhdGEgY29tcG9uZW50cyAoQ0FTU0FORFJBLTIwNTkpCiAqIGF2b2lkIGJsb2NraW5nIGdvc3NpcCB3aGlsZSBkZWxldGluZyBoYW5kb2ZmIGhpbnRzIChDQVNTQU5EJh+drQAAAU/ePLJcABA3KQogICAtIHN1cHBvcnQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6DAAABAEwgZnJvbSB0aHJpZnQgKENBU1NBTkRSQS02NTg0KQogKiBEb24ndCBzcGVjaWFsIGNhc2UgcmVjZWl2ZWQgY291bnRzIGluIENBUyB0aW1lb3V0IGV4Y2VwdGlvbnMgKENBU1NBTkRSQS02NTk1KQogKiBBZGQgc3VwcG9ydCBmb3IgMi4xIGdsb2JhbCBjb3VudGVyIHNoYXJkcyAoQ0FTU0FORFJBLTY1MDUpCiAqIEZpeCBOUEUgd2hlbiBzdHJlYW1pbmcgY29ubmVjdGlvbiBpcyBub3QgeWV0IGVzdGFibGlzaGVkIChDQVNTQU5EUkEtNjIxMCkKICogQXY5V6JbAAABT948slwAEEFTU0FORFJBLTcxODgpCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILoMAAAEAZXJlbmNpbmcpIGNvbmN1cnJlbmN5IChDQVNTQU5EUkEtNjU2NikKICogRml4IHJlcGxheWluZyBwcmUtMi4wIGNvbW1pdCBsb2dzIChDQVNTQU5EUkEtNjcxNCkKICogQWRkIHN0YXRpYyBjb2x1bW5zIHRvIENRTDMgKENBU1NBTkRSQS02NTYxKQogKiBPcHRpbWl6ZSBzaW5nbGUgcGFydGl0aW9uIGJhdGNoIHN0YXRlbWVudHMgKENBU1NBTkRSQS02NzM3KQogKiBEaXNhbGxvdyBwb3N0LXF1ZXJ5IHJlLW9yZGVyaW5nIHdoZW4gcGFnaW5nIChDQVNTQf9Al8UAAAFP3jyyXAAQbmNvcnJlY3Qgc2l6ZSBleAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgugwAAAQBzYWxsb3cgbWl4aW5nIG11bHRpLWNvbHVtbiBhbmQgc2luZ2xlLWNvbHVtbgogICByZWxhdGlvbnMgb24gY2x1c3RlcmluZyBjb2x1bW5zIChDQVNTQU5EUkEtNzcxMSkKICogQmV0dGVyIGVycm9yIG1lc3NhZ2Ugd2hlbiBjb25kaXRpb24gaXMgc2V0IG9uIFBLIGNvbHVtbiAoQ0FTU0FORFJBLTc4MDQpCiAqIERvbid0IHNlbmQgc2NoZW1hIGNoYW5nZSByZXNwb25zZXMgYW5kIGV2ZW50cyBmb3Igbm8tb3AgRERMCiAgIHN0YXRlbWVudHMgKENBU1NBuEDF3AAAAU/ePLJcABBpeCBDYXNzYW5kcmEgY3JhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6DAAABAGggdG8gYXZvaWQKICAgMyBzeXN0ZW0gY2FsbHMgcGVyIGludm9jYXRpb24gKENBU1NBTkRSQS05NTApCiAqIG5vZGVzIHdpdGggSVB2NiAoYW5kIG5vIElQdjQpIGFkZHJlc3NlcyBjb3VsZCBub3Qgam9pbiBjbHVzdGVyCiAgIChDQVNTQU5EUkEtOTY5KQogKiBSZXRyaWV2ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgdW5kZWxldGVkIGNvbHVtbnMsIGlmIGFueSwgZnJvbQogICBhIHN1cGVyY29sdW1uIGluIGEgcm93IHRoYXQgaGFkIGJlZW4gZGVsZXRJ22eoAAABT948slwAEGhpbmcgdG8gcGVybWlzc2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILoMAAAEAZ3MgaW4gc3VwZXJjb2x1bW5zIGhhbmRsaW5nIChDQVNTQU5EUkEtNzEzOCkKICogRml4IENsYXNzQ2xhc3NFeGNlcHRpb24gb24gY29tcG9zaXRlIGRlbnNlIHRhYmxlcyAoQ0FTU0FORFJBLTcxMTIpCiAqIENsZWFudXAgYW5kIG9wdGltaXplIGNvbGxhdGlvbiBhbmQgc2xpY2UgaXRlcmF0b3JzIChDQVNTQU5EUkEtNzEwNykKICogVXBncmFkZSBOQkhNIGxpYiAoQ0FTU0FORFJBLTcxMjgpCiAqIE9wdGltaXplIG5ldHR5IHNlcnZlciAoQ0FTU0FORGF4gIMAAAFP3jyyXAAQMzUxKQogKiByZW1vdmUgaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgugwAAAQB3aGlsZSBsb29wIGluc3RlYWQgb2YgcmVjdXJzaW9uIHdoZW4gdHJpbW1pbmcgc3N0YWJsZXMgY29tcGFjdGlvbiBsaXN0IAogICB0byBhdm9pZCBibG93aW5nIHN0YWNrIGluIHBhdGhvbG9naWNhbCBjYXNlcyAoQ0FTU0FORFJBLTgwNCkKICogYmFzaWMgSGFkb29wIG1hcC9yZWR1Y2Ugc3VwcG9ydCAoQ0FTU0FORFJBLTM0MikKCgowLjUuMQogKiBlbnN1cmUgYWxsIGZpbGVzIGZvciBhbiBzc3RhYmxlIGFyZSBzdHJlYW1lZCB0byB0aGUgc2FtZSBkEWLu6gAAAU/ePLJcABBhZG9vcCkgZmFpbCBqb2JzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6DAAABAGUgcG9ydCBpZiBlbmNyeXB0aW9uIG9wdGlvbiBpcyBhbGwgKENBU1NBTkRSQS0zOTE2KQogKiBNb3ZlIGJhdGNobG9nIHJlcGxheSB0byBpdHMgb3duIGV4ZWN1dG9yIChDQVNTQU5EUkEtNjA3OSkKICogQWRkIHRvbWJzdG9uZSBkZWJ1ZyB0aHJlc2hvbGQgYW5kIGhpc3RvZ3JhbSAoQ0FTU0FORFJBLTYwNDIsIDYwNTcpCiAqIEVuYWJsZSB0Y3Aga2VlcGFsaXZlIG9uIGluY29taW5nIGNvbm5lY3Rpb25zIChDQVNTQU5EUkEtNDA1MykKICogRml4IGYmtko9ABcdNAuhB+4AAAFP3jyyXAAQZXh0ZW5kaW5nIENvbXBvcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguhQAAAQBuZyBDUkVBVEUgc3RhdGVtZW50cyBtdWx0aXBsZSB0aW1lcyAoQ0FTU0FORFJBLTY0NzEpCiAqIERvbid0IHNlbmQgY29uZnVzaW5nIGluZm8gd2l0aCB0aW1lb3V0cyAoQ0FTU0FORFJBLTY0OTEpCiAqIERvbid0IHJlc3VibWl0IGNvdW50ZXIgbXV0YXRpb24gcnVubmFibGVzIGludGVybmFsbHkgKENBU1NBTkRSQS02NDI3KQogKiBEb24ndCBkcm9wIGxvY2FsIG11dGF0aW9ucyB3aXRob3V0IGEgaGludCAoQ0FTU0FORFJBLTY1MTApCiAqIERvbid0h2CLfAAAAU/ePLJcABBpbiB3cml0ZXRpbWUgbWV0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6FAAABAHduIHdoaWxlIGhhbmRsaW5nIG5hdGl2ZSBwcm90b2NvbCBtZXNzYWdlcyAoQ0FTU0FORFJBLTc0NzApCgoKMi4xLjAtcmMzCiAqIENvbnNpZGVyIGV4cGlyeSB3aGVuIHJlY29uY2lsaW5nIG90aGVyd2lzZSBlcXVhbCBjZWxscyAoQ0FTU0FORFJBLTc0MDMpCiAqIEludHJvZHVjZSBDUUwgc3VwcG9ydCBmb3Igc3RyZXNzIHRvb2wgKENBU1NBTkRSQS02MTQ2KQogKiBGaXggQ2xhc3NDYXN0RXhjZXB0aW9uIHByb2Nlc3NpbmcgZXhwaXJlZCBtZXNzYWeB8sORAAABT948slwAECogcmVzdG9yZSB1c2Ugb2YAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILoUAAAEAODY4OSkKICogY2Fzc2FuZHJhLXN0cmVzcyBzdXBwb3J0IGZvciB2YXJpbnQgKENBU1NBTkRSQS04ODgyKQogKiBGaXggQWRsZXIzMiBkaWdlc3QgZm9yIGNvbXByZXNzZWQgc3N0YWJsZXMgKENBU1NBTkRSQS04Nzc4KQogKiBBZGQgbm9kZXRvb2wgc3RhdHVzaGFuZG9mZi9zdGF0dXNiYWNrdXAgKENBU1NBTkRSQS04OTEyKQogKiBVc2Ugc3Rkb3V0IGZvciBwcm9ncmVzcyBhbmQgc3RhdHMgaW4gc3N0YWJsZWxvYWRlciAoQ0FTU0FORFJBLTg5ODIpCstCpuEAAAFP3jyyXAAQb3VudCB0aW1lb3V0cyB0bwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguhQAAAQBXaW5kb3dzIFhQIGxpbWl0YXRpb25zCiAgICh3YXMgNjRNQikgKENBU1NBTkRSQS03OTUpCiAqIGZpeCBnZXRfcmFuZ2Vfc2xpY2UgcmV0dXJuaW5nIHJlc3VsdHMgaW4gdGhlIHdyb25nIG9yZGVyIChDQVNTQU5EUkEtNzgxKQogCgowLjUuMCBmaW5hbAogKiBhdm9pZCBhdHRlbXB0aW5nIHRvIGRlbGV0ZSB0ZW1wb3JhcnkgYm9vdHN0cmFwIGZpbGVzIHR3aWNlIChDQVNTQU5EUkEtNjgxKQogKiBmaXggYm9ndXMgTmFOIGluIG5vZGVwcm9iZSBjZnN0Z+MLJQAAAU/ePLJcABBCSE0gbGliIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6FAAABADBNKSBpbiBhIHNzdGFibGUgYmxvb20gZmlsdGVyCiAgIChDQVNTQU5EUkEtNzkwKQogKiBpbmNsdWRlIGp2bSBhcmd1bWVudCBpbXByb3ZlbWVudHMgZnJvbSBDQVNTQU5EUkEtNTA0IGluIGRlYmlhbiBwYWNrYWdlCiAqIGNoYW5nZSBzdHJlYW1pbmcgY2h1bmsgc2l6ZSB0byAzMk1CIHRvIGFjY29tb2RhdGUgV2luZG93cyBYUCBsaW1pdGF0aW9ucwogICAod2FzIDY0TUIpIChDQVNTQU5EUkEtNzk1KQogKiBmaXggZ2V0X3JhbmdlX3NsaWNlIHJldHUqk4FZAAABT948slwAEG4gbWFudWFsbHkgCiAgIG0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILoUAAAEAciAoQ0FTU0FORFJBLTgxNDYpCiAqIEZpeCBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gd2hlbiBhIGxpc3Qgb2YgSU4gdmFsdWVzIGNvbnRhaW5pbmcgdHVwbGVzCiAgIGlzIHBhc3NlZCBhcyBhIHNpbmdsZSBhcmcgdG8gYSBwcmVwYXJlZCBzdGF0ZW1lbnQgd2l0aCB0aGUgdjEgb3IgdjIKICAgcHJvdG9jb2wgKENBU1NBTkRSQS04MDYyKQogKiBGaXggQ2xhc3NDYXN0RXhjZXB0aW9uIGluIERJU1RJTkNUIHF1ZXJ5IG9uIHN0YXRpYyBjb2x1bW5zIIgAlJAAAAFP3jyyXAAQRFJBLTYwOTgpCiAqIERlbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguhQAAAQBSQS00OTEwKQogKiBGaXggZW5kbGVzcyBsb29wL2NvbXBhY3Rpb24gb2Ygc2NoZW1hXyogQ0ZzIGR1ZSB0byBicm9rZW4gdGltZXN0YW1wcyAoQ0FTU0FORFJBLTQ4ODApCiAqIEZpeCAnd3JvbmcgY2xhc3MgdHlwZScgYXNzZXJ0aW9uIGluIENvdW50ZXJDb2x1bW4gKENBU1NBTkRSQS00OTc2KQoKCjEuMi1iZXRhMgogKiBmcCByYXRlIG9mIDEuMCBkaXNhYmxlcyBCRiBlbnRpcmVseTsgTENTIGRlZmF1bHRzIHRvIDEuMCAoQ0FTU0FORFJBLTQ4NzYpJZtNHQAAAU/ePLJcABBuYW1lZCBDTC5EQ1FVT1JVAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6FAAABAFNTQU5EUkEtNDMwNikKICogSGF2ZSBEZWxldGVkQ29sdW1uLmlzTUZEIGFsd2F5cyByZXR1cm4gdHJ1ZSAoQ0FTU0FORFJBLTQzMDcpCiAqIChjcWwzKSBleGVwdGlvbiBtZXNzYWdlIGZvciBPUkRFUiBCWSBjb25zdHJhaW50cyBzYWlkIHByaW1hcnkgZmlsdGVyIGNhbiBiZQogICAgYW4gSU4gY2xhdXNlLCB3aGljaCBpcyBtaXNsZWFkaW5nIChDQVNTQU5EUkEtNDMxOSkKICogKGNxbDMpIFJlamVjdCAobm90IHlldCBzdXBwb3J0ZWQpIGNyZWF0aW9zS6I+AAABT948slwAEGl2ZSBwcm90b2NvbCBzZXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILoUAAAEAZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIGRyb3BwZWQKICAgb25lcyAoQ0FTU0FORFJBLTQyMTkpCiAqIGZpeCBTZWNvbmRhcnlJbmRleCBMZXZlbGVkTWFuaWZlc3Qgc2F2ZSB1cG9uIHNuYXBzaG90IChDQVNTQU5EUkEtNDIzMCkKICogZml4IG1pc3NpbmcgYXJyYXlPZmZzZXQgaW4gRkJVdGlsaXRpZXMuaGFzaCAoQ0FTU0FORFJBLTQyNTApCiAqIChjcWwzKSBBZGQgbmFtZSBvZiBwYXJhbWV0ZXJzIGluIENxbFJlc3VsdFNldCAoQ0FTU0FORFJBLSGPFH4AAAFP3jyyXAAQdCgpIGluIFNTVGFibGVSZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguhQAAAQB0YWlucyBub24taGV4IGNoYXJhY3RlcnMgKENBU1NBTkRSQS0zMjMxKQogKiBLZWVwIFNpbXBsZVNuaXRjaCBwcm94aW1pdHkgb3JkZXJpbmcgdW5jaGFuZ2VkIGZyb20gd2hhdCB0aGUgU3RyYXRlZ3kKICAgZ2VuZXJhdGVzLCBhcyBpbnRlbmRlZCAoQ0FTU0FORFJBLTMyNjIpCiAqIHJlbW92ZSBTY3J1YiBmcm9tIGNvbXBhY3Rpb25zdGF0cyB3aGVuIGZpbmlzaGVkIChDQVNTQU5EUkEtMzI1NSkKICogZml4IGNvdW50ZXIgZW50cnkgaW4gamRiYyBUmNIGkAAAAU/ePLJcABB4ZXMgZm9yIGNvbXBhY3RpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6FAAABAGNlL3RhYmxlIGRyb3BzIChDQVNTQU5EUkEtNjkyNCkKICogT25seSBzbmFwc2hvdCByZWxhdGl2ZSBTU1RhYmxlcyB3aGVuIHNlcXVlbnRpYWwgcmVwYWlyIChDQVNTQU5EUkEtNzAyNCkKICogUmVxdWlyZSBub2RldG9vbCByZWJ1aWxkX2luZGV4IHRvIHNwZWNpZnkgaW5kZXggbmFtZXMgKENBU1NBTkRSQS03MDM4KQogKiBmaXggY2Fzc2FuZHJhIHN0cmVzcyBlcnJvcnMgb24gcmVhZHMgd2l0aCBuYXRpdmUgcHJvdG9jb2wgKENBU1NBTkRSQS03MDOmpmetAAABT948slwAEGQKICAgYSB2YWx1ZSBsYXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILoUAAAEAbnRyaWVzIGFyZSBlbmNvdW50ZXJlZAogICAoQ0FTU0FORFJBLTIwNzYpCiAqIGFkZCBtYXhfaGludF93aW5kb3dfaW5fbXMgb3B0aW9uIChDQVNTQU5EUkEtMTQ1OSkKCgowLjcuMC1maW5hbAogKiBmaXggb2Zmc2V0cyB0byBCeXRlQnVmZmVyLmdldCAoQ0FTU0FORFJBLTE5MzkpCgoKMC43LjAtcmM0CiAqIGZpeCBjbGkgY3Jhc2ggYWZ0ZXIgYmFja2dyb3VuZGluZyAoQ0FTU0FORFJBLTE4NzUpCiAqIGNvdW50IHRpbWVvdXRzIGluIHN0b3JhZ2Vwcle+wdIAAAFP3jyyXAAQKQogKiBFbnN1cmUgY2hhbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguhQAAAQBpbGUgZmx1c2hpbmcgKENBU1NBTkRSQS02MjQ5KQogKiBQcm92aWRlIGhvb2tzIGFyb3VuZCBDUUwyL0NRTDMgc3RhdGVtZW50IGV4ZWN1dGlvbiAoQ0FTU0FORFJBLTYyNTIpCiAqIFJlcXVpcmUgUGVybWlzc2lvbi5TRUxFQ1QgZm9yIENBUyB1cGRhdGVzIChDQVNTQU5EUkEtNjI0NykKICogTmV3IENRTC1hd2FyZSBTU1RhYmxlV3JpdGVyIChDQVNTQU5EUkEtNTg5NCkKICogUmVqZWN0IENBUyBvcGVyYXRpb24gd2hlbiB0aGUgcHJvdG9jb2wgdjEgiBmG6gAAAU/ePLJcABBsZVdyaXRlciAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6FAAABAC45CiAqIGltcHJvdmUgaW5kZXggc2FtcGxpbmcgcGVyZm9ybWFuY2UgKENBU1NBTkRSQS00MDIzKQogKiBhbHdheXMgY29tcGFjdCBhd2F5IGRlbGV0ZWQgaGludHMgaW1tZWRpYXRlbHkgYWZ0ZXIgaGFuZG9mZiAoQ0FTU0FORFJBLTM5NTUpCiAqIGRlbGV0ZSBoaW50cyBmcm9tIGRyb3BwZWQgQ29sdW1uRmFtaWxpZXMgb24gaGFuZG9mZiBpbnN0ZWFkIG9mCiAgIGVycm9yaW5nIG91dCAoQ0FTU0FORFJBLTM5NzUpCiAqIGFkZCBDb21wb3NpdGVUeXDqvOv7AAABT948slwAEFttdXN0IGJlIGV4cGxpY2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILoUAAAEAICogRml4IGFsdGVyaW5nIGNvbHVtbiB0eXBlcyAoQ0FTU0FORFJBLTYxODUpCiAqIGNxbHNoOiBmaXggQ1JFQVRFL0FMVEVSIFdJVEggY29tcGxldGlvbiAoQ0FTU0FORFJBLTYxOTYpCiAqIGFkZCB3aW5kb3dzIGJhdCBmaWxlcyBmb3Igc2hlbGwgY29tbWFuZHMgKENBU1NBTkRSQS02MTQ1KQogKiBGaXggcG90ZW50aWFsIHN0YWNrIG92ZXJmbG93IGR1cmluZyByYW5nZSB0b21ic3RvbmVzIGluc2VydGlvbiAoQ0FTU0FORFJBLTYxODEpCiAqIChIYRZL0vcAFzGRBRdSOAAAAU/ePLJcABBsMykgQWRkIHN1cHBvcnQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6HAAABAGNwIGtlZXBhbGl2ZSBvbiBpbmNvbWluZyBjb25uZWN0aW9ucyAoQ0FTU0FORFJBLTQwNTMpCiAqIEZpeCBmYXQgY2xpZW50IHNjaGVtYSBwdWxsIE5QRSAoQ0FTU0FORFJBLTYwODkpCiAqIEZpeCBtZW10YWJsZSBmbHVzaGluZyBmb3IgaW5kZXhlZCB0YWJsZXMgKENBU1NBTkRSQS02MTEyKQogKiBGaXggc2tpcHBpbmcgY29sdW1ucyB3aXRoIG11bHRpcGxlIHNsaWNlcyAoQ0FTU0FORFJBLTYxMTkpCiAqIEV4cG9zZSBjb25uZWN0ZWQgdGhyaWZ0ICtWoDiCAAABT948slwAEE5EUkEtODc3OCkKICogQWQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILocAAAEATkRSQS0zMDg0KQogKiBmaXggcGFyc2luZyBvZiB0aGUgS2V5c3BhY2UgYW5kIENvbHVtbkZhbWlseSBuYW1lcyBpbiBudW1lcmljCiAgIGFuZCBzdHJpbmcgcmVwcmVzZW50YXRpb25zIGluIENMSSAoQ0FTU0FORFJBLTMwNzUpCiAqIGZpeCBjb3JuZXIgY2FzZXMgaW4gUmFuZ2UuZGlmZmVyZW5jZVRvRmV0Y2ggKENBU1NBTkRSQS0zMDg0KQogKiBmaXggaXAgYWRkcmVzcyBTdHJpbmcgcmVwcmVzZW50YXRpb24gaW4gdGhlIHJpbmcgY2FjaGUgKENBU6fwvFQAAAFP3jyyXAAQIG91dHB1dAogICAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguhwAAAQBlYWQgb2YgSk5BIChDQVNTQU5EUkEtMzI3MSkKICogRUFDSF9RVU9SVU0gaXMgb25seSBzdXBwb3J0ZWQgZm9yIHdyaXRlcyAoQ0FTU0FORFJBLTMyNzIpCiAqIHJlcGxhY2UgY29tcGFjdGlvbmxvY2sgdXNlIGluIHNjaGVtYSBtaWdyYXRpb24gYnkgY2hlY2tpbmcgQ0ZTLmlzVmFsaWQKICAgKENBU1NBTkRSQS0zMTE2KQogKiByZWNvZ25pemUgdGhhdCAiU0VMRUNUIGZpcnN0IC4uLiAqIiBpc24ndCByZWFsbHkgIlNFTEVDVCAqIiAoQ0FTU0FORFJBEsvFSQAAAU/ePLJcABBlX25vZGUgZnVuY3Rpb25hAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6HAAABAHMgKENBU1NBTkRSQS0yNDU3KQogKiBkaXNhbGxvdyBtYWtpbmcgc2NoZW1hIGNoYW5nZXMgdG8gc3lzdGVtIGtleXNwYWNlIChDQVNTQU5EUkEtMjU2MykKICogZml4IHNlbmRpbmcgbXV0YXRpb24gbWVzc2FnZXMgbXVsdGlwbGUgdGltZXMgKENBU1NBTkRSQS0yNTU3KQogKiBmaXggaW5jb3JyZWN0IHVzZSBvZiBOQkhNLnNpemUgaW4gUmVhZENhbGxiYWNrIHRoYXQgY291bGQgY2F1c2UKICAgcmVhZHMgdG8gdGltZSBvdXQgZXZlbiB3aGVuIHJlc3DXqB0sAAABT948slwAEHN2YyBzdG9wIChDQVNTQU4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILocAAAEAaWFzIHN1cHBvcnQgKENBU1NBTkRSQS0yNDgwKQogKiBhZGQgc3VwcG9ydCBmb3IgY29tcGFyYXRvciBwYXJhbWV0ZXJzIGFuZCBhIGdlbmVyaWMgUmV2ZXJzZVR5cGUKICAgKENBU1NBTkRSQS0yMzU1KQogKiBhZGQgQ29tcG9zaXRlVHlwZSBhbmQgRHluYW1pY0NvbXBvc2l0ZVR5cGUgKENBU1NBTkRSQS0yMjMxKQogKiBvcHRpbWl6ZSBiYXRjaGVzIGNvbnRhaW5pbmcgbXVsdGlwbGUgdXBkYXRlcyB0byB0aGUgc2FtZSByb3cKICAgKENBU1NBTkRSQaGVpisAAAFP3jyyXAAQbyBpbiBISE9NIChDQVNTQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguhwAAAQBkIGFmdGVyIGRyb3BwaW5nIGEgdGFibGUsIGJlZm9yZSByZWN5Y2xpbmcKICAgY29tbWl0IGxvZyBzZWdtZW50cyAoQ0FTU0FORFJBLTc0MzcpCiAqIFJlbW92ZSBsZWZ0LW92ZXIgcm93c19wZXJfcGFydGl0aW9uX3RvX2NhY2hlIChDQVNTQU5EUkEtNzQ5MykKICogRml4IGVycm9yIHdoZW4gQ09OVEFJTlMgaXMgdXNlZCB3aXRoIGEgYmluZCBtYXJrZXIgKENBU1NBTkRSQS03NTAyKQogKiBQcm9wZXJseSByZWplY3QgdW5rbm93biBVRFQgZmllbGQgCwsVrAAAAU/ePLJcABAgcHJlLTEuMS4xIHNzdGFiAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6HAAABAGl4IHN0YXJ0IGtleS9lbmQgdG9rZW4gdmFsaWRhdGlvbiBmb3Igd2lkZSByb3cgaXRlcmF0aW9uIChDQVNTQU5EUkEtNTE2OCkKICogYWRkIENvbmZpZ0hlbHBlciBzdXBwb3J0IGZvciBUaHJpZnQgZnJhbWUgYW5kIG1heCBtZXNzYWdlIHNpemVzIChDQVNTQU5EUkEtNTE4OCkKICogZml4IG5vZGV0b29sIHJlcGFpciBub3QgZmFpbCBvbiBub2RlIGRvd24gKENBU1NBTkRSQS01MjAzKQogKiBhbHdheXMgY29sbGVjdCB0b21ic3RvbmUgaGludHMgKEOzN0LuAAABT948slwAEHRpb24gKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILocAAAEACiAqIE92ZXJzaXplIGludGVnZXIgaW4gQ1FMIHRocm93cyBOdW1iZXJGb3JtYXRFeGNlcHRpb24gKENBU1NBTkRSQS00MjkxKQogKiBmaXggMS4wLnggbm9kZSBqb2luIHRvIG1peGVkIHZlcnNpb24gY2x1c3Rlciwgb3RoZXIgbm9kZXMgPj0gMS4xIChDQVNTQU5EUkEtNDE5NSkKICogRml4IExDUyBzcGxpdHRpbmcgc3N0YWJsZSBiYXNlIG9uIHVuY29tcHJlc3NlZCBzaXplIChDQVNTQU5EUkEtNDQxOSkKICogUHVzaCB0aGUgdmFsaWRhdGlvbiBvZsqgpVIAAAFP3jyyXAAQQ0FTU0FORFJBLTc5NzYpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguhwAAAQAgZGlyZWN0b3J5IChDQVNTQU5EUkEtMTcxMykKICogZml4IHJlYWQgcmVwYWlyIHJlZ3Jlc3Npb24gZnJvbSAwLjYuNyAoQ0FTU0FORFJBLTE3MjcpCiAqIG1vcmUtZWZmaWNpZW50IHJlYWQgcmVwYWlyIChDQVNTQU5EUkEtMTcxOSkKICogZml4IGhpbnRlZCBoYW5kb2ZmIHJlcGxheSAoQ0FTU0FORFJBLTE2NTYpCiAqIGxvZyB0eXBlIG9mIGRyb3BwZWQgbWVzc2FnZXMgKENBU1NBTkRSQS0xNjc3KQogKiB1cGdyYWRlIHRvIFNMRjRKIDEuNi4xCiAqoJLARAAAAU/ePLJcABBlcyBvbiBub24tbWluaW11AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6HAAABAAogKiBGaXggZm9yIGRpc2NhcmRpbmcgdW5uZWVkZWQgY29tbWl0bG9nIHNlZ21lbnRzIChDQVNTQU5EUkEtNDU5KQogKiBBZGQgU25hcHNob3RCZWZvcmVDb21wYWN0aW9uIGNvbmZpZ3VyYXRpb24gb3B0aW9uIChDQVNTQU5EUkEtNDI2KQogKiBGaXggY29tcGFjdGlvbiBhYm9ydCB1bmRlciBpbnN1ZmZpY2llbnQgZGlzayBzcGFjZSAoQ0FTU0FORFJBLTQ3MykKICogRml4IHJlYWRpbmcgc3ViY29sdW1uIHNsaWNlIGZyb20gdG9tYnN0b25lZCBDRiCBOTyQAAABT948slwAEHViIGZvciBjb3VudGVyIGMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILocAAAEAaW4gQ1FMMyBmb3IgaW5zZXJ0cyAoQ0FTU0FORFJBLTM3ODMpCiAqIEFsbG93IHVuYXV0aGVudGljYXRlZCBzZXRfa2V5c3BhY2UoKSBjYWxscyAoQ0FTU0FORFJBLTU0MjMpCiAqIEZpeCBwb3RlbnRpYWwgaW5jcmVtZW50YWwgYmFja3VwcyByYWNlIChDQVNTQU5EUkEtNTQxMCkKICogRml4IHByZXBhcmVkIEJBVENIIHN0YXRlbWVudHMgd2l0aCBiYXRjaC1sZXZlbCB0aW1lc3RhbXBzIChDQVNTQU5EUkEtNTQxNSkKICogQWxsb3cgb3ZlcnJpZGluZ5j/1a0AAAFP3jyyXAAQdGVzLiAtYiBvcHRpb24gaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguhwAAAQBuZyBkYXRhY2VudGVyLnByb3BlcnRpZXMuIChDQVNTQU5EUkEtMTA2NikKICogb3B0aW1pemUgZm9yd2FyZCBzbGljZXMgc3RhcnRpbmcgd2l0aCAnJyBhbmQgc2luZ2xlLWluZGV4LWJsb2NrIG5hbWUgCiAgIHF1ZXJpZXMgYnkgc2tpcHBpbmcgdGhlIGNvbHVtbiBpbmRleCAoQ0FTU0FORFJBLTEzMzgpCiAqIHN0cmVhbWluZyByZWZhY3RvciAoQ0FTU0FORFJBLTExODkpCiAqIGZhc3RlciBjb21wYXJpc29uIGZvciBVVUlEIHR5cGVzIChDQVNTQU5EvHJAIAAAAU/ePLJcABBlZCAoQ0FTU0FORFJBLTMyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6HAAABAChDQVNTQU5EUkEtMzM2NikKICogZml4IERlZmxhdGUgY29tcHJlc3Npb24gd2hlbiBjb21wcmVzc2lvbiBhY3R1YWxseSBtYWtlcyB0aGUgZGF0YSBiaWdnZXIKICAgKENBU1NBTkRSQS0zMzcwKQogKiBvcHRpbWl6ZSBVVUlER2VuIHRvIGF2b2lkIGxvY2sgY29udGVudGlvbiBvbiBJbmV0QWRkcmVzcy5nZXRMb2NhbEhvc3QgCiAgIChDQVNTQU5EUkEtMzM4NykKICogdG9sZXJhdGUgaW5kZXggYmVpbmcgZHJvcHBlZCBtaWQtbXV0YXRpb24gKENBU1MPBR6UAAABT948slwAEEZpeCBOUEUgZHVyaW5nIEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILocAAAEAKQogKiBmaXggcG9zc2libGUgc3RhY2tvdmVyZmxvdyB3aGVuIGNvbXBhY3RpbmcgMTAwMHMgb2Ygc3N0YWJsZXMKICAgKENBU1NBTkRSQS00NzY1KQogKiBmaXggd3JvbmcgbGV2ZWxlZCBjb21wYWN0aW9uIHByb2dyZXNzIGNhbGN1bGF0aW9uIChDQVNTQU5EUkEtNDgwNykKICogYWRkIGEgY2xvc2UoKSBtZXRob2QgdG8gQ1JBUiB0byBwcmV2ZW50IGxlYWtpbmcgZmlsZSBkZXNjcmlwdG9ycyAoQ0FTU0FORFJBLTQ4MjApCiAqIGZpeCBwb3RlbnRpYYnCD1gAAAFP3jyyXAAQIENmRGVmIG1ldGFkYXRhIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguhwAAAQBya1RvcG9sb2d5U3RyYXRlZ3kgKENBU1NBTkRSQS03OTQ1KQogKiBGaXggc2F2aW5nIGNhY2hlcyB3aGVuIGEgdGFibGUgaXMgZHJvcHBlZCAoQ0FTU0FORFJBLTc3ODQpCiAqIEFkZCBiZXR0ZXIgZXJyb3IgY2hlY2tpbmcgb2YgbmV3IHN0cmVzcyBwcm9maWxlIChDQVNTQU5EUkEtNzcxNikKICogVXNlIFRocmVhZExvY2FsUmFuZG9tIGFuZCByZW1vdmUgRkJVdGlsaXRpZXMudGhyZWFkTG9jYWxSYW5kb20gKENBU1NBTkRSQS03OTM0KQogKiBQcmV26DANvAAXRe6amm7xAAABT948slwAEGUgcHJvdG9jb2wgbWVzc2EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILokAAAEAZmlndXJhdGlvbiBmaWxlIHRvIGNhc3NhbmRyYS54bWwsIGFuZCBsb2c0ai5wcm9wZXJ0aWVzIHRvCiAgIGxvZzRqLXNlcnZlci5wcm9wZXJ0aWVzLCB3aGljaCBtdXN0IG5vdyBiZSBsb2FkZWQgZnJvbQogICB0aGUgY2xhc3NwYXRoICh3aGljaCBpcyBob3cgb3VyIHNjcmlwdHMgaW4gYmluLyBoYXZlIGFsd2F5cyBkb25lIGl0KQogICAoQ0FTU0FORFJBLTk3MSkKICogY2hhbmdlIGdldF9jb3VudCB0byByZXF1aXJlIGEgU2xpY2VQcmVkaWNhdGUuIBn8quUAAAFP3jyyXAAQIHJlY2VpdmVzIGEgbWVzcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguiQAAAQApCiAqIE9ubHkgc25hcHNob3QgcmVsYXRpdmUgU1NUYWJsZXMgd2hlbiBzZXF1ZW50aWFsIHJlcGFpciAoQ0FTU0FORFJBLTcwMjQpCiAqIFJlcXVpcmUgbm9kZXRvb2wgcmVidWlsZF9pbmRleCB0byBzcGVjaWZ5IGluZGV4IG5hbWVzIChDQVNTQU5EUkEtNzAzOCkKICogZml4IGNhc3NhbmRyYSBzdHJlc3MgZXJyb3JzIG9uIHJlYWRzIHdpdGggbmF0aXZlIHByb3RvY29sIChDQVNTQU5EUkEtNzAzMykKICogVXNlIE9wT3JkZXIgdG8gZ3VhcmQgc3N0b0KQYwAAAU/ePLJcABA2NTU1KQogKiBGaXggQXJyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6JAAABAHVuZCAoQ0FTU0FORFJBLTMyMTkpCiAqIEZpeGVzIGZvciBMZXZlbGVkQ29tcGFjdGlvblN0cmF0ZWd5IHNjb3JlIGNvbXB1dGF0aW9uLCBwcmlvcml0aXphdGlvbiwKICAgc2NoZWR1bGluZywgYW5kIHBlcmZvcm1hbmNlIChDQVNTQU5EUkEtMzIyNCwgMzIzNCkKICogcGFyYWxsZWxpemUgc3N0YWJsZSBvcGVuIGF0IHNlcnZlciBzdGFydHVwIChDQVNTQU5EUkEtMjk4OCkKICogZml4IGhhbmRsaW5nIG9mIGV4Y2VwdGlvbnMgd3JpdGluZyB0byBPdXRT2KuoAAABT948slwAEGNhY2hlIGIvYyBvZiBjb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILokAAAEAQWNjb3VudCBmb3IgcmFuZ2Uvcm93IHRvbWJzdG9uZXMgaW4gdG9tYnN0b25lIGRyb3AKICAgdGltZSBoaXN0b2dyYW0gKENBU1NBTkRSQS02NTIyKQogKiBTdG9wIENvbW1pdExvZ1NlZ21lbnQuY2xvc2UoKSBmcm9tIGNhbGxpbmcgc3luYygpIChDQVNTQU5EUkEtNjY1MikKICogTWFrZSBjb21taXRsb2cgZmFpbHVyZSBoYW5kbGluZyBjb25maWd1cmFibGUgKENBU1NBTkRSQS02MzY0KQogKiBBdm9pZCBvdmVybGFwcyBpbiBMQ1MgKENBU1NBTkRSQeIDwHQAAAFP3jyyXAAQdG9yYWdlcHJveHkgbGF0ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguiQAAAQAgKiBTb3J0IGNvbW1pdGxvZyBzZWdtZW50cyBmb3IgcmVwbGF5IGJ5IGlkIGluc3RlYWQgb2YgbXRpbWUgKENBU1NBTkRSQS00NzkzKQogKiBNYWtlIGhpbnQgZGVsaXZlcnkgYXN5bmNocm9ub3VzIChDQVNTQU5EUkEtNDc2MSkKICogUGx1Z2dhYmxlIFRocmlmdCB0cmFuc3BvcnQgZmFjdG9yaWVzIGZvciBDTEkgYW5kIGNxbHNoIChDQVNTQU5EUkEtNDYwOSwgNDYxMCkKICogY2Fzc2FuZHJhLWNsaTogYWxsb3cgRG91YmxlIHZhbHVlIHR5cGUgdG8gmLFk3QAAAU/ePLJcABBpbGllcyBnZW5lcmF0ZWQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6JAAABAFVTRSBzdGF0ZW1lbnQgKENBU1NBTkRSQS0zMzUwKQogKiAoSGFkb29wKSBza2lwIGVtcHR5IHJvd3Mgd2hlbiBzbGljaW5nIHRoZSBlbnRpcmUgcm93IChDQVNTQU5EUkEtMjg1NSkKICogRml4IGhhbmRsaW5nIG9mIHRvbWJzdG9uZSBieSBTU1RhYmxlRXhwb3J0L0ltcG9ydCAoQ0FTU0FORFJBLTMzNTcpCiAqIGZpeCBDb2x1bW5JbmRleGVyIHRvIHVzZSBsb25nIG9mZnNldHMgKENBU1NBTkRSQS0zMzU4KQogKiBJbXByb3ZlZCBDTEkgZXhjZXB0aW/McNrPAAABT948slwAEGUgdGhyZXNob2xkLCBkZWYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILokAAAEAd2hlbiBib3RoIHJvdyBhbmQga2V5IGNhY2hlIGFyZSBlbmFibGVkIAogICAoQ0FTU0FORFJBLTY0MTMpCiAqIChIYWRvb3ApIGFkZCBkZXNjcmliZV9sb2NhbF9yaW5nIChDQVNTQU5EUkEtNjI2OCkKICogRml4IGhhbmRsaW5nIG9mIGNvbmN1cnJlbnQgZGlyZWN0b3J5IGNyZWF0aW9uIGZhaWx1cmUgKENBU1NBTkRSQS02NDU5KQogKiBBbGxvdyBleGVjdXRpbmcgQ1JFQVRFIHN0YXRlbWVudHMgbXVsdGlwbGUgdGltZXMgKENBU1NBTkRSQS02NDcxKR1KnEcAAAFP3jyyXAAQIChDQVNTQU5EUkEtMzM5NAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguiQAAAQBlIDMgKENBU1NBTkRSQS01MzU0KQogKiBGaXggdHJhbnNwb3NlZCBhcmd1bWVudHMgaW4gQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbiAoQ0FTU0FORFJBLTUzNjIpCiAqIEltcHJvdmUgYXN5bmNocm9ub3VzIGhpbnQgZGVsaXZlcnkgKENBU1NBTkRSQS01MTc5KQogKiBGaXggR3VhdmEgZGVwZW5kZW5jeSB2ZXJzaW9uICgxMi4wIC0+IDEzLjAuMSkgZm9yIE1hdmVuIChDQVNTQU5EUkEtNTM2NCkKICogVmFsaWRhdGUgdGhhdCBwcm92aWRlZCBDUUwzIGNvP+Lu0wAAAU/ePLJcABAyMzEpCiAqIENlbnRyYWxpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6JAAABAHJ0IGZyb20gc3lzdGVtCiAgIHByb3BlcnRpZXMgKENBU1NBTkRSQS0yMzQzKQogKiBmaXggY29tcGFyYXRvciB1c2VkIGZvciBub24taW5kZXhlZCBzZWNvbmRhcnkgZXhwcmVzc2lvbnMgaW4gaW5kZXggc2NhbgogICAoQ0FTU0FORFJBLTIzNDcpCiAqIGVuc3VyZSBzaXplIGNhbGN1bGF0aW9uIGFuZCB3cml0ZSBwaGFzZSBvZiBsYXJnZS1yb3cgY29tcGFjdGlvbiB1c2UKICAgdGhlIHNhbWUgdGhyZXNob2xkIGZvciBUVEwgZXhwaXJhdGlvbiAoQ0Ew6wQ2AAABT948slwAECBvZiBwYXJ0aXRpb24gZ2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILokAAAEAU1NBTkRSQS01MDE1KQogKiByZW1vdmUgcm93LWxldmVsIGJsb29tIGZpbHRlcnMgKENBU1NBTkRSQS00ODg1KQogKiBDaGFuZ2UgS2VybmVsIFBhZ2UgQ2FjaGUgc2tpcHBpbmcgaW50byByb3cgcHJlaGVhdGluZyAoZGlzYWJsZWQgYnkgZGVmYXVsdCkKICAgKENBU1NBTkRSQS00OTM3KQogKiBJbXByb3ZlIHJlcGFpciBieSBkZWNpZGluZyBvbiBhIGdjQmVmb3JlIGJlZm9yZSBzZW5kaW5nCiAgIG91dCBUcmVlUmVxdWVzdHMgKENBU1NBTkRSQS00OQZ+SPQAAAFP3jyyXAAQU1RBTkRJTkdfUkVQTEFZXwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguiQAAAQBpbmcgb2YgUmVqZWN0ZWRFeGVjdXRpb24gaW4gc3luYyBUaHJpZnQgc2VydmVyIChDQVNTQU5EUkEtNjc4OCkKICogTG9nIG1vcmUgaW5mb3JtYXRpb24gd2hlbiBleGNlZWRpbmcgdG9tYnN0b25lX3dhcm5fdGhyZXNob2xkIChDQVNTQU5EUkEtNjg2NSkKICogRml4IHRydW5jYXRlIHRvIG5vdCBhYm9ydCBkdWUgdG8gdW5yZWFjaGFibGUgZmF0IGNsaWVudHMgKENBU1NBTkRSQS02ODY0KQogKiBGaXggc2NoZW1hIGNvbmN1cnJlbmN5IGV4Y2VwdGlviUeb+gAAAU/ePLJcABA3KQogKiBkb24ndCBvdmVyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6JAAABACkKICogRml4IGRpc2FibGluZyBhdXRvY29tcGFjdGlvbiAoQ0FTU0FORFJBLTcxODcpCiAqIEZpeCBwb3RlbnRpYWwgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIHdoZW4gZGVzZXJpYWxpemluZyBJbnRlZ2VyVHlwZSAoQ0FTU0FORFJBLTcwODgpCiAqIGNxbHNoIGNhbid0IHRhYi1jb21wbGV0ZSBkaXNhYmxpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTcxODUpCiAqIGNxbHNoOiBBY2NlcHQgYW5kIGV4ZWN1dGUgQ1FMIHN0YXRlbWVudChzKSBmcm9tIGNSxYi8AAABT948slwAECBNYWtlIENMIGNvZGUgZm8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILokAAAEAIG1lc3NhZ2UgdmVyYiB0byBJTlRFUk5BTCB0byBhdm9pZCBkcm9wcGluZyBpdCAKICAgKENBU1NBTkRSQS02NDE1KQogKiBXYXJuIHdoZW4gY29sbGVjdGlvbiByZWFkIGhhcyA+IDY1SyBlbGVtZW50cyAoQ0FTU0FORFJBLTU0MjgpCiAqIEZpeCBjYWNoZSBwZXJzaXN0ZW5jZSB3aGVuIGJvdGggcm93IGFuZCBrZXkgY2FjaGUgYXJlIGVuYWJsZWQgCiAgIChDQVNTQU5EUkEtNjQxMykKICogKEhhZG9vcCkgYWRkIGRlc2NyaWJlX2xvY2FsX3JpbmcgKFKPtrMAAAFP3jyyXAAQQ1FMMiBhbmQgQ1FMMyBpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguiQAAAQAKICogQWxsb3cgcHJlcGFyaW5nIHRpbWVzdGFtcCwgdHRsIGFuZCBsaW1pdCBpbiBDUUwzIHF1ZXJpZXMgKENBU1NBTkRSQS00NDUwKQogKiBTdXBwb3J0IG5hdGl2ZSBsaW5rIHcvbyBKTkEgaW4gSmF2YTcgKENBU1NBTkRSQS0zNzM0KQogKiBVc2UgU0FTTCBhdXRoZW50aWNhdGlvbiBpbiBiaW5hcnkgcHJvdG9jb2wgdjIgKENBU1NBTkRSQS01NTQ1KQogKiBSZXBsYWNlIFRocmlmdCBIc0hhIHdpdGggTE1BWCBEaXNydXB0b3IgYmFzZWQgaW1wbGVtDSYLhwAAAU/ePLJcABBjb2duaXRpb24gb2Ygc3VwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6JAAABAGVkIHBvc3QtcmVzdGFydCAoQ0FTU0FORFJBLTMyOTcpCiAqIG1ha2UgaXdyaXRlciBmaW5hbCBpbiBJbmRleFdyaXRlciB0byBhdm9pZCBOUEUgKENBU1NBTkRSQS0yODYzKQogKiAoQ1FMKSB1cGRhdGUgZ3JhbW1hciB0byByZXF1aXJlIGtleSBjbGF1c2UgaW4gREVMRVRFIHN0YXRlbWVudAogICAoQ0FTU0FORFJBLTMzNDkpCiAqIChDUUwpIGFsbG93IG51bWVyaWMga2V5c3BhY2UgbmFtZXMgaW4gVVNFIHN0YXRlbWVudCAoQ0FTU0FORFJBLTMzNTAQuXNBABdaSxFzvq4AAAFP3jyyXAAQRFJBLTY3ODgpCiAqIExvZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguiwAAAQByYXRlZ3kKICAgZ2VuZXJhdGVzLCBhcyBpbnRlbmRlZCAoQ0FTU0FORFJBLTMyNjIpCiAqIHJlbW92ZSBTY3J1YiBmcm9tIGNvbXBhY3Rpb25zdGF0cyB3aGVuIGZpbmlzaGVkIChDQVNTQU5EUkEtMzI1NSkKICogRml4IHRvb2wgLmJhdCBmaWxlcyB3aGVuIENBU1NBTkRSQV9IT01FIGNvbnRhaW5zIHNwYWNlcyAoQ0FTU0FORFJBLTMyNTgpCiAqIEZvcmNlIGZsdXNoIG9mIHN0YXR1cyB0YWJsZSB3aGVuIHJlbW92aW5nL3VwZGF0aW5nIHRva2VuIChDiPEyQwAAAU/ePLJcABAgb24gbXVsdGlwbGUgc2VjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6LAAABAHRyYXAgaWYgSVAgaXMgYWxyZWFkeSBpbiB0aGUgdG9rZW4gcmluZyAoQ0FTU0FORFJBLTY2MykKICogaW5jcmVhc2UgZGVmYXVsdCBjb21taXRsb2cgc3luYyBwZXJpb2QsIGFuZCB3YWl0IGZvciBsYXN0IHN5bmMgdG8gCiAgIGZpbmlzaCBiZWZvcmUgc3VibWl0dGluZyBhbm90aGVyIChDQVNTQU5EUkEtNjY4KQoKCjAuNS4wIFJDMQogKiBGaXggcG90ZW50aWFsIE5QRSBpbiBnZXRfcmFuZ2Vfc2xpY2UgKENBU1NBTkRSQS02MjMpCiAqIGFkZCBDUkMGaB4HAAABT948slwAEG5xdWVyaWVkIHJlc3VsdHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILosAAAEAICAoQ0FTU0FORFJBLTMzMzUpCiAqIChDUUwpIGNvbXBhY3Rpb25fc3RyYXRlZ3lfb3B0aW9ucyBhbmQgY29tcHJlc3Npb25fcGFyYW1ldGVycyBmb3IKICAgQ1JFQVRFIENPTFVNTkZBTUlMWSBzdGF0ZW1lbnQgKENBU1NBTkRSQS0zMzc0KQogKiBSZXNldCBtaW4vbWF4IGNvbXBhY3Rpb24gdGhyZXNob2xkIHdoZW4gY3JlYXRpbmcgc2l6ZSB0aWVyZWQgY29tcGFjdGlvbgogICBzdHJhdGVneSAoQ0FTU0FORFJBLTM2NjYpCiAqIERvbid0IGlnbm9yZQhnphgAAAFP3jyyXAAQPGtleXNwYWNlPjsiIENMSQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguiwAAAQBlIEpBVkEgZW52IHZhciBpbiBjYXNzYW5kcmEtZW52LnNoIChDQVNTQU5EUkEtMjc4NSwgMjk5MikKICogYXZvaWQgZG9pbmcgcmVhZCBmb3Igbm8tb3AgcmVwbGljYXRlLW9uLXdyaXRlIGF0IENMPTEgKENBU1NBTkRSQS0yODkyKQogKiByZWZ1c2UgY291bnRlciB3cml0ZSBmb3IgQ0wuQU5ZIChDQVNTQU5EUkEtMjk5MCkKICogc3dpdGNoIGJhY2sgdG8gb25seSBsb2dnaW5nIHJlY2VudCBkcm9wcGVkIG1lc3NhZ2VzIChDQVNTQU5EUkEtMzAwNCkKQ/nFEAAAAU/ePLJcABBkLWd1ZXNzaW5nIG91dC1vAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6LAAABAGlkaW5nIG9uIGEgZ2NCZWZvcmUgYmVmb3JlIHNlbmRpbmcKICAgb3V0IFRyZWVSZXF1ZXN0cyAoQ0FTU0FORFJBLTQ5MzIpCiAqIEFkZCBhbiBvZmZpY2lhbCB3YXkgdG8gZGlzYWJsZSBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTUwNzQpCiAqIFJlZW5hYmxlIEFMVEVSIFRBQkxFIERST1Agd2l0aCBuZXcgc2VtYW50aWNzIChDQVNTQU5EUkEtMzkxOSkKICogQWRkIGJpbmFyeSBwcm90b2NvbCB2ZXJzaW9uaW5nIChDQVNTQU5EUkEtNTQzNikKICogU3eWgn9qAAABT948slwAEGNsb3NlKCkgZnJvbSBjYWwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILosAAAEAZCBzdXBwb3J0IGZvciAybmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTM2ODApCiAqIChjcWwzKSBmaXggZGVmaW5pbmcgbW9yZSB0aGFuIG9uZSBQSyB0byBiZSBpbnZhbGlkIChDQVNTQU5EUkEtNDQ3NykKICogcmVtb3ZlIHNjaGVtYSBhZ3JlZW1lbnQgY2hlY2tpbmcgZnJvbSBhbGwgZXh0ZXJuYWwgQVBJcyAoVGhyaWZ0LCBDUUwgYW5kIENRTDMpIChDQVNTQU5EUkEtNDQ4NykKICogYWRkIE11cm11cjNQYXJ0aXRpb25lciBhbmQgbWFrZSBpdCBkZWjbh1YAAAFP3jyyXAAQIChDQVNTQU5SREEtNTgxOQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguiwAAAQApCiAqIGFkZCBDb25maWdIZWxwZXIgc3VwcG9ydCBmb3IgVGhyaWZ0IGZyYW1lIGFuZCBtYXggbWVzc2FnZSBzaXplcyAoQ0FTU0FORFJBLTUxODgpCiAqIGZpeCBub2RldG9vbCByZXBhaXIgbm90IGZhaWwgb24gbm9kZSBkb3duIChDQVNTQU5EUkEtNTIwMykKICogYWx3YXlzIGNvbGxlY3QgdG9tYnN0b25lIGhpbnRzIChDQVNTQU5EUkEtNTA2OCkKICogRml4IGVycm9yIHdoZW4gc291cmNpbmcgZmlsZSBpbiBjcWxzaCAoQ0FTU0FORFJBLTUyMzUp1wWyegAAAU/ePLJcABBhdGl2ZSBzZXJ2ZXIgc3RhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6LAAABAC03MjQ0KSAKICogRml4IGR1cGxpY2F0ZWQgZXJyb3IgbWVzc2FnZXMgb24gZGlyZWN0b3J5IGNyZWF0aW9uIGVycm9yIGF0IHN0YXJ0dXAgKENBU1NBTkRSQS01ODE4KQogKiBQcm9wZXIgbnVsbCBoYW5kbGUgZm9yIElGIHdpdGggbWFwIGVsZW1lbnQgYWNjZXNzIChDQVNTQU5EUkEtNzE1NSkKICogSW1wcm92ZSBjb21wYWN0aW9uIHZpc2liaWxpdHkgKENBU1NBTkRSQS03MjQyKQogKiBDb3JyZWN0bHkgZGVsZXRlIHNjaGVkdWxlZCByYW5nZSB4ZmV55ul9AAABT948slwAEG4gKENBU1NBTkRSQS0xOTMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILosAAAEAZW4KICAgZXZlbiBpZiB0aGUgcGVzc2ltaXN0aWMgZXN0aW1hdGUgaXMgdGhhdCB0aGVyZSBpcyBub3QgZW5vdWdoIGRpc2sgc3BhY2U7CiAgIGF1dG9tYXRpYyBjb21wYWN0aW9ucyB3aWxsIG9ubHkgY29tcGFjdCAyIG9yIG1vcmUgc3N0YWJsZXMgKENBU1NBTkRSQS0yNTc1KQogKiByZWZ1c2UgdG8gYXBwbHkgbWlncmF0aW9ucyB3aXRoIG9sZGVyIHRpbWVzdGFtcHMgdGhhbiB0aGUgY3VycmVudCAKICAgc2NoZW1hIChDQVNTQU5EUkEtMjUzNikKIAKb3i8AAAFP3jyyXAAQZXBhcmVkIHN0YXRlbWVudAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguiwAAAQAgIGluZmluaXRlIGxvb3BzIGFuZCBwcmVtYXR1cmUgc3N0YWJsZSBkZWxldGlvbiAoQ0FTU0FORFJBLTc3MDQpCiAqIEFkZCBhbiBleHRyYSB2ZXJzaW9uIGNoZWNrIHRvIE1pZ3JhdGlvblRhc2sgKENBU1NBTkRSQS04NDYyKQogKiBFbnN1cmUgU1NUYWJsZVdyaXRlciBjbGVhbnMgdXAgcHJvcGVybHkgYWZ0ZXIgZmFpbHVyZSAoQ0FTU0FORFJBLTg0OTkpCiAqIEluY3JlYXNlIGJmIHRydWUgcG9zaXRpdmUgY291bnQgb24ga2V5IGNhY2hlIGhpdCAoGn06/wAAAU/ePLJcABByYWNlIHByb2Nlc3NpbmcgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6LAAABAGxlIGludGVybmFsIG1lc3NhZ2luZyAoQ0FTU0FORFJBLTEwMTUpCiAqIGF0b21pYyBzd2l0Y2ggb2YgbWVtdGFibGVzIGFuZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTIyODQpCiAqIGFkZCBwbHVnZ2FibGUgU2VlZFByb3ZpZGVyIChDQVNTQU5EUkEtMTY2OSkKICogRml4IGNsdXN0ZXJ0b29sIHRvIG5vdCB0aHJvdyBleGNlcHRpb24gd2hlbiBjYWxsaW5nIGdldF9lbmRwb2ludHMgKENBU1NBTkRSQS0yNDM3KQogKiB1cGdyYWRlIHRvIHRocmlmdCAwLjY7nZdJAAABT948slwAECogdXBkYXRlIHdpbmRvd3MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILosAAAEALTU0NykKICogc3VwcG9ydCBmYXQgY2xpZW50cyB1c2luZyBnb3NzaXBlciBhbmQgU3RvcmFnZVByb3h5IHRvIHBlcmZvcm0KICAgcmVwbGljYXRpb24gaW4tcHJvY2VzcyBbanZtLW9ubHldIChDQVNTQU5EUkEtNTM1KQogKiBzdXBwb3J0IG1tYXBwZWQgSS9PIGZvciByZWFkcywgb24gYnkgZGVmYXVsdCBvbiA2NGJpdCBKVk1zIAogICAoQ0FTU0FORFJBLTQwOCwgQ0FTU0FORFJBLTY2OSkKICogaW1wcm92ZSBpbnNlcnQgY29uY3VycmVuY3ksIHBhct1BGXkAAAFP3jyyXAAQdmFsaWQgaW5wdXQgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguiwAAAQAgdG8gc2V0IGNhY2hlIHNpemVzIGF0IHJ1bnRpbWUgKENBU1NBTkRSQS03MDgpCiAqIHJlcG9ydCBsYXRlbmN5IGFuZCBjYWNoZSBoaXQgcmF0ZSBzdGF0aXN0aWNzIHdpdGggbGlmZXRpbWUgdG90YWxzCiAgIGluc3RlYWQgb2YgYXZlcmFnZSBvdmVyIHRoZSBsYXN0IG1pbnV0ZSAoQ0FTU0FORFJBLTcwMikKICogc3VwcG9ydCBnZXRfcmFuZ2Vfc2xpY2UgZm9yIFJhbmRvbVBhcnRpdGlvbmVyIChDQVNTQU5EUkEtNzQ1KQogKiBwZXIta2V5c3BhY2UgtdVuCwAAAU/ePLJcABAqIGZpeCBvZiBudW1lcmljAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6LAAABACBwbHVzIG1pc2MgKENBU1NBTkRSQS04NzY5KQogKiBVc2UgbG9uZyBmb3Iga2V5IGNvdW50IGluIGNmc3RhdHMgKENBU1NBTkRSQS04OTEzKQogKiBNYWtlIFNTVGFibGVSZXdyaXRlci5hYm9ydCgpIG1vcmUgcm9idXN0IHRvIGZhaWx1cmUgKENBU1NBTkRSQS04ODMyKQogKiBSZW1vdmUgY29sZF9yZWFkc190b19vbWl0IGZyb20gU1RDUyAoQ0FTU0FORFJBLTg4NjApCiAqIE1ha2UgRXN0aW1hdGVkSGlzdG9ncmFtI3BlcmNlbnRpbGUoKSB1c2UgY2XnrrCfAAABT948slwAEEFTU0FORFJBLTMwNDUpCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILosAAAEAdGFibGUgKENBU1NBTkRSQS0yNzQ0KQogKiBhZGQgZGFlbW9uIG1vZGUgdG8gamF2YSBzdHJlc3MgKENBU1NBTkRSQS0yMjY3KQogKiBleHBvc2UgdGhlIERDIGFuZCByYWNrIG9mIGEgbm9kZSB0aHJvdWdoIEpNWCBhbmQgbm9kZXRvb2wgcmluZyAoQ0FTU0FORFJBLTI1MzEpCiAqIGZpeCBjYWNoZSBtYmVhbiBnZXRTaXplIChDQVNTQU5EUkEtMjc4MSkKICogQWRkIERhdGUsIEZsb2F0LCBEb3VibGUsIGFuZCBCb29sZWFuIHR5cGVzIChDQVNTQU5EUlohIjQAF26oepXnVwAAAU/ePLJcABA0KQoKCjEuMS4xCiAqIGFkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6NAAABAHJ2b2lyIHNhbXBsaW5nIChDQVNTQU5EUkEtNDAzOCkKICogKGNxbDMpIEFkZCBzdXBwb3J0IGZvciAybmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTM2ODApCiAqIChjcWwzKSBmaXggZGVmaW5pbmcgbW9yZSB0aGFuIG9uZSBQSyB0byBiZSBpbnZhbGlkIChDQVNTQU5EUkEtNDQ3NykKICogcmVtb3ZlIHNjaGVtYSBhZ3JlZW1lbnQgY2hlY2tpbmcgZnJvbSBhbGwgZXh0ZXJuYWwgQVBJcyAoVGhyaWZ0LCBDUUwgYW5kIENRTDMpIChDQVNTQU5EUkEtNDTGZz++AAABT948slwAEERSQS04MDM0KQogKiBNYWsAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILo0AAAEAaW4gYnVsayBsb2FkZXIgKENBU1NBTkRSQS02MTI5KQogKiBBZGQgY29uZmlndXJhYmxlIG1ldHJpY3MgcmVwb3J0aW5nIChDQVNTQU5EUkEtNDQzMCkKICogZHJvcCBxdWVyaWVzIGV4Y2VlZGluZyBhIGNvbmZpZ3VyYWJsZSBudW1iZXIgb2YgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTYxMTcpCiAqIFRyYWNrIGFuZCBwZXJzaXN0IHNzdGFibGUgcmVhZCBhY3Rpdml0eSAoQ0FTU0FORFJBLTU1MTUpCiAqIEZpeGVzIGZvciBzcGVjdWxhdGl2ZSByZXRyeUDw/sQAAAFP3jyyXAAQZSBTdHJhdGVneQogICBnZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgujQAAAQByaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS03ODE5KQogKiBTZW5kIG5vdGlmaWNhdGlvbiB3aGVuIG9wZW5pbmcgY29tcGFjdGlvbiByZXN1bHRzIGVhcmx5IChDQVNTQU5EUkEtODAzNCkKICogTWFrZSBuYXRpdmUgc2VydmVyIHN0YXJ0IGJsb2NrIHVudGlsIHByb3Blcmx5IGJvdW5kIChDQVNTQU5EUkEtNzg4NSkKICogKGNxbHNoKSBGaXggSVB2NiBzdXBwb3J0IChDQVNTQU5EUkEtNzk4OCkKICogSWdub3JlIGZhdCBjbGllbnRzIHdoZW4gY2hl/N0i7AAAAU/ePLJcABByZXBsaWNhcyB0bwogICBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6NAAABAGUgQ1FMMyAoQ0FTU0FORFJBLTQ0MDYpCiAqIEFjY2VwdCBhbGwgdGhyaWZ0IHVwZGF0ZSBvbiBDUUwzIGNmIGJ1dCBkb24ndCBleHBvc2UgdGhlaXIgbWV0YWRhdGEgKENBU1NBTkRSQS00Mzc3KQogKiBSZXBsYWNlIFRocm90dGxlIHdpdGggR3VhdmEncyBSYXRlTGltaXRlciBmb3IgSGludGVkSGFuZE9mZiAoQ0FTU0FORFJBLTQ1NDEpCiAqIGZpeCBjb3VudGVyIGFkZC9nZXQgdXNpbmcgQ1FMMiBhbmQgQ1FMMyBpbiBzdHJlc3MgdG9vbCAoQ0FTU0GQdmtEAAABT948slwAECBmaW5pc2hlZCAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILo0AAAEAQVNTQU5EUkEtOTA5OCkKICogSW1wcm92ZSBub2RldG9vbCBnZXRlbmRwb2ludHMgZG9jdW1lbnRhdGlvbiBhYm91dCB0aGUgcGFydGl0aW9uCiAgIGtleSBwYXJhbWV0ZXIgKENBU1NBTkRSQS02NDU4KQogKiBEb24ndCBjaGVjayBvdGhlciBrZXlzcGFjZXMgZm9yIHNjaGVtYSBjaGFuZ2VzIHdoZW4gYW4gdXNlci1kZWZpbmVkCiAgIHR5cGUgaXMgYWx0ZXJlZCAoQ0FTU0FORFJBLTkxODcpCiAqIEFsbG93IHRha2VDb2x1bW5GYW1pbHlTbmFwc2hvdL6nG3wAAAFP3jyyXAAQdGUgcGF0aCAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgujQAAAQBkIHJldGFpbmluZwogICBhIHJlZmVyZW5jZSB0byB0aGUgdW5kZXJseWluZyBidWZmZXIgKENBU1NBTkRSQS0yMTAyKQogKiBmb3JtYXQgc3ViY29sdW1uIG5hbWVzIHdpdGggc3ViY29tcGFyYXRvciAoQ0FTU0FORFJBLTIxMzYpCiAqIGZpeCBjb2x1bW4gYmxvb20gZmlsdGVyIGRlc2VyaWFsaXphdGlvbiAoQ0FTU0FORFJBLTIxNjUpCgoKMC43LjEKICogcmVmYWN0b3IgTWVzc2FnZURpZ2VzdCBjcmVhdGlvbiBjb2RlLiAoQ0FTU0FORFJBLTIxMDcpyLivAAAAAU/ePLJcABBsaW5nIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6NAAABAHByZXBhcmVkIHN0YXRlbWVudCBJRCBpcyB1c2VkIChDQVNTQU5EUkEtNzQ1NCkKTWVyZ2VkIGZyb20gMi4wOgogKiAoV2luZG93cykgZm9yY2UgcmFuZ2UtYmFzZWQgcmVwYWlyIHRvIG5vbi1zZXF1ZW50aWFsIG1vZGUgKENBU1NBTkRSQS03NTQxKQogKiBGaXggcmFuZ2UgbWVyZ2luZyB3aGVuIERFUyBzY29yZXMgYXJlIHplcm8gKENBU1NBTkRSQS03NTM1KQogKiBXYXJuIHdoZW4gU1NMIGNlcnRpZmljYXRlcyBoYXZlIGV4cGlyZWQgKENBU1NBTkSQ83szAAABT948slwAECBqdm0gYXJndW1lbnQgaW0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILo0AAAEAZCBDRiBzc3RhYmxlcyBtYXkgbm90IGJlIGRlbGV0ZWQgKENBU1NBTkRSQS0yOTQyKQogKiBFeHBvc2UgZ29zc2lwL0ZEIGluZm8gdG8gSk1YIChDQVNTQU5EUkEtMjgwNikKICogRml4IHN0cmVhbWluZyBvdmVyIFNTTCB3aGVuIGNvbXByZXNzZWQgU1NUYWJsZSBpbnZvbHZlZCAoQ0FTU0FORFJBLTMwNTEpCiAqIEFkZCBzdXBwb3J0IGZvciBwbHVnZ2FibGUgc2Vjb25kYXJ5IGluZGV4IGltcGxlbWVudGF0aW9ucyAoQ0FTU0FORFJBLTMwNzgpCiAqIPcW71sAAAFP3jyyXAAQU1NBTkRSQS0xMjYzKQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgujQAAAQBuc0Rpc2FibGVkIHBvbGwgaW50ZXJ2YWwgdG8gMW1zIChDQVNTQU5EUkEtOTI3MSkKICogRml4IFBJVFIgY29tbWl0bG9nIHJlcGxheSAoQ0FTU0FORFJBLTkxOTUpCiAqIEdDSW5zcGVjdG9yIGxvZ3MgdmVyeSBkaWZmZXJlbnQgdGltZXMgKENBU1NBTkRSQS05MTI0KQogKiBGaXggZGVsZXRpbmcgZnJvbSBhbiBlbXB0eSBsaXN0IChDQVNTQU5EUkEtOTE5OCkKICogVXBkYXRlIHR1cGxlIGFuZCBjb2xsZWN0aW9uIHR5cGVzIHRoYXQgdXNlIGEgdXNlCyLKcgAAAU/ePLJcABAqIFJlbW92ZWQgb24taGVhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6NAAABAGUgY29tcGFyaXNvbiAoQ0FTU0FORFJBLTQ3MTEpCiAqIEZpeCBkdXBsaWNhdGUgU1NUYWJsZSByZWZlcmVuY2Ugd2hlbiBzdHJlYW0gc2Vzc2lvbiBmYWlsZWQgKENBU1NBTkRSQS0zMzA2KQogKiBBbGxvdyBzdGF0aWMgQ0YgZGVmaW5pdGlvbiB3aXRoIGNvbXBhY3Qgc3RvcmFnZSAoQ0FTU0FORFJBLTQ5MTApCiAqIEZpeCBlbmRsZXNzIGxvb3AvY29tcGFjdGlvbiBvZiBzY2hlbWFfKiBDRnMgZHVlIHRvIGJyb2tlbiB0aW1lc3RhbXBzIChDQVNTQU7rGAhBAAABT948slwAEDMwODQpCiAqIGZpeCBwYXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILo0AAAEAdG9ycyAoQ0FTU0FORFJBLTQ4MjApCiAqIGZpeCBwb3RlbnRpYWwgaW5maW5pdGUgbG9vcCBpbiBnZXRfY291bnQgKENBU1NBTkRSQS00ODMzKQogKiBmaXggY29tcG9zaXRlVHlwZS57Z2V0L2Zyb219U3RyaW5nIG1ldGhvZHMgKENBU1NBTkRSQS00ODQyKQogKiAoQ1FMKSBmaXggQ1JFQVRFIENPTFVNTkZBTUlMWSBwZXJtaXNzaW9ucyBjaGVjayAoQ0FTU0FORFJBLTQ4NjQpCiAqIEZpeCBEeW5hbWljQ29tcG9zaXRlVHlwZSBzYW1lIHR5cGUgY29tcCnznPEAAAFP3jyyXAAQcGFjdGlvbnMgKENBU1NBTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgujQAAAQAgKENBU1NBTkRSQS00NjcyKQogKiBmaXggQnVsa0xvYWRlciByZWNvZ25pdGlvbiBvZiBDUUwzIGNvbHVtbmZhbWlsaWVzIChDQVNTQU5EUkEtNDc1NSkKICogU29ydCBjb21taXRsb2cgc2VnbWVudHMgZm9yIHJlcGxheSBieSBpZCBpbnN0ZWFkIG9mIG10aW1lIChDQVNTQU5EUkEtNDc5MykKICogTWFrZSBoaW50IGRlbGl2ZXJ5IGFzeW5jaHJvbm91cyAoQ0FTU0FORFJBLTQ3NjEpCiAqIFBsdWdnYWJsZSBUaHJpZnQgdHJhbnNwb3J0IGZhY3RvcmllJXSKFAAAAU/ePLJcABBBTkRSQS02ODIxKQogKiBBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6NAAABACB1cCBwcm9wZXJseSBhZnRlciBmYWlsdXJlIChDQVNTQU5EUkEtODQ5OSkKICogSW5jcmVhc2UgYmYgdHJ1ZSBwb3NpdGl2ZSBjb3VudCBvbiBrZXkgY2FjaGUgaGl0IChDQVNTQU5EUkEtODUyNSkKICogTW92ZSBNZXRlcmVkRmx1c2hlciB0byBpdHMgb3duIHRocmVhZCAoQ0FTU0FORFJBLTg0ODUpCiAqIEZpeCBub24tZGlzdGluY3QgcmVzdWx0cyBpbiBESVNUTkNUIHF1ZXJpZXMgb24gc3RhdGljIGNvbHVtbnMgd2hlbgogICBwYWdpbmcgaXMgZW4ivXfIAAABT948slwAEHBsYWNlIG9mIHRoZQogICAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILo0AAAEAdmFsdWUgZm9yIHBlbmRpbmcgdGFza3MgaW4gbGV2ZWxlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtMzY5MykKICogKEhhZG9vcCkgU3VwcG9ydCBUaW1lVVVJRCBpbiBQaWcgQ2Fzc2FuZHJhU3RvcmFnZSAoQ0FTU0FORFJBLTMzMjcpCiAqIENoZWNrIHNjaGVtYSBpcyByZWFkeSBiZWZvcmUgY29udGludWluZyBib29zdHJhcHBpbmcgKENBU1NBTkRSQS0zNjI5KQogKiBDYXRjaCBvdmVyZmxvd3MgZHVyaW5nIHBhcnNpbmcgb2YgY2h1bmtfbGVuZ3RoXwDGzpkAAAFP3jyyXAAQbmQgSkRLIEZEIGJ1ZyAoQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgujQAAAQBuYXRpdmUgbGluayB3L28gSk5BIGluIEphdmE3IChDQVNTQU5EUkEtMzczNCkKICogVXNlIFNBU0wgYXV0aGVudGljYXRpb24gaW4gYmluYXJ5IHByb3RvY29sIHYyIChDQVNTQU5EUkEtNTU0NSkKICogUmVwbGFjZSBUaHJpZnQgSHNIYSB3aXRoIExNQVggRGlzcnVwdG9yIGJhc2VkIGltcGxlbWVudGF0aW9uIChDQVNTQU5EUkEtNTU4MikKICogY3Fsc2g6IEFkZCByb3cgY291bnQgdG8gU0VMRUNUIG91dHB1dCAoQ0FTU0FORFJBLTU2MzYpCiAqIEluM4u+hgAXgwX4vKdiAAABT948slwAEGlyZWQgaW4gcGFyYWxsZWwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILo8AAAEAU1NBTkRSQS00ODEzKQogKiBVc2UgU3RhdHMuZGIgd2hlbiBidWxrIGxvYWRpbmcgaWYgcHJlc2VudCAoQ0FTU0FORFJBLTQ5NTcpCiAqIFNraXAgcmVwYWlyIG9uIHN5c3RlbV90cmFjZSBhbmQga2V5c3BhY2VzIHdpdGggUkY9MSAoQ0FTU0FORFJBLTQ5NTYpCiAqIChjcWwzKSBSZW1vdmUgYXJiaXRyYXJ5IFNFTEVDVCBsaW1pdCAoQ0FTU0FORFJBLTQ5MTgpCiAqIENvcnJlY3RseSBoYW5kbGUgcHJlcGFyZWQgb3BlcmF0aW9uIG9uIGNvbGxlY3Rpb/7nhNQAAAFP3jyyXAAQNzU4KQogKiBGaXggTVMgZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgujwAAAQA0Mjg5KQogKiBBZGQgc3VwcG9ydCBmb3IgcmFuZ2UgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTM3MDgpCiAqIEltcHJvdmUgTWVzc2FnaW5nU2VydmljZSBlZmZpY2llbmN5IChDQVNTQU5EUkEtMzYxNykKICogQXZvaWQgSUQgY29uZmxpY3RzIGZyb20gY29uY3VycmVudCBzY2hlbWEgY2hhbmdlcyAoQ0FTU0FORFJBLTM3OTQpCiAqIFNldCB0aHJpZnQgSFNIQSBzZXJ2ZXIgdGhyZWFkIGxpbWl0IHRvIHVubGltaXRlZCBieSBkZWZhdWx0IChDQVNTQU5Ex5J0AAAAAU/ePLJcABAgZm9yIGVycm9ycyAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6PAAABAHJ0aXRpb25lciB0b2tlbnMgKENBU1NBTkRSQS04MjMwKQogKiBJbXByb3ZlIGNvbXBhY3Rpb24gb2YgcmVwYWlyZWQvdW5yZXBhaXJlZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTgwMDQpCiAqIE1ha2UgY2FjaGUgc2VyaWFsaXplcnMgcGx1Z2dhYmxlIChDQVNTQU5EUkEtODA5NikKICogRml4IGlzc3VlcyB3aXRoIENPTlRBSU5TIChLRVkpIHF1ZXJpZXMgb24gc2Vjb25kYXJ5IGluZGV4ZXMKICAgKENBU1NBTkRSQS04MTQ3KQogKiBGaXggcmVhZC1yYXRoVbs4AAABT948slwAEFNTQU5EUkEtMzM3NCkKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILo8AAAEAZ2VkX3NsaWNlIHRvIHdyYXAgdG8gbmV4dCByb3cgY29ycmVjdGx5IChDQVNTQU5EUkEtNDgxNikKICogZml4IGluZGV4aW5nIGVtcHR5IGNvbHVtbiB2YWx1ZXMgKENBU1NBTkRSQS00ODMyKQogKiBhbGxvdyBKZGJjRGF0ZSB0byBjb21wb3NlIG51bGwgRGF0ZSBvYmplY3RzIChDQVNTQU5EUkEtNDgzMCkKICogZml4IHBvc3NpYmxlIHN0YWNrb3ZlcmZsb3cgd2hlbiBjb21wYWN0aW5nIDEwMDBzIG9mIHNzdGFibGVzCiAgIChDQVNTQU5EUkEtNDc2NecQ4XcAAAFP3jyyXAAQQU5EUkEtNDkxMCkKICogRgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgujwAAAQBBU1NBTkRSQS0xOTY2KQogKiBjaGVjayBjb2x1bW4gZmFtaWx5IHZhbGlkaXR5IGluIG5vZGV0b29sIHJlcGFpciAoQ0FTU0FORFJBLTI5MzMpCiAqIHVzZSBsYXp5IGluaXRpYWxpemF0aW9uIGluc3RlYWQgb2YgY2xhc3MgaW5pdGlhbGl6YXRpb24gaW4gTm9kZUlkCiAgIChDQVNTQU5EUkEtMjk1MykKICogYWRkIHBhZ2luZyB0byBnZXRfY291bnQgKENBU1NBTkRSQS0yODk0KQogKiBmaXggInNob3J0IHJlYWRzIiBpbiBbbXVsdGldZ2V0IChDQVNTiMGS9QAAAU/ePLJcABAgKiByZW1vdmUgZmFpbGVkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6PAAABAENBU1NBTkRSQS0yODI5KQogKiBmaXggdGhyb3dpbmcgZXhjZXB0aW9uIHdpdGggYmF0Y2ggbXV0YXRpb24gb2YgY291bnRlciBzdXBlciBjb2x1bW5zCiAgIChDQVNTQU5EUkEtMjk0OSkKICogaWdub3JlIHN5c3RlbSB0YWJsZXMgZHVyaW5nIHJlcGFpciAoQ0FTU0FORFJBLTI5NzkpCiAqIHRocm93IGV4Y2VwdGlvbiB3aGVuIE5UUyBpcyBnaXZlbiByZXBsaWNhdGlvbl9mYWN0b3IgYXMgYW4gb3B0aW9uCiAgIChDQVNTQU5EUkEtMjk2MCkKICogZmkJlsYyAAABT948slwAEGF5SW5kZXhPdXRPZkJvdW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILo8AAAEAb3IgcG9zdC0xLjEgc3lzdGVtIGNmcyAoQ0FTU0FORFJBLTU0OTApCiAqIEZpeCBwcmltYXJ5IHJhbmdlIGlnbm9yZXMgcmVwbGljYXRpb24gc3RyYXRlZ3kgKENBU1NBTkRSQS01NDI0KQogKiBGaXggc2h1dGRvd24gb2YgYmluYXJ5IHByb3RvY29sIHNlcnZlciAoQ0FTU0FORFJBLTU1MDcpCiAqIEZpeCByZXBhaXIgLXNuYXBzaG90IG5vdCB3b3JraW5nIChDQVNTQU5EUkEtNTUxMikKICogU2V0IGlzUnVubmluZyBmbGFnIGxhdGVyIGluIGJpbmFyeRWHdSgAAAFP3jyyXAAQbHBlciBzdXBwb3J0IGZvcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgujwAAAQB0ZSBnb3NzaXAgcmVsYXRlZCB0byBub2RlIG1vdmVtZW50IGluIHRoZSBjYXNlIHdoZXJlCiAgIG9uZSBvciBtb3JlIG5vZGVzIGlzIGRvd24gd2hlbiB0aGUgbW92ZW1lbnQgb2NjdXJzIChDQVNTQU5EUkEtNTcyKQogKiBJbmNsdWRlIGRlYWQgbm9kZXMgaW4gZ29zc2lwIHRvIGF2b2lkIGEgdmFyaWV0eSBvZiBwcm9ibGVtcwogICBhbmQgZml4IEhIIHRvIHJlbW92ZWQgbm9kZXMgKENBU1NBTkRSQS02MzQpCiAqIHJldHVybiBhbiBJbnZhbGlkUmVx98tBgQAAAU/ePLJcABBhZHMgYXQgQ29uc2lzdGVuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6PAAABACBGQlV0aWxpdGllcy50aHJlYWRMb2NhbFJhbmRvbSAoQ0FTU0FORFJBLTc5MzQpCiAqIFByZXZlbnQgb3BlcmF0b3IgbWlzdGFrZXMgZHVlIHRvIHNpbXVsdGFuZW91cyBib290c3RyYXAgKENBU1NBTkRSQS03MDY5KQogKiBjYXNzYW5kcmEtc3RyZXNzIHN1cHBvcnRzIHdoaXRlbGlzdCBtb2RlIGZvciBub2RlIGNvbmZpZyAoQ0FTU0FORFJBLTc2NTgpCiAqIEdDSW5zcGVjdG9yIG1vcmUgY2xvc2VseSB0cmFja3MgR0M7IGNhc3NhbmRyYS1zdHJlc3MDlFqOAAABT948slwAEHRhIG9uIFNFTEVDVCBDT1UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILo8AAAEAYXRpb24gYXMgKGxvY2FsIG9yIHJlbW90ZSkgVVJMCiAgIChDQVNTQU5EUkEtMTEyNikKICogZml4IHVzaW5nIER5bmFtaWNFbmRwb2ludFNuaXRjaCB3aXRoIE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5CiAgIChDQVNTQU5EUkEtMTQyOSkKICogQWRkIENmRGVmLmRlZmF1bHRfdmFsaWRhdGlvbl9jbGFzcyAoQ0FTU0FORFJBLTg5MSkKICogZml4IEVzdGltYXRlZEhpc3RvZ3JhbS5tYXggKENBU1NBTkRSQS0xNDEzKQogKiBxdW9ydW0gcmVhZCBvcHRpbVAtEo0AAAFP3jyyXAAQZml4IHJhbmdlIHF1ZXJpZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgujwAAAQBhZCwgZXhwb3NlIGRlbGl2ZXJIaW50c1RvRW5kcG9pbnQgdG8gSk1YCiAgIHNvIGl0IGNhbiBiZSBkb25lIG1hbnVhbGx5LCBpZiBuZWNlc3NhcnkgKENBU1NBTkRSQS0xMTQxKQogKiBkb24ndCByZWplY3QgcmVhZHMgYXQgQ0wuQUxMIChDQVNTQU5EUkEtMTE1MikKICogcmVqZWN0IGRlbGV0aW9ucyB0byBzdXBlcmNvbHVtbnMgaW4gQ0ZzIGNvbnRhaW5pbmcgb25seSBzdGFuZGFyZAogICBjb2x1bW5zIChDQVNTQU5EUkEtMTEzOSkKICogYXZvaWQgbgcPhwAAAU/ePLJcABA4MTExKQogKiBSZWR1Y2UgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6PAAABAGluZyBvZiBzb21lIHR5cGVzIHdpdGggUGlnIChDQVNTQU5EUkEtMzg4NikKICogRG9uJ3QgYWxsb3cgdG8gZHJvcCB0aGUgc3lzdGVtIGtleXNwYWNlIChDQVNTQU5EUkEtMzc1OSkKICogTWFrZSBQaWcgZGVsZXRlcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBjb25maWd1cmFibGUgKENBU1NBTkRSQS0zNjI4KQpNZXJnZWQgZnJvbSAwLjg6CiAqIChQaWcpIGZpeCBDYXNzYW5kcmFTdG9yYWdlIHRvIHVzZSBjb3JyZWN0IGNvbXBhcmF0b3IgaW4gU3Xnwyy8AAABT948slwAECogZml4IEJ1bGtMb2FkZXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILo8AAAEAb3BwZWQgbWVzc2FnZXMgKENBU1NBTkRSQS0zMDA0KQogKiBhbHdheXMgZGVzZXJpYWxpemUgUm93TXV0YXRpb24gZm9yIGNvdW50ZXJzIChDQVNTQU5EUkEtMzAwNikKICogaWdub3JlIHNhdmVkIHJlcGxpY2F0aW9uX2ZhY3RvciBzdHJhdGVneV9vcHRpb24gZm9yIE5UUyAoQ0FTU0FORFJBLTMwMTEpCiAqIG1ha2Ugc3VyZSBwcmUtdHJ1bmNhdGUgQ0wgc2VnbWVudHMgYXJlIGRpc2NhcmRlZCAoQ0FTU0FORFJBLTI5NTApCgoKMC44LjMKICogYWRkICEuHTgAAAFP3jyyXAAQLTY4ODgpCiAqIEVuc3VyZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgujwAAAQBvYnMgKENBU1NBTkRSQS0xMDQ5KQogKiBjbG9zZSBUaHJpZnQgc29ja2V0cyBpbiBIYWRvb3AgQ29sdW1uRmFtaWx5UmVjb3JkUmVhZGVyIChDQVNTQU5EUkEtMTA4MSkKCgowLjYuMQogKiBmaXggTlBFIGluIHNzdGFibGUyanNvbiB3aGVuIG5vIGV4Y2x1ZGVkIGtleXMgYXJlIGdpdmVuIChDQVNTQU5EUkEtOTM0KQogKiBrZWVwIHRoZSByZXBsaWNhIHNldCBjb25zdGFudCB0aHJvdWdob3V0IHRoZSByZWFkIHJlcGFpciBwcm9jZXNzCiAgIChDQVNTPPTcagAAAU/ePLJcABAgQ0ZNZXRhZGF0YSB0b3dhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6PAAABAFJBLTEyOTcpCiAqIGZpeCBkdXBsaWNhdGUgcm93cyBiZWluZyByZWFkIGR1cmluZyBtYXByZWR1Y2UgKENBU1NBTkRSQS0xMTQyKQogKiBmYWlsdXJlIGRldGVjdGlvbiB3YXNuJ3QgY2xvc2luZyBjb21tYW5kIHNvY2tldHMgKENBU1NBTkRSQS0xMjIxKQogKiBjYXNzYW5kcmEtY2xpLmJhdCB3b3JrcyBvbiB3aW5kb3dzIChDQVNTQU5EUkEtMTIzNikKICogcHJlLWVtcHRpdmVseSBkcm9wIHJlcXVlc3RzIHRoYXQgY2Fubm90IGJlIHByb2Nlc3NlZCC24wo3ABeXYrsL9ZYAAAFP3jyyXAAQZW50CiAgIGZyb20gc3VwZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgukQAAAQBNQiBvZiBoZWFwIChDQVNTQU5EUkEtMzEyNCkKICogKENRTCkgdXBkYXRlIHBhcnNlciB0byBhY2NlcHQgInRpbWVzdGFtcCIgaW5zdGVhZCBvZiAiZGF0ZSIgKENBU1NBTkRSQS0zMTQ5KQogKiBGaXggQ0xJIGBzaG93IHNjaGVtYWAgdG8gaW5jbHVkZSAiY29tcHJlc3Npb25fb3B0aW9ucyIgKENBU1NBTkRSQS0zMzY4KQogKiBTbmFwc2hvdCB0byBpbmNsdWRlIG1hbmlmZXN0IHVuZGVyIExldmVsZWRDb21wYWN0aW9uU3RyYXRlZ3kgKENBU1NBTkRSWIcPyQAAAU/ePLJcABBpbiB0byBmbHVzaCBtZW10AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6RAAABAHkgKENBU1NBTkRSQS02MTI1KQogKiBMb2cgZXhjZXB0aW9ucyByZWxhdGVkIHRvIHVuY2xlYW4gbmF0aXZlIHByb3RvY29sIGNsaWVudCBkaXNjb25uZWN0cwogICBhdCBERUJVRyBvciBJTkZPIChDQVNTQU5EUkEtNzg0OSkKICogQWxsb3cgcGVybWlzc2lvbnMgY2FjaGUgdG8gYmUgc2V0IHZpYSBKTVggKENBU1NBTkRSQS03Njk4KQogKiBJbmNsdWRlIHNjaGVtYV90cmlnZ2VycyBDRiBpbiByZWFkYWJsZSBzeXN0ZW0gcmVzb3VyY2VzIChDQVNTQU4wPYBuAAABT948slwAECBrZXlzcGFjZScgY29tbWEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpEAAAEARFJBLTYwNzUpCiAqIEFkZCBtZXRob2QgdG8gaW52YWxpZGF0ZSBwZXJtaXNzaW9uIGNhY2hlIHZpYSBKTVggKENBU1NBTkRSQS03OTc3KQogKiBBbGxvdyBwcm9wYWdhdGluZyBtdWx0aXBsZSBnb3NzaXAgc3RhdGVzIGF0b21pY2FsbHkgKENBU1NBTkRSQS02MTI1KQogKiBMb2cgZXhjZXB0aW9ucyByZWxhdGVkIHRvIHVuY2xlYW4gbmF0aXZlIHByb3RvY29sIGNsaWVudCBkaXNjb25uZWN0cwogICBhdCBERUJVRyBvciBJTkZPIChDQVNTQU5EUkEtN3/C4fYAAAFP3jyyXAAQYXJlZCBzdGF0ZW1lbnQgaAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgukQAAAQBlZ21lbnRzIGFyZSBkaXNjYXJkZWQgKENBU1NBTkRSQS0yOTUwKQoKCjAuOC4zCiAqIGFkZCBhYmlsaXR5IHRvIGRyb3AgbG9jYWwgcmVhZHMvd3JpdGVzIHRoYXQgYXJlIGdvaW5nIHRvIHRpbWVvdXQKICAgKENBU1NBTkRSQS0yOTQzKQogKiByZXZhbXAgdG9rZW4gcmVtb3ZhbCBwcm9jZXNzLCBrZWVwIGdvc3NpcCBzdGF0ZXMgZm9yIDMgZGF5cyAoQ0FTU0FORFJBLTI0OTYpCiAqIGRvbid0IGFjY2VwdCBleHRyYSBhcmdzIGZvciAwLWFyZyBub2RlIzmjKAAAAU/ePLJcABBpbiBEVENTIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6RAAABACBzZXQgaXRlbXMgb3IgbWFwIGtleXMKICAgd2hlbiBzb21lIGNsdXN0ZXJpbmcgY29sdW1ucyBhcmUgc3BlY2lmaWVkIChDQVNTQU5EUkEtODA3MykKICogU2VuZCBwcm9wZXIgZXJyb3IgcmVzcG9uc2Ugd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBkdXJpbmcgbmF0aXZlCiAgIHByb3RvY29sIG1lc3NhZ2UgZGVjb2RlIChDQVNTQU5EUkEtODExOCkKICogR29zc2lwIHNob3VsZCBpZ25vcmUgZ2VuZXJhdGlvbiBudW1iZXJzIHRvbyBmYXIgaW4gdGhlIGb1ik1VAAABT948slwAECB1c2Ugb2YgZWZmaWNpZW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpEAAAEAc2xpY2VzIGFuZCBzZWNvbmRhcnkgaW5kZXggbG9va3VwcyB0aGF0IGFyZSBsb2NhbAogICB0byB0aGUgY29vcmRpbmF0b3IgKENBU1NBTkRSQS03NTk5KQogKiBTZXQgLURjYXNzYW5kcmEuc3RvcmFnZWRpciBmb3IgYWxsIHRvb2wgc2hlbGwgc2NyaXB0cyAoQ0FTU0FORFJBLTc1ODcpCiAqIERvbid0IHN3YXAgbWF4L21pbiBjb2wgbmFtZXMgd2hlbiBtdXRhdGluZyBzc3RhYmxlIG1ldGFkYXRhIChDQVNTQU5EUkEtNzU5NikKICogKGNxbHNoKSBDb+CahtEAAAFP3jyyXAAQQVNTQU5EUkEtOTE4MCkKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgukQAAAQB0YWJsZSBuYW1lIGluIGVycm9yIGxvZyBmb3IgY29sbGVjdGlvbnMgb3ZlciB0aGUgc2l6ZQogICBsaW1pdCAoQ0FTU0FORFJBLTkyODYpCiAqIEF2b2lkIHBvdGVudGlhbCBvdmVybGFwIGluIExDUyB3aXRoIHNpbmdsZS1wYXJ0aXRpb24gc3N0YWJsZXMgKENBU1NBTkRSQS05MzIyKQogKiBMb2cgd2FybmluZyBtZXNzYWdlIHdoZW4gYSB0YWJsZSBpcyBxdWVyaWVkIGJlZm9yZSB0aGUgc2NoZW1hIGhhcyBmdWxseQogICBwcm9wYWdhdGVkIChDQVNTgzUiQQAAAU/ePLJcABAgVGhyaWZ0IHNvY2tldHMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6RAAABAGVJdGVyYXRvciAKICAgKENBU1NBTkRSQS0yMDYyKQogKiBGaXhlZCB0aGUgYWJpbGl0eSB0byBzZXQgY29tcGFjdGlvbiBzdHJhdGVneSBpbiBjbGkgdXNpbmcgY3JlYXRlIGNvbHVtbiAKICAgZmFtaWx5IGNvbW1hbmQgKENBU1NBTkRSQS0yNzc4KQogKiBjbGVhbiB1cCB0bXAgZmlsZXMgYWZ0ZXIgZmFpbGVkIGNvbXBhY3Rpb24gKENBU1NBTkRSQS0yNDY4KQogKiByZXN0cmljdCByZXBhaXIgc3RyZWFtaW5nIHRvIHNwZWNpZmljIGNvbHVtbmZhbWlLj8ukAAABT948slwAEGlyL2tleSBjYWNoZSBhcmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpEAAAEAaWVzIChpbnN0ZWFkIG9mCiAgIGhhbmdpbmcgZm9yZXZlcikgKENBU1NBTkRSQS0yNDMzKQogKiBmaXggaGFuZGxpbmcgb2YgdGhlIGVtcHR5IGJ5dGUgYnVmZmVyIGJ5IFJldmVyc2VkVHlwZSAoQ0FTU0FORFJBLTMxMTEpCiAqIEFkZCB2YWxpZGF0aW9uIHRoYXQgS2V5c3BhY2UgbmFtZXMgYXJlIGNhc2UtaW5zZW5zaXRpdmVseSB1bmlxdWUgKENBU1NBTkRSQS0zMDY2KQogKiBjYXRjaCBpbnZhbGlkIGtleV92YWxpZGF0aW9uX2NsYXNzIGJlZm9yZVJrpcYAAAFP3jyyXAAQUkEtMjc5MikKICogYWxsbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgukQAAAQBlICsgbm8gZGVmYXVsdCAoQ0FTU0FORFJBLTQzNDkpCiAqIGZpeCBidWcgaW4gc3N0YWJsZSBibGFja2xpc3Rpbmcgd2l0aCBMQ1MgKENBU1NBTkRSQS00MzQzKQogKiBMQ1Mgbm8gbG9uZ2VyIHByb21vdGVzIHRpbnkgc3N0YWJsZXMgb3V0IG9mIEwwIChDQVNTQU5EUkEtNDM0MSkKICogc2tpcCB0b21ic3RvbmVzIGR1cmluZyBoaW50IHJlcGxheSAoQ0FTU0FORFJBLTQzMjApCiAqIGZpeCBOUEUgaW4gY29tcGFjdGlvbnN0YXRzIChDQVNTQU5EUkEtPRScEAAAAU/ePLJcABBmZXN0IChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6RAAABAEZpeCBiaW5kaW5nIG51bGwgdmFsdWVzIGluc2lkZSBVRFQgKENBU1NBTkRSQS03Njg1KQogKiBGaXggVURUIGZpZWxkIHNlbGVjdGlvbiB3aXRoIGVtcHR5IGZpZWxkcyAoQ0FTU0FORFJBLTc2NzApCiAqIEJvZ3VzIGRlc2VyaWFsaXphdGlvbiBvZiBzdGF0aWMgY2VsbHMgZnJvbSBzc3RhYmxlIChDQVNTQU5EUkEtNzY4NCkKICogRml4IE5QRSBvbiBjb21wYWN0aW9uIGxlZnRvdmVyIGNsZWFudXAgZm9yIGRyb3BwZWQgdGFibGUgKENBU1NBTkRSQS1ur9LbAAABT948slwAEGVkIGhpbnRzIG9uIGRlY28AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpEAAAEAb20gMi4wOgogKiBGaXggQ0MjY29sbGVjdFRpbWVPcmRlcmVkRGF0YSgpIHRvbWJzdG9uZSBvcHRpbWlzYXRpb25zIChDQVNTQU5EUkEtNzM5NCkKICogU3VwcG9ydCBESVNUSU5DVCBmb3Igc3RhdGljIGNvbHVtbnMgYW5kIGZpeCBiZWhhdmlvdXIgd2hlbiBESVNUSU5DIGlzCiAgIG5vdCB1c2UgKENBU1NBTkRSQS03MzA1KS4KICogV29ya2Fyb3VuZCBKVk0gTlBFIG9uIEpNWCBiaW5kIGZhaWx1cmUgKENBU1NBTkRSQS03MjU0KQogKiBGaXggcmFjZbo+iCYAAAFP3jyyXAAQOTApCiAqIEJhY2twb3J0IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgukQAAAQBhY3Rpb24gZXN0aW1hdGVkIHRhc2tzIGVzdGltYXRpb24gKENBU1NBTkRSQS04OTA0KQogKiBGaXggZHVwbGljYXRlIHVwL2Rvd24gbWVzc2FnZXMgc2VudCB0byBuYXRpdmUgY2xpZW50cyAoQ0FTU0FORFJBLTc4MTYpCiAqIEV4cG9zZSBjb21taXQgbG9nIGFyY2hpdmUgc3RhdHVzIHZpYSBKTVggKENBU1NBTkRSQS04NzM0KQogKiBQcm92aWRlIGJldHRlciBleGNlcHRpb25zIGZvciBpbnZhbGlkIHJlcGxpY2F0aW9uIHN0cmF0ZWd5IHBhcmFtZXRlnaAefQAAAU/ePLJcABAgZm9yIGNvbHVtbiwgc3RyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6RAAABAERSQS0yMDM0KQogKiBBZGQgdGhyb3R0bGluZyBmb3IgaW50ZXJub2RlIHN0cmVhbWluZyAoQ0FTU0FORFJBLTMwODApCiAqIG1ha2UgdGhlIHJlcGFpciBvZiBhIHJhbmdlIHJlcGFpciBhbGwgcmVwbGljYSAoQ0FTU0FORFJBLTI2MTAsIDMxOTQpCiAqIGV4cG9zZSB0aGUgYWJpbGl0eSB0byByZXBhaXIgdGhlIGZpcnN0IHJhbmdlIChhcyByZXR1cm5lZCBieSB0aGUKICAgcGFydGl0aW9uZXIpIG9mIGEgbm9kZSAoQ0FTU0FORFJBLTI2MDYpCiAqIFOGezKnAAABT948slwAEHkgcmVtb3ZpbmcgY29sdW0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpEAAAEAdGFibGVzIChDQVNTQU5EUkEtNjExMikKICogRml4IHNraXBwaW5nIGNvbHVtbnMgd2l0aCBtdWx0aXBsZSBzbGljZXMgKENBU1NBTkRSQS02MTE5KQogKiBFeHBvc2UgY29ubmVjdGVkIHRocmlmdCArIG5hdGl2ZSBjbGllbnQgY291bnRzIChDQVNTQU5EUkEtNTA4NCkKICogT3B0aW1pemUgYXV0aCBzZXR1cCAoQ0FTU0FORFJBLTYxMjIpCiAqIFRyYWNlIGluZGV4IHNlbGVjdGlvbiAoQ0FTU0FORFJBLTYwMDEpCiAqIFVwZGF0ZSBzc3RhYmxlc1BlcuijtJ0AF6u/RnPWOAAAAU/ePLJcABBjb25kYXJ5IGluZGV4IHN1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6TAAABACBzc3RhYmxlcyAoQ0FTU0FORFJBLTIyODMpCiAqIGRvbid0IHN0YXJ0IHJlcGFpciBpZiBhIG5laWdoYm9yaW5nIG5vZGUgaXMgbWFya2VkIGFzIGRlYWQgKENBU1NBTkRSQS0yMjkwKQogKiBwdXJnZSB0b21ic3RvbmVzIGZyb20gcm93IGNhY2hlIChDQVNTQU5EUkEtMjMwNSkKICogQXZvaWQgc2Vla2luZyB3aGVuIHNzdGFibGUyanNvbiBleHBvcnRzIHRoZSBlbnRpcmUgZmlsZSAoQ0FTU0FORFJBLTIzMTgpCiAqIGNsZWFyIEJ1aWx0IGZsYWcgaW6N14VkAAABT948slwAEENBU1NBTkRSQS0zMjA3KQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpMAAAEAMDYwKQogKiBGaXggcG90ZW50aWFsIGluZmluaXRlIGxvb3Agd2hlbiByZWxvYWRpbmcgQ0ZTIChDQVNTQU5EUkEtNTA2NCkKICogRml4IFNpbXBsZUF1dGhvcml6ZXIgZXhhbXBsZSAoQ0FTU0FORFJBLTUwNzIpCiAqIGNxbHNoOiBmb3JjZSBDTC5PTkUgZm9yIHRyYWNpbmcgYW5kIHN5c3RlbS5zY2hlbWEqIHF1ZXJpZXMgKENBU1NBTkRSQS01MDcwKQogKiBJbmNsdWRlcyBjYXNzYW5kcmEtc2h1ZmZsZSBpbiB0aGUgZGViaWFuIHBhY2thZ2UgKENBU107lWQAAAFP3jyyXAAQcnJvciBpbiBBYnN0cmFjdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgukwAAAQB0YWJsZSBwcm9wZXJ0aWVzIChDQVNTQU5EUkEtMzE5MCkKICogQWRkIGZpdmUtbWludXRlIGRlbGF5IGJlZm9yZSBzdGFydGluZyBjb21wYWN0aW9ucyBvbiBhIHJlc3RhcnRlZCBzZXJ2ZXIKICAgKENBU1NBTkRSQS0zMTgxKQogKiBSZWR1Y2UgY29waWVzIGRvbmUgZm9yIGludHJhLWhvc3QgbWVzc2FnZXMgKENBU1NBTkRSQS0xNzg4LCAzMTQ0KQogKiBzdXBwb3J0IG9mIGNvbXBhY3Rpb24gc3RyYXRlZ3kgb3B0aW9uIGZvciBzdHJlc3MuamF2YSAo97CRvwAAAU/ePLJcABAyMzY1KQogKiBmaXggZW5jAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6TAAABAGRlc2NyaWJlX2xvY2FsX3JpbmcgKENBU1NBTkRSQS02MjY4KQogKiBGaXggaGFuZGxpbmcgb2YgY29uY3VycmVudCBkaXJlY3RvcnkgY3JlYXRpb24gZmFpbHVyZSAoQ0FTU0FORFJBLTY0NTkpCiAqIEFsbG93IGV4ZWN1dGluZyBDUkVBVEUgc3RhdGVtZW50cyBtdWx0aXBsZSB0aW1lcyAoQ0FTU0FORFJBLTY0NzEpCiAqIERvbid0IHNlbmQgY29uZnVzaW5nIGluZm8gd2l0aCB0aW1lb3V0cyAoQ0FTU0FORFJBLTY0OTEpCiAqIERvbid0IHJlc3VibWltAWlrAAABT948slwAEGFjY3VyYXRlIGxvYWQgZXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpMAAAEAcmllcyBtaXNzaWcgcmVzdWx0cyAoQ0FTU0FORFJBLTcxMDUpCiAqIEZpeCBhdmFpbGFiaWxpdHkgdmFsaWRhdGlvbiBmb3IgTE9DQUxfT05FIENMIChDQVNTQU5EUkEtNzMxOSkKICogSGludCBzdHJlYW1pbmcgY2FuIGNhdXNlIGRlY29tbWlzc2lvbiB0byBmYWlsIChDQVNTQU5EUkEtNzIxOSkKCgoyLjEuMC1iZXRhMgogKiBJbmNyZWFzZSBkZWZhdWx0IENMIHNwYWNlIHRvIDhHQiAoQ0FTU0FORFJBLTcwMzEpCiAqIEFkZCByYW5nZSB0b21ic3Rvbszfh+AAAAFP3jyyXAAQcnRpdGlvbiBnZW5lcmF0aQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgukwAAAQBEUkEtMzc0MykKICogKEhhZG9vcCkgc2VwYXJhdGUgaW5wdXQvb3V0cHV0IGNvbmZpZ3VyYXRpb25zIChDQVNTQU5EUkEtMzE5NywgMzc2NSkKICogYXZvaWQgcmV0dXJuaW5nIGludGVybmFsIENhc3NhbmRyYSBjbGFzc2VzIG92ZXIgSk1YIChDQVNTQU5EUkEtMjgwNSkKICogYWRkIHJvdy1sZXZlbCBpc29sYXRpb24gdmlhIFNuYXBUcmVlIChDQVNTQU5EUkEtMjg5MykKICogT3B0aW1pemUga2V5IGNvdW50IGVzdGltYXRpb24gd2hlbiBvcGVuaW5noC5RegAAAU/ePLJcABA1KQogKiBJbXByb3ZlIG1lAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6TAAABAGFja2dyb3VuZCBlbnF1ZXVlcyBhdCBsZWFzdCBvbmUgdGFzayAoQ0FTU0FORFJBLTU1NTQpCiAqIGZpeCAyaSB1cGRhdGVzIHdpdGggaWRlbnRpY2FsIHZhbHVlcyBhbmQgdGltZXN0YW1wcyAoQ0FTU0FORFJBLTU1NDApCiAqIGZpeCBjb21wYWN0aW9uIHRocm90dGxpbmcgYnVyc3R5LW5lc3MgKENBU1NBTkRSQS00MzE2KQogKiByZWR1Y2UgbWVtb3J5IGNvbnN1bXB0aW9uIG9mIEluZGV4U3VtbWFyeSAoQ0FTU0FORFJBLTU1MDYpCiAqIHJlbW92ZSB/qhACAAABT948slwAEEEtODk3OCkKICogQWRkIHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpMAAAEAQS02ODU1KQogKiBPcHRpbWl6ZSBDZWxsIGxpdmVuZXNzIGNoZWNrcyBhbmQgY2xlYW4gdXAgQ2VsbCAoQ0FTU0FORFJBLTcxMTkpCiAqIFN1cHBvcnQgY29uc2lzdGVudCByYW5nZSBtb3ZlbWVudHMgKENBU1NBTkRSQS0yNDM0KQpNZXJnZWQgZnJvbSAyLjA6CiAqIEF2b2lkIHJhY2UtcHJvbmUgc2Vjb25kICJzY3J1YiIgb2Ygc3lzdGVtIGtleXNwYWNlIChDQVNTQU5EUkEtNjc5NykKICogUG9vbCBDcWxSZWNvcmRXcml0ZXIgY2xpZW50cyBieSBpbthpcRIAAAFP3jyyXAAQIFJlY29ubmVjdGFibGVTbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgukwAAAQAgICAoQ0FTU0FORFJBLTIzNDcpCiAqIGVuc3VyZSBzaXplIGNhbGN1bGF0aW9uIGFuZCB3cml0ZSBwaGFzZSBvZiBsYXJnZS1yb3cgY29tcGFjdGlvbiB1c2UKICAgdGhlIHNhbWUgdGhyZXNob2xkIGZvciBUVEwgZXhwaXJhdGlvbiAoQ0FTU0FORFJBLTIzNDkpCiAqIGZpeCByYWNlIHdoZW4gaXRlcmF0aW5nIENGcyBkdXJpbmcgYWRkL2Ryb3AgKENBU1NBTkRSQS0yMzUwKQogKiBhZGQgQ29uc2lzdGVuY3lMZXZlbCBjb21tYW5kIHRvIENMSSAoQ0FTxBgRCgAAAU/ePLJcABBlY29yZFJlYWRlciAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6TAAABAENBU1NBTkRSQS01MDQpCiAqIEFkZCAibm9kZXByb2JlIGZsdXNoIiAoQ0FTU0FORFJBLTUwNSkKICogcmVtb3ZlIE5vdEZvdW5kRXhjZXB0aW9uIGZyb20gZ2V0X3NsaWNlIHRocm93cyBsaXN0IChDQVNTQU5EUkEtNTE4KQogKiBmaXggZ2V0IChub3QgZ2V0X3NsaWNlKSBvZiBlbnRpcmUgc3VwZXJjb2x1bW4gKENBU1NBTkRSQS01MDgpCiAqIGZpeCBudWxsIHRva2VuIGR1cmluZyBib290c3RyYXAgKENBU1NBTkRSQS01MDEpCgoKMC40LjEKICogRmkY2rz2AAABT948slwAEHRzIG9mIGJ1ZyBmaXhlcwoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpMAAAEAaWxsIHJlcXVpcmUgQUxMT1cgRklMVEVSSU5HIGluIENhc3NhbmRyYSAzLjAKICAgYXJlIGV4ZWN1dGVkIChDQVNTQU5EUkEtODQxOCkKICogRml4IGNhc3NhbmRyYS1zdHJlc3Mgc28gaXQgcmVzcGVjdHMgdGhlIENMIHBhc3NlZCBpbiB1c2VyIG1vZGUgKENBU1NBTkRSQS04OTQ4KQogKiBGaXggcmFyZSBOUEUgaW4gQ29sdW1uRGVmaW5pdGlvbiNoYXNJbmRleE9wdGlvbigpIChDQVNTQU5EUkEtODc4NikKICogY2Fzc2FuZHJhLXN0cmVzcyByZXBvcnlSYOMAAAFP3jyyXAAQdG9uZXMgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgukwAAAQAtY2xpIChDQVNTQU5EUkEtMTQ0NikKICogYWJpbGl0eSB0byBtb2RpZnkga2V5c3BhY2VzIGFuZCBjb2x1bW4gZmFtaWx5IGRlZmluaXRpb25zIG9uIGEgbGl2ZSBjbHVzdGVyCiAgIChDQVNTQU5EUkEtMTI4NSkKICogc3VwcG9ydCBmb3IgSGFkb29wIFN0cmVhbWluZyBbbm9uLWp2bSBtYXAvcmVkdWNlIHZpYSBzdGRpbi9vdXRdCiAgIChDQVNTQU5EUkEtMTM2OCkKICogTW92ZSBwZXJzaXN0ZW50IHNzdGFibGUgc3RhdHMgZnJvbSB0aGUgc3lzdGVtH6XOfgAAAU/ePLJcABBkaXNwbGF5IHZhbGlkYXRpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6TAAABACogQWRkZWQgc3VwcG9ydCBmb3IgbWFraW5nIGJvb3RzdHJhcCByZXRyeSBpZiBub2RlcyBmbGFwIChDQVNTQU5EUkEtMjY0NCkKICogQWRkZWQgc3RhdHVzdGhyaWZ0IHRvIG5vZGV0b29sIHRvIHJlcG9ydCBpZiB0aHJpZnQgc2VydmVyIGlzIHJ1bm5pbmcKICAgKENBU1NBTkRSQS0yNzIyKQogKiBGaXhlZCByb3dzIGJlaW5nIGNhY2hlZCBpZiB0aGV5IGRvIG5vdCBleGlzdCAoQ0FTU0FORFJBLTI3MjMpCiAqIGZpeCB0cnVuY2F0ZS9jb21wYWN0aW9sZbeOAAABT948slwAEC1kZWZhdWx0IHVzZXJzICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpMAAAEAYXRlIGNvbHVtbiAKICAgZmFtaWx5IGNvbW1hbmQgKENBU1NBTkRSQS0yNzc4KQogKiBjbGVhbiB1cCB0bXAgZmlsZXMgYWZ0ZXIgZmFpbGVkIGNvbXBhY3Rpb24gKENBU1NBTkRSQS0yNDY4KQogKiByZXN0cmljdCByZXBhaXIgc3RyZWFtaW5nIHRvIHNwZWNpZmljIGNvbHVtbmZhbWlsaWVzIChDQVNTQU5EUkEtMjI4MCkKICogZG9uJ3QgYm90aGVyIHBlcnNpc3RpbmcgY29sdW1ucyBzaGFkb3dlZCBieSBhIHJvdyB0b21ic3RvbmUgKENBU1NBTkRSQd7lP38AAAFP3jyyXAAQZiBtdWx0aXBsZSBzc3RhYgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgukwAAAQAwKQogKiBGaXggcHJpbWFyeSByYW5nZSBpZ25vcmVzIHJlcGxpY2F0aW9uIHN0cmF0ZWd5IChDQVNTQU5EUkEtNTQyNCkKICogRml4IHNodXRkb3duIG9mIGJpbmFyeSBwcm90b2NvbCBzZXJ2ZXIgKENBU1NBTkRSQS01NTA3KQogKiBGaXggcmVwYWlyIC1zbmFwc2hvdCBub3Qgd29ya2luZyAoQ0FTU0FORFJBLTU1MTIpCiAqIFNldCBpc1J1bm5pbmcgZmxhZyBsYXRlciBpbiBiaW5hcnkgcHJvdG9jb2wgc2VydmVyIChDQVNTQU5EUkEtNTQ2NykKICogoOk/6gAXwBzN4gGuAAABT948slwAEDYyMykKICogYWxsb3cgY3IAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpYAAAEAbmluZyBzc3RhYmxlIG9uIHN0YXJ0dXAKICAgKENBU1NBTkRSQS0yOTg4KQogKiBtdWx0aS1kYyByZXBsaWNhdGlvbiBvcHRpbWl6YXRpb24gc3VwcG9ydGluZyBDTCA+IE9ORSAoQ0FTU0FORFJBLTM1NzcpCiAqIGFkZCBjb21tYW5kIHRvIHN0b3AgY29tcGFjdGlvbnMgKENBU1NBTkRSQS0xNzQwLCAzNTY2LCAzNTgyKQogKiBtdWx0aXRocmVhZGVkIHN0cmVhbWluZyAoQ0FTU0FORFJBLTM0OTQpCiAqIHJlbW92ZWQgaW4tdHJlZSByZWRoYXQgc3BlY+4jEvgAAAFP3jyyXAAQbm93IG9ubHkgc2VuZCByZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgulgAAAQBkIG5vdCBqb2luIGNsdXN0ZXIKICAgKENBU1NBTkRSQS05NjkpCiAqIFJldHJpZXZlIHRoZSBjb3JyZWN0IG51bWJlciBvZiB1bmRlbGV0ZWQgY29sdW1ucywgaWYgYW55LCBmcm9tCiAgIGEgc3VwZXJjb2x1bW4gaW4gYSByb3cgdGhhdCBoYWQgYmVlbiBkZWxldGVkIHByZXZpb3VzbHkgKENBU1NBTkRSQS05MjApCiAqIGZpeCBpbmRleCBzY2FucyB0aGF0IGNyb3NzIHRoZSAyR0IgbW1hcCBib3VuZGFyaWVzIGZvciBib3RoIG1tYXAKICAgYW5kIHN0IALI8QAAAU/ePLJcABBDQVNTQU5EUkEtMzA4NCkKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6WAAABAGluZyBvZiBjZXJ0YWluIGVycm9ycyBvbiBleGVjdXRvciB0aHJlYWRzIChDQVNTQU5EUkEtNDI1KQoKCjAuNC4wIFJDMQogKiBCb290c3RyYXAgZmVhdHVyZSBpcyBsaXZlOyB1c2UgLWIgb24gc3RhcnR1cCAoc2V2ZXJhbCB0aWNrZXRzKQogKiBBZGRlZCBtdWx0aWdldCBhcGkgKENBU1NBTkRSQS03MCkKICogZml4IERlYWRsb2NrIHdpdGggU2VsZWN0b3JNYW5hZ2VyLmRvUHJvY2VzcyBhbmQgVGNwQ29ubmVjdGlvbi53cml0ZQogICAoQ0FTU0FORFKFu8nMAAABT948slwAECBwcmV2ZW50IE9PTQogICAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpYAAAEAb2FkaW5nIGNhY2hlcyAoQ0FTU0FORFJBLTQzMzEpCiAqIENoZWNrIHNjaGVtYSBiZWZvcmUgdHJ5aW5nIHRvIGV4cG9ydCBzc3RhYmxlIChDQVNTQU5EUkEtMjc2MCkKICogUmFpc2UgYSBtZWFuaW5nZnVsIGV4Y2VwdGlvbiBpbnN0ZWFkIG9mIE5QRSB3aGVuIFBGUyBlbmNvdW50ZXJzCiAgIGFuIHVuY29uZmlndXJlZCBub2RlICsgbm8gZGVmYXVsdCAoQ0FTU0FORFJBLTQzNDkpCiAqIGZpeCBidWcgaW4gc3N0YWJsZSBibGFja2xpc3Rpbmcgd2l0aP5B0H4AAAFP3jyyXAAQIGtleXNwYWNlcyB3aXRoIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgulgAAAQAoQ0FTU0FORFJBLTQyNDIpCiAqIChjcWwzKSBDb3JyZWN0bHkgdmFsaWRhdGUgb3JkZXIgYnkgcXVlcmllcyAoQ0FTU0FORFJBLTQyNDYpCiAqIHJlbmFtZSBzdHJlc3MgdG8gY2Fzc2FuZHJhLXN0cmVzcyBmb3Igc2FuZXIgcGFja2FnaW5nIChDQVNTQU5EUkEtNDI1NikKICogRml4IGV4Y2VwdGlvbiBvbiBjb2x1bSBtZXRhZGF0YSB3aXRoIG5vbi1zdHJpbmcgY29tcGFyYXRvciAoQ0FTU0FORFJBLTQyNjkpCiAqIENoZWNrIGZvciB1bmtub3duL2lu6uZinAAAAU/ePLJcABAgY29tcGFjdGlvbiBiZWdpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6WAAABAG1pbmcgY29tcHJlc3NlZCBmaWxlcyB3aGVuIHVzaW5nIGVuY3J5cHRpb24gKENBU1NBTkRSQS01MzkxKQogKiBjYXNzYW5kcmEtYWxsIDEuMi4wIHBvbSBtaXNzaW5nIG5ldHR5IGRlcGVuZGVuY3kgKENBU1NBTkRSQS01MzkyKQogKiBGaXggd3JpdGV0aW1lL3R0bCBmdW5jdGlvbnMgb24gbnVsbCB2YWx1ZXMgKENBU1NBTkRSQS01MzQxKQogKiBGaXggTlBFIGR1cmluZyBjcWwzIHNlbGVjdCB3aXRoIHRva2VuKCkgKENBU1NBTkRSQS01NDA0KQogKiD8GO+2AAABT948slwAEG8gY29sdW1uIHRpbWVzdGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpYAAAEAMSkKICogRml4IHZhbGlkYXRpb24gb2YgY29sbGVjdGlvbnMgaW4gVHJpZ2dlckV4ZWN1dG9yIChDQVNTQU5EUkEtODE0NikKICogRml4IElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiB3aGVuIGEgbGlzdCBvZiBJTiB2YWx1ZXMgY29udGFpbmluZyB0dXBsZXMKICAgaXMgcGFzc2VkIGFzIGEgc2luZ2xlIGFyZyB0byBhIHByZXBhcmVkIHN0YXRlbWVudCB3aXRoIHRoZSB2MSBvciB2MgogICBwcm90b2NvbCAoQ0FTU0FORFJBLTgwNjIpCiAqIEZpeCBDbP47OUcAAAFP3jyyXAAQZGlzayBmdWxsIiB3aGVuIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgulgAAAQByIHJvdy1sZXZlbCBibG9vbSBmaWx0ZXIgZmFsc2UgcG9zaXRpdmVzIChDQVNTQU5EUkEtMTIxMikKICogYWRkZWQgYSByZWRoYXQgaW5pdCBzY3JpcHQgdG8gY29udHJpYiAoQ0FTU0FORFJBLTEyMDEpCiAqIHVzZSBtaWRwb2ludCB3aGVuIGJvb3RzdHJhcHBpbmcgYSBuZXcgbWFjaGluZSBpbnRvIHJhbmdlIHdpdGggbm90CiAgIG11Y2ggZGF0YSB5ZXQgaW5zdGVhZCBvZiByYW5kb20gdG9rZW4gKENBU1NBTkRSQS0xMTEyKQogKiBraWxsIHNlcnZlQ4oKRAAAAU/ePLJcABA1MjMyKQogKiBJbXBsZW1lAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6WAAABACB0byBhdm9pZCBkcm9wcGluZyBpdCAKICAgKENBU1NBTkRSQS02NDE1KQogKiBXYXJuIHdoZW4gY29sbGVjdGlvbiByZWFkIGhhcyA+IDY1SyBlbGVtZW50cyAoQ0FTU0FORFJBLTU0MjgpCiAqIEZpeCBjYWNoZSBwZXJzaXN0ZW5jZSB3aGVuIGJvdGggcm93IGFuZCBrZXkgY2FjaGUgYXJlIGVuYWJsZWQgCiAgIChDQVNTQU5EUkEtNjQxMykKICogKEhhZG9vcCkgYWRkIGRlc2NyaWJlX2xvY2FsX3JpbmcgKENBU1NBTkRSQS02MjY4KQogKiBGaXggaGEQpeDnAAABT948slwAEGFibGVSZXdyaXRlci5hYm8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpYAAAEAICogQWRkIGtleSBjYWNoZSB0byBpbXByb3ZlIHJlYWQgcGVyZm9ybWFuY2UgKENBU1NBTkRSQS00MjMpCiAqIFNpbXBsaWZpZWQgY29uc3RydWN0aW9uIG9mIGN1c3RvbSBSZXBsaWNhdGlvblN0cmF0ZWd5IGNsYXNzZXMKICAgKENBU1NBTkRSQS00OTcpCiAqIEdyYXBoaWNhbCBhcHBsaWNhdGlvbiAoU3dpbmcpIGZvciByaW5nIGludGVncml0eSB2ZXJpZmljYXRpb24gYW5kIAogICB2aXN1YWxpemF0aW9uIHdhcyBhZGRlZCB0byBjb250cmliIChDQe543X4AAAFP3jyyXAAQLWNyZWF0ZSB0Y3AgY29ubgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgulgAAAQBSQS04ODYpCiAqIG1vdmUgc2tpcEJ5dGVzIHNpZGUgZWZmZWN0IG91dCBvZiBhc3NlcnQgKENBU1NBTkRSQS04OTkpCiAqIGFkZCAiZG91YmxlIGdldExvYWQiIHRvIFN0b3JhZ2VTZXJ2aWNlTUJlYW4gKENBU1NBTkRSQS04OTgpCiAqIHRyYWNrIHJvdyBzdGF0cyBwZXIgQ0YgYXQgY29tcGFjdGlvbiB0aW1lIChDQVNTQU5EUkEtODcwKQogKiBkaXNhbGxvdyBDb21taXRMb2dEaXJlY3RvcnkgbWF0Y2hpbmcgYSBEYXRhRmlsZURpcmVjdG9yeSAoQ0FTspzeTwAAAU/ePLJcABAgSlZNIG9wdGlvbiAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6WAAABAGxldGVkIGNmIGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtMjc4NikKICogZml4IHJhY2UgdGhhdCBjb3VsZCByZXN1bHQgaW4gSGFkb29wIHdyaXRlciBmYWlsaW5nIHRvIHRocm93IGFuCiAgIGV4Y2VwdGlvbiBlbmNvdW50ZXJlZCBhZnRlciBjbG9zZSgpIChDQVNTQU5EUkEtMjc1NSkKICogZml4IHNjYW4gd3JvbmdseSB0aHJvd2luZyBhc3NlcnRpb24gZXJyb3IgKENBU1NBTkRSQS0yNjUzKQogKiBBbHdheXMgdXNlIGV2ZW4gZGlzdHJpYnXTBsKVAAABT948slwAEHNzaW9uIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpYAAAEAU0FORFJBLTcyNjcpCiAqIEFkZCB0dXBsZSB0eXBlIHRvIENRTC9uYXRpdmUgcHJvdG9jb2wgKENBU1NBTkRSQS03MjQ4KQogKiBGaXggQ3FsUGFnaW5nUmVjb3JkUmVhZGVyIG9uIHRhYmxlcyB3aXRoIGZldyByb3dzIChDQVNTQU5EUkEtNzMyMikKTWVyZ2VkIGZyb20gMi4wOgogKiBDb3B5IGNvbXBhY3Rpb24gb3B0aW9ucyB0byBtYWtlIHN1cmUgdGhleSBhcmUgcmVsb2FkZWQgKENBU1NBTkRSQS03MjkwKQogKiBBZGQgb3B0aW9uIHRvIGRvIG1vcri9vyQAAAFP3jyyXAAQc3BvbnNlcyB3aGVuIG5vbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgulgAAAQAoQ0FTU0FORFJBLTg5ODIpCiAqIENvcnJlY3RseSBpZGVudGlmeSAyaSBkYXRhZGlyIGZyb20gb2xkZXIgdmVyc2lvbnMgKENBU1NBTkRSQS05MTE2KQpNZXJnZWQgZnJvbSAyLjA6CiAqIElnbm9yZSBnb3NzaXAgU1lOcyBhZnRlciBzaHV0ZG93biAoQ0FTU0FORFJBLTkyMzgpCiAqIEF2b2lkIG92ZXJmbG93IHdoZW4gY2FsY3VsYXRpbmcgbWF4IHNzdGFibGUgc2l6ZSBpbiBMQ1MgKENBU1NBTkRSQS05MjM1KQogKiBNYWtlIHNzdGFibGUgYmxhY2ts9TiwbwAAAU/ePLJcABBlc3Npb24gdXNpbmcgQnVsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6WAAABACBzY3J1YmJlciBoYW5kbGUgb2xkIGFuZCBuZXcgc3R5bGUgbGV2ZWxlZCBtYW5pZmVzdAogICAoQ0FTU0FORFJBLTYwMDUpCiAqIEZpeCBwYXhvcyBidWdzIChDQVNTQU5EUkEtNjAxMiwgNjAxMywgNjAyMykKICogRml4IHBhZ2VkIHJhbmdlcyB3aXRoIG11bHRpcGxlIHJlcGxpY2FzIChDQVNTQU5EUkEtNjAwNCkKICogRml4IHBvdGVudGlhbCBBc3NlcnRpb25FcnJvciBkdXJpbmcgdHJhY2luZyAoQ0FTU0FORFJBLTYwNDEpCiAqIEZpeCBOUEUgaW6cyWXSABfUeQQ0QZAAAAFP3jyyXAAQZmVyZW50IHNzdGFibGUgKAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgumQAAAQB0b21ic3RvbmVfd2Fybl90aHJlc2hvbGQgKENBU1NBTkRSQS02ODY1KQogKiBGaXggdHJ1bmNhdGUgdG8gbm90IGFib3J0IGR1ZSB0byB1bnJlYWNoYWJsZSBmYXQgY2xpZW50cyAoQ0FTU0FORFJBLTY4NjQpCiAqIEZpeCBzY2hlbWEgY29uY3VycmVuY3kgZXhjZXB0aW9ucyAoQ0FTU0FORFJBLTY4NDEpCiAqIEZpeCBsZWFraW5nIHZhbGlkYXRvciBGSCBpbiBTdHJlYW1Xcml0ZXIgKENBU1NBTkRSQS02ODMyKQogKiBGaXggc2F2aW5nIHRyaWdnZXJzY386+gAAAU/ePLJcABBzZWQgKENBU1NBTkRSQS03AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6ZAAABACBjb25zaXN0ZW50IGxldmVsZWQgY29tcGFjdGlvbiAKICAgKENBU1NBTkRSQS0zMzkxKQogKiBDYWNoZSBIU0hBIHRocmVhZHMgKENBU1NBTkRSQS0zMzcyKQogKiB1c2UgQ0YvS1MgbmFtZXMgYXMgc25hcHNob3QgcHJlZml4IGZvciBkcm9wICsgdHJ1bmNhdGUgb3BlcmF0aW9ucwogICAoQ0FTU0FORFJBLTI5OTcpCiAqIEJyZWFrIGJsb29tIGZpbHRlcnMgdXAgdG8gYXZvaWQgaGVhcCBmcmFnbWVudGF0aW9uIChDQVNTQU5EUkEtMjQ2NikKICogZmlmVTnnAAABT948slwAEGlvbnMgb3ZlciB0aGUgc2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpkAAAEAQVNTQU5EUkEtNDEyOCkKICogTW92ZSBDZkRlZiBhbmQgS3NEZWYgdmFsaWRhdGlvbiBvdXQgb2YgdGhyaWZ0IChDQVNTQU5EUkEtNDAzNykKICogRml4IGdldF9wYWdlZF9zbGljZSAoQ0FTU0FORFJBLTQxMzYpCiAqIENRTDM6IFN1cHBvcnQgc2xpY2Ugd2l0aCBleGNsdXNpdmUgc3RhcnQgYW5kIHN0b3AgKENBU1NBTkRSQS0zNzg1KQpNZXJnZWQgZnJvbSAxLjA6CiAqIHN1cHBvcnQgUHJvcGVydHlGaWxlU25pdGNoIGluIGJ1bGsgbG9hZGVyIChDQbNmKs4AAAFP3jyyXAAQb2xkQ2ZJZCBmb3IgcG9zdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgumQAAAQBSQS01MTgxKQogKiBJbmNsdWRlIHR5cGUgYXJndW1lbnRzIGluIFRocmlmdCBDUUxQcmVwYXJlZFJlc3VsdCAoQ0FTU0FORFJBLTUzMTEpCiAqIEZpeCBjb21wYWN0aW9uIG5vdCByZW1vdmluZyBjb2x1bW5zIHdoZW4gYmZfZnBfcmF0aW8gaXMgMSAoQ0FTU0FORFJBLTUxODIpCiAqIGNsaTogV2FybiBhYm91dCBtaXNzaW5nIENRTDMgdGFibGVzIGluIHNjaGVtYSBkZXNjcmlwdGlvbnMgKENBU1NBTkRSQS01MzA5KQogKiBSZS1lbmFibGUgdW5rbm93FXZVgQAAAU/ePLJcABBMMyBvbiBvYnNvbGV0ZSBvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6ZAAABAApNZXJnZWQgZnJvbSAxLjE6CiAqIGFkZCB2YWxpZGF0aW9uIGZvciBnZXRfcmFuZ2Vfc2xpY2VzIHdpdGggc3RhcnRfa2V5IGFuZCBlbmRfdG9rZW4gKENBU1NBTkRSQS01MDg5KQoKCjEuMi4wLXJjMgogKiBmaXggbm9kZXRvb2wgb3duZXJzaGlwIGRpc3BsYXkgd2l0aCB2bm9kZXMgKENBU1NBTkRSQS01MDY1KQogKiBjcWxzaDogYWRkIERFU0NSSUJFIEtFWVNQQUNFUyBjb21tYW5kIChDQVNTQU5EUkEtNTA2MCkKICogRml4IHBvdGVudGlhbCBpbmaZ33kzAAABT948slwAECBVVUlEVHlwZSwgTG9uZ1QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpkAAAEAT3V0Ym91bmRUY3BDb25uZWN0aW9uCiAgIChDQVNTQU5EUkEtODA1NykKICogU1NMIGRvZXMgbm90IHdvcmsgaW4gY2Fzc2FuZHJhLWNsaSAoQ0FTU0FORFJBLTc4OTkpCiAqIEZpeCBwb3RlbnRpYWwgZXhjZXB0aW9uIHdoZW4gdXNpbmcgUmV2ZXJzZWRUeXBlIGluIER5bmFtaWNDb21wb3NpdGVUeXBlCiAgIChDQVNTQU5EUkEtNzg5OCkKICogQmV0dGVyIHZhbGlkYXRpb24gb2YgY29sbGVjdGlvbiB2YWx1ZXMgKENBU1NBTkRSQS03ODMzKQogKiBUctokafwAAAFP3jyyXAAQYWZ0ZXIgYW50aWNvbXBhYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgumQAAAQB6ZSBCaU1hcCBvZiBib290c3RyYXBwaW5nIHRva2VucyAoQ0FTU0FORFJBLTM0MTcpCiAqIHNob3cgaW5kZXggb3B0aW9ucyBpbiBDTEkgKENBU1NBTkRSQS0zODA5KQogKiBhZGQgb3B0aW9uYWwgc29ja2V0IHRpbWVvdXQgZm9yIHN0cmVhbWluZyAoQ0FTU0FORFJBLTM4MzgpCiAqIGZpeCB0cnVuY2F0ZSBub3QgdG8gbGVhdmUgYmVoaW5kIG5vbi1DRlMgYmFja2VkIHNlY29uZGFyeSBpbmRleGVzCiAgIChDQVNTQU5EUkEtMzg0NCkKICogbWFrZSBDkknmTgAAAU/ePLJcABBrZXlzcGFjZSBuYW1lcyBpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6ZAAABAG9nIChDQVNTQU5EUkEtMTMzMCkKICogZml4IG1vdmluZyBub2RlcyB3aXRoIG5vIGtleXNwYWNlcyBkZWZpbmVkIChDQVNTQU5EUkEtMTU3NCkKICogZml4IHVuYm9vdHN0cmFwIHdoZW4gbm8gZGF0YSBpcyBwcmVzZW50IGluIGEgdHJhbnNmZXIgcmFuZ2UgKENBU1NBTkRSQS0xNTczKQogKiB0YWtlIGFkdmFudGFnZSBvZiBBVlJPLTQ5NSB0byBzaW1wbGlmeSBvdXIgYXZybyBJREwgKENBU1NBTkRSQS0xNDM2KQogKiBleHRlbmQgYXV0aG9yaXphdGkvzmyxAAABT948slwAECAxOTQ0LCAxOTM2LCAyMTAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpkAAAEANTAzIChDQVNTQU5EUkEtMzQ4MikKICogRml4IGluY29tcGxldGUgZGVsZXRpb24gb2YgZGVsaXZlcmVkIGhpbnRzIChDQVNTQU5EUkEtMzQ2NikKICogQXZvaWQgcmVzY2hlZHVsaW5nIGNvbXBhY3Rpb25zIHdoZW4gbm8gY29tcGFjdGlvbiB3YXMgZXhlY3V0ZWQgCiAgIChDQVNTQU5EUkEtMzQ4NCkKICogZml4IGhhbmRsaW5nIG9mIHRoZSBjaHVua19sZW5ndGhfa2IgY29tcHJlc3Npb24gb3B0aW9ucyAoQ0FTU0FORFJBLTM0OTIpCk1lcmdlZCBmcuVCeEEAAAFP3jyyXAAQbWl0bG9nIHVubmVjZXNzYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgumQAAAQAtNDg4MSkKICogRml4IGNvbXBvc2l0ZSBpbmRleCBidWcgKENBU1NBTkRSQS00ODg0KQogKiBGaXggc2hvcnQgcmVhZCBwcm90ZWN0aW9uIGZvciBDUUwzIChDQVNTQU5EUkEtNDg4MikKICogQWRkIHRyYWNpbmcgc3VwcG9ydCB0byB0aGUgYmluYXJ5IHByb3RvY29sIChDQVNTQU5EUkEtNDY5OSkKICogKGNxbDMpIERvbid0IGFsbG93IHByZXBhcmVkIG1hcmtlciBpbnNpZGUgY29sbGVjdGlvbnMgKENBU1NBTkRSQS00ODkwKQogKiBSZS1hbGxvdyBvGyr5nAAAAU/ePLJcABBtZW50YXRpb24gYWJvdXQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6ZAAABAG1UYWJsZS5nZXRDdXJyZW50TG9jYWxOb2RlSWQgKENBU1NBTkRSQS0yODI0KQogKiBDb3JyZWN0bHkgc2V0IGRlZmF1bHQgZm9yIHJlcGxpY2F0ZV9vbl93cml0ZSAoQ0FTU0FORFJBLTI4MzUpCiAqIGltcHJvdmUgbm9kZXRvb2wgY29tcGFjdGlvbnN0YXRzIGZvcm1hdHRpbmcgKENBU1NBTkRSQS0yODQ0KQogKiBmaXggaW5kZXgtYnVpbGRpbmcgc3RhdHVzIGRpc3BsYXkgKENBU1NBTkRSQS0yODUzKQogKiBmaXggQ0xJIHBlcnBldHVhdGluZyBvYnOQX0/KAAABT948slwAEGF0ZSAoQ0FTU0FORFJBLTQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpkAAAEARFJBLTUwNDQpCiAqIGZpeCBoaW50aW5nIGZvciBkcm9wcGVkIGxvY2FsIHdyaXRlcyAoQ0FTU0FORFJBLTQ3NTMpCiAqIG9mZi1oZWFwIGNhY2hlIGRvZXNuJ3QgbmVlZCBtdXRhYmxlIGNvbHVtbiBjb250YWluZXIgKENBU1NBTkRSQS01MDU3KQogKiBhcHBseSBkaXNrX2ZhaWx1cmVfcG9saWN5IHRvIGJhZCBkaXNrcyBvbiBpbml0aWFsIGRpcmVjdG9yeSBjcmVhdGlvbiAKICAgKENBU1NBTkRSQS00ODQ3KQogKiBPcHRpbWl6ZSBuYW1lLWJhc2VkIB02cAsAAAFP3jyyXAAQcnkgdG8gbWFrZSBzdHJlYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgumQAAAQBpb24gdG8gZGlzYWJsZSB0aGlzIChDQVNTQU5EUkEtMTc4MCkKICogY2xvc2UgZmlsZSBoYW5kbGUgdXNlZCBmb3IgcG9zdC1mbHVzaCB0cnVuY2F0ZSAoQ0FTU0FORFJBLTE3OTApCiAqIHZhcmlvdXMgY29kZSBjbGVhbnVwIChDQVNTQU5EUkEtMTc5MywgLTE3OTQsIC0xNzk1KQogKiBmaXggcmFuZ2UgcXVlcmllcyBhZ2FpbnN0IHdyYXBwZWQgcmFuZ2UgKENBU1NBTkRSQS0xNzgxKQogKiBmaXggY29uc2lzdGVuY3lsZXZlbCBjYWxjdWxhdGlvbnMg4/1fYwAAAU/ePLJcABAgbm90IHNldCBjb3JyZWN0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6ZAAABAEFTU0FORFJBLTU4MzApCiAqIGZpeCBIc0hhIHRvIHJlc3BlY3QgbWF4IGZyYW1lIHNpemUgKENBU1NBTkRSQS00NTczKQogKiBGaXggKHNvbWUpIDJpIG9uIGNvbXBvc2l0ZSBjb21wb25lbnRzIG9taXNzaW9ucyAoQ0FTU0FORFJBLTU4NTEpCiAqIGNxbHNoOiBhZGQgREVTQ1JJQkUgRlVMTCBTQ0hFTUEgdmFyaWFudCAoQ0FTU0FORFJBLTU4ODApCk1lcmdlZCBmcm9tIDEuMjoKICogQ29ycmVjdGx5IHZhbGlkYXRlIHNwYXJzZSBjb21wb3NpdGUgY2U4VBCqAAABT948slwAEEEtNjc3OSkKICogUmVhZCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpkAAAEAb3B0aW9uIChDQVNTQU5EUkEtNDI2KQogKiBGaXggY29tcGFjdGlvbiBhYm9ydCB1bmRlciBpbnN1ZmZpY2llbnQgZGlzayBzcGFjZSAoQ0FTU0FORFJBLTQ3MykKICogRml4IHJlYWRpbmcgc3ViY29sdW1uIHNsaWNlIGZyb20gdG9tYnN0b25lZCBDRiAoQ0FTU0FORFJBLTQ4NCkKICogRml4IHJhY2UgY29uZGl0aW9uIGluIFJWSCBjYXVzaW5nIG9jY2FzaW9uYWwgTlBFIChDQVNTQU5EUkEtNDc4KQoKCjAuNC4wCiAqIGZpeCBnZXRfa2V5X3JhbmdlILnPU14AF+jWF0IDEgAAAU/ePLJcABB2ZWwgb24gZGlnZXN0IG1pAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6cAAABAE5EUkEtNTU4KQogKiBhZGRlZCBnZXRfcmFuZ2Vfc2xpY2UsIGRlcHJlY2F0aW5nIGdldF9rZXlfcmFuZ2UgKENBU1NBTkRSQS0zNDQpCiAqIGV4cG9zZSBUaW1lZE91dEV4Y2VwdGlvbiB0byB0aHJpZnQgKENBU1NBTkRSQS01NjMpCiAKCjAuNC4yCiAqIEFkZCB2YWxpZGF0aW9uIGRpc2FsbG93aW5nIG51bGwga2V5cyAoQ0FTU0FORFJBLTQ4NikKICogRml4IHJhY2UgY29uZGl0aW9ucyBpbiBUQ1BDb25uZWN0aW9uTWFuYWdlciAoQ0FTU0FORFJBLTRd3pjFAAABT948slwAEGEgc3ViY29tcGFyYXRvciAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpwAAAEAIFVEVCBjaGFuZ2VzIGluIHYxIGFuZAogICB2MiBwcm90b2NvbHMgKENBU1NBTkRSQS03NjE3KQogKiBGaXggdHJhY2luZyBvZiByYW5nZSBzbGljZXMgYW5kIHNlY29uZGFyeSBpbmRleCBsb29rdXBzIHRoYXQgYXJlIGxvY2FsCiAgIHRvIHRoZSBjb29yZGluYXRvciAoQ0FTU0FORFJBLTc1OTkpCiAqIFNldCAtRGNhc3NhbmRyYS5zdG9yYWdlZGlyIGZvciBhbGwgdG9vbCBzaGVsbCBzY3JpcHRzIChDQVNTQU5EUkEtNzU4NykKICogRG9uJ3Qgc3dhcLSOC3cAAAFP3jyyXAAQaWNpZW50IHNsaWNlIHNpegAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgunAAAAQApIGNhbGxzIGFyZSB3cmFwcGVkIGJ5CiAgIGFub3RoZXIgZnVuY3Rpb24gY2FsbCAoQ0FTU0FORFJBLTg0NTEpCiAqIEZpeCBOUEUgYWZ0ZXIgZHJvcHBpbmcgYSBrZXlzcGFjZSAoQ0FTU0FORFJBLTgzMzIpCiAqIEZpeCBlcnJvciBtZXNzYWdlIG9uIHJlYWQgcmVwYWlyIHRpbWVvdXRzIChDQVNTQU5EUkEtNzk0NykKICogRGVmYXVsdCBEVENTIGJhc2VfdGltZV9zZWNvbmRzIGNoYW5nZWQgdG8gNjAgKENBU1NBTkRSQS04NDE3KQogKiBSZWZ1c2UgO3UZTAAAAU/ePLJcABB2aWNlLmdldE9wZXJhdGlvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6cAAABAFNBTkRSQS03NDA1KQogKiBTdXBwb3J0IGxpc3QgaW5kZXggb3BlcmF0aW9ucyB3aXRoIGNvbmRpdGlvbnMgKENBU1NBTkRSQS03NDk5KQogKiBBZGQgbWF4IGxpdmUvdG9tYnN0b25lZCBjZWxscyB0byBub2RldG9vbCBjZnN0YXRzIG91dHB1dCAoQ0FTU0FORFJBLTc3MzEpCiAqIFZhbGlkYXRlIElQdjYgd2lsZGNhcmQgYWRkcmVzc2VzIHByb3Blcmx5IChDQVNTQU5EUkEtNzY4MCkKICogKGNxbHNoKSBFcnJvciB3aGVuIHRyYWNpbmcgcXVlcnkgKEPd/jBNAAABT948slwAEDcsIDE2MzcpCiAqIGFkZCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpwAAAEAcGFpciB0byB1c2UgcmVxdWVzdGVkIGNvbnNpc3RlbmN5IGxldmVsIG9uIGRpZ2VzdCBtaXNtYXRjaCwKICAgcmF0aGVyIHRoYW4gYXNzdW1pbmcgUVVPUlVNIChDQVNTQU5EUkEtMTMxNikKICogcHJvY2VzcyBkaWdlc3QgbWlzbWF0Y2ggcmUtcmVhZHMgaW4gcGFyYWxsZWwgKENBU1NBTkRSQS0xMzIzKQogKiBzd2l0Y2ggaGludHMgQ0YgY29tcGFyYXRvciB0byBCeXRlc1R5cGUgKENBU1NBTkRSQS0xMjc0KQoKCjAuNi4zCiAqIHJldHJ5IHRvIG1ha5hEYIAAAAFP3jyyXAAQYiBjb21wcmVzc2lvbiBvcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgunAAAAQB4IGhhbmRsaW5nIG9mIHRoZSBjaHVua19sZW5ndGhfa2IgY29tcHJlc3Npb24gb3B0aW9ucyAoQ0FTU0FORFJBLTM0OTIpCk1lcmdlZCBmcm9tIDAuODoKICogZml4IHVwZGF0aW5nIENGIHJvd19jYWNoZV9wcm92aWRlciAoQ0FTU0FORFJBLTM0MTQpCiAqIENGTWV0YURhdGEuY29udmVydFRvVGhyaWZ0IG1ldGhvZCB0byBzZXQgUm93Q2FjaGVQcm92aWRlciAoQ0FTU0FORFJBLTM0MDUpCiAqIGFjcXVpcmUgY29tcGFjdGlvbmxvY2sgZHVyaW5nIHRy5VzBdgAAAU/ePLJcABBsYXVzZSBjb25kaXRpb25zAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6cAAABACBibG9iIGZpZWxkcyAoQ0FTU0FORFJBLTQ5NzApCiAqIGZpeCBjcWxzaCBERVNDUklCRSBjb21tYW5kIChDQVNTQU5EUkEtNDkxMykKICogc2F2ZSB0cnVuY2F0aW9uIHBvc2l0aW9uIGluIHN5c3RlbSB0YWJsZSAoQ0FTU0FORFJBLTQ5MDYpCiAqIE1vdmUgQ29tcHJlc3Npb25NZXRhZGF0YSBvZmYtaGVhcCAoQ0FTU0FORFJBLTQ5MzcpCiAqIGFsbG93IENMSSB0byBHRVQgY3FsMyBjb2x1bW5mYW1pbHkgZGF0YSAoQ0FTU0FORFJBLTQ5MjQpCiAqIEZB9Z9PAAABT948slwAEHRpb25zIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpwAAAEAZSBjb2x1bW4gZXhwaXJhdGlvbgogICAoQ0FTU0FORFJBLTUxNDkpCiAqIFN0cmVhbWluZyAyLjAgKENBU1NBTkRSQS01Mjg2LCA1Njk5KQogKiBDb25kaXRpb25hbCBjcmVhdGUvZHJvcCBrcy90YWJsZS9pbmRleCBzdGF0ZW1lbnRzIGluIENRTDMgKENBU1NBTkRSQS0yNzM3KQogKiBtb3JlIHByZS10YWJsZSBjcmVhdGlvbiBwcm9wZXJ0eSB2YWxpZGF0aW9uIChDQVNTQU5EUkEtNTY5MykKICogUmVkZXNpZ24gcmVwYWlyIG1lc3NhZ2VzIChDQVNTQYURau4AAAFP3jyyXAAQYW1sIG5ldHdvcmsgdG9wbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgunAAAAQB0aXR1dGlvbnMgaW4gQ0xJIChDQVNTQU5EUkEtMjQ5MikKICogZGlzYWJsZSBjYWNoZSBzYXZpbmcgZm9yIHN5c3RlbSBDRlMgKENBU1NBTkRSQS0yNTAyKQogKiBmaXhlcyBmb3IgdmVyaWZ5aW5nIGRlc3RpbmF0aW9uIGF2YWlsYWJpbGl0eSB1bmRlciBoaW50ZWQgY29uZGl0aW9ucwogICBzbyBVRSBjYW4gYmUgdGhyb3duIGludGVhZCBvZiB0aW1pbmcgb3V0IChDQVNTQU5EUkEtMjUxNCkKICogZml4IHVwZGF0ZSBvZiB2YWxpZGF0aW9uIGNsYXNzB6Yd2QAAAU/ePLJcABAgd2l0aCBubyBjb2x1bW5zAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6cAAABACBTdG9yYWdlU2VydmljZU1CZWFuIChDQVNTQU5EUkEtODk4KQogKiB0cmFjayByb3cgc3RhdHMgcGVyIENGIGF0IGNvbXBhY3Rpb24gdGltZSAoQ0FTU0FORFJBLTg3MCkKICogZGlzYWxsb3cgQ29tbWl0TG9nRGlyZWN0b3J5IG1hdGNoaW5nIGEgRGF0YUZpbGVEaXJlY3RvcnkgKENBU1NBTkRSQS04ODgpCiAqIGRlZmF1bHQga2V5IGNhY2hlIHNpemUgaXMgMjAwayBlbnRyaWVzLCBjaGFuZ2VkIGZyb20gMTAlIChDQVNTQU5EUkEtODYzKQogKiBhZGT9Gt6GAAABT948slwAEHRpY2tldHMpCiAqIGFkZCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpwAAAEAVFRMIHN1cHBvcnQgdG8gQ0xJIChDQVNTQU5EUkEtMTgzOCkKICogY2xpIGRlZmF1bHRzIHRvIGJ5dGVzdHlwZSBmb3Igc3ViY29tcGFyYXRvciB3aGVuIGNyZWF0aW5nCiAgIGNvbHVtbiBmYW1pbGllcyAoQ0FTU0FORFJBLTE4MzUpCiAqIHVucmVnaXN0ZXIgaW5kZXggTUJlYW5zIHdoZW4gaW5kZXggaXMgZHJvcHBlZCAoQ0FTU0FORFJBLTE4NDMpCiAqIG1ha2UgQnl0ZUJ1ZmZlclV0aWwuY2xvbmUgdGhyZWFkLXNhZmUgKENBU1NBTkRSQS0xODQ3Kbmv8twAAAFP3jyyXAAQOSkKICogQ2hlY2sgZm9yIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgunAAAAQBlIHN1cGVyIGNvbHVtbnMgdG8gYXZvaWQgbW9kaWZ5aW5nIHRoZW0gZHVyaW5nIGZsdXNoIChDQVNTQU5EUkEtMjY3NSkKICogcmVzZXQgdW5kZXJseWluZyBpdGVyYXRvciBpbiBFY2hvZWRSb3cgY29uc3RydWN0b3IgKENBU1NBTkRSQS0yNjUzKQoKCjAuOC4wLXJjMQogKiBmYXN0ZXIgZmx1c2hlcyBhbmQgY29tcGFjdGlvbiBmcm9tIGZpeGluZyBleGNlc3NpdmVseSBwZXNzaW1pc3RpYyAKICAgcmVidWZmZXJpbmcgaW4gQlJBRiAoQ0FTU0FORFJBXGYm6wAAAU/ePLJcABAgIGluY29ycmVjdGx5IChhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6cAAABAGNrIGFjY2VzcyB0byBUTS5lbmRwb2ludFRvSG9zdElkTWFwIChDQVNTQU5EUkEtNjEwMykKICogQWxsb3cgZXN0aW1hdGVkIG1lbXRhYmxlIHNpemUgdG8gZXhjZWVkIHNsYWIgYWxsb2NhdG9yIHNpemUgKENBU1NBTkRSQS02MDc4KQogKiBTdGFydCBNZXRlcmVkRmx1c2hlciBlYXJsaWVyIHRvIHByZXZlbnQgT09NIGR1cmluZyBDTCByZXBsYXkgKENBU1NBTkRSQS02MDg3KQogKiBBdm9pZCBzZW5kaW5nIFRydW5jYXRlIGNvbW1hbmQgdG8gZmF0IGPwbPSCAAABT948slwAEEFORFJBLTEwMDcsIDE2MzcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILpwAAAEAbiAyR0IgKENBU1NBTkRSQS0yMjk3KQogKiBtYWtlIDJhcnkgaW5kZXhlcyB1c2UgcGFyZW50IENGIGZsdXNoIHRocmVzaG9sZHMgZHVyaW5nIGluaXRpYWwgYnVpbGQKICAgKENBU1NBTkRSQS0yMjk0KQogKiB1cGRhdGUgbWVtdGFibGVfdGhyb3VnaHB1dCB0byBiZSBhIGxvbmcgKENBU1NBTkRSQS0yMTU4KQoKCjAuNy4zCiAqIEtlZXAgZW5kcG9pbnQgc3RhdGUgdW50aWwgYVZlcnlMb25nVGltZSAoQ0FTU0FORFJBLTIxMTUpCiAqIGxvd2VyLWxhdE/jrI0AAAFP3jyyXAAQCiAqIGFsbG93IHNzdGFibAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgunAAAAQBFTEVDVCAuLi4gVE9LRU4oKSBmdW5jdGlvbiBicm9rZW4gaW4gQyogMi4xLjEgKENBU1NBTkRSQS04MjU4KQogKiBGaXggQ2Fzc2FuZHJhIGNyYXNoIHdoZW4gcnVubmluZyBvbiBKREs4IHVwZGF0ZSA0MCAoQ0FTU0FORFJBLTgyMDkpCiAqIE9wdGltaXplIHBhcnRpdGlvbmVyIHRva2VucyAoQ0FTU0FORFJBLTgyMzApCiAqIEltcHJvdmUgY29tcGFjdGlvbiBvZiByZXBhaXJlZC91bnJlcGFpcmVkIHNzdGFibGVzIChDQVNTQU5EUkEtODAwNCkKICogO+X19wAX/TMi2MSUAAABT948slwAEG1lbW9yeSB1c2FnZSAoQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILp4AAAEAZXMgKENBU1NBTkRSQS04MzQ4KQogKiBMaW1pdCBtYWpvciBzc3RhYmxlIG9wZXJhdGlvbnMgdG8gdGhlaXIgY2Fub25pY2FsIHJlcHJlc2VudGF0aW9uIChDQVNTQU5EUkEtODY2OSkKICogY3Fsc2g6IEFkZCB0ZXN0cyBmb3IgSU5TRVJUIGFuZCBVUERBVEUgdGFiIGNvbXBsZXRpb24gKENBU1NBTkRSQS05MTI1KQogKiBjcWxzaDogcXVvdGUgY29sdW1uIG5hbWVzIHdoZW4gbmVlZGVkIGluIENPUFkgRlJPTSBpbnNlcnRzIChDQVNTQU5EUkEtOTA4MGtQbTUAAAFP3jyyXAAQQ0FTIHVwZGF0ZXMgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgungAAAQBBLTg2OTMpCiAqIChjcWxzaCkgSGFuZGxlIHVuaWNvZGUgQk9NIGF0IHN0YXJ0IG9mIGZpbGVzIChDQVNTQU5EUkEtODYzOCkKICogU3RvcCBjb21wYWN0aW9ucyBiZWZvcmUgZXhpdGluZyBvZmZsaW5lIHRvb2xzIChDQVNTQU5EUkEtODYyMykKICogVXBkYXRlIHRvb2xzL3N0cmVzcy9SRUFETUUudHh0IHRvIG1hdGNoIGN1cnJlbnQgYmVoYXZpb3VyIChDQVNTQU5EUkEtNzkzMykKICogRml4IHNjaGVtYSBmcm9tIFRocmlmdCBjb252ZXJzaW9uIHdp7MafWQAAAU/ePLJcABBhZGUgdGhyaWZ0IHRvIDAuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6eAAABAGFsaWRhdGlvbl9jbGFzcyBiZWZvcmUgaW5zdGFudGlhdGluZyBVcGRhdGVDb2x1bW5GYW1pbHkgKENBU1NBTkRSQS0zMTAyKQogKiBtYWtlIFJhbmdlIGFuZCBCb3VuZHMgb2JqZWN0cyBjbGllbnQtc2FmZSAoQ0FTU0FORFJBLTMxMDgpCiAqIG9wdGlvbmFsbHkgc2tpcCBsb2c0aiBjb25maWd1cmF0aW9uIChDQVNTQU5EUkEtMzA2MSkKICogYnVuZGxlIHNzdGFibGVsb2FkZXIgd2l0aCB0aGUgZGViaWFuIHBhY2thZ2UgKENBU1NBTkRSQS0zMTEzKQrKVOvZAAABT948slwAEDgpCiAqIChjcWxzaCkgZmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILp4AAAEAYW5kbGluZyBvZiBkaXJlY3RvcnkgY3JlYXRpb24gZmFpbHVyZXMgKENBU1NBTkRSQS01MTk2KQogKiBFeHBvc2Ugc2Vjb25kYXJ5IGluZGljaWVzIHRvIHRoZSByZXN0IG9mIG5vZGV0b29sIChDQVNTQU5EUkEtNDQ2NCkKICogQmluYXJ5IHByb3RvY29sOiBhdm9pZCBzZW5kaW5nIG5vdGlmaWNhdGlvbiBmb3IgMC4wLjAuMCAoQ0FTU0FORFJBLTUyMjcpCiAqIGFkZCBVc2VDb25kQ2FyZE1hcmsgWFgganZtIHNldHRpbmdzIG9uIGpkayAxLjcgKENBU/PDL5oAAAFP3jyyXAAQIGJ1ZmZlclNpemUgY2FsYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgungAAAQBuZXMgKENBU1NBTkRSQS02MTE3KQogKiBUcmFjayBhbmQgcGVyc2lzdCBzc3RhYmxlIHJlYWQgYWN0aXZpdHkgKENBU1NBTkRSQS01NTE1KQogKiBGaXhlcyBmb3Igc3BlY3VsYXRpdmUgcmV0cnkgKENBU1NBTkRSQS01OTMyLCBDQVNTQU5EUkEtNjE5NCkKICogSW1wcm92ZSBtZW1vcnkgdXNhZ2Ugb2YgbWV0YWRhdGEgbWluL21heCBjb2x1bW4gbmFtZXMgKENBU1NBTkRSQS02MDc3KQogKiBGaXggdGhyaWZ0IHZhbGlkYXRpb24gcmVmdXNpbmcgcm93nhf3EAAAAU/ePLJcABBvdyBEb3VibGUgdmFsdWUgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6eAAABACAgIGRvZXNuJ3QgZ2V0IGZyZWUnZCBwcmVtYXR1cmVseSAoQ0FTU0FORFJBLTQ5MzQpCiAqIERvbid0IHNoYXJlIHNsaWNlIHF1ZXJ5IGZpbHRlciBpbiBDUUwzIFNlbGVjdFN0YXRlbWVudCAoQ0FTU0FORFJBLTQ5MjgpCiAqIFNlcGFyYXRlIHRyYWNpbmcgZnJvbSBMb2c0SiAoQ0FTU0FORFJBLTQ4NjEpCiAqIEV4Y2x1ZGUgZ2NhYmxlIHRvbWJzdG9uZXMgZnJvbSBtZXJrbGUtdHJlZSBjb21wdXRhdGlvbiAoQ0FTU0FORFJBLTQ5MDUpCiAqIEJldHTcK09NAAABT948slwAECAqIGltcHJvdmVkIHZhbGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILp4AAAEAZ3JhbSBvZiBzc3RhYmxlcyBhY2Nlc3NlZCBwZXIgcmVhZCAoQ0FTU0FORFJBLTE2MjQpCiAqIHJlbW92ZSBzeXN0ZW1fcmVuYW1lX2NvbHVtbl9mYW1pbHkgYW5kIHN5c3RlbV9yZW5hbWVfa2V5c3BhY2UgZnJvbSB0aGUKICAgY2xpZW50IEFQSSB1bnRpbCByYWNlcyBjYW4gYmUgZml4ZWQgKENBU1NBTkRSQS0xNjMwLCBDQVNTQU5EUkEtMTU4NSkKICogYWRkIGNsaSBzYW5pdHkgdGVzdHMgKENBU1NBTkRSQS0xNTgyKQogKiB1cGRhdGUgR0Mgc2V0dDGvmGEAAAFP3jyyXAAQIChDQVNTQU5EUkEtMTczMAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgungAAAQBTQU5EUkEtMTYzMikKICogU2Vjb25kYXJ5IGluZGV4IHN1cHBvcnQgZm9yIGNvbGxlY3Rpb25zIChDQVNTQU5EUkEtNDUxMSwgNjM4MykKICogU1NUYWJsZSBtZXRhZGF0YShTdGF0cy5kYikgZm9ybWF0IGNoYW5nZSAoQ0FTU0FORFJBLTYzNTYpCiAqIFB1c2ggY29tcG9zaXRlcyBzdXBwb3J0IGluIHRoZSBzdG9yYWdlIGVuZ2luZQogICAoQ0FTU0FORFJBLTU0MTcsIENBU1NBTkRSQS02NTIwKQogKiBBZGQgc25hcHNob3Qgc3BhY2UgdXNlZCB0byBjaz/ZKgAAAU/ePLJcABBsY3VsYXRlIGV4YWN0IHNpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6eAAABAG1taXNzaW9uIChDQVNTQU5EUkEtNDA4NikKICogRXhwb3NlIG5vZGV0b29sIGNmaGlzdG9ncmFtcyBmb3IgMm5kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS00MDYzKQpNZXJnZWQgZnJvbSAwLjg6CiAqIEZpeCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uIGluIGdvc3NpcGVyIChDQVNTQU5EUkEtNDAxOSkKCgoxLjEtYmV0YTEKICogKGNxbHNoKQogICArIGFkZCBTT1VSQ0UgYW5kIENBUFRVUkUgY29tbWFuZHMsIGFuZCAtLWZpbGUgb3B0aW9p87UoAAABT948slwAEDUxOCkKICogZml4IGdldCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILp4AAAEAdGVzIChDQVNTQU5EUkEtNjk0MykKICogRmFpbCB3cml0ZSBpbnN0ZWFkIG9mIGxvZ2dpbmcgYSB3YXJuaW5nIHdoZW4gdW5hYmxlIHRvIGFwcGVuZCB0byBDTAogICAoQ0FTU0FORFJBLTY3NjQpCiAqIEVsaW1pbmF0ZSBwb3NzaWJpbGl0eSBvZiBDTCBzZWdtZW50IGFwcGVhcmluZyB0d2ljZSBpbiBhY3RpdmUgbGlzdCAKICAgKENBU1NBTkRSQS02NTU3KQogKiBBcHBseSBET05UTkVFRCBmYWR2aXNlIHRvIGNvbW1pdGxvZyBzZWdtZW50cyAoQ0FTU39mmy4AAAFP3jyyXAAQIHdoZW4gQ0ZzIHdlcmUgYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgungAAAQA4KQogKiBGaXggZXJyb3Igd2hlbiBzb3VyY2luZyBmaWxlIGluIGNxbHNoIChDQVNTQU5EUkEtNTIzNSkKCgoxLjIuMQogKiBzdHJlYW0gdW5kZWxpdmVyZWQgaGludHMgb24gZGVjb21taXNzaW9uIChDQVNTQU5EUkEtNTEyOCkKICogR29zc2lwaW5nUHJvcGVydHlGaWxlU25pdGNoIGxvYWRzIHNhdmVkIGRjL3JhY2sgaW5mbyBpZiBuZWVkZWQgKENBU1NBTkRSQS01MTMzKQogKiBkcmFpbiBzaG91bGQgZmx1c2ggc3lzdGVtIENGcyB0b28gKENBU1NBZpXVRQAAAU/ePLJcABBpeCBjb21taXRsb2cgcmVwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6eAAABAHVzZSBjb2xvcnMgdG8gaW1wcm92ZSBvdXRwdXQKICAgcmVhZGFiaWxpdHkgKENBU1NBTkRSQS0zNzI2KQogKiBzeW5jaHJvbml6ZSBCaU1hcCBvZiBib290c3RyYXBwaW5nIHRva2VucyAoQ0FTU0FORFJBLTM0MTcpCiAqIHNob3cgaW5kZXggb3B0aW9ucyBpbiBDTEkgKENBU1NBTkRSQS0zODA5KQogKiBhZGQgb3B0aW9uYWwgc29ja2V0IHRpbWVvdXQgZm9yIHN0cmVhbWluZyAoQ0FTU0FORFJBLTM4MzgpCiAqIGZpeCB0cnVuY2F0ZSBub3QgdG8gbGW/feGVAAABT948slwAEE5EUkEtODczMykKICogUHIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILp4AAAEAc3RzIGNhbid0IE9PTSB0aGUgCiAgIHNlcnZlciAoQ0FTU0FORFJBLTQ3NSkKICogc2lnbmlmaWNhbnRseSBmYXN0ZXIgcmVhZHMgZnJvbSByb3cgY2FjaGUgKENBU1NBTkRSQS0xMjY3KQogKiB0YWtlIGFkdmFudGFnZSBvZiByb3cgY2FjaGUgZHVyaW5nIHJhbmdlIHF1ZXJpZXMgKENBU1NBTkRSQS0xMzAyKQogKiBtYWtlIEdDR3JhY2VTZWNvbmRzIGEgcGVyLUNvbHVtbkZhbWlseSB2YWx1ZSAoQ0FTU0FORFJBLTEyNzYpCiAqIGtlZXAgcGVyc2lzdBCEZJkAAAFP3jyyXAAQc2FtcGxlIHRoZSBzeXN0ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgungAAAQBlIG9mIGVmZmljaWVudCBjcm9zcy1EQyB3cml0ZXMgKENBU1NBTkRSQS0zNDcyKQogKiBgZGVzY3JpYmUgcmluZ2AgY29tbWFuZCBmb3IgQ0xJIChDQVNTQU5EUkEtMzIyMCkKICogKEhhZG9vcCkgc2tpcCBlbXB0eSByb3dzIHdoZW4gZW50aXJlIHJvdyBpcyByZXF1ZXN0ZWQsIHJlZHV4IChDQVNTQU5EUkEtMjg1NSkKCgoxLjAuMgogKiAiZGVmcmFnbWVudCIgcm93cyBmb3IgbmFtZS1iYXNlZCBxdWVyaWVzIHVuZGVyIFNUQ1MgKENBU1NBTkRSQS0ywck8EwAAAU/ePLJcABBzIGZvciBsb3ctY2FyZGluAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6eAAABAGlkYXRpbmcgcGVybWlzc2lvbnMgYW5kIGNhY2hlIHRpbWUgKENBU1NBTkRSQS04NzIyKQogKiBMb2cgd2FybmluZyB3aGVuIHF1ZXJpZXMgdGhhdCB3aWxsIHJlcXVpcmUgQUxMT1cgRklMVEVSSU5HIGluIENhc3NhbmRyYSAzLjAKICAgYXJlIGV4ZWN1dGVkIChDQVNTQU5EUkEtODQxOCkKICogRml4IGNhc3NhbmRyYS1zdHJlc3Mgc28gaXQgcmVzcGVjdHMgdGhlIENMIHBhc3NlZCBpbiB1c2VyIG1vZGUgKENBU1NBTkRSQS04OTQ4KQogKiBGaXggcmFMvlDxABgRkMUNNHcAAAFP3jyyXAAQcmVzcyBzbyBpdCByZXNwZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguoQAAAQBuZXZlciBiZWluZyBlbWl0dGVkIHdoZW4gYSBub2RlCiAgIG1vdmVzIGl0cyB0b2tlbiAoQ0FTU0FORFJBLTgzNzMpCiAqIEZpeCB2YWxpZGF0aW9uIG9mIGluZGV4ZXMgaW4gQ09NUEFDVCB0YWJsZXMgKENBU1NBTkRSQS04MTU2KQogKiBBdm9pZCBTdGFja092ZXJmbG93RXJyb3Igd2hlbiBhIGxhcmdlIGxpc3Qgb2YgSU4gdmFsdWVzCiAgIGlzIHVzZWQgZm9yIGEgY2x1c3RlcmluZyBjb2x1bW4gKENBU1NBTkRSQS04NDEwKQogKiBGaXggTlBFIHdorjf2JgAAAU/ePLJcABBzZXJ0aW9uRXJyb3I6ICJNAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6hAAABAHQgbm9kZXRvb2wgdG8gMzJNQiBvZiBoZWFwIChDQVNTQU5EUkEtMzEyNCkKICogKENRTCkgdXBkYXRlIHBhcnNlciB0byBhY2NlcHQgInRpbWVzdGFtcCIgaW5zdGVhZCBvZiAiZGF0ZSIgKENBU1NBTkRSQS0zMTQ5KQogKiBGaXggQ0xJIGBzaG93IHNjaGVtYWAgdG8gaW5jbHVkZSAiY29tcHJlc3Npb25fb3B0aW9ucyIgKENBU1NBTkRSQS0zMzY4KQogKiBTbmFwc2hvdCB0byBpbmNsdWRlIG1hbmlmZXN0IHVuZGVyIExldmVsZWRDb21wYWN0aW9uU3Q/5/W2AAABT948slwAEHZvaWQgZHJvcHBpbmcgdG8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqEAAAEAIGNvbnNpc3RlbmN5IGxldmVsIChDQVNTQU5EUkEtNjIxNCkKCgoyLjAuMQogKiBGaXggYnVnIHRoYXQgY291bGQgYWxsb3cgcmVhZGluZyBkZWxldGVkIGRhdGEgdGVtcG9yYXJpbHkgKENBU1NBTkRSQS02MDI1KQogKiBJbXByb3ZlIG1lbW9yeSB1c2UgZGVmYXVsdHMgKENBU1NBTkRSQS02MDU5KQogKiBNYWtlIFRocmlmdFNlcnZlciBtb3JlIGVhc2xseSBleHRlbnNpYmxlIChDQVNTQU5EUkEtNjA1OCkKICogUmVtb3ZlIEhhZG9vcCBkZXBlbmRlbjjG394AAAFP3jyyXAAQdyBhIGd1aWRlbGluZSwgbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguoQAAAQBoZW4gY29sbGVjdGlvbiByZWFkIGhhcyA+IDY1SyBlbGVtZW50cyAoQ0FTU0FORFJBLTU0MjgpCiAqIEZpeCBjYWNoZSBwZXJzaXN0ZW5jZSB3aGVuIGJvdGggcm93IGFuZCBrZXkgY2FjaGUgYXJlIGVuYWJsZWQgCiAgIChDQVNTQU5EUkEtNjQxMykKICogKEhhZG9vcCkgYWRkIGRlc2NyaWJlX2xvY2FsX3JpbmcgKENBU1NBTkRSQS02MjY4KQogKiBGaXggaGFuZGxpbmcgb2YgY29uY3VycmVudCBkaXJlY3RvcnkgY3JlYXRpb24gZmFpbHVyZSAoQ0FTjMlGOAAAAU/ePLJcABBlcyB0aGF0IHVzZSBhIHVzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6hAAABADI3NikKICogdmFsaWRhdGUgY29sdW1uIHZhbHVlcyBpbiBiYXRjaGVzIGFzIHdlbGwgYXMgc2luZ2xlLUNvbHVtbiBpbnNlcnRzCiAgIChDQVNTQU5EUkEtMjI1OSkKICogbW92ZSBzYW1wbGUgc2NoZW1hIGZyb20gY2Fzc2FuZHJhLnlhbWwgdG8gc2NoZW1hLXNhbXBsZS50eHQsCiAgIGEgY2xpIHNjcmlwdHMgKENBU1NBTkRSQS0yMDA3KQogKiBhdm9pZCB3cml0aW5nIGVtcHR5IHJvd3Mgd2hlbiBzY3J1YmJpbmcgdG9tYnN0b25lZCByb3dzIChDQVOciq0KAAABT948slwAEGljIGNvbHVtbnMgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqEAAAEAQS0yODAwKQogKiBlbnN1cmUgdGhhdCBzdHJpbmcgdG9rZW5zIGRvIG5vdCBjb250YWluIGNvbW1hcyAoQ0FTU0FORFJBLTI3NjIpCgoKMC44LjAtZmluYWwKICogZml4IENRTCBncmFtbWFyIHdhcm5pbmcgYW5kIGNxbHNoIHJlZ3Jlc3Npb24gZnJvbSBDQVNTQU5EUkEtMjYyMgogKiBhZGQgYW50IGdlbmVyYXRlLWNxbC1odG1sIHRhcmdldCAoQ0FTU0FORFJBLTI1MjYpCiAqIHVwZGF0ZSBDUUwgY29uc2lzdGVuY3kgbGV2ZWxzIChDQVNTQU5EUkEtMpA9A2wAAAFP3jyyXAAQKQogKiBhbGxvdyBpbmRleAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguoQAAAQBzc2luZyBBQlNDIChDQVNTQU5EUkEtNjc0MikKICogRml4IGFzc2VydGlvbiBlcnJvciBpbiBBTFRFUiBUWVBFIFJFTkFNRSAoQ0FTU0FORFJBLTY3MDUpCiAqIFNjcnViIHNob3VsZCBub3QgYWx3YXlzIGNsZWFyIG91dCByZXBhaXJlZCBzdGF0dXMgKENBU1NBTkRSQS01MzUxKQogKiBJbXByb3ZlIGhhbmRsaW5nIG9mIHJhbmdlIHRvbWJzdG9uZSBmb3Igd2lkZSBwYXJ0aXRpb25zIChDQVNTQU5EUkEtNjQ0NikKICogRml4IENsYXNzQ2FzdEV4Y2VwSCnx8wAAAU/ePLJcABBuZGV4X25hbWUKICAgb24gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6hAAABAG4gSk1YIGJsb2NraW5nIChDQVNTQU5EUkEtNDk1MikKICogRml4IHN0cmVhbWluZyBkb2VzIG5vdCB0cmFuc2ZlciB3cmFwcGVkIHJhbmdlIChDQVNTQU5EUkEtNTk0OCkKICogRml4IGxvYWRpbmcgaW5kZXggc3VtbWFyeSBjb250YWluaW5nIGVtcHR5IGtleSAoQ0FTU0FORFJBLTU5NjUpCiAqIENvcnJlY3RseSBoYW5kbGUgbGltaXRzIGluIENvbXBvc2l0ZXNTZWFyY2hlciAoQ0FTU0FORFJBLTU5NzUpCiAqIFBpZzogaGFuZGxlIENRTCBjb2xsZWMy6IaQAAABT948slwAEGFsIGtleSB0byBpbmRpY2EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqEAAAEALTczNDUpCiAqIFByb3Blcmx5IGhhbmRsZSB1bnJlY29nbml6ZWQgb3Bjb2RlcyBhbmQgZmxhZ3MgKENBU1NBTkRSQS03NDQwKQogKiAoSGFkb29wKSBjbG9zZSBDcWxSZWNvcmRXcml0ZXIgY2xpZW50cyB3aGVuIGZpbmlzaGVkIChDQVNTQU5EUkEtNzQ1OSkKICogQ29tbWl0IGRpc2sgZmFpbHVyZSBwb2xpY3kgKENBU1NBTkRSQS03NDI5KQogKiBNYWtlIHN1cmUgaGlnaCBsZXZlbCBzc3RhYmxlcyBnZXQgY29tcGFjdGVkIChDQVNTQU5EUkEtNzQxNGhwAUEAAAFP3jyyXAAQCiAqIEZvcmNlIGNvbmZpZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguoQAAAQBEUkEtMzY1MikKICogQXZvaWQgbXVsdGlwbGUgdGhyZWFkIGRvaW5nIEhIIHRvIHRoZSBzYW1lIHRhcmdldCAoQ0FTU0FORFJBLTM2ODEpCiAqIEFkZCBKTVggcHJvcGVydHkgZm9yIHJwX3RpbWVvdXRfaW5fbXMgKENBU1NBTkRSQS0yOTQwKQogKiBBbGxvdyBEeW5hbWljQ29tcG9zaXRlVHlwZSB0byBjb21wYXJlIGNvbXBvbmVudCBvZiBkaWZmZXJlbnQgdHlwZXMKICAgKENBU1NBTkRSQS0zNjI1KQogKiBGbHVzaCBub24tY2ZzIGJhY2tlZCBzZWNvTKk4nwAAAU/ePLJcABBTdHJhdGVneSAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6hAAABAGZpbml0aW9uIChDQVNTQU5EUkEtOTMxNCkKICogKGNxbHNoKSBBZGQgU0VSSUFMIGFuZCBMT0NBTF9TRVJJQUwgY29uc2lzdGVuY3kgbGV2ZWxzIChDQVNTQU5EUkEtODA1MSkKICogRml4IGluZGV4IHNlbGVjdGlvbiBkdXJpbmcgcmVidWlsZCB3aXRoIGNlcnRhaW4gdGFibGUgbGF5b3V0cyAoQ0FTU0FORFJBLTkyODEpCiAqIEZpeCBwYXJ0aXRpb24tbGV2ZWwtZGVsZXRlLW9ubHkgd29ya2xvYWQgYWNjb3VudGluZyAoQ0FTU0FORFJBLTkxOTQpCiB56egdAAABT948slwAEGluZyBvZiBMSVNUIHN0YXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqEAAAEAKENBU1NBTkRSQS01NDEpCiAqIEFiaWxpdHkgdG8gZGVjb21taXNzaW9uIGEgbGl2ZSBub2RlIGZyb20gdGhlIHJpbmcgKENBU1NBTkRSQS00MzUpCiAqIFNlbWktYXV0b21hdGljIGxvYWRiYWxhbmNpbmcgdmlhIG5vZGVwcm9iZSAoQ0FTU0FORFJBLTE5MikKICogQWRkIGFiaWxpdHkgdG8gc2V0IGNvbXBhY3Rpb24gdGhyZXNob2xkcyBhdCBydW50aW1lIHZpYQogICBKTVggLyBub2RlcHJvYmUuICAoQ0FTU0FORFJBLTQ2NSkKICogQWRkICJjb21tZYb293AAAAFP3jyyXAAQIG1vcmUgaW1wb3J0YW50IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguoQAAAQAxKQogKiBGaXggcmFjZSB3aGVuIGluaXRpYWxpemluZyBDb2x1bW5GYW1pbHlTdG9yZSAoQ0FTU0FORFJBLTUzNTApCiAqIEFkZCBVc2VUTEFCIEpWTSBmbGFnIChDQVNTQU5EUkEtNTM2MSkKCgoxLjIuMgogKiBmaXggcG90ZW50aWFsIGZvciBtdWx0aXBsZSBjb25jdXJyZW50IGNvbXBhY3Rpb25zIG9mIHRoZSBzYW1lIHNzdGFibGVzCiAgIChDQVNTQU5EUkEtNTI1NikKICogYXZvaWQgbm8tb3AgY2FjaGluZyBvZiBieXRlW10gb24gY29tbWl0bG9nBl0geQAAAU/ePLJcABBlc2VudCB3aGVuIHNwZWNpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6hAAABAHFsMykgRml4IHByZXBhcmVkIHN0YXRlbWVudCBpbiBCQVRDSCAoQ0FTU0FORFJBLTQyMDIpCiAqIChjcWwzKSBSZWR1Y2UgdGhlIGxpc3Qgb2YgcmVzZXJ2ZWQga2V5d29yZHMgKENBU1NBTkRSQS00MTg2KQogKiAoY3FsMykgTW92ZSBtYXgvbWluIGNvbXBhY3Rpb24gdGhyZXNob2xkcyB0byBjb21wYWN0aW9uIHN0cmF0ZWd5IG9wdGlvbnMKICAgKENBU1NBTkRSQS00MTg3KQogKiBGaXggZXhjZXB0aW9uIGR1cmluZyBtb3ZlIHdoZW4gbG9jYWxob3MLBiWgAAABT948slwAEEEtNDA3OSkKICogb3B0aW0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqEAAAEAZyBleHRyYSBjaHVuayAoQ0FTU0FORFJBLTUxMDUpCiAqIEFkZCBDUUwzLWJhc2VkIGltcGxlbWVudGF0aW9ucyBvZiBJQXV0aGVudGljYXRvciBhbmQgSUF1dGhvcml6ZXIKICAgKENBU1NBTkRSQS00ODk4KQogKiBGaXggdGltZXN0YW1wLWJhc2VkIHRvbXN0b25lIHJlbW92YWwgbG9naWMgKENBU1NBTkRSQS01MjQ4KQogKiBjbGk6IEFkZCBKTVggYXV0aGVudGljYXRpb24gc3VwcG9ydCAoQ0FTU0FORFJBLTUwODApCiAqIEZpeCBmb3JjZUZsdXNoIIM7w40AGCXtc0U9+AAAAU/ePLJcABBBU1NBTkRSQS0zOTAzKQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6jAAABAChDQVNTQU5EUkEtNTY2MykKICogTWFrZSBiYXRjaGxvZyByZXBsYXkgYXN5bmNocm9ub3VzIChDQVNTQU5EUkEtNjEzNCkKICogcmVtb3ZlIHVudXNlZCBjbGFzc2VzIChDQVNTQU5EUkEtNzE5NykKICogTGltaXQgdXNlciB0eXBlcyB0byB0aGUga2V5c3BhY2UgdGhleSBhcmUgZGVmaW5lZCBpbiAoQ0FTU0FORFJBLTY2NDMpCiAqIEFkZCB2YWxpZGF0ZSBtZXRob2QgdG8gQ29sbGVjdGlvblR5cGUgKENBU1NBTkRSQS03MjA4KQogKiBOZXcgc2VyaWF57FPtAAABT948slwAEHQgc3luYyB0byAKICAgZmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqMAAAEAZGRzIGNhY2hpbmcgYW5kIGJsb29tRmlsdGVyRnBDaGFuZ2UgdG8gQ1FMIG9wdGlvbnMgKENBU1NBTkRSQS00MDQyKQogKiBBZGRzIHBvc2liaWxpdHkgdG8gYXV0b2NvbmZpZ3VyZSBzaXplIG9mIHRoZSBLZXlDYWNoZSAoQ0FTU0FORFJBLTQwODcpCiAqIGZpeCBLRVlTIGluZGV4IGZyb20gc2tpcHBpbmcgcmVzdWx0cyAoQ0FTU0FORFJBLTM5OTYpCiAqIFJlbW92ZSBzbGljZWRfYnVmZmVyX3NpemVfaW5fa2IgZGVhZCBvcHRpb24gKENBU1NBTkRSQQHOpZgAAAFP3jyyXAAQcyAoQ0FTU0FORFJBLTQ3NQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguowAAAQBrIChDQVNTQU5EUkEtMTQ4MSkKICogUHJvcGVydHlGaWxlU25pdGNoIGNvbmZpZ3VyYXRpb24gZmlsZSByZW5hbWVkIHRvIAogICBjYXNzYW5kcmEtdG9wb2xvZ3kucHJvcGVydGllcwogKiBhZGQgY2xpIHN1cHBvcnQgZm9yIGdldF9yYW5nZV9zbGljZXMgKENBU1NBTkRSQS0xMDg4LCBDQVNTQU5EUkEtMTYxOSkKICogTWFrZSBtZW10YWJsZSBmbHVzaCB0aHJlc2hvbGRzIHBlci1DRiBpbnN0ZWFkIG9mIGdsb2JhbCAKICAgKENBU1NBTkRSQS0xMDA3hT+7yQAAAU/ePLJcABB4IENRTDMgQkFUQ0ggYXV0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6jAAABAHNodXQgZG93biBzZXJ2ZXIgZm9yIE9PTSBvbiBhIFRocmlmdCB0aHJlYWQgKENBU1NBTkRSQS0yMjY5KQogKiBmaXggdG9tYnN0b25lIGhhbmRsaW5nIGluIHJlcGFpciBhbmQgc3N0YWJsZTJqc29uIChDQVNTQU5EUkEtMjI3OSkKICogcHJlc2VydmUgdmVyc2lvbiB3aGVuIHN0cmVhbWluZyBkYXRhIGZyb20gb2xkIHNzdGFibGVzIChDQVNTQU5EUkEtMjI4MykKICogZG9uJ3Qgc3RhcnQgcmVwYWlyIGlmIGEgbmVpZ2hib3Jpbmcgbm9kZSBpcyBtYXJ3shGnAAABT948slwAECAoQ0FTU0FORFJBLTM0OTYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqMAAAEATWFwIChDQVNTQU5EUkEtNjEwMykKICogQWxsb3cgZXN0aW1hdGVkIG1lbXRhYmxlIHNpemUgdG8gZXhjZWVkIHNsYWIgYWxsb2NhdG9yIHNpemUgKENBU1NBTkRSQS02MDc4KQogKiBTdGFydCBNZXRlcmVkRmx1c2hlciBlYXJsaWVyIHRvIHByZXZlbnQgT09NIGR1cmluZyBDTCByZXBsYXkgKENBU1NBTkRSQS02MDg3KQogKiBBdm9pZCBzZW5kaW5nIFRydW5jYXRlIGNvbW1hbmQgdG8gZmF0IGNsaWVudHMgKENBU1NBTkRSQS02MDg4KQogKiBBbGxvd4ZmcJQAAAFP3jyyXAAQc2F2aW5nIGNhY2hlcyB3aAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguowAAAQAgKENBU1NBTkRSQS0zMjIzKQogKiBMb2cgbWVzc2FnZSB3aGVuIGEgZnVsbCByZXBhaXIgb3BlcmF0aW9uIGNvbXBsZXRlcyAoQ0FTU0FORFJBLTMyMDcpCiAqIEZpeCBzdHJlYW1PdXRTZXNzaW9uIGtlZXBpbmcgc3N0YWJsZXMgcmVmZXJlbmNlcyBmb3JldmVyIGlmIHRoZSByZW1vdGUgZW5kCiAgIGRpZXMgKENBU1NBTkRSQS0zMjE2KQogKiBSZW1vdmUgZHluYW1pY19zbml0Y2ggYm9vbGVhbiBmcm9tIGV4YW1wbGUgY29uZmlndXJhdGlvbiAoZGVmdc2ncgAAAU/ePLJcABAgaW5kZXggaXMgY3JlYXRlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6jAAABAGNvbnNpc3RlbmN5IGxldmVsIGNvbmZpZ3VyYWJsZSBpbiBjcWxzaCAoQ0FTU0FORFJBLTQ4MjkpCiAqIGZpeCBjcWxzaCByZW5kZXJpbmcgb2YgYmxvYiBmaWVsZHMgKENBU1NBTkRSQS00OTcwKQogKiBmaXggY3Fsc2ggREVTQ1JJQkUgY29tbWFuZCAoQ0FTU0FORFJBLTQ5MTMpCiAqIHNhdmUgdHJ1bmNhdGlvbiBwb3NpdGlvbiBpbiBzeXN0ZW0gdGFibGUgKENBU1NBTkRSQS00OTA2KQogKiBNb3ZlIENvbXByZXNzaW9uTWV0YWRhdGEgb2ZmLWhlYXCYcXWIAAABT948slwAECogcmVtb3ZlIENPUFAgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqMAAAEAQWxsb3cgcHJvcGFnYXRpbmcgbXVsdGlwbGUgZ29zc2lwIHN0YXRlcyBhdG9taWNhbGx5IChDQVNTQU5EUkEtNjEyNSkKICogTG9nIGV4Y2VwdGlvbnMgcmVsYXRlZCB0byB1bmNsZWFuIG5hdGl2ZSBwcm90b2NvbCBjbGllbnQgZGlzY29ubmVjdHMKICAgYXQgREVCVUcgb3IgSU5GTyAoQ0FTU0FORFJBLTc4NDkpCiAqIEFsbG93IHBlcm1pc3Npb25zIGNhY2hlIHRvIGJlIHNldCB2aWEgSk1YIChDQVNTQU5EUkEtNzY5OCkKICogSW5jbHVkZSBzY2hlbfSDIFUAAAFP3jyyXAAQKQogKiBGb3JjZSBjb25maQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguowAAAQBnZUl0ZXJhdG9yIChDQVNTQU5EUkEtMzI2MCkKICogRkJVdGlsaXRpZXMuaGV4VG9CeXRlcyhTdHJpbmcpIHRvIHRocm93IE51bWJlckZvcm1hdEV4Y2VwdGlvbiB3aGVuIHN0cmluZwogICBjb250YWlucyBub24taGV4IGNoYXJhY3RlcnMgKENBU1NBTkRSQS0zMjMxKQogKiBLZWVwIFNpbXBsZVNuaXRjaCBwcm94aW1pdHkgb3JkZXJpbmcgdW5jaGFuZ2VkIGZyb20gd2hhdCB0aGUgU3RyYXRlZ3kKICAgZ2VuZXJhdGVzLCBhcyBpbnRlbmRlZCAoQ0FTPY5EgQAAAU/ePLJcABBzaXplIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6jAAABACAyNjg0KQogKiBzd2l0Y2ggdG8gbmF0aXZlIFRocmlmdCBmb3IgSGFkb29wIG1hcC9yZWR1Y2UgKENBU1NBTkRSQS0yNjY3KQogKiBmaXggU3RhY2tPdmVyZmxvd0Vycm9yIHdoZW4gYnVpbGRpbmcgZnJvbSBlY2xpcHNlIChDQVNTQU5EUkEtMjY4NykKICogb25seSBwcm92aWRlIHJlcGxpY2F0aW9uX2ZhY3RvciB0byBzdHJhdGVneV9vcHRpb25zICJoZWxwIiBmb3IKICAgU2ltcGxlU3RyYXRlZ3ksIE9sZE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5ICgyOywoAAABT948slwAEGRpbmcgbGFyZ2Ugcm93cyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqMAAAEAQU5EUkEtNTE4NSkKICogZml4IGJ1ZyBpbiBjb21wYWN0IHN0b3JhZ2UgbWV0YWRhdGEgaGFuZGxpbmcgKENBU1NBTkRSQS01MTg5KQogKiBWYWxpZGF0ZSBsb2dpbiBmb3IgVVNFIHF1ZXJpZXMgKENBU1NBTkRSQS01MjA3KQogKiBjbGk6IHJlbW92ZSBkZWZhdWx0IHVzZXJuYW1lIGFuZCBwYXNzd29yZCAoQ0FTU0FORFJBLTUyMDgpCiAqIGNvbmZpZ3VyZSBwb3B1bGF0ZV9pb19jYWNoZV9vbl9mbHVzaCBwZXItQ0YgKENBU1NBTkRSQS00Njk0KQogKnqc1KIAAAFP3jyyXAAQZXB0aW9ucyAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguowAAAQBpc3RlZCBpbiBzeXN0ZW0ucGVlcnMgKENBU1NBTkRSQS05MTgwKQogKiBGbHVzaCBzeXN0ZW0uSW5kZXhJbmZvIGFmdGVyIG1hcmtpbmcgaW5kZXggYnVpbHQgKENBU1NBTkRSQS05MTI4KQogKiBGaXggdXBkYXRlcyB0byBtaW4vbWF4X2NvbXBhY3Rpb25fdGhyZXNob2xkIHRocm91Z2ggY2Fzc2FuZHJhLWNsaQogICAoQ0FTU0FORFJBLTgxMDIpCiAqIERvbid0IGluY2x1ZGUgdG1wIGZpbGVzIHdoZW4gZG9pbmcgb2ZmbGluZSByZWxldmVsIChDQVNTCb0rowAAAU/ePLJcABBldGUgc2NoZWR1bGVkIHJhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6jAAABACBjZWlsIGluc3RlYWQgb2YgZmxvb3IgKENBU1NBTkRSQS04ODgzKQogKiBGaXggdG9wIHBhcnRpdGlvbnMgcmVwb3J0aW5nIHdyb25nIGNhcmRpbmFsaXR5IChDQVNTQU5EUkEtODgzNCkKICogRml4IHJhcmUgTlBFIGluIEtleUNhY2hlU2VyaWFsaXplciAoQ0FTU0FORFJBLTgwNjcpCiAqIFBpY2sgc3N0YWJsZXMgZm9yIHZhbGlkYXRpb24gYXMgbGF0ZSBhcyBwb3NzaWJsZSBpbmMgcmVwYWlycyAoQ0FTU0FORFJBLTgzNjYpCiAqIEZpeCBjb21taXS6eEGoAAABT948slwAEChDQVNTQU5EUkEtMzA2MSkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqMAAAEAYW5nZSBxdWVyaWVzIG9uIG5vbi1taW5pbXVtIHRva2VuIChDQVNTQU5EUkEtMTcwMCkKICogYWRkIG5vZGV0b29sIGNmaGlzdG9ncmFtIChDQVNTQU5EUkEtMTY5OCkKICogbGltaXQgcmVwYWlyZWQgcmFuZ2VzIHRvIHdoYXQgdGhlIG5vZGVzIGhhdmUgaW4gY29tbW9uIChDQVNTQU5EUkEtMTY3NCkKICogaW5kZXggc2NhbiB0cmVhdHMgbWlzc2luZyBjb2x1bW5zIGFzIG5vdCBtYXRjaGluZyBzZWNvbmRhcnkKICAgZXhwcmVzc2lvbnMgKENBU1NBTpC8rMkAAAFP3jyyXAAQcGVjaWZpYyByYW5nZSAoQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguowAAAQBBTkRSQS00MDk1KQogKiByZW1vdmUgdW5uZWNlc3NhcnkgYXNzZXJ0cyBpbiBuYXRpdmUgY29kZSBpbnRlcmZhY2VzIChDQVNTQU5EUkEtNDA5NikKICogVmFsaWRhdGUgYmxhbmsga2V5cyBpbiBDUUwgdG8gYXZvaWQgYXNzZXJ0aW9uIGVycm9ycyAoQ0FTU0FORFJBLTM2MTIpCiAqIGNxbHNoOiBmaXggYmFkIGRlY29kaW5nIG9mIHNvbWUgY29sdW1uIG5hbWVzIChDQVNTQU5EUkEtNDAwMykKICogY3Fsc2g6IGZpeCBpbmNvcnJlY3QgcGFkZGluZyB3Uf6JFAAYOkrm28OOAAABT948slwAECB0byBsZXZlbGVkIG1hbmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqUAAAEAMSkKICogUmVkdWNlIHJ1bldpdGhDb21wYWN0aW9uc0Rpc2FibGVkIHBvbGwgaW50ZXJ2YWwgdG8gMW1zIChDQVNTQU5EUkEtOTI3MSkKICogRml4IFBJVFIgY29tbWl0bG9nIHJlcGxheSAoQ0FTU0FORFJBLTkxOTUpCiAqIEdDSW5zcGVjdG9yIGxvZ3MgdmVyeSBkaWZmZXJlbnQgdGltZXMgKENBU1NBTkRSQS05MTI0KQogKiBGaXggZGVsZXRpbmcgZnJvbSBhbiBlbXB0eSBsaXN0IChDQVNTQU5EUkEtOTE5OCkKICogVXBkYXRlIHR1cGxlIGFuZCBjb7ZPZiwAAAFP3jyyXAAQaW5nIGZvciBkcm9wcGVkIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgupQAAAQBzdHJlYW1zIG91dCBvZiBvcmRlciAoQ0FTU0FORFJBLTExNjkpCiAqIHJlbW92ZSBpbmFjdGl2ZSBzdHJlYW0gbWFuYWdlcnMgYWZ0ZXIgQUVTIHN0cmVhbXMgZmlsZXMgKENBU1NBTkRSQS0xMTY5KQogKiBhbGxvdyByZW1vdmluZyBlbnRpcmUgcm93IHRocm91Z2ggYmF0Y2hfbXV0YXRlIERlbGV0aW9uIChDQVNTQU5EUkEtMTAyNykKICogYWRkIEpNWCBtZXRyaWNzIGZvciByb3ctbGV2ZWwgYmxvb20gZmlsdGVyIGZhbHNlIHBvc2l0aXZlcyAoQ0FTkKJLeAAAAU/ePLJcABBORFJBLTMzNzQpCiAqIFJlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6lAAABAFNTQU5EUkEtMTA5NikKICogZG8gbm90IHJlY2FsY3VsYXRlIGNhY2hlIGNhcGFjaXR5IHBvc3QtY29tcGFjdGlvbiBpZiBpdCdzIGJlZW4gbWFudWFsbHkgCiAgIG1vZGlmaWVkIChDQVNTQU5EUkEtMTA3OSkKICogYmV0dGVyIGRlZmF1bHRzIGZvciBmbHVzaCBzb3J0ZXIgKyB3cml0ZXIgZXhlY3V0b3IgcXVldWUgc2l6ZXMKICAgKENBU1NBTkRSQS0xMTAwKQogKiB3aW5kb3dzIHNjcmlwdHMgZm9yIFNTVGFibGVJbXBvcnQvRXhwb3J0IChDQVNTQU5fgOnsAAABT948slwAECB0b2tlbiBsaXN0IChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqUAAAEARFJBLTE5NjgpCiAqIGFkZCBzaG9ydCBvcHRpb25zIGZvciBDTEkgZmxhZ3MgKENBU1NBTkRSQS0xNTY1KQogKiBtYWtlIGtleXNwYWNlIGFyZ3VtZW50IHRvICJkZXNjcmliZSBrZXlzcGFjZSIgaW4gQ0xJIG9wdGlvbmFsCiAgIHdoZW4gYXV0aGVudGljYXRlZCB0byBrZXlzcGFjZSBhbHJlYWR5IChDQVNTQU5EUkEtMjAyOSkKICogYWRkZWQgb3B0aW9uIHRvIHNwZWNpZnkgLURjYXNzYW5kcmEuam9pbl9yaW5nPWZhbHNlIG9uIHN0YXJ0dXAKICAgdLcs4vsAAAFP3jyyXAAQIENBU1NBTkRSQS01NTk1LAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgupQAAAQBkIHRvIGtleXNwYWNlIGFscmVhZHkgKENBU1NBTkRSQS0yMDI5KQogKiBhZGRlZCBvcHRpb24gdG8gc3BlY2lmeSAtRGNhc3NhbmRyYS5qb2luX3Jpbmc9ZmFsc2Ugb24gc3RhcnR1cAogICB0byBhbGxvdyAid2FybSBzcGFyZSIgbm9kZXMgb3IgcGVyZm9ybWluZyBKTVggbWFpbnRlbmFuY2UgYmVmb3JlCiAgIGpvaW5pbmcgdGhlIHJpbmcgKENBU1NBTkRSQS01MjYpCiAqIGxvZyBtaWdyYXRpb25zIGF0IElORk8gKENBU1NBTkRSQS0yMDI4KQogKiBhCUXDswAAAU/ePLJcABAgKiBsaW1pdCByZXBhaXJlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6lAAABAHIga2V5c3BhY2VzIGFyZSBhbHRlcmVkIChDQVNTQU5EUkEtNzYyMykKICogTWFrZSBzdXJlIHdlIHNldCBsYXN0Q29tcGFjdGVkS2V5IGNvcnJlY3RseSAoQ0FTU0FORFJBLTg0NjMpCiAqIChjcWxzaCkgRml4IG91dHB1dCBvZiBDT05TSVNURU5DWSBjb21tYW5kIChDQVNTQU5EUkEtODUwNykKICogKGNxbHNoKSBGaXhlZCB0aGUgaGFuZGxpbmcgb2YgTElTVCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtODM3MCkKICogTWFrZSBzc3RhYmxlc2NydWIgY2hvLFMsAAABT948slwAECB3aGVuIGNvbXByZXNzZWQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqUAAAEAZW4gKENBU1NBTkRSQS04NTM1KQogKiBBbGxvdyBpbnZhbGlkYXRpbmcgcGVybWlzc2lvbnMgYW5kIGNhY2hlIHRpbWUgKENBU1NBTkRSQS04NzIyKQogKiBMb2cgd2FybmluZyB3aGVuIHF1ZXJpZXMgdGhhdCB3aWxsIHJlcXVpcmUgQUxMT1cgRklMVEVSSU5HIGluIENhc3NhbmRyYSAzLjAKICAgYXJlIGV4ZWN1dGVkIChDQVNTQU5EUkEtODQxOCkKICogRml4IGNhc3NhbmRyYS1zdHJlc3Mgc28gaXQgcmVzcGVjdHMgdGhlIENMIHBhc3NlZCBpbiB1c5fD3J8AAAFP3jyyXAAQcGVyZm9ybWFuY2UgCiAgIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgupQAAAQAgQWRkIGRlZmF1bHQgbGltaXQgdG8gU0VMRUNUIHN0YXRlbWVudHMgKENBU1NBTkRSQS00OTcyKQogKiBjcWxzaDogZml4IERFU0NSSUJFIGZvciAxLjEgY2ZzIGluIENRTDMgKENBU1NBTkRSQS01MTAxKQogKiBDb3JyZWN0bHkgZ29zc2lwIHdpdGggbm9kZXMgPj0gMS4xLjcgKENBU1NBTkRSQS01MTAyKQogKiBFbnN1cmUgQ0wgZ3VhcmFudGVlcyBvbiBkaWdlc3QgbWlzbWF0Y2ggKENBU1NBTkRSQS01MTEzKQogKiBWYWxpZGF0ZSBjb3JyZWN0bHkgB6hBjAAAAU/ePLJcABBmcm9tIERUUEUgd2l0aCB0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6lAAABAHJlbW92ZSBjYXNzYW5kcmEueWFtbCBkZXBlbmRlbmN5IGZyb20gSGFkb29wIGFuZCBQaWcgKENBU1NBRFJBLTEzMjIpCiAqIGV4cG9zZSBDZkRlZiBtZXRhZGF0YSBpbiBkZXNjcmliZV9rZXlzcGFjZXMgKENBU1NBTkRSQS0xMzYzKQogKiByZXN0b3JlIHVzZSBvZiBtbWFwX2luZGV4X29ubHkgb3B0aW9uIChDQVNTQU5EUkEtMTI0MSkKICogZHJvcHBpbmcgYSBrZXlzcGFjZSB3aXRoIG5vIGNvbHVtbiBmYW1pbGllcyBnZW5lcmF0ZWQgYW4gZXJyb3Jt2oa4AAABT948slwAECBGaXggaW5jb25zaXN0ZW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqUAAAEAMTEsIDE5NDAsIAogICAyMTI0LCAyMzAyLCAyMjc3LCAyNDkzKQogKiBhdm9pZCBkb3VibGUgUm93TXV0YXRpb24gc2VyaWFsaXphdGlvbiBvbiB3cml0ZSBwYXRoIChDQVNTQU5EUkEtMTgwMCkKICogbWFrZSBOZXR3b3JrVG9wb2xvZ3lTdHJhdGVneSB0aGUgZGVmYXVsdCAoQ0FTU0FORFJBLTE5NjApCiAqIGNvbmZpZ3VyYWJsZSBpbnRlcm5vZGUgZW5jcnlwdGlvbiAoQ0FTU0FORFJBLTE1NjcsIDIxNTIpCiAqIGh1bWFuIHJlYWRhYmxlIGNvbHVtbphXDbEAAAFP3jyyXAAQU1NBTkRSQS0zMDI3KQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgupQAAAQAgYW5kIHRha2VDb2x1bW5GYW1pbHlTbmFwc2hvdCB0bwogICBTdG9yYWdlU2VydmljZSBtYmVhbiAoQ0FTU0FORFJBLTU1NikKICogb3B0aW1pemUgY2xlYW51cCB0byBkcm9wIGVudGlyZSBzc3RhYmxlcyB3aGVyZSBwb3NzaWJsZSAoQ0FTU0FORFJBLTQwNzkpCiAqIG9wdGltaXplIHRydW5jYXRlIHdoZW4gYXV0b3NuYXBzaG90IGlzIGRpc2FibGVkIChDQVNTQU5EUkEtNDE1MykKICogdXBkYXRlIGNhY2hlcyB0byB1c2UgYnl0ZVtdIGtleXMgdG8gREjKvgAAAU/ePLJcABAgKiBkZXRlY3QgcGFydGlvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6lAAABACBpbml0aWFsaXphdGlvbiBvZiBTdG9yYWdlUHJveHkgb24gc3RhcnQtdXAgKENBU1NBTkRSQS0zNzk3KQogKiBzdXBwb3J0IHRyaWNrbGluZyBmc3luYygpIG9uIHdyaXRlcyAoQ0FTU0FORFJBLTM5NTApCiAqIGV4cG9zZSBjb3VudGVycyBmb3IgdW5hdmFpbGFibGUvdGltZW91dCBleGNlcHRpb25zIGdpdmVuIHRvIHRocmlmdCBjbGllbnRzIChDQVNTQU5EUkEtMzY3MSkKICogYXZvaWQgcXVhZHJhdGljIHN0YXJ0dXAgdGltZSBpbiBMZXZlbGVkTWEB+ZRUAAABT948slwAECBzdXBwb3J0IChDQVNTQU4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqUAAAEAaXR5IGZvciBIYWRvb3AgMC4yLnggKENBU1NBTkRSQS01MjAxKQogKiBGaXggRXN0aW1hdGVkSGlzdG9ncmFtIHJhY2VzIChDQVNTQU5EUkEtNjY4MikKICogRmFpbHVyZSBkZXRlY3RvciBjb3JyZWN0bHkgY29udmVydHMgaW5pdGlhbCB2YWx1ZSB0byBuYW5vcyAoQ0FTU0FORFJBLTY2NTgpCiAqIEFkZCBub2RldG9vbCB0YWtldG9rZW4gdG8gcmVsb2NhdGUgdm5vZGVzIChDQVNTQU5EUkEtNDQ0NSkKICogRXhwb3NlIGJ1bGsgbG9hZGluZyBwcm9ncjtLqQsAAAFP3jyyXAAQbHVzaCBjYW5ub3QgZXhwaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgupQAAAQBzZXQgb2YKICAgc3ViY29sdW1ucyBvciBvbGQgc3ViY29sdW1uIHZlcnNpb25zIChDQVNTQU5EUkEtMzQ0NikKICogYXV0b21hdGljYWxseSBjb21wdXRlIHNoYTEgc3VtIGZvciB1bmNvbXByZXNzZWQgZGF0YSBmaWxlcyAoQ0FTU0FORFJBLTM0NTYpCiAqIGZpeCByZWFkaW5nIG1ldGFkYXRhL3N0YXRpc3RpY3MgY29tcG9uZW50IGZvciB2ZXJzaW9uIDwgaCAoQ0FTU0FORFJBLTM0NzQpCiAqIGFkZCBzc3RhYmxlIGZvcndhcmQtY29tcGF0aWJpbGl0ZDwcYAAAAU/ePLJcABByIGluY29ycmVjdGx5IGRyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6lAAABAHQgdGhlIENMIHVzZWQgaW4gSGFkb29wIGpvYnMgKENBU1NBTkRSQS0yMzMxKQogKiBhZGQgbWVtdGFibGVfZmx1c2hfcXVldWVfc2l6ZSBkZWZhdWx0aW5nIHRvIDQgKENBU1NBTkRSQS0yMzMzKQogKiBBbGxvdyBvdmVycmlkaW5nIG9mIGluaXRpYWxfdG9rZW4sIHN0b3JhZ2VfcG9ydCBhbmQgcnBjX3BvcnQgZnJvbSBzeXN0ZW0KICAgcHJvcGVydGllcyAoQ0FTU0FORFJBLTIzNDMpCiAqIGZpeCBjb21wYXJhdG9yIHVzZWQgZm9yIG5vbi1pbmRleGUYpG0cABhOp2Mz+1sAAAFP3jyyXAAQIGFjayBwcm9ibGVtIChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguqAAAAQByb3IgcmVwb3J0aW5nIHdoZW4gc3RyZWFtaW5nIHJhbmdlcyBmYWlsIChDQVNTQU5EUkEtNTAwOSkKICogRml4IGNxbHNoIHRpbWVzdGFtcCBmb3JtYXR0aW5nIG9mIHRpbWV6b25lIGluZm8gKENBU1NBTkRSQS00NzQ2KQogKiBGaXggYXNzZXJ0aW9uIGZhaWx1cmUgd2l0aCBsZXZlbGVkIGNvbXBhY3Rpb24gKENBU1NBTkRSQS00Nzk5KQogKiBDaGVjayBmb3IgbnVsbCBlbmRfdG9rZW4gaW4gZ2V0X3JhbmdlX3NsaWNlIChDQVNTQU5EUkEtNDgwNCkK802geAAAAU/ePLJcABBhbmQgbmV3IHN0eWxlIGxlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6oAAABAGdyZXNzIGluIEpNWCAoQ0FTU0FORFJBLTU5OSkKICogYWRkIGJpbi9zc3RhYmxla2V5cyAoQ0FTU05BRFJBLTY3OSkKICogYWRkIENvbnNpc3RlbmN5TGV2ZWwuQU5ZIChDQVNTQU5EUkEtNjg3KQogKiBtYWtlIHJlbW92ZXRva2VuIHJlbW92ZSBub2RlcyBmcm9tIGdvc3NpcCBlbnRpcmVseSAoQ0FTU0FORFJBLTY0NCkKICogYWRkIGFiaWxpdHkgdG8gc2V0IGNhY2hlIHNpemVzIGF0IHJ1bnRpbWUgKENBU1NBTkRSQS03MDgpCiAqIHJlcG9ydCBsYXRsL+mgAAABT948slwAEAogKiBtZXJnZSBTdG9yYWcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqgAAAEAIGFudGljb21wYWN0aW9uKSAoQ0FTU0FORFJBLTU3OSkKICogc3BsaXQgY29tbWl0bG9nIGhlYWRlciBpbnRvIHNlcGFyYXRlIGZpbGUgYW5kIGFkZCBzaXplIGNoZWNrc3VtIHRvCiAgIG11dGF0aW9ucyAoQ0FTU0FORFJBLTExNzkpCiAqIGF2b2lkIGFsbG9jYXRpbmcgYSBuZXcgYnl0ZVtdIGZvciBlYWNoIG11dGF0aW9uIG9uIHJlcGxheSAoQ0FTU0FORFJBLTEyMTkpCiAqIHJldmlzZSBISCBzY2hlbWEgdG8gYmUgcGVyLWVuZHBvaW50IChDQVNTQeqCKQgAAAFP3jyyXAAQbGVzCiAgIGluIENRTDMgbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguqAAAAQBucHV0U3RyZWFtIChDQVNTQU5EUkEtMjM2NSkKICogZml4IGVuY29kaW5nIGJ1Z3MgaW4gSGludGVkSGFuZG9mZk1hbmFnZXIsIFN5c3RlbVRhYmxlIHdoZW4gZGVmYXVsdAogICBjaGFyc2V0IGlzIG5vdCBVVEY4IChDQVNTQU5EUkEtMjM2NykKICogYXZvaWRzIGhhdmluZyByZW1vdmVkIG5vZGUgcmVhcHBlYXJpbmcgaW4gR29zc2lwIChDQVNTQU5EUkEtMjM3MSkKICogZml4IGluY29ycmVjdCB0cnVuY2F0aW9uIG9mIGxvbmcgdG8gaW50IHdoZW4gu6GKjwAAAU/ePLJcABBORFJBLTMzMDQpCiAqIE5vAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6oAAABAEFTU0FORFJBLTY5NDUpCiAqIE1ha2Ugc3VyZSB1cGdyYWRlc3N0YWJsZXMga2VlcHMgc3N0YWJsZSBsZXZlbCAoQ0FTU0FORFJBLTY5NTgpCiAqIEZpeCBMSU1JVCB3aXRoIHN0YXRpYyBjb2x1bW5zIChDQVNTQU5EUkEtNjk1NikKICogRml4IGNsYXNoIHdpdGggQ1FMIGNvbHVtbiBuYW1lIGluIHRocmlmdCB2YWxpZGF0aW9uIChDQVNTQU5EUkEtNjg5MikKICogRml4IGVycm9yIHdpdGggc3VwZXIgY29sdW1ucyBpbiBtaXhlZCAxLjItMi4wIGNsdXOQ16IYAAABT948slwAEDY0OTYpCiAqIEZpeCBhc3MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqgAAAEAaXN0IG9mIElOIHZhbHVlcyBjb250YWluaW5nIHR1cGxlcwogICBpcyBwYXNzZWQgYXMgYSBzaW5nbGUgYXJnIHRvIGEgcHJlcGFyZWQgc3RhdGVtZW50IHdpdGggdGhlIHYxIG9yIHYyCiAgIHByb3RvY29sIChDQVNTQU5EUkEtODA2MikKICogRml4IENsYXNzQ2FzdEV4Y2VwdGlvbiBpbiBESVNUSU5DVCBxdWVyeSBvbiBzdGF0aWMgY29sdW1ucyB3aXRoCiAgIHF1ZXJ5IHBhZ2luZyAoQ0FTU0FORFJBLTgxMDgpCiAqIEZpeCBOUEUgb24gbnVsbCBuZdwW7KkAAAFP3jyyXAAQaW4gcmVwYWlyIHdoZW4gZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguqAAAAQBnIGZvciBjb2xsZWN0aW9ucyBvdmVyIHRoZSBzaXplCiAgIGxpbWl0IChDQVNTQU5EUkEtOTI4NikKICogQXZvaWQgcG90ZW50aWFsIG92ZXJsYXAgaW4gTENTIHdpdGggc2luZ2xlLXBhcnRpdGlvbiBzc3RhYmxlcyAoQ0FTU0FORFJBLTkzMjIpCiAqIExvZyB3YXJuaW5nIG1lc3NhZ2Ugd2hlbiBhIHRhYmxlIGlzIHF1ZXJpZWQgYmVmb3JlIHRoZSBzY2hlbWEgaGFzIGZ1bGx5CiAgIHByb3BhZ2F0ZWQgKENBU1NBTkRSQS05MTM2KQogKiBPdmVybG9hv0fIogAAAU/ePLJcABA1MDk3KQogKiBjcWxzaDogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6oAAABAGYgaXQncyBiZWVuIG1hbnVhbGx5IAogICBtb2RpZmllZCAoQ0FTU0FORFJBLTEwNzkpCiAqIGJldHRlciBkZWZhdWx0cyBmb3IgZmx1c2ggc29ydGVyICsgd3JpdGVyIGV4ZWN1dG9yIHF1ZXVlIHNpemVzCiAgIChDQVNTQU5EUkEtMTEwMCkKICogd2luZG93cyBzY3JpcHRzIGZvciBTU1RhYmxlSW1wb3J0L0V4cG9ydCAoQ0FTU0FORFJBLTEwNTEpCiAqIHdpbmRvd3Mgc2NyaXB0IGZvciBub2RldG9vbCAoQ0FTU0FORFJBLTExMTMpCiAqIGV4cG9zZSDWoVWvAAABT948slwAEE5EUkEtMzIyOSkKICogQmEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqgAAAEAZXMKICAgdG8gQ29sdW1uRmFtaWx5SW5wdXRGb3JtYXQgKENBU1NBTkRSQS0yODA3KQogKiBmaXggcG90ZW50aWFsIE5QRSB3aGlsZSBzY2hlZHVsaW5nIHJlYWQgcmVwYWlyIGZvciByYW5nZSBzbGljZQogICAoQ0FTU0FORFJBLTI4MjMpCiAqIEZpeCByYWNlIGluIFN5c3RlbVRhYmxlLmdldEN1cnJlbnRMb2NhbE5vZGVJZCAoQ0FTU0FORFJBLTI4MjQpCiAqIENvcnJlY3RseSBzZXQgZGVmYXVsdCBmb3IgcmVwbGljYXRlX29uX3dyaXRlIChDQVNTQUEg2ekAAAFP3jyyXAAQNzEzKQogKiBmaXggcmVhZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguqAAAAQBkYXRpb24gZGlzYWxsb3dpbmcgbnVsbCBrZXlzIChDQVNTQU5EUkEtNDg2KQogKiBGaXggcmFjZSBjb25kaXRpb25zIGluIFRDUENvbm5lY3Rpb25NYW5hZ2VyIChDQVNTQU5EUkEtNDg3KQogKiBGaXggdXNpbmcgbm9uLXV0ZjgtYXdhcmUgY29tcGFyaXNvbiBhcyBhIHNhbml0eSBjaGVjay4KICAgKENBU1NBTkRSQS00OTMpCiAqIEltcHJvdmUgZGVmYXVsdCBnYXJiYWdlIGNvbGxlY3RvciBvcHRpb25zIChDQVNTQU5EUkEtNTA0KQogKiBBZGQgIm5v1OzY+wAAAU/ePLJcABBTQU5EUkEtMTIxOSkKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6oAAABACogUGFzcyBtdXRhdGVkIGNmIHRvIGluZGV4IHVwZGF0ZXIgZm9yIHVzZSBieSBQUlNJIChDQVNTQU5EUkEtNzc0MikKICogSW5jbHVkZSBzdHJlc3MgeWFtbCBleGFtcGxlIGluIHJlbGVhc2UgYW5kIGRlYiAoQ0FTU0FORFJBLTc3MTcpCiAqIHdvcmthcm91bmQgZm9yIG5ldHR5IGlzc3VlIGNhdXNpbmcgY29ycnVwdGVkIGRhdGEgb2ZmIHRoZSB3aXJlIChDQVNTQU5EUkEtNzY5NSkKICogY3Fsc2ggREVTQyBDTFVTVEVSIGZhaWxzIHJldHJpZXZpbmcqsMBaAAABT948slwAEGF0aW5nIHJvdyBrZXlzICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqgAAAEAcmZsb3cgd2hpbGUgc29ydGluZyBDTCBzZWdtZW50cyBmb3IgcmVwbGF5IChDQVNTQU5EUkEtNzk5MikKICogSW5jcmVhc2Ugbm9kZXRvb2wgWG14IChDQVNTQU5EUkEtNzk1NikKICogQXJjaGl2ZSBhbnkgY29tbWl0bG9nIHNlZ21lbnRzIHByZXNlbnQgYXQgc3RhcnR1cCAoQ0FTU0FORFJBLTY5MDQpCiAqIENyY0NoZWNrQ2hhbmNlIHNob3VsZCBhZGp1c3QgYmFzZWQgb24gbGl2ZSBDRk1ldGFkYXRhIG5vdCAKICAgc3N0YWJsZSBtZXRhZGF0YSAoQ/ge/hgAAAFP3jyyXAAQZnJvbSBzdXBlcmNvbHVtbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguqAAAAQBhcmFtcyAoQ0FTU0FORFJBLTQwMykKICogYWxsb3cgc2V0dGluZyB0aGUgbG9nZ2luZyBsZXZlbCBhdCBydW50aW1lIHZpYSBtYmVhbiAoQ0FTU0FORFJBLTQwMikKICogY2hhbmdlIGRlZmF1bHQgY29tcGFyYXRvciB0byBCeXRlc1R5cGUgKENBU1NBTkRSQS00MDApCiAqIGFkZCBmb3J3YXJkcy1jb21wYXRpYmxlIENvbnNpc3RlbmN5TGV2ZWwgcGFyYW1ldGVyIHRvIGdldF9rZXlfcmFuZ2UKICAgKENBU1NBTkRSQS0zMjIpCiAqIHIvbSBzcGVjaWFsgpYSdAAAAU/ePLJcABBwYXJhbGxlbCBjb21wYWN0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6oAAABAGhlIHNhbWUgY2x1c3RlciAoQ0FTU0FORFJBLTMwMjMpCiAqIG1ha2UgcmVwYWlyIHJlcG9ydCBmYWlsdXJlIHdoZW4gYSBub2RlIHBhcnRpY2lwYXRpbmcgZGllcyAoaW5zdGVhZCBvZgogICBoYW5naW5nIGZvcmV2ZXIpIChDQVNTQU5EUkEtMjQzMykKICogZml4IGhhbmRsaW5nIG9mIHRoZSBlbXB0eSBieXRlIGJ1ZmZlciBieSBSZXZlcnNlZFR5cGUgKENBU1NBTkRSQS0zMTExKQogKiBBZGQgdmFsaWRhdGlvbiB0aGF0IEtleXNwYWNlIG5hbWVzIGFQ2Y2cAAABT948slwAEGNvbXBhY3Rpb24gdmlzaWIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqgAAAEAYmxlZCBieSBkZWZhdWx0KQogICAoQ0FTU0FORFJBLTQ5MzcpCiAqIEltcHJvdmUgcmVwYWlyIGJ5IGRlY2lkaW5nIG9uIGEgZ2NCZWZvcmUgYmVmb3JlIHNlbmRpbmcKICAgb3V0IFRyZWVSZXF1ZXN0cyAoQ0FTU0FORFJBLTQ5MzIpCiAqIEFkZCBhbiBvZmZpY2lhbCB3YXkgdG8gZGlzYWJsZSBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTUwNzQpCiAqIFJlZW5hYmxlIEFMVEVSIFRBQkxFIERST1Agd2l0aCBuZXcgc2VtYW50aWNzIChDQVNTQU5EUkEtMzSg4QwAGGME9tvZbAAAAU/ePLJcABBwb24gc25hcHNob3QgKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6rAAABAE5EUkEtNTA3MikKICogY3Fsc2g6IGZvcmNlIENMLk9ORSBmb3IgdHJhY2luZyBhbmQgc3lzdGVtLnNjaGVtYSogcXVlcmllcyAoQ0FTU0FORFJBLTUwNzApCiAqIEluY2x1ZGVzIGNhc3NhbmRyYS1zaHVmZmxlIGluIHRoZSBkZWJpYW4gcGFja2FnZSAoQ0FTU0FORFJBLTUwNTgpCk1lcmdlZCBmcm9tIDEuMToKICogZml4IG11bHRpdGhyZWFkZWQgY29tcGFjdGlvbiBkZWFkbG9jayAoQ0FTU0FORFJBLTQ0OTIpCiAqIGZpeCB0ZW1wb3JhcmlseSBtaXP/O2M4AAABT948slwAEHplcnMgcGx1Z2dhYmxlICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqsAAAEAMDgpCiAqIGRlZmF1bHQgaHNoYSB0aHJpZnQgc2VydmVyIHRvIGNwdSBjb3JlIGNvdW50IGluIHJwYyBwb29sIChDQVNTQU5EUkEtMzMyOSkKICogYWRkIGJpblxkYWVtb24gdG8gYmluYXJ5IHRhcmJhbGwgZm9yIFdpbmRvd3Mgc2VydmljZSAoQ0FTU0FORFJBLTMzMzEpCiAqIEZpeCBwbGFjZXMgd2hlcmUgdW5jb21wcmVzc2VkIHNpemUgb2Ygc3N0YWJsZXMgd2FzIHVzZSBpbiBwbGFjZSBvZiB0aGUKICAgY29tcHJlc3NlZCBvbmUgKENBU1NBTkRSQbXR0IQAAAFP3jyyXAAQbCByYW5nZSBxdWVyaWVzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguqwAAAQBTU0FORFJBLTcxOTgpCiAqIEZpeCB0aGUgSW52ZXJ0ZWRJbmRleCB0cmlnZ2VyIGV4YW1wbGUgKENBU1NBTkRSQS03MjExKQogKiBBZGQgLS1yZXNvbHZlLWlwIG9wdGlvbiB0byAnbm9kZXRvb2wgcmluZycgKENBU1NBTkRSQS03MjEwKQogKiByZWR1Y2UgZ2FyYmFnZSBvbiBjb2RlYyBmbGFnIGRlc2VyaWFsaXphdGlvbiAoQ0FTU0FORFJBLTcyNDQpIAogKiBGaXggZHVwbGljYXRlZCBlcnJvciBtZXNzYWdlcyBvbiBkaXJlY3RvcnkgY3JlYXRpb24gfF8ZlwAAAU/ePLJcABAqIEZpeCBwb3RlbnRpYWwgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6rAAABAG8gbm9kZXRvb2wgY29tcGFjdGlvbnN0YXRzIChDQVNTQU5EUkEtNDE2NykKICogKGNxbCkgZml4IE5QRSBpbiBjcWwzIEFMVEVSIFRBQkxFIChDQVNTQU5EUkEtNDE2MykKICogKGNxbCkgQWRkIHN1cHBvcnQgZm9yIENMLlRXTyBhbmQgQ0wuVEhSRUUgaW4gQ1FMIChDQVNTQU5EUkEtNDE1NikKICogKGNxbCkgRml4IHR5cGUgaW4gQ1FMMyBBTFRFUiBUQUJMRSBwcmV2ZW50aW5nIHVwZGF0ZSAoQ0FTU0FORFJBLTQxNzApCiAqIChjcWwpIFRocm93IGmFmbDrAAABT948slwAEHZlIHByb3RvY29sIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqsAAAEAICAgZm9yIHNvbWUgQ1FMIHN5bnRheCBlcnJvcnMgKENBU1NBTkRSQS04NDU1KQogKiBTY2FsZSBtZW10YWJsZSBzbGFiIGFsbG9jYXRpb24gbG9nYXJpdGhtaWNhbGx5IChDQVNTQU5EUkEtNzg4MikKICogY2Fzc2FuZHJhLXN0cmVzcyBzaW11bHRhbmVvdXMgaW5zZXJ0cyBvdmVyIHNhbWUgc2VlZCAoQ0FTU0FORFJBLTc5NjQpCiAqIFJlZHVjZSBjYXNzYW5kcmEtc3RyZXNzIHNhbXBsaW5nIG1lbW9yeSByZXF1aXJlbWVudHMgKENBU1NBTkRSQS03OYxRnHwAAAFP3jyyXAAQdHlsZSBtYXByZWQgYXBpIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguqwAAAQBuRXJyb3Igd2hlbgogICBkcm9wcGluZyBub24tZXhpc3RlbnQgaW5kZXggd2l0aCBJRiBFWElTVFMgKENBU1NBTkRSQS03NTkwKQogKiBGaXggc3N0YWJsZWxldmVscmVzZXR0ZXIgaGFuZyAoQ0FTU0FORFJBLTc2MTQpCiAqIChjcWxzaCkgRml4IGRlc2VyaWFsaXphdGlvbiBvZiBibG9icyAoQ0FTU0FORFJBLTc2MDMpCiAqIFVzZSAia2V5c3BhY2UgdXBkYXRlZCIgc2NoZW1hIGNoYW5nZSBtZXNzYWdlIGZvciBVRFQgY2hhbmdlcyBpbiB2MSBhbmQKHTiJWwAAAU/ePLJcABAgKENBU1NBTkRSQS0zOTIpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6rAAABAE0KICogY2xpIHRydW5jYXRlIHN1cHBvcnQgKENBU1NBTkRSQS0xNjUzKQogKiB1cGRhdGUgR0Mgc2V0dGluZ3MgaW4gY2Fzc2FuZHJhLmJhdCAoQ0FTU0FORFJBLTE2MzYpCiAqIGF2b2lkIGxvZ2dpbmcgd2hlbiBhIG5vZGUncyBpcC90b2tlbiBpcyBnb3NzaXBwZWQgYmFjayB0byBpdCAoQ0FTU0FORFJBLTE2NjYpCgoKMC43LWJldGEyCiAqIGFsd2F5cyB1c2UgVVRGLTggZm9yIGhpbnQga2V5cyAoQ0FTU0FORFJBLTE0MzkpCiAqIHJlbW92ZSBjYXOZWEUOAAABT948slwAEGV4cGlyaW5nIG1hcCB0aW0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqsAAAEAYSBzaW5nbGUgcm93IGR1cmluZyBoaW50ZWQgaGFuZG9mZiAoQ0FTU0FORFJBLTEzMjcpCiAqIHB1c2ggRGF0YWNlbnRlclNoYXJkU3RyYXRlZ3kgY29uZmlndXJhdGlvbiBpbnRvIGtleXNwYWNlIGRlZmluaXRpb24sCiAgIGVsaW1pbmF0aW5nIGRhdGFjZW50ZXIucHJvcGVydGllcy4gKENBU1NBTkRSQS0xMDY2KQogKiBvcHRpbWl6ZSBmb3J3YXJkIHNsaWNlcyBzdGFydGluZyB3aXRoICcnIGFuZCBzaW5nbGUtaW5kZXgtYmxvY2sgbmFtZSAKICAgcZjFCGsAAAFP3jyyXAAQIGlzIG9ubHkgc3VwcG9ydAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguqwAAAQAgdGhlIHN5c3RlbSB0YWJsZSB0byBhbiBzc3RhYmxlIGNvbXBvbmVudAogICAoQ0FTU0FORFJBLTE0MzApCiAqIHJlbW92ZSBmYWlsZWQgYm9vdHN0cmFwIGF0dGVtcHQgZnJvbSBwZW5kaW5nIHJhbmdlcyB3aGVuIGdvc3NpcCB0aW1lcwogICBpdCBvdXQgYWZ0ZXIgMWggKENBU1NBTkRSQS0xNDYzKQogKiBlYWdlci1jcmVhdGUgdGNwIGNvbm5lY3Rpb25zIHRvIG90aGVyIGNsdXN0ZXIgbWVtYmVycyAoQ0FTU0FORFJBLTE0NjUpCiAqIGVudW1lcmF0J4jAGwAAAU/ePLJcABBndXJhdGlvbiBlcnJvciBtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6rAAABAGxlIENGcyBkdXJpbmcgYm9vdHN0cmFwIChDQVNTQU5EUkEtMTk5MikKICogZXhwbGljaXRseSBzZXQgSlZNIEdDIG5ldyBnZW5lcmF0aW9uIHNpemUgd2l0aCAtWG1uIChDQVNTQU5EUkEtMTk2OCkKICogYWRkIHNob3J0IG9wdGlvbnMgZm9yIENMSSBmbGFncyAoQ0FTU0FORFJBLTE1NjUpCiAqIG1ha2Uga2V5c3BhY2UgYXJndW1lbnQgdG8gImRlc2NyaWJlIGtleXNwYWNlIiBpbiBDTEkgb3B0aW9uYWwKICAgd2hlbiBhdXRoZW50aWNhdGVkIHRvIGuM2sqdAAABT948slwAECBmaXggcG90ZW50aWFsIGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqsAAAEAICAgKENBU1NBTkRSQS0xMDYwKQogKiBkaXNhYmxlIEdDSW5zcGVjdG9yIG9uIG5vbi1TdW4gSlZNcyAoQ0FTU0FORFJBLTEwNjEpCiAqIGZpeCB0b21ic3RvbmUgaGFuZGxpbmcgaW4gc3N0YWJsZSByb3dzIHdpdGggbm8gb3RoZXIgZGF0YSAoQ0FTU0FORFJBLTEwNjMpCiAqIGZpeCBzaXplIG9mIHJvdyBpbiBzcGFubmVkIGluZGV4IGVudHJpZXMgKENBU1NBTkRSQS0xMDU2KQogKiBpbnN0YWxsIGpzb24yc3N0YWJsZSwgc3N0YWJsZTJqc29uLCBhbvGJY9kAAAFP3jyyXAAQCiAqIEhhbmRsZSBDUUwzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguqwAAAQBBLTg1MzcpCiAqIEZpeCBjYXNlLXNlbnNpdGl2aXR5IG9mIGluZGV4IG5hbWUgb24gQ1JFQVRFIGFuZCBEUk9QIElOREVYCiAgIHN0YXRlbWVudHMgKENBU1NBTkRSQS04MzY1KQogKiBCZXR0ZXIgZGV0ZWN0aW9uL2xvZ2dpbmcgZm9yIGNvcnJ1cHRpb24gaW4gY29tcHJlc3NlZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTgxOTIpCiAqIFVzZSB0aGUgY29ycmVjdCByZXBhaXJlZEF0IHZhbHVlIHdoZW4gY2xvc2luZyB3cml0ZXIgKENBU1NBTkRSQS04NTcwixQN4QAAAU/ePLJcABBpbWl6YXRpb24gc2luY2UgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6rAAABAGx1c2ggbW9yYXRvcml1bSBhZnRlciBpbml0aWFsIENMIHJlcGxheSAoQ0FTU0FORFJBLTQ0NzQpCiAqIEFkZHMgbnRwIGFzIHJlY29tbWVuZGVkIGluIGRlYmlhbiBwYWNrYWdpbmcgKENBU1NBTkRSQS00NjA2KQogKiBDb25maWd1cmFibGUgdHJhbnNwb3J0IGluIENGIFJlY29yZHtSZWFkZXJ8V3JpdGVyfSAoQ0FTU0FORFJBLTQ1NTgpCiAqIChjcWwzKSBmaXggcG90ZW50aWFsIE5QRSB3aXRoIGJvdGggZXF1YWwgYW5kIHVuZXF1YWwgcmVzdHJpY3TG5qliAAABT948slwAEGcgaW4gcmVwYWlyIGFuZCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILqsAAAEAOTIpCiAqIEZpeCBza2lwcGluZyByYW5nZSB0b21ic3RvbmVzIHdpdGggcmV2ZXJzZSBxdWVyaWVzIChDQVNTQU5EUkEtNTcxMikKICogRXhwaXJlIGVudHJpZXMgb3V0IG9mIFRocmlmdFNlc3Npb25NYW5hZ2VyIChDQVNTQU5SREEtNTcxOSkKICogRG9uJ3Qga2VlcCBhbmNlc3RvciBpbmZvcm1hdGlvbiBpbiBtZW1vcnkgKENBU1NBTkRSQS01MzQyKQogKiBjcWxzaDogZml4IGhhbmRsaW5nIG9mIHNlbWljb2xvbnMgaW5zaWRlIEJBVENIIHF1ZXJpZWlcevQAAAFP3jyyXAAQZWd5IChDQVNTQU5EUkEtMQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguqwAAAQBuZCBJbmZpbml0eSBhcyBmbG9hdCBsaXRlcmFscyAoQ0FTU0FORFJBLTYwMDMpCiAqIFJlbW92ZSBSRiBmcm9tIG5vZGV0b29sIHJpbmcgb3V0cHV0IChDQVNTQU5EUkEtNjI4OSkKICogRml4IGF0dGVtcHRpbmcgdG8gZmx1c2ggZW1wdHkgcm93cyAoQ0FTU0FORFJBLTYzNzQpCiAqIEZpeCBwb3RlbnRpYWwgb3V0IG9mIGJvdW5kcyBleGNlcHRpb24gd2hlbiBwYWdpbmcgKENBU1NBTkRSQS02MzMzKQpNZXJnZWQgZnJvbSAxLjI6CiAqIE9wdGltaXpl2HS60gAYd2GZLnHRAAABT948slwAEHIgY291bnRlcnMgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILq0AAAEAcCBrcy90YWJsZS9pbmRleCBzdGF0ZW1lbnRzIGluIENRTDMgKENBU1NBTkRSQS0yNzM3KQogKiBtb3JlIHByZS10YWJsZSBjcmVhdGlvbiBwcm9wZXJ0eSB2YWxpZGF0aW9uIChDQVNTQU5EUkEtNTY5MykKICogUmVkZXNpZ24gcmVwYWlyIG1lc3NhZ2VzIChDQVNTQU5EUkEtNTQyNikKICogRml4IEFMVEVSIFJFTkFNRSBwb3N0LTUxMjUgKENBU1NBTkRSQS01NzAyKQogKiBEaXNhbGxvdyByZW5hbWluZyBhIDJuZGFyeSBpbmRleGVkIGNvbHVtbiAoQyF2WwQAAAFP3jyyXAAQZGVyIHRvIHN1cHBvcnQgbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgurQAAAQBlIGxvb3AgaW4gQnl0ZUJ1ZmZlclV0aWwuaW5wdXRTdHJlYW0gKENBU1NBTkRSQS0yMzY1KQogKiBmaXggZW5jb2RpbmcgYnVncyBpbiBIaW50ZWRIYW5kb2ZmTWFuYWdlciwgU3lzdGVtVGFibGUgd2hlbiBkZWZhdWx0CiAgIGNoYXJzZXQgaXMgbm90IFVURjggKENBU1NBTkRSQS0yMzY3KQogKiBhdm9pZHMgaGF2aW5nIHJlbW92ZWQgbm9kZSByZWFwcGVhcmluZyBpbiBHb3NzaXAgKENBU1NBTkRSQS0yMzcxKQogKiBmaXggaW5jb3JyZWN0IHRydW5jvzhxzQAAAU/ePLJcABBpbmFyeSBwcm90b2NvbCB2AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6tAAABACB1cGRhdGVkIChDQVNTQU5EUkEtNDE5MCkKICogZml4IG1heFRpbWVzdGFtcCB0byBpbmNsdWRlIHJvdyB0b21ic3RvbmVzIChDQVNTQU5EUkEtNDExNikKICogKENMSSkgcHJvcGVybHkgaGFuZGxlIHF1b3RlcyBpbiBjcmVhdGUvdXBkYXRlIGtleXNwYWNlIGNvbW1hbmRzIChDQVNTQU5EUkEtNDEyOSkKICogQXZvaWRzIHBvc3NpYmxlIGRlYWRsb2NrIGR1cmluZyBib290c3RyYXAgKENBU1NBTkRSQS00MTU5KQogKiBmaXggc3RyZXNzIHRvb2wgdGhhwJhHAAABT948slwAECAoQ0FTU0FORFJBLTU2MDIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILq0AAAEAdCAoQ0FTU0FORFJBLTU4MzApCiAqIGZpeCBIc0hhIHRvIHJlc3BlY3QgbWF4IGZyYW1lIHNpemUgKENBU1NBTkRSQS00NTczKQogKiBGaXggKHNvbWUpIDJpIG9uIGNvbXBvc2l0ZSBjb21wb25lbnRzIG9taXNzaW9ucyAoQ0FTU0FORFJBLTU4NTEpCiAqIGNxbHNoOiBhZGQgREVTQ1JJQkUgRlVMTCBTQ0hFTUEgdmFyaWFudCAoQ0FTU0FORFJBLTU4ODApCk1lcmdlZCBmcm9tIDEuMjoKICogQ29ycmVjdGx5IHZhbGlkYXRlIHNwYXJzZSBjb21wb3NpdI5xpPkAAAFP3jyyXAAQZXB0aW9uIFRocm93YWJsZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgurQAAAQBTU0FORFJBLTI2NjgpCiAqIEltcHJvdmUgZm9yY2VEZXNlcmlhbGl6ZS9nZXRDb21wYWN0ZWRSb3cgZW5jYXBzdWxhdGlvbiAoQ0FTU0FORFJBLTI2NTkpCiAqIERvbid0IHdyaXRlIENvdW50ZXJVcGRhdGVDb2x1bW4gdG8gZGlzayBpbiB0ZXN0cyAoQ0FTU0FORFJBLTI2NTApCiAqIEFkZCBzc3RhYmxlIGJ1bGsgbG9hZGluZyB1dGlsaXR5IChDQVNTQU5EUkEtMTI3OCkKICogYXZvaWQgcmVwbGF5aW5nIGhpbnRzIHRvIGRyb3BwZWQgY29sdW1uZmFtdUqfaAAAAU/ePLJcABBhbmdlIHRvbWJzdG9uZSBmAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6tAAABAFNBTkRSQS0yMjMzKQogKiBhZGQgb2ZmLWhlYXAgcm93IGNhY2hlIHN1cHBvcnQgKENBU1NBTkRSQS0xOTY5KQoKCjAuNy41CiAqIGltcHJvdmVtZW50cy9maXhlcyB0byBQSUcgZHJpdmVyIChDQVNTQU5EUkEtMTYxOCwgQ0FTU0FORFJBLTIzODcsCiAgIENBU1NBTkRSQS0yNDY1LCBDQVNTQU5EUkEtMjQ4NCkKICogdmFsaWRhdGUgaW5kZXggbmFtZXMgKENBU1NBTkRSQS0xNzYxKQogKiByZWR1Y2UgY29udGVudGlvbiBvbiBUYWJsZS5mbHVzaGVyTG/EOV8AAAABT948slwAEAogKiBmaXggRkQgbGVhayAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILq0AAAEAd2VpZ2h0IHRyYW5zYWN0aW9ucyAoQ0FTU0FORFJBLTY4MzkpCiAqIEFkZCBJRiBbTk9UXSBFWElTVFMgdG8gY3JlYXRlL2Ryb3AgdHJpZ2dlcnMgKENBU1NBTkRSQS03NjA2KQogKiAoY3Fsc2gpIERpc3BsYXkgdGhlIGN1cnJlbnQgbG9nZ2VkLWluIHVzZXIgKENBU1NBTkRSQS03Nzg1KQogKiAoY3Fsc2gpIERvbid0IGlnbm9yZSBDVFJMLUMgZHVyaW5nIENPUFkgRlJPTSBleGVjdXRpb24gKENBU1NBTkRSQS03ODE1KQogKiAoY3Fsc2gpIE9yZGVyIEZk8U8AAAFP3jyyXAAQRFJBLTYxMTcpCiAqIFRyYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgurQAAAQBuaW5nL2xlYXZpbmcgc3RhdHVzIHRvIG5vZGV0b29sIHJpbmcgKENBU1NBTkRSQS0xMTE1KQogKiBhbGxvdyBtdWx0aXBsZSByZXBhaXIgc2Vzc2lvbnMgcGVyIG5vZGUgKENBU1NBTkRSQS0xMTkwKQogKiBvcHRpbWl6ZSBhd2F5IE1lc3NhZ2luZ1NlcnZpY2UgZm9yIGxvY2FsIHJhbmdlIHF1ZXJpZXMgKENBU1NBTkRSQS0xMjYxKQogKiBtYWtlIGZyYW1lZCB0cmFuc3BvcnQgdGhlIGRlZmF1bHQgc28gbWFsZm9ybWVkIHJlcXVlc3RzIGNhbid0IE9PihrvcQAAAU/ePLJcABBhbmdpbmcgb24ganN2YyBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6tAAABAGggc3RhdGVtZW50cyAoQ0FTU0FORFJBLTY3MzcpCiAqIERpc2FsbG93IHBvc3QtcXVlcnkgcmUtb3JkZXJpbmcgd2hlbiBwYWdpbmcgKENBU1NBTkRSQS02NzIyKQogKiBGaXggcG90ZW50aWFsIHBhZ2luZyBidWcgd2l0aCBkZWxldGVkIGNvbHVtbnMgKENBU1NBTkRSQS02NzQ4KQogKiBGaXggTlBFIG9uIEJ1bGtMb2FkZXIgY2F1c2VkIGJ5IGxvc2luZyBTdHJlYW1FdmVudCAoQ0FTU0FORFJBLTY2MzYpCiAqIEZpeCB0cnVuY2F0aW5nIGNvbXByZXPjtcZRAAABT948slwAEG1vZGF0ZSBXaW5kb3dzIFgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILq0AAAEAIChDQVNTQU5EUkEtNzExMSkKICogTWFrZSByZXBhaXIgLXByIHdvcmsgd2l0aCAtbG9jYWwgKENBU1NBTkRSQS03NDUwKQogKiBGaXggZXJyb3IgaW4gc3N0YWJsZWxvYWRlciB3aXRoIC1jcGggPiAxIChDQVNTQU5EUkEtODAwNykKICogRml4IHNuYXBzaG90IHJlcGFpciBlcnJvciBvbiBpbmRleGVkIHRhYmxlcyAoQ0FTU0FORFJBLTgwMjApCiAqIERvIG5vdCBleGl0IG5vZGV0b29sIHJlcGFpciB3aGVuIHJlY2VpdmluZyBKTVggTk9USUZfTE9TVP5mapcAAAFP3jyyXAAQbnRlclNoYXJkU3RyYXRlZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgurQAAAQA3MTQpCiAqIGZpeCBjb3B5IGJvdW5kcyBmb3Igd29yZCBUZXh0IGluIHdvcmRjb3VudCBkZW1vIChDQVNTQU5EUkEtMTk5MykKICogZml4ZXMgZm9yIGNvbnRyaWIvamF2YXV0aWxzIChDQVNTQU5EUkEtMTk3OSkKICogY2hlY2sgbW9yZSBmcmVxdWVudGx5IGZvciBtZW10YWJsZSBleHBpcmF0aW9uIChDQVNTQU5EUkEtMjAwMCkKICogZml4IHdyaXRpbmcgU1NUYWJsZSBjb2x1bW4gY291bnQgc3RhdGlzdGljcyAoQ0FTU0FORFJBLTE5NzYpCiAqIGZpvYTbugAAAU/ePLJcABAoQ0FTU0FORFJBLTgzMDEpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6tAAABAGN0bHkgZGVsZXRlIHNjaGVkdWxlZCByYW5nZSB4ZmVycyAoQ0FTU0FORFJBLTcxNDMpCiAqIHJldHVybiBhbGwgY3B1IHZhbHVlcyBmcm9tIEJhY2tncm91bmRBY3Rpdml0eU1vbml0b3IucmVhZEFuZENvbXB1dGUgKENBU1NBTkRSQS03MTgzKSAgCiAqIHJlZHVjZSBnYXJiYWdlIGNyZWF0aW9uIGluIGNhbGN1bGF0ZVBlbmRpbmdSYW5nZXMgKENBU1NBTkRSQS03MTkxKQogKiBmaXggYyogbGF1bmNoIGlzc3VlcyBvbiBSdXNzaWFuIG9zJ3MgZHVlIHTIlhsuAAABT948slwAEHAgKENBU1NBTkRSQS03NzgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILq0AAAEAcmVtb3ZlIGluYWN0aXZlIHN0cmVhbSBtYW5hZ2VycyBhZnRlciBBRVMgc3RyZWFtcyBmaWxlcyAoQ0FTU0FORFJBLTExNjkpCiAqIGFsbG93IHJlbW92aW5nIGVudGlyZSByb3cgdGhyb3VnaCBiYXRjaF9tdXRhdGUgRGVsZXRpb24gKENBU1NBTkRSQS0xMDI3KQogKiBhZGQgSk1YIG1ldHJpY3MgZm9yIHJvdy1sZXZlbCBibG9vbSBmaWx0ZXIgZmFsc2UgcG9zaXRpdmVzIChDQVNTQU5EUkEtMTIxMikKICogYWRkZWQgYSByZWRoYXQgaW5pdCBzY3JpcCMPmN8AAAFP3jyyXAAQIHRvIGRyb3AgbG9jYWwgcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgurQAAAQAgIHByb3ZpZGUgbGF0ZW5jeSBpbmZvcm1hdGlvbiB0byBkeW5hbWljIHNuaXRjaCAoQ0FTU0FORFJBLTE4NzMpCgoKMC43LjAtcmMyCiAqIGZpeCBsaXZlLWNvbHVtbi1jb3VudCBvZiBzbGljZSByYW5nZXMgaW5jbHVkaW5nIHRvbWJzdG9uZWQgc3VwZXJjb2x1bW4gCiAgIHdpdGggbGl2ZSBzdWJjb2x1bW4gKENBU1NBTkRSQS0xNTkxKQogKiByZW5hbWUgby5hLmMuaW50ZXJuYWwuQW50aWVudHJvcHlTdGFnZSAtPiBBbnRpRW50cm9weVN0YWdlLAogwNoE2QAAAU/ePLJcABBoZWFwIGNhY2hlIGRvZXNuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6tAAABAHMgKENBU1NBTkRSQS04NDU4KQogKiBEaXNhYmxlIG1tYXAgb24gV2luZG93cyAoQ0FTU0FORFJBLTY5OTMpCiAqIEFkZCBtaXNzaW5nIENvbnNpc3RlbmN5TGV2ZWxzIHRvIGNhc3NhbmRyYS1zdHJlc3MgKENBU1NBTkRSQS04MjUzKQogKiBBZGQgYXV0aCBzdXBwb3J0IHRvIGNhc3NhbmRyYS1zdHJlc3MgKENBU1NBTkRSQS03OTg1KQogKiBGaXggQXJyYXlJbmRleE91dE9mQm91bmRzRXhjZXB0aW9uIHdoZW4gZ2VuZXJhdGluZyBlcnJvciBtZXNzYWeNTibKABiLvopYM1MAAAFP3jyyXAAQLWhlYXAgbWVtb3J5IHVzYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgurwAAAQBrIGNvbHVtbiBmYW1pbHkgdmFsaWRpdHkgaW4gbm9kZXRvb2wgcmVwYWlyIChDQVNTQU5EUkEtMjkzMykKICogdXNlIGxhenkgaW5pdGlhbGl6YXRpb24gaW5zdGVhZCBvZiBjbGFzcyBpbml0aWFsaXphdGlvbiBpbiBOb2RlSWQKICAgKENBU1NBTkRSQS0yOTUzKQogKiBhZGQgcGFnaW5nIHRvIGdldF9jb3VudCAoQ0FTU0FORFJBLTI4OTQpCiAqIGZpeCAic2hvcnQgcmVhZHMiIGluIFttdWx0aV1nZXQgKENBU1NBTkRSQS0yNjQzLCAzMTU3LCAzMTky8Nd5rgAAAU/ePLJcABBlIGNvbm5lY3Rpb25zIHdpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6vAAABADkpCiAqIEFkZCBzdXBwb3J0IGZvciBjdXN0b20gMmkgdmFsaWRhdGlvbiAoQ0FTU0FORFJBLTc1NzUpCiAqIFBpZyBzdXBwb3J0IGZvciBoYWRvb3AgQ3FsSW5wdXRGb3JtYXQgKENBU1NBTkRSQS02NDU0KQogKiBBZGQgbGlzdGVuX2ludGVyZmFjZSBhbmQgcnBjX2ludGVyZmFjZSBvcHRpb25zIChDQVNTQU5EUkEtNzQxNykKICogSW1wcm92ZSBzY2hlbWEgbWVyZ2UgcGVyZm9ybWFuY2UgKENBU1NBTkRSQS03NDQ0KQogKiBBZGp1c3QgTVQgZGVwdGgHV2sVAAABT948slwAEGNzIChDQVNTQU5EUkEtNTYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILq8AAAEAY2YgbmFtZXMgaW4gc2NoZW1hIG91dHB1dCB3aGVuIG5lZWRlZCAoQ0FTU0FORFJBLTUwNTIpCiAqIEZpeCBiYWQgZGVmYXVsdCBmb3IgbWluL21heCB0aW1lc3RhbXAgaW4gU1NUYWJsZU1ldGFkYXRhIChDQVNTQU5EUkEtNTM3MikKICogRml4IGNmIG5hbWUgZXh0cmFjdGlvbiBmcm9tIG1hbmlmZXN0IGluIERpcmVjdG9yaWVzLm1pZ3JhdGVGaWxlKCkgCiAgIChDQVNTQU5EUkEtNTI0MikKICogU3VwcG9ydCBwbHVnZ2FibGUgaW50ZXJub2RlIGF1dD197OcAAAFP3jyyXAAQIHRvIHNjaGVtYS1zYW1wbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgurwAAAQBhbnMuICd0eXBlJyB3aWxsIG5vdyBpbmNsdWRlIGVpdGhlciAKICAgJ0luZGV4Q29sdW1uRmFtaWxpZXMnIG9yICdDb2x1bW5GYW1pbGllcycgZGVwZW5kaW5nIG9uIHRoZSBDRlMgdHlwZS4KICAgKENBU1NBTkRSQS0xMzg1KQogKiBkaXNhbGxvdyBpbnZhbGlkIGtleXNwYWNlIGFuZCBjb2x1bW4gZmFtaWx5IG5hbWVzLiBUaGlzIGluY2x1ZGVzIG5hbWUgdGhhdAogICBtYXRjaGVzIGEgJ15cdysnIHJlZ2V4LiAoQ0FTU0FORFJBLTEzNzcpCiAqIHVzMjsWaAAAAU/ePLJcABB0aW5nIChkaXNhYmxlZCBiAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6vAAABAHIgKENBU1NBTkRSQS03NzEyKQogKiBJbXByb3ZlIGNvbXBhY3Rpb24gZXN0aW1hdGVkIHRhc2tzIGVzdGltYXRpb24gKENBU1NBTkRSQS04OTA0KQogKiBGaXggZHVwbGljYXRlIHVwL2Rvd24gbWVzc2FnZXMgc2VudCB0byBuYXRpdmUgY2xpZW50cyAoQ0FTU0FORFJBLTc4MTYpCiAqIEV4cG9zZSBjb21taXQgbG9nIGFyY2hpdmUgc3RhdHVzIHZpYSBKTVggKENBU1NBTkRSQS04NzM0KQogKiBQcm92aWRlIGJldHRlciBleGNlcHRpb25zIGZvciBpbnbyNYMkAAABT948slwAEDYyMykKICogQWNjb3VudCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILq8AAAEAb21ic3RvbmVzIGNvcnJlY3RseSBpbiBFY2hvZWRSb3cgKENBU1NBTkRSQS0yNzg2KQogKiBhZGQgTWVzc2FnaW5nU2VydmljZS5nZXRbUmVjZW50bHldRHJvcHBlZE1lc3NhZ2VzIGFuZAogICBTdG9yYWdlU2VydmljZS5nZXRFeGNlcHRpb25Db3VudCAoQ0FTU0FORFJBLTI4MDQpCiAqIGZpeCBwb3NzaWJpbGl0eSBvZiBzcHVyaW91cyBVbmF2YWlsYWJsZUV4Y2VwdGlvbiBmb3IgTE9DQUxfUVVPUlVNCiAgIHJlYWRzIHdpdGggZHluYW1pYyBzbml0Y0wWyqMAAAFP3jyyXAAQdXggJ2ZyZWUnIGNtZCAoQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgurwAAAQBhbmlmZXN0IGluIERpcmVjdG9yaWVzLm1pZ3JhdGVGaWxlKCkgKENBU1NBTkRSQS01MjQyKQogKiBSZXBsYWNlIG1pc3Rha2VuIHVzYWdlIG9mIGNvbW1vbnMtbG9nZ2luZyB3aXRoIHNsZjRqIChDQVNTQU5EUkEtNTQ2NCkKICogRW5zdXJlIEphY2tzb24gZGVwZW5kZW5jeSBtYXRjaGVzIGxpYiAoQ0FTU0FORFJBLTUxMjYpCiAqIEV4cG9zZSBkcm9wcGFibGUgdG9tYnN0b25lIHJhdGlvIHN0YXRzIG92ZXIgSk1YIChDQVNTQU5EUkEtNTE1OSkKTWVyA2SrMAAAAU/ePLJcABAgQ2xpZW50U3RhdGUgKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6vAAABADMpCiAqIGZpeCBzaXplIG9mIHJvdyBpbiBzcGFubmVkIGluZGV4IGVudHJpZXMgKENBU1NBTkRSQS0xMDU2KQogKiBpbnN0YWxsIGpzb24yc3N0YWJsZSwgc3N0YWJsZTJqc29uLCBhbmQgc3N0YWJsZWtleXMgdG8gRGViaWFuIHBhY2thZ2UKICogU3RyZWFtaW5nU2VydmljZS5TdHJlYW1EZXN0aW5hdGlvbnMgd291bGRuJ3QgZW1wdHkgaXRzZWxmIGFmdGVyIHN0cmVhbWluZwogICBmaW5pc2hlZCAoQ0FTU0FORFJBLTEwNzYpCiAqIGFkZGVkIENvbGyT3q9RAAABT948slwAEDI5KQogKiBBbGxvdyBHUEYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILq8AAAEAU1NBTkRSQS03NjE5KQogKiBGaXggbmF0aXZlIHByb3RvY29sIGRyb3AgdXNlciB0eXBlIG5vdGlmaWNhdGlvbiAoQ0FTU0FORFJBLTc1NzEpCiAqIEdpdmUgcmVhZCBhY2Nlc3MgdG8gc3lzdGVtLnNjaGVtYV91c2VydHlwZXMgdG8gYWxsIGF1dGhlbnRpY2F0ZWQgdXNlcnMKICAgKENBU1NBTkRSQS03NTc4KQogKiAoY3Fsc2gpIEZpeCBjcWxzaCBkaXNwbGF5IHdoZW4gemVybyByb3dzIGFyZSByZXR1cm5lZCAoQ0FTU0FORFJBLTc1ODApCiAqIEdldHr7IBcAAAFP3jyyXAAQKQogKiBNZXJnZSBncm91cAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgurwAAAQAgKiBWYWxpZGF0ZSBhcmd1bWVudHMgZm9yIG5vZGV0b29sIGRlY29tbWlzc2lvbiAoQ0FTU0FORFJBLTQwNjEpCiAqIFJlcG9ydCB0aHJpZnQgc3RhdHVzIGluIG5vZGV0b29sIGluZm8gKENBU1NBTkRSQS00MDEwKQoKCjEuMS4wLWZpbmFsCiAqIGF2ZXJhZ2UgYSByZWR1Y2VkIGxpdmVSYXRpbyBlc3RpbWF0ZSB3aXRoIHRoZSBwcmV2aW91cyBvbmUgKENBU1NBTkRSQS00MDY1KQogKiBBbGxvdyBLUyBhbmQgQ0YgbmFtZXMgdXAgdG8gNDggY2hhcmFju+TYLQAAAU/ePLJcABBGaXggc2NydWJiaW5nIG9mAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6vAAABAHJnZSByb3dzIGJlaW5nIGNvbXBhY3RlZAoKCjAuOC40CiAqIGNoYW5nZSBUb2tlblJpbmcuZW5kcG9pbnRzIHRvIGJlIGEgbGlzdCBvZiBycGMgYWRkcmVzc2VzIGluc3RlYWQgb2YgCiAgIGxpc3Rlbi9icm9hZGNhc3QgYWRkcmVzc2VzIChDQVNTQU5EUkEtMTc3NykKICogaW5jbHVkZSBmaWxlcy10by1iZS1zdHJlYW1lZCBpbiBTdHJlYW1JblNlc3Npb24uZ2V0U291cmNlcyAoQ0FTU0FORFJBLTI5NzIpCiAqIHVzZSBKQVZBIGVudiB2YXIgaW4gY2HVa/gDAAABT948slwAEENBU1NBTkRSQS04MTE2KQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILq8AAAEAIChDQVNTQU5EUkEtNjIxKQogKiBTcGVlZCB1cCBhbnRpLWVudHJvcHkgdmFsaWRhdGlvbiAoQ0FTU0FORFJBLTYyOSkKICogRml4IGFudGktZW50cm9weSBhc3NlcnRpb24gZXJyb3IgKENBU1NBTkRSQS02MzkpCiAqIEZpeCBwZW5kaW5nIHJhbmdlIGNvbmZsaWN0cyB3aGVuIGJvb3RzdGFwcGluZyBvciBtb3ZpbmcKICAgbXVsdGlwbGUgbm9kZXMgYXQgb25jZSAoQ0FTU0FORFJBLTYwMykKICogSGFuZGxlIG9ic29sZXRlIGdvc3NpcCByZWxhdGVkINJDKRsAAAFP3jyyXAAQaW9uIHRvIG5vZGV0b29sIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgurwAAAQB4IGJ1ZyB3aXRoIGNvdW50ZXJzIGluIHN1cGVyIGNvbHVtbnMgKENBU1NBTkRSQS0zODIxKQogKiBSZW1vdmUgZGVwcmVjYXRlZCBtZXJnZV9zaGFyZF9jaGFuY2UgKENBU1NBTkRSQS0zOTQwKQogKiBhZGQgYSBjb252ZW5pZW50IHdheSB0byByZXNldCBhIG5vZGUncyBzY2hlbWEgKENBU1NBTkRSQS0yOTYzKQogKiBmaXggZm9yIGludGVybWl0dGVudCBTY2hlbWFEaXNhZ3JlZW1lbnRFeGNlcHRpb24gKENBU1NBTkRSQS0zODg0KQogKiBDTEkgYGxpjdJWuwAAAU/ePLJcABBtb3ZlIFJGIGZyb20gbm9kAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6vAAABAGVhbiBnZXRTaXplIChDQVNTQU5EUkEtMjc4MSkKICogQWRkIERhdGUsIEZsb2F0LCBEb3VibGUsIGFuZCBCb29sZWFuIHR5cGVzIChDQVNTQU5EUkEtMjUzMCkKICogQWRkIHN0YXJ0dXAgZmxhZyB0byByZW5ldyBjb3VudGVyIG5vZGUgaWQgKENBU1NBTkRSQS0yNzg4KQogKiBhZGQgamFtbSBhZ2VudCB0byBjYXNzYW5kcmEuYmF0IChDQVNTQU5EUkEtMjc4NykKICogZml4IHJlcGFpciBoYW5naW5nIGlmIGEgbmVpZ2hib3IgaGFzIG5vdGhpbmcgdG8ZfHVvAAABT948slwAEHlwdGlvbl9vcHRpb25zIGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILq8AAAEAZGlzY29ubmVjdHMKICAgYXQgREVCVUcgb3IgSU5GTyAoQ0FTU0FORFJBLTc4NDkpCiAqIEFsbG93IHBlcm1pc3Npb25zIGNhY2hlIHRvIGJlIHNldCB2aWEgSk1YIChDQVNTQU5EUkEtNzY5OCkKICogSW5jbHVkZSBzY2hlbWFfdHJpZ2dlcnMgQ0YgaW4gcmVhZGFibGUgc3lzdGVtIHJlc291cmNlcyAoQ0FTU0FORFJBLTc5NjcpCiAqIEZpeCBSb3dJbmRleEVudHJ5IHRvIHJlcG9ydCBjb3JyZWN0IHNlcmlhbGl6ZWRTaXplIChDQVNTQU5EUkEtNzk0OArdUgcAGKAbJD1SpwAAAU/ePLJcABBhdXRvY29tcGxldGlvbiBmAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6xAAABAGV2ZW4gZGlzdHJpYnV0aW9uIGZvciBtZXJrbGUgdHJlZSB3aXRoIFJhbmRvbVBhcnRpdGlvbm5lcgogICAoQ0FTU0FORFJBLTI4NDEpCiAqIGZpeCBkZXNjcmliZU93bmVyc2hpcCBmb3IgT1BQIChDQVNTQU5EUkEtMjgwMCkKICogZW5zdXJlIHRoYXQgc3RyaW5nIHRva2VucyBkbyBub3QgY29udGFpbiBjb21tYXMgKENBU1NBTkRSQS0yNzYyKQoKCjAuOC4wLWZpbmFsCiAqIGZpeCBDUUwgZ3JhbW1hciB3YXJuaW5nIGFuZCBjcWxzaCByZWdyZXNzaW8gaTCyAAABT948slwAECAqIGZpeCBwb3RlbnRpYWwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrEAAAEAMzU1NywgMzYxNSkKICogdXBkYXRlIHNpemUtdGllcmVkIGNvbXBhY3Rpb24gdG8gcHJpb3JpdGl6ZSBzbWFsbCB0aWVycyAoQ0FTU0FORFJBLTI0MDcpCiAqIGFkZCBtZXNzYWdlIGV4cGlyYXRpb24gbG9naWMgdG8gT3V0Ym91bmRUY3BDb25uZWN0aW9uIChDQVNTQU5EUkEtMzAwNSkKICogb2ZmLWhlYXAgY2FjaGUgdG8gdXNlIHN1bi5taXNjLlVuc2FmZSBpbnN0ZWFkIG9mIEpOQSAoQ0FTU0FORFJBLTMyNzEpCiAqIEVBQ0hfUVVPUlVNIGlzIG9ubGEHHWAAAAFP3jyyXAAQMykKICogYWRkIEtleVJhbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgusQAAAQBwcm92ZSBHb3NzaXAgdG9sZXJhbmNlIG9mIGFibm9ybWFsbHkgc2xvdyB0YXNrcyAoQ0FTU0FORFJBLTYzMzgpCiAqIEZpeCB0cnlpbmcgdG8gaGludCB0aW1lZCBvdXQgY291bnRlciB3cml0ZXMgKENBU1NBTkRSQS02MzIyKQogKiBBbGxvdyByZXN0b3Jpbmcgc3BlY2lmaWMgY29sdW1uZmFtaWxpZXMgZnJvbSBhcmNoaXZlZCBDTCAoQ0FTU0FORFJBLTQ4MDkpCiAqIEF2b2lkIGZsdXNoaW5nIGNvbXBhY3Rpb25faGlzdG9yeSBhZnRlciBlYWNoIG9wQ/2PCwAAAU/ePLJcABA3ODQ5KQogKiBBbGxvdyBwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6xAAABAERSQS00Nzk2KQogKiBNb3ZlIGNvbnNpc3RlbmN5IGxldmVsIHRvIHRoZSBwcm90b2NvbCBsZXZlbCAoQ0FTU0FORFJBLTQ3MzQsIDQ4MjQpCiAqIEZpeCBTdWJjb2x1bW4gc2xpY2UgZW5kcyBub3QgcmVzcGVjdGVkIChDQVNTQU5EUkEtNDgyNikKICogRml4IEFzc2VydGlvbiBlcnJvciBpbiBjcWwzIHNlbGVjdCAoQ0FTU0FORFJBLTQ3ODMpCiAqIEZpeCBsaXN0IHByZXBlbmQgbG9naWMgKENRTDMpIChDQVNTQU5EUkEtNDgzNSkKICogQWRkIGJvb2yR2VAsAAABT948slwAEGVyYm9zZSBvcHRpb24gaW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrEAAAEAQU5EUkEtNzEzMSkKICogUHJvdmlkZSB2aXNpYmlsaXR5IGludG8gcHJlcGFyZWQgc3RhdGVtZW50cyBjaHVybiAoQ0FTU0FORFJBLTc5MjEsIENBU1NBTkRSQS03OTMwKQogKiBJbnZhbGlkYXRlIHByZXBhcmVkIHN0YXRlbWVudHMgd2hlbiB0aGVpciBrZXlzcGFjZSBvciB0YWJsZSBpcwogICBkcm9wcGVkIChDQVNTQU5EUkEtNzU2NikKICogY2Fzc2FuZHJhLXN0cmVzczogZml4IHN1cHBvcnQgZm9yIE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5IChDQdvkgccAAAFP3jyyXAAQbCBub2RlIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgusQAAAQBsZSB0aHJvdWdoIEpNWCAoQ0FTU0FORFJBLTMyMjApCiAqIGFkZCBiYWNrIHBhcnRpdGlvbmVyIHRvIHNzdGFibGUgbWV0YWRhdGEgKENBU1NBTkRSQS0zNTQwKQogKiBmaXggTlBFIGluIGdldF9jb3VudCBmb3IgY291bnRlcnMgKENBU1NBTkRSQS0zNjAxKQpNZXJnZWQgZnJvbSAwLjg6CiAqIHJlbW92ZSBpbnZhbGlkIGFzc2VydGlvbiB0aGF0IHRhYmxlIHdhcyBvcGVuZWQgYmVmb3JlIGRyb3BwaW5nIGl0CiAgIChDQVNTQU5EUkEtMzU4MCkKICogCNDP4gAAAU/ePLJcABA1KQogKiBHQ0luc3BlY3RvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6xAAABAGRpbmcgYSBjb25maWd1cmFibGUgbnVtYmVyIG9mIHRvbWJzdG9uZXMgKENBU1NBTkRSQS02MTE3KQogKiBUcmFjayBhbmQgcGVyc2lzdCBzc3RhYmxlIHJlYWQgYWN0aXZpdHkgKENBU1NBTkRSQS01NTE1KQogKiBGaXhlcyBmb3Igc3BlY3VsYXRpdmUgcmV0cnkgKENBU1NBTkRSQS01OTMyLCBDQVNTQU5EUkEtNjE5NCkKICogSW1wcm92ZSBtZW1vcnkgdXNhZ2Ugb2YgbWV0YWRhdGEgbWluL21heCBjb2x1bW4gbmFtZXMgKENBU1NBTkRSQS02MDc3KQpx6OvDAAABT948slwAEG9tYnN0b25lcyAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrEAAAEATkRSQS0zMzI2KQogKiBPbmx5IGNyZWF0ZSBvbmUgQ29tcHJlc3Npb25NZXRhZGF0YSBvYmplY3QgcGVyIHNzdGFibGUgKENBU1NBTkRSQS0zNDI3KQogKiBjbGVhbnVwIHVzYWdlIG9mIFN0b3JhZ2VTZXJ2aWNlLnNldE1vZGUoKSAoQ0FTU0FORFJBLTMzODgpCiAqIEF2b2lkIGxhcmdlIGFycmF5IGFsbG9jYXRpb24gZm9yIGNvbXByZXNzZWQgY2h1bmsgb2Zmc2V0cyAoQ0FTU0FORFJBLTM0MzIpCiAqIGZpeCBEZWNpbWFsVHlwZSBieXRlYnVmZmVyIKTt+XEAAAFP3jyyXAAQQVNTQU5EUkEtNzQ0MCkKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgusQAAAQB3IGluY2x1ZGUgZWl0aGVyIAogICAnSW5kZXhDb2x1bW5GYW1pbGllcycgb3IgJ0NvbHVtbkZhbWlsaWVzJyBkZXBlbmRpbmcgb24gdGhlIENGUyB0eXBlLgogICAoQ0FTU0FORFJBLTEzODUpCiAqIGRpc2FsbG93IGludmFsaWQga2V5c3BhY2UgYW5kIGNvbHVtbiBmYW1pbHkgbmFtZXMuIFRoaXMgaW5jbHVkZXMgbmFtZSB0aGF0CiAgIG1hdGNoZXMgYSAnXlx3KycgcmVnZXguIChDQVNTQU5EUkEtMTM3NykKICogdXNlIEpOQSwgaWYgcHJlc2VudCwgTwAXUgAAAU/ePLJcABBmIENRTCBxdWVyeSBuZWFyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6xAAABAGVkKSBjb29yZGluYXRvciBhZGRyZXNzZXMKICAgdG8gQ29sdW1uRmFtaWx5SW5wdXRGb3JtYXQgKENBU1NBTkRSQS0yODA3KQogKiBmaXggcG90ZW50aWFsIE5QRSB3aGlsZSBzY2hlZHVsaW5nIHJlYWQgcmVwYWlyIGZvciByYW5nZSBzbGljZQogICAoQ0FTU0FORFJBLTI4MjMpCiAqIEZpeCByYWNlIGluIFN5c3RlbVRhYmxlLmdldEN1cnJlbnRMb2NhbE5vZGVJZCAoQ0FTU0FORFJBLTI4MjQpCiAqIENvcnJlY3RseSBzZXQgZGVmYXVsdCBmb3IgcmUUFLM+AAABT948slwAEGV0YWRhdGEgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrEAAAEALTI2MTkpCiAgCgowLjguMC1iZXRhMQogKiByZW1vdmUgQXZybyBSUEMgc3VwcG9ydCAoQ0FTU0FORFJBLTkyNikKICogc3VwcG9ydCBmb3IgY29sdW1ucyB0aGF0IGFjdCBhcyBpbmNyL2RlY3IgY291bnRlcnMgCiAgIChDQVNTQU5EUkEtMTA3MiwgMTkzNywgMTk0NCwgMTkzNiwgMjEwMSwgMjA5MywgMjI4OCwgMjEwNSwgMjM4NCwgMjIzNiwgMjM0MiwKICAgMjQ1NCkKICogQ1FMIChDQVNTQU5EUkEtMTcwMywgMTcwNCwgMTcwNSwgMTcwNiwgMTcwN3/B150AAAFP3jyyXAAQYnN0cmFjdEJvdW5kcy5ubwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgusQAAAQB1cCB3aGVuIHJlcGxhY2luZyBzc3RhYmxlcyAoQ0FTU0FORFJBLTY5MTIpCiAqIEFkZCBmYWlsdXJlIGhhbmRsZXIgdG8gYXN5bmMgY2FsbGJhY2sgKENBU1NBTkRSQS02NzQ3KQogKiBGaXggQUUgd2hlbiBjbG9zaW5nIFNTVGFibGUgd2l0aG91dCByZWxlYXNpbmcgcmVmZXJlbmNlIChDQVNTQU5EUkEtNzAwMCkKICogQ2xlYW4gdXAgSW5kZXhJbmZvIG9uIGtleXNwYWNlL3RhYmxlIGRyb3BzIChDQVNTQU5EUkEtNjkyNCkKICogT25seSBzbmFwc2hvzZKsNAAAAU/ePLJcABBpbiBDRiBSZWNvcmR7UmVhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6xAAABAHJlIGRldGVjdG9yIGRldGVjdHMgYW5kIGlnbm9yZXMgbG9jYWwgcGF1c2VzIChDQVNTQU5EUkEtOTE4MykKICogQWRkIHV0aWxpdHkgY2xhc3MgdG8gc3VwcG9ydCBmb3IgcmF0ZSBsaW1pdGluZyBhIGdpdmVuIGxvZyBzdGF0ZW1lbnQgKENBU1NBTkRSQS05MDI5KQogKiBBZGQgbWlzc2luZyBjb25zaXN0ZW5jeSBsZXZlbHMgdG8gY2Fzc2FuZHJhLXN0ZXNzIChDQVNTQU5EUkEtOTM2MSkKICogRml4IGNvbW1pdGxvZyBnZXRDb21wbGV0ZWRUYXNrcyBPdAeRAAABT948slwAEG50IChDQVNTQU5EUkEtNTAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrEAAAEAKENBU1NBTkRSQS0xMzM3KQogKiBjaGFuZ2UgbG9nZ2luZyBmcm9tIGxvZzRqIHRvIGxvZ2JhY2sgKENBU1NBTkRSQS01ODgzKQogKiBzd2l0Y2ggdG8gTFo0IGNvbXByZXNzaW9uIGZvciBpbnRlcm5vZGUgY29tbXVuaWNhdGlvbiAoQ0FTU0FORFJBLTU4ODcpCiAqIFN0b3AgdXNpbmcgVGhyaWZ0LWdlbmVyYXRlZCBJbmRleCogY2xhc3NlcyBpbnRlcm5hbGx5IChDQVNTQU5EUkEtNTk3MSkKICogUmVtb3ZlIDEuMiBuZXR3b3JrIGNvbXBhdGliaWxpdO6J7JYAAAFP3jyyXAAQbyByZXBhaXIgYSB1c2VyIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgusQAAAQBtbkZhbWlseSBjb3VsZAogICBkaXNhZ3JlZSBvbiB3aGF0IGRhdGEgd2FzIHByZXNlbnQKICogU25hcHNob3Qgc3VwcG9ydCB2aWEgSk1YCiAqIFRocmlmdCBBUEkgaGFzIGNoYW5nZWQgYSBfbG90XzoKICAgIC0gcmVtb3ZlZCB0aW1lLXNvcnRlZCBDRnM7IGluc3RlYWQsIHVzZXItZGVmaW5lZCBjb21wYXJhdG9ycwogICAgICBtYXkgYmUgZGVmaW5lZCBvbiB0aGUgY29sdW1uIG5hbWVzLCB3aGljaCBhcmUgbm93IGJ5dGUgYXJyYXlzLgogICAgICBEDkuSOwAYtHj08fipAAABT948slwAEGdpbmcgdGhyZWFkIHNhZmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrMAAAEAZWQgaW5kZXggc3VtbWFyeSBtZW1vcnkgcG9vbCBhbmQgcmVzYW1wbGUgY29sZCBpbmRleCBzdW1tYXJpZXMgCiAgIHRvIHVzZSBsZXNzIG1lbW9yeSAoQ0FTU0FORFJBLTU1MTkpCiAqIFJlbW92ZWQgbXVsdGl0aHJlYWRlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtNjE0MikKICogUGFyYWxsZWxpemUgZmV0Y2hpbmcgcm93cyBmb3IgbG93LWNhcmRpbmFsaXR5IGluZGV4ZXMgKENBU1NBTkRSQS0xMzM3KQogKiBjaGFuZ2UgbG9nZ2luZyBmcm9tIGxvZy4ZKFEAAAFP3jyyXAAQIChDQVNTQU5EUkEtMjk0MQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguswAAAQBya2VycyB0aGFuIHN1cHBvcnRlZCAKICAgKENBU1NBTkRSQS01NTk4KQogKiBFeHBvc2UgVGhyZWFkIG1ldHJpY3MgZm9yIHRoZSBuYXRpdmUgcHJvdG9jb2wgc2VydmVyIChDQVNTQU5EUkEtNjIzNCkKICogQ2hhbmdlIHNuYXBzaG90IHJlc3BvbnNlIG1lc3NhZ2UgdmVyYiB0byBJTlRFUk5BTCB0byBhdm9pZCBkcm9wcGluZyBpdCAKICAgKENBU1NBTkRSQS02NDE1KQogKiBXYXJuIHdoZW4gY29sbGVjdGlvbiByZWFkIGhhcyA+IDY1SyBlbGVtZW50bCZKlAAAAU/ePLJcABByaW5nIGZyb20gZWFybGllAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6zAAABACB3aGVuIGEgZnVsbCByZXBhaXIgb3BlcmF0aW9uIGNvbXBsZXRlcyAoQ0FTU0FORFJBLTMyMDcpCiAqIERvbid0IGFsbG93IGFueSBjYWNoZSBsb2FkaW5nIGV4Y2VwdGlvbnMgdG8gaGFsdCBzdGFydHVwIChDQVNTQU5EUkEtMzIxOCkKICogRml4IHNzdGFibGVsb2FkZXIgLS1pZ25vcmVzIG9wdGlvbiAoQ0FTU0FORFJBLTMyNDcpCiAqIEZpbGUgZGVzY3JpcHRvciBsaW1pdCBpbmNyZWFzZWQgaW4gcGFja2FnaW5nIChDQVNTQU5EUkEtMzIwNikKICpBSoCIAAABT948slwAECBmcm9tIGludGVybmFscyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrMAAAEALTU1NCkKICogYWRkZWQgc3VwZXIgY29sdW1uIHJlYWQvd3JpdGUsIGNvbHVtbiBjb3VudCwgYW5kIGNvbHVtbi9yb3cgZGVsZXRlIHRvCiAgIGNhc3NhbmRyYS1jbGkgKENBU1NBTkRSQS01NjcsIENBU1NBTkRSQS01OTQpCiAqIGZpeCByZXR1cm5pbmcgbGl2ZSBzdWJjb2x1bW5zIG9mIGRlbGV0ZWQgc3VwZXJjb2x1bW5zIChDQVNTQU5EUkEtNTgzKQogKiByZXNwZWN0IEpBVkFfSE9NRSBpbiBiaW4vIHNjcmlwdHMgKHNldmVyYWwgdGlja2V0cykKID29tUgAAAFP3jyyXAAQZWNrIGluIENDLmNvbGxlYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguswAAAQBTQU5EUkEtOTA4OCkKICogVXNlIHRoZSBwcm9wZXIgQ0FTIFdyaXRlVHlwZSB3aGVuIGZpbmlzaGluZyBhIHByZXZpb3VzIHJvdW5kIGR1cmluZyBQYXhvcwogICBwcmVwYXJhdGlvbiAoQ0FTU0FORFJBLTg2NzIpCiAqIEF2b2lkIHJhY2UgaW4gY2FuY2VsbGluZyBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTkwNzApCiAqIE1vcmUgYWdncmVzc2l2ZSBjaGVjayBmb3IgZXhwaXJlZCBzc3RhYmxlcyBpbiBEVENTIChDQVNTQU5EUkEtODM1OSkKICogRml4HvEn2QAAAU/ePLJcABBub3VnaCBkaXNrIHNwYWNlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6zAAABACBCb3VuZCBpbnRlcnNlY3Rpb24gY29tcHV0YXRpb24gKENBU1NBTkRSQS01NTUxKQogKiBzc3RhYmxlc2NydWIgbm93IHJlc3BlY3RzIG1heCBtZW1vcnkgc2l6ZSBpbiBjYXNzYW5kcmEuaW4uc2ggKENBU1NBTkRSQS01NTYyKQoKCjEuMi40CiAqIEVuc3VyZSB0aGF0IFBlclJvd1NlY29uZGFyeUluZGV4IHVwZGF0ZXMgc2VlIHRoZSBtb3N0IHJlY2VudCB2YWx1ZXMKICAgKENBU1NBTkRSQS01Mzk3KQogKiBhdm9pZCBkdXBsaWNhdGUgaW5kZXggZW6ZVpWpAAABT948slwAEHBhcnRpY2lwYXRlIGluIGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrMAAAEAQVNTQU5EUkEtODA1MSkKICogRml4IGluZGV4IHNlbGVjdGlvbiBkdXJpbmcgcmVidWlsZCB3aXRoIGNlcnRhaW4gdGFibGUgbGF5b3V0cyAoQ0FTU0FORFJBLTkyODEpCiAqIEZpeCBwYXJ0aXRpb24tbGV2ZWwtZGVsZXRlLW9ubHkgd29ya2xvYWQgYWNjb3VudGluZyAoQ0FTU0FORFJBLTkxOTQpCiAqIEFsbG93IHNjcnViIHRvIGhhbmRsZSBjb3JydXB0ZWQgY29tcHJlc3NlZCBjaHVua3MgKENBU1NBTkRSQS05MTQwKQogKiBGaXggYXNzZXJ0aW9uIPusZpAAAAFP3jyyXAAQdG9uZSBjcmVhdGlvbiBmbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguswAAAQByeSBib290c3RyYXAgZmlsZXMgdHdpY2UgKENBU1NBTkRSQS02ODEpCiAqIGZpeCBib2d1cyBOYU4gaW4gbm9kZXByb2JlIGNmc3RhdHMgb3V0cHV0IChDQVNTQU5EUkEtNjQ2KQogKiBwcm92aWRlIGEgcG9saWN5IGZvciBkZWFsaW5nIHdpdGggc2luZ2xlIHRocmVhZCBleGVjdXRvcnMgdy8gYSBmdWxsIHF1ZXVlCiAgIChDQVNTQU5EUkEtNjk0KQogKiBvcHRpbWl6ZSBpbm5lciByZWFkIGluIE1lc3NhZ2luZ1NlcnZpY2UsIHZhc3RseSBpbXByb3ZpH6AQwAAAAU/ePLJcABBhZG9vcCkgc2tpcCBlbXB0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6zAAABAGlkIHVubmVjZXNzYXJ5IHNlY29uZCBwYXNzIG9uIG5hbWUtYmFzZWQgcXVlcmllcyAoQ0FTU0FORFJBLTU1NzcpCiAqIEV4cGVyaW1lbnRhbCB0cmlnZ2VycyAoQ0FTU0FORFJBLTEzMTEpCiAqIEpFTWFsbG9jIHN1cHBvcnQgZm9yIG9mZi1oZWFwIGFsbG9jYXRpb24gKENBU1NBTkRSQS0zOTk3KQogKiBTaW5nbGUtcGFzcyBjb21wYWN0aW9uIChDQVNTQU5EUkEtNDE4MCkKICogUmVtb3ZlZCB0b2tlbiByYW5nZSBiaXNlY3Rpb24gKENBU1NBTkRSQS29pi8+AAABT948slwAEFNBTkRSQS0yOTUwKQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrMAAAEAIHNlbGVjdGVkIGZvciBJTiBxdWVyaWVzIChDQVNTQU5EUkEtNDkxMSkKCgoyLjAuNQogKiBSZWR1Y2UgZ2FyYmFnZSBnZW5lcmF0ZWQgYnkgYmxvb20gZmlsdGVyIGxvb2t1cHMgKENBU1NBTkRSQS02NjA5KQogKiBBZGQga3MuY2YgbmFtZXMgdG8gdG9tYnN0b25lIGxvZ2dpbmcgKENBU1NBTkRSQS02NTk3KQogKiBVc2UgTE9DQUxfUVVPUlVNIGZvciBMV1Qgb3BlcmF0aW9ucyBhdCBMT0NBTF9TRVJJQUwgKENBU1NBTkRSQS02NDk1KQogKiBXYWl0IIVoadQAAAFP3jyyXAAQQS0zNjk0KQogKiBVcGdyYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguswAAAQAgYW5kIGluZGV4IHNjYW5zIGZvciBDTCA8IEFMTAogICAoQ0FTU0FORFJBLTIyODIpCiAqIGZpeCBjb21taXRsb2cgcmVwbGF5IHdoZW4gZmx1c2ggcG9zaXRpb24gcmVmZXJzIHRvIGRhdGEgdGhhdCBkaWRuJ3QKICAgZ2V0IHN5bmNlZCBiZWZvcmUgc2VydmVyIGRpZWQgKENBU1NBTkRSQS0yMjg1KQogKiBmaXggZmQgbGVhayBpbiBzc3RhYmxlMmpzb24gd2l0aCBub24tbW1hcCdkIGkvbyAoQ0FTU0FORFJBLTIzMDQpCiAqIHJlZHVjZSBtZW1vcnkgmezPtQAAAU/ePLJcABBtYW5kIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6zAAABACBDTC5yZWNvdmVyIGlzIG5vIGxvbmdlciAKICAgbmVjZXNzYXJ5IChDQVNTQU5EUkEtMTQwOCkKICogcmVtb3ZlZCBrZXlzcGFjZSBmcm9tIGRlc2NyaWJlX3NwbGl0cyBtZXRob2QgKENBU1NBTkRSQS0xNDI1KQogKiByZW5hbWUgY2hlY2tfc2NoZW1hX2FncmVlbWVudCB0byBkZXNjcmliZV9zY2hlbWFfdmVyc2lvbnMKICAgKENBU1NBTkRSQS0xNDc4KQogKiBmaXggUVVPUlVNIGNhbGN1bGF0aW9uIGZvciBSRiA+IDMgKENBU1NBTkRSQS0xNDg3KQopZCgWAAABT948slwAEGVsbGluZyBjb21wYWN0aW8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrMAAAEAZXRlY3Rpb24gYW5kIGNsZWFudXAgb2YgcGFydGlhbGx5LXdyaXR0ZW4gc3N0YWJsZXMgCiAgIChDQVNTQU5EUkEtMjIwNikKICogZml4IHN1cGVyY29sdW1uIGRlL3NlcmlhbGl6YXRpb24gd2hlbiBzdWJjb2x1bW4gY29tcGFyYXRvciBpcyBkaWZmZXJlbnQKICAgZnJvbSBzdXBlcmNvbHVtbidzIChDQVNTQU5EUkEtMjEwNCkKICogZml4IHN0YXJ0aW5nIHVwIG9uIFdpbmRvd3Mgd2hlbiBDQVNTQU5EUkFfSE9NRSBjb250YWlucyB3aGl0ZXNwYWNlCmFe99wAAAFP3jyyXAAQIHRoZSBub2RlIGFscmVhZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguswAAAQBlcnRzCiAgIChDQVNTQU5EUkEtMjI1OSkKICogbW92ZSBzYW1wbGUgc2NoZW1hIGZyb20gY2Fzc2FuZHJhLnlhbWwgdG8gc2NoZW1hLXNhbXBsZS50eHQsCiAgIGEgY2xpIHNjcmlwdHMgKENBU1NBTkRSQS0yMDA3KQogKiBhdm9pZCB3cml0aW5nIGVtcHR5IHJvd3Mgd2hlbiBzY3J1YmJpbmcgdG9tYnN0b25lZCByb3dzIChDQVNTQU5EUkEtMjI5NikKICogZml4IGFzc2VydGlvbiBlcnJvciBpbiByYW5nZSBhbmQgaW5kZXggc2NhbnMgZm9yIENMIDwgEE+oZAAAAU/ePLJcABAgc3luY2hyb25pemVkIChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC6zAAABAGNlZWRlZCBldmVyeSAxMHMgKENBU1NBTkRSQS0yMTgzKQogKiBmaXggY2FjaGUgc2F2aW5nIG9uIFdpbmRvd3MgKENBU1NBTkRSQS0yMjA3KQogKiBhZGQgdmFsaWRhdGVTY2hlbWFBZ3JlZW1lbnQgY2FsbCArIHN5bmNocm9uaXphdGlvbiB0byBzY2hlbWEKICAgbW9kaWZpY2F0aW9uIG9wZXJhdGlvbnMgKENBU1NBTkRSQS0yMjIyKQogKiBmaXggZm9yIHJldmVyc2VkIHNsaWNlIHF1ZXJpZXMgb24gbGFyZ2Ugcm93cyAoQ0FTU0FORFJBLTIyMTIpCiDWsyDNABjI1Q7kHx4AAAFP3jyyXAAQcmVjdCB2YWx1ZSB3aXRoIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgutgAAAQBsbCAoQ0FTU0FORFJBLTI5MDgpCiAqIGZpeCB1cGRhdGluZyBLUyB3aXRoIGR1cmFibGVfd3JpdGVzPWZhbHNlIChDQVNTQU5EUkEtMjkwNykKICogYWRkIHNpbXBsaWZpZWQgZmFjYWRlIHRvIFNTVGFibGVXcml0ZXIgZm9yIGJ1bGsgbG9hZGluZyB1c2UKICAgKENBU1NBTkRSQS0yOTExKQogKiBmaXggcmUtdXNpbmcgaW5kZXggQ0Ygc3N0YWJsZSBuYW1lcyBhZnRlciBkcm9wL3JlY3JlYXRlIChDQVNTQU5EUkEtMjg3MikKICogcHJlcGVuZCBDRiB0tvyzxAAAAU/ePLJcABBuIGNvbXBhY3Rpbmcgd2lkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC62AAABAENBU1NBTkRSQS0yMDg4KQogKiBzaHV0IGRvd24gc2VydmVyIGZvciBPT00gb24gYSBUaHJpZnQgdGhyZWFkIChDQVNTQU5EUkEtMjI2OSkKICogZml4IHRvbWJzdG9uZSBoYW5kbGluZyBpbiByZXBhaXIgYW5kIHNzdGFibGUyanNvbiAoQ0FTU0FORFJBLTIyNzkpCiAqIHByZXNlcnZlIHZlcnNpb24gd2hlbiBzdHJlYW1pbmcgZGF0YSBmcm9tIG9sZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTIyODMpCiAqIGRvbid0IHN0YXJ0IHJlcGFpciBpZiBhIG5laWeGsDfDAAABT948slwAEGl4IGhhbmRsaW5nIG9mIHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrYAAAEAIHNraXBwZWQgaW4gYmF0Y2ggKENBU1NBTkRSQS02MTE1KQogKiBBbGxvdyBhbHRlciBrZXlzcGFjZSBvbiBzeXN0ZW1fdHJhY2VzIChDQVNTQU5EUkEtNjAxNikKICogRGlzYWxsb3cgZW1wdHkgY29sdW1uIG5hbWVzIGluIGNxbCAoQ0FTU0FORFJBLTYxMzYpCiAqIFVzZSBKYXZhNyBmaWxlLWhhbmRsaW5nIEFQSXMgYW5kIGZpeCBmaWxlIG1vdmluZyBvbiBXaW5kb3dzIChDQVNTQU5EUkEtNTM4MykKICogU2F2ZSBjb21wYWN0aW9uIGhpc3RvcnkgdPCQbp8AAAFP3jyyXAAQTkRSQS03MTk3KQogKiBMaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgutgAAAQB0aWVicmVha2VyIChDQVNTQU5EUkEtMTAzOSkKICogQWRkIG9wdGlvbiB0byB0dXJuIG9mZiBIaW50ZWQgSGFuZG9mZiAoQ0FTU0FORFJBLTg5NCkKICogZml4IHdpbmRvd3Mgc3RhcnR1cCAoQ0FTU0FORFJBLTk0OCkKICogbWFrZSBjb25jdXJyZW50X3JlYWRzLCBjb25jdXJyZW50X3dyaXRlcyBjb25maWd1cmFibGUgYXQgcnVudGltZSB2aWEgSk1YCiAgIChDQVNTQU5EUkEtMTA2MCkKICogZGlzYWJsZSBHQ0luc3BlY3RvciBvbiBub24tU3VuIEpWQKmdJgAAAU/ePLJcABApCiAqIEZpeCB3cm9uZyBwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC62AAABAHJvciBtZXNzYWdlIHdoZW4gc2NoZW1hIGRvZXNuJ3QgbWF0Y2ggbG9hZGVkIHNzdGFibGUgKENBU1NBTkRSQS02MjYyKQogKiBBZGQgcHJvcGVydGllcyB0byBhZGp1c3QgRkQgaW5pdGlhbCB2YWx1ZSBhbmQgbWF4IGludGVydmFsIChDQVNTQU5EUkEtNDM3NSkKICogRml4IHByZXBhcmluZyB3aXRoIGJhdGNoIGFuZCBkZWxldGUgZnJvbSBjb2xsZWN0aW9uIChDQVNTQU5EUkEtNjYwNykKICogRml4IEFCU0MgcmV2ZXJzZSBpdGVyYXRvcidzIHJlbW+eKS5BAAABT948slwAEGhvbGQsIHJlc3VsdGluZyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrYAAAEAZXF1ZXN0cyAoQ0FTU0FORFJBLTc1MTApCiAqIEhhbmRsZSBuZWdhdGl2ZSB0aW1lc3RhbXAgaW4gd3JpdGV0aW1lIG1ldGhvZCAoQ0FTU0FORFJBLTgxMzkpCiAqIFBpZzogUmVtb3ZlIGVycmFudCBMSU1JVCBjbGF1c2UgaW4gQ3FsTmF0aXZlU3RvcmFnZSAoQ0FTU0FORFJBLTgxNjYpCiAqIFRocm93IENvbmZpZ3VyYXRpb25FeGNlcHRpb24gd2hlbiBoc2hhIGlzIHVzZWQgd2l0aCB0aGUgZGVmYXVsdAogICBycGNfbWF4X3RocmVhZHMgc2V0dGluZ4zD2M0AAAFP3jyyXAAQb29sIHJpbmcgPGtleXNwYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgutgAAAQBzZSBidWxrIGxvYWRpbmcgcHJvZ3Jlc3Mgb3ZlciBKTVggKENBU1NBTkRSQS00NzU3KQogKiBDb3JyZWN0bHkgaGFuZGxlIG51bGwgd2l0aCBJRiBjb25kaXRpb25zIGFuZCBUVEwgKENBU1NBTkRSQS02NjIzKQogKiBBY2NvdW50IGZvciByYW5nZS9yb3cgdG9tYnN0b25lcyBpbiB0b21ic3RvbmUgZHJvcAogICB0aW1lIGhpc3RvZ3JhbSAoQ0FTU0FORFJBLTY1MjIpCiAqIFN0b3AgQ29tbWl0TG9nU2VnbWVudC5jbG9zZSgpIGZyb20gY2FsbGluZyBzbRD1bQAAAU/ePLJcABB1bHRpcGxlIGdvc3NpcCBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC62AAABAEFORFJBLTU3MikKICogSW5jbHVkZSBkZWFkIG5vZGVzIGluIGdvc3NpcCB0byBhdm9pZCBhIHZhcmlldHkgb2YgcHJvYmxlbXMKICAgYW5kIGZpeCBISCB0byByZW1vdmVkIG5vZGVzIChDQVNTQU5EUkEtNjM0KQogKiByZXR1cm4gYW4gSW52YWxpZFJlcXVlc3RFeGNlcHRpb24gZm9yIG1hbC1mb3JtZWQgU2xpY2VQcmVkaWNhdGVzCiAgIChDQVNTQU5EUkEtNjQzKQogKiBmaXggYnVnIGRldGVybWluaW5nIGNsb3Nlc3QgbmVpZ2hib3IgZm9yIHVzZSC87COnAAABT948slwAED0xIGEgbm8tb3AgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrYAAAEAYXJ0aXRpb25pbmcKICAga2V5IG9yZGVyIChDQVNTQU5EUkEtNjA3NSkKICogQWRkIG1ldGhvZCB0byBpbnZhbGlkYXRlIHBlcm1pc3Npb24gY2FjaGUgdmlhIEpNWCAoQ0FTU0FORFJBLTc5NzcpCiAqIEFsbG93IHByb3BhZ2F0aW5nIG11bHRpcGxlIGdvc3NpcCBzdGF0ZXMgYXRvbWljYWxseSAoQ0FTU0FORFJBLTYxMjUpCiAqIExvZyBleGNlcHRpb25zIHJlbGF0ZWQgdG8gdW5jbGVhbiBuYXRpdmUgcHJvdG9jb2wgY2xpZW50IGRpc2Nvbm5lY3RzClnr3PEAAAFP3jyyXAAQICogYWRkIGV4dHJhIFNTTAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgutgAAAQBGaXggUElUUiBjb21taXRsb2cgcmVwbGF5IChDQVNTQU5EUkEtOTE5NSkKICogR0NJbnNwZWN0b3IgbG9ncyB2ZXJ5IGRpZmZlcmVudCB0aW1lcyAoQ0FTU0FORFJBLTkxMjQpCiAqIEZpeCBkZWxldGluZyBmcm9tIGFuIGVtcHR5IGxpc3QgKENBU1NBTkRSQS05MTk4KQogKiBVcGRhdGUgdHVwbGUgYW5kIGNvbGxlY3Rpb24gdHlwZXMgdGhhdCB1c2UgYSB1c2VyLWRlZmluZWQgdHlwZSB3aGVuIHRoYXQgVURUCiAgIGlzIG1vZGlmaWVkIChDQVNTQU5EYbBV4gAAAU/ePLJcABBEUkEtMTUzMykKICogZml4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC62AAABAGFpbCBqb2JzIHdoZW4gQ2Fzc2FuZHJhIG5vZGUgaGFzIGZhaWxlZCBidXQgVGFza1RyYWNrZXIKICAgIGhhcyBub3QgKENBU1NBTkRSQS0yMzg4KQoKCjAuOC4yCiAqIENRTDogCiAgIC0gaW5jbHVkZSBvbmx5IG9uZSByb3cgcGVyIHVuaXF1ZSBrZXkgZm9yIElOIHF1ZXJpZXMgKENBU1NBTkRSQS0yNzE3KQogICAtIHJlc3BlY3QgY2xpZW50IHRpbWVzdGFtcCBvbiBmdWxsIHJvdyBkZWxldGlvbnMgKENBU1NBTkRSQS0yOTEyKQogKiBpbXByb3ZlIHQQURbTAAABT948slwAEGFkb29wKSBzZXBhcmF0ZSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrYAAAEAaXggaW5kZXhlZCBxdWVyaWVzIHdpdGggcm93IGNhY2hlIGVuYWJsZWQgb24gcGFyZW50IHRhYmxlIChDQVNTQU5EUkEtNTczMikKICogRml4IGNvbXBhY3Rpb24gcmFjZSBkdXJpbmcgY29sdW1uZmFtaWx5IGRyb3AgKENBU1NBTkRSQS01OTU3KQogKiBGaXggdmFsaWRhdGlvbiBvZiBlbXB0eSBjb2x1bW4gbmFtZXMgZm9yIGNvbXBhY3QgdGFibGVzIChDQVNTQU5EUkEtNjE1MikKICogU2tpcCByZXBsYXlpbmcgbXV0YXRpb25zIHRoYXQgcGFzcyBDUncrib0AAAFP3jyyXAAQICAgIHN0cnVjdHMgc3VjaAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgutgAAAQBvbCBoZWxwIChDQVNTQU5EUkEtMjI5MykKICogTWFrZSBDUUwzIHRoZSBkZWZhdWx0IGZvciBDUUwgKENBU1NBTkRSQS00NjQwKQogKiB1cGRhdGUgc3RyZXNzIHRvb2wgdG8gYmUgYWJsZSB0byB1c2UgQ1FMMyAoQ0FTU0FORFJBLTQ0MDYpCiAqIEFjY2VwdCBhbGwgdGhyaWZ0IHVwZGF0ZSBvbiBDUUwzIGNmIGJ1dCBkb24ndCBleHBvc2UgdGhlaXIgbWV0YWRhdGEgKENBU1NBTkRSQS00Mzc3KQogKiBSZXBsYWNlIFRocm90dGxlIHdpdGggR3VhdmEnEdLYowAAAU/ePLJcABBhbmQgQ3FsUmVjb3JkV3JpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC62AAABAHRpZmFjdHMgKENBU1NBTkRSQS0zMzMxKQogKiBtYWtlIGNhc3NhbmRyYSBjb21waWxlIHVuZGVyIEpESzcgKENBU1NBTkRSQS0zMjc1KQogKiByZW1vdmUgZGVwZW5kZW5jeSBvZiBjbGllbnR1dGlsLmphciB0byBGQlV0aWxpdGllcyAoQ0FTU0FORFJBLTMyOTkpCiAqIGF2b2lkIHRydW5jYXRpb24gZXJyb3JzIGJ5IHVzaW5nIGxvbmcgbWF0aCBvbiBsb25nIHZhbHVlcyAoQ0FTU0FORFJBLTMzNjQpCiAqIGF2b2lkIGNsb2NrIGRyaWZ0IG9uIHNvbWXLwDXYAAABT948slwAEGQgbWF4IG1lc3NhZ2Ugc2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrYAAAEALTUwNzgpCiAqIEZpeCBOUEUgaWYgU3RvcmFnZVNlcnZpY2UuZ2V0T3BlcmF0aW9uTW9kZSgpIGlzIGV4ZWN1dGVkIGJlZm9yZSBmdWxsIHN0YXJ0dXAgKENBU1NBTkRSQS02MTY2KQogKiBDUUwzOiBzdXBwb3J0IHByZS1lcG9jaCBsb25ncyBmb3IgVGltZXN0YW1wVHlwZSAoQ0FTU0FORFJBLTYyMTIpCiAqIEFkZCByZWxvYWR0cmlnZ2VycyBjb21tYW5kIHRvIG5vZGV0b29sIChDQVNTQU5EUkEtNDk0OSkKICogY3Fsc2g6IGlnbm9yZSBlbXB0eSAndtW3eqgAGN0yJQn2sQAAAU/ePLJcABBkIHF1ZXJpZXMgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC65AAABAGUgd2l0aCBubyBzY2hlbWEgZmFpbHMKICAgKENBU1NBTkRSQS0yNjI1KQogKiBBbGxvdyByZW1vdmluZyBMb2NhdGlvbkluZm8gc3N0YWJsZXMgKENBU1NBTkRSQS0yNjMyKQogKiBhdm9pZCBhdHRlbXB0aW5nIHRvIHJlcGxheSBtdXRhdGlvbnMgZnJvbSBkcm9wcGVkIGtleXNwYWNlcyAoQ0FTU0FORFJBLTI2MzEpCiAqIGF2b2lkIHVzaW5nIGNhY2hlZCBwb3NpdGlvbiBvZiBhIGtleSB3aGVuIEdUIGlzIHJlcXVlc3RlZCAoQ0FTU0FORFJBLTI2MzNT6Lb0AAABT948slwAEHJhZ21lbnQiIHJvd3MgZm8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrkAAAEAZCByb3cgc2l6ZSByZWdyZXNzaW9uIChDQVNTQU5EUkEtMzQ1MSkKICogbWFrZSBzdXJlIHdlIGRvbid0IHJldHVybiBtb3JlIGNvbHVtbnMgdGhhbiBhc2tlZCAoQ0FTU0FORFJBLTMzMDMsIDMzOTUpCk1lcmdlZCBmcm9tIDAuODoKICogYWNxdWlyZSBjb21wYWN0aW9ubG9jayBkdXJpbmcgdHJ1bmNhdGUgKENBU1NBTkRSQS0zMzk5KQogKiBmaXggZGlzcGxheWluZyBjZmRlZiBlbnRyaWVzIGZvciBzdXBlciBjb2x1bW5mYW1pbGllcyAoQ0FTU0FORPhaz7IAAAFP3jyyXAAQKiBhZGQgcXVvdGUtZXNjYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguuQAAAQAgKENBU1NBTkRSQS01MTc5KQogKiBGaXggR3VhdmEgZGVwZW5kZW5jeSB2ZXJzaW9uICgxMi4wIC0+IDEzLjAuMSkgZm9yIE1hdmVuIChDQVNTQU5EUkEtNTM2NCkKICogVmFsaWRhdGUgdGhhdCBwcm92aWRlZCBDUUwzIGNvbGxlY3Rpb24gdmFsdWUgYXJlIDwgNjRLIChDQVNTQU5EUkEtNTM1NSkKICogTWFrZSB1cGdyYWRlU1NUYWJsZSBza2lwIGN1cnJlbnQgdmVyc2lvbiBzc3RhYmxlcyBieSBkZWZhdWx0IChDQVNTQU5EUkEtNTM2NikKICogT3B0SQ5BKgAAAU/ePLJcABBuZyBvZiBzdGF0aWMgY2VsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC65AAABAHV0aW5nIENSRUFURSBzdGF0ZW1lbnRzIG11bHRpcGxlIHRpbWVzIChDQVNTQU5EUkEtNjQ3MSkKICogRG9uJ3Qgc2VuZCBjb25mdXNpbmcgaW5mbyB3aXRoIHRpbWVvdXRzIChDQVNTQU5EUkEtNjQ5MSkKICogRG9uJ3QgcmVzdWJtaXQgY291bnRlciBtdXRhdGlvbiBydW5uYWJsZXMgaW50ZXJuYWxseSAoQ0FTU0FORFJBLTY0MjcpCiAqIERvbid0IGRyb3AgbG9jYWwgbXV0YXRpb25zIHdpdGhvdXQgYSBoaW50IChDQVNTQU5EUkEtNjUxMCkKICogRG9Gq5PMAAABT948slwAEE5EUkEtNjk1MCkKICogSW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrkAAAEAb252ZXJ0ZXIgKENBU1NBTkRSQS0xNDE5KQogKiBhZGQgQ01TSW5pdGlhdGluZ09jY3VwYW5jeUZyYWN0aW9uPTc1IGFuZCBVc2VDTVNJbml0aWF0aW5nT2NjdXBhbmN5T25seQogICB0byBkZWZhdWx0IEpWTSBvcHRpb25zCiAqIGRlY3JlYXNlIGp2bSBoZWFwIGZvciBjYXNzYW5kcmEtY2xpIChDQVNTQU5EUkEtMTQ0NikKICogYWJpbGl0eSB0byBtb2RpZnkga2V5c3BhY2VzIGFuZCBjb2x1bW4gZmFtaWx5IGRlZmluaXRpb25zIG9uIGEgbGl2ZSBjbAyEkegAAAFP3jyyXAAQKiBUcmFjayBtYXgvbWluIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguuQAAAQB6aW5nIGEgcm93IHRvIHVwZGF0ZSBjYWNoZSB3aXRoIChDQVNTQU5EUkEtMjc1MikKICogYXZvaWQgc2tpcHBpbmcgcm93cyBpbiBzY3J1YiBmb3IgY291bnRlciBjb2x1bW4gZmFtaWx5IChDQVNTQU5EUkEtMjc1OSkKICogZml4IENvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb24gaW4gcmVwYWlyIHdoZW4gZGVhbGluZyB3aXRoIDAuNyBub2RlCiAgIChDQVNTQU5EUkEtMjc2NykKICogdXNlIHRocmVhZHNhZmUgY29sbGVjdGlvbnMgZm9yIFN0n2z1LAAAAU/ePLJcABBlcyAoQ0FTU0FORFJBLTU2AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC65AAABAHVwZGF0ZSBwc2V1ZG8tbWFwIHN5bnRheCB0byB1c2UgbWFwIHN5bnRheCAoQ0FTU0FORFJBLTQ0OTcpCiAqIEZpbmVyIGdyYWluZWQgZXhjZXB0aW9ucyBoaWVyYXJjaHkgYW5kIHByb3ZpZGVzIGVycm9yIGNvZGUgd2l0aCBleGNlcHRpb25zIChDQVNTQU5EUkEtMzk3OSkKICogQWRkcyBldmVudHMgcHVzaCB0byBiaW5hcnkgcHJvdG9jb2wgKENBU1NBTkRSQS00NDgwKQogKiBSZXdyaXRlIG5vZGV0b29sIGhlbHAgKENBU1NBTkRSQS0yMjkzKQogKiBaZYTxAAABT948slwAEGUgaGFuZGxlIGltcGxlbWUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrkAAAEAb24gc3RyYXRlZ3kgY3JlYXRpb24gb3B0aW9ucyAoQ0FTU0FORFJBLTQwNDYpCiAqIHJlbW92ZSBbRnJlZWFibGVdTWVtb3J5IGZpbmFsaXplcnMgKENBU1NBTkRSQS00MjIyKQogKiBpbmNsdWRlIHRvbWJzdG9uZSBzaXplIGluIENvbHVtbkZhbWlseS5zaXplLCB3aGljaCBjYW4gcHJldmVudCBPT00KICAgZHVyaW5nIHN1ZGRlbiBtYXNzIGRlbGV0ZSBvcGVyYXRpb25zIGJ5IHlpZWxkaW5nIGEgbm9uemVybyBsaXZlUmF0aW8KICAgKENBU1NBTkRSQXeyD8oAAAFP3jyyXAAQb2xkX3JlYWRzX3RvX29taQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguuQAAAQBmIFJGPT0xIGEgbm8tb3AgKENBU1NBTkRSQS0xMDkwKQogKiBpbXByb3ZlIGRlZmF1bHQgSlZNIEdDIG9wdGlvbnMgKENBU1NBTkRSQS0xMDE0KQogKiBmaXggU2xpY2VQcmVkaWNhdGUgc2VyaWFsaXphdGlvbiBpbnNpZGUgSGFkb29wIGpvYnMgKENBU1NBTkRSQS0xMDQ5KQogKiBjbG9zZSBUaHJpZnQgc29ja2V0cyBpbiBIYWRvb3AgQ29sdW1uRmFtaWx5UmVjb3JkUmVhZGVyIChDQVNTQU5EUkEtMTA4MSkKCgowLjYuMQogKiBmaXggTlBFIGluIHNzDNlVGwAAAU/ePLJcABAgaGVhZGVyIGludG8gc2VwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC65AAABACA1NDA3KQogKiBSZXBsYWNlIGNvbXBhY3Rpb24gbG9jayB3aXRoIHJ1bldpdGhDb21wYWN0aW9uc0Rpc2FibGVkIChDQVNTQU5EUkEtMzQzMCkKICogQ2hhbmdlIE1lc3NhZ2UgSURzIHRvIGludHMgKENBU1NBTkRSQS01MzA3KQogKiBNb3ZlIHNzdGFibGUgbGV2ZWwgaW5mb3JtYXRpb24gaW50byB0aGUgU3RhdHMgY29tcG9uZW50LCByZW1vdmluZyB0aGUKICAgbmVlZCBmb3IgYSBzZXBhcmF0ZSBNYW5pZmVzdCBmaWxlIChDQVNTQU5EUkEtNDg3Mikn5sd5AAABT948slwAEDQpCiAqIEZpeCBtZXNzYWcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrkAAAEAaW4gbWVtdGFibGUgdGhyb3VnaHB1dAogICAoQ0FTU0FORFJBLTQyNjQpCiAqIEFkZCBiYWNrIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG9sZCBzdHlsZSByZXBsaWNhdGlvbiBmYWN0b3IgKENBU1NBTkRSQS00Mjk0KQogKiBQcmVzZXJ2ZSBjb21wYXRpYmlsaXR5IHdpdGggcHJlLTEuMSBpbmRleCBxdWVyaWVzIChDQVNTQU5EUkEtNDI2MikKTWVyZ2VkIGZyb20gMS4wOgogKiBGaXggc3VwZXIgY29sdW1ucyBidWcgd2hlcmUgY2FjaGUgaXMgboGwqygAAAFP3jyyXAAQbW9yeSBsZWFrIGluIHNuYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguuQAAAQBlYWQgKENBU1NBTkRSQS01MjczKQogKiBXcml0ZSByb3cgbWFya2VycyB3aGVuIHNlcmlhbGl6aW5nIHNjaGVtYSAoQ0FTU0FORFJBLTU1NzIpCiAqIENoZWNrIG9ubHkgU1NUYWJsZXMgZm9yIHRoZSByZXF1ZXN0ZWQgcmFuZ2Ugd2hlbiBzdHJlYW1pbmcgKENBU1NBTkRSQS01NTY5KQogKiBJbXByb3ZlIGJhdGNobG9nIHJlcGxheSBiZWhhdmlvciBhbmQgaGludCB0dGwgaGFuZGxpbmcgKENBU1NBTkRSQS01MzE0KQogKiBFeGNsdWRlIGxvY2FsVGlt97rzWQAAAU/ePLJcABA3OTUpCgoKMi4wLjAtYmV0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC65AAABACBwcm9jZXNzZWQgd2l0aGluIFJQQ1RpbWVvdXQKICAgKENBU1NBTkRSQS02ODUpCiAqIGFkZCBhY2sgdG8gQmluYXJ5IHdyaXRlIHZlcmIgYW5kIHVwZGF0ZSBDYXNzYW5kcmFCdWxrTG9hZGVyCiAgIHRvIHdhaXQgZm9yIGFja3MgZm9yIGVhY2ggcm93IChDQVNTQU5EUkEtMTA5MykKICogYWRkZWQgZGVzY3JpYmVfcGFydGl0aW9uZXIgVGhyaWZ0IG1ldGhvZCAoQ0FTU0FORFJBLTEwNDcpCiAqIEhhZG9vcCBqb2JzIG5vIGxvbmdlciByZXF1aXJlIHTABbiaAAABT948slwAECAqIEZpeCB0cmlnZ2VyIG0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrkAAAEAZiBzZWNvbmRhcnkgaW5kZXggdmFsdWVzIHRvIHRoZSBTZWNvbmRhcnlJbmRleE1hbmFnZXIgKENBU1NBTkRSQS00MjQwKQogKiBhbGxvdyBkcm9wcGluZyBjb2x1bW5zIHNoYWRvd2VkIGJ5IG5vdC15ZXQtZXhwaXJlZCBzdXBlcmNvbHVtbiBvciByb3cKICAgdG9tYnN0b25lcyBpbiBQcmVjb21wYWN0ZWRSb3cgKENBU1NBTkRSQS00Mzk2KQoKCjEuMS4yCiAqIEZpeCBjbGVhbnVwIG5vdCBkZWxldGluZyBpbmRleCBlbnRyaWVzIChDQVNTQU5EUkEtNC8Wu24AAAFP3jyyXAAQdGluZyBLZXlzcGFjZXMvQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguuQAAAQBuZyBvbmUgcm93IGluIHJldmVyc2UgcXVlcnkgKENBU1NBTkRSQS02MzMwKQogKiBGaXggcmVhZGluZyBleHBpcmVkIHJvdyB2YWx1ZSBmcm9tIHJvdyBjYWNoZSAoQ0FTU0FORFJBLTYzMjUpCiAqIEZpeCBBc3NlcnRpb25FcnJvciB3aGVuIGRvaW5nIHNldCBlbGVtZW50IGRlbGV0aW9uIChDQVNTQU5EUkEtNjM0MSkKICogTWFrZSBDTCBjb2RlIGZvciB0aGUgbmF0aXZlIHByb3RvY29sIG1hdGNoIHRoZSBvbmUgaW4gQyogMi4wCiAgIChDQVNTQU5EaVsjYQAY8Y8s0md+AAABT948slwAEG1lbnRzIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrsAAAEAcnRpb24gb2YgY29sbGVjdGlvbnMgd2l0aCBDQVMgKENBU1NBTkRSQS02MDY5KQogKiBDb3JyZWN0bHkgc2VuZCBtZXRhZGF0YSBvbiBTRUxFQ1QgQ09VTlQgKENBU1NBTkRSQS02MDgwKQogKiBUcmFjayBjbGllbnRzJyByZW1vdGUgYWRkcmVzc2VzIGluIENsaWVudFN0YXRlIChDQVNTQU5EUkEtNjA3MCkKICogQ3JlYXRlIHNuYXBzaG90IGRpciBpZiBpdCBkb2VzIG5vdCBleGlzdCB3aGVuIG1pZ3JhdGluZwogICBsZXZlbGVkIG1hbmlmZXN0IChDQYy4sl4AAAFP3jyyXAAQQyBpcwogICBub3QgdXNlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguuwAAAQB1cGRhdGUgd2luZG93cyBiYXRjaCBmaWxlIChDQVNTQU5EUkEtODI0KQogKiBkZXByZWNhdGUgS2V5c0NhY2hlZEZyYWN0aW9uIGNvbmZpZ3VyYXRpb24gZGlyZWN0aXZlIGluIGZhdm9yCiAgIG9mIEtleXNDYWNoZWQ7IG1vdmUgdG8gdW5pZmllZC1wZXItQ0Yga2V5IGNhY2hlIChDQVNTQU5EUkEtODAxKQogKiBhZGQgaW52YWxpZGF0ZVJvd0NhY2hlIHRvIENvbHVtbkZhbWlseVN0b3JlTUJlYW4gKENBU1NBTkRSQS03NjEpCiAqIHNlbmQgSGFuZG9mJ6+LVAAAAU/ePLJcABAxKQogKiByZW1vdmUgaW5jAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC67AAABACAgIGZpbmlzaCBiZWZvcmUgc3VibWl0dGluZyBhbm90aGVyIChDQVNTQU5EUkEtNjY4KQoKCjAuNS4wIFJDMQogKiBGaXggcG90ZW50aWFsIE5QRSBpbiBnZXRfcmFuZ2Vfc2xpY2UgKENBU1NBTkRSQS02MjMpCiAqIGFkZCBDUkMzMiB0byBjb21taXRsb2cgZW50cmllcyAoQ0FTU0FORFJBLTYwNSkKICogZml4IGRhdGEgc3RyZWFtaW5nIG9uIHdpbmRvd3MgKENBU1NBTkRSQS02MzApCiAqIEdDIGNvbXBhY3RlZCBzc3RhYmxlcyBhZnRlciBjbGVhbnXxxD5GAAABT948slwAECAoY3Fsc2gpIEFkZCBjb20AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrsAAAEAKENBU1NBTkRSQS00OTI4KQogKiBTZXBhcmF0ZSB0cmFjaW5nIGZyb20gTG9nNEogKENBU1NBTkRSQS00ODYxKQogKiBFeGNsdWRlIGdjYWJsZSB0b21ic3RvbmVzIGZyb20gbWVya2xlLXRyZWUgY29tcHV0YXRpb24gKENBU1NBTkRSQS00OTA1KQogKiBCZXR0ZXIgcHJpbnRpbmcgb2YgQWJzdHJhY3RCb3VuZHMgZm9yIHRyYWNpbmcgKENBU1NBTkRSQS00OTMxKQogKiBPcHRpbWl6ZSBtb3N0UmVjZW50VG9tYnN0b25lIGNoZWNrIGluIENDLmNvbGxlY8v0etYAAAFP3jyyXAAQbnNpc3RlbmN5IG1vZGVsZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguuwAAAQAga2V5c3BhY2VzIChDQVNTQU5EUkEtNzcyOSkKICogUmVtb3ZlIG5ldHR5IGJ1ZmZlciByZWYtY291bnRpbmcgKENBU1NBTkRSQS03NzM1KQogKiBQYXNzIG11dGF0ZWQgY2YgdG8gaW5kZXggdXBkYXRlciBmb3IgdXNlIGJ5IFBSU0kgKENBU1NBTkRSQS03NzQyKQogKiBJbmNsdWRlIHN0cmVzcyB5YW1sIGV4YW1wbGUgaW4gcmVsZWFzZSBhbmQgZGViIChDQVNTQU5EUkEtNzcxNykKICogd29ya2Fyb3VuZCBmb3IgbmV0dHkgaXNzdWUgY2F1c2luZyBjS1xjIAAAAU/ePLJcABBwYWlyIHNlc3Npb24KICAgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC67AAABAENBU1NBTkRSQS02ODIxKQogKiBBZGQgdXVpZCgpIGZ1bmN0aW9uIChDQVNTQU5EUkEtNjQ3MykKICogT21pdCB0b21ic3RvbmVzIGZyb20gc2NoZW1hIGRpZ2VzdHMgKENBU1NBTkRSQS02ODYyKQogKiBJbmNsdWRlIGNvcnJlY3QgY29uc2lzdGVuY3lMZXZlbCBpbiBMV1QgdGltZW91dCAoQ0FTU0FORFJBLTY4ODQpCiAqIExvd2VyIGNoYW5jZXMgZm9yIGxvc2luZyBuZXcgU1NUYWJsZXMgZHVyaW5nIG5vZGV0b29sIHJlZnJlc2ggYW5kCiAgIENvbHWc8H2DAAABT948slwAEChDQVNTQU5EUkEtNjczNykAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrsAAAEAY2ggcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5IENBU1NBTkRSQS01MTcxIChDQVNTQU5EUkEtNTQzMikKICogQWRkIG5vZGV0b29sIGVuYWJsZWJhY2t1cC9kaXNhYmxlYmFja3VwIChDQVNTQU5EUkEtNTU1NikKICogY3Fsc2g6IGZpeCBERVNDUklCRSBhZnRlciBjYXNlIGluc2Vuc2l0aXZlIFVTRSAoQ0FTU0FORFJBLTU1NjcpCk1lcmdlZCBmcm9tIDEuMQogKiBBZGQgcmV0cnkgbWVjaGFuaXNtIHRvIE9UQyBmb3Igbm9uLWRyb3BwYWJsZV92ZXJic1FimQwAAAFP3jyyXAAQZGluZyByYW5nZXMgZHVlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguuwAAAQAzNjkpCiAqIGNvcnJlY3RseSBzZXJpYWxpemUga2V5X3ZhbGlkYXRpb25fY2xhc3MgZm9yIGF2cm8gKENBU1NBTkRSQS0zMzkxKQogKiBkb24ndCBleHBpcmUgY291bnRlciB0b21ic3RvbmUgYWZ0ZXIgc3RyZWFtaW5nIChDQVNTQU5EUkEtMzM5NCkKICogcHJldmVudCBub2RlcyB0aGF0IGZhaWxlZCB0byBqb2luIGZyb20gaGFuZ2luZyBhcm91bmQgZm9yZXZlciAKICAgKENBU1NBTkRSQS0zMzUxKQogKiByZW1vdmUgaW5jb3JyZWN0IG9wdGltaXphp+QGAAAAAU/ePLJcABBSQS0yMzMwKQogKiBhbGxvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC67AAABAG9hZGluZyBjb21wcmVzc2VkIHNzdGFibGVzIChDQVNTQU5EUkEtNTgyMCkKICogKEhhZG9vcCkgZml4IHF1b3RpbmcgaW4gQ3FsUGFnaW5nUmVjb3JkUmVhZGVyIGFuZCBDcWxSZWNvcmRXcml0ZXIgCiAgIChDQVNTQU5EUkEtNTgyNCkKICogdXBkYXRlIGRlZmF1bHQgTENTIHNzdGFibGUgc2l6ZSB0byAxNjBNQiAoQ0FTU0FORFJBLTU3MjcpCiAqIEFsbG93IGNvbXBhY3RpbmcgMklzIHZpYSBub2RldG9vbCAoQ0FTU0FORFJBLTU2NzApCiAqIEhleC0mBZDDAAABT948slwAEHIgc25hcHNob3Qgb24gcmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrsAAAEAIGFyZSB6ZXJvIChDQVNTQU5EUkEtNzUzNSkKICogV2FybiB3aGVuIFNTTCBjZXJ0aWZpY2F0ZXMgaGF2ZSBleHBpcmVkIChDQVNTQU5EUkEtNzUyOCkKICogRml4IGVycm9yIHdoZW4gZG9pbmcgcmV2ZXJzZWQgcXVlcmllcyB3aXRoIHN0YXRpYyBjb2x1bW5zIChDQVNTQU5EUkEtNzQ5MCkKTWVyZ2VkIGZyb20gMS4yOgogKiBTZXQgY29ycmVjdCBzdHJlYW0gSUQgb24gcmVzcG9uc2VzIHdoZW4gbm9uLUV4Y2VwdGlvbiBUaHJvd2FibGVzCiAgIGFyZR7IdOMAAAFP3jyyXAAQIG5hbWVzIHVwIHRvIDQ4IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguuwAAAQAzNDk3KQogKiBhdHRlbXB0IGhpbnQgZGVsaXZlcnkgZXZlcnkgdGVuIG1pbnV0ZXMsIG9yIHdoZW4gZmFpbHVyZSBkZXRlY3RvcgogICBub3RpZmllcyB1cyB0aGF0IGEgbm9kZSBpcyBiYWNrIHVwLCB3aGljaGV2ZXIgY29tZXMgZmlyc3QuICBoaW50CiAgIGhhbmRvZmYgdGhyb3R0bGUgZGVsYXkgZGVmYXVsdCBjaGFuZ2VkIHRvIDFtcywgZnJvbSA1MCAoQ0FTU0FORFJBLTM1NTQpCiAqIGFkZCBub2RldG9vbCBzZXRzdHJlYW10aHJvdWdocHV0IChDGaRr6wAAAU/ePLJcABBtZW10YWJsZSBtZW1vcnkgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC67AAABAGQgdG8gcmVidWlsZCBhIG5vZGUgd2l0aG91dCAocmVwYWlyKSBtZXJrbGUgdHJlZSBjYWxjdWxhdGlvbnMKICAgKENBU1NBTkRSQS0zNDgzLCAzOTIyKQogKiByZXNwZWN0IG5vdCBvbmx5IHJvdyBjYWNoZSBjYXBhY2l0eSBidXQgY2FjaGluZyBtb2RlIHdoZW4KICAgdHJ5aW5nIHRvIHJlYWQgZGF0YSAoQ0FTU0FORFJBLTM4MTIpCiAqIGZpeCBzeXN0ZW0gdGVzdHMgKENBU1NBTkRSQS0zODI3KQogKiBDUUwgc3VwcG9ydCBmb3IgYWx0ZXJpbmcgcm9Dzy/4AAABT948slwAECBtYXgvbWluIHRpbWVzdGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILrsAAAEAZSBwcm9wZXJ0aWVzIHRvIGNvbnRhaW4gaHlwaGVucyAoQ0FTU0FORFJBLTQyNzgpCiAqIChjcWwzKSBDb3JyZWN0bHkgdmFsaWRhdGUga2V5c3BhY2UgYWNjZXNzIGluIGNyZWF0ZSB0YWJsZSAoQ0FTU0FORFJBLTQyOTYpCiAqIEF2b2lkIGRlYWRsb2NrIGluIG1pZ3JhdGlvbiBzdGFnZSAoQ0FTU0FORFJBLTM4ODIpCiAqIFRha2Ugc3VwZXJjb2x1bW4gbmFtZXMgYW5kIGRlbGV0aW9uIGluZm8gaW50byBhY2NvdW50IGluIG1lbXRhYmxlIHRocm91Z6QFFXAAAAFP3jyyXAAQCgowLjguMC1iZXRhMQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguuwAAAQBudGljYXRpb24gaW4gQ3FsUmVjb3JkUmVhZGVyIChDQVNTQU5EUkEtNzIyMSkKICogKEhhZG9vcCkgQ2xvc2UgamF2YSBkcml2ZXIgQ2x1c3RlciBpbiBDUUxSUi5jbG9zZSAoQ0FTU0FORFJBLTcyMjgpCiAqIFdhcm4gd2hlbiAnVVNJTkcgVElNRVNUQU1QJyBpcyB1c2VkIG9uIGEgQ0FTIEJBVENIIChDQVNTQU5EUkEtNzA2NykKICogcmV0dXJuIGFsbCBjcHUgdmFsdWVzIGZyb20gQmFja2dyb3VuZEFjdGl2aXR5TW9uaXRvci5yZWFkQW5kQ29tcHV03FpoqgAAAU/ePLJcABBseVN0b3JlTUJlYW4gKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC67AAABAE5EUkEtMzUxMCkKICogbWFrZSBzc3RhYmxlbG9hZGVyIHJlY29nbml6ZSBjb21wcmVzc2VkIHNzdGFibGVzIChDQVNTQU5EUkEtMzUyMSkKICogYXZvaWRzIHJhY2UgaW4gT3V0Ym91bmRUY3BDb25uZWN0aW9uIGluIG11bHRpLURDIHNldHVwcyAoQ0FTU0FORFJBLTM1MzApCiAqIHVzZSBTRVRMT0NBTCBpbiBjYXNzYW5kcmEuYmF0IChDQVNTQU5EUkEtMzUwNikKICogZml4IENvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb24gaW4gVGFibGUuYWzj8YxtABkF7KAzw+EAAAFP3jyyXAAQb3Igc2VwYXJhdGUgdmVycwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguvQAAAQBpb24sIHByaW9yaXRpemF0aW9uLAogICBzY2hlZHVsaW5nLCBhbmQgcGVyZm9ybWFuY2UgKENBU1NBTkRSQS0zMjI0LCAzMjM0KQogKiBwYXJhbGxlbGl6ZSBzc3RhYmxlIG9wZW4gYXQgc2VydmVyIHN0YXJ0dXAgKENBU1NBTkRSQS0yOTg4KQogKiBmaXggaGFuZGxpbmcgb2YgZXhjZXB0aW9ucyB3cml0aW5nIHRvIE91dGJvdW5kVGNwQ29ubmVjdGlvbiAoQ0FTU0FORFJBLTMyMzUpCiAqIEFsbG93IHVzaW5nIHF1b3RlcyBpbiAiVVNFIDxrZXlzcGFj280oegAAAU/ePLJcABA1MykKICogRml4IGhhcmRjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC69AAABAGdnaW5nIHJlY2VudCBkcm9wcGVkIG1lc3NhZ2VzIChDQVNTQU5EUkEtMzAwNCkKICogYWx3YXlzIGRlc2VyaWFsaXplIFJvd011dGF0aW9uIGZvciBjb3VudGVycyAoQ0FTU0FORFJBLTMwMDYpCiAqIGlnbm9yZSBzYXZlZCByZXBsaWNhdGlvbl9mYWN0b3Igc3RyYXRlZ3lfb3B0aW9uIGZvciBOVFMgKENBU1NBTkRSQS0zMDExKQogKiBtYWtlIHN1cmUgcHJlLXRydW5jYXRlIENMIHNlZ21lbnRzIGFyZSBkaXNjYXJkZWQgKENBU1NBTkRSQS0yOTUwKQrYs4PYAAABT948slwAEGV0d29ya1RvcG9sb2d5U3QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILr0AAAEAQ0FTU0FORFJBLTQ1MzQpCiAqIChIYWRvb3ApIGZpeCBpdGVyYXRpbmcgdGhyb3VnaCBhIHJlc3VsdHNldCBjb25zaXN0aW5nIGVudGlyZWx5CiAgIG9mIHRvbWJzdG9uZWQgcm93cyAoQ0FTU0FORFJBLTQ0NjYpCgoKMS4xLjMKICogKGNxbHNoKSBhZGQgQ09QWSBUTyAoQ0FTU0FORFJBLTQ0MzQpCiAqIG11bm1hcCBjb21taXRsb2cgc2VnbWVudHMgYmVmb3JlIHJlbmFtZSAoQ0FTU0FORFJBLTQzMzcpCiAqIChKTVgpIHJlbmFtZSBnZXRSYW5nZUtleXIOGKgAAAFP3jyyXAAQbm9kZXRvb2wgY2ZzdGF0cwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguvQAAAQApCiAqIG9wdGltaXplIFVVSURHZW4gdG8gYXZvaWQgbG9jayBjb250ZW50aW9uIG9uIEluZXRBZGRyZXNzLmdldExvY2FsSG9zdCAKICAgKENBU1NBTkRSQS0zMzg3KQogKiB0b2xlcmF0ZSBpbmRleCBiZWluZyBkcm9wcGVkIG1pZC1tdXRhdGlvbiAoQ0FTU0FORFJBLTMzMzQsIDMzMTMpCiAqIENvbXBhY3Rpb25NYW5hZ2VyIGlzIG5vdyByZXNwb25zaWJsZSBmb3IgY2hlY2tpbmcgZm9yIG5ldyBjYW5kaWRhdGVzCiAgIHBvc3QtdGFzayBleGVjdXRppEqnlAAAAU/ePLJcABBjY3VyYXRlbHkgZHJvcCB0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC69AAABACBmb3IgbWVtdGFibGVzIChDQVNTQU5EUkEtMjI1MiwgMzE2MiwgMzE2MywgMzE2OCkKICogRGVmYXVsdCBSUiBjaGFuY2UgdG8gMC4xIChDQVNTQU5EUkEtMzE2OSkKICogQWRkIFJvd0xldmVsIHN1cHBvcnQgdG8gc2Vjb25kYXJ5IGluZGV4IEFQSSAoQ0FTU0FORFJBLTMxNDcpCiAqIE1ha2UgU2VyaWFsaXppbmdDYWNoZVByb3ZpZGVyIHRoZSBkZWZhdWx0IGlmIEpOQSBpcyBhdmFpbGFibGUgKENBU1NBTkRSQS0zMTgzKQogKiBGaXggYmFja3dhcmR4kLosAAABT948slwAEGFkZCB2YWxpZGF0aW9uIGYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILr0AAAEAU1NBTkRSQS00MTE2KQogKiBhZGQgc3VwcG9ydCBmb3IgY29tbWl0bG9nIGFyY2hpdmluZyBhbmQgcG9pbnQtaW4tdGltZSByZWNvdmVyeQogICAoQ0FTU0FORFJBLTM2OTApCiAqIGF2b2lkIGdlbmVyYXRpbmcgcmVkdW5kYW50IGNvbXBhY3Rpb24gdGFza3MgZHVyaW5nIHN0cmVhbWluZwogICAoQ0FTU0FORFJBLTQxNzQpCiAqIGFkZCAtY2Ygb3B0aW9uIHRvIG5vZGV0b29sIHNuYXBzaG90LCBhbmQgdGFrZUNvbHVtbkZhbWlseVNuYXBzaG90IHRvCnGn8oEAAAFP3jyyXAAQUCBtZXNzYWdlcyB3aGlsZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguvQAAAQBRTDMgdGhlIGRlZmF1bHQgZm9yIENRTCAoQ0FTU0FORFJBLTQ2NDApCiAqIHVwZGF0ZSBzdHJlc3MgdG9vbCB0byBiZSBhYmxlIHRvIHVzZSBDUUwzIChDQVNTQU5EUkEtNDQwNikKICogQWNjZXB0IGFsbCB0aHJpZnQgdXBkYXRlIG9uIENRTDMgY2YgYnV0IGRvbid0IGV4cG9zZSB0aGVpciBtZXRhZGF0YSAoQ0FTU0FORFJBLTQzNzcpCiAqIFJlcGxhY2UgVGhyb3R0bGUgd2l0aCBHdWF2YSdzIFJhdGVMaW1pdGVyIGZvciBIaW50ZWRIYW5kT2ZmIChD9YyWTwAAAU/ePLJcABBhcmUgcmVtb3ZlZCAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC69AAABAERSQS00MDUzKQogKiBGaXggZmF0IGNsaWVudCBzY2hlbWEgcHVsbCBOUEUgKENBU1NBTkRSQS02MDg5KQogKiBGaXggbWVtdGFibGUgZmx1c2hpbmcgZm9yIGluZGV4ZWQgdGFibGVzIChDQVNTQU5EUkEtNjExMikKICogRml4IHNraXBwaW5nIGNvbHVtbnMgd2l0aCBtdWx0aXBsZSBzbGljZXMgKENBU1NBTkRSQS02MTE5KQogKiBFeHBvc2UgY29ubmVjdGVkIHRocmlmdCArIG5hdGl2ZSBjbGllbnQgY291bnRzIChDQVNTQU5EUkEtNTA4NCkKICogT3AgIfjPAAABT948slwAEAogKiBjb3JyZWN0bHkgc2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILr0AAAEAZSAoQ0FTU0FORFJBLTg5NDgpCiAqIEZpeCByYXJlIE5QRSBpbiBDb2x1bW5EZWZpbml0aW9uI2hhc0luZGV4T3B0aW9uKCkgKENBU1NBTkRSQS04Nzg2KQogKiBjYXNzYW5kcmEtc3RyZXNzIHJlcG9ydHMgcGVyLW9wZXJhdGlvbiBzdGF0aXN0aWNzLCBwbHVzIG1pc2MgKENBU1NBTkRSQS04NzY5KQogKiBVc2UgbG9uZyBmb3Iga2V5IGNvdW50IGluIGNmc3RhdHMgKENBU1NBTkRSQS04OTEzKQogKiBNYWtlIFNTVGFibGVSZXdyaXRlci5hYm9ydCgpIMQ49W0AAAFP3jyyXAAQNikKICogRml4IHJ1bm5pbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguvQAAAQAgKGNxbHNoKSBHcmVhdGx5IGltcHJvdmUgcGVyZm9ybWFuY2Ugb2YgQ09QWSBGUk9NIChDQVNTQU5EUkEtODIyNSkKICogSW5kZXhTdW1tYXJ5IGVmZmVjdGl2ZUluZGV4SW50ZXJ2YWwgaXMgbm93IGEgZ3VpZGVsaW5lLCBub3QgYSBydWxlIChDQVNTQU5EUkEtODk5MykKICogVXNlIGNvcnJlY3QgYm91bmRzIGZvciBwYWdlIGNhY2hlIGV2aWN0aW9uIG9mIGNvbXByZXNzZWQgZmlsZXMgKENBU1NBTkRSQS04NzQ2KQogKiBTU1RhYmxlU2Nhbm5lciBlKR5u6QAAAU/ePLJcABBlciwgc3N0YWJsZWtleXMsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC69AAABAHJ5IHJvd3MgKENBU1NBTkRSQS02Mjc0KQogKiBDb21wYWN0IGhvdHRlc3Qgc3N0YWJsZXMgZmlyc3QgYW5kIG9wdGlvbmFsbHkgb21pdCBjb2xkZXN0IGZyb20KICAgY29tcGFjdGlvbiBlbnRpcmVseSAoQ0FTU0FORFJBLTYxMDkpCiAqIEZpeCBtb2RpZnlpbmcgY29sdW1uX21ldGFkYXRhIGZyb20gdGhyaWZ0IChDQVNTQU5EUkEtNjE4MikKICogY3Fsc2g6IGZpeCBMSVNUIFVTRVJTIG91dHB1dCAoQ0FTU0FORFJBLTYyNDIpCiAqIEFkZCBJUmVxdWXckDATAAABT948slwAECBjcmVhdGluZyBrZXlzcGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILr0AAAEAc3RlZCAoQ0FTU0FORFJBLTcwNTIpCiAqIFVTSU5HIFRJTUVTVEFNUCBmb3IgYmF0Y2hlcyBkb2VzIG5vdCB3b3JrIChDQVNTQU5EUkEtNzA1MykKICogRml4IHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24gZnJvbSBDQVNTQU5EUkEtNTYxNCAoQ0FTU0FORFJBLTY5NDkpCiAqIEVuc3VyZSB0aGF0IGJhdGNobG9nIGFuZCBoaW50IHRpbWVvdXRzIGRvIG5vdCBwcm9kdWNlIGhpbnRzIChDQVNTQU5EUkEtNzA1OCkKICogTWVyZ2UgZ3JvdXBhYmxlIG11dGF0aWEuni4AAAFP3jyyXAAQZW50IGZvciB0aGUgb2xkIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguvQAAAQBhdGUvZHJvcCBrcy90YWJsZS9pbmRleCBzdGF0ZW1lbnRzIGluIENRTDMgKENBU1NBTkRSQS0yNzM3KQogKiBtb3JlIHByZS10YWJsZSBjcmVhdGlvbiBwcm9wZXJ0eSB2YWxpZGF0aW9uIChDQVNTQU5EUkEtNTY5MykKICogUmVkZXNpZ24gcmVwYWlyIG1lc3NhZ2VzIChDQVNTQU5EUkEtNTQyNikKICogRml4IEFMVEVSIFJFTkFNRSBwb3N0LTUxMjUgKENBU1NBTkRSQS01NzAyKQogKiBEaXNhbGxvdyByZW5hbWluZyBhIDJuZGFyeSBpbmRleGVkIGNvx38jxAAAAU/ePLJcABBzIChDQVNTQU5EUkEtNzQ3AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC69AAABAGx1bW5GYW1pbHkgdmFsdWUgKENBU1NBTkRSQS0xMjc2KQogKiBrZWVwIHBlcnNpc3RlbnQgcm93IHNpemUgYW5kIGNvbHVtbiBjb3VudCBzdGF0aXN0aWNzIChDQVNTQU5EUkEtMTE1NSkKICogYWRkIEludGVnZXJUeXBlIChDQVNTQU5EUkEtMTI4MikKICogcGFnZSB3aXRoaW4gYSBzaW5nbGUgcm93IGR1cmluZyBoaW50ZWQgaGFuZG9mZiAoQ0FTU0FORFJBLTEzMjcpCiAqIHB1c2ggRGF0YWNlbnRlclNoYXJkU3RyYXRlZ3kgY29uZmlndXJhdGlvbiB+r4zkAAABT948slwAEHQgcmVhZHMgYXQgQ0wuQUwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILr0AAAEACiAqIGNsZWFyIGVuZHBvaW50IGNhY2hlIGFmdGVyIHVwZGF0aW5nIGtleXNwYWNlIG1ldGFkYXRhIChDQVNTQU5EUkEtMTc0MSkKICogZml4IHdyYXBwaW5nLXJhbmdlIHF1ZXJpZXMgb24gbm9uLW1pbmltdW0gdG9rZW4gKENBU1NBTkRSQS0xNzAwKQogKiB0cnVuY2F0ZSBpbmNsdWRlcyBzZWNvbmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTE3NDcpCiAqIHJldGFpbiByZWZlcmVuY2UgdG8gUGVuZGluZ0ZpbGUgc3N0YWJsZXMgKENBU1NBTkRSQS0xNx/n0aMAGRqoBZq9jQAAAU/ePLJcABAyMjYpCiAqIEJldHRlciBlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC7BAAABAHkgYnl0ZWJ1ZmZlcnMgZm9yIGxvY2FsIHdyaXRlcyB0byBhdm9pZCByZXRhaW5pbmcgdGhlIGVudGlyZQogICBUaHJpZnQgZnJhbWUgKENBU1NBTkRSQS0xODAxKQogKiBmaXggTlBFIGFkZGluZyBpbmRleCB0byBjb2x1bW4gdy9vIHByaW9yIG1ldGFkYXRhIChDQVNTQU5EUkEtMTc2NCkKICogcmVkdWNlIGZhdCBjbGllbnQgdGltZW91dCAoQ0FTU0FORFJBLTE3MzApCiAqIGZpeCBib3RjaGVkIG1lcmdlIG9mIENBU1NBTkRSQS0xMzE2CgoKMC43LjBGTD74AAABT948slwAEHRpb25zIHRvIGluY29ycmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILsEAAAEAMTcyMykKICogcmVqZWN0IHJhbmdlIHF1ZXJpZXMgcmVjZWl2ZWQgZHVyaW5nIGJvb3RzdHJhcCAoQ0FTU0FORFJBLTE3MzkpCiAqIGZpeCB3cmFwcGluZy1yYW5nZSBxdWVyaWVzIG9uIG5vbi1taW5pbXVtIHRva2VuIChDQVNTQU5EUkEtMTcwMCkKICogYWRkIG5vZGV0b29sIGNmaGlzdG9ncmFtIChDQVNTQU5EUkEtMTY5OCkKICogbGltaXQgcmVwYWlyZWQgcmFuZ2VzIHRvIHdoYXQgdGhlIG5vZGVzIGhhdmUgaW4gY29tbW9uIChDQVNTQU5EUkEtMQyl79kAAAFP3jyyXAAQZmZlciBzaXplcyAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguwQAAAQByIG91dCBvZiBtZW1vcnkuCiAgICAgIHVzZSBhIHJhbmdlLWJhc2VkIHNsaWNlIHdpdGggYSBoaWdoIG1heCBjb2x1bW4gY291bnQgaW5zdGVhZC4pCiAqIFJlbW92ZWQgdGhlIHdlYiBpbnRlcmZhY2UuIE5vZGUgaW5mb3JtYXRpb24gY2FuIG5vdyBiZSBvYnRhaW5lZCBieSAKICAgdXNpbmcgdGhlIG5ld2x5IGludHJvZHVjZWQgbm9kZXByb2JlIHV0aWxpdHkuCiAqIE1vcmUgSk1YIHN0YXRzCiAqIFJlbW92ZSBtYWdpYyB2YWx1ZXMgZnJvbSBpbnRl4/z7JgAAAU/ePLJcABBDUUwzIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC7BAAABACAoQ0FTU0FORFJBLTE5MjcpCiAqIGltcGxlbWVudCBkZXNjcmliZU93bmVyc2hpcCBmb3IgQk9QLCBDT1BQIChDQVNTQU5EUkEtMTkyOCkKICogbWFrZSByZWFkIHJlcGFpciBiZWhhdmUgYXMgZXhwZWN0ZWQgZm9yIENvbnNpc3RlbmN5TGV2ZWwgPiBPTkUKICAgKENBU1NBTkRSQS05ODIsIDIwMzgpCiAqIGRpc3RyaWJ1dGVkIHRlc3QgaGFybmVzcyAoQ0FTU0FORFJBLTE4NTksIDE5NjQpCiAqIHJlZHVjZSBmbHVzaCBsb2NrIGNvbnRlbnRpb24gKENuC3pOAAAAU9Mm31IAKAAGc3lzdGVtAAAVc2NoZW1hX2NvbHVtbmZhbWlsaWVzAAAEAAAACQAAAAABAVof8mes4D8ShWPPrmEDxl5VU2ZyAAUV99X2oegAAAAAAAAAAECNJLMAAAFP3jyyXAAQRFJBLTg4NjIpCiAqIEZpeAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguwQAAAQBtaWMgZW5kcG9pbnQgc25pdGNoIChDQVNTQU5EUkEtOTgxKQogKiBmaXggc3RyZWFtaW5nIGZvciBrZXlzcGFjZXMgd2l0aCBoeXBoZW5zIGluIHRoZWlyIG5hbWUgKENBU1NBTkRSQS0xMzc3KQogKiBmaXggZXJyb3JzIGluIGhhcmQtY29kZWQgYmxvb20gZmlsdGVyIG9wdEtQZXJCdWNrZXQgYnkgY29tcHV0aW5nIGl0CiAgIGFsZ29yaXRobWljYWxseSAoQ0FTU0FORFJBLTEyMjAKICogcmVtb3ZlIG1lc3NhZ2UgZGVzZXJpYWxpemF0aW9uIHN0YWdlfx2hqQAAAU/ePLJcABBwdGlvbiBzY2hlbWEtbXd0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC7BAAABAGZvciBjZXJ0YWluIGtleXNwYWNlcyAoQ0FTU0FORFJBLTI2ODMpCiAqIGF2b2lkIE5QRSB3aGVuIGJ5cGFzc2luZyBjb21taXRsb2cgZHVyaW5nIG1lbXRhYmxlIGZsdXNoIChDQVNTQU5EUkEtMjc4MSkKICogQWRkZWQgc3VwcG9ydCBmb3IgbWFraW5nIGJvb3RzdHJhcCByZXRyeSBpZiBub2RlcyBmbGFwIChDQVNTQU5EUkEtMjY0NCkKICogQWRkZWQgc3RhdHVzdGhyaWZ0IHRvIG5vZGV0b29sIHRvIHJlcG9ydCBpZiB0aHJpZnQgc2VydmVyIGlzIHLSo7RPAAABT948slwAEFNTQU5EUkEtNDkxOCkKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILsEAAAEAZXMgKENBU1NBTkRSQS02MTE3KQogKiBUcmFjayBhbmQgcGVyc2lzdCBzc3RhYmxlIHJlYWQgYWN0aXZpdHkgKENBU1NBTkRSQS01NTE1KQogKiBGaXhlcyBmb3Igc3BlY3VsYXRpdmUgcmV0cnkgKENBU1NBTkRSQS01OTMyLCBDQVNTQU5EUkEtNjE5NCkKICogSW1wcm92ZSBtZW1vcnkgdXNhZ2Ugb2YgbWV0YWRhdGEgbWluL21heCBjb2x1bW4gbmFtZXMgKENBU1NBTkRSQS02MDc3KQogKiBGaXggdGhyaWZ0IHZhbGlkYXRpb24gcmVmdXNpbmcgcm93IL8RuDgAAAFP3jyyXAAQc3RvZ3JhbXMgKENBU1NBTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguwQAAAQBvbXN0b25lIHJlbW92YWwgbG9naWMgKENBU1NBTkRSQS01MjQ4KQogKiBjbGk6IEFkZCBKTVggYXV0aGVudGljYXRpb24gc3VwcG9ydCAoQ0FTU0FORFJBLTUwODApCiAqIEZpeCBmb3JjZUZsdXNoIGJlaGF2aW9yIChDQVNTQU5EUkEtNTI0MSkKICogY3Fsc2g6IEFkZCB1c2VybmFtZSBhdXRvY29tcGxldGlvbiAoQ0FTU0FORFJBLTUyMzEpCiAqIEZpeCBDUUwzIGNvbXBvc2l0ZSBwYXJ0aXRpb24ga2V5IGVycm9yIChDQVNTQU5EUkEtNTI0MCkKICoglcjT0wAAAU/ePLJcABBORFJBLTkyODEpCiAqIEZpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC7BAAABACB0byBzaHVmZmxlIChDQVNTQU5EUkEtNjQ4NCkKICogU3dhcCBsb2NhbCBhbmQgZ2xvYmFsIGRlZmF1bHQgcmVhZCByZXBhaXIgY2hhbmNlcyAoQ0FTU0FORFJBLTczMjApCiAqIEFkZCBjb25kaXRpb25hbCBDUkVBVEUvRFJPUCBVU0VSIHN1cHBvcnQgKENBU1NBTkRSQS03MjY0KQogKiBDcWxzaCBjb3VudHMgbm9uLWVtcHR5IGxpbmVzIGZvciAiQmxhbmsgbGluZXMiIHdhcm5pbmcgKENBU1NBTkRSQS03MzI1KQpNZXJnZWQgZnJvbSAxLjI6CiAqIEEWuJP7AAABT948slwAEGVsZXRlZCBzdXBlcmNvbHUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILsEAAAEAQ0FTU0FORFJBLTg0OTApCiAqIEludHJvZHVjZSBiYWNrZ3JvdW5kIGNhY2hlIHJlZnJlc2hpbmcgdG8gcGVybWlzc2lvbnMgY2FjaGUKICAgKENBU1NBTkRSQS04MTk0KQogKiBGaXggcmFjZSBjb25kaXRpb24gaW4gU3RyZWFtVHJhbnNmZXJUYXNrIHRoYXQgY291bGQgbGVhZCB0bwogICBpbmZpbml0ZSBsb29wcyBhbmQgcHJlbWF0dXJlIHNzdGFibGUgZGVsZXRpb24gKENBU1NBTkRSQS03NzA0KQogKiBBZGQgYW4gZXh0cmEgdmVyc2lvbiBjaGVja5t5nPMAAAFP3jyyXAAQaXN0ZW5jeSBsZXZlbCBkdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguwQAAAQBhdCBmaWxlcyAoQ0FTU0FORFJBLTE3MjMpCiAqIHJlamVjdCByYW5nZSBxdWVyaWVzIHJlY2VpdmVkIGR1cmluZyBib290c3RyYXAgKENBU1NBTkRSQS0xNzM5KQogKiBmaXggd3JhcHBpbmctcmFuZ2UgcXVlcmllcyBvbiBub24tbWluaW11bSB0b2tlbiAoQ0FTU0FORFJBLTE3MDApCiAqIGFkZCBub2RldG9vbCBjZmhpc3RvZ3JhbSAoQ0FTU0FORFJBLTE2OTgpCiAqIGxpbWl0IHJlcGFpcmVkIHJhbmdlcyB0byB3aGF0IHRoZSBub2RlcyBoYXZlIGlu7PjvvwAAAU/ePLJcABBkVGFza3MgdG8gYXZvaWQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC7BAAABAG9yeSBsZWFrIGluIGNvbS5zdW4ubWFuYWdlbWVudC5HYXJiYWdlQ29sbGVjdG9yTVhCZWFuCiAgIChDQVNTQU5EUkEtMjg2OCkKICogdmFsaWRhdGUgdGhhdCBjb2x1bW4gbmFtZXMgaW4gY29sdW1uX21ldGFkYXRhIGFyZSBub3QgZXF1YWwgdG8ga2V5X2FsaWFzCiAgIG9uIGNyZWF0ZS91cGRhdGUgb2YgdGhlIENvbHVtbkZhbWlseSBhbmQgQ1FMICdBTFRFUicgc3RhdGVtZW50IChDQVNTQU5EUkEtMzAzNikKICogcmV0dXJuIGFuIEludmFsaWRSZXFTaTPgAAABT948slwAEC1ibG9ja2luZyB2ZXJzaW8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILsEAAAEAYXZlZCBjYWNoZSBlbnRyaWVzIGFyZSBlbmNvdW50ZXJlZAogICAoQ0FTU0FORFJBLTIwNzYpCiAqIGFkZCBtYXhfaGludF93aW5kb3dfaW5fbXMgb3B0aW9uIChDQVNTQU5EUkEtMTQ1OSkKCgowLjcuMC1maW5hbAogKiBmaXggb2Zmc2V0cyB0byBCeXRlQnVmZmVyLmdldCAoQ0FTU0FORFJBLTE5MzkpCgoKMC43LjAtcmM0CiAqIGZpeCBjbGkgY3Jhc2ggYWZ0ZXIgYmFja2dyb3VuZGluZyAoQ0FTU0FORFJBLTE4NzUpCiAqIGNvdW50IHRpbWVvdXRzIH22zx8AAAFP3jyyXAAQZSBpZiBDRidzIGNhY2hpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcguwQAAAQBfa2V5IGFuZCBlbmRfdG9rZW4gKENBU1NBTkRSQS01MDg5KQoKCjEuMi4wLXJjMgogKiBmaXggbm9kZXRvb2wgb3duZXJzaGlwIGRpc3BsYXkgd2l0aCB2bm9kZXMgKENBU1NBTkRSQS01MDY1KQogKiBjcWxzaDogYWRkIERFU0NSSUJFIEtFWVNQQUNFUyBjb21tYW5kIChDQVNTQU5EUkEtNTA2MCkKICogRml4IHBvdGVudGlhbCBpbmZpbml0ZSBsb29wIHdoZW4gcmVsb2FkaW5nIENGUyAoQ0FTU0FORFJBLTUwNjQpCiAqIEZpeCBTaW1wbGVBdXRob3JpnTNMZgAAAU/ePLJcABBtYSBtZXJnZSBwZXJmb3JtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC7BAAABAHggdmFsaWRhdGlvbiB3aXRoIG11bHRpcGxlIENPTlRBSU5TIGNsYXVzZSAoQ0FTU0FORFJBLTgxMzEpCiAqIEZpeCB2YWxpZGF0aW9uIG9mIGNvbGxlY3Rpb25zIGluIFRyaWdnZXJFeGVjdXRvciAoQ0FTU0FORFJBLTgxNDYpCiAqIEZpeCBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gd2hlbiBhIGxpc3Qgb2YgSU4gdmFsdWVzIGNvbnRhaW5pbmcgdHVwbGVzCiAgIGlzIHBhc3NlZCBhcyBhIHNpbmdsZSBhcmcgdG8gYSBwcmVwYXJlZCBzdGF0ZW1lbnTX9fyVABkvBblxNpoAAAFP3jyyXAAQb24gKENBU1NBTkRSQS00MgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvMgAAAQBTbml0Y2ggKENBU1NBTkRSQS0xMzkyKQogKiBtZXJnZSBTdG9yYWdlUHJveHkubXV0YXRlLCBtdXRhdGVCbG9ja2luZyAoQ0FTU0FORFJBLTEzOTYpCiAqIGZhc3RlciBVVUlEVHlwZSwgTG9uZ1R5cGUgY29tcGFyaXNvbnMgKENBU1NBTkRSQS0xMzg2LCAxMzkzKQogKiBmaXggc2V0dGluZyByZWFkX3JlcGFpcl9jaGFuY2UgZnJvbSBDTEkgYWRkQ29sdW1uRmFtaWx5IChDQVNTQU5EUkEtMTM5OSkKICogZml4IHVwZGF0ZXMgdG8gaW5kZXhlZCBjb2x1nfxhzAAAAU/ePLJcABAgQ2Fzc2FuZHJhU3RvcmFnAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC8yAAABAGxlYW51cCAoQ0FTU0FORFJBLTY4NDUpCiAqIENvcnJlY3RseSBjb21wYXJlIEJvb2xlYW5UeXBlIHZhbHVlcyBvdGhlciB0aGFuIDAgYW5kIDEgKENBU1NBTkRSQS02Nzc5KQogKiBSZWFkIG1lc3NhZ2UgaWQgYXMgc3RyaW5nIGZyb20gZWFybGllciB2ZXJzaW9ucyAoQ0FTU0FORFJBLTY4NDApCiAqIFByb3Blcmx5IHVzZSB0aGUgUGF4b3MgY29uc2lzdGVuY3kgZm9yIChub24tcHJvdG9jb2wpIGJhdGNoIChDQVNTQU5EUkEtNjgzNykKICogQWRkIHBSUDeqAAABT948slwAEAogKiBDcmVhdGUgYmFja3UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzIAAAEAQ0FTU0FORFJBLTQ4NDcpCiAqIE9wdGltaXplIG5hbWUtYmFzZWQgcXVlcmllcyB0byB1c2UgQXJyYXlCYWNrZWRTb3J0ZWRDb2x1bW5zIChDQVNTQU5EUkEtNTA0MykKICogRmFsbCBiYWNrIHRvIG9sZCBtYW5pZmVzdCBpZiBtb3N0IHJlY2VudCBpcyB1bnBhcnNlYWJsZSAoQ0FTU0FORFJBLTUwNDEpCiAqIHBvb2wgW0NvbXByZXNzZWRdUmFuZG9tQWNjZXNzUmVhZGVyIG9iamVjdHMgb24gdGhlIHBhcnRpdGlvbmVkIHJlYWQgcGF0aAogICAoQ0FTU9KsAGYAAAFP3jyyXAAQKQogKiBlYWdlci1jcmVhdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvMgAAAQByb3ZlZCBwZXJmb3JtYW5jZSAKICAgKENBU1NBTkRSQS0zNDExLCAzNTQzLCAzNTU3LCAzNjE1KQogKiB1cGRhdGUgc2l6ZS10aWVyZWQgY29tcGFjdGlvbiB0byBwcmlvcml0aXplIHNtYWxsIHRpZXJzIChDQVNTQU5EUkEtMjQwNykKICogYWRkIG1lc3NhZ2UgZXhwaXJhdGlvbiBsb2dpYyB0byBPdXRib3VuZFRjcENvbm5lY3Rpb24gKENBU1NBTkRSQS0zMDA1KQogKiBvZmYtaGVhcCBjYWNoZSB0byB1c2Ugc3VuLm1pc2MuVW5zYWZlIGluc3RlYWQgPdoEOwAAAU/ePLJcABBuX3RocmVhZF9wcmlvcml0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC8yAAABAGlyZWN0b3J5IG1hdGNoaW5nIGEgRGF0YUZpbGVEaXJlY3RvcnkgKENBU1NBTkRSQS04ODgpCiAqIGRlZmF1bHQga2V5IGNhY2hlIHNpemUgaXMgMjAwayBlbnRyaWVzLCBjaGFuZ2VkIGZyb20gMTAlIChDQVNTQU5EUkEtODYzKQogKiBhZGQgLURjYXNzYW5kcmEtZm9yZWdyb3VuZD15ZXMgdG8gY2Fzc2FuZHJhLmJhdAogKiBleGl0IGlmIGNsdXN0ZXIgbmFtZSBpcyBjaGFuZ2VkIHVuZXhwZWN0ZWRseSAoQ0FTU0FORFJBLTc2OSkKCgowLjYuMC1iZXRrrEaNAAABT948slwAEEFORFJBLTI1MTYpCiAqIHAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzIAAAEAU3RyZWFtT3V0U2Vzc2lvbiAoQ0FTU0FORFJBLTI3OTIpCiAqIGFsbG93IGRlbGV0aW5nIGEgcm93IGFuZCB1cGRhdGluZyBpbmRleGVkIGNvbHVtbnMgaW4gaXQgaW4gdGhlCiAgIHNhbWUgbXV0YXRpb24gKENBU1NBTkRSQS0yNzczKQogKiBFeHBvc2UgbnVtYmVyIG9mIHRocmVhZHMgYmxvY2tlZCBvbiBzdWJtaXR0aW5nIG1lbXRhYmxlIHRvIGZsdXNoCiAgIGluIEpNWCAoQ0FTU0FORFJBLTI4MTcpCiAqIGFkZCBhYmlsaXR5IHRvIHJldHVybiAiZS303U4AAAFP3jyyXAAQaHV0ZG93biB3aGVuIGR1cgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvMgAAAQBzaCkgZW5hYmxlIENUUkwtUiBoaXN0b3J5IHNlYXJjaCB3aXRoIGxpYmVkaXQgKENBU1NBTkRSQS03NTc3KQogKiAoSGFkb29wKSBhbGxvdyBBQ0ZSVyB0byBsaW1pdCBub2RlcyB0byBsb2NhbCBEQyAoQ0FTU0FORFJBLTcyNTIpCiAqIChjcWxzaCkgY3Fsc2ggc2hvdWxkIGF1dG9tYXRpY2FsbHkgZGlzYWJsZSB0cmFjaW5nIHdoZW4gc2VsZWN0aW5nCiAgIGZyb20gc3lzdGVtX3RyYWNlcyAoQ0FTU0FORFJBLTc2NDEpCiAqIChIYWRvb3ApIEFkZCBDv3OZ4QAAAU/ePLJcABBvbXBhY3Rpb24gd2FzIGV4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC8yAAABAFNBTkRSQS02MDAyKQogKiBGaXggcG9zc2libGUgZGl2aWRlLWJ5LXplcm8gaW4gSEhPTSAoQ0FTU0FORFJBLTU5OTApCiAqIEFsbG93IGxvY2FsIGJhdGNobG9nIHdyaXRlcyBmb3IgQ0wuQU5ZIChDQVNTQU5EUkEtNTk2NykKICogVXBncmFkZSBtZXRyaWNzLWNvcmUgdG8gdmVyc2lvbiAyLjIuMCAoQ0FTU0FORFJBLTU5NDcpCiAqIEZpeCBDcWxSZWNvcmRXcml0ZXIgd2l0aCBjb21wb3NpdGUga2V5cyAoQ0FTU0FORFJBLTU5NDkpCiAqIEFkZCBzbmkCUGGbAAABT948slwAECogZml4IG1pbm9yIGlzc3UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzIAAAEAZWplY3QgZGVzY3JpYmVfcmluZygpIGNhbGxzIG9uIGludmFsaWQga2V5c3BhY2VzIChDQVNTQU5EUkEtMTExMSkKICogZml4IGNhY2hlIHNpemUgY2FsY3VsYXRpb24gZm9yIHNpemUgb2YgMTAwJSAoQ0FTU0FORFJBLTExMjkpCiAqIGZpeCBjYWNoZSBjYXBhY2l0eSBvbmx5IGJlaW5nIHJlY2FsY3VsYXRlZCBvbmNlIChDQVNTQU5EUkEtMTEyOSkKICogcmVtb3ZlIGhvdXJseSBzY2FuIG9mIGFsbCBoaW50cyBvbiB0aGUgb2ZmIGNoYW5jZSB0aGF0IJKOCW4AAAFP3jyyXAAQcyB3aGVuIHJvdyBkZWxldAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvMgAAAQBsb29tIGZpbHRlcgogICB2ZXJpZmllcyB0aGF0IHJvdyBkb2VzIG5vdCBleGlzdCBpbiBvdGhlciBzc3RhYmxlcyAoQ0FTU0FORFJBLTEwNzQpCiAqIG5vZGVzIHRoYXQgY29vcmRpbmF0ZWQgYSBsb2FkYmFsYW5jZSBpbiB0aGUgcGFzdCBjb3VsZCBub3QgYmUgc2VlbiBieQogICBuZXdseSBhZGRlZCBub2RlcyAoQ0FTU0FORFJBLTE0NjcpCiAqIGV4cG9zZWQgZW5kcG9pbnQgc3RhdGVzIChnb3NzaXAgZGV0YWlscykgdmlhIGpteCAoQ0FTU0FORFJBI5oiOQAAAU/ePLJcABBidWlsZC54bWwgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC8yAAABAHRyZWFtaW5nIHByb2dyZXNzIHJlcG9ydCBmb3IgY29tcHJlc2VkIGZpbGVzIChDQVNTQU5EUkEtNTEzMCkKICogQ292ZXJhZ2UgYW5hbHlzaXMgZm9yIGxvdy1DTCBxdWVyaWVzIChDQVNTQU5EUkEtNDg1OCkKICogU3RvcCBpbnRlcnByZXRpbmcgZGF0ZXMgYXMgdmFsaWQgdGltZVVVSUQgdmFsdWUgKENBU1NBTkRSQS00OTM2KQogKiBBZGRzIEUgbm90YXRpb24gZm9yIGZsb2F0aW5nIHBvaW50IG51bWJlcnMgKENBU1NBTkRSQS00OTI3KQogKiBEZXQikxXuAAABT948slwAEENBU1NBTkRSQS0zMzYpCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzIAAAEAY2ggKENBU1NBTkRSQS0zODM1KQogKiBEb24ndCBsZWF2ZSB6b21iaWUgY29ubmVjdGlvbnMgd2l0aCBUSFNIQSB0aHJpZnQgc2VydmVyIChDQVNTQU5EUkEtMzg2NykKICogKGNxbHNoKSBmaXggZGVzZXJpYWxpemF0aW9uIG9mIGRhdGEgKENBU1NBTkRSQS0zODc0KQogKiBGaXggcmVtb3ZldG9rZW4gZm9yY2UgY2F1c2luZyBhbiBpbmNvbnNpc3RlbnQgc3RhdGUgKENBU1NBTkRSQS0zODc2KQogKiBGaXggYWhuZGxpbmcgb2Ygc29tZSB0eXBlcyB3abWsp7IAAAFP3jyyXAAQYXJ5IChDQVNTQU5EUkEtMQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvMgAAAQBBU1NBTkRSQS0zMzg2KQogKiBmaXggYXNzZXJ0aW9uRXJyb3IgZHVyaW5nIHJlcGFpciB3aXRoIG9yZGVyZWQgcGFydGl0aW9uZXJzIChDQVNTQU5EUkEtMzM2OSkKICogY29ycmVjdGx5IHNlcmlhbGl6ZSBrZXlfdmFsaWRhdGlvbl9jbGFzcyBmb3IgYXZybyAoQ0FTU0FORFJBLTMzOTEpCiAqIGRvbid0IGV4cGlyZSBjb3VudGVyIHRvbWJzdG9uZSBhZnRlciBzdHJlYW1pbmcgKENBU1NBTkRSQS0zMzk0KQogKiBwcmV2ZW50IG5vZGVzIHRoYXQgZmFpnvgCHAAAAU/ePLJcABBTU0FORFJBLTU4MykKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC8yAAABAHRpbWF0aW9uIChDQVNTQU5EUkEtNTkwNikKICogQ0YgaWQgaXMgY2hhbmdlZCB0byBiZSBub24tZGV0ZXJtaW5pc3RpYy4gRGF0YSBkaXIva2V5IGNhY2hlIGFyZSBjcmVhdGVkCiAgIHVuaXF1ZWx5IGZvciBDRiBpZCAoQ0FTU0FORFJBLTUyMDIpCiAqIE5ldyBjb3VudGVycyBpbXBsZW1lbnRhdGlvbiAoQ0FTU0FORFJBLTY1MDQpCiAqIFJlcGxhY2UgVW5zb3J0ZWRDb2x1bW5zLCBFbXB0eUNvbHVtbnMsIFRyZWVNYXBCYWNrZWRTb3J0ZWRDb2x1bW5R8S7pAAABT948slwAEG4gZnVuY3Rpb24gREVMRVQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzIAAAEAcCAoQ0FTU0FORFJBLTYxNjYpCiAqIENRTDM6IHN1cHBvcnQgcHJlLWVwb2NoIGxvbmdzIGZvciBUaW1lc3RhbXBUeXBlIChDQVNTQU5EUkEtNjIxMikKICogQWRkIHJlbG9hZHRyaWdnZXJzIGNvbW1hbmQgdG8gbm9kZXRvb2wgKENBU1NBTkRSQS00OTQ5KQogKiBjcWxzaDogaWdub3JlIGVtcHR5ICd2YWx1ZSBhbGlhcycgaW4gREVTQ1JJQkUgKENBU1NBTkRSQS02MTM5KQogKiBGaXggc3N0YWJsZSBsb2FkZXIgKENBU1NBTkRSQS02MjA1KQogKiBSZUhf8IIAGUNisycreQAAAU/ePLJcABAgdmFsaWRhdGlvbiB3aGVuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC81AAABAHRvIG5vZGV0b29sIGNmc3RhdHMgb3V0cHV0IChDQVNTQU5EUkEtNzczMSkKICogVmFsaWRhdGUgSVB2NiB3aWxkY2FyZCBhZGRyZXNzZXMgcHJvcGVybHkgKENBU1NBTkRSQS03NjgwKQogKiAoY3Fsc2gpIEVycm9yIHdoZW4gdHJhY2luZyBxdWVyeSAoQ0FTU0FORFJBLTc2MTMpCiAqIEF2b2lkIElPT0JFIHdoZW4gYnVpbGRpbmcgU3ludGF4RXJyb3IgbWVzc2FnZSBzbmlwcGV0IChDQVNTQU5EUkEtNzU2OSkKICogU1NUYWJsZUV4cG9ydCB1c2VzIGPGE3WoAAABT948slwAEDkxKQogKiBNYXJrIENGIGMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzUAAAEAIHRyZWUgd2l0aCBSYW5kb21QYXJ0aXRpb25uZXIKICAgKENBU1NBTkRSQS0yODQxKQogKiBmaXggZGVzY3JpYmVPd25lcnNoaXAgZm9yIE9QUCAoQ0FTU0FORFJBLTI4MDApCiAqIGVuc3VyZSB0aGF0IHN0cmluZyB0b2tlbnMgZG8gbm90IGNvbnRhaW4gY29tbWFzIChDQVNTQU5EUkEtMjc2MikKCgowLjguMC1maW5hbAogKiBmaXggQ1FMIGdyYW1tYXIgd2FybmluZyBhbmQgY3Fsc2ggcmVncmVzc2lvbiBmcm9tIENBU1NBTkRSQS0yNjIyCiAqIGFkZG6B72IAAAFP3jyyXAAQc2lwIGRldGFpbHMpIHZpYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvNQAAAQB0cmVzczogZml4IHN1cHBvcnQgZm9yIE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5IChDQVNTQU5EUkEtNzk0NSkKICogRml4IHNhdmluZyBjYWNoZXMgd2hlbiBhIHRhYmxlIGlzIGRyb3BwZWQgKENBU1NBTkRSQS03Nzg0KQogKiBBZGQgYmV0dGVyIGVycm9yIGNoZWNraW5nIG9mIG5ldyBzdHJlc3MgcHJvZmlsZSAoQ0FTU0FORFJBLTc3MTYpCiAqIFVzZSBUaHJlYWRMb2NhbFJhbmRvbSBhbmQgcmVtb3ZlIEZCVXRpbGl0aWVzLnRocmVhZExvY2FsUmFunW/mPwAAAU/ePLJcABBwbGljYXMgKENBU1NBTkRSAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC81AAABAHggY29tcGFjdGlvbl9oaXN0b3J5IHRpbWVzdGFtcHMgKENBU1NBTkRSQS02Nzg0KQogKiBDb21wYXJlIHNjb3JlcyBvZiBmdWxsIHJlcGxpY2Egb3JkZXJpbmcgaW4gREVTIChDQVNTQU5EUkEtNjY4MykKICogZml4IENNRSBpbiBTZXNzaW9uSW5mbyB1cGRhdGVQcm9ncmVzcyBhZmZlY3RpbmcgbmV0c3RhdHMgKENBU1NBTkRSQS02NTc3KQogKiBBbGxvdyByZXBhaXJpbmcgYmV0d2VlbiBzcGVjaWZpYyByZXBsaWNhcyAoQ0FTU0FORFJBLTY0NDApCiDFsTrmAAABT948slwAEGUgaXMgYW4gZXJyb3IgZHUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzUAAAEAbWFyeSBvcGVuZWQgZnJvbSBpdCAoQ0FTU0FORFJBLTg3NTcpCiAqIG1hcmtDb21wYWN0aW5nIG9ubHkgc3VjY2VlZHMgaWYgdGhlIGV4YWN0IFNTVGFibGVSZWFkZXIgaW5zdGFuY2VzIGJlaW5nIAogICBtYXJrZWQgYXJlIGluIHRoZSBsaXZlIHNldCAoQ0FTU0FORFJBLTg2ODkpCiAqIGNhc3NhbmRyYS1zdHJlc3Mgc3VwcG9ydCBmb3IgdmFyaW50IChDQVNTQU5EUkEtODg4MikKICogRml4IEFkbGVyMzIgZGlnZXN0IGZvciBjb21wcmVzc2VkIHNzdCzvUYQAAAFP3jyyXAAQeSB0byBvbmx5IGNvbXBhcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvNQAAAQBzZXRzIChDQVNTQU5EUkEtNTQxMykKICogQWRkIG51bGwgc3ludGF4IHN1cHBvcnQgaW4gQ1FMMyBmb3IgaW5zZXJ0cyAoQ0FTU0FORFJBLTM3ODMpCiAqIEFsbG93IHVuYXV0aGVudGljYXRlZCBzZXRfa2V5c3BhY2UoKSBjYWxscyAoQ0FTU0FORFJBLTU0MjMpCiAqIEZpeCBwb3RlbnRpYWwgaW5jcmVtZW50YWwgYmFja3VwcyByYWNlIChDQVNTQU5EUkEtNTQxMCkKICogRml4IHByZXBhcmVkIEJBVENIIHN0YXRlbWVudHMgd2l0aCBiYXRjaC1sZXZlfrgnywAAAU/ePLJcABAgbWFrZSByZXBhaXIgcmVwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC81AAABAGF0Y2hsb2cgcmVwbGljYSBzZWxlY3Rpb24gcmFjay1hd2FyZSAoQ0FTU0FORFJBLTY1NTEpCiAqIEZpeCBDRk1ldGFEYXRhI2dldENvbHVtbkRlZmluaXRpb25Gcm9tQ29sdW1uTmFtZSgpIChDQVNTQU5EUkEtNzA3NCkKICogRml4IHdyaXRldGltZS90dGwgZnVuY3Rpb25zIGZvciBzdGF0aWMgY29sdW1ucyAoQ0FTU0FORFJBLTcwODEpCiAqIFN1Z2dlc3QgQ1RSTC1DIG9yIHNlbWljb2xvbiBhZnRlciB0aHJlZSBibGFuayBsaW5lcyBpbiBjcWxzaCClSAb1AAABT948slwAECAqIGFsbG93IHJlbW92aW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzUAAAEAc3RvcmFnZSAoQ0FTU0FORFJBLTQ5MTApCiAqIEZpeCBlbmRsZXNzIGxvb3AvY29tcGFjdGlvbiBvZiBzY2hlbWFfKiBDRnMgZHVlIHRvIGJyb2tlbiB0aW1lc3RhbXBzIChDQVNTQU5EUkEtNDg4MCkKICogRml4ICd3cm9uZyBjbGFzcyB0eXBlJyBhc3NlcnRpb24gaW4gQ291bnRlckNvbHVtbiAoQ0FTU0FORFJBLTQ5NzYpCgoKMS4yLWJldGExCiAqIGFkZCBhdG9taWNfYmF0Y2hfbXV0YXRlIChDQVNTQU5EUkEtNDU0MiwgLTQ2MzUpCiAqIGluY3JlYTwyMmIAAAFP3jyyXAAQb3JtYXQgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvNQAAAQBvZGV0b29sIHJlcGFpciBub3QgZmFpbCBvbiBub2RlIGRvd24gKENBU1NBTkRSQS01MjAzKQogKiBhbHdheXMgY29sbGVjdCB0b21ic3RvbmUgaGludHMgKENBU1NBTkRSQS01MDY4KQogKiBGaXggZXJyb3Igd2hlbiBzb3VyY2luZyBmaWxlIGluIGNxbHNoIChDQVNTQU5EUkEtNTIzNSkKCgoxLjIuMQogKiBzdHJlYW0gdW5kZWxpdmVyZWQgaGludHMgb24gZGVjb21taXNzaW9uIChDQVNTQU5EUkEtNTEyOCkKICogR29zc2lwaW5nUHJvcGVydHlGaWxlOSVZlwAAAU/ePLJcABBlYWtpbmcgdmFsaWRhdG9yAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC81AAABAGVyIHJlZmVyZW5jZSBhY3F1aXNpdGlvbiBidWcgKENBU1NBTkRSQS0zNDM4KQogKiBmaXggZXN0aW1hdGVkIHJvdyBzaXplIHJlZ3Jlc3Npb24gKENBU1NBTkRSQS0zNDUxKQogKiBtYWtlIHN1cmUgd2UgZG9uJ3QgcmV0dXJuIG1vcmUgY29sdW1ucyB0aGFuIGFza2VkIChDQVNTQU5EUkEtMzMwMywgMzM5NSkKTWVyZ2VkIGZyb20gMC44OgogKiBhY3F1aXJlIGNvbXBhY3Rpb25sb2NrIGR1cmluZyB0cnVuY2F0ZSAoQ0FTU0FORFJBLTMzOTkpCiAqIGaaXBeyAAABT948slwAECAqIEltcHJvdmUgbWVtdGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzUAAAEACgoxLjAuMC1iZXRhMQogKiByZW1vdmVkIGJpbmFyeW1lbXRhYmxlIChDQVNTQU5EUkEtMjY5MikKICogYWRkIGNvbW1pdGxvZ190b3RhbF9zcGFjZV9pbl9tYiB0byBwcmV2ZW50IGZyYWdtZW50ZWQgbG9ncyAoQ0FTU0FORFJBLTI0MjcpCiAqIHJlbW92ZWQgY29tbWl0bG9nX3JvdGF0aW9uX3RocmVzaG9sZF9pbl9tYiBjb25maWd1cmF0aW9uIChDQVNTQU5EUkEtMjc3MSkKICogbWFrZSBBYnN0cmFjdEJvdW5kcy5ub3JtYWxpemUgZGUtb3ZlcmxhcDOAhSoAAAFP3jyyXAAQIG5vdGlmaWVkIG9mIHJvdwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvNQAAAQBtbW9uIChDQVNTQU5EUkEtMTY3NCkKICogaW5kZXggc2NhbiB0cmVhdHMgbWlzc2luZyBjb2x1bW5zIGFzIG5vdCBtYXRjaGluZyBzZWNvbmRhcnkKICAgZXhwcmVzc2lvbnMgKENBU1NBTkRSQS0xNzQ1KQogKiBGaXggbWlzdXNlIG9mIERhdGFPdXRwdXRCdWZmZXIuZ2V0RGF0YSBpbiBBbnRpRW50cm9weVNlcnZpY2UKICAgKENBU1NBTkRSQS0xNzI5KQogKiBkZXRlY3QgYW5kIHdhcm4gd2hlbiBvYnNvbGV0ZSB2ZXJzaW9uIG9mIEpOQSBpcyBwcmVzzrJeWQAAAU/ePLJcABBzY3JpcHRpb24KICAgKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC81AAABAGFtZXMgYW5kIGRlbGV0aW9uIGluZm8gaW50byBhY2NvdW50IGluIG1lbXRhYmxlIHRocm91Z2hwdXQKICAgKENBU1NBTkRSQS00MjY0KQogKiBBZGQgYmFjayBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBvbGQgc3R5bGUgcmVwbGljYXRpb24gZmFjdG9yIChDQVNTQU5EUkEtNDI5NCkKICogUHJlc2VydmUgY29tcGF0aWJpbGl0eSB3aXRoIHByZS0xLjEgaW5kZXggcXVlcmllcyAoQ0FTU0FORFJBLTQyNjIpCk1lcmdlZCBmcm9tIDEuMDoKICogRmn4ShnHAAABT948slwAEHN0b3JlIG1vcmUgcm9idXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzUAAAEAKENBU1NBTkRSQS0zMTQ3KQogKiBNYWtlIFNlcmlhbGl6aW5nQ2FjaGVQcm92aWRlciB0aGUgZGVmYXVsdCBpZiBKTkEgaXMgYXZhaWxhYmxlIChDQVNTQU5EUkEtMzE4MykKICogRml4IGJhY2t3YXJkcyBjb21wYXRpYmlsdHkgZm9yIENRTCBtZW10YWJsZSBwcm9wZXJ0aWVzIChDQVNTQU5EUkEtMzE5MCkKICogQWRkIGZpdmUtbWludXRlIGRlbGF5IGJlZm9yZSBzdGFydGluZyBjb21wYWN0aW9ucyBvbiBhIHJlc3RhcnRlZCBzZXJ2ZXIKICAgKENBU+TXtU0AAAFP3jyyXAAQc2hvdENvbW1hbmQgdG8gdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvNQAAAQBhbXBzIChDQVNTQU5EUkEtNDg4MCkKICogRml4ICd3cm9uZyBjbGFzcyB0eXBlJyBhc3NlcnRpb24gaW4gQ291bnRlckNvbHVtbiAoQ0FTU0FORFJBLTQ5NzYpCgoKMS4yLWJldGExCiAqIGFkZCBhdG9taWNfYmF0Y2hfbXV0YXRlIChDQVNTQU5EUkEtNDU0MiwgLTQ2MzUpCiAqIGluY3JlYXNlIGRlZmF1bHQgbWF4X2hpbnRfd2luZG93X2luX21zIHRvIDNoIChDQVNTQU5EUkEtNDYzMikKICogaW5jbHVkZSBtZXNzYWdlIGluaXRpYXRpb24gdGltZSB0tb9hGQAZV7+pufspAAABT948slwAEG1haW5pbmcgZXN0aW1hdGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzgAAAEAdCB0aHJpZnQgSFNIQSBzZXJ2ZXIgdGhyZWFkIGxpbWl0IHRvIHVubGltaXRlZCBieSBkZWZhdWx0IChDQVNTQU5EUkEtNDI3NykKICogQXZvaWRzIGRvdWJsZSBzZXJpYWxpemF0aW9uIG9mIENGIGlkIGluIFJvd011dGF0aW9uIG1lc3NhZ2VzCiAgIChDQVNTQU5EUkEtNDI5MykKICogc3RyZWFtIGNvbXByZXNzZWQgc3N0YWJsZXMgZGlyZWN0bHkgd2l0aCBqYXZhIG5pbyAoQ0FTU0FORFJBLTQyOTcpCiAqIFN1cHBvcnQgbXVsdGlwbGUgcmFuZ2VzIGuRfoYAAAFP3jyyXAAQRFJBLTcxNDMpCiAqIHJldAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvOAAAAQB0CiAgIChDQVNTQU5EUkEtMzEyOSkKICogQ3VzdG9tVFRocmVhZFBvb2xTZXJ2ZXIgdG8gbG9nIFRUcmFuc3BvcnRFeGNlcHRpb24gYXQgREVCVUcgbGV2ZWwKICAgKENBU1NBTkRSQS0zMTQyKQogKiBhbGxvdyB0b3BvbG9neSBzb3J0IHRvIHdvcmsgd2l0aCBub24tdW5pcXVlIHJhY2sgbmFtZXMgYmV0d2VlbiAKICAgZGF0YWNlbnRlcnMgKENBU1NBTkRSQS0zMTUyKQogKiBJbXByb3ZlIGNhY2hpbmcgb2Ygc2FtZS12ZXJzaW9uIE1lc3NhZ2VzIG9uiIjhdwAAAU/ePLJcABB0byBzdG9wIGNvbXBhY3RpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC84AAABAHNGb3JFbmRwb2ludCBKTVggbWV0aG9kcyAKICAgKENBU1NBTkRSQS0xNTUxKQoKCjAuNy4wLWJldGEzCiAqIGFkZCBzdHJhdGVneSBvcHRpb25zIHRvIGRlc2NyaWJlX2tleXNwYWNlIG91dHB1dCAoQ0FTU0FORFJBLTE1NjApCiAqIGxvZyB3YXJuaW5nIHdoZW4gdXNpbmcgcmFuZG9tbHkgZ2VuZXJhdGVkIHRva2VuIChDQVNTQU5EUkEtMTU1MikKICogcmUtb3JnYW5pemUgSk1YIGludG8gLmRiLCAubmV0LCAuaW50ZXJuYWwsIC5yZXF1ZXN0IChDQVOjfW18AAABT948slwAEGcgKENBU1NBTkRSQS0yNzIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzgAAAEAc2hhZG93CiAgIGRhdGEgaW4gYSBkaWZmZXJlbnQgc3N0YWJsZSAoQ0FTU0FORFJBLTI3ODYpCgoKMS4wLjMKICogcmV2ZXJ0IG5hbWUtYmFzZWQgcXVlcnkgZGVmcmFnbWVudGF0aW9uIGFrYSBDQVNTQU5EUkEtMjUwMyAoQ0FTU0FORFJBLTM0OTEpCiAqIGZpeCBpbnZhbGlkYXRlLXJlbGF0ZWQgdGVzdCBmYWlsdXJlcyAoQ0FTU0FORFJBLTM0MzcpCiAqIGFkZCBuZXh0LWdlbiBjcWxzaCB0byBiaW4vIChDQVNTQU5EUkEtMzE4OCwgMzEzMSwgMzQ5M2BgOAoAAAFP3jyyXAAQIENMLkFOWSAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvOAAAAQA4MSkKICogYXZvaWQgR0NpbmcgdG9tYnN0b25lcyBleGNlcHQgb24gbWFqb3IgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTYwNCkKICogaW5jcmVhc2UgZmFpbHVyZSBjb252aWN0aW9uIHRocmVzaG9sZCwgcmVzdWx0aW5nIGluIGxlc3Mgbm9kZXMKICAgaW5jb3JyZWN0bHkgKGFuZCB0ZW1wb3JhcmlseSkgbWFya2VkIGFzIGRvd24gKENBU1NBTkRSQS02MTApCiAqIHJlc3BlY3QgbWVtdGFibGUgdGhyZXNob2xkcyBkdXJpbmcgbG9nIHJlcGxheSAoQ0FTCAK5ygAAAU/ePLJcABA0MDMpCiAqIHJlc3RvcmUgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC84AAABAG4gSGFkb29wIHdyaXRlciBmYWlsaW5nIHRvIHRocm93IGFuCiAgIGV4Y2VwdGlvbiBlbmNvdW50ZXJlZCBhZnRlciBjbG9zZSgpIChDQVNTQU5EUkEtMjc1NSkKICogZml4IHNjYW4gd3JvbmdseSB0aHJvd2luZyBhc3NlcnRpb24gZXJyb3IgKENBU1NBTkRSQS0yNjUzKQogKiBBbHdheXMgdXNlIGV2ZW4gZGlzdHJpYnV0aW9uIGZvciBtZXJrbGUgdHJlZSB3aXRoIFJhbmRvbVBhcnRpdGlvbm5lcgogICAoQ0FTU0FORFJBLTI4NDEpCiAqIGZpeCBkZXO4FKjYAAABT948slwAEHRhdGUgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzgAAAEAbmcgbG9nIHJlcGxheSAoQ0FTU0FORFJBLTg4NSkKICogVXNlIG1pY3Jvc2Vjb25kcy1zaW5jZS1lcG9jaCAoVVRDKSBpbiBjbGksIGluc3RlYWQgb2YgbWlsbGlzZWNvbmRzCiAqIFRyZWF0IGJhdGNoX211dGF0ZSBEZWxldGlvbiB3aXRoIG51bGwgc3VwZXJjb2x1bW4gYXMgImFwcGx5IHRoaXMgcHJlZGljYXRlIAogICB0byB0b3AgbGV2ZWwgc3VwZXJjb2x1bW5zIiAoQ0FTU0FORFJBLTgzNCkKICogU3RyZWFtaW5nIGRlc3RpbmF0aW9uIG5vZGVzILE+OnMAAAFP3jyyXAAQQU5EUkEtNDcyOCkKICogYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvOAAAAQBpb3JpdHkgc2V0dGluZyAoQ0FTU0FORFJBLTMxMDQpCiAqIGdlbmVyYXRlIGhpbnRzIGZvciByZXBsaWNhcyB0aGF0IHRpbWVvdXQsIG5vdCBqdXN0IHJlcGxpY2FzIHRoYXQgYXJlIGtub3duCiAgIHRvIGJlIGRvd24gYmVmb3JlIHN0YXJ0aW5nIChDQVNTQU5EUkEtMjAzNCkKICogQWRkIHRocm90dGxpbmcgZm9yIGludGVybm9kZSBzdHJlYW1pbmcgKENBU1NBTkRSQS0zMDgwKQogKiBtYWtlIHRoZSByZXBhaXIgb2YgYSByYW5nZSByZXBhaXIgYWxs/60Z5gAAAU/ePLJcABBSQS00ODYwKQogKiByZXNlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC84AAABAFNBTkRSQS04MDg0KQpNZXJnZWQgZnJvbSAyLjA6CiAqIFJlamVjdCBjb25kaXRpb25zIG9uIERFTEVURSB1bmxlc3MgZnVsbCBQSyBpcyBnaXZlbiAoQ0FTU0FORFJBLTY0MzApCiAqIFByb3Blcmx5IHJlamVjdCB0aGUgdG9rZW4gZnVuY3Rpb24gREVMRVRFIChDQVNTQU5EUkEtNzc0NykKICogRm9yY2UgYmF0Y2hsb2cgcmVwbGF5IGJlZm9yZSBkZWNvbW1pc3Npb25pbmcgYSBub2RlIChDQVNTQU5EUkEtNzQ0NikKICogRml4IGhpbnQgcmVwbGF5IHe18PjsAAABT948slwAECB0byBzZXZlbiBkYXlzIGYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzgAAAEAbiBjYWxjdWxhdGluZyBtYXggc3N0YWJsZSBzaXplIGluIExDUyAoQ0FTU0FORFJBLTkyMzUpCiAqIE1ha2Ugc3N0YWJsZSBibGFja2xpc3Rpbmcgd29yayB3aXRoIGNvbXByZXNzaW9uIChDQVNTQU5EUkEtOTEzOCkKICogRG8gbm90IGF0dGVtcHQgdG8gcmVidWlsZCBpbmRleGVzIGlmIG5vIGluZGV4IGFjY2VwdHMgYW55IGNvbHVtbiAoQ0FTU0FORFJBLTkxOTYpCiAqIERvbid0IGluaXRpYXRlIHNuaXRjaCByZWNvbm5lY3Rpb24gZm9yIGRlYWQgc2vD2WsAAAFP3jyyXAAQIG5vZGV0b29sIGNvbXBhYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvOAAAAQBpbmdJdGVyYXRvciB3aXRoIE1lcmdlSXRlcmF0b3IgCiAgIChDQVNTQU5EUkEtMjA2MikKICogRml4ZWQgdGhlIGFiaWxpdHkgdG8gc2V0IGNvbXBhY3Rpb24gc3RyYXRlZ3kgaW4gY2xpIHVzaW5nIGNyZWF0ZSBjb2x1bW4gCiAgIGZhbWlseSBjb21tYW5kIChDQVNTQU5EUkEtMjc3OCkKICogY2xlYW4gdXAgdG1wIGZpbGVzIGFmdGVyIGZhaWxlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtMjQ2OCkKICogcmVzdHJpY3QgcmVwYWlyIHN0cmVhbWluZyB0eWA45QAAAU/ePLJcABBORFJBLTMxOTUpCiAqIEZpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC84AAABACB3cml0ZS4gKENBU1NBTkRSQS02NjIpCiAqIEFib3J0IGJvb3RzdHJhcCBpZiBJUCBpcyBhbHJlYWR5IGluIHRoZSB0b2tlbiByaW5nIChDQVNTQU5EUkEtNjYzKQogKiBpbmNyZWFzZSBkZWZhdWx0IGNvbW1pdGxvZyBzeW5jIHBlcmlvZCwgYW5kIHdhaXQgZm9yIGxhc3Qgc3luYyB0byAKICAgZmluaXNoIGJlZm9yZSBzdWJtaXR0aW5nIGFub3RoZXIgKENBU1NBTkRSQS02NjgpCgoKMC41LjAgUkMxCiAqIEZpeCBwb3RlbnRpYWwgTlBFIGluIGdldF8e5SF/AAABT948slwAECkKICogZml4IHJhY2UgY28AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzgAAAEAY3Rpb25JdGVyYWJsZSAoQ0FTU0FORFJBLTUzOTUpCiAqIHJlbW92ZSB0aGUgaW5kZXggZW50cnkgb24gb2xkQ29sdW1uIHdoZW4gbmV3IGNvbHVtbiBpcyBhIHRvbWJzdG9uZSAKICAgKENBU1NBTkRSQS01Mzk1KQogKiBDaGFuZ2UgZGVmYXVsdCBzdHJlYW0gdGhyb3VnaHB1dCBmcm9tIDQwMCB0byAyMDAgbWJwcyAoQ0FTU0FORFJBLTUwMzYpCiAqIEdvc3NpcGVyIGxvZ3MgRE9XTiBmb3Igc3ltbWV0cnkgd2l0aCBVUCAoQ0FTU0FORFJBLTUxODcpCm3jRSkAAAFP3jyyXAAQIEFkZHMgZXZlbnRzIHB1cwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvOQAAAQBpZW50cyBvbiB0aGUgSlZNIChDQVNTQU5EUkEtNTM1KQogICAoc2VlIGNvbnRyaWIvY2xpZW50X29ubHkgZm9yIGFuIGV4YW1wbGUgb2YgdXNlKQogKiBtYWtlIGNvbnNpc3RlbmN5X2xldmVsIGZ1bmN0aW9uYWwgaW4gZ2V0X3JhbmdlX3NsaWNlIChDQVNTQU5EUkEtNTY4KQogKiBvcHRpbWl6ZSBrZXkgZGVzZXJpYWxpemF0aW9uIGZvciBSYW5kb21QYXJ0aXRpb25lciAoQ0FTU0FORFJBLTU4MSkKICogYXZvaWQgR0NpbmcgdG9tYnN0b25lcyBleGNl6mqStwAAAU/ePLJcABB3IHVuYXV0aGVudGljYXRlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC85AAABAGgpIEZpeCBkZXNlcmlhbGl6YXRpb24gb2YgYmxvYnMgKENBU1NBTkRSQS03NjAzKQogKiBVc2UgImtleXNwYWNlIHVwZGF0ZWQiIHNjaGVtYSBjaGFuZ2UgbWVzc2FnZSBmb3IgVURUIGNoYW5nZXMgaW4gdjEgYW5kCiAgIHYyIHByb3RvY29scyAoQ0FTU0FORFJBLTc2MTcpCiAqIEZpeCB0cmFjaW5nIG9mIHJhbmdlIHNsaWNlcyBhbmQgc2Vjb25kYXJ5IGluZGV4IGxvb2t1cHMgdGhhdCBhcmUgbG9jYWwKICAgdG8gdGhlIGNvb3JkaW5hdG9yIChDQVPcAco5ABltzX91ghUAAAGlnuO5OgAQbzXikPmAEeS4oOfUSNXibQAAAAEBtNu3tNxJP7Wzv85uQ0gyyn////+AAAAAAAAAAAAAAAEADgALcm93c19tZXJnZWT/AA4AC3Jvd3NfbWVyZ2VkAVVTZnIABRX31fh2pwAAAAcAAwAAAAIACTqAVVyg8gAFFffV+HaoAAAAAAALAAhieXRlc19pbgACAAk6gFVcoPIABRX31fh2qAAAAAgAAAAAAABXzgAMAAlieXRlc19vdXQAAgAJOoBVXKDyAAUV99X4dqgAAAAIAAAAAAAATOkAFAARY29sdW1uZmFtaWx5X25hbWUAAgAJOoBVXKDyAAUV99X4dqgAAAAVc2NoZW1hX2NvbHVtbmZhbWlsaWVzAA8ADGNvbXBhY3RlZF9hdAACAAk6gFVcoPIABRX31fh2qAAAAAgAAAFNTcgvOQAQAA1rZXlzcGFjZV9uYW1lAAIACTqAVVyg8gAFFffV+HaoAAAABnN5c3RlbQAVAAtyb3dzX21lcmdlZAAABAAAAAEAAgAJOoBVXKDyAAUV99X4dqgAAAAIAAAAAAAAAAwhbzR3AAABT948slwAEHNhZ2luZ1NlcnZpY2UuZ2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzoAAAEAbWVvdXQgZXZlbnRzIHRvIHF1ZXJ5IHRyYWNlcyAoQ0FTU0FORFJBLTU1MjApCiAqIEZpeCBzZXJpYWxpemF0aW9uIG9mIHRoZSBMRUZUIGdvc3NpcCB2YWx1ZSAoQ0FTU0FORFJBLTU2OTYpCiAqIFBpZzogc3VwcG9ydCBmb3IgY3FsMyB0YWJsZXMgKENBU1NBTkRSQS01MjM0KQogKiBGaXggc2tpcHBpbmcgcmFuZ2UgdG9tYnN0b25lcyB3aXRoIHJldmVyc2UgcXVlcmllcyAoQ0FTU0FORFJBLTU3MTIpCiAqIEV4cGlyZSBlbnRyaWVzIG91dCBvZiBUaI0sL+sAAAFP3jyyXAAQZXIgbWVzc2FnZSBjb2FsZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvOgAAAQBvdmUgc3VwcG9ydAogKiBXb3JrYXJvdW5kcyBmb3IgYSB3ZWlyZCBidWcgaW4gSkRLIHNlbGVjdC9yZWdpc3RlciB0aGF0IHNlZW1zCiAgIHBhcnRpY3VsYXJseSBjb21tb24gb24gVk0gZW52aXJvbm1lbnRzLiBDYXNzYW5kcmEgc2hvdWxkIGRlcGxveQogICBmaW5lIG9uIEVDMiBub3cKICogTXVjaCBpbXByb3ZlZCBpbmZyYXN0cnVjdHVyZTogdGhlIGJlZ2lubmluZ3Mgb2YgYSBkZWNlbnQgdGVzdCBzdWl0ZQogICAoImFudCB0ZXN0IiBmb3IgdW5p8179nAAAAU/ePLJcABAgKENBU1NBTkRSQS05MzApAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC86AAABAHN0cmluZ3MgKENBU1NBTkRSQS02NDEwKQogKiBBbGxvdyBzcGVjaWZ5aW5nIGRhdGFjZW50ZXJzIHRvIHBhcnRpY2lwYXRlIGluIGEgcmVwYWlyIChDQVNTQU5EUkEtNjIxOCkKICogRml4IGRpdmlkZS1ieS16ZXJvIGluIFBDSSAoQ0FTU0FORFJBLTY0MDMpCiAqIEZpeCBzZXR0aW5nIGxhc3QgY29tcGFjdGVkIGtleSBpbiB0aGUgd3JvbmcgbGV2ZWwgZm9yIExDUyAoQ0FTU0FORFJBLTYyODQpCiAqIEFkZCBtaWxsaXNlY29uZCBwcmVjaXNpb24gZm8R9K3QAAABT948slwAEGQgQlVHUyBmaWxlCgoKMC4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzoAAAEAT3V0T2ZCb3VuZHNFeGNlcHRpb24gd2hlbiBnZW5lcmF0aW5nIGVycm9yIG1lc3NhZ2UKICAgZm9yIHNvbWUgQ1FMIHN5bnRheCBlcnJvcnMgKENBU1NBTkRSQS04NDU1KQogKiBTY2FsZSBtZW10YWJsZSBzbGFiIGFsbG9jYXRpb24gbG9nYXJpdGhtaWNhbGx5IChDQVNTQU5EUkEtNzg4MikKICogY2Fzc2FuZHJhLXN0cmVzcyBzaW11bHRhbmVvdXMgaW5zZXJ0cyBvdmVyIHNhbWUgc2VlZCAoQ0FTU0FORFJBLTc5NjQpCiAqIFJlZHVjZSBjYXNzYW5kcl/29Y4AAAFP3jyyXAAQbGliZWRpdCBkZXRlY3RpbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvOgAAAQBBLTI1ODkpCiAqIHJlc2V0IENGIGFuZCBTQyBkZWxldGlvbiB0aW1lcyBhZnRlciBnY19ncmFjZSAoQ0FTU0FORFJBLTIzMTcpCiAqIG9wdGltaXplIGF3YXkgc2VlayB3aGVuIGNvbXBhY3Rpbmcgd2lkZSByb3dzIChDQVNTQU5EUkEtMjg3OSkKICogc2luZ2xlLXBhc3Mgc3RyZWFtaW5nIChDQVNTQU5EUkEtMjY3NywgMjkwNiwgMjkxNiwgMzAwMykKICogdXNlIHJlZmVyZW5jZSBjb3VudGluZyBmb3IgZGVsZXRpbmcgc3N0YWJsZXMgaW5zdGVhZCBvIFjzzQAAAU/ePLJcABB0byByZWxldmVsIHNzdGFiAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC86AAABACogQWRkZWQgcHJlbG9hZF9yb3dfY2FjaGUgb3B0aW9uIChDQVNTQU5EUkEtOTQ2KQogKiBhZGQgQ1JDIHRvIGNvbW1pdGxvZyBoZWFkZXIgKENBU1NBTkRSQS05OTkpCiAqIHJlbW92ZWQgZGVwcmVjYXRlZCBiYXRjaF9pbnNlcnQgYW5kIGdldF9yYW5nZV9zbGljZSBtZXRob2RzIChDQVNTQU5EUkEtMTA2NSkKICogYWRkIHRydW5jYXRlIHRocmlmdCBtZXRob2QgKENBU1NBTkRSQS01MzEpCiAqIGh0dHAgbWluaS1pbnRlcmZhY2UgdXNpbmcgbXg0aiBomOC6AAABT948slwAEHNzYW5kcmEudW5zYWZlc3kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzoAAAEAdW1uRmFtaWx5UmVjb3JkUmVhZGVyIChDQVNTQU5EUkEtMTA4MSkKCgowLjYuMQogKiBmaXggTlBFIGluIHNzdGFibGUyanNvbiB3aGVuIG5vIGV4Y2x1ZGVkIGtleXMgYXJlIGdpdmVuIChDQVNTQU5EUkEtOTM0KQogKiBrZWVwIHRoZSByZXBsaWNhIHNldCBjb25zdGFudCB0aHJvdWdob3V0IHRoZSByZWFkIHJlcGFpciBwcm9jZXNzCiAgIChDQVNTQU5EUkEtOTM3KQogKiBhbGxvdyBxdWVyeWluZyBnZXRBbGxSYW5nZXMgd2l0aCBlbXB0eSB0b2tlblodajoAAAFP3jyyXAAQcGxlIHNzdGFibGVzIChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvOgAAAQBwb3J0IGNvcnJlY3Qgc2VyaWFsaXplZFNpemUgKENBU1NBTkRSQS03OTQ4KQogKiBNYWtlIENRTFNTVGFibGVXcml0ZXIgc3luYyB3aXRoaW4gcGFydGl0aW9ucyAoQ0FTU0FORFJBLTczNjApCiAqIFBvdGVudGlhbGx5IHVzZSBub24tbG9jYWwgcmVwbGljYXMgaW4gQ3FsQ29uZmlnSGVscGVyIChDQVNTQU5EUkEtNzkwNikKICogRXhwbGljaXRseSBkaXNhbGxvdyBtaXhpbmcgbXVsdGktY29sdW1uIGFuZCBzaW5nbGUtY29sdW1uCiAgIHJlbGF0aW9uopseGQAAAU/ePLJcABBvbXBhY3Rpb24gdXBvbiBLAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC86AAABAG92ZSBjYXNzYW5kcmEgc3BlY2lmaWMgZXhjZXB0aW9ucyBmcm9tIEpNWCBpbnRlcmZhY2UgKENBU1NBTkRSQS00ODkzKQogKiAoQ1FMMykgRm9yY2UgdXNpbmcgQUxMT1cgRklMVEVSSU5HIG9uIHBvdGVudGlhbGx5IGluZWZmaWNpZW50IHF1ZXJpZXMgKENBU1NBTkRSQS00OTE1KQogKiAoY3FsMykgRml4IGFkZGluZyBjb2x1bW4gd2hlbiB0aGUgdGFibGUgaGFzIGNvbGxlY3Rpb25zIChDQVNTQU5EUkEtNDk4MikKICogKGNxbDMpIEZpeCBhbGxvd2mhM2U7AAABT948slwAECBza2lwIGN1cnJlbnQgdmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzoAAAEAcyAoQ0FTU0FORFJBLTY4NjQpCiAqIEZpeCBzY2hlbWEgY29uY3VycmVuY3kgZXhjZXB0aW9ucyAoQ0FTU0FORFJBLTY4NDEpCiAqIEZpeCBsZWFraW5nIHZhbGlkYXRvciBGSCBpbiBTdHJlYW1Xcml0ZXIgKENBU1NBTkRSQS02ODMyKQogKiBGaXggc2F2aW5nIHRyaWdnZXJzIHRvIHNjaGVtYSAoQ0FTU0FORFJBLTY3ODkpCiAqIEZpeCB0cmlnZ2VyIG11dGF0aW9ucyB3aGVuIGJhc2UgbXV0YXRpb24gbGlzdCBpcyBpbW11dGFibGUgKENBU1NBTkRSQXosAlAAAAFP3jyyXAAQIHBhY2thZ2luZyAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvOgAAAQBlCiAgIChDQVNTQU5EUkEtMzUzOCkKICogSW1wcm92ZSBtZW10YWJsZSBzbGljZSBpdGVyYXRpb24gcGVyZm9ybWFuY2UgKENBU1NBTkRSQS0zNTQ1KQogKiBtb3JlIGVmZmljaWVudCBhbGxvY2F0aW9uIG9mIHNtYWxsIGJsb29tIGZpbHRlcnMgKENBU1NBTkRSQS0zNjE4KQogKiBVc2Ugc2VwYXJhdGUgd3JpdGVyIHRocmVhZCBpbiBTU1RhYmxlU2ltcGxlVW5zb3J0ZWRXcml0ZXIgKENBU1NBTkRSQS0zNjE5KQogKiBmc3luYyB0aGUgZGlyZWN0b3J5V05fCwAAAU/ePLJcABAxKQogKiBmaXggYm9ndXMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC86AAABAHJvdHRsaW5nIHRvIHByZXZlbnQgYW4gTlBFIHdoZW4gdGhlcmUgaXMgbm8geWFtbCBjb25maWcgKENBU1NBTkRSQS0zNzUyKQogKiBBbGxvdyBjb25jdXJyZW50IHNjaGVtYSBtaWdyYXRpb25zIChDQVNTQU5EUkEtMTM5MSwgMzgzMikKICogQWRkIFNuYXBzaG90Q29tbWFuZCB0byB0cmlnZ2VyIHNuYXBzaG90IG9uIHJlbW90ZSBub2RlIChDQVNTQU5EUkEtMzcyMSkKICogTWFrZSBDRk1ldGFEYXRhIGNvbnZlcnNpb25zIHRvL2Zyb20gdGhyaWZ0L24bCGkIAAABT948slwAEAogICBTVENTIChDQVNTQU4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzoAAAEAbnQgd2hlbiBib290c3RyYXBwaW5nIGEgbmV3IG1hY2hpbmUgaW50byByYW5nZSB3aXRoIG5vdAogICBtdWNoIGRhdGEgeWV0IGluc3RlYWQgb2YgcmFuZG9tIHRva2VuIChDQVNTQU5EUkEtMTExMikKICoga2lsbCBzZXJ2ZXIgb24gT09NIGluIGV4ZWN1dG9yIHN0YWdlIGFzIHdlbGwgYXMgVGhyaWZ0IChDQVNTQU5EUkEtMTIyNikKICogcmVtb3ZlIG9wcG9ydHVuaXN0aWMgcmVwYWlycywgd2hlbiB0d28gbWFjaGluZXMgd2l0aCBvdmVybGFwcGluZ0WgIdkAAAFP3jyyXAAQcGVyIGNvbHVtbmZhbWlseQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvOgAAAQBhdGlvbiBmb3Igc2NoZW1hIChDQVNTQU5EUkEtMzc5MikKICogYWRkIG1pc3NpbmcgY29sdW1uIHZhbGlkYXRvciBvcHRpb25zIHRvIHRoZSBDTEkgaGVscCAoQ0FTU0FORFJBLTM5MjYpCiAqIHNraXAgcmVhZGluZyBzYXZlZCBrZXkgY2FjaGUgaWYgQ0YncyBjYWNoaW5nIHN0cmF0ZWd5IGlzIE5PTkUgb3IgUk9XU19PTkxZIChDQVNTQU5EUkEtMzk1NCkKICogVW5pZnkgbWlncmF0aW9uIGNvZGUgKENBU1NBTkRSQS00MDE3KQpNZXJnZWQgZnJvbSAxdECFrgAAAU/ePLJcABBSQS00MTU0KQogKiBmaXggAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC86AAABAG1taXRsb2cgcmVwbGF5LCBwcmltYXJpbHkgYWZmZWN0aW5nCiAgIHN5c3RlbXMgd2l0aCBtYW55ICgxMDBzKSBvZiBDRiBkZWZpbml0aW9ucyAoQ0FTU0FORFJBLTM3NTEpCiAqIEZpeCByZWxldmFudCB0b21ic3RvbmUgaWdub3JlZCB3aXRoIHN1cGVyIGNvbHVtbnMgKENBU1NBTkRSQS0zODc1KQoKCjEuMC43CiAqIGZpeCByZWdyZXNzaW9uIGluIEhIIHBhZ2Ugc2l6ZSBjYWxjdWxhdGlvbiAoQ0FTU0FORFJBLTM2MjQpCiAqIHJldHJ5IGZhaWxlZCBDYqfgABmCieTXTHwAAABT0ybfUgAoAAZzeXN0ZW0AABVzY2hlbWFfY29sdW1uZmFtaWxpZXMAAAQAAAAFAAAAAAEBWh/yZ6zgPxKFY8+uYQPGXlVTZnIABRX31fh+eAAAAAAAAAAA5Eb5+QAAAU/ePLJcABAgZGVmYXVsdHMgZm9yIGZsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC88AAABAHdpdGggQ09OVEFJTlMgKEtFWSkgcXVlcmllcyBvbiBzZWNvbmRhcnkgaW5kZXhlcwogICAoQ0FTU0FORFJBLTgxNDcpCiAqIEZpeCByZWFkLXJhdGUgdHJhY2tpbmcgb2Ygc3N0YWJsZXMgZm9yIHNvbWUgcXVlcmllcyAoQ0FTU0FORFJBLTgyMzkpCiAqIEZpeCBkZWZhdWx0IHRpbWVzdGFtcCBpbiBRdWVyeU9wdGlvbnMgKENBU1NBTkRSQS04MjQ2KQogKiBTZXQgc29ja2V0IHRpbWVvdXQgd2hlbiByZWFkaW5nIHJlbW90ZSB2ZXJzaW9uIChDQVNTQU6RkCEEAAABT948slwAEHN0YXRzIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzwAAAEAdCBmaWxlcyAoQ0FTU0FORFJBLTQwMTIpCiAqIENGTWV0YURhdGEuZnJvbVRocmlmdCB0byB0aHJvdyBDb25maWd1cmF0aW9uRXhjZXB0aW9uIHVwb24gZXJyb3IgKENBU1NBTkRSQS00MzUzKQogKiBVc2UgQ0YgY29tcGFyYXRvciB0byBzb3J0IGluZGV4ZWQgY29sdW1ucyBpbiBTZWNvbmRhcnlJbmRleE1hbmFnZXIKICAgKENBU1NBTkRSQS00MzY1KQogKiBhZGQgc3RyYXRlZ3lfb3B0aW9ucyB0byB0aGUgS1NNZXRhRGF0YS50b1N0cmluZygpIG91dIoOO8MAAAFP3jyyXAAQVU9SVU0gY2FsY3VsYXRpbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvPAAAAQBzeW5jIGNvbXByZXNzaW9uIG1ldGFkYXRhIChDQVNTQU5EUkEtNjUzMSkKICogVmFsaWRhdGUgQ0YgZXhpc3RlbmNlIG9uIGV4ZWN1dGlvbiBmb3IgcHJlcGFyZWQgc3RhdGVtZW50IChDQVNTQU5EUkEtNjUzNSkKICogQWRkIGFiaWxpdHkgdG8gdGhyb3R0bGUgYmF0Y2hsb2cgcmVwbGF5IChDQVNTQU5EUkEtNjU1MCkKICogRml4IGV4ZWN1dGluZyBMT0NBTF9RVU9SVU0gd2l0aCBTaW1wbGVTdHJhdGVneSAoQ0FTU0FORFJBLTY1NDUpCiAqIEF2b2lkEcgZjgAAAU/ePLJcABAtMTMyNykKICogcHVzaCBEAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC88AAABACBhZnRlciB1c2UgKENBU1NBTkRSQS0zNzExKQogKiBBdm9pZCA8IDAgdmFsdWUgZm9yIHBlbmRpbmcgdGFza3MgaW4gbGV2ZWxlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtMzY5MykKICogKEhhZG9vcCkgU3VwcG9ydCBUaW1lVVVJRCBpbiBQaWcgQ2Fzc2FuZHJhU3RvcmFnZSAoQ0FTU0FORFJBLTMzMjcpCiAqIENoZWNrIHNjaGVtYSBpcyByZWFkeSBiZWZvcmUgY29udGludWluZyBib29zdHJhcHBpbmcgKENBU1NBTkRSQS0zNjI5KQogKiBDYXRjaCD7ZjdqAAABT948slwAEHVtbkZhbWlseSBgY29tcHIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzwAAAEAdGltZSBjb25zaXN0ZW50bHkgZm9yIG5vZGUtbG9jYWwgdGltZW91dHMgKENBU1NBTkRSQS01NTgxKQogKiBBdm9pZCB1bm5lY2Vzc2FyeSBzZWNvbmQgcGFzcyBvbiBuYW1lLWJhc2VkIHF1ZXJpZXMgKENBU1NBTkRSQS01NTc3KQogKiBFeHBlcmltZW50YWwgdHJpZ2dlcnMgKENBU1NBTkRSQS0xMzExKQogKiBKRU1hbGxvYyBzdXBwb3J0IGZvciBvZmYtaGVhcCBhbGxvY2F0aW9uIChDQVNTQU5EUkEtMzk5NykKICogU2luZ2xlLXBhc3MgY29tcGFjdM0xC3IAAAFP3jyyXAAQYW5ub3QgZXhwaXJlIGNvbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvPAAAAQB0aW9uIG9mIElOIGNsYXVzZXMgd2l0aCAybmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTYwNTApCiAqIFN1cHBvcnQgbmFtZWQgYmluZCB2YXJpYWJsZXMgaW4gQ1FMIChDQVNTQU5EUkEtNjAzMykKTWVyZ2VkIGZyb20gMS4yOgogKiBBbGxvdyBjYWNoZS1rZXlzLXRvLXNhdmUgdG8gYmUgc2V0IGF0IHJ1bnRpbWUgKENBU1NBTkRSQS01OTgwKQogKiBBdm9pZCBzZWNvbmQtZ3Vlc3Npbmcgb3V0LW9mLXNwYWNlIHN0YXRlIChDQVNTQU5EUkEtNTYwNSkKAdxWowAAAU/ePLJcABApCiAqIEZpeCB1bml0IGluAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC88AAABAGV5c3BhY2VzCiAgIChDQVNTQU5EUkEtNjkwNikKICogRml4IFNTVGFibGUgbm90IHJlbGVhc2VkIGlmIHN0cmVhbSBzZXNzaW9uIGZhaWxzIChDQVNTQU5EUkEtNjgxOCkKICogQXZvaWQgYnVpbGQgZmFpbHVyZSBkdWUgdG8gQU5UTFIgdGltZW91dCAoQ0FTU0FORFJBLTY5OTEpCiAqIFF1ZXJpZXMgb24gY29tcGFjdCB0YWJsZXMgY2FuIHJldHVybiBtb3JlIHJvd3MgdGhhdCByZXF1ZXN0ZWQgKENBU1NBTkRSQS03MDUyKQogKiBVU0lORyBUSU1FU1SGhzKIAAABT948slwAECAqIEltcHJvdmUgZm9yY2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzwAAAEAZXN0aW1hdGUgcmFuZ2VzIGluIGluZGV4IHNzdGFibGVzCiAgIChDQVNTQU5EUkEtNDQwMykKICogcmVzdG9yZSBwcmUtQ0FTU0FORFJBLTM4NjIgYXBwcm9hY2ggdG8gcmVtb3ZpbmcgZXhwaXJlZCB0b21ic3RvbmVzCiAgIGZyb20gcm93IGNhY2hlIGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtNDM2NCkKICogKHN0cmVzcykgc3VwcG9ydCBmb3IgQ1FMIHByZXBhcmVkIHN0YXRlbWVudHMgKENBU1NBTkRSQS0zNjMzKQogKiBDb3JyZWN0bHkgYxXA99QAAAFP3jyyXAAQdGFsbHkgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvPAAAAQByYS1jbGkgKENBU1NBTkRSQS01NjcsIENBU1NBTkRSQS01OTQpCiAqIGZpeCByZXR1cm5pbmcgbGl2ZSBzdWJjb2x1bW5zIG9mIGRlbGV0ZWQgc3VwZXJjb2x1bW5zIChDQVNTQU5EUkEtNTgzKQogKiByZXNwZWN0IEpBVkFfSE9NRSBpbiBiaW4vIHNjcmlwdHMgKHNldmVyYWwgdGlja2V0cykKICogYWRkIFN0b3JhZ2VTZXJ2aWNlLmluaXRDbGllbnQgZm9yIGZhdCBjbGllbnRzIG9uIHRoZSBKVk0gKENBU1NBTkRSQS01MzUpCiAgIChzZWUgY29udHJpfxucUQAAAU/ePLJcABBvZiBDTCBzZWdtZW50IGFwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC88AAABAGFja292ZXJmbG93IHdoZW4gY29tcGFjdGluZyAxMDAwcyBvZiBzc3RhYmxlcwogICAoQ0FTU0FORFJBLTQ3NjUpCiAqIGZpeCB3cm9uZyBsZXZlbGVkIGNvbXBhY3Rpb24gcHJvZ3Jlc3MgY2FsY3VsYXRpb24gKENBU1NBTkRSQS00ODA3KQogKiBhZGQgYSBjbG9zZSgpIG1ldGhvZCB0byBDUkFSIHRvIHByZXZlbnQgbGVha2luZyBmaWxlIGRlc2NyaXB0b3JzIChDQVNTQU5EUkEtNDgyMCkKICogZml4IHBvdGVudGlhbCBpbmZpbml0ZSBsb29wIGluIGeDv8VwAAABT948slwAEChDQVNTQU5EUkEtNzI2NCkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzwAAAEAIHNvbWUgVGhyaWZ0IHNsaWNlIGRlbGV0aW9ucyBhbmQgdXBkYXRlcyBvZiBDT01QQUNUIFNUT1JBR0UKICAgdGFibGVzIHdpdGggc29tZSBjbHVzdGVyaW5nIGNvbHVtbnMgb21pdHRlZCAoQ0FTU0FORFJBLTc5OTApCiAqIEZpeCBmaWx0ZXJpbmcgZm9yIENPTlRBSU5TIG9uIHNldHMgKENBU1NBTkRSQS04MDMzKQogKiBQcm9wZXJseSB0cmFjayBhZGRlZCBzaXplIChDQVNTQU5EUkEtNzIzOSkKICogQWxsb3cgY29tcGlsYXRpb24gaW4gamF2YSA4IG1fRl8AAAFP3jyyXAAQUmF0aW8gKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvPAAAAQA3KQogKiBhcHBseSBkaXNrX2ZhaWx1cmVfcG9saWN5IHRvIGJhZCBkaXNrcyBvbiBpbml0aWFsIGRpcmVjdG9yeSBjcmVhdGlvbiAKICAgKENBU1NBTkRSQS00ODQ3KQogKiBPcHRpbWl6ZSBuYW1lLWJhc2VkIHF1ZXJpZXMgdG8gdXNlIEFycmF5QmFja2VkU29ydGVkQ29sdW1ucyAoQ0FTU0FORFJBLTUwNDMpCiAqIEZhbGwgYmFjayB0byBvbGQgbWFuaWZlc3QgaWYgbW9zdCByZWNlbnQgaXMgdW5wYXJzZWFibGUgKENBU1NBTkRSQS01MDQxKQogKiBw6MEHWQAAAU/ePLJcABAxMjUpCiAqIGNxbHNoOiBxAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC88AAABAHdoZW4KICAgcGFnaW5nIGlzIGVuYWJsZWQgKENBU1NBTkRSQS04MDg3KQogKiBNb3ZlIGFsbCBoaW50cyByZWxhdGVkIHRhc2tzIHRvIGhpbnRzIGludGVybmFsIGV4ZWN1dG9yIChDQVNTQU5EUkEtODI4NSkKICogRml4IHBhZ2luZyBmb3IgbXVsdGktcGFydGl0aW9uIElOIHF1ZXJpZXMgKENBU1NBTkRSQS04NDA4KQogKiBGaXggTU9WRURfTk9ERSB0b3BvbG9neSBldmVudCBuZXZlciBiZWluZyBlbWl0dGVkIHdoZW4gYSBub2RlCiAgIG1vdmVzIGm3OkKgAAABT948slwAEERSQS01Nzg3KQogKiBUaHIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILzwAAAEAZXNob2xkIGFuZCBoaXN0b2dyYW0gKENBU1NBTkRSQS02MDQyLCA2MDU3KQogKiBFbmFibGUgdGNwIGtlZXBhbGl2ZSBvbiBpbmNvbWluZyBjb25uZWN0aW9ucyAoQ0FTU0FORFJBLTQwNTMpCiAqIEZpeCBmYXQgY2xpZW50IHNjaGVtYSBwdWxsIE5QRSAoQ0FTU0FORFJBLTYwODkpCiAqIEZpeCBtZW10YWJsZSBmbHVzaGluZyBmb3IgaW5kZXhlZCB0YWJsZXMgKENBU1NBTkRSQS02MTEyKQogKiBGaXggc2tpcHBpbmcgY29sdW1ucyB3aXRoIG11bHRpcAW2EWUAAAFP3jyyXAAQYnVmZmVyIGJvdW5kYXJpZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvPAAAAQBBTkRSQS02NDUxKQogKiBBZGQgYnJvYWRjYXN0X3JwY19hZGRyZXNzIG9wdGlvbiB0byBjYXNzYW5kcmEueWFtbCAoQ0FTU0FORFJBLTU4OTkpCiAqIEF1dG8gcmVsb2FkIEdvc3NpcGluZ1Byb3BlcnR5RmlsZVNuaXRjaCBjb25maWcgKENBU1NBTkRSQS01ODk3KQogKiBGaXggb3ZlcmZsb3cgb2YgbWVtdGFibGVfdG90YWxfc3BhY2VfaW5fbWIgKENBU1NBTkRSQS02NTczKQogKiBGaXggQUJUQyBOUEUgYW5kIGFwcGx5IHVwZGF0ZSBmdW5jdGlvbiBj4MyRtQAZluZMgCbWAAABT948slwAEAogKiBGaXggcmVwYWlyIGgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILz4AAAEAQVNTQU5EUkEtOTIzNCkKICogSW5jb21pbmdUY3BDb25uZWN0aW9uIHRocmVhZCBpcyBub3QgbmFtZWQgKENBU1NBTkRSQS05MjYyKQogKiBDbG9zZSBpbmNvbWluZyBjb25uZWN0aW9ucyB3aGVuIE1lc3NhZ2luZ1NlcnZpY2UgaXMgc3RvcHBlZCAoQ0FTU0FORFJBLTkyMzgpCiAqIEZpeCBzdHJlYW1pbmcgaGFuZyB3aGVuIHJldHJ5aW5nIChDQVNTQU5EUkEtOTEzMikKCgoyLjEuNQogKiBSZS1hZGQgZGVwcmVjYXRlZCBjb2xkX3JlYWRzX3RvX29taYsE9vIAAAFP3jyyXAAQLTQ1MzMpCiAqIEF2b2lkIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvPgAAAQAgKiBDaGFuZ2Ugbm9kZXRvb2wgc2V0Y2FjaGVjYXBjaXR5IHRvIG1hbmlwdWxhdGUgZ2xvYmFsIGNhY2hlcyAoQ0FTU0FORFJBLTQ1NjMpCiAqIChjcWwzKSBmaXggc2V0dGluZyBjb21wYWN0aW9uIHN0cmF0ZWd5IChDQVNTQU5EUkEtNDU5NykKICogZml4IGJyb2tlbiBzeXN0ZW0uc2NoZW1hXyogdGltZXN0YW1wcyBvbiBzeXN0ZW0gc3RhcnR1cCAoQ0FTU0FORFJBLTQ1NjEpCiAqIGZpeCB3cm9uZyBza2lwIG9mIGNhY2hlIHNhdmluZyAoQ0FTU0FOAdjzogAAAU/ePLJcABBldmVsIHBhcmFtZXRlciB0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC8+AAABACAoQ0FTU0FORFJBLTIyODYpCiAqIGZpeCBISCBkZWxpdmVyeSB3aGVuIGNvbHVtbiBpbmRleCBpcyBsYXJnZXIgdGhhbiAyR0IgKENBU1NBTkRSQS0yMjk3KQogKiBtYWtlIDJhcnkgaW5kZXhlcyB1c2UgcGFyZW50IENGIGZsdXNoIHRocmVzaG9sZHMgZHVyaW5nIGluaXRpYWwgYnVpbGQKICAgKENBU1NBTkRSQS0yMjk0KQogKiB1cGRhdGUgbWVtdGFibGVfdGhyb3VnaHB1dCB0byBiZSBhIGxvbmcgKENBU1NBTkRSQS0yMTU4KQoKCjAuNy4zCiAqIEu8O7P0AAABT948slwAECkKICogRG9uJ3QgZHVwbGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILz4AAAEAY29sdW1uIGNvdW50IHN0YXRpc3RpY3MgKENBU1NBTkRSQS0xOTc2KQogKiBmaXggc3RyZWFtaW5nIG9mIG11bHRpcGxlIENGcyBkdXJpbmcgYm9vdHN0cmFwIChDQVNTQU5EUkEtMTk5MikKICogZXhwbGljaXRseSBzZXQgSlZNIEdDIG5ldyBnZW5lcmF0aW9uIHNpemUgd2l0aCAtWG1uIChDQVNTQU5EUkEtMTk2OCkKICogYWRkIHNob3J0IG9wdGlvbnMgZm9yIENMSSBmbGFncyAoQ0FTU0FORFJBLTE1NjUpCiAqIG1ha2Uga2V5c3BhY2UgYXJndW1lbl5DbfYAAAFP3jyyXAAQdW5pcXVlIHJhY2sgbmFtZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvPgAAAQA5KQogKiBBZGQgc3ludGF4IHRvIHJlbW92ZSBtdWx0aXBsZSBlbGVtZW50cyBmcm9tIGEgbWFwIChDQVNTQU5EUkEtNjU5OSkKICogU3VwcG9ydCBub24tZXF1YWxzIGNvbmRpdGlvbnMgaW4gbGlnaHR3ZWlnaHQgdHJhbnNhY3Rpb25zIChDQVNTQU5EUkEtNjgzOSkKICogQWRkIElGIFtOT1RdIEVYSVNUUyB0byBjcmVhdGUvZHJvcCB0cmlnZ2VycyAoQ0FTU0FORFJBLTc2MDYpCiAqIChjcWxzaCkgRGlzcGxheSB0aGUgY3VycmVudCBsb2dnZWQtaW4gjijj3AAAAU/ePLJcABAwKQogKiBGaXggc25hcHNoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC8+AAABAGEgcHJvcGFnYXRpb24gcGVyZm9ybWFuY2UgKENBU1NBTkRSQS01MDI1KQogKiBGaXggZm9yIEluZGV4SGVscGVyLkluZGV4Rm9yIHRocm93cyBPT0IgRXhjZXB0aW9uIChDQVNTQU5EUkEtNTAzMCkKICogY3Fsc2g6IG1ha2UgaXQgcG9zc2libGUgdG8gZGVzY3JpYmUgdGhyaWZ0IENGcyAoQ0FTU0FORFJBLTQ4MjcpCiAqIGNxbHNoOiBmaXggdGltZXN0YW1wIGZvcm1hdHRpbmcgb24gc29tZSBwbGF0Zm9ybXMgKENBU1NBTkRSQS01MDQ2KQoKCjEuMi2Zc6zJAAABT948slwAEG1ha2UgSW5kZXhJbnRlcnYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILz4AAAEAUkEtNjIyOCkKTWVyZ2VkIGZyb20gMS4yOgogKiAoSGFkb29wKSBSZXF1aXJlIENGUlIgYmF0Y2hTaXplIHRvIGJlIGF0IGxlYXN0IDIgKENBU1NBTkRSQS02MTE0KQogKiBBZGQgYSB3YXJuaW5nIGZvciBzbWFsbCBMQ1Mgc3N0YWJsZSBzaXplIChDQVNTQU5EUkEtNjE5MSkKICogQWRkIGFiaWxpdHkgdG8gbGlzdCBzcGVjaWZpYyBLUy9DRiBjb21iaW5hdGlvbnMgaW4gbm9kZXRvb2wgY2ZzdGF0cyAoQ0FTU0FORFJBLTQxOTEpCiAqIE1hcmsgQ0YgY6aV6B4AAAFP3jyyXAAQZXQgY2xpZW50TW9kZSBpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvPgAAAQBvcGVydGllcyB0byBjb250YWluIGh5cGhlbnMgKENBU1NBTkRSQS00Mjc4KQogKiAoY3FsMykgQ29ycmVjdGx5IHZhbGlkYXRlIGtleXNwYWNlIGFjY2VzcyBpbiBjcmVhdGUgdGFibGUgKENBU1NBTkRSQS00Mjk2KQogKiBBdm9pZCBkZWFkbG9jayBpbiBtaWdyYXRpb24gc3RhZ2UgKENBU1NBTkRSQS0zODgyKQogKiBUYWtlIHN1cGVyY29sdW1uIG5hbWVzIGFuZCBkZWxldGlvbiBpbmZvIGludG8gYWNjb3VudCBpbiBtZW10YWJsZSB0aHJvdWdocHV0OtFAWgAAAU/ePLJcABBhcm5pbmcgbWVzc2FnZSB3AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC8+AAABAENSSUJFIChDQVNTQU5EUkEtNTUyOCkKICogQWRkIGN1c3RvbSBzZWNvbmRhcnkgaW5kZXggc3VwcG9ydCB0byBDUUwzIChDQVNTQU5EUkEtNTQ4NCkKICogRml4IHJlcGFpciBoYW5naW5nIHNpbGVudGx5IG9uIHVuZXhwZWN0ZWQgZXJyb3IgKENBU1NBTkRSQS01MjI5KQogKiBGaXggRWMyU25pdGNoIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBDQVNTQU5EUkEtNTE3MSAoQ0FTU0FORFJBLTU0MzIpCiAqIEFkZCBub2RldG9vbCBlbmFibGViYWNrdXDYqWDrAAABT948slwAEGFzcyB0eXBlJyBhc3NlcnQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILz4AAAEAc2FuZHJhLmJhdCAoQ0FTU0FORFJBLTI3ODcpCiAqIGZpeCByZXBhaXIgaGFuZ2luZyBpZiBhIG5laWdoYm9yIGhhcyBub3RoaW5nIHRvIHNlbmQgKENBU1NBTkRSQS0yNzk3KQogKiBwdXJnZSB0b21ic3RvbmUgZXZlbiBpZiByb3cgaXMgaW4gb25seSBvbmUgc3N0YWJsZSAoQ0FTU0FORFJBLTI4MDEpCiAqIEZpeCB3cm9uZyBwdXJnZSBvZiBkZWxldGVkIGNmIGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtMjc4NikKICogZml4IHJhY2UgdGhhdFtz/ucAAAFP3jyyXAAQbiBNZXNzYWdpbmdTZXJ2aQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvPgAAAQAyOCkKICogU2VwYXJhdGUgdHJhY2luZyBmcm9tIExvZzRKIChDQVNTQU5EUkEtNDg2MSkKICogRXhjbHVkZSBnY2FibGUgdG9tYnN0b25lcyBmcm9tIG1lcmtsZS10cmVlIGNvbXB1dGF0aW9uIChDQVNTQU5EUkEtNDkwNSkKICogQmV0dGVyIHByaW50aW5nIG9mIEFic3RyYWN0Qm91bmRzIGZvciB0cmFjaW5nIChDQVNTQU5EUkEtNDkzMSkKICogT3B0aW1pemUgbW9zdFJlY2VudFRvbWJzdG9uZSBjaGVjayBpbiBDQy5jb2xsZWN0QWxsRGF0YSAoQ0FT2NV84wAAAU/ePLJcABBwdGlvbiB3aGVuIG5vZGV0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC8+AAABAHNlIHNlcGFyYXRlIHdyaXRlciB0aHJlYWQgaW4gU1NUYWJsZVNpbXBsZVVuc29ydGVkV3JpdGVyIChDQVNTQU5EUkEtMzYxOSkKICogZnN5bmMgdGhlIGRpcmVjdG9yeSBhZnRlciBuZXcgc3N0YWJsZSBvciBjb21taXRsb2cgc2VnbWVudCBhcmUgY3JlYXRlZCAoQ0FTU0FORFJBLTMyNTApCiAqIGZpeCBtaW5vciBpc3N1ZXMgcmVwb3J0ZWQgYnkgRmluZEJ1Z3MgKENBU1NBTkRSQS0zNjU4KQogKiBnbG9iYWwga2V5L3JvdyBjYWNoZXMgKENBU1NBTkSkhiFOAAABT948slwAEENBU1NBTkRSQS01NzU3KQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3ILz4AAAEAaCAoQ0FTU0FORFJBLTc1MTYpCiAqIEluY2x1ZGUgc25pcHBldCBvZiBDUUwgcXVlcnkgbmVhciBzeW50YXggZXJyb3IgaW4gbWVzc2FnZXMgKENBU1NBTkRSQS03MTExKQogKiBNYWtlIHJlcGFpciAtcHIgd29yayB3aXRoIC1sb2NhbCAoQ0FTU0FORFJBLTc0NTApCiAqIEZpeCBlcnJvciBpbiBzc3RhYmxlbG9hZGVyIHdpdGggLWNwaCA+IDEgKENBU1NBTkRSQS04MDA3KQogKiBGaXggc25hcHNob3QgcmVwYWlyIGVycm9yIG9uIGluZGV4ZWQgdGFibFWdWf8AAAFP3jyyXAAQZXJpbmcgb3JkZXIgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvPgAAAQByZGluZyAoQ0FTU0FORFJBLTU2MzIpCiAqIFJlZHVjZSBTU1RhYmxlTG9hZGVyIG1lbW9yeSB1c2FnZSAoQ0FTU0FORFJBLTU1NTUpCiAqIFNjYWxlIGhpbnRlZF9oYW5kb2ZmX3Rocm90dGxlX2luX2tiIHRvIGNsdXN0ZXIgc2l6ZSAoQ0FTU0FORFJBLTUyNzIpCiAqIChIYWRvb3ApIEFkZCBDUUwzIGlucHV0L291dHB1dCBmb3JtYXRzIChDQVNTQU5EUkEtNDQyMSwgNTYyMikKICogKEhhZG9vcCkgRml4IElucHV0S2V5UmFuZ2UgaW4gQ0ZJRiAoQ0FTfh89cQAAAU/ePLJcABAoSGFkb29wKSBDbG9zZSBqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC8+AAABAE5EUkEtMTYzNikKICogY2xpIHN1cHBvcnQgZm9yIGluZGV4IHF1ZXJpZXMgKENBU1NBTkRSQS0xNjM1KQogKiBjbGkgc3VwcG9ydCBmb3IgdXBkYXRpbmcgc2NoZW1hIG1lbXRhYmxlIHNldHRpbmdzIChDQVNTQU5EUkEtMTYzNCkKICogY2xpIC0tZmlsZSBvcHRpb24gKENBU1NBTkRSQS0xNjE2KQogKiByZWR1Y2UgYXV0b21hdGljYWxseSBjaG9zZW4gbWVtdGFibGUgc2l6ZXMgYnkgNTAlIChDQVNTQU5EUkEtMTY0MSkKICogbW92ZSBlbmRwb2ludCApeNLbABmrQ78jjUoAAAFP3jyyXAAQZWlvbiBmb3IgaW5kZXhlcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvQQAAAQBzIHJhY2UgaW4gT3V0Ym91bmRUY3BDb25uZWN0aW9uIGluIG11bHRpLURDIHNldHVwcyAoQ0FTU0FORFJBLTM1MzApCiAqIHVzZSBTRVRMT0NBTCBpbiBjYXNzYW5kcmEuYmF0IChDQVNTQU5EUkEtMzUwNikKICogZml4IENvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb24gaW4gVGFibGUuYWxsKCkgKENBU1NBTkRSQS0zNTI5KQpNZXJnZWQgZnJvbSAwLjg6CiAqIGZpeCBjb25jdXJyZW5jZSBpc3N1ZSBpbiB0aGUgRmFpbHVyZURldGVjdG9yIChD9Ew3EwAAAU/ePLJcABBzIHdoZW4gcm93IGRlbGV0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9BAAABAGhlbiBmcmVlemluZyBjb2xsZWN0aW9uIChDQVNTQU5EUkEtNzg2OSkKICogSW1wcm92ZSBzdHJlc3Mgd29ya2xvYWQgcmVhbGlzbSAoQ0FTU0FORFJBLTc1MTkpCgoKMi4xLjAtcmM3CiAqIEFkZCBmcm96ZW4ga2V5d29yZCBhbmQgcmVxdWlyZSBVRFQgdG8gYmUgZnJvemVuIChDQVNTQU5EUkEtNzg1NykKICogVHJhY2sgYWRkZWQgc3N0YWJsZSBzaXplIGNvcnJlY3RseSAoQ0FTU0FORFJBLTcyMzkpCiAqIChjcWxzaCkgRml4IGNhc2UgaW5zZW5zaXS3JEwbAAABT948slwAEGhhbmRsaW5nIG9mIHRvbWIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0EAAAEAZC4gKENBU1NBTkRSQS02NTEpCiAqIFJlbW92ZSBkdXBsaWNhdGVkIHdyaXRlLiAoQ0FTU0FORFJBLTY2MikKICogQWJvcnQgYm9vdHN0cmFwIGlmIElQIGlzIGFscmVhZHkgaW4gdGhlIHRva2VuIHJpbmcgKENBU1NBTkRSQS02NjMpCiAqIGluY3JlYXNlIGRlZmF1bHQgY29tbWl0bG9nIHN5bmMgcGVyaW9kLCBhbmQgd2FpdCBmb3IgbGFzdCBzeW5jIHRvIAogICBmaW5pc2ggYmVmb3JlIHN1Ym1pdHRpbmcgYW5vdGhlciAoQ0FTU0FORFJBLTY2OCkKCpOS/qcAAAFP3jyyXAAQZXNlcnZpbmcgbG9naW4gaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvQQAAAQBsQ29tcGFjdGlvbiByZWR1Y2VyIGV4ZWN1dG9yIGFmdGVyIHVzZSAoQ0FTU0FORFJBLTM3MTEpCiAqIEF2b2lkIDwgMCB2YWx1ZSBmb3IgcGVuZGluZyB0YXNrcyBpbiBsZXZlbGVkIGNvbXBhY3Rpb24gKENBU1NBTkRSQS0zNjkzKQogKiAoSGFkb29wKSBTdXBwb3J0IFRpbWVVVUlEIGluIFBpZyBDYXNzYW5kcmFTdG9yYWdlIChDQVNTQU5EUkEtMzMyNykKICogQ2hlY2sgc2NoZW1hIGlzIHJlYWR5IGJlZm9yZSBjb250aW51aW5nIGJvb3N0cmFwcGlujBIBOQAAAU/ePLJcABBlciB0byBlc3RpbWF0ZSByAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9BAAABAGFydCBNZXRlcmVkRmx1c2hlciBlYXJsaWVyIHRvIHByZXZlbnQgT09NIGR1cmluZyBDTCByZXBsYXkgKENBU1NBTkRSQS02MDg3KQogKiBBdm9pZCBzZW5kaW5nIFRydW5jYXRlIGNvbW1hbmQgdG8gZmF0IGNsaWVudHMgKENBU1NBTkRSQS02MDg4KQogKiBBbGxvdyB3aGVyZSBjbGF1c2UgY29uZGl0aW9ucyB0byBiZSBpbiBwYXJlbnRoZXNpcyAoQ0FTU0FORFJBLTYwMzcpCiAqIERvIG5vdCBvcGVuIG5vbi1zc2wgc3RvcmFnZSBwb3J0IGlmIGVuY3L8K06tAAABT948slwAEC0xMjYzKQogKiBnaXZlIHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0EAAAEAIGRvaW5nIC1EY2Fzc2FuZHJhLmZkX2luaXRpYWxfdmFsdWVfbXMgKENBU1NBTkRSQS02NzUxKQoKCjIuMS4wLWJldGExCiAqIEFkZCBmbHVzaCBkaXJlY3RvcnkgZGlzdGluY3QgZnJvbSBjb21wYWN0aW9uIGRpcmVjdG9yaWVzIChDQVNTQU5EUkEtNjM1NykKICogUmVxdWlyZSBKTkEgYnkgZGVmYXVsdCAoQ0FTU0FORFJBLTY1NzUpCiAqIGFkZCBsaXN0c25hcHNob3RzIGNvbW1hbmQgdG8gbm9kZXRvb2wgKENBU1NBTkRSQS01NzQyKQogKiBJbnRybyxVNmMAAAFP3jyyXAAQaW5nIHNzdGFibGVzIGR1cgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvQQAAAQBSQS03Njg3KQogKiBGaXggYmluZGluZyBudWxsIHZhbHVlcyBpbnNpZGUgVURUIChDQVNTQU5EUkEtNzY4NSkKICogRml4IFVEVCBmaWVsZCBzZWxlY3Rpb24gd2l0aCBlbXB0eSBmaWVsZHMgKENBU1NBTkRSQS03NjcwKQogKiBCb2d1cyBkZXNlcmlhbGl6YXRpb24gb2Ygc3RhdGljIGNlbGxzIGZyb20gc3N0YWJsZSAoQ0FTU0FORFJBLTc2ODQpCiAqIEZpeCBOUEUgb24gY29tcGFjdGlvbiBsZWZ0b3ZlciBjbGVhbnVwIGZvciBkcm9wcGVkIHRhYmxljHJ8WwAAAU/ePLJcABB0cmllcyBhcmUgZW5jb3VuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9BAAABAHJ1YiBvcHRpb25hbGx5IHNraXAgYnJva2VuIGNvdW50ZXIgcGFydGl0aW9ucyAoQ0FTU0FORFJBLTU5MzApCk1lcmdlZCBmcm9tIDEuMjoKICogZnN5bmMgY29tcHJlc3Npb24gbWV0YWRhdGEgKENBU1NBTkRSQS02NTMxKQogKiBWYWxpZGF0ZSBDRiBleGlzdGVuY2Ugb24gZXhlY3V0aW9uIGZvciBwcmVwYXJlZCBzdGF0ZW1lbnQgKENBU1NBTkRSQS02NTM1KQogKiBBZGQgYWJpbGl0eSB0byB0aHJvdHRsZSBiYXRjaGxvZyByZXBsYXkgKENBU1NBTkS9v9VJAAABT948slwAEHRyYWNraW5nIG9mIHNzdGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0EAAAEAaWVzIChDQVNTQU5EUkEtNTA3MCkKICogSW5jbHVkZXMgY2Fzc2FuZHJhLXNodWZmbGUgaW4gdGhlIGRlYmlhbiBwYWNrYWdlIChDQVNTQU5EUkEtNTA1OCkKTWVyZ2VkIGZyb20gMS4xOgogKiBmaXggbXVsdGl0aHJlYWRlZCBjb21wYWN0aW9uIGRlYWRsb2NrIChDQVNTQU5EUkEtNDQ5MikKICogZml4IHRlbXBvcmFyaWx5IG1pc3Npbmcgc2NoZW1hIGFmdGVyIHVwZ3JhZGUgZnJvbSBwcmUtMS4xLjUgKENBU1NBTkRSQS01MDYxKQogKiBGaXggQUxURTB6J1MAAAFP3jyyXAAQIHRvbGVyYXRlIGluZGV4IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvQQAAAQBDQVNTQU5EUkEtOTIzNCkKICogSW5jb21pbmdUY3BDb25uZWN0aW9uIHRocmVhZCBpcyBub3QgbmFtZWQgKENBU1NBTkRSQS05MjYyKQogKiBDbG9zZSBpbmNvbWluZyBjb25uZWN0aW9ucyB3aGVuIE1lc3NhZ2luZ1NlcnZpY2UgaXMgc3RvcHBlZCAoQ0FTU0FORFJBLTkyMzgpCiAqIEZpeCBzdHJlYW1pbmcgaGFuZyB3aGVuIHJldHJ5aW5nIChDQVNTQU5EUkEtOTEzMikKCgoyLjEuNQogKiBSZS1hZGQgZGVwcmVjYXRlZCBjb2xkX3JlYWRzX3RvX29t7a2IlAAAAU/ePLJcABBuIChDQVNTQU5EUkEtNjg5AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9BAAABAGsgcHJlc2VuY2Ugb2YgbGVnYWN5IGNvdW50ZXIgc2hhcmRzIGluIHNzdGFibGVzIChDQVNTQU5EUkEtNjg4OCkKICogRW5zdXJlIHNhZmUgcmVzb3VyY2UgY2xlYW51cCB3aGVuIHJlcGxhY2luZyBzc3RhYmxlcyAoQ0FTU0FORFJBLTY5MTIpCiAqIEFkZCBmYWlsdXJlIGhhbmRsZXIgdG8gYXN5bmMgY2FsbGJhY2sgKENBU1NBTkRSQS02NzQ3KQogKiBGaXggQUUgd2hlbiBjbG9zaW5nIFNTVGFibGUgd2l0aG91dCByZWxlYXNpbmcgcmVmZXJlbmNlICh8jNOuAAABT948slwAEHVlcyBmb3IgaW5kZXggcHIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0EAAAEAdGlvbiBzdXBwb3J0aW5nIENMID4gT05FIChDQVNTQU5EUkEtMzU3NykKICogYWRkIGNvbW1hbmQgdG8gc3RvcCBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTE3NDAsIDM1NjYsIDM1ODIpCiAqIG11bHRpdGhyZWFkZWQgc3RyZWFtaW5nIChDQVNTQU5EUkEtMzQ5NCkKICogcmVtb3ZlZCBpbi10cmVlIHJlZGhhdCBzcGVjIChDQVNTQU5EUkEtMzU2NykKICogImRlZnJhZ21lbnQiIHJvd3MgZm9yIG5hbWUtYmFzZWQgcXVlcmllcyB1bmRlciBTVENTLCBhZ2DeeB4AAAFP3jyyXAAQb25zCiAgIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvQQAAAQByZXBhaXIKICAgaXMgZGlzYWJsZWQgKENBU1NBTkRSQS0zNjk2KQogKiBibG9jayBvbiBmbHVzaCBiZWZvcmUgY29tcGFjdGluZyBoaW50cyAobWF5IHByZXZlbnQgT09NKSAoQ0FTU0FORFJBLTM3MzMpCgoKMS4wLjYKICogKENRTCkgZml4IGNxbHNoIHN1cHBvcnQgZm9yIHJlcGxpY2F0ZV9vbl93cml0ZSAoQ0FTU0FORFJBLTM1OTYpCiAqIGZpeCBhZGRpbmcgdG8gbGV2ZWxlZCBtYW5pZmVzdCBhZnRlciBzdHJlYW1pbmcgKENBU1NBTkRSQS0zNTM2GWlSrgAAAU/ePLJcABBORFJBLTMxMzgpCiAqIHByAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9BAAABAGFubm90IHB1cmdlCiAgIChDQVNTQU5EUkEtMzUzOCkKICogSW1wcm92ZSBtZW10YWJsZSBzbGljZSBpdGVyYXRpb24gcGVyZm9ybWFuY2UgKENBU1NBTkRSQS0zNTQ1KQogKiBtb3JlIGVmZmljaWVudCBhbGxvY2F0aW9uIG9mIHNtYWxsIGJsb29tIGZpbHRlcnMgKENBU1NBTkRSQS0zNjE4KQogKiBVc2Ugc2VwYXJhdGUgd3JpdGVyIHRocmVhZCBpbiBTU1RhYmxlU2ltcGxlVW5zb3J0ZWRXcml0ZXIgKENBU1NBTkRSQS0zNjE5KQogKiBmc3luYyB0aGXJXgKUAAABT948slwAEHIgaWRlbXBvdGVudCAoQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0EAAAEAdGFibGVfdG90YWxfc3BhY2VfaW5fbWIgKENBU1NBTkRSQS02NTczKQogKiBGaXggQUJUQyBOUEUgYW5kIGFwcGx5IHVwZGF0ZSBmdW5jdGlvbiBjb3JyZWN0bHkgKENBU1NBTkRSQS02NjkyKQogKiBBbGxvdyBub2RldG9vbCB0byB1c2UgYSBmaWxlIG9yIHByb21wdCBmb3IgcGFzc3dvcmQgKENBU1NBTkRSQS02NjYwKQogKiBGaXggQUlPT0JFIHdoZW4gY29uY3VycmVudGx5IGFjY2Vzc2luZyBBQlNDIChDQVNTQU5EUkEtNjc0MikKICogRml4IGFzc5viiVgAGauqc3eSkwAAAFPTJt9SACgABnN5c3RlbQAAFXNjaGVtYV9jb2x1bW5mYW1pbGllcwAABAAAAAwAAAAAAQFaH/JnrOA/EoVjz65hA8ZeVVNmcgAFFffV+KlwAAAAAAAAAADwTIQxABnAB6qhyE8AAAFP3jyyXAAQcmVzZW50IGEgdXNlZnVsIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvRgAAAQBTU0FORFJBLTM1NDYpCiAqIGZpeCByYWNlIGJldHdlZW4gY2YgZmx1c2ggYW5kIGl0cyAybmRhcnkgaW5kZXhlcyBmbHVzaCAoQ0FTU0FORFJBLTM1NDcpCiAqIGZpeCBwb3RlbnRpYWwgcmFjZSBpbiBBRVMgd2hlbiBhIHJlcGFpciBmYWlscyAoQ0FTU0FORFJBLTM1NDgpCiAqIGZpeCBkZWZhdWx0IHZhbHVlIHZhbGlkYXRpb24gdXNhZ2UgaW4gQ0xJIFNFVCBjb21tYW5kIChDQVNTQU5EUkEtMzU1MykKICogT3B0aW1pemUgY29tcG9uZW50c0ZvciBtWtpkswAAAU/ePLJcABBjZSBhbmQgQ29sdW1uRmFtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9GAAABAHNhbXBsaW5nIG1lbW9yeSByZXF1aXJlbWVudHMgKENBU1NBTkRSQS03OTI2KQogKiBFbnN1cmUgbWVtdGFibGUgZmx1c2ggY2Fubm90IGV4cGlyZSBjb21taXQgbG9nIGVudHJpZXMgZnJvbSBpdHMgZnV0dXJlIChDQVNTQU5EUkEtODM4MykKICogTWFrZSByZWFkICJkZWZyYWciIGFzeW5jIHRvIHJlY2xhaW0gbWVtdGFibGVzIChDQVNTQU5EUkEtODQ1OSkKICogUmVtb3ZlIHRtcGxpbmsgZmlsZXMgZm9yIG9mZmxpbmUgY29tcGFjdGlvbnMgKENBU1Od8jIWAAABT948slwAEHBvdGVudCAoQ0FTU0FORFIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0YAAAEAKENBU1NBTkRSQS01MzU1KQogKiBNYWtlIHVwZ3JhZGVTU1RhYmxlIHNraXAgY3VycmVudCB2ZXJzaW9uIHNzdGFibGVzIGJ5IGRlZmF1bHQgKENBU1NBTkRSQS01MzY2KQogKiBPcHRpbWl6ZSBtaW4vbWF4IHRpbWVzdGFtcCBjb2xsZWN0aW9uIChDQVNTQU5EUkEtNTM3MykKICogSW52YWxpZCBzdHJlYW1JZCBpbiBjcWwgYmluYXJ5IHByb3RvY29sIHdoZW4gdXNpbmcgaW52YWxpZCBDTCAKICAgKENBU1NBTkRSQS01MTY0KQogKiBGaXggdmFsaWRhdFSsPhoAAAFP3jyyXAAQU2hvdyBFZmZlY3RpdmUgTwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvRgAAAQAqIEFkZHMgbmV3IFRpbWVzdGFtcFR5cGUgdG8gcmVwbGFjZSBEYXRlVHlwZSAoQ0FTU0FORFJBLTU3MjMsIENBU1NBTkRSQS01NzI5KQpNZXJnZWQgZnJvbSAxLjI6CiAqIG1ha2Ugc3RhcnRpbmcgbmF0aXZlIHByb3RvY29sIHNlcnZlciBpZGVtcG90ZW50IChDQVNTQU5EUkEtNTcyOCkKICogRml4IGxvYWRpbmcga2V5IGNhY2hlIHdoZW4gYSBzYXZlZCBlbnRyeSBpcyBubyBsb25nZXIgdmFsaWQgKENBU1NBTkRSQS01NzA2KQogKiBGaXggc2VyaWFs5e7S2AAAAU/ePLJcABBlZ21lbnQgaXMgZW5jb3VuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9GAAABAHR1cm5lZCBieSB0aGUKICAgcGFydGl0aW9uZXIpIG9mIGEgbm9kZSAoQ0FTU0FORFJBLTI2MDYpCiAqIFN0cmVhbXMgQ29tcHJlc3Npb24gKENBU1NBTkRSQS0zMDE1KQogKiBhZGQgYWJpbGl0eSB0byB1c2UgbXVsdGlwbGUgdGhyZWFkcyBkdXJpbmcgYSBzaW5nbGUgY29tcGFjdGlvbgogICAoQ0FTU0FORFJBLTI5MDEpCiAqIG1ha2UgQWJzdHJhY3RCb3VuZHMubm9ybWFsaXplIHN1cHBvcnQgb3ZlcmxhcHBpbmcgcmFuZ2VzIChDQVNTQU5EUkEtMjbYKiiAAAABT948slwAEGFsIGNsYXNzZXMgb3ZlciAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0YAAAEAUmVzcG9uc2VTdGFnZQogKiBhZGQgQWJzdHJhY3RUeXBlLmZyb21TdHJpbmcgKENBU1NBTkRSQS0xNzY3KQogKiByZXF1aXJlIGluZGV4X3R5cGUgdG8gYmUgcHJlc2VudCB3aGVuIHNwZWNpZnlpbmcgaW5kZXhfbmFtZQogICBvbiBDb2x1bW5EZWYgKENBU1NBTkRSQS0xNzU5KQogKiBmaXggYWRkL3JlbW92ZSBpbmRleCBidWdzIGluIENGTWV0YWRhdGEgKENBU1NBTkRSQS0xNzY4KQogKiByZWJ1aWxkIFN0cmF0ZWd5IGR1cmluZyBzeXN0ZW1fdXBkYTI1DZ4AAAFP3jyyXAAQaW9uCiAgIHN0cmF0ZWd5IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvRgAAAQBEUkEtNzA1OCkKICogTWVyZ2UgZ3JvdXBhYmxlIG11dGF0aW9ucyBpbiBUcmlnZ2VyRXhlY3V0b3IjZXhlY3V0ZSgpIChDQVNTQU5EUkEtNzA0NykKICogUGx1ZyBob2xlcyBpbiByZXNvdXJjZSByZWxlYXNlIHdoZW4gd2lyaW5nIHVwIFN0cmVhbVNlc3Npb24gKENBU1NBTkRSQS03MDczKQogKiBSZS1hZGQgcGFyYW1ldGVyIGNvbHVtbnMgdG8gdHJhY2luZyBzZXNzaW9uIChDQVNTQU5EUkEtNjk0MikKICogUHJlc2VydmVzIENRTCBtZXRhZGF0YSB3TYc6AwAAAU/ePLJcABB1bmRFeGNlcHRpb24gZnJvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9GAAABACByb3ctbGV2ZWwgdG9tYnN0b25lcyBwb3N0LWZsdXNoIGluIHJhbmdlIHNjYW5zCiAgIChDQVNTQU5EUkEtMTgzNykKICogUmVhZFJlc3BvbnNlUmVzb2x2ZXIgY2hlY2sgZGlnZXN0cyBhZ2FpbnN0IGVhY2ggb3RoZXIgKENBU1NBTkRSQS0xODMwKQogKiByZXR1cm4gSW52YWxpZFJlcXVlc3Qgd2hlbiByZW1vdmUgb2Ygc3ViY29sdW1uIHdpdGhvdXQgc3VwZXJjb2x1bW4KICAgaXMgcmVxdWVzdGVkIChDQVNTQU5EUkEtMTg2NikKICogZmx1c2ggYmWJYnyKAAABT948slwAEERSQS01OTgyKQogKiAoSGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0YAAAEAcnRpbmcgZW1wdHkgbWFwcyAoQ0FTU0FORFJBLTUxNDEpCiAqIERvbid0IHJlbW92ZSB0b2tlbnMgZnJvbSBTeXN0ZW0gdGFibGUgZm9yIG5vZGUgd2Uga25vdyAoQ0FTU0FORFJBLTUxMjEpCiAqIGZpeCBzdHJlYW1pbmcgcHJvZ3Jlc3MgcmVwb3J0IGZvciBjb21wcmVzZWQgZmlsZXMgKENBU1NBTkRSQS01MTMwKQogKiBDb3ZlcmFnZSBhbmFseXNpcyBmb3IgbG93LUNMIHF1ZXJpZXMgKENBU1NBTkRSQS00ODU4KQogKiBTdG9wIGludGVycHJldGluZ0ww/U0AAAFP3jyyXAAQbGwgZGVmYXVsdCB1bmNvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvRgAAAQBwb3J0IG5hbWVkIGJpbmQgdmFyaWFibGVzIGluIENRTCAoQ0FTU0FORFJBLTYwMzMpCk1lcmdlZCBmcm9tIDEuMjoKICogQWxsb3cgY2FjaGUta2V5cy10by1zYXZlIHRvIGJlIHNldCBhdCBydW50aW1lIChDQVNTQU5EUkEtNTk4MCkKICogQXZvaWQgc2Vjb25kLWd1ZXNzaW5nIG91dC1vZi1zcGFjZSBzdGF0ZSAoQ0FTU0FORFJBLTU2MDUpCiAqIFR1bmluZyBrbm9icyBmb3IgZGVhbGluZyB3aXRoIGxhcmdlIGJsb2JzIGFuZCBtYW55IENGcyAoQ0FTy4J74AAAAU/ePLJcABBjZSBvZiBjb3VudGVyIGlkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9GAAABAChDQVNTQU5EUkEtNDA0MSkKICogKGNxbDMpIEZpeCBkZWxldGlvbiBidWcgKENBU1NBTkRSQS00MTkzKQogKiBGaXggY29tcHV0YXRpb24gb2Ygb3ZlcmxhcHBpbmcgc3N0YWJsZSBmb3IgbGV2ZWxlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtNDMyMSkKICogSW1wcm92ZSBzY3J1YiBhbmQgYWxsb3cgdG8gcnVuIGl0IG9mZmxpbmUgKENBU1NBTkRSQS00MzIxKQogKiBGaXggYXNzZXJ0aW9uRXJyb3IgaW4gU3RvcmFnZVNlcnZpY2UuYnVsa0xvYWQgKEO0xnIuAAABT948slwAEHRyZXNzIHNtYXJ0IFRocmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0YAAAEAcmliL2NsaWVudF9vbmx5IGZvciBhbiBleGFtcGxlIG9mIHVzZSkKICogbWFrZSBjb25zaXN0ZW5jeV9sZXZlbCBmdW5jdGlvbmFsIGluIGdldF9yYW5nZV9zbGljZSAoQ0FTU0FORFJBLTU2OCkKICogb3B0aW1pemUga2V5IGRlc2VyaWFsaXphdGlvbiBmb3IgUmFuZG9tUGFydGl0aW9uZXIgKENBU1NBTkRSQS01ODEpCiAqIGF2b2lkIEdDaW5nIHRvbWJzdG9uZXMgZXhjZXB0IG9uIG1ham9yIGNvbXBhY3Rpb24gKENBU1NBTkRSQS02MDQpCiAqIGluY/TPlWIAAAFP3jyyXAAQZWRkZWRDYXNzYW5kcmFTZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvRgAAAQBBLTMzMjUpCiAqIHJ1biBjb21wYWN0aW9uIGFuZCBoaW50ZWQgaGFuZG9mZiB0aHJlYWRzIGF0IE1JTl9QUklPUklUWSAoQ0FTU0FORFJBLTMzMDgpCiAqIGRlZmF1bHQgaHNoYSB0aHJpZnQgc2VydmVyIHRvIGNwdSBjb3JlIGNvdW50IGluIHJwYyBwb29sIChDQVNTQU5EUkEtMzMyOSkKICogYWRkIGJpblxkYWVtb24gdG8gYmluYXJ5IHRhcmJhbGwgZm9yIFdpbmRvd3Mgc2VydmljZSAoQ0FTU0FORFJBLTMzMzEpCiAqIEZpeCBwbGFjZXMgd2hlcmUgHwxG+QAAAU/ePLJcABAtNjE5MSkKICogQWRkIGFiAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9GAAABAGFrZW4gb3ZlciBieSBhIG5ldyBJUCAoQ0FTU0FORFJBLTMyNTkpCiAqIEZpeCBidWcgd2hlcmUgdGhlIGZhaWx1cmUgZGV0ZWN0b3IgY2FuIHRha2UgdG9vIGxvbmcgdG8gbWFyayBhIGhvc3QKICAgZG93biAoQ0FTU0FORFJBLTMyNzMpCiAqIChIYWRvb3ApIGFsbG93IHdyYXBwaW5nIHJhbmdlcyBpbiBxdWVyaWVzIChDQVNTQU5EUkEtMzEzNykKICogKEhhZG9vcCkgY2hlY2sgYWxsIGludGVyZmFjZXMgZm9yIGEgbWF0Y2ggd2l0aCBzcGxpdCBsb2NBZcyRAAABT948slwAEGF0YURpcmVjdG9yaWVzIHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0YAAAEAdWFsIHRvIGtleV9hbGlhcwogICBvbiBjcmVhdGUvdXBkYXRlIG9mIHRoZSBDb2x1bW5GYW1pbHkgYW5kIENRTCAnQUxURVInIHN0YXRlbWVudCAoQ0FTU0FORFJBLTMwMzYpCiAqIHJldHVybiBhbiBJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBpZiBhbiBpbmRleGVkIGNvbHVtbiBpcyBhc3NpZ25lZAogICBhIHZhbHVlIGxhcmdlciB0aGFuIDY0S0IgKENBU1NBTkRSQS0zMDU3KQogKiBmaXggb2YgbnVtZXJpYy1vbmx5IGFuZCBzdHJpbmcgY29sdW1uIHLdgnkAGdRkhM+ldgAAAU/ePLJcABBlcnJvciBtZXNzYWdlIHdoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9HAAABAGhhbmNlIGJ5IDEwMCAoQ0FTU0FORFJBLTI0NTgpCiAqIG1hZGUgQ29tcGFjdGlvbkluZm8uZ2V0VGFza1R5cGUgcmV0dXJuIGFuIGVudW0gKENBU1NBTkRSQS0yNDgyKQogKiBhZGQgYSBzZXJ2ZXItd2lkZSBjYXAgb24gbWVhc3VyZWQgbWVtdGFibGUgbWVtb3J5IHVzYWdlIGFuZCBhZ2dyZXNzaXZlbHkKICAgZmx1c2ggdG8ga2VlcCB1bmRlciB0aGF0IHRocmVzaG9sZCAoQ0FTU0FORFJBLTIwMDYpCiAqIGFkZCB1bmlmaWVkIFVVSURUeXBlIChDQVOxPyaWAAABT948slwAEG5lZCBmb3IgYmF0Y2ggKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0cAAAEATCkgdXBkYXRlIHBhcnNlciB0byBhY2NlcHQgInRpbWVzdGFtcCIgaW5zdGVhZCBvZiAiZGF0ZSIgKENBU1NBTkRSQS0zMTQ5KQogKiBGaXggQ0xJIGBzaG93IHNjaGVtYWAgdG8gaW5jbHVkZSAiY29tcHJlc3Npb25fb3B0aW9ucyIgKENBU1NBTkRSQS0zMzY4KQogKiBTbmFwc2hvdCB0byBpbmNsdWRlIG1hbmlmZXN0IHVuZGVyIExldmVsZWRDb21wYWN0aW9uU3RyYXRlZ3kgKENBU1NBTkRSQS0zMzU5KQogKiAoQ1FMKSBTRUxFQ1QgcXVlcnkgc2hvdTSdxUcAAAFP3jyyXAAQaW4gSGFkb29wIENvbHVtbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvRwAAAQBoaWxlIGF2b2lkaW5nCiAgIHRoZSBuYWdsZS9kZWxheWVkIGFjayBwcm9ibGVtIChDQVNTQU5EUkEtMTg5NikKICogY2hlY2sgbG9nNGogY29uZmlndXJhdGlvbiBmb3IgY2hhbmdlcyBldmVyeSAxMHMgKENBU1NBTkRSQS0xNTI1LCAxOTA3KQogKiBtb3JlLWVmZmljaWVudCBjcm9zcy1EQyByZXBsaWNhdGlvbiAoQ0FTU0FORFJBLTE1MzAsIC0yMDUxLCAtMjEzOCkKICogYXZvaWQgcG9sbHV0aW5nIHBhZ2UgY2FjaGUgd2l0aCBjb21taXRsb2cgb3IgUpQR3gAAAU/ePLJcABBuby1vcCBEREwKICAgc3RhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9HAAABACBjb21wYXJpc29uIChDQVNTQU5EUkEtNDcxMSkKICogRml4IGR1cGxpY2F0ZSBTU1RhYmxlIHJlZmVyZW5jZSB3aGVuIHN0cmVhbSBzZXNzaW9uIGZhaWxlZCAoQ0FTU0FORFJBLTMzMDYpCiAqIEFsbG93IHN0YXRpYyBDRiBkZWZpbml0aW9uIHdpdGggY29tcGFjdCBzdG9yYWdlIChDQVNTQU5EUkEtNDkxMCkKICogRml4IGVuZGxlc3MgbG9vcC9jb21wYWN0aW9uIG9mIHNjaGVtYV8qIENGcyBkdWUgdG8gYnJva2VuIHRpbWVzdGFtcHMgKENBU1NBTkQu9R8EAAABT948slwAEC01MzUwKQogKiBBZGQgVXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0cAAAEAQWRkIG5ldyBicm9hZGNhc3RfYWRkcmVzcyBjb25maWcgb3B0aW9uIChDQVNTQU5EUkEtMjQ5MSkKCgowLjguNwogKiBLaWxsIHNlcnZlciBvbiB3cmFwcGVkIE9PTUUgc3VjaCBhcyBmcm9tIEZpbGVDaGFubmVsLm1hcCAoQ0FTU0FORFJBLTMyMDEpCiAqIEFsbG93IHVzaW5nIHF1b3RlcyBpbiAiVVNFIDxrZXlzcGFjZT47IiBDTEkgY29tbWFuZCAoQ0FTU0FORFJBLTMyMDgpCiAqIExvZyBtZXNzYWdlIHdoZW4gYSBmdWxsIHJlcGFpciBvcGVyYXRpbzfNFCgAAAFP3jyyXAAQZmlsdGVyIGZhbHNlIHBvcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvRwAAAQBpb24gZHVyaW5nIHN0cmVhbWluZyAoQ0FTU0FORFJBLTU3ODIpCiAqIFVwZGF0ZSBkZWxldGlvbiB0aW1lc3RhbXAgaW4gQ29tbWl0I3VwZGF0ZXNXaXRoUGF4b3NUaW1lIChDQVNTQU5EUkEtNTc4NykKICogVGhyaWZ0IGNhcygpIG1ldGhvZCBjcmFzaGVzIGlmIGlucHV0IGNvbHVtbnMgYXJlIG5vdCBzb3J0ZWQgKENBU1NBTkRSQS01Nzg2KQogKiBPcmRlciBjb2x1bW5zIG5hbWVzIGNvcnJlY3RseSB3aGVuIHF1ZXJ5aW5nIGZvciBDQVMgKENBU1NBxevVDQAAAU/ePLJcABAyMzQ5KQogKiBmaXggcmFjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9HAAABAENRTDMgKENBU1NBTkRSQS0zOTI1KQogKiBGaXggQnVsa1JlY29yZFdyaXRlciB0byBub3QgdGhyb3cgTlBFIGlmIHJlZHVjZXIgZ2V0cyBubyBtYXAgZGF0YSBmcm9tIEhhZG9vcCAoQ0FTU0FORFJBLTM5NDQpCiAqIEZpeCBidWcgd2l0aCBjb3VudGVycyBpbiBzdXBlciBjb2x1bW5zIChDQVNTQU5EUkEtMzgyMSkKICogUmVtb3ZlIGRlcHJlY2F0ZWQgbWVyZ2Vfc2hhcmRfY2hhbmNlIChDQVNTQU5EUkEtMzk0MCkKICogYWRkIGEgY29udmVuaWVudCBhf6+bAAABT948slwAECBpbnN1ZmZpY2llbnQKICAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0cAAAEAQU5EUkEtMzE2OSkKICogQWRkIFJvd0xldmVsIHN1cHBvcnQgdG8gc2Vjb25kYXJ5IGluZGV4IEFQSSAoQ0FTU0FORFJBLTMxNDcpCiAqIE1ha2UgU2VyaWFsaXppbmdDYWNoZVByb3ZpZGVyIHRoZSBkZWZhdWx0IGlmIEpOQSBpcyBhdmFpbGFibGUgKENBU1NBTkRSQS0zMTgzKQogKiBGaXggYmFja3dhcmRzIGNvbXBhdGliaWx0eSBmb3IgQ1FMIG1lbXRhYmxlIHByb3BlcnRpZXMgKENBU1NBTkRSQS0zMTkwKQogKiBBZGQgZml2ZS1taW51dGUgZGVsYQOb/KgAAAFP3jyyXAAQIHRocmVhZCAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvRwAAAQBEUkEtMzI4NikKICogYWRkIHN5c3RlbS52ZXJzaW9ucyBDb2x1bW5GYW1pbHkgKENBU1NBTkRSQS0zMTQwKQogKiByZWR1Y2UgbmV0d29yayBjb3BpZXMgKENBU1NBTkRSQS0zMzMzLCAzMzczKQogKiBsaW1pdCBub2RldG9vbCB0byAzMk1CIG9mIGhlYXAgKENBU1NBTkRSQS0zMTI0KQogKiAoQ1FMKSB1cGRhdGUgcGFyc2VyIHRvIGFjY2VwdCAidGltZXN0YW1wIiBpbnN0ZWFkIG9mICJkYXRlIiAoQ0FTU0FORFJBLTMxNDkpCiAqIEZpeCBDTEkgYHNoPEDAjQAAAU/ePLJcABBhZGQgYSBzZXJ2ZXItd2lkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9HAAABAGV0YTIKICogUmVwbGFjZSBjb3VudFBlbmRpbmdIaW50cyB3aXRoIEhpbnRzIENyZWF0ZWQgbWV0cmljIChDQVNTQU5EUkEtNTc0NikKICogQWxsb3cgbm9kZXRvb2wgd2l0aCBubyBhcmdzLCBhbmQgd2l0aCBoZWxwIHRvIHJ1biB3aXRob3V0IGEgc2VydmVyIChDQVNTQU5EUkEtNTczNCkKICogQ2xlYW51cCBBYnN0cmFjdFR5cGUvVHlwZVNlcmlhbGl6ZXIgY2xhc3NlcyAoQ0FTU0FORFJBLTU3NDQpCiAqIFJlbW92ZSB1bmltcGxlbWVudGVkIGNsaSA3LgETAAABT948slwAEGFyZ2UgbGlzdCBvZiBJTiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0cAAAEAQVNTQU5EUkEtNTg1NSkKICogQWRkIEtleUNhY2hlSGl0UmF0ZSBtZXRyaWMgdG8gQ0YgbWV0cmljcyAoQ0FTU0FORFJBLTU4NjgpCiAqIGNxbHNoOiBhZGQgc3VwcG9ydCBmb3IgbXVsdGlsaW5lIGNvbW1lbnRzIChDQVNTQU5EUkEtNTc5OCkKICogSGFuZGxlIENRTDMgU0VMRUNUIGR1cGxpY2F0ZSBJTiByZXN0cmljdGlvbnMgb24gY2x1c3RlcmluZyBjb2x1bW5zCiAgIChDQVNTQU5EUkEtNTg1NikKCgoyLjAuMC1yYzEKICogaW1wcm92ZSBEZWNpbc+uiNcAAAFP3jyyXAAQMCkKICogRml4IHN0cmVzcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvRwAAAQBzCiAgICAtIGNvbHVtbi1uYW1lLXNldCBzbGljZSB3aXRoIG5vIG5hbWVzIGdpdmVuIG5vdyByZXR1cm5zIHplcm8gY29sdW1ucwogICAgICBpbnN0ZWFkIG9mIGFsbCBvZiB0aGVtLiAgKCJhbGwiIGNhbiBydW4geW91ciBzZXJ2ZXIgb3V0IG9mIG1lbW9yeS4KICAgICAgdXNlIGEgcmFuZ2UtYmFzZWQgc2xpY2Ugd2l0aCBhIGhpZ2ggbWF4IGNvbHVtbiBjb3VudCBpbnN0ZWFkLikKICogUmVtb3ZlZCB0aGUgd2ViIGludGVyZmFjZS4gTm9kZSBpbmZvhZNuQAAAAU/ePLJcABBja2VkIiB0byBTdGF0dXNMAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9HAAABAHdpdGggc2luZ2xlIGNvbHVtbiByb3dzIChDQVNTQU5EUkEtNDc4OSkKICogRml4IEhIIHRvIGNvbXBhY3Qgd2l0aCBjb3JyZWN0IGdjQmVmb3JlLCB3aGljaCBhdm9pZHMgd2lwaW5nIG91dAogICB1bmRlbGl2ZXJlZCBoaW50cyAoQ0FTU0FORFJBLTQ3NzIpCiAqIExDUyB3aWxsIG1lcmdlIHVwIHRvIDMyIEwwIHNzdGFibGVzIGFzIGludGVuZGVkIChDQVNTQU5EUkEtNDc3OCkKICogTlRTIHdpbGwgZGVmYXVsdCB1bmNvbmZpZ3VyZWQgREMgcmVwbGleXq40AAABT948slwAEHggcHJlZGljYXRlcyBpbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0cAAAEAU0FORFJBLTc0OTgpCiAqIEF2b2lkIE5QRXMgd2hlbiByZWNlaXZpbmcgdHlwZSBjaGFuZ2VzIGZvciBhbiB1bmtub3duIGtleXNwYWNlIChDQVNTQU5EUkEtNzY4OSkKICogQWRkIHN1cHBvcnQgZm9yIGN1c3RvbSAyaSB2YWxpZGF0aW9uIChDQVNTQU5EUkEtNzU3NSkKICogUGlnIHN1cHBvcnQgZm9yIGhhZG9vcCBDcWxJbnB1dEZvcm1hdCAoQ0FTU0FORFJBLTY0NTQpCiAqIEFkZCBsaXN0ZW5faW50ZXJmYWNlIGFuZCBycGNfaW50ZXJmYWNlIG9wdGxxyfEAAAFP3jyyXAAQU1NBTkRSQS0zMDc1KQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvRwAAAQBzIG5vdyByZXNwb25zaWJsZSBmb3IgY2hlY2tpbmcgZm9yIG5ldyBjYW5kaWRhdGVzCiAgIHBvc3QtdGFzayBleGVjdXRpb24sIGVuYWJsaW5nIG1vcmUgY29uc2lzdGVudCBsZXZlbGVkIGNvbXBhY3Rpb24gCiAgIChDQVNTQU5EUkEtMzM5MSkKICogQ2FjaGUgSFNIQSB0aHJlYWRzIChDQVNTQU5EUkEtMzM3MikKICogdXNlIENGL0tTIG5hbWVzIGFzIHNuYXBzaG90IHByZWZpeCBmb3IgZHJvcCArIHRydW5jYXRlIG9wZXJhdGlvbnMKICAgKENBU1NBQIBkqgAZ6MF+2kLBAAABT948slwAEG51bSAoQ0FTU0FORFJBLTIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0kAAAEANzg4MikKICogY2Fzc2FuZHJhLXN0cmVzcyBzaW11bHRhbmVvdXMgaW5zZXJ0cyBvdmVyIHNhbWUgc2VlZCAoQ0FTU0FORFJBLTc5NjQpCiAqIFJlZHVjZSBjYXNzYW5kcmEtc3RyZXNzIHNhbXBsaW5nIG1lbW9yeSByZXF1aXJlbWVudHMgKENBU1NBTkRSQS03OTI2KQogKiBFbnN1cmUgbWVtdGFibGUgZmx1c2ggY2Fubm90IGV4cGlyZSBjb21taXQgbG9nIGVudHJpZXMgZnJvbSBpdHMgZnV0dXJlIChDQVNTQU5EUkEtODM4MykKICogTWFrZSByZWFkIAgpkPMAAAFP3jyyXAAQbiBvcHRpb25zIGluIERFUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvSQAAAQAgKiBGaXggYnVnIHRoYXQgY291bGQgYWxsb3cgcmVhZGluZyBkZWxldGVkIGRhdGEgdGVtcG9yYXJpbHkgKENBU1NBTkRSQS02MDI1KQogKiBJbXByb3ZlIG1lbW9yeSB1c2UgZGVmYXVsdHMgKENBU1NBTkRSQS02MDU5KQogKiBNYWtlIFRocmlmdFNlcnZlciBtb3JlIGVhc2xseSBleHRlbnNpYmxlIChDQVNTQU5EUkEtNjA1OCkKICogUmVtb3ZlIEhhZG9vcCBkZXBlbmRlbmN5IGZyb20gSVRyYW5zcG9ydEZhY3RvcnkgKENBU1NBTkRSQS02MDYyKQog6J/P/QAAAU/ePLJcABBvbmFsbHkgbG9hZHMgQkYgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9JAAABAHggZW50cmllcyBpbmQgUHJlY29tcGFjdGVkUm93IGFuZCAKICAgUGFyYWxsZWxDb21wYWN0aW9uSXRlcmFibGUgKENBU1NBTkRSQS01Mzk1KQogKiByZW1vdmUgdGhlIGluZGV4IGVudHJ5IG9uIG9sZENvbHVtbiB3aGVuIG5ldyBjb2x1bW4gaXMgYSB0b21ic3RvbmUgCiAgIChDQVNTQU5EUkEtNTM5NSkKICogQ2hhbmdlIGRlZmF1bHQgc3RyZWFtIHRocm91Z2hwdXQgZnJvbSA0MDAgdG8gMjAwIG1icHMgKENBU1NBTkRSQS01MDM2KQogKiBHb3NzaXBPpGHuAAABT948slwAEDMxKQogKiBBcmVuYS1iYXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0kAAAEAcXVlcmllcyB3aXRoIHVuZGVmaW5lZAogICBncmFtbWFycyAoQ0FTU0FORFJBLTgyNjIpCiAqIChjcWxzaCkgRml4IFNFTEVDVCAuLi4gVE9LRU4oKSBmdW5jdGlvbiBicm9rZW4gaW4gQyogMi4xLjEgKENBU1NBTkRSQS04MjU4KQogKiBGaXggQ2Fzc2FuZHJhIGNyYXNoIHdoZW4gcnVubmluZyBvbiBKREs4IHVwZGF0ZSA0MCAoQ0FTU0FORFJBLTgyMDkpCiAqIE9wdGltaXplIHBhcnRpdGlvbmVyIHRva2VucyAoQ0FTU0FORFJBLTgyMzApCiAqIEltcLrhXtUAAAFP3jyyXAAQZHMgcGVyLUNGIGluc3RlYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvSQAAAQB0IG9mIHRocmlmdCAoQ0FTU0FORFJBLTQwMzcpCiAqIEV4cG9zZSBBUEkgdG8gcmVwYWlyIGEgdXNlciBwcm92aWRlZCByYW5nZSAoQ0FTU0FORFJBLTM5MTIpCiAqIEFkZCB3YXkgdG8gZm9yY2UgdGhlIGNhc3NhbmRyYS1jbGkgdG8gcmVmcmVzaCBpdHMgc2NoZW1hIChDQVNTQU5EUkEtNDA1MikKICogQXZvaWQgaGF2aW5nIHJlcGxpY2F0ZSBvbiB3cml0ZSB0YXNrcyBzdGFja2luZyB1cCBhdCBDTC5PTkUgKENBU1NBTkRSQS0yODg5KQogKiAoY3FsbE1UBwAAAU/ePLJcABAyNTkpCgoKMS4wLjAtcmMxAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9JAAABAE5EUkEtODYxMCkKICogRml4IHJldmVyc2FsIG9mIGxpc3QgcHJlcGVuZHMgKENBU1NBTkRSQS04NzMzKQogKiBQcmV2ZW50IG5vbi16ZXJvIGRlZmF1bHRfdGltZV90b19saXZlIG9uIHRhYmxlcyB3aXRoIGNvdW50ZXJzCiAgIChDQVNTQU5EUkEtODY3OCkKICogRml4IFNTVGFibGVTaW1wbGVVbnNvcnRlZFdyaXRlciBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uCiAgIChDQVNTQU5EUkEtODYxOSkKICogUm91bmQgdXAgdGltZSBkZWx0YXPXvtfNAAABT948slwAECAgIHNjaGVkdWxpbmcsIGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0kAAAEAdW5yZXNlcnZlZCBrZXl3b3JkcyBpbiBDUUwgKENBU1NBTkRSQS05MDQ3KQogKiBQcmV2ZW50IEFzc2VydGlvbkVycm9yIGZyb20gU2l6ZUVzdGltYXRlc1JlY29yZGVyIChDQVNTQU5EUkEtOTAzNCkKICogQXZvaWQgb3ZlcndyaXRpbmcgaW5kZXggc3VtbWFyaWVzIGZvciBzc3RhYmxlcyB3aXRoIGFuIG9sZGVyIGZvcm1hdCB0aGF0CiAgIGRvZXMgbm90IHN1cHBvcnQgZG93bnNhbXBsaW5nOyByZWJ1aWxkIHN1bW1hcmllcyBvbiBzdGFydHVwIHdoZQ1kntkAAAFP3jyyXAAQQU5EUkEtNTY3OCkKICogRgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvSQAAAQBlci5wcm9wZXJ0aWVzLCB3aGljaCBtdXN0IG5vdyBiZSBsb2FkZWQgZnJvbQogICB0aGUgY2xhc3NwYXRoICh3aGljaCBpcyBob3cgb3VyIHNjcmlwdHMgaW4gYmluLyBoYXZlIGFsd2F5cyBkb25lIGl0KQogICAoQ0FTU0FORFJBLTk3MSkKICogY2hhbmdlIGdldF9jb3VudCB0byByZXF1aXJlIGEgU2xpY2VQcmVkaWNhdGUuIGNyZWF0ZSBtdWx0aV9nZXRfY291bnQKICAgKENBU1NBTkRSQS03NDQpCiAqIHJlLW9yZ2FuaXplZCBlbmRwb2ludHNuaXRjq0RbSQAAAU/ePLJcABBBLTUxMDYpCiAqIGZpeCB2AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9JAAABAGNvbm5lY3RpbmcgdG8gcGVlcnMgZHVyaW5nIHVwZ3JhZGUgKENBU1NBTkRSQS02NzAyKQogKiBJbmNsdWRlIGtleXNwYWNlIGFuZCB0YWJsZSBuYW1lIGluIGVycm9yIGxvZyBmb3IgY29sbGVjdGlvbnMgb3ZlciB0aGUgc2l6ZQogICBsaW1pdCAoQ0FTU0FORFJBLTkyODYpCiAqIEF2b2lkIHBvdGVudGlhbCBvdmVybGFwIGluIExDUyB3aXRoIHNpbmdsZS1wYXJ0aXRpb24gc3N0YWJsZXMgKENBU1NBTkRSQS05MzIyKQogKiBMb2cgd2FybmluZyBtZXNBr1S4AAABT948slwAEGNzIGZvciBub2RldG9vbCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0kAAAEAYmNvbXBhcmF0b3IgbGluZSBpbiBjbGkga2V5c3BhY2VzIG91dHB1dCAoQ0FTU0FORFJBLTE3MTIpCiAqIGFkZCByZWFkIHJlcGFpciBjaGFuY2UgdG8gY2xpICJzaG93IGtleXNwYWNlcyIKICogdXBncmFkZSB0byBDb25jdXJyZW50TGlua2VkSGFzaE1hcCAxLjEgKENBU1NBTkRSQS05NzUpCiAqIGZpeCBpbmRleCBzY2FuIHJvdXRpbmcgKENBU1NBTkRSQS0xNzIyKQogKiBmaXggdG9tYnN0b25pbmcgb2Ygc3VwZXJjb2x1bW5zIGluIHJhbmdlIHF1ZYrsA9IAAAFP3jyyXAAQYWN0RGF0YXtJbnB1dCxPdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvSQAAAQBzaG9sZCwgZGVmYXVsdCAyMCUgKENBU1NBTkRSQS0zNDQyLCA0MjM0KQogKiB1cGRhdGUgTXVybXVySGFzaCB0byB2ZXJzaW9uIDMgKENBU1NBTkRSQS0yOTc1KQogKiAoQ0xJKSB0cmFjayBlbGFwc2VkIHRpbWUgZm9yIGBkZWxldGUnIG9wZXJhdGlvbiAoQ0FTU0FORFJBLTQwNjApCiAqIChDTEkpIGpsaW5lIHZlcnNpb24gaXMgYnVtcGVkIHRvIDEuMCB0byBwcm9wZXJseSAgc3VwcG9ydAogICAnZGVsZXRlJyBrZXkgZnVuY3Rpb24gKENBU1NBTkRSVZxBDQAAAU/ePLJcABBzcGxheSAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9JAAABAGVhZHMgZHVyaW5nIGEgc2luZ2xlIGNvbXBhY3Rpb24KICAgKENBU1NBTkRSQS0yOTAxKQogKiBtYWtlIEFic3RyYWN0Qm91bmRzLm5vcm1hbGl6ZSBzdXBwb3J0IG92ZXJsYXBwaW5nIHJhbmdlcyAoQ0FTU0FORFJBLTI2NDEpCiAqIGZpeCBvZiB0aGUgQ1FMIGNvdW50KCkgYmVoYXZpb3IgKENBU1NBTkRSQS0zMDY4KQogKiB1c2UgVHJlZU1hcCBiYWNrZWQgY29sdW1uIGZhbWlsaWVzIGZvciB0aGUgU1NUYWJsZSBzaW1wbGUgd3JpdGVycwogICAoQ0F/6QXsAAABT948slwAEHMgZ2V0Q29sdW1uIGZvciAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0kAAAEAdG9wIGNvbXBhY3Rpb25zIGJlZm9yZSBleGl0aW5nIG9mZmxpbmUgdG9vbHMgKENBU1NBTkRSQS04NjIzKQogKiBVcGRhdGUgdG9vbHMvc3RyZXNzL1JFQURNRS50eHQgdG8gbWF0Y2ggY3VycmVudCBiZWhhdmlvdXIgKENBU1NBTkRSQS03OTMzKQogKiBGaXggc2NoZW1hIGZyb20gVGhyaWZ0IGNvbnZlcnNpb24gd2l0aCBlbXB0eSBtZXRhZGF0YSAoQ0FTU0FORFJBLTg2OTUpCiAqIFNhZmVyIFJlc291cmNlIE1hbmFnZW1lbnQgKENBU1NBTkRSQS03N52/pWwAAAFP3jyyXAAQZGF0YWNlbnRlciBuYW1lIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvSQAAAQBjcmliZV9zY2hlbWFfdmVyc2lvbnMKICAgKENBU1NBTkRSQS0xNDc4KQogKiBmaXggUVVPUlVNIGNhbGN1bGF0aW9uIGZvciBSRiA+IDMgKENBU1NBTkRSQS0xNDg3KQogKiByZW1vdmUgdG9tYnN0b25lcyBkdXJpbmcgbm9uLW1ham9yIGNvbXBhY3Rpb25zIHdoZW4gYmxvb20gZmlsdGVyCiAgIHZlcmlmaWVzIHRoYXQgcm93IGRvZXMgbm90IGV4aXN0IGluIG90aGVyIHNzdGFibGVzIChDQVNTQU5EUkEtMTA3NCkKICogbm9kZXMgdGhhdCBjb29yZGluSYkIOAAAAU/ePLJcABBoZWFwIHRocmVzaG9sZHMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9JAAABAGRleE9wdGlvbigpIChDQVNTQU5EUkEtODc4NikKICogY2Fzc2FuZHJhLXN0cmVzcyByZXBvcnRzIHBlci1vcGVyYXRpb24gc3RhdGlzdGljcywgcGx1cyBtaXNjIChDQVNTQU5EUkEtODc2OSkKICogVXNlIGxvbmcgZm9yIGtleSBjb3VudCBpbiBjZnN0YXRzIChDQVNTQU5EUkEtODkxMykKICogTWFrZSBTU1RhYmxlUmV3cml0ZXIuYWJvcnQoKSBtb3JlIHJvYnVzdCB0byBmYWlsdXJlIChDQVNTQU5EUkEtODgzMikKICogUmVtb3ZlIGNvbGRfcmVhZHO8jHjqABn9fauVbFkAAABT0ybfUgAoAAZzeXN0ZW0AABVzY2hlbWFfY29sdW1uZmFtaWxpZXMAAAQAAAAHAAAAAAEBWh/yZ6zgPxKFY8+uYQPGXlVTZnIABRX31fjA4AAAAAAAAAAAixNPowAAAU/ePLJcABBldmVydCBmbHVzaCBkaXJlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9MAAABACBzdGFydGVkLCB1bnRpbCBib290c3RyYXAgc3VjY2Vzc2Z1bGx5CiAgIGNvbXBsZXRlcy4gLWIgb3B0aW9uIGlzIHJlbW92ZWQuICAoQ0FTU0FORFJBLTQzOCkKICogVW5sZXNzIGEgdG9rZW4gaXMgbWFudWFsbHkgc3BlY2lmaWVkIGluIHRoZSBjb25maWd1cmF0aW9uIHhtbCwKICAgYSBib290c3RyYXBpbmcgbm9kZSB3aWxsIHVzZSBhIHRva2VuIHRoYXQgZ2l2ZXMgaXQgaGFsZiB0aGUKICAga2V5cyBmcm9tIHRoZSBtb3N0LWhlYXZpbHktbG9hZGXnO7CAAAABT948slwAEGMgb2YgY29uY3VycmVuY3kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0wAAAEAKiBPbmx5IHNuYXBzaG90IENGIGJlaW5nIGNvbXBhY3RlZCBmb3Igc25hcHNob3RfYmVmb3JlX2NvbXBhY3Rpb24gCiAgIChDQVNTQU5EUkEtMzgwMykKICogTG9nIGFjdGl2ZSBjb21wYWN0aW9ucyBpbiBTdGF0dXNMb2dnZXIgKENBU1NBTkRSQS0zNzAzKQogKiBDb21wdXRlIG1vcmUgYWNjdXJhdGUgY29tcGFjdGlvbiBzY29yZSBwZXIgbGV2ZWwgKENBU1NBTkRSQS0zNzkwKQogKiBSZXR1cm4gSW52YWxpZFJlcXVlc3Qgd2hlbiB1c2luZyBhIGtleVVpJtoAAAFP3jyyXAAQcGlyaW5nIG1hcCB0aW1lbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvTAAAAQBrIHRvIG9wZW5qZGsgaW4gZGViaWFuIGluaXQgc2NyaXB0IChDQVNTQU5EUkEtMTE3NCkKICogZGV0ZWN0IHBhcnRpb25lciBjb25maWcgY2hhbmdlcyBiZXR3ZWVuIHJlc3RhcnRzIGFuZCBmYWlsIGZhc3QgCiAgIChDQVNTQU5EUkEtMTE0NikKICogdXNlIGdlbmVyYXRpb24gdGltZSB0byByZXNvbHZlIG5vZGUgdG9rZW4gcmVhc3NpZ25tZW50IGRpc2FncmVlbWVudHMKICAgKENBU1NBTkRSQS0xMTE4KQogKiByZXN0cnVjdHVyZSB0aGUgc3RhcnR1vupbHgAAAU/ePLJcABByaW5nIHN0cmVhbWluZyBvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9MAAABAChDQVNTQU5EUkEtMjc3MykKICogRXhwb3NlIG51bWJlciBvZiB0aHJlYWRzIGJsb2NrZWQgb24gc3VibWl0dGluZyBtZW10YWJsZSB0byBmbHVzaAogICBpbiBKTVggKENBU1NBTkRSQS0yODE3KQogKiBhZGQgYWJpbGl0eSB0byByZXR1cm4gImVuZHBvaW50cyIgdG8gbm9kZXRvb2wgKENBU1NBTkRSQS0yNzc2KQogKiBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgKGNvbW1hLWRlbGltaXRlZCkgY29vcmRpbmF0b3IgYWRkcmVzc2VzCiAgIHRvIENvbHWfpKeEAAABT948slwAEGZvciBib290c3RyYXAgd2gAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0wAAAEAIGJ5IHVzaW5nIHJlc2Vydm9pciBzYW1wbGluZyAoQ0FTU0FORFJBLTQwMzgpCiAqIChjcWwzKSBBZGQgc3VwcG9ydCBmb3IgMm5kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS0zNjgwKQogKiAoY3FsMykgZml4IGRlZmluaW5nIG1vcmUgdGhhbiBvbmUgUEsgdG8gYmUgaW52YWxpZCAoQ0FTU0FORFJBLTQ0NzcpCiAqIHJlbW92ZSBzY2hlbWEgYWdyZWVtZW50IGNoZWNraW5nIGZyb20gYWxsIGV4dGVybmFsIEFQSXMgKFRocmlmdCwgQ1FMIGFuZCBDUUwzKbb7brUAAAFP3jyyXAAQZGVjb2RlIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvTAAAAQAgaW5ldCB0eXBlIHN1cHBvcnQgb24gV2luZG93cyAoaXB2NC1vbmx5KSAoQ0FTU0FORFJBLTQ4MDEpCiAqIEZpeCByYWNlIHdoZW4gaW5pdGlhbGl6aW5nIENvbHVtbkZhbWlseVN0b3JlIChDQVNTQU5EUkEtNTM1MCkKICogQWRkIFVzZVRMQUIgSlZNIGZsYWcgKENBU1NBTkRSQS01MzYxKQoKCjEuMi4yCiAqIGZpeCBwb3RlbnRpYWwgZm9yIG11bHRpcGxlIGNvbmN1cnJlbnQgY29tcGFjdGlvbnMgb2YgdGhlIHNhbWUgc3N0YWJsZXMKICAgKENBU1NB9VqyAgAAAU/ePLJcABAwMCUgKENBU1NBTkRSQS0xAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9MAAABAGtub3duL2ludmFsaWQgY29tcHJlc3Npb24gb3B0aW9ucyAoQ0FTU0FORFJBLTQyNjYpCiAqIChjcWwzKSBBZGRzIHNpbXBsZSBhY2Nlc3MgdG8gY29sdW1uIHRpbWVzdGFtcCBhbmQgdHRsIChDQVNTQU5EUkEtNDIxNykKICogKGNxbDMpIEZpeCByYW5nZSBxdWVyaWVzIHdpdGggc2Vjb25kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS00MjU3KQogKiBCZXR0ZXIgZXJyb3IgbWVzc2FnZXMgZnJvbSBpbXByb3BlciBpbnB1dCBpbiBjbGkgKENBU1NBTkRSQS3+aI2aAAABT948slwAECkKICogZml4IHBvc3NpYmkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0wAAAEAKQogKiBFeHBvc2UgZGV0YWlsZWQgcmVhZCByZXBhaXIgbWV0cmljcyAoQ0FTU0FORFJBLTU2MTgpCiAqIENvcnJlY3QgYmxvYiBsaXRlcmFsICsgUmV2ZXJzZWRUeXBlIHBhcnNpbmcgKENBU1NBTkRSQS01NjI5KQogKiBBbGxvdyBHUEZTIHRvIHByZWZlciB0aGUgaW50ZXJuYWwgSVAgbGlrZSBFQzJNUlMgKENBU1NBTkRSQS01NjMwKQogKiBmaXggaGVscCB0ZXh0IGZvciAtdHNwdyBjYXNzYW5kcmEtY2xpIChDQVNTQU5EUkEtNTY0MykKICogZG9uJxF8ygAAAAFP3jyyXAAQbml0aWFsaXplIGxvY2FsIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvTAAAAQBwaW5nIChDQVNTQU5EUkEtMzYyOSkKICogQ2F0Y2ggb3ZlcmZsb3dzIGR1cmluZyBwYXJzaW5nIG9mIGNodW5rX2xlbmd0aF9rYiAoQ0FTU0FORFJBLTM2NDQpCiAqIEltcHJvdmUgc3RyZWFtIHByb3RvY29sIG1pc21hdGNoIGVycm9ycyAoQ0FTU0FORFJBLTM2NTIpCiAqIEF2b2lkIG11bHRpcGxlIHRocmVhZCBkb2luZyBISCB0byB0aGUgc2FtZSB0YXJnZXQgKENBU1NBTkRSQS0zNjgxKQogKiBBZGQgSk1YIHByb3BlcnR5IGZvciBycF90aW1lb3V0KptKQQAAAU/ePLJcABBBTkRSQS02NDkxKQogKiBEAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9MAAABAGUgcHJvdmlkZWQgY29sdW1ucyBpbiBjbHVzdGVyaW5nIGtleSBvcmRlciBpbiAKICAgJ0NMVVNURVJJTkcgT1JERVIgQlknIChDQVNTQU5EUkEtNDg4MSkKICogRml4IGNvbXBvc2l0ZSBpbmRleCBidWcgKENBU1NBTkRSQS00ODg0KQogKiBGaXggc2hvcnQgcmVhZCBwcm90ZWN0aW9uIGZvciBDUUwzIChDQVNTQU5EUkEtNDg4MikKICogQWRkIHRyYWNpbmcgc3VwcG9ydCB0byB0aGUgYmluYXJ5IHByb3RvY29sIChDQVNTQU5EUkEtNDY5OSkKICogKGNBSHsiAAABT948slwAECBVVEYtOCBmb3IgaGludCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0wAAAEAc2lvbiBzc3RhYmxlcyBieSBkZWZhdWx0IChDQVNTQU5EUkEtNTM2NikKICogT3B0aW1pemUgbWluL21heCB0aW1lc3RhbXAgY29sbGVjdGlvbiAoQ0FTU0FORFJBLTUzNzMpCiAqIEludmFsaWQgc3RyZWFtSWQgaW4gY3FsIGJpbmFyeSBwcm90b2NvbCB3aGVuIHVzaW5nIGludmFsaWQgQ0wgCiAgIChDQVNTQU5EUkEtNTE2NCkKICogRml4IHZhbGlkYXRpb24gZm9yIElOIHdoZXJlIGNsYXVzZXMgd2l0aCBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTUzN0pl/GcAAAFP3jyyXAAQKiBSZW1vdmUgQ2FsbG91dAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvTAAAAQBuZyB0byB0aW1lb3V0CiAgIChDQVNTQU5EUkEtMjk0MykKICogcmV2YW1wIHRva2VuIHJlbW92YWwgcHJvY2Vzcywga2VlcCBnb3NzaXAgc3RhdGVzIGZvciAzIGRheXMgKENBU1NBTkRSQS0yNDk2KQogKiBkb24ndCBhY2NlcHQgZXh0cmEgYXJncyBmb3IgMC1hcmcgbm9kZXRvb2wgY29tbWFuZHMgKENBU1NBTkRSQS0yNzQwKQogKiBsb2cgdW5hdmFpbGFibGVleGNlcHRpb24gZGV0YWlscyBhdCBkZWJ1ZyBsZXZlbCAoQ0FTU0FORFJBLTI4NTYpCiAqrFtbUwAAAU/ePLJcABBSZXdyaXRlciB3aXRoIGRpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9MAAABACkKICogcmV0YWluIHJlZmVyZW5jZSB0byBQZW5kaW5nRmlsZSBzc3RhYmxlcyAoQ0FTU0FORFJBLTE3NDkpCiAqIGZpeCBzc3RhYmxlaW1wb3J0IHJlZ3Jlc3Npb24gKENBU1NBTkRSQS0xNzUzKQogKiBmaXggZm9yIGJvb3RzdHJhcCB3aGVuIG5vIG5vbi1zeXN0ZW0gdGFibGVzIGFyZSBkZWZpbmVkIChDQVNTQU5EUkEtMTczMikKICogaGFuZGxlIHJlcGxpY2EgdW5hdmFpbGFiaWxpdHkgaW4gaW5kZXggc2NhbiAoQ0FTU0FORFJBLTE3NTUpCiAqIGZG9ccFAAABT948slwAEHhwb3NlIG5vZGV0b29sIGMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL0wAAAEANTUpCgoKMi4wLjAtYmV0YTIKICogUmVwbGFjZSBjb3VudFBlbmRpbmdIaW50cyB3aXRoIEhpbnRzIENyZWF0ZWQgbWV0cmljIChDQVNTQU5EUkEtNTc0NikKICogQWxsb3cgbm9kZXRvb2wgd2l0aCBubyBhcmdzLCBhbmQgd2l0aCBoZWxwIHRvIHJ1biB3aXRob3V0IGEgc2VydmVyIChDQVNTQU5EUkEtNTczNCkKICogQ2xlYW51cCBBYnN0cmFjdFR5cGUvVHlwZVNlcmlhbGl6ZXIgY2xhc3NlcyAoQ0FTU0FORFJBLTU3NDQpCiAqIFJlbW92ZSB1bmltcP+AKK0AAAFP3jyyXAAQKENBU1NBTkRSQS03Mjc4KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvTAAAAQBzIChDQVNTQU5EUkEtMTY4NSkKICogbG9nIHRwc3RhdHMgd2hlbiBkcm9wcGluZyBtZXNzYWdlcyAoQ0FTU0FORFJBLTE2NjApCiAqIGluY2x1ZGUgdW5yZWFjaGFibGUgbm9kZXMgaW4gZGVzY3JpYmVTY2hlbWFWZXJzaW9ucyAoQ0FTU0FORFJBLTE2NzgpCiAqIEF2b2lkIGRyb3BwaW5nIG1lc3NhZ2VzIG9mZiB0aGUgY2xpZW50IHJlcXVlc3QgcGF0aCAoQ0FTU0FORFJBLTE2NzYpCiAqIGZpeCBqbmEgZXJybm8gcmVwb3J0aW5nIChDQVNTQU5EUkEt0Ad7cQAaE4Ze93XqAAABT948slwAEHVyYXRpb24gInRhYmxlIiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL04AAAEAZXN1bHRzIGFzIGFuIGF0dHJpYnV0ZSAoQ0FTU0FORFJBLTQ0NTIpCiAqIGZsdXNoIGJhc2VkIG9uIGRhdGEgc2l6ZSwgbm90IHRocm91Z2hwdXQ7IG92ZXJ3cml0dGVuIGNvbHVtbnMgbm8gCiAgIGxvbmdlciBhcnRpZmljaWFsbHkgaW5mbGF0ZSBsaXZlUmF0aW8gKENBU1NBTkRSQS00Mzk5KQogKiB1cGRhdGUgZGVmYXVsdCBjb21taXRsb2cgc2VnbWVudCBzaXplIHRvIDMyTUIgYW5kIHRvdGFsIGNvbW1pdGxvZwogICBzaXplIHRvIDMyLzEwMjQgTSAtHLgAAAFP3jyyXAAQU0FORFJBLTQ0MzApCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvTgAAAQAgY3JlYXRpb24gZXJyb3IgYXQgc3RhcnR1cCAoQ0FTU0FORFJBLTU4MTgpCiAqIFByb3BlciBudWxsIGhhbmRsZSBmb3IgSUYgd2l0aCBtYXAgZWxlbWVudCBhY2Nlc3MgKENBU1NBTkRSQS03MTU1KQogKiBJbXByb3ZlIGNvbXBhY3Rpb24gdmlzaWJpbGl0eSAoQ0FTU0FORFJBLTcyNDIpCiAqIENvcnJlY3RseSBkZWxldGUgc2NoZWR1bGVkIHJhbmdlIHhmZXJzIChDQVNTQU5EUkEtNzE0MykKICogTWFrZSBiYXRjaGxvZyByZXBsaWNhIHNlbGVjdGlv1hxBTAAAAU/ePLJcABByIHN5bW1ldHJ5IHdpdGggAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9OAAABAGNrZXQgdGltZW91dCB3aGVuIHJlYWRpbmcgcmVtb3RlIHZlcnNpb24gKENBU1NBTkRSQS04MTg4KQogKiBSZWZhY3RvciBob3cgd2UgdHJhY2sgbGl2ZSBzaXplIChDQVNTQU5EUkEtNzg1MikKICogTWFrZSBzdXJlIHVuZmluaXNoZWQgY29tcGFjdGlvbiBmaWxlcyBhcmUgcmVtb3ZlZCAoQ0FTU0FORFJBLTgxMjQpCiAqIEZpeCBzaHV0ZG93biB3aGVuIHJ1biBhcyBXaW5kb3dzIHNlcnZpY2UgKENBU1NBTkRSQS04MTM2KQogKiBGaXggREVTQ1JJQkUiVdcQAAABT948slwAEChDQVNTQU5EUkEtNjAzKQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL04AAAEAZSBoYXZlIHRoZSBtb3N0IHJlY2VudCBjb2x1bW5zLAogICBmb3IgcXVlcnktYnktbmFtZSByZXF1ZXN0cyAoQ0FTU0FORFJBLTI0OTgpCiAqIEFkZCBxdWVyeS1ieS1jb2x1bW4gbW9kZSB0byBzdHJlc3MuamF2YSAoQ0FTU0FORFJBLTMwNjQpCiAqIEFkZCAiaW5zdGFsbCIgY29tbWFuZCB0byBjYXNzYW5kcmEuYmF0IChDQVNTQU5EUkEtMjkyKQogKiBjbGVhbiB1cCBLU01ldGFkYXRhLCBDRk1ldGFkYXRhIGZyb20gdW5uZWNlc3NhcnkKICAgVGhyaYX/+MkAAAFP3jyyXAAQIGFuZCBpbXByb3ZlIHF1bwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvTgAAAQAga2V5cyBpbiBPUFAgKENBU1NBTkRSQS01NzkzKQogKiBub2RldG9vbCBoaXN0b3J5IGxvZ2dpbmcgKENBU1NBTkRSQS01ODIzKQogKiAoSGFkb29wKSBmaXggc3VwcG9ydCBmb3IgVGhyaWZ0IHRhYmxlcyBpbiBDcWxQYWdpbmdSZWNvcmRSZWFkZXIgCiAgIChDQVNTQU5EUkEtNTc1MikKICogYWRkICJhbGwgdGltZSBibG9ja2VkIiB0byBTdGF0dXNMb2dnZXIgb3V0cHV0IChDQVNTQU5EUkEtNTgyNSkKICogRnV0dXJlLXByb29mIGludGVyLW1ham9yIQR+CgAAAU/ePLJcABAgbm9kZXMgKENBU1NBTkRSAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9OAAABACBjb21tYW5kcyAoQ0FTU0FORFJBLTQ0OTAsIDQ2NDQpCiAqIGZpeCBhc3N1bXB0aW9uIGVycm9yIGluIENMSSB3aGVuIHVwZGF0aW5nL2Rlc2NyaWJpbmcga2V5c3BhY2UgCiAgIChDQVNTQU5EUkEtNDMyMikKICogQWRkcyBvZmZsaW5lIHNzdGFibGVzY3J1YiB0byBkZWJpYW4gcGFja2FnaW5nIChDQVNTQU5EUkEtNDY0MikKICogQXV0b21hdGljIGZpeGluZyBvZiBvdmVybGFwcGluZyBsZXZlbGVkIHNzdGFibGVzIChDQVNTQU5EUkEtNDY0NCkKICpFFrGbAAABT948slwAEChDQVNTQU5EUkEtMTYzNSkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL04AAAEATUlUcyBvciBwYWdpbmcgd2hlbiBzb21lIHBhcnRpdGlvbnMKICAgY29udGFpbiBvbmx5IHRvbWJzdG9uZXMgKENBU1NBTkRSQS04NDkwKQogKiBJbnRyb2R1Y2UgYmFja2dyb3VuZCBjYWNoZSByZWZyZXNoaW5nIHRvIHBlcm1pc3Npb25zIGNhY2hlCiAgIChDQVNTQU5EUkEtODE5NCkKICogRml4IHJhY2UgY29uZGl0aW9uIGluIFN0cmVhbVRyYW5zZmVyVGFzayB0aGF0IGNvdWxkIGxlYWQgdG8KICAgaW5maW5pdGUgbG9vcHMgYW5kIHByZW1hdHVyZdGUIwgAAAFP3jyyXAAQdWxsKCkgY29sbGVjdGlvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvTgAAAQAKICogVXNlIG9mIG8uYS5jLm1ldHJpY3MgaW4gbm9kZXRvb2wgKENBU1NBTkRSQS01ODcxLCA2NDA2KQogKiBCYXRjaCByZWFkIGZyb20gT1RDJ3MgcXVldWUgYW5kIGNsZWFudXAgKENBU1NBTkRSQS0xNjMyKQogKiBTZWNvbmRhcnkgaW5kZXggc3VwcG9ydCBmb3IgY29sbGVjdGlvbnMgKENBU1NBTkRSQS00NTExLCA2MzgzKQogKiBTU1RhYmxlIG1ldGFkYXRhKFN0YXRzLmRiKSBmb3JtYXQgY2hhbmdlIChDQVNTQU5EUkEtNjM1NikKICogUHVzaCBj5JW8LgAAAU/ePLJcABB0ZWQgKGNlbGwpIGNvbXBhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9OAAABAHdpdGNoIG9mIG1lbXRhYmxlcyBhbmQgc3N0YWJsZXMgKENBU1NBTkRSQS0yMjg0KQogKiBhZGQgcGx1Z2dhYmxlIFNlZWRQcm92aWRlciAoQ0FTU0FORFJBLTE2NjkpCiAqIEZpeCBjbHVzdGVydG9vbCB0byBub3QgdGhyb3cgZXhjZXB0aW9uIHdoZW4gY2FsbGluZyBnZXRfZW5kcG9pbnRzIChDQVNTQU5EUkEtMjQzNykKICogdXBncmFkZSB0byB0aHJpZnQgMC42IChDQVNTQU5EUkEtMjQxMikgCiAqIHJlcGFpciB3b3JrcyBvbiBhIHRva2VuIHJhbmfMRDvDAAABT948slwAECBjb21wcmVzc2VkIHN0cmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL04AAAEAdGUgZ2xvYmFsIGNhY2hlcyAoQ0FTU0FORFJBLTQ1NjMpCiAqIChjcWwzKSBmaXggc2V0dGluZyBjb21wYWN0aW9uIHN0cmF0ZWd5IChDQVNTQU5EUkEtNDU5NykKICogZml4IGJyb2tlbiBzeXN0ZW0uc2NoZW1hXyogdGltZXN0YW1wcyBvbiBzeXN0ZW0gc3RhcnR1cCAoQ0FTU0FORFJBLTQ1NjEpCiAqIGZpeCB3cm9uZyBza2lwIG9mIGNhY2hlIHNhdmluZyAoQ0FTU0FORFJBLTQ1MzMpCiAqIEF2b2lkIE5QRSB3aGVuIGxvc3QrZm91bmQgaXMgaW4gZMgOFxsAAAFP3jyyXAAQKiBmaXggYnVnIHByZXZlbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvTgAAAQAqIFBpY2sgc3N0YWJsZXMgZm9yIHZhbGlkYXRpb24gYXMgbGF0ZSBhcyBwb3NzaWJsZSBpbmMgcmVwYWlycyAoQ0FTU0FORFJBLTgzNjYpCiAqIEZpeCBjb21taXRsb2cgZ2V0UGVuZGluZ1Rhc2tzIHRvIG5vdCBpbmNyZW1lbnQgKENBU1NBTkRSQS04ODYyKQogKiBGaXggcGFyYWxsZWxpc20gYWRqdXN0bWVudCBpbiByYW5nZSBhbmQgc2Vjb25kYXJ5IGluZGV4IHF1ZXJpZXMKICAgd2hlbiB0aGUgZmlyc3QgZmV0Y2ggZG9lcyBub3Qgc2F0aXNmeSB0y1dGgAAAAU/ePLJcABBnZVByb3h5IG1ldGhvZHMKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9OAAABACBzdHJlc3MuamF2YSAoQ0FTU0FORFJBLTMyMDQpCiAqIG1ha2UgbWVtdGFibGUgdGhyb3VnaHB1dCBhbmQgY29sdW1uIGNvdW50IHRocmVzaG9sZHMgbm8tb3BzIChDQVNTQU5EUkEtMjQ0OSkKICogUmV0dXJuIHNjaGVtYSBpbmZvcm1hdGlvbiBhbG9uZyB3aXRoIHRoZSByZXN1bHRTZXQgaW4gQ1FMIChDQVNTQU5EUkEtMjczNCkKICogQWRkIG5ldyBEZWNpbWFsVHlwZSAoQ0FTU0FORFJBLTI4ODMpCiAqIEZpeCBhc3NlcnRpb24gZXJyb3IgaW4gUm9L1qcFAAABT948slwAEGxvZ2ljIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL04AAAEAcmVNQmVhbiAoQ0FTU0FORFJBLTc2MSkKICogc2VuZCBIYW5kb2ZmIGhpbnRzIHRvIG5hdHVyYWwgbG9jYXRpb25zIHRvIHJlZHVjZSBsb2FkIG9uCiAgIHJlbWFpbmluZyBub2RlcyBpbiBhIGZhaWx1cmUgc2NlbmFyaW8gKENBU1NBTkRSQS04MjIpCiAqIEFkZCBSb3dXYXJuaW5nVGhyZXNob2xkSW5NQiBjb25maWd1cmF0aW9uIG9wdGlvbiB0byB3YXJuIGJlZm9yZSB2ZXJ5IAogICBsYXJnZSByb3dzIGdldCBiaWcgZW5vdWdoIHRvIHRocmVhdGVuIIS0RucAAAFP3jyyXAAQbG9hZGluZyBwYXhvcyBzdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvTgAAAQBBTkRSQS03NDc5KQogKiBNYWtlIGRpc3J1cHRvcl90aHJpZnRfc2VydmVyIGludm9jYXRpb24gcG9vbCBjb25maWd1cmFibGUgKENBU1NBTkRSQS03NTk0KQogKiBNYWtlIHJlcGFpciBuby1vcCB3aGVuIFJGPTEgKENBU1NBTkRSQS03ODY0KQoKCjIuMC4xMAogKiBEb24ndCBzZW5kIHNjaGVtYSBjaGFuZ2UgcmVzcG9uc2VzIGFuZCBldmVudHMgZm9yIG5vLW9wIERETAogICBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNzYwMCkKICogKEhhZG9vcCkgZml4ZQr+BgAAAU/ePLJcABBvYWRlciAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9OAAABAG5nIGxvZ2dpbmcgZm9yIHNvbWUgZXhjZXB0aW9ucyAoQ0FTU0FORFJBLTIwNjEpCiAqIHJlZmFjdG9yIGFuZCBvcHRpbWl6ZSBDb2x1bW5GYW1pbHlTdG9yZS5maWxlcyguLi4pIGFuZCBEZXNjcmlwdG9yLmZyb21GaWxlbmFtZShTdHJpbmcpCiAgIGFuZCBmZXcgb3RoZXIgcGxhY2VzIHJlc3BvbnNpYmxlIGZvciB3b3JrIHdpdGggU1NUYWJsZSBmaWxlcyAoQ0FTU0FORFJBLTMwNDApCiAqIFN0b3AgcmVhZGluZyBmcm9tIHNzdGFibGVzIG9uY2Ugd2X08mLfAAABoO6JTbUAEG85FuD5gBHkuKDn1EjV4m0AAAABAbTbt7TcST+1s7/ObkNIMsp/////gAAAAAAAAAAAAAABAA4AC3Jvd3NfbWVyZ2Vk/wAOAAtyb3dzX21lcmdlZAFVU2ZyAAUV99X4yK8AAAAHAAMAAAACAAk6gFVcoPIABRX31fjIsAAAAAAACwAIYnl0ZXNfaW4AAgAJOoBVXKDyAAUV99X4yLAAAAAIAAAAAAAABi4ADAAJYnl0ZXNfb3V0AAIACTqAVVyg8gAFFffV+MiwAAAACAAAAAAAAAIaABQAEWNvbHVtbmZhbWlseV9uYW1lAAIACTqAVVyg8gAFFffV+MiwAAAAEHNjaGVtYV9rZXlzcGFjZXMADwAMY29tcGFjdGVkX2F0AAIACTqAVVyg8gAFFffV+MiwAAAACAAAAU1NyC9OABAADWtleXNwYWNlX25hbWUAAgAJOoBVXKDyAAUV99X4yLAAAAAGc3lzdGVtABUAC3Jvd3NfbWVyZ2VkAAAEAAAAAQACAAk6gFVcoPIABRX31fjIsAAAAAgAAAAAAAAADFCc1fYAGifjtiM+RQAAAU/ePLJcABAgKENBU1NBTkRSQS01NTc5AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9QAAABAFNBTkRSQS04NzE2KQogKiBNYWtlIGl0IHBvc3NpYmxlIHRvIHNldCBtYXhfc3N0YWJsZV9hZ2UgdG8gZnJhY3Rpb25hbCBkYXlzIChDQVNTQU5EUkEtODQwNikKICogRml4IHNvbWUgbXVsdGktY29sdW1uIHJlbGF0aW9ucyB3aXRoIGluZGV4ZXMgb24gc29tZSBjbHVzdGVyaW5nCiAgIGNvbHVtbnMgKENBU1NBTkRSQS04Mjc1KQogKiBGaXggbWVtb3J5IGxlYWsgaW4gU1NUYWJsZVNpbXBsZSpXcml0ZXIgYW5kIFNTVGFibGVSZWFkZXIudmFsaWRhdGUNd17fAAABT948slwAEENBU1NBTkRSQS01MjA4KQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1AAAAEAYW5uZWwubWFwIChDQVNTQU5EUkEtMzIwMSkKICogQWxsb3cgdXNpbmcgcXVvdGVzIGluICJVU0UgPGtleXNwYWNlPjsiIENMSSBjb21tYW5kIChDQVNTQU5EUkEtMzIwOCkKICogTG9nIG1lc3NhZ2Ugd2hlbiBhIGZ1bGwgcmVwYWlyIG9wZXJhdGlvbiBjb21wbGV0ZXMgKENBU1NBTkRSQS0zMjA3KQogKiBEb24ndCBhbGxvdyBhbnkgY2FjaGUgbG9hZGluZyBleGNlcHRpb25zIHRvIGhhbHQgc3RhcnR1cCAoQ0FTU0FORFJBLTMyMTgpCiAqIEZpeCBzc4lJO3AAAAFP3jyyXAAQLjItMi4wIGNsdXN0ZXJzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvUAAAAQApCiAqIEZpeCBkZWZhdWx0IHRpbWVzdGFtcCBpbiBRdWVyeU9wdGlvbnMgKENBU1NBTkRSQS04MjQ2KQogKiBTZXQgc29ja2V0IHRpbWVvdXQgd2hlbiByZWFkaW5nIHJlbW90ZSB2ZXJzaW9uIChDQVNTQU5EUkEtODE4OCkKICogUmVmYWN0b3IgaG93IHdlIHRyYWNrIGxpdmUgc2l6ZSAoQ0FTU0FORFJBLTc4NTIpCiAqIE1ha2Ugc3VyZSB1bmZpbmlzaGVkIGNvbXBhY3Rpb24gZmlsZXMgYXJlIHJlbW92ZWQgKENBU1NBTkRSQS04MTI0KQogKiBGaXggKmChfQAAAU/ePLJcABBzdWJtaXR0aW5nIGFub3RoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9QAAABAGVzcG9uc2VzIGFuZCBldmVudHMgZm9yIG5vLW9wIERETAogICBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNzYwMCkKICogKEhhZG9vcCkgZml4IGNsdXN0ZXIgaW5pdGlhbGlzYXRpb24gZm9yIGEgc3BsaXQgZmV0Y2hpbmcgKENBU1NBTkRSQS03Nzc0KQogKiBUaHJvdyBJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiB3aGVuIHF1ZXJpZXMgY29udGFpbiByZWxhdGlvbnMgb24gZW50aXJlCiAgIGNvbGxlY3Rpb24gY29sdW1ucyAoQ0FTU0FORFJBLTc1MDYpCiAPf70cAAABT948slwAEDE3MjMpCiAqIHJlamVjdCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1AAAAEAIG9wdGlvbiAoQ0FTU0FORFJBLTE4NzIpCiAqIGFkZCBjb25maWd1cmFibGUgcm93IGxpbWl0IHRvIFBpZyBsb2FkZnVuYyAoQ0FTU0FORFJBLTIyNzYpCiAqIHZhbGlkYXRlIGNvbHVtbiB2YWx1ZXMgaW4gYmF0Y2hlcyBhcyB3ZWxsIGFzIHNpbmdsZS1Db2x1bW4gaW5zZXJ0cwogICAoQ0FTU0FORFJBLTIyNTkpCiAqIG1vdmUgc2FtcGxlIHNjaGVtYSBmcm9tIGNhc3NhbmRyYS55YW1sIHRvIHNjaGVtYS1zYW1wbGUudHh0LAogICBhIGNsaSBzY3JpcIaCrCEAAAFP3jyyXAAQZGVyIChDQVNTQU5EUkEtNgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvUAAAAQAtYmFzZWQgc2xpY2Ugd2l0aCBhIGhpZ2ggbWF4IGNvbHVtbiBjb3VudCBpbnN0ZWFkLikKICogUmVtb3ZlZCB0aGUgd2ViIGludGVyZmFjZS4gTm9kZSBpbmZvcm1hdGlvbiBjYW4gbm93IGJlIG9idGFpbmVkIGJ5IAogICB1c2luZyB0aGUgbmV3bHkgaW50cm9kdWNlZCBub2RlcHJvYmUgdXRpbGl0eS4KICogTW9yZSBKTVggc3RhdHMKICogUmVtb3ZlIG1hZ2ljIHZhbHVlcyBmcm9tIGludGVybmFscyAoZS5nLiBzcGVjaWFsIGtleSB0byBpbmRpY2F0wjlevAAAAU/ePLJcABB0aG9kcyB0byBlbmFibGUvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9QAAABAG8gc2NoZW1hLXNhbXBsZS50eHQsCiAgIGEgY2xpIHNjcmlwdHMgKENBU1NBTkRSQS0yMDA3KQogKiBhdm9pZCB3cml0aW5nIGVtcHR5IHJvd3Mgd2hlbiBzY3J1YmJpbmcgdG9tYnN0b25lZCByb3dzIChDQVNTQU5EUkEtMjI5NikKICogZml4IGFzc2VydGlvbiBlcnJvciBpbiByYW5nZSBhbmQgaW5kZXggc2NhbnMgZm9yIENMIDwgQUxMCiAgIChDQVNTQU5EUkEtMjI4MikKICogZml4IGNvbW1pdGxvZyByZXBsYXkgd2hlbiBmbHVzaCBwb3NpdGlvbiDb88iyAAABT948slwAEEEtNjY1OSkKICogVHJhY2sAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1AAAAEAdG9yIChDQVNTQU5EUkEtODE0NikKICogRml4IElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiB3aGVuIGEgbGlzdCBvZiBJTiB2YWx1ZXMgY29udGFpbmluZyB0dXBsZXMKICAgaXMgcGFzc2VkIGFzIGEgc2luZ2xlIGFyZyB0byBhIHByZXBhcmVkIHN0YXRlbWVudCB3aXRoIHRoZSB2MSBvciB2MgogICBwcm90b2NvbCAoQ0FTU0FORFJBLTgwNjIpCiAqIEZpeCBDbGFzc0Nhc3RFeGNlcHRpb24gaW4gRElTVElOQ1QgcXVlcnkgb24gc3RhdGljIGNvbHVtbjgNjEkAAAFP3jyyXAAQZSAoQ0FTU0FORFJBLTQwMgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvUAAAAQBTU0FORFJBLTQ2MjQpCiAqIEZpeCBwb3RlbnRpYWwgZGVhZGxvY2sgZHVyaW5nIGNvdW50ZXIgd3JpdGVzIChDQVNTQU5EUkEtNDU3OCkKICogRml4IGNxbCBlcnJvciB3aXRoIE9SREVSIEJZIHdoZW4gdXNpbmcgSU4gKENBU1NBTkRSQS00NjEyKQpNZXJnZWQgZnJvbSAxLjA6CiAqIGluY3JlYXNlIFhzcyB0byAxNjBrIHRvIGFjY29tb2RhdGUgbGF0ZXN0IDEuNiBKVk1zIChDQVNTQU5EUkEtNDYwMikKICogZml4IHRvU3RyaW5nIG9mIGhpbnQgZGVzAlQVHwAAAU/ePLJcABBwb20gbWlzc2luZyBuZXR0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9QAAABAGFudGlhdGVkIChDQVNTQU5EUkEtMTQ3NykKICogYnkgZGVmYXVsdCwgY2FsY3VsYXRlIGhlYXAgc2l6ZSBhbmQgbWVtdGFibGUgdGhyZXNob2xkcyBhdCBydW50aW1lIChDQVNTQU5EUkEtMTQ2OSkKICogZml4IHJhY2VzIGRlYWxpbmcgd2l0aCBhZGRpbmcvZHJvcHBpbmcga2V5c3BhY2VzIGFuZCBjb2x1bW4gZmFtaWxpZXMgaW4KICAgcmFwaWQgc3VjY2Vzc2lvbiAoQ0FTU0FORFJBLTE0NzcpCiAqIGNsZWFuIHVwIG9mIFN0cmVhbWluZyBzeXN0ZW1zCaAAAAABT948slwAEGVudCAoQ0FTU0FORFJBLTEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1AAAAEAZGxlIHVucmVjb2duaXplZCBvcGNvZGVzIGFuZCBmbGFncyAoQ0FTU0FORFJBLTc0NDApCiAqIChIYWRvb3ApIGNsb3NlIENxbFJlY29yZFdyaXRlciBjbGllbnRzIHdoZW4gZmluaXNoZWQgKENBU1NBTkRSQS03NDU5KQogKiBDb21taXQgZGlzayBmYWlsdXJlIHBvbGljeSAoQ0FTU0FORFJBLTc0MjkpCiAqIE1ha2Ugc3VyZSBoaWdoIGxldmVsIHNzdGFibGVzIGdldCBjb21wYWN0ZWQgKENBU1NBTkRSQS03NDE0KQogKiBGaXggQXNzZXJ0aW9uRXJyb6ivTE8AAAFP3jyyXAAQYW5kIHN0cmVhbXMgaW4gZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvUAAAAQBpbmRleC1idWlsZGluZyBzdGF0dXMgaW4gSk1YICsgY2xpIHNjaGVtYSBkZXNjcmlwdGlvbgogICAoQ0FTU0FORFJBLTE4NzEpCiAqIGFsbG93IFtMT0NBTHxFQUNIXV9RVU9SVU0gdG8gYmUgdXNlZCB3aXRoIG5vbi1OZXR3b3JrVG9wb2xvZ3kgCiAgIHJlcGxpY2F0aW9uIFN0cmF0ZWdpZXMKICogaW5jcmVhc2VkIGFtb3VudCBvZiBpbmRleCBsb2NrcyBmb3IgZmFzdGVyIGNvbW1pdGxvZyByZXBsYXkKICogY29sbGVjdCBzZWNvbmRhcnkgaW5kZXggCYwbNwAAAU/ePLJcABAqIFB1c2ggdGhlIHZhbGlkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9QAAABADIsIDMxNjIsIDMxNjMsIDMxNjgpCiAqIERlZmF1bHQgUlIgY2hhbmNlIHRvIDAuMSAoQ0FTU0FORFJBLTMxNjkpCiAqIEFkZCBSb3dMZXZlbCBzdXBwb3J0IHRvIHNlY29uZGFyeSBpbmRleCBBUEkgKENBU1NBTkRSQS0zMTQ3KQogKiBNYWtlIFNlcmlhbGl6aW5nQ2FjaGVQcm92aWRlciB0aGUgZGVmYXVsdCBpZiBKTkEgaXMgYXZhaWxhYmxlIChDQVNTQU5EUkEtMzE4MykKICogRml4IGJhY2t3YXJkcyBjb21wYXRpYmlsdHkgZm9yIENRTCBtZW10YWKdCbkeAAABT948slwAECBjYWNoZSBjYXBhY2l0eSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1AAAAEAZyBmcm9tIGVhcmxpZXIgdmVyc2lvbnMgKENBU1NBTkRSQS02ODQwKQogKiBQcm9wZXJseSB1c2UgdGhlIFBheG9zIGNvbnNpc3RlbmN5IGZvciAobm9uLXByb3RvY29sKSBiYXRjaCAoQ0FTU0FORFJBLTY4MzcpCiAqIEFkZCBwYXJhbm9pZCBkaXNrIGZhaWx1cmUgb3B0aW9uIChDQVNTQU5EUkEtNjY0NikKICogSW1wcm92ZSBQZXJSb3dTZWNvbmRhcnlJbmRleCBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTY4NzYpCiAqIEV4dGVuZCB0cmlnZ2VycyB0bzvDIZ0AAAFP3jyyXAAQLTQxNDIpCiAqIE9wdGltaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvUAAAAQBfcmVzcG9uc2VTdGFnZSAtPiBJbnRlcm5hbFJlc3BvbnNlU3RhZ2UKICogYWRkIEFic3RyYWN0VHlwZS5mcm9tU3RyaW5nIChDQVNTQU5EUkEtMTc2NykKICogcmVxdWlyZSBpbmRleF90eXBlIHRvIGJlIHByZXNlbnQgd2hlbiBzcGVjaWZ5aW5nIGluZGV4X25hbWUKICAgb24gQ29sdW1uRGVmIChDQVNTQU5EUkEtMTc1OSkKICogZml4IGFkZC9yZW1vdmUgaW5kZXggYnVncyBpbiBDRk1ldGFkYXRhIChDQVNTQU5EUkEtMTc2OCkKICogcmVidWlsZCBT3sU7YAAaPJ8w0VhlAAABT948slwAEAogKiBtdW5tYXAgY29tbWkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1IAAAEANSkKICogRW5zdXJlIGNvbXBhY3RlZCBmaWxlcyBhcmUgbmV2ZXIgdXNlZCwgdG8gYXZvaWQgY291bnRlciBvdmVyY291bnQgKENBU1NBTkRSQS00NDM2KQpNZXJnZWQgZnJvbSAxLjA6CiAqIFB1c2ggdGhlIHZhbGlkYXRpb24gb2Ygc2Vjb25kYXJ5IGluZGV4IHZhbHVlcyB0byB0aGUgU2Vjb25kYXJ5SW5kZXhNYW5hZ2VyIChDQVNTQU5EUkEtNDI0MCkKICogYWxsb3cgZHJvcHBpbmcgY29sdW1ucyBzaGFkb3dlZCBieSBub3QteWV0LWV4cGlyZWQgc30LHxkAAAFP3jyyXAAQLUNvbHVtbkZhbWlseSAoQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvUgAAAQB0aWFsIGluZmluaXRlIGxvb3AgaW4gMmFyeSBpbmRleCBxdWVyaWVzIChDQVNTQU5EUkEtMTYyMykKICogYWxsb3cgY3JlYXRpbmcgTlRTIGtleXNwYWNlcyB3aXRoIG5vIHJlcGxpY2FzIGNvbmZpZ3VyZWQgKENBU1NBTkRSQS0xNjI2KQogKiBhZGQgam14IGhpc3RvZ3JhbSBvZiBzc3RhYmxlcyBhY2Nlc3NlZCBwZXIgcmVhZCAoQ0FTU0FORFJBLTE2MjQpCiAqIHJlbW92ZSBzeXN0ZW1fcmVuYW1lX2NvbHVtbl9mYW1pbHkgYW5kIHN5c3RlbV9yZW5hH40sfAAAAU/ePLJcABBzdHJlc3Mgc2FtcGxpbmcgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9SAAABAEEtOTE0MCkKICogRml4IGFzc2VydGlvbiBlcnJvciB3aGVuIHJlc2V0bG9jYWxzY2hlbWEgaXMgcnVuIGR1cmluZyByZXBhaXIgKENBU1NBTkRSQS05MjQ5KQogKiBEaXNhYmxlIHNpbmdsZSBzc3RhYmxlIHRvbWJzdG9uZSBjb21wYWN0aW9ucyBmb3IgRFRDUyBieSBkZWZhdWx0IChDQVNTQU5EUkEtOTIzNCkKICogSW5jb21pbmdUY3BDb25uZWN0aW9uIHRocmVhZCBpcyBub3QgbmFtZWQgKENBU1NBTkRSQS05MjYyKQogKiBDbG9zZSBpbmNvbWluZyDZptuoAAABT948slwAEDAuLjIqKjEyNyAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1IAAAEAZGQgc2VydmVyIHNpZGUgYmF0Y2hpbmcgdG8gbmF0aXZlIHRyYW5zcG9ydCAoQ0FTU0FORFJBLTU2NjMpCiAqIE1ha2UgYmF0Y2hsb2cgcmVwbGF5IGFzeW5jaHJvbm91cyAoQ0FTU0FORFJBLTYxMzQpCiAqIHJlbW92ZSB1bnVzZWQgY2xhc3NlcyAoQ0FTU0FORFJBLTcxOTcpCiAqIExpbWl0IHVzZXIgdHlwZXMgdG8gdGhlIGtleXNwYWNlIHRoZXkgYXJlIGRlZmluZWQgaW4gKENBU1NBTkRSQS02NjQzKQogKiBBZGQgdmFsaWRhdGUgbWV0aG9kIHRvIAEtTDsAAAFP3jyyXAAQaWNoIGlzIGhvdyBvdXIgcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvUgAAAQAKICAgbXVjaCBkYXRhIHlldCBpbnN0ZWFkIG9mIHJhbmRvbSB0b2tlbiAoQ0FTU0FORFJBLTExMTIpCiAqIGtpbGwgc2VydmVyIG9uIE9PTSBpbiBleGVjdXRvciBzdGFnZSBhcyB3ZWxsIGFzIFRocmlmdCAoQ0FTU0FORFJBLTEyMjYpCiAqIHJlbW92ZSBvcHBvcnR1bmlzdGljIHJlcGFpcnMsIHdoZW4gdHdvIG1hY2hpbmVzIHdpdGggb3ZlcmxhcHBpbmcgcmVwbGljYQogICByZXNwb25zaWJpbGl0aWVzIGhhcHBlbiB0byBmaW5pc2ggbWFqb3IgY29toUuRVwAAAU/ePLJcABByb3cgbW9kZSAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9SAAABAHJpZXMgKENBU1NBTkRSQS0zMzI2KQogKiBPbmx5IGNyZWF0ZSBvbmUgQ29tcHJlc3Npb25NZXRhZGF0YSBvYmplY3QgcGVyIHNzdGFibGUgKENBU1NBTkRSQS0zNDI3KQogKiBjbGVhbnVwIHVzYWdlIG9mIFN0b3JhZ2VTZXJ2aWNlLnNldE1vZGUoKSAoQ0FTU0FORFJBLTMzODgpCiAqIEF2b2lkIGxhcmdlIGFycmF5IGFsbG9jYXRpb24gZm9yIGNvbXByZXNzZWQgY2h1bmsgb2Zmc2V0cyAoQ0FTU0FORFJBLTM0MzIpCiAqIGZpeCBEZWNpbWFsVHlwZSAv6RoSAAABT948slwAEGVyZ2VkIGZyb20gMi4wOgoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1IAAAEAIHByZW1hdHVyZWx5IGlmIGEgZmx1c2hlZC1idXQtCiAgIG5vdC1yZW1vdmVkIGNvbW1pdGxvZyBzZWdtZW50IGlzIGVuY291bnRlcmVkIChDQVNTQU5EUkEtMTI5NykKICogZml4IGR1cGxpY2F0ZSByb3dzIGJlaW5nIHJlYWQgZHVyaW5nIG1hcHJlZHVjZSAoQ0FTU0FORFJBLTExNDIpCiAqIGZhaWx1cmUgZGV0ZWN0aW9uIHdhc24ndCBjbG9zaW5nIGNvbW1hbmQgc29ja2V0cyAoQ0FTU0FORFJBLTEyMjEpCiAqIGNhc3NhbmRyYS1jbGkuYmF0IHdvcsajkLUAAAFP3jyyXAAQQU5EUkEtMTQ3OCkKICogZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvUgAAAQAgRml4IENvbHVtbkZhbWlseVJlY29yZFJlYWRlciB0byBub3QgcmV0dXJuIHByb2dyZXNzID4gMTAwJSAoQ0FTU0FORFJBLTM5NDIpCk1lcmdlZCBmcm9tIDEuMDoKICogU2V0IGdjX2dyYWNlIG9uIGluZGV4IENGIHRvIDAgKENBU1NBTkRSQS00MzE0KQoKCjEuMS4xCiAqIGFkZCBwb3B1bGF0ZV9pb19jYWNoZV9vbl9mbHVzaCBvcHRpb24gKENBU1NBTkRSQS0yNjM1KQogKiBhbGxvdyBsYXJnZXIgY2FjaGUgY2FwYWNpdGllcyB0aGFuIDJHQiAoQ0FTz1P7OwAAAU/ePLJcABBuIHJldHJ5aW5nIChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9SAAABAHBvaW50c1BlbmRpbmdIaW50cywgZGVsZXRlSGludHNGb3JFbmRwb2ludCBKTVggbWV0aG9kcyAKICAgKENBU1NBTkRSQS0xNTUxKQoKCjAuNy4wLWJldGEzCiAqIGFkZCBzdHJhdGVneSBvcHRpb25zIHRvIGRlc2NyaWJlX2tleXNwYWNlIG91dHB1dCAoQ0FTU0FORFJBLTE1NjApCiAqIGxvZyB3YXJuaW5nIHdoZW4gdXNpbmcgcmFuZG9tbHkgZ2VuZXJhdGVkIHRva2VuIChDQVNTQU5EUkEtMTU1MikKICogcmUtb3JnYW5pemUgSk1YIGludG8gLmRiLCDdrK8mAAABT948slwAEGNoZSB3aXRoIGEgZ2l2ZW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1IAAAEAZXN0IHNzdGFibGVzIGZpcnN0IGFuZCBvcHRpb25hbGx5IG9taXQgY29sZGVzdCBmcm9tCiAgIGNvbXBhY3Rpb24gZW50aXJlbHkgKENBU1NBTkRSQS02MTA5KQogKiBGaXggbW9kaWZ5aW5nIGNvbHVtbl9tZXRhZGF0YSBmcm9tIHRocmlmdCAoQ0FTU0FORFJBLTYxODIpCiAqIGNxbHNoOiBmaXggTElTVCBVU0VSUyBvdXRwdXQgKENBU1NBTkRSQS02MjQyKQogKiBBZGQgSVJlcXVlc3RTaW5rIGludGVyZmFjZSAoQ0FTU0FORFJBLTYyNDgpCiAqIFVwZJZ9qyUAAAFP3jyyXAAQYWNjZXB0aW5nIDMuMC4wLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvUgAAAQBpZmllcyB0aGF0IHRoZSB0YXJnZXQgaXMgYmFjayB1cAogICAoQ0FTU0FORFJBLTM5NTgpCiAqIGF2b2lkIHVucHJvZHVjdGl2ZSBkZXNlcmlhbGl6aW5nIG9mIGNhY2hlZCByb3dzIGR1cmluZyBjb21wYWN0aW9uCiAgIChDQVNTQU5EUkEtMzkyMSkKICogZml4IGNvbmN1cnJlbmN5IGlzc3VlcyB3aXRoIENRTCBrZXlzcGFjZSBjcmVhdGlvbiAoQ0FTU0FORFJBLTM5MDMpCiAqIFNob3cgRWZmZWN0aXZlIE93ZXJzaGlwIHZpYSBOb2RldG9vbCByaW5nziWj1gAAAU/ePLJcABBzIHRoYXQgYWxyZWFkeSBoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9SAAABAG9mIHRoZSBDTEkgc3ludGF4IHdoZW4ge30gc2hvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBbe31dCiAgIChDQVNTQU5EUkEtMzExOSkKICogcmVuYW1lIENRTCB0eXBlIG5hbWVzIHRvIG1hdGNoIGV4cGVjdGVkIFNRTCBiZWhhdmlvciAoQ0FTU0FORFJBLTMxNDksIDMwMzEpCiAqIEFyZW5hLWJhc2VkIGFsbG9jYXRpb24gZm9yIG1lbXRhYmxlcyAoQ0FTU0FORFJBLTIyNTIsIDMxNjIsIDMxNjMsIDMxNjgpCiAqIERlZmF1bHQgUlIgY2hhbmNlIHRvIDDg4PY+AAABT948slwAEDM4OCkKICogZml4IGR5bmEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1IAAAEATkRSQS0zMDQxKQogKiBGaXggZGl2aWRlIGJ5IHplcm8gZXJyb3IgaW4gR0NJbnNwZWN0b3IgKENBU1NBTkRSQS0zMTY0KQogKiBhbGxvdyBxdW90aW5nIG9mIHRoZSBDb2x1bW5GYW1pbHkgbmFtZSBpbiBDTEkgYGNyZWF0ZSBjb2x1bW4gZmFtaWx5YAogICBzdGF0ZW1lbnQgKENBU1NBTkRSQS0zMTk1KQogKiBGaXggcm9sbGluZyB1cGdyYWRlIGZyb20gMC43IHRvIDAuOCBwcm9ibGVtIChDQVNTQU5EUkEtMzE2NikKICogQWNjb21vZGF0ZSBtaXNzaQ6WiSMAAAFP3jyyXAAQIHRvIDEuMCAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvUgAAAQBORFJBLTc0NDApCiAqIChIYWRvb3ApIGNsb3NlIENxbFJlY29yZFdyaXRlciBjbGllbnRzIHdoZW4gZmluaXNoZWQgKENBU1NBTkRSQS03NDU5KQogKiBDb21taXQgZGlzayBmYWlsdXJlIHBvbGljeSAoQ0FTU0FORFJBLTc0MjkpCiAqIE1ha2Ugc3VyZSBoaWdoIGxldmVsIHNzdGFibGVzIGdldCBjb21wYWN0ZWQgKENBU1NBTkRSQS03NDE0KQogKiBGaXggQXNzZXJ0aW9uRXJyb3Igd2hlbiB1c2luZyBlbXB0eSBjbHVzdGVyaW5nIGNvbHVtbnMgYW5kUYTHZwAAAU/ePLJcABBBTkRSQS02OTYxKQogKiBBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9SAAABACB3YXkgdG8gZGVhY3RpdmF0ZSBnbG9iYWwga2V5L3JvdyBjYWNoZSBvbiBwZXItQ0YgYmFzaXMgKENBU1NBTkRSQS0zNjY3KQogKiBmaXggTGV2ZWxlZENvbXBhY3Rpb25TdHJhdGVneSBicm9rZW4gYmVjYXVzZSBvZiBnZW5lcmF0aW9uIHByZS1hbGxvY2F0aW9uCiAgIGluIExldmVsZWRNYW5pZmVzdCAoQ0FTU0FORFJBLTM2OTEpCiAqIGZpbmVyLWdyYWluZWQgY29udHJvbCBvdmVyIGRhdGEgZGlyZWN0b3JpZXMgKENBU1NBTkRSQS0yNzQ5KQogKiD3DJcLAAAAU9Mm31IAKAAGc3lzdGVtAAAVc2NoZW1hX2NvbHVtbmZhbWlsaWVzAAAEAAAADQAAAAABAVof8mes4D8ShWPPrmEDxl5VU2ZyAAUV99X43DgAAAAAAAAAAMJ1nQkAGlD8wFSu6AAAAU/ePLJcABBpeCB1c2Ugb2YgQ1FMMyBmAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9UAAABAG9kZXRvb2wgb3duZXJzaGlwIGRpc3BsYXkgd2l0aCB2bm9kZXMgKENBU1NBTkRSQS01MDY1KQogKiBjcWxzaDogYWRkIERFU0NSSUJFIEtFWVNQQUNFUyBjb21tYW5kIChDQVNTQU5EUkEtNTA2MCkKICogRml4IHBvdGVudGlhbCBpbmZpbml0ZSBsb29wIHdoZW4gcmVsb2FkaW5nIENGUyAoQ0FTU0FORFJBLTUwNjQpCiAqIEZpeCBTaW1wbGVBdXRob3JpemVyIGV4YW1wbGUgKENBU1NBTkRSQS01MDcyKQogKiBjcWxzaDogZm9yY2UgQ0wuT05FIGZvciCliy6LAAABT948slwAEFBFIGluIGdldF9yYW5nZV8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1QAAAEAYmlsaXR5IHdpdGggcHJlLTEuMi41IHNzdGFibGVzIGFuZCBuZXR3b3JrIG1lc3NhZ2VzCiAgIChDQVNTQU5EUkEtNTUxMSkKICogcmVtb3ZlZCBQQlNQcmVkaWN0b3IgKENBU1NBTkRSQS01NDU1KQogKiBDQVMgc3VwcG9ydCAoQ0FTU0FORFJBLTUwNjIsIDU0NDEsIDU0NDIsIDU0NDMsIDU2MTksIDU2NjcpCiAqIExldmVsZWQgY29tcGFjdGlvbiBwZXJmb3JtcyBzaXplLXRpZXJlZCBjb21wYWN0aW9ucyBpbiBMMCAKICAgKENBU1NBTkRSQS01MzcxLMxKomcAAAFP3jyyXAAQYXV0b2NvbXBhY3Rpb24gKAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvVAAAAQByaXRlcyAoQ0FTU0FORFJBLTI2NjApCiAqIGFkZCBEUk9QIElOREVYIHN1cHBvcnQgdG8gQ0xJIChDQVNTQU5EUkEtMjYxNikKICogZG9uJ3QgcGVyZm9ybSBISCB0byBjbGllbnQtbW9kZSBbc3RvcmFnZXByb3h5XSBub2RlcyAoQ0FTU0FORFJBLTI2NjgpCiAqIEltcHJvdmUgZm9yY2VEZXNlcmlhbGl6ZS9nZXRDb21wYWN0ZWRSb3cgZW5jYXBzdWxhdGlvbiAoQ0FTU0FORFJBLTI2NTkpCiAqIERvbid0IHdyaXRlIENvdW50ZXJVcGRhdGVDb2x1bW4grOo5swAAAU/ePLJcABApCiAqIEZpeCBub2RldG9vAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9UAAABAGF1bHQga2V5IGNhY2hlIHNpemUgaXMgMjAwayBlbnRyaWVzLCBjaGFuZ2VkIGZyb20gMTAlIChDQVNTQU5EUkEtODYzKQogKiBhZGQgLURjYXNzYW5kcmEtZm9yZWdyb3VuZD15ZXMgdG8gY2Fzc2FuZHJhLmJhdAogKiBleGl0IGlmIGNsdXN0ZXIgbmFtZSBpcyBjaGFuZ2VkIHVuZXhwZWN0ZWRseSAoQ0FTU0FORFJBLTc2OSkKCgowLjYuMC1iZXRhMS9iZXRhMgogKiBhZGQgYmF0Y2hfbXV0YXRlIHRocmlmdCBjb21tYW5kLCBkZXByZWNhdGluZyBiYXS9HzGWAAABT948slwAEGlzVmFsaWQKICAgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1QAAAEAcyBhcmUgbmV2ZXIgdXNlZCwgdG8gYXZvaWQgY291bnRlciBvdmVyY291bnQgKENBU1NBTkRSQS00NDM2KQpNZXJnZWQgZnJvbSAxLjA6CiAqIFB1c2ggdGhlIHZhbGlkYXRpb24gb2Ygc2Vjb25kYXJ5IGluZGV4IHZhbHVlcyB0byB0aGUgU2Vjb25kYXJ5SW5kZXhNYW5hZ2VyIChDQVNTQU5EUkEtNDI0MCkKICogYWxsb3cgZHJvcHBpbmcgY29sdW1ucyBzaGFkb3dlZCBieSBub3QteWV0LWV4cGlyZWQgc3VwZXJjb2x1bW4gb3Igcm93CiAgIHRvbWJzdM7rd+AAAAFP3jyyXAAQYXJseSBvcGVuIChDQVNTQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvVAAAAQAgZmlsZXMgKENBU1NBTkRSQS0zMDQwKQogKiBTdG9wIHJlYWRpbmcgZnJvbSBzc3RhYmxlcyBvbmNlIHdlIGtub3cgd2UgaGF2ZSB0aGUgbW9zdCByZWNlbnQgY29sdW1ucywKICAgZm9yIHF1ZXJ5LWJ5LW5hbWUgcmVxdWVzdHMgKENBU1NBTkRSQS0yNDk4KQogKiBBZGQgcXVlcnktYnktY29sdW1uIG1vZGUgdG8gc3RyZXNzLmphdmEgKENBU1NBTkRSQS0zMDY0KQogKiBBZGQgImluc3RhbGwiIGNvbW1hbmQgdG8gY2Fzc2FuZHJhLmJhdCAoQ0FTU0FOozRfZQAAAU/ePLJcABBnaXZlbiBhbW91bnQgb2YgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9UAAABAEFORFJBLTQwNTMpCiAqIEZpeCBmYXQgY2xpZW50IHNjaGVtYSBwdWxsIE5QRSAoQ0FTU0FORFJBLTYwODkpCiAqIEZpeCBtZW10YWJsZSBmbHVzaGluZyBmb3IgaW5kZXhlZCB0YWJsZXMgKENBU1NBTkRSQS02MTEyKQogKiBGaXggc2tpcHBpbmcgY29sdW1ucyB3aXRoIG11bHRpcGxlIHNsaWNlcyAoQ0FTU0FORFJBLTYxMTkpCiAqIEV4cG9zZSBjb25uZWN0ZWQgdGhyaWZ0ICsgbmF0aXZlIGNsaWVudCBjb3VudHMgKENBU1NBTkRSQS01MDg0KQogKiBQykH+AAABT948slwAEFNTQU5EUkEtNjc5MykKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1QAAAEACiAqIChjcWxzaCkgRGlzcGxheSB0aGUgY3VycmVudCBsb2dnZWQtaW4gdXNlciAoQ0FTU0FORFJBLTc3ODUpCiAqIChjcWxzaCkgRG9uJ3QgaWdub3JlIENUUkwtQyBkdXJpbmcgQ09QWSBGUk9NIGV4ZWN1dGlvbiAoQ0FTU0FORFJBLTc4MTUpCiAqIChjcWxzaCkgT3JkZXIgVURUcyBhY2NvcmRpbmcgdG8gY3Jvc3MtdHlwZSBkZXBlbmRlbmNpZXMgaW4gREVTQ1JJQkUKICAgb3V0cHV0IChDQVNTQU5EUkEtNzY1OSkKICogKGNxbHNoKSBGaXggaGFuZKn45zcAAAFP3jyyXAAQQU5EUkEtNjM0MykKICogUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvVAAAAQB3aGVuIGEgdG9rZW4gaXMgdGFrZW4gb3ZlciBieSBhIG5ldyBJUCAoQ0FTU0FORFJBLTMyNTkpCiAqIEZpeCBidWcgd2hlcmUgdGhlIGZhaWx1cmUgZGV0ZWN0b3IgY2FuIHRha2UgdG9vIGxvbmcgdG8gbWFyayBhIGhvc3QKICAgZG93biAoQ0FTU0FORFJBLTMyNzMpCiAqIChIYWRvb3ApIGFsbG93IHdyYXBwaW5nIHJhbmdlcyBpbiBxdWVyaWVzIChDQVNTQU5EUkEtMzEzNykKICogKEhhZG9vcCkgY2hlY2sgYWxsIGludGVyZmFjZXMgZm9yIGEgbWF0/iSStgAAAU/ePLJcABA4KQogKiBGaXggZXJyb3IgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9UAAABAGRvbSwgQ29sbGF0ZWRPUFAgcGFydGl0aW9uZXJzIAogICBmb3Igbm9ybWFsIHdyaXRlcyAoQ0FTU0FORFJBLTQ0NikgYW5kIGJ1bGsgbG9hZCAoQ0FTU0FORFJBLTQyMCkKICogQWRkIE1lbXRhYmxlRmx1c2hBZnRlck1pbnV0ZXMsIGEgZ2xvYmFsIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIAogICBwZXItQ0YgRmx1c2hQZXJpb2RJbk1pbnV0ZXMgc2V0dGluZyAoQ0FTU0FORFJBLTQ2MykKICogb3B0aW1pemF0aW9ucyB0byBzbGljZSByZWFkaW5nIChhcl6/AAABT948slwAEHBvc3QtY29tcGFjdGlvbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1QAAAEAYXNzd29yZCB3aXRoIE1ENSdkCiAgIHNhdmVkIHByb3BlcnR5LCBpbnN0ZWFkIG9mIHZpY2UgdmVyc2EgKENBU1NBTkRSQS0xNDQ3KQogKiBKTVggTWVzc2FnaW5nU2VydmljZSBwZW5kaW5nIGFuZCBjb21wbGV0ZWQgY291bnRzIChDQVNTQU5EUkEtMTUzMykKICogZml4IHJhY2UgY29uZGl0aW9uIHByb2Nlc3NpbmcgcmVwYWlyIHJlc3BvbnNlcyAoQ0FTU0FORFJBLTE1MTEpCiAqIG1ha2UgcmVwYWlyIGJsb2NraW5nIChDQVNTQU5EUkEtMTUxMSkKIIZXKGAAAAFP3jyyXAAQNCkKICogRml4IHBvdGVudAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvVAAAAQBmb3IgTGV2ZWxlZENvbXBhY3Rpb25TdHJhdGVneSAoQ0FTU0FORFJBLTUwOTMpCk1lcmdlZCBmcm9tIDEuMToKICogYWRkIHZhbGlkYXRpb24gZm9yIGdldF9yYW5nZV9zbGljZXMgd2l0aCBzdGFydF9rZXkgYW5kIGVuZF90b2tlbiAoQ0FTU0FORFJBLTUwODkpCgoKMS4yLjAtcmMyCiAqIGZpeCBub2RldG9vbCBvd25lcnNoaXAgZGlzcGxheSB3aXRoIHZub2RlcyAoQ0FTU0FORFJBLTUwNjUpCiAqIGNxbHNoOiBhZGQgREVTQ1JJQkUgS0VZU1BBQ0VTovPoKgAAAU/ePLJcABBvbiBpbiBTUy5pc1JQQ1NlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9UAAABAEEtNDY0MCkKICogdXBkYXRlIHN0cmVzcyB0b29sIHRvIGJlIGFibGUgdG8gdXNlIENRTDMgKENBU1NBTkRSQS00NDA2KQogKiBBY2NlcHQgYWxsIHRocmlmdCB1cGRhdGUgb24gQ1FMMyBjZiBidXQgZG9uJ3QgZXhwb3NlIHRoZWlyIG1ldGFkYXRhIChDQVNTQU5EUkEtNDM3NykKICogUmVwbGFjZSBUaHJvdHRsZSB3aXRoIEd1YXZhJ3MgUmF0ZUxpbWl0ZXIgZm9yIEhpbnRlZEhhbmRPZmYgKENBU1NBTkRSQS00NTQxKQogKiBmaXggY291bnRlciBhZGSzr9d5AAABT948slwAEGNvcmRXcml0ZXIgd2l0aCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1QAAAEAY3Rpb24KICAgKENBU1NBTkRSQS0yOTAxKQogKiBtYWtlIEFic3RyYWN0Qm91bmRzLm5vcm1hbGl6ZSBzdXBwb3J0IG92ZXJsYXBwaW5nIHJhbmdlcyAoQ0FTU0FORFJBLTI2NDEpCiAqIGZpeCBvZiB0aGUgQ1FMIGNvdW50KCkgYmVoYXZpb3IgKENBU1NBTkRSQS0zMDY4KQogKiB1c2UgVHJlZU1hcCBiYWNrZWQgY29sdW1uIGZhbWlsaWVzIGZvciB0aGUgU1NUYWJsZSBzaW1wbGUgd3JpdGVycwogICAoQ0FTU0FORFJBLTMxNDgpCiAqIGZpeCBpbmNvboWJIVsAAAFP3jyyXAAQdXJhdGlvbkV4Y2VwdGlvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvVAAAAQAgcHJlcGFyYXRpb24gKENBU1NBTkRSQS04NjcyKQogKiBBdm9pZCByYWNlIGluIGNhbmNlbGxpbmcgY29tcGFjdGlvbnMgKENBU1NBTkRSQS05MDcwKQogKiBNb3JlIGFnZ3Jlc3NpdmUgY2hlY2sgZm9yIGV4cGlyZWQgc3N0YWJsZXMgaW4gRFRDUyAoQ0FTU0FORFJBLTgzNTkpCiAqIEZpeCBpZ25vcmVkIGluZGV4X2ludGVydmFsIGNoYW5nZSBpbiBBTFRFUiBUQUJMRSBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNzk3NikKICogRG8gbW9yZSBhZ2dyZXNzX5DHmwAaZVndp7qhAAABT948slwAEHIgYXV0aGVudGljYXRpb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1YAAAEACiAqIFRyYWNrIG1heC9taW4gdGltZXN0YW1wcyBmb3IgcmFuZ2UgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTc2NDcpCiAqIEZpeCBOUEUgd2hlbiBsaXN0aW5nIHNhdmVkIGNhY2hlcyBkaXIgKENBU1NBTkRSQS03NjMyKQoKCjIuMS4wLXJjNAogKiBGaXggd29yZCBjb3VudCBoYWRvb3AgZXhhbXBsZSAoQ0FTU0FORFJBLTcyMDApCiAqIFVwZGF0ZWQgbWVtdGFibGVfY2xlYW51cF90aHJlc2hvbGQgYW5kIG1lbXRhYmxlX2ZsdXNoX3dyaXRlcnMgZGVmYRbRvbgAAAFP3jyyXAAQTkRSQS00NTY4KQogKiBGaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvVgAAAQBwcmVzc2VkUmFuZG9tQWNjZXNzUmVhZGVyIHRvIHdvcmsgYXJvdW5kIEpESyBGRCBidWcgKENBU1NBTkRSQS01MDg4KQogKiBJbXByb3ZlIGhhbmRsaW5nIGEgY2hhbmdpbmcgdGFyZ2V0IHRocm90dGxlIHJhdGUgbWlkLWNvbXBhY3Rpb24gKENBU1NBTkRSQS01MDg3KQogKiBQaWc6IGNvcnJlY3RseSBkZWNvZGUgcm93IGtleXMgaW4gd2lkZXJvdyBtb2RlIChDQVNTQU5EUkEtNTA5OCkKICogbm9kZXRvb2wgcmVwYWlyIGNvbW1hbmQgbm93IHByaW50YiFVuQAAAU/ePLJcABB1dGhlbnRpY2F0ZSB0byBhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9WAAABADAyNikKICogSW1wcm92ZSBzY2hlbWEgcHJvcGFnYXRpb24gcGVyZm9ybWFuY2UgKENBU1NBTkRSQS01MDI1KQogKiBGaXggZm9yIEluZGV4SGVscGVyLkluZGV4Rm9yIHRocm93cyBPT0IgRXhjZXB0aW9uIChDQVNTQU5EUkEtNTAzMCkKICogY3Fsc2g6IG1ha2UgaXQgcG9zc2libGUgdG8gZGVzY3JpYmUgdGhyaWZ0IENGcyAoQ0FTU0FORFJBLTQ4MjcpCiAqIGNxbHNoOiBmaXggdGltZXN0YW1wIGZvcm1hdHRpbmcgb24gc29tZSBwbGF0Zm9ybXMgKEMXXXqFAAABT948slwAEFNBTkRSQS02OTAxKQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1YAAAEAYnVja2V0aW5nIGJ1ZyAoQ0FTU0FORFJBLTgxNCkKICogdXBkYXRlIHdpbmRvd3MgYmF0Y2ggZmlsZSAoQ0FTU0FORFJBLTgyNCkKICogZGVwcmVjYXRlIEtleXNDYWNoZWRGcmFjdGlvbiBjb25maWd1cmF0aW9uIGRpcmVjdGl2ZSBpbiBmYXZvcgogICBvZiBLZXlzQ2FjaGVkOyBtb3ZlIHRvIHVuaWZpZWQtcGVyLUNGIGtleSBjYWNoZSAoQ0FTU0FORFJBLTgwMSkKICogYWRkIGludmFsaWRhdGVSb3dDYWNoZSB0byBDb2x1bW5GYW1pbHlTdG9yZU1CZWeLVeoAAAFP3jyyXAAQbXMgb3V0IG9mIG9yZGVyIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvVgAAAQB0IChDQVNTQU5EUkEtNTAyNykKICogYWRkIEJGIHdpdGggMC4xIEZQIHRvIExDUyBieSBkZWZhdWx0IChDQVNTQU5EUkEtNTAyOSkKICogRml4IHByZXBhcmluZyBpbnNlcnQgcXVlcmllcyAoQ0FTU0FORFJBLTUwMTYpCiAqIEZpeCBwcmVwYXJpbmcgcXVlcmllcyB3aXRoIGNvdW50ZXIgaW5jcmVtZW50IChDQVNTQU5EUkEtNTAyMikKICogRml4IHByZXBhcmluZyB1cGRhdGVzIHdpdGggY29sbGVjdGlvbnMgKENBU1NBTkRSQS01MDE3KQogKiBEb24np0Yi5QAAAU/ePLJcABA0OCkKICogY29udGludWUgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9WAAABAGNoZWNrIGRpZ2VzdHMgYWdhaW5zdCBlYWNoIG90aGVyIChDQVNTQU5EUkEtMTgzMCkKICogcmV0dXJuIEludmFsaWRSZXF1ZXN0IHdoZW4gcmVtb3ZlIG9mIHN1YmNvbHVtbiB3aXRob3V0IHN1cGVyY29sdW1uCiAgIGlzIHJlcXVlc3RlZCAoQ0FTU0FORFJBLTE4NjYpCiAqIGZsdXNoIGJlZm9yZSByZXBhaXIgKENBU1NBTkRSQS0xNzQ4KQogKiBTU1RhYmxlRXhwb3J0IHZhbGlkYXRlcyBrZXkgb3JkZXIgKENBU1NBTkRSQS0xODg0KQogKiBsYXJnZSCQsJLGAAABT948slwAEGVyIGNvbHVtbnMgaW4gbWkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1YAAAEAIGFibGUgdG8gcmVtb3ZlIHRoZW0gd2l0aCBzc3RhYmxlMmpzb24gaWYgdGhlIHdhcm5pbmcgaXMgdW5oZWVkZWQKICAgdW50aWwgaXQncyB0b28gbGF0ZSAoQ0FTU0FORFJBLTg0MykKICogQWRkIGxvZ2dpbmcgb2YgR0MgYWN0aXZpdHkgKENBU1NBTkRSQS04MTMpCiAqIGZpeCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uIGluIGNvbW1pdGxvZyBkaXNjYXJkIChDQVNTQU5EUkEtODUzKQogKiBGaXggaGFyZGNvZGVkIHJvdyBjb3VudCBpbnOI+awAAAFP3jyyXAAQZXJzIGluIHN1cGVyIGNvbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvVgAAAQAyOTIpCiAqIGNsZWFuIHVwIEtTTWV0YWRhdGEsIENGTWV0YWRhdGEgZnJvbSB1bm5lY2Vzc2FyeQogICBUaHJpZnQ8LT5BdnJvIGNvbnZlcnNpb24gbWV0aG9kcyAoQ0FTU0FORFJBLTMwMzIpCiAqIEFkZCB0aW1lb3V0cyB0byBjbGllbnQgcmVxdWVzdCBzY2hlZHVsZXJzIChDQVNTQU5EUkEtMzA3OSwgMzA5NikKICogQ2xpIHRvIHVzZSBoYXNoZXMgcmF0aGVyIHRoYW4gYXJyYXkgb2YgaGFzaGVzIGZvciBzdHJhdGVneSBvcHRpb25zIChDQVNTQU5E3by4LwAAAU/ePLJcABBtYXgvbWluIGNvbHVtbiBuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9WAAABACBsZWFkIHRvCiAgIGluZmluaXRlIGxvb3BzIGFuZCBwcmVtYXR1cmUgc3N0YWJsZSBkZWxldGlvbiAoQ0FTU0FORFJBLTc3MDQpCiAqIEFkZCBhbiBleHRyYSB2ZXJzaW9uIGNoZWNrIHRvIE1pZ3JhdGlvblRhc2sgKENBU1NBTkRSQS04NDYyKQogKiBFbnN1cmUgU1NUYWJsZVdyaXRlciBjbGVhbnMgdXAgcHJvcGVybHkgYWZ0ZXIgZmFpbHVyZSAoQ0FTU0FORFJBLTg0OTkpCiAqIEluY3JlYXNlIGJmIHRydWUgcG9zaXRpdmUgY291bnQgb24ga2V5IGPszQ5ZAAABT948slwAEGlvbi5nZXRTb3VyY2VzICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1YAAAEAIGludHJhLWhvc3QgbWVzc2FnZXMgKENBU1NBTkRSQS0xNzg4LCAzMTQ0KQogKiBzdXBwb3J0IG9mIGNvbXBhY3Rpb24gc3RyYXRlZ3kgb3B0aW9uIGZvciBzdHJlc3MuamF2YSAoQ0FTU0FORFJBLTMyMDQpCiAqIG1ha2UgbWVtdGFibGUgdGhyb3VnaHB1dCBhbmQgY29sdW1uIGNvdW50IHRocmVzaG9sZHMgbm8tb3BzIChDQVNTQU5EUkEtMjQ0OSkKICogUmV0dXJuIHNjaGVtYSBpbmZvcm1hdGlvbiBhbG9uZyB3aXRoIHRoZSByZXN1bHRTZXQgaW4gQ8mmQyQAAAFP3jyyXAAQbWVtdGFibGUgdGhyZXNobwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvVgAAAQBkdXJpbmcgcmVwYWlyIChDQVNTQU5EUkEtNTI0NSkKICogRG9uJ3QgYW5ub3VuY2UgbWlncmF0aW9ucyB0byBwcmUtMS4yIG5vZGVzIChDQVNTQU5EUkEtNTMzNCkKTWVyZ2VkIGZyb20gMS4xOgogKiBVcGRhdGUgb2ZmbGluZSBzY3J1YiBmb3IgMS4wIC0+IDEuMSBkaXJlY3Rvcnkgc3RydWN0dXJlIChDQVNTQU5EUkEtNTE5NSkKICogYWRkIHRtcCBmbGFnIHRvIERlc2NyaXB0b3IgaGFzaGNvZGUgKENBU1NBTkRSQS00MDIxKQogKiBmaXggbG9nZ2lu7KyMkgAAAU/ePLJcABAgKENBU1NBTkRSQS05MjYxAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9WAAABAGZ0IHRhYmxlcwogICBpbiBDUUwzIG1vZGUgKENBU1NBTkRSQS00OTU1KQogKiBhZGQgYmFzaWMgYXV0aGVudGljYXRpb24gc3VwcG9ydCBmb3IgUGlnIENhc3NhbmRyYVN0b3JhZ2UgKENBU1NBTkRSQS0zMDQyKQogKiBmaXggQ1FMMiBBTFRFUiBUQUJMRSBjb21wYWN0aW9uX3N0cmF0ZWd5X2NsYXNzIGFsdGVyaW5nIChDQVNTQU5EUkEtNDk2NSkKTWVyZ2VkIGZyb20gMS4xOgogKiBGYWxsIGJhY2sgdG8gb2xkIGRlc2NyaWJlX3NwbGl0cyBpZiBkX3Om4yQUAAABT948slwAEGFnZXIgcmV0cnkgKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1YAAAEAIHN1cHBvcnRlZCkgY3JlYXRpb24gb2YgMm5kYXJkeSBpbmRleGVzIG9uIHRhYmxlcyB3aXRoCiAgIGNvbXBvc2l0ZSBwcmltYXJ5IGtleXMgKENBU1NBTkRSQS00MzI4KQogKiBTZXQgSlZNIHN0YWNrIHNpemUgdG8gMTYwayBmb3IgamF2YSA3IChDQVNTQU5EUkEtNDI3NSkKICogY3Fsc2g6IGFkZCBDT1BZIGNvbW1hbmQgdG8gbG9hZCBkYXRhIGZyb20gQ1NWIGZsYXQgZmlsZXMgKENBU1NBTkRSQS00MDEyKQogKiBDRk1ldGFEYXRhLmZyb21UaHJpZmfI5RMAAAFP3jyyXAAQOCkKICogaW1wcm92ZWQgUAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvVgAAAQAgY2xvc2UgZmlsZSBoYW5kbGUgdXNlZCBmb3IgcG9zdC1mbHVzaCB0cnVuY2F0ZSAoQ0FTU0FORFJBLTE3OTApCiAqIHZhcmlvdXMgY29kZSBjbGVhbnVwIChDQVNTQU5EUkEtMTc5MywgLTE3OTQsIC0xNzk1KQogKiBmaXggcmFuZ2UgcXVlcmllcyBhZ2FpbnN0IHdyYXBwZWQgcmFuZ2UgKENBU1NBTkRSQS0xNzgxKQogKiBmaXggY29uc2lzdGVuY3lsZXZlbCBjYWxjdWxhdGlvbnMgZm9yIE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5CiAgIChDQVNTQU5Edz6jLAAAAU/ePLJcABBoYXQgY291bGQgYWxsb3cgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9WAAABAGVsb2FkZXIgLS1pZ25vcmVzIG9wdGlvbiAoQ0FTU0FORFJBLTMyNDcpCiAqIEZpbGUgZGVzY3JpcHRvciBsaW1pdCBpbmNyZWFzZWQgaW4gcGFja2FnaW5nIChDQVNTQU5EUkEtMzIwNikKICogRml4IGRlYWRsb2NrIGluIGNvbW1pdCBsb2cgZHVyaW5nIGZsdXNoIChDQVNTQU5EUkEtMzI1MykgCgoKMS4wLjAtYmV0YTEKICogcmVtb3ZlZCBiaW5hcnltZW10YWJsZSAoQ0FTU0FORFJBLTI2OTIpCiAqIGFkZCBjb21taXRsb2dfdG90YWxfc3BhY2VfaW78nKC8ABp5ttkqL3AAAAFP3jyyXAAQKQogKiBGaXggTlBFIHdoZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvWAAAAQA0MiwgNDIzNCkKICogdXBkYXRlIE11cm11ckhhc2ggdG8gdmVyc2lvbiAzIChDQVNTQU5EUkEtMjk3NSkKICogKENMSSkgdHJhY2sgZWxhcHNlZCB0aW1lIGZvciBgZGVsZXRlJyBvcGVyYXRpb24gKENBU1NBTkRSQS00MDYwKQogKiAoQ0xJKSBqbGluZSB2ZXJzaW9uIGlzIGJ1bXBlZCB0byAxLjAgdG8gcHJvcGVybHkgIHN1cHBvcnQKICAgJ2RlbGV0ZScga2V5IGZ1bmN0aW9uIChDQVNTQU5EUkEtNDEzMikKICogU2F2ZSBJbmRleFN1bW1hcnkgaW50Ep3frQAAAU/ePLJcABBwcmVzc2lvbl9vcHRpb25zAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9YAAABAEl0ZXJhYmxlIChDQVNTQU5EUkEtNTM5NSkKICogcmVtb3ZlIHRoZSBpbmRleCBlbnRyeSBvbiBvbGRDb2x1bW4gd2hlbiBuZXcgY29sdW1uIGlzIGEgdG9tYnN0b25lIAogICAoQ0FTU0FORFJBLTUzOTUpCiAqIENoYW5nZSBkZWZhdWx0IHN0cmVhbSB0aHJvdWdocHV0IGZyb20gNDAwIHRvIDIwMCBtYnBzIChDQVNTQU5EUkEtNTAzNikKICogR29zc2lwZXIgbG9ncyBET1dOIGZvciBzeW1tZXRyeSB3aXRoIFVQIChDQVNTQU5EUkEtNTE4NykKICogRmmDFgE3AAABT948slwAEGNyZWF0aW9uIGZhaWx1cmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1gAAAEAICogZGVjcmVhc2UganZtIGhlYXAgZm9yIGNhc3NhbmRyYS1jbGkgKENBU1NBTkRSQS0xNDQ2KQogKiBhYmlsaXR5IHRvIG1vZGlmeSBrZXlzcGFjZXMgYW5kIGNvbHVtbiBmYW1pbHkgZGVmaW5pdGlvbnMgb24gYSBsaXZlIGNsdXN0ZXIKICAgKENBU1NBTkRSQS0xMjg1KQogKiBzdXBwb3J0IGZvciBIYWRvb3AgU3RyZWFtaW5nIFtub24tanZtIG1hcC9yZWR1Y2UgdmlhIHN0ZGluL291dF0KICAgKENBU1NBTkRSQS0xMzY4KQogKiBNb3ZlIHBlcnNpc27vydAAAAFP3jyyXAAQZCBleHBvcnQgYW5kIGltcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvWAAAAQBzIChDQVNTQU5EUkEtNDczOSkKICogU3RvcmUgbW9yZSBpbmZvcm1hdGlvbiBpbnRvIHBlZXJzIHRhYmxlIChDQVNTQU5EUkEtNDM1MSwgNDgxNCkKICogQ29uZmlndXJhYmxlIGJ1Y2tldCBzaXplIGZvciBzaXplIHRpZXJlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtNDcwNCkKICogUnVuIGxldmVsZWQgY29tcGFjdGlvbiBpbiBwYXJhbGxlbCAoQ0FTU0FORFJBLTQzMTApCiAqIEZpeCBwb3RlbnRpYWwgTlBFIGR1cmluZyBDRlMgcmVsb2FkIChDQVNT9ICXkAAAAU/ePLJcABB0IFRyZWVSZXF1ZXN0cyAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9ZAAABAHkgYnVmZmVyZWQgKENBU1NBTkRSQS0zMjYxKQogKiBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCBmb3IgYnl0ZWJ1ZmZlcnV0aWwgY29tcGFyZSBmdW5jdGlvbiAoQ0FTU0FORFJBLTMyODYpCiAqIGFkZCBzeXN0ZW0udmVyc2lvbnMgQ29sdW1uRmFtaWx5IChDQVNTQU5EUkEtMzE0MCkKICogcmVkdWNlIG5ldHdvcmsgY29waWVzIChDQVNTQU5EUkEtMzMzMywgMzM3MykKICogbGltaXQgbm9kZXRvb2wgdG8gMzJNQiBvZiBoZWFwIChDQVNTQU5EUkEtMzHZZ+6dAAABT948slwAEEV4Y2VwdGlvbiBmb3IgY28AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1kAAAEAZCBzdGF0ZW1lbnQgZ2xvYmFsIGluc3RlYWQgb2YgcGVyIGNvbm5lY3Rpb24gCiAgIChDQVNTQU5EUkEtNDQ0OSkKICogRml4IHNjcnViYmluZyBvZiBDUUwzIGNyZWF0ZWQgdGFibGVzIChDQVNTQU5EUkEtNDY4NSkKICogKENRTDMpIEZpeCB2YWxpZGF0aW9uIHdoZW4gdXNpbmcgY291bnRlciBhbmQgcmVndWxhciBjb2x1bW5zIGluIHRoZSBzYW1lIAogICB0YWJsZSAoQ0FTU0FORFJBLTQ3MDYpCiAqIEZpeCBidWcgc3RhcnRpbmcgQ2Fzc2FuZHJhIFSAGxMAAAFP3jyyXAAQb3JkY291bnQgZGVtbyAoQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvWQAAAQBBLTQyOTcpCiAqIFN1cHBvcnQgbXVsdGlwbGUgcmFuZ2VzIGluIFNsaWNlUXVlcnlGaWx0ZXIgKENBU1NBTkRSQS0zODg1KQogKiBBZGQgY29sdW1uIG1ldGFkYXRhIHRvIHN5c3RlbSBjb2x1bW4gZmFtaWxpZXMgKENBU1NBTkRSQS00MDE4KQogKiAoY3FsMykgQWx3YXlzIHVzZSBjb21wb3NpdGUgdHlwZXMgYnkgZGVmYXVsdCAoQ0FTU0FORFJBLTQzMjkpCiAqIChjcWwzKSBBZGQgc3VwcG9ydCBmb3Igc2V0LCBtYXAgYW5kIGxpc3QgKENBU1NBTkRShzfLhgAAAU/ePLJcABBkIHJlc3BvbnNlIHN0YWdlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9ZAAABACkKICogRml4IHBvdGVudGlhbCBOUEUgb24gY29tcG9zaXRlIDJuZGFyeSBpbmRleGVzIChDQVNTQU5EUkEtNjA5OCkKICogRGVsZXRlIGNhbiBwb3RlbnRpYWxseSBiZSBza2lwcGVkIGluIGJhdGNoIChDQVNTQU5EUkEtNjExNSkKICogQWxsb3cgYWx0ZXIga2V5c3BhY2Ugb24gc3lzdGVtX3RyYWNlcyAoQ0FTU0FORFJBLTYwMTYpCiAqIERpc2FsbG93IGVtcHR5IGNvbHVtbiBuYW1lcyBpbiBjcWwgKENBU1NBTkRSQS02MTM2KQogKiBVc2UgSmF2YTfTynp6AAABT948slwAEEFORFJBLTkwNTcpCiAqIEEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1kAAAEAIFNUT1JBR0UgdGFibGVzIChDQVNTQU5EUkEtODI2NCkKICogRml4IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpdGggT1JERVIgQlkgKENBU1NBTkRSQS04Mjg2KQogKiBEaXNhYmxlIFNTTHYzIGZvciBQT09ETEUgKENBU1NBTkRSQS04MjY1KQogKiBGaXggbWlsbGlzZWNvbmQgdGltZXN0YW1wcyBpbiBUcmFjaW5nIChDQVNTQU5EUkEtODI5NykKICogSW5jbHVkZSBrZXlzcGFjZSBuYW1lIGluIGVycm9yIG1lc3NhZ2Ugd2hlbiB0aGVyZSBhcmUgaYxJlvMAAAFP3jyyXAAQaXggbWVtdGFibGUgZmx1cwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvWQAAAQBlZCAoQ0FTU0FORFJBLTgwNzMpCiAqIFNlbmQgcHJvcGVyIGVycm9yIHJlc3BvbnNlIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3IgZHVyaW5nIG5hdGl2ZQogICBwcm90b2NvbCBtZXNzYWdlIGRlY29kZSAoQ0FTU0FORFJBLTgxMTgpCiAqIEdvc3NpcCBzaG91bGQgaWdub3JlIGdlbmVyYXRpb24gbnVtYmVycyB0b28gZmFyIGluIHRoZSBmdXR1cmUgKENBU1NBTkRSQS04MTEzKQogKiBGaXggTlBFIHdoZW4gY3JlYXRpbmcgYSB0YWJsZSB3aXRoIGZyb3plcNpD7AAAAU/ePLJcABBwZGF0ZSBwc2V1ZG8tbWFwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9ZAAABACBub2RldG9vbCBjZmhpc3RvZ3JhbXMgKENBU1NBTkRSQS04NTE0KQogKiBTd2l0Y2ggZnJvbSB5YW1tZXIgbWV0cmljcyBmb3Igbm9kZXRvb2wgY2YvcHJveHkgaGlzdG9ncmFtcyAoQ0FTU0FORFJBLTg2NjIpCiAqIE1ha2Ugc3VyZSB3ZSBkb24ndCBhZGQgdG1wbGluayBmaWxlcyB0byB0aGUgY29tcGFjdGlvbgogICBzdHJhdGVneSAoQ0FTU0FORFJBLTg1ODApCiAqIChjcWxzaCkgSGFuZGxlIG1hcHMgd2l0aCBibG9iIGtleXMgKENBU1NBTkRSQS1q0gnhAAABT948slwAEEFORFJBLTQ3MjgpCiAqIGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1kAAAEAZm9yIHRyYWNraW5nIFByZXBhcmVkU3RhdGVtZW50IHVzZSAoQ0FTU0FORFJBLTc3MTkpCiAqIChjcWxzaCkgdGFiLWNvbXBsZXRpb24gZm9yIHRyaWdnZXJzIChDQVNTQU5EUkEtNzgyNCkKICogKGNxbHNoKSBTdXBwb3J0IGZvciBxdWVyeSBwYWdpbmcgKENBU1NBTkRSQS03NTE0KQogKiAoY3Fsc2gpIFNob3cgcHJvZ3Jlc3Mgb2YgQ09QWSBvcGVyYXRpb25zIChDQVNTQU5EUkEtNzc4OSkKICogQWRkIHN5bnRheCB0byByZW1vdmUgbXVsdGlwbGUgZUjNrq4AAAFP3jyyXAAQZU9mKCkgZnVuY3Rpb24gZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvWQAAAQBwIHdoZW4gV01JIG1lbW9yeSBxdWVyeSBmYWlscyAoQ0FTU0FORFJBLTc1MDUpCiAqIEFudGktY29tcGFjdGlvbiBwcm9jZWVkcyBpZiBhbnkgcGFydCBvZiB0aGUgcmVwYWlyIGZhaWxlZCAoQ0FTQU5EUkEtNzUyMSkKICogQWRkIG1pc3NpbmcgdGFibGUgbmFtZSB0byBEUk9QIElOREVYIHJlc3BvbnNlcyBhbmQgbm90aWZpY2F0aW9ucyAoQ0FTU0FORFJBLTc1MzkpCiAqIEJ1bXAgQ1FMIHZlcnNpb24gdG8gMy4yLjAgYW5kIHVwZGF0ZSBDUUwgZG9j3qsIogAAAU/ePLJcABAoQ0FTU0FORFJBLTMxNDMsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9ZAAABAGUgemVybyAoQ0FTU0FORFJBLTc1MzUpCiAqIFdhcm4gd2hlbiBTU0wgY2VydGlmaWNhdGVzIGhhdmUgZXhwaXJlZCAoQ0FTU0FORFJBLTc1MjgpCiAqIEZpeCBlcnJvciB3aGVuIGRvaW5nIHJldmVyc2VkIHF1ZXJpZXMgd2l0aCBzdGF0aWMgY29sdW1ucyAoQ0FTU0FORFJBLTc0OTApCk1lcmdlZCBmcm9tIDEuMjoKICogU2V0IGNvcnJlY3Qgc3RyZWFtIElEIG9uIHJlc3BvbnNlcyB3aGVuIG5vbi1FeGNlcHRpb24gVGhyb3dhYmxlcwogICBhcmUgdGjjVsKeAAABT948slwAEEFTU0FORFJBLTg3MjIpCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1kAAAEAYXJlZFJlc3VsdCAoQ0FTU0FORFJBLTUzMTEpCiAqIEZpeCBjb21wYWN0aW9uIG5vdCByZW1vdmluZyBjb2x1bW5zIHdoZW4gYmZfZnBfcmF0aW8gaXMgMSAoQ0FTU0FORFJBLTUxODIpCiAqIGNsaTogV2FybiBhYm91dCBtaXNzaW5nIENRTDMgdGFibGVzIGluIHNjaGVtYSBkZXNjcmlwdGlvbnMgKENBU1NBTkRSQS01MzA5KQogKiBSZS1lbmFibGUgdW5rbm93biBvcHRpb24gaW4gcmVwbGljYXRpb24vY29tcGFjdGlvbiBzdHJhdGVnaWVzIG9wdGlvbsbDEsMAGo5yD+iNxAAAAFPTJt9SACgABnN5c3RlbQAAFXNjaGVtYV9jb2x1bW5mYW1pbGllcwAABAAAAAYAAAAAAQFaH/JnrOA/EoVjz65hA8ZeVVNmcgAFFffV+PeQAAAAAAAAAAC2jOPMAAABT948slwAEHN0IGhpbnRlZCBoYW5kb2YAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1oAAAEAQ0FTU0FORFJBLTc4OTIpCiAqIGNxbHNoOiBERVNDUklCRSBzdXBwb3J0IGZvciBmcm96ZW4gVURUcywgdHVwbGVzIChDQVNTQU5EUkEtNzg2MykKICogQXZvaWQgZXhwb3NpbmcgaW50ZXJuYWwgY2xhc3NlcyBvdmVyIEpNWCAoQ0FTU0FORFJBLTc4NzkpCiAqIEFkZCBudWxsIGNoZWNrIGZvciBrZXlzIHdoZW4gZnJlZXppbmcgY29sbGVjdGlvbiAoQ0FTU0FORFJBLTc4NjkpCiAqIEltcHJvdmUgc3RyZXNzIHdvcmtsb2FkIHJlYWxpc20gKENBU1NBTnu6ywIAAAFP3jyyXAAQb3dzIGdldCBiaWcgZW5vdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvWgAAAQBjcWxzaCkgSGFuZGxlIGEgc2NoZW1hIG1pc21hdGNoIGJlaW5nIGRldGVjdGVkIG9uIHN0YXJ0dXAgKENBU1NBTkRSQS04NTEyKQogKiBQcm9wZXJseSBjYWxjdWxhdGUgZXhwZWN0ZWQgd3JpdGUgc2l6ZSBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTg1MzIpCiAqIEludmFsaWRhdGUgYWZmZWN0ZWQgcHJlcGFyZWQgc3RhdGVtZW50cyB3aGVuIGEgdGFibGUncyBjb2x1bW5zCiAgIGFyZSBhbHRlcmVkIChDQVNTQU5EUkEtNzkxMCkKICogU3RyjEqgewAAAU/ePLJcABBORFJBLTY3MzMpCiAqIEZCAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9aAAABAGUgSk1YIHByb3BlcnRpZXMgYWRkZWQgKHNldmVyYWwgdGlja2V0cykKICogVGhyaWZ0IGNoYW5nZXMgKHNldmVyYWwgdGlja2V0cykKICAgIC0gTWVyZ2VkIF9zdXBlciBnZXQgbWV0aG9kcyB3aXRoIHRoZSBub3JtYWwgb25lczsgcmV0dXJuIHZhbHVlcwogICAgICBhcmUgbm93IG9mIENvbHVtbk9yU3VwZXJDb2x1bW4uCiAgICAtIFNpbWlsYXJseSwgbWVyZ2VkIGJhdGNoX2luc2VydF9zdXBlciBpbnRvIGJhdGNoX2luc2VydC4KCgoKMC40LjAgYmVYmGu4AAABT948slwAEFJBLTc1MDgpCiAqIChjcWwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1oAAAEAbSAyLjA6CiAqIChjcWxzaCkgV2FpdCB1cCB0byAxMCBzZWMgZm9yIGEgdHJhY2luZyBzZXNzaW9uIChDQVNTQU5EUkEtNzIyMikKICogRml4IE5QRSBpbiBGaWxlQ2FjaGVTZXJ2aWNlLnNpemVJbkJ5dGVzIChDQVNTQU5EUkEtNzc1NikKICogUmVtb3ZlIGR1cGxpY2F0ZXMgZnJvbSBTdG9yYWdlU2VydmljZS5nZXRKb2luaW5nTm9kZXMgKENBU1NBTkRSQS03NDc4KQogKiBDbG9uZSB0b2tlbiBtYXAgb3V0c2lkZSBvZiBob3QgZ29zc2lwIGxvb3BzIGYXDP4AAAFP3jyyXAAQaGVkIHJvd3MgZHVyaW5nIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvWgAAAQBpb24gKENBU1NBTkRSQS0xMjE2KQogKiBtYWtlIGNsaSBjb21wYXJhdG9yLWF3YXJlIGFuZCBpbXByb3ZlIHF1b3RlIHJ1bGVzIChDQVNTQU5EUkEtMTUyMywtMTUyNCkKICogbWFrZSBub2RldG9vbCBjb21wYWN0IGFuZCBjbGVhbnVwIGJsb2NraW5nIChDQVNTQU5EUkEtMTQ0OSkKICogYWRkIG1lbXRhYmxlLCBjYWNoZSBpbmZvcm1hdGlvbiB0byBHQ0luc3BlY3RvciBsb2dzIChDQVNTQU5EUkEtMTU1OCkKICogZW5hYmxlL2Rpc2FibGUgSGludGVkwNGuwQAAAU/ePLJcABAoQ0FTU0FORFJBLTE3NTMpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9aAAABAHQgbm9kZXMgZG9uJ3QgY29ycnVwdCB0aGUKICAgc3N0YWJsZSAoQ0FTU0FORFJBLTU0NTQpCiAqIE1vdmUgcmVzdWx0c2V0IHR5cGUgaW5mb3JtYXRpb24gaW50byBwcmVwYXJlLCBub3QgZXhlY3V0ZSAoQ0FTU0FORFJBLTU2NDkpCiAqIEF1dG8gcGFnaW5nIGluIGJpbmFyeSBwcm90b2NvbCAoQ0FTU0FORFJBLTQ0MTUsIDU3MTQpCiAqIERvbid0IHRpZSBjbGllbnQgc2lkZSB1c2Ugb2YgQWJzdHJhY3RUeXBlIHRvIEpEQkMgKENBU1NBTkRSQS00NDmGOZwDAAABT948slwAEGZyb20gSVRyYW5zcG9ydEYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1oAAAEAIChjcWxzaCkgSGFuZGxlIER5bmFtaWNDb21wb3NpdGVUeXBlIHNjaGVtYXMgY29ycmVjdGx5IChDQVNTQU5EUkEtODU2MykKICogRHVwbGljYXRlIHJvd3MgcmV0dXJuZWQgd2hlbiBpbiBjbGF1c2UgaGFzIHJlcGVhdGVkIHZhbHVlcyAoQ0FTU0FORFJBLTY3MDYpCiAqIEFkZCB0b29saW5nIHRvIGRldGVjdCBob3QgcGFydGl0aW9ucyAoQ0FTU0FORFJBLTc5NzQpCiAqIEZpeCBjYXNzYW5kcmEtc3RyZXNzIHVzZXItbW9kZSB0cnVuY2F0aW9uIG9mIAWqdrQAAAFP3jyyXAAQcyBjaGVja3MgYW5kIGNsZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvWgAAAQApCiAqIEZpeCBwb3RlbnRpYWwgaW5maW5pdGUgbG9vcCB3aGVuIHBhZ2luZyBxdWVyeSB3aXRoIElOIChDQVNTQU5EUkEtNjQ2NCkKICogRml4IGFzc2VydGlvbiBlcnJvciBpbiBBYnN0cmFjdFF1ZXJ5UGFnZXIuZGlzY2FyZEZpcnN0IChDQVNTQU5EUkEtNjQ0NykKICogRml4IHN0cmVhbWluZyBvbGRlciBTU1RhYmxlIHlpZWxkcyB1bm5lY2Vzc2FyeSB0b21ic3RvbmVzIChDQVNTQU5EUkEtNjUyNykKTWVyZ2VkIGZyb20gMS4yOgogKiBJbXByb3ZltZ/eXgAAAU/ePLJcABBzcGxheSB2YWxpZGF0aW9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9aAAABAGNsaWVudE1vZGUgaW4gU1NUYWJsZUxvYWRlciAoQ0FTU0FORFJBLTgyMzgpCiAqIEZpeCBTU1RhYmxlUmV3cml0ZXIgd2l0aCBkaXNhYmxlZCBlYXJseSBvcGVuIChDQVNTQU5EUkEtODUzNSkKICogQWxsb3cgaW52YWxpZGF0aW5nIHBlcm1pc3Npb25zIGFuZCBjYWNoZSB0aW1lIChDQVNTQU5EUkEtODcyMikKICogTG9nIHdhcm5pbmcgd2hlbiBxdWVyaWVzIHRoYXQgd2lsbCByZXF1aXJlIEFMTE9XIEZJTFRFUklORyBpbiBDYXNzYW5kcmEgMy4wCiD7ZKXRAAABT948slwAEGVyZSBib290c3RyYXBwaW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1oAAAEANTM1NSkKICogTWFrZSB1cGdyYWRlU1NUYWJsZSBza2lwIGN1cnJlbnQgdmVyc2lvbiBzc3RhYmxlcyBieSBkZWZhdWx0IChDQVNTQU5EUkEtNTM2NikKICogT3B0aW1pemUgbWluL21heCB0aW1lc3RhbXAgY29sbGVjdGlvbiAoQ0FTU0FORFJBLTUzNzMpCiAqIEludmFsaWQgc3RyZWFtSWQgaW4gY3FsIGJpbmFyeSBwcm90b2NvbCB3aGVuIHVzaW5nIGludmFsaWQgQ0wgCiAgIChDQVNTQU5EUkEtNTE2NCkKICogRml4IHZhbGlkYXRpb24gZm9yIElOIO5XANsAAAFP3jyyXAAQdHN0cmFwIGZpeGVzIChzZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvWgAAAQBlIHdoZW4gbm8gaW5kZXhlcyBhcmUgaW52b2x2ZWQgKENBU1NBTkRSQS0zMzg2KQogKiBmaXggYXNzZXJ0aW9uRXJyb3IgZHVyaW5nIHJlcGFpciB3aXRoIG9yZGVyZWQgcGFydGl0aW9uZXJzIChDQVNTQU5EUkEtMzM2OSkKICogY29ycmVjdGx5IHNlcmlhbGl6ZSBrZXlfdmFsaWRhdGlvbl9jbGFzcyBmb3IgYXZybyAoQ0FTU0FORFJBLTMzOTEpCiAqIGRvbid0IGV4cGlyZSBjb3VudGVyIHRvbWJzdG9uZSBhZnRlciBzdHJlYW1pbmcgKENBU1NBTkRSA6XX6wAAAU/ePLJcABBzdGFtcCBjb2xsZWN0aW9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9aAAABAHVwIGludmFsaWQgc2Vjb25kYXJ5IGluZGV4ZXMKICAgKENBU1NBTkRSQS0xOTA0KQogKiBhYmlsaXR5IHRvIGRpc2FibGUvZW5hYmxlIGdvc3NpcCBvbiBub2RlcyB0byBmb3JjZSB0aGVtIGRvd24KICAgKENBU1NBTkRSQS0xMTA4KQoKCjAuNy4wLXJjMwogKiBleHBvc2UgZ2V0TmF0dXJhbEVuZHBvaW50cyBpbiBTdG9yYWdlU2VydmljZU1CZWFuIHRha2luZyBieXRlW10KICAga2V5OyBSTUkgY2Fubm90IHNlcmlhbGl6ZSBCeXRlQnVmZmVyIChDQVNQa9D6AAABT948slwAEGEgYXJlIG5vdCBlcXVhbCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL1oAAAEAc3N0YWJsZXMgZnJvbSBhIGZ1dHVyZSB2ZXJzaW9uIChDQVNTQU5EUkEtMTkzNSkKICogemVyby1jb3B5IHJlYWRzIChDQVNTQU5EUkEtMTcxNCkKICogZml4IGNvcHkgYm91bmRzIGZvciB3b3JkIFRleHQgaW4gd29yZGNvdW50IGRlbW8gKENBU1NBTkRSQS0xOTkzKQogKiBmaXhlcyBmb3IgY29udHJpYi9qYXZhdXRpbHMgKENBU1NBTkRSQS0xOTc5KQogKiBjaGVjayBtb3JlIGZyZXF1ZW50bHkgZm9yIG1lbXRhYmxlIGV4cGlyYXRpb24gKENBU1NBTv6CdeUAAAFP3jyyXAAQbWluZyBpbmZvcm1hdGlvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvWgAAAQBpZiByZWFkTWV0ZXIgaXMgbnVsbCAoQ0FTU0FORFJBLTgyMzgpCiAqIGFkZCBjaGVjayBvZiB0aGUgc3lzdGVtIHdhbGwgY2xvY2sgdGltZSBhdCBzdGFydHVwIChDQVNTQU5EUkEtODMwNSkKICogU3VwcG9ydCBmb3IgZnJvemVuIGNvbGxlY3Rpb25zIChDQVNTQU5EUkEtNzg1OSkKICogRml4IG92ZXJmbG93IG9uIGhpc3RvZ3JhbSBjb21wdXRhdGlvbiAoQ0FTU0FORFJBLTgwMjgpCiAqIEhhdmUgcGF4b3MgcmV1c2UgdGhlIHRpbWVzdGFtcCBnZW5lkUuevwAAAU/ePLJcABBuY2F0aW9uIHBvc2l0aW9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9aAAABAGQgYWxzbyBjbGVhbnVwIGludmFsaWQgc2Vjb25kYXJ5IGluZGV4ZXMKICAgKENBU1NBTkRSQS0xOTA0KQogKiBhYmlsaXR5IHRvIGRpc2FibGUvZW5hYmxlIGdvc3NpcCBvbiBub2RlcyB0byBmb3JjZSB0aGVtIGRvd24KICAgKENBU1NBTkRSQS0xMTA4KQoKCjAuNy4wLXJjMwogKiBleHBvc2UgZ2V0TmF0dXJhbEVuZHBvaW50cyBpbiBTdG9yYWdlU2VydmljZU1CZWFuIHRha2luZyBieXRlW10KICAga2V5OyBSTUkgY2Fubm90IHNlcmlhbGl6ZSBCeXRuNBfGABqiz8gc/BcAAAFP3jyyXAAQZXB0aW9ucyByZWxhdGVkIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvXQAAAQBjb21wYWN0aW9uLWxlZnRvdmVycyAKICAgY2xlYW51cCBhdCBzdGFydHVwIChDQVNTQU5EUkEtNjkxMykKICogUmVzdHJpY3QgV2luZG93cyB0byBwYXJhbGxlbCByZXBhaXJzIChDQVNTQU5EUkEtNjkwNykKICogKEhhZG9vcCkgQWxsb3cgbWFudWFsbHkgc3BlY2lmeWluZyBzdGFydC9lbmQgdG9rZW5zIGluIENGSUYgKENBU1NBTkRSQS02NDM2KQogKiBGaXggTlBFIGluIE1ldGVyZWRGbHVzaGVyIChDQVNTQU5EUkEtNjgyMCkKICogRml4IHJhY2Ug0QWDTAAAAU/ePLJcABBlc291cmNlIHJlbGVhc2UgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9dAAABAE5EUkEtNDI2MSkKICogcmVtb3ZlIHZlc3RpZ2VzIG9mIFRocmlmdCB1bmZyYW1lZCBtb2RlIChDQVNTQU5EUkEtNDcyOSkKICogb3B0aW1pemUgc2luZ2xlLXJvdyBQSyBsb29rdXBzIChDQVNTQU5EUkEtNDcxMCkKICogYWRqdXN0IGJsb2NrRm9yIGNhbGN1bGF0aW9uIHRvIGFjY291bnQgZm9yIHBlbmRpbmcgcmFuZ2VzIGR1ZSB0byBub2RlIAogICBtb3ZlbWVudCAoQ0FTU0FORFJBLTgzMykKICogQ2hhbmdlIENRTCB2ZXJzaW9uIHRvIDMuMC4wIGGyLJOnAAABT948slwAEGllcywgYW5kIGluY2x1ZGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL10AAAEAYWJpbGl0eSB0byBsaW1pdCBudW1iZXIgb2YgbmF0aXZlIGNvbm5lY3Rpb25zIChDQVNTQU5EUkEtODA4NikKICogRml4IENRTFNTVGFibGVXcml0ZXIgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBzcGF3bmluZyB0aHJlYWRzCiAgIChDQVNTQU5EUkEtODgwOCkKICogRml4IE1UIG1pc21hdGNoIGJldHdlZW4gZW1wdHkgYW5kIEdDLWFibGUgZGF0YSAoQ0FTU0FORFJBLTg5NzkpCiAqIEZpeCBpbmNvcnJlY3QgdmFsaWRhdGlvbiB3aGVuIHNuYXBzaG90dNJ/KokAAAFP3jyyXAAQeCBMQ1Mgc3BsaXR0aW5nIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvXQAAAQBpbnQgZGVsaXZlcnkgYXN5bmNocm9ub3VzIChDQVNTQU5EUkEtNDc2MSkKICogUGx1Z2dhYmxlIFRocmlmdCB0cmFuc3BvcnQgZmFjdG9yaWVzIGZvciBDTEkgYW5kIGNxbHNoIChDQVNTQU5EUkEtNDYwOSwgNDYxMCkKICogY2Fzc2FuZHJhLWNsaTogYWxsb3cgRG91YmxlIHZhbHVlIHR5cGUgdG8gYmUgaW5zZXJ0ZWQgdG8gYSBjb2x1bW4gKENBU1NBTkRSQS00NjYxKQogKiBBZGQgYWJpbGl0eSB0byB1c2UgY3VzdG9tIFRTZXJ2ZXJGYWN0b3J5IGltmwsUiwAAAU/ePLJcABBzdHJlc3MgdXNlci1tb2RlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9dAAABACBhcHBlYXJpbmcgdHdpY2UgaW4gYWN0aXZlIGxpc3QgCiAgIChDQVNTQU5EUkEtNjU1NykKICogQXBwbHkgRE9OVE5FRUQgZmFkdmlzZSB0byBjb21taXRsb2cgc2VnbWVudHMgKENBU1NBTkRSQS02NzU5KQogKiBTd2l0Y2ggQ1JDIGNvbXBvbmVudCB0byBBZGxlciBhbmQgaW5jbHVkZSBpdCBmb3IgY29tcHJlc3NlZCBzc3RhYmxlcyAKICAgKENBU1NBTkRSQS00MTY1KQogKiBBbGxvdyBjYXNzYW5kcmEtc3RyZXNzIHRvIHNldCBjb21wYWN0aW9uIHOUxijeAAABT948slwAEE5EUkEtMzQ4MSkKICogKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL10AAAEAQ29tcHJlc3NlZF1SYW5kb21BY2Nlc3NSZWFkZXIgb2JqZWN0cyBvbiB0aGUgcGFydGl0aW9uZWQgcmVhZCBwYXRoCiAgIChDQVNTQU5EUkEtNDk0MikKICogQWRkIGRlYnVnIGxvZ2dpbmcgdG8gbGlzdCBmaWxlbmFtZXMgcHJvY2Vzc2VkIGJ5IERpcmVjdG9yaWVzLm1pZ3JhdGVGaWxlIAogICBtZXRob2QgKENBU1NBTkRSQS00OTM5KQogKiBFeHBvc2UgYmxhY2stbGlzdGVkIGRpcmVjdG9yaWVzIHZpYSBKTVggKENBU1NBTkRSQS00ODQ4KQogKiBMb+AmkmoAAAFP3jyyXAAQQS0xMDYxKQogKiByZW1vdgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvXQAAAQBzYW5kcmEtY2xpLmJhdCBmb3IgV2luZG93cyAoQ0FTU0FORFJBLTg1OCkKICogYWxsb3cgcmUtc3BlY2lmeWluZyBob3N0LCBwb3J0IHRvIGNhc3NhbmRyYS1jbGkgaWYgaW52YWxpZCBvbmVzCiAgIGFyZSBmaXJzdCB0cmllZCAoQ0FTU0FORFJBLTg2NykKICogZml4IHJhY2UgY29uZGl0aW9uIGhhbmRsaW5nIHJwYyB0aW1lb3V0IGluIHRoZSBjb29yZGluYXRvcgogICAoQ0FTU0FORFJBLTg2NCkKICogUmVtb3ZlIENhbGxvdXRMb2NhdGlvbiBhbmQgeVMeZQAAAU/ePLJcABAgZm9yIFJhbmRvbVBhcnRpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9dAAABAFFMIHF1ZXJpZXMgKENBU1NBTkRSQS04MTAxKQogKiAoY3Fsc2gpIEZpeCBhdXRvY29tcGxldGlvbiBmb3IgYWx0ZXIga2V5c3BhY2UgKENBU1NBTkRSQS04MDIxKQogKiBDcmVhdGUgYmFja3VwIGRpcmVjdG9yaWVzIGZvciBjb21taXRsb2cgYXJjaGl2aW5nIGR1cmluZyBzdGFydHVwIChDQVNTQU5EUkEtODExMSkKICogUmVkdWNlIHRvdGFsQmxvY2tGb3IoKSBmb3IgTE9DQUxfKiBjb25zaXN0ZW5jeSBsZXZlbHMgKENBU1NBTkRSQS04MDU4KQogKiB97NugAAABT948slwAEC0xNzQ5KQogKiBmaXggc3MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL10AAAEAc3QgKENBU1NBTkRSQS0zOTUyKQogKiBBZGQgdHlwZSBpbmZvcm1hdGlvbiB0byBuZXcgc2NoZW1hXyBjb2x1bW5mYW1pbGllcyBhbmQgcmVtb3ZlIHRocmlmdAogICBzZXJpYWxpemF0aW9uIGZvciBzY2hlbWEgKENBU1NBTkRSQS0zNzkyKQogKiBhZGQgbWlzc2luZyBjb2x1bW4gdmFsaWRhdG9yIG9wdGlvbnMgdG8gdGhlIENMSSBoZWxwIChDQVNTQU5EUkEtMzkyNikKICogc2tpcCByZWFkaW5nIHNhdmVkIGtleSBjYWNoZSBpZiBDRidzIGNhY2hpbsKGwp0AAAFP3jyyXAAQIGZ1bmN0aW9uYWxpdHkgZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvXQAAAQAgYW55IGNvbHVtbiAoQ0FTU0FORFJBLTkxOTYpCiAqIERvbid0IGluaXRpYXRlIHNuaXRjaCByZWNvbm5lY3Rpb24gZm9yIGRlYWQgc3RhdGVzIChDQVNTQU5EUkEtNzI5MikKICogRml4IEFycmF5SW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbiBpbiBDUUxTU1RhYmxlV3JpdGVyIChDQVNTQU5EUkEtODk3OCkKICogQWRkIHNodXRkb3duIGdvc3NpcCBzdGF0ZSB0byBwcmV2ZW50IHRpbWVvdXRzIGR1cmluZyByb2xsaW5nIHJlc3RhcnRzIChDQVNTQU5EpGdWmAAAAU/ePLJcABBsYWcgZGVzZXJpYWxpemF0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9dAAABAEZBTUlMWSBzdGF0ZW1lbnQgKENBU1NBTkRSQS0zMzc0KQogKiBSZXNldCBtaW4vbWF4IGNvbXBhY3Rpb24gdGhyZXNob2xkIHdoZW4gY3JlYXRpbmcgc2l6ZSB0aWVyZWQgY29tcGFjdGlvbgogICBzdHJhdGVneSAoQ0FTU0FORFJBLTM2NjYpCiAqIERvbid0IGlnbm9yZSBJT0V4Y2VwdGlvbiBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTM2NTUpCiAqIEZpeCBhc3NlcnRpb24gZXJyb3IgZm9yIENGIHdpdGggZ2NfZ3JhY2U9MCAoQ0FTU0FORFK4/5v6AAABT948slwAEGNzIGZvciB0cmFja2luZyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL10AAAEAbWFsbGVyIGJhdGNoIHNpemVzIChDQVNTQU5EUkEtMTQzNCkKICogZml4IHNldHRpbmcgZ2NfZ3JhY2Vfc2Vjb25kcyB2aWEgQ0xJIChDQVNTQU5EUkEtMTU0OSkKICogc3VwcG9ydCBUVEwnZCBpbmRleCB2YWx1ZXMgKENBU1NBTkRSQS0xNTM2KQogKiBtYWtlIHJlbW92ZXRva2VuIHdvcmsgbGlrZSBkZWNvbW1pc3Npb24gKENBU1NBTkRSQS0xMjE2KQogKiBtYWtlIGNsaSBjb21wYXJhdG9yLWF3YXJlIGFuZCBpbXByb3ZlIHF1b3RlIHJ1bGVzIChDQQqEyvQAAAFP3jyyXAAQbm93IHJlc3BlY3RzIG1heAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvXQAAAQBhIGhpZ2ggbWF4IGNvbHVtbiBjb3VudCBpbnN0ZWFkLikKICogUmVtb3ZlZCB0aGUgd2ViIGludGVyZmFjZS4gTm9kZSBpbmZvcm1hdGlvbiBjYW4gbm93IGJlIG9idGFpbmVkIGJ5IAogICB1c2luZyB0aGUgbmV3bHkgaW50cm9kdWNlZCBub2RlcHJvYmUgdXRpbGl0eS4KICogTW9yZSBKTVggc3RhdHMKICogUmVtb3ZlIG1hZ2ljIHZhbHVlcyBmcm9tIGludGVybmFscyAoZS5nLiBzcGVjaWFsIGtleSB0byBpbmRpY2F0ZQogICB3aGVuIHRvIGZsdXNo0YDqiQAAAU/ePLJcABBkIENRTDMtYmFzZWQgaW1wAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9dAAABAAogKiBTaW1wbGlmeSBhdXRoIHNldHVwIGFuZCBtYWtlIHN5c3RlbV9hdXRoIGtzIGFsdGVyYWJsZSAoQ0FTU0FORFJBLTUxMTIpCiAqIFN0b3AgY29tcGFjdGlvbnMgZnJvbSBoYW5naW5nIGR1cmluZyBib290c3RyYXAgKENBU1NBTkRSQS01MjQ0KQogKiBmaXggY29tcHJlc3NlZCBzdHJlYW1pbmcgc2VuZGluZyBleHRyYSBjaHVuayAoQ0FTU0FORFJBLTUxMDUpCiAqIEFkZCBDUUwzLWJhc2VkIGltcGxlbWVudGF0aW9ucyBvZiBJQXV0aGVudGljYXR/VmO5AAABT948slwAEHBhbSBmcm9tIGludmFsaWQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL10AAAEAY2UgaW4gc2VlZCBDREwgKENBU1NBTkRSQS0zMjYzKQogKiBDaGFuZ2UgZGVmYXVsdCBoZWFwIHRocmVzaG9sZHMgdG8gbWF4KG1pbigxLzIgcmFtLCAxRyksIG1pbigxLzQgcmFtLCA4R0IpKQogICAoQ0FTU0FORFJBLTMyOTUpCiAqIEZpeCBicm9rZW4gQ29tcHJlc3NlZFJhbmRvbUFjY2Vzc1JlYWRlclRlc3QgKENBU1NBTkRSQS0zMjk4KQogKiAoQ1FMKSBmaXggdHlwZSBpbmZvcm1hdGlvbiByZXR1cm5lZCBmb3Igd2lsZGNhcmQgcXVlcmllcyAoQzD69ysAGrcsRP1YiAAAAU/ePLJcABBkIGRhdGEgZnJvbSBDU1YgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9gAAABACBlbmRwb2ludCBjb2xsaXNpb24gKENBU1NBTkRSQS03OTM5KQogKiBNYWtlIHNzdGFibGVyZXBhaXJlZHNldCB0YWtlIGEgbGlzdCBvZiBmaWxlcyAoQ0FTU0FORFJBLTc5OTUpCiAqIChjcWxzaCkgVGFiIGNvbXBsZXRlaW9uIGZvciBpbmRleGVzIG9uIG1hcCBrZXlzIChDQVNTQU5EUkEtNzk3MikKICogKGNxbHNoKSBGaXggVURUIGZpZWxkIHNlbGVjdGlvbiBpbiBzZWxlY3QgY2xhdXNlIChDQVNTQU5EUkEtNzg5MSkKICogRml4IHJlc291cmNlIGxJJYquAAABT948slwAEEFTU0FORFJBLTI5NDMpCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2AAAAEAcm9wcGVkIChDQVNTQU5EUkEtMTg0MykKICogbWFrZSBCeXRlQnVmZmVyVXRpbC5jbG9uZSB0aHJlYWQtc2FmZSAoQ0FTU0FORFJBLTE4NDcpCiAqIGNoYW5nZSBleGNlcHRpb24gZm9yIHJlYWQgcmVxdWVzdHMgZHVyaW5nIGJvb3RzdHJhcCBmcm9tIAogICBJbnZhbGlkUmVxdWVzdCB0byBVbmF2YWlsYWJsZSAoQ0FTU0FORFJBLTE4NjIpCiAqIHJlc3BlY3Qgcm93LWxldmVsIHRvbWJzdG9uZXMgcG9zdC1mbHVzaCBpbiByYW5nZSBzY2FucwogICAoQ4MPzDsAAAFP3jyyXAAQcyBpbiBoaWJlcm5hdGUgdwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvYAAAAQBpbnN0ZWFkIG9mIE5QRSB3aGVuIFBGUyBlbmNvdW50ZXJzCiAgIGFuIHVuY29uZmlndXJlZCBub2RlICsgbm8gZGVmYXVsdCAoQ0FTU0FORFJBLTQzNDkpCiAqIGZpeCBidWcgaW4gc3N0YWJsZSBibGFja2xpc3Rpbmcgd2l0aCBMQ1MgKENBU1NBTkRSQS00MzQzKQogKiBMQ1Mgbm8gbG9uZ2VyIHByb21vdGVzIHRpbnkgc3N0YWJsZXMgb3V0IG9mIEwwIChDQVNTQU5EUkEtNDM0MSkKICogc2tpcCB0b21ic3RvbmVzIGR1cmluZyBoaW50IHJlcGxheSAoSR3bcAAAAU/ePLJcABAoQ0FTU0FORFJBLTg4MzQpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9gAAABAGhhcyBmYWlsZWQgYnV0IFRhc2tUcmFja2VyCiAgICBoYXMgbm90IChDQVNTQU5EUkEtMjM4OCkKCgowLjguMgogKiBDUUw6IAogICAtIGluY2x1ZGUgb25seSBvbmUgcm93IHBlciB1bmlxdWUga2V5IGZvciBJTiBxdWVyaWVzIChDQVNTQU5EUkEtMjcxNykKICAgLSByZXNwZWN0IGNsaWVudCB0aW1lc3RhbXAgb24gZnVsbCByb3cgZGVsZXRpb25zIChDQVNTQU5EUkEtMjkxMikKICogaW1wcm92ZSB0aHJlYWQtc2FmZXR5IGluIFN0cmVhbU91dFNlc3NploLKAAABT948slwAEHMgKENBU1NBTkRSQS00OTEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2AAAAEAdXN0IHJlcGxpY2FzIHRoYXQgYXJlIGtub3duCiAgIHRvIGJlIGRvd24gYmVmb3JlIHN0YXJ0aW5nIChDQVNTQU5EUkEtMjAzNCkKICogQWRkIHRocm90dGxpbmcgZm9yIGludGVybm9kZSBzdHJlYW1pbmcgKENBU1NBTkRSQS0zMDgwKQogKiBtYWtlIHRoZSByZXBhaXIgb2YgYSByYW5nZSByZXBhaXIgYWxsIHJlcGxpY2EgKENBU1NBTkRSQS0yNjEwLCAzMTk0KQogKiBleHBvc2UgdGhlIGFiaWxpdHkgdG8gcmVwYWlyIHRoZSBmaXJzdCByYW5nZSAoYbAyZzwAAAFP3jyyXAAQLjAKICogKGNxbHNoKSBSZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvYAAAAQBTQU5EUkEtOTI4MSkKICogRml4IHBhcnRpdGlvbi1sZXZlbC1kZWxldGUtb25seSB3b3JrbG9hZCBhY2NvdW50aW5nIChDQVNTQU5EUkEtOTE5NCkKICogQWxsb3cgc2NydWIgdG8gaGFuZGxlIGNvcnJ1cHRlZCBjb21wcmVzc2VkIGNodW5rcyAoQ0FTU0FORFJBLTkxNDApCiAqIEZpeCBhc3NlcnRpb24gZXJyb3Igd2hlbiByZXNldGxvY2Fsc2NoZW1hIGlzIHJ1biBkdXJpbmcgcmVwYWlyIChDQVNTQU5EUkEtOTI0OSkKICogRGlzYWJsZSBzaW5nbGUgZbZkoAAAAU/ePLJcABAgc2NydWIgYW5kIGFsbG93AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9gAAABAC0yNDY2KQogKiBmaXggY2Fzc2FuZHJhIGhhbmdpbmcgb24ganN2YyBzdG9wIChDQVNTQU5EUkEtMzMwMikKICogQXZvaWQgbGV2ZWxlZCBjb21wYWN0aW9uIGdldHRpbmcgYmxvY2tlZCBvbiBlcnJvcnMgKENBU1NBTkRSQS0zNDA4KQogKiBNYWtlIHJlbG9hZGluZyB0aGUgY29tcGFjdGlvbiBzdHJhdGVneSBzYWZlIChDQVNTQU5EUkEtMzQwOSkKICogaWdub3JlIDAuOCBoaW50cyBldmVuIGlmIGNvbXBhY3Rpb24gYmVnaW5zIGJlZm9yZSB3ZSB0cnm9zkGiAAABT948slwAEDk2KQogKiBSZW1vdmUgQ0YAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2AAAAEAIGFkZC9nZXQgdXNpbmcgQ1FMMiBhbmQgQ1FMMyBpbiBzdHJlc3MgdG9vbCAoQ0FTU0FORFJBLTQ2MzMpCiAqIEFkZCBzc3RhYmxlIGNvdW50IHBlciBsZXZlbCB0byBjZnN0YXRzIChDQVNTQU5EUkEtNDUzNykKICogKGNxbDMpIEFkZCBBTFRFUiBLRVlTUEFDRSBzdGF0ZW1lbnQgKENBU1NBTkRSQS00NjExKQogKiAoY3FsMykgQWxsb3cgZGVmaW5pbmcgZGVmYXVsdCBjb25zaXN0ZW5jeSBsZXZlbHMgKENBU1NBTkRSQS00NDQ4KQogKiAoY3FsMykgRpqtWaIAAAFP3jyyXAAQaXN0cmlidXRpb24gZm9yIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvYAAAAQBwYWN0aW9uU3RyYXRlZ3kgKENBU1NBTkRSQS01MDkzKQpNZXJnZWQgZnJvbSAxLjE6CiAqIGFkZCB2YWxpZGF0aW9uIGZvciBnZXRfcmFuZ2Vfc2xpY2VzIHdpdGggc3RhcnRfa2V5IGFuZCBlbmRfdG9rZW4gKENBU1NBTkRSQS01MDg5KQoKCjEuMi4wLXJjMgogKiBmaXggbm9kZXRvb2wgb3duZXJzaGlwIGRpc3BsYXkgd2l0aCB2bm9kZXMgKENBU1NBTkRSQS01MDY1KQogKiBjcWxzaDogYWRkIERFU0NSSUJFIEtFWVNQQUNFUyBjb21tYW5kIChDQVNTOx8LYQAAAU/ePLJcABAgICBkaXJlY3RvcnkgKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9gAAABAEkgJ2Rlc2NyaWJlIGtleXNwYWNlJyAoQ0FTU0FORFJBLTI0NDIpCiAqIG1ha2UgY2xlYW51cCBjb21wYWN0aW9ucyBjbGVhbnVwIHRoZSByb3cgY2FjaGUgKENBU1NBTkRSQS0yNDUxKQogKiBhZGQgY29sdW1uIGZpZWxkcyB2YWxpZGF0aW9uIHRvIHNjcnViIChDQVNTQU5EUkEtMjQ2MCkKICogdXNlIDY0S0IgZmx1c2ggYnVmZmVyIGluc3RlYWQgb2YgaW5fbWVtb3J5X2NvbXBhY3Rpb25fbGltaXQgKENBU1NBTkRSQS0yNDYzKQogKiBmaXggYmFja3MQno5uAAABT948slwAECogVXBkYXRlIGphdmEgZHIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2AAAAEAQU5EUkEtOTI2MikKICogQ2xvc2UgaW5jb21pbmcgY29ubmVjdGlvbnMgd2hlbiBNZXNzYWdpbmdTZXJ2aWNlIGlzIHN0b3BwZWQgKENBU1NBTkRSQS05MjM4KQogKiBGaXggc3RyZWFtaW5nIGhhbmcgd2hlbiByZXRyeWluZyAoQ0FTU0FORFJBLTkxMzIpCgoKMi4xLjUKICogUmUtYWRkIGRlcHJlY2F0ZWQgY29sZF9yZWFkc190b19vbWl0IHBhcmFtIGZvciBiYWNrd2FyZHMgY29tcGF0IChDQVNTQU5EUkEtOTIwMykKICogTWFrZSBhbnRpY29tcGFjdIm4Z+QAAAFP3jyyXAAQcnkgcHJvdG9jb2wgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvYAAAAQBydGluZyB3aXRoICcnIGFuZCBzaW5nbGUtaW5kZXgtYmxvY2sgbmFtZSAKICAgcXVlcmllcyBieSBza2lwcGluZyB0aGUgY29sdW1uIGluZGV4IChDQVNTQU5EUkEtMTMzOCkKICogc3RyZWFtaW5nIHJlZmFjdG9yIChDQVNTQU5EUkEtMTE4OSkKICogZmFzdGVyIGNvbXBhcmlzb24gZm9yIFVVSUQgdHlwZXMgKENBU1NBTkRSQS0xMDQzKQogKiBzZWNvbmRhcnkgaW5kZXggc3VwcG9ydCAoQ0FTU0FORFJBLTc0OSBhbmQgc3VidGFza3MpCiAqIG1ha2Ugus1jCQAAAU/ePLJcABB3cml0ZXIgZHVyaW5nIGNvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9gAAABAHQgc3RydWN0IGFuZCBhcmd1bWVudCBuYW1pbmcuCiAgICAtIEFkZGVkIGNvbHVtbkZhbWlseSBhcmd1bWVudCB0byBnZXRfa2V5X3JhbmdlLgogICAgLSBDaGFuZ2Ugc2lnbmF0dXJlIG9mIGdldF9zbGljZSB0byBhY2NlcHQgc3RhcnRpbmcgYW5kIGVuZGluZwogICAgICBjb2x1bW5zIGFzIHdlbGwgYXMgYW4gb2Zmc2V0LiAgKFRoaXMgYWxsb3dzIHVzZSBvZiBpbmRleGVzLikKICAgICAgQWRkZWQgImFzY2VuZGluZyIgZmxhZyB0byBhbGxvdyByZWFFXyBdAAABT948slwAEEFORFJBLTMzMjIpCiAqIGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2AAAAEAaXQgY29tcHJlc3Npb24gYW5kIGNvbXBhY3Rpb24gZnJvbSB0aGVpcgogICBwYXJlbnQgQ0YgKENBU1NBTkRSQS0zODc3KQogKiBGaW5pc2ggY2xlYW51cCB1cCB0b21ic3RvbmUgcHVyZ2UgY29kZSAoQ0FTU0FORFJBLTM4NzIpCiAqIEF2b2lkIE5QRSBvbiBhYm9hcnRlZCBzdHJlYW0tb3V0IHNlc3Npb25zIChDQVNTQU5EUkEtMzkwNCkKICogQnVsa1JlY29yZFdyaXRlciB0aHJvd3MgTlBFIGZvciBjb3VudGVyIGNvbHVtbnMgKENBU1NBTkRSQS0zOSUwL/MAAAFP3jyyXAAQdGlyZSByb3cgaXMgcmVxdQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvYAAAAQBpbiBzcGFubmVkIGluZGV4IGVudHJpZXMgKENBU1NBTkRSQS0xMDU2KQogKiBpbnN0YWxsIGpzb24yc3N0YWJsZSwgc3N0YWJsZTJqc29uLCBhbmQgc3N0YWJsZWtleXMgdG8gRGViaWFuIHBhY2thZ2UKICogU3RyZWFtaW5nU2VydmljZS5TdHJlYW1EZXN0aW5hdGlvbnMgd291bGRuJ3QgZW1wdHkgaXRzZWxmIGFmdGVyIHN0cmVhbWluZwogICBmaW5pc2hlZCAoQ0FTU0FORFJBLTEwNzYpCiAqIGFkZGVkIENvbGxlY3Rpb25zLnNodWZmbGUoc3BsaXRz5vBCqQAay+hKSw1eAAABT948slwAEGFsbCB2aWEgSk5BLCBpZiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2MAAAEAIGVtcHR5IGNvbHVtbiB2YWx1ZXMgKENBU1NBTkRSQS00ODMyKQogKiBhbGxvdyBKZGJjRGF0ZSB0byBjb21wb3NlIG51bGwgRGF0ZSBvYmplY3RzIChDQVNTQU5EUkEtNDgzMCkKICogZml4IHBvc3NpYmxlIHN0YWNrb3ZlcmZsb3cgd2hlbiBjb21wYWN0aW5nIDEwMDBzIG9mIHNzdGFibGVzCiAgIChDQVNTQU5EUkEtNDc2NSkKICogZml4IHdyb25nIGxldmVsZWQgY29tcGFjdGlvbiBwcm9ncmVzcyBjYWxjdWxhdGlvbiAoQ0FTU0FORFJBLTQ4MDcpCj7/W2oAAAFP3jyyXAAQaXplcgogICAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvYwAAAQB0YWJsZXNjcnViIGNoZWNrIGxldmVsZWQgbWFuaWZlc3QgYWdhaW4gKENBU1NBTkRSQS04NDMyKQogKiBDaGVjayBmaXJzdC9sYXN0IGtleXMgaW4gc3N0YWJsZSB3aGVuIGdpdmluZyBvdXQgcG9zaXRpb25zIChDQVNTQU5EUkEtODQ1OCkKICogRGlzYWJsZSBtbWFwIG9uIFdpbmRvd3MgKENBU1NBTkRSQS02OTkzKQogKiBBZGQgbWlzc2luZyBDb25zaXN0ZW5jeUxldmVscyB0byBjYXNzYW5kcmEtc3RyZXNzIChDQVNTQU5EUkEtODI1MykKICogQWRkTsAu7wAAAU/ePLJcABBlIFB5dGhvbiBkZXBlbmRlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9jAAABAAowLjcuNAogKiBhZGQgbm9kZXRvb2wgam9pbiBjb21tYW5kIChDQVNTQU5EUkEtMjE2MCkKICogZml4IHNlY29uZGFyeSBpbmRleGVzIG9uIHByZS1leGlzdGluZyBvciBzdHJlYW1lZCBkYXRhIChDQVNTQU5EUkEtMjI0NCkKICogaW5pdGlhbGl6ZSBlbmRwb2ludCBpbiBnb3NzaXBlciBlYXJsaWVyIChDQVNTQU5EUkEtMjIyOCkKICogYWRkIGFiaWxpdHkgdG8gd3JpdGUgdG8gQ2Fzc2FuZHJhIGZyb20gUGlnIChDQVNTQU5EUkEtMTgyOCkKICogYWT+c6PmAAABT948slwAEHJtYW5jZSByZWdyZXNzaW8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2MAAAEAIHNuYXBzaG90cyBvZiBuby1sb25nZXItZXhpc3RpbmcgQ0ZzIChDQVNTQU5EUkEtNjQxOCkKICogYWRkIFN0b3JhZ2VTZXJ2aWNlLnN0b3BEYWVtb24oKSAoQ0FTU0FORFJBLTQyNjgpCiAqIGFkZCBJUkUgZm9yIGludmFsaWQgQ0Ygc3VwcGxpZWQgdG8gZ2V0X2NvdW50IChDQVNTQU5EUkEtNTcwMSkKICogYWRkIGNsaWVudCBlbmNyeXB0aW9uIHN1cHBvcnQgdG8gc3N0YWJsZWxvYWRlciAoQ0FTU0FORFJBLTYzNzgpCiAqIEZpeCBhY2NlcHQoKSBsbzchre4AAAFP3jyyXAAQZXJyb3Igc3RhdHVzIGNvZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvYwAAAQBlaG9sZGVycyBmb3IgbWlzc2luZyByb3dzIGluIHJhbmdlIHF1ZXJ5IHBzZXVkby1SUiAoQ0FTU0FORFJBLTI2ODApCiAqIHJlbW92ZSBuby1vcCBISE9NLnJlbmFtZUhpbnRzIChDQVNTQU5EUkEtMjY5MykKICogY2xvbmUgc3VwZXIgY29sdW1ucyB0byBhdm9pZCBtb2RpZnlpbmcgdGhlbSBkdXJpbmcgZmx1c2ggKENBU1NBTkRSQS0yNjc1KQogKiBhbGxvdyB3cml0ZXMgdG8gYnlwYXNzIHRoZSBjb21taXRsb2cgZm9yIGNlcnRhaW4ga2V5c3BhY2Vzxn0DjgAAAU/ePLJcABBjcWxzaCkgR3JlYXRseSBpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9jAAABAGhyaWZ0IHNlcnZlciBpcyBydW5uaW5nCiAgIChDQVNTQU5EUkEtMjcyMikKICogRml4ZWQgcm93cyBiZWluZyBjYWNoZWQgaWYgdGhleSBkbyBub3QgZXhpc3QgKENBU1NBTkRSQS0yNzIzKQogKiBmaXggdHJ1bmNhdGUvY29tcGFjdGlvbiByYWNlIChDQVNTQU5EUkEtMjY3MykKICogd29ya2Fyb3VuZCBsYXJnZSByZXN1bHRzZXRzIGNhdXNpbmcgbGFyZ2UgYWxsb2NhdGlvbiByZXRlbnRpb24KICAgYnkgbmlvIHNvY2tldHMgKENBU1NBTkRSQS0yNjWSU1arAAABT948slwAEHNlcnZpY2UgYW5kIGNoYW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2MAAAEAIEFkZCBNZW10YWJsZUZsdXNoQWZ0ZXJNaW51dGVzLCBhIGdsb2JhbCByZXBsYWNlbWVudCBmb3IgdGhlIG9sZCAKICAgcGVyLUNGIEZsdXNoUGVyaW9kSW5NaW51dGVzIHNldHRpbmcgKENBU1NBTkRSQS00NjMpCiAqIG9wdGltaXphdGlvbnMgdG8gc2xpY2UgcmVhZGluZyAoQ0FTU0FORFJBLTM1MCkgYW5kIHN1cGVyY29sdW1uCiAgIHF1ZXJpZXMgKENBU1NBTkRSQS01MTApCiAqIGZvcmNlIGJpbmRpbmcgdG8gZ2l2ZW4gbGlzdGVuYWRkcmVzcyBmb38MOK0AAAFP3jyyXAAQbCB0aWNrZXRzKQogKiBBZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvYwAAAQBEUkEtNDA0NikKICogcmVtb3ZlIFtGcmVlYWJsZV1NZW1vcnkgZmluYWxpemVycyAoQ0FTU0FORFJBLTQyMjIpCiAqIGluY2x1ZGUgdG9tYnN0b25lIHNpemUgaW4gQ29sdW1uRmFtaWx5LnNpemUsIHdoaWNoIGNhbiBwcmV2ZW50IE9PTQogICBkdXJpbmcgc3VkZGVuIG1hc3MgZGVsZXRlIG9wZXJhdGlvbnMgYnkgeWllbGRpbmcgYSBub256ZXJvIGxpdmVSYXRpbwogICAoQ0FTU0FORFJBLTM3NDEpCiAqIE9wZW4gMSBzc3RhYmxlU2Nhbm5lciBwZXIgwn0jawAAAU/ePLJcABB2b2lkIFN0YWNrT3ZlcmZsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9jAAABAEUgZm9yIGNvdW50ZXIgY29sdW1ucyAoQ0FTU0FORFJBLTM5MDYpCiAqIFN1cHBvcnQgY29tcHJlc3Npb24gdXNpbmcgQnVsa1dyaXRlciAoQ0FTU0FORFJBLTM5MDcpCgoKMS4wLjgKICogZml4IHJhY2UgYmV0d2VlbiBjbGVhbnVwIGFuZCBmbHVzaCBvbiBzZWNvbmRhcnkgaW5kZXggQ0ZTZXMgKENBU1NBTkRSQS0zNzEyKQogKiBhdm9pZCBpbmNsdWRpbmcgbm9uLXF1ZXJpZWQgbm9kZXMgaW4gcmFuZ2VzbGljZSByZWFkIHJlcGFpcgogICAoQ0FTU0EAB5saAAABT948slwAECB1c2VkIGZvciBub24taW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2MAAAEAc2gpIEVycm9yIHdoZW4gdHJhY2luZyBxdWVyeSAoQ0FTU0FORFJBLTc2MTMpCiAqIEF2b2lkIElPT0JFIHdoZW4gYnVpbGRpbmcgU3ludGF4RXJyb3IgbWVzc2FnZSBzbmlwcGV0IChDQVNTQU5EUkEtNzU2OSkKICogU1NUYWJsZUV4cG9ydCB1c2VzIGNvcnJlY3QgdmFsaWRhdG9yIHRvIGNyZWF0ZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgcGFydGl0aW9uCiAgIGtleXMgKENBU1NBTkRSQS03NDk4KQogKiBBdm9pZCBOUEVzIHdoZW4gcmVjZWl2aa7ISy4AAAFP3jyyXAAQcyB0byBub3QgaW5jcmVtZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvYwAAAQBhbGl6YXRpb24gd2hlbiBzdWJjb2x1bW4gY29tcGFyYXRvciBpcyBkaWZmZXJlbnQKICAgZnJvbSBzdXBlcmNvbHVtbidzIChDQVNTQU5EUkEtMjEwNCkKICogZml4IHN0YXJ0aW5nIHVwIG9uIFdpbmRvd3Mgd2hlbiBDQVNTQU5EUkFfSE9NRSBjb250YWlucyB3aGl0ZXNwYWNlCiAgIChDQVNTQU5EUkEtMjIzNykKICogYWRkIFtnZXR8c2V0XVtyb3d8a2V5XWNhY2hlU2F2ZVBlcmlvZCB0byBKTVggKENBU1NBTkRSQS0yMTAwKQogKiBmaXggSGFkb29wjU5cpgAAAU/ePLJcABAgc2NoZW1hIGNoYW5nZXMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9jAAABAHN0cmVhbWluZyByZWZhY3RvciAoQ0FTU0FORFJBLTExODkpCiAqIGZhc3RlciBjb21wYXJpc29uIGZvciBVVUlEIHR5cGVzIChDQVNTQU5EUkEtMTA0MykKICogc2Vjb25kYXJ5IGluZGV4IHN1cHBvcnQgKENBU1NBTkRSQS03NDkgYW5kIHN1YnRhc2tzKQogKiBtYWtlIGNvbXBhY3Rpb24gYnVja2V0cyBkZXRlcm1pbmlzdGljIChDQVNTQU5EUkEtMTI2NSkKCgowLjYuNgogKiBBbGxvdyB1c2luZyBEeW5hbWljRW5kcG9pbnRTbml0Y2ggd2l0aCBSYWM0HBVPAAABT948slwAEEFORFJBLTY3ODkpCiAqIEYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2MAAAEAc2VydmVyIGlkZW1wb3RlbnQgKENBU1NBTkRSQS01NzI4KQogKiBGaXggbG9hZGluZyBrZXkgY2FjaGUgd2hlbiBhIHNhdmVkIGVudHJ5IGlzIG5vIGxvbmdlciB2YWxpZCAoQ0FTU0FORFJBLTU3MDYpCiAqIEZpeCBzZXJpYWxpemF0aW9uIG9mIHRoZSBMRUZUIGdvc3NpcCB2YWx1ZSAoQ0FTU0FORFJBLTU2OTYpCiAqIGNxbHNoOiBEb24ndCBzaG93ICdudWxsJyBpbiBwbGFjZSBvZiBlbXB0eSB2YWx1ZXMgKENBU1NBTkRSQS01Njc1KQogKiBSYWNlIJFDSR0AAAFP3jyyXAAQcHBvcnQgdG8gREVTQ1JJQgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvYwAAAQBBU1NBTkRSQS0yMzYxKQogKiBmaXggcG90ZW50aWFsIGluZmluaXRlIGxvb3AgaW4gQnl0ZUJ1ZmZlclV0aWwuaW5wdXRTdHJlYW0gKENBU1NBTkRSQS0yMzY1KQogKiBmaXggZW5jb2RpbmcgYnVncyBpbiBIaW50ZWRIYW5kb2ZmTWFuYWdlciwgU3lzdGVtVGFibGUgd2hlbiBkZWZhdWx0CiAgIGNoYXJzZXQgaXMgbm90IFVURjggKENBU1NBTkRSQS0yMzY3KQogKiBhdm9pZHMgaGF2aW5nIHJlbW92ZWQgbm9kZSByZWFwcGVhcmluZyBpbiBHb3NzaXAgjQTCQAAAAU/ePLJcABBhZGNhc3RfcnBjX2FkZHJlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9jAAABAG9ycyBmb3IgY3FsIHNlbGVjdCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNTY0NykKICogU3VwcHJlc3MgY3VzdG9tIGV4Y2VwdGlvbnMgdGhydSBqbXggKENBU1NBTkRSQS01NjUyKQogKiBVcGRhdGUgQ1JFQVRFIENVU1RPTSBJTkRFWCBzeW50YXggKENBU1NBTkRSQS01NjM5KQogKiBGaXggUGVybWlzc2lvbkRldGFpbHMuZXF1YWxzKCkgbWV0aG9kIChDQVNTQU5EUkEtNTY1NSkKICogTmV2ZXIgYWxsb3cgcGFydGl0aW9uIGtleSByYW5nZXMgaW4gQ1Hum4kHAAAAU9Mm31IAKAAGc3lzdGVtAAAVc2NoZW1hX2NvbHVtbmZhbWlsaWVzAAAEAAAACwAAAAABAVof8mes4D8ShWPPrmEDxl5VU2ZyAAUV99X5GrgAAAAAAAAAAFkWDDsAGuHvVcg9DQAAAZ4v6FAeABBvPHJA+YAR5Lig59RI1eJtAAAAAQG027e03Ek/tbO/zm5DSDLKf////4AAAAAAAAAAAAAAAQAOAAtyb3dzX21lcmdlZP8ADgALcm93c19tZXJnZWQBVVNmcgAFFffV+R6fAAAABwADAAAAAgAJOoBVXKDyAAUV99X5HqAAAAAAAAsACGJ5dGVzX2luAAIACTqAVVyg8gAFFffV+R6gAAAACAAAAAAAAEWZAAwACWJ5dGVzX291dAACAAk6gFVcoPIABRX31fkeoAAAAAgAAAAAAABBrgAUABFjb2x1bW5mYW1pbHlfbmFtZQACAAk6gFVcoPIABRX31fkeoAAAAA5zY2hlbWFfY29sdW1ucwAPAAxjb21wYWN0ZWRfYXQAAgAJOoBVXKDyAAUV99X5HqAAAAAIAAABTU3IL2QAEAANa2V5c3BhY2VfbmFtZQACAAk6gFVcoPIABRX31fkeoAAAAAZzeXN0ZW0AFQALcm93c19tZXJnZWQAAAQAAAABAAIACTqAVVyg8gAFFffV+R6gAAAACAAAAAAAAAAMQDTv1QAAAU/ePLJcABB3aXRoIGlkZW50aWNhbCB2AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9lAAABACBub2RlIChDQVNTQU5EUkEtMTE5MCkKICogb3B0aW1pemUgYXdheSBNZXNzYWdpbmdTZXJ2aWNlIGZvciBsb2NhbCByYW5nZSBxdWVyaWVzIChDQVNTQU5EUkEtMTI2MSkKICogbWFrZSBmcmFtZWQgdHJhbnNwb3J0IHRoZSBkZWZhdWx0IHNvIG1hbGZvcm1lZCByZXF1ZXN0cyBjYW4ndCBPT00gdGhlIAogICBzZXJ2ZXIgKENBU1NBTkRSQS00NzUpCiAqIHNpZ25pZmljYW50bHkgZmFzdGVyIHJlYWRzIGZyb20gcm93IGNhY2hlIChDQVNTQU5EUkEtMTJbMgCXAAABT948slwAEFRPTSBpbmRleGVzIG9uIGMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2UAAAEAU1NBTkRSQS00NDApCiAgIGFuZCBhZGQgVW5hdmFpbGFibGVFeGNlcHRpb24gdG8gbW9yZSBUaHJpZnQgbWV0aG9kcwogKiBBZGQgZXhhbXBsZSBFbmRQb2ludFNuaXRjaCBjb250cmliIGNvZGUgKHNldmVyYWwgdGlja2V0cykKCgowLjQuMCBSQzIKICogZml4IFNTVGFibGUgZ2VuZXJhdGlvbiBjbGFzaCBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTQxOCkKICogcmVqZWN0IG1ldGhvZCBjYWxscyB3aXRoIG51bGwgcGFyYW1ldGVycyAoQ0FTU59w2wMAAAFP3jyyXAAQZXhpc3QgaW4gb3RoZXIgcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvZQAAAQBjaGVjayBkaWdlc3RzIGFnYWluc3QgZWFjaCBvdGhlciAoQ0FTU0FORFJBLTE4MzApCiAqIHJldHVybiBJbnZhbGlkUmVxdWVzdCB3aGVuIHJlbW92ZSBvZiBzdWJjb2x1bW4gd2l0aG91dCBzdXBlcmNvbHVtbgogICBpcyByZXF1ZXN0ZWQgKENBU1NBTkRSQS0xODY2KQogKiBmbHVzaCBiZWZvcmUgcmVwYWlyIChDQVNTQU5EUkEtMTc0OCkKICogU1NUYWJsZUV4cG9ydCB2YWxpZGF0ZXMga2V5IG9yZGVyIChDQVNTQU5EUkEtMTg4NCkKICogbGFyZ2Ugq8/0wgAAAU/ePLJcABBuaWZlc3QgdW5kZXIgTGV2AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9lAAABAGQgKENBU1NBTkRSQS0xMDc5KQogKiBiZXR0ZXIgZGVmYXVsdHMgZm9yIGZsdXNoIHNvcnRlciArIHdyaXRlciBleGVjdXRvciBxdWV1ZSBzaXplcwogICAoQ0FTU0FORFJBLTExMDApCiAqIHdpbmRvd3Mgc2NyaXB0cyBmb3IgU1NUYWJsZUltcG9ydC9FeHBvcnQgKENBU1NBTkRSQS0xMDUxKQogKiB3aW5kb3dzIHNjcmlwdCBmb3Igbm9kZXRvb2wgKENBU1NBTkRSQS0xMTEzKQogKiBleHBvc2UgUGhpQ29udmljdFRocmVzaG9sZCAoQ0FTU0FORFJBLTF46OBiAAABT948slwAEAoKCjEuMC43CiAqIGZpeCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2UAAAEAYWZ0ZXIgZGVzZXJpYWxpemluZyBhIHJvdyB0byB1cGRhdGUgY2FjaGUgd2l0aCAoQ0FTU0FORFJBLTI3NTIpCiAqIGF2b2lkIHNraXBwaW5nIHJvd3MgaW4gc2NydWIgZm9yIGNvdW50ZXIgY29sdW1uIGZhbWlseSAoQ0FTU0FORFJBLTI3NTkpCiAqIGZpeCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uIGluIHJlcGFpciB3aGVuIGRlYWxpbmcgd2l0aCAwLjcgbm9kZQogICAoQ0FTU0FORFJBLTI3NjcpCiAqIHVzZSB0aHJlYWRzYWZlIGNvbMNs3vkAAAFP3jyyXAAQaGFuZ2VzIGJldHdlZW4gcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvZQAAAQApCiAqIERvIG5vdCBleGl0IG5vZGV0b29sIHJlcGFpciB3aGVuIHJlY2VpdmluZyBKTVggTk9USUZfTE9TVCAoQ0FTU0FORFJBLTc5MDkpCiAqIFN0cmVhbSB0byBwcml2YXRlIElQIHdoZW4gYXZhaWxhYmxlIChDQVNTQU5EUkEtODA4NCkKTWVyZ2VkIGZyb20gMi4wOgogKiBSZWplY3QgY29uZGl0aW9ucyBvbiBERUxFVEUgdW5sZXNzIGZ1bGwgUEsgaXMgZ2l2ZW4gKENBU1NBTkRSQS02NDMwKQogKiBQcm9wZXJseSByZWplY3QgdGhlIHRva2VuIGZ1p6GTUwAAAU/ePLJcABBTQU5EUkEtMzAzOSkKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9lAAABAHVtbiAoQ0FTU0FORFJBLTQ5NzYpCgoKMS4yLWJldGEyCiAqIGZwIHJhdGUgb2YgMS4wIGRpc2FibGVzIEJGIGVudGlyZWx5OyBMQ1MgZGVmYXVsdHMgdG8gMS4wIChDQVNTQU5EUkEtNDg3NikKICogb2ZmLWhlYXAgYmxvb20gZmlsdGVycyBmb3Igcm93IGtleXMgKENBU1NBTkRSQV80ODY1KQogKiBhZGQgZXh0ZW5zaW9uIHBvaW50IGZvciBzc3RhYmxlIGNvbXBvbmVudHMgKENBU1NBTkRSQS00MDQ5KQogKiBpbXByb3ZlIHRyYWNpbmcgb3V0cHV0IChaEoFqAAABT948slwAEHJ5IGluZGV4IHF1ZXJpZXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2UAAAEAc3N0YWJsZTJqc29uIGlmIHRoZSB3YXJuaW5nIGlzIHVuaGVlZGVkCiAgIHVudGlsIGl0J3MgdG9vIGxhdGUgKENBU1NBTkRSQS04NDMpCiAqIEFkZCBsb2dnaW5nIG9mIEdDIGFjdGl2aXR5IChDQVNTQU5EUkEtODEzKQogKiBmaXggQ29uY3VycmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlvbiBpbiBjb21taXRsb2cgZGlzY2FyZCAoQ0FTU0FORFJBLTg1MykKICogRml4IGhhcmRjb2RlZCByb3cgY291bnQgaW4gSGFkb29wIFJlY29yZFJlYWRlciAoQ0FTU8HtujMAAAFP3jyyXAAQZSgpIGZyb20gY2FsbGluZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvZQAAAQAgSkRCQyBSZXN1bHRTZXRNZXRhZGF0YSBwcm9wZXJ0aWVzIGFkZGVkIHRvIEFic3RyYWN0VHlwZQogKiByL20gY2x1c3RlcnRvb2wgKENBU1NBTkRSQS0yNjA3KQogKiBhZGQgc3VwcG9ydCBmb3IgcHJlc2VudGluZyByb3cga2V5IGFzIGEgY29sdW1uIGluIENRTCByZXN1bHQgc2V0cyAKICAgKENBU1NBTkRSQS0yNjIyKQogKiBEb24ndCBhbGxvdyB7TE9DQUx8RUFDSH1fUVVPUlVNIHVubGVzcyBzdHJhdGVneSBpcyBOVFMgKENBU1NBTkRSQS0yNjI3WQKC5gAAAU/ePLJcABBGaXggQ3FsUmVjb3JkV3JpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9lAAABAG1ucyAoQ0FTU0FORFJBLTc1MDYpCiAqIChjcWxzaCkgZW5hYmxlIENUUkwtUiBoaXN0b3J5IHNlYXJjaCB3aXRoIGxpYmVkaXQgKENBU1NBTkRSQS03NTc3KQogKiAoSGFkb29wKSBhbGxvdyBBQ0ZSVyB0byBsaW1pdCBub2RlcyB0byBsb2NhbCBEQyAoQ0FTU0FORFJBLTcyNTIpCiAqIChjcWxzaCkgY3Fsc2ggc2hvdWxkIGF1dG9tYXRpY2FsbHkgZGlzYWJsZSB0cmFjaW5nIHdoZW4gc2VsZWN0aW5nCiAgIGZyb20gc3lzdGVtX3RyYWNlcyAoQ0FTU0E/bRMwAAABT948slwAEHkgcm93cyB3aGVuIHNjcnUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2UAAAEATCBvcHRpb25zIChDQVNTQU5EUkEtNDA0MikKICogQWRkcyBwb3NpYmlsaXR5IHRvIGF1dG9jb25maWd1cmUgc2l6ZSBvZiB0aGUgS2V5Q2FjaGUgKENBU1NBTkRSQS00MDg3KQogKiBmaXggS0VZUyBpbmRleCBmcm9tIHNraXBwaW5nIHJlc3VsdHMgKENBU1NBTkRSQS0zOTk2KQogKiBSZW1vdmUgc2xpY2VkX2J1ZmZlcl9zaXplX2luX2tiIGRlYWQgb3B0aW9uIChDQVNTQU5EUkEtNDA3NikKICogbWFrZSBsb2FkTmV3U1N0YWJsZSBwcmVzZXJ2ZSBzc9OhHuYAAAFP3jyyXAAQUkEtMTE0NikKICogdXNlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvZQAAAQAgcmV0dXJuaW5nIHJlc3VsdHMgaW4gdGhlIHdyb25nIG9yZGVyIChDQVNTQU5EUkEtNzgxKQogCgowLjUuMCBmaW5hbAogKiBhdm9pZCBhdHRlbXB0aW5nIHRvIGRlbGV0ZSB0ZW1wb3JhcnkgYm9vdHN0cmFwIGZpbGVzIHR3aWNlIChDQVNTQU5EUkEtNjgxKQogKiBmaXggYm9ndXMgTmFOIGluIG5vZGVwcm9iZSBjZnN0YXRzIG91dHB1dCAoQ0FTU0FORFJBLTY0NikKICogcHJvdmlkZSBhIHBvbGljeSBmb3IgZGVhbGluZyB3aXRoIHNpbmdsZSB0aHJlLWC20QAAAU/ePLJcABBBLTc0MjkpCiAqIE1ha2UgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9lAAABAFNBTkRSQS0yMzc3KQogKiBmaXggcmFjZSBjb25kaXRpb24gdGhhdCBjb3VsZCBsZWF2ZSBvcnBoYW5lZCBkYXRhIGZpbGVzIHdoZW4gZHJvcHBpbmcgQ0Ygb3IKICAgS1MgKENBU1NBTkRSQS0yMzgxKQogKiBmc3luYyBzdGF0aXN0aWNzIGNvbXBvbmVudCBvbiB3cml0ZSAoQ0FTU0FORFJBLTIzODIpCiAqIGZpeCBkdXBsaWNhdGUgcmVzdWx0cyBmcm9tIENGUy5zY2FuIChDQVNTQU5EUkEtMjQwNikKICogYWRkIEludGVnZXJUeXBlIHRvIENMSSBoZWxacyEFAAABT948slwAECBjb3JydXB0ZWQgU1NUYWIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2UAAAEAbXByb3ZlbWVudHMgKHNldmVyYWwgdGlja2V0cykKICogb3B0aW1pemVkIHJlcGxpY2EgcGxhY2VtZW50IGNvZGUgKENBU1NBTkRSQS01MjUpCiAqIGZhc3RlciBsb2cgcmVwbGF5IG9uIHJlc3RhcnQgKENBU1NBTkRSQS01MzksIENBU1NBTkRSQS01NDApCiAqIG9wdGltaXplZCBsb2NhbC1ub2RlIHdyaXRlcyAoQ0FTU0FORFJBLTU1OCkKICogYWRkZWQgZ2V0X3JhbmdlX3NsaWNlLCBkZXByZWNhdGluZyBnZXRfa2V5X3JhbmdlIChDQVNTQU5EUkEtM2WhY/kAAAFP3jyyXAAQbmQgZGViIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvZQAAAQBvcm1hbCBvbmVzOyByZXR1cm4gdmFsdWVzCiAgICAgIGFyZSBub3cgb2YgQ29sdW1uT3JTdXBlckNvbHVtbi4KICAgIC0gU2ltaWxhcmx5LCBtZXJnZWQgYmF0Y2hfaW5zZXJ0X3N1cGVyIGludG8gYmF0Y2hfaW5zZXJ0LgoKCgowLjQuMCBiZXRhCiAqIE9uLWRpc2sgZGF0YSBmb3JtYXQgaGFzIGNoYW5nZWQgdG8gYWxsb3cgYmlsbGlvbnMgb2Yga2V5cy9yb3dzIHBlcgogICBub2RlIGluc3RlYWQgb2Ygb25seSBtaWxsaW9ucwogKiBNdWx0aS1rZXlz9HJi/gAa9kykx2SGAAABT948slwAECogaW1wcm92ZSBEeW5hbWkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2gAAAEAb3cga2V5c3BhY2VzJyAoQ0FTU0FORFJBLTE2MTMpCiAqIHN3aXRjaCBmcm9tIFByb3BlcnRpZXMgdG8gSGFzaE1hcCBpbiBQcm9wZXJ0eUZpbGVTbml0Y2ggdG8KICAgYXZvaWQgc3luY2hyb25pemF0aW9uIGJvdHRsZW5lY2sgKENBU1NBTkRSQS0xNDgxKQogKiBQcm9wZXJ0eUZpbGVTbml0Y2ggY29uZmlndXJhdGlvbiBmaWxlIHJlbmFtZWQgdG8gCiAgIGNhc3NhbmRyYS10b3BvbG9neS5wcm9wZXJ0aWVzCiAqIGFkZCBjbGkgc3VwcG9ydCBmb3IgZwEPJtsAAAFP3jyyXAAQRFJBLTEwODgsIENBU1NBTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvaAAAAQB1bW4gbWV0YWRhdGEgdXNpbmcgQ0xJIChDQVNTQU5EUkEtMzEyNikKICogQ0xJIGBkZXNjcmliZSBjbHVzdGVyO2Agb3V0cHV0IHNob3VsZCBiZSBvbiBzZXBhcmF0ZSBsaW5lcyBmb3Igc2VwYXJhdGUgdmVyc2lvbnMKICAgKENBU1NBTkRSQS0zMTcwKQogKiBmaXggY2hhbmdpbmcgZHVyYWJsZV93cml0ZXMga2V5c3BhY2Ugb3B0aW9uIGR1cmluZyBDRiBjcmVhdGlvbgogICAoQ0FTU0FORFJBLTMyOTIpCiAqIGF2b2lkIGxvY2tpbmcgb24gdXBkYXRlvZM0FgAAAU/ePLJcABBmaXggYnVpbGRpbmcgU1NUAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9oAAABAG9uIGVycm9ycyAoQ0FTU0FORFJBLTM2MTIpCiAqIGNxbHNoOiBmaXggYmFkIGRlY29kaW5nIG9mIHNvbWUgY29sdW1uIG5hbWVzIChDQVNTQU5EUkEtNDAwMykKICogY3Fsc2g6IGZpeCBpbmNvcnJlY3QgcGFkZGluZyB3aXRoIHVuaWNvZGUgY2hhcnMgKENBU1NBTkRSQS00MDMzKQogKiBGaXggRUMyIHNuaXRjaCBpbmNvcnJlY3RseSByZXBvcnRpbmcgcmVnaW9uIChDQVNTQU5EUkEtNDAyNikKICogU2h1dCBkb3duIHRocmlmdCBkdXJpbmcgZGVjb22em12DAAABT948slwAEGVncmVzc2lvbiBmcm9tIDAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2gAAAEAZHBvaW50IGNvbGxpc2lvbiAoQ0FTU0FORFJBLTc5MzkpCiAqIE1ha2Ugc3N0YWJsZXJlcGFpcmVkc2V0IHRha2UgYSBsaXN0IG9mIGZpbGVzIChDQVNTQU5EUkEtNzk5NSkKICogKGNxbHNoKSBUYWIgY29tcGxldGVpb24gZm9yIGluZGV4ZXMgb24gbWFwIGtleXMgKENBU1NBTkRSQS03OTcyKQogKiAoY3Fsc2gpIEZpeCBVRFQgZmllbGQgc2VsZWN0aW9uIGluIHNlbGVjdCBjbGF1c2UgKENBU1NBTkRSQS03ODkxKQogKiBGaXggcmVzb3VyY2UgbGVhaxdFS9cAAAFP3jyyXAAQQ0FTU0FORFJBLTYzMjUpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvaAAAAQBkdWNlICdjcmNfY2hlY2tfY2hhbmNlJyBpbiBDb21wcmVzc2lvblBhcmFtZXRlcnMgdG8gc3VwcG9ydAogICBhIGNoZWNrc3VtIHBlcmNlbnRhZ2UgY2hlY2tpbmcgY2hhbmNlIHNpbWlsYXJseSB0byByZWFkLXJlcGFpciAoQ0FTU0FORFJBLTM2MTEpCiAqIGEgd2F5IHRvIGRlYWN0aXZhdGUgZ2xvYmFsIGtleS9yb3cgY2FjaGUgb24gcGVyLUNGIGJhc2lzIChDQVNTQU5EUkEtMzY2NykKICogZml4IExldmVsZWRDb21wYWN0aW9uU3RyYXRlZ3kgYnJvLWgbhgAAAU/ePLJcABBBLTQ1NTgpCiAqIChjcWwzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9oAAABACBGaXggU3RyZXNzIGZvciBDUUwzIChDQVNTQU5EUkEtNDk3OSkKICogUmVtb3ZlIGNhc3NhbmRyYSBzcGVjaWZpYyBleGNlcHRpb25zIGZyb20gSk1YIGludGVyZmFjZSAoQ0FTU0FORFJBLTQ4OTMpCiAqIChDUUwzKSBGb3JjZSB1c2luZyBBTExPVyBGSUxURVJJTkcgb24gcG90ZW50aWFsbHkgaW5lZmZpY2llbnQgcXVlcmllcyAoQ0FTU0FORFJBLTQ5MTUpCiAqIChjcWwzKSBGaXggYWRkaW5nIGNvbHVtbiB3aGVuIHRoZSB0YWJsZSBoYXMgY29sbGWyTSi9AAABT948slwAECBzeW5jaHJvbml6YXRpb24AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2gAAAEAbHVtbiBuYW1lIGluIHRocmlmdCB2YWxpZGF0aW9uIChDQVNTQU5EUkEtNjg5MikKICogRml4IGVycm9yIHdpdGggc3VwZXIgY29sdW1ucyBpbiBtaXhlZCAxLjItMi4wIGNsdXN0ZXJzIChDQVNTQU5EUkEtNjk2NikKICogRml4IGJhZCBza2lwIG9mIHNzdGFibGVzIG9uIHNsaWNlIHF1ZXJ5IHdpdGggY29tcG9zaXRlIHN0YXJ0L2ZpbmlzaCAoQ0FTU0FORFJBLTY4MjUpCiAqIEZpeCB1bmludGVuZGVkIHVwZGF0ZSB3aXRoIGNvbmRpdGlvbmFsIHN0YWa3VtYAAAFP3jyyXAAQIHRvIDFtcywgZnJvbSA1MAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvaAAAAQAKICogTWFyayBDRiBjbGVhbiBpZiBhIG11dGF0aW9uIHJhY2VkIHRoZSBkcm9wIGFuZCBnb3QgaXQgbWFya2VkIGRpcnR5IChDQVNTQU5EUkEtNTk0NikKICogQWRkIGEgTE9DQUxfT05FIGNvbnNpc3RlbmN5IGxldmVsIChDQVNTQU5EUkEtNjIwMikKICogTGltaXQgQ1FMIHByZXBhcmVkIHN0YXRlbWVudCBjYWNoZSBieSBzaXplIGluc3RlYWQgb2YgY291bnQgKENBU1NBTkRSQS02MTA3KQogKiBUcmFjaW5nIHNob3VsZCBsb2cgd3JpdGUgZmFpbHVy5xkfqwAAAU/ePLJcABBpZCBkcm9wcGluZyB0b21iAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9oAAABAHBwZWQgZHVyaW5nIHN0cmVhbWluZyAoQ0FTU0FORFJBLTc5NDYpCiAqIEZpeCB3cm9uZyBwcm9ncmVzcyB3aGVuIHN0cmVhbWluZyB1bmNvbXByZXNzZWQgKENBU1NBTkRSQS03ODc4KQogKiBGaXggcG9zc2libGUgaW5maW5pdGUgbG9vcCBpbiBjcmVhdGluZyByZXBhaXIgcmFuZ2UgKENBU1NBTkRSQS03OTgzKQogKiBGaXggdW5pdCBpbiBub2RldG9vbCBmb3Igc3RyZWFtaW5nIHRocm91Z2hwdXQgKENBU1NBTkRSQS03Mzc1KQpNZXJnZWQgZnJvbSAtPwdPAAABT948slwAEG4ndCBpZ25vcmUgQ1RSTC0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2gAAAEAaW4gdGhlIHNhbWUgSlZNIHVzaW5nCiAgIENRTFNTVGFibGVXcml0ZXIgKENBU1NBTkRSQS03NDYzKQogKiBGaXggdG90YWxEaXNrU3BhY2VVc2VkIGNhbGN1bGF0aW9uIChDQVNTQU5EUkEtODIwNSkKCgoyLjEuMQogKiBGaXggc3BpbiBsb29wIGluIEF0b21pY1NvcnRlZENvbHVtbnMgKENBU1NBTkRSQS03NTQ2KQogKiBEb250IG5vdGlmeSB3aGVuIHJlcGxhY2luZyB0bXBsaW5rIGZpbGVzIChDQVNTQU5EUkEtODE1NykKICogRml4IHZhbGlkYXRpb+lDby0AAAFP3jyyXAAQcHBvcnQgdG8gc3N0YWJsZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvaAAAAQAgbW92ZW1lbnQgb2NjdXJzIChDQVNTQU5EUkEtNTcyKQogKiBJbmNsdWRlIGRlYWQgbm9kZXMgaW4gZ29zc2lwIHRvIGF2b2lkIGEgdmFyaWV0eSBvZiBwcm9ibGVtcwogICBhbmQgZml4IEhIIHRvIHJlbW92ZWQgbm9kZXMgKENBU1NBTkRSQS02MzQpCiAqIHJldHVybiBhbiBJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmb3IgbWFsLWZvcm1lZCBTbGljZVByZWRpY2F0ZXMKICAgKENBU1NBTkRSQS02NDMpCiAqIGZpeCBidWcgZGV0ZXJtaW5pbmcgY2xvdUQwJQAAAU/ePLJcABAgb3B0aW9uIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9oAAABAFJBLTY4NSkKICogYWRkIGFjayB0byBCaW5hcnkgd3JpdGUgdmVyYiBhbmQgdXBkYXRlIENhc3NhbmRyYUJ1bGtMb2FkZXIKICAgdG8gd2FpdCBmb3IgYWNrcyBmb3IgZWFjaCByb3cgKENBU1NBTkRSQS0xMDkzKQogKiBhZGRlZCBkZXNjcmliZV9wYXJ0aXRpb25lciBUaHJpZnQgbWV0aG9kIChDQVNTQU5EUkEtMTA0NykKICogSGFkb29wIGpvYnMgbm8gbG9uZ2VyIHJlcXVpcmUgdGhlIENhc3NhbmRyYSBzdG9yYWdlLWNvbmYueG1sCiAgIChDQVNTQU4awhZTAAABT948slwAEGFpbHVyZXMgZHVyaW5nIHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2gAAAEAZGRlZCBCVUdTIGZpbGUKCgowLjMuMCBSQzEKICogUmFuZ2UgcXVlcmllcyBvbiBrZXlzLCBpbmNsdWRpbmcgdXNlci1kZWZpbmVkIGtleSBjb2xsYXRpb24KICogUmVtb3ZlIHN1cHBvcnQKICogV29ya2Fyb3VuZHMgZm9yIGEgd2VpcmQgYnVnIGluIEpESyBzZWxlY3QvcmVnaXN0ZXIgdGhhdCBzZWVtcwogICBwYXJ0aWN1bGFybHkgY29tbW9uIG9uIFZNIGVudmlyb25tZW50cy4gQ2Fzc2FuZHJhIHNob3VsZCBkZXBsb3kKICAgZmluZSBvbiBFQzIgbtuPPyQAAAFP3jyyXAAQIGF2YWlsYWJsZSAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvaAAAAQBkaW5nIGEgY29uZmlndXJhYmxlIG51bWJlciBvZiB0b21ic3RvbmVzIChDQVNTQU5EUkEtNjExNykKICogVHJhY2sgYW5kIHBlcnNpc3Qgc3N0YWJsZSByZWFkIGFjdGl2aXR5IChDQVNTQU5EUkEtNTUxNSkKICogRml4ZXMgZm9yIHNwZWN1bGF0aXZlIHJldHJ5IChDQVNTQU5EUkEtNTkzMiwgQ0FTU0FORFJBLTYxOTQpCiAqIEltcHJvdmUgbWVtb3J5IHVzYWdlIG9mIG1ldGFkYXRhIG1pbi9tYXggY29sdW1uIG5hbWVzIChDQVNTQU5EUkEtNjA3NykK3erhuwAAAU/ePLJcABBvdW50ZXIgcGFydGl0aW9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9oAAABAFNTQU5EUkEtMzI0NykKICogRmlsZSBkZXNjcmlwdG9yIGxpbWl0IGluY3JlYXNlZCBpbiBwYWNrYWdpbmcgKENBU1NBTkRSQS0zMjA2KQogKiBGaXggZGVhZGxvY2sgaW4gY29tbWl0IGxvZyBkdXJpbmcgZmx1c2ggKENBU1NBTkRSQS0zMjUzKSAKCgoxLjAuMC1iZXRhMQogKiByZW1vdmVkIGJpbmFyeW1lbXRhYmxlIChDQVNTQU5EUkEtMjY5MikKICogYWRkIGNvbW1pdGxvZ190b3RhbF9zcGFjZV9pbl9tYiB0byBwcmV2ZW50IGZyYWdtZW50ZWQgbG975PVXABsKqe6bEkIAAAFP3jyyXAAQb20gaXQgKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvagAAAQAzMykKTWVyZ2VkIGZyb20gMS4yOgogKiBPcHRpbWl6ZSBGRCBwaGkgY2FsY3VsYXRpb24gKENBU1NBTkRSQS02Mzg2KQogKiBJbXByb3ZlIGluaXRpYWwgRkQgcGhpIGVzdGltYXRlIHdoZW4gc3RhcnRpbmcgdXAgKENBU1NBTkRSQS02Mzg1KQogKiBEb24ndCBsaXN0IENRTDMgdGFibGUgaW4gQ0xJIGRlc2NyaWJlIGV2ZW4gaWYgbmFtZWQgZXhwbGljaXRlbHkgCiAgIChDQVNTQU5EUkEtNTc1MCkKICogSW52YWxpZGF0ZSByb3cgY2FjaGUgd2hlbiBk3MFl6AAAAU/ePLJcABBzCiAgIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9qAAABAEFTU0FORFJBLTQ2NjcpCiAqIGluY2x1ZGUgbWV0YWRhdGEgZm9yIHN5c3RlbSBrZXlzcGFjZSBpdHNlbGYgaW4gc2NoZW1hIHRhYmxlcyAoQ0FTU0FORFJBLTQ0MTYpCiAqIGFkZCBjaGVjayB0byBQcm9wZXJ0eUZpbGVTbml0Y2ggdG8gdmVyaWZ5IHByZXNlbmNlIG9mIGxvY2F0aW9uIGZvcgogICBsb2NhbCBub2RlIChDQVNTQU5EUkEtNDcyOCkKICogYWRkIFBCU1ByZWRpY3RvciBjb25zaXN0ZW5jeSBtb2RlbGVyIChDQVNTQU5EUkEtNDI2MSkKICpXqjMMAAABT948slwAECB0b2tlbiAoQ0FTU0FORFIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2oAAAEAaW5nUmVjb3JkUmVhZGVyIHN1cHBvcnQgZm9yIFJldmVyc2VkVHlwZSBpbiBUaHJpZnQgdGFibGUKICAgKENBU1NBTkRSQS01NzE4KQogKiBBZGQgLW5vLXNuYXBzaG90IG9wdGlvbiB0byBzY3J1YiAoQ0FTU0FORFJBLTU4OTEpCiAqIEZpeCB0byBzdXBwb3J0IG9mZiBoZWFwIGJsb29tIGZpbHRlcnMgc2l6ZSBncmVhdGVyIHRoYW4gMiBHQiAoQ0FTU0FORFJBLTU5MDMpCiAqIFByb3Blcmx5IGhhbmRsZSBwYXJzaW5nIGh1Z2UgbWFwIGFuZCBzZXQgbBiknQMAAAFP3jyyXAAQIChDQVNTQU5EUkEtNDU5KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvagAAAQBORFJBLTM3MDgpCiAqIEltcHJvdmUgTWVzc2FnaW5nU2VydmljZSBlZmZpY2llbmN5IChDQVNTQU5EUkEtMzYxNykKICogQXZvaWQgSUQgY29uZmxpY3RzIGZyb20gY29uY3VycmVudCBzY2hlbWEgY2hhbmdlcyAoQ0FTU0FORFJBLTM3OTQpCiAqIFNldCB0aHJpZnQgSFNIQSBzZXJ2ZXIgdGhyZWFkIGxpbWl0IHRvIHVubGltaXRlZCBieSBkZWZhdWx0IChDQVNTQU5EUkEtNDI3NykKICogQXZvaWRzIGRvdWJsZSBzZXJpYWxpemF0aW9uIG9mIENGIGlk4gqbhAAAAU/ePLJcABBpbiBCYXRjaCBDTEUgKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9qAAABAFNTQU5EUkEtNTcyNykKICogQWxsb3cgY29tcGFjdGluZyAySXMgdmlhIG5vZGV0b29sIChDQVNTQU5EUkEtNTY3MCkKICogSGV4LWVuY29kZSBub24tU3RyaW5nIGtleXMgaW4gT1BQIChDQVNTQU5EUkEtNTc5MykKICogbm9kZXRvb2wgaGlzdG9yeSBsb2dnaW5nIChDQVNTQU5EUkEtNTgyMykKICogKEhhZG9vcCkgZml4IHN1cHBvcnQgZm9yIFRocmlmdCB0YWJsZXMgaW4gQ3FsUGFnaW5nUmVjb3JkUmVhZGVyIAogICAoQ0FTU0FORFJBLTU3NTIpCiCRd51/AAABT948slwAEGl6ZWQgcmVwbGljYSBwbGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2oAAAEAZWdyZXNzaW9uIGluIG1peGVkIHNpbmdsZSBhbmQgbXVsdGktY29sdW1uIHJlbGF0aW9uIHN1cHBvcnQgZm9yCiAgIFNFTEVDVCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtODYxMykKICogQWRkIGFiaWxpdHkgdG8gbGltaXQgbnVtYmVyIG9mIG5hdGl2ZSBjb25uZWN0aW9ucyAoQ0FTU0FORFJBLTgwODYpCiAqIEZpeCBDUUxTU1RhYmxlV3JpdGVyIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgc3Bhd25pbmcgdGhyZWFkcwogICAoQ0FTU0FORFJBLTg4MDgpCrPinSEAAAFP3jyyXAAQIHByb3ZpZGVyIGluIGNsaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvagAAAQAoQ0FTU0FORFJBLTQ2MDIpCiAqIGZpeCB0b1N0cmluZyBvZiBoaW50IGRlc3RpbmF0aW9uIHRva2VucyAoQ0FTU0FORFJBLTQ1NjgpCiAqIEZpeCBtdWx0aXBsZSB2YWx1ZXMgZm9yIEN1cnJlbnRMb2NhbCBOb2RlSUQgKENBU1NBTkRSQS00NjI2KQoKCjEuMS40CiAqIGZpeCBvZmZsaW5lIHNjcnViIHRvIGNhdGNoID49IG91dCBvZiBvcmRlciByb3dzIChDQVNTQU5EUkEtNDQxMSkKICogZml4IGNhc3NhbmRyYS1lbnYuc2ggb24gUkhFTCBhbmQgb3RoxRV3bwAAAU/ePLJcABB0ZWFkIG9mIHBvaW50ZXJzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9qAAABAHMgc2V0dGluZyAoQ0FTU0FORFJBLTQ2MykKICogb3B0aW1pemF0aW9ucyB0byBzbGljZSByZWFkaW5nIChDQVNTQU5EUkEtMzUwKSBhbmQgc3VwZXJjb2x1bW4KICAgcXVlcmllcyAoQ0FTU0FORFJBLTUxMCkKICogZm9yY2UgYmluZGluZyB0byBnaXZlbiBsaXN0ZW5hZGRyZXNzIGZvciBub2RlcyB3aXRoIG11bHRpcGxlCiAgIGludGVyZmFjZXMgKENBU1NBTkRSQS01NDYpCiAqIHN0cmVzcy5weSBiZW5jaG1hcmtpbmcgdG9vbCBpbXByb3ZlbWVudHMuHfufAAABT948slwAEHQgQ1RSTC1DIG9yIHNlbWkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2oAAAEAdmlvciB3aXRoIGNsZWFuIG1lbXRhYmxlcyAoQ0FTU0FORFJBLTU5MzEpCiAqIEZpeCBkYXRlT2YoKSBmdW5jdGlvbiBmb3IgcHJlLTIuMCB0aW1lc3RhbXAgY29sdW1ucyAoQ0FTU0FORFJBLTU5MjgpCiAqIEZpeCBTU1RhYmxlIHVuaW50ZW50aW9uYWxseSBsb2FkcyBCRiB3aGVuIG9wZW5lZCBmb3IgYmF0Y2ggKENBU1NBTkRSQS01OTM4KQogKiBBZGQgc3RyZWFtIHNlc3Npb24gcHJvZ3Jlc3MgdG8gSk1YIChDQVNTQU5EUkEtNDc1NykKICogRml4IH1FQW4AAAFP3jyyXAAQIGZpeCBzdXBlcmNvbHVtbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvagAAAQBub2RlIChDQVNTQU5EUkEtNzU4NSkKTWVyZ2VkIGZyb20gMS4yOgogKiBDbG9uZSB0b2tlbiBtYXAgb3V0c2lkZSBvZiBob3QgZ29zc2lwIGxvb3BzIChDQVNTQU5EUkEtNzc1OCkKICogQWRkIHN0b3AgbWV0aG9kIHRvIEVtYmVkZGVkQ2Fzc2FuZHJhU2VydmljZSAoQ0FTU0FORFJBLTc1OTUpCiAqIFN1cHBvcnQgY29ubmVjdGluZyB0byBpcHY2IGpteCB3aXRoIG5vZGV0b29sIChDQVNTQU5EUkEtNzY2OSkKICogU2V0IGdjX2dyYWNlX3NlY29uZHMgfb07GwAAAU/ePLJcABBjdGlvbnMgZm9yIHN0YXRpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9qAAABAGVtIHdhbGwgY2xvY2sgdGltZSBhdCBzdGFydHVwIChDQVNTQU5EUkEtODMwNSkKICogU3VwcG9ydCBmb3IgZnJvemVuIGNvbGxlY3Rpb25zIChDQVNTQU5EUkEtNzg1OSkKICogRml4IG92ZXJmbG93IG9uIGhpc3RvZ3JhbSBjb21wdXRhdGlvbiAoQ0FTU0FORFJBLTgwMjgpCiAqIEhhdmUgcGF4b3MgcmV1c2UgdGhlIHRpbWVzdGFtcCBnZW5lcmF0aW9uIG9mIG5vcm1hbCBxdWVyaWVzIChDQVNTQU5EUkEtNzgwMSkKICogRml4IGluY3JlbWVudGFsIHJwoAHnAAABT948slwAEEFORFJBLTcxMDcpCiAqIFUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2oAAAEAIGNxbDMgc2VsZWN0IHdpdGggdG9rZW4oKSAoQ0FTU0FORFJBLTU0MDQpCiAqIEluZGV4SGVscGVyLnNraXBCbG9vbUZpbHRlcnMgd29uJ3Qgc2tpcCBub24tU0hBIGZpbHRlcnMgKENBU1NBTkRSQS01Mzg1KQogKiBjcWxzaDogUHJpbnQgbWFwcyBvcmRlcmVkIGJ5IGtleSwgc29ydCBzZXRzIChDQVNTQU5EUkEtNTQxMykKICogQWRkIG51bGwgc3ludGF4IHN1cHBvcnQgaW4gQ1FMMyBmb3IgaW5zZXJ0cyAoQ0FTU0FORFJBLTM3ODMpCiAqIEFsbG93IJ5tE94AAAFP3jyyXAAQbWJlcnMgaW4gdGhlIGNsaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvagAAAQAgZ2V0cyBiZWhpbmQgdGVtcG9yYXJpbHkgKENBU1NBTkRSQS0xOTkxKQogKiBlbmFibGUgY2FjaGluZyBvbiBpbmRleCBDRnMgYmFzZWQgb24gZGF0YSBDRiBjYWNoZSBzZXR0aW5nIChDQVNTQU5EUkEtNDE5NykKICogd2FybiBvbiBpbnZhbGlkIHJlcGxpY2F0aW9uIHN0cmF0ZWd5IGNyZWF0aW9uIG9wdGlvbnMgKENBU1NBTkRSQS00MDQ2KQogKiByZW1vdmUgW0ZyZWVhYmxlXU1lbW9yeSBmaW5hbGl6ZXJzIChDQVNTQU5EUkEtNDIyMikKICogaW5jhxEs7QAAAU/ePLJcABB5IHRyYWNlcyAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9qAAABAGJsZSBpcwogICBkcm9wcGVkIChDQVNTQU5EUkEtNzU2NikKICogY2Fzc2FuZHJhLXN0cmVzczogZml4IHN1cHBvcnQgZm9yIE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5IChDQVNTQU5EUkEtNzk0NSkKICogRml4IHNhdmluZyBjYWNoZXMgd2hlbiBhIHRhYmxlIGlzIGRyb3BwZWQgKENBU1NBTkRSQS03Nzg0KQogKiBBZGQgYmV0dGVyIGVycm9yIGNoZWNraW5nIG9mIG5ldyBzdHJlc3MgcHJvZmlsZSAoQ0FTU0FORFJBLTc3MTYpCiAqIFVzZSBUaHJlYWTHjE1rAAABT948slwAEGhhdCBjb3VsZCByZXN1bHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2oAAAEARml4IGRyb3BwaW5nIGNvbGxlY3Rpb24gd2hlbiBpdCdzIHRoZSBsYXN0IHJlZ3VsYXIgY29sdW1uIChDQVNTQU5EUkEtNzc0NCkKICogUHJvcGVybHkgcmVqZWN0IG9wZXJhdGlvbnMgb24gbGlzdCBpbmRleCB3aXRoIGNvbmRpdGlvbnMgKENBU1NBTkRSQS03NDk5KQogKiBNYWtlIFN0cmVhbVJlY2VpdmVUYXNrIHRocmVhZCBzYWZlIGFuZCBnYyBmcmllbmRseSAoQ0FTU0FORFJBLTc3OTUpCiAqIFZhbGlkYXRlIGVtcHR5IGNlbGwgbmFtZXMgZnJvbSON4HYAGx9lhzDAMwAAAFPTJt9SACgABnN5c3RlbQAAFXNjaGVtYV9jb2x1bW5mYW1pbGllcwAABAAAAAgAAAAAAQFaH/JnrOA/EoVjz65hA8ZeVVNmcgAFFffV+T3gAAAAAAAAAAD0KezxAAABT948slwAEGcgKENBU1NBTkRSQS01MjYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL2wAAAEAY29tcG9zaXRlcyAoQ0FTU0FORFJBLTQxNzkpCiAqIGltcHJvdmUgRHluYW1pY0VuZHBvaW50U25pdGNoIGJ5IHVzaW5nIHJlc2Vydm9pciBzYW1wbGluZyAoQ0FTU0FORFJBLTQwMzgpCiAqIChjcWwzKSBBZGQgc3VwcG9ydCBmb3IgMm5kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS0zNjgwKQogKiAoY3FsMykgZml4IGRlZmluaW5nIG1vcmUgdGhhbiBvbmUgUEsgdG8gYmUgaW52YWxpZCAoQ0FTU0FORFJBLTQ0NzcpCiAqIHJlbW92ZSBzY2hlbWEgYWdyZYf0kYgAAAFP3jyyXAAQICogRG8gbW9yZSBhZ2dyZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvbQAAAQBva2VuIHRvIHJlbG9jYXRlIHZub2RlcyAoQ0FTU0FORFJBLTQ0NDUpCiAqIEV4cG9zZSBidWxrIGxvYWRpbmcgcHJvZ3Jlc3Mgb3ZlciBKTVggKENBU1NBTkRSQS00NzU3KQogKiBDb3JyZWN0bHkgaGFuZGxlIG51bGwgd2l0aCBJRiBjb25kaXRpb25zIGFuZCBUVEwgKENBU1NBTkRSQS02NjIzKQogKiBBY2NvdW50IGZvciByYW5nZS9yb3cgdG9tYnN0b25lcyBpbiB0b21ic3RvbmUgZHJvcAogICB0aW1lIGhpc3RvZ3JhbSAoQ0FTU0FORFJBLTY1MjIp9ZoQjwAAAU/ePLJcABBucyBpbiBpbmRleCBtYWluAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9tAAABAEEtNDU5NykKICogZml4IGJyb2tlbiBzeXN0ZW0uc2NoZW1hXyogdGltZXN0YW1wcyBvbiBzeXN0ZW0gc3RhcnR1cCAoQ0FTU0FORFJBLTQ1NjEpCiAqIGZpeCB3cm9uZyBza2lwIG9mIGNhY2hlIHNhdmluZyAoQ0FTU0FORFJBLTQ1MzMpCiAqIEF2b2lkIE5QRSB3aGVuIGxvc3QrZm91bmQgaXMgaW4gZGF0YSBkaXIgKENBU1NBTkRSQS00NTcyKQogKiBSZXNwZWN0IGZpdmUtbWludXRlIGZsdXNoIG1vcmF0b3JpdW0gYWZ0ZXIgaW5pdGlhbCBDTCByZXB73crSAAABT948slwAEEEtMTU2NikKICogYWxsb3cAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL20AAAEATkRSQS00NTMyKQogKiAoY3FsMykgaW1wcm92ZXMgT1JERVIgQlkgdmFsaWRhdGlvbiAoQ0FTU0FORFJBLTQ2MjQpCiAqIEZpeCBwb3RlbnRpYWwgZGVhZGxvY2sgZHVyaW5nIGNvdW50ZXIgd3JpdGVzIChDQVNTQU5EUkEtNDU3OCkKICogRml4IGNxbCBlcnJvciB3aXRoIE9SREVSIEJZIHdoZW4gdXNpbmcgSU4gKENBU1NBTkRSQS00NjEyKQpNZXJnZWQgZnJvbSAxLjA6CiAqIGluY3JlYXNlIFhzcyB0byAxNjBrIHRvIGFjY29tb2RhdGUgbGF0ZXN0IEorW+8AAAFP3jyyXAAQbiB3aGVuIHRyeWluZyB0bwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvbQAAAQAyanNvbiBvbiBzZWNvbmRhcnkgaW5kZXggZGF0YSAoQ0FTU0FORFJBLTM3MzgpCiAqIChjcWxzaCkgYWRkIERFU0NSSUJFIENPTFVNTkZBTUlMSUVTIChDQVNTQU5EUkEtMzU4NikKICogKGNxbHNoKSBmb3JtYXQgYmxvYnMgY29ycmVjdGx5IGFuZCB1c2UgY29sb3JzIHRvIGltcHJvdmUgb3V0cHV0CiAgIHJlYWRhYmlsaXR5IChDQVNTQU5EUkEtMzcyNikKICogc3luY2hyb25pemUgQmlNYXAgb2YgYm9vdHN0cmFwcGluZyB0b2tlbnMgKENBU1NBTkRS2XNL1AAAAU/ePLJcABBkIGFmdGVyIGRyb3BwaW5nAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9tAAABAG1pdGxvZyBzZWdtZW50IGlzIGVuY291bnRlcmVkIChDQVNTQU5EUkEtMTI5NykKICogZml4IGR1cGxpY2F0ZSByb3dzIGJlaW5nIHJlYWQgZHVyaW5nIG1hcHJlZHVjZSAoQ0FTU0FORFJBLTExNDIpCiAqIGZhaWx1cmUgZGV0ZWN0aW9uIHdhc24ndCBjbG9zaW5nIGNvbW1hbmQgc29ja2V0cyAoQ0FTU0FORFJBLTEyMjEpCiAqIGNhc3NhbmRyYS1jbGkuYmF0IHdvcmtzIG9uIHdpbmRvd3MgKENBU1NBTkRSQS0xMjM2KQogKiBwcmUtZW1wdGl2ZWx5IGQS73vmAAABT948slwAEGF0aW9uIHRoYXQgb3JkZXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL20AAAEAbW90ZSBhZGRyZXNzZXMgaW4gQ2xpZW50U3RhdGUgKENBU1NBTkRSQS02MDcwKQogKiBDcmVhdGUgc25hcHNob3QgZGlyIGlmIGl0IGRvZXMgbm90IGV4aXN0IHdoZW4gbWlncmF0aW5nCiAgIGxldmVsZWQgbWFuaWZlc3QgKENBU1NBTkRSQS02MDkzKQogKiBtYWtlIHNlcXVlbnRpYWwgbm9kZXRvb2wgcmVwYWlyIHRoZSBkZWZhdWx0IChDQVNTQU5EUkEtNTk1MCkKICogQWRkIG1vcmUgaG9va3MgZm9yIGNvbXBhY3Rpb24gc3RyYXRlZ3kgaW1wbGVtZQAjBe8AAAFP3jyyXAAQZXIgd3JpdGUoKSBtZXRobwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvbQAAAQAKICogRml4IEVjMlNuaXRjaCByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgQ0FTU0FORFJBLTUxNzEgKENBU1NBTkRSQS01NDMyKQogKiBBZGQgbm9kZXRvb2wgZW5hYmxlYmFja3VwL2Rpc2FibGViYWNrdXAgKENBU1NBTkRSQS01NTU2KQogKiBjcWxzaDogZml4IERFU0NSSUJFIGFmdGVyIGNhc2UgaW5zZW5zaXRpdmUgVVNFIChDQVNTQU5EUkEtNTU2NykKTWVyZ2VkIGZyb20gMS4xCiAqIEFkZCByZXRyeSBtZWNoYW5pc20gdG8gT1RDIGZvciBub24tVo6HtAAAAU/ePLJcABAgcmVhZCByZXBhaXIgcHJvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9tAAABAHkgaW4gbm9kZXRvb2wgcmVwYWlyIChDQVNTQU5EUkEtMjkzMykKICogc3BlZWR1cCBieXRlcyB0byBoZXggY29udmVyc2lvbnMgZHJhbWF0aWNhbGx5IChDQVNTQU5EUkEtMjg1MCkKICogRmx1c2ggbWVtdGFibGVzIG9uIHNodXRkb3duIHdoZW4gZHVyYWJsZSB3cml0ZXMgYXJlIGRpc2FibGVkIAogICAoQ0FTU0FORFJBLTI5NTgpCiAqIGltcHJvdmVkIFBPU0lYIGNvbXBhdGliaWxpdHkgb2Ygc3RhcnQgc2NyaXB0cyAoQ0FTc0FORFJBLTI5NjUpCiBWeGEIAAABT948slwAEGxpZGF0aW9uX2NsYXNzIGYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL20AAAEARml4IHN0cmVhbWluZyBvdmVyIFNTTCB3aGVuIGNvbXByZXNzZWQgU1NUYWJsZSBpbnZvbHZlZCAoQ0FTU0FORFJBLTMwNTEpCiAqIEFkZCBzdXBwb3J0IGZvciBwbHVnZ2FibGUgc2Vjb25kYXJ5IGluZGV4IGltcGxlbWVudGF0aW9ucyAoQ0FTU0FORFJBLTMwNzgpCiAqIHJlbW92ZSBjb21wYWN0aW9uX3RocmVhZF9wcmlvcml0eSBzZXR0aW5nIChDQVNTQU5EUkEtMzEwNCkKICogZ2VuZXJhdGUgaGludHMgZm9yIHJlcGxpY2FzIHRoYXQgdGltZW91dI5N8pkAAAFP3jyyXAAQICogRml4IHRvcCBwYXJ0aQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvbQAAAQByc2lzdGVudCByb3cgc2l6ZSBhbmQgY29sdW1uIGNvdW50IHN0YXRpc3RpY3MgKENBU1NBTkRSQS0xMTU1KQogKiBhZGQgSW50ZWdlclR5cGUgKENBU1NBTkRSQS0xMjgyKQogKiBwYWdlIHdpdGhpbiBhIHNpbmdsZSByb3cgZHVyaW5nIGhpbnRlZCBoYW5kb2ZmIChDQVNTQU5EUkEtMTMyNykKICogcHVzaCBEYXRhY2VudGVyU2hhcmRTdHJhdGVneSBjb25maWd1cmF0aW9uIGludG8ga2V5c3BhY2UgZGVmaW5pdGlvbiwKICAgZWxpbWluYXRpbmcgZGF0bKHzYQAAAU/ePLJcABBlYWsgaW4gY29tLnN1bi5tAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9tAAABAGV5c3BhY2UgYW5kIENvbHVtbkZhbWlseSBuYW1lcyBpbiBudW1lcmljCiAgIGFuZCBzdHJpbmcgcmVwcmVzZW50YXRpb25zIGluIENMSSAoQ0FTU0FORFJBLTMwNzUpCiAqIGZpeCBjb3JuZXIgY2FzZXMgaW4gUmFuZ2UuZGlmZmVyZW5jZVRvRmV0Y2ggKENBU1NBTkRSQS0zMDg0KQogKiBmaXggaXAgYWRkcmVzcyBTdHJpbmcgcmVwcmVzZW50YXRpb24gaW4gdGhlIHJpbmcgY2FjaGUgKENBU1NBTkRSQS0zMDQ0KQogKiBmaXggcmluZyBjYWNoZSBjb23CMQP1AAABT948slwAEGVkIHdpdGggc3RyaW5ncyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL20AAAEAZyBjb250ZXh0IChDQVNTQU5EUkEtNTYwMikKICogRXhwb3NlIHdoZXRoZXIgam5hIGlzIGVuYWJsZWQgYW5kIG1lbW9yeSBpcyBsb2NrZWQgdmlhIEpNWCAoQ0FTU0FORFJBLTU1MDgpCiAqIGNxbHNoOiBmaXggQ09QWSBGUk9NIHdpdGggUmV2ZXJzZWRUeXBlIChDQVNTQU5EUkEtNTYxMCkKICogQWxsb3cgY3JlYXRpbmcgQ1VTVE9NIGluZGV4ZXMgb24gY29sbGVjdGlvbnMgKENBU1NBTkRSQS01NjE1KQogKiBFdmFsdWF0ZSBub3coKSBmdW5jdGlvbsabqHEAAAFP3jyyXAAQbGl6ZSBzaGFyZWQgZXhlYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvbQAAAQBjb21wYWN0aW9uIHN0cmF0ZWd5IG9wdGlvbnMgKENBU1NBTkRSQS02NDUxKQogKiBBZGQgYnJvYWRjYXN0X3JwY19hZGRyZXNzIG9wdGlvbiB0byBjYXNzYW5kcmEueWFtbCAoQ0FTU0FORFJBLTU4OTkpCiAqIEF1dG8gcmVsb2FkIEdvc3NpcGluZ1Byb3BlcnR5RmlsZVNuaXRjaCBjb25maWcgKENBU1NBTkRSQS01ODk3KQogKiBGaXggb3ZlcmZsb3cgb2YgbWVtdGFibGVfdG90YWxfc3BhY2VfaW5fbWIgKENBU1NBTkRSQS02NTczKQogKiBGaXggQUJURwfJfwAAAU/ePLJcABBTaW1wbGVTbml0Y2ggcHJvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9tAAABAGRldG9vbCBzbmFwc2hvdCAoQ0FTU0FORFJBLTMwMzgpCiAqIEZpeCBTU1RhYmxlSW1wb3J0VGVzdCBvbiB3aW5kb3dzIChDQVNTQU5EUkEtMzA0MykKICogZXhwb3NlIGNvbXBhY3Rpb25UaHJvdWdocHV0TWJQZXJTZWMgdGhyb3VnaCBKTVggKENBU1NBTkRSQS0zMTE3KQogKiBsb2cga2V5c3BhY2UgYW5kIENGIG9mIGxhcmdlIHJvd3MgYmVpbmcgY29tcGFjdGVkCgoKMC44LjQKICogY2hhbmdlIFRva2VuUmluZy5lbmRwb2ludHMgdG8gYmUgYSBsaXNLaMxxABszwiJXqLwAAAFP3jyyXAAQCiAqIHJlcGFpciB3b3JrcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvbwAAAQBtZW10YWJsZV9jbGVhbnVwX3RocmVzaG9sZCBhbmQgbWVtdGFibGVfZmx1c2hfd3JpdGVycyBkZWZhdWx0cyAKICAgKENBU1NBTkRSQS03NTUxKQogKiAoV2luZG93cykgZml4IHN0YXJ0dXAgd2hlbiBXTUkgbWVtb3J5IHF1ZXJ5IGZhaWxzIChDQVNTQU5EUkEtNzUwNSkKICogQW50aS1jb21wYWN0aW9uIHByb2NlZWRzIGlmIGFueSBwYXJ0IG9mIHRoZSByZXBhaXIgZmFpbGVkIChDQVNBTkRSQS03NTIxKQogKiBBZGQgbWlzc2luZyB0YWJsZSBuYW1l0j0A5QAAAU/ePLJcABAgcG9zc2liaWxpdHkgb2YgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9vAAABAERSQS02MzY0KQogKiBBdm9pZCBvdmVybGFwcyBpbiBMQ1MgKENBU1NBTkRSQS02Njg4KQogKiBJbXByb3ZlIHN1cHBvcnQgZm9yIHBhZ2luYXRpbmcgb3ZlciBjb21wb3NpdGVzIChDQVNTQU5EUkEtNDg1MSkKICogRml4IGNvdW50KCopIHF1ZXJpZXMgaW4gYSBtaXhlZCBjbHVzdGVyIChDQVNTQU5EUkEtNjcwNykKICogSW1wcm92ZSByZXBhaXIgdGFza3Moc25hcHNob3QsIGRpZmZlcmVuY2luZykgY29uY3VycmVuY3kgKENBU1NBTkRSQS02NTY2KQosBSAGAAABT948slwAECBmb3IgUGFyYWxsZWxDb20AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL28AAAEAZXNzaW1pc3RpYyAKICAgcmVidWZmZXJpbmcgaW4gQlJBRiAoQ0FTU0FORFJBLTI1ODEpCiAqIGZpeCByZXR1cm5pbmcgbnVsbCBjb2x1bW4gdmFsdWVzIGluIHRoZSBweXRob24gY3FsIGRyaXZlciAoQ0FTU0FORFJBLTI1OTMpCiAqIGZpeCBtZXJrbGUgdHJlZSBzcGxpdHRpbmcgZXhpdGluZyBlYXJseSAoQ0FTU0FORFJBLTI2MDUpCiAqIHNuYXBzaG90X2JlZm9yZV9jb21wYWN0aW9uIGRpcmVjdG9yeSBuYW1lIGZpeCAoQ0FTU0FORFJBLTI1OTgpCnTWv4oAAAFP3jyyXAAQICAoQ0FTU0FORFJBLTUzNwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvbwAAAQAgKiBmaXggQ0xJICJzaG93IGtleXNwYWNlcyIgd2l0aCBudWxsIG9wdGlvbnMgb24gTlRTIChDQVNTQU5EUkEtMjA0OSkKICogZml4IHBvc3NpYmxlIEJ5dGVCdWZmZXIgcmFjZSBjb25kaXRpb25zIChDQVNTQU5EUkEtMjA2NikKICogcmVkdWNlIGdhcmJhZ2UgZ2VuZXJhdGVkIGJ5IE1lc3NhZ2luZ1NlcnZpY2UgdG8gcHJldmVudCBsb2FkIHNwaWtlcwogICAoQ0FTU0FORFJBLTIwNTgpCiAqIGZpeCBtYXRoIGluIFJhbmRvbVBhcnRpdGlvbmVyLmRlNgGwOQAAAU/ePLJcABBjdGlvbidzIGFiaWxpdHkgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9vAAABAGVzdHMiIGZvciBzeXN0ZW0gdGVzdHMpLCBjb2RlCiAgIGNvdmVyYWdlIHJlcG9ydGluZywgZXRjLgogKiBFeHBhbmRlZCBub2RlIHN0YXR1cyByZXBvcnRpbmcgdmlhIEpNWAogKiBJbXByb3ZlZCBlcnJvciByZXBvcnRpbmcvbG9nZ2luZyBvbiBib3RoIHNlcnZlciBhbmQgY2xpZW50CiAqIFJlZHVjZWQgbWVtb3J5IGZvb3RwcmludCBpbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb24KICogQ29tYmluZWQgYmxvY2tpbmcgYW5kIG5vbi1ibG9ja2luZyB2ZXI1wSh8AAABT948slwAEG1ha2UgcmVzb2x2aW5nIHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL28AAAEAYWpvciBjb21wYWN0aW9uIGxvZ2ljIHRvIHVzZSB0d28gdGhyZXNob2xkIHZhbHVlcwogICAoQ0FTU0FORFJBLTQwNykKICogYWRkIHBlcmlvZGljIC8gYmF0Y2ggY29tbWl0bG9nIHN5bmMgbW9kZXMgKHNldmVyYWwgdGlja2V0cykKICogaW5saW5lIEJhdGNoTXV0YXRpb24gaW50byBiYXRjaF9pbnNlcnQgcGFyYW1zIChDQVNTQU5EUkEtNDAzKQogKiBhbGxvdyBzZXR0aW5nIHRoZSBsb2dnaW5nIGxldmVsIGF0IHJ1bnRpbWUgdmlhIG1iZWFuIChDQUBPK7wAAAFP3jyyXAAQQS0zMDQwKQogKiBTdG9wIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvbwAAAQAxKQogKiBGaXggUElUUiBjb21taXRsb2cgcmVwbGF5IChDQVNTQU5EUkEtOTE5NSkKICogR0NJbnNwZWN0b3IgbG9ncyB2ZXJ5IGRpZmZlcmVudCB0aW1lcyAoQ0FTU0FORFJBLTkxMjQpCiAqIEZpeCBkZWxldGluZyBmcm9tIGFuIGVtcHR5IGxpc3QgKENBU1NBTkRSQS05MTk4KQogKiBVcGRhdGUgdHVwbGUgYW5kIGNvbGxlY3Rpb24gdHlwZXMgdGhhdCB1c2UgYSB1c2VyLWRlZmluZWQgdHlwZSB3aGVuIHRoYXQgVURUCiAgIGlzIG1vZGlmaWVkIChD+ExMpQAAAU/ePLJcABBfW21pbnxtYXhdX3RocmVhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9vAAABAHRyaW5nIG9mIGhpbnQgZGVzdGluYXRpb24gdG9rZW5zIChDQVNTQU5EUkEtNDU2OCkKICogRml4IG11bHRpcGxlIHZhbHVlcyBmb3IgQ3VycmVudExvY2FsIE5vZGVJRCAoQ0FTU0FORFJBLTQ2MjYpCgoKMS4xLjQKICogZml4IG9mZmxpbmUgc2NydWIgdG8gY2F0Y2ggPj0gb3V0IG9mIG9yZGVyIHJvd3MgKENBU1NBTkRSQS00NDExKQogKiBmaXggY2Fzc2FuZHJhLWVudi5zaCBvbiBSSEVMIGFuZCBvdGhlciBub24tZGFzaC1iYXNlZCBzeXN0ZW1zIAp5M3jMAAABT948slwAECAoQ0FTU0FORFJBLTU2NywAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL28AAAEALmphdmEgKENBU1NBTkRSQS0yMzIzKQogKiB2YWxpZGF0ZSB2YWx1ZXMgZm9yIGluZGV4IHByZWRpY2F0ZXMgaW4gZ2V0X2luZGV4ZWRfc2xpY2UgKENBU1NBTkRSQS0yMzI4KQogKiBxdWV1ZSBzZWNvbmRhcnkgaW5kZXhlcyBmb3IgZmx1c2ggYmVmb3JlIHRoZSBwYXJlbnQgKENBU1NBTkRSQS0yMzMwKQogKiBhbGxvdyBqb2IgY29uZmlndXJhdGlvbiB0byBzZXQgdGhlIENMIHVzZWQgaW4gSGFkb29wIGpvYnMgKENBU1NBTkRSQS0yMzMxKQogKiBhZAelXlsAAAFP3jyyXAAQb24tQ0ZTIGJhY2tlZCBzZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvbwAAAQB0cmVhbWluZyAoQ0FTU0FORFJBLTM1MzYpCiAqIGZpbHRlciBvdXQgdW5hdmFpbGFibGUgY2lwaGVyIHN1aXRlcyB3aGVuIHVzaW5nIGVuY3J5cHRpb24gKENBU1NBTkRSQS0zMTc4KQogKiAoSEFET09QKSBhZGQgb2xkLXN0eWxlIGFwaSBzdXBwb3J0IGZvciBDRklGIGFuZCBDRlJSIChDQVNTQU5EUkEtMjc5OSkKICogU3VwcG9ydCBUaW1lVVVJRFR5cGUgY29sdW1uIG5hbWVzIGluIFN0cmVzcy5qYXZhIHRvb2wgKENBU1NBTkRSQS0zNTQxKQogKiAo8bWBtgAAAU/ePLJcABBlIGZpbGVzLXRvLWJlLXN0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9vAAABAGFrZSBGUk9aRU4gYW5kIFRVUExFIHVucmVzZXJ2ZWQga2V5d29yZHMgaW4gQ1FMIChDQVNTQU5EUkEtOTA0NykKICogUHJldmVudCBBc3NlcnRpb25FcnJvciBmcm9tIFNpemVFc3RpbWF0ZXNSZWNvcmRlciAoQ0FTU0FORFJBLTkwMzQpCiAqIEF2b2lkIG92ZXJ3cml0aW5nIGluZGV4IHN1bW1hcmllcyBmb3Igc3N0YWJsZXMgd2l0aCBhbiBvbGRlciBmb3JtYXQgdGhhdAogICBkb2VzIG5vdCBzdXBwb3J0IGRvd25zYW1wbGluZzsgcmVidWlsZCBzdW0eSudUAAABT948slwAEGUgYW5kIG1lbXRhYmxlIHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL28AAAEAICogc3RyZXNzOiBhZGQgdXNlcm5hbWUvcGFzc3dvcmQgYXV0aGVudGljYXRpb24gc3VwcG9ydCAoQ0FTU0FORFJBLTYwNjgpCiAqIEZpeCBpbmRleGVkIHF1ZXJpZXMgd2l0aCByb3cgY2FjaGUgZW5hYmxlZCBvbiBwYXJlbnQgdGFibGUgKENBU1NBTkRSQS01NzMyKQogKiBGaXggY29tcGFjdGlvbiByYWNlIGR1cmluZyBjb2x1bW5mYW1pbHkgZHJvcCAoQ0FTU0FORFJBLTU5NTcpCiAqIEZpeCB2YWxpZGF0aW9uIG9mIGVtcHR5IGNvbHVtbiBuYW1lcxtZqHMAAAFP3jyyXAAQaW9uIG9uIHdyaXRlIHBhdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvbwAAAQA3KQogKiBVc2UgTE9DQUxfUVVPUlVNIGZvciBkYXRhIHJlYWRzIGF0IExPQ0FMX1NFUklBTCAoQ0FTU0FORFJBLTY5MzkpCiAqIExvZyBhIHdhcm5pbmcgZm9yIGxhcmdlIGJhdGNoZXMgKENBU1NBTkRSQS02NDg3KQogKiBQdXQgbm9kZXMgaW4gaGliZXJuYXRlIHdoZW4gam9pbl9yaW5nIGlzIGZhbHNlIChDQVNTQU5EUkEtNjk2MSkKICogQXZvaWQgZWFybHkgbG9hZGluZyBvZiBub24tc3lzdGVtIGtleXNwYWNlcyBiZWZvcmUgY29tcGFjdGlvbi1sEm4aVwAAAU/ePLJcABAgc3RhdGVtZW50cycgY2xhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9vAAABAE1ha2UgY2FjaGUgc2VyaWFsaXplcnMgcGx1Z2dhYmxlIChDQVNTQU5EUkEtODA5NikKICogRml4IGlzc3VlcyB3aXRoIENPTlRBSU5TIChLRVkpIHF1ZXJpZXMgb24gc2Vjb25kYXJ5IGluZGV4ZXMKICAgKENBU1NBTkRSQS04MTQ3KQogKiBGaXggcmVhZC1yYXRlIHRyYWNraW5nIG9mIHNzdGFibGVzIGZvciBzb21lIHF1ZXJpZXMgKENBU1NBTkRSQS04MjM5KQogKiBGaXggZGVmYXVsdCB0aW1lc3RhbXAgaW4gUXVlcnlPcHRpb25zIChDQVNTQU5EUkF+xrvlAAABT948slwAEHRoIHNzdGFibGUgY29udGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL28AAAEAcyBpbiBub2RldG9vbCBpbmZvIChDQVNTQU5EUkEtNTczNSkKICogRml4IHBhdGhldGljIHBlcmZvcm1hbmNlIG9mIHJhbmdlIHRvbWJzdG9uZXMgKENBU1NBTkRSQS01Njc3KQogKiBGaXggcXVlcnlpbmcgd2l0aCBhbiBlbXB0eSAoaW1wb3NzaWJsZSkgcmFuZ2UgKENBU1NBTkRSQS01NTczKQogKiBjcWxzaDogaGFuZGxlIENVU1RPTSAyaSBpbiBERVNDUklCRSBvdXRwdXQgKENBU1NBTkRSQS01NzYwKQogKiBGaXggbWlub3IgYnVnIGluIFJhbmdlLpmdM3sAG0gfU9T1WQAAAU/ePLJcABBhdGEgZnJvbSBvbGQgc3N0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9xAAABAG5uZWN0aW9ucyB3aGVuIE1lc3NhZ2luZ1NlcnZpY2UgaXMgc3RvcHBlZCAoQ0FTU0FORFJBLTkyMzgpCiAqIEZpeCBzdHJlYW1pbmcgaGFuZyB3aGVuIHJldHJ5aW5nIChDQVNTQU5EUkEtOTEzMikKCgoyLjEuNQogKiBSZS1hZGQgZGVwcmVjYXRlZCBjb2xkX3JlYWRzX3RvX29taXQgcGFyYW0gZm9yIGJhY2t3YXJkcyBjb21wYXQgKENBU1NBTkRSQS05MjAzKQogKiBNYWtlIGFudGljb21wYWN0aW9uIHZpc2libGUgaW4gY29tcGFjdGlvbnN0YXRzIChnB7vSAAABT948slwAEFNTVGFibGVzIHdoZW4gc2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3EAAAEAYW5lciByZWN1cnNpdmUgKENBU1NBTkRSQS0xNTA5KQogKiBtaW4sIG1heCBjb21wYWN0aW9uIHRocmVzaG9sZCBhcmUgY29uZmlndXJhYmxlIGFuZCBwZXJzaXN0ZW50IAogICBwZXItQ29sdW1uRmFtaWx5IChDQVNTQU5EUkEtMTQ2OCkKICogZml4IHJlcGxheWluZyB0aGUgbGFzdCBtdXRhdGlvbiBpbiBhIGNvbW1pdGxvZyB1bm5lY2Vzc2FyaWx5IAogICAoQ0FTU0FORFJBLTE1MTIpCiAqIGludm9rZSBnZXREZWZhdWx0VW5jYXVnaHRFeGNlcHRpb01YGQIAAAFP3jyyXAAQIGJ1ZmZlcmVkIChDQVNTQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvcQAAAQBkcmVzcyByYXRoZXIgdGhhbiBSYW5nZQogICAoQ0FTU0FORFJBLTY2NjUpCiAqIEZpeCBjb21wYWN0aW9uX2hpc3RvcnkgdGltZXN0YW1wcyAoQ0FTU0FORFJBLTY3ODQpCiAqIENvbXBhcmUgc2NvcmVzIG9mIGZ1bGwgcmVwbGljYSBvcmRlcmluZyBpbiBERVMgKENBU1NBTkRSQS02NjgzKQogKiBmaXggQ01FIGluIFNlc3Npb25JbmZvIHVwZGF0ZVByb2dyZXNzIGFmZmVjdGluZyBuZXRzdGF0cyAoQ0FTU0FORFJBLTY1NzcpCiAqIEFsbG93IHJlcGFp7L3dWQAAAU/ePLJcABA0ODkzKQogKiAoQ1FMMykgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9xAAABADMpCiAgIC0gQUxURVIgQ09MVU1ORkFNSUxZIChDQVNTQU5EUkEtMTcwOSkKICAgLSBEUk9QIElOREVYIChDQVNTQU5EUkEtMjYxNykKICAgLSBhZGQgU0NIRU1BL1RBQkxFIGFzIGFsaWFzZXMgZm9yIEtTL0NGIChDQVNTQU5EUkEtMjc0MykKICAgLSBzZXJ2ZXIgaGFuZGxlcyB3YWl0LWZvci1zY2hlbWEtYWdyZWVtZW50IChDQVNTQU5EUkEtMjc1NikKICAgLSBrZXkgYWxpYXMgc3VwcG9ydCAoQ0FTU0FORFJBLTI0ODApCiAqIGFkZCBzdXBwb3J0IGZum1wQAAABT948slwAEGF0IGFyZSBnb2luZyB0byAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3EAAAEAICogUmVzdHJpY3QgV2luZG93cyB0byBwYXJhbGxlbCByZXBhaXJzIChDQVNTQU5EUkEtNjkwNykKICogKEhhZG9vcCkgQWxsb3cgbWFudWFsbHkgc3BlY2lmeWluZyBzdGFydC9lbmQgdG9rZW5zIGluIENGSUYgKENBU1NBTkRSQS02NDM2KQogKiBGaXggTlBFIGluIE1ldGVyZWRGbHVzaGVyIChDQVNTQU5EUkEtNjgyMCkKICogRml4IHJhY2UgcHJvY2Vzc2luZyByYW5nZSBzY2FuIHJlc3BvbnNlcyAoQ0FTU0FORFJBLTY4MjApCiAqIEFsbG93IGRlbMT6hnMAAAFP3jyyXAAQYW4gb2Zmc2V0LiAgKFRoaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvcQAAAQBvbXBhY3Rpb25zIGZvciByZXBhaXJlZC91bnJlcGFpcmVkIGluIHBhcmFsbGVsIChDQVNTQU5EUkEtODUxMCkKICogKGNxbHNoKSBGaXggY29tcHJlc3Npb24gb3B0aW9ucyBpbiBERVNDUklCRSBUQUJMRSBvdXRwdXQgd2hlbiBjb21wcmVzc2lvbgogICBpcyBkaXNhYmxlZCAoQ0FTU0FORFJBLTgyODgpCiAqIChjcWxzaCkgRml4IERFU0NSSUJFIG91dHB1dCBhZnRlciBrZXlzcGFjZXMgYXJlIGFsdGVyZWQgKENBU1NBTkRSQS03NjIzKQogKiBNYWtlg4uhaAAAAU/ePLJcABBORFJBLTI0NDIpCiAqIG1hAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9xAAABADcxKQogKiBFQUNIX1FVT1JVTSBpcyBvbmx5IHN1cHBvcnRlZCBmb3Igd3JpdGVzIChDQVNTQU5EUkEtMzI3MikKICogcmVwbGFjZSBjb21wYWN0aW9ubG9jayB1c2UgaW4gc2NoZW1hIG1pZ3JhdGlvbiBieSBjaGVja2luZyBDRlMuaXNWYWxpZAogICAoQ0FTU0FORFJBLTMxMTYpCiAqIHJlY29nbml6ZSB0aGF0ICJTRUxFQ1QgZmlyc3QgLi4uICoiIGlzbid0IHJlYWxseSAiU0VMRUNUICoiIChDQVNTQU5EUkEtMzQ0NSkKICogVXNlIGZhc3RlciBieXTDrm03AAABT948slwAEGlvbnMgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3EAAAEAIGNvbmZpZy1jb252ZXJ0ZXIgcHJvcGVybHkgaGFuZGxlcyBzbml0Y2hlcyBhbmQgZnJhbWVkIHN1cHBvcnQgCiAgIChDQVNTQU5EUkEtMTQyMCkKICogcmVtb3ZlIGtleXNwYWNlIGFyZ3VtZW50IGZyb20gbXVsdGlnZXRfY291bnQgKENBU1NBTkRSQS0xNDIyKQogKiBhbGxvdyBzcGVjaWZ5aW5nIGNhc3NhbmRyYS55YW1sIGxvY2F0aW9uIGFzIChsb2NhbCBvciByZW1vdGUpIFVSTAogICAoQ0FTU0FORFJBLTExMjYpCiAqIGZpeCB1c2luZyBEeW5hbbIB+ccAAAFP3jyyXAAQQ0FTU0FORFJBLTI0NzMpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvcQAAAQBtYXJ5IGludG8gbmV3IFNTVGFibGUgJ1N1bW1hcnknIGNvbXBvbmVudCAoQ0FTU0FORFJBLTIzOTIsIDQyODkpCiAqIEFkZCBzdXBwb3J0IGZvciByYW5nZSB0b21ic3RvbmVzIChDQVNTQU5EUkEtMzcwOCkKICogSW1wcm92ZSBNZXNzYWdpbmdTZXJ2aWNlIGVmZmljaWVuY3kgKENBU1NBTkRSQS0zNjE3KQogKiBBdm9pZCBJRCBjb25mbGljdHMgZnJvbSBjb25jdXJyZW50IHNjaGVtYSBjaGFuZ2VzIChDQVNTQU5EUkEtMzc5NCkKICogU2V0IHRocmlmt0/FdwAAAU/ePLJcABBTQU5EUkEtMzU1MSkKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9xAAABAHBhdGliaWxpdHkgZm9yIGNvbXBvc2l0ZSBjb21wYXJhdG9ycyBpbiBub24tY3FsMy1hd2FyZQogICBjbGllbnRzIChDQVNTQU5EUkEtNDA5MykKICogKGNxbDMpIEZpeCBvcmRlciBieSBmb3IgcmV2ZXJzZWQgcXVlcmllcyAoQ0FTU0FORFJBLTQxNjApCiAqIChjcWwzKSBBZGQgUmV2ZXJzZWRUeXBlIHN1cHBvcnQgKENBU1NBTkRSQS00MDA0KQogKiAoY3FsMykgQWRkIHRpbWV1dWlkIHR5cGUgKENBU1NBTkRSQS00MTk0KQogKiAoY3FsMykgTWlub3IE+65sAAABT948slwAEHR3ZWVuIGtleXNwYWNlcyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3EAAAEAU1NBTkRSQS0xNDE3LCAxNjA2LCAxNjQ3KQogKiBhZGQgU3RvcmFnZVNlcnZpY2UuZ2V0RHJhaW5Qcm9ncmVzcyAoQ0FTU0FORFJBLTE1ODgpCiAqIERpc2FsbG93IGJvb3RzdHJhcCB0byBhbiBpbi11c2UgdG9rZW4gKENBU1NBTkRSQS0xNTYxKQogKiBBbGxvdyBkeW5hbWljIHNlY29uZGFyeSBpbmRleCBjcmVhdGlvbiBhbmQgZGVzdHJ1Y3Rpb24gKENBU1NBTkRSQS0xNTMyKQogKiBsb2cgYXV0by1ndWVzc2VkIG1lbXRhYmxlIHRocmVzaG9sZHMgKFdbpdQAAAFP3jyyXAAQUERBVEUgdXBkYXRpbmcgUAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvcQAAAQBmbHVzaCBpbiByYW5nZSBzY2FucwogICAoQ0FTU0FORFJBLTE4MzcpCiAqIFJlYWRSZXNwb25zZVJlc29sdmVyIGNoZWNrIGRpZ2VzdHMgYWdhaW5zdCBlYWNoIG90aGVyIChDQVNTQU5EUkEtMTgzMCkKICogcmV0dXJuIEludmFsaWRSZXF1ZXN0IHdoZW4gcmVtb3ZlIG9mIHN1YmNvbHVtbiB3aXRob3V0IHN1cGVyY29sdW1uCiAgIGlzIHJlcXVlc3RlZCAoQ0FTU0FORFJBLTE4NjYpCiAqIGZsdXNoIGJlZm9yZSByZXBhaXIgKENBU1NBTkRSQS0xNzQ42J7cSQAAAU/ePLJcABAwOgogKiAoY3Fsc2gpIFdhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9xAAABAGN0aW9uIG5vdCByZW1vdmluZyBjb2x1bW5zIHdoZW4gYmZfZnBfcmF0aW8gaXMgMSAoQ0FTU0FORFJBLTUxODIpCiAqIGNsaTogV2FybiBhYm91dCBtaXNzaW5nIENRTDMgdGFibGVzIGluIHNjaGVtYSBkZXNjcmlwdGlvbnMgKENBU1NBTkRSQS01MzA5KQogKiBSZS1lbmFibGUgdW5rbm93biBvcHRpb24gaW4gcmVwbGljYXRpb24vY29tcGFjdGlvbiBzdHJhdGVnaWVzIG9wdGlvbiBmb3IKICAgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAoQ0FTU0FORFIlOQ2FAAABT948slwAECB0aW1lIHBhcnQgb2YgVGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3EAAAEAIGFsaWFzIGlzIGludm9sdmVkIChDQVNTQU5EUkEtMzcwMCkKICogZml4IENMSSBgc2hvdyBzY2hlbWFgIGNvbW1hbmQgaW5zZXJ0IG9mIGFuIGV4dHJhIGNvbW1hIGluCiAgIGNvbHVtbl9tZXRhZGF0YSAoQ0FTU0FORFJBLTM3MTQpCk1lcmdlZCBmcm9tIDAuODoKICogYXZvaWQgbG9nZ2luZyAoaGFybWxlc3MpIGV4Y2VwdGlvbiB3aGVuIEdDIHRha2VzIDwgMW1zIChDQVNTQU5EUkEtMzY1NikKICogcHJldmVudCBuZXcgbm9kZXMgZnJvbSB0aGlua6ilDRYAAAFP3jyyXAAQb2x1bW4gKENBU1NBTkRSQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvcQAAAQBBTkRSQS03NzA0KQogKiBBZGQgYW4gZXh0cmEgdmVyc2lvbiBjaGVjayB0byBNaWdyYXRpb25UYXNrIChDQVNTQU5EUkEtODQ2MikKICogRW5zdXJlIFNTVGFibGVXcml0ZXIgY2xlYW5zIHVwIHByb3Blcmx5IGFmdGVyIGZhaWx1cmUgKENBU1NBTkRSQS04NDk5KQogKiBJbmNyZWFzZSBiZiB0cnVlIHBvc2l0aXZlIGNvdW50IG9uIGtleSBjYWNoZSBoaXQgKENBU1NBTkRSQS04NTI1KQogKiBNb3ZlIE1ldGVyZWRGbHVzaGVyIHRvIGl0cyBvd24gdGhyh5r5NAAbSIZnffsNAAAAU9Mm31IAKAAGc3lzdGVtAAAVc2NoZW1hX2NvbHVtbmZhbWlsaWVzAAAEAAAACgAAAAABAVof8mes4D8ShWPPrmEDxl5VU2ZyAAUV99X5YQgAAAAAAAAAAFjIRDIAG1zj7q7Q7QAAAU/ePLJcABBBLTg1MDcpCiAqIChjcWxzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC91AAABAGlsaXR5IG9mIENMIHNlZ21lbnQgYXBwZWFyaW5nIHR3aWNlIGluIGFjdGl2ZSBsaXN0IAogICAoQ0FTU0FORFJBLTY1NTcpCiAqIEFwcGx5IERPTlRORUVEIGZhZHZpc2UgdG8gY29tbWl0bG9nIHNlZ21lbnRzIChDQVNTQU5EUkEtNjc1OSkKICogU3dpdGNoIENSQyBjb21wb25lbnQgdG8gQWRsZXIgYW5kIGluY2x1ZGUgaXQgZm9yIGNvbXByZXNzZWQgc3N0YWJsZXMgCiAgIChDQVNTQU5EUkEtNDE2NSkKICogQWxsb3cgY2Fzc2FuZHJhLXN0cmVzcyBX/MgzAAABT948slwAEHN0cmVhbXRocm91Z2hwdXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3UAAAEAIG1lc3NhZ2VzIGZvciBhbnkgSU9FeGNlcHRpb24gKENBU1NBTkRSQS01ODA0KQogKiBBbGxvdyBlbXB0eSBJTiByZWxhdGlvbnMgaW4gU0VMRUNUL1VQREFURS9ERUxFVEUgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTU2MjYpCiAqIGNxbHNoOiBmaXggY3Jhc2hpbmcgb24gV2luZG93cyBkdWUgdG8gbGliZWRpdCBkZXRlY3Rpb24gKENBU1NBTkRSQS01ODEyKQogKiBmaXggYnVsay1sb2FkaW5nIGNvbXByZXNzZWQgc3N0YWJsZXMgKENBU1NBTkRSQS01OD+EEqwAAAFP3jyyXAAQcmlmdCAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvdQAAAQAgY29sbGVjdGlvbnMgKENBU1NBTkRSQS02MTcyKQogKiBJbXByb3ZlIGdvc3NpcCBwZXJmb3JtYW5jZSBmb3IgdHlwaWNhbCBtZXNzYWdlcyAoQ0FTU0FORFJBLTY0MDkpCiAqIFRocm93IElSRSBpZiBhIHByZXBhcmVkIHN0YXRlbWVudCBoYXMgbW9yZSBtYXJrZXJzIHRoYW4gc3VwcG9ydGVkIAogICAoQ0FTU0FORFJBLTU1OTgpCiAqIEV4cG9zZSBUaHJlYWQgbWV0cmljcyBmb3IgdGhlIG5hdGl2ZSBwcm90b2NvbCBzZXJ2ZXIgKENBU1NBTkRSQS02eGtcDAAAAU/ePLJcABB1dCAoQ0FTU0FORFJBLTU3AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC91AAABAGZJZCBjb3VudGVyIGdvdCBvdXQgb2Ygc3luYyB3aGVuIENGcyB3ZXJlIGFkZGVkIChDQVNTQU5EUkEtMTQwMykKICogbGVzcyBjaGF0dHkgc2NoZW1hIHVwZGF0ZXMgKENBU1NBTkRSQS0xMzg5KQogKiByZW5hbWUgY29sdW1uIGZhbWlseSBtYmVhbnMuICd0eXBlJyB3aWxsIG5vdyBpbmNsdWRlIGVpdGhlciAKICAgJ0luZGV4Q29sdW1uRmFtaWxpZXMnIG9yICdDb2x1bW5GYW1pbGllcycgZGVwZW5kaW5nIG9uIHRoZSBDRlMgdHlwZS4KICAgKENBU1NB1iaAAAABT948slwAEHV0ZG93biBKVk0gb24gT08AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3UAAAEAcmVjb2duaXppbmcgdXBwZXJjYXNlIFNFTEVDVCBrZXl3b3JkIChDQVNTQU5EUkEtNDE2MSkKICogUGlnOiB3aWRlIHJvdyBzdXBwb3J0IChDQVNTQU5EUkEtMzkwOSkKTWVyZ2VkIGZyb20gMS4wOgogKiBhdm9pZCBzdHJlYW1pbmcgZW1wdHkgZmlsZXMgd2l0aCBidWxrIGxvYWRlciBpZiBzc3RhYmxld3JpdGVyIGVycm9ycyBvdXQKICAgKENBU1NBTkRSQS0zOTQ2KQoKCjEuMS1yYzEKICogSW5jbHVkZSBzdHJlc3MgdG9vbCBpbiBiaW5hcnkgYnVpbEqm53cAAAFP3jyyXAAQcmVqZWN0IGluZXF1YWxpdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvdQAAAQBhdGVkIHRvIHVuY2xlYW4gbmF0aXZlIHByb3RvY29sIGNsaWVudCBkaXNjb25uZWN0cwogICBhdCBERUJVRyBvciBJTkZPIChDQVNTQU5EUkEtNzg0OSkKICogQWxsb3cgcGVybWlzc2lvbnMgY2FjaGUgdG8gYmUgc2V0IHZpYSBKTVggKENBU1NBTkRSQS03Njk4KQogKiBJbmNsdWRlIHNjaGVtYV90cmlnZ2VycyBDRiBpbiByZWFkYWJsZSBzeXN0ZW0gcmVzb3VyY2VzIChDQVNTQU5EUkEtNzk2NykKICogRml4IFJvd0luZGV4RW50cnkgdG8gcmVwb3J0mjbgBAAAAU/ePLJcABBvdHN0cmFwL3JlcGxhY2UgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC91AAABAFJBLTQzNzcpCiAqIFJlcGxhY2UgVGhyb3R0bGUgd2l0aCBHdWF2YSdzIFJhdGVMaW1pdGVyIGZvciBIaW50ZWRIYW5kT2ZmIChDQVNTQU5EUkEtNDU0MSkKICogZml4IGNvdW50ZXIgYWRkL2dldCB1c2luZyBDUUwyIGFuZCBDUUwzIGluIHN0cmVzcyB0b29sIChDQVNTQU5EUkEtNDYzMykKICogQWRkIHNzdGFibGUgY291bnQgcGVyIGxldmVsIHRvIGNmc3RhdHMgKENBU1NBTkRSQS00NTM3KQogKiAoY3FsMykgQWRkIEFMVEVSIEtFWVNQQUNFIHN0YXRFbMAfAAABT948slwAECAoQ0FTU0FORFJBLTgyNTMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3UAAAEAdGhlIHN5c3RlbSB3YWxsIGNsb2NrIHRpbWUgYXQgc3RhcnR1cCAoQ0FTU0FORFJBLTgzMDUpCiAqIFN1cHBvcnQgZm9yIGZyb3plbiBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTc4NTkpCiAqIEZpeCBvdmVyZmxvdyBvbiBoaXN0b2dyYW0gY29tcHV0YXRpb24gKENBU1NBTkRSQS04MDI4KQogKiBIYXZlIHBheG9zIHJldXNlIHRoZSB0aW1lc3RhbXAgZ2VuZXJhdGlvbiBvZiBub3JtYWwgcXVlcmllcyAoQ0FTU0FORFJBLTc4MDEpCiAqIEZpeCBpbmNyZR+Vcj8AAAFP3jyyXAAQY2FzZSByZWNlaXZlZCBjbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvdQAAAQBheCBlcnJvcnMgKENBU1NBTkRSQS04NDU1KQogKiBTY2FsZSBtZW10YWJsZSBzbGFiIGFsbG9jYXRpb24gbG9nYXJpdGhtaWNhbGx5IChDQVNTQU5EUkEtNzg4MikKICogY2Fzc2FuZHJhLXN0cmVzcyBzaW11bHRhbmVvdXMgaW5zZXJ0cyBvdmVyIHNhbWUgc2VlZCAoQ0FTU0FORFJBLTc5NjQpCiAqIFJlZHVjZSBjYXNzYW5kcmEtc3RyZXNzIHNhbXBsaW5nIG1lbW9yeSByZXF1aXJlbWVudHMgKENBU1NBTkRSQS03OTI2KQogKiBFbnN1cmUgbWVtdGFiYT6bAAAAAU/ePLJcABBlcnMgdG8gZGF0YSB0aGF0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC91AAABACogKGNxbHNoKSBwYXJzZV9mb3JfdGFibGVfbWV0YSBlcnJvcnMgb3V0IG9uIHF1ZXJpZXMgd2l0aCB1bmRlZmluZWQKICAgZ3JhbW1hcnMgKENBU1NBTkRSQS04MjYyKQogKiAoY3Fsc2gpIEZpeCBTRUxFQ1QgLi4uIFRPS0VOKCkgZnVuY3Rpb24gYnJva2VuIGluIEMqIDIuMS4xIChDQVNTQU5EUkEtODI1OCkKICogRml4IENhc3NhbmRyYSBjcmFzaCB3aGVuIHJ1bm5pbmcgb24gSkRLOCB1cGRhdGUgNDAgKENBU1NBTkRSQS04MjA5KQogKiBPcHRpbWn0EdXlAAABT948slwAEENMLkVBQ0hfUVVPUk0gKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3UAAAEAUkEtNDY0MCkKICogdXBkYXRlIHN0cmVzcyB0b29sIHRvIGJlIGFibGUgdG8gdXNlIENRTDMgKENBU1NBTkRSQS00NDA2KQogKiBBY2NlcHQgYWxsIHRocmlmdCB1cGRhdGUgb24gQ1FMMyBjZiBidXQgZG9uJ3QgZXhwb3NlIHRoZWlyIG1ldGFkYXRhIChDQVNTQU5EUkEtNDM3NykKICogUmVwbGFjZSBUaHJvdHRsZSB3aXRoIEd1YXZhJ3MgUmF0ZUxpbWl0ZXIgZm9yIEhpbnRlZEhhbmRPZmYgKENBU1NBTkRSQS00NTQxKQogKiBmaXggY291bnRlciBhZO5IKBoAAAFP3jyyXAAQIHRvIERlYmlhbiBpbml0IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvdQAAAQAuMi41IHNzdGFibGVzIGFuZCBuZXR3b3JrIG1lc3NhZ2VzCiAgIChDQVNTQU5EUkEtNTUxMSkKICogcmVtb3ZlZCBQQlNQcmVkaWN0b3IgKENBU1NBTkRSQS01NDU1KQogKiBDQVMgc3VwcG9ydCAoQ0FTU0FORFJBLTUwNjIsIDU0NDEsIDU0NDIsIDU0NDMsIDU2MTksIDU2NjcpCiAqIExldmVsZWQgY29tcGFjdGlvbiBwZXJmb3JtcyBzaXplLXRpZXJlZCBjb21wYWN0aW9ucyBpbiBMMCAKICAgKENBU1NBTkRSQS01MzcxLCA1NDM5KQogKiBBZGQgeWFtx+B5PgAAAU/ePLJcABBwc2UgKENBU1NBTkRSQS0yAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC91AAABAGxzaDogYWRkIFNIT1cgU0VTU0lPTiA8dHJhY2luZy1zZXNzaW9uPiBjb21tYW5kIChDQVNTQU5EUkEtNjIyOCkKTWVyZ2VkIGZyb20gMS4yOgogKiAoSGFkb29wKSBSZXF1aXJlIENGUlIgYmF0Y2hTaXplIHRvIGJlIGF0IGxlYXN0IDIgKENBU1NBTkRSQS02MTE0KQogKiBBZGQgYSB3YXJuaW5nIGZvciBzbWFsbCBMQ1Mgc3N0YWJsZSBzaXplIChDQVNTQU5EUkEtNjE5MSkKICogQWRkIGFiaWxpdHkgdG8gbGlzdCBzcGVjaWZpYyBLUy9DRiBjb21iaW4HeHu4AAABT948slwAEDQ5MDYpCiAqIE1vdmUgQ28AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3UAAAEAQVNTQU5EUkEtMTU0NykKICogRGlzYWxsb3cgYm9vdHN0cmFwIHRvIGFuIGluLXVzZSB0b2tlbiAoQ0FTU0FORFJBLTE1NjEpCgoKMC43LWJldGExCiAqIHNzdGFibGUgdmVyc2lvbmluZyAoQ0FTU0FORFJBLTM4OSkKICogc3dpdGNoZWQgdG8gc2xmNGogbG9nZ2luZyAoQ0FTU0FORFJBLTYyNSkKICogYWRkIChvcHRpb25hbCkgZXhwaXJhdGlvbiB0aW1lIGZvciBjb2x1bW4gKENBU1NBTkRSQS02OTkpCiAqIGFjY2VzcyBsZXZlbHMgZm9yIGF1dGhlbuihOjQAAAFP3jyyXAAQNTE2KQoKCjAuNy40CiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvdQAAAQBDQVNTQU5EUkEtNTE1MykKICogRml4IHRocmVhZCBncm93dGggb24gbm9kZSByZW1vdmFsIChDQVNTQU5EUkEtNTE3NSkKICogTWFrZSBFYzJSZWdpb24ncyBkYXRhY2VudGVyIG5hbWUgY29uZmlndXJhYmxlIChDQVNTQU5EUkEtNTE1NSkKCgoxLjIuMAogKiBEaXNhbGxvdyBjb3VudGVycyBpbiBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTUwODIpCiAqIGNxbHNoOiBhZGQgdW5pdCB0ZXN0cyAoQ0FTU0FORFJBLTM5MjApCiAqIGZpeCBkZWZhdWx0IGJsNRqa6QAbcUD92JJvAAABT948slwAEHNoIHJhY2VzIHdpdGggc2MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3cAAAEAbyBVRSBjYW4gYmUgdGhyb3duIGludGVhZCBvZiB0aW1pbmcgb3V0IChDQVNTQU5EUkEtMjUxNCkKICogZml4IHVwZGF0ZSBvZiB2YWxpZGF0aW9uIGNsYXNzIGluIGNvbHVtbiBtZXRhZGF0YSAoQ0FTU0FORFJBLTI1MTIpCiAqIHN1cHBvcnQgTE9DQUxfUVVPUlVNLCBFQUNIX1FVT1JVTSBDTHMgb3V0c2lkZSBvZiBOVFMgKENBU1NBTkRSQS0yNTE2KQogKiBwcmVzZXJ2ZSB2ZXJzaW9uIHdoZW4gc3RyZWFtaW5nIGRhdGEgZnJvbSBvbGQgc3N0YWJsZVsOjXQAAAFP3jyyXAAQbmcgd3JpdGVyIChDQVNTQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvdwAAAQBlbnRpYWwgZGVhZGxvY2sgZHVyaW5nIGNvdW50ZXIgd3JpdGVzIChDQVNTQU5EUkEtNDU3OCkKICogRml4IGNxbCBlcnJvciB3aXRoIE9SREVSIEJZIHdoZW4gdXNpbmcgSU4gKENBU1NBTkRSQS00NjEyKQpNZXJnZWQgZnJvbSAxLjA6CiAqIGluY3JlYXNlIFhzcyB0byAxNjBrIHRvIGFjY29tb2RhdGUgbGF0ZXN0IDEuNiBKVk1zIChDQVNTQU5EUkEtNDYwMikKICogZml4IHRvU3RyaW5nIG9mIGhpbnQgZGVzdGluYXRpb24gdG9rZW5zIChDQVNTQU5EkB30LQAAAU/ePLJcABBpb24gaW4gbm9kZXRvb2wgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC93AAABACAoQ0FTU0FORFJBLTQyNTApCiAqIChjcWwzKSBBZGQgbmFtZSBvZiBwYXJhbWV0ZXJzIGluIENxbFJlc3VsdFNldCAoQ0FTU0FORFJBLTQyNDIpCiAqIChjcWwzKSBDb3JyZWN0bHkgdmFsaWRhdGUgb3JkZXIgYnkgcXVlcmllcyAoQ0FTU0FORFJBLTQyNDYpCiAqIHJlbmFtZSBzdHJlc3MgdG8gY2Fzc2FuZHJhLXN0cmVzcyBmb3Igc2FuZXIgcGFja2FnaW5nIChDQVNTQU5EUkEtNDI1NikKICogRml4IGV4Y2VwdGlvbiBvbiBjb2x1bSBtZXRhZGF0YSCvTUqWAAABT948slwAEG9mIEFic3RyYWN0VHlwZSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3cAAAEAKiByZXNwZWN0IG5vdCBvbmx5IHJvdyBjYWNoZSBjYXBhY2l0eSBidXQgY2FjaGluZyBtb2RlIHdoZW4KICAgdHJ5aW5nIHRvIHJlYWQgZGF0YSAoQ0FTU0FORFJBLTM4MTIpCiAqIGZpeCBzeXN0ZW0gdGVzdHMgKENBU1NBTkRSQS0zODI3KQogKiBDUUwgc3VwcG9ydCBmb3IgYWx0ZXJpbmcgcm93IGtleSB0eXBlIGluIEFMVEVSIFRBQkxFIChDQVNTQU5EUkEtMzc4MSkKICogdHVybiBjb21wcmVzc2lvbiBvbiBieSBkZWZhdWx0IChDQVNTQU5EUkEtM2j7Q3EAAAFP3jyyXAAQYnVpbGQueG1sIChDQVNTQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvdwAAAQBBTkRSQS03MjY0KQogKiBDcWxzaCBjb3VudHMgbm9uLWVtcHR5IGxpbmVzIGZvciAiQmxhbmsgbGluZXMiIHdhcm5pbmcgKENBU1NBTkRSQS03MzI1KQpNZXJnZWQgZnJvbSAxLjI6CiAqIEFkZCBDbG91ZHN0YWNrIHNuaXRjaCAoQ0FTU0FORFJBLTcxNDcpCiAqIFVwZGF0ZSBzeXN0ZW0ucGVlcnMgY29ycmVjdGx5IHdoZW4gcmVsb2NhdGluZyB0b2tlbnMgKENBU1NBTkRSQS03MTI2KQogKiBBZGQgR29vZ2xlIENvbXB1dGUgRW5naW5lIHNuaXRjaCAoJwLzowAAAU/ePLJcABBDTFVTVEVSSU5HIE9SREVSAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC93AAABACBub2RlcyA+PSAxLjEuNyAoQ0FTU0FORFJBLTUxMDIpCiAqIEVuc3VyZSBDTCBndWFyYW50ZWVzIG9uIGRpZ2VzdCBtaXNtYXRjaCAoQ0FTU0FORFJBLTUxMTMpCiAqIFZhbGlkYXRlIGNvcnJlY3RseSBzZWxlY3RzIG9uIGNvbXBvc2l0ZSBwYXJ0aXRpb24ga2V5IChDQVNTQU5EUkEtNTEyMikKICogRml4IGV4Y2VwdGlvbiB3aGVuIGFkZGluZyBjb2xsZWN0aW9uIChDQVNTQU5EUkEtNTExNykKICogSGFuZGxlIHN0YXRlcyBmb3Igbm9uLXZub2RlIGOyPlmfAAABT948slwAEHVtbiBtZXRhZGF0YSAoQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3cAAAEAbmcgdGhlIGNvbXBhY3Rpb24gc3RyYXRlZ3kgc2FmZSAoQ0FTU0FORFJBLTM0MDkpCiAqIGlnbm9yZSAwLjggaGludHMgZXZlbiBpZiBjb21wYWN0aW9uIGJlZ2lucyBiZWZvcmUgd2UgdHJ5IHRvIHB1cmdlCiAgIHRoZW0gKENBU1NBTkRSQS0zMzg1KQogKiByZW1vdmUgcHJvY3J1biAoYmluXGRhZW1vbikgZnJvbSBDYXNzYW5kcmEgc291cmNlIHRyZWUgYW5kIAogICBhcnRpZmFjdHMgKENBU1NBTkRSQS0zMzMxKQogKiBtYWtlIGNhc3NhbmRyYSBjbys2ebkAAAFP3jyyXAAQdCAoQ0FTU0FORFJBLTkyMAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvdwAAAQBlYWtpbmcgdmFsaWRhdG9yIEZIIGluIFN0cmVhbVdyaXRlciAoQ0FTU0FORFJBLTY4MzIpCiAqIEZpeCBzYXZpbmcgdHJpZ2dlcnMgdG8gc2NoZW1hIChDQVNTQU5EUkEtNjc4OSkKICogRml4IHRyaWdnZXIgbXV0YXRpb25zIHdoZW4gYmFzZSBtdXRhdGlvbiBsaXN0IGlzIGltbXV0YWJsZSAoQ0FTU0FORFJBLTY3OTApCiAqIEZpeCBhY2NvdW50aW5nIGluIEZpbGVDYWNoZVNlcnZpY2UgdG8gYWxsb3cgcmUtdXNpbmcgUkFSIChDQVNTQU5EUkEtNjgzGKrrjQAAAU/ePLJcABAgYWxsIHJlcGxpY2EgKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC93AAABADkpCiAqIHJlbW92ZSB0aGUgcmVtYWluaW5nIHZlc3RpZ2VzIG9mIHRoZSB1bmZpbmlzaGVkIERhdGFjZW50ZXJTaGFyZFN0cmF0ZWd5IAogICAocmVwbGFjZWQgYnkgTmV0d29ya1RvcG9sb2d5U3RyYXRlZ3kgaW4gMC43KQogICAKCjAuNi41CiAqIGZpeCBrZXkgb3JkZXJpbmcgaW4gcmFuZ2UgcXVlcnkgcmVzdWx0cyB3aXRoIFJhbmRvbVBhcnRpdGlvbmVyCiAgIGFuZCBDb25zaXN0ZW5jeUxldmVsID4gT05FIChDQVNTQU5EUkEtMTE0NSkKICogZmmXQgzRAAABT948slwAEE5EUkEtNDg0KQogKiBGaXgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3cAAAEAbiByZXN1bHRzIG92ZXIgYWxsIGRhdGEgZGlyZWN0b3JpZXMgKENBU1NBTkRSQS04MzI5KQogKiBGaXggc29tZSBmYWlsaW5nIHF1ZXJpZXMgdGhhdCB1c2UgbXVsdGktY29sdW1uIHJlbGF0aW9ucwogICBvbiBDT01QQUNUIFNUT1JBR0UgdGFibGVzIChDQVNTQU5EUkEtODI2NCkKICogRml4IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpdGggT1JERVIgQlkgKENBU1NBTkRSQS04Mjg2KQogKiBEaXNhYmxlIFNTTHYzIGZvciBQT09ETEUgKENBU1NBTt/1BEIAAAFP3jyyXAAQZXlzIGZyb20gdGhlIG1vcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvdwAAAQB5IChDQVNTQU5EUkEtMTQ2OCkKICogZml4IHJlcGxheWluZyB0aGUgbGFzdCBtdXRhdGlvbiBpbiBhIGNvbW1pdGxvZyB1bm5lY2Vzc2FyaWx5IAogICAoQ0FTU0FORFJBLTE1MTIpCiAqIGludm9rZSBnZXREZWZhdWx0VW5jYXVnaHRFeGNlcHRpb25IYW5kbGVyIGZyb20gRFRQRSB3aXRoIHRoZSBvcmlnaW5hbAogICBleGNlcHRpb24gcmF0aGVyIHRoYW4gdGhlIEV4ZWN1dGlvbkV4Y2VwdGlvbiB3cmFwcGVyIChDQVNTQU5EUkEtMTIyNikKICogcmVtqQrxqwAAAU/ePLJcABBSQS01ODA1KQogKiBEQy1sAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC93AAABACBTbGljZVByZWRpY2F0ZXMKICAgKENBU1NBTkRSQS02NDMpCiAqIGZpeCBidWcgZGV0ZXJtaW5pbmcgY2xvc2VzdCBuZWlnaGJvciBmb3IgdXNlIGluIG11bHRpcGxlIGRhdGFjZW50ZXJzCiAgIChDQVNTQU5EUkEtNjQ4KQogKiBWYXN0IGltcHJvdmVtZW50cyBpbiBhbnRpY29tcGFjdGlvbiBzcGVlZCAoQ0FTU0FORFJBLTYwNykKICogU3BlZWQgdXAgbG9nIHJlcGxheSBhbmQgd3JpdGVzIGJ5IGF2b2lkaW5nIHJlZHVuZGFudCBzZXJpYWxpemF0aW9zsrEdAAABT948slwAECBhdXRvYm9vdHN0cmFwIG8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3cAAAEAQ0FTU0FORFJBLTEzODYsIDEzOTMpCiAqIGZpeCBzZXR0aW5nIHJlYWRfcmVwYWlyX2NoYW5jZSBmcm9tIENMSSBhZGRDb2x1bW5GYW1pbHkgKENBU1NBTkRSQS0xMzk5KQogKiBmaXggdXBkYXRlcyB0byBpbmRleGVkIGNvbHVtbnMgKENBU1NBTkRSQS0xMzczKQogKiBmaXggcmFjZSBjb25kaXRpb24gbGVhdmluZyB0byBGaWxlTm90Rm91bmRFeGNlcHRpb24gKENBU1NBTkRSQS0xMzgyKQogKiBmaXggc2hhcmRlZCBsb2NrIGhhc2ggb24gaW5kZXggd0hKocgAAAFP3jyyXAAQb25maWcgY2hhbmdlcyBiZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvdwAAAQBzIChDQVNTQU5EUkEtMjQ5OCkKICogQWRkIHF1ZXJ5LWJ5LWNvbHVtbiBtb2RlIHRvIHN0cmVzcy5qYXZhIChDQVNTQU5EUkEtMzA2NCkKICogQWRkICJpbnN0YWxsIiBjb21tYW5kIHRvIGNhc3NhbmRyYS5iYXQgKENBU1NBTkRSQS0yOTIpCiAqIGNsZWFuIHVwIEtTTWV0YWRhdGEsIENGTWV0YWRhdGEgZnJvbSB1bm5lY2Vzc2FyeQogICBUaHJpZnQ8LT5BdnJvIGNvbnZlcnNpb24gbWV0aG9kcyAoQ0FTU0FORFJBLTMwMzIpCiAqIEFkZCB0aW1lb3V05s8NbAAAAU/ePLJcABBTQU5EUkEtMzU0NykKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC93AAABAFNTQU5EUkEtMjcxNSkKICogYXZvaWQgbWFya2luZyBlbnRpcmUgbGlzdCBvZiBzc3RhYmxlcyBhcyBhY3RpdmVseSBiZWluZyBjb21wYWN0ZWQKICAgaW4gbXVsdGl0aHJlYWRlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtMjc2NSkKICogc2VlayBiYWNrIGFmdGVyIGRlc2VyaWFsaXppbmcgYSByb3cgdG8gdXBkYXRlIGNhY2hlIHdpdGggKENBU1NBTkRSQS0yNzUyKQogKiBhdm9pZCBza2lwcGluZyByb3dzIGluIHNjcnViIGZvciBjb3VudGVyIGNvbHW29fBLABuF95ItOtIAAAFP3jyyXAAQYWRkIHJlYWQgcmVwYWlyIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgveQAAAQB0byBnZXRfa2V5X3JhbmdlLgogICAgLSBDaGFuZ2Ugc2lnbmF0dXJlIG9mIGdldF9zbGljZSB0byBhY2NlcHQgc3RhcnRpbmcgYW5kIGVuZGluZwogICAgICBjb2x1bW5zIGFzIHdlbGwgYXMgYW4gb2Zmc2V0LiAgKFRoaXMgYWxsb3dzIHVzZSBvZiBpbmRleGVzLikKICAgICAgQWRkZWQgImFzY2VuZGluZyIgZmxhZyB0byBhbGxvdyByZWFzb25hYmx5LWVmZmljaWVudCByZXZlcnNlCiAgICAgIHNjYW5zIGFzIHdlbGwuICBSZW1vdmVkIGdldF9zbGljWwgOSwAAAU/ePLJcABAgYXQgQ0w9MSAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC95AAABAGFyaWx5IG1pc3Npbmcgc2NoZW1hIGFmdGVyIHVwZ3JhZGUgZnJvbSBwcmUtMS4xLjUgKENBU1NBTkRSQS01MDYxKQogKiBGaXggQUxURVIgVEFCTEUgb3ZlcnJpZGluZyBjb21wcmVzc2lvbiBvcHRpb25zIHdpdGggZGVmYXVsdHMKICAgKENBU1NBTkRSQS00OTk2LCA1MDY2KQogKiBmaXggc3BlY2lmeWluZyBhbmQgYWx0ZXJpbmcgY3JjX2NoZWNrX2NoYW5jZSAoQ0FTU0FORFJBLTUwNTMpCiAqIGZpeCBNdXJtdXIzUGFydGl0aW9uZXIgb3duZXJzaGnSG5s2AAABT948slwAEGlua1dpdGhFeGVjKCkgdG8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3kAAAEARml4IGhlYXAgc2l6ZSBjYWxjdWxhdGlvbiBmb3IgQ29tcG91bmRTcGFyc2VDZWxsTmFtZSBhbmQgCiAgIENvbXBvdW5kU3BhcnNlQ2VsbE5hbWUuV2l0aENvbGxlY3Rpb24gKENBU1NBTkRSQS03NDIxKQogKiBBbGxvdyBjb3VudGVyIG11dGF0aW9ucyBpbiBVTkxPR0dFRCBiYXRjaGVzIChDQVNTQU5EUkEtNzM1MSkKICogTW9kaWZ5IHJlY29uY2lsZSBsb2dpYyB0byBhbHdheXMgcGljayBhIHRvbWJzdG9uZSBvdmVyIGEgY291bnRlciBjZWxsCiAgIO/rOSAAAAFP3jyyXAAQIHRvIGRyb3AgdGhlIHN5cwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgveQAAAQA3NSkKICogRml4IG1lbW9yeSBsZWFrIGluIFNTVGFibGVTaW1wbGUqV3JpdGVyIGFuZCBTU1RhYmxlUmVhZGVyLnZhbGlkYXRlKCkKICAgKENBU1NBTkRSQS04NzQ4KQogKiBUaHJvdyBPT00gaWYgYWxsb2NhdGluZyBtZW1vcnkgZmFpbHMgdG8gcmV0dXJuIGEgdmFsaWQgcG9pbnRlciAoQ0FTU0FORFJBLTg3MjYpCiAqIEZpeCBTU1RhYmxlU2ltcGxlVW5zb3J0ZWRXcml0ZXIgQ29uY3VycmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlvbiAoQ0FTU0FORFJBJYsytwAAAU/ePLJcABAgQ29tbWl0TG9nU2VnbWVuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC95AAABAGl0aCBMSU1JVHMgb3IgcGFnaW5nIHdoZW4gc29tZSBwYXJ0aXRpb25zCiAgIGNvbnRhaW4gb25seSB0b21ic3RvbmVzIChDQVNTQU5EUkEtODQ5MCkKICogSW50cm9kdWNlIGJhY2tncm91bmQgY2FjaGUgcmVmcmVzaGluZyB0byBwZXJtaXNzaW9ucyBjYWNoZQogICAoQ0FTU0FORFJBLTgxOTQpCiAqIEZpeCByYWNlIGNvbmRpdGlvbiBpbiBTdHJlYW1UcmFuc2ZlclRhc2sgdGhhdCBjb3VsZCBsZWFkIHRvCiAgIGluZmluaXRlIGxvb3BzIGFuZCBwcmX7ck3tAAABT948slwAEHJlcGFpciBhbGwgcmVwbGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3kAAAEAQ0FTU0FORFJBLTMwMDYpCiAqIGlnbm9yZSBzYXZlZCByZXBsaWNhdGlvbl9mYWN0b3Igc3RyYXRlZ3lfb3B0aW9uIGZvciBOVFMgKENBU1NBTkRSQS0zMDExKQogKiBtYWtlIHN1cmUgcHJlLXRydW5jYXRlIENMIHNlZ21lbnRzIGFyZSBkaXNjYXJkZWQgKENBU1NBTkRSQS0yOTUwKQoKCjAuOC4zCiAqIGFkZCBhYmlsaXR5IHRvIGRyb3AgbG9jYWwgcmVhZHMvd3JpdGVzIHRoYXQgYXJlIGdvaW5nIHRvIHRpbWVvdXQKICAgKENBU1NBTkRSQS0yOTQzKQn4zlsAAAFP3jyyXAAQIHJhbmdlIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgveQAAAQBybmVkIHdoZW4gaW4gY2xhdXNlIGhhcyByZXBlYXRlZCB2YWx1ZXMgKENBU1NBTkRSQS02NzA2KQogKiBBZGQgdG9vbGluZyB0byBkZXRlY3QgaG90IHBhcnRpdGlvbnMgKENBU1NBTkRSQS03OTc0KQogKiBGaXggY2Fzc2FuZHJhLXN0cmVzcyB1c2VyLW1vZGUgdHJ1bmNhdGlvbiBvZiBwYXJ0aXRpb24gZ2VuZXJhdGlvbiAoQ0FTU0FORFJBLTg2MDgpCiAqIE9ubHkgc3RyZWFtIGZyb20gdW5yZXBhaXJlZCBzc3RhYmxlcyBkdXJpbmcgaW5jIHJlcGFpfNhGIwAAAU/ePLJcABBuIEwxIHdoZW4gTDAgY29uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC95AAABAHkgKENBU1NBTkRSQS03NjUwKQogKiBVcGRhdGUgamF2YSBkcml2ZXIgKGZvciBoYWRvb3ApIChDQVNTQU5EUkEtNzYxOCkKICogUmVtb3ZlIENxbFBhZ2luZ1JlY29yZFJlYWRlci9DcWxQYWdpbmdJbnB1dEZvcm1hdCAoQ0FTU0FORFJBLTc1NzApCiAqIFN1cHBvcnQgY29ubmVjdGluZyB0byBpcHY2IGpteCB3aXRoIG5vZGV0b29sIChDQVNTQU5EUkEtNzY2OSkKCgoyLjEuMC1yYzUKICogUmVqZWN0IGNvdW50ZXJzIGluc2lkZSB1c2VyIHR5cGVzICjjR6asAAABT948slwAEG9yIENPTlRBSU5TIChLRVkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3kAAAEAaXggZGVsZXRpbmcgZnJvbSBhbiBlbXB0eSBsaXN0IChDQVNTQU5EUkEtOTE5OCkKICogVXBkYXRlIHR1cGxlIGFuZCBjb2xsZWN0aW9uIHR5cGVzIHRoYXQgdXNlIGEgdXNlci1kZWZpbmVkIHR5cGUgd2hlbiB0aGF0IFVEVAogICBpcyBtb2RpZmllZCAoQ0FTU0FORFJBLTkxNDgsIENBU1NBTkRSQS05MTkyKQogKiBVc2UgaGlnaGVyIHRpbWVvdXQgZm9yIHByZXBhaXIgYW5kIHNuYXBzaG90IGluIHJlcGFpciAoQ0FTU0FORFJBLTkyNjEpCiAqIEZpeIWg3JoAAAFP3jyyXAAQTFNIIHdpdGggZXJyb3IgcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgveQAAAQApIGZpeCBzdXBwb3J0IGZvciBUaHJpZnQgdGFibGVzIGluIENxbFBhZ2luZ1JlY29yZFJlYWRlciAKICAgKENBU1NBTkRSQS01NzUyKQogKiBhZGQgImFsbCB0aW1lIGJsb2NrZWQiIHRvIFN0YXR1c0xvZ2dlciBvdXRwdXQgKENBU1NBTkRSQS01ODI1KQogKiBGdXR1cmUtcHJvb2YgaW50ZXItbWFqb3ItdmVyc2lvbiBzY2hlbWEgbWlncmF0aW9ucyAoQ0FTU0FORFJBLTU4NDUpCiAqIChIYWRvb3ApIGFkZCBDcWxQYWdpbmdSZWNvcmRSZWFkZXIgc3VwypQPkgAAAU/ePLJcABB0ZWQgY29udGFpbmVyIGV2AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC95AAABAEEtMjQzNSkKICogZGlzcGxheSB2YWxpZGF0aW9uX2NsYXNzIGluIENMSSAnZGVzY3JpYmUga2V5c3BhY2UnIChDQVNTQU5EUkEtMjQ0MikKICogbWFrZSBjbGVhbnVwIGNvbXBhY3Rpb25zIGNsZWFudXAgdGhlIHJvdyBjYWNoZSAoQ0FTU0FORFJBLTI0NTEpCiAqIGFkZCBjb2x1bW4gZmllbGRzIHZhbGlkYXRpb24gdG8gc2NydWIgKENBU1NBTkRSQS0yNDYwKQogKiB1c2UgNjRLQiBmbHVzaCBidWZmZXIgaW5zdGVhZCBvZiBpbl9tZW1vcnlfY29tcGHn7QwcAAABT948slwAEGRlciB2ZXJzaW9ucyAoQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3kAAAEAYmxlIGlzIHF1ZXJpZWQgYmVmb3JlIHRoZSBzY2hlbWEgaGFzIGZ1bGx5CiAgIHByb3BhZ2F0ZWQgKENBU1NBTkRSQS05MTM2KQogKiBPdmVybG9hZCBTZWNvbmRhcnlJbmRleCNpbmRleGVzIHRvIGFjY2VwdCB0aGUgY29sdW1uIGRlZmluaXRpb24gKENBU1NBTkRSQS05MzE0KQogKiAoY3Fsc2gpIEFkZCBTRVJJQUwgYW5kIExPQ0FMX1NFUklBTCBjb25zaXN0ZW5jeSBsZXZlbHMgKENBU1NBTkRSQS04MDUxKQogKiBGaXggaW5kZXggc2VsZWN0aW9uIPyUsjEAAAFP3jyyXAAQYmF0Y2hsb2cgcmVwbGF5IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvegAAAQB6ZXJvIGluIEhIT00gKENBU1NBTkRSQS01OTkwKQogKiBBbGxvdyBsb2NhbCBiYXRjaGxvZyB3cml0ZXMgZm9yIENMLkFOWSAoQ0FTU0FORFJBLTU5NjcpCiAqIFVwZ3JhZGUgbWV0cmljcy1jb3JlIHRvIHZlcnNpb24gMi4yLjAgKENBU1NBTkRSQS01OTQ3KQogKiBGaXggQ3FsUmVjb3JkV3JpdGVyIHdpdGggY29tcG9zaXRlIGtleXMgKENBU1NBTkRSQS01OTQ5KQogKiBBZGQgc25pdGNoLCBzY2hlbWEgdmVyc2lvbiwgY2x1c3RlciwgcGFydGl0aW9us4DYVgAAAU/ePLJcABBhZ2UgKENBU1NBTkRSQS0xAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC96AAABAFNTQU5EUkEtMzAzMikKICogQWRkIHRpbWVvdXRzIHRvIGNsaWVudCByZXF1ZXN0IHNjaGVkdWxlcnMgKENBU1NBTkRSQS0zMDc5LCAzMDk2KQogKiBDbGkgdG8gdXNlIGhhc2hlcyByYXRoZXIgdGhhbiBhcnJheSBvZiBoYXNoZXMgZm9yIHN0cmF0ZWd5IG9wdGlvbnMgKENBU1NBTkRSQS0zMDgxKQogKiBMZXZlbGVkQ29tcGFjdGlvblN0cmF0ZWd5IChDQVNTQU5EUkEtMTYwOCwgMzA4NSwgMzExMCwgMzA4NywgMzE0NSwgMzE1NCwgMzE4MikKICogSW0DryI4AAABT948slwAEDc0OSkKICogZml4IHNzdGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3oAAAEAIG11dGF0aW9ucyBpbiBUcmlnZ2VyRXhlY3V0b3IjZXhlY3V0ZSgpIChDQVNTQU5EUkEtNzA0NykKICogUGx1ZyBob2xlcyBpbiByZXNvdXJjZSByZWxlYXNlIHdoZW4gd2lyaW5nIHVwIFN0cmVhbVNlc3Npb24gKENBU1NBTkRSQS03MDczKQogKiBSZS1hZGQgcGFyYW1ldGVyIGNvbHVtbnMgdG8gdHJhY2luZyBzZXNzaW9uIChDQVNTQU5EUkEtNjk0MikKICogUHJlc2VydmVzIENRTCBtZXRhZGF0YSB3aGVuIHVwZGF0aW5nIHRhYmxlIGZyb20gdGhyae1tC5UAAABOsCCziwAjAAZzeXN0ZW0AABBzY2hlbWFfa2V5c3BhY2VzAAAEAAAACgAAAAABAVof8mes4D8ShWPPrmEDxl5VU2ZyAAUV99X5dJAAAAAAAAAAAEqZLdIAG5pUt/g4RAAAAU/ePLJcABB1bmUgaW5kZXggc2NhbiByAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC98AAABACBvbGRlciBTU1RhYmxlIHlpZWxkcyB1bm5lY2Vzc2FyeSB0b21ic3RvbmVzIChDQVNTQU5EUkEtNjUyNykKTWVyZ2VkIGZyb20gMS4yOgogKiBJbXByb3ZlZCBlcnJvciBtZXNzYWdlIG9uIGJhZCBwcm9wZXJ0aWVzIGluIERETCBxdWVyaWVzIChDQVNTQU5EUkEtNjQ1MykKICogUmFuZG9taXplIGJhdGNobG9nIGNhbmRpZGF0ZXMgc2VsZWN0aW9uIChDQVNTQU5EUkEtNjQ4MSkKICogRml4IHRodW5kZXJpbmcgaGVyZCBvbiBlbmRwb2ludCBjYWNoZSAhWD64AAABT948slwAECAoQ0FTU0FORFJBLTUxNTkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3wAAAEAcGxpY2F0aW9uX2ZhY3RvciBpbnRvIHN0cmF0ZWd5X29wdGlvbnMgKENBU1NBTkRSQS0xMjYzKQogKiBnaXZlIHNuYXBzaG90cyB0aGUgc2FtZSBuYW1lIG9uIGVhY2ggbm9kZSAoQ0FTU0FORFJBLTE3OTEpCiAqIHJlbW92ZSAibm9kZXRvb2wgbG9hZGJhbGFuY2UiIChDQVNTQU5EUkEtMjQ0OCkKICogbXVsdGl0aHJlYWRlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtMjE5MSkKICogY29tcGFjdGlvbiB0aHJvdHRsaW5nIChDQVNTQU5EUkEtMjE1NikKIDttYr0AAAFP3jyyXAAQaXggYnVnIHByZXZlbnRpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvfAAAAQAgY29tbWl0bG9nIGFwcGVuZCAoQ0FTU0FORFJBLTUxOTkpCiAqIGZpeCBzeW1saW5rcyB1bmRlciBkYXRhIGRpciBub3Qgd29ya2luZyAoQ0FTU0FORFJBLTUxODUpCiAqIGZpeCBidWcgaW4gY29tcGFjdCBzdG9yYWdlIG1ldGFkYXRhIGhhbmRsaW5nIChDQVNTQU5EUkEtNTE4OSkKICogVmFsaWRhdGUgbG9naW4gZm9yIFVTRSBxdWVyaWVzIChDQVNTQU5EUkEtNTIwNykKICogY2xpOiByZW1vdmUgZGVmYXVsdCB1c2VybmFtZSBhbmQgcGFzc3dvcmQgnPHFLQAAAU/ePLJcABAgYWRkIGxpc3RFbmRwb2luAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC98AAABAGFibGUgd2hlbiBkcm9wcGluZyBhbiBpbmRleCAoQ0FTU0FORFJBLTIzMjApCiAqIGRvbid0IGFsbG93IGFyYml0cmFyeSBhcmd1bWVudCBmb3Igc3RyZXNzLmphdmEgKENBU1NBTkRSQS0yMzIzKQogKiB2YWxpZGF0ZSB2YWx1ZXMgZm9yIGluZGV4IHByZWRpY2F0ZXMgaW4gZ2V0X2luZGV4ZWRfc2xpY2UgKENBU1NBTkRSQS0yMzI4KQogKiBxdWV1ZSBzZWNvbmRhcnkgaW5kZXhlcyBmb3IgZmx1c2ggYmVmb3JlIHRoZSBwYXJlbnQgKENBU1NBTkRSQS3Vs9jYAAABT948slwAEGlvbnMgb2YgaW5zZXJ0IEEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3wAAAEAb3RpbWUgY29uc2lzdGVudGx5IGZvciBub2RlLWxvY2FsIHRpbWVvdXRzIChDQVNTQU5EUkEtNTU4MSkKICogQXZvaWQgdW5uZWNlc3Nhcnkgc2Vjb25kIHBhc3Mgb24gbmFtZS1iYXNlZCBxdWVyaWVzIChDQVNTQU5EUkEtNTU3NykKICogRXhwZXJpbWVudGFsIHRyaWdnZXJzIChDQVNTQU5EUkEtMTMxMSkKICogSkVNYWxsb2Mgc3VwcG9ydCBmb3Igb2ZmLWhlYXAgYWxsb2NhdGlvbiAoQ0FTU0FORFJBLTM5OTcpCiAqIFNpbmdsZS1wYXNzIGNvbXBhYyJ+PqYAAAFP3jyyXAAQYWJsZV9mbHVzaF93cml0ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvfAAAAQBJQXV0aG9yaXplciAoQ0FTU0FORFJBLTUwMDMpCiAqIEZpeCBpbnNlcnRpbmcgb25seSBhIGtleSBpbiBDUUwzIChDQVNTQU5EUkEtNTA0MCkKICogRml4IENRTDMgdG9rZW4oKSBmdW5jdGlvbiB3aGVuIHVzZWQgd2l0aCBzdHJpbmdzIChDQVNTQU5EUkEtNTA1MCkKTWVyZ2VkIGZyb20gMS4xOgogKiByZWR1Y2UgbG9nIHNwYW0gZnJvbSBpbnZhbGlkIGNvdW50ZXIgc2hhcmRzIChDQVNTQU5EUkEtNTAyNikKICogSW1wcm92ZSBzY2hlbWEgcHJvcGFnTqEheAAAAU/ePLJcABBldmVsZWRDb21wYWN0aW9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC98AAABAElOUyBvbiBzZXRzIChDQVNTQU5EUkEtODAzMykKICogUHJvcGVybHkgdHJhY2sgYWRkZWQgc2l6ZSAoQ0FTU0FORFJBLTcyMzkpCiAqIEFsbG93IGNvbXBpbGF0aW9uIGluIGphdmEgOCAoQ0FTU0FORFJBLTcyMDgpCiAqIEZpeCBBc3NlcnRpb24gZXJyb3Igb24gUmFuZ2VUb21ic3RvbmVMaXN0IGRpZmYgKENBU1NBTkRSQS04MDEzKQogKiBSZWxlYXNlIHJlZmVyZW5jZXMgdG8gb3ZlcmxhcHBpbmcgc3N0YWJsZXMgZHVyaW5nIGNvbXBhY3Rpb24gKEMCp5kPAAABT948slwAECogY3Fsc2g6IGhhbmRsZSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3wAAAEAQVNTQU5EUkEtMTY2NikKCgowLjctYmV0YTIKICogYWx3YXlzIHVzZSBVVEYtOCBmb3IgaGludCBrZXlzIChDQVNTQU5EUkEtMTQzOSkKICogcmVtb3ZlIGNhc3NhbmRyYS55YW1sIGRlcGVuZGVuY3kgZnJvbSBIYWRvb3AgYW5kIFBpZyAoQ0FTU0FEUkEtMTMyMikKICogZXhwb3NlIENmRGVmIG1ldGFkYXRhIGluIGRlc2NyaWJlX2tleXNwYWNlcyAoQ0FTU0FORFJBLTEzNjMpCiAqIHJlc3RvcmUgdXNlIG9mIG1tYXBfaW5kZXhfb25seSBvcHRpb24gKFm8VHIAAAFP3jyyXAAQc2FuZHJhLmJhdAogKiBleAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvfAAAAQBzIHRvIGRlYWwgd2l0aCAxMDBzIG9mIDEwMDBzIG9mCiAgIHNzdGFibGVzLCBzdWNoIGFzIHdoZW4gY29udmVydGluYiBiYWNrIGZyb20gTENTIChDQVNTQU5EUkEtNDI4NykKICogT3ZlcnNpemUgaW50ZWdlciBpbiBDUUwgdGhyb3dzIE51bWJlckZvcm1hdEV4Y2VwdGlvbiAoQ0FTU0FORFJBLTQyOTEpCiAqIGZpeCAxLjAueCBub2RlIGpvaW4gdG8gbWl4ZWQgdmVyc2lvbiBjbHVzdGVyLCBvdGhlciBub2RlcyA+PSAxLjEgKENBU1NBTkRSQS00MTk1cvr7dAAAAU/ePLJcABAgKiBwZXIta2V5c3BhY2UgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC98AAABAG9uIGFibGUgdG8gc2tpcCBlbXB0eSByb3dzCiAgIChyb3dzIGNvbnRhaW5pbmcgbm90aGluZyBidXQgZXhwaXJlZCB0b21ic3RvbmVzKSAoQ0FTU0FORFJBLTMwMzkpCiAqIHdvcmsgYXJvdW5kIG5hdGl2ZSBtZW1vcnkgbGVhayBpbiBjb20uc3VuLm1hbmFnZW1lbnQuR2FyYmFnZUNvbGxlY3Rvck1YQmVhbgogICAoQ0FTU0FORFJBLTI4NjgpCiAqIHZhbGlkYXRlIHRoYXQgY29sdW1uIG5hbWVzIGluIGNvbHVtbl9tZXRhZGF0YSBhcmUgbm90IGVxdWHqdjW+AAABT948slwAEG92ZWQgZXJyb3IgcmVwb3IAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3wAAAEAbWVkIFNsaWNlUHJlZGljYXRlcwogICAoQ0FTU0FORFJBLTY0MykKICogZml4IGJ1ZyBkZXRlcm1pbmluZyBjbG9zZXN0IG5laWdoYm9yIGZvciB1c2UgaW4gbXVsdGlwbGUgZGF0YWNlbnRlcnMKICAgKENBU1NBTkRSQS02NDgpCiAqIFZhc3QgaW1wcm92ZW1lbnRzIGluIGFudGljb21wYWN0aW9uIHNwZWVkIChDQVNTQU5EUkEtNjA3KQogKiBTcGVlZCB1cCBsb2cgcmVwbGF5IGFuZCB3cml0ZXMgYnkgYXZvaWRpbmcgcmVkdW5kYW50IHNlcmlhbGl6Yf/1uo4AAAFP3jyyXAAQQXZvaWQgY29zdGx5IHJhbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvfAAAAQBpc3J1cHRvcl90aHJpZnRfc2VydmVyIGludm9jYXRpb24gcG9vbCBjb25maWd1cmFibGUgKENBU1NBTkRSQS03NTk0KQogKiBNYWtlIHJlcGFpciBuby1vcCB3aGVuIFJGPTEgKENBU1NBTkRSQS03ODY0KQoKCjIuMC4xMAogKiBEb24ndCBzZW5kIHNjaGVtYSBjaGFuZ2UgcmVzcG9uc2VzIGFuZCBldmVudHMgZm9yIG5vLW9wIERETAogICBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNzYwMCkKICogKEhhZG9vcCkgZml4IGNsdXN0ZXIgaW5pdGlhbGlzYXRppkm4fAAAAU/ePLJcABAKCjEuMS40CiAqIGZpeCBvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC98AAABACByZWFkaW5nIGNvbHVtbnMgdmlhIGJsb2NrCiAgIGluZGV4IChDQVNTQU5EUkEtMjM3NikKICogZml4IE5QRSBkdXJpbmcgc3RyZWFtIHNlc3Npb24gKENBU1NBTkRSQS0yMzc3KQogKiBmaXggcmFjZSBjb25kaXRpb24gdGhhdCBjb3VsZCBsZWF2ZSBvcnBoYW5lZCBkYXRhIGZpbGVzIHdoZW4gZHJvcHBpbmcgQ0Ygb3IKICAgS1MgKENBU1NBTkRSQS0yMzgxKQogKiBmc3luYyBzdGF0aXN0aWNzIGNvbXBvbmVudCBvbiB3cml0ZSAoQ0FTU0FORFJBLTKaLgP0AAABT948slwAECBMb2cgbWVzc2FnZSB3aGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL3wAAAEAcnkgZm9yIGxvY2FsIHRva2VucyAoQ0FTU0FORFJBLTcxODIpCiAqIGV4aXQgQ1FMU0ggd2l0aCBlcnJvciBzdGF0dXMgY29kZSBpZiBzY3JpcHQgZmFpbHMgKENBU1NBTkRSQS02MzQ0KQogKiBGaXggYnVnIHdpdGggc29tZSBJTiBxdWVyaWVzIG1pc3NpZyByZXN1bHRzIChDQVNTQU5EUkEtNzEwNSkKICogRml4IGF2YWlsYWJpbGl0eSB2YWxpZGF0aW9uIGZvciBMT0NBTF9PTkUgQ0wgKENBU1NBTkRSQS03MzE5KQogKiBIaW50IHN0cmVhbWluZyBjYffvsCcAAAFP3jyyXAAQCiAgIChDQVNTQU5EUkEtNQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvfAAAAQBuZGluZyIgZmxhZyB0byBhbGxvdyByZWFzb25hYmx5LWVmZmljaWVudCByZXZlcnNlCiAgICAgIHNjYW5zIGFzIHdlbGwuICBSZW1vdmVkIGdldF9zbGljZV9ieV9yYW5nZSBhcyByZWR1bmRhbnQuCiAgICAtIGdldF9rZXlfcmFuZ2Ugb3BlcmF0ZXMgb24gb25lIENGIGF0IGEgdGltZQogICAgLSBjaGFuZ2VkIGBibG9ja2AgYm9vbGVhbiBvbiBpbnNlcnQgbWV0aG9kcyB0byBDb25zaXN0ZW5jeUxldmVsIGVudW0sCiAgICAgIHdpdGggb3B0aW9ucyBvu+H6JwAbrws1fcSIAAABT948slwAEGx0IChDQVNTQU5EUkEtOTEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL38AAAEAKQogKiBjcWxzaDogaGFuZGxlIHN5bWxpbmtzIHByb3Blcmx5IChDQVNTQU5EUkEtNjQyNSkKICogRml4IHBvdGVudGlhbCBpbmZpbml0ZSBsb29wIHdoZW4gcGFnaW5nIHF1ZXJ5IHdpdGggSU4gKENBU1NBTkRSQS02NDY0KQogKiBGaXggYXNzZXJ0aW9uIGVycm9yIGluIEFic3RyYWN0UXVlcnlQYWdlci5kaXNjYXJkRmlyc3QgKENBU1NBTkRSQS02NDQ3KQogKiBGaXggc3RyZWFtaW5nIG9sZGVyIFNTVGFibGUgeWllbGRzIHVubmVjZXNzYXJ5IHRvbeKbyUUAAAFP3jyyXAAQZVN0cmF0ZWd5IAogICB0bwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvfwAAAQAzNTcpCiAqIE1vcmUgZWZmaWNpZW50IGV4ZWN1dG9yIHNlcnZpY2UgZm9yIGZhc3Qgb3BlcmF0aW9ucyAoQ0FTU0FORFJBLTQ3MTgpCiAqIE1vdmUgbGVzcyBjb21tb24gdG9vbHMgaW50byBhIG5ldyBjYXNzYW5kcmEtdG9vbHMgcGFja2FnZSAoQ0FTU0FORFJBLTcxNjApCiAqIFN1cHBvcnQgbW9yZSBjb25jdXJyZW50IHJlcXVlc3RzIGluIG5hdGl2ZSBwcm90b2NvbCAoQ0FTU0FORFJBLTcyMzEpCiAqIEFkZCB0YWItY29tcGxldGlvbiB0byBkZWJpUDRVLwAAAU/ePLJcABA0ODMzKQogKiBmaXggY29tAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9/AAABAHBlIHRvIEpEQkMgKENBU1NBTkRSQS00NDk1KQogKiBBZGRzIG5ldyBUaW1lc3RhbXBUeXBlIHRvIHJlcGxhY2UgRGF0ZVR5cGUgKENBU1NBTkRSQS01NzIzLCBDQVNTQU5EUkEtNTcyOSkKTWVyZ2VkIGZyb20gMS4yOgogKiBtYWtlIHN0YXJ0aW5nIG5hdGl2ZSBwcm90b2NvbCBzZXJ2ZXIgaWRlbXBvdGVudCAoQ0FTU0FORFJBLTU3MjgpCiAqIEZpeCBsb2FkaW5nIGtleSBjYWNoZSB3aGVuIGEgc2F2ZWQgZW50cnkgaXMgbm8gbG9uZ2VyIHZhbGlkIChZc6UeAAABT948slwAEHVuIGl0IG9mZmxpbmUgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL38AAAEAU1NBTkRSQS05MTk0KQogKiBBbGxvdyBzY3J1YiB0byBoYW5kbGUgY29ycnVwdGVkIGNvbXByZXNzZWQgY2h1bmtzIChDQVNTQU5EUkEtOTE0MCkKICogRml4IGFzc2VydGlvbiBlcnJvciB3aGVuIHJlc2V0bG9jYWxzY2hlbWEgaXMgcnVuIGR1cmluZyByZXBhaXIgKENBU1NBTkRSQS05MjQ5KQogKiBEaXNhYmxlIHNpbmdsZSBzc3RhYmxlIHRvbWJzdG9uZSBjb21wYWN0aW9ucyBmb3IgRFRDUyBieSBkZWZhdWx0IChDQVNTQU5EUkEtOTIzNCkKICogSSzHQdIAAAFP3jyyXAAQCiAqIFByZXNlcnZlcyBDUQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvfwAAAQB0cmF0ZWd5IChDQVNTQU5EUkEtMzY2NikKICogRG9uJ3QgaWdub3JlIElPRXhjZXB0aW9uIGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtMzY1NSkKICogRml4IGFzc2VydGlvbiBlcnJvciBmb3IgQ0Ygd2l0aCBnY19ncmFjZT0wIChDQVNTQU5EUkEtMzU3OSkKICogU2h1dGRvd24gUGFyYWxsZWxDb21wYWN0aW9uIHJlZHVjZXIgZXhlY3V0b3IgYWZ0ZXIgdXNlIChDQVNTQU5EUkEtMzcxMSkKICogQXZvaWQgPCAwIHZhbHVlIGZvciBwZW5kaW5nlFG98QAAAU/ePLJcABAgdG8gZG8gbG9jYWwgcmVhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9/AAABAHJseSAoQ0FTU0FORFJBLTY0MjUpCiAqIEZpeCBwb3RlbnRpYWwgaW5maW5pdGUgbG9vcCB3aGVuIHBhZ2luZyBxdWVyeSB3aXRoIElOIChDQVNTQU5EUkEtNjQ2NCkKICogRml4IGFzc2VydGlvbiBlcnJvciBpbiBBYnN0cmFjdFF1ZXJ5UGFnZXIuZGlzY2FyZEZpcnN0IChDQVNTQU5EUkEtNjQ0NykKICogRml4IHN0cmVhbWluZyBvbGRlciBTU1RhYmxlIHlpZWxkcyB1bm5lY2Vzc2FyeSB0b21ic3RvbmVzIChDQVNTQU5EUkEtNjUyNykKTWVyZ2VkIGZ3ENC7AAABT948slwAEG5zIGJlZm9yZSBleGl0aW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL38AAAEAQU5EUkEtMzYxOSkKICogZnN5bmMgdGhlIGRpcmVjdG9yeSBhZnRlciBuZXcgc3N0YWJsZSBvciBjb21taXRsb2cgc2VnbWVudCBhcmUgY3JlYXRlZCAoQ0FTU0FORFJBLTMyNTApCiAqIGZpeCBtaW5vciBpc3N1ZXMgcmVwb3J0ZWQgYnkgRmluZEJ1Z3MgKENBU1NBTkRSQS0zNjU4KQogKiBnbG9iYWwga2V5L3JvdyBjYWNoZXMgKENBU1NBTkRSQS0zMTQzLCAzODQ5KQogKiBvcHRpbWl6ZSBtZW10YWJsZSBpdGVyYXRpb24gZHVyaW5nIHJhbmdlIHNjYfvdoYIAAAFP3jyyXAAQZiBmaW5pc2hpbmcgZWFybAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvfwAAAQBhdGUgKENBU1NBTkRSQS00MTcwKQogKiAoY3FsKSBUaHJvdyBpbnZhbGlkIGV4Y2VwdGlvbiBmcm9tIENRTDMgb24gb2Jzb2xldGUgb3B0aW9ucyAoQ0FTU0FORFJBLTQxNzEpCiAqIChjcWxzaCkgZml4IHJlY29nbml6aW5nIHVwcGVyY2FzZSBTRUxFQ1Qga2V5d29yZCAoQ0FTU0FORFJBLTQxNjEpCiAqIFBpZzogd2lkZSByb3cgc3VwcG9ydCAoQ0FTU0FORFJBLTM5MDkpCk1lcmdlZCBmcm9tIDEuMDoKICogYXZvaWQgc3RyZWFtaW5nIGVtcHR5IGZpXCL/ZgAAAU/ePLJcABBjeSByZWFkIHJlcGFpciAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9/AAABAGx5IGJlZm9yZSB0cnVuY2F0aW5nIChDQVNTQU5EUkEtMjU3MCkKICogZml4IGJhdGNoX211dGF0ZSBmb3IgbWl4ZWQgc3RhbmRhcmQtY291bnRlciBtdXRhdGlvbnMgKENBU1NBTkRSQS0yNDU3KQogKiBkaXNhbGxvdyBtYWtpbmcgc2NoZW1hIGNoYW5nZXMgdG8gc3lzdGVtIGtleXNwYWNlIChDQVNTQU5EUkEtMjU2MykKICogZml4IHNlbmRpbmcgbXV0YXRpb24gbWVzc2FnZXMgbXVsdGlwbGUgdGltZXMgKENBU1NBTkRSQS0yNTU3KQogKiBmaXggaW7Q5EqrAAABT948slwAEFNTQU5EUkEtNjk5KQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL38AAAEAaW5nIHJhbmdlIHRvbWJzdG9uZXMgaW5zZXJ0aW9uIChDQVNTQU5EUkEtNjE4MSkKICogKEhhZG9vcCkgTWFrZSBMT0NBTF9PTkUgdGhlIGRlZmF1bHQgY29uc2lzdGVuY3kgbGV2ZWwgKENBU1NBTkRSQS02MjE0KQoKCjIuMC4xCiAqIEZpeCBidWcgdGhhdCBjb3VsZCBhbGxvdyByZWFkaW5nIGRlbGV0ZWQgZGF0YSB0ZW1wb3JhcmlseSAoQ0FTU0FORFJBLTYwMjUpCiAqIEltcHJvdmUgbWVtb3J5IHVzZSBkZWZhdWx0cyAoQ0FTU0FORFJBLTYwNTkpCuKp36oAAAFP3jyyXAAQbiBvZiBlbXB0eSBjb2x1bQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvfwAAAQByb3dzIChDQVNTQU5EUkEtMjIxMikKICogZmF0IGNsaWVudHMgd2VyZSB3cml0aW5nIGxvY2FsIGRhdGEgKENBU1NBTkRSQS0yMjIzKQogKiBzZXQgREVGQVVMVF9NRU1UQUJMRV9MSUZFVElNRV9JTl9NSU5TIHRvIDI0aAogKiBpbXByb3ZlIGRldGVjdGlvbiBhbmQgY2xlYW51cCBvZiBwYXJ0aWFsbHktd3JpdHRlbiBzc3RhYmxlcyAKICAgKENBU1NBTkRSQS0yMjA2KQogKiBmaXggc3VwZXJjb2x1bW4gZGUvc2VyaWFsaXphdGlvbiB3aGVuIHN1YmNvf2V/DQAAAU/ePLJcABBsbGVjdGlvbiB0eXBlIChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9/AAABAG9tIHBhcnRpdGlvbiB0b21ic3RvbmVzIChDQVNTQU5EUkEtOTI5OCkKICogVmFsaWRhdGUgdGhlIGluZGV4ZWQgY29sdW1uIHJhdGhlciB0aGFuIHRoZSBjZWxsJ3MgY29udGVudHMgZm9yIDJpIChDQVNTQU5EUkEtOTA1NykKICogQWRkIHN1cHBvcnQgZm9yIHRvcC1rIGN1c3RvbSAyaSBxdWVyaWVzIChDQVNTQU5EUkEtODcxNykKICogRml4IGVycm9yIHdoZW4gZHJvcHBpbmcgdGFibGUgZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS05MjUxKQpKT2+9AAABT948slwAEGF0aW9uIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL38AAAEAYXRlIChDQVNTQU5EUkEtNDE3MCkKICogKGNxbCkgVGhyb3cgaW52YWxpZCBleGNlcHRpb24gZnJvbSBDUUwzIG9uIG9ic29sZXRlIG9wdGlvbnMgKENBU1NBTkRSQS00MTcxKQogKiAoY3Fsc2gpIGZpeCByZWNvZ25pemluZyB1cHBlcmNhc2UgU0VMRUNUIGtleXdvcmQgKENBU1NBTkRSQS00MTYxKQogKiBQaWc6IHdpZGUgcm93IHN1cHBvcnQgKENBU1NBTkRSQS0zOTA5KQpNZXJnZWQgZnJvbSAxLjA6CiAqIGF2b2lkIHN0cmVhbWluZyBlbXB0eSBmaan8n+QAAAFP3jyyXAAQdyBwcm9ncmVzcyBvZiBzdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvfwAAAQBORFJBLTU2MzkpCiAqIEZpeCBQZXJtaXNzaW9uRGV0YWlscy5lcXVhbHMoKSBtZXRob2QgKENBU1NBTkRSQS01NjU1KQogKiBOZXZlciBhbGxvdyBwYXJ0aXRpb24ga2V5IHJhbmdlcyBpbiBDUUwzIHdpdGhvdXQgdG9rZW4oKSAoQ0FTU0FORFJBLTU2NjYpCiAqIEdvc3NpcGVyIGluY29ycmVjdGx5IGRyb3BzIEFwcFN0YXRlIGZvciBhbiB1cGdyYWRpbmcgbm9kZSAoQ0FTU0FORFJBLTU2NjApCiAqIENvbm5lY3Rpb24gdGhyYXNoaW5nIGR1cmluZyBtbZA26QAAAU/ePLJcABBTU0FORFJBLTI2NDQpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC9/AAABAGx1bW5zIGFzc2VydGlvbiBmYWlsdXJlIChDQVNTQU5EUkEtMzk1NykKICogZml4IE5QRSBvbiBpbnZhbGlkIENRTCBkZWxldGUgY29tbWFuZCAoQ0FTU0FORFJBLTM3NTUpCiAqIGFsbG93IGN1c3RvbSB0eXBlcyBpbiBDTEkncyBhc3N1bWUgY29tbWFuZCAoQ0FTU0FORFJBLTQwODEpCiAqIGZpeCB0b3RhbEJ5dGVzIGNvdW50IGZvciBwYXJhbGxlbCBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTM3NTgpCiAqIGZpeCBpbnRlcm1pdHRlbnQgTlBFIGluIGd14a5PAAAATrAgs4sAIwAGc3lzdGVtAAAQc2NoZW1hX2tleXNwYWNlcwAABAAAAAsAAAAAAQFaH/JnrOA/EoVjz65hA8ZeVVNmcgAFFffV+Y/oAAAAAAAAAACuXc2KABvDaGyYSlsAAAFP3jyyXAAQYW5kIGNvbGxlY3Rpb24gdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvggAAAQBhcmFtZXRlcnMgYW5kIGEgZ2VuZXJpYyBSZXZlcnNlVHlwZQogICAoQ0FTU0FORFJBLTIzNTUpCiAqIGFkZCBDb21wb3NpdGVUeXBlIGFuZCBEeW5hbWljQ29tcG9zaXRlVHlwZSAoQ0FTU0FORFJBLTIyMzEpCiAqIG9wdGltaXplIGJhdGNoZXMgY29udGFpbmluZyBtdWx0aXBsZSB1cGRhdGVzIHRvIHRoZSBzYW1lIHJvdwogICAoQ0FTU0FORFJBLTI1ODMpCiAqIGFkanVzdCBoaW50ZWQgaGFuZG9mZiBwYWdlIHNpemUgdG8gYXZvaWQgT09NIHdpdGgggBgvwQAAAU/ePLJcABBuZCBpbmNsdWRlIGxhdGVuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+CAAABAHNzdGFibGUgc3RhdHMgZnJvbSB0aGUgc3lzdGVtIHRhYmxlIHRvIGFuIHNzdGFibGUgY29tcG9uZW50CiAgIChDQVNTQU5EUkEtMTQzMCkKICogcmVtb3ZlIGZhaWxlZCBib290c3RyYXAgYXR0ZW1wdCBmcm9tIHBlbmRpbmcgcmFuZ2VzIHdoZW4gZ29zc2lwIHRpbWVzCiAgIGl0IG91dCBhZnRlciAxaCAoQ0FTU0FORFJBLTE0NjMpCiAqIGVhZ2VyLWNyZWF0ZSB0Y3AgY29ubmVjdGlvbnMgdG8gb3RoZXIgY2x1c3RlciBtZW1iZXJzIChDQVNTQU5EUkHFPibIAAABT948slwAECogZml4IGNvdW50aW5nIGIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4IAAAEAYW5nZSB0b21ic3RvbmVzIChDQVNTQU5EUkEtNzY0NykKICogRml4IE5QRSB3aGVuIGxpc3Rpbmcgc2F2ZWQgY2FjaGVzIGRpciAoQ0FTU0FORFJBLTc2MzIpCiAqIEZpeCBzc3RhYmxlbG9hZGVyIHVuYWJsZSB0byBjb25uZWN0IGVuY3J5cHRlZCBub2RlIChDQVNTQU5EUkEtNzU4NSkKTWVyZ2VkIGZyb20gMS4yOgogKiBDbG9uZSB0b2tlbiBtYXAgb3V0c2lkZSBvZiBob3QgZ29zc2lwIGxvb3BzIChDQVNTQU5EUkEtNzc1OCkKICogQWRkIHN0b3AgbWr3nr0AAAFP3jyyXAAQbiAoQ0FTU0FORFJBLTU2OQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvggAAAQA2KQogKiBhZGRlZCBpbmV0IGRhdGEgdHlwZSAoQ0FTU0FORFJBLTQ2MjcpCgoKMS4xLjYKICogV2FpdCBmb3Igd3JpdGVzIG9uIHN5bmNocm9ub3VzIHJlYWQgZGlnZXN0IG1pc21hdGNoIChDQVNTQU5EUkEtNDc5MikKICogZml4IGNvbW1pdGxvZyByZXBsYXkgZm9yIG5hbm90aW1lLWluZmVjdGVkIHNzdGFibGVzIChDQVNTQU5EUkEtNDc4MikKICogcHJlZmxpZ2h0IGNoZWNrIHR0bCBmb3IgbWF4aW11bSBvZiAyMCB5ZWFycyAoQ0FTU0FORFJBLTQ3gaZZMgAAAU/ePLJcABAKICogQWxsb3cgcHJlcGFyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+CAAABAGhyZXNob2xkSW5NQiBpbnN0ZWFkIG9mIGFuIGludCAoQ0FTU0FORFJBLTg4MikKICogUmVtb3ZlIG9ic29sZXRlIENvbnRyb2xQb3J0IGNvZGUgZnJvbSBEYXRhYmFzZURlc2NyaXB0b3IgKENBU1NBTkRSQS04ODYpCiAqIG1vdmUgc2tpcEJ5dGVzIHNpZGUgZWZmZWN0IG91dCBvZiBhc3NlcnQgKENBU1NBTkRSQS04OTkpCiAqIGFkZCAiZG91YmxlIGdldExvYWQiIHRvIFN0b3JhZ2VTZXJ2aWNlTUJlYW4gKENBU1NBTkRSQS04OTgpCiAqIHRyYWNrIHJ/k0/QAAABT948slwAEGl0ZSBzdGFydC9maW5pc2gAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4IAAAEAZ2UgdG8gYXZvaWQKICAgc2VuZGluZyBzdHJlYW1zIG91dCBvZiBvcmRlciAoQ0FTU0FORFJBLTExNjkpCiAqIHJlbW92ZSBpbmFjdGl2ZSBzdHJlYW0gbWFuYWdlcnMgYWZ0ZXIgQUVTIHN0cmVhbXMgZmlsZXMgKENBU1NBTkRSQS0xMTY5KQogKiBhbGxvdyByZW1vdmluZyBlbnRpcmUgcm93IHRocm91Z2ggYmF0Y2hfbXV0YXRlIERlbGV0aW9uIChDQVNTQU5EUkEtMTAyNykKICogYWRkIEpNWCBtZXRyaWNzIGZvciByb3ctbGV2ZWwgYmxvb20gZmlsdPE9sHwAAAFP3jyyXAAQIG9wdGlvbiBpbiBmaWxlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvggAAAQB2ZSBvYnNvbGV0ZSBDb250cm9sUG9ydCBjb2RlIGZyb20gRGF0YWJhc2VEZXNjcmlwdG9yIChDQVNTQU5EUkEtODg2KQogKiBtb3ZlIHNraXBCeXRlcyBzaWRlIGVmZmVjdCBvdXQgb2YgYXNzZXJ0IChDQVNTQU5EUkEtODk5KQogKiBhZGQgImRvdWJsZSBnZXRMb2FkIiB0byBTdG9yYWdlU2VydmljZU1CZWFuIChDQVNTQU5EUkEtODk4KQogKiB0cmFjayByb3cgc3RhdHMgcGVyIENGIGF0IGNvbXBhY3Rpb24gdGltZSAoQ0FTU0FORFJBLTg3MCkKICogMvtAPQAAAU/ePLJcABAsIENBU1NBTkRSQS0xNjE5AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+CAAABAHNzIGluaXRpYWxpemF0aW9uIGluIE5vZGVJZAogICAoQ0FTU0FORFJBLTI5NTMpCiAqIGNoZWNrIGNvbHVtbiBmYW1pbHkgdmFsaWRpdHkgaW4gbm9kZXRvb2wgcmVwYWlyIChDQVNTQU5EUkEtMjkzMykKICogc3BlZWR1cCBieXRlcyB0byBoZXggY29udmVyc2lvbnMgZHJhbWF0aWNhbGx5IChDQVNTQU5EUkEtMjg1MCkKICogRmx1c2ggbWVtdGFibGVzIG9uIHNodXRkb3duIHdoZW4gZHVyYWJsZSB3cml0ZXMgYXJlIGRpc2FibGVkIAogICAoQ0FTU0Eh/U7cAAABT948slwAEFNTQU5EUkEtMzkwNikKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4IAAAEAbnRzIChDQVNTQU5EUkEtNTc5OCkKICogSGFuZGxlIENRTDMgU0VMRUNUIGR1cGxpY2F0ZSBJTiByZXN0cmljdGlvbnMgb24gY2x1c3RlcmluZyBjb2x1bW5zCiAgIChDQVNTQU5EUkEtNTg1NikKCgoyLjAuMC1yYzEKICogaW1wcm92ZSBEZWNpbWFsU2VyaWFsaXplciBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTU4MzcpCiAqIGZpeCBwb3RlbnRpYWwgc3B1cmlvdXMgd2FrZXVwIGluIEFzeW5jT25lUmVzcG9uc2UgKENBU1NBTkRSQS01NjkwKQogKiBmaeoAS3YAAAFP3jyyXAAQNzMpCiAqIFdyaXRlIHJvdwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvggAAAQBuCiAgIHRoZSByaW5nIChDQVNTQU5EUkEtMjQyOCkKICogVHJ5IGhhcmRlciB0byBjbG9zZSBmaWxlcyBhZnRlciBjb21wYWN0aW9uIChDQVNTQU5EUkEtMjQzMSkKICogcmUtc2V0IGJvb3RzdHJhcHBlZCBmbGFnIGFmdGVyIG1vdmUgZmluaXNoZXMgKENBU1NBTkRSQS0yNDM1KQogKiBkaXNwbGF5IHZhbGlkYXRpb25fY2xhc3MgaW4gQ0xJICdkZXNjcmliZSBrZXlzcGFjZScgKENBU1NBTkRSQS0yNDQyKQogKiBtYWtlIGNsZWFudXAgY29tcGFjdGlvRNtxxwAAAU/ePLJcABBhYmxlIGFmdGVyIHVwZGF0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+CAAABAGluZyBmb3IgbWlkLWNvbXBhY3Rpb24gZmFpbHVyZSAoQ0FTU0FORFJBLTUxMzcpCiAqIGNvbnZlcnQgZGVmYXVsdCBtYXJzaGFsbGVycyBsaXN0IHRvIG1hcCBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5IChDQVNTQU5EUkEtNTEwOSkKICogZml4IENvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb24gaW4gZ2V0Qm9vdHN0cmFwU291cmNlIChDQVNTQU5EUkEtNTE3MCkKICogZml4IHNzdGFibGUgbWF4dGltZXN0YW1wIGZvciByb3cgZGVsZXRlcyBhbmRRL8RPAAABT948slwAEENGIGNvbXBhcmF0b3IgdG8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4IAAAEAaGUgc2FtZSBjbGVhbnVwIHN0cmF0ZWd5IGZvciBhbGwgc3N0YWJsZXMgKENBU1NBTkRSQS04NTM3KQogKiBGaXggY2FzZS1zZW5zaXRpdml0eSBvZiBpbmRleCBuYW1lIG9uIENSRUFURSBhbmQgRFJPUCBJTkRFWAogICBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtODM2NSkKICogQmV0dGVyIGRldGVjdGlvbi9sb2dnaW5nIGZvciBjb3JydXB0aW9uIGluIGNvbXByZXNzZWQgc3N0YWJsZXMgKENBU1NBTkRSQS04MTkyKQogKiBVc2UgdGhlIGNvcnJlY3QgchOnfG4AAAFP3jyyXAAQdGlvbiAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvggAAAQAKICogcmVqZWN0IHJhbmdlIHF1ZXJpZXMgcmVjZWl2ZWQgZHVyaW5nIGJvb3RzdHJhcCAoQ0FTU0FORFJBLTE3MzkpCiAqIGZpeCB3cmFwcGluZy1yYW5nZSBxdWVyaWVzIG9uIG5vbi1taW5pbXVtIHRva2VuIChDQVNTQU5EUkEtMTcwMCkKICogYWRkIG5vZGV0b29sIGNmaGlzdG9ncmFtIChDQVNTQU5EUkEtMTY5OCkKICogbGltaXQgcmVwYWlyZWQgcmFuZ2VzIHRvIHdoYXQgdGhlIG5vZGVzIGhhdmUgaW4gY29tbW9uIChDQVNTQU5EUkEtMTY3NCkKIfiAAgAAAU/ePLJcABBDQVNTQU5EUkEtNDI1NikKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+CAAABADI0OTIpCiAqIGRpc2FibGUgY2FjaGUgc2F2aW5nIGZvciBzeXN0ZW0gQ0ZTIChDQVNTQU5EUkEtMjUwMikKICogZml4ZXMgZm9yIHZlcmlmeWluZyBkZXN0aW5hdGlvbiBhdmFpbGFiaWxpdHkgdW5kZXIgaGludGVkIGNvbmRpdGlvbnMKICAgc28gVUUgY2FuIGJlIHRocm93biBpbnRlYWQgb2YgdGltaW5nIG91dCAoQ0FTU0FORFJBLTI1MTQpCiAqIGZpeCB1cGRhdGUgb2YgdmFsaWRhdGlvbiBjbGFzcyBpbiBjb2x1bW4gbWV0YWRhdGEgKENBU1NBTkTSSMrGAAABT948slwAEGcgYm9vdHN0cmFwIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4IAAAEAdGEgb2JqZWN0IHBlciBzc3RhYmxlIChDQVNTQU5EUkEtMzQyNykKICogY2xlYW51cCB1c2FnZSBvZiBTdG9yYWdlU2VydmljZS5zZXRNb2RlKCkgKENBU1NBTkRSQS0zMzg4KQogKiBBdm9pZCBsYXJnZSBhcnJheSBhbGxvY2F0aW9uIGZvciBjb21wcmVzc2VkIGNodW5rIG9mZnNldHMgKENBU1NBTkRSQS0zNDMyKQogKiBmaXggRGVjaW1hbFR5cGUgYnl0ZWJ1ZmZlciBtYXJzaGFsbGluZyAoQ0FTU0FORFJBLTM0MjEpCiAqIGZpeCBidWcgdGhhdCBjYYPbQVIAG9gfcWteEgAAAU/ePLJcABBoIGZyb20gTkJITSB0byBDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+EAAABADY3LCAyMTUyKQogKiBodW1hbiByZWFkYWJsZSBjb2x1bW4gbmFtZXMgaW4gc3N0YWJsZTJqc29uIG91dHB1dCAoQ0FTU0FORFJBLTE5MzMpCiAqIGNoYW5nZSBkZWZhdWx0IEpNWCBwb3J0IHRvIDcxOTkgKENBU1NBTkRSQS0yMDI3KQogKiBiYWNrd2FyZHMgY29tcGF0aWJsZSBpbnRlcm5hbCBtZXNzYWdpbmcgKENBU1NBTkRSQS0xMDE1KQogKiBhdG9taWMgc3dpdGNoIG9mIG1lbXRhYmxlcyBhbmQgc3N0YWJsZXMgKENBU1NBTkRSQS0yMjg0KQogKiCGuP+SAAABT948slwAECBwYWlyIHdhcyBnaXZlbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4QAAAEAIChDQVNTQU5EUkEtNDQzMikKICogYWRkIGEgdG9rZW4gZ2VuZXJhdGlvbiB0b29sIChDQVNTQU5EUkEtMzcwOSkKICogRml4IExDUyBidWcgd2l0aCBzc3RhYmxlIGNvbnRhaW5pbmcgb25seSAxIHJvdyAoQ0FTU0FORFJBLTQ0MTEpCiAqIGZpeCAiQ2FuJ3QgTW9kaWZ5IEluZGV4IE5hbWUiIHByb2JsZW0gb24gQ0YgdXBkYXRlIChDQVNTQU5EUkEtNDQzOSkKICogRml4IGFzc2VydGlvbiBlcnJvciBpbiBnZXRPdmVybGFwcGluZ1NTVGFibGVzIGR1colX/y0AAAFP3jyyXAAQYmxlUmVhZGVyLmxhc3QgYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvhAAAAQAgc3RyZWFtaW5nIHByb2dyZXNzIHJlcG9ydCBmb3IgY29tcHJlc2VkIGZpbGVzIChDQVNTQU5EUkEtNTEzMCkKICogQ292ZXJhZ2UgYW5hbHlzaXMgZm9yIGxvdy1DTCBxdWVyaWVzIChDQVNTQU5EUkEtNDg1OCkKICogU3RvcCBpbnRlcnByZXRpbmcgZGF0ZXMgYXMgdmFsaWQgdGltZVVVSUQgdmFsdWUgKENBU1NBTkRSQS00OTM2KQogKiBBZGRzIEUgbm90YXRpb24gZm9yIGZsb2F0aW5nIHBvaW50IG51bWJlcnMgKENBU1NBTkRSQS00OTI3KQogKiBEz6aPvQAAAU/ePLJcABBwdGlvbiBvZiBJbmRleFN1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+EAAABACAqIEFkZCBDTVNDbGFzc1VubG9hZGluZ0VuYWJsZWQgSlZNIG9wdGlvbiAoQ0FTU0FORFJBLTY1NDEpCiAqIENhdGNoIG1lbXRhYmxlIGZsdXNoIGV4Y2VwdGlvbnMgZHVyaW5nIHNodXRkb3duIChDQVNTQU5EUkEtNjczNSkKICogRml4IHVwZ3JhZGVzc3RhYmxlcyBOUEUgZm9yIG5vbi1DRi1iYXNlZCBpbmRleGVzIChDQVNTQU5EUkEtNjY0NSkKICogRml4IFVQREFURSB1cGRhdGluZyBQUklNQVJZIEtFWSBjb2x1bW5zIGltcGxpY2l0bHkgKENBU1MKrCfVAAABT948slwAEHJ0IGZhY3RvcmllcyBmb3IAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4QAAAEAIGRlc2NyaWJlX3BhcnRpdGlvbmVyIFRocmlmdCBtZXRob2QgKENBU1NBTkRSQS0xMDQ3KQogKiBIYWRvb3Agam9icyBubyBsb25nZXIgcmVxdWlyZSB0aGUgQ2Fzc2FuZHJhIHN0b3JhZ2UtY29uZi54bWwKICAgKENBU1NBTkRSQS0xMjgwLCBDQVNTQU5EUkEtMTA0NykKICogbG9nIHRocmVhZCBwb29sIHN0YXRzIHdoZW4gR0MgaXMgZXhjZXNzaXZlIChDQVNTQU5EUkEtMTI3NSkKICogcmVtb3ZlIGdvc3NpcCBtZXNzYWdlIHNpemUgbGltaXQgKENBU77ZWHAAAAFP3jyyXAAQZXZlbC5BTEwgb24gcmVhZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvhAAAAQA6IENvbXBvc2l0ZSBjb2x1bW4gc3VwcG9ydCAoQ0FTU0FORFJBLTM2ODQpCiAqIEF2b2lkIE5QRSBkdXJpbmcgcmVwYWlyIHdoZW4gYSBrZXlzcGFjZSBoYXMgbm8gQ0ZzIChDQVNTQU5EUkEtMzk4OCkKICogRml4IGRpdmlzaW9uLWJ5LXplcm8gZXJyb3Igb24gZ2V0X3NsaWNlIChDQVNTQU5EUkEtNDAwMCkKICogZG9uJ3QgY2hhbmdlIG1hbmlmZXN0IGxldmVsIGZvciBjbGVhbnVwLCBzY3J1YiwgYW5kIHVwZ3JhZGVzc3RhYmxlcwogICBvcGVyYXRp1cSJCAAAAU/ePLJcABBTQU5EUkEtMTQwMSkKICogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+EAAABAGZvciBXaW5kb3dzIChDQVNTQU5EUkEtODU4KQogKiBhbGxvdyByZS1zcGVjaWZ5aW5nIGhvc3QsIHBvcnQgdG8gY2Fzc2FuZHJhLWNsaSBpZiBpbnZhbGlkIG9uZXMKICAgYXJlIGZpcnN0IHRyaWVkIChDQVNTQU5EUkEtODY3KQogKiBmaXggcmFjZSBjb25kaXRpb24gaGFuZGxpbmcgcnBjIHRpbWVvdXQgaW4gdGhlIGNvb3JkaW5hdG9yCiAgIChDQVNTQU5EUkEtODY0KQogKiBSZW1vdmUgQ2FsbG91dExvY2F0aW9uIGFuZCBTdGFnaW5nRmlsZURpcmXtRE2GAAABT948slwAEHRlcnMgb24gYWRkL3VwZGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4QAAAEAdmVyc2VkVHlwZSBzdXBwb3J0IChDQVNTQU5EUkEtNDAwNCkKICogKGNxbDMpIEFkZCB0aW1ldXVpZCB0eXBlIChDQVNTQU5EUkEtNDE5NCkKICogKGNxbDMpIE1pbm9yIGZpeGVzIChDQVNTQU5EUkEtNDE4NSkKICogKGNxbDMpIEZpeCBwcmVwYXJlZCBzdGF0ZW1lbnQgaW4gQkFUQ0ggKENBU1NBTkRSQS00MjAyKQogKiAoY3FsMykgUmVkdWNlIHRoZSBsaXN0IG9mIHJlc2VydmVkIGtleXdvcmRzIChDQVNTQU5EUkEtNDE4NikKICogKGNxbDMpIE1vdsFS/J8AAAFP3jyyXAAQMTczKQogKiBBZGQgaHVtYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvhAAAAQBjbG9zaW5nIEluY29taW5nVGNwQ29ubmVjdGlvbnMKICAgKENBU1NBTkRSQS03NzM0KQogKiBSZWNvcmQgdGhlIHJlYWwgbWVzc2FnaW5nIHZlcnNpb24gaW4gYWxsIGNhc2VzIGluIE91dGJvdW5kVGNwQ29ubmVjdGlvbgogICAoQ0FTU0FORFJBLTgwNTcpCiAqIFNTTCBkb2VzIG5vdCB3b3JrIGluIGNhc3NhbmRyYS1jbGkgKENBU1NBTkRSQS03ODk5KQogKiBGaXggcG90ZW50aWFsIGV4Y2VwdGlvbiB3aGVuIHVzaW5nIFJldmVyc2VkVHlwZSBpbiBEIogVNAAAAU/ePLJcABBjZSBjb250ZW50aW9uIG9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+EAAABAENBU1NBTkRSQS03MTQyKQogKiBGaXggMm5kYXJ5IGluZGV4IHF1ZXJpZXMgd2l0aCBERVNDIGNsdXN0ZXJpbmcgb3JkZXIgKENBU1NBTkRSQS02OTUwKQogKiBJbnZhbGlkIGtleSBjYWNoZSBlbnRyaWVzIG9uIERST1AgKENBU1NBTkRSQS02NTI1KQogKiBGaXggZmxhcHBpbmcgUmVjb3ZlcnlNYW5hZ2VyVGVzdCAoQ0FTU0FORFJBLTcwODQpCiAqIEFkZCBtaXNzaW5nIGlzbzg2MDEgcGF0dGVybnMgZm9yIGRhdGUgc3RyaW5ncyAoQ0FTU0FORFJBLTaqNlUhAAABT948slwAEGdyYWRlIHRvIHNuYXBweS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4QAAAEAbmlmZXN0IHRvIGF2b2lkIGNvcnJ1cHRpb24gKENBU1NBTkRSQS01NTM1KQogKiBGaXggQm91bmQgaW50ZXJzZWN0aW9uIGNvbXB1dGF0aW9uIChDQVNTQU5EUkEtNTU1MSkKICogc3N0YWJsZXNjcnViIG5vdyByZXNwZWN0cyBtYXggbWVtb3J5IHNpemUgaW4gY2Fzc2FuZHJhLmluLnNoIChDQVNTQU5EUkEtNTU2MikKCgoxLjIuNAogKiBFbnN1cmUgdGhhdCBQZXJSb3dTZWNvbmRhcnlJbmRleCB1cGRhdGVzIHNlZSB0aGUgbW9zdCByZWNlbnQgdmFsdYAPFCsAAAFP3jyyXAAQKENBU1NBTkRSQS0xMjM2KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvhAAAAQA6IGZpeCBDT1BZIEZST00gd2l0aCBSZXZlcnNlZFR5cGUgKENBU1NBTkRSQS01NjEwKQogKiBBbGxvdyBjcmVhdGluZyBDVVNUT00gaW5kZXhlcyBvbiBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTU2MTUpCiAqIEV2YWx1YXRlIG5vdygpIGZ1bmN0aW9uIGF0IGV4ZWN1dGlvbiB0aW1lIChDQVNTQU5EUkEtNTYxNikKICogRXhwb3NlIGRldGFpbGVkIHJlYWQgcmVwYWlyIG1ldHJpY3MgKENBU1NBTkRSQS01NjE4KQogKiBDb3JyZWN0IGJsb2IgbGl0ZXJh/26cbAAAAU/ePLJcABBmb3IgY2VydGFpbiBrZXlzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+EAAABAGxjdWxhdGlvbnMgZm9yIE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5CiAgIChDQVNTQU5EUkEtMTgwNCkKICogY2xpIHN1cHBvcnQgaW5kZXggdHlwZSBlbnVtIG5hbWVzIChDQVNTQU5EUkEtMTgxMCkKICogaW1wcm92ZWQgdmFsaWRhdGlvbiBvZiBjb2x1bW5fbWV0YWRhdGEgKENBU1NBTkRSQS0xODEzKQogKiByZWFkcyBhdCBDb25zaXN0ZW5jeUxldmVsID4gMSB0aHJvdyBVbmF2YWlsYWJsZUV4Y2VwdGlvbgogICBpbW1lZGlhdGVseSBpZiBpbnN1ZmYrx6ihAAABT948slwAEGFpbmluZyB1bnF1ZXJpZWQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4QAAAEAUElzIChUaHJpZnQsIENRTCBhbmQgQ1FMMykgKENBU1NBTkRSQS00NDg3KQogKiBhZGQgTXVybXVyM1BhcnRpdGlvbmVyIGFuZCBtYWtlIGl0IGRlZmF1bHQgZm9yIG5ldyBpbnN0YWxsYXRpb25zIChDQVNTQU5EUkEtMzc3MiwgNDYyMSkKICogKGNxbDMpIHVwZGF0ZSBwc2V1ZG8tbWFwIHN5bnRheCB0byB1c2UgbWFwIHN5bnRheCAoQ0FTU0FORFJBLTQ0OTcpCiAqIEZpbmVyIGdyYWluZWQgZXhjZXB0aW9ucyBoaWVyYXJjaHkgYW5kIHByb3ZpZGVzIEAQnhAAAAFP3jyyXAAQLTE2MjQpCiAqIHJlbW92ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvhAAAAQB0aWNzIChDQVNTQU5EUkEtMzkxOSkKICogQWRkIGJpbmFyeSBwcm90b2NvbCB2ZXJzaW9uaW5nIChDQVNTQU5EUkEtNTQzNikKICogU3dhcCBUSHNoYVNlcnZlciBmb3IgVFRocmVhZGVkU2VsZWN0b3JTZXJ2ZXIgKENBU1NBTkRSQS01NTMwKQogKiBBZGQgYWxpYXMgc3VwcG9ydCB0byBTRUxFQ1Qgc3RhdGVtZW50IChDQVNTQU5EUkEtNTA3NSkKICogRG9uJ3QgY3JlYXRlIGVtcHR5IFJvd011dGF0aW9ucyBpbiBDb21taXRMb2dSZXBsYXllciAoQ0FTcDsJEAAAAE6wILOLACMABnN5c3RlbQAAEHNjaGVtYV9rZXlzcGFjZXMAAAQAAAAIAAAAAAEBWh/yZ6zgPxKFY8+uYQPGXlVTZnIABRX31fmjcAAAAAAAAAAAQ0XV/wAb7HwWPHEXAAABT948slwAEEFkZCB0eXBlIGluZm9ybWEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4cAAAEAaXppbmcgQ29sdW1uRmFtaWx5U3RvcmUgKENBU1NBTkRSQS01MzUwKQogKiBBZGQgVXNlVExBQiBKVk0gZmxhZyAoQ0FTU0FORFJBLTUzNjEpCgoKMS4yLjIKICogZml4IHBvdGVudGlhbCBmb3IgbXVsdGlwbGUgY29uY3VycmVudCBjb21wYWN0aW9ucyBvZiB0aGUgc2FtZSBzc3RhYmxlcwogICAoQ0FTU0FORFJBLTUyNTYpCiAqIGF2b2lkIG5vLW9wIGNhY2hpbmcgb2YgYnl0ZVtdIG9uIGNvbW1pdGxvZyBhcHBlbmQgKENBU1NBTkRSQS01MTk5KQogKo0SzkUAAAFP3jyyXAAQKENBU1NBTkRSQS00MjY5KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvhwAAAQBvbm5lY3Rpb24gZmFpbHVyZSAoQ0FTU0FORFJBLTE5MjcpCiAqIGltcGxlbWVudCBkZXNjcmliZU93bmVyc2hpcCBmb3IgQk9QLCBDT1BQIChDQVNTQU5EUkEtMTkyOCkKICogbWFrZSByZWFkIHJlcGFpciBiZWhhdmUgYXMgZXhwZWN0ZWQgZm9yIENvbnNpc3RlbmN5TGV2ZWwgPiBPTkUKICAgKENBU1NBTkRSQS05ODIsIDIwMzgpCiAqIGRpc3RyaWJ1dGVkIHRlc3QgaGFybmVzcyAoQ0FTU0FORFJBLTE4NTksIDE5NjQpCiAqIHJlZHVjZSBmbHVzaCBsEwML6QAAAU/ePLJcABBwYWlyZWQgc3N0YWJsZXMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+HAAABAGluIFJlY292ZXJ5TWFuYWdlclRlc3QgKENBU1NBTkRSQS04MTc2KQogKiBBdm9pZCBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gd2hpbGUgc29ydGluZyBzc3RhYmxlcyBpbgogICBJbmRleFN1bW1hcnlNYW5hZ2VyIChDQVNTQU5EUkEtODE4MikKICogU2h1dGRvd24gSlZNIG9uIGZpbGUgZGVzY3JpcHRvciBleGhhdXN0aW9uIChDQVNTQU5EUkEtNzU3OSkKICogQWRkICdkaWUnIHBvbGljeSBmb3IgY29tbWl0IGxvZyBhbmQgZGlzayBmYWlsdXJlICjs4q5/AAABT948slwAEGlhbCBpbmZpbml0ZSBsb28AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4cAAAEAZmYgZml4ZXMgKHNldmVyYWwgdGlja2V0cykKICogQWRkIGtleSBjYWNoZSB0byBpbXByb3ZlIHJlYWQgcGVyZm9ybWFuY2UgKENBU1NBTkRSQS00MjMpCiAqIFNpbXBsaWZpZWQgY29uc3RydWN0aW9uIG9mIGN1c3RvbSBSZXBsaWNhdGlvblN0cmF0ZWd5IGNsYXNzZXMKICAgKENBU1NBTkRSQS00OTcpCiAqIEdyYXBoaWNhbCBhcHBsaWNhdGlvbiAoU3dpbmcpIGZvciByaW5nIGludGVncml0eSB2ZXJpZmljYXRpb24gYW5kIAogICB2aXN1YWxpemF0aag7B8QAAAFP3jyyXAAQdGVkIHNlZ21lbnQgYXMgdwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvhwAAAQBuYW1lcyBhbmQgZGVsZXRpb24gaW5mbyBpbnRvIGFjY291bnQgaW4gbWVtdGFibGUgdGhyb3VnaHB1dAogICAoQ0FTU0FORFJBLTQyNjQpCiAqIEFkZCBiYWNrIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG9sZCBzdHlsZSByZXBsaWNhdGlvbiBmYWN0b3IgKENBU1NBTkRSQS00Mjk0KQogKiBQcmVzZXJ2ZSBjb21wYXRpYmlsaXR5IHdpdGggcHJlLTEuMSBpbmRleCBxdWVyaWVzIChDQVNTQU5EUkEtNDI2MikKTWVyZ2VkIGZyb20gMS4wOgogKiBGfzWUxAAAAU/ePLJcABB0IHNlbmQgc2NoZW1hIGNoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+HAAABAHB0IGhpbnQgZGVsaXZlcnkgZXZlcnkgdGVuIG1pbnV0ZXMsIG9yIHdoZW4gZmFpbHVyZSBkZXRlY3RvcgogICBub3RpZmllcyB1cyB0aGF0IGEgbm9kZSBpcyBiYWNrIHVwLCB3aGljaGV2ZXIgY29tZXMgZmlyc3QuICBoaW50CiAgIGhhbmRvZmYgdGhyb3R0bGUgZGVsYXkgZGVmYXVsdCBjaGFuZ2VkIHRvIDFtcywgZnJvbSA1MCAoQ0FTU0FORFJBLTM1NTQpCiAqIGFkZCBub2RldG9vbCBzZXRzdHJlYW10aHJvdWdocHV0IChDQVNTQU5EUkEtMzU3MSkwfI4WAAABT948slwAEHRFeGNlcHRpb24gaW4gU3QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4cAAAEACiAqIEFsbG93IGNhc3NhbmRyYS1zdHJlc3MgdG8gc2V0IGNvbXBhY3Rpb24gc3RyYXRlZ3kgb3B0aW9ucyAoQ0FTU0FORFJBLTY0NTEpCiAqIEFkZCBicm9hZGNhc3RfcnBjX2FkZHJlc3Mgb3B0aW9uIHRvIGNhc3NhbmRyYS55YW1sIChDQVNTQU5EUkEtNTg5OSkKICogQXV0byByZWxvYWQgR29zc2lwaW5nUHJvcGVydHlGaWxlU25pdGNoIGNvbmZpZyAoQ0FTU0FORFJBLTU4OTcpCiAqIEZpeCBvdmVyZmxvdyBvZiBtZW10YWJsZV90b3RhbF9zcGFjZXxk5A0AAAFP3jyyXAAQIGZvciBwcmVwYWlyIGFuZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvhwAAAQBmb3IgVURUIHZhbHVlcyAoQ0FTU0FORFJBLTcyMDksIENBU1NBTkRSQS03MjYxKQogKiBGaXggbm9kZXRvb2wgbmV0c3RhdHMgKENBU1NBTkRSQS03MjcwKQogKiBGaXggcG90ZW50aWFsIENsYXNzQ2FzdEV4Y2VwdGlvbiBpbiBIaW50ZWRIYW5kb2ZmTWFuYWdlciAoQ0FTU0FORFJBLTcyODQpCiAqIFVzZSBwcmVwYXJlZCBzdGF0ZW1lbnRzIGludGVybmFsbHkgKENBU1NBTkRSQS02OTc1KQogKiBGaXggYnJva2VuIHBhZ2luZyBzdGF0ZSB3aXRoIHBy9IFziAAAAU/ePLJcABBsYXVzZSAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+HAAABAGYgc3RhdGljIGNlbGxzIChDQVNTQU5EUkEtNzc2MykKTWVyZ2VkIGZyb20gMi4wOgogKiBGb3JiaWQgcmUtYWRkaW5nIGRyb3BwZWQgY291bnRlciBjb2x1bW5zIChDQVNTQU5EUkEtNzgzMSkKICogRml4IENGTWV0YURhdGEjaXNUaHJpZnRDb21wYXRpYmxlKCkgZm9yIFBLLW9ubHkgdGFibGVzIChDQVNTQU5EUkEtNzgzMikKICogQWx3YXlzIHJlamVjdCBpbmVxdWFsaXR5IG9uIHRoZSBwYXJ0aXRpb24ga2V5IHdpdGhvdXQgdG9rZW4oKQogICAoQ0F7juICAAABT948slwAEFJBLTY4MjApCiAqIEZpeCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4cAAAEAbWVzc2FnaW5nIChDQVNTQU5EUkEtNDU3NikKICogYWRkZWQgaW5ldCBkYXRhIHR5cGUgKENBU1NBTkRSQS00NjI3KQoKCjEuMS42CiAqIFdhaXQgZm9yIHdyaXRlcyBvbiBzeW5jaHJvbm91cyByZWFkIGRpZ2VzdCBtaXNtYXRjaCAoQ0FTU0FORFJBLTQ3OTIpCiAqIGZpeCBjb21taXRsb2cgcmVwbGF5IGZvciBuYW5vdGltZS1pbmZlY3RlZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTQ3ODIpCiAqIHByZWZsaWdodCBjaGVjayB0dGwgZm9yIG1heGltdW0gb8S9TVwAAAFP3jyyXAAQICogYWRkIGdldFtSb3d8SwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvhwAAAQAtNjExMikKICogRml4IHNraXBwaW5nIGNvbHVtbnMgd2l0aCBtdWx0aXBsZSBzbGljZXMgKENBU1NBTkRSQS02MTE5KQogKiBFeHBvc2UgY29ubmVjdGVkIHRocmlmdCArIG5hdGl2ZSBjbGllbnQgY291bnRzIChDQVNTQU5EUkEtNTA4NCkKICogT3B0aW1pemUgYXV0aCBzZXR1cCAoQ0FTU0FORFJBLTYxMjIpCiAqIFRyYWNlIGluZGV4IHNlbGVjdGlvbiAoQ0FTU0FORFJBLTYwMDEpCiAqIFVwZGF0ZSBzc3RhYmxlc1BlclJlYWRIaXN0b2dyYW0gdG8gISS3ogAAAU/ePLJcABBzYWdpbmdTZXJ2aWNlIGVmAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+HAAABAHNraXAgcmVhZGluZyBzYXZlZCBrZXkgY2FjaGUgaWYgQ0YncyBjYWNoaW5nIHN0cmF0ZWd5IGlzIE5PTkUgb3IgUk9XU19PTkxZIChDQVNTQU5EUkEtMzk1NCkKICogVW5pZnkgbWlncmF0aW9uIGNvZGUgKENBU1NBTkRSQS00MDE3KQpNZXJnZWQgZnJvbSAxLjA6CiAqIGNxbHNoOiBndWVzcyBjb3JyZWN0IHZlcnNpb24gb2YgUHl0aG9uIGZvciBBcmNoIExpbnV4IChDQVNTQU5EUkEtNDA5MCkKICogKENMSSkgcHJvcGVybHkgaGFuZGxlIHF1b3RlcyCFM2N6AAABT948slwAEG4gaW4gQ291bnRlckNvbHUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4cAAAEAIEV4cG9zZSBUaHJlYWQgbWV0cmljcyBmb3IgdGhlIG5hdGl2ZSBwcm90b2NvbCBzZXJ2ZXIgKENBU1NBTkRSQS02MjM0KQogKiBDaGFuZ2Ugc25hcHNob3QgcmVzcG9uc2UgbWVzc2FnZSB2ZXJiIHRvIElOVEVSTkFMIHRvIGF2b2lkIGRyb3BwaW5nIGl0IAogICAoQ0FTU0FORFJBLTY0MTUpCiAqIFdhcm4gd2hlbiBjb2xsZWN0aW9uIHJlYWQgaGFzID4gNjVLIGVsZW1lbnRzIChDQVNTQU5EUkEtNTQyOCkKICogRml4IGNhY2hlIHBlcnNpc3RlbmNlIOeUsU4AAAFP3jyyXAAQbWl0dGVkIHdoZW4gYSBubwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvhwAAAQBvdXQgb3IgZXJyb3IgKENBU1NBTkRSQS00MTI4KQogKiBGaXggc3VwZXIgY29sdW1ucyBidWcgd2hlcmUgY2FjaGUgaXMgbm90IHVwZGF0ZWQgKENBU1NBTkRSQS00MTkwKQogKiBzdHJlc3MgdG9vbCB0byByZXR1cm4gYXBwcm9wcmlhdGUgZXhpdCBjb2RlIG9uIGZhaWx1cmUgKENBU1NBTkRSQS00MTg4KQoKCjEuMC45CiAqIGltcHJvdmUgaW5kZXggc2FtcGxpbmcgcGVyZm9ybWFuY2UgKENBU1NBTkRSQS00MDIzKQogKiBhbHdheXMgY29tcGFjdCBht7DJuQAAAU/ePLJcABBlIGxpbWl0cyBpbiBDb21wAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+HAAABACBjbGllbnQgdGltZXN0YW1wIG9uIGZ1bGwgcm93IGRlbGV0aW9ucyAoQ0FTU0FORFJBLTI5MTIpCiAqIGltcHJvdmUgdGhyZWFkLXNhZmV0eSBpbiBTdHJlYW1PdXRTZXNzaW9uIChDQVNTQU5EUkEtMjc5MikKICogYWxsb3cgZGVsZXRpbmcgYSByb3cgYW5kIHVwZGF0aW5nIGluZGV4ZWQgY29sdW1ucyBpbiBpdCBpbiB0aGUKICAgc2FtZSBtdXRhdGlvbiAoQ0FTU0FORFJBLTI3NzMpCiAqIEV4cG9zZSBudW1iZXIgb2YgdGhyZWFkcyBibG9ja2VkIG+uxum5ABwA2XmtsgIAAAFP3jyyXAAQLTUyMzUpCgoKMS4yLjEKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgviQAAAQAgYWRkIGNsaSAnZGVzY3JpYmUgY2x1c3RlcicgY29tbWFuZCAoQ0FTU0FORFJBLTIxMjcpCiAqIGFkZCBjbGkgc3VwcG9ydCBmb3Igc2V0dGluZyB1c2VybmFtZS9wYXNzd29yZCBhdCAnY29ubmVjdCcgY29tbWFuZCAKICAgKENBU1NBTkRSQS0yMTExKQogKiBhZGQgLUQgb3B0aW9uIHRvIFN0cmVzcy5qYXZhIHRvIGFsbG93IHJlYWRpbmcgaG9zdHMgZnJvbSBhIGZpbGUgCiAgIChDQVNTQU5EUkEtMjE0OSkKICogYm91bmQgaGludHMgQ0YgdGhyb3VnI32XFgAAAU/ePLJcABAgY29tbWl0bG9nIHNlZ21lAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+JAAABAHVtbmZhbWlsaWVzIChDQVNTQU5EUkEtNDc1NSkKICogU29ydCBjb21taXRsb2cgc2VnbWVudHMgZm9yIHJlcGxheSBieSBpZCBpbnN0ZWFkIG9mIG10aW1lIChDQVNTQU5EUkEtNDc5MykKICogTWFrZSBoaW50IGRlbGl2ZXJ5IGFzeW5jaHJvbm91cyAoQ0FTU0FORFJBLTQ3NjEpCiAqIFBsdWdnYWJsZSBUaHJpZnQgdHJhbnNwb3J0IGZhY3RvcmllcyBmb3IgQ0xJIGFuZCBjcWxzaCAoQ0FTU0FORFJBLTQ2MDksIDQ2MTApCiAqIGNhc3NhbmRyYS1jbGmg9KIDAAABT948slwAEE5EUkEtMzgyMSkKICogUmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4kAAAEAb24gdG8gZG8gbW9yZSBhZ2dyZXNzaXZlIHRvbWJzdG9uZSBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTY1NjMpCiAqIERvbid0IHRyeSB0byBjb21wYWN0IGFscmVhZHktY29tcGFjdGluZyBmaWxlcyBpbiBISE9NIChDQVNTQU5EUkEtNzI4OCkKICogQWx3YXlzIHJlYWxsb2NhdGUgYnVmZmVycyBpbiBIU0hBIChDQVNTQU5EUkEtNjI4NSkKICogKEhhZG9vcCkgc3VwcG9ydCBhdXRoZW50aWNhdGlvbiBpbiBDcWxSZWNvcmRSZWFkZXIgKENBU1NBTkRSQUvqemQAAAFP3jyyXAAQb3N0RXhjZXB0aW9uIG9uIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgviQAAAQBORFJBLTU0MzIpCiAqIEFkZCBub2RldG9vbCBlbmFibGViYWNrdXAvZGlzYWJsZWJhY2t1cCAoQ0FTU0FORFJBLTU1NTYpCiAqIGNxbHNoOiBmaXggREVTQ1JJQkUgYWZ0ZXIgY2FzZSBpbnNlbnNpdGl2ZSBVU0UgKENBU1NBTkRSQS01NTY3KQpNZXJnZWQgZnJvbSAxLjEKICogQWRkIHJldHJ5IG1lY2hhbmlzbSB0byBPVEMgZm9yIG5vbi1kcm9wcGFibGVfdmVyYnMgKENBU1NBTkRSQS01MzkzKQogKiBVc2UgYWxsb2NhdG9yIGluZm9ybWF0aW9uIHRvzzgqCwAAAU/ePLJcABB4IFJlYWRSZXNwb25zZVNlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+JAAABAGRSZWFkZXIgdXNpbmcgbmF0aXZlIHBhZ2luYXRpb24gKENBU1NBTkRSQS02MzExKQogKiBBZGQgUXVlcnlIYW5kbGVyIGludGVyZmFjZSAoQ0FTU0FORFJBLTY2NTkpCiAqIFRyYWNrIGxpdmVSYXRpbyBwZXItbWVtdGFibGUsIG5vdCBwZXItQ0YgKENBU1NBTkRSQS02OTQ1KQogKiBNYWtlIHN1cmUgdXBncmFkZXNzdGFibGVzIGtlZXBzIHNzdGFibGUgbGV2ZWwgKENBU1NBTkRSQS02OTU4KQogKiBGaXggTElNSVQgd2l0aCBzdGF0aWMgY29sdW1ucyCqcErxAAABT948slwAEHRlZCBJbmRleCogY2xhc3MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4kAAAEAZ2UgKENBU1NBTkRSQS02MzU2KQogKiBQdXNoIGNvbXBvc2l0ZXMgc3VwcG9ydCBpbiB0aGUgc3RvcmFnZSBlbmdpbmUKICAgKENBU1NBTkRSQS01NDE3LCBDQVNTQU5EUkEtNjUyMCkKICogQWRkIHNuYXBzaG90IHNwYWNlIHVzZWQgdG8gY2ZzdGF0cyAoQ0FTU0FORFJBLTYyMzEpCiAqIEFkZCBjYXJkaW5hbGl0eSBlc3RpbWF0b3IgZm9yIGtleSBjb3VudCBlc3RpbWF0aW9uIChDQVNTQU5EUkEtNTkwNikKICogQ0YgaWQgaXMgY2hhbmdlZCB0byBiZdVKlmkAAAFP3jyyXAAQIHN1cHBvcnQgdG8gc2h1ZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgviQAAAQAtODI2MCkKICogRXhwb3NlIG9mZi1oZWFwIG1lbW9yeSB1c2FnZSBzdGF0cyAoQ0FTU0FORFJBLTc4OTcpCiAqIElnbm9yZSBQYXhvcyBjb21taXRzIGZvciB0cnVuY2F0ZWQgdGFibGVzIChDQVNTQU5EUkEtNzUzOCkKICogVmFsaWRhdGUgc2l6ZSBvZiBpbmRleGVkIGNvbHVtbiB2YWx1ZXMgKENBU1NBTkRSQS04MjgwKQogKiBNYWtlIExDUyBzcGxpdCBjb21wYWN0aW9uIHJlc3VsdHMgb3ZlciBhbGwgZGF0YSBkaXJlY3RvcmllcyAoQ0FTU0FORFJBc/lJ7gAAAU/ePLJcABB0cmVhbWluZyBzZXNzaW9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+JAAABAC01MTEyKQogKiBTdG9wIGNvbXBhY3Rpb25zIGZyb20gaGFuZ2luZyBkdXJpbmcgYm9vdHN0cmFwIChDQVNTQU5EUkEtNTI0NCkKICogZml4IGNvbXByZXNzZWQgc3RyZWFtaW5nIHNlbmRpbmcgZXh0cmEgY2h1bmsgKENBU1NBTkRSQS01MTA1KQogKiBBZGQgQ1FMMy1iYXNlZCBpbXBsZW1lbnRhdGlvbnMgb2YgSUF1dGhlbnRpY2F0b3IgYW5kIElBdXRob3JpemVyCiAgIChDQVNTQU5EUkEtNDg5OCkKICogRml4IHRpbWVzdGFtcC1iYXNlZCB0b21zdG8QrwfHAAABT948slwAEERSQS0zMTgzKQogKiBGaXgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4kAAAEAaXRobWljYWxseSAoQ0FTU0FORFJBLTEyMjAKICogcmVtb3ZlIG1lc3NhZ2UgZGVzZXJpYWxpemF0aW9uIHN0YWdlLCBhbmQgdW5jYXAgcmVhZC93cml0ZSBzdGFnZXMKICAgc28gc2xvdyByZWFkcy93cml0ZXMgZG9uJ3QgYmxvY2sgZ29zc2lwIHByb2Nlc3NpbmcgKENBU1NBTkRSQS0xMzU4KQogKiBhZGQgam14IHBvcnQgY29uZmlndXJhdGlvbiB0byBEZWJpYW4gcGFja2FnZSAoQ0FTU0FORFJBLTEyMDIpCiAqIHVzZSBtbG9ja2FsbCB2aWEgSk5BLB78v7wAAAFP3jyyXAAQciAoQ0FTU0FORFJBLTExNgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgviQAAAQBuIGluc3RlYWQgb2YgTlBFIHdoZW4gUEZTIGVuY291bnRlcnMKICAgYW4gdW5jb25maWd1cmVkIG5vZGUgKyBubyBkZWZhdWx0IChDQVNTQU5EUkEtNDM0OSkKICogZml4IGJ1ZyBpbiBzc3RhYmxlIGJsYWNrbGlzdGluZyB3aXRoIExDUyAoQ0FTU0FORFJBLTQzNDMpCiAqIExDUyBubyBsb25nZXIgcHJvbW90ZXMgdGlueSBzc3RhYmxlcyBvdXQgb2YgTDAgKENBU1NBTkRSQS00MzQxKQogKiBza2lwIHRvbWJzdG9uZXMgZHVyaW5nIGhpbnQgcmVwbGF5ewQTpQAAAU/ePLJcABAgKiBtYWtlIHN0cmVzcy5qAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+JAAABAHRyZWFtcyBmaWxlcyAoQ0FTU0FORFJBLTExNjkpCiAqIGFsbG93IHJlbW92aW5nIGVudGlyZSByb3cgdGhyb3VnaCBiYXRjaF9tdXRhdGUgRGVsZXRpb24gKENBU1NBTkRSQS0xMDI3KQogKiBhZGQgSk1YIG1ldHJpY3MgZm9yIHJvdy1sZXZlbCBibG9vbSBmaWx0ZXIgZmFsc2UgcG9zaXRpdmVzIChDQVNTQU5EUkEtMTIxMikKICogYWRkZWQgYSByZWRoYXQgaW5pdCBzY3JpcHQgdG8gY29udHJpYiAoQ0FTU0FORFJBLTEyMDEpCiAqIHVzZSBtaWRwb2k7FByYAAABT948slwAEG9sdW1ucyIgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4kAAAEAZm9yIGdldF9yYW5nZV9zbGljZXMgKENBU1NBTkRSQS0xMDg4LCBDQVNTQU5EUkEtMTYxOSkKICogTWFrZSBtZW10YWJsZSBmbHVzaCB0aHJlc2hvbGRzIHBlci1DRiBpbnN0ZWFkIG9mIGdsb2JhbCAKICAgKENBU1NBTkRSQS0xMDA3LCAxNjM3KQogKiBhZGQgY2xpIHN1cHBvcnQgZm9yIGJpbmFyeSBkYXRhIHdpdGhvdXQgQ2ZEZWYgaGludHMgKENBU1NBTkRSQS0xNjAzKQogKiBmaXggYnVpbGRpbmcgU1NUYWJsZSBzdGF0aXN0aWNzIHBvc3Qtc3RyZcHWhVMAAAFP3jyyXAAQcCBibG9ja2luZyAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgviQAAAQByIHZlcmJvc2UpIHRvIHN0cmVzcyB0b29sIChDQVNTQU5EUkEtNjg0OSkKICogRml4IHJhY2UgY29uZGl0aW9uIGluIEJhdGNoIENMRSAoQ0FTU0FORFJBLTY4NjApCiAqIEltcHJvdmUgY2xlYW51cC9zY3J1Yi91cGdyYWRlc3N0YWJsZXMgZmFpbHVyZSBoYW5kbGluZyAoQ0FTU0FORFJBLTY3NzQpCiAqIEJ5dGVCdWZmZXIgd3JpdGUoKSBtZXRob2RzIGZvciBzZXJpYWxpemluZyBzc3RhYmxlcyAoQ0FTU0FORFJBLTY3ODEpCiAqIFByb3BlciBjb21wftDNNQAAAU/ePLJcABBpbmcgTUFYX09VVFNUQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+JAAABACBmbHVzaCByYWNlcyB3aXRoIHNjaGVtYSB1cGRhdGVzIChDQVNTQU5EUkEtMTcxNSkKICogYWRkIGNsdXN0ZXJ0b29sLCBjb25maWctY29udmVydGVyLCBzc3RhYmxla2V5cywgYW5kIHNjaGVtYXRvb2wgCiAgIFdpbmRvd3MgLmJhdCBmaWxlcyAoQ0FTU0FORFJBLTE3MjMpCiAqIHJlamVjdCByYW5nZSBxdWVyaWVzIHJlY2VpdmVkIGR1cmluZyBib290c3RyYXAgKENBU1NBTkRSQS0xNzM5KQogKiBmaXggd3JhcHBpbmctcmFuZ2UgcXVlcmllcyBvbiChqHT1AAABT948slwAEC0xMDc0KQogKiBub2RlcyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4kAAAEAbHVyZSAKICAgICAoQ0FTU0FORFJBLTM4NzQpCiAqIGFkZCBub2RldG9vbCByZWJ1aWxkX2luZGV4IChDQVNTQU5EUkEtMzU4MykKICogYWRkIG5vZGV0b29sIHJhbmdla2V5c2FtcGxlIChDQVNTQU5EUkEtMjkxNykKICogRml4IHN0cmVhbWluZyB0b28gbXVjaCBkYXRhIGR1cmluZyBtb3ZlIG9wZXJhdGlvbnMgKENBU1NBTkRSQS0zNjM5KQogKiBOb2RldG9vbCBhbmQgQ0xJIGNvbm5lY3QgdG8gbG9jYWxob3N0IGJ5IGRlZmF1bHQgKENBU1NBTkRSQfG/PP4AHBWQKJVPAAAAAU/ePLJcABBraXAgLS1kZWJ1ZyByZXF1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+LAAABAGZ0IHRvIG5vZGV0b29sIHRvIHJlcG9ydCBpZiB0aHJpZnQgc2VydmVyIGlzIHJ1bm5pbmcKICAgKENBU1NBTkRSQS0yNzIyKQogKiBGaXhlZCByb3dzIGJlaW5nIGNhY2hlZCBpZiB0aGV5IGRvIG5vdCBleGlzdCAoQ0FTU0FORFJBLTI3MjMpCiAqIGZpeCB0cnVuY2F0ZS9jb21wYWN0aW9uIHJhY2UgKENBU1NBTkRSQS0yNjczKQogKiB3b3JrYXJvdW5kIGxhcmdlIHJlc3VsdHNldHMgY2F1c2luZyBsYXJnZSBhbGxvY2F0aW9uIHJldGVudGlvbgogICBiv6I3AAABT948slwAEG9wZXJhdGlvbiAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4sAAAEAbXBpbGF0aW9uIGluIGphdmEgOCAoQ0FTU0FORFJBLTcyMDgpCiAqIEZpeCBBc3NlcnRpb24gZXJyb3Igb24gUmFuZ2VUb21ic3RvbmVMaXN0IGRpZmYgKENBU1NBTkRSQS04MDEzKQogKiBSZWxlYXNlIHJlZmVyZW5jZXMgdG8gb3ZlcmxhcHBpbmcgc3N0YWJsZXMgZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS03ODE5KQogKiBTZW5kIG5vdGlmaWNhdGlvbiB3aGVuIG9wZW5pbmcgY29tcGFjdGlvbiByZXN1bHRzIGVhcmx5IChDQVNTQU5EUkEtOP7HWO0AAAFP3jyyXAAQTkRSQS0zMjU5KQoKCjEuMAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgviwAAAQBDKiAyLjEuMSAoQ0FTU0FORFJBLTgyNTgpCiAqIEZpeCBDYXNzYW5kcmEgY3Jhc2ggd2hlbiBydW5uaW5nIG9uIEpESzggdXBkYXRlIDQwIChDQVNTQU5EUkEtODIwOSkKICogT3B0aW1pemUgcGFydGl0aW9uZXIgdG9rZW5zIChDQVNTQU5EUkEtODIzMCkKICogSW1wcm92ZSBjb21wYWN0aW9uIG9mIHJlcGFpcmVkL3VucmVwYWlyZWQgc3N0YWJsZXMgKENBU1NBTkRSQS04MDA0KQogKiBNYWtlIGNhY2hlIHNlcmlhbGl6ZXJzIHBsdWdnYWJsZSAoQ0FTjGnfngAAAU/ePLJcABBhbWUgdGFibGUgaW4gdGhlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+LAAABAERSQS01ODA0KQogKiBBbGxvdyBlbXB0eSBJTiByZWxhdGlvbnMgaW4gU0VMRUNUL1VQREFURS9ERUxFVEUgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTU2MjYpCiAqIGNxbHNoOiBmaXggY3Jhc2hpbmcgb24gV2luZG93cyBkdWUgdG8gbGliZWRpdCBkZXRlY3Rpb24gKENBU1NBTkRSQS01ODEyKQogKiBmaXggYnVsay1sb2FkaW5nIGNvbXByZXNzZWQgc3N0YWJsZXMgKENBU1NBTkRSQS01ODIwKQogKiAoSGFkb29wKSBmaXggcXVvdGluZyBpbiBDcWxQYWe3ST19AAABT948slwAEENBU1NBTkRSQS01MzUxKQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4sAAAEAbmNPbmVSZXNwb25zZSAoQ0FTU0FORFJBLTU2OTApCiAqIGZpeCBzY2hlbWEtcmVsYXRlZCB0cmlnZ2VyIGlzc3VlcyAoQ0FTU0FORFJBLTU3NzQpCiAqIEJldHRlciB2YWxpZGF0aW9uIHdoZW4gYWNjZXNzaW5nIENRTDMgdGFibGUgZnJvbSB0aHJpZnQgKENBU1NBTkRSQS01MTM4KQogKiBGaXggYXNzZXJ0aW9uIGVycm9yIGR1cmluZyByZXBhaXIgKENBU1NBTkRSQS01ODAxKQogKiBGaXggcmFuZ2UgdG9tYnN0b25lIGJ1ZyAoQ0FTU0FORFJBLTU4MMC9//kAAAFP3jyyXAAQIFVzZXItZGVmaW5lZCB0eQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgviwAAAQBSQS0zNDA5KQogKiBpZ25vcmUgMC44IGhpbnRzIGV2ZW4gaWYgY29tcGFjdGlvbiBiZWdpbnMgYmVmb3JlIHdlIHRyeSB0byBwdXJnZQogICB0aGVtIChDQVNTQU5EUkEtMzM4NSkKICogcmVtb3ZlIHByb2NydW4gKGJpblxkYWVtb24pIGZyb20gQ2Fzc2FuZHJhIHNvdXJjZSB0cmVlIGFuZCAKICAgYXJ0aWZhY3RzIChDQVNTQU5EUkEtMzMzMSkKICogbWFrZSBjYXNzYW5kcmEgY29tcGlsZSB1bmRlciBKREs3IChDQVNTQU5EUkEtMzI3NSkKICogcmVtkf0gOgAAAU/ePLJcABBEUkEtMTIxMikKICogYWRkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+LAAABAGFsaWRhdGUgcm93IGNhY2hlIHdoZW4gZHJvcHBpbmcgQ0YgKENBU1NBTkRSQS02MzUxKQogKiBhZGQgbm9uLWphbW0gcGF0aCBmb3IgY2FjaGVkIHN0YXRlbWVudHMgKENBU1NBTkRSQS02MjkzKQogKiBhZGQgd2luZG93cyBiYXQgZmlsZXMgZm9yIHNoZWxsIGNvbW1hbmRzIChDQVNTQU5EUkEtNjE0NSkKICogUmVxdWlyZSBsb2dnaW5nIGluIGZvciBUaHJpZnQgQ1FMMi8zIHN0YXRlbWVudCBwcmVwYXJhdGlvbiAoQ0FTU0FORFJBLTYyNTQpCiAqIHJJKqFXAAABT948slwAEGVJdGVyYXRvciAKICAgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4sAAAEAIGNvbXBhY3Rpb24gKENBU1NBTkRSQS0yNDMxKQogKiByZS1zZXQgYm9vdHN0cmFwcGVkIGZsYWcgYWZ0ZXIgbW92ZSBmaW5pc2hlcyAoQ0FTU0FORFJBLTI0MzUpCiAqIGRpc3BsYXkgdmFsaWRhdGlvbl9jbGFzcyBpbiBDTEkgJ2Rlc2NyaWJlIGtleXNwYWNlJyAoQ0FTU0FORFJBLTI0NDIpCiAqIG1ha2UgY2xlYW51cCBjb21wYWN0aW9ucyBjbGVhbnVwIHRoZSByb3cgY2FjaGUgKENBU1NBTkRSQS0yNDUxKQogKiBhZGQgY29sdW1uIGZpZWxkcyB2YcE820UAAAFP3jyyXAAQcmVzc2lvbiBhY3R1YWxseQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgviwAAAQA1LCBDQVNTQU5EUkEtNTYwMCkKICogQmluYXJ5IHByb3RvY29sOiBhbGxvdyBiYXRjaGluZyBhbHJlYWR5IHByZXBhcmVkIHN0YXRlbWVudHMgKENBU1NBTkRSQS00NjkzKQogKiBBbGxvdyBwcmVwYXJpbmcgdGltZXN0YW1wLCB0dGwgYW5kIGxpbWl0IGluIENRTDMgcXVlcmllcyAoQ0FTU0FORFJBLTQ0NTApCiAqIFN1cHBvcnQgbmF0aXZlIGxpbmsgdy9vIEpOQSBpbiBKYXZhNyAoQ0FTU0FORFJBLTM3MzQpCiAqIFVzZSBTQVNMIGF1dGhlbnRpY2F0kv1EcAAAAU/ePLJcABBuZyBjb2x1bW5zIGFyZSBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+LAAABACBwcmVwYXJpbmcgcXVlcmllcyB3aXRoIGNvdW50ZXIgaW5jcmVtZW50IChDQVNTQU5EUkEtNTAyMikKICogRml4IHByZXBhcmluZyB1cGRhdGVzIHdpdGggY29sbGVjdGlvbnMgKENBU1NBTkRSQS01MDE3KQogKiBEb24ndCBnZW5lcmF0ZSBVVUlEIGJhc2VkIG9uIG90aGVyIG5vZGUgYWRkcmVzcyAoQ0FTU0FORFJBLTUwMDIpCiAqIEZpeCBtZXNzYWdlIHdoZW4gdHJ5aW5nIHRvIGFsdGVyIGEgY2x1c3RlcmluZyBrZXkgdHlwZSAoQ0FTU0FORFJBLTXYjKkwAAABT948slwAECkgUmVqZWN0IChub3QgeWUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4sAAAEAYW1pbHkgbWJlYW5zLiAndHlwZScgd2lsbCBub3cgaW5jbHVkZSBlaXRoZXIgCiAgICdJbmRleENvbHVtbkZhbWlsaWVzJyBvciAnQ29sdW1uRmFtaWxpZXMnIGRlcGVuZGluZyBvbiB0aGUgQ0ZTIHR5cGUuCiAgIChDQVNTQU5EUkEtMTM4NSkKICogZGlzYWxsb3cgaW52YWxpZCBrZXlzcGFjZSBhbmQgY29sdW1uIGZhbWlseSBuYW1lcy4gVGhpcyBpbmNsdWRlcyBuYW1lIHRoYXQKICAgbWF0Y2hlcyBhICdeXHcrJyByZWdleC4gKENBU1NBTkRSQS0xMwKFaaMAAAFP3jyyXAAQICogbWFrZSBmYWlsdXJlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgviwAAAQBBLTQyNjEpCiAqIHJlbW92ZSB2ZXN0aWdlcyBvZiBUaHJpZnQgdW5mcmFtZWQgbW9kZSAoQ0FTU0FORFJBLTQ3MjkpCiAqIG9wdGltaXplIHNpbmdsZS1yb3cgUEsgbG9va3VwcyAoQ0FTU0FORFJBLTQ3MTApCiAqIGFkanVzdCBibG9ja0ZvciBjYWxjdWxhdGlvbiB0byBhY2NvdW50IGZvciBwZW5kaW5nIHJhbmdlcyBkdWUgdG8gbm9kZSAKICAgbW92ZW1lbnQgKENBU1NBTkRSQS04MzMpCiAqIENoYW5nZSBDUUwgdmVyc2lvbiB0byAzLjAuMCBhbmQg4V3+qAAAAU/ePLJcABBydW5jYXRpbmcgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+LAAABAGZyYWN0aW9uYWwgZGF5cyAoQ0FTU0FORFJBLTg0MDYpCiAqIEZpeCBzb21lIG11bHRpLWNvbHVtbiByZWxhdGlvbnMgd2l0aCBpbmRleGVzIG9uIHNvbWUgY2x1c3RlcmluZwogICBjb2x1bW5zIChDQVNTQU5EUkEtODI3NSkKICogRml4IG1lbW9yeSBsZWFrIGluIFNTVGFibGVTaW1wbGUqV3JpdGVyIGFuZCBTU1RhYmxlUmVhZGVyLnZhbGlkYXRlKCkKICAgKENBU1NBTkRSQS04NzQ4KQogKiBUaHJvdyBPT00gaWYgYWxsb2NhdGluZyBtZW1vcnkgZmHo9aXRAAABT948slwAECkKICogbW92ZSBlbmRwb2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL4sAAAEAbXBsZXRlcyAoQ0FTU0FORFJBLTMyMDcpCiAqIEZpeCBzdHJlYW1PdXRTZXNzaW9uIGtlZXBpbmcgc3N0YWJsZXMgcmVmZXJlbmNlcyBmb3JldmVyIGlmIHRoZSByZW1vdGUgZW5kCiAgIGRpZXMgKENBU1NBTkRSQS0zMjE2KQogKiBSZW1vdmUgZHluYW1pY19zbml0Y2ggYm9vbGVhbiBmcm9tIGV4YW1wbGUgY29uZmlndXJhdGlvbiAoZGVmYXVsdGluZyB0byAKICAgdHJ1ZSkgYW5kIHNldCBkZWZhdWx0IGJhZG5lc3MgdGhyZXNob2xkIHRvIDAuMSAoQ4T1TbcAAAFP3jyyXAAQIGxpbmVzIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgviwAAAQBvZGUgKENBU1NBTkRSQS0zNzIxKQogKiBNYWtlIENGTWV0YURhdGEgY29udmVyc2lvbnMgdG8vZnJvbSB0aHJpZnQvbmF0aXZlIHNjaGVtYSBpbnZlcnNlcwogICAoQ0FTU0FORFJBXzM1NTkpCiAqIEFkZCBpbml0aWFsIGNvZGUgZm9yIENRTCAzLjAtYmV0YSAoQ0FTU0FORFJBLTI0NzQsIDM3ODEsIDM3NTMpCiAqIEFkZCB3aWRlIHJvdyBzdXBwb3J0IGZvciBDb2x1bW5GYW1pbHlJbnB1dEZvcm1hdCAoQ0FTU0FORFJBLTMyNjQpCiAqIEFsbG93IGV4WjpGhAAAAE6wILOLACMABnN5c3RlbQAAEHNjaGVtYV9rZXlzcGFjZXMAAAQAAAAJAAAAAAEBWh/yZ6zgPxKFY8+uYQPGXlVTZnIABRX31fm64AAAAAAAAAAAFXjLGAAcKe0QIFAgAAABT948slwAEGlzbWF0Y2ggYmVpbmcgZGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL40AAAEAdGVycwogICAoQ0FTU0FORFJBLTY0OCkKICogVmFzdCBpbXByb3ZlbWVudHMgaW4gYW50aWNvbXBhY3Rpb24gc3BlZWQgKENBU1NBTkRSQS02MDcpCiAqIFNwZWVkIHVwIGxvZyByZXBsYXkgYW5kIHdyaXRlcyBieSBhdm9pZGluZyByZWR1bmRhbnQgc2VyaWFsaXphdGlvbnMKICAgKENBU1NBTkRSQS02NTIpCgoKMC41LjAgYmV0YSAyCiAqIEJvb3RzdHJhcCBpbXByb3ZlbWVudHMgKHNldmVyYWwgdGlja2V0cykKICogYWRkIG5vZGVwcm9iZSByZXBhaUZbfOEAAAFP3jyyXAAQRFJBLTM0MDcpCiAqIGFkZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvjQAAAQBvdHN0cmFwIGltcHJvdmVtZW50cyAoc2V2ZXJhbCB0aWNrZXRzKQogKiBhZGQgbm9kZXByb2JlIHJlcGFpciBhbnRpLWVudHJvcHkgZmVhdHVyZSAoQ0FTU0FORFJBLTE5MywgQ0FTU0FORFJBLTUyMCkKICogZml4IHBvc3NpYmlsaXR5IG9mIHBhcnRpdGlvbiB3aGVuIG1hbnkgbm9kZXMgcmVzdGFydCBhdCBvbmNlCiAgIGluIGNsdXN0ZXJzIHdpdGggbXVsdGlwbGUgc2VlZHMgKENBU1NBTkRSQS0xNTApCiAqIGZpeCBOUEUgaW4gZ2V0X3JhbmdlX3Nsi2xEFwAAAU/ePLJcABAKICAgZXZlbiBpZiB0aGUgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+NAAABAFIgY29tbWl0bG9nIHJlcGxheSAoQ0FTU0FORFJBLTkxOTUpCiAqIEdDSW5zcGVjdG9yIGxvZ3MgdmVyeSBkaWZmZXJlbnQgdGltZXMgKENBU1NBTkRSQS05MTI0KQogKiBGaXggZGVsZXRpbmcgZnJvbSBhbiBlbXB0eSBsaXN0IChDQVNTQU5EUkEtOTE5OCkKICogVXBkYXRlIHR1cGxlIGFuZCBjb2xsZWN0aW9uIHR5cGVzIHRoYXQgdXNlIGEgdXNlci1kZWZpbmVkIHR5cGUgd2hlbiB0aGF0IFVEVAogICBpcyBtb2RpZmllZCAoQ0FTU0FORFJBLTkxNDjENoXuAAABT948slwAEG9wcG9ydHVuaXN0aWMgcmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL40AAAEAIEFkZCBKTVggYXV0aGVudGljYXRpb24gc3VwcG9ydCAoQ0FTU0FORFJBLTUwODApCiAqIEZpeCBmb3JjZUZsdXNoIGJlaGF2aW9yIChDQVNTQU5EUkEtNTI0MSkKICogY3Fsc2g6IEFkZCB1c2VybmFtZSBhdXRvY29tcGxldGlvbiAoQ0FTU0FORFJBLTUyMzEpCiAqIEZpeCBDUUwzIGNvbXBvc2l0ZSBwYXJ0aXRpb24ga2V5IGVycm9yIChDQVNTQU5EUkEtNTI0MCkKICogQWxsb3cgSU4gY2xhdXNlIG9uIGxhc3QgY2x1c3RlcmluZyBrZXkgKENBU1NBTvWMOqMAAAFP3jyyXAAQNDMyMSkKICogSW1wcm92ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvjQAAAQBlZCBvbiBzdGFydHVwIChDQVNTQU5EUkEtODUxMikKICogUHJvcGVybHkgY2FsY3VsYXRlIGV4cGVjdGVkIHdyaXRlIHNpemUgZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS04NTMyKQogKiBJbnZhbGlkYXRlIGFmZmVjdGVkIHByZXBhcmVkIHN0YXRlbWVudHMgd2hlbiBhIHRhYmxlJ3MgY29sdW1ucwogICBhcmUgYWx0ZXJlZCAoQ0FTU0FORFJBLTc5MTApCiAqIFN0cmVzcyAtIHVzZXIgZGVmaW5lZCB3cml0ZXMgc2hvdWxkIHBvcHVsYXRlIHNlz0ZxWAAAAU/ePLJcABB4IENhc3NhbmRyYSBjbGkgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+NAAABAHQgY3Jvc3MtREMgd3JpdGVzIChDQVNTQU5EUkEtMzQ3MikKICogYGRlc2NyaWJlIHJpbmdgIGNvbW1hbmQgZm9yIENMSSAoQ0FTU0FORFJBLTMyMjApCiAqIChIYWRvb3ApIHNraXAgZW1wdHkgcm93cyB3aGVuIGVudGlyZSByb3cgaXMgcmVxdWVzdGVkLCByZWR1eCAoQ0FTU0FORFJBLTI4NTUpCgoKMS4wLjIKICogImRlZnJhZ21lbnQiIHJvd3MgZm9yIG5hbWUtYmFzZWQgcXVlcmllcyB1bmRlciBTVENTIChDQVNTQU5EUkEtMjUwMykKICogQWRkIHR4EEh8AAABT948slwAEHAgcGVyZm9ybWFuY2UgZm8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL40AAAEAU0FORFJBLTkxOTIpCiAqIFVzZSBoaWdoZXIgdGltZW91dCBmb3IgcHJlcGFpciBhbmQgc25hcHNob3QgaW4gcmVwYWlyIChDQVNTQU5EUkEtOTI2MSkKICogRml4IGFudGljb21wYWN0aW9uIGJsb2NraW5nIEFOVElfRU5UUk9QWSBzdGFnZSAoQ0FTU0FORFJBLTkxNTEpCiAqIFJlcGFpciB3YWl0cyBmb3IgYW50aWNvbXBhY3Rpb24gdG8gZmluaXNoIChDQVNTQU5EUkEtOTA5NykKTWVyZ2VkIGZyb20gMi4wOgogKiBGaXggY291bnRpbmcgb2YgdG9tYnn6X3IAAAFP3jyyXAAQIEFsbG93IHRha2VDb2x1bQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvjQAAAQA0MTUzKQogKiB1cGRhdGUgY2FjaGVzIHRvIHVzZSBieXRlW10ga2V5cyB0byByZWR1Y2UgbWVtb3J5IG92ZXJoZWFkIChDQVNTQU5EUkEtMzk2NikKICogYWRkIGNvbHVtbiBsaW1pdCB0byBjbGkgKENBU1NBTkRSQS0zMDEyLCA0MDk4KQogKiBjbGVhbiB1cCBhbmQgb3B0aW1pemUgRGF0YU91dHB1dEJ1ZmZlciwgdXNlZCBieSBDUUwgY29tcHJlc3Npb24gYW5kCiAgIENvbXBvc2l0ZVR5cGUgKENBU1NBTkRSQS00MDcyKQogKiBvcHRpbWl6ZSBjb21tv9Jg5wAAAU/ePLJcABBkaW5nIiBmbGFnIHRvIGFsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+NAAABACAoQ0FTU0FORFJBLTM1MzgpCiAqIEltcHJvdmUgbWVtdGFibGUgc2xpY2UgaXRlcmF0aW9uIHBlcmZvcm1hbmNlIChDQVNTQU5EUkEtMzU0NSkKICogbW9yZSBlZmZpY2llbnQgYWxsb2NhdGlvbiBvZiBzbWFsbCBibG9vbSBmaWx0ZXJzIChDQVNTQU5EUkEtMzYxOCkKICogVXNlIHNlcGFyYXRlIHdyaXRlciB0aHJlYWQgaW4gU1NUYWJsZVNpbXBsZVVuc29ydGVkV3JpdGVyIChDQVNTQU5EUkEtMzYxOSkKICogZnN5bmMgdGhlIGRpcmVjdG9yeSBhZnRxl2MkAAABT948slwAEHMgZGVsZXRlZAogICAoQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL40AAAEAIERvbid0IGRyb3AgbG9jYWwgbXV0YXRpb25zIHdpdGhvdXQgYSBoaW50IChDQVNTQU5EUkEtNjUxMCkKICogRG9uJ3QgYWxsb3cgbnVsbCBtYXhfaGludF93aW5kb3dfaW5fbXMgKENBU1NBTkRSQS02NDE5KQogKiBWYWxpZGF0ZSBTbGljZVJhbmdlIHN0YXJ0IGFuZCBmaW5pc2ggbGVuZ3RocyAoQ0FTU0FORFJBLTY1MjEpCgoKMi4wLjMKICogRml4IEZEIGxlYWsgb24gc2xpY2UgcmVhZCBwYXRoIChDQVNTQU5EUkEtNjI3NSkKICogQ2FuY2VsIHJlYVhdUd4AAAFP3jyyXAAQIGRhdGFjZW50ZXIgbmFtZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvjQAAAQBSQS00MjMpCiAqIFNpbXBsaWZpZWQgY29uc3RydWN0aW9uIG9mIGN1c3RvbSBSZXBsaWNhdGlvblN0cmF0ZWd5IGNsYXNzZXMKICAgKENBU1NBTkRSQS00OTcpCiAqIEdyYXBoaWNhbCBhcHBsaWNhdGlvbiAoU3dpbmcpIGZvciByaW5nIGludGVncml0eSB2ZXJpZmljYXRpb24gYW5kIAogICB2aXN1YWxpemF0aW9uIHdhcyBhZGRlZCB0byBjb250cmliIChDQVNTQU5EUkEtMjUyKQogKiBBZGQgRENRVU9SVU0sIERDUVVPUlVNU1lOQyBjb25zaXN0ZW5jKvdhXgAAAU/ePLJcABBORFJBLTc5NzQpCiAqIEZpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+NAAABAGl4IGZkIGxlYWsgaW4gc3N0YWJsZTJqc29uIHdpdGggbm9uLW1tYXAnZCBpL28gKENBU1NBTkRSQS0yMzA0KQogKiByZWR1Y2UgbWVtb3J5IHVzZSBkdXJpbmcgc3RyZWFtaW5nIG9mIG11bHRpcGxlIHNzdGFibGVzIChDQVNTQU5EUkEtMjMwMSkKICogcHVyZ2UgdG9tYnN0b25lZCByb3dzIGZyb20gY2FjaGUgYWZ0ZXIgR0NHcmFjZVNlY29uZHMgKENBU1NBTkRSQS0yMzA1KQogKiBhbGxvdyB6ZXJvIHJlcGxpY2FzIGluIGEgTlRTIGRhdGFjZW50ZXLv8hHTAAABT948slwAEFNTQU5EUkEtNzA4NykKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL40AAAEAZWQgb3B0aW9uIHRvIGNvbnRyaWIvd29yZF9jb3VudCB0byBvdXRwdXQgcmVzdWx0cyBiYWNrIHRvIENhc3NhbmRyYQogICAoQ0FTU0FORFJBLTEzNDIpCiAqIHJld3JpdGUgSGFkb29wIENvbHVtbkZhbWlseVJlY29yZFdyaXRlciB0byBwb29sIGNvbm5lY3Rpb25zLCByZXRyeSB0bwogICBtdWx0aXBsZSBDYXNzYW5kcmEgbm9kZXMsIGFuZCBzbW9vdGggaW1wYWN0IG9uIHRoZSBDYXNzYW5kcmEgY2x1c3RlcgogICBieSB1c2luZyBzbWFsbGVyIGJhdD4HH6sAAAFP3jyyXAAQdGVybmFsbHkgYnkgY29tcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvjQAAAQBpeCBTaW1wbGVBdXRob3JpemVyIGV4YW1wbGUgKENBU1NBTkRSQS01MDcyKQogKiBjcWxzaDogZm9yY2UgQ0wuT05FIGZvciB0cmFjaW5nIGFuZCBzeXN0ZW0uc2NoZW1hKiBxdWVyaWVzIChDQVNTQU5EUkEtNTA3MCkKICogSW5jbHVkZXMgY2Fzc2FuZHJhLXNodWZmbGUgaW4gdGhlIGRlYmlhbiBwYWNrYWdlIChDQVNTQU5EUkEtNTA1OCkKTWVyZ2VkIGZyb20gMS4xOgogKiBmaXggbXVsdGl0aHJlYWRlZCBjb21wYWN0aW9uIGRlYWRsb2NrIChDQVNTOXDOggAAAU/ePLJcABBka2V5cyAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+NAAABAERSQS00Nzc2KQogKiBBbGxvdyByZW5hbWluZyBQSyBjb2x1bW5zIGluIENRTDMgKENBU1NBTkRSQS00ODIyKQogKiBGaXggYmluYXJ5IHByb3RvY29sIE5FV19OT0RFIGV2ZW50IChDQVNTQU5EUkEtNDY3OSkKICogRml4IHBvdGVudGlhbCBpbmZpbml0ZSBsb29wIGluIHRvbWJzdG9uZSBjb21wYWN0aW9uIChDQVNTQU5EUkEtNDc4MSkKICogUmVtb3ZlIHN5c3RlbSB0YWJsZXMgYWNjb3VudGluZyBmcm9tIHNjaGVtYSAoQ0FTU0FORFJBLTQ4NTApCiC6036+ABw+Sk1nJF4AAAFP3jyyXAAQcmVkIHBhcnRpdGlvbmVyIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvjwAAAQBzIChDQVNTQU5EUkEtNzM1MSkKICogTW9kaWZ5IHJlY29uY2lsZSBsb2dpYyB0byBhbHdheXMgcGljayBhIHRvbWJzdG9uZSBvdmVyIGEgY291bnRlciBjZWxsCiAgIChDQVNTQU5EUkEtNzM0NikKICogQXZvaWQgaW5jcmVtZW50YWwgY29tcGFjdGlvbiBvbiBXaW5kb3dzIChDQVNTQU5EUkEtNzM2NSkKICogRml4IGV4Y2VwdGlvbiB3aGVuIHF1ZXJ5aW5nIGEgY29tcG9zaXRlLWtleWVkIHRhYmxlIHdpdGggYSBjb2xsZWN0aW9uIGluZGV4CiAgIChD9WD7ngAAAU/ePLJcABBkIGRlc2NyaWJlX3NuaXRjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+PAAABACBjYXNzYW5kcmEtc3RyZXNzIHNvIGl0IHJlc3BlY3RzIHRoZSBDTCBwYXNzZWQgaW4gdXNlciBtb2RlIChDQVNTQU5EUkEtODk0OCkKICogRml4IHJhcmUgTlBFIGluIENvbHVtbkRlZmluaXRpb24jaGFzSW5kZXhPcHRpb24oKSAoQ0FTU0FORFJBLTg3ODYpCiAqIGNhc3NhbmRyYS1zdHJlc3MgcmVwb3J0cyBwZXItb3BlcmF0aW9uIHN0YXRpc3RpY3MsIHBsdXMgbWlzYyAoQ0FTU0FORFJBLTg3NjkpCiAqIFVzZSBsb25nIGZvciBrZXkgY291bnQgaW7X0BVjAAABT948slwAEGUgKENBU1NBTkRSQS01NjEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL48AAAEAKCkgKENBU1NBTkRSQS03MDI1KQogKiBGaXggYmF0Y2hsb2cgdG8gYWNjb3VudCBmb3IgQ0YgdHJ1bmNhdGlvbiByZWNvcmRzIChDQVNTQU5EUkEtNjk5OSkKICogRml4IENRTFNIIHBhcnNpbmcgb2YgZnVuY3Rpb25zIGFuZCBCTE9CIGxpdGVyYWxzIChDQVNTQU5EUkEtNzAxOCkKICogUHJvcGVybHkgbG9hZCB0cnVzdG9yZSBpbiB0aGUgbmF0aXZlIHByb3RvY29sIChDQVNTQU5EUkEtNjg0NykKICogQWx3YXlzIGNsZWFuIHVwIHJlZmVyZW5jZXMgafCtP44AAAFP3jyyXAAQbiBwYXJhbGxlbCAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvjwAAAQBpYWwgaW5maW5pdGUgbG9vcCB3aGVuIHBhZ2luZyBxdWVyeSB3aXRoIElOIChDQVNTQU5EUkEtNjQ2NCkKICogRml4IGFzc2VydGlvbiBlcnJvciBpbiBBYnN0cmFjdFF1ZXJ5UGFnZXIuZGlzY2FyZEZpcnN0IChDQVNTQU5EUkEtNjQ0NykKICogRml4IHN0cmVhbWluZyBvbGRlciBTU1RhYmxlIHlpZWxkcyB1bm5lY2Vzc2FyeSB0b21ic3RvbmVzIChDQVNTQU5EUkEtNjUyNykKTWVyZ2VkIGZyb20gMS4yOgogKiBJbXByb3ZlZCBlcnJvciBtZXNzYWdlIWQBOgAAAU/ePLJcABBsdW1ucyAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+PAAABAG9uZXIpIG9mIGEgbm9kZSAoQ0FTU0FORFJBLTI2MDYpCiAqIFN0cmVhbXMgQ29tcHJlc3Npb24gKENBU1NBTkRSQS0zMDE1KQogKiBhZGQgYWJpbGl0eSB0byB1c2UgbXVsdGlwbGUgdGhyZWFkcyBkdXJpbmcgYSBzaW5nbGUgY29tcGFjdGlvbgogICAoQ0FTU0FORFJBLTI5MDEpCiAqIG1ha2UgQWJzdHJhY3RCb3VuZHMubm9ybWFsaXplIHN1cHBvcnQgb3ZlcmxhcHBpbmcgcmFuZ2VzIChDQVNTQU5EUkEtMjY0MSkKICogZml4IG9mIHRoZSBDUUwgY29CAGkYAAABT948slwAEGVybGFwcGluZyBjb2xkIHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL48AAAEAbWV0cmljcy1jb3JlIHRvIHZlcnNpb24gMi4yLjAgKENBU1NBTkRSQS01OTQ3KQogKiBGaXggQ3FsUmVjb3JkV3JpdGVyIHdpdGggY29tcG9zaXRlIGtleXMgKENBU1NBTkRSQS01OTQ5KQogKiBBZGQgc25pdGNoLCBzY2hlbWEgdmVyc2lvbiwgY2x1c3RlciwgcGFydGl0aW9uZXIgdG8gSk1YIChDQVNTQU5EUkEtNTg4MSkKICogQWxsb3cgZGlzYWJsaW5nIFNsYWJBbGxvY2F0b3IgKENBU1NBTkRSQS01OTM1KQogKiBNYWtlIHVzZXItZGVmaW5lZCBjbwpKaEoAAAFP3jyyXAAQZW1lbnQgYWNjZXNzIGluIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvjwAAAQAgYnVnIHdoZXJlIGNhY2hlIGlzIG5vdCB1cGRhdGVkIChDQVNTQU5EUkEtNDE5MCkKICogc3RyZXNzIHRvb2wgdG8gcmV0dXJuIGFwcHJvcHJpYXRlIGV4aXQgY29kZSBvbiBmYWlsdXJlIChDQVNTQU5EUkEtNDE4OCkKCgoxLjAuOQogKiBpbXByb3ZlIGluZGV4IHNhbXBsaW5nIHBlcmZvcm1hbmNlIChDQVNTQU5EUkEtNDAyMykKICogYWx3YXlzIGNvbXBhY3QgYXdheSBkZWxldGVkIGhpbnRzIGltbWVkaWF0ZWx5IGFmdGVyIGhhbmRvZmYgKENBU1NBegEymgAAAU/ePLJcABByb3IgZm9yIENGIHdpdGggAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+PAAABACAqIGZpeCBwb3RlbnRpYWwgb3ZlcmZsb3cgaW4gbm9kZXRvb2wgY2ZzdGF0cyAoQ0FTU0FORFJBLTIwNTcpCiAqIGFkZCBKVk0gc2h1dGRvd25ob29rIHRvIHN5bmMgY29tbWl0bG9nIChDQVNTQU5EUkEtMTkxOSkKICogYWxsb3cgbm9kZXMgdG8gYmUgdXAgd2l0aG91dCBiZWluZyBwYXJ0IG9mICBub3JtYWwgdHJhZmZpYyAoQ0FTU0FORFJBLTE5NTEpCiAqIGZpeCBDTEkgInNob3cga2V5c3BhY2VzIiB3aXRoIG51bGwgb3B0aW9ucyBvbiBOVFMgKEMzUd0MAAABT948slwAEG5lcmF0ZSBoaW50cyBmb3IAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL48AAAEAeSBoYXZlCiAgIHN1Y2Nlc3NmdWxseSBhY3F1aXJlZCB0aGUgY29tcGFjdGlvbiBsb2NrIChDQVNTQU5EUkEtMzM0NCkKICogRGlzcGxheSBDTEkgdmVyc2lvbiBzdHJpbmcgb24gc3RhcnR1cCAoQ0FTU0FORFJBLTMxOTYpCiAqIChIYWRvb3ApIG1ha2UgQ0ZJRiB0cnkgcnBjX2FkZHJlc3Mgb3IgZmFsbGJhY2sgdG8gbGlzdGVuX2FkZHJlc3MKICAgKENBU1NBTkRSQS0zMjE0KQogKiAoSGFkb29wKSBhY2NlcHQgY29tbWEgZGVsaW1pdGVkIGxpc3RzIMnM/6gAAAFP3jyyXAAQdXMgdGFibGUgd2hlbiByZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvjwAAAQBhLmpvaW5fcmluZz1mYWxzZSBvbiBzdGFydHVwCiAgIHRvIGFsbG93ICJ3YXJtIHNwYXJlIiBub2RlcyBvciBwZXJmb3JtaW5nIEpNWCBtYWludGVuYW5jZSBiZWZvcmUKICAgam9pbmluZyB0aGUgcmluZyAoQ0FTU0FORFJBLTUyNikKICogbG9nIG1pZ3JhdGlvbnMgYXQgSU5GTyAoQ0FTU0FORFJBLTIwMjgpCiAqIGFkZCBDTEkgdmVyYm9zZSBvcHRpb24gaW4gZmlsZSBtb2RlIChDQVNTQU5EUkEtMjAzMCkKICogYWRkIHNpbmdsZS1saW5lICItLSIg9y/EKAAAAU/ePLJcABBjbGUgY29tbWl0bG9nIHNlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+PAAABAHRlZFdyaXRlciBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uIChDQVNTQU5EUkEtODYxOSkKICogJ25vZGV0b29sIGluZm8nIHByaW50cyBleGNlcHRpb24gYWdhaW5zdCBvbGRlciBub2RlIChDQVNTQU5EUkEtODc5NikKICogRW5zdXJlIFNTVGFibGVTaW1wbGVVbnNvcnRlZFdyaXRlci5jbG9zZSgpIHRlcm1pbmF0ZXMgaWYKICAgZGlzayB3cml0ZXIgaGFzIGNyYXNoZWQgKENBU1NBTkRSQS04ODA3KQoKCjIuMS40CiAqIEJpbmQgSk1YIHTuwYAHAAABT948slwAECBjYWNoZXMgdG8gYXZvaWQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL48AAAEAIHNzdGFibGUgZm9yIGxldmVsZWQgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTQzMjEpCiAqIEltcHJvdmUgc2NydWIgYW5kIGFsbG93IHRvIHJ1biBpdCBvZmZsaW5lIChDQVNTQU5EUkEtNDMyMSkKICogRml4IGFzc2VydGlvbkVycm9yIGluIFN0b3JhZ2VTZXJ2aWNlLmJ1bGtMb2FkIChDQVNTQU5EUkEtNDM2OCkKICogKGNxbHNoKSBhZGQgb3B0aW9uIHRvIGF1dGhlbnRpY2F0ZSB0byBhIGtleXNwYWNlIGF0IHN0YXJ0dXAgKENBU1NBTkRSQS00MTA4KY64Ng4AAAFP3jyyXAAQZ2luZyBjb250ZXh0IChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvjwAAAQAgIGNvbnRhaW5zIG5vbi1oZXggY2hhcmFjdGVycyAoQ0FTU0FORFJBLTMyMzEpCiAqIEtlZXAgU2ltcGxlU25pdGNoIHByb3hpbWl0eSBvcmRlcmluZyB1bmNoYW5nZWQgZnJvbSB3aGF0IHRoZSBTdHJhdGVneQogICBnZW5lcmF0ZXMsIGFzIGludGVuZGVkIChDQVNTQU5EUkEtMzI2MikKICogcmVtb3ZlIFNjcnViIGZyb20gY29tcGFjdGlvbnN0YXRzIHdoZW4gZmluaXNoZWQgKENBU1NBTkRSQS0zMjU1KQogKiBmaXggY291bnRlciBlbnRyeSBpbiBqtcRbbQAAAU/ePLJcABByZWF0aW9uIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+PAAABAG5nIChDQVNTQU5EUkEtMTc2NykKICogcmVxdWlyZSBpbmRleF90eXBlIHRvIGJlIHByZXNlbnQgd2hlbiBzcGVjaWZ5aW5nIGluZGV4X25hbWUKICAgb24gQ29sdW1uRGVmIChDQVNTQU5EUkEtMTc1OSkKICogZml4IGFkZC9yZW1vdmUgaW5kZXggYnVncyBpbiBDRk1ldGFkYXRhIChDQVNTQU5EUkEtMTc2OCkKICogcmVidWlsZCBTdHJhdGVneSBkdXJpbmcgc3lzdGVtX3VwZGF0ZV9rZXlzcGFjZSAoQ0FTU0FORFJBLTE3NjIpCiAqIGNsaSB1cGRhdGUsF293AAABT948slwAEG9yayB3aXRoIGNvbXByZXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL48AAAEATkRSQS0zMzc1KQogKiBkaXNwbGF5IGNhY2hlIHByb3ZpZGVyIGluIGNsaSAnZGVzY3JpYmUga2V5c3BhY2UnIGNvbW1hbmQgKENBU1NBTkRSQS0zMzg0KQogKiBmaXggaW5jb21wbGV0ZSB0b3BvbG9neSBpbmZvcm1hdGlvbiBpbiBkZXNjcmliZV9yaW5nIChDQVNTQU5EUkEtMzQwMykKICogZXhwaXJlIGRlYWQgZ29zc2lwIHN0YXRlcyBiYXNlZCBvbiB0aW1lIChDQVNTQU5EUkEtMjk2MSkKICogaW1wcm92ZSBDb21wYWN0aW9uVGFzayBleHRlbnNpYhAjSnEAHFKnAFaWgwAAAU/ePLJcABB2YWxpZGF0ZSBwZXJtaXNzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+SAAABACd0IHJldXNlIHRoZSBzYW1lIGNsZWFudXAgc3RyYXRlZ3kgZm9yIGFsbCBzc3RhYmxlcyAoQ0FTU0FORFJBLTg1MzcpCiAqIEZpeCBjYXNlLXNlbnNpdGl2aXR5IG9mIGluZGV4IG5hbWUgb24gQ1JFQVRFIGFuZCBEUk9QIElOREVYCiAgIHN0YXRlbWVudHMgKENBU1NBTkRSQS04MzY1KQogKiBCZXR0ZXIgZGV0ZWN0aW9uL2xvZ2dpbmcgZm9yIGNvcnJ1cHRpb24gaW4gY29tcHJlc3NlZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTgxOTIpCiAqIFVzZSB0aGU5824rAAABT948slwAECAoQ0FTU0FORFJBLTUwNjgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5IAAAEAaWdoYm9yIGNhbGN1bGF0aW9uIGZvciBhbnRpLWVudHJvcHkgcmVwYWlyIChDQVNTQU5EUkEtOTI0KQogKiBwZXJmb3JtIHJlcGFpciBldmVuIGZvciBzbWFsbCBlbnRyb3B5IGRpZmZlcmVuY2VzIChDQVNTQU5EUkEtOTI0KQogKiBVc2UgaG9zdG5hbWVzIGluIENGSW5wdXRGb3JtYXQgdG8gYWxsb3cgSGFkb29wJ3MgbmFpdmUgc3RyaW5nLWJhc2VkCiAgIGxvY2FsaXR5IGNvbXBhcmlzb25zIHRvIHdvcmsgKENBU1NBTkRSQS05NTUpCiAqIGNhY2hlIJ4nsI4AAAFP3jyyXAAQUkEtNzQ1NSkKICogQWRkIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvkgAAAQAtNzY4NCkKICogRml4IE5QRSBvbiBjb21wYWN0aW9uIGxlZnRvdmVyIGNsZWFudXAgZm9yIGRyb3BwZWQgdGFibGUgKENBU1NBTkRSQS03NzcwKQpNZXJnZWQgZnJvbSAyLjA6CiAqIChjcWxzaCkgV2FpdCB1cCB0byAxMCBzZWMgZm9yIGEgdHJhY2luZyBzZXNzaW9uIChDQVNTQU5EUkEtNzIyMikKICogRml4IE5QRSBpbiBGaWxlQ2FjaGVTZXJ2aWNlLnNpemVJbkJ5dGVzIChDQVNTQU5EUkEtNzc1NikKICogUmVtb3ZlIGR1cGxpY2F0ZXMgZnJvbSBT0x4p1AAAAU/ePLJcABBSQS01NzIyKQogKiBBZGQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+SAAABACBjb21wYWN0aW9uIHNldHRpbmdzIHRvIHNlY29uZGFyeSBpbmRleCBDRnMgKENBU1NBTkRSQS00MjgwKQogKiBwcmVzZXJ2ZSBjb21taXRsb2cgc2l6ZSBjYXAgd2hlbiByZWN5Y2xpbmcgc2VnbWVudHMgYXQgc3RhcnR1cAogICAoQ0FTU0FORFJBLTQyMDEpCiAqIChIYWRvb3ApIGZpeCBzcGxpdCBnZW5lcmF0aW9uIHJlZ3Jlc3Npb24gKENBU1NBTkRSQS00MjU5KQogKiBpZ25vcmUgbWluL21heCBjb21wYWN0aW9ucyBzZXR0aW5ncyBpbiBMQ1MsIHdr/nOJAAABT948slwAEHJlc3NpdmUgY2hlY2sgZm8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5IAAAEAb3IuZnJvbUZpbGVuYW1lKFN0cmluZykKICAgYW5kIGZldyBvdGhlciBwbGFjZXMgcmVzcG9uc2libGUgZm9yIHdvcmsgd2l0aCBTU1RhYmxlIGZpbGVzIChDQVNTQU5EUkEtMzA0MCkKICogU3RvcCByZWFkaW5nIGZyb20gc3N0YWJsZXMgb25jZSB3ZSBrbm93IHdlIGhhdmUgdGhlIG1vc3QgcmVjZW50IGNvbHVtbnMsCiAgIGZvciBxdWVyeS1ieS1uYW1lIHJlcXVlc3RzIChDQVNTQU5EUkEtMjQ5OCkKICogQWRkIHF1ZXJ5LWJ5LWNvbHVtbiBtb2RlIJp7Ln8AAAFP3jyyXAAQcnQvSW1wb3J0IChDQVNTQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvkgAAAQB0byBtYXRjaCBleHBlY3RlZCBTUUwgYmVoYXZpb3IgKENBU1NBTkRSQS0zMTQ5LCAzMDMxKQogKiBBcmVuYS1iYXNlZCBhbGxvY2F0aW9uIGZvciBtZW10YWJsZXMgKENBU1NBTkRSQS0yMjUyLCAzMTYyLCAzMTYzLCAzMTY4KQogKiBEZWZhdWx0IFJSIGNoYW5jZSB0byAwLjEgKENBU1NBTkRSQS0zMTY5KQogKiBBZGQgUm93TGV2ZWwgc3VwcG9ydCB0byBzZWNvbmRhcnkgaW5kZXggQVBJIChDQVNTQU5EUkEtMzE0NykKICogTWFrZSBTZXJpYWxpemluP8mLBQAAAU/ePLJcABBhY2hlIChDQVNTQU5EUkEtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+SAAABAE5EUkEtNjQ2KQogKiBwcm92aWRlIGEgcG9saWN5IGZvciBkZWFsaW5nIHdpdGggc2luZ2xlIHRocmVhZCBleGVjdXRvcnMgdy8gYSBmdWxsIHF1ZXVlCiAgIChDQVNTQU5EUkEtNjk0KQogKiBvcHRpbWl6ZSBpbm5lciByZWFkIGluIE1lc3NhZ2luZ1NlcnZpY2UsIHZhc3RseSBpbXByb3ZpbmcgbXVsdGlwbGUtbm9kZQogICBwZXJmb3JtYW5jZSAoQ0FTU0FORFJBLTY3NSkKICogd2FpdCBmb3IgdGFibGUgZmx1c2ggYmVmb3JlIHN0cmVhbWluZyBkYXQJZiJEAAABT948slwAEFNBTkRSQS00Mzc1KQogKiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5IAAAEAckNvbW1pdCB0aGF0IGFsbG93ZWQgTE9DQUxfUVVPUlVNCiAgIG9wZXJhdGlvbnMgdG8gaW5jb3JyZWN0IGJlY29tZSBmdWxsIFFVT1JVTSAoQ0FTU0FORFJBLTczNDUpCiAqIFByb3Blcmx5IGhhbmRsZSB1bnJlY29nbml6ZWQgb3Bjb2RlcyBhbmQgZmxhZ3MgKENBU1NBTkRSQS03NDQwKQogKiAoSGFkb29wKSBjbG9zZSBDcWxSZWNvcmRXcml0ZXIgY2xpZW50cyB3aGVuIGZpbmlzaGVkIChDQVNTQU5EUkEtNzQ1OSkKICogQ29tbWl0IGRpc2sgZmFpbHM9Mp4AAAFP3jyyXAAQbnRzIGlmIHN0YXJ0aW5nIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvkgAAAQBvcmV2ZXIgb24gdGltZW91dCBvciBlcnJvciAoQ0FTU0FORFJBLTQxMjgpCiAqIHN0cmVzcyB0b29sIHRvIHJldHVybiBhcHByb3ByaWF0ZSBleGl0IGNvZGUgb24gZmFpbHVyZSAoQ0FTU0FORFJBLTQxODgpCiAqIGZpeCBjb21wYWN0aW9uIE5QRSB3aGVuIG91dCBvZiBkaXNrIHNwYWNlIGFuZCBhc3NlcnRpb25zIGRpc2FibGVkCiAgIChDQVNTQU5EUkEtMzk4NSkKICogc3luY2hyb25pemUgTENTIGdldEVzdGltYXRlZFRhc2tzIHRvIGF2b2lkIENNfmJZzwAAAU/ePLJcABBvbnMgKENBU1NBTkRSQS0xAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+SAAABAGV0b29sIGNmc3RhdHMgb3V0cHV0IChDQVNTQU5EUkEtNzczMSkKICogVmFsaWRhdGUgSVB2NiB3aWxkY2FyZCBhZGRyZXNzZXMgcHJvcGVybHkgKENBU1NBTkRSQS03NjgwKQogKiAoY3Fsc2gpIEVycm9yIHdoZW4gdHJhY2luZyBxdWVyeSAoQ0FTU0FORFJBLTc2MTMpCiAqIEF2b2lkIElPT0JFIHdoZW4gYnVpbGRpbmcgU3ludGF4RXJyb3IgbWVzc2FnZSBzbmlwcGV0IChDQVNTQU5EUkEtNzU2OSkKICogU1NUYWJsZUV4cG9ydCB1c2VzIGNvcnJlY3Qg6wQlAAABT948slwAEGQgREVTQ1JJQkUgRlVMTCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5IAAAEAQ0FTU0FORFJBLTQ3ODMpCiAqIEZpeCBsaXN0IHByZXBlbmQgbG9naWMgKENRTDMpIChDQVNTQU5EUkEtNDgzNSkKICogQWRkIGJvb2xlYW5zIGFzIGxpdGVyYWxzIGluIENRTDMgKENBU1NBTkRSQS00Nzc2KQogKiBBbGxvdyByZW5hbWluZyBQSyBjb2x1bW5zIGluIENRTDMgKENBU1NBTkRSQS00ODIyKQogKiBGaXggYmluYXJ5IHByb3RvY29sIE5FV19OT0RFIGV2ZW50IChDQVNTQU5EUkEtNDY3OSkKICogRml4IHBvdGVudGlhbCBpbmZpbml0ZSBsb0/E1gAAAAFP3jyyXAAQCiAqIFJlbW92ZSBzbGljZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvkgAAAQB0aGF0IHVzZSBhIHVzZXItZGVmaW5lZCB0eXBlIHdoZW4gdGhhdCBVRFQKICAgaXMgbW9kaWZpZWQgKENBU1NBTkRSQS05MTQ4LCBDQVNTQU5EUkEtOTE5MikKICogVXNlIGhpZ2hlciB0aW1lb3V0IGZvciBwcmVwYWlyIGFuZCBzbmFwc2hvdCBpbiByZXBhaXIgKENBU1NBTkRSQS05MjYxKQogKiBGaXggYW50aWNvbXBhY3Rpb24gYmxvY2tpbmcgQU5USV9FTlRST1BZIHN0YWdlIChDQVNTQU5EUkEtOTE1MSkKICogUmVwYWlyIHdhaXRzIGZvciBhbnRpAfFcGAAAAU/ePLJcABBlcycgZGVwZW5kaW5nIG9uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+SAAABAEFTU0FORFJBLTMzMDkpCiAqIGZpeCB0cnVuY2F0ZSBhbGxvd2luZyBkYXRhIHRvIGJlIHJlcGxheWVkIHBvc3QtcmVzdGFydCAoQ0FTU0FORFJBLTMyOTcpCiAqIE1vdmUgU2ltcGxlQXV0aG9yaXR5IGFuZCBTaW1wbGVBdXRoZW50aWNhdG9yIHRvIGV4YW1wbGVzIChDQVNTQU5EUkEtMjkyMikKICogRml4IGhhbmRsaW5nIG9mIHRvbWJzdG9uZSBieSBTU1RhYmxlRXhwb3J0L0ltcG9ydCAoQ0FTU0FORFJBLTMzNTcpCiAqIEZpeCB0cmFuc3Bvc2l0aW8lfkutAAABT948slwAEHVwZGF0ZSBDUUwgY29uc2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5IAAAEAdCBDVFJMLUMgb3Igc2VtaWNvbG9uIGFmdGVyIHRocmVlIGJsYW5rIGxpbmVzIGluIGNxbHNoIChDQVNTQU5EUkEtNzE0MikKICogRml4IDJuZGFyeSBpbmRleCBxdWVyaWVzIHdpdGggREVTQyBjbHVzdGVyaW5nIG9yZGVyIChDQVNTQU5EUkEtNjk1MCkKICogSW52YWxpZCBrZXkgY2FjaGUgZW50cmllcyBvbiBEUk9QIChDQVNTQU5EUkEtNjUyNSkKICogRml4IGZsYXBwaW5nIFJlY292ZXJ5TWFuYWdlclRlc3QgKENBU1NBTkRSQS03MDg0KQogKiBBZEchorQAAAFP3jyyXAAQIChDQVNTQU5EUkEtOTE5NgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvkgAAAQAyLjEuMC1yYzYKICogRml4IE9PTSBpc3N1ZSBmcm9tIG5ldHR5IGNhY2hpbmcgb3ZlciB0aW1lIChDQVNTQU5EUkEtNzc0MykKICoganNvbjJzc3RhYmxlIGNvdWxkbid0IGltcG9ydCBKU09OIGZvciBDUUwgdGFibGUgKENBU1NBTkRSQS03NDc3KQogKiBJbnZhbGlkYXRlIGFsbCBjYWNoZXMgb24gdGFibGUgZHJvcCAoQ0FTU0FORFJBLTc1NjEpCiAqIFNraXAgc3RyaWN0IGVuZHBvaW50IHNlbGVjdGlvbiBmb3IgcmFuZ2VzIGlmIFJGID09IG5vZGVzig6LwAAcZ14XpSztAAABT948slwAEHR5RmlsZVNuaXRjaCBsb2cAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5QAAAEAdGhvcml6YXRpb24gaGllcmFyY2h5IHRvIGNvbHVtbiBmYW1pbHkgKENBU1NBTkRSQS0xNTU0KQogKiBkZWxldGlvbiBzdXBwb3J0IGluIHNlY29uZGFyeSBpbmRleGVzIChDQVNTQU5EUkEtMTU3MSkKICogbWVhbmluZ2Z1bCBlcnJvciBtZXNzYWdlIGZvciBpbnZhbGlkIHJlcGxpY2F0aW9uIHN0cmF0ZWd5IGNsYXNzIAogICAoQ0FTU0FORFJBLTE1NjYpCiAqIGFsbG93IGtleXNwYWNlIGNyZWF0aW9uIHdpdGggUkYgPiBOIChDQVNTQU5EUkEtMTQyOHq4/FsAAAFP3jyyXAAQQVNTQU5EUkEtNzE0MikKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvlAAAAQBpbiBBRVMgd2hlbiBhIHJlcGFpciBmYWlscyAoQ0FTU0FORFJBLTM1NDgpCiAqIGZpeCBkZWZhdWx0IHZhbHVlIHZhbGlkYXRpb24gdXNhZ2UgaW4gQ0xJIFNFVCBjb21tYW5kIChDQVNTQU5EUkEtMzU1MykKICogT3B0aW1pemUgY29tcG9uZW50c0ZvciBtZXRob2QgZm9yIGNvbXBhY3Rpb24gYW5kIHN0YXJ0dXAgdGltZQogICAoQ0FTU0FORFJBLTM1MzIpCiAqIChDUUwpIFByb3BlciBDb2x1bW5GYW1pbHkgbWV0YWRhdGEgdmFsaWRhdGlvbiBvbiBD+b/2CQAAAU/ePLJcABAgZnJvbSAjMTc4MCAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+UAAABAG5kcG9pbnRzIHRvIGJlIE8oTiBsb2cgTikgKENBU1NBTkRSQS0zODgxKQogKiBzcGxpdCB1cCBycGMgdGltZW91dCBieSBvcGVyYXRpb24gdHlwZSAoQ0FTU0FORFJBLTI4MTkpCiAqIHJld3JpdGUga2V5IGNhY2hlIHNhdmUvbG9hZCB0byB1c2Ugb25seSBzZXF1ZW50aWFsIGkvbyAoQ0FTU0FORFJBLTM3NjIpCiAqIHVwZGF0ZSBNUyBwcm90b2NvbCB3aXRoIGEgdmVyc2lvbiBoYW5kc2hha2UgKyBicm9hZGNhc3QgYWRkcmVzcyBpZAogICAoQ0FTU0EKa3ShAAABT948slwAEHNoOiBmaXggQ1JFQVRFL0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5QAAAEAbm9kZXMgZG8gbm90IHVwZGF0ZSB0aGVpciBKTVggc3RhdHVzIChDQVNTQU5EUkEtOTE2KQogKiBGaXggaW50ZXJuYWwgUlBDIHRpbWVvdXQgY2FsY3VsYXRpb24gKENBU1NBTkRSQS05MTEpCiAqIEFkZGVkIFBpZyBsb2FkZnVuYyB0byBjb250cmliL3BpZyAoQ0FTU0FORFJBLTkxMCkKCgowLjYuMC1iZXRhMwogKiBmaXggY29tcGFjdGlvbiBidWNrZXRpbmcgYnVnIChDQVNTQU5EUkEtODE0KQogKiB1cGRhdGUgd2luZG93cyBiYXRjaCBmaWxlIChDQXmj32EAAAFP3jyyXAAQaXggd3JhcHBpbmctcmFuZwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvlAAAAQAgKENBU1NBTkRSQS00NjQ0KQogKiBmaXggZXJyb3Igd2hlbiB1c2luZyBPUkRFUiBCWSB3aXRoIGV4dGVuZGVkIHNlbGVjdGlvbnMgKENBU1NBTkRSQS00Njg5KQogKiAoQ1FMMykgRml4IHZhbGlkYXRpb24gZm9yIElOIHF1ZXJpZXMgZm9yIG5vbi1QSyBjb2xzIChDQVNTQU5EUkEtNDcwOSkKICogZml4IHJlLWNyZWF0ZWQga2V5c3BhY2UgZGlzYXBwZXJpbmcgYWZ0ZXIgMS4xLjUgdXBncmFkZSAKICAgKENBU1NBTkRSQS00Njk4LCA0NzUyKQogKiAog/i9IAAAAU/ePLJcABBBLTIyNzYpCiAqIHZhbGlkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+UAAABAFggcG9ydCBmcm9tIGNhc3NhbmRyYS1lbnYuc2ggKENBU1NBTkRSQS02MjczKQogKiBtYWtlIGNhbGN1bGF0ZVBlbmRpbmdSYW5nZXMgYXN5bmNocm9ub3VzIChDQVNTQU5EUkEtNjI0NCkKICogUmVtb3ZlIGJsb2NraW5nIGZsdXNoZXMgaW4gZ29zc2lwIHRocmVhZCAoQ0FTU0FORFJBLTYyOTcpCiAqIEZpeCBwb3RlbnRpYWwgc29ja2V0IGxlYWsgaW4gY29ubmVjdGlvbnBvb2wgY3JlYXRpb24gKENBU1NBTkRSQS02MzA4KQogKiBBbGxvdyBMT0NBTF9mx26KAAABT948slwAEFJBLTQ0MjIpCiAqIGF2b2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5QAAAEAZm9yIG1pZC1jb21wYWN0aW9uIGZhaWx1cmUgKENBU1NBTkRSQS01MTM3KQogKiBjb252ZXJ0IGRlZmF1bHQgbWFyc2hhbGxlcnMgbGlzdCB0byBtYXAgZm9yIGJldHRlciByZWFkYWJpbGl0eSAoQ0FTU0FORFJBLTUxMDkpCiAqIGZpeCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uIGluIGdldEJvb3RzdHJhcFNvdXJjZSAoQ0FTU0FORFJBLTUxNzApCiAqIGZpeCBzc3RhYmxlIG1heHRpbWVzdGFtcCBmb3Igcm93IGRlbGV0ZXMgYW5kIHByZUuMLbEAAAFP3jyyXAAQCiAqIEludHJvZHVjZSBpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvlAAAAQBrZWQgZGlydHkgKENBU1NBTkRSQS01OTQ2KQogKiBBZGQgYSBMT0NBTF9PTkUgY29uc2lzdGVuY3kgbGV2ZWwgKENBU1NBTkRSQS02MjAyKQogKiBMaW1pdCBDUUwgcHJlcGFyZWQgc3RhdGVtZW50IGNhY2hlIGJ5IHNpemUgaW5zdGVhZCBvZiBjb3VudCAoQ0FTU0FORFJBLTYxMDcpCiAqIFRyYWNpbmcgc2hvdWxkIGxvZyB3cml0ZSBmYWlsdXJlIHJhdGhlciB0aGFuIHJhdyBleGNlcHRpb25zIChDQVNTQU5EUkEtNjEzMykKICogbG9jayBhY2Nlc3Mgu4P93AAAAU/ePLJcABB0b25lcyAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+UAAABAEFsbG93IHNjcnViIHRvIGhhbmRsZSBjb3JydXB0ZWQgY29tcHJlc3NlZCBjaHVua3MgKENBU1NBTkRSQS05MTQwKQogKiBGaXggYXNzZXJ0aW9uIGVycm9yIHdoZW4gcmVzZXRsb2NhbHNjaGVtYSBpcyBydW4gZHVyaW5nIHJlcGFpciAoQ0FTU0FORFJBLTkyNDkpCiAqIERpc2FibGUgc2luZ2xlIHNzdGFibGUgdG9tYnN0b25lIGNvbXBhY3Rpb25zIGZvciBEVENTIGJ5IGRlZmF1bHQgKENBU1NBTkRSQS05MjM0KQogKiBJbmNvbWluZ1RjcENvbm5lY3QFovtHAAABT948slwAEHJlc2VudGluZyByb3cga2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5QAAAEAdXN0b20gMmkgdmFsaWRhdGlvbiAoQ0FTU0FORFJBLTc1NzUpCiAqIFBpZyBzdXBwb3J0IGZvciBoYWRvb3AgQ3FsSW5wdXRGb3JtYXQgKENBU1NBTkRSQS02NDU0KQogKiBBZGQgbGlzdGVuX2ludGVyZmFjZSBhbmQgcnBjX2ludGVyZmFjZSBvcHRpb25zIChDQVNTQU5EUkEtNzQxNykKICogSW1wcm92ZSBzY2hlbWEgbWVyZ2UgcGVyZm9ybWFuY2UgKENBU1NBTkRSQS03NDQ0KQogKiBBZGp1c3QgTVQgZGVwdGggYmFzZWQgb24gIyBvZiBwYXJ0aXRpb1HM+48AAAFP3jyyXAAQbid0IHB1cmdlIGNvbHVtbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvlAAAAQAgY29ubmVjdGlvbnMgKENBU1NBTkRSQS00Mjg4KQogKiBEZWxldGUgdW5maW5pc2hlZCBjb21wYWN0aW9uIGluY3JlbWVudGFsbHkgKENBU1NBTkRSQS02MDg2KQogKiBBbGxvdyBzcGVjaWZ5aW5nIGN1c3RvbSBzZWNvbmRhcnkgaW5kZXggb3B0aW9ucyBpbiBDUUwzIChDQVNTQU5EUkEtNjQ4MCkKICogSW1wcm92ZSByZXBsaWNhIHBpbm5pbmcgZm9yIGNhY2hlIGVmZmljaWVuY3kgaW4gREVTIChDQVNTQU5EUkEtNjQ4NSkKICogRml4IExPQ0FMX1NFSEZhFwAAAU/ePLJcABBpbmcga2V5IG9yZGVyIGluAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+UAAABAGFkaW5nIAogICAoQ0FTU0FORFJBLTQwODgpCiAqIHJlbGF4IHBhdGggbGVuZ3RoIHJlcXVpcmVtZW50IGZvciBzc3RhYmxlIGZpbGVzIHdoZW4gdXBncmFkaW5nIG9uIAogICBub24tV2luZG93cyBwbGF0Zm9ybXMgKENBU1NBTkRSQS00MTEwKQogKiBmaXggdGVybWluaW5hdGlvbiBvZiB0aGUgc3RyZXNzLmphdmEgd2hlbiBlcnJvcnMgd2VyZSBlbmNvdW50ZXJlZAogICAoQ0FTU0FORFJBLTQxMjgpCiAqIE1vdmUgQ2ZEZWYgYW5kIEtzRGVmIHZhbGm5c6pwAAABT948slwAEGFjdGlvbk1hbmFnZXIgaXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5QAAAEAU1NBTkRSQS01NTM1KQogKiBGaXggQm91bmQgaW50ZXJzZWN0aW9uIGNvbXB1dGF0aW9uIChDQVNTQU5EUkEtNTU1MSkKICogc3N0YWJsZXNjcnViIG5vdyByZXNwZWN0cyBtYXggbWVtb3J5IHNpemUgaW4gY2Fzc2FuZHJhLmluLnNoIChDQVNTQU5EUkEtNTU2MikKCgoxLjIuNAogKiBFbnN1cmUgdGhhdCBQZXJSb3dTZWNvbmRhcnlJbmRleCB1cGRhdGVzIHNlZSB0aGUgbW9zdCByZWNlbnQgdmFsdWVzCiAgIChDQVNTQU5EUkEtNTM5NykKICogYXZvaa6tb8IAAAFP3jyyXAAQaCB0byBhdm9pZAogICAzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvlAAAAQAgKiBRdWVyaWVzIG9uIGNvbXBhY3QgdGFibGVzIGNhbiByZXR1cm4gbW9yZSByb3dzIHRoYXQgcmVxdWVzdGVkIChDQVNTQU5EUkEtNzA1MikKICogVVNJTkcgVElNRVNUQU1QIGZvciBiYXRjaGVzIGRvZXMgbm90IHdvcmsgKENBU1NBTkRSQS03MDUzKQogKiBGaXggcGVyZm9ybWFuY2UgcmVncmVzc2lvbiBmcm9tIENBU1NBTkRSQS01NjE0IChDQVNTQU5EUkEtNjk0OSkKICogRW5zdXJlIHRoYXQgYmF0Y2hsb2cgYW5kIGhpbnQgdGltZW91dHMgZG8gWpChmAAAAU/ePLJcABBjbHVzdGVyIHNvY2tldHMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+UAAABADQwNTIpCiAqIEF2b2lkIGhhdmluZyByZXBsaWNhdGUgb24gd3JpdGUgdGFza3Mgc3RhY2tpbmcgdXAgYXQgQ0wuT05FIChDQVNTQU5EUkEtMjg4OSkKICogKGNxbDMpIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBjb21wb3NpdGUgY29tcGFyYXRvcnMgaW4gbm9uLWNxbDMtYXdhcmUKICAgY2xpZW50cyAoQ0FTU0FORFJBLTQwOTMpCiAqIChjcWwzKSBGaXggb3JkZXIgYnkgZm9yIHJldmVyc2VkIHF1ZXJpZXMgKENBU1NBTkRSQS00MTYwKQogKiCvRgHnAAAATrAgs4sAIwAGc3lzdGVtAAAQc2NoZW1hX2tleXNwYWNlcwAABAAAAAcAAAAAAQFaH/JnrOA/EoVjz65hA8ZeVVNmcgAFFffV+d4IAAAAAAAAAABQj8GhABx7u3H1pOMAAAFP3jyyXAAQIHN0cmVhbSBzZXNzaW9uIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvlwAAAQAgICB0YWJsZSAoQ0FTU0FORFJBLTQ3MDYpCiAqIEZpeCBidWcgc3RhcnRpbmcgQ2Fzc2FuZHJhIHdpdGggc2ltcGxlIGF1dGhlbnRpY2F0aW9uIChDQVNTQU5EUkEtNDY0OCkKICogQWRkIHN1cHBvcnQgZm9yIGJhdGNobG9nIGluIENRTDMgKENBU1NBTkRSQS00NTQ1LCA0NzM4KQogKiBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgY29sdW1uIGZhbWlseSBvdXRwdXRzIGluIENGT0YgKENBU1NBTkRSQS00MjA4KQogKiBTdXBwb3J0IHJlcGFpcmluZyBvYqiPwQAAAU/ePLJcABBnIG9mIHJhbmdlIHRvbWJzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+XAAABADQ3NTkpCiAqIChDUUwzKSBEb24ndCByZXR1cm4gUmV2ZXJzZWRUeXBlIGluIHJlc3VsdCBzZXQgbWV0YWRhdGEgKENBU1NBTkRSQS00NzE3KQogKiBCYWNrcG9ydCBhZGRpbmcgQWx0ZXJLZXlzcGFjZSBzdGF0ZW1lbnQgKENBU1NBTkRSQS00NjExKQogKiAoQ1FMMykgQ29ycmVjdHkgYWNjZXB0IHVwcGVyLWNhc2UgZGF0YSB0eXBlcyAoQ0FTU0FORFJBLTQ3NzApCiAqIEFkZCBiaW5hcnkgcHJvdG9jb2wgZXZlbnRzIGZvciBzY2hlbWEgY2hhbmdlcyCWVdKiAAABT948slwAEGluZyAoQ0FTU0FORFJBLTQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5cAAAEAbnRyaWVzIGFib3V0IGNvbmN1cnJlbnQgcmFuZ2UgcmVxdWVzdHMgKENBU1NBTkRSQS03NTk5KQogKiAoY3Fsc2gpIEZpeCBERVNDUklCRSBmb3IgTlRTIGtleXNwYWNlcyAoQ0FTU0FORFJBLTc3MjkpCiAqIFJlbW92ZSBuZXR0eSBidWZmZXIgcmVmLWNvdW50aW5nIChDQVNTQU5EUkEtNzczNSkKICogUGFzcyBtdXRhdGVkIGNmIHRvIGluZGV4IHVwZGF0ZXIgZm9yIHVzZSBieSBQUlNJIChDQVNTQU5EUkEtNzc0MikKICogSW5jbHVkZSBzdHJlc3MgeShDg60AAAFP3jyyXAAQQVNTQU5EUkEtMjY4MCkKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvlwAAAQB0aW9ucyB0byBERVNDUklCRSBvdXRwdXQgKENBU1NBTkRSQS01NzQ5KQogKiBGaXggYXNzZXJ0aW9uIGVycm9yIGR1cmluZyByZXBhaXIgKENBU1NBTkRSQS01NzU3KQogKiBGaXggYnVsa2xvYWRlciAoQ0FTU0FORFJBLTU1NDIpCiAqIEFkZCBMWjQgY29tcHJlc3Npb24gdG8gdGhlIG5hdGl2ZSBwcm90b2NvbCAoQ0FTU0FORFJBLTU3NjUpCiAqIEZpeCBidWdzIGluIHRoZSBuYXRpdmUgcHJvdG9jb2wgdjIgKENBU1NBTkRSQS01NzcwKQogKiBDQVMgvptC1gAAAU/ePLJcABA6IEFkZCB1c2VybmFtZSBhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+XAAABAGRkIHN0YXRpYyBjb2x1bW5zIHRvIENRTDMgKENBU1NBTkRSQS02NTYxKQogKiBPcHRpbWl6ZSBzaW5nbGUgcGFydGl0aW9uIGJhdGNoIHN0YXRlbWVudHMgKENBU1NBTkRSQS02NzM3KQogKiBEaXNhbGxvdyBwb3N0LXF1ZXJ5IHJlLW9yZGVyaW5nIHdoZW4gcGFnaW5nIChDQVNTQU5EUkEtNjcyMikKICogRml4IHBvdGVudGlhbCBwYWdpbmcgYnVnIHdpdGggZGVsZXRlZCBjb2x1bW5zIChDQVNTQU5EUkEtNjc0OCkKICogRml4IE5QRSBvbiBCdWxrTG8fJtLaAAABT948slwAECBmYXQgY2xpZW50cyB3aGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5cAAAEACiAqIEFkZCB0aHJvdHRsaW5nIGZvciBpbnRlcm5vZGUgc3RyZWFtaW5nIChDQVNTQU5EUkEtMzA4MCkKICogbWFrZSB0aGUgcmVwYWlyIG9mIGEgcmFuZ2UgcmVwYWlyIGFsbCByZXBsaWNhIChDQVNTQU5EUkEtMjYxMCwgMzE5NCkKICogZXhwb3NlIHRoZSBhYmlsaXR5IHRvIHJlcGFpciB0aGUgZmlyc3QgcmFuZ2UgKGFzIHJldHVybmVkIGJ5IHRoZQogICBwYXJ0aXRpb25lcikgb2YgYSBub2RlIChDQVNTQU5EUkEtMjYwNikKICogU3RyZWFtcyBDbzLZzawAAAFP3jyyXAAQIERvbid0IGxlYXZlIHpvbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvlwAAAQBvbCB2MSBpcyB1c2VkIChDQVNTQU5EUkEtNjI3MCkKICogQ29ycmVjdGx5IHRocm93IGVycm9yIHdoZW4gZnJhbWUgdG9vIGxhcmdlIChDQVNTQU5EUkEtNTk4MSkKICogRml4IHNlcmlhbGl6YXRpb24gYnVnIGluIFBhZ2VkUmFuZ2Ugd2l0aCAybmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTYyOTkpCiAqIEZpeCBDUUwzIHRhYmxlIHZhbGlkYXRpb24gaW4gVGhyaWZ0IChDQVNTQU5EUkEtNjE0MCkKICogRml4IGJ1ZyBtaXNzaW5nIHJlc3VsdHMgd2l0mpbRGwAAAU/ePLJcABBEUkEtOTMxNCkKICogKGNxAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+XAAABAEFORCkgKENBU1NBTkRSQS01NTk3KQogKiBBZGQgYSByYXRlIGxpbWl0IG9wdGlvbiB0byBzdHJlc3MgKENBU1NBTkRSQS01MDA0KQogKiBoYXZlIEJ1bGtMb2FkZXIgaWdub3JlIHNuYXBzaG90cyBkaXJlY3RvcmllcyAoQ0FTU0FORFJBLTU1ODcpIAogKiBmaXggU25pdGNoUHJvcGVydGllcyBsb2dnaW5nIGNvbnRleHQgKENBU1NBTkRSQS01NjAyKQogKiBFeHBvc2Ugd2hldGhlciBqbmEgaXMgZW5hYmxlZCBhbmQgbWVtb3J5IGlzIGxvY2tlZCB2aWFfoo4OAAABT948slwAEGNvbHVtbiBuYW1lcyBpbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5cAAAEAbG93IGRyb3BwaW5nIGNvbHVtbnMgc2hhZG93ZWQgYnkgbm90LXlldC1leHBpcmVkIHN1cGVyY29sdW1uIG9yIHJvdwogICB0b21ic3RvbmVzIGluIFByZWNvbXBhY3RlZFJvdyAoQ0FTU0FORFJBLTQzOTYpCgoKMS4xLjIKICogRml4IGNsZWFudXAgbm90IGRlbGV0aW5nIGluZGV4IGVudHJpZXMgKENBU1NBTkRSQS00Mzc5KQogKiBVc2UgY29ycmVjdCBwYXJ0aXRpb25lciB3aGVuIHNhdmluZyArIGxvYWRpbmcgY2FjaGVzIChDQVNTQU5EUkEtNDMzMZI3H8IAAAFP3jyyXAAQbWVVVUlEcyBhcmUgdGhlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvlwAAAQBhYmxlbG9hZGVyIHJlY29nbml6ZSBjb21wcmVzc2VkIHNzdGFibGVzIChDQVNTQU5EUkEtMzUyMSkKICogYXZvaWRzIHJhY2UgaW4gT3V0Ym91bmRUY3BDb25uZWN0aW9uIGluIG11bHRpLURDIHNldHVwcyAoQ0FTU0FORFJBLTM1MzApCiAqIHVzZSBTRVRMT0NBTCBpbiBjYXNzYW5kcmEuYmF0IChDQVNTQU5EUkEtMzUwNikKICogZml4IENvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb24gaW4gVGFibGUuYWxsKCkgKENBU1NBTkRSQS0zNTI5KQpNhExe8gAAAU/ePLJcABBkaW5nIHJhbmdlcyBkdWUgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+XAAABACB3aGVuIGEgY29sdW1uIGZhbWlseSBpcyB0cnVuY2F0ZWQgKENBU1NBTkRSQS04MDg4KQogKiBBZGQgc2FuaXR5IGNoZWNrIG9mICRKQVZBIG9uIHN0YXJ0dXAgKENBU1NBTkRSQS03Njc2KQogKiBTY2hlZHVsZSBmYXQgY2xpZW50IHNjaGVtYSBwdWxsIG9uIGpvaW4gKENBU1NBTkRSQS03OTkzKQogKiBEb24ndCByZXNldCBub2RlcycgdmVyc2lvbnMgd2hlbiBjbG9zaW5nIEluY29taW5nVGNwQ29ubmVjdGlvbnMKICAgKENBU1NBTkRSQS03NzM0KQoHv2hPAAABT948slwAEGhyaWZ0IE11bHRpU2xpY2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5cAAAEATkRSQS04MTU2KQogKiBBdm9pZCBTdGFja092ZXJmbG93RXJyb3Igd2hlbiBhIGxhcmdlIGxpc3Qgb2YgSU4gdmFsdWVzCiAgIGlzIHVzZWQgZm9yIGEgY2x1c3RlcmluZyBjb2x1bW4gKENBU1NBTkRSQS04NDEwKQogKiBGaXggTlBFIHdoZW4gd3JpdGV0aW1lKCkgb3IgdHRsKCkgY2FsbHMgYXJlIHdyYXBwZWQgYnkKICAgYW5vdGhlciBmdW5jdGlvbiBjYWxsIChDQVNTQU5EUkEtODQ1MSkKICogRml4IE5QRSBhZnRlciBkcm9wcGluZyBhIGtleXNwYUiwhA8AAAFP3jyyXAAQZXMgZGF0YSBiZXR3ZWVuCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvlwAAAQBwb2ludCBzbml0Y2ggKENBU1NBTkRSQS05ODEpCiAqIGZpeCBzdHJlYW1pbmcgZm9yIGtleXNwYWNlcyB3aXRoIGh5cGhlbnMgaW4gdGhlaXIgbmFtZSAoQ0FTU0FORFJBLTEzNzcpCiAqIGZpeCBlcnJvcnMgaW4gaGFyZC1jb2RlZCBibG9vbSBmaWx0ZXIgb3B0S1BlckJ1Y2tldCBieSBjb21wdXRpbmcgaXQKICAgYWxnb3JpdGhtaWNhbGx5IChDQVNTQU5EUkEtMTIyMAogKiByZW1vdmUgbWVzc2FnZSBkZXNlcmlhbGl6YXRpb24gc3RhZ2UsIGFuZCB1MgO63wAAAU/ePLJcABAgKENBU1NBTkRSQS0yMDA2AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+XAAABAGxseSBtYWtlcyB0aGUgZGF0YSBiaWdnZXIKICAgKENBU1NBTkRSQS0zMzcwKQogKiBvcHRpbWl6ZSBVVUlER2VuIHRvIGF2b2lkIGxvY2sgY29udGVudGlvbiBvbiBJbmV0QWRkcmVzcy5nZXRMb2NhbEhvc3QgCiAgIChDQVNTQU5EUkEtMzM4NykKICogdG9sZXJhdGUgaW5kZXggYmVpbmcgZHJvcHBlZCBtaWQtbXV0YXRpb24gKENBU1NBTkRSQS0zMzM0LCAzMzEzKQogKiBDb21wYWN0aW9uTWFuYWdlciBpcyBub3cgcmVzcG9uc2libGUgZm9yIGNoZWNT2/JXAAABT948slwAEHRlbXB0aW5nIHRvIGRlbGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5cAAAEAdHJhY2tpbmcgb3BlcmF0aW9uIG1vZGUgYW5kIHN0cmVhbXMgaW4gZ2VuZXJhbC4KICAgKENBU1NBTkRSQS03MDkpCiAqIGtlZXAgbWVtdGFibGVzIGluIHNvcnRlZCBvcmRlciB0byBpbXByb3ZlIHJhbmdlIHF1ZXJ5IHBlcmZvcm1hbmNlCiAgIChDQVNTQU5EUkEtNzk5KQogKiB1c2Ugd2hpbGUgbG9vcCBpbnN0ZWFkIG9mIHJlY3Vyc2lvbiB3aGVuIHRyaW1taW5nIHNzdGFibGVzIGNvbXBhY3Rpb24gbGlzdCAKICAgdG8gYXZvaWQgYmxvd2luZyBzdGIK+roAHJAYR+LvSQAAAU/ePLJcABB1bW4gbmFtZSBpbiB0aHJpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+ZAAABAGl0aWFsaXNhdGlvbiBmb3IgYSBzcGxpdCBmZXRjaGluZyAoQ0FTU0FORFJBLTc3NzQpCiAqIFRocm93IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdoZW4gcXVlcmllcyBjb250YWluIHJlbGF0aW9ucyBvbiBlbnRpcmUKICAgY29sbGVjdGlvbiBjb2x1bW5zIChDQVNTQU5EUkEtNzUwNikKICogKGNxbHNoKSBlbmFibGUgQ1RSTC1SIGhpc3Rvcnkgc2VhcmNoIHdpdGggbGliZWRpdCAoQ0FTU0FORFJBLTc1NzcpCiAqIChIYWRvb3ApIGFsbG93IEFDRlLuxd0xAAABT948slwAEG4gdGhlIG9mZiBjaGFuY2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5kAAAEAYWtlIGEgbGlzdCBvZiB0YWJsZXMgKENBU1NBTkRSQS04MzQ4KQogKiBMaW1pdCBtYWpvciBzc3RhYmxlIG9wZXJhdGlvbnMgdG8gdGhlaXIgY2Fub25pY2FsIHJlcHJlc2VudGF0aW9uIChDQVNTQU5EUkEtODY2OSkKICogY3Fsc2g6IEFkZCB0ZXN0cyBmb3IgSU5TRVJUIGFuZCBVUERBVEUgdGFiIGNvbXBsZXRpb24gKENBU1NBTkRSQS05MTI1KQogKiBjcWxzaDogcXVvdGUgY29sdW1uIG5hbWVzIHdoZW4gbmVlZGVkIGluIENPUFkgRlJPTSBpbnNlclZoNPEAAAFP3jyyXAAQZiByb3cgaW4gc3Bhbm5lZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvmQAAAQBudCBsZW5ndGhzIChDQVNTQU5EUkEtNzY1MSkKICogRmlsdGVyIGNhY2hlZCByZXN1bHRzIGNvcnJlY3RseSAoQ0FTU0FORFJBLTc2MzYpCiAqIEZpeCB0cmFjaW5nIG9uIHRoZSBuZXcgU0VQRXhlY3V0b3IgKENBU1NBTkRSQS03NjQ0KQogKiBSZW1vdmUgc2h1ZmZsZSBhbmQgdGFrZXRva2VuIChDQVNTQU5EUkEtNzYwMSkKICogQ2xlYW4gdXAgV2luZG93cyBiYXRjaCBzY3JpcHRzIChDQVNTQU5EUkEtNzYxOSkKICogRml4IG5hdGl2ZSBwcm90b2NvLKqU3gAAAU/ePLJcABBrYWdpbmcgKENBU1NBTkRSAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+ZAAABAGludGVyLW5vZGUgbWVzc2FnZSBjb21wcmVzc2lvbiAoQ0FTU0FORFJBLTMxMjcpCiAqIHJlbW92ZSBDT1BQIChDQVNTQU5EUkEtMjQ3OSkKICogVHJhY2sgdG9tYnN0b25lIGV4cGlyYXRpb24gYW5kIGNvbXBhY3Qgd2hlbiB0b21ic3RvbmUgY29udGVudCBpcwogICBoaWdoZXIgdGhhbiBhIGNvbmZpZ3VyYWJsZSB0aHJlc2hvbGQsIGRlZmF1bHQgMjAlIChDQVNTQU5EUkEtMzQ0MiwgNDIzNCkKICogdXBkYXRlIE11cm11ckhhc2ggdG8gdmVyc2lvbiDjmK65AAABT948slwAEChDQVNTQU5EUkEtMjI2OSkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5kAAAEATkRSQS00NzA1KQogKiBjcWxzaDogUmVtb3ZlIEFTU1VNRSBjb21tYW5kIChDQVNTQU5EUkEtNTMzMSkKICogUmVidWlsZCBCRiB3aGVuIGxvYWRpbmcgc3N0YWJsZXMgaWYgYmxvb21fZmlsdGVyX2ZwX2NoYW5jZQogICBoYXMgY2hhbmdlZCBzaW5jZSBjb21wYWN0aW9uIChDQVNTQU5EUkEtNTAxNSkKICogcmVtb3ZlIHJvdy1sZXZlbCBibG9vbSBmaWx0ZXJzIChDQVNTQU5EUkEtNDg4NSkKICogQ2hhbmdlIEtlcm5lbCBQYWdlIENhY2hlIHNraXBwaeQw5AUAAAFP3jyyXAAQIChDQVNTQU5EUkEtODQwOAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvmQAAAQBudF93cml0ZXMgY29uZmlndXJhYmxlIGF0IHJ1bnRpbWUgdmlhIEpNWAogICAoQ0FTU0FORFJBLTEwNjApCiAqIGRpc2FibGUgR0NJbnNwZWN0b3Igb24gbm9uLVN1biBKVk1zIChDQVNTQU5EUkEtMTA2MSkKICogZml4IHRvbWJzdG9uZSBoYW5kbGluZyBpbiBzc3RhYmxlIHJvd3Mgd2l0aCBubyBvdGhlciBkYXRhIChDQVNTQU5EUkEtMTA2MykKICogZml4IHNpemUgb2Ygcm93IGluIHNwYW5uZWQgaW5kZXggZW50cmllcyAoQ0FTU0FORFJBLTEwNTYpI0j5LwAAAU/ePLJcABBzIG5vdCBtYXRjaGluZyBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+ZAAABAEFTU0FORFJBLTgyODEpCiAqIEZpeCBzc3RhYmxldXBncmFkZSB0aHJvd3MgZXhjZXB0aW9uIChDQVNTQU5EUkEtODY4OCkKICogRml4IGhhbmcgd2hlbiByZXBhaXJpbmcgZW1wdHkga2V5c3BhY2UgKENBU1NBTkRSQS04Njk0KQpNZXJnZWQgZnJvbSAyLjA6CiAqIEZpeCBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gaW4gZHluYW1pYyBzbml0Y2ggKENBU1NBTkRSQS04NDQ4KQogKiBBZGQgc3VwcG9ydCBmb3IgVVBEQVRFIC4uLiBJRiBFWElTVFMgKEMIFNIPAAABT948slwAEHNlcmlhbGl6YXRpb24gb2YAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5kAAAEAbikgdW5pbnRlbnRpb25hbCB1c2Ugb2YgdGhlIGNxbDIgdGhyaWZ0IG1ldGhvZHMgd2hlbiBjcWwzIHdhcwogICBpbnRlbmRlZCAoQ0FTU0FORFJBLTUxNzIpCiAqIGNsaTogUXVvdGUga3MgYW5kIGNmIG5hbWVzIGluIHNjaGVtYSBvdXRwdXQgd2hlbiBuZWVkZWQgKENBU1NBTkRSQS01MDUyKQogKiBGaXggY2YgbmFtZSBleHRyYWN0aW9uIGZyb20gbWFuaWZlc3QgaW4gRGlyZWN0b3JpZXMubWlncmF0ZUZpbGUoKSAoQ0FTU0FORFJBLTUyNDIpCiAqIAsE4WgAAAFP3jyyXAAQaW4gc3RyZXNzIChDQVNTQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvmQAAAQBhbGx5IHJldHVybmluZyBkZWxldGVkIHJvd3Mgd2l0aCByYW5nZSB0b21ic3RvbmUgKENBU1NBTkRSQS04NTU4KQogKiBDaGVjayBmb3IgYXZhaWxhYmxlIGRpc2sgc3BhY2UgYmVmb3JlIHN0YXJ0aW5nIGEgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTg1NjIpCiAqIEZpeCBESVNUSU5DVCBxdWVyaWVzIHdpdGggTElNSVRzIG9yIHBhZ2luZyB3aGVuIHNvbWUgcGFydGl0aW9ucwogICBjb250YWluIG9ubHkgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTg0OTApagtiCwAAAU/ePLJcABBsYXkgKENBU1NBTkRSQS02AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+ZAAABAEFORFJBLTY2MzcpCiAqIFNTVGFibGVTY2FubmVyIG1heSBza2lwIHJvd3MgZHVyaW5nIGNsZWFudXAgKENBU1NBTkRSQS02NjM4KQogKiBzc3RhYmxlcyBmcm9tIHN0YWxsZWQgcmVwYWlyIHNlc3Npb25zIGNhbiByZXN1cnJlY3QgZGVsZXRlZCBkYXRhIChDQVNTQU5EUkEtNjUwMykKICogU3dpdGNoIHN0cmVzcyB0byB1c2UgSVRyYW5zcG9ydEZhY3RvcnkgKENBU1NBTkRSQS02NjQxKQogKiBGaXggSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIGR1cmmy36A0AAABT948slwAEDE5NCkKICogZXhwb3NlIHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5kAAAEAIGNvcnJlY3RseSAoQ0FTU0FORFJBLTg1NjMpCiAqIER1cGxpY2F0ZSByb3dzIHJldHVybmVkIHdoZW4gaW4gY2xhdXNlIGhhcyByZXBlYXRlZCB2YWx1ZXMgKENBU1NBTkRSQS02NzA2KQogKiBBZGQgdG9vbGluZyB0byBkZXRlY3QgaG90IHBhcnRpdGlvbnMgKENBU1NBTkRSQS03OTc0KQogKiBGaXggY2Fzc2FuZHJhLXN0cmVzcyB1c2VyLW1vZGUgdHJ1bmNhdGlvbiBvZiBwYXJ0aXRpb24gZ2VuZXJhdGlvbiAoQ0FTU0FORFJBLTg2MDgpCiAqIE9ubDfWBUQAAAFP3jyyXAAQIHRvbWJzdG9uZSBoYW5kbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvmQAAAQB0byByZXNvbHZlIG5vZGUgdG9rZW4gcmVhc3NpZ25tZW50IGRpc2FncmVlbWVudHMKICAgKENBU1NBTkRSQS0xMTE4KQogKiByZXN0cnVjdHVyZSB0aGUgc3RhcnR1cCBvcmRlcmluZyBvZiBHb3NzaXBlciBhbmQgTWVzc2FnZVNlcnZpY2UgdG8gYXZvaWQKICAgdGltaW5nIGFub21hbGllcyAoQ0FTU0FORFJBLTExNjApCiAqIGRldGVjdCBpbmNvbXBsZXRlIGNvbW1pdCBsb2cgaGVhcmRlcnMgKENBU1NBTkRSQS0xMTE5KQogKiBmb3JjZSBhbnRpLWVuPpc+BQAAAU/ePLJcABBFeGNlcHRpb24gd2hlbiBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+ZAAABACBjb2x1bW5zIGFuZCBzdGF0aWMgY29sdW1ucwogICAoQ0FTU0FORFJBLTc0NTUpCiAqIEFkZCBvcHRpb24gdG8gZGlzYWJsZSBTVENTIGluIEwwIChDQVNTQU5EUkEtNjYyMSkKICogVXBncmFkZSB0byBzbmFwcHktamF2YSAxLjAuNS4yIChDQVNTQU5EUkEtNzQ3NikKCgoyLjEuMC1yYzIKICogRml4IGhlYXAgc2l6ZSBjYWxjdWxhdGlvbiBmb3IgQ29tcG91bmRTcGFyc2VDZWxsTmFtZSBhbmQgCiAgIENvbXBvdW5kU3BhcnNlQ2VsbE5hbWUuV2l0aEOUw6GZAAABT948slwAEFNTQU5EUkEtMjYwNikKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5kAAAEAQU5EUkEtMjk0MikKICogRXhwb3NlIGdvc3NpcC9GRCBpbmZvIHRvIEpNWCAoQ0FTU0FORFJBLTI4MDYpCiAqIEZpeCBzdHJlYW1pbmcgb3ZlciBTU0wgd2hlbiBjb21wcmVzc2VkIFNTVGFibGUgaW52b2x2ZWQgKENBU1NBTkRSQS0zMDUxKQogKiBBZGQgc3VwcG9ydCBmb3IgcGx1Z2dhYmxlIHNlY29uZGFyeSBpbmRleCBpbXBsZW1lbnRhdGlvbnMgKENBU1NBTkRSQS0zMDc4KQogKiByZW1vdmUgY29tcGFjdGlvbl90aHJlYWRfcHJpb3JpdHkgc2V0dHGlUhYAAAFP3jyyXAAQYXRpb24gcGFyYW1ldGVyIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvmQAAAQBvbXBhY3Rpb24gYW5kIGhpbnRlZCBoYW5kb2ZmIHRocmVhZHMgYXQgTUlOX1BSSU9SSVRZIChDQVNTQU5EUkEtMzMwOCkKICogZGVmYXVsdCBoc2hhIHRocmlmdCBzZXJ2ZXIgdG8gY3B1IGNvcmUgY291bnQgaW4gcnBjIHBvb2wgKENBU1NBTkRSQS0zMzI5KQogKiBhZGQgYmluXGRhZW1vbiB0byBiaW5hcnkgdGFyYmFsbCBmb3IgV2luZG93cyBzZXJ2aWNlIChDQVNTQU5EUkEtMzMzMSkKICogRml4IHBsYWNlcyB3aGVyZSB1bmNvbXByZXNzZWQgc2l6GakaxAAcpM+1tzc8AAAATrAgs4sAIwAGc3lzdGVtAAAQc2NoZW1hX2tleXNwYWNlcwAABAAAAAYAAAAAAQFaH/JnrOA/EoVjz65hA8ZeVVNmcgAFFffV+flgAAAAAAAAAABdpgxPAAABT948slwAEGx0IChDQVNTQU5EUkEtNTMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5wAAAEAb21taXRsb2dfcm90YXRpb25fdGhyZXNob2xkX2luX21iIGNvbmZpZ3VyYXRpb24gKENBU1NBTkRSQS0yNzcxKQogKiBtYWtlIEFic3RyYWN0Qm91bmRzLm5vcm1hbGl6ZSBkZS1vdmVybGFwcCBvdmVybGFwcGluZyByYW5nZXMgKENBU1NBTkRSQS0yNjQxKQogKiByZXBsYWNlIENvbGxhdGluZ0l0ZXJhdG9yLCBSZWR1Y2luZ0l0ZXJhdG9yIHdpdGggTWVyZ2VJdGVyYXRvciAKICAgKENBU1NBTkRSQS0yMDYyKQogKiBGaXhlZCB0aGUgYWJpbGl0eSB0b1P/Aj4AAAFP3jyyXAAQcyhzbmFwc2hvdCwgZGlmZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvnAAAAQB8RUFDSF1fUVVPUlVNIHRvIGJlIHVzZWQgd2l0aCBub24tTmV0d29ya1RvcG9sb2d5IAogICByZXBsaWNhdGlvbiBTdHJhdGVnaWVzCiAqIGluY3JlYXNlZCBhbW91bnQgb2YgaW5kZXggbG9ja3MgZm9yIGZhc3RlciBjb21taXRsb2cgcmVwbGF5CiAqIGNvbGxlY3Qgc2Vjb25kYXJ5IGluZGV4IHRvbWJzdG9uZXMgaW1tZWRpYXRlbHkgKENBU1NBTkRSQS0xOTE0KQogKiByZXZlcnQgY29tbWl0bG9nIGNoYW5nZXMgZnJvbSAjMTc4MCAoQ0FTU0FORFJBdbPn9QAAAU/ePLJcABBXcml0ZXIgc3luYyB3aXRoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+cAAABAChDQVNTQU5EUkEtMzcxMikKICogYXZvaWQgaW5jbHVkaW5nIG5vbi1xdWVyaWVkIG5vZGVzIGluIHJhbmdlc2xpY2UgcmVhZCByZXBhaXIKICAgKENBU1NBTkRSQS0zODQzKQogKiBPbmx5IHNuYXBzaG90IENGIGJlaW5nIGNvbXBhY3RlZCBmb3Igc25hcHNob3RfYmVmb3JlX2NvbXBhY3Rpb24gCiAgIChDQVNTQU5EUkEtMzgwMykKICogTG9nIGFjdGl2ZSBjb21wYWN0aW9ucyBpbiBTdGF0dXNMb2dnZXIgKENBU1NBTkRSQS0zNzAzKQogKiBDb21wdXQ+49KEAAABT948slwAEG9uIGluIE5vZGVJZAogICAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5wAAAEAMjE2MSkKICogZml4ZXMgZm9yIGNhY2hlIHNhdmUvbG9hZCAoQ0FTU0FORFJBLTIxNzIsIC0yMTc0KQogKiBIYW5kbGUgd2hvbGUtcm93IGRlbGV0aW9ucyBpbiBDRk91dHB1dEZvcm1hdCAoQ0FTU0FORFJBLTIwMTQpCiAqIE1ha2UgbWVtdGFibGVfZmx1c2hfd3JpdGVycyBmbHVzaCBpbiBwYXJhbGxlbCAoQ0FTU0FORFJBLTIxNzgpCiAqIEFkZCBjb21wYWN0aW9uX3ByZWhlYXRfa2V5X2NhY2hlIG9wdGlvbiAoQ0FTU0FORFJBLTIxNzUpCiAqIHJlZvi9h8oAAAFP3jyyXAAQZGF0aW5nIHRva2VuIChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvnAAAAQBzYWZlIGFuZCBnYyBmcmllbmRseSAoQ0FTU0FORFJBLTc3OTUpCiAqIFZhbGlkYXRlIGVtcHR5IGNlbGwgbmFtZXMgZnJvbSBjb3VudGVyIHVwZGF0ZXMgKENBU1NBTkRSQS03Nzk4KQpNZXJnZWQgZnJvbSAxLjI6CiAqIERvbid0IGFsbG93IGNvbXBhY3RlZCBzc3RhYmxlcyB0byBiZSBtYXJrZWQgYXMgY29tcGFjdGluZyAoQ0FTU0FORFJBLTcxNDUpCiAqIFRyYWNrIGV4cGlyZWQgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTc4MTApCgoKMi4xLjAtcmM2M3ajVwAAAU/ePLJcABA+PSAxLjEuNyAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+cAAABAGFjaGVFbnRyaWVzIHRvIENhY2hlU2VydmljZU1CZWFuIChDQVNTQU5EUkEtNDg1OSkKICogZml4IGdldF9wYWdlZF9zbGljZSB0byB3cmFwIHRvIG5leHQgcm93IGNvcnJlY3RseSAoQ0FTU0FORFJBLTQ4MTYpCiAqIGZpeCBpbmRleGluZyBlbXB0eSBjb2x1bW4gdmFsdWVzIChDQVNTQU5EUkEtNDgzMikKICogYWxsb3cgSmRiY0RhdGUgdG8gY29tcG9zZSBudWxsIERhdGUgb2JqZWN0cyAoQ0FTU0FORFJBLTQ4MzApCiAqIGZpeCBwb3NzaWJsZSBzdGE6krJJAAABT948slwAEHMgKENBU1NBTkRSQS0zNDYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5wAAAEAKiBGaXggSFNIQS9vZmZoZWFwX29iamVjdHMgY29ycnVwdGlvbiAoQ0FTU0FORFJBLTg3MTkpCiAqIFVwZ3JhZGUgbGlidGhyaWZ0IHRvIDAuOS4yIChDQVNTQU5EUkEtODY4NSkKICogRG9uJ3QgdXNlIHRoZSBzaGFyZWQgcmVmIGluIHNzdGFibGVsb2FkZXIgKENBU1NBTkRSQS04NzA0KQogKiBQdXJnZSBpbnRlcm5hbCBwcmVwYXJlZCBzdGF0ZW1lbnRzIGlmIHJlbGF0ZWQgdGFibGVzIG9yCiAgIGtleXNwYWNlcyBhcmUgZHJvcHBlZCAoQ0FTU0FORIsZuE8AAAFP3jyyXAAQaXggQ29sdW1uRmFtaWx5UgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvnAAAAQBleC1idWlsZGluZyBzdGF0dXMgaW4gSk1YICsgY2xpIHNjaGVtYSBkZXNjcmlwdGlvbgogICAoQ0FTU0FORFJBLTE4NzEpCiAqIGFsbG93IFtMT0NBTHxFQUNIXV9RVU9SVU0gdG8gYmUgdXNlZCB3aXRoIG5vbi1OZXR3b3JrVG9wb2xvZ3kgCiAgIHJlcGxpY2F0aW9uIFN0cmF0ZWdpZXMKICogaW5jcmVhc2VkIGFtb3VudCBvZiBpbmRleCBsb2NrcyBmb3IgZmFzdGVyIGNvbW1pdGxvZyByZXBsYXkKICogY29sbGVjdCBzZWNvbmRhcnkgaW5kZXggdG9tZwFm1QAAAU/ePLJcABAgCiAgIEludmFsaWRSZXF1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+cAAABAG1wYXJhdG9yIHdoZW4gY3JlYXRpbmcKICAgY29sdW1uIGZhbWlsaWVzIChDQVNTQU5EUkEtMTgzNSkKICogdW5yZWdpc3RlciBpbmRleCBNQmVhbnMgd2hlbiBpbmRleCBpcyBkcm9wcGVkIChDQVNTQU5EUkEtMTg0MykKICogbWFrZSBCeXRlQnVmZmVyVXRpbC5jbG9uZSB0aHJlYWQtc2FmZSAoQ0FTU0FORFJBLTE4NDcpCiAqIGNoYW5nZSBleGNlcHRpb24gZm9yIHJlYWQgcmVxdWVzdHMgZHVyaW5nIGJvb3RzdHJhcCBmcm9tIAogICBJbnZhbGlkUmUoZik2AAABT948slwAEHJpY3MgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5wAAAEAICogZml4IGdldF9jb3VudCByZXR1cm5zIGluY29ycmVjdCB2YWx1ZSB3aXRoIFRUTCAoQ0FTU0FORFJBLTUwOTkpCiAqIGJldHRlciBoYW5kbGluZyBmb3IgbWlkLWNvbXBhY3Rpb24gZmFpbHVyZSAoQ0FTU0FORFJBLTUxMzcpCiAqIGNvbnZlcnQgZGVmYXVsdCBtYXJzaGFsbGVycyBsaXN0IHRvIG1hcCBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5IChDQVNTQU5EUkEtNTEwOSkKICogZml4IENvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb24gaW4gZ+6TF8kAAAFP3jyyXAAQQU5EUkEtNTI0OCkKICogYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvnAAAAQAgcmVwYWlyIGJlaGF2ZSBhcyBleHBlY3RlZCBmb3IgQ29uc2lzdGVuY3lMZXZlbCA+IE9ORQogICAoQ0FTU0FORFJBLTk4MiwgMjAzOCkKICogZGlzdHJpYnV0ZWQgdGVzdCBoYXJuZXNzIChDQVNTQU5EUkEtMTg1OSwgMTk2NCkKICogcmVkdWNlIGZsdXNoIGxvY2sgY29udGVudGlvbiAoQ0FTU0FORFJBLTE5MzApCiAqIG9wdGltaXplIHN1cGVyY29sdW1uIGRlc2VyaWFsaXphdGlvbiAoQ0FTU0FORFJBLTE4OTEpCiAqIGZpeCBDRk1ldGFEYXRhLmFwyPLXOwAAAU/ePLJcABBTU0FORFJBLTU5OTApCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+cAAABAAogICBsb2c0ai1zZXJ2ZXIucHJvcGVydGllcywgd2hpY2ggbXVzdCBub3cgYmUgbG9hZGVkIGZyb20KICAgdGhlIGNsYXNzcGF0aCAod2hpY2ggaXMgaG93IG91ciBzY3JpcHRzIGluIGJpbi8gaGF2ZSBhbHdheXMgZG9uZSBpdCkKICAgKENBU1NBTkRSQS05NzEpCiAqIGNoYW5nZSBnZXRfY291bnQgdG8gcmVxdWlyZSBhIFNsaWNlUHJlZGljYXRlLiBjcmVhdGUgbXVsdGlfZ2V0X2NvdW50CiAgIChDQVNTQU5EUkEtNzQ0KQogKiByZS1vcmdhbml6ZWS24oe6AAABT948slwAEHQgdG8gc2VlIGNvbW1vbiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL5wAAAEAaCByYW5nZSB0b21ic3RvbmUgKENBU1NBTkRSQS04NTU4KQogKiBDaGVjayBmb3IgYXZhaWxhYmxlIGRpc2sgc3BhY2UgYmVmb3JlIHN0YXJ0aW5nIGEgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTg1NjIpCiAqIEZpeCBESVNUSU5DVCBxdWVyaWVzIHdpdGggTElNSVRzIG9yIHBhZ2luZyB3aGVuIHNvbWUgcGFydGl0aW9ucwogICBjb250YWluIG9ubHkgdG9tYnN0b25lcyAoQ0FTU0FORFJBLTg0OTApCiAqIEludHJvZHVjZSBiYWNrZ3JvdW5kIGNhY2hlILRzzSgAAAFP3jyyXAAQQS0yMzg4CiAqIGNoYW5nZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvnAAAAQBkZSBwYXJ0aXRpb25zIChDQVNTQU5EUkEtNjQ0NikKICogRml4IENsYXNzQ2FzdEV4Y2VwdGlvbiBmb3IgY29tcGFjdCB0YWJsZSB3aXRoIGNvbXBvc2l0ZXMgKENBU1NBTkRSQS02NzM4KQogKiBGaXggcG90ZW50aWFsbHkgcmVwYWlyaW5nIHdpdGggd3Jvbmcgbm9kZXMgKENBU1NBTkRSQS02ODA4KQogKiBDaGFuZ2UgY2FjaGluZyBvcHRpb24gc3ludGF4IChDQVNTQU5EUkEtNjc0NSkKICogRml4IHN0cmVzcyB0byBkbyBwcm9wZXIgY291bnRlciByI3cy5gAAAU/ePLJcABBlIGNhc3NhbmRyYS55YW1sAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+cAAABAC0zNDgzLCAzOTIyKQogKiByZXNwZWN0IG5vdCBvbmx5IHJvdyBjYWNoZSBjYXBhY2l0eSBidXQgY2FjaGluZyBtb2RlIHdoZW4KICAgdHJ5aW5nIHRvIHJlYWQgZGF0YSAoQ0FTU0FORFJBLTM4MTIpCiAqIGZpeCBzeXN0ZW0gdGVzdHMgKENBU1NBTkRSQS0zODI3KQogKiBDUUwgc3VwcG9ydCBmb3IgYWx0ZXJpbmcgcm93IGtleSB0eXBlIGluIEFMVEVSIFRBQkxFIChDQVNTQU5EUkEtMzc4MSkKICogdHVybiBjb21wcmVzc2lvbiBvbiBieSBkZWZhdWxkL/KFABy5LBYqg7wAAAFP3jyyXAAQIHVwZ3JhZGUgZnJvbSBwcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvnwAAAQAqIEFkZCBtYXggbGl2ZS90b21ic3RvbmVkIGNlbGxzIHRvIG5vZGV0b29sIGNmc3RhdHMgb3V0cHV0IChDQVNTQU5EUkEtNzczMSkKICogVmFsaWRhdGUgSVB2NiB3aWxkY2FyZCBhZGRyZXNzZXMgcHJvcGVybHkgKENBU1NBTkRSQS03NjgwKQogKiAoY3Fsc2gpIEVycm9yIHdoZW4gdHJhY2luZyBxdWVyeSAoQ0FTU0FORFJBLTc2MTMpCiAqIEF2b2lkIElPT0JFIHdoZW4gYnVpbGRpbmcgU3ludGF4RXJyb3IgbWVzc2FnZSBzbmlwcGV0IChDQVNTQU5ErvNzqAAAAU/ePLJcABAtNjQ5MSkKICogRG9uJ3QgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+fAAABAE5UIChDQVNTQU5EUkEtNjA4MCkKICogVHJhY2sgY2xpZW50cycgcmVtb3RlIGFkZHJlc3NlcyBpbiBDbGllbnRTdGF0ZSAoQ0FTU0FORFJBLTYwNzApCiAqIENyZWF0ZSBzbmFwc2hvdCBkaXIgaWYgaXQgZG9lcyBub3QgZXhpc3Qgd2hlbiBtaWdyYXRpbmcKICAgbGV2ZWxlZCBtYW5pZmVzdCAoQ0FTU0FORFJBLTYwOTMpCiAqIG1ha2Ugc2VxdWVudGlhbCBub2RldG9vbCByZXBhaXIgdGhlIGRlZmF1bHQgKENBU1NBTkRSQS01OTUwKQogKiBBZGQgbW+KR1LnAAABT948slwAEGUgaW5kZXhlZCBjb2x1bW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL58AAAEANDU2KQogKiBmaXggbm9kZXRvb2wncyBzZXRjb21wYWN0aW9udGhyZXNob2xkIGNvbW1hbmQgKENBU1NBTkRSQS00NDU1KQogKiBFbnN1cmUgY29tcGFjdGVkIGZpbGVzIGFyZSBuZXZlciB1c2VkLCB0byBhdm9pZCBjb3VudGVyIG92ZXJjb3VudCAoQ0FTU0FORFJBLTQ0MzYpCk1lcmdlZCBmcm9tIDEuMDoKICogUHVzaCB0aGUgdmFsaWRhdGlvbiBvZiBzZWNvbmRhcnkgaW5kZXggdmFsdWVzIHRvIHRoZSBTZWNvbmRhcnlJbmRleE1hbmFnZXIgKENBUz19yRgAAAFP3jyyXAAQcnJvcnMgYnkgdXNpbmcgbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvnwAAAQBSQS01NDMyKQogKiBBZGQgbm9kZXRvb2wgZW5hYmxlYmFja3VwL2Rpc2FibGViYWNrdXAgKENBU1NBTkRSQS01NTU2KQogKiBjcWxzaDogZml4IERFU0NSSUJFIGFmdGVyIGNhc2UgaW5zZW5zaXRpdmUgVVNFIChDQVNTQU5EUkEtNTU2NykKTWVyZ2VkIGZyb20gMS4xCiAqIEFkZCByZXRyeSBtZWNoYW5pc20gdG8gT1RDIGZvciBub24tZHJvcHBhYmxlX3ZlcmJzIChDQVNTQU5EUkEtNTM5MykKICogVXNlIGFsbG9jYXRvciBpbmZvcm1hdGlvbiB0byBpWGW4mQAAAU/ePLJcABBlOyBpbnN0ZWFkLCBleHBvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+fAAABAG9tIDEuMjoKICogQWRkIENsb3Vkc3RhY2sgc25pdGNoIChDQVNTQU5EUkEtNzE0NykKICogVXBkYXRlIHN5c3RlbS5wZWVycyBjb3JyZWN0bHkgd2hlbiByZWxvY2F0aW5nIHRva2VucyAoQ0FTU0FORFJBLTcxMjYpCiAqIEFkZCBHb29nbGUgQ29tcHV0ZSBFbmdpbmUgc25pdGNoIChDQVNTQU5EUkEtNzEzMikKICogcmVtb3ZlIGR1cGxpY2F0ZSBxdWVyeSBmb3IgbG9jYWwgdG9rZW5zIChDQVNTQU5EUkEtNzE4MikKICogZXhpdCBDUUxTSCB3aXRoIGXnajGEAAABT948slwAEHJhZ2VTZXJ2aWNlLmdldE8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL58AAAEAIEZsdXNoIHN5c3RlbS5JbmRleEluZm8gYWZ0ZXIgbWFya2luZyBpbmRleCBidWlsdCAoQ0FTU0FORFJBLTkxMjgpCiAqIEZpeCB1cGRhdGVzIHRvIG1pbi9tYXhfY29tcGFjdGlvbl90aHJlc2hvbGQgdGhyb3VnaCBjYXNzYW5kcmEtY2xpCiAgIChDQVNTQU5EUkEtODEwMikKICogRG9uJ3QgaW5jbHVkZSB0bXAgZmlsZXMgd2hlbiBkb2luZyBvZmZsaW5lIHJlbGV2ZWwgKENBU1NBTkRSQS05MDg4KQogKiBVc2UgdGhlIHByb3BlciBDQVMgV3JpdGVUedDl7uMAAAFP3jyyXAAQYmxlIGRlbGV0aW9uIChDQQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvnwAAAQBTU0FORFJBLTM3NTgpCiAqIGZpeCBpbnRlcm1pdHRlbnQgTlBFIGluIGdldF9zbGljZSAoQ0FTU0FORFJBLTQwOTUpCiAqIHJlbW92ZSB1bm5lY2Vzc2FyeSBhc3NlcnRzIGluIG5hdGl2ZSBjb2RlIGludGVyZmFjZXMgKENBU1NBTkRSQS00MDk2KQogKiBWYWxpZGF0ZSBibGFuayBrZXlzIGluIENRTCB0byBhdm9pZCBhc3NlcnRpb24gZXJyb3JzIChDQVNTQU5EUkEtMzYxMikKICogY3Fsc2g6IGZpeCBiYWQgZGVjb2Rpbmcgb2Ygc29tZSBjb2x1bW4gZu1YcAAAAU/ePLJcABBlZCBhcyBhIHNpbmdsZSBhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+fAAABAERSQS0xNTAzLCAxNTA0LCAxNTA2KQogKiBhZGQgb3B0aW9ucyB0byBjb25maWd1cmUgVGhyaWZ0IHNvY2tldCBrZWVwYWxpdmUgYW5kIGJ1ZmZlciBzaXplcyAoQ0FTU0FORFJBLTE0MjYpCiAqIG1ha2UgY29udHJpYiBDYXNzYW5kcmFTZXJ2aWNlRGF0YUNsZWFuZXIgcmVjdXJzaXZlIChDQVNTQU5EUkEtMTUwOSkKICogbWluLCBtYXggY29tcGFjdGlvbiB0aHJlc2hvbGQgYXJlIGNvbmZpZ3VyYWJsZSBhbmQgcGVyc2lzdGVudCAKICAgcGVyLUNvbHWf6RQiAAABT948slwAECB0eXBlcyBhbmQga2V5IHYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL58AAAEALTYzMzcpCiAqIFN1cHBvcnQgTmFOIGFuZCBJbmZpbml0eSBhcyBmbG9hdCBsaXRlcmFscyAoQ0FTU0FORFJBLTYwMDMpCiAqIFJlbW92ZSBSRiBmcm9tIG5vZGV0b29sIHJpbmcgb3V0cHV0IChDQVNTQU5EUkEtNjI4OSkKICogRml4IGF0dGVtcHRpbmcgdG8gZmx1c2ggZW1wdHkgcm93cyAoQ0FTU0FORFJBLTYzNzQpCiAqIEZpeCBwb3RlbnRpYWwgb3V0IG9mIGJvdW5kcyBleGNlcHRpb24gd2hlbiBwYWdpbmcgKENBU1NBTkRSQS02MzMzKQpNZXJnZXC4lmcAAAFP3jyyXAAQaW9uIGFnYWluc3Qgb2xkZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvnwAAAQAgYW5kIHNoYXJlcyBkYXRhIGJldHdlZW4KICAgZWFjaCBJbmRleFN1bW1hcnkgb3BlbmVkIGZyb20gaXQgKENBU1NBTkRSQS04NzU3KQogKiBtYXJrQ29tcGFjdGluZyBvbmx5IHN1Y2NlZWRzIGlmIHRoZSBleGFjdCBTU1RhYmxlUmVhZGVyIGluc3RhbmNlcyBiZWluZyAKICAgbWFya2VkIGFyZSBpbiB0aGUgbGl2ZSBzZXQgKENBU1NBTkRSQS04Njg5KQogKiBjYXNzYW5kcmEtc3RyZXNzIHN1cHBvcnQgZm9yIHZhcmludCAoQ0FTU0FORFJBLTg4ODIp4hzfYwAAAU/ePLJcABBpbmcKICAgZmluaXNoZWQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+fAAABACBGaXggTlBFIG9uIG51bGwgbmVzdGVkIFVEVCBpbnNpZGUgYSBzZXQgKENBU1NBTkRSQS04MTA1KQogKiBGaXggZXhjZXB0aW9uIHdoZW4gcXVlcnlpbmcgc2Vjb25kYXJ5IGluZGV4IG9uIHNldCBpdGVtcyBvciBtYXAga2V5cwogICB3aGVuIHNvbWUgY2x1c3RlcmluZyBjb2x1bW5zIGFyZSBzcGVjaWZpZWQgKENBU1NBTkRSQS04MDczKQogKiBTZW5kIHByb3BlciBlcnJvciByZXNwb25zZSB3aGVuIHRoZXJlIGlzIGFuIGVycm9yIGR1cmluZyBuYXSS5MCbAAABT948slwAEENBU1NBTkRSQS00ODQ4KQoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL58AAAEAIFNlcGFyYXRlIHRyYWNpbmcgZnJvbSBMb2c0SiAoQ0FTU0FORFJBLTQ4NjEpCiAqIEV4Y2x1ZGUgZ2NhYmxlIHRvbWJzdG9uZXMgZnJvbSBtZXJrbGUtdHJlZSBjb21wdXRhdGlvbiAoQ0FTU0FORFJBLTQ5MDUpCiAqIEJldHRlciBwcmludGluZyBvZiBBYnN0cmFjdEJvdW5kcyBmb3IgdHJhY2luZyAoQ0FTU0FORFJBLTQ5MzEpCiAqIE9wdGltaXplIG1vc3RSZWNlbnRUb21ic3RvbmUgY2hlY2sgaW4gQ0MuY29sbGVjdEFsbERhdGEgKENBU1NBTkRSQWyxgtgAAAFP3jyyXAAQLWJldGExCiAqIHNzdGFibAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvnwAAAQAgbGV2ZWwgc3N0YWJsZXMgZ2V0IGNvbXBhY3RlZCAoQ0FTU0FORFJBLTc0MTQpCiAqIEZpeCBBc3NlcnRpb25FcnJvciB3aGVuIHVzaW5nIGVtcHR5IGNsdXN0ZXJpbmcgY29sdW1ucyBhbmQgc3RhdGljIGNvbHVtbnMKICAgKENBU1NBTkRSQS03NDU1KQogKiBBZGQgb3B0aW9uIHRvIGRpc2FibGUgU1RDUyBpbiBMMCAoQ0FTU0FORFJBLTY2MjEpCiAqIFVwZ3JhZGUgdG8gc25hcHB5LWphdmEgMS4wLjUuMiAoQ0FTU0FORFJBLTc0NzYpCgoKMi4xLjAtLE8/WAAAAU/ePLJcABB0ZSAoQ0FTU0FORFJBLTI4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+fAAABAHN0ZWFkIG9mIAogICBsaXN0ZW4vYnJvYWRjYXN0IGFkZHJlc3NlcyAoQ0FTU0FORFJBLTE3NzcpCiAqIGluY2x1ZGUgZmlsZXMtdG8tYmUtc3RyZWFtZWQgaW4gU3RyZWFtSW5TZXNzaW9uLmdldFNvdXJjZXMgKENBU1NBTkRSQS0yOTcyKQogKiB1c2UgSkFWQSBlbnYgdmFyIGluIGNhc3NhbmRyYS1lbnYuc2ggKENBU1NBTkRSQS0yNzg1LCAyOTkyKQogKiBhdm9pZCBkb2luZyByZWFkIGZvciBuby1vcCByZXBsaWNhdGUtb24td3JpdGUgYXQgQ0w9MSDVq6IrAAABT948slwAECogcmV0dXJuIGFuIEludmEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL58AAAEAcm9yIHdoZW4gZnJhbWUgdG9vIGxhcmdlIChDQVNTQU5EUkEtNTk4MSkKICogRml4IHNlcmlhbGl6YXRpb24gYnVnIGluIFBhZ2VkUmFuZ2Ugd2l0aCAybmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTYyOTkpCiAqIEZpeCBDUUwzIHRhYmxlIHZhbGlkYXRpb24gaW4gVGhyaWZ0IChDQVNTQU5EUkEtNjE0MCkKICogRml4IGJ1ZyBtaXNzaW5nIHJlc3VsdHMgd2l0aCBJTiBjbGF1c2VzIChDQVNTQU5EUkEtNjMyNykKICogRml4IHBhZ2luZyB3aXRoIHJldkhb/MUAHM2J0EVcYgAAAU/ePLJcABBkIGV4cGlyZWQgaGludHMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+hAAABAFNBTkRSQS01ODk0KQogKiBSZWplY3QgQ0FTIG9wZXJhdGlvbiB3aGVuIHRoZSBwcm90b2NvbCB2MSBpcyB1c2VkIChDQVNTQU5EUkEtNjI3MCkKICogQ29ycmVjdGx5IHRocm93IGVycm9yIHdoZW4gZnJhbWUgdG9vIGxhcmdlIChDQVNTQU5EUkEtNTk4MSkKICogRml4IHNlcmlhbGl6YXRpb24gYnVnIGluIFBhZ2VkUmFuZ2Ugd2l0aCAybmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTYyOTkpCiAqIEZpeCBDUUwzIHRhYmxlIHZhbGlkYXRpb24gaW4gVGiLaJUXAAABT948slwAEG4gCiAgICdDTFVTVEVSSU4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6EAAAEAYV90cmlnZ2VycyBDRiBpbiByZWFkYWJsZSBzeXN0ZW0gcmVzb3VyY2VzIChDQVNTQU5EUkEtNzk2NykKICogRml4IFJvd0luZGV4RW50cnkgdG8gcmVwb3J0IGNvcnJlY3Qgc2VyaWFsaXplZFNpemUgKENBU1NBTkRSQS03OTQ4KQogKiBNYWtlIENRTFNTVGFibGVXcml0ZXIgc3luYyB3aXRoaW4gcGFydGl0aW9ucyAoQ0FTU0FORFJBLTczNjApCiAqIFBvdGVudGlhbGx5IHVzZSBub24tbG9jYWwgcmVwbGljYXMgaW4gQ3FsQ29uZmlnSGVscGVyIChDQae3mZsAAAFP3jyyXAAQZSBDcWxSZWNvcmRXcml0ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvoQAAAQAgc2V0IGNvbXBhY3Rpb24gc3RyYXRlZ3kgb3B0aW9ucyAoQ0FTU0FORFJBLTY0NTEpCiAqIEFkZCBicm9hZGNhc3RfcnBjX2FkZHJlc3Mgb3B0aW9uIHRvIGNhc3NhbmRyYS55YW1sIChDQVNTQU5EUkEtNTg5OSkKICogQXV0byByZWxvYWQgR29zc2lwaW5nUHJvcGVydHlGaWxlU25pdGNoIGNvbmZpZyAoQ0FTU0FORFJBLTU4OTcpCiAqIEZpeCBvdmVyZmxvdyBvZiBtZW10YWJsZV90b3RhbF9zcGFjZV9pbl9tYiAoQ0FTU0FORFJBLTY1NzMpCiAqIEZpXGUYkwAAAU/ePLJcABBuZ3Mgb2YgYSBkZWNlbnQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+hAAABADE2MywgMzE2OCkKICogRGVmYXVsdCBSUiBjaGFuY2UgdG8gMC4xIChDQVNTQU5EUkEtMzE2OSkKICogQWRkIFJvd0xldmVsIHN1cHBvcnQgdG8gc2Vjb25kYXJ5IGluZGV4IEFQSSAoQ0FTU0FORFJBLTMxNDcpCiAqIE1ha2UgU2VyaWFsaXppbmdDYWNoZVByb3ZpZGVyIHRoZSBkZWZhdWx0IGlmIEpOQSBpcyBhdmFpbGFibGUgKENBU1NBTkRSQS0zMTgzKQogKiBGaXggYmFja3dhcmRzIGNvbXBhdGliaWx0eSBmb3IgQ1FMIG1lbXRhYmxlIHByb3BlcnQmsEQQAAABT948slwAEFJBLTI0OTIpCiAqIGNvdW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6EAAAEAaXggQ0xJIHBlcnBldHVhdGluZyBvYnNvbGV0ZSBLc0RlZi5yZXBsaWNhdGlvbl9mYWN0b3IgKENBU1NBTkRSQS0yODQ2KQogKiBpbXByb3ZlIGNsaSB0cmVhdG1lbnQgb2YgbXVsdGlsaW5lIGNvbW1lbnRzIChDQVNTQU5EUkEtMjg1MikKICogaGFuZGxlIHJvdyB0b21ic3RvbmVzIGNvcnJlY3RseSBpbiBFY2hvZWRSb3cgKENBU1NBTkRSQS0yNzg2KQogKiBhZGQgTWVzc2FnaW5nU2VydmljZS5nZXRbUmVjZW50bHldRHJvcHBlZE1lc3NhZ2VzIGFuZPkqy6QAAAFP3jyyXAAQICogU3dpdGNoIGZyb20gTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvoQAAAQBEUkEtMTU3OCwgMTYxMikKICogYWRkIGNsaSBzdXBwb3J0IGZvciBzY2hlbWEgbW9kaWZpY2F0aW9uIChDQVNTQU5EUkEtMTU4NCkKICogZGVsZXRlIHRlbXAgZmlsZXMgb24gZmFpbGVkIGNvbXBhY3Rpb25zIChDQVNTQU5EUkEtMTU5NikKICogYXZvaWQgYmxvY2tpbmcgZm9yIGRlYWQgbm9kZXMgZHVyaW5nIHJlbW92ZXRva2VuIChDQVNTQU5EUkEtMTYwNSkKICogcmVtb3ZlIENvbnNpc3RlbmN5TGV2ZWwuWkVSTyAoQ0FTU0FORFJBLTE2MDcpCiAqq7VkRAAAAU/ePLJcABBSQS0yNjk4KQogKiBTd2l0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+hAAABAGRlcyBvciBwZXJmb3JtaW5nIEpNWCBtYWludGVuYW5jZSBiZWZvcmUKICAgam9pbmluZyB0aGUgcmluZyAoQ0FTU0FORFJBLTUyNikKICogbG9nIG1pZ3JhdGlvbnMgYXQgSU5GTyAoQ0FTU0FORFJBLTIwMjgpCiAqIGFkZCBDTEkgdmVyYm9zZSBvcHRpb24gaW4gZmlsZSBtb2RlIChDQVNTQU5EUkEtMjAzMCkKICogYWRkIHNpbmdsZS1saW5lICItLSIgY29tbWVudHMgdG8gQ0xJIChDQVNTQU5EUkEtMjAzMikKICogbWVzc2FnZSBzZXJpYWxpemF0aW8KJbchAAABT948slwAEC04MDEzKQogKiBSZWxlYXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6EAAAEAb21wYWN0aW9uIGFuZCBzdGFydHVwIHRpbWUKICAgKENBU1NBTkRSQS0zNTMyKQogKiAoQ1FMKSBQcm9wZXIgQ29sdW1uRmFtaWx5IG1ldGFkYXRhIHZhbGlkYXRpb24gb24gQ1JFQVRFIENPTFVNTkZBTUlMWSAKICAgKENBU1NBTkRSQS0zNTY1KQogKiBmaXggY29tcHJlc3Npb24gImNodW5rX2xlbmd0aF9rYiIgb3B0aW9uIHRvIHNldCBjb3JyZWN0IGtiIHZhbHVlIGZvciAKICAgdGhyaWZ0L2F2cm8gKENBU1NBTkRSQS0zNTU4KQogKiBmaXggbWlzc41yN8gAAAFP3jyyXAAQc2hvdWxkIGFsc28gY2xlYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvoQAAAQAgZmFzdGVyIGNvbXBhcmlzb24gZm9yIFVVSUQgdHlwZXMgKENBU1NBTkRSQS0xMDQzKQogKiBzZWNvbmRhcnkgaW5kZXggc3VwcG9ydCAoQ0FTU0FORFJBLTc0OSBhbmQgc3VidGFza3MpCiAqIG1ha2UgY29tcGFjdGlvbiBidWNrZXRzIGRldGVybWluaXN0aWMgKENBU1NBTkRSQS0xMjY1KQoKCjAuNi42CiAqIEFsbG93IHVzaW5nIER5bmFtaWNFbmRwb2ludFNuaXRjaCB3aXRoIFJhY2tBd2FyZVN0cmF0ZWd5IChDQVNTQU5EUkEtMTQyOSkKICogcmVtEfXADQAAAU/ePLJcABBDUUwzIGZ1bmN0aW9ucyB3AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+hAAABACAuLi4gSUYgRVhJU1RTIHRvIENRTDMgKENBU1NBTkRSQS01NzA4KQogKiBVcGRhdGUgaGFkb29wX2NxbDNfd29yZF9jb3VudCBleGFtcGxlIChDQVNTQU5EUkEtNjc5MykKICogRml4IGhhbmRsaW5nIG9mIFJlamVjdGVkRXhlY3V0aW9uIGluIHN5bmMgVGhyaWZ0IHNlcnZlciAoQ0FTU0FORFJBLTY3ODgpCiAqIExvZyBtb3JlIGluZm9ybWF0aW9uIHdoZW4gZXhjZWVkaW5nIHRvbWJzdG9uZV93YXJuX3RocmVzaG9sZCAoQ0FTU0FORFJBLTY4NjUpCiCzprCkAAABT948slwAECogU2V0IGdjX2dyYWNlX3MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6EAAAEAYWRkcmVzc2VzIGluc3RlYWQgb2YgCiAgIGxpc3Rlbi9icm9hZGNhc3QgYWRkcmVzc2VzIChDQVNTQU5EUkEtMTc3NykKICogaW5jbHVkZSBmaWxlcy10by1iZS1zdHJlYW1lZCBpbiBTdHJlYW1JblNlc3Npb24uZ2V0U291cmNlcyAoQ0FTU0FORFJBLTI5NzIpCiAqIHVzZSBKQVZBIGVudiB2YXIgaW4gY2Fzc2FuZHJhLWVudi5zaCAoQ0FTU0FORFJBLTI3ODUsIDI5OTIpCiAqIGF2b2lkIGRvaW5nIHJlYWQgZm9yIG5vLW9wIHJlcGxpY2F0ZS1vbi13ctFm8EkAAAFP3jyyXAAQZmV0Y2hpbmcgKENBU1NBTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvoQAAAQApCiAqIE9wdGltaXplIHBhcnRpdGlvbmVyIHRva2VucyAoQ0FTU0FORFJBLTgyMzApCiAqIEltcHJvdmUgY29tcGFjdGlvbiBvZiByZXBhaXJlZC91bnJlcGFpcmVkIHNzdGFibGVzIChDQVNTQU5EUkEtODAwNCkKICogTWFrZSBjYWNoZSBzZXJpYWxpemVycyBwbHVnZ2FibGUgKENBU1NBTkRSQS04MDk2KQogKiBGaXggaXNzdWVzIHdpdGggQ09OVEFJTlMgKEtFWSkgcXVlcmllcyBvbiBzZWNvbmRhcnkgaW5kZXhlcwogICAoQ0FTU0FORFJBLTgxNDcpY1coagAAAU/ePLJcABBlIHByb3RvY29sIChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+hAAABAGh5IGFuZCBwcm92aWRlcyBlcnJvciBjb2RlIHdpdGggZXhjZXB0aW9ucyAoQ0FTU0FORFJBLTM5NzkpCiAqIEFkZHMgZXZlbnRzIHB1c2ggdG8gYmluYXJ5IHByb3RvY29sIChDQVNTQU5EUkEtNDQ4MCkKICogUmV3cml0ZSBub2RldG9vbCBoZWxwIChDQVNTQU5EUkEtMjI5MykKICogTWFrZSBDUUwzIHRoZSBkZWZhdWx0IGZvciBDUUwgKENBU1NBTkRSQS00NjQwKQogKiB1cGRhdGUgc3RyZXNzIHRvb2wgdG8gYmUgYWJsZSB0byB1c2UgQ1FMMyAoQ0F7nNkHAAABT948slwAEHVwcG9ydCBmb3IgY29tcGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6EAAAEASUxZIAogICAoQ0FTU0FORFJBLTM1NjUpCiAqIGZpeCBjb21wcmVzc2lvbiAiY2h1bmtfbGVuZ3RoX2tiIiBvcHRpb24gdG8gc2V0IGNvcnJlY3Qga2IgdmFsdWUgZm9yIAogICB0aHJpZnQvYXZybyAoQ0FTU0FORFJBLTM1NTgpCiAqIGZpeCBtaXNzaW5nIHJlc3BvbnNlIGR1cmluZyByYW5nZSBzbGljZSByZXBhaXIgKENBU1NBTkRSQS0zNTUxKQogKiAnZGVzY3JpYmUgcmluZycgbW92ZWQgZnJvbSBDTEkgdG8gbm9kZXRvb2wgYW5kIGF2YWlsYWJsZTwhYdIAAAFP3jyyXAAQIGxpdmUgc2l6ZSAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvoQAAAQBpdGlvbmFsIEpNWCBtZXRyaWNzIChDQVNTQU5EUkEtNDgyKQogKiBKU09OIGJhc2VkIGV4cG9ydCBhbmQgaW1wb3J0IHRvb2xzIChzZXZlcmFsIHRpY2tldHMpCiAqIEhpbnRlZCBIYW5kb2ZmIGZpeGVzIChzZXZlcmFsIHRpY2tldHMpCiAqIEFkZCBrZXkgY2FjaGUgdG8gaW1wcm92ZSByZWFkIHBlcmZvcm1hbmNlIChDQVNTQU5EUkEtNDIzKQogKiBTaW1wbGlmaWVkIGNvbnN0cnVjdGlvbiBvZiBjdXN0b20gUmVwbGljYXRpb25TdHJhdGVneSBjbGFzZCcHRAAc4kA9qrf3AAABT948slwAEGluZyBBTlRJX0VOVFJPUFkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6MAAAEAcHRpb24gdG8gdHVybiBvZmYgSGludGVkIEhhbmRvZmYgKENBU1NBTkRSQS04OTQpCiAqIGZpeCB3aW5kb3dzIHN0YXJ0dXAgKENBU1NBTkRSQS05NDgpCiAqIG1ha2UgY29uY3VycmVudF9yZWFkcywgY29uY3VycmVudF93cml0ZXMgY29uZmlndXJhYmxlIGF0IHJ1bnRpbWUgdmlhIEpNWAogICAoQ0FTU0FORFJBLTEwNjApCiAqIGRpc2FibGUgR0NJbnNwZWN0b3Igb24gbm9uLVN1biBKVk1zIChDQVNTQU5EUkEtMTA2MSkKICogZml4IHRvbWJzdG9uZXNZycsAAAFP3jyyXAAQIENPUFkgRlJPTSB2YWx1ZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvowAAAQBkaW5nIFRydW5jYXRlIGNvbW1hbmQgdG8gZmF0IGNsaWVudHMgKENBU1NBTkRSQS02MDg4KQogKiBBbGxvdyB3aGVyZSBjbGF1c2UgY29uZGl0aW9ucyB0byBiZSBpbiBwYXJlbnRoZXNpcyAoQ0FTU0FORFJBLTYwMzcpCiAqIERvIG5vdCBvcGVuIG5vbi1zc2wgc3RvcmFnZSBwb3J0IGlmIGVuY3J5cHRpb24gb3B0aW9uIGlzIGFsbCAoQ0FTU0FORFJBLTM5MTYpCiAqIE1vdmUgYmF0Y2hsb2cgcmVwbGF5IHRvIGl0cyBvd24gZXhlY3V0b3IgKENBU1NBJiQFPwAAAU/ePLJcABBhdGlvbiBvbiB0aGUgc2FtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+jAAABAHJlY29nbml6ZSBhdHRlbXB0IHRvIGRyb3AganVzdCB0aGUgaW5kZXggd2hpbGUgbGVhdmluZyB0aGUgY29sdW1uCiAgIGRlZmluaXRpb24gYWxvbmUgKENBU1NBTkRSQS0yNjE5KQogIAoKMC44LjAtYmV0YTEKICogcmVtb3ZlIEF2cm8gUlBDIHN1cHBvcnQgKENBU1NBTkRSQS05MjYpCiAqIHN1cHBvcnQgZm9yIGNvbHVtbnMgdGhhdCBhY3QgYXMgaW5jci9kZWNyIGNvdW50ZXJzIAogICAoQ0FTU0FORFJBLTEwNzIsIDE5MzcsIDE5NDQsIDE5MzYsIDJTsyZjAAABT948slwAECBub3JtYWwgb25lczsgcmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6MAAAEAb3ZlbWVudHMgKENBU1NBTkRSQS03NDA1KQogKiBTdXBwb3J0IGxpc3QgaW5kZXggb3BlcmF0aW9ucyB3aXRoIGNvbmRpdGlvbnMgKENBU1NBTkRSQS03NDk5KQogKiBBZGQgbWF4IGxpdmUvdG9tYnN0b25lZCBjZWxscyB0byBub2RldG9vbCBjZnN0YXRzIG91dHB1dCAoQ0FTU0FORFJBLTc3MzEpCiAqIFZhbGlkYXRlIElQdjYgd2lsZGNhcmQgYWRkcmVzc2VzIHByb3Blcmx5IChDQVNTQU5EUkEtNzY4MCkKICogKGNxbHNoKSBFcnJvciB3aGVuIHRyYXVuTTkAAAFP3jyyXAAQU0FORFJBLTY1NjMpCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvowAAAQBwb29sIGNyZWF0aW9uIChDQVNTQU5EUkEtNjMwOCkKICogQWxsb3cgTE9DQUxfT05FL0xPQ0FMX1FVT1JVTSB0byB3b3JrIHdpdGggU2ltcGxlU3RyYXRlZ3kgKENBU1NBTkRSQS02MjM4KQogKiBjcWxzaDogaGFuZGxlICdudWxsJyBhcyBzZXNzaW9uIGR1cmF0aW9uIChDQVNTQU5EUkEtNjMxNykKICogRml4IGpzb24yc3N0YWJsZSBoYW5kbGluZyBvZiByYW5nZSB0b21ic3RvbmVzIChDQVNTQU5EUkEtNjMxNikKICogRml4IG1pc3Npbmcgb25lIHJvS4D6FQAAAU/ePLJcABByZWF0aW9uCiAgIChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+jAAABACBpbiBIYWRvb3Agam9icyAoQ0FTU0FORFJBLTIzMzEpCiAqIGFkZCBtZW10YWJsZV9mbHVzaF9xdWV1ZV9zaXplIGRlZmF1bHRpbmcgdG8gNCAoQ0FTU0FORFJBLTIzMzMpCiAqIEFsbG93IG92ZXJyaWRpbmcgb2YgaW5pdGlhbF90b2tlbiwgc3RvcmFnZV9wb3J0IGFuZCBycGNfcG9ydCBmcm9tIHN5c3RlbQogICBwcm9wZXJ0aWVzIChDQVNTQU5EUkEtMjM0MykKICogZml4IGNvbXBhcmF0b3IgdXNlZCBmb3Igbm9uLWluZGV4ZWQgc2Vjb25kYXJ5IGXblPsBAAABT948slwAEGQgQkFUQ0ggc3RhdGVtZW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6MAAAEAZVJvd0NhY2hlIHRvIENvbHVtbkZhbWlseVN0b3JlTUJlYW4gKENBU1NBTkRSQS03NjEpCiAqIHNlbmQgSGFuZG9mZiBoaW50cyB0byBuYXR1cmFsIGxvY2F0aW9ucyB0byByZWR1Y2UgbG9hZCBvbgogICByZW1haW5pbmcgbm9kZXMgaW4gYSBmYWlsdXJlIHNjZW5hcmlvIChDQVNTQU5EUkEtODIyKQogKiBBZGQgUm93V2FybmluZ1RocmVzaG9sZEluTUIgY29uZmlndXJhdGlvbiBvcHRpb24gdG8gd2FybiBiZWZvcmUgdmVyeSAKICAgbGFyZ2Ugcm93c0PO0L4AAAFP3jyyXAAQLTI2MzIpCiAqIGF2b2lkIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvowAAAQBscyAoQ0FTU0FORFJBLTgwNTgpCiAqIEZpeCBtZXJnaW5nIHNjaGVtYXMgd2l0aCByZS1kcm9wcGVkIGtleXNwYWNlcyAoQ0FTU0FORFJBLTcyNTYpCiAqIEZpeCBjb3VudGVycyBpbiBzdXBlcmNvbHVtbnMgZHVyaW5nIGxpdmUgdXBncmFkZXMgZnJvbSAxLjIgKENBU1NBTkRSQS03MTg4KQogKiBOb3RpZnkgRFQgc3Vic2NyaWJlcnMgd2hlbiBhIGNvbHVtbiBmYW1pbHkgaXMgdHJ1bmNhdGVkIChDQVNTQU5EUkEtODA4OCkKICogQWRkIHNhbml0eSBjB6SBzgAAAU/ePLJcABAgbmFtZSBibG9vbSBmaWx0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+jAAABAC0zMDM2KQogKiByZXR1cm4gYW4gSW52YWxpZFJlcXVlc3RFeGNlcHRpb24gaWYgYW4gaW5kZXhlZCBjb2x1bW4gaXMgYXNzaWduZWQKICAgYSB2YWx1ZSBsYXJnZXIgdGhhbiA2NEtCIChDQVNTQU5EUkEtMzA1NykKICogZml4IG9mIG51bWVyaWMtb25seSBhbmQgc3RyaW5nIGNvbHVtbiBuYW1lcyBoYW5kbGluZyBpbiBDTEkgImRyb3AgaW5kZXgiIAogICAoQ0FTU0FORFJBLTMwNTQpCiAqIHBydW5lIGluZGV4IHNjYW4gcmVzdWx0c2V0IGJhY2sgdG9J31+NAAABT948slwAEGluZGV4IHByZWRpY2F0ZXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6MAAAEAYWxseSBzcGVjaWZ5aW5nIHN0YXJ0L2VuZCB0b2tlbnMgaW4gQ0ZJRiAoQ0FTU0FORFJBLTY0MzYpCiAqIEZpeCBOUEUgaW4gTWV0ZXJlZEZsdXNoZXIgKENBU1NBTkRSQS02ODIwKQogKiBGaXggcmFjZSBwcm9jZXNzaW5nIHJhbmdlIHNjYW4gcmVzcG9uc2VzIChDQVNTQU5EUkEtNjgyMCkKICogQWxsb3cgZGVsZXRpbmcgc25hcHNob3RzIGZyb20gZHJvcHBlZCBrZXlzcGFjZXMgKENBU1NBTkRSQS02ODIxKQogKiBBZGQgdXVpZCgpIGZ1bmN0aW9uIBFaCpAAAAFP3jyyXAAQYXAgKENBU1NBTkRSQS0zMgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvowAAAQBhdGVkIGtleXNwYWNlIGRpc2FwcGVyaW5nIGFmdGVyIDEuMS41IHVwZ3JhZGUgCiAgIChDQVNTQU5EUkEtNDY5OCwgNDc1MikKICogKENMSSkgZGlzcGxheSBlbGFwc2VkIHRpbWUgaW4gMiBmcmFjdGlvbiBkaWdpdHMgKENBU1NBTkRSQS0zNDYwKQogKiBhZGQgYXV0aGVudGljYXRpb24gc3VwcG9ydCB0byBzc3RhYmxlbG9hZGVyIChDQVNTQU5EUkEtNDcxMikKICogRml4IENRTDMgJ2lzIHJldmVyc2VkJyBsb2dpYyAoQ0FTU0FORFJBLTQ3MTYsIDQ3FdE8RAAAAU/ePLJcABBpdHMgc2NoZW1hIChDQVNTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+jAAABADM2KQogKiByZXR1cm4gYW4gSW52YWxpZFJlcXVlc3RFeGNlcHRpb24gaWYgYW4gaW5kZXhlZCBjb2x1bW4gaXMgYXNzaWduZWQKICAgYSB2YWx1ZSBsYXJnZXIgdGhhbiA2NEtCIChDQVNTQU5EUkEtMzA1NykKICogZml4IG9mIG51bWVyaWMtb25seSBhbmQgc3RyaW5nIGNvbHVtbiBuYW1lcyBoYW5kbGluZyBpbiBDTEkgImRyb3AgaW5kZXgiIAogICAoQ0FTU0FORFJBLTMwNTQpCiAqIHBydW5lIGluZGV4IHNjYW4gcmVzdWx0c2V0IGJhY2sgdG8gb3I7mndfAAABT948slwAECogKGNxbHNoKSBDb3JyZWMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6MAAAEAQ0FTIChDQVNTQU5EUkEtNTc4OCkKICogRml4IHN0cmVhbWluZyByZXRyeSAoQ0FTU0FORFJBLTU3NzUpCk1lcmdlZCBmcm9tIDEuMjoKICogaWYgbm8gc2VlZHMgY2FuIGJlIGEgcmVhY2hlZCBhIG5vZGUgd29uJ3Qgc3RhcnQgaW4gYSByaW5nIGJ5IGl0c2VsZiAoQ0FTU0FORFJBLTU3NjgpCiAqIGFkZCBjYXNzYW5kcmEudW5zYWZlc3lzdGVtIHByb3BlcnR5IChDQVNTQU5EUkEtNTcwNCkKICogKEhhZG9vcCkgcXVvdGUgaWRlbnRpZmllcnMgaW4gQxmr/YcAAAFP3jyyXAAQZCBOUEVzIHdoZW4gcmVjZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvowAAAQBsZCBsZWFkIHRvCiAgIGluZmluaXRlIGxvb3BzIGFuZCBwcmVtYXR1cmUgc3N0YWJsZSBkZWxldGlvbiAoQ0FTU0FORFJBLTc3MDQpCiAqIEFkZCBhbiBleHRyYSB2ZXJzaW9uIGNoZWNrIHRvIE1pZ3JhdGlvblRhc2sgKENBU1NBTkRSQS04NDYyKQogKiBFbnN1cmUgU1NUYWJsZVdyaXRlciBjbGVhbnMgdXAgcHJvcGVybHkgYWZ0ZXIgZmFpbHVyZSAoQ0FTU0FORFJBLTg0OTkpCiAqIEluY3JlYXNlIGJmIHRydWUgcG9zaXRpdmUgY291bnQgb24ga2V5uiTdJAAAAU/ePLJcABBrZXQgc2l6ZSBmb3Igc2l6AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+jAAABAG9jZXNzIGRpZ2VzdCBtaXNtYXRjaCByZS1yZWFkcyBpbiBwYXJhbGxlbCAoQ0FTU0FORFJBLTEzMjMpCiAqIHN3aXRjaCBoaW50cyBDRiBjb21wYXJhdG9yIHRvIEJ5dGVzVHlwZSAoQ0FTU0FORFJBLTEyNzQpCgoKMC42LjMKICogcmV0cnkgdG8gbWFrZSBzdHJlYW1pbmcgY29ubmVjdGlvbnMgdXAgdG8gOCB0aW1lcy4gKENBU1NBTkRSQS0xMDE5KQogKiByZWplY3QgZGVzY3JpYmVfcmluZygpIGNhbGxzIG9uIGludmFsaWQga2V5c3BhY2VzIChDQVM1mIOIAAAATrAgs4sAIwAGc3lzdGVtAAAQc2NoZW1hX2tleXNwYWNlcwAABAAAAAUAAAAAAQFaH/JnrOA/EoVjz65hA8ZeVVNmcgAFFffV+higAAAAAAAAAABtlxREABz2nc0O9Y4AAAFP3jyyXAAQY3Rpb24gc28gYmxvb20gZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvpgAAAQBwZXIgY29ubmVjdGlvbiAKICAgKENBU1NBTkRSQS00NDQ5KQogKiBGaXggc2NydWJiaW5nIG9mIENRTDMgY3JlYXRlZCB0YWJsZXMgKENBU1NBTkRSQS00Njg1KQogKiAoQ1FMMykgRml4IHZhbGlkYXRpb24gd2hlbiB1c2luZyBjb3VudGVyIGFuZCByZWd1bGFyIGNvbHVtbnMgaW4gdGhlIHNhbWUgCiAgIHRhYmxlIChDQVNTQU5EUkEtNDcwNikKICogRml4IGJ1ZyBzdGFydGluZyBDYXNzYW5kcmEgd2l0aCBzaW1wbGUgYXV0aGVudGljYXRpb24gKENBBGD1dgAAAU/ePLJcABAgZmlyc3QgLi4uICoiIGlzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+mAAABAG9uZSBjcmVhdGlvbiBmb3IgRXhwaXJpbmdDb2x1bW5zIChDQVNTQU5EUkEtNDkxNykKICogSW1wcm92ZSBMZXZlbGVkU2Nhbm5lciB3b3JrIGVzdGltYXRpb24gKENBU1NBTkRSQS01MjUwLCA1NDA3KQogKiBSZXBsYWNlIGNvbXBhY3Rpb24gbG9jayB3aXRoIHJ1bldpdGhDb21wYWN0aW9uc0Rpc2FibGVkIChDQVNTQU5EUkEtMzQzMCkKICogQ2hhbmdlIE1lc3NhZ2UgSURzIHRvIGludHMgKENBU1NBTkRSQS01MzA3KQogKiBNb3ZlIHNzdGFibGUgbGX/zq3dAAABT948slwAEGVzbid0IAogICBnaXZlIHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6YAAAEAKENBU1NBTkRSQS03MDMzKQogKiBVc2UgT3BPcmRlciB0byBndWFyZCBzc3RhYmxlIHJlZmVyZW5jZXMgZm9yIHJlYWRzIChDQVNTQU5EUkEtNjkxOSkKICogUHJlZW1wdGl2ZSBvcGVuaW5nIG9mIGNvbXBhY3Rpb24gcmVzdWx0IChDQVNTQU5EUkEtNjkxNikKICogTXVsdGktdGhyZWFkZWQgc2NydWIvY2xlYW51cC91cGdyYWRlc3N0YWJsZXMgKENBU1NBTkRSQS01NTQ3KQogKiBPcHRpbWl6ZSBjZWxsbmFtZSBjb21wYXJpc29uIChDQVNTQU5EUkEtNikhuQcAAAFP3jyyXAAQZSBpdCBkZWZhdWx0IGZvcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvpgAAAQBuZXR0eSBzZXJ2ZXIgKENBU1NBTkRSQS02ODYxKQogKiBGaXggcmVwYWlyIGhhbmcgd2hlbiBnaXZlbiBDRiBkb2VzIG5vdCBleGlzdCAoQ0FTU0FORFJBLTcxODkpCiAqIEFsbG93IGMqIHRvIGJlIHNodXRkb3duIGluIGFuIGVtYmVkZGVkIG1vZGUgKENBU1NBTkRSQS01NjM1KQogKiBBZGQgc2VydmVyIHNpZGUgYmF0Y2hpbmcgdG8gbmF0aXZlIHRyYW5zcG9ydCAoQ0FTU0FORFJBLTU2NjMpCiAqIE1ha2UgYmF0Y2hsb2cgcmVwbGF5IGFzeW5jaHJvdiJHHQAAAU/ePLJcABBTQU5EUkEtODI0KQogKiBkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+mAAABAFNBTkRSQS0xMTE5KQogKiBmb3JjZSBhbnRpLWVudHJvcHkgc2VydmljZSB0byBzdHJlYW0gZmlsZXMgb24gdGhlIHN0cmVhbSBzdGFnZSB0byBhdm9pZAogICBzZW5kaW5nIHN0cmVhbXMgb3V0IG9mIG9yZGVyIChDQVNTQU5EUkEtMTE2OSkKICogcmVtb3ZlIGluYWN0aXZlIHN0cmVhbSBtYW5hZ2VycyBhZnRlciBBRVMgc3RyZWFtcyBmaWxlcyAoQ0FTU0FORFJBLTExNjkpCiAqIGFsbG93IHJlbW92aW5nIGVudGlyZSByb3cgdGhyb3VnaCBiYXRjaF8crzDZAAABT948slwAEDYpCiAqIGV4cG9zZSBkYXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6YAAAEACiAqIEFsbG93IHJlbmFtaW5nIFBLIGNvbHVtbnMgaW4gQ1FMMyAoQ0FTU0FORFJBLTQ4MjIpCiAqIEZpeCBiaW5hcnkgcHJvdG9jb2wgTkVXX05PREUgZXZlbnQgKENBU1NBTkRSQS00Njc5KQogKiBGaXggcG90ZW50aWFsIGluZmluaXRlIGxvb3AgaW4gdG9tYnN0b25lIGNvbXBhY3Rpb24gKENBU1NBTkRSQS00NzgxKQogKiBSZW1vdmUgc3lzdGVtIHRhYmxlcyBhY2NvdW50aW5nIGZyb20gc2NoZW1hIChDQVNTQU5EUkEtNDg1MCkKICogKGNxbDMpIO0yRpQAAAFP3jyyXAAQIENTViBmaWVsZCBzaXplIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvpgAAAQAzOCkKICogVW5sZXNzIGEgdG9rZW4gaXMgbWFudWFsbHkgc3BlY2lmaWVkIGluIHRoZSBjb25maWd1cmF0aW9uIHhtbCwKICAgYSBib290c3RyYXBpbmcgbm9kZSB3aWxsIHVzZSBhIHRva2VuIHRoYXQgZ2l2ZXMgaXQgaGFsZiB0aGUKICAga2V5cyBmcm9tIHRoZSBtb3N0LWhlYXZpbHktbG9hZGVkIG5vZGUgaW4gdGhlIGNsdXN0ZXIsCiAgIGluc3RlYWQgb2YgZ2VuZXJhdGluZyBhIHJhbmRvbSB0b2tlbi4gCiAgIChDQVNTQU5EUkEtMzg1LCBDQVNTNsu0cAAAAU/ePLJcABAxMCwgMzE5NCkKICogZXhwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+mAAABACAoQ0FTU0FORFJBLTU1ODEpCiAqIEF2b2lkIHVubmVjZXNzYXJ5IHNlY29uZCBwYXNzIG9uIG5hbWUtYmFzZWQgcXVlcmllcyAoQ0FTU0FORFJBLTU1NzcpCiAqIEV4cGVyaW1lbnRhbCB0cmlnZ2VycyAoQ0FTU0FORFJBLTEzMTEpCiAqIEpFTWFsbG9jIHN1cHBvcnQgZm9yIG9mZi1oZWFwIGFsbG9jYXRpb24gKENBU1NBTkRSQS0zOTk3KQogKiBTaW5nbGUtcGFzcyBjb21wYWN0aW9uIChDQVNTQU5EUkEtNDE4MCkKICogUmVtb3ZlZCB0b2tlbiByYW4TKzxvAAABT948slwAEHJlbW92ZSBjb21wYWN0aW8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6YAAAEAbG9nIHJlcGxheSBmb3IgbmFub3RpbWUtaW5mZWN0ZWQgc3N0YWJsZXMgKENBU1NBTkRSQS00NzgyKQogKiBwcmVmbGlnaHQgY2hlY2sgdHRsIGZvciBtYXhpbXVtIG9mIDIwIHllYXJzIChDQVNTQU5EUkEtNDc3MSkKICogKFBpZykgZml4IHdpZGVyb3cgaW5wdXQgd2l0aCBzaW5nbGUgY29sdW1uIHJvd3MgKENBU1NBTkRSQS00Nzg5KQogKiBGaXggSEggdG8gY29tcGFjdCB3aXRoIGNvcnJlY3QgZ2NCZWZvcmUsIHdoaWNoIGF2b2lkcyB3aXBpbmcgb8//HZMAAAFP3jyyXAAQZXJpb2QsIGFuZCB3YWl0IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvpgAAAQBsIGJsb29tIGZpbHRlcnMgKENBU1NBTkRSQS00ODg1KQogKiBDaGFuZ2UgS2VybmVsIFBhZ2UgQ2FjaGUgc2tpcHBpbmcgaW50byByb3cgcHJlaGVhdGluZyAoZGlzYWJsZWQgYnkgZGVmYXVsdCkKICAgKENBU1NBTkRSQS00OTM3KQogKiBJbXByb3ZlIHJlcGFpciBieSBkZWNpZGluZyBvbiBhIGdjQmVmb3JlIGJlZm9yZSBzZW5kaW5nCiAgIG91dCBUcmVlUmVxdWVzdHMgKENBU1NBTkRSQS00OTMyKQogKiBBZGQgYW4gb2ZmaWNpYWwgd2F5IHRvIGRpN3QUKwAAAU/ePLJcABAqIGdvc3NpcGVyIHdpbGwgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+mAAABACAoQ0FTU0FORFJBLTQ1NDgpCiAqIG5ldyBtZXRyaWNzIChDQVNTQU5EUkEtNDAwOSkKICogcmVkZXNpZ24gS0VZUyBpbmRleGVzIHRvIGF2b2lkIHJlYWQtYmVmb3JlLXdyaXRlIChDQVNTQU5EUkEtMjg5NykKICogZGVidWcgdHJhY2luZyAoQ0FTU0FORFJBLTExMjMpCiAqIHBhcmFsbGVsaXplIHJvdyBjYWNoZSBsb2FkaW5nIChDQVNTQU5EUkEtNDI4MikKICogTWFrZSBjb21wYWN0aW9uLCBmbHVzaCBKQk9ELWF3YXJlIChDQVNTQU5EUkEtNDI5MikcTYKQAAABT948slwAEGlwdG9yIGxpbWl0IGluY3IAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6YAAAEAY2hlbWFgIHRvIHVzZSBvdXRwdXQgc3RyZWFtIGRpcmVjdGx5IGluc3RlYWQKICAgb2YgU3RyaW5nQnVpbGRlciAoQ0FTU0FORFJBLTM4NDIpCiAqIHJlbW92ZSB0aGUgd2FpdCBvbiBoaW50IGZ1dHVyZSBkdXJpbmcgd3JpdGUgKENBU1NBTkRSQS0zODcwKQogKiAoY3Fsc2gpIGlnbm9yZSBtaXNzaW5nIENmRGVmIG9wdHMgKENBU1NBTkRSQS0zOTMzKQogKiAoY3Fsc2gpIGxvb2sgZm9yIGNxbHNobGliIHJlbGF0aXZlIHRvIHJlYWxwYXRoIChDQVNTQcKhAGkAAAFP3jyyXAAQZmFtaWx5IGNvbW1hbmQgKAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvpgAAAQBDUkVBVEUvRFJPUCBVU0VSIElGIFtOT1RdIEVYSVNUUyAoQ0FTU0FORFJBLTc2MTEpCiAqIENhdGNoIGVycm9ycyB3aGVuIHRoZSBKVk0gcHVsbHMgdGhlIHJ1ZyBvdXQgZnJvbSBHQ0luc3BlY3RvciAoQ0FTU0FORFJBLTUzNDUpCiAqIGNxbHNoIGZhaWxzIHdoZW4gdmVyc2lvbiBudW1iZXIgcGFydHMgYXJlIG5vdCBpbnQgKENBU1NBTkRSQS03NTI0KQogKiBGaXggTlBFIHdoZW4gdGFibGUgZHJvcHBlZCBkdXJpbmcgc3RyZWFtaW5nIChDQVNTQU5ECK/NLwAAAU/ePLJcABBwKSBDbG9zZSBqYXZhIGRyAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+mAAABAG1wcm92ZW1lbnRzIGluIGFudGljb21wYWN0aW9uIHNwZWVkIChDQVNTQU5EUkEtNjA3KQogKiBTcGVlZCB1cCBsb2cgcmVwbGF5IGFuZCB3cml0ZXMgYnkgYXZvaWRpbmcgcmVkdW5kYW50IHNlcmlhbGl6YXRpb25zCiAgIChDQVNTQU5EUkEtNjUyKQoKCjAuNS4wIGJldGEgMgogKiBCb290c3RyYXAgaW1wcm92ZW1lbnRzIChzZXZlcmFsIHRpY2tldHMpCiAqIGFkZCBub2RlcHJvYmUgcmVwYWlyIGFudGktZW50cm9weSBmZWF0dXJlIChDQVNTQU5EUkHuzYdUAAABT948slwAECBzdXBwb3J0IGZvciBpbmQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6YAAAEAeXN0ZW0uc2NoZW1hX2NvbHVtbnMKICAgKENBU1NBTkRSQS02MDA5KQogKiBQYWdpbmcgZmlsdGVyIGVtcHR5IHJvd3MgdG9vIGFncmVzc2l2ZWx5IChDQVNTQU5EUkEtNjA0MCkKICogU3VwcG9ydCB2YXJpYWRpYyBwYXJhbWV0ZXJzIGZvciBJTiBjbGF1c2VzIChDQVNTQU5EUkEtNDIxMCkKICogY3Fsc2g6IHJldHVybiB0aGUgcmVzdWx0IG9mIENBUyB3cml0ZXMgKENBU1NBTkRSQS01Nzk2KQogKiBGaXggdmFsaWRhdGlvbiBvZiBJTiBjbGF1c2VzIMcUIfkAHQr6G8KMsgAAAU/ePLJcABBvbW1pdGxvZyBzZWdtZW50AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+pAAABACB0byB1c2UgbmV3IHR5cGUgbmFtZSAoQ0FTU0FORFJBLTE0MzMpCiAqIGNvcnJlY3QgZmlsZW5hbWUgZ2VuZXJhdGVkIGJ5IHhtbC0+eWFtbCBjb252ZXJ0ZXIgKENBU1NBTkRSQS0xNDE5KQogKiBhZGQgQ01TSW5pdGlhdGluZ09jY3VwYW5jeUZyYWN0aW9uPTc1IGFuZCBVc2VDTVNJbml0aWF0aW5nT2NjdXBhbmN5T25seQogICB0byBkZWZhdWx0IEpWTSBvcHRpb25zCiAqIGRlY3JlYXNlIGp2bSBoZWFwIGZvciBjYXNzYW5kcmEtY2xpIChDQVNTQU4W+8NpAAABT948slwAEG5kaXRpb24gaW4gZ2V0RXgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6kAAAEAaXggdG9tYnN0b25lIGhhbmRsaW5nIGluIHJlcGFpciBhbmQgc3N0YWJsZTJqc29uIChDQVNTQU5EUkEtMjI3OSkKICogcHJlc2VydmUgdmVyc2lvbiB3aGVuIHN0cmVhbWluZyBkYXRhIGZyb20gb2xkIHNzdGFibGVzIChDQVNTQU5EUkEtMjI4MykKICogZG9uJ3Qgc3RhcnQgcmVwYWlyIGlmIGEgbmVpZ2hib3Jpbmcgbm9kZSBpcyBtYXJrZWQgYXMgZGVhZCAoQ0FTU0FORFJBLTIyOTApCiAqIHB1cmdlIHRvbWJzdG9uZXMgZnJvbSByb3cgY2FjaGUgKI7zfQcAAAFP3jyyXAAQcyAoQ0FTU0FORFJBLTU5MgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvqQAAAQAKMC44LjAtZmluYWwKICogZml4IENRTCBncmFtbWFyIHdhcm5pbmcgYW5kIGNxbHNoIHJlZ3Jlc3Npb24gZnJvbSBDQVNTQU5EUkEtMjYyMgogKiBhZGQgYW50IGdlbmVyYXRlLWNxbC1odG1sIHRhcmdldCAoQ0FTU0FORFJBLTI1MjYpCiAqIHVwZGF0ZSBDUUwgY29uc2lzdGVuY3kgbGV2ZWxzIChDQVNTQU5EUkEtMjU2NikKICogZGViaWFuIHBhY2thZ2luZyBmaXhlcyAoQ0FTU0FORFJBLTI0ODEsIDI2NDcpCiAqIGZpeCBVVUlEVHlwZSwgSW50ZWdlaMLUSwAAAU/ePLJcABBkdWUgdG8gdW5yZWFjaGFiAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+pAAABAGlyIHRyaWdnZXJpbmcgKENBU1NBTkRSQS02NjA2KQogKiBGaXggcGFnaW5nIGRpc2NhcmRGaXJzdCAoQ0FTU0FORFJBLTY1NTUpCiAqIEZpeCBBcnJheUluZGV4T3V0T2ZCb3VuZHNFeGNlcHRpb24gaW4gMm5kYXJ5IGluZGV4IHF1ZXJ5IChDQVNTQU5EUkEtNjQ3MCkKICogUmVsZWFzZSBzc3RhYmxlcyB1cG9uIHJlYnVpbGRpbmcgMmkgKENBU1NBTkRSQS02NjM1KQogKiBBZGQgQWJzdHJhY3RDb21wYWN0aW9uU3RyYXRlZ3kuc3RhcnR1cCgpIG1ldGg5A9NVAAABT948slwAECAgcmFwaWQgc3VjY2Vzc2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6kAAAEAZmZsZSBhbmQgdGFrZXRva2VuIChDQVNTQU5EUkEtNzYwMSkKICogQ2xlYW4gdXAgV2luZG93cyBiYXRjaCBzY3JpcHRzIChDQVNTQU5EUkEtNzYxOSkKICogRml4IG5hdGl2ZSBwcm90b2NvbCBkcm9wIHVzZXIgdHlwZSBub3RpZmljYXRpb24gKENBU1NBTkRSQS03NTcxKQogKiBHaXZlIHJlYWQgYWNjZXNzIHRvIHN5c3RlbS5zY2hlbWFfdXNlcnR5cGVzIHRvIGFsbCBhdXRoZW50aWNhdGVkIHVzZXJzCiAgIChDQVNTQU5EUkEtNzU3OCkKICogKGNxbDajfVUAAAFP3jyyXAAQbCBub2RldG9vbCByZXBhaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvqQAAAQBPcHRpbWl6ZSByZWFkcyB3aGVuIHJvdyBkZWxldGlvbiB0aW1lc3RhbXBzIGFsbG93IHVzIHRvIHJlc3RyaWN0CiAgIHRoZSBzZXQgb2Ygc3N0YWJsZXMgd2UgY2hlY2sgKENBU1NBTkRSQS00MTE2KQogKiBhZGQgc3VwcG9ydCBmb3IgY29tbWl0bG9nIGFyY2hpdmluZyBhbmQgcG9pbnQtaW4tdGltZSByZWNvdmVyeQogICAoQ0FTU0FORFJBLTM2OTApCiAqIGF2b2lkIGdlbmVyYXRpbmcgcmVkdW5kYW50IGNvbXBhY3Rpb24gdGFza3MgZHVyaW5nIHN0SWxd0QAAAU/ePLJcABBoYW5kb2ZmIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+pAAABACBBZGQgRGF0ZSwgRmxvYXQsIERvdWJsZSwgYW5kIEJvb2xlYW4gdHlwZXMgKENBU1NBTkRSQS0yNTMwKQogKiBBZGQgc3RhcnR1cCBmbGFnIHRvIHJlbmV3IGNvdW50ZXIgbm9kZSBpZCAoQ0FTU0FORFJBLTI3ODgpCiAqIGFkZCBqYW1tIGFnZW50IHRvIGNhc3NhbmRyYS5iYXQgKENBU1NBTkRSQS0yNzg3KQogKiBmaXggcmVwYWlyIGhhbmdpbmcgaWYgYSBuZWlnaGJvciBoYXMgbm90aGluZyB0byBzZW5kIChDQVNTQU5EUkEtMjc5NykKICogcHVyZ2Wj04GXAAABT948slwAEGFkIG1ldHJpY3MgZm9yIHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6kAAAEANjcpCiAqIHJldHVybiBhbGwgY3B1IHZhbHVlcyBmcm9tIEJhY2tncm91bmRBY3Rpdml0eU1vbml0b3IucmVhZEFuZENvbXB1dGUgKENBU1NBTkRSQS03MTgzKQogKiBDb3JyZWN0bHkgZGVsZXRlIHNjaGVkdWxlZCByYW5nZSB4ZmVycyAoQ0FTU0FORFJBLTcxNDMpCiAqIHJldHVybiBhbGwgY3B1IHZhbHVlcyBmcm9tIEJhY2tncm91bmRBY3Rpdml0eU1vbml0b3IucmVhZEFuZENvbXB1dGUgKENBU1NBTkRSQS03MTgzKSAgCiAqIHJlZHVjZSBnYXJiYe3qOSgAAAFP3jyyXAAQbmcgYXNzZXJ0aW9uIGVycgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvqQAAAQBTU0FORFJBLTI3ODYpCiAqIGZpeCByYWNlIHRoYXQgY291bGQgcmVzdWx0IGluIEhhZG9vcCB3cml0ZXIgZmFpbGluZyB0byB0aHJvdyBhbgogICBleGNlcHRpb24gZW5jb3VudGVyZWQgYWZ0ZXIgY2xvc2UoKSAoQ0FTU0FORFJBLTI3NTUpCiAqIGZpeCBzY2FuIHdyb25nbHkgdGhyb3dpbmcgYXNzZXJ0aW9uIGVycm9yIChDQVNTQU5EUkEtMjY1MykKICogQWx3YXlzIHVzZSBldmVuIGRpc3RyaWJ1dGlvbiBmb3IgbWVya2xlIHRyZWUgd2l0aCBSYW5kQk3MpQAAAU/ePLJcABAgY29tbWFuZCB0byBDTEkgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+pAAABAGlyIHJhbmdlIChDQVNTQU5EUkEtNzk4MykKICogRml4IHVuaXQgaW4gbm9kZXRvb2wgZm9yIHN0cmVhbWluZyB0aHJvdWdocHV0IChDQVNTQU5EUkEtNzM3NSkKTWVyZ2VkIGZyb20gMS4yOgogKiBEb24ndCBpbmRleCB0b21ic3RvbmVzIChDQVNTQU5EUkEtNzgyOCkKICogSW1wcm92ZSBQYXNzd29yZEF1dGhlbnRpY2F0b3IgZGVmYXVsdCBzdXBlciB1c2VyIHNldHVwIChDQVNTQU5EUkEtNzc4OCkKCgoyLjEuMAogKiAoY3Fsc2gpIFJlbW92ZWQgIkGnfpPhAAABT948slwAEHBhcmluZyBpbmNyZW1lbnQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6kAAAEAeXBlIHRvIHJlcGxhY2UgRGF0ZVR5cGUgKENBU1NBTkRSQS01NzIzLCBDQVNTQU5EUkEtNTcyOSkKTWVyZ2VkIGZyb20gMS4yOgogKiBtYWtlIHN0YXJ0aW5nIG5hdGl2ZSBwcm90b2NvbCBzZXJ2ZXIgaWRlbXBvdGVudCAoQ0FTU0FORFJBLTU3MjgpCiAqIEZpeCBsb2FkaW5nIGtleSBjYWNoZSB3aGVuIGEgc2F2ZWQgZW50cnkgaXMgbm8gbG9uZ2VyIHZhbGlkIChDQVNTQU5EUkEtNTcwNikKICogRml4IHNlcmlhbGl6YXRpb24gb2YgdGhlIExFRlQgZ/2EPqoAAAFP3jyyXAAQLjUKICogUmVkdWNlIGdhcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvqQAAAQBtbi4KICAgIC0gU2ltaWxhcmx5LCBtZXJnZWQgYmF0Y2hfaW5zZXJ0X3N1cGVyIGludG8gYmF0Y2hfaW5zZXJ0LgoKCgowLjQuMCBiZXRhCiAqIE9uLWRpc2sgZGF0YSBmb3JtYXQgaGFzIGNoYW5nZWQgdG8gYWxsb3cgYmlsbGlvbnMgb2Yga2V5cy9yb3dzIHBlcgogICBub2RlIGluc3RlYWQgb2Ygb25seSBtaWxsaW9ucwogKiBNdWx0aS1rZXlzcGFjZSBzdXBwb3J0CiAqIFNjYW4gYWxsIHNzdGFibGVzIGZvciBhbGwgcXVlcmllcyB0byBhdm9pZCBz1uTBwQAAAU/ePLJcABBsaW5nIHRvIHByZXZlbnQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+pAAABAHMgKENBU1NBTkRSQS00ODYpCiAqIEZpeCByYWNlIGNvbmRpdGlvbnMgaW4gVENQQ29ubmVjdGlvbk1hbmFnZXIgKENBU1NBTkRSQS00ODcpCiAqIEZpeCB1c2luZyBub24tdXRmOC1hd2FyZSBjb21wYXJpc29uIGFzIGEgc2FuaXR5IGNoZWNrLgogICAoQ0FTU0FORFJBLTQ5MykKICogSW1wcm92ZSBkZWZhdWx0IGdhcmJhZ2UgY29sbGVjdG9yIG9wdGlvbnMgKENBU1NBTkRSQS01MDQpCiAqIEFkZCAibm9kZXByb2JlIGZsdXNoIiAoQ0FTU0FORFJBLTViJ+VqAAABT948slwAEHQgInRpbWVzdGFtcCIgaW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6kAAAEAODg0KQogKiBGaXggc2hvcnQgcmVhZCBwcm90ZWN0aW9uIGZvciBDUUwzIChDQVNTQU5EUkEtNDg4MikKICogQWRkIHRyYWNpbmcgc3VwcG9ydCB0byB0aGUgYmluYXJ5IHByb3RvY29sIChDQVNTQU5EUkEtNDY5OSkKICogKGNxbDMpIERvbid0IGFsbG93IHByZXBhcmVkIG1hcmtlciBpbnNpZGUgY29sbGVjdGlvbnMgKENBU1NBTkRSQS00ODkwKQogKiBSZS1hbGxvdyBvcmRlciBieSBvbiBub24tc2VsZWN0ZWQgY29sdW1ucyAoQ0FTU0FORFJBLTQ2NGGLto4AAAFP3jyyXAAQCiAgIGJlIGFibGUgdG8gcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvqQAAAQBzbml0Y2ggaW1wbGVtZW50YXRpb25zIGFuZCBhZGRlZCBTaW1wbGVTbml0Y2gKICAgKENBU1NBTkRSQS05OTQpCiAqIEFkZGVkIHByZWxvYWRfcm93X2NhY2hlIG9wdGlvbiAoQ0FTU0FORFJBLTk0NikKICogYWRkIENSQyB0byBjb21taXRsb2cgaGVhZGVyIChDQVNTQU5EUkEtOTk5KQogKiByZW1vdmVkIGRlcHJlY2F0ZWQgYmF0Y2hfaW5zZXJ0IGFuZCBnZXRfcmFuZ2Vfc2xpY2UgbWV0aG9kcyAoQ0FTU0FORFJBLTEwNjUpCiAqIGFkZCB0cnVuY2F0L5bSZwAdH7Fx37zPAAABT948slwAEHZlciBjbGVhbnVwIGZvciAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6sAAAEAciBwYXJhbWV0ZXJzIGFuZCBhIGdlbmVyaWMgUmV2ZXJzZVR5cGUKICAgKENBU1NBTkRSQS0yMzU1KQogKiBhZGQgQ29tcG9zaXRlVHlwZSBhbmQgRHluYW1pY0NvbXBvc2l0ZVR5cGUgKENBU1NBTkRSQS0yMjMxKQogKiBvcHRpbWl6ZSBiYXRjaGVzIGNvbnRhaW5pbmcgbXVsdGlwbGUgdXBkYXRlcyB0byB0aGUgc2FtZSByb3cKICAgKENBU1NBTkRSQS0yNTgzKQogKiBhZGp1c3QgaGludGVkIGhhbmRvZmYgcGFnZSBzaXplIHRvIGF2b2lkIE9PTSB3aR9Czy0AAAFP3jyyXAAQZmlndXJhdGlvbiBvcHRpbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvqwAAAQA4NikKICogQXZvaWQgcG90ZW50aWFsIG92ZXJsYXAgaW4gTENTIHdpdGggc2luZ2xlLXBhcnRpdGlvbiBzc3RhYmxlcyAoQ0FTU0FORFJBLTkzMjIpCiAqIExvZyB3YXJuaW5nIG1lc3NhZ2Ugd2hlbiBhIHRhYmxlIGlzIHF1ZXJpZWQgYmVmb3JlIHRoZSBzY2hlbWEgaGFzIGZ1bGx5CiAgIHByb3BhZ2F0ZWQgKENBU1NBTkRSQS05MTM2KQogKiBPdmVybG9hZCBTZWNvbmRhcnlJbmRleCNpbmRleGVzIHRvIGFjY2VwdCB0aGUgY29sdW1uIGRlZmluaXRpjCXQBAAAAU/ePLJcABBodWZmbGUgKENBU1NBTkRSAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+rAAABACB0byBjYXNzYW5kcmEuYmF0IChDQVNTQU5EUkEtMjc4NykKICogZml4IHJlcGFpciBoYW5naW5nIGlmIGEgbmVpZ2hib3IgaGFzIG5vdGhpbmcgdG8gc2VuZCAoQ0FTU0FORFJBLTI3OTcpCiAqIHB1cmdlIHRvbWJzdG9uZSBldmVuIGlmIHJvdyBpcyBpbiBvbmx5IG9uZSBzc3RhYmxlIChDQVNTQU5EUkEtMjgwMSkKICogRml4IHdyb25nIHB1cmdlIG9mIGRlbGV0ZWQgY2YgZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS0yNzg2KQogKiBmaXggcmGlQoUFAAABT948slwAEGZpeCBhZGQvcmVtb3ZlIGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6sAAAEAb24gcmVhZCByZXBhaXIgdGltZW91dHMgKENBU1NBTkRSQS03OTQ3KQogKiBEZWZhdWx0IERUQ1MgYmFzZV90aW1lX3NlY29uZHMgY2hhbmdlZCB0byA2MCAoQ0FTU0FORFJBLTg0MTcpCiAqIFJlZnVzZSBQYXhvcyBvcGVyYXRpb24gd2l0aCBtb3JlIHRoYW4gb25lIHBlbmRpbmcgZW5kcG9pbnQgKENBU1NBTkRSQS04MzQ2LCA4NjQwKQogKiBUaHJvdyBjb3JyZWN0IGV4Y2VwdGlvbiB3aGVuIHRyeWluZyB0byBiaW5kIGEga2V5c3BhY2Ugb3IgdGFibHexV6gAAAFP3jyyXAAQU1NBTkRSQS01MjQ1KQogKgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvqwAAAQBwYXJ0aWFsCiAgIGJ1ZmZlcnMgYWdhaW4sIGVzcGVjaWFsbHkgb24gQ0wgd3JpdGVzIChDQVNTQU5EUkEtMjY2MCkKICogYWRkIERST1AgSU5ERVggc3VwcG9ydCB0byBDTEkgKENBU1NBTkRSQS0yNjE2KQogKiBkb24ndCBwZXJmb3JtIEhIIHRvIGNsaWVudC1tb2RlIFtzdG9yYWdlcHJveHldIG5vZGVzIChDQVNTQU5EUkEtMjY2OCkKICogSW1wcm92ZSBmb3JjZURlc2VyaWFsaXplL2dldENvbXBhY3RlZFJvdyBlbmNhcHN1bGF0aW9uIChDQVNTQU5EwmzBkgAAAU/ePLJcABA1NDMyKQogKiBBZGQgbm9kAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+rAAABAGRvd3MgaW4gRFRDUyAoQ0FTU0FORFJBLTgzNjApCiAqIGphdmEubGFuZy5Bc3NlcnRpb25FcnJvciB3aGVuIHJlYWRpbmcgc2F2ZWQgY2FjaGUgKENBU1NBTkRSQS04NzQwKQogKiAiZGlzayBmdWxsIiB3aGVuIHJ1bm5pbmcgY2xlYW51cCAoQ0FTU0FORFJBLTkwMzYpCiAqIExvd2VyIGxvZ2dpbmcgbGV2ZWwgZnJvbSBFUlJPUiB0byBERUJVRyB3aGVuIGEgc2NoZWR1bGVkIHNjaGVtYSBwdWxsCiAgIGNhbm5vdCBiZSBjb21wbGV0ZWQgZHVlIHRvIGHLs6UzAAABT948slwAEEFORFJBLTU2NjMpCiAqIE0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6sAAAEAQVNTQU5EUkEtNDc1KQogKiBzaWduaWZpY2FudGx5IGZhc3RlciByZWFkcyBmcm9tIHJvdyBjYWNoZSAoQ0FTU0FORFJBLTEyNjcpCiAqIHRha2UgYWR2YW50YWdlIG9mIHJvdyBjYWNoZSBkdXJpbmcgcmFuZ2UgcXVlcmllcyAoQ0FTU0FORFJBLTEzMDIpCiAqIG1ha2UgR0NHcmFjZVNlY29uZHMgYSBwZXItQ29sdW1uRmFtaWx5IHZhbHVlIChDQVNTQU5EUkEtMTI3NikKICoga2VlcCBwZXJzaXN0ZW50IHJvdyBzaXplIGFuZCBjb2x1bW4gY291bnQgcxflprsAAAFP3jyyXAAQYXJlIGRyb3BwZWQgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvqwAAAQBfTE9TVCAoQ0FTU0FORFJBLTc5MDkpCiAqIFN0cmVhbSB0byBwcml2YXRlIElQIHdoZW4gYXZhaWxhYmxlIChDQVNTQU5EUkEtODA4NCkKTWVyZ2VkIGZyb20gMi4wOgogKiBSZWplY3QgY29uZGl0aW9ucyBvbiBERUxFVEUgdW5sZXNzIGZ1bGwgUEsgaXMgZ2l2ZW4gKENBU1NBTkRSQS02NDMwKQogKiBQcm9wZXJseSByZWplY3QgdGhlIHRva2VuIGZ1bmN0aW9uIERFTEVURSAoQ0FTU0FORFJBLTc3NDcpCiAqIEZvcmNlIGJhdGNobG9nIHJlcGxheSBim7DgWAAAAU/ePLJcABBuCiAgIGRlZmluaXRpb24gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+rAAABAHRyYXAgcmV0cnkgaWYgbm9kZXMgZmxhcCAoQ0FTU0FORFJBLTI2NDQpCiAqIEFkZGVkIHN0YXR1c3RocmlmdCB0byBub2RldG9vbCB0byByZXBvcnQgaWYgdGhyaWZ0IHNlcnZlciBpcyBydW5uaW5nIChDQVNTQU5EUkEtMjcyMikKICogRml4ZWQgcm93cyBiZWluZyBjYWNoZWQgaWYgdGhleSBkbyBub3QgZXhpc3QgKENBU1NBTkRSQS0yNzIzKQogKiBTdXBwb3J0IHBhc3NpbmcgdGFibGVOYW1lIGFuZCBjZk5hbWUgdG8gUm93Q2FjaGVQcm92aWRlcnMYNDPLAAABT948slwAEHdoZW4gYSBrZXlzcGFjZSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6sAAAEAc3VwcG9ydCBDQVMgdXBkYXRlcyAoQ0FTU0FORFJBLTY4ODIpCiAqIFN0YXRpYyBjb2x1bW5zIHdpdGggSUYgTk9UIEVYSVNUUyBkb24ndCBhbHdheXMgd29yayBhcyBleHBlY3RlZCAoQ0FTU0FORFJBLTY4NzMpCiAqIEZpeCBwYWdpbmcgd2l0aCBTRUxFQ1QgRElTVElOQ1QgKENBU1NBTkRSQS02ODU3KQogKiBGaXggVW5zdXBwb3J0ZWRPcGVyYXRpb25FeGNlcHRpb24gb24gQ0FTIHRpbWVvdXQgKENBU1NBTkRSQS02OTIzKQogKiBJbXByb3ZlIE1ldIyfwxQAAAFP3jyyXAAQQS00MjA4KQogKiBTdXBwbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvqwAAAQBhc2ljIGF1dGhlbnRpY2F0aW9uIHN1cHBvcnQgZm9yIFBpZyBDYXNzYW5kcmFTdG9yYWdlIChDQVNTQU5EUkEtMzA0MikKICogZml4IENRTDIgQUxURVIgVEFCTEUgY29tcGFjdGlvbl9zdHJhdGVneV9jbGFzcyBhbHRlcmluZyAoQ0FTU0FORFJBLTQ5NjUpCk1lcmdlZCBmcm9tIDEuMToKICogRmFsbCBiYWNrIHRvIG9sZCBkZXNjcmliZV9zcGxpdHMgaWYgZF9zX2V4IGlzIG5vdCBhdmFpbGFibGUgKENBU1NBTkRSQS00ODAzKQogKiBJbXByb3ZlIGVy6jsOTAAAAU/ePLJcABBKTVggaW50ZXJmYWNlIChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+rAAABAHN0ZWFkIG9mIGNsYXNzIGluaXRpYWxpemF0aW9uIGluIE5vZGVJZAogICAoQ0FTU0FORFJBLTI5NTMpCiAqIGFkZCBwYWdpbmcgdG8gZ2V0X2NvdW50IChDQVNTQU5EUkEtMjg5NCkKICogZml4ICJzaG9ydCByZWFkcyIgaW4gW211bHRpXWdldCAoQ0FTU0FORFJBLTI2NDMsIDMxNTcsIDMxOTIpCiAqIGFkZCBvcHRpb25hbCBjb21wcmVzc2lvbiBmb3Igc3N0YWJsZXMgKENBU1NBTkRSQS00NywgMjk5NCwgMzAwMSwgMzEyOCkKICogYWRkIHNjaGVkdWxGGLnKAAABT948slwAEGUgdGhlIHN5c3RlbSB0YWIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL6sAAAEAZ2VycyAoQ0FTU0FORFJBLTc2MDYpCiAqIChjcWxzaCkgRGlzcGxheSB0aGUgY3VycmVudCBsb2dnZWQtaW4gdXNlciAoQ0FTU0FORFJBLTc3ODUpCiAqIChjcWxzaCkgRG9uJ3QgaWdub3JlIENUUkwtQyBkdXJpbmcgQ09QWSBGUk9NIGV4ZWN1dGlvbiAoQ0FTU0FORFJBLTc4MTUpCiAqIChjcWxzaCkgT3JkZXIgVURUcyBhY2NvcmRpbmcgdG8gY3Jvc3MtdHlwZSBkZXBlbmRlbmNpZXMgaW4gREVTQ1JJQkUKICAgb3V0cHV0IChDQVNTQU5EUkEtNzY1Oe2FNXwAAAFP3jyyXAAQIGxldmVsZWQgY29tcGFjdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvqwAAAQB5JnNvcnRlci9vcmRlcj1ERVNDCgoKMC4zLjAgUkMzCiAqIEZpeCBwb3RlbnRpYWwgZGVhZGxvY2sgdW5kZXIgbG9hZCBpbiBUQ1BDb25uZWN0aW9uLgogICAoQ0FTU0FORFJBLTIyMCkKCgowLjMuMCBSQzIKICogRml4IHBvc3NpYmxlIGRhdGEgbG9zcyB3aGVuIHNlcnZlciBpcyBzdG9wcGVkIGFmdGVyIHJlcGxheWluZwogICBsb2cgYnV0IGJlZm9yZSBuZXcgaW5zZXJ0cyBmb3JjZSBtZW10YWJsZSBmbHVzaC4KICAgKENBU1NBTkRSQS0yMDQpCiAqrdZejQAAAU/ePLJcABB1cmNlIHJlbGVhc2Ugd2hlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+rAAABACBjbGllbnRzIGJ5IGluZXRhZGRyZXNzIHJhdGhlciB0aGFuIFJhbmdlCiAgIChDQVNTQU5EUkEtNjY2NSkKICogRml4IGNvbXBhY3Rpb25faGlzdG9yeSB0aW1lc3RhbXBzIChDQVNTQU5EUkEtNjc4NCkKICogQ29tcGFyZSBzY29yZXMgb2YgZnVsbCByZXBsaWNhIG9yZGVyaW5nIGluIERFUyAoQ0FTU0FORFJBLTY2ODMpCiAqIGZpeCBDTUUgaW4gU2Vzc2lvbkluZm8gdXBkYXRlUHJvZ3Jlc3MgYWZmZWN0aW5nIG5ldHN0YXRzIChDQVNTQU5EUkEtNjX4bQQTAAAATrAgs4sAIwAGc3lzdGVtAAAQc2NoZW1hX2tleXNwYWNlcwAABAAAAA0AAAAAAQFaH/JnrOA/EoVjz65hA8ZeVVNmcgAFFffV+jfgAAAAAAAAAABYX/IFAB00DqdkwsMAAAFP3jyyXAAQbnMgKENBU1NBTkRSQS04MgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvrQAAAQAzMCkKICogQ292ZXJhZ2UgYW5hbHlzaXMgZm9yIGxvdy1DTCBxdWVyaWVzIChDQVNTQU5EUkEtNDg1OCkKICogU3RvcCBpbnRlcnByZXRpbmcgZGF0ZXMgYXMgdmFsaWQgdGltZVVVSUQgdmFsdWUgKENBU1NBTkRSQS00OTM2KQogKiBBZGRzIEUgbm90YXRpb24gZm9yIGZsb2F0aW5nIHBvaW50IG51bWJlcnMgKENBU1NBTkRSQS00OTI3KQogKiBEZXRlY3QgKGFuZCB3YXJuKSB1bmludGVudGlvbmFsIHVzZSBvZiB0aGUgY3FsMiB0aHJpZnQgbWV0aG9ktmKPgAAAAU/ePLJcABBtYXRjaGluZyBhIERhdGFGAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+tAAABAGVzX2F0IGFuZCByZWR1Y2VfY2FjaGVfc2l6ZXNfYXQgb3B0aW9ucwogICAoQ0FTU0FORFJBLTIxNDIpCiAqIGFkZCBjbGkgJ2Rlc2NyaWJlIGNsdXN0ZXInIGNvbW1hbmQgKENBU1NBTkRSQS0yMTI3KQogKiBhZGQgY2xpIHN1cHBvcnQgZm9yIHNldHRpbmcgdXNlcm5hbWUvcGFzc3dvcmQgYXQgJ2Nvbm5lY3QnIGNvbW1hbmQgCiAgIChDQVNTQU5EUkEtMjExMSkKICogYWRkIC1EIG9wdGlvbiB0byBTdHJlc3MuamF2YSB0byBhbGxvdyByZWFkaW5nIGgjwY40AAABT948slwAEGUgZGVmYXVsdCBoZWFwIHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL60AAAEARFJBLTU0MzUpCiAqIE5vcm1hbGl6ZSB0YWJsZS1tYW5pcHVsYXRpbmcgQ1FMMyBzdGF0ZW1lbnRzJyBjbGFzcyBuYW1lcyAoQ0FTU0FORFJBLTU3NTkpCiAqIGNxbHNoOiBhZGQgbWlzc2luZyB0YWJsZSBvcHRpb25zIHRvIERFU0NSSUJFIG91dHB1dCAoQ0FTU0FORFJBLTU3NDkpCiAqIEZpeCBhc3NlcnRpb24gZXJyb3IgZHVyaW5nIHJlcGFpciAoQ0FTU0FORFJBLTU3NTcpCiAqIEZpeCBidWxrbG9hZGVyIChDQVNTQU5EUkEtNTU0MikKICogQWRkIE3mC9cAAAFP3jyyXAAQYmxlIGNvbXBvbmVudAogIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvrQAAAQBuIG91dHB1dCAoQ0FTU0FORFJBLTE5MzMpCiAqIGNoYW5nZSBkZWZhdWx0IEpNWCBwb3J0IHRvIDcxOTkgKENBU1NBTkRSQS0yMDI3KQogKiBiYWNrd2FyZHMgY29tcGF0aWJsZSBpbnRlcm5hbCBtZXNzYWdpbmcgKENBU1NBTkRSQS0xMDE1KQogKiBhdG9taWMgc3dpdGNoIG9mIG1lbXRhYmxlcyBhbmQgc3N0YWJsZXMgKENBU1NBTkRSQS0yMjg0KQogKiBhZGQgcGx1Z2dhYmxlIFNlZWRQcm92aWRlciAoQ0FTU0FORFJBLTE2NjkpCiAqIEZpeCBjbHVzPhRgyQAAAU/ePLJcABBnZ2luZyBjb250ZXh0IChDAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+tAAABACBmb3IgdHlwaWNhbCBtZXNzYWdlcyAoQ0FTU0FORFJBLTY0MDkpCiAqIFRocm93IElSRSBpZiBhIHByZXBhcmVkIHN0YXRlbWVudCBoYXMgbW9yZSBtYXJrZXJzIHRoYW4gc3VwcG9ydGVkIAogICAoQ0FTU0FORFJBLTU1OTgpCiAqIEV4cG9zZSBUaHJlYWQgbWV0cmljcyBmb3IgdGhlIG5hdGl2ZSBwcm90b2NvbCBzZXJ2ZXIgKENBU1NBTkRSQS02MjM0KQogKiBDaGFuZ2Ugc25hcHNob3QgcmVzcG9uc2UgbWVzc2FnZSB2ZXJiIHRvIElOVEVSTkFMIHQoYAp8AAABT948slwAEGwgTlBFIHdoaWxlIHNjaGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL60AAAEAY3kgZnJvbSBIYWRvb3AgYW5kIFBpZyAoQ0FTU0FEUkEtMTMyMikKICogZXhwb3NlIENmRGVmIG1ldGFkYXRhIGluIGRlc2NyaWJlX2tleXNwYWNlcyAoQ0FTU0FORFJBLTEzNjMpCiAqIHJlc3RvcmUgdXNlIG9mIG1tYXBfaW5kZXhfb25seSBvcHRpb24gKENBU1NBTkRSQS0xMjQxKQogKiBkcm9wcGluZyBhIGtleXNwYWNlIHdpdGggbm8gY29sdW1uIGZhbWlsaWVzIGdlbmVyYXRlZCBhbiBlcnJvciAKICAgKENBU1NBTkRSQS0xMzc4KQogKiByZW5hbT63wBEAAAFP3jyyXAAQKENBU1NBTkRSQS00MjUpCgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvrQAAAQAgaW4gU1RDUyAoQ0FTU0FORFJBLTg4NDMpCiAqIFVwZ3JhZGUgamF2YS1kcml2ZXIgdXNlZCBmb3IgY2Fzc2FuZHJhLXN0cmVzcyAoQ0FTU0FORFJBLTg4NDIpCiAqIEZpeCBDb21taXRMb2cuZm9yY2VSZWN5Y2xlQWxsU2VnbWVudHMoKSBtZW1vcnkgYWNjZXNzIGVycm9yIChDQVNTQU5EUkEtODgxMikKICogSW1wcm92ZSBhc3NlcnRpb25zIGluIE1lbW9yeSAoQ0FTU0FORFJBLTg3OTIpCiAqIEZpeCBTU1RhYmxlUmV3cml0ZXIgY2xlYW51cCAoQ0FTeneGJAAAAU/ePLJcABBudGVkIGhhbmRvZmYgKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+tAAABAGUgc2F2ZS9sb2FkIGFiaWxpdHkgKENBU1NBTkRSQS0xNDE3LCAxNjA2LCAxNjQ3KQogKiBhZGQgU3RvcmFnZVNlcnZpY2UuZ2V0RHJhaW5Qcm9ncmVzcyAoQ0FTU0FORFJBLTE1ODgpCiAqIERpc2FsbG93IGJvb3RzdHJhcCB0byBhbiBpbi11c2UgdG9rZW4gKENBU1NBTkRSQS0xNTYxKQogKiBBbGxvdyBkeW5hbWljIHNlY29uZGFyeSBpbmRleCBjcmVhdGlvbiBhbmQgZGVzdHJ1Y3Rpb24gKENBU1NBTkRSQS0xNTMyKQogKiBsb2cgYXV0by1ndWVzc2XLmd8mAAABT948slwAEChDQVNTQU5EUkEtNjA4MCkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL60AAAEAaW5nIGJvb3RzdHJhcCAtIHN0cmlrZSAzIChDQVNTQU5EUkEtNTM1NCkKICogRml4IHRyYW5zcG9zZWQgYXJndW1lbnRzIGluIEFscmVhZHlFeGlzdHNFeGNlcHRpb24gKENBU1NBTkRSQS01MzYyKQogKiBJbXByb3ZlIGFzeW5jaHJvbm91cyBoaW50IGRlbGl2ZXJ5IChDQVNTQU5EUkEtNTE3OSkKICogRml4IEd1YXZhIGRlcGVuZGVuY3kgdmVyc2lvbiAoMTIuMCAtPiAxMy4wLjEpIGZvciBNYXZlbiAoQ0FTU0FORFJBLTUzNjQpCiAqIFZhbGlkYXRlIAROrk0AAAFP3jyyXAAQLW92ZXIgcG9wdWxhdGVfaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvrQAAAQBpbmcgZm9yIGxhcmdlIGJhdGNoZXMgKENBU1NBTkRSQS02NDg3KQogKiBQdXQgbm9kZXMgaW4gaGliZXJuYXRlIHdoZW4gam9pbl9yaW5nIGlzIGZhbHNlIChDQVNTQU5EUkEtNjk2MSkKICogQXZvaWQgZWFybHkgbG9hZGluZyBvZiBub24tc3lzdGVtIGtleXNwYWNlcyBiZWZvcmUgY29tcGFjdGlvbi1sZWZ0b3ZlcnMgCiAgIGNsZWFudXAgYXQgc3RhcnR1cCAoQ0FTU0FORFJBLTY5MTMpCiAqIFJlc3RyaWN0IFdpbmRvd3MgdG8gcGFyYWxsZWwgcmVwu89+iAAAAU/ePLJcABBDQVNTQU5EUkEtOTI1MSkKAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+tAAABAG5nIHRvIHRpbWVvdXQKICAgKENBU1NBTkRSQS0yOTQzKQogKiByZXZhbXAgdG9rZW4gcmVtb3ZhbCBwcm9jZXNzLCBrZWVwIGdvc3NpcCBzdGF0ZXMgZm9yIDMgZGF5cyAoQ0FTU0FORFJBLTI0OTYpCiAqIGRvbid0IGFjY2VwdCBleHRyYSBhcmdzIGZvciAwLWFyZyBub2RldG9vbCBjb21tYW5kcyAoQ0FTU0FORFJBLTI3NDApCiAqIGxvZyB1bmF2YWlsYWJsZWV4Y2VwdGlvbiBkZXRhaWxzIGF0IGRlYnVnIGxldmVsIChDQVNTQU5EUkEtMjg1NikKICrzUUytAAABT948slwAEHQgYW5kIGNvbmZpZ3VyYWIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL60AAAEAZWZlcmVuY2UgdG8gUGVuZGluZ0ZpbGUgc3N0YWJsZXMgKENBU1NBTkRSQS0xNzQ5KQogKiBmaXggc3N0YWJsZWltcG9ydCByZWdyZXNzaW9uIChDQVNTQU5EUkEtMTc1MykKICogZml4IGZvciBib290c3RyYXAgd2hlbiBubyBub24tc3lzdGVtIHRhYmxlcyBhcmUgZGVmaW5lZCAoQ0FTU0FORFJBLTE3MzIpCiAqIGhhbmRsZSByZXBsaWNhIHVuYXZhaWxhYmlsaXR5IGluIGluZGV4IHNjYW4gKENBU1NBTkRSQS0xNzU1KQogKiBmaXggc2VydmljZSBpbtwaIsEAAAFP3jyyXAAQRUFURSBzdGF0ZW1lbnRzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvrQAAAQBEUkEtNjEzNCkKICogcmVtb3ZlIHVudXNlZCBjbGFzc2VzIChDQVNTQU5EUkEtNzE5NykKICogTGltaXQgdXNlciB0eXBlcyB0byB0aGUga2V5c3BhY2UgdGhleSBhcmUgZGVmaW5lZCBpbiAoQ0FTU0FORFJBLTY2NDMpCiAqIEFkZCB2YWxpZGF0ZSBtZXRob2QgdG8gQ29sbGVjdGlvblR5cGUgKENBU1NBTkRSQS03MjA4KQogKiBOZXcgc2VyaWFsaXphdGlvbiBmb3JtYXQgZm9yIFVEVCB2YWx1ZXMgKENBU1NBTkRSQS03MjA5LCBDQVNTQU5EUkEtNzI25tkz9gAAAU/ePLJcABAqIChjcWxzaCkgV2FpdCB1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+tAAABACAqIGRyYWluIHNob3VsZCBmbHVzaCBzeXN0ZW0gQ0ZzIHRvbyAoQ0FTU0FORFJBLTQ0NDYpCiAqIGFkZCBpbnRlcl9kY190Y3Bfbm9kZWxheSBzZXR0aW5nIChDQVNTQU5EUkEtNTE0OCkKICogcmUtYWxsb3cgd3JhcHBpbmcgcmFuZ2VzIGZvciBzdGFydF90b2tlbi9lbmRfdG9rZW4gcmFuZ2UgcGFpcml0c3B3bmcgKENBU1NBTkRSQS01MTA2KQogKiBmaXggdmFsaWRhdGlvbiBjb21wYWN0aW9uIG9mIGVtcHR5IHJvd3MgKENBU1NBTkRSQS01MTM2KQo9ZIyHAAABT948slwAECogQWRkIHRpbWluZyBpbmYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL60AAAEAIHJvd3MgaW4gcmFuZ2UgcXVlcnkgcHNldWRvLVJSIChDQVNTQU5EUkEtMjY4MCkKICogcmVtb3ZlIG5vLW9wIEhIT00ucmVuYW1lSGludHMgKENBU1NBTkRSQS0yNjkzKQogKiBjbG9uZSBzdXBlciBjb2x1bW5zIHRvIGF2b2lkIG1vZGlmeWluZyB0aGVtIGR1cmluZyBmbHVzaCAoQ0FTU0FORFJBLTI2NzUpCiAqIGFsbG93IHdyaXRlcyB0byBieXBhc3MgdGhlIGNvbW1pdGxvZyBmb3IgY2VydGFpbiBrZXlzcGFjZXMgKENBU1NBTkRSQS0yNjgzKQogKsPsyPwAHUhrisqRtwAAAU/ePLJcABBhdGVneSBpbiAwLjcpCiAgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+vAAABAHJ0eSkgKENBU1NBTkRSQS0yODI5KQogKiBmaXggdGhyb3dpbmcgZXhjZXB0aW9uIHdpdGggYmF0Y2ggbXV0YXRpb24gb2YgY291bnRlciBzdXBlciBjb2x1bW5zCiAgIChDQVNTQU5EUkEtMjk0OSkKICogaWdub3JlIHN5c3RlbSB0YWJsZXMgZHVyaW5nIHJlcGFpciAoQ0FTU0FORFJBLTI5NzkpCiAqIHRocm93IGV4Y2VwdGlvbiB3aGVuIE5UUyBpcyBnaXZlbiByZXBsaWNhdGlvbl9mYWN0b3IgYXMgYW4gb3B0aW9uCiAgIChDQVNTQU5EUkEtMjk2MCln6P5MAAABT948slwAEHRoZSBwYXRjaCBmb3IgQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL68AAAEAZWQgKENBU1NBTkRSQS04NDE2KQogKiBjYW5jZWwgbGF0ZW5jeS1zYW1wbGluZyB0YXNrIHdoZW4gQ0YgaXMgZHJvcHBlZCAoQ0FTU0FORFJBLTg0MDEpCiAqIGRvbid0IGJsb2NrIFNvY2tldFRocmVhZCBmb3IgTWVzc2FnaW5nU2VydmljZSAoQ0FTU0FORFJBLTgxODgpCiAqIEluY3JlYXNlIHF1YXJhbnRpbmUgZGVsYXkgb24gcmVwbGFjZW1lbnQgKENBU1NBTkRSQS04MjYwKQogKiBFeHBvc2Ugb2ZmLWhlYXAgbWVtb3J5IHVzYWdlIHN0YXRzIChDQb08L9gAAAFP3jyyXAAQb2lkIHJhY2UgaW4gY2FuYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvrwAAAQAgYW4gZXh0cmEgY29tbWEgaW4KICAgY29sdW1uX21ldGFkYXRhIChDQVNTQU5EUkEtMzcxNCkKTWVyZ2VkIGZyb20gMC44OgogKiBhdm9pZCBsb2dnaW5nIChoYXJtbGVzcykgZXhjZXB0aW9uIHdoZW4gR0MgdGFrZXMgPCAxbXMgKENBU1NBTkRSQS0zNjU2KQogKiBwcmV2ZW50IG5ldyBub2RlcyBmcm9tIHRoaW5raW5nIGRvd24gbm9kZXMgYXJlIHVwIGZvcmV2ZXIgKENBU1NBTkRSQS0zNjI2KQogKiB1c2UgY29ycmVjdCBsaXN0IG9mIHJlcGxpY2FzxVmZWQAAAU/ePLJcABBlbW92ZSBsZWZ0LW92ZXIgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+vAAABADg1ODcpCgoKMi4xLjIKICogKGNxbHNoKSBwYXJzZV9mb3JfdGFibGVfbWV0YSBlcnJvcnMgb3V0IG9uIHF1ZXJpZXMgd2l0aCB1bmRlZmluZWQKICAgZ3JhbW1hcnMgKENBU1NBTkRSQS04MjYyKQogKiAoY3Fsc2gpIEZpeCBTRUxFQ1QgLi4uIFRPS0VOKCkgZnVuY3Rpb24gYnJva2VuIGluIEMqIDIuMS4xIChDQVNTQU5EUkEtODI1OCkKICogRml4IENhc3NhbmRyYSBjcmFzaCB3aGVuIHJ1bm5pbmcgb24gSkRLOCB1cGRhdGUgNDAgKENBU1NBTkRSQS1PlrGaAAABT948slwAEGNvbW1hbmQgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL68AAAEAbnN0YXRzIChDQVNTQU5EUkEtNDMxOCkKICogZW5mb3JjZSAxbSBtaW4ga2V5Y2FjaGUgZm9yIGF1dG8gKENBU1NBTkRSQS00MzA2KQogKiBIYXZlIERlbGV0ZWRDb2x1bW4uaXNNRkQgYWx3YXlzIHJldHVybiB0cnVlIChDQVNTQU5EUkEtNDMwNykKICogKGNxbDMpIGV4ZXB0aW9uIG1lc3NhZ2UgZm9yIE9SREVSIEJZIGNvbnN0cmFpbnRzIHNhaWQgcHJpbWFyeSBmaWx0ZXIgY2FuIGJlCiAgICBhbiBJTiBjbGF1c2UsIHdoaWNoIGlzIG1pc2xlYWRpbpB37esAAAFP3jyyXAAQdGhDb21wYWN0aW9uc0RpcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvrwAAAQApCiAqIEZpeCBkdXBsaWNhdGUgdXAvZG93biBtZXNzYWdlcyBzZW50IHRvIG5hdGl2ZSBjbGllbnRzIChDQVNTQU5EUkEtNzgxNikKICogRXhwb3NlIGNvbW1pdCBsb2cgYXJjaGl2ZSBzdGF0dXMgdmlhIEpNWCAoQ0FTU0FORFJBLTg3MzQpCiAqIFByb3ZpZGUgYmV0dGVyIGV4Y2VwdGlvbnMgZm9yIGludmFsaWQgcmVwbGljYXRpb24gc3RyYXRlZ3kgcGFyYW1ldGVycwogICAoQ0FTU0FORFJBLTg5MDkpCiAqIEZpeCByZWdyZXNzaW9uIGluIG1peGVkC28a2gAAAU/ePLJcABBzZWRUeXBlIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+vAAABAGV3IGNvdW50ZXIgbm9kZSBpZCAoQ0FTU0FORFJBLTI3ODgpCiAqIGFkZCBqYW1tIGFnZW50IHRvIGNhc3NhbmRyYS5iYXQgKENBU1NBTkRSQS0yNzg3KQogKiBmaXggcmVwYWlyIGhhbmdpbmcgaWYgYSBuZWlnaGJvciBoYXMgbm90aGluZyB0byBzZW5kIChDQVNTQU5EUkEtMjc5NykKICogcHVyZ2UgdG9tYnN0b25lIGV2ZW4gaWYgcm93IGlzIGluIG9ubHkgb25lIHNzdGFibGUgKENBU1NBTkRSQS0yODAxKQogKiBGaXggd3JvbmcgcHVyZ2Ugb2YgZGWIu64DAAABT948slwAEGVyIChDQVNTQU5EUkEtMTQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL68AAAEAZSByb3cgY2FjaGUgd2l0aCBhIGdpdmVuIGFtb3VudCBvZiByb3dzIChDQVNTQU5EUkEtNTM1NykKICogQXZvaWQgcmVwYWlyaW5nIGFscmVhZHkgcmVwYWlyZWQgZGF0YSAoQ0FTU0FORFJBLTUzNTEpCiAqIFJlamVjdCBjb3VudGVyIHVwZGF0ZXMgd2l0aCBVU0lORyBUVEwvVElNRVNUQU1QIChDQVNTQU5EUkEtNjY0OSkKICogUmVwbGFjZSBpbmRleF9pbnRlcnZhbCB3aXRoIG1pbi9tYXhfaW5kZXhfaW50ZXJ2YWwgKENBU1NBTkRSQS02Mzc5KQogKtstrwAAAAFP3jyyXAAQcnMgKENBU1NBTkRSQS0xMwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvrwAAAQB1bG91c2x5IGxhcmdlIG1heCBzc3RhYmxlIHNpemVzIGluIExDUyAoQ0FTU0FORFJBLTU1ODkpCiAqIElnbm9yZSBwcmUtdHJ1bmNhdGUgaGludHMgKENBU1NBTkRSQS00NjU1KQogKiBNb3ZlIFN5c3RlbS5leGl0IG9uIE9PTSBpbnRvIGEgc2VwYXJhdGUgdGhyZWFkIChDQVNTQU5EUkEtNTI3MykKICogV3JpdGUgcm93IG1hcmtlcnMgd2hlbiBzZXJpYWxpemluZyBzY2hlbWEgKENBU1NBTkRSQS01NTcyKQogKiBDaGVjayBvbmx5IFNTVGFibGVzIGZvK8hs7QAAAU/ePLJcABAyOSkKICogZGV0ZWN0IGFuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+vAAABADc4KQoKCjAuNC4wCiAqIGZpeCBnZXRfa2V5X3JhbmdlIHByb2JsZW1zIHdoZW4gYSBub2RlIGlzIGRvd24gKENBU1NBTkRSQS00NDApCiAgIGFuZCBhZGQgVW5hdmFpbGFibGVFeGNlcHRpb24gdG8gbW9yZSBUaHJpZnQgbWV0aG9kcwogKiBBZGQgZXhhbXBsZSBFbmRQb2ludFNuaXRjaCBjb250cmliIGNvZGUgKHNldmVyYWwgdGlja2V0cykKCgowLjQuMCBSQzIKICogZml4IFNTVGFibGUgZ2VuZXJhdGlvbiBjbGFzaCBkdXJpbmcgY29tcGFjdGlvbiDaGWjxAAABT948slwAECBhbGwgYXV0aGVudGljYXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL68AAAEAIGRpZXMgKGluc3RlYWQgb2YKICAgaGFuZ2luZyBmb3JldmVyKSAoQ0FTU0FORFJBLTI0MzMpCiAqIGZpeCBoYW5kbGluZyBvZiB0aGUgZW1wdHkgYnl0ZSBidWZmZXIgYnkgUmV2ZXJzZWRUeXBlIChDQVNTQU5EUkEtMzExMSkKICogQWRkIHZhbGlkYXRpb24gdGhhdCBLZXlzcGFjZSBuYW1lcyBhcmUgY2FzZS1pbnNlbnNpdGl2ZWx5IHVuaXF1ZSAoQ0FTU0FORFJBLTMwNjYpCiAqIGNhdGNoIGludmFsaWQga2V5X3ZhbGlkYXRpb25fY2xhc3MgYmVmbwS+aD0AAAFP3jyyXAAQbiBmYW1pbHkgYmFja2VkIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvrwAAAQAgd2lyaW5nIHVwIFN0cmVhbVNlc3Npb24gKENBU1NBTkRSQS03MDczKQogKiBSZS1hZGQgcGFyYW1ldGVyIGNvbHVtbnMgdG8gdHJhY2luZyBzZXNzaW9uIChDQVNTQU5EUkEtNjk0MikKICogUHJlc2VydmVzIENRTCBtZXRhZGF0YSB3aGVuIHVwZGF0aW5nIHRhYmxlIGZyb20gdGhyaWZ0IChDQVNTQU5EUkEtNjgzMSkKTWVyZ2VkIGZyb20gMS4yOgogKiBGaXggbm9kZXRvb2wgZGlzcGxheSB3aXRoIHZub2RlcyAoQ0FTU0FORFJBLTcwODIpCiAqIEFkz4sexQAAAU/ePLJcABAgZmFtaWx5IG5hbWVzLiBUAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+vAAABADApCiAqIEFkZCBnZW5lcmF0ZS1pZGVhLWZpbGVzIHRhcmdldCB0byBidWlsZC54bWwgKENBU1NBTkRSQS05MTIzKQogKiBEbyBub3QgbG9hZCByZWFkIG1ldGVyIGZvciBvZmZsaW5lIG9wZXJhdGlvbnMgKENBU1NBTkRSQS05MDgyKQogKiBjcWxzaDogTWFrZSBDb21wb3NpdGVUeXBlIGRhdGEgcmVhZGFibGUgKENBU1NBTkRSQS04OTE5KQogKiBjcWxzaDogRml4IGRpc3BsYXkgb2YgdHJpZ2dlcnMgKENBU1NBTkRSQS05MDgxKQogKiBGaXggTnVsbFA7RpbTAAABT948slwAEGVyIGEgZmF0IGNsaWVudCwAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL68AAAEAaXNhYmxlZCAoQ0FTU0FORFJBLTI4NzApCiAqIGFkZCBhbnQtb3B0aW9uYWwgYXMgZGVwZW5kZW5jZSBmb3IgdGhlIGRlYmlhbiBwYWNrYWdlIChDQVNTQU5EUkEtMjE2NCkKICogYWRkIG9wdGlvbiB0byBzcGVjaWZ5IGxpbWl0IGZvciBnZXRfc2xpY2UgaW4gdGhlIENMSSAoQ0FTU0FORFJBLTI2NDYpCiAqIGRlY3JlYXNlIEhIIHBhZ2Ugc2l6ZSAoQ0FTU0FORFJBLTI4MzIpCiAqIHJlc2V0IGNsaSBrZXlzcGFjZSBhZnRlciBkcm9wcGluZyB0aGUgY8W/DDwAAAFP3jyyXAAQCiAqIGNsaSBubyBsb25nZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvrwAAAQB0YXRpYyBjb2x1bW5zIHdpdGgKICAgcXVlcnkgcGFnaW5nIChDQVNTQU5EUkEtODEwOCkKICogRml4IE5QRSBvbiBudWxsIG5lc3RlZCBVRFQgaW5zaWRlIGEgc2V0IChDQVNTQU5EUkEtODEwNSkKICogRml4IGV4Y2VwdGlvbiB3aGVuIHF1ZXJ5aW5nIHNlY29uZGFyeSBpbmRleCBvbiBzZXQgaXRlbXMgb3IgbWFwIGtleXMKICAgd2hlbiBzb21lIGNsdXN0ZXJpbmcgY29sdW1ucyBhcmUgc3BlY2lmaWVkIChDQVNTQU5EUkEtODA3MykKICogU2VuZCBwCC20owAdXSI0mDKaAAABT948slwAEHNlZCBTU1RhYmxlIGludm8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7EAAAEAc3Qgc25hcHNob3Qgc3N0YWJsZXMgKENBU1NBTkRSQS0yMzg2KQogKiByZW1vdmUgYWN0aXZlLXB1bGwgc2NoZW1hIHJlcXVlc3RzIChDQVNTQU5EUkEtMjcxNSkKICogYXZvaWQgbWFya2luZyBlbnRpcmUgbGlzdCBvZiBzc3RhYmxlcyBhcyBhY3RpdmVseSBiZWluZyBjb21wYWN0ZWQKICAgaW4gbXVsdGl0aHJlYWRlZCBjb21wYWN0aW9uIChDQVNTQU5EUkEtMjc2NSkKICogc2VlayBiYWNrIGFmdGVyIGRlc2VyaWFsaXppbmcgYSByb3cgdG8gdXBkYROnUoEAAAFP3jyyXAAQd3JpdGluZyBvZiB0aGUgcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvsQAAAQBFeGNlcHRpb24gKENBU1NBTkRSQS01ODA0KQogKiBBbGxvdyBlbXB0eSBJTiByZWxhdGlvbnMgaW4gU0VMRUNUL1VQREFURS9ERUxFVEUgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTU2MjYpCiAqIGNxbHNoOiBmaXggY3Jhc2hpbmcgb24gV2luZG93cyBkdWUgdG8gbGliZWRpdCBkZXRlY3Rpb24gKENBU1NBTkRSQS01ODEyKQogKiBmaXggYnVsay1sb2FkaW5nIGNvbXByZXNzZWQgc3N0YWJsZXMgKENBU1NBTkRSQS01ODIwKQogKiAoSGFkb29wKSBmaXggYaBtlQAAAU/ePLJcABB1cnJlbnQgY29tcGFjdGlvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+xAAABAG9yIG9sZC1zdHlsZSBtYXByZWQgYXBpIChDQVNTQU5EUkEtNDUzNCkKICogKEhhZG9vcCkgZml4IGl0ZXJhdGluZyB0aHJvdWdoIGEgcmVzdWx0c2V0IGNvbnNpc3RpbmcgZW50aXJlbHkKICAgb2YgdG9tYnN0b25lZCByb3dzIChDQVNTQU5EUkEtNDQ2NikKCgoxLjEuMwogKiAoY3Fsc2gpIGFkZCBDT1BZIFRPIChDQVNTQU5EUkEtNDQzNCkKICogbXVubWFwIGNvbW1pdGxvZyBzZWdtZW50cyBiZWZvcmUgcmVuYW1lIChDQVNTQU5EUkEtNDMzNykKICqfV4vlAAABT948slwAEHBjX2FkZHJlc3MgZm9yIGIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7EAAAEAbWluaW5nIHdoZXRoZXIgdG8gZG8gbG9jYWwgcmVhZCBmb3IgQ0wuT05FIChDQVNTQU5EUkEtMTMxNykKICogZml4IHJlYWQgcmVwYWlyIHRvIHVzZSByZXF1ZXN0ZWQgY29uc2lzdGVuY3kgbGV2ZWwgb24gZGlnZXN0IG1pc21hdGNoLAogICByYXRoZXIgdGhhbiBhc3N1bWluZyBRVU9SVU0gKENBU1NBTkRSQS0xMzE2KQogKiBwcm9jZXNzIGRpZ2VzdCBtaXNtYXRjaCByZS1yZWFkcyBpbiBwYXJhbGxlbCAoQ0FTU0FORFJBLTEzMjMpCiAqIHN3aXRjaBIQDFoAAAFP3jyyXAAQKiBNaW5vciBsZWFrIGluIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvsQAAAQBhbWluZy4KICAgIC0gQWRkZWQgY29sdW1uRmFtaWx5IGFyZ3VtZW50IHRvIGdldF9rZXlfcmFuZ2UuCiAgICAtIENoYW5nZSBzaWduYXR1cmUgb2YgZ2V0X3NsaWNlIHRvIGFjY2VwdCBzdGFydGluZyBhbmQgZW5kaW5nCiAgICAgIGNvbHVtbnMgYXMgd2VsbCBhcyBhbiBvZmZzZXQuICAoVGhpcyBhbGxvd3MgdXNlIG9mIGluZGV4ZXMuKQogICAgICBBZGRlZCAiYXNjZW5kaW5nIiBmbGFnIHRvIGFsbG93IHJlYXNvbmFibHktZWZmaWNpZW50IHJldmVyn5QfvwAAAU/ePLJcABBlY3Rpb24KICAgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+xAAABAE5EUkFfNDg2NSkKICogYWRkIGV4dGVuc2lvbiBwb2ludCBmb3Igc3N0YWJsZSBjb21wb25lbnRzIChDQVNTQU5EUkEtNDA0OSkKICogaW1wcm92ZSB0cmFjaW5nIG91dHB1dCAoQ0FTU0FORFJBLTQ4NTIsIDQ4NjIpCiAqIG1ha2UgVFJBQ0UgdmVyYiBkcm9wcGFibGUgKENBU1NBTkRSQS00NjcyKQogKiBmaXggQnVsa0xvYWRlciByZWNvZ25pdGlvbiBvZiBDUUwzIGNvbHVtbmZhbWlsaWVzIChDQVNTQU5EUkEtNDc1NSkKICogU29ydCBjb21taXRsb2daUPdcAAABT948slwAECBBdm9pZCBJbGxlZ2FsQXIAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7EAAAEAIChDQVNTQU5EUkEtMTEyNikKICogZml4IHVzaW5nIER5bmFtaWNFbmRwb2ludFNuaXRjaCB3aXRoIE5ldHdvcmtUb3BvbG9neVN0cmF0ZWd5CiAgIChDQVNTQU5EUkEtMTQyOSkKICogQWRkIENmRGVmLmRlZmF1bHRfdmFsaWRhdGlvbl9jbGFzcyAoQ0FTU0FORFJBLTg5MSkKICogZml4IEVzdGltYXRlZEhpc3RvZ3JhbS5tYXggKENBU1NBTkRSQS0xNDEzKQogKiBxdW9ydW0gcmVhZCBvcHRpbWl6YXRpb24gKENBU1NBTkRSQS0xNjIyKQogKiBoYW5kbFBodS4AAAFP3jyyXAAQb3IgR1QvRSwgTFQvRSBpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvsQAAAQBORFJBLTgzMjApCiAqIEZpeCBoaWdoIHNpemUgY2FsY3VsYXRpb25zIGZvciBwcmVwYXJlZCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtODIzMSkKICogQ2VudHJhbGl6ZSBzaGFyZWQgZXhlY3V0b3JzIChDQVNTQU5EUkEtODA1NSkKICogRml4IGZpbHRlcmluZyBmb3IgQ09OVEFJTlMgKEtFWSkgcmVsYXRpb25zIG9uIGZyb3plbiBjb2xsZWN0aW9uCiAgIGNsdXN0ZXJpbmcgY29sdW1ucyB3aGVuIHRoZSBxdWVyeSBpcyByZXN0cmljdGVkIHRvIGEgc2luVXljcQAAAU/ePLJcABA5KQogKiBzdHJlc3M6IGFkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+xAAABAGV0dHkgdmVyc2lvbiBhbmQgZW5hYmxlIGVwb2xsIGV2ZW50IGxvb3AgKENBU1NBTkRSQS03NzYxKQogKiBEb24ndCBkdXBsaWNhdGUgc3N0YWJsZXMgc21hbGxlciB0aGFuIHNwbGl0IHNpemUgd2hlbiB1c2luZwogICB0aGUgc3N0YWJsZXNwbGl0dGVyIHRvb2wgKENBU1NBTkRSQS03NjE2KQogKiBBdm9pZCByZS1wYXJzaW5nIGFscmVhZHkgcHJlcGFyZWQgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTc5MjMpCiAqIEZpeCBzb21lIFRocmlmdCBzbGljZSBRshS2AAABT948slwAEF9zZWNvbmRzIHRvIHNldmUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7EAAAEAaW50byBjYWNoZXMgdG8gYXZvaWQgcmV0YWluaW5nCiAgIGEgcmVmZXJlbmNlIHRvIHRoZSB1bmRlcmx5aW5nIGJ1ZmZlciAoQ0FTU0FORFJBLTIxMDIpCiAqIGZvcm1hdCBzdWJjb2x1bW4gbmFtZXMgd2l0aCBzdWJjb21wYXJhdG9yIChDQVNTQU5EUkEtMjEzNikKICogZml4IGNvbHVtbiBibG9vbSBmaWx0ZXIgZGVzZXJpYWxpemF0aW9uIChDQVNTQU5EUkEtMjE2NSkKCgowLjcuMQogKiByZWZhY3RvciBNZXNzYWdlRGlnZXN0IGNyZWF0aW9uIGNvZBGmmmEAAAFP3jyyXAAQZXJnZWQgZnJvbSAxLjI6CgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvsQAAAQBpbml0aW9uIGFsb25lIChDQVNTQU5EUkEtMjYxOSkKICAKCjAuOC4wLWJldGExCiAqIHJlbW92ZSBBdnJvIFJQQyBzdXBwb3J0IChDQVNTQU5EUkEtOTI2KQogKiBzdXBwb3J0IGZvciBjb2x1bW5zIHRoYXQgYWN0IGFzIGluY3IvZGVjciBjb3VudGVycyAKICAgKENBU1NBTkRSQS0xMDcyLCAxOTM3LCAxOTQ0LCAxOTM2LCAyMTAxLCAyMDkzLCAyMjg4LCAyMTA1LCAyMzg0LCAyMjM2LCAyMzQyLAogICAyNDU0KQogKiBDUUwgKENBU1NBTkRSQS0xNzAz3utGAgAAAU/ePLJcABBTU0FORFJBLTExMjYpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+xAAABAEFTU0FORFJBLTQwMykKICogYWxsb3cgc2V0dGluZyB0aGUgbG9nZ2luZyBsZXZlbCBhdCBydW50aW1lIHZpYSBtYmVhbiAoQ0FTU0FORFJBLTQwMikKICogY2hhbmdlIGRlZmF1bHQgY29tcGFyYXRvciB0byBCeXRlc1R5cGUgKENBU1NBTkRSQS00MDApCiAqIGFkZCBmb3J3YXJkcy1jb21wYXRpYmxlIENvbnNpc3RlbmN5TGV2ZWwgcGFyYW1ldGVyIHRvIGdldF9rZXlfcmFuZ2UKICAgKENBU1NBTkRSQS0zMjIpCiAqIHIvbSBzcGVjaWFsIGNhc2Ugb2ZFl3A/AAABT948slwAEEEtNzQ0MCkKICogKEhhZG8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7EAAAEACjIuMS4wLXJjNAogKiBGaXggd29yZCBjb3VudCBoYWRvb3AgZXhhbXBsZSAoQ0FTU0FORFJBLTcyMDApCiAqIFVwZGF0ZWQgbWVtdGFibGVfY2xlYW51cF90aHJlc2hvbGQgYW5kIG1lbXRhYmxlX2ZsdXNoX3dyaXRlcnMgZGVmYXVsdHMgCiAgIChDQVNTQU5EUkEtNzU1MSkKICogKFdpbmRvd3MpIGZpeCBzdGFydHVwIHdoZW4gV01JIG1lbW9yeSBxdWVyeSBmYWlscyAoQ0FTU0FORFJBLTc1MDUpCiAqIEFudGktY29tcGFjdGlvbiBwcm9jZWVkcyBpZtpWwTEAAAFP3jyyXAAQbiBidWxrIGxvYWRpbmcgaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvsQAAAQBBTkRSQS02NTY3KQogKiBOb2RldG9vbCB1cGdyYWRlc3N0YWJsZXMgaW5jbHVkZXMgc2Vjb25kYXJ5IGluZGV4ZXMgKENBU1NBTkRSQS02NTk4KQogKiBQYWdpbmF0ZSBiYXRjaGxvZyByZXBsYXkgKENBU1NBTkRSQS02NTY5KQogKiBza2lwIGJsb2NraW5nIG9uIHN0cmVhbWluZyBkdXJpbmcgZHJhaW4gKENBU1NBTkRSQS02NjAzKQogKiBJbXByb3ZlIGVycm9yIG1lc3NhZ2Ugd2hlbiBzY2hlbWEgZG9lc24ndCBtYXRjaCBsb2FkZWQgc3N0YWJsZSAowYKVUwAAAU/ePLJcABAwOCkKICogTG9nIG1lc3NhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+xAAABAGNvbHVtbmZhbWlseSBkcm9wIChDQVNTQU5EUkEtNTk1NykKICogRml4IHZhbGlkYXRpb24gb2YgZW1wdHkgY29sdW1uIG5hbWVzIGZvciBjb21wYWN0IHRhYmxlcyAoQ0FTU0FORFJBLTYxNTIpCiAqIFNraXAgcmVwbGF5aW5nIG11dGF0aW9ucyB0aGF0IHBhc3MgQ1JDIGJ1dCBmYWlsIHRvIGRlc2VyaWFsaXplIChDQVNTQU5EUkEtNjE4MykKICogUmV3b3JrIHRva2VuIHJlcGxhY2VtZW50IHRvIHVzZSByZXBsYWNlX2FkZHJlc3MgKENBU1NBTkRSQS2uPQWGAAAATrAgs4sAIwAGc3lzdGVtAAAQc2NoZW1hX2tleXNwYWNlcwAABAAAAAwAAAAAAQFaH/JnrOA/EoVjz65hA8ZeVVNmcgAFFffV+k9QAAAAAAAAAACytgEPAB1xfwwtLboAAAFP3jyyXAAQZW50aWNhdGlvbiBzdXBwbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvtAAAAQBkdXJpbmcgQ09QWSBGUk9NIGV4ZWN1dGlvbiAoQ0FTU0FORFJBLTc4MTUpCiAqIChjcWxzaCkgT3JkZXIgVURUcyBhY2NvcmRpbmcgdG8gY3Jvc3MtdHlwZSBkZXBlbmRlbmNpZXMgaW4gREVTQ1JJQkUKICAgb3V0cHV0IChDQVNTQU5EUkEtNzY1OSkKICogKGNxbHNoKSBGaXggaGFuZGxpbmcgb2YgQ0FTIHN0YXRlbWVudCByZXN1bHRzIChDQVNTQU5EUkEtNzY3MSkKICogKGNxbHNoKSBDT1BZIFRPL0ZST00gaW1wcm92ZW1lbnRzIChDQVNTQU5EUkEtvvF+RAAAAU/ePLJcABAKICogZml4IGFzc3VtcHRpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+0AAABAGUgdGhhbiBvbmUgcGVuZGluZyBlbmRwb2ludCAoQ0FTU0FORFJBLTgzNDYsIDg2NDApCiAqIFRocm93IGNvcnJlY3QgZXhjZXB0aW9uIHdoZW4gdHJ5aW5nIHRvIGJpbmQgYSBrZXlzcGFjZSBvciB0YWJsZQogICBuYW1lIChDQVNTQU5EUkEtNjk1MikKICogTWFrZSBISE9NLmNvbXBhY3Qgc3luY2hyb25pemVkIChDQVNTQU5EUkEtODQxNikKICogY2FuY2VsIGxhdGVuY3ktc2FtcGxpbmcgdGFzayB3aGVuIENGIGlzIGRyb3BwZWQgKENBU1NBTkRSQS0TwuuYAAABT948slwAEGFibGUgbWV0YWRhdGEgKEMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7QAAAEAaW5lZCBjb250cm9sIG92ZXIgZGF0YSBkaXJlY3RvcmllcyAoQ0FTU0FORFJBLTI3NDkpCiAqIEZpeCBDbGFzc0Nhc3RFeGNlcHRpb24gZHVyaW5nIGhpbnRlZCBoYW5kb2ZmIChDQVNTQU5EUkEtMzY5NCkKICogVXBncmFkZSBUaHJpZnQgdG8gMC43IChDQVNTQU5EUkEtMzIxMykKICogTWFrZSBzdHJlc3MuamF2YSBpbnNlcnQgb3BlcmF0aW9uIHRvIHVzZSBtaWNyb3NlY29uZHMgKENBU1NBTkRSQS0zNzI1KQogKiBBbGxvd3MgKGludGVybmFsbHkpIAOo148AAAFP3jyyXAAQY291bnRlcnMKICAgKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvtAAAAQBvIG1pbi9tYXhfY29tcGFjdGlvbl90aHJlc2hvbGQgdGhyb3VnaCBjYXNzYW5kcmEtY2xpCiAgIChDQVNTQU5EUkEtODEwMikKICogRG9uJ3QgaW5jbHVkZSB0bXAgZmlsZXMgd2hlbiBkb2luZyBvZmZsaW5lIHJlbGV2ZWwgKENBU1NBTkRSQS05MDg4KQogKiBVc2UgdGhlIHByb3BlciBDQVMgV3JpdGVUeXBlIHdoZW4gZmluaXNoaW5nIGEgcHJldmlvdXMgcm91bmQgZHVyaW5nIFBheG9zCiAgIHByZXBhcmF0aW9uIChDQVNTQU5EUkEtODY3MikKICogc5PYTgAAAU/ePLJcABBBTkRSQS01Mjg3KQogKiBGAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+0AAABAERSQS00ODYxKQogKiBFeGNsdWRlIGdjYWJsZSB0b21ic3RvbmVzIGZyb20gbWVya2xlLXRyZWUgY29tcHV0YXRpb24gKENBU1NBTkRSQS00OTA1KQogKiBCZXR0ZXIgcHJpbnRpbmcgb2YgQWJzdHJhY3RCb3VuZHMgZm9yIHRyYWNpbmcgKENBU1NBTkRSQS00OTMxKQogKiBPcHRpbWl6ZSBtb3N0UmVjZW50VG9tYnN0b25lIGNoZWNrIGluIENDLmNvbGxlY3RBbGxEYXRhIChDQVNTQU5EUkEtNDg4MykKICogQ2hhbmdlIHN0cmVhbSBzZXNzaW9uIElEIHQo9chLAAABT948slwAEFJBLTcyMzkpCiAqIEFsbG8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7QAAAEAZCBjb21taXRsb2dfcm90YXRpb25fdGhyZXNob2xkX2luX21iIGNvbmZpZ3VyYXRpb24gKENBU1NBTkRSQS0yNzcxKQogKiBtYWtlIEFic3RyYWN0Qm91bmRzLm5vcm1hbGl6ZSBkZS1vdmVybGFwcCBvdmVybGFwcGluZyByYW5nZXMgKENBU1NBTkRSQS0yNjQxKQogKiByZXBsYWNlIENvbGxhdGluZ0l0ZXJhdG9yLCBSZWR1Y2luZ0l0ZXJhdG9yIHdpdGggTWVyZ2VJdGVyYXRvciAKICAgKENBU1NBTkRSQS0yMDYyKQogKiBGaXhlZCB0aGUgYWJpbGl0eRcj+F8AAAFP3jyyXAAQQVNTQU5EUkEtODQwMSkKIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvtAAAAQBzdGVtIHdhbGwgY2xvY2sgdGltZSBhdCBzdGFydHVwIChDQVNTQU5EUkEtODMwNSkKICogU3VwcG9ydCBmb3IgZnJvemVuIGNvbGxlY3Rpb25zIChDQVNTQU5EUkEtNzg1OSkKICogRml4IG92ZXJmbG93IG9uIGhpc3RvZ3JhbSBjb21wdXRhdGlvbiAoQ0FTU0FORFJBLTgwMjgpCiAqIEhhdmUgcGF4b3MgcmV1c2UgdGhlIHRpbWVzdGFtcCBnZW5lcmF0aW9uIG9mIG5vcm1hbCBxdWVyaWVzIChDQVNTQU5EUkEtNzgwMSkKICogRml4IGluY3JlbWVudGFsn4VGswAAAU/ePLJcABB3aXRoIHRoZSBwcmV2aW91AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+0AAABAG1wYWN0aW9uU3RyYXRlZ3kgKENBU1NBTkRSQS0xNjA4LCAzMDg1LCAzMTEwLCAzMDg3LCAzMTQ1LCAzMTU0LCAzMTgyKQogKiBJbXByb3ZlbWVudHMgb2YgdGhlIENMSSBgZGVzY3JpYmVgIGNvbW1hbmQgKENBU1NBTkRSQS0yNjMwKQogKiByZWR1Y2Ugd2luZG93IHdoZXJlIGRyb3BwZWQgQ0Ygc3N0YWJsZXMgbWF5IG5vdCBiZSBkZWxldGVkIChDQVNTQU5EUkEtMjk0MikKICogRXhwb3NlIGdvc3NpcC9GRCBpbmZvIHRvIEpNWCAoQ0FTU0FORFJBLTIUwcFIAAABT948slwAEGlyIGVycm9yIG9uIGluZGUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7QAAAEAbV9hdXRoIGtzIGFsdGVyYWJsZSAoQ0FTU0FORFJBLTUxMTIpCiAqIFN0b3AgY29tcGFjdGlvbnMgZnJvbSBoYW5naW5nIGR1cmluZyBib290c3RyYXAgKENBU1NBTkRSQS01MjQ0KQogKiBmaXggY29tcHJlc3NlZCBzdHJlYW1pbmcgc2VuZGluZyBleHRyYSBjaHVuayAoQ0FTU0FORFJBLTUxMDUpCiAqIEFkZCBDUUwzLWJhc2VkIGltcGxlbWVudGF0aW9ucyBvZiBJQXV0aGVudGljYXRvciBhbmQgSUF1dGhvcml6ZXIKICAgKENBU1NBTkRSQS00ODk4KU5Piz4AAAFP3jyyXAAQUkEtODY3MikKICogQXZvaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvtAAAAQAwKQogKiBDb25uZWN0aW9uIHRocmFzaGluZyBkdXJpbmcgbXVsdGktcmVnaW9uIGVjMiBkdXJpbmcgdXBncmFkZSwgZHVlIHRvIAogICBtZXNzYWdpbmcgdmVyc2lvbiAoQ0FTU0FORFJBLTU2NjkpCiAqIEF2b2lkIG92ZXIgcmVjb25uZWN0aW5nIGluIEVDMk1SUyAoQ0FTU0FORFJBLTU2NzgpCiAqIEZpeCBSZWFkUmVzcG9uc2VTZXJpYWxpemVyLnNlcmlhbGl6ZWRTaXplKCkgZm9yIGRpZ2VzdCByZWFkcyAoQ0FTU0FORFJBLTU0NzYpCiAqIGFsbG93cfmQHgAAAU/ePLJcABBncmVlbWVudCBjaGVja2luAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+0AAABAGZvciByaW5nIGludGVncml0eSB2ZXJpZmljYXRpb24gYW5kIAogICB2aXN1YWxpemF0aW9uIHdhcyBhZGRlZCB0byBjb250cmliIChDQVNTQU5EUkEtMjUyKQogKiBBZGQgRENRVU9SVU0sIERDUVVPUlVNU1lOQyBjb25zaXN0ZW5jeSBsZXZlbHMgYW5kIGNvcnJlc3BvbmRpbmcKICAgUmVwbGljYXRpb25TdHJhdGVneSAvIEVuZHBvaW50U25pdGNoIGNsYXNzZXMuICBFeHBlcmltZW50YWwuCiAgIChDQVNTQU5EUkEtNDkyKQogKiBXZWIgY2xpZW50IGnuVTi1AAABT948slwAECkKICogQ2hlY2sgc2NoZW0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7QAAAEAaXR5IHNldHRpbmcgKENBU1NBTkRSQS0zMTA0KQogKiBnZW5lcmF0ZSBoaW50cyBmb3IgcmVwbGljYXMgdGhhdCB0aW1lb3V0LCBub3QganVzdCByZXBsaWNhcyB0aGF0IGFyZSBrbm93bgogICB0byBiZSBkb3duIGJlZm9yZSBzdGFydGluZyAoQ0FTU0FORFJBLTIwMzQpCiAqIEFkZCB0aHJvdHRsaW5nIGZvciBpbnRlcm5vZGUgc3RyZWFtaW5nIChDQVNTQU5EUkEtMzA4MCkKICogbWFrZSB0aGUgcmVwYWlyIG9mIGEgcmFuZ2UgcmVwYWlyIGFsbCByZbBm2eIAAAFP3jyyXAAQKENBU1NBTkRSQS02OTYxKQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvtAAAAQBEUkEtMzAwNikKICogaWdub3JlIHNhdmVkIHJlcGxpY2F0aW9uX2ZhY3RvciBzdHJhdGVneV9vcHRpb24gZm9yIE5UUyAoQ0FTU0FORFJBLTMwMTEpCiAqIG1ha2Ugc3VyZSBwcmUtdHJ1bmNhdGUgQ0wgc2VnbWVudHMgYXJlIGRpc2NhcmRlZCAoQ0FTU0FORFJBLTI5NTApCgoKMC44LjMKICogYWRkIGFiaWxpdHkgdG8gZHJvcCBsb2NhbCByZWFkcy93cml0ZXMgdGhhdCBhcmUgZ29pbmcgdG8gdGltZW91dAogICAoQ0FTU0FORFJBLTI5NDMpCiAqIHJlyS1m8wAAAU/ePLJcABBnZXJUeXBlIChDQVNTQU5EAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+0AAABAGluZG93cyAoQ0FTU0FORFJBLTMzMTQpCiAqIGRlc2NyaWJlX3Jpbmcgc2hvdWxkIGluY2x1ZGUgZGF0YWNlbnRlci90b3BvbG9neSBpbmZvcm1hdGlvbiAoQ0FTU0FORFJBLTI4ODIpCiAqIFRocmlmdCBzb2NrZXRzIGFyZSBub3QgcHJvcGVybHkgYnVmZmVyZWQgKENBU1NBTkRSQS0zMjYxKQogKiBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCBmb3IgYnl0ZWJ1ZmZlcnV0aWwgY29tcGFyZSBmdW5jdGlvbiAoQ0FTU0FORFJBLTMyODYpCiAqIGFkZCBzeXNMXNFSAAABT948slwAECAoQ0FTU0FORFJBLTU2MTAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7QAAAEAbmRzIChDQVNTQU5EUkEtMjc0MCkKICogbG9nIHVuYXZhaWxhYmxlZXhjZXB0aW9uIGRldGFpbHMgYXQgZGVidWcgbGV2ZWwgKENBU1NBTkRSQS0yODU2KQogKiBleHBvc2UgZGF0YV9kaXIgdGhvdWdoIGpteCAoQ0FTU0FORFJBLTI3NzApCiAqIGRvbid0IGluY2x1ZGUgdG1wIGZpbGVzIGFzIHNzdGFibGUgd2hlbiBjcmVhdGUgY2ZzIChDQVNTQU5EUkEtMjkyOSkKICogbG9nIEphdmEgY2xhc3NwYXRoIG9uIHN0YXJ0dXAgKENBU1NBTkRSQS0yODk1KRzS3IkAHYXcIMZrXQAAAU/ePLJcABBBU1NBTkRSQS0yMTc1KQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+3AAABAENBU1NBTkRSQS0yNzgxKQogKiBBZGRlZCBzdXBwb3J0IGZvciBtYWtpbmcgYm9vdHN0cmFwIHJldHJ5IGlmIG5vZGVzIGZsYXAgKENBU1NBTkRSQS0yNjQ0KQogKiBBZGRlZCBzdGF0dXN0aHJpZnQgdG8gbm9kZXRvb2wgdG8gcmVwb3J0IGlmIHRocmlmdCBzZXJ2ZXIgaXMgcnVubmluZyAoQ0FTU0FORFJBLTI3MjIpCiAqIEZpeGVkIHJvd3MgYmVpbmcgY2FjaGVkIGlmIHRoZXkgZG8gbm90IGV4aXN0IChDQVNTQU5EUkEtMjcyMykKICogU3VwcG9ydCDWiJRrAAABT948slwAEHRlcyAoQ0FTU0FORFJBLTYAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7cAAAEAZHMgcGVyLUNGIGluc3RlYWQgb2YgZ2xvYmFsIAogICAoQ0FTU0FORFJBLTEwMDcsIDE2MzcpCiAqIGFkZCBjbGkgc3VwcG9ydCBmb3IgYmluYXJ5IGRhdGEgd2l0aG91dCBDZkRlZiBoaW50cyAoQ0FTU0FORFJBLTE2MDMpCiAqIGZpeCBidWlsZGluZyBTU1RhYmxlIHN0YXRpc3RpY3MgcG9zdC1zdHJlYW0gKENBU1NBTkRSQS0xNjIwKQogKiBmaXggcG90ZW50aWFsIGluZmluaXRlIGxvb3AgaW4gMmFyeSBpbmRleCBxdWVyaWVzIChDQVNTQU5EUkEtMUIs1rMAAAFP3jyyXAAQbnRlcm5hbCBDYXNzYW5kcgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvtwAAAQBoIGJlZm9yZSBzdWJtaXR0aW5nIGFub3RoZXIgKENBU1NBTkRSQS02NjgpCgoKMC41LjAgUkMxCiAqIEZpeCBwb3RlbnRpYWwgTlBFIGluIGdldF9yYW5nZV9zbGljZSAoQ0FTU0FORFJBLTYyMykKICogYWRkIENSQzMyIHRvIGNvbW1pdGxvZyBlbnRyaWVzIChDQVNTQU5EUkEtNjA1KQogKiBmaXggZGF0YSBzdHJlYW1pbmcgb24gd2luZG93cyAoQ0FTU0FORFJBLTYzMCkKICogR0MgY29tcGFjdGVkIHNzdGFibGVzIGFmdGVyIGNsZWFudXAgYW5kIGNvbIstKgAAAU/ePLJcABBvbi1jYWNoZS1wb2xsdXRpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+3AAABAHJhbWV0ZXIgKENBU1NBTkRSQS03MTcyKQogKiBGaXggSWxsZWdhbFN0YXRlRXhjZXB0aW9uIGluIENxbFBhZ2luZ1JlY29yZFJlYWRlciAoQ0FTU0FORFJBLTcxOTgpCiAqIEZpeCB0aGUgSW52ZXJ0ZWRJbmRleCB0cmlnZ2VyIGV4YW1wbGUgKENBU1NBTkRSQS03MjExKQogKiBBZGQgLS1yZXNvbHZlLWlwIG9wdGlvbiB0byAnbm9kZXRvb2wgcmluZycgKENBU1NBTkRSQS03MjEwKQogKiByZWR1Y2UgZ2FyYmFnZSBvbiBjb2RlYyBmbGFnIGRlc2VyaWHOlSRbAAABT948slwAEE1UQUJMRV9MSUZFVElNRV8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7cAAAEAb24gKENBU1NBTkRSQS04OTM0KQogKiBTdG9wIGxvZ2dpbmcgcmFuZ2UgdG9tYnN0b25lcyB3aGVuIGV4Y2VlZGluZyB0aGUgdGhyZXNob2xkCiAgIChDQVNTQU5EUkEtODU1OSkKICogRml4IE51bGxQb2ludGVyRXhjZXB0aW9uIHdoZW4gbm9kZXRvb2wgZ2V0ZW5kcG9pbnRzIGlzIHJ1bgogICBhZ2FpbnN0IGludmFsaWQga2V5c3BhY2VzIG9yIHRhYmxlcyAoQ0FTU0FORFJBLTg5NTApCiAqIEFsbG93IHNwZWNpZnlpbmcgdGhlIHRtcCBkaXIgKENBU2Bcp60AAAFP3jyyXAAQQU5EUkEtMzkzMykKICogKAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvtwAAAQBpbGllcyAoQ0FTU0FORFJBLTM0MTUpCiAqIE1ha2UgY291bnRlciBzaGFyZCBtZXJnaW5nIHRocmVhZCBzYWZlIChDQVNTQU5EUkEtMzE3OCkKICogUmV2ZXJ0IENBU1NBTkRSQS0yODU1CiAqIEZpeCBidWcgcHJldmVudGluZyB0aGUgdXNlIG9mIGVmZmljaWVudCBjcm9zcy1EQyB3cml0ZXMgKENBU1NBTkRSQS0zNDcyKQogKiBgZGVzY3JpYmUgcmluZ2AgY29tbWFuZCBmb3IgQ0xJIChDQVNTQU5EUkEtMzIyMCkKICogKEhhZG9vcCkgc2tpcCBlbXB0KUxq8AAAAU/ePLJcABAgbG9zcyBvZiAybmRhcnkgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+3AAABACB3aXRoIHRoZSBzYW1lIG5hbWUKICAgdGhhbiBhIHByZXZpb3VzbHkgZHJvcHBlZCBvbmUgKENBU1NBTkRSQS02Mjc2KQogKiBGaXggdmFsaWRhdGlvbiB3aGVuIGFkZGluZyBzdGF0aWMgY29sdW1ucyAoQ0FTU0FORFJBLTc3MzApCiAqIChUaHJpZnQpIGZpeCByYW5nZSBkZWxldGlvbiBvZiBzdXBlcmNvbHVtbnMgKENBU1NBTkRSQS03NzMzKQogKiBGaXggcG90ZW50aWFsIEFzc2VydGlvbkVycm9yIGluIFJhbmdlVG9tYnN0b25lTGlzdCAoQ0FTU0EOBdaqAAABT948slwAEG5lIHRvb2xzIChDQVNTQU4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7cAAAEAUkEtNTE0NSkKICogZml4IGdldF9jb3VudCByZXR1cm5zIGluY29ycmVjdCB2YWx1ZSB3aXRoIFRUTCAoQ0FTU0FORFJBLTUwOTkpCiAqIGJldHRlciBoYW5kbGluZyBmb3IgbWlkLWNvbXBhY3Rpb24gZmFpbHVyZSAoQ0FTU0FORFJBLTUxMzcpCiAqIGNvbnZlcnQgZGVmYXVsdCBtYXJzaGFsbGVycyBsaXN0IHRvIG1hcCBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5IChDQVNTQU5EUkEtNTEwOSkKICogZml4IENvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcO51WBgAAAFP3jyyXAAQYW5nZSB0b21ic3RvbmVzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvtwAAAQBEUkEtMjkwNykKICogYWRkIHNpbXBsaWZpZWQgZmFjYWRlIHRvIFNTVGFibGVXcml0ZXIgZm9yIGJ1bGsgbG9hZGluZyB1c2UKICAgKENBU1NBTkRSQS0yOTExKQogKiBmaXggcmUtdXNpbmcgaW5kZXggQ0Ygc3N0YWJsZSBuYW1lcyBhZnRlciBkcm9wL3JlY3JlYXRlIChDQVNTQU5EUkEtMjg3MikKICogcHJlcGVuZCBDRiB0byBkZWZhdWx0IGluZGV4IG5hbWVzIChDQVNTQU5EUkEtMjkwMykKICogZml4IGhpbnQgcmVwbGF5IChDQVNTQU5EUkEtMjkyWYpomwAAAU/ePLJcABBEUkEtMTU0OSkKICogc3VwAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+3AAABAHBpcmF0aW9uCiAgIChDQVNTQU5EUkEtNTE0OSkKICogU3RyZWFtaW5nIDIuMCAoQ0FTU0FORFJBLTUyODYsIDU2OTkpCiAqIENvbmRpdGlvbmFsIGNyZWF0ZS9kcm9wIGtzL3RhYmxlL2luZGV4IHN0YXRlbWVudHMgaW4gQ1FMMyAoQ0FTU0FORFJBLTI3MzcpCiAqIG1vcmUgcHJlLXRhYmxlIGNyZWF0aW9uIHByb3BlcnR5IHZhbGlkYXRpb24gKENBU1NBTkRSQS01NjkzKQogKiBSZWRlc2lnbiByZXBhaXIgbWVzc2FnZXMgKENBU1NBTkRSQS01NDI2KQoRNjl9AAABT948slwAEGdlZCBmcm9tIDIuMDoKICoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7cAAAEAZyBMT0NBTF9RVU9SVU0gd2l0aCBTaW1wbGVTdHJhdGVneSAoQ0FTU0FORFJBLTY1NDUpCiAqIEF2b2lkIFN0YWNrT3ZlcmZsb3cgd2hlbiB1c2luZyBsYXJnZSBJTiBxdWVyaWVzIChDQVNTQU5EUkEtNjU2NykKICogTm9kZXRvb2wgdXBncmFkZXNzdGFibGVzIGluY2x1ZGVzIHNlY29uZGFyeSBpbmRleGVzIChDQVNTQU5EUkEtNjU5OCkKICogUGFnaW5hdGUgYmF0Y2hsb2cgcmVwbGF5IChDQVNTQU5EUkEtNjU2OSkKICogc2tpcCBibG9ja2luZyBvbvAt1R8AAAFP3jyyXAAQbGkgInNob3cga2V5c3BhYwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvtwAAAQBzc2luZyBDb25zaXN0ZW5jeUxldmVscyB0byBjYXNzYW5kcmEtc3RyZXNzIChDQVNTQU5EUkEtODI1MykKICogQWRkIGF1dGggc3VwcG9ydCB0byBjYXNzYW5kcmEtc3RyZXNzIChDQVNTQU5EUkEtNzk4NSkKICogRml4IEFycmF5SW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbiB3aGVuIGdlbmVyYXRpbmcgZXJyb3IgbWVzc2FnZQogICBmb3Igc29tZSBDUUwgc3ludGF4IGVycm9ycyAoQ0FTU0FORFJBLTg0NTUpCiAqIFNjYWxlIG1lbXRhYmxlIHNsYWIgnAUEdAAAAU/ePLJcABBlcHRpb25zIGZyb20gSk1YAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+3AAABAHJ0aXRpb25lciB0b2tlbnMgKENBU1NBTkRSQS04MjMwKQogKiBJbXByb3ZlIGNvbXBhY3Rpb24gb2YgcmVwYWlyZWQvdW5yZXBhaXJlZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTgwMDQpCiAqIE1ha2UgY2FjaGUgc2VyaWFsaXplcnMgcGx1Z2dhYmxlIChDQVNTQU5EUkEtODA5NikKICogRml4IGlzc3VlcyB3aXRoIENPTlRBSU5TIChLRVkpIHF1ZXJpZXMgb24gc2Vjb25kYXJ5IGluZGV4ZXMKICAgKENBU1NBTkRSQS04MTQ3KQogKiBGaXggcmVhZC1yYXTrGs4gAAABT948slwAECsgbG9hZGluZyBjYWNoZXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7cAAAEAQS02NjEzKQogKiBmaXggbm9kZXRvb2wgZ2V0c3N0YWJsZXMgZm9yIGJsb2IgUEsgKENBU1NBTkRSQS02ODAzKQogKiBGaXggQmF0Y2hsb2dNYW5hZ2VyI2RlbGV0ZUJhdGNoKCkgdXNlIG9mIG1pbGxpc2Vjb25kIHRpbWVzdGFtcHMKICAgKENBU1NBTkRSQS02ODIyKQogKiBDb250aW51ZSBhc3Nhc3NpbmF0aW5nIGV2ZW4gaWYgdGhlIGVuZHBvaW50IHZhbmlzaGVzIChDQVNTQU5EUkEtNjc4NykKICogU2NoZWR1bGUgc2NoZW1hIHB1bGxzIG9uIGNoYTqFM+QAAAFP3jyyXAAQKENBU1NBTkRSQS00NDM5KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvtwAAAQAgcm93cyAoQ0FTU0FORFJBLTIyOTYpCiAqIGZpeCBhc3NlcnRpb24gZXJyb3IgaW4gcmFuZ2UgYW5kIGluZGV4IHNjYW5zIGZvciBDTCA8IEFMTAogICAoQ0FTU0FORFJBLTIyODIpCiAqIGZpeCBjb21taXRsb2cgcmVwbGF5IHdoZW4gZmx1c2ggcG9zaXRpb24gcmVmZXJzIHRvIGRhdGEgdGhhdCBkaWRuJ3QKICAgZ2V0IHN5bmNlZCBiZWZvcmUgc2VydmVyIGRpZWQgKENBU1NBTkRSQS0yMjg1KQogKiBmaXggZmQgbGVhayBpbiBzc3RhYmxlMmpzb24g+Lwr/gAdmpEfyb22AAABT948slwAEGluZyBzc3RhYmxlcyBpZiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7kAAAEAMjI5NCkKICogdXBkYXRlIG1lbXRhYmxlX3Rocm91Z2hwdXQgdG8gYmUgYSBsb25nIChDQVNTQU5EUkEtMjE1OCkKCgowLjcuMwogKiBLZWVwIGVuZHBvaW50IHN0YXRlIHVudGlsIGFWZXJ5TG9uZ1RpbWUgKENBU1NBTkRSQS0yMTE1KQogKiBsb3dlci1sYXRlbmN5IHJlYWQgcmVwYWlyIChDQVNTQU5EUkEtMjA2OSkKICogYWRkIGhpbnRlZF9oYW5kb2ZmX3Rocm90dGxlX2RlbGF5X2luX21zIG9wdGlvbiAoQ0FTU0FORFJBLTIxNjEpCiAqIGZpeGVzIBvg3J8AAAFP3jyyXAAQZGQgYmF0Y2hfbXV0YXRlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvuQAAAQB0IGV4aXN0IChDQVNTQU5EUkEtMjE2OCkKICogYWRkIGluY3JlbWVudGFsX2JhY2t1cHMgb3B0aW9uIChDQVNTQU5EUkEtMTg3MikKICogYWRkIGNvbmZpZ3VyYWJsZSByb3cgbGltaXQgdG8gUGlnIGxvYWRmdW5jIChDQVNTQU5EUkEtMjI3NikKICogdmFsaWRhdGUgY29sdW1uIHZhbHVlcyBpbiBiYXRjaGVzIGFzIHdlbGwgYXMgc2luZ2xlLUNvbHVtbiBpbnNlcnRzCiAgIChDQVNTQU5EUkEtMjI1OSkKICogbW92ZSBzYW1wbGUgc2NoZW1hIGZyb20ggcf1YwAAAU/ePLJcABBtaWdyYXRpb24gc3RhZ2UgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+5AAABAGFuZ2UgdG9tYnN0b25lcyB3aXRoIHJldmVyc2UgcXVlcmllcyAoQ0FTU0FORFJBLTU3MTIpCiAqIEV4cGlyZSBlbnRyaWVzIG91dCBvZiBUaHJpZnRTZXNzaW9uTWFuYWdlciAoQ0FTU0FOUkRBLTU3MTkpCiAqIERvbid0IGtlZXAgYW5jZXN0b3IgaW5mb3JtYXRpb24gaW4gbWVtb3J5IChDQVNTQU5EUkEtNTM0MikKICogY3Fsc2g6IGZpeCBoYW5kbGluZyBvZiBzZW1pY29sb25zIGluc2lkZSBCQVRDSCBxdWVyaWVzIChDQVNTQU5EUkEtNTY5NykKCgqsvfqaAAABT948slwAEERSQS01MTU5KQpNZXJnZWQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7kAAAEAb3VsZCByZXBvcnQgbWVtb3J5IGNvbnN1bXB0aW9uIChDQVNTQU5EUkEtMzE1NSkKICogZml4IGZvciBTZWxlY3RTdGF0ZW1lbnQgc3RhcnQvZW5kIGtleSBhcmUgbm90IHNldCBjb3JyZWN0bHkKICAgd2hlbiBhIGtleSBhbGlhcyBpcyBpbnZvbHZlZCAoQ0FTU0FORFJBLTM3MDApCiAqIGZpeCBDTEkgYHNob3cgc2NoZW1hYCBjb21tYW5kIGluc2VydCBvZiBhbiBleHRyYSBjb21tYSBpbgogICBjb2x1bW5fbWV0YWRhdGEgKENBU1NBTkRSQS0zNzE0KdXaEdgAAAFP3jyyXAAQaWxlcyBmb3Igb2ZmbGluZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvuQAAAQAtNTc2MykKICogQWRkIHJlcGxhY2Vfbm9kZSBmdW5jdGlvbmFsaXR5IGZvciB2bm9kZXMgKENBU1NBTkRSQS01MzM3KQogKiBBZGQgdGltZW91dCBldmVudHMgdG8gcXVlcnkgdHJhY2VzIChDQVNTQU5EUkEtNTUyMCkKICogRml4IHNlcmlhbGl6YXRpb24gb2YgdGhlIExFRlQgZ29zc2lwIHZhbHVlIChDQVNTQU5EUkEtNTY5NikKICogUGlnOiBzdXBwb3J0IGZvciBjcWwzIHRhYmxlcyAoQ0FTU0FORFJBLTUyMzQpCiAqIEZpeCBza2lwcGluZyByYW5nhuef+gAAAU/ePLJcABAzOTEsIDM4MzIpCiAqIEFkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+5AAABAG1wbGlmaWVkIGZhY2FkZSB0byBTU1RhYmxlV3JpdGVyIGZvciBidWxrIGxvYWRpbmcgdXNlCiAgIChDQVNTQU5EUkEtMjkxMSkKICogZml4IHJlLXVzaW5nIGluZGV4IENGIHNzdGFibGUgbmFtZXMgYWZ0ZXIgZHJvcC9yZWNyZWF0ZSAoQ0FTU0FORFJBLTI4NzIpCiAqIHByZXBlbmQgQ0YgdG8gZGVmYXVsdCBpbmRleCBuYW1lcyAoQ0FTU0FORFJBLTI5MDMpCiAqIGZpeCBoaW50IHJlcGxheSAoQ0FTU0FORFJBLTI5MjgpCiAqIFByb3Blcmx5IHN5bmMJqmotAAABT948slwAEGQgKENBU1NBTkRSQS0zMTgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7kAAAEAZnVuY3Rpb24gKENBU1NBTkRSQS01MjI2KQogKiBGaXggZHJvcCBvZiBzc3RhYmxlcyBpbiBzb21lIGNpcmN1bXN0YW5jZSAoQ0FTU0FORFJBLTUyMzIpCiAqIEltcGxlbWVudCBjYWNoaW5nIG9mIGF1dGhvcml6YXRpb24gcmVzdWx0cyAoQ0FTU0FORFJBLTQyOTUpCiAqIEFkZCBzdXBwb3J0IGZvciBMWjQgY29tcHJlc3Npb24gKENBU1NBTkRSQS01MDM4KQogKiBGaXggbWlzc2luZyBjb2x1bW5zIGluIHdpZGUgcm93cyBxdWVyaWVzIChDQVNTQU5EUvJtMZgAAAFP3jyyXAAQbGluZyBxdWVyaWVzIHRoYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvuQAAAQBpbGllcyAoQ0FTU0FORFJBLTI2ODUpCiAqIGFkZCBwbGFjZWhvbGRlcnMgZm9yIG1pc3Npbmcgcm93cyBpbiByYW5nZSBxdWVyeSBwc2V1ZG8tUlIgKENBU1NBTkRSQS0yNjgwKQogKiByZW1vdmUgbm8tb3AgSEhPTS5yZW5hbWVIaW50cyAoQ0FTU0FORFJBLTI2OTMpCiAqIGNsb25lIHN1cGVyIGNvbHVtbnMgdG8gYXZvaWQgbW9kaWZ5aW5nIHRoZW0gZHVyaW5nIGZsdXNoIChDQVNTQU5EUkEtMjY3NSkKICogYWxsb3cgd3JpdGVzIHRvIGJ5cGFzcyB09furZQAAAU/ePLJcABAgaW4gCiAgIENvbHVtbkZhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+5AAABAGxpbWl0IChDQVNTQU5EUkEtMjQ2MykKICogZml4IGJhY2tzbGFzaCBzdWJzdGl0dXRpb25zIGluIENMSSAoQ0FTU0FORFJBLTI0OTIpCiAqIGRpc2FibGUgY2FjaGUgc2F2aW5nIGZvciBzeXN0ZW0gQ0ZTIChDQVNTQU5EUkEtMjUwMikKICogZml4ZXMgZm9yIHZlcmlmeWluZyBkZXN0aW5hdGlvbiBhdmFpbGFiaWxpdHkgdW5kZXIgaGludGVkIGNvbmRpdGlvbnMKICAgc28gVUUgY2FuIGJlIHRocm93biBpbnRlYWQgb2YgdGltaW5nIG91dCAoQ0FTU0E4MpgzAAABT948slwAEERSQS01ODEyKQogKiBmaXgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7kAAAEATkRSQS0yNzQzKQogICAtIHNlcnZlciBoYW5kbGVzIHdhaXQtZm9yLXNjaGVtYS1hZ3JlZW1lbnQgKENBU1NBTkRSQS0yNzU2KQogICAtIGtleSBhbGlhcyBzdXBwb3J0IChDQVNTQU5EUkEtMjQ4MCkKICogYWRkIHN1cHBvcnQgZm9yIGNvbXBhcmF0b3IgcGFyYW1ldGVycyBhbmQgYSBnZW5lcmljIFJldmVyc2VUeXBlCiAgIChDQVNTQU5EUkEtMjM1NSkKICogYWRkIENvbXBvc2l0ZVR5cGUgYW5kIER5bmFtaWNDb21wb3NpdGVUeXBlIChDQVNTQU5EUnL0qnMAAAFP3jyyXAAQciB0aGUgb2xkIAogICBwZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvuQAAAQAKICogY29weSBEZWNvcmF0ZWRLZXkua2V5IHdoZW4gaW5zZXJ0aW5nIGludG8gY2FjaGVzIHRvIGF2b2lkIHJldGFpbmluZwogICBhIHJlZmVyZW5jZSB0byB0aGUgdW5kZXJseWluZyBidWZmZXIgKENBU1NBTkRSQS0yMTAyKQogKiBmb3JtYXQgc3ViY29sdW1uIG5hbWVzIHdpdGggc3ViY29tcGFyYXRvciAoQ0FTU0FORFJBLTIxMzYpCiAqIGZpeCBjb2x1bW4gYmxvb20gZmlsdGVyIGRlc2VyaWFsaXphdGlvbiAoQ0FTU0FORFJBLTIxNjUpCgoKMC43UG6ztAAAAU/ePLJcABBlZSdkIG5hdGl2ZSBtZW1vAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+5AAABAGl0aWFsaXphdGlvbiBpbiBOb2RlSWQKICAgKENBU1NBTkRSQS0yOTUzKQogKiBhZGQgcGFnaW5nIHRvIGdldF9jb3VudCAoQ0FTU0FORFJBLTI4OTQpCiAqIGZpeCAic2hvcnQgcmVhZHMiIGluIFttdWx0aV1nZXQgKENBU1NBTkRSQS0yNjQzLCAzMTU3LCAzMTkyKQogKiBhZGQgb3B0aW9uYWwgY29tcHJlc3Npb24gZm9yIHNzdGFibGVzIChDQVNTQU5EUkEtNDcsIDI5OTQsIDMwMDEsIDMxMjgpCiAqIGFkZCBzY2hlZHVsZXIgSk1YIG1ldHJpY3MgKEM0XZd4AAABT948slwAEHMgbG9jYWwgcGF1c2VzICgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7kAAAEAKQogKiBBdm9pZCBkcm9wcGluZyBtZXNzYWdlcyBvZmYgdGhlIGNsaWVudCByZXF1ZXN0IHBhdGggKENBU1NBTkRSQS0xNjc2KQogKiBmaXggam5hIGVycm5vIHJlcG9ydGluZyAoQ0FTU0FORFJBLTE2OTQpCiAqIGFkZCBmcmllbmRsaWVyIGVycm9yIGZvciBVbmtub3duSG9zdEV4Y2VwdGlvbiBvbiBzdGFydHVwIChDQVNTQU5EUkEtMTY5NykKICogaW5jbHVkZSBqbmEgZGVwZW5kZW5jeSBpbiBSUE0gcGFja2FnZSAoQ0FTU0FORFJBLTE2OTApCiAqIJcfXekAAAFP3jyyXAAQY2Vfbm9kZSBmdW5jdGlvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvuQAAAQBvdW50IHRvIFNFTEVDVCBvdXRwdXQgKENBU1NBTkRSQS01NjM2KQogKiBJbmNsdWRlIGEgdGltZXN0YW1wIHdpdGggYWxsIHJlYWQgY29tbWFuZHMgdG8gZGV0ZXJtaW5lIGNvbHVtbiBleHBpcmF0aW9uCiAgIChDQVNTQU5EUkEtNTE0OSkKICogU3RyZWFtaW5nIDIuMCAoQ0FTU0FORFJBLTUyODYsIDU2OTkpCiAqIENvbmRpdGlvbmFsIGNyZWF0ZS9kcm9wIGtzL3RhYmxlL2luZGV4IHN0YXRlbWVudHMgaW4gQ1FMMyAoQ0FTU0FORFJBLTI3MzcpCiAqN1QMlwAAAU/ePLJcABAgYW5kIHdhaXQgZm9yIGxhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+5AAABAGlzIG5vdyBhIGd1aWRlbGluZSwgbm90IGEgcnVsZSAoQ0FTU0FORFJBLTg5OTMpCiAqIFVzZSBjb3JyZWN0IGJvdW5kcyBmb3IgcGFnZSBjYWNoZSBldmljdGlvbiBvZiBjb21wcmVzc2VkIGZpbGVzIChDQVNTQU5EUkEtODc0NikKICogU1NUYWJsZVNjYW5uZXIgZW5mb3JjZXMgaXRzIGJvdW5kcyAoQ0FTU0FORFJBLTg5NDYpCiAqIENsZWFudXAgY2VsbCBlcXVhbGl0eSAoQ0FTU0FORFJBLTg5NDcpCiAqIEludHJvZHVjZSBpbnRyYS1jbHVzdGVyIG1Rsb7lAAAATF4u0qcAIQAGc3lzdGVtAAAOc2NoZW1hX2NvbHVtbnMAAAQAAAAHAAAAAAEBWh/yZ6zgPxKFY8+uYQPGXlVTZnIABRX31fpukAAAAAAAAAAAlbMxDwAdru7a/o4FAAABT948slwAECBidWxrLWxvYWRpbmcgY28AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7sAAAEAZmx1c2ggb2Ygc3RhdHVzIHRhYmxlIHdoZW4gcmVtb3ZpbmcvdXBkYXRpbmcgdG9rZW4gKENBU1NBTkRSQS0zMjQzKQogKiBFdmljdCBnb3NzaXAgc3RhdGUgaW1tZWRpYXRlbHkgd2hlbiBhIHRva2VuIGlzIHRha2VuIG92ZXIgYnkgYSBuZXcgSVAgKENBU1NBTkRSQS0zMjU5KQogKiBGaXggYnVnIHdoZXJlIHRoZSBmYWlsdXJlIGRldGVjdG9yIGNhbiB0YWtlIHRvbyBsb25nIHRvIG1hcmsgYSBob3N0CiAgIGRvd24gKENBU1NBTkRSQS0zMjczKQogKpsiezAAAAFP3jyyXAAQc3VwcG9ydCAoQ0FTU0FORAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvuwAAAQBkIGtleXNwYWNlcyAoQ0FTU0FORFJBLTExMTEpCiAqIGZpeCBjYWNoZSBzaXplIGNhbGN1bGF0aW9uIGZvciBzaXplIG9mIDEwMCUgKENBU1NBTkRSQS0xMTI5KQogKiBmaXggY2FjaGUgY2FwYWNpdHkgb25seSBiZWluZyByZWNhbGN1bGF0ZWQgb25jZSAoQ0FTU0FORFJBLTExMjkpCiAqIHJlbW92ZSBob3VybHkgc2NhbiBvZiBhbGwgaGludHMgb24gdGhlIG9mZiBjaGFuY2UgdGhhdCB0aGUgZ29zc2lwZXIKICAgbWlzc2VkIGEgc3RhdHVzIGNoYW5nCi6PkwAAAU/ePLJcABAgIGluIHRoZSBzYW1lIGNsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+7AAABAGl2ZWx5IHVuaXF1ZSAoQ0FTU0FORFJBLTMwNjYpCiAqIGNhdGNoIGludmFsaWQga2V5X3ZhbGlkYXRpb25fY2xhc3MgYmVmb3JlIGluc3RhbnRpYXRpbmcgVXBkYXRlQ29sdW1uRmFtaWx5IChDQVNTQU5EUkEtMzEwMikKICogbWFrZSBSYW5nZSBhbmQgQm91bmRzIG9iamVjdHMgY2xpZW50LXNhZmUgKENBU1NBTkRSQS0zMTA4KQogKiBvcHRpb25hbGx5IHNraXAgbG9nNGogY29uZmlndXJhdGlvbiAoQ0FTU0FORFJBLTMwNjEpCiAqIGJ1bmRsZSBzc3RTXSvhAAABT948slwAEHhjZXB0aW9uIGFnYWluc3QAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7sAAAEAQU5EUkEtODQyOSkKICogUnVuIG1ham9yIGNvbXBhY3Rpb25zIGZvciByZXBhaXJlZC91bnJlcGFpcmVkIGluIHBhcmFsbGVsIChDQVNTQU5EUkEtODUxMCkKICogKGNxbHNoKSBGaXggY29tcHJlc3Npb24gb3B0aW9ucyBpbiBERVNDUklCRSBUQUJMRSBvdXRwdXQgd2hlbiBjb21wcmVzc2lvbgogICBpcyBkaXNhYmxlZCAoQ0FTU0FORFJBLTgyODgpCiAqIChjcWxzaCkgRml4IERFU0NSSUJFIG91dHB1dCBhZnRlciBrZXlzcGFjZXMgYXJlIGFsdGVyZVsgzdIAAAFP3jyyXAAQRFJBLTI5NjQpCiAqIChIYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvuwAAAQBVSURHZW4gdG8gYXZvaWQgbG9jayBjb250ZW50aW9uIG9uIEluZXRBZGRyZXNzLmdldExvY2FsSG9zdCAKICAgKENBU1NBTkRSQS0zMzg3KQogKiB0b2xlcmF0ZSBpbmRleCBiZWluZyBkcm9wcGVkIG1pZC1tdXRhdGlvbiAoQ0FTU0FORFJBLTMzMzQsIDMzMTMpCiAqIENvbXBhY3Rpb25NYW5hZ2VyIGlzIG5vdyByZXNwb25zaWJsZSBmb3IgY2hlY2tpbmcgZm9yIG5ldyBjYW5kaWRhdGVzCiAgIHBvc3QtdGFzayBleGVjdXRpb24sIGVuYWJsaW5nIG1v/U04rwAAAU/ePLJcABB1cnJlbnRNb2RpZmljYXRpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+7AAABACogKEhhZG9vcCkgQWRkIENxbE91dHB1dEZvcm1hdCAoQ0FTU0FORFJBLTY5MjcpCiAqIERvbid0IGRlcGVuZCBvbiBjYXNzYW5kcmEgY29uZmlnIGZvciBub2RldG9vbCByaW5nIChDQVNTQU5EUkEtNzUwOCkKICogKGNxbHNoKSBGaXggZmFpbGluZyBjcWxzaCBmb3JtYXR0aW5nIHRlc3RzIChDQVNTQU5EUkEtNzcwMykKICogRml4IEluY29tcGF0aWJsZUNsYXNzQ2hhbmdlRXJyb3IgZnJvbSBoYWRvb3AyIChDQVNTQU5EUkEtNzIyOSkKICogQWRkICdXrq09AAABT948slwAECBhZGRpbmcgY29sdW1uIHcAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7sAAAEAQU5EUkEtMTg5NikKICogY2hlY2sgbG9nNGogY29uZmlndXJhdGlvbiBmb3IgY2hhbmdlcyBldmVyeSAxMHMgKENBU1NBTkRSQS0xNTI1LCAxOTA3KQogKiBtb3JlLWVmZmljaWVudCBjcm9zcy1EQyByZXBsaWNhdGlvbiAoQ0FTU0FORFJBLTE1MzAsIC0yMDUxLCAtMjEzOCkKICogYXZvaWQgcG9sbHV0aW5nIHBhZ2UgY2FjaGUgd2l0aCBjb21taXRsb2cgb3Igc3N0YWJsZSB3cml0ZXMKICAgYW5kIHNlcSBzY2FuIG9wZXJhdGlvbnMgKENBU1NBTkRSQcNaXIIAAAFP3jyyXAAQcmF0aW9uIGxvZ2ljIHRvIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvuwAAAQBvc2Ugb2ZmLWhlYXAgbWVtb3J5IHVzYWdlIHN0YXRzIChDQVNTQU5EUkEtNzg5NykKICogSWdub3JlIFBheG9zIGNvbW1pdHMgZm9yIHRydW5jYXRlZCB0YWJsZXMgKENBU1NBTkRSQS03NTM4KQogKiBWYWxpZGF0ZSBzaXplIG9mIGluZGV4ZWQgY29sdW1uIHZhbHVlcyAoQ0FTU0FORFJBLTgyODApCiAqIE1ha2UgTENTIHNwbGl0IGNvbXBhY3Rpb24gcmVzdWx0cyBvdmVyIGFsbCBkYXRhIGRpcmVjdG9yaWVzIChDQVNTQU5EUkEtODMyOSkKICogRml4nSCpJQAAAU/ePLJcABBmYXVsdCBoc2hhIHRocmlmAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+7AAABAG1vcnkgb24gYXJjaGl0ZWN0dXJlcyB0aGF0IGRvIG5vdCBzdXBwb3J0IHVuYWxpZ25lZCBsb25nIGFjY2VzcwogICAoQ0FTU0FORFJBLTY2MjgpCiAqIExldCBzY3J1YiBvcHRpb25hbGx5IHNraXAgYnJva2VuIGNvdW50ZXIgcGFydGl0aW9ucyAoQ0FTU0FORFJBLTU5MzApCk1lcmdlZCBmcm9tIDEuMjoKICogZnN5bmMgY29tcHJlc3Npb24gbWV0YWRhdGEgKENBU1NBTkRSQS02NTMxKQogKiBWYWxpZGF0ZSBDRiBleGlzdGVuY2Ugb24gZXhlY3V0aW+R2w7CAAABT948slwAEC1yYzQKICogZml4IGNsaSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7sAAAEATQogICBkdXJpbmcgbG9nIHJlcGxheSAoQ0FTU0FORFJBLTg4NSkKICogVXNlIG1pY3Jvc2Vjb25kcy1zaW5jZS1lcG9jaCAoVVRDKSBpbiBjbGksIGluc3RlYWQgb2YgbWlsbGlzZWNvbmRzCiAqIFRyZWF0IGJhdGNoX211dGF0ZSBEZWxldGlvbiB3aXRoIG51bGwgc3VwZXJjb2x1bW4gYXMgImFwcGx5IHRoaXMgcHJlZGljYXRlIAogICB0byB0b3AgbGV2ZWwgc3VwZXJjb2x1bW5zIiAoQ0FTU0FORFJBLTgzNCkKICogU3RyZWFtaW5nIGRlc3RpbmF0adCnBHoAAAFP3jyyXAAQZyB3cml0ZXMgKENBU1NBTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvuwAAAQByYW5nZSAoQ0FTU0FORFJBLTc5ODMpCiAqIEZpeCB1bml0IGluIG5vZGV0b29sIGZvciBzdHJlYW1pbmcgdGhyb3VnaHB1dCAoQ0FTU0FORFJBLTczNzUpCk1lcmdlZCBmcm9tIDEuMjoKICogRG9uJ3QgaW5kZXggdG9tYnN0b25lcyAoQ0FTU0FORFJBLTc4MjgpCiAqIEltcHJvdmUgUGFzc3dvcmRBdXRoZW50aWNhdG9yIGRlZmF1bHQgc3VwZXIgdXNlciBzZXR1cCAoQ0FTU0FORFJBLTc3ODgpCgoKMi4xLjAKICogKGNxbHNoKSBSZW1vdmVkICJBTFRF9127QAAAAU/ePLJcABAgUElUUiBjb21taXRsb2cgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+7AAABAGlzdCAoQ0FTU0FORFJBLTM2NDcpCiAqIFZhbGlkYXRlIGRhdGUgdHlwZSBjb3JyZWN0bHkgKENBU1NBTkRSQS00NDQxKQogKiAoY3FsMykgQWxsb3cgZGVmaW5pdGlvbnMgd2l0aCBvbmx5IGEgUEsgKENBU1NBTkRSQS00MzYxKQogKiAoY3FsMykgQWRkIHN1cHBvcnQgZm9yIHJvdyBrZXkgY29tcG9zaXRlcyAoQ0FTU0FORFJBLTQxNzkpCiAqIGltcHJvdmUgRHluYW1pY0VuZHBvaW50U25pdGNoIGJ5IHVzaW5nIHJlc2Vydm9pciBzYW1wbGluZyAoQ0EwcmzZAAABT948slwAEHcgc2VtYW50aWNzIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL7sAAAEAMikKICogU2V0IEpNWCBSTUkgcG9ydCB0byA3MTk5IChDQVNTQU5EUkEtNzA4NykKICogVXNlIExPQ0FMX1FVT1JVTSBmb3IgZGF0YSByZWFkcyBhdCBMT0NBTF9TRVJJQUwgKENBU1NBTkRSQS02OTM5KQogKiBMb2cgYSB3YXJuaW5nIGZvciBsYXJnZSBiYXRjaGVzIChDQVNTQU5EUkEtNjQ4NykKICogUHV0IG5vZGVzIGluIGhpYmVybmF0ZSB3aGVuIGpvaW5fcmluZyBpcyBmYWxzZSAoQ0FTU0FORFJBLTY5NjEpCiAqIEF2b2lkIGVhcmx5IGxvYWRpbuza05cAAAFP3jyyXAAQdXN0b20gUmVwbGljYXRpbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvuwAAAQBhdXRoZW50aWNhdGlvbi9hdXRob3JpemF0aW9uIChDQVNTQU5EUkEtOTAwKQogKiBhZGQgUmVhZFJlcGFpckNoYW5jZSB0byBDRiBkZWZpbml0aW9uIChDQVNTQU5EUkEtOTMwKQogKiBmaXggaGVpc2VuYnVnIGluIHN5c3RlbSB0ZXN0cywgZXNwZWNpYWxseSBjb21tb24gb24gT1MgWCAoQ0FTU0FORFJBLTk0NCkKICogY29udmVydCB0byBieXRlW10ga2V5cyBpbnRlcm5hbGx5IGFuZCBhbGwgcHVibGljIEFQSXMgKENBU1NBTkRSQS03NjcpCiAqIGFid2Od1AAAAU/ePLJcABB0dGluZyBmb3IgZnVuY3RpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+7AAABAAogKiBhZGQgb3B0aW9uYWwgc29ja2V0IHRpbWVvdXQgZm9yIHN0cmVhbWluZyAoQ0FTU0FORFJBLTM4MzgpCiAqIGZpeCB0cnVuY2F0ZSBub3QgdG8gbGVhdmUgYmVoaW5kIG5vbi1DRlMgYmFja2VkIHNlY29uZGFyeSBpbmRleGVzCiAgIChDQVNTQU5EUkEtMzg0NCkKICogbWFrZSBDTEkgYHNob3cgc2NoZW1hYCB0byB1c2Ugb3V0cHV0IHN0cmVhbSBkaXJlY3RseSBpbnN0ZWFkCiAgIG9mIFN0cmluZ0J1aWxkZXIgKENBU1NBTkRSQS0zODQyKQogKiCbV8j2AB3DS6FuEV8AAAFP3jyyXAAQQU5EUkEtNDA1KQogKiB1cAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvvQAAAQBvbiBWTSBlbnZpcm9ubWVudHMuIENhc3NhbmRyYSBzaG91bGQgZGVwbG95CiAgIGZpbmUgb24gRUMyIG5vdwogKiBNdWNoIGltcHJvdmVkIGluZnJhc3RydWN0dXJlOiB0aGUgYmVnaW5uaW5ncyBvZiBhIGRlY2VudCB0ZXN0IHN1aXRlCiAgICgiYW50IHRlc3QiIGZvciB1bml0IHRlc3RzOyAibm9zZXRlc3RzIiBmb3Igc3lzdGVtIHRlc3RzKSwgY29kZQogICBjb3ZlcmFnZSByZXBvcnRpbmcsIGV0Yy4KICogRXhwYW5kZWQgbm9kZSBzdGF0dXMgcmVweDeBJgAAAU/ePLJcABAyOTcpCiAqIE1vdmUgU2ltAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+9AAABAHRpYXRpbmcgRGF0YWJhc2VEZXNjcmlwdG9yIGluIEpEQkMgKENBU1NBTkRSQS0yNjk0KQogKiBmaXggcG90ZW50aWFsIHN0YWNrIG92ZXJmbG93IGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtMjYyNikKICogY2xvbmUgc3VwZXIgY29sdW1ucyB0byBhdm9pZCBtb2RpZnlpbmcgdGhlbSBkdXJpbmcgZmx1c2ggKENBU1NBTkRSQS0yNjc1KQogKiByZXNldCB1bmRlcmx5aW5nIGl0ZXJhdG9yIGluIEVjaG9lZFJvdyBjb25zdHJ1Y3RvciAoQ0FTU0HCj1kgAAABT948slwAEHMgcHVzaCB0byBiaW5hcnkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL70AAAEAbml0Y2ggKENBU1NBTkRSQS03MTMyKQogKiByZW1vdmUgZHVwbGljYXRlIHF1ZXJ5IGZvciBsb2NhbCB0b2tlbnMgKENBU1NBTkRSQS03MTgyKQogKiBleGl0IENRTFNIIHdpdGggZXJyb3Igc3RhdHVzIGNvZGUgaWYgc2NyaXB0IGZhaWxzIChDQVNTQU5EUkEtNjM0NCkKICogRml4IGJ1ZyB3aXRoIHNvbWUgSU4gcXVlcmllcyBtaXNzaWcgcmVzdWx0cyAoQ0FTU0FORFJBLTcxMDUpCiAqIEZpeCBhdmFpbGFiaWxpdHkgdmFsaWRhdGlvbiBmb3IgTE9DQbrhuMsAAAFP3jyyXAAQbiBsb25nLXJ1bm5pbmcgaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvvQAAAQBTU0FORFJBLTEzNzcpCiAqIHVzZSBKTkEsIGlmIHByZXNlbnQsIHRvIHRha2Ugc25hcHNob3RzIChDQVNTQU5EUkEtMTM3MSkKICogdHJ1bmNhdGUgaGludHMgaWYgc3RhcnRpbmcgMC43IGZvciB0aGUgZmlyc3QgdGltZSAoQ0FTU0FORFJBLTE0MTQpCiAqIGZpeCBGRCBsZWFrIGluIHNpbmdsZS1yb3cgc2xpY2VwcmVkaWNhdGUgcXVlcmllcyAoQ0FTU0FORFJBLTE0MTYpCiAqIGFsbG93IGluZGV4IGV4cHJlc3Npb25zIGFnYWluc3QgY29sdW1ucyB0THq0NAAAAU/ePLJcABA3OSkKICogYmV0dGVyIGRlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+9AAABADEpCiAqIGNyZWF0ZSBFbmRwb2ludFNuaXRjaEluZm8gYW5kIE1CZWFuIHRvIGV4cG9zZSByYWNrIGFuZCBEQyAoQ0FTU0FORFJBLTE0OTEpCiAqIGFkZGVkIG9wdGlvbiB0byBjb250cmliL3dvcmRfY291bnQgdG8gb3V0cHV0IHJlc3VsdHMgYmFjayB0byBDYXNzYW5kcmEKICAgKENBU1NBTkRSQS0xMzQyKQogKiByZXdyaXRlIEhhZG9vcCBDb2x1bW5GYW1pbHlSZWNvcmRXcml0ZXIgdG8gcG9vbCBjb25uZWN0aW9ucywgcmV0cnkgdG8KICAgbXVsdGl3PCsTAAABT948slwAEChDQVNTQU5EUkEtNDkyNSkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL70AAAEALTgwNTcpCiAqIFNTTCBkb2VzIG5vdCB3b3JrIGluIGNhc3NhbmRyYS1jbGkgKENBU1NBTkRSQS03ODk5KQogKiBGaXggcG90ZW50aWFsIGV4Y2VwdGlvbiB3aGVuIHVzaW5nIFJldmVyc2VkVHlwZSBpbiBEeW5hbWljQ29tcG9zaXRlVHlwZQogICAoQ0FTU0FORFJBLTc4OTgpCiAqIEJldHRlciB2YWxpZGF0aW9uIG9mIGNvbGxlY3Rpb24gdmFsdWVzIChDQVNTQU5EUkEtNzgzMykKICogVHJhY2sgbWluL21heCB0aW1lc3RhbXBzIGNvcnJlY3RseSAoQ+yvZTEAAAFP3jyyXAAQdCBhbmQgY29tcGFjdGlvbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvvQAAAQAgKENBU1NBTkRSQS0xMDU3KQogKiBwcmVmZXIgc3VuIGpkayB0byBvcGVuamRrIGluIGRlYmlhbiBpbml0IHNjcmlwdCAoQ0FTU0FORFJBLTExNzQpCiAqIGRldGVjdCBwYXJ0aW9uZXIgY29uZmlnIGNoYW5nZXMgYmV0d2VlbiByZXN0YXJ0cyBhbmQgZmFpbCBmYXN0IAogICAoQ0FTU0FORFJBLTExNDYpCiAqIHVzZSBnZW5lcmF0aW9uIHRpbWUgdG8gcmVzb2x2ZSBub2RlIHRva2VuIHJlYXNzaWdubWVudCBkaXNhZ3JlZW1lbnRzCiAgIChDQVNTQU5EB5dG3AAAAU/ePLJcABBBU1NBTkRSQS03NzE2KQogAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+9AAABAGFtcCBmb3Igcm93IGRlbGV0ZXMgYW5kIHByZS0xLjEuMSBzc3RhYmxlcyAoQ0FTU0FORFJBLTUxNTMpCiAqIEZpeCB0aHJlYWQgZ3Jvd3RoIG9uIG5vZGUgcmVtb3ZhbCAoQ0FTU0FORFJBLTUxNzUpCiAqIE1ha2UgRWMyUmVnaW9uJ3MgZGF0YWNlbnRlciBuYW1lIGNvbmZpZ3VyYWJsZSAoQ0FTU0FORFJBLTUxNTUpCgoKMS4yLjAKICogRGlzYWxsb3cgY291bnRlcnMgaW4gY29sbGVjdGlvbnMgKENBU1NBTkRSQS01MDgyKQogKiBjcWxzaDogYWRkIHVRCyV+AAABT948slwAEGRlZCB0byBEZWJpYW4gcGEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL70AAAEAbiBvZiBzdGF0aWMgY2VsbHMgZnJvbSBzc3RhYmxlIChDQVNTQU5EUkEtNzY4NCkKICogRml4IE5QRSBvbiBjb21wYWN0aW9uIGxlZnRvdmVyIGNsZWFudXAgZm9yIGRyb3BwZWQgdGFibGUgKENBU1NBTkRSQS03NzcwKQpNZXJnZWQgZnJvbSAyLjA6CiAqIChjcWxzaCkgV2FpdCB1cCB0byAxMCBzZWMgZm9yIGEgdHJhY2luZyBzZXNzaW9uIChDQVNTQU5EUkEtNzIyMikKICogRml4IE5QRSBpbiBGaWxlQ2FjaGVTZXJ2aWNlLnNpemVJbkJ5dGVzIChDQZK+ewwAAAFP3jyyXAAQIGZpbGVzIChDQVNTQU5EUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvvQAAAQAgZnJvbSAyLjA6CiAqIFJlamVjdCBjb25kaXRpb25zIG9uIERFTEVURSB1bmxlc3MgZnVsbCBQSyBpcyBnaXZlbiAoQ0FTU0FORFJBLTY0MzApCiAqIFByb3Blcmx5IHJlamVjdCB0aGUgdG9rZW4gZnVuY3Rpb24gREVMRVRFIChDQVNTQU5EUkEtNzc0NykKICogRm9yY2UgYmF0Y2hsb2cgcmVwbGF5IGJlZm9yZSBkZWNvbW1pc3Npb25pbmcgYSBub2RlIChDQVNTQU5EUkEtNzQ0NikKICogRml4IGhpbnQgcmVwbGF5IHdpdGggbWFueSBhY2N1bXVsYXRlYmTODAAAAU/ePLJcABAgaGFuZGxpbmcgb2Ygc2VtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+9AAABAG5uZWN0aW9uTWFuYWdlciAoQ0FTU0FORFJBLTQ4NykKICogRml4IHVzaW5nIG5vbi11dGY4LWF3YXJlIGNvbXBhcmlzb24gYXMgYSBzYW5pdHkgY2hlY2suCiAgIChDQVNTQU5EUkEtNDkzKQogKiBJbXByb3ZlIGRlZmF1bHQgZ2FyYmFnZSBjb2xsZWN0b3Igb3B0aW9ucyAoQ0FTU0FORFJBLTUwNCkKICogQWRkICJub2RlcHJvYmUgZmx1c2giIChDQVNTQU5EUkEtNTA1KQogKiByZW1vdmUgTm90Rm91bmRFeGNlcHRpb24gZnJvbSBnZXRfc2xpY2UgdGj1KevcAAABT948slwAECBsaXRlcmFscyAoQ0FTU0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL70AAAEAIHVuY29tcHJlc3NlZCBzaXplIChDQVNTQU5EUkEtNDQxOSkKICogUHVzaCB0aGUgdmFsaWRhdGlvbiBvZiBzZWNvbmRhcnkgaW5kZXggdmFsdWVzIHRvIHRoZSBTZWNvbmRhcnlJbmRleE1hbmFnZXIgKENBU1NBTkRSQS00MjQwKQogKiBEb24ndCBwdXJnZSBjb2x1bW5zIGR1cmluZyB1cGdyYWRlc3N0YWJsZXMgKENBU1NBTkRSQS00NDYyKQogKiBNYWtlIGNxbHNoIHdvcmsgd2l0aCBwaXBpbmcgKENBU1NBTkRSQS00MTEzKQogKiBWYWxpZGF0ZSBhcgqd3S4AAAFP3jyyXAAQdGlvbiAoQ0FTU0FORFJBLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvvQAAAQBhcyBjaGFuZ2VkIHRvIGFsbG93IGJpbGxpb25zIG9mIGtleXMvcm93cyBwZXIKICAgbm9kZSBpbnN0ZWFkIG9mIG9ubHkgbWlsbGlvbnMKICogTXVsdGkta2V5c3BhY2Ugc3VwcG9ydAogKiBTY2FuIGFsbCBzc3RhYmxlcyBmb3IgYWxsIHF1ZXJpZXMgdG8gYXZvaWQgc2l0dWF0aW9ucyB3aGVyZQogICBkaWZmZXJlbnQgdHlwZXMgb2Ygb3BlcmF0aW9uIG9uIHRoZSBzYW1lIENvbHVtbkZhbWlseSBjb3VsZAogICBkaXNhZ3JlZSBvbiB3aGF0IGRhdGEgZmQOVAAAAU/ePLJcABAKICogYWxsb3cgc3N0YWJsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC+9AAABAFJBLTYzMjcpCiAqIEZpeCBwYWdpbmcgd2l0aCByZXZlcnNlZCBzbGljZXMgKENBU1NBTkRSQS02MzQzKQogKiBTZXQgbWluVGltZXN0YW1wIGNvcnJlY3RseSB0byBiZSBhYmxlIHRvIGRyb3AgZXhwaXJlZCBzc3RhYmxlcyAoQ0FTU0FORFJBLTYzMzcpCiAqIFN1cHBvcnQgTmFOIGFuZCBJbmZpbml0eSBhcyBmbG9hdCBsaXRlcmFscyAoQ0FTU0FORFJBLTYwMDMpCiAqIFJlbW92ZSBSRiBmcm9tIG5vZGV0b29sIHJpbmcgb3V0cHV0IChDQVNTQU5EUkEYUZpxAAABT948slwAEHQgZm9yIFBheG9zIG1lc3MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL70AAAEAc2VnbWVudHMgYXQgc3RhcnR1cAogICAoQ0FTU0FORFJBLTQyMDEpCiAqIChIYWRvb3ApIGZpeCBzcGxpdCBnZW5lcmF0aW9uIHJlZ3Jlc3Npb24gKENBU1NBTkRSQS00MjU5KQogKiBpZ25vcmUgbWluL21heCBjb21wYWN0aW9ucyBzZXR0aW5ncyBpbiBMQ1MsIHdoaWxlIHByZXNlcnZpbmcKICAgYmVoYXZpb3IgdGhhdCBtaW49bWF4PTAgZGlzYWJsZXMgYXV0b2NvbXBhY3Rpb24gKENBU1NBTkRSQS00MjMzKQogKiBsb2cgbnVtYmVyIG9mIHJvd3Mgck21Sa4AHdgA14FT0gAAAExeLtKnACEABnN5c3RlbQAADnNjaGVtYV9jb2x1bW5zAAAEAAAABQAAAAABAVof8mes4D8ShWPPrmEDxl5VU2ZyAAUV99X6hgAAAAAAAAAAAPU000IAAAFP3jyyXAAQciB0cmFja2luZyBvcGVyYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvwAAAAQA1KQogKiBUcmFjayBtYXgvbWluIGNvbHVtbiBuYW1lcyBpbiBzc3RhYmxlcyB0byBiZSBhYmxlIHRvIG9wdGltaXplIHNsaWNlCiAgIHF1ZXJpZXMgKENBU1NBTkRSQS01NTE0LCBDQVNTQU5EUkEtNTU5NSwgQ0FTU0FORFJBLTU2MDApCiAqIEJpbmFyeSBwcm90b2NvbDogYWxsb3cgYmF0Y2hpbmcgYWxyZWFkeSBwcmVwYXJlZCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNDY5MykKICogQWxsb3cgcHJlcGFyaW5nIHRpbWVzdGFtcCwgdHRsIGFuZCBsaW1pvybPtwAAAU/ePLJcABBzIChDQVNTQU5EUkEtNTU3AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/AAAABACAKICAgKENBU1NBTkRSQS0yOTU4KQogKiBpbXByb3ZlZCBQT1NJWCBjb21wYXRpYmlsaXR5IG9mIHN0YXJ0IHNjcmlwdHMgKENBU3NBTkRSQS0yOTY1KQogKiBhZGQgY291bnRlciBzdXBwb3J0IHRvIEhhZG9vcCBJbnB1dEZvcm1hdCAoQ0FTU0FORFJBLTI5ODEpCiAqIGZpeCBidWcgd2hlcmUgZGlydHkgY29tbWl0bG9nIHNlZ21lbnRzIHdlcmUgcmVtb3ZlZCAoYW5kIGF2b2lkIGtlZXBpbmcgCiAgIHNlZ21lbnRzIHdpdGggbm8gcG9zdC1mbHVzaCA8xLafAAABT948slwAEDApCiAqIGluY2x1ZGUgc2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8AAAAEALTU2MTApCiAqIEFsbG93IGNyZWF0aW5nIENVU1RPTSBpbmRleGVzIG9uIGNvbGxlY3Rpb25zIChDQVNTQU5EUkEtNTYxNSkKICogRXZhbHVhdGUgbm93KCkgZnVuY3Rpb24gYXQgZXhlY3V0aW9uIHRpbWUgKENBU1NBTkRSQS01NjE2KQogKiBFeHBvc2UgZGV0YWlsZWQgcmVhZCByZXBhaXIgbWV0cmljcyAoQ0FTU0FORFJBLTU2MTgpCiAqIENvcnJlY3QgYmxvYiBsaXRlcmFsICsgUmV2ZXJzZWRUeXBlIHBhcnNpbmcgKENBU1NBTkRSQS01NjI5KQogKqXvUdoAAAFP3jyyXAAQU0FORFJBLTYxNDUpCiAqIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvwAAAAQBpb24gVGhyb3dhYmxlcwogICBhcmUgdGhyb3duIHdoaWxlIGhhbmRsaW5nIG5hdGl2ZSBwcm90b2NvbCBtZXNzYWdlcyAoQ0FTU0FORFJBLTc0NzApCgoKMi4xLjAtcmMzCiAqIENvbnNpZGVyIGV4cGlyeSB3aGVuIHJlY29uY2lsaW5nIG90aGVyd2lzZSBlcXVhbCBjZWxscyAoQ0FTU0FORFJBLTc0MDMpCiAqIEludHJvZHVjZSBDUUwgc3VwcG9ydCBmb3Igc3RyZXNzIHRvb2wgKENBU1NBTkRSQS02MTQ2KQogKiBGaXggQ2xhc3NDYXN0RXhjZXB0aW9ulIbYDgAAAU/ePLJcABBtZSBmb3JtYXR0aW5nIGZvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/AAAABAGF0aW9uIGNhbiBub3cgYmUgb2J0YWluZWQgYnkgCiAgIHVzaW5nIHRoZSBuZXdseSBpbnRyb2R1Y2VkIG5vZGVwcm9iZSB1dGlsaXR5LgogKiBNb3JlIEpNWCBzdGF0cwogKiBSZW1vdmUgbWFnaWMgdmFsdWVzIGZyb20gaW50ZXJuYWxzIChlLmcuIHNwZWNpYWwga2V5IHRvIGluZGljYXRlCiAgIHdoZW4gdG8gZmx1c2ggbWVtdGFibGVzKQogKiBSZW5hbWUgY29uZmlndXJhdGlvbiAidGFibGUiIHRvICJrZXlzcGFjZSIKICogTW92ZWQgdG8gY3Jhc2iE5JQhAAABT948slwAEGcgZm9yIGRlYWQgbm9kZXMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8AAAAEANDMxKQpNZXJnZWQgZnJvbSAxLjE6CiAqIGNsaTogUXVvdGUga3MgYW5kIGNmIG5hbWVzIGluIHNjaGVtYSBvdXRwdXQgd2hlbiBuZWVkZWQgKENBU1NBTkRSQS01MDUyKQogKiBGaXggYmFkIGRlZmF1bHQgZm9yIG1pbi9tYXggdGltZXN0YW1wIGluIFNTVGFibGVNZXRhZGF0YSAoQ0FTU0FORFJBLTUzNzIpCiAqIEZpeCBjZiBuYW1lIGV4dHJhY3Rpb24gZnJvbSBtYW5pZmVzdCBpbiBEaXJlY3Rvcmllcy5taWdyYXRlRmlsZSgpIAogICAoQ0FTU0FORCDpBDUAAAFP3jyyXAAQbnV4IGZyb20gc3dhcHBpbgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvwAAAAQBpdGggMC4xIEZQIHRvIExDUyBieSBkZWZhdWx0IChDQVNTQU5EUkEtNTAyOSkKICogRml4IHByZXBhcmluZyBpbnNlcnQgcXVlcmllcyAoQ0FTU0FORFJBLTUwMTYpCiAqIEZpeCBwcmVwYXJpbmcgcXVlcmllcyB3aXRoIGNvdW50ZXIgaW5jcmVtZW50IChDQVNTQU5EUkEtNTAyMikKICogRml4IHByZXBhcmluZyB1cGRhdGVzIHdpdGggY29sbGVjdGlvbnMgKENBU1NBTkRSQS01MDE3KQogKiBEb24ndCBnZW5lcmF0ZSBVVUlEIGJhc2VkIG9uIG90aGVyvBAfnAAAAU/ePLJcABAgc2NoZW1hIHJlbGF0ZWQgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/AAAABAG5vIElQdjQpIGFkZHJlc3NlcyBjb3VsZCBub3Qgam9pbiBjbHVzdGVyCiAgIChDQVNTQU5EUkEtOTY5KQogKiBSZXRyaWV2ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgdW5kZWxldGVkIGNvbHVtbnMsIGlmIGFueSwgZnJvbQogICBhIHN1cGVyY29sdW1uIGluIGEgcm93IHRoYXQgaGFkIGJlZW4gZGVsZXRlZCBwcmV2aW91c2x5IChDQVNTQU5EUkEtOTIwKQogKiBmaXggaW5kZXggc2NhbnMgdGhhdCBjcm9zcyB0aGUgMkdCIG1tYXAgYm91bmRhcmllcyACGe1VAAABT948slwAEGcgKENBU1NBTkRSQS05MTMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8AAAAEAeSBleGlzdHMgaW4gZ29zc2lwIChDQVNTQU5EUkEtNTU3MSkKICogRml4IE5QRSB3aGlsZSBsb2FkaW5nIHBheG9zIHN0YXRlIChDQVNTQU5EUkEtNjIxMSkKICogY3Fsc2g6IGFkZCBTSE9XIFNFU1NJT04gPHRyYWNpbmctc2Vzc2lvbj4gY29tbWFuZCAoQ0FTU0FORFJBLTYyMjgpCk1lcmdlZCBmcm9tIDEuMjoKICogKEhhZG9vcCkgUmVxdWlyZSBDRlJSIGJhdGNoU2l6ZSB0byBiZSBhdCBsZWFzdCAyIChDQVNTQU5EUkEtNjExNCkKICogQWRkIGEgd+UnZf0AAAFP3jyyXAAQQU5EUkEtMjU3MCkKICogZgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvwAAAAQAgY3JlYXRlIGtleXNwYWNlIG9wdGlvbnMgKENBU1NBTkRSQS0yNTI1KQogKiBmaXggbm9kZXRvb2wgc2V0Y29tcGFjdGlvbnRocm91Z2hwdXQgKENBU1NBTkRSQS0yNTUwKQogKiBtb3ZlCWdvc3NpcCBoZWFydGJlYXQgYmFjayB0byBpdHMgb3duIHRocmVhZCAoQ0FTU0FORFJBLTI1NTQpCiAqIHZhbGlkYXRlIGNxbCBUUlVOQ0FURSBjb2x1bW5mYW1pbHkgYmVmb3JlIHRydW5jYXRpbmcgKENBU1NBTkRSQS0yNTcwKQogKiBmaXggYmF0Y2hfbXV0YXRl9Xsv9AAAAU/ePLJcABAKICAgYWdhaW5zdCBpbnZhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/AAAABAGVwdGlvbiBvbiBjb21wb3NpdGUgZGVuc2UgdGFibGVzIChDQVNTQU5EUkEtNzExMikKICogQ2xlYW51cCBhbmQgb3B0aW1pemUgY29sbGF0aW9uIGFuZCBzbGljZSBpdGVyYXRvcnMgKENBU1NBTkRSQS03MTA3KQogKiBVcGdyYWRlIE5CSE0gbGliIChDQVNTQU5EUkEtNzEyOCkKICogT3B0aW1pemUgbmV0dHkgc2VydmVyIChDQVNTQU5EUkEtNjg2MSkKICogRml4IHJlcGFpciBoYW5nIHdoZW4gZ2l2ZW4gQ0YgZG9lcyBub3QgZXhpc3QgKENBU1NBTkRuX4EHAAABT948slwAEFNob3cgcHJvZ3Jlc3Mgb2YAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8AAAAEAX3NsaWNlIGZvciBSYW5kb21QYXJ0aXRpb25lciAoQ0FTU0FORFJBLTc0NSkKICogcGVyLWtleXNwYWNlIHJlcGxpY2F0aW9uIGZhY3RvcnkgYW5kIHJlcGxpY2F0aW9uIHN0cmF0ZWd5IChDQVNTQU5EUkEtNjIwKQogKiB0cmFjayBsYXRlbmN5IGluIG1pY3Jvc2Vjb25kcyAoQ0FTU0FORFJBLTczMykKICogYWRkIGRlc2NyaWJlXyBUaHJpZnQgbWV0aG9kcywgZGVwcmVjYXRpbmcgZ2V0X3N0cmluZ19wcm9wZXJ0eSBhbmQgCiAgIGdldF9zdHJpbmdfbLT9bkMAAAFP3jyyXAAQdHkgb25seSBiZWluZyByZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvwAAAAQBSQS0xMDkzKQogKiBhZGRlZCBkZXNjcmliZV9wYXJ0aXRpb25lciBUaHJpZnQgbWV0aG9kIChDQVNTQU5EUkEtMTA0NykKICogSGFkb29wIGpvYnMgbm8gbG9uZ2VyIHJlcXVpcmUgdGhlIENhc3NhbmRyYSBzdG9yYWdlLWNvbmYueG1sCiAgIChDQVNTQU5EUkEtMTI4MCwgQ0FTU0FORFJBLTEwNDcpCiAqIGxvZyB0aHJlYWQgcG9vbCBzdGF0cyB3aGVuIEdDIGlzIGV4Y2Vzc2l2ZSAoQ0FTU0FORFJBLTEyNzUpCiAqIHJlbW92ZSBnb3NzaXAgbWVzc2FnybbeNQAAAU/ePLJcABBhIGRlbGltaXRlZCBsaXN0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/AAAABAGNlIHRoYXQgY291bGQgcmVzdWx0IGluIEhhZG9vcCB3cml0ZXIgZmFpbGluZyB0byB0aHJvdyBhbgogICBleGNlcHRpb24gZW5jb3VudGVyZWQgYWZ0ZXIgY2xvc2UoKSAoQ0FTU0FORFJBLTI3NTUpCiAqIGZpeCBzY2FuIHdyb25nbHkgdGhyb3dpbmcgYXNzZXJ0aW9uIGVycm9yIChDQVNTQU5EUkEtMjY1MykKICogQWx3YXlzIHVzZSBldmVuIGRpc3RyaWJ1dGlvbiBmb3IgbWVya2xlIHRyZWUgd2l0aCBSYW5kb21QYXJ0aXRpb25uZXIKICAgKENBU1N8IcMYAAABT948slwAEChDQVNTQU5EUkEtNzIxMSkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8AAAAEAbmRhcnkgaW5kZXggdG9tYnN0b25lcyBpbW1lZGlhdGVseSAoQ0FTU0FORFJBLTE5MTQpCiAqIHJldmVydCBjb21taXRsb2cgY2hhbmdlcyBmcm9tICMxNzgwIChDQVNTQU5EUkEtMTkxNykKICogY2hhbmdlIFJhbmRvbVBhcnRpdGlvbmVyIG1pbiB0b2tlbiB0byAtMSB0byBhdm9pZCBjb2xsaXNpb24gdy8KICAgdG9rZW5zIG9uIGFjdHVhbCBub2RlcyAoQ0FTU0FORFJBLTE5MDEpCiAqIGV4YW1pbmUgdGhlIHJpZ2h0IG5pYmJsZSB3aGVuIHZhbGlkYUn2kwMAHexdn7kAUAAAAU/ePLJcABBhbGwgb24gcm93IGtleXMgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/CAAABAHhjZXB0aW9uIGR1cmluZyBQSUcgJ2R1bXAnIChDQVNTQU5EUkEtMjgxMCkKICogRml4IHN0cmVzcyBDT1VOVEVSX0dFVCBvcHRpb24gKENBU1NBTkRSQS0zMzAxKQogKiBGaXggbWlzc2luZyBmaWVsZHMgaW4gQ0xJIGBzaG93IHNjaGVtYWAgb3V0cHV0IChDQVNTQU5EUkEtMzMwNCkKICogTm9kZXRvb2wgbm8gbG9uZ2VyIGxlYWtzIHRocmVhZHMgYW5kIGNsb3NlcyBKTVggY29ubmVjdGlvbnMgKENBU1NBTkRSQS0zMzA5KQogKiBmaXggdHJ1bmNhdGXJVD1SAAABT948slwAEGNvbW1hbmQgKENBU1NBTkQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8IAAAEAZCAoQ0FTU0FORFJBLTE2MzAsIENBU1NBTkRSQS0xNTg1KQogKiBhZGQgY2xpIHNhbml0eSB0ZXN0cyAoQ0FTU0FORFJBLTE1ODIpCiAqIHVwZGF0ZSBHQyBzZXR0aW5ncyBpbiBjYXNzYW5kcmEuYmF0IChDQVNTQU5EUkEtMTYzNikKICogY2xpIHN1cHBvcnQgZm9yIGluZGV4IHF1ZXJpZXMgKENBU1NBTkRSQS0xNjM1KQogKiBjbGkgc3VwcG9ydCBmb3IgdXBkYXRpbmcgc2NoZW1hIG1lbXRhYmxlIHNldHRpbmdzIChDQVNTQU5EUkEtMTYzNCkKICogY8ZKz6QAAAFP3jyyXAAQKENBU1NBTkRSQS01MjM0KQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvwgAAAQAgYWRkcmVzc2VzIChDQVNTQU5EUkEtOTAyNykKICogKGNxbHNoKSBBbGxvdyBpbmNyZWFzaW5nIENTViBmaWVsZCBzaXplIGxpbWl0IHRocm91Z2gKICAgY3Fsc2hyYyBjb25maWcgb3B0aW9uIChDQVNTQU5EUkEtODkzNCkKICogU3RvcCBsb2dnaW5nIHJhbmdlIHRvbWJzdG9uZXMgd2hlbiBleGNlZWRpbmcgdGhlIHRocmVzaG9sZAogICAoQ0FTU0FORFJBLTg1NTkpCiAqIEZpeCBOdWxsUG9pbnRlckV4Y2VwdGlvbiB3aGVuIG5vZGV0b29sIGdldGVuRIflMwAAAU/ePLJcABBzc2FnZXMgb2ZmIHRoZSBjAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/CAAABAGNvbXBvc2l0ZSBjb21wYXJhdG9ycyBpbiBub24tY3FsMy1hd2FyZQogICBjbGllbnRzIChDQVNTQU5EUkEtNDA5MykKICogKGNxbDMpIEZpeCBvcmRlciBieSBmb3IgcmV2ZXJzZWQgcXVlcmllcyAoQ0FTU0FORFJBLTQxNjApCiAqIChjcWwzKSBBZGQgUmV2ZXJzZWRUeXBlIHN1cHBvcnQgKENBU1NBTkRSQS00MDA0KQogKiAoY3FsMykgQWRkIHRpbWV1dWlkIHR5cGUgKENBU1NBTkRSQS00MTk0KQogKiAoY3FsMykgTWlub3IgZml4ZXMgKENBU1NBTkTu+jhjAAABT948slwAEFFVT1JVTSBDTHMgb3V0c2kAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8IAAAEAU0FORFJBLTU0NTUpCiAqIENBUyBzdXBwb3J0IChDQVNTQU5EUkEtNTA2MiwgNTQ0MSwgNTQ0MiwgNTQ0MywgNTYxOSwgNTY2NykKICogTGV2ZWxlZCBjb21wYWN0aW9uIHBlcmZvcm1zIHNpemUtdGllcmVkIGNvbXBhY3Rpb25zIGluIEwwIAogICAoQ0FTU0FORFJBLTUzNzEsIDU0MzkpCiAqIEFkZCB5YW1sIG5ldHdvcmsgdG9wb2xvZ3kgc25pdGNoIGZvciBtaXhlZCBlYzIvb3RoZXIgZW52cyAoQ0FTU0FORFJBLTUzMzkpCiAqIExvZyB3aGVuIGEgbrHl6UIAAAFP3jyyXAAQICogVXNlIHRoZSBjb3JyZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvwgAAAQBucyB0byB3b3JrIChDQVNTQU5EUkEtOTU1KQogKiBjYWNoZSByZWFkLW9ubHkgQnVmZmVyZWRSYW5kb21BY2Nlc3NGaWxlIGxlbmd0aCB0byBhdm9pZAogICAzIHN5c3RlbSBjYWxscyBwZXIgaW52b2NhdGlvbiAoQ0FTU0FORFJBLTk1MCkKICogbm9kZXMgd2l0aCBJUHY2IChhbmQgbm8gSVB2NCkgYWRkcmVzc2VzIGNvdWxkIG5vdCBqb2luIGNsdXN0ZXIKICAgKENBU1NBTkRSQS05NjkpCiAqIFJldHJpZXZlIHRoZSBjb3JyZWN0IG51bWJlciBvZiB1a/t/3gAAAU/ePLJcABB0b3IgbWlzdGFrZXMgZHVlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/CAAABAGVyL0NxbFBhZ2luZ0lucHV0Rm9ybWF0IChDQVNTQU5EUkEtNzU3MCkKICogU3VwcG9ydCBjb25uZWN0aW5nIHRvIGlwdjYgam14IHdpdGggbm9kZXRvb2wgKENBU1NBTkRSQS03NjY5KQoKCjIuMS4wLXJjNQogKiBSZWplY3QgY291bnRlcnMgaW5zaWRlIHVzZXIgdHlwZXMgKENBU1NBTkRSQS03NjcyKQogKiBTd2l0Y2ggdG8gbm90aWZpY2F0aW9uLWJhc2VkIEdDSW5zcGVjdG9yIChDQVNTQU5EUkEtNzYzOCkKICogKGNxbHNoKSBIYW5kbGUgbnVsbHN9SkAKAAABT948slwAEHIgc3RhdGljIGNvbHVtbnMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8IAAAEAQVNTQU5EUkEtNTM5NSkKICogQ2hhbmdlIGRlZmF1bHQgc3RyZWFtIHRocm91Z2hwdXQgZnJvbSA0MDAgdG8gMjAwIG1icHMgKENBU1NBTkRSQS01MDM2KQogKiBHb3NzaXBlciBsb2dzIERPV04gZm9yIHN5bW1ldHJ5IHdpdGggVVAgKENBU1NBTkRSQS01MTg3KQogKiBGaXggbWl4aW5nIHByZXBhcmVkIHN0YXRlbWVudHMgYmV0d2VlbiBrZXlzcGFjZXMgKENBU1NBTkRSQS01MzUyKQogKiBGaXggY29uc2lzdGVuY3kgbGV2ZWwgZHVyaW5nIGJvb3RzdHl/6sEAAAFP3jyyXAAQbiAoQ0FTU0FORFJBLTI3NwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvwgAAAQBpZGF0aW9uIGZvciBJTiB3aGVyZSBjbGF1c2VzIHdpdGggY29sbGVjdGlvbnMgKENBU1NBTkRSQS01Mzc2KQogKiBDb3B5IHJlc3VsdFNldCBvbiBjb3VudCBxdWVyeSB0byBhdm9pZCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uIAogICAoQ0FTU0FORFJBLTUzODIpCiAqIENvcnJlY3RseSB0eXBlY2hlY2sgaW4gQ1FMMyBldmVuIHdpdGggUmV2ZXJzZWRUeXBlIChDQVNTQU5EUkEtNTM4NikKICogRml4IHN0cmVhbWluZyBjb21wcmVzc2VkHxg9zgAAAU/ePLJcABBja2xpc3Rpbmcgd29yayB3AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/CAAABACBDb25maWd1cmFibGUgY2xpZW50IHRpbWVvdXQgZm9yIGNxbHNoIChDQVNTQU5EUkEtNzUxNikKICogSW5jbHVkZSBzbmlwcGV0IG9mIENRTCBxdWVyeSBuZWFyIHN5bnRheCBlcnJvciBpbiBtZXNzYWdlcyAoQ0FTU0FORFJBLTcxMTEpCiAqIE1ha2UgcmVwYWlyIC1wciB3b3JrIHdpdGggLWxvY2FsIChDQVNTQU5EUkEtNzQ1MCkKICogRml4IGVycm9yIGluIHNzdGFibGVsb2FkZXIgd2l0aCAtY3BoID4gMSAoQ0FTU0FORFJBLTgwMDcpCiAqIEZpeCAhIQlNAAABT948slwAEDI0NTQpCiAqIENRTCAoQ0EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8IAAAEAZ2hlciB0aW1lb3V0IGZvciBwcmVwYWlyIGFuZCBzbmFwc2hvdCBpbiByZXBhaXIgKENBU1NBTkRSQS05MjYxKQogKiBGaXggYW50aWNvbXBhY3Rpb24gYmxvY2tpbmcgQU5USV9FTlRST1BZIHN0YWdlIChDQVNTQU5EUkEtOTE1MSkKICogUmVwYWlyIHdhaXRzIGZvciBhbnRpY29tcGFjdGlvbiB0byBmaW5pc2ggKENBU1NBTkRSQS05MDk3KQpNZXJnZWQgZnJvbSAyLjA6CiAqIEZpeCBjb3VudGluZyBvZiB0b21ic3RvbmVzIGZvciBUb21ic3RvbmVPdlJ92GwAAAFP3jyyXAAQKQogKiBGaXggZGl2aWRlLQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvwgAAAQB1bnRpbmcgQ0ZNZXRhZGF0YSB0b3dhcmRzIE1lbXRhYmxlIGxpdmVSYXRpbyAoQ0FTU0FORFJBLTMwMjMpCiAqIEtpbGwgc2VydmVyIG9uIHdyYXBwZWQgT09NRSBzdWNoIGFzIGZyb20gRmlsZUNoYW5uZWwubWFwIChDQVNTQU5EUkEtMzIwMSkKICogcmVtb3ZlIHVubmVjZXNzYXJ5IGNvcHkgd2hlbiBhZGRpbmcgdG8gcm93IGNhY2hlIChDQVNTQU5EUkEtMzIyMykKICogTG9nIG1lc3NhZ2Ugd2hlbiBhIGZ1bGwgcmVwYWlyIG9wZXJhdGlvbiBjb21w4+9/lQAAAU/ePLJcABB0IHRyYW5zYWN0aW9ucyAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/CAAABAGhlYXAgcm93IGNhY2hlIChDQVNTQU5EUkEtNTM0OCkKICogdXNlIG5hbm90aW1lIGNvbnNpc3RlbnRseSBmb3Igbm9kZS1sb2NhbCB0aW1lb3V0cyAoQ0FTU0FORFJBLTU1ODEpCiAqIEF2b2lkIHVubmVjZXNzYXJ5IHNlY29uZCBwYXNzIG9uIG5hbWUtYmFzZWQgcXVlcmllcyAoQ0FTU0FORFJBLTU1NzcpCiAqIEV4cGVyaW1lbnRhbCB0cmlnZ2VycyAoQ0FTU0FORFJBLTEzMTEpCiAqIEpFTWFsbG9jIHN1cHBvcnQgZm9yIG9mZi1oZWFwIGFsbG9jYXQEVkCwAAABT948slwAECBrZXkgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8IAAAEAcwogICAoQ0FTU0FORFJBLTM2MjUpCiAqIEZsdXNoIG5vbi1jZnMgYmFja2VkIHNlY29uZGFyeSBpbmRleGVzIChDQVNTQU5EUkEtMzY1OSkKICogU2Vjb25kYXJ5IEluZGV4ZXMgc2hvdWxkIHJlcG9ydCBtZW1vcnkgY29uc3VtcHRpb24gKENBU1NBTkRSQS0zMTU1KQogKiBmaXggZm9yIFNlbGVjdFN0YXRlbWVudCBzdGFydC9lbmQga2V5IGFyZSBub3Qgc2V0IGNvcnJlY3RseQogICB3aGVuIGEga2V5IGFsaWFzIGlzIGludm9sdmVkIChDQVNTQU5EUhFig70AAAFP3jyyXAAQIG9wdGlvbiB0byBzdHJlcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvwgAAAQAqIG11bHRpdGhyZWFkZWQgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTIxOTEpCiAqIGNvbXBhY3Rpb24gdGhyb3R0bGluZyAoQ0FTU0FORFJBLTIxNTYpCiAqIGFkZCBrZXkgdHlwZSBpbmZvcm1hdGlvbiBhbmQgYWxpYXMgKENBU1NBTkRSQS0yMzExLCAyMzk2KQogKiBjbGkgbm8gbG9uZ2VyIGRpdmlkZXMgcmVhZF9yZXBhaXJfY2hhbmNlIGJ5IDEwMCAoQ0FTU0FORFJBLTI0NTgpCiAqIG1hZGUgQ29tcGFjdGlvbkluZm8uZ2V0VGFza1R5cGUgcmV0dXJuHCyanwAeALoxSd7uAAABT948slwAEGlzYWxsb3cgYm9vdHN0cmEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8QAAAEAc3VwcG9ydCB2aWEgSk1YCiAqIFRocmlmdCBBUEkgaGFzIGNoYW5nZWQgYSBfbG90XzoKICAgIC0gcmVtb3ZlZCB0aW1lLXNvcnRlZCBDRnM7IGluc3RlYWQsIHVzZXItZGVmaW5lZCBjb21wYXJhdG9ycwogICAgICBtYXkgYmUgZGVmaW5lZCBvbiB0aGUgY29sdW1uIG5hbWVzLCB3aGljaCBhcmUgbm93IGJ5dGUgYXJyYXlzLgogICAgICBEZWZhdWx0IGNvbXBhcmF0b3JzIGFyZSBwcm92aWRlZCBmb3IgVVRGOCwgQnl0ZXMsIEFzY2lpLCBMb25nIChpNiC5qeQAAAFP3jyyXAAQRFJBLTI4NDEpCiAqIGZpeAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvxAAAAQBEUkEtNTE5NSkKICogYWRkIHRtcCBmbGFnIHRvIERlc2NyaXB0b3IgaGFzaGNvZGUgKENBU1NBTkRSQS00MDIxKQogKiBmaXggbG9nZ2luZyBvZiAiRm91bmQgdGFibGUgZGF0YSBpbiBkYXRhIGRpcmVjdG9yaWVzIiB3aGVuIG9ubHkgc3lzdGVtIHRhYmxlcwogICBhcmUgcHJlc2VudCAoQ0FTU0FORFJBLTUyODkpCiAqIGNsaTogQWRkIEpNWCBhdXRoZW50aWNhdGlvbiBzdXBwb3J0IChDQVNTQU5EUkEtNTA4MCkKICogbm9kZXRvb2w6IGFiaWxpdHkgrJRp0gAAAU/ePLJcABBnIChDQVNTQU5EUkEtMTI4AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/EAAABAHRlciBzaXplcyB2aWEgSk1YIChDQVNTQU5EUkEtMzQ5NSkKICogZW5mb3JjZSBSUCB0b2tlbnMgMC4uMioqMTI3IChDQVNTQU5EUkEtMzUwMSkKICogY2Fub25pY2FsaXplIHBhdGhzIGV4cG9zZWQgdGhyb3VnaCBKTVggKENBU1NBTkRSQS0zNTA0KQogKiBmaXggImxpdmVTaXplIiBzdGF0IHdoZW4gc3N0YWJsZXMgYXJlIHJlbW92ZWQgKENBU1NBTkRSQS0zNDk2KQogKiBhZGQgYmxvb20gZmlsdGVyIEZQIHJhdGVzIHRvIG5vZGV0b29sIGNmc3RhdHNx0696AAABT948slwAEEFORFJBLTIwMzQpCiAqIEEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8QAAAEAYXNpcyAoQ0FTU0FORFJBLTM2NjcpCiAqIGZpeCBMZXZlbGVkQ29tcGFjdGlvblN0cmF0ZWd5IGJyb2tlbiBiZWNhdXNlIG9mIGdlbmVyYXRpb24gcHJlLWFsbG9jYXRpb24KICAgaW4gTGV2ZWxlZE1hbmlmZXN0IChDQVNTQU5EUkEtMzY5MSkKICogZmluZXItZ3JhaW5lZCBjb250cm9sIG92ZXIgZGF0YSBkaXJlY3RvcmllcyAoQ0FTU0FORFJBLTI3NDkpCiAqIEZpeCBDbGFzc0Nhc3RFeGNlcHRpb24gZHVyaW5nIGhpbnRlZCBoYW5kb2ZmIChDQVNTQS2GmfIAAAFP3jyyXAAQZml4IGFzc3VtcHRpb24gZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvxAAAAQBSVU0gKENBU1NBTkRSQS0zNTc3LCAzNTg1KQogKiBkZXRlY3QgbWlzdXNlcyBvZiBDb3VudGVyQ29sdW1uVHlwZSAoQ0FTU0FORFJBLTM0MjIpCiAqIHR1cm4gb2ZmIHN0cmluZyBpbnRlcm5pbmcgaW4ganNvbjJzc3RhYmxlLCB0YWtlIDIgKENBU1NBTkRSQS0yMTg5KQogKiB2YWxpZGF0ZSBjb21wcmVzc2lvbiBwYXJhbWV0ZXJzIG9uIGFkZC91cGRhdGUgb2YgdGhlIENvbHVtbkZhbWlseSAKICAgKENBU1NBTkRSQS0zNTczKQogKiBDaGVjayBmb3Ig9mEEbgAAAU/ePLJcABAgICAnZGVsZXRlJyBrZXkgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/EAAABAGdlZCBmcm9tIDIuMDoKICogRml4IENDI2NvbGxlY3RUaW1lT3JkZXJlZERhdGEoKSB0b21ic3RvbmUgb3B0aW1pc2F0aW9ucyAoQ0FTU0FORFJBLTczOTQpCiAqIFN1cHBvcnQgRElTVElOQ1QgZm9yIHN0YXRpYyBjb2x1bW5zIGFuZCBmaXggYmVoYXZpb3VyIHdoZW4gRElTVElOQyBpcwogICBub3QgdXNlIChDQVNTQU5EUkEtNzMwNSkuCiAqIFdvcmthcm91bmQgSlZNIE5QRSBvbiBKTVggYmluZCBmYWlsdXJlIChDQVNTQU5EUkEtNzI1NCkKICogRmk9FPIJAAABT948slwAEEZpeCBJbGxlZ2FsQXJndW0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8QAAAEARFJBLTI4NTMpCiAqIGZpeCBDTEkgcGVycGV0dWF0aW5nIG9ic29sZXRlIEtzRGVmLnJlcGxpY2F0aW9uX2ZhY3RvciAoQ0FTU0FORFJBLTI4NDYpCiAqIGltcHJvdmUgY2xpIHRyZWF0bWVudCBvZiBtdWx0aWxpbmUgY29tbWVudHMgKENBU1NBTkRSQS0yODUyKQogKiBoYW5kbGUgcm93IHRvbWJzdG9uZXMgY29ycmVjdGx5IGluIEVjaG9lZFJvdyAoQ0FTU0FORFJBLTI3ODYpCiAqIGFkZCBNZXNzYWdpbmdTZXJ2aWNlLmdldFtSZWNlbnRseV1Ecm9wcGYrHSsAAAFP3jyyXAAQb2x1bW5mYW1pbHkgZHJvcAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvxAAAAQBlciBpbnN1ZmZpY2llbnQgZGlzayBzcGFjZSAoQ0FTU0FORFJBLTQ3MykKICogRml4IHJlYWRpbmcgc3ViY29sdW1uIHNsaWNlIGZyb20gdG9tYnN0b25lZCBDRiAoQ0FTU0FORFJBLTQ4NCkKICogRml4IHJhY2UgY29uZGl0aW9uIGluIFJWSCBjYXVzaW5nIG9jY2FzaW9uYWwgTlBFIChDQVNTQU5EUkEtNDc4KQoKCjAuNC4wCiAqIGZpeCBnZXRfa2V5X3JhbmdlIHByb2JsZW1zIHdoZW4gYSBub2RlIGlzIGRvd24gKENBU1NBTkRSQS00NDApCiAgIGFuOjqS2QAAAU/ePLJcABAtNjI2MikKICogQWRkIHByAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/EAAABAHNzdGFibGUyam9uIChDQVNTQU5EUkEtNzcwOSkKICogQWRkIGNhc3NhbmRyYS5hdXRvX2Jvb3RzdHJhcCBzeXN0ZW0gcHJvcGVydHkgKENBU1NBTkRSQS03NjUwKQogKiBVcGRhdGUgamF2YSBkcml2ZXIgKGZvciBoYWRvb3ApIChDQVNTQU5EUkEtNzYxOCkKICogUmVtb3ZlIENxbFBhZ2luZ1JlY29yZFJlYWRlci9DcWxQYWdpbmdJbnB1dEZvcm1hdCAoQ0FTU0FORFJBLTc1NzApCiAqIFN1cHBvcnQgY29ubmVjdGluZyB0byBpcHY2IGpteCB3aXRoIG7pZOrvAAABT948slwAEAogKiBmaXggaW5jb3JyZWMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8QAAAEAbyBibG9vbSBmaWx0ZXIKICAgZG9lc24ndCBnZXQgZnJlZSdkIHByZW1hdHVyZWx5IChDQVNTQU5EUkEtNDkzNCkKICogRG9uJ3Qgc2hhcmUgc2xpY2UgcXVlcnkgZmlsdGVyIGluIENRTDMgU2VsZWN0U3RhdGVtZW50IChDQVNTQU5EUkEtNDkyOCkKICogU2VwYXJhdGUgdHJhY2luZyBmcm9tIExvZzRKIChDQVNTQU5EUkEtNDg2MSkKICogRXhjbHVkZSBnY2FibGUgdG9tYnN0b25lcyBmcm9tIG1lcmtsZS10cmVlIGNvbXB1dGF0aW9uIChDQVNTQU5EUio5vPkAAAFP3jyyXAAQcyB0eXBlJyBhc3NlcnRpbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvxAAAAQBDUUwzIChDQVNTQU5EUkEtMzkyNSkKICogRml4IEJ1bGtSZWNvcmRXcml0ZXIgdG8gbm90IHRocm93IE5QRSBpZiByZWR1Y2VyIGdldHMgbm8gbWFwIGRhdGEgZnJvbSBIYWRvb3AgKENBU1NBTkRSQS0zOTQ0KQogKiBGaXggYnVnIHdpdGggY291bnRlcnMgaW4gc3VwZXIgY29sdW1ucyAoQ0FTU0FORFJBLTM4MjEpCiAqIFJlbW92ZSBkZXByZWNhdGVkIG1lcmdlX3NoYXJkX2NoYW5jZSAoQ0FTU0FORFJBLTM5NDApCiAqIGFkZCBhIGNvbnZlbmllbnQguCzAZAAAAU/ePLJcABBpbmRvd3Mgc3RhcnR1cCAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/EAAABAGVybHkgcmVqZWN0IHVua25vd24gVURUIGZpZWxkIChDQVNTQU5EUkEtNzQ4NCkKTWVyZ2VkIGZyb20gMi4wOgogKiBGaXggQ0MjY29sbGVjdFRpbWVPcmRlcmVkRGF0YSgpIHRvbWJzdG9uZSBvcHRpbWlzYXRpb25zIChDQVNTQU5EUkEtNzM5NCkKICogU3VwcG9ydCBESVNUSU5DVCBmb3Igc3RhdGljIGNvbHVtbnMgYW5kIGZpeCBiZWhhdmlvdXIgd2hlbiBESVNUSU5DIGlzCiAgIG5vdCB1c2UgKENBU1NBTkRSQS03MzA1KS4KICogV29ya2Fyb3VuZCC1om4jAAABT948slwAEG9tbWl0bG9nIChDQVNTQU4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8QAAAEAaW4gY29uZmlnXSAoQ0FTU0FORFJBLTY3OCkKICogcHJlc2VudCBhIHVzZWZ1bCBtZWFzdXJlIG9mIGNvbXBhY3Rpb24gcHJvZ3Jlc3MgaW4gSk1YIChDQVNTQU5EUkEtNTk5KQogKiBhZGQgYmluL3NzdGFibGVrZXlzIChDQVNTTkFEUkEtNjc5KQogKiBhZGQgQ29uc2lzdGVuY3lMZXZlbC5BTlkgKENBU1NBTkRSQS02ODcpCiAqIG1ha2UgcmVtb3ZldG9rZW4gcmVtb3ZlIG5vZGVzIGZyb20gZ29zc2lwIGVudGlyZWx5IChDQVNTQU5EUkEtNjQ0KQogKvwFNkcAAAFP3jyyXAAQY291bnQgZXhhbXBsZSAoQwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvxAAAAQAgc3VwcG9ydCAoQ0FTU0FORFJBLTU1MzkpCiAqIFJldXNlIHByZXBhcmVkIHN0YXRlbWVudHMgaW4gaG90IGF1dGggcXVlcmllcyAoQ0FTU0FORFJBLTU1OTQpCiAqIGNxbHNoOiBhZGQgdmVydGljYWwgb3V0cHV0IG9wdGlvbiAoc2VlIEVYUEFORCkgKENBU1NBTkRSQS01NTk3KQogKiBBZGQgYSByYXRlIGxpbWl0IG9wdGlvbiB0byBzdHJlc3MgKENBU1NBTkRSQS01MDA0KQogKiBoYXZlIEJ1bGtMb2FkZXIgaWdub3JlIHNuYXBzaG90cyBkaXJlY3RvmDeVUAAAAU/ePLJcABAgKiByZW5hbWUgY29sdW1uAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/EAAABAERzIHRvIGludHMgKENBU1NBTkRSQS01MzA3KQogKiBNb3ZlIHNzdGFibGUgbGV2ZWwgaW5mb3JtYXRpb24gaW50byB0aGUgU3RhdHMgY29tcG9uZW50LCByZW1vdmluZyB0aGUKICAgbmVlZCBmb3IgYSBzZXBhcmF0ZSBNYW5pZmVzdCBmaWxlIChDQVNTQU5EUkEtNDg3MikKICogYXZvaWQgc2VyaWFsaXppbmcgdG8gYnl0ZVtdIG9uIGNvbW1pdGxvZyBhcHBlbmQgKENBU1NBTkRSQS01MTk5KQogKiBtYWtlIGluZGV4X2ludGVydmFsIGNvbmZpZ3VyYWL8ovRsAB4Vb/+qq4wAAAFP3jyyXAAQZW5jZVRvRmV0Y2ggKENBUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvxgAAAQBuIGZhdm9yIG9mIGV4cGxpY2l0CiAgICAgIHN0cnVjdHMgc3VjaCBhcyBDb2x1bW5QYXRoLCBDb2x1bW5QYXJlbnQsIGV0Yy4gIEFsc28gbm9ybWFsaXplZAogICAgICB0aHJpZnQgc3RydWN0IGFuZCBhcmd1bWVudCBuYW1pbmcuCiAgICAtIEFkZGVkIGNvbHVtbkZhbWlseSBhcmd1bWVudCB0byBnZXRfa2V5X3JhbmdlLgogICAgLSBDaGFuZ2Ugc2lnbmF0dXJlIG9mIGdldF9zbGljZSB0byBhY2NlcHQgc3RhcnRpbmcgYW5kIGVuZGluZwogICAgICBjKHlbzwAAAU/ePLJcABBKTkEgaXMgYXZhaWxhYmxlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/GAAABAGQgTWFwTWFrZXIgd2l0aCBDYWNoZUxvYWRlciAoQ0FTU0FORFJBLTYwMDcpCiAqIEFkZCBTU1RhYmxlRGVsZXRpbmdOb3RpZmljYXRpb24gdG8gRGF0YVRyYWNrZXIgKENBU1NBTkRSQS02MDEwKQogKiBGaXggc25hcHNob3RzIGluIHVzZSBnZXQgZGVsZXRlZCBkdXJpbmcgc25hcHNob3QgcmVwYWlyIChDQVNTQU5EUkEtNjAxMSkKICogTW92ZSBoaW50cyBhbmQgZXhjZXB0aW9uIGNvdW50IHRvIG8uYS5jLm1ldHJpY3MgKENBU1NBTkRSQS02MDE3KQq+abWiAAABT948slwAEHQgaW4gSGFkb29wIFJlY28AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8YAAAEAMSkKICogTWFrZSBjb21taXRsb2cgYXJjaGl2ZStyZXN0b3JlIG1vcmUgcm9idXN0IChDQVNTQU5EUkEtNjk3NCkKICogRml4IG1hcmtpbmcgY29tbWl0bG9nc2VnbWVudHMgY2xlYW4gKENBU1NBTkRSQS02OTU5KQogKiBBZGQgc25hcHNob3QgIm1hbmlmZXN0IiBkZXNjcmliaW5nIGZpbGVzIGluY2x1ZGVkIChDQVNTQU5EUkEtNjMyNikKICogUGFyYWxsZWwgc3RyZWFtaW5nIGZvciBzc3RhYmxlbG9hZGVyIChDQVNTQU5EUkEtMzY2OCkKICogRml4IHeARnUAAAFP3jyyXAAQTGF6aWx5Q29tcGFjdGVkUgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvxgAAAQAKICogRml4IHBvdGVudGlhbCBDbGFzc0Nhc3RFeGNlcHRpb24gaW4gSGludGVkSGFuZG9mZk1hbmFnZXIgKENBU1NBTkRSQS03Mjg0KQogKiBVc2UgcHJlcGFyZWQgc3RhdGVtZW50cyBpbnRlcm5hbGx5IChDQVNTQU5EUkEtNjk3NSkKICogRml4IGJyb2tlbiBwYWdpbmcgc3RhdGUgd2l0aCBwcmVwYXJlZCBzdGF0ZW1lbnQgKENBU1NBTkRSQS03MTIwKQogKiBGaXggSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIGluIENxbFN0b3JhZ2UgKENBU1NBTkRSouoITwAAAU/ePLJcABBldHJpY3MgZm9yIHJhbmdlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/GAAABAGcgKENBU1NBTkRSQS01MTA2KQogKiBmaXggdmFsaWRhdGlvbiBjb21wYWN0aW9uIG9mIGVtcHR5IHJvd3MgKENBU1NBTkRSQS01MTM2KQogKiBub2RldG9vbCBtZXRob2RzIHRvIGVuYWJsZS9kaXNhYmxlIGhpbnQgc3RvcmFnZS9kZWxpdmVyeSAoQ0FTU0FORFJBLTQ3NTApCiAqIGRpc2FsbG93IGJsb29tIGZpbHRlciBmYWxzZSBwb3NpdGl2ZSBjaGFuY2Ugb2YgMCAoQ0FTU0FORFJBLTUwMTMpCiAqIGFkZCB0aHJlYWRwb29sIHNpemUgYWRqdXN0bWXK9dCdAAABT948slwAEHcgb2YgQ29sdW1uT3JTdXAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8YAAAEAcHV0X2NxbCBTdGF0ZW1lbnQgKENBU1NBTkRSQS03MjI2KQogKiBCZXR0ZXIgZXJyb3IgbWVzc2FnZSB3aGVuIGFkZGluZyBhIGNvbGxlY3Rpb24gd2l0aCB0aGUgc2FtZSBuYW1lCiAgIHRoYW4gYSBwcmV2aW91c2x5IGRyb3BwZWQgb25lIChDQVNTQU5EUkEtNjI3NikKICogRml4IHZhbGlkYXRpb24gd2hlbiBhZGRpbmcgc3RhdGljIGNvbHVtbnMgKENBU1NBTkRSQS03NzMwKQogKiAoVGhyaWZ0KSBmaXggcmFuZ2UgZGVsZXRpb24gb2Ygc3VwZXJjb0Z52OMAAAFP3jyyXAAQIFRocmlmdCB0YWJsZXMgaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvxgAAAQBlcnRpb25FcnJvciB3aGVuIHJlYWRpbmcgc2F2ZWQgY2FjaGUgKENBU1NBTkRSQS04NzQwKQogKiAiZGlzayBmdWxsIiB3aGVuIHJ1bm5pbmcgY2xlYW51cCAoQ0FTU0FORFJBLTkwMzYpCiAqIExvd2VyIGxvZ2dpbmcgbGV2ZWwgZnJvbSBFUlJPUiB0byBERUJVRyB3aGVuIGEgc2NoZWR1bGVkIHNjaGVtYSBwdWxsCiAgIGNhbm5vdCBiZSBjb21wbGV0ZWQgZHVlIHRvIGEgbm9kZSBiZWluZyBkb3duIChDQVNTQU5EUkEtOTAzMikKICogRml4IE1PVkVEvwYggQAAAU/ePLJcABBsdXNoIHBlci1DRiAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/GAAABAGNvbGxhdGlvbgogKiBSZW1vdmUgc3VwcG9ydAogKiBXb3JrYXJvdW5kcyBmb3IgYSB3ZWlyZCBidWcgaW4gSkRLIHNlbGVjdC9yZWdpc3RlciB0aGF0IHNlZW1zCiAgIHBhcnRpY3VsYXJseSBjb21tb24gb24gVk0gZW52aXJvbm1lbnRzLiBDYXNzYW5kcmEgc2hvdWxkIGRlcGxveQogICBmaW5lIG9uIEVDMiBub3cKICogTXVjaCBpbXByb3ZlZCBpbmZyYXN0cnVjdHVyZTogdGhlIGJlZ2lubmluZ3Mgb2YgYSBkZWNlbnQgdGVzdCBzdWl0ZQogICAoImFd24WlAAAATF4u0qcAIQAGc3lzdGVtAAAOc2NoZW1hX2NvbHVtbnMAAAQAAAAGAAAAAAEBWh/yZ6zgPxKFY8+uYQPGXlVTZnIABRX31fqdcAAAAAAAAAAAE+1xhQAAAU/ePLJcABAgSEggdG8gY29tcGFjdCB3AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/GAAABACBGaXggSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIGR1cmluZyBwcmVwYXJlIChDQVNTQU5EUkEtNjU5MikKICogRml4IHBvc3NpYmxlIGxvc3Mgb2YgMm5kYXJ5IGluZGV4IGVudHJpZXMgZHVyaW5nIGNvbXBhY3Rpb24gKENBU1NBTkRSQS02NTE3KQogKiBGaXggZGlyZWN0IE1lbW9yeSBvbiBhcmNoaXRlY3R1cmVzIHRoYXQgZG8gbm90IHN1cHBvcnQgdW5hbGlnbmVkIGxvbmcgYWNjZXNzCiAgIChDQVNTQU5EUkEtNjYyOCkKICogTGV0IHNjcnViIG/tcjIJAAABT948slwAEChDQVNTQU5EUkEtMjQyMCkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8YAAAEAdGlvbnMgKENBU1NBTkRSQS0xNzQwLCAzNTY2LCAzNTgyKQogKiBtdWx0aXRocmVhZGVkIHN0cmVhbWluZyAoQ0FTU0FORFJBLTM0OTQpCiAqIHJlbW92ZWQgaW4tdHJlZSByZWRoYXQgc3BlYyAoQ0FTU0FORFJBLTM1NjcpCiAqICJkZWZyYWdtZW50IiByb3dzIGZvciBuYW1lLWJhc2VkIHF1ZXJpZXMgdW5kZXIgU1RDUywgYWdhaW4gKENBU1NBTkRSQS0yNTAzKQogKiBSZWN5Y2xlIGNvbW1pdGxvZyBzZWdtZW50cyBmb3IgaW1wcm92ZWQgcGVyZm9ybQwC3YsAAAFP3jyyXAAQV2FpdCBmb3IgZ29zc2lwIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvxgAAAQBvY2sgZnJvbSB0aGUgVGhyaWZ0IChhbmQgQXZybykgQVBJIChDQVNTQU5EUkEtMTUwMSkKICogQ2xvc2UgaW50cmEtbm9kZSBzb2NrZXRzIHdoZW4gY29ubmVjdGlvbiBpcyBicm9rZW4gKENBU1NBTkRSQS0xNTI4KQogKiBSUE0gcGFja2FnaW5nIHNwZWMgZmlsZSAoQ0FTU0FORFJBLTc4NikKICogd2VpZ2h0ZWQgcmVxdWVzdCBzY2hlZHVsZXIgKENBU1NBTkRSQS0xNDg1KQogKiB0cmVhdCBleHBpcmVkIGNvbHVtbnMgYXMgZGVsZXRlZCAoQ0FTU0FO2M2WxAAAAU/ePLJcABBlIEpWTSAoQ0FTU0FORFJBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/GAAABACogRG9uJ3QgYWxsb3cge0xPQ0FMfEVBQ0h9X1FVT1JVTSB1bmxlc3Mgc3RyYXRlZ3kgaXMgTlRTIChDQVNTQU5EUkEtMjYyNykKICogdmFsaWRhdGUga2V5c3BhY2Ugc3RyYXRlZ3lfb3B0aW9ucyBkdXJpbmcgQ1FMIGNyZWF0ZSAoQ0FTU0FORFJBLTI2MjQpCiAqIGZpeCBlbXB0eSBSZXN1bHQgd2l0aCBzZWNvbmRhcnkgaW5kZXggd2hlbiBsaW1pdD0xIChDQVNTQU5EUkEtMjYyOCkKICogRml4IHJlZ3Jlc3Npb24gd2hlcmUgYm9vdHN0cmFwcGluZyBsHWwtAAABT948slwAEGVyZ2VkIGZyb20gMS4xOgoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8YAAAEAdGwgZm9yIG1heGltdW0gb2YgMjAgeWVhcnMgKENBU1NBTkRSQS00NzcxKQogKiAoUGlnKSBmaXggd2lkZXJvdyBpbnB1dCB3aXRoIHNpbmdsZSBjb2x1bW4gcm93cyAoQ0FTU0FORFJBLTQ3ODkpCiAqIEZpeCBISCB0byBjb21wYWN0IHdpdGggY29ycmVjdCBnY0JlZm9yZSwgd2hpY2ggYXZvaWRzIHdpcGluZyBvdXQKICAgdW5kZWxpdmVyZWQgaGludHMgKENBU1NBTkRSQS00NzcyKQogKiBMQ1Mgd2lsbCBtZXJnZSB1cCB0byAzMiBMMCBzc3RhYmxlc3k8ZXoAAAFP3jyyXAAQQS02OTYpCiAqIGtlZXAgdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvxgAAAQByc2EgKENBU1NBTkRSQS0xNDQ3KQogKiBKTVggTWVzc2FnaW5nU2VydmljZSBwZW5kaW5nIGFuZCBjb21wbGV0ZWQgY291bnRzIChDQVNTQU5EUkEtMTUzMykKICogZml4IHJhY2UgY29uZGl0aW9uIHByb2Nlc3NpbmcgcmVwYWlyIHJlc3BvbnNlcyAoQ0FTU0FORFJBLTE1MTEpCiAqIG1ha2UgcmVwYWlyIGJsb2NraW5nIChDQVNTQU5EUkEtMTUxMSkKICogY3JlYXRlIEVuZHBvaW50U25pdGNoSW5mbyBhbmQgTUJlYW4gdG8gZXhwb3NlIHJhY2sgYW5kIEg/IgAAAU/ePLJcABAtMTM4NSkKICogZGlzYWxsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/GAAABAGUgYmFkIHJlZmNvdW50aW5nIChDQVNTQU5EUkEtODgxNSkKICogRml4IEFzc2VydGlvbkVycm9yIHdoZW4gcXVlcnlpbmcgYSBERVNDIGNsdXN0ZXJpbmcgb3JkZXJlZAogICB0YWJsZSB3aXRoIEFTQyBvcmRlcmluZyBhbmQgcGFnaW5nIChDQVNTQU5EUkEtODc2NykKICogQXNzZXJ0aW9uRXJyb3I6ICJNZW1vcnkgd2FzIGZyZWVkIiB3aGVuIHJ1bm5pbmcgY2xlYW51cCAoQ0FTU0FORFJBLTg3MTYpCiAqIE1ha2UgaXQgcG9zc2libGUgdG8gc2V0IG25seJtAB4pzD6ma8MAAAFP3jyyXAAQa2VlcGluZyAKICAgc2VnbQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvygAAAQBzIHRvIENMSSAoQ0FTU0FORFJBLTIwMzIpCiAqIG1lc3NhZ2Ugc2VyaWFsaXphdGlvbiB0ZXN0cyAoQ0FTU0FORFJBLTE5MjMpCiAqIHN3aXRjaCBmcm9tIGl2eSB0byBtYXZlbi1hbnQtdGFza3MgKENBU1NBTkRSQS0yMDE3KQogKiBDTEkgYXR0ZW1wdHMgdG8gYmxvY2sgZm9yIG5ldyBzY2hlbWEgdG8gcHJvcGFnYXRlIChDQVNTQU5EUkEtMjA0NCkKICogZml4IHBvdGVudGlhbCBvdmVyZmxvdyBpbiBub2RldG9vbCBjZnN0YXRzIChDQVNTQU5EUkEtxOhytgAAAU/ePLJcABBuZyBTU1RhYmxlIGNvbHVtAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/KAAABACBzbmFwc2hvdHMgZGlyZWN0b3JpZXMgKENBU1NBTkRSQS01NTg3KSAKICogZml4IFNuaXRjaFByb3BlcnRpZXMgbG9nZ2luZyBjb250ZXh0IChDQVNTQU5EUkEtNTYwMikKICogRXhwb3NlIHdoZXRoZXIgam5hIGlzIGVuYWJsZWQgYW5kIG1lbW9yeSBpcyBsb2NrZWQgdmlhIEpNWCAoQ0FTU0FORFJBLTU1MDgpCiAqIGNxbHNoOiBmaXggQ09QWSBGUk9NIHdpdGggUmV2ZXJzZWRUeXBlIChDQVNTQU5EUkEtNTYxMCkKICogQWxsb3cgY3JlYXRpbmcgQ1WTvfreAAABT948slwAEGdpbmcgb2YgIkZvdW5kIHQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8oAAAEAbHkgdXBkYXRlIGZ1bmN0aW9uIGNvcnJlY3RseSAoQ0FTU0FORFJBLTY2OTIpCiAqIEFsbG93IG5vZGV0b29sIHRvIHVzZSBhIGZpbGUgb3IgcHJvbXB0IGZvciBwYXNzd29yZCAoQ0FTU0FORFJBLTY2NjApCiAqIEZpeCBBSU9PQkUgd2hlbiBjb25jdXJyZW50bHkgYWNjZXNzaW5nIEFCU0MgKENBU1NBTkRSQS02NzQyKQogKiBGaXggYXNzZXJ0aW9uIGVycm9yIGluIEFMVEVSIFRZUEUgUkVOQU1FIChDQVNTQU5EUkEtNjcwNSkKICogU2NydWIgc2hvdQmvfJwAAAFP3jyyXAAQZXNob2xkcyBkdXJpbmcgbAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvygAAAQB5IGlmIGluc3VmZmljaWVudCBsaXZlIG5vZGVzIGV4aXN0IChDQVNTQU5EUkEtMTgwMykKICogY29weSBieXRlYnVmZmVycyBmb3IgbG9jYWwgd3JpdGVzIHRvIGF2b2lkIHJldGFpbmluZyB0aGUgZW50aXJlCiAgIFRocmlmdCBmcmFtZSAoQ0FTU0FORFJBLTE4MDEpCiAqIGZpeCBOUEUgYWRkaW5nIGluZGV4IHRvIGNvbHVtbiB3L28gcHJpb3IgbWV0YWRhdGEgKENBU1NBTkRSQS0xNzY0KQogKiByZWR1Y2UgZmF0IGNsaWVudCB0aW1lb3V0IChDQVNTA61TlwAAAU/ePLJcABAwKQpNZXJnZWQgZnJvbSAxAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/KAAABAGhvdCwgZGlmZmVyZW5jaW5nKSBjb25jdXJyZW5jeSAoQ0FTU0FORFJBLTY1NjYpCiAqIEZpeCByZXBsYXlpbmcgcHJlLTIuMCBjb21taXQgbG9ncyAoQ0FTU0FORFJBLTY3MTQpCiAqIEFkZCBzdGF0aWMgY29sdW1ucyB0byBDUUwzIChDQVNTQU5EUkEtNjU2MSkKICogT3B0aW1pemUgc2luZ2xlIHBhcnRpdGlvbiBiYXRjaCBzdGF0ZW1lbnRzIChDQVNTQU5EUkEtNjczNykKICogRGlzYWxsb3cgcG9zdC1xdWVyeSByZS1vcmRlcmluZyB3aGVuIHBhZ2n/iWp7AAABT948slwAECBUTyA8bmFtZT4iIGZyb20AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8oAAAEAcGxlVW5zb3J0ZWRXcml0ZXIgQ29uY3VycmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlvbiAoQ0FTU0FORFJBLTg2MTkpCiAqICdub2RldG9vbCBpbmZvJyBwcmludHMgZXhjZXB0aW9uIGFnYWluc3Qgb2xkZXIgbm9kZSAoQ0FTU0FORFJBLTg3OTYpCiAqIEVuc3VyZSBTU1RhYmxlU2ltcGxlVW5zb3J0ZWRXcml0ZXIuY2xvc2UoKSB0ZXJtaW5hdGVzIGlmCiAgIGRpc2sgd3JpdGVyIGhhcyBjcmFzaGVkIChDQVNTQU5EUkEtODgwNykKCgoyLjEuNAogKiBCaWnt4G8AAAFP3jyyXAAQCiAqIG1ha2UgQnl0ZXNUbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvygAAAQAgZm9yIENvbHVtbkZhbWlseUlucHV0Rm9ybWF0IChDQVNTQU5EUkEtMzI2NCkKICogQWxsb3cgZXh0ZW5kaW5nIENvbXBvc2l0ZVR5cGUgY29tcGFyYXRvciAoQ0FTU0FORFJBLTM2NTcpCiAqIEF2b2lkcyBvdmVyLXBhZ2luZyBkdXJpbmcgZ2V0X2NvdW50IChDQVNTQU5EUkEtMzc5OCkKICogQWRkIG5ldyBjb21tYW5kIHRvIHJlYnVpbGQgYSBub2RlIHdpdGhvdXQgKHJlcGFpcikgbWVya2xlIHRyZWUgY2FsY3VsYXRpb25zCiAgIChDQVNTQU5EUkEtLQUCgQAAAU/ePLJcABBlcnNpb24sIGNsdXN0ZXIsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/KAAABAGJsZVJld3JpdGVyIGNsZWFudXAgKENBU1NBTkRSQS04ODAyKQogKiBJbnRyb2R1Y2UgU2FmZU1lbW9yeSBmb3IgQ29tcHJlc3Npb25NZXRhZGF0YS5Xcml0ZXIgKENBU1NBTkRSQS04NzU4KQogKiAnbm9kZXRvb2wgaW5mbycgcHJpbnRzIGV4Y2VwdGlvbiBhZ2FpbnN0IG9sZGVyIG5vZGUgKENBU1NBTkRSQS04Nzk2KQogKiBFbnN1cmUgU1NUYWJsZVJlYWRlci5sYXN0IGNvcnJlc3BvbmRzIGV4YWN0bHkgd2l0aCB0aGUgZmlsZSBlbmQgKENBU1NBTkQtuz+EAAABT948slwAEEEtNzg1MikKICogTWFrZSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8oAAAEAdGNoIHRvIFRocmlmdCBBUEkgKENBU1NBTkRSQS0xNDkwKQogKiBNRDUgYXV0aGVudGljYXRvciBjb21wYXJlcyBwbGFpbiB0ZXh0IHN1Ym1pdHRlZCBwYXNzd29yZCB3aXRoIE1ENSdkCiAgIHNhdmVkIHByb3BlcnR5LCBpbnN0ZWFkIG9mIHZpY2UgdmVyc2EgKENBU1NBTkRSQS0xNDQ3KQogKiBKTVggTWVzc2FnaW5nU2VydmljZSBwZW5kaW5nIGFuZCBjb21wbGV0ZWQgY291bnRzIChDQVNTQU5EUkEtMTUzMykKICogZml4IHJhY2UgY29uZGl0aW9uIAj+A/kAAAFP3jyyXAAQQU5EUkEtMTQzMikKICogaQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvygAAAQBhX2tleXNwYWNlcyAoQ0FTU0FORFJBLTQ0MzMpCiAqIGltcHJvdmUgIm5vZGV0b29sIHJpbmciIGhhbmRsaW5nIG9mIG11bHRpLWRjIGNsdXN0ZXJzIChDQVNTQU5EUkEtMzA0NykKICogdXBkYXRlIE5UUyBjYWxjdWxhdGVOYXR1cmFsRW5kcG9pbnRzIHRvIGJlIE8oTiBsb2cgTikgKENBU1NBTkRSQS0zODgxKQogKiBzcGxpdCB1cCBycGMgdGltZW91dCBieSBvcGVyYXRpb24gdHlwZSAoQ0FTU0FORFJBLTI4MTkpCiAqIHJld3JpdGUga2V5IGNhY2hl42GZfAAAAU/ePLJcABBjaGVjay4KICAgKENBU1NBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/KAAABAGVzIGl0IGhhbGYgdGhlCiAgIGtleXMgZnJvbSB0aGUgbW9zdC1oZWF2aWx5LWxvYWRlZCBub2RlIGluIHRoZSBjbHVzdGVyLAogICBpbnN0ZWFkIG9mIGdlbmVyYXRpbmcgYSByYW5kb20gdG9rZW4uIAogICAoQ0FTU0FORFJBLTM4NSwgQ0FTU0FORFJBLTUxNykKICogTWlzY2VsbGFuZW91cyBib290c3RyYXAgZml4ZXMgKHNldmVyYWwgdGlja2V0cykKICogQWJpbGl0eSB0byBjaGFuZ2UgYSBub2RlJ3MgdG9rZW4gZXZlbiBhZnRlciBpdCBoYXMgZGFEYHZ4AAABT948slwAEGUgb3BlcmF0aW9uIHRvd2EAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8oAAAEAU0FORFJBLTIyOTYpCiAqIGZpeCBhc3NlcnRpb24gZXJyb3IgaW4gcmFuZ2UgYW5kIGluZGV4IHNjYW5zIGZvciBDTCA8IEFMTAogICAoQ0FTU0FORFJBLTIyODIpCiAqIGZpeCBjb21taXRsb2cgcmVwbGF5IHdoZW4gZmx1c2ggcG9zaXRpb24gcmVmZXJzIHRvIGRhdGEgdGhhdCBkaWRuJ3QKICAgZ2V0IHN5bmNlZCBiZWZvcmUgc2VydmVyIGRpZWQgKENBU1NBTkRSQS0yMjg1KQogKiBmaXggZmQgbGVhayBpbiBzc3RhYmxlMmpzb24gd2l0aCBub24tbXvgz54AAAFP3jyyXAAQZWxldGlvbnMgKENBU1NBTgAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvygAAAQB0ZXMgaW4gIlVTRSA8a2V5c3BhY2U+OyIgQ0xJIGNvbW1hbmQgKENBU1NBTkRSQS0zMjA4KQogKiBMb2cgbWVzc2FnZSB3aGVuIGEgZnVsbCByZXBhaXIgb3BlcmF0aW9uIGNvbXBsZXRlcyAoQ0FTU0FORFJBLTMyMDcpCiAqIERvbid0IGFsbG93IGFueSBjYWNoZSBsb2FkaW5nIGV4Y2VwdGlvbnMgdG8gaGFsdCBzdGFydHVwIChDQVNTQU5EUkEtMzIxOCkKICogRml4IHNzdGFibGVsb2FkZXIgLS1pZ25vcmVzIG9wdGlvbiAoQ0FTU0FORFJBLTMyNDcpICYTHwAAAU/ePLJcABBzcyB0aHJlc2hvbGQgdG8gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/KAAABADk5MikKICogZXhwbGljaXRseSBzZXQgSlZNIEdDIG5ldyBnZW5lcmF0aW9uIHNpemUgd2l0aCAtWG1uIChDQVNTQU5EUkEtMTk2OCkKICogYWRkIHNob3J0IG9wdGlvbnMgZm9yIENMSSBmbGFncyAoQ0FTU0FORFJBLTE1NjUpCiAqIG1ha2Uga2V5c3BhY2UgYXJndW1lbnQgdG8gImRlc2NyaWJlIGtleXNwYWNlIiBpbiBDTEkgb3B0aW9uYWwKICAgd2hlbiBhdXRoZW50aWNhdGVkIHRvIGtleXNwYWNlIGFscmVhZHkgKENBU1NBTkRSQS0yMDI5KQogKiD91CI6AAABT948slwAEE1lc3NhZ2luZ1NlcnZpY2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL8oAAAEAIGludGVybmFsIGFwcGxpY2F0aW9uIGVycm9yIHNwZWNpZnlpbmcgJ3VzaW5nIGNvbnNpc3RlbmN5IC4uLicKICAgaW4gbG93ZXIgY2FzZSAoQ0FTU0FORFJBLTMzNjYpCiAqIGZpeCBEZWZsYXRlIGNvbXByZXNzaW9uIHdoZW4gY29tcHJlc3Npb24gYWN0dWFsbHkgbWFrZXMgdGhlIGRhdGEgYmlnZ2VyCiAgIChDQVNTQU5EUkEtMzM3MCkKICogb3B0aW1pemUgVVVJREdlbiB0byBhdm9pZCBsb2NrIGNvbnRlbnRpb24gb24gSW5ldEFkZHJlc3MuZ2V0TFljgogAHj6BAorgbgAAAU/ePLJcABA5MSkKICogQWRkIGFiaWxpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/NAAABAGN1bGF0aW9ucwogICAoQ0FTU0FORFJBLTM0ODMsIDM5MjIpCiAqIHJlc3BlY3Qgbm90IG9ubHkgcm93IGNhY2hlIGNhcGFjaXR5IGJ1dCBjYWNoaW5nIG1vZGUgd2hlbgogICB0cnlpbmcgdG8gcmVhZCBkYXRhIChDQVNTQU5EUkEtMzgxMikKICogZml4IHN5c3RlbSB0ZXN0cyAoQ0FTU0FORFJBLTM4MjcpCiAqIENRTCBzdXBwb3J0IGZvciBhbHRlcmluZyByb3cga2V5IHR5cGUgaW4gQUxURVIgVEFCTEUgKENBU1NBTkRSQS0zNzgxKQogKiB0dXJuIGNBtlHkAAABT948slwAEERSQS03NDAzKQogKiBJbnQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL80AAAEAeCBwYXRoIGxlbmd0aCByZXF1aXJlbWVudCBmb3Igc3N0YWJsZSBmaWxlcyB3aGVuIHVwZ3JhZGluZyBvbiAKICAgbm9uLVdpbmRvd3MgcGxhdGZvcm1zIChDQVNTQU5EUkEtNDExMCkKICogZml4IHRlcm1pbmluYXRpb24gb2YgdGhlIHN0cmVzcy5qYXZhIHdoZW4gZXJyb3JzIHdlcmUgZW5jb3VudGVyZWQKICAgKENBU1NBTkRSQS00MTI4KQogKiBNb3ZlIENmRGVmIGFuZCBLc0RlZiB2YWxpZGF0aW9uIG91dCBvZiB0aHJpZnQgKENBU1NBTkRSQS00MCL3l7EAAAFP3jyyXAAQdGggdG8gYXZvaWQKICAgMwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvzQAAAQAtODI2MikKICogKGNxbHNoKSBGaXggU0VMRUNUIC4uLiBUT0tFTigpIGZ1bmN0aW9uIGJyb2tlbiBpbiBDKiAyLjEuMSAoQ0FTU0FORFJBLTgyNTgpCiAqIEZpeCBDYXNzYW5kcmEgY3Jhc2ggd2hlbiBydW5uaW5nIG9uIEpESzggdXBkYXRlIDQwIChDQVNTQU5EUkEtODIwOSkKICogT3B0aW1pemUgcGFydGl0aW9uZXIgdG9rZW5zIChDQVNTQU5EUkEtODIzMCkKICogSW1wcm92ZSBjb21wYWN0aW9uIG9mIHJlcGFpcmVkL3VucmVwYWlyZWQgc3N0YWJs21LEagAAAU/ePLJcABBjb2x1bW5zIHRoYXQgYXJlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/NAAABACkKICogTW9yZSBlZmZpY2llbnQgdXNlIG9mIG1lbW9yeSBkdXJpbmcgY29tcGFjdGlvbiAoQ0FTU0FORFJBLTQzNikKICogYXV0b2Jvb3RzdHJhcCBvcHRpb246IHdoZW4gZW5hYmxlZCwgYWxsIG5vbi1zZWVkIG5vZGVzIHdpbGwgYXR0ZW1wdAogICB0byBib290c3RyYXAgd2hlbiBzdGFydGVkLCB1bnRpbCBib290c3RyYXAgc3VjY2Vzc2Z1bGx5CiAgIGNvbXBsZXRlcy4gLWIgb3B0aW9uIGlzIHJlbW92ZWQuICAoQ0FTU0FORFJBLTQzOCkKICogVW6T26+NAAABT948slwAEGZvciB0cmFjaW5nIGFuZCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL80AAAEALXplcm8gaW4gSEhPTSAoQ0FTU0FORFJBLTU5OTApCiAqIEFsbG93IGxvY2FsIGJhdGNobG9nIHdyaXRlcyBmb3IgQ0wuQU5ZIChDQVNTQU5EUkEtNTk2NykKICogVXBncmFkZSBtZXRyaWNzLWNvcmUgdG8gdmVyc2lvbiAyLjIuMCAoQ0FTU0FORFJBLTU5NDcpCiAqIEZpeCBDcWxSZWNvcmRXcml0ZXIgd2l0aCBjb21wb3NpdGUga2V5cyAoQ0FTU0FORFJBLTU5NDkpCiAqIEFkZCBzbml0Y2gsIHNjaGVtYSB2ZXJzaW9uLCBjbHVzdGVyLCBwYXJ0aXRpbxtV11cAAAFP3jyyXAAQQU5EUkEtMjg2MykKICogKAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvzQAAAQBvb2wgY29tcGFjdGlvbnN0YXRzIChDQVNTQU5EUkEtNDE2NykKICogKGNxbCkgZml4IE5QRSBpbiBjcWwzIEFMVEVSIFRBQkxFIChDQVNTQU5EUkEtNDE2MykKICogKGNxbCkgQWRkIHN1cHBvcnQgZm9yIENMLlRXTyBhbmQgQ0wuVEhSRUUgaW4gQ1FMIChDQVNTQU5EUkEtNDE1NikKICogKGNxbCkgRml4IHR5cGUgaW4gQ1FMMyBBTFRFUiBUQUJMRSBwcmV2ZW50aW5nIHVwZGF0ZSAoQ0FTU0FORFJBLTQxNzApCiAqIChjcWwpIFRocm93IGludmFsaWQg01d/2QAAAU/ePLJcABB4IGxvY2tzIGZvciBmYXN0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/NAAABAHkgaW5kZXhlcyAoQ0FTU0FORFJBLTY1OTgpCiAqIFBhZ2luYXRlIGJhdGNobG9nIHJlcGxheSAoQ0FTU0FORFJBLTY1NjkpCiAqIHNraXAgYmxvY2tpbmcgb24gc3RyZWFtaW5nIGR1cmluZyBkcmFpbiAoQ0FTU0FORFJBLTY2MDMpCiAqIEltcHJvdmUgZXJyb3IgbWVzc2FnZSB3aGVuIHNjaGVtYSBkb2Vzbid0IG1hdGNoIGxvYWRlZCBzc3RhYmxlIChDQVNTQU5EUkEtNjI2MikKICogQWRkIHByb3BlcnRpZXMgdG8gYWRqdXN0IEZEIGluaXRpYWwgdmFDQ9uXAAABT948slwAEG50cy4gQ2Fzc2FuZHJhIHMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL80AAAEAZXNvbHZlciBjaGVjayBkaWdlc3RzIGFnYWluc3QgZWFjaCBvdGhlciAoQ0FTU0FORFJBLTE4MzApCiAqIHJldHVybiBJbnZhbGlkUmVxdWVzdCB3aGVuIHJlbW92ZSBvZiBzdWJjb2x1bW4gd2l0aG91dCBzdXBlcmNvbHVtbgogICBpcyByZXF1ZXN0ZWQgKENBU1NBTkRSQS0xODY2KQogKiBmbHVzaCBiZWZvcmUgcmVwYWlyIChDQVNTQU5EUkEtMTc0OCkKICogU1NUYWJsZUV4cG9ydCB2YWxpZGF0ZXMga2V5IG9yZGVyIChDQVNTQU5EUkEtMTg4NCkKIN4cu2gAAAFP3jyyXAAQYWxmb3JtZWQgSk1YIE9iagAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvzQAAAQBBLTEyNzUpCiAqIHJlbW92ZSBnb3NzaXAgbWVzc2FnZSBzaXplIGxpbWl0IChDQVNTQU5EUkEtMTEzOCkKICogcGFyYWxsZWxpemUgbG9jYWwgYW5kIHJlbW90ZSByZWFkcyBkdXJpbmcgbXVsdGlnZXQsIGFuZCByZXNwZWN0IHNuaXRjaCAKICAgd2hlbiBkZXRlcm1pbmluZyB3aGV0aGVyIHRvIGRvIGxvY2FsIHJlYWQgZm9yIENMLk9ORSAoQ0FTU0FORFJBLTEzMTcpCiAqIGZpeCByZWFkIHJlcGFpciB0byB1c2UgcmVxdWVzdGVkIGNvbnNpc3RlbmN5z3sbiAAAAU/ePLJcABBtbW9uIG9uIE9TIFggKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/NAAABAHMgKENBU1NBTkRSQS04MzY2KQogKiBGaXggY29tbWl0bG9nIGdldFBlbmRpbmdUYXNrcyB0byBub3QgaW5jcmVtZW50IChDQVNTQU5EUkEtODg2MikKICogRml4IHBhcmFsbGVsaXNtIGFkanVzdG1lbnQgaW4gcmFuZ2UgYW5kIHNlY29uZGFyeSBpbmRleCBxdWVyaWVzCiAgIHdoZW4gdGhlIGZpcnN0IGZldGNoIGRvZXMgbm90IHNhdGlzZnkgdGhlIGxpbWl0IChDQVNTQU5EUkEtODg1NikKICogQ2hlY2sgaWYgdGhlIGZpbHRlcmVkIHNzdGFibGVzIGm/rJZVAAABT948slwAEF9HRVQgb3B0aW9uIChDQVMAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL80AAAEAZGQgYSB0b2tlbiBnZW5lcmF0aW9uIHRvb2wgKENBU1NBTkRSQS0zNzA5KQogKiBGaXggTENTIGJ1ZyB3aXRoIHNzdGFibGUgY29udGFpbmluZyBvbmx5IDEgcm93IChDQVNTQU5EUkEtNDQxMSkKICogZml4ICJDYW4ndCBNb2RpZnkgSW5kZXggTmFtZSIgcHJvYmxlbSBvbiBDRiB1cGRhdGUgKENBU1NBTkRSQS00NDM5KQogKiBGaXggYXNzZXJ0aW9uIGVycm9yIGluIGdldE92ZXJsYXBwaW5nU1NUYWJsZXMgZHVyaW5nIHJlcGFpciAoQ0FTU0FORFJBLUFK1NsAAAFP3jyyXAAQTWFrZSBGUk9aRU4gYW5kIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvzQAAAQA2OTY2KQogKiBGaXggYmFkIHNraXAgb2Ygc3N0YWJsZXMgb24gc2xpY2UgcXVlcnkgd2l0aCBjb21wb3NpdGUgc3RhcnQvZmluaXNoIChDQVNTQU5EUkEtNjgyNSkKICogRml4IHVuaW50ZW5kZWQgdXBkYXRlIHdpdGggY29uZGl0aW9uYWwgc3RhdGVtZW50IChDQVNTQU5EUkEtNjg5MykKICogRml4IG1hcCBlbGVtZW50IGFjY2VzcyBpbiBJRiAoQ0FTU0FORFJBLTY5MTQpCiAqIEF2b2lkIGNvc3RseSByYW5nZSBjYWxjdWxhdGlvbnMgZm9yIHJhbmdl164xSQAAAU/ePLJcABA5KQogKiBmaXggdXBkYXRlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/NAAABAGlvbiBlcnJvcnMgKENBU1NBTkRSQS0zNjEyKQogKiBjcWxzaDogZml4IGJhZCBkZWNvZGluZyBvZiBzb21lIGNvbHVtbiBuYW1lcyAoQ0FTU0FORFJBLTQwMDMpCiAqIGNxbHNoOiBmaXggaW5jb3JyZWN0IHBhZGRpbmcgd2l0aCB1bmljb2RlIGNoYXJzIChDQVNTQU5EUkEtNDAzMykKICogRml4IEVDMiBzbml0Y2ggaW5jb3JyZWN0bHkgcmVwb3J0aW5nIHJlZ2lvbiAoQ0FTU0FORFJBLTQwMjYpCiAqIFNodXQgZG93biB0aHJpZnQgZHVyaW5nIGRlY28lua73AAABT948slwAEGF0ZWx5IGFmdGVyIGhhbmQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL80AAAEAbGliIChDQVNTQU5EUkEtNTEyNikKICogRXhwb3NlIGRyb3BwYWJsZSB0b21ic3RvbmUgcmF0aW8gc3RhdHMgb3ZlciBKTVggKENBU1NBTkRSQS01MTU5KQpNZXJnZWQgZnJvbSAxLjE6CiAqIFNpbXBsaWZ5IENvbXByZXNzZWRSYW5kb21BY2Nlc3NSZWFkZXIgdG8gd29yayBhcm91bmQgSkRLIEZEIGJ1ZyAoQ0FTU0FORFJBLTUwODgpCiAqIEltcHJvdmUgaGFuZGxpbmcgYSBjaGFuZ2luZyB0YXJnZXQgdGhyb3R0bGUgcmF0ZSBtaWQtY29tcGFjdGlvbid3BKYAAAFP3jyyXAAQb24gcmF0aGVyIHRoYW4gdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgvzQAAAQAgcGFyYWxsZWwgY29tcGFjdGlvbnMgKENBU1NBTkRSQS0zNzU4KQogKiBmaXggaW50ZXJtaXR0ZW50IE5QRSBpbiBnZXRfc2xpY2UgKENBU1NBTkRSQS00MDk1KQogKiByZW1vdmUgdW5uZWNlc3NhcnkgYXNzZXJ0cyBpbiBuYXRpdmUgY29kZSBpbnRlcmZhY2VzIChDQVNTQU5EUkEtNDA5NikKICogVmFsaWRhdGUgYmxhbmsga2V5cyBpbiBDUUwgdG8gYXZvaWQgYXNzZXJ0aW9uIGVycm9ycyAoQ0FTU0FORFJBLTM2MTIpCiAqIGNxbHNoOiBmaXggYmFkAqDRBQAAAExeLtKnACEABnN5c3RlbQAADnNjaGVtYV9jb2x1bW5zAAAEAAAACwAAAAABAVof8mes4D8ShWPPrmEDxl5VU2ZyAAUV99X6vLAAAAAAAAAAAN6UjG4AHlLeD2RZ1QAAAU/ePLJcABB0aGVudGljYXRlIHRvIGEgAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/QAAABAGFuZHJhLnN0b3JhZ2VkaXIgZm9yIGFsbCB0b29sIHNoZWxsIHNjcmlwdHMgKENBU1NBTkRSQS03NTg3KQogKiBEb24ndCBzd2FwIG1heC9taW4gY29sIG5hbWVzIHdoZW4gbXV0YXRpbmcgc3N0YWJsZSBtZXRhZGF0YSAoQ0FTU0FORFJBLTc1OTYpCiAqIChjcWxzaCkgQ29ycmVjdGx5IGhhbmRsZSBwYWdlZCByZXN1bHQgc2V0cyAoQ0FTU0FORFJBLTc2MjUpCiAqIChjcWxzaCkgSW1wcm92ZSB3YWl0aW5nIGZvciBhIHRyYWNlIHRvIGNvbXBsZXRlICjOlBlKAAABT948slwAEHJpZnQgKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9AAAAEAbWUgc2VlZCAoQ0FTU0FORFJBLTc5NjQpCiAqIFJlZHVjZSBjYXNzYW5kcmEtc3RyZXNzIHNhbXBsaW5nIG1lbW9yeSByZXF1aXJlbWVudHMgKENBU1NBTkRSQS03OTI2KQogKiBFbnN1cmUgbWVtdGFibGUgZmx1c2ggY2Fubm90IGV4cGlyZSBjb21taXQgbG9nIGVudHJpZXMgZnJvbSBpdHMgZnV0dXJlIChDQVNTQU5EUkEtODM4MykKICogTWFrZSByZWFkICJkZWZyYWciIGFzeW5jIHRvIHJlY2xhaW0gbWVtdGFibGVzIChDQVNTQU5EUkEtODQ1OSkKIOYcBdQAAAFP3jyyXAAQcmUgaGFuZGxlciB0byBhcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv0AAAAQBSQS0zOTIwKQogKiBmaXggZGVmYXVsdCBibG9vbV9maWx0ZXJfZnBfY2hhbmNlIGZvciBMZXZlbGVkQ29tcGFjdGlvblN0cmF0ZWd5IChDQVNTQU5EUkEtNTA5MykKTWVyZ2VkIGZyb20gMS4xOgogKiBhZGQgdmFsaWRhdGlvbiBmb3IgZ2V0X3JhbmdlX3NsaWNlcyB3aXRoIHN0YXJ0X2tleSBhbmQgZW5kX3Rva2VuIChDQVNTQU5EUkEtNTA4OSkKCgoxLjIuMC1yYzIKICogZml4IG5vZGV0b29sIG93bmVyc2hpcCBkaXNwbGF5IHdpdGggdm5vZGVzIChDt5eAHwAAAU/ePLJcABBjb3VudGVyIGNmcwogICAoAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/QAAABAG1lbXRhYmxlX2ZsdXNoX3dyaXRlcnMgZGVmYXVsdHMgCiAgIChDQVNTQU5EUkEtNzU1MSkKICogKFdpbmRvd3MpIGZpeCBzdGFydHVwIHdoZW4gV01JIG1lbW9yeSBxdWVyeSBmYWlscyAoQ0FTU0FORFJBLTc1MDUpCiAqIEFudGktY29tcGFjdGlvbiBwcm9jZWVkcyBpZiBhbnkgcGFydCBvZiB0aGUgcmVwYWlyIGZhaWxlZCAoQ0FTQU5EUkEtNzUyMSkKICogQWRkIG1pc3NpbmcgdGFibGUgbmFtZSB0byBEUk9QIElOREVYIHJlc3BvbnNlcyBhbmQgbm/RwQLrAAABT948slwAEG1pdGxvZyBoZWFkZXIgaW4AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9AAAAEAIGNvbGxlY3Rpb24gKENBU1NBTkRSQS03ODY5KQogKiBJbXByb3ZlIHN0cmVzcyB3b3JrbG9hZCByZWFsaXNtIChDQVNTQU5EUkEtNzUxOSkKCgoyLjEuMC1yYzcKICogQWRkIGZyb3plbiBrZXl3b3JkIGFuZCByZXF1aXJlIFVEVCB0byBiZSBmcm96ZW4gKENBU1NBTkRSQS03ODU3KQogKiBUcmFjayBhZGRlZCBzc3RhYmxlIHNpemUgY29ycmVjdGx5IChDQVNTQU5EUkEtNzIzOSkKICogKGNxbHNoKSBGaXggY2FzZSBpbnNlbnNpdGl2aXR5IChDQVNTQb/UxLUAAAFP3jyyXAAQeFN1bW1hcnkgZHVyaW5nIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv0AAAAQBuIGRvaW5nIHJldmVyc2VkIHF1ZXJpZXMgd2l0aCBzdGF0aWMgY29sdW1ucyAoQ0FTU0FORFJBLTc0OTApCk1lcmdlZCBmcm9tIDEuMjoKICogU2V0IGNvcnJlY3Qgc3RyZWFtIElEIG9uIHJlc3BvbnNlcyB3aGVuIG5vbi1FeGNlcHRpb24gVGhyb3dhYmxlcwogICBhcmUgdGhyb3duIHdoaWxlIGhhbmRsaW5nIG5hdGl2ZSBwcm90b2NvbCBtZXNzYWdlcyAoQ0FTU0FORFJBLTc0NzApCgoKMi4xLjAtcmMzCiAqIENvbnNpZGVyIGV4cGlyeSB3aGVuIHJl3kgDCQAAAU/ePLJcABB1bmlxdWUgcmFjayBuYW1lAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/QAAABAGFudGlhdGluZyBVcGRhdGVDb2x1bW5GYW1pbHkgKENBU1NBTkRSQS0zMTAyKQogKiBtYWtlIFJhbmdlIGFuZCBCb3VuZHMgb2JqZWN0cyBjbGllbnQtc2FmZSAoQ0FTU0FORFJBLTMxMDgpCiAqIG9wdGlvbmFsbHkgc2tpcCBsb2c0aiBjb25maWd1cmF0aW9uIChDQVNTQU5EUkEtMzA2MSkKICogYnVuZGxlIHNzdGFibGVsb2FkZXIgd2l0aCB0aGUgZGViaWFuIHBhY2thZ2UgKENBU1NBTkRSQS0zMTEzKQogKiBkb24ndCB0cnkgdG8gYnVpbGQgc2Vjb27OtAtBAAABT948slwAEC02NzAyKQogKiBJbmNsdWQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9AAAAEAbmcgcm91bmRzIGNvbmZpZ3VyYWJsZSAoQ0FTU0FORFJBLTgwODUpCiAqIEZpeCBBc3NlcnRpb25FcnJvciB3aGVuIGJpbmRpbmcgbmVzdGVkIGNvbGxlY3Rpb25zIGluIERFTEVURSAoQ0FTU0FORFJBLTg5MDApCiAqIENoZWNrIGZvciBvdmVybGFwIHdpdGggbm9uLWVhcmx5IHNzdGFibGVzIGluIExDUyAoQ0FTU0FORFJBLTg3MzkpCiAqIE9ubHkgY2FsY3VsYXRlIG1heCBwdXJnYWJsZSB0aW1lc3RhbXAgaWYgd2UgaGF2ZSB0byAoQ0FTU0FORFJBLVJMcqgAAAFP3jyyXAAQKiBBZGQgc3VwcG9ydCBmbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv0AAAAQBvdmUgQ2FsbG91dExvY2F0aW9uIGFuZCBTdGFnaW5nRmlsZURpcmVjdG9yeSBmcm9tIHN0b3JhZ2UtY29uZiBmaWxlcyAKICAgc2luY2UgdGhvc2Ugc2V0dGluZ3MgYXJlIG5vIGxvbmdlciB1c2VkIChDQVNTQU5EUkEtODc4KQogKiBQYXJzZSBhIGxvbmcgZnJvbSBSb3dXYXJuaW5nVGhyZXNob2xkSW5NQiBpbnN0ZWFkIG9mIGFuIGludCAoQ0FTU0FORFJBLTg4MikKICogUmVtb3ZlIG9ic29sZXRlIENvbnRyb2xQb3J0IGNvZGUgZnJvbSBEYXRhYmFzHqvixAAAAU/ePLJcABAyNDYpCiAqIHJlbmFtZSBzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/QAAABACkKICogZml4IHNldHRpbmcgcmVhZF9yZXBhaXJfY2hhbmNlIGZyb20gQ0xJIGFkZENvbHVtbkZhbWlseSAoQ0FTU0FORFJBLTEzOTkpCiAqIGZpeCB1cGRhdGVzIHRvIGluZGV4ZWQgY29sdW1ucyAoQ0FTU0FORFJBLTEzNzMpCiAqIGZpeCByYWNlIGNvbmRpdGlvbiBsZWF2aW5nIHRvIEZpbGVOb3RGb3VuZEV4Y2VwdGlvbiAoQ0FTU0FORFJBLTEzODIpCiAqIGZpeCBzaGFyZGVkIGxvY2sgaGFzaCBvbiBpbmRleCB3cml0ZSBwYXRoIChDQVNTQU5EUkGkzOfjAAABT948slwAEChDQVNTQU5EUkEtMzA1NykAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9AAAAEAIHVwIHRvbWJzdG9uZSBwdXJnZSBjb2RlIChDQVNTQU5EUkEtMzg3MikKICogQXZvaWQgTlBFIG9uIGFib2FydGVkIHN0cmVhbS1vdXQgc2Vzc2lvbnMgKENBU1NBTkRSQS0zOTA0KQogKiBCdWxrUmVjb3JkV3JpdGVyIHRocm93cyBOUEUgZm9yIGNvdW50ZXIgY29sdW1ucyAoQ0FTU0FORFJBLTM5MDYpCiAqIFN1cHBvcnQgY29tcHJlc3Npb24gdXNpbmcgQnVsa1dyaXRlciAoQ0FTU0FORFJBLTM5MDcpCgoKMS4wLjgKICogZml4IHJhY2UgYmV0d2Vlbs+ccHsAAAFP3jyyXAAQaW5nCiAgIHNzdGFibGVzIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv0AAAAQB2ZSBjbGkgaGFuZGxpbmcgb2Ygbm9uLXN0cmluZyBrZXlzIGFuZCBjb2x1bW4gbmFtZXMgCiAgIChDQVNTQU5EUkEtMTcwMSwgLTE2OTMpCiAqIHIvbSBleHRyYSBzdWJjb21wYXJhdG9yIGxpbmUgaW4gY2xpIGtleXNwYWNlcyBvdXRwdXQgKENBU1NBTkRSQS0xNzEyKQogKiBhZGQgcmVhZCByZXBhaXIgY2hhbmNlIHRvIGNsaSAic2hvdyBrZXlzcGFjZXMiCiAqIHVwZ3JhZGUgdG8gQ29uY3VycmVudExpbmtlZEhhc2hNYXAgMS4xIChDQVNTQU5EUkEtF6dZSwAAAU/ePLJcABBjdGVkUm93IGVuY2Fwc3VsAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/QAAABACkKICogYWRkIERST1AgSU5ERVggc3VwcG9ydCB0byBDTEkgKENBU1NBTkRSQS0yNjE2KQogKiBkb24ndCBwZXJmb3JtIEhIIHRvIGNsaWVudC1tb2RlIFtzdG9yYWdlcHJveHldIG5vZGVzIChDQVNTQU5EUkEtMjY2OCkKICogSW1wcm92ZSBmb3JjZURlc2VyaWFsaXplL2dldENvbXBhY3RlZFJvdyBlbmNhcHN1bGF0aW9uIChDQVNTQU5EUkEtMjY1OSkKICogRG9uJ3Qgd3JpdGUgQ291bnRlclVwZGF0ZUNvbHVtbiB0byBkaXNrIGluIHRlc3RzIChDQVOSkOhbAAABT948slwAECAybmRhcnkgaW5kZXhlcyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9AAAAEAbkZhbWlseVJlY29yZFdyaXRlciB0byBwb29sIGNvbm5lY3Rpb25zLCByZXRyeSB0bwogICBtdWx0aXBsZSBDYXNzYW5kcmEgbm9kZXMsIGFuZCBzbW9vdGggaW1wYWN0IG9uIHRoZSBDYXNzYW5kcmEgY2x1c3RlcgogICBieSB1c2luZyBzbWFsbGVyIGJhdGNoIHNpemVzIChDQVNTQU5EUkEtMTQzNCkKICogZml4IHNldHRpbmcgZ2NfZ3JhY2Vfc2Vjb25kcyB2aWEgQ0xJIChDQVNTQU5EUkEtMTU0OSkKICogc3VwcG9ydCBUVEwnZCBpbmRleCB2YWx1ZWPw/YgAAAFP3jyyXAAQdG8gdXNlIG11bHRpcGxlIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv0AAAAQBuZyAoQ0FTU0FORFJBLTM2MjkpCiAqIENhdGNoIG92ZXJmbG93cyBkdXJpbmcgcGFyc2luZyBvZiBjaHVua19sZW5ndGhfa2IgKENBU1NBTkRSQS0zNjQ0KQogKiBJbXByb3ZlIHN0cmVhbSBwcm90b2NvbCBtaXNtYXRjaCBlcnJvcnMgKENBU1NBTkRSQS0zNjUyKQogKiBBdm9pZCBtdWx0aXBsZSB0aHJlYWQgZG9pbmcgSEggdG8gdGhlIHNhbWUgdGFyZ2V0IChDQVNTQU5EUkEtMzY4MSkKICogQWRkIEpNWCBwcm9wZXJ0eSBmb3IgcnBfdGltZW91dF9pkGcm2QAeZzs9+DEbAAABT948slwAEGFuIHVua25vd24ga2V5c3AAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9IAAAEATUJlYW4gdG8gZXhwb3NlIHJhY2sgYW5kIERDIChDQVNTQU5EUkEtMTQ5MSkKICogYWRkZWQgb3B0aW9uIHRvIGNvbnRyaWIvd29yZF9jb3VudCB0byBvdXRwdXQgcmVzdWx0cyBiYWNrIHRvIENhc3NhbmRyYQogICAoQ0FTU0FORFJBLTEzNDIpCiAqIHJld3JpdGUgSGFkb29wIENvbHVtbkZhbWlseVJlY29yZFdyaXRlciB0byBwb29sIGNvbm5lY3Rpb25zLCByZXRyeSB0bwogICBtdWx0aXBsZSBDYXNzYW5kcmEgbm9kZXMsIGFuZCBzbW9vdGggaW1wYbSevCsAAAFP3jyyXAAQZWluZyBkcm9wcGVkIG1pZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv0gAAAQBSQS0yMjc5KQogKiBwcmVzZXJ2ZSB2ZXJzaW9uIHdoZW4gc3RyZWFtaW5nIGRhdGEgZnJvbSBvbGQgc3N0YWJsZXMgKENBU1NBTkRSQS0yMjgzKQogKiBkb24ndCBzdGFydCByZXBhaXIgaWYgYSBuZWlnaGJvcmluZyBub2RlIGlzIG1hcmtlZCBhcyBkZWFkIChDQVNTQU5EUkEtMjI5MCkKICogcHVyZ2UgdG9tYnN0b25lcyBmcm9tIHJvdyBjYWNoZSAoQ0FTU0FORFJBLTIzMDUpCiAqIEF2b2lkIHNlZWtpbmcgd2hlbiBzc3RhYmxlMmpzb24gZXhwb3J0jO/uCQAAAU/ePLJcABB0IGFuZCBmaW5pc2ggbGVuAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/SAAABAHNoIHdoZW4gcnVubmluZyBvbiBKREs4IHVwZGF0ZSA0MCAoQ0FTU0FORFJBLTgyMDkpCiAqIE9wdGltaXplIHBhcnRpdGlvbmVyIHRva2VucyAoQ0FTU0FORFJBLTgyMzApCiAqIEltcHJvdmUgY29tcGFjdGlvbiBvZiByZXBhaXJlZC91bnJlcGFpcmVkIHNzdGFibGVzIChDQVNTQU5EUkEtODAwNCkKICogTWFrZSBjYWNoZSBzZXJpYWxpemVycyBwbHVnZ2FibGUgKENBU1NBTkRSQS04MDk2KQogKiBGaXggaXNzdWVzIHdpdGggQ09OVEFJTlMgKEtFWSkLLVxHAAABT948slwAEHRpYyBjb21wYWN0aW9ucyAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9IAAAEAbGF5ZWQgYWNrIHByb2JsZW0gKENBU1NBTkRSQS0xODk2KQogKiBjaGVjayBsb2c0aiBjb25maWd1cmF0aW9uIGZvciBjaGFuZ2VzIGV2ZXJ5IDEwcyAoQ0FTU0FORFJBLTE1MjUsIDE5MDcpCiAqIG1vcmUtZWZmaWNpZW50IGNyb3NzLURDIHJlcGxpY2F0aW9uIChDQVNTQU5EUkEtMTUzMCwgLTIwNTEsIC0yMTM4KQogKiBhdm9pZCBwb2xsdXRpbmcgcGFnZSBjYWNoZSB3aXRoIGNvbW1pdGxvZyBvciBzc3RhYmxlIHdyaXRlcwogICBhbmQgc2VxIHNjYWPV/ogAAAFP3jyyXAAQcXVlcmllcyB0aGF0IHVzZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv0gAAAQAyKQogKiBJbXByb3ZlIGNvbXBhY3Rpb24gZXN0aW1hdGVkIHRhc2tzIGVzdGltYXRpb24gKENBU1NBTkRSQS04OTA0KQogKiBGaXggZHVwbGljYXRlIHVwL2Rvd24gbWVzc2FnZXMgc2VudCB0byBuYXRpdmUgY2xpZW50cyAoQ0FTU0FORFJBLTc4MTYpCiAqIEV4cG9zZSBjb21taXQgbG9nIGFyY2hpdmUgc3RhdHVzIHZpYSBKTVggKENBU1NBTkRSQS04NzM0KQogKiBQcm92aWRlIGJldHRlciBleGNlcHRpb25zIGZvciBpbnZhbGlkIHJlcGxpY2F0aW9ua0ekugAAAU/ePLJcABBzYXJ5IGtleXNwYWNlIHBhAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/SAAABAGZpeCBwb3RlbnRpYWwgaW5maW5pdGUgbG9vcCBpbiBCeXRlQnVmZmVyVXRpbC5pbnB1dFN0cmVhbSAoQ0FTU0FORFJBLTIzNjUpCiAqIGZpeCBlbmNvZGluZyBidWdzIGluIEhpbnRlZEhhbmRvZmZNYW5hZ2VyLCBTeXN0ZW1UYWJsZSB3aGVuIGRlZmF1bHQKICAgY2hhcnNldCBpcyBub3QgVVRGOCAoQ0FTU0FORFJBLTIzNjcpCiAqIGF2b2lkcyBoYXZpbmcgcmVtb3ZlZCBub2RlIHJlYXBwZWFyaW5nIGluIEdvc3NpcCAoQ0FTU0FORFJBLTIzNzEpCiDHINNnAAABT948slwAEG4gaW4gbXVsdGktREMgc2UAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9IAAAEAQU5EUkEtODU1OSkKICogRml4IE51bGxQb2ludGVyRXhjZXB0aW9uIHdoZW4gbm9kZXRvb2wgZ2V0ZW5kcG9pbnRzIGlzIHJ1bgogICBhZ2FpbnN0IGludmFsaWQga2V5c3BhY2VzIG9yIHRhYmxlcyAoQ0FTU0FORFJBLTg5NTApCiAqIEFsbG93IHNwZWNpZnlpbmcgdGhlIHRtcCBkaXIgKENBU1NBTkRSQS03NzEyKQogKiBJbXByb3ZlIGNvbXBhY3Rpb24gZXN0aW1hdGVkIHRhc2tzIGVzdGltYXRpb24gKENBU1NBTkRSQS04OTA0KQogKiBGaXggZHVwbHaUidMAAAFP3jyyXAAQeSAoQ0FTU0FORFJBLTUxNwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv0gAAAQBic3RvbmVkIHJvd3MgKENBU1NBTkRSQS0yMjk2KQogKiBmaXggYXNzZXJ0aW9uIGVycm9yIGluIHJhbmdlIGFuZCBpbmRleCBzY2FucyBmb3IgQ0wgPCBBTEwKICAgKENBU1NBTkRSQS0yMjgyKQogKiBmaXggY29tbWl0bG9nIHJlcGxheSB3aGVuIGZsdXNoIHBvc2l0aW9uIHJlZmVycyB0byBkYXRhIHRoYXQgZGlkbid0CiAgIGdldCBzeW5jZWQgYmVmb3JlIHNlcnZlciBkaWVkIChDQVNTQU5EUkEtMjI4NSkKICogZml4IGZkIGxlYWsgaW4gc3N0YWJsvqe6ngAAAU/ePLJcABAgZGVmYXVsdCAoQ0FTU0FOAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/SAAABACogZXh0ZW5kIG9wdGlvbiB0byBsb3dlciBjb21wYWN0aW9uIHByaW9yaXR5IHRvIGhpbnRlZCBoYW5kb2ZmCiAgIGFzIHdlbGwgKENBU1NBTkRSQS0xMjYwKQogKiBsb2cgZXJyb3JzIGluIGdvc3NpcCBpbnN0ZWFkIG9mIHJlLXRocm93aW5nIChDQVNTQU5EUkEtMTI4OSkKICogYXZvaWQgYWJvcnRpbmcgY29tbWl0bG9nIHJlcGxheSBwcmVtYXR1cmVseSBpZiBhIGZsdXNoZWQtYnV0LQogICBub3QtcmVtb3ZlZCBjb21taXRsb2cgc2VnbWVudCBpcyDJFiHsAAABT948slwAEHJvbmcgbGV2ZWxlZCBjb20AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9IAAAEAY2luZyBhIG5vZGUgKENBU1NBTkRSQS02NDc2KQogKiBmaXggbnBlIHdoZW4gZG9pbmcgLURjYXNzYW5kcmEuZmRfaW5pdGlhbF92YWx1ZV9tcyAoQ0FTU0FORFJBLTY3NTEpCgoKMi4xLjAtYmV0YTEKICogQWRkIGZsdXNoIGRpcmVjdG9yeSBkaXN0aW5jdCBmcm9tIGNvbXBhY3Rpb24gZGlyZWN0b3JpZXMgKENBU1NBTkRSQS02MzU3KQogKiBSZXF1aXJlIEpOQSBieSBkZWZhdWx0IChDQVNTQU5EUkEtNjU3NSkKICogYWRkIGxpc3RzbmFwc2hvdHMgY4JUwDcAAAFP3jyyXAAQb2Jzb2xldGUgY29tbWl0bAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv0gAAAQBlcnMgZm9yIElOIGNsYXVzZXMgKENBU1NBTkRSQS00MjEwKQogKiBjcWxzaDogcmV0dXJuIHRoZSByZXN1bHQgb2YgQ0FTIHdyaXRlcyAoQ0FTU0FORFJBLTU3OTYpCiAqIEZpeCB2YWxpZGF0aW9uIG9mIElOIGNsYXVzZXMgd2l0aCAybmRhcnkgaW5kZXhlcyAoQ0FTU0FORFJBLTYwNTApCiAqIFN1cHBvcnQgbmFtZWQgYmluZCB2YXJpYWJsZXMgaW4gQ1FMIChDQVNTQU5EUkEtNjAzMykKTWVyZ2VkIGZyb20gMS4yOgogKiBBbGxvdyBjYWNoZS1rZXlzK5BvmgAAAU/ePLJcABA3MTExKQogKiBNYWtlIHJlAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/SAAABAGUgU1NUYWJsZXMgd2hlbiBzZXF1ZW50aWFsIHJlcGFpciAoQ0FTU0FORFJBLTcwMjQpCiAqIFJlcXVpcmUgbm9kZXRvb2wgcmVidWlsZF9pbmRleCB0byBzcGVjaWZ5IGluZGV4IG5hbWVzIChDQVNTQU5EUkEtNzAzOCkKICogZml4IGNhc3NhbmRyYSBzdHJlc3MgZXJyb3JzIG9uIHJlYWRzIHdpdGggbmF0aXZlIHByb3RvY29sIChDQVNTQU5EUkEtNzAzMykKICogVXNlIE9wT3JkZXIgdG8gZ3VhcmQgc3N0YWJsZSByZWZlcmVuY2VzIGZvciByZWFkcyDEnE+UAAABT948slwAEG9mIGxvY2F0aW9uIGZvcgoAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9IAAAEAdGluZ0l0ZXJhdG9yLCBSZWR1Y2luZ0l0ZXJhdG9yIHdpdGggTWVyZ2VJdGVyYXRvciAKICAgKENBU1NBTkRSQS0yMDYyKQogKiBGaXhlZCB0aGUgYWJpbGl0eSB0byBzZXQgY29tcGFjdGlvbiBzdHJhdGVneSBpbiBjbGkgdXNpbmcgY3JlYXRlIGNvbHVtbiAKICAgZmFtaWx5IGNvbW1hbmQgKENBU1NBTkRSQS0yNzc4KQogKiBjbGVhbiB1cCB0bXAgZmlsZXMgYWZ0ZXIgZmFpbGVkIGNvbXBhY3Rpb24gKENBU1NBTkRSQS0yNDY4KQogKiByZXN0cmljdCIE7IkAAAFP3jyyXAAQIChDQVNTQU5EUkEtNTU5OAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv0gAAAQB0b2dyYW0jcGVyY2VudGlsZSgpIHVzZSBjZWlsIGluc3RlYWQgb2YgZmxvb3IgKENBU1NBTkRSQS04ODgzKQogKiBGaXggdG9wIHBhcnRpdGlvbnMgcmVwb3J0aW5nIHdyb25nIGNhcmRpbmFsaXR5IChDQVNTQU5EUkEtODgzNCkKICogRml4IHJhcmUgTlBFIGluIEtleUNhY2hlU2VyaWFsaXplciAoQ0FTU0FORFJBLTgwNjcpCiAqIFBpY2sgc3N0YWJsZXMgZm9yIHZhbGlkYXRpb24gYXMgbGF0ZSBhcyBwb3NzaWJsZSBpbmMgcmVwYWlycyAoQ0FTU0FORCAw5AAAAU/ePLJcABAwKQogKiAoY3FsMykgQWRkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/SAAABAHNwYWNlIGNvbW1hbmRzIChDQVNTQU5EUkEtNDEyOSkKICogQXZvaWRzIHBvc3NpYmxlIGRlYWRsb2NrIGR1cmluZyBib290c3RyYXAgKENBU1NBTkRSQS00MTU5KQogKiBmaXggc3RyZXNzIHRvb2wgdGhhdCBoYW5ncyBmb3JldmVyIG9uIHRpbWVvdXQgb3IgZXJyb3IgKENBU1NBTkRSQS00MTI4KQogKiBGaXggc3VwZXIgY29sdW1ucyBidWcgd2hlcmUgY2FjaGUgaXMgbm90IHVwZGF0ZWQgKENBU1NBTkRSQS00MTkwKQogKiBzdHJlc3MgdG9vbCB0byAWLR1QAB578E+p5VoAAABMXi7SpwAhAAZzeXN0ZW0AAA5zY2hlbWFfY29sdW1ucwAABAAAAAgAAAAAAQFaH/JnrOA/EoVjz65hA8ZeVVNmcgAFFffV+tgIAAAAAAAAAAA8EFHsAAABT948slwAEEFORFJBLTQ1NjYpCiAqIG8AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9UAAAEARFJBLTM0MikKCgowLjUuMQogKiBlbnN1cmUgYWxsIGZpbGVzIGZvciBhbiBzc3RhYmxlIGFyZSBzdHJlYW1lZCB0byB0aGUgc2FtZSBkaXJlY3RvcnkuCiAgIChDQVNTQU5EUkEtNzE2KQogKiBtb3JlIGFjY3VyYXRlIGxvYWQgZXN0aW1hdGUgZm9yIGJvb3RzdHJhcHBpbmcgKENBU1NBTkRSQS03NjIpCiAqIHRvbGVyYXRlIGRlYWQgb3IgdW5hdmFpbGFibGUgYm9vdHN0cmFwIHRhcmdldCBvbiB3cml0ZSAoQ0FTU0FORFJBLTczMSkKICogYWxsb3cgbG+vOy0AAAFP3jyyXAAQUkEtMjYzOCkKICogZml4IAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv1QAAAQApCiAqIHdvcmsgYXJvdW5kIG5hdGl2ZSBtZW1vcnkgbGVhayBpbiBjb20uc3VuLm1hbmFnZW1lbnQuR2FyYmFnZUNvbGxlY3Rvck1YQmVhbgogICAoQ0FTU0FORFJBLTI4NjgpCiAqIHZhbGlkYXRlIHRoYXQgY29sdW1uIG5hbWVzIGluIGNvbHVtbl9tZXRhZGF0YSBhcmUgbm90IGVxdWFsIHRvIGtleV9hbGlhcwogICBvbiBjcmVhdGUvdXBkYXRlIG9mIHRoZSBDb2x1bW5GYW1pbHkgYW5kIENRTCAnQUxURVInIHN0YXRlbWVudCAoQ0FTU0FORFJBLTMwBkdHkwAAAU/ePLJcABBORFJBLTY5MTIpCiAqIEFkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/VAAABAHRlcgogICB2ZXJpZmllcyB0aGF0IHJvdyBkb2VzIG5vdCBleGlzdCBpbiBvdGhlciBzc3RhYmxlcyAoQ0FTU0FORFJBLTEwNzQpCiAqIG5vZGVzIHRoYXQgY29vcmRpbmF0ZWQgYSBsb2FkYmFsYW5jZSBpbiB0aGUgcGFzdCBjb3VsZCBub3QgYmUgc2VlbiBieQogICBuZXdseSBhZGRlZCBub2RlcyAoQ0FTU0FORFJBLTE0NjcpCiAqIGV4cG9zZWQgZW5kcG9pbnQgc3RhdGVzIChnb3NzaXAgZGV0YWlscykgdmlhIGpteCAoQ0FTU0FORFJBLTE0NjcpCiCNmVQ+AAABT948slwAEEFTU0FORFJBLTcwNzQpCiAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9UAAAEAZCBvdmVyIHJlY29ubmVjdGluZyBpbiBFQzJNUlMgKENBU1NBTkRSQS01Njc4KQogKiBGaXggUmVhZFJlc3BvbnNlU2VyaWFsaXplci5zZXJpYWxpemVkU2l6ZSgpIGZvciBkaWdlc3QgcmVhZHMgKENBU1NBTkRSQS01NDc2KQogKiBhbGxvdyBzc3RhYmxlMmpzb24gb24gMmkgQ0ZzIChDQVNTQU5EUkEtNTY5NCkKTWVyZ2VkIGZyb20gMS4xOgogKiBSZW1vdmUgYnVnZ3kgdGhyaWZ0IG1heCBtZXNzYWdlIGxlbmd0aCBvcHRpb24gKENBU1NBTkRSQS01NcXuQWgAAAFP3jyyXAAQIHNzdGFibGUgY29tcG9uZQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv1QAAAQBuZXcgU0VQRXhlY3V0b3IgKENBU1NBTkRSQS03NjQ0KQogKiBSZW1vdmUgc2h1ZmZsZSBhbmQgdGFrZXRva2VuIChDQVNTQU5EUkEtNzYwMSkKICogQ2xlYW4gdXAgV2luZG93cyBiYXRjaCBzY3JpcHRzIChDQVNTQU5EUkEtNzYxOSkKICogRml4IG5hdGl2ZSBwcm90b2NvbCBkcm9wIHVzZXIgdHlwZSBub3RpZmljYXRpb24gKENBU1NBTkRSQS03NTcxKQogKiBHaXZlIHJlYWQgYWNjZXNzIHRvIHN5c3RlbS5zY2hlbWFfdXNlcnR5cGVzIHRvIGFsbCBhuJBZ/wAAAU/ePLJcABBlcyAoQ0FTU0FORFJBLTI1AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/VAAABACBGaXggREVTQ1JJQkUgb3V0cHV0IGFmdGVyIGtleXNwYWNlcyBhcmUgYWx0ZXJlZCAoQ0FTU0FORFJBLTc2MjMpCiAqIE1ha2Ugc3VyZSB3ZSBzZXQgbGFzdENvbXBhY3RlZEtleSBjb3JyZWN0bHkgKENBU1NBTkRSQS04NDYzKQogKiAoY3Fsc2gpIEZpeCBvdXRwdXQgb2YgQ09OU0lTVEVOQ1kgY29tbWFuZCAoQ0FTU0FORFJBLTg1MDcpCiAqIChjcWxzaCkgRml4ZWQgdGhlIGhhbmRsaW5nIG9mIExJU1Qgc3RhdGVtZW50cyAoQ0FTU0FORFJBLTgzNzC/oG/2AAABT948slwAEERSQS01MTgpCiAqIGZpeCAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9UAAAEAZCBvZiByb3ctbGV2ZWwgZGVsZXRlcwogICAoQ0FTU0FORFJBLTU0NDUpCiAqIEFsbG93IGVtcHR5IGJsb2IgbGl0ZXJhbHMgaW4gQ1FMMyAoQ0FTU0FORFJBLTU0NTIpCiAqIEZpeCBzdHJlYW1pbmcgUmFuZ2VUb21ic3RvbmVzIGF0IGNvbHVtbiBpbmRleCBib3VuZGFyeSAoQ0FTU0FORFJBLTU0MTgpCiAqIEZpeCBwcmVwYXJpbmcgc3RhdGVtZW50cyB3aGVuIGN1cnJlbnQga2V5c3BhY2UgaXMgbm90IHNldCAoQ0FTU0FORFJBLTU0NjgpCiAqIEZpeGFWPSAAAAFP3jyyXAAQY29sdW1uIGFsaWFzZXMgdAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv1QAAAQBvcm1hdGlvbiBpbiBtZW1vcnkgKENBU1NBTkRSQS01MzQyKQogKiBjcWxzaDogZml4IGhhbmRsaW5nIG9mIHNlbWljb2xvbnMgaW5zaWRlIEJBVENIIHF1ZXJpZXMgKENBU1NBTkRSQS01Njk3KQoKCjEuMi42CiAqIEZpeCB0cmFjaW5nIHdoZW4gb3BlcmF0aW9uIGNvbXBsZXRlcyBiZWZvcmUgYWxsIHJlc3BvbnNlcyBhcnJpdmUgCiAgIChDQVNTQU5EUkEtNTY2OCkKICogRml4IGNyb3NzLURDIG11dGF0aW9uIGZvcndhcmRpbmcgKENBU1NBTkRSQS01vGUchwAAAU/ePLJcABBuYW1pYyBzbml0Y2ggKENBAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/VAAABACBtYWtlIENGSUYgdHJ5IHJwY19hZGRyZXNzIG9yIGZhbGxiYWNrIHRvIGxpc3Rlbl9hZGRyZXNzCiAgIChDQVNTQU5EUkEtMzIxNCkKICogKEhhZG9vcCkgYWNjZXB0IGNvbW1hIGRlbGltaXRlZCBsaXN0cyBvZiBpbml0aWFsIHRocmlmdCBjb25uZWN0aW9ucwogICAoQ0FTU0FORFJBLTMxODUpCiAqIENvbHVtbkZhbWlseSBtaW5fY29tcGFjdGlvbl90aHJlc2hvbGQgc2hvdWxkIGJlID49IDIgKENBU1NBTkRSQS0zMzQyKQogKiAoUGlnKSBhZGQgMC5XfEBRAAABT948slwAEGF2b2lkIGEgdmFyaWV0eSAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9UAAAEAUkEtNDQzOSkKICogRml4IGFzc2VydGlvbiBlcnJvciBpbiBnZXRPdmVybGFwcGluZ1NTVGFibGVzIGR1cmluZyByZXBhaXIgKENBU1NBTkRSQS00NDU2KQogKiBmaXggbm9kZXRvb2wncyBzZXRjb21wYWN0aW9udGhyZXNob2xkIGNvbW1hbmQgKENBU1NBTkRSQS00NDU1KQogKiBFbnN1cmUgY29tcGFjdGVkIGZpbGVzIGFyZSBuZXZlciB1c2VkLCB0byBhdm9pZCBjb3VudGVyIG92ZXJjb3VudCAoQ0FTU0FORFJBLTQ0MzYpCk1lcmdlZCBmcm9tIDEuMFzo2hoAAAFP3jyyXAAQZXMgKENBU1NBTkRSQS01MAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv1QAAAQByaXB0IGZvciBub2RldG9vbCAoQ0FTU0FORFJBLTExMTMpCiAqIGV4cG9zZSBQaGlDb252aWN0VGhyZXNob2xkIChDQVNTQU5EUkEtMTA1MykKICogbWFrZSByZXBhaXIgb2YgUkY9PTEgYSBuby1vcCAoQ0FTU0FORFJBLTEwOTApCiAqIGltcHJvdmUgZGVmYXVsdCBKVk0gR0Mgb3B0aW9ucyAoQ0FTU0FORFJBLTEwMTQpCiAqIGZpeCBTbGljZVByZWRpY2F0ZSBzZXJpYWxpemF0aW9uIGluc2lkZSBIYWRvb3Agam9icyAoQ0FTU0FORFJBLTEwNDkpCiAqwvchzQAAAU/ePLJcABBzIGZyb20gaW50ZXJuYWxzAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/VAAABAEFTU0FORFJBLTU1ODcpIAogKiBmaXggU25pdGNoUHJvcGVydGllcyBsb2dnaW5nIGNvbnRleHQgKENBU1NBTkRSQS01NjAyKQogKiBFeHBvc2Ugd2hldGhlciBqbmEgaXMgZW5hYmxlZCBhbmQgbWVtb3J5IGlzIGxvY2tlZCB2aWEgSk1YIChDQVNTQU5EUkEtNTUwOCkKICogY3Fsc2g6IGZpeCBDT1BZIEZST00gd2l0aCBSZXZlcnNlZFR5cGUgKENBU1NBTkRSQS01NjEwKQogKiBBbGxvdyBjcmVhdGluZyBDVVNUT00gaW5kZXhlcyBvbiBjb2xsZWN0aW/e3KFLAAABT948slwAEFByb3BlcnR5RmlsZVNuaXQAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9UAAAEAYmxlcyBvbiBzbGljZSBxdWVyeSB3aXRoIGNvbXBvc2l0ZSBzdGFydC9maW5pc2ggKENBU1NBTkRSQS02ODI1KQogKiBGaXggdW5pbnRlbmRlZCB1cGRhdGUgd2l0aCBjb25kaXRpb25hbCBzdGF0ZW1lbnQgKENBU1NBTkRSQS02ODkzKQogKiBGaXggbWFwIGVsZW1lbnQgYWNjZXNzIGluIElGIChDQVNTQU5EUkEtNjkxNCkKICogQXZvaWQgY29zdGx5IHJhbmdlIGNhbGN1bGF0aW9ucyBmb3IgcmFuZ2UgcXVlcmllcyBvbiBzeXN0ZW0ga2V5c3BhY2VzCsgUb9IAAAFP3jyyXAAQRSB3aGVuIGVuY3J5cHRpbwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv1QAAAQB0aXZlIGNvbXBhY3Rpb25zIGluIFN0YXR1c0xvZ2dlciAoQ0FTU0FORFJBLTM3MDMpCiAqIENvbXB1dGUgbW9yZSBhY2N1cmF0ZSBjb21wYWN0aW9uIHNjb3JlIHBlciBsZXZlbCAoQ0FTU0FORFJBLTM3OTApCiAqIFJldHVybiBJbnZhbGlkUmVxdWVzdCB3aGVuIHVzaW5nIGEga2V5c3BhY2UgdGhhdCBkb2Vzbid0IGV4aXN0CiAgIChDQVNTQU5EUkEtMzc2NCkKICogZGlzYWxsb3cgdXNlciBtb2RpZmljYXRpb24gb2YgU3lzdGVtIGtleXNwYWNlIChD0B48ZQAAAU/ePLJcABBrIHN0YWNrIHRvIGF2b2lkAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/VAAABAEFORFJBLTQyMjMpCiAqIGtpY2sgb2ZmIGJhY2tncm91bmQgY29tcGFjdGlvbiB3aGVuIG1pbi9tYXggdGhyZXNob2xkcyBjaGFuZ2UgCiAgIChDQVNTQU5EUkEtNDI3OSkKICogaW1wcm92ZSBhYmlsaXR5IG9mIFNUQ1MuZ2V0QnVja2V0cyB0byBkZWFsIHdpdGggMTAwcyBvZiAxMDAwcyBvZgogICBzc3RhYmxlcywgc3VjaCBhcyB3aGVuIGNvbnZlcnRpbmIgYmFjayBmcm9tIExDUyAoQ0FTU0FORFJBLTQyODcpCiAqIE92ZXJzaXplIGludGVnZXIgaW50Lc1UAB6QTaVooz8AAAFP3jyyXAAQaXNhbGxvdyBib290c3RyYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv2AAAAQAgYW4gZXhhbXBsZSBvZiB1c2UpCiAqIG1ha2UgY29uc2lzdGVuY3lfbGV2ZWwgZnVuY3Rpb25hbCBpbiBnZXRfcmFuZ2Vfc2xpY2UgKENBU1NBTkRSQS01NjgpCiAqIG9wdGltaXplIGtleSBkZXNlcmlhbGl6YXRpb24gZm9yIFJhbmRvbVBhcnRpdGlvbmVyIChDQVNTQU5EUkEtNTgxKQogKiBhdm9pZCBHQ2luZyB0b21ic3RvbmVzIGV4Y2VwdCBvbiBtYWpvciBjb21wYWN0aW9uIChDQVNTQU5EUkEtNjA0KQogKiBpbmNyZWFzZSBmYWlsdXJlIGNvbnZpNfQsrAAAAU/ePLJcABBwZWN0IHJvdy1sZXZlbCB0AAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/YAAABAHJlc3RhcnRlZCBzZXJ2ZXIKICAgKENBU1NBTkRSQS0zMTgxKQogKiBSZWR1Y2UgY29waWVzIGRvbmUgZm9yIGludHJhLWhvc3QgbWVzc2FnZXMgKENBU1NBTkRSQS0xNzg4LCAzMTQ0KQogKiBzdXBwb3J0IG9mIGNvbXBhY3Rpb24gc3RyYXRlZ3kgb3B0aW9uIGZvciBzdHJlc3MuamF2YSAoQ0FTU0FORFJBLTMyMDQpCiAqIG1ha2UgbWVtdGFibGUgdGhyb3VnaHB1dCBhbmQgY29sdW1uIGNvdW50IHRocmVzaG9sZHMgbm8tb3BzIChDQVNTQU5EUkEtMjQTGsQQAAABT948slwAEHRpYWwgdmFsdWUgYW5kIG0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9gAAAEAQU5EUkEtNTE0NCkKICogRml4IGluc2VydGluZyBlbXB0eSBtYXBzIChDQVNTQU5EUkEtNTE0MSkKICogRG9uJ3QgcmVtb3ZlIHRva2VucyBmcm9tIFN5c3RlbSB0YWJsZSBmb3Igbm9kZSB3ZSBrbm93IChDQVNTQU5EUkEtNTEyMSkKICogZml4IHN0cmVhbWluZyBwcm9ncmVzcyByZXBvcnQgZm9yIGNvbXByZXNlZCBmaWxlcyAoQ0FTU0FORFJBLTUxMzApCiAqIENvdmVyYWdlIGFuYWx5c2lzIGZvciBsb3ctQ0wgcXVlcmllcyAoQ0FTU0FORFJBLTQ4NSotQ3kAAAFP3jyyXAAQCiAqIHByZWZsaWdodCBjaAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv2AAAAQBBU1NBTkRSQS00ODgzKQogKiBDaGFuZ2Ugc3RyZWFtIHNlc3Npb24gSUQgdG8gVVVJRCB0byBhdm9pZCBjb2xsaXNpb24gZnJvbSBzYW1lIG5vZGUgKENBU1NBTkRSQS00ODEzKQogKiBVc2UgU3RhdHMuZGIgd2hlbiBidWxrIGxvYWRpbmcgaWYgcHJlc2VudCAoQ0FTU0FORFJBLTQ5NTcpCiAqIFNraXAgcmVwYWlyIG9uIHN5c3RlbV90cmFjZSBhbmQga2V5c3BhY2VzIHdpdGggUkY9MSAoQ0FTU0FORFJBLTQ5NTYpCiAqIChjcWwzKSBSZW1vdmUgYXJizLeO5wAAAU/ePLJcABBhZGVyIG9iamVjdHMgb24gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/YAAABACAoQ0FTU0FORFJBLTE2OTApCiAqIGFkZCAtLXNraXAta2V5cyBvcHRpb24gdG8gc3RyZXNzLnB5IChDQVNTQU5EUkEtMTY5NikKICogaW1wcm92ZSBjbGkgaGFuZGxpbmcgb2Ygbm9uLXN0cmluZyBrZXlzIGFuZCBjb2x1bW4gbmFtZXMgCiAgIChDQVNTQU5EUkEtMTcwMSwgLTE2OTMpCiAqIHIvbSBleHRyYSBzdWJjb21wYXJhdG9yIGxpbmUgaW4gY2xpIGtleXNwYWNlcyBvdXRwdXQgKENBU1NBTkRSQS0xNzEyKQogKiBhZGQgcmVhZCByZXBhaXIgY2gIq6eMAAABT948slwAEGFnaW5nIChDQVNTQU5EUkEAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9gAAAEAcmx5IG9wZW4gKENBU1NBTkRSQS04NTM1KQogKiBBbGxvdyBpbnZhbGlkYXRpbmcgcGVybWlzc2lvbnMgYW5kIGNhY2hlIHRpbWUgKENBU1NBTkRSQS04NzIyKQogKiBMb2cgd2FybmluZyB3aGVuIHF1ZXJpZXMgdGhhdCB3aWxsIHJlcXVpcmUgQUxMT1cgRklMVEVSSU5HIGluIENhc3NhbmRyYSAzLjAKICAgYXJlIGV4ZWN1dGVkIChDQVNTQU5EUkEtODQxOCkKICogRml4IGNhc3NhbmRyYS1zdHJlc3Mgc28gaXQgcmVzcGVjdHMgdGhlIENMIHBhc3NlZABeErcAAAFP3jyyXAAQQS01MDY0KQogKiBGaXggUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv2AAAAQBlblJhbmdlLnJwY19lbmRwb2ludHMgaW5zdGVhZCAoQ0FTU0FORFJBLTMxODcpCiAqIGF2b2lkIHRyeWluZyB0byB3YXRjaCBjYXNzYW5kcmEtdG9wb2xvZ3kucHJvcGVydGllcyB3aGVuIGxvYWRlZCBmcm9tIGphcgogICAoQ0FTU0FORFJBLTMxMzgpCiAqIHByZXZlbnQgdXNlcnMgZnJvbSBjcmVhdGluZyBrZXlzcGFjZXMgd2l0aCBMb2NhbFN0cmF0ZWd5IHJlcGxpY2F0aW9uCiAgIChDQVNTQU5EUkEtMzEzOSkKICogZml4IENMSSBgc2hvdyBzY2hlgDbc7wAAAU/ePLJcABBBU1NBTkRSQS02MjUpCiAqAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/YAAABAHkgZnJvbSBzdG9yYWdlLWNvbmYgZmlsZXMgCiAgIHNpbmNlIHRob3NlIHNldHRpbmdzIGFyZSBubyBsb25nZXIgdXNlZCAoQ0FTU0FORFJBLTg3OCkKICogUGFyc2UgYSBsb25nIGZyb20gUm93V2FybmluZ1RocmVzaG9sZEluTUIgaW5zdGVhZCBvZiBhbiBpbnQgKENBU1NBTkRSQS04ODIpCiAqIFJlbW92ZSBvYnNvbGV0ZSBDb250cm9sUG9ydCBjb2RlIGZyb20gRGF0YWJhc2VEZXNjcmlwdG9yIChDQVNTQU5EUkEtODg2KQogKiBtb3ZlIHNraXBCeXTNcbcJAAABT948slwAEG9sIHJlYnVpbGRfaW5kZXgAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9gAAAEAZGQgc3N0YWJsZSBmb3J3YXJkLWNvbXBhdGliaWxpdHkgKENBU1NBTkRSQS0zNDc4KQogKiByZXBvcnQgY29tcHJlc3Npb24gcmF0aW8gaW4gQ0ZTTUJlYW4gKENBU1NBTkRSQS0zMzkzKQogKiBmaXggaW5jb3JyZWN0IHNpemUgZXhjZXB0aW9uIGR1cmluZyBzdHJlYW1pbmcgb2YgY291bnRlcnMgKENBU1NBTkRSQS0zNDgxKQogKiAoQ1FMKSBmaXggZm9yIGNvdW50ZXIgZGVjcmVtZW50IHN5bnRheCAoQ0FTU0FORFJBLTM0MTgpCiAqIEZpeCByYWNlIH/3dVsAAAFP3jyyXAAQIFN0YXRpYyBjb2x1bW5zIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv2AAAAQA3KQogKiBSZWZ1c2UgUGF4b3Mgb3BlcmF0aW9uIHdpdGggbW9yZSB0aGFuIG9uZSBwZW5kaW5nIGVuZHBvaW50IChDQVNTQU5EUkEtODM0NiwgODY0MCkKICogVGhyb3cgY29ycmVjdCBleGNlcHRpb24gd2hlbiB0cnlpbmcgdG8gYmluZCBhIGtleXNwYWNlIG9yIHRhYmxlCiAgIG5hbWUgKENBU1NBTkRSQS02OTUyKQogKiBNYWtlIEhIT00uY29tcGFjdCBzeW5jaHJvbml6ZWQgKENBU1NBTkRSQS04NDE2KQogKiBjYW5jZWwgbGF0ZW5jeS1zYW1wbGlu8YABqQAAAU/ePLJcABBhaXJSZXNvbHZlciAoQ0FTAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/YAAABADY0NCkKICogYWRkIGFiaWxpdHkgdG8gc2V0IGNhY2hlIHNpemVzIGF0IHJ1bnRpbWUgKENBU1NBTkRSQS03MDgpCiAqIHJlcG9ydCBsYXRlbmN5IGFuZCBjYWNoZSBoaXQgcmF0ZSBzdGF0aXN0aWNzIHdpdGggbGlmZXRpbWUgdG90YWxzCiAgIGluc3RlYWQgb2YgYXZlcmFnZSBvdmVyIHRoZSBsYXN0IG1pbnV0ZSAoQ0FTU0FORFJBLTcwMikKICogc3VwcG9ydCBnZXRfcmFuZ2Vfc2xpY2UgZm9yIFJhbmRvbVBhcnRpdGlvbmVyIChDQVNTQU5EUkEtNzTV+1hsAAABT948slwAEHRpb24gKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9gAAAEAUkEtNDE1MCkKICogYWRkIGdldHNzdGFibGVzIGNvbW1hbmQgdG8gbm9kZXRvb2wgKENBU1NBTkRSQS00MTk5KQogKiBhcHBseSBwYXJlbnQgQ0YgY29tcGFjdGlvbiBzZXR0aW5ncyB0byBzZWNvbmRhcnkgaW5kZXggQ0ZzIChDQVNTQU5EUkEtNDI4MCkKICogcHJlc2VydmUgY29tbWl0bG9nIHNpemUgY2FwIHdoZW4gcmVjeWNsaW5nIHNlZ21lbnRzIGF0IHN0YXJ0dXAKICAgKENBU1NBTkRSQS00MjAxKQogKiAoSGFkb29wKSBmaXggc3BsaXQgZ2VuZbM4C5wAAAFP3jyyXAAQZgogICBzc3RhYmxlcywgcwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv2AAAAQBvbHVtbiB2ZXJzaW9ucyAoQ0FTU0FORFJBLTM0NDYpCiAqIGF1dG9tYXRpY2FsbHkgY29tcHV0ZSBzaGExIHN1bSBmb3IgdW5jb21wcmVzc2VkIGRhdGEgZmlsZXMgKENBU1NBTkRSQS0zNDU2KQogKiBmaXggcmVhZGluZyBtZXRhZGF0YS9zdGF0aXN0aWNzIGNvbXBvbmVudCBmb3IgdmVyc2lvbiA8IGggKENBU1NBTkRSQS0zNDc0KQogKiBhZGQgc3N0YWJsZSBmb3J3YXJkLWNvbXBhdGliaWxpdHkgKENBU1NBTkRSQS0zNDc4KQogKiByZXBvcnQgY29txx8YoAAAAU/ePLJcABBmcm9tIGFuIGVtcHR5IGxpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/YAAABACB0cmFuc2ZlciB3cmFwcGVkIHJhbmdlIChDQVNTQU5EUkEtNTk0OCkKICogRml4IGxvYWRpbmcgaW5kZXggc3VtbWFyeSBjb250YWluaW5nIGVtcHR5IGtleSAoQ0FTU0FORFJBLTU5NjUpCiAqIENvcnJlY3RseSBoYW5kbGUgbGltaXRzIGluIENvbXBvc2l0ZXNTZWFyY2hlciAoQ0FTU0FORFJBLTU5NzUpCiAqIFBpZzogaGFuZGxlIENRTCBjb2xsZWN0aW9ucyAoQ0FTU0FORFJBLTU4NjcpCiAqIFBhc3MgdGhlIHVwZGF0ZWQgY2YgdG8gdGhlIFBSU0lYCrg8AAABT948slwAEC1saW5lICItLSIgY29tbWUAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9gAAAEAYmxlX3dyaXRlcz1mYWxzZSAoQ0FTU0FORFJBLTI5MDcpCiAqIGFkZCBzaW1wbGlmaWVkIGZhY2FkZSB0byBTU1RhYmxlV3JpdGVyIGZvciBidWxrIGxvYWRpbmcgdXNlCiAgIChDQVNTQU5EUkEtMjkxMSkKICogZml4IHJlLXVzaW5nIGluZGV4IENGIHNzdGFibGUgbmFtZXMgYWZ0ZXIgZHJvcC9yZWNyZWF0ZSAoQ0FTU0FORFJBLTI4NzIpCiAqIHByZXBlbmQgQ0YgdG8gZGVmYXVsdCBpbmRleCBuYW1lcyAoQ0FTU0FORFJBLTI5MDMpCiAqIGZpeCBoaeW0QVwAHqSqrTJGKQAAAU/ePLJcABBzYWdlIGZvciBhIHJlcGFpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/bAAABAFNTQU5EUkEtNTE1OSkKTWVyZ2VkIGZyb20gMS4xOgogKiBTaW1wbGlmeSBDb21wcmVzc2VkUmFuZG9tQWNjZXNzUmVhZGVyIHRvIHdvcmsgYXJvdW5kIEpESyBGRCBidWcgKENBU1NBTkRSQS01MDg4KQogKiBJbXByb3ZlIGhhbmRsaW5nIGEgY2hhbmdpbmcgdGFyZ2V0IHRocm90dGxlIHJhdGUgbWlkLWNvbXBhY3Rpb24gKENBU1NBTkRSQS01MDg3KQogKiBQaWc6IGNvcnJlY3RseSBkZWNvZGUgcm93IGtleXMgaW4gd2lkZXJvdyBtb2RlIChDQVNTQU4vBR6hAAABT948slwAECBNaWdyYXRlIHByZS0yLjAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9sAAAEAaGFuZGxpbmcgb2YgbXVsdGktZGMgY2x1c3RlcnMgKENBU1NBTkRSQS0zMDQ3KQogKiB1cGRhdGUgTlRTIGNhbGN1bGF0ZU5hdHVyYWxFbmRwb2ludHMgdG8gYmUgTyhOIGxvZyBOKSAoQ0FTU0FORFJBLTM4ODEpCiAqIHNwbGl0IHVwIHJwYyB0aW1lb3V0IGJ5IG9wZXJhdGlvbiB0eXBlIChDQVNTQU5EUkEtMjgxOSkKICogcmV3cml0ZSBrZXkgY2FjaGUgc2F2ZS9sb2FkIHRvIHVzZSBvbmx5IHNlcXVlbnRpYWwgaS9vIChDQVNTQU5EUkEtMzc2MikKIBeUeAQAAAFP3jyyXAAQb2xkcyBhdCBydW50aW1lIAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv2wAAAQBSQS05NDYpCiAqIGFkZCBDUkMgdG8gY29tbWl0bG9nIGhlYWRlciAoQ0FTU0FORFJBLTk5OSkKICogcmVtb3ZlZCBkZXByZWNhdGVkIGJhdGNoX2luc2VydCBhbmQgZ2V0X3JhbmdlX3NsaWNlIG1ldGhvZHMgKENBU1NBTkRSQS0xMDY1KQogKiBhZGQgdHJ1bmNhdGUgdGhyaWZ0IG1ldGhvZCAoQ0FTU0FORFJBLTUzMSkKICogaHR0cCBtaW5pLWludGVyZmFjZSB1c2luZyBteDRqIChDQVNTQU5EUkEtMTA2OCkKICogb3B0aW1pemUgYXdheSBjb3B5IG9m6MurUQAAAU/ePLJcABBsIGNvbXByZXNzaW9uIGZvAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/bAAABAHJlIHN1cHJlc3NlZCBieSBhIHJvdyBvcgogICBzdXBlcmNvbHVtbiB0b21ic3RvbmUgZHVyaW5nIHJlcGxpY2EgcmVzb2x1dGlvbiAoQ0FTU0FORFJBLTI1OTApCiAqIHN1cHBvcnQgc3N0YWJsZTJqc29uIGFnYWluc3Qgc25hcHNob3Qgc3N0YWJsZXMgKENBU1NBTkRSQS0yMzg2KQogKiByZW1vdmUgYWN0aXZlLXB1bGwgc2NoZW1hIHJlcXVlc3RzIChDQVNTQU5EUkEtMjcxNSkKICogYXZvaWQgbWFya2luZyBlbnRpcmUgbGlzdCBvZiBzc3RhYmxlcyAaa0z7AAABT948slwAEHdhcmQtY29tcGF0aWJpbGkAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9sAAAEAQ0FTU0FORFJBLTM3NTUpCiAqIGFsbG93IGN1c3RvbSB0eXBlcyBpbiBDTEkncyBhc3N1bWUgY29tbWFuZCAoQ0FTU0FORFJBLTQwODEpCiAqIGZpeCB0b3RhbEJ5dGVzIGNvdW50IGZvciBwYXJhbGxlbCBjb21wYWN0aW9ucyAoQ0FTU0FORFJBLTM3NTgpCiAqIGZpeCBpbnRlcm1pdHRlbnQgTlBFIGluIGdldF9zbGljZSAoQ0FTU0FORFJBLTQwOTUpCiAqIHJlbW92ZSB1bm5lY2Vzc2FyeSBhc3NlcnRzIGluIG5hdGl2ZSBjb2RlIGludGVyZmFjZXMgKIRYaVcAAAFP3jyyXAAQIENRTDMgbW9kZSAoQ0FTUwAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv2wAAAQBub2RlJ3MgaG9zdCBpZCBpbiBwbGFjZSBvZiBjb3VudGVyIGlkcyAoQ0FTU0FORFJBLTczNjYpCiAqIEZpeCBlcnJvciB3aGVuIGRvaW5nIHJldmVyc2VkIHF1ZXJpZXMgd2l0aCBzdGF0aWMgY29sdW1ucyAoQ0FTU0FORFJBLTc0OTApCiAqIEJhY2twb3J0IENBU1NBTkRSQS02NzQ3IChDQVNTQU5EUkEtNzU2MCkKICogVHJhY2sgbWF4L21pbiB0aW1lc3RhbXBzIGZvciByYW5nZSB0b21ic3RvbmVzIChDQVNTQU5EUkEtNzY0NykKICogRml4IE5QRSB3jKeyzgAAAU/ePLJcABBibGUgKENBU1NBTkRSQS0yAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/bAAABAHJ0aW9uIGVycm9yIG9uIFJhbmdlVG9tYnN0b25lTGlzdCBkaWZmIChDQVNTQU5EUkEtODAxMykKICogUmVsZWFzZSByZWZlcmVuY2VzIHRvIG92ZXJsYXBwaW5nIHNzdGFibGVzIGR1cmluZyBjb21wYWN0aW9uIChDQVNTQU5EUkEtNzgxOSkKICogU2VuZCBub3RpZmljYXRpb24gd2hlbiBvcGVuaW5nIGNvbXBhY3Rpb24gcmVzdWx0cyBlYXJseSAoQ0FTU0FORFJBLTgwMzQpCiAqIE1ha2UgbmF0aXZlIHNlcnZlciBzdGFydCBibG9jayB1bnRpbCBwcm9/zjWhAAABT948slwAEHMgZm9yIGF2cm8gKENBU1MAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9sAAAEAIG11dGF0aW9ucyBpbiBVTkxPR0dFRCBiYXRjaGVzIChDQVNTQU5EUkEtNzM1MSkKICogTW9kaWZ5IHJlY29uY2lsZSBsb2dpYyB0byBhbHdheXMgcGljayBhIHRvbWJzdG9uZSBvdmVyIGEgY291bnRlciBjZWxsCiAgIChDQVNTQU5EUkEtNzM0NikKICogQXZvaWQgaW5jcmVtZW50YWwgY29tcGFjdGlvbiBvbiBXaW5kb3dzIChDQVNTQU5EUkEtNzM2NSkKICogRml4IGV4Y2VwdGlvbiB3aGVuIHF1ZXJ5aW5nIGEgY29tcG9zaXRlLWtleWVkIHRhYmxlIGk8RJwAAAFP3jyyXAAQCiAqIGNoYW5nZSBzdHJlYQAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv2wAAAQBvbXBvc2l0ZS1rZXllZCB0YWJsZSB3aXRoIGEgY29sbGVjdGlvbiBpbmRleAogICAoQ0FTU0FORFJBLTczNzIpCiAqIFVzZSBub2RlJ3MgaG9zdCBpZCBpbiBwbGFjZSBvZiBjb3VudGVyIGlkcyAoQ0FTU0FORFJBLTczNjYpCiAqIEZpeCBlcnJvciB3aGVuIGRvaW5nIHJldmVyc2VkIHF1ZXJpZXMgd2l0aCBzdGF0aWMgY29sdW1ucyAoQ0FTU0FORFJBLTc0OTApCiAqIEJhY2twb3J0IENBU1NBTkRSQS02NzQ3IChDQVNTQU5EUkEtNzU2MCkKICogVHJhidl1OAAAAU/ePLJcABAoQ0FTU0FORFJBLTQwNzIpAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/bAAABACkKICogRml4IE5QRSBpbiBGaWxlQ2FjaGVTZXJ2aWNlLnNpemVJbkJ5dGVzIChDQVNTQU5EUkEtNzc1NikKICogUmVtb3ZlIGR1cGxpY2F0ZXMgZnJvbSBTdG9yYWdlU2VydmljZS5nZXRKb2luaW5nTm9kZXMgKENBU1NBTkRSQS03NDc4KQogKiBDbG9uZSB0b2tlbiBtYXAgb3V0c2lkZSBvZiBob3QgZ29zc2lwIGxvb3BzIChDQVNTQU5EUkEtNzc1OCkKICogRml4IE1TIGV4cGlyaW5nIG1hcCB0aW1lb3V0IGZvciBQYXhvcyBtZXNzYWdlcyAoQ0FTU0G8Ogi1AAABT948slwAECogSW1wcm92ZSBnb3NzaXAAAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9sAAAEAbGVkdGFza3MgZXhlY3V0b3IgKENBU1NBTkRSQS0yMjUzKQoKCjAuNy4yCiAqIGNvcHkgRGVjb3JhdGVkS2V5LmtleSB3aGVuIGluc2VydGluZyBpbnRvIGNhY2hlcyB0byBhdm9pZCByZXRhaW5pbmcKICAgYSByZWZlcmVuY2UgdG8gdGhlIHVuZGVybHlpbmcgYnVmZmVyIChDQVNTQU5EUkEtMjEwMikKICogZm9ybWF0IHN1YmNvbHVtbiBuYW1lcyB3aXRoIHN1YmNvbXBhcmF0b3IgKENBU1NBTkRSQS0yMTM2KQogKiBmaXggY29sdW1uIGJsb29tIGZpbMuErd8AAAFP3jyyXAAQYXJhbWV0ZXIgdG8gcmVhZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv3AAAAQBSQS01MTQ0KQogKiBGaXggaW5zZXJ0aW5nIGVtcHR5IG1hcHMgKENBU1NBTkRSQS01MTQxKQogKiBEb24ndCByZW1vdmUgdG9rZW5zIGZyb20gU3lzdGVtIHRhYmxlIGZvciBub2RlIHdlIGtub3cgKENBU1NBTkRSQS01MTIxKQogKiBmaXggc3RyZWFtaW5nIHByb2dyZXNzIHJlcG9ydCBmb3IgY29tcHJlc2VkIGZpbGVzIChDQVNTQU5EUkEtNTEzMCkKICogQ292ZXJhZ2UgYW5hbHlzaXMgZm9yIGxvdy1DTCBxdWVyaWVzIChDQVNTQU5EUkEtNDg1OCkKY1hfQQAAAU/ePLJcABAgc2V0IGNvbXBhY3Rpb24gAAAAAQFsYikg+YAR5Lig59RI1eJtf////4AAAAAAAAAAAAAAAAAAAAEABW5hbWUwAAAAAU1NyC/cAAABAGcgYnkgaXRzZWxmIChDQVNTQU5EUkEtNTc2OCkKICogYWRkIGNhc3NhbmRyYS51bnNhZmVzeXN0ZW0gcHJvcGVydHkgKENBU1NBTkRSQS01NzA0KQogKiAoSGFkb29wKSBxdW90ZSBpZGVudGlmaWVycyBpbiBDcWxQYWdpbmdSZWNvcmRSZWFkZXIgKENBU1NBTkRSQS01NzYzKQogKiBBZGQgcmVwbGFjZV9ub2RlIGZ1bmN0aW9uYWxpdHkgZm9yIHZub2RlcyAoQ0FTU0FORFJBLTUzMzcpCiAqIEFkZCB0aW1lb3V0IGV2ZW50cyB0byBxdWVyeSB0cmFjZXOMJC1WAAABT948slwAEGx1c2ggKENBU1NBTkRSQS0AAAABAWxiKSD5gBHkuKDn1EjV4m1/////gAAAAAAAAAAAAAAAAAAAAQAFbmFtZTAAAAABTU3IL9wAAAEAU3dpbmcpIGZvciByaW5nIGludGVncml0eSB2ZXJpZmljYXRpb24gYW5kIAogICB2aXN1YWxpemF0aW9uIHdhcyBhZGRlZCB0byBjb250cmliIChDQVNTQU5EUkEtMjUyKQogKiBBZGQgRENRVU9SVU0sIERDUVVPUlVNU1lOQyBjb25zaXN0ZW5jeSBsZXZlbHMgYW5kIGNvcnJlc3BvbmRpbmcKICAgUmVwbGljYXRpb25TdHJhdGVneSAvIEVuZHBvaW50U25pdGNoIGNsYXNzZXMuICBFeHBlcmltZW50YWwuCiAgIChDQVNTQU5EUkEtNDkyKQogKiBXZWIgYwIYONMAAAFP3jyyXAAQYWtlIHVzZXItZGVmaW5lZAAAAAEBbGIpIPmAEeS4oOfUSNXibX////+AAAAAAAAAAAAAAAAAAAABAAVuYW1lMAAAAAFNTcgv3AAAAQAgbGl0ZXJhbHMgaW4gQ1FMMyAoQ0FTU0FORFJBLTU0NTIpCiAqIEZpeCBzdHJlYW1pbmcgUmFuZ2VUb21ic3RvbmVzIGF0IGNvbHVtbiBpbmRleCBib3VuZGFyeSAoQ0FTU0FORFJBLTU0MTgpCiAqIEZpeCBwcmVwYXJpbmcgc3RhdGVtZW50cyB3aGVuIGN1cnJlbnQga2V5c3BhY2UgaXMgbm90IHNldCAoQ0FTU0FORFJBLTU0NjgpCiAqIEZpeCBTZW1hbnRpY1ZlcnNpb24uaXNTdXBwb3J0ZWRCeSBtaW5vci9wYXRjaCBoYW5kbGluZyAoQ0FTU0FORFJBhw2XJAAepQoodsIFAAAATF4u0qcAIQAGc3lzdGVtAAAOc2NoZW1hX2NvbHVtbnMAAAQAAAAJAAAAAAEBWh/yZ6zgPxKFY8+uYQPGXlVTZnIABRX31fr7MAAAAAAAAAAASoB9DgAAAAAAAAAAAAAATF4u0qcAIQAGc3lzdGVtAAAOc2NoZW1hX2NvbHVtbnMAAAQAAAAKAAAAAAEBWh/yZ6zgPxKFY8+uYQPGXlVTZnIABRX31fsacAAAAAAAAAAARIjciwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=