SGkgVGltDQoNCkkgd2lsbCBjaGVjayB0aGlzIG91dCBhbmQgZ2V0IGJhY2sgdG8geW91LiBUaGUg ZmFsbCBpcyBmdWxsIG9mIGFjdGl2aXR5IGFuZCBJIHdpbGwgbmVlZCB0byBwaWNrIG15IHNwb3Rz LiBNeSBtYWluIGZvY3VzIG5vdyBpcyBwcmVwcGluZyBmb3IgbXkgZGVyaXZhdGl2ZXMgZXhhbSBv biBPY3QuIDI0dGguIEkgd2lsbCBzcGVhayB0byBIb3dhcmQgKGEgZnJpZW5kIG9mIE1vcnJpcyBH b29kbWFuKSB3aGVuIGhlIGdldHMgYmFjayBmcm9tIFNvdXRoIEFmcmljYSBkdXJpbmcgdGhlIHdl ZWsgb2YgdGhlIDE3dGguIFdvdWxkIGFsc28gYmUgYSBnb29kIGlkZWEgdG8gZ2V0IGEgZmFsbCBy b3VuZHRhYmxlIG1lZXRpbmcgb3JnYW5pemVkICh3aXRoIG90aGVycyB0b28pLg0KDQpFbmpveSB5 b3VyIFRoYW5rc2dpdmluZyB3ZWVrZW5kIGFuZCBsZXQgbWUga25vdyBpZiB5b3UgZW5qb3kgcGxh eWluZyBzb21lIGxhdGUgZmFsbCBnb2xmIQ0KDQpUYWtlIGNhcmUsDQoNCkdlb2ZmDQoNClNlbnQg ZnJvbSBteSBpUGhvbmUNCg0KPiBPbiBPY3QgNSwgMjAxNiwgYXQgMTI6MTQgUE0sIFRpbW90aHkg VGhvbWFzIDx0dEBob21lY2FyZWFzc2lzdGFuY2UuY29tPiB3cm90ZToNCj4gDQo+IEhpIEdlb2Zm LA0KPiANCj4gSSBob3BlIHlvdSdyZSBkb2luZyB3ZWxsLiBJIHdhbnRlZCB0byBsZXQgeW91IGtu b3cgYWJvdXQgYW4gdXBjb21pbmcgZXZlbnQuDQo+IA0KPiBFYWNoIHllYXIsIGZvciB0aGUgbGFz dCAzIHllYXJzLCB3ZSBoYXZlIGJlZW4gaW52b2x2ZWQgd2l0aCB0aGUgSVVHTSAoTW9udHJlYWwg Z2VyaWF0cmljcyByZXNlYXJjaCBpbnN0aXR1dGUpLiAgVGhleSB0YWtlIHBhcnQgaW4gbWFueSBy ZXNlYXJjaCBpbml0aWF0aXZlcyBiZW5lZml0aW5nIHNlbmlvcnMsIGluY2x1ZGluZyBBbHpoZWlt ZXIsIGRlbWVudGlhLCBhbmQgbW9yZS4NCj4gDQo+IFdlIHBhcnRpY2lwYXRlIGluIHJhaXNpbmcg ZnVuZHMgZm9yIHRoZSBpbnN0aXR1dGUgYnkgYmVpbmcgYSBwYXJ0IG9mIHRoZSBvcmdhbml6YXRp b25hbCBjb21pdHkgb2YgdGhlIGV2ZW50IGNhbGxlZDogU29pcsOpZSBkw6lndXN0YXRpb24sIHdo aWNoIHdpbGwgdGFrZSBwbGFjZSBvbiBXZWRuZXNkYXkgTm92ZW1iZXIgMm5kIDIwMTYuDQo+IEl0 4oCZcyBhIGhpZ2hseSBhbnRpY2lwYXRlZCBldmVudCB3aXRoIGhpZ2ggcXVhbGl0eSBndWVzdHMh ICBBIGdyZWF0IGV2ZW50IHRvIG1ha2UgbmV3IGNvbnRhY3RzIQ0KPiANCj4gVG8gZ2l2ZSB5b3Ug YW4gaWRlYSwgdGhlIGxhc3QgcHJlc2lkZW50cyBvZiB0aGUgZXZlbnQgd2VyZTogSmVhbiBDaGFy ZXN0LCBNaWNoYWVsIFNhYmlhIChDYWlzc2UgZGUgZMOpcMO0dCksIE1hcmMgUGVycm9uIChEZWxv aXR0ZSkuDQo+IA0KPiBUaGlzIHllYXIgdGhlIFByZXNpZGVudCBpcyBNciBTZXJnZSBQYXF1ZXR0 ZSAoTmF0aW9uYWwuY2EpLiAgV2Ugd2lsbCBhbHNvIGJlIGpvaW5lZCBieSB0aGUgZ3Vlc3RzIG9m IGhvbm91ciwgTXIgSmVhbiBDb3V0dSwgRm91bmRlciBvZiBHcm91cGUgSmVhbiBDb3V0dSBhbmQg TXIgTW9ycmlzIEdvb2RtYW4sIGNvZm91bmRlciBhbmQgcHJlc2lkZW50IG9mIFBoYXJtYXNjaWVu Y2UuDQo+IA0KPiBJJ3ZlIGFsc28gYXR0YWNoZWQgYSBmZXcgZG9jdW1lbnRzIGRldGFpbGluZyB0 aGUgZXZlbnQuDQo+IA0KPiBJZiB5b3UncmUgaW50ZXJlc3RlZCBpbiBnZXR0aW5nIGludm9sdmVk IGFuZCBtZWV0aW5nIC8gbmV0d29ya2luZyB3aXRoIGxlYWRlcnMgaW4gdGhlIHNlbmlvciBpbmR1 c3RyeSAocmV0aXJlbWVudCByZXNpZGVuY2UgZ3JvdXBzLCBzZW5pb3Igc2VydmljZSBwcm92aWRl cnMpIGhlcmUncyBob3cuDQo+IA0KPiAxLSBCdXkgdGlja2V0cyBmb3IgdGhlIGV2ZW50ICgyNTAk KQ0KPiAyLSBEb25hdGUuDQo+IDMtIERvbmF0ZSBpdGVtcyBmb3IgdGhlIHNpbGVudCBhdWN0aW9u ICh0aWNrZXRzLCB3aW5lIGJvdHRsZXMgYW5kIG1vcmUpDQo+IDQtIFNwb25zb3IgdGhlIGV2ZW50 IChUaGUgc3BvbnNvcnNoaXAgcGxhbiBpcyBhdHRhY2hlZCB0byB0aGUgZW1haWwpDQo+IA0KPiBQ bGVhc2UgbGV0IG1lIGtub3cgaWYgeW91IGhhdmUgYW55IHF1ZXN0aW9ucyENCj4gDQo+IEkgbG9v ayBmb3J3YXJkIHRvIGhlYXJpbmcgZnJvbSB5b3UgYW5kIGhvcGUgdG8gc2VlIHlvdSBhdCB0aGUg ZXZlbnQhDQo+IA0KPiANCj4gLS0gDQo+IA0KPiANCj4gVGltb3RoeSBUaG9tYXMNCj4gDQo+IA