PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IS0tCkNvcHlyaWdodCAoYykgMjAxNSBKZXJlbXkgTG9uZwpBbGwgcmlnaHRzIHJlc2VydmVkLgoKUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cm1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwphcmUgbWV0OgoKICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQogICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwogICAgICBkaXNjbGFpbWVyLgoKICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwogICAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKICAgICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgoKICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgT1dBU1Agbm9yIHRoZSBuYW1lcyBvZiBpdHMKICAgICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cwogICAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4KICAgICAgcGVybWlzc2lvbi4KClRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULApJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SClNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQpIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsClNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRApPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgotLT4KPHByb2plY3QgbmFtZT0iT1dBU1AgSmF2YSBFbmNvZGVyIFByb2plY3QiPgogICAgPHNraW4+CgkJPGdyb3VwSWQ+bHQudmVseWtpcy5tYXZlbi5za2luczwvZ3JvdXBJZD4KCQk8YXJ0aWZhY3RJZD5yZWZsb3ctbWF2ZW4tc2tpbjwvYXJ0aWZhY3RJZD4KCQk8dmVyc2lvbj4xLjEuMTwvdmVyc2lvbj4KICAgIDwvc2tpbj4KCTxwdWJsaXNoRGF0ZSBwb3NpdGlvbj0ibm9uZSIgLz4KICAgIDx2ZXJzaW9uIHBvc2l0aW9uPSJub25lIiAvPgoJPGJhbm5lckxlZnQ+CiAgICAgICAgPG5hbWU+T1dBU1AgSmF2YSBFbmNvZGVyIFByb2plY3Q8L25hbWU+CgkJPHRpdGxlPk9XQVNQIEphdmEgRW5jb2RlciBQcm9qZWN0PC90aXRsZT4KICAgICAgICA8YWx0Pk9XQVNQIEphdmEgRW5jb2RlciBQcm9qZWN0PC9hbHQ+CiAgICAgICAgPHNyYz4uL2ltYWdlcy9vd2FzcC5qcGc8L3NyYz4KCQk8aGVpZ2h0PjEwNzwvaGVpZ2h0PgoJCTx3aWR0aD4zMDA8L3dpZHRoPgogICAgPC9iYW5uZXJMZWZ0PgogICAgPGN1c3RvbT4KCQk8cmVmbG93U2tpbj4KCQkJPHRoZW1lPmRlZmF1bHQ8L3RoZW1lPgoJCQk8aGlnaGxpZ2h0SnM+dHJ1ZTwvaGlnaGxpZ2h0SnM+CgkJCTxoaWdobGlnaHRKc1RoZW1lPmdpdGh1YjwvaGlnaGxpZ2h0SnNUaGVtZT4gICAKCQkJPGJyYW5kPgoJCQkJPG5hbWU+JHtwcm9qZWN0Lm5hbWV9PC9uYW1lPgoJCQkJPGhyZWY+aHR0cHM6Ly93d3cub3dhc3Aub3JnL2luZGV4LnBocC9PV0FTUF9KYXZhX0VuY29kZXJfUHJvamVjdDwvaHJlZj4JCQkJCgkJCTwvYnJhbmQ+CgkJCTxza2luQXR0cmlidXRpb24+ZmFsc2U8L3NraW5BdHRyaWJ1dGlvbj4KCQkJPHRvYz50b3A8L3RvYz4KCQkJPHRvY1RvcE1heD42PC90b2NUb3BNYXg+CgkJCTx0b3BOYXY+TW9kdWxlc3xNYXZlbiBEb2N1bWVudGF0aW9uPC90b3BOYXY+CgkJCTxib3R0b21OYXYgbWF4U3Bhbj0iNiIgPgoJCQkJPGNvbHVtbj5Nb2R1bGVzPC9jb2x1bW4+CgkJCQk8Y29sdW1uPkNvbnRyaWJ1dGU8L2NvbHVtbj4KCQkJCTxjb2x1bW4+TWF2ZW4gRG9jdW1lbnRhdGlvbjwvY29sdW1uPgoJCQk8L2JvdHRvbU5hdj4KCQkJPHBhZ2VzPgogICAgICAgICAgICAgICAgPGluZGV4IHByb2plY3Q9ImVuY29kZXIiIGNvbWJpbmUuc2VsZj0ib3ZlcnJpZGUiPjwvaW5kZXg+CiAgICAgICAgICAgIDwvcGFnZXM+CgkJPC9yZWZsb3dTa2luPgogICAgPC9jdXN0b20+CgogICAgPGJvZHk+CgkJPG1lbnUgbmFtZT0iTW9kdWxlcyIgaW5oZXJpdD0iYm90dG9tIj4KCQkJPGl0ZW0gbmFtZT0iT1dBU1AgRW5jb2RlcnMiIGhyZWY9Ii4vaW5kZXguaHRtbCIgLz4KCQkJPGl0ZW0gbmFtZT0iSmF2YSBFbmNvZGVyIiBocmVmPSIuL2VuY29kZXIvaW5kZXguaHRtbCIgLz4KCQkJPGl0ZW0gbmFtZT0iSlNQIEVuY29kZXIiIGhyZWY9Ii4vZW5jb2Rlci1qc3AvaW5kZXguaHRtbCIgLz4KCQkJPGl0ZW0gbmFtZT0iRVNBUEkgVGh1bmsiIGhyZWY9Ii4vZW5jb2Rlci1lc2FwaS9pbmRleC5odG1sIiAvPgoJCTwvbWVudT4KICAgICAgICA8bWVudSBuYW1lPSJNYXZlbiBEb2N1bWVudGF0aW9uIiByZWY9InJlcG9ydHMiIGluaGVyaXQ9ImJvdHRvbSIgLz4KCQk8bWVudSBuYW1lPSJDb250cmlidXRlIiBpbmhlcml0PSJib3R0b20iPgoJCSAgPGl0ZW0gbmFtZT0iSXNzdWVzIiBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vT1dBU1Avb3dhc3AtamF2YS1lbmNvZGVyL2lzc3VlcyIgLz4KCQkgIDxpdGVtIG5hbWU9IkZvcmsgb24gR2l0SHViIiBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vT1dBU1Avb3dhc3AtamF2YS1lbmNvZGVyIiAvPgoJCTwvbWVudT4KICAgICAgICA8Zm9vdGVyPkNvcHlyaWdodCCpIDIwMTEtMjAxNyBPV0FTUC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC48L2Zvb3Rlcj4KICAgIDwvYm9keT4KPC9wcm9qZWN0Pgo=