UEtJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDE3IH0KQXV0aG9yaXR5S2V5SWRlbnRpZmllciA6Oj0gU0VRVUVOQ0UgewogICAgICBrZXlJZGVudGlmaWVyICAgICAgICAgICAgIFswXSBLZXlJZGVudGlmaWVyICAgICAgICAgICAgT1BUSU9OQUwsCiAgICAgIGF1dGhvcml0eUNlcnRJc3N1ZXIgICAgICAgWzFdIEdlbmVyYWxOYW1lcyAgICAgICAgICAgICBPUFRJT05BTCwKICAgICAgYXV0aG9yaXR5Q2VydFNlcmlhbE51bWJlciBbMl0gQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgIE9QVElPTkFMIH0KICAgIC0tIGF1dGhvcml0eUNlcnRJc3N1ZXIgYW5kIGF1dGhvcml0eUNlcnRTZXJpYWxOdW1iZXIgc2hhbGwgYm90aAogICAgLS0gYmUocHJlc2VudCBvciBib3RoIGJlIGFic2dlbnQKS2V5SWRlbnRpZmllciA6Oj0gT0NURVQgU1RSSU5HCmlkLWNlLXN1YiAgICAgICg2KSwKICAgICByZW1vdmVGcm9tQ1JMICAgICAgICAgICAoOCkgfQppZC1jZS1jZXJ0aWZpY2F0ZUlzc3VlciBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZC1jZSAyOSB9CkNlcnRpZmljYXRlSXNzdWVyIDo6PSBHZW5lcmFsTmFtZXMKaWQtY2UtaG9sZEluc3RydWN0aW9uQ29kZSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZC1jZTp7aCg5KTsgMjMgfQpIb2xkSW5zdHJ1Y3Rpb25Db2RlIDo6PSBPQkpFQ1QgSURFTlRJRklFUgpob2xkSW5zdHJ1Y3Rpb24gT0JKRUNUIElERU5USUZJRVIgOjo9CiAgICAgICAgICB7am9pbnQtaXNvLWl0dS10KDIpIG1lbWJlci1ib2R5KDIpIHVzKDg0MCkgeDljbSgxMDA0MCkgMn0KaWQtaG9sZGluc3RydWN0aW9uLW5vbmUgT0JKRUNUIElERU5USUZJRVIgIDo6PQogICAgICAgICAgICAgICAge2hvbGRJbnN0cnVjdGlvbiAxfSAtLSBkZXByZWNhdGVkCmlkLWhvbGRpbnN0cnVjdGlvbi1jYWxsaXNzdWVyIE9CSkVDVCBJREVOVElGSUVSIDo6PQogICAgICAgICAgICAgICAge2hvbGRJbnN0cn11Y3Rpb24gMn0KaWQtaG9sZGluc3RydWN0aW9uLXJlamVjdCBPQkpFQ1QgSURFTlRJRklFUiA6Oj0KICAgICAgICAgICAgICAgIHtob2xkSW5zdHJ1Y3Rpb24gM30KaWQtY2UtaW52YWxpZGl0eURhdGUgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgaWQtY2UgMjQgfQpJbnZhbGlkaXR5RGF0ZSA6Oj0gIEdlbmVyYWxpemVkVGltZQpWaXNpYmxlU3RyaW5nIDo6PSBbVU5JVkVSU0FMIDI2XSBJTVBMSUNJVCBPQ1RFVCBTVFJJTkcKTnVtZXJpY1N0cmluZyA6Oj0gW1VOSVZFUlNBTCAxOF0gSU1QTElDSVQgT0NURVQgU1RSSU5HCklBNVN0cmluZyA6Oj0gW1VOSVZFUlNBTCAyMl0gSU1QTElDSVQgT0NURVQgU1RSSU5HClRlbGV0ZXhTdHJpbmcgOjo9IFtVTklWRVJTQUwgMjBdIElNUExJQ0lUIE9DVEVUIFNUUklORwpQcmludGFibGVTdHJpbmcgOjo9IFtVTklWRVJTQUwgMTldIElNUExJQ0lUIE9DVEVUIFNUUklORwpVbml2ZXJzYWxTdHJpbmcgOjo9IFtVTklWRVJTQUwgMjhdIElNUExJQ0lUIE9DVEVUIFNUUklORwogICAgICAgIC0tIFVuaXZlcnNhbFN0cmluZyAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgOH0KWDUyMFN0YXRlT3JQcm92aW5jZU5hbWUgICAgICAgICA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LW9yZ2FuaXphdGlvbk5hbWUgICAgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDEwfQpYNTIwT3JnYW5pemF0aW9uTmFtZSA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LW9yZ2FuaXphdGlvbmFsVW5pdE5hbWUgICAgQXR0cmlic3RyaWJ1dGlvblBvaW50ICAgICAgIFswXSAgICAgRVhQTElDSVQgRGlzdHJpYnV0aW9uUG9pbnROYW1lIE9QVElPTkFMLAogICAgIHJlYXNvbnMgICAgICAgICAgICAgICAgIFsxXSAgICAgUmVhc29uRmxhZ3MgT1BUSU9OQUwsCiAgICAgY1JMSXNzdWVyICAgICAgICAgICAgICAgWzJdICAgICBHZW5lcmFsTmFtZXMgT1BUSU9OQUwKfQpEaXN0cmlidXRpb25Qb2ludE5hbWUgOjo9IENIT0lDRSB7CiAgICBmdWxsTmFtZSAgICAgICAgICAgICAgICBbMF0gICAgIEdlbmVyYWxOYW1lcywKICAgIG5hbWVSZWxhdGl2ZVRvQ1JMSXNzdWVyIFsxXSAgICAgUmVsYXRpdmVEaXN0aW5ndWlzaGVkTmFtZQp9ClJlYXNvbkZsYWdzIDo6PSBCSVQgU1RSSU5HIHsKICAgICB1bnVzZWQgICAgICAgICAgICAgICAgICAoMCksCiAgICAga2V5Q29tcHJvbWlzZSAgICAgICAgICAgKDEpLAogICAgIGNBQ29tcHJvbWlzZSAgICAgICAgICAgICgyKSwKICAgICBhZmZpbGlhdGlvbkNoYW5nZWQgICAgICAoMyksCiAgICAgc3VwZXJzZWRlZCAgICAgICAgICAgICAgKDQpLAogICAgIGNlc3NhdGlvbk9mT3BlcmF0aW9uICAgICg1KSwKICAgICBjZXJ0aWZpY2F0ZUhvbGQgICAgICAgICAoNiksCiAgICAgcHJpdmlsZWdlV2l0aGRyYXduICAgICAgKDcpLAogICAgIGFBQ29tcHJvbWlzZSAgICAgICAgICAgICg4KSB9CmlkLWNlLWV4dEtleVVzYWdlIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7aWQtY2UgMzd9CkV4dEtleVVzYWdlU3ludGF4IDo6PSBTRVFVRU5DRSBTSVpFICgxLi5NQVgpIE9GIEtleVB1cnBvc2VJZApLZXlQdXJwb3NlSWQgOjo9IE9CSkVDVCBJREVOVElGSUVSCmlkLWtwLXNlcnZlckF1dGggICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZC1rcCAxIH0KaWQta3AtY2xpZW50QXV0aCAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlkLWtwIDIgfQppZC1rcC1jb2RlU2lnbmluZyAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgaWQta3AgMyB9CmlkLWtwLWVtYWlsUHJvdGVjdGlvbiBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gSU1QTElDSVQgT0NURVQgU1RSSU5HCk51bWVyaWNTdHJpbmcgOjo9IFtVTklWRVJTQUwgMThdIElNUExJQ0lUIE9DVEVUIFNUUklORwpJQTVTdHJpbmcgOjo9IFtVTklWRVJTQUwgMjJdIElNUExJQ0lUIE9DVEVUIFNUUklORwpUZWxldGV4U3RyaW5nIDo6PSBbVU5JVkVSU0FMIDIwXSBJTVBMSUNJVCBPQ1RFVCBTVFJJTkcKUHJpbnRhYmxlU3RyaW5nIDo6PSBbVU5JVkVSU0FMIDE5XSBJTVBMSUNJVCBPQ1RFVCBTVFJJTkcKVW5pdmVyc2FsU3RyaW5nIDo6PSBbVU5JVkVSU0FMIDI4XSBJTVBMSUNJVCBPQ1RFVCBTVFJJTkcKICAgICAgICAtLSBVbml2ZXJzYWxTdHJpbmcgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDh9Clg1MjBTdGF0ZU9yUHJvdmluY2VOYW1lICAgICAgICAgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1vcmdhbml6YXRpb25OYW1lICAgICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAxMH0KWDUyME9yZ2FuaXphdGlvbk5hbWUgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1vcmdhbml6YXRpb25hbFVuaXROYW1lICAgIEF0dHJpYnN0cmlidXRpb25Qb2ludCAgICAgICBbMF0gICAgIEVYUExJQ0lUIERpc3RyaWJ1dGlvblBvaW50TmFtZSBPUFRJT05BTCwKICAgICByZWFzb25zICAgICAgICAgICAgICAgICBbMV0gICAgIFJlYXNvbkZsYWdzIE9QVElPTkFMLAogICAgIGNSTElzc3VlciAgICAgICAgICAgICAgIFsyXSAgICAgR2VuZXJhbE5hbWVzIE9QVElPTkFMCn0KRGlzdHJpYnV0aW9uUG9pbnROYW1lIDo6PSBDSE9JQ0UgewogICAgZnVsbE5hbWUgICAgICAgICAgICAgICAgWzBdICAgICBHZW5lcmFsTmFtZXMsCiAgICBuYW1lUmVsYXRpdmVUb0NSTElzc3VlcmUgMSB9CkF1dGhvcml0eUluZm9BY2Nlc3NTeW50YXggIDo6PQogICAgICAgIFNFUVVFTkNFIFNJWkUgKDEuLk1BWCkgT0YgQWNjZXNzRGVzY3JpcHRpb24KQWNjZXNzRGVzY3JpcHRpb24gIDo6PSAgU0VRVUVOQ0UgewogICAgICAgIGFjY2Vzc01ldGhvZCAgICAgICAgICBPQkpFQ1QgSURFTlRJRklFUiwKICAgICAgICBhY2Nlc3NMb2NhdGlvbiAgICAgICAgR2VuZXJhbE5hbWUgIH0KaWQtY2UtY1JMTnVtYmVyIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGkgU1RSSU5HCk51bWVyaWNTdHJpbmcgOjo9IFtVTklWRVJTQUwgMThdIElNUExJQ0lUIE9DVEVUIFNUUklORwpJQTVTdHJpbmcgOjo9IFtVTklWRVJTQUwgMjJdIElNUExJQ0lUIE9DVEVUIFNUUklORwpUZWxldGV4U3RyaW5nIDo6PSBbVU5JVkVSU0FMIDIwXSBJTVBMSUNJVCBPQ1RFVCBTVFJJTkcKUHJpbnRhYmxlU3RyaW5nIDo6PSBbVU5JVkVSU0FMIDE5XSBJTVBMSUNJVCBPQ1RFVCBTVFJJTkcKVW5pdmVyc2FsU3RyaW5nIDo6PSBbVU5JVkVSU0FMIDI4XSBJTVBMSUNJVCBPQ1RFVCBTVFJJTkcKICAgICAgICAtLSBVbml2ZXJzYWxTdHJpbmcgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDh9Clg1MjBTdGF0ZU9yUHJvdmluY2VOYW1lICAgICAgICAgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1vcmdhbml6YXRpb25OYW1lICAgICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAxMH0KWDUBAAAAAFma4HphdGlvbk5hbWUgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1vcmdhbml6YXRpb25hbFVuaXROYW1lICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAxMX0KWDUyME9yZ2FuaXphdGlvbmFsVW5pdE5hbWU=