PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJmciIgeG1sOmxhbmc9ImZyIj48aGVhZD4KPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4KPCEtLQogICAgICAgIFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYCiAgICAgICAgICAgICAgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHhtbCBzb3VyY2U6IERPIE5PVCBFRElUCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgLS0+Cjx0aXRsZT5MZXMgZXhwcmVzc2lvbnMgZGFucyBsZSBzZXJ2ZXVyIEhUVFAgQXBhY2hlIC0gU2VydmV1ciBBcGFjaGUgSFRUUCBWZXJzaW9uIDIuNTwvdGl0bGU+CjxsaW5rIGhyZWY9Ii4vc3R5bGUvY3NzL21hbnVhbC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJNYWluIHN0eWxlc2hlZXQiIC8+CjxsaW5rIGhyZWY9Ii4vc3R5bGUvY3NzL21hbnVhbC1sb29zZS0xMDBwYy5jc3MiIHJlbD0iYWx0ZXJuYXRlIHN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTm8gU2lkZWJhciAtIERlZmF1bHQgZm9udCBzaXplIiAvPgo8bGluayBocmVmPSIuL3N0eWxlL2Nzcy9tYW51YWwtcHJpbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJwcmludCIgdHlwZT0idGV4dC9jc3MiIC8+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi9zdHlsZS9jc3MvcHJldHRpZnkuY3NzIiAvPgo8c2NyaXB0IHNyYz0iLi9zdHlsZS9zY3JpcHRzL3ByZXR0aWZ5Lm1pbi5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KPC9zY3JpcHQ+Cgo8bGluayBocmVmPSIuL2ltYWdlcy9mYXZpY29uLmljbyIgcmVsPSJzaG9ydGN1dCBpY29uIiAvPjwvaGVhZD4KPGJvZHkgaWQ9Im1hbnVhbC1wYWdlIj48ZGl2IGlkPSJwYWdlLWhlYWRlciI+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuL21vZC8iPk1vZHVsZXM8L2E+IHwgPGEgaHJlZj0iLi9tb2QvcXVpY2tyZWZlcmVuY2UuaHRtbCI+RGlyZWN0aXZlczwvYT4gfCA8YSBocmVmPSJodHRwOi8vd2lraS5hcGFjaGUub3JnL2h0dHBkL0ZBUSI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4vZ2xvc3NhcnkuaHRtbCI+R2xvc3NhaXJlPC9hPiB8IDxhIGhyZWY9Ii4vc2l0ZW1hcC5odG1sIj5QbGFuIGR1IHNpdGU8L2E+PC9wPgo8cCBjbGFzcz0iYXBhY2hlIj5TZXJ2ZXVyIEFwYWNoZSBIVFRQIFZlcnNpb24gMi41PC9wPgo8aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2ZlYXRoZXIucG5nIiAvPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ1cCI+PGEgaHJlZj0iLi8iPjxpbWcgdGl0bGU9IiZsdDstIiBhbHQ9IiZsdDstIiBzcmM9Ii4vaW1hZ2VzL2xlZnQuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBpZD0icGF0aCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iPkFwYWNoZTwvYT4gJmd0OyA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy8iPlNlcnZldXIgSFRUUDwvYT4gJmd0OyA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9kb2NzLyI+RG9jdW1lbnRhdGlvbjwvYT4gJmd0OyA8YSBocmVmPSIuLyI+VmVyc2lvbiAyLjU8L2E+PC9kaXY+PGRpdiBpZD0icGFnZS1jb250ZW50Ij48ZGl2IGlkPSJwcmVhbWJsZSI+PGgxPkxlcyBleHByZXNzaW9ucyBkYW5zIGxlIHNlcnZldXIgSFRUUCBBcGFjaGU8L2gxPgo8ZGl2IGNsYXNzPSJ0b3BsYW5nIj4KPHA+PHNwYW4+TGFuZ3VlcyBEaXNwb25pYmxlczogPC9zcGFuPjxhIGhyZWY9Ii4vZW4vZXhwci5odG1sIiBocmVmbGFuZz0iZW4iIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iRW5nbGlzaCI+Jm5ic3A7ZW4mbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi9mci9leHByLmh0bWwiIHRpdGxlPSJGcmFu52FpcyI+Jm5ic3A7ZnImbmJzcDs8L2E+PC9wPgo8L2Rpdj4KCiAgICA8cD5IaXN0b3JpcXVlbWVudCwgaWwgZXhpc3RlIGRlIG5vbWJyZXVzZXMgdmFyaWFudGVzIGRhbnMgbGEgc3ludGF4ZQogICAgZGVzIGV4cHJlc3Npb25zIHBlcm1ldHRhbnQgZCdleHByaW1lciB1bmUgY29uZGl0aW9uIGRhbnMgbGVzCiAgICBkaWZm6XJlbnRzIG1vZHVsZXMgZHUgc2VydmV1ciBIVFRQIEFwYWNoZS4gwCBjZSB0aXRyZSwgZGVzIHRyYXZhdXggc29udAogICAgZW4gY291cnMgcG91ciBuJ3V0aWxpc2VyIHF1J3VuZSBzZXVsZSB2YXJpYW50ZSBub21t6WUKICAgIDxlbT5hcF9leHByPC9lbT4sIHBvdXIgdG91dGVzIGxlcyBkaXJlY3RpdmVzIGRlIGNvbmZpZ3VyYXRpb24uIENlCiAgICBkb2N1bWVudCBk6WNyaXQgbCdpbnRlcnBy6XRldXIgZCdleHByZXNzaW9ucyA8ZW0+YXBfZXhwcjwvZW0+LgogICAgPC9wPgogICAgPHA+TGUgdHlwZSBkJ2V4cHJlc3Npb24gPGVtPmFwX2V4cHI8L2VtPiBlc3QgYXBwZWzpIOAgcmVtcGxhY2VyIGxhCiAgICBwbHVwYXJ0IGRlcyBhdXRyZXMgdHlwZXMgZCdleHByZXNzaW9ucyBkYW5zIEhUVFBELiBQYXIgZXhlbXBsZSwgbGEKICAgIGRpcmVjdGl2ZSBvYnNvbOh0ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2Rfc3NsLmh0bWwjc3NscmVxdWlyZSI+U1NMUmVxdWlyZTwvYT48L2NvZGU+IHBldXQg6nRyZSByZW1wbGFj6WUgcGFyIGxhCiAgICBkaXJlY3RpdmUgPGEgaHJlZj0ibW9kL21vZF9hdXRoel9jb3JlLmh0bWwjcmVxZXhwciI+UmVxdWlyZQogICAgZXhwcjwvYT4uCiAgICA8L3A+CiAgPC9kaXY+CjxkaXYgaWQ9InF1aWNrdmlldyI+PHVsIGlkPSJ0b2MiPjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZ3JhbW1hciI+U3ludGF4ZSBlbiBGb3JtZSBkZSBCYWNrdXMtTmF1cjwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI3ZhcnMiPlZhcmlhYmxlczwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2Jpbm9wIj5PcOlyYXRldXJzIGJpbmFpcmVzPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjdW5ub3AiPk9w6XJhdGV1cnMgdW5haXJlczwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2Z1bmN0aW9ucyI+Rm9uY3Rpb25zPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZXhhbXBsZXMiPkV4ZW1wbGVzIGQnZXhwcmVzc2lvbnM8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNvdGhlciI+QXV0cmVzPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjc3NscmVxdWlyZSI+Q29tcGFyYWlzb24gYXZlYyBTU0xSZXF1aXJlPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjY29tcGF0aWJpbGl0eSI+SGlzdG9yaXF1ZSBkZSB2ZXJzaW9uPC9hPjwvbGk+CjwvdWw+PGgzPlZvaXIgYXVzc2k8L2gzPjx1bCBjbGFzcz0ic2VlYWxzbyI+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL2NvcmUuaHRtbCNpZiI+SWY8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL2NvcmUuaHRtbCNpZiI+Jmx0O0lmJmd0OzwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvY29yZS5odG1sI2Vsc2VpZiI+Jmx0O0Vsc2VJZiZndDs8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL2NvcmUuaHRtbCNlbHNlIj4mbHQ7RWxzZSZndDs8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL2NvcmUuaHRtbCNlcnJvcmRvY3VtZW50Ij5FcnJvckRvY3VtZW50PC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfYWxpYXMuaHRtbCNhbGlhcyI+QWxpYXM8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9hbGlhcy5odG1sI3NjcmlwdGFsaWFzIj5TY3JpcHRBbGlhczwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2FsaWFzLmh0bWwjcmVkaXJlY3QiPlJlZGlyZWN0PC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfYXV0aF9iYXNpYy5odG1sI2F1dGhiYXNpY2Zha2UiPkF1dGhCYXNpY0Zha2U8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9hdXRoX2Zvcm0uaHRtbCNhdXRoZm9ybWxvZ2lucmVxdWlyZWRsb2NhdGlvbiI+QXV0aEZvcm1Mb2dpblJlcXVpcmVkTG9jYXRpb248L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9hdXRoX2Zvcm0uaHRtbCNhdXRoZm9ybWxvZ2luc3VjY2Vzc2xvY2F0aW9uIj5BdXRoRm9ybUxvZ2luU3VjY2Vzc0xvY2F0aW9uPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfYXV0aF9mb3JtLmh0bWwjYXV0aGZvcm1sb2dvdXRsb2NhdGlvbiI+QXV0aEZvcm1Mb2dvdXRMb2NhdGlvbjwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2F1dGhuX2NvcmUuaHRtbCNhdXRobmFtZSI+QXV0aE5hbWU8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9hdXRobl9jb3JlLmh0bWwjYXV0aHR5cGUiPkF1dGhUeXBlPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfcmV3cml0ZS5odG1sI3Jld3JpdGVjb25kIj5SZXdyaXRlQ29uZDwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX3NldGVudmlmLmh0bWwjc2V0ZW52aWZleHByIj5TZXRFbnZJZkV4cHI8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9oZWFkZXJzLmh0bWwjaGVhZGVyIj5IZWFkZXI8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9oZWFkZXJzLmh0bWwjcmVxdWVzdGhlYWRlciI+UmVxdWVzdEhlYWRlcjwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2ZpbHRlci5odG1sI2ZpbHRlcnByb3ZpZGVyIj5GaWx0ZXJQcm92aWRlcjwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2NyeXB0by5odG1sI2NyeXB0b2tleSI+Q3J5cHRvS2V5PC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfY3J5cHRvLmh0bWwjY3J5cHRvaXYiPkNyeXB0b0lWPC9hPjwvY29kZT48L2xpPjxsaT48YSBocmVmPSJtb2QvbW9kX2F1dGh6X2NvcmUuaHRtbCNyZXFleHByIj5SZXF1aXJlIGV4cHI8L2E+PC9saT48bGk+PGEgaHJlZj0ibW9kL21vZF9hdXRobnpfbGRhcC5odG1sI3JlcXVzZXIiPlJlcXVpcmUgbGRhcC11c2VyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im1vZC9tb2RfYXV0aG56X2xkYXAuaHRtbCNyZXFncm91cCI+UmVxdWlyZSBsZGFwLWdyb3VwPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im1vZC9tb2RfYXV0aG56X2xkYXAuaHRtbCNyZXFkbiI+UmVxdWlyZSBsZGFwLWRuPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im1vZC9tb2RfYXV0aG56X2xkYXAuaHRtbCNyZXFhdHRyaWJ1dGUiPlJlcXVpcmUgbGRhcC1hdHRyaWJ1dGU8L2E+PC9saT48bGk+PGEgaHJlZj0ibW9kL21vZF9hdXRobnpfbGRhcC5odG1sI3JlcWZpbHRlciI+UmVxdWlyZSBsZGFwLWZpbHRlcjwvYT48L2xpPjxsaT48YSBocmVmPSJtb2QvbW9kX2F1dGhuel9sZGFwLmh0bWwjcmVxc2VhcmNoIj5SZXF1aXJlIGxkYXAtc2VhcmNoPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im1vZC9tb2RfYXV0aHpfZGJkLmh0bWwjcmVxZ3JvdXAiPlJlcXVpcmUgZGJkLWdyb3VwPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im1vZC9tb2RfYXV0aHpfZGJtLmh0bWwjcmVxZ3JvdXAiPlJlcXVpcmUgZGJtLWdyb3VwPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im1vZC9tb2RfYXV0aHpfZ3JvdXBmaWxlLmh0bWwjcmVxZ3JvdXAiPlJlcXVpcmUgZ3JvdXA8L2E+PC9saT48bGk+PGEgaHJlZj0ibW9kL21vZF9hdXRoel9ob3N0Lmh0bWwjcmVxaG9zdCI+UmVxdWlyZSBob3N0PC9hPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9zc2wuaHRtbCNzc2xyZXF1aXJlIj5TU0xSZXF1aXJlPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfbG9nX2RlYnVnLmh0bWwjbG9nbWVzc2FnZSI+TG9nTWVzc2FnZTwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2luY2x1ZGUuaHRtbCI+bW9kX2luY2x1ZGU8L2E+PC9jb2RlPjwvbGk+PGxpPjxhIGhyZWY9IiNjb21tZW50c19zZWN0aW9uIj5Db21tZW50YWlyZXM8L2E+PC9saT48L3VsPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9ImdyYW1tYXIiIGlkPSJncmFtbWFyIj5TeW50YXhlIGVuIEZvcm1lIGRlIEJhY2t1cy1OYXVyPC9hPjwvaDI+CiAgICAKICAgICAgPHA+TGEgPGEgaHJlZj0iaHR0cDovL2ZyLndpa2lwZWRpYS5vcmcvd2lraS9Gb3JtZV9kZV9CYWNrdXMtTmF1ciI+Rm9ybWUgZGUgQmFja3VzLU5hdXI8L2E+CiAgICAgIChzb3V2ZW50IGFiculn6WUgZW4gQk5GLCBkZSBsJ2FuZ2xhaXMgQmFja3VzLU5hdXIgRm9ybSkgZXN0IHVuZSBub3RhdGlvbiBwZXJtZXR0YW50IGRlIGTpY3JpcmUKICAgICAgbGVzIHLoZ2xlcyBzeW50YXhpcXVlcyBkZXMgbGFuZ2FnZXMgZGUgcHJvZ3JhbW1hdGlvbi4gRW4KICAgICAgZ+lu6XJhbCwgbGVzIGV4cHJlc3Npb25zIHJlcHLpc2VudGVudCBkZXMgdmFsZXVycyBib29s6WVubmVzLiBEYW5zCiAgICAgIGNlIGNhcywgbGUgcG9pbnQgZGUgZOlwYXJ0IGRlIGxhIEJORiBlc3QgPGNvZGU+ZXhwcjwvY29kZT4uCiAgICAgIENlcGVuZGFudCwgY2VydGFpbmVzIGRpcmVjdGl2ZXMgY29tbWUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2xvZ19kZWJ1Zy5odG1sI2xvZ21lc3NhZ2UiPkxvZ01lc3NhZ2U8L2E+PC9jb2RlPiB1dGlsaXNlbnQgY29tbWUKICAgICAgcGFyYW3odHJlcyBkZXMgZXhwcmVzc2lvbnMgcXVpIHJlcHLpc2VudGVudCBkZXMgY2hh7m5lcyBkZQogICAgICBjYXJhY3TocmVzLiBEYW5zIGNlIGNhcywgbGUgcG9pbnQgZGUgZOlwYXJ0IGRlIGxhIEJORiBlc3QKICAgICAgPGNvZGU+c3RyaW5nPC9jb2RlPi4KICAgICAgPC9wPgo8YmxvY2txdW90ZT4KPHByZT5leHByICAgICAgICA6Oj0gIjxzdHJvbmc+dHJ1ZTwvc3Ryb25nPiIgfCAiPHN0cm9uZz5mYWxzZTwvc3Ryb25nPiIKICAgICAgICAgICAgICB8ICI8c3Ryb25nPiE8L3N0cm9uZz4iIGV4cHIKICAgICAgICAgICAgICB8IGV4cHIgIjxzdHJvbmc+JmFtcDsmYW1wOzwvc3Ryb25nPiIgZXhwcgogICAgICAgICAgICAgIHwgZXhwciAiPHN0cm9uZz58fDwvc3Ryb25nPiIgZXhwcgogICAgICAgICAgICAgIHwgIjxzdHJvbmc+KDwvc3Ryb25nPiIgZXhwciAiPHN0cm9uZz4pPC9zdHJvbmc+IgogICAgICAgICAgICAgIHwgY29tcAoKY29tcCAgICAgICAgOjo9IHN0cmluZ2NvbXAKICAgICAgICAgICAgICB8IGludGVnZXJjb21wCiAgICAgICAgICAgICAgfCB1bmFyeW9wIHdvcmQKICAgICAgICAgICAgICB8IHdvcmQgYmluYXJ5b3Agd29yZAogICAgICAgICAgICAgIHwgd29yZCAiPHN0cm9uZz5pbjwvc3Ryb25nPiIgIjxzdHJvbmc+ezwvc3Ryb25nPiIgd29yZGxpc3QgIjxzdHJvbmc+fTwvc3Ryb25nPiIKICAgICAgICAgICAgICB8IHdvcmQgIjxzdHJvbmc+aW48L3N0cm9uZz4iIGxpc3RmdW5jdGlvbgogICAgICAgICAgICAgIHwgd29yZCAiPHN0cm9uZz49fjwvc3Ryb25nPiIgcmVnZXgKICAgICAgICAgICAgICB8IHdvcmQgIjxzdHJvbmc+IX48L3N0cm9uZz4iIHJlZ2V4CgoKc3RyaW5nY29tcCAgOjo9IHdvcmQgIjxzdHJvbmc+PT08L3N0cm9uZz4iIHdvcmQKICAgICAgICAgICAgICB8IHdvcmQgIjxzdHJvbmc+IT08L3N0cm9uZz4iIHdvcmQKICAgICAgICAgICAgICB8IHdvcmQgIjxzdHJvbmc+Jmx0Ozwvc3Ryb25nPiIgIHdvcmQKICAgICAgICAgICAgICB8IHdvcmQgIjxzdHJvbmc+Jmx0Oz08L3N0cm9uZz4iIHdvcmQKICAgICAgICAgICAgICB8IHdvcmQgIjxzdHJvbmc+Jmd0Ozwvc3Ryb25nPiIgIHdvcmQKICAgICAgICAgICAgICB8IHdvcmQgIjxzdHJvbmc+Jmd0Oz08L3N0cm9uZz4iIHdvcmQKCmludGVnZXJjb21wIDo6PSB3b3JkICI8c3Ryb25nPi1lcTwvc3Ryb25nPiIgd29yZCB8IHdvcmQgIjxzdHJvbmc+ZXE8L3N0cm9uZz4iIHdvcmQKICAgICAgICAgICAgICB8IHdvcmQgIjxzdHJvbmc+LW5lPC9zdHJvbmc+IiB3b3JkIHwgd29yZCAiPHN0cm9uZz5uZTwvc3Ryb25nPiIgd29yZAogICAgICAgICAgICAgIHwgd29yZCAiPHN0cm9uZz4tbHQ8L3N0cm9uZz4iIHdvcmQgfCB3b3JkICI8c3Ryb25nPmx0PC9zdHJvbmc+IiB3b3JkCiAgICAgICAgICAgICAgfCB3b3JkICI8c3Ryb25nPi1sZTwvc3Ryb25nPiIgd29yZCB8IHdvcmQgIjxzdHJvbmc+bGU8L3N0cm9uZz4iIHdvcmQKICAgICAgICAgICAgICB8IHdvcmQgIjxzdHJvbmc+LWd0PC9zdHJvbmc+IiB3b3JkIHwgd29yZCAiPHN0cm9uZz5ndDwvc3Ryb25nPiIgd29yZAogICAgICAgICAgICAgIHwgd29yZCAiPHN0cm9uZz4tZ2U8L3N0cm9uZz4iIHdvcmQgfCB3b3JkICI8c3Ryb25nPmdlPC9zdHJvbmc+IiB3b3JkCgp3b3JkbGlzdCAgICA6Oj0gd29yZAogICAgICAgICAgICAgIHwgd29yZGxpc3QgIjxzdHJvbmc+LDwvc3Ryb25nPiIgd29yZAoKd29yZCAgICAgICAgOjo9IHdvcmQgIjxzdHJvbmc+Ljwvc3Ryb25nPiIgd29yZAogICAgICAgICAgICAgIHwgZGlnaXQKICAgICAgICAgICAgICB8ICI8c3Ryb25nPic8L3N0cm9uZz4iIHN0cmluZyAiPHN0cm9uZz4nPC9zdHJvbmc+IgogICAgICAgICAgICAgIHwgIjxzdHJvbmc+Ijwvc3Ryb25nPiIgc3RyaW5nICI8c3Ryb25nPiI8L3N0cm9uZz4iCiAgICAgICAgICAgICAgfCB2YXJpYWJsZQoJICAgICAgfCByZWJhY2tyZWYKICAgICAgICAgICAgICB8IGZ1bmN0aW9uCgpzdHJpbmcgICAgICA6Oj0gc3RyaW5ncGFydAogICAgICAgICAgICAgIHwgc3RyaW5nIHN0cmluZ3BhcnQKCnN0cmluZ3BhcnQgIDo6PSBjc3RyaW5nCiAgICAgICAgICAgICAgfCB2YXJpYWJsZQoJICAgICAgfCByZWJhY2tyZWYKCmNzdHJpbmcgICAgIDo6PSAuLi4KZGlnaXQgICAgICAgOjo9IFswLTldKwoKdmFyaWFibGUgICAgOjo9ICI8c3Ryb25nPiV7PC9zdHJvbmc+IiB2YXJuYW1lICI8c3Ryb25nPn08L3N0cm9uZz4iCiAgICAgICAgICAgICAgfCAiPHN0cm9uZz4lezwvc3Ryb25nPiIgZnVuY25hbWUgIjxzdHJvbmc+Ojwvc3Ryb25nPiIgZnVuY2FyZ3MgIjxzdHJvbmc+fTwvc3Ryb25nPiIKCnJlYmFja3JlZiAgIDo6PSAiPHN0cm9uZz4kPC9zdHJvbmc+IiBbMC05XQoKZnVuY3Rpb24gICAgIDo6PSBmdW5jbmFtZSAiPHN0cm9uZz4oPC9zdHJvbmc+IiB3b3JkbGlzdCAiPHN0cm9uZz4pPC9zdHJvbmc+IgoKbGlzdGZ1bmN0aW9uIDo6PSBsaXN0ZnVuY25hbWUgIjxzdHJvbmc+KDwvc3Ryb25nPiIgd29yZCAiPHN0cm9uZz4pPC9zdHJvbmc+IjwvcHJlPgo8L2Jsb2NrcXVvdGU+CjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0idmFycyIgaWQ9InZhcnMiPlZhcmlhYmxlczwvYT48L2gyPgogICAgCgogICAgPHA+TCdpbnRlcnBy6XRldXIgZCdleHByZXNzaW9ucyBmb3Vybml0IHBsdXNpZXVycyB2YXJpYWJsZXMgZGUgbGEKICAgIGZvcm1lIDxjb2RlPiV7SFRUUF9IT1NUfTwvY29kZT4uIE5vdGV6IHF1ZSBsYSB2YWxldXIgZCd1bmUgdmFyaWFibGUKICAgIHBldXQgZOlwZW5kcmUgZGUgbGEgcGhhc2UgZHUgdHJhaXRlbWVudCBkZSBsYSByZXF16nRlIGF1IGNvdXJzIGRlCiAgICBsYXF1ZWxsZSBlbGxlIGVzdCDpdmFsdellLiBQYXIgZXhlbXBsZSwgdW5lIGV4cHJlc3Npb24gdXRpbGlz6WUgZGFucwogICAgdW5lIGRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj4mbHQ7SWYgJmd0OzwvY29kZT4gc2VyYSDpdmFsdellIGF2YW50CiAgICBsYSBwaGFzZSBkJ2F1dGhlbnRpZmljYXRpb24uIFBhciBjb25z6XF1ZW50LCBsYSB2YXJpYWJsZQogICAgPGNvZGU+JXtSRU1PVEVfVVNFUn08L2NvZGU+IG5lIHNlcmEgcGFzIGVuY29yZSBk6WZpbmllIOAgY2Ugc3RhZGUuPC9wPgoKICAgIDxwPkxlcyB2YXJpYWJsZXMgc3VpdmFudGVzIGNvbnRpZW5uZW50IGxhIHZhbGV1ciBkZSBsJ2VuLXTqdGUgZGUKICAgIHJlcXXqdGUgSFRUUCBjb3JyZXNwb25kYW50LiBMYSA8YSBocmVmPSIjZnVuY3Rpb25zIj5mb25jdGlvbjwvYT4KICAgIDxjb2RlPnJlcTwvY29kZT4gcGVybWV0IGQnZXh0cmFpcmUgbGVzIHZhbGV1cnMgZGVzIGF1dHJlcwogICAgZW4tdOp0ZXMuIEwndXRpbGlzYXRpb24gZGUgY2VzIHZhcmlhYmxlcyBwZXV0IHByb3ZvcXVlcgogICAgbCdham91dCBkdSBub20gZCdlbi106nRlIGNvcnJlc3BvbmRhbnQg4CBsJ2VuLXTqdGUgVmFyeSBkZSBsYQogICAgculwb25zZSBIVFRQLCBzYXVmIHNw6WNpZmljYXRpb24gY29udHJhaXJlIHBvdXIgbGEgZGlyZWN0aXZlCiAgICBxdWkgYWNjZXB0ZSBsJ2V4cHJlc3Npb24gY29tbWUgcGFyYW3odHJlLiBMYSA8YSBocmVmPSIjZnVuY3Rpb25zIj5mdW5jdGlvbjwvYT4gPGNvZGU+cmVxX25vdmFyeTwvY29kZT4gcGVybWV0IGRlCiAgICBtb2RpZmllciBjZSBjb21wb3J0ZW1lbnQuPC9wPgoKICAgIDx0YWJsZSBjbGFzcz0iYm9yZGVyZWQiPjx0ciBjbGFzcz0iaGVhZGVyIj48dGg+Tm9tPC90aD48L3RyPgo8dHI+PHRkPjxjb2RlPkhUVFBfQUNDRVBUPC9jb2RlPjwvdGQ+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5IVFRQX0NPT0tJRTwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+SFRUUF9GT1JXQVJERUQ8L2NvZGU+PC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPkhUVFBfSE9TVDwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+SFRUUF9QUk9YWV9DT05ORUNUSU9OPC9jb2RlPjwvdGQ+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5IVFRQX1JFRkVSRVI8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPkhUVFBfVVNFUl9BR0VOVDwvY29kZT48L3RkPjwvdHI+CjwvdGFibGU+CgogICAgPHA+QXV0cmVzIHZhcmlhYmxlcyBsaellcyBhdXggcmVxdep0ZXM8L3A+CgogICAgPHRhYmxlIGNsYXNzPSJib3JkZXJlZCI+PHRyIGNsYXNzPSJoZWFkZXIiPjx0aD5Ob208L3RoPjx0aD5EZXNjcmlwdGlvbjwvdGg+PC90cj4KPHRyPjx0ZD48Y29kZT5SRVFVRVNUX01FVEhPRDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MYSBt6XRob2RlIEhUVFAgZGUgbGEgcmVxdep0ZSBlbnRyYW50ZSAocGFyIGV4ZW1wbGUKCTxjb2RlPkdFVDwvY29kZT4pPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPlJFUVVFU1RfU0NIRU1FPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxlIHByb3RvY29sZSBhc3NvY2npIOAgbCdVUkkgZGUgbGEgcmVxdep0ZTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5SRVFVRVNUX1VSSTwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MYSBwYXJ0aWUgY2hlbWluIGRlIGwnVVJJIGRlIGxhIHJlcXXqdGU8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+RE9DVU1FTlRfVVJJPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPklkZW0gPGNvZGU+UkVRVUVTVF9VUkk8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlJFUVVFU1RfRklMRU5BTUU8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGUgY2hlbWluIGNvbXBsZXQgZGFucyBsZSBzeXN06G1lIGRlIGZpY2hpZXJzIGxvY2FsIGR1CglmaWNoaWVyIG91IGR1IHNjcmlwdCBjb3JyZXNwb25kYW50IOAgbGEgcmVxdep0ZSwgc2kgbGUgc2VydmV1cgoJbCdhIGToauAgZOl0ZXJtaW7pIOAgbCdpbnN0YW50IG/5IDxjb2RlPlJFUVVFU1RfRklMRU5BTUU8L2NvZGU+Cgllc3Qgculm6XJlbmPpZS4gRGFucyBsZSBjYXMgY29udHJhaXJlLCBjb21tZSBkYW5zIHVuCgljb250ZXh0ZSBkZSBzZXJ2ZXVyIHZpcnR1ZWwsIG3qbWUgdmFsZXVyIHF1ZSA8Y29kZT5SRVFVRVNUX1VSSTwvY29kZT4gPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPlNDUklQVF9GSUxFTkFNRTwvY29kZT48L3RkPgogICAgICAgIDx0ZD5JZGVudGlxdWUg4CA8Y29kZT5SRVFVRVNUX0ZJTEVOQU1FPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5MQVNUX01PRElGSUVEPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxhIGRhdGUgZXQgaGV1cmUgZGUgZGVybmnocmUgbW9kaWZpY2F0aW9uIGR1IGZpY2hpZXIgYXUKCWZvcm1hdCA8Y29kZT4yMDEwMTIzMTIzNTk1OTwvY29kZT4sIHNpIGVsbGUgZXN0IGTpauAgY29ubnVlIGR1CglzZXJ2ZXVyIGF1IG1vbWVudCBv+SA8Y29kZT5MQVNUX01PRElGSUVEPC9jb2RlPiBlc3Qgculm6XJlbmPpLgogICAgICAgIDwvdGQ+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5TQ1JJUFRfVVNFUjwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MZSBub20gZCd1dGlsaXNhdGV1ciBkdSBwcm9wcmnpdGFpcmUgZHUgc2NyaXB0LjwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5TQ1JJUFRfR1JPVVA8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGUgbm9tIGR1IGdyb3VwZSBhdXF1ZWwgYXBwYXJ0aWVudCBsZSBzY3JpcHQuPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPlBBVEhfSU5GTzwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MJ2luZm9ybWF0aW9uIHJlbGF0aXZlIGF1IG5vbSBkZSBjaGVtaW4gc2l0dellIGVuIGZpbiwgdm9pcgoJbGEgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL2NvcmUuaHRtbCNhY2NlcHRwYXRoaW5mbyI+QWNjZXB0UGF0aEluZm88L2E+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5RVUVSWV9TVFJJTkc8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGEgY2hh7m5lIGRlIHBhcmFt6HRyZXMgZGUgbGEgcmVxdep0ZSBjb3VyYW50ZTwvdGQ+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5JU19TVUJSRVE8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+Ijxjb2RlPnRydWU8L2NvZGU+IiBzaSBsYSByZXF16nRlIGNvdXJhbnRlIGVzdCB1bmUKCXNvdXMtcmVxdep0ZSwgIjxjb2RlPmZhbHNlPC9jb2RlPiIgZGFucyBsZSBjYXMgY29udHJhaXJlPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlRIRV9SRVFVRVNUPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxhIHJlcXXqdGUgY29tcGzodGUgKHBhciBleGVtcGxlICI8Y29kZT5HRVQgL2luZGV4Lmh0bWwKCUhUVFAvMS4xPC9jb2RlPiIpPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPlJFTU9URV9BRERSPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkwnYWRyZXNzZSBJUCBkZSBsJ2j0dGUgZGlzdGFudDwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5SRU1PVEVfSE9TVDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MZSBub20gZCdo9HRlIGRlIGwnaPR0ZSBkaXN0YW50PC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPlJFTU9URV9VU0VSPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxlIG5vbSBkZSBsJ3V0aWxpc2F0ZXVyIGF1dGhlbnRpZmnpLCBzJ2lsIGV4aXN0ZSAobm9uCglkaXNwb25pYmxlIOAgbCdpbnTpcmlldXIgZCd1biBibG9jIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPiZsdDtJZiZndDs8L2NvZGU+KTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5SRU1PVEVfSURFTlQ8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGUgbm9tIGRlIGwndXRpbGlzYXRldXIgZOlmaW5pIHBhciA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfaWRlbnQuaHRtbCI+bW9kX2lkZW50PC9hPjwvY29kZT48L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+U0VSVkVSX05BTUU8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGEgdmFsZXVyIGRlIGxhIGRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9jb3JlLmh0bWwjc2VydmVybmFtZSI+U2VydmVyTmFtZTwvYT48L2NvZGU+IGR1IHNlcnZldXIgdmlydHVlbCBjb3VyYW50PC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlNFUlZFUl9QT1JUPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxlIHBvcnQgYXNzb2Np6SBhdSBzZXJ2ZXVyIHZpcnR1ZWwgY291cmFudCA7IHZvaXIgbGEKCWRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9jb3JlLmh0bWwjc2VydmVybmFtZSI+U2VydmVyTmFtZTwvYT48L2NvZGU+PC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPlNFUlZFUl9BRE1JTjwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MYSB2YWxldXIgZGUgbGEgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL2NvcmUuaHRtbCNzZXJ2ZXJhZG1pbiI+U2VydmVyQWRtaW48L2E+PC9jb2RlPiBkdSBzZXJ2ZXVyIHZpcnR1ZWwgY291cmFudDwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5TRVJWRVJfUFJPVE9DT0w8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGUgcHJvdG9jb2xlIHV0aWxpc+kgcGFyIGxhIHJlcXXqdGUgKHBhcgoJZXhlbXBsZSBIVFRQLzEuMSkuIEF2ZWMgY2VydGFpbnMgdHlwZXMgZGUgc291cy1yZXF16nRlcwoJaW50ZXJuZXMsIGNldHRlIHZhcmlhYmxlIHByZW5kIGxhIHZhbGV1ciA8Y29kZT5JTkNMVURFRDwvY29kZT4uPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPlNFUlZFUl9QUk9UT0NPTF9WRVJTSU9OPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPlVuIG5vbWJyZSBxdWkgcmVwculzZW50ZSBsYSB2ZXJzaW9uIEhUVFAgZGUgbGEgcmVxdep0ZSA6Cgk8Y29kZT4xMDAwICogbWFqb3IgKyBtaW5vcjwvY29kZT4uIFBhciBleGVtcGxlLAoJPGNvZGU+MTAwMTwvY29kZT4gY29ycmVzcG9uZCDgIEhUVFAvMS4xIGV0IDxjb2RlPjk8L2NvZGU+IOAKCUhUVFAvMC45LjwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5TRVJWRVJfUFJPVE9DT0xfVkVSU0lPTl9NQUpPUjwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MYSBwYXJ0aWUgbWFqZXVyZSBkZSBsYSB2ZXJzaW9uIEhUVFAgZGUgbGEgcmVxdep0ZSwgcGFyCglleGVtcGxlIDxjb2RlPjE8L2NvZGU+IHBvdXIgSFRUUC8xLjAuPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPlNFUlZFUl9QUk9UT0NPTF9WRVJTSU9OX01JTk9SPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxhIHBhcnRpZSBtaW5ldXJlIGRlIGxhIHZlcnNpb24gSFRUUCBkZSBsYSByZXF16nRlLCBwYXIKCWV4ZW1wbGUgPGNvZGU+MDwvY29kZT4gcG91ciBIVFRQLzEuMC48L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+RE9DVU1FTlRfUk9PVDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MYSB2YWxldXIgZGUgbGEgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL2NvcmUuaHRtbCNkb2N1bWVudHJvb3QiPkRvY3VtZW50Um9vdDwvYT48L2NvZGU+IGR1IHNlcnZldXIgdmlydHVlbAoJY291cmFudDwvdGQ+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5BVVRIX1RZUEU8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGEgdmFsZXVyIGRlIGxhIGRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfYXV0aG5fY29yZS5odG1sI2F1dGh0eXBlIj5BdXRoVHlwZTwvYT48L2NvZGU+IChwYXIgZXhlbXBsZQoJIjxjb2RlPmJhc2ljPC9jb2RlPiIpPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPkNPTlRFTlRfVFlQRTwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MZSB0eXBlIGRlIGNvbnRlbnUgZGUgbGEgculwb25zZSAobm9uCglkaXNwb25pYmxlIOAgbCdpbnTpcmlldXIgZCd1biBibG9jIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPiZsdDtJZiZndDs8L2NvZGU+KTwvdGQ+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5IQU5ETEVSPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxlIG5vbSBkdSA8YSBocmVmPSJoYW5kbGVyLmh0bWwiPmdlc3Rpb25uYWlyZTwvYT4gcXVpIGEKCWfpbuly6SBsYSBy6XBvbnNlPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPkhUVFAyPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPiI8Y29kZT5vbjwvY29kZT4iIHNpIGxhIHJlcXXqdGUgdXRpbGlzZSBodHRwLzIsCiAgICAgICAgICAgICI8Y29kZT5vZmY8L2NvZGU+IiBkYW5zIGxlIGNhcyBjb250cmFpcmU8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+SFRUUFM8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+Ijxjb2RlPm9uPC9jb2RlPiIgc2kgbGEgcmVxdep0ZSB1dGlsaXNlIGh0dHBzLAoJIjxjb2RlPm9mZjwvY29kZT4iIGRhbnMgbGUgY2FzIGNvbnRyYWlyZTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5JUFY2PC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPiI8Y29kZT5vbjwvY29kZT4iIHNpIGxhIGNvbm5leGlvbiB1dGlsaXNlIElQdjYsCgkiPGNvZGU+b2ZmPC9jb2RlPiIgZGFucyBsZSBjYXMgY29udHJhaXJlPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPlJFUVVFU1RfU1RBVFVTPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxlIGNvZGUgZCdlcnJldXIgSFRUUCBkZSBsYSByZXF16nRlIChub24KCWRpc3BvbmlibGUg4CBsJ2ludOlyaWV1ciBkJ3VuIGJsb2MgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+Jmx0O0lmJmd0OzwvY29kZT4pPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlJFUVVFU1RfTE9HX0lEPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkwnaWRlbnRpZmlhbnQgZHUgbWVzc2FnZSBkJ2VycmV1ciBhc3NvY2npIOAgbGEgcmVxdep0ZSAodm9pcgoJbGEgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL2NvcmUuaHRtbCNlcnJvcmxvZ2Zvcm1hdCI+RXJyb3JMb2dGb3JtYXQ8L2E+PC9jb2RlPik8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+Q09OTl9MT0dfSUQ8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TCdpZGVudGlmaWFudCBkdSBtZXNzYWdlIGQnZXJyZXVyIGFzc29jaekg4CBsYSBjb25uZXhpb24KCSh2b2lyIGxhIGRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9jb3JlLmh0bWwjZXJyb3Jsb2dmb3JtYXQiPkVycm9yTG9nRm9ybWF0PC9hPjwvY29kZT4pPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPkNPTk5fUkVNT1RFX0FERFI8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TCdhZHJlc3NlIElQIGR1IGNvcnJlc3BvbmRhbnQgcG91ciBsYSBjb25uZXhpb24gKHZvaXIgbGUgbW9kdWxlCgk8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfcmVtb3RlaXAuaHRtbCI+bW9kX3JlbW90ZWlwPC9hPjwvY29kZT4pPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPkNPTlRFWFRfUFJFRklYPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkIC8+PC90cj4KPHRyPjx0ZD48Y29kZT5DT05URVhUX0RPQ1VNRU5UX1JPT1Q8L2NvZGU+PC90ZD4KICAgICAgICA8dGQgLz48L3RyPgo8L3RhYmxlPgoKICAgIDxwPlZhcmlhYmxlcyBkaXZlcnNlczwvcD4KCiAgICA8dGFibGUgY2xhc3M9ImJvcmRlcmVkIj48dHIgY2xhc3M9ImhlYWRlciI+PHRoPk5vbTwvdGg+PHRoPkRlc2NyaXB0aW9uPC90aD48L3RyPgo8dHI+PHRkPjxjb2RlPlRJTUVfWUVBUjwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MJ2FubullIGNvdXJhbnRlIChwYXIgZXhlbXBsZSA8Y29kZT4yMDEwPC9jb2RlPik8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+VElNRV9NT048L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGUgbW9pcyBjb3VyYW50ICg8Y29kZT4xPC9jb2RlPiwgLi4uLCA8Y29kZT4xMjwvY29kZT4pPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlRJTUVfREFZPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxlIGpvdXIgY291cmFudCBkYW5zIGxlIG1vaXM8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+VElNRV9IT1VSPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxlcyBoZXVyZXMgZGUgbGEgZGF0ZSBjb3VyYW50ZSAoPGNvZGU+MDwvY29kZT4sIC4uLiwKCTxjb2RlPjIzPC9jb2RlPik8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+VElNRV9NSU48L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGVzIG1pbnV0ZXMgZGUgbGEgZGF0ZSBjb3VyYW50ZTwvdGQ+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5USU1FX1NFQzwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MZXMgc2Vjb25kZXMgZGUgbGEgZGF0ZSBjb3VyYW50ZTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5USU1FX1dEQVk8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGUgam91ciBkZSBsYSBzZW1haW5lICjgIHBhcnRpciBkZSA8Y29kZT4wPC9jb2RlPiBwb3VyCglkaW1hbmNoZSk8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+VElNRTwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MYSBkYXRlIGV0IGhldXJlIGF1IGZvcm1hdCA8Y29kZT4yMDEwMTIzMTIzNTk1OTwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+U0VSVkVSX1NPRlRXQVJFPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxhIGNoYe5uZSBjb250ZW5hbnQgbGEgdmVyc2lvbiBkdSBzZXJ2ZXVyPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPkFQSV9WRVJTSU9OPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxhIGRhdGUgZGUgbGEgdmVyc2lvbiBkZSBsJ0FQSSAobW9kdWxlIG1hZ2ljIG51bWJlcik8L3RkPjwvdHI+CjwvdGFibGU+CgogICAgPHA+Q2VydGFpbnMgbW9kdWxlcywgY29tbWUgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX3NzbC5odG1sIj5tb2Rfc3NsPC9hPjwvY29kZT4sIGTpZmluaXNzZW50IGRlcwogICAgdmFyaWFibGVzIHN1cHBs6W1lbnRhaXJlcy48L3A+Cgo8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9ImJpbm9wIiBpZD0iYmlub3AiPk9w6XJhdGV1cnMgYmluYWlyZXM8L2E+PC9oMj4KICAgIAoKICAgIDxwPsAgbCdleGNlcHRpb24gZGUgcXVlbHF1ZXMgb3DpcmF0ZXVycyBkZSBjb21wYXJhaXNvbiBpbnRlcm5lcywgbGVzCiAgICBvcOlyYXRldXJzIGJpbmFpcmVzIHNvbnQgZGUgbGEgZm9ybWUKICAgICI8Y29kZT4tW2EtekEtWl1bYS16QS1aMC05X10rPC9jb2RlPiIsIGF1dHJlbWVudCBkaXQgdW4gc2lnbmUgbW9pbnMKICAgIGV0IGF1IG1vaW5zIGRldXggY2FyYWN06HJlcy4gTGUgbm9tIGVzdCBpbnNlbnNpYmxlIOAgbGEgY2Fzc2UuIExlcwogICAgbW9kdWxlcyBwZXV2ZW50IGZvdXJuaXIgZGVzIG9w6XJhdGV1cnMgYmluYWlyZXMgc3VwcGzpbWVudGFpcmVzLjwvcD4KCiAgICA8aDM+PGEgbmFtZT0iY29tcCIgaWQ9ImNvbXAiPk9w6XJhdGV1cnMgZGUgY29tcGFyYWlzb248L2E+PC9oMz4KICAgIAoKICAgIDx0YWJsZSBjbGFzcz0iYm9yZGVyZWQiPjx0ciBjbGFzcz0iaGVhZGVyIj48dGg+Tm9tPC90aD48dGg+QWx0ZXJuYXRpdmU8L3RoPiA8dGg+RGVzY3JpcHRpb248L3RoPjwvdHI+Cjx0cj48dGQ+PGNvZGU+PT08L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+PGNvZGU+PTwvY29kZT48L3RkPgogICAgICAgIDx0ZD5FZ2FsaXTpIGRlIGNoYe5uZXM8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+IT08L2NvZGU+PC90ZD4KICAgICAgICA8dGQgLz4KICAgICAgICA8dGQ+SW7pZ2FsaXTpIGRlIGNoYe5uZXM8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+Jmx0OzwvY29kZT48L3RkPgogICAgICAgIDx0ZCAvPgogICAgICAgIDx0ZD5DaGHubmUgaW5m6XJpZXVyZSDgPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPiZsdDs9PC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkIC8+CiAgICAgICAgPHRkPkNoYe5uZSBpbmbpcmlldXJlIG91IOlnYWxlIOA8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+Jmd0OzwvY29kZT48L3RkPgogICAgICAgIDx0ZCAvPgogICAgICAgIDx0ZD5DaGHubmUgc3Vw6XJpZXVyZSDgPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPiZndDs9PC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkIC8+CiAgICAgICAgPHRkPkNoYe5uZSBzdXDpcmlldXJlIG91IOlnYWxlIOA8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+PX48L2NvZGU+PC90ZD4KICAgICAgICA8dGQgLz4KICAgICAgICA8dGQ+TGEgY2hh7m5lIGNvcnJlc3BvbmQg4CBsJ2V4cHJlc3Npb24gcmF0aW9ubmVsbGU8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+IX48L2NvZGU+PC90ZD4KICAgICAgICA8dGQgLz4KICAgICAgICA8dGQ+TGEgY2hh7m5lIG5lIGNvcnJlc3BvbmQgcGFzIOAgbCdleHByZXNzaW9uIHJhdGlvbm5lbGxlPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPi1lcTwvY29kZT48L3RkPgogICAgICAgIDx0ZD48Y29kZT5lcTwvY29kZT48L3RkPgogICAgICAgIDx0ZD5FZ2FsaXTpIGQnZW50aWVyczwvdGQ+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT4tbmU8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+PGNvZGU+bmU8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+SW7pZ2FsaXTpIGQnZW50aWVyczwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT4tbHQ8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+PGNvZGU+bHQ8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+RW50aWVyIGluZulyaWV1ciDgPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPi1sZTwvY29kZT48L3RkPgogICAgICAgIDx0ZD48Y29kZT5sZTwvY29kZT48L3RkPgogICAgICAgIDx0ZD5FbnRpZXIgaW5m6XJpZXVyIG91IOlnYWwg4DwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT4tZ3Q8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+PGNvZGU+Z3Q8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+RW50aWVyIHN1cOlyaWV1ciDgPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPi1nZTwvY29kZT48L3RkPgogICAgICAgIDx0ZD48Y29kZT5nZTwvY29kZT48L3RkPgogICAgICAgIDx0ZD5FbnRpZXIgc3Vw6XJpZXVyIG91IOlnYWwg4DwvdGQ+PC90cj4KPC90YWJsZT4KICAgIAoKICAgIDxoMz48YSBuYW1lPSJiaW5hcnlvdGhlciIgaWQ9ImJpbmFyeW90aGVyIj5BdXRyZXMgb3DpcmF0ZXVycyBiaW5haXJlczwvYT48L2gzPgogICAgCgogICAgPHRhYmxlIGNsYXNzPSJib3JkZXJlZCI+PHRyIGNsYXNzPSJoZWFkZXIiPjx0aD5Ob208L3RoPjx0aD5EZXNjcmlwdGlvbjwvdGg+PC90cj4KPHRyPjx0ZD48Y29kZT4taXBtYXRjaDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MJ2FkcmVzc2UgSVAgY29ycmVzcG9uZCDgIGFkcmVzc2UvbWFzcXVlPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPi1zdHJtYXRjaDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5sYSBjaGHubmUgZGUgZ2F1Y2hlIGNvcnJlc3BvbmQgYXUgbW9k6GxlIGNvbnN0aXR16SBwYXIgbGEKCWNoYe5uZSBkZSBkcm9pdGUgKGNvbnRlbmFudCBkZXMgY2FyYWN06HJlcyBn6W7pcmlxdWVzICosID8sIFtdKTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT4tc3RyY21hdGNoPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPmlkZW0gPGNvZGU+LXN0cm1hdGNoPC9jb2RlPiwgbWFpcyBpbnNlbnNpYmxlIOAgbGEgY2Fzc2U8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+LWZubWF0Y2g8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+aWRlbSA8Y29kZT4tc3RybWF0Y2g8L2NvZGU+LCBtYWlzIGxlcyBzbGFzaGVzIG5lIHNvbnQgcGFzCglwcmlzIGVuIGNvbXB0ZSBwYXIgbGVzIGNhcmFjdOhyZXMgZ+lu6XJpcXVlczwvdGQ+PC90cj4KPC90YWJsZT4KICAgIAoKPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJ1bm5vcCIgaWQ9InVubm9wIj5PcOlyYXRldXJzIHVuYWlyZXM8L2E+PC9oMj4KICAgIAoKICAgIDxwPkxlcyBvcOlyYXRldXJzIHVuYWlyZXMgYWNjZXB0ZW50IHVuIHNldWwgYXJndW1lbnQgZXQgc29udAogICAgZGUgbGEgZm9ybWUgIjxjb2RlPi1bYS16QS1aXTwvY29kZT4iLAogICAgYXV0cmVtZW50IGRpdCBsZSBzaWduZSBtb2lucyBldCB1biBjYXJhY3TocmUuIExlIG5vbSA8ZW0+ZXN0PC9lbT4KICAgIHNlbnNpYmxlIOAgbGEgY2Fzc2UuIExlcyBtb2R1bGVzIHBldXZlbnQgZm91cm5pciBkZXMgb3DpcmF0ZXVycwogICAgdW5haXJlcyBzdXBwbOltZW50YWlyZXMuPC9wPgoKICAgIDx0YWJsZSBjbGFzcz0iYm9yZGVyZWQiPjx0ciBjbGFzcz0iaGVhZGVyIj48dGg+Tm9tPC90aD48dGg+RGVzY3JpcHRpb248L3RoPjx0aD5SZXN0cmVpbnQ8L3RoPjwvdHI+Cjx0cj48dGQ+PGNvZGU+LWQ8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TCdhcmd1bWVudCBlc3QgdHJhaXTpIGNvbW1lIHVuIG5vbSBkZSBmaWNoaWVyLiAKCVZyYWkgc2kgbGUgZmljaGllciBleGlzdGUgZXQgY29ycmVzcG9uZCDgIHVuCgly6XBlcnRvaXJlPC90ZD48dGQ+b3VpPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPi1lPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkwnYXJndW1lbnQgZXN0IHRyYWl06SBjb21tZSB1biBub20gZGUgZmljaGllci4gVnJhaSBzaSBsZQoJZmljaGllciAob3UgZGlyIG91IHNwZWNpYWwpIGV4aXN0ZTwvdGQ+PHRkPm91aTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT4tZjwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MJ2FyZ3VtZW50IGVzdCB0cmFpdOkgY29tbWUgdW4gbm9tIGRlIGZpY2hpZXIuIFZyYWkgc2kgbGUKCWZpY2hpZXIgZXhpc3RlIGV0IGNvcnJlc3BvbmQg4CB1biBmaWNoaWVyCgly6Wd1bGllcjwvdGQ+PHRkPm91aTwvdGQ+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT4tczwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MJ2FyZ3VtZW50IGVzdCB0cmFpdOkgY29tbWUgdW4gbm9tIGRlIGZpY2hpZXIuIFZyYWkgc2kgbGUKCWZpY2hpZXIgZXhpc3RlIGV0IG4nZXN0IHBhcyB2aWRlPC90ZD48dGQ+b3VpPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPi1MPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkwnYXJndW1lbnQgZXN0IHRyYWl06SBjb21tZSB1biBub20gZGUgZmljaGllci4gVnJhaSBzaSBsZQoJZmljaGllciBleGlzdGUgZXQgY29ycmVzcG9uZCDgIHVuIGxpZW4KCXN5bWJvbGlxdWU8L3RkPjx0ZD5vdWk8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+LWg8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TCdhcmd1bWVudCBlc3QgdHJhaXTpIGNvbW1lIHVuIG5vbSBkZSBmaWNoaWVyLiBWcmFpIHNpIGxlCglmaWNoaWVyIGV4aXN0ZSBldCBjb3JyZXNwb25kIOAgdW4gbGllbiBzeW1ib2xpcXVlCgkoaWRlbnRpcXVlIOAgPGNvZGU+LUw8L2NvZGU+KTwvdGQ+PHRkPm91aTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT4tRjwvY29kZT48L3RkPgogICAgICAgIDx0ZD5WcmFpIHNpIGxhIGNoYe5uZSBjb3JyZXNwb25kIGEgdW4gZmljaGllciB2YWxpZGUsIGFjY2Vzc2libGUKCWF2ZWMgdG91cyBsZXMgY29udHL0bGVzIGQnYWNj6HMgY29uZmlndXLpcyBwb3VyIGNlIGNoZW1pbi4gQQoJY2V0dGUgZmluLCB1bmUgc291cy1yZXF16nRlIGVmZmVjdHVlIGxhIHbpcmlmaWNhdGlvbiwgZXQgdm91cwoJZGV2ZXogdXRpbGlzZXIgY2UgZHJhcGVhdSBhdmVjIHNvaW4gY2FyIGlsIHBldXQgaW1wYWN0ZXIgbGVzCglwZXJmb3JtYW5jZXMgZGUgdm90cmUgc2VydmV1ciAhPC90ZD48dGQgLz48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPi1VPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPlZyYWkgc2kgbGEgY2hh7m5lIGNvcnJlc3BvbmQgYSB1bmUgVVJMIHZhbGlkZSwgYWNjZXNzaWJsZQoJYXZlYyB0b3VzIGxlcyBjb250cvRsZXMgZCdhY2PocyBjb25maWd1culzIHBvdXIgY2UgY2hlbWluLiBBCgljZXR0ZSBmaW4sIHVuZSBzb3VzLXJlcXXqdGUgZWZmZWN0dWUgbGEgdulyaWZpY2F0aW9uLCBldCB2b3VzCglkZXZleiB1dGlsaXNlciBjZSBkcmFwZWF1IGF2ZWMgc29pbiBjYXIgaWwgcGV1dCBpbXBhY3RlciBsZXMKCXBlcmZvcm1hbmNlcyBkZSB2b3RyZSBzZXJ2ZXVyICE8L3RkPjx0ZCAvPjwvdHI+Cjx0cj48dGQ+PGNvZGU+LUE8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+QWxpYXMgcG91ciA8Y29kZT4tVTwvY29kZT48L3RkPjx0ZCAvPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+LW48L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+VnJhaSBzaSBsYSBjaGHubmUgbidlc3QgcGFzIHZpZGU8L3RkPjx0ZCAvPjwvdHI+Cjx0cj48dGQ+PGNvZGU+LXo8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+VnJhaSBzaSBsYSBjaGHubmUgZXN0IHZpZGU8L3RkPjx0ZCAvPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+LVQ8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+RmF1eCBzaSBsYSBjaGHubmUgZXN0IHZpZGUsICI8Y29kZT4wPC9jb2RlPiIsCgkiPGNvZGU+b2ZmPC9jb2RlPiIsICI8Y29kZT5mYWxzZTwvY29kZT4iLCBvdSAiPGNvZGU+bm88L2NvZGU+IgoJKGluc2Vuc2liaWxpdOkg4CBsYSBjYXNzZSkuIFZyYWkgZGFucyBsZSBjYXMgY29udHJhaXJlLjwvdGQ+PHRkIC8+PC90cj4KPHRyPjx0ZD48Y29kZT4tUjwvY29kZT48L3RkPgogICAgICAgIDx0ZD5JZGVtICI8Y29kZT4le1JFTU9URV9BRERSfSAtaXBtYXRjaCAuLi48L2NvZGU+IiwgZW4gcGx1cwoJZWZmaWNhY2UKICAgICAgICA8L3RkPjx0ZCAvPjwvdHI+CjwvdGFibGU+CgogICAgPHA+TGVzIG9w6XJhdGV1cnMgbWFycXXpcyBjb21tZSAicmVzdHJlaW50cyIgbmUgc29udCBwYXMgZGlzcG9uaWJsZXMKICAgIGF2ZWMgY2VydGFpbnMgbW9kdWxlcyBjb21tZSA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfaW5jbHVkZS5odG1sIj5tb2RfaW5jbHVkZTwvYT48L2NvZGU+LjwvcD4KCjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0iZnVuY3Rpb25zIiBpZD0iZnVuY3Rpb25zIj5Gb25jdGlvbnM8L2E+PC9oMj4KICAgIAoKICAgIDxwPk5vcm1hbGVtZW50LCBsZXMgZm9uY3Rpb25zIGRvbnQgbGEgdmFsZXVyIGVzdCB1bmUgY2hh7m5lIGFjY2VwdGVudCB1bmUgY2hh7m5lCiAgICBjb21tZSBhcmd1bWVudCBldCByZW52b2llbnQgdW5lIGNoYe5uZS4gTGVzIG5vbXMgZGUgZm9uY3Rpb25zIHNvbnQKICAgIGluc2Vuc2libGVzIOAgbGEgY2Fzc2UuIExlcyBtb2R1bGVzIHBldXZlbnQgZm91cm5pciBkZXMgZm9uY3Rpb25zCiAgICBzdXBwbOltZW50YWlyZXMuPC9wPgoKICAgIDx0YWJsZSBjbGFzcz0iYm9yZGVyZWQiPjx0ciBjbGFzcz0iaGVhZGVyIj48dGg+Tm9tPC90aD48dGg+RGVzY3JpcHRpb248L3RoPjx0aD5SZXN0cmVpbnQ8L3RoPjwvdHI+Cjx0cj48dGQ+PGNvZGU+cmVxPC9jb2RlPiwgPGNvZGU+aHR0cDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MaXQgbCdlbi106nRlIGRlIHJlcXXqdGUgSFRUUCA7IGxlcyBub21zCglkJ2VuLXTqdGUgY29ycmVzcG9uZGFudHMgcGV1dmVudCDqdHJlIGFqb3V06XMg4CBsJ2VuLXTqdGUgVmFyeSwKCXZvaXIgY2ktZGVzc291czwvdGQ+PHRkIC8+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5yZXFfbm92YXJ5PC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPklkZW50aXF1ZSDgIDxjb2RlPnJlcTwvY29kZT4sIG1haXMgbGVzIG5vbXMKCWQnZW4tdOp0ZSBjb3JyZXNwb25kYW50cyBuZSBzZXJvbnQgcGFzIGFqb3V06XMg4CBsJ2VuLXTqdGUgVmFyeTwvdGQ+PHRkIC8+PC90cj4KPHRyPjx0ZD48Y29kZT5yZXNwPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxpdCBsJ2VuLXTqdGUgZGUgculwb25zZSBIVFRQIChsYSBwbHVwYXJ0IGRlcwoJZW4tdOp0ZSBkZSBsYSBy6XBvbnNlIG5lIHNvbnQgcGFzIGVuY29yZSBk6WZpbmlzIHBlbmRhbnQKCWwnZXjpY3V0aW9uIGRlIGxhIGRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj4mbHQ7SWYmZ3Q7PC9jb2RlPik8L3RkPjx0ZCAvPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+cmVxZW52PC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPlJlY2hlcmNoZSB1bmUgdmFyaWFibGUgZCdlbnZpcm9ubmVtZW50IGRlIHJlcXXqdGUgKG9uCglwZXV0IGF1c3NpIHV0aWxpc2VyIGxlIHJhY2NvdXJjaSA8Y29kZT52PC9jb2RlPikuPC90ZD48dGQgLz48L3RyPgo8dHI+PHRkPjxjb2RlPm9zZW52PC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPlJlY2hlcmNoZSB1bmUgdmFyaWFibGUgZCdlbnZpcm9ubmVtZW50IGR1IHN5c3TobWUKCWQnZXhwbG9pdGF0aW9uPC90ZD48dGQgLz48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPm5vdGU8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+UmVjaGVyY2hlIHVuZSBub3RlIGRlIHJlcXXqdGU8L3RkPjx0ZCAvPjwvdHI+Cjx0cj48dGQ+PGNvZGU+ZW52PC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPlJlbnZvaWUgbGUgcHJlbWllciBy6XN1bHRhdCBwb3NpdGlmIGRlIDxjb2RlPm5vdGU8L2NvZGU+LAoJPGNvZGU+cmVxZW52PC9jb2RlPiwgPGNvZGU+b3NlbnY8L2NvZGU+PC90ZD48dGQgLz48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPnRvbG93ZXI8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+Q29udmVydGl0IHVuZSBjaGHubmUgZW4gbWludXNjdWxlczwvdGQ+PHRkIC8+PC90cj4KPHRyPjx0ZD48Y29kZT50b3VwcGVyPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkNvbnZlcnRpdCB1bmUgY2hh7m5lIGVuIG1hanVzY3VsZXM8L3RkPjx0ZCAvPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+ZXNjYXBlPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkVjaGFwcGUgbGVzIGNhcmFjdOhyZXMgc3DpY2lhdXggZW4gY29kYWdlIGhleGFk6WNpbWFsPC90ZD48dGQgLz48L3RyPgo8dHI+PHRkPjxjb2RlPnVuZXNjYXBlPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPiJE6XPpY2hhcHBlIiBsZXMgY2hh7m5lcyBjb2TpZXMKCWVuIGhleGFk6WNpbWFsLCBlbiBuZSBnYXJkYW50IGVuY29k6XMgcXVlIGxlcyBzbGFzaGVzOyByZW52b2llIGxhIGNoYe5uZSB2aWRlCglzaSBsYSBz6XF1ZW5jZSAlMDAgZXN0IHJlbmNvbnRy6WU8L3RkPjx0ZCAvPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+YmFzZTY0PC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkVuY29kZSBsYSBjaGHubmUgZW4gdXRpbGlzYW50IGxlIGNvZGFnZSBiYXNlNjQ8L3RkPjx0ZCAvPjwvdHI+Cjx0cj48dGQ+PGNvZGU+dW5iYXNlNjQ8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+ROljb2RlIHVuZSBjaGHubmUgY29k6WUgZW4gYmFzZTY0LCByZW52b2llIHVuZSBjaGHubmUKCXRyb25xdellIHNpIGxlIGNhcmFjdOhyZSAweDAwIGVzdCByZW5jb250cuk8L3RkPjx0ZCAvPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+bWQ1PC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkVmZmVjdHVlIHVuIGhhc2hhZ2UgTUQ1IGRlIGxhIGNoYe5uZSwgcHVpcyBlbmNvZGUgbGUgaGFzaAoJYXZlYyB1biBjb2RhZ2UgaGV4YWTpY2ltYWw8L3RkPjx0ZCAvPjwvdHI+Cjx0cj48dGQ+PGNvZGU+c2hhMTwvY29kZT48L3RkPgogICAgICAgIDx0ZD5FZmZlY3R1ZSB1biBoYXNoYWdlIFNIQTEgZGUgbGEgY2hh7m5lLCBwdWlzIGVuY29kZSBsZSBoYXNoCglhdmVjIHVuIGNvZGFnZSBoZXhhZOljaW1hbDwvdGQ+PHRkIC8+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5maWxlPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxpdCBsZSBjb250ZW51IGQndW4gZmljaGllciAoZmlucyBkZSBsaWduZXMgaW5jbHVzZXMsIHNpCgllbGxlcyBleGlzdGVudCk8L3RkPjx0ZD5vdWk8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+ZmlsZW1vZDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5SZW52b2llIGxhIGRhdGUgZGUgZGVybmnocmUgbW9kaWZpY2F0aW9uIGQndW4gZmljaGllciAob3UgMAoJc2kgbGUgZmljaGllciBuJ2V4aXN0ZSBwYXMgb3Ugbidlc3QgcGFzIHVuIGZpY2hpZXIKCXLpZ3VsaWVyKTwvdGQ+PHRkPm91aTwvdGQ+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5maWxlc2l6ZTwvY29kZT48L3RkPgogICAgICAgIDx0ZD5SZW52b2llIGxhIHRhaWxsZSBkJ3VuIGZpY2hpZXIgKG91IDAgc2kgbGUgZmljaGllciBuJ2V4aXN0ZQoJcGFzIG91IG5lIGNvcnJlc3BvbmQgcGFzIOAgdW4gZmljaGllcgoJculndWxpZXIpPC90ZD48dGQ+b3VpPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPmxkYXA8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+RWNoYXBwZSBsZXMgY2FyYWN06HJlcyBzZWxvbiBsYSBSRkM0NTE0IChFY2hhcHBlbWVudCBkZXMKCW5vbXMgZGlzdGluY3RpZnMgTERBUCAtIEROKSBldCBsYSBSRkM0NTE1IChFY2hhcHBlbWVudCBkZXMKCWZpbHRyZXMgTERBUCkuPC90ZD48dGQgLz48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPnJlcGxhY2U8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+cmVwbGFjZShjaGHubmUsICJkZSIsICJ2ZXJzIikgcmVtcGxhY2UgZGFucyBsYSBjaGHubmUKCXNw6WNpZmnpZSB0b3V0ZXMgbGVzIG9jY3VycmVuY2VzIGRlICJkZSIgcGFyICJ2ZXJzIi48L3RkPjx0ZCAvPjwvdHI+CjwvdGFibGU+CgogICAgPHA+TGVzIGZvbmN0aW9ucyBtYXJxdellcyBjb21tZSAicmVzdHJlaW50cyIgbmUgc29udCBwYXMgZGlzcG9uaWJsZXMKICAgIGF2ZWMgY2VydGFpbnMgbW9kdWxlcyBjb21tZSA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfaW5jbHVkZS5odG1sIj5tb2RfaW5jbHVkZTwvYT48L2NvZGU+LjwvcD4KCiAgICA8cD5Mb3JzcXVlIGxlcyBmb25jdGlvbnMgPGNvZGU+cmVxPC9jb2RlPiBvdSA8Y29kZT5odHRwPC9jb2RlPiBzb250CiAgICB1dGlsaXPpZXMsIGxlIG5vbSBkJ2VuLXTqdGUgc2VyYSBhdXRvbWF0aXF1ZW1lbnQgYWpvdXTpIOAgbCdlbi106nRlCiAgICBWYXJ5IGRlIGxhIHLpcG9uc2UgSFRUUCwgc2F1ZiBzcOljaWZpY2F0aW9uIGNvbnRyYWlyZSBwb3VyIGxhCiAgICBkaXJlY3RpdmUgcXVpIGFjY2VwdGUgbCdleHByZXNzaW9uIGNvbW1lIHBhcmFt6HRyZS4gTGEgZm9uY3Rpb24KICAgIDxjb2RlPnJlcV9ub3Zhcnk8L2NvZGU+IHBlcm1ldCBkJ2VtcOpjaGVyIGNldCBham91dC48L3A+CgogICAgPHA+RW4gcGx1cyBkZXMgZm9uY3Rpb25zIGRvbnQgbGEgdmFsZXVyIGVzdCB1bmUgY2hh7m5lLCBpbCBleGlzdGUKICAgIGF1c3NpIGRlcyBmb25jdGlvbnMgZG9udCBsYSB2YWxldXIgZXN0IHVuZSBsaXN0ZSwgcXVpIGFjY2VwdGVudCB1bmUKICAgIGNoYe5uZSBjb21tZSBhcmd1bWVudCwgZXQgcmVudm9pZW50IHVuZSBsaXN0ZSBkZSBtb3RzLCBhdXRyZW1lbnQgZGl0CiAgICB1bmUgbGlzdGUgZGUgY2hh7m5lcy4gTGEgbGlzdGUgZGUgbW90IHBldXQg6nRyZSB1dGlsaXPpZSBhdmVjCiAgICBsJ29w6XJhdGV1ciBzcOljaWFsIDxjb2RlPi1pbjwvY29kZT4uIExlcyBub21zIGRlIGZvbmN0aW9ucyBzb250CiAgICBpbnNlbnNpYmxlcyDgIGxhIGNhc3NlLiBMZXMgbW9kdWxlcyBwZXV2ZW50IGZvdXJuaXIgZGVzIGZvbmN0aW9ucwogICAgc3VwcGzpbWVudGFpcmVzLjwvcD4KCiAgICA8cD5JbCBuJ2V4aXN0ZSBwYXMgZGUgZm9uY3Rpb25zIGludGVybmVzIGRvbnQgbGEgdmFsZXVyIGVzdCB1bmUKICAgIGxpc3RlLiBMZSBtb2R1bGUgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX3NzbC5odG1sIj5tb2Rfc3NsPC9hPjwvY29kZT4gZm91cm5pdCBsYSBmb25jdGlvbgogICAgPGNvZGU+UGVlckV4dExpc3Q8L2NvZGU+LiBWb2lyIGxhIGRlc2NyaXB0aW9uIGRlIGxhIGRpcmVjdGl2ZQogICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX3NzbC5odG1sI3NzbHJlcXVpcmUiPlNTTFJlcXVpcmU8L2E+PC9jb2RlPiBwb3VyIHBsdXMgZGUKICAgIGTpdGFpbHMgKG5vdGV6IHF1ZSBsYSBmb25jdGlvbiA8Y29kZT5QZWVyRXh0TGlzdDwvY29kZT4gcGV1dCBhdXNzaQogICAg6nRyZSB1dGlsaXPpZSBlbiBkZWhvcnMgZGUgbGEgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9zc2wuaHRtbCNzc2xyZXF1aXJlIj5TU0xSZXF1aXJlPC9hPjwvY29kZT4pLjwvcD4KCjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0iZXhhbXBsZXMiIGlkPSJleGFtcGxlcyI+RXhlbXBsZXMgZCdleHByZXNzaW9uczwvYT48L2gyPgogICAgCgkKCTxwPkxlcyBleGVtcGxlcyBzdWl2YW50cyBtb250ZW50IGNvbW1lbnQgdXRpbGlzZXIgbGVzCglleHByZXNzaW9ucyBwb3VyIOl2YWx1ZXIgbGVzIHJlcXXqdGVzIDo8L3A+CgkKCTxwcmUgY2xhc3M9InByZXR0eXByaW50IGxhbmctY29uZmlnIj4jIENvbXBhcmVyIGxlIG5vbSBkJ2j0dGUgYXZlYyBleGFtcGxlLmNvbSBldCByZWRpcmlnZXIgdmVycwojIHd3dy5leGFtcGxlLmNvbSBzaSBsZSBub20gZCdo9HRlIGNvcnJlc3BvbmQKJmx0O0lmICIle0hUVFBfSE9TVH0gPT0gJ2V4YW1wbGUuY29tJyImZ3Q7CiAgICBSZWRpcmVjdCBwZXJtYW5lbnQgIi8iICJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIKJmx0Oy9JZiZndDsKCiMgRm9yY2VyIGxlIHR5cGUgdGV4dC9wbGFpbiBzaSB1biBmaWNoaWVyIGZhaXQgbCdvYmpldCBkJ3VuZQojIHJlcXXqdGUgZG9udCBsYSBjaGHubmUgZGUgcGFyYW3odHJlcyBjb250aWVudCAnZm9yY2V0ZXh0JwombHQ7SWYgIiV7UVVFUllfU1RSSU5HfSA9fiAvZm9yY2V0ZXh0LyImZ3Q7CiAgICBGb3JjZVR5cGUgdGV4dC9wbGFpbgombHQ7L0lmJmd0OwoKIyBOJ2F1dG9yaXNlciBsJ2FjY+hzIOAgY2UgY29udGVudSBxdWUgcGVuZGFudCBsZXMgaGV1cmVzIGRlCiMgdHJhdmFpbAombHQ7RGlyZWN0b3J5ICIvZm9vL2Jhci9idXNpbmVzcyImZ3Q7CiAgICAgUmVxdWlyZSBleHByICV7VElNRV9IT1VSfSAtZ3QgOSAmYW1wOyZhbXA7ICV7VElNRV9IT1VSfSAtbHQgMTcKJmx0Oy9EaXJlY3RvcnkmZ3Q7CQoKIyBW6XJpZmllIHNpIHVuIGVuLXTqdGUgSFRUUCBjb3JyZXNwb25kIOAgdW5lIGRlcyB2YWxldXJzIGQndW5lIGxpc3RlCiZsdDtJZiAiJXtIVFRQOlgtZXhhbXBsZS1oZWFkZXJ9IGluIHsgJ2ZvbycsICdiYXInLCAnYmF6JyB9IiZndDsKICAgIExhIGTpZmluaXRpb24gZGUgbCdlbi106nRlIGNvcnJlc3BvbmQg4CB1bmUgZGVzIHZhbGV1cnMgcmVjaGVyY2jpZXMKJmx0Oy9JZiZndDsKIyBSZWNoZXJjaGUgbGEgdmFsZXVyIGQndW5lIGV4cHJlc3Npb24gcmF0aW9ubmVsbGUgZGFucyB1bmUgdmFyaWFibGUKIyBkJ2Vudmlyb25uZW1lbnQsIGV0IHJlbnZvaWUgbGEgbulnYXRpb24gZHUgculzdWx0YXQuCiZsdDtJZiAiISByZXFlbnYoJ1JFRElSRUNUX0ZPTycpID1+IC9iYXIvIiZndDsKICAgIExhIGNvbmRpdGlvbiBlc3QgdulyaWZp6WUKJmx0Oy9JZiZndDsKCiMgVulyaWZpZSBsZSBy6XN1bHRhdCBkZSBsYSByZWNoZXJjaGUgZCd1bmUgY29ycmVzcG9uZGFuY2UgZCdVUkkgZGFucyB1bgojIGNvbnRleHRlIGRlIHLpcGVydG9pcmUgYXZlYyBsJ29wdGlvbiAtZgombHQ7RGlyZWN0b3J5ICIvdmFyL3d3dyImZ3Q7CiAgICBBZGRFbmNvZGluZyB4LWd6aXAgZ3oKJmx0O0lmICItZiAnJXtSRVFVRVNUX0ZJTEVOQU1FfS51bnppcG1lJyAmYW1wOyZhbXA7ICEgJXtIVFRQOkFjY2VwdC1FbmNvZGluZ30gPX4gL2d6aXAvIiZndDsKICAgICAgU2V0T3V0cHV0RmlsdGVyIElORkxBVEUKJmx0Oy9JZiZndDsKJmx0Oy9EaXJlY3RvcnkmZ3Q7CgojIFbpcmlmaWUgbCdhZHJlc3NlIElQIGR1IGNsaWVudAombHQ7SWYgIi1SICcxOTIuMTY4LjEuMC8yNCciJmd0OwogICAgSGVhZGVyIHNldCBtYXRjaGVkIHRydWUKJmx0Oy9JZiZndDsKCiMgRXhlbXBsZXMgZGUgZm9uY3Rpb25zIGRhbnMgdW4gY29udGV4dGUgYm9vbOllbgombHQ7SWYgIm1kNSgnZm9vJykgPT0gJ2FjYmQxOGRiNGNjMmY4NWNlZGVmNjU0ZmNjYzRhNGQ4JyImZ3Q7CiAgSGVhZGVyIHNldCBjaGVja3N1bS1tYXRjaGVkIHRydWUKJmx0Oy9JZiZndDsKJmx0O0lmICJtZDUoJ2ZvbycpID09IHJlcGxhY2UoJ21kNTpYWFhkMThkYjRjYzJmODVjZWRlZjY1NGZjY2M0YTRkOCcsICdtZDU6WFhYJywgJ2FjYicpJmd0OwogIEhlYWRlciBzZXQgY2hlY2tzdW0tbWF0Y2hlZC0yIHRydWUKJmx0Oy9JZiZndDsKCiMgRnVuY3Rpb24gZXhhbXBsZSBpbiBzdHJpbmcgY29udGV4dApIZWFkZXIgc2V0IGZvby1jaGVja3N1bSAiZXhwcj0le21kNTpmb299IgoKIyBMJ2V4ZW1wbGUgc3VpdmFudCByZXRhcmRlIGwn6XZhbHVhdGlvbiBkZSBsYSBjbGF1c2UgZGUgY29uZGl0aW9uIHBhciByYXBwb3J0IOAKIyAmbHQ7SWYmZ3Q7CkhlYWRlciBhbHdheXMgc2V0IEN1c3RvbUhlYWRlciBteS12YWx1ZSAiZXhwcj0le1JFUVVFU1RfVVJJfSA9fiBtI14vc3BlY2lhbF9wYXRoLnBocCQjIjwvcHJlPgoKPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJvdGhlciIgaWQ9Im90aGVyIj5BdXRyZXM8L2E+PC9oMj4KICAgIAoKICAgIDx0YWJsZSBjbGFzcz0iYm9yZGVyZWQiPjx0ciBjbGFzcz0iaGVhZGVyIj48dGg+Tm9tPC90aD48dGg+QWx0ZXJuYXRpdmU8L3RoPiA8dGg+RGVzY3JpcHRpb248L3RoPjwvdHI+Cjx0cj48dGQ+PGNvZGU+LWluPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPjxjb2RlPmluPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPmNoYe5uZSBjb250ZW51ZSBkYW5zIHVuZSBsaXN0ZSBkZSBtb3RzPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPi9yZWdleHAvPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPjxjb2RlPm0jcmVnZXhwIzwvY29kZT48L3RkPgogICAgICAgIDx0ZD5FeHByZXNzaW9uIHJhdGlvbm5lbGxlIChsYSBzZWNvbmRlIGZvcm1lIHBlcm1ldCBkZSBzcOljaWZpZXIKCWRlcyBk6WxpbWl0ZXVycyBhdXRyZXMgcXVlIC8pPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPi9yZWdleHAvaTwvY29kZT48L3RkPgogICAgICAgIDx0ZD48Y29kZT5tI3JlZ2V4cCNpPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkV4cHJlc3Npb24gcmF0aW9ubmVsbGUgaW5zZW5zaWJsZSDgIGxhIGNhc3NlPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPiQwIC4uLiAkOTwvY29kZT48L3RkPgogICAgICAgIDx0ZCAvPgogICAgICAgIDx0ZD5S6WbpcmVuY2VzIGFycmnocmVzIGRhbnMgbGVzIGV4cHJlc3Npb25zIHJhdGlvbm5lbGxlczwvdGQ+PC90cj4KPC90YWJsZT4KCiAgICA8aDM+PGEgbmFtZT0icmViYWNrcmVmIiBpZD0icmViYWNrcmVmIj5S6WbpcmVuY2VzIGFycmnocmVzIGRhbnMgbGVzIGV4cHJlc3Npb25zIHJhdGlvbm5lbGxlczwvYT48L2gzPgogICAgICAgIAogICAgICAgIDxwPkxlcyBjaGHubmVzIDxjb2RlPiQwPC9jb2RlPiAuLi4gPGNvZGU+JDk8L2NvZGU+IHBlcm1ldHRlbnQgZGUKCXLpZulyZW5jZXIgbGVzIGdyb3VwZXMgZGUgY2FwdHVyZSBlbiBwcm92ZW5hbmNlIGQnZXhwcmVzc2lvbnMKCXJhdGlvbm5lbGxlcyBwculj6WRlbW1lbnQgZXjpY3V06WVzIGV0IG1pc2VzIGVuIGNvcnJlc3BvbmRhbmNlIGF2ZWMKCXN1Y2Pocy4gRWxsZXMgbmUgcGV1dmVudCBub3JtYWxlbWVudCDqdHJlIHV0aWxpc+llcyBxdWUgZGFucyBsYQoJbeptZSBleHByZXNzaW9uIHF1ZSBjZWxsZSBtaXNlIGVuIGNvcnJlc3BvbmRhbmNlLCBtYWlzIGNlcnRhaW5zCgltb2R1bGVzIHBlcm1ldHRlbnQgZGUgbGVzIHV0aWxpc2VyIGRlIG1hbmnocmUgc3DpY2lhbGUuPC9wPgogICAgCgo8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9InNzbHJlcXVpcmUiIGlkPSJzc2xyZXF1aXJlIj5Db21wYXJhaXNvbiBhdmVjIFNTTFJlcXVpcmU8L2E+PC9oMj4KICAgIAogICAgPHA+TGEgc3ludGF4ZSA8ZW0+YXBfZXhwcjwvZW0+IGNvbnNpc3RlIHByaW5jaXBhbGVtZW50IGVuIHVuZQogICAgc3VyY291Y2hlIGRlIGxhIHN5bnRheGUgZGUgbGEgZGlyZWN0aXZlIG9ic29s6HRlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9zc2wuaHRtbCNzc2xyZXF1aXJlIj5TU0xSZXF1aXJlPC9hPjwvY29kZT4uIFZvdXMgcG91dmV6IGNvbnN1bHRlciBsYQogICAgbGlzdGUgZGUgbGV1ciBkaWZm6XJlbmNlcyBkYW5zIGxhIGRvY3VtZW50YXRpb24gZGUgbGEgZGlyZWN0aXZlCiAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2Rfc3NsLmh0bWwjc3NscmVxdWlyZSI+U1NMUmVxdWlyZTwvYT48L2NvZGU+LjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJjb21wYXRpYmlsaXR5IiBpZD0iY29tcGF0aWJpbGl0eSI+SGlzdG9yaXF1ZSBkZSB2ZXJzaW9uPC9hPjwvaDI+CiAgICAKICAgIDxwPkxhIDxhIGhyZWY9IiNmdW5jdGlvbnMiPmZvbmN0aW9uPC9hPiA8Y29kZT5yZXFfbm92YXJ5PC9jb2RlPiBlc3QKICAgIGRpc3BvbmlibGUg4CBwYXJ0aXIgZGUgbGEgdmVyc2lvbiAyLjQuNCBkdSBzZXJ2ZXVyIEhUVFAgQXBhY2hlLjwvcD4KICAgIDxwPkxlcyA8YSBocmVmPSIjdmFycyI+dmFyaWFibGVzPC9hPgogICAgPGNvZGU+U0VSVkVSX1BST1RPQ09MX1ZFUlNJT048L2NvZGU+LAogICAgPGNvZGU+U0VSVkVSX1BST1RPQ09MX1ZFUlNJT05fTUFKT1I8L2NvZGU+IGV0CiAgICA8Y29kZT5TRVJWRVJfUFJPVE9DT0xfVkVSU0lPTl9NSU5PUjwvY29kZT4gc29udCBkaXNwb25pYmxlcyDgIHBhcnRpcgogICAgZGUgbGEgdmVyc2lvbiAyLjUuMCBkdSBzZXJ2ZXVyIEhUVFAgQXBhY2hlLjwvcD4KPC9kaXY+PC9kaXY+CjxkaXYgY2xhc3M9ImJvdHRvbWxhbmciPgo8cD48c3Bhbj5MYW5ndWVzIERpc3BvbmlibGVzOiA8L3NwYW4+PGEgaHJlZj0iLi9lbi9leHByLmh0bWwiIGhyZWZsYW5nPSJlbiIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL2ZyL2V4cHIuaHRtbCIgdGl0bGU9IkZyYW7nYWlzIj4mbmJzcDtmciZuYnNwOzwvYT48L3A+CjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiBhbHQ9InRvcCIgLz48L2E+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiI+PGgyPjxhIGlkPSJjb21tZW50c19zZWN0aW9uIiBuYW1lPSJjb21tZW50c19zZWN0aW9uIj5Db21tZW50YWlyZXM8L2E+PC9oMj48ZGl2IGNsYXNzPSJ3YXJuaW5nIj48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz48YnIgLz5UaGlzIGlzIG5vdCBhIFEmYW1wO0Egc2VjdGlvbi4gQ29tbWVudHMgcGxhY2VkIGhlcmUgc2hvdWxkIGJlIHBvaW50ZWQgdG93YXJkcyBzdWdnZXN0aW9ucyBvbiBpbXByb3ZpbmcgdGhlIGRvY3VtZW50YXRpb24gb3Igc2VydmVyLCBhbmQgbWF5IGJlIHJlbW92ZWQgYWdhaW4gYnkgb3VyIG1vZGVyYXRvcnMgaWYgdGhleSBhcmUgZWl0aGVyIGltcGxlbWVudGVkIG9yIGNvbnNpZGVyZWQgaW52YWxpZC9vZmYtdG9waWMuIFF1ZXN0aW9ucyBvbiBob3cgdG8gbWFuYWdlIHRoZSBBcGFjaGUgSFRUUCBTZXJ2ZXIgc2hvdWxkIGJlIGRpcmVjdGVkIGF0IGVpdGhlciBvdXIgSVJDIGNoYW5uZWwsICNodHRwZCwgb24gRnJlZW5vZGUsIG9yIHNlbnQgdG8gb3VyIDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2xpc3RzLmh0bWwiPm1haWxpbmcgbGlzdHM8L2E+LjwvZGl2Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLS8vLS0+PCFbQ0RBVEFbLy8+PCEtLQp2YXIgY29tbWVudHNfc2hvcnRuYW1lID0gJ2h0dHBkJzsKdmFyIGNvbW1lbnRzX2lkZW50aWZpZXIgPSAnaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy90cnVuay9leHByLmh0bWwnOwooZnVuY3Rpb24odywgZCkgewogICAgaWYgKHcubG9jYXRpb24uaG9zdG5hbWUudG9Mb3dlckNhc2UoKSA9PSAiaHR0cGQuYXBhY2hlLm9yZyIpIHsKICAgICAgICBkLndyaXRlKCc8ZGl2IGlkPSJjb21tZW50c190aHJlYWQiPjxcL2Rpdj4nKTsKICAgICAgICB2YXIgcyA9IGQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgICAgcy50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CiAgICAgICAgcy5hc3luYyA9IHRydWU7CiAgICAgICAgcy5zcmMgPSAnaHR0cHM6Ly9jb21tZW50cy5hcGFjaGUub3JnL3Nob3dfY29tbWVudHMubHVhP3NpdGU9JyArIGNvbW1lbnRzX3Nob3J0bmFtZSArICcmcGFnZT0nICsgY29tbWVudHNfaWRlbnRpZmllcjsKICAgICAgICAoZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdIHx8IGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXSkuYXBwZW5kQ2hpbGQocyk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBkLndyaXRlKCc8ZGl2IGlkPSJjb21tZW50c190aHJlYWQiPkNvbW1lbnRzIGFyZSBkaXNhYmxlZCBmb3IgdGhpcyBwYWdlIGF0IHRoZSBtb21lbnQuPFwvZGl2PicpOwogICAgfQp9KSh3aW5kb3csIGRvY3VtZW50KTsKLy8tLT48IV1dPjwvc2NyaXB0PjwvZGl2PjxkaXYgaWQ9ImZvb3RlciI+CjxwIGNsYXNzPSJhcGFjaGUiPkNvcHlyaWdodCAyMDE2IFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbi48YnIgLz5BdXRvcmlz6SBzb3VzIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCI+QXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wPC9hPi48L3A+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuL21vZC8iPk1vZHVsZXM8L2E+IHwgPGEgaHJlZj0iLi9tb2QvcXVpY2tyZWZlcmVuY2UuaHRtbCI+RGlyZWN0aXZlczwvYT4gfCA8YSBocmVmPSJodHRwOi8vd2lraS5hcGFjaGUub3JnL2h0dHBkL0ZBUSI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4vZ2xvc3NhcnkuaHRtbCI+R2xvc3NhaXJlPC9hPiB8IDxhIGhyZWY9Ii4vc2l0ZW1hcC5odG1sIj5QbGFuIGR1IHNpdGU8L2E+PC9wPjwvZGl2PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tLy8tLT48IVtDREFUQVsvLz48IS0tCmlmICh0eXBlb2YocHJldHR5UHJpbnQpICE9PSAndW5kZWZpbmVkJykgewogICAgcHJldHR5UHJpbnQoKTsKfQovLy0tPjwhXV0+PC9zY3JpcHQ+CjwvYm9keT48L2h0bWw+