PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIKImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+CjwhLS0gCiAgICBDb3B5cmlnaHQgKGMpIDIwMDUsIDIwMDYgSUJNIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCiAgICBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCiAgICBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKICAgIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAgICBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAogICAgQ29udHJpYnV0b3JzOgogICAgSUJNIENvcnBvcmF0aW9uIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgotLT4KCjxodG1sPgo8aGVhZD4KPHRpdGxlPlVudGl0bGVkIERvY3VtZW50PC90aXRsZT4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSI+CjwvaGVhZD4KCjxib2R5Pgo8aDI+PGE+RXhlcmNpc2UgMjogQnJvd3NlIE1ldGhvZCBDb250ZW50IHZpYSBCcm93c2luZyBQZXJzcGVjdGl2ZSA8L2E+PC9oMj4KPHA+VGhlIHB1cnBvc2Ugb2YgdGhpcyBleGVyY2lzZSBpcyB0byBiZWNvbWUgZmFtaWxpYXIgd2l0aCBicm93c2luZyBtZXRob2QgY29udGVudCBpbiBhIGxpYnJhcnkgdXNpbmcgdGhlIGJyb3dzaW5nIHBlcnNwZWN0aXZlLiA8L3A+CjxvbD4KICA8bGk+CiAgICA8cD5TZWxlY3QgPHN0cm9uZz5SVVAgZm9yIFNtYWxsIFByb2plY3RzIDwvc3Ryb25nPiBpbiB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uIGRyb3AtZG93biBsaXN0IGxvY2F0ZWQgdW5kZXJuZWF0aCB0aGUgbWFpbiBtZW51IGJhci4gPC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+U2VsZWN0IDxzdHJvbmc+QnJvd3NpbmcgcGVyc3BlY3RpdmU8L3N0cm9uZz4uIFRoZSBDb25maWd1cmF0aW9uIFZpZXcgYXBwZWFycyBvbiB0aGUgbGVmdC4gPC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+VG8gdmlldyBhIFRhc2ssIGNsaWNrIDxzdHJvbmc+RGlzY2lwbGluZXMgJmd0OyBSVVAgRGlzY2lwbGluZXMgJmd0OyBBbmFseXNpcyAmYW1wOyBEZXNpZ24gJmd0OyBEZXNpZ24gdGhlIFVzZXIgSW50ZXJmYWNlPC9zdHJvbmc+LiBBIHByZXZpZXcgb2YgdGhlIHB1Ymxpc2hlZCBXZWIgcGFnZSBmb3IgdGhlIHNlbGVjdGVkIGVsZW1lbnQgaXMgZGlzcGxheWVkLiA8L3A+CiAgPC9saT4KICA8bGk+CiAgICA8cD5DbGljayB0aGUgPHN0cm9uZz5QcmltYXJ5IFBlcmZvcm1lciA8L3N0cm9uZz5saW5rIGluIHRoZSByZWxhdGlvbnNoaXBzIHNlY3Rpb24uIFRoaXMgd2lsbCBzaG93IHRoZSBwcmV2aWV3IHBhZ2UgZm9yIHRoZSBVc2VyLUludGVyZmFjZSBEZXNpZ25lci4gPC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+WW91IGNhbiBjbGljayBvbiBhbnkgbGlua3MgaW4gdGhlIHByZXZpZXcgYW5kIHVzZSB0aGUgYmFjayBpY29uIGluIHRoZSBwcmV2aWV3IHRvb2xiYXIgdG8gcmV0dXJuIHRvIHByZXZpb3VzIHBhZ2VzLiA8L3A+CiAgPC9saT4KICA8bGk+CiAgICA8cD5WaWV3IG90aGVyIGVsZW1lbnRzIGluIHRoZSBDb25maWd1cmF0aW9uIFZpZXcgdHJlZSCWIGUuZy4gdW5kZXIgRG9tYWlucywgUm9sZSBTZXRzLCBldGMuIDwvcD4KICA8L2xpPgo8L29sPgo8aDE+Jm5ic3A7PC9oMT4KPC9ib2R5Pgo8L2h0bWw+Cg==