PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PHRpdGxlPnhtbElPPC90aXRsZT48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjU4LjEiPjxzdHlsZSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgdHlwZT0idGV4dC9jc3MiPgogICAgICAgIC5zeW5vcHNpcywgLmNsYXNzc3lub3BzaXMgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlZWVlOwogICAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjYWFhYWFhOwogICAgICAgICAgICBwYWRkaW5nOiAwLjVlbTsKICAgICAgICB9CiAgICAgICAgLnByb2dyYW1saXN0aW5nIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogI2VlZWVmZjsKICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2FhYWFmZjsKICAgICAgICAgICAgcGFkZGluZzogMC41ZW07CiAgICAgICAgfQogICAgICAgIC52YXJpYWJsZWxpc3QgewogICAgICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzZW07CiAgICAgICAgfQogICAgICAgIC5uYXZpZ2F0aW9uIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZWVlZTsKICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2ZmYWFhYTsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41ZW07CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOwogICAgICAgIH0KICAgICAgICAubmF2aWdhdGlvbiBhIHsKICAgICAgICAgICAgY29sb3I6ICM3NzAwMDA7CiAgICAgICAgfQogICAgICAgIC5uYXZpZ2F0aW9uIGE6dmlzaXRlZCB7CiAgICAgICAgICAgIGNvbG9yOiAjNTUwMDAwOwogICAgICAgIH0KICAgICAgICAubmF2aWdhdGlvbiAudGl0bGUgewogICAgICAgICAgICBmb250LXNpemU6IDIwMCU7CiAgICAgICAgfQogICAgICA8L3N0eWxlPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9Ikdub21lIFhNTCBMaWJyYXJ5IFJlZmVyZW5jZSBNYW51YWwiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImxpYnhtbC1saWIuaHRtbCIgdGl0bGU9IkxpYnhtbCBMaWJyYXJ5IFJlZmVyZW5jZSI+PGxpbmsgcmVsPSJwcmV2aW91cyIgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCIgdGl0bGU9Im5hbm9mdHAiPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCIgdGl0bGU9ImNhdGFsb2ciPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+PHRhYmxlIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ij48L2ltZz48L2E+PC90ZD48dGQ+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJsaWJ4bWwtbGliLmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIj48L2ltZz48L2E+PC90ZD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiPjwvaW1nPjwvYT48L3RkPjx0aCB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+R25vbWUgWE1MIExpYnJhcnkgUmVmZXJlbmNlIE1hbnVhbDwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCI+PC9pbWc+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxkaXYgY2xhc3M9InJlZmVudHJ5IiBsYW5nPSJlbiI+PGEgbmFtZT0ibGlieG1sLXhtbElPIj48L2E+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZuYW1lZGl2Ij48aDI+eG1sSU88L2gyPjxwPnhtbElPICYjODIxMjsgPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij48aDI+U3lub3BzaXM8L2gyPjxwcmUgY2xhc3M9InN5bm9wc2lzIj4KCgoKaW50ICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0TWF0Y2hDYWxsYmFjayI+KnhtbElucHV0TWF0Y2hDYWxsYmFjazwvYT4pICAgICAgICAoY2hhciBjb25zdCAqZmlsZW5hbWUpOwp2b2lkKiAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRPcGVuQ2FsbGJhY2siPip4bWxJbnB1dE9wZW5DYWxsYmFjazwvYT4pICAgICAgICAgKGNoYXIgY29uc3QgKmZpbGVuYW1lKTsKaW50ICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj4qeG1sSW5wdXRSZWFkQ2FsbGJhY2s8L2E+KSAgICAgICAgICh2b2lkICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpidWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZW4pOwppbnQgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRDbG9zZUNhbGxiYWNrIj4qeG1sSW5wdXRDbG9zZUNhbGxiYWNrPC9hPikgICAgICAgICh2b2lkICpjb250ZXh0KTsKaW50ICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dE1hdGNoQ2FsbGJhY2siPip4bWxPdXRwdXRNYXRjaENhbGxiYWNrPC9hPikgICAgICAgKGNoYXIgY29uc3QgKmZpbGVuYW1lKTsKdm9pZCogICAgICAgKDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dE9wZW5DYWxsYmFjayI+KnhtbE91dHB1dE9wZW5DYWxsYmFjazwvYT4pICAgICAgICAoY2hhciBjb25zdCAqZmlsZW5hbWUpOwppbnQgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0V3JpdGVDYWxsYmFjayI+KnhtbE91dHB1dFdyaXRlQ2FsbGJhY2s8L2E+KSAgICAgICAodm9pZCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGVuKTsKaW50ICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dENsb3NlQ2FsbGJhY2siPip4bWxPdXRwdXRDbG9zZUNhbGxiYWNrPC9hPikgICAgICAgKHZvaWQgKmNvbnRleHQpOwpzdHJ1Y3QgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlcjwvYT47CnN0cnVjdCAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyIj54bWxPdXRwdXRCdWZmZXI8L2E+Owp2b2lkICAgICAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxDbGVhbnVwSW5wdXRDYWxsYmFja3MiPnhtbENsZWFudXBJbnB1dENhbGxiYWNrczwvYT4gICAgICAgICh2b2lkKTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcyI+eG1sQ2xlYW51cE91dHB1dENhbGxiYWNrczwvYT4gICAgICAgKHZvaWQpOwp2b2lkICAgICAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxSZWdpc3RlckRlZmF1bHRJbnB1dENhbGxiYWNrcyI+eG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQpOwo8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sQWxsb2NQYXJzZXJJbnB1dEJ1ZmZlciI+eG1sQWxsb2NQYXJzZXJJbnB1dEJ1ZmZlcjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk7CjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICpVUkksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpOwo8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJGSUxFLUNBUFMiPkZJTEU8L0dUS0RPQ0xJTks+ICpmaWxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTsKPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludCBmZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk7CjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbSI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKm1lbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpOwo8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPiBpb3JlYWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0Q2xvc2VDYWxsYmFjayI+eG1sSW5wdXRDbG9zZUNhbGxiYWNrPC9hPiBpb2Nsb3NlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICppb2N0eCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUmVhZCI+eG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkPC9hPiAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiBpbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxlbik7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyR3JvdyI+eG1sUGFyc2VySW5wdXRCdWZmZXJHcm93PC9hPiAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiBpbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxlbik7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHVzaCI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoPC9hPiAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiBpbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYnVmKTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyIj54bWxGcmVlUGFyc2VySW5wdXRCdWZmZXI8L2E+ICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IGluKTsKY2hhciogICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VyR2V0RGlyZWN0b3J5Ij54bWxQYXJzZXJHZXREaXJlY3Rvcnk8L2E+ICAgICAgICAgICAoY29uc3QgY2hhciAqZmlsZW5hbWUpOwppbnQgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzIj54bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzPC9hPiAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRNYXRjaENhbGxiYWNrIj54bWxJbnB1dE1hdGNoQ2FsbGJhY2s8L2E+IG1hdGNoRnVuYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRPcGVuQ2FsbGJhY2siPnhtbElucHV0T3BlbkNhbGxiYWNrPC9hPiBvcGVuRnVuYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPiByZWFkRnVuYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRDbG9zZUNhbGxiYWNrIj54bWxJbnB1dENsb3NlQ2FsbGJhY2s8L2E+IGNsb3NlRnVuYyk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrcyI+eG1sUmVnaXN0ZXJEZWZhdWx0T3V0cHV0Q2FsbGJhY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkKTsKPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sQWxsb2NPdXRwdXRCdWZmZXIiPnhtbEFsbG9jT3V0cHV0QnVmZmVyPC9hPiAgICAgKDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGVuY29kZXIpOwo8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKlVSSSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gZW5jb2RlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNvbXByZXNzaW9uKTsKPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZSI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9IkZJTEUtQ0FQUyI+RklMRTwvR1RLRE9DTElOSz4gKmZpbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGVuY29kZXIpOwo8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZCI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQ8L2E+ICAoaW50IGZkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyPC9hPiBlbmNvZGVyKTsKPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8iPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPPC9hPiAgKDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dFdyaXRlQ2FsbGJhY2siPnhtbE91dHB1dFdyaXRlQ2FsbGJhY2s8L2E+IGlvd3JpdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dENsb3NlQ2FsbGJhY2siPnhtbE91dHB1dENsb3NlQ2FsbGJhY2s8L2E+IGlvY2xvc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmlvY3R4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyPC9hPiBlbmNvZGVyKTsKaW50ICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGUiPnhtbE91dHB1dEJ1ZmZlcldyaXRlPC9hPiAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBvdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmJ1Zik7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nIj54bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZzwvYT4gICAgICAoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gb3V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzdHIpOwppbnQgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJGbHVzaCI+eG1sT3V0cHV0QnVmZmVyRmx1c2g8L2E+ICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IG91dCk7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNsb3NlIj54bWxPdXRwdXRCdWZmZXJDbG9zZTwvYT4gICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gb3V0KTsKaW50ICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzPC9hPiAgICAgICg8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRNYXRjaENhbGxiYWNrIj54bWxPdXRwdXRNYXRjaENhbGxiYWNrPC9hPiBtYXRjaEZ1bmMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dE9wZW5DYWxsYmFjayI+eG1sT3V0cHV0T3BlbkNhbGxiYWNrPC9hPiBvcGVuRnVuYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0V3JpdGVDYWxsYmFjayI+eG1sT3V0cHV0V3JpdGVDYWxsYmFjazwvYT4gd3JpdGVGdW5jLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRDbG9zZUNhbGxiYWNrIj54bWxPdXRwdXRDbG9zZUNhbGxiYWNrPC9hPiBjbG9zZUZ1bmMpOwp2b2lkKiAgICAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJT0hUVFBPcGVuVyI+eG1sSU9IVFRQT3Blblc8L2E+ICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKnBvc3RfdXJpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29tcHJlc3Npb24pOwp2b2lkICAgICAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzIj54bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzPC9hPiAgICAodm9pZCk7CjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICpVUkwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKklELAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOwo8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+KiAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxOb3JtYWxpemVXaW5kb3dzUGF0aCI+eG1sTm9ybWFsaXplV2luZG93c1BhdGg8L2E+ICAgICAgICAgKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKnBhdGgpOwppbnQgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxDaGVja0ZpbGVuYW1lIj54bWxDaGVja0ZpbGVuYW1lPC9hPiAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqcGF0aCk7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbEZpbGVNYXRjaCI+eG1sRmlsZU1hdGNoPC9hPiAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKdm9pZCogICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sRmlsZU9wZW4iPnhtbEZpbGVPcGVuPC9hPiAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICpmaWxlbmFtZSk7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbEZpbGVSZWFkIj54bWxGaWxlUmVhZDwvYT4gICAgICAgICAgICAgICAgICAgICAodm9pZCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqYnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGVuKTsKaW50ICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sRmlsZUNsb3NlIj54bWxGaWxlQ2xvc2U8L2E+ICAgICAgICAgICAgICAgICAgICAodm9pZCAqY29udGV4dCk7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElPSFRUUE1hdGNoIj54bWxJT0hUVFBNYXRjaDwvYT4gICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqZmlsZW5hbWUpOwp2b2lkKiAgICAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJT0hUVFBPcGVuIj54bWxJT0hUVFBPcGVuPC9hPiAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqZmlsZW5hbWUpOwppbnQgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJT0hUVFBSZWFkIj54bWxJT0hUVFBSZWFkPC9hPiAgICAgICAgICAgICAgICAgICAodm9pZCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqYnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGVuKTsKaW50ICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSU9IVFRQQ2xvc2UiPnhtbElPSFRUUENsb3NlPC9hPiAgICAgICAgICAgICAgICAgICh2b2lkICpjb250ZXh0KTsKaW50ICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSU9GVFBNYXRjaCI+eG1sSU9GVFBNYXRjaDwvYT4gICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKdm9pZCogICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSU9GVFBPcGVuIj54bWxJT0ZUUE9wZW48L2E+ICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqZmlsZW5hbWUpOwppbnQgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJT0ZUUFJlYWQiPnhtbElPRlRQUmVhZDwvYT4gICAgICAgICAgICAgICAgICAgICh2b2lkICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpidWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZW4pOwppbnQgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJT0ZUUENsb3NlIj54bWxJT0ZUUENsb3NlPC9hPiAgICAgICAgICAgICAgICAgICAodm9pZCAqY29udGV4dCk7CjwvcHJlPjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+PGgyPkRlc2NyaXB0aW9uPC9oMj48cD4KCjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPjxoMj5EZXRhaWxzPC9oMj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJbnB1dE1hdGNoQ2FsbGJhY2siPjwvYT54bWxJbnB1dE1hdGNoQ2FsbGJhY2sgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICAoKnhtbElucHV0TWF0Y2hDYWxsYmFjaykgICAgICAgIChjaGFyIGNvbnN0ICpmaWxlbmFtZSk7PC9wcmU+PHA+CkNhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBJbnB1dCBBUEkgdG8gZGV0ZWN0IGlmIHRoZSBjdXJyZW50IGhhbmRsZXIgCmNhbiBwcm92aWRlIGlucHV0IGZvbmN0aW9ubmFsaXRpZXMgZm9yIHRoaXMgcmVzb3VyY2UuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gdGhlIGZpbGVuYW1lIG9yIFVSSQo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPjEgaWYgeWVzIGFuZCAwIGlmIGFub3RoZXIgSW5wdXQgbW9kdWxlIHNob3VsZCBiZSB1c2VkCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElucHV0T3BlbkNhbGxiYWNrIj48L2E+eG1sSW5wdXRPcGVuQ2FsbGJhY2sgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkKiAgICAgICAoKnhtbElucHV0T3BlbkNhbGxiYWNrKSAgICAgICAgIChjaGFyIGNvbnN0ICpmaWxlbmFtZSk7PC9wcmU+PHA+CkNhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBJbnB1dCBBUEkgdG8gb3BlbiB0aGUgcmVzb3VyY2U8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiB0aGUgZmlsZW5hbWUgb3IgVVJJCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElucHV0UmVhZENhbGxiYWNrIj48L2E+eG1sSW5wdXRSZWFkQ2FsbGJhY2sgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICAoKnhtbElucHV0UmVhZENhbGxiYWNrKSAgICAgICAgICh2b2lkICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpidWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZW4pOzwvcHJlPjxwPgpDYWxsYmFjayB1c2VkIGluIHRoZSBJL08gSW5wdXQgQVBJIHRvIHJlYWQgdGhlIHJlc291cmNlPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGV4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gSW5wdXQgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGJ1ZmZlciB0byBzdG9yZSBkYXRhIHJlYWQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBsZW5ndGggb2YgdGhlIGJ1ZmZlciBpbiBieXRlcwo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElucHV0Q2xvc2VDYWxsYmFjayI+PC9hPnhtbElucHV0Q2xvc2VDYWxsYmFjayAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgICgqeG1sSW5wdXRDbG9zZUNhbGxiYWNrKSAgICAgICAgKHZvaWQgKmNvbnRleHQpOzwvcHJlPjxwPgpDYWxsYmFjayB1c2VkIGluIHRoZSBJL08gSW5wdXQgQVBJIHRvIGNsb3NlIHRoZSByZXNvdXJjZTwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRleHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGFuIElucHV0IGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD4wIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sT3V0cHV0TWF0Y2hDYWxsYmFjayI+PC9hPnhtbE91dHB1dE1hdGNoQ2FsbGJhY2sgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICAoKnhtbE91dHB1dE1hdGNoQ2FsbGJhY2spICAgICAgIChjaGFyIGNvbnN0ICpmaWxlbmFtZSk7PC9wcmU+PHA+CkNhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBPdXRwdXQgQVBJIHRvIGRldGVjdCBpZiB0aGUgY3VycmVudCBoYW5kbGVyIApjYW4gcHJvdmlkZSBvdXRwdXQgZm9uY3Rpb25uYWxpdGllcyBmb3IgdGhpcyByZXNvdXJjZS48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiB0aGUgZmlsZW5hbWUgb3IgVVJJCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+MSBpZiB5ZXMgYW5kIDAgaWYgYW5vdGhlciBPdXRwdXQgbW9kdWxlIHNob3VsZCBiZSB1c2VkCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE91dHB1dE9wZW5DYWxsYmFjayI+PC9hPnhtbE91dHB1dE9wZW5DYWxsYmFjayAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQqICAgICAgICgqeG1sT3V0cHV0T3BlbkNhbGxiYWNrKSAgICAgICAgKGNoYXIgY29uc3QgKmZpbGVuYW1lKTs8L3ByZT48cD4KQ2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIE91dHB1dCBBUEkgdG8gb3BlbiB0aGUgcmVzb3VyY2U8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiB0aGUgZmlsZW5hbWUgb3IgVVJJCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE91dHB1dFdyaXRlQ2FsbGJhY2siPjwvYT54bWxPdXRwdXRXcml0ZUNhbGxiYWNrICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgKCp4bWxPdXRwdXRXcml0ZUNhbGxiYWNrKSAgICAgICAodm9pZCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGVuKTs8L3ByZT48cD4KQ2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIE91dHB1dCBBUEkgdG8gd3JpdGUgdG8gdGhlIHJlc291cmNlPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGV4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gT3V0cHV0IGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWZmZXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBidWZmZXIgb2YgZGF0YSB0byB3cml0ZQo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGxlbmd0aCBvZiB0aGUgYnVmZmVyIGluIGJ5dGVzCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sT3V0cHV0Q2xvc2VDYWxsYmFjayI+PC9hPnhtbE91dHB1dENsb3NlQ2FsbGJhY2sgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICAoKnhtbE91dHB1dENsb3NlQ2FsbGJhY2spICAgICAgICh2b2lkICpjb250ZXh0KTs8L3ByZT48cD4KQ2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIE91dHB1dCBBUEkgdG8gY2xvc2UgdGhlIHJlc291cmNlPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGV4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gT3V0cHV0IGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD4wIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VySW5wdXRCdWZmZXIiPjwvYT5zdHJ1Y3QgeG1sUGFyc2VySW5wdXRCdWZmZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgeG1sUGFyc2VySW5wdXRCdWZmZXIgewogICAgdm9pZCogICAgICAgICAgICAgICAgICBjb250ZXh0OwogICAgeG1sSW5wdXRSZWFkQ2FsbGJhY2sgICByZWFkY2FsbGJhY2s7CiAgICB4bWxJbnB1dENsb3NlQ2FsbGJhY2sgIGNsb3NlY2FsbGJhY2s7CiAgICAKICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgZW5jb2RlcjsgLyogSTE4TiBjb252ZXJzaW9ucyB0byBVVEYtOCAqLwogICAgCiAgICB4bWxCdWZmZXJQdHIgYnVmZmVyOyAgICAvKiBMb2NhbCBidWZmZXIgZW5jb2RlZCBpbiBVVEYtOCAqLwogICAgeG1sQnVmZmVyUHRyIHJhdzsgICAgICAgLyogaWYgZW5jb2RlciAhPSBOVUxMIGJ1ZmZlciBmb3IgcmF3IGlucHV0ICovCn07CjwvcHJlPjxwPgoKPC9wPjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxPdXRwdXRCdWZmZXIiPjwvYT5zdHJ1Y3QgeG1sT3V0cHV0QnVmZmVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IHhtbE91dHB1dEJ1ZmZlciB7CiAgICB2b2lkKiAgICAgICAgICAgICAgICAgICBjb250ZXh0OwogICAgeG1sT3V0cHV0V3JpdGVDYWxsYmFjayAgd3JpdGVjYWxsYmFjazsKICAgIHhtbE91dHB1dENsb3NlQ2FsbGJhY2sgIGNsb3NlY2FsbGJhY2s7CiAgICAKICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgZW5jb2RlcjsgLyogSTE4TiBjb252ZXJzaW9ucyB0byBVVEYtOCAqLwogICAgCiAgICB4bWxCdWZmZXJQdHIgYnVmZmVyOyAgICAvKiBMb2NhbCBidWZmZXIgZW5jb2RlZCBpbiBVVEYtOCBvciBJU09MYXRpbiAqLwogICAgeG1sQnVmZmVyUHRyIGNvbnY7ICAgICAgLyogaWYgZW5jb2RlciAhPSBOVUxMIGJ1ZmZlciBmb3Igb3V0cHV0ICovCiAgICBpbnQgd3JpdHRlbjsgICAgICAgICAgICAvKiB0b3RhbCBudW1iZXIgb2YgYnl0ZSB3cml0dGVuICovCn07CjwvcHJlPjxwPgoKPC9wPjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDbGVhbnVwSW5wdXRDYWxsYmFja3MiPjwvYT54bWxDbGVhbnVwSW5wdXRDYWxsYmFja3MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxDbGVhbnVwSW5wdXRDYWxsYmFja3MgICAgICAgICh2b2lkKTs8L3ByZT48cD4KY2xlYXJzIHRoZSBlbnRpcmUgaW5wdXQgY2FsbGJhY2sgdGFibGUuIHRoaXMgaW5jbHVkZXMgdGhlCmNvbXBpbGVkLWluIEkvTy48L3A+PHA+Cgo8L3A+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENsZWFudXBPdXRwdXRDYWxsYmFja3MiPjwvYT54bWxDbGVhbnVwT3V0cHV0Q2FsbGJhY2tzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcyAgICAgICAodm9pZCk7PC9wcmU+PHA+CmNsZWFycyB0aGUgZW50aXJlIG91dHB1dCBjYWxsYmFjayB0YWJsZS4gdGhpcyBpbmNsdWRlcyB0aGUKY29tcGlsZWQtaW4gSS9PIGNhbGxiYWNrcy48L3A+PHA+Cgo8L3A+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzIj48L2E+eG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxSZWdpc3RlckRlZmF1bHRJbnB1dENhbGxiYWNrcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkKTs8L3ByZT48cD4KUmVnaXN0ZXJzIHRoZSBkZWZhdWx0IGNvbXBpbGVkLWluIEkvTyBoYW5kbGVycy48L3A+PHA+Cgo8L3A+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXIiPjwvYT54bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IHhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk7PC9wcmU+PHA+CkNyZWF0ZSBhIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dCBmb3IgcHJvZ3Jlc3NpdmUgcGFyc2luZzwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuYzwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd24KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBpbnB1dCBvciBOVUxMCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUiPjwvYT54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqVVJJLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTs8L3ByZT48cD4KQ3JlYXRlIGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0IGZvciB0aGUgcHJvZ3Jlc3NpdmUgcGFyc2luZyBvZiBhIGZpbGUKSWYgZmlsZW5hbWUgaXMgIi0nIHRoZW4gd2UgdXNlIHN0ZGluIGFzIHRoZSBpbnB1dC4KQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MgY29tcHJlc3NlZCBkb2N1bWVudCBpcyBwcm92aWRlZApieSBkZWZhdWx0IGlmIGZvdW5kIGF0IGNvbXBpbGUtdGltZS4KRG8gYW4gZW5jb2RpbmcgY2hlY2sgaWYgZW5jID09IFhNTF9DSEFSX0VOQ09ESU5HX05PTkU8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkk8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGEgQyBzdHJpbmcgY29udGFpbmluZyB0aGUgVVJJIG9yIGZpbGVuYW1lCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGlucHV0IG9yIE5VTEwKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlIj48L2E+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0iRklMRS1DQVBTIj5GSUxFPC9HVEtET0NMSU5LPiAqZmlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk7PC9wcmU+PHA+CkNyZWF0ZSBhIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHBhcnNpbmcgb2YgYSBGSUxFICoKYnVmZmVyZWQgQyBJL088L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhIEZJTEUqIAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuYzwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd24KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBpbnB1dCBvciBOVUxMCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQiPjwvYT54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50IGZkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTs8L3ByZT48cD4KQ3JlYXRlIGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0IGZvciB0aGUgcHJvZ3Jlc3NpdmUgcGFyc2luZyBmb3IgdGhlIGlucHV0CmZyb20gYSBmaWxlIGRlc2NyaXB0b3I8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mZDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBmaWxlIGRlc2NyaXB0b3IgbnVtYmVyCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGlucHV0IG9yIE5VTEwKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0iPjwvYT54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICptZW0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTs8L3ByZT48cD4KQ3JlYXRlIGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0IGZvciB0aGUgcHJvZ3Jlc3NpdmUgcGFyc2luZyBmb3IgdGhlIGlucHV0CmZyb20gYSBtZW1vcnkgYXJlYS48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tZW08L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBtZW1vcnkgaW5wdXQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgbGVuZ3RoIG9mIHRoZSBtZW1vcnkgYmxvY2sKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmM8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBjaGFyc2V0IGVuY29kaW5nIGlmIGtub3duCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBwYXJzZXIgaW5wdXQgb3IgTlVMTAo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPIj48L2E+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4gaW9yZWFkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqaW9jdHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpOzwvcHJlPjxwPgpDcmVhdGUgYSBidWZmZXJlZCBwYXJzZXIgaW5wdXQgZm9yIHRoZSBwcm9ncmVzc2l2ZSBwYXJzaW5nIGZvciB0aGUgaW5wdXQKZnJvbSBhbiBJL08gaGFuZGxlcjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvcmVhZDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gSS9PIHJlYWQgZnVuY3Rpb24KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb2Nsb3NlPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhbiBJL08gY2xvc2UgZnVuY3Rpb24KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb2N0eDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gSS9PIGhhbmRsZXIKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmM8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBjaGFyc2V0IGVuY29kaW5nIGlmIGtub3duCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBwYXJzZXIgaW5wdXQgb3IgTlVMTAo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQiPjwvYT54bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQgICAgICAgICg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZW4pOzwvcHJlPjxwPgpSZWZyZXNoIHRoZSBjb250ZW50IG9mIHRoZSBpbnB1dCBidWZmZXIsIHRoZSBvbGQgZGF0YSBhcmUgY29uc2lkZXJlZApjb25zdW1lZApUaGlzIHJvdXRpbmUgaGFuZGxlIHRoZSBJMThOIHRyYW5zY29kaW5nIHRvIGludGVybmFsIFVURi04PC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW48L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBpbmRpY2F0aXZlIHZhbHVlIG9mIHRoZSBhbW91bnQgb2YgY2hhcnMgdG8gcmVhZAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgY2hhcnMgcmVhZCBhbmQgc3RvcmVkIGluIHRoZSBidWZmZXIsIG9yIC0xCiAgICAgICAgaW4gY2FzZSBvZiBlcnJvci4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Ij48L2E+eG1sUGFyc2VySW5wdXRCdWZmZXJHcm93ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJHcm93ICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IGluLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGVuKTs8L3ByZT48cD4KR3JvdyB1cCB0aGUgY29udGVudCBvZiB0aGUgaW5wdXQgYnVmZmVyLCB0aGUgb2xkIGRhdGEgYXJlIHByZXNlcnZlZApUaGlzIHJvdXRpbmUgaGFuZGxlIHRoZSBJMThOIHRyYW5zY29kaW5nIHRvIGludGVybmFsIFVURi04ClRoaXMgcm91dGluZSBpcyB1c2VkIHdoZW4gb3BlcmF0aW5nIHRoZSBwYXJzZXIgaW4gbm9ybWFsIChwdWxsKSBtb2RlCjwvcD48cD4KVE9ETzogb25lIHNob3VsZCBiZSBhYmxlIHRvIHJlbW92ZSBvbmUgZXh0cmEgY29weSBieSBjb3B5aW5nIGRpcmVjdGx5CiAgICAgIG9udG8gaW4tJmd0O2J1ZmZlciBvciBpbi0mZ3Q7cmF3PC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW48L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBpbmRpY2F0aXZlIHZhbHVlIG9mIHRoZSBhbW91bnQgb2YgY2hhcnMgdG8gcmVhZAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgY2hhcnMgcmVhZCBhbmQgc3RvcmVkIGluIHRoZSBidWZmZXIsIG9yIC0xCiAgICAgICAgaW4gY2FzZSBvZiBlcnJvci4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoIj48L2E+eG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IGluLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGVuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpidWYpOzwvcHJlPjxwPgpQdXNoIHRoZSBjb250ZW50IG9mIHRoZSBhcnJ5IGluIHRoZSBpbnB1dCBidWZmZXIKVGhpcyByb3V0aW5lIGhhbmRsZSB0aGUgSTE4TiB0cmFuc2NvZGluZyB0byBpbnRlcm5hbCBVVEYtOApUaGlzIGlzIHVzZWQgd2hlbiBvcGVyYXRpbmcgdGhlIHBhcnNlciBpbiBwcm9ncmVzc2l2ZSAocHVzaCkgbW9kZS48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBidWZmZXJlZCBwYXJzZXIgaW5wdXQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBzaXplIGluIGJ5dGVzIG9mIHRoZSBhcnJheS4KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGFuIGNoYXIgYXJyYXkKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGNoYXJzIHJlYWQgYW5kIHN0b3JlZCBpbiB0aGUgYnVmZmVyLCBvciAtMQogICAgICAgIGluIGNhc2Ugb2YgZXJyb3IuCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlciI+PC9hPnhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlciAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiBpbik7PC9wcmU+PHA+CkZyZWUgdXAgdGhlIG1lbW9yeSB1c2VkIGJ5IGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0PC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW48L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0CjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlckdldERpcmVjdG9yeSI+PC9hPnhtbFBhcnNlckdldERpcmVjdG9yeSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNoYXIqICAgICAgIHhtbFBhcnNlckdldERpcmVjdG9yeSAgICAgICAgICAgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTs8L3ByZT48cD4KbG9va3VwIHRoZSBkaXJlY3RvcnkgZm9yIHRoYXQgZmlsZTwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgcGF0aCB0byBhIGZpbGUKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD5hIG5ldyBhbGxvY2F0ZWQgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIGRpcmVjdG9yeSwgb3IgTlVMTC4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcyI+PC9hPnhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICB4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzICAgICAgICg8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dE1hdGNoQ2FsbGJhY2siPnhtbElucHV0TWF0Y2hDYWxsYmFjazwvYT4gbWF0Y2hGdW5jLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dE9wZW5DYWxsYmFjayI+eG1sSW5wdXRPcGVuQ2FsbGJhY2s8L2E+IG9wZW5GdW5jLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dFJlYWRDYWxsYmFjayI+eG1sSW5wdXRSZWFkQ2FsbGJhY2s8L2E+IHJlYWRGdW5jLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT4gY2xvc2VGdW5jKTs8L3ByZT48cD4KUmVnaXN0ZXIgYSBuZXcgc2V0IG9mIEkvTyBjYWxsYmFjayBmb3IgaGFuZGxpbmcgcGFyc2VyIGlucHV0LjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1hdGNoRnVuYzwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIHhtbElucHV0TWF0Y2hDYWxsYmFjawo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wZW5GdW5jPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgeG1sSW5wdXRPcGVuQ2FsbGJhY2sKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkRnVuYzwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIHhtbElucHV0UmVhZENhbGxiYWNrCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2xvc2VGdW5jPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgeG1sSW5wdXRDbG9zZUNhbGxiYWNrCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlZ2lzdGVyZWQgaGFuZGxlciBudW1iZXIgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MiPjwvYT54bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCk7PC9wcmU+PHA+ClJlZ2lzdGVycyB0aGUgZGVmYXVsdCBjb21waWxlZC1pbiBJL08gaGFuZGxlcnMuPC9wPjxwPgoKPC9wPjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBbGxvY091dHB1dEJ1ZmZlciI+PC9hPnhtbEFsbG9jT3V0cHV0QnVmZmVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4geG1sQWxsb2NPdXRwdXRCdWZmZXIgICAgICg8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyPC9hPiBlbmNvZGVyKTs8L3ByZT48cD4KQ3JlYXRlIGEgYnVmZmVyZWQgcGFyc2VyIG91dHB1dDwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kZXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBlbmNvZGluZyBjb252ZXJ0ZXIgb3IgTlVMTAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIG91dHB1dCBvciBOVUxMCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj48L2E+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICpVUkksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGVuY29kZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjb21wcmVzc2lvbik7PC9wcmU+PHA+CkNyZWF0ZSBhIGJ1ZmZlcmVkICBvdXRwdXQgZm9yIHRoZSBwcm9ncmVzc2l2ZSBzYXZpbmcgb2YgYSBmaWxlCklmIGZpbGVuYW1lIGlzICItJyB0aGVuIHdlIHVzZSBzdGRvdXQgYXMgdGhlIG91dHB1dC4KQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MgY29tcHJlc3NlZCBkb2N1bWVudCBpcyBwcm92aWRlZApieSBkZWZhdWx0IGlmIGZvdW5kIGF0IGNvbXBpbGUtdGltZS4KVE9ETzogY3VycmVudGx5IGlmIGNvbXByZXNzaW9uIGlzIHNldCwgdGhlIGxpYnJhcnkgb25seSBzdXBwb3J0CiAgICAgIHdyaXRpbmcgdG8gYSBsb2NhbCBmaWxlLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSSTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBDIHN0cmluZyBjb250YWluaW5nIHRoZSBVUkkgb3IgZmlsZW5hbWUKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGVyPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgZW5jb2RpbmcgY29udmVydGVyIG9yIE5VTEwKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wcmVzc2lvbjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGNvbXByZXNzaW9uIHJhdGlvbiAoMCBub25lLCA5IG1heCkuCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBvdXRwdXQgb3IgTlVMTAo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlIj48L2E+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9IkZJTEUtQ0FQUyI+RklMRTwvR1RLRE9DTElOSz4gKmZpbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGVuY29kZXIpOzwvcHJlPjxwPgpDcmVhdGUgYSBidWZmZXJlZCBvdXRwdXQgZm9yIHRoZSBwcm9ncmVzc2l2ZSBzYXZpbmcgdG8gYSBGSUxFICoKYnVmZmVyZWQgQyBJL088L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhIEZJTEUqIAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kZXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBlbmNvZGluZyBjb252ZXJ0ZXIgb3IgTlVMTAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIG91dHB1dCBvciBOVUxMCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZkIj48L2E+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZCAgKGludCBmZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gZW5jb2Rlcik7PC9wcmU+PHA+CkNyZWF0ZSBhIGJ1ZmZlcmVkIG91dHB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHNhdmluZyAKdG8gYSBmaWxlIGRlc2NyaXB0b3I8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mZDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBmaWxlIGRlc2NyaXB0b3IgbnVtYmVyCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2RlcjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGVuY29kaW5nIGNvbnZlcnRlciBvciBOVUxMCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBwYXJzZXIgb3V0cHV0IG9yIE5VTEwKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8iPjwvYT54bWxPdXRwdXRCdWZmZXJDcmVhdGVJTyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPICAoPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0V3JpdGVDYWxsYmFjayI+eG1sT3V0cHV0V3JpdGVDYWxsYmFjazwvYT4gaW93cml0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0Q2xvc2VDYWxsYmFjayI+eG1sT3V0cHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqaW9jdHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGVuY29kZXIpOzwvcHJlPjxwPgpDcmVhdGUgYSBidWZmZXJlZCBvdXRwdXQgZm9yIHRoZSBwcm9ncmVzc2l2ZSBzYXZpbmcKdG8gYW4gSS9PIGhhbmRsZXI8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb3dyaXRlPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhbiBJL08gd3JpdGUgZnVuY3Rpb24KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb2Nsb3NlPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhbiBJL08gY2xvc2UgZnVuY3Rpb24KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb2N0eDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gSS9PIGhhbmRsZXIKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGVyPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIG91dHB1dCBvciBOVUxMCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE91dHB1dEJ1ZmZlcldyaXRlIj48L2E+eG1sT3V0cHV0QnVmZmVyV3JpdGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZSAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBvdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmJ1Zik7PC9wcmU+PHA+CldyaXRlIHRoZSBjb250ZW50IG9mIHRoZSBhcnJheSBpbiB0aGUgb3V0cHV0IEkvTyBidWZmZXIKVGhpcyByb3V0aW5lIGhhbmRsZSB0aGUgSTE4TiB0cmFuc2NvZGluZyBmcm9tIGludGVybmFsIFVURi04ClRoZSBidWZmZXIgaXMgbG9zc2xlc3MsIGkuZS4gd2lsbCBzdG9yZSBpbiBjYXNlIG9mIHBhcnRpYWwKb3IgZGVsYXllZCB3cml0ZXMuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhIGJ1ZmZlcmVkIHBhcnNlciBvdXRwdXQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBzaXplIGluIGJ5dGVzIG9mIHRoZSBhcnJheS4KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGFuIGNoYXIgYXJyYXkKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGNoYXJzIGltbWVkaWF0ZWx5IHdyaXR0ZW4sIG9yIC0xCiAgICAgICAgaW4gY2FzZSBvZiBlcnJvci4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmciPjwvYT54bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nICAgICAgKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IG91dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqc3RyKTs8L3ByZT48cD4KV3JpdGUgdGhlIGNvbnRlbnQgb2YgdGhlIHN0cmluZyBpbiB0aGUgb3V0cHV0IEkvTyBidWZmZXIKVGhpcyByb3V0aW5lIGhhbmRsZSB0aGUgSTE4TiB0cmFuc2NvZGluZyBmcm9tIGludGVybmFsIFVURi04ClRoZSBidWZmZXIgaXMgbG9zc2xlc3MsIGkuZS4gd2lsbCBzdG9yZSBpbiBjYXNlIG9mIHBhcnRpYWwKb3IgZGVsYXllZCB3cml0ZXMuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhIGJ1ZmZlcmVkIHBhcnNlciBvdXRwdXQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGEgemVybyB0ZXJtaW5hdGVkIEMgc3RyaW5nCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBjaGFycyBpbW1lZGlhdGVseSB3cml0dGVuLCBvciAtMQogICAgICAgIGluIGNhc2Ugb2YgZXJyb3IuCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE91dHB1dEJ1ZmZlckZsdXNoIj48L2E+eG1sT3V0cHV0QnVmZmVyRmx1c2ggKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICB4bWxPdXRwdXRCdWZmZXJGbHVzaCAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBvdXQpOzwvcHJlPjxwPgpmbHVzaGVzIHRoZSBvdXRwdXQgSS9PIGNoYW5uZWw8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGEgYnVmZmVyZWQgb3V0cHV0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sT3V0cHV0QnVmZmVyQ2xvc2UiPjwvYT54bWxPdXRwdXRCdWZmZXJDbG9zZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgIHhtbE91dHB1dEJ1ZmZlckNsb3NlICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IG91dCk7PC9wcmU+PHA+CmZsdXNoZXMgYW5kIGNsb3NlIHRoZSBvdXRwdXQgSS9PIGNoYW5uZWwKYW5kIGZyZWUgdXAgYWxsIHRoZSBhc3NvY2lhdGVkIHJlc291cmNlczwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBidWZmZXJlZCBvdXRwdXQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcyI+PC9hPnhtbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MgICAgICAoPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0TWF0Y2hDYWxsYmFjayI+eG1sT3V0cHV0TWF0Y2hDYWxsYmFjazwvYT4gbWF0Y2hGdW5jLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRPcGVuQ2FsbGJhY2siPnhtbE91dHB1dE9wZW5DYWxsYmFjazwvYT4gb3BlbkZ1bmMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dFdyaXRlQ2FsbGJhY2siPnhtbE91dHB1dFdyaXRlQ2FsbGJhY2s8L2E+IHdyaXRlRnVuYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0Q2xvc2VDYWxsYmFjayI+eG1sT3V0cHV0Q2xvc2VDYWxsYmFjazwvYT4gY2xvc2VGdW5jKTs8L3ByZT48cD4KUmVnaXN0ZXIgYSBuZXcgc2V0IG9mIEkvTyBjYWxsYmFjayBmb3IgaGFuZGxpbmcgb3V0cHV0LjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1hdGNoRnVuYzwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIHhtbE91dHB1dE1hdGNoQ2FsbGJhY2sKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcGVuRnVuYzwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIHhtbE91dHB1dE9wZW5DYWxsYmFjawo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlRnVuYzwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIHhtbE91dHB1dFdyaXRlQ2FsbGJhY2sKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jbG9zZUZ1bmM8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSB4bWxPdXRwdXRDbG9zZUNhbGxiYWNrCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlZ2lzdGVyZWQgaGFuZGxlciBudW1iZXIgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJT0hUVFBPcGVuVyI+PC9hPnhtbElPSFRUUE9wZW5XICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCogICAgICAgeG1sSU9IVFRQT3BlblcgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqcG9zdF91cmksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjb21wcmVzc2lvbik7PC9wcmU+PHA+Ck9wZW4gYSB0ZW1wb3JhcnkgYnVmZmVyIHRvIGNvbGxlY3QgdGhlIGRvY3VtZW50IGZvciBhIHN1YnNlcXVlbnQgSFRUUCBQT1NUCnJlcXVlc3QuICBOb24tc3RhdGljIGFzIGlzIGNhbGxlZCBmcm9tIHRoZSBvdXRwdXQgYnVmZmVyIGNyZWF0aW9uIHJvdXRpbmUuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cG9zdF91cmk8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIFRoZSBkZXN0aW5hdGlvbiBVUkkgZm9yIHRoZSBkb2N1bWVudAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbXByZXNzaW9uPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBUaGUgY29tcHJlc3Npb24gZGVzaXJlZCBmb3IgdGhlIGRvY3VtZW50Lgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzIj48L2E+eG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3MgICAgKHZvaWQpOzwvcHJlPjxwPgpCeSBkZWZhdWx0LCBsaWJ4bWwgc3VibWl0cyBIVFRQIG91dHB1dCByZXF1ZXN0cyB1c2luZyB0aGUgIlBVVCIgbWV0aG9kLgpDYWxsaW5nIHRoaXMgbWV0aG9kIGNoYW5nZXMgdGhlIEhUVFAgb3V0cHV0IG1ldGhvZCB0byB1c2UgdGhlICJQT1NUIgptZXRob2QgaW5zdGVhZC48L3A+PHA+Cgo8L3A+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIiPjwvYT54bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+IHhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqVVJMLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpJRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTs8L3ByZT48cD4KQSBzcGVjaWZpYyBlbnRpdHkgbG9hZGVyIGRpc2FibGluZyBuZXR3b3JrIGFjY2Vzc2VzLCB0aG91Z2ggc3RpbGwKYWxsb3dpbmcgbG9jYWwgY2F0YWxvZyBhY2Nlc3NlcyBmb3IgcmVzb2x1dGlvbi48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBVUkwgZm9yIHRoZSBlbnRpdHkgdG8gbG9hZAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PklEPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgU3lzdGVtIElEIGZvciB0aGUgZW50aXR5IHRvIGxvYWQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgY29udGV4dCBpbiB3aGljaCB0aGUgZW50aXR5IGlzIGNhbGxlZCBvciBOVUxMCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgYWxsb2NhdGVkIHhtbFBhcnNlcklucHV0UHRyLCBvciBOVUxMLgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOb3JtYWxpemVXaW5kb3dzUGF0aCI+PC9hPnhtbE5vcm1hbGl6ZVdpbmRvd3NQYXRoICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiogICAgeG1sTm9ybWFsaXplV2luZG93c1BhdGggICAgICAgICAoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqcGF0aCk7PC9wcmU+PHA+ClRoaXMgZnVuY3Rpb24gaXMgb2Jzb2xldGUuIFBsZWFzZSBzZWUgeG1sVVJJRnJvbVBhdGggaW4gdXJpLmMgZm9yCmEgYmV0dGVyIHNvbHV0aW9uLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhdGg8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gdGhlIGlucHV0IGZpbGUgcGF0aAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPmEgY2Fub25pY2FsaXplZCB2ZXJzaW9uIG9mIHRoZSBwYXRoCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENoZWNrRmlsZW5hbWUiPjwvYT54bWxDaGVja0ZpbGVuYW1lICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sQ2hlY2tGaWxlbmFtZSAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqcGF0aCk7PC9wcmU+PHA+CmZ1bmN0aW9uIGNoZWNrcyB0byBzZWUgaWYgPGk+PHR0PnBhdGg8L3R0PjwvaT4gaXMgYSB2YWxpZCBzb3VyY2UKKGZpbGUsIHNvY2tldC4uLikgZm9yIFhNTC4KPC9wPjxwPgppZiBzdGF0IGlzIG5vdCBhdmFpbGFibGUgb24gdGhlIHRhcmdldCBtYWNoaW5lLApyZXR1cm5zIDEuICBpZiBzdGF0IGZhaWxzLCByZXR1cm5zIDAgKGlmIGNhbGxpbmcKc3RhdCBvbiB0aGUgZmlsZW5hbWUgZmFpbHMsIGl0IGNhbid0IGJlIHJpZ2h0KS4KaWYgc3RhdCBzdWNjZWVkcyBhbmQgdGhlIGZpbGUgaXMgYSBkaXJlY3RvcnksPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGF0aDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIHBhdGggdG8gY2hlY2sKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD4yLiAgb3RoZXJ3aXNlIHJldHVybnMgMS4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRmlsZU1hdGNoIj48L2E+eG1sRmlsZU1hdGNoICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sRmlsZU1hdGNoICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqZmlsZW5hbWUpOzwvcHJlPjxwPgppbnB1dCBmcm9tIEZJTEUgKjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgVVJJIGZvciBtYXRjaGluZwo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPjEgaWYgbWF0Y2hlcywgMCBvdGhlcndpc2UKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRmlsZU9wZW4iPjwvYT54bWxGaWxlT3BlbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQqICAgICAgIHhtbEZpbGVPcGVuICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTs8L3ByZT48cD4KV3JhcHBlciBhcm91bmQgeG1sRmlsZU9wZW5fcmVhbCB0aGF0IHRyeSBpdCB3aXRoIGFuIHVuZXNjYXBlZAp2ZXJzaW9uIG9mIDxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPiwgaWYgdGhpcyBmYWlscyBmYWxsYmFjayB0byA8aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFVSSSBmb3IgbWF0Y2hpbmcKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRmlsZVJlYWQiPjwvYT54bWxGaWxlUmVhZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgIHhtbEZpbGVSZWFkICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmJ1ZmZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxlbik7PC9wcmU+PHA+ClJlYWQgPGk+PHR0PmxlbjwvdHQ+PC9pPiBieXRlcyB0byA8aT48dHQ+YnVmZmVyPC90dD48L2k+IGZyb20gdGhlIEkvTyBjaGFubmVsLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRleHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBJL08gY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgd2hlcmUgdG8gZHJvcCBkYXRhCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBudW1iZXIgb2YgYnl0ZXMgdG8gd3JpdGUKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRmlsZUNsb3NlIj48L2E+eG1sRmlsZUNsb3NlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sRmlsZUNsb3NlICAgICAgICAgICAgICAgICAgICAodm9pZCAqY29udGV4dCk7PC9wcmU+PHA+CkNsb3NlIGFuIEkvTyBjaGFubmVsPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGV4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIEkvTyBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+MCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElPSFRUUE1hdGNoIj48L2E+eG1sSU9IVFRQTWF0Y2ggKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICB4bWxJT0hUVFBNYXRjaCAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICpmaWxlbmFtZSk7PC9wcmU+PHA+CmNoZWNrIGlmIHRoZSBVUkkgbWF0Y2hlcyBhbiBIVFRQIG9uZTwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgVVJJIGZvciBtYXRjaGluZwo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPjEgaWYgbWF0Y2hlcywgMCBvdGhlcndpc2UKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSU9IVFRQT3BlbiI+PC9hPnhtbElPSFRUUE9wZW4gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkKiAgICAgICB4bWxJT0hUVFBPcGVuICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICpmaWxlbmFtZSk7PC9wcmU+PHA+Cm9wZW4gYW4gSFRUUCBJL08gY2hhbm5lbDwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgVVJJIGZvciBtYXRjaGluZwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJT0hUVFBSZWFkIj48L2E+eG1sSU9IVFRQUmVhZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgIHhtbElPSFRUUFJlYWQgICAgICAgICAgICAgICAgICAgKHZvaWQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmJ1ZmZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxlbik7PC9wcmU+PHA+ClJlYWQgPGk+PHR0PmxlbjwvdHQ+PC9pPiBieXRlcyB0byA8aT48dHQ+YnVmZmVyPC90dD48L2k+IGZyb20gdGhlIEkvTyBjaGFubmVsLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRleHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBJL08gY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgd2hlcmUgdG8gZHJvcCBkYXRhCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBudW1iZXIgb2YgYnl0ZXMgdG8gd3JpdGUKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSU9IVFRQQ2xvc2UiPjwvYT54bWxJT0hUVFBDbG9zZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgIHhtbElPSFRUUENsb3NlICAgICAgICAgICAgICAgICAgKHZvaWQgKmNvbnRleHQpOzwvcHJlPjxwPgpDbG9zZSBhbiBIVFRQIEkvTyBjaGFubmVsPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGV4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIEkvTyBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+MAo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJT0ZUUE1hdGNoIj48L2E+eG1sSU9GVFBNYXRjaCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgIHhtbElPRlRQTWF0Y2ggICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTs8L3ByZT48cD4KY2hlY2sgaWYgdGhlIFVSSSBtYXRjaGVzIGFuIEZUUCBvbmU8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFVSSSBmb3IgbWF0Y2hpbmcKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD4xIGlmIG1hdGNoZXMsIDAgb3RoZXJ3aXNlCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElPRlRQT3BlbiI+PC9hPnhtbElPRlRQT3BlbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQqICAgICAgIHhtbElPRlRQT3BlbiAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTs8L3ByZT48cD4Kb3BlbiBhbiBGVFAgSS9PIGNoYW5uZWw8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFVSSSBmb3IgbWF0Y2hpbmcKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSU9GVFBSZWFkIj48L2E+eG1sSU9GVFBSZWFkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sSU9GVFBSZWFkICAgICAgICAgICAgICAgICAgICAodm9pZCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqYnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGVuKTs8L3ByZT48cD4KUmVhZCA8aT48dHQ+bGVuPC90dD48L2k+IGJ5dGVzIHRvIDxpPjx0dD5idWZmZXI8L3R0PjwvaT4gZnJvbSB0aGUgSS9PIGNoYW5uZWwuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGV4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIEkvTyBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB3aGVyZSB0byBkcm9wIGRhdGEKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIG51bWJlciBvZiBieXRlcyB0byB3cml0ZQo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJT0ZUUENsb3NlIj48L2E+eG1sSU9GVFBDbG9zZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgIHhtbElPRlRQQ2xvc2UgICAgICAgICAgICAgICAgICAgKHZvaWQgKmNvbnRleHQpOzwvcHJlPjxwPgpDbG9zZSBhbiBGVFAgSS9PIGNoYW5uZWw8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZXh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgSS9PIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD4wCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PHRhYmxlIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gZm9vdGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwiPjxiPiZsdDsmbHQ7oG5hbm9mdHA8L2I+PC9hPjwvdGQ+PHRkIGFsaWduPSJyaWdodCI+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sIj48Yj5jYXRhbG9noCZndDsmZ3Q7PC9iPjwvYT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgo=