PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+CjxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPjx0aXRsZT5uYW5vZnRwPC90aXRsZT48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjU4LjEiPjxzdHlsZSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgdHlwZT0idGV4dC9jc3MiPgogICAgICAgIC5zeW5vcHNpcywgLmNsYXNzc3lub3BzaXMgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlZWVlOwogICAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjYWFhYWFhOwogICAgICAgICAgICBwYWRkaW5nOiAwLjVlbTsKICAgICAgICB9CiAgICAgICAgLnByb2dyYW1saXN0aW5nIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogI2VlZWVmZjsKICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2FhYWFmZjsKICAgICAgICAgICAgcGFkZGluZzogMC41ZW07CiAgICAgICAgfQogICAgICAgIC52YXJpYWJsZWxpc3QgewogICAgICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzZW07CiAgICAgICAgfQogICAgICAgIC5uYXZpZ2F0aW9uIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZWVlZTsKICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2ZmYWFhYTsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41ZW07CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOwogICAgICAgIH0KICAgICAgICAubmF2aWdhdGlvbiBhIHsKICAgICAgICAgICAgY29sb3I6ICM3NzAwMDA7CiAgICAgICAgfQogICAgICAgIC5uYXZpZ2F0aW9uIGE6dmlzaXRlZCB7CiAgICAgICAgICAgIGNvbG9yOiAjNTUwMDAwOwogICAgICAgIH0KICAgICAgICAubmF2aWdhdGlvbiAudGl0bGUgewogICAgICAgICAgICBmb250LXNpemU6IDIwMCU7CiAgICAgICAgfQogICAgICA8L3N0eWxlPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9Ikdub21lIFhNTCBMaWJyYXJ5IFJlZmVyZW5jZSBNYW51YWwiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImxpYnhtbC1saWIuaHRtbCIgdGl0bGU9IkxpYnhtbCBMaWJyYXJ5IFJlZmVyZW5jZSI+PGxpbmsgcmVsPSJwcmV2aW91cyIgaHJlZj0ibGlieG1sLW5hbm9odHRwLmh0bWwiIHRpdGxlPSJuYW5vaHR0cCI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCIgdGl0bGU9InhtbElPIj48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjx0YWJsZSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZD48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC1uYW5vaHR0cC5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiPjwvaW1nPjwvYT48L3RkPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImxpYnhtbC1saWIuaHRtbCI+PGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiPjwvaW1nPjwvYT48L3RkPjx0ZD48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSI+PC9pbWc+PC9hPjwvdGQ+PHRoIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj5Hbm9tZSBYTUwgTGlicmFyeSBSZWZlcmVuY2UgTWFudWFsPC90aD48dGQ+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCI+PC9pbWc+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxkaXYgY2xhc3M9InJlZmVudHJ5IiBsYW5nPSJlbiI+PGEgbmFtZT0ibGlieG1sLW5hbm9mdHAiPjwvYT48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjwvZGl2PjxkaXYgY2xhc3M9InJlZm5hbWVkaXYiPjxoMj5uYW5vZnRwPC9oMj48cD5uYW5vZnRwICYjODIxMjsgPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij48aDI+U3lub3BzaXM8L2gyPjxwcmUgY2xhc3M9InN5bm9wc2lzIj4KCgoKdm9pZCAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwjZnRwTGlzdENhbGxiYWNrIj4qZnRwTGlzdENhbGxiYWNrPC9hPikgICAgICAgICAgICAgICh2b2lkICp1c2VyRGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmF0dHJpYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqb3duZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmdyb3VwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ibG9uZy1zaXplIj5sb25nIHNpemU8L0dUS0RPQ0xJTks+LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGlua3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5ZWFyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICptb250aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRheSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhvdXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBtaW51dGUpOwp2b2lkICAgICAgICAoPGEgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCNmdHBEYXRhQ2FsbGJhY2siPipmdHBEYXRhQ2FsbGJhY2s8L2E+KSAgICAgICAgICAgICAgKHZvaWQgKnVzZXJEYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpkYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGVuKTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQSW5pdCI+eG1sTmFub0ZUUEluaXQ8L2E+ICAgICAgICAgICAgICAgICAgKHZvaWQpOwp2b2lkICAgICAgICA8YSBocmVmPSJsaWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDbGVhbnVwIj54bWxOYW5vRlRQQ2xlYW51cDwvYT4gICAgICAgICAgICAgICAodm9pZCk7CnZvaWQqICAgICAgIDxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUE5ld0N0eHQiPnhtbE5hbm9GVFBOZXdDdHh0PC9hPiAgICAgICAgICAgICAgIChjb25zdCBjaGFyICpVUkwpOwp2b2lkICAgICAgICA8YSBocmVmPSJsaWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBGcmVlQ3R4dCI+eG1sTmFub0ZUUEZyZWVDdHh0PC9hPiAgICAgICAgICAgICAgKHZvaWQgKmN0eCk7CnZvaWQqICAgICAgIDxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENvbm5lY3RUbyI+eG1sTmFub0ZUUENvbm5lY3RUbzwvYT4gICAgICAgICAgICAgKGNvbnN0IGNoYXIgKnNlcnZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBvcnQpOwp2b2lkKiAgICAgICA8YSBocmVmPSJsaWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBPcGVuIj54bWxOYW5vRlRQT3BlbjwvYT4gICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqVVJMKTsKaW50ICAgICAgICAgPGEgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ29ubmVjdCI+eG1sTmFub0ZUUENvbm5lY3Q8L2E+ICAgICAgICAgICAgICAgKHZvaWQgKmN0eCk7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENsb3NlIj54bWxOYW5vRlRQQ2xvc2U8L2E+ICAgICAgICAgICAgICAgICAodm9pZCAqY3R4KTsKaW50ICAgICAgICAgPGEgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQUXVpdCI+eG1sTmFub0ZUUFF1aXQ8L2E+ICAgICAgICAgICAgICAgICAgKHZvaWQgKmN0eCk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFNjYW5Qcm94eSI+eG1sTmFub0ZUUFNjYW5Qcm94eTwvYT4gICAgICAgICAgICAgKGNvbnN0IGNoYXIgKlVSTCk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFByb3h5Ij54bWxOYW5vRlRQUHJveHk8L2E+ICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqaG9zdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBvcnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnVzZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnBhc3N3ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHR5cGUpOwppbnQgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBVcGRhdGVVUkwiPnhtbE5hbm9GVFBVcGRhdGVVUkw8L2E+ICAgICAgICAgICAgICh2b2lkICpjdHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKlVSTCk7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldFJlc3BvbnNlIj54bWxOYW5vRlRQR2V0UmVzcG9uc2U8L2E+ICAgICAgICAgICAodm9pZCAqY3R4KTsKaW50ICAgICAgICAgPGEgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZSI+eG1sTmFub0ZUUENoZWNrUmVzcG9uc2U8L2E+ICAgICAgICAgKHZvaWQgKmN0eCk7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEN3ZCI+eG1sTmFub0ZUUEN3ZDwvYT4gICAgICAgICAgICAgICAgICAgKHZvaWQgKmN0eCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqZGlyZWN0b3J5KTsKaW50ICAgICAgICAgPGEgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQRGVsZSI+eG1sTmFub0ZUUERlbGU8L2E+ICAgICAgICAgICAgICAgICAgKHZvaWQgKmN0eCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqZmlsZSk7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldENvbm5lY3Rpb24iPnhtbE5hbm9GVFBHZXRDb25uZWN0aW9uPC9hPiAgICAgICAgICh2b2lkICpjdHgpOwppbnQgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb24iPnhtbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb248L2E+ICAgICAgICh2b2lkICpjdHgpOwppbnQgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBMaXN0Ij54bWxOYW5vRlRQTGlzdDwvYT4gICAgICAgICAgICAgICAgICAodm9pZCAqY3R4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtbmFub2Z0cC5odG1sI2Z0cExpc3RDYWxsYmFjayI+ZnRwTGlzdENhbGxiYWNrPC9hPiBjYWxsYmFjaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlckRhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmZpbGVuYW1lKTsKaW50ICAgICAgICAgPGEgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQR2V0U29ja2V0Ij54bWxOYW5vRlRQR2V0U29ja2V0PC9hPiAgICAgICAgICAgICAodm9pZCAqY3R4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSk7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldCI+eG1sTmFub0ZUUEdldDwvYT4gICAgICAgICAgICAgICAgICAgKHZvaWQgKmN0eCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCNmdHBEYXRhQ2FsbGJhY2siPmZ0cERhdGFDYWxsYmFjazwvYT4gY2FsbGJhY2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnVzZXJEYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSk7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFJlYWQiPnhtbE5hbm9GVFBSZWFkPC9hPiAgICAgICAgICAgICAgICAgICh2b2lkICpjdHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmRlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZW4pOwo8L3ByZT48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPjxoMj5EZXNjcmlwdGlvbjwvaDI+PHA+Cgo8L3A+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj48aDI+RGV0YWlsczwvaDI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iZnRwTGlzdENhbGxiYWNrIj48L2E+ZnRwTGlzdENhbGxiYWNrICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgKCpmdHBMaXN0Q2FsbGJhY2spICAgICAgICAgICAgICAodm9pZCAqdXNlckRhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICphdHRyaWIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm93bmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpncm91cCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9Imxvbmctc2l6ZSI+bG9uZyBzaXplPC9HVEtET0NMSU5LPiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxpbmtzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeWVhciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbW9udGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkYXksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBob3VyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbWludXRlKTs8L3ByZT48cD4KQSBjYWxsYmFjayBmb3IgdGhlIHhtbE5hbm9GVFBMaXN0IGNvbW1hbmQuCk5vdGUgdGhhdCBvbmx5IG9uZSBvZiB5ZWFyIGFuZCBkYXk6bWludXRlIGFyZSBzcGVjaWZpZWQuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlckRhdGE8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmF0dHJpYjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm93bmVyPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Z3JvdXA8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5QYXJhbTY8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5saW5rczwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnllYXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tb250aDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRheTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhvdXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5taW51dGU8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4KCgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJmdHBEYXRhQ2FsbGJhY2siPjwvYT5mdHBEYXRhQ2FsbGJhY2sgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICAoKmZ0cERhdGFDYWxsYmFjaykgICAgICAgICAgICAgICh2b2lkICp1c2VyRGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxlbik7PC9wcmU+PHA+CkEgY2FsbGJhY2sgZm9yIHRoZSB4bWxOYW5vRlRQR2V0IGNvbW1hbmQuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlckRhdGE8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+CgoKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUEluaXQiPjwvYT54bWxOYW5vRlRQSW5pdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbE5hbm9GVFBJbml0ICAgICAgICAgICAgICAgICAgKHZvaWQpOzwvcHJlPjxwPgpJbml0aWFsaXplIHRoZSBGVFAgcHJvdG9jb2wgbGF5ZXIuCkN1cnJlbnRseSBpdCBqdXN0IGNoZWNrcyBmb3IgcHJveHkgaW5mb3JtYXRpb25zLAphbmQgZ2V0IHRoZSBob3N0bmFtZTwvcD48cD4KCjwvcD48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUENsZWFudXAiPjwvYT54bWxOYW5vRlRQQ2xlYW51cCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbE5hbm9GVFBDbGVhbnVwICAgICAgICAgICAgICAgKHZvaWQpOzwvcHJlPjxwPgpDbGVhbnVwIHRoZSBGVFAgcHJvdG9jb2wgbGF5ZXIuIFRoaXMgY2xlYW51cCBwcm94eSBpbmZvcm1hdGlvbnMuPC9wPjxwPgoKPC9wPjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQTmV3Q3R4dCI+PC9hPnhtbE5hbm9GVFBOZXdDdHh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCogICAgICAgeG1sTmFub0ZUUE5ld0N0eHQgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqVVJMKTs8L3ByZT48cD4KQWxsb2NhdGUgYW5kIGluaXRpYWxpemUgYSBuZXcgRlRQIGNvbnRleHQuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+CgoKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUEZyZWVDdHh0Ij48L2E+eG1sTmFub0ZUUEZyZWVDdHh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sTmFub0ZUUEZyZWVDdHh0ICAgICAgICAgICAgICAodm9pZCAqY3R4KTs8L3ByZT48cD4KRnJlZXMgdGhlIGNvbnRleHQgYWZ0ZXIgY2xvc2luZyB0aGUgY29ubmVjdGlvbi48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4KCgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQQ29ubmVjdFRvIj48L2E+eG1sTmFub0ZUUENvbm5lY3RUbyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQqICAgICAgIHhtbE5hbm9GVFBDb25uZWN0VG8gICAgICAgICAgICAgKGNvbnN0IGNoYXIgKnNlcnZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBvcnQpOzwvcHJlPjxwPgpUcmllcyB0byBvcGVuIGEgY29udHJvbCBjb25uZWN0aW9uIHRvIHRoZSBnaXZlbiBzZXJ2ZXIvcG9ydDwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNlcnZlcjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBvcnQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4KCgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQT3BlbiI+PC9hPnhtbE5hbm9GVFBPcGVuICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCogICAgICAgeG1sTmFub0ZUUE9wZW4gICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqVVJMKTs8L3ByZT48cD4KU3RhcnQgdG8gZmV0Y2ggdGhlIGdpdmVuIGZ0cDovLyByZXNvdXJjZTwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgoKCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBDb25uZWN0Ij48L2E+eG1sTmFub0ZUUENvbm5lY3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICB4bWxOYW5vRlRQQ29ubmVjdCAgICAgICAgICAgICAgICh2b2lkICpjdHgpOzwvcHJlPjxwPgpUcmllcyB0byBvcGVuIGEgY29udHJvbCBjb25uZWN0aW9uPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+CgoKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUENsb3NlIj48L2E+eG1sTmFub0ZUUENsb3NlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sTmFub0ZUUENsb3NlICAgICAgICAgICAgICAgICAodm9pZCAqY3R4KTs8L3ByZT48cD4KQ2xvc2UgdGhlIGNvbm5lY3Rpb24gYW5kIGJvdGggY29udHJvbCBhbmQgdHJhbnNwb3J0PC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+CgoKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUFF1aXQiPjwvYT54bWxOYW5vRlRQUXVpdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgIHhtbE5hbm9GVFBRdWl0ICAgICAgICAgICAgICAgICAgKHZvaWQgKmN0eCk7PC9wcmU+PHA+ClNlbmQgYSBRVUlUIGNvbW1hbmQgdG8gdGhlIHNlcnZlcjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPgoKCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBTY2FuUHJveHkiPjwvYT54bWxOYW5vRlRQU2NhblByb3h5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sTmFub0ZUUFNjYW5Qcm94eSAgICAgICAgICAgICAoY29uc3QgY2hhciAqVVJMKTs8L3ByZT48cD4KKFJlKUluaXRpYWxpemUgdGhlIEZUUCBQcm94eSBjb250ZXh0IGJ5IHBhcnNpbmcgdGhlIFVSTCBhbmQgZmluZGluZwp0aGUgcHJvdG9jb2wgaG9zdCBwb3J0IGl0IGluZGljYXRlcy4KU2hvdWxkIGJlIGxpa2UgZnRwOi8vbXlwcm94eS8gb3IgZnRwOi8vbXlwcm94eTozMTI4LwpBIE5VTEwgVVJMIGNsZWFucyB1cCBwcm94eSBpbmZvcm1hdGlvbnMuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+CgoKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUFByb3h5Ij48L2E+eG1sTmFub0ZUUFByb3h5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sTmFub0ZUUFByb3h5ICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqaG9zdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBvcnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnVzZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnBhc3N3ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHR5cGUpOzwvcHJlPjxwPgpTZXR1cCB0aGUgRlRQIHByb3h5IGluZm9ybWF0aW9ucy4KVGhpcyBjYW4gYWxzbyBiZSBkb25lIGJ5IHVzaW5nIGZ0cF9wcm94eSBmdHBfcHJveHlfdXNlciBhbmQKZnRwX3Byb3h5X3Bhc3N3b3JkIGVudmlyb25tZW50IHZhcmlhYmxlcy48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ob3N0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cG9ydDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wYXNzd2Q8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eXBlPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+CgoKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUFVwZGF0ZVVSTCI+PC9hPnhtbE5hbm9GVFBVcGRhdGVVUkwgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICB4bWxOYW5vRlRQVXBkYXRlVVJMICAgICAgICAgICAgICh2b2lkICpjdHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKlVSTCk7PC9wcmU+PHA+ClVwZGF0ZSBhbiBGVFAgY29udGV4dCBieSBwYXJzaW5nIHRoZSBVUkwgYW5kIGZpbmRpbmcKbmV3IHBhdGggaXQgaW5kaWNhdGVzLiBJZiB0aGVyZSBpcyBhbiBlcnJvciBpbiB0aGUgCnByb3RvY29sLCBob3N0bmFtZSwgcG9ydCBvciBvdGhlciBpbmZvcm1hdGlvbiwgdGhlCmVycm9yIGlzIHJhaXNlZC4gSXQgaW5kaWNhdGVzIGEgbmV3IGNvbm5lY3Rpb24gaGFzIHRvCmJlIGVzdGFibGlzaGVkLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPgoKCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBHZXRSZXNwb25zZSI+PC9hPnhtbE5hbm9GVFBHZXRSZXNwb25zZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgIHhtbE5hbm9GVFBHZXRSZXNwb25zZSAgICAgICAgICAgKHZvaWQgKmN0eCk7PC9wcmU+PHA+CkdldCB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgRlRQIHNlcnZlciBhZnRlciBhIGNvbW1hbmQuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+CgoKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUENoZWNrUmVzcG9uc2UiPjwvYT54bWxOYW5vRlRQQ2hlY2tSZXNwb25zZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgIHhtbE5hbm9GVFBDaGVja1Jlc3BvbnNlICAgICAgICAgKHZvaWQgKmN0eCk7PC9wcmU+PHA+CkNoZWNrIGlmIHRoZXJlIGlzIGEgcmVzcG9uc2UgZnJvbSB0aGUgRlRQIHNlcnZlciBhZnRlciBhIGNvbW1hbmQuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+CgoKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUEN3ZCI+PC9hPnhtbE5hbm9GVFBDd2QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICB4bWxOYW5vRlRQQ3dkICAgICAgICAgICAgICAgICAgICh2b2lkICpjdHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmRpcmVjdG9yeSk7PC9wcmU+PHA+ClRyaWVzIHRvIGNoYW5nZSB0aGUgcmVtb3RlIGRpcmVjdG9yeTwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRpcmVjdG9yeTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPgoKCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBEZWxlIj48L2E+eG1sTmFub0ZUUERlbGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICB4bWxOYW5vRlRQRGVsZSAgICAgICAgICAgICAgICAgICh2b2lkICpjdHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmZpbGUpOzwvcHJlPjxwPgpUcmllcyB0byBkZWxldGUgYW4gaXRlbSAoZmlsZSBvciBkaXJlY3RvcnkpIGZyb20gc2VydmVyPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPgoKCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBHZXRDb25uZWN0aW9uIj48L2E+eG1sTmFub0ZUUEdldENvbm5lY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICB4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbiAgICAgICAgICh2b2lkICpjdHgpOzwvcHJlPjxwPgpUcnkgdG8gb3BlbiBhIGRhdGEgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyLiBDdXJyZW50bHkgb25seQpwYXNzaXZlIG1vZGUgaXMgc3VwcG9ydGVkLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPgoKCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb24iPjwvYT54bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbiAgICAgICAodm9pZCAqY3R4KTs8L3ByZT48cD4KQ2xvc2UgdGhlIGRhdGEgY29ubmVjdGlvbiBmcm9tIHRoZSBzZXJ2ZXI8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD4KCgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQTGlzdCI+PC9hPnhtbE5hbm9GVFBMaXN0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sTmFub0ZUUExpc3QgICAgICAgICAgICAgICAgICAodm9pZCAqY3R4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtbmFub2Z0cC5odG1sI2Z0cExpc3RDYWxsYmFjayI+ZnRwTGlzdENhbGxiYWNrPC9hPiBjYWxsYmFjaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlckRhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmZpbGVuYW1lKTs8L3ByZT48cD4KRG8gYSBsaXN0aW5nIG9uIHRoZSBzZXJ2ZXIuIEFsbCBmaWxlcyBpbmZvIGFyZSBwYXNzZWQgYmFjawppbiB0aGUgY2FsbGJhY2tzLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNhbGxiYWNrPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlckRhdGE8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPgoKCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBHZXRTb2NrZXQiPjwvYT54bWxOYW5vRlRQR2V0U29ja2V0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sTmFub0ZUUEdldFNvY2tldCAgICAgICAgICAgICAodm9pZCAqY3R4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSk7PC9wcmU+PHA+CkluaXRpYXRlIGZldGNoIG9mIHRoZSBnaXZlbiBmaWxlIGZyb20gdGhlIHNlcnZlci48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPgoKCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBHZXQiPjwvYT54bWxOYW5vRlRQR2V0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sTmFub0ZUUEdldCAgICAgICAgICAgICAgICAgICAodm9pZCAqY3R4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtbmFub2Z0cC5odG1sI2Z0cERhdGFDYWxsYmFjayI+ZnRwRGF0YUNhbGxiYWNrPC9hPiBjYWxsYmFjaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlckRhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lKTs8L3ByZT48cD4KRmV0Y2ggdGhlIGdpdmVuIGZpbGUgZnJvbSB0aGUgc2VydmVyLiBBbGwgZGF0YSBhcmUgcGFzc2VkIGJhY2sKaW4gdGhlIGNhbGxiYWNrcy4gVGhlIGxhc3QgY2FsbGJhY2sgaGFzIGEgc2l6ZSBvZiAwIGJsb2NrLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNhbGxiYWNrPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlckRhdGE8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPgoKCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBSZWFkIj48L2E+eG1sTmFub0ZUUFJlYWQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICB4bWxOYW5vRlRQUmVhZCAgICAgICAgICAgICAgICAgICh2b2lkICpjdHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmRlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZW4pOzwvcHJlPjxwPgpUaGlzIGZ1bmN0aW9uIHRyaWVzIHRvIHJlYWQgPGk+PHR0PmxlbjwvdHQ+PC9pPiBieXRlcyBmcm9tIHRoZSBleGlzdGluZyBGVFAgY29ubmVjdGlvbgphbmQgc2F2ZXMgdGhlbSBpbiA8aT48dHQ+ZGVzdDwvdHQ+PC9pPi4gVGhpcyBpcyBhIGJsb2NraW5nIGNhbGwuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGVzdDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPgoKCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PHRhYmxlIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gZm9vdGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC1uYW5vaHR0cC5odG1sIj48Yj4mbHQ7Jmx0O6BuYW5vaHR0cDwvYj48L2E+PC90ZD48dGQgYWxpZ249InJpZ2h0Ij48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sIj48Yj54bWxJT6AmZ3Q7Jmd0OzwvYj48L2E+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4K