bw0NCgAAAAClNI1jtwsAAOMAAAAAAAAAAAAAAAAAAAAAAwAAAEAAAABzRAAAAGQAWgBkAWQCbAFtAloCbQNaAwEAZANaBGQEWgVnAGQFogFaBmQGZAeEAFoHZA1kCWQKhAFaCGQNZAtkDIQBWglkCFMAKQ5hFQQAAAogICAgUHlnbWVudHMKICAgIH5+fn5+fn5+CgogICAgUHlnbWVudHMgaXMgYSBzeW50YXggaGlnaGxpZ2h0aW5nIHBhY2thZ2Ugd3JpdHRlbiBpbiBQeXRob24uCgogICAgSXQgaXMgYSBnZW5lcmljIHN5bnRheCBoaWdobGlnaHRlciBmb3IgZ2VuZXJhbCB1c2UgaW4gYWxsIGtpbmRzIG9mIHNvZnR3YXJlCiAgICBzdWNoIGFzIGZvcnVtIHN5c3RlbXMsIHdpa2lzIG9yIG90aGVyIGFwcGxpY2F0aW9ucyB0aGF0IG5lZWQgdG8gcHJldHRpZnkKICAgIHNvdXJjZSBjb2RlLiBIaWdobGlnaHRzIGFyZToKCiAgICAqIGEgd2lkZSByYW5nZSBvZiBjb21tb24gbGFuZ3VhZ2VzIGFuZCBtYXJrdXAgZm9ybWF0cyBpcyBzdXBwb3J0ZWQKICAgICogc3BlY2lhbCBhdHRlbnRpb24gaXMgcGFpZCB0byBkZXRhaWxzLCBpbmNyZWFzaW5nIHF1YWxpdHkgYnkgYSBmYWlyIGFtb3VudAogICAgKiBzdXBwb3J0IGZvciBuZXcgbGFuZ3VhZ2VzIGFuZCBmb3JtYXRzIGFyZSBhZGRlZCBlYXNpbHkKICAgICogYSBudW1iZXIgb2Ygb3V0cHV0IGZvcm1hdHMsIHByZXNlbnRseSBIVE1MLCBMYVRlWCwgUlRGLCBTVkcsIGFsbCBpbWFnZQogICAgICBmb3JtYXRzIHRoYXQgUElMIHN1cHBvcnRzLCBhbmQgQU5TSSBzZXF1ZW5jZXMKICAgICogaXQgaXMgdXNhYmxlIGFzIGEgY29tbWFuZC1saW5lIHRvb2wgYW5kIGFzIGEgbGlicmFyeQogICAgKiAuLi4gYW5kIGl0IGhpZ2hsaWdodHMgZXZlbiBCcmFpbmZ1Y2shCgogICAgVGhlIGBQeWdtZW50cyBtYXN0ZXIgYnJhbmNoYF8gaXMgaW5zdGFsbGFibGUgd2l0aCBgYGVhc3lfaW5zdGFsbCBQeWdtZW50cz09ZGV2YGAuCgogICAgLi4gX1B5Z21lbnRzIG1hc3RlciBicmFuY2g6CiAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcHlnbWVudHMvcHlnbWVudHMvYXJjaGl2ZS9tYXN0ZXIuemlwI2VnZz1QeWdtZW50cy1kZXYKCiAgICA6Y29weXJpZ2h0OiBDb3B5cmlnaHQgMjAwNi0yMDIyIGJ5IHRoZSBQeWdtZW50cyB0ZWFtLCBzZWUgQVVUSE9SUy4KICAgIDpsaWNlbnNlOiBCU0QsIHNlZSBMSUNFTlNFIGZvciBkZXRhaWxzLgrpAAAAACkC2ghTdHJpbmdJT9oHQnl0ZXNJT3oGMi4xMy4w2hByZXN0cnVjdHVyZWR0ZXh0KQPaA2xleNoGZm9ybWF02gloaWdobGlnaHRjAgAAAAAAAAAAAAAAAwAAAAgAAABDAAAAc0YAAAB6BnwBoAB8AKEBVwBTAAQAdAF5IgEAAQABAGQBZAJsAm0DfQIBAHQEfAF0BYMCciF0BnwBfAKDAnIhdAFkA4MBggGCAHcAKQR6RwogICAgTGV4IGBgY29kZWBgIHdpdGggYGBsZXhlcmBgIGFuZCByZXR1cm4gYW4gaXRlcmFibGUgb2YgdG9rZW5zLgogICAgcgEAAAApAdoKUmVnZXhMZXhlcno0bGV4KCkgYXJndW1lbnQgbXVzdCBiZSBhIGxleGVyIGluc3RhbmNlLCBub3QgYSBjbGFzcykH2gpnZXRfdG9rZW5z2glUeXBlRXJyb3LaGnBpcC5fdmVuZG9yLnB5Z21lbnRzLmxleGVycggAAADaCmlzaW5zdGFuY2XaBHR5cGXaCmlzc3ViY2xhc3MpA9oEY29kZdoFbGV4ZXJyCAAAAKkAchEAAAD6aC9yb290L2dmMTgwLWRlbW8vY2FyYXZlbF91c2VyX3Byb2plY3QvdmVudi9saWIvcHl0aG9uMy4xMC9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3B5Z21lbnRzL19faW5pdF9fLnB5cgUAAAAjAAAAcxAAAAACBAwBDAEMAhQBCAECAgL6cgUAAABOYwMAAAAAAAAAAAAAAAUAAAAIAAAAQwAAAHN+AAAAeiJ8AnMadAB8AWQBZAKDA3IMdAGDAHAOdAKDAH0DfAGgA3wAfAOhAgEAfAOgBKEAVwBTAHwBoAN8AHwCoQIBAFcAZAJTAAQAdAV5PgEAAQABAGQDZARsBm0HfQQBAHQIfAF0CYMCcj10CnwBfASDAnI9dAVkBYMBggGCAHcAKQZ68wogICAgRm9ybWF0IGEgdG9rZW5saXN0IGBgdG9rZW5zYGAgd2l0aCB0aGUgZm9ybWF0dGVyIGBgZm9ybWF0dGVyYGAuCgogICAgSWYgYGBvdXRmaWxlYGAgaXMgZ2l2ZW4gYW5kIGEgdmFsaWQgZmlsZSBvYmplY3QgKGFuIG9iamVjdAogICAgd2l0aCBhIGBgd3JpdGVgYCBtZXRob2QpLCB0aGUgcmVzdWx0IHdpbGwgYmUgd3JpdHRlbiB0byBpdCwgb3RoZXJ3aXNlCiAgICBpdCBpcyByZXR1cm5lZCBhcyBhIHN0cmluZy4KICAgINoIZW5jb2RpbmdOcgEAAAApAdoJRm9ybWF0dGVyejtmb3JtYXQoKSBhcmd1bWVudCBtdXN0IGJlIGEgZm9ybWF0dGVyIGluc3RhbmNlLCBub3QgYSBjbGFzcykL2gdnZXRhdHRycgMAAAByAgAAAHIGAAAA2ghnZXR2YWx1ZXIKAAAA2h5waXAuX3ZlbmRvci5weWdtZW50cy5mb3JtYXR0ZXJyFAAAAHIMAAAAcg0AAAByDgAAACkF2gZ0b2tlbnPaCWZvcm1hdHRlctoHb3V0ZmlsZdoLcmVhbG91dGZpbGVyFAAAAHIRAAAAchEAAAByEgAAAHIGAAAAMgAAAHMYAAAAAggEARgBDAEKARICDAEMAhQBCAECAgL6cgYAAABjBAAAAAAAAAAAAAAABAAAAAQAAABDAAAAcxIAAAB0AHQBfAB8AYMCfAJ8A4MDUwApAXr/CiAgICBMZXggYGBjb2RlYGAgd2l0aCBgYGxleGVyYGAgYW5kIGZvcm1hdCBpdCB3aXRoIHRoZSBmb3JtYXR0ZXIgYGBmb3JtYXR0ZXJgYC4KCiAgICBJZiBgYG91dGZpbGVgYCBpcyBnaXZlbiBhbmQgYSB2YWxpZCBmaWxlIG9iamVjdCAoYW4gb2JqZWN0CiAgICB3aXRoIGEgYGB3cml0ZWBgIG1ldGhvZCksIHRoZSByZXN1bHQgd2lsbCBiZSB3cml0dGVuIHRvIGl0LCBvdGhlcndpc2UKICAgIGl0IGlzIHJldHVybmVkIGFzIGEgc3RyaW5nLgogICAgKQJyBgAAAHIFAAAAKQRyDwAAAHIQAAAAchkAAAByGgAAAHIRAAAAchEAAAByEgAAAHIHAAAASgAAAHMCAAAAEghyBwAAACkBTikK2gdfX2RvY19f2gJpb3ICAAAAcgMAAADaC19fdmVyc2lvbl9f2g1fX2RvY2Zvcm1hdF9f2gdfX2FsbF9fcgUAAAByBgAAAHIHAAAAchEAAAByEQAAAHIRAAAAchIAAADaCDxtb2R1bGU+AQAAAHMQAAAABAAQGgQCBAEIAggDCg8OGA==