PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX0FSUkFZX0lOU0VSVDwvdGl0bGU+Cgk8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMuY3NzIj4KPC9oZWFkPgo8Ym9keT4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAgMHB4OyI+CgkJVGhlIDxiPkJPT1NUX1BQX0FSUkFZX0lOU0VSVDwvYj4gbWFjcm8gaW5zZXJ0cyBhbiBlbGVtZW50IGludG8gYW4gPGk+YXJyYXk8L2k+LgoJPC9kaXY+Cgk8aDQ+VXNhZ2U8L2g0PgoJCTxkaXYgY2xhc3M9ImNvZGUiPgoJCQk8Yj5CT09TVF9QUF9BUlJBWV9JTlNFUlQ8L2I+KDxpPmFycmF5PC9pPiwgPGk+aTwvaT4sIDxpPmVsZW08L2k+KQoJCTwvZGl2PgoJPGg0PkFyZ3VtZW50czwvaDQ+CgkJPGRsPgoJCQk8ZHQ+YXJyYXk8L2R0PgoJCQk8ZGQ+CgkJCQlUaGUgPGk+YXJyYXk8L2k+IGludG8gd2hpY2ggYW4gZWxlbWVudCBpcyB0byBiZSBpbnNlcnRlZC4KCQkJPC9kZD4KCQkJPGR0Pmk8L2R0PgoJCQk8ZGQ+CgkJCQlUaGUgemVyby1iYXNlZCBwb3NpdGlvbiBpbiA8aT5hcnJheTwvaT4gd2hlcmUgYW4gZWxlbWVudCBpcyB0byBiZSBpbnNlcnRlZC4mbmJzcDsKCQkJCVZhbGlkIHZhbHVlcyByYW5nZSBmcm9tIDxpPjA8L2k+IHRvIDxiPkJPT1NUX1BQX0FSUkFZX1NJWkU8L2I+KDxpPmFycmF5PC9pPikuCgkJCTwvZGQ+CgkJCTxkdD5lbGVtPC9kdD4KCQkJPGRkPgoJCQkJVGhlIGVsZW1lbnQgdG8gaW5zZXJ0LgoJCQk8L2RkPgoJCTwvZGw+Cgk8aDQ+UmVtYXJrczwvaDQ+CgkJPGRpdj4KCQkJVGhpcyBtYWNybyBpbnNlcnRzIDxpPmVsZW08L2k+IGJlZm9yZSB0aGUgZWxlbWVudCBhdCBpbmRleCA8aT5pPC9pPi4KCQk8L2Rpdj4KCQk8ZGl2PgoJCQlJZiB0aGUgb3BlcmF0aW9uIGF0dGVtcHRzIHRvIGNyZWF0ZSBhbiA8aT5hcnJheTwvaT4gdGhhdCBpcyBsYXJnZXIgdGhhbiA8Yj5CT09TVF9QUF9MSU1JVF9UVVBMRTwvYj4sCgkJCXRoZSByZXN1bHQgaXMgdW5kZWZpbmVkLgoJCTwvZGl2PgoJCTxkaXY+CgkJCVRoaXMgbWFjcm8gdXNlcyA8Yj5CT09TVF9QUF9XSElMRTwvYj4gaW50ZXJhbGx5LiZuYnNwOwoJCQlUaGVyZWZvcmUsIHRvIHVzZSB0aGUgPGk+ZDwvaT4gcGFyYW1ldGVyIHBhc3NlZCBmcm9tIG90aGVyIG1hY3JvcyB0aGF0IHVzZSA8Yj5CT09TVF9QUF9XSElMRTwvYj4sCgkJCXNlZSA8Yj5CT09TVF9QUF9BUlJBWV9JTlNFUlRfRDwvYj4uCgkJPC9kaXY+Cgk8aDQ+U2VlIEFsc288L2g0PgoJCTx1bD4KCQkJPGxpPjxhIGhyZWY9ImFycmF5X2luc2VydF9kLmh0bWwiPkJPT1NUX1BQX0FSUkFZX0lOU0VSVF9EPC9hPjwvbGk+CgkJPC91bD4KCTxoND5SZXF1aXJlbWVudHM8L2g0PgoJCTxkaXY+CgkJCTxiPkhlYWRlcjo8L2I+ICZuYnNwOzxhIGhyZWY9Ii4uL2hlYWRlcnMvYXJyYXkvaW5zZXJ0Lmh0bWwiPiZsdDtib29zdC9wcmVwcm9jZXNzb3IvYXJyYXkvaW5zZXJ0LmhwcCZndDs8L2E+CgkJPC9kaXY+Cgk8aDQ+U2FtcGxlIENvZGU8L2g0Pgo8ZGl2PjxwcmU+CiNpbmNsdWRlICZsdDs8YSBocmVmPSIuLi9oZWFkZXJzL2FycmF5L2luc2VydC5odG1sIj5ib29zdC9wcmVwcm9jZXNzb3IvYXJyYXkvaW5zZXJ0LmhwcDwvYT4mZ3Q7CgojZGVmaW5lIEFSUkFZICgzLCAoYSwgYiwgZCkpCgo8YSBocmVmPSJhcnJheV9pbnNlcnQuaHRtbCI+Qk9PU1RfUFBfQVJSQVlfSU5TRVJUPC9hPihBUlJBWSwgMiwgYykgLy8gZXhwYW5kcyB0byAoNCwgKGEsIGIsIGMsIGQpKQo8L3ByZT48L2Rpdj4KCTxociBzaXplPSIxIj4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwcHg7Ij4KCQk8aT6pIENvcHlyaWdodCA8YSBocmVmPSJodHRwOi8vd3d3LmhvdXNlbWFycXVlLmNvbSIgdGFyZ2V0PSJfdG9wIj5Ib3VzZW1hcnF1ZSBPeTwvYT4gMjAwMjwvaT4KCQk8L2JyPjxpPqkgQ29weXJpZ2h0IFBhdWwgTWVuc29uaWRlcyAyMDAyPC9pPgoJPC9kaXY+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPHA+PHNtYWxsPkRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQoJCWFjY29tcGFueWluZyBmaWxlIDxhIGhyZWY9Ii4uLy4uLy4uLy4uL0xJQ0VOU0VfMV8wLnR4dCI+TElDRU5TRV8xXzAudHh0PC9hPiBvcgoJCWNvcHkgYXQgPGEgaHJlZj0KCQkiaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0Ij53d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dDwvYT4pPC9zbWFsbD48L3A+Cgk8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==