PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX0VOVU1fUEFSQU1TX1o8L3RpdGxlPgoJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzLmNzcyI+CjwvaGVhZD4KPGJvZHk+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogIDBweDsiPgoJCVRoZSA8Yj5CT09TVF9QUF9FTlVNX1BBUkFNU19aPC9iPiBtYWNybyBnZW5lcmF0ZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwYXJhbWV0ZXJzLiZuYnNwOwoJCUl0IHJlZW50ZXJzIDxiPkJPT1NUX1BQX1JFUEVBVDwvYj4gd2l0aCBtYXhpbXVtIGVmZmljaWVuY3kuCgk8L2Rpdj4KCTxoND5Vc2FnZTwvaDQ+CgkJPGRpdiBjbGFzcz0iY29kZSI+CgkJCTxiPkJPT1NUX1BQX0VOVU1fUEFSQU1TX1o8L2I+KDxpPno8L2k+LCA8aT5jb3VudDwvaT4sIDxpPnBhcmFtPC9pPikKCQk8L2Rpdj4KCTxoND5Bcmd1bWVudHM8L2g0PgoJCTxkbD4KCQkJPGR0Pno8L2R0PgoJCQk8ZGQ+CgkJCQlUaGUgbmV4dCBhdmFpbGFibGUgPGI+Qk9PU1RfUFBfUkVQRUFUPC9iPiBkaW1lbnNpb24uCgkJCTwvZGQ+CgkJCTxkdD5jb3VudDwvZHQ+CgkJCTxkZD4KCQkJCVRoZSBudW1iZXIgb2YgcGFyYW1ldGVycyB0byBnZW5lcmF0ZS4mbmJzcDsKCQkJCVZhbGlkIHZhbHVlcyByYW5nZSBmcm9tIDxpPjA8L2k+IHRvIDxiPkJPT1NUX1BQX0xJTUlUX1JFUEVBVDwvYj4uCgkJCTwvZGQ+CgkJCTxkdD5wYXJhbTwvZHQ+CgkJCTxkZD4KCQkJCVRoZSB0ZXh0IG9mIHRoZSBwYXJhbWV0ZXIuJm5ic3A7CgkJCQk8Yj5CT09TVF9QUF9FTlVNX1BBUkFNU19aPC9iPiBjb25jYXRlbmF0ZXMgbnVtYmVycyByYW5naW5nIGZyb20gPGk+MDwvaT4gdG8gPGk+Y291bnQ8L2k+IC0gPGk+MTwvaT4KCQkJCXRvIGdlbmVyYXRlIHBhcmFtZXRlcnMuCgkJCTwvZGQ+CgkJPC9kbD4KCTxoND5SZW1hcmtzPC9oND4KCQk8ZGl2PgoJCQlUaGlzIG1hY3JvIGV4cGFuZHMgdG8gdGhlIGNvbW1hLXNlcGFyYXRlZCBzZXF1ZW5jZToKCQkJPGRpdj4KCQkJCTxpPnBhcmFtPC9pPiAjIyA8aT4wPC9pPiwgPGk+cGFyYW08L2k+ICMjIDxpPjE8L2k+LCAuLi4gPGk+cGFyYW08L2k+ICMjIDxpPmNvdW50PC9pPiAtIDxpPjE8L2k+CgkJCTwvZGl2PgoJCTwvZGl2PgoJPGg0PlNlZSBBbHNvPC9oND4KCQk8dWw+CgkJCTxsaT48YSBocmVmPSJlbnVtX3BhcmFtcy5odG1sIj5CT09TVF9QUF9FTlVNX1BBUkFNUzwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0ibGltaXRfcmVwZWF0Lmh0bWwiPkJPT1NUX1BQX0xJTUlUX1JFUEVBVDwvYT48L2xpPgoJCTwvdWw+Cgk8aDQ+UmVxdWlyZW1lbnRzPC9oND4KCQk8ZGl2PgoJCQk8Yj5IZWFkZXI6PC9iPiAmbmJzcDs8YSBocmVmPSIuLi9oZWFkZXJzL3JlcGV0aXRpb24vZW51bV9wYXJhbXMuaHRtbCI+Jmx0O2Jvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fcGFyYW1zLmhwcCZndDs8L2E+CgkJPC9kaXY+Cgk8aDQ+U2FtcGxlIENvZGU8L2g0Pgo8ZGl2IGlkPSJzYW1wbGUiPjxwcmU+CiNpbmNsdWRlICZsdDs8YSBocmVmPSIuLi9oZWFkZXJzL2FyaXRobWV0aWMvaW5jLmh0bWwiPmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL2luYy5ocHA8L2E+Jmd0OwojaW5jbHVkZSAmbHQ7PGEgaHJlZj0iLi4vaGVhZGVycy9yZXBldGl0aW9uL2VudW1fcGFyYW1zLmh0bWwiPmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fcGFyYW1zLmhwcDwvYT4mZ3Q7CiNpbmNsdWRlICZsdDs8YSBocmVmPSIuLi9oZWFkZXJzL3JlcGV0aXRpb24vcmVwZWF0Lmh0bWwiPmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL3JlcGVhdC5ocHA8L2E+Jmd0OwoKI2RlZmluZSBNQUNSTyh6LCBuLCBfKSBcCiAgIHRlbXBsYXRlJmx0OyBcCiAgICAgIDxhIGhyZWY9ImVudW1fcGFyYW1zX3ouaHRtbCI+Qk9PU1RfUFBfRU5VTV9QQVJBTVNfWjwvYT4oeiwgPGEgaHJlZj0iaW5jLmh0bWwiPkJPT1NUX1BQX0lOQzwvYT4obiksIGNsYXNzIFQpIFwKICAgJmd0OyBjbGFzcyBYICMjIG4geyBcCiAgICAgIC8qIC4uLiAqLyBcCiAgIH07IFwKICAgLyoqLwoKPGEgaHJlZj0icmVwZWF0Lmh0bWwiPkJPT1NUX1BQX1JFUEVBVDwvYT4oMiwgTUFDUk8sIG5pbCkKLyoKICAgZXhwYW5kcyB0by4uLgogICB0ZW1wbGF0ZSZsdDtjbGFzcyBUMCZndDsgY2xhc3MgWDAgeyB9OwogICB0ZW1wbGF0ZSZsdDtjbGFzcyBUMCwgY2xhc3MgVDEmZ3Q7IGNsYXNzIFgxIHsgfTsKKi8KPC9wcmU+PC9kaXY+Cgk8aHIgc2l6ZT0iMSI+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPGk+qSBDb3B5cmlnaHQgPGEgaHJlZj0iaHR0cDovL3d3dy5ob3VzZW1hcnF1ZS5jb20iIHRhcmdldD0iX3RvcCI+SG91c2VtYXJxdWUgT3k8L2E+IDIwMDI8L2k+CgkJPC9icj48aT6pIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMjwvaT4KCTwvZGl2PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsiPgoJCTxwPjxzbWFsbD5EaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKCQlhY2NvbXBhbnlpbmcgZmlsZSA8YSBocmVmPSIuLi8uLi8uLi8uLi9MSUNFTlNFXzFfMC50eHQiPkxJQ0VOU0VfMV8wLnR4dDwvYT4gb3IKCQljb3B5IGF0IDxhIGhyZWY9CgkJImh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCI+d3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQ8L2E+KTwvc21hbGw+PC9wPgoJPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=