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+CgR0eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGVSBHR5cGUSGwoJdHlwZV9uYW1lGAYgASgJUgh0eXBlTmFtZRIaCghleHRlbmRlZRgCIAEoCVIIZXh0ZW5kZWUSIwoNZGVmYXVsdF92YWx1ZRgHIAEoCVIMZGVmYXVsdFZhbHVlEh8KC29uZW9mX2luZGV4GAkgASgFUgpvbmVvZkluZGV4EhsKCWpzb25fbmFtZRgKIAEoCVIIanNvbk5hbWUSNwoHb3B0aW9ucxgIIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnNSB29wdGlvbnMSJwoPcHJvdG8zX29wdGlvbmFsGBEgASgIUg5wcm90bzNPcHRpb25hbCK2AgoEVHlwZRIPCgtUWVBFX0RPVUJMRRABEg4KClRZUEVfRkxPQVQQAhIOCgpUWVBFX0lOVDY0EAMSDwoLVFlQRV9VSU5UNjQQBBIOCgpUWVBFX0lOVDMyEAUSEAoMVFlQRV9GSVhFRDY0EAYSEAoMVFlQRV9GSVhFRDMyEAcSDQoJVFlQRV9CT09MEAgSDwoLVFlQRV9TVFJJTkcQCRIOCgpUWVBFX0dST1VQEAoSEAoMVFlQRV9NRVNTQUdFEAsSDgoKVFlQRV9CWVRFUxAMEg8KC1RZUEVfVUlOVDMyEA0SDQoJVFlQRV9FTlVNEA4SEQoNVFlQRV9TRklYRUQzMhAPEhEKDVRZUEVfU0ZJWEVENjQQEBIPCgtUWVBFX1NJTlQzMhAREg8KC1RZUEVfU0lOVDY0EBIiQwoFTGFiZWwSEgoOTEFCRUxfT1BUSU9OQUwQARISCg5MQUJFTF9SRVBFQVRFRBADEhIKDkxBQkVMX1JFUVVJUkVEEAIiYwoUT25lb2ZEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI3CgdvcHRpb25zGAIgASgLMh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9uc1IHb3B0aW9ucyLjAgoTRW51bURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj8KBXZhbHVlGAIgAygLMikuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZURlc2NyaXB0b3JQcm90b1IFdmFsdWUSNgoHb3B0aW9ucxgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5FbnVtT3B0aW9uc1IHb3B0aW9ucxJdCg5yZXNlcnZlZF9yYW5nZRgEIAMoCzI2Lmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvLkVudW1SZXNlcnZlZFJhbmdlUg1yZXNlcnZlZFJhbmdlEiMKDXJlc2VydmVkX25hbWUYBSADKAlSDHJlc2VydmVkTmFtZRo7ChFFbnVtUmVzZXJ2ZWRSYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQigwEKGEVudW1WYWx1ZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgCIAEoBVIGbnVtYmVyEjsKB29wdGlvbnMYAyABKAsyIS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlT3B0aW9uc1IHb3B0aW9ucyKnAQoWU2VydmljZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj4KBm1ldGhvZBgCIAMoCzImLmdvb2dsZS5wcm90b2J1Zi5NZXRob2REZXNjcmlwdG9yUHJvdG9SBm1ldGhvZBI5CgdvcHRpb25zGAMgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zUgdvcHRpb25zIokCChVNZXRob2REZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIdCgppbnB1dF90eXBlGAIgASgJUglpbnB1dFR5cGUSHwoLb3V0cHV0X3R5cGUYAyABKAlSCm91dHB1dFR5cGUSOAoHb3B0aW9ucxgEIAEoCzIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zUgdvcHRpb25zEjAKEGNsaWVudF9zdHJlYW1pbmcYBSABKAg6BWZhbHNlUg9jbGllbnRTdHJlYW1pbmcSMAoQc2VydmVyX3N0cmVhbWluZxgGIAEoCDoFZmFsc2VSD3NlcnZlclN0cmVhbWluZyKXCQoLRmlsZU9wdGlvbnMSIQoMamF2YV9wYWNrYWdlGAEgASgJUgtqYXZhUGFja2FnZRIwChRqYXZhX291dGVyX2NsYXNzbmFtZRgIIAEoCVISamF2YU91dGVyQ2xhc3NuYW1lEjUKE2phdmFfbXVsdGlwbGVfZmlsZXMYCiABKAg6BWZhbHNlUhFqYXZhTXVsdGlwbGVGaWxlcxJECh1qYXZhX2dlbmVyYXRlX2VxdWFsc19hbmRfaGFzaBgUIAEoCEICGAFSGWphdmFHZW5lcmF0ZUVxdWFsc0FuZEhhc2gSOgoWamF2YV9zdHJpbmdfY2hlY2tfdXRmOBgbIAEoCDoFZmFsc2VSE2phdmFTdHJpbmdDaGVja1V0ZjgSUwoMb3B0aW1pemVfZm9yGAkgASgOMikuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zLk9wdGltaXplTW9kZToFU1BFRURSC29wdGltaXplRm9yEh0KCmdvX3BhY2thZ2UYCyABKAlSCWdvUGFja2FnZRI1ChNjY19nZW5lcmljX3NlcnZpY2VzGBAgASgIOgVmYWxzZVIRY2NHZW5lcmljU2VydmljZXMSOQoVamF2YV9nZW5lcmljX3NlcnZpY2VzGBEgASgIOgVmYWxzZVITamF2YUdlbmVyaWNTZXJ2aWNlcxI1ChNweV9nZW5lcmljX3NlcnZpY2VzGBIgASgIOgVmYWxzZVIRcHlHZW5lcmljU2VydmljZXMSJQoKZGVwcmVjYXRlZBgXIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSLgoQY2NfZW5hYmxlX2FyZW5hcxgfIAEoCDoEdHJ1ZVIOY2NFbmFibGVBcmVuYXMSKgoRb2JqY19jbGFzc19wcmVmaXgYJCABKAlSD29iamNDbGFzc1ByZWZpeBIpChBjc2hhcnBfbmFtZXNwYWNlGCUgASgJUg9jc2hhcnBOYW1lc3BhY2USIQoMc3dpZnRfcHJlZml4GCcgASgJUgtzd2lmdFByZWZpeBIoChBwaHBfY2xhc3NfcHJlZml4GCggASgJUg5waHBDbGFzc1ByZWZpeBIjCg1waHBfbmFtZXNwYWNlGCkgASgJUgxwaHBOYW1lc3BhY2USNAoWcGhwX21ldGFkYXRhX25hbWVzcGFjZRgsIAEoCVIUcGhwTWV0YWRhdGFOYW1lc3BhY2USIQoMcnVieV9wYWNrYWdlGC0gASgJUgtydWJ5UGFja2FnZRI3CghmZWF0dXJlcxgyIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0UghmZWF0dXJlcxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiI6CgxPcHRpbWl6ZU1vZGUSCQoFU1BFRUQQARINCglDT0RFX1NJWkUQAhIQCgxMSVRFX1JVTlRJTUUQAyoJCOgHEICAgIACSgQIKhArSgQIJhAnIvQDCg5NZXNzYWdlT3B0aW9ucxI8ChdtZXNzYWdlX3NldF93aXJlX2Zvcm1hdBgBIAEoCDoFZmFsc2VSFG1lc3NhZ2VTZXRXaXJlRm9ybWF0EkwKH25vX3N0YW5kYXJkX2Rlc2NyaXB0b3JfYWNjZXNzb3IYAiABKAg6BWZhbHNlUhxub1N0YW5kYXJkRGVzY3JpcHRvckFjY2Vzc29yEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhsKCW1hcF9lbnRyeRgHIAEoCFIIbWFwRW50cnkSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYCyABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzEjcKCGZlYXR1cmVzGAwgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgEEAVKBAgFEAZKBAgGEAdKBAgIEAlKBAgJEAoinQ0KDEZpZWxkT3B0aW9ucxJBCgVjdHlwZRgBIAEoDjIjLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuQ1R5cGU6BlNUUklOR1IFY3R5cGUSFgoGcGFja2VkGAIgASgIUgZwYWNrZWQSRwoGanN0eXBlGAYgASgOMiQuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5KU1R5cGU6CUpTX05PUk1BTFIGanN0eXBlEhkKBGxhenkYBSABKAg6BWZhbHNlUgRsYXp5Ei4KD3VudmVyaWZpZWRfbGF6eRgPIAEoCDoFZmFsc2VSDnVudmVyaWZpZWRMYXp5EiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhkKBHdlYWsYCiABKAg6BWZhbHNlUgR3ZWFrEigKDGRlYnVnX3JlZGFjdBgQIAEoCDoFZmFsc2VSC2RlYnVnUmVkYWN0EksKCXJldGVudGlvbhgRIAEoDjItLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uUmV0ZW50aW9uUglyZXRlbnRpb24SSAoHdGFyZ2V0cxgTIAMoDjIuLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uVGFyZ2V0VHlwZVIHdGFyZ2V0cxJXChBlZGl0aW9uX2RlZmF1bHRzGBQgAygLMiwuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5FZGl0aW9uRGVmYXVsdFIPZWRpdGlvbkRlZmF1bHRzEjcKCGZlYXR1cmVzGBUgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzElUKD2ZlYXR1cmVfc3VwcG9ydBgWIAEoCzIsLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuRmVhdHVyZVN1cHBvcnRSDmZlYXR1cmVTdXBwb3J0ElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uGloKDkVkaXRpb25EZWZhdWx0EjIKB2VkaXRpb24YAyABKA4yGC5nb29nbGUucHJvdG9idWYuRWRpdGlvblIHZWRpdGlvbhIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUalgIKDkZlYXR1cmVTdXBwb3J0EkcKEmVkaXRpb25faW50cm9kdWNlZBgBIAEoDjIYLmdvb2dsZS5wcm90b2J1Zi5FZGl0aW9uUhFlZGl0aW9uSW50cm9kdWNlZBJHChJlZGl0aW9uX2RlcHJlY2F0ZWQYAiABKA4yGC5nb29nbGUucHJvdG9idWYuRWRpdGlvblIRZWRpdGlvbkRlcHJlY2F0ZWQSLwoTZGVwcmVjYXRpb25fd2FybmluZxgDIAEoCVISZGVwcmVjYXRpb25XYXJuaW5nEkEKD2VkaXRpb25fcmVtb3ZlZBgEIAEoDjIYLmdvb2dsZS5wcm90b2J1Zi5FZGl0aW9uUg5lZGl0aW9uUmVtb3ZlZCIvCgVDVHlwZRIKCgZTVFJJTkcQABIICgRDT1JEEAESEAoMU1RSSU5HX1BJRUNFEAIiNQoGSlNUeXBlEg0KCUpTX05PUk1BTBAAEg0KCUpTX1NUUklORxABEg0KCUpTX05VTUJFUhACIlUKD09wdGlvblJldGVudGlvbhIVChFSRVRFTlRJT05fVU5LTk9XThAAEhUKEVJFVEVOVElPTl9SVU5USU1FEAESFAoQUkVURU5USU9OX1NPVVJDRRACIowCChBPcHRpb25UYXJnZXRUeXBlEhcKE1RBUkdFVF9UWVBFX1VOS05PV04QABIUChBUQVJHRVRfVFlQRV9GSUxFEAESHwobVEFSR0VUX1RZUEVfRVhURU5TSU9OX1JBTkdFEAISFwoTVEFSR0VUX1RZUEVfTUVTU0FHRRADEhUKEVRBUkdFVF9UWVBFX0ZJRUxEEAQSFQoRVEFSR0VUX1RZUEVfT05FT0YQBRIUChBUQVJHRVRfVFlQRV9FTlVNEAYSGgoWVEFSR0VUX1RZUEVfRU5VTV9FTlRSWRAHEhcKE1RBUkdFVF9UWVBFX1NFUlZJQ0UQCBIWChJUQVJHRVRfVFlQRV9NRVRIT0QQCSoJCOgHEICAgIACSgQIBBAFSgQIEhATIqwBCgxPbmVvZk9wdGlvbnMSNwoIZmVhdHVyZXMYASABKAsyGy5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldFIIZmVhdHVyZXMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiLRAgoLRW51bU9wdGlvbnMSHwoLYWxsb3dfYWxpYXMYAiABKAhSCmFsbG93QWxpYXMSJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYBiABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzEjcKCGZlYXR1cmVzGAcgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgFEAYigQIKEEVudW1WYWx1ZU9wdGlvbnMSJQoKZGVwcmVjYXRlZBgBIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSNwoIZmVhdHVyZXMYAiABKAsyGy5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldFIIZmVhdHVyZXMSKAoMZGVidWdfcmVkYWN0GAMgASgIOgVmYWxzZVILZGVidWdSZWRhY3QSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiLVAQoOU2VydmljZU9wdGlvbnMSNwoIZmVhdHVyZXMYIiABKAsyGy5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldFIIZmVhdHVyZXMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKZAwoNTWV0aG9kT3B0aW9ucxIlCgpkZXByZWNhdGVkGCEgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJxChFpZGVtcG90ZW5jeV9sZXZlbBgiIAEoDjIvLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zLklkZW1wb3RlbmN5TGV2ZWw6E0lERU1QT1RFTkNZX1VOS05PV05SEGlkZW1wb3RlbmN5TGV2ZWwSNwoIZmVhdHVyZXMYIyABKAsyGy5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldFIIZmVhdHVyZXMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iUAoQSWRlbXBvdGVuY3lMZXZlbBIXChNJREVNUE9URU5DWV9VTktOT1dOEAASEwoPTk9fU0lERV9FRkZFQ1RTEAESDgoKSURFTVBPVEVOVBACKgkI6AcQgICAgAIimgMKE1VuaW50ZXJwcmV0ZWRPcHRpb24SQQoEbmFtZRgCIAMoCzItLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uLk5hbWVQYXJ0UgRuYW1lEikKEGlkZW50aWZpZXJfdmFsdWUYAyABKAlSD2lkZW50aWZpZXJWYWx1ZRIsChJwb3NpdGl2ZV9pbnRfdmFsdWUYBCABKARSEHBvc2l0aXZlSW50VmFsdWUSLAoSbmVnYXRpdmVfaW50X3ZhbHVlGAUgASgDUhBuZWdhdGl2ZUludFZhbHVlEiEKDGRvdWJsZV92YWx1ZRgGIAEoAVILZG91YmxlVmFsdWUSIQoMc3RyaW5nX3ZhbHVlGAcgASgMUgtzdHJpbmdWYWx1ZRInCg9hZ2dyZWdhdGVfdmFsdWUYCCABKAlSDmFnZ3JlZ2F0ZVZhbHVlGkoKCE5hbWVQYXJ0EhsKCW5hbWVfcGFydBgBIAIoCVIIbmFtZVBhcnQSIQoMaXNfZXh0ZW5zaW9uGAIgAigIUgtpc0V4dGVuc2lvbiKUCgoKRmVhdHVyZVNldBKLAQoOZmllbGRfcHJlc2VuY2UYASABKA4yKS5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldC5GaWVsZFByZXNlbmNlQjmIAQGYAQSYAQGiAQ0SCEVYUExJQ0lUGOYHogENEghJTVBMSUNJVBjnB6IBDRIIRVhQTElDSVQY6AdSDWZpZWxkUHJlc2VuY2USZgoJZW51bV90eXBlGAIgASgOMiQuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXQuRW51bVR5cGVCI4gBAZgBBpgBAaIBCxIGQ0xPU0VEGOYHogEJEgRPUEVOGOcHUghlbnVtVHlwZRKSAQoXcmVwZWF0ZWRfZmllbGRfZW5jb2RpbmcYAyABKA4yMS5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldC5SZXBlYXRlZEZpZWxkRW5jb2RpbmdCJ4gBAZgBBJgBAaIBDRIIRVhQQU5ERUQY5geiAQsSBlBBQ0tFRBjnB1IVcmVwZWF0ZWRGaWVsZEVuY29kaW5nEngKD3V0ZjhfdmFsaWRhdGlvbhgEIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0LlV0ZjhWYWxpZGF0aW9uQiOIAQGYAQSYAQGiAQkSBE5PTkUY5geiAQsSBlZFUklGWRjnB1IOdXRmOFZhbGlkYXRpb24SeAoQbWVzc2FnZV9lbmNvZGluZxgFIAEoDjIrLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0Lk1lc3NhZ2VFbmNvZGluZ0IgiAEBmAEEmAEBogEUEg9MRU5HVEhfUFJFRklYRUQY5gdSD21lc3NhZ2VFbmNvZGluZxJ8Cgtqc29uX2Zvcm1hdBgGIAEoDjImLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0Lkpzb25Gb3JtYXRCM4gBAZgBA5gBBpgBAaIBFxISTEVHQUNZX0JFU1RfRUZGT1JUGOYHogEKEgVBTExPVxjnB1IKanNvbkZvcm1hdCJcCg1GaWVsZFByZXNlbmNlEhoKFkZJRUxEX1BSRVNFTkNFX1VOS05PV04QABIMCghFWFBMSUNJVBABEgwKCElNUExJQ0lUEAISEwoPTEVHQUNZX1JFUVVJUkVEEAMiNwoIRW51bVR5cGUSFQoRRU5VTV9UWVBFX1VOS05PV04QABIICgRPUEVOEAESCgoGQ0xPU0VEEAIiVgoVUmVwZWF0ZWRGaWVsZEVuY29kaW5nEiMKH1JFUEVBVEVEX0ZJRUxEX0VOQ09ESU5HX1VOS05PV04QABIKCgZQQUNLRUQQARIMCghFWFBBTkRFRBACIkMKDlV0ZjhWYWxpZGF0aW9uEhsKF1VURjhfVkFMSURBVElPTl9VTktOT1dOEAASCgoGVkVSSUZZEAISCAoETk9ORRADIlMKD01lc3NhZ2VFbmNvZGluZxIcChhNRVNTQUdFX0VOQ09ESU5HX1VOS05PV04QABITCg9MRU5HVEhfUFJFRklYRUQQARINCglERUxJTUlURUQQAiJICgpKc29uRm9ybWF0EhcKE0pTT05fRk9STUFUX1VOS05PV04QABIJCgVBTExPVxABEhYKEkxFR0FDWV9CRVNUX0VGRk9SVBACKgYI6AcQ6QcqBgjpBxDqByoGCOoHEOsHKgYIhk4Qh04qBgiLThCQTioGCJBOEJFOSgYI5wcQ6AcikgQKEkZlYXR1cmVTZXREZWZhdWx0cxJYCghkZWZhdWx0cxgBIAMoCzI8Lmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0RGVmYXVsdHMuRmVhdHVyZVNldEVkaXRpb25EZWZhdWx0UghkZWZhdWx0cxJBCg9taW5pbXVtX2VkaXRpb24YBCABKA4yGC5nb29nbGUucHJvdG9idWYuRWRpdGlvblIObWluaW11bUVkaXRpb24SQQoPbWF4aW11bV9lZGl0aW9uGAUgASgOMhguZ29vZ2xlLnByb3RvYnVmLkVkaXRpb25SDm1heGltdW1FZGl0aW9uGpsCChhGZWF0dXJlU2V0RWRpdGlvbkRlZmF1bHQSMgoHZWRpdGlvbhgDIAEoDjIYLmdvb2dsZS5wcm90b2J1Zi5FZGl0aW9uUgdlZGl0aW9uEk4KFG92ZXJyaWRhYmxlX2ZlYXR1cmVzGAQgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSE292ZXJyaWRhYmxlRmVhdHVyZXMSQgoOZml4ZWRfZmVhdHVyZXMYBSABKAsyGy5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldFINZml4ZWRGZWF0dXJlcxI3CghmZWF0dXJlcxgCIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0UghmZWF0dXJlcyKnAgoOU291cmNlQ29kZUluZm8SRAoIbG9jYXRpb24YASADKAsyKC5nb29nbGUucHJvdG9idWYuU291cmNlQ29kZUluZm8uTG9jYXRpb25SCGxvY2F0aW9uGs4BCghMb2NhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIWCgRzcGFuGAIgAygFQgIQAVIEc3BhbhIpChBsZWFkaW5nX2NvbW1lbnRzGAMgASgJUg9sZWFkaW5nQ29tbWVudHMSKwoRdHJhaWxpbmdfY29tbWVudHMYBCABKAlSEHRyYWlsaW5nQ29tbWVudHMSOgoZbGVhZGluZ19kZXRhY2hlZF9jb21tZW50cxgGIAMoCVIXbGVhZGluZ0RldGFjaGVkQ29tbWVudHMi0AIKEUdlbmVyYXRlZENvZGVJbmZvEk0KCmFubm90YXRpb24YASADKAsyLS5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvblIKYW5ub3RhdGlvbhrrAQoKQW5ub3RhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIfCgtzb3VyY2VfZmlsZRgCIAEoCVIKc291cmNlRmlsZRIUCgViZWdpbhgDIAEoBVIFYmVnaW4SEAoDZW5kGAQgASgFUgNlbmQSUgoIc2VtYW50aWMYBSABKA4yNi5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvbi5TZW1hbnRpY1IIc2VtYW50aWMiKAoIU2VtYW50aWMSCAoETk9ORRAAEgcKA1NFVBABEgkKBUFMSUFTEAIqkgIKB0VkaXRpb24SEwoPRURJVElPTl9VTktOT1dOEAASEwoORURJVElPTl9QUk9UTzIQ5gcSEwoORURJVElPTl9QUk9UTzMQ5wcSEQoMRURJVElPTl8yMDIzEOgHEhEKDEVESVRJT05fMjAyNBDpBxIXChNFRElUSU9OXzFfVEVTVF9PTkxZEAESFwoTRURJVElPTl8yX1RFU1RfT05MWRACEh0KF0VESVRJT05fOTk5OTdfVEVTVF9PTkxZEJ2NBhIdChdFRElUSU9OXzk5OTk4X1RFU1RfT05MWRCejQYSHQoXRURJVElPTl85OTk5OV9URVNUX09OTFkQn40GEhMKC0VESVRJT05fTUFYEP////8HQn4KE2NvbS5nb29nbGUucHJvdG9idWZCEERlc2NyaXB0b3JQcm90b3NIAVotZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMvZGVzY3JpcHRvcnBi+AEBogIDR1BCqgIaR29vZ2xlLlByb3RvYnVmLlJlZmxlY3Rpb25K4sADCgcSBSYA5wkBCqoPCgEMEgMmABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCjLbAiBBdXRob3I6IGtlbnRvbkBnb29nbGUuY29tIChLZW50b24gVmFyZGEpCiAgQmFzZWQgb24gb3JpZ2luYWwgUHJvdG9jb2wgQnVmZmVycyBkZXNpZ24gYnkKICBTYW5qYXkgR2hlbWF3YXQsIEplZmYgRGVhbiwgYW5kIG90aGVycy4KCiBUaGUgbWVzc2FnZXMgaW4gdGhpcyBmaWxlIGRlc2NyaWJlIHRoZSBkZWZpbml0aW9ucyBmb3VuZCBpbiAucHJvdG8gZmlsZXMuCiBBIHZhbGlkIC5wcm90byBmaWxlIGNhbiBiZSB0cmFuc2xhdGVkIGRpcmVjdGx5IHRvIGEgRmlsZURl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byBhIG9uZW9mIHRvIHNpZ25hbAogdG8gb2xkIHByb3RvMyBjbGllbnRzIHRoYXQgcHJlc2VuY2UgaXMgdHJhY2tlZCBmb3IgdGhpcyBmaWVsZC4gVGhpcyBvbmVvZgogaXMga25vd24gYXMgYSAic3ludGhldGljIiBvbmVvZiwgYW5kIHRoaXMgZmllbGQgbXVzdCBiZSBpdHMgc29sZSBtZW1iZXIKIChlYWNoIHByb3RvMyBvcHRpb25hbCBmaWVsZCBnZXRzIGl0cyBvd24gc3ludGhldGljIG9uZW9mKS4gU3ludGhldGljIG9uZW9mcwogZXhpc3QgaW4gdGhlIGRlc2NyaXB0b3Igb25seSwgYW5kIGRvIG5vdCBnZW5lcmF0ZSBhbnkgQVBJLiBTeW50aGV0aWMgb25lb2ZzCiBtdXN0IGJlIG9yZGVyZWQgYWZ0ZXIgYWxsICJyZWFsIiBvbmVvZnMuCgogRm9yIG1lc3NhZ2UgZmllbGRzLCBwcm90bzNfb3B0aW9uYWwgZG9lc24ndCBjcmVhdGUgYW55IHNlbWFudGljIGNoYW5nZSwKIHNpbmNlIG5vbi1yZXBlYXRlZCBtZXNzYWdlIGZpZWxkcyBhbHdheXMgdHJhY2sgcHJlc2VuY2UuIEhvd2V2ZXIgaXQgc3RpbGwKIGluZGljYXRlcyB0aGUgc2VtYW50aWMgZGV0YWlsIG9mIHdoZXRoZXIgdGhlIHVzZXIgd3JvdGUgIm9wdGlvbmFsIiBvciBub3QuCiBUaGlzIGNhbiBiZSB1c2VmdWwgZm9yIHJvdW5kLXRyaXBwaW5nIHRoZSAucHJvdG8gZmlsZS4gRm9yIGNvbnNpc3RlbmN5IHdlCiBnaXZlIG1lc3NhZ2UgZmllbGRzIGEgc3ludGhldGljIG9uZW9mIGFsc28sIGV2ZW4gdGhvdWdoIGl0IGlzIG5vdCByZXF1aXJlZAogdG8gdHJhY2sgcHJlc2VuY2UuIFRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgYmVjYXVzZSB0aGUgcGFyc2VyIGNhbid0CiB0ZWxsIGlmIGEgZmllbGQgaXMgYSBtZXNzYWdlIG9yIGFuIGVudW0sIHNvIGl0IG11c3QgYWx3YXlzIGNyZWF0ZSBhCiBzeW50aGV0aWMgb25lb2Yu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c2UgdGhpcyBmaWVsZCB0byBwb3B1bGF0ZSB0aGUKIGV4dGVuc2lvbnMgd2hlbiB3ZSBidWlsZCBhIGRlc2NyaXB0b3IsIGF0IHdoaWNoIHBvaW50IGFsbCBwcm90b3MgaGF2ZSBiZWVuCiBwYXJzZWQgYW5kIHNvIGFsbCBleHRlbnNpb25zIGFyZSBrbm93bi4KCiBFeHRlbnNpb24gbnVtYmVycyBmb3IgY3VzdG9tIG9wdGlvbnMgbWF5IGJlIGNob3NlbiBhcyBmb2xsb3dzOgogKiBGb3Igb3B0aW9ucyB3aGljaCB3aWxsIG9ubHkgYmUgdXNlZCB3aXRoaW4gYSBzaW5nbGUgYXBwbGljYXRpb24gb3IKICAgb3JnYW5pemF0aW9uLCBvciBmb3IgZXhwZXJpbWVudGFsIG9wdGlvbnMsIHVzZSBmaWVsZCBudW1iZXJzIDUwMDAwCiAgIHRocm91Z2ggOTk5OTkuICBJdCBpcyB1cCB0byB5b3UgdG8gZW5zdXJlIHRoYXQgeW91IGRvIG5vdCB1c2UgdGhlCiAgIHNhbWUgbnVtYmVyIGZvciBtdWx0aXBsZSBvcHRpb25zLgogKiBGb3Igb3B0aW9ucyB3aGljaCB3aWxsIGJlIHB1Ymxpc2hlZCBhbmQgdXNlZCBwdWJsaWNseSBieSBtdWx0aXBsZQogICBpbmRlcGVuZGVudCBlbnRpdGllcywgZS1tYWlsIHByb3RvYnVmLWdsb2JhbC1leHRlbnNpb24tcmVnaXN0cnlAZ29vZ2xlLmNvbQogICB0byByZXNlcnZlIGV4dGVuc2lvbiBudW1iZXJzLiBTaW1wbHkgcHJvdmlkZSB5b3VyIHByb2plY3QgbmFtZSAoZS5nLgogICBPYmplY3RpdmUtQyBwbHVnaW4pIGFuZCB5b3VyIHByb2plY3Qgd2Vic2l0ZSAoaWYgYXZhaWxhYmxlKSAtLSB0aGVyZSdzIG5vCiAgIG5lZWQgdG8gZXhwbGFpbiBob3cgeW91IGludGVuZCB0byB1c2UgdGhlbS4gVXN1YWxseSB5b3Ugb25seSBuZWVkIG9uZQogICBleHRlbnNpb24gbnVtYmVyLiBZb3UgY2FuIGRlY2xhcmUgbXVsdGlwbGUgb3B0aW9ucyB3aXRoIG9ubHkgb25lIGV4dGVuc2lvbgogICBudW1iZXIgYnkgcHV0dGluZyB0aGVtIGluIGEgc3ViLW1lc3NhZ2UuIFNlZSB0aGUgQ3VzdG9tIE9wdGlvbnMgc2VjdGlvbiBvZgogICB0aGUgZG9jcyBmb3IgZXhhbXBsZXM6CiAgIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvZG9jcy9wcm90byNvcHRpb25zCiAgIElmIHRoaXMgdHVybnMgb3V0IHRvIGJlIHBvcHVsYXIsIGEgd2ViIHNlcnZpY2Ugd2lsbCBiZSBzZXQgdXAKICAgdG8gYXV0b21hdGljYWxseSBhc3NpZ24gb3B0aW9uIG51bWJlcnMuCgoLCgMECgESBKgDCBMK9AEKBAQKAgASBK4DAiMa5QEgU2V0cyB0aGUgSmF2YSBwYWNrYWdlIHdoZXJlIGNsYXNzZXMgZ2VuZXJhdGVkIGZyb20gdGhpcyAucHJvdG8gd2lsbCBiZQogcGxhY2VkLiAgQnkgZGVmYXVsdCwgdGhlIHByb3RvIHBhY2thZ2UgaXMgdXNlZCwgYnV0IHRoaXMgaXMgb2Z0ZW4KIGluYXBwcm9wcmlhdGUgYmVjYXVzZSBwcm90byBwYWNrYWdlcyBkbyBub3Qgbm9ybWFsbHkgc3RhcnQgd2l0aCBiYWNrd2FyZHMKIGRvbWFpbiBuYW1lcy4KCg0KBQQKAgAEEgSuAwIKCg0KBQQKAgAFEgSuAwsRCg0KBQQKAgABEgSuAxIeCg0KBQQKAgADEgSuAyEiCvECCgQECgIBEgS1AwIrGuICIENvbnRyb2xzIHRoZSBuYW1lIG9mIHRoZSB3cmFwcGVyIEphdmEgY2xhc3MgZ2VuZXJhdGVkIGZvciB0aGUgLnByb3RvIGZpbGUuCiBUaGF0IGNsYXNzIHdpbGwgYWx3YXlzIGNvbnRhaW4gdGhlIC5wcm90byBmaWxlJ3MgZ2V0RGVzY3JpcHRvcigpIG1ldGhvZCBhcwogd2VsbCBhcyBhbnkgdG9wLWxldmVsIGV4dGVuc2lvbnMgZGVmaW5lZCBpbiB0aGUgLnByb3RvIGZpbGUuCiBJZiBqYXZhX211bHRpcGxlX2ZpbGVzIGlzIGRpc2FibGVkLCB0aGVuIGFsbCB0aGUgb3RoZXIgY2xhc3Nl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CgUECgIFARIE1QMYJAoNCgUECgIFAxIE1QMnKAoNCgUECgIFCBIE1QMpOgoNCgUECgIFBxIE1QM0OQriAgoEBAoCBhIE3AMCIhrTAiBTZXRzIHRoZSBHbyBwYWNrYWdlIHdoZXJlIHN0cnVjdHMgZ2VuZXJhdGVkIGZyb20gdGhpcyAucHJvdG8gd2lsbCBiZQogcGxhY2VkLiBJZiBvbWl0dGVkLCB0aGUgR28gcGFja2FnZSB3aWxsIGJlIGRlcml2ZWQgZnJvbSB0aGUgZm9sbG93aW5nOgogICAtIFRoZSBiYXNlbmFtZSBvZiB0aGUgcGFja2FnZSBpbXBvcnQgcGF0aCwgaWYgcHJvdmlkZWQuCiAgIC0gT3RoZXJ3aXNlLCB0aGUgcGFja2FnZSBzdGF0ZW1lbnQgaW4gdGhlIC5wcm90byBmaWxlLCBpZiBwcmVzZW50LgogICAtIE90aGVyd2lzZSwgdGhlIGJhc2VuYW1lIG9mIHRoZSAucHJvdG8gZmlsZSwgd2l0aG91dCBleHRlbnNpb24uCgoNCgUECgIGBBIE3AMCCgoNCgUECgIGBRIE3AMLEQoNCgUECgIGARIE3AMSHAoNCgUECgIGAxIE3AMfIQrUBAoEBAoCBxIE6AMCOxrFBCBTaG91bGQgZ2VuZXJpYyBzZXJ2aWNlcyBiZSBnZW5lcmF0ZWQgaW4gZWFjaCBsYW5ndWFnZT8gICJHZW5lcmljIiBzZXJ2aWNlcwogYXJlIG5vdCBzcGVjaWZpYyB0byBhbnkgcGFydGljdWxhciBSUEMgc3lzdGVtLiAgVGhleSBhcmUgZ2VuZXJhdGVkIGJ5IHRoZQogbWFpbiBjb2RlIGdlbmVyYXRvcnMgaW4gZWFjaCBsYW5ndWFnZSAod2l0aG91dCBhZGRpdGlvbmFsIHBsdWdpbnMpLgogR2VuZXJpYyBzZXJ2aWNlcyB3ZXJlIHRoZSBvbmx5IGtpbmQgb2Ygc2VydmljZSBnZW5lcmF0aW9uIHN1cHBvcnRlZCBieQogZWFybHkgdmVyc2lvbnMgb2YgZ29vZ2xlLnByb3RvYnVmLgoKIEdlbmVyaWMgc2VydmljZXMgYXJlIG5vdyBjb25zaWRlcmVkIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgdXNpbmcgcGx1Z2lucwogdGhhdCBnZW5lcmF0ZSBjb2RlIHNwZWNpZmljIHRvIHlvdXIgcGFydGljdWxhciBSUEMgc3lzdGVtLiAgVGhlcmVmb3JlLAogdGhlc2UgZGVmYXVsdCB0byBmYWxzZS4gIE9sZCBjb2RlIHdoaWNoIGRlcGVuZHMgb24gZ2VuZXJpYyBzZXJ2aWNlcyBzaG91bGQKIGV4cGxpY2l0bHkgc2V0IHRoZW0gdG8gdHJ1ZS4KCg0KBQQKAgcEEgToAwIKCg0KBQQKAgcFEgToAwsPCg0KBQQKAgcBEgToAxAjCg0KBQQKAgcDEgToAyYoCg0KBQQKAgcIEgToAyk6Cg0KBQQKAgcHEgToAzQ5CgwKBAQKAggSBOkDAj0KDQoFBAoCCAQSBOkDAgoKDQoFBAoCCAUSBOkDCw8KDQoFBAoCCAESBOkDECUKDQoFBAoCCAMSBOkDKCoKDQoFBAoCCAgSBOkDKzwKDQoFBAoCCAcSBOkDNjsKDAoEBAoCCRIE6gMCOwoNCgUECgIJBBIE6gMCCgoNCgUECgIJBRIE6gMLDwoNCgUECgIJARIE6gMQIwoNCgUECgIJAxIE6gMmKAoNCgUECgIJCBIE6gMpOgoNCgUECgIJBxIE6gM0OQorCgMECgkSBOsDAg4iHiByZW1vdmVkIHBocF9nZW5lcmljX3NlcnZpY2VzCgoMCgQECgkAEgTrAwsNCg0KBQQKCQABEgTrAwsNCg0KBQQKCQACEgTrAwsNCvMBCgQECgIKEgTxAwIyGuQBIElzIHRoaXMgZmlsZSBkZXByZWNhdGVkPwogRGVwZW5kaW5nIG9uIHRoZSB0YXJnZXQgcGxhdGZvcm0sIHRoaXMgY2FuIGVtaXQgRGVwcmVjYXRlZCBhbm5vdGF0aW9ucwogZm9yIGV2ZXJ5dGhpbmcgaW4gdGhlIGZpbGUsIG9yIGl0IHdpbGwgYmUgY29tcGxldGVseSBpZ25vcmVkOyBpbiB0aGUgdmVyeQogbGVhc3QsIHRoaXMgaXMgYSBmb3JtYWxpemF0aW9uIGZvciBkZXByZWNhdGluZyBmaWxlcy4KCg0KBQQKAgoEEgTxAwIKCg0KBQQKAgoFEgTxAwsPCg0KBQQKAgoBEgTxAxAaCg0KBQQKAgoDEgTxAx0fCg0KBQQKAgoIEgTxAyAxCg0KBQQKAgoHEgTxAyswCn8KBAQKAgsSBPUDAjcacSBFbmFibGVzIHRoZSB1c2Ugb2YgYXJlbmFzIGZvciB0aGUgcHJvdG8gbWVzc2FnZXMgaW4gdGhpcyBmaWxlLiBUaGlzIGFwcGxpZXMKIG9ubHkgdG8gZ2VuZXJhdGVkIGNsYXNzZXMgZm9yIEMrKy4KCg0KBQQKAgsEEgT1AwIKCg0KBQQKAgsFEgT1AwsPCg0KBQQKAgsBEgT1AxAgCg0KBQQKAgsDEgT1AyMlCg0KBQQKAgsIEgT1AyY2Cg0KBQQKAgsHEgT1AzE1CpIBCgQECgIMEgT5AwIpGoMBIFNldHMgdGhlIG9iamVjdGl2ZSBjIGNsYXNzIHByZWZpeCB3aGljaCBpcyBwcmVwZW5kZWQgdG8gYWxsIG9iamVjdGl2ZSBjCiBnZW5lcmF0ZWQgY2xhc3NlcyBmcm9tIHRoaXMgLnByb3RvLiBUaGVyZSBpcyBubyBkZWZhdWx0LgoKDQoFBAoCDAQSBPkDAgoKDQoFBAoCDAUSBPkDCxEKDQoFBAoCDAESBPkDEiMKDQoFBAoCDAMSBPkDJigKSQoEBAoCDRIE/AMCKBo7IE5hbWVzcGFjZSBmb3IgZ2VuZXJhdGVkIGNsYXNzZXM7IGRlZmF1bHRzIHRvIHRoZSBwYWNrYWdlLgoKDQoFBAoCDQQSBPwDAgoKDQoFBAoCDQUSBPwDCxEKDQoFBAoCDQESBPwDEiIKDQoFBAoCDQMSBPwDJScKkQIKBAQKAg4SBIIEAiQaggIgQnkgZGVmYXVsdCBTd2lmdCBnZW5lcmF0b3JzIHdpbGwgdGFrZSB0aGUgcHJvdG8gcGFja2FnZSBhbmQgQ2FtZWxDYXNlIGl0CiByZXBsYWNpbmcgJy4nIHdpdGggdW5kZXJzY29yZSBhbmQgdXNlIHRoYXQgdG8gcHJlZml4IHRoZSB0eXBlcy9zeW1ib2xzCiBkZWZpbmVkLiBXaGVuIHRoaXMgb3B0aW9ucyBpcyBwcm92aWRlZCwgdGhleSB3aWxsIHVzZSB0aGlzIHZhbHVlIGluc3RlYWQKIHRvIHByZWZpeCB0aGUgdHlwZXMvc3ltYm9scyBkZWZpbmVkLgoKDQoFBAoCDgQSBIIEAgoKDQoFBAoCDgUSBIIECxEKDQoFBAoCDgESBIIEEh4KDQoFBAoCDgMSBIIEISMKfgoEBAoCDxIEhgQCKBpwIFNldHMgdGhlIHBocCBjbGFzcyBwcmVmaXggd2hpY2ggaXMgcHJlcGVuZGVkIHRvIGFsbCBwaHAgZ2VuZXJhdGVkIGNsYXNzZXMKIGZyb20gdGhpcyAucHJvdG8uIERlZmF1bHQgaXMgZW1wdHkuCgoNCgUECgIPBBIEhgQCCgoNCgUECgIPBRIEhgQLEQoNCgUECgIPARIEhgQSIgoNCgUECgIPAxIEhgQlJwq+AQoEBAoCEBIEiwQCJRqvASBVc2UgdGhpcyBvcHRpb24gdG8gY2hhbmdlIHRoZSBuYW1lc3BhY2Ugb2YgcGhwIGdlbmVyYXRlZCBjbGFzc2VzLiBEZWZhdWx0CiBpcyBlbXB0eS4gV2hlbiB0aGlzIG9wdGlvbiBpcyBlbXB0eSwgdGhlIHBhY2thZ2UgbmFtZSB3aWxsIGJlIHVzZWQgZm9yCiBkZXRlcm1pbmluZyB0aGUgbmFtZXNwYWNlLgoKDQoFBAoCEAQSBIsEAgoKDQoFBAoCEAUSBIsECxEKDQoFBAoCEAESBIsEEh8KDQoFBAoCEAMSBIsEIiQKygEKBAQKAhESBJAEAi4auwEgVXNlIHRoaXMgb3B0aW9uIHRvIGNoYW5nZSB0aGUgbmFtZXNwYWNlIG9mIHBocCBnZW5lcmF0ZWQgbWV0YWRhdGEgY2xhc3Nlcy4KIERlZmF1bHQgaXMgZW1wdHkuIFdoZW4gdGhpcyBvcHRpb24gaXMgZW1wdHksIHRoZSBwcm90byBmaWxlIG5hbWUgd2lsbCBiZQogdXNlZCBmb3IgZGV0ZXJtaW5pbmcgdGhlIG5hbWVzcGFjZS4KCg0KBQQKAhEEEgSQBAIKCg0KBQQKAhEFEgSQBAsRCg0KBQQKAhEBEgSQBBIoCg0KBQQKAhEDEgSQBCstCsIBCgQECgISEgSVBAIkGrMBIFVzZSB0aGlzIG9wdGlvbiB0byBjaGFuZ2UgdGhlIHBhY2thZ2Ugb2YgcnVieSBnZW5lcmF0ZWQgY2xhc3Nlcy4gRGVmYXVsdAogaXMgZW1wdHkuIFdoZW4gdGhpcyBvcHRpb24gaXMgbm90IHNldCwgdGhlIHBhY2thZ2UgbmFtZSB3aWxsIGJlIHVzZWQgZm9yCiBkZXRlcm1pbmluZyB0aGUgcnVieSBwYWNrYWdlLgoKDQoFBAoCEgQSBJUEAgoKDQoFBAoCEgUSBJUECxEKDQoFBAoCEgESBJUEEh4KDQoFBAoCEgMSBJUEISMKPQoEBAoCExIEmAQCJBovIEFueSBmZWF0dXJlcyBkZWZpbmVkIGluIHRoZSBzcGVjaWZpYyBlZGl0aW9uLgoKDQoFBAoCEwQSBJgEAgoKDQoFBAoCEwYSBJgECxUKDQoFBAoCEwESBJgEFh4KDQoFBAoCEwMSBJgEISMKfAoEBAoCFBIEnAQCOhpuIFRoZSBwYXJzZXIgc3RvcmVzIG9wdGlvbnMgaXQgZG9lc24ndCByZWNvZ25pemUgaGVyZS4KIFNlZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlICJPcHRpb25zIiBzZWN0aW9uIGFib3ZlLgoKDQoFBAoCFAQSBJwEAgoKDQoFBAoCFAYSBJwECx4KDQoFBAoCFAESBJwEHzMKDQoFBAoCFAMSBJwENjkKhwEKAwQKBRIEoAQCGRp6IENsaWVudHMgY2FuIGRlZmluZSBjdXN0b20gb3B0aW9ucyBpbiBleHRlbnNpb25zIG9mIHRoaXMgbWVzc2FnZS4KIFNlZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlICJPcHRpb25zIiBzZWN0aW9uIGFib3ZlLgoKDAoEBAoFABIEoAQNGAoNCgUECgUAARIEoAQNEQoNCgUECgUAAhIEoAQVGAoLCgMECgkSBKIEAg4KDAoEBAoJARIEogQLDQoNCgUECgkBARIEogQLDQoNCgUECgkBAhIEogQLDQoMCgIECxIGpQQA9QQBCgsKAwQLARIEpQQIFgrYBQoEBAsCABIEuAQCPhrJBSBTZXQgdHJ1ZSB0byB1c2UgdGhlIG9sZCBwcm90bzEgTWVzc2FnZVNldCB3aXJlIGZvcm1hdCBmb3IgZXh0ZW5zaW9ucy4KIFRoaXMgaXMgcHJvdmlkZWQgZm9yIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IHdpdGggdGhlIE1lc3NhZ2VTZXQgd2lyZQogZm9ybWF0LiAgWW91IHNob3VsZCBub3QgdXNlIHRoaXMgZm9yIGFueSBvdGhlciByZWFzb246ICBJdCdzIGxlc3MKIGVmZmljaWVudCwgaGFzIGZld2VyIGZlYXR1cmVzLCBhbmQgaXMgbW9yZSBjb21wbGljYXRlZC4KCiBUaGUgbWVzc2FnZSBtdXN0IGJlIGRlZmluZWQgZXhhY3RseSBhcyBmb2xsb3dzOgogICBtZXNzYWdlIEZvbyB7CiAgICAgb3B0aW9uIG1lc3NhZ2Vfc2V0X3dpcmVfZm9ybWF0ID0gdHJ1ZTsKICAgICBleHRlbnNpb25zIDQgdG8gbWF4OwogICB9CiBOb3RlIHRoYXQgdGhlIG1lc3NhZ2UgY2Fubm90IGhhdmUgYW55IGRlZmluZWQgZmllbGRzOyBNZXNzYWdlU2V0cyBvbmx5CiBoYXZlIGV4dGVuc2lvbnMuCgogQWxsIGV4dGVuc2lvbnMgb2YgeW91ciB0eXBlIG11c3QgYmUgc2luZ3VsYXIgbWVzc2FnZXM7IGUuZy4gdGhleSBjYW5ub3QKIGJlIGludDMycywgZW51bXMsIG9yIHJlcGVhdGVkIG1lc3NhZ2VzLgoKIEJlY2F1c2UgdGhpcyBpcyBhbiBvcHRpb24sIHRoZSBhYm92ZSB0d28gcmVzdHJpY3Rpb25zIGFyZSBub3QgZW5mb3JjZWQgYnkKIHRoZSBwcm90b2NvbCBjb21waWxlci4KCg0KBQQLAgAEEgS4BAIKCg0KBQQLAgAFEgS4BAsPCg0KBQQLAgABEgS4BBAnCg0KBQQLAgADEgS4BCorCg0KBQQLAgAIEgS4BCw9Cg0KBQQLAgAHEgS4BDc8CusBCgQECwIBEgS9BAJGGtwBIERpc2FibGVzIHRoZSBnZW5lcmF0aW9uIG9mIHRoZSBzdGFuZGFyZCAiZGVzY3JpcHRvcigpIiBhY2Nlc3Nvciwgd2hpY2ggY2FuCiBjb25mbGljdCB3aXRoIGEgZmllbGQgb2YgdGhlIHNhbWUgbmFtZS4gIFRoaXMgaXMgbWVhbnQgdG8gbWFrZSBtaWdyYXRpb24KIGZyb20gcHJvdG8xIGVhc2llcjsgbmV3IGNvZGUgc2hvdWxkIGF2b2lkIGZpZWxkcyBuYW1lZCAiZGVzY3JpcHRvciIuCgoNCgUECwIBBBIEvQQCCgoNCgUECwIBBRIEvQQLDwoNCgUECwIBARIEvQQQLwoNCgUECwIBAxIEvQQyMwoNCgUECwIBCBIEvQQ0RQoNCgUECwIBBxIEvQQ/RAruAQoEBAsCAhIEwwQCMRrfASBJcyB0aGlzIG1lc3NhZ2UgZGVwcmVjYXRlZD8KIERlcGVuZGluZyBvbiB0aGUgdGFyZ2V0IHBsYXRmb3JtLCB0aGlzIGNhbiBlbWl0IERlcHJlY2F0ZWQgYW5ub3RhdGlvbnMKIGZvciB0aGUgbWVzc2FnZSwgb3IgaXQgd2lsbCBiZSBjb21wbGV0ZWx5IGlnbm9yZWQ7IGluIHRoZSB2ZXJ5IGxlYXN0LAogdGhpcyBpcyBhIGZvcm1hbGl6YXRpb24gZm9yIGRlcHJlY2F0aW5nIG1lc3NhZ2VzLgoKDQoFBAsCAgQSBMMEAgoKDQoFBAsCAgUSBMMECw8KDQoFBAsCAgESBMMEEBoKDQoFBAsCAgMSBMMEHR4KDQoFBAsCAggSBMMEHzAKDQoFBAsCAgcSBMMEKi8KCwoDBAsJEgTFBAITCgwKBAQLCQASBMUECwwKDQoFBAsJAAESBMUECwwKDQoFBAsJAAISBMUECwwKDAoEBAsJARIExQQODwoNCgUECwkBARIExQQODwoNCgUECwkBAhIExQQODwoMCgQECwkCEgTFBBESCg0KBQQLCQIBEgTFBBESCg0KBQQLCQICEgTFBBESCqAGCgQECwIDEgTcBAIeGpEGIFdoZXRoZXIgdGhlIG1lc3NhZ2UgaXMgYW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFwIGVudHJ5IHR5cGUgZm9yIHRoZQogbWFwcyBmaWVsZC4KCiBGb3IgbWFwcyBmaWVsZHM6CiAgICAgbWFwPEtleVR5cGUsIFZhbHVlVHlwZT4gbWFwX2ZpZWxkID0gMTsKIFRoZSBwYXJzZWQgZGVzY3JpcHRvciBsb29rcyBsaWtlOgogICAgIG1lc3NhZ2UgTWFwRmllbGRFbnRyeSB7CiAgICAgICAgIG9wdGlvbiBtYXBfZW50cnkgPSB0cnVlOwogICAgICAgICBvcHRpb25hbCBLZXlUeXBlIGtleSA9IDE7CiAgICAgICAgIG9wdGlvbmFsIFZhbHVlVHlwZSB2YWx1ZSA9IDI7CiAgICAgfQogICAgIHJlcGVhdGVkIE1hcEZpZWxkRW50cnkgbWFwX2ZpZWxkID0gMTsKCiBJbXBsZW1lbnRhdGlvbnMgbWF5IGNob29zZSBub3QgdG8gZ2VuZXJhdGUgdGhlIG1hcF9lbnRyeT10cnVlIG1lc3NhZ2UsIGJ1dAogdXNlIGEgbmF0aXZlIG1hcCBpbiB0aGUgdGFyZ2V0IGxhbmd1YWdlIHRvIGhvbGQgdGhlIGtleXMgYW5kIHZhbHVlcy4KIFRoZSByZWZsZWN0aW9uIEFQSXMgaW4gc3VjaCBpbXBsZW1lbnRhdGlvbnMgc3RpbGwgbmVlZCB0byB3b3JrIGFzCiBpZiB0aGUgZmllbGQgaXMgYSByZXBlYXRlZCBtZXNzYWdlIGZpZWxkLgoKIE5PVEU6IERvIG5vdCBzZXQgdGhlIG9wdGlvbiBpbiAucHJvdG8gZmlsZXMuIEFsd2F5cyB1c2UgdGhlIG1hcHMgc3ludGF4CiBpbnN0ZWFkLiBUaGUgb3B0aW9uIHNob3VsZCBvbmx5IGJlIGltcGxpY2l0bHkgc2V0IGJ5IHRoZSBwcm90byBjb21waWxlcgogcGFyc2VyLgoKDQoFBAsCAwQSBNwEAgoKDQoFBAsCAwUSBNwECw8KDQoFBAsCAwESBNwEEBkKDQoFBAsCAwMSBNwEHB0KJAoDBAsJEgTeBAINIhcgamF2YWxpdGVfc2VyaWFsaXphYmxlCgoMCgQECwkDEgTeBAsMCg0KBQQLCQMBEgTeBAsMCg0KBQQLCQMCEgTeBAsMCh8KAwQLCRIE3wQCDSISIGphdmFuYW5vX2FzX2xpdGUKCgwKBAQLCQQSBN8ECwwKDQoFBAsJBAESBN8ECwwKDQoFBAsJBAISBN8ECwwK3QMKBAQLAgQSBOsEAlAazgMgRW5hYmxlIHRoZSBsZWdhY3kgaGFuZGxpbmcgb2YgSlNPTiBmaWVsZCBuYW1lIGNvbmZsaWN0cy4gIFRoaXMgbG93ZXJjYXNlcwogYW5kIHN0cmlwcyB1bmRlcnNjb3JlZCBmcm9tIHRoZSBmaWVsZHMgYmVmb3JlIGNvbXBhcmlzb24gaW4gcHJvdG8zIG9ubHkuCiBUaGUgbmV3IGJlaGF2aW9yIHRha2VzIGBqc29uX25hbWVgIGludG8gYWNjb3VudCBhbmQgYXBwbGllcyB0byBwcm90bzIgYXMKIHdlbGwuCgogVGhpcyBzaG91bGQgb25seSBiZSB1c2VkIGFzIGEgdGVtcG9yYXJ5IG1lYXN1cmUgYWdhaW5zdCBicm9rZW4gYnVpbGRz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biBjYW4gYmUgZW5hYmxlZCBmb3IgcmVwZWF0ZWQgcHJpbWl0aXZlIGZpZWxkcyB0byBlbmFibGUKIGEgbW9yZSBlZmZpY2llbnQgcmVwcmVzZW50YXRpb24gb24gdGhlIHdpcmUuIFJhdGhlciB0aGFuIHJlcGVhdGVkbHkKIHdyaXRpbmcgdGhlIHRhZyBhbmQgdHlwZSBmb3IgZWFjaCBlbGVtZW50LCB0aGUgZW50aXJlIGFycmF5IGlzIGVuY29kZWQgYXMKIGEgc2luZ2xlIGxlbmd0aC1kZWxpbWl0ZWQgYmxvYi4gSW4gcHJvdG8zLCBvbmx5IGV4cGxpY2l0IHNldHRpbmcgaXQgdG8KIGZhbHNlIHdpbGwgYXZvaWQgdXNpbmcgcGFja2VkIGVuY29kaW5nLiAgVGhpcyBvcHRpb24gaXMgcHJvaGliaXRlZCBpbgogRWRpdGlvbnMsIGJ1dCB0aGUgYHJlcGVhdGVkX2ZpZWxkX2VuY29kaW5nYCBmZWF0dXJlIGNhbiBiZSB1c2VkIHRvIGNvbnRyb2wKIHRoZSBiZWhhdmlvci4KCg0KBQQMAgEEEgSUBQIKCg0KBQQMAgEFEgSUBQsPCg0KBQQMAgEBEgSUBRAWCg0KBQQMAgEDEgSUBRkaCpoFCgQEDAICEgShBQIzGosFIFRoZSBqc3R5cGUgb3B0aW9uIGRldGVybWluZXMgdGhlIEphdmFTY3JpcHQgdHlwZSB1c2VkIGZvciB2YWx1ZXMgb2YgdGhlCiBmaWVsZC4gIFRoZSBvcHRpb24gaXMgcGVybWl0dGVkIG9ubHkgZm9yIDY0IGJpdCBpbnRlZ3JhbCBhbmQgZml4ZWQgdHlwZXMKIChpbnQ2NCwgdWludDY0LCBzaW50NjQsIGZpeGVkNjQsIHNmaXhlZDY0KS4gIEEgZmllbGQgd2l0aCBqc3R5cGUgSlNfU1RSSU5HCiBpcyByZXByZXNlbnRlZCBhcyBKYXZhU2NyaXB0IHN0cmluZywgd2hpY2ggYXZvaWRzIGxvc3Mgb2YgcHJlY2lzaW9uIHRoYXQKIGNhbiBoYXBwZW4gd2hlbiBhIGxhcmdlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBhIGZsb2F0aW5nIHBvaW50IEphdmFTY3JpcHQuCiBTcGVjaWZ5aW5nIEpTX05VTUJFUiBmb3IgdGhlIGpzdHlwZSBjYXVzZXMgdGhlIGdlbmVyYXRlZCBKYXZhU2NyaXB0IGNvZGUgdG8KIHVzZSB0aGUgSmF2YVNjcmlwdCAibnVtYmVyIiB0eXBlLiAgVGhlIGJlaGF2aW9yIG9mIHRoZSBkZWZhdWx0IG9wdGlvbgogSlNfTk9STUFMIGlzIGltcGxlbWVudGF0aW9uIGRlcGVuZGVudC4KCiBUaGlzIG9wdGlvbiBpcyBhbiBlbnVtIHRvIHBlcm1pdCBhZGRpdGlvbmFsIHR5cGVzIHRvIGJlIGFkZGVkLCBlLmcuCiBnb29nLm1hdGguSW50ZWdlci4KCg0KBQQMAgIEEgShBQIKCg0KBQQMAgIGEgShBQsRCg0KBQQMAgIBEgShBRIYCg0KBQQMAgIDEgShBRscCg0KBQQMAgIIEgShBR0yCg0KBQQMAgIHEgShBSgxCg4KBAQMBAESBqIFAqsFAwoNCgUEDAQBARIEogUHDQonCgYEDAQBAgASBKQFBBIaFyBVc2UgdGhlIGRlZmF1bHQgdHlwZS4KCg8KBwQMBAECAAESBKQFBA0KDwoHBAwEAQIAAhIEpAUQEQopCgYEDAQBAgESBKcFBBIaGSBVc2UgSmF2YVNjcmlwdCBzdHJpbmdzLgoKDwoHBAwEAQIBARIEpwUEDQoPCgcEDAQBAgECEgSnBRARCikKBgQMBAECAhIEqgUEEhoZIFVzZSBKYXZhU2NyaXB0IG51bWJlcnMuCgoPCgcEDAQBAgIBEgSqBQQNCg8KBwQMBAECAgISBKoFEBEKmQoKBAQMAgMSBMMFAisaigogU2hvdWxkIHRoaXMgZmllbGQgYmUgcGFyc2VkIGxhemlseT8gIExhenkgYXBwbGllcyBvbmx5IHRvIG1lc3NhZ2UtdHlwZQogZmllbGRzLiAgSXQgbWVhbnMgdGhhdCB3aGVuIHRoZSBvdXRlciBtZXNzYWdlIGlzIGluaXRpYWxseSBwYXJzZWQsIHRoZQogaW5uZXIgbWVzc2FnZSdzIGNvbnRlbnRzIHdpbGwgbm90IGJlIHBhcnNlZCBidXQgaW5zdGVhZCBzdG9yZWQgaW4gZW5jb2RlZAogZm9ybS4gIFRoZSBpbm5lciBtZXNzYWdlIHdpbGwgYWN0dWFsbHkgYmUgcGFyc2VkIHdoZW4gaXQgaXMgZmlyc3QgYWNjZXNzZWQuCgogVGhpcyBpcyBvbmx5IGEgaGludC4gIEltcGxlbWVudGF0aW9ucyBhcmUgZnJlZSB0byBjaG9vc2Ugd2hldGhlciB0byB1c2UKIGVhZ2VyIG9yIGxhenkgcGFyc2luZyByZWdhcmRsZXNzIG9mIHRoZSB2YWx1ZSBvZiB0aGlzIG9wdGlvbi4gIEhvd2V2ZXIsCiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRydWUgc3VnZ2VzdHMgdGhhdCB0aGUgcHJvdG9jb2wgYXV0aG9yIGJlbGlldmVzIHRoYXQKIHVzaW5nIGxhenkgcGFyc2luZyBvbiB0aGlzIGZpZWxkIGlzIHdvcnRoIHRoZSBhZGRpdGlvbmFsIGJvb2trZWVwaW5nCiBvdmVyaGVhZCB0eXBpY2FsbHkgbmVlZGVkIHRvIGltcGxlbWVudCBpdC4KCiBUaGlzIG9wdGlvbiBkb2VzIG5vdCBhZmZlY3QgdGhlIHB1YmxpYyBpbnRlcmZhY2Ugb2YgYW55IGdlbmVyYXRlZCBjb2RlOwogYWxsIG1ldGhvZCBzaWduYXR1cmVzIHJlbWFpbiB0aGUgc2FtZS4gIEZ1cnRoZXJtb3JlLCB0aHJlYWQtc2FmZXR5IG9mIHRoZQogaW50ZXJmYWNlIGlzIG5vdCBhZmZlY3RlZCBieSB0aGlzIG9wdGlvbjsgY29uc3QgbWV0aG9kcyByZW1haW4gc2FmZSB0bwogY2FsbCBmcm9tIG11bHRpcGxlIHRocmVhZHMgY29uY3VycmVudGx5LCB3aGlsZSBub24tY29uc3QgbWV0aG9kcyBjb250aW51ZQogdG8gcmVxdWlyZSBleGNsdXNpdmUgYWNjZXNzLgoKIE5vdGUgdGhhdCBsYXp5IG1lc3NhZ2UgZmllbGRzIGFyZSBzdGlsbCBlYWdlcmx5IHZlcmlmaWVkIHRvIGNoZWNrCiBpbGwtZm9ybWVkIHdpcmVmb3JtYXQgb3IgbWlzc2luZyByZXF1aXJlZCBmaWVsZHMuIENhbGxpbmcgSXNJbml0aWFsaXplZCgpCiBvbiB0aGUgb3V0ZXIgbWVzc2FnZSB3b3VsZCBmYWlsIGlmIHRoZSBpbm5lciBtZXNzYWdlIGhhcyBtaXNzaW5nIHJl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CgUEEQUAAhIElQcVGAqLAwoCBBISBp4HALIHARr8AiBBIG1lc3NhZ2UgcmVwcmVzZW50aW5nIGEgb3B0aW9uIHRoZSBwYXJzZXIgZG9lcyBub3QgcmVjb2duaXplLiBUaGlzIG9ubHkKIGFwcGVhcnMgaW4gb3B0aW9ucyBwcm90b3MgY3JlYXRlZCBieSB0aGUgY29tcGlsZXI6OlBhcnNlciBjbGFzcy4KIERlc2NyaXB0b3JQb29sIHJlc29sdmVzIHRoZXNlIHdoZW4gYnVpbGRpbmcgRGVzY3JpcHRvciBvYmplY3RzLiBUaGVyZWZvcmUsCiBvcHRpb25zIHByb3RvcyBpbiBkZXNjcmlwdG9yIG9iamVjdHMgKGUuZy4gcmV0dXJuZWQgYnkgRGVzY3JpcHRvcjo6b3B0aW9ucygpLAogb3IgcHJvZHVjZWQgYnkgRGVzY3JpcHRvcjo6Q29weVRvKCkpIHdpbGwgbmV2ZXIgaGF2ZSBVbmludGVycHJldGVkT3B0aW9ucwogaW4gdGhlbS4KCgsKAwQSARIEngcIGwrLAgoEBBIDABIGpAcCpwcDGroCIFRoZSBuYW1lIG9mIHRoZSB1bmludGVycHJldGVkIG9wdGlvbi4gIEVhY2ggc3RyaW5nIHJlcHJlc2VudHMgYSBzZWdtZW50IGluCiBhIGRvdC1zZXBhcmF0ZWQgbmFtZS4gIGlzX2V4dGVuc2lvbiBpcyB0cnVlIGlmZiBhIHNlZ21lbnQgcmVwcmVzZW50cyBhbgogZXh0ZW5zaW9uIChkZW5vdGVkIHdpdGggcGFyZW50aGVzZXMgaW4gb3B0aW9ucyBzcGVjcyBpbiAucHJvdG8gZmlsZXMpLgogRS5nLix7IFsiZm9vIiwgZmFsc2VdLCBbImJhci5iYXoiLCB0cnVlXSwgWyJtb28iLCBmYWxzZV0gfSByZXByZXNlbnRzCiAiZm9vLihiYXIuYmF6KS5tb28iLgoKDQoFBBIDAAESBKQHChIKDgoGBBIDAAIAEgSlBwQiCg8KBwQSAwACAAQSBKUHBAwKDwoHBBIDAAIABRIEpQcNEwoPCgcEEgMAAgABEgSlBxQdCg8KBwQSAwACAAMSBKUHICEKDgoGBBIDAAIBEgSmBwQjCg8KBwQSAwACAQQSBKYHBAwKDwoHBBIDAAIB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IGRlICBmICBnaGkKIFdlIGhhdmUgdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6CiAgIHNwYW4gICBwYXRoICAgICAgICAgICAgICAgcmVwcmVzZW50cwogICBbYSxpKSAgWyA0LCAwLCAyLCAwIF0gICAgIFRoZSB3aG9sZSBmaWVsZCBkZWZpbml0aW9uLgogICBbYSxiKSAgWyA0LCAwLCAyLCAwLCA0IF0gIFRoZSBsYWJlbCAob3B0aW9uYWwpLgogICBbYyxkKSAgWyA0LCAwLCAyLCAwLCA1IF0gIFRoZSB0eXBlIChzdHJpbmcpLgogICBbZSxmKSAgWyA0LCAwLCAyLCAwLCAxIF0gIFRoZSBuYW1lIChmb28pLgogICBbZyxoKSAgWyA0LCAwLCAyLCAwLCAzIF0gIFRoZSBudW1iZXIgKDEpLgoKIE5vdGVzOgogLSBBIGxvY2F0aW9uIG1heSByZWZlciB0byBhIHJlcGVhdGVkIGZpZWxkIGl0c2VsZiAoaS5lLiBub3QgdG8gYW55CiAgIHBhcnRpY3VsYXIgaW5kZXggd2l0aGluIGl0KS4gIFRoaXMgaXMgdXNlZCB3aGVuZXZlciBhIHNldCBvZiBlbGVtZW50cyBhcmUKICAgbG9naWNhbGx5IGVuY2xvc2VkIGluIGEgc2luZ2xlIGNvZGUgc2VnbWVudC4gIEZvciBleGFtcGxlLCBhbiBlbnRpcmUKICAgZXh0ZW5kIGJsb2NrIChwb3NzaWJseSBjb250YWluaW5nIG11bHRpcGxlIGV4dGVuc2lvbiBkZWZpbml0aW9ucykgd2lsbAogICBoYXZlIGFuIG91dGVyIGxvY2F0aW9uIHdob3NlIHBhdGggcmVmZXJzIHRvIHRoZSAiZXh0ZW5zaW9ucyIgcmVwZWF0ZWQKICAgZmllbGQgd2l0aG91dCBhbiBpbmRleC4KIC0gTXVsdGlwbGUgbG9jYXRpb25zIG1heSBoYXZlIHRoZSBzYW1lIHBhdGguICBUaGlzIGhhcHBlbnMgd2hlbiBhIHNpbmdsZQogICBsb2dpY2FsIGRlY2xhcmF0aW9uIGlzIHNwcmVhZCBvdXQgYWNyb3NzIG11bHRpcGxlIHBsYWNlcy4gIFRoZSBtb3N0CiAgIG9idmlvdXMgZXhhbXBsZSBpcyB0aGUgImV4dGVuZCIgYmxvY2sgYWdhaW4gLS0gdGhlcmUgbWF5IGJlIG11bHRpcGxlCiAgIGV4dGVuZCBibG9ja3MgaW4gdGhlIHNhbWUgc2NvcGUsIGVhY2ggb2Ygd2hpY2ggd2lsbCBoYXZlIHRoZSBzYW1lIHBhdGguCiAtIEEgbG9jYXRpb24ncyBzcGFuIGlzIG5vdCBhbHdheXMgYSBzdWJzZXQgb2YgaXRzIHBhcmVudCdzIHNwYW4uICBGb3IKICAgZXhhbXBsZSwgdGhlICJleHRlbmRlZSIgb2YgYW4gZXh0ZW5zaW9uIGRlY2xhcmF0aW9uIGFwcGVhcnMgYXQgdGhlCiAgIGJlZ2lubmluZyBvZiB0aGUgImV4dGVuZCIgYmxvY2sgYW5kIGlzIHNoYXJlZCBieSBhbGwgZXh0ZW5zaW9ucyB3aXRoaW4KICAgdGhlIGJsb2NrLgogLSBKdXN0IGJlY2F1c2UgYSBsb2NhdGlvbidzIHNwYW4gaXMgYSBzdWJzZXQgb2Ygc29tZSBvdGhlciBsb2NhdGlvbidzIHNwYW4KICAgZG9lcyBub3QgbWVhbiB0aGF0IGl0IGlzIGEgZGVzY2VuZGFudC4gIEZvciBleGFtcGxlLCBhICJncm91cCIgZGVmaW5lcwogICBib3RoIGEgdHlwZSBhbmQgYSBmaWVsZCBpbiBhIHNpbmdsZSBkZWNsYXJhdGlvbi4gIFRodXMsIHRoZSBsb2NhdGlvbnMKICAgY29ycmVzcG9uZGluZyB0byB0aGUgdHlwZSBhbmQgZmllbGQgYW5kIHRoZWlyIGNvbXBvbmVudHMgd2lsbCBvdmVybGFwLgogLSBDb2RlIHdoaWNoIHRyaWVzIHRvIGludGVycHJldCBsb2NhdGlvbnMgc2hvdWxkIHByb2JhYmx5IGJlIGRlc2lnbmVkIHRvCiAgIGlnbm9yZSB0aG9zZSB0aGF0IGl0IGRvZXNuJ3QgdW5kZXJzdGFuZCwgYXMgbW9yZSB0eXBlcyBvZiBsb2NhdGlvbnMgY291bGQKICAgYmUgcmVjb3JkZWQgaW4gdGhlIGZ1dHVyZS4KCg0KBQQVAgAEEgTsCAIKCg0KBQQVAgAGEgTsCAsTCg0KBQQVAgABEgTsCBQcCg0KBQQVAgADEgTsCB8gCg4KBAQVAwASBu0IAsAJAwoNCgUEFQMAARIE7QgKEgqKBwoGBBUDAAIAEgSFCQQsGvkGIElkZW50aWZpZXMgd2hpY2ggcGFydCBvZiB0aGUgRmlsZURlc2NyaXB0b3JQcm90byB3YXMgZGVmaW5lZCBhdCB0aGlzCiBsb2NhdGlvbi4KCiBFYWNoIGVsZW1lbnQgaXMgYSBmaWVsZCBudW1iZXIgb3IgYW4gaW5kZXguICBUaGV5IGZvcm0gYSBwYXRoIGZyb20KIHRoZSByb290IEZpbGVEZXNjcmlwdG9yUHJvdG8gdG8gdGhlIHBsYWNlIHdoZXJlIHRoZSBkZWZpbml0aW9uIGFwcGVhcnMuCiBGb3IgZXhhbXBsZSwgdGhpcyBwYXRoOgogICBbIDQsIDMsIDIsIDcsIDEgXQogcmVmZXJzIHRvOgogICBmaWxlLm1lc3NhZ2VfdHlwZSgzKSAgLy8gNCwgMwogICAgICAgLmZpZWxkKDcpICAgICAgICAgLy8gMiwgNwogICAgICAgLm5hbWUoKSAgICAgICAgICAgLy8gMQogVGhpcyBpcyBiZWNhdXNlIEZpbGVEZXNjcmlwdG9yUHJvdG8ubWVzc2FnZV90eXBlIGhhcyBmaWVsZCBudW1iZXIgNDoKICAgcmVwZWF0ZWQgRGVzY3JpcHRvclByb3RvIG1lc3NhZ2VfdHlwZSA9IDQ7CiBhbmQgRGVzY3JpcHRvclByb3RvLmZpZWxkIGhhcyBmaWVsZCBudW1iZXIgMjoKICAgcmVwZWF0ZWQgRmllbGREZXNjcmlwdG9yUHJvdG8gZmllbGQgPSAyOwogYW5kIEZpZWxkRGVzY3JpcHRvclByb3RvLm5hbWUgaGFzIGZpZWxkIG51bWJlciAxOgogICBvcHRpb25hbCBzdHJpbmcgbmFtZSA9IDE7CgogVGh1cywgdGhlIGFib3ZlIHBhdGggZ2l2ZXMgdGhlIGxvY2F0aW9uIG9mIGEgZmllbGQgbmFtZS4gIElmIHdlIHJlbW92ZWQKIHRoZSBsYXN0IGVsZW1lbnQ6CiAgIFsgNCwgMywgMiwgNyBdCiB0aGlzIHBhdGggcmVmZXJzIHRvIHRoZSB3aG9sZSBmaWVsZCBkZWNsYXJhdGlvbiAoZnJvbSB0aGUgYmVnaW5uaW5nCiBvZiB0aGUgbGFiZWwgdG8gdGhlIHRlcm1pbmF0aW5nIHNlbWljb2xvbikuCgoPCgcEFQMAAgAEEgSFCQQMCg8KBwQVAwACAAUSBIUJDRIKDwoHBBUDAAIAARIEhQkTFwoPCgcEFQMAAgADEgSFCRobCg8KBwQVAwACAAgSBIUJHCsKEAoIBBUDAAIACAISBIUJHSoK0gIKBgQVAwACARIEjAkELBrBAiBBbHdheXMgaGFzIGV4YWN0bHkgdGhyZWUgb3IgZm91ciBlbGVtZW50czogc3RhcnQgbGluZSwgc3RhcnQgY29sdW1uLAogZW5kIGxpbmUgKG9wdGlvbmFsLCBvdGhlcndpc2UgYXNzdW1lZCBzYW1lIGFzIHN0YXJ0IGxpbmUpLCBlbmQgY29sdW1uLgogVGhlc2UgYXJlIHBhY2tlZCBpbnRvIGEgc2luZ2xlIGZpZWxkIGZvciBlZmZpY2llbmN5LiAgTm90ZSB0aGF0IGxpbmUKIGFuZCBjb2x1bW4gbnVtYmVycyBhcmUgemVyby1iYXNlZCAtLSB0eXBpY2FsbHkgeW91IHdpbGwgd2FudCB0byBhZGQKIDEgdG8gZWFjaCBiZWZvcmUgZGlzcGxheWluZyB0byBhIHVzZXIuCgoPCgcEFQMAAgEEEgSMCQQMCg8KBwQVAwACAQUSBIwJDRIKDwoHBBUDAAIBARIEjAkTFwoPCgcEFQMAAgEDEgSMCRobCg8KBwQVAwACAQgSBIwJHCsKEAoIBBUDAAIBCAISBIwJHSoKpQwKBgQVAwACAhIEvQkEKRqUDCBJZiB0aGlzIFNvdXJjZUNvZGVJbmZvIHJlcHJlc2VudHMgYSBjb21wbGV0ZSBkZWNsYXJhdGlvbiwgdGhlc2UgYXJlIGFueQogY29tbWVudHMgYXBwZWFyaW5nIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIGRlY2xhcmF0aW9uIHdoaWNoIGFwcGVhciB0byBiZQogYXR0YWNoZWQgdG8gdGhlIGRlY2xhcmF0aW9uLgoKIEEgc2VyaWVzIG9mIGxpbmUgY29tbWVudHMgYXBwZWFyaW5nIG9uIGNvbnNlY3V0aXZlIGxpbmVzLCB3aXRoIG5vIG90aGVyCiB0b2tlbnMgYXBwZWFyaW5nIG9uIHRob3NlIGxpbmVzLCB3aWxsIGJlIHRyZWF0ZWQgYXMgYSBzaW5nbGUgY29tbWVudC4KCiBsZWFkaW5nX2RldGFjaGVkX2NvbW1lbnRzIHdpbGwga2VlcCBwYXJhZ3JhcGhzIG9mIGNvbW1lbnRzIHRoYXQgYXBwZWFyCiBiZWZvcmUgKGJ1dCBub3QgY29ubmVjdGVkIHRvKSB0aGUgY3VycmVudCBlbGVtZW50LiBFYWNoIHBhcmFncmFwaCwKIHNlcGFyYXRlZCBieSBlbXB0eSBsaW5lcywgd2lsbCBiZSBvbmUgY29tbWVudCBlbGVtZW50IGluIHRoZSByZXBlYXRlZAogZmllbGQuCgogT25seSB0aGUgY29tbWVudCBjb250ZW50IGlzIHByb3ZpZGVkOyBjb21tZW50IG1hcmtlcnMgKGUuZy4gLy8pIGFyZQogc3RyaXBwZWQgb3V0LiAgRm9yIGJsb2NrIGNvbW1lbnRzLCBsZWFkaW5nIHdoaXRlc3BhY2UgYW5kIGFuIGFzdGVyaXNrCiB3aWxsIGJlIHN0cmlwcGVkIGZyb20gdGhlIGJlZ2lubmluZyBvZiBlYWNoIGxpbmUgb3RoZXIgdGhhbiB0aGUgZmlyc3QuCiBOZXdsaW5lcyBhcmUgaW5jbHVkZWQgaW4gdGhlIG91dHB1dC4KCiBFeGFtcGxlczoKCiAgIG9wdGlvbmFsIGludDMyIGZvbyA9IDE7ICAvLyBDb21tZW50IGF0dGFjaGVkIHRvIGZvby4KICAgLy8gQ29tbWVudCBhdHRhY2hlZCB0byBiYXIuCiAgIG9wdGlvbmFsIGludDMyIGJhciA9IDI7CgogICBvcHRpb25hbCBzdHJpbmcgYmF6ID0gMzsKICAgLy8gQ29tbWVudCBhdHRhY2hlZCB0byBiYXouCiAgIC8vIEFub3RoZXIgbGluZSBhdHRhY2hlZCB0byBiYXouCgogICAvLyBDb21tZW50IGF0dGFjaGVkIHRvIG1vby4KICAgLy8KICAgLy8gQW5vdGhlciBsaW5lIGF0dGFjaGVkIHRvIG1vby4KICAgb3B0aW9uYWwgZG91YmxlIG1vbyA9IDQ7CgogICAvLyBEZXRhY2hlZCBjb21tZW50IGZvciBjb3JnZS4gVGhpcyBpcyBub3QgbGVhZGluZyBvciB0cmFpbGluZyBjb21tZW50cwogICAvLyB0byBt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DwoLQU5FTlVNX1ZBTDEQARIWCgtBTkVOVU1fVkFMMhACGgWwhvoFexoIxfbJHev8//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+uyFOyoIZBIORmlsZUFubm90YXRpb24aFhIUTmVzdGVkRmlsZUFubm90YXRpb25KykYKBxIFFADQAgEKvgYKAQwSAxQAEjKJAiBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlCiBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgb3IgYXQKIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL29wZW4tc291cmNlL2xpY2Vuc2VzL2JzZAoy0wEgQXV0aG9yOiBiZW5qeUBnb29nbGUuY29tIChCZW5qeSBXZWluYmVyZ2VyKQogIEJhc2VkIG9uIG9yaWdpbmFsIFByb3RvY29sIEJ1ZmZlcnMgZGVzaWduIGJ5CiAgU2FuamF5IEdoZW1hd2F0LCBKZWZmIERlYW4sIGFuZCBvdGhlcnMuCgogQSBwcm90byBmaWxlIHVzZWQgdG8gdGVzdCB0aGUgImN1c3RvbSBvcHRpb25zIiBmZWF0dXJlIG9mIGdvb2dsZS5wcm90b2J1Zi4KMtECIFRoaXMgZmlsZSBpcyBiYXNlZCBvbiB1bml0dGVzdF9jdXN0b21fb3B0aW9ucy5wcm90byBpbgogc3JjL2dvb2dsZS9wcm90b2J1ZiwgYnV0IGlzIG1vZGlmaWVkIGZvciBwcm90bzMuIEl0IGNvdWxkCiBwb3RlbnRpYWxseSBiZSBtb3ZlZCBpbnRvIHNyYy9nb29nbGUvcHJvdG9idWYsIGJ1dCBjdXJyZW50bHkgQyMKIGlzIHRoZSBvbmx5IGxhbmd1YWdlIHRoYXQgcmVhbGx5IG5lZWRzIGl0LCBhcyB3ZSBkb24ndCBzdXBwb3J0CiBwcm90bzIgc3ludGF4LiBJdCdzIGN1dCBkb3duIHNpZ25pZmljYW50bHkgYXMgcHJvdG8zIG9ubHkgc3VwcG9ydHMKIGV4dGVuc2lvbnMgZm9yIG9wdGlvbnMuCgoICgEIEgMXACAKNQoFCI6d2AMSAxcAIBonIEEgY3VzdG9tIGZpbGUgb3B0aW9uIChkZWZpbmVkIGJlbG93KS4KCgkKAgMAEgMZACoKoAEKAQISAx0AGhqVASBXZSBkb24ndCBwdXQgdGhpcyBpbiBhIHBhY2thZ2Ugd2l0aGluIHByb3RvMiBiZWNhdXNlIHdlIG5lZWQgdG8gbWFrZSBz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dHRlc3RfaW1wb3J0X3Byb3RvMiIjChNQdWJsaWNJbXBvcnRNZXNzYWdlEgwKAWUYASABKAVSAWVCJKoCIUdvb2dsZS5Qcm90b2J1Zi5UZXN0UHJvdG9zLlByb3RvMkrFAwoGEgQJABEBCr4CCgEMEgMJABIyiQIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKMiggQXV0aG9yOiBsaXVqaXNpQGdvb2dsZS5jb20gKFBoZXJsIExpdSkKCggKAQISAwsAKAoICgEIEgMNAD4KCQoCCCUSAw0APgoKCgIEABIEDwARAQoKCgMEAAESAw8IGwoLCgQEAAIAEgMQAhcKDAoFBAACAAQSAxACCgoMCgUEAAIABRIDEAsQCgwKBQQAAgABEgMQERIKDAoFBAACAAMSAxAVFgrBDAojY3NoYXJwL3Byb3Rvcy91bml0dGVzdF9pbXBvcnQucHJvdG8SH3Byb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIaKmNzaGFycC9wcm90b3MvdW5pdHRlc3RfaW1wb3J0X3B1YmxpYy5wcm90byIdCg1JbXBvcnRNZXNzYWdlEgwKAWQYASABKAVSAWQqPAoKSW1wb3J0RW51bRIOCgpJTVBPUlRfRk9PEAcSDgoKSU1QT1JUX0JBUhAIEg4KCklNUE9SVF9CQVoQCSoxChBJbXBvcnRFbnVtRm9yTWFwEgsKB1VOS05PV04QABIHCgNGT08QARIHCgNCQVIQAkIpSAH4AQGqAiFHb29nbGUuUHJvdG9idWYuVGVzdFByb3Rvcy5Qcm90bzJKjwoKBhIEDQArAQrgAwoBDBIDDQASMokCIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBvciBhdAogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCjLJASBBdXRob3I6IGtlbnRvbkBnb29nbGUuY29tIChLZW50b24gVmFyZGEpCiAgQmFzZWQgb24gb3JpZ2luYWwgUHJvdG9jb2wgQnVmZmVycyBkZXNpZ24gYnkKICBTYW5qYXkgR2hlbWF3YXQsIEplZmYgRGVhbiwgYW5kIG90aGVycy4KCiBBIHByb3RvIGZpbGUgd2hpY2ggaXMgaW1wb3J0ZWQgYnkgdW5pdHRlc3QucHJvdG8gdG8gdGVzdCBpbXBvcnRpbmcuCgr1AQoBAhIDEwAoGuoBIFdlIGRvbid0IHB1dCB0aGlzIGluIGEgcGFja2FnZSB3aXRoaW4gcHJvdG8yIGJlY2F1c2Ugd2UgbmVlZCB0byBtYWtlIHN1cmUKIHRoYXQgdGhlIGdlbmVyYXRlZCBjb2RlIGRvZXNuJ3QgZGVwZW5kIG9uIGJlaW5nIGluIHRoZSBwcm90bzIgbmFtZXNwYWNlLgogSW4gdGVzdF91dGlsLmggd2UgZG8KICJ1c2luZyBuYW1lc3BhY2UgdW5pdHRlc3RfaW1wb3J0ID0gcHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0Ii4KCggKAQgSAxUAHAoJCgIICRIDFQAcCggKAQgSAxYAHwoJCgIIHxIDFgAfCggKAQgSAxcAPgoJCgIIJRIDFwA+Ch8KAgMAEgMaADsaFCBUZXN0IHB1YmxpYyBpbXBvcnQKCgkKAgoAEgMaBw0KCgoCBAASBBwAHgEKCgoDBAABEgMcCBUKCwoEBAACABIDHQIXCgwKBQQAAgAEEgMdAgoKDAoFBAACAAUSAx0LEAoMCgUEAAIAARIDHRESCgwKBQQAAgADEgMdFRYKCgoCBQASBCAAJAEKCgoDBQABEgMgBQ8KCwoEBQACABIDIQIRCgwKBQUAAgABEgMhAgwKDAoFBQACAAISAyEPEAoLCgQFAAIBEgMiAhEKDAoFBQACAQESAyICDAoMCgUFAAIBAhIDIg8QCgsKBAUAAgISAyMCEQoMCgUFAAICARIDIwIMCgwKBQUAAgICEgMjDxAKSAoCBQESBCcAKwEaPCBUbyB1c2UgYW4gZW51bSBpbiBhIG1hcCwgaXQgbXVzdCBoYXMgdGhlIGZpcnN0IHZhbHVlIGFzIDAuCgoKCgMFAQESAycFFQoLCgQFAQIAEgMoAg4KDAoFBQECAAESAygCCQoMCgUFAQIAAhIDKAwNCgsKBAUBAgESAykCCgoMCgUFAQIBARIDKQIFCgwKBQUBAgECEgMpCAkKCwoEBQECAhIDKgIKCgwKBQUBAgIBEgMqAgUKDAoFBQECAgISAyoICVAACqLHBQocY3NoYXJwL3Byb3Rvcy91bml0dGVzdC5wcm90bxIYcHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yGiNjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2ltcG9ydC5wcm90byKNJAoMVGVzdEFsbFR5cGVzEiUKDm9wdGlvbmFsX2ludDMyGAEgASgFUg1vcHRpb25hbEludDMyEiUKDm9wdGlvbmFsX2ludDY0GAIgASgDUg1vcHRpb25hbEludDY0EicKD29wdGlvbmFsX3VpbnQzMhgDIAEoDVIOb3B0aW9uYWxVaW50MzISJwoPb3B0aW9uYWxfdWludDY0GAQgASgEUg5vcHRpb25hbFVpbnQ2NBInCg9vcHRpb25hbF9zaW50MzIYBSABKBFSDm9wdGlvbmFsU2ludDMyEicKD29wdGlvbmFsX3NpbnQ2NBgGIAEoElIOb3B0aW9uYWxTaW50NjQSKQoQb3B0aW9uYWxfZml4ZWQzMhgHIAEoB1IPb3B0aW9uYWxGaXhlZDMyEikKEG9wdGlvbmFsX2ZpeGVkNjQYCCABKAZSD29wdGlvbmFsRml4ZWQ2NBIrChFvcHRpb25hbF9zZml4ZWQzMhgJIAEoD1IQb3B0aW9uYWxTZml4ZWQzMhIrChFvcHRpb25hbF9zZml4ZWQ2NBgKIAEoEFIQb3B0aW9uYWxTZml4ZWQ2NBIlCg5vcHRpb25hbF9mbG9hdBgLIAEoAlINb3B0aW9uYWxGbG9hdBInCg9vcHRpb25hbF9kb3VibGUYDCABKAFSDm9wdGlvbmFsRG91YmxlEiMKDW9wdGlvbmFsX2Jvb2wYDSABKAhSDG9wdGlvbmFsQm9vbBInCg9vcHRpb25hbF9zdHJpbmcYDiABKAlSDm9wdGlvbmFsU3RyaW5nEiUKDm9wdGlvbmFsX2J5dGVzGA8gASgMUg1vcHRpb25hbEJ5dGVzEloKDW9wdGlvbmFsZ3JvdXAYECABKAoyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk9wdGlvbmFsR3JvdXBSDW9wdGlvbmFsZ3JvdXASbAoXb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2UYEiABKAsyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VSFW9wdGlvbmFsTmVzdGVkTWVzc2FnZRJiChhvcHRpb25hbF9mb3JlaWduX21lc3NhZ2UYEyABKAsyKC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbk1lc3NhZ2VSFm9wdGlvbmFsRm9yZWlnbk1lc3NhZ2USZgoXb3B0aW9uYWxfaW1wb3J0X21lc3NhZ2UYFCABKAsyLi5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnRfcHJvdG8yLkltcG9ydE1lc3NhZ2VSFW9wdGlvbmFsSW1wb3J0TWVzc2FnZRJjChRvcHRpb25hbF9uZXN0ZWRfZW51bRgVIAEoDjIxLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkRW51bVISb3B0aW9uYWxOZXN0ZWRFbnVtElkKFW9wdGlvbmFsX2ZvcmVpZ25fZW51bRgWIAEoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bVITb3B0aW9uYWxGb3JlaWduRW51bRJdChRvcHRpb25hbF9pbXBvcnRfZW51bRgXIAEoDjIrLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIuSW1wb3J0RW51bVISb3B0aW9uYWxJbXBvcnRFbnVtEjYKFW9wdGlvbmFsX3N0cmluZ19waWVjZRgYIAEoCUICCAJSE29wdGlvbmFsU3RyaW5nUGllY2USJwoNb3B0aW9uYWxfY29yZBgZIAEoCUICCAFSDG9wdGlvbmFsQ29yZBJ5Ch5vcHRpb25hbF9wdWJsaWNfaW1wb3J0X21lc3NhZ2UYGiABKAsyNC5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnRfcHJvdG8yLlB1YmxpY0ltcG9ydE1lc3NhZ2VSG29wdGlvbmFsUHVibGljSW1wb3J0TWVzc2FnZRJsChVvcHRpb25hbF9sYXp5X21lc3NhZ2UYGyABKAsyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VCAigBUhNvcHRpb25hbExhenlNZXNzYWdlEiUKDnJlcGVhdGVkX2ludDMyGB8gAygFUg1yZXBlYXRlZEludDMyEiUKDnJlcGVhdGVkX2ludDY0GCAgAygDUg1yZXBlYXRlZEludDY0EicKD3JlcGVhdGVkX3VpbnQzMhghIAMoDVIOcmVwZWF0ZWRVaW50MzISJwoPcmVwZWF0ZWRfdWludDY0GCIgAygEUg5yZXBlYXRlZFVpbnQ2NBInCg9yZXBlYXRlZF9zaW50MzIYIyADKBFSDnJlcGVhdGVkU2ludDMyEicKD3JlcGVhdGVkX3NpbnQ2NBgkIAMoElIOcmVwZWF0ZWRTaW50NjQSKQoQcmVwZWF0ZWRfZml4ZWQzMhglIAMoB1IPcmVwZWF0ZWRGaXhlZDMyEikKEHJlcGVhdGVkX2ZpeGVkNjQYJiADKAZSD3JlcGVhdGVkRml4ZWQ2NBIrChFyZXBlYXRlZF9zZml4ZWQzMhgnIAMoD1IQcmVwZWF0ZWRTZml4ZWQzMhIrChFyZXBlYXRlZF9zZml4ZWQ2NBgoIAMoEFIQcmVwZWF0ZWRTZml4ZWQ2NBIlCg5yZXBlYXRlZF9mbG9hdBgpIAMoAlINcmVwZWF0ZWRGbG9hdBInCg9yZXBlYXRlZF9kb3VibGUYKiADKAFSDnJlcGVhdGVkRG91YmxlEiMKDXJlcGVhdGVkX2Jvb2wYKyADKAhSDHJlcGVhdGVkQm9vbBInCg9yZXBlYXRlZF9zdHJpbmcYLCADKAlSDnJlcGVhdGVkU3RyaW5nEiUKDnJlcGVhdGVkX2J5dGVzGC0gAygMUg1yZXBlYXRlZEJ5dGVzEloKDXJlcGVhdGVkZ3JvdXAYLiADKAoyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLlJlcGVhdGVkR3JvdXBSDXJlcGVhdGVkZ3JvdXASbAoXcmVwZWF0ZWRfbmVzdGVkX21lc3NhZ2UYMCADKAsyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VSFXJlcGVhdGVkTmVzdGVkTWVzc2FnZRJiChhyZXBlYXRlZF9mb3JlaWduX21lc3NhZ2UYMSADKAsyKC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbk1lc3NhZ2VSFnJlcGVhdGVkRm9yZWlnbk1lc3NhZ2USZgoXcmVwZWF0ZWRfaW1wb3J0X21lc3NhZ2UYMiADKAsyLi5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnRfcHJvdG8yLkltcG9ydE1lc3NhZ2VSFXJlcGVhdGVkSW1wb3J0TWVzc2FnZRJjChRyZXBlYXRlZF9uZXN0ZWRfZW51bRgzIAMoDjIxLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkRW51bVIScmVwZWF0ZWROZXN0ZWRFbnVtElkKFXJlcGVhdGVkX2ZvcmVpZ25fZW51bRg0IAMoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bVITcmVwZWF0ZWRGb3JlaWduRW51bRJdChRyZXBlYXRlZF9pbXBvcnRfZW51bRg1IAMoDjIrLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIuSW1wb3J0RW51bVIScmVwZWF0ZWRJbXBvcnRFbnVtEjYKFXJlcGVhdGVkX3N0cmluZ19waWVjZRg2IAMoCUICCAJSE3JlcGVhdGVkU3RyaW5nUGllY2USJwoNcmVwZWF0ZWRfY29yZBg3IAMoCUICCAFSDHJlcGVhdGVkQ29yZBJoChVyZXBlYXRlZF9sYXp5X21lc3NhZ2UYOSADKAsyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VSE3JlcGVhdGVkTGF6eU1lc3NhZ2USJwoNZGVmYXVsdF9pbnQzMhg9IAEoBToCNDFSDGRlZmF1bHRJbnQzMhInCg1kZWZhdWx0X2ludDY0GD4gASgDOgI0MlIMZGVmYXVsdEludDY0EikKDmRlZmF1bHRfdWludDMyGD8gASgNOgI0M1INZGVmYXVsdFVpbnQzMhIpCg5kZWZhdWx0X3VpbnQ2NBhAIAEoBDoCNDRSDWRlZmF1bHRVaW50NjQSKgoOZGVmYXVsdF9zaW50MzIYQSABKBE6Ay00NVINZGVmYXVsdFNpbnQzMhIpCg5kZWZhdWx0X3NpbnQ2NBhCIAEoEjoCNDZSDWRlZmF1bHRTaW50NjQSKwoPZGVmYXVsdF9maXhlZDMyGEMgASgHOgI0N1IOZGVmYXVsdEZpeGVkMzISKwoPZGVmYXVsdF9maXhlZDY0GEQgASgGOgI0OFIOZGVmYXVsdEZpeGVkNjQSLQoQZGVmYXVsdF9zZml4ZWQzMhhFIAEoDzoCNDlSD2RlZmF1bHRTZml4ZWQzMhIuChBkZWZhdWx0X3NmaXhlZDY0GEYgASgQOgMtNTBSD2RlZmF1bHRTZml4ZWQ2NBIpCg1kZWZhdWx0X2Zsb2F0GEcgASgCOgQ1MS41UgxkZWZhdWx0RmxvYXQSLAoOZGVmYXVsdF9kb3VibGUYSCABKAE6BTUyMDAwUg1kZWZhdWx0RG91YmxlEicKDGRlZmF1bHRfYm9vbBhJIAEoCDoEdHJ1ZVILZGVmYXVsdEJvb2wSLAoOZGVmYXVsdF9zdHJpbmcYSiABKAk6BWhlbGxvUg1kZWZhdWx0U3RyaW5nEioKDWRlZmF1bHRfYnl0ZXMYSyABKAw6BXdvcmxkUgxkZWZhdWx0Qnl0ZXMSZgoTZGVmYXVsdF9uZXN0ZWRfZW51bRhRIAEoDjIxLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkRW51bToDQkFSUhFkZWZhdWx0TmVzdGVkRW51bRJkChRkZWZhdWx0X2ZvcmVpZ25fZW51bRhSIAEoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bToLRk9SRUlHTl9CQVJSEmRlZmF1bHRGb3JlaWduRW51bRJnChNkZWZhdWx0X2ltcG9ydF9lbnVtGFMgASgOMisucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0X3Byb3RvMi5JbXBvcnRFbnVtOgpJTVBPUlRfQkFSUhFkZWZhdWx0SW1wb3J0RW51bRI5ChRkZWZhdWx0X3N0cmluZ19waWVjZRhUIAEoCToDYWJjQgIIAlISZGVmYXVsdFN0cmluZ1BpZWNlEioKDGRlZmF1bHRfY29yZBhVIAEoCToDMTIzQgIIAVILZGVmYXVsdENvcmQSIwoMb25lb2ZfdWludDMyGG8gASgNSABSC29uZW9mVWludDMyEmgKFG9uZW9mX25lc3RlZF9tZXNzYWdlGHAgASgLMjQucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRNZXNzYWdlSABSEm9uZW9mTmVzdGVkTWVzc2FnZRIjCgxvbmVvZl9zdHJpbmcYcSABKAlIAFILb25lb2ZTdHJpbmcSIQoLb25lb2ZfYnl0ZXMYciABKAxIAFIKb25lb2ZCeXRlcxofCg1OZXN0ZWRNZXNzYWdlEg4KAmJiGAEgASgFUgJiYhodCg1PcHRpb25hbEdyb3VwEgwKAWEYESABKAVSAWEaHQoNUmVwZWF0ZWRHcm91cBIMCgFhGC8gASgFUgFhIjkKCk5lc3RlZEVudW0SBwoDRk9PEAESBwoDQkFSEAISBwoDQkFaEAMSEAoDTkVHEP///////////wFCDQoLb25lb2ZfZmllbGQi7wEKEk5lc3RlZFRlc3RBbGxUeXBlcxJCCgVjaGlsZBgBIAEoCzIsLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5OZXN0ZWRUZXN0QWxsVHlwZXNSBWNoaWxkEkAKB3BheWxvYWQYAiABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgdwYXlsb2FkElMKDnJlcGVhdGVkX2NoaWxkGAMgAygLMiwucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLk5lc3RlZFRlc3RBbGxUeXBlc1INcmVwZWF0ZWRDaGlsZCKWAQoUVGVzdERlcHJlY2F0ZWRGaWVsZHMSLQoQZGVwcmVjYXRlZF9pbnQzMhgBIAEoBUICGAFSD2RlcHJlY2F0ZWRJbnQzMhI/ChlkZXByZWNhdGVkX2ludDMyX2luX29uZW9mGAIgASgFQgIYAUgAUhZkZXByZWNhdGVkSW50MzJJbk9uZW9mQg4KDG9uZW9mX2ZpZWxkcyIbChVUZXN0RGVwcmVjYXRlZE1lc3NhZ2U6AhgBIiwKDkZvcmVpZ25NZXNzYWdlEgwKAWMYASABKAVSAWMSDAoBZBgCIAEoBVIBZCIwChJUZXN0UmVzZXJ2ZWRGaWVsZHNKBAgCEANKBAgPEBBKBAgJEAxSA2JhclIDYmF6Ih0KEVRlc3RBbGxFeHRlbnNpb25zKggIARCAgICAAiInChdPcHRpb25hbEdyb3VwX2V4dGVuc2lvbhIMCgFhGBEgASgFUgFhIicKF1JlcGVhdGVkR3JvdXBfZXh0ZW5zaW9uEgwKAWEYLyABKAVSAWEi3gEKCVRlc3RHcm91cBJXCg1vcHRpb25hbGdyb3VwGBAgASgKMjEucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RHcm91cC5PcHRpb25hbEdyb3VwUg1vcHRpb25hbGdyb3VwElkKFW9wdGlvbmFsX2ZvcmVpZ25fZW51bRgWIAEoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bVITb3B0aW9uYWxGb3JlaWduRW51bRodCg1PcHRpb25hbEdyb3VwEgwKAWEYESABKAVSAWEiHgoSVGVzdEdyb3VwRXh0ZW5zaW9uKggIARCAgICAAiK4BAoTVGVzdE5lc3RlZEV4dGVuc2lvbhonChdPcHRpb25hbEdyb3VwX2V4dGVuc2lvbhIMCgFhGBEgASgFUgFhMkYKBHRlc3QSKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMY6gcgASgJOgR0ZXN0UgR0ZXN0MmQKF25lc3RlZF9zdHJpbmdfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGOsHIAEoCVIVbmVzdGVkU3RyaW5nRXh0ZW5zaW9uMqwBChdvcHRpb25hbGdyb3VwX2V4dGVuc2lvbhIsLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0R3JvdXBFeHRlbnNpb24YECABKAoyRS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdE5lc3RlZEV4dGVuc2lvbi5PcHRpb25hbEdyb3VwX2V4dGVuc2lvblIWb3B0aW9uYWxncm91cEV4dGVuc2lvbjKaAQofb3B0aW9uYWxfZm9yZWlnbl9lbnVtX2V4dGVuc2lvbhIsLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0R3JvdXBFeHRlbnNpb24YFiABKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW1SHG9wdGlvbmFsRm9yZWlnbkVudW1FeHRlbnNpb24ikAgKDFRlc3RSZXF1aXJlZBIMCgFhGAEgAigFUgFhEhYKBmR1bW15MhgCIAEoBVIGZHVtbXkyEgwKAWIYAyACKAVSAWISFgoGZHVtbXk0GAQgASgFUgZkdW1teTQSFgoGZHVtbXk1GAUgASgFUgZkdW1teTUSFgoGZHVtbXk2GAYgASgFUgZkdW1teTYSFgoGZHVtbXk3GAcgASgFUgZkdW1teTcSFgoGZHVtbXk4GAggASgFUgZkdW1teTgSFgoGZHVtbXk5GAkgASgFUgZkdW1teTkSGAoHZHVtbXkxMBgKIAEoBVIHZHVtbXkxMBIYCgdkdW1teTExGAsgASgFUgdkdW1teTExEhgKB2R1bW15MTIYDCABKAVSB2R1bW15MTISGAoHZHVtbXkxMxgNIAEoBVIHZHVtbXkxMxIYCgdkdW1teTE0GA4gASgFUgdkdW1teTE0EhgKB2R1bW15MTUYDyABKAVSB2R1bW15MTUSGAoHZHVtbXkxNhgQIAEoBVIHZHVtbXkxNhIYCgdkdW1teTE3GBEgASgFUgdkdW1teTE3EhgKB2R1bW15MTgYEiABKAVSB2R1bW15MTgSGAoHZHVtbXkxORgTIAEoBVIHZHVtbXkxORIYCgdkdW1teTIwGBQgASgFUgdkdW1teTIwEhgKB2R1bW15MjEYFSABKAVSB2R1bW15MjESGAoHZHVtbXkyMhgWIAEoBVIHZHVtbXkyMhIYCgdkdW1teTIzGBcgASgFUgdkdW1teTIzEhgKB2R1bW15MjQYGCABKAVSB2R1bW15MjQSGAoHZHVtbXkyNRgZIAEoBVIHZHVtbXkyNRIYCgdkdW1teTI2GBogASgFUgdkdW1teTI2EhgKB2R1bW15MjcYGyABKAVSB2R1bW15MjcSGAoHZHVtbXkyOBgcIAEoBVIHZHVtbXkyOBIYCgdkdW1teTI5GB0gASgFUgdkdW1teTI5EhgKB2R1bW15MzAYHiABKAVSB2R1bW15MzASGAoHZHVtbXkzMRgfIAEoBVIHZHVtbXkzMRIYCgdkdW1teTMyGCAgASgFUgdkdW1teTMyEgwKAWMYISACKAVSAWMybAoGc2luZ2xlEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGOgHIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UmVxdWlyZWRSBnNpbmdsZTJqCgVtdWx0aRIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxjpByADKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFJlcXVpcmVkUgVtdWx0aSLRAQoTVGVzdFJlcXVpcmVkRm9yZWlnbhJRChBvcHRpb25hbF9tZXNzYWdlGAEgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RSZXF1aXJlZFIPb3B0aW9uYWxNZXNzYWdlElEKEHJlcGVhdGVkX21lc3NhZ2UYAiADKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFJlcXVpcmVkUg9yZXBlYXRlZE1lc3NhZ2USFAoFZHVtbXkYAyABKAVSBWR1bW15Io4CChNUZXN0UmVxdWlyZWRNZXNzYWdlElEKEG9wdGlvbmFsX21lc3NhZ2UYASABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFJlcXVpcmVkUg9vcHRpb25hbE1lc3NhZ2USUQoQcmVwZWF0ZWRfbWVzc2FnZRgCIAMoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UmVxdWlyZWRSD3JlcGVhdGVkTWVzc2FnZRJRChByZXF1aXJlZF9tZXNzYWdlGAMgAigLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RSZXF1aXJlZFIPcmVxdWlyZWRNZXNzYWdlInAKEVRlc3RGb3JlaWduTmVzdGVkElsKDmZvcmVpZ25fbmVzdGVkGAEgASgLMjQucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRNZXNzYWdlUg1mb3JlaWduTmVzdGVkIhIKEFRlc3RFbXB0eU1lc3NhZ2UiKgoeVGVzdEVtcHR5TWVzc2FnZVdpdGhFeHRlbnNpb25zKggIARCAgICAAiI3ChtUZXN0TXVsdGlwbGVFeHRlbnNpb25SYW5nZXMqBAgqECsqBgivIBCUISoKCICABBCAgICAAiI7ChhUZXN0UmVhbGx5TGFyZ2VUYWdOdW1iZXISDAoBYRgBIAEoBVIBYRIRCgJiYhj///9/IAEoBVICYmIiYgoUVGVzdFJlY3Vyc2l2ZU1lc3NhZ2USPAoBYRgBIAEoCzIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UmVjdXJzaXZlTWVzc2FnZVIBYRIMCgFpGAIgASgFUgFpIq8DChRUZXN0TXV0dWFsUmVjdXJzaW9uQRI+CgJiYhgBIAEoCzIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0TXV0dWFsUmVjdXJzaW9uQlICYmISUwoIc3ViZ3JvdXAYAiABKAoyNy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdE11dHVhbFJlY3Vyc2lvbkEuU3ViR3JvdXBSCHN1Ymdyb3VwGkoKClN1Yk1lc3NhZ2USPAoBYhgBIAEoCzIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0TXV0dWFsUmVjdXJzaW9uQlIBYhq1AQoIU3ViR3JvdXASWgoLc3ViX21lc3NhZ2UYAyABKAsyOS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdE11dHVhbFJlY3Vyc2lvbkEuU3ViTWVzc2FnZVIKc3ViTWVzc2FnZRJNCg9ub3RfaW5fdGhpc19zY2MYBCABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgxub3RJblRoaXNTY2MiewoUVGVzdE11dHVhbFJlY3Vyc2lvbkISPAoBYRgBIAEoCzIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0TXV0dWFsUmVjdXJzaW9uQVIBYRIlCg5vcHRpb25hbF9pbnQzMhgCIAEoBVINb3B0aW9uYWxJbnQzMiLyAQoRVGVzdElzSW5pdGlhbGl6ZWQSVwoLc3ViX21lc3NhZ2UYASABKAsyNi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdElzSW5pdGlhbGl6ZWQuU3ViTWVzc2FnZVIKc3ViTWVzc2FnZRqDAQoKU3ViTWVzc2FnZRJbCghzdWJncm91cBgBIAEoCjI/LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0SXNJbml0aWFsaXplZC5TdWJNZXNzYWdlLlN1Ykdyb3VwUghzdWJncm91cBoYCghTdWJHcm91cBIMCgFpGAIgAigFUgFpItQBChJUZXN0RHVwRmllbGROdW1iZXISDAoBYRgBIAEoBVIBYRJCCgNmb28YAiABKAoyMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdER1cEZpZWxkTnVtYmVyLkZvb1IDZm9vEkIKA2JhchgDIAEoCjIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RHVwRmllbGROdW1iZXIuQmFyUgNiYXIaEwoDRm9vEgwKAWEYASABKAVSAWEaEwoDQmFyEgwKAWEYASABKAVSAWEiXwoQVGVzdEVhZ2VyTWVzc2FnZRJLCgtzdWJfbWVzc2FnZRgBIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNCAigAUgpzdWJNZXNzYWdlIl4KD1Rlc3RMYXp5TWVzc2FnZRJLCgtzdWJfbWVzc2FnZRgBIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNCAigBUgpzdWJNZXNzYWdlIuYCChhUZXN0TmVzdGVkTWVzc2FnZUhhc0JpdHMSeAoXb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2UYASABKAsyQC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdE5lc3RlZE1lc3NhZ2VIYXNCaXRzLk5lc3RlZE1lc3NhZ2VSFW9wdGlvbmFsTmVzdGVkTWVzc2FnZRrPAQoNTmVzdGVkTWVzc2FnZRJAChxuZXN0ZWRtZXNzYWdlX3JlcGVhdGVkX2ludDMyGAEgAygFUhpuZXN0ZWRtZXNzYWdlUmVwZWF0ZWRJbnQzMhJ8CiVuZXN0ZWRtZXNzYWdlX3JlcGVhdGVkX2ZvcmVpZ25tZXNzYWdlGAIgAygLMigucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25NZXNzYWdlUiNuZXN0ZWRtZXNzYWdlUmVwZWF0ZWRGb3JlaWdubWVzc2FnZSLXBQoXVGVzdENhbWVsQ2FzZUZpZWxkTmFtZXMSJgoOUHJpbWl0aXZlRmllbGQYASABKAVSDlByaW1pdGl2ZUZpZWxkEiAKC1N0cmluZ0ZpZWxkGAIgASgJUgtTdHJpbmdGaWVsZBJDCglFbnVtRmllbGQYAyABKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW1SCUVudW1GaWVsZBJMCgxNZXNzYWdlRmllbGQYBCABKAsyKC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbk1lc3NhZ2VSDE1lc3NhZ2VGaWVsZBIuChBTdHJpbmdQaWVjZUZpZWxkGAUgASgJQgIIAlIQU3RyaW5nUGllY2VGaWVsZBIgCglDb3JkRmllbGQYBiABKAlCAggBUglDb3JkRmllbGQSNgoWUmVwZWF0ZWRQcmltaXRpdmVGaWVsZBgHIAMoBVIWUmVwZWF0ZWRQcmltaXRpdmVGaWVsZBIwChNSZXBlYXRlZFN0cmluZ0ZpZWxkGAggAygJUhNSZXBlYXRlZFN0cmluZ0ZpZWxkElMKEVJlcGVhdGVkRW51bUZpZWxkGAkgAygOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtUhFSZXBlYXRlZEVudW1GaWVsZBJcChRSZXBlYXRlZE1lc3NhZ2VGaWVsZBgKIAMoCzIoLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduTWVzc2FnZVIUUmVwZWF0ZWRNZXNzYWdlRmllbGQSPgoYUmVwZWF0ZWRTdHJpbmdQaWVjZUZpZWxkGAsgAygJQgIIAlIYUmVwZWF0ZWRTdHJpbmdQaWVjZUZpZWxkEjAKEVJlcGVhdGVkQ29yZEZpZWxkGAwgAygJQgIIAVIRUmVwZWF0ZWRDb3JkRmllbGQilQIKElRlc3RGaWVsZE9yZGVyaW5ncxIbCglteV9zdHJpbmcYCyABKAlSCG15U3RyaW5nEhUKBm15X2ludBgBIAEoA1IFbXlJbnQSGQoIbXlfZmxvYXQYZSABKAJSB215RmxvYXQScwoXb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2UYyAEgASgLMjoucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RGaWVsZE9yZGVyaW5ncy5OZXN0ZWRNZXNzYWdlUhVvcHRpb25hbE5lc3RlZE1lc3NhZ2UaLwoNTmVzdGVkTWVzc2FnZRIOCgJvbxgCIAEoA1ICb28SDgoCYmIYASABKAVSAmJiKgQIAhALKgQIDBBlIsgBChdUZXN0RXh0ZW5zaW9uT3JkZXJpbmdzMRIbCglteV9zdHJpbmcYASABKAlSCG15U3RyaW5nMo8BChN0ZXN0X2V4dF9vcmRlcmluZ3MxEiwucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RGaWVsZE9yZGVyaW5ncxgNIAEoCzIxLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RXh0ZW5zaW9uT3JkZXJpbmdzMVIRdGVzdEV4dE9yZGVyaW5nczEiqwMKF1Rlc3RFeHRlbnNpb25PcmRlcmluZ3MyEhsKCW15X3N0cmluZxgBIAEoCVIIbXlTdHJpbmca4AEKF1Rlc3RFeHRlbnNpb25PcmRlcmluZ3MzEhsKCW15X3N0cmluZxgBIAEoCVIIbXlTdHJpbmcypwEKE3Rlc3RfZXh0X29yZGVyaW5nczMSLC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEZpZWxkT3JkZXJpbmdzGA4gASgLMkkucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RFeHRlbnNpb25PcmRlcmluZ3MyLlRlc3RFeHRlbnNpb25PcmRlcmluZ3MzUhF0ZXN0RXh0T3JkZXJpbmdzMzKPAQoTdGVzdF9leHRfb3JkZXJpbmdzMhIsLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RmllbGRPcmRlcmluZ3MYDCABKAsyMS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEV4dGVuc2lvbk9yZGVyaW5nczJSEXRlc3RFeHRPcmRlcmluZ3MyIq8KChhUZXN0RXh0cmVtZURlZmF1bHRWYWx1ZXMSTQoNZXNjYXBlZF9ieXRlcxgBIAEoDDooXDAwMFwwMDFcMDA3XDAxMFwwMTRcblxyXHRcMDEzXFxcJ1wiXDM3NlIMZXNjYXBlZEJ5dGVzEi0KDGxhcmdlX3VpbnQzMhgCIAEoDToKNDI5NDk2NzI5NVILbGFyZ2VVaW50MzISNwoMbGFyZ2VfdWludDY0GAMgASgEOhQxODQ0Njc0NDA3MzcwOTU1MTYxNVILbGFyZ2VVaW50NjQSLAoLc21hbGxfaW50MzIYBCABKAU6Cy0yMTQ3NDgzNjQ3UgpzbWFsbEludDMyEjUKC3NtYWxsX2ludDY0GAUgASgDOhQtOTIyMzM3MjAzNjg1NDc3NTgwN1IKc21hbGxJbnQ2NBI5ChJyZWFsbHlfc21hbGxfaW50MzIYFSABKAU6Cy0yMTQ3NDgzNjQ4UhByZWFsbHlTbWFsbEludDMyEkIKEnJlYWxseV9zbWFsbF9pbnQ2NBgWIAEoAzoULTkyMjMzNzIwMzY4NTQ3NzU4MDhSEHJlYWxseVNtYWxsSW50NjQSJAoLdXRmOF9zdHJpbmcYBiABKAk6A+GItFIKdXRmOFN0cmluZxIgCgp6ZXJvX2Zsb2F0GAcgASgCOgEwUgl6ZXJvRmxvYXQSHgoJb25lX2Zsb2F0GAggASgCOgExUghvbmVGbG9hdBIkCgtzbWFsbF9mbG9hdBgJIAEoAjoDMS41UgpzbWFsbEZsb2F0EjAKEm5lZ2F0aXZlX29uZV9mbG9hdBgKIAEoAjoCLTFSEG5lZ2F0aXZlT25lRmxvYXQSKwoObmVnYXRpdmVfZmxvYXQYCyABKAI6BC0xLjVSDW5lZ2F0aXZlRmxvYXQSJgoLbGFyZ2VfZmxvYXQYDCABKAI6BTJlKzA4UgpsYXJnZUZsb2F0EjgKFHNtYWxsX25lZ2F0aXZlX2Zsb2F0GA0gASgCOgYtOGUtMjhSEnNtYWxsTmVnYXRpdmVGbG9hdBIiCgppbmZfZG91YmxlGA4gASgBOgNpbmZSCWluZkRvdWJsZRIqCg5uZWdfaW5mX2RvdWJsZRgPIAEoAToELWluZlIMbmVnSW5mRG91YmxlEiIKCm5hbl9kb3VibGUYECABKAE6A25hblIJbmFuRG91YmxlEiAKCWluZl9mbG9hdBgRIAEoAjoDaW5mUghpbmZGbG9hdBIoCg1uZWdfaW5mX2Zsb2F0GBIgASgCOgQtaW5mUgtuZWdJbmZGbG9hdBIgCgluYW5fZmxvYXQYEyABKAI6A25hblIIbmFuRmxvYXQSOAoMY3BwX3RyaWdyYXBoGBQgASgJOhU/ID8gPz8gPz8gPz8/ID8/LyA/Py1SC2NwcFRyaWdyYXBoEjAKEHN0cmluZ193aXRoX3plcm8YFyABKAk6BmhlbABsb1IOc3RyaW5nV2l0aFplcm8SMQoPYnl0ZXNfd2l0aF96ZXJvGBggASgMOgl3b3JcMDAwbGRSDWJ5dGVzV2l0aFplcm8SPQoWc3RyaW5nX3BpZWNlX3dpdGhfemVybxgZIAEoCToEYWIAY0ICCAJSE3N0cmluZ1BpZWNlV2l0aFplcm8SLgoOY29yZF93aXRoX3plcm8YGiABKAk6BDEyADNCAggBUgxjb3JkV2l0aFplcm8SOQoScmVwbGFjZW1lbnRfc3RyaW5nGBsgASgJOgoke3Vua25vd259UhFyZXBsYWNlbWVudFN0cmluZyJeChFTcGFyc2VFbnVtTWVzc2FnZRJJCgtzcGFyc2VfZW51bRgBIAEoDjIoLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0U3BhcnNlRW51bVIKc3BhcnNlRW51bSIfCglPbmVTdHJpbmcSEgoEZGF0YRgBIAEoCVIEZGF0YSIgCgpNb3JlU3RyaW5nEhIKBGRhdGEYASADKAlSBGRhdGEiHgoIT25lQnl0ZXMSEgoEZGF0YRgBIAEoDFIEZGF0YSIfCglNb3JlQnl0ZXMSEgoEZGF0YRgBIAMoDFIEZGF0YSIiCgxJbnQzMk1lc3NhZ2USEgoEZGF0YRgBIAEoBVIEZGF0YSIjCg1VaW50MzJNZXNzYWdlEhIKBGRhdGEYASABKA1SBGRhdGEiIgoMSW50NjRNZXNzYWdlEhIKBGRhdGEYASABKANSBGRhdGEiIwoNVWludDY0TWVzc2FnZRISCgRkYXRhGAEgASgEUgRkYXRhIiEKC0Jvb2xNZXNzYWdlEhIKBGRhdGEYASABKAhSBGRhdGEijQIKCVRlc3RPbmVvZhIZCgdmb29faW50GAEgASgFSABSBmZvb0ludBIfCgpmb29fc3RyaW5nGAIgASgJSABSCWZvb1N0cmluZxJJCgtmb29fbWVzc2FnZRgDIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNIAFIKZm9vTWVzc2FnZRJKCghmb29ncm91cBgEIAEoCjIsLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0T25lb2YuRm9vR3JvdXBIAFIIZm9vZ3JvdXAaJgoIRm9vR3JvdXASDAoBYRgFIAEoBVIBYRIMCgFiGAYgASgJUgFiQgUKA2ZvbyKkAgocVGVzdE9uZW9mQmFja3dhcmRzQ29tcGF0aWJsZRIXCgdmb29faW50GAEgASgFUgZmb29JbnQSHQoKZm9vX3N0cmluZxgCIAEoCVIJZm9vU3RyaW5nEkcKC2Zvb19tZXNzYWdlGAMgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IKZm9vTWVzc2FnZRJbCghmb29ncm91cBgEIAEoCjI/LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0T25lb2ZCYWNrd2FyZHNDb21wYXRpYmxlLkZvb0dyb3VwUghmb29ncm91cBomCghGb29Hcm91cBIMCgFhGAUgASgFUgFhEgwKAWIYBiABKAlSAWIikAgKClRlc3RPbmVvZjISGQoHZm9vX2ludBgBIAEoBUgAUgZmb29JbnQSHwoKZm9vX3N0cmluZxgCIAEoCUgAUglmb29TdHJpbmcSHwoIZm9vX2NvcmQYAyABKAlCAggBSABSB2Zvb0NvcmQSLgoQZm9vX3N0cmluZ19waWVjZRgEIAEoCUICCAJIAFIOZm9vU3RyaW5nUGllY2USHQoJZm9vX2J5dGVzGAUgASgMSABSCGZvb0J5dGVzEkwKCGZvb19lbnVtGAYgASgOMi8ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RPbmVvZjIuTmVzdGVkRW51bUgAUgdmb29FbnVtElUKC2Zvb19tZXNzYWdlGAcgASgLMjIucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RPbmVvZjIuTmVzdGVkTWVzc2FnZUgAUgpmb29NZXNzYWdlEksKCGZvb2dyb3VwGAggASgKMi0ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RPbmVvZjIuRm9vR3JvdXBIAFIIZm9vZ3JvdXASYgoQZm9vX2xhenlfbWVzc2FnZRgLIAEoCzIyLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0T25lb2YyLk5lc3RlZE1lc3NhZ2VCAigBSABSDmZvb0xhenlNZXNzYWdlEhwKB2Jhcl9pbnQYDCABKAU6ATVIAVIGYmFySW50EicKCmJhcl9zdHJpbmcYDSABKAk6BlNUUklOR0gBUgliYXJTdHJpbmcSJQoIYmFyX2NvcmQYDiABKAk6BENPUkRCAggBSAFSB2JhckNvcmQSNgoQYmFyX3N0cmluZ19waWVjZRgPIAEoCToGU1BJRUNFQgIIAkgBUg5iYXJTdHJpbmdQaWVjZRIkCgliYXJfYnl0ZXMYECABKAw6BUJZVEVTSAFSCGJhckJ5dGVzElEKCGJhcl9lbnVtGBEgASgOMi8ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RPbmVvZjIuTmVzdGVkRW51bToDQkFSSAFSB2JhckVudW0SFwoHYmF6X2ludBgSIAEoBVIGYmF6SW50EiIKCmJhel9zdHJpbmcYEyABKAk6A0JBWlIJYmF6U3RyaW5nGiYKCEZvb0dyb3VwEgwKAWEYCSABKAVSAWESDAoBYhgKIAEoCVIBYhpFCg1OZXN0ZWRNZXNzYWdlEhcKB3F1eF9pbnQYASABKANSBnF1eEludBIbCgljb3JnZV9pbnQYAiADKAVSCGNvcmdlSW50IicKCk5lc3RlZEVudW0SBwoDRk9PEAESBwoDQkFSEAISBwoDQkFaEANCBQoDZm9vQgUKA2JhciLuAQoRVGVzdFJlcXVpcmVkT25lb2YSGQoHZm9vX2ludBgBIAEoBUgAUgZmb29JbnQSHwoKZm9vX3N0cmluZxgCIAEoCUgAUglmb29TdHJpbmcSXAoLZm9vX21lc3NhZ2UYAyABKAsyOS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFJlcXVpcmVkT25lb2YuTmVzdGVkTWVzc2FnZUgAUgpmb29NZXNzYWdlGjgKDU5lc3RlZE1lc3NhZ2USJwoPcmVxdWlyZWRfZG91YmxlGAEgAigBUg5yZXF1aXJlZERvdWJsZUIFCgNmb28igAIKD1Rlc3RSZXF1aXJlZE1hcBJECgNmb28YASADKAsyMi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFJlcXVpcmVkTWFwLkZvb0VudHJ5UgNmb28abwoIRm9vRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSTQoFdmFsdWUYAiABKAsyNy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFJlcXVpcmVkTWFwLk5lc3RlZE1lc3NhZ2VSBXZhbHVlOgI4ARo2Cg1OZXN0ZWRNZXNzYWdlEiUKDnJlcXVpcmVkX2ludDMyGAEgAigFUg1yZXF1aXJlZEludDMyIvQECg9UZXN0UGFja2VkVHlwZXMSJQoMcGFja2VkX2ludDMyGFogAygFQgIQAVILcGFja2VkSW50MzISJQoMcGFja2VkX2ludDY0GFsgAygDQgIQAVILcGFja2VkSW50NjQSJwoNcGFja2VkX3VpbnQzMhhcIAMoDUICEAFSDHBhY2tlZFVpbnQzMhInCg1wYWNrZWRfdWludDY0GF0gAygEQgIQAVIMcGFja2VkVWludDY0EicKDXBhY2tlZF9zaW50MzIYXiADKBFCAhABUgxwYWNrZWRTaW50MzISJwoNcGFja2VkX3NpbnQ2NBhfIAMoEkICEAFSDHBhY2tlZFNpbnQ2NBIpCg5wYWNrZWRfZml4ZWQzMhhgIAMoB0ICEAFSDXBhY2tlZEZpeGVkMzISKQoOcGFja2VkX2ZpeGVkNjQYYSADKAZCAhABUg1wYWNrZWRGaXhlZDY0EisKD3BhY2tlZF9zZml4ZWQzMhhiIAMoD0ICEAFSDnBhY2tlZFNmaXhlZDMyEisKD3BhY2tlZF9zZml4ZWQ2NBhjIAMoEEICEAFSDnBhY2tlZFNmaXhlZDY0EiUKDHBhY2tlZF9mbG9hdBhkIAMoAkICEAFSC3BhY2tlZEZsb2F0EicKDXBhY2tlZF9kb3VibGUYZSADKAFCAhABUgxwYWNrZWREb3VibGUSIwoLcGFja2VkX2Jvb2wYZiADKAhCAhABUgpwYWNrZWRCb29sEkoKC3BhY2tlZF9lbnVtGGcgAygOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtQgIQAVIKcGFja2VkRW51bSKuBQoRVGVzdFVucGFja2VkVHlwZXMSKQoOdW5wYWNrZWRfaW50MzIYWiADKAVCAhAAUg11bnBhY2tlZEludDMyEikKDnVucGFja2VkX2ludDY0GFsgAygDQgIQAFINdW5wYWNrZWRJbnQ2NBIrCg91bnBhY2tlZF91aW50MzIYXCADKA1CAhAAUg51bnBhY2tlZFVpbnQzMhIrCg91bnBhY2tlZF91aW50NjQYXSADKARCAhAAUg51bnBhY2tlZFVpbnQ2NBIrCg91bnBhY2tlZF9zaW50MzIYXiADKBFCAhAAUg51bnBhY2tlZFNpbnQzMhIrCg91bnBhY2tlZF9zaW50NjQYXyADKBJCAhAAUg51bnBhY2tlZFNpbnQ2NBItChB1bnBhY2tlZF9maXhlZDMyGGAgAygHQgIQAFIPdW5wYWNrZWRGaXhlZDMyEi0KEHVucGFja2VkX2ZpeGVkNjQYYSADKAZCAhAAUg91bnBhY2tlZEZpeGVkNjQSLwoRdW5wYWNrZWRfc2ZpeGVkMzIYYiADKA9CAhAAUhB1bnBhY2tlZFNmaXhlZDMyEi8KEXVucGFja2VkX3NmaXhlZDY0GGMgAygQQgIQAFIQdW5wYWNrZWRTZml4ZWQ2NBIpCg51bnBhY2tlZF9mbG9hdBhkIAMoAkICEABSDXVucGFja2VkRmxvYXQSKwoPdW5wYWNrZWRfZG91YmxlGGUgAygBQgIQAFIOdW5wYWNrZWREb3VibGUSJwoNdW5wYWNrZWRfYm9vbBhmIAMoCEICEABSDHVucGFja2VkQm9vbBJOCg11bnBhY2tlZF9lbnVtGGcgAygOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtQgIQAFIMdW5wYWNrZWRFbnVtIiAKFFRlc3RQYWNrZWRFeHRlbnNpb25zKggIARCAgICAAiIiChZUZXN0VW5wYWNrZWRFeHRlbnNpb25zKggIARCAgICAAiLIBQoVVGVzdER5bmFtaWNFeHRlbnNpb25zEioKEHNjYWxhcl9leHRlbnNpb24Y0A8gASgHUg9zY2FsYXJFeHRlbnNpb24STQoOZW51bV9leHRlbnNpb24Y0Q8gASgOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtUg1lbnVtRXh0ZW5zaW9uEnYKFmR5bmFtaWNfZW51bV9leHRlbnNpb24Y0g8gASgOMj8ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3REeW5hbWljRXh0ZW5zaW9ucy5EeW5hbWljRW51bVR5cGVSFGR5bmFtaWNFbnVtRXh0ZW5zaW9uElYKEW1lc3NhZ2VfZXh0ZW5zaW9uGNMPIAEoCzIoLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduTWVzc2FnZVIQbWVzc2FnZUV4dGVuc2lvbhJ/ChlkeW5hbWljX21lc3NhZ2VfZXh0ZW5zaW9uGNQPIAEoCzJCLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RHluYW1pY0V4dGVuc2lvbnMuRHluYW1pY01lc3NhZ2VUeXBlUhdkeW5hbWljTWVzc2FnZUV4dGVuc2lvbhIuChJyZXBlYXRlZF9leHRlbnNpb24Y1Q8gAygJUhFyZXBlYXRlZEV4dGVuc2lvbhIuChBwYWNrZWRfZXh0ZW5zaW9uGNYPIAMoEUICEAFSD3BhY2tlZEV4dGVuc2lvbho6ChJEeW5hbWljTWVzc2FnZVR5cGUSJAoNZHluYW1pY19maWVsZBi0ECABKAVSDGR5bmFtaWNGaWVsZCJHCg9EeW5hbWljRW51bVR5cGUSEAoLRFlOQU1JQ19GT08QmBESEAoLRFlOQU1JQ19CQVIQmRESEAoLRFlOQU1JQ19CQVoQmhEinwIKI1Rlc3RSZXBlYXRlZFNjYWxhckRpZmZlcmVudFRhZ1NpemVzEikKEHJlcGVhdGVkX2ZpeGVkMzIYDCADKAdSD3JlcGVhdGVkRml4ZWQzMhIlCg5yZXBlYXRlZF9pbnQzMhgNIAMoBVINcmVwZWF0ZWRJbnQzMhIqChByZXBlYXRlZF9maXhlZDY0GP4PIAMoBlIPcmVwZWF0ZWRGaXhlZDY0EiYKDnJlcGVhdGVkX2ludDY0GP8PIAMoA1INcmVwZWF0ZWRJbnQ2NBInCg5yZXBlYXRlZF9mbG9hdBj+/w8gAygCUg1yZXBlYXRlZEZsb2F0EikKD3JlcGVhdGVkX3VpbnQ2NBj//w8gAygEUg5yZXBlYXRlZFVpbnQ2NCLjDAoQVGVzdFBhcnNpbmdNZXJnZRJUChJyZXF1aXJlZF9hbGxfdHlwZXMYASACKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUhByZXF1aXJlZEFsbFR5cGVzElQKEm9wdGlvbmFsX2FsbF90eXBlcxgCIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSEG9wdGlvbmFsQWxsVHlwZXMSVAoScmVwZWF0ZWRfYWxsX3R5cGVzGAMgAygLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IQcmVwZWF0ZWRBbGxUeXBlcxJeCg1vcHRpb25hbGdyb3VwGAogASgKMjgucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYXJzaW5nTWVyZ2UuT3B0aW9uYWxHcm91cFINb3B0aW9uYWxncm91cBJeCg1yZXBlYXRlZGdyb3VwGBQgAygKMjgucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYXJzaW5nTWVyZ2UuUmVwZWF0ZWRHcm91cFINcmVwZWF0ZWRncm91cBqtBQoXUmVwZWF0ZWRGaWVsZHNHZW5lcmF0b3ISPgoGZmllbGQxGAEgAygLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IGZmllbGQxEj4KBmZpZWxkMhgCIAMoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSBmZpZWxkMhI+CgZmaWVsZDMYAyADKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgZmaWVsZDMSYQoGZ3JvdXAxGAogAygKMkkucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYXJzaW5nTWVyZ2UuUmVwZWF0ZWRGaWVsZHNHZW5lcmF0b3IuR3JvdXAxUgZncm91cDESYQoGZ3JvdXAyGBQgAygKMkkucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYXJzaW5nTWVyZ2UuUmVwZWF0ZWRGaWVsZHNHZW5lcmF0b3IuR3JvdXAyUgZncm91cDISOwoEZXh0MRjoByADKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgRleHQxEjsKBGV4dDIY6QcgAygLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IEZXh0MhpICgZHcm91cDESPgoGZmllbGQxGAsgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IGZmllbGQxGkgKBkdyb3VwMhI+CgZmaWVsZDEYFSABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgZmaWVsZDEacAoNT3B0aW9uYWxHcm91cBJfChhvcHRpb25hbF9ncm91cF9hbGxfdHlwZXMYCyABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUhVvcHRpb25hbEdyb3VwQWxsVHlwZXMacAoNUmVwZWF0ZWRHcm91cBJfChhyZXBlYXRlZF9ncm91cF9hbGxfdHlwZXMYFSABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUhVyZXBlYXRlZEdyb3VwQWxsVHlwZXMqCQjoBxCAgICAAjJ2CgxvcHRpb25hbF9leHQSKi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhcnNpbmdNZXJnZRjoByABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgtvcHRpb25hbEV4dDJ2CgxyZXBlYXRlZF9leHQSKi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhcnNpbmdNZXJnZRjpByADKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgtyZXBlYXRlZEV4dCJHChtUZXN0Q29tbWVudEluamVjdGlvbk1lc3NhZ2USKAoBYRgBIAEoCToaKi8gPC0gTmVpdGhlciBzaG91bGQgdGhpcy5SAWEiDAoKRm9vUmVxdWVzdCINCgtGb29SZXNwb25zZSISChBGb29DbGllbnRNZXNzYWdlIhIKEEZvb1NlcnZlck1lc3NhZ2UiDAoKQmFyUmVxdWVzdCINCgtCYXJSZXNwb25zZSLOAQoMVGVzdEpzb25OYW1lEh8KC2ZpZWxkX25hbWUxGAEgASgFUgpmaWVsZE5hbWUxEh4KCmZpZWxkTmFtZTIYAiABKAVSCmZpZWxkTmFtZTISHgoKRmllbGROYW1lMxgDIAEoBVIKRmllbGROYW1lMxIgCgxfZmllbGRfbmFtZTQYBCABKAVSCkZpZWxkTmFtZTQSHwoLRklFTERfTkFNRTUYBSABKAVSCkZJRUxETkFNRTUSGgoLZmllbGRfbmFtZTYYBiABKAVSBUB0eXBlIv8HChRUZXN0SHVnZUZpZWxkTnVtYmVycxIpCg5vcHRpb25hbF9pbnQzMhjw+P//ASABKAVSDW9wdGlvbmFsSW50MzISHQoIZml4ZWRfMzIY8fj//wEgASgFUgdmaXhlZDMyEi0KDnJlcGVhdGVkX2ludDMyGPL4//8BIAMoBUICEABSDXJlcGVhdGVkSW50MzISKQoMcGFja2VkX2ludDMyGPP4//8BIAMoBUICEAFSC3BhY2tlZEludDMyEk4KDW9wdGlvbmFsX2VudW0Y9Pj//wEgASgOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtUgxvcHRpb25hbEVudW0SKwoPb3B0aW9uYWxfc3RyaW5nGPX4//8BIAEoCVIOb3B0aW9uYWxTdHJpbmcSKQoOb3B0aW9uYWxfYnl0ZXMY9vj//wEgASgMUg1vcHRpb25hbEJ5dGVzElcKEG9wdGlvbmFsX21lc3NhZ2UY9/j//wEgASgLMigucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25NZXNzYWdlUg9vcHRpb25hbE1lc3NhZ2USZgoNb3B0aW9uYWxncm91cBj4+P//ASABKAoyPC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEh1Z2VGaWVsZE51bWJlcnMuT3B0aW9uYWxHcm91cFINb3B0aW9uYWxncm91cBJzChFzdHJpbmdfc3RyaW5nX21hcBj6+P//ASADKAsyQy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEh1Z2VGaWVsZE51bWJlcnMuU3RyaW5nU3RyaW5nTWFwRW50cnlSD3N0cmluZ1N0cmluZ01hcBInCgxvbmVvZl91aW50MzIY+/j//wEgASgNSABSC29uZW9mVWludDMyEl0KFG9uZW9mX3Rlc3RfYWxsX3R5cGVzGPz4//8BIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNIAFIRb25lb2ZUZXN0QWxsVHlwZXMSJwoMb25lb2Zfc3RyaW5nGP34//8BIAEoCUgAUgtvbmVvZlN0cmluZxIlCgtvbmVvZl9ieXRlcxj++P//ASABKAxIAFIKb25lb2ZCeXRlcxosCg1PcHRpb25hbEdyb3VwEhsKB2dyb3VwX2EY+fj//wEgASgFUgZncm91cEEaQgoUU3RyaW5nU3RyaW5nTWFwRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASoMCOCq//8BEPD4//8BQg0KC29uZW9mX2ZpZWxkIvoBChhUZXN0RXh0ZW5zaW9uSW5zaWRlVGFibGUSFgoGZmllbGQxGAEgASgFUgZmaWVsZDESFgoGZmllbGQyGAIgASgFUgZmaWVsZDISFgoGZmllbGQzGAMgASgFUgZmaWVsZDMSFgoGZmllbGQ0GAQgASgFUgZmaWVsZDQSFgoGZmllbGQ2GAYgASgFUgZmaWVsZDYSFgoGZmllbGQ3GAcgASgFUgZmaWVsZDcSFgoGZmllbGQ4GAggASgFUgZmaWVsZDgSFgoGZmllbGQ5GAkgASgFUgZmaWVsZDkSGAoHZmllbGQxMBgKIAEoBVIHZmllbGQxMCoECAUQBipACgtGb3JlaWduRW51bRIPCgtGT1JFSUdOX0ZPTxAEEg8KC0ZPUkVJR05fQkFSEAUSDwoLRk9SRUlHTl9CQVoQBipLChRUZXN0RW51bVdpdGhEdXBWYWx1ZRIICgRGT08xEAESCAoEQkFSMRACEgcKA0JBWhADEggKBEZPTzIQARIICgRCQVIyEAIaAhABKokBCg5UZXN0U3BhcnNlRW51bRIMCghTUEFSU0VfQRB7Eg4KCFNQQVJTRV9CEKbnAxIPCghTUEFSU0VfQxCysYAGEhUKCFNQQVJTRV9EEPH//////////wESFQoIU1BBUlNFX0UQtN78////////ARIMCghTUEFSU0VfRhAAEgwKCFNQQVJTRV9HEAIqiw8KDVZlcnlMYXJnZUVudW0SFgoSRU5VTV9MQUJFTF9ERUZBVUxUEAASEAoMRU5VTV9MQUJFTF8xEAESEAoMRU5VTV9MQUJFTF8yEAISEAoMRU5VTV9MQUJFTF8zEAMSEAoMRU5VTV9MQUJFTF80EAQSEAoMRU5VTV9MQUJFTF81EAUSEAoMRU5VTV9MQUJFTF82EAYSEAoMRU5VTV9MQUJFTF83EAcSEAoMRU5VTV9MQUJFTF84EAgSEAoMRU5VTV9MQUJFTF85EAkSEQoNRU5VTV9MQUJFTF8xMBAKEhEKDUVOVU1fTEFCRUxfMTEQCxIRCg1FTlVNX0xBQkVMXzEyEAwSEQoNRU5VTV9MQUJFTF8xMxANEhEKDUVOVU1fTEFCRUxfMTQQDhIRCg1FTlVNX0xBQkVMXzE1EA8SEQoNRU5VTV9MQUJFTF8xNhAQEhEKDUVOVU1fTEFCRUxfMTcQERIRCg1FTlVNX0xBQkVMXzE4EBISEQoNRU5VTV9MQUJFTF8xORATEhEKDUVOVU1fTEFCRUxfMjAQFBIRCg1FTlVNX0xBQkVMXzIxEBUSEQoNRU5VTV9MQUJFTF8yMhAWEhEKDUVOVU1fTEFCRUxfMjMQFxIRCg1FTlVNX0xBQkVMXzI0EBgSEQoNRU5VTV9MQUJFTF8yNRAZEhEKDUVOVU1fTEFCRUxfMjYQGhIRCg1FTlVNX0xBQkVMXzI3EBsSEQoNRU5VTV9MQUJFTF8yOBAcEhEKDUVOVU1fTEFCRUxfMjkQHRIRCg1FTlVNX0xBQkVMXzMwEB4SEQoNRU5VTV9MQUJFTF8zMRAfEhEKDUVOVU1fTEFCRUxfMzIQIBIRCg1FTlVNX0xBQkVMXzMzECESEQoNRU5VTV9MQUJFTF8zNBAiEhEKDUVOVU1fTEFCRUxfMzUQIxIRCg1FTlVNX0xBQkVMXzM2ECQSEQoNRU5VTV9MQUJFTF8zNxAlEhEKDUVOVU1fTEFCRUxfMzgQJhIRCg1FTlVNX0xBQkVMXzM5ECcSEQoNRU5VTV9MQUJFTF80MBAoEhEKDUVOVU1fTEFCRUxfNDEQKRIRCg1FTlVNX0xBQkVMXzQyECoSEQoNRU5VTV9MQUJFTF80MxArEhEKDUVOVU1fTEFCRUxfNDQQLBIRCg1FTlVNX0xBQkVMXzQ1EC0SEQoNRU5VTV9MQUJFTF80NhAuEhEKDUVOVU1fTEFCRUxfNDcQLxIRCg1FTlVNX0xBQkVMXzQ4EDASEQoNRU5VTV9MQUJFTF80ORAxEhEKDUVOVU1fTEFCRUxfNTAQMhIRCg1FTlVNX0xBQkVMXzUxEDMSEQoNRU5VTV9MQUJFTF81MhA0EhEKDUVOVU1fTEFCRUxfNTMQNRIRCg1FTlVNX0xBQkVMXzU0EDYSEQoNRU5VTV9MQUJFTF81NRA3EhEKDUVOVU1fTEFCRUxfNTYQOBIRCg1FTlVNX0xBQkVMXzU3EDkSEQoNRU5VTV9MQUJFTF81OBA6EhEKDUVOVU1fTEFCRUxfNTkQOxIRCg1FTlVNX0xBQkVMXzYwEDwSEQoNRU5VTV9MQUJFTF82MRA9EhEKDUVOVU1fTEFCRUxfNjIQPhIRCg1FTlVNX0xBQkVMXzYzED8SEQoNRU5VTV9MQUJFTF82NBBAEhEKDUVOVU1fTEFCRUxfNjUQQRIRCg1FTlVNX0xBQkVMXzY2EEISEQoNRU5VTV9MQUJFTF82NxBDEhEKDUVOVU1fTEFCRUxfNjgQRBIRCg1FTlVNX0xBQkVMXzY5EEUSEQoNRU5VTV9MQUJFTF83MBBGEhEKDUVOVU1fTEFCRUxfNzEQRxIRCg1FTlVNX0xBQkVMXzcyEEgSEQoNRU5VTV9MQUJFTF83MxBJEhEKDUVOVU1fTEFCRUxfNzQQShIRCg1FTlVNX0xBQkVMXzc1EEsSEQoNRU5VTV9MQUJFTF83NhBMEhEKDUVOVU1fTEFCRUxfNzcQTRIRCg1FTlVNX0xBQkVMXzc4EE4SEQoNRU5VTV9MQUJFTF83ORBPEhEKDUVOVU1fTEFCRUxfODAQUBIRCg1FTlVNX0xBQkVMXzgxEFESEQoNRU5VTV9MQUJFTF84MhBSEhEKDUVOVU1fTEFCRUxfODMQUxIRCg1FTlVNX0xBQkVMXzg0EFQSEQoNRU5VTV9MQUJFTF84NRBVEhEKDUVOVU1fTEFCRUxfODYQVhIRCg1FTlVNX0xBQkVMXzg3EFcSEQoNRU5VTV9MQUJFTF84OBBYEhEKDUVOVU1fTEFCRUxfODkQWRIRCg1FTlVNX0xBQkVMXzkwEFoSEQoNRU5VTV9MQUJFTF85MRBbEhEKDUVOVU1fTEFCRUxfOTIQXBIRCg1FTlVNX0xBQkVMXzkzEF0SEQoNRU5VTV9MQUJFTF85NBBeEhEKDUVOVU1fTEFCRUxfOTUQXxIRCg1FTlVNX0xBQkVMXzk2EGASEQoNRU5VTV9MQUJFTF85NxBhEhEKDUVOVU1fTEFCRUxfOTgQYhIRCg1FTlVNX0xBQkVMXzk5EGMSEgoORU5VTV9MQUJFTF8xMDAQZDK1AQoLVGVzdFNlcnZpY2USUgoDRm9vEiQucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvb1JlcXVlc3QaJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9vUmVzcG9uc2USUgoDQmFyEiQucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkJhclJlcXVlc3QaJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuQmFyUmVzcG9uc2U6ZQoYb3B0aW9uYWxfaW50MzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAEgASgFUhZvcHRpb25hbEludDMyRXh0ZW5zaW9uOmUKGG9wdGlvbmFsX2ludDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgCIAEoA1IWb3B0aW9uYWxJbnQ2NEV4dGVuc2lvbjpnChlvcHRpb25hbF91aW50MzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAMgASgNUhdvcHRpb25hbFVpbnQzMkV4dGVuc2lvbjpnChlvcHRpb25hbF91aW50NjRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAQgASgEUhdvcHRpb25hbFVpbnQ2NEV4dGVuc2lvbjpnChlvcHRpb25hbF9zaW50MzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAUgASgRUhdvcHRpb25hbFNpbnQzMkV4dGVuc2lvbjpnChlvcHRpb25hbF9zaW50NjRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAYgASgSUhdvcHRpb25hbFNpbnQ2NEV4dGVuc2lvbjppChpvcHRpb25hbF9maXhlZDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgHIAEoB1IYb3B0aW9uYWxGaXhlZDMyRXh0ZW5zaW9uOmkKGm9wdGlvbmFsX2ZpeGVkNjRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAggASgGUhhvcHRpb25hbEZpeGVkNjRFeHRlbnNpb246awobb3B0aW9uYWxfc2ZpeGVkMzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAkgASgPUhlvcHRpb25hbFNmaXhlZDMyRXh0ZW5zaW9uOmsKG29wdGlvbmFsX3NmaXhlZDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgKIAEoEFIZb3B0aW9uYWxTZml4ZWQ2NEV4dGVuc2lvbjplChhvcHRpb25hbF9mbG9hdF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYCyABKAJSFm9wdGlvbmFsRmxvYXRFeHRlbnNpb246ZwoZb3B0aW9uYWxfZG91YmxlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgMIAEoAVIXb3B0aW9uYWxEb3VibGVFeHRlbnNpb246YwoXb3B0aW9uYWxfYm9vbF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYDSABKAhSFW9wdGlvbmFsQm9vbEV4dGVuc2lvbjpnChlvcHRpb25hbF9zdHJpbmdfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGA4gASgJUhdvcHRpb25hbFN0cmluZ0V4dGVuc2lvbjplChhvcHRpb25hbF9ieXRlc19leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYDyABKAxSFm9wdGlvbmFsQnl0ZXNFeHRlbnNpb246lwEKF29wdGlvbmFsZ3JvdXBfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGBAgASgKMjEucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLk9wdGlvbmFsR3JvdXBfZXh0ZW5zaW9uUhZvcHRpb25hbGdyb3VwRXh0ZW5zaW9uOqwBCiFvcHRpb25hbF9uZXN0ZWRfbWVzc2FnZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYEiABKAsyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VSHm9wdGlvbmFsTmVzdGVkTWVzc2FnZUV4dGVuc2lvbjqiAQoib3B0aW9uYWxfZm9yZWlnbl9tZXNzYWdlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgTIAEoCzIoLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduTWVzc2FnZVIfb3B0aW9uYWxGb3JlaWduTWVzc2FnZUV4dGVuc2lvbjqmAQohb3B0aW9uYWxfaW1wb3J0X21lc3NhZ2VfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGBQgASgLMi4ucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0X3Byb3RvMi5JbXBvcnRNZXNzYWdlUh5vcHRpb25hbEltcG9ydE1lc3NhZ2VFeHRlbnNpb246owEKHm9wdGlvbmFsX25lc3RlZF9lbnVtX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgVIAEoDjIxLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkRW51bVIbb3B0aW9uYWxOZXN0ZWRFbnVtRXh0ZW5zaW9uOpkBCh9vcHRpb25hbF9mb3JlaWduX2VudW1fZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGBYgASgOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtUhxvcHRpb25hbEZvcmVpZ25FbnVtRXh0ZW5zaW9uOp0BCh5vcHRpb25hbF9pbXBvcnRfZW51bV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYFyABKA4yKy5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnRfcHJvdG8yLkltcG9ydEVudW1SG29wdGlvbmFsSW1wb3J0RW51bUV4dGVuc2lvbjp2Ch9vcHRpb25hbF9zdHJpbmdfcGllY2VfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGBggASgJQgIIAlIcb3B0aW9uYWxTdHJpbmdQaWVjZUV4dGVuc2lvbjpjChdvcHRpb25hbF9jb3JkX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgZIAEoCVIVb3B0aW9uYWxDb3JkRXh0ZW5zaW9uOrkBCihvcHRpb25hbF9wdWJsaWNfaW1wb3J0X21lc3NhZ2VfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGBogASgLMjQucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0X3Byb3RvMi5QdWJsaWNJbXBvcnRNZXNzYWdlUiRvcHRpb25hbFB1YmxpY0ltcG9ydE1lc3NhZ2VFeHRlbnNpb246rAEKH29wdGlvbmFsX2xhenlfbWVzc2FnZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYGyABKAsyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VCAigBUhxvcHRpb25hbExhenlNZXNzYWdlRXh0ZW5zaW9uOmUKGHJlcGVhdGVkX2ludDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgfIAMoBVIWcmVwZWF0ZWRJbnQzMkV4dGVuc2lvbjplChhyZXBlYXRlZF9pbnQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYICADKANSFnJlcGVhdGVkSW50NjRFeHRlbnNpb246ZwoZcmVwZWF0ZWRfdWludDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxghIAMoDVIXcmVwZWF0ZWRVaW50MzJFeHRlbnNpb246ZwoZcmVwZWF0ZWRfdWludDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgiIAMoBFIXcmVwZWF0ZWRVaW50NjRFeHRlbnNpb246ZwoZcmVwZWF0ZWRfc2ludDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgjIAMoEVIXcmVwZWF0ZWRTaW50MzJFeHRlbnNpb246ZwoZcmVwZWF0ZWRfc2ludDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgkIAMoElIXcmVwZWF0ZWRTaW50NjRFeHRlbnNpb246aQoacmVwZWF0ZWRfZml4ZWQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYJSADKAdSGHJlcGVhdGVkRml4ZWQzMkV4dGVuc2lvbjppChpyZXBlYXRlZF9maXhlZDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgmIAMoBlIYcmVwZWF0ZWRGaXhlZDY0RXh0ZW5zaW9uOmsKG3JlcGVhdGVkX3NmaXhlZDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgnIAMoD1IZcmVwZWF0ZWRTZml4ZWQzMkV4dGVuc2lvbjprChtyZXBlYXRlZF9zZml4ZWQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYKCADKBBSGXJlcGVhdGVkU2ZpeGVkNjRFeHRlbnNpb246ZQoYcmVwZWF0ZWRfZmxvYXRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGCkgAygCUhZyZXBlYXRlZEZsb2F0RXh0ZW5zaW9uOmcKGXJlcGVhdGVkX2RvdWJsZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYKiADKAFSF3JlcGVhdGVkRG91YmxlRXh0ZW5zaW9uOmMKF3JlcGVhdGVkX2Jvb2xfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGCsgAygIUhVyZXBlYXRlZEJvb2xFeHRlbnNpb246ZwoZcmVwZWF0ZWRfc3RyaW5nX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgsIAMoCVIXcmVwZWF0ZWRTdHJpbmdFeHRlbnNpb246ZQoYcmVwZWF0ZWRfYnl0ZXNfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGC0gAygMUhZyZXBlYXRlZEJ5dGVzRXh0ZW5zaW9uOpcBChdyZXBlYXRlZGdyb3VwX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxguIAMoCjIxLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5SZXBlYXRlZEdyb3VwX2V4dGVuc2lvblIWcmVwZWF0ZWRncm91cEV4dGVuc2lvbjqsAQohcmVwZWF0ZWRfbmVzdGVkX21lc3NhZ2VfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGDAgAygLMjQucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRNZXNzYWdlUh5yZXBlYXRlZE5lc3RlZE1lc3NhZ2VFeHRlbnNpb246ogEKInJlcGVhdGVkX2ZvcmVpZ25fbWVzc2FnZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYMSADKAsyKC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbk1lc3NhZ2VSH3JlcGVhdGVkRm9yZWlnbk1lc3NhZ2VFeHRlbnNpb246pgEKIXJlcGVhdGVkX2ltcG9ydF9tZXNzYWdlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgyIAMoCzIuLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIuSW1wb3J0TWVzc2FnZVIecmVwZWF0ZWRJbXBvcnRNZXNzYWdlRXh0ZW5zaW9uOqMBCh5yZXBlYXRlZF9uZXN0ZWRfZW51bV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYMyADKA4yMS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZEVudW1SG3JlcGVhdGVkTmVzdGVkRW51bUV4dGVuc2lvbjqZAQofcmVwZWF0ZWRfZm9yZWlnbl9lbnVtX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxg0IAMoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bVIccmVwZWF0ZWRGb3JlaWduRW51bUV4dGVuc2lvbjqdAQoecmVwZWF0ZWRfaW1wb3J0X2VudW1fZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGDUgAygOMisucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0X3Byb3RvMi5JbXBvcnRFbnVtUhtyZXBlYXRlZEltcG9ydEVudW1FeHRlbnNpb246dgofcmVwZWF0ZWRfc3RyaW5nX3BpZWNlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxg2IAMoCUICCAJSHHJlcGVhdGVkU3RyaW5nUGllY2VFeHRlbnNpb246YwoXcmVwZWF0ZWRfY29yZF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYNyADKAlSFXJlcGVhdGVkQ29yZEV4dGVuc2lvbjqsAQofcmVwZWF0ZWRfbGF6eV9tZXNzYWdlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxg5IAMoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZUICKAFSHHJlcGVhdGVkTGF6eU1lc3NhZ2VFeHRlbnNpb246ZwoXZGVmYXVsdF9pbnQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYPSABKAU6AjQxUhVkZWZhdWx0SW50MzJFeHRlbnNpb246ZwoXZGVmYXVsdF9pbnQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYPiABKAM6AjQyUhVkZWZhdWx0SW50NjRFeHRlbnNpb246aQoYZGVmYXVsdF91aW50MzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGD8gASgNOgI0M1IWZGVmYXVsdFVpbnQzMkV4dGVuc2lvbjppChhkZWZhdWx0X3VpbnQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYQCABKAQ6AjQ0UhZkZWZhdWx0VWludDY0RXh0ZW5zaW9uOmoKGGRlZmF1bHRfc2ludDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhBIAEoEToDLTQ1UhZkZWZhdWx0U2ludDMyRXh0ZW5zaW9uOmkKGGRlZmF1bHRfc2ludDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhCIAEoEjoCNDZSFmRlZmF1bHRTaW50NjRFeHRlbnNpb246awoZZGVmYXVsdF9maXhlZDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhDIAEoBzoCNDdSF2RlZmF1bHRGaXhlZDMyRXh0ZW5zaW9uOmsKGWRlZmF1bHRfZml4ZWQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYRCABKAY6AjQ4UhdkZWZhdWx0Rml4ZWQ2NEV4dGVuc2lvbjptChpkZWZhdWx0X3NmaXhlZDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhFIAEoDzoCNDlSGGRlZmF1bHRTZml4ZWQzMkV4dGVuc2lvbjpuChpkZWZhdWx0X3NmaXhlZDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhGIAEoEDoDLTUwUhhkZWZhdWx0U2ZpeGVkNjRFeHRlbnNpb246aQoXZGVmYXVsdF9mbG9hdF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYRyABKAI6BDUxLjVSFWRlZmF1bHRGbG9hdEV4dGVuc2lvbjpsChhkZWZhdWx0X2RvdWJsZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYSCABKAE6BTUyMDAwUhZkZWZhdWx0RG91YmxlRXh0ZW5zaW9uOmcKFmRlZmF1bHRfYm9vbF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYSSABKAg6BHRydWVSFGRlZmF1bHRCb29sRXh0ZW5zaW9uOmwKGGRlZmF1bHRfc3RyaW5nX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhKIAEoCToFaGVsbG9SFmRlZmF1bHRTdHJpbmdFeHRlbnNpb246agoXZGVmYXVsdF9ieXRlc19leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYSyABKAw6BXdvcmxkUhVkZWZhdWx0Qnl0ZXNFeHRlbnNpb246pgEKHWRlZmF1bHRfbmVzdGVkX2VudW1fZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGFEgASgOMjEucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRFbnVtOgNCQVJSGmRlZmF1bHROZXN0ZWRFbnVtRXh0ZW5zaW9uOqQBCh5kZWZhdWx0X2ZvcmVpZ25fZW51bV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYUiABKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW06C0ZPUkVJR05fQkFSUhtkZWZhdWx0Rm9yZWlnbkVudW1FeHRlbnNpb246pwEKHWRlZmF1bHRfaW1wb3J0X2VudW1fZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGFMgASgOMisucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0X3Byb3RvMi5JbXBvcnRFbnVtOgpJTVBPUlRfQkFSUhpkZWZhdWx0SW1wb3J0RW51bUV4dGVuc2lvbjp5Ch5kZWZhdWx0X3N0cmluZ19waWVjZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYVCABKAk6A2FiY0ICCAJSG2RlZmF1bHRTdHJpbmdQaWVjZUV4dGVuc2lvbjpmChZkZWZhdWx0X2NvcmRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGFUgASgJOgMxMjNSFGRlZmF1bHRDb3JkRXh0ZW5zaW9uOmEKFm9uZW9mX3VpbnQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYbyABKA1SFG9uZW9mVWludDMyRXh0ZW5zaW9uOqYBCh5vbmVvZl9uZXN0ZWRfbWVzc2FnZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYcCABKAsyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VSG29uZW9mTmVzdGVkTWVzc2FnZUV4dGVuc2lvbjphChZvbmVvZl9zdHJpbmdfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGHEgASgJUhRvbmVvZlN0cmluZ0V4dGVuc2lvbjpfChVvbmVvZl9ieXRlc19leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYciABKAxSE29uZW9mQnl0ZXNFeHRlbnNpb246XAoTbXlfZXh0ZW5zaW9uX3N0cmluZxIsLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RmllbGRPcmRlcmluZ3MYMiABKAlSEW15RXh0ZW5zaW9uU3RyaW5nOlYKEG15X2V4dGVuc2lvbl9pbnQSLC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEZpZWxkT3JkZXJpbmdzGAUgASgFUg5teUV4dGVuc2lvbkludDpoChZwYWNrZWRfaW50MzJfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGFogAygFQgIQAVIUcGFja2VkSW50MzJFeHRlbnNpb246aAoWcGFja2VkX2ludDY0X2V4dGVuc2lvbhIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFja2VkRXh0ZW5zaW9ucxhbIAMoA0ICEAFSFHBhY2tlZEludDY0RXh0ZW5zaW9uOmoKF3BhY2tlZF91aW50MzJfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGFwgAygNQgIQAVIVcGFja2VkVWludDMyRXh0ZW5zaW9uOmoKF3BhY2tlZF91aW50NjRfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGF0gAygEQgIQAVIVcGFja2VkVWludDY0RXh0ZW5zaW9uOmoKF3BhY2tlZF9zaW50MzJfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGF4gAygRQgIQAVIVcGFja2VkU2ludDMyRXh0ZW5zaW9uOmoKF3BhY2tlZF9zaW50NjRfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGF8gAygSQgIQAVIVcGFja2VkU2ludDY0RXh0ZW5zaW9uOmwKGHBhY2tlZF9maXhlZDMyX2V4dGVuc2lvbhIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFja2VkRXh0ZW5zaW9ucxhgIAMoB0ICEAFSFnBhY2tlZEZpeGVkMzJFeHRlbnNpb246bAoYcGFja2VkX2ZpeGVkNjRfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGGEgAygGQgIQAVIWcGFja2VkRml4ZWQ2NEV4dGVuc2lvbjpuChlwYWNrZWRfc2ZpeGVkMzJfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGGIgAygPQgIQAVIXcGFja2VkU2ZpeGVkMzJFeHRlbnNpb246bgoZcGFja2VkX3NmaXhlZDY0X2V4dGVuc2lvbhIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFja2VkRXh0ZW5zaW9ucxhjIAMoEEICEAFSF3BhY2tlZFNmaXhlZDY0RXh0ZW5zaW9uOmgKFnBhY2tlZF9mbG9hdF9leHRlbnNpb24SLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhY2tlZEV4dGVuc2lvbnMYZCADKAJCAhABUhRwYWNrZWRGbG9hdEV4dGVuc2lvbjpqChdwYWNrZWRfZG91YmxlX2V4dGVuc2lvbhIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFja2VkRXh0ZW5zaW9ucxhlIAMoAUICEAFSFXBhY2tlZERvdWJsZUV4dGVuc2lvbjpmChVwYWNrZWRfYm9vbF9leHRlbnNpb24SLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhY2tlZEV4dGVuc2lvbnMYZiADKAhCAhABUhNwYWNrZWRCb29sRXh0ZW5zaW9uOo0BChVwYWNrZWRfZW51bV9leHRlbnNpb24SLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhY2tlZEV4dGVuc2lvbnMYZyADKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW1CAhABUhNwYWNrZWRFbnVtRXh0ZW5zaW9uOm4KGHVucGFja2VkX2ludDMyX2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGFogAygFQgIQAFIWdW5wYWNrZWRJbnQzMkV4dGVuc2lvbjpuChh1bnBhY2tlZF9pbnQ2NF9leHRlbnNpb24SMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFVucGFja2VkRXh0ZW5zaW9ucxhbIAMoA0ICEABSFnVucGFja2VkSW50NjRFeHRlbnNpb246cAoZdW5wYWNrZWRfdWludDMyX2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGFwgAygNQgIQAFIXdW5wYWNrZWRVaW50MzJFeHRlbnNpb246cAoZdW5wYWNrZWRfdWludDY0X2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGF0gAygEQgIQAFIXdW5wYWNrZWRVaW50NjRFeHRlbnNpb246cAoZdW5wYWNrZWRfc2ludDMyX2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGF4gAygRQgIQAFIXdW5wYWNrZWRTaW50MzJFeHRlbnNpb246cAoZdW5wYWNrZWRfc2ludDY0X2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGF8gAygSQgIQAFIXdW5wYWNrZWRTaW50NjRFeHRlbnNpb246cgoadW5wYWNrZWRfZml4ZWQzMl9leHRlbnNpb24SMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFVucGFja2VkRXh0ZW5zaW9ucxhgIAMoB0ICEABSGHVucGFja2VkRml4ZWQzMkV4dGVuc2lvbjpyChp1bnBhY2tlZF9maXhlZDY0X2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGGEgAygGQgIQAFIYdW5wYWNrZWRGaXhlZDY0RXh0ZW5zaW9uOnQKG3VucGFja2VkX3NmaXhlZDMyX2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGGIgAygPQgIQAFIZdW5wYWNrZWRTZml4ZWQzMkV4dGVuc2lvbjp0Cht1bnBhY2tlZF9zZml4ZWQ2NF9leHRlbnNpb24SMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFVucGFja2VkRXh0ZW5zaW9ucxhjIAMoEEICEABSGXVucGFja2VkU2ZpeGVkNjRFeHRlbnNpb246bgoYdW5wYWNrZWRfZmxvYXRfZXh0ZW5zaW9uEjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RVbnBhY2tlZEV4dGVuc2lvbnMYZCADKAJCAhAAUhZ1bnBhY2tlZEZsb2F0RXh0ZW5zaW9uOnAKGXVucGFja2VkX2RvdWJsZV9leHRlbnNpb24SMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFVucGFja2VkRXh0ZW5zaW9ucxhlIAMoAUICEABSF3VucGFja2VkRG91YmxlRXh0ZW5zaW9uOmwKF3VucGFja2VkX2Jvb2xfZXh0ZW5zaW9uEjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RVbnBhY2tlZEV4dGVuc2lvbnMYZiADKAhCAhAAUhV1bnBhY2tlZEJvb2xFeHRlbnNpb246kwEKF3VucGFja2VkX2VudW1fZXh0ZW5zaW9uEjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RVbnBhY2tlZEV4dGVuc2lvbnMYZyADKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW1CAhAAUhV1bnBhY2tlZEVudW1FeHRlbnNpb246gAEKDnRlc3RfYWxsX3R5cGVzEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RIdWdlRmllbGROdW1iZXJzGOCq//8BIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSDHRlc3RBbGxUeXBlczqEAQoldGVzdF9leHRlbnNpb25faW5zaWRlX3RhYmxlX2V4dGVuc2lvbhIyLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RXh0ZW5zaW9uSW5zaWRlVGFibGUYBSABKAVSIXRlc3RFeHRlbnNpb25JbnNpZGVUYWJsZUV4dGVuc2lvbkIySAGAAQGIAQGQAQH4AQGqAiFHb29nbGUuUHJvdG9idWYuVGVzdFByb3Rvcy5Qcm90bzJKyawDCgcSBQ8AxggBCuoDCgEMEgMPABIyiQIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKMtMBIEF1dGhvcjoga2VudG9uQGdvb2dsZS5jb20gKEtlbnRvbiBWYXJkYSkKICBCYXNlZCBvbiBvcmlnaW5hbCBQcm90b2NvbCBCdWZmZXJzIGRlc2lnbiBieQogIFNhbmpheSBHaGVtYXdhdCwgSmVmZiBEZWFuLCBhbmQgb3RoZXJzLgoKIEEgcHJvdG8gZmlsZSB3ZSB3aWxsIHVzZSBmb3IgdW5pdCB0ZXN0aW5nLgoKIExJTlQ6IEFMTE9XX0dST1VQUywgTEVHQUNZX05BTUVTCgoICgEIEgMTACIKgAEKAggQEgMTACIaZyBTb21lIGdlbmVyaWNfc2VydmljZXMgb3B0aW9uKHMpIGFkZGVkIGF1dG9tYXRpY2FsbHkuCiBTZWU6ICBodHRwOi8vZ28vcHJvdG8yLWdlbmVyaWMtc2VydmljZXMtZGVmYXVsdAoiDCBhdXRvLWFkZGVkCgoICgEIEgMUACQKFwoCCBESAxQAJCIMIGF1dG8tYWRkZWQKCggKAQgSAxUAIgoXCgIIEhIDFQAiIgwgYXV0by1hZGRlZAoKCAoBCBIDFgAfCgkKAggfEgMWAB8KCQoCAwASAxgALQrmAQoBAhIDHQAhGtsBIFdlIGRvbid0IHB1dCB0aGlzIGluIGEgcGFja2FnZSB3aXRoaW4gcHJvdG8yIGJlY2F1c2Ugd2UgbmVlZCB0byBtYWtlIHN1cmUKIHRoYXQgdGhlIGdlbmVyYXRlZCBjb2RlIGRvZXNuJ3QgZGVwZW5kIG9uIGJlaW5nIGluIHRoZSBwcm90bzIgbmFtZXNwYWNlLgogSW4gdGVzdF91dGlsLmggd2UgZG8gInVzaW5nIG5hbWVzcGFjZSB1bml0dGVzdCA9IHByb3RvYnVmX3VuaXR0ZXN0Ii4KCggKAQgSAyIAHAriAQoCCAkSAyIAHBrWASBQcm90b3Mgb3B0aW1pemVkIGZvciBTUEVFRCB1c2UgYSBzdHJpY3Qgc3VwZXJzZXQgb2YgdGhlIGdlbmVyYXRlZCBjb2RlCiBvZiBlcXVpdmFsZW50IG9uZXMgb3B0aW1pemVkIGZvciBDT0RFX1NJWkUsIHNvIHdlIHNob3VsZCBvcHRpbWl6ZSBhbGwgb3VyCiB0ZXN0cyBmb3Igc3BlZWQgdW5sZXNzIGV4cGxpY2l0bHkgdGVzdGluZyBjb2RlIHNpemUgb3B0aW1pemF0aW9uLgoKCAoBCBIDJAA+CgkKAgglEgMkAD4KXAoCBAASBSgAogEBGk8gVGhp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U0UgZmlsZSBvciBhdAogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCgoICgECEgMJABgKCAoBCBIDCwA3CgkKAgglEgMLADcKxAEKAgMAEgMRACoyuAEgVGhpcyBmaWxlIGlzIHVzZWQgYXMgcGFydCBvZiBhIHVuaXQgdGVzdCBmb3IgaXNzdWUgNjkzNgogV2UgZG9uJ3QgbmVlZCB0byB1c2UgaXQsIHdlIGp1c3QgaGF2ZSB0byBpbXBvcnQgaXQgaW4gYm90aAogImV4dGVuc2lvbnNfaXNzdWU2OTM2X2IucHJvdG8iIGFuZCAiZXh0ZW5zaW9uc19pc3N1ZTY5MzZfYy5wcm90byIKCgkKAQcSBBMAFQEKCQoCBwASAxQCFQoKCgMHAAISAxMHJQoKCgMHAAUSAxQCCAoKCgMHAAESAxQJDAoKCgMHAAMSAxQPFGIGcHJvdG8zCq0FCihjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2lzc3VlNjkzNl9iLnByb3RvEg91bml0dGVzdF9pc3N1ZXMaKGNzaGFycC9wcm90b3MvdW5pdHRlc3RfaXNzdWU2OTM2X2EucHJvdG8iDgoDRm9vOgeCtRgDZm9vQh2qAhpVbml0VGVzdC5Jc3N1ZXMuVGVzdFByb3Rvc0qOBAoGEgQHABUBCpQCCgEMEgMHABIyiQIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKCggKAQISAwkAGAoJCgIDABIDCwAyCggKAQgSAw0ANwoJCgIIJRIDDQA3CpsBCgIEABIEEwAVATKOASBUaGlzIGZpbGUgaXMgdXNlZCBhcyBwYXJ0IG9mIGEgdW5pdCB0ZXN0IGZvciBpc3N1ZSA2OTM2CiBXZSBkb24ndCBuZWVkIHRvIHVzZSBpdCwgd2UganVzdCBoYXZlIHRvIGltcG9ydCBpdCBpbgogInVuaXR0ZXN0X2lzc3VlNjkzNl9jLnByb3RvIgoKCgoDBAABEgMTCAsKCgoDBAAHEgMUAhcKDQoGBAAH0IYDEgMUAhdiBnByb3RvMwqoBgooY3NoYXJwL3Byb3Rvcy91bml0dGVzdF9pc3N1ZTY5MzZfYy5wcm90bxIPdW5pdHRlc3RfaXNzdWVzGihjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2lzc3VlNjkzNl9hLnByb3RvGihjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2lzc3VlNjkzNl9iLnByb3RvIjYKA0JhchImCgNmb28YASABKAsyFC51bml0dGVzdF9pc3N1ZXMuRm9vUgNmb286B4K1GANiYXJCHaoCGlVuaXRUZXN0Lklzc3Vlcy5UZXN0UHJvdG9zSrcECgYSBAcAFwEKlAIKAQwSAwcAEjKJAiBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlCiBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgb3IgYXQKIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL29wZW4tc291cmNlL2xpY2Vuc2VzL2JzZAoKCAoBAhIDCQAYCgkKAgMAEgMLADIKCQoCAwESAwwAMgoICgEIEgMOADcKCQoCCCUSAw4ANwqCAQoCBAASBBMAFwEydiBUaGlzIGZpbGUgaXMgdXNlZCBhcyBwYXJ0IG9mIGEgdW5pdCB0ZXN0IGZvciBpc3N1ZSA2OTM2CiBXZSBkb24ndCBuZWVkIHRvIHVzZSBpdCwgd2UganVzdCBoYXZlIHRvIGxvYWQgaXQgYXQgcnVudGltZQoKCgoDBAABEgMTCAsKCgoDBAAHEgMUAhcKDQoGBAAH0IYDEgMUAhcKCwoEBAACABIDFgIOCgwKBQQAAgAGEgMWAgUKDAoFBAACAAESAxYGCQoMCgUEAAIAAxIDFgwNYgZwcm90bzMKuw4KNGNzaGFycC9wcm90b3MvdW5pdHRlc3Rfc2VsZnJlZmVyZW50aWFsX29wdGlvbnMucHJvdG8SKXByb3RvYnVmX3VuaXR0ZXN0X3NlbGZyZWZlcmVudGlhbF9vcHRpb25zGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90byJZCgpGb29PcHRpb25zEiYKB2ludF9vcHQYASABKAVCDco+CggBwD4Cyj4CCANSBmludE9wdBIYCgNmb28YAiABKAVCBso+AxDSCVIDZm9vKgkI6AcQgICAgAI6RQoLYmFyX29wdGlvbnMSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGOgHIAEoBUIEwD7SCVIKYmFyT3B0aW9uczp2Cgtmb29fb3B0aW9ucxIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMY6QcgASgLMjUucHJvdG9idWZfdW5pdHRlc3Rfc2VsZnJlZmVyZW50aWFsX29wdGlvbnMuRm9vT3B0aW9uc1IKZm9vT3B0aW9uczpWCgtmb29faW50X29wdBI1LnByb3RvYnVmX3VuaXR0ZXN0X3NlbGZyZWZlcmVudGlhbF9vcHRpb25zLkZvb09wdGlvbnMY6AcgASgFUglmb29JbnRPcHQ6jQEKC2Zvb19mb29fb3B0EjUucHJvdG9idWZfdW5pdHRlc3Rfc2VsZnJlZmVyZW50aWFsX29wdGlvbnMuRm9vT3B0aW9ucxjpByABKAsyNS5wcm90b2J1Zl91bml0dGVzdF9zZWxmcmVmZXJlbnRpYWxfb3B0aW9ucy5Gb29PcHRpb25zUglmb29Gb29PcHRCNKoCMVVuaXRUZXN0Lklzc3Vlcy5UZXN0UHJvdG9zLlNlbGZyZWZlcmVudGlhbE9wdGlvbnNK/QgKBhIEBwAnAQqUAgoBDBIDBwASMokCIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBvciBhdAogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCgoICgECEgMJADIKCQoCAwASAwsAKgoICgEIEgMNAE4KCQoCCCUSAw0ATgoKCgIEABIEDwAbAQoKCgMEAAESAw8IEgpQCgQEAAIAEgQRAhUFGkIgQ3VzdG9tIGZpZWxkIG9wdGlvbiB1c2VkIGluIGRlZmluaXRpb24gb2YgdGhlIGV4dGVuc2lvbiBtZXNzYWdlLgoKDAoFBAACAAQSAxECCgoMCgUEAAIABRIDEQsQCgwKBQQAAgABEgMRERgKDAoFBAACAAMSAxEbHAoNCgUEAAIACBIEER0VBAoPCgcEAAIACOkHEgQRHhUDClUKBAQAAgESAxgCORpIIEN1c3RvbSBmaWVsZCBvcHRpb24gdXNlZCBpbiBkZWZpbml0aW9uIG9mIHRoZSBjdXN0b20gb3B0aW9uJ3MgbWVzc2FnZS4KCgwKBQQAAgEEEgMYAgoKDAoFBAACAQUSAxgLEAoMCgUEAAIBARIDGBEUCgwKBQQAAgEDEgMYFxgKDAoFBAACAQgSAxgZOAoOCgcEAAIBCOkHEgMYGjcKCgoDBAAFEgMaAhkKCwoEBAAFABIDGg0YCgwKBQQABQABEgMaDREKDAoFBAAFAAISAxoVGAoJCgEHEgQdACIBCk0KAgcAEgMfAjsaQiBDdXN0b20gZmllbGQgb3B0aW9uIHVzZWQgb24gdGhlIGRlZmluaXRpb24gb2YgdGhhdCBmaWVsZCBvcHRpb24uCgoKCgMHAAISAx0HIwoKCgMHAAQSAx8CCgoKCgMHAAUSAx8LEAoKCgMHAAESAx8RHAoKCgMHAAMSAx8fIwoKCgMHAAgSAx8kOgoMCgUHAAjoBxIDHyU5CgkKAgcBEgMhAikKCgoDBwECEgMdByMKCgoDBwEEEgMhAgoKCgoDBwEGEgMhCxUKCgoDBwEBEgMhFiEKCgoDBwEDEgMhJCgKCQoBBxIEJAAnAQoJCgIHAhIDJQIkCgoKAwcCAhIDJAcRCgoKAwcCBBIDJQIKCgoKAwcCBRIDJQsQCgoKAwcCARIDJREcCgoKAwcCAxIDJR8jCgkKAgcDEgMmAikKCgoDBwMCEgMkBxEKCgoDBwMEEgMmAgoKCgoDBwMGEgMmCxUKCgoDBwMBEgMmFiEKCgoDBwMDEgMmJCgKxC4KGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI2CgNBbnkSGQoIdHlwZV91cmwYASABKAlSB3R5cGVVcmwSFAoFdmFsdWUYAiABKAxSBXZhbHVlQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSt0sCgcSBR4AoQEBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgBDCgkKAggLEgMiAEMKCAoBCBIDIwAsCgkKAggBEgMjACwKCAoBCBIDJAApCgkKAggIEgMkACkKCAoBCBIDJQAiCgkKAggKEgMlACIKCAoBCBIDJgAhCgkKAggkEgMmACEKCAoBCBIDJwA7CgkKAgglEgMnADsK/BEKAgQAEgV/AKEBARruESBgQW55YCBjb250YWlucyBhbiBhcmJpdHJhcnkgc2VyaWFsaXplZCBwcm90b2NvbCBidWZmZXIgbWVzc2FnZSBhbG9uZyB3aXRoIGEKIFVSTCB0aGF0IGRlc2NyaWJlcyB0aGUgdHlwZSBvZiB0aGUgc2VyaWFsaXplZCBtZXNzYWdlLgoKIFByb3RvYnVmIGxpYnJhcnkgcHJvdmlkZXMgc3VwcG9ydCB0byBwYWNrL3VucGFjayBBbnkgdmFsdWVzIGluIHRoZSBmb3JtCiBvZiB1dGlsaXR5IGZ1bmN0aW9ucyBvciBhZGRpdGlvbmFsIGdlbmVyYXRlZCBtZXRob2RzIG9mIHRoZSBBbnkgdHlwZS4KCiBFeGFtcGxlIDE6IFBhY2sgYW5kIHVucGFjayBhIG1lc3NhZ2UgaW4gQysrLgoKICAgICBGb28gZm9vID0gLi4uOwogICAgIEFueSBhbnk7CiAgICAgYW55LlBhY2tGcm9tKGZvbyk7CiAgICAgLi4uCiAgICAgaWYgKGFueS5VbnBhY2tUbygmZm9vKSkgewogICAgICAgLi4uCiAgICAgfQoKIEV4YW1wbGUgMjogUGFjayBhbmQgdW5wYWNrIGEgbWVzc2FnZSBpbiBKYXZhLgoKICAgICBGb28gZm9vID0gLi4uOwogICAgIEFueSBhbnkgPSBBbnkucGFjayhmb28pOwogICAgIC4uLgogICAgIGlmIChhbnkuaXMoRm9vLmNsYXNzKSkgewogICAgICAgZm9vID0gYW55LnVucGFjayhGb28uY2xhc3MpOwogICAgIH0KICAgICAvLyBvciAuLi4KICAgICBpZiAoYW55LmlzU2FtZVR5cGVBcyhGb28uZ2V0RGVmYXVsdEluc3RhbmNlKCkpKSB7CiAgICAgICBmb28gPSBhbnkudW5wYWNrKEZvby5nZXREZWZhdWx0SW5zdGFuY2UoKSk7CiAgICAgfQoKICBFeGFtcGxlIDM6IFBhY2sgYW5kIHVucGFjayBhIG1lc3NhZ2UgaW4gUHl0aG9uLgoKICAgICBmb28gPSBGb28oLi4uKQogICAgIGFueSA9IEFueSgpCiAgICAgYW55LlBhY2soZm9vKQogICAgIC4uLgogICAgIGlmIGFueS5JcyhGb28uREVTQ1JJUFRPUik6CiAgICAgICBhbnkuVW5wYWNrKGZvbykKICAgICAgIC4uLgoKICBFeGFtcGxlIDQ6IFBhY2sgYW5kIHVucGFjayBhIG1lc3NhZ2UgaW4gR28KCiAgICAgIGZvbyA6PSAmcGIuRm9vey4uLn0KICAgICAgYW55LCBlcnIgOj0gYW55cGIuTmV3KGZvbykKICAgICAgaWYgZXJyICE9IG5pbCB7CiAgICAgICAgLi4uCiAgICAgIH0KICAgICAgLi4uCiAgICAgIGZvbyA6PSAmcGIuRm9ve30KICAgICAgaWYgZXJyIDo9IGFueS5Vbm1hcnNoYWxUbyhmb28pOyBlcnIgIT0gbmlsIHsKICAgICAgICAuLi4KICAgICAgfQoKIFRoZSBwYWNrIG1ldGhvZHMgcHJvdmlkZWQgYnkgcHJvdG9idWYgbGlicmFyeSB3aWxsIGJ5IGRlZmF1bHQgdXNlCiAndHlwZS5nb29nbGVhcGlzLmNvbS9mdWxsLnR5cGUubmFtZScgYXMgdGhlIHR5cGUgVVJMIGFuZCB0aGUgdW5wYWNrCiBtZXRob2RzIG9ubHkgdXNlIHRoZSBmdWxseSBxdWFsaWZpZWQgdHlwZSBuYW1lIGFmdGVyIHRoZSBsYXN0ICcvJwogaW4gdGhlIHR5cGUgVVJMLCBmb3IgZXhhbXBsZSAiZm9vLmJhci5jb20veC95LnoiIHdpbGwgeWllbGQgdHlwZQogbmFtZSAieS56Ii4KCiBKU09OCiA9PT09CiBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBvZiBhbiBgQW55YCB2YWx1ZSB1c2VzIHRoZSByZWd1bGFyCiByZXByZXNlbnRhdGlvbiBvZiB0aGUgZGVzZXJpYWxpemVkLCBlbWJlZGRlZCBtZXNzYWdlLCB3aXRoIGFuCiBhZGRpdGlvbmFsIGZpZWxkIGBAdHlwZWAgd2hpY2ggY29udGFpbnMgdGhlIHR5cGUgVVJMLiBFeGFtcGxlOgoKICAgICBwYWNrYWdlIGdvb2dsZS5wcm9maWxlOwogICAgIG1lc3NhZ2UgUGVyc29uIHsKICAgICAgIHN0cmluZyBmaXJzdF9uYW1lID0gMTsKICAgICAgIHN0cmluZyBsYXN0X25hbWUgPSAyOwogICAgIH0KCiAgICAgewogICAgICAgIkB0eXBlIjogInR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLnByb2ZpbGUuUGVyc29uIiwKICAgICAgICJmaXJzdE5hbWUiOiA8c3RyaW5nPiwKICAgICAgICJsYXN0TmFtZSI6IDxzdHJpbmc+CiAgICAgfQoKIElmIHRoZSBlbWJlZGRlZCBtZXNzYWdlIHR5cGUgaXMgd2VsbC1rbm93biBhbmQgaGFzIGEgY3VzdG9tIEpTT04KIHJlcHJlc2VudGF0aW9uLCB0aGF0IHJlcHJlc2VudGF0aW9uIHdpbGwgYmUgZW1iZWRkZWQgYWRkaW5nIGEgZmllbGQKIGB2YWx1ZWAgd2hpY2ggaG9sZHMgdGhlIGN1c3RvbSBKU09OIGluIGFkZGl0aW9uIHRvIHRoZSBgQHR5cGVgCiBmaWVsZC4gRXhhbXBsZSAoZm9yIG1lc3NhZ2UgW2dvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbl1bXSk6CgogICAgIHsKICAgICAgICJAdHlwZSI6ICJ0eXBlLmdvb2dsZWFwaXMuY29tL2dvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbiIsCiAgICAgICAidmFsdWUiOiAiMS4yMTJzIgogICAgIH0KCgoKCgMEAAESA38ICwq8CwoEBAACABIEnQECFhqtCyBBIFVSTC9yZXNvdXJjZSBuYW1lIHRoYXQgdW5pcXVlbHkgaWRlbnRpZmllcyB0aGUgdHlwZSBvZiB0aGUgc2VyaWFsaXplZAogcHJvdG9jb2wgYnVmZmVyIG1lc3NhZ2UuIFRoaXMgc3RyaW5nIG11c3QgY29udGFpbiBhdCBsZWFzdAogb25lICIvIiBjaGFyYWN0ZXIuIFRoZSBsYXN0IHNlZ21lbnQgb2YgdGhlIFVSTCdzIHBhdGggbXVzdCByZXByZXNlbnQKIHRoZSBmdWxseSBxdWFsaWZpZWQgbmFtZSBvZiB0aGUgdHlwZSAoYXMgaW4KIGBwYXRoL2dvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbmApLiBUaGUgbmFtZSBzaG91bGQgYmUgaW4gYSBjYW5vbmljYWwgZm9ybQogKGUuZy4sIGxlYWRpbmcgIi4iIGlzIG5vdCBhY2NlcHRlZCkuCgogSW4gcHJhY3RpY2UsIHRlYW1zIHVzdWFsbHkgcHJlY29tcGlsZSBpbnRvIHRoZSBiaW5hcnkgYWxsIHR5cGVzIHRoYXQgdGhleQogZXhwZWN0IGl0IHRvIHVzZSBpbiB0aGUgY29udGV4dCBvZiBBbnkuIEhvd2V2ZXIsIGZvciBVUkxzIHdoaWNoIHVzZSB0aGUKIHNjaGVtZSBgaHR0cGAsIGBodHRwc2AsIG9yIG5vIHNjaGVtZSwgb25lIGNhbiBvcHRpb25hbGx5IHNldCB1cCBhIHR5cGUKIHNlcnZlciB0aGF0IG1hcHMgdHlwZSBVUkxzIHRvIG1lc3NhZ2UgZGVmaW5pdGlvbnMgYXMgZm9sbG93czoKCiAqIElmIG5vIHNjaGVtZSBpcyBwcm92aWRlZCwgYGh0dHBzYCBpcyBhc3N1bWVkLgogKiBBbiBIVFRQIEdFVCBvbiB0aGUgVVJMIG11c3QgeWllbGQgYSBbZ29vZ2xlLnByb3RvYnVmLlR5cGVdW10KICAgdmFsdWUgaW4gYmluYXJ5IGZvcm1hdCwgb3IgcHJvZHVjZSBhbiBlcnJvci4KICogQXBwbGljYXRpb25zIGFyZSBhbGxvd2VkIHRvIGNhY2hlIGxvb2t1cCByZXN1bHRzIGJhc2VkIG9uIHRoZQogICBVUkwsIG9yIGhhdmUgdGhlbSBwcmVjb21waWxlZCBpbnRvIGEgYmluYXJ5IHRvIGF2b2lkIGFueQogICBsb29rdXAuIFRoZXJlZm9yZSwgYmluYXJ5IGNvbXBhdGliaWxpdHkgbmVlZHMgdG8gYmUgcHJlc2VydmVkCiAgIG9uIGNoYW5nZXMgdG8gdHlwZXMuIChVc2UgdmVyc2lvbmVkIHR5cGUgbmFtZXMgdG8gbWFuYWdlCiAgIGJyZWFraW5nIGNoYW5nZXMuKQoKIE5vdGU6IHRoaXMgZnVuY3Rpb25hbGl0eSBpcyBub3QgY3VycmVudGx5IGF2YWlsYWJsZSBpbiB0aGUgb2ZmaWNpYWwKIHByb3RvYnVmIHJlbGVhc2UsIGFuZCBpdCBpcyBub3QgdXNlZCBmb3IgdHlwZSBVUkxzIGJlZ2lubmluZyB3aXRoCiB0eXBlLmdvb2dsZWFwaXMuY29tLiBBcyBvZiBNYXkgMjAyMywgdGhlcmUgYXJlIG5vIHdpZGVseSB1c2VkIHR5cGUgc2VydmVyCiBpbXBsZW1lbnRhdGlvbnMgYW5kIG5vIHBsYW5zIHRvIGltcGxlbWVudCBvbmUuCgogU2NoZW1lcyBvdGhlciB0aGFuIGBodHRwYCwgYGh0dHBzYCAob3IgdGhlIGVtcHR5IHNjaGVtZSkgbWlnaHQgYmUKIHVzZWQgd2l0aCBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYyBzZW1hbnRpY3MuCgoKDQoFBAACAAUSBJ0BAggKDQoFBAACAAESBJ0BCREKDQoFBAACAAMSBJ0BFBUKVwoEBAACARIEoAECEhpJIE11c3QgYmUgYSB2YWxpZCBzZXJpYWxpemVkIHByb3RvY29sIGJ1ZmZlciBvZiB0aGUgYWJvdmUgc3BlY2lmaWVkIHR5cGUuCgoNCgUEAAIBBRIEoAECBwoNCgUEAAIBARIEoAEIDQoNCgUEAAIBAxIEoAEQEWIGcHJvdG8zCr4SCiRnb29nbGUvcHJvdG9idWYvc291cmNlX2NvbnRleHQucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIsCg1Tb3VyY2VDb250ZXh0EhsKCWZpbGVfbmFtZRgBIAEoCVIIZmlsZU5hbWVCigEKE2NvbS5nb29nbGUucHJvdG9idWZCElNvdXJjZUNvbnRleHRQcm90b1ABWjZnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi9zb3VyY2Vjb250ZXh0cGKiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNKwRAKBhIEHgAvAQrMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIALAoJCgIIARIDIgAsCggKAQgSAyMAMwoJCgIICBIDIwAzCggKAQgSAyQAIgoJCgIIChIDJAAiCggKAQgSAyUAIQoJCgIIJBIDJQAhCggKAQgSAyYAOwoJCgIIJRIDJgA7CggKAQgSAycATQoJCgIICxIDJwBNCoMBCgIEABIEKwAvARp3IGBTb3VyY2VDb250ZXh0YCByZXByZXNlbnRzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzb3VyY2Ugb2YgYQogcHJvdG9idWYgZWxlbWVudCwgbGlrZSB0aGUgZmlsZSBpbiB3aGljaCBpdCBpcyBkZWZpbmVkLgoKCgoDBAABEgMrCBUKowEKBAQAAgASAy4CFxqVASBUaGUgcGF0aC1xdWFsaWZpZWQgbmFtZSBvZiB0aGUgLnByb3RvIGZpbGUgdGhhdCBjb250YWluZWQgdGhlIGFzc29jaWF0ZWQKIHByb3RvYnVmIGVsZW1lbnQuICBGb3IgZXhhbXBsZTogYCJnb29nbGUvcHJvdG9idWYvc291cmNlX2NvbnRleHQucHJvdG8iYC4KCgwKBQQAAgAFEgMuAggKDAoFBAACAAESAy4JEgoMCgUEAAIAAxIDLhUWYgZwcm90bzMK+0kKGmdvb2dsZS9wcm90b2J1Zi90eXBlLnByb3RvEg9nb29nbGUucHJvdG9idWYaGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8aJGdvb2dsZS9wcm90b2J1Zi9zb3VyY2VfY29udGV4dC5wcm90byKnAgoEVHlwZRISCgRuYW1lGAEgASgJUgRuYW1lEi4KBmZpZWxkcxgCIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5GaWVsZFIGZmllbGRzEhYKBm9uZW9mcxgDIAMoCVIGb25lb2ZzEjEKB29wdGlvbnMYBCADKAsyFy5nb29nbGUucHJvdG9idWYuT3B0aW9uUgdvcHRpb25zEkUKDnNvdXJjZV9jb250ZXh0GAUgASgLMh4uZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvbnRleHRSDXNvdXJjZUNvbnRleHQSLwoGc3ludGF4GAYgASgOMhcuZ29vZ2xlLnByb3RvYnVmLlN5bnRheFIGc3ludGF4EhgKB2VkaXRpb24YByABKAlSB2VkaXRpb24itAYKBUZpZWxkEi8KBGtpbmQYASABKA4yGy5nb29nbGUucHJvdG9idWYuRmllbGQuS2luZFIEa2luZBJECgtjYXJkaW5hbGl0eRgCIAEoDjIiLmdvb2dsZS5wcm90b2J1Zi5GaWVsZC5DYXJkaW5hbGl0eVILY2FyZGluYWxpdHkSFgoGbnVtYmVyGAMgASgFUgZudW1iZXISEgoEbmFtZRgEIAEoCVIEbmFtZRIZCgh0eXBlX3VybBgGIAEoCVIHdHlwZVVybBIfCgtvbmVvZl9pbmRleBgHIAEoBVIKb25lb2ZJbmRleBIWCgZwYWNrZWQYCCABKAhSBnBhY2tlZBIxCgdvcHRpb25zGAkgAygLMhcuZ29vZ2xlLnByb3RvYnVmLk9wdGlvblIHb3B0aW9ucxIbCglqc29uX25hbWUYCiABKAlSCGpzb25OYW1lEiMKDWRlZmF1bHRfdmFsdWUYCyABKAlSDGRlZmF1bHRWYWx1ZSLIAgoES2luZBIQCgxUWVBFX1VOS05PV04QABIPCgtUWVBFX0RPVUJMRRABEg4KClRZUEVfRkxPQVQQAhIOCgpUWVBFX0lOVDY0EAMSDwoLVFlQRV9VSU5UNjQQBBIOCgpUWVBFX0lOVDMyEAUSEAoMVFlQRV9GSVhFRDY0EAYSEAoMVFlQRV9GSVhFRDMyEAcSDQoJVFlQRV9CT09MEAgSDwoLVFlQRV9TVFJJTkcQCRIOCgpUWVBFX0dST1VQEAoSEAoMVFlQRV9NRVNTQUdFEAsSDgoKVFlQRV9CWVRFUxAMEg8KC1RZUEVfVUlOVDMyEA0SDQoJVFlQRV9FTlVNEA4SEQoNVFlQRV9TRklYRUQzMhAPEhEKDVRZUEVfU0ZJWEVENjQQEBIPCgtUWVBFX1NJTlQzMhAREg8KC1RZUEVfU0lOVDY0EBIidAoLQ2FyZGluYWxpdHkSFwoTQ0FSRElOQUxJVFlfVU5LTk9XThAAEhgKFENBUkRJTkFMSVRZX09QVElPTkFMEAESGAoUQ0FSRElOQUxJVFlfUkVRVUlSRUQQAhIYChRDQVJESU5BTElUWV9SRVBFQVRFRBADIpkCCgRFbnVtEhIKBG5hbWUYASABKAlSBG5hbWUSOAoJZW51bXZhbHVlGAIgAygLMhouZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZVIJZW51bXZhbHVlEjEKB29wdGlvbnMYAyADKAsyFy5nb29nbGUucHJvdG9idWYuT3B0aW9uUgdvcHRpb25zEkUKDnNvdXJjZV9jb250ZXh0GAQgASgLMh4uZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvbnRleHRSDXNvdXJjZUNvbnRleHQSLwoGc3ludGF4GAUgASgOMhcuZ29vZ2xlLnByb3RvYnVmLlN5bnRheFIGc3ludGF4EhgKB2VkaXRpb24YBiABKAlSB2VkaXRpb24iagoJRW51bVZhbHVlEhIKBG5hbWUYASABKAlSBG5hbWUSFgoGbnVtYmVyGAIgASgFUgZudW1iZXISMQoHb3B0aW9ucxgDIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5PcHRpb25SB29wdGlvbnMiSAoGT3B0aW9uEhIKBG5hbWUYASABKAlSBG5hbWUSKgoFdmFsdWUYAiABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgV2YWx1ZSpDCgZTeW50YXgSEQoNU1lOVEFYX1BST1RPMhAAEhEKDVNZTlRBWF9QUk9UTzMQARITCg9TWU5UQVhfRURJVElPTlMQAkJ7ChNjb20uZ29vZ2xlLnByb3RvYnVmQglUeXBlUHJvdG9QAVotZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vdHlwZXBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSo07CgcSBR4AwAEBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAog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X2NvbnRleHQucHJvdG8aGmdvb2dsZS9wcm90b2J1Zi90eXBlLnByb3RvIsECCgNBcGkSEgoEbmFtZRgBIAEoCVIEbmFtZRIxCgdtZXRob2RzGAIgAygLMhcuZ29vZ2xlLnByb3RvYnVmLk1ldGhvZFIHbWV0aG9kcxIxCgdvcHRpb25zGAMgAygLMhcuZ29vZ2xlLnByb3RvYnVmLk9wdGlvblIHb3B0aW9ucxIYCgd2ZXJzaW9uGAQgASgJUgd2ZXJzaW9uEkUKDnNvdXJjZV9jb250ZXh0GAUgASgLMh4uZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvbnRleHRSDXNvdXJjZUNvbnRleHQSLgoGbWl4aW5zGAYgAygLMhYuZ29vZ2xlLnByb3RvYnVmLk1peGluUgZtaXhpbnMSLwoGc3ludGF4GAcgASgOMhcuZ29vZ2xlLnByb3RvYnVmLlN5bnRheFIGc3ludGF4IrICCgZNZXRob2QSEgoEbmFtZRgBIAEoCVIEbmFtZRIoChByZXF1ZXN0X3R5cGVfdXJsGAIgASgJUg5yZXF1ZXN0VHlwZVVybBIrChFyZXF1ZXN0X3N0cmVhbWluZxgDIAEoCFIQcmVxdWVzdFN0cmVhbWluZxIqChFyZXNwb25zZV90eXBlX3VybBgEIAEoCVIPcmVzcG9uc2VUeXBlVXJsEi0KEnJlc3BvbnNlX3N0cmVhbWluZxgFIAEoCFIRcmVzcG9uc2VTdHJlYW1pbmcSMQoHb3B0aW9ucxgGIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5PcHRpb25SB29wdGlvbnMSLwoGc3ludGF4GAcgASgOMhcuZ29vZ2xlLnByb3RvYnVmLlN5bnRheFIGc3ludGF4Ii8KBU1peGluEhIKBG5hbWUYASABKAlSBG5hbWUSEgoEcm9vdBgCIAEoCVIEcm9vdEJ2ChNjb20uZ29vZ2xlLnByb3RvYnVmQghBcGlQcm90b1ABWixnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi9hcGlwYqICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc0r/OwoHEgUeAM4BAQrMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCgkKAgMAEgMiAC4KCQoCAwESAyMAJAoICgEIEgMlACwKCQoCCAESAyUALAoICgEIEgMmACkKCQoCCAgSAyYAKQoICgEIEgMnACIKCQoCCAoSAycAIgoICgEIEgMoACEKCQoCCCQSAygAIQoICgEIEgMpADsKCQoCCCUSAykAOwoICgEIEgMqAEMKCQoCCAsSAyoAQwqrBAoCBAASBDUAXwEangQgQXBpIGlzIGEgbGlnaHQtd2VpZ2h0IGRlc2NyaXB0b3IgZm9yIGFuIEFQSSBJbnRlcmZhY2UuCgogSW50ZXJmYWNlcyBhcmUgYWxzbyBkZXNjcmliZWQgYXMgInByb3RvY29sIGJ1ZmZlciBzZXJ2aWNlcyIgaW4gc29tZSBjb250ZXh0cywKIHN1Y2ggYXMgYnkgdGhlICJzZXJ2aWNlIiBrZXl3b3JkIGluIGEgLnByb3RvIGZpbGUsIGJ1dCB0aGV5IGFyZSBkaWZmZXJlbnQKIGZyb20gQVBJIFNlcnZpY2VzLCB3aGljaCByZXByZXNlbnQgYSBjb25jcmV0ZSBpbXBsZW1lbnRhdGlvbiBvZiBhbiBpbnRlcmZhY2UKIGFzIG9wcG9zZWQgdG8gc2ltcGx5IGEgZGVzY3JpcHRpb24gb2YgbWV0aG9kcyBhbmQgYmluZGluZ3MuIFRoZXkgYXJlIGFsc28KIHNvbWV0aW1lcyBzaW1wbHkgcmVmZXJyZWQgdG8gYXMgIkFQSXMiIGluIG90aGVyIGNvbnRleHRzLCBzdWNoIGFzIHRoZSBuYW1lIG9mCiB0aGlzIG1lc3NhZ2UgaXRzZWxmLiBTZWUgaHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL2FwaXMvZGVzaWduL2dsb3NzYXJ5IGZvcgogZGV0YWlsZWQgdGVybWlub2xvZ3kuCgoKCgMEAAESAzUICwp7CgQEAAIAEgM4AhIabiBUaGUgZnVsbHkgcXVhbGlmaWVkIG5hbWUgb2YgdGhpcyBpbnRlcmZhY2UsIGluY2x1ZGluZyBwYWNrYWdlIG5hbWUKIGZvbGxvd2VkIGJ5IHRoZSBpbnRlcmZhY2UncyBzaW1wbGUgbmFtZS4KCgwKBQQAAgAFEgM4AggKDAoFBAACAAESAzgJDQoMCgUEAAIAAxIDOBARCkMKBAQAAgESAzsCHho2IFRoZSBtZXRob2RzIG9mIHRoaXMgaW50ZXJmYWNlLCBpbiB1bnNwZWNpZmllZCBvcmRlci4KCgwKBQQAAgEEEgM7AgoKDAoFBAACAQYSAzsLEQoMCgUEAAIBARIDOxIZCgwKBQQAAgEDEgM7HB0KNgoEBAACAhIDPgIeGikgQW55IG1ldGFkYXRhIGF0dGFjaGVkIHRvIHRoZSBpbnRlcmZhY2UuCgoMCgUEAAICBBIDPgIKCgwKBQQAAgIGEgM+CxEKDAoFBAACAgESAz4SGQoMCgUEAAICAxIDPhwdCoEICgQEAAIDEgNUAhUa8wcgQSB2ZXJzaW9uIHN0cmluZyBmb3IgdGhpcyBpbnRlcmZhY2UuIElmIHNwZWNpZmllZCwgbXVzdCBoYXZlIHRoZSBmb3JtCiBgbWFqb3ItdmVyc2lvbi5taW5vci12ZXJzaW9uYCwgYXMgaW4gYDEuMTBgLiBJZiB0aGUgbWlub3IgdmVyc2lvbiBpcwogb21pdHRlZCwgaXQgZGVmYXVsdHMgdG8gemVyby4gSWYgdGhlIGVudGlyZSB2ZXJzaW9uIGZpZWxkIGlzIGVtcHR5LCB0aGUKIG1ham9yIHZlcnNpb24gaXMgZGVyaXZlZCBmcm9tIHRoZSBwYWNrYWdlIG5hbWUsIGFzIG91dGxpbmVkIGJlbG93LiBJZiB0aGUKIGZpZWxkIGlzIG5vdCBlbXB0eSwgdGhlIHZlcnNpb24gaW4gdGhlIHBhY2thZ2UgbmFtZSB3aWxsIGJlIHZlcmlmaWVkIHRvIGJlCiBjb25zaXN0ZW50IHdpdGggd2hhdCBpcyBwcm92aWRlZCBoZXJlLgoKIFRoZSB2ZXJzaW9uaW5nIHNjaGVtYSB1c2VzIFtzZW1hbnRpYwogdmVyc2lvbmluZ10oaHR0cDovL3NlbXZlci5vcmcpIHdoZXJlIHRoZSBtYWpvciB2ZXJzaW9uIG51bWJlcgogaW5kaWNhdGVzIGEgYnJlYWtpbmcgY2hhbmdlIGFuZCB0aGUgbWlub3IgdmVyc2lvbiBhbiBhZGRpdGl2ZSwKIG5vbi1icmVha2luZyBjaGFuZ2UuIEJvdGggdmVyc2lvbiBudW1iZXJzIGFyZSBzaWduYWxzIHRvIHVzZXJzCiB3aGF0IHRvIGV4cGVjdCBmcm9tIGRpZmZlcmVudCB2ZXJzaW9ucywgYW5kIHNob3VsZCBiZSBjYXJlZnVsbHkKIGNob3NlbiBiYXNlZCBvbiB0aGUgcHJvZHVjdCBwbGFuLgoKIFRoZSBtYWpvciB2ZXJzaW9uIGlzIGFsc28gcmVmbGVjdGVkIGluIHRoZSBwYWNrYWdlIG5hbWUgb2YgdGhlCiBpbnRlcmZhY2UsIHdoaWNoIG11c3QgZW5kIGluIGB2PG1ham9yLXZlcnNpb24+YCwgYXMgaW4KIGBnb29nbGUuZmVhdHVyZS52MWAuIEZvciBtYWpvciB2ZXJzaW9ucyAwIGFuZCAxLCB0aGUgc3VmZml4IGNhbgogYmUgb21pdHRlZC4gWmVybyBtYWpvciB2ZXJzaW9ucyBtdXN0IG9ubHkgYmUgdXNlZCBmb3IKIGV4cGVyaW1lbnRhbCwgbm9uLUdBIGludGVyZmFjZXMuCgoKDAoFBAACAwUSA1QCCAoMCgUEAAIDARIDVAkQCgwKBQQAAgMDEgNUExQKWwoEBAACBBIDWAIjGk4gU291cmNlIGNvbnRleHQgZm9yIHRoZSBwcm90b2NvbCBidWZmZXIgc2VydmljZSByZXByZXNlbnRlZCBieSB0aGlzCiBtZXNzYWdlLgoKDAoFBAACBAYSA1gCDwoMCgUEAAIEARIDWBAeCgwKBQQAAgQDEgNYISIKMgoEBAACBRIDWwIcGiUgSW5jbHVkZWQgaW50ZXJmYWNlcy4gU2VlIFtNaXhpbl1bXS4KCgwKBQQAAgUEEgNbAgoKDAoFBAACBQYSA1sLEAoMCgUEAAIFARIDWxEXCgwKBQQAAgUDEgNbGhsKMAoEBAACBhIDXgIUGiMgVGhlIHNvdXJjZSBzeW50YXggb2YgdGhlIHNlcnZpY2UuCgoMCgUEAAIGBhIDXgIICgwKBQQAAgYBEgNeCQ8KDAoFBAACBgMSA14SEwo9CgIEARIEYgB3ARoxIE1ldGhvZCByZXByZXNlbnRzIGEgbWV0aG9kIG9mIGFuIEFQSSBpbnRlcmZhY2UuCgoKCgMEAQESA2IIDgouCgQEAQIAEgNkAhIaISBUaGUgc2ltcGxlIG5hbWUgb2YgdGhpcyBtZXRob2QuCgoMCgUEAQIABRIDZAIICgwKBQQBAgABEgNkCQ0KDAoFBAECAAMSA2QQEQovCgQEAQIBEgNnAh4aIiBBIFVSTCBvZiB0aGUgaW5wdXQgbWVzc2FnZSB0eXBlLgoKDAoFBAECAQUSA2cCCAoMCgUEAQIBARIDZwkZCgwKBQQBAgEDEgNnHB0KMAoEBAECAhIDagIdGiMgSWYgdHJ1ZSwgdGhlIHJlcXVlc3QgaXMgc3RyZWFtZWQuCgoMCgUEAQICBRIDagIGCgwKBQQBAgIBEgNqBxgKDAoFBAECAgMSA2obHAoyCgQEAQIDEgNtAh8aJSBUaGUgVVJMIG9mIHRoZSBvdXRwdXQgbWVzc2FnZSB0eXBlLgoKDAoFBAECAwUSA20CCAoMCgUEAQIDARIDbQkaCgwKBQQBAgMDEgNtHR4KMQoEBAECBBIDcAIeGiQgSWYgdHJ1ZSwgdGhlIHJlc3BvbnNlIGlzIHN0cmVhbWVkLgoKDAoFBAECBAUSA3ACBgoMCgUEAQIEARIDcAcZCgwKBQQBAgQDEgNwHB0KMwoEBAECBRIDcwIeGiYgQW55IG1ldGFkYXRhIGF0dGFjaGVkIHRvIHRoZSBtZXRob2QuCgoMCgUEAQIFBBIDcwIKCgwKBQQBAgUGEgNzCxEKDAoFBAECBQESA3MSGQoMCgUEAQIFAxIDcxwdCjAKBAQBAgYSA3YCFBojIFRoZSBzb3VyY2Ugc3ludGF4IG9mIHRoaXMgbWV0aG9kLgoKDAoFBAECBgYSA3YCCAoMCgUEAQIGARIDdgkPCgwKBQQBAgYDEgN2EhMKyRMKAgQCEgbHAQDOAQEauhMgRGVjbGFyZXMgYW4gQVBJIEludGVyZmFjZSB0byBiZSBpbmNsdWRlZCBpbiB0aGlzIGludGVyZmFjZS4gVGhlIGluY2x1ZGluZwogaW50ZXJmYWNlIG11c3QgcmVkZWNsYXJlIGFsbCB0aGUgbWV0aG9kcyBmcm9tIHRoZSBpbmNsdWRlZCBpbnRlcmZhY2UsIGJ1dAogZG9jdW1lbnRhdGlvbiBhbmQgb3B0aW9ucyBhcmUgaW5oZXJpdGVkIGFzIGZvbGxvd3M6CgogLSBJZiBhZnRlciBjb21tZW50IGFuZCB3aGl0ZXNwYWNlIHN0cmlwcGluZywgdGhlIGRvY3VtZW50YXRpb24KICAgc3RyaW5nIG9mIHRoZSByZWRlY2xhcmVkIG1ldGhvZCBpcyBlbXB0eSwgaXQgd2lsbCBiZSBpbmhlcml0ZWQKICAgZnJvbSB0aGUgb3JpZ2luYWwgbWV0aG9kLgoKIC0gRWFjaCBhbm5vdGF0aW9uIGJlbG9uZ2luZyB0byB0aGUgc2VydmljZSBjb25maWcgKGh0dHAsCiAgIHZpc2liaWxpdHkpIHdoaWNoIGlzIG5vdCBzZXQgaW4gdGhlIHJlZGVjbGFyZWQgbWV0aG9kIHdpbGwgYmUKICAgaW5oZXJpdGVkLgoKIC0gSWYgYW4gaHR0cCBhbm5vdGF0aW9uIGlzIGluaGVyaXRlZCwgdGhlIHBhdGggcGF0dGVybiB3aWxsIGJlCiAgIG1vZGlmaWVkIGFzIGZvbGxvd3MuIEFueSB2ZXJzaW9uIHByZWZpeCB3aWxsIGJlIHJlcGxhY2VkIGJ5IHRoZQogICB2ZXJzaW9uIG9mIHRoZSBpbmNsdWRpbmcgaW50ZXJmYWNlIHBsdXMgdGhlIFtyb290XVtdIHBhdGggaWYKICAgc3BlY2lmaWVkLgoKIEV4YW1wbGUgb2YgYSBzaW1wbGUgbWl4aW46CgogICAgIHBhY2thZ2UgZ29vZ2xlLmFjbC52MTsKICAgICBzZXJ2aWNlIEFjY2Vzc0NvbnRyb2wgewogICAgICAgLy8gR2V0IHRoZSB1bmRlcmx5aW5nIEFDTCBvYmplY3QuCiAgICAgICBycGMgR2V0QWNsKEdldEFjbFJlcXVlc3QpIHJldHVybnMgKEFjbCkgewogICAgICAgICBvcHRpb24gKGdvb2dsZS5hcGkuaHR0cCkuZ2V0ID0gIi92MS97cmVzb3VyY2U9Kip9OmdldEFjbCI7CiAgICAgICB9CiAgICAgfQoKICAgICBwYWNrYWdlIGdvb2dsZS5zdG9yYWdlLnYyOwogICAgIHNlcnZpY2UgU3RvcmFnZSB7CiAgICAgICBycGMgR2V0QWNsKEdldEFjbFJlcXVlc3QpIHJldHVybnMgKEFjbCk7CgogICAgICAgLy8gR2V0IGEgZGF0YSByZWNvcmQuCiAgICAgICBycGMgR2V0RGF0YShHZXREYXRhUmVxdWVzdCkgcmV0dXJucyAoRGF0YSkgewogICAgICAgICBvcHRpb24gKGdvb2dsZS5hcGkuaHR0cCkuZ2V0ID0gIi92Mi97cmVzb3VyY2U9Kip9IjsKICAgICAgIH0KICAgICB9CgogRXhhbXBsZSBvZiBhIG1peGluIGNvbmZpZ3VyYXRpb246CgogICAgIGFwaXM6CiAgICAgLSBuYW1lOiBnb29nbGUuc3RvcmFnZS52Mi5TdG9yYWdlCiAgICAgICBtaXhpbnM6CiAgICAgICAtIG5hbWU6IGdvb2dsZS5hY2wudjEuQWNjZXNzQ29udHJvbAoKIFRoZSBtaXhpbiBjb25zdHJ1Y3QgaW1wbGllcyB0aGF0IGFsbCBtZXRob2RzIGluIGBBY2Nlc3NDb250cm9sYCBhcmUKIGFsc28gZGVjbGFyZWQgd2l0aCBzYW1lIG5hbWUgYW5kIHJlcXVlc3QvcmVzcG9uc2UgdHlwZXMgaW4KIGBTdG9yYWdlYC4gQSBkb2N1bWVudGF0aW9uIGdlbmVyYXRvciBvciBhbm5vdGF0aW9uIHByb2Nlc3NvciB3aWxsCiBzZWUgdGhlIGVmZmVjdGl2ZSBgU3RvcmFnZS5HZXRBY2xgIG1ldGhvZCBhZnRlciBpbmhlcnRpbmcKIGRvY3VtZW50YXRpb24gYW5kIGFubm90YXRpb25zIGFzIGZvbGxvd3M6CgogICAgIHNlcnZpY2UgU3RvcmFnZSB7CiAgICAgICAvLyBHZXQgdGhlIHVuZGVybHlpbmcgQUNMIG9iamVjdC4KICAgICAgIHJwYyBHZXRBY2woR2V0QWNsUmVxdWVzdCkgcmV0dXJucyAoQWNsKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKS5nZXQgPSAiL3YyL3tyZXNvdXJjZT0qKn06Z2V0QWNsIjsKICAgICAgIH0KICAgICAgIC4uLgogICAgIH0KCiBOb3RlIGhvdyB0aGUgdmVyc2lvbiBpbiB0aGUgcGF0aCBwYXR0ZXJuIGNoYW5nZWQgZnJvbSBgdjFgIHRvIGB2MmAuCgogSWYgdGhlIGByb290YCBmaWVsZCBpbiB0aGUgbWl4aW4gaXMgc3BlY2lmaWVkLCBpdCBzaG91bGQgYmUgYQogcmVsYXRpdmUgcGF0aCB1bmRlciB3aGljaCBpbmhlcml0ZWQgSFRUUCBwYXRocyBhcmUgcGxhY2VkLiBFeGFtcGxlOgoKICAgICBhcGlzOgogICAgIC0gbmFtZTogZ29vZ2xlLnN0b3JhZ2UudjIuU3RvcmFnZQogICAgICAgbWl4aW5zOgogICAgICAgLSBuYW1lOiBnb29nbGUuYWNsLnYxLkFjY2Vzc0NvbnRyb2wKICAgICAgICAgcm9vdDogYWNscwoKIFRoaXMgaW1wbGllcyB0aGUgZm9sbG93aW5nIGluaGVyaXRlZCBIVFRQIGFubm90YXRpb246CgogICAgIHNlcnZpY2UgU3RvcmFnZSB7CiAgICAgICAvLyBHZXQgdGhlIHVuZGVybHlpbmcgQUNMIG9iamVjdC4KICAgICAgIHJwYyBHZXRBY2woR2V0QWNsUmVxdWVzdCkgcmV0dXJucyAoQWNsKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKS5nZXQgPSAiL3YyL2FjbHMve3Jlc291cmNlPSoqfTpnZXRBY2wiOwogICAgICAgfQogICAgICAgLi4uCiAgICAgfQoKCwoDBAIBEgTHAQgNCkwKBAQCAgASBMkBAhIaPiBUaGUgZnVsbHkgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIGludGVyZmFjZSB3aGljaCBpcyBpbmNsdWRlZC4KCg0KBQQCAgAFEgTJAQIICg0KBQQCAgABEgTJAQkNCg0KBQQCAgADEgTJARARClsKBAQCAgESBM0BAhIaTSBJZiBub24tZW1wdHkgc3BlY2lmaWVzIGEgcGF0aCB1bmRlciB3aGljaCBpbmhlcml0ZWQgSFRUUCBwYXRocwogYXJlIHJvb3RlZC4KCg0KBQQCAgEFEgTNAQIICg0KBQQCAgEBEgTNAQkNCg0KBQQCAgEDEgTNARARYgZwcm90bzMK1yUKHmdvb2dsZS9wcm90b2J1Zi9kdXJhdGlvbi5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIjoKCER1cmF0aW9uEhgKB3NlY29uZHMYASABKANSB3NlY29uZHMSFAoFbmFub3MYAiABKAVSBW5hbm9zQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1EdXJhdGlvblByb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2R1cmF0aW9ucGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNK2SMKBhIEHgByAQrMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIAHwoJCgIIHxIDIgAfCggKAQgSAyMASAoJCgIICxIDIwBICggKAQgSAyQALAoJCgIIARIDJAAsCggKAQgSAyUALgoJCgIICBIDJQAuCggKAQgSAyYAIgoJCgIIChIDJgAiCggKAQgSAycAIQoJCgIIJBIDJwAhCggKAQgSAygAOwoJCgIIJRIDKAA7Cp0QCgIEABIEZQByARqQECBBIER1cmF0aW9uIHJlcHJlc2VudHMgYSBzaWduZWQsIGZpeGVkLWxlbmd0aCBzcGFuIG9mIHRpbWUgcmVwcmVzZW50ZWQKIGFzIGEgY291bnQgb2Ygc2Vjb25kcyBhbmQgZnJhY3Rpb25zIG9mIHNlY29uZHMgYXQgbmFub3NlY29uZAogcmVzb2x1dGlvbi4gSXQgaXMgaW5kZXBlbmRlbnQgb2YgYW55IGNhbGVuZGFyIGFuZCBjb25jZXB0cyBsaWtlICJkYXkiCiBvciAibW9udGgiLiBJdCBpcyByZWxhdGVkIHRvIFRpbWVzdGFtcCBpbiB0aGF0IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4KIHR3byBUaW1lc3RhbXAgdmFsdWVzIGlzIGEgRHVyYXRpb24gYW5kIGl0IGNhbiBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkCiBmcm9tIGEgVGltZXN0YW1wLiBSYW5nZSBpcyBhcHByb3hpbWF0ZWx5ICstMTAsMDAwIHllYXJzLgoKICMgRXhhbXBsZXMKCiBFeGFtcGxlIDE6IENvbXB1dGUgRHVyYXRpb24gZnJvbSB0d28gVGltZXN0YW1wcyBpbiBwc2V1ZG8gY29kZS4KCiAgICAgVGltZXN0YW1wIHN0YXJ0ID0gLi4uOwogICAgIFRpbWVzdGFtcCBlbmQgPSAuLi47CiAgICAgRHVyYXRpb24gZHVyYXRpb24gPSAuLi47CgogICAgIGR1cmF0aW9uLnNlY29uZHMgPSBlbmQuc2Vjb25kcyAtIHN0YXJ0LnNlY29uZHM7CiAgICAgZHVyYXRpb24ubmFub3MgPSBlbmQubmFub3MgLSBzdGFydC5uYW5vczsKCiAgICAgaWYgKGR1cmF0aW9uLnNlY29uZHMgPCAwICYmIGR1cmF0aW9uLm5hbm9zID4gMCkgewogICAgICAgZHVyYXRpb24uc2Vjb25kcyArPSAxOwogICAgICAgZHVyYXRpb24ubmFub3MgLT0gMTAwMDAwMDAwMDsKICAgICB9IGVsc2UgaWYgKGR1cmF0aW9uLnNlY29uZHMgPiAwICYmIGR1cmF0aW9uLm5hbm9zIDwgMCkgewogICAgICAgZHVyYXRpb24uc2Vjb25kcyAtPSAxOwogICAgICAgZHVyYXRpb24ubmFub3MgKz0gMTAwMDAwMDAwMDsKICAgICB9CgogRXhhbXBsZSAyOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFRpbWVzdGFtcCArIER1cmF0aW9uIGluIHBzZXVkbyBjb2RlLgoKICAgICBUaW1lc3RhbXAgc3RhcnQgPSAuLi47CiAgICAgRHVyYXRpb24gZHVyYXRpb24gPSAuLi47CiAgICAgVGltZXN0YW1wIGVuZCA9IC4uLjsKCiAgICAgZW5kLnNlY29uZHMgPSBzdGFydC5zZWNvbmRzICsgZHVyYXRpb24uc2Vjb25kczsKICAgICBlbmQubmFub3MgPSBzdGFydC5uYW5vcyArIGR1cmF0aW9uLm5hbm9zOwoKICAgICBpZiAoZW5kLm5hbm9zIDwgMCkgewogICAgICAgZW5kLnNlY29uZHMgLT0gMTsKICAgICAgIGVuZC5uYW5vcyArPSAxMDAwMDAwMDAwOwogICAgIH0gZWxzZSBpZiAoZW5kLm5hbm9zID49IDEwMDAwMDAwMDApIHsKICAgICAgIGVuZC5zZWNvbmRzICs9IDE7CiAgICAgICBlbmQubmFub3MgLT0gMTAwMDAwMDAwMDsKICAgICB9CgogRXhhbXBsZSAzOiBDb21wdXRlIER1cmF0aW9uIGZyb20gZGF0ZXRpbWUudGltZWRlbHRhIGluIFB5dGhvbi4KCiAgICAgdGQgPSBkYXRldGltZS50aW1lZGVsdGEoZGF5cz0zLCBtaW51dGVzPTEwKQogICAgIGR1cmF0aW9uID0gRHVyYXRpb24oKQogICAgIGR1cmF0aW9uLkZyb21UaW1lZGVsdGEodGQpCgogIyBKU09OIE1hcHBpbmcKCiBJbiBKU09OIGZvcm1hdCwgdGhlIER1cmF0aW9uIHR5cGUgaXMgZW5jb2RlZCBhcyBhIHN0cmluZyByYXRoZXIgdGhhbiBhbgogb2JqZWN0LCB3aGVyZSB0aGUgc3RyaW5nIGVuZHMgaW4gdGhlIHN1ZmZpeCAicyIgKGluZGljYXRpbmcgc2Vjb25kcykgYW5kCiBpcyBwcmVjZWRlZCBieSB0aGUgbnVtYmVyIG9mIHNlY29uZHMsIHdpdGggbmFub3NlY29uZHMgZXhwcmVzc2VkIGFzCiBmcmFjdGlvbmFsIHNlY29uZHMuIEZvciBleGFtcGxlLCAzIHNlY29uZHMgd2l0aCAwIG5hbm9zZWNvbmRzIHNob3VsZCBiZQogZW5jb2RlZCBpbiBKU09OIGZvcm1hdCBhcyAiM3MiLCB3aGlsZSAzIHNlY29uZHMgYW5kIDEgbmFub3NlY29uZCBzaG91bGQKIGJlIGV4cHJlc3NlZCBpbiBKU09OIGZvcm1hdCBhcyAiMy4wMDAwMDAwMDFzIiwgYW5kIDMgc2Vjb25kcyBhbmQgMQogbWljcm9zZWNvbmQgc2hvdWxkIGJlIGV4cHJlc3NlZCBpbiBKU09OIGZvcm1hdCBhcyAiMy4wMDAwMDFzIi4KCgoKCgMEAAESA2UIEArcAQoEBAACABIDaQIUGs4BIFNpZ25lZCBzZWNvbmRzIG9mIHRoZSBzcGFuIG9mIHRpbWUuIE11c3QgYmUgZnJvbSAtMzE1LDU3NiwwMDAsMDAwCiB0byArMzE1LDU3NiwwMDAsMDAwIGluY2x1c2l2ZS4gTm90ZTogdGhlc2UgYm91bmRzIGFyZSBjb21wdXRlZCBmcm9tOgogNjAgc2VjL21pbiAqIDYwIG1pbi9ociAqIDI0IGhyL2RheSAqIDM2NS4yNSBkYXlzL3llYXIgKiAxMDAwMCB5ZWFycwoKDAoFBAACAAUSA2kCBwoMCgUEAAIAARIDaQgPCgwKBQQAAgADEgNpEhMKgwMKBAQAAgESA3ECEhr1AiBTaWduZWQgZnJhY3Rpb25zIG9mIGEgc2Vjb25kIGF0IG5hbm9zZWNvbmQgcmVzb2x1dGlvbiBvZiB0aGUgc3Bhbgogb2YgdGltZS4gRHVyYXRpb25zIGxlc3MgdGhhbiBvbmUgc2Vjb25kIGFyZSByZXByZXNlbnRlZCB3aXRoIGEgMAogYHNlY29uZHNgIGZpZWxkIGFuZCBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGBuYW5vc2AgZmllbGQuIEZvciBkdXJhdGlvbnMKIG9mIG9uZSBzZWNvbmQgb3IgbW9yZSwgYSBub24temVybyB2YWx1ZSBmb3IgdGhlIGBuYW5vc2AgZmllbGQgbXVzdCBiZQogb2YgdGhlIHNhbWUgc2lnbiBhcyB0aGUgYHNlY29uZHNgIGZpZWxkLiBNdXN0IGJlIGZyb20gLTk5OSw5OTksOTk5CiB0byArOTk5LDk5OSw5OTkgaW5jbHVzaXZlLgoKDAoFBAACAQUSA3ECBwoMCgUEAAIBARIDcQgNCgwKBQQAAgEDEgNxEBFiBnByb3RvMwr/EQobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvEg9nb29nbGUucHJvdG9idWYiBwoFRW1wdHlCfQoTY29tLmdvb2dsZS5wcm90b2J1ZkIKRW1wdHlQcm90b1ABWi5nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi9lbXB0eXBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSr4QCgYSBB4AMhAKzAwKAQwSAx4AEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCggKAQISAyAAGAoICgEIEgMiAEUKCQoCCAsSAyIARQoICgEIEgMjACwKCQoCCAESAyMALAoICgEIEgMkACsKCQoCCAgSAyQAKwoICgEIEgMlACIKCQoCCAoSAyUAIgoICgEIEgMmACEKCQoCCCQSAyYAIQoICgEIEgMnADsKCQoCCCUSAycAOwoICgEIEgMoAB8KCQoCCB8SAygAHwq7AgoCBAASAzIAEBqvAiBBIGdlbmVyaWMgZW1wdHkgbWVzc2FnZSB0aGF0IHlvdSBjYW4gcmUtdXNlIHRvIGF2b2lkIGRlZmluaW5nIGR1cGxpY2F0ZWQKIGVtcHR5IG1lc3NhZ2VzIGluIHlvdXIgQVBJcy4gQSB0eXBpY2FsIGV4YW1wbGUgaXMgdG8gdXNlIGl0IGFzIHRoZSByZXF1ZXN0CiBvciB0aGUgcmVzcG9uc2UgdHlwZSBvZiBhbiBBUEkgbWV0aG9kLiBGb3IgaW5zdGFuY2U6CgogICAgIHNlcnZpY2UgRm9vIHsKICAgICAgIHJwYyBCYXIoZ29vZ2xlLnByb3RvYnVmLkVtcHR5KSByZXR1cm5zIChnb29nbGUucHJvdG9idWYuRW1wdHkpOwogICAgIH0KCgoKCgMEAAESAzIIDWIGcHJvdG8zCoo9CiBnb29nbGUvcHJvdG9idWYvZmllbGRfbWFzay5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIiEKCUZpZWxkTWFzaxIUCgVwYXRocxgBIAMoCVIFcGF0aHNChQEKE2NvbS5nb29nbGUucHJvdG9idWZCDkZpZWxkTWFza1Byb3RvUAFaMmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2ZpZWxkbWFza3Bi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSqE7CgcSBR4A9AEBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgAsCgkKAggBEgMiACwKCAoBCBIDIwAvCgkKAggIEgMjAC8KCAoBCBIDJAAiCgkKAggKEgMkACIKCAoBCBIDJQAhCgkKAggkEgMlACEKCAoBCBIDJgA7CgkKAgglEgMmADsKCAoBCBIDJwBJCgkKAggLEgMnAEkKCAoBCBIDKAAfCgkKAggfEgMoAB8KsiwKAgQAEgbxAQD0AQEaoywgYEZpZWxkTWFza2AgcmVwcmVzZW50cyBhIHNldCBvZiBzeW1ib2xpYyBmaWVsZCBwYXRocywgZm9yIGV4YW1wbGU6CgogICAgIHBhdGhzOiAiZi5hIgogICAgIHBhdGhzOiAiZi5iLmQiCgogSGVyZSBgZmAgcmVwcmVzZW50cyBhIGZpZWxkIGluIHNvbWUgcm9vdCBtZXNzYWdlLCBgYWAgYW5kIGBiYAogZmllbGRzIGluIHRoZSBtZXNzYWdlIGZvdW5kIGluIGBmYCwgYW5kIGBkYCBhIGZpZWxkIGZvdW5kIGluIHRoZQogbWVzc2FnZSBpbiBgZi5iYC4KCiBGaWVsZCBtYXNrcyBhcmUgdXNlZCB0byBzcGVjaWZ5IGEgc3Vic2V0IG9mIGZpZWxkcyB0aGF0IHNob3VsZCBiZQogcmV0dXJuZWQgYnkgYSBnZXQgb3BlcmF0aW9uIG9yIG1vZGlmaWVkIGJ5IGFuIHVwZGF0ZSBvcGVyYXRpb24uCiBGaWVsZCBtYXNrcyBhbHNvIGhhdmUgYSBjdXN0b20gSlNPTiBlbmNvZGluZyAoc2VlIGJlbG93KS4KCiAjIEZpZWxkIE1hc2tzIGluIFByb2plY3Rpb25zCgogV2hlbiB1c2VkIGluIHRoZSBjb250ZXh0IG9mIGEgcHJvamVjdGlvbiwgYSByZXNwb25zZSBtZXNzYWdlIG9yCiBzdWItbWVzc2FnZSBpcyBmaWx0ZXJlZCBieSB0aGUgQVBJIHRvIG9ubHkgY29udGFpbiB0aG9zZSBmaWVsZHMgYXMKIHNwZWNpZmllZCBpbiB0aGUgbWFzay4gRm9yIGV4YW1wbGUsIGlmIHRoZSBtYXNrIGluIHRoZSBwcmV2aW91cwogZXhhbXBsZSBpcyBhcHBsaWVkIHRvIGEgcmVzcG9uc2UgbWVzc2FnZSBhcyBmb2xsb3dzOgoKICAgICBmIHsKICAgICAgIGEgOiAyMgogICAgICAgYiB7CiAgICAgICAgIGQgOiAxCiAgICAgICAgIHggOiAyCiAgICAgICB9CiAgICAgICB5IDogMTMKICAgICB9CiAgICAgejogOAoKIFRoZSByZXN1bHQgd2lsbCBub3QgY29udGFpbiBzcGVjaWZpYyB2YWx1ZXMgZm9yIGZpZWxkcyB4LHkgYW5kIHoKICh0aGVpciB2YWx1ZSB3aWxsIGJlIHNldCB0byB0aGUgZGVmYXVsdCwgYW5kIG9taXR0ZWQgaW4gcHJvdG8gdGV4dAogb3V0cHV0KToKCgogICAgIGYgewogICAgICAgYSA6IDIyCiAgICAgICBiIHsKICAgICAgICAgZCA6IDEKICAgICAgIH0KICAgICB9CgogQSByZXBlYXRlZCBmaWVsZCBpcyBub3QgYWxsb3dlZCBleGNlcHQgYXQgdGhlIGxhc3QgcG9zaXRpb24gb2YgYQogcGF0aHMgc3RyaW5nLgoKIElmIGEgRmllbGRNYXNrIG9iamVjdCBpcyBub3QgcHJlc2VudCBpbiBhIGdldCBvcGVyYXRpb24sIHRoZQogb3BlcmF0aW9uIGFwcGxpZXMgdG8gYWxsIGZpZWxkcyAoYXMgaWYgYSBGaWVsZE1hc2sgb2YgYWxsIGZpZWxkcwogaGFkIGJlZW4gc3BlY2lmaWVkKS4KCiBOb3RlIHRoYXQgYSBmaWVsZCBtYXNrIGRvZXMgbm90IG5lY2Vzc2FyaWx5IGFwcGx5IHRvIHRoZQogdG9wLWxldmVsIHJlc3BvbnNlIG1lc3NhZ2UuIEluIGNhc2Ugb2YgYSBSRVNUIGdldCBvcGVyYXRpb24sIHRoZQogZmllbGQgbWFzayBhcHBsaWVzIGRpcmVjdGx5IHRvIHRoZSByZXNwb25zZSwgYnV0IGluIGNhc2Ugb2YgYSBSRVNUCiBsaXN0IG9wZXJhdGlvbiwgdGhlIG1hc2sgaW5zdGVhZCBhcHBsaWVzIHRvIGVhY2ggaW5kaXZpZHVhbCBtZXNzYWdlCiBpbiB0aGUgcmV0dXJuZWQgcmVzb3VyY2UgbGlzdC4gSW4gY2FzZSBvZiBhIFJFU1QgY3VzdG9tIG1ldGhvZCwKIG90aGVyIGRlZmluaXRpb25zIG1heSBiZSB1c2VkLiBXaGVyZSB0aGUgbWFzayBhcHBsaWVzIHdpbGwgYmUKIGNsZWFybHkgZG9jdW1lbnRlZCB0b2dldGhlciB3aXRoIGl0cyBkZWNsYXJhdGlvbiBpbiB0aGUgQVBJLiAgSW4KIGFueSBjYXNlLCB0aGUgZWZmZWN0IG9uIHRoZSByZXR1cm5lZCByZXNvdXJjZS9yZXNvdXJjZXMgaXMgcmVxdWlyZWQKIGJlaGF2aW9yIGZvciBBUElzLgoKICMgRmllbGQgTWFza3MgaW4gVXBkYXRlIE9wZXJhdGlvbnMKCiBBIGZpZWxkIG1hc2sgaW4gdXBkYXRlIG9wZXJhdGlvbnMgc3BlY2lmaWVzIHdoaWNoIGZpZWxkcyBvZiB0aGUKIHRhcmdldGVkIHJlc291cmNlIGFyZSBnb2luZyB0byBiZSB1cGRhdGVkLiBUaGUgQVBJIGlzIHJlcXVpcmVkCiB0byBvbmx5IGNoYW5nZSB0aGUgdmFsdWVzIG9mIHRoZSBmaWVsZHMgYXMgc3BlY2lmaWVkIGluIHRoZSBtYXNrCiBhbmQgbGVhdmUgdGhlIG90aGVycyB1bnRvdWNoZWQuIElmIGEgcmVzb3VyY2UgaXMgcGFzc2VkIGluIHRvCiBkZXNjcmliZSB0aGUgdXBkYXRlZCB2YWx1ZXMsIHRoZSBBUEkgaWdub3JlcyB0aGUgdmFsdWVzIG9mIGFsbAogZmllbGRzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBtYXNrLgoKIElmIGEgcmVwZWF0ZWQgZmllbGQgaXMgc3BlY2lmaWVkIGZvciBhbiB1cGRhdGUgb3BlcmF0aW9uLCBuZXcgdmFsdWVzIHdpbGwKIGJlIGFwcGVuZGVkIHRvIHRoZSBleGlzdGluZyByZXBlYXRlZCBmaWVsZCBpbiB0aGUgdGFyZ2V0IHJlc291cmNlLiBOb3RlIHRoYXQKIGEgcmVwZWF0ZWQgZmllbGQgaXMgb25seSBhbGxvd2VkIGluIHRoZSBsYXN0IHBvc2l0aW9uIG9mIGEgYHBhdGhzYCBzdHJpbmcuCgogSWYgYSBzdWItbWVzc2FnZSBpcyBzcGVjaWZpZWQgaW4gdGhlIGxhc3QgcG9zaXRpb24gb2YgdGhlIGZpZWxkIG1hc2sgZm9yIGFuCiB1cGRhdGUgb3BlcmF0aW9uLCB0aGVuIG5ldyB2YWx1ZSB3aWxsIGJlIG1lcmdlZCBpbnRvIHRoZSBleGlzdGluZyBzdWItbWVzc2FnZQogaW4gdGhlIHRhcmdldCByZXNvdXJjZS4KCiBGb3IgZXhhbXBsZSwgZ2l2ZW4gdGhlIHRhcmdldCBtZXNzYWdlOgoKICAgICBmIHsKICAgICAgIGIgewogICAgICAgICBkOiAxCiAgICAgICAgIHg6IDIKICAgICAgIH0KICAgICAgIGM6IFsxXQogICAgIH0KCiBBbmQgYW4gdXBkYXRlIG1lc3NhZ2U6CgogICAgIGYgewogICAgICAgYiB7CiAgICAgICAgIGQ6IDEwCiAgICAgICB9CiAgICAgICBjOiBbMl0KICAgICB9CgogdGhlbiBpZiB0aGUgZmllbGQgbWFzayBpczoKCiAgcGF0aHM6IFsiZi5iIiwgImYuYyJdCgogdGhlbiB0aGUgcmVzdWx0IHdpbGwgYmU6CgogICAgIGYgewogICAgICAgYiB7CiAgICAgICAgIGQ6IDEwCiAgICAgICAgIHg6IDIKICAgICAgIH0KICAgICAgIGM6IFsxLCAyXQogICAgIH0KCiBBbiBpbXBsZW1lbnRhdGlvbiBtYXkgcHJvdmlkZSBvcHRpb25zIHRvIG92ZXJyaWRlIHRoaXMgZGVmYXVsdCBiZWhhdmlvciBmb3IKIHJlcGVhdGVkIGFuZCBtZXNzYWdlIGZpZWxkcy4KCiBJbiBvcmRlciB0byByZXNldCBhIGZpZWxkJ3MgdmFsdWUgdG8gdGhlIGRlZmF1bHQsIHRoZSBmaWVsZCBtdXN0CiBiZSBpbiB0aGUgbWFzayBhbmQgc2V0IHRvIHRoZSBkZWZhdWx0IHZhbHVlIGluIHRoZSBwcm92aWRlZCByZXNvdXJjZS4KIEhlbmNlLCBpbiBvcmRlciB0byByZXNldCBhbGwgZmllbGRzIG9mIGEgcmVzb3VyY2UsIHByb3ZpZGUgYSBkZWZhdWx0CiBpbnN0YW5jZSBvZiB0aGUgcmVzb3VyY2UgYW5kIHNldCBhbGwgZmllbGRzIGluIHRoZSBtYXNrLCBvciBkbwogbm90IHByb3ZpZGUgYSBtYXNrIGFzIGRlc2NyaWJlZCBiZWxvdy4KCiBJZiBhIGZpZWxkIG1hc2sgaXMgbm90IHByZXNlbnQgb24gdXBkYXRlLCB0aGUgb3BlcmF0aW9uIGFwcGxpZXMgdG8KIGFsbCBmaWVsZHMgKGFzIGlmIGEgZmllbGQgbWFzayBvZiBhbGwgZmllbGRzIGhhcyBiZWVuIHNwZWNpZmllZCkuCiBOb3RlIHRoYXQgaW4gdGhlIHByZXNlbmNlIG9mIHNjaGVtYSBldm9sdXRpb24sIHRoaXMgbWF5IG1lYW4gdGhhdAogZmllbGRzIHRoZSBjbGllbnQgZG9lcyBub3Qga25vdyBhbmQgaGFzIHRoZXJlZm9yZSBub3QgZmlsbGVkIGludG8KIHRoZSByZXF1ZXN0IHdpbGwgYmUgcmVzZXQgdG8gdGhlaXIgZGVmYXVsdC4gSWYgdGhpcyBpcyB1bndhbnRlZAogYmVoYXZpb3IsIGEgc3BlY2lmaWMgc2VydmljZSBtYXkgcmVxdWlyZSBhIGNsaWVudCB0byBhbHdheXMgc3BlY2lmeQogYSBmaWVsZCBtYXNrLCBwcm9kdWNpbmcgYW4gZXJyb3IgaWYgbm90LgoKIEFzIHdpdGggZ2V0IG9wZXJhdGlvbnMsIHRoZSBsb2NhdGlvbiBvZiB0aGUgcmVzb3VyY2Ugd2hpY2gKIGRlc2NyaWJlcyB0aGUgdXBkYXRlZCB2YWx1ZXMgaW4gdGhlIHJlcXVlc3QgbWVzc2FnZSBkZXBlbmRzIG9uIHRoZQogb3BlcmF0aW9uIGtpbmQuIEluIGFueSBjYXNlLCB0aGUgZWZmZWN0IG9mIHRoZSBmaWVsZCBtYXNrIGlzCiByZXF1aXJlZCB0byBiZSBob25vcmVkIGJ5IHRoZSBBUEkuCgogIyMgQ29uc2lkZXJhdGlvbnMgZm9yIEhUVFAgUkVTVAoKIFRoZSBIVFRQIGtpbmQgb2YgYW4gdXBkYXRlIG9wZXJhdGlvbiB3aGljaCB1c2VzIGEgZmllbGQgbWFzayBtdXN0CiBiZSBzZXQgdG8gUEFUQ0ggaW5zdGVhZCBvZiBQVVQgaW4gb3JkZXIgdG8gc2F0aXNmeSBIVFRQIHNlbWFudGljcwogKFBVVCBtdXN0IG9ubHkgYmUgdXNlZCBmb3IgZnVsbCB1cGRhdGVzKS4KCiAjIEpTT04gRW5jb2Rpbmcgb2YgRmllbGQgTWFza3MKCiBJbiBKU09OLCBhIGZpZWxkIG1hc2sgaXMgZW5jb2RlZCBhcyBhIHNpbmdsZSBzdHJpbmcgd2hlcmUgcGF0aHMgYXJlCiBzZXBhcmF0ZWQgYnkgYSBjb21tYS4gRmllbGRzIG5hbWUgaW4gZWFjaCBwYXRoIGFyZSBjb252ZXJ0ZWQKIHRvL2Zyb20gbG93ZXItY2FtZWwgbmFtaW5nIGNvbnZlbnRpb25zLgoKIEFzIGFuIGV4YW1wbGUsIGNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgbWVzc2FnZSBkZWNsYXJhdGlvbnM6CgogICAgIG1lc3NhZ2UgUHJvZmlsZSB7CiAgICAgICBVc2VyIHVzZXIgPSAxOwogICAgICAgUGhvdG8gcGhvdG8gPSAyOwogICAgIH0KICAgICBtZXNzYWdlIFVzZXIgewogICAgICAgc3RyaW5nIGRpc3BsYXlfbmFtZSA9IDE7CiAgICAgICBzdHJpbmcgYWRkcmVzcyA9IDI7CiAgICAgfQoKIEluIHByb3RvIGEgZmllbGQgbWFzayBmb3IgYFByb2ZpbGVgIG1heSBsb29rIGFzIHN1Y2g6CgogICAgIG1hc2sgewogICAgICAgcGF0aHM6ICJ1c2VyLmRpc3BsYXlfbmFtZSIKICAgICAgIHBhdGhzOiAicGhvdG8iCiAgICAgfQoKIEluIEpTT04sIHRoZSBzYW1lIG1hc2sgaXMgcmVwcmVzZW50ZWQgYXMgYmVsb3c6CgogICAgIHsKICAgICAgIG1hc2s6ICJ1c2VyLmRpc3BsYXlOYW1lLHBob3RvIgogICAgIH0KCiAjIEZpZWxkIE1hc2tzIGFuZCBPbmVvZiBGaWVsZHMKCiBGaWVsZCBtYXNrcyB0cmVhdCBmaWVsZHMgaW4gb25lb2ZzIGp1c3QgYXMgcmVndWxhciBmaWVsZHMuIENvbnNpZGVyIHRoZQogZm9sbG93aW5nIG1lc3NhZ2U6CgogICAgIG1lc3NhZ2UgU2FtcGxlTWVzc2FnZSB7CiAgICAgICBvbmVvZiB0ZXN0X29uZW9mIHsKICAgICAgICAgc3RyaW5nIG5hbWUgPSA0OwogICAgICAgICBTdWJNZXNzYWdlIHN1Yl9tZXNzYWdlID0gOTsKICAgICAgIH0KICAgICB9CgogVGhlIGZpZWxkIG1hc2sgY2FuIGJlOgoKICAgICBtYXNrIHsKICAgICAgIHBhdGhzOiAibmFtZSIKICAgICB9CgogT3I6CgogICAgIG1hc2sgewogICAgICAgcGF0aHM6ICJzdWJfbWVzc2FnZSIKICAgICB9CgogTm90ZSB0aGF0IG9uZW9mIHR5cGUgbmFtZXMgKCJ0ZXN0X29uZW9mIiBpbiB0aGlzIGNhc2UpIGNhbm5vdCBiZSB1c2VkIGluCiBwYXRocy4KCiAjIyBGaWVsZCBNYXNrIFZlcmlmaWNhdGlvbgoKIFRoZSBpbXBsZW1lbnRhdGlvbiBvZiBhbnkgQVBJIG1ldGhvZCB3aGljaCBoYXMgYSBGaWVsZE1hc2sgdHlwZSBmaWVsZCBpbiB0aGUKIHJlcXVlc3Qgc2hvdWxkIHZlcmlmeSB0aGUgaW5jbHVkZWQgZmllbGQgcGF0aHMsIGFuZCByZXR1cm4gYW4KIGBJTlZBTElEX0FSR1VNRU5UYCBlcnJvciBpZiBhbnkgcGF0aCBpcyB1bm1hcHBhYmxlLgoKCwoDBAABEgTxAQgRCiwKBAQAAgASBPMBAhwaHiBUaGUgc2V0IG9mIGZpZWxkIG1hc2sgcGF0aHMuCgoNCgUEAAIABBIE8wECCgoNCgUEAAIABRIE8wELEQoNCgUEAAIAARIE8wESFwoNCgUEAAIAAxIE8wEaG2IGcHJvdG8zCsMxCh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJvdG9idWYiOwoJVGltZXN0YW1wEhgKB3NlY29uZHMYASABKANSB3NlY29uZHMSFAoFbmFub3MYAiABKAVSBW5hbm9zQoUBChNjb20uZ29vZ2xlLnByb3RvYnVmQg5UaW1lc3RhbXBQcm90b1ABWjJnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi90aW1lc3RhbXBwYvgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc0rBLwoHEgUeAI8BAQrMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIAHwoJCgIIHxIDIgAfCggKAQgSAyMASQoJCgIICxIDIwBJCggKAQgSAyQALAoJCgIIARIDJAAsCggKAQgSAyUALwoJCgIICBIDJQAvCggKAQgSAyYAIgoJCgIIChIDJgAiCggKAQgSAycAIQoJCgIIJBIDJwAhCggKAQgSAygAOwoJCgIIJRIDKAA7CtodCgIEABIGhAEAjwEBGssdIEEgVGltZXN0YW1wIHJlcHJlc2VudHMgYSBwb2ludCBpbiB0aW1lIGluZGVwZW5kZW50IG9mIGFueSB0aW1lIHpvbmUgb3IgbG9jYWwKIGNhbGVuZGFyLCBlbmNvZGVkIGFzIGEgY291bnQgb2Ygc2Vjb25kcyBhbmQgZnJhY3Rpb25zIG9mIHNlY29uZHMgYXQKIG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4gVGhlIGNvdW50IGlzIHJlbGF0aXZlIHRvIGFuIGVwb2NoIGF0IFVUQyBtaWRuaWdodCBvbgogSmFudWFyeSAxLCAxOTcwLCBpbiB0aGUgcHJvbGVwdGljIEdyZWdvcmlhbiBjYWxlbmRhciB3aGljaCBleHRlbmRzIHRoZQogR3JlZ29yaWFuIGNhbGVuZGFyIGJhY2t3YXJkcyB0byB5ZWFyIG9uZS4KCiBBbGwgbWludXRlcyBhcmUgNjAgc2Vjb25kcyBsb25nLiBMZWFwIHNlY29uZHMgYXJlICJzbWVhcmVkIiBzbyB0aGF0IG5vIGxlYXAKIHNlY29uZCB0YWJsZSBpcyBuZWVkZWQgZm9yIGludGVycHJldGF0aW9uLCB1c2luZyBhIFsyNC1ob3VyIGxpbmVhcgogc21lYXJdKGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3RpbWUvc21lYXIpLgoKIFRoZSByYW5nZSBpcyBmcm9tIDAwMDEtMDEtMDFUMDA6MDA6MDBaIHRvIDk5OTktMTItMzFUMjM6NTk6NTkuOTk5OTk5OTk5Wi4gQnkKIHJlc3RyaWN0aW5nIHRvIHRoYXQgcmFuZ2UsIHdlIGVuc3VyZSB0aGF0IHdlIGNhbiBjb252ZXJ0IHRvIGFuZCBmcm9tIFtSRkMKIDMzMzldKGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMzMzM5LnR4dCkgZGF0ZSBzdHJpbmdzLgoKICMgRXhhbXBsZXMKCiBFeGFtcGxlIDE6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gUE9TSVggYHRpbWUoKWAuCgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKHRpbWUoTlVMTCkpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3MoMCk7CgogRXhhbXBsZSAyOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFBPU0lYIGBnZXR0aW1lb2ZkYXkoKWAuCgogICAgIHN0cnVjdCB0aW1ldmFsIHR2OwogICAgIGdldHRpbWVvZmRheSgmdHYsIE5VTEwpOwoKICAgICBUaW1lc3RhbXAgdGltZXN0YW1wOwogICAgIHRpbWVzdGFtcC5zZXRfc2Vjb25kcyh0di50dl9zZWMpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3ModHYudHZfdXNlYyAqIDEwMDApOwoKIEV4YW1wbGUgMzogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBXaW4zMiBgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoKWAuCgogICAgIEZJTEVUSU1FIGZ0OwogICAgIEdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lKCZmdCk7CiAgICAgVUlOVDY0IHRpY2tzID0gKCgoVUlOVDY0KWZ0LmR3SGlnaERhdGVUaW1lKSA8PCAzMikgfCBmdC5kd0xvd0RhdGVUaW1lOwoKICAgICAvLyBBIFdpbmRvd3MgdGljayBpcyAxMDAgbmFub3NlY29uZHMuIFdpbmRvd3MgZXBvY2ggMTYwMS0wMS0wMVQwMDowMDowMFoKICAgICAvLyBpcyAxMTY0NDQ3MzYwMCBzZWNvbmRzIGJlZm9yZSBVbml4IGVwb2NoIDE5NzAtMDEtMDFUMDA6MDA6MDBaLgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKChJTlQ2NCkgKCh0aWNrcyAvIDEwMDAwMDAwKSAtIDExNjQ0NDczNjAwTEwpKTsKICAgICB0aW1lc3RhbXAuc2V0X25hbm9zKChJTlQzMikgKCh0aWNrcyAlIDEwMDAwMDAwKSAqIDEwMCkpOwoKIEV4YW1wbGUgNDogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBKYXZhIGBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKWAuCgogICAgIGxvbmcgbWlsbGlzID0gU3lzdGVtLmN1cnJlbnRUaW1lTWlsbGlzKCk7CgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXAgPSBUaW1lc3RhbXAubmV3QnVpbGRlcigpLnNldFNlY29uZHMobWlsbGlzIC8gMTAwMCkKICAgICAgICAgLnNldE5hbm9zKChpbnQpICgobWlsbGlzICUgMTAwMCkgKiAxMDAwMDAwKSkuYnVpbGQoKTsKCiBFeGFtcGxlIDU6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gSmF2YSBgSW5zdGFudC5ub3coKWAuCgogICAgIEluc3RhbnQgbm93ID0gSW5zdGFudC5ub3coKTsKCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcCA9CiAgICAgICAgIFRpbWVzdGFtcC5uZXdCdWlsZGVyKCkuc2V0U2Vjb25kcyhub3cuZ2V0RXBvY2hTZWNvbmQoKSkKICAgICAgICAgICAgIC5zZXROYW5vcyhub3cuZ2V0TmFubygpKS5idWlsZCgpOwoKIEV4YW1wbGUgNjogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBjdXJyZW50IHRpbWUgaW4gUHl0aG9uLgoKICAgICB0aW1lc3RhbXAgPSBUaW1lc3RhbXAoKQogICAgIHRpbWVzdGFtcC5HZXRDdXJyZW50VGltZSgpCgogIyBKU09OIE1hcHBpbmcKCiBJbiBKU09OIGZvcm1hdCwgdGhlIFRpbWVzdGFtcCB0eXBlIGlzIGVuY29kZWQgYXMgYSBzdHJpbmcgaW4gdGhlCiBbUkZDIDMzMzldKGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMzMzM5LnR4dCkgZm9ybWF0LiBUaGF0IGlzLCB0aGUKIGZvcm1hdCBpcyAie3llYXJ9LXttb250aH0te2RheX1Ue2hvdXJ9OnttaW59OntzZWN9Wy57ZnJhY19zZWN9XVoiCiB3aGVyZSB7eWVhcn0gaXMgYWx3YXlzIGV4cHJlc3NlZCB1c2luZyBmb3VyIGRpZ2l0cyB3aGlsZSB7bW9udGh9LCB7ZGF5fSwKIHtob3VyfSwge21pbn0sIGFuZCB7c2VjfSBhcmUgemVyby1wYWRkZWQgdG8gdHdvIGRpZ2l0cyBlYWNoLiBUaGUgZnJhY3Rpb25hbAogc2Vjb25kcywgd2hpY2ggY2FuIGdvIHVwIHRvIDkgZGlnaXRzIChpLmUuIHVwIHRvIDEgbmFub3NlY29uZCByZXNvbHV0aW9uKSwKIGFyZSBvcHRpb25hbC4gVGhlICJaIiBzdWZmaXggaW5kaWNhdGVzIHRoZSB0aW1lem9uZSAoIlVUQyIpOyB0aGUgdGltZXpvbmUKIGlzIHJlcXVpcmVkLiBBIHByb3RvMyBKU09OIHNlcmlhbGl6ZXIgc2hvdWxkIGFsd2F5cyB1c2UgVVRDIChhcyBpbmRpY2F0ZWQgYnkKICJaIikgd2hlbiBwcmludGluZyB0aGUgVGltZXN0YW1wIHR5cGUgYW5kIGEgcHJvdG8zIEpTT04gcGFyc2VyIHNob3VsZCBiZQogYWJsZSB0byBhY2NlcHQgYm90aCBVVEMgYW5kIG90aGVyIHRpbWV6b25lcyAoYXMgaW5kaWNhdGVkIGJ5IGFuIG9mZnNldCkuCgogRm9yIGV4YW1wbGUsICIyMDE3LTAxLTE1VDAxOjMwOjE1LjAxWiIgZW5jb2RlcyAxNS4wMSBzZWNvbmRzIHBhc3QKIDAxOjMwIFVUQyBvbiBKYW51YXJ5IDE1LCAyMDE3LgoKIEluIEphdmFTY3JpcHQsIG9uZSBjYW4gY29udmVydCBhIERhdGUgb2JqZWN0IHRvIHRoaXMgZm9ybWF0IHVzaW5nIHRoZQogc3RhbmRhcmQKIFt0b0lTT1N0cmluZygpXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlL3RvSVNPU3RyaW5nKQogbWV0aG9kLiBJbiBQeXRob24sIGEgc3RhbmRhcmQgYGRhdGV0aW1lLmRhdGV0aW1lYCBvYmplY3QgY2FuIGJlIGNvbnZlcnRlZAogdG8gdGhpcyBmb3JtYXQgdXNpbmcKIFtgc3RyZnRpbWVgXShodHRwczovL2RvY3MucHl0aG9uLm9yZy8yL2xpYnJhcnkvdGltZS5odG1sI3RpbWUuc3RyZnRpbWUpIHdpdGgKIHRoZSB0aW1lIGZvcm1hdCBzcGVjICclWS0lbS0lZFQlSDolTTolUy4lZlonLiBMaWtld2lzZSwgaW4gSmF2YSwgb25lIGNhbiB1c2UKIHRoZSBKb2RhIFRpbWUncyBbYElTT0RhdGVUaW1lRm9ybWF0LmRhdGVUaW1lKClgXSgKIGh0dHA6Ly9qb2RhLXRpbWUuc291cmNlZm9yZ2UubmV0L2FwaWRvY3Mvb3JnL2pvZGEvdGltZS9mb3JtYXQvSVNPRGF0ZVRpbWVGb3JtYXQuaHRtbCNkYXRlVGltZSgpCiApIHRvIG9idGFpbiBhIGZvcm1hdHRlciBjYXBhYmxlIG9mIGdlbmVyYXRpbmcgdGltZXN0YW1wcyBpbiB0aGlzIGZvcm1hdC4KCgoLCgMEAAESBIQBCBEKnQEKBAQAAgASBIgBAhQajgEgUmVwcmVzZW50cyBzZWNvbmRzIG9mIFVUQyB0aW1lIHNpbmNlIFVuaXggZXBvY2gKIDE5NzAtMDEtMDFUMDA6MDA6MDBaLiBNdXN0IGJlIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8KIDk5OTktMTItMzFUMjM6NTk6NTlaIGluY2x1c2l2ZS4KCg0KBQQAAgAFEgSIAQIHCg0KBQQAAgABEgSIAQgPCg0KBQQAAgADEgSIARITCuUBCgQEAAIBEgSOAQISGtYBIE5vbi1uZWdhdGl2ZSBmcmFjdGlvbnMgb2YgYSBzZWNvbmQgYXQgbmFub3NlY29uZCByZXNvbHV0aW9uLiBOZWdhdGl2ZQogc2Vjb25kIHZhbHVlcyB3aXRoIGZyYWN0aW9ucyBtdXN0IHN0aWxsIGhhdmUgbm9uLW5lZ2F0aXZlIG5hbm9zIHZhbHVlcwogdGhhdCBjb3VudCBmb3J3YXJkIGluIHRpbWUuIE11c3QgYmUgZnJvbSAwIHRvIDk5OSw5OTksOTk5CiBpbmNsdXNpdmUuCgoNCgUEAAIBBRIEjgECBwoNCgUEAAIBARIEjgEIDQoNCgUEAAIBAxIEjgEQEWIGcHJvdG8zCs0jCh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIjCgtEb3VibGVWYWx1ZRIUCgV2YWx1ZRgBIAEoAVIFdmFsdWUiIgoKRmxvYXRWYWx1ZRIUCgV2YWx1ZRgBIAEoAlIFdmFsdWUiIgoKSW50NjRWYWx1ZRIUCgV2YWx1ZRgBIAEoA1IFdmFsdWUiIwoLVUludDY0VmFsdWUSFAoFdmFsdWUYASABKARSBXZhbHVlIiIKCkludDMyVmFsdWUSFAoFdmFsdWUYASABKAVSBXZhbHVlIiMKC1VJbnQzMlZhbHVlEhQKBXZhbHVlGAEgASgNUgV2YWx1ZSIhCglCb29sVmFsdWUSFAoFdmFsdWUYASABKAhSBXZhbHVlIiMKC1N0cmluZ1ZhbHVlEhQKBXZhbHVlGAEgASgJUgV2YWx1ZSIiCgpCeXRlc1ZhbHVlEhQKBXZhbHVlGAEgASgMUgV2YWx1ZUKDAQoTY29tLmdvb2dsZS5wcm90b2J1ZkINV3JhcHBlcnNQcm90b1ABWjFnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi93cmFwcGVyc3Bi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSsQfCgYSBCgAegEK2RAKAQwSAygAEjLOECBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCiBXcmFwcGVycyBmb3IgcHJpbWl0aXZlIChub24tbWVzc2FnZSkgdHlwZXMuIFRoZXNlIHR5cGVzIGFyZSB1c2VmdWwKIGZvciBlbWJlZGRpbmcgcHJpbWl0aXZlcyBpbiB0aGUgYGdvb2dsZS5wcm90b2J1Zi5BbnlgIHR5cGUgYW5kIGZvciBwbGFjZXMKIHdoZXJlIHdlIG5lZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGUgYWJzZW5jZSBvZiBhIHByaW1pdGl2ZQogdHlwZWQgZmllbGQgYW5kIGl0cyBkZWZhdWx0IHZhbHVlLgoKIFRoZXNlIHdyYXBwZXJzIGhhdmUgbm8gbWVhbmluZ2Z1bCB1c2Ugd2l0aGluIHJlcGVhdGVkIGZpZWxkcyBhcyB0aGV5IGxhY2sKIHRoZSBhYmlsaXR5IHRvIGRldGVjdCBwcmVzZW5jZSBvbiBpbmRpdmlkdWFsIGVsZW1lbnRzLgogVGhlc2Ugd3JhcHBlcnMgaGF2ZSBubyBtZWFuaW5nZnVsIHVzZSB3aXRoaW4gYSBtYXAgb3Ig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AHoBGlkgV3JhcHBlciBtZXNzYWdlIGZvciBgYnl0ZXNgLgoKIFRoZSBKU09OIHJlcHJlc2VudGF0aW9uIGZvciBgQnl0ZXNWYWx1ZWAgaXMgSlNPTiBzdHJpbmcuCgoKCgMECAESA3cIEgofCgQECAIAEgN5AhIaEiBUaGUgYnl0ZXMgdmFsdWUuCgoMCgUECAIABRIDeQIHCgwKBQQIAgABEgN5CA0KDAoFBAgCAAMSA3kQEWIGcHJvdG8zCvRiCi9nb29nbGUvcHJvdG9idWYvdW5pdHRlc3Rfd2VsbF9rbm93bl90eXBlcy5wcm90bxIRcHJvdG9idWZfdW5pdHRlc3QaGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8aGWdvb2dsZS9wcm90b2J1Zi9hcGkucHJvdG8aHmdvb2dsZS9wcm90b2J1Zi9kdXJhdGlvbi5wcm90bxobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvGiBnb29nbGUvcHJvdG9idWYvZmllbGRfbWFzay5wcm90bxokZ29vZ2xlL3Byb3RvYnVmL3NvdXJjZV9jb250ZXh0LnByb3RvGhxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvGh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvGhpnb29nbGUvcHJvdG9idWYvdHlwZS5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvIrQJChJUZXN0V2VsbEtub3duVHlwZXMSMQoJYW55X2ZpZWxkGAEgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIIYW55RmllbGQSMQoJYXBpX2ZpZWxkGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFwaVIIYXBpRmllbGQSQAoOZHVyYXRpb25fZmllbGQYAyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25SDWR1cmF0aW9uRmllbGQSNwoLZW1wdHlfZmllbGQYBCABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlSCmVtcHR5RmllbGQSRAoQZmllbGRfbWFza19maWVsZBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tSDmZpZWxkTWFza0ZpZWxkElAKFHNvdXJjZV9jb250ZXh0X2ZpZWxkGAYgASgLMh4uZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvbnRleHRSEnNvdXJjZUNvbnRleHRGaWVsZBI6CgxzdHJ1Y3RfZmllbGQYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0UgtzdHJ1Y3RGaWVsZBJDCg90aW1lc3RhbXBfZmllbGQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUg50aW1lc3RhbXBGaWVsZBI0Cgp0eXBlX2ZpZWxkGAkgASgLMhUuZ29vZ2xlLnByb3RvYnVmLlR5cGVSCXR5cGVGaWVsZBI/Cgxkb3VibGVfZmllbGQYCiABKAsyHC5nb29nbGUucHJvdG9idWYuRG91YmxlVmFsdWVSC2RvdWJsZUZpZWxkEjwKC2Zsb2F0X2ZpZWxkGAsgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZsb2F0VmFsdWVSCmZsb2F0RmllbGQSPAoLaW50NjRfZmllbGQYDCABKAsyGy5nb29nbGUucHJvdG9idWYuSW50NjRWYWx1ZVIKaW50NjRGaWVsZBI/Cgx1aW50NjRfZmllbGQYDSABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDY0VmFsdWVSC3VpbnQ2NEZpZWxkEjwKC2ludDMyX2ZpZWxkGA4gASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSCmludDMyRmllbGQSPwoMdWludDMyX2ZpZWxkGA8gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQzMlZhbHVlUgt1aW50MzJGaWVsZBI5Cgpib29sX2ZpZWxkGBAgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIJYm9vbEZpZWxkEj8KDHN0cmluZ19maWVsZBgRIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVILc3RyaW5nRmllbGQSPAoLYnl0ZXNfZmllbGQYEiABKAsyGy5nb29nbGUucHJvdG9idWYuQnl0ZXNWYWx1ZVIKYnl0ZXNGaWVsZBI3Cgt2YWx1ZV9maWVsZBgTIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIKdmFsdWVGaWVsZCL/CAoWUmVwZWF0ZWRXZWxsS25vd25UeXBlcxIxCglhbnlfZmllbGQYASADKAsyFC5nb29nbGUucHJvdG9idWYuQW55UghhbnlGaWVsZBIxCglhcGlfZmllbGQYAiADKAsyFC5nb29nbGUucHJvdG9idWYuQXBpUghhcGlGaWVsZBJACg5kdXJhdGlvbl9maWVsZBgDIAMoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblINZHVyYXRpb25GaWVsZBI3CgtlbXB0eV9maWVsZBgEIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eVIKZW1wdHlGaWVsZBJEChBmaWVsZF9tYXNrX2ZpZWxkGAUgAygLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza1IOZmllbGRNYXNrRmllbGQSUAoUc291cmNlX2NvbnRleHRfZmllbGQYBiADKAsyHi5nb29nbGUucHJvdG9idWYuU291cmNlQ29udGV4dFISc291cmNlQ29udGV4dEZpZWxkEjoKDHN0cnVjdF9maWVsZBgHIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RSC3N0cnVjdEZpZWxkEkMKD3RpbWVzdGFtcF9maWVsZBgIIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSDnRpbWVzdGFtcEZpZWxkEjQKCnR5cGVfZmllbGQYCSADKAsyFS5nb29nbGUucHJvdG9idWYuVHlwZVIJdHlwZUZpZWxkEj8KDGRvdWJsZV9maWVsZBgKIAMoCzIcLmdvb2dsZS5wcm90b2J1Zi5Eb3VibGVWYWx1ZVILZG91YmxlRmllbGQSPAoLZmxvYXRfZmllbGQYCyADKAsyGy5nb29nbGUucHJvdG9idWYuRmxvYXRWYWx1ZVIKZmxvYXRGaWVsZBI8CgtpbnQ2NF9maWVsZBgMIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlUgppbnQ2NEZpZWxkEj8KDHVpbnQ2NF9maWVsZBgNIAMoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50NjRWYWx1ZVILdWludDY0RmllbGQSPAoLaW50MzJfZmllbGQYDiADKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIKaW50MzJGaWVsZBI/Cgx1aW50MzJfZmllbGQYDyADKAsyHC5nb29nbGUucHJvdG9idWYuVUludDMyVmFsdWVSC3VpbnQzMkZpZWxkEjkKCmJvb2xfZmllbGQYECADKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUglib29sRmllbGQSPwoMc3RyaW5nX2ZpZWxkGBEgAygLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtzdHJpbmdGaWVsZBI8CgtieXRlc19maWVsZBgSIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5CeXRlc1ZhbHVlUgpieXRlc0ZpZWxkIq8JChNPbmVvZldlbGxLbm93blR5cGVzEjMKCWFueV9maWVsZBgBIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlIAFIIYW55RmllbGQSMwoJYXBpX2ZpZWxkGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFwaUgAUghhcGlGaWVsZBJCCg5kdXJhdGlvbl9maWVsZBgDIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkgAUg1kdXJhdGlvbkZpZWxkEjkKC2VtcHR5X2ZpZWxkGAQgASgLMhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5SABSCmVtcHR5RmllbGQSRgoQZmllbGRfbWFza19maWVsZBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tIAFIOZmllbGRNYXNrRmllbGQSUgoUc291cmNlX2NvbnRleHRfZmllbGQYBiABKAsyHi5nb29nbGUucHJvdG9idWYuU291cmNlQ29udGV4dEgAUhJzb3VyY2VDb250ZXh0RmllbGQSPAoMc3RydWN0X2ZpZWxkGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAUgtzdHJ1Y3RGaWVsZBJFCg90aW1lc3RhbXBfZmllbGQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSABSDnRpbWVzdGFtcEZpZWxkEjYKCnR5cGVfZmllbGQYCSABKAsyFS5nb29nbGUucHJvdG9idWYuVHlwZUgAUgl0eXBlRmllbGQSQQoMZG91YmxlX2ZpZWxkGAogASgLMhwuZ29vZ2xlLnByb3RvYnVmLkRvdWJsZVZhbHVlSABSC2RvdWJsZUZpZWxkEj4KC2Zsb2F0X2ZpZWxkGAsgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZsb2F0VmFsdWVIAFIKZmxvYXRGaWVsZBI+CgtpbnQ2NF9maWVsZBgMIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlSABSCmludDY0RmllbGQSQQoMdWludDY0X2ZpZWxkGA0gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQ2NFZhbHVlSABSC3VpbnQ2NEZpZWxkEj4KC2ludDMyX2ZpZWxkGA4gASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVIAFIKaW50MzJGaWVsZBJBCgx1aW50MzJfZmllbGQYDyABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDMyVmFsdWVIAFILdWludDMyRmllbGQSOwoKYm9vbF9maWVsZBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVIAFIJYm9vbEZpZWxkEkEKDHN0cmluZ19maWVsZBgRIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUgAUgtzdHJpbmdGaWVsZBI+CgtieXRlc19maWVsZBgSIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5CeXRlc1ZhbHVlSABSCmJ5dGVzRmllbGRCDQoLb25lb2ZfZmllbGQi2BkKEU1hcFdlbGxLbm93blR5cGVzEk8KCWFueV9maWVsZBgBIAMoCzIyLnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLkFueUZpZWxkRW50cnlSCGFueUZpZWxkEk8KCWFwaV9maWVsZBgCIAMoCzIyLnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLkFwaUZpZWxkRW50cnlSCGFwaUZpZWxkEl4KDmR1cmF0aW9uX2ZpZWxkGAMgAygLMjcucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuRHVyYXRpb25GaWVsZEVudHJ5Ug1kdXJhdGlvbkZpZWxkElUKC2VtcHR5X2ZpZWxkGAQgAygLMjQucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuRW1wdHlGaWVsZEVudHJ5UgplbXB0eUZpZWxkEmIKEGZpZWxkX21hc2tfZmllbGQYBSADKAsyOC5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5GaWVsZE1hc2tGaWVsZEVudHJ5Ug5maWVsZE1hc2tGaWVsZBJuChRzb3VyY2VfY29udGV4dF9maWVsZBgGIAMoCzI8LnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLlNvdXJjZUNvbnRleHRGaWVsZEVudHJ5UhJzb3VyY2VDb250ZXh0RmllbGQSWAoMc3RydWN0X2ZpZWxkGAcgAygLMjUucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuU3RydWN0RmllbGRFbnRyeVILc3RydWN0RmllbGQSYQoPdGltZXN0YW1wX2ZpZWxkGAggAygLMjgucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuVGltZXN0YW1wRmllbGRFbnRyeVIOdGltZXN0YW1wRmllbGQSUgoKdHlwZV9maWVsZBgJIAMoCzIzLnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLlR5cGVGaWVsZEVudHJ5Ugl0eXBlRmllbGQSWAoMZG91YmxlX2ZpZWxkGAogAygLMjUucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuRG91YmxlRmllbGRFbnRyeVILZG91YmxlRmllbGQSVQoLZmxvYXRfZmllbGQYCyADKAsyNC5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5GbG9hdEZpZWxkRW50cnlSCmZsb2F0RmllbGQSVQoLaW50NjRfZmllbGQYDCADKAsyNC5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5JbnQ2NEZpZWxkRW50cnlSCmludDY0RmllbGQSWAoMdWludDY0X2ZpZWxkGA0gAygLMjUucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuVWludDY0RmllbGRFbnRyeVILdWludDY0RmllbGQSVQoLaW50MzJfZmllbGQYDiADKAsyNC5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5JbnQzMkZpZWxkRW50cnlSCmludDMyRmllbGQSWAoMdWludDMyX2ZpZWxkGA8gAygLMjUucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuVWludDMyRmllbGRFbnRyeVILdWludDMyRmllbGQSUgoKYm9vbF9maWVsZBgQIAMoCzIzLnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLkJvb2xGaWVsZEVudHJ5Uglib29sRmllbGQSWAoMc3RyaW5nX2ZpZWxkGBEgAygLMjUucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuU3RyaW5nRmllbGRFbnRyeVILc3RyaW5nRmllbGQSVQoLYnl0ZXNfZmllbGQYEiADKAsyNC5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5CeXRlc0ZpZWxkRW50cnlSCmJ5dGVzRmllbGQaUQoNQW55RmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIqCgV2YWx1ZRgCIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSBXZhbHVlOgI4ARpRCg1BcGlGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EioKBXZhbHVlGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFwaVIFdmFsdWU6AjgBGlsKEkR1cmF0aW9uRmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIvCgV2YWx1ZRgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblIFdmFsdWU6AjgBGlUKD0VtcHR5RmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eVIFdmFsdWU6AjgBGl0KE0ZpZWxkTWFza0ZpZWxkRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSMAoFdmFsdWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrUgV2YWx1ZToCOAEaZQoXU291cmNlQ29udGV4dEZpZWxkRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSNAoFdmFsdWUYAiABKAsyHi5nb29nbGUucHJvdG9idWYuU291cmNlQ29udGV4dFIFdmFsdWU6AjgBGlcKEFN0cnVjdEZpZWxkRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSLQoFdmFsdWUYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0UgV2YWx1ZToCOAEaXQoTVGltZXN0YW1wRmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIwCgV2YWx1ZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSBXZhbHVlOgI4ARpTCg5UeXBlRmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIrCgV2YWx1ZRgCIAEoCzIVLmdvb2dsZS5wcm90b2J1Zi5UeXBlUgV2YWx1ZToCOAEaXAoQRG91YmxlRmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIyCgV2YWx1ZRgCIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5Eb3VibGVWYWx1ZVIFdmFsdWU6AjgBGloKD0Zsb2F0RmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIxCgV2YWx1ZRgCIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GbG9hdFZhbHVlUgV2YWx1ZToCOAEaWgoPSW50NjRGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjEKBXZhbHVlGAIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDY0VmFsdWVSBXZhbHVlOgI4ARpcChBVaW50NjRGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjIKBXZhbHVlGAIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQ2NFZhbHVlUgV2YWx1ZToCOAEaWgoPSW50MzJGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjEKBXZhbHVlGAIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSBXZhbHVlOgI4ARpcChBVaW50MzJGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjIKBXZhbHVlGAIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQzMlZhbHVlUgV2YWx1ZToCOAEaWAoOQm9vbEZpZWxkRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSMAoFdmFsdWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUgV2YWx1ZToCOAEaXAoQU3RyaW5nRmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIyCgV2YWx1ZRgCIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIFdmFsdWU6AjgBGloKD0J5dGVzRmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIxCgV2YWx1ZRgCIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5CeXRlc1ZhbHVlUgV2YWx1ZToCOAFCOQoYY29tLmdvb2dsZS5wcm90b2J1Zi50ZXN0UAGqAhpHb29nbGUuUHJvdG9idWYuVGVzdFByb3Rvc0ruKQoGEgQHAHgBCpQCCgEMEgMHABIyiQIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKCggKAQISAwkAGgoICgEIEgMLADcKCQoCCCUSAwsANwoICgEIEgMMACIKCQoCCAoSAwwAIgoICgEIEgMNADEKCQoCCAESAw0AMQoJCgIDABIDDwAjCgkKAgMBEgMQACMKCQoCAwISAxEAKAoJCgIDAxIDEgAlCgkKAgMEEgMTACoKCQoCAwUSAxQALgoJCgIDBhIDFQAmCgkKAgMHEgMWACkKCQoCAwgSAxcAJAoJCgIDCRIDGAAoCqcBCgIEABIEHQAyARqaASBUZXN0IHRoYXQgd2UgY2FuIGluY2x1ZGUgYWxsIHdlbGwta25vd24gdHlwZXMuCiBFYWNoIHdyYXBwZXIgdHlwZSBpcyBpbmNsdWRlZCBzZXBhcmF0ZWx5LCBhcyBsYW5ndWFnZXMKIG1hcCBoYW5kbGUgZGlmZmVyZW50IHdy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BAMCDQESA3MoMwoMCgUEAwINAxIDczY4CgsKBAQDAg4SA3QCOwoMCgUEAwIOBhIDdAIoCgwKBQQDAg4BEgN0KTUKDAoFBAMCDgMSA3Q4OgoLCgQEAwIPEgN1AjcKDAoFBAMCDwYSA3UCJgoMCgUEAwIPARIDdScxCgwKBQQDAg8DEgN1NDYKCwoEBAMCEBIDdgI7CgwKBQQDAhAGEgN2AigKDAoFBAMCEAESA3YpNQoMCgUEAwIQAxIDdjg6CgsKBAQDAhESA3cCOQoMCgUEAwIRBhIDdwInCgwKBQQDAhEBEgN3KDMKDAoFBAMCEQMSA3c2OGIGcHJvdG8zCv7FAQoqZ29vZ2xlL3Byb3RvYnVmL3Rlc3RfbWVzc2FnZXNfcHJvdG8zLnByb3RvEh1wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMxoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL2R1cmF0aW9uLnByb3RvGiBnb29nbGUvcHJvdG9idWYvZmllbGRfbWFzay5wcm90bxocZ29vZ2xlL3Byb3RvYnVmL3N0cnVjdC5wcm90bxofZ29vZ2xlL3Byb3RvYnVmL3RpbWVzdGFtcC5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvIplbChJUZXN0QWxsVHlwZXNQcm90bzMSJQoOb3B0aW9uYWxfaW50MzIYASABKAVSDW9wdGlvbmFsSW50MzISJQoOb3B0aW9uYWxfaW50NjQYAiABKANSDW9wdGlvbmFsSW50NjQSJwoPb3B0aW9uYWxfdWludDMyGAMgASgNUg5vcHRpb25hbFVpbnQzMhInCg9vcHRpb25hbF91aW50NjQYBCABKARSDm9wdGlvbmFsVWludDY0EicKD29wdGlvbmFsX3NpbnQzMhgFIAEoEVIOb3B0aW9uYWxTaW50MzISJwoPb3B0aW9uYWxfc2ludDY0GAYgASgSUg5vcHRpb25hbFNpbnQ2NBIpChBvcHRpb25hbF9maXhlZDMyGAcgASgHUg9vcHRpb25hbEZpeGVkMzISKQoQb3B0aW9uYWxfZml4ZWQ2NBgIIAEoBlIPb3B0aW9uYWxGaXhlZDY0EisKEW9wdGlvbmFsX3NmaXhlZDMyGAkgASgPUhBvcHRpb25hbFNmaXhlZDMyEisKEW9wdGlvbmFsX3NmaXhlZDY0GAogASgQUhBvcHRpb25hbFNmaXhlZDY0EiUKDm9wdGlvbmFsX2Zsb2F0GAsgASgCUg1vcHRpb25hbEZsb2F0EicKD29wdGlvbmFsX2RvdWJsZRgMIAEoAVIOb3B0aW9uYWxEb3VibGUSIwoNb3B0aW9uYWxfYm9vbBgNIAEoCFIMb3B0aW9uYWxCb29sEicKD29wdGlvbmFsX3N0cmluZxgOIAEoCVIOb3B0aW9uYWxTdHJpbmcSJQoOb3B0aW9uYWxfYnl0ZXMYDyABKAxSDW9wdGlvbmFsQnl0ZXMSdwoXb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2UYEiABKAsyPy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTmVzdGVkTWVzc2FnZVIVb3B0aW9uYWxOZXN0ZWRNZXNzYWdlEmcKGG9wdGlvbmFsX2ZvcmVpZ25fbWVzc2FnZRgTIAEoCzItLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLkZvcmVpZ25NZXNzYWdlUhZvcHRpb25hbEZvcmVpZ25NZXNzYWdlEm4KFG9wdGlvbmFsX25lc3RlZF9lbnVtGBUgASgOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZEVudW1SEm9wdGlvbmFsTmVzdGVkRW51bRJeChVvcHRpb25hbF9mb3JlaWduX2VudW0YFiABKA4yKi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5Gb3JlaWduRW51bVITb3B0aW9uYWxGb3JlaWduRW51bRJxChVvcHRpb25hbF9hbGlhc2VkX2VudW0YFyABKA4yPS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuQWxpYXNlZEVudW1SE29wdGlvbmFsQWxpYXNlZEVudW0SNgoVb3B0aW9uYWxfc3RyaW5nX3BpZWNlGBggASgJQgIIAlITb3B0aW9uYWxTdHJpbmdQaWVjZRInCg1vcHRpb25hbF9jb3JkGBkgASgJQgIIAVIMb3B0aW9uYWxDb3JkEl4KEXJlY3Vyc2l2ZV9tZXNzYWdlGBsgASgLMjEucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zUhByZWN1cnNpdmVNZXNzYWdlEiUKDnJlcGVhdGVkX2ludDMyGB8gAygFUg1yZXBlYXRlZEludDMyEiUKDnJlcGVhdGVkX2ludDY0GCAgAygDUg1yZXBlYXRlZEludDY0EicKD3JlcGVhdGVkX3VpbnQzMhghIAMoDVIOcmVwZWF0ZWRVaW50MzISJwoPcmVwZWF0ZWRfdWludDY0GCIgAygEUg5yZXBlYXRlZFVpbnQ2NBInCg9yZXBlYXRlZF9zaW50MzIYIyADKBFSDnJlcGVhdGVkU2ludDMyEicKD3JlcGVhdGVkX3NpbnQ2NBgkIAMoElIOcmVwZWF0ZWRTaW50NjQSKQoQcmVwZWF0ZWRfZml4ZWQzMhglIAMoB1IPcmVwZWF0ZWRGaXhlZDMyEikKEHJlcGVhdGVkX2ZpeGVkNjQYJiADKAZSD3JlcGVhdGVkRml4ZWQ2NBIrChFyZXBlYXRlZF9zZml4ZWQzMhgnIAMoD1IQcmVwZWF0ZWRTZml4ZWQzMhIrChFyZXBlYXRlZF9zZml4ZWQ2NBgoIAMoEFIQcmVwZWF0ZWRTZml4ZWQ2NBIlCg5yZXBlYXRlZF9mbG9hdBgpIAMoAlINcmVwZWF0ZWRGbG9hdBInCg9yZXBlYXRlZF9kb3VibGUYKiADKAFSDnJlcGVhdGVkRG91YmxlEiMKDXJlcGVhdGVkX2Jvb2wYKyADKAhSDHJlcGVhdGVkQm9vbBInCg9yZXBlYXRlZF9zdHJpbmcYLCADKAlSDnJlcGVhdGVkU3RyaW5nEiUKDnJlcGVhdGVkX2J5dGVzGC0gAygMUg1yZXBlYXRlZEJ5dGVzEncKF3JlcGVhdGVkX25lc3RlZF9tZXNzYWdlGDAgAygLMj8ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZE1lc3NhZ2VSFXJlcGVhdGVkTmVzdGVkTWVzc2FnZRJnChhyZXBlYXRlZF9mb3JlaWduX21lc3NhZ2UYMSADKAsyLS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5Gb3JlaWduTWVzc2FnZVIWcmVwZWF0ZWRGb3JlaWduTWVzc2FnZRJuChRyZXBlYXRlZF9uZXN0ZWRfZW51bRgzIAMoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRFbnVtUhJyZXBlYXRlZE5lc3RlZEVudW0SXgoVcmVwZWF0ZWRfZm9yZWlnbl9lbnVtGDQgAygOMioucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuRm9yZWlnbkVudW1SE3JlcGVhdGVkRm9yZWlnbkVudW0SNgoVcmVwZWF0ZWRfc3RyaW5nX3BpZWNlGDYgAygJQgIIAlITcmVwZWF0ZWRTdHJpbmdQaWVjZRInCg1yZXBlYXRlZF9jb3JkGDcgAygJQgIIAVIMcmVwZWF0ZWRDb3JkEiUKDHBhY2tlZF9pbnQzMhhLIAMoBUICEAFSC3BhY2tlZEludDMyEiUKDHBhY2tlZF9pbnQ2NBhMIAMoA0ICEAFSC3BhY2tlZEludDY0EicKDXBhY2tlZF91aW50MzIYTSADKA1CAhABUgxwYWNrZWRVaW50MzISJwoNcGFja2VkX3VpbnQ2NBhOIAMoBEICEAFSDHBhY2tlZFVpbnQ2NBInCg1wYWNrZWRfc2ludDMyGE8gAygRQgIQAVIMcGFja2VkU2ludDMyEicKDXBhY2tlZF9zaW50NjQYUCADKBJCAhABUgxwYWNrZWRTaW50NjQSKQoOcGFja2VkX2ZpeGVkMzIYUSADKAdCAhABUg1wYWNrZWRGaXhlZDMyEikKDnBhY2tlZF9maXhlZDY0GFIgAygGQgIQAVINcGFja2VkRml4ZWQ2NBIrCg9wYWNrZWRfc2ZpeGVkMzIYUyADKA9CAhABUg5wYWNrZWRTZml4ZWQzMhIrCg9wYWNrZWRfc2ZpeGVkNjQYVCADKBBCAhABUg5wYWNrZWRTZml4ZWQ2NBIlCgxwYWNrZWRfZmxvYXQYVSADKAJCAhABUgtwYWNrZWRGbG9hdBInCg1wYWNrZWRfZG91YmxlGFYgAygBQgIQAVIMcGFja2VkRG91YmxlEiMKC3BhY2tlZF9ib29sGFcgAygIQgIQAVIKcGFja2VkQm9vbBJuChJwYWNrZWRfbmVzdGVkX2VudW0YWCADKA4yPC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTmVzdGVkRW51bUICEAFSEHBhY2tlZE5lc3RlZEVudW0SKQoOdW5wYWNrZWRfaW50MzIYWSADKAVCAhAAUg11bnBhY2tlZEludDMyEikKDnVucGFja2VkX2ludDY0GFogAygDQgIQAFINdW5wYWNrZWRJbnQ2NBIrCg91bnBhY2tlZF91aW50MzIYWyADKA1CAhAAUg51bnBhY2tlZFVpbnQzMhIrCg91bnBhY2tlZF91aW50NjQYXCADKARCAhAAUg51bnBhY2tlZFVpbnQ2NBIrCg91bnBhY2tlZF9zaW50MzIYXSADKBFCAhAAUg51bnBhY2tlZFNpbnQzMhIrCg91bnBhY2tlZF9zaW50NjQYXiADKBJCAhAAUg51bnBhY2tlZFNpbnQ2NBItChB1bnBhY2tlZF9maXhlZDMyGF8gAygHQgIQAFIPdW5wYWNrZWRGaXhlZDMyEi0KEHVucGFja2VkX2ZpeGVkNjQYYCADKAZCAhAAUg91bnBhY2tlZEZpeGVkNjQSLwoRdW5wYWNrZWRfc2ZpeGVkMzIYYSADKA9CAhAAUhB1bnBhY2tlZFNmaXhlZDMyEi8KEXVucGFja2VkX3NmaXhlZDY0GGIgAygQQgIQAFIQdW5wYWNrZWRTZml4ZWQ2NBIpCg51bnBhY2tlZF9mbG9hdBhjIAMoAkICEABSDXVucGFja2VkRmxvYXQSKwoPdW5wYWNrZWRfZG91YmxlGGQgAygBQgIQAFIOdW5wYWNrZWREb3VibGUSJwoNdW5wYWNrZWRfYm9vbBhlIAMoCEICEABSDHVucGFja2VkQm9vbBJyChR1bnBhY2tlZF9uZXN0ZWRfZW51bRhmIAMoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRFbnVtQgIQAFISdW5wYWNrZWROZXN0ZWRFbnVtEmwKD21hcF9pbnQzMl9pbnQzMhg4IAMoCzJELnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBJbnQzMkludDMyRW50cnlSDW1hcEludDMySW50MzISbAoPbWFwX2ludDY0X2ludDY0GDkgAygLMkQucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcEludDY0SW50NjRFbnRyeVINbWFwSW50NjRJbnQ2NBJyChFtYXBfdWludDMyX3VpbnQzMhg6IAMoCzJGLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBVaW50MzJVaW50MzJFbnRyeVIPbWFwVWludDMyVWludDMyEnIKEW1hcF91aW50NjRfdWludDY0GDsgAygLMkYucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFVpbnQ2NFVpbnQ2NEVudHJ5Ug9tYXBVaW50NjRVaW50NjQScgoRbWFwX3NpbnQzMl9zaW50MzIYPCADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU2ludDMyU2ludDMyRW50cnlSD21hcFNpbnQzMlNpbnQzMhJyChFtYXBfc2ludDY0X3NpbnQ2NBg9IAMoCzJGLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBTaW50NjRTaW50NjRFbnRyeVIPbWFwU2ludDY0U2ludDY0EngKE21hcF9maXhlZDMyX2ZpeGVkMzIYPiADKAsySC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwRml4ZWQzMkZpeGVkMzJFbnRyeVIRbWFwRml4ZWQzMkZpeGVkMzISeAoTbWFwX2ZpeGVkNjRfZml4ZWQ2NBg/IAMoCzJILnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBGaXhlZDY0Rml4ZWQ2NEVudHJ5UhFtYXBGaXhlZDY0Rml4ZWQ2NBJ+ChVtYXBfc2ZpeGVkMzJfc2ZpeGVkMzIYQCADKAsySi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU2ZpeGVkMzJTZml4ZWQzMkVudHJ5UhNtYXBTZml4ZWQzMlNmaXhlZDMyEn4KFW1hcF9zZml4ZWQ2NF9zZml4ZWQ2NBhBIAMoCzJKLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBTZml4ZWQ2NFNmaXhlZDY0RW50cnlSE21hcFNmaXhlZDY0U2ZpeGVkNjQSbAoPbWFwX2ludDMyX2Zsb2F0GEIgAygLMkQucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcEludDMyRmxvYXRFbnRyeVINbWFwSW50MzJGbG9hdBJvChBtYXBfaW50MzJfZG91YmxlGEMgAygLMkUucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcEludDMyRG91YmxlRW50cnlSDm1hcEludDMyRG91YmxlEmYKDW1hcF9ib29sX2Jvb2wYRCADKAsyQi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwQm9vbEJvb2xFbnRyeVILbWFwQm9vbEJvb2wScgoRbWFwX3N0cmluZ19zdHJpbmcYRSADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU3RyaW5nU3RyaW5nRW50cnlSD21hcFN0cmluZ1N0cmluZxJvChBtYXBfc3RyaW5nX2J5dGVzGEYgAygLMkUucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFN0cmluZ0J5dGVzRW50cnlSDm1hcFN0cmluZ0J5dGVzEogBChltYXBfc3RyaW5nX25lc3RlZF9tZXNzYWdlGEcgAygLMk0ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFN0cmluZ05lc3RlZE1lc3NhZ2VFbnRyeVIWbWFwU3RyaW5nTmVzdGVkTWVzc2FnZRKLAQoabWFwX3N0cmluZ19mb3JlaWduX21lc3NhZ2UYSCADKAsyTi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU3RyaW5nRm9yZWlnbk1lc3NhZ2VFbnRyeVIXbWFwU3RyaW5nRm9yZWlnbk1lc3NhZ2USfwoWbWFwX3N0cmluZ19uZXN0ZWRfZW51bRhJIAMoCzJKLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBTdHJpbmdOZXN0ZWRFbnVtRW50cnlSE21hcFN0cmluZ05lc3RlZEVudW0SggEKF21hcF9zdHJpbmdfZm9yZWlnbl9lbnVtGEogAygLMksucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFN0cmluZ0ZvcmVpZ25FbnVtRW50cnlSFG1hcFN0cmluZ0ZvcmVpZ25FbnVtEiMKDG9uZW9mX3VpbnQzMhhvIAEoDUgAUgtvbmVvZlVpbnQzMhJzChRvbmVvZl9uZXN0ZWRfbWVzc2FnZRhwIAEoCzI/LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRNZXNzYWdlSABSEm9uZW9mTmVzdGVkTWVzc2FnZRIjCgxvbmVvZl9zdHJpbmcYcSABKAlIAFILb25lb2ZTdHJpbmcSIQoLb25lb2ZfYnl0ZXMYciABKAxIAFIKb25lb2ZCeXRlcxIfCgpvbmVvZl9ib29sGHMgASgISABSCW9uZW9mQm9vbBIjCgxvbmVvZl91aW50NjQYdCABKARIAFILb25lb2ZVaW50NjQSIQoLb25lb2ZfZmxvYXQYdSABKAJIAFIKb25lb2ZGbG9hdBIjCgxvbmVvZl9kb3VibGUYdiABKAFIAFILb25lb2ZEb3VibGUSXQoKb25lb2ZfZW51bRh3IAEoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRFbnVtSABSCW9uZW9mRW51bRJGChBvbmVvZl9udWxsX3ZhbHVlGHggASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZUgAUg5vbmVvZk51bGxWYWx1ZRJPChVvcHRpb25hbF9ib29sX3dyYXBwZXIYyQEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVITb3B0aW9uYWxCb29sV3JhcHBlchJSChZvcHRpb25hbF9pbnQzMl93cmFwcGVyGMoBIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhRvcHRpb25hbEludDMyV3JhcHBlchJSChZvcHRpb25hbF9pbnQ2NF93cmFwcGVyGMsBIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlUhRvcHRpb25hbEludDY0V3JhcHBlchJVChdvcHRpb25hbF91aW50MzJfd3JhcHBlchjMASABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDMyVmFsdWVSFW9wdGlvbmFsVWludDMyV3JhcHBlchJVChdvcHRpb25hbF91aW50NjRfd3JhcHBlchjNASABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDY0VmFsdWVSFW9wdGlvbmFsVWludDY0V3JhcHBlchJSChZvcHRpb25hbF9mbG9hdF93cmFwcGVyGM4BIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GbG9hdFZhbHVlUhRvcHRpb25hbEZsb2F0V3JhcHBlchJVChdvcHRpb25hbF9kb3VibGVfd3JhcHBlchjPASABKAsyHC5nb29nbGUucHJvdG9idWYuRG91YmxlVmFsdWVSFW9wdGlvbmFsRG91YmxlV3JhcHBlchJVChdvcHRpb25hbF9zdHJpbmdfd3JhcHBlchjQASABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSFW9wdGlvbmFsU3RyaW5nV3JhcHBlchJSChZvcHRpb25hbF9ieXRlc193cmFwcGVyGNEBIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5CeXRlc1ZhbHVlUhRvcHRpb25hbEJ5dGVzV3JhcHBlchJPChVyZXBlYXRlZF9ib29sX3dyYXBwZXIY0wEgAygLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVITcmVwZWF0ZWRCb29sV3JhcHBlchJSChZyZXBlYXRlZF9pbnQzMl93cmFwcGVyGNQBIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhRyZXBlYXRlZEludDMyV3JhcHBlchJSChZyZXBlYXRlZF9pbnQ2NF93cmFwcGVyGNUBIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlUhRyZXBlYXRlZEludDY0V3JhcHBlchJVChdyZXBlYXRlZF91aW50MzJfd3JhcHBlchjWASADKAsyHC5nb29nbGUucHJvdG9idWYuVUludDMyVmFsdWVSFXJlcGVhdGVkVWludDMyV3JhcHBlchJVChdyZXBlYXRlZF91aW50NjRfd3JhcHBlchjXASADKAsyHC5nb29nbGUucHJvdG9idWYuVUludDY0VmFsdWVSFXJlcGVhdGVkVWludDY0V3JhcHBlchJSChZyZXBlYXRlZF9mbG9hdF93cmFwcGVyGNgBIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5GbG9hdFZhbHVlUhRyZXBlYXRlZEZsb2F0V3JhcHBlchJVChdyZXBlYXRlZF9kb3VibGVfd3JhcHBlchjZASADKAsyHC5nb29nbGUucHJvdG9idWYuRG91YmxlVmFsdWVSFXJlcGVhdGVkRG91YmxlV3JhcHBlchJVChdyZXBlYXRlZF9zdHJpbmdfd3JhcHBlchjaASADKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSFXJlcGVhdGVkU3RyaW5nV3JhcHBlchJSChZyZXBlYXRlZF9ieXRlc193cmFwcGVyGNsBIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5CeXRlc1ZhbHVlUhRyZXBlYXRlZEJ5dGVzV3JhcHBlchJHChFvcHRpb25hbF9kdXJhdGlvbhitAiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25SEG9wdGlvbmFsRHVyYXRpb24SSgoSb3B0aW9uYWxfdGltZXN0YW1wGK4CIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSEW9wdGlvbmFsVGltZXN0YW1wEksKE29wdGlvbmFsX2ZpZWxkX21hc2sYrwIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza1IRb3B0aW9uYWxGaWVsZE1hc2sSQQoPb3B0aW9uYWxfc3RydWN0GLACIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RSDm9wdGlvbmFsU3RydWN0EjgKDG9wdGlvbmFsX2FueRixAiABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgtvcHRpb25hbEFueRI+Cg5vcHRpb25hbF92YWx1ZRiyAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSDW9wdGlvbmFsVmFsdWUSSwoTb3B0aW9uYWxfbnVsbF92YWx1ZRizAiABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlUhFvcHRpb25hbE51bGxWYWx1ZRJHChFyZXBlYXRlZF9kdXJhdGlvbhi3AiADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25SEHJlcGVhdGVkRHVyYXRpb24SSgoScmVwZWF0ZWRfdGltZXN0YW1wGLgCIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSEXJlcGVhdGVkVGltZXN0YW1wEkoKEnJlcGVhdGVkX2ZpZWxkbWFzaxi5AiADKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrUhFyZXBlYXRlZEZpZWxkbWFzaxJBCg9yZXBlYXRlZF9zdHJ1Y3QYxAIgAygLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdFIOcmVwZWF0ZWRTdHJ1Y3QSOAoMcmVwZWF0ZWRfYW55GLsCIAMoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSC3JlcGVhdGVkQW55Ej4KDnJlcGVhdGVkX3ZhbHVlGLwCIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVINcmVwZWF0ZWRWYWx1ZRJLChNyZXBlYXRlZF9saXN0X3ZhbHVlGL0CIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5MaXN0VmFsdWVSEXJlcGVhdGVkTGlzdFZhbHVlEh8KCmZpZWxkbmFtZTEYkQMgASgFUgpmaWVsZG5hbWUxEiAKC2ZpZWxkX25hbWUyGJIDIAEoBVIKZmllbGROYW1lMhIhCgxfZmllbGRfbmFtZTMYkwMgASgFUgpGaWVsZE5hbWUzEiIKDWZpZWxkX19uYW1lNF8YlAMgASgFUgpmaWVsZE5hbWU0EiEKC2ZpZWxkMG5hbWU1GJUDIAEoBVILZmllbGQwbmFtZTUSIwoNZmllbGRfMF9uYW1lNhiWAyABKAVSC2ZpZWxkME5hbWU2Eh8KCmZpZWxkTmFtZTcYlwMgASgFUgpmaWVsZE5hbWU3Eh8KCkZpZWxkTmFtZTgYmAMgASgFUgpGaWVsZE5hbWU4EiAKC2ZpZWxkX05hbWU5GJkDIAEoBVIKZmllbGROYW1lORIiCgxGaWVsZF9OYW1lMTAYmgMgASgFUgtGaWVsZE5hbWUxMBIiCgxGSUVMRF9OQU1FMTEYmwMgASgFUgtGSUVMRE5BTUUxMRIiCgxGSUVMRF9uYW1lMTIYnAMgASgFUgtGSUVMRE5hbWUxMhIkCg5fX2ZpZWxkX25hbWUxMxidAyABKAVSC0ZpZWxkTmFtZTEzEiQKDl9fRmllbGRfbmFtZTE0GJ4DIAEoBVILRmllbGROYW1lMTQSIwoNZmllbGRfX25hbWUxNRifAyABKAVSC2ZpZWxkTmFtZTE1EiMKDWZpZWxkX19OYW1lMTYYoAMgASgFUgtmaWVsZE5hbWUxNhIkCg5maWVsZF9uYW1lMTdfXxihAyABKAVSC2ZpZWxkTmFtZTE3EiQKDkZpZWxkX25hbWUxOF9fGKIDIAEoBVILRmllbGROYW1lMTgacgoNTmVzdGVkTWVzc2FnZRIMCgFhGAEgASgFUgFhElMKC2NvcmVjdXJzaXZlGAIgASgLMjEucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zUgtjb3JlY3Vyc2l2ZRpAChJNYXBJbnQzMkludDMyRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAVSBXZhbHVlOgI4ARpAChJNYXBJbnQ2NEludDY0RW50cnkSEAoDa2V5GAEgASgDUgNrZXkSFAoFdmFsdWUYAiABKANSBXZhbHVlOgI4ARpCChRNYXBVaW50MzJVaW50MzJFbnRyeRIQCgNrZXkYASABKA1SA2tleRIUCgV2YWx1ZRgCIAEoDVIFdmFsdWU6AjgBGkIKFE1hcFVpbnQ2NFVpbnQ2NEVudHJ5EhAKA2tleRgBIAEoBFIDa2V5EhQKBXZhbHVlGAIgASgEUgV2YWx1ZToCOAEaQgoUTWFwU2ludDMyU2ludDMyRW50cnkSEAoDa2V5GAEgASgRUgNrZXkSFAoFdmFsdWUYAiABKBFSBXZhbHVlOgI4ARpCChRNYXBTaW50NjRTaW50NjRFbnRyeRIQCgNrZXkYASABKBJSA2tleRIUCgV2YWx1ZRgCIAEoElIFdmFsdWU6AjgBGkQKFk1hcEZpeGVkMzJGaXhlZDMyRW50cnkSEAoDa2V5GAEgASgHUgNrZXkSFAoFdmFsdWUYAiABKAdSBXZhbHVlOgI4ARpEChZNYXBGaXhlZDY0Rml4ZWQ2NEVudHJ5EhAKA2tleRgBIAEoBlIDa2V5EhQKBXZhbHVlGAIgASgGUgV2YWx1ZToCOAEaRgoYTWFwU2ZpeGVkMzJTZml4ZWQzMkVudHJ5EhAKA2tleRgBIAEoD1IDa2V5EhQKBXZhbHVlGAIgASgPUgV2YWx1ZToCOAEaRgoYTWFwU2ZpeGVkNjRTZml4ZWQ2NEVudHJ5EhAKA2tleRgBIAEoEFIDa2V5EhQKBXZhbHVlGAIgASgQUgV2YWx1ZToCOAEaQAoSTWFwSW50MzJGbG9hdEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EhQKBXZhbHVlGAIgASgCUgV2YWx1ZToCOAEaQQoTTWFwSW50MzJEb3VibGVFbnRyeRIQCgNrZXkYASABKAVSA2tleRIUCgV2YWx1ZRgCIAEoAVIFdmFsdWU6AjgBGj4KEE1hcEJvb2xCb29sRW50cnkSEAoDa2V5GAEgASgIUgNrZXkSFAoFdmFsdWUYAiABKAhSBXZhbHVlOgI4ARpCChRNYXBTdHJpbmdTdHJpbmdFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGkEKE01hcFN0cmluZ0J5dGVzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAxSBXZhbHVlOgI4ARqKAQobTWFwU3RyaW5nTmVzdGVkTWVzc2FnZUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5ElUKBXZhbHVlGAIgASgLMj8ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZE1lc3NhZ2VSBXZhbHVlOgI4ARp5ChxNYXBTdHJpbmdGb3JlaWduTWVzc2FnZUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkMKBXZhbHVlGAIgASgLMi0ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuRm9yZWlnbk1lc3NhZ2VSBXZhbHVlOgI4ARqEAQoYTWFwU3RyaW5nTmVzdGVkRW51bUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5ElIKBXZhbHVlGAIgASgOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZEVudW1SBXZhbHVlOgI4ARpzChlNYXBTdHJpbmdGb3JlaWduRW51bUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkAKBXZhbHVlGAIgASgOMioucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuRm9yZWlnbkVudW1SBXZhbHVlOgI4ASI5CgpOZXN0ZWRFbnVtEgcKA0ZPTxAAEgcKA0JBUhABEgcKA0JBWhACEhAKA05FRxD///////////8BIlkKC0FsaWFzZWRFbnVtEg0KCUFMSUFTX0ZPTxAAEg0KCUFMSUFTX0JBUhABEg0KCUFMSUFTX0JBWhACEgcKA01PTxACEgcKA21vbxACEgcKA2JBehACGgIQAUINCgtvbmVvZl9maWVsZEoGCPUDEP8DIh4KDkZvcmVpZ25NZXNzYWdlEgwKAWMYASABKAVSAWMiFgoUTnVsbEh5cG90aGVzaXNQcm90bzMiLwoORW51bU9ubHlQcm90bzMiHQoEQm9vbBIKCgZrRmFsc2UQABIJCgVrVHJ1ZRABKkAKC0ZvcmVpZ25FbnVtEg8KC0ZPUkVJR05fRk9PEAASDwoLRk9SRUlHTl9CQVIQARIPCgtGT1JFSUdOX0JBWhACQjgKKGNvbS5nb29nbGUucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzNIAfgBAaICBlByb3RvM0rrZgoHEgUOAIgCAQqIAwoBDBIDDgASMv0CIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qt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CxEKDQoFBAACPgESBIwBEiEKDQoFBAACPgMSBIwBJCYKDQoFBAACPggSBIwBJzcKDgoGBAACPggCEgSMASg2CgwKBAQAAj8SBI0BAjgKDQoFBAACPwQSBI0BAgoKDQoFBAACPwUSBI0BCxEKDQoFBAACPwESBI0BEiEKDQoFBAACPwMSBI0BJCYKDQoFBAACPwgSBI0BJzcKDgoGBAACPwgCEgSNASg2CgwKBAQAAkASBI4BAjoKDQoFBAACQAQSBI4BAgoKDQoFBAACQAUSBI4BCxIKDQoFBAACQAESBI4BEyMKDQoFBAACQAMSBI4BJigKDQoFBAACQAgSBI4BKTkKDgoGBAACQAgCEgSOASo4CgwKBAQAAkESBI8BAjoKDQoFBAACQQQSBI8BAgoKDQoFBAACQQUSBI8BCxIKDQoFBAACQQESBI8BEyMKDQoFBAACQQMSBI8BJigKDQoFBAACQQgSBI8BKTkKDgoGBAACQQgCEgSPASo4CgwKBAQAAkISBJABAjwKDQoFBAACQgQSBJABAgoKDQoFBAACQgUSBJABCxMKDQoFBAACQgESBJABFCUKDQoFBAACQgMSBJABKCoKDQoFBAACQggSBJABKzsKDgoGBAACQggCEgSQASw6CgwKBAQAAkMSBJEBAjwKDQoFBAACQwQSBJEBAgoKDQoFBAACQwUSBJEBCxMKDQoFBAACQwESBJEBFCUKDQoFBAACQwMSBJEBKCoKDQoFBAACQwgSBJEBKzsKDgoGBAACQwgCEgSRASw6CgwKBAQAAkQSBJIBAjYKDQoFBAACRAQSBJIBAgoKDQoFBAACRAUSBJIBCxAKDQoFBAACRAESBJIBER8KDQoFBAACRAMSBJIBIiQKDQoFBAACRAgSBJIBJTUKDgoGBAACRAgCEgSSASY0CgwKBAQAAkUSBJMBAjkKDQoFBAACRQQSBJMBAgoKDQoFBAACRQUSBJMBCxEKDQoFBAACRQESBJMBEiEKDQoFBAACRQMSBJMBJCcKDQoFBAACRQgSBJMBKDgKDgoGBAACRQgCEgSTASk3CgwKBAQAAkYSBJQBAjUKDQoFBAACRgQSBJQBAgoKDQoFBAACRgUSBJQBCw8KDQoFBAACRgESBJQBEB0KDQoFBAACRgMSBJQBICMKDQoFBAACRggSBJQBJDQKDgoGBAACRggCEgSU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UhBvcHRpb25hbFNmaXhlZDY0EiUKDm9wdGlvbmFsX2Zsb2F0GAsgASgCUg1vcHRpb25hbEZsb2F0EicKD29wdGlvbmFsX2RvdWJsZRgMIAEoAVIOb3B0aW9uYWxEb3VibGUSIwoNb3B0aW9uYWxfYm9vbBgNIAEoCFIMb3B0aW9uYWxCb29sEicKD29wdGlvbmFsX3N0cmluZxgOIAEoCVIOb3B0aW9uYWxTdHJpbmcSJQoOb3B0aW9uYWxfYnl0ZXMYDyABKAxSDW9wdGlvbmFsQnl0ZXMSdwoXb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2UYEiABKAsyPy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkTWVzc2FnZVIVb3B0aW9uYWxOZXN0ZWRNZXNzYWdlEm0KGG9wdGlvbmFsX2ZvcmVpZ25fbWVzc2FnZRgTIAEoCzIzLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25NZXNzYWdlUHJvdG8yUhZvcHRpb25hbEZvcmVpZ25NZXNzYWdlEm4KFG9wdGlvbmFsX25lc3RlZF9lbnVtGBUgASgOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk5lc3RlZEVudW1SEm9wdGlvbmFsTmVzdGVkRW51bRJkChVvcHRpb25hbF9mb3JlaWduX2VudW0YFiABKA4yMC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5Gb3JlaWduRW51bVByb3RvMlITb3B0aW9uYWxGb3JlaWduRW51bRI2ChVvcHRpb25hbF9zdHJpbmdfcGllY2UYGCABKAlCAggCUhNvcHRpb25hbFN0cmluZ1BpZWNlEicKDW9wdGlvbmFsX2NvcmQYGSABKAlCAggBUgxvcHRpb25hbENvcmQSXgoRcmVjdXJzaXZlX21lc3NhZ2UYGyABKAsyMS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzJSEHJlY3Vyc2l2ZU1lc3NhZ2USJQoOcmVwZWF0ZWRfaW50MzIYHyADKAVSDXJlcGVhdGVkSW50MzISJQoOcmVwZWF0ZWRfaW50NjQYICADKANSDXJlcGVhdGVkSW50NjQSJwoPcmVwZWF0ZWRfdWludDMyGCEgAygNUg5yZXBlYXRlZFVpbnQzMhInCg9yZXBlYXRlZF91aW50NjQYIiADKARSDnJlcGVhdGVkVWludDY0EicKD3JlcGVhdGVkX3NpbnQzMhgjIAMoEVIOcmVwZWF0ZWRTaW50MzISJwoPcmVwZWF0ZWRfc2ludDY0GCQgAygSUg5yZXBlYXRlZFNpbnQ2NBIpChByZXBlYXRlZF9maXhlZDMyGCUgAygHUg9yZXBlYXRlZEZpeGVkMzISKQoQcmVwZWF0ZWRfZml4ZWQ2NBgmIAMoBlIPcmVwZWF0ZWRGaXhlZDY0EisKEXJlcGVhdGVkX3NmaXhlZDMyGCcgAygPUhByZXBlYXRlZFNmaXhlZDMyEisKEXJlcGVhdGVkX3NmaXhlZDY0GCggAygQUhByZXBlYXRlZFNmaXhlZDY0EiUKDnJlcGVhdGVkX2Zsb2F0GCkgAygCUg1yZXBlYXRlZEZsb2F0EicKD3JlcGVhdGVkX2RvdWJsZRgqIAMoAVIOcmVwZWF0ZWREb3VibGUSIwoNcmVwZWF0ZWRfYm9vbBgrIAMoCFIMcmVwZWF0ZWRCb29sEicKD3JlcGVhdGVkX3N0cmluZxgsIAMoCVIOcmVwZWF0ZWRTdHJpbmcSJQoOcmVwZWF0ZWRfYnl0ZXMYLSADKAxSDXJlcGVhdGVkQnl0ZXMSdwoXcmVwZWF0ZWRfbmVzdGVkX21lc3NhZ2UYMCADKAsyPy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkTWVzc2FnZVIVcmVwZWF0ZWROZXN0ZWRNZXNzYWdlEm0KGHJlcGVhdGVkX2ZvcmVpZ25fbWVzc2FnZRgxIAMoCzIzLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25NZXNzYWdlUHJvdG8yUhZyZXBlYXRlZEZvcmVpZ25NZXNzYWdlEm4KFHJlcGVhdGVkX25lc3RlZF9lbnVtGDMgAygOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk5lc3RlZEVudW1SEnJlcGVhdGVkTmVzdGVkRW51bRJkChVyZXBlYXRlZF9mb3JlaWduX2VudW0YNCADKA4yMC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5Gb3JlaWduRW51bVByb3RvMlITcmVwZWF0ZWRGb3JlaWduRW51bRI2ChVyZXBlYXRlZF9zdHJpbmdfcGllY2UYNiADKAlCAggCUhNyZXBlYXRlZFN0cmluZ1BpZWNlEicKDXJlcGVhdGVkX2NvcmQYNyADKAlCAggBUgxyZXBlYXRlZENvcmQSJQoMcGFja2VkX2ludDMyGEsgAygFQgIQAVILcGFja2VkSW50MzISJQoMcGFja2VkX2ludDY0GEwgAygDQgIQAVILcGFja2VkSW50NjQSJwoNcGFja2VkX3VpbnQzMhhNIAMoDUICEAFSDHBhY2tlZFVpbnQzMhInCg1wYWNrZWRfdWludDY0GE4gAygEQgIQAVIMcGFja2VkVWludDY0EicKDXBhY2tlZF9zaW50MzIYTyADKBFCAhABUgxwYWNrZWRTaW50MzISJwoNcGFja2VkX3NpbnQ2NBhQIAMoEkICEAFSDHBhY2tlZFNpbnQ2NBIpCg5wYWNrZWRfZml4ZWQzMhhRIAMoB0ICEAFSDXBhY2tlZEZpeGVkMzISKQoOcGFja2VkX2ZpeGVkNjQYUiADKAZCAhABUg1wYWNrZWRGaXhlZDY0EisKD3BhY2tlZF9zZml4ZWQzMhhTIAMoD0ICEAFSDnBhY2tlZFNmaXhlZDMyEisKD3BhY2tlZF9zZml4ZWQ2NBhUIAMoEEICEAFSDnBhY2tlZFNmaXhlZDY0EiUKDHBhY2tlZF9mbG9hdBhVIAMoAkICEAFSC3BhY2tlZEZsb2F0EicKDXBhY2tlZF9kb3VibGUYViADKAFCAhABUgxwYWNrZWREb3VibGUSIwoLcGFja2VkX2Jvb2wYVyADKAhCAhABUgpwYWNrZWRCb29sEm4KEnBhY2tlZF9uZXN0ZWRfZW51bRhYIAMoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5OZXN0ZWRFbnVtQgIQAVIQcGFja2VkTmVzdGVkRW51bRIpCg51bnBhY2tlZF9pbnQzMhhZIAMoBUICEABSDXVucGFja2VkSW50MzISKQoOdW5wYWNrZWRfaW50NjQYWiADKANCAhAAUg11bnBhY2tlZEludDY0EisKD3VucGFja2VkX3VpbnQzMhhbIAMoDUICEABSDnVucGFja2VkVWludDMyEisKD3VucGFja2VkX3VpbnQ2NBhcIAMoBEICEABSDnVucGFja2VkVWludDY0EisKD3VucGFja2VkX3NpbnQzMhhdIAMoEUICEABSDnVucGFja2VkU2ludDMyEisKD3VucGFja2VkX3NpbnQ2NBheIAMoEkICEABSDnVucGFja2VkU2ludDY0Ei0KEHVucGFja2VkX2ZpeGVkMzIYXyADKAdCAhAAUg91bnBhY2tlZEZpeGVkMzISLQoQdW5wYWNrZWRfZml4ZWQ2NBhgIAMoBkICEABSD3VucGFja2VkRml4ZWQ2NBIvChF1bnBhY2tlZF9zZml4ZWQzMhhhIAMoD0ICEABSEHVucGFja2VkU2ZpeGVkMzISLwoRdW5wYWNrZWRfc2ZpeGVkNjQYYiADKBBCAhAAUhB1bnBhY2tlZFNmaXhlZDY0EikKDnVucGFja2VkX2Zsb2F0GGMgAygCQgIQAFINdW5wYWNrZWRGbG9hdBIrCg91bnBhY2tlZF9kb3VibGUYZCADKAFCAhAAUg51bnBhY2tlZERvdWJsZRInCg11bnBhY2tlZF9ib29sGGUgAygIQgIQAFIMdW5wYWNrZWRCb29sEnIKFHVucGFja2VkX25lc3RlZF9lbnVtGGYgAygOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk5lc3RlZEVudW1CAhAAUhJ1bnBhY2tlZE5lc3RlZEVudW0SbAoPbWFwX2ludDMyX2ludDMyGDggAygLMkQucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcEludDMySW50MzJFbnRyeVINbWFwSW50MzJJbnQzMhJsCg9tYXBfaW50NjRfaW50NjQYOSADKAsyRC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwSW50NjRJbnQ2NEVudHJ5Ug1tYXBJbnQ2NEludDY0EnIKEW1hcF91aW50MzJfdWludDMyGDogAygLMkYucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFVpbnQzMlVpbnQzMkVudHJ5Ug9tYXBVaW50MzJVaW50MzIScgoRbWFwX3VpbnQ2NF91aW50NjQYOyADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwVWludDY0VWludDY0RW50cnlSD21hcFVpbnQ2NFVpbnQ2NBJyChFtYXBfc2ludDMyX3NpbnQzMhg8IAMoCzJGLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTaW50MzJTaW50MzJFbnRyeVIPbWFwU2ludDMyU2ludDMyEnIKEW1hcF9zaW50NjRfc2ludDY0GD0gAygLMkYucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFNpbnQ2NFNpbnQ2NEVudHJ5Ug9tYXBTaW50NjRTaW50NjQSeAoTbWFwX2ZpeGVkMzJfZml4ZWQzMhg+IAMoCzJILnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBGaXhlZDMyRml4ZWQzMkVudHJ5UhFtYXBGaXhlZDMyRml4ZWQzMhJ4ChNtYXBfZml4ZWQ2NF9maXhlZDY0GD8gAygLMkgucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcEZpeGVkNjRGaXhlZDY0RW50cnlSEW1hcEZpeGVkNjRGaXhlZDY0En4KFW1hcF9zZml4ZWQzMl9zZml4ZWQzMhhAIAMoCzJKLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTZml4ZWQzMlNmaXhlZDMyRW50cnlSE21hcFNmaXhlZDMyU2ZpeGVkMzISfgoVbWFwX3NmaXhlZDY0X3NmaXhlZDY0GEEgAygLMkoucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFNmaXhlZDY0U2ZpeGVkNjRFbnRyeVITbWFwU2ZpeGVkNjRTZml4ZWQ2NBJsCg9tYXBfaW50MzJfZmxvYXQYQiADKAsyRC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwSW50MzJGbG9hdEVudHJ5Ug1tYXBJbnQzMkZsb2F0Em8KEG1hcF9pbnQzMl9kb3VibGUYQyADKAsyRS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwSW50MzJEb3VibGVFbnRyeVIObWFwSW50MzJEb3VibGUSZgoNbWFwX2Jvb2xfYm9vbBhEIAMoCzJCLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBCb29sQm9vbEVudHJ5UgttYXBCb29sQm9vbBJyChFtYXBfc3RyaW5nX3N0cmluZxhFIAMoCzJGLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTdHJpbmdTdHJpbmdFbnRyeVIPbWFwU3RyaW5nU3RyaW5nEm8KEG1hcF9zdHJpbmdfYnl0ZXMYRiADKAsyRS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwU3RyaW5nQnl0ZXNFbnRyeVIObWFwU3RyaW5nQnl0ZXMSiAEKGW1hcF9zdHJpbmdfbmVzdGVkX21lc3NhZ2UYRyADKAsyTS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwU3RyaW5nTmVzdGVkTWVzc2FnZUVudHJ5UhZtYXBTdHJpbmdOZXN0ZWRNZXNzYWdlEosBChptYXBfc3RyaW5nX2ZvcmVpZ25fbWVzc2FnZRhIIAMoCzJOLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTdHJpbmdGb3JlaWduTWVzc2FnZUVudHJ5UhdtYXBTdHJpbmdGb3JlaWduTWVzc2FnZRJ/ChZtYXBfc3RyaW5nX25lc3RlZF9lbnVtGEkgAygLMkoucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFN0cmluZ05lc3RlZEVudW1FbnRyeVITbWFwU3RyaW5nTmVzdGVkRW51bRKCAQoXbWFwX3N0cmluZ19mb3JlaWduX2VudW0YSiADKAsySy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwU3RyaW5nRm9yZWlnbkVudW1FbnRyeVIUbWFwU3RyaW5nRm9yZWlnbkVudW0SIwoMb25lb2ZfdWludDMyGG8gASgNSABSC29uZW9mVWludDMyEnMKFG9uZW9mX25lc3RlZF9tZXNzYWdlGHAgASgLMj8ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk5lc3RlZE1lc3NhZ2VIAFISb25lb2ZOZXN0ZWRNZXNzYWdlEiMKDG9uZW9mX3N0cmluZxhxIAEoCUgAUgtvbmVvZlN0cmluZxIhCgtvbmVvZl9ieXRlcxhyIAEoDEgAUgpvbmVvZkJ5dGVzEh8KCm9uZW9mX2Jvb2wYcyABKAhIAFIJb25lb2ZCb29sEiMKDG9uZW9mX3VpbnQ2NBh0IAEoBEgAUgtvbmVvZlVpbnQ2NBIhCgtvbmVvZl9mbG9hdBh1IAEoAkgAUgpvbmVvZkZsb2F0EiMKDG9uZW9mX2RvdWJsZRh2IAEoAUgAUgtvbmVvZkRvdWJsZRJdCgpvbmVvZl9lbnVtGHcgASgOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk5lc3RlZEVudW1IAFIJb25lb2ZFbnVtEksKBGRhdGEYyQEgASgKMjYucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLkRhdGFSBGRhdGESeAoTbXVsdGl3b3JkZ3JvdXBmaWVsZBjMASABKAoyRS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTXVsdGlXb3JkR3JvdXBGaWVsZFITbXVsdGl3b3JkZ3JvdXBmaWVsZBIwCg1kZWZhdWx0X2ludDMyGPEBIAEoBToKLTEyMzQ1Njc4OVIMZGVmYXVsdEludDMyEjoKDWRlZmF1bHRfaW50NjQY8gEgASgDOhQtOTEyMzQ1Njc4OTEyMzQ1Njc4OVIMZGVmYXVsdEludDY0EjIKDmRlZmF1bHRfdWludDMyGPMBIAEoDToKMjEyMzQ1Njc4OVINZGVmYXVsdFVpbnQzMhI8Cg5kZWZhdWx0X3VpbnQ2NBj0ASABKAQ6FDEwMTIzNDU2Nzg5MTIzNDU2Nzg5Ug1kZWZhdWx0VWludDY0EjIKDmRlZmF1bHRfc2ludDMyGPUBIAEoEToKLTEyMzQ1Njc4OVINZGVmYXVsdFNpbnQzMhI8Cg5kZWZhdWx0X3NpbnQ2NBj2ASABKBI6FC05MTIzNDU2Nzg5MTIzNDU2Nzg5Ug1kZWZhdWx0U2ludDY0EjQKD2RlZmF1bHRfZml4ZWQzMhj3ASABKAc6CjIxMjM0NTY3ODlSDmRlZmF1bHRGaXhlZDMyEj4KD2RlZmF1bHRfZml4ZWQ2NBj4ASABKAY6FDEwMTIzNDU2Nzg5MTIzNDU2Nzg5Ug5kZWZhdWx0Rml4ZWQ2NBI2ChBkZWZhdWx0X3NmaXhlZDMyGPkBIAEoDzoKLTEyMzQ1Njc4OVIPZGVmYXVsdFNmaXhlZDMyEkAKEGRlZmF1bHRfc2ZpeGVkNjQY+gEgASgQOhQtOTEyMzQ1Njc4OTEyMzQ1Njc4OVIPZGVmYXVsdFNmaXhlZDY0EisKDWRlZmF1bHRfZmxvYXQY+wEgASgCOgU5ZSswOVIMZGVmYXVsdEZsb2F0Ei0KDmRlZmF1bHRfZG91YmxlGPwBIAEoAToFN2UrMjJSDWRlZmF1bHREb3VibGUSKAoMZGVmYXVsdF9ib29sGP0BIAEoCDoEdHJ1ZVILZGVmYXVsdEJvb2wSLwoOZGVmYXVsdF9zdHJpbmcY/gEgASgJOgdSb3NlYnVkUg1kZWZhdWx0U3RyaW5nEiwKDWRlZmF1bHRfYnl0ZXMY/wEgASgMOgZqb3NodWFSDGRlZmF1bHRCeXRlcxIfCgpmaWVsZG5hbWUxGJEDIAEoBVIKZmllbGRuYW1lMRIgCgtmaWVsZF9uYW1lMhiSAyABKAVSCmZpZWxkTmFtZTISIQoMX2ZpZWxkX25hbWUzGJMDIAEoBVIKRmllbGROYW1lMxIiCg1maWVsZF9fbmFtZTRfGJQDIAEoBVIKZmllbGROYW1lNBIhCgtmaWVsZDBuYW1lNRiVAyABKAVSC2ZpZWxkMG5hbWU1EiMKDWZpZWxkXzBfbmFtZTYYlgMgASgFUgtmaWVsZDBOYW1lNhIfCgpmaWVsZE5hbWU3GJcDIAEoBVIKZmllbGROYW1lNxIfCgpGaWVsZE5hbWU4GJgDIAEoBVIKRmllbGROYW1lOBIgCgtmaWVsZF9OYW1lORiZAyABKAVSCmZpZWxkTmFtZTkSIgoMRmllbGRfTmFtZTEwGJoDIAEoBVILRmllbGROYW1lMTASIgoMRklFTERfTkFNRTExGJsDIAEoBVILRklFTEROQU1FMTESIgoMRklFTERfbmFtZTEyGJwDIAEoBVILRklFTEROYW1lMTISJAoOX19maWVsZF9uYW1lMTMYnQMgASgFUgtGaWVsZE5hbWUxMxIkCg5fX0ZpZWxkX25hbWUxNBieAyABKAVSC0ZpZWxkTmFtZTE0EiMKDWZpZWxkX19uYW1lMTUYnwMgASgFUgtmaWVsZE5hbWUxNRIjCg1maWVsZF9fTmFtZTE2GKADIAEoBVILZmllbGROYW1lMTYSJAoOZmllbGRfbmFtZTE3X18YoQMgASgFUgtmaWVsZE5hbWUxNxIkCg5GaWVsZF9uYW1lMThfXxiiAyABKAVSC0ZpZWxkTmFtZTE4GnIKDU5lc3RlZE1lc3NhZ2USDAoBYRgBIAEoBVIBYRJTCgtjb3JlY3Vyc2l2ZRgCIAEoCzIxLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMlILY29yZWN1cnNpdmUaQAoSTWFwSW50MzJJbnQzMkVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EhQKBXZhbHVlGAIgASgFUgV2YWx1ZToCOAEaQAoSTWFwSW50NjRJbnQ2NEVudHJ5EhAKA2tleRgBIAEoA1IDa2V5EhQKBXZhbHVlGAIgASgDUgV2YWx1ZToCOAEaQgoUTWFwVWludDMyVWludDMyRW50cnkSEAoDa2V5GAEgASgNUgNrZXkSFAoFdmFsdWUYAiABKA1SBXZhbHVlOgI4ARpCChRNYXBVaW50NjRVaW50NjRFbnRyeRIQCgNrZXkYASABKARSA2tleRIUCgV2YWx1ZRgCIAEoBFIFdmFsdWU6AjgBGkIKFE1hcFNpbnQzMlNpbnQzMkVudHJ5EhAKA2tleRgBIAEoEVIDa2V5EhQKBXZhbHVlGAIgASgRUgV2YWx1ZToCOAEaQgoUTWFwU2ludDY0U2ludDY0RW50cnkSEAoDa2V5GAEgASgSUgNrZXkSFAoFdmFsdWUYAiABKBJSBXZhbHVlOgI4ARpEChZNYXBGaXhlZDMyRml4ZWQzMkVudHJ5EhAKA2tleRgBIAEoB1IDa2V5EhQKBXZhbHVlGAIgASgHUgV2YWx1ZToCOAEaRAoWTWFwRml4ZWQ2NEZpeGVkNjRFbnRyeRIQCgNrZXkYASABKAZSA2tleRIUCgV2YWx1ZRgCIAEoBlIFdmFsdWU6AjgBGkYKGE1hcFNmaXhlZDMyU2ZpeGVkMzJFbnRyeRIQCgNrZXkYASABKA9SA2tleRIUCgV2YWx1ZRgCIAEoD1IFdmFsdWU6AjgBGkYKGE1hcFNmaXhlZDY0U2ZpeGVkNjRFbnRyeRIQCgNrZXkYASABKBBSA2tleRIUCgV2YWx1ZRgCIAEoEFIFdmFsdWU6AjgBGkAKEk1hcEludDMyRmxvYXRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIUCgV2YWx1ZRgCIAEoAlIFdmFsdWU6AjgBGkEKE01hcEludDMyRG91YmxlRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAFSBXZhbHVlOgI4ARo+ChBNYXBCb29sQm9vbEVudHJ5EhAKA2tleRgBIAEoCFIDa2V5EhQKBXZhbHVlGAIgASgIUgV2YWx1ZToCOAEaQgoUTWFwU3RyaW5nU3RyaW5nRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARpBChNNYXBTdHJpbmdCeXRlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgMUgV2YWx1ZToCOAEaigEKG01hcFN0cmluZ05lc3RlZE1lc3NhZ2VFbnRyeRIQCgNrZXkYASABKAlSA2tleRJVCgV2YWx1ZRgCIAEoCzI/LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5OZXN0ZWRNZXNzYWdlUgV2YWx1ZToCOAEafwocTWFwU3RyaW5nRm9yZWlnbk1lc3NhZ2VFbnRyeRIQCgNrZXkYASABKAlSA2tleRJJCgV2YWx1ZRgCIAEoCzIzLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25NZXNzYWdlUHJvdG8yUgV2YWx1ZToCOAEahAEKGE1hcFN0cmluZ05lc3RlZEVudW1FbnRyeRIQCgNrZXkYASABKAlSA2tleRJSCgV2YWx1ZRgCIAEoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5OZXN0ZWRFbnVtUgV2YWx1ZToCOAEaeQoZTWFwU3RyaW5nRm9yZWlnbkVudW1FbnRyeRIQCgNrZXkYASABKAlSA2tleRJGCgV2YWx1ZRgCIAEoDjIwLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25FbnVtUHJvdG8yUgV2YWx1ZToCOAEaTAoERGF0YRIgCgtncm91cF9pbnQzMhjKASABKAVSCmdyb3VwSW50MzISIgoMZ3JvdXBfdWludDMyGMsBIAEoDVILZ3JvdXBVaW50MzIaWwoTTXVsdGlXb3JkR3JvdXBGaWVsZBIgCgtncm91cF9pbnQzMhjNASABKAVSCmdyb3VwSW50MzISIgoMZ3JvdXBfdWludDMyGM4BIAEoDVILZ3JvdXBVaW50MzIaIQoRTWVzc2FnZVNldENvcnJlY3QqCAgEEP////8HOgIIARr6AQobTWVzc2FnZVNldENvcnJlY3RFeHRlbnNpb24xEhAKA3N0chgZIAEoCVIDc3RyMsgBChVtZXNzYWdlX3NldF9leHRlbnNpb24SQy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWVzc2FnZVNldENvcnJlY3QY+bteIAEoCzJNLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NZXNzYWdlU2V0Q29ycmVjdEV4dGVuc2lvbjFSE21lc3NhZ2VTZXRFeHRlbnNpb24a9wEKG01lc3NhZ2VTZXRDb3JyZWN0RXh0ZW5zaW9uMhIMCgFpGAkgASgFUgFpMskBChVtZXNzYWdlX3NldF9leHRlbnNpb24SQy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWVzc2FnZVNldENvcnJlY3QYkLP8ASABKAsyTS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWVzc2FnZVNldENvcnJlY3RFeHRlbnNpb24yUhNtZXNzYWdlU2V0RXh0ZW5zaW9uIjkKCk5lc3RlZEVudW0SBwoDRk9PEAASBwoDQkFSEAESBwoDQkFaEAISEAoDTkVHEP///////////wEqBQh4EMkBQg0KC29uZW9mX2ZpZWxkSgYI6AcQkE4iJAoURm9yZWlnbk1lc3NhZ2VQcm90bzISDAoBYxgBIAEoBVIBYyJQCgpHcm91cEZpZWxkEh8KC2dyb3VwX2ludDMyGHogASgFUgpncm91cEludDMyEiEKDGdyb3VwX3VpbnQzMhh7IAEoDVILZ3JvdXBVaW50MzIingMKFVVua25vd25Ub1Rlc3RBbGxUeXBlcxImCg5vcHRpb25hbF9pbnQzMhjpByABKAVSDW9wdGlvbmFsSW50MzISKAoPb3B0aW9uYWxfc3RyaW5nGOoHIAEoCVIOb3B0aW9uYWxTdHJpbmcSWwoObmVzdGVkX21lc3NhZ2UY6wcgASgLMjMucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuRm9yZWlnbk1lc3NhZ2VQcm90bzJSDW5lc3RlZE1lc3NhZ2USaQoNb3B0aW9uYWxncm91cBjsByABKAoyQi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5Vbmtub3duVG9UZXN0QWxsVHlwZXMuT3B0aW9uYWxHcm91cFINb3B0aW9uYWxncm91cBIkCg1vcHRpb25hbF9ib29sGO4HIAEoCFIMb3B0aW9uYWxCb29sEiYKDnJlcGVhdGVkX2ludDMyGPMHIAMoBVINcmVwZWF0ZWRJbnQzMhodCg1PcHRpb25hbEdyb3VwEgwKAWEYASABKAVSAWEiFgoUTnVsbEh5cG90aGVzaXNQcm90bzIiLwoORW51bU9ubHlQcm90bzIiHQoEQm9vbBIKCgZrRmFsc2UQABIJCgVrVHJ1ZRABIiUKD09uZVN0cmluZ1Byb3RvMhISCgRkYXRhGAEgASgJUgRkYXRhImEKEVByb3RvV2l0aEtleXdvcmRzEhYKBmlubGluZRgBIAEoBVIGaW5saW5lEhgKB2NvbmNlcHQYAiABKAlSB2NvbmNlcHQSGgoIcmVxdWlyZXMYAyADKAlSCHJlcXVpcmVzIswZChpUZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3RvMhIlCg5yZXF1aXJlZF9pbnQzMhgBIAIoBVINcmVxdWlyZWRJbnQzMhIlCg5yZXF1aXJlZF9pbnQ2NBgCIAIoA1INcmVxdWlyZWRJbnQ2NBInCg9yZXF1aXJlZF91aW50MzIYAyACKA1SDnJlcXVpcmVkVWludDMyEicKD3JlcXVpcmVkX3VpbnQ2NBgEIAIoBFIOcmVxdWlyZWRVaW50NjQSJwoPcmVxdWlyZWRfc2ludDMyGAUgAigRUg5yZXF1aXJlZFNpbnQzMhInCg9yZXF1aXJlZF9zaW50NjQYBiACKBJSDnJlcXVpcmVkU2ludDY0EikKEHJlcXVpcmVkX2ZpeGVkMzIYByACKAdSD3JlcXVpcmVkRml4ZWQzMhIpChByZXF1aXJlZF9maXhlZDY0GAggAigGUg9yZXF1aXJlZEZpeGVkNjQSKwoRcmVxdWlyZWRfc2ZpeGVkMzIYCSACKA9SEHJlcXVpcmVkU2ZpeGVkMzISKwoRcmVxdWlyZWRfc2ZpeGVkNjQYCiACKBBSEHJlcXVpcmVkU2ZpeGVkNjQSJQoOcmVxdWlyZWRfZmxvYXQYCyACKAJSDXJlcXVpcmVkRmxvYXQSJwoPcmVxdWlyZWRfZG91YmxlGAwgAigBUg5yZXF1aXJlZERvdWJsZRIjCg1yZXF1aXJlZF9ib29sGA0gAigIUgxyZXF1aXJlZEJvb2wSJwoPcmVxdWlyZWRfc3RyaW5nGA4gAigJUg5yZXF1aXJlZFN0cmluZxIlCg5yZXF1aXJlZF9ieXRlcxgPIAIoDFINcmVxdWlyZWRCeXRlcxJ/ChdyZXF1aXJlZF9uZXN0ZWRfbWVzc2FnZRgSIAIoCzJHLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yLk5lc3RlZE1lc3NhZ2VSFXJlcXVpcmVkTmVzdGVkTWVzc2FnZRJtChhyZXF1aXJlZF9mb3JlaWduX21lc3NhZ2UYEyACKAsyMy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5Gb3JlaWduTWVzc2FnZVByb3RvMlIWcmVxdWlyZWRGb3JlaWduTWVzc2FnZRJ2ChRyZXF1aXJlZF9uZXN0ZWRfZW51bRgVIAIoDjJELnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yLk5lc3RlZEVudW1SEnJlcXVpcmVkTmVzdGVkRW51bRJkChVyZXF1aXJlZF9mb3JlaWduX2VudW0YFiACKA4yMC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5Gb3JlaWduRW51bVByb3RvMlITcmVxdWlyZWRGb3JlaWduRW51bRI2ChVyZXF1aXJlZF9zdHJpbmdfcGllY2UYGCACKAlCAggCUhNyZXF1aXJlZFN0cmluZ1BpZWNlEicKDXJlcXVpcmVkX2NvcmQYGSACKAlCAggBUgxyZXF1aXJlZENvcmQSZgoRcmVjdXJzaXZlX21lc3NhZ2UYGyACKAsyOS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3RvMlIQcmVjdXJzaXZlTWVzc2FnZRJ3ChpvcHRpb25hbF9yZWN1cnNpdmVfbWVzc2FnZRgcIAEoCzI5LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yUhhvcHRpb25hbFJlY3Vyc2l2ZU1lc3NhZ2USUwoEZGF0YRjJASACKAoyPi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3RvMi5EYXRhUgRkYXRhEjAKDWRlZmF1bHRfaW50MzIY8QEgAigFOgotMTIzNDU2Nzg5UgxkZWZhdWx0SW50MzISOgoNZGVmYXVsdF9pbnQ2NBjyASACKAM6FC05MTIzNDU2Nzg5MTIzNDU2Nzg5UgxkZWZhdWx0SW50NjQSMgoOZGVmYXVsdF91aW50MzIY8wEgAigNOgoyMTIzNDU2Nzg5Ug1kZWZhdWx0VWludDMyEjwKDmRlZmF1bHRfdWludDY0GPQBIAIoBDoUMTAxMjM0NTY3ODkxMjM0NTY3ODlSDWRlZmF1bHRVaW50NjQSMgoOZGVmYXVsdF9zaW50MzIY9QEgAigROgotMTIzNDU2Nzg5Ug1kZWZhdWx0U2ludDMyEjwKDmRlZmF1bHRfc2ludDY0GPYBIAIoEjoULTkxMjM0NTY3ODkxMjM0NTY3ODlSDWRlZmF1bHRTaW50NjQSNAoPZGVmYXVsdF9maXhlZDMyGPcBIAIoBzoKMjEyMzQ1Njc4OVIOZGVmYXVsdEZpeGVkMzISPgoPZGVmYXVsdF9maXhlZDY0GPgBIAIoBjoUMTAxMjM0NTY3ODkxMjM0NTY3ODlSDmRlZmF1bHRGaXhlZDY0EjYKEGRlZmF1bHRfc2ZpeGVkMzIY+QEgAigPOgotMTIzNDU2Nzg5Ug9kZWZhdWx0U2ZpeGVkMzISQAoQZGVmYXVsdF9zZml4ZWQ2NBj6ASACKBA6FC05MTIzNDU2Nzg5MTIzNDU2Nzg5Ug9kZWZhdWx0U2ZpeGVkNjQSKwoNZGVmYXVsdF9mbG9hdBj7ASACKAI6BTllKzA5UgxkZWZhdWx0RmxvYXQSLQoOZGVmYXVsdF9kb3VibGUY/AEgAigBOgU3ZSsyMlINZGVmYXVsdERvdWJsZRIoCgxkZWZhdWx0X2Jvb2wY/QEgAigIOgR0cnVlUgtkZWZhdWx0Qm9vbBIvCg5kZWZhdWx0X3N0cmluZxj+ASACKAk6B1Jvc2VidWRSDWRlZmF1bHRTdHJpbmcSLAoNZGVmYXVsdF9ieXRlcxj/ASACKAw6Bmpvc2h1YVIMZGVmYXVsdEJ5dGVzGugBCg1OZXN0ZWRNZXNzYWdlEgwKAWEYASACKAVSAWESWwoLY29yZWN1cnNpdmUYAiACKAsyOS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3RvMlILY29yZWN1cnNpdmUSbAoUb3B0aW9uYWxfY29yZWN1cnNpdmUYAyABKAsyOS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3RvMlITb3B0aW9uYWxDb3JlY3Vyc2l2ZRpMCgREYXRhEiAKC2dyb3VwX2ludDMyGMoBIAIoBVIKZ3JvdXBJbnQzMhIiCgxncm91cF91aW50MzIYywEgAigNUgtncm91cFVpbnQzMhohChFNZXNzYWdlU2V0Q29ycmVjdCoICAQQ/////wc6AggBGooCChtNZXNzYWdlU2V0Q29ycmVjdEV4dGVuc2lvbjESEAoDc3RyGBkgAigJUgNzdHIy2AEKFW1lc3NhZ2Vfc2V0X2V4dGVuc2lvbhJLLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yLk1lc3NhZ2VTZXRDb3JyZWN0GPm7XiABKAsyVS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3RvMi5NZXNzYWdlU2V0Q29ycmVjdEV4dGVuc2lvbjFSE21lc3NhZ2VTZXRFeHRlbnNpb24ahwIKG01lc3NhZ2VTZXRDb3JyZWN0RXh0ZW5zaW9uMhIMCgFpGAkgAigFUgFpMtkBChVtZXNzYWdlX3NldF9leHRlbnNpb24SSy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3RvMi5NZXNzYWdlU2V0Q29ycmVjdBiQs/wBIAEoCzJVLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yLk1lc3NhZ2VTZXRDb3JyZWN0RXh0ZW5zaW9uMlITbWVzc2FnZVNldEV4dGVuc2lvbiI5CgpOZXN0ZWRFbnVtEgcKA0ZPTxAAEgcKA0JBUhABEgcKA0JBWhACEhAKA05FRxD///////////8BKgUIeBDJAUoGCOgHEJBOKkYKEUZvcmVpZ25FbnVtUHJvdG8yEg8KC0ZPUkVJR05fRk9PEAASDwoLRk9SRUlHTl9CQVIQARIPCgtGT1JFSUdOX0JBWhACOloKD2V4dGVuc2lvbl9pbnQzMhIxLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMhh4IAEoBVIOZXh0ZW5zaW9uSW50MzI6fAoKZ3JvdXBmaWVsZBIxLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMhh5IAEoCjIpLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkdyb3VwRmllbGRSCmdyb3VwZmllbGRCOAooY29tLmdvb2dsZS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMkgB+AEBogIGUHJvdG8ySpmdAQoHEgUOAIIDAQqCAwoBDBIDDgASMuECIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBvciBhdAogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCgogVGVzdCBzY2hlbWEgZm9yIHByb3RvMiBtZXNzYWdlcy4gIFRoaXMgdGVzdCBzY2hlbWEgaXMgdXNlZCBieToKCiAtIGNvbmZvcm1hbmNlIHRlc3RzCgoyFCBMSU5UOiBBTExPV19HUk9VUFMKCggKAQISAxAAJgoICgEIEgMSAEEKCQoCCAESAxIAQQoICgEIEgMTACQKCQoCCCQSAxMAJAoICgEIEgMWABwKRAoCCAkSAxYAHBo5IFRoaXMgaXMgdGhlIGRlZmF1bHQsIGJ1dCB3ZSBzcGVjaWZ5IGl0IGhlcmUgZXhwbGljaXRseS4KCggKAQgSAxgAHwoJCgIIHxIDGAAfCtsCCgIEABIFIgDxAQEazQIgVGhpcyBwcm90byBpbmNsdWRlcyBldmVyeSB0eXBlIG9mIGZpZWxkIGluIGJvdGggc2luZ3VsYXIgYW5kIHJlcGVhdGVkCiBmb3Jtcy4KCiBBbHNvLCBjcnVjaWFsbHksIGFsbCBtZXNzYWdlcyBhbmQgZW51bXMgaW4gdGhpcyBmaWxl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AQwSBlZBTFVFNBidjQaiAQwSBlZBTFVFNRiejQZSC2ZpbGVGZWF0dXJlEl0KF2V4dGVuc2lvbl9yYW5nZV9mZWF0dXJlGAIgASgOMg8ucGIuRW51bUZlYXR1cmVCFIgBAZgBAqIBCxIGVkFMVUUxGOYHUhVleHRlbnNpb25SYW5nZUZlYXR1cmUSTgoPbWVzc2FnZV9mZWF0dXJlGAMgASgOMg8ucGIuRW51bUZlYXR1cmVCFIgBAZgBA6IBCxIGVkFMVUUxGOYHUg5tZXNzYWdlRmVhdHVyZRJKCg1maWVsZF9mZWF0dXJlGAQgASgOMg8ucGIuRW51bUZlYXR1cmVCFIgBAZgBBKIBCxIGVkFMVUUxGOYHUgxmaWVsZEZlYXR1cmUSSgoNb25lb2ZfZmVhdHVyZRgFIAEoDjIPLnBiLkVudW1GZWF0dXJlQhSIAQGYAQWiAQsSBlZBTFVFMRjmB1IMb25lb2ZGZWF0dXJlEkgKDGVudW1fZmVhdHVyZRgGIAEoDjIPLnBiLkVudW1GZWF0dXJlQhSIAQGYAQaiAQsSBlZBTFVFMRjmB1ILZW51bUZlYXR1cmUSUwoSZW51bV9lbnRyeV9mZWF0dXJlGAcgASgOMg8ucGIuRW51bUZlYXR1cmVCFIgBAZgBB6IBCxIGVkFMVUUxGOYHUhBlbnVtRW50cnlGZWF0dXJlEk4KD3NlcnZpY2VfZmVhdHVyZRgIIAEoDjIPLnBiLkVudW1GZWF0dXJlQhSIAQGYAQiiAQsSBlZBTFVFMRjmB1IOc2VydmljZUZlYXR1cmUSTAoObWV0aG9kX2ZlYXR1cmUYCSABKA4yDy5wYi5FbnVtRmVhdHVyZUIUiAEBmAEJogELEgZWQUxVRTEY5gdSDW1ldGhvZEZlYXR1cmUSaAoQbXVsdGlwbGVfZmVhdHVyZRgKIAEoDjIPLnBiLkVudW1GZWF0dXJlQiyIAQGYAQGYAQSYAQOYAQaYAQeYAQiYAQmYAQWYAQKiAQsSBlZBTFVFMRjmB1IPbXVsdGlwbGVGZWF0dXJlEk4KEmJvb2xfZmllbGRfZmVhdHVyZRgLIAEoCEIgiAEBmAEEogEKEgVmYWxzZRjmB6IBChIEdHJ1ZRidjQZSEGJvb2xGaWVsZEZlYXR1cmUSZAoOc291cmNlX2ZlYXR1cmUYDyABKA4yDy5wYi5FbnVtRmVhdHVyZUIsiAECmAEBmAEEmAEDmAEGmAEHmAEImAEJmAEFmAECogELEgZWQUxVRTEY5gdSDXNvdXJjZUZlYXR1cmUSZgoPc291cmNlX2ZlYXR1cmUyGBAgASgOMg8ucGIuRW51bUZlYXR1cmVCLIgBApgBAZgBBJgBA5gBBpgBB5gBCJgBCZgBBZgBAqIBCxIGVkFMVUUxGOYHUg5zb3VyY2VGZWF0dXJlMirmAQoLRW51bUZlYXR1cmUSHQoZVEVTVF9FTlVNX0ZFQVRVUkVfVU5LTk9XThAAEgoKBlZBTFVFMRABEgoKBlZBTFVFMhACEgoKBlZBTFVFMxADEgoKBlZBTFVFNBAEEgoKBlZBTFVFNRAFEgoKBlZBTFVFNhAGEgoKBlZBTFVFNxAHEgoKBlZBTFVFOBAIEgoKBlZBTFVFORAJEgsKB1ZBTFVFMTAQChILCgdWQUxVRTExEAsSCwoHVkFMVUUxMhAMEgsKB1ZBTFVFMTMQDRILCgdWQUxVRTE0EA4SCwoHVkFMVUUxNRAPOkIKBHRlc3QSGy5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldBiPTiABKAsyEC5wYi5UZXN0RmVhdHVyZXNSBHRlc3RK5RsKBxIFBwCRAQEKlAIKAQwSAwcAEjKJAiBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDIzIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlCiBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgb3IgYXQKIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL29wZW4tc291cmNlL2xpY2Vuc2VzL2JzZAoKCAoBAhIDCQALCgkKAgMAEgMLACoKCQoBBxIEDQAPAQoJCgIHABIDDgIkCgoKAwcAAhIDDQchCgoKAwcABBIDDgIKCgoKAwcABhIDDgsXCgoKAwcAARIDDhgcCgoKAwcAAxIDDh8jCgoKAgQAEgQRABoBCgoKAwQAARIDEQgTCgsK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TlNFIGZpbGUgb3IgYXQKIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL29wZW4tc291cmNlL2xpY2Vuc2VzL2JzZAoySyBUZXN0IHRoYXQgZmVhdHVyZXMgd2l0aCBsZWdhY3kgZGVzY3JpcHRvciBoZWxwZXJzIGdldCBwcm9wZXJseSBjb252ZXJ0ZWQuCgoICgECEgMLACEKCgoCBAASBA0AEQEKCgoDBAABEgMNCBsKCwoEBAACABIDDgJHCgwKBQQAAgAFEgMOAgcKDAoFBAACAAESAw4IFgoMCgUEAAIAAxIDDhkaCgwKBQQAAgAIEgMOG0YKDgoHBAACAAgVARIDDhxFCgwKBAQAAgESBA8CEC4KDAoFBAACAQYSAw8CFQoMCgUEAAIBARIDDxYlCgwKBQQAAgEDEgMPKCkKDAoFBAACAQgSAxAGLQoOCgcEAAIBCBUFEgMQByxiCGVkaXRpb25zcOgHCqAqCi5nb29nbGUvcHJvdG9idWYvdW5pdHRlc3RfcHJvdG8zX29wdGlvbmFsLnByb3RvEhFwcm90b2J1Zl91bml0dGVzdBogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8ijw0KElRlc3RQcm90bzNPcHRpb25hbBIqCg5vcHRpb25hbF9pbnQzMhgBIAEoBUgAUg1vcHRpb25hbEludDMyiAEBEioKDm9wdGlvbmFsX2ludDY0GAIgASgDSAFSDW9wdGlvbmFsSW50NjSIAQESLAoPb3B0aW9uYWxfdWludDMyGAMgASgNSAJSDm9wdGlvbmFsVWludDMyiAEBEiwKD29wdGlvbmFsX3VpbnQ2NBgEIAEoBEgDUg5vcHRpb25hbFVpbnQ2NIgBARIsCg9vcHRpb25hbF9zaW50MzIYBSABKBFIBFIOb3B0aW9uYWxTaW50MzKIAQESLAoPb3B0aW9uYWxfc2ludDY0GAYgASgSSAVSDm9wdGlvbmFsU2ludDY0iAEBEi4KEG9wdGlvbmFsX2ZpeGVkMzIYByABKAdIBlIPb3B0aW9uYWxGaXhlZDMyiAEBEi4KEG9wdGlvbmFsX2ZpeGVkNjQYCCABKAZIB1IPb3B0aW9uYWxGaXhlZDY0iAEBEjAKEW9wdGlvbmFsX3NmaXhlZDMyGAkgASgPSAhSEG9wdGlvbmFsU2ZpeGVkMzKIAQESMAoRb3B0aW9uYWxfc2ZpeGVkNjQYCiABKBBICVIQb3B0aW9uYWxTZml4ZWQ2NIgBARIqCg5vcHRpb25hbF9mbG9hdBgLIAEoAkgKUg1vcHRpb25hbEZsb2F0iAEBEiwKD29wdGlvbmFsX2RvdWJsZRgMIAEoAUgLUg5vcHRpb25hbERvdWJsZYgBARIoCg1vcHRpb25hbF9ib29sGA0gASgISAxSDG9wdGlvbmFsQm9vbIgBARIsCg9vcHRpb25hbF9zdHJpbmcYDiABKAlIDVIOb3B0aW9uYWxTdHJpbmeIAQESKgoOb3B0aW9uYWxfYnl0ZXMYDyABKAxIDlINb3B0aW9uYWxCeXRlc4gBARIsCg1vcHRpb25hbF9jb3JkGBAgASgJQgIIAUgPUgxvcHRpb25hbENvcmSIAQEScAoXb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2UYEiABKAsyMy5wcm90b2J1Zl91bml0dGVzdC5UZXN0UHJvdG8zT3B0aW9uYWwuTmVzdGVkTWVzc2FnZUgQUhVvcHRpb25hbE5lc3RlZE1lc3NhZ2WIAQESbAoTbGF6eV9uZXN0ZWRfbWVzc2FnZRgTIAEoCzIzLnByb3RvYnVmX3VuaXR0ZXN0LlRlc3RQcm90bzNPcHRpb25hbC5OZXN0ZWRNZXNzYWdlQgIoAUgRUhFsYXp5TmVzdGVkTWVzc2FnZYgBARJnChRvcHRpb25hbF9uZXN0ZWRfZW51bRgVIAEoDjIwLnByb3RvYnVmX3VuaXR0ZXN0LlRlc3RQcm90bzNPcHRpb25hbC5OZXN0ZWRFbnVtSBJSEm9wdGlvbmFsTmVzdGVkRW51bYgBARIlCg5zaW5ndWxhcl9pbnQzMhgWIAEoBVINc2luZ3VsYXJJbnQzMhIlCg5zaW5ndWxhcl9pbnQ2NBgXIAEoA1INc2luZ3VsYXJJbnQ2NBorCg1OZXN0ZWRNZXNzYWdlEhMKAmJiGAEgASgFSABSAmJiiAEBQgUKA19iYiJKCgpOZXN0ZWRFbnVtEg8KC1VOU1BFQ0lGSUVEEAASBwoDRk9PEAESBwoDQkFSEAISBwoDQkFaEAMSEAoDTkVHEP///////////wFCEQoPX29wdGlvbmFsX2ludDMyQhEKD19vcHRpb25hbF9pbnQ2NEISChBfb3B0aW9uYWxfdWludDMyQhIKEF9vcHRpb25hbF91aW50NjRCEgoQX29wdGlvbmFsX3NpbnQzMkISChBfb3B0aW9uYWxfc2ludDY0QhMKEV9vcHRpb25hbF9maXhlZDMyQhMKEV9vcHRpb25hbF9maXhlZDY0QhQKEl9vcHRpb25hbF9zZml4ZWQzMkIUChJfb3B0aW9uYWxfc2ZpeGVkNjRCEQoPX29wdGlvbmFsX2Zsb2F0QhIKEF9vcHRpb25hbF9kb3VibGVCEAoOX29wdGlvbmFsX2Jvb2xCEgoQX29wdGlvbmFsX3N0cmluZ0IRCg9fb3B0aW9uYWxfYnl0ZXNCEAoOX29wdGlvbmFsX2NvcmRCGgoYX29wdGlvbmFsX25lc3RlZF9tZXNzYWdlQhYKFF9sYXp5X25lc3RlZF9tZXNzYWdlQhcKFV9vcHRpb25hbF9uZXN0ZWRfZW51bSKyAgoZVGVzdFByb3RvM09wdGlvbmFsTWVzc2FnZRJhCg5uZXN0ZWRfbWVzc2FnZRgBIAEoCzI6LnByb3RvYnVmX3VuaXR0ZXN0LlRlc3RQcm90bzNPcHRpb25hbE1lc3NhZ2UuTmVzdGVkTWVzc2FnZVINbmVzdGVkTWVzc2FnZRJ3ChdvcHRpb25hbF9uZXN0ZWRfbWVzc2FnZRgCIAEoCzI6LnByb3RvYnVmX3VuaXR0ZXN0LlRlc3RQcm90bzNPcHRpb25hbE1lc3NhZ2UuTmVzdGVkTWVzc2FnZUgAUhVvcHRpb25hbE5lc3RlZE1lc3NhZ2WIAQEaHQoNTmVzdGVkTWVzc2FnZRIMCgFzGAEgASgJUgFzQhoKGF9vcHRpb25hbF9uZXN0ZWRfbWVzc2FnZSLJAQoYUHJvdG8zT3B0aW9uYWxFeHRlbnNpb25zMksKD2V4dF9ub19vcHRpb25hbBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiIzdmpASABKAVSDWV4dE5vT3B0aW9uYWwyUgoRZXh0X3dpdGhfb3B0aW9uYWwSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYic3ZqQEgASgFUg9leHRXaXRoT3B0aW9uYWyIAQE6DMDozM0KCMjozM0KEEI4CiFjb20uZ29vZ2xlLnByb3RvYnVmLnRlc3RpbmcucHJv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itu3hA8ECAEQAio9CgxUb3BMZXZlbEVudW0SIQoRVE9QX0xFVkVMX1VOS05PV04QABoK0t2phA8ECAEQAhoK+p6qhA8ECAEQAjJ0CgdTZXJ2aWNlEl0KB0RvU3R1ZmYSIi5wcm90b2J1Zl91bml0dGVzdC5Ub3BMZXZlbE1lc3NhZ2UaIi5wcm90b2J1Zl91bml0dGVzdC5Ub3BMZXZlbE1lc3NhZ2UiCuKu+IMPBAgBEAIaCuqHi4QPBAgBEAI6QwoMcGxhaW5fb3B0aW9uEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGMa17PABIAEoBVILcGxhaW5PcHRpb246XwoYcnVudGltZV9yZXRlbnRpb25fb3B0aW9uEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGJyS6fABIAEoBUIDiAEBUhZydW50aW1lUmV0ZW50aW9uT3B0aW9uOl0KF3NvdXJjZV9yZXRlbnRpb25fb3B0aW9uEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGNSs3/ABIAEoBUIDiAECUhVzb3VyY2VSZXRlbnRpb25PcHRpb246ZAoLZmlsZV9vcHRpb24SHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYgPLe8AEgASgLMiEucHJvdG9idWZfdW5pdHRlc3QuT3B0aW9uc01lc3NhZ2VSCmZpbGVPcHRpb246bgoQcmVwZWF0ZWRfb3B0aW9ucxIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucxiS/tvwASADKAsyIS5wcm90b2J1Zl91bml0dGVzdC5PcHRpb25zTWVzc2FnZVIPcmVwZWF0ZWRPcHRpb25zOoMBChZleHRlbnNpb25fcmFuZ2Vfb3B0aW9uEiYuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9ucxiE89vwASABKAsyIS5wcm90b2J1Zl91bml0dGVzdC5PcHRpb25zTWVzc2FnZVIUZXh0ZW5zaW9uUmFuZ2VPcHRpb246bQoObWVzc2FnZV9vcHRpb24SHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMY0+jb8AEgASgLMiEucHJvdG9idWZfdW5pdHRlc3QuT3B0aW9uc01lc3NhZ2VSDW1lc3NhZ2VPcHRpb246ZwoMZmllbGRfb3B0aW9uEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxij183wASABKAsyIS5wcm90b2J1Zl91bml0dGVzdC5PcHRpb25zTWVzc2FnZVILZmllbGRPcHRpb246ZwoMb25lb2Zfb3B0aW9uEh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9ucxix+8bwASABKAsyIS5wcm90b2J1Zl91bml0dGVzdC5PcHRpb25zTWVzc2FnZVILb25lb2ZPcHRpb246ZAoLZW51bV9vcHRpb24SHC5nb29nbGUucHJvdG9idWYuRW51bU9wdGlvbnMY76PF8AEgASgLMiEucHJvdG9idWZfdW5pdHRlc3QuT3B0aW9uc01lc3NhZ2VSCmVudW1PcHRpb246dAoRZW51bV9lbnRyeV9vcHRpb24SIS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlT3B0aW9ucxjam8XwASABKAsyIS5wcm90b2J1Zl91bml0dGVzdC5PcHRpb25zTWVzc2FnZVIPZW51bUVudHJ5T3B0aW9uOm0KDnNlcnZpY2Vfb3B0aW9uEh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGP2wwfABIAEoCzIhLnByb3RvYnVmX3VuaXR0ZXN0Lk9wdGlvbnNNZXNzYWdlUg1zZXJ2aWNlT3B0aW9uOmoKDW1ldGhvZF9vcHRpb24SHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxjshb/wASABKAsyIS5wcm90b2J1Zl91bml0dGVzdC5PcHRpb25zTWVzc2FnZVIMbWV0aG9kT3B0aW9uOjUKAWkSGy5wcm90b2J1Zl91bml0dGVzdC5FeHRlbmRlZRgBIAEoBUIKmrrthA8ECAEQAlIBaUIzqgIQUHJvdG9idWZVbml0dGVzdJLx34UPBAgBEAKCkPeFDwQIARAC4JHJhg8CsKzjhg8BSrsZCgcSBQcAuAEBCpQCCgEMEgMHABIyiQIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKCggKAQISAwkAGgoJCgIDABIDCwAqCggKAQgSAw0ALQoJCgIIJRIDDQAtCkAKAQcSBBAAFgEaNSBSZXRlbnRpb24gYXR0cmlidXRlcyBzZXQgZGlyZWN0bHkgb24gY3VzdG9tIG9wdGlvbnMKCgkKAgcAEgMRAioKCgoDBwACEgMQByIKCgoDBwAEEgMRAgoKCgoDBwAFEgMRCxAKCgoDBwABEgMRER0KCgoDBwADEgMRICkKCgoCBwESBBICEyYKCgoDBwECEgMQByIKCgoDBwEEEgMSAgoKCgoDBwEFEgMSCxAKCgoDBwEBEgMSESkKCgoDBwEDEgMSLDUKCgoDBwEIEgMTBiUKCwoEBwEIERIDEwckCgoKAgcCEgQUAhUlCgoKAwcCAhIDEAciCgoKAwcCBBIDFAIKCgoKAwcCBRIDFAsQCgoKAwcCARIDFBEoCgoKAwcCAxIDFCs0CgoKAwcCCBIDFQYkCgsKBAcCCBESAxUHIwoICgEIEgMYABoKDQoGCMa17PABEgMYABoKCAoBCBIDGQAmCg0KBgickunwARIDGQAmCggKAQgSAxoAJQpICgIEABIEHQAhARo8IFJldGVudGlvbiBhdHRyaWJ1dGVzIHNldCBvbiBmaWVsZHMgbmVzdGVkIHdpdGhpbiBhIG1lc3NhZ2UKCgoKAwQAARIDHQgWCgsKBAQAAgASAx4CIQoMCgUEAAIABBIDHgIKCgwKBQQAAgAFEgMeCxAKDAoFBAACAAESAx4RHAoMCgUEAAIAAxIDHh8gCgsKBAQAAgESAx8CTQoMCgUEAAIBBBIDHwIKCgwKBQQAAgEFEgMfCxAKDAoFBAACAQESAx8RKAoMCgUEAAIBAxIDHyssCgwKBQQAAgEIEgMfLUwKDQoGBAACAQgREgMfLksKCwoEBAACAhIDIAJLCgwKBQQAAgIEEgMgAgoKDAoFBAACAgUSAyALEAoMCgUEAAICARIDIBEnCgwKBQQAAgIDEgMgKisKDAoFBAACAggSAyAsSgoNCgYEAAICCBESAyAtSQoJCgEHEgQjACUBCgkKAgcDEgMkAjIKCgoDBwMCEgMjByIKCgoDBwMEEgMkAgoKCgoDBwMGEgMkCxkKCgoDBwMBEgMkGiUKCgoDBwMDEgMkKDEKCQoBCBIEJwArAgoOCgYIgPLe8AESBCcAKwIKRwoBBxIELgAwARo8IFJldGVudGlvbiBhdHRyaWJ1dGUgbmVzdGVkIGluc2lkZSBhIHJlcGVhdGVkIG1lc3NhZ2UgZmllbGQKCgkKAgcEEgMvAjcKCgoDBwQCEgMuByIKCgoDBwQEEgMvAgoKCgoDBwQGEgMvCxkKCgoDBwQBEgMvGioKCgoDBwQDEgMvLTYKCQoBCBIEMgA2AgoPCgcIkv7b8AEAEgQyADYCCgkKAQcSBDgAOgEKCQoCBwUSAzkCPQoKCgMHBQISAzgHLAoKCgMHBQQSAzkCCgoKCgMHBQYSAzkLGQoKCgMHBQESAzkaMAoKCgMHBQMSAzkzPAoJCgEHEgQ8AD4BCgkKAgcGEgM9AjUKCgoDBwYCEgM8ByUKCgoDBwYEEgM9AgoKCgoDBwYGEgM9CxkKCgoDBwYBEgM9GigKCgoDBwYDEgM9KzQKCQoBBxIEQABCAQoJCgIHBxIDQQIzCgoKAwcHAhIDQAcjCgoKAwcHBBIDQQIKCgoKAwcHBhIDQQsZCgoKAwcHARIDQRomCgoKAwcHAxIDQSkyCgkKAQcSBEQARgEKCQoCBwgSA0UCMwoKCgMHCAISA0QHIwoKCgMHCAQSA0UCCgoKCgMHCAYSA0ULGQoKCgMHCAESA0UaJgoKCgMHCAMSA0UpMgoJCgEHEgRIAEoBCgkKAgcJEgNJAjIKCgoDBwkCEgNIByIKCgoDBwkEEgNJAgoKCgoDBwkGEgNJCxkKCgoDBwkBEgNJGiUKCgoDBwkDEgNJKDEKCQoBBxIETABOAQoJCgIHChIDTQI4CgoKAwcKAhIDTAcnCgoKAwcKBBIDTQIKCgoKAwcKBhIDTQsZCgoKAwcKARIDTRorCgoKAwcKAxIDTS43CgkKAQcSBFAAUgEKCQoCBwsSA1ECNQoKCgMHCwISA1AHJQoKCgMHCwQSA1ECCgoKCgMHCwYSA1ELGQoKCgMHCwESA1EaKAoKCgMHCwMSA1ErNAoJCgEHEgRUAFYBCgkKAgcMEgNVAjQKCgoDBwwCEgNUByQKCgoDBwwEEgNVAgoKCgoDBwwGEgNVCxkKCgoDBwwBEgNVGicKCgoDBwwDEgNVKjMKCgoCBAESBFgAWgEKCgoDBAEBEgNYCBAKCgoDBAEFEgNZAhIKCwoEBAEFABIDWQ0OCgwKBQQBBQABEgNZDQ4KDAoFBAEFAAISA1kNDgoLCgQEAQUBEgNZEBEKDAoFBAEFAQESA1kQEQoMCgUEAQUBAhIDWRARCgkKAQcSBFwAYgEKCgoCBw0SBF0CYQUKCgoDBw0CEgNcBw8KCgoDBw0EEgNdAgoKCgoDBw0FEgNdCxAKCgoDBw0BEgNdERIKCgoDBw0DEgNdFRYKCwoDBw0IEgRdF2EEChAKCAcNCKPXzfABEgRdGGEDCgsKAgQCEgVkAJoBAQoKCgMEAgESA2QIFwoLCgMEAgcSBGUCaQQKEAoIBAIH0+jb8AESBGUCaQQKDAoEBAIDABIEawJxAwoMCgUEAgMAARIDawoXCg0KBQQCAwAHEgRsBHAGChIKCgQCAwAH0+jb8AESBGwEcAYKDAoEBAIEABIEcwJ7AwoMCgUEAgQAARIDcwcRCg0KBQQCBAADEgR0BHgGChIKCgQCBAAD76PF8AESBHQEeAYKDQoGBAIEAAIAEgN6BBcKDgoHBAIEAAIAARIDegQSCg4KBwQCBAACAAISA3oVFgoNCgQEAgIAEgV9AoEBBQoMCgUEAgIABBIDfQIKCgwKBQQCAgAFEgN9CxAKDAoFBAICAAESA30REgoMCgUEAgIAAxIDfRUWCg4KBQQCAgAIEgV9F4EBBAoTCgoEAgIACKPXzfABEgV9GIEBAwoOCgQEAggAEgaDAQKLAQMKDQoFBAIIAAESBIMBCAkKDwoFBAIIAAISBoQBBIgBBgoUCgoEAggAArH7xvABEgaEAQSIAQYKDAoEBAICARIEigEEEAoNCgUEAgIBBRIEigEECQoNCgUEAgIBARIEigEKCwoNCgUEAgIBAxIEigEODwoNCgMEAgUSBo0BApEBBQoMCgQEAgUAEgSNAQ0WCg0KBQQCBQABEgSNAQ0PCg0KBQQCBQACEgSNARMWCg8KBQQCBQADEgaNAReRAQQKFAoKBAIFAAOE89vwARIGjQEYkQEDCg0KAwQCBhIGkwECmQEDCg4KBAQCBgASBpQBBJgBBwoNCgUEAgYAAhIEkwEJEQoNCgUEAgYABBIElAEEDAoNCgUEAgYABRIElAENEwoNCgUEAgYAARIElAEUFQoNCgUEAgYAAxIElAEYGQoPCgUEAgYACBIGlAEamAEGChQKCgQCBgAIo9fN8AESBpQBG5gBBQoMCgIFABIGnAEAqAEBCgsKAwUAARIEnAEFEQoNCgMFAAMSBp0BAqEBBAoSCggFAAPvo8XwARIGnQECoQEECg4KBAUAAgASBqMBAqcBBQoNCgUFAAIAARIEowECEwoNCgUFAAIAAhIEowEWFwoPCgUFAAIAAxIGowEYpwEEChQKCgUAAgAD2pvF8AESBqMBGacBAwoMCgIGABIGqgEAuAEBCgsKAwYAARIEqgEIDwoNCgMGAAMSBqsBAq8BBAoSCggGAAP9sMHwARIGqwECrwEECg4KBAYAAgASBrEBArcBAwoNCgUGAAIAARIEsQEGDQoNCgUGAAIAAhIEsQEOHQoNCgUGAAIAAxIEsQEoNwoPCgUGAAIABBIGsgEEtgEGChQKCgYAAgAE7IW/8AESBrIBBLYBBg==