UEtJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDM1IH0KQXV0aG9yaXR5S2V5SWRlbnRpZmllciA6Oj0gU0VRVUVOQ0UgewogICAgICBrZXlJZGVudGlmaWVyICAgICAgICAgICAgIFswXSBLZXlJZGVudGlmaWVyICAgICAgICAgICAgT1BUSU9OQUwsCiAgICAgIGF1dGhvcml0eUNlcnRJc3N1ZXIgICAgICAgWzFdIEdlbmVyYWxOYW1lcyAgICAgICAgICAgICBPUFRJT05BTCwKICAgICAgYXV0aG9yaXR5Q2VydFNlcmlhbE51bWJlciBbMl0gQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgIE9QVElPTkFMIH0KICAgIC0tIGF1dGhvcml0eUNlcnRJc3N1ZXIgYW5kIGF1dGhvcml0eUNlcnRTZXJpYWxOdW1iZXIgc2hhbGwgYm90aAogICAgLS0gYmUgcHJlc2VudCBvciBib3RoIGJlIGFic2dlbnQKS2V5SWRlbnRpZmllciA6Oj0gT0NURVQgU1RSSU5HCmlkLWNlLXN1YmplY3RLZXlJZGVudGlmaWVyIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNCB9ClN1YmplY3RLZXlJZGVudGlmaWVyIDo6PSBLZXlJZGVudGlmaWVyCmlkLWNlLWtleVVzYWdlIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNSB9CktleVVzYWdlIDo6PSBCSVQgU1RSSU5HIHsKICAgICBkaWdpdGFsU2lnbmF0dXJlICAgICAgICAoMCksCiAgICAgbm9uUmVwdWRpYXRpb24gICAgICAgICAgKDEpLAogICAgIGtleUVuY2lwaGVybWVudCAgICAgICAgICgyKSwKICAgICBkYXRhRW5jaXBoZXJtZW50ICAgICAgICAoMyksCiAgICAga2V5QWdyZWVtZW50ICAgICAgICAgICAgKDQpLAogICAgIGtleUNlcnRTaWduICAgICBmIHByZXNlbnQsIHZlcnNpb24gc2hhbGwgYmUgdjMgLS0KfQpWZXJzaW9uICA6Oj0gIElOVEVHRVIgIHsgIHYxKDApLCB2MigxKSwgdjMoMikgIH0KQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgIDo6PSAgSU5URUdFUgpWYWxpZGl0eSA6Oj0gU0VRVUVOQ0UgewogICAgIG5vdEJlZm9yZSAgICAgIFRpbWUsCiAgICAgbm90QWZ0ZXIgICAgICAgVGltZSB9ClRpbWUgOjo9IENIT0lDRSB7CiAgICAgdXRjVGltZSAgICAgICAgVVRDVGltZSwKICAgICBnZW5lcmFsVGltZSAgICBHZW5lcmFsaXplZFRpbWUgfQpVbmlxdWVJZGVudGlmaWVyICA6Oj0gIEJJVCBTVFJJTkcKU3ViamVjdFB1YmxpY0tleUluZm8gIDo6PSAgU0VRVUVOQ0UgIHsKICAgICBhbGdvcml0aG0gICAgICAgICAgICBBbGdvcml0aG1JZGVudGlmaWVyLAogICAgIHN1YmplY3RQdWJsaWNLZXkgICAgIEJJVCBTVFJJTkcgIH0KRXh0ZW5zaW9ucyAgOjo9ICBTRVFVRU5udEluZm8sCgltYWNEYXRhCQlwa2NzLTEyLU1hY0RhdGEgT1BUSU9OQUwKfQpwa2NzLTEyLVBiZVBhcmFtcyA6Oj0gU0VRVUVOQ0UgewoJc2FsdAlPQ1RFVCBTVFJJTkcsCglpdGVyYXRpb25zIElOVEVHRVIKfQpwa2NzLTEyLU1hY0RhdGEgOjo9IFNFUVVFTkNFIHsKCW1hYwkJcGtjcy03LURpZ2VzdEluZm8sCgltYWNTYWx0CSAgICAgICAgT0NURVQgU1RSSU5HLAoJaXRlcmF0aW9ucwlJTlRFR0VSIERFRkFVTFQgMQp9CnBrY3MtMTItQXV0aGVudGljYXRlZFNhZmUgOjo9IFNFUVVFTkNFIE9GIHBrY3MtNy1Db250ZW50SW5mbwoJLS0gRGF0YSBpZiB1bmVuY3J5cHRlZAoJLS0gRW5jcnlwdGVkRGF0YSBpZiBwYXNzd29yZC1lbmNyeXB0ZWQKCS0tIEVudmVsb3BlZERhdGEgaWYgcHVibGljIGtleS1lbmNyeXB0ZWQKcGtjcy0xMi1TYWZlQ29udGVudHMgOjo9IFNFUVVFTkNFIE9GIHBrY3MtMTItU2FmZUJhZwpwa2NzLTEyLVNhZmVCYWcgOjo9IFNFUVVFTkNFIHsKCWJhZ0lkCQlPQkpFQ1QgSURFTlRJRklFUiwKCWJhZ1ZhbHVlCVswXSBFWFBMSUNJVCBBTlkgREVGSU5FRCBCWSBiYWRJZCwKCWJhZ0F0dHJpYnV0ZXMJU0VUIE9GIHBrY3MtMTItUEtDUzEyQXR0cmlidXRlIE9QVElPTkFMCn0KcGtjcy0xMi1iYWd0eXBlcyBPQkpFQ1QgSURFTlRJRklFUiALXTo6PSB7cGtjcy0xMiAxMCAxfQpwa2NzLTEyLWtleUJhZyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0ge3BrY3MtMTItYmFndHlwZXMgMX0KcCtjcy0xMi1wa2NzOFNocm91ZGVkS2V5QmFnIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7cGtjcy0xMi1iYWd0eXBlcyAyfQpwa2NzLTEyLWNlcnRCYWcgT0JKRUNUIElERU5USUZJRVIgOjo9IHtwa2NzLTEyLWJhZ3R5cGVzIDN9CnBrY3MtMTItY3JsQmFnIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7cGtjcy0xMi1iYWd0eXBlcyA0fQpwa2NzLTEyLUtleUJhZyA6Oj0gcGtjcy04LVByaXZhdGVLZXlJbmZvCnBrY3MtMTItUEtDUzhTaHJvdWRlZEtleUJhZyA6Oj0gcGtjcy04LUVuY3J5cHRlZFByaXZhdGVLZXlJbmZvCnBrY3MtMTItQ2VydEJhZyA6Oj0gU0VRVUVOQ0UgewoJY2VydElkICAgIE9CSkVDVCBJREVOVElGSUVSLAoJY2VydFZhbHVlIFswXSBFWFBMSUNJVCBBTlkgREVGSc5FRCBCWSBjZXJ0SWQKfQpwa2NzLTEyLUNSTEJhZyA6Oj0gU0VRVUVOQ0UgewoJY3JsSWQJCU9CSkVDVCBJREVOVElGSUVSLAoJY3JsVmFsdWUJWzBdIEVYUExJQ0lUIEFOWSBERUZJTkVEIEJZIGNybElkCn0KcGtjcy0xMi1QS0NTMTJBdHRyaWJ1dGUgOjo9IEF0dHJpYnV0ZQpwa2NzLTctRGF0YSA6Oj0gT0NURVQgU1RSSU5HCnBrY3MtNy1FbmNyeXB0ZWREYXRhIDo6PSBTRVFVRU5DRSB7CiAgICB2ZXJzaW9uIElOVEVHRVIsCiAgICBlbmNyeXB0ZWRDb250ZW50SW5mbyBwa2NzLTctRW5jcnlwdGVkQ29udGVudEluZm8sCiAgICB1bnByb3RlY3RlZEF0dHJzIFtFQ1QgSURFTlRJRklFUiwKICAgICBjcml0aWNhbCAgICBCT09MRUFOIERFRkFVTFQgRkFMU0UsCiAgICAgZXh0blZhbHVlICAgT0NURVQgU1RSSU5HICB9CkNlcnRpZmljYXRlTGlzdCAgOjo9ICBTRVFVRU5DRSAgewogICAgIHRic0NlcnRMaXN0ICAgICAgICAgIFRCU0NlcnRMaXN0LAogICAgIHNpZ25hdHVyZUFsZ29yaXRobSAgIEFsZ29yaXRydExpc3QgIDo6PSAgU0VRVUVOQ0UgIHsKICAgICB2ZXJzaW9uICAgICAgICAgICAgICAgICBWZXJzaW9uIE9QVElPTkFMLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gaWYgcHJlc2VudCwgc2hhbGwgYmUgdjIKICAgICBzaWduYXR1cmUgICAgICAgICAgICAgICBBbGdvcml0aG1JZGVudGlmaWVyLAogICAgIGlzc3VlciAgICAgICAgICAgICAgICAgIE5hbWUsCiAgICAgdGhpc1VwZGF0ZSAgICAgICAgICAgICAgVGltZSwKICAgICBuZXh0VXBkYXRlICAgICAgICAgICAgICBUaW1lIE9QVElPTkFMLAogICAgIHJldm9rZWRDZXJ0aWZpY2F0ZXMgICAgIFNFUVVFTkNFIE9GIFNFUVVFTkNFICB7CiAgICAgICAgICB1c2VyQ2VydGlmaWNhdGUgICAgICAgICBDZXJ0aWZpY2F0ZVNlcmlhbE51bWJlciwKICAgICAgICAgIHJldm9jYXRpb25EYXRlICAgICAgICAgIFRpbWUsCiAgICAgICAgICBjcmxFbnRyeUV4dGVuc2lvbnMgICAgICBFeHRlbnNpb25zIE9QVElPTkFMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gaWYgcHJlc2VudCwgc2hhbGwgYmUgdjIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gIE9QVElPTkFMLAogICAgIGNybEV4dGVuc2lvbnMgICAgICAgICAgIFswXSBFWFBMSUNJVCBFeHRlbnNpb25zIE9QVElPTkFMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gaWYgcHJlc2VudCwgc2hhbGwgYmUgdjIgLS0KfQpBbGdvcml0aG1JZGVudGlmaWVyICA6Oj0gIFNFUVVFTkNFICB7CiAgICAgYWxnb3JpdGhtICAgICAgICAgICAgICAgT0JKRUNUIElERU5USUZJRVIsCiAgICAgcGFyYW1ldGVycyAgICAgICAgICAgICAgQU5ZIERFRklORUQgQlkgYWxnb3JpdGhtIE9QVElPTkFMICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gY29udGFpbnMgYSB2YWx1ZSBvZiB0aGUgdHlwZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIHJlZ2lzdGVyZWQgZm9yIHVzZSB3aXRoIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIGFsZ29yaXRobTkgMjB9CnBrY3MtOS1mcmllbmRseU5hbWUgOjo9IEJNUFN0cmluZyAgICAgIChTSVpFICgxLi4yNTUpKQpwa2NzLTgtUHJpdmF0ZUtleUluZm8gOjo9IFNFUVVFTiAgICAgICAgQWxnb3JpdGhtSWRlbnRpZmllciwKICAgIGlzc3Vlck5hbWVIYXNoICAgICBPQ1RFVCBTVFJJTkcsIC0tIEhhc2ggb2YgSXNzdWVyJ3MgRE4KICAgIGlzc3VlcktleUhhc2ggICAgICBPQ1RFVCBTVFJJTkcsIC0tIEhhc2ggb2YgSXNzdWVycyBwdWJsaWMga2V5CiAgICBzZXJpYWxOdW1iZXIgICAgICAgQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgfQpDZXJ0U3RhdHVzIDo6PSBDSE9JQ0UgewogICAgZ29vZCAgICAgICAgICAgICAgICBbMF0gICAgIElNUExJQ0lUIE5VTEwsCiAgICByZXZva2VkICAgICAgICAgICAgIFsxXSAgICAgSU1QTElDSVQgUmV2b2tlZEluZm8sCiAgICB1bmtub3duICAgICAgICD///8nIFsyXSAgICAgSU1QTElDSVQgVW5rbm93bkluZm8gfQpTaW4=