PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KDQoNCg0KDQoNCg0KDQoNCg0KDQo8aHRtbD4NCiAgPGhlYWQ+DQogICAgPHRpdGxlPkFyY2hpdmEgQmFzZSA6OiBJbmRleGVyIC0gVGVhbSBsaXN0PC90aXRsZT4NCiAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJhbGwiPg0KICAgICAgQGltcG9ydCB1cmwoIi4vY3NzL21hdmVuLWJhc2UuY3NzIik7DQogICAgICBAaW1wb3J0IHVybCgiLi9jc3MvbWF2ZW4tdGhlbWUuY3NzIik7DQogICAgICBAaW1wb3J0IHVybCgiLi9jc3Mvc2l0ZS5jc3MiKTsNCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi9jc3MvcHJpbnQuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InByaW50IiAvPg0KICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij52YXIgZ2FKc0hvc3QgPSAoKCJodHRwczoiID09IGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKSA/ICJodHRwczovL3NzbC4iIDogImh0dHA6Ly93d3cuIik7CmRvY3VtZW50LndyaXRlKHVuZXNjYXBlKCIlM0NzY3JpcHQgc3JjPSciICsgZ2FKc0hvc3QgKyAiZ29vZ2xlLWFuYWx5dGljcy5jb20vZ2EuanMnIHR5cGU9J3RleHQvamF2YXNjcmlwdCclM0UlM0Mvc2NyaXB0JTNFIikpOzwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+dmFyIHBhZ2VUcmFja2VyID0gX2dhdC5fZ2V0VHJhY2tlcigiVUEtMTQwODc5LTUiKTsKcGFnZVRyYWNrZXIuX2luaXREYXRhKCk7CnBhZ2VUcmFja2VyLl90cmFja1BhZ2V2aWV3KCk7PC9zY3JpcHQ+DQogICAgICAgICAgICAgICAgICAgIDwvaGVhZD4NCiAgPGJvZHkgY2xhc3M9ImNvbXBvc2l0ZSI+DQogICAgPGRpdiBpZD0iYmFubmVyIj4NCiAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uLy4uLy4uLyIgaWQ9ImJhbm5lckxlZnQiPg0KICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iLi4vLi4vLi4vaW1hZ2VzL2FyY2hpdmEucG5nIiBhbHQ9IiIgLz4NCiAgICANCiAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iIGlkPSJiYW5uZXJSaWdodCI+DQogICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2ltYWdlcy9hc2ZfbG9nb193aWRlLnBuZyIgYWx0PSIiIC8+DQogICAgDQogICAgICAgICAgICA8L2E+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgIDxoci8+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGlkPSJicmVhZGNydW1icyI+DQogICAgICAgICAgDQogIA0KDQogIA0KICAgIA0KICANCiAgDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ4bGVmdCI+DQogICAgICAgICAgDQogICAgICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnLyI+QXBhY2hlPC9hPg0KICAgICAgICAgICAgICAmZ3Q7DQogICAgICANCiAgICAgICAgICA8YSBocmVmPSIuLi8uLi8uLi8iPkFyY2hpdmE8L2E+DQogICAgICAgICAgICAgICZndDsNCiAgICAgIA0KICAgICAgICAgIDxhIGhyZWY9Ii4uLy4uLyI+QXJjaGl2YSA6OiBNb2R1bGVzPC9hPg0KICAgICAgICAgICAgICAmZ3Q7DQogICAgICANCiAgICAgICAgICBBcmNoaXZhIEJhc2UgOjogSW5kZXhlcg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ieHJpZ2h0Ij4gICAgICANCiAgDQoNCiAgDQogICAgDQogIA0KICANCiAgICAgICAgICAgICZuYnNwO3wgTGFzdCBQdWJsaXNoZWQ6IDI3IE1heSAyMDExDQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgPGhyLz4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgaWQ9ImxlZnRDb2x1bW4iPg0KICAgICAgPGRpdiBpZD0ibmF2Y29sdW1uIj4NCiAgICAgICAgICAgDQogIA0KDQogIA0KICAgIA0KICANCiAgDQogICAgICAgICAgICAgICAgICAgPGg1PkRlc2lnbiBEb2N1bWVudGF0aW9uPC9oNT4NCiAgICAgICAgPHVsPg0KICAgICAgICAgICAgICANCiAgICA8bGkgY2xhc3M9Im5vbmUiPg0KICAgICAgICAgICAgICA8YSBocmVmPSJkZXNpZ24uaHRtbCI+SW5kZXhpbmcgRGVzaWduPC9hPg0KICAgICAgICA8L2xpPg0KICAgICAgICAgIDwvdWw+DQogICAgICAgICAgPGg1PlByb2plY3QgRG9jdW1lbnRhdGlvbjwvaDU+DQogICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgIA0KICAgICAgDQogICAgICAgICAgICANCiAgICAgIA0KICAgICAgICAgICAgDQogICAgICANCiAgICAgICAgICAgIA0KICAgICAgDQogICAgICAgICAgICANCiAgICAgIA0KICAgICAgICAgICAgDQogICAgICANCiAgICAgICAgICAgIA0KICAgICAgDQogICAgICAgICAgICANCiAgICAgIA0KICAgICAgICAgICAgDQogICAgICANCiAgICAgICAgICAgIA0KICAgICAgDQogICAgICAgICAgICANCiAgICAgIA0KICAgICAgICAgICAgDQogICAgICAgICAgICANCiAgICAgICAgICAgIA0KICAgICAgDQogICAgICAgICAgICAgIA0KICAgICAgICAgICAgPGxpIGNsYXNzPSJleHBhbmRlZCI+DQogICAgICAgICAgICAgIDxhIGhyZWY9InByb2plY3QtaW5mby5odG1sIj5Qcm9qZWN0IEluZm9ybWF0aW9uPC9hPg0KICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgIA0KICAgIDxsaSBjbGFzcz0ibm9uZSI+DQogICAgICAgICAgICAgIDxhIGhyZWY9ImluZGV4Lmh0bWwiPkFib3V0PC9hPg0KICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgDQogICAgPGxpIGNsYXNzPSJub25lIj4NCiAgICAgICAgICAgICAgPGEgaHJlZj0iaW50ZWdyYXRpb24uaHRtbCI+Q29udGludW91cyBJbnRlZ3JhdGlvbjwvYT4NCiAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgIA0KICAgIDxsaSBjbGFzcz0ibm9uZSI+DQogICAgICAgICAgICAgIDxhIGhyZWY9ImRlcGVuZGVuY2llcy5odG1sIj5EZXBlbmRlbmNpZXM8L2E+DQogICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICANCiAgICA8bGkgY2xhc3M9Im5vbmUiPg0KICAgICAgICAgICAgICA8YSBocmVmPSJkZXBlbmRlbmN5LWNvbnZlcmdlbmNlLmh0bWwiPkRlcGVuZGVuY3kgQ29udmVyZ2VuY2U8L2E+DQogICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICANCiAgICA8bGkgY2xhc3M9Im5vbmUiPg0KICAgICAgICAgICAgICA8YSBocmVmPSJkZXBlbmRlbmN5LW1hbmFnZW1lbnQuaHRtbCI+RGVwZW5kZW5jeSBNYW5hZ2VtZW50PC9hPg0KICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgDQogICAgPGxpIGNsYXNzPSJub25lIj4NCiAgICAgICAgICAgICAgPGEgaHJlZj0iaXNzdWUtdHJhY2tpbmcuaHRtbCI+SXNzdWUgVHJhY2tpbmc8L2E+DQogICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICANCiAgICA8bGkgY2xhc3M9Im5vbmUiPg0KICAgICAgICAgICAgICA8YSBocmVmPSJtYWlsLWxpc3RzLmh0bWwiPk1haWxpbmcgTGlzdHM8L2E+DQogICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICANCiAgICA8bGkgY2xhc3M9Im5vbmUiPg0KICAgICAgICAgICAgICA8YSBocmVmPSJwbHVnaW4tbWFuYWdlbWVudC5odG1sIj5QbHVnaW4gTWFuYWdlbWVudDwvYT4NCiAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgIA0KICAgIDxsaSBjbGFzcz0ibm9uZSI+DQogICAgICAgICAgICAgIDxhIGhyZWY9ImxpY2Vuc2UuaHRtbCI+UHJvamVjdCBMaWNlbnNlPC9hPg0KICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgDQogICAgPGxpIGNsYXNzPSJub25lIj4NCiAgICAgICAgICAgICAgPGEgaHJlZj0icGx1Z2lucy5odG1sIj5Qcm9qZWN0IFBsdWdpbnM8L2E+DQogICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICANCiAgICA8bGkgY2xhc3M9Im5vbmUiPg0KICAgICAgICAgICAgICA8YSBocmVmPSJwcm9qZWN0LXN1bW1hcnkuaHRtbCI+UHJvamVjdCBTdW1tYXJ5PC9hPg0KICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgDQogICAgPGxpIGNsYXNzPSJub25lIj4NCiAgICAgICAgICAgICAgPHN0cm9uZz5Qcm9qZWN0IFRlYW08L3N0cm9uZz4NCiAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgIA0KICAgIDxsaSBjbGFzcz0ibm9uZSI+DQogICAgICAgICAgICAgIDxhIGhyZWY9InNvdXJjZS1yZXBvc2l0b3J5Lmh0bWwiPlNvdXJjZSBSZXBvc2l0b3J5PC9hPg0KICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgDQogICAgICANCiAgICAgICAgICAgIA0KICAgICAgDQogICAgICAgICAgICANCiAgICAgIA0KICAgICAgICAgICAgDQogICAgICANCiAgICAgICAgICAgIA0KICAgICAgDQogICAgICAgICAgICANCiAgICAgIA0KICAgICAgICAgICAgDQogICAgICANCiAgICAgICAgICAgIA0KICAgICAgDQogICAgICAgICAgICANCiAgICAgIA0KICAgICAgICAgICAgDQogICAgICANCiAgICAgICAgICAgICAgDQogICAgICAgIDxsaSBjbGFzcz0iY29sbGFwc2VkIj4NCiAgICAgICAgICAgICAgPGEgaHJlZj0icHJvamVjdC1yZXBvcnRzLmh0bWwiPlByb2plY3QgUmVwb3J0czwvYT4NCiAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvIiB0aXRsZT0iQnVpbHQgYnkgTWF2ZW4iIGlkPSJwb3dlcmVkQnkiPg0KICAgICAgICAgICAgPGltZyBhbHQ9IkJ1aWx0IGJ5IE1hdmVuIiBzcmM9Ii4vaW1hZ2VzL2xvZ29zL21hdmVuLWZlYXRoZXIucG5nIj48L2ltZz4NCiAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgICAgICAgIA0KICANCg0KICANCiAgICANCiAgDQogIA0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGlkPSJib2R5Q29sdW1uIj4NCiAgICAgIDxkaXYgaWQ9ImNvbnRlbnRCb3giPg0KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj48aDI+VGhlIFRlYW08L2gyPjxwPkEgc3VjY2Vzc2Z1bCBwcm9qZWN0IHJlcXVpcmVzIG1hbnkgcGVvcGxlIHRvIHBsYXkgbWFueSByb2xlcy4gU29tZSBtZW1iZXJzIHdyaXRlIGNvZGUgb3IgZG9jdW1lbnRhdGlvbiwgd2hpbGUgb3RoZXJzIGFyZSB2YWx1YWJsZSBhcyB0ZXN0ZXJzLCBzdWJtaXR0aW5nIHBhdGNoZXMgYW5kIHN1Z2dlc3Rpb25zLjwvcD48cD5UaGUgdGVhbSBpcyBjb21wcmlzZWQgb2YgTWVtYmVycyBhbmQgQ29udHJpYnV0b3JzLiBNZW1iZXJzIGhhdmUgZGlyZWN0IGFjY2VzcyB0byB0aGUgc291cmNlIG9mIGEgcHJvamVjdCBhbmQgYWN0aXZlbHkgZXZvbHZlIHRoZSBjb2RlLWJhc2UuIENvbnRyaWJ1dG9ycyBpbXByb3ZlIHRoZSBwcm9qZWN0IHRocm91Z2ggc3VibWlzc2lvbiBvZiBwYXRjaGVzIGFuZCBzdWdnZXN0aW9ucyB0byB0aGUgTWVtYmVycy4gVGhlIG51bWJlciBvZiBDb250cmlidXRvcnMgdG8gdGhlIHByb2plY3QgaXMgdW5ib3VuZGVkLiBHZXQgaW52b2x2ZWQgdG9kYXkuIEFsbCBjb250cmlidXRpb25zIHRvIHRoZSBwcm9qZWN0IGFyZSBncmVhdGx5IGFwcHJlY2lhdGVkLjwvcD48ZGl2IGNsYXNzPSJzZWN0aW9uIj48aDM+TWVtYmVyczwvaDM+PHA+VGhlIGZvbGxvd2luZyBpcyBhIGxpc3Qgb2YgZGV2ZWxvcGVycyB3aXRoIGNvbW1pdCBwcml2aWxlZ2VzIHRoYXQgaGF2ZSBkaXJlY3RseSBjb250cmlidXRlZCB0byB0aGUgcHJvamVjdCBpbiBvbmUgd2F5IG9yIGFub3RoZXIuPC9wPjx0YWJsZSBjbGFzcz0iYm9keVRhYmxlIj48dHIgY2xhc3M9ImEiPjx0aD5JZDwvdGg+PHRoPk5hbWU8L3RoPjx0aD5FbWFpbDwvdGg+PHRoPk9yZ2FuaXphdGlvbjwvdGg+PHRoPk9yZ2FuaXphdGlvbiBVUkw8L3RoPjx0aD5Sb2xlczwvdGg+PHRoPlRpbWUgWm9uZTwvdGg+PHRoPkFjdHVhbCBUaW1lIChHTVQpPC90aD48L3RyPjx0ciBjbGFzcz0iYiI+PHRkPjxhIG5hbWU9Im9jaGluZyI+PC9hPm9jaGluZzwvdGQ+PHRkPk1hcmlhIE9kZWEgQi4gQ2hpbmc8L3RkPjx0ZD48YSBocmVmPSJtYWlsdG86b2NoaW5nQGFwYWNoZS5vcmciPm9jaGluZ0BhcGFjaGUub3JnPC9hPjwvdGQ+PHRkPi08L3RkPjx0ZD4tPC90ZD48dGQ+UE1DIENoYWlyPC90ZD48dGQ+Kzg8L3RkPjx0ZD48c3BhbiBpZD0iZGV2ZWxvcGVyLTAiPis4PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImEiPjx0ZD48YSBuYW1lPSJhaGVyaXRpZXIiPjwvYT5haGVyaXRpZXI8L3RkPjx0ZD5Bcm5hdWQgSGVyaXRpZXI8L3RkPjx0ZD48YSBocmVmPSJtYWlsdG86YWhlcml0aWVyQGFwYWNoZS5vcmciPmFoZXJpdGllckBhcGFjaGUub3JnPC9hPjwvdGQ+PHRkPk9DVE8gVGVjaG5vbG9neTwvdGQ+PHRkPjxhIGhyZWY9Imh0dHA6Ly93d3cub2N0by5jb20iPmh0dHA6Ly93d3cub2N0by5jb208L2E+PC90ZD48dGQ+UE1DIE1lbWJlcjwvdGQ+PHRkPisxPC90ZD48dGQ+PHNwYW4gaWQ9ImRldmVsb3Blci0xIj4rMTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJiIj48dGQ+PGEgbmFtZT0iYmVsbGluZ2FyZCI+PC9hPmJlbGxpbmdhcmQ8L3RkPjx0ZD5GYWJyaWNlIEJlbGxpbmdhcmQ8L3RkPjx0ZD4tPC90ZD48dGQ+LTwvdGQ+PHRkPi08L3RkPjx0ZD5QTUMgTWVtYmVyPC90ZD48dGQ+LTwvdGQ+PHRkPjxzcGFuIGlkPSJkZXZlbG9wZXItMiI+LTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJhIj48dGQ+PGEgbmFtZT0iYnJldHQiPjwvYT5icmV0dDwvdGQ+PHRkPkJyZXR0IFBvcnRlcjwvdGQ+PHRkPjxhIGhyZWY9Im1haWx0bzpicmV0dEBhcGFjaGUub3JnIj5icmV0dEBhcGFjaGUub3JnPC9hPjwvdGQ+PHRkPkFTRjwvdGQ+PHRkPi08L3RkPjx0ZD5QTUMgTWVtYmVyPC90ZD48dGQ+KzEwPC90ZD48dGQ+PHNwYW4gaWQ9ImRldmVsb3Blci0zIj4rMTA8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iYiI+PHRkPjxhIG5hbWU9ImNhcmxvcyI+PC9hPmNhcmxvczwvdGQ+PHRkPkNhcmxvcyBTYW5jaGV6PC90ZD48dGQ+PGEgaHJlZj0ibWFpbHRvOmNhcmxvc0BhcGFjaGUub3JnIj5jYXJsb3NAYXBhY2hlLm9yZzwvYT48L3RkPjx0ZD5BU0Y8L3RkPjx0ZD4tPC90ZD48dGQ+UE1DIE1lbWJlcjwvdGQ+PHRkPisxPC90ZD48dGQ+PHNwYW4gaWQ9ImRldmVsb3Blci00Ij4rMTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJhIj48dGQ+PGEgbmFtZT0iZXB1bnphbGFuIj48L2E+ZXB1bnphbGFuPC90ZD48dGQ+RWR3aW4gUHVuemFsYW48L3RkPjx0ZD48YSBocmVmPSJtYWlsdG86ZXB1bnphbGFuQGFwYWNoZS5vcmciPmVwdW56YWxhbkBhcGFjaGUub3JnPC9hPjwvdGQ+PHRkPi08L3RkPjx0ZD4tPC90ZD48dGQ+UE1DIE1lbWJlcjwvdGQ+PHRkPi04PC90ZD48dGQ+PHNwYW4gaWQ9ImRldmVsb3Blci01Ij4tODwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJiIj48dGQ+PGEgbmFtZT0iZXZlbmlzc2UiPjwvYT5ldmVuaXNzZTwvdGQ+PHRkPkVtbWFudWVsIFZlbmlzc2U8L3RkPjx0ZD48YSBocmVmPSJtYWlsdG86ZXZlbmlzc2VAYXBhY2hlLm9yZyI+ZXZlbmlzc2VAYXBhY2hlLm9yZzwvYT48L3RkPjx0ZD5BU0Y8L3RkPjx0ZD4tPC90ZD48dGQ+UE1DIE1lbWJlcjwvdGQ+PHRkPisxPC90ZD48dGQ+PHNwYW4gaWQ9ImRldmVsb3Blci02Ij4rMTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJhIj48dGQ+PGEgbmFtZT0iamR1bWF5Ij48L2E+amR1bWF5PC90ZD48dGQ+SmFtZXMgV2lsbGlhbSBEdW1heTwvdGQ+PHRkPjxhIGhyZWY9Im1haWx0bzpqYW1lc0BhdGxhc3NpYW4uY29tIj5qYW1lc0BhdGxhc3NpYW4uY29tPC9hPjwvdGQ+PHRkPkF0bGFzc2lhbjwvdGQ+PHRkPi08L3RkPjx0ZD5QTUMgTWVtYmVyPC90ZD48dGQ+KzExPC90ZD48dGQ+PHNwYW4gaWQ9ImRldmVsb3Blci03Ij4rMTE8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iYiI+PHRkPjxhIG5hbWU9ImpvYWtpbWUiPjwvYT5qb2FraW1lPC90ZD48dGQ+Sm9ha2ltIEVyZGZlbHQ8L3RkPjx0ZD48YSBocmVmPSJtYWlsdG86am9ha2ltZUBhcGFjaGUub3JnIj5qb2FraW1lQGFwYWNoZS5vcmc8L2E+PC90ZD48dGQ+QVNGPC90ZD48dGQ+LTwvdGQ+PHRkPkVtZXJpdHVzPC90ZD48dGQ+LTU8L3RkPjx0ZD48c3BhbiBpZD0iZGV2ZWxvcGVyLTgiPi01PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImEiPjx0ZD48YSBuYW1lPSJqdG9sZW50aW5vIj48L2E+anRvbGVudGlubzwvdGQ+PHRkPkVybmVzdG8gVG9sZW50aW5vIEpyLjwvdGQ+PHRkPjxhIGhyZWY9Im1haWx0bzpqdG9sZW50aW5vQGFwYWNoZS5vcmciPmp0b2xlbnRpbm9AYXBhY2hlLm9yZzwvYT48L3RkPjx0ZD5BU0Y8L3RkPjx0ZD4tPC90ZD48dGQ+UE1DIE1lbWJlcjwvdGQ+PHRkPis4PC90ZD48dGQ+PHNwYW4gaWQ9ImRldmVsb3Blci05Ij4rODwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJiIj48dGQ+PGEgbmFtZT0iam1jY29ubmVsbCI+PC9hPmptY2Nvbm5lbGw8L3RkPjx0ZD5KZXNzZSBNY0Nvbm5lbGw8L3RkPjx0ZD48YSBocmVmPSJtYWlsdG86am1jY29ubmVsbEBhcGFjaGUub3JnIj5qbWNjb25uZWxsQGFwYWNoZS5vcmc8L2E+PC90ZD48dGQ+QVNGPC90ZD48dGQ+LTwvdGQ+PHRkPlBNQyBNZW1iZXI8L3RkPjx0ZD4tNjwvdGQ+PHRkPjxzcGFuIGlkPSJkZXZlbG9wZXItMTAiPi02PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImEiPjx0ZD48YSBuYW1lPSJuaWNvbGFzIj48L2E+bmljb2xhczwvdGQ+PHRkPk5pY29sYXMgRGUgTG9vZjwvdGQ+PHRkPjxhIGhyZWY9Im1haWx0bzpuaWNvbGFzQGFwYWNoZS5vcmciPm5pY29sYXNAYXBhY2hlLm9yZzwvYT48L3RkPjx0ZD5DYXBnZW1pbmk8L3RkPjx0ZD4tPC90ZD48dGQ+UE1DIE1lbWJlcjwvdGQ+PHRkPisxPC90ZD48dGQ+PHNwYW4gaWQ9ImRldmVsb3Blci0xMSI+KzE8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iYiI+PHRkPjxhIG5hbWU9IndzbW9hayI+PC9hPndzbW9hazwvdGQ+PHRkPldlbmR5IFNtb2FrPC90ZD48dGQ+PGEgaHJlZj0ibWFpbHRvOndzbW9ha0BhcGFjaGUub3JnIj53c21vYWtAYXBhY2hlLm9yZzwvYT48L3RkPjx0ZD4tPC90ZD48dGQ+LTwvdGQ+PHRkPlBNQyBNZW1iZXI8L3RkPjx0ZD4tNzwvdGQ+PHRkPjxzcGFuIGlkPSJkZXZlbG9wZXItMTIiPi03PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImEiPjx0ZD48YSBuYW1lPSJkZW5uaXNsIj48L2E+ZGVubmlzbDwvdGQ+PHRkPkRlbm5pcyBMdW5kYmVyZzwvdGQ+PHRkPjxhIGhyZWY9Im1haWx0bzpkZW5uaXNsQGFwYWNoZS5vcmciPmRlbm5pc2xAYXBhY2hlLm9yZzwvYT48L3RkPjx0ZD5BU0Y8L3RkPjx0ZD4tPC90ZD48dGQ+Q29tbWl0dGVyPC90ZD48dGQ+KzE8L3RkPjx0ZD48c3BhbiBpZD0iZGV2ZWxvcGVyLTEzIj4rMTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJiIj48dGQ+PGEgbmFtZT0ibWFydGluYyI+PC9hPm1hcnRpbmM8L3RkPjx0ZD5NYXJ0aW4gQ29vcGVyPC90ZD48dGQ+PGEgaHJlZj0ibWFpbHRvOm1hcnRpbmNAYXBhY2hlLm9yZyI+bWFydGluY0BhcGFjaGUub3JnPC9hPjwvdGQ+PHRkPkFTRjwvdGQ+PHRkPi08L3RkPjx0ZD5Db21taXR0ZXI8L3RkPjx0ZD4tPC90ZD48dGQ+PHNwYW4gaWQ9ImRldmVsb3Blci0xNCI+LTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJhIj48dGQ+PGEgbmFtZT0ibWJhY2xheSI+PC9hPm1iYWNsYXk8L3RkPjx0ZD5NYXJlY29yIE0uIEJhY2xheTwvdGQ+PHRkPjxhIGhyZWY9Im1haWx0bzptYmFjbGF5QGFwYWNoZS5vcmciPm1iYWNsYXlAYXBhY2hlLm9yZzwvYT48L3RkPjx0ZD4tPC90ZD48dGQ+LTwvdGQ+PHRkPkNvbW1pdHRlcjwvdGQ+PHRkPis4PC90ZD48dGQ+PHNwYW4gaWQ9ImRldmVsb3Blci0xNSI+Kzg8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iYiI+PHRkPjxhIG5hbWU9Imp6dXJiYW5vIj48L2E+anp1cmJhbm88L3RkPjx0ZD5KZXZpY2EgQXJpYW5uZSBCLiBadXJiYW5vPC90ZD48dGQ+PGEgaHJlZj0ibWFpbHRvOmp6dXJiYW5vQGFwYWNoZS5vcmciPmp6dXJiYW5vQGFwYWNoZS5vcmc8L2E+PC90ZD48dGQ+LTwvdGQ+PHRkPi08L3RkPjx0ZD5Db21taXR0ZXI8L3RkPjx0ZD4rODwvdGQ+PHRkPjxzcGFuIGlkPSJkZXZlbG9wZXItMTYiPis4PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImEiPjx0ZD48YSBuYW1lPSJqdmFuenlsIj48L2E+anZhbnp5bDwvdGQ+PHRkPkphc29uIHZhbiBaeWw8L3RkPjx0ZD4tPC90ZD48dGQ+LTwvdGQ+PHRkPi08L3RkPjx0ZD5FbWVyaXR1czwvdGQ+PHRkPi08L3RkPjx0ZD48c3BhbiBpZD0iZGV2ZWxvcGVyLTE3Ij4tPC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImIiPjx0ZD48YSBuYW1lPSJiYXlhcmQiPjwvYT5iYXlhcmQ8L3RkPjx0ZD5IZW5yaSBZYW5kZWxsPC90ZD48dGQ+LTwvdGQ+PHRkPi08L3RkPjx0ZD4tPC90ZD48dGQ+RW1lcml0dXM8L3RkPjx0ZD4tPC90ZD48dGQ+PHNwYW4gaWQ9ImRldmVsb3Blci0xOCI+LTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJhIj48dGQ+PGEgbmFtZT0ia2VubmV5Ij48L2E+a2VubmV5PC90ZD48dGQ+S2VubmV5IFdlc3RlcmhvZjwvdGQ+PHRkPi08L3RkPjx0ZD4tPC90ZD48dGQ+LTwvdGQ+PHRkPkVtZXJpdHVzPC90ZD48dGQ+LTwvdGQ+PHRkPjxzcGFuIGlkPSJkZXZlbG9wZXItMTkiPi08L3NwYW4+PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiI+PGgzPkNvbnRyaWJ1dG9yczwvaDM+PHA+VGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIHBlb3BsZSBoYXZlIGNvbnRyaWJ1dGVkIHRvIHRoaXMgcHJvamVjdCB0aHJvdWdoIHRoZSB3YXkgb2Ygc3VnZ2VzdGlvbnMsIHBhdGNoZXMgb3IgZG9jdW1lbnRhdGlvbi48L3A+PHRhYmxlIGNsYXNzPSJib2R5VGFibGUiPjx0ciBjbGFzcz0iYiI+PHRoPk5hbWU8L3RoPjwvdHI+PHRyIGNsYXNzPSJhIj48dGQ+U3RlZmZlbiBHcnVud2FsZDwvdGQ+PC90cj48dHIgY2xhc3M9ImIiPjx0ZD5TdGVmYW4gUHJhbmdlPC90ZD48L3RyPjx0ciBjbGFzcz0iYSI+PHRkPkpvaG4gTWljaGFlbCBMdXk8L3RkPjwvdHI+PHRyIGNsYXNzPSJiIj48dGQ+TWFydGluIEj2bGxlcjwvdGQ+PC90cj48dHIgY2xhc3M9ImEiPjx0ZD5TdGVwaGVuIEdhcmdhbjwvdGQ+PC90cj48dHIgY2xhc3M9ImIiPjx0ZD5EYXJpbyBPbGl2ZXJvczwvdGQ+PC90cj48dHIgY2xhc3M9ImEiPjx0ZD5qYW1lcyBhaGxib3JuPC90ZD48L3RyPjx0ciBjbGFzcz0iYiI+PHRkPkppbSBKYWNrc29uPC90ZD48L3RyPjx0ciBjbGFzcz0iYSI+PHRkPkRhbmllbCBIYXJ2ZXk8L3RkPjwvdHI+PHRyIGNsYXNzPSJiIj48dGQ+QWxla3NhbmRyIFRhcnV0aW48L3RkPjwvdHI+PHRyIGNsYXNzPSJhIj48dGQ+VGVvZG9ybyBDdWUgSnIuPC90ZD48L3RyPjx0ciBjbGFzcz0iYiI+PHRkPkphbiBBbmNhamFzPC90ZD48L3RyPjx0ciBjbGFzcz0iYSI+PHRkPkplbnMgTfxobGVuaG9mZjwvdGQ+PC90cj48dHIgY2xhc3M9ImIiPjx0ZD5EYXduIEFuZ2VsaXRvPC90ZD48L3RyPjx0ciBjbGFzcz0iYSI+PHRkPk5hcCBSYW1pcmV6PC90ZD48L3RyPjx0ciBjbGFzcz0iYiI+PHRkPkhlbnJ5IElzaWRybzwvdGQ+PC90cj48dHIgY2xhc3M9ImEiPjx0ZD5BbnRvaW5lIFZlcmV0PC90ZD48L3RyPjx0ciBjbGFzcz0iYiI+PHRkPkNocmlzdGlhbiBHcnViZXI8L3RkPjwvdHI+PHRyIGNsYXNzPSJhIj48dGQ+QWxsYW4gUmFtaXJlejwvdGQ+PC90cj48dHIgY2xhc3M9ImIiPjx0ZD5QZXRlIE1hcnZpbiBLaW5nPC90ZD48L3RyPjx0ciBjbGFzcz0iYSI+PHRkPkpvZWwgU3VkaWFjYWw8L3RkPjwvdHI+PHRyIGNsYXNzPSJiIj48dGQ+TWlsb3MgS2xlaW50PC90ZD48L3RyPjx0ciBjbGFzcz0iYSI+PHRkPk5pY2sgR29uemFsZXo8L3RkPjwvdHI+PHRyIGNsYXNzPSJiIj48dGQ+TWFyaWEgQ2F0aGVyaW5lIFRhbjwvdGQ+PC90cj48dHIgY2xhc3M9ImEiPjx0ZD5EYW4gVHJhbjwvdGQ+PC90cj48dHIgY2xhc3M9ImIiPjx0ZD5Hd2VuIEhhcm9sZCBBdXRlbmNpbzwvdGQ+PC90cj48dHIgY2xhc3M9ImEiPjx0ZD5NYXJrIEplZmZlcnk8L3RkPjwvdHI+PHRyIGNsYXNzPSJiIj48dGQ+RmFicmljZSBEYXVnYW48L3RkPjwvdHI+PHRyIGNsYXNzPSJhIj48dGQ+RG9yb24gU29sb21vbjwvdGQ+PC90cj48dHIgY2xhc3M9ImIiPjx0ZD5NaWNoYWwgU3RvY2htaWFsZWs8L3RkPjwvdHI+PHRyIGNsYXNzPSJhIj48dGQ+SnVsaWVuIEhlbnJ5PC90ZD48L3RyPjx0ciBjbGFzcz0iYiI+PHRkPkFuZHJlYXMgQmF1bWFubjwvdGQ+PC90cj48dHIgY2xhc3M9ImEiPjx0ZD5BZGVsaXRhIEwuIFBhZGlsbGE8L3RkPjwvdHI+PHRyIGNsYXNzPSJiIj48dGQ+RGFuaWVsIFRyaXBoYXVzPC90ZD48L3RyPjx0ciBjbGFzcz0iYSI+PHRkPlBhdHRpIEFyYWNoY2hpZ2UgRXNoYW4gU3VkaGFyYWthPC90ZD48L3RyPjx0ciBjbGFzcz0iYiI+PHRkPlNoaW5zdWtlIFN1Z2F5YTwvdGQ+PC90cj48dHIgY2xhc3M9ImEiPjx0ZD5NYXJjdXMgRGltYW5kPC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9kaXY+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiBvZmZzZXREYXRlKGlkLCBvZmZzZXQpIHsKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpOwogICAgdmFyIG5vd1RpbWUgPSBub3cuZ2V0VGltZSgpOwogICAgdmFyIGxvY2FsT2Zmc2V0ID0gbm93LmdldFRpbWV6b25lT2Zmc2V0KCk7CiAgICB2YXIgZGV2ZWxvcGVyVGltZSA9IG5vd1RpbWUgKyAoIG9mZnNldCAqIDYwICogNjAgKiAxMDAwICkrICggbG9jYWxPZmZzZXQgKiA2MCAqIDEwMDAgKTsKICAgIHZhciBkZXZlbG9wZXJEYXRlID0gbmV3IERhdGUoZGV2ZWxvcGVyVGltZSk7CgogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLmlubmVySFRNTCA9IGRldmVsb3BlckRhdGU7Cn0KCmZ1bmN0aW9uIGluaXQoKXsKICAgIG9mZnNldERhdGUoJ2RldmVsb3Blci0wJywgJys4Jyk7CiAgICBvZmZzZXREYXRlKCdkZXZlbG9wZXItMScsICcrMScpOwogICAgb2Zmc2V0RGF0ZSgnZGV2ZWxvcGVyLTMnLCAnKzEwJyk7CiAgICBvZmZzZXREYXRlKCdkZXZlbG9wZXItNCcsICcrMScpOwogICAgb2Zmc2V0RGF0ZSgnZGV2ZWxvcGVyLTUnLCAnLTgnKTsKICAgIG9mZnNldERhdGUoJ2RldmVsb3Blci02JywgJysxJyk7CiAgICBvZmZzZXREYXRlKCdkZXZlbG9wZXItNycsICcrMTEnKTsKICAgIG9mZnNldERhdGUoJ2RldmVsb3Blci04JywgJy01Jyk7CiAgICBvZmZzZXREYXRlKCdkZXZlbG9wZXItOScsICcrOCcpOwogICAgb2Zmc2V0RGF0ZSgnZGV2ZWxvcGVyLTEwJywgJy02Jyk7CiAgICBvZmZzZXREYXRlKCdkZXZlbG9wZXItMTEnLCAnKzEnKTsKICAgIG9mZnNldERhdGUoJ2RldmVsb3Blci0xMicsICctNycpOwogICAgb2Zmc2V0RGF0ZSgnZGV2ZWxvcGVyLTEzJywgJysxJyk7CiAgICBvZmZzZXREYXRlKCdkZXZlbG9wZXItMTUnLCAnKzgnKTsKICAgIG9mZnNldERhdGUoJ2RldmVsb3Blci0xNicsICcrOCcpOwp9Cgp3aW5kb3cub25Mb2FkID0gaW5pdCgpOwo8L3NjcmlwdD4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgIDxoci8+DQogICAgPC9kaXY+DQogICAgPGRpdiBpZD0iZm9vdGVyIj4NCiAgICAgIDxkaXYgY2xhc3M9InhyaWdodCI+JiMxNjk7ICANCiAgICAgICAgICAyMDA2LTIwMTENCiAgICANCiAgICAgICAgICBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24NCiAgICAgICAgICANCiAgDQoNCiAgDQogICAgDQogIA0KICANCiAgPC9kaXY+DQogICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgIDxoci8+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9ib2R5Pg0KPC9odG1sPg0K