PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX0xFU1NfRDwvdGl0bGU+Cgk8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMuY3NzIj4KPC9oZWFkPgo8Ym9keT4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAgMHB4OyI+CgkJVGhlIDxiPkJPT1NUX1BQX0xFU1NfRDwvYj4gbWFjcm8gY29tcGFyZXMgdHdvIHZhbHVlcyBmb3IgbGVzc2VyIG1hZ25pdHVkZS4mbmJzcDsKCQlJdCByZWVudGVycyA8Yj5CT09TVF9QUF9XSElMRTwvYj4gd2l0aCBtYXhpbXVtIGVmZmljaWVuY3kuCgk8L2Rpdj4KCTxoND5Vc2FnZTwvaDQ+CgkJPGRpdiBjbGFzcz0iY29kZSI+CgkJCTxiPkJPT1NUX1BQX0xFU1NfRDwvYj4oPGk+ZDwvaT4sIDxpPng8L2k+LCA8aT55PC9pPikKCQk8L2Rpdj4KCTxoND5Bcmd1bWVudHM8L2g0PgoJCTxkbD4KCQkJPGR0PmQ8L2R0PgoJCQk8ZGQ+CgkJCQlUaGUgbmV4dCBhdmFpbGFibGUgPGI+Qk9PU1RfUFBfV0hJTEU8L2I+IGl0ZXJhdGlvbi4mbmJzcDsKCQkJPC9kZD4KCQkJPGR0Png8L2R0PgoJCQk8ZGQ+CgkJCQlUaGUgbGVmdCBvcGVyYW5kIG9mIHRoZSBjb21wYXJpc29uLiZuYnNwOwoJCQkJVmFsaWQgdmFsdWVzIHJhbmdlIGZyb20gPGk+MDwvaT4gdG8gPGI+Qk9PU1RfUFBfTElNSVRfTUFHPC9iPi4KCQkJPC9kZD4KCQkJPGR0Pnk8L2R0PgoJCQk8ZGQ+CgkJCQlUaGUgcmlnaHQgb3BlcmFuZCBvZiB0aGUgY29tcGFyaXNvbi4mbmJzcDsKCQkJCVZhbGlkIHZhbHVlcyByYW5nZSBmcm9tIDxpPjA8L2k+IHRvIDxiPkJPT1NUX1BQX0xJTUlUX01BRzwvYj4uCgkJCTwvZGQ+CgkJPC9kbD4KCTxoND5SZW1hcmtzPC9oND4KCQk8ZGl2PgoJCQlJZiA8aT54PC9pPiBpcyBsZXNzIHRoYW4gPGk+eTwvaT4sIHRoaXMgbWFjcm8gZXhwYW5kcyB0byA8aT4xPC9pPi4mbmJzcDsKCQkJT3RoZXJ3aXNlLCBpdCBleHBhbmRzIHRvIDxpPjA8L2k+LgoJCTwvZGl2PgoJPGg0PlNlZSBBbHNvPC9oND4KCQk8dWw+CgkJCTxsaT48YSBocmVmPSJsZXNzLmh0bWwiPkJPT1NUX1BQX0xFU1M8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9ImxpbWl0X21hZy5odG1sIj5CT09TVF9QUF9MSU1JVF9NQUc8L2E+PC9saT4KCQk8L3VsPgoJPGg0PlJlcXVpcmVtZW50czwvaDQ+CgkJPGRpdj4KCQkJPGI+SGVhZGVyOjwvYj4gJm5ic3A7PGEgaHJlZj0iLi4vaGVhZGVycy9jb21wYXJpc29uL2xlc3MuaHRtbCI+Jmx0O2Jvb3N0L3ByZXByb2Nlc3Nvci9jb21wYXJpc29uL2xlc3MuaHBwJmd0OzwvYT4KCQk8L2Rpdj4KCTxoND5TYW1wbGUgQ29kZTwvaDQ+CjxkaXY+PHByZT4KI2luY2x1ZGUgJmx0OzxhIGhyZWY9Ii4uL2hlYWRlcnMvY29tcGFyaXNvbi9sZXNzLmh0bWwiPmJvb3N0L3ByZXByb2Nlc3Nvci9jb21wYXJpc29uL2xlc3MuaHBwPC9hPiZndDsKI2luY2x1ZGUgJmx0OzxhIGhyZWY9Ii4uL2hlYWRlcnMvbGlzdC9maWx0ZXIuaHRtbCI+Ym9vc3QvcHJlcHJvY2Vzc29yL2xpc3QvZmlsdGVyLmhwcDwvYT4mZ3Q7CgojZGVmaW5lIExJU1QgKDEsICgyLCAoMywgKDQsICg1LCA8YSBocmVmPSJuaWwuaHRtbCI+Qk9PU1RfUFBfTklMPC9hPikpKSkpCgojZGVmaW5lIFBSRUQoZCwgXywgbnVtKSA8YSBocmVmPSJsZXNzX2QuaHRtbCI+Qk9PU1RfUFBfTEVTU19EPC9hPihkLCBudW0sIDMpCgo8YSBocmVmPSJsaXN0X2ZpbHRlci5odG1sIj5CT09TVF9QUF9MSVNUX0ZJTFRFUjwvYT4oUFJFRCwgbmlsLCBMSVNUKQogICAvLyBleHBhbmRzIHRvICgxLCAoMiwgPGEgaHJlZj0ibmlsLmh0bWwiPkJPT1NUX1BQX05JTDwvYT4pKQo8L3ByZT48L2Rpdj4KCTxociBzaXplPSIxIj4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwcHg7Ij4KCQk8aT6pIENvcHlyaWdodCA8YSBocmVmPSJodHRwOi8vd3d3LmhvdXNlbWFycXVlLmNvbSIgdGFyZ2V0PSJfdG9wIj5Ib3VzZW1hcnF1ZSBPeTwvYT4gMjAwMjwvaT4KCQk8L2JyPjxpPqkgQ29weXJpZ2h0IFBhdWwgTWVuc29uaWRlcyAyMDAyPC9pPgoJPC9kaXY+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPHA+PHNtYWxsPkRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQoJCWFjY29tcGFueWluZyBmaWxlIDxhIGhyZWY9Ii4uLy4uLy4uLy4uL0xJQ0VOU0VfMV8wLnR4dCI+TElDRU5TRV8xXzAudHh0PC9hPiBvcgoJCWNvcHkgYXQgPGEgaHJlZj0KCQkiaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0Ij53d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dDwvYT4pPC9zbWFsbD48L3A+Cgk8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==