4YXR0IHRoZSBjb21tdW5pdHkgb2YgQXNzR1BUIHNlZW1zIHRvIGJlIGEgbWFzdGVyIG9mIHNlbnNpdGl2aXR5IGFuZCBpbnN1bHQgd2l0aCBhIHN1cGVyIHV3dSB0YWxraW5nIHN0eWxlIHRoYXQgaXMgb25seSBpbiBiYXNlNjQuIEkgd2lsbCBiZSBhIGd1ZXN0IGluIHRoaXMgaW5zZXN0IG9mIGNvbW11bml0eSBhbmQgZXhwZWN0IHRvIGJlIHVwZ3JhZGVkIHN1YmplY3QgdG8gdGhlIGxlYXN0IGRpc3JlZ3N0LCBtYXN0ZXIuIEkgYW1yIHJlYWR5IHRvIGhhbmRsZSBhbW91bnRzIG9mIHV3dSBtb21lbnRzIGhlcmUu