UEtJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDM1IH0KQXV0aG9yaXR5S2V5SWRlbnRpZmllciA6Oj0gU0VRVUVOQ0UgewogICAgICBrZXlJZGVudGlmaWVyICAgICAgICAgICAgIFswXSBLZXlJZGVudGlmaWVyICAgICAgICAgICAgT1BUSU9OQUwsCiAgICAgIGF1dGhvXWl0eUNlcnRJc3N1ZXIgICAgICAgWzFdIEdlbmVyYWxOYW1lcyAgICAgICBgICAgICBPUFRJT05BTCwKICAgICAgYXV0aG9yaXR5Q2VydFNlcmlhbE51bWJlciBbMl0gQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgIE9QVElPTkFMIH0KICAgIC0tIGF1dGhvcml0eUNlcnRJc3N1ZXIgYW5kIGF1dGhvcml0eUNlcnRTZXJpYWxOdW1iZXIgc2hhbGwgYm90aAogICAgLS0gYmUgcHJlc2VudCBvciBib3RoIGJlIGFic2dlbnQKS2V5SWRlbnRpZmllciA6Oj0gT0NURVQgU1RSSU5HCmlkLWNlLXN1YmplY3RLZXlJZGVudGlmaWVyIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNCB9ClN1YmplY3RLZXlJZGVudGlmaWVyIDo6PSBLZXlJZGVudGlmaWVyCmlkLWNlLWtleVVzYWdlIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNSB9CktleVVzYWdlIDo6PSBCSVQgU1RSSU5HIHsKICAgICBkaWdpdGFsU2lnbmF0dXJlICAgICAgICAoMCksCiAgICAgbm9uUmVwdWRpYXRpb24gICAgICAgICAgKDEpLAogICAgIGtleUVuY2lwaGVybWVudCAgICAgICAgICgyKSwKICAgICBkYXRhRW5jaXBoZXJtZW50ICAgICAgICAoMyksCiAgICAga2V5QWdyZWVtZW50ICAgICAgICAgICAgKDQpLAogICAgIGtub25SZXB1ZGlhdGlvbiAgICAgICAgICAoMSksCiAgICAga2V5RW5jaXBoZXJtZW50ICAgICAgICAgKDIpLAogICAgIGRhdGFFbmNpcGhlcm1lbnQgICAgICAgICgzKSwKICAgICBrZXlBZ3JlZW1lbnQgICAgICAgICAgICAoNCksCiAgICAga2V5Q2VydFNpZ24gICAgICAgICAgICAgKDUpLAogICAgIGNSTFNpZ24gICAgICAgICAgICAgICAgICg2KSwKICAgICBlbmNpcGhlck9ubHkgICAgICAgICAgICAoNyksCiAgICAgZGVjaXBoZXJPbnB5ICAgICAgICAgICAgKDgpIH0KaWQtY2UtcHJpdmF0ZUtleVVzYWdlUGVyaW9kIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNiB9ClByaXZhdGVLZXlVc2FnZVBlcmlvZCA6Oj0gU0VRVUVOQ0UgewogICAgIG5vdEJlZm9yZSAgICAgICBbMF0gICAgIEdlbmVyYWxpemVkVGltZSBPUFRJT05BTCwKICAgICBub3RBZnRlciAgICAgICAgWzFdICAgICBHZW5lcmFsaXplZFRpbWUgT1BUSU9OQUwgfQogICAgIC0tIGVpdGhlciBub3RCZWZvcmUgb3Igbm90QWZ0ZXIgc2hhbGwgYmUgcHJlc2VudAppZC1jZS1jZXJ0aWZpY2F0ZVBvbGljaWVzIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAzMiB9CkNlcnRpZmljYXRlUG9saWNpZXMgOjo9IFNFUVVFTkNFIFNJWkUgKDEuLk1BWCkgT0YgUG9saWN5SW5mb3JtYXRpb24KUG9saWN5SW5mb3JtYTgAAAAgOjo9IFNFUVVFTkNFIHsKICAgICBwb2xpY3lJZGVudGlmaWVyICAgQ2VydFBvbGljeUlkLAogICAgIHBvbGljeVF1YWxpZmllcnMgCiAgICAgICAgdmFsdWUgICBBdHRyaWJ1dGVWYWx1ZSB9CmlkLWF0ICAgICAgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0ge2pvaW50LWlzby1jY2l0dCgyKSBkcyg1i3spIDR9CmlkLWF0LWluaXRpYWxzICAgICAgICAgIEF0dHJpYnV0ZVR5cGUgOjo9IHsgaWQtYXQgNDMgfQpYNTIwaW5pdGlhbHMgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1nZW5lcmF0aW9uUXVhbGlmaWVyIEF0dHJpYnV0ZVR5cGUgOjo9IHsgaWQtYXQgNDQgfQoBLFg1MjBnZW5lcmF0aW9uUXVhbGlmaWVyIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtc3VybmFtZSAgICAgICAgICAgQXR0cmlidXRlVHlwZSA6Oj0geyBpZC1hdCA0IH0KWDUyMHN1ck5hbWUgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1naXZlbk5hbWUgICAgICAgICBBdHRyaWJ1dGVUeXBlIDo6PSB7IGlkLWF0IDQyIH0KWDUyMGdpdmVuTmFtZSA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LW5hbWUgICAgICAgICAgICAgIEF0dHJpYnV0ZVR5cGUgOjo9IHsgaWQtYXQgNDEgfQpYNTIwbmFtZSAgICAgICAgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1jb21tb25OYW1lICAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgM30KWDUyMENvbW1vbk5hbWUgIDo6PSAgICAgIERpcmVjdG9yeVN0cmluZwppZC1hdC1sb2NhbGl0eU5hbWUgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgN30KWDUyMExvY2FsaXR5TmFtZSA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LXN0YXRlT3JQcm92aW5jZU5hbWUgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDh9Clg1MjBTdGF0ZU9yUHJvdn4gfiB+aW5jZU5hbWUgICAgICAgICA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LW9yZ2FuaXphdGlvbk5hbWUgICAgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDEwfQpYNTIwT3JnYW5pemF0aW9uTmFtZSA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LW9yZ2FuaXphdGlvbmFsVW5pdE5hbWUgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDExfQpYNTIwT3JnYW5pemF0aW9uYWxVbml0JmFtZSA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LXRpdGxlICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMTJ9Clg1MjBUaXRsZSA6Oj0gICBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtZGVzY3JpcHRpb24gICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAxM30KWDUyMERlc2NyaXB0aW9uIDo6PSAgIERpcmVjdG9yeVN0cmluZwppZC1hdC1kblF1YWxpZmllciAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgNDZ9Clg1MjBkblF1YWxpZmllciA6Oj0gICAgIFByaW50YWJsZVN0cmluZwppZC1hdC1jb3VudHJ5TmFtZSAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgNn0KWDUyMGNvdWVyZSwgLS0KICAgICAgLS0gc28gaWYgaXQgY2F1c2VzIHByb2JsZW1zLCBjb25zaWRlcmluZyBkcm9wcGluZyBpdC4gLS0KICAgICAgaWE1U3RyaW5nICAgICAgICAgICAgIGAgSUE1U3RyaW5nIChTSVpFKDEuLk1BWCkpIH0KaWQtY2Utc3ViamVjdEFsdE5hbWUgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDE3IH0KU3ViamVjdEFsdE5hbWUgOjo9IEdlbmVyYWxOYW1lcwpHZW5lcmFsTmFtZXMgOjo9IFNFUVVFTkNFIFNJWkUgKDEuLk1BWCkgT0YgR2VuZXJhbE5hbWUgICAgIHR5cGUgICAgICAgICAgICBBdHRyaWJ1dGVUeXBlLAogICAgICAgIHZhbHVlcyAgU0VUIE9GIEF0dHJpYnV0ZVZhbHVlCiAgICAgICAgICAgICAgICAtLSBhdCBsZWFzdCBvbmUgdmFsdWUgaXMgcmVxdWlyZWQgLS0KfQpBdHRyaWJ1dGVUeXBlICAgICAgICAgICA6Oj0gICBPQkpFQ1QgSURFTlRJRklFUgpBdHRyaWJ1dGVWYWx1ZSAgICAgICAgICA6Oj0gICBBTlkgREVGSU5FRCBCWSB0eXBlCkF0dHJpYnV0ZVR5cGVBbmRWYWx1ZSAgICAgICAgICAgOjo9ICAgICBTRVFVRU5DRSB7CiAgICAgICAgdHlwZSAgICBBdHRyaWJ1dGVUeXBlLAogICAgICAgIHZhbHVlICAgQXR0cmlidXRlVp+TipwgfQppZC1hdCAgICAgICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHtqb2ludC1pc28tY2NpdHQoMikgZHMoNYt7KSA0fQppZC1hdC1pbml0aWFscyAgICAgICAgICBBdHRyaWJ1dGVUeXBlIDo6PSB7IGlkLWF0IDQzIH0KWDUyMGluaXRpYWxzIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtZ2VuZXJhdGlvblF1YWxpZmllciBBdHRyaWJ1dGVUeXBlIDo6PSB7IGlkLWF0IDQ0IH0KWDUyMGdlbmVyYXRpb25RdWFsaWZpZXIgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1zdXJuYW1lICAgICAgICAgICBBdHRyaWJ1dGVUeXBlIDo6PSB7IGlkLWF0IDQgfQpYNTIwc3VyTmFtZSA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LWdpdmVuTmFtZSAgICAgICAgIEF0dHJpYnV0ZVR5cGUgOjo9IHsgaWQtYXQgNDIgfQpYNTIwZ2l2ZW5OYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtbmFtZSAgICAgICAgICAgICAgQXR0cmlidXRlVHlwZSA6Oj0geyBpZC1hdCA0MSB9Clg1MjBuYW1lICAgICAgICA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LWNvbW1vbk5hbWUgICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAzfQpYNTIwQ29tbW9uTmFtZSAgOjo9ICAgICAgRGlyZWN0b3J5U3RyaW5nCmlkLWF0LWxvY2FsaXR5TmFtZSAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA3fQpYNTIwTG9jYWxpdHlOYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtc3RhdGVPclByb3ZpbmNlTmFtZSAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgOH0KWDUyMFN0YXRlT3JQcm92fiB+IH5pbmNlTmFtZSAgICAgICAgIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtb3JnYW5pemF0aW9uTmFtZSAgICAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMTB9Clg1MjBPcmdhbml6YXRpb25OYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtb3JnYW5pemF0aW9uYWxVbml0TmFtZSAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMTF9Clg1MjBPcmdhbml6YXRpb25hbFVuaXQmYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtdGl0bGUgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAxMn0KWDUyMFRpdGxlIDo6PSAgIERpcmVjdG9yeVN0cmluZwppZC1hdC1kZXNjcmlwdGlvbiAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDEzfQpYNTIwRGVzY3JpcHRpb24gOjo9ICAgRGlyZWN0b3J5U3RyaW5nCmlkLWF0LWRuUXVhbGlmaWVyICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA0Nn0KWDUyMGRuUXVhbGlmaWVyIDo6PSAgICAgUHJpbnRhYmxlU3RyaW5nCmlkLWF0LWNvdW50cnlOYW1lICAgICAgIEF0dHJpYnV0ZVR5cF8gICA6Oj0gICAgIHtpZC1hdCA2fQpYNTIwY291bnRyeU5hbWUgOjo9ICAgICBQcmludGFibGVTdHJpbmcgKFNJWkUgKDIpKSAtLSBJUyAzMTY2IGNvZGVzCmlkLWF0LXNlcmlhbE51bWJlciAgICAgICBBdHRyaWJ1dGVUeXBlIA==