PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX0VOVU1fU0hJRlRFRF9QQVJBTVM8L3RpdGxlPgoJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzLmNzcyI+CjwvaGVhZD4KPGJvZHk+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogIDBweDsiPgoJCVRoZSA8Yj5CT09TVF9QUF9FTlVNX1NISUZURURfUEFSQU1TPC9iPiBtYWNybyBnZW5lcmF0ZXMgYSBjb21tYS1zZXBhcmF0ZWQsIHNoaWZ0ZWQgbGlzdCBvZiBwYXJhbWV0ZXJzLgoJPC9kaXY+Cgk8aDQ+VXNhZ2U8L2g0PgoJCTxkaXYgY2xhc3M9ImNvZGUiPgoJCQk8Yj5CT09TVF9QUF9FTlVNX1NISUZURURfUEFSQU1TPC9iPig8aT5jb3VudDwvaT4sIDxpPnBhcmFtPC9pPikKCQk8L2Rpdj4KCTxoND5Bcmd1bWVudHM8L2g0PgoJCTxkbD4KCQkJPGR0PmNvdW50PC9kdD4KCQkJPGRkPgoJCQkJVGhlIG51bWJlciBvZiBwYXJhbWV0ZXJzIHRvIGdlbmVyYXRlLiZuYnNwOwoJCQkJVmFsaWQgdmFsdWVzIHJhbmdlIGZyb20gPGk+MDwvaT4gdG8gPGI+Qk9PU1RfUFBfTElNSVRfUkVQRUFUPC9iPi4KCQkJPC9kZD4KCQkJPGR0PnBhcmFtPC9kdD4KCQkJPGRkPgoJCQkJVGhlIHRleHQgb2YgdGhlIHBhcmFtZXRlci4mbmJzcDsKCQkJCTxiPkJPT1NUX1BQX0VOVU1fU0hJRlRFRF9QQVJBTVM8L2I+IGNvbmNhdGVuYXRlcyBudW1iZXJzIHJhbmdpbmcgZnJvbSA8aT4xPC9pPiB0byA8aT5jb3VudDwvaT4gLSA8aT4xPC9pPgoJCQkJdG8gZ2VuZXJhdGUgcGFyYW1ldGVycy4KCQkJPC9kZD4KCQk8L2RsPgoJPGg0PlJlbWFya3M8L2g0PgoJCTxkaXY+CgkJCVRoaXMgbWFjcm8gZXhwYW5kcyB0byB0aGUgY29tbWEtc2VwYXJhdGVkIHNlcXVlbmNlOgoJCQk8ZGl2PgoJCQkJPGk+cGFyYW08L2k+ICMjIDxpPjE8L2k+LCAuLi4gPGk+cGFyYW08L2k+ICMjIDxpPmNvdW50PC9pPiAtIDxpPjE8L2k+CgkJCTwvZGl2PgoJCTwvZGl2PgoJCTxkaXY+CgkJCVRoaXMgbWFjcm8gZmFjaWxpdGF0ZXMgYSB0eXBpY2FsIHVzYWdlIG9mIHRoZSBsaWJyYXJ5LiZuYnNwOwoJCQlTaGlmdGVkIHBhcmFtZXRlciBsaXN0cyBhcmUgY29tbW9uIGluIHRlbXBsYXRlIG1ldGFwcm9ncmFtcy4KCQk8L2Rpdj4KCQk8ZGl2PgoJCQlUbyB1c2UgdGhlIDxpPno8L2k+IHBhcmFtZXRlciBwYXNzZWQgZnJvbSBvdGhlciBtYWNyb3MgdGhhdCB1c2UgPGI+Qk9PU1RfUFBfUkVQRUFUPC9iPiwgc2VlIDxiPkJPT1NUX1BQX0VOVU1fU0hJRlRFRF9QQVJBTVNfWjwvYj4uCgkJPC9kaXY+CgkJPGRpdj4KCQkJUHJldmlvdXNseSwgdGhpcyBtYWNybyBjb3VsZCBub3QgYmUgdXNlZCByZWN1cnNpdmVseSBpbnNpZGUgPGI+Qk9PU1RfUFBfUkVQRUFUPC9iPi4mbmJzcDsKCQkJVGhpcyBsaW1pdGF0aW9uIG5vIGxvbmdlciBleGlzdHMsIGFzIHRoZSBsaWJyYXJ5IGNhbiBhdXRvbWF0aWNhbGx5IGRldGVjdCB0aGUgbmV4dCBhdmFpbGFibGUgcmVwZXRpdGlvbiBkZXB0aC4KCQk8L2Rpdj4KCTxoND5TZWUgQWxzbzwvaDQ+CgkJPHVsPgoJCQk8bGk+PGEgaHJlZj0ibGltaXRfcmVwZWF0Lmh0bWwiPkJPT1NUX1BQX0xJTUlUX1JFUEVBVDwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iZW51bV9zaGlmdGVkX3BhcmFtc196Lmh0bWwiPkJPT1NUX1BQX1NISUZURURfRU5VTV9QQVJBTVNfPGk+ejwvaT48L2E+PC9saT4KCQk8L3VsPgoJPGg0PlJlcXVpcmVtZW50czwvaDQ+CgkJPGRpdj4KCQkJPGI+SGVhZGVyOjwvYj4gJm5ic3A7PGEgaHJlZj0iLi4vaGVhZGVycy9yZXBldGl0aW9uL2VudW1fc2hpZnRlZF9wYXJhbXMuaHRtbCI+Jmx0O2Jvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fc2hpZnRlZF9wYXJhbXMuaHBwJmd0OzwvYT4KCQk8L2Rpdj4KCTxoND5TYW1wbGUgQ29kZTwvaDQ+CjxkaXY+PHByZT4KI2luY2x1ZGUgJmx0OzxhIGhyZWY9Ii4uL2hlYWRlcnMvcmVwZXRpdGlvbi9lbnVtX3NoaWZ0ZWRfcGFyYW1zLmh0bWwiPmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fc2hpZnRlZF9wYXJhbXMuaHBwPC9hPiZndDsKCjxhIGhyZWY9ImVudW1fc2hpZnRlZF9wYXJhbXMuaHRtbCI+Qk9PU1RfUFBfRU5VTV9TSElGVEVEX1BBUkFNUzwvYT4oMywgY2xhc3MgVCkgLy8gZXhwYW5kcyB0byBjbGFzcyBUMSwgY2xhc3MgVDIKPC9wcmU+PC9kaXY+Cgk8aHIgc2l6ZT0iMSI+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPGk+qSBDb3B5cmlnaHQgPGEgaHJlZj0iaHR0cDovL3d3dy5ob3VzZW1hcnF1ZS5jb20iIHRhcmdldD0iX3RvcCI+SG91c2VtYXJxdWUgT3k8L2E+IDIwMDI8L2k+CgkJPC9icj48aT6pIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMjwvaT4KCTwvZGl2PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsiPgoJCTxwPjxzbWFsbD5EaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKCQlhY2NvbXBhbnlpbmcgZmlsZSA8YSBocmVmPSIuLi8uLi8uLi8uLi9MSUNFTlNFXzFfMC50eHQiPkxJQ0VOU0VfMV8wLnR4dDwvYT4gb3IKCQljb3B5IGF0IDxhIGhyZWY9CgkJImh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCI+d3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQ8L2E+KTwvc21hbGw+PC9wPgoJPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=