PGh0bWw+Cgk8aGVhZD4KCQk8dGl0bGU+Qk9PU1RfUFBfU0VRX0ZJTFRFUjwvdGl0bGU+CgkJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzLmNzcyI+Cgk8L2hlYWQ+Cgk8Ym9keT4KCQk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogIDBweDsiPgoJCQlUaGUgPGI+Qk9PU1RfUFBfU0VRX0ZJTFRFUjwvYj4gbWFjcm8gZmlsdGVycyBhIDxpPnNlcTwvaT4gYWNjb3JkaW5nIHRvIGEgCgkJCXN1cHBsaWVkIGNyaXRlcmlvbi4KCQk8L2Rpdj4KCQk8aDQ+CgkJCVVzYWdlCgkJPC9oND4KCQk8ZGl2IGNsYXNzPSJjb2RlIj4KCQkJPGI+Qk9PU1RfUFBfU0VRX0ZJTFRFUjwvYj4oPGk+cHJlZDwvaT4sIDxpPmRhdGE8L2k+LCA8aT5zZXE8L2k+KQoJCTwvZGl2PgoJCTxoND4KCQkJQXJndW1lbnRzCgkJPC9oND4KCQk8ZGw+CgkJCTxkdD5wcmVkPC9kdD4KCQkJPGRkPgoJCQkJQSB0ZXJuYXJ5IHByZWRpY2F0ZSBvZiB0aGUgZm9ybSA8aT5wcmVkPC9pPig8aT5zPC9pPiwgPGk+ZGF0YTwvaT4sIDxpPmVsZW08L2k+KS4mbmJzcDsgCgkJCQlUaGlzIHByZWRpY2F0ZSBpcyBleHBhbmRlZCBieSA8Yj5CT09TVF9QUF9TRVFfRklMVEVSPC9iPiBmb3IgZWFjaCBlbGVtZW50IGluIDxpPnNlcTwvaT4KCQkJCXdpdGggdGhlIG5leHQgYXZhaWxhYmxlIDxiPkJPT1NUX1BQX1NFUV9GT0xEX0xFRlQ8L2I+IGZvbGQgc3RlcCwgdGhlIGF1eGlsaWFyeSA8aT5kYXRhPC9pPiwgCgkJCQlhbmQgdGhlIGN1cnJlbnQgZWxlbWVudCBpbiA8aT5zZXE8L2k+LiZuYnNwOyBUaGlzIG1hY3JvIG11c3QgcmV0dXJuIGEgaW50ZWdyYWwgCgkJCQl2YWx1ZSBpbiB0aGUgcmFuZ2Ugb2YgPGk+MDwvaT4gdG8gPGI+Qk9PU1RfUFBfTElNSVRfTUFHPC9iPi4mbmJzcDsgSWYgdGhpcyAKCQkJCXByZWRpY2F0ZSBleHBhbmRzIHRvIG5vbi16ZXJvIGZvciBhIGNlcnRhaW4gZWxlbWVudCwgdGhhdCBlbGVtZW50IGlzIGluY2x1ZGVkIAoJCQkJaW4gdGhlIHJlc3VsdGluZyA8aT5zZXE8L2k+LgoJCQk8L2RkPgoJCQk8ZHQ+ZGF0YTwvZHQ+CgkJCTxkZD4KCQkJCUF1eGlsaWFyeSBkYXRhIHBhc3NlZCB0byA8aT5wcmVkPC9pPi4KCQkJPC9kZD4KCQkJPGR0PnNlcTwvZHQ+CgkJCTxkZD4KCQkJCVRoZSA8aT5zZXE8L2k+IHRvIGJlIGZpbHRlcmVkLgoJCQk8L2RkPgoJCTwvZGw+CgkJPGg0PgoJCQlSZW1hcmtzCgkJPC9oND4KCQk8ZGl2PgoJCQlUaGlzIG1hY3JvIGV4cGFuZHMgPGk+cHJlZDwvaT4gZm9yIGVhY2ggZWxlbWVudCBpbiA8aT5zZXE8L2k+LiZuYnNwOyBJdCBidWlsZHMgCgkJCWEgbmV3IDxpPnNlcTwvaT4gb3V0IG9mIGVhY2ggZWxlbWVudCBmb3Igd2hpY2ggPGk+cHJlZDwvaT4gcmV0dXJucyBub24temVyby4KCQk8L2Rpdj4KCQk8ZGl2PgoJCQlGb3IgbWF4aW11bSBlZmZpY2llbmN5LCB1c2UgPGI+Qk9PU1RfUFBfU0VRX0ZJTFRFUl9TPC9iPi4KCQk8L2Rpdj4KCQk8aDQ+CgkJCVNlZSBBbHNvCgkJPC9oND4KCQk8dWw+CgkJCTxsaT4KCQkJCTxhIGhyZWY9ImxpbWl0X21hZy5odG1sIj5CT09TVF9QUF9MSU1JVF9NQUc8L2E+PC9saT4KCQkJPGxpPgoJCQkJPGEgaHJlZj0ic2VxX2ZpbHRlcl9zLmh0bWwiPkJPT1NUX1BQX1NFUV9GSUxURVJfUzwvYT48L2xpPgoJCTwvdWw+CgkJPGg0PgoJCQlSZXF1aXJlbWVudHMKCQk8L2g0PgoJCTxkaXY+CgkJCTxiPkhlYWRlcjo8L2I+ICZuYnNwOzxhIGhyZWY9Ii4uL2hlYWRlcnMvc2VxL2ZpbHRlci5odG1sIj4mbHQ7Ym9vc3QvcHJlcHJvY2Vzc29yL3NlcS9maWx0ZXIuaHBwJmd0OzwvYT4KCQk8L2Rpdj4KCQk8aDQ+CgkJCVNhbXBsZSBDb2RlCgkJPC9oND4KCQk8ZGl2PgoJCQk8cHJlPgojaW5jbHVkZSAmbHQ7PGEgaHJlZj0iLi4vaGVhZGVycy9jb21wYXJpc29uL2xlc3NfZXF1YWwuaHRtbCI+Ym9vc3QvcHJlcHJvY2Vzc29yL2NvbXBhcmlzb24vbGVzc19lcXVhbC5ocHA8L2E+Jmd0OwojaW5jbHVkZSAmbHQ7PGEgaHJlZj0iLi4vaGVhZGVycy9zZXEvZmlsdGVyLmh0bWwiPmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvZmlsdGVyLmhwcDwvYT4mZ3Q7CgojZGVmaW5lIFNFUSAoMSkoMykoMikoNSkKCiNkZWZpbmUgUFJFRChzLCBkYXRhLCBlbGVtKSA8YSBocmVmPSJsZXNzX2VxdWFsLmh0bWwiPkJPT1NUX1BQX0xFU1NfRVFVQUw8L2E+KGVsZW0sIGRhdGEpCgo8YSBocmVmPSJzZXFfZmlsdGVyLmh0bWwiPkJPT1NUX1BQX1NFUV9GSUxURVI8L2E+KFBSRUQsIDMsIFNFUSkKICAgLy8gZXhwYW5kcyB0byAoMSkoMykoMikKPC9wcmU+CgkJPC9kaXY+Cgk8aHIgc2l6ZT0iMSI+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPGk+qSBDb3B5cmlnaHQgPGEgaHJlZj0iaHR0cDovL3d3dy5ob3VzZW1hcnF1ZS5jb20iIHRhcmdldD0iX3RvcCI+SG91c2VtYXJxdWUgT3k8L2E+IDIwMDI8L2k+CgkJPC9icj48aT6pIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMjwvaT4KCTwvZGl2PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsiPgoJCTxwPjxzbWFsbD5EaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKCQlhY2NvbXBhbnlpbmcgZmlsZSA8YSBocmVmPSIuLi8uLi8uLi8uLi9MSUNFTlNFXzFfMC50eHQiPkxJQ0VOU0VfMV8wLnR4dDwvYT4gb3IKCQljb3B5IGF0IDxhIGhyZWY9CgkJImh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCI+d3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQ8L2E+KTwvc21hbGw+PC9wPgoJPC9kaXY+Cgk8L2JvZHk+CjwvaHRtbD4K