YQ0NCgAAAABFGnxjuBAAAOMAAAAAAAAAAAAAAAAAAAAABQAAAEAAAABzGgEAAGQAZAFsAFoAZABkAWwBWgFkAGQBbAJaAmQAZAFsA1oDZABkAmwEbQVaBW0GWgZtB1oHbQhaCG0JWgkBAGQAZANsCm0LWgsBAGQEZAVsDG0NWg1tDloObQ9aD20QWhBtEVoRAQBlBXJ2ZABkBmwEbRJaEgEAbgRlE1oSZwBkB6IBWhRlFWQInAFkCWQKhARaFkcAZAtkDIQAZAxlEoMDWhdlAWoYZAFkDY0BZRdkCJwBZA5kD4QEgwFaGWUOZAicAWQQZBGEBFoaZQdlBmUbGQAZAGUOZBKcAmQTZBSEBFocZRtlDWQVnAJkFmQXhARaHWURZRtlDWQYnANkGWQahARaHmUfZRtlG2UNZBucBGQcZB2EBFogZAFTACke6QAAAABOKQXaDVRZUEVfQ0hFQ0tJTkfaBExpc3TaCE9wdGlvbmFs2gRUeXBl2gRjYXN0KQHaCXN0cnRvYm9vbOkBAAAAKQXaEEJhc2VEaXN0cmlidXRpb27aD0Jhc2VFbnZpcm9ubWVudNoPRmlsZXN5c3RlbVdoZWVs2gtNZW1vcnlXaGVlbNoFV2hlZWwpAdoIUHJvdG9jb2wpCXIJAAAAcgoAAAByCwAAAHIMAAAAcg0AAADaF2dldF9kZWZhdWx0X2Vudmlyb25tZW502g9nZXRfZW52aXJvbm1lbnTaFmdldF93aGVlbF9kaXN0cmlidXRpb27aDnNlbGVjdF9iYWNrZW5kKQHaBnJldHVybmMAAAAAAAAAAAAAAAABAAAACAAAAEMAAABzZgAAAHQAoAF0AnQDoQKPIgEAdAR0BXQGagdkARkAgwGDAVcAAgBkAgQABACDAwEAUwAxAHM0MAABAAEAAQBZAAEAdAhqCWQDawByTGQEUwBkBWQCbAp9AHQEdAt8AGoMZAFkBoMDgwFTACkHYZMCAABXaGV0aGVyIHRvIHVzZSB0aGUgYGBpbXBvcnRsaWIubWV0YWRhdGFgYCBvciBgYHBrZ19yZXNvdXJjZXNgYCBiYWNrZW5kLgoKICAgIEJ5IGRlZmF1bHQsIHBpcCB1c2VzIGBgaW1wb3J0bGliLm1ldGFkYXRhYGAgb24gUHl0aG9uIDMuMTErLCBhbmQKICAgIGBgcGtnX3Jlc291cmNlc3NgYCBvdGhlcndpc2UuIFRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gYnkgYSBjb3VwbGUgb2Ygd2F5czoKCiAgICAqIElmIGVudmlyb25tZW50IHZhcmlhYmxlIGBgX1BJUF9VU0VfSU1QT1JUTElCX01FVEFEQVRBYGAgaXMgc2V0LCBpdAogICAgICBkaWN0YXRlcyB3aGV0aGVyIGBgaW1wb3J0bGliLm1ldGFkYXRhYGAgaXMgdXNlZCwgcmVnYXJkbGVzcyBvZiBQeXRob24KICAgICAgdmVyc2lvbi4KICAgICogT24gUHl0aG9uIDMuMTErLCBQeXRob24gZGlzdHJpYnV0b3JzIGNhbiBwYXRjaCBgYGltcG9ydGxpYi5tZXRhZGF0YWBgCiAgICAgIHRvIGFkZCBhIGdsb2JhbCBjb25zdGFudCBgYF9QSVBfVVNFX0lNUE9SVExJQl9NRVRBREFUQSA9IEZhbHNlYGAuIFRoaXMKICAgICAgbWFrZXMgcGlwIHVzZSBgYHBrZ19yZXNvdXJjZXNgYCAodW5sZXNzIHRoZSB1c2VyIHNldCB0aGUgYWZvcmVtZW50aW9uZWQKICAgICAgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gKlRydWUqKS4KICAgIFobX1BJUF9VU0VfSU1QT1JUTElCX01FVEFEQVRBTikC6QMAAADpCwAAAEZyAQAAAFQpDdoKY29udGV4dGxpYtoIc3VwcHJlc3PaCEtleUVycm9y2gpWYWx1ZUVycm9y2gRib29scgcAAADaAm9z2gdlbnZpcm9u2gNzeXPaDHZlcnNpb25faW5mb9oSaW1wb3J0bGliLm1ldGFkYXRh2gdnZXRhdHRy2ghtZXRhZGF0YakB2glpbXBvcnRsaWKpAHIkAAAA+lwvaG9tZS9obmkvVG9wbWV0YWxTZS1EUFMvdmVudi9saWIvcHl0aG9uMy45L3NpdGUtcGFja2FnZXMvcGlwL19pbnRlcm5hbC9tZXRhZGF0YS9fX2luaXRfXy5wedoeX3Nob3VsZF91c2VfaW1wb3J0bGliX21ldGFkYXRhHQAAAHMMAAAAAA4OATABCgEEAQgCciYAAABjAAAAAAAAAAAAAAAAAAAAAAMAAABAAAAAcyYAAABlAFoBZABaAlUAZQNlBBkAZQVkATwAZQNlBhkAZQVkAjwAZANTACkE2gdCYWNrZW5k2gxEaXN0cmlidXRpb27aC0Vudmlyb25tZW50TikH2ghfX25hbWVfX9oKX19tb2R1bGVfX9oMX19xdWFsbmFtZV9fcgUAAAByCQAAANoPX19hbm5vdGF0aW9uc19fcgoAAAByJAAAAHIkAAAAciQAAAByJQAAAHInAAAANAAAAHMEAAAACgEMAXInAAAAKQHaB21heHNpemVjAAAAAAAAAAAAAAAAAgAAAAMAAABDAAAAczIAAAB0AIMAchxkAWQCbAFtAn0AAQB0A3QEfACDAlMAZAFkA2wBbQV9AQEAdAN0BHwBgwJTACkETnIIAAAAciIAAAApAdoNcGtnX3Jlc291cmNlcykGciYAAADaAHIjAAAAcgYAAAByJwAAAHIvAAAAKQJyIwAAAHIvAAAAciQAAAByJAAAAHIlAAAAchIAAAA5AAAAcwoAAAAAAgYBDAIKAQwCchIAAABjAAAAAAAAAAAAAAAAAAAAAAIAAABDAAAAcwwAAAB0AIMAagGgAqEAUwApAWEJAQAAR2V0IHRoZSBkZWZhdWx0IHJlcHJlc2VudGF0aW9uIGZvciB0aGUgY3VycmVudCBlbnZpcm9ubWVudC4KCiAgICBUaGlzIHJldHVybnMgYW4gRW52aXJvbm1lbnQgaW5zdGFuY2UgZnJvbSB0aGUgY2hvc2VuIGJhY2tlbmQuIFRoZSBkZWZhdWx0CiAgICBFbnZpcm9ubWVudCBpbnN0YW5jZSBzaG91bGQgYmUgYnVpbHQgZnJvbSBgYHN5cy5wYXRoYGAgYW5kIG1heSB1c2UgY2FjaGluZwogICAgdG8gc2hhcmUgaW5zdGFuY2Ugc3RhdGUgYWNjb3JzcyBjYWxscy4KICAgICkDchIAAAByKQAAANoHZGVmYXVsdHIkAAAAciQAAAByJAAAAHIlAAAAcg8AAABEAAAAcwIAAAAAB3IPAAAAKQLaBXBhdGhzchMAAABjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcw4AAAB0AIMAagGgAnwAoQFTACkBYScBAABHZXQgYSByZXByZXNlbnRhdGlvbiBvZiB0aGUgZW52aXJvbm1lbnQgc3BlY2lmaWVkIGJ5IGBgcGF0aHNgYC4KCiAgICBUaGlzIHJldHVybnMgYW4gRW52aXJvbm1lbnQgaW5zdGFuY2UgZnJvbSB0aGUgY2hvc2VuIGJhY2tlbmQgYmFzZWQgb24gdGhlCiAgICBnaXZlbiBpbXBvcnQgcGF0aHMuIFRoZSBiYWNrZW5kIG11c3QgYnVpbGQgYSBmcmVzaCBpbnN0YW5jZSByZXByZXNlbnRpbmcKICAgIHRoZSBzdGF0ZSBvZiBpbnN0YWxsZWQgZGlzdHJpYnV0aW9ucyB3aGVuIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkLgogICAgKQNyEgAAAHIpAAAAWgpmcm9tX3BhdGhzKQFyMgAAAHIkAAAAciQAAAByJQAAAHIQAAAATgAAAHMCAAAAAAdyEAAAACkC2glkaXJlY3RvcnlyEwAAAGMBAAAAAAAAAAAAAAABAAAAAwAAAEMAAABzDgAAAHQAgwBqAaACfAChAVMAKQF6yEdldCB0aGUgZGlzdHJpYnV0aW9uIG1ldGFkYXRhIHJlcHJlc2VudGF0aW9uIGluIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5LgoKICAgIFRoaXMgcmV0dXJucyBhIERpc3RyaWJ1dGlvbiBpbnN0YW5jZSBmcm9tIHRoZSBjaG9zZW4gYmFja2VuZCBiYXNlZCBvbgogICAgdGhlIGdpdmVuIG9uLWRpc2sgYGAuZGlzdC1pbmZvYGAgZGlyZWN0b3J5LgogICAgKQNyEgAAAHIoAAAAWg5mcm9tX2RpcmVjdG9yeSkBcjMAAAByJAAAAHIkAAAAciUAAADaGmdldF9kaXJlY3RvcnlfZGlzdHJpYnV0aW9uWAAAAHMCAAAAAAZyNAAAACkD2gV3aGVlbNoOY2Fub25pY2FsX25hbWVyEwAAAGMCAAAAAAAAAAAAAAACAAAABAAAAEMAAABzEAAAAHQAgwBqAaACfAB8AaECUwApAWEOAQAAR2V0IHRoZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgc3BlY2lmaWVkIHdoZWVsJ3MgZGlzdHJpYnV0aW9uIG1ldGFkYXRhLgoKICAgIFRoaXMgcmV0dXJucyBhIERpc3RyaWJ1dGlvbiBpbnN0YW5jZSBmcm9tIHRoZSBjaG9zZW4gYmFja2VuZCBiYXNlZCBvbgogICAgdGhlIGdpdmVuIHdoZWVsJ3MgYGAuZGlzdC1pbmZvYGAgZGlyZWN0b3J5LgoKICAgIDpwYXJhbSBjYW5vbmljYWxfbmFtZTogTm9ybWFsaXplZCBwcm9qZWN0IG5hbWUgb2YgdGhlIGdpdmVuIHdoZWVsLgogICAgKQNyEgAAAHIoAAAAWgpmcm9tX3doZWVsKQJyNQAAAHI2AAAAciQAAAByJAAAAHIlAAAAchEAAABhAAAAcwIAAAAACHIRAAAAKQTaEW1ldGFkYXRhX2NvbnRlbnRz2ghmaWxlbmFtZXI2AAAAchMAAABjAwAAAAAAAAAAAAAAAwAAAAUAAABDAAAAcxIAAAB0AIMAagGgAnwAfAF8AqEDUwApAWHLAQAAR2V0IHRoZSBkaXN0IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBzcGVjaWZpZWQgTUVUQURBVEEgZmlsZSBjb250ZW50cy4KCiAgICBUaGlzIHJldHVybnMgYSBEaXN0cmlidXRpb24gaW5zdGFuY2UgZnJvbSB0aGUgY2hvc2VuIGJhY2tlbmQgc291cmNlZCBmcm9tIHRoZSBkYXRhCiAgICBpbiBgbWV0YWRhdGFfY29udGVudHNgLgoKICAgIDpwYXJhbSBtZXRhZGF0YV9jb250ZW50czogQ29udGVudHMgb2YgYSBNRVRBREFUQSBmaWxlIHdpdGhpbiBhIGRpc3QsIG9yIG9uZSBzZXJ2ZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlhIFBFUCA2NTguCiAgICA6cGFyYW0gZmlsZW5hbWU6IEZpbGVuYW1lIGZvciB0aGUgZGlzdCB0aGlzIG1ldGFkYXRhIHJlcHJlc2VudHMuCiAgICA6cGFyYW0gY2Fub25pY2FsX25hbWU6IE5vcm1hbGl6ZWQgcHJvamVjdCBuYW1lIG9mIHRoZSBnaXZlbiBkaXN0LgogICAgKQNyEgAAAHIoAAAAWhtmcm9tX21ldGFkYXRhX2ZpbGVfY29udGVudHMpA3I3AAAAcjgAAAByNgAAAHIkAAAAciQAAAByJQAAANoZZ2V0X21ldGFkYXRhX2Rpc3RyaWJ1dGlvbmwAAABzCgAAAAAPCAECAQIBAv1yOQAAACkhchYAAADaCWZ1bmN0b29sc3IbAAAAch0AAADaBnR5cGluZ3ICAAAAcgMAAAByBAAAAHIFAAAAcgYAAADaGHBpcC5faW50ZXJuYWwudXRpbHMubWlzY3IHAAAA2gRiYXNlcgkAAAByCgAAAHILAAAAcgwAAAByDQAAAHIOAAAA2gZvYmplY3TaB19fYWxsX19yGgAAAHImAAAAcicAAADaCWxydV9jYWNoZXISAAAAcg8AAADaA3N0cnIQAAAAcjQAAAByEQAAANoFYnl0ZXNyOQAAAHIkAAAAciQAAAByJAAAAHIlAAAA2gg8bW9kdWxlPgEAAABzLgAAAAgBCAEIAQgBHAIMAhwCBAEOAgQCCA0OFxAFCgEQCg4KGAoQCRIMAgECAQIBAvw=