PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJmciIgeG1sOmxhbmc9ImZyIj48aGVhZD4KPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4KPCEtLQogICAgICAgIFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYCiAgICAgICAgICAgICAgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHhtbCBzb3VyY2U6IERPIE5PVCBFRElUCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgLS0+Cjx0aXRsZT5VdGlsaXNhdGlvbiBkZXMgZ2VzdGlvbm5haXJlcyBkJ0FwYWNoZSAoaGFuZGxlcnMpIC0gU2VydmV1ciBBcGFjaGUgSFRUUCBWZXJzaW9uIDIuNDwvdGl0bGU+CjxsaW5rIGhyZWY9Ii4vc3R5bGUvY3NzL21hbnVhbC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJNYWluIHN0eWxlc2hlZXQiIC8+CjxsaW5rIGhyZWY9Ii4vc3R5bGUvY3NzL21hbnVhbC1sb29zZS0xMDBwYy5jc3MiIHJlbD0iYWx0ZXJuYXRlIHN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTm8gU2lkZWJhciAtIERlZmF1bHQgZm9udCBzaXplIiAvPgo8bGluayBocmVmPSIuL3N0eWxlL2Nzcy9tYW51YWwtcHJpbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJwcmludCIgdHlwZT0idGV4dC9jc3MiIC8+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi9zdHlsZS9jc3MvcHJldHRpZnkuY3NzIiAvPgo8c2NyaXB0IHNyYz0iLi9zdHlsZS9zY3JpcHRzL3ByZXR0aWZ5Lm1pbi5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KPC9zY3JpcHQ+Cgo8bGluayBocmVmPSIuL2ltYWdlcy9mYXZpY29uLmljbyIgcmVsPSJzaG9ydGN1dCBpY29uIiAvPjwvaGVhZD4KPGJvZHkgaWQ9Im1hbnVhbC1wYWdlIj48ZGl2IGlkPSJwYWdlLWhlYWRlciI+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuL21vZC8iPk1vZHVsZXM8L2E+IHwgPGEgaHJlZj0iLi9tb2QvZGlyZWN0aXZlcy5odG1sIj5EaXJlY3RpdmVzPC9hPiB8IDxhIGhyZWY9Imh0dHA6Ly93aWtpLmFwYWNoZS5vcmcvaHR0cGQvRkFRIj5GQVE8L2E+IHwgPGEgaHJlZj0iLi9nbG9zc2FyeS5odG1sIj5HbG9zc2FpcmU8L2E+IHwgPGEgaHJlZj0iLi9zaXRlbWFwLmh0bWwiPlBsYW4gZHUgc2l0ZTwvYT48L3A+CjxwIGNsYXNzPSJhcGFjaGUiPlNlcnZldXIgQXBhY2hlIEhUVFAgVmVyc2lvbiAyLjQ8L3A+CjxpbWcgYWx0PSIiIHNyYz0iLi9pbWFnZXMvZmVhdGhlci5wbmciIC8+PC9kaXY+CjxkaXYgY2xhc3M9InVwIj48YSBocmVmPSIuLyI+PGltZyB0aXRsZT0iJmx0Oy0iIGFsdD0iJmx0Oy0iIHNyYz0iLi9pbWFnZXMvbGVmdC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGlkPSJwYXRoIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnLyI+QXBhY2hlPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnLyI+U2VydmV1ciBIVFRQPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvIj5Eb2N1bWVudGF0aW9uPC9hPiAmZ3Q7IDxhIGhyZWY9Ii4vIj5WZXJzaW9uIDIuNDwvYT48L2Rpdj48ZGl2IGlkPSJwYWdlLWNvbnRlbnQiPjxkaXYgaWQ9InByZWFtYmxlIj48aDE+VXRpbGlzYXRpb24gZGVzIGdlc3Rpb25uYWlyZXMgZCdBcGFjaGUgKGhhbmRsZXJzKTwvaDE+CjxkaXYgY2xhc3M9InRvcGxhbmciPgo8cD48c3Bhbj5MYW5ndWVzIERpc3BvbmlibGVzOiA8L3NwYW4+PGEgaHJlZj0iLi9lbi9oYW5kbGVyLmh0bWwiIGhyZWZsYW5nPSJlbiIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL2VzL2hhbmRsZXIuaHRtbCIgaHJlZmxhbmc9ImVzIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkVzcGHxb2wiPiZuYnNwO2VzJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4vZnIvaGFuZGxlci5odG1sIiB0aXRsZT0iRnJhbudhaXMiPiZuYnNwO2ZyJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4vamEvaGFuZGxlci5odG1sIiBocmVmbGFuZz0iamEiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iSmFwYW5lc2UiPiZuYnNwO2phJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4va28vaGFuZGxlci5odG1sIiBocmVmbGFuZz0ia28iIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iS29yZWFuIj4mbmJzcDtrbyZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL3RyL2hhbmRsZXIuaHRtbCIgaHJlZmxhbmc9InRyIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IlT8cmvnZSI+Jm5ic3A7dHImbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi96aC1jbi9oYW5kbGVyLmh0bWwiIGhyZWZsYW5nPSJ6aC1jbiIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJTaW1wbGlmaWVkIENoaW5lc2UiPiZuYnNwO3poLWNuJm5ic3A7PC9hPjwvcD4KPC9kaXY+CgogICAgPHA+Q2UgZG9jdW1lbnQgZOljcml0IGwndXRpbGlzYXRpb24gZGVzIGdlc3Rpb25uYWlyZXMgZCdBcGFjaGUgKGhhbmRsZXJzKS48L3A+CiAgPC9kaXY+CjxkaXYgaWQ9InF1aWNrdmlldyI+PHVsIGlkPSJ0b2MiPjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZGVmaW5pdGlvbiI+UXUnZXN0LWNlIHF1J3VuIGdlc3Rpb25uYWlyZSA/PC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZXhhbXBsZXMiPkV4ZW1wbGVzPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjcHJvZ3JhbW1lciI+Tm90ZSBkdSBk6XZlbG9wcGV1cjwvYT48L2xpPgo8L3VsPjxoMz5Wb2lyIGF1c3NpPC9oMz48dWwgY2xhc3M9InNlZWFsc28iPjxsaT48YSBocmVmPSIjY29tbWVudHNfc2VjdGlvbiI+Q29tbWVudGFpcmVzPC9hPjwvbGk+PC91bD48L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJkZWZpbml0aW9uIiBpZD0iZGVmaW5pdGlvbiI+UXUnZXN0LWNlIHF1J3VuIGdlc3Rpb25uYWlyZSA/PC9hPjwvaDI+CiAgICAKICAgIDx0YWJsZSBjbGFzcz0icmVsYXRlZCI+PHRyPjx0aD5Nb2R1bGVzIEFwcGFyZW506XM8L3RoPjx0aD5EaXJlY3RpdmVzIEFwcGFyZW506WVzPC90aD48L3RyPjx0cj48dGQ+PHVsPjxsaT48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfYWN0aW9ucy5odG1sIj5tb2RfYWN0aW9uczwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2FzaXMuaHRtbCI+bW9kX2FzaXM8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9jZ2kuaHRtbCI+bW9kX2NnaTwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2ltYWdlbWFwLmh0bWwiPm1vZF9pbWFnZW1hcDwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2luZm8uaHRtbCI+bW9kX2luZm88L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9taW1lLmh0bWwiPm1vZF9taW1lPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfbmVnb3RpYXRpb24uaHRtbCI+bW9kX25lZ290aWF0aW9uPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2Rfc3RhdHVzLmh0bWwiPm1vZF9zdGF0dXM8L2E+PC9jb2RlPjwvbGk+PC91bD48L3RkPjx0ZD48dWw+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9hY3Rpb25zLmh0bWwjYWN0aW9uIj5BY3Rpb248L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9taW1lLmh0bWwjYWRkaGFuZGxlciI+QWRkSGFuZGxlcjwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX21pbWUuaHRtbCNyZW1vdmVoYW5kbGVyIj5SZW1vdmVIYW5kbGVyPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9jb3JlLmh0bWwjc2V0aGFuZGxlciI+U2V0SGFuZGxlcjwvYT48L2NvZGU+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPgoKCiAgICA8cD5VbiAiZ2VzdGlvbm5haXJlIiBlc3QgdW5lIHJlcHLpc2VudGF0aW9uIGludGVybmUg4CBBcGFjaGUgZGUgbCdhY3Rpb24KICAgIHF1aSBkb2l0IOp0cmUgZW50cmVwcmlzZSBxdWFuZCB1biBmaWNoaWVyIGVzdCBhcHBlbOkuIEVuIGfpbulyYWwsIGxlcwogICAgZmljaGllcnMgb250IGRlcyBnZXN0aW9ubmFpcmVzIGltcGxpY2l0ZXMsIGJhc+lzIHN1ciBsZSB0eXBlIGR1IGZpY2hpZXIuCiAgICBOb3JtYWxlbWVudCwgdG91cyBsZXMgZmljaGllcnMgc29udCB0cmFpdOlzIHNpbXBsZW1lbnQgcGFyIGxlIHNlcnZldXIsCiAgICBtYWlzIGNlcnRhaW5zIHR5cGVzIGRlIGZpY2hpZXJzIHNvbnQgImfpculzIiBz6XBhcultZW50LjwvcD4KCiAgICA8cD5MZXMgZ2VzdGlvbm5haXJlcyBwZXV2ZW50IGF1c3NpIOp0cmUgY29uZmlndXLpcyBleHBsaWNpdGVtZW50LAogICAgc29pdCBlbiBmb25jdGlvbiBkZXMgZXh0ZW5zaW9ucyBkZXMgbm9tcyBkZSBmaWNoaWVyLCBzb2l0IGVuIGZvbmN0aW9uCiAgICBkdSBjaGVtaW4gZHUgZmljaGllciwKICAgIHNhbnMgZmFpcmUgculm6XJlbmNlIGF1IHR5cGUgZGUgZmljaGllci4gQ2VjaSBhIGxlIGRvdWJsZSBhdmFudGFnZSBkJ+p0cmUKICAgIHVuZSBzb2x1dGlvbiBwbHVzIOls6WdhbnRlLCBldCBhdXNzaSBkJ2F1dG9yaXNlciDgIGFzc29jaWVyIOAgbGEgZm9pcwogICAgdW4gdHlwZSA8c3Ryb25nPmV0PC9zdHJvbmc+IHVuIGdlc3Rpb25uYWlyZSBhdmVjIHVuIGZpY2hpZXIuIChWb2lyIGF1c3NpIDxhIGhyZWY9Im1vZC9tb2RfbWltZS5odG1sI211bHRpcGxlZXh0Ij5GaWNoaWVycyBhdmVjIGV4dGVuc2lvbnMKICAgIG11bHRpcGxlczwvYT4uKTwvcD4KCiAgICA8cD5MZXMgZ2VzdGlvbm5haXJlcyBwZXV2ZW50IOp0cmUgc29pdCBwYXJ0aWUgaW506WdyYW50ZQogICAgZHUgc2VydmV1ciBvdSBpbmNsdXMgZGFucyB1biBtb2R1bGUsIHNvaXQgYWpvdXTpcyDgIGwnYWlkZSBkZSBsYSBkaXJlY3RpdmUKICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9hY3Rpb25zLmh0bWwjYWN0aW9uIj5BY3Rpb248L2E+PC9jb2RlPi4gTGVzIGdlc3Rpb25uYWlyZXMKICAgIGludOlnculzIGRhbnMgbGEgZGlzdHJpYnV0aW9uIHN0YW5kYXJkIHNlIHBy6XNlbnRlbnQgY29tbWUgc3VpdCA6PC9wPgoKICAgIDx1bD4KICAgICAgPGxpPjxzdHJvbmc+ZGVmYXVsdC1oYW5kbGVyPC9zdHJvbmc+OiBlbnZvaWUgbGUgZmljaGllciBlbiB1dGlsaXNhbnQKICAgICAgbGUgPGNvZGU+ZGVmYXVsdF9oYW5kbGVyKCk8L2NvZGU+LCBxdWkgZXN0IGxlIGdlc3Rpb25uYWlyZSB1dGlsaXPpIHBhcgogICAgICBk6WZhdXQgcG91ciB0cmFpdGVyIGxlcyBjb250ZW51cyBzdGF0aXF1ZXMuIChjb3JlKTwvbGk+CgogICAgICA8bGk+PHN0cm9uZz5zZW5kLWFzLWlzPC9zdHJvbmc+OiBlbnZvaWUgbGVzIGZpY2hpZXJzIGF2ZWMgZW4tdOp0ZXMgSFRUUAogICAgICB0ZWxzIHF1ZWxzLiAoPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2FzaXMuaHRtbCI+bW9kX2FzaXM8L2E+PC9jb2RlPik8L2xpPgoKICAgICAgPGxpPjxzdHJvbmc+Y2dpLXNjcmlwdDwvc3Ryb25nPjogdHJhaXRlIGxlIGZpY2hpZXIgY29tbWUgdW4KICAgICAgc2NyaXB0IENHSS4gKDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9jZ2kuaHRtbCI+bW9kX2NnaTwvYT48L2NvZGU+KTwvbGk+CgogICAgICA8bGk+PHN0cm9uZz5pbWFwLWZpbGU8L3N0cm9uZz46IFRyYWl0ZSBsZSBmaWNoaWVyIGNvbW1lIHVuIGVuc2VtYmxlCiAgICAgIGRlIHLoZ2xlcyBkZSBkZXNjcmlwdGlvbnMgZCdpbWFnZXMgKGltYWdlbWFwKS4KICAgICAgKDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9pbWFnZW1hcC5odG1sIj5tb2RfaW1hZ2VtYXA8L2E+PC9jb2RlPik8L2xpPgoKICAgICAgPGxpPjxzdHJvbmc+c2VydmVyLWluZm88L3N0cm9uZz46IEV4dHJhaXQgZGVzIGluZm9ybWF0aW9ucyBzdXIgbGEKICAgICAgY29uZmlndXJhdGlvbiBkdSBzZXJ2ZXVyLiAoPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2luZm8uaHRtbCI+bW9kX2luZm88L2E+PC9jb2RlPik8L2xpPgoKICAgICAgPGxpPjxzdHJvbmc+c2VydmVyLXN0YXR1czwvc3Ryb25nPjogUulkaWdlIHVuIHJhcHBvcnQgc3VyIGxlIHN0YXR1dAogICAgICBkdSBzZXJ2ZXVyLiAoPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX3N0YXR1cy5odG1sIj5tb2Rfc3RhdHVzPC9hPjwvY29kZT4pPC9saT4KCiAgICAgIDxsaT48c3Ryb25nPnR5cGUtbWFwPC9zdHJvbmc+OiBUcmFpdGUgbGUgZmljaGllciBjb21tZSB1bmUgZGVzY3JpcHRpb24KICAgICAgZGUgdHlwZSBwb3VyIGxhIG7pZ29jaWF0aW9uIGR1IGNvbnRlbnUuCiAgICAgICg8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfbmVnb3RpYXRpb24uaHRtbCI+bW9kX25lZ290aWF0aW9uPC9hPjwvY29kZT4pPC9saT4KICAgIDwvdWw+CiAgPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJleGFtcGxlcyIgaWQ9ImV4YW1wbGVzIj5FeGVtcGxlczwvYT48L2gyPgogICAgCgogICAgPGgzPjxhIG5hbWU9ImV4YW1wbGUxIiBpZD0iZXhhbXBsZTEiPk1vZGlmaWNhdGlvbiBkJ3VuIGNvbnRlbnUgc3RhdGlxdWUg4CBsJ2FpZGUgZCd1biBzY3JpcHQgQ0dJPC9hPjwvaDM+CiAgICAgIAoKICAgICAgPHA+TGVzIGRpcmVjdGl2ZXMgc3VpdmFudGVzIHZvbnQgZmFpcmUgZW4gc29ydGUgcXVlIGxlcyByZXF16nRlcyBwb3VyCiAgICAgIGRlcyBmaWNoaWVycyBwb3Nz6WRhbnQgdW5lIGV4dGVuc2lvbiA8Y29kZT5odG1sPC9jb2RlPiBk6WNsZW5jaGVudAogICAgICBsJ2V46WN1dGlvbiBkdSBzY3JpcHQgQ0dJIDxjb2RlPmZvb3Rlci5wbDwvY29kZT4uPC9wPgoKICAgICAgPHByZSBjbGFzcz0icHJldHR5cHJpbnQgbGFuZy1jb25maWciPkFjdGlvbiBhZGQtZm9vdGVyIC9jZ2ktYmluL2Zvb3Rlci5wbApBZGRIYW5kbGVyIGFkZC1mb290ZXIgLmh0bWw8L3ByZT4KCgogICAgICA8cD7AIGNlIG1vbWVudC1s4CwgbGUgc2NyaXB0IENHSSBzZSBjaGFyZ2UgZCdlbnZveWVyIGxlIGRvY3VtZW50CiAgICAgIGluaXRpYWxlbWVudCBkZW1hbmTpIChy6WbpcmVuY+kgcGFyIGxhIHZhcmlhYmxlIGQnZW52aXJvbm5lbWVudAogICAgICA8Y29kZT5QQVRIX1RSQU5TTEFURUQ8L2NvZGU+KSBldCBkJ2VmZmVjdHVlciB0b3VzIGFqb3V0IG91IG1vZGlmaWNhdGlvbgogICAgICB2b3VsdXMuPC9wPgoKICAgIAogICAgPGgzPjxhIG5hbWU9ImV4YW1wbGUyIiBpZD0iZXhhbXBsZTIiPkZpY2hpZXJzIGF2ZWMgZW4tdOp0ZXMgSFRUUDwvYT48L2gzPgogICAgICAKCiAgICAgIDxwPkxlcyBkaXJlY3RpdmVzIHN1aXZhbnRlcyB2b250IGFjdGl2ZXIgbGUgZ2VzdGlvbm5haXJlCiAgICAgIDxjb2RlPnNlbmQtYXMtaXM8L2NvZGU+LCBxdWkgZXN0IHV0aWxpc+kgcG91ciBsZXMgZmljaGllcnMgcXVpIHBvc3PoZGVudAogICAgICBsZXVycyBwcm9wcmVzIGVuLXTqdGVzIEhUVFAuIFRvdXMgbGVzIGZpY2hpZXJzIHNpdHXpcyBkYW5zIGxlIHLpcGVydG9pcmUKICAgICAgPGNvZGU+L3dlYi9odGRvY3MvYXNpcy88L2NvZGU+IHNlcm9udCB0cmFpdOlzIHBhciBsZSBnZXN0aW9ubmFpcmUKICAgICAgPGNvZGU+c2VuZC1hcy1pczwvY29kZT4sIHNhbnMgdGVuaXIgY29tcHRlIGRlIGwnZXh0ZW5zaW9uCiAgICAgIGRlIGxldXIgbm9tIGRlIGZpY2hpZXIuPC9wPgoKICAgICAgPHByZSBjbGFzcz0icHJldHR5cHJpbnQgbGFuZy1jb25maWciPiZsdDtEaXJlY3RvcnkgIi93ZWIvaHRkb2NzL2FzaXMiJmd0OwogICAgU2V0SGFuZGxlciBzZW5kLWFzLWlzCiZsdDsvRGlyZWN0b3J5Jmd0OzwvcHJlPgoKCiAgICAKICA8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9InByb2dyYW1tZXIiIGlkPSJwcm9ncmFtbWVyIj5Ob3RlIGR1IGTpdmVsb3BwZXVyPC9hPjwvaDI+CiAgICAKCiAgICA8cD5Qb3VyIGltcGzpbWVudGVyIGxhIGZvbmN0aW9ubmFsaXTpIGRlcyBnZXN0aW9ubmFpcmVzLCBsJwogICAgPGEgaHJlZj0iZGV2ZWxvcGVyL0FQSS5odG1sIj5BUEkgQXBhY2hlPC9hPiBhIGZhaXQgbCdvYmpldCBkJ3VuIGFqb3V0CiAgICBxdWUgdm91cyBwb3VycmlleiDqdHJlIGFtZW7pIOAgdXRpbGlzZXIuCgogICAgUGx1cyBwculjaXPpbWVudCwgdW4gbm91dmVsIGVucmVnaXN0cmVtZW50IGEg6XTpIGFqb3V06SDgIGxhIHN0cnVjdHVyZQogICAgPGNvZGU+cmVxdWVzdF9yZWM8L2NvZGU+IDo8L3A+CgogICAgPHByZSBjbGFzcz0icHJldHR5cHJpbnQgbGFuZy1jIj5jaGFyICpoYW5kbGVyPC9wcmU+CgoKICAgIDxwPlNpIHZvdXMgdm91bGV6IHF1ZSB2b3RyZSBtb2R1bGUgZOljbGVuY2hlIGwndXRpbGlzYXRpb24gZCd1bgogICAgZ2VzdGlvbm5haXJlLCBpbCB2b3VzIHN1ZmZpdCBkZSBk6WZpbmlyIDxjb2RlPnItJmd0O2hhbmRsZXI8L2NvZGU+IGF2ZWMKICAgIGxlIG5vbSBkdSBnZXN0aW9ubmFpcmUg4CBuJ2ltcG9ydGUgcXVlbCBtb21lbnQgYXZhbnQgbCfpdGFwZQogICAgPGNvZGU+aW52b2tlX2hhbmRsZXI8L2NvZGU+CiAgICBkZSBsYSByZXF16nRlLiBMZXMgZ2VzdGlvbm5haXJlcyBzb250IGltcGzpbWVudOlzIGNvbW1lIGF1cGFyYXZhbnQsCiAgICBxdW9pcXVlIGwnb24gdXRpbGlzZSBsZSBub20gZHUgZ2VzdGlvbm5haXJlIOAgbGEgcGxhY2UgZCd1biB0eXBlCiAgICBkZSBjb250ZW51LiBCaWVuIHF1ZSBjZSBuZSBzb2l0IHBhcyBvYmxpZ2F0b2lyZSwgbGEgY29udmVudGlvbiBkZSBub21tYWdlCiAgICBkZXMgZ2VzdGlvbm5haXJlcyBzdGlwdWxlIGwndXRpbGlzYXRpb24gZCd1biBtb3QgY29tcG9z6SBz6XBhcukgcGFyIGRlcwogICAgdGlyZXRzLCBzYW5zIHNsYXNoZXMsIGFmaW4gZGUgbmUgcGFzIGludGVyZulyZXIgYXZlYyBsJ2VzcGFjZSBkZSBub21tYWdlCiAgICBkZXMgdHlwZXMgZGUgbelkaWEuPC9wPgogIDwvZGl2PjwvZGl2Pgo8ZGl2IGNsYXNzPSJib3R0b21sYW5nIj4KPHA+PHNwYW4+TGFuZ3VlcyBEaXNwb25pYmxlczogPC9zcGFuPjxhIGhyZWY9Ii4vZW4vaGFuZGxlci5odG1sIiBocmVmbGFuZz0iZW4iIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iRW5nbGlzaCI+Jm5ic3A7ZW4mbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi9lcy9oYW5kbGVyLmh0bWwiIGhyZWZsYW5nPSJlcyIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJFc3Bh8W9sIj4mbmJzcDtlcyZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL2ZyL2hhbmRsZXIuaHRtbCIgdGl0bGU9IkZyYW7nYWlzIj4mbmJzcDtmciZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL2phL2hhbmRsZXIuaHRtbCIgaHJlZmxhbmc9ImphIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkphcGFuZXNlIj4mbmJzcDtqYSZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL2tvL2hhbmRsZXIuaHRtbCIgaHJlZmxhbmc9ImtvIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IktvcmVhbiI+Jm5ic3A7a28mbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi90ci9oYW5kbGVyLmh0bWwiIGhyZWZsYW5nPSJ0ciIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJU/HJr52UiPiZuYnNwO3RyJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4vemgtY24vaGFuZGxlci5odG1sIiBocmVmbGFuZz0iemgtY24iIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iU2ltcGxpZmllZCBDaGluZXNlIj4mbmJzcDt6aC1jbiZuYnNwOzwvYT48L3A+CjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiBhbHQ9InRvcCIgLz48L2E+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiI+PGgyPjxhIGlkPSJjb21tZW50c19zZWN0aW9uIiBuYW1lPSJjb21tZW50c19zZWN0aW9uIj5Db21tZW50YWlyZXM8L2E+PC9oMj48ZGl2IGNsYXNzPSJ3YXJuaW5nIj48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz48YnIgLz5UaGlzIGlzIG5vdCBhIFEmYW1wO0Egc2VjdGlvbi4gQ29tbWVudHMgcGxhY2VkIGhlcmUgc2hvdWxkIGJlIHBvaW50ZWQgdG93YXJkcyBzdWdnZXN0aW9ucyBvbiBpbXByb3ZpbmcgdGhlIGRvY3VtZW50YXRpb24gb3Igc2VydmVyLCBhbmQgbWF5IGJlIHJlbW92ZWQgYWdhaW4gYnkgb3VyIG1vZGVyYXRvcnMgaWYgdGhleSBhcmUgZWl0aGVyIGltcGxlbWVudGVkIG9yIGNvbnNpZGVyZWQgaW52YWxpZC9vZmYtdG9waWMuIFF1ZXN0aW9ucyBvbiBob3cgdG8gbWFuYWdlIHRoZSBBcGFjaGUgSFRUUCBTZXJ2ZXIgc2hvdWxkIGJlIGRpcmVjdGVkIGF0IGVpdGhlciBvdXIgSVJDIGNoYW5uZWwsICNodHRwZCwgb24gRnJlZW5vZGUsIG9yIHNlbnQgdG8gb3VyIDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2xpc3RzLmh0bWwiPm1haWxpbmcgbGlzdHM8L2E+LjwvZGl2Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLS8vLS0+PCFbQ0RBVEFbLy8+PCEtLQp2YXIgY29tbWVudHNfc2hvcnRuYW1lID0gJ2h0dHBkJzsKdmFyIGNvbW1lbnRzX2lkZW50aWZpZXIgPSAnaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8yLjQvaGFuZGxlci5odG1sJzsKKGZ1bmN0aW9uKHcsIGQpIHsKICAgIGlmICh3LmxvY2F0aW9uLmhvc3RuYW1lLnRvTG93ZXJDYXNlKCkgPT0gImh0dHBkLmFwYWNoZS5vcmciKSB7CiAgICAgICAgZC53cml0ZSgnPGRpdiBpZD0iY29tbWVudHNfdGhyZWFkIj48XC9kaXY+Jyk7CiAgICAgICAgdmFyIHMgPSBkLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogICAgICAgIHMudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICAgIHMuYXN5bmMgPSB0cnVlOwogICAgICAgIHMuc3JjID0gJ2h0dHBzOi8vY29tbWVudHMuYXBhY2hlLm9yZy9zaG93X2NvbW1lbnRzLmx1YT9zaXRlPScgKyBjb21tZW50c19zaG9ydG5hbWUgKyAnJnBhZ2U9JyArIGNvbW1lbnRzX2lkZW50aWZpZXI7CiAgICAgICAgKGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXSB8fCBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF0pLmFwcGVuZENoaWxkKHMpOwogICAgfQogICAgZWxzZSB7IAogICAgICAgIGQud3JpdGUoJzxkaXYgaWQ9ImNvbW1lbnRzX3RocmVhZCI+Q29tbWVudHMgYXJlIGRpc2FibGVkIGZvciB0aGlzIHBhZ2UgYXQgdGhlIG1vbWVudC48XC9kaXY+Jyk7CiAgICB9Cn0pKHdpbmRvdywgZG9jdW1lbnQpOwovLy0tPjwhXV0+PC9zY3JpcHQ+PC9kaXY+PGRpdiBpZD0iZm9vdGVyIj4KPHAgY2xhc3M9ImFwYWNoZSI+Q29weXJpZ2h0IDIwMTYgVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLjxiciAvPkF1dG9yaXPpIHNvdXMgPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIj5BcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjA8L2E+LjwvcD4KPHAgY2xhc3M9Im1lbnUiPjxhIGhyZWY9Ii4vbW9kLyI+TW9kdWxlczwvYT4gfCA8YSBocmVmPSIuL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iaHR0cDovL3dpa2kuYXBhY2hlLm9yZy9odHRwZC9GQVEiPkZBUTwvYT4gfCA8YSBocmVmPSIuL2dsb3NzYXJ5Lmh0bWwiPkdsb3NzYWlyZTwvYT4gfCA8YSBocmVmPSIuL3NpdGVtYXAuaHRtbCI+UGxhbiBkdSBzaXRlPC9hPjwvcD48L2Rpdj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLS8vLS0+PCFbQ0RBVEFbLy8+PCEtLQppZiAodHlwZW9mKHByZXR0eVByaW50KSAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgIHByZXR0eVByaW50KCk7Cn0KLy8tLT48IV1dPjwvc2NyaXB0Pgo8L2JvZHk+PC9odG1sPg==