PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJmciIgeG1sOmxhbmc9ImZyIj48aGVhZD4KPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4KPCEtLQogICAgICAgIFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYCiAgICAgICAgICAgICAgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHhtbCBzb3VyY2U6IERPIE5PVCBFRElUCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgLS0+Cjx0aXRsZT5tb2Rfc2xvdG1lbV9wbGFpbiAtIFNlcnZldXIgQXBhY2hlIEhUVFAgVmVyc2lvbiAyLjQ8L3RpdGxlPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0iYWxsIiB0eXBlPSJ0ZXh0L2NzcyIgdGl0bGU9Ik1haW4gc3R5bGVzaGVldCIgLz4KPGxpbmsgaHJlZj0iLi4vc3R5bGUvY3NzL21hbnVhbC1sb29zZS0xMDBwYy5jc3MiIHJlbD0iYWx0ZXJuYXRlIHN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTm8gU2lkZWJhciAtIERlZmF1bHQgZm9udCBzaXplIiAvPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLXByaW50LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0icHJpbnQiIHR5cGU9InRleHQvY3NzIiAvPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3N0eWxlL2Nzcy9wcmV0dGlmeS5jc3MiIC8+CjxzY3JpcHQgc3JjPSIuLi9zdHlsZS9zY3JpcHRzL3ByZXR0aWZ5Lm1pbi5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KPC9zY3JpcHQ+Cgo8bGluayBocmVmPSIuLi9pbWFnZXMvZmF2aWNvbi5pY28iIHJlbD0ic2hvcnRjdXQgaWNvbiIgLz48L2hlYWQ+Cjxib2R5Pgo8ZGl2IGlkPSJwYWdlLWhlYWRlciI+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj5Nb2R1bGVzPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iaHR0cDovL3dpa2kuYXBhY2hlLm9yZy9odHRwZC9GQVEiPkZBUTwvYT4gfCA8YSBocmVmPSIuLi9nbG9zc2FyeS5odG1sIj5HbG9zc2FpcmU8L2E+IHwgPGEgaHJlZj0iLi4vc2l0ZW1hcC5odG1sIj5QbGFuIGR1IHNpdGU8L2E+PC9wPgo8cCBjbGFzcz0iYXBhY2hlIj5TZXJ2ZXVyIEFwYWNoZSBIVFRQIFZlcnNpb24gMi40PC9wPgo8aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9mZWF0aGVyLnBuZyIgLz48L2Rpdj4KPGRpdiBjbGFzcz0idXAiPjxhIGhyZWY9Ii4vIj48aW1nIHRpdGxlPSImbHQ7LSIgYWx0PSImbHQ7LSIgc3JjPSIuLi9pbWFnZXMvbGVmdC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGlkPSJwYXRoIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnLyI+QXBhY2hlPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnLyI+U2VydmV1ciBIVFRQPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvIj5Eb2N1bWVudGF0aW9uPC9hPiAmZ3Q7IDxhIGhyZWY9Ii4uLyI+VmVyc2lvbiAyLjQ8L2E+ICZndDsgPGEgaHJlZj0iLi8iPk1vZHVsZXM8L2E+PC9kaXY+CjxkaXYgaWQ9InBhZ2UtY29udGVudCI+CjxkaXYgaWQ9InByZWFtYmxlIj48aDE+TW9kdWxlIEFwYWNoZSBtb2Rfc2xvdG1lbV9wbGFpbjwvaDE+CjxkaXYgY2xhc3M9InRvcGxhbmciPgo8cD48c3Bhbj5MYW5ndWVzIERpc3BvbmlibGVzOiA8L3NwYW4+PGEgaHJlZj0iLi4vZW4vbW9kL21vZF9zbG90bWVtX3BsYWluLmh0bWwiIGhyZWZsYW5nPSJlbiIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9mci9tb2QvbW9kX3Nsb3RtZW1fcGxhaW4uaHRtbCIgdGl0bGU9IkZyYW7nYWlzIj4mbmJzcDtmciZuYnNwOzwvYT48L3A+CjwvZGl2Pgo8dGFibGUgY2xhc3M9Im1vZHVsZSI+PHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+Rm91cm5pc3NldXIgZGUgbeltb2lyZSBwYXJ0YWfpZSDgIGJhc2UgZGUKc2xvdHMuPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXQ6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI01vZHVsZUlkZW50aWZpZXIiPklkZW50aWZpY2F0ZXVyoGRloE1vZHVsZTo8L2E+PC90aD48dGQ+c2xvdG1lbV9wbGFpbl9tb2R1bGU8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNTb3VyY2VGaWxlIj5GaWNoaWVyoFNvdXJjZTo8L2E+PC90aD48dGQ+bW9kX3Nsb3RtZW1fcGxhaW4uYzwvdGQ+PC90cj48L3RhYmxlPgo8aDM+U29tbWFpcmU8L2gzPgoKICAgIDxwPjxjb2RlPm1vZF9zbG90bWVtX3BsYWluPC9jb2RlPiBlc3QgdW4gZm91cm5pc3NldXIgZGUgbeltb2lyZSBxdWkKICAgIHBlcm1ldCBsYSBjculhdGlvbiBldCBsJ3V0aWxpc2F0aW9uIGQndW4gc2VnbWVudCBkZSBt6W1vaXJlIGNvbnRpZ3UKICAgIGRhbnMgbGVxdWVsIGxlcyBlbnNlbWJsZXMgZGUgZG9ubullcyBzb250IG9yZ2FuaXPpcyBlbiAic2xvdHMiLgogICAgPC9wPgoKICAgIDxwPlNpIGxhIG3pbW9pcmUgZG9pdCDqdHJlIHBhcnRhZ+llIGVudHJlIGRlcyB0aHJlYWRzIGV0IGRlcwogICAgcHJvY2Vzc3VzLCBpbCBlc3QgcHLpZulyYWJsZSBkJ3V0aWxpc2VyIGxlIGZvdXJuaXNzZXVyCiAgICA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX3Nsb3RtZW1fc2htLmh0bWwiPm1vZF9zbG90bWVtX3NobTwvYT48L2NvZGU+LgogICAgPC9wPgoKICAgIDxwPjxjb2RlPm1vZF9zbG90bWVtX3BsYWluPC9jb2RlPiBmb3Vybml0IHVuZSBBUEkgY29tcHJlbmFudCBsZXMKICAgIGZvbmN0aW9ucyBzdWl2YW50ZXMgOgogICAgPC9wPgoKICAgIDxkbD4KICAgICAgPGR0PmFwcl9zdGF0dXNfdCBkb2FsbChhcF9zbG90bWVtX2luc3RhbmNlX3QgKnMsIGFwX3Nsb3RtZW1fY2FsbGJhY2tfZm5fdCAqZnVuYywgdm9pZCAqZGF0YSwgYXByX3Bvb2xfdCAqcG9vbCk8L2R0PgogICAgICA8ZGQ+YXBwZWxsZSBsZSBjYWxsYmFjayBzdXIgdG91cyBsZXMgc2xvdHMgYWN0aWZzPC9kZD4KCiAgICAgIDxkdD5hcHJfc3RhdHVzX3QgY3JlYXRlKGFwX3Nsb3RtZW1faW5zdGFuY2VfdCAqKm5ldywgY29uc3QgY2hhciAqbmFtZSwgYXByX3NpemVfdCBpdGVtX3NpemUsIHVuc2lnbmVkIGludCBpdGVtX251bSwgYXBfc2xvdG1lbV90eXBlX3QgdHlwZSwgYXByX3Bvb2xfdCAqcG9vbCk8L2R0PgogICAgICA8ZGQ+Y3LpZSB1biBub3V2ZWF1IHNsb3QgZGUgbeltb2lyZSBkb250IGNoYXF1ZSBvYmpldCBhdXJhIHVuZQogICAgICB0YWlsbGUgZGUgaXRlbV9zaXplLjwvZGQ+CgogICAgICA8ZHQ+YXByX3N0YXR1c190IGF0dGFjaChhcF9zbG90bWVtX2luc3RhbmNlX3QgKipuZXcsIGNvbnN0IGNoYXIgKm5hbWUsIGFwcl9zaXplX3QgKml0ZW1fc2l6ZSwgdW5zaWduZWQgaW50ICppdGVtX251bSwgYXByX3Bvb2xfdCAqcG9vbCk8L2R0PgogICAgICA8ZGQ+cmF0dGFjaGUg4CB1biBzbG90IGRlIG3pbW9pcmUgZXhpc3RhbnQuPC9kZD4KCiAgICAgIDxkdD5hcHJfc3RhdHVzX3QgZHB0cihhcF9zbG90bWVtX2luc3RhbmNlX3QgKnMsIHVuc2lnbmVkIGludCBpdGVtX2lkLCB2b2lkKiptZW0pPC9kdD4KICAgICAgPGRkPmluZGlxdWUgbGEgbeltb2lyZSBhc3NvY2npZSDgIGNlIHNsb3QgYWN0aWYuPC9kZD4KCiAgICAgIDxkdD5hcHJfc3RhdHVzX3QgZ2V0KGFwX3Nsb3RtZW1faW5zdGFuY2VfdCAqcywgdW5zaWduZWQgaW50IGl0ZW1faWQsIHVuc2lnbmVkIGNoYXIgKmRlc3QsIGFwcl9zaXplX3QgZGVzdF9sZW4pPC9kdD4KICAgICAgPGRkPmxpdCBsYSBt6W1vaXJlIGRlcHVpcyBjZSBzbG90IGV0IGxhIHRyYW5zZuhyZSB2ZXJzIGRlc3Q8L2RkPgoKICAgICAgPGR0PmFwcl9zdGF0dXNfdCBwdXQoYXBfc2xvdG1lbV9pbnN0YW5jZV90ICpzbG90LCB1bnNpZ25lZCBpbnQgaXRlbV9pZCwgdW5zaWduZWQgY2hhciAqc3JjLCBhcHJfc2l6ZV90IHNyY19sZW4pPC9kdD4KICAgICAgPGRkPuljcml0IGRhbnMgY2Ugc2xvdCBsYSBt6W1vaXJlIGVuIHByb3ZlbmFuY2UgZGUgc3JjPC9kZD4KCiAgICAgIDxkdD51bnNpZ25lZCBpbnQgbnVtX3Nsb3RzKGFwX3Nsb3RtZW1faW5zdGFuY2VfdCAqcyk8L2R0PgogICAgICA8ZGQ+cmVudm9pZSBsZSBub21icmUgdG90YWwgZGUgc2xvdHMgY29udGVudXMgZGFucyBjZSBzZWdtZW50PC9kZD4KCiAgICAgIDxkdD5hcHJfc2l6ZV90IHNsb3Rfc2l6ZShhcF9zbG90bWVtX2luc3RhbmNlX3QgKnMpPC9kdD4KICAgICAgPGRkPnJlbnZvaWUgbGEgdGFpbGxlIHRvdGFsZSBkZXMgZG9ubullcywgZW4gb2N0ZXRzLCBjb250ZW51ZXMKICAgICAgZGFucyB1biBzbG90IGRlIGNlIHNlZ21lbnQ8L2RkPgoKICAgICAgPGR0PmFwcl9zdGF0dXNfdCBncmFiKGFwX3Nsb3RtZW1faW5zdGFuY2VfdCAqcywgdW5zaWduZWQgaW50ICppdGVtX2lkKTs8L2R0PgogICAgICA8ZGQ+YWxsb3VlIGxlIHByZW1pZXIgc2xvdCBkaXNwb25pYmxlIGV0IGxlIG1hcnF1ZSBjb21tZSB1dGlsaXPpIChuJ2VmZmVjdHVlIGF1Y3VuZQogICAgICBjb3BpZSBkZSBkb25u6WVzKTwvZGQ+CgogICAgICA8ZHQ+YXByX3N0YXR1c190IGZncmFiKGFwX3Nsb3RtZW1faW5zdGFuY2VfdCAqcywgdW5zaWduZWQgaW50IGl0ZW1faWQpOzwvZHQ+CiAgICAgIDxkZD5mb3JjZSBsJ2FsbG9jYXRpb24gb3UgbCdhcHByb3ByaWF0aW9uIGR1IHNsb3Qgc3DpY2lmaekgZXQgbGUgbWFycXVlIGNvbW1lIHV0aWxpc+kgKG4nZWZmZWN0dWUgYXVjdW5lCiAgICAgIGNvcGllIGRlIGRvbm7pZXMpPC9kZD4KCiAgICAgIDxkdD5hcHJfc3RhdHVzX3QgcmVsZWFzZShhcF9zbG90bWVtX2luc3RhbmNlX3QgKnMsIHVuc2lnbmVkIGludCBpdGVtX2lkKTs8L2R0PgogICAgICA8ZGQ+bGli6HJlIHVuIHNsb3QgZXQgbGUgbWFycXVlIGNvbW1lIG5vbiB1dGlsaXPpIChuJ2VmZmVjdHVlIGF1Y3VuZQogICAgICBjb3BpZSBkZSBkb25u6WVzKTwvZGQ+CiAgICA8L2RsPgoKPC9kaXY+CjxkaXYgaWQ9InF1aWNrdmlldyI+PGgzIGNsYXNzPSJkaXJlY3RpdmVzIj5EaXJlY3RpdmVzPC9oMz4KPHA+Q2UgbW9kdWxlIG5lIGZvdXJuaXQgYXVjdW5lIGRpcmVjdGl2ZS48L3A+CjxoMz5UcmFpdGVtZW50IGRlcyBidWdzPC9oMz48dWwgY2xhc3M9InNlZWFsc28iPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5hcGFjaGUub3JnL2Rpc3QvaHR0cGQvQ0hBTkdFU18yLjQiPkpvdXJuYWwgZGVzIG1vZGlmaWNhdGlvbnMgZGUgaHR0cGQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9iei5hcGFjaGUub3JnL2J1Z3ppbGxhL2J1Z2xpc3QuY2dpP2J1Z19zdGF0dXM9X19vcGVuX18mYW1wO2xpc3RfaWQ9MTQ0NTMyJmFtcDtwcm9kdWN0PUFwYWNoZSUyMGh0dHBkLTImYW1wO3F1ZXJ5X2Zvcm1hdD1zcGVjaWZpYyZhbXA7b3JkZXI9Y2hhbmdlZGRhdGUlMjBERVNDJTJDcHJpb3JpdHklMkNidWdfc2V2ZXJpdHkmYW1wO2NvbXBvbmVudD1tb2Rfc2xvdG1lbV9wbGFpbiI+UHJvYmzobWVzIGNvbm51czwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL2J6LmFwYWNoZS5vcmcvYnVnemlsbGEvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PUFwYWNoZSUyMGh0dHBkLTImYW1wO2NvbXBvbmVudD1tb2Rfc2xvdG1lbV9wbGFpbiI+U2lnbmFsZXIgdW4gYnVnPC9hPjwvbGk+PC91bD48aDM+Vm9pciBhdXNzaTwvaDM+Cjx1bCBjbGFzcz0ic2VlYWxzbyI+CjxsaT48YSBocmVmPSIjY29tbWVudHNfc2VjdGlvbiI+Q29tbWVudGFpcmVzPC9hPjwvbGk+PC91bD48L2Rpdj4KCjwvZGl2Pgo8ZGl2IGNsYXNzPSJib3R0b21sYW5nIj4KPHA+PHNwYW4+TGFuZ3VlcyBEaXNwb25pYmxlczogPC9zcGFuPjxhIGhyZWY9Ii4uL2VuL21vZC9tb2Rfc2xvdG1lbV9wbGFpbi5odG1sIiBocmVmbGFuZz0iZW4iIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iRW5nbGlzaCI+Jm5ic3A7ZW4mbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi4vZnIvbW9kL21vZF9zbG90bWVtX3BsYWluLmh0bWwiIHRpdGxlPSJGcmFu52FpcyI+Jm5ic3A7ZnImbmJzcDs8L2E+PC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIGFsdD0idG9wIiAvPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIj48aDI+PGEgaWQ9ImNvbW1lbnRzX3NlY3Rpb24iIG5hbWU9ImNvbW1lbnRzX3NlY3Rpb24iPkNvbW1lbnRhaXJlczwvYT48L2gyPjxkaXYgY2xhc3M9Indhcm5pbmciPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPjxiciAvPlRoaXMgaXMgbm90IGEgUSZhbXA7QSBzZWN0aW9uLiBDb21tZW50cyBwbGFjZWQgaGVyZSBzaG91bGQgYmUgcG9pbnRlZCB0b3dhcmRzIHN1Z2dlc3Rpb25zIG9uIGltcHJvdmluZyB0aGUgZG9jdW1lbnRhdGlvbiBvciBzZXJ2ZXIsIGFuZCBtYXkgYmUgcmVtb3ZlZCBhZ2FpbiBieSBvdXIgbW9kZXJhdG9ycyBpZiB0aGV5IGFyZSBlaXRoZXIgaW1wbGVtZW50ZWQgb3IgY29uc2lkZXJlZCBpbnZhbGlkL29mZi10b3BpYy4gUXVlc3Rpb25zIG9uIGhvdyB0byBtYW5hZ2UgdGhlIEFwYWNoZSBIVFRQIFNlcnZlciBzaG91bGQgYmUgZGlyZWN0ZWQgYXQgZWl0aGVyIG91ciBJUkMgY2hhbm5lbCwgI2h0dHBkLCBvbiBGcmVlbm9kZSwgb3Igc2VudCB0byBvdXIgPGEgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvbGlzdHMuaHRtbCI+bWFpbGluZyBsaXN0czwvYT4uPC9kaXY+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tLy8tLT48IVtDREFUQVsvLz48IS0tCnZhciBjb21tZW50c19zaG9ydG5hbWUgPSAnaHR0cGQnOwp2YXIgY29tbWVudHNfaWRlbnRpZmllciA9ICdodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9kb2NzLzIuNC9tb2QvbW9kX3Nsb3RtZW1fcGxhaW4uaHRtbCc7CihmdW5jdGlvbih3LCBkKSB7CiAgICBpZiAody5sb2NhdGlvbi5ob3N0bmFtZS50b0xvd2VyQ2FzZSgpID09ICJodHRwZC5hcGFjaGUub3JnIikgewogICAgICAgIGQud3JpdGUoJzxkaXYgaWQ9ImNvbW1lbnRzX3RocmVhZCI+PFwvZGl2PicpOwogICAgICAgIHZhciBzID0gZC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICBzLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBzLnNyYyA9ICdodHRwczovL2NvbW1lbnRzLmFwYWNoZS5vcmcvc2hvd19jb21tZW50cy5sdWE/c2l0ZT0nICsgY29tbWVudHNfc2hvcnRuYW1lICsgJyZwYWdlPScgKyBjb21tZW50c19pZGVudGlmaWVyOwogICAgICAgIChkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0gfHwgZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpWzBdKS5hcHBlbmRDaGlsZChzKTsKICAgIH0KICAgIGVsc2UgeyAKICAgICAgICBkLndyaXRlKCc8ZGl2IGlkPSJjb21tZW50c190aHJlYWQiPkNvbW1lbnRzIGFyZSBkaXNhYmxlZCBmb3IgdGhpcyBwYWdlIGF0IHRoZSBtb21lbnQuPFwvZGl2PicpOwogICAgfQp9KSh3aW5kb3csIGRvY3VtZW50KTsKLy8tLT48IV1dPjwvc2NyaXB0PjwvZGl2PjxkaXYgaWQ9ImZvb3RlciI+CjxwIGNsYXNzPSJhcGFjaGUiPkNvcHlyaWdodCAyMDE2IFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbi48YnIgLz5BdXRvcmlz6SBzb3VzIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCI+QXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wPC9hPi48L3A+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj5Nb2R1bGVzPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iaHR0cDovL3dpa2kuYXBhY2hlLm9yZy9odHRwZC9GQVEiPkZBUTwvYT4gfCA8YSBocmVmPSIuLi9nbG9zc2FyeS5odG1sIj5HbG9zc2FpcmU8L2E+IHwgPGEgaHJlZj0iLi4vc2l0ZW1hcC5odG1sIj5QbGFuIGR1IHNpdGU8L2E+PC9wPjwvZGl2PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tLy8tLT48IVtDREFUQVsvLz48IS0tCmlmICh0eXBlb2YocHJldHR5UHJpbnQpICE9PSAndW5kZWZpbmVkJykgewogICAgcHJldHR5UHJpbnQoKTsKfQovLy0tPjwhXV0+PC9zY3JpcHQ+CjwvYm9keT48L2h0bWw+