cGFja2FnZSBvcmcuZWNsaXBzZS51aS52aWV3cy5mcmFtZWxpc3Q7CgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpDb3B5cmlnaHQgKGMpIDIwMDAsIDIwMDEsIDIwMDIsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMgQ29ycCBhbmQgb3RoZXJzLgpBbGwgcmlnaHRzIHJlc2VydmVkLiCgIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgQ29tbW9uIFB1YmxpYyBMaWNlbnNlIHYwLjUKd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9jcGwtdjA1Lmh0bWwKoApDb250cmlidXRvcnM6CioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKLyoqCiAqIEEgZnJhbWUgc291cmNlIGlzIHRoZSBzb3VyY2Ugb2YgZnJhbWVzIHdoaWNoIGFwcGVhciBpbiBhIGZyYW1lIGxpc3QuCiAqIFRoZSBmcmFtZSBsaXN0IGFza3MgZm9yIHRoZSBjdXJyZW50IGZyYW1lIHdoZW5ldmVyIGl0IHN3aXRjaGVzCiAqIHRvIGFub3RoZXIgZnJhbWUsIHNvIHRoYXQgdGhlIGNvbnRleHQgY2FuIGJlIHJlc3RvcmVkIHdoZW4gdGhlCiAqIGZyYW1lIGJlY29tZXMgY3VycmVudCBhZ2Fpbi4KICoKICogQHNlZSBGcmFtZUxpc3QKICovCnB1YmxpYyBpbnRlcmZhY2UgSUZyYW1lU291cmNlIHsKCgkvKioKCSAqIEZyYW1lIGNvbnN0YW50IGluZGljYXRpbmcgdGhlIGN1cnJlbnQgZnJhbWUuCgkgKi8KCXB1YmxpYyBzdGF0aWMgZmluYWwgaW50IENVUlJFTlRfRlJBTUUgPSAweDAwMDE7CgoJLyoqCgkgKiBGcmFtZSBjb25zdGFudCBpbmRpY2F0aW5nIHRoZSBmcmFtZSBmb3IgdGhlIHNlbGVjdGlvbi4KCSAqLwoJcHVibGljIHN0YXRpYyBmaW5hbCBpbnQgU0VMRUNUSU9OX0ZSQU1FID0gMHgwMDAyOwoKCS8qKgoJICogRnJhbWUgY29uc3RhbnQgaW5kaWNhdGluZyB0aGUgcGFyZW50IGZyYW1lLgoJICovCglwdWJsaWMgc3RhdGljIGZpbmFsIGludCBQQVJFTlRfRlJBTUUgPSAweDAwMDM7CgoJLyoqCgkgKiBGbGFnIGNvbnN0YW50IGluZGljYXRpbmcgdGhhdCB0aGUgZnVsbCBjb250ZXh0IHNob3VsZCBiZSBjYXB0dXJlZC4KCSAqLwoJcHVibGljIHN0YXRpYyBmaW5hbCBpbnQgRlVMTF9DT05URVhUID0gMHgwMDAxOwoJCgkvKioKCSAqIFJldHVybnMgYSBuZXcgZnJhbWUgZGVzY3JpYmluZyB0aGUgc3RhdGUgb2YgdGhlIHNvdXJjZS4KCSAqIElmIHRoZSA8Y29kZT5GVUxMX0NPTlRFWFQ8L2NvZGU+IGZsYWcgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBmdWxsCgkgKiBjb250ZXh0IG9mIHRoZSBzb3VyY2Ugc2hvdWxkIGJlIGNhcHR1cmVkIGJ5IHRoZSBmcmFtZS4KCSAqIE90aGVyd2lzZSwgb25seSB0aGUgdmlzaWJsZSBhc3BlY3RzIG9mIHRoZSBmcmFtZSwgc3VjaCBhcyB0aGUgbmFtZSBhbmQgdG9vbCB0aXAgdGV4dCwKCSAqIHdpbGwgYmUgdXNlZC4KCSAqCgkgKiBAcGFyYW0gZnJhbWUgb25lIG9mIHRoZSBmcmFtZSBjb25zdGFudHMgZGVmaW5lZCBpbiB0aGlzIGludGVyZmFjZQoJICogQHBhcmFtIGZsYWdzIGEgYml0LXdpc2UgT1Igb2YgdGhlIGZsYWcgY29uc3RhbnRzIGRlZmluZWQgaW4gdGhpcyBpbnRlcmZhY2UKCSAqIEByZXR1cm4gYSBuZXcgZnJhbWUgZGVzY3JpYmluZyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgc291cmNlCgkgKi8KCXB1YmxpYyBGcmFtZSBnZXRGcmFtZShpbnQgd2hpY2hGcmFtZSwgaW50IGZsYWdzKTsKfQ==