PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pg0KPCEtLQ0KLyogICBDb3B5cmlnaHQgMjAwNCBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24NCiAqDQogKiAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KICogICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQogKiAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KICoNCiAqICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KICoNCiAqICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KICogICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KICogICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCiAqICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KICogIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICovDQotLT4NCg0KPHhzOnNjaGVtYSB0YXJnZXROYW1lc3BhY2U9InVybjplaGQvMDAxIiB4bWxucz0idXJuOmVoZC8wMDEiIHhtbG5zOmVoZD0idXJuOmVoZC8wMDEiIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiIGF0dHJpYnV0ZUZvcm1EZWZhdWx0PSJ1bnF1YWxpZmllZCIgYmxvY2tEZWZhdWx0PSJzdWJzdGl0dXRpb24iPg0KCTwhLS0gKioqKioqKioqKioqKioqKioqKioqKioqIGtleXRhYnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIC0tPg0KCTx4czplbGVtZW50IG5hbWU9ImtleXRhYnMiIHR5cGU9ImtleXRhYnNfdHlwIiBmaW5hbD0iZXh0ZW5zaW9uIj4NCgkJPHhzOmFubm90YXRpb24+DQoJCQk8eHM6ZG9jdW1lbnRhdGlvbj5TY2hs/HNzZWx0YWJlbGxlbiB6dSBkZW4gRGF0ZW48L3hzOmRvY3VtZW50YXRpb24+DQoJCTwveHM6YW5ub3RhdGlvbj4NCgkJPHhzOnVuaXF1ZSBuYW1lPSJ1X2tleXRhYl9TX1NWIj4NCgkJCTx4czpzZWxlY3RvciB4cGF0aD0iLi9laGQ6a2V5dGFiIi8+DQoJCQk8eHM6ZmllbGQgeHBhdGg9IkBTIi8+DQoJCQk8eHM6ZmllbGQgeHBhdGg9IkBTViIvPg0KCQk8L3hzOnVuaXF1ZT4NCgk8L3hzOmVsZW1lbnQ+DQoJPHhzOmNvbXBsZXhUeXBlIG5hbWU9ImtleXRhYnNfdHlwIj4NCgkJPHhzOnNlcXVlbmNlPg0KCQkJPHhzOmVsZW1lbnQgcmVmPSJrZXl0YWIiIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+DQoJCTwveHM6c2VxdWVuY2U+DQoJPC94czpjb21wbGV4VHlwZT4NCgk8IS0tICoqKioqKioqKioqKioqKioqKioqKioqKiBrZXl0YWIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIC0tPg0KCTx4czplbGVtZW50IG5hbWU9ImtleXRhYiIgdHlwZT0ia2V5dGFiX3R5cCI+DQoJCTx4czphbm5vdGF0aW9uPg0KCQkJPHhzOmRvY3VtZW50YXRpb24+U2Ns/HNzZWx0YWJlbGxlIG1pdCBTPU9JRCwgU049TmFtZSBkZXIgU2NobPxzc2VsdGFiZWxsZSwgU1Y9VmVyc2lvbjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJPC94czphbm5vdGF0aW9uPg0KCQk8eHM6a2V5IG5hbWU9Imtfa2V5dGFiX1NfU1YiPg0KCQkJPHhzOnNlbGVjdG9yIHhwYXRoPSIuIi8+DQoJCQk8eHM6ZmllbGQgeHBhdGg9IkBTIi8+DQoJCQk8eHM6ZmllbGQgeHBhdGg9IkBTViIvPg0KCQk8L3hzOmtleT4NCgkJPHhzOmtleXJlZiBuYW1lPSJrcmVmX2tleXRhYl9TX1NWIiByZWZlcj0ia19rZXl0YWJfU19TViI+DQoJCQk8eHM6c2VsZWN0b3IgeHBhdGg9ImVoZDprZXkiLz4NCgkJCTx4czpmaWVsZCB4cGF0aD0iQFMiLz4NCgkJCTx4czpmaWVsZCB4cGF0aD0iQFNWIi8+DQoJCTwveHM6a2V5cmVmPg0KCQk8eHM6dW5pcXVlIG5hbWU9InVfa2V5X1ZfU19TViI+DQoJCQk8eHM6c2VsZWN0b3IgeHBhdGg9ImVoZDprZXkiLz4NCgkJCTx4czpmaWVsZCB4cGF0aD0iQFYiLz4NCgkJCTx4czpmaWVsZCB4cGF0aD0iQFMiLz4NCgkJCTx4czpmaWVsZCB4cGF0aD0iQFNWIi8+DQoJCTwveHM6dW5pcXVlPg0KCTwveHM6ZWxlbWVudD4NCgk8eHM6Y29tcGxleFR5cGUgbmFtZT0ia2V5dGFiX3R5cCI+DQoJCTx4czpzZXF1ZW5jZT4NCgkJCTx4czplbGVtZW50IHJlZj0ia2V5IiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPg0KCQk8L3hzOnNlcXVlbmNlPg0KCQk8eHM6YXR0cmlidXRlIG5hbWU9IlMiIHR5cGU9InhzOnN0cmluZyIgdXNlPSJyZXF1aXJlZCIvPg0KCQk8eHM6YXR0cmlidXRlIG5hbWU9IlNOIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0icmVxdWlyZWQiLz4NCgkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJTViIgdHlwZT0ieHM6c3RyaW5nIiB1c2U9InJlcXVpcmVkIi8+DQoJPC94czpjb21wbGV4VHlwZT4NCgk8IS0tICoqKioqKioqKioqKioqKioqKioqKioqKiBrZXkgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIC0tPg0KCTx4czplbGVtZW50IG5hbWU9ImtleSIgdHlwZT0ia2V5X3R5cCI+DQoJCTx4czphbm5vdGF0aW9uPg0KCQkJPHhzOmRvY3VtZW50YXRpb24+U2NobPxzc2VsIG1pdCBWPVdlcnQsIEROPVdlcnRCZXplaWNobnVuZywgUz1PSUQgenVyIHdlbGNoZW4gU2Ns/HNzZWx0YWJlbGxlIGRlciBXZXJ0IGdlaPZydCwgU1Y9VmVyc2lvbiBkZXIgU2NobPxzc2VsdGFiZWxsZTwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJPC94czphbm5vdGF0aW9uPg0KCTwveHM6ZWxlbWVudD4NCgk8eHM6Y29tcGxleFR5cGUgbmFtZT0ia2V5X3R5cCI+DQoJCTx4czphdHRyaWJ1dGUgbmFtZT0iViIgdHlwZT0ieHM6c3RyaW5nIiB1c2U9InJlcXVpcmVkIi8+DQoJCTx4czphdHRyaWJ1dGUgbmFtZT0iUyIgdHlwZT0ieHM6c3RyaW5nIiB1c2U9InJlcXVpcmVkIi8+DQoJCTx4czphdHRyaWJ1dGUgbmFtZT0iU1YiIHR5cGU9InhzOnN0cmluZyIgdXNlPSJyZXF1aXJlZCIvPg0KCQk8eHM6YXR0cmlidXRlIG5hbWU9IkROIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0icmVxdWlyZWQiLz4NCgk8L3hzOmNvbXBsZXhUeXBlPg0KPC94czpzY2hlbWE+DQo=