PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJmciIgeG1sOmxhbmc9ImZyIj48aGVhZD4KPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4KPCEtLQogICAgICAgIFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYCiAgICAgICAgICAgICAgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHhtbCBzb3VyY2U6IERPIE5PVCBFRElUCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgLS0+Cjx0aXRsZT5tb2RfYXV0aHpfZGJkIC0gU2VydmV1ciBBcGFjaGUgSFRUUCBWZXJzaW9uIDIuNDwvdGl0bGU+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTWFpbiBzdHlsZXNoZWV0IiAvPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLWxvb3NlLTEwMHBjLmNzcyIgcmVsPSJhbHRlcm5hdGUgc3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJObyBTaWRlYmFyIC0gRGVmYXVsdCBmb250IHNpemUiIC8+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwtcHJpbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJwcmludCIgdHlwZT0idGV4dC9jc3MiIC8+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGUvY3NzL3ByZXR0aWZ5LmNzcyIgLz4KPHNjcmlwdCBzcmM9Ii4uL3N0eWxlL3NjcmlwdHMvcHJldHRpZnkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgo8L3NjcmlwdD4KCjxsaW5rIGhyZWY9Ii4uL2ltYWdlcy9mYXZpY29uLmljbyIgcmVsPSJzaG9ydGN1dCBpY29uIiAvPjwvaGVhZD4KPGJvZHk+CjxkaXYgaWQ9InBhZ2UtaGVhZGVyIj4KPHAgY2xhc3M9Im1lbnUiPjxhIGhyZWY9Ii4uL21vZC8iPk1vZHVsZXM8L2E+IHwgPGEgaHJlZj0iLi4vbW9kL2RpcmVjdGl2ZXMuaHRtbCI+RGlyZWN0aXZlczwvYT4gfCA8YSBocmVmPSJodHRwOi8vd2lraS5hcGFjaGUub3JnL2h0dHBkL0ZBUSI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4uL2dsb3NzYXJ5Lmh0bWwiPkdsb3NzYWlyZTwvYT4gfCA8YSBocmVmPSIuLi9zaXRlbWFwLmh0bWwiPlBsYW4gZHUgc2l0ZTwvYT48L3A+CjxwIGNsYXNzPSJhcGFjaGUiPlNlcnZldXIgQXBhY2hlIEhUVFAgVmVyc2lvbiAyLjQ8L3A+CjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2ZlYXRoZXIucG5nIiAvPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ1cCI+PGEgaHJlZj0iLi8iPjxpbWcgdGl0bGU9IiZsdDstIiBhbHQ9IiZsdDstIiBzcmM9Ii4uL2ltYWdlcy9sZWZ0LmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgaWQ9InBhdGgiPgo8YSBocmVmPSJodHRwOi8vd3d3LmFwYWNoZS5vcmcvIj5BcGFjaGU8L2E+ICZndDsgPGEgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvIj5TZXJ2ZXVyIEhUVFA8L2E+ICZndDsgPGEgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8iPkRvY3VtZW50YXRpb248L2E+ICZndDsgPGEgaHJlZj0iLi4vIj5WZXJzaW9uIDIuNDwvYT4gJmd0OyA8YSBocmVmPSIuLyI+TW9kdWxlczwvYT48L2Rpdj4KPGRpdiBpZD0icGFnZS1jb250ZW50Ij4KPGRpdiBpZD0icHJlYW1ibGUiPjxoMT5Nb2R1bGUgQXBhY2hlIG1vZF9hdXRoel9kYmQ8L2gxPgo8ZGl2IGNsYXNzPSJ0b3BsYW5nIj4KPHA+PHNwYW4+TGFuZ3VlcyBEaXNwb25pYmxlczogPC9zcGFuPjxhIGhyZWY9Ii4uL2VuL21vZC9tb2RfYXV0aHpfZGJkLmh0bWwiIGhyZWZsYW5nPSJlbiIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9mci9tb2QvbW9kX2F1dGh6X2RiZC5odG1sIiB0aXRsZT0iRnJhbudhaXMiPiZuYnNwO2ZyJm5ic3A7PC9hPjwvcD4KPC9kaXY+Cjx0YWJsZSBjbGFzcz0ibW9kdWxlIj48dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5BdXRvcmlzYXRpb24gZW4gZ3JvdXBlIGV0IHJlY29ubmFpc3NhbmNlIGQnaWRlbnRpdOkgYXZlYyBiYXNlClNRTDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHV0OjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNNb2R1bGVJZGVudGlmaWVyIj5JZGVudGlmaWNhdGV1cqBkZaBNb2R1bGU6PC9hPjwvdGg+PHRkPmF1dGh6X2RiZF9tb2R1bGU8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNTb3VyY2VGaWxlIj5GaWNoaWVyoFNvdXJjZTo8L2E+PC90aD48dGQ+bW9kX2F1dGh6X2RiZC5jPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjQ29tcGF0aWJpbGl0eSI+Q29tcGF0aWJpbGl06To8L2E+PC90aD48dGQ+RGlzcG9uaWJsZSBkYW5zIGxlcyB2ZXJzaW9ucyAyLjQgZXQgc3Vw6XJpZXVyZXMKZCdBcGFjaGU8L3RkPjwvdHI+PC90YWJsZT4KPGgzPlNvbW1haXJlPC9oMz4KCiAgICA8cD5DZSBtb2R1bGUgZm91cm5pdCBkZXMgZm9uY3Rpb25uYWxpdOlzIGQnYXV0b3Jpc2F0aW9uIHBlcm1ldHRhbnQKICAgIGQnYWNjb3JkZXIgb3UgZGUgcmVmdXNlciBhdXggdXRpbGlzYXRldXJzIGF1dGhlbnRpZmnpcyBsJ2FjY+hzIOAKICAgIGNlcnRhaW5lcyB6b25lcyBkdSBzaXRlIHdlYiBlbiBmb25jdGlvbiBkZSBsZXVyIGFwcGFydGVuYW5jZSDgIHRlbAogICAgb3UgdGVsIGdyb3VwZS4gTGVzIG1vZHVsZXMgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9hdXRoel9ncm91cGZpbGUuaHRtbCI+bW9kX2F1dGh6X2dyb3VwZmlsZTwvYT48L2NvZGU+IGV0CiAgICA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2F1dGh6X2RibS5odG1sIj5tb2RfYXV0aHpfZGJtPC9hPjwvY29kZT4gZm91cm5pc3NlbnQgdW5lIGZvbmN0aW9ubmFsaXTpCiAgICBzaW1pbGFpcmUsIG1haXMgaWNpIGxlIG1vZHVsZSBpbnRlcnJvZ2UgdW5lIGJhc2UgZGUgZG9ubullcyBTUUwgcG91cgogICAgZOl0ZXJtaW5lciBzaSB1biB1dGlsaXNhdGV1ciBhcHBhcnRpZW50IG91IG5vbiDgIHRlbCBvdSB0ZWwgZ3JvdXBlLjwvcD4KICAgIDxwPkNlIG1vZHVsZSBwcm9wb3NlIOlnYWxlbWVudCBkZXMgZm9uY3Rpb25uYWxpdOlzIGRlIGNvbm5leGlvbgogICAgdXRpbGlzYXRldXIgcydhcHB1eWFudCBzdXIgdW5lIGJhc2UgZGUgZG9ubullcywgY2UgcXVpIHBldXQgc2Ugcul26WxlcgogICAgcGFydGljdWxp6HJlbWVudCB1dGlsZSBsb3JzcXVlIGxlIG1vZHVsZSBlc3QgdXRpbGlz6SBjb25qb2ludGVtZW50IGF2ZWMKICAgIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aG5fZGJkLmh0bWwiPm1vZF9hdXRobl9kYmQ8L2E+PC9jb2RlPi48L3A+CiAgICA8cD5DZSBtb2R1bGUgcydhcHB1aWUgc3VyIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfZGJkLmh0bWwiPm1vZF9kYmQ8L2E+PC9jb2RlPiBwb3VyIHNw6WNpZmllciBsZQogICAgcGlsb3RlIGRlIGxhIGJhc2UgZGUgZG9ubullcyBzb3VzLWphY2VudGUgZXQgbGVzIHBhcmFt6HRyZXMgZGUKICAgIGNvbm5leGlvbiwgZXQgZ+lyZXIgbGVzIGNvbm5leGlvbnMg4CBsYSBiYXNlIGRlIGRvbm7pZXMuPC9wPgo8L2Rpdj4KPGRpdiBpZD0icXVpY2t2aWV3Ij48aDM+U3VqZXRzPC9oMz4KPHVsIGlkPSJ0b3BpY3MiPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNyZXF1aXJlZGlyZWN0aXZlcyI+TGVzIGRpcmVjdGl2ZXMgUmVxdWlyZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNsb2dpbiI+UmVjb25uYWlzc2FuY2UgZCdpZGVudGl06SBzJ2FwcHV5YW50IHN1ciB1bmUgYmFzZSBkZSBkb25u6WVzPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2NsaWVudCI+UmVjb25uYWlzc2FuY2UgZCdpZGVudGl06SBj9HTpIGNsaWVudDwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNleGFtcGxlIj5FeGVtcGxlIGRlIGNvbmZpZ3VyYXRpb248L2E+PC9saT4KPC91bD48aDMgY2xhc3M9ImRpcmVjdGl2ZXMiPkRpcmVjdGl2ZXM8L2gzPgo8dWwgaWQ9InRvYyI+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2F1dGh6ZGJkbG9naW50b3JlZmVyZXIiPkF1dGh6REJETG9naW5Ub1JlZmVyZXI8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjYXV0aHpkYmRxdWVyeSI+QXV0aHpEQkRRdWVyeTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNhdXRoemRiZHJlZGlyZWN0cXVlcnkiPkF1dGh6REJEUmVkaXJlY3RRdWVyeTwvYT48L2xpPgo8L3VsPgo8aDM+VHJhaXRlbWVudCBkZXMgYnVnczwvaDM+PHVsIGNsYXNzPSJzZWVhbHNvIj48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9kaXN0L2h0dHBkL0NIQU5HRVNfMi40Ij5Kb3VybmFsIGRlcyBtb2RpZmljYXRpb25zIGRlIGh0dHBkPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vYnouYXBhY2hlLm9yZy9idWd6aWxsYS9idWdsaXN0LmNnaT9idWdfc3RhdHVzPV9fb3Blbl9fJmFtcDtsaXN0X2lkPTE0NDUzMiZhbXA7cHJvZHVjdD1BcGFjaGUlMjBodHRwZC0yJmFtcDtxdWVyeV9mb3JtYXQ9c3BlY2lmaWMmYW1wO29yZGVyPWNoYW5nZWRkYXRlJTIwREVTQyUyQ3ByaW9yaXR5JTJDYnVnX3NldmVyaXR5JmFtcDtjb21wb25lbnQ9bW9kX2F1dGh6X2RiZCI+UHJvYmzobWVzIGNvbm51czwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL2J6LmFwYWNoZS5vcmcvYnVnemlsbGEvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PUFwYWNoZSUyMGh0dHBkLTImYW1wO2NvbXBvbmVudD1tb2RfYXV0aHpfZGJkIj5TaWduYWxlciB1biBidWc8L2E+PC9saT48L3VsPjxoMz5Wb2lyIGF1c3NpPC9oMz4KPHVsIGNsYXNzPSJzZWVhbHNvIj4KPGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aHpfY29yZS5odG1sI3JlcXVpcmUiPlJlcXVpcmU8L2E+PC9jb2RlPjwvbGk+CjxsaT4KICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX2F1dGhuX2RiZC5odG1sI2F1dGhkYmR1c2VycHdxdWVyeSI+QXV0aERCRFVzZXJQV1F1ZXJ5PC9hPjwvY29kZT4KPC9saT4KPGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfZGJkLmh0bWwjZGJkcml2ZXIiPkRCRHJpdmVyPC9hPjwvY29kZT48L2xpPgo8bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9kYmQuaHRtbCNkYmRwYXJhbXMiPkRCRFBhcmFtczwvYT48L2NvZGU+PC9saT4KPGxpPjxhIGhyZWY9IiNjb21tZW50c19zZWN0aW9uIj5Db21tZW50YWlyZXM8L2E+PC9saT48L3VsPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJyZXF1aXJlZGlyZWN0aXZlcyIgaWQ9InJlcXVpcmVkaXJlY3RpdmVzIj5MZXMgZGlyZWN0aXZlcyBSZXF1aXJlPC9hPjwvaDI+CgogICAgPHA+TGVzIGRpcmVjdGl2ZXMgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9hdXRoel9jb3JlLmh0bWwjcmVxdWlyZSI+UmVxdWlyZTwvYT48L2NvZGU+IGQnQXBhY2hlIHBlcm1ldHRlbnQsCiAgICBhdSBjb3VycyBkZSBsYSBwaGFzZSBkJ2F1dG9yaXNhdGlvbiwgZGUgcydhc3N1cmVyIHF1J3VuIHV0aWxpc2F0ZXVyCiAgICBlc3QgYmllbiBhdXRvcmlz6SDgIGFjY+lkZXIg4CB1bmUgcmVzc291cmNlLiBtb2RfYXV0aHpfZGJkIGFqb3V0ZQogICAgbGVzIHR5cGVzIGQnYXV0b3Jpc2F0aW9uIDxjb2RlPmRiZC1ncm91cDwvY29kZT4sCiAgICA8Y29kZT5kYmQtbG9naW48L2NvZGU+IGV0IDxjb2RlPmRiZC1sb2dvdXQ8L2NvZGU+LjwvcD4KCiAgICA8cD5BIHBhcnRpciBkZSBsYSB2ZXJzaW9uIDIuNC44LCBsZXMgZGlyZWN0aXZlcyByZXF1aXJlIERCRAogICAgc3VwcG9ydGVudCBsZXMgPGEgaHJlZj0iLi4vZXhwci5odG1sIj5leHByZXNzaW9uczwvYT4uPC9wPgoKPGgzPjxhIG5hbWU9InJlcWdyb3VwIiBpZD0icmVxZ3JvdXAiPlJlcXVpcmUgZGJkLWdyb3VwPC9hPjwvaDM+CgogICAgPHA+Q2V0dGUgZGlyZWN0aXZlIHBlcm1ldCBkZSBzcOljaWZpZXIg4CBxdWVsIGdyb3VwZSB1biB1dGlsaXNhdGV1cgogICAgZG9pdCBhcHBhcnRlbmlyIHBvdXIgb2J0ZW5pciBsJ2F1dG9yaXNhdGlvbiBkJ2FjY+hzLjwvcD4KCiAgICA8cHJlIGNsYXNzPSJwcmV0dHlwcmludCBsYW5nLWNvbmZpZyI+ICAgICAgUmVxdWlyZSBkYmQtZ3JvdXAgdGVhbQogICAgICBBdXRoekRCRFF1ZXJ5ICJTRUxFQ1QgZ3JvdXAgRlJPTSBhdXRoeiBXSEVSRSB1c2VyID0gJXMiPC9wcmU+CgoKCgo8aDM+PGEgbmFtZT0icmVxbG9naW4iIGlkPSJyZXFsb2dpbiI+UmVxdWlyZSBkYmQtbG9naW48L2E+PC9oMz4KCiAgICA8cD5DZXR0ZSBkaXJlY3RpdmUgcGVybWV0IGRlIHNw6WNpZmllciB1bmUgcmVxdep0ZSDgIGV46WN1dGVyIHBvdXIKICAgIGluZGlxdWVyIHF1ZSBsJ3V0aWxpc2F0ZXVyIHMnZXN0IGF1dGhlbnRpZmnpLjwvcD4KCiAgICA8cHJlIGNsYXNzPSJwcmV0dHlwcmludCBsYW5nLWNvbmZpZyI+ICAgICAgUmVxdWlyZSBkYmQtbG9naW4KICAgICAgQXV0aHpEQkRRdWVyeSAiVVBEQVRFIGF1dGhuIFNFVCBsb2dpbiA9ICd0cnVlJyBXSEVSRSB1c2VyID0gJXMiPC9wcmU+CgoKCgo8aDM+PGEgbmFtZT0icmVxbG9nb3V0IiBpZD0icmVxbG9nb3V0Ij5SZXF1aXJlIGRiZC1sb2dvdXQ8L2E+PC9oMz4KCiAgICA8cD5DZXR0ZSBkaXJlY3RpdmUgcGVybWV0IGRlIHNw6WNpZmllciB1bmUgcmVxdep0ZSDgIGV46WN1dGVyIHBvdXIKICAgIGluZGlxdWVyIHF1ZSBsJ3V0aWxpc2F0ZXVyIHMnZXN0IGTpY29ubmVjdOkuPC9wPgoKICAgIDxwcmUgY2xhc3M9InByZXR0eXByaW50IGxhbmctY29uZmlnIj4gICAgICBSZXF1aXJlIGRiZC1sb2dvdXQKICAgICAgQXV0aHpEQkRRdWVyeSAiVVBEQVRFIGF1dGhuIFNFVCBsb2dpbiA9ICdmYWxzZScgV0hFUkUgdXNlciA9ICVzIjwvcHJlPgoKCgoKPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0ibG9naW4iIGlkPSJsb2dpbiI+UmVjb25uYWlzc2FuY2UgZCdpZGVudGl06SBzJ2FwcHV5YW50IHN1ciB1bmUgYmFzZSBkZSBkb25u6WVzPC9hPjwvaDI+Cgo8cD4KT3V0cmUgc2EgZm9uY3Rpb24gZCdhdXRvcmlzYXRpb24gc3RhbmRhcmQgY29uc2lzdGFudCDgIHbpcmlmaWVyCmwnYXBwYXJ0ZW5hbmNlIOAgZGVzIGdyb3VwZXMsIGNlIG1vZHVsZSBwZXJtZXQgYXVzc2kgZGUgZ+lyZXIgZGVzCnNlc3Npb25zIHV0aWxpc2F0ZXVyIGP0dOkgc2VydmV1ciBncuJjZSDgIHNhIGZvbmN0aW9ubmFsaXTpIGRlIGNvbm5leGlvbiB1dGlsaXNhdGV1cgplbiBzJ2FwcHV5YW50IHN1ciB1bmUgYmFzZSBkZSBkb25u6WVzLiBFbiBwYXJ0aWN1bGllciwgaWwgcGV1dCBtZXR0cmUg4Apqb3VyIGxlIHN0YXR1dCBkZSBzZXNzaW9uIGRlIGwndXRpbGlzYXRldXIgZGFucyBsYSBiYXNlIGRlIGRvbm7pZXMKY2hhcXVlIGZvaXMgcXVlIGNlbHVpLWNpIHZpc2l0ZSBjZXJ0YWluZXMgVVJMcyAoc291cyBy6XNlcnZlIGJpZW4KZW50ZW5kdSBxdWUgbCd1dGlsaXNhdGV1ciBmb3Vybmlzc2VudCBsZXMgaW5mb3JtYXRpb25zIGRlIGNvbm5leGlvbgpu6WNlc3NhaXJlcykuPC9wPgo8cD5Qb3VyIGNlbGEsIGlsIGZhdXQgZGVmaW5pciBkZXV4IGRpcmVjdGl2ZXMgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9hdXRoel9jb3JlLmh0bWwjcmVxdWlyZSI+UmVxdWlyZTwvYT48L2NvZGU+IHNw6WNpYWxlcyA6IDxjb2RlPlJlcXVpcmUKZGJkLWxvZ2luPC9jb2RlPiBldCA8Y29kZT5SZXF1aXJlIGRiZC1sb2dvdXQ8L2NvZGU+LiBQb3VyIGxlcyBk6XRhaWxzIGRlCmxldXIgdXRpbGlzYXRpb24sIHZvaXIgbCdleGVtcGxlIGRlIGNvbmZpZ3VyYXRpb24gY2ktZGVzc291cy48L3A+CjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9ImNsaWVudCIgaWQ9ImNsaWVudCI+UmVjb25uYWlzc2FuY2UgZCdpZGVudGl06SBj9HTpIGNsaWVudDwvYT48L2gyPgoKPHA+Q2VydGFpbnMgYWRtaW5pc3RyYXRldXJzIHBldXZlbnQgdm91bG9pciBpbXBs6W1lbnRlciB1bmUgZ2VzdGlvbiBkZQpzZXNzaW9uIGP0dOkgY2xpZW50IGZvbmN0aW9ubmFudCBkZSBjb25jZXJ0IGF2ZWMgbGVzIGZvbmN0aW9ubmFsaXTpcyBkZQpjb25uZXhpb24vZOljb25uZXhpb24gZGVzIHV0aWxpc2F0ZXVycyBj9HTpIHNlcnZldXIgb2ZmZXJ0ZXMgcGFyIGNlIG1vZHVsZSwgZW4KZOlmaW5pc3NhbnQgb3UgZW4gYW5udWxhbnQgcGFyIGV4ZW1wbGUgdW4gY29va2llIEhUVFAgb3UgdW4gamV0b24Kc2ltaWxhaXJlIGxvcnNxdSd1biB1dGlsaXNhdGV1ciBzZSBjb25uZWN0ZSBvdSBzZSBk6WNvbm5lY3RlLjwvcD4KCjxwPlBvdXIgc3VwcG9ydGVyIHVuZSB0ZWxsZSBpbnTpZ3JhdGlvbiwgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9hdXRoel9kYmQuaHRtbCI+bW9kX2F1dGh6X2RiZDwvYT48L2NvZGU+IGV4cG9ydGUKdW4gcHJvZ3JhbW1lIOAgZOljbGVuY2hlbWVudCBvcHRpb25uZWwgKGhvb2spIHF1aSBzZXJhIGxhbmPpIGNoYXF1ZSBmb2lzCnF1ZSBsZSBzdGF0dXQgZCd1biB1dGlsaXNhdGV1ciBzZXJhIG1pcyDgIGpvdXIgZGFucyBsYSBiYXNlIGRlIGRvbm7pZXMuCkQnYXV0cmVzIG1vZHVsZXMgZGUgZ2VzdGlvbiBkZSBzZXNzaW9uIHBvdXJyb250IGFsb3JzIHV0aWxpc2VyIGNlCnByb2dyYW1tZSBwb3VyIGltcGzpbWVudGVyIGRlcyBmb25jdGlvbnMgcGVybWV0dGFudCBkJ291dnJpciBldCBkZQpmZXJtZXIgZGVzIHNlc3Npb25zIGP0dOkgY2xpZW50LjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0iZXhhbXBsZSIgaWQ9ImV4YW1wbGUiPkV4ZW1wbGUgZGUgY29uZmlndXJhdGlvbjwvYT48L2gyPgoKPHByZSBjbGFzcz0icHJldHR5cHJpbnQgbGFuZy1jb25maWciPiMgY29uZmlndXJhdGlvbiBkZSBtb2RfZGJkCkRCRHJpdmVyIHBnc3FsCkRCRFBhcmFtcyAiZGJuYW1lPWFwYWNoZWF1dGggdXNlcj1hcGFjaGUgcGFzcz14eHh4eHgiCgpEQkRNaW4gIDQKREJES2VlcCA4CkRCRE1heCAgMjAKREJERXhwdGltZSAzMDAKCiZsdDtEaXJlY3RvcnkgIi91c3Ivd3d3L21vbi5zaXRlL3RlYW0tcHJpdmF0ZS8iJmd0OwogICMgY29uZmlndXJhdGlvbiBkZSBtb2RfYXV0aG5fY29yZSBldCBtb2RfYXV0aF9iYXNpYwogICMgcG91ciBtb2RfYXV0aG5fZGJkCiAgQXV0aFR5cGUgQmFzaWMKICBBdXRoTmFtZSBUZWFtCiAgQXV0aEJhc2ljUHJvdmlkZXIgZGJkCgogICMgcmVxdep0ZSBTUUwgZGUgbW9kX2F1dGhuX2RiZCBwb3VyIGF1dGhlbnRpZmllciB1biB1dGlsaXNhdGV1ciBxdWkgc2UKICAjIGNvbm5lY3RlCiAgQXV0aERCRFVzZXJQV1F1ZXJ5IFwKICAgICJTRUxFQ1QgcGFzc3dvcmQgRlJPTSBhdXRobiBXSEVSRSB1c2VyID0gJXMgQU5EIGxvZ2luID0gJ3RydWUnIgoKICAjIGNvbmZpZ3VyYXRpb24gZGUgbW9kX2F1dGh6X2NvcmUgcG91ciBtb2RfYXV0aHpfZGJkCiAgUmVxdWlyZSBkYmQtZ3JvdXAgdGVhbQoKICAjIGNvbmZpZ3VyYXRpb24gZGUgbW9kX2F1dGh6X2RiZAogIEF1dGh6REJEUXVlcnkgIlNFTEVDVCBncm91cCBGUk9NIGF1dGh6IFdIRVJFIHVzZXIgPSAlcyIKCiAgIyBsb3JzcXUndW4gdXRpbGlzYXRldXIg6WNob3VlIGRhbnMgc2EgdGVudGF0aXZlIGQnYXV0aGVudGlmaWNhdGlvbiBvdQogICMgZCdhdXRvcmlzYXRpb24sIG9uIGwnaW52aXRlIOAgc2UgY29ubmVjdGVyIDsgY2V0dGUgcGFnZSBkb2l0CiAgIyBjb250ZW5pciB1biBsaWVuIHZlcnMgL3RlYW0tcHJpdmF0ZS9sb2dpbi5odG1sCiAgRXJyb3JEb2N1bWVudCA0MDEgIi9sb2dpbi1pbmZvLmh0bWwiCgogICZsdDtGaWxlcyAibG9naW4uaHRtbCImZ3Q7CiAgICAjIGlsIG4nZXN0IHBhcyBu6WNlc3NhaXJlIHF1ZSBsJ3V0aWxpc2F0ZXVyIHNvaXQgZOlq4CBjb25uZWN06SAhCiAgICBBdXRoREJEVXNlclBXUXVlcnkgIlNFTEVDVCBwYXNzd29yZCBGUk9NIGF1dGhuIFdIRVJFIHVzZXIgPSAlcyIKCiAgICAjIGxlIHByb2Nlc3N1cyBkZSBjb25uZXhpb24gZGJkIGV46WN1dGUgdW5lIHJlcXXqdGUgcG91ciBlbnJlZ2lzdHJlcgogICAgIyBsYSBjb25uZXhpb24gZGUgbCd1dGlsaXNhdGV1cgogICAgUmVxdWlyZSBkYmQtbG9naW4KICAgIEF1dGh6REJEUXVlcnkgIlVQREFURSBhdXRobiBTRVQgbG9naW4gPSAndHJ1ZScgV0hFUkUgdXNlciA9ICVzIgoKICAgICMgcmVkaXJpZ2UgbCd1dGlsaXNhdGV1ciB2ZXJzIGxhIHBhZ2UgZCdvcmlnaW5lIChzaSBlbGxlIGV4aXN0ZSkKICAgICMgYXBy6HMgdW5lIGNvbm5leGlvbiBy6XVzc2llCiAgICBBdXRoekRCRExvZ2luVG9SZWZlcmVyIE9uCiAgJmx0Oy9GaWxlcyZndDsKCiAgJmx0O0ZpbGVzICJsb2dvdXQuaHRtbCImZ3Q7CiAgICAjIGxlIHByb2Nlc3N1cyBkZSBk6WNvbm5leGlvbiBkYmQgZXjpY3V0ZSB1bmUgcmVxdep0ZSBwb3VyCiAgICAjIGVucmVnaXN0cmVyIGxhIGTpY29ubmV4aW9uIGRlIGwndXRpbGlzYXRldXIKICAgIFJlcXVpcmUgZGJkLWxvZ291dAogICAgQXV0aHpEQkRRdWVyeSAiVVBEQVRFIGF1dGhuIFNFVCBsb2dpbiA9ICdmYWxzZScgV0hFUkUgdXNlciA9ICVzIgogICZsdDsvRmlsZXMmZ3Q7CiZsdDsvRGlyZWN0b3J5Jmd0OzwvcHJlPgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9ImF1dGh6ZGJkbG9naW50b3JlZmVyZXIiIGlkPSJhdXRoemRiZGxvZ2ludG9yZWZlcmVyIj5EaXJlY3RpdmU8L2E+IDxhIG5hbWU9IkF1dGh6REJETG9naW5Ub1JlZmVyZXIiIGlkPSJBdXRoekRCRExvZ2luVG9SZWZlcmVyIj5BdXRoekRCRExvZ2luVG9SZWZlcmVyPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+ROlmaW5pdCBzaSBsZSBjbGllbnQgZG9pdCDqdHJlIHJlZGlyaWfpIHZlcnMgbGEgcGFnZQpkJ29yaWdpbmUgZW4gY2FzIGRlIGNvbm5leGlvbiBvdSBkZSBk6WNvbm5leGlvbiBy6XVzc2llIHNpIHVuIGVuLXTqdGUKZGUgcmVxdep0ZSA8Y29kZT5SZWZlcmVyPC9jb2RlPiBlc3QgcHLpc2VudDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4ZTo8L2E+PC90aD48dGQ+PGNvZGU+QXV0aHpEQkRMb2dpblRvUmVmZXJlciBPbnxPZmY8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+ROlmYXV0OjwvYT48L3RoPjx0ZD48Y29kZT5BdXRoekRCRExvZ2luVG9SZWZlcmVyIE9mZjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0ZTo8L2E+PC90aD48dGQ+culwZXJ0b2lyZTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHV0OjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2F1dGh6X2RiZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgIDxwPlV0aWxpc+llIGVuIGNvbmpvbmN0aW9uIGF2ZWMgPGNvZGU+UmVxdWlyZSBkYmQtbG9naW48L2NvZGU+IG91CiAgICA8Y29kZT5SZXF1aXJlIGRiZC1sb2dvdXQ8L2NvZGU+LCBjZXR0ZSBkaXJlY3RpdmUgcGVybWV0IGRlIHJlZGlyaWdlcgogICAgbGUgY2xpZW50IHZlcnMgbGEgcGFnZSBkJ29yaWdpbmUgKGwnVVJMIGNvbnRlbnVlIGRhbnMgbCdlbi106nRlCiAgICBkZSByZXF16nRlIEhUVFAgPGNvZGU+UmVmZXJlcjwvY29kZT4sIHMnaWwgZXN0IHBy6XNlbnQpLiBFbgogICAgbCdhYnNlbmNlIGQnZW4tdOp0ZSA8Y29kZT5SZWZlcmVyPC9jb2RlPiwgbGEgZOlmaW5pdGlvbgogICAgPGNvZGU+QXV0aHpEQkRMb2dpblRvUmVmZXJlciBPbjwvY29kZT4gc2VyYSBpZ25vcullLjwvcD4KCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJhdXRoemRiZHF1ZXJ5IiBpZD0iYXV0aHpkYmRxdWVyeSI+RGlyZWN0aXZlPC9hPiA8YSBuYW1lPSJBdXRoekRCRFF1ZXJ5IiBpZD0iQXV0aHpEQkRRdWVyeSI+QXV0aHpEQkRRdWVyeTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPkTpZmluaXQgbGEgcmVxdep0ZSBTUUwgcG91ciBsJ29w6XJhdGlvbiByZXF1aXNlPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXhlOjwvYT48L3RoPjx0ZD48Y29kZT5BdXRoekRCRFF1ZXJ5IDx2YXI+cmVxdep0ZTwvdmFyPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0ZTo8L2E+PC90aD48dGQ+culwZXJ0b2lyZTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHV0OjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2F1dGh6X2RiZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgIDxwPkxhIGRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5BdXRoekRCRFF1ZXJ5PC9jb2RlPiBwZXJtZXQgZGUKICAgIHNw6WNpZmllciB1bmUgcmVxdep0ZSBTUUwg4CBleOljdXRlci4gTGUgYnV0IGRlIGNldHRlIHJlcXXqdGUgZOlwZW5kCiAgICBkZSBsYSBkaXJlY3RpdmUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9hdXRoel9jb3JlLmh0bWwjcmVxdWlyZSI+UmVxdWlyZTwvYT48L2NvZGU+IGVuIGNvdXJzIGRlCiAgICB0cmFpdGVtZW50LjwvcD4KICAgIDx1bD4KICAgIDxsaT5BdmVjIGxhIGRpcmVjdGl2ZSA8Y29kZT5SZXF1aXJlIGRiZC1ncm91cDwvY29kZT4sIGVsbGUgc3DpY2lmaWUKICAgIHVuZSByZXF16nRlIHBlcm1ldHRhbnQgZGUgcmVjaGVyY2hlciBsZXMgZ3JvdXBlcyBkJ2FwcGFydGVuYW5jZSBkZQogICAgbCd1dGlsaXNhdGV1ciBjb3VyYW50LiBDZWNpIGNvcnJlc3BvbmQg4CBsYSBmb25jdGlvbm5hbGl06SBzdGFuZGFyZAogICAgZCdhdXRyZXMgbW9kdWxlcyBkJ2F1dG9yaXNhdGlvbiBjb21tZQogICAgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9hdXRoel9ncm91cGZpbGUuaHRtbCI+bW9kX2F1dGh6X2dyb3VwZmlsZTwvYT48L2NvZGU+IGV0CiAgICA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2F1dGh6X2RibS5odG1sIj5tb2RfYXV0aHpfZGJtPC9hPjwvY29kZT4uCiAgICBMYSBwcmVtaehyZSBjb2xvbm5lIGRlIGNoYXF1ZSBlbnJlZ2lzdHJlbWVudCByZW52b3npIHBhciBsYSByZXF16nRlCiAgICBkb2l0IGNvbnRlbmlyIHVuZSBjaGHubmUgZGUgY2FyYWN06HJlcyBjb3JyZXNwb25kYW50IOAgdW4gbm9tIGRlCiAgICBncm91cGUuIExhIHJlcXXqdGUgcGV1dCByZW52b3llciB66XJvLCB1biBvdSBwbHVzaWV1cnMKICAgIGVucmVnaXN0cmVtZW50cy4KICAgIDxwcmUgY2xhc3M9InByZXR0eXByaW50IGxhbmctY29uZmlnIj5SZXF1aXJlIGRiZC1ncm91cApBdXRoekRCRFF1ZXJ5ICJTRUxFQ1QgZ3JvdXAgRlJPTSBncm91cHMgV0hFUkUgdXNlciA9ICVzIjwvcHJlPgoKICAgIDwvbGk+CiAgICA8bGk+QXZlYyBsYSBkaXJlY3RpdmUgPGNvZGU+UmVxdWlyZSBkYmQtbG9naW48L2NvZGU+IG91CiAgICA8Y29kZT5SZXF1aXJlIGRiZC1sb2dvdXQ8L2NvZGU+LCBlbGxlIG5lIHJlZnVzZXJhIGphbWFpcyBsJ2FjY+hzLAogICAgbWFpcyBhdSBjb250cmFpcmUgZXjpY3V0ZXJhIHVuZSByZXF16nRlIFNRTCBwZXJtZXR0YW50IGQnZW5yZWdpc3RyZXIKICAgIGxhIGNvbm5leGlvbiBvdSBsYSBk6WNvbm5leGlvbiBkZSBsJ3V0aWxpc2F0ZXVyLiBDZSBkZXJuaWVyIGRvaXQKICAgIOp0cmUgZOlq4CBhdXRoZW50aWZp6SBhdmVjIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aG5fZGJkLmh0bWwiPm1vZF9hdXRobl9kYmQ8L2E+PC9jb2RlPi4KICAgIDxwcmUgY2xhc3M9InByZXR0eXByaW50IGxhbmctY29uZmlnIj5SZXF1aXJlIGRiZC1sb2dpbgpBdXRoekRCRFF1ZXJ5ICJVUERBVEUgYXV0aG4gU0VUIGxvZ2luID0gJ3RydWUnIFdIRVJFIHVzZXIgPSAlcyI8L3ByZT4KCiAgICA8L2xpPgogICAgPC91bD4KICAgIDxwPkRhbnMgdG91cyBsZXMgY2FzLCBsJ2lkZW50aWZpYW50IHV0aWxpc2F0ZXVyIHNlcmEgdHJhbnNtaXMgY29tbWUKICAgIHBhcmFt6HRyZSBzb3VzIGxhIGZvcm1lIGQndW5lIHNpbXBsZSBjaGHubmUgbG9yc3F1ZSBsYSByZXF16nRlIFNRTAogICAgc2VyYSBleOljdXTpZS4gSWwgeSBzZXJhIGZhaXQgculm6XJlbmNlIGRhbnMgbGEgcmVxdep0ZSBlbiB1dGlsaXNhbnQKICAgIGxlIHNw6WNpZmljYXRldXIgZGUgZm9ybWF0IDxjb2RlPiVzPC9jb2RlPi48L3A+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iYXV0aHpkYmRyZWRpcmVjdHF1ZXJ5IiBpZD0iYXV0aHpkYmRyZWRpcmVjdHF1ZXJ5Ij5EaXJlY3RpdmU8L2E+IDxhIG5hbWU9IkF1dGh6REJEUmVkaXJlY3RRdWVyeSIgaWQ9IkF1dGh6REJEUmVkaXJlY3RRdWVyeSI+QXV0aHpEQkRSZWRpcmVjdFF1ZXJ5PC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+ROlmaW5pdCB1bmUgcmVxdep0ZSBwb3VyIHJlY2hlcmNoZXIgdW5lIHBhZ2UgdmVycyBsYXF1ZWxsZQpyZWRpcmlnZXIgbCd1dGlsaXNhdGV1ciBhcHLocyB1bmUgY29ubmV4aW9uIHLpdXNzaWU8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheGU6PC9hPjwvdGg+PHRkPjxjb2RlPkF1dGh6REJEUmVkaXJlY3RRdWVyeSA8dmFyPnJlcXXqdGU8L3Zhcj48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dGU6PC9hPjwvdGg+PHRkPnLpcGVydG9pcmU8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1dDo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9hdXRoel9kYmQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICA8cD5TcOljaWZpZSB1bmUgcmVxdep0ZSBTUUwgb3B0aW9ubmVsbGUg4CB1dGlsaXNlciBhcHLocyB1bmUKICAgIGNvbm5leGlvbiAob3UgdW5lIGTpY29ubmV4aW9uKSBy6XVzc2llIHBvdXIgcmVkaXJpZ2VyIGwndXRpbGlzYXRldXIKICAgIHZlcnMgdW5lIFVSTCwgcXVpIHBldXQg6nRyZSBzcOljaWZpcXVlIOAgbCd1dGlsaXNhdGV1ci4KICAgIEwnaWRlbnRpZmlhbnQgdXRpbGlzYXRldXIgc2VyYSB0cmFuc21pcyBjb21tZSBwYXJhbeh0cmUgc291cyBsYQogICAgZm9ybWUgZCd1bmUgc2ltcGxlIGNoYe5uZSBsb3JzcXVlIGxhIHJlcXXqdGUgU1FMIHNlcmEgZXjpY3V06WUuIElsIHkKICAgIHNlcmEgZmFpdCBy6WbpcmVuY2UgZGFucyBsYSByZXF16nRlIGVuIHV0aWxpc2FudCBsZSBzcOljaWZpY2F0ZXVyIGRlCiAgICBmb3JtYXQgPGNvZGU+JXM8L2NvZGU+LjwvcD4KICAgIDxwcmUgY2xhc3M9InByZXR0eXByaW50IGxhbmctY29uZmlnIj5BdXRoekRCRFJlZGlyZWN0UXVlcnkgIlNFTEVDVCB1c2VycGFnZSBGUk9NIHVzZXJwYWdlcyBXSEVSRSB1c2VyID0gJXMiPC9wcmU+CgogICAgPHA+TGEgcHJlbWnocmUgY29sb25uZSBkdSBwcmVtaWVyIGVucmVnaXN0cmVtZW50IHJlbnZveekgcGFyIGxhCiAgICByZXF16nRlIGRvaXQgY29udGVuaXIgdW5lIGNoYe5uZSBkZSBjYXJhY3TocmVzIGNvcnJlc3BvbmRhbnQg4CB1bmUKICAgIFVSTCB2ZXJzIGxhcXVlbGxlIHJlZGlyaWdlciBsZSBjbGllbnQuIExlcyBlbnJlZ2lzdHJlbWVudHMgc3VpdmFudHMKICAgIHNvbnQgaWdub3Lpcy4gU2kgYXVjdW4gZW5yZWdpc3RyZW1lbnQgbidlc3QgcmVudm956SwgbGUgY2xpZW50IG5lCiAgICBzZXJhIHBhcyByZWRpcmln6S48L3A+CiAgICA8cD5Ob3RleiBxdWUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+QXV0aHpEQkRMb2dpblRvUmVmZXJlcjwvY29kZT4gbCdlbXBvcnRlCiAgICBzdXIgY2V0dGUgZGlyZWN0aXZlIHNpIGxlcyBkZXV4IHNvbnQgZOlmaW5pZXMuPC9wPgoKPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJib3R0b21sYW5nIj4KPHA+PHNwYW4+TGFuZ3VlcyBEaXNwb25pYmxlczogPC9zcGFuPjxhIGhyZWY9Ii4uL2VuL21vZC9tb2RfYXV0aHpfZGJkLmh0bWwiIGhyZWZsYW5nPSJlbiIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9mci9tb2QvbW9kX2F1dGh6X2RiZC5odG1sIiB0aXRsZT0iRnJhbudhaXMiPiZuYnNwO2ZyJm5ic3A7PC9hPjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiBhbHQ9InRvcCIgLz48L2E+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiI+PGgyPjxhIGlkPSJjb21tZW50c19zZWN0aW9uIiBuYW1lPSJjb21tZW50c19zZWN0aW9uIj5Db21tZW50YWlyZXM8L2E+PC9oMj48ZGl2IGNsYXNzPSJ3YXJuaW5nIj48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz48YnIgLz5UaGlzIGlzIG5vdCBhIFEmYW1wO0Egc2VjdGlvbi4gQ29tbWVudHMgcGxhY2VkIGhlcmUgc2hvdWxkIGJlIHBvaW50ZWQgdG93YXJkcyBzdWdnZXN0aW9ucyBvbiBpbXByb3ZpbmcgdGhlIGRvY3VtZW50YXRpb24gb3Igc2VydmVyLCBhbmQgbWF5IGJlIHJlbW92ZWQgYWdhaW4gYnkgb3VyIG1vZGVyYXRvcnMgaWYgdGhleSBhcmUgZWl0aGVyIGltcGxlbWVudGVkIG9yIGNvbnNpZGVyZWQgaW52YWxpZC9vZmYtdG9waWMuIFF1ZXN0aW9ucyBvbiBob3cgdG8gbWFuYWdlIHRoZSBBcGFjaGUgSFRUUCBTZXJ2ZXIgc2hvdWxkIGJlIGRpcmVjdGVkIGF0IGVpdGhlciBvdXIgSVJDIGNoYW5uZWwsICNodHRwZCwgb24gRnJlZW5vZGUsIG9yIHNlbnQgdG8gb3VyIDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2xpc3RzLmh0bWwiPm1haWxpbmcgbGlzdHM8L2E+LjwvZGl2Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLS8vLS0+PCFbQ0RBVEFbLy8+PCEtLQp2YXIgY29tbWVudHNfc2hvcnRuYW1lID0gJ2h0dHBkJzsKdmFyIGNvbW1lbnRzX2lkZW50aWZpZXIgPSAnaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8yLjQvbW9kL21vZF9hdXRoel9kYmQuaHRtbCc7CihmdW5jdGlvbih3LCBkKSB7CiAgICBpZiAody5sb2NhdGlvbi5ob3N0bmFtZS50b0xvd2VyQ2FzZSgpID09ICJodHRwZC5hcGFjaGUub3JnIikgewogICAgICAgIGQud3JpdGUoJzxkaXYgaWQ9ImNvbW1lbnRzX3RocmVhZCI+PFwvZGl2PicpOwogICAgICAgIHZhciBzID0gZC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICBzLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBzLnNyYyA9ICdodHRwczovL2NvbW1lbnRzLmFwYWNoZS5vcmcvc2hvd19jb21tZW50cy5sdWE/c2l0ZT0nICsgY29tbWVudHNfc2hvcnRuYW1lICsgJyZwYWdlPScgKyBjb21tZW50c19pZGVudGlmaWVyOwogICAgICAgIChkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0gfHwgZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpWzBdKS5hcHBlbmRDaGlsZChzKTsKICAgIH0KICAgIGVsc2UgeyAKICAgICAgICBkLndyaXRlKCc8ZGl2IGlkPSJjb21tZW50c190aHJlYWQiPkNvbW1lbnRzIGFyZSBkaXNhYmxlZCBmb3IgdGhpcyBwYWdlIGF0IHRoZSBtb21lbnQuPFwvZGl2PicpOwogICAgfQp9KSh3aW5kb3csIGRvY3VtZW50KTsKLy8tLT48IV1dPjwvc2NyaXB0PjwvZGl2PjxkaXYgaWQ9ImZvb3RlciI+CjxwIGNsYXNzPSJhcGFjaGUiPkNvcHlyaWdodCAyMDE2IFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbi48YnIgLz5BdXRvcmlz6SBzb3VzIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCI+QXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wPC9hPi48L3A+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj5Nb2R1bGVzPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iaHR0cDovL3dpa2kuYXBhY2hlLm9yZy9odHRwZC9GQVEiPkZBUTwvYT4gfCA8YSBocmVmPSIuLi9nbG9zc2FyeS5odG1sIj5HbG9zc2FpcmU8L2E+IHwgPGEgaHJlZj0iLi4vc2l0ZW1hcC5odG1sIj5QbGFuIGR1IHNpdGU8L2E+PC9wPjwvZGl2PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tLy8tLT48IVtDREFUQVsvLz48IS0tCmlmICh0eXBlb2YocHJldHR5UHJpbnQpICE9PSAndW5kZWZpbmVkJykgewogICAgcHJldHR5UHJpbnQoKTsKfQovLy0tPjwhXV0+PC9zY3JpcHQ+CjwvYm9keT48L2h0bWw+