PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIGh0bWwKICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sPgo8aGVhZD4KPCEtLSAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBDb3B5cmlnaHQgKGMpIDIwMDAsIDIwMDUgSUJNIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCiAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCiAqIAogKiBDb250cmlidXRvcnM6CiAqICAgICBJQk0gQ29ycG9yYXRpb24gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovIC0tPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi8uLi9vcmcuZWNsaXBzZS53c3QuZG9jLnVzZXIvY29tbW9uLmNzcyIgLz4KPHRpdGxlPkltcG9ydGluZyBjbGFzcyBmaWxlcyB0byBXZWIgcHJvamVjdHM8L3RpdGxlPgo8L2hlYWQ+Cjxib2R5IGlkPSJ0ZWltcGNsYXNzIj48YSBuYW1lPSJ0ZWltcGNsYXNzIj48IS0tIC0tPjwvYT4KCjxoMSBjbGFzcz0idG9waWN0aXRsZTEiPkltcG9ydGluZyBjbGFzcyBmaWxlcyB0byBXZWIgcHJvamVjdHM8L2gxPgo8ZGl2PjxkaXYgY2xhc3M9InNraXBzcGFjZSI+IDxwPllvdSBjYW4gdXNlIHRoZSBJbXBvcnQgd2l6YXJkIHRvIGFkZCAuY2xhc3MgZmlsZXMgdG8gYSBXZWIgcHJvamVjdC4KCldpdGggdGhlIHdpemFyZCwgeW91IGNhbiBpbXBvcnQgdGhlIGNsYXNzIGZpbGVzIGZyb20gdGhlIGRpcmVjdG9yeSBzeXN0ZW0KCm9yIGZyb20gYSBKQVIgZmlsZSBvciBaSVAgZmlsZS4gQWZ0ZXIgeW91IGNob29zZSB0aGUgY2xhc3MgZmlsZXMgdGhhdCB5b3UKCndhbnQgdG8gaW1wb3J0LCB0aGUgd2l6YXJkIGNyZWF0ZXMgYW4gPHNwYW4gY2xhc3M9InVpY29udHJvbCI+aW1wb3J0ZWRfY2xhc3Nlczwvc3Bhbj4gZm9sZGVyLAoKaW1wb3J0cyB0aGUgc3BlY2lmaWVkIGNsYXNzIGZpbGVzIHRvIHRoYXQgZm9sZGVyLCBhbmQgYWRkcyB0aGUgZm9sZGVyIHRvIHRoZQoKZGVmYXVsdCBjbGFzc3BhdGguIFlvdSBjYW4gbmF2aWdhdGUgdGhlIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPmltcG9ydGVkX2NsYXNzZXM8L3NwYW4+IGZvbGRlcgoKaW4gdGhlIFByb2plY3QgRXhwbG9yZXIgdmlldy48L3A+CjxwPjxpbWcgc3JjPSIuLi9pbWFnZXMvbndpbi5naWYiIGFsdD0iRm9yIFdpbmRvd3MiIC8+IFlvdSBjYW4gZHJhZyBhbmQgZHJvcCBjbGFzcyBmaWxlcyBmcm9tIHRoZSBXaW5kb3dzPHN1cD6uPC9zdXA+IEV4cGxvcmVyCgpvciBkZXNrdG9wIHRvIHRoZSA8c3BhbiBjbGFzcz0idWljb250cm9sIj5pbXBvcnRlZF9jbGFzc2VzPC9zcGFuPiBmb2xkZXIgaW4gdGhlIFByb2plY3QKCk5hdmlnYXRvciB2aWV3LjwvcD4KPHA+VG8gaW1wb3J0IGNsYXNzIGZpbGVzIHRvIGEgV2ViIHByb2plY3QgdXNpbmcgdGhlIHdpemFyZDo8L3A+CjwvZGl2Pgo8b2w+PGxpPjxzcGFuPlJpZ2h0LWNsaWNrIHlvdXIgV2ViIHByb2plY3QgYW5kIHNlbGVjdCA8c3BhbiBjbGFzcz0ibWVudWNhc2NhZGUiPjxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPkltcG9ydDwvc3Bhbj4gJmd0OyA8c3BhbiBjbGFzcz0idWljb250cm9sIj5JbXBvcnQgQ2xhc3MgRmlsZXMgLi4uPC9zcGFuPjwvc3Bhbj4gZnJvbSB0aGUgcG9wLXVwIG1lbnUuIFRoZSBJbXBvcnQgd2l6YXJkIG9wZW5zLjwvc3Bhbj48L2xpPgo8bGk+PHNwYW4+U3BlY2lmeSB3aGV0aGVyIHlvdSB3YW50IHRvIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPkltcG9ydCBmcm9tIGRpcmVjdG9yeTwvc3Bhbj4gb3IgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+SW1wb3J0Cgpmcm9tIFpJUCBvciBKQVI8L3NwYW4+IGFuZCBjbGljayA8c3BhbiBjbGFzcz0idWljb250cm9sIj5OZXh0PC9zcGFuPi48L3NwYW4+PC9saT4KPGxpPjxzcGFuPkRlcGVuZGluZyBvbiB3aGV0aGVyIHlvdSBhcmUgaW1wb3J0aW5nIGZyb20gYSBkaXJlY3Rvcnkgb3IgSkFSCgpmaWxlIG9yIFpJUCBmaWxlLCBpbiB0aGUgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+U291cmNlPC9zcGFuPiBmaWVsZCBlbnRlciB0aGUgZnVsbAoKcGF0aCBvZiB0aGUgZGlyZWN0b3J5LCBaSVAgZmlsZSwgb3IgSkFSIGZpbGUgdGhhdCBjb250YWlucyB0aGUgLmNsYXNzIGZpbGVzCgp0aGF0IHlvdSB3YW50IHRvIGltcG9ydC4gWW91IGNhbiBjbGljayB0aGUgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+QnJvd3NlPC9zcGFuPiBidXR0b24KCnRvIGxvY2F0ZSB0aGUgZGlyZWN0b3J5IG9yIGZpbGUgb24geW91ciBzeXN0ZW0uPC9zcGFuPjwvbGk+CjxsaT48c3Bhbj5TZWxlY3QgdGhlIGNsYXNzIGZpbGVzIHRoYXQgeW91IHdhbnQgdG8gaW1wb3J0Ljwvc3Bhbj48L2xpPgo8bGk+PHN0cm9uZz5PcHRpb25hbDogPC9zdHJvbmc+PHNwYW4+SWYgeW91IGhhdmUgcHJldmlvdXNseSBpbXBvcnRlZCBjbGFzcyBmaWxlcwoKYW5kIGRvIG5vdCB3YW50IHRvIGJlIHdhcm5lZCBhYm91dCBvdmVyd3JpdGluZyByZXNvdXJjZXMgd2l0aCB0aGUgc2FtZSBuYW1lcywKCnNlbGVjdCA8c3BhbiBjbGFzcz0idWljb250cm9sIj5PdmVyd3JpdGUgZXhpc3RpbmcgcmVzb3VyY2VzIHdpdGhvdXQgd2FybmluZzwvc3Bhbj4uPC9zcGFuPjwvbGk+CjxsaT48c3Bhbj5DbGljayA8c3BhbiBjbGFzcz0idWljb250cm9sIj5GaW5pc2g8L3NwYW4+LiBUaGUgd2l6YXJkIGltcG9ydHMgdGhlIC5jbGFzcwoKZmlsZXMgdG8gdGhlIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPmltcG9ydGVkX2NsYXNzZXM8L3NwYW4+IGZvbGRlci48L3NwYW4+PC9saT4KPC9vbD4KPC9kaXY+CjwvYm9keT4KPC9odG1sPg==