UOEAWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDM1IH0KQXV0aG9yaXR5S2V5SWRlbnRpZmllciA6Oj0gU0VRVUVOQ0UgewogICAgICBrZXlJZGVudGlmaWVyICAgICAgICAgICAgIFswXSBLZXlJZGVudGlmICgxLi5NQVgpIE9GIEdlbmVyYWxOYW1lICAgICB0eXBlICAgICAgICAgICAgQXR0cmlidXRlVHlwZSwKICAgICAgICB2YWx1ZXMgIFNFVCBPRiBBdHRyaWJ1dGVWYWx1ZQogICAgICAgICAgICAgICAgLS0gYXQgbGVhc3Qgb25lIHZhbHVlIGlzIHJlcXVpcmVkIC0tCn0KQXR0cmlidXRlVHlwZSAgICAgICAgICAgOjo9ICAgT0JKRUNUIElERU5USUZJRVIKQXR0cmlidXRlVmFsdWUgICAgICAgICAgOjo9ICAgQU5ZIERFRklORUQgQlkgdHlwZQpBdHRyaWJ1dGVUeXBlQW5kVmFsdWUgICAgICAgICAgIDo6PSAgICAgU0VRVUVOQ0UgewogICAgICAgIHR5cGUgICAgQXR0cmlidXRlVHlwZSwKICAgICAgICB2YWx1ZSAgIEF0dHJpYnV0ZVZhbHVlIH0KaWQtYXQgICAgICAgICAgIE9CSkVDVCBJREVOVElGSUVSIDr/PSB7am9pbnQtaXNvLWNjaXR0KDIpIGRzKDWLeykgNH0KaWQtYXQtaW5pdGlhbHMgICAgICAgICAgQXR0cmlidXRlVHlwZSA6Oj0geyBpZC1hdCA0MyB9Clg1MjBpbml0aWFscyA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LWdlbmVyYXRpb25RdWFsaWZpZXIgQXR0cmlidXRlVHlwZSA6Oj0geyBpZC1hdCA0NCB9Clg1MjBnZW5lcmF0aW9uUXVhbGlmaWVyIDo6PSBEaXJlY3RvcnlTICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMTB9Clg1MjBPcmdhbml6YXRpb25OYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtb3JnYW5pemF0aW9uYWxVbml0TmFtZSAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMTF9Clg1MjBPcmdhbml6YXRpb25hbFVuaXQmYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtdGl0bGUgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAxMn0KWDUyMFRpdGxlIDo6PSAgIERpcmVjdG9yeVN0cmluZwppZC1hdC1kZXNjcmlwdGlvbiAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDEzfQpYNTIwRGVzY3JpcHRpb3RyeU5hbWUgOjo9ICAgICBQcmludGFibGVTdHJpbmcgKFNJWkUgKDIpKSAtLSBJUyAzMTY2IGNvZGVzCmlkLWF0LXNlcmlhbE51bWJlciAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgNX0KWDUyMHNlcmlhbE51bWJlciA6Oj0gICAgIFByaW50YWJsZVN0cmluZwppZC1hdC10ZWxlcGhvbmVOdW1iZXIgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDIwfQpYNTIwdGVsZXAtLSBJUyAzMTY2IGNvZGVzCmlkLWF0LXNlcmlhbE51bWJlciAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgNX0KWDUyMHNlcmlhbE51bWJlciA6Oj0gICAgIFByaW50YWJsZVN0cmluZwppZC1hdC10ZWxlcGhvbmVOdW1iZXIgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDIwfQpYNTIwdGVsZXBob25lTnVtYmVyIDo6PSAgICAgUHJpbnRhYmxlU3RyaW5nCmlkLWF0LWZhY3NpbWlsZVRlbGVwaG9uZU51bWJlciAgICAgICBBdHRyaWJ1dGVUeXAgfiB+ZSAgIDo6PSAgICAge2lkLWF0IDIzfQpYNTIwZmFjc2ltaWxlVGVsZXBob25lTnVtYmVyIDo6PSAgICAgUHJpbnRhYmxlU3RyaW5nCmlkLWF0LXBzZXVkb255bQkJQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkICB0eXBlICAgIEF0dHJpYnV0ZVR5cGUsCiAgICAgICAgdmFsdWUgICBBdHRyaWJ1dGVWYWx1ZSB9CmlkLWF0ICAgICAgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0ge2pvaW50LWlzby1jY2l0dCgyKSBkcyg1i3spIDR9CmlkLWF0LWluaXRpYWxzICAgICAgICAgIEF0dHJpYnV0ZVR5cGUgOjo9IHsgaWQtYXQgNDMgfQpYNTIwaW5pdGlhbHMgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1nZW5lcmF0aW9uUXVhbGlmaWVyIEF0dHJpYnV0ZTo6PSBEaXJlY3RvcnlTdHJpcmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDV9Clg1MjBzZXJpYWxOdW1iZXIgOjo9ICAgICBQcmludGFibGVTdHJpbmcKaWQtYXQtdGVsZXBob25lTnVtYmVyICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdGlkLWF0LW9yZ2FuaXphdGlvbk5hbWUgICAgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDEwfQpYNTIwT3JnYW5pemF0aW9uTmFtZSA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LW9yZ2FuaXphdGlvbmFsVW5pdE5hbWUgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDExfQpYNTIwT3JnYW5pemF0aW9uYWxVbml0JmFtZSA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LXRpdGxlICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMTJ9Clg1MjBUaXRsZSA6Om5nCmlkLWF0LWRlc2NyaXB0aW9uICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMTN9Clg1MjBEZXNjcmlwdGlvbiA6Oj0gICBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtZG5RdWFsaWZpZXIgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDQ2fQpYNTIwZG5RdWFsaWZpZXIgOjo9ICAgICBQcmludGFibGVTdHJpbmcKaWQtYXQtY291bnRyeU5hbWUgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDZ9Clg1MjBjb3VudHJ5TmFtZSA6Oj0gICAgIFByaW50YWJsZVN0cmluZyAoU0laRSAoMikpIC0tIElTIDMxNjYgY29kZXMKaWQtYXQtc2VyaWFsTnVtYmVyICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA1fQpYNTIwc2VyaWFsTnVtYmVyIDo6PSAgICAgUHJpbnRhYmxlU3RyaW5nCmlkLWF0LXRlbGVwaG9uZU51bWJlciAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMjB9Clg1MjB0ZWxlcGhvbmVOdW1iZXIgOjo9ICAgICBQcmludGFibGVTdHJpbmcKaWQtYXQtZmFjc2ltaWxlVGVsZXBob25lTnVtYmVyICAgICAgIEF0dHJpYnV0ZVR5cCB+IH5lICAgOjo9ICAgICB7aWQtYXQgMjN9Clg1MjBmYWNzaW1pbGVUZWxlcGhvbmVOdW1iZXIgOjo9ICAgICBQcmludGFibGVTdHJpbmcKaWQtYXQtcHNldWRvbnltCQlBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQgIHR5cGUgICAgQXR0cmlidXRlVHlwZSwKICAgICAgICB2YWx1ZSAgIEF0dHJpYnV0ZVZhbHVlIH0KaWQtYXQgICAgICAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7am9pbnQtaXNvLWNjaXR0KDIpIGRzKDWLeykgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDd9Clg1MjBMb2NhbGl0eU5hbWUgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1zdGF0ZU9yUHJvdmluY2VOYW1lICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA4fQpYNTIwU3RhdGVPclByb3Z+IH4gfmluY2VOYW1lICAgICAgICAgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1vcmdhbml6YXRpb25OYW1lICAgICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAxMH0KWDUyME9yZ2FuaXphdGlvbk5hbWUgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1vcmdhbml6YXRpb25hbFVuaXROYW1lICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAxMX0KWDUyME9yZ2FuaXphdGlvbmFsVW5pdCZhbWUgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC10aXRsZSAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDEyfQpYNTIwVGl0bGUgOjpuZwppZC1hdC1kZXNjcmlwdGlvbiAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDEzfQpYNTIwRGVzY3JpcHRpb24gOjo9ICAgRGlyZWN0b3J5U3RyaW5nCmlkLWF0LWRuUXVhbGlmaWVyICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA0Nn0KWDUyMGRuUXVhbGlmaWVyIDo6PSAgICAgUHJpbnRhYmxlU3RyaW5nCmlkLWF0LWNvdW50cnlOYW1lICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA2fQpYNTIwY291bnRyeU5hbWUgOjo9ICAgICBQcmludGFibGVTdHJpbmcgKFNJWkUgKDIpKSAtLSBJUyAzMTY2IGNvZGVzCmlkLWF0LXNlcmlhbE51bWJlciAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgNX0KWDUyMHNlcmlhbE51bWJlciA6Oj0gICAgIFByaW50YWJsZVN0cmluZwppZC1hdC10ZWxlcGhvbmVOdW1iZXIgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDIwfQpYNTIwdGVsZXBob25lTnVtYmVyIDo6PSAgICAgUHJpbnRhYmxlU3RyaW5nCmlkLWF0LWZhY3NpbWlsZVRlbGVwaG9uZU51bWJlciAgICAgICBBdHRyaWJ1dGVUeXAgfiB+ZSAgIDo6PSAgICAge2lkLWF0IDIzfQpYNTIwZmFjc2ltaWxlVGVsZXBob25lTnVtYmVyIDo6PSAgICAgUHJpbnRhYmxlU3RyaW5nCmlkLWF0LXBzZXVkb255bQkJQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkICB0eXBlICAgIEF0dHJpYnV0ZVR5cGUsCiAgICAgICAgdmFsdWUgICBBdHRyaWJ1dGVWYWx1ZSB9CmlkLWF0ICAgICAgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0ge2pvaW50LWlzby1jY2l0dCgyKSBkcyg1i3spIDR9CmlkLWF0LWluaXRpYWxzICAgICAgICAgIEF0dHJpYnV0ZVR5cGUgOjo9IHsgaWQtYXQgNDMgfQpYNTIwaW5pdGlhbHMgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1nZW5lcmF0aW9uUXVhbGlmaWVyIEF0dHJpYnV0ZVR5cGUgOjo9IHt0QWRkcmVzcwlBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgOX0KWDUyMHN0cmVldEFkZHJlc3MgOjo9CURpcmVjdG9yeVN0cmluZwppZC1hdC1wb3N0YWxwdGlvbiA6Oj0gICBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtZG5RdWFsaWZpZXIgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDQ2fQpYNTIwZG5RdWFsaWZpZXIgOjo9ICAgICBQcmludGFibGVTdHJpbmcKaWQtYXQtY291bnRyeU5hbWUgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDZ9Clg1MjBjb3VudHJ5TmFtZSA6Oj0gICAgIFByaW50YWJsZVN0cmluZyAoU0laRSAoMikpIC0tIElTIDMxNjYgY29kZXMKaWQtYXQtc2VyaWFsTnVtYmVyICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA1fQpYNTIwc2VyaWFsTnVtYmVyIDo6PSAgICAgUHJpbnRhYmxlU3RyaW5nCmlkLWF0LXRlbGVwaG9uZU51bWJlciAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMjB9Clg1MjB0ZWxlcGhvbmVOdW1iZXIgOjo9ICAgICBQcmludGFibGVTdHJpbmcKaWQtYXQtZmFjc2ltaWxlVGVsZXBob25lTnVtYmVyICAgICAgIEF0dHJpYnV0ZVR5cCB+IH5lICAgOjo9ICAgICB7aWQtYXQgMjN9Clg1MjBmYWNzaW1pbGVUZWxlcGhvbmVOdW1iZXIgOjo9ICAgICBQcmludGFibGVTdHJpbmcKaWQtYXQtcHNldWRvbnltCQlBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQgIHR5cGUgICAgQXR0cmlidXRlVHlwZSwKICAgICAgICB2YWx1ZSAgIEF0dHJpYnV0ZVZhbHVlIH0KaWQtYXQgICAgICAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7am9pbnQtaXNvLWNjaXR0KDIpIGRzKDWLeykgNH0KaWQtYXQtaW5pdGlhbHMgICAgICAgICAgQXR0cmlidXRlVHlwZSA6Oj0geyBpZC1hdCA0MyB9Clg1MjBpbml0aWFscyA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LWdlbmVyYXRpb25RdWFsaWZpZXIgQXR0cmlidXRlVHlwZSA6Oj0ge3RBZGRyZXNzCUF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA5fQpYNTIwc3RyZWV0QWRkcmVzcyA6Oj0JRGlyZWN0b3J5U3RyaW5nCmlkLWF0LXBvc3RhbEFkZHJlc3MJQXR0cmlidXRlVHlwZQk6Oj0Je2lkLWF0IDE2fQpYNTIwcG9zdGFsQWRkcmVzcyA6Oj0gUG9zdGFsQWRkcmVzcwpQb3N0YWxBZGRyZXNzIDo6PSBTRVFVRU5DRSBPRiBEaXJlY3RvcnlTdHJpbmcKIC0tIExlZzJdICBJTVBMSUNJVCBVbmlxdWVJZGVudGlmaWVyIE9QVElPTkFMLAogICAgICAgICAgICAgICAgICAgICAgICAgIC0tIElmIHByZXNlbnQsIHZlcnNpb24gc2hhbGwgYmUgdjIgb3IgdjMKICAgICBleHRlbnNpb25zICAgICAgWzNdICBFWFBMSUNJVCBFeHRlbnNpb25zIE9QVElPTkFMCiAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gSWYgcHJlc2VudCwgdmVyc2lvbiBzaGFsbCBiZSB2MyAtLQp9ClZlcnNpb24gIDo6PSAgSU5URUdFUn4gIHsgIHYxKDApLCB2MigxKSwgdjMoMikgIH0KQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgIDo6PSAgSU5URUdFUgpWYWxpZGl0eSA6Oj0gU0VRVUVOQ0Ug