bGxpYyk7IFdlbvbgWkhBTkcg5byg5paH6b6ZIChib3BvbW9yk7IFNhbvbGwgQ29tbXVuaWNhdGlvbiDsgrDrj4zsu6TrrqTri4jsvIDsnbTshZgsIFNvby15b3VuZyBKQU5HIOyepeyIyYgSAEpvby15ZW9uIEtBTkcg6rCV7KO87JewIChoYxlbWVudHMsIGxldHRlMgJiBzeWxsYWJsZXMpRHIuIEtlbiBMdW5kZSAocHJvajdCBhcoaXRlY3QsIGdseXBoIHNldCBkZWZpb0aW9uICYgb3ZlcsbCB9uKTsgTWFzYXRha2EgSEFUVE9SSSDI3pg6jaPKHByb2R1Y3Rpb24gJiBpZGVvZ3JhcGggZWxlbWVudHMpaHR0cDovL3d3dy5hZG9iZS5jb20vdHlwZS9Db3B5aHQgwqkgMjAxNCBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZA0KTGljZ5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgb0IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9HRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLyZy9saWNlbnNlcy9MSUNFTlNFLTIuMC5odG1sDQpVblc3MgcxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwczcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZyIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3ZlcpbgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wL0bWxTb3VyY2UgSGFuIFNhbnMgQ04AQwBvAHAAeQByAGkAZwBoAHQAIACpACAAMgAwADEANAAgAEEAZABvAGIAZQAgAFMAeQBzAHQAZQBtAHMAIABJAG4AYwBvAHIAcABvAHIAYQB0AGUAZAAuACAAQQBsAGwAIABSAGkAZwBoAHQAcwAgAFIAZQBzAGUAcgB2AGUAZAAuAFMAbwB1AHIAYwBlACAASABhAG4AIABTAGEAbgBzACAAQwBOACAAUgBlAGcAdQBsAGEAcgBSAGUAZwB1AGwAYQByADEALgAwADAAMA