UEtJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9IDEuLnViLWRvbWFpbi1uYW1lLWxlbmd0aCkpIH0KT3JnYW5pemF0aW9uTmFtZSA6Oj0gUHJpbnRhYmxlU3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoU0laRSAoMS4udWItb3JnYW5pemF0aW9uLW5hbWUtbGVuZ3RoKSkKTnVtZXJpY1VzZXJJZGVudGlmaWVyIDo6PSBOdW1lcmljU3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoU0laRSAoMS4udWItbnVtZXJpYy11c2VyLWlkLWxlbmd0aCkpClBlcnNvbmFsTmFtZSA6Oj0gU0VUIHsKICAgc3VybmFtZSBbMF0gUHJpbnRhYmxlU3RyaW5nIChTSVpFICgxLi51Yi1zdXJuYW1lLWxlbmd0aCkpLAogICBnaXZlbi1uYW1lIFsxXSBQcmludGFibGVTdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgKFNJWkUgKDEuLnViLWdpdmVuLW5hbWUtbGVuZ3RoKSkgT1BUSU9OQUwsCiAgIGluaXRpYWxzIFsyXSBQcmludGFibGVTdHJpbmcgKFNJWkUgKDEuLnViLWluaXRpYWxzLWxlbmd0aCkpIE9QVElPTkFMLAogICBnZW5lcmF0aW9uLXF1YWxpZmllciBbM10gUHJpbnRhYmxlU3RyaW5nCiAgICAgICAgICAgICAgICAoU0laRSAoMS4udWItZ2VuZXJhdGlvbi1xdWFsaWZpZXItbGVuZ3RoKSkgT1BUSU9OQUwgfQpPcmdhbml6YXRpb25hbFVuaXROYW1lcyA6Oj0gU0VRVUVOQ0UgU0laRSAoMS4udWItb3JnYW5pemF0aW9uYWwtdW5pdHMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPRiBPcmdhbml6YXRpb25hbFVuaXROYW1lCk9yZ2FuaXphdGlvbmFsVW5pdE5hbWUgOjo9IFByaW50YWJsZVN0cmluZyAoU0laRQogICAgICAgICAgICAgICAgICAgICAgICAoMS4udWItb3JnYW5pemF0aW9uYWwtdW5pdC1uYW1lLWxlbmd0aCkpCkJ1aWx0SW5Eb21haW5EZWZpbmVkQXR0cmlidXRlcyA6Oj0gU0VRVUVOQ0UgU0laRQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJhdGlvbi1xdWFsaWZpZXIgWzNdIEVYUExJQ0lUIFRlbGV0ZXhTdHJpbmcgKFNJWkUKICAgIN8gICAgICAgICAgICgxLi51Yi1nZW5lcl1hdGlvbi1xdWFsaWZpZXItbGVuZ3RoKSkgT1BUSU9OQUwgfQp0ZWxldGV4LW9yZ2FuaXphdGlvbmFsLXVuaXQtbmFtZXMgSU5URUdFUiA6Oj0gNQpUZWxldGV4T3JnYW5pemF0aW9uYWxVbml0TmFtZXMgOjo9IFNFUVVFTkNFIFNJWkUKICAgICAgICAoMS4udWItb3JnYW5pemF0aW9uYWwtdW5pdHMpIE9GIFRlbGV0ZXhPcmdhbml6YXRpb25hbFVuaXROYW1lClRlbGVsZXhP