PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIGh0bWwKICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sPgo8aGVhZD4KPCEtLSAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBDb3B5cmlnaHQgKGMpIDIwMDAsIDIwMDUgSUJNIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCiAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCiAqIAogKiBDb250cmlidXRvcnM6CiAqICAgICBJQk0gQ29ycG9yYXRpb24gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovIC0tPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi8uLi9vcmcuZWNsaXBzZS53c3QuZG9jLnVzZXIvY29tbW9uLmNzcyIgLz4KPHRpdGxlPkFkZGluZyBhIHNpbXBsZSB0eXBlPC90aXRsZT4KPC9oZWFkPgo8Ym9keSBpZD0idGFkZHNtcHQiPjxhIG5hbWU9InRhZGRzbXB0Ij48IS0tIC0tPjwvYT4KCjxoMSBjbGFzcz0idG9waWN0aXRsZTEiPkFkZGluZyBhIHNpbXBsZSB0eXBlPC9oMT4KPGRpdj48cD5JbiB0aGUgWE1MIHNjaGVtYSBlZGl0b3IsIHlvdSBjYW4gYWRkIGEgc2ltcGxlIHR5cGUgdG8gYW4gWE1MIHNjaGVtYS4KQSBzaW1wbGUgdHlwZSBjYW5ub3QgaGF2ZSBlbGVtZW50IGNvbnRlbnQgYW5kIGNhbm5vdCBjYXJyeSBhdHRyaWJ1dGVzLqBFbGVtZW50cwp0aGF0IGNvbnRhaW4gbnVtYmVycyAoYW5kIHN0cmluZ3MsIGFuZCBkYXRlcywgYW5kIHNvIG9uKSBidXQgZG8gbm90IGNvbnRhaW4KYW55IHN1Yi1lbGVtZW50cyBhcmUgc2FpZCB0byBoYXZlIHNpbXBsZSB0eXBlcy6gPC9wPjxkaXYgY2xhc3M9InNraXBzcGFjZSI+PHA+PC9wPgo8cD5UaGUgZm9sbG93aW5nIGluc3RydWN0aW9ucyB3ZXJlIHdyaXR0ZW4gZm9yIHRoZSBSZXNvdXJjZQpwZXJzcGVjdGl2ZSwgYnV0IHRoZXkgd2lsbCBhbHNvIHdvcmsgaW4gbWFueSBvdGhlciBwZXJzcGVjdGl2ZXMuoDwvcD4KPHA+VG8KYWRkIGEgc2ltcGxlIHR5cGUsIGZvbGxvdyB0aGVzZSBzdGVwczo8L3A+CjwvZGl2Pgo8b2w+PGxpIGNsYXNzPSJza2lwc3BhY2UiPjxzcGFuPk9wZW4geW91ciBYTUwgc2NoZW1hIGluIHRoZSBYTUwgc2NoZW1hIGVkaXRvci48L3NwYW4+PC9saT4KPGxpIGNsYXNzPSJza2lwc3BhY2UiPjxzcGFuPkluIHRoZSBPdXRsaW5lIHZpZXcsIHNlbGVjdCB5b3VyIHNjaGVtYS48L3NwYW4+IFRoZSBlbnRpcmUKc2NoZW1hIGFuZCBpdHMgY29udGVudHMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiB0aGUgR3JhcGggdmlldy48L2xpPgo8bGkgY2xhc3M9InNraXBzcGFjZSI+PHNwYW4+SW4gdGhlIEdyYXBoIHZpZXcsIHJpZ2h0IGNsaWNrIGluIHRoZSA8Yj5UeXBlczwvYj4gc2VjdGlvbiBhbmQKY2xpY2sgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+QWRkIFNpbXBsZSBUeXBlPC9zcGFuPi48L3NwYW4+PC9saT4KPGxpIGNsYXNzPSJza2lwc3BhY2UiPjxzcGFuPkluIHRoZSBQcm9wZXJ0aWVzIHZpZXcsIGNsaWNrIHRoZSA8c3BhbiBjbGFzcz0idWljb250cm9sIj5HZW5lcmFsPC9zcGFuPiB0YWIsCmFuZCB0eXBlIGEgbmV3IG5hbWUgZm9yIHRoZSBzaW1wbGUgdHlwZSBpbiB0aGUgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+TmFtZTwvc3Bhbj4gZmllbGQuPC9zcGFuPjwvbGk+CjxsaSBjbGFzcz0ic2tpcHNwYWNlIj48c3Bhbj5Zb3UgY2FuIHNlbGVjdCB0aGUgZm9sbG93aW5nIG9wdGlvbnMgZnJvbSB0aGUgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+VmFyaWV0eTwvc3Bhbj4gZHJvcApkb3duIGxpc3Q6PC9zcGFuPjx1bD48bGk+PHNwYW4gY2xhc3M9InVpY29udHJvbCI+YXRvbWljPC9zcGFuPiAtIGF0b21pYyB0eXBlcyBhcmUgYWxsIHRoZSBzaW1wbGUgdHlwZXMKYnVpbHQgaW50byB0aGUgWE1MIHNjaGVtYSBsYW5ndWFnZTwvbGk+CjxsaT48c3BhbiBjbGFzcz0idWljb250cm9sIj5saXN0PC9zcGFuPiAtICBsaXN0IHR5cGVzIGFyZSBjb21wcmlzZWQgb2Ygc2VxdWVuY2VzCm9mIGF0b21pYyB0eXBlcy4gVGhleSBoYXZlIHZhbHVlcyB0aGF0IGFyZSBjb21wcmlzZWQgb2YgZmluaXRlLWxlbmd0aCBzZXF1ZW5jZXMKb2YgYXRvbWljIHZhbHVlcy4goDwvbGk+CjxsaT48c3BhbiBjbGFzcz0idWljb250cm9sIj51bmlvbjwvc3Bhbj4gLSBhIHVuaW9uIHR5cGUgZW5hYmxlcyBhbiBlbGVtZW50IG9yCmF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBvbmUgb3IgbW9yZSBpbnN0YW5jZXMgb2Ygb25lIHR5cGUgZHJhd24gZnJvbSB0aGUgdW5pb24Kb2YgbXVsdGlwbGUgYXRvbWljIGFuZCBsaXN0IHR5cGVzPC9saT4KPC91bD4KPC9saT4KPGxpIGNsYXNzPSJza2lwc3BhY2UiPjxzcGFuPklmIHlvdSBzZWxlY3RlZCA8c3BhbiBjbGFzcz0idWljb250cm9sIj5hdG9taWM8L3NwYW4+IGZyb20gdGhlIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPlZhcmlldHk8L3NwYW4+IGRyb3AKZG93biBsaXN0LCBjbGljayB0aGUgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+TW9yZTwvc3Bhbj4gYnV0dG9uIG5leHQgdG8gdGhlIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPkJhc2UKdHlwZTwvc3Bhbj4gZmllbGQgdG8gc3BlY2lmeSBhIGJhc2UgdHlwZSBmb3IgdGhlIHNpbXBsZSB0eXBlLjwvc3Bhbj4gWW91CmNhbiBzZWxlY3QgZWl0aGVyIGEgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+QnVpbHQtaW4gc2ltcGxlIHR5cGU8L3NwYW4+LCBvciA8c3BhbiBjbGFzcz0idWljb250cm9sIj5Vc2VyLWRlZmluZWQKc2ltcGxlIHR5cGU8L3NwYW4+IHRvIGJlIHRoZSBiYXNlIHR5cGUuPC9saT4KPGxpIGNsYXNzPSJza2lwc3BhY2UiPjxzcGFuPklmIHlvdSBzZWxlY3RlZCA8c3BhbiBjbGFzcz0idWljb250cm9sIj5saXN0PC9zcGFuPiBmcm9tIHRoZSA8c3BhbiBjbGFzcz0idWljb250cm9sIj5WYXJpZXR5PC9zcGFuPiBkcm9wCmRvd24gbGlzdCwgY2xpY2sgdGhlIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPk1vcmU8L3NwYW4+IGJ1dHRvbiBuZXh0IHRvIHRoZSA8c3BhbiBjbGFzcz0idWljb250cm9sIj5JdGVtCnR5cGU8L3NwYW4+IGZpZWxkIHRvIHNwZWNpZnkgYSBpdGVtIHR5cGUgZm9yIHRoZSBzaW1wbGUgdHlwZS48L3NwYW4+IFlvdQpjYW4gc2VsZWN0IGVpdGhlciBhIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPkJ1aWx0LWluIHNpbXBsZSB0eXBlPC9zcGFuPiwgb3IgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+VXNlci1kZWZpbmVkCnNpbXBsZSB0eXBlPC9zcGFuPiB0byBiZSB0aGUgaXRlbSB0eXBlLjwvbGk+CjxsaSBjbGFzcz0ic2tpcHNwYWNlIj48c3Bhbj5JZiB5b3Ugc2VsZWN0ZWQgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+dW5pb248L3NwYW4+IGZyb20gdGhlIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPlZhcmlldHk8L3NwYW4+IGRyb3AKZG93biBsaXN0LCBjbGljayB0aGUgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+TW9yZTwvc3Bhbj4gYnV0dG9uIG5leHQgdG8gdGhlIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPk1lbWJlcgp0eXBlczwvc3Bhbj4gZmllbGQgdG8gc3BlY2lmeSB0aGUgbWVtYmVyIHR5cGVzIGZvciB0aGUgc2ltcGxlIHR5cGUuPC9zcGFuPiBZb3UgY2FuIHNlbGVjdCBib3RoIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPkJ1aWx0LWluIHNpbXBsZSB0eXBlPC9zcGFuPiwgb3IgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+VXNlci1kZWZpbmVkCnNpbXBsZSB0eXBlPC9zcGFuPiB0byBhZGQgdG8gdGhlIG1lbWJlciB0eXBlcyBsaXN0LjwvbGk+CjxsaSBjbGFzcz0ic2tpcHNwYWNlIj48c3Bhbj5DbGljayB0aGUgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+RW51bWVyYXRpb25zPC9zcGFuPiB0YWIuPC9zcGFuPiBFbnVtZXJhdGlvbnMKaGVscCB5b3UgdG8gZGVmaW5lIGEgc2V0IG9mIHZhbGlkIHZhbHVlcyBmb3Igc2ltcGxlIHR5cGVzLiBFbnVtZXJhdGlvbnMgYXJlCnRoZSBhY3R1YWwgdmFsdWVzIHRoZSBzaW1wbGUgdHlwZSBjYW4gdGFrZSBhcyB2YWxpZCB2YWx1ZXMgaW4gdGhlIGluc3RhbmNlCmRvY3VtZW50LiBZb3UgY2FuIGVpdGhlciBhZGQgb25lIGVudW1lcmF0aW9uIG9yIHNldmVyYWwgZW51bWVyYXRpb25zIGF0IGEKdGltZTo8b2wgdHlwZT0iYSI+PGxpIGNsYXNzPSJza2lwc3BhY2UiPjxzcGFuPlRvIGFkZCBvbmUgZW51bWVyYXRpb24gYXQgYSB0aW1lLCBjbGljayB0aGUgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+QWRkPC9zcGFuPiBidXR0b24KYW5kIHNwZWNpZnkgYSB2YWx1ZSBmb3IgdGhlIGVudW1lcmF0aW9uLjwvc3Bhbj48L2xpPgo8bGkgY2xhc3M9InNraXBzcGFjZSI+PHNwYW4+VG8gYWRkIHNldmVyYWwgZW51bWVyYXRpb25zIGF0IG9uZSB0aW1lLCBmb2xsb3cgdGhlc2Ugc3RlcHM6PC9zcGFuPiA8b2w+PGxpPkNsaWNrIHRoZSA8c3BhbiBjbGFzcz0idWljb250cm9sIj5BZGQuLi48L3NwYW4+IGJ1dHRvbi48L2xpPgo8bGk+RW50ZXIgdGhlIHZhbHVlIG9mIGVhY2ggZW51bWVyYXRpb24uIEVhY2ggdmFsdWUgbXVzdCBiZSBzZXBhcmF0ZWQgYnkgdGhlIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPkRlbGltaXRlcgpjaGFyYWN0ZXI8L3NwYW4+LiBGb3IgZXhhbXBsZTogPHNhbXAgY2xhc3M9ImNvZGVwaCI+Rmlyc3QsIFNlY29uZDwvc2FtcD4gd2lsbCBjcmVhdGUKdHdvIGVudW1lcmF0aW9ucywgb25lIHdpdGggdGhlIHZhbHVlICJGaXJzdCIgYW5kIG9uZSB3aXRoIHRoZSB2YWx1ZSAiU2Vjb25kIi48L2xpPgo8bGk+U2VsZWN0IHRoZSA8c3BhbiBjbGFzcz0idWljb250cm9sIj5QcmVzZXJ2ZSBsZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlPC9zcGFuPiBjaGVjawpib3ggaWYgeW91IHdhbnQgYW55IHdoaXRlIHNwYWNlIGFyb3VuZCB5b3VyIGVudW1lcmF0aW9uIHZhbHVlcyB0byBiZSBwcmVzZXJ2ZWQuCklmLCBmb3IgZXhhbXBsZSwgeW91IHNlbGVjdCB0aGlzIGNoZWNrIGJveCwgdGhlIHZhbHVlcyBvZiA8c2FtcCBjbGFzcz0iY29kZXBoIj5GaXJzdCwgU2Vjb25kPC9zYW1wPiB3aWxsCnNob3cgdXAgYXMgIkZpcnN0IiBhbmQgIiBTZWNvbmQiICh0aGVyZSBpcyBhIHNwYWNlIGJlZm9yZSBTZWNvbmQpIGJlY2F1c2UKeW91IHB1dCBhIHNwYWNlIGJlZm9yZSAiU2Vjb25kIiB3aGVuIGVudGVyZWQgdGhlIHZhbHVlLjwvbGk+CjxsaT5DbGljayA8c3BhbiBjbGFzcz0idWljb250cm9sIj5PSzwvc3Bhbj4uIFlvdXIgZW51bWVyYXRpb25zIHdpbGwgYmUgY3JlYXRlZCBhbmQKYXBwZWFyIGluIHRoZSBQcm9wZXJ0aWVzIHZpZXcuPC9saT4KPC9vbD4KPC9saT4KPC9vbD4KPC9saT4KPGxpIGNsYXNzPSJza2lwc3BhY2UiPjxzcGFuPkNsaWNrIHRoZSA8c3BhbiBjbGFzcz0idWljb250cm9sIj5Eb2N1bWVudGF0aW9uPC9zcGFuPiB0YWIgaWYgeW91IHdhbnQKdG8gcHJvdmlkZSBhbnkgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBzaW1wbGUgdHlwZS48L3NwYW4+IFRoZSA8c3BhbiBjbGFzcz0idWljb250cm9sIj5Eb2N1bWVudGF0aW9uPC9zcGFuPiBwYWdlCmlzIHVzZWQgZm9yIGh1bWFuIHJlYWRhYmxlIG1hdGVyaWFsLCBzdWNoIGFzIGEgZGVzY3JpcHRpb24sIGFuZCB0aGUgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+QXBwCkluZm88L3NwYW4+IHBhZ2UgY2FuIGJlIHVzZWQgdG8gcHJvdmlkZSBpbmZvcm1hdGlvbiBmb3IgYXBwbGljYXRpb25zLqA8L2xpPgo8bGkgY2xhc3M9InNraXBzcGFjZSI+PHNwYW4+Q2xpY2sgdGhlIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPkFkdmFuY2VkPC9zcGFuPiB0YWIuPC9zcGFuPiBUaGUgb3B0aW9ucwphdmFpbGFibGUgZnJvbSB0aGlzIHBhZ2Ugd2lsbCB2YXJ5IGRlcGVuZGluZyBvbiB3aGF0IG9wdGlvbiB5b3Ugc2VsZWN0ZWQgaW4KdGhlIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPlZhcmlldHk8L3NwYW4+IGZpZWxkLCBhbmQgdGhlIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPkJhc2UgdHlwZTwvc3Bhbj4sIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPkl0ZW0KdHlwZTwvc3Bhbj4sIG9yIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPk1lbWJlciB0eXBlczwvc3Bhbj4gZmllbGQgb24gdGhlIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPkdlbmVyYWw8L3NwYW4+IHBhZ2UuPC9saT4KPGxpIGNsYXNzPSJza2lwc3BhY2UiPjxzcGFuPklmIGFwcGxpY2FibGUgdG8gdGhlIHR5cGUsIHRoZSA8c3BhbiBjbGFzcz0idWljb250cm9sIj5GYWNldHM8L3NwYW4+IHRhYmxlCndpbGwgYmUgcG9wdWxhdGVkIHdpdGggY29uc3RyYWluaW5nIGZhY2V0cy4gQSBjb25zdHJhaW5pbmcgZmFjZXQgaXMgYW4gb3B0aW9uYWwKcHJvcGVydHkgdGhhdCBjYW4gYmUgYXBwbGllZCB0byBhIGRhdGF0eXBlIHRvIGNvbnN0cmFpbiBpdHMgdmFsdWUuPC9zcGFuPjxvbCB0eXBlPSJhIj48bGk+PHNwYW4+VG8gY2hhbmdlIGEgZmFjZXQncyB2YWx1ZSwgY2xpY2sgaXRzIG5hbWUgaW4gdGhlIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPk5hbWU8L3NwYW4+IGNvbHVtbiwKdGhlbiBjbGljayBpdHMgdmFsdWUgKG9yIHRoZSBlbXB0eSBjZWxsIHRoYXQgd2lsbCBjb250YWluIGl0cyB2YWx1ZSkgaW4gdGhlIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPlZhbHVlPC9zcGFuPiBjb2x1bW4KYW5kIHR5cGUgb3Igc2VsZWN0IGEgbmV3IHZhbHVlPC9zcGFuPjwvbGk+CjxsaT48c3Bhbj4gVG8gY2hhbmdlIHdoZXRoZXIgYSBmYWNldCdzIHZhbHVlIGlzIGZpeGVkIG9yIG5vdCwgY2xpY2sgaXRzCm5hbWUgaW4gdGhlIE5hbWUgY29sdW1uLCB0aGVuIGNsaWNrIHRoZSBhcHByb3ByaWF0ZSBjZWxsIGluIHRoZSBGaXhlZCBjb2x1bW4sCmFuZCBjaGFuZ2UgdGhlIHZhbHVlIHRvIHRydWUgb3IgZmFsc2UuPC9zcGFuPjwvbGk+Cjwvb2w+CjwvbGk+CjxsaSBjbGFzcz0ic2tpcHNwYWNlIj48c3Bhbj5JZiBhcHBsaWNhYmxlIHRvIHRoZSB0eXBlLCBhIFBhdHRlcm4gcGFnZSB3aWxsIGJlCmF2YWlsYWJsZS4gQ2xpY2sgdGhlIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPlBhdHRlcm48L3NwYW4+IHRhYiB0byBzd2l0Y2ggdG8gaXQuPC9zcGFuPiBBIHBhdHRlcm4gY2FuIGJlIHVzZWQgdG8gY29uc3RyYWluIHRoZSB2YWx1ZSBvZiBhIHR5cGUncyBsZXhpY2FsIHNwYWNlCih0aGUgc2V0IG9mIHN0cmluZyBsaXRlcmFscyB0aGF0IHJlcHJlc2VudCB0aGUgdmFsdWVzIG9mIGEgdHlwZSksIHdoaWNoIGluZGlyZWN0bHkKY29uc3RyYWlucyB0aGUgdmFsdWUgc3BhY2UuIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGFkZGluZyBhIHBhdHRlcm4gdG8gYQpzaW1wbGUgdHlwZSwgcmVmZXIgdG8gdGhlIHJlbGF0ZWQgdGFza3MuPC9saT4KPC9vbD4KPC9kaXY+CjwvYm9keT4KPC9odG1sPg==