IyBUVU5fMF9odW1hbl8yMDA2X3BvcHVsYXRpb24ucHJvcGVydGllcwojIFRoaXMgZmlsZSBjb250YWlucyBwb3B1bGF0aW9uIHZhbHVlcyBmb3IgVHVuaXNpYQojLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIyAqIENvcHlyaWdodCAoYykgMjAwOSwgMjAxMCwgMjAxMSwgMjAxMiwgMjAxMywgMjAxNCwgMjAxNSwgMjAxNiwgMjAxNywgMjAxOAojICogSUJNIENvcnBvcmF0aW9uLCBCZlIsIGFuZCBvdGhlcnMuCiMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCiMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAojICoKIyAqIENvbnRyaWJ1dG9yczoKIyAqICAgICBJQk0gQ29ycG9yYXRpb24gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kIG5ldyBmZWF0dXJlcwojICogICAgIEJ1bmRlc2luc3RpdHV0IGb8ciBSaXNpa29iZXdlcnR1bmcgLSBQYWplayBHcmFwaCBpbnRlcmZhY2UsIG5ldyBWZXRlcmluYXJ5IE1vZGVscwojICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgojIFRoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIGNsYXNzIHRoYXQgd2lsbCBpbnRlcnByZXQgdGhlIHJlc3Qgb2YgdGhlIGZpbGUncyBjb250ZW50cwpSRUNPUkRfQ0xBU1NOQU1FID0gb3JnLmVjbGlwc2Uuc3RlbS5pbnRlcm5hbC5kYXRhLnJlY29yZHMuQ291bnRyeUdyYXBoUmVjb3JkJENvdW50cnlQb3B1bGF0aW9uTGFiZWxHcmFwaFJlY29yZAoKIyBUaGUgSVNPLTMxNjYtMSBhbHBoYTMgY29kZSBmb3IgdGhlIGNvdW50cnkKSVNPS0VZID0gVFVOCgojIFRoZSBhZG1pbmlzdHJhdGlvbiBsZXZlbCBvZiB0aGUgZ3JhcGggZGF0YQpBRE1JTl9MRVZFTCA9IDAKCiMgVGhpcyBpcyB0aGUgZGF0ZSByYW5nZSBmb3Igd2hpY2ggdGhlIHZhbHVlcyBpbiB0aGlzIGZpbGUgYXJlIHZhbGlkCiMgU2VlIGh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8xLjEvdmFsaWQKVkFMSUQgPSBzdGFydD0yMDA2LTAxLTAxOyBlbmQ9MjAwNi0xMi0zMTsKCiMgVGhpcyBpcyB0aGUgc291cmNlIG9mIHRoZSBkYXRhCiMgVGhlIHZhbHVlIHdhcyBzYW1wbGVkIGluIEp1bmUgYW5kIHJlcHJlc2VudHMgdGhlIGF2ZXJhZ2UgZm9yIHRoZSB5ZWFyLgpTT1VSQ0UgPSAgaHR0cHM6Ly93d3cuY2lhLmdvdi9jaWEvcHVibGljYXRpb25zL2ZhY3Rib29rL2dlb3MvdHMuaHRtbAoKIyBUaGUgcG9wdWxhdGlvbiBpZGVudGlmaWVyClBPUFVMQVRJT04gPSBodW1hbgoKIyBUaGUgeWVhciB0aGUgZGF0YSBpcyB2YWxpZApZRUFSID0gMjAwNgoKIyBUaGUga2V5IGlzIHRoZSBJU08tMzE2Ni0xIGFscGhhMyB0aHJlZSBsZXR0ZXIgaWRlbnRpZmllciBvZiB0aGUgY291bnRyeQojIFRoZSB1bml0cyBhcmUgaW5kaXZpZHVhbHMKVFVOID0gMTAxNzUwMTQgCgojIFN0YXRlL1Byb3ZpbmNlCg==