PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX0dSRUFURVJfRVFVQUxfRDwvdGl0bGU+Cgk8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMuY3NzIj4KPC9oZWFkPgo8Ym9keT4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAgMHB4OyI+CgkJVGhlIDxiPkJPT1NUX1BQX0dSRUFURVJfRVFVQUxfRDwvYj4gbWFjcm8gY29tcGFyZXMgdHdvIHZhbHVlcyBmb3IgZXF1YWxpdHkgb3IgZ3JlYXRlciBtYWduaXR1ZGUuJm5ic3A7CgkJSXQgcmVlbnRlcnMgPGI+Qk9PU1RfUFBfV0hJTEU8L2I+IHdpdGggbWF4aW11bSBlZmZpY2llbmN5LgoJPC9kaXY+Cgk8aDQ+VXNhZ2U8L2g0PgoJCTxkaXYgY2xhc3M9ImNvZGUiPgoJCQk8Yj5CT09TVF9QUF9HUkVBVEVSX0VRVUFMX0Q8L2I+KDxpPmQ8L2k+LCA8aT54PC9pPiwgPGk+eTwvaT4pCgkJPC9kaXY+Cgk8aDQ+QXJndW1lbnRzPC9oND4KCQk8ZGw+CgkJCTxkdD5kPC9kdD4KCQkJPGRkPgoJCQkJVGhlIG5leHQgYXZhaWxhYmxlIDxiPkJPT1NUX1BQX1dISUxFPC9iPiBpdGVyYXRpb24uJm5ic3A7CgkJCTwvZGQ+CgkJCTxkdD54PC9kdD4KCQkJPGRkPgoJCQkJVGhlIGxlZnQgb3BlcmFuZCBvZiB0aGUgY29tcGFyaXNvbi4mbmJzcDsKCQkJCVZhbGlkIHZhbHVlcyByYW5nZSBmcm9tIDxpPjA8L2k+IHRvIDxiPkJPT1NUX1BQX0xJTUlUX01BRzwvYj4uCgkJCTwvZGQ+CgkJCTxkdD55PC9kdD4KCQkJPGRkPgoJCQkJVGhlIHJpZ2h0IG9wZXJhbmQgb2YgdGhlIGNvbXBhcmlzb24uJm5ic3A7CgkJCQlWYWxpZCB2YWx1ZXMgcmFuZ2UgZnJvbSA8aT4wPC9pPiB0byA8Yj5CT09TVF9QUF9MSU1JVF9NQUc8L2I+LgoJCQk8L2RkPgoJCTwvZGw+Cgk8aDQ+UmVtYXJrczwvaDQ+CgkJPGRpdj4KCQkJSWYgPGk+eDwvaT4gaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDxpPnk8L2k+LCB0aGlzIG1hY3JvIGV4cGFuZHMgdG8gPGk+MTwvaT4uJm5ic3A7CgkJCU90aGVyd2lzZSwgaXQgZXhwYW5kcyB0byA8aT4wPC9pPi4KCQk8L2Rpdj4KCTxoND5TZWUgQWxzbzwvaDQ+CgkJPHVsPgoJCQk8bGk+PGEgaHJlZj0iZ3JlYXRlcl9lcXVhbC5odG1sIj5CT09TVF9QUF9HUkVBVEVSX0VRVUFMPC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJsaW1pdF9tYWcuaHRtbCI+Qk9PU1RfUFBfTElNSVRfTUFHPC9hPjwvbGk+CgkJPC91bD4KCTxoND5SZXF1aXJlbWVudHM8L2g0PgoJCTxkaXY+CgkJCTxiPkhlYWRlcjo8L2I+ICZuYnNwOzxhIGhyZWY9Ii4uL2hlYWRlcnMvY29tcGFyaXNvbi9ncmVhdGVyX2VxdWFsLmh0bWwiPiZsdDtib29zdC9wcmVwcm9jZXNzb3IvY29tcGFyaXNvbi9ncmVhdGVyX2VxdWFsLmhwcCZndDs8L2E+CgkJPC9kaXY+Cgk8aDQ+U2FtcGxlIENvZGU8L2g0Pgo8ZGl2PjxwcmU+CiNpbmNsdWRlICZsdDs8YSBocmVmPSIuLi9oZWFkZXJzL2NvbXBhcmlzb24vZ3JlYXRlcl9lcXVhbC5odG1sIj5ib29zdC9wcmVwcm9jZXNzb3IvY29tcGFyaXNvbi9ncmVhdGVyX2VxdWFsLmhwcDwvYT4mZ3Q7CiNpbmNsdWRlICZsdDs8YSBocmVmPSIuLi9oZWFkZXJzL2xpc3QvZmlsdGVyLmh0bWwiPmJvb3N0L3ByZXByb2Nlc3Nvci9saXN0L2ZpbHRlci5ocHA8L2E+Jmd0OwoKI2RlZmluZSBMSVNUICgxLCAoMiwgKDMsICg0LCAoNSwgPGEgaHJlZj0ibmlsLmh0bWwiPkJPT1NUX1BQX05JTDwvYT4pKSkpKQoKI2RlZmluZSBQUkVEKGQsIF8sIG51bSkgPGEgaHJlZj0iZ3JlYXRlcl9lcXVhbF9kLmh0bWwiPkJPT1NUX1BQX0dSRUFURVJfRVFVQUxfRDwvYT4oZCwgbnVtLCA0KQoKPGEgaHJlZj0ibGlzdF9maWx0ZXIuaHRtbCI+Qk9PU1RfUFBfTElTVF9GSUxURVI8L2E+KFBSRUQsIG5pbCwgTElTVCkgLy8gZXhwYW5kcyB0byAoNCwgKDUsIDxhIGhyZWY9Im5pbC5odG1sIj5CT09TVF9QUF9OSUw8L2E+KSkKPC9wcmU+PC9kaXY+Cgk8aHIgc2l6ZT0iMSI+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPGk+qSBDb3B5cmlnaHQgPGEgaHJlZj0iaHR0cDovL3d3dy5ob3VzZW1hcnF1ZS5jb20iIHRhcmdldD0iX3RvcCI+SG91c2VtYXJxdWUgT3k8L2E+IDIwMDI8L2k+CgkJPC9icj48aT6pIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMjwvaT4KCTwvZGl2PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsiPgoJCTxwPjxzbWFsbD5EaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKCQlhY2NvbXBhbnlpbmcgZmlsZSA8YSBocmVmPSIuLi8uLi8uLi8uLi9MSUNFTlNFXzFfMC50eHQiPkxJQ0VOU0VfMV8wLnR4dDwvYT4gb3IKCQljb3B5IGF0IDxhIGhyZWY9CgkJImh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCI+d3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQ8L2E+KTwvc21hbGw+PC9wPgoJPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=