PD9waHAgIAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCXJlcXVpcmVfb25jZSgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddIC4gIi9lY2xpcHNlLm9yZy1jb21tb24vc3lzdGVtL2FwcC5jbGFzcy5waHAiKTsJcmVxdWlyZV9vbmNlKCRfU0VSVkVSWydET0NVTUVOVF9ST09UJ10gLiAiL2VjbGlwc2Uub3JnLWNvbW1vbi9zeXN0ZW0vbmF2LmNsYXNzLnBocCIpOyAJcmVxdWlyZV9vbmNlKCRfU0VSVkVSWydET0NVTUVOVF9ST09UJ10gLiAiL2VjbGlwc2Uub3JnLWNvbW1vbi9zeXN0ZW0vbWVudS5jbGFzcy5waHAiKTsgCSRBcHAgCT0gbmV3IEFwcCgpOwkkTmF2CT0gbmV3IE5hdigpOwkkTWVudSAJPSBuZXcgTWVudSgpOwkJaW5jbHVkZSgkQXBwLT5nZXRQcm9qZWN0Q29tbW9uKCkpOyAgICAjIEFsbCBvbiB0aGUgc2FtZSBsaW5lIHRvIHVuY2x1dHRlciB0aGUgdXNlcidzIGRlc2t0b3AnCgoJIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgkjCgkjIHRlbXBsYXRlLnBocAoJIwoJIyBBdXRob3I6IAkJRGVuaXMgUm95CgkjIERhdGU6CQkJMjAwNS0wNi0xNgoJIwoJIyBEZXNjcmlwdGlvbjogVHlwZSB5b3VyIHBhZ2UgY29tbWVudHMgaGVyZSAtIHRoZXNlIGFyZSBub3Qgc2VudCB0byB0aGUgYnJvd3NlcgoJIwoJIwoJIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCQoJIwoJIyBCZWdpbjogcGFnZS1zcGVjaWZpYyBzZXR0aW5ncy4gIENoYW5nZSB0aGVzZS4gCgkkcGFnZVRpdGxlIAkJPSAiU01JTEEiOwoJJHBhZ2VLZXl3b3Jkcwk9ICJTTUlMQSwgdW5zdHJ1Y3R1cmVkIGluZm9ybWF0aW9uIG1hbmFnZW1lbnQsIGluZm9ybWF0aW9uIGxvZ2lzdGljcywgc2VtYW50aWMgd2ViLCBmcmFtZXdvcmssIHBsYXRmb3JtLCBlY2xpcHNlIjsKCSRwYWdlQXV0aG9yCQk9ICJJZ29yIE5vdmFrb3ZpYyI7CgoJIyBQYXN0ZSB5b3VyIEhUTUwgY29udGVudCBiZXR3ZWVuIHRoZSBFT0hUTUwgbWFya2VycyEJCgkkaHRtbCA9IDw8PEVPSFRNTAoKCTxkaXYgaWQ9Im1pZGNvbHVtbiI+CgkJPGgxPlNNSUxBIC0gU2VNYW50aWMgSW5mb3JtYXRpb24gTG9naXN0aWNzIEFyY2hpdGVjdHVyZTwvaDE+CgkJPGRpdiBjbGFzcz0iaG9tZWl0ZW0zY29sIj4KCQkJPGgzPlNNSUxBIFZlcnNpb24gMC41IE0wPC9oMz4KCQkJPHVsPgoJCQkJPGxpPkZpcnN0IG1pbGVzdG9uZSB0aGF0IHB1Ymxpc2hlcyBjdXJyZW50IHJlc3VsdHM6CgkJCQkJPHVsPgoJCQkJCQk8bGk+QmFzaWMgYXJjaGl0ZWN0dXJlIHNldHRsZWQgYW5kIGltcGxlbWVudGVkPC9saT4KCQkJCQkJPGxpPlNpbXBsZSBzZWFyY2ggYXBwbGljYXRpb24gYXZhaWxhYmxlPC9saT4KCQkJCQk8L3VsPgoJCQkJPC9saT4KCQkJPC91bD4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJob21laXRlbTNjb2wiPgoJCQk8aDM+U01JTEEgVmVyc2lvbiAwLjUgTTE8L2gzPgoJCQk8dWw+CgkJCQk8bGk+Q2x1c3RlciByZWFkaW5lc3M8L2xpPgoJCQkJPGxpPk1vcmUgZGF0YSBzb3VyY2VzIGFjY2Vzc2libGU8L2xpPgoJCQkJPGxpPkdlbmVyYWwgY29uZmlndXJhdGlvbiBtYW5hZ2VtZW50PC9saT4KCQkJCTxsaT5PbnRvbG9neSBTZXJ2aWNlIChpbnRyb2R1Y3Rpb24gb2Ygc2VtYW50aWMgbGF5ZXIpPC9saT4KCQkJCTxsaT5Sb3V0ZXIgJiBsaXN0ZW5lcjwvbGk+CgkJCTwvdWw+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0iaG9tZWl0ZW0zY29sIj4KCQkJPGgzPlNNSUxBIFZlcnNpb24gMS4wIJYgUmVsZWFzZSAxLjA8L2gzPgoJCQk8dWw+CgkJCQk8bGk+Q29uY2VwdGlvbiBhbmQgaW1wbGVtZW50YXRpb24gb2Ygc2VhcmNoIEFQSXM8L2xpPgoJCQkJPGxpPkltcGxlbWVudGF0aW9uIG9mIHRoZSBzZWN1cml0eSBjb25jZXB0PC9saT4KCQkJCTxsaT5BZHZhbmNlZCBpbmNyZW1lbnRhbCB1cGRhdGU8L2xpPgoJCQk8L3VsPgoJCTwvZGl2PgoJPC9kaXY+CgkgIAoJPGRpdiBpZD0icmlnaHRjb2x1bW4iPgogICAgCTxkaXYgY2xhc3M9InNpZGVpdGVtIj4KICAgICAgIAkJPGg2PkluY3ViYXRpb248L2g2PjxwPgogICAgICAgCQk8ZGl2IGFsaWduPSJjZW50ZXIiPgogICAgICAgICAJCTxhIGhyZWY9Ii9wcm9qZWN0cy93aGF0LWlzLWluY3ViYXRpb24ucGhwIj4KICAgICAgICAgICAJCTxpbWcgYWxpZ249ImNlbnRlciIgc3JjPSIvaW1hZ2VzL2VnZy1pbmN1YmF0aW9uLnBuZyIgYm9yZGVyPSIwIi8+PC9hPgogICAgICAgCQk8L2Rpdj4KICAgICAJPC9kaXY+CgkgIAk8ZGl2IGNsYXNzPSJzaWRlaXRlbSI+CgkJCTxoNj5MaW5rczwvaDY+CgkJCTx1bD4KCQkJCTxsaT48YSBocmVmPSJodHRwOi8vd2lraS5lY2xpcHNlLm9yZy9TTUlMQSIgdGFyZ2V0PSJfYmxhbmsiPlByb2plY3QgV2lraTwvYT48L2xpPgkJCQkKCQkJCTxsaT48YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL3Byb3Bvc2Fscy9laWxmL1NNSUxBX0NyZWF0aW9uX1Jldmlldy5wZGYiIHRhcmdldD0iX2JsYW5rIj5DcmVhdGlvbiBSZXZpZXc8L2E+PC9saT4KCQkJCTxsaT48YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL3Byb3Bvc2Fscy9laWxmIiB0YXJnZXQ9Il9ibGFuayI+UHJvamVjdCBwcm9wb3NhbDwvYT48L2xpPgoJCQk8L3VsPgoJCTwvZGl2PgoJPC9kaXY+CQoKRU9IVE1MOwoKCgkjIEdlbmVyYXRlIHRoZSB3ZWIgcGFnZQoJJEFwcC0+Z2VuZXJhdGVQYWdlKCR0aGVtZSwgJE1lbnUsICROYXYsICRwYWdlQXV0aG9yLCAkcGFnZUtleXdvcmRzLCAkcGFnZVRpdGxlLCAkaHRtbCk7Cj8+Cg==