PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX0NPTVBMPC90aXRsZT4KCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3N0eWxlcy5jc3MiPgo8L2hlYWQ+Cjxib2R5PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6ICAwcHg7Ij4KCQlUaGUgPGI+Qk9PU1RfUFBfQ09NUEw8L2I+IG1hY3JvIHBlcmZvcm1zIGEgYml0d2lzZSBpbnZlcnNpb24gKGJpdHdpc2UgPGk+Tk9UPC9pPiBvciBvbmUncyBjb21wbGVtZW50KSBvbiBpdHMgb3BlcmFuZC4KCTwvZGl2PgoJPGg0PlVzYWdlPC9oND4KCQk8ZGl2IGNsYXNzPSJjb2RlIj4KCQkJPGI+Qk9PU1RfUFBfQ09NUEw8L2I+KDxpPng8L2k+KQoJCTwvZGl2PgoJPGg0PkFyZ3VtZW50czwvaDQ+CgkJPGRsPgoJCQk8ZHQ+eDwvZHQ+CgkJCTxkZD4KCQkJCVRoZSB2YWx1ZSB0byBiZSBjb252ZXJ0ZWQuJm5ic3A7CgkJCQlUaGlzIHZhbHVlIG11c3QgZXhwYW5kIHRvIDxpPjA8L2k+IG9yIDxpPjE8L2k+LgoJCQk8L2RkPgoJCTwvZGw+Cgk8aDQ+UmVtYXJrczwvaDQ+CgkJPGRpdj4KCQkJSWYgPGk+eDwvaT4gaXMgPGk+MDwvaT4sIHRoaXMgbWFjcm8gZXhwYW5kcyB0byA8aT4xPC9pPi4mbmJzcDsKCQkJSWYgPGk+eDwvaT4gaXMgPGk+MTwvaT4sIHRoaXMgaXQgZXhwYW5kcyB0byA8aT4wPC9pPi4KCQk8L2Rpdj4KCQk8ZGl2PgoJCQlUaGlzIG1hY3JvIDxpPmRvZXMgbm90PC9pPiBwZXJmb3JtIGEgYm9vbGVhbiBjb252ZXJzaW9uIG9uIGl0cyBvcGVyYW5kIGJlZm9yZSBwZXJmb3JtaW5nIHRoZSBpbnZlcnNpb24gPGk+T1I8L2k+IG9wZXJhdGlvbi4mbmJzcDsKCQkJSWYgdGhhdCBjb252ZXJzaW9uIGlzIG5lY2Vzc2FyeSwgdXNlIDxiPkJPT1NUX1BQX05PVDwvYj4gaW5zdGVhZC4KCQk8L2Rpdj4KCTxoND5TZWUgQWxzbzwvaDQ+CgkJPHVsPgoJCQk8bGk+PGEgaHJlZj0ibm90Lmh0bWwiPkJPT1NUX1BQX05PVDwvYT48L2xpPgoJCTwvdWw+Cgk8aDQ+UmVxdWlyZW1lbnRzPC9oND4KCQk8ZGl2PgoJCQk8Yj5IZWFkZXI6PC9iPiAmbmJzcDs8YSBocmVmPSIuLi9oZWFkZXJzL2xvZ2ljYWwvY29tcGwuaHRtbCI+Jmx0O2Jvb3N0L3ByZXByb2Nlc3Nvci9sb2dpY2FsL2NvbXBsLmhwcCZndDs8L2E+CgkJPC9kaXY+Cgk8aDQ+U2FtcGxlIENvZGU8L2g0Pgo8ZGl2PjxwcmU+CiNpbmNsdWRlICZsdDs8YSBocmVmPSIuLi9oZWFkZXJzL2xvZ2ljYWwvY29tcGwuaHRtbCI+Ym9vc3QvcHJlcHJvY2Vzc29yL2xvZ2ljYWwvY29tcGwuaHBwPC9hPiZndDsKCjxhIGhyZWY9ImNvbXBsLmh0bWwiPkJPT1NUX1BQX0NPTVBMPC9hPigxKSAvLyBleHBhbmRzIHRvIDAKPGEgaHJlZj0iY29tcGwuaHRtbCI+Qk9PU1RfUFBfQ09NUEw8L2E+KDApIC8vIGV4cGFuZHMgdG8gMQo8L3ByZT48L2Rpdj4KCTxociBzaXplPSIxIj4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwcHg7Ij4KCQk8aT6pIENvcHlyaWdodCA8YSBocmVmPSJodHRwOi8vd3d3LmhvdXNlbWFycXVlLmNvbSIgdGFyZ2V0PSJfdG9wIj5Ib3VzZW1hcnF1ZSBPeTwvYT4gMjAwMjwvaT4KCQk8L2JyPjxpPqkgQ29weXJpZ2h0IFBhdWwgTWVuc29uaWRlcyAyMDAyPC9pPgoJPC9kaXY+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPHA+PHNtYWxsPkRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQoJCWFjY29tcGFueWluZyBmaWxlIDxhIGhyZWY9Ii4uLy4uLy4uLy4uL0xJQ0VOU0VfMV8wLnR4dCI+TElDRU5TRV8xXzAudHh0PC9hPiBvcgoJCWNvcHkgYXQgPGEgaHJlZj0KCQkiaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0Ij53d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dDwvYT4pPC9zbWFsbD48L3A+Cgk8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==