PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX1RVUExFX1JFVkVSU0U8L3RpdGxlPgoJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzLmNzcyI+CjwvaGVhZD4KPGJvZHk+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogIDBweDsiPgoJCVRoZSA8Yj5CT09TVF9QUF9UVVBMRV9SRVZFUlNFPC9iPiBtYWNybyByZXZlcnNlcyBhIDxpPnR1cGxlPC9pPiBvZiB0aGUgc3BlY2lmaWVkIHNpemUuCgk8L2Rpdj4KCTxoND5Vc2FnZTwvaDQ+CgkJPGRpdiBjbGFzcz0iY29kZSI+CgkJCTxiPkJPT1NUX1BQX1RVUExFX1JFVkVSU0U8L2I+KDxpPnNpemU8L2k+LCA8aT50dXBsZTwvaT4pCgkJPC9kaXY+Cgk8aDQ+QXJndW1lbnRzPC9oND4KCQk8ZGw+CgkJCTxkdD5zaXplPC9kdD4KCQkJPGRkPgoJCQkJVGhlIHNpemUgb2YgdGhlIDxpPnR1cGxlPC9pPiB0byBiZSByZXZlcnNlZC4mbmJzcDsKCQkJCVZhbGlkIDxpPnR1cGxlPC9pPiBzaXplcyByYW5nZSBmcm9tIDxpPjA8L2k+IHRvIDxiPkJPT1NUX1BQX0xJTUlUX1RVUExFPC9iPi4mbmJzcDsKCQkJPC9kZD4KCQkJPGR0PnR1cGxlPC9kdD4KCQkJPGRkPgoJCQkJVGhlIDxpPnR1cGxlPC9pPiB0byBiZSByZXZlcnNlZC4KCQkJPC9kZD4KCQk8L2RsPgoJPGg0PlJlbWFya3M8L2g0PgoJCTxkaXY+CgkJCVRoZSA8aT5zaXplPC9pPiBhcmd1bWVudCBtdXN0IGJlIHRoZSBhY3R1YWwgc2l6ZSBvZiB0aGUgPGk+dHVwbGU8L2k+LgoJCTwvZGl2PgoJPGg0PlNlZSBBbHNvPC9oND4KCQk8dWw+CgkJCTxsaT48YSBocmVmPSJsaW1pdF90dXBsZS5odG1sIj5CT09TVF9QUF9MSU1JVF9UVVBMRTwvYT48L2xpPgoJCTwvdWw+Cgk8aDQ+UmVxdWlyZW1lbnRzPC9oND4KCQk8ZGl2PgoJCQk8Yj5IZWFkZXI6PC9iPiAmbmJzcDs8YSBocmVmPSIuLi9oZWFkZXJzL3R1cGxlL3JldmVyc2UuaHRtbCI+Jmx0O2Jvb3N0L3ByZXByb2Nlc3Nvci90dXBsZS9yZXZlcnNlLmhwcCZndDs8L2E+CgkJPC9kaXY+Cgk8aDQ+U2FtcGxlIENvZGU8L2g0Pgo8ZGl2PjxwcmU+CiNpbmNsdWRlICZsdDs8YSBocmVmPSIuLi9oZWFkZXJzL3R1cGxlL3JldmVyc2UuaHRtbCI+Ym9vc3QvcHJlcHJvY2Vzc29yL3R1cGxlL3JldmVyc2UuaHBwPC9hPiZndDsKCjxhIGhyZWY9InR1cGxlX3JldmVyc2UuaHRtbCI+Qk9PU1RfUFBfVFVQTEVfUkVWRVJTRTwvYT4oMywgKHgsIHksIHopKSAvLyBleHBhbmRzIHRvICh6LCB5LCB4KQo8L3ByZT48L2Rpdj4KCTxociBzaXplPSIxIj4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwcHg7Ij4KCQk8aT6pIENvcHlyaWdodCA8YSBocmVmPSJodHRwOi8vd3d3LmhvdXNlbWFycXVlLmNvbSIgdGFyZ2V0PSJfdG9wIj5Ib3VzZW1hcnF1ZSBPeTwvYT4gMjAwMjwvaT4KCQk8L2JyPjxpPqkgQ29weXJpZ2h0IFBhdWwgTWVuc29uaWRlcyAyMDAyPC9pPgoJPC9kaXY+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPHA+PHNtYWxsPkRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQoJCWFjY29tcGFueWluZyBmaWxlIDxhIGhyZWY9Ii4uLy4uLy4uLy4uL0xJQ0VOU0VfMV8wLnR4dCI+TElDRU5TRV8xXzAudHh0PC9hPiBvcgoJCWNvcHkgYXQgPGEgaHJlZj0KCQkiaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0Ij53d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dDwvYT4pPC9zbWFsbD48L3A+Cgk8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==