CtMECjFjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2ltcG9ydF9wdWJsaWNfcHJvdG8zLnByb3RvEhhwcm90b2J1Zl91bml0dGVzdF9pbXBvcnQiIwoTUHVibGljSW1wb3J0TWVzc2FnZRIMCgFlGAEgASgFUgFlQh2qAhpHb29nbGUuUHJvdG9idWYuVGVzdFByb3Rvc0q3AwoGEgQJABEBCr4CCgEMEgMJABIyiQIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKMiggQXV0aG9yOiBsaXVqaXNpQGdvb2dsZS5jb20gKFBoZXJsIExpdSkKCggKAQISAwsAIQoICgEIEgMNADcKCQoCCCUSAw0ANwoKCgIEABIEDwARAQoKCgMEAAESAw8IGwoLCgQEAAIAEgMQAQ0KDAoFBAACAAUSAxABBgoMCgUEAAIAARIDEAcICgwKBQQAAgADEgMQCwxiBnByb3RvMwrnCAoqY3NoYXJwL3Byb3Rvcy91bml0dGVzdF9pbXBvcnRfcHJvdG8zLnByb3RvEhhwcm90b2J1Zl91bml0dGVzdF9pbXBvcnQaMWNzaGFycC9wcm90b3MvdW5pdHRlc3RfaW1wb3J0X3B1YmxpY19wcm90bzMucHJvdG8iHQoNSW1wb3J0TWVzc2FnZRIMCgFkGAEgASgFUgFkKlkKCkltcG9ydEVudW0SGwoXSU1QT1JUX0VOVU1fVU5TUEVDSUZJRUQQABIOCgpJTVBPUlRfRk9PEAcSDgoKSU1QT1JUX0JBUhAIEg4KCklNUE9SVF9CQVoQCUIdqgIaR29vZ2xlLlByb3RvYnVmLlRlc3RQcm90b3NKyAYKBhIEDQAfAQrnAwoBDBIDDQASMokCIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBvciBhdAogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCjLQASBBdXRob3I6IGtlbnRvbkBnb29nbGUuY29tIChLZW50b24gVmFyZGEpCiAgQmFzZWQgb24gb3JpZ2luYWwgUHJvdG9jb2wgQnVmZmVycyBkZXNpZ24gYnkKICBTYW5qYXkgR2hlbWF3YXQsIEplZmYgRGVhbiwgYW5kIG90aGVycy4KCiBBIHByb3RvIGZpbGUgd2hpY2ggaXMgaW1wb3J0ZWQgYnkgdW5pdHRlc3RfcHJvdG8zLnByb3RvIHRvIHRlc3QgaW1wb3J0aW5nLgoKCAoBAhIDDwAhCggKAQgSAxEANwoJCgIIJRIDEQA3Ch8KAgMAEgMUAEIaFCBUZXN0IHB1YmxpYyBpbXBvcnQKCgkKAgoAEgMUBw0KCgoCBAASBBYAGAEKCgoDBAABEgMWCBUKCwoEBAACABIDFwIOCgwKBQQAAgAFEgMXAgcKDAoFBAACAAESAxcICQoMCgUEAAIAAxIDFwwNCgoKAgUAEgQaAB8BCgoKAwUAARIDGgUPCgsKBAUAAgASAxsCHgoMCgUFAAIAARIDGwIZCgwKBQUAAgACEgMbHB0KCwoEBQACARIDHAIRCgwKBQUAAgEBEgMcAgwKDAoFBQACAQISAxwPEAoLCgQFAAICEgMdAhEKDAoFBQACAgESAx0CDAoMCgUFAAICAhIDHQ8QCgsKBAUAAgMSAx4CEQoMCgUFAAIDARIDHgIMCgwKBQUAAgMCEgMeDxBQAGIGcHJvdG8zCqKxAQojY3NoYXJwL3Byb3Rvcy91bml0dGVzdF9wcm90bzMucHJvdG8SEnByb3RvYnVmX3VuaXR0ZXN0MxoqY3NoYXJwL3Byb3Rvcy91bml0dGVzdF9pbXBvcnRfcHJvdG8zLnByb3RvIqsWCgxUZXN0QWxsVHlwZXMSIQoMc2luZ2xlX2ludDMyGAEgASgFUgtzaW5nbGVJbnQzMhIhCgxzaW5nbGVfaW50NjQYAiABKANSC3NpbmdsZUludDY0EiMKDXNpbmdsZV91aW50MzIYAyABKA1SDHNpbmdsZVVpbnQzMhIjCg1zaW5nbGVfdWludDY0GAQgASgEUgxzaW5nbGVVaW50NjQSIwoNc2luZ2xlX3NpbnQzMhgFIAEoEVIMc2luZ2xlU2ludDMyEiMKDXNpbmdsZV9zaW50NjQYBiABKBJSDHNpbmdsZVNpbnQ2NBIlCg5zaW5nbGVfZml4ZWQzMhgHIAEoB1INc2luZ2xlRml4ZWQzMhIlCg5zaW5nbGVfZml4ZWQ2NBgIIAEoBlINc2luZ2xlRml4ZWQ2NBInCg9zaW5nbGVfc2ZpeGVkMzIYCSABKA9SDnNpbmdsZVNmaXhlZDMyEicKD3NpbmdsZV9zZml4ZWQ2NBgKIAEoEFIOc2luZ2xlU2ZpeGVkNjQSIQoMc2luZ2xlX2Zsb2F0GAsgASgCUgtzaW5nbGVGbG9hdBIjCg1zaW5nbGVfZG91YmxlGAwgASgBUgxzaW5nbGVEb3VibGUSHwoLc2luZ2xlX2Jvb2wYDSABKAhSCnNpbmdsZUJvb2wSIwoNc2luZ2xlX3N0cmluZxgOIAEoCVIMc2luZ2xlU3RyaW5nEiEKDHNpbmdsZV9ieXRlcxgPIAEoDFILc2luZ2xlQnl0ZXMSYgoVc2luZ2xlX25lc3RlZF9tZXNzYWdlGBIgASgLMi4ucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBbGxUeXBlcy5OZXN0ZWRNZXNzYWdlUhNzaW5nbGVOZXN0ZWRNZXNzYWdlElgKFnNpbmdsZV9mb3JlaWduX21lc3NhZ2UYEyABKAsyIi5wcm90b2J1Zl91bml0dGVzdDMuRm9yZWlnbk1lc3NhZ2VSFHNpbmdsZUZvcmVpZ25NZXNzYWdlElsKFXNpbmdsZV9pbXBvcnRfbWVzc2FnZRgUIAEoCzInLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydC5JbXBvcnRNZXNzYWdlUhNzaW5nbGVJbXBvcnRNZXNzYWdlElkKEnNpbmdsZV9uZXN0ZWRfZW51bRgVIAEoDjIrLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0QWxsVHlwZXMuTmVzdGVkRW51bVIQc2luZ2xlTmVzdGVkRW51bRJPChNzaW5nbGVfZm9yZWlnbl9lbnVtGBYgASgOMh8ucHJvdG9idWZfdW5pdHRlc3QzLkZvcmVpZ25FbnVtUhFzaW5nbGVGb3JlaWduRW51bRJSChJzaW5nbGVfaW1wb3J0X2VudW0YFyABKA4yJC5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnQuSW1wb3J0RW51bVIQc2luZ2xlSW1wb3J0RW51bRJuChxzaW5nbGVfcHVibGljX2ltcG9ydF9tZXNzYWdlGBogASgLMi0ucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0LlB1YmxpY0ltcG9ydE1lc3NhZ2VSGXNpbmdsZVB1YmxpY0ltcG9ydE1lc3NhZ2USJQoOcmVwZWF0ZWRfaW50MzIYHyADKAVSDXJlcGVhdGVkSW50MzISJQoOcmVwZWF0ZWRfaW50NjQYICADKANSDXJlcGVhdGVkSW50NjQSJwoPcmVwZWF0ZWRfdWludDMyGCEgAygNUg5yZXBlYXRlZFVpbnQzMhInCg9yZXBlYXRlZF91aW50NjQYIiADKARSDnJlcGVhdGVkVWludDY0EicKD3JlcGVhdGVkX3NpbnQzMhgjIAMoEVIOcmVwZWF0ZWRTaW50MzISJwoPcmVwZWF0ZWRfc2ludDY0GCQgAygSUg5yZXBlYXRlZFNpbnQ2NBIpChByZXBlYXRlZF9maXhlZDMyGCUgAygHUg9yZXBlYXRlZEZpeGVkMzISKQoQcmVwZWF0ZWRfZml4ZWQ2NBgmIAMoBlIPcmVwZWF0ZWRGaXhlZDY0EisKEXJlcGVhdGVkX3NmaXhlZDMyGCcgAygPUhByZXBlYXRlZFNmaXhlZDMyEisKEXJlcGVhdGVkX3NmaXhlZDY0GCggAygQUhByZXBlYXRlZFNmaXhlZDY0EiUKDnJlcGVhdGVkX2Zsb2F0GCkgAygCUg1yZXBlYXRlZEZsb2F0EicKD3JlcGVhdGVkX2RvdWJsZRgqIAMoAVIOcmVwZWF0ZWREb3VibGUSIwoNcmVwZWF0ZWRfYm9vbBgrIAMoCFIMcmVwZWF0ZWRCb29sEicKD3JlcGVhdGVkX3N0cmluZxgsIAMoCVIOcmVwZWF0ZWRTdHJpbmcSJQoOcmVwZWF0ZWRfYnl0ZXMYLSADKAxSDXJlcGVhdGVkQnl0ZXMSZgoXcmVwZWF0ZWRfbmVzdGVkX21lc3NhZ2UYMCADKAsyLi5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VSFXJlcGVhdGVkTmVzdGVkTWVzc2FnZRJcChhyZXBlYXRlZF9mb3JlaWduX21lc3NhZ2UYMSADKAsyIi5wcm90b2J1Zl91bml0dGVzdDMuRm9yZWlnbk1lc3NhZ2VSFnJlcGVhdGVkRm9yZWlnbk1lc3NhZ2USXwoXcmVwZWF0ZWRfaW1wb3J0X21lc3NhZ2UYMiADKAsyJy5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnQuSW1wb3J0TWVzc2FnZVIVcmVwZWF0ZWRJbXBvcnRNZXNzYWdlEl0KFHJlcGVhdGVkX25lc3RlZF9lbnVtGDMgAygOMisucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBbGxUeXBlcy5OZXN0ZWRFbnVtUhJyZXBlYXRlZE5lc3RlZEVudW0SUwoVcmVwZWF0ZWRfZm9yZWlnbl9lbnVtGDQgAygOMh8ucHJvdG9idWZfdW5pdHRlc3QzLkZvcmVpZ25FbnVtUhNyZXBlYXRlZEZvcmVpZ25FbnVtElYKFHJlcGVhdGVkX2ltcG9ydF9lbnVtGDUgAygOMiQucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0LkltcG9ydEVudW1SEnJlcGVhdGVkSW1wb3J0RW51bRJyCh5yZXBlYXRlZF9wdWJsaWNfaW1wb3J0X21lc3NhZ2UYNiADKAsyLS5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnQuUHVibGljSW1wb3J0TWVzc2FnZVIbcmVwZWF0ZWRQdWJsaWNJbXBvcnRNZXNzYWdlEiMKDG9uZW9mX3VpbnQzMhhvIAEoDUgAUgtvbmVvZlVpbnQzMhJiChRvbmVvZl9uZXN0ZWRfbWVzc2FnZRhwIAEoCzIuLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZUgAUhJvbmVvZk5lc3RlZE1lc3NhZ2USIwoMb25lb2Zfc3RyaW5nGHEgASgJSABSC29uZW9mU3RyaW5nEiEKC29uZW9mX2J5dGVzGHIgASgMSABSCm9uZW9mQnl0ZXMaHwoNTmVzdGVkTWVzc2FnZRIOCgJiYhgBIAEoBVICYmIiVgoKTmVzdGVkRW51bRIbChdORVNURURfRU5VTV9VTlNQRUNJRklFRBAAEgcKA0ZPTxABEgcKA0JBUhACEgcKA0JBWhADEhAKA05FRxD///////////8BQg0KC29uZW9mX2ZpZWxkIt0BChJOZXN0ZWRUZXN0QWxsVHlwZXMSPAoFY2hpbGQYASABKAsyJi5wcm90b2J1Zl91bml0dGVzdDMuTmVzdGVkVGVzdEFsbFR5cGVzUgVjaGlsZBI6CgdwYXlsb2FkGAIgASgLMiAucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBbGxUeXBlc1IHcGF5bG9hZBJNCg5yZXBlYXRlZF9jaGlsZBgDIAMoCzImLnByb3RvYnVmX3VuaXR0ZXN0My5OZXN0ZWRUZXN0QWxsVHlwZXNSDXJlcGVhdGVkQ2hpbGQiRQoUVGVzdERlcHJlY2F0ZWRGaWVsZHMSLQoQZGVwcmVjYXRlZF9pbnQzMhgBIAEoBUICGAFSD2RlcHJlY2F0ZWRJbnQzMiIeCg5Gb3JlaWduTWVzc2FnZRIMCgFjGAEgASgFUgFjIjAKElRlc3RSZXNlcnZlZEZpZWxkc0oECAIQA0oECA8QEEoECAkQDFIDYmFyUgNiYXoiagoRVGVzdEZvcmVpZ25OZXN0ZWQSVQoOZm9yZWlnbl9uZXN0ZWQYASABKAsyLi5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VSDWZvcmVpZ25OZXN0ZWQiOwoYVGVzdFJlYWxseUxhcmdlVGFnTnVtYmVyEgwKAWEYASABKAVSAWESEQoCYmIY////fyABKAVSAmJiIlwKFFRlc3RSZWN1cnNpdmVNZXNzYWdlEjYKAWEYASABKAsyKC5wcm90b2J1Zl91bml0dGVzdDMuVGVzdFJlY3Vyc2l2ZU1lc3NhZ2VSAWESDAoBaRgCIAEoBVIBaSJQChRUZXN0TXV0dWFsUmVjdXJzaW9uQRI4CgJiYhgBIAEoCzIoLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TXV0dWFsUmVjdXJzaW9uQlICYmIidQoUVGVzdE11dHVhbFJlY3Vyc2lvbkISNgoBYRgBIAEoCzIoLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TXV0dWFsUmVjdXJzaW9uQVIBYRIlCg5vcHRpb25hbF9pbnQzMhgCIAEoBVINb3B0aW9uYWxJbnQzMiJUChJUZXN0RW51bUFsbG93QWxpYXMSPgoFdmFsdWUYASABKA4yKC5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEVudW1XaXRoRHVwVmFsdWVSBXZhbHVlIvsDChdUZXN0Q2FtZWxDYXNlRmllbGROYW1lcxImCg5QcmltaXRpdmVGaWVsZBgBIAEoBVIOUHJpbWl0aXZlRmllbGQSIAoLU3RyaW5nRmllbGQYAiABKAlSC1N0cmluZ0ZpZWxkEj0KCUVudW1GaWVsZBgDIAEoDjIfLnByb3RvYnVmX3VuaXR0ZXN0My5Gb3JlaWduRW51bVIJRW51bUZpZWxkEkYKDE1lc3NhZ2VGaWVsZBgEIAEoCzIiLnByb3RvYnVmX3VuaXR0ZXN0My5Gb3JlaWduTWVzc2FnZVIMTWVzc2FnZUZpZWxkEjYKFlJlcGVhdGVkUHJpbWl0aXZlRmllbGQYByADKAVSFlJlcGVhdGVkUHJpbWl0aXZlRmllbGQSMAoTUmVwZWF0ZWRTdHJpbmdGaWVsZBgIIAMoCVITUmVwZWF0ZWRTdHJpbmdGaWVsZBJNChFSZXBlYXRlZEVudW1GaWVsZBgJIAMoDjIfLnByb3RvYnVmX3VuaXR0ZXN0My5Gb3JlaWduRW51bVIRUmVwZWF0ZWRFbnVtRmllbGQSVgoUUmVwZWF0ZWRNZXNzYWdlRmllbGQYCiADKAsyIi5wcm90b2J1Zl91bml0dGVzdDMuRm9yZWlnbk1lc3NhZ2VSFFJlcGVhdGVkTWVzc2FnZUZpZWxkIv8BChJUZXN0RmllbGRPcmRlcmluZ3MSGwoJbXlfc3RyaW5nGAsgASgJUghteVN0cmluZxIVCgZteV9pbnQYASABKANSBW15SW50EhkKCG15X2Zsb2F0GGUgASgCUgdteUZsb2F0EmkKFXNpbmdsZV9uZXN0ZWRfbWVzc2FnZRjIASABKAsyNC5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEZpZWxkT3JkZXJpbmdzLk5lc3RlZE1lc3NhZ2VSE3NpbmdsZU5lc3RlZE1lc3NhZ2UaLwoNTmVzdGVkTWVzc2FnZRIOCgJvbxgCIAEoA1ICb28SDgoCYmIYASABKAVSAmJiIlgKEVNwYXJzZUVudW1NZXNzYWdlEkMKC3NwYXJzZV9lbnVtGAEgASgOMiIucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RTcGFyc2VFbnVtUgpzcGFyc2VFbnVtIh8KCU9uZVN0cmluZxISCgRkYXRhGAEgASgJUgRkYXRhIiAKCk1vcmVTdHJpbmcSEgoEZGF0YRgBIAMoCVIEZGF0YSIeCghPbmVCeXRlcxISCgRkYXRhGAEgASgMUgRkYXRhIh8KCU1vcmVCeXRlcxISCgRkYXRhGAEgASgMUgRkYXRhIiIKDEludDMyTWVzc2FnZRISCgRkYXRhGAEgASgFUgRkYXRhIiMKDVVpbnQzMk1lc3NhZ2USEgoEZGF0YRgBIAEoDVIEZGF0YSIiCgxJbnQ2NE1lc3NhZ2USEgoEZGF0YRgBIAEoA1IEZGF0YSIjCg1VaW50NjRNZXNzYWdlEhIKBGRhdGEYASABKARSBGRhdGEiIQoLQm9vbE1lc3NhZ2USEgoEZGF0YRgBIAEoCFIEZGF0YSKTAQoJVGVzdE9uZW9mEhkKB2Zvb19pbnQYASABKAVIAFIGZm9vSW50Eh8KCmZvb19zdHJpbmcYAiABKAlIAFIJZm9vU3RyaW5nEkMKC2Zvb19tZXNzYWdlGAMgASgLMiAucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBbGxUeXBlc0gAUgpmb29NZXNzYWdlQgUKA2ZvbyLuBAoPVGVzdFBhY2tlZFR5cGVzEiUKDHBhY2tlZF9pbnQzMhhaIAMoBUICEAFSC3BhY2tlZEludDMyEiUKDHBhY2tlZF9pbnQ2NBhbIAMoA0ICEAFSC3BhY2tlZEludDY0EicKDXBhY2tlZF91aW50MzIYXCADKA1CAhABUgxwYWNrZWRVaW50MzISJwoNcGFja2VkX3VpbnQ2NBhdIAMoBEICEAFSDHBhY2tlZFVpbnQ2NBInCg1wYWNrZWRfc2ludDMyGF4gAygRQgIQAVIMcGFja2VkU2ludDMyEicKDXBhY2tlZF9zaW50NjQYXyADKBJCAhABUgxwYWNrZWRTaW50NjQSKQoOcGFja2VkX2ZpeGVkMzIYYCADKAdCAhABUg1wYWNrZWRGaXhlZDMyEikKDnBhY2tlZF9maXhlZDY0GGEgAygGQgIQAVINcGFja2VkRml4ZWQ2NBIrCg9wYWNrZWRfc2ZpeGVkMzIYYiADKA9CAhABUg5wYWNrZWRTZml4ZWQzMhIrCg9wYWNrZWRfc2ZpeGVkNjQYYyADKBBCAhABUg5wYWNrZWRTZml4ZWQ2NBIlCgxwYWNrZWRfZmxvYXQYZCADKAJCAhABUgtwYWNrZWRGbG9hdBInCg1wYWNrZWRfZG91YmxlGGUgAygBQgIQAVIMcGFja2VkRG91YmxlEiMKC3BhY2tlZF9ib29sGGYgAygIQgIQAVIKcGFja2VkQm9vbBJECgtwYWNrZWRfZW51bRhnIAMoDjIfLnByb3RvYnVmX3VuaXR0ZXN0My5Gb3JlaWduRW51bUICEAFSCnBhY2tlZEVudW0iqAUKEVRlc3RVbnBhY2tlZFR5cGVzEikKDnVucGFja2VkX2ludDMyGFogAygFQgIQAFINdW5wYWNrZWRJbnQzMhIpCg51bnBhY2tlZF9pbnQ2NBhbIAMoA0ICEABSDXVucGFja2VkSW50NjQSKwoPdW5wYWNrZWRfdWludDMyGFwgAygNQgIQAFIOdW5wYWNrZWRVaW50MzISKwoPdW5wYWNrZWRfdWludDY0GF0gAygEQgIQAFIOdW5wYWNrZWRVaW50NjQSKwoPdW5wYWNrZWRfc2ludDMyGF4gAygRQgIQAFIOdW5wYWNrZWRTaW50MzISKwoPdW5wYWNrZWRfc2ludDY0GF8gAygSQgIQAFIOdW5wYWNrZWRTaW50NjQSLQoQdW5wYWNrZWRfZml4ZWQzMhhgIAMoB0ICEABSD3VucGFja2VkRml4ZWQzMhItChB1bnBhY2tlZF9maXhlZDY0GGEgAygGQgIQAFIPdW5wYWNrZWRGaXhlZDY0Ei8KEXVucGFja2VkX3NmaXhlZDMyGGIgAygPQgIQAFIQdW5wYWNrZWRTZml4ZWQzMhIvChF1bnBhY2tlZF9zZml4ZWQ2NBhjIAMoEEICEABSEHVucGFja2VkU2ZpeGVkNjQSKQoOdW5wYWNrZWRfZmxvYXQYZCADKAJCAhAAUg11bnBhY2tlZEZsb2F0EisKD3VucGFja2VkX2RvdWJsZRhlIAMoAUICEABSDnVucGFja2VkRG91YmxlEicKDXVucGFja2VkX2Jvb2wYZiADKAhCAhAAUgx1bnBhY2tlZEJvb2wSSAoNdW5wYWNrZWRfZW51bRhnIAMoDjIfLnByb3RvYnVmX3VuaXR0ZXN0My5Gb3JlaWduRW51bUICEABSDHVucGFja2VkRW51bSKfAgojVGVzdFJlcGVhdGVkU2NhbGFyRGlmZmVyZW50VGFnU2l6ZXMSKQoQcmVwZWF0ZWRfZml4ZWQzMhgMIAMoB1IPcmVwZWF0ZWRGaXhlZDMyEiUKDnJlcGVhdGVkX2ludDMyGA0gAygFUg1yZXBlYXRlZEludDMyEioKEHJlcGVhdGVkX2ZpeGVkNjQY/g8gAygGUg9yZXBlYXRlZEZpeGVkNjQSJgoOcmVwZWF0ZWRfaW50NjQY/w8gAygDUg1yZXBlYXRlZEludDY0EicKDnJlcGVhdGVkX2Zsb2F0GP7/DyADKAJSDXJlcGVhdGVkRmxvYXQSKQoPcmVwZWF0ZWRfdWludDY0GP//DyADKARSDnJlcGVhdGVkVWludDY0IisKG1Rlc3RDb21tZW50SW5qZWN0aW9uTWVzc2FnZRIMCgFhGAEgASgJUgFhIgwKCkZvb1JlcXVlc3QiDQoLRm9vUmVzcG9uc2UiEgoQRm9vQ2xpZW50TWVzc2FnZSISChBGb29TZXJ2ZXJNZXNzYWdlIgwKCkJhclJlcXVlc3QiDQoLQmFyUmVzcG9uc2UiEgoQVGVzdEVtcHR5TWVzc2FnZSKCAQoOQ29tbWVudE1lc3NhZ2USEgoEdGV4dBgBIAEoCVIEdGV4dBo3ChROZXN0ZWRDb21tZW50TWVzc2FnZRIfCgtuZXN0ZWRfdGV4dBgBIAEoCVIKbmVzdGVkVGV4dCIjChFOZXN0ZWRDb21tZW50RW51bRIOCgpaRVJPX1ZBTFVFEAAqWQoLRm9yZWlnbkVudW0SFwoTRk9SRUlHTl9VTlNQRUNJRklFRBAAEg8KC0ZPUkVJR05fRk9PEAQSDwoLRk9SRUlHTl9CQVIQBRIPCgtGT1JFSUdOX0JBWhAGKnUKFFRlc3RFbnVtV2l0aER1cFZhbHVlEigKJFRFU1RfRU5VTV9XSVRIX0RVUF9WQUxVRV9VTlNQRUNJRklFRBAAEggKBEZPTzEQARIICgRCQVIxEAISBwoDQkFaEAMSCAoERk9PMhABEggKBEJBUjIQAhoCEAEqnQEKDlRlc3RTcGFyc2VFbnVtEiAKHFRFU1RfU1BBUlNFX0VOVU1fVU5TUEVDSUZJRUQQABIMCghTUEFSU0VfQRB7Eg4KCFNQQVJTRV9CEKbnAxIPCghTUEFSU0VfQxCysYAGEhUKCFNQQVJTRV9EEPH//////////wESFQoIU1BBUlNFX0UQtN78////////ARIMCghTUEFSU0VfRxACKh0KC0NvbW1lbnRFbnVtEg4KClpFUk9fVkFMVUUQADKdAQoLVGVzdFNlcnZpY2USRgoDRm9vEh4ucHJvdG9idWZfdW5pdHRlc3QzLkZvb1JlcXVlc3QaHy5wcm90b2J1Zl91bml0dGVzdDMuRm9vUmVzcG9uc2USRgoDQmFyEh4ucHJvdG9idWZfdW5pdHRlc3QzLkJhclJlcXVlc3QaHy5wcm90b2J1Zl91bml0dGVzdDMuQmFyUmVzcG9uc2VCLEINVW5pdHRlc3RQcm90b6oCGkdvb2dsZS5Qcm90b2J1Zi5UZXN0UHJvdG9zSvd0CgcSBQ0A/wIBCscDCgEMEgMNABIyiQIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKMrABIEF1dGhvcjoga2VudG9uQGdvb2dsZS5jb20gKEtlbnRvbiBWYXJkYSkKICBCYXNlZCBvbiBvcmlnaW5hbCBQcm90b2NvbCBCdWZmZXJzIGRlc2lnbiBieQogIFNhbmpheSBHaGVtYXdhdCwgSmVmZiBEZWFuLCBhbmQgb3RoZXJzLgoKIEEgcHJvdG8gZmlsZSB3ZSB3aWxsIHVzZSBmb3Ig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AgUDEgb8AgD/AgEaFiBMZWFkaW5nIGVudW0gY29tbWVudAoKCwoDBQMBEgT8AgUQCiIKBAUDAgASBP4CAhEaFCBaZXJvIHZhbHVlIGNvbW1lbnQKCg0KBQUDAgABEgT+AgIMCg0KBQUDAgACEgT+Ag8QYgZwcm90bzMKqU4KJ2NzaGFycC9wcm90b3MvbWFwX3VuaXR0ZXN0X3Byb3RvMy5wcm90bxIScHJvdG9idWZfdW5pdHRlc3QzGiNjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X3Byb3RvMy5wcm90byKZFgoHVGVzdE1hcBJWCg9tYXBfaW50MzJfaW50MzIYASADKAsyLi5wcm90b2J1Zl91bml0dGVzdDMuVGVzdE1hcC5NYXBJbnQzMkludDMyRW50cnlSDW1hcEludDMySW50MzISVgoPbWFwX2ludDY0X2ludDY0GAIgAygLMi4ucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RNYXAuTWFwSW50NjRJbnQ2NEVudHJ5Ug1tYXBJbnQ2NEludDY0ElwKEW1hcF91aW50MzJfdWludDMyGAMgAygLMjAucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RNYXAuTWFwVWludDMyVWludDMyRW50cnlSD21hcFVpbnQzMlVpbnQzMhJcChFtYXBfdWludDY0X3VpbnQ2NBgEIAMoCzIwLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWFwLk1hcFVpbnQ2NFVpbnQ2NEVudHJ5Ug9tYXBVaW50NjRVaW50NjQSXAoRbWFwX3NpbnQzMl9zaW50MzIYBSADKAsyMC5wcm90b2J1Zl91bml0dGVzdDMuVGVzdE1hcC5NYXBTaW50MzJTaW50MzJFbnRyeVIPbWFwU2ludDMyU2ludDMyElwKEW1hcF9zaW50NjRfc2ludDY0GAYgAygLMjAucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RNYXAuTWFwU2ludDY0U2ludDY0RW50cnlSD21hcFNpbnQ2NFNpbnQ2NBJiChNtYXBfZml4ZWQzMl9maXhlZDMyGAcgAygLMjIucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RNYXAuTWFwRml4ZWQzMkZpeGVkMzJFbnRyeVIRbWFwRml4ZWQzMkZpeGVkMzISYgoTbWFwX2ZpeGVkNjRfZml4ZWQ2NBgIIAMoCzIyLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWFwLk1hcEZpeGVkNjRGaXhlZDY0RW50cnlSEW1hcEZpeGVkNjRGaXhlZDY0EmgKFW1hcF9zZml4ZWQzMl9zZml4ZWQzMhgJIAMoCzI0LnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWFwLk1hcFNmaXhlZDMyU2ZpeGVkMzJFbnRyeVITbWFwU2ZpeGVkMzJTZml4ZWQzMhJoChVtYXBfc2ZpeGVkNjRfc2ZpeGVkNjQYCiADKAsyNC5wcm90b2J1Zl91bml0dGVzdDMuVGVzdE1hcC5NYXBTZml4ZWQ2NFNmaXhlZDY0RW50cnlSE21hcFNmaXhlZDY0U2ZpeGVkNjQSVgoPbWFwX2ludDMyX2Zsb2F0GAsgAygLMi4ucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RNYXAuTWFwSW50MzJGbG9hdEVudHJ5Ug1tYXBJbnQzMkZsb2F0ElkKEG1hcF9pbnQzMl9kb3VibGUYDCADKAsyLy5wcm90b2J1Zl91bml0dGVzdDMuVGVzdE1hcC5NYXBJbnQzMkRvdWJsZUVudHJ5Ug5tYXBJbnQzMkRvdWJsZRJQCg1tYXBfYm9vbF9ib29sGA0gAygLMiwucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RNYXAuTWFwQm9vbEJvb2xFbnRyeVILbWFwQm9vbEJvb2wSXAoRbWFwX3N0cmluZ19zdHJpbmcYDiADKAsyMC5wcm90b2J1Zl91bml0dGVzdDMuVGVzdE1hcC5NYXBTdHJpbmdTdHJpbmdFbnRyeVIPbWFwU3RyaW5nU3RyaW5nElYKD21hcF9pbnQzMl9ieXRlcxgPIAMoCzIuLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWFwLk1hcEludDMyQnl0ZXNFbnRyeVINbWFwSW50MzJCeXRlcxJTCg5tYXBfaW50MzJfZW51bRgQIAMoCzItLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWFwLk1hcEludDMyRW51bUVudHJ5UgxtYXBJbnQzMkVudW0ScgoZbWFwX2ludDMyX2ZvcmVpZ25fbWVzc2FnZRgRIAMoCzI3LnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWFwLk1hcEludDMyRm9yZWlnbk1lc3NhZ2VFbnRyeVIWbWFwSW50MzJGb3JlaWduTWVzc2FnZRpAChJNYXBJbnQzMkludDMyRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAVSBXZhbHVlOgI4ARpAChJNYXBJbnQ2NEludDY0RW50cnkSEAoDa2V5GAEgASgDUgNrZXkSFAoFdmFsdWUYAiABKANSBXZhbHVlOgI4ARpCChRNYXBVaW50MzJVaW50MzJFbnRyeRIQCgNrZXkYASABKA1SA2tleRIUCgV2YWx1ZRgCIAEoDVIFdmFsdWU6AjgBGkIKFE1hcFVpbnQ2NFVpbnQ2NEVudHJ5EhAKA2tleRgBIAEoBFIDa2V5EhQKBXZhbHVlGAIgASgEUgV2YWx1ZToCOAEaQgoUTWFwU2ludDMyU2ludDMyRW50cnkSEAoDa2V5GAEgASgRUgNrZXkSFAoFdmFsdWUYAiABKBFSBXZhbHVlOgI4ARpCChRNYXBTaW50NjRTaW50NjRFbnRyeRIQCgNrZXkYASABKBJSA2tleRIUCgV2YWx1ZRgCIAEoElIFdmFsdWU6AjgBGkQKFk1hcEZpeGVkMzJGaXhlZDMyRW50cnkSEAoDa2V5GAEgASgHUgNrZXkSFAoFdmFsdWUYAiABKAdSBXZhbHVlOgI4ARpEChZNYXBGaXhlZDY0Rml4ZWQ2NEVudHJ5EhAKA2tleRgBIAEoBlIDa2V5EhQKBXZhbHVlGAIgASgGUgV2YWx1ZToCOAEaRgoYTWFwU2ZpeGVkMzJTZml4ZWQzMkVudHJ5EhAKA2tleRgBIAEoD1IDa2V5EhQKBXZhbHVlGAIgASgPUgV2YWx1ZToCOAEaRgoYTWFwU2ZpeGVkNjRTZml4ZWQ2NEVudHJ5EhAKA2tleRgBIAEoEFIDa2V5EhQKBXZhbHVlGAIgASgQUgV2YWx1ZToCOAEaQAoSTWFwSW50MzJGbG9hdEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EhQKBXZhbHVlGAIgASgCUgV2YWx1ZToCOAEaQQoTTWFwSW50MzJEb3VibGVFbnRyeRIQCgNrZXkYASABKAVSA2tleRIUCgV2YWx1ZRgCIAEoAVIFdmFsdWU6AjgBGj4KEE1hcEJvb2xCb29sRW50cnkSEAoDa2V5GAEgASgIUgNrZXkSFAoFdmFsdWUYAiABKAhSBXZhbHVlOgI4ARpCChRNYXBTdHJpbmdTdHJpbmdFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGkAKEk1hcEludDMyQnl0ZXNFbnRyeRIQCgNrZXkYASABKAVSA2tleRIUCgV2YWx1ZRgCIAEoDFIFdmFsdWU6AjgBGlwKEU1hcEludDMyRW51bUVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjEKBXZhbHVlGAIgASgOMhsucHJvdG9idWZfdW5pdHRlc3QzLk1hcEVudW1SBXZhbHVlOgI4ARptChtNYXBJbnQzMkZvcmVpZ25NZXNzYWdlRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSOAoFdmFsdWUYAiABKAsyIi5wcm90b2J1Zl91bml0dGVzdDMuRm9yZWlnbk1lc3NhZ2VSBXZhbHVlOgI4ASJLChFUZXN0TWFwU3VibWVzc2FnZRI2Cgh0ZXN0X21hcBgBIAEoCzIbLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWFwUgd0ZXN0TWFwItsBCg5UZXN0TWVzc2FnZU1hcBJjChFtYXBfaW50MzJfbWVzc2FnZRgBIAMoCzI3LnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWVzc2FnZU1hcC5NYXBJbnQzMk1lc3NhZ2VFbnRyeVIPbWFwSW50MzJNZXNzYWdlGmQKFE1hcEludDMyTWVzc2FnZUVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjYKBXZhbHVlGAIgASgLMiAucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBbGxUeXBlc1IFdmFsdWU6AjgBIokCCg9UZXN0U2FtZVR5cGVNYXASQQoEbWFwMRgBIAMoCzItLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0U2FtZVR5cGVNYXAuTWFwMUVudHJ5UgRtYXAxEkEKBG1hcDIYAiADKAsyLS5wcm90b2J1Zl91bml0dGVzdDMuVGVzdFNhbWVUeXBlTWFwLk1hcDJFbnRyeVIEbWFwMho3CglNYXAxRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAVSBXZhbHVlOgI4ARo3CglNYXAyRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAVSBXZhbHVlOgI4ASKtFAoMVGVzdEFyZW5hTWFwElsKD21hcF9pbnQzMl9pbnQzMhgBIAMoCzIzLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0QXJlbmFNYXAuTWFwSW50MzJJbnQzMkVudHJ5Ug1tYXBJbnQzMkludDMyElsKD21hcF9pbnQ2NF9pbnQ2NBgCIAMoCzIzLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0QXJlbmFNYXAuTWFwSW50NjRJbnQ2NEVudHJ5Ug1tYXBJbnQ2NEludDY0EmEKEW1hcF91aW50MzJfdWludDMyGAMgAygLMjUucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBcmVuYU1hcC5NYXBVaW50MzJVaW50MzJFbnRyeVIPbWFwVWludDMyVWludDMyEmEKEW1hcF91aW50NjRfdWludDY0GAQgAygLMjUucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBcmVuYU1hcC5NYXBVaW50NjRVaW50NjRFbnRyeVIPbWFwVWludDY0VWludDY0EmEKEW1hcF9zaW50MzJfc2ludDMyGAUgAygLMjUucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBcmVuYU1hcC5NYXBTaW50MzJTaW50MzJFbnRyeVIPbWFwU2ludDMyU2ludDMyEmEKEW1hcF9zaW50NjRfc2ludDY0GAYgAygLMjUucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBcmVuYU1hcC5NYXBTaW50NjRTaW50NjRFbnRyeVIPbWFwU2ludDY0U2ludDY0EmcKE21hcF9maXhlZDMyX2ZpeGVkMzIYByADKAsyNy5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEFyZW5hTWFwLk1hcEZpeGVkMzJGaXhlZDMyRW50cnlSEW1hcEZpeGVkMzJGaXhlZDMyEmcKE21hcF9maXhlZDY0X2ZpeGVkNjQYCCADKAsyNy5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEFyZW5hTWFwLk1hcEZpeGVkNjRGaXhlZDY0RW50cnlSEW1hcEZpeGVkNjRGaXhlZDY0Em0KFW1hcF9zZml4ZWQzMl9zZml4ZWQzMhgJIAMoCzI5LnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0QXJlbmFNYXAuTWFwU2ZpeGVkMzJTZml4ZWQzMkVudHJ5UhNtYXBTZml4ZWQzMlNmaXhlZDMyEm0KFW1hcF9zZml4ZWQ2NF9zZml4ZWQ2NBgKIAMoCzI5LnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0QXJlbmFNYXAuTWFwU2ZpeGVkNjRTZml4ZWQ2NEVudHJ5UhNtYXBTZml4ZWQ2NFNmaXhlZDY0ElsKD21hcF9pbnQzMl9mbG9hdBgLIAMoCzIzLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0QXJlbmFNYXAuTWFwSW50MzJGbG9hdEVudHJ5Ug1tYXBJbnQzMkZsb2F0El4KEG1hcF9pbnQzMl9kb3VibGUYDCADKAsyNC5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEFyZW5hTWFwLk1hcEludDMyRG91YmxlRW50cnlSDm1hcEludDMyRG91YmxlElUKDW1hcF9ib29sX2Jvb2wYDSADKAsyMS5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEFyZW5hTWFwLk1hcEJvb2xCb29sRW50cnlSC21hcEJvb2xCb29sElgKDm1hcF9pbnQzMl9lbnVtGA4gAygLMjIucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBcmVuYU1hcC5NYXBJbnQzMkVudW1FbnRyeVIMbWFwSW50MzJFbnVtEncKGW1hcF9pbnQzMl9mb3JlaWduX21lc3NhZ2UYDyADKAsyPC5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEFyZW5hTWFwLk1hcEludDMyRm9yZWlnbk1lc3NhZ2VFbnRyeVIWbWFwSW50MzJGb3JlaWduTWVzc2FnZRpAChJNYXBJbnQzMkludDMyRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAVSBXZhbHVlOgI4ARpAChJNYXBJbnQ2NEludDY0RW50cnkSEAoDa2V5GAEgASgDUgNrZXkSFAoFdmFsdWUYAiABKANSBXZhbHVlOgI4ARpCChRNYXBVaW50MzJVaW50MzJFbnRyeRIQCgNrZXkYASABKA1SA2tleRIUCgV2YWx1ZRgCIAEoDVIFdmFsdWU6AjgBGkIKFE1hcFVpbnQ2NFVpbnQ2NEVudHJ5EhAKA2tleRgBIAEoBFIDa2V5EhQKBXZhbHVlGAIgASgEUgV2YWx1ZToCOAEaQgoUTWFwU2ludDMyU2ludDMyRW50cnkSEAoDa2V5GAEgASgRUgNrZXkSFAoFdmFsdWUYAiABKBFSBXZhbHVlOgI4ARpCChRNYXBTaW50NjRTaW50NjRFbnRyeRIQCgNrZXkYASABKBJSA2tleRIUCgV2YWx1ZRgCIAEoElIFdmFsdWU6AjgBGkQKFk1hcEZpeGVkMzJGaXhlZDMyRW50cnkSEAoDa2V5GAEgASgHUgNrZXkSFAoFdmFsdWUYAiABKAdSBXZhbHVlOgI4ARpEChZNYXBGaXhlZDY0Rml4ZWQ2NEVudHJ5EhAKA2tleRgBIAEoBlIDa2V5EhQKBXZhbHVlGAIgASgGUgV2YWx1ZToCOAEaRgoYTWFwU2ZpeGVkMzJTZml4ZWQzMkVudHJ5EhAKA2tleRgBIAEoD1IDa2V5EhQKBXZhbHVlGAIgASgPUgV2YWx1ZToCOAEaRgoYTWFwU2ZpeGVkNjRTZml4ZWQ2NEVudHJ5EhAKA2tleRgBIAEoEFIDa2V5EhQKBXZhbHVlGAIgASgQUgV2YWx1ZToCOAEaQAoSTWFwSW50MzJGbG9hdEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EhQKBXZhbHVlGAIgASgCUgV2YWx1ZToCOAEaQQoTTWFwSW50MzJEb3VibGVFbnRyeRIQCgNrZXkYASABKAVSA2tleRIUCgV2YWx1ZRgCIAEoAVIFdmFsdWU6AjgBGj4KEE1hcEJvb2xCb29sRW50cnkSEAoDa2V5GAEgASgIUgNrZXkSFAoFdmFsdWUYAiABKAhSBXZhbHVlOgI4ARpcChFNYXBJbnQzMkVudW1FbnRyeRIQCgNrZXkYASABKAVSA2tleRIxCgV2YWx1ZRgCIAEoDjIbLnByb3RvYnVmX3VuaXR0ZXN0My5NYXBFbnVtUgV2YWx1ZToCOAEabQobTWFwSW50MzJGb3JlaWduTWVzc2FnZUVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjgKBXZhbHVlGAIgASgLMiIucHJvdG9idWZfdW5pdHRlc3QzLkZvcmVpZ25NZXNzYWdlUgV2YWx1ZToCOAEi+AEKH01lc3NhZ2VDb250YWluaW5nRW51bUNhbGxlZFR5cGUSUQoEdHlwZRgBIAMoCzI9LnByb3RvYnVmX3VuaXR0ZXN0My5NZXNzYWdlQ29udGFpbmluZ0VudW1DYWxsZWRUeXBlLlR5cGVFbnRyeVIEdHlwZRpsCglUeXBlRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSSQoFdmFsdWUYAiABKAsyMy5wcm90b2J1Zl91bml0dGVzdDMuTWVzc2FnZUNvbnRhaW5pbmdFbnVtQ2FsbGVkVHlwZVIFdmFsdWU6AjgBIhQKBFR5cGUSDAoIVFlQRV9GT08QACKxAQofTWVzc2FnZUNvbnRhaW5pbmdNYXBDYWxsZWRFbnRyeRJUCgVlbnRyeRgBIAMoCzI+LnByb3RvYnVmX3VuaXR0ZXN0My5NZXNzYWdlQ29udGFpbmluZ01hcENhbGxlZEVudHJ5LkVudHJ5RW50cnlSBWVudHJ5GjgKCkVudHJ5RW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAVSBXZhbHVlOgI4ASo/CgdNYXBFbnVtEhAKDE1BUF9FTlVNX0ZPTxAAEhAKDE1BUF9FTlVNX0JBUhABEhAKDE1BUF9FTlVNX0JBWhACQh2qAhpHb29nbGUuUHJvdG9idWYuVGVzdFByb3Rvc0qqGgoGEgQNAFwBCuMECgEMEgMNABIazAIgVGhpcyBmaWxlIGlzIG1vc3RseSBlcXVpdmFsZW50IHRvIG1hcF91bml0dGVzdC5wcm90bywgYnV0IGltcG9ydHMKIHVuaXR0ZXN0X3Byb3RvMy5wcm90byBpbnN0ZWFkIG9mIHVuaXR0ZXN0LnByb3RvLCBzbyB0aGF0IGl0IG9ubHkKIHVzZXMgcHJvdG8zIG1lc3NhZ2VzLiBUaGlzIG1ha2VzIGl0IHN1aXRhYmxlIGZvciB0ZXN0aW5nCiBpbXBsZW1lbnRhdGlvbnMgd2hpY2ggb25seSBzdXBwb3J0IHByb3RvMy4KIFRoZSBUZXN0UmVxdWlyZWRNZXNzYWdlTWFwIG1lc3NhZ2UgaGFzIGJlZW4gcmVtb3ZlZCBhcyB0aGVyZSBhcmUgbm8KIHJlcXVpcmVkIGZpZWxkcyBpbiBwcm90bzMuCjKJAiBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdv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BgQFBAACABIDVAQRCg4KBwQFBAACAAESA1QEDAoOCgcEBQQAAgACEgNUDxAKCwoEBAUCABIDVgI3CgwKBQQFAgAGEgNWAi0KDAoFBAUCAAESA1YuMgoMCgUEBQIAAxIDVjU2CkoKAgQGEgRaAFwBGj4gUHJldmlvdXNseSwgbWVzc2FnZSBjYW5ub3QgY29udGFpbiBtYXAgZmllbGQgY2FsbGVkICJlbnRyeSIuCgoKCgMEBgESA1oIJwoLCgQEBgIAEgNbAh4KDAoFBAYCAAYSA1sCEwoMCgUEBgIAARIDWxQZCgwKBQQGAgADEgNbHB1iBnByb3RvMwr+IgocZ29vZ2xlL3Byb3RvYnVmL3N0cnVjdC5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIpgBCgZTdHJ1Y3QSOwoGZmllbGRzGAEgAygLMiMuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdC5GaWVsZHNFbnRyeVIGZmllbGRzGlEKC0ZpZWxkc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEisgIKBVZhbHVlEjsKCm51bGxfdmFsdWUYASABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlSABSCW51bGxWYWx1ZRIjCgxudW1iZXJfdmFsdWUYAiABKAFIAFILbnVtYmVyVmFsdWUSIwoMc3RyaW5nX3ZhbHVlGAMgASgJSABSC3N0cmluZ1ZhbHVlEh8KCmJvb2xfdmFsdWUYBCABKAhIAFIJYm9vbFZhbHVlEjwKDHN0cnVjdF92YWx1ZRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAFILc3RydWN0VmFsdWUSOwoKbGlzdF92YWx1ZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5MaXN0VmFsdWVIAFIJbGlzdFZhbHVlQgYKBGtpbmQiOwoJTGlzdFZhbHVlEi4KBnZhbHVlcxgBIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIGdmFsdWVzKhsKCU51bGxWYWx1ZRIOCgpOVUxMX1ZBTFVFEABCfwoTY29tLmdvb2dsZS5wcm90b2J1ZkILU3RydWN0UHJvdG9QAVovZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vc3RydWN0cGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNKmR0KBhIEHgBeAQrMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIAHwoJCgIIHxIDIgAfCggKAQgSAyMARgoJCgIICxIDIwBGCggKAQgSAyQALAoJCgIIARIDJAAsCggKAQgSAyUALAoJCgIICBIDJQAsCggKAQgSAyYAIgoJCgIIChIDJgAiCggKAQgSAycAIQoJCgIIJBIDJwAhCggKAQgSAygAOwoJCgIIJRIDKAA7CrMDCgIEABIEMgA1ARqmAyBgU3RydWN0YCByZXByZXNlbnRzIGEgc3RydWN0dXJlZCBkYXRhIHZhbHVlLCBjb25zaXN0aW5nIG9mIGZpZWxkcwogd2hpY2ggbWFwIHRvIGR5bmFtaWNhbGx5IHR5cGVkIHZhbHVlcy4gSW4gc29tZSBsYW5ndWFnZXMsIGBTdHJ1Y3RgCiBtaWdodCBiZSBzdXBwb3J0ZWQgYnkgYSBuYXRpdmUgcmVwcmVzZW50YXRpb24uIEZvciBleGFtcGxlLCBpbgogc2NyaXB0aW5nIGxhbmd1YWdlcyBsaWtlIEpTIGEgc3RydWN0IGlzIHJlcHJlc2VudGVkIGFzIGFuCiBvYmplY3QuIFRoZSBkZXRhaWxzIG9mIHRoYXQgcmVwcmVzZW50YXRpb24gYXJlIGRlc2NyaWJlZCB0b2dldGhlcgogd2l0aCB0aGUgcHJvdG8gc3VwcG9ydCBmb3IgdGhlIGxhbmd1YWdlLgoKIFRoZSBKU09OIHJlcHJlc2VudGF0aW9uIGZvciBgU3RydWN0YCBpcyBKU09OIG9iamVjdC4KCgoKAwQAARIDMggOCjkKBAQAAgASAzQCIBosIFVub3JkZXJlZCBtYXAgb2YgZHluYW1pY2FsbHkgdHlwZWQgdmFsdWVzLgoKDAoFBAACAAYSAzQCFAoMCgUEAAIAARIDNBUbCgwKBQQAAgADEgM0Hh8KxAIKAgQBEgQ9AE0BGrcCIGBWYWx1ZWAgcmVwcmVzZW50cyBhIGR5bmFtaWNhbGx5IHR5cGVkIHZhbHVlIHdoaWNoIGNhbiBiZSBlaXRoZXIKIG51bGwsIGEgbnVtYmVyLCBhIHN0cmluZywgYSBib29sZWFuLCBhIHJlY3Vyc2l2ZSBzdHJ1Y3QgdmFsdWUsIG9yIGEKIGxpc3Qgb2YgdmFsdWVzLiBBIHByb2R1Y2VyIG9mIHZhbHVlIGlzIGV4cGVjdGVkIHRvIHNldCBvbmUgb2YgdGhlc2UKIHZhcmlhbnRzLiBBYnNlbmNlIG9mIGFueSB2YXJpYW50IGluZGljYXRlcyBhbiBlcnJvci4KCiBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgYFZhbHVlYCBpcyBKU09OIHZhbHVlLgoKCgoDBAEBEgM9CA0KIgoEBAEIABIEPwJMAxoUIFRoZSBraW5kIG9mIHZhbHVlLgoKDAoFBAEIAAESAz8IDAonCgQEAQIAEgNBBB0aGiBSZXByZXNlbnRzIGEgbnVsbCB2YWx1ZS4KCgwKBQQBAgAGEgNBBA0KDAoFBAECAAESA0EOGAoMCgUEAQIAAxIDQRscCikKBAQBAgESA0MEHBocIFJlcHJlc2VudHMgYSBkb3VibGUgdmFsdWUuCgoMCgUEAQIBBRIDQwQKCgwKBQQBAgEBEgNDCxcKDAoFBAECAQMSA0MaGwopCgQEAQICEgNFBBwaHCBSZXByZXNlbnRzIGEgc3RyaW5nIHZhbHVlLgoKDAoFBAECAgUSA0UECgoMCgUEAQICARIDRQsXCgwKBQQBAgIDEgNFGhsKKgoEBAECAxIDRwQYGh0gUmVwcmVzZW50cyBhIGJvb2xlYW4gdmFsdWUuCgoMCgUEAQIDBRIDRwQICgwKBQQBAgMBEgNHCRMKDAoFBAECAwMSA0cWFwotCgQEAQIEEgNJBBwaICBSZXByZXNlbnRzIGEgc3RydWN0dXJlZCB2YWx1ZS4KCgwKBQQBAgQGEgNJBAoKDAoFBAECBAESA0kLFwoMCgUEAQIEAxIDSRobCi0KBAQBAgUSA0sEHRogIFJlcHJlc2VudHMgYSByZXBlYXRlZCBgVmFsdWVgLgoKDAoFBAECBQYSA0sEDQoMCgUEAQIFARIDSw4YCgwKBQQBAgUDEgNLGxwKqAEKAgUAEgRTAFYBGpsBIGBOdWxsVmFsdWVgIGlzIGEgc2luZ2xldG9uIGVudW1lcmF0aW9uIHRvIHJlcHJlc2VudCB0aGUgbnVsbCB2YWx1ZSBmb3IgdGhlCiBgVmFsdWVgIHR5cGUgdW5pb24uCgogVGhlIEpTT04gcmVwcmVzZW50YXRpb24gZm9yIGBOdWxsVmFsdWVgIGlzIEpTT04gYG51bGxgLgoKCgoDBQABEgNTBQ4KGgoEBQACABIDVQIRGg0gTnVsbCB2YWx1ZS4KCgwKBQUAAgABEgNVAgwKDAoFBQACAAISA1UPEAqCAQoCBAISBFsAXgEadiBgTGlzdFZhbHVlYCBpcyBhIHdyYXBwZXIgYXJvdW5kIGEgcmVwZWF0ZWQgZmllbGQgb2YgdmFsdWVzLgoKIFRoZSBKU09OIHJlcHJlc2VudGF0aW9uIGZvciBgTGlzdFZhbHVlYCBpcyBKU09OIGFycmF5LgoKCgoDBAIBEgNbCBEKOgoEBAICABIDXQIcGi0gUmVwZWF0ZWQgZmllbGQgb2YgZHluYW1pY2FsbHkgdHlwZWQgdmFsdWVzLgoKDAoFBAICAAQSA10CCgoMCgUEAgIABhIDXQsQCgwKBQQCAgABEgNdERcKDAoFBAICAAMSA10aG2IGcHJvdG8zCpdHCiNjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2lzc3Vlcy5wcm90bxIPdW5pdHRlc3RfaXNzdWVzGhxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvIicKCElzc3VlMzA3GhsKCk5lc3RlZE9uY2UaDQoLTmVzdGVkVHdpY2UizQEKE05lZ2F0aXZlRW51bU1lc3NhZ2USMwoFdmFsdWUYASABKA4yHS51bml0dGVzdF9pc3N1ZXMuTmVnYXRpdmVFbnVtUgV2YWx1ZRI5CgZ2YWx1ZXMYAiADKA4yHS51bml0dGVzdF9pc3N1ZXMuTmVnYXRpdmVFbnVtQgIQAFIGdmFsdWVzEkYKDXBhY2tlZF92YWx1ZXMYAyADKA4yHS51bml0dGVzdF9pc3N1ZXMuTmVnYXRpdmVFbnVtQgIQAVIMcGFja2VkVmFsdWVzIhUKD0RlcHJlY2F0ZWRDaGlsZDoCGAEiiwMKF0RlcHJlY2F0ZWRGaWVsZHNNZXNzYWdlEioKDlByaW1pdGl2ZVZhbHVlGAEgASgFQgIYAVIOUHJpbWl0aXZlVmFsdWUSKgoOUHJpbWl0aXZlQXJyYXkYAiADKAVCAhgBUg5QcmltaXRpdmVBcnJheRJICgxNZXNzYWdlVmFsdWUYAyABKAsyIC51bml0dGVzdF9pc3N1ZXMuRGVwcmVjYXRlZENoaWxkQgIYAVIMTWVzc2FnZVZhbHVlEkgKDE1lc3NhZ2VBcnJheRgEIAMoCzIgLnVuaXR0ZXN0X2lzc3Vlcy5EZXByZWNhdGVkQ2hpbGRCAhgBUgxNZXNzYWdlQXJyYXkSQQoJRW51bVZhbHVlGAUgASgOMh8udW5pdHRlc3RfaXNzdWVzLkRlcHJlY2F0ZWRFbnVtQgIYAVIJRW51bVZhbHVlEkEKCUVudW1BcnJheRgGIAMoDjIfLnVuaXR0ZXN0X2lzc3Vlcy5EZXByZWNhdGVkRW51bUICGAFSCUVudW1BcnJheSIfCglJdGVtRmllbGQSEgoEaXRlbRgBIAEoBVIEaXRlbSJXCg1SZXNlcnZlZE5hbWVzEhQKBXR5cGVzGAEgASgFUgV0eXBlcxIeCgpkZXNjcmlwdG9yGAIgASgFUgpkZXNjcmlwdG9yGhAKDlNvbWVOZXN0ZWRUeXBlIt8BChVUZXN0SnNvbkZpZWxkT3JkZXJpbmcSHwoLcGxhaW5faW50MzIYBCABKAVSCnBsYWluSW50MzISHQoJbzFfc3RyaW5nGAIgASgJSABSCG8xU3RyaW5nEhsKCG8xX2ludDMyGAUgASgFSABSB28xSW50MzISIQoMcGxhaW5fc3RyaW5nGAEgASgJUgtwbGFpblN0cmluZxIbCghvMl9pbnQzMhgGIAEoBUgBUgdvMkludDMyEh0KCW8yX3N0cmluZxgDIAEoCUgBUghvMlN0cmluZ0IECgJvMUIECgJvMiJRCgxUZXN0SnNvbk5hbWUSEgoEbmFtZRgBIAEoCVIEbmFtZRIZCgtkZXNjcmlwdGlvbhgCIAEoCVIEZGVzYxISCgRndWlkGAMgASgJUgRleGlkIpMBCgxPbmVvZk1lcmdpbmcSFAoEdGV4dBgBIAEoCUgAUgR0ZXh0Ej4KBm5lc3RlZBgCIAEoCzIkLnVuaXR0ZXN0X2lzc3Vlcy5PbmVvZk1lcmdpbmcuTmVzdGVkSABSBm5lc3RlZBokCgZOZXN0ZWQSDAoBeBgBIAEoBVIBeBIMCgF5GAIgASgFUgF5QgcKBXZhbHVlIoMBChZOdWxsVmFsdWVPdXRzaWRlU3RydWN0EiMKDHN0cmluZ192YWx1ZRgBIAEoCUgAUgtzdHJpbmdWYWx1ZRI7CgpudWxsX3ZhbHVlGAIgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZUgAUgludWxsVmFsdWVCBwoFdmFsdWUiUAoTTnVsbFZhbHVlTm90SW5PbmVvZhI5CgpudWxsX3ZhbHVlGAIgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZVIJbnVsbFZhbHVlIn0KF01peGVkUmVndWxhckFuZE9wdGlvbmFsEiMKDXJlZ3VsYXJfZmllbGQYASABKAlSDHJlZ3VsYXJGaWVsZBIqCg5vcHRpb25hbF9maWVsZBgCIAEoCUgAUg1vcHRpb25hbEZpZWxkiAEBQhEKD19vcHRpb25hbF9maWVsZCJCChJPbmVvZldpdGhOb25lRmllbGQSDgoBeBgBIAEoCUgAUgF4EhQKBG5vbmUYAiABKAlIAFIEbm9uZUIGCgR0ZXN0IjsKEU9uZW9mV2l0aE5vbmVOYW1lEg4KAXgYASABKAlIAFIBeBIOCgF5GAIgASgJSABSAXlCBgoEbm9uZSKiAwoZRGlzYW1iaWd1YXRlQ29tbW9uTWVtYmVycxI+ChtkaXNhbWJpZ3VhdGVfY29tbW9uX21lbWJlcnMYASABKAVSGWRpc2FtYmlndWF0ZUNvbW1vbk1lbWJlcnMSFAoFdHlwZXMYAiABKAVSBXR5cGVzEh4KCmRlc2NyaXB0b3IYAyABKAVSCmRlc2NyaXB0b3ISFgoGZXF1YWxzGAQgASgFUgZlcXVhbHMSGwoJdG9fc3RyaW5nGAUgASgFUgh0b1N0cmluZxIiCg1nZXRfaGFzaF9jb2RlGAYgASgFUgtnZXRIYXNoQ29kZRIZCgh3cml0ZV90bxgHIAEoBVIHd3JpdGVUbxIUCgVjbG9uZRgIIAEoBVIFY2xvbmUSJQoOY2FsY3VsYXRlX3NpemUYCSABKAVSDWNhbGN1bGF0ZVNpemUSHQoKbWVyZ2VfZnJvbRgKIAEoBVIJbWVyZ2VGcm9tEicKD29uX2NvbnN0cnVjdGlvbhgLIAEoBVIOb25Db25zdHJ1Y3Rpb24SFgoGcGFyc2VyGAwgASgFUgZwYXJzZXIiPQoRSXNzdWUxMTk4N01lc3NhZ2USDAoBYRgBIAEoBVIBYhIMCgFiGAIgASgFUgFhEgwKAWMYAyABKAVSAWQqVQoMTmVnYXRpdmVFbnVtEhYKEk5FR0FUSVZFX0VOVU1fWkVSTxAAEhYKCUZpdmVCZWxvdxD7//////////8BEhUKCE1pbnVzT25lEP///////////wEqNgoORGVwcmVjYXRlZEVudW0SFwoPREVQUkVDQVRFRF9aRVJPEAAaAggBEgcKA29uZRABGgIYAUIdqgIaVW5pdFRlc3QuSXNzdWVzLlRlc3RQcm90b3NK6zMKBxIFBwDKAQEKlAIKAQwSAwcAEjKJAiBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlCiBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgb3IgYXQKIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL29wZW4tc291cmNlL2xpY2Vuc2VzL2JzZAoKjgIKAQISAw4AGBpmIElzc3VlOiBOb24tIkdvb2dsZS5Qcm90b2J1ZmZlcnMiIG5hbWVzcGFjZSB3aWxsIGVuc3VyZSB0aGF0IHByb3RvYnVmZmVyCiBsaWJyYXJ5IHR5cGVzIGFyZSBxdWFsaWZpZWQKMpsBIFRoZXNlIHByb3RvIGRlc2NyaXB0b3JzIGhhdmUgYXQgb25lIHRpbWUgYmVlbiByZXBvcnRlZCBhcyBhbiBpc3N1ZSBvciBkZWZlY3QuCiBUaGV5IGFyZSBrZXB0IGhlcmUgdG8gcmVwbGljYXRlIHRoZSBpc3N1ZSwgYW5kIGNvbnRpbnVlIHRvIHZlcmlmeSB0aGUgZml4LgoKCQoCAwASAxAAJgoICgEIEgMSADcKCQoCCCUSAxIANwp2CgIEABIEFgAaARpqIElzc3VlIDMwNzogd2hlbiBnZW5lcmF0aW5nIGRvdWJseS1uZXN0ZWQgdHlwZXMsIGFueSByZWZlcmVuY2VzCiBzaG91bGQgYmUgb2YgdGhlIGZvcm0gQS5UeXBlcy5CLlR5cGVzLkMuCgoKCgMEAAESAxYIEAoMCgQEAAMAEgQXAhkDCgwKBQQAAwABEgMXChQKDQoGBAADAAMAEgMYBBoKDgoHBAADAAMAARIDGAwXCrAECgIFABIENQA5ATKZASBPbGQgaXNzdWUgMTM6CiBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvcHJvdG9idWYtY3NoYXJwLXBvcnQvaXNzdWVzL2RldGFpbD9pZD0xMyBOZXcgaXNzdWUKIDMwOTog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cm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEjYKB29wdGlvbnMYCCABKAsyHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnNSB29wdGlvbnMSSQoQc291cmNlX2NvZGVfaW5mbxgJIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb2RlSW5mb1IOc291cmNlQ29kZUluZm8SFgoGc3ludGF4GAwgASgJUgZzeW50YXgSMgoHZWRpdGlvbhgOIAEoDjIYLmdvb2dsZS5wcm90b2J1Zi5FZGl0aW9uUgdlZGl0aW9uIrkGCg9EZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI7CgVmaWVsZBgCIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IFZmllbGQSQwoJZXh0ZW5zaW9uGAYgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUglleHRlbnNpb24SQQoLbmVzdGVkX3R5cGUYAyADKAsyIC5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvUgpuZXN0ZWRUeXBlEkEKCWVudW1fdHlwZRgEIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvUghlbnVtVHlwZRJYCg9leHRlbnNpb25fcmFuZ2UYBSADKAsyLy5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLkV4dGVuc2lvblJhbmdlUg5leHRlbnNpb25SYW5nZRJECgpvbmVvZl9kZWNsGAggAygLMiUuZ29vZ2xlLnByb3RvYnVmLk9uZW9mRGVzY3JpcHRvclByb3RvUglvbmVvZkRlY2wSOQoHb3B0aW9ucxgHIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9uc1IHb3B0aW9ucxJVCg5yZXNlcnZlZF9yYW5nZRgJIAMoCzIuLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG8uUmVzZXJ2ZWRSYW5nZVINcmVzZXJ2ZWRSYW5nZRIjCg1yZXNlcnZlZF9uYW1lGAogAygJUgxyZXNlcnZlZE5hbWUaegoORXh0ZW5zaW9uUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kEkAKB29wdGlvbnMYAyABKAsyJi5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zUgdvcHRpb25zGjcKDVJlc2VydmVkUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kIswEChVFeHRlbnNpb25SYW5nZU9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24SWQoLZGVjbGFyYXRpb24YAiADKAsyMi5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zLkRlY2xhcmF0aW9uQgOIAQJSC2RlY2xhcmF0aW9uEjcKCGZlYXR1cmVzGDIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzEm0KDHZlcmlmaWNhdGlvbhgDIAEoDjI4Lmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnMuVmVyaWZpY2F0aW9uU3RhdGU6ClVOVkVSSUZJRURCA4gBAlIMdmVyaWZpY2F0aW9uGpQBCgtEZWNsYXJhdGlvbhIWCgZudW1iZXIYASABKAVSBm51bWJlchIbCglmdWxsX25hbWUYAiABKAlSCGZ1bGxOYW1lEhIKBHR5cGUYAyABKAlSBHR5cGUSGgoIcmVzZXJ2ZWQYBSABKAhSCHJlc2VydmVkEhoKCHJlcGVhdGVkGAYgASgIUghyZXBlYXRlZEoECAQQBSI0ChFWZXJpZmljYXRpb25TdGF0ZRIPCgtERUNMQVJBVElPThAAEg4KClVOVkVSSUZJRUQQASoJCOgHEICAgIACIsEGChRGaWVsZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgDIAEoBVIGbnVtYmVyEkEKBWxhYmVsGAQgASgOMisuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLkxhYmVsUgVsYWJlbBI+CgR0eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGVSBHR5cGUSGwoJdHlwZV9uYW1lGAYgASgJUgh0eXBlTmFtZRIaCghleHRlbmRlZRgCIAEoCVIIZXh0ZW5kZWUSIwoNZGVmYXVsdF92YWx1ZRgHIAEoCVIMZGVmYXVsdFZhbHVlEh8KC29uZW9mX2luZGV4GAkgASgFUgpvbmVvZkluZGV4EhsKCWpzb25fbmFtZRgKIAEoCVIIanNvbk5hbWUSNwoHb3B0aW9ucxgIIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnNSB29wdGlvbnMSJwoPcHJvdG8zX29wdGlvbmFsGBEgASgIUg5wcm90bzNPcHRpb25hbCK2AgoEVHlwZRIPCgtUWVBFX0RPVUJMRRABEg4KClRZUEVfRkxPQVQQAhIOCgpUWVBFX0lOVDY0EAMSDwoLVFlQRV9VSU5UNjQQBBIOCgpUWVBFX0lOVDMyEAUSEAoMVFlQRV9GSVhFRDY0EAYSEAoMVFlQRV9GSVhFRDMyEAcSDQoJVFlQRV9CT09MEAgSDwoLVFlQRV9TVFJJTkcQCRIOCgpUWVBFX0dST1VQEAoSEAoMVFlQRV9NRVNTQUdFEAsSDgoKVFlQRV9CWVRFUxAMEg8KC1RZUEVfVUlOVDMyEA0SDQoJVFlQRV9FTlVNEA4SEQoNVFlQRV9TRklYRUQzMhAPEhEKDVRZUEVfU0ZJWEVENjQQEBIPCgtUWVBFX1NJTlQzMhAREg8KC1RZUEVfU0lOVDY0EBIiQwoFTGFiZWwSEgoOTEFCRUxfT1BUSU9OQUwQARISCg5MQUJFTF9SRVBFQVRFRBADEhIKDkxBQkVMX1JFUVVJUkVEEAIiYwoUT25lb2ZEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI3CgdvcHRpb25zGAIgASgLMh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9uc1IHb3B0aW9ucyLjAgoTRW51bURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj8KBXZhbHVlGAIgAygLMikuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZURlc2NyaXB0b3JQcm90b1IFdmFsdWUSNgoHb3B0aW9ucxgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5FbnVtT3B0aW9uc1IHb3B0aW9ucxJdCg5yZXNlcnZlZF9yYW5nZRgEIAMoCzI2Lmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvLkVudW1SZXNlcnZlZFJhbmdlUg1yZXNlcnZlZFJhbmdlEiMKDXJlc2VydmVkX25hbWUYBSADKAlSDHJlc2VydmVkTmFtZRo7ChFFbnVtUmVzZXJ2ZWRSYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQigwEKGEVudW1WYWx1ZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgCIAEoBVIGbnVtYmVyEjsKB29wdGlvbnMYAyABKAsyIS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlT3B0aW9uc1IHb3B0aW9ucyKnAQoWU2VydmljZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj4KBm1ldGhvZBgCIAMoCzImLmdvb2dsZS5wcm90b2J1Zi5NZXRob2REZXNjcmlwdG9yUHJvdG9SBm1ldGhvZBI5CgdvcHRpb25zGAMgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zUgdvcHRpb25zIokCChVNZXRob2REZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIdCgppbnB1dF90eXBlGAIgASgJUglpbnB1dFR5cGUSHwoLb3V0cHV0X3R5cGUYAyABKAlSCm91dHB1dFR5cGUSOAoHb3B0aW9ucxgEIAEoCzIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zUgdvcHRpb25zEjAKEGNsaWVudF9zdHJlYW1pbmcYBSABKAg6BWZhbHNlUg9jbGllbnRTdHJlYW1pbmcSMAoQc2VydmVyX3N0cmVhbWluZxgGIAEoCDoFZmFsc2VSD3NlcnZlclN0cmVhbWluZyKXCQoLRmlsZU9wdGlvbnMSIQoMamF2YV9wYWNrYWdlGAEgASgJUgtqYXZhUGFja2FnZRIwChRqYXZhX291dGVyX2NsYXNzbmFtZRgIIAEoCVISamF2YU91dGVyQ2xhc3NuYW1lEjUKE2phdmFfbXVsdGlwbGVfZmlsZXMYCiABKAg6BWZhbHNlUhFqYXZhTXVsdGlwbGVGaWxlcxJECh1qYXZhX2dlbmVyYXRlX2VxdWFsc19hbmRfaGFzaBgUIAEoCEICGAFSGWphdmFHZW5lcmF0ZUVxdWFsc0FuZEhhc2gSOgoWamF2YV9zdHJpbmdfY2hlY2tfdXRmOBgbIAEoCDoFZmFsc2VSE2phdmFTdHJpbmdDaGVja1V0ZjgSUwoMb3B0aW1pemVfZm9yGAkgASgOMikuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zLk9wdGltaXplTW9kZToFU1BFRURSC29wdGltaXplRm9yEh0KCmdvX3BhY2thZ2UYCyABKAlSCWdvUGFja2FnZRI1ChNjY19nZW5lcmljX3NlcnZpY2VzGBAgASgIOgVmYWxzZVIRY2NHZW5lcmljU2VydmljZXMSOQoVamF2YV9nZW5lcmljX3NlcnZpY2VzGBEgASgIOgVmYWxzZVITamF2YUdlbmVyaWNTZXJ2aWNlcxI1ChNweV9nZW5lcmljX3NlcnZpY2VzGBIgASgIOgVmYWxzZVIRcHlHZW5lcmljU2VydmljZXMSJQoKZGVwcmVjYXRlZBgXIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSLgoQY2NfZW5hYmxlX2FyZW5hcxgfIAEoCDoEdHJ1ZVIOY2NFbmFibGVBcmVuYXMSKgoRb2JqY19jbGFzc19wcmVmaXgYJCABKAlSD29iamNDbGFzc1ByZWZpeBIpChBjc2hhcnBfbmFtZXNwYWNlGCUgASgJUg9jc2hhcnBOYW1lc3BhY2USIQoMc3dpZnRfcHJlZml4GCcgASgJUgtzd2lmdFByZWZpeBIoChBwaHBfY2xhc3NfcHJlZml4GCggASgJUg5waHBDbGFzc1ByZWZpeBIjCg1waHBfbmFtZXNwYWNlGCkgASgJUgxwaHBOYW1lc3BhY2USNAoWcGhwX21ldGFkYXRhX25hbWVzcGFjZRgsIAEoCVIUcGhwTWV0YWRhdGFOYW1lc3BhY2USIQoMcnVieV9wYWNrYWdlGC0gASgJUgtydWJ5UGFja2FnZRI3CghmZWF0dXJlcxgyIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0UghmZWF0dXJlcxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiI6CgxPcHRpbWl6ZU1vZGUSCQoFU1BFRUQQARINCglDT0RFX1NJWkUQAhIQCgxMSVRFX1JVTlRJTUUQAyoJCOgHEICAgIACSgQIKhArSgQIJhAnIvQDCg5NZXNzYWdlT3B0aW9ucxI8ChdtZXNzYWdlX3NldF93aXJlX2Zvcm1hdBgBIAEoCDoFZmFsc2VSFG1lc3NhZ2VTZXRXaXJlRm9ybWF0EkwKH25vX3N0YW5kYXJkX2Rlc2NyaXB0b3JfYWNjZXNzb3IYAiABKAg6BWZhbHNlUhxub1N0YW5kYXJkRGVzY3JpcHRvckFjY2Vzc29yEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhsKCW1hcF9lbnRyeRgHIAEoCFIIbWFwRW50cnkSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYCyABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzEjcKCGZlYXR1cmVzGAwgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgEEAVKBAgFEAZKBAgGEAdKBAgIEAlKBAgJEAoirQoKDEZpZWxkT3B0aW9ucxJBCgVjdHlwZRgBIAEoDjIjLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuQ1R5cGU6BlNUUklOR1IFY3R5cGUSFgoGcGFja2VkGAIgASgIUgZwYWNrZWQSRwoGanN0eXBlGAYgASgOMiQuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5KU1R5cGU6CUpTX05PUk1BTFIGanN0eXBlEhkKBGxhenkYBSABKAg6BWZhbHNlUgRsYXp5Ei4KD3VudmVyaWZpZWRfbGF6eRgPIAEoCDoFZmFsc2VSDnVudmVyaWZpZWRMYXp5EiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhkKBHdlYWsYCiABKAg6BWZhbHNlUgR3ZWFrEigKDGRlYnVnX3JlZGFjdBgQIAEoCDoFZmFsc2VSC2RlYnVnUmVkYWN0EksKCXJldGVudGlvbhgRIAEoDjItLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uUmV0ZW50aW9uUglyZXRlbnRpb24SSAoHdGFyZ2V0cxgTIAMoDjIuLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uVGFyZ2V0VHlwZVIHdGFyZ2V0cxJXChBlZGl0aW9uX2RlZmF1bHRzGBQgAygLMiwuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5FZGl0aW9uRGVmYXVsdFIPZWRpdGlvbkRlZmF1bHRzEjcKCGZlYXR1cmVzGBUgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uGloKDkVkaXRpb25EZWZhdWx0EjIKB2VkaXRpb24YAyABKA4yGC5nb29nbGUucHJvdG9idWYuRWRpdGlvblIHZWRpdGlvbhIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUiLwoFQ1R5cGUSCgoGU1RSSU5HEAASCAoEQ09SRBABEhAKDFNUUklOR19QSUVDRRACIjUKBkpTVHlwZRINCglKU19OT1JNQUwQABINCglKU19TVFJJTkcQARINCglKU19OVU1CRVIQAiJVCg9PcHRpb25SZXRlbnRpb24SFQoRUkVURU5USU9OX1VOS05PV04QABIVChFSRVRFTlRJT05fUlVOVElNRRABEhQKEFJFVEVOVElPTl9TT1VSQ0UQAiKMAgoQT3B0aW9uVGFyZ2V0VHlwZRIXChNUQVJHRVRfVFlQRV9VTktOT1dOEAASFAoQVEFSR0VUX1RZUEVfRklMRRABEh8KG1RBUkdFVF9UWVBFX0VYVEVOU0lPTl9SQU5HRRACEhcKE1RBUkdFVF9UWVBFX01FU1NBR0UQAxIVChFUQVJHRVRfVFlQRV9GSUVMRBAEEhUKEVRBUkdFVF9UWVBFX09ORU9GEAUSFAoQVEFSR0VUX1RZUEVfRU5VTRAGEhoKFlRBUkdFVF9UWVBFX0VOVU1fRU5UUlkQBxIXChNUQVJHRVRfVFlQRV9TRVJWSUNFEAgSFgoSVEFSR0VUX1RZUEVfTUVUSE9EEAkqCQjoBxCAgICAAkoECAQQBUoECBIQEyKsAQoMT25lb2ZPcHRpb25zEjcKCGZlYXR1cmVzGAEgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIi0QIKC0VudW1PcHRpb25zEh8KC2FsbG93X2FsaWFzGAIgASgIUgphbGxvd0FsaWFzEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkElYKJmRlcHJlY2F0ZWRfbGVnYWN5X2pzb25fZmllbGRfY29uZmxpY3RzGAYgASgIQgIYAVIiZGVwcmVjYXRlZExlZ2FjeUpzb25GaWVsZENvbmZsaWN0cxI3CghmZWF0dXJlcxgHIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0UghmZWF0dXJlcxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBRAGIoECChBFbnVtVmFsdWVPcHRpb25zEiUKCmRlcHJlY2F0ZWQYASABKAg6BWZhbHNlUgpkZXByZWNhdGVkEjcKCGZlYXR1cmVzGAIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzEigKDGRlYnVnX3JlZGFjdBgDIAEoCDoFZmFsc2VSC2RlYnVnUmVkYWN0ElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIi1QEKDlNlcnZpY2VPcHRpb25zEjcKCGZlYXR1cmVzGCIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIimQMKDU1ldGhvZE9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQScQoRaWRlbXBvdGVuY3lfbGV2ZWwYIiABKA4yLy5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucy5JZGVtcG90ZW5jeUxldmVsOhNJREVNUE9URU5DWV9VTktOT1dOUhBpZGVtcG90ZW5jeUxldmVsEjcKCGZlYXR1cmVzGCMgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIlAKEElkZW1wb3RlbmN5TGV2ZWwSFwoTSURFTVBPVEVOQ1lfVU5LTk9XThAAEhMKD05PX1NJREVfRUZGRUNUUxABEg4KCklERU1QT1RFTlQQAioJCOgHEICAgIACIpoDChNVbmludGVycHJldGVkT3B0aW9uEkEKBG5hbWUYAiADKAsyLS5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvbi5OYW1lUGFydFIEbmFtZRIpChBpZGVudGlmaWVyX3ZhbHVlGAMgASgJUg9pZGVudGlmaWVyVmFsdWUSLAoScG9zaXRpdmVfaW50X3ZhbHVlGAQgASgEUhBwb3NpdGl2ZUludFZhbHVlEiwKEm5lZ2F0aXZlX2ludF92YWx1ZRgFIAEoA1IQbmVnYXRpdmVJbnRWYWx1ZRIhCgxkb3VibGVfdmFsdWUYBiABKAFSC2RvdWJsZVZhbHVlEiEKDHN0cmluZ192YWx1ZRgHIAEoDFILc3RyaW5nVmFsdWUSJwoPYWdncmVnYXRlX3ZhbHVlGAggASgJUg5hZ2dyZWdhdGVWYWx1ZRpKCghOYW1lUGFydBIbCgluYW1lX3BhcnQYASACKAlSCG5hbWVQYXJ0EiEKDGlzX2V4dGVuc2lvbhgCIAIoCFILaXNFeHRlbnNpb24ijAoKCkZlYXR1cmVTZXQSiwEKDmZpZWxkX3ByZXNlbmNlGAEgASgOMikuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXQuRmllbGRQcmVzZW5jZUI5iAEBmAEEmAEBogENEghFWFBMSUNJVBjmB6IBDRIISU1QTElDSVQY5weiAQ0SCEVYUExJQ0lUGOgHUg1maWVsZFByZXNlbmNlEmYKCWVudW1fdHlwZRgCIAEoDjIkLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0LkVudW1UeXBlQiOIAQGYAQaYAQGiAQsSBkNMT1NFRBjmB6IBCRIET1BFThjnB1IIZW51bVR5cGUSkgEKF3JlcGVhdGVkX2ZpZWxkX2VuY29kaW5nGAMgASgOMjEuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXQuUmVwZWF0ZWRGaWVsZEVuY29kaW5nQieIAQGYAQSYAQGiAQ0SCEVYUEFOREVEGOYHogELEgZQQUNLRUQY5wdSFXJlcGVhdGVkRmllbGRFbmNvZGluZxJ4Cg91dGY4X3ZhbGlkYXRpb24YBCABKA4yKi5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldC5VdGY4VmFsaWRhdGlvbkIjiAEBmAEEmAEBogEJEgROT05FGOYHogELEgZWRVJJRlkY5wdSDnV0ZjhWYWxpZGF0aW9uEngKEG1lc3NhZ2VfZW5jb2RpbmcYBSABKA4yKy5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldC5NZXNzYWdlRW5jb2RpbmdCIIgBAZgBBJgBAaIBFBIPTEVOR1RIX1BSRUZJWEVEGOYHUg9tZXNzYWdlRW5jb2RpbmcSfAoLanNvbl9mb3JtYXQYBiABKA4yJi5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldC5Kc29uRm9ybWF0QjOIAQGYAQOYAQaYAQGiARcSEkxFR0FDWV9CRVNUX0VGRk9SVBjmB6IBChIFQUxMT1cY5wdSCmpzb25Gb3JtYXQiXAoNRmllbGRQcmVzZW5jZRIaChZGSUVMRF9QUkVTRU5DRV9VTktOT1dOEAASDAoIRVhQTElDSVQQARIMCghJTVBMSUNJVBACEhMKD0xFR0FDWV9SRVFVSVJFRBADIjcKCEVudW1UeXBlEhUKEUVOVU1fVFlQRV9VTktOT1dOEAASCAoET1BFThABEgoKBkNMT1NFRBACIlYKFVJlcGVhdGVkRmllbGRFbmNvZGluZxIjCh9SRVBFQVRFRF9GSUVMRF9FTkNPRElOR19VTktOT1dOEAASCgoGUEFDS0VEEAESDAoIRVhQQU5ERUQQAiJDCg5VdGY4VmFsaWRhdGlvbhIbChdVVEY4X1ZBTElEQVRJT05fVU5LTk9XThAAEgoKBlZFUklGWRACEggKBE5PTkUQAyJTCg9NZXNzYWdlRW5jb2RpbmcSHAoYTUVTU0FHRV9FTkNPRElOR19VTktOT1dOEAASEwoPTEVOR1RIX1BSRUZJWEVEEAESDQoJREVMSU1JVEVEEAIiSAoKSnNvbkZvcm1hdBIXChNKU09OX0ZPUk1BVF9VTktOT1dOEAASCQoFQUxMT1cQARIWChJMRUdBQ1lfQkVTVF9FRkZPUlQQAioGCOgHEOkHKgYI6QcQ6gcqBgjqBxDrByoGCItOEJBOKgYIkE4QkU5KBgjnBxDoByL+AgoSRmVhdHVyZVNldERlZmF1bHRzElgKCGRlZmF1bHRzGAEgAygLMjwuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXREZWZhdWx0cy5GZWF0dXJlU2V0RWRpdGlvbkRlZmF1bHRSCGRlZmF1bHRzEkEKD21pbmltdW1fZWRpdGlvbhgEIAEoDjIYLmdvb2dsZS5wcm90b2J1Zi5FZGl0aW9uUg5taW5pbXVtRWRpdGlvbhJBCg9tYXhpbXVtX2VkaXRpb24YBSABKA4yGC5nb29nbGUucHJvdG9idWYuRWRpdGlvblIObWF4aW11bUVkaXRpb24ahwEKGEZlYXR1cmVTZXRFZGl0aW9uRGVmYXVsdBIyCgdlZGl0aW9uGAMgASgOMhguZ29vZ2xlLnByb3RvYnVmLkVkaXRpb25SB2VkaXRpb24SNwoIZmVhdHVyZXMYAiABKAsyGy5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldFIIZmVhdHVyZXMipwIKDlNvdXJjZUNvZGVJbmZvEkQKCGxvY2F0aW9uGAEgAygLMiguZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvLkxvY2F0aW9uUghsb2NhdGlvbhrOAQoITG9jYXRpb24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSFgoEc3BhbhgCIAMoBUICEAFSBHNwYW4SKQoQbGVhZGluZ19jb21tZW50cxgDIAEoCVIPbGVhZGluZ0NvbW1lbnRzEisKEXRyYWlsaW5nX2NvbW1lbnRzGAQgASgJUhB0cmFpbGluZ0NvbW1lbnRzEjoKGWxlYWRpbmdfZGV0YWNoZWRfY29tbWVudHMYBiADKAlSF2xlYWRpbmdEZXRhY2hlZENvbW1lbnRzItACChFHZW5lcmF0ZWRDb2RlSW5mbxJNCgphbm5vdGF0aW9uGAEgAygLMi0uZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb25SCmFubm90YXRpb24a6wEKCkFubm90YXRpb24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSHwoLc291cmNlX2ZpbGUYAiABKAlSCnNvdXJjZUZpbGUSFAoFYmVnaW4YAyABKAVSBWJlZ2luEhAKA2VuZBgEIAEoBVIDZW5kElIKCHNlbWFudGljGAUgASgOMjYuZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb24uU2VtYW50aWNSCHNlbWFudGljIigKCFNlbWFudGljEggKBE5PTkUQABIHCgNTRVQQARIJCgVBTElBUxACKpICCgdFZGl0aW9uEhMKD0VESVRJT05fVU5LTk9XThAAEhMKDkVESVRJT05fUFJPVE8yEOYHEhMKDkVESVRJT05fUFJPVE8zEOcHEhEKDEVESVRJT05fMjAyMxDoBxIRCgxFRElUSU9OXzIwMjQQ6QcSFwoTRURJVElPTl8xX1RFU1RfT05MWRABEhcKE0VESVRJT05fMl9URVNUX09OTFkQAhIdChdFRElUSU9OXzk5OTk3X1RFU1RfT05MWRCdjQYSHQoXRURJVElPTl85OTk5OF9URVNUX09OTFkQno0GEh0KF0VESVRJT05fOTk5OTlfVEVTVF9PTkxZEJ+NBhITCgtFRElUSU9OX01BWBD/////B0J+ChNjb20uZ29vZ2xlLnByb3RvYnVmQhBEZXNjcmlwdG9yUHJvdG9zSAFaLWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2Rlc2NyaXB0b3JwYvgBAaICA0dQQqoCGkdvb2dsZS5Qcm90b2J1Zi5SZWZsZWN0aW9uSvKzAwoHEgUmAMIJAQqqDwoBDBIDJgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoy2wIgQXV0aG9yOiBrZW50b25AZ29vZ2xlLmNvbSAoS2VudG9uIFZhcmRhKQogIEJhc2VkIG9uIG9yaWdpbmFsIFByb3RvY29sIEJ1ZmZlcnMgZGVzaWduIGJ5CiAgU2FuamF5IEdoZW1hd2F0LCBKZWZmIERlYW4sIGFuZCBvdGhlcnMuCgogVGhlIG1lc3NhZ2VzIGluIHRoaXMgZmlsZSBkZXNjcmliZSB0aGUgZGVmaW5pdGlvbnMgZm91bmQgaW4gLnByb3RvIGZpbGVzLgogQSB2YWxpZCAucHJvdG8gZmlsZSBjYW4gYmUgdHJhbnNsYXRlZCBkaXJlY3RseSB0byBhIEZpbGVEZXNjcmlwdG9yUHJvdG8KIHdpdGhvdXQgYW55IG90aGVyIGluZm9ybWF0aW9uIChlLmcuIHdpdGhvdXQgcmVhZGluZyBpdHMgaW1wb3J0cykuCgoICgECEgMoABgKCAoBCBIDKgBECgkKAggLEgMqAEQKCAoBCBIDKwAsCgkKAggBEgMrACwKCAoBCBIDLAAxCgkKAggIEgMsADEKCAoBCBIDLQA3CgkKAgglEgMtADcKCAoBCBIDLgAhCgkKAggkEgMuACEKCAoBCBIDLwAfCgkKAggfEgMvAB8KCAoBCBIDMwAcCn8KAggJEgMzABwadCBkZXNjcmlwdG9yLnByb3RvIG11c3QgYmUgb3B0aW1pemVkIGZvciBzcGVlZCBiZWNhdXNlIHJlZmxlY3Rpb24tYmFzZWQKIGFsZ29yaXRobXMgZG9uJ3Qgd29yayBkdXJpbmcgYm9vdHN0cmFwcGluZy4KCmoKAgQAEgQ3ADkBGl4gVGhlIHByb3RvY29sIGNvbXBpbGVyIGNhbiBvdXRwdXQgYSBGaWxlRGVzY3JpcHRvclNldCBjb250YWluaW5nIHRoZSAucHJvdG8KIGZpbGVzIGl0IHBhcnNlcy4KCgoKAwQAARIDNwgZCgsKBAQAAgASAzgCKAoMCgUEAAIABBIDOAIKCgwKBQQAAgAGEgM4Cx4KDAoFBAAC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IHRoZSBmaWVsZCdzIG5hbWUgYnkgY29udmVydGluZwogaXQgdG8gY2FtZWxDYXNlLgoKDQoFBAQCCAQSBKgCAgoKDQoFBAQCCAUSBKgCCxEKDQoFBAQCCAESBKgCEhsKDQoFBAQCCAMSBKgCHiAKDAoEBAQCCRIEqgICJAoNCgUEBAIJBBIEqgICCgoNCgUEBAIJBhIEqgILFwoNCgUEBAIJARIEqgIYHwoNCgUEBAIJAxIEqgIiIwqwCQoEBAQCChIEwQICJRqhCSBJZiB0cnVlLCB0aGlzIGlzIGEgcHJvdG8zICJvcHRpb25hbCIuIFdoZW4gYSBwcm90bzMgZmllbGQgaXMgb3B0aW9uYWwsIGl0CiB0cmFja3MgcHJlc2VuY2UgcmVnYXJkbGVzcyBvZiBmaWVsZCB0eXBlLgoKIFdoZW4gcHJvdG8zX29wdGlvbmFsIGlzIHRydWUsIHRoaXMgZmllbGQgbXVzdCBiZWxvbmcgdG8gYSBvbmVvZiB0byBzaWduYWwKIHRvIG9sZCBwcm90bzMgY2xpZW50cyB0aGF0IHByZXNlbmNlIGlzIHRyYWNrZWQgZm9yIHRoaXMgZmllbGQuIFRoaXMgb25lb2YKIGlzIGtub3duIGFzIGEgInN5bnRoZXRpYyIgb25lb2YsIGFuZCB0aGlzIGZpZWxkIG11c3QgYmUgaXRzIHNvbGUgbWVtYmVyCiAoZWFjaCBwcm90bzMgb3B0aW9uYWwgZmllbGQgZ2V0cyBpdHMgb3duIHN5bnRoZXRpYyBvbmVvZikuIFN5bnRoZXRpYyBvbmVvZnMKIGV4aXN0IGluIHRoZSBkZXNjcmlwdG9yIG9ubHksIGFuZCBkbyBub3QgZ2VuZXJhdGUgYW55IEFQSS4gU3ludGhldGljIG9uZW9mcwogbXVzdCBiZSBvcmRlcmVkIGFmdGVyIGFsbCAicmVhbCIgb25lb2ZzLgoKIEZvciBtZXNzYWdlIGZpZWxkcywgcHJvdG8zX29wdGlvbmFsIGRvZXNuJ3QgY3JlYXRlIGFueSBzZW1hbnRpYyBjaGFuZ2UsCiBzaW5jZSBub24tcmVwZWF0ZWQgbWVzc2FnZSBmaWVsZHMgYWx3YXlzIHRyYWNrIHByZXNlbmNlLiBIb3dldmVyIGl0IHN0aWxsCiBpbmRpY2F0ZXMg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IG1hbmlwdWxhdGVzIHByb3RvY29sIG1lc3NhZ2VzLgoKIENsaWVudHMgbWF5IGRlZmluZSBjdXN0b20gb3B0aW9ucyBhcyBleHRlbnNpb25zIG9mIHRoZSAqT3B0aW9ucyBtZXNzYWdlcy4KIFRoZXNlIGV4dGVuc2lvbnMgbWF5IG5vdCB5ZXQgYmUga25vd24gYXQgcGFyc2luZyB0aW1lLCBzbyB0aGUgcGFyc2VyIGNhbm5vdAogc3RvcmUgdGhlIHZhbHVlcyBpbiB0aGVtLiAgSW5zdGVhZCBpdCBzdG9yZXMgdGhlbSBpbiBhIGZpZWxkIGluIHRoZSAqT3B0aW9ucwogbWVzc2FnZSBjYWxsZWQgdW5pbnRlcnByZXRlZF9vcHRpb24uIFRoaXMgZmllbGQgbXVzdCBoYXZlIHRoZSBzYW1lIG5hbWUKIGFjcm9zcyBhbGwgKk9wdGlvbnMgbWVzc2FnZXMuIFdlIHRoZW4gdXNlIHRoaXMgZmllbGQgdG8gcG9wdWxhdGUgdGhlCiBleHRlbnNpb25zIHdoZW4gd2UgYnVpbGQgYSBkZXNjcmlwdG9yLCBhdCB3aGljaCBwb2ludCBhbGwgcHJvdG9zIGhhdmUgYmVlbgogcGFyc2VkIGFuZCBzbyBhbGwgZXh0ZW5zaW9ucyBhcmUga25vd24uCgogRXh0ZW5zaW9uIG51bWJlcnMgZm9yIGN1c3RvbSBvcHRpb25zIG1heSBiZSBjaG9zZW4gYXMgZm9sbG93czoKICogRm9yIG9wdGlvbnMgd2hpY2ggd2lsbCBvbmx5IGJlIHVzZWQgd2l0aGluIGEgc2luZ2xlIGFwcGxpY2F0aW9uIG9yCiAgIG9yZ2FuaXphdGlvbiwgb3IgZm9yIGV4cGVyaW1lbnRhbCBvcHRpb25zLCB1c2UgZmllbGQgbnVtYmVycyA1MDAwMAogICB0aHJvdWdoIDk5OTk5LiAgSXQgaXMgdXAgdG8geW91IHRvIGVuc3VyZSB0aGF0IHlvdSBkbyBub3QgdXNlIHRoZQogICBzYW1lIG51bWJlciBmb3IgbXVsdGlwbGUgb3B0aW9ucy4KICogRm9yIG9wdGlvbnMgd2hpY2ggd2lsbCBiZSBwdWJsaXNoZWQgYW5kIHVzZWQgcHVibGljbHkgYnkgbXVsdGlwbGUKICAgaW5kZXBlbmRlbnQgZW50aXRpZXMsIGUtbWFpbCBwcm90b2J1Zi1nbG9iYWwtZXh0ZW5zaW9uLXJlZ2lzdHJ5QGdvb2dsZS5jb20KICAgdG8gcmVzZXJ2ZSBleHRlbnNpb24gbnVtYmVycy4gU2ltcGx5IHByb3ZpZGUgeW91ciBwcm9qZWN0IG5hbWUgKGUuZy4KICAgT2JqZWN0aXZlLUMgcGx1Z2luKSBhbmQgeW91ciBwcm9qZWN0IHdlYnNpdGUgKGlmIGF2YWlsYWJsZSkgLS0gdGhlcmUncyBubwogICBuZWVkIHRvIGV4cGxhaW4gaG93IHlvdSBpbnRlbmQgdG8gdXNlIHRoZW0uIFVzdWFsbHkgeW91IG9ubHkgbmVlZCBvbmUKICAgZXh0ZW5zaW9uIG51bWJlci4gWW91IGNhbiBkZWNsYXJlIG11bHRpcGxlIG9wdGlvbnMgd2l0aCBvbmx5IG9uZSBleHRlbnNpb24KICAgbnVtYmVyIGJ5IHB1dHRpbmcgdGhlbSBpbiBhIHN1Yi1tZXNzYWdlLiBTZWUgdGhlIEN1c3RvbSBPcHRpb25zIHNlY3Rpb24gb2YKICAgdGhlIGRvY3MgZm9yIGV4YW1wbGVzOgogICBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzL2RvY3MvcHJvdG8jb3B0aW9ucwogICBJZiB0aGlzIHR1cm5zIG91dCB0byBiZSBwb3B1bGFyLCBhIHdlYiBzZXJ2aWNlIHdpbGwgYmUgc2V0IHVwCiAgIHRvIGF1dG9tYXRpY2FsbHkgYXNzaWduIG9wdGlvbiBudW1iZXJzLgoKCwoDBAoBEgSoAwgTCvQBCgQECgIAEgSuAwIjGuUBIFNldHMgdGhlIEphdmEgcGFja2FnZSB3aGVyZSBjbGFzc2VzIGdlbmVyYXRlZCBmcm9tIHRoaXMgLnByb3RvIHdpbGwgYmUKIHBsYWNlZC4gIEJ5IGRlZmF1bHQsIHRoZSBwcm90byBwYWNrYWdlIGlzIHVzZWQsIGJ1dCB0aGlzIGlzIG9mdGVuCiBpbmFwcHJvcHJpYXRlIGJlY2F1c2UgcHJvdG8gcGFja2FnZXMgZG8gbm90IG5vcm1hbGx5IHN0YXJ0IHdpdGggYmFja3dhcmRzCiBkb21haW4gbmFtZXMuCgoNCgUECgIABBIErgMCCgoNCgUECgIABRIErgMLEQoNCgUECgIAARIErgMSHgoNCgUECgIAAxIErgMhIgrxAgoEBAoCARIEtQMCKxriAiBDb250cm9scyB0aGUgbmFtZSBvZiB0aGUgd3JhcHBlciBKYXZhIGNsYXNzIGdlbmVyYXRlZCBmb3IgdGhlIC5wcm90byBmaWxlLgogVGhhdCBjbGFzcyB3aWxsIGFsd2F5cyBjb250YWluIHRoZSAucHJvdG8gZmlsZSdzIGdldERlc2NyaXB0b3IoKSBtZXRob2QgYXMKIHdlbGwgYXMgYW55IHRvcC1sZXZlbCBleHRlbnNpb25zIGRlZmluZWQgaW4gdGhlIC5wcm90byBmaWxlLgogSWYgamF2YV9tdWx0aXBsZV9maWxlcyBpcyBkaXNhYmxlZCwgdGhlbiBhbGwgdGhlIG90aGVyIGNsYXNzZXMgZnJvbSB0aGUKIC5wcm90byBmaWxlIHdpbGwgYmUgbmVzdGVkIGluc2lkZSB0aGUgc2luZ2xlIHdyYXBwZXIgb3V0ZXIgY2xhc3MuCgoNCgUECgIBBBIEtQMCCgoNCgUECgIBBRIEtQMLEQoNCgUECgIBARIEtQMSJgoNCgUECgIBAxIEtQMpKgqmAwoEBAoCAhIEvQMCOxqXAyBJZiBlbmFibGVkLCB0aGVuIHRoZSBKYXZhIGNvZGUgZ2VuZXJhdG9yIHdpbGwgZ2VuZXJhdGUgYSBzZXBhcmF0ZSAuamF2YQogZmlsZSBmb3IgZWFjaCB0b3AtbGV2ZWwgbWVzc2FnZSwgZW51bSwgYW5kIHNlcnZpY2UgZGVmaW5lZCBpbiB0aGUgLnByb3RvCiBmaWxlLiAgVGh1cywgdGhlc2UgdHlwZXMgd2lsbCAqbm90KiBiZSBuZXN0ZWQgaW5zaWRlIHRoZSB3cmFwcGVyIGNsYXNzCiBuYW1lZCBieSBqYXZhX291dGVyX2NsYXNzbmFtZS4gIEhvd2V2ZXIsIHRoZSB3cmFwcGVyIGNsYXNzIHdpbGwgc3RpbGwgYmUKIGdlbmVyYXRlZCB0byBjb250YWluIHRoZSBmaWxlJ3MgZ2V0RGVzY3JpcHRvcigpIG1ldGhvZCBhcyB3ZWxsIGFzIGFueQogdG9w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BKEECBYK2AUKBAQLAgASBLQEAj4ayQUgU2V0IHRydWUgdG8gdXNlIHRoZSBvbGQgcHJvdG8xIE1lc3NhZ2VTZXQgd2lyZSBmb3JtYXQgZm9yIGV4dGVuc2lvbnMuCiBUaGlzIGlzIHByb3ZpZGVkIGZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBNZXNzYWdlU2V0IHdpcmUKIGZvcm1hdC4gIFlvdSBzaG91bGQgbm90IHVzZSB0aGlzIGZvciBhbnkgb3RoZXIgcmVhc29uOiAgSXQncyBsZXNzCiBlZmZpY2llbnQsIGhhcyBmZXdlciBmZWF0dXJlcywgYW5kIGlzIG1vcmUgY29tcGxpY2F0ZWQuCgogVGhlIG1lc3NhZ2UgbXVzdCBiZSBkZWZpbmVkIGV4YWN0bHkgYXMgZm9sbG93czoKICAgbWVzc2FnZSBGb28gewogICAgIG9wdGlvbiBtZXNzYWdlX3NldF93aXJlX2Zvcm1hdCA9IHRydWU7CiAgICAgZXh0ZW5zaW9ucyA0IHRvIG1heDsKICAgfQogTm90ZSB0aGF0IHRoZSBtZXNzYWdlIGNhbm5vdCBoYXZlIGFueSBkZWZpbmVkIGZpZWxkczsgTWVzc2FnZVNldHMgb25seQogaGF2ZSBleHRlbnNpb25zLgoKIEFsbCBleHRlbnNpb25zIG9mIHlvdXIgdHlwZSBtdXN0IGJlIHNpbmd1bGFyIG1lc3NhZ2VzOyBlLmcuIHRoZXkgY2Fubm90CiBiZSBpbnQzMnMsIGVudW1zLCBvciByZXBlYXRlZCBtZXNzYWdlcy4KCiBCZWNhdXNlIHRoaXMgaXMgYW4gb3B0aW9uLCB0aGUgYWJvdmUgdHdvIHJlc3RyaWN0aW9ucyBhcmUgbm90IGVuZm9yY2VkIGJ5CiB0aGUgcHJvdG9jb2wgY29tcGlsZXIuCgoNCgUECwIABBIEtAQCCgoNCgUECwIABRIEtAQLDwoNCgUECwIAARIEtAQQJwoNCgUECwIAAxIEtAQqKwoNCgUECwIACBIEtAQsPQoNCgUECwIABxIEtAQ3PArrAQoEBAsCARIEuQQCRhrcASBEaXNhYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgc3RhbmRhcmQgImRlc2NyaXB0b3IoKSIg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YWxzbyBhbGxvdyBiZXR0ZXIgcGVyZm9ybWFuY2Ugd2hlbiBwYXJzaW5nIGZyb20gYQogQ29yZCwgb3Igd2hlbiBwYXJzaW5nIHdpdGggYWxpYXNpbmcgZW5hYmxlZCwgYXMgdGhlIHBhcnNlZCBDb3JkIG1heSB0aGVuCiBhbGlhcyB0aGUgb3JpZ2luYWwgYnVmZmVyLgoKDwoHBAwEAAIBARIEhQUECAoPCgcEDAQAAgECEgSFBQsMCg4KBgQMBAACAhIEhwUEFQoPCgcEDAQAAgIBEgSHBQQQCg8KBwQMBAACAgISBIcFExQK0wMKBAQMAgESBJAFAhsaxAMgVGhlIHBhY2tlZCBvcHRpb24gY2FuIGJlIGVuYWJsZWQgZm9yIHJlcGVhdGVkIHByaW1pdGl2ZSBmaWVsZHMgdG8gZW5hYmxlCiBhIG1vcmUgZWZmaWNpZW50IHJlcHJlc2VudGF0aW9uIG9uIHRoZSB3aXJlLiBSYXRoZXIgdGhhbiByZXBlYXRlZGx5CiB3cml0aW5nIHRoZSB0YWcgYW5kIHR5cGUgZm9yIGVhY2ggZWxlbWVudCwgdGhlIGVudGlyZSBhcnJheSBpcyBlbmNvZGVkIGFzCiBhIHNpbmdsZSBsZW5ndGgtZGVsaW1pdGVkIGJsb2IuIEluIHByb3RvMywgb25seSBleHBsaWNpdCBzZXR0aW5nIGl0IHRvCiBmYWxzZSB3aWxsIGF2b2lkIHVzaW5nIHBhY2tlZCBlbmNvZGluZy4gIFRoaXMgb3B0aW9uIGlzIHByb2hpYml0ZWQgaW4KIEVkaXRpb25zLCBidXQgdGhlIGByZXBlYXRlZF9maWVsZF9lbmNvZGluZ2AgZmVhdHVyZSBjYW4gYmUgdXNlZCB0byBjb250cm9sCiB0aGUgYmVoYXZpb3IuCgoNCgUEDAIBBBIEkAUCCgoNCgUEDAIBBRIEkAULDwoNCgUEDAIBARIEkAUQFgoNCgUEDAIBAxIEkAUZGgqaBQoEBAwCAhIEnQUCMxqLBSBUaGUganN0eXBlIG9wdGlvbiBkZXRlcm1pbmVzIHRoZSBKYXZhU2NyaXB0IHR5cGUgdXNlZCBmb3IgdmFsdWVzIG9mIHRoZQogZmllbGQuICBUaGUgb3B0aW9uIGlzIHBlcm1pdHRlZCBvbmx5IGZvciA2NCBiaXQgaW50ZWdyYWwgYW5kIGZpeGVkIHR5cGVzCiAoaW50NjQsIHVpbnQ2NCwgc2ludDY0LCBmaXhlZDY0LCBzZml4ZWQ2NCkuICBBIGZpZWxkIHdpdGgganN0eXBlIEpTX1NUUklORwogaXMgcmVwcmVzZW50ZWQgYXMgSmF2YVNjcmlwdCBzdHJpbmcsIHdoaWNoIGF2b2lkcyBsb3NzIG9mIHByZWNpc2lvbiB0aGF0CiBjYW4gaGFwcGVuIHdoZW4gYSBsYXJnZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gYSBmbG9hdGluZyBwb2ludCBKYXZhU2NyaXB0LgogU3BlY2lmeWluZyBKU19OVU1CRVIgZm9yIHRoZSBqc3R5cGUgY2F1c2VzIHRoZSBnZW5lcmF0ZWQgSmF2YVNjcmlwdCBjb2RlIHRvCiB1c2UgdGhlIEphdmFTY3JpcHQgIm51bWJlciIgdHlwZS4gIFRoZSBiZWhhdmlvciBvZiB0aGUgZGVmYXVsdCBvcHRpb24KIEpTX05PUk1BTCBpcyBpbXBsZW1lbnRhdGlvbiBkZXBlbmRlbnQuCgogVGhpcyBvcHRpb24gaXMgYW4gZW51bSB0byBwZXJtaXQgYWRkaXRpb25hbCB0eXBlcyB0byBiZSBhZGRlZCwgZS5nLgogZ29vZy5tYXRoLkludGVnZXIuCgoNCgUEDAICBBIEnQUCCgoNCgUEDAICBhIEnQULEQoNCgUEDAICARIEnQUSGAoNCgUEDAICAxIEnQUbHAoNCgUEDAICCBIEnQUdMgoNCgUEDAICBxIEnQUoMQoOCgQEDAQBEgaeBQKnBQMKDQoFBAwEAQESBJ4FBw0KJwoGBAwEAQIAEgSgBQQSGhcgVXNlIHRoZSBkZWZhdWx0IHR5cGUuCgoPCgcEDAQBAgABEgSgBQQNCg8KBwQMBAECAAISBKAFEBEKKQoGBAwEAQIBEgSjBQQSGhkgVXNlIEphdmFTY3JpcHQgc3RyaW5ncy4KCg8KBwQMBAECAQESBKMFBA0KDwoHBAwEAQIBAhIEowUQEQopCgYEDAQBAgISBKYFBBIaGSBVc2UgSmF2YVNjcmlwdCBudW1iZXJzLgoKDwoHBAwEAQICARIEpgUEDQoPCgcEDAQBAgICEgSmBRARCpkKCgQEDAIDEgS/BQIrGooKIFNob3VsZCB0aGlzIGZpZWxkIGJlIHBhcnNlZCBsYXppbHk/ICBMYXp5IGFwcGxpZXMgb25seSB0byBtZXNzYWdlLXR5cGUKIGZpZWxkcy4gIEl0IG1lYW5zIHRoYXQgd2hlbiB0aGUgb3V0ZXIgbWVzc2FnZSBpcyBpbml0aWFsbHkgcGFyc2VkLCB0aGUKIGlubmVyIG1lc3NhZ2UncyBjb250ZW50cyB3aWxsIG5vdCBiZSBwYXJzZWQgYnV0IGluc3RlYWQgc3RvcmVkIGluIGVuY29kZWQKIGZvcm0uICBUaGUgaW5uZXIgbWVzc2FnZSB3aWxsIGFjdHVhbGx5IGJlIHBhcnNlZCB3aGVuIGl0IGlzIGZpcnN0IGFjY2Vzc2VkLgoKIFRoaXMgaXMgb25seSBhIGhpbnQuICBJbXBsZW1lbnRhdGlvbnMgYXJlIGZyZWUgdG8gY2hvb3NlIHdoZXRoZXIgdG8gdXNlCiBlYWdlciBvciBsYXp5IHBhcnNpbmcgcmVnYXJkbGVzcyBvZiB0aGUgdmFsdWUgb2YgdGhpcyBvcHRpb24uICBIb3dldmVyLAogc2V0dGluZyB0aGlzIG9wdGlvbiB0cnVlIHN1Z2dlc3RzIHRoYXQgdGhlIHByb3RvY29sIGF1dGhvciBiZWxpZXZlcyB0aGF0CiB1c2luZyBsYXp5IHBhcnNpbmcgb24gdGhpcyBmaWVsZCBpcyB3b3J0aCB0aGUgYWRkaXRpb25hbCBib29ra2VlcGluZwogb3ZlcmhlYWQgdHlwaWNhbGx5IG5lZWRlZCB0byBpbXBsZW1lbnQgaXQuCgogVGhpcyBvcHRpb24gZG9lcyBub3QgYWZmZWN0IHRoZSBwdWJsaWMgaW50ZXJmYWNlIG9mIGFueSBnZW5lcmF0ZWQgY29kZTsKIGFsbCBtZXRob2Qgc2lnbmF0dXJlcyByZW1haW4gdGhlIHNhbWUuICBGdXJ0aGVybW9yZSwgdGhyZWFkLXNhZmV0eSBvZiB0aGUKIGludGVyZmFjZSBpcyBub3QgYWZmZWN0ZWQgYnkgdGhpcyBvcHRpb247IGNvbnN0IG1ldGhvZHMgcmVtYWluIHNhZmUgdG8KIGNhbGwgZnJvbSBtdWx0aXBsZSB0aHJlYWRzIGNvbmN1cnJlbnRseSwgd2hpbGUgbm9uLWNvbnN0IG1ldGhvZHMgY29udGludWUKIHRvIHJlcXVpcmUgZXhjbHVzaXZlIGFjY2Vzcy4KCiBOb3RlIHRoYXQgbGF6eSBtZXNzYWdlIGZpZWxkcyBhcmUgc3RpbGwgZWFnZXJseSB2ZXJpZmllZCB0byBjaGVjawogaWxsLWZvcm1lZCB3aXJlZm9ybWF0IG9yIG1pc3NpbmcgcmVxdWlyZWQgZmllbGRzLiBDYWxsaW5nIElzSW5pdGlhbGl6ZWQoKQogb24gdGhlIG91dGVyIG1lc3NhZ2Ugd291bGQgZmFpbCBpZiB0aGUgaW5uZXIgbWVzc2FnZSBoYXMgbWlzc2luZyByZXF1aXJlZAogZmllbGRzLiBGYWlsZWQgdmVyaWZpY2F0aW9uIHdvdWxkIHJlc3VsdCBpbiBwYXJzaW5nIGZhaWx1cmUgKGV4Y2VwdCB3aGVuCiB1bmluaXRpYWxpemVkIG1lc3NhZ2VzIGFyZSBhY2NlcHRhYmxlKS4KCg0KBQQMAgMEEgS/BQIKCg0KBQQMAgMFEgS/BQsPCg0KBQQMAgMBEgS/BRAUCg0KBQQMAgMDEgS/BRcYCg0KBQQMAgMIEgS/BRkqCg0KBQQMAgMHEgS/BSQpCq8BCgQEDAIEEgTEBQI3GqABIHVudmVyaWZpZWRfbGF6eSBkb2VzIG5vIGNvcnJlY3RuZXNzIGNoZWNrcyBvbiB0aGUgYnl0ZSBzdHJlYW0uIFRoaXMgc2hvdWxkCiBvbmx5IGJlIHVzZWQgd2hlcmUgbGF6eSB3aXRoIHZlcmlmaWNhdGlvbiBpcyBwcm9oaWJpdGl2ZSBmb3IgcGVyZm9ybWFuY2UKIHJlYXNvbnMuCgoNCgUEDAIEBBIExAUCCgoNCgUEDAIEBRIExAULDwoNCgUEDAIEARIExAUQHwoNCgUEDAIEAxIExAUiJAoNCgUEDAIECBIExAUlNgoNCgUEDAIEBxIExAUwNQroAQoEBAwCBRIEygUCMRrZASBJcyB0aGlzIGZpZWxkIGRlcHJlY2F0ZWQ/CiBEZXBlbmRpbmcgb24gdGhlIHRhcmdldCBwbGF0Zm9ybSwgdGhpcyBjYW4gZW1pdCBEZXByZWNhdGVkIGFubm90YXRpb25zCiBmb3IgYWNjZXNzb3JzLCBvciBpdCB3aWxsIGJlIGNv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bmUgY3VzdG9tIG9wdGlvbnMgaW4gZXh0ZW5zaW9ucyBvZiB0aGlzIG1lc3NhZ2UuIFNlZSBhYm92ZS4KCgwKBAQRBQASBPsGDRgKDQoFBBEFAAESBPsGDREKDQoFBBEFAAISBPsGFRgKiwMKAgQSEgaEBwCYBwEa/AIgQSBtZXNzYWdlIHJlcHJlc2VudGluZyBhIG9wdGlvbiB0aGUgcGFyc2VyIGRvZXMgbm90IHJlY29nbml6ZS4gVGhpcyBvbmx5CiBhcHBlYXJzIGluIG9wdGlvbnMgcHJvdG9zIGNyZWF0ZWQgYnkgdGhlIGNvbXBpbGVyOjpQYXJzZXIgY2xhc3MuCiBEZXNjcmlwdG9yUG9vbCByZXNvbHZlcyB0aGVzZSB3aGVuIGJ1aWxkaW5nIERlc2NyaXB0b3Igb2JqZWN0cy4gVGhlcmVmb3JlLAogb3B0aW9ucyBwcm90b3MgaW4gZGVzY3JpcHRvciBvYmplY3RzIChlLmcuIHJldHVybmVkIGJ5IERlc2NyaXB0b3I6Om9wdGlvbnMoKSwKIG9yIHByb2R1Y2VkIGJ5IERlc2NyaXB0b3I6OkNvcHlUbygpKSB3aWxsIG5ldmVyIGhhdmUgVW5pbnRlcnByZXRlZE9wdGlvbnMKIGluIHRoZW0uCgoLCgMEEgESBIQHCBsKywIKBAQSAwASBooHAo0HAxq6AiBUaGUgbmFtZSBvZiB0aGUgdW5pbnRlcnByZXRlZCBvcHRpb24uICBFYWNoIHN0cmluZyByZXByZXNlbnRzIGEgc2VnbWVudCBpbgogYSBkb3Qtc2VwYXJhdGVkIG5hbWUuICBpc19leHRlbnNpb24gaXMgdHJ1ZSBpZmYgYSBzZWdtZW50IHJlcHJlc2VudHMgYW4KIGV4dGVuc2lvbiAoZGVub3RlZCB3aXRoIHBhcmVudGhlc2VzIGluIG9wdGlvbnMgc3BlY3MgaW4gLnByb3RvIGZpbGVzKS4KIEUuZy4seyBbImZvbyIsIGZhbHNlXSwgWyJiYXIuYmF6IiwgdHJ1ZV0sIFsibW9vIiwgZmFsc2VdIH0gcmVwcmVzZW50cwogImZvby4oYmFyLmJheikubW9vIi4KCg0KBQQSAwABEgSKBwoSCg4KBgQSAwACABIEiwcEIgoPCgcEEgMAAgAEEgSLBwQMCg8K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cGVhdGVkIGZpZWxkIGl0c2VsZiAoaS5lLiBub3QgdG8gYW55CiAgIHBhcnRpY3VsYXIgaW5kZXggd2l0aGluIGl0KS4gIFRoaXMgaXMgdXNlZCB3aGVuZXZlciBhIHNldCBvZiBlbGVtZW50cyBhcmUKICAgbG9naWNhbGx5IGVuY2xvc2VkIGluIGEgc2luZ2xlIGNvZGUgc2VnbWVudC4gIEZvciBleGFtcGxlLCBhbiBlbnRpcmUKICAgZXh0ZW5kIGJsb2NrIChwb3NzaWJseSBjb250YWluaW5nIG11bHRpcGxlIGV4dGVuc2lvbiBkZWZpbml0aW9ucykgd2lsbAogICBoYXZlIGFuIG91dGVyIGxvY2F0aW9uIHdob3NlIHBhdGggcmVmZXJzIHRvIHRoZSAiZXh0ZW5zaW9ucyIgcmVwZWF0ZWQKICAgZmllbGQgd2l0aG91dCBhbiBpbmRleC4KIC0gTXVsdGlwbGUgbG9jYXRpb25zIG1heSBoYXZlIHRoZSBzYW1lIHBhdGguICBUaGlzIGhhcHBlbnMgd2hlbiBhIHNpbmdsZQogICBsb2dpY2FsIGRlY2xhcmF0aW9uIGlzIHNwcmVhZCBvdXQgYWNyb3NzIG11bHRpcGxlIHBsYWNlcy4gIFRoZSBtb3N0CiAgIG9idmlvdXMgZXhhbXBsZSBpcyB0aGUgImV4dGVuZCIgYmxvY2sgYWdhaW4gLS0gdGhlcmUgbWF5IGJlIG11bHRpcGxlCiAgIGV4dGVuZCBibG9ja3MgaW4gdGhlIHNhbWUgc2NvcGUsIGVhY2ggb2Ygd2hpY2ggd2lsbCBoYXZlIHRoZSBzYW1lIHBhdGguCiAtIEEgbG9jYXRpb24ncyBzcGFuIGlzIG5vdCBhbHdheXMgYSBzdWJzZXQgb2YgaXRzIHBhcmVudCdzIHNwYW4uICBGb3IKICAgZXhhbXBsZSwgdGhlICJleHRlbmRlZSIgb2YgYW4gZXh0ZW5zaW9uIGRlY2xhcmF0aW9uIGFwcGVhcnMgYXQgdGhlCiAgIGJlZ2lubmluZyBvZiB0aGUgImV4dGVuZCIgYmxvY2sgYW5kIGlzIHNoYXJlZCBieSBhbGwgZXh0ZW5zaW9ucyB3aXRoaW4KICAgdGhlIGJsb2NrLgogLSBKdXN0IGJlY2F1c2UgYSBsb2NhdGlvbidzIHNwYW4gaXMgYSBzdWJzZXQgb2Ygc29tZSBvdGhlciBsb2NhdGlvbidzIHNwYW4KICAgZG9lcyBub3QgbWVhbiB0aGF0IGl0IGlzIGEgZGVzY2VuZGFudC4gIEZvciBleGFtcGxlLCBhICJncm91cCIgZGVmaW5lcwogICBib3RoIGEgdHlwZSBhbmQgYSBmaWVsZCBpbiBhIHNpbmdsZSBkZWNsYXJhdGlvbi4gIFRodXMsIHRoZSBsb2NhdGlvbnMKICAgY29ycmVzcG9uZGluZyB0byB0aGUgdHlwZSBhbmQgZmllbGQgYW5kIHRoZWlyIGNvbXBvbmVudHMgd2lsbCBvdmVybGFwLgogLSBDb2RlIHdoaWNoIHRyaWVzIHRvIGludGVycHJldCBsb2NhdGlvbnMgc2hvdWxkIHByb2JhYmx5IGJlIGRlc2lnbmVkIHRvCiAgIGlnbm9yZSB0aG9zZSB0aGF0IGl0IGRvZXNuJ3QgdW5kZXJzdGFuZCwgYXMgbW9yZSB0eXBlcyBvZiBsb2NhdGlvbnMgY291bGQKICAgYmUgcmVjb3JkZWQgaW4gdGhlIGZ1dHVyZS4KCg0KBQQVAgAEEgTHCAIKCg0KBQQVAgAGEgTHCAsTCg0KBQQVAgABEgTHCBQcCg0KBQQVAgADEgTHCB8gCg4KBAQVAwASBsgIApsJAwoNCgUEFQMAARIEyAgKEgqKBwoGBBUDAAIAEgTgCAQsGvkGIElkZW50aWZpZXMgd2hpY2ggcGFydCBvZiB0aGUgRmlsZURlc2NyaXB0b3JQcm90byB3YXMgZGVmaW5lZCBhdCB0aGlzCiBsb2NhdGlvbi4KCiBFYWNoIGVsZW1lbnQgaXMgYSBmaWVsZCBudW1iZXIgb3IgYW4gaW5kZXguICBUaGV5IGZvcm0gYSBwYXRoIGZyb20KIHRoZSByb290IEZpbGVEZXNjcmlwdG9yUHJvdG8gdG8gdGhlIHBsYWNlIHdoZXJlIHRoZSBkZWZpbml0aW9uIGFwcGVhcnMuCiBGb3IgZXhhbXBsZSwgdGhpcyBwYXRoOgogICBbIDQsIDMsIDIsIDcsIDEgXQogcmVmZXJzIHRvOgogICBmaWxlLm1lc3NhZ2VfdHlwZSgzKSAgLy8gNCwgMwogICAgICAgLmZpZWxkKDcpICAgICAgICAgLy8gMiwgNwogICAgICAgLm5hbWUoKSAgICAgICAgICAgLy8gMQogVGhpcyBpcyBiZWNhdXNlIEZpbGVEZXNjcmlwdG9yUHJvdG8ubWVzc2FnZV90eXBlIGhhcyBmaWVsZCBudW1iZXIgNDoKICAgcmVwZWF0ZWQgRGVzY3JpcHRvclByb3RvIG1lc3NhZ2VfdHlwZSA9IDQ7CiBhbmQgRGVzY3JpcHRvclByb3RvLmZpZWxkIGhhcyBmaWVsZCBudW1iZXIgMjoKICAgcmVwZWF0ZWQgRmllbGREZXNjcmlwdG9yUHJvdG8gZmllbGQgPSAyOwogYW5kIEZpZWxkRGVzY3JpcHRvclByb3RvLm5hbWUgaGFzIGZpZWxkIG51bWJlciAxOgogICBvcHRpb25hbCBzdHJpbmcgbmFtZSA9IDE7CgogVGh1cywgdGhlIGFib3ZlIHBhdGggZ2l2ZXMgdGhlIGxvY2F0aW9uIG9mIGEgZmllbGQgbmFtZS4gIElmIHdlIHJlbW92ZWQKIHRoZSBsYXN0IGVsZW1lbnQ6CiAgIFsgNCwgMywgMiwgNyBdCiB0aGlzIHBhdGggcmVmZXJzIHRvIHRoZSB3aG9sZSBmaWVsZCBkZWNsYXJhdGlvbiAoZnJvbSB0aGUgYmVnaW5uaW5nCiBvZiB0aGUgbGFiZWwgdG8gdGhlIHRlcm1pbmF0aW5nIHNlbWljb2xvbikuCgoPCgcEFQMAAgAEEgTgCAQMCg8KBwQVAwACAAUSBOAIDRIKDwoHBBUDAAIAARIE4AgTFwoPCgcEFQMAAgADEgTgCBobCg8KBwQVAwACAAgSBOAIHCsKEAoIBBUDAAIACAISBOAIHSoK0gIKBgQVAwACARIE5wgELBrBAiBBbHdheXMgaGFzIGV4YWN0bHkgdGhyZWUgb3IgZm91ciBlbGVtZW50czogc3RhcnQgbGluZSwgc3RhcnQgY29sdW1uLAogZW5kIGxpbmUgKG9wdGlvbmFsLCBvdGhlcndpc2UgYXNzdW1lZCBzYW1lIGFzIHN0YXJ0IGxpbmUpLCBlbmQgY29sdW1uLgogVGhlc2UgYXJlIHBhY2tlZCBpbnRvIGEgc2luZ2xlIGZpZWxkIGZvciBlZmZpY2llbmN5LiAgTm90ZSB0aGF0IGxpbmUKIGFuZCBjb2x1bW4gbnVtYmVycyBhcmUgemVyby1iYXNlZCAtLSB0eXBpY2FsbHkgeW91IHdpbGwgd2FudCB0byBhZGQKIDEgdG8gZWFjaCBiZWZvcmUgZGlzcGxheWluZyB0byBhIHVzZXIuCgoPCgcEFQMAAgEEEgTnCAQMCg8KBwQVAwACAQUSBOcIDRIKDwoHBBUDAAIBARIE5wgTFwoPCgcEFQMAAgEDEgTnCBobCg8KBwQVAwACAQgSBOcIHCsKEAoIBBUDAAIBCAISBOcIHSoKpQwKBgQVAwACAhIEmAkEKRqUDCBJZiB0aGlzIFNvdXJjZUNvZGVJbmZvIHJlcHJlc2VudHMgYSBjb21wbGV0ZSBkZWNsYXJhdGlvbiwgdGhlc2UgYXJlIGFueQogY29tbWVudHMgYXBwZWFyaW5nIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIGRlY2xhcmF0aW9uIHdoaWNoIGFwcGVhciB0byBiZQogYXR0YWNoZWQgdG8gdGhlIGRlY2xhcmF0aW9uLgoKIEEgc2VyaWVzIG9mIGxpbmUgY29tbWVudHMgYXBwZWFyaW5nIG9uIGNvbnNlY3V0aXZlIGxpbmVzLCB3aXRoIG5vIG90aGVyCiB0b2tlbnMgYXBwZWFyaW5nIG9uIHRob3NlIGxpbmVzLCB3aWxsIGJlIHRyZWF0ZWQgYXMgYSBzaW5nbGUgY29tbWVudC4KCiBsZWFkaW5nX2RldGFjaGVkX2NvbW1lbnRzIHdpbGwga2VlcCBwYXJhZ3JhcGhzIG9mIGNvbW1lbnRzIHRoYXQgYXBwZWFyCiBiZWZvcmUgKGJ1dCBub3QgY29ubmVjdGVkIHRvKSB0aGUgY3VycmVudCBlbGVtZW50LiBFYWNoIHBhcmFncmFwaCwKIHNlcGFyYXRlZCBieSBlbXB0eSBsaW5lcywgd2lsbCBiZSBvbmUgY29tbWVudCBlbGVtZW50IGluIHRoZSByZXBlYXRlZAogZmllbGQuCgogT25seSB0aGUgY29tbWVudCBjb250ZW50IGlzIHByb3ZpZGVkOyBjb21tZW50IG1hcmtlcnMgKGUuZy4gLy8pIGFyZQogc3RyaXBwZWQgb3V0LiAgRm9yIGJsb2NrIGNvbW1lbnRzLCBsZWFkaW5nIHdoaXRlc3BhY2UgYW5kIGFuIGFzdGVyaXNrCiB3aWxsIGJlIHN0cmlwcGVkIGZyb20gdGhlIGJlZ2lubmluZyBvZiBlYWNoIGxpbmUgb3RoZXIgdGhhbiB0aGUgZmlyc3QuCiBOZXdsaW5lcyBhcmUgaW5jbHVkZWQgaW4gdGhlIG91dHB1dC4KCiBFeGFtcGxlczoKCiAgIG9wdGlvbmFsIGludDMyIGZvbyA9IDE7ICAvLyBDb21tZW50IGF0dGFjaGVkIHRvIGZvby4KICAgLy8gQ29tbWVudCBhdHRhY2hlZCB0byBiYXIuCiAgIG9wdGlvbmFsIGludDMyIGJhciA9IDI7CgogICBvcHRpb25hbCBzdHJpbmcgYmF6ID0gMzsKICAgLy8gQ29tbWVudCBhdHRhY2hlZCB0byBiYXouCiAgIC8vIEFub3RoZXIgbGluZSBhdHRhY2hlZCB0byBiYXouCgogICAvLyBDb21tZW50IGF0dGFjaGVkIHRvIG1vby4KICAgLy8KICAgLy8gQW5vdGhlciBsaW5lIGF0dGFjaGVkIHRvIG1vby4KICAgb3B0aW9uYWwgZG91YmxlIG1vbyA9IDQ7CgogICAvLyBEZXRhY2hlZCBjb21tZW50IGZvciBjb3JnZS4gVGhpcyBpcyBub3QgbGVhZGluZyBvciB0cmFpbGluZyBjb21tZW50cwogICAvLyB0byBtb28gb3IgY29yZ2UgYmVjYXVzZSB0aGVyZSBhcmUgYmxhbmsgbGluZXMgc2VwYXJhdGluZyBpdCBmcm9tCiAgIC8vIGJvdGguCgogICAvLyBEZXRhY2hlZCBjb21tZW50IGZvciBjb3JnZSBwYXJhZ3JhcGggMi4KCiAgIG9wdGlvbmFsIHN0cmluZyBjb3JnZSA9IDU7CiAgIC8qIEJsb2NrIGNvbW1lbnQgYXR0YWNoZWQKICAgICogdG8gY29yZ2UuICBMZWFkaW5nIGFzdGVyaXNrcwogICAgKiB3aWxsIGJlIHJlbW92ZWQuICovCiAgIC8qIEJsb2NrIGNvbW1lbnQgYXR0YWNoZWQgdG8KICAgICogZ3JhdWx0LiAqLwogICBvcHRpb25hbCBpbnQzMiBncmF1bHQgPSA2OwoKICAgLy8gaWdub3JlZCBkZXRhY2hlZCBjb21tZW50cy4KCg8KBwQVAwACAgQSBJgJBAwK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CAQWAwAEAAIBEgS8CQYOGiogVGhlIGVsZW1lbnQgaXMgc2V0IG9yIG90aGVyd2lzZSBtdXRhdGVkLgoKEQoJBBYDAAQAAgEBEgS8CQYJChEKCQQWAwAEAAIBAhIEvAkMDQo4CggEFgMABAACAhIEvgkGEBomIEFuIGFsaWFzIHRvIHRoZSBlbGVtZW50IGlzIHJldHVybmVkLgoKEQoJBBYDAAQAAgIBEgS+CQYLChEKCQQWAwAEAAICAhIEvgkODwoOCgYEFgMAAgQSBMAJBCMKDwoHBBYDAAIEBBIEwAkEDAoPCgcEFgMAAgQGEgTACQ0VCg8KBwQWAwACBAESBMAJFh4KDwoHBBYDAAIEAxIEwAkhIgr7cQoyY3NoYXJwL3Byb3Rvcy91bml0dGVzdF9jdXN0b21fb3B0aW9uc19wcm90bzMucHJvdG8SEXByb3RvYnVmX3VuaXR0ZXN0GiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90byLrAQocVGVzdE1lc3NhZ2VXaXRoQ3VzdG9tT3B0aW9ucxImCgZmaWVsZDEYASABKAlCDggBweDDHS3hdQoCAAAAUgZmaWVsZDESIQoLb25lb2ZfZmllbGQYAiABKAVIAFIKb25lb2ZGaWVsZCJTCgZBbkVudW0SFgoSQU5FTlVNX1VOU1BFQ0lGSUVEEAASDwoLQU5FTlVNX1ZBTDEQARIWCgtBTkVOVU1fVkFMMhACGgWwhvoFexoIxfbJHev8//86EAgA4OnCHcj//////////wFCGQoHQW5PbmVvZhIO+KzDHZ3//////////wEiGAoWQ3VzdG9tT3B0aW9uRm9vUmVxdWVzdCIZChdDdXN0b21PcHRpb25Gb29SZXNwb25zZSIeChxDdXN0b21PcHRpb25Gb29DbGllbnRNZXNzYWdlIh4KHEN1c3RvbU9wdGlvbkZvb1NlcnZlck1lc3NhZ2UijwEKGkR1bW15TWVzc2FnZUNvbnRhaW5pbmdFbnVtInEKDFRlc3RFbnVtVHlwZRIgChxURVNUX09QVElPTl9FTlVNX1VOU1BFQ0lGSUVEEAASGgoWVEVTVF9PUFRJT05fRU5VTV9UWVBFMRAWEiMKFlRFU1RfT1BUSU9OX0VOVU1fVFlQRTIQ6f//////////ASIhCh9EdW1teU1lc3NhZ2VJbnZhbGlkQXNPcHRpb25UeXBlIooBChxDdXN0b21PcHRpb25NaW5JbnRlZ2VyVmFsdWVzOmqZ1qgdAAAAAAAAAICtja8dAAAAgJHurx0AAAAAAAAAAJ31rx0AAAAA+JewHf///////////wGAxLAd/////w/49bAdAICTsh0AsLyyHYCAgICAgICAgAHoxrIdgICAgPj/////AdDesh0AIpEBChxDdXN0b21PcHRpb25NYXhJbnRlZ2VyVmFsdWVzOnGZ1qgd/////////3+tja8d////f5Hurx3//////////531rx3/////+JewHf7//////////wGAxLAd/v///w/49bAd////////////AYCTsh3/////D7C8sh3//////////3/oxrId/////wfQ3rIdASJuChdDdXN0b21PcHRpb25PdGhlclZhbHVlczpTiNmiHen//////////wGy2aIdC0hlbGxvAFdvcmxkqtyiHQ5IZWxsbywgIldvcmxkIuncoh37WYxCysDzP/Xfox3nh0VB6MayHZz//////////wEiNAocU2V0dGluZ1JlYWxzRnJvbVBvc2l0aXZlSW50czoU6dyiHQAAAAAAQGNA9d+jHQAAQEEiNAocU2V0dGluZ1JlYWxzRnJvbU5lZ2F0aXZlSW50czoU6dyiHQAAAAAAQGPA9d+jHQAAQMEiYgoSQ29tcGxleE9wdGlvblR5cGUxEhAKA2ZvbxgBIAEoBVIDZm9vEhIKBGZvbzIYAiABKAVSBGZvbzISEgoEZm9vMxgDIAEoBVIEZm9vMxISCgRmb280GAQgAygFUgRmb280Iq0DChJDb21wbGV4T3B0aW9uVHlwZTISNwoDYmFyGAEgASgLMiUucHJvdG9idWZfdW5pdHRlc3QuQ29tcGxleE9wdGlvblR5cGUxUgNiYXISEAoDYmF6GAIgASgFUgNiYXoSTAoEZnJlZBgDIAEoCzI4LnByb3RvYnVmX3VuaXR0ZXN0LkNvbXBsZXhPcHRpb25UeXBlMi5Db21wbGV4T3B0aW9uVHlwZTRSBGZyZWQSUAoGYmFybmV5GAQgAygLMjgucHJvdG9idWZfdW5pdHRlc3QuQ29tcGxleE9wdGlvblR5cGUyLkNvbXBsZXhPcHRpb25UeXBlNFIGYmFybmV5GqsBChJDb21wbGV4T3B0aW9uVHlwZTQSFAoFd2FsZG8YASABKAVSBXdhbGRvMn8KDGNvbXBsZXhfb3B0NBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiK9dEDIAEoCzI4LnByb3RvYnVmX3VuaXR0ZXN0LkNvbXBsZXhPcHRpb25UeXBlMi5Db21wbGV4T3B0aW9uVHlwZTRSC2NvbXBsZXhPcHQ0IiYKEkNvbXBsZXhPcHRpb25UeXBlMxIQCgNxdXgYASABKAVSA3F1eCJOChVWYXJpb3VzQ29tcGxleE9wdGlvbnM6NdKojx0DCLMP+t6QHQIICar9kB0WCgMI5wUQ2wcaAwjBAiICCGUiAwjUAaLilR0GCCoiAmNYIlcKCUFnZ3JlZ2F0ZRIMCgFpGAEgASgFUgFpEgwKAXMYAiABKAlSAXMSLgoDc3ViGAMgASgLMhwucHJvdG9idWZfdW5pdHRlc3QuQWdncmVnYXRlUgNzdWIiZAoQQWdncmVnYXRlTWVzc2FnZRI0CglmaWVsZG5hbWUYASABKAVCFvKhhzsREg9GaWVsZEFubm90YXRpb25SCWZpZWxkbmFtZToawtGGOxUIZRIRTWVzc2FnZUFubm90YXRpb24ipAEKEE5lc3RlZE9wdGlvblR5cGUaSAoNTmVzdGVkTWVzc2FnZRIvCgxuZXN0ZWRfZmllbGQYASABKAVCDMHgwx3qAwAAAAAAAFILbmVzdGVkRmllbGQ6BuDpwh3pByJGCgpOZXN0ZWRFbnVtEg8KC1VOU1BFQ0lGSUVEEAASHQoRTkVTVEVEX0VOVU1fVkFMVUUQARoGsIb6BewHGgjF9skd6wMAACpSCgpNZXRob2RPcHQxEhoKFk1FVEhPRE9QVDFfVU5TUEVDSUZJRUQQABITCg9NRVRIT0RPUFQxX1ZBTDEQARITCg9NRVRIT0RPUFQxX1ZBTDIQAipeCg1BZ2dyZWdhdGVFbnVtEg8KC1VOU1BFQ0lGSUVEEAASJQoFVkFMVUUQARoayvyJOxUSE0VudW1WYWx1ZUFubm90YXRpb24aFZKViDsQEg5FbnVtQW5ub3RhdGlvbjKOAQocVGVzdFNlcnZpY2VXaXRoQ3VzdG9tT3B0aW9ucxJjCgNGb28SKS5wcm90b2J1Zl91bml0dGVzdC5DdXN0b21PcHRpb25Gb29SZXF1ZXN0GioucHJvdG9idWZfdW5pdHRlc3QuQ3VzdG9tT3B0aW9uRm9vUmVzcG9uc2UiBeD6jB4CGgmQsose09uAy0kymQEKEEFnZ3JlZ2F0ZVNlcnZpY2USawoGTWV0aG9kEiMucHJvdG9idWZfdW5pdHRlc3QuQWdncmVnYXRlTWVzc2FnZRojLnByb3RvYnVmX3VuaXR0ZXN0LkFnZ3JlZ2F0ZU1lc3NhZ2UiF8rIljsSEhBNZXRob2RBbm5vdGF0aW9uGhjK+447ExIRU2VydmljZUFubm90YXRpb246PAoJZmlsZV9vcHQxEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGI6d2AMgASgEUghmaWxlT3B0MTpFCgxtZXNzYWdlX29wdDESHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYnK3YAyABKAVSC21lc3NhZ2VPcHQxOj8KCmZpZWxkX29wdDESHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGIi82AMgASgGUglmaWVsZE9wdDE6PwoKb25lb2Zfb3B0MRIdLmdvb2dsZS5wcm90b2J1Zi5PbmVvZk9wdGlvbnMYz7XYAyABKAVSCW9uZW9mT3B0MTo8CgllbnVtX29wdDESHC5nb29nbGUucHJvdG9idWYuRW51bU9wdGlvbnMY6J7ZAyABKA9SCGVudW1PcHQxOksKD2VudW1fdmFsdWVfb3B0MRIhLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVPcHRpb25zGOagXyABKAVSDWVudW1WYWx1ZU9wdDE6RQoMc2VydmljZV9vcHQxEh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGKK24QMgASgSUgtzZXJ2aWNlT3B0MTphCgttZXRob2Rfb3B0MRIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGKzP4QMgASgOMh0ucHJvdG9idWZfdW5pdHRlc3QuTWV0aG9kT3B0MVIKbWV0aG9kT3B0MTo9Cghib29sX29wdBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxjqq9YDIAEoCFIHYm9vbE9wdDo/CglpbnQzMl9vcHQSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMY7ajWAyABKAVSCGludDMyT3B0Oj8KCWludDY0X29wdBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxjGp9YDIAEoA1IIaW50NjRPcHQ6QQoKdWludDMyX29wdBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiwotYDIAEoDVIJdWludDMyT3B0OkEKCnVpbnQ2NF9vcHQSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMY347WAyABKARSCXVpbnQ2NE9wdDpBCgpzaW50MzJfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGMCI1gMgASgRUglzaW50MzJPcHQ6QQoKc2ludDY0X29wdBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxj/gtYDIAEoElIJc2ludDY0T3B0OkMKC2ZpeGVkMzJfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGNP+1QMgASgHUgpmaXhlZDMyT3B0OkMKC2ZpeGVkNjRfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGOL91QMgASgGUgpmaXhlZDY0T3B0OkUKDHNmaXhlZDMyX29wdBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxjV8dUDIAEoD1ILc2ZpeGVkMzJPcHQ6RQoMc2ZpeGVkNjRfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGOOK1QMgASgQUgtzZml4ZWQ2NE9wdDo/CglmbG9hdF9vcHQSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMY/rvUAyABKAJSCGZsb2F0T3B0OkEKCmRvdWJsZV9vcHQSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYzavUAyABKAFSCWRvdWJsZU9wdDpBCgpzdHJpbmdfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGMWr1AMgASgJUglzdHJpbmdPcHQ6PwoJYnl0ZXNfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGJar1AMgASgMUghieXRlc09wdDp5CghlbnVtX29wdBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiRq9QDIAEoDjI6LnByb3RvYnVmX3VuaXR0ZXN0LkR1bW15TWVzc2FnZUNvbnRhaW5pbmdFbnVtLlRlc3RFbnVtVHlwZVIHZW51bU9wdDqAAQoQbWVzc2FnZV90eXBlX29wdBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiv8tMDIAEoCzIyLnByb3RvYnVmX3VuaXR0ZXN0LkR1bW15TWVzc2FnZUludmFsaWRBc09wdGlvblR5cGVSDm1lc3NhZ2VUeXBlT3B0OmwKDGNvbXBsZXhfb3B0MRIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxik3NIDIAEoCzIlLnByb3RvYnVmX3VuaXR0ZXN0LkNvbXBsZXhPcHRpb25UeXBlMVILY29tcGxleE9wdDE6bAoMY29tcGxleF9vcHQyEh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGNWP0gMgASgLMiUucHJvdG9idWZfdW5pdHRlc3QuQ29tcGxleE9wdGlvblR5cGUyUgtjb21wbGV4T3B0MjpsCgxjb21wbGV4X29wdDMSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMY74vSAyABKAsyJS5wcm90b2J1Zl91bml0dGVzdC5Db21wbGV4T3B0aW9uVHlwZTNSC2NvbXBsZXhPcHQzOlcKB2ZpbGVvcHQSHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYz92wByABKAsyHC5wcm90b2J1Zl91bml0dGVzdC5BZ2dyZWdhdGVSB2ZpbGVvcHQ6WAoGbXNnb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGJjqsAcgASgLMhwucHJvdG9idWZfdW5pdHRlc3QuQWdncmVnYXRlUgZtc2dvcHQ6WgoIZmllbGRvcHQSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGJ70sAcgASgLMhwucHJvdG9idWZfdW5pdHRlc3QuQWdncmVnYXRlUghmaWVsZG9wdDpXCgdlbnVtb3B0EhwuZ29vZ2xlLnByb3RvYnVmLkVudW1PcHRpb25zGNKCsQcgASgLMhwucHJvdG9idWZfdW5pdHRlc3QuQWdncmVnYXRlUgdlbnVtb3B0OmIKCmVudW12YWxvcHQSIS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlT3B0aW9ucxjJn7EHIAEoCzIcLnByb3RvYnVmX3VuaXR0ZXN0LkFnZ3JlZ2F0ZVIKZW51bXZhbG9wdDpgCgpzZXJ2aWNlb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGLnvsQcgASgLMhwucHJvdG9idWZfdW5pdHRlc3QuQWdncmVnYXRlUgpzZXJ2aWNlb3B0Ol0KCW1ldGhvZG9wdBIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGInpsgcgASgLMhwucHJvdG9idWZfdW5pdHRlc3QuQWdncmVnYXRlUgltZXRob2RvcHRCVaoCGlVuaXRUZXN0Lklzc3Vlcy5UZXN0UHJvdG9z8OjBHeqtwOUk+uyFOyoIZBIORmlsZUFubm90YXRpb24aFhIUTmVzdGVkRmlsZUFubm90YXRpb25KykYKBxIFFADQAgEKvgYKAQwSAxQAEjKJAiBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlCiBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgb3IgYXQKIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL29wZW4tc291cmNlL2xpY2Vuc2VzL2JzZAoy0wEgQXV0aG9yOiBiZW5qeUBnb29nbGUuY29tIChCZW5qeSBXZWluYmVyZ2VyKQogIEJhc2VkIG9uIG9yaWdpbmFsIFByb3RvY29sIEJ1ZmZlcnMgZGVzaWduIGJ5CiAgU2FuamF5IEdoZW1hd2F0LCBKZWZmIERlYW4sIGFuZCBvdGhlcnMuCgogQSBwcm90byBmaWxlIHVzZWQgdG8gdGVzdCB0aGUgImN1c3RvbSBvcHRpb25zIiBm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aWNlbnNlcy9ic2QKMiggQXV0aG9yOiBsaXVqaXNpQGdvb2dsZS5jb20gKFBoZXJsIExpdSkKCggKAQISAwsAKAoICgEIEgMNAD4KCQoCCCUSAw0APgoKCgIEABIEDwARAQoKCgMEAAESAw8IGwoLCgQEAAIAEgMQAhcKDAoFBAACAAQSAxACCgoMCgUEAAIABRIDEAsQCgwKBQQAAgABEgMQERIKDAoFBAACAAMSAxAVFgrBDAojY3NoYXJwL3Byb3Rvcy91bml0dGVzdF9pbXBvcnQucHJvdG8SH3Byb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIaKmNzaGFycC9wcm90b3MvdW5pdHRlc3RfaW1wb3J0X3B1YmxpYy5wcm90byIdCg1JbXBvcnRNZXNzYWdlEgwKAWQYASABKAVSAWQqPAoKSW1wb3J0RW51bRIOCgpJTVBPUlRfRk9PEAcSDgoKSU1QT1JUX0JBUhAIEg4KCklNUE9SVF9CQVoQCSoxChBJbXBvcnRFbnVtRm9yTWFwEgsKB1VOS05PV04QABIHCgNGT08QARIHCgNCQVIQAkIpSAH4AQGqAiFHb29nbGUuUHJvdG9idWYuVGVzdFByb3Rvcy5Qcm90bzJKjwoKBhIEDQArAQrgAwoBDBIDDQASMokCIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBvciBhdAogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCjLJASBBdXRob3I6IGtlbnRvbkBnb29nbGUuY29tIChLZW50b24gVmFyZGEpCiAgQmFzZWQgb24gb3JpZ2luYWwgUHJvdG9jb2wgQnVmZmVycyBkZXNpZ24gYnkKICBTYW5qYXkgR2hlbWF3YXQsIEplZmYgRGVhbiwgYW5kIG90aGVycy4KCiBBIHByb3RvIGZpbGUgd2hpY2ggaXMgaW1wb3J0ZWQgYnkgdW5pdHRlc3QucHJvdG8gdG8gdGVzdCBpbXBvcnRpbmcuCgr1AQoBAhIDEwAoGuoBIFdlIGRvbid0IHB1dCB0aGlzIGluIGEgcGFja2FnZSB3aXRoaW4gcHJvdG8yIGJlY2F1c2Ugd2UgbmVlZCB0byBtYWtlIHN1cmUKIHRoYXQgdGhlIGdlbmVyYXRlZCBjb2RlIGRvZXNuJ3QgZGVwZW5kIG9uIGJlaW5nIGluIHRoZSBwcm90bzIgbmFtZXNwYWNlLgogSW4gdGVzdF91dGlsLmggd2UgZG8KICJ1c2luZyBuYW1lc3BhY2UgdW5pdHRlc3RfaW1wb3J0ID0gcHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0Ii4KCggKAQgSAxUAHAoJCgIICRIDFQAcCggKAQgSAxYAHwoJCgIIHxIDFgAfCggKAQgSAxcAPgoJCgIIJRIDFwA+Ch8KAgMAEgMaADsaFCBUZXN0IHB1YmxpYyBpbXBvcnQKCgkKAgoAEgMaBw0KCgoCBAASBBwAHgEKCgoDBAABEgMcCBUKCwoEBAACABIDHQIXCgwKBQQAAgAEEgMdAgoKDAoFBAACAAUSAx0LEAoMCgUEAAIAARIDHRESCgwKBQQAAgADEgMdFRYKCgoCBQASBCAAJAEKCgoDBQABEgMgBQ8KCwoEBQACABIDIQIRCgwKBQUAAgABEgMhAgwKDAoFBQACAAISAyEPEAoLCgQFAAIBEgMiAhEKDAoFBQACAQESAyICDAoMCgUFAAIBAhIDIg8QCgsKBAUAAgISAyMCEQoMCgUFAAICARIDIwIMCgwKBQUAAgICEgMjDxAKSAoCBQESBCcAKwEaPCBUbyB1c2UgYW4gZW51bSBpbiBhIG1hcCwgaXQgbXVzdCBoYXMgdGhlIGZpcnN0IHZhbHVlIGFzIDAuCgoKCgMFAQESAycFFQoLCgQFAQIAEgMoAg4KDAoFBQECAAESAygCCQoMCgUFAQIAAhIDKAwNCgsKBAUBAgESAykCCgoMCgUFAQIBARIDKQIFCgwKBQUBAgECEgMpCAkKCwoEBQECAhIDKgIKCgwKBQUBAgIBEgMqAgUKDAoFBQECAgISAyoICVAACsPHBQocY3NoYXJwL3Byb3Rvcy91bml0dGVzdC5wcm90bxIYcHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yGiNjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2ltcG9ydC5wcm90byKRJAoMVGVzdEFsbFR5cGVzEiUKDm9wdGlvbmFsX2ludDMyGAEgASgFUg1vcHRpb25hbEludDMyEiUKDm9wdGlvbmFsX2ludDY0GAIgASgDUg1vcHRpb25hbEludDY0EicKD29wdGlvbmFsX3VpbnQzMhgDIAEoDVIOb3B0aW9uYWxVaW50MzISJwoPb3B0aW9uYWxfdWludDY0GAQgASgEUg5vcHRpb25hbFVpbnQ2NBInCg9vcHRpb25hbF9zaW50MzIYBSABKBFSDm9wdGlvbmFsU2ludDMyEicKD29wdGlvbmFsX3NpbnQ2NBgGIAEoElIOb3B0aW9uYWxTaW50NjQSKQoQb3B0aW9uYWxfZml4ZWQzMhgHIAEoB1IPb3B0aW9uYWxGaXhlZDMyEikKEG9wdGlvbmFsX2ZpeGVkNjQYCCABKAZSD29wdGlvbmFsRml4ZWQ2NBIrChFvcHRpb25hbF9zZml4ZWQzMhgJIAEoD1IQb3B0aW9uYWxTZml4ZWQzMhIrChFvcHRpb25hbF9zZml4ZWQ2NBgKIAEoEFIQb3B0aW9uYWxTZml4ZWQ2NBIlCg5vcHRpb25hbF9mbG9hdBgLIAEoAlINb3B0aW9uYWxGbG9hdBInCg9vcHRpb25hbF9kb3VibGUYDCABKAFSDm9wdGlvbmFsRG91YmxlEiMKDW9wdGlvbmFsX2Jvb2wYDSABKAhSDG9wdGlvbmFsQm9vbBInCg9vcHRpb25hbF9zdHJpbmcYDiABKAlSDm9wdGlvbmFsU3RyaW5nEiUKDm9wdGlvbmFsX2J5dGVzGA8gASgMUg1vcHRpb25hbEJ5dGVzEloKDW9wdGlvbmFsZ3JvdXAYECABKAoyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk9wdGlvbmFsR3JvdXBSDW9wdGlvbmFsZ3JvdXASbAoXb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2UYEiABKAsyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VSFW9wdGlvbmFsTmVzdGVkTWVzc2FnZRJiChhvcHRpb25hbF9mb3JlaWduX21lc3NhZ2UYEyABKAsyKC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbk1lc3NhZ2VSFm9wdGlvbmFsRm9yZWlnbk1lc3NhZ2USZgoXb3B0aW9uYWxfaW1wb3J0X21lc3NhZ2UYFCABKAsyLi5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnRfcHJvdG8yLkltcG9ydE1lc3NhZ2VSFW9wdGlvbmFsSW1wb3J0TWVzc2FnZRJjChRvcHRpb25hbF9uZXN0ZWRfZW51bRgVIAEoDjIxLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkRW51bVISb3B0aW9uYWxOZXN0ZWRFbnVtElkKFW9wdGlvbmFsX2ZvcmVpZ25fZW51bRgWIAEoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bVITb3B0aW9uYWxGb3JlaWduRW51bRJdChRvcHRpb25hbF9pbXBvcnRfZW51bRgXIAEoDjIrLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIuSW1wb3J0RW51bVISb3B0aW9uYWxJbXBvcnRFbnVtEjYKFW9wdGlvbmFsX3N0cmluZ19waWVjZRgYIAEoCUICCAJSE29wdGlvbmFsU3RyaW5nUGllY2USJwoNb3B0aW9uYWxfY29yZBgZIAEoCUICCAFSDG9wdGlvbmFsQ29yZBJ5Ch5vcHRpb25hbF9wdWJsaWNfaW1wb3J0X21lc3NhZ2UYGiABKAsyNC5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnRfcHJvdG8yLlB1YmxpY0ltcG9ydE1lc3NhZ2VSG29wdGlvbmFsUHVibGljSW1wb3J0TWVzc2FnZRJsChVvcHRpb25hbF9sYXp5X21lc3NhZ2UYGyABKAsyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VCAigBUhNvcHRpb25hbExhenlNZXNzYWdlEiUKDnJlcGVhdGVkX2ludDMyGB8gAygFUg1yZXBlYXRlZEludDMyEiUKDnJlcGVhdGVkX2ludDY0GCAgAygDUg1yZXBlYXRlZEludDY0EicKD3JlcGVhdGVkX3VpbnQzMhghIAMoDVIOcmVwZWF0ZWRVaW50MzISJwoPcmVwZWF0ZWRfdWludDY0GCIgAygEUg5yZXBlYXRlZFVpbnQ2NBInCg9yZXBlYXRlZF9zaW50MzIYIyADKBFSDnJlcGVhdGVkU2ludDMyEicKD3JlcGVhdGVkX3NpbnQ2NBgkIAMoElIOcmVwZWF0ZWRTaW50NjQSKQoQcmVwZWF0ZWRfZml4ZWQzMhglIAMoB1IPcmVwZWF0ZWRGaXhlZDMyEikKEHJlcGVhdGVkX2ZpeGVkNjQYJiADKAZSD3JlcGVhdGVkRml4ZWQ2NBIrChFyZXBlYXRlZF9zZml4ZWQzMhgnIAMoD1IQcmVwZWF0ZWRTZml4ZWQzMhIrChFyZXBlYXRlZF9zZml4ZWQ2NBgoIAMoEFIQcmVwZWF0ZWRTZml4ZWQ2NBIlCg5yZXBlYXRlZF9mbG9hdBgpIAMoAlINcmVwZWF0ZWRGbG9hdBInCg9yZXBlYXRlZF9kb3VibGUYKiADKAFSDnJlcGVhdGVkRG91YmxlEiMKDXJlcGVhdGVkX2Jvb2wYKyADKAhSDHJlcGVhdGVkQm9vbBInCg9yZXBlYXRlZF9zdHJpbmcYLCADKAlSDnJlcGVhdGVkU3RyaW5nEiUKDnJlcGVhdGVkX2J5dGVzGC0gAygMUg1yZXBlYXRlZEJ5dGVzEloKDXJlcGVhdGVkZ3JvdXAYLiADKAoyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLlJlcGVhdGVkR3JvdXBSDXJlcGVhdGVkZ3JvdXASbAoXcmVwZWF0ZWRfbmVzdGVkX21lc3NhZ2UYMCADKAsyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VSFXJlcGVhdGVkTmVzdGVkTWVzc2FnZRJiChhyZXBlYXRlZF9mb3JlaWduX21lc3NhZ2UYMSADKAsyKC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbk1lc3NhZ2VSFnJlcGVhdGVkRm9yZWlnbk1lc3NhZ2USZgoXcmVwZWF0ZWRfaW1wb3J0X21lc3NhZ2UYMiADKAsyLi5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnRfcHJvdG8yLkltcG9ydE1lc3NhZ2VSFXJlcGVhdGVkSW1wb3J0TWVzc2FnZRJjChRyZXBlYXRlZF9uZXN0ZWRfZW51bRgzIAMoDjIxLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkRW51bVIScmVwZWF0ZWROZXN0ZWRFbnVtElkKFXJlcGVhdGVkX2ZvcmVpZ25fZW51bRg0IAMoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bVITcmVwZWF0ZWRGb3JlaWduRW51bRJdChRyZXBlYXRlZF9pbXBvcnRfZW51bRg1IAMoDjIrLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIuSW1wb3J0RW51bVIScmVwZWF0ZWRJbXBvcnRFbnVtEjYKFXJlcGVhdGVkX3N0cmluZ19waWVjZRg2IAMoCUICCAJSE3JlcGVhdGVkU3RyaW5nUGllY2USJwoNcmVwZWF0ZWRfY29yZBg3IAMoCUICCAFSDHJlcGVhdGVkQ29yZBJsChVyZXBlYXRlZF9sYXp5X21lc3NhZ2UYOSADKAsyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VCAigBUhNyZXBlYXRlZExhenlNZXNzYWdlEicKDWRlZmF1bHRfaW50MzIYPSABKAU6AjQxUgxkZWZhdWx0SW50MzISJwoNZGVmYXVsdF9pbnQ2NBg+IAEoAzoCNDJSDGRlZmF1bHRJbnQ2NBIpCg5kZWZhdWx0X3VpbnQzMhg/IAEoDToCNDNSDWRlZmF1bHRVaW50MzISKQoOZGVmYXVsdF91aW50NjQYQCABKAQ6AjQ0Ug1kZWZhdWx0VWludDY0EioKDmRlZmF1bHRfc2ludDMyGEEgASgROgMtNDVSDWRlZmF1bHRTaW50MzISKQoOZGVmYXVsdF9zaW50NjQYQiABKBI6AjQ2Ug1kZWZhdWx0U2ludDY0EisKD2RlZmF1bHRfZml4ZWQzMhhDIAEoBzoCNDdSDmRlZmF1bHRGaXhlZDMyEisKD2RlZmF1bHRfZml4ZWQ2NBhEIAEoBjoCNDhSDmRlZmF1bHRGaXhlZDY0Ei0KEGRlZmF1bHRfc2ZpeGVkMzIYRSABKA86AjQ5Ug9kZWZhdWx0U2ZpeGVkMzISLgoQZGVmYXVsdF9zZml4ZWQ2NBhGIAEoEDoDLTUwUg9kZWZhdWx0U2ZpeGVkNjQSKQoNZGVmYXVsdF9mbG9hdBhHIAEoAjoENTEuNVIMZGVmYXVsdEZsb2F0EiwKDmRlZmF1bHRfZG91YmxlGEggASgBOgU1MjAwMFINZGVmYXVsdERvdWJsZRInCgxkZWZhdWx0X2Jvb2wYSSABKAg6BHRydWVSC2RlZmF1bHRCb29sEiwKDmRlZmF1bHRfc3RyaW5nGEogASgJOgVoZWxsb1INZGVmYXVsdFN0cmluZxIqCg1kZWZhdWx0X2J5dGVzGEsgASgMOgV3b3JsZFIMZGVmYXVsdEJ5dGVzEmYKE2RlZmF1bHRfbmVzdGVkX2VudW0YUSABKA4yMS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZEVudW06A0JBUlIRZGVmYXVsdE5lc3RlZEVudW0SZAoUZGVmYXVsdF9mb3JlaWduX2VudW0YUiABKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW06C0ZPUkVJR05fQkFSUhJkZWZhdWx0Rm9yZWlnbkVudW0SZwoTZGVmYXVsdF9pbXBvcnRfZW51bRhTIAEoDjIrLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIuSW1wb3J0RW51bToKSU1QT1JUX0JBUlIRZGVmYXVsdEltcG9ydEVudW0SOQoUZGVmYXVsdF9zdHJpbmdfcGllY2UYVCABKAk6A2FiY0ICCAJSEmRlZmF1bHRTdHJpbmdQaWVjZRIqCgxkZWZhdWx0X2NvcmQYVSABKAk6AzEyM0ICCAFSC2RlZmF1bHRDb3JkEiMKDG9uZW9mX3VpbnQzMhhvIAEoDUgAUgtvbmVvZlVpbnQzMhJoChRvbmVvZl9uZXN0ZWRfbWVzc2FnZRhwIAEoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZUgAUhJvbmVvZk5lc3RlZE1lc3NhZ2USIwoMb25lb2Zfc3RyaW5nGHEgASgJSABSC29uZW9mU3RyaW5nEiEKC29uZW9mX2J5dGVzGHIgASgMSABSCm9uZW9mQnl0ZXMaHwoNTmVzdGVkTWVzc2FnZRIOCgJiYhgBIAEoBVICYmIaHQoNT3B0aW9uYWxHcm91cBIMCgFhGBEgASgFUgFhGh0KDVJlcGVhdGVkR3JvdXASDAoBYRgvIAEoBVIBYSI5CgpOZXN0ZWRFbnVtEgcKA0ZPTxABEgcKA0JBUhACEgcKA0JBWhADEhAKA05FRxD///////////8BQg0KC29uZW9mX2ZpZWxkIu8BChJOZXN0ZWRUZXN0QWxsVHlwZXMSQgoFY2hpbGQYASABKAsyLC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuTmVzdGVkVGVzdEFsbFR5cGVzUgVjaGlsZBJACgdwYXlsb2FkGAIgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IHcGF5bG9hZBJTCg5yZXBlYXRlZF9jaGlsZBgDIAMoCzIsLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5OZXN0ZWRUZXN0QWxsVHlwZXNSDXJlcGVhdGVkQ2hpbGQilgEKFFRlc3REZXByZWNhdGVkRmllbGRzEi0KEGRlcHJlY2F0ZWRfaW50MzIYASABKAVCAhgBUg9kZXByZWNhdGVkSW50MzISPwoZZGVwcmVjYXRlZF9pbnQzMl9pbl9vbmVvZhgCIAEoBUICGAFIAFIWZGVwcmVjYXRlZEludDMySW5PbmVvZkIOCgxvbmVvZl9maWVsZHMiGwoVVGVzdERlcHJlY2F0ZWRNZXNzYWdlOgIYASIsCg5Gb3JlaWduTWVzc2FnZRIMCgFjGAEgASgFUgFjEgwKAWQYAiABKAVSAWQiMAoSVGVzdFJlc2VydmVkRmllbGRzSgQIAhADSgQIDxAQSgQICRAMUgNiYXJSA2JheiIdChFUZXN0QWxsRXh0ZW5zaW9ucyoICAEQgICAgAIiJwoXT3B0aW9uYWxHcm91cF9leHRlbnNpb24SDAoBYRgRIAEoBVIBYSInChdSZXBlYXRlZEdyb3VwX2V4dGVuc2lvbhIMCgFhGC8gASgFUgFhIt4BCglUZXN0R3JvdXASVwoNb3B0aW9uYWxncm91cBgQIAEoCjIxLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0R3JvdXAuT3B0aW9uYWxHcm91cFINb3B0aW9uYWxncm91cBJZChVvcHRpb25hbF9mb3JlaWduX2VudW0YFiABKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW1SE29wdGlvbmFsRm9yZWlnbkVudW0aHQoNT3B0aW9uYWxHcm91cBIMCgFhGBEgASgFUgFhIh4KElRlc3RHcm91cEV4dGVuc2lvbioICAEQgICAgAIiuAQKE1Rlc3ROZXN0ZWRFeHRlbnNpb24aJwoXT3B0aW9uYWxHcm91cF9leHRlbnNpb24SDAoBYRgRIAEoBVIBYTJGCgR0ZXN0EisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGOoHIAEoCToEdGVzdFIEdGVzdDJkChduZXN0ZWRfc3RyaW5nX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxjrByABKAlSFW5lc3RlZFN0cmluZ0V4dGVuc2lvbjKsAQoXb3B0aW9uYWxncm91cF9leHRlbnNpb24SLC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEdyb3VwRXh0ZW5zaW9uGBAgASgKMkUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3ROZXN0ZWRFeHRlbnNpb24uT3B0aW9uYWxHcm91cF9leHRlbnNpb25SFm9wdGlvbmFsZ3JvdXBFeHRlbnNpb24ymgEKH29wdGlvbmFsX2ZvcmVpZ25fZW51bV9leHRlbnNpb24SLC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEdyb3VwRXh0ZW5zaW9uGBYgASgOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtUhxvcHRpb25hbEZvcmVpZ25FbnVtRXh0ZW5zaW9uIpAICgxUZXN0UmVxdWlyZWQSDAoBYRgBIAIoBVIBYRIWCgZkdW1teTIYAiABKAVSBmR1bW15MhIMCgFiGAMgAigFUgFiEhYKBmR1bW15NBgEIAEoBVIGZHVtbXk0EhYKBmR1bW15NRgFIAEoBVIGZHVtbXk1EhYKBmR1bW15NhgGIAEoBVIGZHVtbXk2EhYKBmR1bW15NxgHIAEoBVIGZHVtbXk3EhYKBmR1bW15OBgIIAEoBVIGZHVtbXk4EhYKBmR1bW15ORgJIAEoBVIGZHVtbXk5EhgKB2R1bW15MTAYCiABKAVSB2R1bW15MTASGAoHZHVtbXkxMRgLIAEoBVIHZHVtbXkxMRIYCgdkdW1teTEyGAwgASgFUgdkdW1teTEyEhgKB2R1bW15MTMYDSABKAVSB2R1bW15MTMSGAoHZHVtbXkxNBgOIAEoBVIHZHVtbXkxNBIYCgdkdW1teTE1GA8gASgFUgdkdW1teTE1EhgKB2R1bW15MTYYECABKAVSB2R1bW15MTYSGAoHZHVtbXkxNxgRIAEoBVIHZHVtbXkxNxIYCgdkdW1teTE4GBIgASgFUgdkdW1teTE4EhgKB2R1bW15MTkYEyABKAVSB2R1bW15MTkSGAoHZHVtbXkyMBgUIAEoBVIHZHVtbXkyMBIYCgdkdW1teTIxGBUgASgFUgdkdW1teTIxEhgKB2R1bW15MjIYFiABKAVSB2R1bW15MjISGAoHZHVtbXkyMxgXIAEoBVIHZHVtbXkyMxIYCgdkdW1teTI0GBggASgFUgdkdW1teTI0EhgKB2R1bW15MjUYGSABKAVSB2R1bW15MjUSGAoHZHVtbXkyNhgaIAEoBVIHZHVtbXkyNhIYCgdkdW1teTI3GBsgASgFUgdkdW1teTI3EhgKB2R1bW15MjgYHCABKAVSB2R1bW15MjgSGAoHZHVtbXkyORgdIAEoBVIHZHVtbXkyORIYCgdkdW1teTMwGB4gASgFUgdkdW1teTMwEhgKB2R1bW15MzEYHyABKAVSB2R1bW15MzESGAoHZHVtbXkzMhggIAEoBVIHZHVtbXkzMhIMCgFjGCEgAigFUgFjMmwKBnNpbmdsZRIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxjoByABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFJlcXVpcmVkUgZzaW5nbGUyagoFbXVsdGkSKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMY6QcgAygLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RSZXF1aXJlZFIFbXVsdGki0QEKE1Rlc3RSZXF1aXJlZEZvcmVpZ24SUQoQb3B0aW9uYWxfbWVzc2FnZRgBIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UmVxdWlyZWRSD29wdGlvbmFsTWVzc2FnZRJRChByZXBlYXRlZF9tZXNzYWdlGAIgAygLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RSZXF1aXJlZFIPcmVwZWF0ZWRNZXNzYWdlEhQKBWR1bW15GAMgASgFUgVkdW1teSKOAgoTVGVzdFJlcXVpcmVkTWVzc2FnZRJRChBvcHRpb25hbF9tZXNzYWdlGAEgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RSZXF1aXJlZFIPb3B0aW9uYWxNZXNzYWdlElEKEHJlcGVhdGVkX21lc3NhZ2UYAiADKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFJlcXVpcmVkUg9yZXBlYXRlZE1lc3NhZ2USUQoQcmVxdWlyZWRfbWVzc2FnZRgDIAIoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UmVxdWlyZWRSD3JlcXVpcmVkTWVzc2FnZSJwChFUZXN0Rm9yZWlnbk5lc3RlZBJbCg5mb3JlaWduX25lc3RlZBgBIAEoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZVINZm9yZWlnbk5lc3RlZCISChBUZXN0RW1wdHlNZXNzYWdlIioKHlRlc3RFbXB0eU1lc3NhZ2VXaXRoRXh0ZW5zaW9ucyoICAEQgICAgAIiNwobVGVzdE11bHRpcGxlRXh0ZW5zaW9uUmFuZ2VzKgQIKhArKgYIryAQlCEqCgiAgAQQgICAgAIiOwoYVGVzdFJlYWxseUxhcmdlVGFnTnVtYmVyEgwKAWEYASABKAVSAWESEQoCYmIY////fyABKAVSAmJiImIKFFRlc3RSZWN1cnNpdmVNZXNzYWdlEjwKAWEYASABKAsyLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFJlY3Vyc2l2ZU1lc3NhZ2VSAWESDAoBaRgCIAEoBVIBaSKvAwoUVGVzdE11dHVhbFJlY3Vyc2lvbkESPgoCYmIYASABKAsyLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdE11dHVhbFJlY3Vyc2lvbkJSAmJiElMKCHN1Ymdyb3VwGAIgASgKMjcucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RNdXR1YWxSZWN1cnNpb25BLlN1Ykdyb3VwUghzdWJncm91cBpKCgpTdWJNZXNzYWdlEjwKAWIYASABKAsyLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdE11dHVhbFJlY3Vyc2lvbkJSAWIatQEKCFN1Ykdyb3VwEloKC3N1Yl9tZXNzYWdlGAMgASgLMjkucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RNdXR1YWxSZWN1cnNpb25BLlN1Yk1lc3NhZ2VSCnN1Yk1lc3NhZ2USTQoPbm90X2luX3RoaXNfc2NjGAQgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IMbm90SW5UaGlzU2NjInsKFFRlc3RNdXR1YWxSZWN1cnNpb25CEjwKAWEYASABKAsyLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdE11dHVhbFJlY3Vyc2lvbkFSAWESJQoOb3B0aW9uYWxfaW50MzIYAiABKAVSDW9wdGlvbmFsSW50MzIi8gEKEVRlc3RJc0luaXRpYWxpemVkElcKC3N1Yl9tZXNzYWdlGAEgASgLMjYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RJc0luaXRpYWxpemVkLlN1Yk1lc3NhZ2VSCnN1Yk1lc3NhZ2UagwEKClN1Yk1lc3NhZ2USWwoIc3ViZ3JvdXAYASABKAoyPy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdElzSW5pdGlhbGl6ZWQuU3ViTWVzc2FnZS5TdWJHcm91cFIIc3ViZ3JvdXAaGAoIU3ViR3JvdXASDAoBaRgCIAIoBVIBaSLUAQoSVGVzdER1cEZpZWxkTnVtYmVyEgwKAWEYASABKAVSAWESQgoDZm9vGAIgASgKMjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3REdXBGaWVsZE51bWJlci5Gb29SA2ZvbxJCCgNiYXIYAyABKAoyMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdER1cEZpZWxkTnVtYmVyLkJhclIDYmFyGhMKA0ZvbxIMCgFhGAEgASgFUgFhGhMKA0JhchIMCgFhGAEgASgFUgFhIl8KEFRlc3RFYWdlck1lc3NhZ2USSwoLc3ViX21lc3NhZ2UYASABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzQgIoAFIKc3ViTWVzc2FnZSJeCg9UZXN0TGF6eU1lc3NhZ2USSwoLc3ViX21lc3NhZ2UYASABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzQgIoAVIKc3ViTWVzc2FnZSLmAgoYVGVzdE5lc3RlZE1lc3NhZ2VIYXNCaXRzEngKF29wdGlvbmFsX25lc3RlZF9tZXNzYWdlGAEgASgLMkAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3ROZXN0ZWRNZXNzYWdlSGFzQml0cy5OZXN0ZWRNZXNzYWdlUhVvcHRpb25hbE5lc3RlZE1lc3NhZ2UazwEKDU5lc3RlZE1lc3NhZ2USQAocbmVzdGVkbWVzc2FnZV9yZXBlYXRlZF9pbnQzMhgBIAMoBVIabmVzdGVkbWVzc2FnZVJlcGVhdGVkSW50MzISfAolbmVzdGVkbWVzc2FnZV9yZXBlYXRlZF9mb3JlaWdubWVzc2FnZRgCIAMoCzIoLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduTWVzc2FnZVIjbmVzdGVkbWVzc2FnZVJlcGVhdGVkRm9yZWlnbm1lc3NhZ2Ui1wUKF1Rlc3RDYW1lbENhc2VGaWVsZE5hbWVzEiYKDlByaW1pdGl2ZUZpZWxkGAEgASgFUg5QcmltaXRpdmVGaWVsZBIgCgtTdHJpbmdGaWVsZBgCIAEoCVILU3RyaW5nRmllbGQSQwoJRW51bUZpZWxkGAMgASgOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtUglFbnVtRmllbGQSTAoMTWVzc2FnZUZpZWxkGAQgASgLMigucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25NZXNzYWdlUgxNZXNzYWdlRmllbGQSLgoQU3RyaW5nUGllY2VGaWVsZBgFIAEoCUICCAJSEFN0cmluZ1BpZWNlRmllbGQSIAoJQ29yZEZpZWxkGAYgASgJQgIIAVIJQ29yZEZpZWxkEjYKFlJlcGVhdGVkUHJpbWl0aXZlRmllbGQYByADKAVSFlJlcGVhdGVkUHJpbWl0aXZlRmllbGQSMAoTUmVwZWF0ZWRTdHJpbmdGaWVsZBgIIAMoCVITUmVwZWF0ZWRTdHJpbmdGaWVsZBJTChFSZXBlYXRlZEVudW1GaWVsZBgJIAMoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bVIRUmVwZWF0ZWRFbnVtRmllbGQSXAoUUmVwZWF0ZWRNZXNzYWdlRmllbGQYCiADKAsyKC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbk1lc3NhZ2VSFFJlcGVhdGVkTWVzc2FnZUZpZWxkEj4KGFJlcGVhdGVkU3RyaW5nUGllY2VGaWVsZBgLIAMoCUICCAJSGFJlcGVhdGVkU3RyaW5nUGllY2VGaWVsZBIwChFSZXBlYXRlZENvcmRGaWVsZBgMIAMoCUICCAFSEVJlcGVhdGVkQ29yZEZpZWxkIpUCChJUZXN0RmllbGRPcmRlcmluZ3MSGwoJbXlfc3RyaW5nGAsgASgJUghteVN0cmluZxIVCgZteV9pbnQYASABKANSBW15SW50EhkKCG15X2Zsb2F0GGUgASgCUgdteUZsb2F0EnMKF29wdGlvbmFsX25lc3RlZF9tZXNzYWdlGMgBIAEoCzI6LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RmllbGRPcmRlcmluZ3MuTmVzdGVkTWVzc2FnZVIVb3B0aW9uYWxOZXN0ZWRNZXNzYWdlGi8KDU5lc3RlZE1lc3NhZ2USDgoCb28YAiABKANSAm9vEg4KAmJiGAEgASgFUgJiYioECAIQCyoECAwQZSLIAQoXVGVzdEV4dGVuc2lvbk9yZGVyaW5nczESGwoJbXlfc3RyaW5nGAEgASgJUghteVN0cmluZzKPAQoTdGVzdF9leHRfb3JkZXJpbmdzMRIsLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RmllbGRPcmRlcmluZ3MYDSABKAsyMS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEV4dGVuc2lvbk9yZGVyaW5nczFSEXRlc3RFeHRPcmRlcmluZ3MxIqsDChdUZXN0RXh0ZW5zaW9uT3JkZXJpbmdzMhIbCglteV9zdHJpbmcYASABKAlSCG15U3RyaW5nGuABChdUZXN0RXh0ZW5zaW9uT3JkZXJpbmdzMxIbCglteV9zdHJpbmcYASABKAlSCG15U3RyaW5nMqcBChN0ZXN0X2V4dF9vcmRlcmluZ3MzEiwucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RGaWVsZE9yZGVyaW5ncxgOIAEoCzJJLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RXh0ZW5zaW9uT3JkZXJpbmdzMi5UZXN0RXh0ZW5zaW9uT3JkZXJpbmdzM1IRdGVzdEV4dE9yZGVyaW5nczMyjwEKE3Rlc3RfZXh0X29yZGVyaW5nczISLC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEZpZWxkT3JkZXJpbmdzGAwgASgLMjEucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RFeHRlbnNpb25PcmRlcmluZ3MyUhF0ZXN0RXh0T3JkZXJpbmdzMiKvCgoYVGVzdEV4dHJlbWVEZWZhdWx0VmFsdWVzEk0KDWVzY2FwZWRfYnl0ZXMYASABKAw6KFwwMDBcMDAxXDAwN1wwMTBcMDE0XG5cclx0XDAxM1xcXCdcIlwzNzZSDGVzY2FwZWRCeXRlcxItCgxsYXJnZV91aW50MzIYAiABKA06CjQyOTQ5NjcyOTVSC2xhcmdlVWludDMyEjcKDGxhcmdlX3VpbnQ2NBgDIAEoBDoUMTg0NDY3NDQwNzM3MDk1NTE2MTVSC2xhcmdlVWludDY0EiwKC3NtYWxsX2ludDMyGAQgASgFOgstMjE0NzQ4MzY0N1IKc21hbGxJbnQzMhI1CgtzbWFsbF9pbnQ2NBgFIAEoAzoULTkyMjMzNzIwMzY4NTQ3NzU4MDdSCnNtYWxsSW50NjQSOQoScmVhbGx5X3NtYWxsX2ludDMyGBUgASgFOgstMjE0NzQ4MzY0OFIQcmVhbGx5U21hbGxJbnQzMhJCChJyZWFsbHlfc21hbGxfaW50NjQYFiABKAM6FC05MjIzMzcyMDM2ODU0Nzc1ODA4UhByZWFsbHlTbWFsbEludDY0EiQKC3V0Zjhfc3RyaW5nGAYgASgJOgPhiLRSCnV0ZjhTdHJpbmcSIAoKemVyb19mbG9hdBgHIAEoAjoBMFIJemVyb0Zsb2F0Eh4KCW9uZV9mbG9hdBgIIAEoAjoBMVIIb25lRmxvYXQSJAoLc21hbGxfZmxvYXQYCSABKAI6AzEuNVIKc21hbGxGbG9hdBIwChJuZWdhdGl2ZV9vbmVfZmxvYXQYCiABKAI6Ai0xUhBuZWdhdGl2ZU9uZUZsb2F0EisKDm5lZ2F0aXZlX2Zsb2F0GAsgASgCOgQtMS41Ug1uZWdhdGl2ZUZsb2F0EiYKC2xhcmdlX2Zsb2F0GAwgASgCOgUyZSswOFIKbGFyZ2VGbG9hdBI4ChRzbWFsbF9uZWdhdGl2ZV9mbG9hdBgNIAEoAjoGLThlLTI4UhJzbWFsbE5lZ2F0aXZlRmxvYXQSIgoKaW5mX2RvdWJsZRgOIAEoAToDaW5mUglpbmZEb3VibGUSKgoObmVnX2luZl9kb3VibGUYDyABKAE6BC1pbmZSDG5lZ0luZkRvdWJsZRIiCgpuYW5fZG91YmxlGBAgASgBOgNuYW5SCW5hbkRvdWJsZRIgCglpbmZfZmxvYXQYESABKAI6A2luZlIIaW5mRmxvYXQSKAoNbmVnX2luZl9mbG9hdBgSIAEoAjoELWluZlILbmVnSW5mRmxvYXQSIAoJbmFuX2Zsb2F0GBMgASgCOgNuYW5SCG5hbkZsb2F0EjgKDGNwcF90cmlncmFwaBgUIAEoCToVPyA/ID8/ID8/ID8/PyA/Py8gPz8tUgtjcHBUcmlncmFwaBIwChBzdHJpbmdfd2l0aF96ZXJvGBcgASgJOgZoZWwAbG9SDnN0cmluZ1dpdGhaZXJvEjEKD2J5dGVzX3dpdGhfemVybxgYIAEoDDoJd29yXDAwMGxkUg1ieXRlc1dpdGhaZXJvEj0KFnN0cmluZ19waWVjZV93aXRoX3plcm8YGSABKAk6BGFiAGNCAggCUhNzdHJpbmdQaWVjZVdpdGhaZXJvEi4KDmNvcmRfd2l0aF96ZXJvGBogASgJOgQxMgAzQgIIAVIMY29yZFdpdGhaZXJvEjkKEnJlcGxhY2VtZW50X3N0cmluZxgbIAEoCToKJHt1bmtub3dufVIRcmVwbGFjZW1lbnRTdHJpbmciXgoRU3BhcnNlRW51bU1lc3NhZ2USSQoLc3BhcnNlX2VudW0YASABKA4yKC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFNwYXJzZUVudW1SCnNwYXJzZUVudW0iHwoJT25lU3RyaW5nEhIKBGRhdGEYASABKAlSBGRhdGEiIAoKTW9yZVN0cmluZxISCgRkYXRhGAEgAygJUgRkYXRhIh4KCE9uZUJ5dGVzEhIKBGRhdGEYASABKAxSBGRhdGEiHwoJTW9yZUJ5dGVzEhIKBGRhdGEYASADKAxSBGRhdGEiIgoMSW50MzJNZXNzYWdlEhIKBGRhdGEYASABKAVSBGRhdGEiIwoNVWludDMyTWVzc2FnZRISCgRkYXRhGAEgASgNUgRkYXRhIiIKDEludDY0TWVzc2FnZRISCgRkYXRhGAEgASgDUgRkYXRhIiMKDVVpbnQ2NE1lc3NhZ2USEgoEZGF0YRgBIAEoBFIEZGF0YSIhCgtCb29sTWVzc2FnZRISCgRkYXRhGAEgASgIUgRkYXRhIo0CCglUZXN0T25lb2YSGQoHZm9vX2ludBgBIAEoBUgAUgZmb29JbnQSHwoKZm9vX3N0cmluZxgCIAEoCUgAUglmb29TdHJpbmcSSQoLZm9vX21lc3NhZ2UYAyABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzSABSCmZvb01lc3NhZ2USSgoIZm9vZ3JvdXAYBCABKAoyLC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdE9uZW9mLkZvb0dyb3VwSABSCGZvb2dyb3VwGiYKCEZvb0dyb3VwEgwKAWEYBSABKAVSAWESDAoBYhgGIAEoCVIBYkIFCgNmb28ipAIKHFRlc3RPbmVvZkJhY2t3YXJkc0NvbXBhdGlibGUSFwoHZm9vX2ludBgBIAEoBVIGZm9vSW50Eh0KCmZvb19zdHJpbmcYAiABKAlSCWZvb1N0cmluZxJHCgtmb29fbWVzc2FnZRgDIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSCmZvb01lc3NhZ2USWwoIZm9vZ3JvdXAYBCABKAoyPy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdE9uZW9mQmFja3dhcmRzQ29tcGF0aWJsZS5Gb29Hcm91cFIIZm9vZ3JvdXAaJgoIRm9vR3JvdXASDAoBYRgFIAEoBVIBYRIMCgFiGAYgASgJUgFiIpAICgpUZXN0T25lb2YyEhkKB2Zvb19pbnQYASABKAVIAFIGZm9vSW50Eh8KCmZvb19zdHJpbmcYAiABKAlIAFIJZm9vU3RyaW5nEh8KCGZvb19jb3JkGAMgASgJQgIIAUgAUgdmb29Db3JkEi4KEGZvb19zdHJpbmdfcGllY2UYBCABKAlCAggCSABSDmZvb1N0cmluZ1BpZWNlEh0KCWZvb19ieXRlcxgFIAEoDEgAUghmb29CeXRlcxJMCghmb29fZW51bRgGIAEoDjIvLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0T25lb2YyLk5lc3RlZEVudW1IAFIHZm9vRW51bRJVCgtmb29fbWVzc2FnZRgHIAEoCzIyLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0T25lb2YyLk5lc3RlZE1lc3NhZ2VIAFIKZm9vTWVzc2FnZRJLCghmb29ncm91cBgIIAEoCjItLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0T25lb2YyLkZvb0dyb3VwSABSCGZvb2dyb3VwEmIKEGZvb19sYXp5X21lc3NhZ2UYCyABKAsyMi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdE9uZW9mMi5OZXN0ZWRNZXNzYWdlQgIoAUgAUg5mb29MYXp5TWVzc2FnZRIcCgdiYXJfaW50GAwgASgFOgE1SAFSBmJhckludBInCgpiYXJfc3RyaW5nGA0gASgJOgZTVFJJTkdIAVIJYmFyU3RyaW5nEiUKCGJhcl9jb3JkGA4gASgJOgRDT1JEQgIIAUgBUgdiYXJDb3JkEjYKEGJhcl9zdHJpbmdfcGllY2UYDyABKAk6BlNQSUVDRUICCAJIAVIOYmFyU3RyaW5nUGllY2USJAoJYmFyX2J5dGVzGBAgASgMOgVCWVRFU0gBUghiYXJCeXRlcxJRCghiYXJfZW51bRgRIAEoDjIvLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0T25lb2YyLk5lc3RlZEVudW06A0JBUkgBUgdiYXJFbnVtEhcKB2Jhel9pbnQYEiABKAVSBmJhekludBIiCgpiYXpfc3RyaW5nGBMgASgJOgNCQVpSCWJhelN0cmluZxomCghGb29Hcm91cBIMCgFhGAkgASgFUgFhEgwKAWIYCiABKAlSAWIaRQoNTmVzdGVkTWVzc2FnZRIXCgdxdXhfaW50GAEgASgDUgZxdXhJbnQSGwoJY29yZ2VfaW50GAIgAygFUghjb3JnZUludCInCgpOZXN0ZWRFbnVtEgcKA0ZPTxABEgcKA0JBUhACEgcKA0JBWhADQgUKA2Zvb0IFCgNiYXIi7gEKEVRlc3RSZXF1aXJlZE9uZW9mEhkKB2Zvb19pbnQYASABKAVIAFIGZm9vSW50Eh8KCmZvb19zdHJpbmcYAiABKAlIAFIJZm9vU3RyaW5nElwKC2Zvb19tZXNzYWdlGAMgASgLMjkucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RSZXF1aXJlZE9uZW9mLk5lc3RlZE1lc3NhZ2VIAFIKZm9vTWVzc2FnZRo4Cg1OZXN0ZWRNZXNzYWdlEicKD3JlcXVpcmVkX2RvdWJsZRgBIAIoAVIOcmVxdWlyZWREb3VibGVCBQoDZm9vIoACCg9UZXN0UmVxdWlyZWRNYXASRAoDZm9vGAEgAygLMjIucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RSZXF1aXJlZE1hcC5Gb29FbnRyeVIDZm9vGm8KCEZvb0VudHJ5EhAKA2tleRgBIAEoBVIDa2V5Ek0KBXZhbHVlGAIgASgLMjcucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RSZXF1aXJlZE1hcC5OZXN0ZWRNZXNzYWdlUgV2YWx1ZToCOAEaNgoNTmVzdGVkTWVzc2FnZRIlCg5yZXF1aXJlZF9pbnQzMhgBIAIoBVINcmVxdWlyZWRJbnQzMiL0BAoPVGVzdFBhY2tlZFR5cGVzEiUKDHBhY2tlZF9pbnQzMhhaIAMoBUICEAFSC3BhY2tlZEludDMyEiUKDHBhY2tlZF9pbnQ2NBhbIAMoA0ICEAFSC3BhY2tlZEludDY0EicKDXBhY2tlZF91aW50MzIYXCADKA1CAhABUgxwYWNrZWRVaW50MzISJwoNcGFja2VkX3VpbnQ2NBhdIAMoBEICEAFSDHBhY2tlZFVpbnQ2NBInCg1wYWNrZWRfc2ludDMyGF4gAygRQgIQAVIMcGFja2VkU2ludDMyEicKDXBhY2tlZF9zaW50NjQYXyADKBJCAhABUgxwYWNrZWRTaW50NjQSKQoOcGFja2VkX2ZpeGVkMzIYYCADKAdCAhABUg1wYWNrZWRGaXhlZDMyEikKDnBhY2tlZF9maXhlZDY0GGEgAygGQgIQAVINcGFja2VkRml4ZWQ2NBIrCg9wYWNrZWRfc2ZpeGVkMzIYYiADKA9CAhABUg5wYWNrZWRTZml4ZWQzMhIrCg9wYWNrZWRfc2ZpeGVkNjQYYyADKBBCAhABUg5wYWNrZWRTZml4ZWQ2NBIlCgxwYWNrZWRfZmxvYXQYZCADKAJCAhABUgtwYWNrZWRGbG9hdBInCg1wYWNrZWRfZG91YmxlGGUgAygBQgIQAVIMcGFja2VkRG91YmxlEiMKC3BhY2tlZF9ib29sGGYgAygIQgIQAVIKcGFja2VkQm9vbBJKCgtwYWNrZWRfZW51bRhnIAMoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bUICEAFSCnBhY2tlZEVudW0irgUKEVRlc3RVbnBhY2tlZFR5cGVzEikKDnVucGFja2VkX2ludDMyGFogAygFQgIQAFINdW5wYWNrZWRJbnQzMhIpCg51bnBhY2tlZF9pbnQ2NBhbIAMoA0ICEABSDXVucGFja2VkSW50NjQSKwoPdW5wYWNrZWRfdWludDMyGFwgAygNQgIQAFIOdW5wYWNrZWRVaW50MzISKwoPdW5wYWNrZWRfdWludDY0GF0gAygEQgIQAFIOdW5wYWNrZWRVaW50NjQSKwoPdW5wYWNrZWRfc2ludDMyGF4gAygRQgIQAFIOdW5wYWNrZWRTaW50MzISKwoPdW5wYWNrZWRfc2ludDY0GF8gAygSQgIQAFIOdW5wYWNrZWRTaW50NjQSLQoQdW5wYWNrZWRfZml4ZWQzMhhgIAMoB0ICEABSD3VucGFja2VkRml4ZWQzMhItChB1bnBhY2tlZF9maXhlZDY0GGEgAygGQgIQAFIPdW5wYWNrZWRGaXhlZDY0Ei8KEXVucGFja2VkX3NmaXhlZDMyGGIgAygPQgIQAFIQdW5wYWNrZWRTZml4ZWQzMhIvChF1bnBhY2tlZF9zZml4ZWQ2NBhjIAMoEEICEABSEHVucGFja2VkU2ZpeGVkNjQSKQoOdW5wYWNrZWRfZmxvYXQYZCADKAJCAhAAUg11bnBhY2tlZEZsb2F0EisKD3VucGFja2VkX2RvdWJsZRhlIAMoAUICEABSDnVucGFja2VkRG91YmxlEicKDXVucGFja2VkX2Jvb2wYZiADKAhCAhAAUgx1bnBhY2tlZEJvb2wSTgoNdW5wYWNrZWRfZW51bRhnIAMoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bUICEABSDHVucGFja2VkRW51bSIgChRUZXN0UGFja2VkRXh0ZW5zaW9ucyoICAEQgICAgAIiIgoWVGVzdFVucGFja2VkRXh0ZW5zaW9ucyoICAEQgICAgAIiyAUKFVRlc3REeW5hbWljRXh0ZW5zaW9ucxIqChBzY2FsYXJfZXh0ZW5zaW9uGNAPIAEoB1IPc2NhbGFyRXh0ZW5zaW9uEk0KDmVudW1fZXh0ZW5zaW9uGNEPIAEoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bVINZW51bUV4dGVuc2lvbhJ2ChZkeW5hbWljX2VudW1fZXh0ZW5zaW9uGNIPIAEoDjI/LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RHluYW1pY0V4dGVuc2lvbnMuRHluYW1pY0VudW1UeXBlUhRkeW5hbWljRW51bUV4dGVuc2lvbhJWChFtZXNzYWdlX2V4dGVuc2lvbhjTDyABKAsyKC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbk1lc3NhZ2VSEG1lc3NhZ2VFeHRlbnNpb24SfwoZZHluYW1pY19tZXNzYWdlX2V4dGVuc2lvbhjUDyABKAsyQi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdER5bmFtaWNFeHRlbnNpb25zLkR5bmFtaWNNZXNzYWdlVHlwZVIXZHluYW1pY01lc3NhZ2VFeHRlbnNpb24SLgoScmVwZWF0ZWRfZXh0ZW5zaW9uGNUPIAMoCVIRcmVwZWF0ZWRFeHRlbnNpb24SLgoQcGFja2VkX2V4dGVuc2lvbhjWDyADKBFCAhABUg9wYWNrZWRFeHRlbnNpb24aOgoSRHluYW1pY01lc3NhZ2VUeXBlEiQKDWR5bmFtaWNfZmllbGQYtBAgASgFUgxkeW5hbWljRmllbGQiRwoPRHluYW1pY0VudW1UeXBlEhAKC0RZTkFNSUNfRk9PEJgREhAKC0RZTkFNSUNfQkFSEJkREhAKC0RZTkFNSUNfQkFaEJoRIp8CCiNUZXN0UmVwZWF0ZWRTY2FsYXJEaWZmZXJlbnRUYWdTaXplcxIpChByZXBlYXRlZF9maXhlZDMyGAwgAygHUg9yZXBlYXRlZEZpeGVkMzISJQoOcmVwZWF0ZWRfaW50MzIYDSADKAVSDXJlcGVhdGVkSW50MzISKgoQcmVwZWF0ZWRfZml4ZWQ2NBj+DyADKAZSD3JlcGVhdGVkRml4ZWQ2NBImCg5yZXBlYXRlZF9pbnQ2NBj/DyADKANSDXJlcGVhdGVkSW50NjQSJwoOcmVwZWF0ZWRfZmxvYXQY/v8PIAMoAlINcmVwZWF0ZWRGbG9hdBIpCg9yZXBlYXRlZF91aW50NjQY//8PIAMoBFIOcmVwZWF0ZWRVaW50NjQi4wwKEFRlc3RQYXJzaW5nTWVyZ2USVAoScmVxdWlyZWRfYWxsX3R5cGVzGAEgAigLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IQcmVxdWlyZWRBbGxUeXBlcxJUChJvcHRpb25hbF9hbGxfdHlwZXMYAiABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUhBvcHRpb25hbEFsbFR5cGVzElQKEnJlcGVhdGVkX2FsbF90eXBlcxgDIAMoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSEHJlcGVhdGVkQWxsVHlwZXMSXgoNb3B0aW9uYWxncm91cBgKIAEoCjI4LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFyc2luZ01lcmdlLk9wdGlvbmFsR3JvdXBSDW9wdGlvbmFsZ3JvdXASXgoNcmVwZWF0ZWRncm91cBgUIAMoCjI4LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFyc2luZ01lcmdlLlJlcGVhdGVkR3JvdXBSDXJlcGVhdGVkZ3JvdXAarQUKF1JlcGVhdGVkRmllbGRzR2VuZXJhdG9yEj4KBmZpZWxkMRgBIAMoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSBmZpZWxkMRI+CgZmaWVsZDIYAiADKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgZmaWVsZDISPgoGZmllbGQzGAMgAygLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IGZmllbGQzEmEKBmdyb3VwMRgKIAMoCjJJLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFyc2luZ01lcmdlLlJlcGVhdGVkRmllbGRzR2VuZXJhdG9yLkdyb3VwMVIGZ3JvdXAxEmEKBmdyb3VwMhgUIAMoCjJJLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFyc2luZ01lcmdlLlJlcGVhdGVkRmllbGRzR2VuZXJhdG9yLkdyb3VwMlIGZ3JvdXAyEjsKBGV4dDEY6AcgAygLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IEZXh0MRI7CgRleHQyGOkHIAMoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSBGV4dDIaSAoGR3JvdXAxEj4KBmZpZWxkMRgLIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSBmZpZWxkMRpICgZHcm91cDISPgoGZmllbGQxGBUgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IGZmllbGQxGnAKDU9wdGlvbmFsR3JvdXASXwoYb3B0aW9uYWxfZ3JvdXBfYWxsX3R5cGVzGAsgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IVb3B0aW9uYWxHcm91cEFsbFR5cGVzGnAKDVJlcGVhdGVkR3JvdXASXwoYcmVwZWF0ZWRfZ3JvdXBfYWxsX3R5cGVzGBUgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IVcmVwZWF0ZWRHcm91cEFsbFR5cGVzKgkI6AcQgICAgAIydgoMb3B0aW9uYWxfZXh0EioucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYXJzaW5nTWVyZ2UY6AcgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1ILb3B0aW9uYWxFeHQydgoMcmVwZWF0ZWRfZXh0EioucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYXJzaW5nTWVyZ2UY6QcgAygLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1ILcmVwZWF0ZWRFeHQiRwobVGVzdENvbW1lbnRJbmplY3Rpb25NZXNzYWdlEigKAWEYASABKAk6GiovIDwtIE5laXRoZXIgc2hvdWxkIHRoaXMuUgFhIgwKCkZvb1JlcXVlc3QiDQoLRm9vUmVzcG9uc2UiEgoQRm9vQ2xpZW50TWVzc2FnZSISChBGb29TZXJ2ZXJNZXNzYWdlIgwKCkJhclJlcXVlc3QiDQoLQmFyUmVzcG9uc2UizgEKDFRlc3RKc29uTmFtZRIfCgtmaWVsZF9uYW1lMRgBIAEoBVIKZmllbGROYW1lMRIeCgpmaWVsZE5hbWUyGAIgASgFUgpmaWVsZE5hbWUyEh4KCkZpZWxkTmFtZTMYAyABKAVSCkZpZWxkTmFtZTMSIAoMX2ZpZWxkX25hbWU0GAQgASgFUgpGaWVsZE5hbWU0Eh8KC0ZJRUxEX05BTUU1GAUgASgFUgpGSUVMRE5BTUU1EhoKC2ZpZWxkX25hbWU2GAYgASgFUgVAdHlwZSL/BwoUVGVzdEh1Z2VGaWVsZE51bWJlcnMSKQoOb3B0aW9uYWxfaW50MzIY8Pj//wEgASgFUg1vcHRpb25hbEludDMyEh0KCGZpeGVkXzMyGPH4//8BIAEoBVIHZml4ZWQzMhItCg5yZXBlYXRlZF9pbnQzMhjy+P//ASADKAVCAhAAUg1yZXBlYXRlZEludDMyEikKDHBhY2tlZF9pbnQzMhjz+P//ASADKAVCAhABUgtwYWNrZWRJbnQzMhJOCg1vcHRpb25hbF9lbnVtGPT4//8BIAEoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bVIMb3B0aW9uYWxFbnVtEisKD29wdGlvbmFsX3N0cmluZxj1+P//ASABKAlSDm9wdGlvbmFsU3RyaW5nEikKDm9wdGlvbmFsX2J5dGVzGPb4//8BIAEoDFINb3B0aW9uYWxCeXRlcxJXChBvcHRpb25hbF9tZXNzYWdlGPf4//8BIAEoCzIoLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduTWVzc2FnZVIPb3B0aW9uYWxNZXNzYWdlEmYKDW9wdGlvbmFsZ3JvdXAY+Pj//wEgASgKMjwucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RIdWdlRmllbGROdW1iZXJzLk9wdGlvbmFsR3JvdXBSDW9wdGlvbmFsZ3JvdXAScwoRc3RyaW5nX3N0cmluZ19tYXAY+vj//wEgAygLMkMucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RIdWdlRmllbGROdW1iZXJzLlN0cmluZ1N0cmluZ01hcEVudHJ5Ug9zdHJpbmdTdHJpbmdNYXASJwoMb25lb2ZfdWludDMyGPv4//8BIAEoDUgAUgtvbmVvZlVpbnQzMhJdChRvbmVvZl90ZXN0X2FsbF90eXBlcxj8+P//ASABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzSABSEW9uZW9mVGVzdEFsbFR5cGVzEicKDG9uZW9mX3N0cmluZxj9+P//ASABKAlIAFILb25lb2ZTdHJpbmcSJQoLb25lb2ZfYnl0ZXMY/vj//wEgASgMSABSCm9uZW9mQnl0ZXMaLAoNT3B0aW9uYWxHcm91cBIbCgdncm91cF9hGPn4//8BIAEoBVIGZ3JvdXBBGkIKFFN0cmluZ1N0cmluZ01hcEVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEqDAjgqv//ARDw+P//AUINCgtvbmVvZl9maWVsZCL6AQoYVGVzdEV4dGVuc2lvbkluc2lkZVRhYmxlEhYKBmZpZWxkMRgBIAEoBVIGZmllbGQxEhYKBmZpZWxkMhgCIAEoBVIGZmllbGQyEhYKBmZpZWxkMxgDIAEoBVIGZmllbGQzEhYKBmZpZWxkNBgEIAEoBVIGZmllbGQ0EhYKBmZpZWxkNhgGIAEoBVIGZmllbGQ2EhYKBmZpZWxkNxgHIAEoBVIGZmllbGQ3EhYKBmZpZWxkOBgIIAEoBVIGZmllbGQ4EhYKBmZpZWxkORgJIAEoBVIGZmllbGQ5EhgKB2ZpZWxkMTAYCiABKAVSB2ZpZWxkMTAqBAgFEAYqQAoLRm9yZWlnbkVudW0SDwoLRk9SRUlHTl9GT08QBBIPCgtGT1JFSUdOX0JBUhAFEg8KC0ZPUkVJR05fQkFaEAYqSwoUVGVzdEVudW1XaXRoRHVwVmFsdWUSCAoERk9PMRABEggKBEJBUjEQAhIHCgNCQVoQAxIICgRGT08yEAESCAoEQkFSMhACGgIQASqJAQoOVGVzdFNwYXJzZUVudW0SDAoIU1BBUlNFX0EQexIOCghTUEFSU0VfQhCm5wMSDwoIU1BBUlNFX0MQsrGABhIVCghTUEFSU0VfRBDx//////////8BEhUKCFNQQVJTRV9FELTe/P///////wESDAoIU1BBUlNFX0YQABIMCghTUEFSU0VfRxACKosPCg1WZXJ5TGFyZ2VFbnVtEhYKEkVOVU1fTEFCRUxfREVGQVVMVBAAEhAKDEVOVU1fTEFCRUxfMRABEhAKDEVOVU1fTEFCRUxfMhACEhAKDEVOVU1fTEFCRUxfMxADEhAKDEVOVU1fTEFCRUxfNBAEEhAKDEVOVU1fTEFCRUxfNRAFEhAKDEVOVU1fTEFCRUxfNhAGEhAKDEVOVU1fTEFCRUxfNxAHEhAKDEVOVU1fTEFCRUxfOBAIEhAKDEVOVU1fTEFCRUxfORAJEhEKDUVOVU1fTEFCRUxfMTAQChIRCg1FTlVNX0xBQkVMXzExEAsSEQoNRU5VTV9MQUJFTF8xMhAMEhEKDUVOVU1fTEFCRUxfMTMQDRIRCg1FTlVNX0xBQkVMXzE0EA4SEQoNRU5VTV9MQUJFTF8xNRAPEhEKDUVOVU1fTEFCRUxfMTYQEBIRCg1FTlVNX0xBQkVMXzE3EBESEQoNRU5VTV9MQUJFTF8xOBASEhEKDUVOVU1fTEFCRUxfMTkQExIRCg1FTlVNX0xBQkVMXzIwEBQSEQoNRU5VTV9MQUJFTF8yMRAVEhEKDUVOVU1fTEFCRUxfMjIQFhIRCg1FTlVNX0xBQkVMXzIzEBcSEQoNRU5VTV9MQUJFTF8yNBAYEhEKDUVOVU1fTEFCRUxfMjUQGRIRCg1FTlVNX0xBQkVMXzI2EBoSEQoNRU5VTV9MQUJFTF8yNxAbEhEKDUVOVU1fTEFCRUxfMjgQHBIRCg1FTlVNX0xBQkVMXzI5EB0SEQoNRU5VTV9MQUJFTF8zMBAeEhEKDUVOVU1fTEFCRUxfMzEQHxIRCg1FTlVNX0xBQkVMXzMyECASEQoNRU5VTV9MQUJFTF8zMxAhEhEKDUVOVU1fTEFCRUxfMzQQIhIRCg1FTlVNX0xBQkVMXzM1ECMSEQoNRU5VTV9MQUJFTF8zNhAkEhEKDUVOVU1fTEFCRUxfMzcQJRIRCg1FTlVNX0xBQkVMXzM4ECYSEQoNRU5VTV9MQUJFTF8zORAnEhEKDUVOVU1fTEFCRUxfNDAQKBIRCg1FTlVNX0xBQkVMXzQxECkSEQoNRU5VTV9MQUJFTF80MhAqEhEKDUVOVU1fTEFCRUxfNDMQKxIRCg1FTlVNX0xBQkVMXzQ0ECwSEQoNRU5VTV9MQUJFTF80NRAtEhEKDUVOVU1fTEFCRUxfNDYQLhIRCg1FTlVNX0xBQkVMXzQ3EC8SEQoNRU5VTV9MQUJFTF80OBAwEhEKDUVOVU1fTEFCRUxfNDkQMRIRCg1FTlVNX0xBQkVMXzUwEDISEQoNRU5VTV9MQUJFTF81MRAzEhEKDUVOVU1fTEFCRUxfNTIQNBIRCg1FTlVNX0xBQkVMXzUzEDUSEQoNRU5VTV9MQUJFTF81NBA2EhEKDUVOVU1fTEFCRUxfNTUQNxIRCg1FTlVNX0xBQkVMXzU2EDgSEQoNRU5VTV9MQUJFTF81NxA5EhEKDUVOVU1fTEFCRUxfNTgQOhIRCg1FTlVNX0xBQkVMXzU5EDsSEQoNRU5VTV9MQUJFTF82MBA8EhEKDUVOVU1fTEFCRUxfNjEQPRIRCg1FTlVNX0xBQkVMXzYyED4SEQoNRU5VTV9MQUJFTF82MxA/EhEKDUVOVU1fTEFCRUxfNjQQQBIRCg1FTlVNX0xBQkVMXzY1EEESEQoNRU5VTV9MQUJFTF82NhBCEhEKDUVOVU1fTEFCRUxfNjcQQxIRCg1FTlVNX0xBQkVMXzY4EEQSEQoNRU5VTV9MQUJFTF82ORBFEhEKDUVOVU1fTEFCRUxfNzAQRhIRCg1FTlVNX0xBQkVMXzcxEEcSEQoNRU5VTV9MQUJFTF83MhBIEhEKDUVOVU1fTEFCRUxfNzMQSRIRCg1FTlVNX0xBQkVMXzc0EEoSEQoNRU5VTV9MQUJFTF83NRBLEhEKDUVOVU1fTEFCRUxfNzYQTBIRCg1FTlVNX0xBQkVMXzc3EE0SEQoNRU5VTV9MQUJFTF83OBBOEhEKDUVOVU1fTEFCRUxfNzkQTxIRCg1FTlVNX0xBQkVMXzgwEFASEQoNRU5VTV9MQUJFTF84MRBREhEKDUVOVU1fTEFCRUxfODIQUhIRCg1FTlVNX0xBQkVMXzgzEFMSEQoNRU5VTV9MQUJFTF84NBBUEhEKDUVOVU1fTEFCRUxfODUQVRIRCg1FTlVNX0xBQkVMXzg2EFYSEQoNRU5VTV9MQUJFTF84NxBXEhEKDUVOVU1fTEFCRUxfODgQWBIRCg1FTlVNX0xBQkVMXzg5EFkSEQoNRU5VTV9MQUJFTF85MBBaEhEKDUVOVU1fTEFCRUxfOTEQWxIRCg1FTlVNX0xBQkVMXzkyEFwSEQoNRU5VTV9MQUJFTF85MxBdEhEKDUVOVU1fTEFCRUxfOTQQXhIRCg1FTlVNX0xBQkVMXzk1EF8SEQoNRU5VTV9MQUJFTF85NhBgEhEKDUVOVU1fTEFCRUxfOTcQYRIRCg1FTlVNX0xBQkVMXzk4EGISEQoNRU5VTV9MQUJFTF85ORBjEhIKDkVOVU1fTEFCRUxfMTAwEGQytQEKC1Rlc3RTZXJ2aWNlElIKA0ZvbxIkLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb29SZXF1ZXN0GiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvb1Jlc3BvbnNlElIKA0JhchIkLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5CYXJSZXF1ZXN0GiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkJhclJlc3BvbnNlOmUKGG9wdGlvbmFsX2ludDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgBIAEoBVIWb3B0aW9uYWxJbnQzMkV4dGVuc2lvbjplChhvcHRpb25hbF9pbnQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYAiABKANSFm9wdGlvbmFsSW50NjRFeHRlbnNpb246ZwoZb3B0aW9uYWxfdWludDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgDIAEoDVIXb3B0aW9uYWxVaW50MzJFeHRlbnNpb246ZwoZb3B0aW9uYWxfdWludDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgEIAEoBFIXb3B0aW9uYWxVaW50NjRFeHRlbnNpb246ZwoZb3B0aW9uYWxfc2ludDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgFIAEoEVIXb3B0aW9uYWxTaW50MzJFeHRlbnNpb246ZwoZb3B0aW9uYWxfc2ludDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgGIAEoElIXb3B0aW9uYWxTaW50NjRFeHRlbnNpb246aQoab3B0aW9uYWxfZml4ZWQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYByABKAdSGG9wdGlvbmFsRml4ZWQzMkV4dGVuc2lvbjppChpvcHRpb25hbF9maXhlZDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgIIAEoBlIYb3B0aW9uYWxGaXhlZDY0RXh0ZW5zaW9uOmsKG29wdGlvbmFsX3NmaXhlZDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgJIAEoD1IZb3B0aW9uYWxTZml4ZWQzMkV4dGVuc2lvbjprChtvcHRpb25hbF9zZml4ZWQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYCiABKBBSGW9wdGlvbmFsU2ZpeGVkNjRFeHRlbnNpb246ZQoYb3B0aW9uYWxfZmxvYXRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAsgASgCUhZvcHRpb25hbEZsb2F0RXh0ZW5zaW9uOmcKGW9wdGlvbmFsX2RvdWJsZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYDCABKAFSF29wdGlvbmFsRG91YmxlRXh0ZW5zaW9uOmMKF29wdGlvbmFsX2Jvb2xfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGA0gASgIUhVvcHRpb25hbEJvb2xFeHRlbnNpb246ZwoZb3B0aW9uYWxfc3RyaW5nX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgOIAEoCVIXb3B0aW9uYWxTdHJpbmdFeHRlbnNpb246ZQoYb3B0aW9uYWxfYnl0ZXNfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGA8gASgMUhZvcHRpb25hbEJ5dGVzRXh0ZW5zaW9uOpcBChdvcHRpb25hbGdyb3VwX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgQIAEoCjIxLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5PcHRpb25hbEdyb3VwX2V4dGVuc2lvblIWb3B0aW9uYWxncm91cEV4dGVuc2lvbjqsAQohb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2VfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGBIgASgLMjQucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRNZXNzYWdlUh5vcHRpb25hbE5lc3RlZE1lc3NhZ2VFeHRlbnNpb246ogEKIm9wdGlvbmFsX2ZvcmVpZ25fbWVzc2FnZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYEyABKAsyKC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbk1lc3NhZ2VSH29wdGlvbmFsRm9yZWlnbk1lc3NhZ2VFeHRlbnNpb246pgEKIW9wdGlvbmFsX2ltcG9ydF9tZXNzYWdlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgUIAEoCzIuLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIuSW1wb3J0TWVzc2FnZVIeb3B0aW9uYWxJbXBvcnRNZXNzYWdlRXh0ZW5zaW9uOqMBCh5vcHRpb25hbF9uZXN0ZWRfZW51bV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYFSABKA4yMS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZEVudW1SG29wdGlvbmFsTmVzdGVkRW51bUV4dGVuc2lvbjqZAQofb3B0aW9uYWxfZm9yZWlnbl9lbnVtX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgWIAEoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bVIcb3B0aW9uYWxGb3JlaWduRW51bUV4dGVuc2lvbjqdAQoeb3B0aW9uYWxfaW1wb3J0X2VudW1fZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGBcgASgOMisucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0X3Byb3RvMi5JbXBvcnRFbnVtUhtvcHRpb25hbEltcG9ydEVudW1FeHRlbnNpb246dgofb3B0aW9uYWxfc3RyaW5nX3BpZWNlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgYIAEoCUICCAJSHG9wdGlvbmFsU3RyaW5nUGllY2VFeHRlbnNpb246YwoXb3B0aW9uYWxfY29yZF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYGSABKAlSFW9wdGlvbmFsQ29yZEV4dGVuc2lvbjq5AQoob3B0aW9uYWxfcHVibGljX2ltcG9ydF9tZXNzYWdlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgaIAEoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIuUHVibGljSW1wb3J0TWVzc2FnZVIkb3B0aW9uYWxQdWJsaWNJbXBvcnRNZXNzYWdlRXh0ZW5zaW9uOqwBCh9vcHRpb25hbF9sYXp5X21lc3NhZ2VfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGBsgASgLMjQucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRNZXNzYWdlQgIoAVIcb3B0aW9uYWxMYXp5TWVzc2FnZUV4dGVuc2lvbjplChhyZXBlYXRlZF9pbnQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYHyADKAVSFnJlcGVhdGVkSW50MzJFeHRlbnNpb246ZQoYcmVwZWF0ZWRfaW50NjRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGCAgAygDUhZyZXBlYXRlZEludDY0RXh0ZW5zaW9uOmcKGXJlcGVhdGVkX3VpbnQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYISADKA1SF3JlcGVhdGVkVWludDMyRXh0ZW5zaW9uOmcKGXJlcGVhdGVkX3VpbnQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYIiADKARSF3JlcGVhdGVkVWludDY0RXh0ZW5zaW9uOmcKGXJlcGVhdGVkX3NpbnQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYIyADKBFSF3JlcGVhdGVkU2ludDMyRXh0ZW5zaW9uOmcKGXJlcGVhdGVkX3NpbnQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYJCADKBJSF3JlcGVhdGVkU2ludDY0RXh0ZW5zaW9uOmkKGnJlcGVhdGVkX2ZpeGVkMzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGCUgAygHUhhyZXBlYXRlZEZpeGVkMzJFeHRlbnNpb246aQoacmVwZWF0ZWRfZml4ZWQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYJiADKAZSGHJlcGVhdGVkRml4ZWQ2NEV4dGVuc2lvbjprChtyZXBlYXRlZF9zZml4ZWQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYJyADKA9SGXJlcGVhdGVkU2ZpeGVkMzJFeHRlbnNpb246awobcmVwZWF0ZWRfc2ZpeGVkNjRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGCggAygQUhlyZXBlYXRlZFNmaXhlZDY0RXh0ZW5zaW9uOmUKGHJlcGVhdGVkX2Zsb2F0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgpIAMoAlIWcmVwZWF0ZWRGbG9hdEV4dGVuc2lvbjpnChlyZXBlYXRlZF9kb3VibGVfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGCogAygBUhdyZXBlYXRlZERvdWJsZUV4dGVuc2lvbjpjChdyZXBlYXRlZF9ib29sX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgrIAMoCFIVcmVwZWF0ZWRCb29sRXh0ZW5zaW9uOmcKGXJlcGVhdGVkX3N0cmluZ19leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYLCADKAlSF3JlcGVhdGVkU3RyaW5nRXh0ZW5zaW9uOmUKGHJlcGVhdGVkX2J5dGVzX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgtIAMoDFIWcmVwZWF0ZWRCeXRlc0V4dGVuc2lvbjqXAQoXcmVwZWF0ZWRncm91cF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYLiADKAoyMS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuUmVwZWF0ZWRHcm91cF9leHRlbnNpb25SFnJlcGVhdGVkZ3JvdXBFeHRlbnNpb246rAEKIXJlcGVhdGVkX25lc3RlZF9tZXNzYWdlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgwIAMoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZVIecmVwZWF0ZWROZXN0ZWRNZXNzYWdlRXh0ZW5zaW9uOqIBCiJyZXBlYXRlZF9mb3JlaWduX21lc3NhZ2VfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGDEgAygLMigucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25NZXNzYWdlUh9yZXBlYXRlZEZvcmVpZ25NZXNzYWdlRXh0ZW5zaW9uOqYBCiFyZXBlYXRlZF9pbXBvcnRfbWVzc2FnZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYMiADKAsyLi5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnRfcHJvdG8yLkltcG9ydE1lc3NhZ2VSHnJlcGVhdGVkSW1wb3J0TWVzc2FnZUV4dGVuc2lvbjqjAQoecmVwZWF0ZWRfbmVzdGVkX2VudW1fZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGDMgAygOMjEucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRFbnVtUhtyZXBlYXRlZE5lc3RlZEVudW1FeHRlbnNpb246mQEKH3JlcGVhdGVkX2ZvcmVpZ25fZW51bV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYNCADKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW1SHHJlcGVhdGVkRm9yZWlnbkVudW1FeHRlbnNpb246nQEKHnJlcGVhdGVkX2ltcG9ydF9lbnVtX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxg1IAMoDjIrLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIuSW1wb3J0RW51bVIbcmVwZWF0ZWRJbXBvcnRFbnVtRXh0ZW5zaW9uOnYKH3JlcGVhdGVkX3N0cmluZ19waWVjZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYNiADKAlCAggCUhxyZXBlYXRlZFN0cmluZ1BpZWNlRXh0ZW5zaW9uOmMKF3JlcGVhdGVkX2NvcmRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGDcgAygJUhVyZXBlYXRlZENvcmRFeHRlbnNpb246rAEKH3JlcGVhdGVkX2xhenlfbWVzc2FnZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYOSADKAsyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VCAigBUhxyZXBlYXRlZExhenlNZXNzYWdlRXh0ZW5zaW9uOmcKF2RlZmF1bHRfaW50MzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGD0gASgFOgI0MVIVZGVmYXVsdEludDMyRXh0ZW5zaW9uOmcKF2RlZmF1bHRfaW50NjRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGD4gASgDOgI0MlIVZGVmYXVsdEludDY0RXh0ZW5zaW9uOmkKGGRlZmF1bHRfdWludDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxg/IAEoDToCNDNSFmRlZmF1bHRVaW50MzJFeHRlbnNpb246aQoYZGVmYXVsdF91aW50NjRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGEAgASgEOgI0NFIWZGVmYXVsdFVpbnQ2NEV4dGVuc2lvbjpqChhkZWZhdWx0X3NpbnQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYQSABKBE6Ay00NVIWZGVmYXVsdFNpbnQzMkV4dGVuc2lvbjppChhkZWZhdWx0X3NpbnQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYQiABKBI6AjQ2UhZkZWZhdWx0U2ludDY0RXh0ZW5zaW9uOmsKGWRlZmF1bHRfZml4ZWQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYQyABKAc6AjQ3UhdkZWZhdWx0Rml4ZWQzMkV4dGVuc2lvbjprChlkZWZhdWx0X2ZpeGVkNjRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGEQgASgGOgI0OFIXZGVmYXVsdEZpeGVkNjRFeHRlbnNpb246bQoaZGVmYXVsdF9zZml4ZWQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYRSABKA86AjQ5UhhkZWZhdWx0U2ZpeGVkMzJFeHRlbnNpb246bgoaZGVmYXVsdF9zZml4ZWQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYRiABKBA6Ay01MFIYZGVmYXVsdFNmaXhlZDY0RXh0ZW5zaW9uOmkKF2RlZmF1bHRfZmxvYXRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGEcgASgCOgQ1MS41UhVkZWZhdWx0RmxvYXRFeHRlbnNpb246bAoYZGVmYXVsdF9kb3VibGVfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGEggASgBOgU1MjAwMFIWZGVmYXVsdERvdWJsZUV4dGVuc2lvbjpnChZkZWZhdWx0X2Jvb2xfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGEkgASgIOgR0cnVlUhRkZWZhdWx0Qm9vbEV4dGVuc2lvbjpsChhkZWZhdWx0X3N0cmluZ19leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYSiABKAk6BWhlbGxvUhZkZWZhdWx0U3RyaW5nRXh0ZW5zaW9uOmoKF2RlZmF1bHRfYnl0ZXNfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGEsgASgMOgV3b3JsZFIVZGVmYXVsdEJ5dGVzRXh0ZW5zaW9uOqYBCh1kZWZhdWx0X25lc3RlZF9lbnVtX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhRIAEoDjIxLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkRW51bToDQkFSUhpkZWZhdWx0TmVzdGVkRW51bUV4dGVuc2lvbjqkAQoeZGVmYXVsdF9mb3JlaWduX2VudW1fZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGFIgASgOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtOgtGT1JFSUdOX0JBUlIbZGVmYXVsdEZvcmVpZ25FbnVtRXh0ZW5zaW9uOqcBCh1kZWZhdWx0X2ltcG9ydF9lbnVtX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhTIAEoDjIrLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIuSW1wb3J0RW51bToKSU1QT1JUX0JBUlIaZGVmYXVsdEltcG9ydEVudW1FeHRlbnNpb246eQoeZGVmYXVsdF9zdHJpbmdfcGllY2VfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGFQgASgJOgNhYmNCAggCUhtkZWZhdWx0U3RyaW5nUGllY2VFeHRlbnNpb246ZgoWZGVmYXVsdF9jb3JkX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhVIAEoCToDMTIzUhRkZWZhdWx0Q29yZEV4dGVuc2lvbjphChZvbmVvZl91aW50MzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGG8gASgNUhRvbmVvZlVpbnQzMkV4dGVuc2lvbjqmAQoeb25lb2ZfbmVzdGVkX21lc3NhZ2VfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGHAgASgLMjQucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRNZXNzYWdlUhtvbmVvZk5lc3RlZE1lc3NhZ2VFeHRlbnNpb246YQoWb25lb2Zfc3RyaW5nX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhxIAEoCVIUb25lb2ZTdHJpbmdFeHRlbnNpb246XwoVb25lb2ZfYnl0ZXNfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGHIgASgMUhNvbmVvZkJ5dGVzRXh0ZW5zaW9uOlwKE215X2V4dGVuc2lvbl9zdHJpbmcSLC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEZpZWxkT3JkZXJpbmdzGDIgASgJUhFteUV4dGVuc2lvblN0cmluZzpWChBteV9leHRlbnNpb25faW50EiwucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RGaWVsZE9yZGVyaW5ncxgFIAEoBVIObXlFeHRlbnNpb25JbnQ6aAoWcGFja2VkX2ludDMyX2V4dGVuc2lvbhIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFja2VkRXh0ZW5zaW9ucxhaIAMoBUICEAFSFHBhY2tlZEludDMyRXh0ZW5zaW9uOmgKFnBhY2tlZF9pbnQ2NF9leHRlbnNpb24SLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhY2tlZEV4dGVuc2lvbnMYWyADKANCAhABUhRwYWNrZWRJbnQ2NEV4dGVuc2lvbjpqChdwYWNrZWRfdWludDMyX2V4dGVuc2lvbhIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFja2VkRXh0ZW5zaW9ucxhcIAMoDUICEAFSFXBhY2tlZFVpbnQzMkV4dGVuc2lvbjpqChdwYWNrZWRfdWludDY0X2V4dGVuc2lvbhIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFja2VkRXh0ZW5zaW9ucxhdIAMoBEICEAFSFXBhY2tlZFVpbnQ2NEV4dGVuc2lvbjpqChdwYWNrZWRfc2ludDMyX2V4dGVuc2lvbhIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFja2VkRXh0ZW5zaW9ucxheIAMoEUICEAFSFXBhY2tlZFNpbnQzMkV4dGVuc2lvbjpqChdwYWNrZWRfc2ludDY0X2V4dGVuc2lvbhIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFja2VkRXh0ZW5zaW9ucxhfIAMoEkICEAFSFXBhY2tlZFNpbnQ2NEV4dGVuc2lvbjpsChhwYWNrZWRfZml4ZWQzMl9leHRlbnNpb24SLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhY2tlZEV4dGVuc2lvbnMYYCADKAdCAhABUhZwYWNrZWRGaXhlZDMyRXh0ZW5zaW9uOmwKGHBhY2tlZF9maXhlZDY0X2V4dGVuc2lvbhIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFja2VkRXh0ZW5zaW9ucxhhIAMoBkICEAFSFnBhY2tlZEZpeGVkNjRFeHRlbnNpb246bgoZcGFja2VkX3NmaXhlZDMyX2V4dGVuc2lvbhIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFja2VkRXh0ZW5zaW9ucxhiIAMoD0ICEAFSF3BhY2tlZFNmaXhlZDMyRXh0ZW5zaW9uOm4KGXBhY2tlZF9zZml4ZWQ2NF9leHRlbnNpb24SLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhY2tlZEV4dGVuc2lvbnMYYyADKBBCAhABUhdwYWNrZWRTZml4ZWQ2NEV4dGVuc2lvbjpoChZwYWNrZWRfZmxvYXRfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGGQgAygCQgIQAVIUcGFja2VkRmxvYXRFeHRlbnNpb246agoXcGFja2VkX2RvdWJsZV9leHRlbnNpb24SLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhY2tlZEV4dGVuc2lvbnMYZSADKAFCAhABUhVwYWNrZWREb3VibGVFeHRlbnNpb246ZgoVcGFja2VkX2Jvb2xfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGGYgAygIQgIQAVITcGFja2VkQm9vbEV4dGVuc2lvbjqNAQoVcGFja2VkX2VudW1fZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGGcgAygOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtQgIQAVITcGFja2VkRW51bUV4dGVuc2lvbjpuChh1bnBhY2tlZF9pbnQzMl9leHRlbnNpb24SMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFVucGFja2VkRXh0ZW5zaW9ucxhaIAMoBUICEABSFnVucGFja2VkSW50MzJFeHRlbnNpb246bgoYdW5wYWNrZWRfaW50NjRfZXh0ZW5zaW9uEjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RVbnBhY2tlZEV4dGVuc2lvbnMYWyADKANCAhAAUhZ1bnBhY2tlZEludDY0RXh0ZW5zaW9uOnAKGXVucGFja2VkX3VpbnQzMl9leHRlbnNpb24SMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFVucGFja2VkRXh0ZW5zaW9ucxhcIAMoDUICEABSF3VucGFja2VkVWludDMyRXh0ZW5zaW9uOnAKGXVucGFja2VkX3VpbnQ2NF9leHRlbnNpb24SMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFVucGFja2VkRXh0ZW5zaW9ucxhdIAMoBEICEABSF3VucGFja2VkVWludDY0RXh0ZW5zaW9uOnAKGXVucGFja2VkX3NpbnQzMl9leHRlbnNpb24SMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFVucGFja2VkRXh0ZW5zaW9ucxheIAMoEUICEABSF3VucGFja2VkU2ludDMyRXh0ZW5zaW9uOnAKGXVucGFja2VkX3NpbnQ2NF9leHRlbnNpb24SMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFVucGFja2VkRXh0ZW5zaW9ucxhfIAMoEkICEABSF3VucGFja2VkU2ludDY0RXh0ZW5zaW9uOnIKGnVucGFja2VkX2ZpeGVkMzJfZXh0ZW5zaW9uEjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RVbnBhY2tlZEV4dGVuc2lvbnMYYCADKAdCAhAAUhh1bnBhY2tlZEZpeGVkMzJFeHRlbnNpb246cgoadW5wYWNrZWRfZml4ZWQ2NF9leHRlbnNpb24SMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFVucGFja2VkRXh0ZW5zaW9ucxhhIAMoBkICEABSGHVucGFja2VkRml4ZWQ2NEV4dGVuc2lvbjp0Cht1bnBhY2tlZF9zZml4ZWQzMl9leHRlbnNpb24SMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFVucGFja2VkRXh0ZW5zaW9ucxhiIAMoD0ICEABSGXVucGFja2VkU2ZpeGVkMzJFeHRlbnNpb246dAobdW5wYWNrZWRfc2ZpeGVkNjRfZXh0ZW5zaW9uEjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RVbnBhY2tlZEV4dGVuc2lvbnMYYyADKBBCAhAAUhl1bnBhY2tlZFNmaXhlZDY0RXh0ZW5zaW9uOm4KGHVucGFja2VkX2Zsb2F0X2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGGQgAygCQgIQAFIWdW5wYWNrZWRGbG9hdEV4dGVuc2lvbjpwChl1bnBhY2tlZF9kb3VibGVfZXh0ZW5zaW9uEjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RVbnBhY2tlZEV4dGVuc2lvbnMYZSADKAFCAhAAUhd1bnBhY2tlZERvdWJsZUV4dGVuc2lvbjpsChd1bnBhY2tlZF9ib29sX2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGGYgAygIQgIQAFIVdW5wYWNrZWRCb29sRXh0ZW5zaW9uOpMBChd1bnBhY2tlZF9lbnVtX2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGGcgAygOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtQgIQAFIVdW5wYWNrZWRFbnVtRXh0ZW5zaW9uOoABCg50ZXN0X2FsbF90eXBlcxIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0SHVnZUZpZWxkTnVtYmVycxjgqv//ASABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgx0ZXN0QWxsVHlwZXM6hAEKJXRlc3RfZXh0ZW5zaW9uX2luc2lkZV90YWJsZV9leHRlbnNpb24SMi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEV4dGVuc2lvbkluc2lkZVRhYmxlGAUgASgFUiF0ZXN0RXh0ZW5zaW9uSW5zaWRlVGFibGVFeHRlbnNpb25CMkgBgAEBiAEBkAEB+AEBqgIhR29vZ2xlLlByb3RvYnVmLlRlc3RQcm90b3MuUHJvdG8ySuasAwoHEgUPAMYIAQrqAwoBDBIDDwASMokCIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBvciBhdAogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCjLTASBBdXRob3I6IGtlbnRvbkBnb29nbGUuY29tIChLZW50b24gVmFyZGEpCiAgQmFzZWQgb24gb3JpZ2luYWwgUHJvdG9jb2wgQnVmZmVycyBkZXNpZ24gYnkKICBTYW5qYXkgR2hlbWF3YXQsIEplZmYgRGVhbiwgYW5kIG90aGVycy4KCiBBIHByb3RvIGZpbGUgd2Ugd2lsbCB1c2UgZm9yIHVuaXQgdGVzdGluZy4KCiBMSU5UOiBBTExPV19HUk9VUFMsIExFR0FDWV9OQU1FUwoKCAoBCBIDEwAiCoABCgIIEBIDEwAiGmcgU29tZSBnZW5lcmljX3NlcnZpY2VzIG9wdGlvbihzKSBhZGRlZCBhdXRvbWF0aWNhbGx5LgogU2VlOiAgaHR0cDovL2dvL3Byb3RvMi1nZW5lcmljLXNlcnZpY2VzLWRlZmF1bHQKIgwgYXV0by1hZGRlZAoKCAoBCBIDFAAkChcKAggREgMUACQiDCBhdXRvLWFkZGVkCgoICgEIEgMVACIKFwoCCBISAxUAIiIMIGF1dG8tYWRkZWQKCggKAQgSAxYAHwoJCgIIHxIDFgAfCgkKAgMAEgMYAC0K5gEKAQISAx0AIRrbASBXZSBkb24ndCBwdXQgdGhpcyBpbiBhIHBhY2thZ2Ugd2l0aGluIHByb3RvMiBiZWNhdXNlIHdlIG5lZWQgdG8gbWFrZSBzdXJlCiB0aGF0IHRoZSBnZW5lcmF0ZWQgY29kZSBkb2Vzbid0IGRlcGVuZCBvbiBiZWluZyBpbiB0aGUgcHJvdG8yIG5hbWVzcGFjZS4KIEluIHRlc3RfdXRpbC5oIHdlIGRvICJ1c2luZyBuYW1lc3BhY2UgdW5pdHRlc3QgPSBwcm90b2J1Zl91bml0dGVzdCIuCgoICgEIEgMiABwK4gEKAggJEgMiABwa1gEgUHJvdG9zIG9wdGltaXplZCBmb3IgU1BFRUQgdXNlIGEgc3RyaWN0IHN1cGVyc2V0IG9mIHRoZSBnZW5lcmF0ZWQgY29kZQogb2YgZXF1aXZhbGVudCBvbmVzIG9wdGltaXplZCBmb3IgQ09ERV9TSVpFLCBzbyB3ZSBzaG91bGQgb3B0aW1pemUgYWxsIG91cgogdGVzdHMgZm9yIHNwZWVkIHVubGVzcyBleHBsaWNpdGx5IHRlc3RpbmcgY29kZSBzaXplIG9wdGltaXphdGlvbi4KCggKAQgSAyQAPgoJCgIIJRIDJAA+ClwKAgQAEgUoAKIBARpPIFRoaXMgcHJvdG8gaW5jbHVkZXMgZXZlcnkgdHlwZSBvZiBmaWVsZCBpbiBib3RoIHNpbmd1bGFyIGFuZCByZXBlYXRlZAogZm9ybXMuCgoKCgMEAAESAygIFAoMCgQEAAMAEgQpAi4DCgwKBQQAAwABEgMpChcK4wEKBgQAAwACABIDLQQaGtMBIFRoZSBmaWVsZCBuYW1lICJiIiBmYWlscyB0byBjb21waWxlIGluIHByb3RvMSBiZWNhdXNlIGl0IGNvbmZsaWN0cyB3aXRoCiBhIGxvY2FsIHZhcmlhYmxlIG5hbWVkICJiIiBpbiBvbmUgb2YgdGhlIGdlbmVyYXRlZCBtZXRob2RzLiAgRG9oLgogVGhpcyBmaWxlIG5lZWRzIHRvIGNvbXBpbGUgaW4gcHJvdG8xIHRvIHRlc3QgYmFja3dhcmRzLWNvbXBhdGliaWxpdHkuCgoOCgcEAAMAAgAEEgMtBAwKDgoHBAAD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AAUSAxQCCAoKCgMHAAESAxQJDAoKCgMHAAMSAxQPFGIGcHJvdG8zCq0FCihjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2lzc3VlNjkzNl9iLnByb3RvEg91bml0dGVzdF9pc3N1ZXMaKGNzaGFycC9wcm90b3MvdW5pdHRlc3RfaXNzdWU2OTM2X2EucHJvdG8iDgoDRm9vOgeCtRgDZm9vQh2qAhpVbml0VGVzdC5Jc3N1ZXMuVGVzdFByb3Rvc0qOBAoGEgQHABUBCpQCCgEMEgMHABIyiQIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKCggKAQISAwkAGAoJCgIDABIDCwAyCggKAQgSAw0ANwoJCgIIJRIDDQA3CpsBCgIEABIEEwAVATKOASBUaGlzIGZpbGUgaXMgdXNlZCBhcyBwYXJ0IG9mIGEgdW5pdCB0ZXN0IGZvciBpc3N1ZSA2OTM2CiBXZSBkb24ndCBuZWVkIHRvIHVzZSBpdCwgd2UganVzdCBoYXZlIHRvIGltcG9ydCBpdCBpbgogInVuaXR0ZXN0X2lzc3VlNjkzNl9jLnByb3RvIgoKCgoDBAABEgMTCAsKCgoDBAAHEgMUAhcKDQoGBAAH0IYDEgMUAhdiBnByb3RvMwqoBgooY3NoYXJwL3Byb3Rvcy91bml0dGVzdF9pc3N1ZTY5MzZfYy5wcm90bxIPdW5pdHRlc3RfaXNzdWVzGihjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2lzc3VlNjkzNl9hLnByb3RvGihjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2lzc3VlNjkzNl9iLnByb3RvIjYKA0JhchImCgNmb28YASABKAsyFC51bml0dGVzdF9pc3N1ZXMuRm9vUgNmb286B4K1GANiYXJCHaoCGlVuaXRUZXN0Lklzc3Vlcy5UZXN0UHJvdG9zSrcECgYSBAcAFwEKlAIKAQwSAwcAEjKJAiBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlCiBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgb3IgYXQKIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL29wZW4tc291cmNlL2xpY2Vuc2VzL2JzZAoKCAoBAhIDCQAYCgkKAgMAEgMLADIKCQoCAwESAwwAMgoICgEIEgMOADcKCQoCCCUSAw4ANwqCAQoCBAASBBMAFwEydiBUaGlzIGZpbGUgaXMgdXNlZCBhcyBwYXJ0IG9mIGEgdW5pdCB0ZXN0IGZvciBpc3N1ZSA2OTM2CiBXZSBkb24ndCBuZWVkIHRvIHVzZSBpdCwgd2UganVzdCBoYXZlIHRvIGxvYWQgaXQgYXQgcnVudGltZQoKCgoDBAABEgMTCAsKCgoDBAAHEgMUAhcKDQoGBAAH0IYDEgMUAhcKCwoEBAACABIDFgIOCgwKBQQAAgAGEgMWAgUKDAoFBAACAAESAxYGCQoMCgUEAAIAAxIDFgwNYgZwcm90bzMKuw4KNGNzaGFycC9wcm90b3MvdW5pdHRlc3Rfc2VsZnJlZmVyZW50aWFsX29wdGlvbnMucHJvdG8SKXByb3RvYnVmX3VuaXR0ZXN0X3NlbGZyZWZlcmVudGlhbF9vcHRpb25zGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90byJZCgpGb29PcHRpb25zEiYKB2ludF9vcHQYASABKAVCDco+CggBwD4Cyj4CCANSBmludE9wdBIYCgNmb28YAiABKAVCBso+AxDSCVIDZm9vKgkI6AcQgICAgAI6RQoLYmFyX29wdGlvbnMSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGOgHIAEoBUIEwD7SCVIKYmFyT3B0aW9uczp2Cgtmb29fb3B0aW9ucxIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMY6QcgASgLMjUucHJvdG9idWZfdW5pdHRlc3Rfc2VsZnJlZmVyZW50aWFsX29wdGlvbnMuRm9vT3B0aW9uc1IKZm9vT3B0aW9uczpWCgtmb29faW50X29wdBI1LnByb3RvYnVmX3VuaXR0ZXN0X3NlbGZyZWZlcmVudGlhbF9vcHRpb25zLkZvb09wdGlvbnMY6AcgASgFUglmb29JbnRPcHQ6jQEKC2Zvb19mb29fb3B0EjUucHJvdG9idWZfdW5pdHRlc3Rfc2VsZnJlZmVyZW50aWFsX29wdGlvbnMuRm9vT3B0aW9ucxjpByABKAsyNS5wcm90b2J1Zl91bml0dGVzdF9zZWxmcmVmZXJlbnRpYWxfb3B0aW9ucy5Gb29PcHRpb25zUglmb29Gb29PcHRCNKoCMVVuaXRUZXN0Lklzc3Vlcy5UZXN0UHJvdG9zLlNlbGZyZWZlcmVudGlhbE9wdGlvbnNK/QgKBhIEBwAnAQqUAgoBDBIDBwASMokCIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBvciBhdAogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCgoICgECEgMJADIKCQoCAwASAwsAKgoICgEIEgMNAE4KCQoCCCUSAw0ATgoKCgIEABIEDwAbAQoKCgMEAAESAw8IEgpQCgQEAAIAEgQRAhUFGkIgQ3VzdG9tIGZpZWxkIG9wdGlvbiB1c2VkIGluIGRlZmluaXRpb24gb2YgdGhlIGV4dGVuc2lvbiBtZXNzYWdlLgoKDAoFBAACAAQSAxECCgoMCgUEAAIABRIDEQsQCgwKBQQAAgABEgMRERgKDAoFBAACAAMSAxEbHAoNCgUEAAIACBIEER0VBAoPCgcEAAIACOkHEgQRHhUDClUKBAQAAgESAxgCORpIIEN1c3RvbSBmaWVsZCBvcHRpb24gdXNlZCBpbiBkZWZpbml0aW9uIG9mIHRoZSBjdXN0b20gb3B0aW9uJ3MgbWVzc2FnZS4KCgwKBQQAAgEEEgMYAgoKDAoFBAACAQUSAxgLEAoMCgUEAAIBARIDGBEUCgwKBQQAAgEDEgMYFxgKDAoFBAACAQgSAxgZOAoOCgcEAAIBCOkHEgMYGjcKCgoDBAAFEgMaAhkKCwoEBAAFABIDGg0YCgwKBQQABQABEgMaDREKDAoFBAAFAAISAxoVGAoJCgEHEgQdACIBCk0KAgcAEgMfAjsaQiBDdXN0b20gZmllbGQgb3B0aW9uIHVzZWQgb24gdGhlIGRlZmluaXRpb24gb2YgdGhhdCBmaWVsZCBvcHRpb24uCgoKCgMHAAISAx0HIwoKCgMHAAQSAx8CCgoKCgMHAAUSAx8LEAoKCgMHAAESAx8RHAoKCgMHAAMSAx8fIwoKCgMHAAgSAx8kOgoMCgUHAAjoBxIDHyU5CgkKAgcBEgMhAikKCgoDBwECEgMdByMKCgoDBwEEEgMhAgoKCgoDBwEGEgMhCxUKCgoDBwEBEgMhFiEKCgoDBwEDEgMhJCgKCQoBBxIEJAAnAQoJCgIHAhIDJQIkCgoKAwcCAhIDJAcRCgoKAwcCBBIDJQIKCgoKAwcCBRIDJQsQCgoKAwcCARIDJREcCgoKAwcCAxIDJR8jCgkKAgcDEgMmAikKCgoDBwMCEgMkBxEKCgoDBwMEEgMmAgoKCgoDBwMGEgMmCxUKCgoDBwMBEgMmFiEKCgoDBwMDEgMmJCgKxC4KGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI2CgNBbnkSGQoIdHlwZV91cmwYASABKAlSB3R5cGVVcmwSFAoFdmFsdWUYAiABKAxSBXZhbHVlQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSt0sCgcSBR4AoQEBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgBDCgkKAggLEgMiAEMKCAoBCBIDIwAsCgkKAggBEgMjACwKCAoBCBIDJAApCgkKAggIEgMkACkKCAoBCBIDJQAiCgkKAggKEgMlACIKCAoBCBIDJgAhCgkKAggkEgMmACEKCAoBCBIDJwA7CgkKAgglEgMnADsK/BEKAgQAEgV/AKEBARruESBgQW55YCBjb250YWlucyBhbiBhcmJpdHJhcnkgc2VyaWFsaXplZCBwcm90b2NvbCBidWZmZXIgbWVzc2FnZSBhbG9uZyB3aXRoIGEKIFVSTCB0aGF0IGRlc2NyaWJlcyB0aGUgdHlwZSBvZiB0aGUgc2VyaWFsaXplZCBtZXNzYWdlLgoKIFByb3RvYnVmIGxpYnJhcnkgcHJvdmlkZXMgc3VwcG9ydCB0byBwYWNrL3VucGFjayBBbnkgdmFsdWVzIGluIHRoZSBmb3JtCiBvZiB1dGlsaXR5IGZ1bmN0aW9ucyBvciBhZGRpdGlvbmFsIGdlbmVyYXRlZCBtZXRob2RzIG9mIHRoZSBBbnkgdHlwZS4KCiBFeGFtcGxlIDE6IFBhY2sgYW5kIHVucGFjayBhIG1lc3NhZ2UgaW4gQysrLgoKICAgICBGb28gZm9vID0gLi4uOwogICAgIEFueSBhbnk7CiAgICAgYW55LlBhY2tGcm9tKGZvbyk7CiAgICAgLi4uCiAgICAgaWYgKGFueS5VbnBhY2tUbygmZm9vKSkgewogICAgICAgLi4uCiAgICAgfQoKIEV4YW1wbGUgMjogUGFjayBhbmQgdW5wYWNrIGEgbWVzc2FnZSBpbiBKYXZhLgoKICAgICBGb28gZm9vID0gLi4uOwogICAgIEFueSBhbnkgPSBBbnkucGFjayhmb28pOwogICAgIC4uLgogICAgIGlmIChhbnkuaXMoRm9vLmNsYXNzKSkgewogICAgICAgZm9vID0gYW55LnVucGFjayhGb28uY2xhc3MpOwogICAgIH0KICAgICAvLyBvciAuLi4KICAgICBpZiAoYW55LmlzU2FtZVR5cGVBcyhGb28uZ2V0RGVmYXVsdEluc3RhbmNlKCkpKSB7CiAgICAgICBmb28gPSBhbnkudW5wYWNrKEZvby5nZXREZWZhdWx0SW5zdGFuY2UoKSk7CiAgICAgfQoKICBFeGFtcGxlIDM6IFBhY2sgYW5kIHVucGFjayBhIG1lc3NhZ2UgaW4gUHl0aG9uLgoKICAgICBmb28gPSBGb28oLi4uKQogICAgIGFueSA9IEFueSgpCiAgICAgYW55LlBhY2soZm9vKQogICAgIC4uLgogICAgIGlmIGFueS5JcyhGb28uREVTQ1JJUFRPUik6CiAgICAgICBhbnkuVW5wYWNrKGZvbykKICAgICAgIC4uLgoKICBFeGFtcGxlIDQ6IFBhY2sgYW5kIHVucGFjayBhIG1lc3NhZ2UgaW4gR28KCiAgICAgIGZvbyA6PSAmcGIuRm9vey4uLn0KICAgICAgYW55LCBlcnIgOj0gYW55cGIuTmV3KGZvbykKICAgICAgaWYgZXJyICE9IG5pbCB7CiAgICAgICAgLi4uCiAgICAgIH0KICAgICAgLi4uCiAgICAgIGZvbyA6PSAmcGIuRm9ve30KICAgICAgaWYgZXJyIDo9IGFueS5Vbm1hcnNoYWxUbyhmb28pOyBlcnIgIT0gbmlsIHsKICAgICAgICAuLi4KICAgICAgfQoKIFRoZSBwYWNrIG1ldGhvZHMgcHJvdmlkZWQgYnkgcHJvdG9idWYgbGlicmFyeSB3aWxsIGJ5IGRlZmF1bHQgdXNlCiAndHlwZS5nb29nbGVhcGlzLmNvbS9mdWxsLnR5cGUubmFtZScgYXMgdGhlIHR5cGUgVVJMIGFuZCB0aGUgdW5wYWNrCiBtZXRob2RzIG9ubHkgdXNlIHRoZSBmdWxseSBxdWFsaWZpZWQgdHlwZSBuYW1lIGFmdGVyIHRoZSBsYXN0ICcvJwogaW4gdGhlIHR5cGUgVVJMLCBmb3IgZXhhbXBsZSAiZm9vLmJhci5jb20veC95LnoiIHdpbGwgeWllbGQgdHlwZQogbmFtZSAieS56Ii4KCiBKU09OCiA9PT09CiBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBvZiBhbiBgQW55YCB2YWx1ZSB1c2VzIHRoZSByZWd1bGFyCiByZXByZXNlbnRhdGlvbiBvZiB0aGUgZGVzZXJpYWxpemVkLCBlbWJlZGRlZCBtZXNzYWdlLCB3aXRoIGFuCiBhZGRpdGlvbmFsIGZpZWxkIGBAdHlwZWAgd2hpY2ggY29udGFpbnMgdGhlIHR5cGUgVVJMLiBFeGFtcGxlOgoKICAgICBwYWNrYWdlIGdvb2dsZS5wcm9maWxlOwogICAgIG1lc3NhZ2UgUGVyc29uIHsKICAgICAgIHN0cmluZyBmaXJzdF9uYW1lID0gMTsKICAgICAgIHN0cmluZyBsYXN0X25hbWUgPSAyOwogICAgIH0KCiAgICAgewogICAgICAgIkB0eXBlIjogInR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLnByb2ZpbGUuUGVyc29uIiwKICAgICAgICJmaXJzdE5hbWUiOiA8c3RyaW5nPiwKICAgICAgICJsYXN0TmFtZSI6IDxzdHJpbmc+CiAgICAgfQoKIElmIHRoZSBlbWJlZGRlZCBtZXNzYWdlIHR5cGUgaXMgd2VsbC1rbm93biBhbmQgaGFzIGEgY3VzdG9tIEpTT04KIHJlcHJlc2VudGF0aW9uLCB0aGF0IHJlcHJlc2VudGF0aW9uIHdpbGwgYmUgZW1iZWRkZWQgYWRkaW5nIGEgZmllbGQKIGB2YWx1ZWAgd2hpY2ggaG9sZHMgdGhlIGN1c3RvbSBKU09OIGluIGFkZGl0aW9uIHRvIHRoZSBgQHR5cGVgCiBmaWVsZC4gRXhhbXBsZSAoZm9yIG1lc3NhZ2UgW2dvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbl1bXSk6CgogICAgIHsKICAgICAgICJAdHlwZSI6ICJ0eXBlLmdvb2dsZWFwaXMuY29tL2dvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbiIsCiAgICAgICAidmFsdWUiOiAiMS4yMTJzIgogICAgIH0KCgoKCgMEAAESA38ICwq8CwoEBAACABIEnQECFhqtCyBBIFVSTC9yZXNvdXJjZSBuYW1lIHRoYXQgdW5pcXVlbHkgaWRlbnRpZmllcyB0aGUgdHlwZSBvZiB0aGUgc2VyaWFsaXplZAogcHJvdG9jb2wgYnVmZmVyIG1lc3NhZ2UuIFRoaXMgc3RyaW5nIG11c3QgY29udGFpbiBhdCBsZWFzdAogb25lICIvIiBjaGFyYWN0ZXIuIFRoZSBsYXN0IHNlZ21lbnQgb2YgdGhlIFVSTCdzIHBhdGggbXVzdCByZXByZXNlbnQKIHRoZSBmdWxseSBxdWFsaWZpZWQgbmFtZSBvZiB0aGUgdHlwZSAoYXMgaW4KIGBwYXRoL2dvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbmApLiBUaGUgbmFtZSBzaG91bGQgYmUgaW4gYSBjYW5vbmljYWwgZm9ybQogKGUuZy4sIGxlYWRpbmcgIi4iIGlzIG5vdCBhY2NlcHRlZCkuCgogSW4gcHJhY3RpY2UsIHRlYW1zIHVzdWFsbHkgcHJlY29tcGlsZSBpbnRvIHRoZSBiaW5hcnkgYWxsIHR5cGVzIHRoYXQgdGhleQogZXhwZWN0IGl0IHRvIHVzZSBpbiB0aGUgY29udGV4dCBvZiBBbnkuIEhvd2V2ZXIsIGZvciBVUkxzIHdoaWNoIHVzZSB0aGUKIHNjaGVtZSBgaHR0cGAsIGBodHRwc2AsIG9yIG5vIHNjaGVtZSwgb25lIGNhbiBvcHRpb25hbGx5IHNldCB1cCBhIHR5cGUKIHNlcnZlciB0aGF0IG1hcHMgdHlwZSBVUkxzIHRvIG1lc3NhZ2UgZGVmaW5pdGlvbnMgYXMgZm9sbG93czoKCiAqIElmIG5vIHNjaGVtZSBpcyBwcm92aWRlZCwgYGh0dHBzYCBpcyBhc3N1bWVkLgogKiBBbiBIVFRQIEdFVCBvbiB0aGUgVVJMIG11c3QgeWllbGQgYSBbZ29vZ2xlLnByb3RvYnVmLlR5cGVdW10KICAgdmFsdWUgaW4gYmluYXJ5IGZvcm1hdCwgb3IgcHJvZHVjZSBhbiBlcnJvci4KICogQXBwbGljYXRpb25zIGFyZSBhbGxvd2VkIHRvIGNhY2hlIGxvb2t1cCByZXN1bHRzIGJhc2VkIG9uIHRoZQogICBVUkwsIG9yIGhhdmUgdGhlbSBwcmVjb21waWxlZCBpbnRvIGEgYmluYXJ5IHRvIGF2b2lkIGFueQogICBsb29rdXAuIFRoZXJlZm9yZSwgYmluYXJ5IGNvbXBhdGliaWxpdHkgbmVlZHMgdG8gYmUgcHJlc2VydmVkCiAgIG9uIGNoYW5nZXMgdG8gdHlwZXMuIChVc2UgdmVyc2lvbmVkIHR5cGUgbmFtZXMgdG8gbWFuYWdlCiAgIGJyZWFraW5nIGNoYW5nZXMuKQoKIE5vdGU6IHRoaXMgZnVuY3Rpb25hbGl0eSBpcyBub3QgY3VycmVudGx5IGF2YWlsYWJsZSBpbiB0aGUgb2ZmaWNpYWwKIHByb3RvYnVmIHJlbGVhc2UsIGFuZCBpdCBpcyBub3QgdXNlZCBmb3IgdHlwZSBVUkxzIGJlZ2lubmluZyB3aXRoCiB0eXBlLmdvb2dsZWFwaXMuY29tLiBBcyBvZiBNYXkgMjAyMywgdGhlcmUgYXJlIG5vIHdpZGVseSB1c2VkIHR5cGUgc2VydmVyCiBpbXBsZW1lbnRhdGlvbnMgYW5kIG5vIHBsYW5zIHRvIGltcGxlbWVudCBvbmUuCgogU2NoZW1lcyBvdGhlciB0aGFuIGBodHRwYCwgYGh0dHBzYCAob3IgdGhlIGVtcHR5IHNjaGVtZSkgbWlnaHQgYmUKIHVzZWQgd2l0aCBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYyBzZW1hbnRpY3MuCgoKDQoFBAACAAUSBJ0BAggKDQoFBAACAAESBJ0BCREKDQoFBAACAAMSBJ0BFBUKVwoEBAACARIEoAECEhpJIE11c3QgYmUgYSB2YWxpZCBzZXJpYWxpemVkIHByb3RvY29sIGJ1ZmZlciBvZiB0aGUgYWJvdmUgc3BlY2lmaWVkIHR5cGUuCgoNCgUEAAIBBRIEoAECBwoNCgUEAAIBARIEoAEIDQoNCgUEAAIBAxIEoAEQEWIGcHJvdG8zCr4SCiRnb29nbGUvcHJvdG9idWYvc291cmNlX2NvbnRleHQucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIsCg1Tb3VyY2VDb250ZXh0EhsKCWZpbGVfbmFtZRgBIAEoCVIIZmlsZU5hbWVCigEKE2NvbS5nb29nbGUucHJvdG9idWZCElNvdXJjZUNvbnRleHRQcm90b1ABWjZnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi9zb3VyY2Vjb250ZXh0cGKiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNKwRAKBhIEHgAvAQrMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIALAoJCgIIARIDIgAsCggKAQgSAyMAMwoJCgIICBIDIwAzCggKAQgSAyQAIgoJCgIIChIDJAAiCggKAQgSAyUAIQoJCgIIJBIDJQAhCggKAQgSAyYAOwoJCgIIJRIDJgA7CggKAQgSAycATQoJCgIICxIDJwBNCoMBCgIEABIEKwAvARp3IGBTb3VyY2VDb250ZXh0YCByZXByZXNlbnRzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzb3VyY2Ugb2YgYQogcHJvdG9idWYgZWxlbWVudCwgbGlrZSB0aGUgZmlsZSBpbiB3aGljaCBpdCBpcyBkZWZpbmVkLgoKCgoDBAABEgMrCBUKowEKBAQAAgASAy4CFxqVASBUaGUgcGF0aC1xdWFsaWZpZWQgbmFtZSBvZiB0aGUgLnByb3RvIGZpbGUgdGhhdCBjb250YWluZWQgdGhlIGFzc29jaWF0ZWQKIHByb3RvYnVmIGVsZW1lbnQuICBGb3IgZXhhbXBsZTogYCJnb29nbGUvcHJvdG9idWYvc291cmNlX2NvbnRleHQucHJvdG8iYC4KCgwKBQQAAgAFEgMuAggKDAoFBAACAAESAy4JEgoMCgUEAAIAAxIDLhUWYgZwcm90bzMK+0kKGmdvb2dsZS9wcm90b2J1Zi90eXBlLnByb3RvEg9nb29nbGUucHJvdG9idWYaGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8aJGdvb2dsZS9wcm90b2J1Zi9zb3VyY2VfY29udGV4dC5wcm90byKnAgoEVHlwZRISCgRuYW1lGAEgASgJUgRuYW1lEi4KBmZpZWxkcxgCIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5GaWVsZFIGZmllbGRzEhYKBm9uZW9mcxgDIAMoCVIGb25lb2ZzEjEKB29wdGlvbnMYBCADKAsyFy5nb29nbGUucHJvdG9idWYuT3B0aW9uUgdvcHRpb25zEkUKDnNvdXJjZV9jb250ZXh0GAUgASgLMh4uZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvbnRleHRSDXNvdXJjZUNvbnRleHQSLwoGc3ludGF4GAYgASgOMhcuZ29vZ2xlLnByb3RvYnVmLlN5bnRheFIGc3ludGF4EhgKB2VkaXRpb24YByABKAlSB2VkaXRpb24itAYKBUZpZWxkEi8KBGtpbmQYASABKA4yGy5nb29nbGUucHJvdG9idWYuRmllbGQuS2luZFIEa2luZBJECgtjYXJkaW5hbGl0eRgCIAEoDjIiLmdvb2dsZS5wcm90b2J1Zi5GaWVsZC5DYXJkaW5hbGl0eVILY2FyZGluYWxpdHkSFgoGbnVtYmVyGAMgASgFUgZudW1iZXISEgoEbmFtZRgEIAEoCVIEbmFtZRIZCgh0eXBlX3VybBgGIAEoCVIHdHlwZVVybBIfCgtvbmVvZl9pbmRleBgHIAEoBVIKb25lb2ZJbmRleBIWCgZwYWNrZWQYCCABKAhSBnBhY2tlZBIxCgdvcHRpb25zGAkgAygLMhcuZ29vZ2xlLnByb3RvYnVmLk9wdGlvblIHb3B0aW9ucxIbCglqc29uX25hbWUYCiABKAlSCGpzb25OYW1lEiMKDWRlZmF1bHRfdmFsdWUYCyABKAlSDGRlZmF1bHRWYWx1ZSLIAgoES2luZBIQCgxUWVBFX1VOS05PV04QABIPCgtUWVBFX0RPVUJMRRABEg4KClRZUEVfRkxPQVQQAhIOCgpUWVBFX0lOVDY0EAMSDwoLVFlQRV9VSU5UNjQQBBIOCgpUWVBFX0lOVDMyEAUSEAoMVFlQRV9GSVhFRDY0EAYSEAoMVFlQRV9GSVhFRDMyEAcSDQoJVFlQRV9CT09MEAgSDwoLVFlQRV9TVFJJTkcQCRIOCgpUWVBFX0dST1VQEAoSEAoMVFlQRV9NRVNTQUdFEAsSDgoKVFlQRV9CWVRFUxAMEg8KC1RZUEVfVUlOVDMyEA0SDQoJVFlQRV9FTlVNEA4SEQoNVFlQRV9TRklYRUQzMhAPEhEKDVRZUEVfU0ZJWEVENjQQEBIPCgtUWVBFX1NJTlQzMhAREg8KC1RZUEVfU0lOVDY0EBIidAoLQ2FyZGluYWxpdHkSFwoTQ0FSRElOQUxJVFlfVU5LTk9XThAAEhgKFENBUkRJTkFMSVRZX09QVElPTkFMEAESGAoUQ0FSRElOQUxJVFlfUkVRVUlSRUQQAhIYChRDQVJESU5BTElUWV9SRVBFQVRFRBADIpkCCgRFbnVtEhIKBG5hbWUYASABKAlSBG5hbWUSOAoJZW51bXZhbHVlGAIgAygLMhouZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZVIJZW51bXZhbHVlEjEKB29wdGlvbnMYAyADKAsyFy5nb29nbGUucHJvdG9idWYuT3B0aW9uUgdvcHRpb25zEkUKDnNvdXJjZV9jb250ZXh0GAQgASgLMh4uZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvbnRleHRSDXNvdXJjZUNvbnRleHQSLwoGc3ludGF4GAUgASgOMhcuZ29vZ2xlLnByb3RvYnVmLlN5bnRheFIGc3ludGF4EhgKB2VkaXRpb24YBiABKAlSB2VkaXRpb24iagoJRW51bVZhbHVlEhIKBG5hbWUYASABKAlSBG5hbWUSFgoGbnVtYmVyGAIgASgFUgZudW1iZXISMQoHb3B0aW9ucxgDIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5PcHRpb25SB29wdGlvbnMiSAoGT3B0aW9uEhIKBG5hbWUYASABKAlSBG5hbWUSKgoFdmFsdWUYAiABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgV2YWx1ZSpDCgZTeW50YXgSEQoNU1lOVEFYX1BST1RPMhAAEhEKDVNZTlRBWF9QUk9UTzMQARITCg9TWU5UQVhfRURJVElPTlMQAkJ7ChNjb20uZ29vZ2xlLnByb3RvYnVmQglUeXBlUHJvdG9QAVotZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vdHlwZXBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSo07CgcSBR4AwAEBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCQoCAwASAyIAIwoJCgIDARIDIwAuCggKAQgSAyUAHwoJCgIIHxIDJQAfCggKAQgS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Z29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvCiBzaG91bGQgYmUgdXNlZC4gSWYgdGhlIHZhbHVlIGlzIGFuIGVudW0sIGl0IHNob3VsZCBiZSBzdG9yZWQgYXMgYW4gaW50MzIKIHZhbHVlIHVzaW5nIHRoZSBnb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZSB0eXBlLgoKDQoFBAQCAQYSBLUBAgUKDQoFBAQCAQESBLUBBgsKDQoFBAQCAQMSBLUBDg8KSQoCBQASBrkBAMABARo7IFRoZSBzeW50YXggaW4gd2hpY2ggYSBwcm90b2NvbCBidWZmZXIgZWxlbWVudCBpcyBkZWZpbmVkLgoKCwoDBQABEgS5AQULCiAKBAUAAgASBLsBAhQaEiBTeW50YXggYHByb3RvMmAuCgoNCgUFAAIAARIEuwECDwoNCgUFAAIAAhIEuwESEwogCgQFAAIBEgS9AQIUGhIgU3ludGF4IGBwcm90bzNgLgoKDQoFBQACAQESBL0BAg8KDQoFBQACAQISBL0BEhMKIgoEBQACAhIEvwECFhoUIFN5bnRheCBgZWRpdGlvbnNgLgoKDQoFBQACAgESBL8BAhEKDQoFBQACAgISBL8BFBViBnByb3RvMwqaQwoZZ29vZ2xlL3Byb3RvYnVmL2FwaS5wcm90bxIPZ29vZ2xlLnByb3RvYnVmGiRnb29nbGUvcHJvdG9idWYvc291cmNlX2NvbnRleHQucHJvdG8aGmdvb2dsZS9wcm90b2J1Zi90eXBlLnByb3RvIsECCgNBcGkSEgoEbmFtZRgBIAEoCVIEbmFtZRIxCgdtZXRob2RzGAIgAygLMhcuZ29vZ2xlLnByb3RvYnVmLk1ldGhvZFIHbWV0aG9kcxIxCgdvcHRpb25zGAMgAygLMhcuZ29vZ2xlLnByb3RvYnVmLk9wdGlvblIHb3B0aW9ucxIYCgd2ZXJzaW9uGAQgASgJUgd2ZXJzaW9uEkUKDnNvdXJjZV9jb250ZXh0GAUgASgLMh4uZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvbnRleHRSDXNvdXJjZUNvbnRleHQSLgoGbWl4aW5zGAYgAygLMhYuZ29vZ2xlLnByb3RvYnVmLk1peGluUgZtaXhpbnMSLwoGc3ludGF4GAcgASgOMhcuZ29vZ2xlLnByb3RvYnVmLlN5bnRheFIGc3ludGF4IrICCgZNZXRob2QSEgoEbmFtZRgBIAEoCVIEbmFtZRIoChByZXF1ZXN0X3R5cGVfdXJsGAIgASgJUg5yZXF1ZXN0VHlwZVVybBIrChFyZXF1ZXN0X3N0cmVhbWluZxgDIAEoCFIQcmVxdWVzdFN0cmVhbWluZxIqChFyZXNwb25zZV90eXBlX3VybBgEIAEoCVIPcmVzcG9uc2VUeXBlVXJsEi0KEnJlc3BvbnNlX3N0cmVhbWluZxgFIAEoCFIRcmVzcG9uc2VTdHJlYW1pbmcSMQoHb3B0aW9ucxgGIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5PcHRpb25SB29wdGlvbnMSLwoGc3ludGF4GAcgASgOMhcuZ29vZ2xlLnByb3RvYnVmLlN5bnRheFIGc3ludGF4Ii8KBU1peGluEhIKBG5hbWUYASABKAlSBG5hbWUSEgoEcm9vdBgCIAEoCVIEcm9vdEJ2ChNjb20uZ29vZ2xlLnByb3RvYnVmQghBcGlQcm90b1ABWixnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi9hcGlwYqICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc0r/OwoHEgUeAM4BAQrMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCgkKAgMAEgMiAC4KCQoCAwESAyMAJAoICgEIEgMlACwKCQoCCAESAyUALAoICgEIEgMmACkKCQoCCAgSAyYAKQoICgEIEgMnACIKCQoCCAoSAycAIgoICgEIEgMoACEKCQoCCCQSAygAIQoICgEIEgMpADsKCQoCCCUSAykAOwoICgEIEgMqAEMKCQoCCAsSAyoAQwqrBAoCBAASBDUAXwEangQgQXBpIGlzIGEgbGlnaHQtd2VpZ2h0IGRlc2NyaXB0b3IgZm9yIGFuIEFQSSBJbnRlcmZhY2UuCgogSW50ZXJmYWNlcyBhcmUgYWxzbyBkZXNjcmliZWQgYXMgInByb3RvY29sIGJ1ZmZlciBzZXJ2aWNlcyIgaW4gc29tZSBjb250ZXh0cywKIHN1Y2ggYXMgYnkgdGhlICJzZXJ2aWNlIiBrZXl3b3JkIGluIGEgLnByb3RvIGZpbGUsIGJ1dCB0aGV5IGFyZSBkaWZmZXJlbnQKIGZyb20gQVBJIFNlcnZpY2VzLCB3aGljaCByZXByZXNlbnQgYSBjb25jcmV0ZSBpbXBsZW1lbnRhdGlvbiBvZiBhbiBpbnRlcmZhY2UKIGFzIG9wcG9zZWQgdG8gc2ltcGx5IGEgZGVzY3JpcHRpb24gb2YgbWV0aG9kcyBhbmQgYmluZGluZ3MuIFRoZXkgYXJlIGFsc28KIHNvbWV0aW1lcyBzaW1wbHkgcmVmZXJyZWQgdG8gYXMgIkFQSXMiIGluIG90aGVyIGNvbnRleHRzLCBzdWNoIGFzIHRoZSBuYW1lIG9mCiB0aGlzIG1lc3NhZ2UgaXRzZWxmLiBTZWUgaHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL2FwaXMvZGVzaWduL2dsb3NzYXJ5IGZvcgogZGV0YWlsZWQgdGVybWlub2xvZ3kuCgoKCgMEAAESAzUICwp7CgQEAAIAEgM4AhIabiBUaGUgZnVsbHkgcXVhbGlmaWVkIG5hbWUgb2YgdGhpcyBpbnRlcmZhY2UsIGluY2x1ZGluZyBwYWNrYWdlIG5hbWUKIGZvbGxvd2VkIGJ5IHRoZSBpbnRlcmZhY2UncyBzaW1wbGUgbmFtZS4KCgwKBQQAAgAFEgM4AggKDAoFBAACAAESAzgJDQoMCgUEAAIAAxIDOBARCkMKBAQAAgESAzsCHho2IFRoZSBtZXRob2RzIG9mIHRoaXMgaW50ZXJmYWNlLCBpbiB1bnNwZWNpZmllZCBvcmRlci4KCgwKBQQAAgEEEgM7AgoKDAoFBAACAQYSAzsLEQoMCgUEAAIBARIDOxIZCgwKBQQAAgEDEgM7HB0KNgoEBAACAhIDPgIeGikgQW55IG1ldGFkYXRhIGF0dGFjaGVkIHRvIHRoZSBpbnRlcmZhY2UuCgoMCgUEAAICBBIDPgIKCgwKBQQAAgIGEgM+CxEKDAoFBAACAgESAz4SGQoMCgUEAAICAxIDPhwdCoEICgQEAAIDEgNUAhUa8wcgQSB2ZXJzaW9uIHN0cmluZyBmb3IgdGhpcyBpbnRlcmZhY2UuIElmIHNwZWNpZmllZCwgbXVzdCBoYXZlIHRoZSBmb3JtCiBgbWFqb3ItdmVyc2lvbi5taW5vci12ZXJzaW9uYCwgYXMgaW4gYDEuMTBgLiBJZiB0aGUgbWlub3IgdmVyc2lvbiBpcwogb21pdHRlZCwgaXQgZGVmYXVsdHMgdG8gemVyby4gSWYgdGhlIGVudGlyZSB2ZXJzaW9uIGZpZWxkIGlzIGVtcHR5LCB0aGUKIG1ham9yIHZlcnNpb24gaXMgZGVyaXZlZCBmcm9tIHRoZSBwYWNrYWdlIG5hbWUsIGFzIG91dGxpbmVkIGJlbG93LiBJZiB0aGUKIGZpZWxkIGlzIG5vdCBlbXB0eSwgdGhlIHZlcnNpb24gaW4gdGhlIHBhY2thZ2UgbmFtZSB3aWxsIGJlIHZlcmlmaWVkIHRvIGJlCiBjb25zaXN0ZW50IHdpdGggd2hhdCBpcyBwcm92aWRlZCBoZXJlLgoKIFRoZSB2ZXJzaW9uaW5nIHNjaGVtYSB1c2VzIFtzZW1hbnRpYwogdmVyc2lvbmluZ10oaHR0cDovL3NlbXZlci5vcmcpIHdoZXJlIHRoZSBtYWpvciB2ZXJzaW9uIG51bWJlcgogaW5kaWNhdGVzIGEgYnJlYWtpbmcgY2hhbmdlIGFuZCB0aGUgbWlub3IgdmVyc2lvbiBhbiBhZGRpdGl2ZSwKIG5vbi1icmVha2luZyBjaGFuZ2UuIEJvdGggdmVyc2lvbiBudW1iZXJzIGFyZSBzaWduYWxzIHRvIHVzZXJzCiB3aGF0IHRvIGV4cGVjdCBmcm9tIGRpZmZlcmVudCB2ZXJzaW9ucywgYW5kIHNob3VsZCBiZSBjYXJlZnVsbHkKIGNob3NlbiBiYXNlZCBvbiB0aGUgcHJvZHVjdCBwbGFuLgoKIFRoZSBtYWpvciB2ZXJzaW9uIGlzIGFsc28gcmVmbGVjdGVkIGluIHRoZSBwYWNrYWdlIG5hbWUgb2YgdGhlCiBpbnRlcmZhY2UsIHdoaWNoIG11c3QgZW5kIGluIGB2PG1ham9yLXZlcnNpb24+YCwgYXMgaW4KIGBnb29nbGUuZmVhdHVyZS52MWAuIEZvciBtYWpvciB2ZXJzaW9ucyAwIGFuZCAxLCB0aGUgc3VmZml4IGNhbgogYmUgb21pdHRlZC4gWmVybyBtYWpvciB2ZXJzaW9ucyBtdXN0IG9ubHkgYmUgdXNlZCBmb3IKIGV4cGVyaW1lbnRhbCwgbm9uLUdBIGludGVyZmFjZXMuCgoKDAoFBAACAwUSA1QCCAoMCgUEAAIDARIDVAkQCgwKBQQAAgMDEgNUExQKWwoEBAACBBIDWAIjGk4gU291cmNlIGNvbnRleHQgZm9yIHRoZSBwcm90b2NvbCBidWZmZXIgc2VydmljZSByZXByZXNlbnRlZCBieSB0aGlzCiBtZXNzYWdlLgoKDAoFBAACBAYSA1gCDwoMCgUEAAIEARIDWBAeCgwKBQQAAgQDEgNYISIKMgoEBAACBRIDWwIcGiUgSW5jbHVkZWQgaW50ZXJmYWNlcy4gU2VlIFtNaXhpbl1bXS4KCgwKBQQAAgUEEgNbAgoKDAoFBAACBQYSA1sLEAoMCgUEAAIFARIDWxEXCgwKBQQAAgUDEgNbGhsKMAoEBAACBhIDXgIUGiMgVGhlIHNvdXJjZSBzeW50YXggb2YgdGhlIHNlcnZpY2UuCgoMCgUEAAIGBhIDXgIICgwKBQQAAgYBEgNeCQ8KDAoFBAACBgMSA14SEwo9CgIEARIEYgB3ARoxIE1ldGhvZCByZXByZXNlbnRzIGEgbWV0aG9kIG9mIGFuIEFQSSBpbnRlcmZhY2UuCgoKCgMEAQESA2IIDgouCgQEAQIAEgNkAhIaISBUaGUgc2ltcGxlIG5hbWUgb2YgdGhpcyBtZXRob2QuCgoMCgUEAQIABRIDZAIICgwKBQQBAgABEgNkCQ0KDAoFBAECAAMSA2QQEQovCgQEAQIBEgNnAh4aIiBBIFVSTCBvZiB0aGUgaW5wdXQgbWVzc2FnZSB0eXBlLgoKDAoFBAECAQUSA2cCCAoMCgUEAQIBARIDZwkZCgwKBQQBAgEDEgNnHB0KMAoEBAECAhIDagIdGiMgSWYgdHJ1ZSwgdGhlIHJlcXVlc3QgaXMgc3RyZWFtZWQuCgoMCgUEAQICBRIDagIGCgwKBQQBAgIBEgNqBxgKDAoFBAECAgMSA2obHAoyCgQEAQIDEgNtAh8aJSBUaGUgVVJMIG9mIHRoZSBvdXRwdXQgbWVzc2FnZSB0eXBlLgoKDAoFBAECAwUSA20CCAoMCgUEAQIDARIDbQkaCgwKBQQBAgMDEgNtHR4KMQoEBAECBBIDcAIeGiQgSWYgdHJ1ZSwgdGhlIHJlc3BvbnNlIGlzIHN0cmVhbWVkLgoKDAoFBAECBAUSA3ACBgoMCgUEAQIEARIDcAcZCgwKBQQBAgQDEgNwHB0KMwoEBAECBRIDcwIeGiYgQW55IG1ldGFkYXRhIGF0dGFjaGVkIHRvIHRoZSBtZXRob2QuCgoMCgUEAQIFBBIDcwIKCgwKBQQBAgUGEgNzCxEKDAoFBAECBQESA3MSGQoMCgUEAQIFAxIDcxwdCjAKBAQBAgYSA3YCFBojIFRoZSBzb3VyY2Ugc3ludGF4IG9mIHRoaXMgbWV0aG9kLgoKDAoFBAECBgYSA3YCCAoMCgUEAQIGARIDdgkPCgwKBQQBAgYDEgN2EhMKyRMKAgQCEgbHAQDOAQEauhMgRGVjbGFyZXMgYW4gQVBJIEludGVyZmFjZSB0byBiZSBpbmNsdWRlZCBpbiB0aGlzIGludGVyZmFjZS4gVGhlIGluY2x1ZGluZwogaW50ZXJmYWNlIG11c3QgcmVkZWNsYXJlIGFsbCB0aGUgbWV0aG9kcyBmcm9tIHRoZSBpbmNsdWRlZCBpbnRlcmZhY2UsIGJ1dAogZG9jdW1lbnRhdGlvbiBhbmQgb3B0aW9ucyBhcmUgaW5oZXJpdGVkIGFzIGZvbGxvd3M6CgogLSBJZiBhZnRlciBjb21tZW50IGFuZCB3aGl0ZXNwYWNlIHN0cmlwcGluZywgdGhlIGRvY3VtZW50YXRpb24KICAgc3RyaW5nIG9mIHRoZSByZWRlY2xhcmVkIG1ldGhvZCBpcyBlbXB0eSwgaXQgd2lsbCBiZSBpbmhlcml0ZWQKICAgZnJvbSB0aGUgb3JpZ2luYWwgbWV0aG9kLgoKIC0gRWFjaCBhbm5vdGF0aW9uIGJlbG9uZ2luZyB0byB0aGUgc2VydmljZSBjb25maWcgKGh0dHAsCiAgIHZpc2liaWxpdHkpIHdoaWNoIGlzIG5vdCBzZXQgaW4gdGhlIHJlZGVjbGFyZWQgbWV0aG9kIHdpbGwgYmUKICAgaW5oZXJpdGVkLgoKIC0gSWYgYW4gaHR0cCBhbm5vdGF0aW9uIGlzIGluaGVyaXRlZCwgdGhlIHBhdGggcGF0dGVybiB3aWxsIGJlCiAgIG1vZGlmaWVkIGFzIGZvbGxvd3MuIEFueSB2ZXJzaW9uIHByZWZpeCB3aWxsIGJlIHJlcGxhY2VkIGJ5IHRoZQogICB2ZXJzaW9uIG9mIHRoZSBpbmNsdWRpbmcgaW50ZXJmYWNlIHBsdXMgdGhlIFtyb290XVtdIHBhdGggaWYKICAgc3BlY2lmaWVkLgoKIEV4YW1wbGUgb2YgYSBzaW1wbGUgbWl4aW46CgogICAgIHBhY2thZ2UgZ29vZ2xlLmFjbC52MTsKICAgICBzZXJ2aWNlIEFjY2Vzc0NvbnRyb2wgewogICAgICAgLy8gR2V0IHRoZSB1bmRlcmx5aW5nIEFDTCBvYmplY3QuCiAgICAgICBycGMgR2V0QWNsKEdldEFjbFJlcXVlc3QpIHJldHVybnMgKEFjbCkgewogICAgICAgICBvcHRpb24gKGdvb2dsZS5hcGkuaHR0cCkuZ2V0ID0gIi92MS97cmVzb3VyY2U9Kip9OmdldEFjbCI7CiAgICAgICB9CiAgICAgfQoKICAgICBwYWNrYWdlIGdvb2dsZS5zdG9yYWdlLnYyOwogICAgIHNlcnZpY2UgU3RvcmFnZSB7CiAgICAgICBycGMgR2V0QWNsKEdldEFjbFJlcXVlc3QpIHJldHVybnMgKEFjbCk7CgogICAgICAgLy8gR2V0IGEgZGF0YSByZWNvcmQuCiAgICAgICBycGMgR2V0RGF0YShHZXREYXRhUmVxdWVzdCkgcmV0dXJucyAoRGF0YSkgewogICAgICAgICBvcHRpb24gKGdvb2dsZS5hcGkuaHR0cCkuZ2V0ID0gIi92Mi97cmVzb3VyY2U9Kip9IjsKICAgICAgIH0KICAgICB9CgogRXhhbXBsZSBvZiBhIG1peGluIGNvbmZpZ3VyYXRpb246CgogICAgIGFwaXM6CiAgICAgLSBuYW1lOiBnb29nbGUuc3RvcmFnZS52Mi5TdG9yYWdlCiAgICAgICBtaXhpbnM6CiAgICAgICAtIG5hbWU6IGdvb2dsZS5hY2wudjEuQWNjZXNzQ29udHJvbAoKIFRoZSBtaXhpbiBjb25zdHJ1Y3QgaW1wbGllcyB0aGF0IGFsbCBtZXRob2RzIGluIGBBY2Nlc3NDb250cm9sYCBhcmUKIGFsc28gZGVjbGFyZWQgd2l0aCBzYW1lIG5hbWUgYW5kIHJlcXVlc3QvcmVzcG9uc2UgdHlwZXMgaW4KIGBTdG9yYWdlYC4gQSBkb2N1bWVudGF0aW9uIGdlbmVyYXRvciBvciBhbm5vdGF0aW9uIHByb2Nlc3NvciB3aWxsCiBzZWUgdGhlIGVmZmVjdGl2ZSBgU3RvcmFnZS5HZXRBY2xgIG1ldGhvZCBhZnRlciBpbmhlcnRpbmcKIGRvY3VtZW50YXRpb24gYW5kIGFubm90YXRpb25zIGFzIGZvbGxvd3M6CgogICAgIHNlcnZpY2UgU3RvcmFnZSB7CiAgICAgICAvLyBHZXQgdGhlIHVuZGVybHlpbmcgQUNMIG9iamVjdC4KICAgICAgIHJwYyBHZXRBY2woR2V0QWNsUmVxdWVzdCkgcmV0dXJucyAoQWNsKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKS5nZXQgPSAiL3YyL3tyZXNvdXJjZT0qKn06Z2V0QWNsIjsKICAgICAgIH0KICAgICAgIC4uLgogICAgIH0KCiBOb3RlIGhvdyB0aGUgdmVyc2lvbiBpbiB0aGUgcGF0aCBwYXR0ZXJuIGNoYW5nZWQgZnJvbSBgdjFgIHRvIGB2MmAuCgogSWYgdGhlIGByb290YCBmaWVsZCBpbiB0aGUgbWl4aW4gaXMgc3BlY2lmaWVkLCBpdCBzaG91bGQgYmUgYQogcmVsYXRpdmUgcGF0aCB1bmRlciB3aGljaCBpbmhlcml0ZWQgSFRUUCBwYXRocyBhcmUgcGxhY2VkLiBFeGFtcGxlOgoKICAgICBhcGlzOgogICAgIC0gbmFtZTogZ29vZ2xlLnN0b3JhZ2UudjIuU3RvcmFnZQogICAgICAgbWl4aW5zOgogICAgICAgLSBuYW1lOiBnb29nbGUuYWNsLnYxLkFjY2Vzc0NvbnRyb2wKICAgICAgICAgcm9vdDogYWNscwoKIFRoaXMgaW1wbGllcyB0aGUgZm9sbG93aW5nIGluaGVyaXRlZCBIVFRQIGFubm90YXRpb246CgogICAgIHNlcnZpY2UgU3RvcmFnZSB7CiAgICAgICAvLyBHZXQgdGhlIHVuZGVybHlpbmcgQUNMIG9iamVjdC4KICAgICAgIHJwYyBHZXRBY2woR2V0QWNsUmVxdWVzdCkgcmV0dXJucyAoQWNsKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKS5nZXQgPSAiL3YyL2FjbHMve3Jlc291cmNlPSoqfTpnZXRBY2wiOwogICAgICAgfQogICAgICAgLi4uCiAgICAgfQoKCwoDBAIBEgTHAQgNCkwKBAQCAgASBMkBAhIaPiBUaGUgZnVsbHkgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIGludGVyZmFjZSB3aGljaCBpcyBpbmNsdWRlZC4KCg0KBQQCAgAFEgTJAQIICg0KBQQCAgABEgTJAQkNCg0KBQQCAgADEgTJARARClsKBAQCAgESBM0BAhIaTSBJZiBub24tZW1wdHkgc3BlY2lmaWVzIGEgcGF0aCB1bmRlciB3aGljaCBpbmhlcml0ZWQgSFRUUCBwYXRocwogYXJlIHJvb3RlZC4KCg0KBQQCAgEFEgTNAQIICg0KBQQCAgEBEgTNAQkNCg0KBQQCAgEDEgTNARARYgZwcm90bzMK1yUKHmdvb2dsZS9wcm90b2J1Zi9kdXJhdGlvbi5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIjoKCER1cmF0aW9uEhgKB3NlY29uZHMYASABKANSB3NlY29uZHMSFAoFbmFub3MYAiABKAVSBW5hbm9zQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1EdXJhdGlvblByb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2R1cmF0aW9ucGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNK2SMKBhIEHgByAQrMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIAHwoJCgIIHxIDIgAfCggKAQgSAyMASAoJCgIICxIDIwBICggKAQgSAyQALAoJCgIIARIDJAAsCggKAQgSAyUALgoJCgIICBIDJQAuCggKAQgSAyYAIgoJCgIIChIDJgAiCggKAQgSAycAIQoJCgIIJBIDJwAhCggKAQgSAygAOwoJCgIIJRIDKAA7Cp0QCgIEABIEZQByARqQECBBIER1cmF0aW9uIHJlcHJlc2VudHMgYSBzaWduZWQsIGZpeGVkLWxlbmd0aCBzcGFuIG9mIHRpbWUgcmVwcmVzZW50ZWQKIGFzIGEgY291bnQgb2Ygc2Vjb25kcyBhbmQgZnJhY3Rpb25zIG9mIHNlY29uZHMgYXQgbmFub3NlY29uZAogcmVzb2x1dGlvbi4gSXQgaXMgaW5kZXBlbmRlbnQgb2YgYW55IGNhbGVuZGFyIGFuZCBjb25jZXB0cyBsaWtlICJkYXkiCiBvciAibW9udGgiLiBJdCBpcyByZWxhdGVkIHRvIFRpbWVzdGFtcCBpbiB0aGF0IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4KIHR3byBUaW1lc3RhbXAgdmFsdWVzIGlzIGEgRHVyYXRpb24gYW5kIGl0IGNhbiBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkCiBmcm9tIGEgVGltZXN0YW1wLiBSYW5nZSBpcyBhcHByb3hpbWF0ZWx5ICstMTAsMDAwIHllYXJzLgoKICMgRXhhbXBsZXMKCiBFeGFtcGxlIDE6IENvbXB1dGUgRHVyYXRpb24gZnJvbSB0d28gVGltZXN0YW1wcyBpbiBwc2V1ZG8gY29kZS4KCiAgICAgVGltZXN0YW1wIHN0YXJ0ID0gLi4uOwogICAgIFRpbWVzdGFtcCBlbmQgPSAuLi47CiAgICAgRHVyYXRpb24gZHVyYXRpb24gPSAuLi47CgogICAgIGR1cmF0aW9uLnNlY29uZHMgPSBlbmQuc2Vjb25kcyAtIHN0YXJ0LnNlY29uZHM7CiAgICAgZHVyYXRpb24ubmFub3MgPSBlbmQubmFub3MgLSBzdGFydC5uYW5vczsKCiAgICAgaWYgKGR1cmF0aW9uLnNlY29uZHMgPCAwICYmIGR1cmF0aW9uLm5hbm9zID4gMCkgewogICAgICAgZHVyYXRpb24uc2Vjb25kcyArPSAxOwogICAgICAgZHVyYXRpb24ubmFub3MgLT0gMTAwMDAwMDAwMDsKICAgICB9IGVsc2UgaWYgKGR1cmF0aW9uLnNlY29uZHMgPiAwICYmIGR1cmF0aW9uLm5hbm9zIDwgMCkgewogICAgICAgZHVyYXRpb24uc2Vjb25kcyAtPSAxOwogICAgICAgZHVyYXRpb24ubmFub3MgKz0gMTAwMDAwMDAwMDsKICAgICB9CgogRXhhbXBsZSAyOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFRpbWVzdGFtcCArIER1cmF0aW9uIGluIHBzZXVkbyBjb2RlLgoKICAgICBUaW1lc3RhbXAgc3RhcnQgPSAuLi47CiAgICAgRHVyYXRpb24gZHVyYXRpb24gPSAuLi47CiAgICAgVGltZXN0YW1wIGVuZCA9IC4uLjsKCiAgICAgZW5kLnNlY29uZHMgPSBzdGFydC5zZWNvbmRzICsgZHVyYXRpb24uc2Vjb25kczsKICAgICBlbmQubmFub3MgPSBzdGFydC5uYW5vcyArIGR1cmF0aW9uLm5hbm9zOwoKICAgICBpZiAoZW5kLm5hbm9zIDwgMCkgewogICAgICAgZW5kLnNlY29uZHMgLT0gMTsKICAgICAgIGVuZC5uYW5vcyArPSAxMDAwMDAwMDAwOwogICAgIH0gZWxzZSBpZiAoZW5kLm5hbm9zID49IDEwMDAwMDAwMDApIHsKICAgICAgIGVuZC5zZWNvbmRzICs9IDE7CiAgICAgICBlbmQubmFub3MgLT0gMTAwMDAwMDAwMDsKICAgICB9CgogRXhhbXBsZSAzOiBDb21wdXRlIER1cmF0aW9uIGZyb20gZGF0ZXRpbWUudGltZWRlbHRhIGluIFB5dGhvbi4KCiAgICAgdGQgPSBkYXRldGltZS50aW1lZGVsdGEoZGF5cz0zLCBtaW51dGVzPTEwKQogICAgIGR1cmF0aW9uID0gRHVyYXRpb24oKQogICAgIGR1cmF0aW9uLkZyb21UaW1lZGVsdGEodGQpCgogIyBKU09OIE1hcHBpbmcKCiBJbiBKU09OIGZvcm1hdCwgdGhlIER1cmF0aW9uIHR5cGUgaXMgZW5jb2RlZCBhcyBhIHN0cmluZyByYXRoZXIgdGhhbiBhbgogb2JqZWN0LCB3aGVyZSB0aGUgc3RyaW5nIGVuZHMgaW4gdGhlIHN1ZmZpeCAicyIgKGluZGljYXRpbmcgc2Vjb25kcykgYW5kCiBpcyBwcmVjZWRlZCBieSB0aGUgbnVtYmVyIG9mIHNlY29uZHMsIHdpdGggbmFub3NlY29uZHMgZXhwcmVzc2VkIGFzCiBmcmFjdGlvbmFsIHNlY29uZHMuIEZvciBleGFtcGxlLCAzIHNlY29uZHMgd2l0aCAwIG5hbm9zZWNvbmRzIHNob3VsZCBiZQogZW5jb2RlZCBpbiBKU09OIGZvcm1hdCBhcyAiM3MiLCB3aGlsZSAzIHNlY29uZHMgYW5kIDEgbmFub3NlY29uZCBzaG91bGQKIGJlIGV4cHJlc3NlZCBpbiBKU09OIGZvcm1hdCBhcyAiMy4wMDAwMDAwMDFzIiwgYW5kIDMgc2Vjb25kcyBhbmQgMQogbWljcm9zZWNvbmQgc2hvdWxkIGJlIGV4cHJlc3NlZCBpbiBKU09OIGZvcm1hdCBhcyAiMy4wMDAwMDFzIi4KCgoKCgMEAAESA2UIEArcAQoEBAACABIDaQIUGs4BIFNpZ25lZCBzZWNvbmRzIG9mIHRoZSBzcGFuIG9mIHRpbWUuIE11c3QgYmUgZnJvbSAtMzE1LDU3NiwwMDAsMDAwCiB0byArMzE1LDU3NiwwMDAsMDAwIGluY2x1c2l2ZS4gTm90ZTogdGhlc2UgYm91bmRzIGFyZSBjb21wdXRlZCBmcm9tOgogNjAgc2VjL21pbiAqIDYwIG1pbi9ociAqIDI0IGhyL2RheSAqIDM2NS4yNSBkYXlzL3llYXIgKiAxMDAwMCB5ZWFycwoKDAoFBAACAAUSA2kCBwoMCgUEAAIAARIDaQgPCgwKBQQAAgADEgNpEhMKgwMKBAQAAgESA3ECEhr1AiBTaWduZWQgZnJhY3Rpb25zIG9mIGEgc2Vjb25kIGF0IG5hbm9zZWNvbmQgcmVzb2x1dGlvbiBvZiB0aGUgc3Bhbgogb2YgdGltZS4gRHVyYXRpb25zIGxlc3MgdGhhbiBvbmUgc2Vjb25kIGFyZSByZXByZXNlbnRlZCB3aXRoIGEgMAogYHNlY29uZHNgIGZpZWxkIGFuZCBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGBuYW5vc2AgZmllbGQuIEZvciBkdXJhdGlvbnMKIG9mIG9uZSBzZWNvbmQgb3IgbW9yZSwgYSBub24temVybyB2YWx1ZSBmb3IgdGhlIGBuYW5vc2AgZmllbGQgbXVzdCBiZQogb2YgdGhlIHNhbWUgc2lnbiBhcyB0aGUgYHNlY29uZHNgIGZpZWxkLiBNdXN0IGJlIGZyb20gLTk5OSw5OTksOTk5CiB0byArOTk5LDk5OSw5OTkgaW5jbHVzaXZlLgoKDAoFBAACAQUSA3ECBwoMCgUEAAIBARIDcQgNCgwKBQQAAgEDEgNxEBFiBnByb3RvMwr/EQobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvEg9nb29nbGUucHJvdG9idWYiBwoFRW1wdHlCfQoTY29tLmdvb2dsZS5wcm90b2J1ZkIKRW1wdHlQcm90b1ABWi5nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi9lbXB0eXBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSr4QCgYSBB4AMhAKzAwKAQwSAx4AEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCggKAQISAyAAGAoICgEIEgMiAEUKCQoCCAsSAyIARQoICgEIEgMjACwKCQoCCAESAyMALAoICgEIEgMkACsKCQoCCAgSAyQAKwoICgEIEgMlACIKCQoCCAoSAyUAIgoICgEIEgMmACEKCQoCCCQSAyYAIQoICgEIEgMnADsKCQoCCCUSAycAOwoICgEIEgMoAB8KCQoCCB8SAygAHwq7AgoCBAASAzIAEBqvAiBBIGdlbmVyaWMgZW1wdHkgbWVzc2FnZSB0aGF0IHlvdSBjYW4gcmUtdXNlIHRvIGF2b2lkIGRlZmluaW5nIGR1cGxpY2F0ZWQKIGVtcHR5IG1lc3NhZ2VzIGluIHlvdXIgQVBJcy4gQSB0eXBpY2FsIGV4YW1wbGUgaXMgdG8gdXNlIGl0IGFzIHRoZSByZXF1ZXN0CiBvciB0aGUgcmVzcG9uc2UgdHlwZSBvZiBhbiBBUEkgbWV0aG9kLiBGb3IgaW5zdGFuY2U6CgogICAgIHNlcnZpY2UgRm9vIHsKICAgICAgIHJwYyBCYXIoZ29vZ2xlLnByb3RvYnVmLkVtcHR5KSByZXR1cm5zIChnb29nbGUucHJvdG9idWYuRW1wdHkpOwogICAgIH0KCgoKCgMEAAESAzIIDWIGcHJvdG8zCoo9CiBnb29nbGUvcHJvdG9idWYvZmllbGRfbWFzay5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIiEKCUZpZWxkTWFzaxIUCgVwYXRocxgBIAMoCVIFcGF0aHNChQEKE2NvbS5nb29nbGUucHJvdG9idWZCDkZpZWxkTWFza1Byb3RvUAFaMmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2ZpZWxkbWFza3Bi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSqE7CgcSBR4A9AEBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgAsCgkKAggBEgMiACwKCAoBCBIDIwAvCgkKAggIEgMjAC8KCAoBCBIDJAAiCgkKAggKEgMkACIKCAoBCBIDJQAhCgkKAggkEgMlACEKCAoBCBIDJgA7CgkKAgglEgMmADsKCAoBCBIDJwBJCgkKAggLEgMnAEkKCAoBCBIDKAAfCgkKAggfEgMoAB8KsiwKAgQAEgbxAQD0AQEaoywgYEZpZWxkTWFza2AgcmVwcmVzZW50cyBhIHNldCBvZiBzeW1ib2xpYyBmaWVsZCBwYXRocywgZm9yIGV4YW1wbGU6CgogICAgIHBhdGhzOiAiZi5hIgogICAgIHBhdGhzOiAiZi5iLmQiCgogSGVyZSBgZmAgcmVwcmVzZW50cyBhIGZpZWxkIGluIHNvbWUgcm9vdCBtZXNzYWdlLCBgYWAgYW5kIGBiYAogZmllbGRzIGluIHRoZSBtZXNzYWdlIGZvdW5kIGluIGBmYCwgYW5kIGBkYCBhIGZpZWxkIGZvdW5kIGluIHRoZQogbWVzc2FnZSBpbiBgZi5iYC4KCiBGaWVsZCBtYXNrcyBhcmUgdXNlZCB0byBzcGVjaWZ5IGEgc3Vic2V0IG9mIGZpZWxkcyB0aGF0IHNob3VsZCBiZQogcmV0dXJuZWQgYnkgYSBnZXQgb3BlcmF0aW9uIG9yIG1vZGlmaWVkIGJ5IGFuIHVwZGF0ZSBvcGVyYXRpb24uCiBGaWVsZCBtYXNrcyBhbHNvIGhhdmUgYSBjdXN0b20gSlNPTiBlbmNvZGluZyAoc2VlIGJlbG93KS4KCiAjIEZpZWxkIE1hc2tzIGluIFByb2plY3Rpb25zCgogV2hlbiB1c2VkIGluIHRoZSBjb250ZXh0IG9mIGEgcHJvamVjdGlvbiwgYSByZXNwb25zZSBtZXNzYWdlIG9yCiBzdWItbWVzc2FnZSBpcyBmaWx0ZXJlZCBieSB0aGUgQVBJIHRvIG9ubHkgY29udGFpbiB0aG9zZSBmaWVsZHMgYXMKIHNwZWNpZmllZCBpbiB0aGUgbWFzay4gRm9yIGV4YW1wbGUsIGlmIHRoZSBtYXNrIGluIHRoZSBwcmV2aW91cwogZXhhbXBsZSBpcyBhcHBsaWVkIHRvIGEgcmVzcG9uc2UgbWVzc2FnZSBhcyBmb2xsb3dzOgoKICAgICBmIHsKICAgICAgIGEgOiAyMgogICAgICAgYiB7CiAgICAgICAgIGQgOiAxCiAgICAgICAgIHggOiAyCiAgICAgICB9CiAgICAgICB5IDogMTMKICAgICB9CiAgICAgejogOAoKIFRoZSByZXN1bHQgd2lsbCBub3QgY29udGFpbiBzcGVjaWZpYyB2YWx1ZXMgZm9yIGZpZWxkcyB4LHkgYW5kIHoKICh0aGVpciB2YWx1ZSB3aWxsIGJlIHNldCB0byB0aGUgZGVmYXVsdCwgYW5kIG9taXR0ZWQgaW4gcHJvdG8gdGV4dAogb3V0cHV0KToKCgogICAgIGYgewogICAgICAgYSA6IDIyCiAgICAgICBiIHsKICAgICAgICAgZCA6IDEKICAgICAgIH0KICAgICB9CgogQSByZXBlYXRlZCBmaWVsZCBpcyBub3QgYWxsb3dlZCBleGNlcHQgYXQgdGhlIGxhc3QgcG9zaXRpb24gb2YgYQogcGF0aHMgc3RyaW5nLgoKIElmIGEgRmllbGRNYXNrIG9iamVjdCBpcyBub3QgcHJlc2VudCBpbiBhIGdldCBvcGVyYXRpb24sIHRoZQogb3BlcmF0aW9uIGFwcGxpZXMgdG8gYWxsIGZpZWxkcyAoYXMgaWYgYSBGaWVsZE1hc2sgb2YgYWxsIGZpZWxkcwogaGFkIGJlZW4gc3BlY2lmaWVkKS4KCiBOb3RlIHRoYXQgYSBmaWVsZCBtYXNrIGRvZXMgbm90IG5lY2Vzc2FyaWx5IGFwcGx5IHRvIHRoZQogdG9wLWxldmVsIHJlc3BvbnNlIG1lc3NhZ2UuIEluIGNhc2Ugb2YgYSBSRVNUIGdldCBvcGVyYXRpb24sIHRoZQogZmllbGQgbWFzayBhcHBsaWVzIGRpcmVjdGx5IHRvIHRoZSByZXNwb25zZSwgYnV0IGluIGNhc2Ugb2YgYSBSRVNUCiBsaXN0IG9wZXJhdGlvbiwgdGhlIG1hc2sgaW5zdGVhZCBhcHBsaWVzIHRvIGVhY2ggaW5kaXZpZHVhbCBtZXNzYWdlCiBpbiB0aGUgcmV0dXJuZWQgcmVzb3VyY2UgbGlzdC4gSW4gY2FzZSBvZiBhIFJFU1QgY3VzdG9tIG1ldGhvZCwKIG90aGVyIGRlZmluaXRpb25zIG1heSBiZSB1c2VkLiBXaGVyZSB0aGUgbWFzayBhcHBsaWVzIHdpbGwgYmUKIGNsZWFybHkgZG9jdW1lbnRlZCB0b2dldGhlciB3aXRoIGl0cyBkZWNsYXJhdGlvbiBpbiB0aGUgQVBJLiAgSW4KIGFueSBjYXNlLCB0aGUgZWZmZWN0IG9uIHRoZSByZXR1cm5lZCByZXNvdXJjZS9yZXNvdXJjZXMgaXMgcmVxdWlyZWQKIGJlaGF2aW9yIGZvciBBUElzLgoKICMgRmllbGQgTWFza3MgaW4gVXBkYXRlIE9wZXJhdGlvbnMKCiBBIGZpZWxkIG1hc2sgaW4gdXBkYXRlIG9wZXJhdGlvbnMgc3BlY2lmaWVzIHdoaWNoIGZpZWxkcyBvZiB0aGUKIHRhcmdldGVkIHJlc291cmNlIGFyZSBnb2luZyB0byBiZSB1cGRhdGVkLiBUaGUgQVBJIGlzIHJlcXVpcmVkCiB0byBvbmx5IGNoYW5nZSB0aGUgdmFsdWVzIG9mIHRoZSBmaWVsZHMgYXMgc3BlY2lmaWVkIGluIHRoZSBtYXNrCiBhbmQgbGVhdmUgdGhlIG90aGVycyB1bnRvdWNoZWQuIElmIGEgcmVzb3VyY2UgaXMgcGFzc2VkIGluIHRvCiBkZXNjcmliZSB0aGUgdXBkYXRlZCB2YWx1ZXMsIHRoZSBBUEkgaWdub3JlcyB0aGUgdmFsdWVzIG9mIGFsbAogZmllbGRzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBtYXNrLgoKIElmIGEgcmVwZWF0ZWQgZmllbGQgaXMgc3BlY2lmaWVkIGZvciBhbiB1cGRhdGUgb3BlcmF0aW9uLCBuZXcgdmFsdWVzIHdpbGwKIGJlIGFwcGVuZGVkIHRvIHRoZSBleGlzdGluZyByZXBlYXRlZCBmaWVsZCBpbiB0aGUgdGFyZ2V0IHJlc291cmNlLiBOb3RlIHRoYXQKIGEgcmVwZWF0ZWQgZmllbGQgaXMgb25seSBhbGxvd2VkIGluIHRoZSBsYXN0IHBvc2l0aW9uIG9mIGEgYHBhdGhzYCBzdHJpbmcuCgogSWYgYSBzdWItbWVzc2FnZSBpcyBzcGVjaWZpZWQgaW4gdGhlIGxhc3QgcG9zaXRpb24gb2YgdGhlIGZpZWxkIG1hc2sgZm9yIGFuCiB1cGRhdGUgb3BlcmF0aW9uLCB0aGVuIG5ldyB2YWx1ZSB3aWxsIGJlIG1lcmdlZCBpbnRvIHRoZSBleGlzdGluZyBzdWItbWVzc2FnZQogaW4gdGhlIHRhcmdldCByZXNvdXJjZS4KCiBGb3IgZXhhbXBsZSwgZ2l2ZW4gdGhlIHRhcmdldCBtZXNzYWdlOgoKICAgICBmIHsKICAgICAgIGIgewogICAgICAgICBkOiAxCiAgICAgICAgIHg6IDIKICAgICAgIH0KICAgICAgIGM6IFsxXQogICAgIH0KCiBBbmQgYW4gdXBkYXRlIG1lc3NhZ2U6CgogICAgIGYgewogICAgICAgYiB7CiAgICAgICAgIGQ6IDEwCiAgICAgICB9CiAgICAgICBjOiBbMl0KICAgICB9CgogdGhlbiBpZiB0aGUgZmllbGQgbWFzayBpczoKCiAgcGF0aHM6IFsiZi5iIiwgImYuYyJdCgogdGhlbiB0aGUgcmVzdWx0IHdpbGwgYmU6CgogICAgIGYgewogICAgICAgYiB7CiAgICAgICAgIGQ6IDEwCiAgICAgICAgIHg6IDIKICAgICAgIH0KICAgICAgIGM6IFsxLCAyXQogICAgIH0KCiBBbiBpbXBsZW1lbnRhdGlvbiBtYXkgcHJvdmlkZSBvcHRpb25zIHRvIG92ZXJyaWRlIHRoaXMgZGVmYXVsdCBiZWhhdmlvciBmb3IKIHJlcGVhdGVkIGFuZCBtZXNzYWdlIGZpZWxkcy4KCiBJbiBvcmRlciB0byByZXNldCBhIGZpZWxkJ3MgdmFsdWUgdG8gdGhlIGRlZmF1bHQsIHRoZSBmaWVsZCBtdXN0CiBiZSBpbiB0aGUgbWFzayBhbmQgc2V0IHRvIHRoZSBkZWZhdWx0IHZhbHVlIGluIHRoZSBwcm92aWRlZCByZXNvdXJjZS4KIEhlbmNlLCBpbiBvcmRlciB0byByZXNldCBhbGwgZmllbGRzIG9mIGEgcmVzb3VyY2UsIHByb3ZpZGUgYSBkZWZhdWx0CiBpbnN0YW5jZSBvZiB0aGUgcmVzb3VyY2UgYW5kIHNldCBhbGwgZmllbGRzIGluIHRoZSBtYXNrLCBvciBkbwogbm90IHByb3ZpZGUgYSBtYXNrIGFzIGRlc2NyaWJlZCBiZWxvdy4KCiBJZiBhIGZpZWxkIG1hc2sgaXMgbm90IHByZXNlbnQgb24gdXBkYXRlLCB0aGUgb3BlcmF0aW9uIGFwcGxpZXMgdG8KIGFsbCBmaWVsZHMgKGFzIGlmIGEgZmllbGQgbWFzayBvZiBhbGwgZmllbGRzIGhhcyBiZWVuIHNwZWNpZmllZCkuCiBOb3RlIHRoYXQgaW4gdGhlIHByZXNlbmNlIG9mIHNjaGVtYSBldm9sdXRpb24sIHRoaXMgbWF5IG1lYW4gdGhhdAogZmllbGRzIHRoZSBjbGllbnQgZG9lcyBub3Qga25vdyBhbmQgaGFzIHRoZXJlZm9yZSBub3QgZmlsbGVkIGludG8KIHRoZSByZXF1ZXN0IHdpbGwgYmUgcmVzZXQgdG8gdGhlaXIgZGVmYXVsdC4gSWYgdGhpcyBpcyB1bndhbnRlZAogYmVoYXZpb3IsIGEgc3BlY2lmaWMgc2VydmljZSBtYXkgcmVxdWlyZSBhIGNsaWVudCB0byBhbHdheXMgc3BlY2lmeQogYSBmaWVsZCBtYXNrLCBwcm9kdWNpbmcgYW4gZXJyb3IgaWYgbm90LgoKIEFzIHdpdGggZ2V0IG9wZXJhdGlvbnMsIHRoZSBsb2NhdGlvbiBvZiB0aGUgcmVzb3VyY2Ugd2hpY2gKIGRlc2NyaWJlcyB0aGUgdXBkYXRlZCB2YWx1ZXMgaW4gdGhlIHJlcXVlc3QgbWVzc2FnZSBkZXBlbmRzIG9uIHRoZQogb3BlcmF0aW9uIGtpbmQuIEluIGFueSBjYXNlLCB0aGUgZWZmZWN0IG9mIHRoZSBmaWVsZCBtYXNrIGlzCiByZXF1aXJlZCB0byBiZSBob25vcmVkIGJ5IHRoZSBBUEkuCgogIyMgQ29uc2lkZXJhdGlvbnMgZm9yIEhUVFAgUkVTVAoKIFRoZSBIVFRQIGtpbmQgb2YgYW4gdXBkYXRlIG9wZXJhdGlvbiB3aGljaCB1c2VzIGEgZmllbGQgbWFzayBtdXN0CiBiZSBzZXQgdG8gUEFUQ0ggaW5zdGVhZCBvZiBQVVQgaW4gb3JkZXIgdG8gc2F0aXNmeSBIVFRQIHNlbWFudGljcwogKFBVVCBtdXN0IG9ubHkgYmUgdXNlZCBmb3IgZnVsbCB1cGRhdGVzKS4KCiAjIEpTT04gRW5jb2Rpbmcgb2YgRmllbGQgTWFza3MKCiBJbiBKU09OLCBhIGZpZWxkIG1hc2sgaXMgZW5jb2RlZCBhcyBhIHNpbmdsZSBzdHJpbmcgd2hlcmUgcGF0aHMgYXJlCiBzZXBhcmF0ZWQgYnkgYSBjb21tYS4gRmllbGRzIG5hbWUgaW4gZWFjaCBwYXRoIGFyZSBjb252ZXJ0ZWQKIHRvL2Zyb20gbG93ZXItY2FtZWwgbmFtaW5nIGNvbnZlbnRpb25zLgoKIEFzIGFuIGV4YW1wbGUsIGNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgbWVzc2FnZSBkZWNsYXJhdGlvbnM6CgogICAgIG1lc3NhZ2UgUHJvZmlsZSB7CiAgICAgICBVc2VyIHVzZXIgPSAxOwogICAgICAgUGhvdG8gcGhvdG8gPSAyOwogICAgIH0KICAgICBtZXNzYWdlIFVzZXIgewogICAgICAgc3RyaW5nIGRpc3BsYXlfbmFtZSA9IDE7CiAgICAgICBzdHJpbmcgYWRkcmVzcyA9IDI7CiAgICAgfQoKIEluIHByb3RvIGEgZmllbGQgbWFzayBmb3IgYFByb2ZpbGVgIG1heSBsb29rIGFzIHN1Y2g6CgogICAgIG1hc2sgewogICAgICAgcGF0aHM6ICJ1c2VyLmRpc3BsYXlfbmFtZSIKICAgICAgIHBhdGhzOiAicGhvdG8iCiAgICAgfQoKIEluIEpTT04sIHRoZSBzYW1lIG1hc2sgaXMgcmVwcmVzZW50ZWQgYXMgYmVsb3c6CgogICAgIHsKICAgICAgIG1hc2s6ICJ1c2VyLmRpc3BsYXlOYW1lLHBob3RvIgogICAgIH0KCiAjIEZpZWxkIE1hc2tzIGFuZCBPbmVvZiBGaWVsZHMKCiBGaWVsZCBtYXNrcyB0cmVhdCBmaWVsZHMgaW4gb25lb2ZzIGp1c3QgYXMgcmVndWxhciBmaWVsZHMuIENvbnNpZGVyIHRoZQogZm9sbG93aW5nIG1lc3NhZ2U6CgogICAgIG1lc3NhZ2UgU2FtcGxlTWVzc2FnZSB7CiAgICAgICBvbmVvZiB0ZXN0X29uZW9mIHsKICAgICAgICAgc3RyaW5nIG5hbWUgPSA0OwogICAgICAgICBTdWJNZXNzYWdlIHN1Yl9tZXNzYWdlID0gOTsKICAgICAgIH0KICAgICB9CgogVGhlIGZpZWxkIG1hc2sgY2FuIGJlOgoKICAgICBtYXNrIHsKICAgICAgIHBhdGhzOiAibmFtZSIKICAgICB9CgogT3I6CgogICAgIG1hc2sgewogICAgICAgcGF0aHM6ICJzdWJfbWVzc2FnZSIKICAgICB9CgogTm90ZSB0aGF0IG9uZW9mIHR5cGUgbmFtZXMgKCJ0ZXN0X29uZW9mIiBpbiB0aGlzIGNhc2UpIGNhbm5vdCBiZSB1c2VkIGluCiBwYXRocy4KCiAjIyBGaWVsZCBNYXNrIFZlcmlmaWNhdGlvbgoKIFRoZSBpbXBsZW1lbnRhdGlvbiBvZiBhbnkgQVBJIG1ldGhvZCB3aGljaCBoYXMgYSBGaWVsZE1hc2sgdHlwZSBmaWVsZCBpbiB0aGUKIHJlcXVlc3Qgc2hvdWxkIHZlcmlmeSB0aGUgaW5jbHVkZWQgZmllbGQgcGF0aHMsIGFuZCByZXR1cm4gYW4KIGBJTlZBTElEX0FSR1VNRU5UYCBlcnJvciBpZiBhbnkgcGF0aCBpcyB1bm1hcHBhYmxlLgoKCwoDBAABEgTxAQgRCiwKBAQAAgASBPMBAhwaHiBUaGUgc2V0IG9mIGZpZWxkIG1hc2sgcGF0aHMuCgoNCgUEAAIABBIE8wECCgoNCgUEAAIABRIE8wELEQoNCgUEAAIAARIE8wESFwoNCgUEAAIAAxIE8wEaG2IGcHJvdG8zCsMxCh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJvdG9idWYiOwoJVGltZXN0YW1wEhgKB3NlY29uZHMYASABKANSB3NlY29uZHMSFAoFbmFub3MYAiABKAVSBW5hbm9zQoUBChNjb20uZ29vZ2xlLnByb3RvYnVmQg5UaW1lc3RhbXBQcm90b1ABWjJnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi90aW1lc3RhbXBwYvgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc0rBLwoHEgUeAI8BAQrMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIAHwoJCgIIHxIDIgAfCggKAQgSAyMASQoJCgIICxIDIwBJCggKAQgSAyQALAoJCgIIARIDJAAsCggKAQgSAyUALwoJCgIICBIDJQAvCggKAQgSAyYAIgoJCgIIChIDJgAiCggKAQgSAycAIQoJCgIIJBIDJwAhCggKAQgSAygAOwoJCgIIJRIDKAA7CtodCgIEABIGhAEAjwEBGssdIEEgVGltZXN0YW1wIHJlcHJlc2VudHMgYSBwb2ludCBpbiB0aW1lIGluZGVwZW5kZW50IG9mIGFueSB0aW1lIHpvbmUgb3IgbG9jYWwKIGNhbGVuZGFyLCBlbmNvZGVkIGFzIGEgY291bnQgb2Ygc2Vjb25kcyBhbmQgZnJhY3Rpb25zIG9mIHNlY29uZHMgYXQKIG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4gVGhlIGNvdW50IGlzIHJlbGF0aXZlIHRvIGFuIGVwb2NoIGF0IFVUQyBtaWRuaWdodCBvbgogSmFudWFyeSAxLCAxOTcwLCBpbiB0aGUgcHJvbGVwdGljIEdyZWdvcmlhbiBjYWxlbmRhciB3aGljaCBleHRlbmRzIHRoZQogR3JlZ29yaWFuIGNhbGVuZGFyIGJhY2t3YXJkcyB0byB5ZWFyIG9uZS4KCiBBbGwgbWludXRlcyBhcmUgNjAgc2Vjb25kcyBsb25nLiBMZWFwIHNlY29uZHMgYXJlICJzbWVhcmVkIiBzbyB0aGF0IG5vIGxlYXAKIHNlY29uZCB0YWJsZSBpcyBuZWVkZWQgZm9yIGludGVycHJldGF0aW9uLCB1c2luZyBhIFsyNC1ob3VyIGxpbmVhcgogc21lYXJdKGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3RpbWUvc21lYXIpLgoKIFRoZSByYW5nZSBpcyBmcm9tIDAwMDEtMDEtMDFUMDA6MDA6MDBaIHRvIDk5OTktMTItMzFUMjM6NTk6NTkuOTk5OTk5OTk5Wi4gQnkKIHJlc3RyaWN0aW5nIHRvIHRoYXQgcmFuZ2UsIHdlIGVuc3VyZSB0aGF0IHdlIGNhbiBjb252ZXJ0IHRvIGFuZCBmcm9tIFtSRkMKIDMzMzldKGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMzMzM5LnR4dCkgZGF0ZSBzdHJpbmdzLgoKICMgRXhhbXBsZXMKCiBFeGFtcGxlIDE6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gUE9TSVggYHRpbWUoKWAuCgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKHRpbWUoTlVMTCkpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3MoMCk7CgogRXhhbXBsZSAyOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFBPU0lYIGBnZXR0aW1lb2ZkYXkoKWAuCgogICAgIHN0cnVjdCB0aW1ldmFsIHR2OwogICAgIGdldHRpbWVvZmRheSgmdHYsIE5VTEwpOwoKICAgICBUaW1lc3RhbXAgdGltZXN0YW1wOwogICAgIHRpbWVzdGFtcC5zZXRfc2Vjb25kcyh0di50dl9zZWMpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3ModHYudHZfdXNlYyAqIDEwMDApOwoKIEV4YW1wbGUgMzogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBXaW4zMiBgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoKWAuCgogICAgIEZJTEVUSU1FIGZ0OwogICAgIEdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lKCZmdCk7CiAgICAgVUlOVDY0IHRpY2tzID0gKCgoVUlOVDY0KWZ0LmR3SGlnaERhdGVUaW1lKSA8PCAzMikgfCBmdC5kd0xvd0RhdGVUaW1lOwoKICAgICAvLyBBIFdpbmRvd3MgdGljayBpcyAxMDAgbmFub3NlY29uZHMuIFdpbmRvd3MgZXBvY2ggMTYwMS0wMS0wMVQwMDowMDowMFoKICAgICAvLyBpcyAxMTY0NDQ3MzYwMCBzZWNvbmRzIGJlZm9yZSBVbml4IGVwb2NoIDE5NzAtMDEtMDFUMDA6MDA6MDBaLgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKChJTlQ2NCkgKCh0aWNrcyAvIDEwMDAwMDAwKSAtIDExNjQ0NDczNjAwTEwpKTsKICAgICB0aW1lc3RhbXAuc2V0X25hbm9zKChJTlQzMikgKCh0aWNrcyAlIDEwMDAwMDAwKSAqIDEwMCkpOwoKIEV4YW1wbGUgNDogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBKYXZhIGBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKWAuCgogICAgIGxvbmcgbWlsbGlzID0gU3lzdGVtLmN1cnJlbnRUaW1lTWlsbGlzKCk7CgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXAgPSBUaW1lc3RhbXAubmV3QnVpbGRlcigpLnNldFNlY29uZHMobWlsbGlzIC8gMTAwMCkKICAgICAgICAgLnNldE5hbm9zKChpbnQpICgobWlsbGlzICUgMTAwMCkgKiAxMDAwMDAwKSkuYnVpbGQoKTsKCiBFeGFtcGxlIDU6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gSmF2YSBgSW5zdGFudC5ub3coKWAuCgogICAgIEluc3RhbnQgbm93ID0gSW5zdGFudC5ub3coKTsKCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcCA9CiAgICAgICAgIFRpbWVzdGFtcC5uZXdCdWlsZGVyKCkuc2V0U2Vjb25kcyhub3cuZ2V0RXBvY2hTZWNvbmQoKSkKICAgICAgICAgICAgIC5zZXROYW5vcyhub3cuZ2V0TmFubygpKS5idWlsZCgpOwoKIEV4YW1wbGUgNjogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBjdXJyZW50IHRpbWUgaW4gUHl0aG9uLgoKICAgICB0aW1lc3RhbXAgPSBUaW1lc3RhbXAoKQogICAgIHRpbWVzdGFtcC5HZXRDdXJyZW50VGltZSgpCgogIyBKU09OIE1hcHBpbmcKCiBJbiBKU09OIGZvcm1hdCwgdGhlIFRpbWVzdGFtcCB0eXBlIGlzIGVuY29kZWQgYXMgYSBzdHJpbmcgaW4gdGhlCiBbUkZDIDMzMzldKGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMzMzM5LnR4dCkgZm9ybWF0LiBUaGF0IGlzLCB0aGUKIGZvcm1hdCBpcyAie3llYXJ9LXttb250aH0te2RheX1Ue2hvdXJ9OnttaW59OntzZWN9Wy57ZnJhY19zZWN9XVoiCiB3aGVyZSB7eWVhcn0gaXMgYWx3YXlzIGV4cHJlc3NlZCB1c2luZyBmb3VyIGRpZ2l0cyB3aGlsZSB7bW9udGh9LCB7ZGF5fSwKIHtob3VyfSwge21pbn0sIGFuZCB7c2VjfSBhcmUgemVyby1wYWRkZWQgdG8gdHdvIGRpZ2l0cyBlYWNoLiBUaGUgZnJhY3Rpb25hbAogc2Vjb25kcywgd2hpY2ggY2FuIGdvIHVwIHRvIDkgZGlnaXRzIChpLmUuIHVwIHRvIDEgbmFub3NlY29uZCByZXNvbHV0aW9uKSwKIGFyZSBvcHRpb25hbC4gVGhlICJaIiBzdWZmaXggaW5kaWNhdGVzIHRoZSB0aW1lem9uZSAoIlVUQyIpOyB0aGUgdGltZXpvbmUKIGlzIHJlcXVpcmVkLiBBIHByb3RvMyBKU09OIHNlcmlhbGl6ZXIgc2hvdWxkIGFsd2F5cyB1c2UgVVRDIChhcyBpbmRpY2F0ZWQgYnkKICJaIikgd2hlbiBwcmludGluZyB0aGUgVGltZXN0YW1wIHR5cGUgYW5kIGEgcHJvdG8zIEpTT04gcGFyc2VyIHNob3VsZCBiZQogYWJsZSB0byBhY2NlcHQgYm90aCBVVEMgYW5kIG90aGVyIHRpbWV6b25lcyAoYXMgaW5kaWNhdGVkIGJ5IGFuIG9mZnNldCkuCgogRm9yIGV4YW1wbGUsICIyMDE3LTAxLTE1VDAxOjMwOjE1LjAxWiIgZW5jb2RlcyAxNS4wMSBzZWNvbmRzIHBhc3QKIDAxOjMwIFVUQyBvbiBKYW51YXJ5IDE1LCAyMDE3LgoKIEluIEphdmFTY3JpcHQsIG9uZSBjYW4gY29udmVydCBhIERhdGUgb2JqZWN0IHRvIHRoaXMgZm9ybWF0IHVzaW5nIHRoZQogc3RhbmRhcmQKIFt0b0lTT1N0cmluZygpXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlL3RvSVNPU3RyaW5nKQogbWV0aG9kLiBJbiBQeXRob24sIGEgc3RhbmRhcmQgYGRhdGV0aW1lLmRhdGV0aW1lYCBvYmplY3QgY2FuIGJlIGNvbnZlcnRlZAogdG8gdGhpcyBmb3JtYXQgdXNpbmcKIFtgc3RyZnRpbWVgXShodHRwczovL2RvY3MucHl0aG9uLm9yZy8yL2xpYnJhcnkvdGltZS5odG1sI3RpbWUuc3RyZnRpbWUpIHdpdGgKIHRoZSB0aW1lIGZvcm1hdCBzcGVjICclWS0lbS0lZFQlSDolTTolUy4lZlonLiBMaWtld2lzZSwgaW4gSmF2YSwgb25lIGNhbiB1c2UKIHRoZSBKb2RhIFRpbWUncyBbYElTT0RhdGVUaW1lRm9ybWF0LmRhdGVUaW1lKClgXSgKIGh0dHA6Ly9qb2RhLXRpbWUuc291cmNlZm9yZ2UubmV0L2FwaWRvY3Mvb3JnL2pvZGEvdGltZS9mb3JtYXQvSVNPRGF0ZVRpbWVGb3JtYXQuaHRtbCNkYXRlVGltZSgpCiApIHRvIG9idGFpbiBhIGZvcm1hdHRlciBjYXBhYmxlIG9mIGdlbmVyYXRpbmcgdGltZXN0YW1wcyBpbiB0aGlzIGZvcm1hdC4KCgoLCgMEAAESBIQBCBEKnQEKBAQAAgASBIgBAhQajgEgUmVwcmVzZW50cyBzZWNvbmRzIG9mIFVUQyB0aW1lIHNpbmNlIFVuaXggZXBvY2gKIDE5NzAtMDEtMDFUMDA6MDA6MDBaLiBNdXN0IGJlIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8KIDk5OTktMTItMzFUMjM6NTk6NTlaIGluY2x1c2l2ZS4KCg0KBQQAAgAFEgSIAQIHCg0KBQQAAgABEgSIAQgPCg0KBQQAAgADEgSIARITCuUBCgQEAAIBEgSOAQISGtYBIE5vbi1uZWdhdGl2ZSBmcmFjdGlvbnMgb2YgYSBzZWNvbmQgYXQgbmFub3NlY29uZCByZXNvbHV0aW9uLiBOZWdhdGl2ZQogc2Vjb25kIHZhbHVlcyB3aXRoIGZyYWN0aW9ucyBtdXN0IHN0aWxsIGhhdmUgbm9uLW5lZ2F0aXZlIG5hbm9zIHZhbHVlcwogdGhhdCBjb3VudCBmb3J3YXJkIGluIHRpbWUuIE11c3QgYmUgZnJvbSAwIHRvIDk5OSw5OTksOTk5CiBpbmNsdXNpdmUuCgoNCgUEAAIBBRIEjgECBwoNCgUEAAIBARIEjgEIDQoNCgUEAAIBAxIEjgEQEWIGcHJvdG8zCs0jCh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIjCgtEb3VibGVWYWx1ZRIUCgV2YWx1ZRgBIAEoAVIFdmFsdWUiIgoKRmxvYXRWYWx1ZRIUCgV2YWx1ZRgBIAEoAlIFdmFsdWUiIgoKSW50NjRWYWx1ZRIUCgV2YWx1ZRgBIAEoA1IFdmFsdWUiIwoLVUludDY0VmFsdWUSFAoFdmFsdWUYASABKARSBXZhbHVlIiIKCkludDMyVmFsdWUSFAoFdmFsdWUYASABKAVSBXZhbHVlIiMKC1VJbnQzMlZhbHVlEhQKBXZhbHVlGAEgASgNUgV2YWx1ZSIhCglCb29sVmFsdWUSFAoFdmFsdWUYASABKAhSBXZhbHVlIiMKC1N0cmluZ1ZhbHVlEhQKBXZhbHVlGAEgASgJUgV2YWx1ZSIiCgpCeXRlc1ZhbHVlEhQKBXZhbHVlGAEgASgMUgV2YWx1ZUKDAQoTY29tLmdvb2dsZS5wcm90b2J1ZkINV3JhcHBlcnNQcm90b1ABWjFnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi93cmFwcGVyc3Bi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSsQfCgYSBCgAegEK2RAKAQwSAygAEjLOECBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCiBXcmFwcGVycyBmb3IgcHJpbWl0aXZlIChub24tbWVzc2FnZSkgdHlwZXMuIFRoZXNlIHR5cGVzIGFyZSB1c2VmdWwKIGZvciBlbWJlZGRpbmcgcHJpbWl0aXZlcyBpbiB0aGUgYGdvb2dsZS5wcm90b2J1Zi5BbnlgIHR5cGUgYW5kIGZvciBwbGFjZXMKIHdoZXJlIHdlIG5lZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGUgYWJzZW5jZSBvZiBhIHByaW1pdGl2ZQogdHlwZWQgZmllbGQgYW5kIGl0cyBkZWZhdWx0IHZhbHVlLgoKIFRoZXNlIHdyYXBwZXJzIGhhdmUgbm8gbWVhbmluZ2Z1bCB1c2Ugd2l0aGluIHJlcGVhdGVkIGZpZWxkcyBhcyB0aGV5IGxhY2sKIHRoZSBhYmlsaXR5IHRvIGRldGVjdCBwcmVzZW5jZSBvbiBpbmRpdmlkdWFsIGVsZW1lbnRzLgogVGhlc2Ugd3JhcHBlcnMgaGF2ZSBubyBtZWFuaW5nZnVsIHVzZSB3aXRoaW4gYSBtYXAgb3IgYSBvbmVvZiBzaW5jZQogaW5kaXZpZHVhbCBlbnRyaWVzIG9mIGEgbWFwIG9yIGZpZWxkcyBvZiBhIG9uZW9mIGNhbiBhbHJlYWR5IGRldGVjdCBwcmVzZW5jZS4KCggKAQISAyoAGAoICgEIEgMsAB8KCQoCCB8SAywAHwoICgEIEgMtAEgKCQoCCAsSAy0ASAoICgEIEgMuACwKCQoCCAESAy4ALAoICgEIEgMvAC4KCQoCCAgSAy8ALgoICgEIEgMwACIKCQoCCAoSAzAAIgoICgEIEgMxACEKCQoCCCQSAzEAIQoICgEIEgMyADsKCQoCCCUSAzIAOwpnCgIEABIENwA6ARpbIFdyYXBwZXIgbWVzc2FnZSBmb3IgYGRvdWJsZWAuCgogVGhlIEpTT04gcmVwcmVzZW50YXRpb24gZm9yIGBEb3VibGVWYWx1ZWAg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bi5wcm90bxobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvGiBnb29nbGUvcHJvdG9idWYvZmllbGRfbWFzay5wcm90bxokZ29vZ2xlL3Byb3RvYnVmL3NvdXJjZV9jb250ZXh0LnByb3RvGhxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvGh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvGhpnb29nbGUvcHJvdG9idWYvdHlwZS5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvIrQJChJUZXN0V2VsbEtub3duVHlwZXMSMQoJYW55X2ZpZWxkGAEgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIIYW55RmllbGQSMQoJYXBpX2ZpZWxkGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFwaVIIYXBpRmllbGQSQAoOZHVyYXRpb25fZmllbGQYAyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25SDWR1cmF0aW9uRmllbGQSNwoLZW1wdHlfZmllbGQYBCABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlSCmVtcHR5RmllbGQSRAoQZmllbGRfbWFza19maWVsZBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tSDmZpZWxkTWFza0ZpZWxkElAKFHNvdXJjZV9jb250ZXh0X2ZpZWxkGAYgASgLMh4uZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvbnRleHRSEnNvdXJjZUNvbnRleHRGaWVsZBI6CgxzdHJ1Y3RfZmllbGQYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0UgtzdHJ1Y3RGaWVsZBJDCg90aW1lc3RhbXBfZmllbGQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUg50aW1lc3RhbXBGaWVsZBI0Cgp0eXBlX2ZpZWxkGAkgASgLMhUuZ29vZ2xlLnByb3RvYnVmLlR5cGVSCXR5cGVGaWVsZBI/Cgxkb3VibGVfZmllbGQYCiABKAsyHC5nb29nbGUucHJvdG9idWYuRG91YmxlVmFsdWVSC2RvdWJsZUZpZWxkEjwKC2Zsb2F0X2ZpZWxkGAsgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZsb2F0VmFsdWVSCmZsb2F0RmllbGQSPAoLaW50NjRfZmllbGQYDCABKAsyGy5nb29nbGUucHJvdG9idWYuSW50NjRWYWx1ZVIKaW50NjRGaWVsZBI/Cgx1aW50NjRfZmllbGQYDSABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDY0VmFsdWVSC3VpbnQ2NEZpZWxkEjwKC2ludDMyX2ZpZWxkGA4gASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSCmludDMyRmllbGQSPwoMdWludDMyX2ZpZWxkGA8gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQzMlZhbHVlUgt1aW50MzJGaWVsZBI5Cgpib29sX2ZpZWxkGBAgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIJYm9vbEZpZWxkEj8KDHN0cmluZ19maWVsZBgRIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVILc3RyaW5nRmllbGQSPAoLYnl0ZXNfZmllbGQYEiABKAsyGy5nb29nbGUucHJvdG9idWYuQnl0ZXNWYWx1ZVIKYnl0ZXNGaWVsZBI3Cgt2YWx1ZV9maWVsZBgTIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIKdmFsdWVGaWVsZCL/CAoWUmVwZWF0ZWRXZWxsS25vd25UeXBlcxIxCglhbnlfZmllbGQYASADKAsyFC5nb29nbGUucHJvdG9idWYuQW55UghhbnlGaWVsZBIxCglhcGlfZmllbGQYAiADKAsyFC5nb29nbGUucHJvdG9idWYuQXBpUghhcGlGaWVsZBJACg5kdXJhdGlvbl9maWVsZBgDIAMoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblINZHVyYXRpb25GaWVsZBI3CgtlbXB0eV9maWVsZBgEIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eVIKZW1wdHlGaWVsZBJEChBmaWVsZF9tYXNrX2ZpZWxkGAUgAygLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza1IOZmllbGRNYXNrRmllbGQSUAoUc291cmNlX2NvbnRleHRfZmllbGQYBiADKAsyHi5nb29nbGUucHJvdG9idWYuU291cmNlQ29udGV4dFISc291cmNlQ29udGV4dEZpZWxkEjoKDHN0cnVjdF9maWVsZBgHIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RSC3N0cnVjdEZpZWxkEkMKD3RpbWVzdGFtcF9maWVsZBgIIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSDnRpbWVzdGFtcEZpZWxkEjQKCnR5cGVfZmllbGQYCSADKAsyFS5nb29nbGUucHJvdG9idWYuVHlwZVIJdHlwZUZpZWxkEj8KDGRvdWJsZV9maWVsZBgKIAMoCzIcLmdvb2dsZS5wcm90b2J1Zi5Eb3VibGVWYWx1ZVILZG91YmxlRmllbGQSPAoLZmxvYXRfZmllbGQYCyADKAsyGy5nb29nbGUucHJvdG9idWYuRmxvYXRWYWx1ZVIKZmxvYXRGaWVsZBI8CgtpbnQ2NF9maWVsZBgMIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlUgppbnQ2NEZpZWxkEj8KDHVpbnQ2NF9maWVsZBgNIAMoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50NjRWYWx1ZVILdWludDY0RmllbGQSPAoLaW50MzJfZmllbGQYDiADKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIKaW50MzJGaWVsZBI/Cgx1aW50MzJfZmllbGQYDyADKAsyHC5nb29nbGUucHJvdG9idWYuVUludDMyVmFsdWVSC3VpbnQzMkZpZWxkEjkKCmJvb2xfZmllbGQYECADKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUglib29sRmllbGQSPwoMc3RyaW5nX2ZpZWxkGBEgAygLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtzdHJpbmdGaWVsZBI8CgtieXRlc19maWVsZBgSIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5CeXRlc1ZhbHVlUgpieXRlc0ZpZWxkIq8JChNPbmVvZldlbGxLbm93blR5cGVzEjMKCWFueV9maWVsZBgBIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlIAFIIYW55RmllbGQSMwoJYXBpX2ZpZWxkGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFwaUgAUghhcGlGaWVsZBJCCg5kdXJhdGlvbl9maWVsZBgDIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkgAUg1kdXJhdGlvbkZpZWxkEjkKC2VtcHR5X2ZpZWxkGAQgASgLMhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5SABSCmVtcHR5RmllbGQSRgoQZmllbGRfbWFza19maWVsZBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tIAFIOZmllbGRNYXNrRmllbGQSUgoUc291cmNlX2NvbnRleHRfZmllbGQYBiABKAsyHi5nb29nbGUucHJvdG9idWYuU291cmNlQ29udGV4dEgAUhJzb3VyY2VDb250ZXh0RmllbGQSPAoMc3RydWN0X2ZpZWxkGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAUgtzdHJ1Y3RGaWVsZBJFCg90aW1lc3RhbXBfZmllbGQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSABSDnRpbWVzdGFtcEZpZWxkEjYKCnR5cGVfZmllbGQYCSABKAsyFS5nb29nbGUucHJvdG9idWYuVHlwZUgAUgl0eXBlRmllbGQSQQoMZG91YmxlX2ZpZWxkGAogASgLMhwuZ29vZ2xlLnByb3RvYnVmLkRvdWJsZVZhbHVlSABSC2RvdWJsZUZpZWxkEj4KC2Zsb2F0X2ZpZWxkGAsgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZsb2F0VmFsdWVIAFIKZmxvYXRGaWVsZBI+CgtpbnQ2NF9maWVsZBgMIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlSABSCmludDY0RmllbGQSQQoMdWludDY0X2ZpZWxkGA0gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQ2NFZhbHVlSABSC3VpbnQ2NEZpZWxkEj4KC2ludDMyX2ZpZWxkGA4gASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVIAFIKaW50MzJGaWVsZBJBCgx1aW50MzJfZmllbGQYDyABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDMyVmFsdWVIAFILdWludDMyRmllbGQSOwoKYm9vbF9maWVsZBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVIAFIJYm9vbEZpZWxkEkEKDHN0cmluZ19maWVsZBgRIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUgAUgtzdHJpbmdGaWVsZBI+CgtieXRlc19maWVsZBgSIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5CeXRlc1ZhbHVlSABSCmJ5dGVzRmllbGRCDQoLb25lb2ZfZmllbGQi2BkKEU1hcFdlbGxLbm93blR5cGVzEk8KCWFueV9maWVsZBgBIAMoCzIyLnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLkFueUZpZWxkRW50cnlSCGFueUZpZWxkEk8KCWFwaV9maWVsZBgCIAMoCzIyLnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLkFwaUZpZWxkRW50cnlSCGFwaUZpZWxkEl4KDmR1cmF0aW9uX2ZpZWxkGAMgAygLMjcucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuRHVyYXRpb25GaWVsZEVudHJ5Ug1kdXJhdGlvbkZpZWxkElUKC2VtcHR5X2ZpZWxkGAQgAygLMjQucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuRW1wdHlGaWVsZEVudHJ5UgplbXB0eUZpZWxkEmIKEGZpZWxkX21hc2tfZmllbGQYBSADKAsyOC5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5GaWVsZE1hc2tGaWVsZEVudHJ5Ug5maWVsZE1hc2tGaWVsZBJuChRzb3VyY2VfY29udGV4dF9maWVsZBgGIAMoCzI8LnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLlNvdXJjZUNvbnRleHRGaWVsZEVudHJ5UhJzb3VyY2VDb250ZXh0RmllbGQSWAoMc3RydWN0X2ZpZWxkGAcgAygLMjUucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuU3RydWN0RmllbGRFbnRyeVILc3RydWN0RmllbGQSYQoPdGltZXN0YW1wX2ZpZWxkGAggAygLMjgucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuVGltZXN0YW1wRmllbGRFbnRyeVIOdGltZXN0YW1wRmllbGQSUgoKdHlwZV9maWVsZBgJIAMoCzIzLnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLlR5cGVGaWVsZEVudHJ5Ugl0eXBlRmllbGQSWAoMZG91YmxlX2ZpZWxkGAogAygLMjUucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuRG91YmxlRmllbGRFbnRyeVILZG91YmxlRmllbGQSVQoLZmxvYXRfZmllbGQYCyADKAsyNC5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5GbG9hdEZpZWxkRW50cnlSCmZsb2F0RmllbGQSVQoLaW50NjRfZmllbGQYDCADKAsyNC5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5JbnQ2NEZpZWxkRW50cnlSCmludDY0RmllbGQSWAoMdWludDY0X2ZpZWxkGA0gAygLMjUucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuVWludDY0RmllbGRFbnRyeVILdWludDY0RmllbGQSVQoLaW50MzJfZmllbGQYDiADKAsyNC5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5JbnQzMkZpZWxkRW50cnlSCmludDMyRmllbGQSWAoMdWludDMyX2ZpZWxkGA8gAygLMjUucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuVWludDMyRmllbGRFbnRyeVILdWludDMyRmllbGQSUgoKYm9vbF9maWVsZBgQIAMoCzIzLnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLkJvb2xGaWVsZEVudHJ5Uglib29sRmllbGQSWAoMc3RyaW5nX2ZpZWxkGBEgAygLMjUucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuU3RyaW5nRmllbGRFbnRyeVILc3RyaW5nRmllbGQSVQoLYnl0ZXNfZmllbGQYEiADKAsyNC5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5CeXRlc0ZpZWxkRW50cnlSCmJ5dGVzRmllbGQaUQoNQW55RmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIqCgV2YWx1ZRgCIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSBXZhbHVlOgI4ARpRCg1BcGlGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EioKBXZhbHVlGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFwaVIFdmFsdWU6AjgBGlsKEkR1cmF0aW9uRmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIvCgV2YWx1ZRgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblIFdmFsdWU6AjgBGlUKD0VtcHR5RmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eVIFdmFsdWU6AjgBGl0KE0ZpZWxkTWFza0ZpZWxkRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSMAoFdmFsdWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrUgV2YWx1ZToCOAEaZQoXU291cmNlQ29udGV4dEZpZWxkRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSNAoFdmFsdWUYAiABKAsyHi5nb29nbGUucHJvdG9idWYuU291cmNlQ29udGV4dFIFdmFsdWU6AjgBGlcKEFN0cnVjdEZpZWxkRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSLQoFdmFsdWUYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0UgV2YWx1ZToCOAEaXQoTVGltZXN0YW1wRmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIwCgV2YWx1ZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSBXZhbHVlOgI4ARpTCg5UeXBlRmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIrCgV2YWx1ZRgCIAEoCzIVLmdvb2dsZS5wcm90b2J1Zi5UeXBlUgV2YWx1ZToCOAEaXAoQRG91YmxlRmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIyCgV2YWx1ZRgCIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5Eb3VibGVWYWx1ZVIFdmFsdWU6AjgBGloKD0Zsb2F0RmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIxCgV2YWx1ZRgCIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GbG9hdFZhbHVlUgV2YWx1ZToCOAEaWgoPSW50NjRGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjEKBXZhbHVlGAIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDY0VmFsdWVSBXZhbHVlOgI4ARpcChBVaW50NjRGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjIKBXZhbHVlGAIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQ2NFZhbHVlUgV2YWx1ZToCOAEaWgoPSW50MzJGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjEKBXZhbHVlGAIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSBXZhbHVlOgI4ARpcChBVaW50MzJGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjIKBXZhbHVlGAIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQzMlZhbHVlUgV2YWx1ZToCOAEaWAoOQm9vbEZpZWxkRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSMAoFdmFsdWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUgV2YWx1ZToCOAEaXAoQU3RyaW5nRmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIyCgV2YWx1ZRgCIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIFdmFsdWU6AjgBGloKD0J5dGVzRmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIxCgV2YWx1ZRgCIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5CeXRlc1ZhbHVlUgV2YWx1ZToCOAFCOQoYY29tLmdvb2dsZS5wcm90b2J1Zi50ZXN0UAGqAhpHb29nbGUuUHJvdG9idWYuVGVzdFByb3Rvc0ruKQoGEgQHAHgBCpQCCgEMEgMHABIyiQIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRh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L3Byb3RvYnVmL2FueS5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL2R1cmF0aW9uLnByb3RvGiBnb29nbGUvcHJvdG9idWYvZmllbGRfbWFzay5wcm90bxocZ29vZ2xlL3Byb3RvYnVmL3N0cnVjdC5wcm90bxofZ29vZ2xlL3Byb3RvYnVmL3RpbWVzdGFtcC5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvIplbChJUZXN0QWxsVHlwZXNQcm90bzMSJQoOb3B0aW9uYWxfaW50MzIYASABKAVSDW9wdGlvbmFsSW50MzISJQoOb3B0aW9uYWxfaW50NjQYAiABKANSDW9wdGlvbmFsSW50NjQSJwoPb3B0aW9uYWxfdWludDMyGAMgASgNUg5vcHRpb25hbFVpbnQzMhInCg9vcHRpb25hbF91aW50NjQYBCABKARSDm9wdGlvbmFsVWludDY0EicKD29wdGlvbmFsX3NpbnQzMhgFIAEoEVIOb3B0aW9uYWxTaW50MzISJwoPb3B0aW9uYWxfc2ludDY0GAYgASgSUg5vcHRpb25hbFNpbnQ2NBIpChBvcHRpb25hbF9maXhlZDMyGAcgASgHUg9vcHRpb25hbEZpeGVkMzISKQoQb3B0aW9uYWxfZml4ZWQ2NBgIIAEoBlIPb3B0aW9uYWxGaXhlZDY0EisKEW9wdGlvbmFsX3NmaXhlZDMyGAkgASgPUhBvcHRpb25hbFNmaXhlZDMyEisKEW9wdGlvbmFsX3NmaXhlZDY0GAogASgQUhBvcHRpb25hbFNmaXhlZDY0EiUKDm9wdGlvbmFsX2Zsb2F0GAsgASgCUg1vcHRpb25hbEZsb2F0EicKD29wdGlvbmFsX2RvdWJsZRgMIAEoAVIOb3B0aW9uYWxEb3VibGUSIwoNb3B0aW9uYWxfYm9vbBgNIAEoCFIMb3B0aW9uYWxCb29sEicKD29wdGlvbmFsX3N0cmluZxgOIAEoCVIOb3B0aW9uYWxTdHJpbmcSJQoOb3B0aW9uYWxfYnl0ZXMYDyABKAxSDW9wdGlvbmFsQnl0ZXMSdwoXb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2UYEiABKAsyPy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTmVzdGVkTWVzc2FnZVIVb3B0aW9uYWxOZXN0ZWRNZXNzYWdlEmcKGG9wdGlvbmFsX2ZvcmVpZ25fbWVzc2FnZRgTIAEoCzItLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLkZvcmVpZ25NZXNzYWdlUhZvcHRpb25hbEZvcmVpZ25NZXNzYWdlEm4KFG9wdGlvbmFsX25lc3RlZF9lbnVtGBUgASgOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZEVudW1SEm9wdGlvbmFsTmVzdGVkRW51bRJeChVvcHRpb25hbF9mb3JlaWduX2VudW0YFiABKA4yKi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5Gb3JlaWduRW51bVITb3B0aW9uYWxGb3JlaWduRW51bRJxChVvcHRpb25hbF9hbGlhc2VkX2VudW0YFyABKA4yPS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuQWxpYXNlZEVudW1SE29wdGlvbmFsQWxpYXNlZEVudW0SNgoVb3B0aW9uYWxfc3RyaW5nX3BpZWNlGBggASgJQgIIAlITb3B0aW9uYWxTdHJpbmdQaWVjZRInCg1vcHRpb25hbF9jb3JkGBkgASgJQgIIAVIMb3B0aW9uYWxDb3JkEl4KEXJlY3Vyc2l2ZV9tZXNzYWdlGBsgASgLMjEucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zUhByZWN1cnNpdmVNZXNzYWdlEiUKDnJlcGVhdGVkX2ludDMyGB8gAygFUg1yZXBlYXRlZEludDMyEiUKDnJlcGVhdGVkX2ludDY0GCAgAygDUg1yZXBlYXRlZEludDY0EicKD3JlcGVhdGVkX3VpbnQzMhghIAMoDVIOcmVwZWF0ZWRVaW50MzISJwoPcmVwZWF0ZWRfdWludDY0GCIgAygEUg5yZXBlYXRlZFVpbnQ2NBInCg9yZXBlYXRlZF9zaW50MzIYIyADKBFSDnJlcGVhdGVkU2ludDMyEicKD3JlcGVhdGVkX3NpbnQ2NBgkIAMoElIOcmVwZWF0ZWRTaW50NjQSKQoQcmVwZWF0ZWRfZml4ZWQzMhglIAMoB1IPcmVwZWF0ZWRGaXhlZDMyEikKEHJlcGVhdGVkX2ZpeGVkNjQYJiADKAZSD3JlcGVhdGVkRml4ZWQ2NBIrChFyZXBlYXRlZF9zZml4ZWQzMhgnIAMoD1IQcmVwZWF0ZWRTZml4ZWQzMhIrChFyZXBlYXRlZF9zZml4ZWQ2NBgoIAMoEFIQcmVwZWF0ZWRTZml4ZWQ2NBIlCg5yZXBlYXRlZF9mbG9hdBgpIAMoAlINcmVwZWF0ZWRGbG9hdBInCg9yZXBlYXRlZF9kb3VibGUYKiADKAFSDnJlcGVhdGVkRG91YmxlEiMKDXJlcGVhdGVkX2Jvb2wYKyADKAhSDHJlcGVhdGVkQm9vbBInCg9yZXBlYXRlZF9zdHJpbmcYLCADKAlSDnJlcGVhdGVkU3RyaW5nEiUKDnJlcGVhdGVkX2J5dGVzGC0gAygMUg1yZXBlYXRlZEJ5dGVzEncKF3JlcGVhdGVkX25lc3RlZF9tZXNzYWdlGDAgAygLMj8ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZE1lc3NhZ2VSFXJlcGVhdGVkTmVzdGVkTWVzc2FnZRJnChhyZXBlYXRlZF9mb3JlaWduX21lc3NhZ2UYMSADKAsyLS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5Gb3JlaWduTWVzc2FnZVIWcmVwZWF0ZWRGb3JlaWduTWVzc2FnZRJuChRyZXBlYXRlZF9uZXN0ZWRfZW51bRgzIAMoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRFbnVtUhJyZXBlYXRlZE5lc3RlZEVudW0SXgoVcmVwZWF0ZWRfZm9yZWlnbl9lbnVtGDQgAygOMioucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuRm9yZWlnbkVudW1SE3JlcGVhdGVkRm9yZWlnbkVudW0SNgoVcmVwZWF0ZWRfc3RyaW5nX3BpZWNlGDYgAygJQgIIAlITcmVwZWF0ZWRTdHJpbmdQaWVjZRInCg1yZXBlYXRlZF9jb3JkGDcgAygJQgIIAVIMcmVwZWF0ZWRDb3JkEiUKDHBhY2tlZF9pbnQzMhhLIAMoBUICEAFSC3BhY2tlZEludDMyEiUKDHBhY2tlZF9pbnQ2NBhMIAMoA0ICEAFSC3BhY2tlZEludDY0EicKDXBhY2tlZF91aW50MzIYTSADKA1CAhABUgxwYWNrZWRVaW50MzISJwoNcGFja2VkX3VpbnQ2NBhOIAMoBEICEAFSDHBhY2tlZFVpbnQ2NBInCg1wYWNrZWRfc2ludDMyGE8gAygRQgIQAVIMcGFja2VkU2ludDMyEicKDXBhY2tlZF9zaW50NjQYUCADKBJCAhABUgxwYWNrZWRTaW50NjQSKQoOcGFja2VkX2ZpeGVkMzIYUSADKAdCAhABUg1wYWNrZWRGaXhlZDMyEikKDnBhY2tlZF9maXhlZDY0GFIgAygGQgIQAVINcGFja2VkRml4ZWQ2NBIrCg9wYWNrZWRfc2ZpeGVkMzIYUyADKA9CAhABUg5wYWNrZWRTZml4ZWQzMhIrCg9wYWNrZWRfc2ZpeGVkNjQYVCADKBBCAhABUg5wYWNrZWRTZml4ZWQ2NBIlCgxwYWNrZWRfZmxvYXQYVSADKAJCAhABUgtwYWNrZWRGbG9hdBInCg1wYWNrZWRfZG91YmxlGFYgAygBQgIQAVIMcGFja2VkRG91YmxlEiMKC3BhY2tlZF9ib29sGFcgAygIQgIQAVIKcGFja2VkQm9vbBJuChJwYWNrZWRfbmVzdGVkX2VudW0YWCADKA4yPC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTmVzdGVkRW51bUICEAFSEHBhY2tlZE5lc3RlZEVudW0SKQoOdW5wYWNrZWRfaW50MzIYWSADKAVCAhAAUg11bnBhY2tlZEludDMyEikKDnVucGFja2VkX2ludDY0GFogAygDQgIQAFINdW5wYWNrZWRJbnQ2NBIrCg91bnBhY2tlZF91aW50MzIYWyADKA1CAhAAUg51bnBhY2tlZFVpbnQzMhIrCg91bnBhY2tlZF91aW50NjQYXCADKARCAhAAUg51bnBhY2tlZFVpbnQ2NBIrCg91bnBhY2tlZF9zaW50MzIYXSADKBFCAhAAUg51bnBhY2tlZFNpbnQzMhIrCg91bnBhY2tlZF9zaW50NjQYXiADKBJCAhAAUg51bnBhY2tlZFNpbnQ2NBItChB1bnBhY2tlZF9maXhlZDMyGF8gAygHQgIQAFIPdW5wYWNrZWRGaXhlZDMyEi0KEHVucGFja2VkX2ZpeGVkNjQYYCADKAZCAhAAUg91bnBhY2tlZEZpeGVkNjQSLwoRdW5wYWNrZWRfc2ZpeGVkMzIYYSADKA9CAhAAUhB1bnBhY2tlZFNmaXhlZDMyEi8KEXVucGFja2VkX3NmaXhlZDY0GGIgAygQQgIQAFIQdW5wYWNrZWRTZml4ZWQ2NBIpCg51bnBhY2tlZF9mbG9hdBhjIAMoAkICEABSDXVucGFja2VkRmxvYXQSKwoPdW5wYWNrZWRfZG91YmxlGGQgAygBQgIQAFIOdW5wYWNrZWREb3VibGUSJwoNdW5wYWNrZWRfYm9vbBhlIAMoCEICEABSDHVucGFja2VkQm9vbBJyChR1bnBhY2tlZF9uZXN0ZWRfZW51bRhmIAMoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRFbnVtQgIQAFISdW5wYWNrZWROZXN0ZWRFbnVtEmwKD21hcF9pbnQzMl9pbnQzMhg4IAMoCzJELnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBJbnQzMkludDMyRW50cnlSDW1hcEludDMySW50MzISbAoPbWFwX2ludDY0X2ludDY0GDkgAygLMkQucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcEludDY0SW50NjRFbnRyeVINbWFwSW50NjRJbnQ2NBJyChFtYXBfdWludDMyX3VpbnQzMhg6IAMoCzJGLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBVaW50MzJVaW50MzJFbnRyeVIPbWFwVWludDMyVWludDMyEnIKEW1hcF91aW50NjRfdWludDY0GDsgAygLMkYucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFVpbnQ2NFVpbnQ2NEVudHJ5Ug9tYXBVaW50NjRVaW50NjQScgoRbWFwX3NpbnQzMl9zaW50MzIYPCADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU2ludDMyU2ludDMyRW50cnlSD21hcFNpbnQzMlNpbnQzMhJyChFtYXBfc2ludDY0X3NpbnQ2NBg9IAMoCzJGLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBTaW50NjRTaW50NjRFbnRyeVIPbWFwU2ludDY0U2ludDY0EngKE21hcF9maXhlZDMyX2ZpeGVkMzIYPiADKAsySC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwRml4ZWQzMkZpeGVkMzJFbnRyeVIRbWFwRml4ZWQzMkZpeGVkMzISeAoTbWFwX2ZpeGVkNjRfZml4ZWQ2NBg/IAMoCzJILnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBGaXhlZDY0Rml4ZWQ2NEVudHJ5UhFtYXBGaXhlZDY0Rml4ZWQ2NBJ+ChVtYXBfc2ZpeGVkMzJfc2ZpeGVkMzIYQCADKAsySi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU2ZpeGVkMzJTZml4ZWQzMkVudHJ5UhNtYXBTZml4ZWQzMlNmaXhlZDMyEn4KFW1hcF9zZml4ZWQ2NF9zZml4ZWQ2NBhBIAMoCzJKLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBTZml4ZWQ2NFNmaXhlZDY0RW50cnlSE21hcFNmaXhlZDY0U2ZpeGVkNjQSbAoPbWFwX2ludDMyX2Zsb2F0GEIgAygLMkQucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcEludDMyRmxvYXRFbnRyeVINbWFwSW50MzJGbG9hdBJvChBtYXBfaW50MzJfZG91YmxlGEMgAygLMkUucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcEludDMyRG91YmxlRW50cnlSDm1hcEludDMyRG91YmxlEmYKDW1hcF9ib29sX2Jvb2wYRCADKAsyQi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwQm9vbEJvb2xFbnRyeVILbWFwQm9vbEJvb2wScgoRbWFwX3N0cmluZ19zdHJpbmcYRSADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU3RyaW5nU3RyaW5nRW50cnlSD21hcFN0cmluZ1N0cmluZxJvChBtYXBfc3RyaW5nX2J5dGVzGEYgAygLMkUucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFN0cmluZ0J5dGVzRW50cnlSDm1hcFN0cmluZ0J5dGVzEogBChltYXBfc3RyaW5nX25lc3RlZF9tZXNzYWdlGEcgAygLMk0ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFN0cmluZ05lc3RlZE1lc3NhZ2VFbnRyeVIWbWFwU3RyaW5nTmVzdGVkTWVzc2FnZRKLAQoabWFwX3N0cmluZ19mb3JlaWduX21lc3NhZ2UYSCADKAsyTi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU3RyaW5nRm9yZWlnbk1lc3NhZ2VFbnRyeVIXbWFwU3RyaW5nRm9yZWlnbk1lc3NhZ2USfwoWbWFwX3N0cmluZ19uZXN0ZWRfZW51bRhJIAMoCzJKLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBTdHJpbmdOZXN0ZWRFbnVtRW50cnlSE21hcFN0cmluZ05lc3RlZEVudW0SggEKF21hcF9zdHJpbmdfZm9yZWlnbl9lbnVtGEogAygLMksucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFN0cmluZ0ZvcmVpZ25FbnVtRW50cnlSFG1hcFN0cmluZ0ZvcmVpZ25FbnVtEiMKDG9uZW9mX3VpbnQzMhhvIAEoDUgAUgtvbmVvZlVpbnQzMhJzChRvbmVvZl9uZXN0ZWRfbWVzc2FnZRhwIAEoCzI/LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRNZXNzYWdlSABSEm9uZW9mTmVzdGVkTWVzc2FnZRIjCgxvbmVvZl9zdHJpbmcYcSABKAlIAFILb25lb2ZTdHJpbmcSIQoLb25lb2ZfYnl0ZXMYciABKAxIAFIKb25lb2ZCeXRlcxIfCgpvbmVvZl9ib29sGHMgASgISABSCW9uZW9mQm9vbBIjCgxvbmVvZl91aW50NjQYdCABKARIAFILb25lb2ZVaW50NjQSIQoLb25lb2ZfZmxvYXQYdSABKAJIAFIKb25lb2ZGbG9hdBIjCgxvbmVvZl9kb3VibGUYdiABKAFIAFILb25lb2ZEb3VibGUSXQoKb25lb2ZfZW51bRh3IAEoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRFbnVtSABSCW9uZW9mRW51bRJGChBvbmVvZl9udWxsX3ZhbHVlGHggASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZUgAUg5vbmVvZk51bGxWYWx1ZRJPChVvcHRpb25hbF9ib29sX3dyYXBwZXIYyQEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVITb3B0aW9uYWxCb29sV3JhcHBlchJSChZvcHRpb25hbF9pbnQzMl93cmFwcGVyGMoBIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhRvcHRpb25hbEludDMyV3JhcHBlchJSChZvcHRpb25hbF9pbnQ2NF93cmFwcGVyGMsBIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlUhRvcHRpb25hbEludDY0V3JhcHBlchJVChdvcHRpb25hbF91aW50MzJfd3JhcHBlchjMASABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDMyVmFsdWVSFW9wdGlvbmFsVWludDMyV3JhcHBlchJVChdvcHRpb25hbF91aW50NjRfd3JhcHBlchjNASABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDY0VmFsdWVSFW9wdGlvbmFsVWludDY0V3JhcHBlchJSChZvcHRpb25hbF9mbG9hdF93cmFwcGVyGM4BIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GbG9hdFZhbHVlUhRvcHRpb25hbEZsb2F0V3JhcHBlchJVChdvcHRpb25hbF9kb3VibGVfd3JhcHBlchjPASABKAsyHC5nb29nbGUucHJvdG9idWYuRG91YmxlVmFsdWVSFW9wdGlvbmFsRG91YmxlV3JhcHBlchJVChdvcHRpb25hbF9zdHJpbmdfd3JhcHBlchjQASABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSFW9wdGlvbmFsU3RyaW5nV3JhcHBlchJSChZvcHRpb25hbF9ieXRlc193cmFwcGVyGNEBIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5CeXRlc1ZhbHVlUhRvcHRpb25hbEJ5dGVzV3JhcHBlchJPChVyZXBlYXRlZF9ib29sX3dyYXBwZXIY0wEgAygLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVITcmVwZWF0ZWRCb29sV3JhcHBlchJSChZyZXBlYXRlZF9pbnQzMl93cmFwcGVyGNQBIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhRyZXBlYXRlZEludDMyV3JhcHBlchJSChZyZXBlYXRlZF9pbnQ2NF93cmFwcGVyGNUBIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlUhRyZXBlYXRlZEludDY0V3JhcHBlchJVChdyZXBlYXRlZF91aW50MzJfd3JhcHBlchjWASADKAsyHC5nb29nbGUucHJvdG9idWYuVUludDMyVmFsdWVSFXJlcGVhdGVkVWludDMyV3JhcHBlchJVChdyZXBlYXRlZF91aW50NjRfd3JhcHBlchjXASADKAsyHC5nb29nbGUucHJvdG9idWYuVUludDY0VmFsdWVSFXJlcGVhdGVkVWludDY0V3JhcHBlchJSChZyZXBlYXRlZF9mbG9hdF93cmFwcGVyGNgBIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5GbG9hdFZhbHVlUhRyZXBlYXRlZEZsb2F0V3JhcHBlchJVChdyZXBlYXRlZF9kb3VibGVfd3JhcHBlchjZASADKAsyHC5nb29nbGUucHJvdG9idWYuRG91YmxlVmFsdWVSFXJlcGVhdGVkRG91YmxlV3JhcHBlchJVChdyZXBlYXRlZF9zdHJpbmdfd3JhcHBlchjaASADKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSFXJlcGVhdGVkU3RyaW5nV3JhcHBlchJSChZyZXBlYXRlZF9ieXRlc193cmFwcGVyGNsBIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5CeXRlc1ZhbHVlUhRyZXBlYXRlZEJ5dGVzV3JhcHBlchJHChFvcHRpb25hbF9kdXJhdGlvbhitAiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25SEG9wdGlvbmFsRHVyYXRpb24SSgoSb3B0aW9uYWxfdGltZXN0YW1wGK4CIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSEW9wdGlvbmFsVGltZXN0YW1wEksKE29wdGlvbmFsX2ZpZWxkX21hc2sYrwIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza1IRb3B0aW9uYWxGaWVsZE1hc2sSQQoPb3B0aW9uYWxfc3RydWN0GLACIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RSDm9wdGlvbmFsU3RydWN0EjgKDG9wdGlvbmFsX2FueRixAiABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgtvcHRpb25hbEFueRI+Cg5vcHRpb25hbF92YWx1ZRiyAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSDW9wdGlvbmFsVmFsdWUSSwoTb3B0aW9uYWxfbnVsbF92YWx1ZRizAiABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlUhFvcHRpb25hbE51bGxWYWx1ZRJHChFyZXBlYXRlZF9kdXJhdGlvbhi3AiADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25SEHJlcGVhdGVkRHVyYXRpb24SSgoScmVwZWF0ZWRfdGltZXN0YW1wGLgCIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSEXJlcGVhdGVkVGltZXN0YW1wEkoKEnJlcGVhdGVkX2ZpZWxkbWFzaxi5AiADKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrUhFyZXBlYXRlZEZpZWxkbWFzaxJBCg9yZXBlYXRlZF9zdHJ1Y3QYxAIgAygLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdFIOcmVwZWF0ZWRTdHJ1Y3QSOAoMcmVwZWF0ZWRfYW55GLsCIAMoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSC3JlcGVhdGVkQW55Ej4KDnJlcGVhdGVkX3ZhbHVlGLwCIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVINcmVwZWF0ZWRWYWx1ZRJLChNyZXBlYXRlZF9saXN0X3ZhbHVlGL0CIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5MaXN0VmFsdWVSEXJlcGVhdGVkTGlzdFZhbHVlEh8KCmZpZWxkbmFtZTEYkQMgASgFUgpmaWVsZG5hbWUxEiAKC2ZpZWxkX25hbWUyGJIDIAEoBVIKZmllbGROYW1lMhIhCgxfZmllbGRfbmFtZTMYkwMgASgFUgpGaWVsZE5hbWUzEiIKDWZpZWxkX19uYW1lNF8YlAMgASgFUgpmaWVsZE5hbWU0EiEKC2ZpZWxkMG5hbWU1GJUDIAEoBVILZmllbGQwbmFtZTUSIwoNZmllbGRfMF9uYW1lNhiWAyABKAVSC2ZpZWxkME5hbWU2Eh8KCmZpZWxkTmFtZTcYlwMgASgFUgpmaWVsZE5hbWU3Eh8KCkZpZWxkTmFtZTgYmAMgASgFUgpGaWVsZE5hbWU4EiAKC2ZpZWxkX05hbWU5GJkDIAEoBVIKZmllbGROYW1lORIiCgxGaWVsZF9OYW1lMTAYmgMgASgFUgtGaWVsZE5hbWUxMBIiCgxGSUVMRF9OQU1FMTEYmwMgASgFUgtGSUVMRE5BTUUxMRIiCgxGSUVMRF9uYW1lMTIYnAMgASgFUgtGSUVMRE5hbWUxMhIkCg5fX2ZpZWxkX25hbWUxMxidAyABKAVSC0ZpZWxkTmFtZTEzEiQKDl9fRmllbGRfbmFtZTE0GJ4DIAEoBVILRmllbGROYW1lMTQSIwoNZmllbGRfX25hbWUxNRifAyABKAVSC2ZpZWxkTmFtZTE1EiMKDWZpZWxkX19OYW1lMTYYoAMgASgFUgtmaWVsZE5hbWUxNhIkCg5maWVsZF9uYW1lMTdfXxihAyABKAVSC2ZpZWxkTmFtZTE3EiQKDkZpZWxkX25hbWUxOF9fGKIDIAEoBVILRmllbGROYW1lMTgacgoNTmVzdGVkTWVzc2FnZRIMCgFhGAEgASgFUgFhElMKC2NvcmVjdXJzaXZlGAIgASgLMjEucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zUgtjb3JlY3Vyc2l2ZRpAChJNYXBJbnQzMkludDMyRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAVSBXZhbHVlOgI4ARpAChJNYXBJbnQ2NEludDY0RW50cnkSEAoDa2V5GAEgASgDUgNrZXkSFAoFdmFsdWUYAiABKANSBXZhbHVlOgI4ARpCChRNYXBVaW50MzJVaW50MzJFbnRyeRIQCgNrZXkYASABKA1SA2tleRIUCgV2YWx1ZRgCIAEoDVIFdmFsdWU6AjgBGkIKFE1hcFVpbnQ2NFVpbnQ2NEVudHJ5EhAKA2tleRgBIAEoBFIDa2V5EhQKBXZhbHVlGAIgASgEUgV2YWx1ZToCOAEaQgoUTWFwU2ludDMyU2ludDMyRW50cnkSEAoDa2V5GAEgASgRUgNrZXkSFAoFdmFsdWUYAiABKBFSBXZhbHVlOgI4ARpCChRNYXBTaW50NjRTaW50NjRFbnRyeRIQCgNrZXkYASABKBJSA2tleRIUCgV2YWx1ZRgCIAEoElIFdmFsdWU6AjgBGkQKFk1hcEZpeGVkMzJGaXhlZDMyRW50cnkSEAoDa2V5GAEgASgHUgNrZXkSFAoFdmFsdWUYAiABKAdSBXZhbHVlOgI4ARpEChZNYXBGaXhlZDY0Rml4ZWQ2NEVudHJ5EhAKA2tleRgBIAEoBlIDa2V5EhQKBXZhbHVlGAIgASgGUgV2YWx1ZToCOAEaRgoYTWFwU2ZpeGVkMzJTZml4ZWQzMkVudHJ5EhAKA2tleRgBIAEoD1IDa2V5EhQKBXZhbHVlGAIgASgPUgV2YWx1ZToCOAEaRgoYTWFwU2ZpeGVkNjRTZml4ZWQ2NEVudHJ5EhAKA2tleRgBIAEoEFIDa2V5EhQKBXZhbHVlGAIgASgQUgV2YWx1ZToCOAEaQAoSTWFwSW50MzJGbG9hdEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EhQKBXZhbHVlGAIgASgCUgV2YWx1ZToCOAEaQQoTTWFwSW50MzJEb3VibGVFbnRyeRIQCgNrZXkYASABKAVSA2tleRIUCgV2YWx1ZRgCIAEoAVIFdmFsdWU6AjgBGj4KEE1hcEJvb2xCb29sRW50cnkSEAoDa2V5GAEgASgIUgNrZXkSFAoFdmFsdWUYAiABKAhSBXZhbHVlOgI4ARpCChRNYXBTdHJpbmdTdHJpbmdFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGkEKE01hcFN0cmluZ0J5dGVzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAxSBXZhbHVlOgI4ARqKAQobTWFwU3RyaW5nTmVzdGVkTWVzc2FnZUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5ElUKBXZhbHVlGAIgASgLMj8ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZE1lc3NhZ2VSBXZhbHVlOgI4ARp5ChxNYXBTdHJpbmdGb3JlaWduTWVzc2FnZUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkMKBXZhbHVlGAIgASgLMi0ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuRm9yZWlnbk1lc3NhZ2VSBXZhbHVlOgI4ARqEAQoYTWFwU3RyaW5nTmVzdGVkRW51bUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5ElIKBXZhbHVlGAIgASgOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZEVudW1SBXZhbHVlOgI4ARpzChlNYXBTdHJpbmdGb3JlaWduRW51bUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkAKBXZhbHVlGAIgASgOMioucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuRm9yZWlnbkVudW1SBXZhbHVlOgI4ASI5CgpOZXN0ZWRFbnVtEgcKA0ZPTxAAEgcKA0JBUhABEgcKA0JBWhACEhAKA05FRxD///////////8BIlkKC0FsaWFzZWRFbnVtEg0KCUFMSUFTX0ZPTxAAEg0KCUFMSUFTX0JBUhABEg0KCUFMSUFTX0JBWhACEgcKA01PTxACEgcKA21vbxACEgcKA2JBehACGgIQAUINCgtvbmVvZl9maWVsZEoGCPUDEP8DIh4KDkZvcmVpZ25NZXNzYWdlEgwKAWMYASABKAVSAWMiFgoUTnVsbEh5cG90aGVzaXNQcm90bzMiLwoORW51bU9ubHlQcm90bzMiHQoEQm9vbBIKCgZrRmFsc2UQABIJCgVrVHJ1ZRABKkAKC0ZvcmVpZ25FbnVtEg8KC0ZPUkVJR05fRk9PEAASDwoLRk9SRUlHTl9CQVIQARIPCgtGT1JFSUdOX0JBWhACQjgKKGNvbS5nb29nbGUucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzNIAfgBAaICBlByb3RvM0rrZgoHEgUOAIgCAQqIAwoBDBIDDgASMv0CIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBvciBhdAogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCgogVGVzdCBzY2hlbWEgZm9yIHByb3RvMyBtZXNzYWdlcy4gIFRoaXMgdGVzdCBzY2hlbWEgaXMgdXNlZCBieToKCiAtIGJlbmNobWFya3MKIC0gZnV6eiB0ZXN0cwogLSBjb25mb3JtYW5jZSB0ZXN0cwoKCggKAQISAxAAJgoICgEIEgMSAEEKCQoCCAESAxIAQQoICgEIEgMTACQKCQoCCCQSAxMAJAoICgEIEgMWABwKRAoCCAkSAxYAHBo5IFRoaXMgaXMgdGhlIGRlZmF1bHQsIGJ1dCB3ZSBzcGVj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DgoOCgYEAwQAAgESBIYCBA4KDwoHBAMEAAIBARIEhgIECQoPCgcEAwQAAgECEgSGAgwNYgZwcm90bzMKpYsCCipnb29nbGUvcHJvdG9idWYvdGVzdF9tZXNzYWdlc19wcm90bzIucHJvdG8SHXByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yIrlRChJUZXN0QWxsVHlwZXNQcm90bzISJQoOb3B0aW9uYWxfaW50MzIYASABKAVSDW9wdGlvbmFsSW50MzISJQoOb3B0aW9uYWxfaW50NjQYAiABKANSDW9wdGlvbmFsSW50NjQSJwoPb3B0aW9uYWxfdWludDMyGAMgASgNUg5vcHRpb25hbFVpbnQzMhInCg9vcHRpb25hbF91aW50NjQYBCABKARSDm9wdGlvbmFsVWludDY0EicKD29wdGlvbmFsX3NpbnQzMhgFIAEoEVIOb3B0aW9uYWxTaW50MzISJwoPb3B0aW9uYWxfc2ludDY0GAYgASgSUg5vcHRpb25hbFNpbnQ2NBIpChBvcHRpb25hbF9maXhlZDMyGAcgASgHUg9vcHRpb25hbEZpeGVkMzISKQoQb3B0aW9uYWxfZml4ZWQ2NBgIIAEoBlIPb3B0aW9uYWxGaXhlZDY0EisKEW9wdGlvbmFsX3NmaXhlZDMyGAkgASgPUhBvcHRpb25hbFNmaXhlZDMyEisKEW9wdGlvbmFsX3NmaXhlZDY0GAogASgQUhBvcHRpb25hbFNmaXhlZDY0EiUKDm9wdGlvbmFsX2Zsb2F0GAsgASgCUg1vcHRpb25hbEZsb2F0EicKD29wdGlvbmFsX2RvdWJsZRgMIAEoAVIOb3B0aW9uYWxEb3VibGUSIwoNb3B0aW9uYWxfYm9vbBgNIAEoCFIMb3B0aW9uYWxCb29sEicKD29wdGlvbmFsX3N0cmluZxgOIAEoCVIOb3B0aW9uYWxTdHJpbmcSJQoOb3B0aW9uYWxfYnl0ZXMYDyABKAxSDW9wdGlvbmFsQnl0ZXMSdwoXb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2UYEiABKAsyPy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkTWVzc2FnZVIVb3B0aW9uYWxOZXN0ZWRNZXNzYWdlEm0KGG9wdGlvbmFsX2ZvcmVpZ25fbWVzc2FnZRgTIAEoCzIzLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25NZXNzYWdlUHJvdG8yUhZvcHRpb25hbEZvcmVpZ25NZXNzYWdlEm4KFG9wdGlvbmFsX25lc3RlZF9lbnVtGBUgASgOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk5lc3RlZEVudW1SEm9wdGlvbmFsTmVzdGVkRW51bRJkChVvcHRpb25hbF9mb3JlaWduX2VudW0YFiABKA4yMC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5Gb3JlaWduRW51bVByb3RvMlITb3B0aW9uYWxGb3JlaWduRW51bRI2ChVvcHRpb25hbF9zdHJpbmdfcGllY2UYGCABKAlCAggCUhNvcHRpb25hbFN0cmluZ1BpZWNlEicKDW9wdGlvbmFsX2NvcmQYGSABKAlCAggBUgxvcHRpb25hbENvcmQSXgoRcmVjdXJzaXZlX21lc3NhZ2UYGyABKAsyMS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzJSEHJlY3Vyc2l2ZU1lc3NhZ2USJQoOcmVwZWF0ZWRfaW50MzIYHyADKAVSDXJlcGVhdGVkSW50MzISJQoOcmVwZWF0ZWRfaW50NjQYICADKANSDXJlcGVhdGVkSW50NjQSJwoPcmVwZWF0ZWRfdWludDMyGCEgAygNUg5yZXBlYXRlZFVpbnQzMhInCg9yZXBlYXRlZF91aW50NjQYIiADKARSDnJlcGVhdGVkVWludDY0EicKD3JlcGVhdGVkX3NpbnQzMhgjIAMoEVIOcmVwZWF0ZWRTaW50MzISJwoPcmVwZWF0ZWRfc2ludDY0GCQgAygSUg5yZXBlYXRlZFNpbnQ2NBIpChByZXBlYXRlZF9maXhlZDMyGCUgAygHUg9yZXBlYXRlZEZpeGVkMzISKQoQcmVwZWF0ZWRfZml4ZWQ2NBgmIAMoBlIPcmVwZWF0ZWRGaXhlZDY0EisKEXJlcGVhdGVkX3NmaXhlZDMyGCcgAygPUhByZXBlYXRlZFNmaXhlZDMyEisKEXJlcGVhdGVkX3NmaXhlZDY0GCggAygQUhByZXBlYXRlZFNmaXhlZDY0EiUKDnJlcGVhdGVkX2Zsb2F0GCkgAygCUg1yZXBlYXRlZEZsb2F0EicKD3JlcGVhdGVkX2RvdWJsZRgqIAMoAVIOcmVwZWF0ZWREb3VibGUSIwoNcmVwZWF0ZWRfYm9vbBgrIAMoCFIMcmVwZWF0ZWRCb29sEicKD3JlcGVhdGVkX3N0cmluZxgsIAMoCVIOcmVwZWF0ZWRTdHJpbmcSJQoOcmVwZWF0ZWRfYnl0ZXMYLSADKAxSDXJlcGVhdGVkQnl0ZXMSdwoXcmVwZWF0ZWRfbmVzdGVkX21lc3NhZ2UYMCADKAsyPy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkTWVzc2FnZVIVcmVwZWF0ZWROZXN0ZWRNZXNzYWdlEm0KGHJlcGVhdGVkX2ZvcmVpZ25fbWVzc2FnZRgxIAMoCzIzLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25NZXNzYWdlUHJvdG8yUhZyZXBlYXRlZEZvcmVpZ25NZXNzYWdlEm4KFHJlcGVhdGVkX25lc3RlZF9lbnVtGDMgAygOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk5lc3RlZEVudW1SEnJlcGVhdGVkTmVzdGVkRW51bRJkChVyZXBlYXRlZF9mb3JlaWduX2VudW0YNCADKA4yMC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5Gb3JlaWduRW51bVByb3RvMlITcmVwZWF0ZWRGb3JlaWduRW51bRI2ChVyZXBlYXRlZF9zdHJpbmdfcGllY2UYNiADKAlCAggCUhNyZXBlYXRlZFN0cmluZ1BpZWNlEicKDXJlcGVhdGVkX2NvcmQYNyADKAlCAggBUgxyZXBlYXRlZENvcmQSJQoMcGFja2VkX2ludDMyGEsgAygFQgIQAVILcGFja2VkSW50MzISJQoMcGFja2VkX2ludDY0GEwgAygDQgIQAVILcGFja2VkSW50NjQSJwoNcGFja2VkX3VpbnQzMhhNIAMoDUICEAFSDHBhY2tlZFVpbnQzMhInCg1wYWNrZWRfdWludDY0GE4gAygEQgIQAVIMcGFja2VkVWludDY0EicKDXBhY2tlZF9zaW50MzIYTyADKBFCAhABUgxwYWNrZWRTaW50MzISJwoNcGFja2VkX3NpbnQ2NBhQIAMoEkICEAFSDHBhY2tlZFNpbnQ2NBIpCg5wYWNrZWRfZml4ZWQzMhhRIAMoB0ICEAFSDXBhY2tlZEZpeGVkMzISKQoOcGFja2VkX2ZpeGVkNjQYUiADKAZCAhABUg1wYWNrZWRGaXhlZDY0EisKD3BhY2tlZF9zZml4ZWQzMhhTIAMoD0ICEAFSDnBhY2tlZFNmaXhlZDMyEisKD3BhY2tlZF9zZml4ZWQ2NBhUIAMoEEICEAFSDnBhY2tlZFNmaXhlZDY0EiUKDHBhY2tlZF9mbG9hdBhVIAMoAkICEAFSC3BhY2tlZEZsb2F0EicKDXBhY2tlZF9kb3VibGUYViADKAFCAhABUgxwYWNrZWREb3VibGUSIwoLcGFja2VkX2Jvb2wYVyADKAhCAhABUgpwYWNrZWRCb29sEm4KEnBhY2tlZF9uZXN0ZWRfZW51bRhYIAMoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5OZXN0ZWRFbnVtQgIQAVIQcGFja2VkTmVzdGVkRW51bRIpCg51bnBhY2tlZF9pbnQzMhhZIAMoBUICEABSDXVucGFja2VkSW50MzISKQoOdW5wYWNrZWRfaW50NjQYWiADKANCAhAAUg11bnBhY2tlZEludDY0EisKD3VucGFja2VkX3VpbnQzMhhbIAMoDUICEABSDnVucGFja2VkVWludDMyEisKD3VucGFja2VkX3VpbnQ2NBhcIAMoBEICEABSDnVucGFja2VkVWludDY0EisKD3VucGFja2VkX3NpbnQzMhhdIAMoEUICEABSDnVucGFja2VkU2ludDMyEisKD3VucGFja2VkX3NpbnQ2NBheIAMoEkICEABSDnVucGFja2VkU2ludDY0Ei0KEHVucGFja2VkX2ZpeGVkMzIYXyADKAdCAhAAUg91bnBhY2tlZEZpeGVkMzISLQoQdW5wYWNrZWRfZml4ZWQ2NBhgIAMoBkICEABSD3VucGFja2VkRml4ZWQ2NBIvChF1bnBhY2tlZF9zZml4ZWQzMhhhIAMoD0ICEABSEHVucGFja2VkU2ZpeGVkMzISLwoRdW5wYWNrZWRfc2ZpeGVkNjQYYiADKBBCAhAAUhB1bnBhY2tlZFNmaXhlZDY0EikKDnVucGFja2VkX2Zsb2F0GGMgAygCQgIQAFINdW5wYWNrZWRGbG9hdBIrCg91bnBhY2tlZF9kb3VibGUYZCADKAFCAhAAUg51bnBhY2tlZERvdWJsZRInCg11bnBhY2tlZF9ib29sGGUgAygIQgIQAFIMdW5wYWNrZWRCb29sEnIKFHVucGFja2VkX25lc3RlZF9lbnVtGGYgAygOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk5lc3RlZEVudW1CAhAAUhJ1bnBhY2tlZE5lc3RlZEVudW0SbAoPbWFwX2ludDMyX2ludDMyGDggAygLMkQucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcEludDMySW50MzJFbnRyeVINbWFwSW50MzJJbnQzMhJsCg9tYXBfaW50NjRfaW50NjQYOSADKAsyRC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwSW50NjRJbnQ2NEVudHJ5Ug1tYXBJbnQ2NEludDY0EnIKEW1hcF91aW50MzJfdWludDMyGDogAygLMkYucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFVpbnQzMlVpbnQzMkVudHJ5Ug9tYXBVaW50MzJVaW50MzIScgoRbWFwX3VpbnQ2NF91aW50NjQYOyADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwVWludDY0VWludDY0RW50cnlSD21hcFVpbnQ2NFVpbnQ2NBJyChFtYXBfc2ludDMyX3NpbnQzMhg8IAMoCzJGLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTaW50MzJTaW50MzJFbnRyeVIPbWFwU2ludDMyU2ludDMyEnIKEW1hcF9zaW50NjRfc2ludDY0GD0gAygLMkYucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFNpbnQ2NFNpbnQ2NEVudHJ5Ug9tYXBTaW50NjRTaW50NjQSeAoTbWFwX2ZpeGVkMzJfZml4ZWQzMhg+IAMoCzJILnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBGaXhlZDMyRml4ZWQzMkVudHJ5UhFtYXBGaXhlZDMyRml4ZWQzMhJ4ChNtYXBfZml4ZWQ2NF9maXhlZDY0GD8gAygLMkgucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcEZpeGVkNjRGaXhlZDY0RW50cnlSEW1hcEZpeGVkNjRGaXhlZDY0En4KFW1hcF9zZml4ZWQzMl9zZml4ZWQzMhhAIAMoCzJKLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTZml4ZWQzMlNmaXhlZDMyRW50cnlSE21hcFNmaXhlZDMyU2ZpeGVkMzISfgoVbWFwX3NmaXhlZDY0X3NmaXhlZDY0GEEgAygLMkoucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFNmaXhlZDY0U2ZpeGVkNjRFbnRyeVITbWFwU2ZpeGVkNjRTZml4ZWQ2NBJsCg9tYXBfaW50MzJfZmxvYXQYQiADKAsyRC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwSW50MzJGbG9hdEVudHJ5Ug1tYXBJbnQzMkZsb2F0Em8KEG1hcF9pbnQzMl9kb3VibGUYQyADKAsyRS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwSW50MzJEb3VibGVFbnRyeVIObWFwSW50MzJEb3VibGUSZgoNbWFwX2Jvb2xfYm9vbBhEIAMoCzJCLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBCb29sQm9vbEVudHJ5UgttYXBCb29sQm9vbBJyChFtYXBfc3RyaW5nX3N0cmluZxhFIAMoCzJGLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTdHJpbmdTdHJpbmdFbnRyeVIPbWFwU3RyaW5nU3RyaW5nEm8KEG1hcF9zdHJpbmdfYnl0ZXMYRiADKAsyRS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwU3RyaW5nQnl0ZXNFbnRyeVIObWFwU3RyaW5nQnl0ZXMSiAEKGW1hcF9zdHJpbmdfbmVzdGVkX21lc3NhZ2UYRyADKAsyTS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwU3RyaW5nTmVzdGVkTWVzc2FnZUVudHJ5UhZtYXBTdHJpbmdOZXN0ZWRNZXNzYWdlEosBChptYXBfc3RyaW5nX2ZvcmVpZ25fbWVzc2FnZRhIIAMoCzJOLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTdHJpbmdGb3JlaWduTWVzc2FnZUVudHJ5UhdtYXBTdHJpbmdGb3JlaWduTWVzc2FnZRJ/ChZtYXBfc3RyaW5nX25lc3RlZF9lbnVtGEkgAygLMkoucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFN0cmluZ05lc3RlZEVudW1FbnRyeVITbWFwU3RyaW5nTmVzdGVkRW51bRKCAQoXbWFwX3N0cmluZ19mb3JlaWduX2VudW0YSiADKAsySy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwU3RyaW5nRm9yZWlnbkVudW1FbnRyeVIUbWFwU3RyaW5nRm9yZWlnbkVudW0SIwoMb25lb2ZfdWludDMyGG8gASgNSABSC29uZW9mVWludDMyEnMKFG9uZW9mX25lc3RlZF9tZXNzYWdlGHAgASgLMj8ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk5lc3RlZE1lc3NhZ2VIAFISb25lb2ZOZXN0ZWRNZXNzYWdlEiMKDG9uZW9mX3N0cmluZxhxIAEoCUgAUgtvbmVvZlN0cmluZxIhCgtvbmVvZl9ieXRlcxhyIAEoDEgAUgpvbmVvZkJ5dGVzEh8KCm9uZW9mX2Jvb2wYcyABKAhIAFIJb25lb2ZCb29sEiMKDG9uZW9mX3VpbnQ2NBh0IAEoBEgAUgtvbmVvZlVpbnQ2NBIhCgtvbmVvZl9mbG9hdBh1IAEoAkgAUgpvbmVvZkZsb2F0EiMKDG9uZW9mX2RvdWJsZRh2IAEoAUgAUgtvbmVvZkRvdWJsZRJdCgpvbmVvZl9lbnVtGHcgASgOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk5lc3RlZEVudW1IAFIJb25lb2ZFbnVtEksKBGRhdGEYyQEgASgKMjYucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLkRhdGFSBGRhdGESMAoNZGVmYXVsdF9pbnQzMhjxASABKAU6Ci0xMjM0NTY3ODlSDGRlZmF1bHRJbnQzMhI6Cg1kZWZhdWx0X2ludDY0GPIBIAEoAzoULTkxMjM0NTY3ODkxMjM0NTY3ODlSDGRlZmF1bHRJbnQ2NBIyCg5kZWZhdWx0X3VpbnQzMhjzASABKA06CjIxMjM0NTY3ODlSDWRlZmF1bHRVaW50MzISPAoOZGVmYXVsdF91aW50NjQY9AEgASgEOhQxMDEyMzQ1Njc4OTEyMzQ1Njc4OVINZGVmYXVsdFVpbnQ2NBIyCg5kZWZhdWx0X3NpbnQzMhj1ASABKBE6Ci0xMjM0NTY3ODlSDWRlZmF1bHRTaW50MzISPAoOZGVmYXVsdF9zaW50NjQY9gEgASgSOhQtOTEyMzQ1Njc4OTEyMzQ1Njc4OVINZGVmYXVsdFNpbnQ2NBI0Cg9kZWZhdWx0X2ZpeGVkMzIY9wEgASgHOgoyMTIzNDU2Nzg5Ug5kZWZhdWx0Rml4ZWQzMhI+Cg9kZWZhdWx0X2ZpeGVkNjQY+AEgASgGOhQxMDEyMzQ1Njc4OTEyMzQ1Njc4OVIOZGVmYXVsdEZpeGVkNjQSNgoQZGVmYXVsdF9zZml4ZWQzMhj5ASABKA86Ci0xMjM0NTY3ODlSD2RlZmF1bHRTZml4ZWQzMhJAChBkZWZhdWx0X3NmaXhlZDY0GPoBIAEoEDoULTkxMjM0NTY3ODkxMjM0NTY3ODlSD2RlZmF1bHRTZml4ZWQ2NBIrCg1kZWZhdWx0X2Zsb2F0GPsBIAEoAjoFOWUrMDlSDGRlZmF1bHRGbG9hdBItCg5kZWZhdWx0X2RvdWJsZRj8ASABKAE6BTdlKzIyUg1kZWZhdWx0RG91YmxlEigKDGRlZmF1bHRfYm9vbBj9ASABKAg6BHRydWVSC2RlZmF1bHRCb29sEi8KDmRlZmF1bHRfc3RyaW5nGP4BIAEoCToHUm9zZWJ1ZFINZGVmYXVsdFN0cmluZxIsCg1kZWZhdWx0X2J5dGVzGP8BIAEoDDoGam9zaHVhUgxkZWZhdWx0Qnl0ZXMSHwoKZmllbGRuYW1lMRiRAyABKAVSCmZpZWxkbmFtZTESIAoLZmllbGRfbmFtZTIYkgMgASgFUgpmaWVsZE5hbWUyEiEKDF9maWVsZF9uYW1lMxiTAyABKAVSCkZpZWxkTmFtZTMSIgoNZmllbGRfX25hbWU0XxiUAyABKAVSCmZpZWxkTmFtZTQSIQoLZmllbGQwbmFtZTUYlQMgASgFUgtmaWVsZDBuYW1lNRIjCg1maWVsZF8wX25hbWU2GJYDIAEoBVILZmllbGQwTmFtZTYSHwoKZmllbGROYW1lNxiXAyABKAVSCmZpZWxkTmFtZTcSHwoKRmllbGROYW1lOBiYAyABKAVSCkZpZWxkTmFtZTgSIAoLZmllbGRfTmFtZTkYmQMgASgFUgpmaWVsZE5hbWU5EiIKDEZpZWxkX05hbWUxMBiaAyABKAVSC0ZpZWxkTmFtZTEwEiIKDEZJRUxEX05BTUUxMRibAyABKAVSC0ZJRUxETkFNRTExEiIKDEZJRUxEX25hbWUxMhicAyABKAVSC0ZJRUxETmFtZTEyEiQKDl9fZmllbGRfbmFtZTEzGJ0DIAEoBVILRmllbGROYW1lMTMSJAoOX19GaWVsZF9uYW1lMTQYngMgASgFUgtGaWVsZE5hbWUxNBIjCg1maWVsZF9fbmFtZTE1GJ8DIAEoBVILZmllbGROYW1lMTUSIwoNZmllbGRfX05hbWUxNhigAyABKAVSC2ZpZWxkTmFtZTE2EiQKDmZpZWxkX25hbWUxN19fGKEDIAEoBVILZmllbGROYW1lMTcSJAoORmllbGRfbmFtZTE4X18YogMgASgFUgtGaWVsZE5hbWUxOBpyCg1OZXN0ZWRNZXNzYWdlEgwKAWEYASABKAVSAWESUwoLY29yZWN1cnNpdmUYAiABKAsyMS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzJSC2NvcmVjdXJzaXZlGkAKEk1hcEludDMySW50MzJFbnRyeRIQCgNrZXkYASABKAVSA2tleRIUCgV2YWx1ZRgCIAEoBVIFdmFsdWU6AjgBGkAKEk1hcEludDY0SW50NjRFbnRyeRIQCgNrZXkYASABKANSA2tleRIUCgV2YWx1ZRgCIAEoA1IFdmFsdWU6AjgBGkIKFE1hcFVpbnQzMlVpbnQzMkVudHJ5EhAKA2tleRgBIAEoDVIDa2V5EhQKBXZhbHVlGAIgASgNUgV2YWx1ZToCOAEaQgoUTWFwVWludDY0VWludDY0RW50cnkSEAoDa2V5GAEgASgEUgNrZXkSFAoFdmFsdWUYAiABKARSBXZhbHVlOgI4ARpCChRNYXBTaW50MzJTaW50MzJFbnRyeRIQCgNrZXkYASABKBFSA2tleRIUCgV2YWx1ZRgCIAEoEVIFdmFsdWU6AjgBGkIKFE1hcFNpbnQ2NFNpbnQ2NEVudHJ5EhAKA2tleRgBIAEoElIDa2V5EhQKBXZhbHVlGAIgASgSUgV2YWx1ZToCOAEaRAoWTWFwRml4ZWQzMkZpeGVkMzJFbnRyeRIQCgNrZXkYASABKAdSA2tleRIUCgV2YWx1ZRgCIAEoB1IFdmFsdWU6AjgBGkQKFk1hcEZpeGVkNjRGaXhlZDY0RW50cnkSEAoDa2V5GAEgASgGUgNrZXkSFAoFdmFsdWUYAiABKAZSBXZhbHVlOgI4ARpGChhNYXBTZml4ZWQzMlNmaXhlZDMyRW50cnkSEAoDa2V5GAEgASgPUgNrZXkSFAoFdmFsdWUYAiABKA9SBXZhbHVlOgI4ARpGChhNYXBTZml4ZWQ2NFNmaXhlZDY0RW50cnkSEAoDa2V5GAEgASgQUgNrZXkSFAoFdmFsdWUYAiABKBBSBXZhbHVlOgI4ARpAChJNYXBJbnQzMkZsb2F0RW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAJSBXZhbHVlOgI4ARpBChNNYXBJbnQzMkRvdWJsZUVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EhQKBXZhbHVlGAIgASgBUgV2YWx1ZToCOAEaPgoQTWFwQm9vbEJvb2xFbnRyeRIQCgNrZXkYASABKAhSA2tleRIUCgV2YWx1ZRgCIAEoCFIFdmFsdWU6AjgBGkIKFE1hcFN0cmluZ1N0cmluZ0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaQQoTTWFwU3RyaW5nQnl0ZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoDFIFdmFsdWU6AjgBGooBChtNYXBTdHJpbmdOZXN0ZWRNZXNzYWdlRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSVQoFdmFsdWUYAiABKAsyPy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkTWVzc2FnZVIFdmFsdWU6AjgBGn8KHE1hcFN0cmluZ0ZvcmVpZ25NZXNzYWdlRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSSQoFdmFsdWUYAiABKAsyMy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5Gb3JlaWduTWVzc2FnZVByb3RvMlIFdmFsdWU6AjgBGoQBChhNYXBTdHJpbmdOZXN0ZWRFbnVtRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSUgoFdmFsdWUYAiABKA4yPC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkRW51bVIFdmFsdWU6AjgBGnkKGU1hcFN0cmluZ0ZvcmVpZ25FbnVtRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSRgoFdmFsdWUYAiABKA4yMC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5Gb3JlaWduRW51bVByb3RvMlIFdmFsdWU6AjgBGkwKBERhdGESIAoLZ3JvdXBfaW50MzIYygEgASgFUgpncm91cEludDMyEiIKDGdyb3VwX3VpbnQzMhjLASABKA1SC2dyb3VwVWludDMyGiEKEU1lc3NhZ2VTZXRDb3JyZWN0KggIBBD/////BzoCCAEa+gEKG01lc3NhZ2VTZXRDb3JyZWN0RXh0ZW5zaW9uMRIQCgNzdHIYGSABKAlSA3N0cjLIAQoVbWVzc2FnZV9zZXRfZXh0ZW5zaW9uEkMucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1lc3NhZ2VTZXRDb3JyZWN0GPm7XiABKAsyTS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWVzc2FnZVNldENvcnJlY3RFeHRlbnNpb24xUhNtZXNzYWdlU2V0RXh0ZW5zaW9uGvcBChtNZXNzYWdlU2V0Q29ycmVjdEV4dGVuc2lvbjISDAoBaRgJIAEoBVIBaTLJAQoVbWVzc2FnZV9zZXRfZXh0ZW5zaW9uEkMucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1lc3NhZ2VTZXRDb3JyZWN0GJCz/AEgASgLMk0ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1lc3NhZ2VTZXRDb3JyZWN0RXh0ZW5zaW9uMlITbWVzc2FnZVNldEV4dGVuc2lvbiI5CgpOZXN0ZWRFbnVtEgcKA0ZPTxAAEgcKA0JBUhABEgcKA0JBWhACEhAKA05FRxD///////////8BKgUIeBDJAUINCgtvbmVvZl9maWVsZEoGCOgHEJBOIiQKFEZvcmVpZ25NZXNzYWdlUHJvdG8yEgwKAWMYASABKAVSAWMingMKFVVua25vd25Ub1Rlc3RBbGxUeXBlcxImCg5vcHRpb25hbF9pbnQzMhjpByABKAVSDW9wdGlvbmFsSW50MzISKAoPb3B0aW9uYWxfc3RyaW5nGOoHIAEoCVIOb3B0aW9uYWxTdHJpbmcSWwoObmVzdGVkX21lc3NhZ2UY6wcgASgLMjMucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuRm9yZWlnbk1lc3NhZ2VQcm90bzJSDW5lc3RlZE1lc3NhZ2USaQoNb3B0aW9uYWxncm91cBjsByABKAoyQi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5Vbmtub3duVG9UZXN0QWxsVHlwZXMuT3B0aW9uYWxHcm91cFINb3B0aW9uYWxncm91cBIkCg1vcHRpb25hbF9ib29sGO4HIAEoCFIMb3B0aW9uYWxCb29sEiYKDnJlcGVhdGVkX2ludDMyGPMHIAMoBVINcmVwZWF0ZWRJbnQzMhodCg1PcHRpb25hbEdyb3VwEgwKAWEYASABKAVSAWEiFgoUTnVsbEh5cG90aGVzaXNQcm90bzIiLwoORW51bU9ubHlQcm90bzIiHQoEQm9vbBIKCgZrRmFsc2UQABIJCgVrVHJ1ZRABIiUKD09uZVN0cmluZ1Byb3RvMhISCgRkYXRhGAEgASgJUgRkYXRhImEKEVByb3RvV2l0aEtleXdvcmRzEhYKBmlubGluZRgBIAEoBVIGaW5saW5lEhgKB2NvbmNlcHQYAiABKAlSB2NvbmNlcHQSGgoIcmVxdWlyZXMYAyADKAlSCHJlcXVpcmVzIswZChpUZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3RvMhIlCg5yZXF1aXJlZF9pbnQzMhgBIAIoBVINcmVxdWlyZWRJbnQzMhIlCg5yZXF1aXJlZF9pbnQ2NBgCIAIoA1INcmVxdWlyZWRJbnQ2NBInCg9yZXF1aXJlZF91aW50MzIYAyACKA1SDnJlcXVpcmVkVWludDMyEicKD3JlcXVpcmVkX3VpbnQ2NBgEIAIoBFIOcmVxdWlyZWRVaW50NjQSJwoPcmVxdWlyZWRfc2ludDMyGAUgAigRUg5yZXF1aXJlZFNpbnQzMhInCg9yZXF1aXJlZF9zaW50NjQYBiACKBJSDnJlcXVpcmVkU2ludDY0EikKEHJlcXVpcmVkX2ZpeGVkMzIYByACKAdSD3JlcXVpcmVkRml4ZWQzMhIpChByZXF1aXJlZF9maXhlZDY0GAggAigGUg9yZXF1aXJlZEZpeGVkNjQSKwoRcmVxdWlyZWRfc2ZpeGVkMzIYCSACKA9SEHJlcXVpcmVkU2ZpeGVkMzISKwoRcmVxdWlyZWRfc2ZpeGVkNjQYCiACKBBSEHJlcXVpcmVkU2ZpeGVkNjQSJQoOcmVxdWlyZWRfZmxvYXQYCyACKAJSDXJlcXVpcmVkRmxvYXQSJwoPcmVxdWlyZWRfZG91YmxlGAwgAigBUg5yZXF1aXJlZERvdWJsZRIjCg1yZXF1aXJlZF9ib29sGA0gAigIUgxyZXF1aXJlZEJvb2wSJwoPcmVxdWlyZWRfc3RyaW5nGA4gAigJUg5yZXF1aXJlZFN0cmluZxIlCg5yZXF1aXJlZF9ieXRlcxgPIAIoDFINcmVxdWlyZWRCeXRlcxJ/ChdyZXF1aXJlZF9uZXN0ZWRfbWVzc2FnZRgSIAIoCzJHLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yLk5lc3RlZE1lc3NhZ2VSFXJlcXVpcmVkTmVzdGVkTWVzc2FnZRJtChhyZXF1aXJlZF9mb3JlaWduX21lc3NhZ2UYEyACKAsyMy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5Gb3JlaWduTWVzc2FnZVByb3RvMlIWcmVxdWlyZWRGb3JlaWduTWVzc2FnZRJ2ChRyZXF1aXJlZF9uZXN0ZWRfZW51bRgVIAIoDjJELnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yLk5lc3RlZEVudW1SEnJlcXVpcmVkTmVzdGVkRW51bRJkChVyZXF1aXJlZF9mb3JlaWduX2VudW0YFiACKA4yMC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5Gb3JlaWduRW51bVByb3RvMlITcmVxdWlyZWRGb3JlaWduRW51bRI2ChVyZXF1aXJlZF9zdHJpbmdfcGllY2UYGCACKAlCAggCUhNyZXF1aXJlZFN0cmluZ1BpZWNlEicKDXJlcXVpcmVkX2NvcmQYGSACKAlCAggBUgxyZXF1aXJlZENvcmQSZgoRcmVjdXJzaXZlX21lc3NhZ2UYGyACKAsyOS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3RvMlIQcmVjdXJzaXZlTWVzc2FnZRJ3ChpvcHRpb25hbF9yZWN1cnNpdmVfbWVzc2FnZRgcIAEoCzI5LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yUhhvcHRpb25hbFJlY3Vyc2l2ZU1lc3NhZ2USUwoEZGF0YRjJASACKAoyPi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3RvMi5EYXRhUgRkYXRhEjAKDWRlZmF1bHRfaW50MzIY8QEgAigFOgotMTIzNDU2Nzg5UgxkZWZhdWx0SW50MzISOgoNZGVmYXVsdF9pbnQ2NBjyASACKAM6FC05MTIzNDU2Nzg5MTIzNDU2Nzg5UgxkZWZhdWx0SW50NjQSMgoOZGVmYXVsdF91aW50MzIY8wEgAigNOgoyMTIzNDU2Nzg5Ug1kZWZhdWx0VWludDMyEjwKDmRlZmF1bHRfdWludDY0GPQBIAIoBDoUMTAxMjM0NTY3ODkxMjM0NTY3ODlSDWRlZmF1bHRVaW50NjQSMgoOZGVmYXVsdF9zaW50MzIY9QEgAigROgotMTIzNDU2Nzg5Ug1kZWZhdWx0U2ludDMyEjwKDmRlZmF1bHRfc2ludDY0GPYBIAIoEjoULTkxMjM0NTY3ODkxMjM0NTY3ODlSDWRlZmF1bHRTaW50NjQSNAoPZGVmYXVsdF9maXhlZDMyGPcBIAIoBzoKMjEyMzQ1Njc4OVIOZGVmYXVsdEZpeGVkMzISPgoPZGVmYXVsdF9maXhlZDY0GPgBIAIoBjoUMTAxMjM0NTY3ODkxMjM0NTY3ODlSDmRlZmF1bHRGaXhlZDY0EjYKEGRlZmF1bHRfc2ZpeGVkMzIY+QEgAigPOgotMTIzNDU2Nzg5Ug9kZWZhdWx0U2ZpeGVkMzISQAoQZGVmYXVsdF9zZml4ZWQ2NBj6ASACKBA6FC05MTIzNDU2Nzg5MTIzNDU2Nzg5Ug9kZWZhdWx0U2ZpeGVkNjQSKwoNZGVmYXVsdF9mbG9hdBj7ASACKAI6BTllKzA5UgxkZWZhdWx0RmxvYXQSLQoOZGVmYXVsdF9kb3VibGUY/AEgAigBOgU3ZSsyMlINZGVmYXVsdERvdWJsZRIoCgxkZWZhdWx0X2Jvb2wY/QEgAigIOgR0cnVlUgtkZWZhdWx0Qm9vbBIvCg5kZWZhdWx0X3N0cmluZxj+ASACKAk6B1Jvc2VidWRSDWRlZmF1bHRTdHJpbmcSLAoNZGVmYXVsdF9ieXRlcxj/ASACKAw6Bmpvc2h1YVIMZGVmYXVsdEJ5dGVzGugBCg1OZXN0ZWRNZXNzYWdlEgwKAWEYASACKAVSAWESWwoLY29yZWN1cnNpdmUYAiACKAsyOS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3RvMlILY29yZWN1cnNpdmUSbAoUb3B0aW9uYWxfY29yZWN1cnNpdmUYAyABKAsyOS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3RvMlITb3B0aW9uYWxDb3JlY3Vyc2l2ZRpMCgREYXRhEiAKC2dyb3VwX2ludDMyGMoBIAIoBVIKZ3JvdXBJbnQzMhIiCgxncm91cF91aW50MzIYywEgAigNUgtncm91cFVpbnQzMhohChFNZXNzYWdlU2V0Q29ycmVjdCoICAQQ/////wc6AggBGooCChtNZXNzYWdlU2V0Q29ycmVjdEV4dGVuc2lvbjESEAoDc3RyGBkgAigJUgNzdHIy2AEKFW1lc3NhZ2Vfc2V0X2V4dGVuc2lvbhJLLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yLk1lc3NhZ2VTZXRDb3JyZWN0GPm7XiABKAsyVS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3RvMi5NZXNzYWdlU2V0Q29ycmVjdEV4dGVuc2lvbjFSE21lc3NhZ2VTZXRFeHRlbnNpb24ahwIKG01lc3NhZ2VTZXRDb3JyZWN0RXh0ZW5zaW9uMhIMCgFpGAkgAigFUgFpMtkBChVtZXNzYWdlX3NldF9leHRlbnNpb24SSy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3RvMi5NZXNzYWdlU2V0Q29ycmVjdBiQs/wBIAEoCzJVLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yLk1lc3NhZ2VTZXRDb3JyZWN0RXh0ZW5zaW9uMlITbWVzc2FnZVNldEV4dGVuc2lvbiI5CgpOZXN0ZWRFbnVtEgcKA0ZPTxAAEgcKA0JBUhABEgcKA0JBWhACEhAKA05FRxD///////////8BKgUIeBDJAUoGCOgHEJBOKkYKEUZvcmVpZ25FbnVtUHJvdG8yEg8KC0ZPUkVJR05fRk9PEAASDwoLRk9SRUlHTl9CQVIQARIPCgtGT1JFSUdOX0JBWhACOloKD2V4dGVuc2lvbl9pbnQzMhIxLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMhh4IAEoBVIOZXh0ZW5zaW9uSW50MzJCOAooY29tLmdvb2dsZS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMkgB+AEBogIGUHJvdG8yStOYAQoHEgUOAPUCAQqCAwoBDBIDDgASMuECIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBvciBhdAogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCgogVGVzdCBzY2hlbWEgZm9yIHByb3RvMiBtZXNzYWdlcy4gIFRoaXMgdGVzdCBzY2hlbWEgaXMgdXNlZCBieToKCiAtIGNvbmZvcm1hbmNlIHRlc3RzCgoyFCBMSU5UOiBBTExPV19HUk9VUFMKCggKAQISAxAAJgoICgEIEgMSAEEKCQoCCAESAxIAQQoICgEIEgMTACQKCQoCCCQSAxMAJAoICgEIEgMWABwKRAoCCAkSAxYAHBo5IFRoaXMgaXMgdGhlIGRlZmF1bHQsIGJ1dCB3ZSBzcGVjaWZ5IGl0IGhlcmUgZXhwbGljaXRseS4KCggKAQgSAxgAHwoJCgIIHxIDGAAfCtsCCgIEABIFIQDr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AgASBPMCBBkKDwoHBAcDBAIABBIE8wIEDAoPCgcEBwMEAgAFEgTzAg0SCg8KBwQHAwQCAAESBPMCExQKDwoHBAcDBAIAAxIE8wIXGAqgKgouZ29vZ2xlL3Byb3RvYnVmL3VuaXR0ZXN0X3Byb3RvM19vcHRpb25hbC5wcm90bxIRcHJvdG9idWZfdW5pdHRlc3QaIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvIo8NChJUZXN0UHJvdG8zT3B0aW9uYWwSKgoOb3B0aW9uYWxfaW50MzIYASABKAVIAFINb3B0aW9uYWxJbnQzMogBARIqCg5vcHRpb25hbF9pbnQ2NBgCIAEoA0gBUg1vcHRpb25hbEludDY0iAEBEiwKD29wdGlvbmFsX3VpbnQzMhgDIAEoDUgCUg5vcHRpb25hbFVpbnQzMogBARIsCg9vcHRpb25hbF91aW50NjQYBCABKARIA1IOb3B0aW9uYWxVaW50NjSIAQESLAoPb3B0aW9uYWxfc2ludDMyGAUgASgRSARSDm9wdGlvbmFsU2ludDMyiAEBEiwKD29wdGlvbmFsX3NpbnQ2NBgGIAEoEkgFUg5vcHRpb25hbFNpbnQ2NIgBARIuChBvcHRpb25hbF9maXhlZDMyGAcgASgHSAZSD29wdGlvbmFsRml4ZWQzMogBARIuChBvcHRpb25hbF9maXhlZDY0GAggASgGSAdSD29wdGlvbmFsRml4ZWQ2NIgBARIwChFvcHRpb25hbF9zZml4ZWQzMhgJIAEoD0gIUhBvcHRpb25hbFNmaXhlZDMyiAEBEjAKEW9wdGlvbmFsX3NmaXhlZDY0GAogASgQSAlSEG9wdGlvbmFsU2ZpeGVkNjSIAQESKgoOb3B0aW9uYWxfZmxvYXQYCyABKAJIClINb3B0aW9uYWxGbG9hdIgBARIsCg9vcHRpb25hbF9kb3VibGUYDCABKAFIC1IOb3B0aW9uYWxEb3VibGWIAQESKAoNb3B0aW9uYWxfYm9vbBgNIAEoCEgMUgxvcHRpb25hbEJvb2yIAQESLAoPb3B0aW9uYWxfc3RyaW5nGA4gASgJSA1SDm9wdGlvbmFsU3RyaW5niAEBEioKDm9wdGlvbmFsX2J5dGVzGA8gASgMSA5SDW9wdGlvbmFsQnl0ZXOIAQESLAoNb3B0aW9uYWxfY29yZBgQIAEoCUICCAFID1IMb3B0aW9uYWxDb3JkiAEBEnAKF29wdGlvbmFsX25lc3RlZF9tZXNzYWdlGBIgASgLMjMucHJvdG9idWZfdW5pdHRlc3QuVGVzdFByb3RvM09wdGlvbmFsLk5lc3RlZE1lc3NhZ2VIEFIVb3B0aW9uYWxOZXN0ZWRNZXNzYWdliAEBEmwKE2xhenlfbmVzdGVkX21lc3NhZ2UYEyABKAsyMy5wcm90b2J1Zl91bml0dGVzdC5UZXN0UHJvdG8zT3B0aW9uYWwuTmVzdGVkTWVzc2FnZUICKAFIEVIRbGF6eU5lc3RlZE1lc3NhZ2WIAQESZwoUb3B0aW9uYWxfbmVzdGVkX2VudW0YFSABKA4yMC5wcm90b2J1Zl91bml0dGVzdC5UZXN0UHJvdG8zT3B0aW9uYWwuTmVzdGVkRW51bUgSUhJvcHRpb25hbE5lc3RlZEVudW2IAQESJQoOc2luZ3VsYXJfaW50MzIYFiABKAVSDXNpbmd1bGFySW50MzISJQoOc2luZ3VsYXJfaW50NjQYFyABKANSDXNpbmd1bGFySW50NjQaKwoNTmVzdGVkTWVzc2FnZRITCgJiYhgBIAEoBUgAUgJiYogBAUIFCgNfYmIiSgoKTmVzdGVkRW51bRIPCgtVTlNQRUNJRklFRBAAEgcKA0ZPTxABEgcKA0JBUhACEgcKA0JBWhADEhAKA05FRxD///////////8BQhEKD19vcHRpb25hbF9pbnQzMkIRCg9fb3B0aW9uYWxfaW50NjRCEgoQX29wdGlvbmFsX3VpbnQzMkISChBfb3B0aW9uYWxfdWludDY0QhIKEF9vcHRpb25hbF9zaW50MzJCEgoQX29wdGlvbmFsX3NpbnQ2NEITChFfb3B0aW9uYWxfZml4ZWQzMkITChFfb3B0aW9uYWxfZml4ZWQ2NEIUChJfb3B0aW9uYWxfc2ZpeGVkMzJCFAoSX29wdGlvbmFsX3NmaXhlZDY0QhEKD19vcHRpb25hbF9mbG9hdEISChBfb3B0aW9uYWxfZG91YmxlQhAKDl9vcHRpb25hbF9ib29sQhIKEF9vcHRpb25hbF9zdHJpbmdCEQoPX29wdGlvbmFsX2J5dGVzQhAKDl9vcHRpb25hbF9jb3JkQhoKGF9vcHRpb25hbF9uZXN0ZWRfbWVzc2FnZUIWChRfbGF6eV9uZXN0ZWRfbWVzc2FnZUIXChVfb3B0aW9uYWxfbmVzdGVkX2VudW0isgIKGVRlc3RQcm90bzNPcHRpb25hbE1lc3NhZ2USYQoObmVzdGVkX21lc3NhZ2UYASABKAsyOi5wcm90b2J1Zl91bml0dGVzdC5UZXN0UHJvdG8zT3B0aW9uYWxNZXNzYWdlLk5lc3RlZE1lc3NhZ2VSDW5lc3RlZE1lc3NhZ2USdwoXb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2UYAiABKAsyOi5wcm90b2J1Zl91bml0dGVzdC5UZXN0UHJvdG8zT3B0aW9uYWxNZXNzYWdlLk5lc3RlZE1lc3NhZ2VIAFIVb3B0aW9uYWxOZXN0ZWRNZXNzYWdliAEBGh0KDU5lc3RlZE1lc3NhZ2USDAoBcxgBIAEoCVIBc0IaChhfb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2UiyQEKGFByb3RvM09wdGlvbmFsRXh0ZW5zaW9uczJLCg9leHRfbm9fb3B0aW9uYWwSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYiM3ZqQEgASgFUg1leHROb09wdGlvbmFsMlIKEWV4dF93aXRoX29wdGlvbmFsEh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGInN2akBIAEoBVIPZXh0V2l0aE9wdGlvbmFsiAEBOgzA6MzNCgjI6MzNChBCOAohY29tLmdvb2dsZS5wcm90b2J1Zi50ZXN0aW5nLnByb3RvUAGqAhBQcm90b2J1ZlVuaXR0ZXN0SuMXCgYSBAcATQEKlAIKAQwSAwcAEjKJAiBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlCiBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgb3IgYXQKIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL29wZW4tc291cmNlL2xpY2Vuc2VzL2JzZAoKCAoBAhIDCQAaCgkKAgMAEgMLACoKCAoBCBIDDQAtCgkKAgglEgMNAC0KCAoBCBIDDgAiCgkKAggKEgMOACIKCAoBCBIDDwA6CgkKAggBEgMPADoKCgoCBAASBBEAOgEKCgoDBAABEgMRCBoKDAoEBAADABIEEgIXAwoMCgUEAAMAARIDEgoXCuMBCgYEAAMAAgASAxYEGhrTASBUaGUgZmllbGQgbmFtZSAiYiIgZmFpbHMgdG8gY29tcGlsZSBpbiBwcm90bzEgYmVjYXVzZSBpdCBjb25mbGljdHMgd2l0aAogYSBsb2NhbCB2YXJpYWJsZSBuYW1lZCAiYiIgaW4gb25lIG9mIHRoZSBnZW5lcmF0ZWQgbWV0aG9kcy4gIERvaC4KIFRoaXMgZmlsZSBuZWVkcyB0byBjb21waWxlIGluIHByb3RvMSB0byB0ZXN0IGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LgoKDgoHBAADAAIABBIDFgQMCg4KBwQAAwACAAUSAxYNEgoOCgcEAAMAAgABEgMWExUKDgoHBAADAAIAAxIDFhgZCgwKBAQABAASBBkCHwMKDAoFBAAEAAESAxkHEQoNCgYEAAQAAgASAxoEFAoOCgcEAAQAAgABEgMaBA8KDgoHBAAEAAIAAhIDGhITCg0KBgQABAACARIDGwQMCg4KBwQABAACAQESAxsEBwoOCgcEAAQAAgECEgMbCgsKDQoGBAAEAAICEgMcBAwKDgoHBAAEAAICARIDHAQHCg4KBwQABAACAgISAxwKCwoNCgYEAAQAAgMSAx0EDAoOCgcEAAQAAgMBEgMdBAcKDgoHBAAEAAIDAhIDHQoLCigKBgQABAACBBIDHgQNIhkgSW50ZW50aW9uYWxseSBuZWdhdGl2ZS4KCg4KBwQABAACBAESAx4EBwoOCgcEAAQAAgQCEgMeCgwKFwoEBAACABIDIgIkGgogU2luZ3VsYXIKCgwKBQQAAgAEEgMiAgoKDAoFBAACAAUSAyILEAoMCgUEAAIAARIDIhEfCgwKBQQAAgADEgMiIiMKCwoEBAACARIDIwIkCgwKBQQAAgEEEgMjAgoKDAoFBAACAQUSAyMLEAoMCgUEAAIBARIDIxEfCgwKBQQAAgEDEgMjIiMKCwoEBAACAhIDJAImCgwKBQQAAgIEEgMkAgoKDAoFBAACAgUSAyQLEQoMCgUEAAICARIDJBIhCgwKBQQAAgIDEgMkJCUKCwoEBAACAxIDJQImCgwKBQQAAgMEEgMlAgoKDAoFBAACAwUSAyULEQoMCgUEAAIDARIDJRIhCgwKBQQAAgMDEgMlJCUKCwoEBAACBBIDJgImCgwKBQQAAgQEEgMmAgoKDAoFBAACBAUSAyYLEQoMCgUEAAIEARIDJhIhCgwKBQQAAgQDEgMmJCUKCwoEBAACBRIDJwImCgwKBQQAAgUEEgMnAgoKDAoFBAACBQUSAycLEQoMCgUEAAIFARIDJxIhCgwKBQQAAgUDEgMnJCUKCwoEBAACBhIDKAIoCgwKBQQAAgYEEgMoAgoKDAoFBAACBgUSAygLEgoMCgUEAAIGARIDKBMjCgwKBQQAAgYDEgMoJicKCwoEBAACBxIDKQIoCgwKBQQAAgcEEgMpAgoKDAoFBAACBwUSAykLEgoMCgUEAAIHARIDKRMjCgwKBQQAAgcDEgMpJicKCwoEBAACCBIDKgIqCgwKBQQAAggEEgMqAgoKDAoFBAACCAUSAyoLEwoMCgUEAAIIARIDKhQlCgwKBQQAAggDEgMqKCkKCwoEBAACCRIDKwIrCgwKBQQAAgkEEgMrAgoKDAoFBAACCQUSAysLEwoMCgUEAAIJARIDKxQlCgwKBQQAAgkDEgMrKCoKCwoEBAACChIDLAIlCgwKBQQAAgoEEgMsAgoKDAoFBAACCgUSAywLEAoMCgUEAAIKARIDLBEfCgwKBQQAAgoDEgMsIiQKCwoEBAACCxIDLQInCgwKBQQAAgsEEgMtAgoKDAoFBAACCwUSAy0LEQoMCgUEAAILARIDLRIhCgwKBQQAAgsDEgMtJCYKCwoEBAACDBIDLgIjCgwKBQQAAgwEEgMuAgoKDAoFBAACDAUSAy4LDwoMCgUEAAIMARIDLhAdCgwKBQQAAgwDEgMuICIKCwoEBAACDRIDLwInCgwKBQQAAg0EEgMvAgoKDAoFBAACDQUSAy8LEQoMCgUEAAINARIDLxIhCgwKBQQAAg0DEgMvJCYKCwoEBAACDhIDMAIlCgwKBQQAAg4EEgMwAgoKDAoFBAACDgUSAzALEAoMCgUEAAIOARIDMBEfCgwKBQQAAg4DEgMwIiQKCwoEBAACDxIDMQI0CgwKBQQAAg8EEgMxAgoKDAoFBAACDwUSAzELEQoMCgUEAAIPARIDMRIfCgwKBQQAAg8DEgMxIiQKDAoFBAACDwgSAzElMwoNCgYEAAIPCAESAzEmMgoLCgQEAAIQEgMzAjYKDAoFBAACEAQSAzMCCgoMCgUEAAIQBhIDMwsYCgwKBQQAAhABEgMzGTAKDAoFBAACEAMSAzMzNQoLCgQEAAIREgM0AkAKDAoFBAACEQQSAzQCCgoMCgUEAAIRBhIDNAsYCgwKBQQAAhEBEgM0GSwKDAoFBAACEQMSAzQvMQoMCgUEAAIRCBIDNDI/Cg0KBgQAAhEIBRIDNDM+CgsKBAQAAhISAzUCMAoMCgUEAAISBBIDNQIKCgwKBQQAAhIGEgM1CxUKDAoFBAACEgESAzUWKgoMCgUEAAISAxIDNS0vCkYKBAQAAhMSAzgCHBo5IEFkZCBzb21lIG5vbi1vcHRpb25hbCBmaWVsZHMgdG8gdmVyaWZ5IHdlIGNhbiBtaXggdGhlbS4KCgwKBQQAAhMFEgM4AgcKDAoFBAACEwESAzgIFgoMCgUEAAITAxIDOBkbCgsKBAQAAhQSAzkCHAoMCgUEAAIUBRIDOQIHCgwKBQQAAhQBEgM5CBYKDAoFBAACFAMSAzkZGwoKCgIEARIEPABDAQoKCgMEAQESAzwIIQoMCgQEAQMAEgQ9Aj8DCgwKBQQBAwABEgM9ChcKDQoGBAEDAAIAEgM+BBEKDgoHBAEDAAIABRIDPgQKCg4KBwQBAwACAAESAz4LDAoOCgcEAQMAAgADEgM+DxAKCwoEBAECABIDQQIjCgwKBQQBAgAGEgNBAg8KDAoFBAECAAESA0EQHgoMCgUEAQIAAxIDQSEiCgsKBAQBAgESA0ICNQoMCgUEAQIBBBIDQgIKCgwKBQQBAgEGEgNCCxgKDAoFBAECAQESA0IZMAoMCgUEAQIBAxIDQjM0CgoKAgQCEgRFAE0BCgoKAwQCARIDRQggCgoKAwQCBxIDRgJKCg8KCAQCB4jN2akBEgNGAkoKCgoDBAIHEgNHAk0KDwoIBAIHic3ZqQESA0cCTQoLCgMEAgYSBEkCTAMKCwoEBAIGABIDSgQmCgwKBQQCBgACEgNJCScKDAoFBAIGAAUSA0oECQoMCgUEAgYAARIDSgoZCgwKBQQCBgADEgNKHCUKCwoEBAIGARIDSwQxCgwKBQQCBgECEgNJCScKDAoFBAIGAQQSA0sEDAoMCgUEAgYBBRIDSw0SCgwKBQQCBgEBEgNLEyQKDAoFBAIGAQMSA0snMGIGcHJvdG8zCsoqCihnb29nbGUvcHJvdG9idWYvdW5pdHRlc3RfcmV0ZW50aW9uLnByb3RvEhFwcm90b2J1Zl91bml0dGVzdBogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8iqQEKDk9wdGlvbnNNZXNzYWdlEh8KC3BsYWluX2ZpZWxkGAEgASgFUgpwbGFpbkZpZWxkEjsKF3J1bnRpbWVfcmV0ZW50aW9uX2ZpZWxkGAIgASgFQgOIAQFSFXJ1bnRpbWVSZXRlbnRpb25GaWVsZBI5ChZzb3VyY2VfcmV0ZW50aW9uX2ZpZWxkGAMgASgFQgOIAQJSFHNvdXJjZVJldGVudGlvbkZpZWxkIhYKCEV4dGVuZGVlKgQIARACKgQIAhADIuwBCg9Ub3BMZXZlbE1lc3NhZ2USGAoBZhgBIAEoAkIKmrrthA8ECAEQAlIBZhIOCgFpGAIgASgDSABSAWkaGwoNTmVzdGVkTWVzc2FnZToKmsXehQ8ECAEQAiIsCgpOZXN0ZWRFbnVtEhIKDk5FU1RFRF9VTktOT1dOEAAaCvqeqoQPBAgBEAIqEAgKEGUaCqKY34UPBAgBEAIyNQoBcxIbLnByb3RvYnVmX3VuaXR0ZXN0LkV4dGVuZGVlGAIgASgJQgqauu2EDwQIARACUgFzOgqaxd6FDwQIARACQg8KAW8SCorbt4QPBAgBEAIqPQoMVG9wTGV2ZWxFbnVtEiEKEVRPUF9MRVZFTF9VTktOT1dOEAAaCtLdqYQPBAgBEAIaCvqeqoQPBAgBEAIydAoHU2VydmljZRJdCgdEb1N0dWZmEiIucHJvdG9idWZfdW5pdHRlc3QuVG9wTGV2ZWxNZXNzYWdlGiIucHJvdG9idWZfdW5pdHRlc3QuVG9wTGV2ZWxNZXNzYWdlIgrirviDDwQIARACGgrqh4uEDwQIARACOkMKDHBsYWluX29wdGlvbhIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucxjGtezwASABKAVSC3BsYWluT3B0aW9uOl8KGHJ1bnRpbWVfcmV0ZW50aW9uX29wdGlvbhIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucxickunwASABKAVCA4gBAVIWcnVudGltZVJldGVudGlvbk9wdGlvbjpdChdzb3VyY2VfcmV0ZW50aW9uX29wdGlvbhIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucxjUrN/wASABKAVCA4gBAlIVc291cmNlUmV0ZW50aW9uT3B0aW9uOmQKC2ZpbGVfb3B0aW9uEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGIDy3vABIAEoCzIhLnByb3RvYnVmX3VuaXR0ZXN0Lk9wdGlvbnNNZXNzYWdlUgpmaWxlT3B0aW9uOm4KEHJlcGVhdGVkX29wdGlvbnMSHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYkv7b8AEgAygLMiEucHJvdG9idWZfdW5pdHRlc3QuT3B0aW9uc01lc3NhZ2VSD3JlcGVhdGVkT3B0aW9uczqDAQoWZXh0ZW5zaW9uX3JhbmdlX29wdGlvbhImLmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnMYhPPb8AEgASgLMiEucHJvdG9idWZfdW5pdHRlc3QuT3B0aW9uc01lc3NhZ2VSFGV4dGVuc2lvblJhbmdlT3B0aW9uOm0KDm1lc3NhZ2Vfb3B0aW9uEh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGNPo2/ABIAEoCzIhLnByb3RvYnVmX3VuaXR0ZXN0Lk9wdGlvbnNNZXNzYWdlUg1tZXNzYWdlT3B0aW9uOmcKDGZpZWxkX29wdGlvbhIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMYo9fN8AEgASgLMiEucHJvdG9idWZfdW5pdHRlc3QuT3B0aW9uc01lc3NhZ2VSC2ZpZWxkT3B0aW9uOmcKDG9uZW9mX29wdGlvbhIdLmdvb2dsZS5wcm90b2J1Zi5PbmVvZk9wdGlvbnMYsfvG8AEgASgLMiEucHJvdG9idWZfdW5pdHRlc3QuT3B0aW9uc01lc3NhZ2VSC29uZW9mT3B0aW9uOmQKC2VudW1fb3B0aW9uEhwuZ29vZ2xlLnByb3RvYnVmLkVudW1PcHRpb25zGO+jxfABIAEoCzIhLnByb3RvYnVmX3VuaXR0ZXN0Lk9wdGlvbnNNZXNzYWdlUgplbnVtT3B0aW9uOnQKEWVudW1fZW50cnlfb3B0aW9uEiEuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZU9wdGlvbnMY2pvF8AEgASgLMiEucHJvdG9idWZfdW5pdHRlc3QuT3B0aW9uc01lc3NhZ2VSD2VudW1FbnRyeU9wdGlvbjptCg5zZXJ2aWNlX29wdGlvbhIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9ucxj9sMHwASABKAsyIS5wcm90b2J1Zl91bml0dGVzdC5PcHRpb25zTWVzc2FnZVINc2VydmljZU9wdGlvbjpqCg1tZXRob2Rfb3B0aW9uEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMY7IW/8AEgASgLMiEucHJvdG9idWZfdW5pdHRlc3QuT3B0aW9uc01lc3NhZ2VSDG1ldGhvZE9wdGlvbjo1CgFpEhsucHJvdG9idWZfdW5pdHRlc3QuRXh0ZW5kZWUYASABKAVCCpq67YQPBAgBEAJSAWlCM6oCEFByb3RvYnVmVW5pdHRlc3SS8d+FDwQIARACgpD3hQ8ECAEQAuCRyYYPArCs44YPAUq7GQoHEgUHALgBAQqUAgoBDBIDBwASMokCIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBvciBhdAogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCgoICgECEgMJABoKCQoCAwASAwsAKgoICgEIEgMNAC0KCQoCCCUSAw0ALQpACgEHEgQQABYBGjUgUmV0ZW50aW9uIGF0dHJpYnV0ZXMgc2V0IGRpcmVjdGx5IG9uIGN1c3RvbSBvcHRpb25zCgoJCgIHABIDEQIqCgoKAwcAAhIDEAciCgoKAwcABBIDEQIKCgoKAwcABRIDEQsQCgoKAwcAARIDEREdCgoKAwcAAxIDESApCgoKAgcBEgQSAhMmCgoKAwcBAhIDEAciCgoKAwcBBBIDEgIKCgoKAwcBBRIDEgsQCgoKAwcBARIDEhEpCgoKAwcBAxIDEiw1CgoKAwcBCBIDEwYlCgsKBAcBCBESAxMHJAoKCgIHAhIEFAIVJQoKCgMHAgISAxAHIgoKCgMHAgQSAxQCCgoKCgMHAgUSAxQLEAoKCgMHAgESAxQRKAoKCgMHAgMSAxQrNAoKCgMHAggSAxUGJAoLCgQHAggREgMVByMKCAoBCBIDGAAaCg0KBgjGtezwARIDGAAaCggKAQgSAxkAJgoNCgYInJLp8AESAxkAJgoICgEIEgMaACUKSAoCBAASBB0AIQEaPCBSZXRlbnRpb24gYXR0cmlidXRlcyBzZXQgb24gZmllbGRzIG5lc3RlZCB3aXRoaW4gYSBtZXNzYWdlCgoKCgMEAAESAx0IFgoLCgQEAAIAEgMeAiEKDAoFBAACAAQSAx4CCgoMCgUEAAIABRIDHgsQCgwKBQQAAgABEgMeERwKDAoFBAACAAMSAx4fIAoLCgQEAAIBEgMfAk0KDAoFBAACAQQSAx8CCgoMCgUEAAIBBRIDHwsQCgwKBQQAAgEBEgMfESgKDAoFBAACAQMSAx8rLAoMCgUEAAIBCBIDHy1MCg0KBgQAAgEIERIDHy5LCgsKBAQAAgISAyACSwoMCgUEAAICBBIDIAIKCgwKBQQAAgIFEgMgCxAKDAoFBAACAgESAyARJwoMCgUEAAICAxIDICorCgwKBQQAAgIIEgMgLEoKDQoGBAACAggREgMgLUkKCQoBBxIEIwAlAQoJCgIHAxIDJAIyCgoKAwcDAhIDIwciCgoKAwcDBBIDJAIKCgoKAwcDBhIDJAsZCgoKAwcDARIDJBolCgoKAwcDAxIDJCgxCgkKAQgSBCcAKwIKDgoGCIDy3vABEgQnACsCCkcKAQcSBC4AMAEaPCBSZXRlbnRpb24gYXR0cmlidXRlIG5lc3RlZCBpbnNpZGUgYSByZXBlYXRlZCBtZXNzYWdlIGZpZWxkCgoJCgIHBBIDLwI3CgoKAwcEAhIDLgciCgoKAwcEBBIDLwIKCgoKAwcEBhIDLwsZCgoKAwcEARIDLxoqCgoKAwcEAxIDLy02CgkKAQgSBDIANgIKDwoHCJL+2/ABABIEMgA2AgoJCgEHEgQ4ADoBCgkKAgcFEgM5Aj0KCgoDBwUCEgM4BywKCgoDBwUEEgM5AgoKCgoDBwUGEgM5CxkKCgoDBwUBEgM5GjAKCgoDBwUDEgM5MzwKCQoBBxIEPAA+AQoJCgIHBhIDPQI1CgoKAwcGAhIDPAclCgoKAwcGBBIDPQIKCgoKAwcGBhIDPQsZCgoKAwcGARIDPRooCgoKAwcGAxIDPSs0CgkKAQcSBEAAQgEKCQoCBwcSA0ECMwoKCgMHBwISA0AHIwoKCgMHBwQSA0ECCgoKCgMHBwYSA0ELGQoKCgMHBwESA0EaJgoKCgMHBwMSA0EpMgoJCgEHEgREAEYBCgkKAgcIEgNFAjMKCgoDBwgCEgNEByMKCgoDBwgEEgNFAgoKCgoDBwgGEgNFCxkKCgoDBwgBEgNFGiYKCgoDBwgDEgNFKTIKCQoBBxIESABKAQoJCgIHCRIDSQIyCgoKAwcJAhIDSAciCgoKAwcJBBIDSQIKCgoKAwcJBhIDSQsZCgoKAwcJARIDSRolCgoKAwcJAxIDSSgxCgkKAQcSBEwATgEKCQoCBwoSA00COAoKCgMHCgISA0wHJwoKCgMHCgQSA00CCgoKCgMHCgYSA00LGQoKCgMHCgESA00aKwoKCgMHCgMSA00uNwoJCgEHEgRQAFIBCgkKAgcLEgNRAjUKCgoDBwsCEgNQByUKCgoDBwsEEgNRAgoKCgoDBwsGEgNRCxkKCgoDBwsBEgNRGigKCgoDBwsDEgNRKzQKCQoBBxIEVABWAQoJCgIHDBIDVQI0CgoKAwcMAhIDVAckCgoKAwcMBBIDVQIKCgoKAwcMBhIDVQsZCgoKAwcMARIDVRonCgoKAwcMAxIDVSozCgoKAgQBEgRYAFoBCgoKAwQBARIDWAgQCgoKAwQBBRIDWQISCgsKBAQBBQASA1kNDgoMCgUEAQUAARIDWQ0OCgwKBQQBBQACEgNZDQ4KCwoEBAEFARIDWRARCgwKBQQBBQEBEgNZEBEKDAoFBAEFAQISA1kQEQoJCgEHEgRcAGIBCgoKAgcNEgRdAmEFCgoKAwcNAhIDXAcPCgoKAwcNBBIDXQIKCgoKAwcNBRIDXQsQCgoKAwcNARIDXRESCgoKAwcNAxIDXRUWCgsKAwcNCBIEXRdhBAoQCggHDQij183wARIEXRhhAwoLCgIEAhIFZACaAQEKCgoDBAIBEgNkCBcKCwoDBAIHEgRlAmkEChAKCAQCB9Po2/ABEgRlAmkECgwKBAQCAwASBGsCcQMKDAoFBAIDAAESA2sKFwoNCgUEAgMABxIEbARwBgoSCgoEAgMAB9Po2/ABEgRsBHAGCgwKBAQCBAASBHMCewMKDAoFBAIEAAESA3MHEQoNCgUEAgQAAxIEdAR4BgoSCgoEAgQAA++jxfABEgR0BHgGCg0KBgQCBAACABIDegQXCg4KBwQCBAACAAESA3oEEgoOCgcEAgQAAgACEgN6FRYKDQoEBAICABIFfQKBAQUKDAoFBAICAAQSA30CCgoMCgUEAgIABRIDfQsQCgwKBQQCAgABEgN9ERIKDAoFBAICAAMSA30VFgoOCgUEAgIACBIFfReBAQQKEwoKBAICAAij183wARIFfRiBAQMKDgoEBAIIABIGgwECiwEDCg0KBQQCCAABEgSDAQgJCg8KBQQCCAACEgaEAQSIAQYKFAoKBAIIAAKx+8bwARIGhAEEiAEGCgwKBAQCAgESBIoBBBAKDQoFBAICAQUSBIoBBAkKDQoFBAICAQESBIoBCgsKDQoFBAICAQMSBIoBDg8KDQoDBAIFEgaNAQKRAQUKDAoEBAIFABIEjQENFgoNCgUEAgUAARIEjQENDwoNCgUEAgUAAhIEjQETFgoPCgUEAgUAAxIGjQEXkQEEChQKCgQCBQADhPPb8AESBo0BGJEBAwoNCgMEAgYSBpMBApkBAwoOCgQEAgYAEgaUAQSYAQcKDQoFBAIGAAISBJMBCREKDQoFBAIGAAQSBJQBBAwKDQoFBAIGAAUSBJQBDRMKDQoFBAIGAAESBJQBFBUKDQoFBAIGAAMSBJQBGBkKDwoFBAIGAAgSBpQBGpgBBgoUCgoEAgYACKPXzfABEgaUARuYAQUKDAoCBQASBpwBAKgBAQoLCgMFAAESBJwBBREKDQoDBQADEgadAQKhAQQKEgoIBQAD76PF8AESBp0BAqEBBAoOCgQFAAIAEgajAQKnAQUKDQoFBQACAAESBKMBAhMKDQoFBQACAAISBKMBFhcKDwoFBQACAAMSBqMBGKcBBAoUCgoFAAIAA9qbxfABEgajARmnAQMKDAoCBgASBqoBALgBAQoLCgMGAAESBKoBCA8KDQoDBgADEgarAQKvAQQKEgoIBgAD/bDB8AESBqsBAq8BBAoOCgQGAAIAEgaxAQK3AQMKDQoFBgACAAESBLEBBg0KDQoFBgACAAISBLEBDh0KDQoFBgACAAMSBLEBKDcKDwoFBgACAAQSBrIBBLYBBgoUCgoGAAIABOyFv/ABEgayAQS2AQY=