QW55dGhpbmcgb3RoZXIgdGhhbiB0aXRhbml1bSB3b250IGxhc3QgZm9yIG1lLiBaZW5uaSB3YXMg d2F5IGxlc3MgZm9yIHRoZSBpZGVudGljYWwgZnJhbWVzLgoKTWljaGFlbCBXYXR0ZXJzb24gPG1p a2VAcmFkaW93YXkub3JnPiB3cm90ZToKCj5PbiAxMy8wNS8yMDExIDE4OjU3LCBZRVMgTk9QRTkg d3JvdGU6Cj4+IEkgd2VudCB5ZXN0ZXJkYXkgZm9yIGFuIGV5ZSBleGFtLiAgIFdoaWNoIHJldmVh bGVkIEkgYW0gZ2V0dGluZyBvbGRlci4KPj4gTXkgaW5zdXJhbmNlIGNvdmVycyAkMTUwIHRvd2Fy ZCBmcmFtZXMuICBJIGZvdW5kIHRoYXQgdGhlIGZyYW1lcyBJIGxpa2VkIHdlcmUgJDM4NCBVU0Qu ICAgVGhlcmUgd2VyZSBtb3JlIGV4cGVuc2l2ZSBmcmFtZXMuIEkgd2FzIGFtYXplZCBhdCBob3cg bGl0dGxlIHlvdSBnZXQgZm9yIHRoZSBidWNrIG9yIHJhdGhlciBob3cgbXVjaCB5b3UgY291bGQg cGF5IGZvciBhICA1MCBncmFtcyBvZiBtZXRhbCBhbmQgcGxhc3RpYy4gVGhlIGV5ZSBkb2N0b3Ig cHV0IGEgbG90IG9mIHByZXNzdXJlIG9uIG1lIHRvIGJ1eSBzb21lIGdsYXNzZXMuCj4+Cj4+IERv ZXMgYW55b25lIGtub3cgdGhlIGJyZWFrZG93biBvZiB3aG8gcmVjZWl2ZXMgcG9ydGlvbnMgb2Yg dGhhdCAkMzg0ID8gICBIb3cgbXVjaCB0byB0aGUgdmlzaW9uIGNlbnRlciwgaG93IG11Y2ggdG8g YSBkaXN0cmlidXRvciAsIGhvdyBtdWNoIHRvIHRoZSBtYW51ZmFjdHVyZXIgPwo+Pgo+Cj5JIG5l ZWQgcmVhZGluZyBnbGFzc2VzLiBXaGVuIEkgbG9zdCB0aGUgZXhwZW5zaXZlIG9wdGljaWFuIHN1 cHBsaWVkIG9uZXMgCj5JIGZvdW5kIHRoYXQg4oKsMiBtb2RlbCBpbiBiYXJnYWluIHNob3Agd29y a2VkIGFzIHdlbGwsIHdhcyBuaWNlciBhbmQgbW9yZSAKPmNvbWZvcnRhYmxlLiBVbmxlc3MgeW91 IGhhdmUgYXN0aWdtYXRpc20sIHRoZXkgYXJlIGZpbmUuIElmIHRoZSBleWVzIGFyZSAKPnNsaWdo dGx5IGRpZmZlcmVudCBidXkgdHdvIHBhaXJzIGFuZCBzd2FwIHRoZSBsZW5zLgo+Cj5NeSBzdW5n bGFzc2VzIGFyZSDigqwzLiBJIGNhbid0IHNlZSB3aHkgdGhlIOKCrDMwMCBmcmFtZXMgYXJlICJi ZXR0ZXIiLgo+Cj5UaGUgZXhwZW5zaXZlIGdsYXNzZXMgZ2V0IHNhdCBvbiwgd2Fsa2VkIG9uLCBk cml2ZW4gb3ZlciBvciBsb3N0IGFzIAo+ZWFzaWx5IGFzIHRoZSBjaGVhcCBvbmVzLgo+Cj5FeHBl bnNpdmUgY3VzdG9tIHNoYXBlZCBsZW5zZXMgbWFkZSBqdXN0IGZvciB5b3VyIGV5ZXMgSSBjYW4g dW5kZXJzdGFuZCAKPmNvc3RpbmcgaHVuZHJlZHMuIEV4cGVuc2l2ZSBmcmFtZXMgSSBkb24ndCB1 bmRlcnN0YW5kLgo+LS0gCj5odHRwOi8vd3d3LnBpY2xpc3QuY29tIFBJQy9TWCBGQVEgJiBsaXN0 IGFyY2hpdmUKPlZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cj5odHRwOi8v bWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAoKLS0gCmh0dHA6Ly93d3cu cGljbGlzdC5jb20gUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQpWaWV3L2NoYW5nZSB5b3VyIG1l bWJlcnNoaXAgb3B0aW9ucyBhdApodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGlu Zm8vcGljbGlzdAo= .