PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIKImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+CjwhLS0gCiAgICBDb3B5cmlnaHQgKGMpIDIwMDUsIDIwMDYgSUJNIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCiAgICBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCiAgICBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKICAgIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAgICBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAogICAgQ29udHJpYnV0b3JzOgogICAgSUJNIENvcnBvcmF0aW9uIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgotLT4KCjxodG1sPgo8aGVhZD4KPHRpdGxlPlVudGl0bGVkIERvY3VtZW50PC90aXRsZT4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CjwhLS0KLnN0eWxlMSB7Zm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm99Ci0tPgo8L3N0eWxlPgo8L2hlYWQ+Cgo8Ym9keT4KPGgyPjxhPkV4ZXJjaXNlIDM6IEFkZGluZyBiYXNlIG1ldGhvZCBjb250ZW50IGFzc29jaWF0ZWQgd2l0aCBhIHRhc2sgdXNpbmcgPHU+Q29udHJpYnV0aW9uPC91PiA8L2E+PC9oMj4KPHA+VGhlIHB1cnBvc2Ugb2YgdGhpcyBleGVyY2lzZSBpcyB0byBleHRlbmQgYSA8c3Ryb25nPlRhc2sgPC9zdHJvbmc+IGluIFJVUCB1c2luZyCRY29udHJpYnV0aW9uJy4gPC9wPgo8b2w+CiAgPGxpPgogICAgPHA+U3dpdGNoIHRvIHRoZSA8c3Ryb25nPkF1dGhvcmluZyA8L3N0cm9uZz4gcGVyc3BlY3RpdmUuIDwvcD4KICA8L2xpPgogIDxsaT4KICAgIDxwPldpdGhpbiB0aGUgPHNwYW4gY2xhc3M9InN0eWxlMSI+Q29udHJpYnV0aW9uIFRlc3QgPC9zcGFuPnBhY2thZ2UgY3JlYXRlIGEgbmV3IDxzdHJvbmc+VGFzazwvc3Ryb25nPjogPHNwYW4gY2xhc3M9InN0eWxlMSI+bXlfY29udHJpYnV0aW5nX2Rlc2lnbl91c2VyX2ludGVyZmFjZTwvc3Bhbj4uIDwvcD4KICA8L2xpPgogIDxsaT4KICAgIDxwPiBBZGQgYSA8c3Ryb25nPkJyaWVmIERlc2NyaXB0aW9uLCBNYWluIGRlc2NyaXB0aW9uIDwvc3Ryb25nPiwgPHN0cm9uZz5QdXJwb3NlPC9zdHJvbmc+LCBldGMuLDogPHNwYW4gY2xhc3M9InN0eWxlMSI+Q29udHJpYnV0aW5nIEJyaWVmIERlc2NyaXB0aW9uIHRleHQsIENvbnRyaWJ1dGluZyBNYWluIERlc2NyaXB0aW9uIHRleHQsIGFuZCBDb250cmlidXRpbmcgUHVycG9zZSB0ZXh0LiA8L3NwYW4+PC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+IEFkZCB0d28gbmV3IHN0ZXBzOiA8c3BhbiBjbGFzcz0ic3R5bGUxIj5Db250cmlidXRpbmcgU3RlcCAxIDwvc3Bhbj5hbmQ8c3BhbiBjbGFzcz0ic3R5bGUxIj4gQ29udHJpYnV0aW5nIFN0ZXAgMjwvc3Bhbj4uIDwvcD4KICA8L2xpPgogIDxsaT4KICAgIDxwPiBJbiA8c3Ryb25nPlZhcmlhYmlsaXR5IFJlbGF0aW9uc2hpcCA8L3N0cm9uZz4gc2VsZWN0IDxzdHJvbmc+Q29udHJpYnV0ZXM8L3N0cm9uZz4sIGFuZCBmb3IgYmFzZSA8c3Ryb25nPnRhc2sgPC9zdHJvbmc+IHNlbGVjdCwgPHNwYW4gY2xhc3M9InN0eWxlMSI+ZGVzaWduX3VzZXJfaW50ZXJmYWNlPC9zcGFuPi4gPC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+IEdvIGJhY2sgdG8gdGhlIDxzdHJvbmc+U3RlcHMgPC9zdHJvbmc+IHRhYiBhbmQgY2xpY2sgdGhlIDxzdHJvbmc+T3JkZXIgPC9zdHJvbmc+IGJ1dHRvbi4gWW91IGNhbiBub3cgaW5zZXJ0IHlvdXIgbmV3IHN0ZXBzIGludG8gdGhlIG9yaWdpbmFsIHN0ZXBzLiA8L3A+CiAgPC9saT4KICA8bGk+CiAgICA8cD5TYXZlIHRoZSBuZXcgdGFzayBieSBjbG9zaW5nIHRoZSB0YXNrIGVkaXRvci4gPC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+IFN3aXRjaCB0byB0aGUgQnJvd3NpbmcgcGVyc3BlY3RpdmUgYW5kIHZpZXcgdGhlIDxzcGFuIGNsYXNzPSJzdHlsZTEiPkRlc2lnbiB0aGUgVXNlciBJbnRlcmZhY2U8L3NwYW4+IHRhc2sgaW4gdGhlIDxzdHJvbmc+RGlzY2lwbGluZXMgPC9zdHJvbmc+IGZvbGRlciBpbiA8c3Ryb25nPkNvbmZpZ3VyYXRpb24gVmlldyA8L3N0cm9uZz4uIFlvdSB3aWxsIGZpbmQgaXQgdW5kZXIgdGhlIDxzcGFuIGNsYXNzPSJzdHlsZTEiPkFuYWx5c2lzXyZhbXA7IERlc2lnbjwvc3Bhbj4gZGlzY2lwbGluZS4gPC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+IExvb2sgYXQgdGhlIGRlc2NyaXB0aW9ucyBhbmQgdGhlIHN0ZXBzIHRvIHNlZSBob3cgeW91ciBuZXcgbWF0ZXJpYWwgd2FzIGNvbnRyaWJ1dGVkLiBZb3Ugc2hvdWxkIHNlZSB0aGUgdGV4dCB0aGF0IHlvdSBpbmNsdWRlZCBpbiB0aGUgQ29udHJpYnV0aW5nIHJvbGUgZGlzcGxheWVkIGluIHRoZSBVc2VyIEludGVyZmFjZSB0YXNrLiA8L3A+CiAgPC9saT4KICA8bGk+IFlvdSBjYW4gYWxzbyB0cnkgc3BlY2lmeWluZyBhZGRpdGlvbmFsIDxzdHJvbmc+YXJ0aWZhY3RzIDwvc3Ryb25nPiwgPHN0cm9uZz5ndWlkYW5jZSA8L3N0cm9uZz4sIDxzdHJvbmc+YWRkaXRpb25hbCBwZXJmb3JtZXIgcm9sZXM8L3N0cm9uZz4sIGV0Yy4sIGluIHRoZSBjb250cmlidXRpbmcgdGFzayAoaW4gQXV0aG9yaW5nIHBlcnNwZWN0aXZlKSBhbmQgdGhlbiB2aWV3IHRoZSByZXN1bHQgaW4gdGhlIENvbmZpZ3VyYXRpb24gVmlldyB0byBzZWUgdGhlIGJlaGF2aW9yLiA8L2xpPgo8L29sPgo8L2JvZHk+CjwvaHRtbD4K