ZGlmZiAtLWdpdCBhL0NvZGVDb3ZlcmFnZS9Db2RlQ292ZXJhZ2VQcmVsb2FkU1dGLmFzIGIvQ29kZUNvdmVyYWdlL0FJUlNlcnZlci9Db2RlQ292ZXJhZ2VQcmVsb2FkU1dGLmFzCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBDb2RlQ292ZXJhZ2UvQ29kZUNvdmVyYWdlUHJlbG9hZFNXRi5hcwpyZW5hbWUgdG8gQ29kZUNvdmVyYWdlL0FJUlNlcnZlci9Db2RlQ292ZXJhZ2VQcmVsb2FkU1dGLmFzCmRpZmYgLS1naXQgYS9Db2RlQ292ZXJhZ2UvQ29kZUNvdmVyYWdlU2VydmVyLWFwcC54bWwgYi9Db2RlQ292ZXJhZ2UvQUlSU2VydmVyL0NvZGVDb3ZlcmFnZVNlcnZlci1hcHAueG1sCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBDb2RlQ292ZXJhZ2UvQ29kZUNvdmVyYWdlU2VydmVyLWFwcC54bWwKcmVuYW1lIHRvIENvZGVDb3ZlcmFnZS9BSVJTZXJ2ZXIvQ29kZUNvdmVyYWdlU2VydmVyLWFwcC54bWwKZGlmZiAtLWdpdCBhL0NvZGVDb3ZlcmFnZS9Db2RlQ292ZXJhZ2VTZXJ2ZXIubXhtbCBiL0NvZGVDb3ZlcmFnZS9BSVJTZXJ2ZXIvQ29kZUNvdmVyYWdlU2VydmVyLm14bWwKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIENvZGVDb3ZlcmFnZS9Db2RlQ292ZXJhZ2VTZXJ2ZXIubXhtbApyZW5hbWUgdG8gQ29kZUNvdmVyYWdlL0FJUlNlcnZlci9Db2RlQ292ZXJhZ2VTZXJ2ZXIubXhtbApkaWZmIC0tZ2l0IGEvQ29kZUNvdmVyYWdlL0phdmFTZXJ2ZXIvUkVBRE1FIGIvQ29kZUNvdmVyYWdlL0phdmFTZXJ2ZXIvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVjN2U2MDgKLS0tIC9kZXYvbnVsbAorKysgYi9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9SRUFETUUKQEAgLTAsMCArMSwxMzEgQEAKK0FwYWNoZSBGbGV4IENvZGUgQ292ZXJhZ2UgVG9vbCAtIEphdmEgU2VydmVyDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKw0KKyAgICBUaGlzIGNvZGUgY292ZXJhZ2UgdG9vbCBpcyBkZXNpZ25lZCB0byBiZSB1c2VkIGF0IHRoZSBjb21tYW5kIGxpbmUNCisgICAgdG8gcHJvdmlkZSBjb2RlIGNvdmVyYWdlIGZvciBuaWdodGx5IGJ1aWxkcy4NCisNCisgICAgRm9yIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoZSBBcGFjaGUgRmxleCBDb2RlIENvdmVyYWdlIFRvb2wgcGxlYXNlIHZpc2l0DQorICAgIGh0dHBzOi8vY3dpa2kuYXBhY2hlLm9yZy9jb25mbHVlbmNlL2Rpc3BsYXkvRkxFWC9Db2RlK0NvdmVyYWdlK1Rvb2wNCisNCisgICAgRm9yIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IEFwYWNoZSBGbGV4IHBsZWFzZSB2aXNpdA0KKyAgICBodHRwOi8vZmxleC5hcGFjaGUub3JnLw0KKw0KK0dldHRpbmcgdGhlIGxhdGVzdCBzb3VyY2VzIHZpYSBHaXQNCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorDQorICAgIEdldHRpbmcgdGhlIHNvdXJjZSBjb2RlIGlzIHRoZSByZWNvbW1lbmRlZCB3YXkgdG8gZ2V0IHRoZSBBcGFjaGUgRmxleCBDb2RlIENvdmVyYWdlIFRvb2wuDQorDQorICAgIFlvdSBjYW4gYWx3YXlzIGNoZWNrb3V0IHRoZSBsYXRlc3Qgc291cmNlIGZyb20gQXBhY2hlJ3Mgc291cmNlIGNvbnRyb2wgcmVwb3NpdG9yeQ0KKyAgICB1c2luZyB0aGUgZm9sbG93aW5nIGNvbW1hbmRzOg0KKw0KKyAgICAgZ2l0IGNsb25lIGh0dHBzOi8vZ2l0LXdpcC11cy5hcGFjaGUub3JnL3JlcG9zL2FzZi9mbGV4LXV0aWxpdGllcy5naXQgZmxleC11dGlsaXRpZXMNCisgICAgIGNkIGZsZXgtdXRpbGl0aWVzDQorICAgICBnaXQgY2hlY2tvdXQgZGV2ZWxvcA0KKyAgICAgY2QgQ29kZUNvdmVyYWdlL0phdmFTZXJ2ZXINCisNCitCdWlsZGluZyBBcGFjaGUgRmxleCBDb2RlIENvdmVyYWdlIFRvb2wNCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisNCisgICAgVGhlIEFwYWNoZSBGbGV4IENvZGUgQ292ZXJhZ2UgVG9vbCByZXF1aXJlcyBzb21lIGJ1aWxkIHRvb2xzIA0KKyAgICB3aGljaCBtdXN0IGJlIGluc3RhbGxlZCBwcmlvciB0byBidWlsZGluZyBpdC4gIA0KKyAgICBTb21lIG9mIHRoZXNlIGhhdmUgZGlmZmVyZW50IGxpY2Vuc2VzLiAgU2VlIHRoZSBTb2Z0d2FyZSBEZXBlbmRlbmNpZXMgc2VjdGlvbiANCisgICAgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIGV4dGVybmFsIHNvZnR3YXJlIGRlcGVuZGVuY2llcy4NCisNCitJbnN0YWxsIFByZXJlcXVpc2l0ZXMNCistLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisNCisgICAgQmVmb3JlIGJ1aWxkaW5nIHRoaXMgdG9vbCB5b3UgbXVzdCBpbnN0YWxsIHRoZSBmb2xsb3dpbmcgc29mdHdhcmUgDQorICAgIGFuZCBzZXQgdGhlIGNvcnJlc3BvbmRpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzIHVzaW5nIGFic29sdXRlIGZpbGUgcGF0aHMuICANCisgICAgUmVsYXRpdmUgZmlsZSBwYXRocyB3aWxsIHJlc3VsdCBpbiBidWlsZCBlcnJvcnMuDQorDQorICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgICAgU09GVFdBUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTlZJUk9OTUVOVCBWQVJJQUJMRSAoYWJzb2x1dGUgcGF0aHMpDQorICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisNCisgICAgSmF2YSBTREsgMS43IG9yIGdyZWF0ZXIgKCoxKSgqMikgICAgICAgICAgICBKQVZBX0hPTUUNCisNCisgICAgQW50IDEuNy4xIG9yIGdyZWF0ZXIgKCoxKSAgICAgICAgICAgICAgICAgICBBTlRfSE9NRQ0KKyAgICAgICAgKGZvciBKYXZhIDEuNyBzZWUgbm90ZSBhdCAoKjIpKQ0KKw0KKyAgICBBcGFjaGUgRmxleCAnRmFsY29uJyBDb21waWxlciAoKjIpICAgICAgICAgIEZBTENPTl9IT01FDQorDQorICAgIEFwYWNoZSBGbGV4IFNESyBvciByZXBvc2l0b3J5ICAgICAgICAgICAgICAgRkxFWF9IT01FDQorDQorICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisNCisgICAgKjEpIFRoZSBiaW4gZGlyZWN0b3JpZXMgZm9yIEFOVF9IT01FIGFuZCBKQVZBX0hPTUUgc2hvdWxkIGJlIGFkZGVkIHRvIHlvdXINCisgICAgICAgIFBBVEguDQorDQorICAgICAgICBPbiBXaW5kb3dzLCBzZXQgUEFUSCB0bw0KKw0KKyAgICAgICAgICAgIFBBVEg9JVBBVEglOyVBTlRfSE9NRSVcYmluOyVKQVZBX0hPTUUlXGJpbg0KKw0KKyAgICAgICAgT24gdGhlIE1hYyAoYmFzaCksIHNldCBQQVRIIHRvDQorDQorICAgICAgICAgICAgZXhwb3J0IFBBVEg9IiRQQVRIOiRBTlRfSE9NRS9iaW46JEpBVkFfSE9NRS9iaW4iDQorDQorICAgICAgICAgT24gTGludXggbWFrZSBzdXJlIHlvdSBwYXRoIGluY2x1ZGUgQU5UX0hPTUUgYW5kIEpBVkFfSE9NRS4NCisNCisgICAgKjIpICBJZiB5b3UgYXJlIHVzaW5nIEphdmEgU0RLIDEuNyBvciBncmVhdGVyIG9uIGEgTWFjIHlvdSBtdXN0IHVzZSBBbnQgMS44DQorICAgICAgICAgb3IgZ3JlYXRlci4gSWYgeW91IHVzZSBKYXZhIDEuNyB3aXRoIEFudCAxLjcsIGFudCByZXBvcnRzIHRoZSBqYXZhDQorICAgICAgICAgdmVyc2lvbiBhcyAxLjYgc28gdGhlIEpWTSBhcmdzIGZvciB0aGUgZGF0YSBtb2RlbCAoLWQzMi8tZDY0KSB3aWxsIG5vdA0KKyAgICAgICAgIGJlIHNldCBjb3JyZWN0bHkgYW5kIHlvdSB3aWxsIGdldCBjb21waWxlIGVycm9ycy4NCisNCisgICAgKjMpIFNldCBGQUxDT05fSE9NRSB0byB0aGUgcm9vdCBvZiBpdHMgU0RLLiAgV2hlbiB1c2luZyB0aGUgZmxleC1mYWxjb24NCisgICAgICAgIHJlcG9zaXRvcnksIHNldCANCisgICAgICAgICAgICAgRkFMQ09OX0hPTUU9PHJlcG8tcGF0aD4vY29tcGlsZXIvZ2VuZXJhdGVkL2Rpc3Qvc2RrDQorDQorU29mdHdhcmUgRGVwZW5kZW5jaWVzDQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorDQorICAgIFRoZSBBcGFjaGUgRmxleCBDb2RlIENvdmVyYWdlIFRvb2wgcmVxdWlyZXMgY29tcGlsZXIuamFyIGZyb20gdGhlIA0KKyAgICBBcGFjaGUgRmxleCBGYWxjb24gQ29tcGlsZXIuIFRoZSBleHRlcm5hbCBkZXBlbmRlbmNlcyBmb3IgY29tcGlsZXIuamFyIGFyZSANCisgICAgKHJlbGF0aXZlIHRvIGNvbXBpbGVyLmphcik6DQorDQorICAgICogZXh0ZXJuYWwvYW50bHIuamFyDQorICAgICogZXh0ZXJuYWwvY29tbW9ucy1jbGkuamFyDQorICAgICogZXh0ZXJuYWwvY29tbW9ucy1pby5qYXINCisgICAgKiBleHRlcm5hbC9mbGV4LXRvb2wtYXBpLmphcg0KKyAgICAqIGV4dGVybmFsL2d1YXZhLmphcg0KKyAgICAqIGV4dGVybmFsL2pidXJnLmphcg0KKyAgICAqIGV4dGVybmFsL2x6bWEtc2RrLmphcg0KKw0KKyAgICBUaGUgZXh0ZXJuYWwgamFyIGhhdmUgdmFyaW91cyBsaWNlbnNlcy4NCisNCisgICAgV2hlbiB0aGUgQ29kZSBDb3ZlcmFnZSBUb29sIGlzIGJ1aWx0IHRoZSBGYWxjb24gamFycyBhcmUgY29waWVkIGZyb20gDQorICAgIEZBTENPTl9IT01FIHRvIHRoZSBDb2RlIENvdmVyYWdlIFRvb2wncyBsaWIgZGlyZWN0b3J5LiBUaGlzIHN0ZXAgbWFrZXMgdGhlIHRvb2wgcmVhZHkgdG8gcnVuLg0KKw0KKw0KK0J1aWxkaW5nIHRoZSBTb3VyY2UgaW4gdGhlIFNvdXJjZSBEaXN0cmlidXRpb24NCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorDQorICAgIFdoZW4geW91IGhhdmUgYWxsIHRoZSBwcmVyZXF1aXNpdGVzIGluIHBsYWNlIGFuZCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIHNldCwgDQorICAgIChzZWUgSW5zdGFsbCBQcmVyZXF1aXNpdGVzIGFib3ZlKSwgdG8gYnVpbGQgdGhlIEFwYWNoZSBGbGV4IENvZGUgQ292ZXJhZ2UNCisgICAgVG9vbCB1c2U6DQorDQorICAgICAgICBjZCBDb2RlQ292ZXJhZ2UvSmF2YVNlcnZlcg0KKyAgICAgICAgYW50DQorIA0KKyAgICBUbyBjbGVhbiB0aGUgYnVpbGQgdXNlOg0KKyAgICANCisgICAgICAgIGFudCBjbGVhbiANCisNCitCdWlsZGluZyB0aGUgU291cmNlIGluIHRoZSBFY2xpc3BlIGFuZCBGbGFzaCBCdWlsZGVyDQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKw0KKyAgICBUaGUgSmF2YSBzb3VyY2UgY29tZXMgd2l0aCBhbiBFY2xpcHNlIHByb2plY3QgaW4gdGhlIEphdmFTZXJ2ZXIvamF2YSANCisgICAgZGlyZWN0b3J5LiBCZWZvcmUgaW1wb3J0aW5nIHRoZSBFY2xpcHNlIHByb2plY3QgZmlyc3QgZGVmaW5lIGEgSmF2YSANCisgICAgQ2xhc3NwYXRoIHZhcmlhYmxlLiBVbmRlciBFY2xpcHNlIFByZWZlcmVuY2VzLA0KKw0KKyAgICAgICAgKiBHbyB0byBKYXZhIC0gQnVpbGQgUGF0aCAtIENsYXNzcGF0aCBWYXJhYmxlcy4gDQorICAgICAgICAqIENsaWNrIG9uICJOZXcuLi4iLg0KKyAgICAgICAgKiBFbnRlciAiRkFMQ09OX0hPTUUiIGluICJOYW1lIiBmaWVsZC4NCisgICAgICAgICogRW50ZXIgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nICJsaWIvY29tcGlsZXIuamFyIiBpbiB0aGUgIlBhdGgiIGZpZWxkLiAgICAgICANCisgDQorICAgIFRoZSBGbGV4IGNvZGUgY29tZXMgd2l0aCBhIEZsYXNoIEJ1aWxkZXIgcHJvamVjdCBpbiB0aGUgSmF2YVNlcnZlci9mbGV4IA0KKyAgICBkaXJlY3RvcnkuIFRoaXMgcHJvamVjdCBjYW4gYmUgaW1wb3J0ZWQgd2l0aG91dCBhbnkgYWRkaXRpb25hbCBzZXR1cC4NCisNCitUaGFua3MgZm9yIHVzaW5nIEFwYWNoZSBGbGV4LiAgRW5qb3khDQorDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIEFwYWNoZSBGbGV4IFByb2plY3QNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aHR0cDovL2ZsZXguYXBhY2hlLm9yZz4NCmRpZmYgLS1naXQgYS9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9idWlsZC54bWwgYi9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9idWlsZC54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODhiMmIyOQotLS0gL2Rldi9udWxsCisrKyBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2J1aWxkLnhtbApAQCAtMCwwICsxLDM5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiID8+Cis8IS0tCisKKyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPHByb2plY3QgZGVmYXVsdD0ibWFpbiIgYmFzZWRpcj0iLiI+CisKKyAgICA8cHJvcGVydHkgZmlsZT0iJHtiYXNlZGlyfS9lbnYucHJvcGVydGllcyIvPgorICAgIDxwcm9wZXJ0eSBlbnZpcm9ubWVudD0iZW52Ii8+CisgICAgPGNvbmRpdGlvbiBwcm9wZXJ0eT0iRkxFWF9IT01FIiB2YWx1ZT0iJHtlbnYuRkxFWF9IT01FfSI+CisgICAgICAgIDxpc3NldCBwcm9wZXJ0eT0iZW52LkZMRVhfSE9NRSIgLz4KKyAgICA8L2NvbmRpdGlvbj4KKyAgICAKKyAgICA8dGFyZ2V0IG5hbWU9Im1haW4iPgorICAgICAgPG1rZGlyIGRpcj0iJHtiYXNlZGlyfS9saWIiLz4KKyAgICAgIDxhbnQgZGlyPSIke2Jhc2VkaXJ9L2ZsZXgiLz4KKyAgICAgIDxhbnQgZGlyPSIke2Jhc2VkaXJ9L2phdmEiLz4KKyAgICA8L3RhcmdldD4KKyAgIAorICAgIDx0YXJnZXQgbmFtZT0iY2xlYW4iIGRlc2NyaXB0aW9uPSJjbGVhbiB1cCI+CisgICAgICA8YW50IGRpcj0iJHtiYXNlZGlyfS9mbGV4IiB0YXJnZXQ9ImNsZWFuIi8+CisgICAgICA8YW50IGRpcj0iJHtiYXNlZGlyfS9qYXZhIiB0YXJnZXQ9ImNsZWFuIi8+CisgICAgICA8ZGVsZXRlIGRpcj0iJHtiYXNlZGlyfS9saWIiLz4KKyAgICA8L3RhcmdldD4KKzwvcHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9mbGV4L2J1aWxkLnhtbCBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2ZsZXgvYnVpbGQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ0ZDMzZDUKLS0tIC9kZXYvbnVsbAorKysgYi9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9mbGV4L2J1aWxkLnhtbApAQCAtMCwwICsxLDY4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiID8+Cis8IS0tCisKKyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPHByb2plY3QgZGVmYXVsdD0ibWFpbiIgYmFzZWRpcj0iLiI+CisKKyAgICA8cHJvcGVydHkgZmlsZT0iJHtiYXNlZGlyfS9lbnYucHJvcGVydGllcyIvPgorICAgIDxwcm9wZXJ0eSBlbnZpcm9ubWVudD0iZW52Ii8+CisgICAgPGNvbmRpdGlvbiBwcm9wZXJ0eT0iRkxFWF9IT01FIiB2YWx1ZT0iJHtlbnYuRkxFWF9IT01FfSI+CisgICAgICAgIDxpc3NldCBwcm9wZXJ0eT0iZW52LkZMRVhfSE9NRSIgLz4KKyAgICA8L2NvbmRpdGlvbj4KKyAgICA8cHJvcGVydHkgbmFtZT0ibGliLmRpciIgdmFsdWU9IiR7YmFzZWRpcn0vLi4vbGliIi8+CisKKyAgICA8IS0tIGFkZGl0aW9uYWwgdGFza3MgLSBteG1sYyB0YWcgLS0+CisgICAgPHBhdGggaWQ9ImZsZXhUYXNrcy5wYXRoIj4KKyAgICAgICAgPGZpbGVzZXQgZGlyPSIke0ZMRVhfSE9NRX0iPgorICAgICAgICAgICAgPGluY2x1ZGUgbmFtZT0ibGliL2ZsZXhUYXNrcy5qYXIiIC8+CisgICAgICAgICAgICA8aW5jbHVkZSBuYW1lPSJhbnQvbGliL2ZsZXhUYXNrcy5qYXIiIC8+CisgICAgICAgIDwvZmlsZXNldD4KKyAgICA8L3BhdGg+CisgICAgPHRhc2tkZWYgcmVzb3VyY2U9ImZsZXhUYXNrcy50YXNrcyIgY2xhc3NwYXRocmVmPSJmbGV4VGFza3MucGF0aCIvPgorICAgIAorICAgIDx0YXJnZXQgbmFtZT0iY2hlY2stZmxleC1ob21lIiB1bmxlc3M9IkZMRVhfSE9NRS5zZXQiCisgICAgICAgICAgICBkZXNjcmlwdGlvbj0iQ2hlY2sgdGhhdCBGTEVYX0hPTUUgaXMgYSBkaXJlY3RvcnkiPgorICAgICAgICAKKyAgICAgICAgPGVjaG8gbWVzc2FnZT0iRkxFWF9IT01FIGlzICR7ZW52LkZMRVhfSE9NRX0iLz4KKworICAgICAgICA8Y29uZGl0aW9uIHByb3BlcnR5PSJGTEVYX0hPTUUuc2V0Ij4KKyAgICAgICAgICAgIDxhbmQ+CisgICAgICAgICAgICAgICAgPGxlbmd0aCBzdHJpbmc9IiR7ZW52LkZMRVhfSE9NRX0iIHdoZW49ImdyZWF0ZXIiIGxlbmd0aD0iMCIgLz4KKyAgICAgICAgICAgICAgICA8YXZhaWxhYmxlIGZpbGU9IiR7ZW52LkZMRVhfSE9NRX0iIHR5cGU9ImRpciIvPgorICAgICAgICAgICAgPC9hbmQ+CisgICAgICAgIDwvY29uZGl0aW9uPgorICAgICAgICAKKyAgICAgICAgPGZhaWwgbWVzc2FnZT0iVGhlIGVudmlyb25tZW50IHZhcmlhYmxlIEZMRVhfSE9NRSBtdXN0IGJlIHNldCB0byB0aGUgRmxleCBTREsgZGlyZWN0b3J5IiAKKyAgICAgICAgICAgIHVubGVzcz0iRkxFWF9IT01FLnNldCIvPgorICAgIDwvdGFyZ2V0PgorICAgICAgCisgIAk8dGFyZ2V0IG5hbWU9ImNvbXBpbGUiPgorICAJCTxteG1sYyBmaWxlPSIke2Jhc2VkaXJ9L3NyYy9Db2RlQ292ZXJhZ2VQcmVsb2FkU1dGLmFzIiBzdGF0aWMtbGluay1ydW50aW1lLXNoYXJlZC1saWJyYXJpZXM9InRydWUiCisgICAgICAgICAgICAgIG91dHB1dD0iJHtsaWIuZGlyfS9Db2RlQ292ZXJhZ2VQcmVsb2FkU1dGLnN3ZiIgZm9yaz0idHJ1ZSIgZmFpbG9uZXJyb3I9InRydWUiPgorICAJCQkgICAgICA8bG9hZC1jb25maWcgZmlsZW5hbWU9IiR7RkxFWF9IT01FfS9mcmFtZXdvcmtzL2ZsZXgtY29uZmlnLnhtbCIvPgorICAgICAgICAgICAgICA8c291cmNlLXBhdGggcGF0aC1lbGVtZW50PSIke2Jhc2VkaXJ9L3NyYyIvPgorICAJCTwvbXhtbGM+CisgIAk8L3RhcmdldD4KKwkKKyAgICA8dGFyZ2V0IG5hbWU9Im1haW4iIGRlcGVuZHM9ImNoZWNrLWZsZXgtaG9tZSxjbGVhbixjb21waWxlIj4KKyAgICA8L3RhcmdldD4KKyAgIAorICAgIDx0YXJnZXQgbmFtZT0iY2xlYW4iIGRlc2NyaXB0aW9uPSJjbGVhbiB1cCI+CisgICAgCTxkZWxldGUgZmlsZT0iJHtsaWIuZGlyfS9Db2RlQ292ZXJhZ2VQcmVsb2FkU1dGLnN3ZiIvPgorICAgIDwvdGFyZ2V0PgorPC9wcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2ZsZXgvc3JjL0NvZGVDb3ZlcmFnZUNsaWVudFNvY2tldC5hcyBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2ZsZXgvc3JjL0NvZGVDb3ZlcmFnZUNsaWVudFNvY2tldC5hcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZDllMDE2Ci0tLSAvZGV2L251bGwKKysrIGIvQ29kZUNvdmVyYWdlL0phdmFTZXJ2ZXIvZmxleC9zcmMvQ29kZUNvdmVyYWdlQ2xpZW50U29ja2V0LmFzCkBAIC0wLDAgKzEsMTQ1IEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKK3BhY2thZ2UKK3sKK2ltcG9ydCBmbGFzaC5ldmVudHMuRXZlbnQ7CitpbXBvcnQgZmxhc2guZXZlbnRzLklPRXJyb3JFdmVudDsKK2ltcG9ydCBmbGFzaC5ldmVudHMuU2VjdXJpdHlFcnJvckV2ZW50OworaW1wb3J0IGZsYXNoLm5ldC5Tb2NrZXQ7CitpbXBvcnQgZmxhc2guc3lzdGVtLlNlY3VyaXR5OworCisvKioKKyAqIFdyYXBwZXIgYXJvdW5kIGEgRmxhc2ggUGxheWVyIFNvY2tldC4KKyAqLworcHVibGljIGNsYXNzIENvZGVDb3ZlcmFnZUNsaWVudFNvY2tldCBleHRlbmRzIFNvY2tldAoreworICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAvLworICAgIC8vICBDb25zdHJ1Y3RvcgorICAgIC8vCisgICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIAorICAgIC8qKgorICAgICAqICBDb25zdHJ1Y3RvcgorCSAqIAorCSAqICBAcGFyYW0gaG9zdCBUaGUgaG9zdCB0byBjb25uZWN0IHRvLgorCSAqICBAcGFyYW0gcG9ydCBUaGUgcG9ydCB0byBzZW5kIHRyYWNlIGRhdGEgdG8uCisJICogIEBwYXJhbSBwb2xpY3lGaWxlUG9ydCBUaGUgcG9ydCB1c2VkIHRvIGxvYWQgdGhlIHBvbGljeSBmaWxlLgorICAgICAqLworICAgIHB1YmxpYyBmdW5jdGlvbiBDb2RlQ292ZXJhZ2VDbGllbnRTb2NrZXQoaG9zdDpTdHJpbmcsIHBvcnQ6aW50LCBwb2xpY3lGaWxlUG9ydDppbnQpCisgICAgeworICAgICAgICBzdXBlcigpOworICAgICAgICBhZGRMaXN0ZW5lcnMoKTsKKwkJCisJCXZhciBwb2xpY3lGaWxlOlN0cmluZyA9ICJ4bWxzb2NrZXQ6Ly8iICsgaG9zdCArICI6IiArIHBvbGljeUZpbGVQb3J0OworICAgICAgICBTZWN1cml0eS5sb2FkUG9saWN5RmlsZShwb2xpY3lGaWxlKTsKKyAgICAgICAgY29ubmVjdChob3N0LCBwb3J0KTsKKyAgICB9CisgICAgCisgICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIC8vCisgICAgLy8gIFZhcmlhYmxlcworICAgIC8vCisgICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICAgLyoqCisgICAgICogIEJ1ZmZlciBvdXRwdXQgZnJvbSB0cmFjZSBkYXRhIHJlY2VpdmVkIGJlZm9yZSBhIGNvbm5lY3QgaXMgYXZhaWFibGUgZnJvbQorICAgICAqICB0aGUgc2VydmVyLiAKKyAgICAgKi8KKyAgICBwcml2YXRlIHZhciBwcmVDb25uZWN0QnVmZmVyOkFycmF5ID0gW107CisgICAgcHJpdmF0ZSB2YXIgY29ubmVjdGlvbkF2YWlsYWJsZTpCb29sZWFuOworCQorICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAvLworICAgIC8vICBNZXRob2RzCisgICAgLy8KKyAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgCisJLyoqCisJICogU2VuZCBkYXRhIHRvIHRoZSBzZXZlci4KKwkgKiAKKwkgKiBJZiB0aGUgc29ja2V0IGlzIG5vdCBjb25uZWN0ZWQgdGhlIGRhdGEgd2lsbCBiZSBidWZmZXJlZCB1bnRpbCB0aGUgCisJICogY29ubmVjdGlvbiBpcyBtYWRlLgorCSAqIAorCSAqIEBwYXJhbSBkYXRhIFRoZSBkYXRhIHRvIHNlbmQuCisJICovCisgICAgcHVibGljIGZ1bmN0aW9uIHNlbmREYXRhKGRhdGE6U3RyaW5nKTp2b2lkIAorICAgIHsKKyAgICAgICAgaWYgKGNvbm5lY3Rpb25BdmFpbGFibGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHdyaXRlVVRGQnl0ZXMoZGF0YSk7CisJICAgICAgICBmbHVzaCgpOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgcHJlQ29ubmVjdEJ1ZmZlci5wdXNoKGRhdGEpOworICAgICAgICB9CisgICAgfQorICAgIAorCXByaXZhdGUgZnVuY3Rpb24gYWRkTGlzdGVuZXJzKCk6dm9pZAorCXsKKwkJYWRkRXZlbnRMaXN0ZW5lcihFdmVudC5DTE9TRSwgY2xvc2VIYW5kbGVyKTsKKwkJYWRkRXZlbnRMaXN0ZW5lcihFdmVudC5DT05ORUNULCBjb25uZWN0SGFuZGxlcik7CisJCWFkZEV2ZW50TGlzdGVuZXIoSU9FcnJvckV2ZW50LklPX0VSUk9SLCBpb0Vycm9ySGFuZGxlcik7CisJCWFkZEV2ZW50TGlzdGVuZXIoU2VjdXJpdHlFcnJvckV2ZW50LlNFQ1VSSVRZX0VSUk9SLCBzZWN1cml0eUVycm9ySGFuZGxlcik7CisJfQorCQorICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAvLworICAgIC8vICBFdmVudCBoYW5kbGVyCisgICAgLy8KKyAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgCisgICAgcHJpdmF0ZSBmdW5jdGlvbiBjbG9zZUhhbmRsZXIoZXZlbnQ6RXZlbnQpOnZvaWQgCisgICAgeworICAgICAgICBjb25uZWN0aW9uQXZhaWxhYmxlID0gZmFsc2U7CisgICAgfQorICAgIAorCS8qKgorCSAqIENhbGwgd2hlbiB0aGUgc29ja2V0IGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQuCisJICovCisgICAgcHJpdmF0ZSBmdW5jdGlvbiBjb25uZWN0SGFuZGxlcihldmVudDpFdmVudCk6dm9pZAorICAgIHsKKyAgICAgICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihFdmVudC5DT05ORUNULCBjb25uZWN0SGFuZGxlcik7CisJCQorCQkvLyBXcml0ZSBvdXQgYnVmZmVyZWQgZGF0YS4KKyAgICAgICAgaWYgKHByZUNvbm5lY3RCdWZmZXIubGVuZ3RoID4gMCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGRhdGE6U3RyaW5nID0gcHJlQ29ubmVjdEJ1ZmZlci5qb2luKCIiKTsKKyAgICAgICAgICAgIHdyaXRlVVRGQnl0ZXMoZGF0YSk7CisJCQlmbHVzaCgpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBjb25uZWN0aW9uQXZhaWxhYmxlID0gdHJ1ZTsKKyAgICAgICAgcHJlQ29ubmVjdEJ1ZmZlciA9IFtdOworICAgIH0KKyAgICAKKyAgICBwcml2YXRlIGZ1bmN0aW9uIGlvRXJyb3JIYW5kbGVyKGV2ZW50OklPRXJyb3JFdmVudCk6dm9pZAorICAgIHsKKyAgICAgICAgdHJhY2UoIkNvZGVDb3ZlcmFnZVByZWxvYWRTV0YgaW9FcnJvckhhbmRsZXI6ICIgKyBldmVudC5lcnJvcklEKTsKKyAgICB9CisgICAgCisgICAgcHJpdmF0ZSBmdW5jdGlvbiBzZWN1cml0eUVycm9ySGFuZGxlcihldmVudDpTZWN1cml0eUVycm9yRXZlbnQpOnZvaWQKKyAgICB7CisgICAgICAgIHRyYWNlKCJDb2RlQ292ZXJhZ2VQcmVsb2FkU1dGIHNlY3VyaXR5RXJyb3JIYW5kbGVyOiAiICsgZXZlbnQuZXJyb3JJRCk7CisgICAgfQorICAgIAorfSAgICAKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9mbGV4L3NyYy9Db2RlQ292ZXJhZ2VQcmVsb2FkU1dGLmFzIGIvQ29kZUNvdmVyYWdlL0phdmFTZXJ2ZXIvZmxleC9zcmMvQ29kZUNvdmVyYWdlUHJlbG9hZFNXRi5hcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NThmMWU1Ci0tLSAvZGV2L251bGwKKysrIGIvQ29kZUNvdmVyYWdlL0phdmFTZXJ2ZXIvZmxleC9zcmMvQ29kZUNvdmVyYWdlUHJlbG9hZFNXRi5hcwpAQCAtMCwwICsxLDE5MCBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCitwYWNrYWdlCit7CitpbXBvcnQgZmxhc2guZGlzcGxheS5Mb2FkZXJJbmZvOworaW1wb3J0IGZsYXNoLmRpc3BsYXkuU3ByaXRlOworaW1wb3J0IGZsYXNoLmV2ZW50cy5FdmVudDsKK2ltcG9ydCBmbGFzaC50cmFjZS5UcmFjZTsKK2ltcG9ydCBmbGFzaC51dGlscy5nZXRUaW1lcjsNCisKKy8qKgorICogIE1haW4gb2YgcHJlbG9hZCBTV0YuIFRoaXMgU1dGIGxpc3RlbnMgdG8gdGhlIHRyYWNlIG9mIHRoZSBwcmltYXJ5IGFwcGxpY2F0aW9uCisgKiAgYW5kIHNlbmRzIHRoZSBkYXRhIHRvIGEgc2VydmVyIHVzaW5nIGEgd2ViIHNvY2tldC4KKyAqLworcHVibGljIGNsYXNzIENvZGVDb3ZlcmFnZVByZWxvYWRTV0YgZXh0ZW5kcyBTcHJpdGUKK3sKKwkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisJLy8KKwkvLyAgQ2xhc3MgY29uc3RhbnRzCisJLy8KKwkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisJCisJcHJpdmF0ZSBzdGF0aWMgY29uc3QgREVGQVVMVF9IT1NUOlN0cmluZyA9ICJsb2NhbGhvc3QiOworCXByaXZhdGUgc3RhdGljIGNvbnN0IERFRkFVTFRfREFUQV9QT1JUOmludCA9IDkwOTc7CisJcHJpdmF0ZSBzdGF0aWMgY29uc3QgREVGQVVMVF9QT0xJQ1lfRklMRV9QT1JUOmludCA9IDk4NDM7CisJCisgICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIC8vCisgICAgLy8gIENvbnN0cnVjdG9yCisgICAgLy8KKyAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyAgICAvKioKKyAgICAgKiAgQ29uc3RydWN0b3IgCisgICAgICovCisgICAgcHVibGljIGZ1bmN0aW9uIENvZGVDb3ZlcmFnZVByZWxvYWRTV0YoKQorICAgIHsKKwkJY3JlYXRlQ2xpZW50U29ja2V0KCk7CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImFsbENvbXBsZXRlIiwgYWxsQ29tcGxldGVIYW5kbGVyKTsKKwkJCisgICAgICAgIFRyYWNlLnNldExldmVsKFRyYWNlLk1FVEhPRFNfQU5EX0xJTkVTLCBUcmFjZS5MSVNURU5FUik7CisgICAgICAgIFRyYWNlLnNldExpc3RlbmVyKG1ldGhvZHNBbmRMaW5lc0NhbGxiYWNrKTsKKyAgICB9CisJCisgICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIC8vCisgICAgLy8gIFZhcmlhYmxlcworICAgIC8vCisgICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisJLyoqCisJICogTWFwIHRoZSBkZWJ1ZyBmaWxlIGluZm8gdG8gYW4gaW5kZXggbnVtYmVyIHRvIHJlZHVjZSB0aGUgYW1vdW50CisJICogb2YgZGF0YSBzZW50IG92ZXIgdGhlIHBvcnQgYW5kIHN0b3JlZC4KKwkgKiAKKwkgKiBLZXkgZGVidWdfZmlsZSBzdHJpbmcKKwkgKiBJbmRleDogdW5pcXVlIGluZGV4IHJlcHJlc2VudGluZyB0aGUga2V5LgorCSAqLworICAgIHByaXZhdGUgdmFyIHN0cmluZ01hcDpPYmplY3QgPSB7fTsKKwkKKwkvKioKKwkgKiBpbmNyZW1lbnRlZCB0byBwcm92aWRlIGEgdW5pcXVlIGluZGV4IGZvciBldmVyeSBzdHJpbmcuCisJICovCisgICAgcHJpdmF0ZSB2YXIgc3RyaW5nSW5kZXg6aW50ID0gMDsKKwkKKwkvKioKKwkgKglDb2xsZWN0aW9uIG9mIGxpbmVzIHRoYXQgaGF2ZSBiZWVuIHNlbnQgdG8gc2VydmVyLgorCSAqICBGb3IgdGhlIHB1cnBvc2VzIG9mIGNvZGUgY292ZXJhZ2UgdGhlcmUgaXMgbm8gbmVlZCB0byBzZW5kIGEgZGVidWcgbGluZQorCSAqICBtb3JlIHRoYW4gb25jZS4gCisJICovCisJcHJpdmF0ZSB2YXIgbGluZU1hcDpPYmplY3QgPSB7fTsKKwkKKwkvKioKKwkgKiBzb2NrZXQgdG8gc2VuZCB0cmFjZSBkYXRhIHRvIHRoZSBzZXJ2ZXIuCisJICovCisJcHJpdmF0ZSB2YXIgc29ja2V0OkNvZGVDb3ZlcmFnZUNsaWVudFNvY2tldDsKKwkKKwkvKioKKwkgKiBJZiB0cnVlIGlnbm9yZSB0aGUgdHJhY2UgZGF0YS4gVXNlZCB0byBwcmV2ZW50IHRoaXMgY29kZSBmcm9tIGJlaW5nIHBhcnQgb2YgY29kZQorCSAqIGNvdmVyYWdlLiBJcyB0aGlzIG5lZWRlZCBpZiB0aGUgYXBwbGljYXRpb24gaXMgcnVuIHcvbyBkZWJ1ZyBpbnN0cnVjdGlvbnMuCisJICovCisJcHJpdmF0ZSB2YXIgaWdub3JlVHJhY2U6Qm9vbGVhbjsgCisJCisJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCS8vCisJLy8JTWV0aG9kcworCS8vCisJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisJLyoqCisJICogQ3JlYXRlIGEgc29ja2V0IHRvIGhhbmRsZSBzZW5kaW5nIHRyYWNlIGRhdGEgdG8gdGhlIHNlcnZlci4KKwkgKi8KKwlwcml2YXRlIGZ1bmN0aW9uIGNyZWF0ZUNsaWVudFNvY2tldCgpOnZvaWQKKwl7CisJCXZhciBrZXk6U3RyaW5nOworCQl2YXIgdmFsdWU6U3RyaW5nOworCQl2YXIgcGFyYW1PYmo6T2JqZWN0ID0gTG9hZGVySW5mbyh0aGlzLnJvb3QubG9hZGVySW5mbykucGFyYW1ldGVyczsKKwkJdmFyIGhvc3Q6U3RyaW5nID0gREVGQVVMVF9IT1NUOworCQl2YXIgcG9ydDppbnQgPSBERUZBVUxUX0RBVEFfUE9SVDsKKwkJdmFyIHBvbGljeUZpbGVQb3J0OmludCA9IERFRkFVTFRfUE9MSUNZX0ZJTEVfUE9SVDsKKwkJCisJCWZvciAoa2V5IGluIHBhcmFtT2JqKSAKKwkJeworCQkJdmFsdWUgPSBTdHJpbmcocGFyYW1PYmpba2V5XSk7CisJCQlpZiAoa2V5ID09ICJob3N0IikKKwkJCQlob3N0ID0gdmFsdWU7CisJCQllbHNlIGlmIChrZXkgPT0gImRhdGFQb3J0IikKKwkJCQlwb3J0ID0gaW50KHZhbHVlKTsKKwkJCWVsc2UgaWYgKGtleSA9PSAicG9saWN5RmlsZVBvcnQiKQorCQkJCXBvbGljeUZpbGVQb3J0ID0gaW50KHZhbHVlKTsKKwkJfQorCisJCXNvY2tldCA9IG5ldyBDb2RlQ292ZXJhZ2VDbGllbnRTb2NrZXQoaG9zdCwgcG9ydCwgcG9saWN5RmlsZVBvcnQpOworCX0KKworCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAvLworICAgIC8vICBFdmVudCBoYW5kbGVycworICAgIC8vCisgICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIAorCS8qKgorCSAqIENhbGxiYWNrIGZvciBtZXRob2RzIGFuZCBsaW5lcyB0cmFjZSBkYXRhLgorCSAqLworICAgIHB1YmxpYyBmdW5jdGlvbiBtZXRob2RzQW5kTGluZXNDYWxsYmFjayhmaWxlbmFtZTpTdHJpbmcsIGxpbmVOdW1iZXI6aW50LCBtZXRob2ROYW1lOlN0cmluZywgbWV0aG9kQXJnczpTdHJpbmcpOnZvaWQKKyAgICB7CisgICAgICAgIGlmIChsaW5lTnVtYmVyIDw9IDAgfHwgaWdub3JlVHJhY2UpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIAorCQl0cnkKKyAgICAgICAgeworCQkJLy8gTWFwIGZpbGUgbmFtZSB0byBhbmQgaW5kZXgKKyAgICAgICAgICAgIGlmICghc3RyaW5nTWFwLmhhc093blByb3BlcnR5KGZpbGVuYW1lKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzb2NrZXQuc2VuZERhdGEoIiMiICsgc3RyaW5nSW5kZXggKyAiLCIgKyBmaWxlbmFtZSArICJcbiIpOworICAgICAgICAgICAgICAgIHN0cmluZ01hcFtmaWxlbmFtZV0gPSBzdHJpbmdJbmRleC50b1N0cmluZygpOworICAgICAgICAgICAgICAgIHN0cmluZ0luZGV4Kys7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHZhciBpZDpTdHJpbmcgPSBzdHJpbmdNYXBbZmlsZW5hbWVdOworICAgICAgICAgICAgdmFyIGxpbmU6U3RyaW5nID0gbGluZU51bWJlci50b1N0cmluZygpOworCQkJdmFyIGRhdGE6U3RyaW5nID0gaWQgKyAiLCIgKyBsaW5lICsgIlxuIjsKKwkJCQorCQkJLy8gT25seSBzZW5kIGEgZGVidWcgbGluZSBvbmNlLgorCQkJaWYgKCFsaW5lTWFwLmhhc093blByb3BlcnR5KGRhdGEpKQorCQkJCWxpbmVNYXBbZGF0YV0gPSAxOworCQkJZWxzZQorCQkJCXJldHVybjsKKwkJCQorICAgICAgICAgICAgc29ja2V0LnNlbmREYXRhKGRhdGEpOworICAgICAgICB9CisgICAgICAgIGNhdGNoIChlOkVycm9yKQorICAgICAgICB7CisgICAgICAgICAgICB0cmFjZSgiQ29kZUNvdmVyYWdlUHJlbG9hZFNXRiBFcnJvcjogIiArIGUubWVzc2FnZSk7CisgICAgICAgIH0KKworICAgIH0KKworCS8qKgorCSAqIENhbGxlZCB3aGVuIHRoZSBtYWluIGFwcGxpY2F0aW9uIGZpbmlzaGluZyBsb2FkaW5nLgorCSAqIFRoaXMgcHJvdmlkZXMgdXMgd2l0aCB0aGUgbmFtZSBvZiB0aGUgU1dGLgorCSAqLworICAgIHByaXZhdGUgZnVuY3Rpb24gYWxsQ29tcGxldGVIYW5kbGVyKGV2ZW50OkV2ZW50KTp2b2lkCisgICAgeworCQlpZ25vcmVUcmFjZSA9IHRydWU7CisJCXJlbW92ZUV2ZW50TGlzdGVuZXIoImFsbENvbXBsZXRlIiwgYWxsQ29tcGxldGVIYW5kbGVyKTsKKworICAgICAgICB2YXIgbG9hZGVySW5mbzpMb2FkZXJJbmZvID0gZXZlbnQudGFyZ2V0IGFzIExvYWRlckluZm87CisgICAgICAgIHNvY2tldC5zZW5kRGF0YSgiQCIgKyBsb2FkZXJJbmZvLmxvYWRlclVSTCArICJcbiIpOworCQlpZ25vcmVUcmFjZSA9IGZhbHNlOworICAgIH0KKyAgICAKK30KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL2J1aWxkLnhtbCBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvYnVpbGQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE2MzE1MjkKLS0tIC9kZXYvbnVsbAorKysgYi9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL2J1aWxkLnhtbApAQCAtMCwwICsxLDE1NyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQorPCEtLQ0KKw0KKyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlDQorICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgNCisgIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4NCisgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wDQorICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aA0KKyAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCisNCisgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCisNCisgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCisgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQorICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCisgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCisgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KKw0KKy0tPg0KKzxwcm9qZWN0IGRlZmF1bHQ9Im1haW4iIGJhc2VkaXI9Ii4iIG5hbWU9IkNvZGUgQ292ZXJhZ2UgU2VydmVyIGFuZCBDb2RlIENvdmVyZ2UgUmVwb3J0ZXIiPg0KKyAgICANCisgICAgPHByb3BlcnR5IGZpbGU9IiR7YmFzZWRpcn0vZW52LnByb3BlcnRpZXMiLz4NCisgICAgPHByb3BlcnR5IGVudmlyb25tZW50PSJlbnYiLz4gICAgDQorICAgIDxwcm9wZXJ0eSBuYW1lPSJsaWIuZGlyIiB2YWx1ZT0iJHtiYXNlZGlyfS8uLi9saWIiLz4NCisNCisJPCEtLSBPcHRpb25zIGZvciA8amF2YWM+IHRhc2tzIC0tPg0KKyAgICA8cHJvcGVydHkgbmFtZT0iamF2YWMuZGVidWciIHZhbHVlPSJ0cnVlIi8+DQorICAgIDxwcm9wZXJ0eSBuYW1lPSJqYXZhYy5kZXByZWNhdGlvbiIgdmFsdWU9ImZhbHNlIi8+DQorICAgIDxwcm9wZXJ0eSBuYW1lPSJqYXZhYy5zcmMiIHZhbHVlPSIxLjciLz4NCisNCisgICAgPCEtLSBKQVIgbWFuaWZlc3QgZW50cmllcyAtLT4NCisgICAgPHByb3BlcnR5IG5hbWU9Im1hbmlmZXN0LkltcGxlbWVudGF0aW9uLVZlcnNpb24iIHZhbHVlPSIwLjkuMCIvPg0KKyAgICA8cHJvcGVydHkgbmFtZT0ibWFuaWZlc3QuSW1wbGVtZW50YXRpb24tVmVuZG9yIiB2YWx1ZT0iQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24iLz4NCisgICAgDQorICAgIDx0YXJnZXQgbmFtZT0ibWFpbiIgZGVwZW5kcz0iY2hlY2stZmFsY29uLWhvbWUsY2xlYW4sY29tcGlsZS1jY3NlcnZlcixjcmVhdGUtY2NzZXJ2ZXIuamFyLGNvbXBpbGUtY2NyZXBvcnRlcixjcmVhdGUtY2NyZXBvcnRlci5qYXIsY29weS1iaW4tbGliIj4NCisgICAgPC90YXJnZXQ+DQorDQorICAgIDx0YXJnZXQgbmFtZT0iY2hlY2stZmFsY29uLWhvbWUiIHVubGVzcz0iRkFMQ09OX0hPTUUiDQorICAgICAgICBkZXNjcmlwdGlvbj0iQ2hlY2sgRkFMQ09OX0hPTUUgaXMgYSBkaXJlY3RvcnkuIj4NCisgICAgICAgIA0KKyAgICAgICAgPGVjaG8gbWVzc2FnZT0iRkFMQ09OX0hPTUUgaXMgJHtlbnYuRkFMQ09OX0hPTUV9Ii8+DQorDQorICAgICAgICA8YXZhaWxhYmxlIGZpbGU9IiR7ZW52LkZBTENPTl9IT01FfS9saWIvY29tcGlsZXIuamFyIiANCisgICAgICAgICAgICB0eXBlPSJmaWxlIiANCisgICAgICAgICAgICBwcm9wZXJ0eT0iRkFMQ09OX0hPTUUiDQorICAgICAgICAgICAgdmFsdWU9IiR7ZW52LkZBTENPTl9IT01FfSIvPg0KKw0KKyAgICAgICAgPGZhaWwgbWVzc2FnZT0iRkFMQ09OX0hPTUUgbXVzdCBiZSBzZXQgdG8gYSBmb2xkZXIgd2l0aCBhIGxpYiBzdWItZm9sZGVyIGNvbnRhaW5pbmcgY29tcGlsZXIuamFyIHN1Y2ggYXMgdGhlIGNvbXBpbGVyL2dlbmVyYXRlZC9kaXN0L3NkayBmb2xkZXIgaW4gZmxleC1mYWxjb24gcmVwby4iDQorICAgICAgICAgICAgdW5sZXNzPSJGQUxDT05fSE9NRSIvPg0KKyAgICA8L3RhcmdldD4NCisNCisgICAgPHRhcmdldCBuYW1lPSJjbGVhbiI+DQorICAgICAgICA8ZGVsZXRlIGRpcj0iJHtiYXNlZGlyfS9nZW5lcmF0ZWQiLz4NCisgICAgICAgIDxkZWxldGUgZmlsZT0iJHtsaWIuZGlyfS9jY3JlcG9ydGVyLmphciIgcXVpZXQ9InRydWUiIGZhaWxvbmVycm9yPSJmYWxzZSIvPg0KKyAgICAgICAgPGRlbGV0ZSBmaWxlPSIke2xpYi5kaXJ9L2Njc2VydmVyLmphciIgcXVpZXQ9InRydWUiIGZhaWxvbmVycm9yPSJmYWxzZSIvPg0KKyAgICAgICAgPGRlbGV0ZSBxdWlldD0idHJ1ZSIgZmFpbG9uZXJyb3I9ImZhbHNlIj4NCisgICAgICAgICAgICA8ZmlsZXNldCBkaXI9IiR7bGliLmRpcn0iPg0KKyAgICAgICAgICAgICAgICA8aW5jbHVkZSBuYW1lPSJjb21waWxlci5qYXIiLz4NCisgICAgICAgICAgICAgICAgPGluY2x1ZGUgbmFtZT0iY2NyZXBvcnRlci5qYXIiLz4NCisgICAgICAgICAgICAgICAgPGluY2x1ZGUgbmFtZT0iY2NzZXJ2ZXIuamFyIi8+DQorICAgICAgICAgICAgICAgIDxpbmNsdWRlIG5hbWU9ImNjc2VydmVyLnByb3BlcnRpZXMiLz4NCisgICAgICAgICAgICA8L2ZpbGVzZXQ+DQorICAgICAgICA8L2RlbGV0ZT4NCisgICAgICAgIDxkZWxldGUgZGlyPSIke2xpYi5kaXJ9L2V4dGVybmFsIiBxdWlldD0idHJ1ZSIgZmFpbG9uZXJyb3I9ImZhbHNlIi8+DQorICAgIDwvdGFyZ2V0Pg0KKw0KKyAgICA8cGF0aCBpZD0iY2xhc3NwYXRoIj4NCisgICAgICAgIDxmaWxlc2V0IGRpcj0iJHtlbnYuRkFMQ09OX0hPTUV9L2xpYiIgaW5jbHVkZXM9IioqLyouamFyIiBleGNsdWRlcz0iY2NzZXJ2ZXIuamFyLGNjcmVwb3J0ZXIuamFyIi8+DQorICAgIDwvcGF0aD4NCisNCisgICAgPHRhcmdldCBuYW1lPSJjcmVhdGUtY2NzZXJ2ZXIuamFyIiBkZXBlbmRzPSJzZXQuY2NzZXJ2ZXIuamFyLnVwdG9kYXRlIiB1bmxlc3M9ImNjc2VydmVyLmphci51cHRvZGF0ZSI+DQorICAgICAgICA8amFyIGZpbGU9IiR7bGliLmRpcn0vY2NzZXJ2ZXIuamFyIiBiYXNlZGlyPSIke2Jhc2VkaXJ9L2dlbmVyYXRlZC9jbGFzc2VzIiBpbmNsdWRlcz0iKiovc2VydmVyLyoiIHdoZW5tYW5pZmVzdG9ubHk9ImZhaWwiPg0KKyAgICAgICAgICAgIDxtYW5pZmVzdD4NCisgICAgICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJJbXBsZW1lbnRhdGlvbi1UaXRsZSIgdmFsdWU9IkFwYWNoZSBGbGV4IENvZGUgQ292ZXJhZ2UgU2VydmVyIi8+DQorICAgICAgICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iSW1wbGVtZW50YXRpb24tVmVyc2lvbiIgdmFsdWU9IiR7bWFuaWZlc3QuSW1wbGVtZW50YXRpb24tVmVyc2lvbn0iLz4NCisgICAgICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJJbXBsZW1lbnRhdGlvbi1WZW5kb3IiIHZhbHVlPSIke21hbmlmZXN0LkltcGxlbWVudGF0aW9uLVZlbmRvcn0iLz4NCisgICAgICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJNYWluLUNsYXNzIiB2YWx1ZT0ib3JnLmFwYWNoZS5mbGV4LnRvb2xzLmNvZGVjb3ZlcmFnZS5zZXJ2ZXIuQ29kZUNvdmVyYWdlU2VydmVyIi8+DQorICAgICAgICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iQ2xhc3MtUGF0aCIgdmFsdWU9Ii4iLz4NCisgICAgICAgICAgICA8L21hbmlmZXN0Pg0KKyAgICAgICAgPC9qYXI+DQorICAgIDwvdGFyZ2V0Pg0KKw0KKyAgICA8dGFyZ2V0IG5hbWU9InNldC5jY3NlcnZlci5qYXIudXB0b2RhdGUiPg0KKyAgICAgICAgPHVwdG9kYXRlIHByb3BlcnR5PSJjY3NlcnZlci5qYXIudXB0b2RhdGUiDQorICAgICAgICAgICAgICAgICAgdGFyZ2V0ZmlsZT0iJHtsaWIuZGlyfS9jY3NlcnZlci5qYXIiPg0KKyAgICAgICAgICAgIDxzcmNmaWxlcyBkaXI9IiR7YmFzZWRpcn0vZ2VuZXJhdGVkL2NsYXNzZXMiPg0KKyAgICAgICAgICAgICAgICA8aW5jbHVkZSBuYW1lPSIqKi9zZXJ2ZXIvKi5jbGFzcyIvPg0KKyAgICAgICAgICAgICAgICA8aW5jbHVkZSBuYW1lPSIqKi8qLnByb3BlcnRpZXMiLz4NCisgICAgICAgICAgICA8L3NyY2ZpbGVzPg0KKyAgICAgICAgPC91cHRvZGF0ZT4NCisgICAgPC90YXJnZXQ+DQorICAgIA0KKyAgICA8dGFyZ2V0IG5hbWU9ImNvbXBpbGUtY2NzZXJ2ZXIiIGRlc2NyaXB0aW9uPSJjb21waWxlIj4NCisgICAgICAgIDxta2RpciBkaXI9IiR7YmFzZWRpcn0vZ2VuZXJhdGVkL2NsYXNzZXMiLz4NCisgICAgICAgIDxqYXZhYyBkZWJ1Zz0iJHtqYXZhYy5kZWJ1Z30iIGRlcHJlY2F0aW9uPSIke2phdmFjLmRlcHJlY2F0aW9ufSINCisgICAgICAgICAgICAgICBpbmNsdWRlcz0iKiovc2VydmVyLyouamF2YSIgZGVzdGRpcj0iJHtiYXNlZGlyfS9nZW5lcmF0ZWQvY2xhc3NlcyIgDQorICAgICAgICAgICAgICAgY2xhc3NwYXRocmVmPSJjbGFzc3BhdGgiIGluY2x1ZGVBbnRSdW50aW1lPSJmYWxzZSINCisgICAgICAgICAgICAgICBzb3VyY2U9IiR7amF2YWMuc3JjfSIgdGFyZ2V0PSIke2phdmFjLnNyY30iPg0KKyAgICAgICAgICAgIDxzcmMgcGF0aD0iJHtiYXNlZGlyfS9zcmMiLz4NCisgICAgICAgICAgICA8Y29tcGlsZXJhcmcgdmFsdWU9Ii1YbGludDphbGwsLXBhdGgsLWZhbGx0aHJvdWdoLC1jYXN0Ii8+DQorICAgICAgICA8L2phdmFjPg0KKyAgICAgICAgPGNvcHkgdG9kaXI9IiR7YmFzZWRpcn0vZ2VuZXJhdGVkL2NsYXNzZXMiPg0KKyAgICAgICAgICAgIDxmaWxlc2V0IGRpcj0iJHtiYXNlZGlyfS9zcmMiIGluY2x1ZGVzPSIqKi8qLnByb3BlcnRpZXMiLz4NCisgICAgICAgIDwvY29weT4NCisgICAgPC90YXJnZXQ+DQorICAgIA0KKyAgICA8dGFyZ2V0IG5hbWU9ImNyZWF0ZS1jY3JlcG9ydGVyLmphciIgZGVwZW5kcz0ic2V0LmNjcmVwb3J0ZXIuamFyLnVwdG9kYXRlIiB1bmxlc3M9ImNjcmVwb3J0ZXIuamFyLnVwdG9kYXRlIj4NCisgICAgICAgIDxqYXIgZmlsZT0iJHtsaWIuZGlyfS9jY3JlcG9ydGVyLmphciIgYmFzZWRpcj0iJHtiYXNlZGlyfS9nZW5lcmF0ZWQvY2xhc3NlcyIgaW5jbHVkZXM9IioqL3JlcG9ydGVyLyoqLyoiIHdoZW5tYW5pZmVzdG9ubHk9ImZhaWwiPg0KKyAgICAgICAgICAgIDxtYW5pZmVzdD4NCisgICAgICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJJbXBsZW1lbnRhdGlvbi1UaXRsZSIgdmFsdWU9IkFwYWNoZSBGbGV4IENvZGUgQ292ZXJhZ2UgUmVwb3J0ZXIiLz4NCisgICAgICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJJbXBsZW1lbnRhdGlvbi1WZXJzaW9uIiB2YWx1ZT0iJHttYW5pZmVzdC5JbXBsZW1lbnRhdGlvbi1WZXJzaW9ufSIvPg0KKyAgICAgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9IkltcGxlbWVudGF0aW9uLVZlbmRvciIgdmFsdWU9IiR7bWFuaWZlc3QuSW1wbGVtZW50YXRpb24tVmVuZG9yfSIvPg0KKyAgICAgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9Ik1haW4tQ2xhc3MiIHZhbHVlPSJvcmcuYXBhY2hlLmZsZXgudG9vbHMuY29kZWNvdmVyYWdlLnJlcG9ydGVyLkNvZGVDb3ZlcmFnZVJlcG9ydGVyIi8+DQorICAgICAgICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iQ2xhc3MtUGF0aCIgdmFsdWU9ImNvbXBpbGVyLmphciAuIi8+DQorICAgICAgICAgICAgPC9tYW5pZmVzdD4NCisgICAgICAgIDwvamFyPg0KKyAgICA8L3RhcmdldD4NCisNCisgICAgPHRhcmdldCBuYW1lPSJzZXQuY2NyZXBvcnRlci5qYXIudXB0b2RhdGUiPg0KKyAgICAgICAgPHVwdG9kYXRlIHByb3BlcnR5PSJjY3JlcG9ydGVyLmphci51cHRvZGF0ZSINCisgICAgICAgICAgICAgICAgICB0YXJnZXRmaWxlPSIke2xpYi5kaXJ9L2NjcmVwb3J0ZXIuamFyIj4NCisgICAgICAgICAgICA8c3JjZmlsZXMgZGlyPSIke2Jhc2VkaXJ9L2dlbmVyYXRlZC9jbGFzc2VzIj4NCisgICAgICAgICAgICAgICAgPGluY2x1ZGUgbmFtZT0iKiovKi5jbGFzcyIvPg0KKyAgICAgICAgICAgICAgICA8aW5jbHVkZSBuYW1lPSIqKi8qLnByb3BlcnRpZXMiLz4NCisgICAgICAgICAgICA8L3NyY2ZpbGVzPg0KKyAgICAgICAgPC91cHRvZGF0ZT4NCisgICAgPC90YXJnZXQ+DQorICAgIA0KKwk8dGFyZ2V0IG5hbWU9ImNvbXBpbGUtY2NyZXBvcnRlciIgZGVzY3JpcHRpb249ImNvbXBpbGUiPg0KKyAgICAgICAgPGphdmFjIGRlYnVnPSIke2phdmFjLmRlYnVnfSIgZGVwcmVjYXRpb249IiR7amF2YWMuZGVwcmVjYXRpb259Ig0KKyAgICAgICAgICAgICAgIGluY2x1ZGVzPSIqKi9yZXBvcnRlci8qKi8qLmphdmEiIGRlc3RkaXI9IiR7YmFzZWRpcn0vZ2VuZXJhdGVkL2NsYXNzZXMiIA0KKyAgICAgICAgICAgICAgIGNsYXNzcGF0aHJlZj0iY2xhc3NwYXRoIiBpbmNsdWRlQW50UnVudGltZT0iZmFsc2UiDQorICAgICAgICAgICAgICAgc291cmNlPSIke2phdmFjLnNyY30iIHRhcmdldD0iJHtqYXZhYy5zcmN9Ij4NCisgICAgICAgICAgICA8c3JjIHBhdGg9IiR7YmFzZWRpcn0vc3JjIi8+DQorICAgICAgICAgICAgPGNvbXBpbGVyYXJnIHZhbHVlPSItWGxpbnQ6YWxsLC1wYXRoLC1mYWxsdGhyb3VnaCwtY2FzdCIvPg0KKyAgICAgICAgPC9qYXZhYz4NCisgICAgICAgIDxjb3B5IHRvZGlyPSIke2Jhc2VkaXJ9L2dlbmVyYXRlZC9jbGFzc2VzIj4NCisgICAgICAgICAgICA8ZmlsZXNldCBkaXI9IiR7YmFzZWRpcn0vc3JjIiBpbmNsdWRlcz0iKiovKi5wcm9wZXJ0aWVzIi8+DQorICAgICAgICA8L2NvcHk+DQorICAgIDwvdGFyZ2V0Pg0KKw0KKyAgICA8dGFyZ2V0IG5hbWU9ImNvcHktYmluLWxpYiIgZGVzY3JpcHRpb249ImNvcHkgbGliIGRlcGVuZGVuY2llcyI+DQorICAgICAgICA8Y29weSB0b2Rpcj0iJHtsaWIuZGlyfSI+DQorICAgICAgICAgICAgPGZpbGVzZXQgZGlyPSIke0ZBTENPTl9IT01FfS9saWIvIj4NCisgICAgICAgICAgICAgICAgPGluY2x1ZGUgbmFtZT0iY29tcGlsZXIuamFyIi8+DQorICAgICAgICAgICAgICAgIDxpbmNsdWRlIG5hbWU9ImV4dGVybmFsL2FudGxyKi4qIi8+DQorICAgICAgICAgICAgICAgIDxpbmNsdWRlIG5hbWU9ImV4dGVybmFsL2NvbW1vbnMtY2xpKi4qIi8+DQorICAgICAgICAgICAgICAgIDxpbmNsdWRlIG5hbWU9ImV4dGVybmFsL2NvbW1vbnMtaW8qLioiLz4NCisgICAgICAgICAgICAgICAgPGluY2x1ZGUgbmFtZT0iZXh0ZXJuYWwvZmxleC10b29sLWFwaSouKiIvPg0KKyAgICAgICAgICAgICAgICA8aW5jbHVkZSBuYW1lPSJleHRlcm5hbC9ndWF2YSouKiIvPg0KKyAgICAgICAgICAgICAgICA8aW5jbHVkZSBuYW1lPSJleHRlcm5hbC9sem1hLXNkayouKiIvPg0KKyAgICAgICAgICAgIDwvZmlsZXNldD4NCisgICAgICAgICAgICA8ZmlsZXNldCBkaXI9IiR7YmFzZWRpcn0iIGluY2x1ZGVzPSJjY3NlcnZlci5wcm9wZXJ0aWVzIi8+DQorICAgICAgICA8L2NvcHk+DQorICAgIDwvdGFyZ2V0Pg0KKw0KKzwvcHJvamVjdD4NCmRpZmYgLS1naXQgYS9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL2Njc2VydmVyLnByb3BlcnRpZXMgYi9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL2Njc2VydmVyLnByb3BlcnRpZXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMThmNWU5OAotLS0gL2Rldi9udWxsCisrKyBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvY2NzZXJ2ZXIucHJvcGVydGllcwpAQCAtMCwwICsxLDggQEAKKyNob3N0PWxvY2FsaG9zdA0KKyNkYXRhUG9ydD05MDk3DQorI2NvbW1hbmRQb3J0PTkwOTgNCisjcG9saWN5RmlsZVBvcnQ9OTg0Mw0KKyNwcmVsb2FkU1dGPUNvZGVDb3ZlcmFnZVByZWxvYWRTV0Yuc3dmDQorI21tQ2ZnUGF0aD0NCisjZGF0YURpcmVjdG9yeT0NCisNCmRpZmYgLS1naXQgYS9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL3NyYy9vcmcvYXBhY2hlL2ZsZXgvdG9vbHMvY29kZWNvdmVyYWdlL3JlcG9ydGVyL0NvZGVDb3ZlcmFnZVJlcG9ydGVyLmphdmEgYi9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL3NyYy9vcmcvYXBhY2hlL2ZsZXgvdG9vbHMvY29kZWNvdmVyYWdlL3JlcG9ydGVyL0NvZGVDb3ZlcmFnZVJlcG9ydGVyLmphdmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2MwZDg2OAotLS0gL2Rldi9udWxsCisrKyBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2UvcmVwb3J0ZXIvQ29kZUNvdmVyYWdlUmVwb3J0ZXIuamF2YQpAQCAtMCwwICsxLDU0OSBAQAorLyoKKyAqCisgKiAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgKiAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgKiAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorICogIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgKiAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyAqICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqCisgKi8KKworcGFja2FnZSBvcmcuYXBhY2hlLmZsZXgudG9vbHMuY29kZWNvdmVyYWdlLnJlcG9ydGVyOworCitpbXBvcnQgamF2YS5pby5CdWZmZXJlZFJlYWRlcjsKK2ltcG9ydCBqYXZhLmlvLkJ1ZmZlcmVkV3JpdGVyOworaW1wb3J0IGphdmEuaW8uRmlsZTsKK2ltcG9ydCBqYXZhLmlvLkZpbGVOb3RGb3VuZEV4Y2VwdGlvbjsKK2ltcG9ydCBqYXZhLmlvLkZpbGVSZWFkZXI7CitpbXBvcnQgamF2YS5pby5GaWxlV3JpdGVyOworaW1wb3J0IGphdmEuaW8uSU9FeGNlcHRpb247CitpbXBvcnQgamF2YS51dGlsLkFycmF5TGlzdDsKK2ltcG9ydCBqYXZhLnV0aWwuQ29sbGVjdGlvbjsKK2ltcG9ydCBqYXZhLnV0aWwuQ29sbGVjdGlvbnM7CitpbXBvcnQgamF2YS51dGlsLkxpc3Q7CisKK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXgudG9vbHMuY29kZWNvdmVyYWdlLnJlcG9ydGVyLnJlcG9ydHMuSVJlcG9ydEZhY3Rvcnk7CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnRvb2xzLmNvZGVjb3ZlcmFnZS5yZXBvcnRlci5yZXBvcnRzLklSZXBvcnRXcml0ZXI7CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnRvb2xzLmNvZGVjb3ZlcmFnZS5yZXBvcnRlci5yZXBvcnRzLlJlcG9ydE9wdGlvbnM7CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnRvb2xzLmNvZGVjb3ZlcmFnZS5yZXBvcnRlci5yZXBvcnRzLlhNTFJlcG9ydEZhY3Rvcnk7CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnRvb2xzLmNvZGVjb3ZlcmFnZS5yZXBvcnRlci5zd2YuU1dGTGluZVJlcG9ydGVyOworCisvKioKKyAqIEFuYWx5emVzIGNvZGUgY292ZXJhZ2UgZGF0YSBmaWxlcyBhbmQgcHJvZHVjZXMgYSByZXBvcnQuCisgKiAKKyAqIFRoaXMgY2xhc3MgY2FuIGJlIHJ1biBmcm9tIHRoZSBjb21tYW5kIGxpbmUgYW5kIGFjY2VwdCBhcmd1bWVudHMgdG8gY29udHJvbAorICogdGhlIGZvcm1hdCBvZiB0aGUgcmVwb3J0LgorICoKKyAqLworcHVibGljIGNsYXNzIENvZGVDb3ZlcmFnZVJlcG9ydGVyCit7CisgICAgLyoqCisgICAgICogRXh0ZW5zaW9uIGZvciBjb2RlIGNvdmVyYWdlIHJlcG9ydHMuCisgICAgICovCisgICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgU3RyaW5nIERFRkFVTFRfUkVQT1JUX05BTUUgPSAiY2NyZXBvcnQueG1sIjsKKyAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcgREVGQVVMVF9EQVRBX0RJUkVDVE9SWSA9ICJjY2RhdGEiOworICAgIAorICAgIHByaXZhdGUgc3RhdGljIGZpbmFsIFN0cmluZyBDQ1JFUE9SVEVSX1ZFUlNJT04gPSAiMC45IjsKKyAgICAKKyAgICAvKioKKyAgICAgKiBDb2RlQ292ZXJnZVJlcG9ydGVyIHdpbGwgcmVhZCBjb2RlIGNvZGUgY292ZXJhZ2UgcmVzdWx0IGZpbGVzIGFuZAorICAgICAqIGdlbmVyYXRlIHJlcG9ydHMuCisgICAgICogCisgICAgICovCisgICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIElPRXhjZXB0aW9uCisgICAgeworICAgICAgICAvLyBUaGlzIG1lc3NhZ2Ugc2hvdWxkIG5vdCBiZSBsb2NhbGl6ZWQuCisgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiQXBhY2hlIEZsZXggQ29kZSBDb3ZlcmFnZSBSZXBvcnRlciIpOworICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlZlcnNpb24gIiArIENDUkVQT1JURVJfVkVSU0lPTik7CisgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiIik7CisKKyAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09IDEgJiYgIi1oZWxwIi5lcXVhbHMoYXJnc1swXSkpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRpc3BsYXlVc2FnZSgpOworICAgICAgICAgICAgU3lzdGVtLmV4aXQoMSk7CisgICAgICAgIH0KKworICAgICAgICBDb2RlQ292ZXJhZ2VSZXBvcnRlciByZXBvcnRlciA9IG5ldyBDb2RlQ292ZXJhZ2VSZXBvcnRlcigpOworICAgICAgICByZXBvcnRlci5wcm9jZXNzQXJncyhhcmdzKTsKKyAgICAgICAgCisgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiQW5hbHl6aW5nICIgKyByZXBvcnRlci5maWxlcy5zaXplKCkgKyAiIGZpbGVzIik7CisgICAgICAgIAorICAgICAgICB0cnkKKyAgICAgICAgeworICAgICAgICAgICAgZmluYWwgQ292ZXJhZ2VEYXRhIGNvdmVyYWdlRGF0YSA9IG5ldyBDb3ZlcmFnZURhdGEoKTsKKworICAgICAgICAgICAgLy8gYW5hbHl6ZXMgdGhlIGZpbGVzIGFuZCB0aGVuIHJlcG9ydCB0aGUgcmVzdWx0cy4KKyAgICAgICAgICAgIGZvciAoRmlsZSBmaWxlIDogcmVwb3J0ZXIuZmlsZXMpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmVwb3J0ZXIuYW5hbHl6ZShmaWxlLCBjb3ZlcmFnZURhdGEpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmaW5hbCBDb3ZlcmFnZVN1bW1hcnkgY292ZXJhZ2VTdW1tYXJ5ID0gcmVwb3J0ZXIuY3JlYXRlQ292ZXJhZ2VTdW1tYXJ5KGNvdmVyYWdlRGF0YSk7IAorICAgICAgICAgICAgcmVwb3J0ZXIuY3JlYXRlUmVwb3J0KGNvdmVyYWdlU3VtbWFyeSk7CisKKyAgICAgICAgICAgIC8vIG91dHB1dCBoaWdoIGxldmVsIGNvdmVyYWdlIHRvIHRoZSBjb25zb2xlCisgICAgICAgICAgICByZXBvcnRlci5vdXRwdXRDb3ZlcmFnZVN1bW1hcnlUb0NvbnNvbGUoY292ZXJhZ2VTdW1tYXJ5KTsKKworICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJSZXBvcnQgb3V0cHV0IHRvICIgKyByZXBvcnRlci5yZXBvcnRGaWxlLmdldEFic29sdXRlUGF0aCgpKTsKKyAgICAgICAgfQorICAgICAgICBjYXRjaCAoRXJyb3IgZSkKKyAgICAgICAgeworICAgICAgICAgICAgZS5wcmludFN0YWNrVHJhY2UoKTsKKworICAgICAgICAgICAgU3lzdGVtLmVyci5wcmludGxuKCIiKTsKKyAgICAgICAgICAgIFN5c3RlbS5lcnIucHJpbnRsbigiQW4gdW5yZWNvdmVyYWJsZSBlcnJvciBvY2N1cnJlZC4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAgICAvKioKKyAgICAgKiBDcmVhdGUgYSByZWdleCBzdHJpbmcgZnJvbSBhIGdpdmVuIHVzZXIgaW5wdXQgc3RyaW5nIHRoYXQgY2FuIGhhdmUKKyAgICAgKiB3aWxkIGNhcmRzIGJ1dCBpcyBub3QgYSByZWdleCBwYXR0ZXJuLiAKKyAgICAgKiBTdXBwb3J0cyBzaW1wbGUgd2lsZCBjYXJkczogJyonLCAnPycKKyAgICAgKiAKKyAgICAgKiBAcGFyYW0gdXNlckZpbHRlciB1c2VyIHN1cHBsaWVkIGZpbHRlciB0aGF0IG1heSBvbmx5IGNvbnRhaW4gdGhlICcqJyBhbmQgJz8nCisgICAgICogIHdpbGQgY2FyZCBjaGFyYWN0ZXJzLiBBbGwgb3RoZXIgY2FyZHMgd2lsbCBoYXZlIG5vIHNwZWNpYWwgbWVhbmluZy4KKyAgICAgKi8KKyAgICBwcml2YXRlIHN0YXRpYyBTdHJpbmcgY3JlYXRlUmVnZXhTdHJpbmdGcm9tVXNlckFyZyhTdHJpbmcgdXNlckZpbHRlcikKKyAgICB7CisgICAgICAgIC8vIHN1YnN0aXR1dGUgcmVnZXggZm9yIHVzZXIgd2lsZCBjYXJkcy4KKyAgICAgICAgU3RyaW5nQnVpbGRlciByZWdleFN0cmluZyA9IG5ldyBTdHJpbmdCdWlsZGVyKCJeIik7CisgICAgICAgIFN0cmluZ1tdIHJlc3VsdHMgPSB1c2VyRmlsdGVyLnNwbGl0KCJbXFw/XFwqXSIpOworICAgICAgICBpbnQgY3VycmVudEluZGV4ID0gMDsKKworICAgICAgICBmb3IgKFN0cmluZyBmaWx0ZXIgOiByZXN1bHRzKQorICAgICAgICB7CisgICAgICAgICAgICBjdXJyZW50SW5kZXggKz0gZmlsdGVyLmxlbmd0aCgpOworICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAoZmlsdGVyLmxlbmd0aCgpID4gMCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZWdleFN0cmluZy5hcHBlbmQoIlxcUSIpOworICAgICAgICAgICAgICAgIHJlZ2V4U3RyaW5nLmFwcGVuZChmaWx0ZXIpOworICAgICAgICAgICAgICAgIHJlZ2V4U3RyaW5nLmFwcGVuZCgiXFxFIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChjdXJyZW50SW5kZXggPCB1c2VyRmlsdGVyLmxlbmd0aCgpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICh1c2VyRmlsdGVyLmNoYXJBdChjdXJyZW50SW5kZXgpID09ICcqJykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHJlZ2V4U3RyaW5nLmFwcGVuZCgiLioiKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZSBpZiAodXNlckZpbHRlci5jaGFyQXQoY3VycmVudEluZGV4KSA9PSAnPycpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICByZWdleFN0cmluZy5hcHBlbmQoIi4/Iik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBjdXJyZW50SW5kZXgrKzsgLy8gc2tpcCBwYXN0IHdpbGQgY2FyZAorICAgICAgICB9CisgICAgICAgIAorICAgICAgICByZWdleFN0cmluZy5hcHBlbmQoIiQiKTsKKyAgICAgICAgcmV0dXJuIHJlZ2V4U3RyaW5nLnRvU3RyaW5nKCk7CisgICAgfQorCisgICAgcHVibGljIHN0YXRpYyBDb2xsZWN0aW9uPEZpbGU+IGxpc3RGaWxlcyhmaW5hbCBGaWxlIGRpcikKKyAgICB7CisgICAgICAgIGZpbmFsIFN0cmluZ1tdIGZpbGVOYW1lcyA9IGRpci5saXN0KCk7CisKKyAgICAgICAgaWYgKGZpbGVOYW1lcyA9PSBudWxsKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gQ29sbGVjdGlvbnMuZW1wdHlMaXN0KCk7CisgICAgICAgIH0KKworICAgICAgICBmaW5hbCBDb2xsZWN0aW9uPEZpbGU+IGZpbGVMaXN0ID0gbmV3IEFycmF5TGlzdDxGaWxlPihmaWxlTmFtZXMubGVuZ3RoKTsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBmaWxlTmFtZXMubGVuZ3RoOyBpKyspCisgICAgICAgIHsKKyAgICAgICAgICAgIGZpbGVMaXN0LmFkZChuZXcgRmlsZShkaXIuZ2V0UGF0aCgpLCBmaWxlTmFtZXNbaV0pKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgcmV0dXJuIGZpbGVMaXN0OworICAgIH0KKworICAgIHByaXZhdGUgdm9pZCBvdXRwdXRDb3ZlcmFnZVN1bW1hcnlUb0NvbnNvbGUoZmluYWwgQ292ZXJhZ2VTdW1tYXJ5IGNvdmVyYWdlU3VtbWFyeSkKKyAgICB7CisgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiUmVzdWx0czoiKTsKKyAgICAgICAgCisgICAgICAgIGZpbmFsIFN1bW1hcnlJbmZvIHN1bW1hcnlJbmZvID0gY292ZXJhZ2VTdW1tYXJ5LmdldE92ZXJhbGxTdW1tYXJ5SW5mbygpOworICAgICAgICBpbnQgZXhlY3V0ZWQgPSBzdW1tYXJ5SW5mby5nZXRFeGVjdXRlZExpbmVDb3VudCgpOworICAgICAgICBpbnQgdG90YWwgPSBzdW1tYXJ5SW5mby5nZXRUb3RhbExpbmVDb3VudCgpOworICAgICAgICBpbnQgcGVyY2VudCA9IHRvdGFsID09IDAgPyAwIDogZXhlY3V0ZWQgKiAxMDAgLyB0b3RhbDsKKyAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJMaW5lIENvdmVyYWdlOiAgICIgKyAgcGVyY2VudCArICIlIik7CisKKyAgICAgICAgZXhlY3V0ZWQgPSBzdW1tYXJ5SW5mby5nZXRFeGVjdXRlZE1ldGhvZENvdW50KCk7CisgICAgICAgIHRvdGFsID0gc3VtbWFyeUluZm8uZ2V0VG90YWxNZXRob2RDb3VudCgpOworICAgICAgICBwZXJjZW50ID0gdG90YWwgPT0gMCA/IDAgOiBleGVjdXRlZCAqIDEwMCAvIHRvdGFsOworICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIk1ldGhvZCBDb3ZlcmFnZTogIiArICBwZXJjZW50ICsgIiUiKTsKKyAgICB9CisKKyAgICBwcml2YXRlIHN0YXRpYyB2b2lkIGRpc3BsYXlVc2FnZSgpCisgICAgeworICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlVzYWdlOiBjY3JlcG9ydGVyIik7CisgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiWy1leGNsdWRlIGZpbHRlcl0iKTsKKyAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJbLWhlbHBdIik7CisgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiWy1oaWRlLXVuZXhlY3V0ZWRdIik7CisgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiWy1oaWRlLWZpbGVzXSIpOworICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlstaGlkZS1tZXRob2RzXSIpOworICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlstaGlkZS1wYWNrYWdlc10iKTsKKyAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJbLWluY2x1ZGUgZmlsdGVyXSIpOworICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlstb3V0cHV0IGZpbGVuYW1lXSIpOworICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlstcmVwb3J0LWZhY3RvcnkiKTsKKyAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJbZmlsZW5hbWUgfCBkaXJlY3RvcnkgbmFtZV0qIik7CisgICAgfQorCisgICAgLyoqCisgICAgICogVGhlIHJlcG9ydCBmaWxlLgorICAgICAqLworICAgIHByaXZhdGUgRmlsZSByZXBvcnRGaWxlOworICAgIAorICAgIC8qKgorICAgICAqIENvbGxlY3Rpb24gb2YgZGF0YSBmaWxlcyB0byBhbmFseXplLgorICAgICAqLworICAgIHByaXZhdGUgQ29sbGVjdGlvbjxGaWxlPiBmaWxlczsKKyAgICAKKyAgICAvKioKKyAgICAgKiBVc2VyIGZpbHRlcnMgY29udmVydGVkIHRvIHJlZ2V4LgorICAgICAqLworICAgIHByaXZhdGUgQ29sbGVjdGlvbjxTdHJpbmc+IGluY2x1ZGVGaWx0ZXJzOworICAgIHByaXZhdGUgQ29sbGVjdGlvbjxTdHJpbmc+IGV4Y2x1ZGVGaWx0ZXJzOworICAgIAorICAgIC8qKgorICAgICAqIFJhdyB1c2VyIGZpbHRlcnMgYXMgaW5wdXQuCisgICAgICovCisgICAgcHJpdmF0ZSBDb2xsZWN0aW9uPFN0cmluZz4gdXNlckluY2x1ZGVGaWx0ZXJzOworICAgIHByaXZhdGUgQ29sbGVjdGlvbjxTdHJpbmc+IHVzZXJFeGNsdWRlRmlsdGVyczsKKyAgICBwcml2YXRlIGJvb2xlYW4gc2hvd1BhY2thZ2VzID0gdHJ1ZTsKKyAgICBwcml2YXRlIGJvb2xlYW4gc2hvd0ZpbGVzID0gdHJ1ZTsKKyAgICBwcml2YXRlIGJvb2xlYW4gc2hvd01ldGhvZHMgPSB0cnVlOworICAgIHByaXZhdGUgYm9vbGVhbiBzaG93VW5leGVjdXRlZERldGFpbHMgPSBmYWxzZTsKKyAgICAKKyAgICAvKioKKyAgICAgKiBVc2VyIGNhbiBzcGVjaWZ5IHRoZWlyIG93biByZXBvcnQgZmFjdG9yeS4KKyAgICAgKi8KKyAgICBwcml2YXRlIFN0cmluZyByZXBvcnRGYWN0b3J5OworICAgIAorICAgIC8qKgorICAgICAqIENyZWF0ZSBhIGNvZGUgY292ZXJhZ2UgcmVwb3J0ZXIuCisgICAgICogCisgICAgICovCisgICAgcHVibGljIENvZGVDb3ZlcmFnZVJlcG9ydGVyKCkKKyAgICB7CisgICAgfQorCisgICAgLyoqCisgICAgICogUGFyc2UgdGhlIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgYW5kIHNldCB0aGUgaW5zdGFuY2UgdmFyaWFibGVzIG9mCisgICAgICogdGhlIHJlcG9ydGVyLgorICAgICAqIAorICAgICAqIEBwYXJhbSBhcmdzIFVzZXIgc3BlY2lmaWVkIGFyZ3VtZW50cy4KKyAgICAgKi8KKyAgICBwdWJsaWMgdm9pZCBwcm9jZXNzQXJncyhmaW5hbCBTdHJpbmdbXSBhcmdzKQorICAgIHsKKyAgICAgICAgaW50IGluZGV4ID0gMDsKKyAgICAgICAgRmlsZSByZXBvcnRGaWxlID0gbnVsbDsKKyAgICAgICAgTGlzdDxTdHJpbmc+IGluY2x1ZGVGaWx0ZXJzID0gbmV3IEFycmF5TGlzdDxTdHJpbmc+KCk7CisgICAgICAgIExpc3Q8U3RyaW5nPiBleGNsdWRlRmlsdGVycyA9IG5ldyBBcnJheUxpc3Q8U3RyaW5nPigpOworICAgICAgICBMaXN0PFN0cmluZz4gdXNlckluY2x1ZGVGaWx0ZXJzID0gbmV3IEFycmF5TGlzdDxTdHJpbmc+KCk7CisgICAgICAgIExpc3Q8U3RyaW5nPiB1c2VyRXhjbHVkZUZpbHRlcnMgPSBuZXcgQXJyYXlMaXN0PFN0cmluZz4oKTsKKyAgICAgICAgYm9vbGVhbiBzaG93UGFja2FnZXMgPSB0cnVlOworICAgICAgICBib29sZWFuIHNob3dGaWxlcyA9IHRydWU7CisgICAgICAgIGJvb2xlYW4gc2hvd01ldGhvZHMgPSB0cnVlOworICAgICAgICBib29sZWFuIHNob3dVbmV4ZWN1dGVkRGV0YWlscyA9IHRydWU7CisgICAgICAgIFN0cmluZyByZXBvcnRGYWN0b3J5ID0gbnVsbDsKKyAgICAgICAgCisgICAgICAgIHdoaWxlICgoaW5kZXggPCBhcmdzLmxlbmd0aCkgJiYgKGFyZ3NbaW5kZXhdLnN0YXJ0c1dpdGgoIi0iKSkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHN3aXRjaCAoYXJnc1tpbmRleF0pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2FzZSAiLWluY2x1ZGUiOgorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdXNlckluY2x1ZGVGaWx0ZXJzLmFkZChhcmdzWysraW5kZXhdKTsKKyAgICAgICAgICAgICAgICAgICAgaW5jbHVkZUZpbHRlcnMuYWRkKGNyZWF0ZVJlZ2V4U3RyaW5nRnJvbVVzZXJBcmcoYXJnc1tpbmRleF0pKTsKKyAgICAgICAgICAgICAgICAgICAgaW5kZXgrKzsgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgY2FzZSAiLWV4Y2x1ZGUiOgorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdXNlckV4Y2x1ZGVGaWx0ZXJzLmFkZChhcmdzWysraW5kZXhdKTsKKyAgICAgICAgICAgICAgICAgICAgZXhjbHVkZUZpbHRlcnMuYWRkKGNyZWF0ZVJlZ2V4U3RyaW5nRnJvbVVzZXJBcmcoYXJnc1tpbmRleF0pKTsKKyAgICAgICAgICAgICAgICAgICAgaW5kZXgrKzsgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgY2FzZSAiLWluY2x1ZGUtcmVnZXgiOgorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaW5jbHVkZUZpbHRlcnMuYWRkKGFyZ3NbKytpbmRleF0pOworICAgICAgICAgICAgICAgICAgICBpbmRleCsrOyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBjYXNlICItZXhjbHVkZS1yZWdleCI6CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBleGNsdWRlRmlsdGVycy5hZGQoYXJnc1srK2luZGV4XSk7CisgICAgICAgICAgICAgICAgICAgIGluZGV4Kys7ICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGNhc2UgIi1vdXRwdXQiOgorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmVwb3J0RmlsZSA9IG5ldyBGaWxlKGFyZ3NbKytpbmRleF0pOworICAgICAgICAgICAgICAgICAgICBpbmRleCsrOyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBjYXNlICItaGlkZS11bmV4ZWN1dGVkIjoKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHNob3dVbmV4ZWN1dGVkRGV0YWlscyA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICBpbmRleCsrOyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBjYXNlICItaGlkZS1tZXRob2RzIjoKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHNob3dNZXRob2RzID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgIGluZGV4Kys7ICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGNhc2UgIi1oaWRlLWZpbGVzIjoKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHNob3dGaWxlcyA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICBpbmRleCsrOyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBjYXNlICItaGlkZS1wYWNrYWdlcyI6CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBzaG93UGFja2FnZXMgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgaW5kZXgrKzsgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgY2FzZSAiLXJlcG9ydC1mYWN0b3J5IjoKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHJlcG9ydEZhY3RvcnkgPSBhcmdzWysraW5kZXhdOworICAgICAgICAgICAgICAgICAgICBpbmRleCsrOyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgU3lzdGVtLmVyci5wcmludGxuKCJ1bmtub3duIGFyZ3VtZW50ICIgKyBhcmdzW2luZGV4XSk7CisgICAgICAgICAgICAgICAgICAgIGluZGV4Kys7ICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgU3lzdGVtLmV4aXQoMSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgaWYgKHJlcG9ydEZpbGUgPT0gbnVsbCkKKyAgICAgICAgICAgIHJlcG9ydEZpbGUgPSBuZXcgRmlsZShERUZBVUxUX1JFUE9SVF9OQU1FKTsKKworICAgICAgICBDb2xsZWN0aW9uPFN0cmluZz5maWxlbmFtZXMgPSBuZXcgQXJyYXlMaXN0PFN0cmluZz4oKTsKKyAgICAgICAgQ29sbGVjdGlvbjxGaWxlPiBmaWxlcyA9IG5ldyBBcnJheUxpc3Q8RmlsZT4oKTsKKworICAgICAgICAvLyBDb2xsZWN0IGZpbGVuYW1lcy9kaXJlY3RvcmllcyBmcm9tIHVzZXIgYXJncy4KKyAgICAgICAgLy8gSWYgbm8gZmlsZXMgc3BlY2lmaWVkIGxvb2sgaW4gdGhlIGRlZmF1bHQgZGF0YSBkaXJlY3RvcnkuCisgICAgICAgIGlmIChpbmRleCA+PSBhcmdzLmxlbmd0aCkKKyAgICAgICAgeworICAgICAgICAgICAgZmlsZW5hbWVzLmFkZChuZXcgRmlsZShTeXN0ZW0uZ2V0UHJvcGVydHkoInVzZXIuaG9tZSIpLCBERUZBVUxUX0RBVEFfRElSRUNUT1JZKS5nZXRBYnNvbHV0ZVBhdGgoKSk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBmb3IgKGludCBpID0gaW5kZXg7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGZpbGVuYW1lcy5hZGQoYXJnc1tpXSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyB2YWxpZGF0ZSBmaWxlcworICAgICAgICBmb3IgKFN0cmluZyBmaWxlbmFtZSA6IGZpbGVuYW1lcykKKyAgICAgICAgeworICAgICAgICAgICAgRmlsZSBmaWxlID0gbmV3IEZpbGUoZmlsZW5hbWUpOworICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAoIWZpbGUuZXhpc3RzKCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgU3lzdGVtLmVyci5wcmludGxuKCJGaWxlIG5vdCBmb3VuZDogIiArIGZpbGUuZ2V0QWJzb2x1dGVQYXRoKCkpOworICAgICAgICAgICAgICAgIFN5c3RlbS5leGl0KDEpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChmaWxlLmlzRGlyZWN0b3J5KCkpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBDb2xsZWN0aW9uPEZpbGU+IG5ld0ZpbGVzID0gbGlzdEZpbGVzKGZpbGUpOyAKKyAgICAgICAgICAgICAgICAgICAgZmlsZXMuYWRkQWxsKG5ld0ZpbGVzKTsKKyAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJGb3VuZCAiICsgbmV3RmlsZXMuc2l6ZSgpICsgIiBmaWxlcyBpbiAiICsgZmlsZS5nZXRBYnNvbHV0ZVBhdGgoKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGZpbGVzLmFkZChmaWxlKTsKKyAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJGb3VuZCAiICsgZmlsZS5nZXRBYnNvbHV0ZVBhdGgoKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSAgICAgICAgICAgIAorICAgICAgICAgICAgCisgICAgICAgIH0KKworICAgICAgICB0aGlzLmluY2x1ZGVGaWx0ZXJzID0gaW5jbHVkZUZpbHRlcnM7CisgICAgICAgIHRoaXMuZXhjbHVkZUZpbHRlcnMgPSBleGNsdWRlRmlsdGVyczsKKyAgICAgICAgdGhpcy51c2VySW5jbHVkZUZpbHRlcnMgPSB1c2VySW5jbHVkZUZpbHRlcnM7CisgICAgICAgIHRoaXMudXNlckV4Y2x1ZGVGaWx0ZXJzID0gdXNlckV4Y2x1ZGVGaWx0ZXJzOworICAgICAgICB0aGlzLnNob3dVbmV4ZWN1dGVkRGV0YWlscyA9IHNob3dVbmV4ZWN1dGVkRGV0YWlsczsKKyAgICAgICAgdGhpcy5zaG93TWV0aG9kcyA9IHNob3dNZXRob2RzOworICAgICAgICB0aGlzLnNob3dGaWxlcyA9IHNob3dGaWxlczsKKyAgICAgICAgdGhpcy5zaG93UGFja2FnZXMgPSBzaG93UGFja2FnZXM7CisgICAgICAgIHRoaXMuZmlsZXMgPSBmaWxlczsKKyAgICAgICAgdGhpcy5yZXBvcnRGaWxlID0gcmVwb3J0RmlsZTsKKyAgICAgICAgdGhpcy5yZXBvcnRGYWN0b3J5ID0gcmVwb3J0RmFjdG9yeTsKKyAgICB9CisKKyAgICAvKioKKyAgICAgKiBSZWFkIGluIGEgY29kZSBjb3ZlcmFnZSByYXcgZmlsZSBhbmQgb3V0cHV0IHJhdyBjb2RlIGNvdmVyYWdlIGRhdGEuCisgICAgICogCisgICAgICogQHBhcmFtIGluRmlsZQorICAgICAqICAgICAgICAgICAgQ29kZSBjb3ZlcmFnZSBleGVjdXRpb24gZGF0YS4KKyAgICAgKiBAdGhyb3dzIElPRXhjZXB0aW9uCisgICAgICogQHRocm93cyBGaWxlTm90Rm91bmRFeGNlcHRpb24KKyAgICAgKi8KKyAgICBwdWJsaWMgdm9pZCBhbmFseXplKGZpbmFsIEZpbGUgaW5GaWxlLCBmaW5hbCBDb3ZlcmFnZURhdGEgY292ZXJhZ2VEYXRhKQorICAgICAgICAgICAgdGhyb3dzIEZpbGVOb3RGb3VuZEV4Y2VwdGlvbiwgSU9FeGNlcHRpb24KKyAgICB7CisgICAgICAgIHRyeSAoQnVmZmVyZWRSZWFkZXIgcmVhZGVyID0gbmV3IEJ1ZmZlcmVkUmVhZGVyKG5ldyBGaWxlUmVhZGVyKGluRmlsZSkpKQorICAgICAgICB7CisgICAgICAgICAgICBTdHJpbmcgaW5MaW5lOworICAgICAgICAgICAgZmluYWwgQXJyYXlMaXN0PFN0cmluZz4gc3RyaW5nUG9vbCA9IG5ldyBBcnJheUxpc3Q8U3RyaW5nPigpOworICAgICAgICAgICAgaW50IGluTGluZU51bWJlciA9IDE7CisKKyAgICAgICAgICAgIHdoaWxlICgoaW5MaW5lID0gcmVhZGVyLnJlYWRMaW5lKCkpICE9IG51bGwpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLy8gdGVzdCBmaXJzdCBjaGFyOgorICAgICAgICAgICAgICAgIC8vIEB7cGF0aH0gdGhlIFNXRidzIHBhdGgKKyAgICAgICAgICAgICAgICAvLyAje2lkLHN0cmluZ30gZGVmaW5lcyBhbiBpZCBzdHJpbmcKKyAgICAgICAgICAgICAgICBjaGFyIGZpcnN0Q2hhciA9IGluTGluZS5jaGFyQXQoMCk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgc3dpdGNoIChmaXJzdENoYXIpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBjYXNlICdAJzogICAvLyBAc3dmVVJMCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlYWQgaW4gU1dGIGFuZCBhbmFseXplCisgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcgc3dmVVJMID0gaW5MaW5lLnN1YnN0cmluZygxKTsgCisgICAgICAgICAgICAgICAgICAgICAgICBTV0ZMaW5lUmVwb3J0ZXIgc3dmTGluZVJlcG9ydGVyID0gbmV3IFNXRkxpbmVSZXBvcnRlcihzd2ZVUkwpOworICAgICAgICAgICAgICAgICAgICAgICAgc3dmTGluZVJlcG9ydGVyLnJlYWRMaW5lcyhjb3ZlcmFnZURhdGEpOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgY2FzZSAnIyc6ICAgLy8gaW5zdHJ1Y3Rpb246IHBhY2thZ2VGaWxlSUQscGFja2FnZUZpbGVTdHJpbmcKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWRkIGlkIHRvIHBvb2wKKyAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZ1tdIHJlc3VsdHMgPSBpbkxpbmUuc3Vic3RyaW5nKDEpLnNwbGl0KCIsIik7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydCByZXN1bHRzLmxlbmd0aCA9PSAyIDogImxpbmUgIiArIGluTGluZU51bWJlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIFN5c3RlbS5saW5lU2VwYXJhdG9yKCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAiaW1wcm9wZXJseSBmb3JtYXR0ZWQgbGluZSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBTeXN0ZW0ubGluZVNlcGFyYXRvcigpICsgaW5MaW5lOworCisgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnQgIXN0cmluZ1Bvb2wuY29udGFpbnMocmVzdWx0c1sxXSkgOiAibGluZSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgaW5MaW5lTnVtYmVyICsgU3lzdGVtLmxpbmVTZXBhcmF0b3IoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArICJzdHJpbmcgaXMgYWxyZWFkeSBpbiB0aGUgc3RyaW5nIHBvb2w6ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyByZXN1bHRzWzFdOworCisgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnQgSW50ZWdlci52YWx1ZU9mKHJlc3VsdHNbMF0pID09IHN0cmluZ1Bvb2wuc2l6ZSgpIDogImxpbmUgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIGluTGluZU51bWJlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIFN5c3RlbS5saW5lU2VwYXJhdG9yKCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAic3RyaW5nIGlzIGFscmVhZHkgaW4gdGhlIHN0cmluZyBwb29sOiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgcmVzdWx0c1sxXTsKKworICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nUG9vbC5hZGQocmVzdWx0c1sxXSk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyAiaWQsbGluZW51bSIKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNwbGl0IGxpbmUgYW5kIHJlY29yZCBsaW5lbnVtIGFzIGEgaGl0LgorICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nW10gcmVzdWx0cyA9IGluTGluZS5zcGxpdCgiLCIpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdHMubGVuZ3RoID09IDIgJiYgZmlyc3RDaGFyID49ICcwJyAmJiBmaXJzdENoYXIgPD0gJzknKQorICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyBmaWxlID0gc3RyaW5nUG9vbC5nZXQoSW50ZWdlci52YWx1ZU9mKHJlc3VsdHNbMF0pKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaGl0TGluZU51bWJlciA9IEludGVnZXIudmFsdWVPZihyZXN1bHRzWzFdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3ZlcmFnZURhdGEuc2V0TGluZUV4ZWN1dGVkKGZpbGUsIGhpdExpbmVOdW1iZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW0uZXJyLnByaW50bG4oIldhcm5pbmc6IGZpbGUgIiArIGluRmlsZS5nZXRBYnNvbHV0ZVBhdGgoKSArICIsIGxpbmUgIiArIGluTGluZU51bWJlciArICI6IHVucmVjb2duaXplZCBkYXRhLCAiICsgaW5MaW5lKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGluTGluZU51bWJlcisrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGNhdGNoIChOdW1iZXJGb3JtYXRFeGNlcHRpb24gZSkKKyAgICAgICAgeworICAgICAgICAgICAgU3lzdGVtLmVyci5wcmludGxuKGluRmlsZS5nZXRBYnNvbHV0ZVBhdGgoKSArICIgbWF5IG5vdCBiZSBhIGNvZGUgY292ZXJhZ2UgZGF0YSBmaWxlIik7CisgICAgICAgICAgICB0aHJvdyBuZXcgSU9FeGNlcHRpb24oZSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvKioKKyAgICAgKiBDcmVhdGUgYSBjb2RlIGNvdmVyYWdlIHJlcG9ydC4gVGhlIHJlcG9ydCBzdW1tYXJpemVzIHRoZSBjb2RlIGNvdmVyYWdlIGJ5CisgICAgICogcGFja2FnZSwgZmlsZSwgYW5kIG1ldGhvZC4gVGhlIHJlcG9ydCBpcyBvdXRwdXQgdG8gdGhlIGZpbGUgc3BlY2lmaWVkCisgICAgICogYnkgdGhlIHVzZXIuCisgICAgICogCisgICAgICogQHBhcmFtIGNvdmVyYWdlU3VtbWFyeSBBIHN1bW1hcnkgb2YgdGhlIGNvdmVyYWdlIGRhdGEuCisgICAgICogQHRocm93cyBJT0V4Y2VwdGlvbiAKKyAgICAgKi8KKyAgICBwdWJsaWMgdm9pZCBjcmVhdGVSZXBvcnQoZmluYWwgQ292ZXJhZ2VTdW1tYXJ5IGNvdmVyYWdlU3VtbWFyeSkgdGhyb3dzIElPRXhjZXB0aW9uCisgICAgeworICAgICAgICBjcmVhdGVYTUxSZXBvcnQoY292ZXJhZ2VTdW1tYXJ5KTsKKyAgICB9CisKKyAgICAvKioKKyAgICAgKiBDcmVhdGUgYSBzdW1tYXJ5IG9mIHRoZSByYXcgY29kZSBjb3ZlcmFnZSBkYXRhLgorICAgICAqIAorICAgICAqIEBwYXJhbSBjb3ZlcmFnZURhdGEKKyAgICAgKiBAcmV0dXJuCisgICAgICovCisgICAgcHJvdGVjdGVkIENvdmVyYWdlU3VtbWFyeSBjcmVhdGVDb3ZlcmFnZVN1bW1hcnkoZmluYWwgQ292ZXJhZ2VEYXRhIGNvdmVyYWdlRGF0YSkKKyAgICB7CisgICAgICAgIGZpbmFsIENvdmVyYWdlU3VtbWFyeSBjb3ZlcmFnZVN1bW1hcnkgPSBuZXcgQ292ZXJhZ2VTdW1tYXJ5KGNvdmVyYWdlRGF0YSwgCisgICAgICAgICAgICAgICAgaW5jbHVkZUZpbHRlcnMsIGV4Y2x1ZGVGaWx0ZXJzKTsKKyAgICAgICAgCisgICAgICAgIGNvdmVyYWdlU3VtbWFyeS5wcm9jZXNzQ292ZXJhZ2VEYXRhKCk7CisgICAgICAgIHJldHVybiBjb3ZlcmFnZVN1bW1hcnk7CisgICAgfQorICAgIAorICAgIC8qKgorICAgICAqIE91dHB1dCBhbiBYTUwgcmVwb3J0IHRvIHRoZSByZXBvcnRGaWxlLgorICAgICAqIAorICAgICAqIEBwYXJhbSBjb3ZlcmFnZVN1bW1hcnkgQSBzdW1tYXJ5IG9mIHRoZSBjb3ZlcmFnZSBkYXRhLgorICAgICAqIEB0aHJvd3MgSU9FeGNlcHRpb24gCisgICAgICovCisgICAgcHJvdGVjdGVkIHZvaWQgY3JlYXRlWE1MUmVwb3J0KGZpbmFsIENvdmVyYWdlU3VtbWFyeSBjb3ZlcmFnZVN1bW1hcnkpIHRocm93cyBJT0V4Y2VwdGlvbiAKKyAgICB7CisgICAgICAgIENsYXNzPD8+IGNsYXNzRmFjdG9yeSA9IG51bGw7CisgICAgICAgIElSZXBvcnRGYWN0b3J5IGZhY3RvcnkgPSBudWxsOworICAgICAgICAKKyAgICAgICAgaWYgKHJlcG9ydEZhY3RvcnkgIT0gbnVsbCkKKyAgICAgICAgeworICAgICAgICAgICAgdHJ5CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2xhc3NGYWN0b3J5ID0gQ2xhc3MuZm9yTmFtZShyZXBvcnRGYWN0b3J5KTsKKyAgICAgICAgICAgICAgICBmYWN0b3J5ID0gKElSZXBvcnRGYWN0b3J5KSBjbGFzc0ZhY3RvcnkubmV3SW5zdGFuY2UoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNhdGNoIChDbGFzc05vdEZvdW5kRXhjZXB0aW9uIHwgSW5zdGFudGlhdGlvbkV4Y2VwdGlvbiB8IElsbGVnYWxBY2Nlc3NFeGNlcHRpb24gZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvLyBmYWxsYmFjayB0byBkZWZhdWx0IHJlcG9ydCB3cml0ZXIKKyAgICAgICAgICAgICAgICBlLnByaW50U3RhY2tUcmFjZSgpOworICAgICAgICAgICAgICAgIFN5c3RlbS5lcnIucHJpbnRsbigiUmVwb3J0IGZhY3Rvcnkgbm90IGZvdW5kLCIgKyByZXBvcnRGYWN0b3J5KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGlmIChmYWN0b3J5ID09IG51bGwpCisgICAgICAgICAgICBmYWN0b3J5ID0gbmV3IFhNTFJlcG9ydEZhY3RvcnkoKTsKKyAgICAgICAgCisgICAgICAgIGZpbmFsIFJlcG9ydE9wdGlvbnMgcmVwb3J0T3B0aW9ucyA9IG5ldyBSZXBvcnRPcHRpb25zKHVzZXJJbmNsdWRlRmlsdGVycywgdXNlckV4Y2x1ZGVGaWx0ZXJzLAorICAgICAgICAgICAgICAgIHNob3dQYWNrYWdlcywgc2hvd0ZpbGVzLCBzaG93TWV0aG9kcywgc2hvd1VuZXhlY3V0ZWREZXRhaWxzKTsKKyAgICAgICAgZmluYWwgSVJlcG9ydFdyaXRlciByZXBvcnRXcml0ZXIgPSBmYWN0b3J5LmNyZWF0ZVJlcG9ydChyZXBvcnRPcHRpb25zKTsKKyAgICAgICAgdHJ5IChmaW5hbCBGaWxlV3JpdGVyIGZpbGVXcml0ZXIgPSBuZXcgRmlsZVdyaXRlcihyZXBvcnRGaWxlKTsKKyAgICAgICAgICAgICAgICBmaW5hbCBCdWZmZXJlZFdyaXRlciBidWZmZXJlZFdyaXRlciA9IG5ldyBCdWZmZXJlZFdyaXRlcihmaWxlV3JpdGVyKSkKKyAgICAgICAgeworICAgICAgICAgICAgcmVwb3J0V3JpdGVyLndyaXRlVG8oYnVmZmVyZWRXcml0ZXIsIGNvdmVyYWdlU3VtbWFyeSk7CisgICAgICAgIH0KKyAgICB9CisKK30KZGlmZiAtLWdpdCBhL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2UvcmVwb3J0ZXIvQ292ZXJhZ2VEYXRhLmphdmEgYi9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL3NyYy9vcmcvYXBhY2hlL2ZsZXgvdG9vbHMvY29kZWNvdmVyYWdlL3JlcG9ydGVyL0NvdmVyYWdlRGF0YS5qYXZhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRkZjI2MzIKLS0tIC9kZXYvbnVsbAorKysgYi9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL3NyYy9vcmcvYXBhY2hlL2ZsZXgvdG9vbHMvY29kZWNvdmVyYWdlL3JlcG9ydGVyL0NvdmVyYWdlRGF0YS5qYXZhCkBAIC0wLDAgKzEsMTEzIEBACisvKgorICoKKyAqICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyAqICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyAqICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgKiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAqICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICogIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICoKKyAqLworCitwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC50b29scy5jb2RlY292ZXJhZ2UucmVwb3J0ZXI7CisKK2ltcG9ydCBqYXZhLnV0aWwuSGFzaE1hcDsKK2ltcG9ydCBqYXZhLnV0aWwuSXRlcmF0b3I7CitpbXBvcnQgamF2YS51dGlsLk1hcDsKK2ltcG9ydCBqYXZhLnV0aWwuTWFwLkVudHJ5OworaW1wb3J0IGphdmEudXRpbC5TZXQ7CitpbXBvcnQgamF2YS51dGlsLlRyZWVNYXA7CisKKy8qKgorICogQ2xhc3MgdG8gcmVjb3JkIHRoZSBleGVjdXRpb24gZGF0YSBhcyB3ZWxsIHRoZSBhbGwgdGhlIGRlYnVnIGxpbmVzIHRoYXQgZXhpc3QKKyAqIGluIFNXRiBmaWxlLgorICogRWFjaCBsaW5lIG51bWJlciBpcyBhc3NvY2lhdGVkIHdpdGggbWV0aG9kLgorICovCitwdWJsaWMgY2xhc3MgQ292ZXJhZ2VEYXRhCit7CisgICAgLyoqCisgICAgICoga2V5ICAgPSBwYWNrYWdlO2ZpbGUKKyAgICAgKiB2YWx1ZSA9IE1hcDxsaW5lIG51bWJlciwgTGluZUluZm8+CisgICAgICovCisgICAgZmluYWwgTWFwPFN0cmluZywgTWFwPEludGVnZXIsIExpbmVJbmZvPj4gbGluZU1hcCA9CisgICAgICAgICAgICBuZXcgSGFzaE1hcDxTdHJpbmcsIE1hcDxJbnRlZ2VyLCBMaW5lSW5mbz4+KCk7CisgICAgSXRlcmF0b3I8TWFwPFN0cmluZywgTWFwPEludGVnZXIsIExpbmVJbmZvPj4+IGxpbmVNYXBJdGVyYXRvcjsKKyAgICAKKyAgICAvKioKKyAgICAgKiBBZGQgdGhlIGV4aXN0ZW5jZSBvZiBhIGxpbmUgdG8gdGhlIGNvdmVyYWdlIGRhdGEuCisgICAgICogCisgICAgICogQHBhcmFtIGZpbGUgVGhlIGZpbGUgdGhlIGxpbmUgbnVtYmVyIGlzIGluLgorICAgICAqIEBwYXJhbSBsaW5lTnVtYmVyIFRoZSBsaW5lIG51bWJlciBvZiB0aGUgbGluZQorICAgICAqIEBwYXJhbSBtZXRob2ROYW1lIFRoZSBuYW1lIG9mIHRoZSBtZXRob2QgdGhlIGxpbmUgaXMgaW4uCisgICAgICovCisgICAgcHVibGljIHZvaWQgYWRkTGluZShmaW5hbCBTdHJpbmcgZmlsZSwgZmluYWwgaW50IGxpbmVOdW1iZXIsCisgICAgICAgICAgICBmaW5hbCBTdHJpbmcgbWV0aG9kTmFtZSkKKyAgICB7CisgICAgICAgIGRvQWRkTGluZShmaWxlLCBsaW5lTnVtYmVyLCBtZXRob2ROYW1lKTsKKyAgICB9CisgICAgCisgICAgLyoqCisgICAgICogTWFyayBhIGxpbmUgbnVtYmVyIGFzIGJlaW5nIGV4ZWN1dGVkLgorICAgICAqIEBwYXJhbSBmaWxlIFRoZSBmaWxlLgorICAgICAqIEBwYXJhbSBsaW5lTnVtYmVyIFRoZSBsaW5lIG51bWJlciB0aGF0IHdhcyBleGVjdXRlZC4KKyAgICAgKi8KKyAgICBwdWJsaWMgdm9pZCBzZXRMaW5lRXhlY3V0ZWQoZmluYWwgU3RyaW5nIGZpbGUsIGZpbmFsIGludCBsaW5lTnVtYmVyKQorICAgIHsKKyAgICAgICAgTGluZUluZm8gbGluZUluZm8gPSBkb0FkZExpbmUoZmlsZSwgbGluZU51bWJlciwgbnVsbCk7CisgICAgICAgIGxpbmVJbmZvLnNldEV4ZWN1dGVkKHRydWUpOworICAgIH0KKyAgICAKKyAgICAvKioKKyAgICAgKiBHZXQgYSBsaXN0IG9mIGVudHJpZXMgaW4gdGhlIGNvdmVyYWdlIGRhdGEuCisgICAgICogCisgICAgICogQHJldHVybiBsaXN0IG9mIGVudHJpZXMgaW4gdGhlIGNvdmVyYWdlIGRhdGEuCisgICAgICovCisgICAgcHVibGljIFNldDxFbnRyeTxTdHJpbmcsIE1hcDxJbnRlZ2VyLCBMaW5lSW5mbz4+PiBlbnRyeVNldCgpCisgICAgeworICAgICAgICByZXR1cm4gbGluZU1hcC5lbnRyeVNldCgpOworICAgIH0KKworICAgIC8qKgorICAgICAqIEFkZCBhIGxpbmUgdG8gdGhlIGNvdmVyYWdlIGRhdGEuCisgICAgICogVGhpcyBsaW5lIGlzIHJlY29yZGVkIGFzIHVuZXhlY3V0ZWQuCisgICAgICogCisgICAgICogQHBhcmFtIGZpbGUgVGhlIGZpbGUgdGhlIGxpbmUgaXMgZm91bmQgaW4uCisgICAgICogQHBhcmFtIGxpbmVOdW1iZXIgVGhlIGxpbmUgbnVtYmVyLgorICAgICAqIEBwYXJhbSBtZXRob2ROYW1lIFRoZSBtZXRob2QgbmFtZS4KKyAgICAgKiBAcmV0dXJuIG5ldyBMaW5lSW5mbyBvYmplY3QKKyAgICAgKi8KKyAgICBwcml2YXRlIExpbmVJbmZvIGRvQWRkTGluZShmaW5hbCBTdHJpbmcgZmlsZSwgZmluYWwgaW50IGxpbmVOdW1iZXIsCisgICAgICAgICAgICBmaW5hbCBTdHJpbmcgbWV0aG9kTmFtZSkKKyAgICB7CisgICAgICAgIE1hcDxJbnRlZ2VyLCBMaW5lSW5mbz4gbGluZUluZm9NYXAgPSBsaW5lTWFwLmdldChmaWxlKTsKKyAgICAgICAgCisgICAgICAgIGlmIChsaW5lSW5mb01hcCA9PSBudWxsKQorICAgICAgICB7CisgICAgICAgICAgICBsaW5lSW5mb01hcCA9IG5ldyBUcmVlTWFwPEludGVnZXIsIExpbmVJbmZvPigpOworICAgICAgICAgICAgbGluZU1hcC5wdXQoZmlsZSwgbGluZUluZm9NYXApOworICAgICAgICB9CisKKyAgICAgICAgTGluZUluZm8gbGluZUluZm8gPSBsaW5lSW5mb01hcC5nZXQobGluZU51bWJlcik7CisgICAgICAgIAorICAgICAgICBpZiAobGluZUluZm8gPT0gbnVsbCkKKyAgICAgICAgeworICAgICAgICAgICAgbGluZUluZm8gPSBuZXcgTGluZUluZm8obWV0aG9kTmFtZSwgbGluZU51bWJlcik7CisgICAgICAgICAgICBsaW5lSW5mb01hcC5wdXQobGluZU51bWJlciwgbGluZUluZm8pOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKG1ldGhvZE5hbWUgIT0gbnVsbCAmJiBsaW5lSW5mby5nZXRNZXRob2ROYW1lKCkgPT0gbnVsbCkKKyAgICAgICAgeworICAgICAgICAgICAgbGluZUluZm8uc2V0TWV0aG9kTmFtZShtZXRob2ROYW1lKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgcmV0dXJuIGxpbmVJbmZvOworICAgIH0KKworfQpkaWZmIC0tZ2l0IGEvQ29kZUNvdmVyYWdlL0phdmFTZXJ2ZXIvamF2YS9zcmMvb3JnL2FwYWNoZS9mbGV4L3Rvb2xzL2NvZGVjb3ZlcmFnZS9yZXBvcnRlci9Db3ZlcmFnZVN1bW1hcnkuamF2YSBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2UvcmVwb3J0ZXIvQ292ZXJhZ2VTdW1tYXJ5LmphdmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGRmMDFhNgotLS0gL2Rldi9udWxsCisrKyBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2UvcmVwb3J0ZXIvQ292ZXJhZ2VTdW1tYXJ5LmphdmEKQEAgLTAsMCArMSw0MjMgQEAKKy8qDQorICoNCisgKiAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlDQorICogIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aA0KKyAqICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuDQorICogIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wDQorICogICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoDQorICogIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQorICoNCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KKyAqDQorICogIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCisgKiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCisgKiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQorICogIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCisgKiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQorICoNCisgKi8NCisNCitwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC50b29scy5jb2RlY292ZXJhZ2UucmVwb3J0ZXI7DQorDQoraW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7DQoraW1wb3J0IGphdmEudXRpbC5Db2xsZWN0aW9uOw0KK2ltcG9ydCBqYXZhLnV0aWwuSGFzaE1hcDsNCitpbXBvcnQgamF2YS51dGlsLk1hcDsNCitpbXBvcnQgamF2YS51dGlsLlNldDsNCitpbXBvcnQgamF2YS51dGlsLlRyZWVNYXA7DQoraW1wb3J0IGphdmEudXRpbC5UcmVlU2V0Ow0KK2ltcG9ydCBqYXZhLnV0aWwucmVnZXguTWF0Y2hlcjsNCitpbXBvcnQgamF2YS51dGlsLnJlZ2V4LlBhdHRlcm47DQorDQorLyoqDQorICogU3VtbWFyeSBvZiBjb2RlIGNvdmVyYWdlIGF0IHRoZSBwYWNrYWdlLCBmaWxlLCBhbmQgbWV0aG9kIGxldmVsLg0KKyAqDQorICovDQorcHVibGljIGNsYXNzIENvdmVyYWdlU3VtbWFyeQ0KK3sNCisgICAgLyoqDQorICAgICAqICBVc2VkIHRvIHJldHVybiB0aGUgcmVzdWx0cyBvZiBzcGxpdHRpbmcgdGhlIGRlYnVnZmlsZSBzdHJpbmcuIA0KKyAgICAgKi8NCisgICAgcHJpdmF0ZSBzdGF0aWMgY2xhc3MgRmlsZVBhdGhDb21wb25lbnRzDQorICAgIHsNCisgICAgICAgIHB1YmxpYyBTdHJpbmcgcGFja2FnZU5hbWU7DQorICAgICAgICBwdWJsaWMgU3RyaW5nIGZpbGVuYW1lOw0KKyAgICB9DQorICAgIA0KKyAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBUcmVlU2V0PFN0cmluZz4gZW1wdHlUcmVlU2V0ID0gbmV3IFRyZWVTZXQ8U3RyaW5nPigpOw0KKw0KKyAgICAvKioNCisgICAgICogVGhlIGNvdmVyYWdlIGRhdGEgYmVpbmcgc3VtbWFyaXplZC4NCisgICAgICovDQorICAgIHByaXZhdGUgZmluYWwgQ292ZXJhZ2VEYXRhIGNvdmVyYWdlRGF0YTsNCisgICAgDQorICAgIC8qKg0KKyAgICAgKiBDb21waWxlZCByZWdleCBwYXR0ZXJucyB0byBpbmNsdWRlIG9ubHkgc3BlY2lmaWMgZmlsZXMuIA0KKyAgICAgKi8NCisgICAgcHJpdmF0ZSBmaW5hbCBDb2xsZWN0aW9uPFBhdHRlcm4+IGluY2x1ZGVGaWx0ZXJQYXR0ZXJucyA9IG5ldyBBcnJheUxpc3Q8UGF0dGVybj4oKTsNCisgICAgDQorICAgIC8qKg0KKyAgICAgKiBDb21waWxlZCByZWdleCBwYXR0ZXJucyB0byBleGNsdWRlIG9ubHkgc3BlY2lmaWMgZmlsZXMuIA0KKyAgICAgKi8NCisgICAgcHJpdmF0ZSBmaW5hbCBDb2xsZWN0aW9uPFBhdHRlcm4+IGV4Y2x1ZGVGaWx0ZXJQYXR0ZXJucyA9IG5ldyBBcnJheUxpc3Q8UGF0dGVybj4oKTsNCisgICAgDQorICAgIC8qKg0KKyAgICAgKiBDb3ZlcmFnZSBzdW1tYXJ5IHJvbGxlZCB1cCB0byB0aGUgcGFja2FnZSBsZXZlbC4NCisgICAgICogDQorICAgICAqIEtleTogcGFja2FnZSBuYW1lDQorICAgICAqIFZhbHVlOiBQYWNrYWdlU3VtbWFyeUluZm8NCisgICAgICovDQorICAgIHByaXZhdGUgZmluYWwgTWFwPFN0cmluZywgUGFja2FnZVN1bW1hcnlJbmZvPiBwYWNrYWdlU3VtbWFyeU1hcCA9IA0KKyAgICAgICAgICAgIG5ldyBUcmVlTWFwPFN0cmluZywgUGFja2FnZVN1bW1hcnlJbmZvPigpOw0KKw0KKyAgICAvKioNCisgICAgICogQ292ZXJhZ2Ugc3VtbWFyeSByb2xsZWQgdXAgdG8gdGhlIGZpbGUgbGV2ZWwuDQorICAgICAqIA0KKyAgICAgKiBrZXk6IHBhY2thZ2U7ZmlsZQ0KKyAgICAgKiB2YWx1ZTogU3VtbWFyeUluZm8uDQorICAgICAqLw0KKyAgICBwcml2YXRlIGZpbmFsIE1hcDxTdHJpbmcsIFN1bW1hcnlJbmZvPiBmaWxlU3VtbWFyeU1hcCA9IA0KKyAgICAgICAgICAgIG5ldyBUcmVlTWFwPFN0cmluZywgU3VtbWFyeUluZm8+KCk7DQorICAgIA0KKyAgICAvKioNCisgICAgICogQ292ZXJhZ2Ugc3VtbWFyeSBmb3IgbWV0aG9kcy4NCisgICAgICogDQorICAgICAqIEtleTogbWV0aG9kIG5hbWUNCisgICAgICogVmFsdWU6IFN1bW1hcnlJbmZvDQorICAgICAqLw0KKyAgICBwcml2YXRlIGZpbmFsIE1hcDxTdHJpbmcsIFN1bW1hcnlJbmZvPiBtZXRob2RTdW1tYXJ5TWFwID0gDQorICAgICAgICAgICAgbmV3IFRyZWVNYXA8U3RyaW5nLCBTdW1tYXJ5SW5mbz4oKTsNCisgICAgDQorICAgIC8qKg0KKyAgICAgKiBTdW1tYXJ5IGluZm9ybWF0aW9uIGZvciBhbGwgcGFja2FnZXMgYmVpbmcgcmVwb3J0ZWQuDQorICAgICAqLw0KKyAgICBwcml2YXRlIGZpbmFsIFN1bW1hcnlJbmZvIG92ZXJhbGwgPSBuZXcgU3VtbWFyeUluZm8oKTsNCisgICAgDQorICAgIC8qKg0KKyAgICAgKiBBc3NvY2lhdGlvbiBvZiBtZXRob2RzIGluIGEgZmlsZS4NCisgICAgICogDQorICAgICAqIEtleTogcGFja2FnZTtmaWxlbmFtZQ0KKyAgICAgKiBWYWx1ZTogT3JkZXJlZCBzZXQgb2YgbWV0aG9kIG5hbWVzLg0KKyAgICAgKi8NCisgICAgcHJpdmF0ZSBmaW5hbCBNYXA8U3RyaW5nLCBUcmVlU2V0PFN0cmluZz4+IG1ldGhvZHNJbkZpbGUgPQ0KKyAgICAgICAgICAgIG5ldyBIYXNoTWFwPFN0cmluZywgVHJlZVNldDxTdHJpbmc+PigpOw0KKw0KKyAgICAvKioNCisgICAgICogQ3JlYXRlIGEgY292ZXJhZ2Ugc3VtbW1hcnkgb2JqZWN0LiBUaGUgY292ZXJhZ2Ugc3VtbWFyeSBvYmplY3QNCisgICAgICogY2FuIHByb2Nlc3MgdGhlIGNvdmVyYWdlIGRhdGEgYW5kIHByb3ZpZGUgY292ZXJhZ2UgZGF0YSBieSANCisgICAgICogcGFja2FnZSwgZmlsZSwgYW5kIG1ldGhvZC4NCisgICAgICogDQorICAgICAqIEBwYXJhbSBjb3ZlcmFnZURhdGEgdGhlIGNvdmVyYWdlIGRhdGEgdG8gZ2VuZXJhdGUgdGhlIHN1bW1hcnkgZnJvbS4NCisgICAgICogQHBhcmFtIGluY2x1ZGVGaWx0ZXJzIFJlZ2V4IGZpbHRlciBwYXR0ZXJucy4gQ29udHJvbHMgd2hpY2ggZmlsZXMNCisgICAgICogYXJlIGluY2x1ZGVkIGluIHRoZSBjb3ZlcmFnZSBzdW1tYXJ5Lg0KKyAgICAgKiBAcGFyYW0gZXhjbHVkZUZpbHRlcnMgUmVnZXggZmlsdGVyIHBhdHRlcm5zLiBDb250cm9scyB3aGljaCBmaWxlcw0KKyAgICAgKiBhcmUgZXhjbHVkZWQgaW4gdGhlIGNvdmVyYWdlIHN1bW1hcnkuDQorICAgICAqIA0KKyAgICAgKi8NCisgICAgcHVibGljIENvdmVyYWdlU3VtbWFyeShmaW5hbCBDb3ZlcmFnZURhdGEgY292ZXJhZ2VEYXRhLCANCisgICAgICAgICAgICBmaW5hbCBDb2xsZWN0aW9uPFN0cmluZz4gaW5jbHVkZUZpbHRlcnMsDQorICAgICAgICAgICAgZmluYWwgQ29sbGVjdGlvbjxTdHJpbmc+IGV4Y2x1ZGVGaWx0ZXJzKQ0KKyAgICB7DQorICAgICAgICB0aGlzLmNvdmVyYWdlRGF0YSA9IGNvdmVyYWdlRGF0YTsNCisgICAgICAgIA0KKyAgICAgICAgaW5pdGlhbGl6ZVBhdHRlcm5zKGluY2x1ZGVGaWx0ZXJzLCBleGNsdWRlRmlsdGVycyk7DQorICAgIH0NCisgICAgDQorICAgIC8qKg0KKyAgICAgKiBHZXQgdGhlIGNvdmVyYWdlIGRhdGEgdGhlIHN1bW1hcnkgaXMgZ2VuZXJhdGVkIGZyb20uDQorICAgICAqIEByZXR1cm4gdGhlIGNvdmVyYWdlIGRhdGEuDQorICAgICAqLw0KKyAgICBwdWJsaWMgQ292ZXJhZ2VEYXRhIGdldENvdmVyYWdlRGF0YSgpDQorICAgIHsNCisgICAgICAgIHJldHVybiBjb3ZlcmFnZURhdGE7DQorICAgIH0NCisNCisgICAgLyoqDQorICAgICAqIEdldCB0aGUgYWdncmVnYXRlIHN1bW1hcnkgaW5mbyBvZiBhbGwgdGhlIGluY2x1ZGVkIHBhY2thZ2VzLg0KKyAgICAgKiANCisgICAgICogQHJldHVybiBhZ2dyZWdhdGUgc3VtbWFyeSBpbmZvLg0KKyAgICAgKi8NCisgICAgcHVibGljIFN1bW1hcnlJbmZvIGdldE92ZXJhbGxTdW1tYXJ5SW5mbygpDQorICAgIHsNCisgICAgICAgIHJldHVybiBvdmVyYWxsOw0KKyAgICB9DQorICAgIA0KKyAgICAvKioNCisgICAgICogRW50cnkgc2V0IG9mIGFsbCBpbmNsdWRlZCBwYWNrYWdlcy4NCisgICAgICogDQorICAgICAqIEByZXR1cm4gU2V0IG9mIHBhY2thZ2VzIGluY2x1ZGVkIGluIHN1bW1hcnkgZGF0YS4NCisgICAgICovDQorICAgIHB1YmxpYyBTZXQ8TWFwLkVudHJ5PFN0cmluZywgUGFja2FnZVN1bW1hcnlJbmZvPj4gZ2V0UGFja2FnZVN1bW1hcnlFbnRyeVNldCgpDQorICAgIHsNCisgICAgICAgIHJldHVybiBwYWNrYWdlU3VtbWFyeU1hcC5lbnRyeVNldCgpOw0KKyAgICB9DQorICAgIA0KKyAgICAvKioNCisgICAgICogRW50cnkgc2V0IG9mIGFsbCBmaWxlcyBpbmNsdWRlZCBpbiB0aGUgc3VtbWFyeSBkYXRhLg0KKyAgICAgKiANCisgICAgICogQHJldHVybiBFbnRyeSBzZXQNCisgICAgICovDQorICAgIHB1YmxpYyBTZXQ8TWFwLkVudHJ5PFN0cmluZywgU3VtbWFyeUluZm8+PiBnZXRGaWxlU3VtbWFyeUVudHJ5U2V0KCkNCisgICAgew0KKyAgICAgICAgcmV0dXJuIGZpbGVTdW1tYXJ5TWFwLmVudHJ5U2V0KCk7DQorICAgIH0NCisNCisgICAgLyoqDQorICAgICAqIEdldCB0aGUgY292ZXJhZ2Ugc3VtbW1hcnkgaW5mbyBmb3IgYSBzcGVjaWZpYyBmaWxlLg0KKyAgICAgKiANCisgICAgICogQHBhcmFtIHBhY2thZ2VGaWxlS2V5IGtleSBmb3JtZWQgYnkgY2FsbGluZyBjcmVhdGVQYWNrYWdlRmlsZUtleSgpLg0KKyAgICAgKiBAcmV0dXJuIFN1bW1hcnlJbmZvIGZvciB0aGUgc3BlY2lmaWVkIGZpbGUgb3IgbnVsbCB0aGUgZmlsZSBpcw0KKyAgICAgKiBub3QgaW5jbHVkZWQgaW4gdGhlIHN1bW1hcnkgZGF0YS4NCisgICAgICovDQorICAgIHB1YmxpYyBTdW1tYXJ5SW5mbyBnZXRGaWxlU3VtbWFyeUluZm8oZmluYWwgU3RyaW5nIHBhY2thZ2VGaWxlS2V5KQ0KKyAgICB7DQorICAgICAgICByZXR1cm4gZmlsZVN1bW1hcnlNYXAuZ2V0KHBhY2thZ2VGaWxlS2V5KTsNCisgICAgfQ0KKw0KKyAgICAvKioNCisgICAgICogR2V0IHRoZSBzdW1tYXJ5IGluZm8gZm9yIGEgc3BlY2lmaWMgbWV0aG9kLg0KKyAgICAgKiANCisgICAgICogQHBhcmFtIG1ldGhvZE5hbWUgVGhlIG5hbWUgb2YgdGhlIG1ldGhvZCB0byBnZXQgdGhlIHN1bW1hcnkgaW5mbyBmb3IuDQorICAgICAqIEByZXR1cm4gU3VtbXlJbmZvIGZvciB0aGUgc3BlY2lmaWVkIG1ldGhvZCBvciBudWxsIGlmIHRoZSBtZXRob2QgaXMNCisgICAgICogbm90IGluY2x1ZGVkIGluIHRoZSBzdW1tYXJ5IGRhdGEuDQorICAgICAqLw0KKyAgICBwdWJsaWMgU3VtbWFyeUluZm8gZ2V0TWV0aG9kU3VtbWFyeUluZm8oU3RyaW5nIG1ldGhvZE5hbWUpDQorICAgIHsNCisgICAgICAgIHJldHVybiBtZXRob2RTdW1tYXJ5TWFwLmdldChtZXRob2ROYW1lKTsNCisgICAgfQ0KKyAgICANCisgICAgLyoqDQorICAgICAqIEEgc2V0IG9mIG1ldGhvZHMgZGVjbGFyZWQgaW4gdGhlIHNwZWNpZmllZCBmaWxlLg0KKyAgICAgKiANCisgICAgICogQHBhcmFtIGZpbGVuYW1lIFRoZSBuYW1lIG9mIHRoZSBBUyBvciBNWE1MIGZpbGUuDQorICAgICAqIEByZXR1cm4gU2V0IG9mIG1ldGhvZCBuYW1lcy4NCisgICAgICovDQorICAgIHB1YmxpYyBTZXQ8U3RyaW5nPiBnZXRNZXRob2RzSW5GaWxlKFN0cmluZyBmaWxlbmFtZSkNCisgICAgew0KKyAgICAgICAgVHJlZVNldDxTdHJpbmc+IHJlc3VsdHMgPSBtZXRob2RzSW5GaWxlLmdldChmaWxlbmFtZSk7DQorICAgICAgICByZXR1cm4gcmVzdWx0cyAhPSBudWxsID8gcmVzdWx0cyA6IGVtcHR5VHJlZVNldDsNCisgICAgfQ0KKyAgICANCisgICAgLyoqDQorICAgICAqIFJvbGwgdXAgdGhlIGNvdmVyYWdlIGRhdGEgYXQgYSBtZXRob2QsIGZpbGUsIGFuZCBwYWNrYWdlIGxldmVsLg0KKyAgICAgKiBJZiBpbmNsdWRlIGZpbHRlcnMgYW5kL29yIGV4Y2x1ZGUgZmlsdGVycyBhcmUgc3BlY2lmaWVkIHRoZW4NCisgICAgICogdGhleSBhcmUgYXBwbGllZCB0aGF0IHRoaXMgdGltZS4NCisgICAgICovDQorICAgIHB1YmxpYyB2b2lkIHByb2Nlc3NDb3ZlcmFnZURhdGEoKQ0KKyAgICB7DQorICAgICAgICAvLyBmb3IgYWxsIHBhY2thZ2VzO2ZpbGVzDQorICAgICAgICBmb3IgKE1hcC5FbnRyeTxTdHJpbmcsIE1hcDxJbnRlZ2VyLCBMaW5lSW5mbz4+IGZpbGVFbnRyeSA6IGNvdmVyYWdlRGF0YS5lbnRyeVNldCgpKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGZpbmFsIFN0cmluZyBwYWNrYWdlRmlsZSA9IGZpbGVFbnRyeS5nZXRLZXkoKTsNCisgICAgICAgICAgICBmaW5hbCBGaWxlUGF0aENvbXBvbmVudHMgZmlsZUNvbXBvbmVudHMgPSBzcGxpdFBhY2thZ2VGaWxlKHBhY2thZ2VGaWxlKTsNCisgICAgICAgICAgICBmaW5hbCBTdW1tYXJ5SW5mbyBzdW1tYXJ5SW5mbyA9IG5ldyBTdW1tYXJ5SW5mbygpOw0KKyAgICAgICAgICAgIHN1bW1hcnlJbmZvLnNldE5hbWUoZmlsZUNvbXBvbmVudHMuZmlsZW5hbWUpOw0KKyAgICAgICAgICAgIA0KKyAgICAgICAgICAgIC8vIGZvciBhbGwgbGluZSBudW1iZXJzOyANCisgICAgICAgICAgICAvLyAxLiBzdW1tYXJ5IGF0IHRoZSBmaWxlIGxldmVsDQorICAgICAgICAgICAgLy8gMi4gcmVjb3JkIGV4ZWN1dGlvbiBzdGF0dXMgZm9yIGVhY2ggbWV0aG9kLg0KKyAgICAgICAgICAgIGZvciAoZmluYWwgTWFwLkVudHJ5PEludGVnZXIsIExpbmVJbmZvPiBsaW5lRW50cnkgOiBmaWxlRW50cnkuZ2V0VmFsdWUoKS5lbnRyeVNldCgpKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgZmluYWwgTGluZUluZm8gbGluZUluZm8gPSBsaW5lRW50cnkuZ2V0VmFsdWUoKTsNCisgICAgICAgICAgICAgICAgZmluYWwgU3RyaW5nIG1ldGhvZE5hbWUgPSBsaW5lSW5mby5nZXRNZXRob2ROYW1lKCk7DQorICAgICAgICAgICAgICAgIA0KKyAgICAgICAgICAgICAgICBpZiAoIXNob3VsZEluY2x1ZGVGaWxlKGZpbGVDb21wb25lbnRzKSkNCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KKyAgICAgICAgICAgICAgICANCisgICAgICAgICAgICAgICAgc3VtbWFyeUluZm8uc2V0TGluZUV4ZWN1dGlvblN0YXR1cyhsaW5lSW5mby5nZXRMaW5lTnVtYmVyKCksDQorICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kTmFtZSwgbGluZUluZm8uaXNFeGVjdXRlZCgpKTsNCisNCisgICAgICAgICAgICAgICAgYWRkTWV0aG9kU3VtbWFyeUluZm8oZmlsZUNvbXBvbmVudHMucGFja2FnZU5hbWUsDQorICAgICAgICAgICAgICAgICAgICAgICAgZmlsZUNvbXBvbmVudHMuZmlsZW5hbWUsIG1ldGhvZE5hbWUsIGxpbmVJbmZvKTsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgYWRkRmlsZVN1bW1hcnlJbmZvKGZpbGVDb21wb25lbnRzLnBhY2thZ2VOYW1lLA0KKyAgICAgICAgICAgICAgICAgICAgZmlsZUNvbXBvbmVudHMuZmlsZW5hbWUsIHN1bW1hcnlJbmZvKTsNCisgICAgICAgIH0NCisgICAgfQ0KKyAgICANCisgICAgLyoqDQorICAgICAqIERldGVybWluZSBpZiBhIGZpbGUgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBzdW1tYXJ5Lg0KKyAgICAgKiBJZiBubyBpbmNsdWRlIGZpbHRlcnMgb3IgZXhjbHVkZSBmaWx0ZXJzIGFyZSBzcGVjaWZpZWQgdGhlbg0KKyAgICAgKiBhbGwgZmlsZXMgYXJlIGluY2x1ZGVkLg0KKyAgICAgKiANCisgICAgICogQHBhcmFtIHBhdGhDb21wb25lbnRzIFRoZSBwYWNrYWdlIGFuZCBmaWxlIG5hbWUgdG8gdGVzdC4NCisgICAgICogQHJldHVybiB0cnVlIGlmIHRoZSBwYWNrYWdlIHNob3VsZCBiZSBpbmNsdWRlZCwgZmFsc2Ugb3RoZXJ3aXNlLg0KKyAgICAgKi8NCisgICAgcHJpdmF0ZSBib29sZWFuIHNob3VsZEluY2x1ZGVGaWxlKGZpbmFsIEZpbGVQYXRoQ29tcG9uZW50cyBwYXRoQ29tcG9uZW50cykNCisgICAgew0KKyAgICAgICAgU3RyaW5nIGNsYXNzTmFtZSA9IHBhdGhDb21wb25lbnRzLnBhY2thZ2VOYW1lICsgIi4iICsgcGF0aENvbXBvbmVudHMuZmlsZW5hbWU7DQorICAgICAgICBmaW5hbCBpbnQgaW5kZXggPSBjbGFzc05hbWUubGFzdEluZGV4T2YoJy4nKTsNCisgICAgICAgIA0KKyAgICAgICAgYXNzZXJ0IGluZGV4ICE9IC0xIDogIm5vIHN1ZmZpeCBmb3VuZCBvbiBmaWxlbmFtZSI7DQorICAgICAgICANCisgICAgICAgIGNsYXNzTmFtZSA9IGNsYXNzTmFtZS5zdWJzdHJpbmcoMCwgaW5kZXgpOw0KKyAgICAgICAgDQorICAgICAgICAvLyBhIGNsYXNzIG5hbWUgaXMgaW5jbHVkZWQgaWYgaXQgaXMgaW5jbHVkZWQgYnkgdGhlIHBhdHRlcm4NCisgICAgICAgIC8vIGFuZCBub3QgZXhjbHVkZSBieSB0aGUgZXhjbHVkZSBmaWx0ZXJzLg0KKyAgICAgICAgaWYgKCEoaW5jbHVkZUZpbHRlclBhdHRlcm5zLnNpemUoKSA9PSAwKSAmJiANCisgICAgICAgICAgICAhbWF0Y2hlcyhpbmNsdWRlRmlsdGVyUGF0dGVybnMsIGNsYXNzTmFtZSkpDQorICAgICAgICB7DQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KKyAgICAgICAgfQ0KKyAgICAgICAgDQorICAgICAgICBpZiAoIShleGNsdWRlRmlsdGVyUGF0dGVybnMuc2l6ZSgpID09IDApICYmDQorICAgICAgICAgICAgbWF0Y2hlcyhleGNsdWRlRmlsdGVyUGF0dGVybnMsIGNsYXNzTmFtZSkpDQorICAgICAgICB7DQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KKyAgICAgICAgfQ0KKyAgICAgICAgDQorICAgICAgICByZXR1cm4gdHJ1ZTsNCisgICAgfQ0KKw0KKyAgICAvKioNCisgICAgICogVXRpbGl0eSB0byB0ZXN0IGlzIGEgc3RyaW5nIG1hdGNoZXMgb25lIG9mIGEgc2V0IG9mIHBhdHRlcm5zLg0KKyAgICAgKiANCisgICAgICogQHBhcmFtIHBhdHRlcm5zIENvbGxlY3Rpb24gb2YgcGF0dGVybnMNCisgICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBtYXRjaA0KKyAgICAgKiBAcmV0dXJuIHRydWUgaWYgdGhlIHBhdHRlcm4gbWF0Y2hlcywgZmFsc2Ugb3RoZXJ3aXNlLg0KKyAgICAgKi8NCisgICAgcHJpdmF0ZSBib29sZWFuIG1hdGNoZXMoZmluYWwgQ29sbGVjdGlvbjxQYXR0ZXJuPiBwYXR0ZXJucywgZmluYWwgU3RyaW5nIHZhbHVlKQ0KKyAgICB7DQorICAgICAgICBmb3IgKFBhdHRlcm4gcGF0dGVybiA6IHBhdHRlcm5zKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIE1hdGNoZXIgbWF0Y2hlciA9IHBhdHRlcm4ubWF0Y2hlcih2YWx1ZSk7DQorICAgICAgICAgICAgaWYgKG1hdGNoZXIubWF0Y2hlcygpKQ0KKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCisgICAgICAgIH0NCisNCisgICAgICAgIHJldHVybiBmYWxzZTsNCisgICAgfQ0KKyAgICANCisgICAgLyoqDQorICAgICAqIENyZWF0ZSBhIGNvbWJpbmF0aW9uIHBhY2thZ2UvZmlsZSBrZXkuDQorICAgICAqIA0KKyAgICAgKiBAcGFyYW0gcGFja2FnZU5hbWUgVGhlIHBhY2thZ2UgbmFtZSBwYXJ0IG9mIHRoZSBrZXkuDQorICAgICAqIEBwYXJhbSBmaWxlbmFtZSBUSGUgZmlsZW5hbWUgcGFydCBvZiB0aGUga2V5Lg0KKyAgICAgKiBAcmV0dXJuIEtleSBmb3IgdGhlIHBhY2thZ2UvZmlsZS4NCisgICAgICovDQorICAgIHB1YmxpYyBTdHJpbmcgY3JlYXRlUGFja2FnZUZpbGVLZXkoZmluYWwgU3RyaW5nIHBhY2thZ2VOYW1lLCBmaW5hbCBTdHJpbmcgZmlsZW5hbWUpDQorICAgIHsNCisgICAgICAgIHJldHVybiBwYWNrYWdlTmFtZSArICI7IiArIGZpbGVuYW1lOw0KKyAgICB9DQorDQorICAgIC8qKg0KKyAgICAgKiBTcGxpdCBhIHNvdXJjZVBhdGg7cGFja2FnZS9maWxlIHN0cmluZy4gVGhlc2Ugc3RyaW5nIGNvbWUgZnJvbSB0aGUgDQorICAgICAqIEFTIGRlYnVnX2ZpbGUgb3Bjb2RlcyBhbmQgYXJlIGluIHRoZSBjb2RlIGNvdmVyYWdlIGRhdGEgZmlsZXMuDQorICAgICAqIA0KKyAgICAgKiBAcGFyYW0gcGFja2FnZUZpbGUgVGhlIHN0cmluZyB0byBzcGxpdCBpbnRvIGNvbXBvbmVudHMuDQorICAgICAqIEByZXR1cm4gRmlsZVBhdGhDb21wb25lbnRzDQorICAgICAqLw0KKyAgICBwcml2YXRlIEZpbGVQYXRoQ29tcG9uZW50cyBzcGxpdFBhY2thZ2VGaWxlKGZpbmFsIFN0cmluZyBwYWNrYWdlRmlsZSkNCisgICAgew0KKyAgICAgICAgZmluYWwgU3RyaW5nW10gc3BsaXRSZXN1bHRzID0gcGFja2FnZUZpbGUuc3BsaXQoIjsiKTsNCisgICAgICAgIFN0cmluZyBwYWNrYWdlTmFtZSA9IHNwbGl0UmVzdWx0cy5sZW5ndGggPiAxID8gDQorICAgICAgICAgICAgICAgIHNwbGl0UmVzdWx0c1tzcGxpdFJlc3VsdHMubGVuZ3RoIC0gMl0gOiAiIjsNCisgICAgICAgIGZpbmFsIFN0cmluZyBmaWxlbmFtZSA9IHNwbGl0UmVzdWx0c1tzcGxpdFJlc3VsdHMubGVuZ3RoIC0gMV07DQorICAgICAgICANCisgICAgICAgIC8vIGNvbnZlcnQgJ1wnIGFuZCAnLycgcGF0aCBzZXBhcmF0b3JzIHRvICcuJyBwYWNrYWdlIHNlcGFyYXRvcnMuDQorICAgICAgICBpZiAocGFja2FnZU5hbWUubGVuZ3RoKCkgPiAwKQ0KKyAgICAgICAgICAgIHBhY2thZ2VOYW1lID0gcGFja2FnZU5hbWUucmVwbGFjZUFsbCgiW1xcXFwvXSIsICIuIik7DQorICAgICAgICANCisgICAgICAgIGZpbmFsIEZpbGVQYXRoQ29tcG9uZW50cyByZXN1bHRzID0gbmV3IEZpbGVQYXRoQ29tcG9uZW50cygpOw0KKyAgICAgICAgcmVzdWx0cy5wYWNrYWdlTmFtZSA9IHBhY2thZ2VOYW1lOw0KKyAgICAgICAgcmVzdWx0cy5maWxlbmFtZSA9IGZpbGVuYW1lOw0KKyAgICAgICAgDQorICAgICAgICByZXR1cm4gcmVzdWx0czsNCisgICAgfQ0KKw0KKyAgICAvKioNCisgICAgICogQWdncmVnYXRlIHN1bW1hcnkgaW5mb3JtYXRpb24gZm9yIGEgZmlsZS4NCisgICAgICogDQorICAgICAqIFRoaXMgbWV0aG9kIHRha2VzIHN1bW1hcnkgaW5mb3JtYXRpb24gZm9yIGEgZmlsZQ0KKyAgICAgKiBhbmQgYWdncmVnYXRlcyB0aGVtIGF0IHRoZSBmaWxlLCBwYWNrYWdlLCBhbmQgb3ZlcmFsbCBjb3ZlcmFnZS4NCisgICAgICogDQorICAgICAqIEBwYXJhbSBwYWNrYWdlTmFtZSBQYWNrYWdlIG5hbWUgdGhlIHN1bW1hcnkgaW5mbyBpcyBmb3IuDQorICAgICAqIEBwYXJhbSBmaWxlbmFtZSBUaGUgZmlsZSBuYW1lIHRoZSBzdW1tYXJ5IGluZm8gaXMgZm9yLg0KKyAgICAgKiBAcGFyYW0gc3VtbWFyeUluZm8gVGhlIHN1bW1hcnkgaW5mbyB0byBhZ2dyZWdhdGUuDQorICAgICAqLw0KKyAgICBwcml2YXRlIHZvaWQgYWRkRmlsZVN1bW1hcnlJbmZvKGZpbmFsIFN0cmluZyBwYWNrYWdlTmFtZSwgZmluYWwgU3RyaW5nIGZpbGVuYW1lLCANCisgICAgICAgICAgICBmaW5hbCBTdW1tYXJ5SW5mbyBzdW1tYXJ5SW5mbykNCisgICAgew0KKyAgICAgICAgaWYgKHN1bW1hcnlJbmZvLmdldFRvdGFsTGluZUNvdW50KCkgPT0gMCkNCisgICAgICAgICAgICByZXR1cm47DQorICAgICAgICANCisgICAgICAgIC8vIHN1bW1hcml6ZSBhdCB0aGUgcGFja2FnZSBsZXZlbA0KKyAgICAgICAgZmlsZVN1bW1hcnlNYXAucHV0KGNyZWF0ZVBhY2thZ2VGaWxlS2V5KHBhY2thZ2VOYW1lLCBmaWxlbmFtZSksIHN1bW1hcnlJbmZvKTsNCisgICAgICAgIFBhY2thZ2VTdW1tYXJ5SW5mbyBwYWNrYWdlU3VtbWFyeUluZm8gPSBwYWNrYWdlU3VtbWFyeU1hcC5nZXQocGFja2FnZU5hbWUpOw0KKyAgICAgICAgaWYgKHBhY2thZ2VTdW1tYXJ5SW5mbyA9PSBudWxsKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHBhY2thZ2VTdW1tYXJ5SW5mbyA9IG5ldyBQYWNrYWdlU3VtbWFyeUluZm8oKTsNCisgICAgICAgICAgICBwYWNrYWdlU3VtbWFyeUluZm8uZ2V0U3VtbWFyeUluZm8oKS5zZXROYW1lKHBhY2thZ2VOYW1lKTsNCisgICAgICAgICAgICBwYWNrYWdlU3VtbWFyeU1hcC5wdXQocGFja2FnZU5hbWUsIHBhY2thZ2VTdW1tYXJ5SW5mbyk7DQorICAgICAgICB9DQorDQorICAgICAgICBwYWNrYWdlU3VtbWFyeUluZm8uYWRkRmlsZShwYWNrYWdlTmFtZSwgZmlsZW5hbWUpOw0KKyAgICAgICAgcGFja2FnZVN1bW1hcnlJbmZvLmFkZChzdW1tYXJ5SW5mbyk7DQorICAgICAgICANCisgICAgICAgIC8vIHN1bW1hcnkgb2YgYWxsIG9mIHRoZSBwYWNrYWdlcw0KKyAgICAgICAgb3ZlcmFsbC5hZGQoc3VtbWFyeUluZm8pOw0KKyAgICB9DQorICAgIA0KKyAgICAvKioNCisgICAgICogQWRkIGxpbmUgY292ZXJhZ2UgaW5mb3JtYXRpb24gYWJvdXQgYSBtZXRob2QuDQorICAgICAqIA0KKyAgICAgKiBUaGlzIG1ldGhvZCBhZ2dyZWdhdGVzIHRoZSBsaW5lIGNvdmVyYWdlIGluZm9ybWF0aW9uIGZvciBhIG1ldGhvZC4NCisgICAgICogDQorICAgICAqIEBwYXJhbSBwYWNrYWdlTmFtZSBUaGUgbmFtZSBvZiB0aGUgcGFja2FnZSB0aGUgbGluZSBpbmZvIGlzIGZyb20uDQorICAgICAqIEBwYXJhbSBmaWxlbmFtZSBUaGUgbmFtZSBvZiB0aGUgZmlsZSB0aGUgbGluZSBpbmZvIGlzIGZyb20uDQorICAgICAqIEBwYXJhbSBtZXRob2ROYW1lIFRoZSBuYW1lIG9mIHRoZSBtZXRob2QgdGhlIGxpbmUgaW5mbyBpcyBmcm9tLg0KKyAgICAgKiBAcGFyYW0gbGluZUluZm8gVGhlIGxpbmUgaW5mby4NCisgICAgICovDQorICAgIHByaXZhdGUgdm9pZCBhZGRNZXRob2RTdW1tYXJ5SW5mbyhmaW5hbCBTdHJpbmcgcGFja2FnZU5hbWUsIGZpbmFsIFN0cmluZyBmaWxlbmFtZSwgDQorICAgICAgICAgICAgZmluYWwgU3RyaW5nIG1ldGhvZE5hbWUsIGZpbmFsIExpbmVJbmZvIGxpbmVJbmZvKQ0KKyAgICB7DQorICAgICAgICAvLyBpZ25vcmUgY2luaXQgYW5kIHNjcmlwdCBpbml0IG1ldGhvZHMuDQorICAgICAgICBpZiAobWV0aG9kTmFtZSA9PSBudWxsIHx8IG1ldGhvZE5hbWUuaXNFbXB0eSgpKQ0KKyAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgIA0KKyAgICAgICAgLy8gbWV0aG9kIHN1bW1hcnkgaW5mbw0KKyAgICAgICAgU3VtbWFyeUluZm8gbWV0aG9kU3VtbWFyeUluZm8gPSBtZXRob2RTdW1tYXJ5TWFwLmdldChtZXRob2ROYW1lKTsNCisgICAgICAgIGlmIChtZXRob2RTdW1tYXJ5SW5mbyA9PSBudWxsKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIG1ldGhvZFN1bW1hcnlJbmZvID0gbmV3IFN1bW1hcnlJbmZvKCk7DQorICAgICAgICAgICAgbWV0aG9kU3VtbWFyeUluZm8uc2V0TmFtZShtZXRob2ROYW1lKTsNCisgICAgICAgICAgICBtZXRob2RTdW1tYXJ5TWFwLnB1dChtZXRob2ROYW1lLCBtZXRob2RTdW1tYXJ5SW5mbyk7DQorDQorICAgICAgICAgICAgZmluYWwgU3RyaW5nIGtleSA9IGNyZWF0ZVBhY2thZ2VGaWxlS2V5KHBhY2thZ2VOYW1lLCBmaWxlbmFtZSk7DQorICAgICAgICAgICAgVHJlZVNldDxTdHJpbmc+IHRyZWVTZXQgPSBtZXRob2RzSW5GaWxlLmdldChrZXkpOw0KKyAgICAgICAgICAgIGlmICh0cmVlU2V0ID09IG51bGwpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICB0cmVlU2V0ID0gbmV3IFRyZWVTZXQ8U3RyaW5nPigpOw0KKyAgICAgICAgICAgICAgICB0cmVlU2V0LmFkZChtZXRob2ROYW1lKTsNCisgICAgICAgICAgICAgICAgbWV0aG9kc0luRmlsZS5wdXQoa2V5LCB0cmVlU2V0KTsgICAgICAgICAgICAgICAgDQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIA0KKyAgICAgICAgICAgIHRyZWVTZXQuYWRkKG1ldGhvZE5hbWUpOw0KKyAgICAgICAgfQ0KKyAgICAgICAgDQorICAgICAgICBtZXRob2RTdW1tYXJ5SW5mby5zZXRMaW5lRXhlY3V0aW9uU3RhdHVzKGxpbmVJbmZvLmdldExpbmVOdW1iZXIoKSwNCisgICAgICAgICAgICAgICAgbWV0aG9kTmFtZSwgbGluZUluZm8uaXNFeGVjdXRlZCgpKTsNCisgICAgfQ0KKw0KKyAgICAvKioNCisgICAgICogSW5pdGlhbGl6ZSB0aGUgcGF0dGVybnMgZm9yIHRoZSBpbmNsdWRlIGFuZCBleGNsdWRlIGZpbHRlcnMuDQorICAgICAqIA0KKyAgICAgKiBAcGFyYW0gaW5jbHVkZUZpbHRlcnMgcmVnZXggc3RyaW5ncyBvZiBjbGFzc2VzIHRvIGluY2x1ZGUuDQorICAgICAqIEBwYXJhbSBleGNsdWRlRmlsdGVycyByZWdleCBzdHJpbmdzIG9mIGNsYXNzZXMgdG8gZXhjbHVkZS4NCisgICAgICovDQorICAgIHByaXZhdGUgdm9pZCBpbml0aWFsaXplUGF0dGVybnMoZmluYWwgQ29sbGVjdGlvbjxTdHJpbmc+IGluY2x1ZGVGaWx0ZXJzLCANCisgICAgICAgICAgICBmaW5hbCBDb2xsZWN0aW9uPFN0cmluZz5leGNsdWRlRmlsdGVycykNCisgICAgew0KKyAgICAgICAgZm9yIChmaW5hbCBTdHJpbmcgaW5jbHVkZUZpbHRlciA6IGluY2x1ZGVGaWx0ZXJzKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGluY2x1ZGVGaWx0ZXJQYXR0ZXJucy5hZGQoUGF0dGVybi5jb21waWxlKGluY2x1ZGVGaWx0ZXIpKTsNCisgICAgICAgIH0NCisNCisgICAgICAgIGZvciAoZmluYWwgU3RyaW5nIGV4Y2x1ZGVGaWx0ZXIgOiBleGNsdWRlRmlsdGVycykNCisgICAgICAgIHsNCisgICAgICAgICAgICBleGNsdWRlRmlsdGVyUGF0dGVybnMuYWRkKFBhdHRlcm4uY29tcGlsZShleGNsdWRlRmlsdGVyKSk7DQorICAgICAgICB9DQorICAgIH0NCisgICAgDQorfQ0KZGlmZiAtLWdpdCBhL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2UvcmVwb3J0ZXIvTGluZUluZm8uamF2YSBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2UvcmVwb3J0ZXIvTGluZUluZm8uamF2YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xYzIyZTkzCi0tLSAvZGV2L251bGwKKysrIGIvQ29kZUNvdmVyYWdlL0phdmFTZXJ2ZXIvamF2YS9zcmMvb3JnL2FwYWNoZS9mbGV4L3Rvb2xzL2NvZGVjb3ZlcmFnZS9yZXBvcnRlci9MaW5lSW5mby5qYXZhCkBAIC0wLDAgKzEsMTA3IEBACisvKgorICoKKyAqICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyAqICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyAqICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgKiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAqICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICogIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICoKKyAqLworCitwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC50b29scy5jb2RlY292ZXJhZ2UucmVwb3J0ZXI7CisKKy8qKgorICogU2ltcGxlIHZhbHVlIGNsYXNzIHRoYXQgY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgYSBsaW5lIG51bWJlciBpbiBhIHNvdXJjZQorICogZmlsZS4KKyAqIAorICogVHJhY2tzOgorICogMS4gdGhlIGxpbmUgbnVtYmVyIG9mIHRoaXMgbGluZQorICogMi4gaWYgdGhlIGxpbmUgd2FzIGV4ZWN1dGVkIG9yIG5vdAorICogMy4gdGhlIG5hbWUgb2YgdGhlIG1ldGhvZCB0aGUgbGluZSBpcyBpbi4KKyAqLworcHVibGljIGNsYXNzIExpbmVJbmZvIAoreworICAgIHByaXZhdGUgaW50IGxpbmVOdW1iZXI7CisgICAgcHJpdmF0ZSBib29sZWFuIGV4ZWN1dGVkOworICAgIHByaXZhdGUgU3RyaW5nIG1ldGhvZE5hbWU7CisKKyAgICAvKioKKyAgICAgKiBDcmVhdGUgYW4gaW5zdGFuY2Ugb2YgTGluZUluZm8uCisgICAgICogCisgICAgICogQHBhcmFtIG1ldGhvZE5hbWUgVGhlIG5hbWUgb2YgdGhlIG1ldGhvZC4KKyAgICAgKiBAcGFyYW0gbGluZU51bWJlciBUaGUgc291cmNlIGxpbmUgbnVtYmVyLiAKKyAgICAgKi8KKyAgICBwdWJsaWMgTGluZUluZm8oZmluYWwgU3RyaW5nIG1ldGhvZE5hbWUsIGZpbmFsIGludCBsaW5lTnVtYmVyKQorICAgIHsKKyAgICAgICAgdGhpcy5tZXRob2ROYW1lID0gbWV0aG9kTmFtZTsKKyAgICAgICAgdGhpcy5saW5lTnVtYmVyID0gbGluZU51bWJlcjsKKyAgICB9CisKKyAgICAvKioKKyAgICAgKiBUaGUgc291cmNlIGxpbmUgbnVtYmVyIG9mIHRoaXMgbGluZS4KKyAgICAgKiBAcmV0dXJuIHRoZSBsaW5lIG51bWJlcgorICAgICAqLworICAgIHB1YmxpYyBpbnQgZ2V0TGluZU51bWJlcigpCisgICAgeworICAgICAgICByZXR1cm4gbGluZU51bWJlcjsKKyAgICB9CisgICAgCisgICAgLyoqCisgICAgICogU2V0IHRoZSBzb3VyY2UgbGluZSBudW1iZXIgb2YgdGhpcyBsaW5lLgorICAgICAqIAorICAgICAqIEBwYXJhbSBsaW5lTnVtYmVyCisgICAgICovCisgICAgcHVibGljIHZvaWQgc2V0TGluZU51bWJlcihmaW5hbCBpbnQgbGluZU51bWJlcikKKyAgICB7CisgICAgICAgIHRoaXMubGluZU51bWJlciA9IGxpbmVOdW1iZXI7CisgICAgfQorICAgIAorICAgIC8qKgorICAgICAqIEhhcyB0aGUgbGluZSBiZWVuIGV4ZWN1dGVkPworICAgICAqIAorICAgICAqIEByZXR1cm4gdHJ1ZSBpZiB0aGUgbGluZSBoYXMgYmVlbiBleGVjdXRlZCwgZmFsc2Ugb3RoZXJ3aXNlLgorICAgICAqLworICAgIHB1YmxpYyBib29sZWFuIGlzRXhlY3V0ZWQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGV4ZWN1dGVkOworICAgIH0KKyAgICAKKyAgICAvKioKKyAgICAgKiBTZXQgdGhlIGxpbmUgbnVtYmVyIGFzIGJlaW5nIGV4ZWN1dGVkLgorICAgICAqIAorICAgICAqIEBwYXJhbSBleGVjdXRlZCB0cnVlIGlmIHRoZSBsaW5lIGhhcyBiZWVuIGhpdCwgZmFsc2Ugb3RoZXJ3aXNlLgorICAgICAqLworICAgIHB1YmxpYyB2b2lkIHNldEV4ZWN1dGVkKGZpbmFsIGJvb2xlYW4gZXhlY3V0ZWQpCisgICAgeworICAgICAgICB0aGlzLmV4ZWN1dGVkID0gZXhlY3V0ZWQ7CisgICAgfQorICAgIAorICAgIC8qKgorICAgICAqIFRoZSBtZXRob2QgbmFtZSBjb250YWluaW5nIHRoaXMgbGluZS4KKyAgICAgKiAKKyAgICAgKiBAcmV0dXJuIFRoZSBtZXRob2QgbmFtZSBvciBhbiBlbXB0eSBzdHJpbmcgaWYgbm8gbWV0aG9kIG5hbWUgaXMgc2V0LgorICAgICAqLworICAgIHB1YmxpYyBTdHJpbmcgZ2V0TWV0aG9kTmFtZSgpCisgICAgeworICAgICAgICByZXR1cm4gbWV0aG9kTmFtZSAhPSBudWxsID8gbWV0aG9kTmFtZSA6ICIiOworICAgIH0KKyAgICAKKyAgICAvKioKKyAgICAgKiBTZXQgdGhlIG1ldGhvZCBuYW1lIHRoaXMgbGluZSBpcyBjb250YWluZWQgaW4uCisgICAgICogCisgICAgICogQHBhcmFtIG1ldGhvZE5hbWUKKyAgICAgKi8KKyAgICBwdWJsaWMgdm9pZCBzZXRNZXRob2ROYW1lKGZpbmFsIFN0cmluZyBtZXRob2ROYW1lKQorICAgIHsKKyAgICAgICAgdGhpcy5tZXRob2ROYW1lID0gbWV0aG9kTmFtZTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL3NyYy9vcmcvYXBhY2hlL2ZsZXgvdG9vbHMvY29kZWNvdmVyYWdlL3JlcG9ydGVyL1BhY2thZ2VTdW1tYXJ5SW5mby5qYXZhIGIvQ29kZUNvdmVyYWdlL0phdmFTZXJ2ZXIvamF2YS9zcmMvb3JnL2FwYWNoZS9mbGV4L3Rvb2xzL2NvZGVjb3ZlcmFnZS9yZXBvcnRlci9QYWNrYWdlU3VtbWFyeUluZm8uamF2YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZTFmY2RjCi0tLSAvZGV2L251bGwKKysrIGIvQ29kZUNvdmVyYWdlL0phdmFTZXJ2ZXIvamF2YS9zcmMvb3JnL2FwYWNoZS9mbGV4L3Rvb2xzL2NvZGVjb3ZlcmFnZS9yZXBvcnRlci9QYWNrYWdlU3VtbWFyeUluZm8uamF2YQpAQCAtMCwwICsxLDc3IEBACisvKg0KKyAqDQorICogIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQ0KKyAqICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgNCisgKiAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLg0KKyAqICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMA0KKyAqICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aA0KKyAqICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KKyAqDQorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCisgKg0KKyAqICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQorICogIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQorICogIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KKyAqICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQorICogIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KKyAqDQorICovDQorDQorcGFja2FnZSBvcmcuYXBhY2hlLmZsZXgudG9vbHMuY29kZWNvdmVyYWdlLnJlcG9ydGVyOw0KKw0KK2ltcG9ydCBqYXZhLnV0aWwuU2V0Ow0KK2ltcG9ydCBqYXZhLnV0aWwuVHJlZVNldDsNCisNCisvKioNCisgKiAgU3VtbWFyeSBvZiBhIHBhY2thZ2UncyBjb3ZlcmFnZSBpbmZvcm1hdGlvbi4NCisgKiAgQ29udGFpbnMgY292ZXJhZ2Ugc3VtbWFyeSBvZiBhbGwgb2YgdGhlIGZpbGVzIGluIHRoZSBwYWNrYWdlLg0KKyAqLw0KK3B1YmxpYyBjbGFzcyBQYWNrYWdlU3VtbWFyeUluZm8NCit7DQorICAgIHByaXZhdGUgU2V0PFN0cmluZz4gZmlsZXNJblBhY2thZ2UgPSBuZXcgVHJlZVNldDxTdHJpbmc+KCk7DQorICAgIHByaXZhdGUgU3VtbWFyeUluZm8gc3VtbWFyeUluZm8gPSBuZXcgU3VtbWFyeUluZm8oKTsNCisgICAgDQorICAgIC8qKg0KKyAgICAgKiBTZXQgb2YgZmlsZXMgaW4gYSBwYWNrYWdlLg0KKyAgICAgKiANCisgICAgICogQHJldHVybiBUaGUgc2V0IGZpbGVzIGluIHRoZSBwYWNrYWdlLiBFYWNoIGl0ZW0gaW4gdGhlDQorICAgICAqIHNldCBpcyBhIGNvbWJpbmVkIHBhY2thZ2UgbmFtZS9maWxlbmFtZSBpbiB0aGUgZm9sbG93aW5nDQorICAgICAqIGZvcm1hdDogInBhY2thZ2VOYW1lO2ZpbGVuYW1lIi4NCisgICAgICovDQorICAgIHB1YmxpYyBTZXQ8U3RyaW5nPiBnZXRGaWxlc0luUGFja2FnZSgpDQorICAgIHsNCisgICAgICAgIHJldHVybiBmaWxlc0luUGFja2FnZTsNCisgICAgfQ0KKw0KKyAgICAvKioNCisgICAgICogQWRkIGEgZmlsZSB0byB0aGlzIHBhY2thZ2Ugc3VtbWFyeSBpbmZvLg0KKyAgICAgKiANCisgICAgICogQHBhcmFtIHBhY2thZ2VOYW1lIFRoZSBwYWNrYWdlIG5hbWUgdG8gYWRkIHRoZSBzdW1tYXJ5IGluZm8gdG8uDQorICAgICAqIEBwYXJhbSBmaWxlbmFtZSBUaGUgbmFtZSBvZiBmaWxlIHRvIGFkZCB0byB0aGUgcGFja2FnZS4NCisgICAgICovDQorICAgIHB1YmxpYyB2b2lkIGFkZEZpbGUoZmluYWwgU3RyaW5nIHBhY2thZ2VOYW1lLCBmaW5hbCBTdHJpbmcgZmlsZW5hbWUpDQorICAgIHsNCisgICAgICAgIGZpbGVzSW5QYWNrYWdlLmFkZChwYWNrYWdlTmFtZSArICI7IiArIGZpbGVuYW1lKTsNCisgICAgfQ0KKyAgICANCisgICAgLyoqDQorICAgICAqIFRoZSByb2xsZWQgdXAgc3VtbWFyeSBpbmZvIGZvciBhIHBhY2thZ2UuDQorICAgICAqIA0KKyAgICAgKiBAcmV0dXJuIFN1bW1hcnlJbmZvDQorICAgICAqLw0KKyAgICBwdWJsaWMgU3VtbWFyeUluZm8gZ2V0U3VtbWFyeUluZm8oKQ0KKyAgICB7DQorICAgICAgICByZXR1cm4gc3VtbWFyeUluZm87DQorICAgIH0NCisgICAgDQorICAgIC8qKg0KKyAgICAgKiBBZ2dyZWdhdGUgc3VtbWFyeSBpbmZvIHRvIHRoaXMgcGFja2FnZS4NCisgICAgICogDQorICAgICAqIEBwYXJhbSBpbmZvIFRoZSBzdW1tYXJ5IGluZm8uDQorICAgICAqLw0KKyAgICBwdWJsaWMgdm9pZCBhZGQoZmluYWwgU3VtbWFyeUluZm8gaW5mbykNCisgICAgew0KKyAgICAgICAgc3VtbWFyeUluZm8uYWRkKGluZm8pOw0KKyAgICB9DQorICAgIA0KK30NCmRpZmYgLS1naXQgYS9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL3NyYy9vcmcvYXBhY2hlL2ZsZXgvdG9vbHMvY29kZWNvdmVyYWdlL3JlcG9ydGVyL1N1bW1hcnlJbmZvLmphdmEgYi9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL3NyYy9vcmcvYXBhY2hlL2ZsZXgvdG9vbHMvY29kZWNvdmVyYWdlL3JlcG9ydGVyL1N1bW1hcnlJbmZvLmphdmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDhlNDkwYQotLS0gL2Rldi9udWxsCisrKyBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2UvcmVwb3J0ZXIvU3VtbWFyeUluZm8uamF2YQpAQCAtMCwwICsxLDE4NyBAQAorLyoKKyAqCisgKiAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgKiAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgKiAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorICogIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgKiAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyAqICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqCisgKi8KKworcGFja2FnZSBvcmcuYXBhY2hlLmZsZXgudG9vbHMuY29kZWNvdmVyYWdlLnJlcG9ydGVyOworCitpbXBvcnQgamF2YS51dGlsLkNvbGxlY3Rpb25zOworaW1wb3J0IGphdmEudXRpbC5TZXQ7CitpbXBvcnQgamF2YS51dGlsLlRyZWVTZXQ7CisKKy8qKgorICogU2ltcGxlIHZhbHVlIGNsYXNzIHRvIHJlY29yZCBzdW1tYXJ5IGluZm9ybWF0aW9uIG9uIHRoZSBsaW5lcyBleGVjdXRlZCB2cyB0aGUKKyAqIHRvdGFsIG51bWJlciBvZiBsaW5lcy4KKyAqIAorICogVGhpcyBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCBmb3IgcmVwb3J0aW5nIGF0IHRoZSBwYWNrYWdlLCBmaWxlLCBhbmQgbWV0aG9kCisgKiBsZXZlbC4KKyAqIAorICogMS4gdG90YWwgZXhlY3V0ZWQgbGluZXMgCisgKiAyLiB0b3RhbCBudW1iZXIgb2YgbGluZXMgCisgKiAzLiB0b3RhbCBleGVjdXRlZCBtZXRob2RzCisgKiA0LiB0b3RhbCBudW1iZXIgb2YgbWV0aG9kcworICogCisgKi8KK3B1YmxpYyBjbGFzcyBTdW1tYXJ5SW5mbworeworICAgIC8vIG5hbWUgb2Ygb2JqZWN0IHRoZSBzdW1tYXJ5IGluZm8gaXMgZm9yLgorICAgIHByaXZhdGUgU3RyaW5nIG5hbWU7CisKKyAgICAvKioKKyAgICAgKiBUaGUgc2V0IG9mIGV4ZWN1dGVkIGxpbmVzIGluIHNvcnRlZCBvcmRlci4KKyAgICAgKi8KKyAgICBwcml2YXRlIGZpbmFsIFNldDxJbnRlZ2VyPiBleGVjdXRlZExpbmVTZXQgPSBuZXcgVHJlZVNldDxJbnRlZ2VyPigpOworCisgICAgLyoqCisgICAgICogVGhlIHNldCBvZiB1bmV4ZWN1dGVkIGxpbmVzIGluIHNvcnRlZCBvcmRlci4KKyAgICAgKi8KKyAgICBwcml2YXRlIGZpbmFsIFNldDxJbnRlZ2VyPiB1bmV4ZWN1dGVkTGluZVNldCA9IG5ldyBUcmVlU2V0PEludGVnZXI+KCk7CisKKyAgICAvKioKKyAgICAgKiBUaGUgc2V0IG9mIGV4ZWN1dGVkIGxpbmVzIGluIHNvcnRlZCBvcmRlci4KKyAgICAgKi8KKyAgICBwcml2YXRlIGZpbmFsIFNldDxTdHJpbmc+IGV4ZWN1dGVkTWV0aG9kU2V0ID0gbmV3IFRyZWVTZXQ8U3RyaW5nPigpOworICAgIHByaXZhdGUgZmluYWwgU2V0PFN0cmluZz4gdW5leGVjdXRlZE1ldGhvZFNldCA9IG5ldyBUcmVlU2V0PFN0cmluZz4oKTsKKworICAgIC8qKgorICAgICAqIE5hbWUgb2YgdGhlIG9iamVjdCB0aGUgc3VtbWFyeSBpbmZvcm1hdGlvbiBhcHBsaWVzIHRvLgorICAgICAqIEByZXR1cm4gbmFtZSBvZiB0aGUgb2JqZWN0LgorICAgICAqLworICAgIHB1YmxpYyBTdHJpbmcgZ2V0TmFtZSgpCisgICAgeworICAgICAgICByZXR1cm4gbmFtZSAhPSBudWxsID8gbmFtZSA6ICIiOworICAgIH0KKworICAgIC8qKgorICAgICAqIFNldCB0aGUgbmFtZSBvZiB0aGUgb2JqZWN0IHRoZSBzdW1tYXJ5IGluZm9ybWF0aW9uIGFwcGxpZXMgdG8uCisgICAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiB0aGUgb2JqZWN0LgorICAgICAqLworICAgIHB1YmxpYyB2b2lkIHNldE5hbWUoZmluYWwgU3RyaW5nIG5hbWUpCisgICAgeworICAgICAgICB0aGlzLm5hbWUgPSBuYW1lOworICAgIH0KKworICAgIC8qKgorICAgICAqIEByZXR1cm4gTnVtYmVyIG9mIGV4ZWN1dGVkIGxpbmVzLgorICAgICAqLworICAgIHB1YmxpYyBpbnQgZ2V0RXhlY3V0ZWRMaW5lQ291bnQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGV4ZWN1dGVkTGluZVNldC5zaXplKCk7CisgICAgfQorCisgICAgLyoqCisgICAgICogCisgICAgICogQHJldHVybiB0b3RhbCBudW1iZXIgb2YgbGluZXMuCisgICAgICovCisgICAgcHVibGljIGludCBnZXRUb3RhbExpbmVDb3VudCgpCisgICAgeworICAgICAgICByZXR1cm4gZXhlY3V0ZWRMaW5lU2V0LnNpemUoKSArIHVuZXhlY3V0ZWRMaW5lU2V0LnNpemUoKTsKKyAgICB9CisKKyAgICAvKioKKyAgICAgKiAKKyAgICAgKiBAcmV0dXJuIE51bWJlciBvZiBtZXRob2RzIGV4ZWN1dGVkLgorICAgICAqLworICAgIHB1YmxpYyBpbnQgZ2V0RXhlY3V0ZWRNZXRob2RDb3VudCgpCisgICAgeworICAgICAgICByZXR1cm4gZXhlY3V0ZWRNZXRob2RTZXQuc2l6ZSgpOworICAgIH0KKworICAgIC8qKgorICAgICAqIAorICAgICAqIEByZXR1cm4gVG90YWwgbnVtYmVyIG9mIG1ldGhvZHMuCisgICAgICovCisgICAgcHVibGljIGludCBnZXRUb3RhbE1ldGhvZENvdW50KCkKKyAgICB7CisgICAgICAgIHJldHVybiBleGVjdXRlZE1ldGhvZFNldC5zaXplKCkgKyB1bmV4ZWN1dGVkTWV0aG9kU2V0LnNpemUoKTsKKyAgICB9CisKKyAgICAvKioKKyAgICAgKiBUaGUgc2V0IG9mIHVuZXhlY3V0ZWQgbGluZXMuCisgICAgICogCisgICAgICogQHJldHVybiBTZXQgb2YgZXhlY3V0ZWQgbGluZXMsIHNvcnRlZCBpbiBhc2NlbmRpbmcgb3JkZXIuCisgICAgICovCisgICAgcHVibGljIFNldDxJbnRlZ2VyPiBnZXRVbmV4ZWN1dGVkTGluZXMoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIENvbGxlY3Rpb25zLnVubW9kaWZpYWJsZVNldCh1bmV4ZWN1dGVkTGluZVNldCk7CisgICAgfQorICAgIAorICAgIC8qKgorICAgICAqIFRoZSBzZXQgb2YgdW5leGVjdXRlZCBtZXRob2RzLgorICAgICAqIAorICAgICAqIEByZXR1cm4gU2V0IG9mIGV4ZWN1dGVkIG1ldGhvZHMsIHNvcnRlZCBpbiBhc2NlbmRpbmcgb3JkZXIuCisgICAgICovCisgICAgcHVibGljIFNldDxTdHJpbmc+IGdldFVuZXhlY3V0ZWRNZXRob2RzKCkKKyAgICB7CisgICAgICAgIHJldHVybiBDb2xsZWN0aW9ucy51bm1vZGlmaWFibGVTZXQodW5leGVjdXRlZE1ldGhvZFNldCk7CisgICAgfQorICAgIAorICAgIC8qKgorICAgICAqIFNldCB0aGUgZXhlY3V0aW9uIHN0YXR1cyBvZiBhIGdpdmVuIGxpbmUgYW5kIG1ldGhvZC4KKyAgICAgKiAKKyAgICAgKiBAcGFyYW0gbGluZU51bWJlciBUaGUgbGluZSBudW1iZXIgb2YgdGhlIGxpbmUuCisgICAgICogQHBhcmFtIG1ldGhvZE5hbWUgVGhlIG5hbWUgb2YgdGhlIG1ldGhvZCBjb250YWluaW5nIHRoZSBsaW5lLgorICAgICAqIEBwYXJhbSBleGVjdXRlZCB0cnVlIGlmIHRoZSBsaW5lIGlzIGV4ZWN1dGVkLCBmYWxzZSBvdGhlcndpc2UuCisgICAgICovCisgICAgcHVibGljIHZvaWQgc2V0TGluZUV4ZWN1dGlvblN0YXR1cyhmaW5hbCBpbnQgbGluZU51bWJlciwgU3RyaW5nIG1ldGhvZE5hbWUsCisgICAgICAgICAgICBmaW5hbCBCb29sZWFuIGV4ZWN1dGVkKQorICAgIHsKKyAgICAgICAgaWYgKGV4ZWN1dGVkTGluZVNldC5jb250YWlucyhsaW5lTnVtYmVyKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAvLyBmaXh1cCBtZXRob2QgbmFtZSB0aGF0IHdlcmUgbm90IGV4ZWN1dGVkLgorICAgICAgICBpZiAobWV0aG9kTmFtZSA9PSBudWxsKQorICAgICAgICAgICAgbWV0aG9kTmFtZSA9ICIiOworCisgICAgICAgIGlmIChleGVjdXRlZCkKKyAgICAgICAgeworICAgICAgICAgICAgdW5leGVjdXRlZExpbmVTZXQucmVtb3ZlKGxpbmVOdW1iZXIpOworICAgICAgICAgICAgZXhlY3V0ZWRMaW5lU2V0LmFkZChsaW5lTnVtYmVyKTsKKworICAgICAgICAgICAgLy8gaWdub3JlIGVtcHR5IG1ldGhvZCBuYW1lcy4KKyAgICAgICAgICAgIC8vIHRoZXNlIGFyZSBjaW5pdCBhbmQgc2NyaXB0IGluaXQgbWV0aG9kcy4KKyAgICAgICAgICAgIGlmICghbWV0aG9kTmFtZS5pc0VtcHR5KCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdW5leGVjdXRlZE1ldGhvZFNldC5yZW1vdmUobWV0aG9kTmFtZSk7CisgICAgICAgICAgICAgICAgZXhlY3V0ZWRNZXRob2RTZXQuYWRkKG1ldGhvZE5hbWUpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgdW5leGVjdXRlZExpbmVTZXQuYWRkKGxpbmVOdW1iZXIpOworCisgICAgICAgICAgICAvLyBpZ25vcmUgZW1wdHkgbWV0aG9kIG5hbWVzLgorICAgICAgICAgICAgLy8gdGhlc2UgYXJlIGNpbml0IGFuZCBzY3JpcHQgaW5pdCBtZXRob2RzLgorICAgICAgICAgICAgaWYgKCFtZXRob2ROYW1lLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICB1bmV4ZWN1dGVkTWV0aG9kU2V0LmFkZChtZXRob2ROYW1lKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qKgorICAgICAqIEFkZCB0aGUgcGFzc2VkIHN1bW1hcnkgaW5mbyB0byB0aGUgY3VycmVudCBzZXQgb2Ygc3VtbWFyeSBpbmZvLgorICAgICAqIAorICAgICAqIEBwYXJhbSBzdW1tYXJ5SW5mbworICAgICAqICAgICAgICAgICAgc3VtbWFyeSBpbmZvcm1hdGlvbiB0byBhZGQgaW4sIG1heSBub3QgYmUgbnVsbC4KKyAgICAgKi8KKyAgICBwdWJsaWMgdm9pZCBhZGQoZmluYWwgU3VtbWFyeUluZm8gc3VtbWFyeUluZm8pCisgICAgeworICAgICAgICB1bmV4ZWN1dGVkTGluZVNldC5hZGRBbGwoc3VtbWFyeUluZm8udW5leGVjdXRlZExpbmVTZXQpOworICAgICAgICB1bmV4ZWN1dGVkTWV0aG9kU2V0LmFkZEFsbChzdW1tYXJ5SW5mby51bmV4ZWN1dGVkTWV0aG9kU2V0KTsKKyAgICAgICAgZXhlY3V0ZWRMaW5lU2V0LmFkZEFsbChzdW1tYXJ5SW5mby5leGVjdXRlZExpbmVTZXQpOworICAgICAgICBleGVjdXRlZE1ldGhvZFNldC5hZGRBbGwoc3VtbWFyeUluZm8uZXhlY3V0ZWRNZXRob2RTZXQpOworICAgIH0KK30KZGlmZiAtLWdpdCBhL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2UvcmVwb3J0ZXIvU3VtbWFyeVR5cGUuamF2YSBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2UvcmVwb3J0ZXIvU3VtbWFyeVR5cGUuamF2YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZDZiZTJmCi0tLSAvZGV2L251bGwKKysrIGIvQ29kZUNvdmVyYWdlL0phdmFTZXJ2ZXIvamF2YS9zcmMvb3JnL2FwYWNoZS9mbGV4L3Rvb2xzL2NvZGVjb3ZlcmFnZS9yZXBvcnRlci9TdW1tYXJ5VHlwZS5qYXZhCkBAIC0wLDAgKzEsMjkgQEAKKy8qDQorICoNCisgKiAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlDQorICogIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aA0KKyAqICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuDQorICogIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wDQorICogICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoDQorICogIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQorICoNCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KKyAqDQorICogIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCisgKiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCisgKiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQorICogIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCisgKiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQorICoNCisgKi8NCisNCitwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC50b29scy5jb2RlY292ZXJhZ2UucmVwb3J0ZXI7DQorDQorLyoqDQorICogVGhlIHR5cGUgb2Ygc3VtbWFyeSBpbmZvLCBlaXRoZXIgbGluZSBvciBtZXRob2QuDQorICovDQorcHVibGljIGVudW0gU3VtbWFyeVR5cGUNCit7DQorICAgIExJTkUsDQorICAgIE1FVEhPRA0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL3NyYy9vcmcvYXBhY2hlL2ZsZXgvdG9vbHMvY29kZWNvdmVyYWdlL3JlcG9ydGVyL3JlcG9ydHMvSVJlcG9ydEZhY3RvcnkuamF2YSBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2UvcmVwb3J0ZXIvcmVwb3J0cy9JUmVwb3J0RmFjdG9yeS5qYXZhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc2MDM3MjYKLS0tIC9kZXYvbnVsbAorKysgYi9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL3NyYy9vcmcvYXBhY2hlL2ZsZXgvdG9vbHMvY29kZWNvdmVyYWdlL3JlcG9ydGVyL3JlcG9ydHMvSVJlcG9ydEZhY3RvcnkuamF2YQpAQCAtMCwwICsxLDM3IEBACisvKg0KKyAqDQorICogIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQ0KKyAqICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgNCisgKiAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLg0KKyAqICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMA0KKyAqICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aA0KKyAqICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KKyAqDQorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCisgKg0KKyAqICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQorICogIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQorICogIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KKyAqICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQorICogIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KKyAqDQorICovDQorDQorcGFja2FnZSBvcmcuYXBhY2hlLmZsZXgudG9vbHMuY29kZWNvdmVyYWdlLnJlcG9ydGVyLnJlcG9ydHM7DQorDQorLyoqDQorICogSW50ZXJmYWNlIGZvciBjb2RlIGNvdmVyYWdlIHJlcG9ydCBmYWN0b3JpZXMuDQorICogDQorICogVGhlIGRlZmF1bHQgcmVwb3J0IGZhY3RvcnkgY2FuIG92ZXJyaWRkZW4gYnkgc3BlY2lmeWluZyB0aGUgZnVsbHkgcXVhbGlmaWVkDQorICogY2xhc3MgbmFtZSBvZiBhIHJlcG9ydCBmYWN0b3J5IHdpdGggdGhlIC1yZXBvcnQtZmFjdG9yeSBjb21tYW5kIGxpbmUgb3B0aW9uLg0KKyAqIA0KKyAqLw0KK3B1YmxpYyBpbnRlcmZhY2UgSVJlcG9ydEZhY3RvcnkNCit7DQorICAgIC8qKg0KKyAgICAgKiBDcmVhdGUgYSByZXBvcnQgd3JpdGVyIHRoYXQgd2lsbCBvdXRwdXQgdGhlIGNvZGUgY292ZXJhZ2UgcmVwb3J0Lg0KKyAgICAgKiANCisgICAgICogQHBhcmFtIHJlcG9ydE9wdGlvbnMgT3B0aW9ucyB0byBjb250cm9sIHRoZSBjb250ZW50cyBvZiB0aGUgcmVwb3J0LiANCisgICAgICovDQorICAgIElSZXBvcnRXcml0ZXIgY3JlYXRlUmVwb3J0KFJlcG9ydE9wdGlvbnMgcmVwb3J0T3B0aW9ucyk7DQorfQ0KZGlmZiAtLWdpdCBhL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2UvcmVwb3J0ZXIvcmVwb3J0cy9JUmVwb3J0V3JpdGVyLmphdmEgYi9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL3NyYy9vcmcvYXBhY2hlL2ZsZXgvdG9vbHMvY29kZWNvdmVyYWdlL3JlcG9ydGVyL3JlcG9ydHMvSVJlcG9ydFdyaXRlci5qYXZhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM1M2NkMGYKLS0tIC9kZXYvbnVsbAorKysgYi9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL3NyYy9vcmcvYXBhY2hlL2ZsZXgvdG9vbHMvY29kZWNvdmVyYWdlL3JlcG9ydGVyL3JlcG9ydHMvSVJlcG9ydFdyaXRlci5qYXZhCkBAIC0wLDAgKzEsNDAgQEAKKy8qDQorICoNCisgKiAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlDQorICogIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aA0KKyAqICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuDQorICogIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wDQorICogICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoDQorICogIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQorICoNCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KKyAqDQorICogIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCisgKiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCisgKiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQorICogIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCisgKiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQorICoNCisgKi8NCisNCitwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC50b29scy5jb2RlY292ZXJhZ2UucmVwb3J0ZXIucmVwb3J0czsNCisNCitpbXBvcnQgamF2YS5pby5CdWZmZXJlZFdyaXRlcjsNCisNCitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnRvb2xzLmNvZGVjb3ZlcmFnZS5yZXBvcnRlci5Db3ZlcmFnZVN1bW1hcnk7DQorDQorLyoqDQorICogSW50ZXJmYWNlIHRvIGEgcmVwb3J0IHdyaXRlci4NCisgKg0KKyAqIEFsbG93IGZvciBkaWZmZXJlbnQgcmVwb3J0cyB0byBiZSBjcmVhdGVkLg0KKyAqLw0KK3B1YmxpYyBpbnRlcmZhY2UgSVJlcG9ydFdyaXRlcg0KK3sNCisgICAgLyoqDQorICAgICAqIFdyaXRlIGEgcmVwb3J0IHRvIHRoZSBzcGVjaWZpZWQgd3JpdGVyLg0KKyAgICAgKiANCisgICAgICogQHBhcmFtIHdyaXRlciBUaGUgd3JpdGVyLg0KKyAgICAgKiBAcGFyYW0gY292ZXJhZ2VTdW1tYXJ5IEEgc3VtbWFyeSBvZiB0aGUgY292ZXJhZ2UgZGF0YS4NCisgICAgICovDQorICAgIHZvaWQgd3JpdGVUbyhCdWZmZXJlZFdyaXRlciB3cml0ZXIsIENvdmVyYWdlU3VtbWFyeSBjb3ZlcmFnZVN1bW1hcnkpOw0KK30NCmRpZmYgLS1naXQgYS9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL3NyYy9vcmcvYXBhY2hlL2ZsZXgvdG9vbHMvY29kZWNvdmVyYWdlL3JlcG9ydGVyL3JlcG9ydHMvUmVwb3J0T3B0aW9ucy5qYXZhIGIvQ29kZUNvdmVyYWdlL0phdmFTZXJ2ZXIvamF2YS9zcmMvb3JnL2FwYWNoZS9mbGV4L3Rvb2xzL2NvZGVjb3ZlcmFnZS9yZXBvcnRlci9yZXBvcnRzL1JlcG9ydE9wdGlvbnMuamF2YQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzEyOWZmCi0tLSAvZGV2L251bGwKKysrIGIvQ29kZUNvdmVyYWdlL0phdmFTZXJ2ZXIvamF2YS9zcmMvb3JnL2FwYWNoZS9mbGV4L3Rvb2xzL2NvZGVjb3ZlcmFnZS9yZXBvcnRlci9yZXBvcnRzL1JlcG9ydE9wdGlvbnMuamF2YQpAQCAtMCwwICsxLDIwNCBAQAorLyoKKyAqCisgKiAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgKiAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgKiAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorICogIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgKiAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyAqICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqCisgKi8KKworcGFja2FnZSBvcmcuYXBhY2hlLmZsZXgudG9vbHMuY29kZWNvdmVyYWdlLnJlcG9ydGVyLnJlcG9ydHM7CisKK2ltcG9ydCBqYXZhLnV0aWwuQ29sbGVjdGlvbjsKKworLyoqCisgKiAgQ29kZSBDb3ZlcmFnZSBSZXBvcnQgb3B0aW9ucy4gCisgKgorICovCitwdWJsaWMgY2xhc3MgUmVwb3J0T3B0aW9ucyAKK3sKKyAgICBwcml2YXRlIENvbGxlY3Rpb248U3RyaW5nPiBpbmNsdWRlRmlsdGVyczsKKyAgICBwcml2YXRlIENvbGxlY3Rpb248U3RyaW5nPiBleGNsdWRlRmlsdGVyczsKKyAgICBwcml2YXRlIGJvb2xlYW4gc2hvd1BhY2thZ2VzID0gdHJ1ZTsKKyAgICBwcml2YXRlIGJvb2xlYW4gc2hvd0ZpbGVzID0gdHJ1ZTsKKyAgICBwcml2YXRlIGJvb2xlYW4gc2hvd01ldGhvZHMgPSB0cnVlOworICAgIHByaXZhdGUgYm9vbGVhbiBzaG93VW5leGVjdXRlZERldGFpbHMgPSBmYWxzZTsKKyAgICAKKyAgICAvKioKKyAgICAgKiBDb25zdHJ1Y3Rvci4KKyAgICAgKiAKKyAgICAgKiBAcGFyYW0gaW5jbHVkZUZpbHRlcnMgVXNlciBzcGVjaWZpZWQgaW5jbHVkZSBmaWx0ZXJzLiAKKyAgICAgKiBFcXVpdmFsZW50IHRvIHRoZSAtaW5jbHVkZXMgY29tbWFuZCBsaW5lIGFyZ3VtZW50LiAKKyAgICAgKiBAcGFyYW0gZXhjbHVkZUZpbHRlcnMgVXNlciBzcGVjaWZpZWQgZXhjbHVkZSBmaWx0ZXJzLgorICAgICAqIEVxdWl2YWxlbnQgdG8gdGhlIC1leGNsdWRlcyBjb21tYW5kIGxpbmUgYXJndW1lbnQuIAorICAgICAqIEBwYXJhbSBzaG93UGFja2FnZXMgRGV0ZXJtaW5lcyBpZiBwYWNrYWdlcyBhcmUgbGlzdGVkIGluIHRoZSByZXBvcnQuCisgICAgICogRXF1aXZhbGVudCB0byB0aGUgLXNob3dQYWNrYWdlcyBjb21tYW5kIGxpbmUgYXJndW1lbnQuCisgICAgICogQHBhcmFtIHNob3dGaWxlcyBEZXRlcm1pbmVzIGlmIGZpbGVzIGFyZSBsaXN0ZWQgaW4gdGhlIHJlcG9ydC4gRmlsZXMKKyAgICAgKiB3aWxsIG5vdCBiZSBzaG93IGlmIHBhY2thZ2VzIGFyZSBub3Qgc2hvd24uCisgICAgICogRXF1aXZhbGVudCB0byB0aGUgLXNob3dGaWxlcyBjb21tYW5kIGxpbmUgYXJndW1lbnQuCisgICAgICogQHBhcmFtIHNob3dNZXRob2RzIERldGVybWluZXMgaWYgbWV0aG9kIGFyZSBsaXN0ZWQgaW4gdGhlIHJlcG9ydC4KKyAgICAgKiBFcXVpdmFsZW50IHRvIHRoZSAtc2hvd01ldGhvZHMgY29tbWFuZCBsaW5lIGFyZ3VtZW50LgorICAgICAqIEBwYXJhbSBzaG93VW5leGVjdXRlZERldGFpbHMgRGV0ZXJtaW5lcyBpZiB1bmV4ZWN1dGVkIGxpbmVzIGFuZCBtZXRob2RzIGFyZQorICAgICAqIGxpc3RlZCBpbiB0aGUgcmVwb3J0LgorICAgICAqIEVxdWl2YWxlbnQgdG8gdGhlIC1zaG93VW5leGVjdXRlZERldGFpbHMgY29tbWFuZCBsaW5lIGFyZ3VtZW50LiAKKyAgICAgKi8KKyAgICBwdWJsaWMgUmVwb3J0T3B0aW9ucyhDb2xsZWN0aW9uPFN0cmluZz4gaW5jbHVkZUZpbHRlcnMsCisgICAgICAgICAgICBDb2xsZWN0aW9uPFN0cmluZz4gZXhjbHVkZUZpbHRlcnMsIGJvb2xlYW4gc2hvd1BhY2thZ2VzLAorICAgICAgICAgICAgYm9vbGVhbiBzaG93RmlsZXMsIGJvb2xlYW4gc2hvd01ldGhvZHMsCisgICAgICAgICAgICBib29sZWFuIHNob3dVbmV4ZWN1dGVkRGV0YWlscykKKyAgICB7CisgICAgICAgIHN1cGVyKCk7CisgICAgICAgIHRoaXMuaW5jbHVkZUZpbHRlcnMgPSBpbmNsdWRlRmlsdGVyczsKKyAgICAgICAgdGhpcy5leGNsdWRlRmlsdGVycyA9IGV4Y2x1ZGVGaWx0ZXJzOworICAgICAgICB0aGlzLnNob3dQYWNrYWdlcyA9IHNob3dQYWNrYWdlczsKKyAgICAgICAgdGhpcy5zaG93RmlsZXMgPSBzaG93RmlsZXM7CisgICAgICAgIHRoaXMuc2hvd01ldGhvZHMgPSBzaG93TWV0aG9kczsKKyAgICAgICAgdGhpcy5zaG93VW5leGVjdXRlZERldGFpbHMgPSBzaG93VW5leGVjdXRlZERldGFpbHM7CisgICAgfQorCisgICAgLyoqCisgICAgICogVXNlciBzcGVjaWZpZWQgaW5jbHVkZSBmaWx0ZXJzLiAKKyAgICAgKiBFcXVpdmFsZW50IHRvIHRoZSAtaW5jbHVkZXMgY29tbWFuZCBsaW5lIGFyZ3VtZW50LgorICAgICAqICAKKyAgICAgKiBAcmV0dXJuIENvbGxlY3Rpb24gb2YgdXNlciBmaWx0ZXJzLgorICAgICAqLworICAgIHB1YmxpYyBDb2xsZWN0aW9uPFN0cmluZz4gZ2V0SW5jbHVkZUZpbHRlcnMoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGluY2x1ZGVGaWx0ZXJzOworICAgIH0KKyAgICAKKyAgICAvKioKKyAgICAgKiBFcXVpdmFsZW50IHRvIHRoZSAtaW5jbHVkZXMgY29tbWFuZCBsaW5lIGFyZ3VtZW50LgorICAgICAqICAKKyAgICAgKiBAcGFyYW0gaW5jbHVkZUZpbHRlcnMgQ29sbGVjdGlvbiBvZiBmaWx0ZXJzIHRvIGluY2x1ZGUgY2xhc3NlcyBpbiB0aGUgCisgICAgICogcmVwb3J0LiAKKyAgICAgKi8KKyAgICBwdWJsaWMgdm9pZCBzZXRJbmNsdWRlRmlsdGVycyhDb2xsZWN0aW9uPFN0cmluZz4gaW5jbHVkZUZpbHRlcnMpCisgICAgeworICAgICAgICB0aGlzLmluY2x1ZGVGaWx0ZXJzID0gaW5jbHVkZUZpbHRlcnM7CisgICAgfQorCisgICAgLyoqCisgICAgICogVXNlciBzcGVjaWZpZWQgZXhjbHVkZSBmaWx0ZXJzLgorICAgICAqIEVxdWl2YWxlbnQgdG8gdGhlIC1leGNsdWRlcyBjb21tYW5kIGxpbmUgYXJndW1lbnQuIAorICAgICAqIAorICAgICAqIEByZXR1cm4gQ29sbGVjdGlvbiBvZiBmaWx0ZXJzIHRvIGV4Y2x1ZGUgY2xhc3NlcyBmcm9tIHRoZSByZXBvcnQuCisgICAgICovCisgICAgcHVibGljIENvbGxlY3Rpb248U3RyaW5nPiBnZXRFeGNsdWRlRmlsdGVycygpCisgICAgeworICAgICAgICByZXR1cm4gZXhjbHVkZUZpbHRlcnM7CisgICAgfQorCisgICAgLyoqCisgICAgICogRXF1aXZhbGVudCB0byB0aGUgLWV4Y2x1ZGVzIGNvbW1hbmQgbGluZSBhcmd1bWVudC4gCisgICAgICoKKyAgICAgKiBAcGFyYW0gZXhjbHVkZUZpbHRlcnMgQ29sbGVjdGlvbiBvZiBmaWx0ZXJzIHRvIGV4Y2x1ZGUgY2xhc3NlcyBmcm9tCisgICAgICogdGhlIHJlcG9ydC4KKyAgICAgKi8KKyAgICBwdWJsaWMgdm9pZCBzZXRFeGNsdWRlRmlsdGVycyhDb2xsZWN0aW9uPFN0cmluZz4gZXhjbHVkZUZpbHRlcnMpCisgICAgeworICAgICAgICB0aGlzLmV4Y2x1ZGVGaWx0ZXJzID0gZXhjbHVkZUZpbHRlcnM7CisgICAgfQorICAgIAorICAgIC8qKgorICAgICAqIERldGVybWluZXMgaWYgcGFja2FnZXMgYXJlIGxpc3RlZCBpbiB0aGUgcmVwb3J0LgorICAgICAqIEVxdWl2YWxlbnQgdG8gdGhlIC1zaG93UGFja2FnZXMgY29tbWFuZCBsaW5lIGFyZ3VtZW50LgorICAgICAqIAorICAgICAqIEByZXR1cm4gdHJ1ZSBpZiBwYWNrYWdlcyBhcmUgbGlzdGVkIGluIHRoZSByZXBvcnQsIGZhbHNlIG90aGVyd2lzZS4KKyAgICAgKi8KKyAgICBwdWJsaWMgYm9vbGVhbiBpc1Nob3dQYWNrYWdlcygpCisgICAgeworICAgICAgICByZXR1cm4gc2hvd1BhY2thZ2VzOworICAgIH0KKworICAgIC8qKgorICAgICAqIERldGVybWluZXMgaWYgcGFja2FnZXMgYXJlIGxpc3RlZCBpbiB0aGUgcmVwb3J0LgorICAgICAqIEVxdWl2YWxlbnQgdG8gdGhlIC1zaG93UGFja2FnZXMgY29tbWFuZCBsaW5lIGFyZ3VtZW50LgorICAgICAqIAorICAgICAqIEBwYXJhbSBzaG93UGFja2FnZXMgU2V0IHRvIHRydWUgdG8gc2hvdyBwYWNrYWdlcyBpbiB0aGUgcmVwb3J0LgorICAgICAqLworICAgIHB1YmxpYyB2b2lkIHNldFNob3dQYWNrYWdlcyhib29sZWFuIHNob3dQYWNrYWdlcykKKyAgICB7CisgICAgICAgIHRoaXMuc2hvd1BhY2thZ2VzID0gc2hvd1BhY2thZ2VzOworICAgIH0KKworICAgIC8qKgorICAgICAqIERldGVybWluZXMgaWYgZmlsZXMgYXJlIGxpc3RlZCBpbiB0aGUgcmVwb3J0LgorICAgICAqIEVxdWl2YWxlbnQgdG8gdGhlIC1zaG93RmlsZXMgY29tbWFuZCBsaW5lIGFyZ3VtZW50LgorICAgICAqIAorICAgICAqIEByZXR1cm4gdHJ1ZSBpZiBmaWxlcyBhcmUgbGlzdGVkIGluIHRoZSByZXBvcnQsIGZhbHNlIG90aGVyd2lzZS4KKyAgICAgKi8KKyAgICBwdWJsaWMgYm9vbGVhbiBpc1Nob3dGaWxlcygpCisgICAgeworICAgICAgICByZXR1cm4gc2hvd0ZpbGVzOworICAgIH0KKyAgICAKKyAgICAvKioKKyAgICAgKiBEZXRlcm1pbmVzIGlmIGZpbGVzIGFyZSBsaXN0ZWQgaW4gdGhlIHJlcG9ydC4KKyAgICAgKiBFcXVpdmFsZW50IHRvIHRoZSAtc2hvd0ZpbGVzIGNvbW1hbmQgbGluZSBhcmd1bWVudC4KKyAgICAgKiAKKyAgICAgKiBAcGFyYW0gc2hvd0ZpbGVzIFNldCB0byB0cnVlIHRvIHNob3cgZmlsZXMgaW4gdGhlIHJlcG9ydC4KKyAgICAgKi8KKyAgICBwdWJsaWMgdm9pZCBzZXRTaG93RmlsZXMoYm9vbGVhbiBzaG93RmlsZXMpCisgICAgeworICAgICAgICB0aGlzLnNob3dGaWxlcyA9IHNob3dGaWxlczsKKyAgICB9CisgICAgCisgICAgLyoqCisgICAgICogRGV0ZXJtaW5lcyBpZiBtZXRob2RzIGFyZSBsaXN0ZWQgaW4gdGhlIHJlcG9ydC4KKyAgICAgKiBFcXVpdmFsZW50IHRvIHRoZSAtc2hvd01ldGhvZHMgY29tbWFuZCBsaW5lIGFyZ3VtZW50LgorICAgICAqIAorICAgICAqIEByZXR1cm4gdHJ1ZSBpZiBtZXRob2RzIGFyZSBsaXN0ZWQgaW4gdGhlIHJlcG9ydCwgZmFsc2Ugb3RoZXJ3aXNlLgorICAgICAqLworICAgIHB1YmxpYyBib29sZWFuIGlzU2hvd01ldGhvZHMoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHNob3dNZXRob2RzOworICAgIH0KKworICAgIC8qKgorICAgICAqIERldGVybWluZXMgaWYgbWV0aG9kcyBhcmUgbGlzdGVkIGluIHRoZSByZXBvcnQuCisgICAgICogRXF1aXZhbGVudCB0byB0aGUgLXNob3dNZXRob2RzIGNvbW1hbmQgbGluZSBhcmd1bWVudC4KKyAgICAgKiAKKyAgICAgKiBAcGFyYW0gc2hvd0ZpbGVzIFNldCB0byB0cnVlIHRvIHNob3cgbWV0aG9kcyBpbiB0aGUgcmVwb3J0LgorICAgICAqLworICAgIHB1YmxpYyB2b2lkIHNldFNob3dNZXRob2RzKGJvb2xlYW4gc2hvd01ldGhvZHMpCisgICAgeworICAgICAgICB0aGlzLnNob3dNZXRob2RzID0gc2hvd01ldGhvZHM7CisgICAgfQorICAgIAorICAgIC8qKgorICAgICAqIERldGVybWluZXMgaWYgdW5leGVjdXRlZCBsaW5lcyBhbmQgdW5leGVjdXRlZCBtZXRob2RzIGFyZSBsaXN0ZWQgaW4gdGhlCisgICAgICogcmVwb3J0LgorICAgICAqIEVxdWl2YWxlbnQgdG8gdGhlIC1zaG93VW5leGVjdXRlZERldGFpbHMgY29tbWFuZCBsaW5lIGFyZ3VtZW50LgorICAgICAqIAorICAgICAqIEByZXR1cm4gdHJ1ZSBpZiB1bmV4ZWN1dGVkIGxpbmVzIGFuZCB1bmV4ZWN1dGVkIGFyZSBsaXN0ZWQgaW4gdGhlIAorICAgICAqIHJlcG9ydCwgZmFsc2Ugb3RoZXJ3aXNlLgorICAgICAqLworICAgIHB1YmxpYyBib29sZWFuIGlzU2hvd1VuZXhlY3V0ZWREZXRhaWxzKCkKKyAgICB7CisgICAgICAgIHJldHVybiBzaG93VW5leGVjdXRlZERldGFpbHM7CisgICAgfQorCisgICAgLyoqCisgICAgICogRGV0ZXJtaW5lcyBpZiB1bmV4ZWN1dGVkIGxpbmVzIGFuZCB1bmV4ZWN1dGVkIG1ldGhvZHMgYXJlIGxpc3RlZCBpbiB0aGUKKyAgICAgKiByZXBvcnQuCisgICAgICogRXF1aXZhbGVudCB0byB0aGUgLXNob3dVbmV4ZWN1dGVkRGV0YWlscyBjb21tYW5kIGxpbmUgYXJndW1lbnQuCisgICAgICogCisgICAgICogQHBhcmFtIHNob3dVbmV4ZWN1dGVkRGV0YWlscyBTZXQgdG8gdHJ1ZSB0byBzaG93IG1ldGhvZHMgaW4gdGhlIHJlcG9ydC4KKyAgICAgKi8KKyAgICBwdWJsaWMgdm9pZCBzZXRTaG93VW5leGVjdXRlZERldGFpbHMoYm9vbGVhbiBzaG93VW5leGVjdXRlZERldGFpbHMpCisgICAgeworICAgICAgICB0aGlzLnNob3dVbmV4ZWN1dGVkRGV0YWlscyA9IHNob3dVbmV4ZWN1dGVkRGV0YWlsczsKKyAgICB9CisKK30KZGlmZiAtLWdpdCBhL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2UvcmVwb3J0ZXIvcmVwb3J0cy9YTUxSZXBvcnRGYWN0b3J5LmphdmEgYi9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL3NyYy9vcmcvYXBhY2hlL2ZsZXgvdG9vbHMvY29kZWNvdmVyYWdlL3JlcG9ydGVyL3JlcG9ydHMvWE1MUmVwb3J0RmFjdG9yeS5qYXZhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQ1ZTQwNWYKLS0tIC9kZXYvbnVsbAorKysgYi9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL3NyYy9vcmcvYXBhY2hlL2ZsZXgvdG9vbHMvY29kZWNvdmVyYWdlL3JlcG9ydGVyL3JlcG9ydHMvWE1MUmVwb3J0RmFjdG9yeS5qYXZhCkBAIC0wLDAgKzEsMzYgQEAKKy8qDQorICoNCisgKiAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlDQorICogIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aA0KKyAqICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuDQorICogIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wDQorICogICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoDQorICogIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQorICoNCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KKyAqDQorICogIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCisgKiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCisgKiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQorICogIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCisgKiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQorICoNCisgKi8NCisNCitwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC50b29scy5jb2RlY292ZXJhZ2UucmVwb3J0ZXIucmVwb3J0czsNCisNCisvKioNCisgKiBGYWN0b3J5IGZvciBhbiBYTUwgcmVwb3J0IG9mIGNvZGUgY292ZXJhZ2UuDQorICogVGhpcyBpcyB0aGUgZGVmYXVsdCBmYWN0b3J5Lg0KKyAqIA0KKyAqLw0KK3B1YmxpYyBjbGFzcyBYTUxSZXBvcnRGYWN0b3J5IGltcGxlbWVudHMgSVJlcG9ydEZhY3RvcnkNCit7DQorDQorICAgIEBPdmVycmlkZQ0KKyAgICBwdWJsaWMgSVJlcG9ydFdyaXRlciBjcmVhdGVSZXBvcnQoUmVwb3J0T3B0aW9ucyByZXBvcnRPcHRpb25zKQ0KKyAgICB7DQorICAgICAgICByZXR1cm4gbmV3IFhNTFJlcG9ydFdyaXRlcihyZXBvcnRPcHRpb25zKTsNCisgICAgfQ0KKw0KK30NCmRpZmYgLS1naXQgYS9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL3NyYy9vcmcvYXBhY2hlL2ZsZXgvdG9vbHMvY29kZWNvdmVyYWdlL3JlcG9ydGVyL3JlcG9ydHMvWE1MUmVwb3J0V3JpdGVyLmphdmEgYi9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL3NyYy9vcmcvYXBhY2hlL2ZsZXgvdG9vbHMvY29kZWNvdmVyYWdlL3JlcG9ydGVyL3JlcG9ydHMvWE1MUmVwb3J0V3JpdGVyLmphdmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWVlZWM3MgotLS0gL2Rldi9udWxsCisrKyBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2UvcmVwb3J0ZXIvcmVwb3J0cy9YTUxSZXBvcnRXcml0ZXIuamF2YQpAQCAtMCwwICsxLDM3MSBAQAorLyoNCisgKg0KKyAqICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUNCisgKiAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoDQorICogIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4NCisgKiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjANCisgKiAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgNCisgKiAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCisgKg0KKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQorICoNCisgKiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KKyAqICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KKyAqICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCisgKiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KKyAqICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCisgKg0KKyAqLw0KKw0KK3BhY2thZ2Ugb3JnLmFwYWNoZS5mbGV4LnRvb2xzLmNvZGVjb3ZlcmFnZS5yZXBvcnRlci5yZXBvcnRzOw0KKw0KK2ltcG9ydCBqYXZhLmlvLkJ1ZmZlcmVkV3JpdGVyOw0KK2ltcG9ydCBqYXZhLnV0aWwuQ29sbGVjdGlvbjsNCitpbXBvcnQgamF2YS51dGlsLk1hcDsNCitpbXBvcnQgamF2YS51dGlsLlNldDsNCisNCitpbXBvcnQgamF2YXgueG1sLnN0cmVhbS5YTUxPdXRwdXRGYWN0b3J5Ow0KK2ltcG9ydCBqYXZheC54bWwuc3RyZWFtLlhNTFN0cmVhbUV4Y2VwdGlvbjsNCitpbXBvcnQgamF2YXgueG1sLnN0cmVhbS5YTUxTdHJlYW1Xcml0ZXI7DQorDQoraW1wb3J0IG9yZy5hcGFjaGUuZmxleC50b29scy5jb2RlY292ZXJhZ2UucmVwb3J0ZXIuQ292ZXJhZ2VTdW1tYXJ5Ow0KK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXgudG9vbHMuY29kZWNvdmVyYWdlLnJlcG9ydGVyLlBhY2thZ2VTdW1tYXJ5SW5mbzsNCitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnRvb2xzLmNvZGVjb3ZlcmFnZS5yZXBvcnRlci5TdW1tYXJ5SW5mbzsNCitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnRvb2xzLmNvZGVjb3ZlcmFnZS5yZXBvcnRlci5TdW1tYXJ5VHlwZTsNCisNCisvKioNCisgKiBYTUwgZm9ybWF0dGVkIGNvZGUgY292ZXJhZ2UgcmVwb3J0Lg0KKyAqDQorICovDQorcHVibGljIGNsYXNzIFhNTFJlcG9ydFdyaXRlciBpbXBsZW1lbnRzIElSZXBvcnRXcml0ZXINCit7DQorICAgIHByaXZhdGUgc3RhdGljIGZpbmFsIFN0cmluZyBSRVBPUlRfVkVSU0lPTiA9ICIxLjAiOw0KKyAgICANCisgICAgcHJpdmF0ZSBDb2xsZWN0aW9uPFN0cmluZz4gaW5jbHVkZUZpbHRlcnM7DQorICAgIHByaXZhdGUgQ29sbGVjdGlvbjxTdHJpbmc+IGV4Y2x1ZGVGaWx0ZXJzOw0KKyAgICBwcml2YXRlIGJvb2xlYW4gc2hvd1BhY2thZ2VzOw0KKyAgICBwcml2YXRlIGJvb2xlYW4gc2hvd0ZpbGVzOw0KKyAgICBwcml2YXRlIGJvb2xlYW4gc2hvd01ldGhvZHM7DQorICAgIHByaXZhdGUgYm9vbGVhbiBzaG93VW5leGVjdXRlZERldGFpbHM7DQorICAgIA0KKyAgICAvKioNCisgICAgICogQ29uc3RydWN0b3IuDQorICAgICAqIA0KKyAgICAgKiBAcGFyYW0gcmVwb3J0T3B0aW9ucyBPcHRpb25zIHRvIGNvbnRyb2wgdGhlIGNvbnRlbnRzIG9mIHRoZSByZXBvcnQuIA0KKyAgICAgKi8NCisgICAgcHVibGljIFhNTFJlcG9ydFdyaXRlcihmaW5hbCBSZXBvcnRPcHRpb25zIHJlcG9ydE9wdGlvbnMpDQorICAgIHsNCisgICAgICAgIHRoaXMuaW5jbHVkZUZpbHRlcnMgPSByZXBvcnRPcHRpb25zLmdldEluY2x1ZGVGaWx0ZXJzKCk7DQorICAgICAgICB0aGlzLmV4Y2x1ZGVGaWx0ZXJzID0gcmVwb3J0T3B0aW9ucy5nZXRFeGNsdWRlRmlsdGVycygpOw0KKyAgICAgICAgdGhpcy5zaG93UGFja2FnZXMgPSByZXBvcnRPcHRpb25zLmlzU2hvd1BhY2thZ2VzKCk7DQorICAgICAgICB0aGlzLnNob3dGaWxlcyA9IHJlcG9ydE9wdGlvbnMuaXNTaG93RmlsZXMoKTsNCisgICAgICAgIHRoaXMuc2hvd01ldGhvZHMgPSByZXBvcnRPcHRpb25zLmlzU2hvd01ldGhvZHMoKTsNCisgICAgICAgIHRoaXMuc2hvd1VuZXhlY3V0ZWREZXRhaWxzID0gcmVwb3J0T3B0aW9ucy5pc1Nob3dVbmV4ZWN1dGVkRGV0YWlscygpOw0KKyAgICB9DQorDQorICAgIEBPdmVycmlkZQ0KKyAgICBwdWJsaWMgdm9pZCB3cml0ZVRvKGZpbmFsIEJ1ZmZlcmVkV3JpdGVyIHdyaXRlciwgZmluYWwgQ292ZXJhZ2VTdW1tYXJ5IGNvdmVyYWdlU3VtbWFyeSkNCisgICAgew0KKyAgICAgICAgZmluYWwgWE1MT3V0cHV0RmFjdG9yeSB4bWxPdXRwdXRGYWN0b3J5ID0gWE1MT3V0cHV0RmFjdG9yeS5uZXdJbnN0YW5jZSgpOw0KKyAgICAgICAgYXNzZXJ0IHhtbE91dHB1dEZhY3RvcnkgIT0gbnVsbCA6ICJFeHBlY3QgWE1MT3V0cHV0RmFjdG9yeSBpbXBsZW1lbnRhdGlvbi4iOw0KKw0KKyAgICAgICAgdHJ5DQorICAgICAgICB7DQorICAgICAgICAgICAgZmluYWwgWE1MU3RyZWFtV3JpdGVyIHhtbFdyaXRlciA9IHhtbE91dHB1dEZhY3RvcnkuDQorICAgICAgICAgICAgICAgICAgICBjcmVhdGVYTUxTdHJlYW1Xcml0ZXIod3JpdGVyKTsNCisgICAgICAgICAgICB4bWxXcml0ZXIud3JpdGVTdGFydERvY3VtZW50KCJ1dGYtOCIsICIxLjAiKTsNCisgICAgICAgICAgICANCisgICAgICAgICAgICAvLyB3cml0ZSB0b3AtbGV2ZWwgcmVwb3J0DQorICAgICAgICAgICAgb3V0cHV0VG9wTGV2ZWxTdGFydCh4bWxXcml0ZXIsIGNvdmVyYWdlU3VtbWFyeS5nZXRPdmVyYWxsU3VtbWFyeUluZm8oKSk7DQorICAgICAgICAgICAgDQorICAgICAgICAgICAgaWYgKHNob3dQYWNrYWdlcykNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIC8vIHN0YXJ0IHBhY2thZ2UgZWxlbWVudA0KKyAgICAgICAgICAgICAgICB4bWxXcml0ZXIud3JpdGVTdGFydEVsZW1lbnQoInBhY2thZ2VzIik7DQorICAgICAgICAgICAgICAgIA0KKyAgICAgICAgICAgICAgICBmb3IgKE1hcC5FbnRyeTxTdHJpbmcsIFBhY2thZ2VTdW1tYXJ5SW5mbz4gcGFja2FnZUVudHJ5IDoNCisgICAgICAgICAgICAgICAgICAgICBjb3ZlcmFnZVN1bW1hcnkuZ2V0UGFja2FnZVN1bW1hcnlFbnRyeVNldCgpKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICBQYWNrYWdlU3VtbWFyeUluZm8gcGFja2FnZVN1bW1hcnkgPSBwYWNrYWdlRW50cnkuZ2V0VmFsdWUoKTsNCisgICAgICAgICAgICAgICAgICAgIG91dHB1dFBhY2thZ2VDb3ZlcmFnZVN0YXJ0KHhtbFdyaXRlciwgcGFja2FnZVN1bW1hcnkuZ2V0U3VtbWFyeUluZm8oKSk7DQorDQorICAgICAgICAgICAgICAgICAgICBpZiAoc2hvd0ZpbGVzKQ0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dEZpbGVzKHhtbFdyaXRlciwgcGFja2FnZVN1bW1hcnksIGNvdmVyYWdlU3VtbWFyeSk7DQorICAgICAgICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgICAgICAgICB4bWxXcml0ZXIud3JpdGVFbmRFbGVtZW50KCk7IC8vIHBhY2thZ2UNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICANCisgICAgICAgICAgICAgICAgeG1sV3JpdGVyLndyaXRlRW5kRWxlbWVudCgpOyAvLyBwYWNrYWdlcw0KKyAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICB4bWxXcml0ZXIud3JpdGVFbmRFbGVtZW50KCk7IC8vIGNvZGUtY292ZXJhZ2UgKHRvcC1sZXZlbCkNCisgICAgICAgICAgICB4bWxXcml0ZXIud3JpdGVFbmREb2N1bWVudCgpOw0KKyAgICAgICAgICAgIHhtbFdyaXRlci5jbG9zZSgpOw0KKyAgICAgICAgfQ0KKyAgICAgICAgY2F0Y2ggKFhNTFN0cmVhbUV4Y2VwdGlvbiBlKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGUucHJpbnRTdGFja1RyYWNlKCk7DQorICAgICAgICB9DQorDQorICAgIH0NCisgICAgDQorICAgIC8qKg0KKyAgICAgKiBPdXRwdXQgdGhlIGZpbGVzIHhtbCBhbmQgaXRzIGNoaWxkcmVuLg0KKyAgICAgKiANCisgICAgICogQHBhcmFtIHhtbFdyaXRlcg0KKyAgICAgKiBAcGFyYW0gcGFja2FnZVN1bW1hcnkNCisgICAgICogQHBhcmFtIGNvdmVyYWdlU3VtbWFyeQ0KKyAgICAgKiBAdGhyb3dzIFhNTFN0cmVhbUV4Y2VwdGlvbg0KKyAgICAgKi8NCisgICAgcHJpdmF0ZSB2b2lkIG91dHB1dEZpbGVzKGZpbmFsIFhNTFN0cmVhbVdyaXRlciB4bWxXcml0ZXIsDQorICAgICAgICAgICAgZmluYWwgUGFja2FnZVN1bW1hcnlJbmZvIHBhY2thZ2VTdW1tYXJ5LCANCisgICAgICAgICAgICBmaW5hbCBDb3ZlcmFnZVN1bW1hcnkgY292ZXJhZ2VTdW1tYXJ5KSB0aHJvd3MgWE1MU3RyZWFtRXhjZXB0aW9uDQorICAgIHsNCisgICAgICAgIC8vIHN0YXJ0IGZpbGUgZWxlbWVudA0KKyAgICAgICAgeG1sV3JpdGVyLndyaXRlU3RhcnRFbGVtZW50KCJmaWxlcyIpOw0KKw0KKyAgICAgICAgZm9yIChmaW5hbCBTdHJpbmcgcGFja2FnZUZpbGVLZXkgOiBwYWNrYWdlU3VtbWFyeS5nZXRGaWxlc0luUGFja2FnZSgpKSANCisgICAgICAgIHsNCisgICAgICAgICAgICBmaW5hbCBTdW1tYXJ5SW5mbyBmaWxlU3VtbWFyeSA9IGNvdmVyYWdlU3VtbWFyeS5nZXRGaWxlU3VtbWFyeUluZm8ocGFja2FnZUZpbGVLZXkpOw0KKyAgICAgICAgICAgIG91dHB1dEZpbGVDb3ZlcmFnZVN0YXJ0KHhtbFdyaXRlciwgZmlsZVN1bW1hcnkpOw0KKyAgICAgICAgICAgIA0KKyAgICAgICAgICAgIGZpbmFsIFNldDxTdHJpbmc+IG1ldGhvZE5hbWVzID0gY292ZXJhZ2VTdW1tYXJ5LmdldE1ldGhvZHNJbkZpbGUocGFja2FnZUZpbGVLZXkpOw0KKyAgICAgICAgICAgIGlmIChzaG93TWV0aG9kcyAmJiAhbWV0aG9kTmFtZXMuaXNFbXB0eSgpKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgLy8gc3RhcnQgbWV0aG9kIGVsZW1lbnQNCisgICAgICAgICAgICAgICAgeG1sV3JpdGVyLndyaXRlU3RhcnRFbGVtZW50KCJtZXRob2RzIik7DQorDQorICAgICAgICAgICAgICAgIGZvciAoZmluYWwgU3RyaW5nIG1ldGhvZE5hbWUgOiBtZXRob2ROYW1lcykNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgU3VtbWFyeUluZm8gbWV0aG9kU3VtbWFyeSA9IGNvdmVyYWdlU3VtbWFyeS4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TWV0aG9kU3VtbWFyeUluZm8obWV0aG9kTmFtZSk7DQorICAgICAgICAgICAgICAgICAgICBvdXRwdXRNZXRob2ROYW1lQ292ZXJhZ2UoeG1sV3JpdGVyLCBtZXRob2RTdW1tYXJ5KTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICANCisgICAgICAgICAgICAgICAgeG1sV3JpdGVyLndyaXRlRW5kRWxlbWVudCgpOyAvLyBtZXRob2RzDQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIA0KKyAgICAgICAgICAgIHhtbFdyaXRlci53cml0ZUVuZEVsZW1lbnQoKTsgLy8gZmlsZQ0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgeG1sV3JpdGVyLndyaXRlRW5kRWxlbWVudCgpOyAvLyBmaWxlcw0KKyAgICB9DQorDQorICAgIC8qKg0KKyAgICAgKiBPdXRwdXQgdGhlIGNvdmVyYWdlIGluZm9ybWF0aW9uIGZvciBhIG1ldGhvZC4NCisgICAgICogDQorICAgICAqIEBwYXJhbSB4bWxXcml0ZXINCisgICAgICogQHBhcmFtIHN1bW1hcnlJbmZvDQorICAgICAqIEB0aHJvd3MgWE1MU3RyZWFtRXhjZXB0aW9uDQorICAgICAqLw0KKyAgICBwcml2YXRlIHZvaWQgb3V0cHV0TWV0aG9kTmFtZUNvdmVyYWdlKGZpbmFsIFhNTFN0cmVhbVdyaXRlciB4bWxXcml0ZXIsDQorICAgICAgICAgICAgZmluYWwgU3VtbWFyeUluZm8gc3VtbWFyeUluZm8pIHRocm93cyBYTUxTdHJlYW1FeGNlcHRpb24NCisgICAgew0KKyAgICAgICAgeG1sV3JpdGVyLndyaXRlU3RhcnRFbGVtZW50KCJtZXRob2QiKTsNCisgICAgICAgIHhtbFdyaXRlci53cml0ZUF0dHJpYnV0ZSgibmFtZSIsIHN1bW1hcnlJbmZvLmdldE5hbWUoKSk7DQorDQorICAgICAgICBvdXRwdXRMaW5lQ292ZXJhZ2UoeG1sV3JpdGVyLCBzdW1tYXJ5SW5mbywgZmFsc2UpOw0KKyAgICAgICAgb3V0cHV0TWV0aG9kQ292ZXJhZ2UoeG1sV3JpdGVyLCBzdW1tYXJ5SW5mbywgZmFsc2UpOyAgDQorICAgICAgICB4bWxXcml0ZXIud3JpdGVFbmRFbGVtZW50KCk7DQorICAgIH0NCisNCisgICAgLyoqDQorICAgICAqIE91dHB1dCB0aGUgc3RhcnQgZWxlbWVudCBmb3IgZmlsZSBjb3ZlcmFnZSBpbmZvcm1hdGlvbi4NCisgICAgICogDQorICAgICAqIEBwYXJhbSB4bWxXcml0ZXINCisgICAgICogQHBhcmFtIHN1bW1hcnlJbmZvDQorICAgICAqIEB0aHJvd3MgWE1MU3RyZWFtRXhjZXB0aW9uDQorICAgICAqLw0KKyAgICBwcml2YXRlIHZvaWQgb3V0cHV0RmlsZUNvdmVyYWdlU3RhcnQoZmluYWwgWE1MU3RyZWFtV3JpdGVyIHhtbFdyaXRlciwNCisgICAgICAgICAgICBmaW5hbCBTdW1tYXJ5SW5mbyBzdW1tYXJ5SW5mbykgdGhyb3dzIFhNTFN0cmVhbUV4Y2VwdGlvbg0KKyAgICB7DQorICAgICAgICB4bWxXcml0ZXIud3JpdGVTdGFydEVsZW1lbnQoImZpbGUiKTsNCisgICAgICAgIHhtbFdyaXRlci53cml0ZUF0dHJpYnV0ZSgibmFtZSIsIHN1bW1hcnlJbmZvLmdldE5hbWUoKSk7DQorDQorICAgICAgICBvdXRwdXRMaW5lQ292ZXJhZ2UoeG1sV3JpdGVyLCBzdW1tYXJ5SW5mbywgc2hvd1VuZXhlY3V0ZWREZXRhaWxzKTsNCisgICAgICAgIG91dHB1dE1ldGhvZENvdmVyYWdlKHhtbFdyaXRlciwgc3VtbWFyeUluZm8sIHNob3dVbmV4ZWN1dGVkRGV0YWlscyk7ICANCisgICAgfQ0KKw0KKyAgICAvKioNCisgICAgICogT3V0cHV0IGNvZGUgY292ZXJhZ2UgZm9yIGEgcGFja2FnZS4NCisgICAgICogQHBhcmFtIHhtbFdyaXRlcg0KKyAgICAgKiBAcGFyYW0gc3VtbWFyeUluZm8NCisgICAgICogQHRocm93cyBYTUxTdHJlYW1FeGNlcHRpb24NCisgICAgICovDQorICAgIHByaXZhdGUgdm9pZCBvdXRwdXRQYWNrYWdlQ292ZXJhZ2VTdGFydChmaW5hbCBYTUxTdHJlYW1Xcml0ZXIgeG1sV3JpdGVyLA0KKyAgICAgICAgICAgIGZpbmFsIFN1bW1hcnlJbmZvIHN1bW1hcnlJbmZvKSB0aHJvd3MgWE1MU3RyZWFtRXhjZXB0aW9uDQorICAgIHsNCisgICAgICAgIHhtbFdyaXRlci53cml0ZVN0YXJ0RWxlbWVudCgicGFja2FnZSIpOw0KKyAgICAgICAgeG1sV3JpdGVyLndyaXRlQXR0cmlidXRlKCJuYW1lIiwgc3VtbWFyeUluZm8uZ2V0TmFtZSgpKTsNCisNCisgICAgICAgIG91dHB1dExpbmVDb3ZlcmFnZSh4bWxXcml0ZXIsIHN1bW1hcnlJbmZvLCBmYWxzZSk7DQorICAgICAgICBvdXRwdXRNZXRob2RDb3ZlcmFnZSh4bWxXcml0ZXIsIHN1bW1hcnlJbmZvLCBmYWxzZSk7DQorICAgIH0NCisNCisgICAgLyoqDQorICAgICAqIE91dHB1dCB0b3AgbGV2ZWwgc3VtbWFyeSBpbmZvcm1hdGlvbg0KKyAgICAgKiANCisgICAgICogQHBhcmFtIHN1bW1hcnlJbmZvIG92ZXJhbGwgY292ZXJhZ2UgaW5mby4NCisgICAgICogQHRocm93cyBYTUxTdHJlYW1FeGNlcHRpb24gDQorICAgICAqLw0KKyAgICBwcml2YXRlIHZvaWQgb3V0cHV0VG9wTGV2ZWxTdGFydChmaW5hbCBYTUxTdHJlYW1Xcml0ZXIgeG1sV3JpdGVyLA0KKyAgICAgICAgICAgIGZpbmFsIFN1bW1hcnlJbmZvIHN1bW1hcnlJbmZvKSB0aHJvd3MgWE1MU3RyZWFtRXhjZXB0aW9uDQorICAgIHsNCisgICAgICAgIHhtbFdyaXRlci53cml0ZVN0YXJ0RWxlbWVudCgiY29kZS1jb3ZlcmFnZSIpOw0KKyAgICAgICAgeG1sV3JpdGVyLndyaXRlQXR0cmlidXRlKCJ2ZXJzaW9uIiwgUkVQT1JUX1ZFUlNJT04pOw0KKyAgICAgICAgDQorICAgICAgICBvdXRwdXRMaW5lQ292ZXJhZ2UoeG1sV3JpdGVyLCBzdW1tYXJ5SW5mbywgZmFsc2UpOw0KKyAgICAgICAgb3V0cHV0TWV0aG9kQ292ZXJhZ2UoeG1sV3JpdGVyLCBzdW1tYXJ5SW5mbywgZmFsc2UpOw0KKyAgICAgICAgb3V0cHV0RmlsdGVyKHhtbFdyaXRlciwgImluY2x1ZGUtZmlsdGVyIik7DQorICAgICAgICBvdXRwdXRGaWx0ZXIoeG1sV3JpdGVyLCAiZXhjbHVkZS1maWx0ZXIiKTsNCisgICAgfQ0KKw0KKyAgICAvKioNCisgICAgICogT3V0cHV0IGZpbHRlcnMgYXMgcGFydCBvZiB0aGUgcmVwb3J0Lg0KKyAgICAgKiANCisgICAgICogQHBhcmFtIHhtbFdyaXRlcg0KKyAgICAgKiBAcGFyYW0gZmlsdGVyTmFtZSBUaGUgbmFtZSBvZiB0aGUgZmlsdGVyIHRvIG91dHB1dC4NCisgICAgICogQHRocm93cyBYTUxTdHJlYW1FeGNlcHRpb24gDQorICAgICAqLw0KKyAgICBwcml2YXRlIHZvaWQgb3V0cHV0RmlsdGVyKGZpbmFsIFhNTFN0cmVhbVdyaXRlciB4bWxXcml0ZXIsDQorICAgICAgICAgICAgZmluYWwgU3RyaW5nIGZpbHRlck5hbWUpIHRocm93cyBYTUxTdHJlYW1FeGNlcHRpb24NCisgICAgew0KKyAgICAgICAgQ29sbGVjdGlvbjxTdHJpbmc+IGZpbHRlcnMgPSBudWxsOw0KKyAgICAgICAgU3RyaW5nIHN0YXJ0RWxlbWVudE5hbWUgPSBudWxsOw0KKyAgICAgICAgDQorICAgICAgICBpZiAoImluY2x1ZGUtZmlsdGVyIi5lcXVhbHMoZmlsdGVyTmFtZSkpDQorICAgICAgICB7DQorICAgICAgICAgICAgc3RhcnRFbGVtZW50TmFtZSA9ICJpbmNsdWRlLWZpbHRlcnMiOw0KKyAgICAgICAgICAgIGZpbHRlcnMgPSBpbmNsdWRlRmlsdGVyczsNCisgICAgICAgIH0NCisgICAgICAgIGVsc2UgaWYgKCJleGNsdWRlLWZpbHRlciIuZXF1YWxzKGZpbHRlck5hbWUpKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHN0YXJ0RWxlbWVudE5hbWUgPSAiZXhjbHVkZS1maWx0ZXJzIjsNCisgICAgICAgICAgICBmaWx0ZXJzID0gZXhjbHVkZUZpbHRlcnM7ICAgICAgICAgICAgDQorICAgICAgICB9DQorICAgICAgICBlbHNlIA0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHRocm93IG5ldyBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24oInVuZXhwZWN0ZWQgZmlsdGVyIG5hbWU6IiArIGZpbHRlck5hbWUpOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgaWYgKGZpbHRlcnMuaXNFbXB0eSgpKQ0KKyAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgIA0KKyAgICAgICAgeG1sV3JpdGVyLndyaXRlU3RhcnRFbGVtZW50KHN0YXJ0RWxlbWVudE5hbWUpOw0KKyAgICAgICAgDQorICAgICAgICBmb3IgKGZpbmFsIFN0cmluZyBmaWx0ZXIgOiBmaWx0ZXJzKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHhtbFdyaXRlci53cml0ZVN0YXJ0RWxlbWVudChmaWx0ZXJOYW1lKTsNCisgICAgICAgICAgICB4bWxXcml0ZXIud3JpdGVDaGFyYWN0ZXJzKGZpbHRlcik7DQorICAgICAgICAgICAgeG1sV3JpdGVyLndyaXRlRW5kRWxlbWVudCgpOw0KKyAgICAgICAgfQ0KKyAgICAgICAgDQorICAgICAgICB4bWxXcml0ZXIud3JpdGVFbmRFbGVtZW50KCk7DQorICAgIH0NCisNCisgICAgLyoqDQorICAgICAqIENvbW1vbiBtZXRob2QgdG8gb3V0cHV0IGxpbmUgY292ZXJhZ2UgaW5mb3JtYXRpb24uDQorICAgICAqIA0KKyAgICAgKiBAcGFyYW0geG1sV3JpdGVyDQorICAgICAqIEBwYXJhbSBvdmVyYWxsDQorICAgICAqIEB0aHJvd3MgWE1MU3RyZWFtRXhjZXB0aW9uIA0KKyAgICAgKi8NCisgICAgcHJpdmF0ZSB2b2lkIG91dHB1dExpbmVDb3ZlcmFnZShmaW5hbCBYTUxTdHJlYW1Xcml0ZXIgeG1sV3JpdGVyLA0KKyAgICAgICAgICAgIGZpbmFsIFN1bW1hcnlJbmZvIG92ZXJhbGwsIGJvb2xlYW4gc2hvd0RldGFpbHMpIHRocm93cyBYTUxTdHJlYW1FeGNlcHRpb24NCisgICAgew0KKyAgICAgICAgb3V0cHV0U3VtbWFyeUluZm8oeG1sV3JpdGVyLCAibGluZS1jb3ZlcmFnZSIsIG92ZXJhbGwsIFN1bW1hcnlUeXBlLkxJTkUsIHNob3dEZXRhaWxzKTsNCisgICAgfQ0KKw0KKyAgICAvKioNCisgICAgICogQ29tbW9uIG1ldGhvZCB0byBvdXRwdXQgbWV0aG9kIGNvdmVyYWdlIGluZm9ybWF0aW9uLg0KKyAgICAgKiANCisgICAgICogQHBhcmFtIHhtbFdyaXRlcg0KKyAgICAgKiBAcGFyYW0gb3ZlcmFsbA0KKyAgICAgKiBAdGhyb3dzIFhNTFN0cmVhbUV4Y2VwdGlvbiANCisgICAgICovDQorICAgIHByaXZhdGUgdm9pZCBvdXRwdXRNZXRob2RDb3ZlcmFnZShmaW5hbCBYTUxTdHJlYW1Xcml0ZXIgeG1sV3JpdGVyLA0KKyAgICAgICAgICAgIGZpbmFsIFN1bW1hcnlJbmZvIG92ZXJhbGwsIGZpbmFsIGJvb2xlYW4gc2hvd0RldGFpbHMpIA0KKyAgICAgICAgICAgIHRocm93cyBYTUxTdHJlYW1FeGNlcHRpb24NCisgICAgew0KKyAgICAgICAgb3V0cHV0U3VtbWFyeUluZm8oeG1sV3JpdGVyLCAibWV0aG9kLWNvdmVyYWdlIiwgb3ZlcmFsbCwgDQorICAgICAgICAgICAgICAgIFN1bW1hcnlUeXBlLk1FVEhPRCwgc2hvd0RldGFpbHMpOw0KKyAgICB9DQorDQorICAgIC8qKg0KKyAgICAgKiBDb21tb24gbWV0aG9kIHRvIG91dHB1dCBzdW1tYXJ5IGluZm9ybWF0aW9uLg0KKyAgICAgKiANCisgICAgICogQHBhcmFtIHhtbFdyaXRlciBUaGUgd3JpdGVyLg0KKyAgICAgKiBAcGFyYW0gZWxlbWVudE5hbWUgVGhlIG5hbWUgb2YgdGhlIGVsZW1lbnQuDQorICAgICAqIEBwYXJhbSBzdW1tYXJ5SW5mbyBUaGUgc3VtbWFyeSBpbmZvIHRvIG91dHB1dC4NCisgICAgICogQHBhcmFtIHN1bW1hcnlUeXBlIENob29zZSBlaXRoZXIgTElORSBvciBNRVRIT0QuDQorICAgICAqIEBwYXJhbSBzaG93RGV0YWlscyBTaG93IHRoZSBsaW5lcy9tZXRob2RzIHRoYXQgd2VyZSBub3QgZXhlY3V0ZWQuDQorICAgICAqIEB0aHJvd3MgWE1MU3RyZWFtRXhjZXB0aW9uIA0KKyAgICAgKi8NCisgICAgcHJpdmF0ZSB2b2lkIG91dHB1dFN1bW1hcnlJbmZvKGZpbmFsIFhNTFN0cmVhbVdyaXRlciB4bWxXcml0ZXIsDQorICAgICAgICAgICAgZmluYWwgU3RyaW5nIGVsZW1lbnROYW1lLA0KKyAgICAgICAgICAgIGZpbmFsIFN1bW1hcnlJbmZvIHN1bW1hcnlJbmZvLCANCisgICAgICAgICAgICBmaW5hbCBTdW1tYXJ5VHlwZSBzdW1tYXJ5VHlwZSwNCisgICAgICAgICAgICBmaW5hbCBib29sZWFuIHNob3dEZXRhaWxzKSB0aHJvd3MgWE1MU3RyZWFtRXhjZXB0aW9uDQorICAgIHsNCisgICAgICAgIHhtbFdyaXRlci53cml0ZVN0YXJ0RWxlbWVudChlbGVtZW50TmFtZSk7DQorDQorICAgICAgICBmaW5hbCBpbnQgZXhlY3V0ZWQ7DQorICAgICAgICBmaW5hbCBpbnQgdG90YWw7DQorICAgICAgICBmaW5hbCBpbnQgcGVyY2VudDsNCisgICAgICAgIFNldDw/PiBpdGVtcyA9IG51bGw7DQorICAgICAgICANCisgICAgICAgIGlmIChzdW1tYXJ5VHlwZSA9PSBTdW1tYXJ5VHlwZS5MSU5FKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGV4ZWN1dGVkID0gc3VtbWFyeUluZm8uZ2V0RXhlY3V0ZWRMaW5lQ291bnQoKTsNCisgICAgICAgICAgICB0b3RhbCA9IHN1bW1hcnlJbmZvLmdldFRvdGFsTGluZUNvdW50KCk7DQorICAgICAgICAgICAgcGVyY2VudCA9IHRvdGFsID09IDAgPyAwIDogZXhlY3V0ZWQgKiAxMDAgLyB0b3RhbDsNCisgICAgICAgICAgICBpZiAoc2hvd0RldGFpbHMpDQorICAgICAgICAgICAgICAgIGl0ZW1zID0gc3VtbWFyeUluZm8uZ2V0VW5leGVjdXRlZExpbmVzKCk7DQorICAgICAgICB9DQorICAgICAgICBlbHNlDQorICAgICAgICB7DQorICAgICAgICAgICAgZXhlY3V0ZWQgPSBzdW1tYXJ5SW5mby5nZXRFeGVjdXRlZE1ldGhvZENvdW50KCk7DQorICAgICAgICAgICAgdG90YWwgPSBzdW1tYXJ5SW5mby5nZXRUb3RhbE1ldGhvZENvdW50KCk7DQorICAgICAgICAgICAgcGVyY2VudCA9IHRvdGFsID09IDAgPyAwIDogZXhlY3V0ZWQgKiAxMDAgLyB0b3RhbDsgDQorICAgICAgICAgICAgaWYgKHNob3dEZXRhaWxzKQ0KKyAgICAgICAgICAgICAgICBpdGVtcyA9IHN1bW1hcnlJbmZvLmdldFVuZXhlY3V0ZWRNZXRob2RzKCk7DQorICAgICAgICB9DQorICAgICAgICANCisgICAgICAgIHhtbFdyaXRlci53cml0ZUF0dHJpYnV0ZSgiZXhlY3V0ZWQiLCBJbnRlZ2VyLnRvU3RyaW5nKGV4ZWN1dGVkKSk7DQorICAgICAgICB4bWxXcml0ZXIud3JpdGVBdHRyaWJ1dGUoInRvdGFsIiwgSW50ZWdlci50b1N0cmluZyh0b3RhbCkpOw0KKyAgICAgICAgeG1sV3JpdGVyLndyaXRlQXR0cmlidXRlKCJwZXJjZW50IiwgSW50ZWdlci50b1N0cmluZyhwZXJjZW50KSk7DQorICAgICAgICANCisgICAgICAgIGlmIChzaG93RGV0YWlscykNCisgICAgICAgICAgICBvdXRwdXRVbmV4ZWN1dGVkU2V0KHhtbFdyaXRlciwgaXRlbXMpOw0KKyAgICAgICAgDQorICAgICAgICB4bWxXcml0ZXIud3JpdGVFbmRFbGVtZW50KCk7DQorICAgIH0NCisNCisgICAgLyoqDQorICAgICAqIE91dHB1dCB1bmV4ZWN1dGVkIGxpbmVzIG9yIG1ldGhvZHMuDQorICAgICAqIA0KKyAgICAgKiBAcGFyYW0geG1sV3JpdGVyDQorICAgICAqIEBwYXJhbSBpdGVtcw0KKyAgICAgKiBAdGhyb3dzIFhNTFN0cmVhbUV4Y2VwdGlvbg0KKyAgICAgKi8NCisgICAgcHJpdmF0ZSB2b2lkIG91dHB1dFVuZXhlY3V0ZWRTZXQoZmluYWwgWE1MU3RyZWFtV3JpdGVyIHhtbFdyaXRlciwNCisgICAgICAgICAgICBmaW5hbCBTZXQ8Pz4gaXRlbXMpIHRocm93cyBYTUxTdHJlYW1FeGNlcHRpb24NCisgICAgew0KKyAgICAgICAgaWYgKGl0ZW1zID09IG51bGwgfHwgaXRlbXMuaXNFbXB0eSgpKQ0KKyAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgIA0KKyAgICAgICAgeG1sV3JpdGVyLndyaXRlU3RhcnRFbGVtZW50KCJ1bmV4ZWN1dGVkLXNldCIpOw0KKyAgICAgICAgDQorICAgICAgICBmb3IgKE9iamVjdCBpdGVtIDogaXRlbXMpDQorICAgICAgICB7DQorICAgICAgICAgICAgeG1sV3JpdGVyLndyaXRlU3RhcnRFbGVtZW50KCJ1bmV4ZWN1dGVkIik7DQorICAgICAgICAgICAgeG1sV3JpdGVyLndyaXRlQ2hhcmFjdGVycyhpdGVtLnRvU3RyaW5nKCkpOw0KKyAgICAgICAgICAgIHhtbFdyaXRlci53cml0ZUVuZEVsZW1lbnQoKTsNCisgICAgICAgIH0NCisgICAgICAgIA0KKyAgICAgICAgeG1sV3JpdGVyLndyaXRlRW5kRWxlbWVudCgpOw0KKyAgICB9DQorDQorfQ0KZGlmZiAtLWdpdCBhL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2UvcmVwb3J0ZXIvc3dmL0RlYnVnTGluZVZpc2l0b3IuamF2YSBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2UvcmVwb3J0ZXIvc3dmL0RlYnVnTGluZVZpc2l0b3IuamF2YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NDhlMTliCi0tLSAvZGV2L251bGwKKysrIGIvQ29kZUNvdmVyYWdlL0phdmFTZXJ2ZXIvamF2YS9zcmMvb3JnL2FwYWNoZS9mbGV4L3Rvb2xzL2NvZGVjb3ZlcmFnZS9yZXBvcnRlci9zd2YvRGVidWdMaW5lVmlzaXRvci5qYXZhCkBAIC0wLDAgKzEsMjM5IEBACisvKgorICoKKyAqICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyAqICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyAqICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgKiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAqICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICogIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICoKKyAqLworCitwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC50b29scy5jb2RlY292ZXJhZ2UucmVwb3J0ZXIuc3dmOworCitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LmFiYy5BQkNDb25zdGFudHM7CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LmFiYy5Qb29sOworaW1wb3J0IG9yZy5hcGFjaGUuZmxleC5hYmMuaW5zdHJ1Y3Rpb25saXN0Lkluc3RydWN0aW9uTGlzdDsKK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXguYWJjLnNlbWFudGljcy5FeGNlcHRpb25JbmZvOworaW1wb3J0IG9yZy5hcGFjaGUuZmxleC5hYmMuc2VtYW50aWNzLkluc3RydWN0aW9uOworaW1wb3J0IG9yZy5hcGFjaGUuZmxleC5hYmMuc2VtYW50aWNzLkxhYmVsOworaW1wb3J0IG9yZy5hcGFjaGUuZmxleC5hYmMuc2VtYW50aWNzLk1ldGhvZEJvZHlJbmZvOworaW1wb3J0IG9yZy5hcGFjaGUuZmxleC5hYmMuc2VtYW50aWNzLk1ldGhvZEluZm87CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LmFiYy5zZW1hbnRpY3MuTmFtZTsKK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXguYWJjLnZpc2l0b3JzLklNZXRob2RCb2R5VmlzaXRvcjsKK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXguYWJjLnZpc2l0b3JzLklNZXRob2RWaXNpdG9yOworaW1wb3J0IG9yZy5hcGFjaGUuZmxleC5hYmMudmlzaXRvcnMuSVRyYWl0c1Zpc2l0b3I7CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LmFiYy52aXNpdG9ycy5OaWxBQkNWaXNpdG9yOworaW1wb3J0IG9yZy5hcGFjaGUuZmxleC5hYmMudmlzaXRvcnMuTmlsVmlzaXRvcnM7CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnRvb2xzLmNvZGVjb3ZlcmFnZS5yZXBvcnRlci5Db3ZlcmFnZURhdGE7CisKKy8qKgorICogR2F0aGVyIGFsbCB0aGUgZGVidWcgbGluZXMgYW5kIG1ldGhvZCBpbiBhIFNXRiBmaWxlLiAKKyAqIExvb2sgZm9yIGRlYnVnX2ZpbGUgYW5kIGRlYnVnX2xpbmUgb3AgY29kZXMgYW5kIHJlY29yZCB0aGVtIHNvIHdlIGtub3cgYWxsCisgKiBvZiBwb3NzaWJsZSBsaW5lcyBpbiB0aGUgU1dGIHRoYXQgY2FuIGJlIGV4ZWN1dGVkLgorICoKKyAqLworcHVibGljIGNsYXNzIERlYnVnTGluZVZpc2l0b3IgZXh0ZW5kcyBOaWxBQkNWaXNpdG9yCit7CisKKyAgICBwcml2YXRlIGZpbmFsIFBvb2w8U3RyaW5nPiBzdHJpbmdQb29sID0gbmV3IFBvb2w8U3RyaW5nPihQb29sLkRlZmF1bHRUeXBlLkhhc0RlZmF1bHRaZXJvKTsKKyAgICBwcml2YXRlIGZpbmFsIENvdmVyYWdlRGF0YSBjb3ZlcmFnZURhdGE7CisKKyAgICAvKioKKyAgICAgKiBDb25zdHJ1Y3RvcgorICAgICAqIAorICAgICAqIEBwYXJhbSBjb3ZlcmFnZURhdGEgVGhlIGNvdmVyYWdlIGRhdGEgd2hlcmUgZGVidWcgbGluZXMgd2lsbCBiZSBhZGRlZAorICAgICAqIGFzIHVuZXhlY3V0ZWQgbGluZXMuIElmIGEgbGluZSBpcyBhbHJlYWR5IGluIHRoZSBjb3ZlcmFnZSBkYXRhIGFuZCBpcworICAgICAqIG1hcmtlZCBhcyBleGVjdXRlZCwgdGhlbiBpdCB3aWxsIHJlbWFpbiBhbiBleGVjdXRlZCBsaW5lLgorICAgICAqLworICAgIHB1YmxpYyBEZWJ1Z0xpbmVWaXNpdG9yKGZpbmFsIENvdmVyYWdlRGF0YSBjb3ZlcmFnZURhdGEpCisgICAgeworICAgICAgICB0aGlzLmNvdmVyYWdlRGF0YSA9IGNvdmVyYWdlRGF0YTsKKyAgICB9CisKKyAgICBAT3ZlcnJpZGUKKyAgICBwdWJsaWMgSU1ldGhvZFZpc2l0b3IgdmlzaXRNZXRob2QoTWV0aG9kSW5mbyBtaW5mbykKKyAgICB7CisgICAgICAgIHJldHVybiBuZXcgTWV0aG9kVmlzaXRvcigpOworICAgIH0KKworICAgIEBPdmVycmlkZQorICAgIHB1YmxpYyB2b2lkIHZpc2l0UG9vbGVkU3RyaW5nKFN0cmluZyBzKQorICAgIHsKKyAgICAgICAgc3RyaW5nUG9vbC5hZGQocyk7CisgICAgfQorCisgICAgLyoqCisgICAgICogVmlzaXQgYWxsIHRoZSBtZXRob2RzIGluIHRoZSBBQkMuCisgICAgICovCisgICAgcHJpdmF0ZSBjbGFzcyBNZXRob2RWaXNpdG9yIGltcGxlbWVudHMgSU1ldGhvZFZpc2l0b3IKKyAgICB7CisgICAgICAgIEBPdmVycmlkZQorICAgICAgICBwdWJsaWMgdm9pZCB2aXNpdEVuZCgpCisgICAgICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIEBPdmVycmlkZQorICAgICAgICBwdWJsaWMgdm9pZCB2aXNpdCgpCisgICAgICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIEBPdmVycmlkZQorICAgICAgICBwdWJsaWMgSU1ldGhvZEJvZHlWaXNpdG9yIHZpc2l0Qm9keShNZXRob2RCb2R5SW5mbyBtYkluZm8pCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBuZXcgTWV0aG9kQm9keVZpc2l0b3IobWJJbmZvKTsKKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAgICAvKioKKyAgICAgKiBWaXNpdCBhbGwgdGhlIG1ldGhvZCBib2RpZXMgaW4gdGhlIEFCQy4KKyAgICAgKi8KKyAgICBwcml2YXRlIGNsYXNzIE1ldGhvZEJvZHlWaXNpdG9yIGltcGxlbWVudHMgSU1ldGhvZEJvZHlWaXNpdG9yCisgICAgeworICAgICAgICBwcml2YXRlIGZpbmFsIE1ldGhvZEJvZHlJbmZvIG1iSW5mbzsKKyAgICAgICAgcHJpdmF0ZSBTdHJpbmcgY3VycmVudEZpbGVuYW1lOworICAgICAgICAKKyAgICAgICAgcHVibGljIE1ldGhvZEJvZHlWaXNpdG9yKE1ldGhvZEJvZHlJbmZvIG1iSW5mbykKKyAgICAgICAgeworICAgICAgICAgICAgdGhpcy5tYkluZm8gPSBtYkluZm87CisgICAgICAgIH0KKworICAgICAgICBAT3ZlcnJpZGUKKyAgICAgICAgcHVibGljIHZvaWQgdmlzaXRFbmQoKQorICAgICAgICB7CisgICAgICAgIH0KKworICAgICAgICBAT3ZlcnJpZGUKKyAgICAgICAgcHVibGljIHZvaWQgbGFiZWxDdXJyZW50KExhYmVsIGwpCisgICAgICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIEBPdmVycmlkZQorICAgICAgICBwdWJsaWMgdm9pZCBsYWJlbE5leHQoTGFiZWwgbCkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgQE92ZXJyaWRlCisgICAgICAgIHB1YmxpYyB2b2lkIHZpc2l0KCkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgQE92ZXJyaWRlCisgICAgICAgIHB1YmxpYyBpbnQgdmlzaXRFeGNlcHRpb24oTGFiZWwgZnJvbSwgTGFiZWwgdG8sIExhYmVsIHRhcmdldCwgCisgICAgICAgICAgICAgICAgTmFtZSBleGNlcHRpb25fdHlwZSwgTmFtZSBjYXRjaF92YXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiAgbWJJbmZvLmFkZEV4Y2VwdGlvbkluZm8obmV3IEV4Y2VwdGlvbkluZm8oZnJvbSwgdG8sIHRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbl90eXBlLCBjYXRjaF92YXIpKTsKKyAgICAgICAgfQorCisgICAgICAgIEBPdmVycmlkZQorICAgICAgICBwdWJsaWMgdm9pZCB2aXNpdEluc3RydWN0aW9uTGlzdChJbnN0cnVjdGlvbkxpc3QgbmV3X2xpc3QpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZvciAoSW5zdHJ1Y3Rpb24gaW5zdCA6IG5ld19saXN0LmdldEluc3RydWN0aW9ucygpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGludCBvcGNvZGUgPSBpbnN0LmdldE9wY29kZSgpOworICAgICAgICAgICAgICAgIGFzc2VydCBvcGNvZGUgIT0gQUJDQ29uc3RhbnRzLk9QX2RlYnVnZmlsZSAmJiAKKyAgICAgICAgICAgICAgICAgICAgICAgIG9wY29kZSAhPSBBQkNDb25zdGFudHMuT1BfZGVidWdsaW5lIDoKKyAgICAgICAgICAgICAgICAgICAgICAgICJ1bmV4cGVjdGVkIGRlYnVnIG9wY29kZSI7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBAT3ZlcnJpZGUKKyAgICAgICAgcHVibGljIHZvaWQgdmlzaXRJbnN0cnVjdGlvbihpbnQgb3Bjb2RlKQorICAgICAgICB7CisgICAgICAgICAgICBhc3NlcnQgb3Bjb2RlICE9IEFCQ0NvbnN0YW50cy5PUF9kZWJ1Z2ZpbGUgJiYgCisgICAgICAgICAgICAgICAgICAgIG9wY29kZSAhPSBBQkNDb25zdGFudHMuT1BfZGVidWdsaW5lIDoKKyAgICAgICAgICAgICAgICAgICAgInVuZXhwZWN0ZWQgZGVidWcgb3Bjb2RlIjsKKyAgICAgICAgfQorCisgICAgICAgIEBPdmVycmlkZQorICAgICAgICBwdWJsaWMgdm9pZCB2aXNpdEluc3RydWN0aW9uKGludCBvcGNvZGUsIGludCBpbW1lZGlhdGVfb3BlcmFuZCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKG9wY29kZSA9PSBBQkNDb25zdGFudHMuT1BfZGVidWdmaWxlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJlY29yZERlYnVnRmlsZShpbW1lZGlhdGVfb3BlcmFuZCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIGlmIChvcGNvZGUgPT0gQUJDQ29uc3RhbnRzLk9QX2RlYnVnbGluZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZWNvcmREZWJ1Z0xpbmUoaW1tZWRpYXRlX29wZXJhbmQpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgQE92ZXJyaWRlCisgICAgICAgIHB1YmxpYyB2b2lkIHZpc2l0SW5zdHJ1Y3Rpb24oaW50IG9wY29kZSwgT2JqZWN0W10gb3BlcmFuZHMpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCBvcGNvZGUgIT0gQUJDQ29uc3RhbnRzLk9QX2RlYnVnZmlsZSAmJiAKKyAgICAgICAgICAgICAgICAgICAgb3Bjb2RlICE9IEFCQ0NvbnN0YW50cy5PUF9kZWJ1Z2xpbmUgOgorICAgICAgICAgICAgICAgICAgICAidW5leHBlY3RlZCBkZWJ1ZyBvcGNvZGUiOworICAgICAgICB9CisKKyAgICAgICAgQE92ZXJyaWRlCisgICAgICAgIHB1YmxpYyB2b2lkIHZpc2l0SW5zdHJ1Y3Rpb24oaW50IG9wY29kZSwgT2JqZWN0IHNpbmdsZV9vcGVyYW5kKQorICAgICAgICB7CisgICAgICAgICAgICBhc3NlcnQgb3Bjb2RlICE9IEFCQ0NvbnN0YW50cy5PUF9kZWJ1Z2xpbmUgOgorICAgICAgICAgICAgICAgICAgICAidW5leHBlY3RlZCBkZWJ1ZyBvcGNvZGUiOworCisgICAgICAgICAgICBpZiAob3Bjb2RlID09IEFCQ0NvbnN0YW50cy5PUF9kZWJ1Z2ZpbGUpCisgICAgICAgICAgICAgICAgcmVjb3JkRGVidWdGaWxlKChTdHJpbmcpc2luZ2xlX29wZXJhbmQpOworICAgICAgICB9CisKKyAgICAgICAgQE92ZXJyaWRlCisgICAgICAgIHB1YmxpYyB2b2lkIHZpc2l0SW5zdHJ1Y3Rpb24oSW5zdHJ1Y3Rpb24gaW5zdHJ1Y3Rpb24pCisgICAgICAgIHsKKyAgICAgICAgICAgIGludCBvcGNvZGUgPSBpbnN0cnVjdGlvbi5nZXRPcGNvZGUoKTsKKyAgICAgICAgICAgIGFzc2VydCBvcGNvZGUgIT0gQUJDQ29uc3RhbnRzLk9QX2RlYnVnZmlsZSAmJiAKKyAgICAgICAgICAgICAgICAgICAgb3Bjb2RlICE9IEFCQ0NvbnN0YW50cy5PUF9kZWJ1Z2xpbmUgOgorICAgICAgICAgICAgICAgICAgICAidW5leHBlY3RlZCBkZWJ1ZyBvcGNvZGUiOworICAgICAgICB9CisKKyAgICAgICAgQE92ZXJyaWRlCisgICAgICAgIHB1YmxpYyBJVHJhaXRzVmlzaXRvciB2aXNpdFRyYWl0cygpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBOaWxWaXNpdG9ycy5OSUxfVFJBSVRTX1ZJU0lUT1I7CisgICAgICAgIH0KKworICAgICAgICAvKioKKyAgICAgICAgICogUmVjb3JkIGEgZGVidWdmaWxlIHN0cmluZworICAgICAgICAgKiAKKyAgICAgICAgICogQHBhcmFtIGZpbGVuYW1lSW5kZXggSW5kZXggb2YgZmlsZW5hbWUgaW4gdGhlIHN0cmluZyBwb29sLgorICAgICAgICAgKi8KKyAgICAgICAgcHJpdmF0ZSB2b2lkIHJlY29yZERlYnVnRmlsZShmaW5hbCBpbnQgZmlsZW5hbWVJbmRleCkKKyAgICAgICAgeworICAgICAgICAgICAgcmVjb3JkRGVidWdGaWxlKHN0cmluZ1Bvb2wuZ2V0VmFsdWVzKCkuZ2V0KGZpbGVuYW1lSW5kZXgpKTsKKyAgICAgICAgfQorCisgICAgICAgIC8qKgorICAgICAgICAgKiBTZXQgdGhlIGZpbGVuYW1lIGluIHRoZSBjb250ZXh0IGZvciBkZWJ1ZyBsaW5lcyB0aGF0CisgICAgICAgICAqIGNvbWUgYWZ0ZXIgaXQuCisgICAgICAgICAqIAorICAgICAgICAgKiBAcGFyYW0gZmlsZW5hbWUgVGhlIGRlYnVnZmlsZSBmaWxlbmFtZS4KKyAgICAgICAgICovCisgICAgICAgIHByaXZhdGUgdm9pZCByZWNvcmREZWJ1Z0ZpbGUoZmluYWwgU3RyaW5nIGZpbGVuYW1lKQorICAgICAgICB7CisgICAgICAgICAgICBjdXJyZW50RmlsZW5hbWUgPSBmaWxlbmFtZTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgLyoqCisgICAgICAgICAqIFJlY29yZCBhIGRlYnVnIGxpbmUgaW50byB0aGUgY292ZXJhZ2UgZGF0YS4KKyAgICAgICAgICogCisgICAgICAgICAqIEBwYXJhbSBsaW5lTnVtYmVyIFRoZSBsaW5lIG51bWJlciBvZiB0aGUgZGVidWcgbGluZSBpbiAKKyAgICAgICAgICogdGhlIGZpbGUgdGhhdCBpcyBzZXQgYnkgdGhlIGxhc3QgZGVidWdmaWxlIG9wY29kZS4KKyAgICAgICAgICovCisgICAgICAgIHByaXZhdGUgdm9pZCByZWNvcmREZWJ1Z0xpbmUoZmluYWwgaW50IGxpbmVOdW1iZXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCBjdXJyZW50RmlsZW5hbWUgIT0gbnVsbCA6IAorICAgICAgICAgICAgICAgICJjdXJyZW50RmlsZW5hbWUgbXVzdCBoYXZlIGJlZW4gc2V0IGJ5IGEgZGVidWdGaWxlIGluc3RydWN0aW9uIjsKKworICAgICAgICAgICAgU3RyaW5nIG1ldGhvZE5hbWUgPSAgbWJJbmZvLmdldE1ldGhvZEluZm8oKS5nZXRNZXRob2ROYW1lKCk7IAorICAgICAgICAgICAgY292ZXJhZ2VEYXRhLmFkZExpbmUoY3VycmVudEZpbGVuYW1lLCBsaW5lTnVtYmVyLCBtZXRob2ROYW1lKTsKKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2UvcmVwb3J0ZXIvc3dmL1NXRkxpbmVSZXBvcnRlci5qYXZhIGIvQ29kZUNvdmVyYWdlL0phdmFTZXJ2ZXIvamF2YS9zcmMvb3JnL2FwYWNoZS9mbGV4L3Rvb2xzL2NvZGVjb3ZlcmFnZS9yZXBvcnRlci9zd2YvU1dGTGluZVJlcG9ydGVyLmphdmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTAwOTE3ZQotLS0gL2Rldi9udWxsCisrKyBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2UvcmVwb3J0ZXIvc3dmL1NXRkxpbmVSZXBvcnRlci5qYXZhCkBAIC0wLDAgKzEsMTQzIEBACisvKgorICoKKyAqICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyAqICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyAqICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgKiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAqICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICogIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICoKKyAqLworCitwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC50b29scy5jb2RlY292ZXJhZ2UucmVwb3J0ZXIuc3dmOworCitpbXBvcnQgamF2YS5pby5CdWZmZXJlZElucHV0U3RyZWFtOworaW1wb3J0IGphdmEuaW8uRmlsZU5vdEZvdW5kRXhjZXB0aW9uOworaW1wb3J0IGphdmEuaW8uSU9FeGNlcHRpb247CitpbXBvcnQgamF2YS5uZXQuVVJMOworaW1wb3J0IGphdmEudXRpbC5Db2xsZWN0aW9uOworCitpbXBvcnQgb3JnLmFwYWNoZS5jb21tb25zLmlvLklPVXRpbHM7CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LmFiYy5BQkNQYXJzZXI7CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LmNvbXBpbGVyLmNsaWVudHMucHJvYmxlbXMuQ29tcGlsZXJQcm9ibGVtQ2F0ZWdvcml6ZXI7CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LmNvbXBpbGVyLmNsaWVudHMucHJvYmxlbXMuUHJvYmxlbUZvcm1hdHRlcjsKK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXguY29tcGlsZXIuY2xpZW50cy5wcm9ibGVtcy5Qcm9ibGVtUHJpbnRlcjsKK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXguY29tcGlsZXIuY2xpZW50cy5wcm9ibGVtcy5Qcm9ibGVtUXVlcnk7CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LmNvbXBpbGVyLmNsaWVudHMucHJvYmxlbXMuV29ya3NwYWNlUHJvYmxlbUZvcm1hdHRlcjsKK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXguY29tcGlsZXIuaW50ZXJuYWwud29ya3NwYWNlcy5Xb3Jrc3BhY2U7CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LmNvbXBpbGVyLnByb2JsZW1zLklDb21waWxlclByb2JsZW07CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnN3Zi5UYWdUeXBlOworaW1wb3J0IG9yZy5hcGFjaGUuZmxleC5zd2YuaW8uU1dGUmVhZGVyOworaW1wb3J0IG9yZy5hcGFjaGUuZmxleC5zd2YudGFncy5Eb0FCQ1RhZzsKK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXguc3dmLnRhZ3MuSVRhZzsKK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXgudG9vbHMuY29kZWNvdmVyYWdlLnJlcG9ydGVyLkNvdmVyYWdlRGF0YTsKKworaW1wb3J0IGNvbS5nb29nbGUuY29tbW9uLmNvbGxlY3QuSW1tdXRhYmxlTGlzdDsKKworLyoqCisgKiBSZWFkIGluIGEgU1dGIGZpbGUgYW5kIHJlcG9ydCB0aGUgZGVidWdzIGxpbmUgd2l0aCB0aGUgbWV0aG9kcyBuYW1lcy4gCisgKgorICogVGhlIGRhdGEgaXMgcmV0dXJuZWQgaW4gYSBNYXAgd2hlcmUgdGhlIGtleSBpcyB0aGUgInBhdGg7cGFja2FnZTtmaWxlIiBzdHJpbmcuCisgKiBUaGUgdmFsdWUgaXMgYW5vdGhlciBNYXAgd2hlcmUgdGhlIGtleSBpcyB0aGUgbGluZSBudW1iZXIgb2YgdGhlIGxpbmUuIFRoZQorICogdmFsdWUgaXMgYSBMaW5lSW5mbyBvYmplY3QuCisgKi8KK3B1YmxpYyBjbGFzcyBTV0ZMaW5lUmVwb3J0ZXIKK3sKKworICAgIHByaXZhdGUgZmluYWwgU3RyaW5nIHBhdGg7CisgICAgCisgICAgLyoqCisgICAgICogQ29uc3RydWN0b3IuCisgICAgICogCisgICAgICogQHBhcmFtIHBhdGggVGhlIHBhdGggb2YgdGhlIFNXRiB0byByZWFkLgorICAgICAqLworICAgIHB1YmxpYyBTV0ZMaW5lUmVwb3J0ZXIoZmluYWwgU3RyaW5nIHBhdGgpCisgICAgeworICAgICAgICB0aGlzLnBhdGggPSBwYXRoOworICAgIH0KKyAgICAKKyAgICAvKioKKyAgICAgKiBSZWFkIHRoZSBkZWJ1ZyBsaW5lcyBmcm9tIHRoZSBTV0YgYW5kIHBvcHVsYXRlIHRoZSBjb3ZlcmFnZSBkYXRhLgorICAgICAqIAorICAgICAqIEBwYXJhbSBjb3ZlcmFnZURhdGEgVGhlIGNvdmVyYWdlIGRhdGEgdG8gYWRkIHRoZSBkZWJ1ZyBsaW5lcyB0by4KKyAgICAgKiBAdGhyb3dzIElPRXhjZXB0aW9uCisgICAgICovCisgICAgcHVibGljIHZvaWQgcmVhZExpbmVzKGZpbmFsIENvdmVyYWdlRGF0YSBjb3ZlcmFnZURhdGEpIAorICAgICAgICAgICAgdGhyb3dzIElPRXhjZXB0aW9uCisgICAgeworICAgICAgICBmaW5hbCBTV0ZSZWFkZXIgc3dmUmVhZGVyID0gbmV3IFNXRlJlYWRlcihmYWxzZSk7CisgICAgICAgIGZpbmFsIFVSTCB1cmwgPSBuZXcgVVJMKHBhdGgpOworICAgICAgICAKKyAgICAgICAgdHJ5CisgICAgICAgIHsKKyAgICAgICAgICAgIHN3ZlJlYWRlci5yZWFkRnJvbSgKKyAgICAgICAgICAgICAgICAgICAgbmV3IEJ1ZmZlcmVkSW5wdXRTdHJlYW0odXJsLm9wZW5TdHJlYW0oKSksCisgICAgICAgICAgICAgICAgICAgIHBhdGgpOworCisgICAgICAgICAgICBQcm9ibGVtUXVlcnkgcHJvYmxlbVF1ZXJ5ID0gbmV3IFByb2JsZW1RdWVyeSgpOworICAgICAgICAgICAgcHJvYmxlbVF1ZXJ5LmFkZEFsbChzd2ZSZWFkZXIuZ2V0UHJvYmxlbXMoKSk7CisgICAgICAgICAgICBpZiAoIXByb2JsZW1RdWVyeS5oYXNFcnJvcnMoKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBmaW5hbCBJbW11dGFibGVMaXN0PElUYWc+IHRhZ3MgPSBJbW11dGFibGVMaXN0LmNvcHlPZihzd2ZSZWFkZXIuaXRlcmF0b3IoKSk7CisgICAgICAgICAgICAgICAgZm9yIChJVGFnIHRhZyA6IHRhZ3MpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAvLyB2aXNpdCB0aGUgRG9BQkMgdGFnCisgICAgICAgICAgICAgICAgICAgIGlmICh0YWcuZ2V0VGFnVHlwZSgpID09IFRhZ1R5cGUuRG9BQkMpCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NEb0FCQygoRG9BQkNUYWcpdGFnLCBjb3ZlcmFnZURhdGEpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBwcmludFByb2JsZW1zKHN3ZlJlYWRlci5nZXRQcm9ibGVtcygpKTsKKyAgICAgICAgfQorICAgICAgICBjYXRjaCAoRmlsZU5vdEZvdW5kRXhjZXB0aW9uIGUpCisgICAgICAgIHsKKyAgICAgICAgCVN5c3RlbS5lcnIucHJpbnRsbigiRXJyb3I6IFVuYWJsZSByZWFkIGRlYnVnIGxpbmVzIGZyb20gIiArIGUuZ2V0TG9jYWxpemVkTWVzc2FnZSgpKTsKKyAgICAgICAgCXRocm93IGU7CisgICAgICAgIH0KKyAgICAgICAgZmluYWxseQorICAgICAgICB7CisgICAgICAgICAgICBJT1V0aWxzLmNsb3NlUXVpZXRseShzd2ZSZWFkZXIpOworICAgICAgICB9CisgICAgfQorICAgIAorICAgIC8qKgorICAgICAqIFBhcnNlIGEgRG9BQkMgcmVjb3JkIGFuZCBhZGQgdGhlIGRlYnVnIGxpbmVzIHRvIHRoZSBjb3ZlcmFnZSBkYXRhLgorICAgICAqIAorICAgICAqIEBwYXJhbSB0YWcgVGhlIEFCQyB0YWcuCisgICAgICogQHBhcmFtIGNvdmVyYWdlRGF0YSBUaGUgY292ZXJhZ2UgZGF0YSB0byBwb3B1bGF0ZS4KKyAgICAgKi8KKyAgICBwcml2YXRlIHZvaWQgcHJvY2Vzc0RvQUJDKGZpbmFsIERvQUJDVGFnIHRhZywgZmluYWwgQ292ZXJhZ2VEYXRhIGNvdmVyYWdlRGF0YSkKKyAgICB7CisgICAgICAgIC8vIGNyZWF0ZSBhIHZpc2l0b3IgdG8gcmVjb3JkIHNvdXJjZSBsaW5lIG51bWJlcnMuCisgICAgICAgIGZpbmFsIEFCQ1BhcnNlciBwYXJzZXIgPSBuZXcgQUJDUGFyc2VyKHRhZy5nZXRBQkNEYXRhKCkpOworICAgICAgICBmaW5hbCBEZWJ1Z0xpbmVWaXNpdG9yIGRlYnVnTGluZVZpc2l0b3IgPSBuZXcgRGVidWdMaW5lVmlzaXRvcihjb3ZlcmFnZURhdGEpOworICAgICAgICBwYXJzZXIucGFyc2VBQkMoZGVidWdMaW5lVmlzaXRvcik7CisgICAgfQorCisgICAgLyoqCisgICAgICogUHJpbnQgb3V0IHByb2JsZW1zIHRvIHN0YW5kYXJkIG91dHB1dC4KKyAgICAgKiAKKyAgICAgKiBAcGFyYW0gcHJvYmxlbXMKKyAgICAgKi8KKyAgICBwcml2YXRlIHZvaWQgcHJpbnRQcm9ibGVtcyhmaW5hbCBDb2xsZWN0aW9uPElDb21waWxlclByb2JsZW0+IHByb2JsZW1zKQorICAgIHsKKyAgICAgICAgZmluYWwgQ29tcGlsZXJQcm9ibGVtQ2F0ZWdvcml6ZXIgY2F0ZWdvcml6ZXIgPSBuZXcgQ29tcGlsZXJQcm9ibGVtQ2F0ZWdvcml6ZXIoKTsKKyAgICAgICAgZmluYWwgUHJvYmxlbUZvcm1hdHRlciBmb3JtYXR0ZXIgPSBuZXcgV29ya3NwYWNlUHJvYmxlbUZvcm1hdHRlcihuZXcgV29ya3NwYWNlKCksCisgICAgICAgICAgICAgICAgY2F0ZWdvcml6ZXIpOworICAgICAgICBmaW5hbCBQcm9ibGVtUHJpbnRlciBwcmludGVyID0gbmV3IFByb2JsZW1QcmludGVyKGZvcm1hdHRlciwgU3lzdGVtLmVycik7CisKKyAgICAgICAgcHJpbnRlci5wcmludFByb2JsZW1zKHByb2JsZW1zKTsKKyAgICB9CisKKyAgICAKK30KZGlmZiAtLWdpdCBhL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2Uvc2VydmVyL0NvZGVDb3ZlcmFnZVNlcnZlci5qYXZhIGIvQ29kZUNvdmVyYWdlL0phdmFTZXJ2ZXIvamF2YS9zcmMvb3JnL2FwYWNoZS9mbGV4L3Rvb2xzL2NvZGVjb3ZlcmFnZS9zZXJ2ZXIvQ29kZUNvdmVyYWdlU2VydmVyLmphdmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmFlYTljMwotLS0gL2Rldi9udWxsCisrKyBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2Uvc2VydmVyL0NvZGVDb3ZlcmFnZVNlcnZlci5qYXZhCkBAIC0wLDAgKzEsNTU2IEBACisvKgorICoKKyAqICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyAqICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyAqICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgKiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAqICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICogIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICoKKyAqLworCitwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC50b29scy5jb2RlY292ZXJhZ2Uuc2VydmVyOworCitpbXBvcnQgamF2YS5pby5CdWZmZXJlZFJlYWRlcjsKK2ltcG9ydCBqYXZhLmlvLkJ1ZmZlcmVkV3JpdGVyOworaW1wb3J0IGphdmEuaW8uRmlsZTsKK2ltcG9ydCBqYXZhLmlvLkZpbGVOb3RGb3VuZEV4Y2VwdGlvbjsKK2ltcG9ydCBqYXZhLmlvLkZpbGVSZWFkZXI7CitpbXBvcnQgamF2YS5pby5GaWxlV3JpdGVyOworaW1wb3J0IGphdmEuaW8uSU9FeGNlcHRpb247CitpbXBvcnQgamF2YS5pby5JbnB1dFN0cmVhbTsKK2ltcG9ydCBqYXZhLmlvLklucHV0U3RyZWFtUmVhZGVyOworaW1wb3J0IGphdmEuaW8uT3V0cHV0U3RyZWFtV3JpdGVyOworaW1wb3J0IGphdmEuaW8uUHJpbnRXcml0ZXI7CitpbXBvcnQgamF2YS5pby5SZWFkZXI7CitpbXBvcnQgamF2YS5pby5VbnN1cHBvcnRlZEVuY29kaW5nRXhjZXB0aW9uOworaW1wb3J0IGphdmEubmV0LkNvbm5lY3RFeGNlcHRpb247CitpbXBvcnQgamF2YS5uZXQuU2VydmVyU29ja2V0OworaW1wb3J0IGphdmEubmV0LlNvY2tldDsKK2ltcG9ydCBqYXZhLm5ldC5VUkw7CitpbXBvcnQgamF2YS5uZXQuVVJMRGVjb2RlcjsKK2ltcG9ydCBqYXZhLnV0aWwuQXJyYXlMaXN0OworaW1wb3J0IGphdmEudXRpbC5MaXN0OworaW1wb3J0IGphdmEudXRpbC5Qcm9wZXJ0aWVzOworCisvKioKKyAqIE1haW4gY2xhc3Mgb2YgdGhlIENvZGUgQ292ZXJhZ2UgU2VydmVyLgorICogCisgKiBUaGlzIGNsYXNzIHNlcnZlcyB0aGUgY29tbWFuZCBwb3J0LgorICogQ3JlYXRlcyB0aHJlYWRzIHRvIHNlcnZlIHRoZSBkYXRhIHBvcnQgYW5kIHRoZSBwb2xpY3kgZmlsZSBwb3J0LgorICoKKyAqLworcHVibGljIGNsYXNzIENvZGVDb3ZlcmFnZVNlcnZlcgoreworICAgIHByaXZhdGUgc3RhdGljIGVudW0gRXhpdENvZGUKKyAgICB7CisgICAgICAgIFNVQ0NFU1MoMCksCisgICAgICAgIEhFTFAoMSksCisgICAgICAgIElOVkFMSURfT1BUSU9OUygyKSwKKyAgICAgICAgRVJST1JTKDMpOworICAgICAgICAKKyAgICAgICAgcHJpdmF0ZSBmaW5hbCBpbnQgZXhpdENvZGU7CisgICAgICAgIAorICAgICAgICBwcml2YXRlIEV4aXRDb2RlKGludCBleGl0Q29kZSkKKyAgICAgICAgeworICAgICAgICAgICAgdGhpcy5leGl0Q29kZSA9IGV4aXRDb2RlOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBwdWJsaWMgaW50IGdldEV4aXRDb2RlKCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGV4aXRDb2RlOworICAgICAgICB9CisgICAgfQorICAgIAorICAgIC8qKgorICAgICAqIENvbW1hbmRzCisgICAgICovCisgICAgcHVibGljIHN0YXRpYyBmaW5hbCBTdHJpbmcgU1RBUlRfQ09NTUFORCA9ICJzdGFydCI7CisgICAgcHVibGljIHN0YXRpYyBmaW5hbCBTdHJpbmcgU1RPUF9DT01NQU5EID0gInN0b3AiOworICAgIHB1YmxpYyBzdGF0aWMgZmluYWwgU3RyaW5nIFNUQVRVU19DT01NQU5EID0gInN0YXR1cyI7CisgICAgcHVibGljIHN0YXRpYyBmaW5hbCBTdHJpbmcgQUxJVkVfQ09NTUFORCA9ICJhbGl2ZSI7CisgICAgCisgICAgLyoqCisgICAgICogUmVzcG9uc2VzCisgICAgICovCisgICAgcHVibGljIHN0YXRpYyBmaW5hbCBTdHJpbmcgU1VDQ0VTU19SRVNQT05TRSA9ICIwIjsKKyAgICBwdWJsaWMgc3RhdGljIGZpbmFsIFN0cmluZyBFUlJPUl9SRVNQT05TRSA9ICItMSI7CisgICAgCisgICAgLyoqCisgICAgICogRGVmYXVsdCBjb25maWd1cmF0aW9uIHZhbHVlcworICAgICAqLworICAgIHByaXZhdGUgc3RhdGljIGZpbmFsIFN0cmluZyBERUZBVUxUX0hPU1QgPSAibG9jYWxob3N0IjsKKyAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBpbnQgREVGQVVMVF9EQVRBX1BPUlQgPSA5MDk3OworICAgIHByaXZhdGUgc3RhdGljIGZpbmFsIGludCBERUZBVUxUX0NPTU1BTkRfUE9SVCA9IDkwOTg7CisgICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgaW50IERFRkFVTFRfUE9MSUNZX0ZJTEVfUE9SVCA9IDk4NDM7CisgICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgU3RyaW5nIERFRkFVTFRfUFJFTE9BRF9TV0YgPSAiQ29kZUNvdmVyYWdlUHJlbG9hZFNXRi5zd2YiOyAKKyAgICAKKyAgICAvKioKKyAgICAgKiBjb25maWcucHJvcGVydGllcyBrZXlzCisgICAgICovCisgICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgU3RyaW5nIE1NX0NGR19QQVRIID0gIm1tQ2ZnUGF0aCI7CisgICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgU3RyaW5nIFBSRUxPQURfU1dGX0tFWSA9ICJwcmVsb2FkU1dGIjsKKyAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcgREFUQV9ESVJFQ1RPUllfS0VZID0gImRhdGFEaXJlY3RvcnkiOworICAgIHByaXZhdGUgc3RhdGljIGZpbmFsIFN0cmluZyBIT1NUX0tFWSA9ICJob3N0IjsKKyAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcgREFUQV9QT1JUX0tFWSA9ICJkYXRhUG9ydCI7CisgICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgU3RyaW5nIENPTU1BTkRfUE9SVF9LRVkgPSAiY29tbWFuZFBvcnQiOworICAgIHByaXZhdGUgc3RhdGljIGZpbmFsIFN0cmluZyBQT0xJQ1lfRklMRV9QT1JUX0tFWSA9ICJwb2xpY3lGaWxlUG9ydCI7CisgICAgCisgICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgYm9vbGVhbiBBRERfUFJFTE9BRFNXRl9LRVkgPSB0cnVlOworICAgIHByaXZhdGUgc3RhdGljIGZpbmFsIGJvb2xlYW4gUkVNT1ZFX1BSRUxPQURTV0ZfS0VZID0gZmFsc2U7CisKKyAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcgQ0NTRVJWRVJfVkVSU0lPTiA9ICIwLjkiOworICAgIAorICAgIHByaXZhdGUgc3RhdGljIGJvb2xlYW4gc3RhcnQ7CisgICAgcHJpdmF0ZSBzdGF0aWMgYm9vbGVhbiBzdG9wOworICAgCisgICAgLyoqCisgICAgICogQHBhcmFtIGFyZ3MKKyAgICAgKi8KKyAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSAKKyAgICB7CisgICAgICAgIENvZGVDb3ZlcmFnZVNlcnZlciBzZXJ2ZXIgPSBuZXcgQ29kZUNvdmVyYWdlU2VydmVyKCk7CisgICAgICAgIGZpbmFsIGludCBleGl0Q29kZSA9IHNlcnZlci5tYWluTm9FeGl0KGFyZ3MpOworICAgICAgICBTeXN0ZW0uZXhpdChleGl0Q29kZSk7CisgICAgfQorCisgICAgLyoqCisgICAgICogRW50cnkgcG9pbnQgZm9yIHRoZSBzZXJ2ZXIgaW5zdGFuY2UuCisgICAgICogCisgICAgICogQHBhcmFtIGFyZ3MgQ29tbWFuZCBsaW5lIGFyZ3MKKyAgICAgKiBAcmV0dXJuIE9uZSBvZiBFWElUX0NPREUgZW51bS4KKyAgICAgKi8KKyAgICBwcml2YXRlIGludCBtYWluTm9FeGl0KFN0cmluZ1tdIGFyZ3MpCisgICAgeworICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkFwYWNoZSBGbGV4IENvZGUgQ292ZXJhZ2UgU2VydmVyIik7CisgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVmVyc2lvbiAiICsgQ0NTRVJWRVJfVkVSU0lPTik7CisgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiIik7CisKKyAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09IDAgfHwKKyAgICAgICAgICAgIGFyZ3MubGVuZ3RoID09IDEgJiYgIi1oZWxwIi5lcXVhbHMoYXJnc1swXSkpCisgICAgICAgIHsKKyAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVXNhZ2U6IGNjc2VydmVyIFtzdGFydCB8IHN0b3BdIik7CisgICAgICAgICAgICByZXR1cm4gRXhpdENvZGUuSEVMUC5nZXRFeGl0Q29kZSgpOworICAgICAgICB9CisKKyAgICAgICAgdHJ5CisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghaW5pdGlhbGl6ZVByb3BlcnRpZXMoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gRXhpdENvZGUuSU5WQUxJRF9PUFRJT05TLmdldEV4aXRDb2RlKCk7CisKKyAgICAgICAgICAgIHByb2Nlc3NBcmdzKGFyZ3MpOworICAgICAgICAgICAgaWYgKHN0YXJ0KQorICAgICAgICAgICAgICAgIHN0YXJ0KCk7CisgICAgICAgICAgICBlbHNlIGlmIChzdG9wKQorICAgICAgICAgICAgICAgIHN0b3AoKTsKKyAgICAgICAgfQorICAgICAgICBjYXRjaCAoSU9FeGNlcHRpb24gZSkKKyAgICAgICAgeworICAgICAgICAgICAgZS5wcmludFN0YWNrVHJhY2UoKTsKKyAgICAgICAgICAgIHJldHVybiBFeGl0Q29kZS5FUlJPUlMuZ2V0RXhpdENvZGUoKTsKKyAgICAgICAgfQorICAgICAgICBjYXRjaCAoSW50ZXJydXB0ZWRFeGNlcHRpb24gZSkKKyAgICAgICAgeworICAgICAgICAgICAgZS5wcmludFN0YWNrVHJhY2UoKTsKKyAgICAgICAgICAgIHJldHVybiBFeGl0Q29kZS5FUlJPUlMuZ2V0RXhpdENvZGUoKTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBFeGl0Q29kZS5TVUNDRVNTLmdldEV4aXRDb2RlKCk7CisgICAgfQorCisgICAgcHJpdmF0ZSBQcm9wZXJ0aWVzIGNvbmZpZyA9IG5ldyBQcm9wZXJ0aWVzKCk7CisgICAgcHJpdmF0ZSBib29sZWFuIGxpc3RlbmluZyA9IHRydWU7CisgICAgcHJpdmF0ZSBTdHJpbmcgaG9zdDsKKyAgICBwcml2YXRlIGludCBkYXRhUG9ydDsKKyAgICBwcml2YXRlIGludCBjb21tYW5kUG9ydDsKKyAgICBwcml2YXRlIGludCBwb2xpY3lGaWxlUG9ydDsKKyAgICBwcml2YXRlIFN0cmluZyBwcmVsb2FkU1dGUGF0aDsKKyAgICAKKyAgICAvKioKKyAgICAgKiBDb25zdHJ1Y3Rvci4KKyAgICAgKi8KKyAgICBwdWJsaWMgQ29kZUNvdmVyYWdlU2VydmVyKCkgCisgICAgeworICAgIH0KKyAgICAKKyAgICBwcml2YXRlIHZvaWQgcHJvY2Vzc0FyZ3MoZmluYWwgU3RyaW5nW10gYXJncykKKyAgICB7CisgICAgICAgIGZvciAoZmluYWwgU3RyaW5nIGFyZyA6IGFyZ3MpCisgICAgICAgIHsKKyAgICAgICAgICAgIHN3aXRjaCAoYXJnKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNhc2UgU1RBUlRfQ09NTUFORDoKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGNhc2UgU1RPUF9DT01NQU5EOgorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgc3RvcCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgU3lzdGVtLmVyci5wcmludGxuKCJ1bmV4cGVjdGVkIGFyZ3VtZW50ICIgKyBhcmcpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIC8qKgorICAgICAqIFN0YXJ0cyB0aGUgc2VydmVyLgorICAgICAqIAorICAgICAqIEB0aHJvd3MgSU9FeGNlcHRpb24KKyAgICAgKiBAdGhyb3dzIEludGVycnVwdGVkRXhjZXB0aW9uCisgICAgICovCisgICAgcHVibGljIHZvaWQgc3RhcnQoKSB0aHJvd3MgSU9FeGNlcHRpb24sIEludGVycnVwdGVkRXhjZXB0aW9uCisgICAgeworICAgICAgICBpZiAoaXNBbGl2ZSgpKQorICAgICAgICB7CisgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkFwYWNoZSBGbGV4IENvZGUgQ292ZXJhZ2UgU2VydmVyIGlzIGFscmVhZHkgcnVubmluZyIpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBmaW5hbCBTdHJpbmcgZGF0YVByb3BlcnR5ID0gY29uZmlnLmdldFByb3BlcnR5KERBVEFfRElSRUNUT1JZX0tFWSk7CisgICAgICAgIGZpbmFsIEZpbGUgZGF0YURpcmVjdG9yeTsKKyAgICAgICAgCisgICAgICAgIGlmIChkYXRhUHJvcGVydHkgPT0gbnVsbCkKKyAgICAgICAgICAgIGRhdGFEaXJlY3RvcnkgPSBuZXcgRmlsZShTeXN0ZW0uZ2V0UHJvcGVydHkoInVzZXIuaG9tZSIpLCAiY2NkYXRhIik7CisgICAgICAgIGVsc2UgCisgICAgICAgICAgICBkYXRhRGlyZWN0b3J5ID0gbmV3IEZpbGUoZGF0YVByb3BlcnR5KTsgCisgICAgICAgIAorICAgICAgICBpZiAoIWRhdGFEaXJlY3RvcnkuZXhpc3RzKCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIG1rZGlyKCkgaXMgY3JlYXRpbmcgdGhlIGRpcmVjdG9yeSBidXQgcmV0dXJuaW5nIGZhbHNlLCBzbworICAgICAgICAgICAgLy8gcmUtdGVzdCB3aXRoIGV4aXN0cygpCisgICAgICAgICAgICBpZiAoIWRhdGFEaXJlY3RvcnkubWtkaXIoKSAmJiAhZGF0YURpcmVjdG9yeS5leGlzdHMoKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBTeXN0ZW0uZXJyLnByaW50bG4oIkVycm9yOiBEYXRhIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCBhbmQgdW5hYmxlIHRvIGNyZWF0ZSBpdDogIiArIGRhdGFEaXJlY3RvcnkuZ2V0QWJzb2x1dGVQYXRoKCkpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgLy8gbW9kaWZ5IG1tLmNmZyBmaWxlCisgICAgICAgIHVwZGF0ZU1NQ0ZHKEFERF9QUkVMT0FEU1dGX0tFWSk7CisKKyAgICAgICAgLy8gY3JlYXRlIHRocmVhZCB0byBsaXN0ZW4gZm9yIGNvbm5lY3Rpb25zIG9uIHRoZSBkYXRhIHBvcnQKKyAgICAgICAgZmluYWwgRGF0YVNvY2tldEFjY2VwdGVyIGRhdGFTb2NrZXRBY2NlcHRlciA9IAorICAgICAgICAgICAgICAgIG5ldyBEYXRhU29ja2V0QWNjZXB0ZXIoaG9zdCwgZGF0YVBvcnQsIGRhdGFEaXJlY3RvcnkpOworICAgICAgICBmaW5hbCBUaHJlYWQgZGF0YVRocmVhZCA9IG5ldyBUaHJlYWQoZGF0YVNvY2tldEFjY2VwdGVyKTsKKyAgICAgICAgZGF0YVRocmVhZC5zdGFydCgpOworICAgICAgICAKKyAgICAgICAgLy8gY3JlYXRlIHRocmVhZCB0byBsaXN0ZW4gdGhlIHBvbGljeSBmaWxlIHBvcnQgYW5kIHNlcnZlciB1cCB0aGUgc29ja2V0IHBvbGljeSBmaWxlLgorICAgICAgICBmaW5hbCBQb2xpY3lGaWxlU2VydmVyIHBvbGljeUZpbGVTZXJ2ZXIgPSBuZXcgUG9saWN5RmlsZVNlcnZlcihob3N0LAorICAgICAgICAgICAgICAgIGRhdGFQb3J0LCBwb2xpY3lGaWxlUG9ydCk7CisgICAgICAgIGZpbmFsIFRocmVhZCBwb2xpY3lGaWxlU2VydmVyVGhyZWFkID0gbmV3IFRocmVhZChwb2xpY3lGaWxlU2VydmVyKTsKKyAgICAgICAgcG9saWN5RmlsZVNlcnZlclRocmVhZC5zdGFydCgpOworICAgICAgICAKKyAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJsaXN0ZW5pbmcgb24gcG9ydCAiICsgZGF0YVBvcnQpOworCisgICAgICAgIC8vIHJlYWQgY29tbWFuZHMgb24gY29tbWFuZCBzb2NrZXQKKyAgICAgICAgZmluYWwgU2VydmVyU29ja2V0IGNvbW1hbmRTb2NrZXQgPSBuZXcgU2VydmVyU29ja2V0KGNvbW1hbmRQb3J0KTsKKyAgICAgICAgCisgICAgICAgIHRyeQorICAgICAgICB7CisgICAgICAgICAgICB3aGlsZSAobGlzdGVuaW5nKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRyeSAoU29ja2V0IHNvY2tldCA9IGNvbW1hbmRTb2NrZXQuYWNjZXB0KCk7CisgICAgICAgICAgICAgICAgICAgICBJbnB1dFN0cmVhbVJlYWRlciByZWFkZXIgPSBuZXcgSW5wdXRTdHJlYW1SZWFkZXIoc29ja2V0LmdldElucHV0U3RyZWFtKCkpOworICAgICAgICAgICAgICAgICAgICAgT3V0cHV0U3RyZWFtV3JpdGVyIHdyaXRlciA9IG5ldyBPdXRwdXRTdHJlYW1Xcml0ZXIoc29ja2V0LmdldE91dHB1dFN0cmVhbSgpKSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIC8vIHdhaXQgZm9yIHJlcXVlc3QKKyAgICAgICAgICAgICAgICAgICAgY2hhcltdIGNidWYgPSBuZXcgY2hhclsyNTZdOworICAgICAgICAgICAgICAgICAgICBpbnQgY2hhcnNSZWFkID0gcmVhZGVyLnJlYWQoY2J1Zik7CisgICAgICAgICAgICAgICAgICAgIGlmIChjaGFyc1JlYWQgPiAwKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzQ29tbWFuZChyZWFkZXIsIHdyaXRlciwgU3RyaW5nLnZhbHVlT2YoY2J1ZikudHJpbSgpKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBmaW5hbGx5CisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbW1hbmRTb2NrZXQuY2xvc2UoKTsKKyAgICAgICAgICAgIHBvbGljeUZpbGVTZXJ2ZXIuY2xvc2UoKTsKKyAgICAgICAgICAgIHBvbGljeUZpbGVTZXJ2ZXJUaHJlYWQuam9pbigpOworICAgICAgICAgICAgZGF0YVNvY2tldEFjY2VwdGVyLmNsb3NlKCk7CisgICAgICAgICAgICBkYXRhVGhyZWFkLmpvaW4oKTsKKyAgICAgICAgICAgIHVwZGF0ZU1NQ0ZHKFJFTU9WRV9QUkVMT0FEU1dGX0tFWSk7ICAgICAgICAJCisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigic3RvcHBpbmcgQXBhY2hlIEZsZXggQ29kZSBDb3ZlcmFnZSBTZXJ2ZXIiKTsKKyAgICB9CisKKyAgICAvKioKKyAgICAgKiBQcm9jZXNzIGEgc2VydmVyIGNvbW1hbmQuCisgICAgICogCisgICAgICogQHBhcmFtIHJlYWRlciBUaGUgc29ja2V0IHJlYWRlci4KKyAgICAgKiBAcGFyYW0gd3JpdGVyIFRoZSBzb2NrZXQgd3JpdGVyLgorICAgICAqIEBwYXJhbSBjb21tYW5kIFRoZSBjb21tYW5kIHRvIHByb2Nlc3MuCisgICAgICogQHRocm93cyBJT0V4Y2VwdGlvbiAKKyAgICAgKi8KKyAgICBwcml2YXRlIHZvaWQgcHJvY2Vzc0NvbW1hbmQoZmluYWwgSW5wdXRTdHJlYW1SZWFkZXIgcmVhZGVyLCAKKyAgICAgICAgICAgIGZpbmFsIE91dHB1dFN0cmVhbVdyaXRlciB3cml0ZXIsIGZpbmFsIFN0cmluZyBjb21tYW5kKSB0aHJvd3MgSU9FeGNlcHRpb24KKyAgICB7CisgICAgICAgIFN0cmluZyByZXNwb25zZSA9IFNVQ0NFU1NfUkVTUE9OU0U7CisgICAgICAgIAorICAgICAgICBzd2l0Y2ggKGNvbW1hbmQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNhc2UgU1RPUF9DT01NQU5EOgorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGxpc3RlbmluZyA9IGZhbHNlOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY2FzZSBBTElWRV9DT01NQU5EOgorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXNwb25zZSA9IEVSUk9SX1JFU1BPTlNFOworICAgICAgICAgICAgICAgIFN5c3RlbS5lcnIucHJpbnRsbigiY2NzZXJ2ZXI6IHVua25vd24gY29tbWFuZCAiICsgY29tbWFuZCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIC8vIGFja25vd2xlZGdlIGNvbW1hbmQKKyAgICAgICAgd3JpdGVyLmFwcGVuZChyZXNwb25zZSk7CisgICAgICAgIHdyaXRlci5mbHVzaCgpOworICAgIH0KKworICAgIC8qKgorICAgICAqIEluaXRpYWxpemUgcHJvcGVydGllcyBmcm9tIGNvbmZpZyBmaWxlLgorICAgICAqIFZhbGlkYXRlIHRoZSBwcm9wZXJ0aWVzLgorICAgICAqIAorICAgICAqIEByZXR1cm4gdHJ1ZSBpZiB0aGUgcHJvcGVydGllcyBhcmUgdmFsaWQsIGZhbHNlIG90aGVyd2lzZS4KKyAgICAgKiBAdGhyb3dzIElPRXhjZXB0aW9uCisgICAgICovCisgICAgcHJpdmF0ZSBib29sZWFuIGluaXRpYWxpemVQcm9wZXJ0aWVzKCkgdGhyb3dzIElPRXhjZXB0aW9uCisgICAgeworICAgICAgICByZWFkUHJvcGVydGllcygpOworICAgICAgICAKKyAgICAgICAgaG9zdCA9IGNvbmZpZy5nZXRQcm9wZXJ0eShIT1NUX0tFWSwgREVGQVVMVF9IT1NUKTsKKyAgICAgICAgZGF0YVBvcnQgPSBnZXRJbnRlZ2VyUHJvcGVydHkoREFUQV9QT1JUX0tFWSwgREVGQVVMVF9EQVRBX1BPUlQpOworICAgICAgICBjb21tYW5kUG9ydCA9IGdldEludGVnZXJQcm9wZXJ0eShDT01NQU5EX1BPUlRfS0VZLCBERUZBVUxUX0NPTU1BTkRfUE9SVCk7CisgICAgICAgIHBvbGljeUZpbGVQb3J0ID0gZ2V0SW50ZWdlclByb3BlcnR5KFBPTElDWV9GSUxFX1BPUlRfS0VZLCBERUZBVUxUX1BPTElDWV9GSUxFX1BPUlQpOworCisgICAgICAgIC8vIGdldCBhYnNvbHV0ZSBwYXRoIG9mIHByZWxvYWRTV0YuCisgICAgICAgIGlmICghaW5pdGlhbGl6ZVByZWxvYWRTV0YoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIC8qKgorICAgICAqIEluaXRpYWxpemUgdGhlIHByZWxvYWRTV0YgdmFsdWUuCisgICAgICogCisgICAgICogQHJldHVybiB0cnVlIGlmIHZhbHVlLCBmYWxzZSBvdGhlcndpc2UuCisgICAgICogQHRocm93cyBVbnN1cHBvcnRlZEVuY29kaW5nRXhjZXB0aW9uIAorICAgICAqLworICAgIHByaXZhdGUgYm9vbGVhbiBpbml0aWFsaXplUHJlbG9hZFNXRigpIHRocm93cyBVbnN1cHBvcnRlZEVuY29kaW5nRXhjZXB0aW9uCisgICAgeworICAgICAgICAvLyBpZiB0aGUgcGF0aCBvZiB0aGUgcHJlbG9hZCBTV0YgaXMgbm90IGNvbmZpZ3VyZWQsIHRoZW4gdHJ5IHRvIGxvY2F0ZQorICAgICAgICAvLyBpdCBpbiB0aGUgc2FtZSBkaXJlY3RvcnkgYXMgdGhlIGphciBjb250YWluaW5nIHRoaXMgY2xhc3MuCisgICAgICAgIHByZWxvYWRTV0ZQYXRoID0gY29uZmlnLmdldFByb3BlcnR5KFBSRUxPQURfU1dGX0tFWSwgREVGQVVMVF9QUkVMT0FEX1NXRik7CisgICAgICAgIEZpbGUgcHJlbG9hZFNXRkZpbGUgPSBuZXcgRmlsZShwcmVsb2FkU1dGUGF0aCk7CisgICAgICAgIGlmICghcHJlbG9hZFNXRkZpbGUuZXhpc3RzKCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIFVSTCBwcmVsb2FkU1dGVVJMID0gZ2V0Q2xhc3MoKS5nZXRDbGFzc0xvYWRlcigpLmdldFJlc291cmNlKHByZWxvYWRTV0ZQYXRoKTsKKyAgICAgICAgICAgIGlmIChwcmVsb2FkU1dGVVJMICE9IG51bGwpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcHJlbG9hZFNXRlBhdGggPSBVUkxEZWNvZGVyLmRlY29kZShwcmVsb2FkU1dGVVJMLmdldFBhdGgoKSwgIlVURi04Iik7CisgICAgICAgICAgICAgICAgcHJlbG9hZFNXRkZpbGUgPSBuZXcgRmlsZShwcmVsb2FkU1dGUGF0aCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmICghcHJlbG9hZFNXRkZpbGUuZXhpc3RzKCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJwcmVsb2FkU1dGIG5vdCBmb3VuZDogIiArIHByZWxvYWRTV0ZQYXRoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHByZWxvYWRTV0ZQYXRoID0gcHJlbG9hZFNXRkZpbGUuZ2V0QWJzb2x1dGVQYXRoKCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIC8qKgorICAgICAqIEhhbmRsZSBOdW1iZXJGb3JtYXRFeGVwdGlvbnMgdmFsdWVzIGluIHRoZSBjb25maWd1cmF0aW9uIGZpbGUuCisgICAgICogCisgICAgICogQHBhcmFtIGtleQorICAgICAqIEBwYXJhbSBkZWZhdWx0VmFsdWUKKyAgICAgKiBAcmV0dXJuIGludGVnZXIgdmFsdWUgb2YgYSBjb25maWd1cmF0aW9uIHZhbHVlLgorICAgICAqLworICAgIHByaXZhdGUgaW50IGdldEludGVnZXJQcm9wZXJ0eShTdHJpbmcga2V5LCBpbnQgZGVmYXVsdFZhbHVlKQorICAgIHsKKyAgICAgICAgU3RyaW5nIHZhbHVlID0gY29uZmlnLmdldFByb3BlcnR5KGtleSk7CisgICAgICAgIGludCByZXN1bHQgPSBkZWZhdWx0VmFsdWU7CisgICAgICAgIAorICAgICAgICB0cnkKKyAgICAgICAgeworICAgICAgICAgICAgcmVzdWx0ID0gSW50ZWdlci52YWx1ZU9mKHZhbHVlKTsgICAgICAgICAgICAKKyAgICAgICAgfQorICAgICAgICBjYXRjaCAoTnVtYmVyRm9ybWF0RXhjZXB0aW9uIGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIGlnbm9yZSwgcmVzdWx0IGlzIGFscmVhZHkgc2V0IHRvIGRlZnVhbHQgdmFsdWUKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisgICAgCisgICAgLyoqCisgICAgICogU2VuZCBjb21tYW5kIHRvIHRoZSBjb21tYW5kIHBvcnQgdG8gc3RvcCB0aGUgc2VydmVyLgorICAgICAqIAorICAgICAqIEB0aHJvd3MgSU9FeGNlcHRpb24KKyAgICAgKi8KKyAgICBwdWJsaWMgdm9pZCBzdG9wKCkgdGhyb3dzIElPRXhjZXB0aW9uCisgICAgeworICAgICAgICBpZiAoIWlzQWxpdmUoKSkKKyAgICAgICAgeworICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJBcGFjaGUgRmxleCBDb2RlIENvdmVyYWdlIFNlcnZlciBub3QgcnVubmluZyIpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgLy8gY29ubmVjdCB0byB0aGUgc2VydmVyIGFuZCBzZW5kIGEgY29tbWFuZAorICAgICAgICBzZW5kQ29tbWFuZChTVE9QX0NPTU1BTkQpOworICAgIH0KKyAgICAKKyAgICAvKioKKyAgICAgKiBSZWFkIHByb3BlcnRpZXMgZnJvbSB0aGUgY29uZmlnLnByb3BlcnRpZXMgZmlsZS4KKyAgICAgKiAKKyAgICAgKiBAdGhyb3dzIElPRXhjZXB0aW9uCisgICAgICovCisgICAgcHJpdmF0ZSB2b2lkIHJlYWRQcm9wZXJ0aWVzKCkgdGhyb3dzIElPRXhjZXB0aW9uCisgICAgeworICAgICAgICB0cnkgKElucHV0U3RyZWFtIGlucHV0U3RyZWFtID0gZ2V0Q2xhc3MoKS5nZXRDbGFzc0xvYWRlcigpLgorICAgICAgICAgICAgICAgIGdldFJlc291cmNlQXNTdHJlYW0oImNjc2VydmVyLnByb3BlcnRpZXMiKSkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKGlucHV0U3RyZWFtICE9IG51bGwpCisgICAgICAgICAgICAgICAgY29uZmlnLmxvYWQoaW5wdXRTdHJlYW0pOworICAgICAgICB9CisgICAgfQorICAgIAorICAgIC8qKgorICAgICAqIFVwZGF0ZSB0aGUgdXNlcidzIG1tLmNmZyBmaWxlIHRvIGVpdGhlciBhZGQgb3IgcmVtb3ZlIHRoZSBwcmVsb2FkU1dGCisgICAgICoga2V5LgorICAgICAqIAorICAgICAqIEBwYXJhbSBhZGRQcmVsb2FkU1dGIElmIHRydWUgYWRkICJwcmVsb2FkU1dGPSIgdG8gdGhlIHVzZXIncyBtbS5jZmcuCisgICAgICogQHRocm93cyBJT0V4Y2VwdGlvbiAKKyAgICAgKi8KKyAgICBwcml2YXRlIHZvaWQgdXBkYXRlTU1DRkcoZmluYWwgYm9vbGVhbiBhZGRQcmVsb2FkU1dGKSB0aHJvd3MgSU9FeGNlcHRpb24KKyAgICB7CisgICAgICAgIC8vIG9wZW4gbW0uY2ZnCisgICAgICAgIFN0cmluZyBmaWxlbmFtZSA9IGNvbmZpZy5nZXRQcm9wZXJ0eShNTV9DRkdfUEFUSCwgCisgICAgICAgICAgICAgICAgU3lzdGVtLmdldFByb3BlcnR5KCJ1c2VyLmhvbWUiKSArICIvbW0uY2ZnIik7CisgICAgICAgIAorICAgICAgICAvLyByZWFkIG1tLmNmZworICAgIAlMaXN0PFN0cmluZz4gbGluZXMgPSBuZXcgQXJyYXlMaXN0PFN0cmluZz4oKTsKKyAgICAgICAgdHJ5IChSZWFkZXIgZmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKGZpbGVuYW1lKTsKKyAgICAgICAgCSBCdWZmZXJlZFJlYWRlciBidWZmZXJlZFJlYWRlciA9IG5ldyBCdWZmZXJlZFJlYWRlcihmaWxlUmVhZGVyKSkKKyAgICAgICAgeworICAgICAgICAJU3RyaW5nIGxpbmUgPSBudWxsOworICAgICAgICAJd2hpbGUgKChsaW5lID0gYnVmZmVyZWRSZWFkZXIucmVhZExpbmUoKSkgIT0gbnVsbCkKKyAgICAgICAgCXsKKyAgICAJCQkvLyBpZiBmb3VuZCBhIHByZWxvYWRTV0YgbGluZSB0aGVuIGRvbid0IHdyaXRlIGl0IGluIG9yZGVyIHRvIAorICAgIAkJCS8vIHJlbW92ZSBpdC4gSWYgd2UgYXJlIGFkZGluZyB0aGUgbGluZSB3ZSB3aWxsIGFwcGVuZCBpdCBsYXRlci4KKyAgICAgICAgCQlpZiAoIShsaW5lLnN0YXJ0c1dpdGgoUFJFTE9BRF9TV0ZfS0VZICsgIj0iKSkpCisgICAgICAgIAkJeworICAgICAgICAJCQlsaW5lcy5hZGQobGluZSk7CisgICAgICAgIAkJfQorICAgICAgICAJfQorICAgICAgICAgICAgCisgICAgICAgIAkvLyBpZiBhZGRpbmcgdGhlIHByZWxvYWRTV0Yga2V5LCBhcHBlbmQgdGhlIHByZWxvYWRTV0YgcHJvcGVydHkKKyAgICAgICAgCWlmIChhZGRQcmVsb2FkU1dGKQorICAgICAgICAJeworICAgICAgICAJICAgIFN0cmluZ0J1aWxkZXIgcHJlbG9hZFNXRiA9IG5ldyBTdHJpbmdCdWlsZGVyKFBSRUxPQURfU1dGX0tFWSk7CisgICAgICAgIAkgICAgcHJlbG9hZFNXRi5hcHBlbmQoIj0iKTsgCisgICAgICAgIAkgICAgcHJlbG9hZFNXRi5hcHBlbmQocHJlbG9hZFNXRlBhdGgpOworICAgICAgICAJICAgIHByZWxvYWRTV0YuYXBwZW5kKCI/aG9zdD0iKTsKKyAgICAgICAgCSAgICBwcmVsb2FkU1dGLmFwcGVuZChob3N0KTsKKyAgICAgICAgCSAgICBwcmVsb2FkU1dGLmFwcGVuZCgiJmRhdGFQb3J0PSIpOworICAgICAgICAJICAgIHByZWxvYWRTV0YuYXBwZW5kKGRhdGFQb3J0KTsKKyAgICAgICAgCSAgICBwcmVsb2FkU1dGLmFwcGVuZCgiJnBvbGljeUZpbGVQb3J0PSIpOworICAgICAgICAJICAgIHByZWxvYWRTV0YuYXBwZW5kKHBvbGljeUZpbGVQb3J0KTsKKyAgICAgICAgCQlsaW5lcy5hZGQocHJlbG9hZFNXRi50b1N0cmluZygpKTsKKyAgICAgICAgCX0KKyAgICAgICAgfQorICAgICAgICBjYXRjaCAoRmlsZU5vdEZvdW5kRXhjZXB0aW9uIGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIFN5c3RlbS5lcnIucHJpbnRsbigiVW5hYmxlIHRvIG9wZW4gbW0uY2ZnLiBDcmVhdGUgdGhlIGZpbGUgaW4gdGhlIHVzZXIgaG9tZSBkaXJlY3Rvcnkgb3Igc3BlY2lmeSB0aGUgbG9jYXRpb24gYnkgc2V0dGluZyB0aGUgbW1DZmdQYXRoIHByb3BlcnR5IGluIGNjc2VydmVyLnByb3BlcnRpZXMuIik7CisgICAgICAgICAgICBlLnByaW50U3RhY2tUcmFjZSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICAvLyB3cml0ZSBtbS5jZmcKKyAgICAgICAgdHJ5IChGaWxlV3JpdGVyIGZpbGVXcml0ZXIgPSBuZXcgRmlsZVdyaXRlcihmaWxlbmFtZSk7CisgICAgICAgIAkgQnVmZmVyZWRXcml0ZXIgYnVmZmVyZWRXcml0ZXIgPSBuZXcgQnVmZmVyZWRXcml0ZXIoZmlsZVdyaXRlcikpCisgICAgICAgIHsKKyAgICAgICAgCWZvciAoU3RyaW5nIGxpbmUgOiBsaW5lcykKKyAgICAgICAgCXsKKyAgICAgICAgCQlidWZmZXJlZFdyaXRlci53cml0ZShsaW5lKTsKKyAgICAgICAgCQlidWZmZXJlZFdyaXRlci5uZXdMaW5lKCk7CisgICAgICAgIAl9CisgICAgICAgIH0KKyAgICAgICAgCisgICAgfQorICAgIAorICAgIC8qKgorICAgICAqIFNlbmQgYSBjb21tYW5kIGFuZCBnZXQgdGhlIHJlc3BvbnNlLgorICAgICAqIAorICAgICAqIEBwYXJhbSBjb21tYW5kCisgICAgICogQHJldHVybiBBIFN0cmluZyBjb250YWluaW5nIHRoZSByZXNwb25zZS4gSWYgdGhlcmUgaXMgbm8gcmVzcG9uc2UgYW4KKyAgICAgKiBlbXB0eSBzdHJpbmcgd2lsbCBiZSByZXR1cm5lZC4gCisgICAgICogQHRocm93cyBJT0V4Y2VwdGlvbgorICAgICAqLworICAgIHByaXZhdGUgU3RyaW5nIHNlbmRDb21tYW5kKFN0cmluZyBjb21tYW5kKSB0aHJvd3MgSU9FeGNlcHRpb24KKyAgICB7CisgICAgICAgIFN0cmluZyByZXN1bHQgPSAiIjsKKyAgICAgICAgY2hhcltdIGNidWYgPSBuZXcgY2hhcls1MTJdOworCisgICAgICAgIHRyeSAoU29ja2V0IHNvY2tldCA9IG5ldyBTb2NrZXQoaG9zdCwgY29tbWFuZFBvcnQpOworICAgICAgICAgICAgSW5wdXRTdHJlYW1SZWFkZXIgcmVhZGVyID0gbmV3IElucHV0U3RyZWFtUmVhZGVyKHNvY2tldC5nZXRJbnB1dFN0cmVhbSgpKTsKKyAgICAgICAgICAgIFByaW50V3JpdGVyIHdyaXRlciA9IG5ldyBQcmludFdyaXRlcihzb2NrZXQuZ2V0T3V0cHV0U3RyZWFtKCkpKQorICAgICAgICB7CisgICAgICAgICAgICAvLyBzZW5kIGNvbW1hbmQKKyAgICAgICAgICAgIHdyaXRlci5wcmludChjb21tYW5kKTsKKyAgICAgICAgICAgIHdyaXRlci5mbHVzaCgpOworCisgICAgICAgICAgICAvLyByZWFkIHJlc3BvbnNlCisgICAgICAgICAgICBpbnQgY2hhcnNSZWFkID0gcmVhZGVyLnJlYWQoY2J1Zik7CisgICAgICAgICAgICBpZiAoY2hhcnNSZWFkICE9IC0xKQorICAgICAgICAgICAgICAgIHJlc3VsdCA9IFN0cmluZy52YWx1ZU9mKGNidWYsIDAsIGNoYXJzUmVhZCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorICAgIAorICAgIC8qKgorICAgICAqIFRlc3QgaWYgdGhlIHNlcnZlciBpcyBhbHJlYWR5IHJ1bm5pbmcuCisgICAgICogCisgICAgICogQHJldHVybiB0cnVlIGlmIHRoZSBzZXJ2ZXIgaXMgcnVubmluZywgZmFsc2Ugb3RoZXJ3aXNlLgorICAgICAqIEB0aHJvd3MgSU9FeGNlcHRpb24gCisgICAgICovCisgICAgcHJpdmF0ZSBib29sZWFuIGlzQWxpdmUoKSB0aHJvd3MgSU9FeGNlcHRpb24KKyAgICB7CisgICAgICAgIHRyeSAKKyAgICAgICAgeworICAgICAgICAgICAgU3RyaW5nIHJlc3VsdCA9IHNlbmRDb21tYW5kKEFMSVZFX0NPTU1BTkQpOworICAgICAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGgoKSA+IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICBjYXRjaCAoQ29ubmVjdEV4Y2VwdGlvbiBlKQorICAgICAgICB7CisgICAgICAgICAgICAvLyBzZXJ2ZXIgbm90IHJ1bm5pbmcgc28gY29ubmVjdGlvbiBmYWlsZWQuCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisgICAgCit9CmRpZmYgLS1naXQgYS9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL3NyYy9vcmcvYXBhY2hlL2ZsZXgvdG9vbHMvY29kZWNvdmVyYWdlL3NlcnZlci9EYXRhU29ja2V0QWNjZXB0ZXIuamF2YSBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2Uvc2VydmVyL0RhdGFTb2NrZXRBY2NlcHRlci5qYXZhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFkZTk5OTIKLS0tIC9kZXYvbnVsbAorKysgYi9Db2RlQ292ZXJhZ2UvSmF2YVNlcnZlci9qYXZhL3NyYy9vcmcvYXBhY2hlL2ZsZXgvdG9vbHMvY29kZWNvdmVyYWdlL3NlcnZlci9EYXRhU29ja2V0QWNjZXB0ZXIuamF2YQpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqCisgKiAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgKiAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgKiAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorICogIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgKiAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyAqICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqCisgKi8KKworcGFja2FnZSBvcmcuYXBhY2hlLmZsZXgudG9vbHMuY29kZWNvdmVyYWdlLnNlcnZlcjsKKworaW1wb3J0IGphdmEuaW8uQnVmZmVyZWRXcml0ZXI7CitpbXBvcnQgamF2YS5pby5GaWxlOworaW1wb3J0IGphdmEuaW8uRmlsZVdyaXRlcjsKK2ltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOworaW1wb3J0IGphdmEubmV0LlNlcnZlclNvY2tldDsKK2ltcG9ydCBqYXZhLm5ldC5Tb2NrZXQ7CisKKy8qKgorICogVGhyZWFkIHRvIGFjY2VwdCByZXF1ZXN0cyB0byBjb25uZWN0aW9ucyB0byB0aGUgZGF0YSBwb3J0LgorICogV2hlbiBhIGNvbm5lY3Rpb24gaXMgbWFkZSBhbiBpbnN0YW5jZSBvZiB0aGUgRGF0YVNvY2tldFRocmVhZCBpcyBjcmVhdGVkIHRvCisgKiByZWFkIGRhdGEgZnJvbSB0aGUgc29ja2V0LgorICogCisgKi8KK3B1YmxpYyBjbGFzcyBEYXRhU29ja2V0QWNjZXB0ZXIgaW1wbGVtZW50cyBSdW5uYWJsZQoreworCisgICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgU3RyaW5nIGZpbGVuYW1lVGVtcGxhdGUgPSAiY2NkYXRhX3swfS50eHQiOworCisgICAgcHJpdmF0ZSBTZXJ2ZXJTb2NrZXQgc29ja2V0OworICAgIHByaXZhdGUgQnVmZmVyZWRXcml0ZXIgZmlsZVdyaXRlcjsKKyAgICBwcml2YXRlIFRocmVhZCBkYXRhU29ja2V0UmVhZGVyOworICAgIHByaXZhdGUgdm9sYXRpbGUgYm9vbGVhbiBsaXN0ZW5pbmcgPSB0cnVlOworICAgIHByaXZhdGUgZmluYWwgRmlsZSBkYXRhRGlyZWN0b3J5OworICAgIHByaXZhdGUgaW50IGZpbGVDb3VudCA9IDA7CisgICAgcHJpdmF0ZSBTb2NrZXQgY3VycmVudFNvY2tldDsKKyAgICBwcml2YXRlIGZpbmFsIFN0cmluZyBob3N0OworICAgIHByaXZhdGUgZmluYWwgaW50IGRhdGFQb3J0OworICAgIAorICAgIC8qKgorICAgICAqIENvbnN0cnVjdG9yLgorICAgICAqIAorICAgICAqIEBwYXJhbSBob3N0IFRoZSBob3N0IG9mIHRoZSBkYXRhUG9ydC4KKyAgICAgKiBAcGFyYW0gZGF0YVBvcnQgVGhlIGRhdGEgcG9ydCB0byBzZXJ2aWNlLgorICAgICAqIEBwYXJhbSBkYXRhRGlyZWN0b3J5IFRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIGRhdGEgZmlsZXMgYXJlIHN0b3JlZC4KKyAgICAgKiBFYWNoIG5ldyBjb25uZWN0aW9uIHJlc3VsdHMgaW4gYSBuZXcgZmlsZSBjcmVhdGVkIGluIHRoaXMgZGlyZWN0b3J5LgorICAgICAqLworICAgIHB1YmxpYyBEYXRhU29ja2V0QWNjZXB0ZXIoZmluYWwgU3RyaW5nIGhvc3QsIGZpbmFsIGludCBkYXRhUG9ydCwgCisgICAgICAgICAgICBmaW5hbCBGaWxlIGRhdGFEaXJlY3RvcnkpCisgICAgeworICAgICAgIAorICAgICAgIGlmIChkYXRhRGlyZWN0b3J5ID09IG51bGwpCisgICAgICAgICAgIHRocm93IG5ldyBOdWxsUG9pbnRlckV4Y2VwdGlvbigiZGF0YURpcmVjdG9yeSBtYXkgbm90IGJlIG51bGwiKTsKKyAgICAgICAgCisgICAgICAgdGhpcy5ob3N0ID0gaG9zdDsKKyAgICAgICB0aGlzLmRhdGFQb3J0ID0gZGF0YVBvcnQ7CisgICAgICAgdGhpcy5kYXRhRGlyZWN0b3J5ID0gZGF0YURpcmVjdG9yeTsKKyAgICB9CisgICAgCisgICAgLyoqCisgICAgICogVGhpcyB0aHJlYWQgd2lsbCBibG9jayB3YWl0aW5nIG9uIGEgY29ubmVjdCB0byB0aGUgZGF0YSBwb3J0LiBPbmNlIGEgCisgICAgICogY29ubmVjdGlvbiBoYXMgYmVlbiBtYWRlIGFuIGluc3RhbmNlIG9mIERhdGFTb2NrZXRUaHJlYWQgaXMgcnVuIHRvIHJlYWQKKyAgICAgKiB0aGUgZGF0YSBvbiB0aGUgcG9ydCBhbmQgdGhpcyB0aHJlYWQgd2FpdHMgZm9yIHRoZSBuZXh0IGNvbm5lY3Rpb24uCisgICAgICogT25seSBvbmUgaW5zdGFuY2Ugb2YgdGhlIERhdGFTb2NrZXRUaHJlYWQgaXMgYWxsb3dlZC4gQmVmb3JlIGEgbmV3IGluc3RhbmNlCisgICAgICogaXMgY3JlYXRlZCB0aGUgY3VycmVudCBvbmUgaXMgY2xvc2VkLgorICAgICAqLworICAgIEBPdmVycmlkZQorICAgIHB1YmxpYyB2b2lkIHJ1bigpIAorICAgIHsKKyAgICAgICAgdHJ5CisgICAgICAgIHsgCisgICAgICAgICAgICBzb2NrZXQgPSBuZXcgU2VydmVyU29ja2V0KGRhdGFQb3J0KTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgd2hpbGUgKGxpc3RlbmluZykgCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgU29ja2V0IG5ld1NvY2tldCA9IHNvY2tldC5hY2NlcHQoKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBjbG9zZVJlc291cmNlcygpOworICAgICAgICAgICAgICAgIGN1cnJlbnRTb2NrZXQgPSBuZXdTb2NrZXQ7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKCFsaXN0ZW5pbmcpCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIFN0cmluZyBmaWxlbmFtZSA9IGZpbGVuYW1lVGVtcGxhdGUucmVwbGFjZSgiezB9IiwgU3RyaW5nLnZhbHVlT2YoZmlsZUNvdW50KyspKTsKKyAgICAgICAgICAgICAgICBGaWxlIGZpbGUgPSBuZXcgRmlsZShkYXRhRGlyZWN0b3J5LCBmaWxlbmFtZSk7CisgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJzYXZpbmcgdHJhY2UgZGF0YSB0byAiICsgZmlsZS5nZXRBYnNvbHV0ZVBhdGgoKSk7CisgICAgICAgICAgICAgICAgZmlsZVdyaXRlciA9IG5ldyBCdWZmZXJlZFdyaXRlcihuZXcgRmlsZVdyaXRlcihmaWxlKSk7CisgICAgICAgICAgICAgICAgZGF0YVNvY2tldFJlYWRlciA9IG5ldyBUaHJlYWQobmV3IERhdGFTb2NrZXRSZWFkZXIobmV3U29ja2V0LCBmaWxlV3JpdGVyKSk7CisgICAgICAgICAgICAgICAgZGF0YVNvY2tldFJlYWRlci5zdGFydCgpOworICAgICAgICAgICAgfQorICAgICAgICB9IAorICAgICAgICBjYXRjaCAoSU9FeGNlcHRpb24gZSkgCisgICAgICAgIHsKKyAgICAgICAgICAgIGUucHJpbnRTdGFja1RyYWNlKCk7CisgICAgICAgIH0gY2F0Y2ggKEludGVycnVwdGVkRXhjZXB0aW9uIGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGUucHJpbnRTdGFja1RyYWNlKCk7CisgICAgICAgIH0KKyAgICAgICAgZmluYWxseQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoY3VycmVudFNvY2tldCAhPSBudWxsKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRyeSAKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTb2NrZXQuY2xvc2UoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgY2F0Y2ggKElPRXhjZXB0aW9uIGUxKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgZTEucHJpbnRTdGFja1RyYWNlKCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAoZmlsZVdyaXRlciAhPSBudWxsKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRyeSAKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGZpbGVXcml0ZXIuY2xvc2UoKTsKKyAgICAgICAgICAgICAgICB9IAorICAgICAgICAgICAgICAgIGNhdGNoIChJT0V4Y2VwdGlvbiBlKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgZS5wcmludFN0YWNrVHJhY2UoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9ICAgICAgICAgICAgCisgICAgICAgIH0KKyAgICB9CisKKyAgICAvKioKKyAgICAgKiBDbG9zZSB0aGlzIHRocmVhZC4KKyAgICAgKiAKKyAgICAgKiBAdGhyb3dzIElPRXhjZXB0aW9uIAorICAgICAqIEB0aHJvd3MgSW50ZXJydXB0ZWRFeGNlcHRpb24gCisgICAgICovCisgICAgcHVibGljIHZvaWQgY2xvc2UoKSB0aHJvd3MgSU9FeGNlcHRpb24KKyAgICB7CisgICAgICAgIC8vIGNvbm5lY3QgdG8gc29ja2V0IHRvIHVuYmxvY2sgdGhlIGFjY2VwdCBjYWxsCisgICAgICAgIGxpc3RlbmluZyA9IGZhbHNlOworICAgICAgICBTb2NrZXQgc29ja2V0ID0gbmV3IFNvY2tldChob3N0LCBkYXRhUG9ydCk7CisgICAgICAgIHNvY2tldC5jbG9zZSgpOworICAgIH0KKyAgICAKKyAgICAvKioKKyAgICAgKiBDbG9zZSB0aGUgcmVzb3VyY2VzIHVzZWQgYnkgZGF0YSBzb2NrZXQgdGhyZWFkLgorICAgICAqIEB0aHJvd3MgSW50ZXJydXB0ZWRFeGNlcHRpb24KKyAgICAgKiBAdGhyb3dzIElPRXhjZXB0aW9uCisgICAgICovCisgICAgcHJpdmF0ZSB2b2lkIGNsb3NlUmVzb3VyY2VzKCkgdGhyb3dzIEludGVycnVwdGVkRXhjZXB0aW9uLCBJT0V4Y2VwdGlvbgorICAgIHsKKyAgICAgICAgaWYgKGRhdGFTb2NrZXRSZWFkZXIgIT0gbnVsbCkKKyAgICAgICAgeworICAgICAgICAgICAgZGF0YVNvY2tldFJlYWRlci5pbnRlcnJ1cHQoKTsKKyAgICAgICAgICAgIGRhdGFTb2NrZXRSZWFkZXIuam9pbigpOworICAgICAgICAgICAgZGF0YVNvY2tldFJlYWRlciA9IG51bGw7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlmIChjdXJyZW50U29ja2V0ICE9IG51bGwpCisgICAgICAgICAgICBjdXJyZW50U29ja2V0LmNsb3NlKCk7CisgICAgICAgIAorICAgICAgICBpZiAoZmlsZVdyaXRlciAhPSBudWxsKQorICAgICAgICB7CisgICAgICAgICAgICBmaWxlV3JpdGVyLmNsb3NlKCk7CisgICAgICAgICAgICBmaWxlV3JpdGVyID0gbnVsbDsKKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2Uvc2VydmVyL0RhdGFTb2NrZXRSZWFkZXIuamF2YSBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2Uvc2VydmVyL0RhdGFTb2NrZXRSZWFkZXIuamF2YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YTE1MTY4Ci0tLSAvZGV2L251bGwKKysrIGIvQ29kZUNvdmVyYWdlL0phdmFTZXJ2ZXIvamF2YS9zcmMvb3JnL2FwYWNoZS9mbGV4L3Rvb2xzL2NvZGVjb3ZlcmFnZS9zZXJ2ZXIvRGF0YVNvY2tldFJlYWRlci5qYXZhCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKgorICogIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICogIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICogIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyAqICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICogICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgKiAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKgorICovCisKK3BhY2thZ2Ugb3JnLmFwYWNoZS5mbGV4LnRvb2xzLmNvZGVjb3ZlcmFnZS5zZXJ2ZXI7CisKK2ltcG9ydCBqYXZhLmlvLkJ1ZmZlcmVkUmVhZGVyOworaW1wb3J0IGphdmEuaW8uQnVmZmVyZWRXcml0ZXI7CitpbXBvcnQgamF2YS5pby5JT0V4Y2VwdGlvbjsKK2ltcG9ydCBqYXZhLmlvLklucHV0U3RyZWFtUmVhZGVyOworaW1wb3J0IGphdmEubmV0LlNvY2tldDsKKworLyoqCisgKiBUaHJlYWQgdG8gcmVhZCB0cmFjZSBkYXRhIGZyb20gdGhlIEZsZXggY2xpZW50LiAKKyAqIEFsbCBkYXRhIHJlYWQgZnJvbSB0aGUgc29ja2V0IGlzIHdyaXR0ZW4gZGlyZWN0bHkgdG8gdGhlIHdyaXRlcgorICogd2l0aCBubyBwcm9jZXNzaW5nLgorICogCisgKi8KK3B1YmxpYyBjbGFzcyBEYXRhU29ja2V0UmVhZGVyIGltcGxlbWVudHMgUnVubmFibGUgCit7CisgICAgcHJpdmF0ZSBTb2NrZXQgc29ja2V0OworICAgIHByaXZhdGUgQnVmZmVyZWRXcml0ZXIgZmlsZVdyaXRlcjsKKworICAgIC8qKgorICAgICAqIENvbnN0cnVjdG9yLgorICAgICAqIAorICAgICAqIEBwYXJhbSBzb2NrZXQgVGhlIHNvY2tldCB0byByZWFkIGZyb20uCisgICAgICogQHBhcmFtIGZpbGVXcml0ZXIgVGhlIHdyaXRlciB0byB3cml0ZSB0aGUgZGF0YSB0by4KKyAgICAgKi8KKyAgICBwdWJsaWMgRGF0YVNvY2tldFJlYWRlcihmaW5hbCBTb2NrZXQgc29ja2V0LCBmaW5hbCBCdWZmZXJlZFdyaXRlciBmaWxlV3JpdGVyKQorICAgIHsKKyAgICAgICAgdGhpcy5zb2NrZXQgPSBzb2NrZXQ7CisgICAgICAgIHRoaXMuZmlsZVdyaXRlciA9IGZpbGVXcml0ZXI7CisgICAgfQorICAgIAorICAgIC8qKgorICAgICAqIFJlYWQgZGF0YSBmcm9tIHRoZSBzb2NrZXQgYW5kIHdyaXRlIGl0IHRoZSBzcGVjaWZpZWQgZmlsZSB1bnRpbAorICAgICAqIHdlIGFyZSBpbnRlcnJ1cHRlZC4KKyAgICAgKi8KKyAgICBAT3ZlcnJpZGUKKyAgICBwdWJsaWMgdm9pZCBydW4oKSAKKyAgICB7CisgICAgICAgIC8vIGxpc3RlbiBmb3IgZGF0YQorICAgICAgICBmaW5hbCBjaGFyW10gY2J1ZiA9IG5ldyBjaGFyWzUxMiAqIDEwMjRdOworICAgICAgICAKKyAgICAgICAgdHJ5IChCdWZmZXJlZFJlYWRlciBpbiA9IG5ldyBCdWZmZXJlZFJlYWRlcigKKyAgICAgICAgICAgICAgICAgICAgbmV3IElucHV0U3RyZWFtUmVhZGVyKAorICAgICAgICAgICAgICAgICAgICAgICAgc29ja2V0LmdldElucHV0U3RyZWFtKCkpLCA1MTIgKiAxMDI0KSkKKyAgICAgICAgeworICAgICAgICAgICAgd2hpbGUgKCFUaHJlYWQuaW50ZXJydXB0ZWQoKSAmJiAhc29ja2V0LmlzQ2xvc2VkKCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaW50IGNoYXJzUmVhZCA9IGluLnJlYWQoY2J1Zik7CisgICAgICAgICAgICAgICAgaWYgKGNoYXJzUmVhZCA+IDApCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBTdHJpbmcgYnVmID0gU3RyaW5nLnZhbHVlT2YoY2J1ZiwgMCwgY2hhcnNSZWFkKTsKKyAgICAgICAgICAgICAgICAgICAgZmlsZVdyaXRlci53cml0ZShidWYpOyAgCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIFRocmVhZC5zbGVlcCgxMDAwKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0gCisgICAgICAgIGNhdGNoIChJT0V4Y2VwdGlvbiBlKSAKKyAgICAgICAgeworICAgICAgICAgICAgZS5wcmludFN0YWNrVHJhY2UoKTsKKyAgICAgICAgfQorICAgICAgICBjYXRjaCAoSW50ZXJydXB0ZWRFeGNlcHRpb24gZSkgCisgICAgICAgIHsKKyAgICAgICAgCS8vIFRoaXMgaGFwcGVucyB3aGVuIHdlIGFyZSBpbnRlcnJ1cHRlZCB3aGlsZSBzbGVlcGluZy4KKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2Uvc2VydmVyL1BvbGljeUZpbGVTZXJ2ZXIuamF2YSBiL0NvZGVDb3ZlcmFnZS9KYXZhU2VydmVyL2phdmEvc3JjL29yZy9hcGFjaGUvZmxleC90b29scy9jb2RlY292ZXJhZ2Uvc2VydmVyL1BvbGljeUZpbGVTZXJ2ZXIuamF2YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMTcyNDllCi0tLSAvZGV2L251bGwKKysrIGIvQ29kZUNvdmVyYWdlL0phdmFTZXJ2ZXIvamF2YS9zcmMvb3JnL2FwYWNoZS9mbGV4L3Rvb2xzL2NvZGVjb3ZlcmFnZS9zZXJ2ZXIvUG9saWN5RmlsZVNlcnZlci5qYXZhCkBAIC0wLDAgKzEsMTY3IEBACisvKgorICoKKyAqICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyAqICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyAqICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgKiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAqICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICogIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICoKKyAqLworCitwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC50b29scy5jb2RlY292ZXJhZ2Uuc2VydmVyOworCitpbXBvcnQgamF2YS5pby5JT0V4Y2VwdGlvbjsKK2ltcG9ydCBqYXZhLmlvLklucHV0U3RyZWFtUmVhZGVyOworaW1wb3J0IGphdmEuaW8uT3V0cHV0U3RyZWFtV3JpdGVyOworaW1wb3J0IGphdmEubmV0LlNlcnZlclNvY2tldDsKK2ltcG9ydCBqYXZhLm5ldC5Tb2NrZXQ7CitpbXBvcnQgamF2YS5uZXQuVW5rbm93bkhvc3RFeGNlcHRpb247CisKKy8qKgorICogVGhyZWFkIHRvIHNlcnZlIGEgcG9saWN5IGZpbGUgdG8gdGhlIEZsYXNoIFBsYXllciB0byBhbGxvdyB0aGUgRmxhc2gKKyAqIGNsaWVudCB0byBjb25uZWN0IHRvIHRoZSBkYXRhIHBvcnQuCisgKgorICovCitwdWJsaWMgY2xhc3MgUG9saWN5RmlsZVNlcnZlciBpbXBsZW1lbnRzIFJ1bm5hYmxlIAoreworICAgIC8qKgorICAgICAqIFJlcXVlc3Qgc2VudCBieSB0aGUgRmxhc2ggUGxheWVyIHJlcXVlc3RpbmcgdGhlIHBvbGljeSBmaWxlLgorICAgICAqLworICAgIHByaXZhdGUgc3RhdGljIGZpbmFsIFN0cmluZyBFWFBFQ1RFRF9SRVFVRVNUID0gIjxwb2xpY3ktZmlsZS1yZXF1ZXN0Lz4iOworICAgIAorICAgIC8qKgorICAgICAqIFRlbXBsYXRlIG9mIHRoZSBwb2xpY3kgZmlsZS4gVmFyaWFibGVzIGluIGJyYWNrZXRzIGFyZSByZXBsYWNlZCB3aXRoCisgICAgICogdGhlIGFjdHVhbCB2YWx1ZXMuCisgICAgICovCisgICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgU3RyaW5nIFBPTElDWV9GSUxFID0gIjw/eG1sIHZlcnNpb249XCIxLjBcIj8+IiArICAKKyAgICAgICAgICAgICI8IURPQ1RZUEUgY3Jvc3MtZG9tYWluLXBvbGljeSBTWVNURU0gXCJodHRwOi8vd3d3LmFkb2JlLmNvbS94bWwvZHRkcy9jcm9zcy1kb21haW4tcG9saWN5LmR0ZFwiPiIgKyAKKyAgICAgICAgICAgICI8Y3Jvc3MtZG9tYWluLXBvbGljeT4iICsgIAorICAgICAgICAgICAgIiAgICA8YWxsb3ctYWNjZXNzLWZyb20gZG9tYWluPVwie2hvc3R9XCIgdG8tcG9ydHM9XCJ7ZGF0YVBvcnR9XCIgLz4iICsKKyAgICAgICAgICAgICI8L2Nyb3NzLWRvbWFpbi1wb2xpY3k+IjsKKworICAgIHByaXZhdGUgZmluYWwgU3RyaW5nIGhvc3Q7CisgICAgcHJpdmF0ZSBmaW5hbCBpbnQgZGF0YVBvcnQ7CisgICAgcHJpdmF0ZSBmaW5hbCBpbnQgcG9saWN5RmlsZVBvcnQ7CisgICAgcHJpdmF0ZSBib29sZWFuIGxpc3RlbmluZyA9IHRydWU7CisgICAgCisgICAgLy8gY2FjaGVkIHBvbGljeSBmaWxlIGNyZWF0ZSBmcm9tIHRoZSB0ZW1wbGF0ZS4KKyAgICBwcml2YXRlIFN0cmluZyBwb2xpY3lGaWxlOworICAgIAorICAgIC8qKgorICAgICAqIAorICAgICAqIEBwYXJhbSBob3N0CisgICAgICogQHBhcmFtIGRhdGFQb3J0CisgICAgICogQHBhcmFtIHBvbGljeUZpbGVQb3J0CisgICAgICovCisgICAgcHVibGljIFBvbGljeUZpbGVTZXJ2ZXIoZmluYWwgU3RyaW5nIGhvc3QsIGZpbmFsIGludCBkYXRhUG9ydCwgCisgICAgICAgICAgICBmaW5hbCBpbnQgcG9saWN5RmlsZVBvcnQpCisgICAgeworICAgICAgICB0aGlzLmhvc3QgPSBob3N0OworICAgICAgICB0aGlzLmRhdGFQb3J0ID0gZGF0YVBvcnQ7CisgICAgICAgIHRoaXMucG9saWN5RmlsZVBvcnQgPSBwb2xpY3lGaWxlUG9ydDsKKworICAgICAgICBpbml0aWFsaXplUG9saWN5RmlsZSgpOworICAgIH0KKyAgICAKKyAgICAvKioKKyAgICAgKiBXYWl0IGZvciBhIGNvbm5lY3Rpb24gb24gdGhlIHBvbGljeSBmaWxlIHBvcnQuIFdoZW4gYSBjb25uZWN0aW9uIGlzIHJlY2VpdmVkCisgICAgICogcmVwbHkgd2l0aCBhIHBvbGljeSBmaWxlIGlmIHRoZSBGbGFzaCBQbGF5ZXIgaXMgcmVxdWVzdGluZy4KKyAgICAgKi8KKyAgICBAT3ZlcnJpZGUKKyAgICBwdWJsaWMgdm9pZCBydW4oKSAKKyAgICB7CisgICAgICAgIFNlcnZlclNvY2tldCBzZXJ2ZXJTb2NrZXQgPSBudWxsOworICAgICAgICAKKyAgICAgICAgdHJ5CisgICAgICAgIHsgCisgICAgICAgICAgICAvLyBhY2NlcHQgY29ubmVjdGlvbnMgYW5kIHJldHVybiBhbiBpbi1tZW1vcnkgcG9saWN5IGZpbGUuCisgICAgICAgICAgICBzZXJ2ZXJTb2NrZXQgPSBuZXcgU2VydmVyU29ja2V0KHBvbGljeUZpbGVQb3J0KTsKKworICAgICAgICAgICAgd2hpbGUgKGxpc3RlbmluZykgCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdHJ5IChTb2NrZXQgc29ja2V0ID0gc2VydmVyU29ja2V0LmFjY2VwdCgpKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFsaXN0ZW5pbmcpCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIHdyaXRlUG9saWN5RmlsZShzb2NrZXQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfSAKKyAgICAgICAgY2F0Y2ggKElPRXhjZXB0aW9uIGUpIAorICAgICAgICB7CisgICAgICAgICAgICBlLnByaW50U3RhY2tUcmFjZSgpOworICAgICAgICB9CisgICAgICAgIGZpbmFsbHkgCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChzZXJ2ZXJTb2NrZXQgIT0gbnVsbCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0cnkgCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJTb2NrZXQuY2xvc2UoKTsKKyAgICAgICAgICAgICAgICB9IAorICAgICAgICAgICAgICAgIGNhdGNoIChJT0V4Y2VwdGlvbiBlMSkgCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBlMS5wcmludFN0YWNrVHJhY2UoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvKioKKyAgICAgKiBDcmVhdGUgdGhlIHBvbGljeSBmaWxlIGZyb20gdGhlIHRlbXBsYXRlLgorICAgICAqLworICAgIHByaXZhdGUgdm9pZCBpbml0aWFsaXplUG9saWN5RmlsZSgpCisgICAgeworICAgICAgICBwb2xpY3lGaWxlID0gUE9MSUNZX0ZJTEUucmVwbGFjZSgie2hvc3R9IiwgaG9zdCk7CisgICAgICAgIHBvbGljeUZpbGUgPSBwb2xpY3lGaWxlLnJlcGxhY2UoIntkYXRhUG9ydH0iLCBJbnRlZ2VyLnRvU3RyaW5nKGRhdGFQb3J0KSk7CisgICAgfQorCisgICAgLyoqCisgICAgICogV3JpdGUgdGhlIGluLW1lbW9yeSBwb2xpY3kgZmlsZSB0byB0aGUgc29ja2V0LgorICAgICAqIAorICAgICAqIEBwYXJhbSBzb2NrZXQgU29ja2V0IHRvIHdyaXRlIHNlY3VyaXR5IHBvbGljeSBmaWxlIHRvLgorICAgICAqLworICAgIHByaXZhdGUgdm9pZCB3cml0ZVBvbGljeUZpbGUoZmluYWwgU29ja2V0IHNvY2tldCkKKyAgICB7CisgICAgICAgIGNoYXJbXSBjYnVmID0gbmV3IGNoYXJbNjRdOworICAgICAgICAKKyAgICAgICAgdHJ5IChJbnB1dFN0cmVhbVJlYWRlciByZWFkZXIgPSBuZXcgSW5wdXRTdHJlYW1SZWFkZXIoc29ja2V0LmdldElucHV0U3RyZWFtKCkpOworICAgICAgICAgICAgIE91dHB1dFN0cmVhbVdyaXRlciB3cml0ZXIgPSBuZXcgT3V0cHV0U3RyZWFtV3JpdGVyKHNvY2tldC5nZXRPdXRwdXRTdHJlYW0oKSkpCisgICAgICAgIHsKKyAgICAgICAgICAgIGludCByZXN1bHQgPSByZWFkZXIucmVhZChjYnVmKTsKKyAgICAgICAgICAgIGlmIChyZXN1bHQgPiAwICYmIEVYUEVDVEVEX1JFUVVFU1QuZXF1YWxzKGNidWYpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHdyaXRlci53cml0ZShwb2xpY3lGaWxlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBjYXRjaCAoSU9FeGNlcHRpb24gZSkKKyAgICAgICAgeworICAgICAgICAgICAgZS5wcmludFN0YWNrVHJhY2UoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qKgorICAgICAqIENsb3NlIHRoZSByZXNvdXJjZXMgaGVsZCBieSB0aGlzIHRocmVhZC4KKyAgICAgKiAKKyAgICAgKiBAdGhyb3dzIElPRXhjZXB0aW9uIAorICAgICAqIEB0aHJvd3MgVW5rbm93bkhvc3RFeGNlcHRpb24gCisgICAgICogQHRocm93cyBJbnRlcnJ1cHRlZEV4Y2VwdGlvbiAKKyAgICAgKi8KKyAgICBwdWJsaWMgdm9pZCBjbG9zZSgpIHRocm93cyBVbmtub3duSG9zdEV4Y2VwdGlvbiwgSU9FeGNlcHRpb24sIEludGVycnVwdGVkRXhjZXB0aW9uCisgICAgeworICAgICAgICAvLyBjb25uZWN0IHRvIHNvY2tldCB0byB1bmJsb2NrIHRoZSBhY2NlcHQgY2FsbAorICAgICAgICBsaXN0ZW5pbmcgPSBmYWxzZTsKKyAgICAgICAgZmluYWwgU29ja2V0IHNvY2tldCA9IG5ldyBTb2NrZXQoaG9zdCwgcG9saWN5RmlsZVBvcnQpOworICAgICAgICBzb2NrZXQuY2xvc2UoKTsKKyAgICB9CisgICAgCit9CmRpZmYgLS1naXQgYS9NRDVDaGVja2VyL2J1aWxkLnhtbCBiL01ENUNoZWNrZXIvYnVpbGQueG1sCmluZGV4IDZmNDM4YWQuLjU5NzllOTkgMTAwNjQ0Ci0tLSBhL01ENUNoZWNrZXIvYnVpbGQueG1sCisrKyBiL01ENUNoZWNrZXIvYnVpbGQueG1sCkBAIC0xMzUsNiArMTM1LDcgQEAKICAgICA8L3RhcmdldD4KICAgICAKICAgICA8dGFyZ2V0IG5hbWU9ImNvbW1pdCIgZGVwZW5kcz0iY3JlZGVudGlhbHMiPgorICAgICAgICA8ZGVsZXRlIGZpbGU9IiR7YmFzZWRpcn0vZ2V0cmVzdWx0LnR4dCIgZmFpbG9uZXJyb3I9ImZhbHNlIi8+CiAgICAgICAgIDxleGVjIGV4ZWN1dGFibGU9IiR7c3ZufSIgZGlyPSIke3NpdGV9IiBmYWlsb25lcnJvcj0idHJ1ZSIgPgogICAgICAgICAgICAgPGFyZyB2YWx1ZT0iY29tbWl0IiAvPgogICAgICAgICAgICAgPGFyZyB2YWx1ZT0iLS11c2VybmFtZSIgLz4KQEAgLTE0NSw5ICsxNDYsOCBAQAogICAgICAgICAgICAgPGFyZyB2YWx1ZT0iJnF1b3Q7dXBkYXRlIG1kNXMmcXVvdDsiIC8+CiAgICAgICAgIDwvZXhlYz4KICAgICAgICAgPCEtLSBwYXVzZSB0byBnaXZlIGJ1aWxkYm90IGNoYW5jZSB0byByZWFjdCAtLT4KLSAgICAgICAgPHNsZWVwIHNlY29uZHM9IjUiIC8+CisgICAgICAgIDxzbGVlcCBzZWNvbmRzPSI2MCIgLz4KICAgICAgICAgPGdldCBzcmM9Imh0dHBzOi8vY21zLmFwYWNoZS5vcmcvZmxleC9wdWJsaXNoIiB1c2VybmFtZT0iJHthcGFjaGUudXNlcm5hbWV9IiBwYXNzd29yZD0iJHthcGFjaGUucGFzc3dvcmR9IiBkZXN0PSIke2Jhc2VkaXJ9L2dldHJlc3VsdC50eHQiIC8+Ci0gICAgICAgIDxkZWxldGUgZmlsZT0iJHtiYXNlZGlyfS9nZXRyZXN1bHQudHh0IiAvPgogICAgIDwvdGFyZ2V0PgogICAgIAogICAgIDx0YXJnZXQgbmFtZT0iY3JlZGVudGlhbHMiIGRlcGVuZHM9ImdldC11c2VybmFtZSxnZXQtcGFzc3dvcmQiPgpkaWZmIC0tZ2l0IGEvU3F1aWdnbHkvbWFpbi9TcGVsbGluZ0ZyYW1ld29yay9zcmMvY29tL2Fkb2JlL2xpbmd1aXN0aWNzL3NwZWxsaW5nL2ZyYW1ld29yay9SZXNvdXJjZVRhYmxlLmFzIGIvU3F1aWdnbHkvbWFpbi9TcGVsbGluZ0ZyYW1ld29yay9zcmMvY29tL2Fkb2JlL2xpbmd1aXN0aWNzL3NwZWxsaW5nL2ZyYW1ld29yay9SZXNvdXJjZVRhYmxlLmFzCmluZGV4IDgwZGViYzcuLmIxNjU0MmEgMTAwNjQ0Ci0tLSBhL1NxdWlnZ2x5L21haW4vU3BlbGxpbmdGcmFtZXdvcmsvc3JjL2NvbS9hZG9iZS9saW5ndWlzdGljcy9zcGVsbGluZy9mcmFtZXdvcmsvUmVzb3VyY2VUYWJsZS5hcworKysgYi9TcXVpZ2dseS9tYWluL1NwZWxsaW5nRnJhbWV3b3JrL3NyYy9jb20vYWRvYmUvbGluZ3Vpc3RpY3Mvc3BlbGxpbmcvZnJhbWV3b3JrL1Jlc291cmNlVGFibGUuYXMKQEAgLTQxLDcgKzQxLDcgQEAKIAkJICovCiAJCXB1YmxpYyBmdW5jdGlvbiBSZXNvdXJjZVRhYmxlKCkKIAkJewotCQkJX3Jlc291cmNlcyA9IG5ldyBPYmplY3QoKTsKKwkJCV9yZXNvdXJjZXMgPSB7fTsKIAkJfQogCiAJCS8qKgpkaWZmIC0tZ2l0IGEvU3F1aWdnbHkvbWFpbi9TcGVsbGluZ0ZyYW1ld29yay9zcmMvY29tL2Fkb2JlL2xpbmd1aXN0aWNzL3NwZWxsaW5nL2ZyYW1ld29yay91aS9TcGFya0hpZ2hsaWdodGVyLmFzIGIvU3F1aWdnbHkvbWFpbi9TcGVsbGluZ0ZyYW1ld29yay9zcmMvY29tL2Fkb2JlL2xpbmd1aXN0aWNzL3NwZWxsaW5nL2ZyYW1ld29yay91aS9TcGFya0hpZ2hsaWdodGVyLmFzCmluZGV4IGRiNDAyZmEuLmVmMDE5NzAgMTAwNjQ0Ci0tLSBhL1NxdWlnZ2x5L21haW4vU3BlbGxpbmdGcmFtZXdvcmsvc3JjL2NvbS9hZG9iZS9saW5ndWlzdGljcy9zcGVsbGluZy9mcmFtZXdvcmsvdWkvU3BhcmtIaWdobGlnaHRlci5hcworKysgYi9TcXVpZ2dseS9tYWluL1NwZWxsaW5nRnJhbWV3b3JrL3NyYy9jb20vYWRvYmUvbGluZ3Vpc3RpY3Mvc3BlbGxpbmcvZnJhbWV3b3JrL3VpL1NwYXJrSGlnaGxpZ2h0ZXIuYXMKQEAgLTEyNyw3ICsxMjcsNyBAQAogCQkJCW1UZXh0RmllbGQuYWRkQ2hpbGQobUhpZ2hsaWdodGVyKTsJCiAJCQl9CiAJCQkJCQotCQkgICAgICAgIGRyYXdTcXVpZ2dseUxpbmVGb3JSYW5nZSh0b2tlbi5maXJzdCwgdG9rZW4ubGFzdCk7CisJCQlkcmF3U3F1aWdnbHlMaW5lRm9yUmFuZ2UodG9rZW4uZmlyc3QsIHRva2VuLmxhc3QpOwogCQkJCiAJCQkvLyBKdXN0IGFkanVzdCB0aGUgbGVmdCBwYWRkaW5nLCB0b3AgcGFkZGluZyBpcyBub3QgYW4gaXNzdWUgCiAJCQkvL3ZhciBwbGVmdDp1aW50ID0gbVRleHRGaWVsZC5nZXRTdHlsZSgicGFkZGluZ0xlZnQiKTsKQEAgLTE0NCwxNCArMTQ0LDE1IEBACiAJCQl2YXIgdGZsSW5kZXhGaXJzdDppbnQgPSB0Zi5mbG93Q29tcG9zZXIuZmluZExpbmVJbmRleEF0UG9zaXRpb24oc3RhcnQpOwogCQkJdmFyIHRmbEluZGV4TGFzdDppbnQgPSB0Zi5mbG93Q29tcG9zZXIuZmluZExpbmVJbmRleEF0UG9zaXRpb24oZW5kKTsKIAkJCQotCQkJLy8gUG9pbnRlcgogCQkJdmFyIHRmbEluZGV4OmludCA9IHRmbEluZGV4Rmlyc3Q7Ci0JCQl2YXIgdGZsOlRleHRGbG93TGluZSA9IHRmbEZpcnN0OwotCQkJCi0JCQlpZiAodGZsSW5kZXhGaXJzdCA9PSB0ZmxJbmRleExhc3QpIHsKKworCQkJaWYgKHRmbEluZGV4Rmlyc3QgPT0gdGZsSW5kZXhMYXN0KQorCQkJewogCQkJCS8vIERyYXcgb25lIGxpbmUKIAkJCQlkcmF3U3F1aWdnbHlMaW5lQXRJbmRleCh0ZmxJbmRleEZpcnN0LCBzdGFydCAtIHRmbEZpcnN0LmFic29sdXRlU3RhcnQsIGVuZCAtIHRmbEZpcnN0LmFic29sdXRlU3RhcnQpOwotCQkJfSBlbHNlIHsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKIAkJCQkvLyBNdWx0aXBsZSBsaW5lcyAodmVyeSBsb25nIHdvcmQpCiAJCQkJZHJhd1NxdWlnZ2x5TGluZUF0SW5kZXgodGZsSW5kZXhGaXJzdCwgc3RhcnQgLSB0ZmxGaXJzdC5hYnNvbHV0ZVN0YXJ0KTsKIAkJCQkKZGlmZiAtLWdpdCBhL1NxdWlnZ2x5L21haW4vU3BlbGxpbmdVSUV4L3NyYy9jb20vYWRvYmUvbGluZ3Vpc3RpY3Mvc3BlbGxpbmcvU3BlbGxVSS5hcyBiL1NxdWlnZ2x5L21haW4vU3BlbGxpbmdVSUV4L3NyYy9jb20vYWRvYmUvbGluZ3Vpc3RpY3Mvc3BlbGxpbmcvU3BlbGxVSS5hcwppbmRleCAyZDNkOWNhLi4wMDMzMzIwIDEwMDY0NAotLS0gYS9TcXVpZ2dseS9tYWluL1NwZWxsaW5nVUlFeC9zcmMvY29tL2Fkb2JlL2xpbmd1aXN0aWNzL3NwZWxsaW5nL1NwZWxsVUkuYXMKKysrIGIvU3F1aWdnbHkvbWFpbi9TcGVsbGluZ1VJRXgvc3JjL2NvbS9hZG9iZS9saW5ndWlzdGljcy9zcGVsbGluZy9TcGVsbFVJLmFzCkBAIC0xOSw0MiArMTksNDMgQEAKIAogcGFja2FnZSBjb20uYWRvYmUubGluZ3Vpc3RpY3Muc3BlbGxpbmcKIHsKLQlpbXBvcnQgY29tLmFkb2JlLmxpbmd1aXN0aWNzLnNwZWxsaW5nLmZyYW1ld29yay5TcGVsbGluZ0NvbmZpZ3VyYXRpb247Ci0JaW1wb3J0IGNvbS5hZG9iZS5saW5ndWlzdGljcy5zcGVsbGluZy5mcmFtZXdvcmsuU3BlbGxpbmdTZXJ2aWNlOwotCWltcG9ydCBjb20uYWRvYmUubGluZ3Vpc3RpY3Muc3BlbGxpbmcuZnJhbWV3b3JrLnVpLkhhbG9IaWdobGlnaHRlcjsKLQlpbXBvcnQgY29tLmFkb2JlLmxpbmd1aXN0aWNzLnNwZWxsaW5nLmZyYW1ld29yay51aS5IYWxvV29yZFByb2Nlc3NvcjsKLQlpbXBvcnQgY29tLmFkb2JlLmxpbmd1aXN0aWNzLnNwZWxsaW5nLmZyYW1ld29yay51aS5JSGlnaGxpZ2h0ZXI7Ci0JaW1wb3J0IGNvbS5hZG9iZS5saW5ndWlzdGljcy5zcGVsbGluZy5mcmFtZXdvcmsudWkuSVdvcmRQcm9jZXNzb3I7Ci0JaW1wb3J0IGNvbS5hZG9iZS5saW5ndWlzdGljcy5zcGVsbGluZy5mcmFtZXdvcmsudWkuU3BhcmtIaWdobGlnaHRlcjsKLQlpbXBvcnQgY29tLmFkb2JlLmxpbmd1aXN0aWNzLnNwZWxsaW5nLmZyYW1ld29yay51aS5TcGFya1dvcmRQcm9jZXNzb3I7Ci0JaW1wb3J0IGNvbS5hZG9iZS5saW5ndWlzdGljcy51dGlscy5UZXh0VG9rZW5pemVyOwotCWltcG9ydCBjb20uYWRvYmUubGluZ3Vpc3RpY3MudXRpbHMuVG9rZW47CisgICAgaW1wb3J0IGNvbS5hZG9iZS5saW5ndWlzdGljcy5zcGVsbGluZy5mcmFtZXdvcmsuU3BlbGxpbmdDb25maWd1cmF0aW9uOworICAgIGltcG9ydCBjb20uYWRvYmUubGluZ3Vpc3RpY3Muc3BlbGxpbmcuZnJhbWV3b3JrLlNwZWxsaW5nU2VydmljZTsKKyAgICBpbXBvcnQgY29tLmFkb2JlLmxpbmd1aXN0aWNzLnNwZWxsaW5nLmZyYW1ld29yay51aS5IYWxvSGlnaGxpZ2h0ZXI7CisgICAgaW1wb3J0IGNvbS5hZG9iZS5saW5ndWlzdGljcy5zcGVsbGluZy5mcmFtZXdvcmsudWkuSGFsb1dvcmRQcm9jZXNzb3I7CisgICAgaW1wb3J0IGNvbS5hZG9iZS5saW5ndWlzdGljcy5zcGVsbGluZy5mcmFtZXdvcmsudWkuSUhpZ2hsaWdodGVyOworICAgIGltcG9ydCBjb20uYWRvYmUubGluZ3Vpc3RpY3Muc3BlbGxpbmcuZnJhbWV3b3JrLnVpLklXb3JkUHJvY2Vzc29yOworICAgIGltcG9ydCBjb20uYWRvYmUubGluZ3Vpc3RpY3Muc3BlbGxpbmcuZnJhbWV3b3JrLnVpLlNwYXJrSGlnaGxpZ2h0ZXI7CisgICAgaW1wb3J0IGNvbS5hZG9iZS5saW5ndWlzdGljcy5zcGVsbGluZy5mcmFtZXdvcmsudWkuU3BhcmtXb3JkUHJvY2Vzc29yOworICAgIGltcG9ydCBjb20uYWRvYmUubGluZ3Vpc3RpY3MudXRpbHMuVGV4dFRva2VuaXplcjsKKyAgICBpbXBvcnQgY29tLmFkb2JlLmxpbmd1aXN0aWNzLnV0aWxzLlRva2VuOwogCi0JaW1wb3J0IGZsYXNoLmV2ZW50cy5FdmVudDsKLQlpbXBvcnQgZmxhc2guZXZlbnRzLkZvY3VzRXZlbnQ7Ci0JaW1wb3J0IGZsYXNoLmdlb20uUG9pbnQ7Ci0JaW1wb3J0IGZsYXNoLmdlb20uUmVjdGFuZ2xlOwotCWltcG9ydCBmbGFzaC5uZXQuU2hhcmVkT2JqZWN0OwotCWltcG9ydCBmbGFzaC5uZXQuVVJMTG9hZGVyOwotCWltcG9ydCBmbGFzaC5uZXQuVVJMUmVxdWVzdDsKLQlpbXBvcnQgZmxhc2gudGV4dC5UZXh0RmllbGQ7Ci0JaW1wb3J0IGZsYXNoLnV0aWxzLkRpY3Rpb25hcnk7CisgICAgaW1wb3J0IGZsYXNoLmV2ZW50cy5FdmVudDsKKyAgICBpbXBvcnQgZmxhc2guZXZlbnRzLkZvY3VzRXZlbnQ7CisgICAgaW1wb3J0IGZsYXNoLmdlb20uUG9pbnQ7CisgICAgaW1wb3J0IGZsYXNoLmdlb20uUmVjdGFuZ2xlOworICAgIGltcG9ydCBmbGFzaC5uZXQuU2hhcmVkT2JqZWN0OworICAgIGltcG9ydCBmbGFzaC5uZXQuVVJMTG9hZGVyOworICAgIGltcG9ydCBmbGFzaC5uZXQuVVJMUmVxdWVzdDsKKyAgICBpbXBvcnQgZmxhc2gudGV4dC5UZXh0RmllbGQ7CisgICAgaW1wb3J0IGZsYXNoLnV0aWxzLkRpY3Rpb25hcnk7CiAKLQlpbXBvcnQgZmxhc2h4LnRleHRMYXlvdXQuZWRpdC5TZWxlY3Rpb25NYW5hZ2VyOwotCWltcG9ydCBmbGFzaHgudGV4dExheW91dC50bGZfaW50ZXJuYWw7CisgICAgaW1wb3J0IGZsYXNoeC50ZXh0TGF5b3V0LmVkaXQuU2VsZWN0aW9uTWFuYWdlcjsKKyAgICBpbXBvcnQgZmxhc2h4LnRleHRMYXlvdXQuZWxlbWVudHMuVGV4dEZsb3c7CisgICAgaW1wb3J0IGZsYXNoeC50ZXh0TGF5b3V0LnRsZl9pbnRlcm5hbDsKIAotCWltcG9ydCBteC5jb250cm9scy5SaWNoVGV4dEVkaXRvcjsKLQlpbXBvcnQgbXguY29udHJvbHMuVGV4dEFyZWE7Ci0JaW1wb3J0IG14LmNvbnRyb2xzLlRleHRJbnB1dDsKLQlpbXBvcnQgbXguY29yZS5VSUNvbXBvbmVudDsKLQlpbXBvcnQgbXguY29yZS5teF9pbnRlcm5hbDsKLQlpbXBvcnQgbXguZXZlbnRzLlNjcm9sbEV2ZW50OworICAgIGltcG9ydCBteC5jb250cm9scy5SaWNoVGV4dEVkaXRvcjsKKyAgICBpbXBvcnQgbXguY29udHJvbHMuVGV4dEFyZWE7CisgICAgaW1wb3J0IG14LmNvbnRyb2xzLlRleHRJbnB1dDsKKyAgICBpbXBvcnQgbXguY29yZS5VSUNvbXBvbmVudDsKKyAgICBpbXBvcnQgbXguY29yZS5teF9pbnRlcm5hbDsKKyAgICBpbXBvcnQgbXguZXZlbnRzLlNjcm9sbEV2ZW50OwogCi0JaW1wb3J0IHNwYXJrLmNvbXBvbmVudHMuUmljaEVkaXRhYmxlVGV4dDsKLQlpbXBvcnQgc3BhcmsuY29tcG9uZW50cy5UZXh0QXJlYTsKLQlpbXBvcnQgc3BhcmsuY29tcG9uZW50cy5UZXh0SW5wdXQ7CisgICAgaW1wb3J0IHNwYXJrLmNvbXBvbmVudHMuUmljaEVkaXRhYmxlVGV4dDsKKyAgICBpbXBvcnQgc3BhcmsuY29tcG9uZW50cy5UZXh0QXJlYTsKKyAgICBpbXBvcnQgc3BhcmsuY29tcG9uZW50cy5UZXh0SW5wdXQ7CiAKLQl1c2UgbmFtZXNwYWNlIG14X2ludGVybmFsOworICAgIHVzZSBuYW1lc3BhY2UgbXhfaW50ZXJuYWw7CiAJCiAJdXNlIG5hbWVzcGFjZSB0bGZfaW50ZXJuYWw7CQogCS8qKgpAQCAtODcsMTUgKzg4LDEyIEBACiAJCQogCQkvL3ByaXZhdGUgdmFyIG1UZXh0RmllbGQ6UmljaEVkaXRhYmxlVGV4dDsKIAotCQlwcml2YXRlIHZhciBfZGljdG5hbWU6U3RyaW5nID0gbmV3IFN0cmluZygpOwkJCQotCQlwcml2YXRlIHZhciBfaHVuZGljdDpIdW5zcGVsbERpY3Rpb25hcnkgPSBuZXcgSHVuc3BlbGxEaWN0aW9uYXJ5KCk7CQkKLQkJcHJpdmF0ZSB2YXIgX3VzZXJkaWN0OlVzZXJEaWN0aW9uYXJ5ID0gbnVsbDsKLQkJcHJpdmF0ZSB2YXIgX3NoYXJlZG9iajpTaGFyZWRPYmplY3QgPSBudWxsOwotCQlwcml2YXRlIHZhciBzY206U3BlbGxpbmdDb250ZXh0TWVudTsKLQkJCi0JCXByaXZhdGUgdmFyIF9uZXdjaGVja2VyOlNwZWxsQ2hlY2tlciA9IG51bGw7CisJCXByaXZhdGUgdmFyIF9kaWN0aW9uYXJ5TmFtZTpTdHJpbmcgPSAiIjsKKwkJcHJpdmF0ZSB2YXIgX3VzZXJEaWN0aW9uYXJ5OlVzZXJEaWN0aW9uYXJ5ID0gbnVsbDsKKwkJcHJpdmF0ZSB2YXIgX3NoYXJlZE9iamVjdDpTaGFyZWRPYmplY3QgPSBudWxsOworCQlwcml2YXRlIHZhciBfc2NtOlNwZWxsaW5nQ29udGV4dE1lbnU7CiAJCXByaXZhdGUgdmFyIF9yZXNvdXJjZV9sb2NhbGU6T2JqZWN0ID0gbnVsbDsKLQkJcHJpdmF0ZSB2YXIgX3NwZWxsaW5nc2VydmljZTpTcGVsbGluZ1NlcnZpY2UgPSBudWxsOworCQlwcml2YXRlIHZhciBfc3BlbGxpbmdTZXJ2aWNlOlNwZWxsaW5nU2VydmljZSA9IG51bGw7CiAKIAkJcHJpdmF0ZSBzdGF0aWMgdmFyIF9jb250ZXh0TWVudUVudHJpZXM6T2JqZWN0ID0ge2VuYWJsZToiRW5hYmxlIFNwZWxsaW5nIiwgZGlzYWJsZToiRGlzYWJsZSBTcGVsbGluZyIsIGFkZDoiQWRkIHRvIGRpY3Rpb25hcnkifTsJCQogCQlwcml2YXRlIHN0YXRpYyB2YXIgX3NwZWxsaW5nQ29uZmlnVXJsOlN0cmluZyA9ICJTcGVsbGluZ0NvbmZpZy54bWwiOwpAQCAtMTI5LDE2ICsxMjcsMTEgQEAKIAkJCWlmICggbGFuZyA9PSBudWxsICkgcmV0dXJuOwogCQkgCS8vIFRPRE86IENoYW5nZSBkaWN0IHBhcmFtZXRlciB0eXBlIHRvIGEgU3BlbGxDaGVjayBjbGFzcyBvciBhIFVSTCBzdHJpbmcuCiAJCQl2YXIgdHh0OiogPSBnZXRDb21wb25lbnRUZXh0TW9kZWwoY29tcCk7Ci0JCQkvKnZhciBjb21wMTpVSUNvbXBvbmVudCA9IHR4dC5wYXJlbnQ7Ci0JCQl2YXIgY29tcDI6VUlDb21wb25lbnQgPSB0eHQub3duZXI7Ci0JCQl2YXIgY29tcDM6VUlDb21wb25lbnQgPSB0eHQucGFyZW50QXBwbGljYXRpb247Ci0JCQl2YXIgY29tcDQ6VUlDb21wb25lbnQgPSB0eHQucGFyZW50RG9jdW1lbnQ7Ci0JCQl2YXIgY29tcDU6VUlDb21wb25lbnQgPSB0eHQucGFyZW50RG9jdW1lbnQuaG9zdENvbXBvbmVudDsgPC0tc3BhcmsgcGFyZW50IFVJQ09tcG9uZW50Ki8KIAkJCWlmICggdHh0PT1udWxsIHx8IF9VSVRhYmxlW2NvbXBdIT11bmRlZmluZWQgKQogCQkJCXJldHVybjsJCiAJCQkKIAkJCS8vIFRPRE86IGRhbmdlcm91cywgaXMgZ2FyYmFnZSBjb2xsZWN0aW9uIGdvaW5nIHRvIGNsZWFyIHRoaXM/Ci0JCQlfVUlUYWJsZVtjb21wXT1uZXcgU3BlbGxVSSh0eHQsIGxhbmcpOworCQkJX1VJVGFibGVbY29tcF0gPSBuZXcgU3BlbGxVSSh0eHQsIGxhbmcpOwogCQkJX3BhcmVudFRhYmxlW3R4dF0gPSBjb21wOwogCQkJX2NhY2hlRGljdFRhYmxlW2NvbXBdPWxhbmc7CiAJCX0KQEAgLTMwNiwxNiArMjk5LDE1IEBACiAJCQkJcmV0dXJuOwogCQkJfQogCQkJX2FjdHVhbFBhcmVudCA9IHRleHRNb2RlbDsKLQkJCW1UZXh0RmllbGQgPSB0ZXh0TW9kZWwgOworCQkJbVRleHRGaWVsZCA9IHRleHRNb2RlbDsKIAkJCQkJCQkJCQogCQkJbVRleHRGaWVsZC5hZGRFdmVudExpc3RlbmVyKEZvY3VzRXZlbnQuRk9DVVNfT1VULCBoYW5kbGVGb2N1c091dCk7CiAJCQltVGV4dEZpZWxkLmFkZEV2ZW50TGlzdGVuZXIoRm9jdXNFdmVudC5GT0NVU19JTiwgaGFuZGxlRm9jdXNJbik7CiAJCQltVGV4dEZpZWxkLmFkZEV2ZW50TGlzdGVuZXIoU2Nyb2xsRXZlbnQuU0NST0xMLCBzcGVsbENoZWNrU2NyZWVuKTsKIAkJCW1UZXh0RmllbGQucGFyZW50LmFkZEV2ZW50TGlzdGVuZXIoRXZlbnQuUkVOREVSLCBzcGVsbENoZWNrU2NyZWVuKTsKIAkJCW1UZXh0RmllbGQucGFyZW50LmFkZEV2ZW50TGlzdGVuZXIoRXZlbnQuQ0hBTkdFLCBoYW5kbGVDaGFuZ2VFdmVudCk7Ci0JCQlfZGljdG5hbWUgPSBsYW5nOwkJCQorCQkJX2RpY3Rpb25hcnlOYW1lID0gbGFuZzsKIAkJCWxvYWRDb25maWcoKTsKLQkJCQogCQl9CiAJCQogCQlwcml2YXRlIGZ1bmN0aW9uIHNwZWxsQ2hlY2tTY3JlZW4oZXZlbnQ6RXZlbnQpOnZvaWQKQEAgLTM0MCwyMSArMzMyLDI4IEBACiAJCQlzcGVsbENoZWNrU2NyZWVuKGV2ZW50KTsKIAkJfQogCQkKLQkJLypwcml2YXRlIGZ1bmN0aW9uIGRvU3BlbGxpbmcoKTp2b2lkCi0JCXsKLQkJCV9jaGVja0xhc3RXb3JkID0gdHJ1ZTsKLQkJCWRvU3BlbGxpbmdKb2IoKTsKLQkJfSovCi0JCQkJCi0JCS8qKgotCQkgQHByaXZhdGUKLQkJIChUaGlzIHByb3BlcnR5IGlzIGZvciBTcXVpZ2dseSBEZXZlbG9wZXIgdXNlIG9ubHkuKQotCQkgKi8JCQogCQlwdWJsaWMgZnVuY3Rpb24gZG9TcGVsbGluZ0pvYigpOnZvaWQKIAkJewotCQkJaWYgKF9zcGVsbGluZ0VuYWJsZWQgPT0gZmFsc2UpIHJldHVybjsKKwkJCWlmIChfc3BlbGxpbmdFbmFibGVkID09IGZhbHNlKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgaWYoIWlzVGV4dEZpZWxkUmVhZHlGb3JTcGVsbGluZ0pvYigpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKwogCQkJc3BlbGxDaGVja1JhbmdlKGdldFZhbGlkRmlyc3RXb3JkSW5kZXgoKSwgZ2V0VmFsaWRMYXN0V29yZEluZGV4KCkpOwogCQl9CisKKyAgICAgICAgcHJpdmF0ZSBmdW5jdGlvbiBpc1RleHRGaWVsZFJlYWR5Rm9yU3BlbGxpbmdKb2IoKTpCb29sZWFuCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmKCFtVGV4dEZpZWxkKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgdmFyIHRleHRGbG93OlRleHRGbG93ID0gbVRleHRGaWVsZCBpcyBSaWNoRWRpdGFibGVUZXh0ID8gUmljaEVkaXRhYmxlVGV4dChtVGV4dEZpZWxkKS50ZXh0RmxvdyA6IG51bGw7CisgICAgICAgICAgICBpZighdGV4dEZsb3cgfHwgIXRleHRGbG93LmZsb3dDb21wb3NlcikKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAgICAgcmV0dXJuICF0ZXh0Rmxvdy5mbG93Q29tcG9zZXIuaXNEYW1hZ2VkKHRleHRGbG93LnRleHRMZW5ndGgpOworICAgICAgICB9CiAJCQogCQlwcml2YXRlIGZ1bmN0aW9uIHNwZWxsQ2hlY2tSYW5nZShzdGFydDp1aW50LCBlbmQ6dWludCk6dm9pZCB7CiAJCQkvL2hoLnByZVNwZWxsQ2hlY2tSYW5nZShzdGFydCwgZW5kKTsKQEAgLTM4OCwxMCArMzg3LDkgQEAKIAkJCX0KIAkJCQogCQkJdmFyIHRva2VuaXplcjpUZXh0VG9rZW5pemVyID0gbmV3IFRleHRUb2tlbml6ZXIobVRleHRGaWVsZC50ZXh0LnN1YnN0cmluZyhzdGFydCxlbmQpKTsKLQkJCXZhciB0b2tlbnM6VmVjdG9yLjxUb2tlbj4gPSBuZXcgVmVjdG9yLjxUb2tlbj4oKTsKLQkJCQorCiAJCQlmb3IgKCB2YXIgdG9rZW46VG9rZW4gPSB0b2tlbml6ZXIuZ2V0Rmlyc3RUb2tlbigpOyB0b2tlbiAhPSB0b2tlbml6ZXIuZ2V0TGFzdFRva2VuKCk7IHRva2VuPSB0b2tlbml6ZXIuZ2V0TmV4dFRva2VuKHRva2VuKSApIHsKLQkJCQl2YXIgcmVzdWx0OkJvb2xlYW49X3NwZWxsaW5nc2VydmljZS5jaGVja1dvcmQobVRleHRGaWVsZC50ZXh0LnN1YnN0cmluZyh0b2tlbi5maXJzdCtzdGFydCwgdG9rZW4ubGFzdCtzdGFydCkpOwkJCQkJCisJCQkJdmFyIHJlc3VsdDpCb29sZWFuPV9zcGVsbGluZ1NlcnZpY2UuY2hlY2tXb3JkKG1UZXh0RmllbGQudGV4dC5zdWJzdHJpbmcodG9rZW4uZmlyc3Qrc3RhcnQsIHRva2VuLmxhc3Qrc3RhcnQpKTsKIAkJCQlpZiAoIXJlc3VsdCl7CiAJCQkJCWlmIChfY2hlY2tMYXN0V29yZCB8fCAodG9rZW4ubGFzdCtzdGFydCAhPSBtVGV4dEZpZWxkLnRleHQubGVuZ3RoKSkKIAkJCQkJCS8vaGguaGlnaGxpZ2h0V29yZCh0b2tlbi5maXJzdCtzdGFydCwgdG9rZW4ubGFzdCtzdGFydC0xKTsKQEAgLTQ0MiwzNiArNDQwLDQxIEBACiAJCQlyZXR1cm4gaW5kZXg7CiAJCX0KIAotCQkJcHJpdmF0ZSBmdW5jdGlvbiBsb2FkQ29uZmlnKCk6dm9pZHsKLQkJCV9yZXNvdXJjZV9sb2NhbGUgPSBTcGVsbGluZ0NvbmZpZ3VyYXRpb24ucmVzb3VyY2VUYWJsZS5nZXRSZXNvdXJjZShfZGljdG5hbWUpOwotCQkJCi0JCQlpZiAoKF9yZXNvdXJjZV9sb2NhbGUgIT0gbnVsbCkgfHwgKFNwZWxsVUkuX2NvbmZpZ1hNTCAhPSBudWxsKSkgCi0JCQkJbG9hZENvbmZpZ0NvbXBsZXRlKG51bGwpOwotCQkJZWxzZSB7CQotCQkJCVNwZWxsVUkuX2NvbmZpZ1hNTExvYWRlci5hZGRFdmVudExpc3RlbmVyKEV2ZW50LkNPTVBMRVRFLCBsb2FkQ29uZmlnQ29tcGxldGUpOwotCQkJCi0JCQkJaWYgKFNwZWxsVUkuX2NvbmZpZ1hNTExvYWRpbmcgPT0gZmFsc2UpCi0JCQkJewotCQkJCQlTcGVsbFVJLl9jb25maWdYTUxMb2FkZXIubG9hZChuZXcgVVJMUmVxdWVzdChfc3BlbGxpbmdDb25maWdVcmwpKTsKLQkJCQkJU3BlbGxVSS5fY29uZmlnWE1MTG9hZGluZyA9IHRydWU7Ci0JCQkJfQotCQkJfQorCQkJcHJpdmF0ZSBmdW5jdGlvbiBsb2FkQ29uZmlnKCk6dm9pZAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIF9yZXNvdXJjZV9sb2NhbGUgPSBTcGVsbGluZ0NvbmZpZ3VyYXRpb24ucmVzb3VyY2VUYWJsZS5nZXRSZXNvdXJjZShfZGljdGlvbmFyeU5hbWUpOworCisgICAgICAgICAgICAgICAgaWYgKChfcmVzb3VyY2VfbG9jYWxlICE9IG51bGwpIHx8IChTcGVsbFVJLl9jb25maWdYTUwgIT0gbnVsbCkpCisgICAgICAgICAgICAgICAgICAgIGxvYWRDb25maWdDb21wbGV0ZShudWxsKTsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgU3BlbGxVSS5fY29uZmlnWE1MTG9hZGVyLmFkZEV2ZW50TGlzdGVuZXIoRXZlbnQuQ09NUExFVEUsIGxvYWRDb25maWdDb21wbGV0ZSk7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKFNwZWxsVUkuX2NvbmZpZ1hNTExvYWRpbmcgPT0gZmFsc2UpCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFNwZWxsVUkuX2NvbmZpZ1hNTExvYWRlci5sb2FkKG5ldyBVUkxSZXF1ZXN0KF9zcGVsbGluZ0NvbmZpZ1VybCkpOworICAgICAgICAgICAgICAgICAgICAgICAgU3BlbGxVSS5fY29uZmlnWE1MTG9hZGluZyA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CiAJCX0KIAkJCiAJCXByaXZhdGUgZnVuY3Rpb24gbG9hZENvbmZpZ0NvbXBsZXRlKGV2dDpFdmVudCk6dm9pZHsKIAkJCWlmIChfcmVzb3VyY2VfbG9jYWxlID09IG51bGwpIHsKLQkJCWlmIChTcGVsbFVJLl9jb25maWdYTUwgPT0gbnVsbCkKLQkJCQlTcGVsbFVJLl9jb25maWdYTUw9IG5ldyBYTUwoZXZ0LnRhcmdldC5kYXRhKTsKLQkJCQotCQkJCVNwZWxsaW5nQ29uZmlndXJhdGlvbi5yZXNvdXJjZVRhYmxlLnNldFJlc291cmNlKF9kaWN0bmFtZSx7cnVsZTpTcGVsbFVJLl9jb25maWdYTUwuTGFuZ3VhZ2VSZXNvdXJjZS4oQGxhbmd1YWdlQ29kZT09X2RpY3RuYW1lKS5AcnVsZUZpbGUsIAotCQkJCQkJCQkJCQkJCQkJCQkJZGljdDpTcGVsbFVJLl9jb25maWdYTUwuTGFuZ3VhZ2VSZXNvdXJjZS4oQGxhbmd1YWdlQ29kZT09X2RpY3RuYW1lKS5AZGljdGlvbmFyeUZpbGV9KTsKLQkJCX0KKyAgICAgICAgICAgICAgICBpZiAoU3BlbGxVSS5fY29uZmlnWE1MID09IG51bGwpCisgICAgICAgICAgICAgICAgICAgIFNwZWxsVUkuX2NvbmZpZ1hNTCA9IG5ldyBYTUwoZXZ0LnRhcmdldC5kYXRhKTsKKworICAgICAgICAgICAgICAgIFNwZWxsaW5nQ29uZmlndXJhdGlvbi5yZXNvdXJjZVRhYmxlLnNldFJlc291cmNlKF9kaWN0aW9uYXJ5TmFtZSx7cnVsZTpTcGVsbFVJLl9jb25maWdYTUwuTGFuZ3VhZ2VSZXNvdXJjZS4oQGxhbmd1YWdlQ29kZT09X2RpY3Rpb25hcnlOYW1lKS5AcnVsZUZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWN0OlNwZWxsVUkuX2NvbmZpZ1hNTC5MYW5ndWFnZVJlc291cmNlLihAbGFuZ3VhZ2VDb2RlPT1fZGljdGlvbmFyeU5hbWUpLkBkaWN0aW9uYXJ5RmlsZX0pOworICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIC8vTmV3IEFkZGVkCi0JCQlfc3BlbGxpbmdzZXJ2aWNlID0gbmV3IFNwZWxsaW5nU2VydmljZShfZGljdG5hbWUpOwotCQkJX3NwZWxsaW5nc2VydmljZS5hZGRFdmVudExpc3RlbmVyKEV2ZW50LkNPTVBMRVRFLCBsb2FkRGljdENvbXBsZXRlKTsKLQkJCV9zcGVsbGluZ3NlcnZpY2UuaW5pdCgpOworCQkJX3NwZWxsaW5nU2VydmljZSA9IGNyZWF0ZVNwZWxsaW5nU2VydmljZShfZGljdGlvbmFyeU5hbWUpOworCQkJX3NwZWxsaW5nU2VydmljZS5hZGRFdmVudExpc3RlbmVyKEV2ZW50LkNPTVBMRVRFLCBsb2FkRGljdENvbXBsZXRlKTsKKwkJCV9zcGVsbGluZ1NlcnZpY2UuaW5pdCgpOwogCQl9Ci0JCQorCisJCXByb3RlY3RlZCBmdW5jdGlvbiBjcmVhdGVTcGVsbGluZ1NlcnZpY2UoZGljdGlvbmFyeU5hbWU6U3RyaW5nKTpTcGVsbGluZ1NlcnZpY2UKKwkJeworCQkJcmV0dXJuIG5ldyBTcGVsbGluZ1NlcnZpY2UoZGljdGlvbmFyeU5hbWUpOworCQl9CiAJCQkJCiAJCQkJCiAJCQpAQCAtNDgyLDI3ICs0ODUsMjcgQEAKIAkJCS8vIExhenkgbG9hZGluZyB0aGUgVUQgb25seSB3aGVuIHRoZSBtYWluIGRpY3QgaXMgbG9hZGVkIHN1Y2Nlc3NmdWxseQogCQkJaWYgKChTcGVsbFVJLl9jYWNoZVsiU3F1aWdnbHlfVUQiXSBhcyBVc2VyRGljdGlvbmFyeSkgPT0gbnVsbCkKIAkJCXsKLQkJCQlfc2hhcmVkb2JqID0gU2hhcmVkT2JqZWN0LmdldExvY2FsKCJTcXVpZ2dseV92MDMiKTsKKwkJCQlfc2hhcmVkT2JqZWN0ID0gU2hhcmVkT2JqZWN0LmdldExvY2FsKCJTcXVpZ2dseV92MDMiKTsKIAkJCQl2YXIgdmVjOlZlY3Rvci48U3RyaW5nPiA9IG5ldyBWZWN0b3IuPFN0cmluZz4oKTsKLQkJCQlpZiAoX3NoYXJlZG9iai5kYXRhLnVkKSB7Ci0JCQkJCWZvciBlYWNoICh2YXIgdzpTdHJpbmcgaW4gX3NoYXJlZG9iai5kYXRhLnVkKQorCQkJCWlmIChfc2hhcmVkT2JqZWN0LmRhdGEudWQpIHsKKwkJCQkJZm9yIGVhY2ggKHZhciB3OlN0cmluZyBpbiBfc2hhcmVkT2JqZWN0LmRhdGEudWQpCiAJCQkJCXZlYy5wdXNoKHcpOwogCQkJCX0KLQkJCQlfdXNlcmRpY3QgPSBuZXcgVXNlckRpY3Rpb25hcnkodmVjKTsKKwkJCQlfdXNlckRpY3Rpb25hcnkgPSBuZXcgVXNlckRpY3Rpb25hcnkodmVjKTsKIAkJCQkKLQkJCQlTcGVsbFVJLl9jYWNoZVsiU3F1aWdnbHlfU08iXSA9IF9zaGFyZWRvYmo7Ci0JCQkJU3BlbGxVSS5fY2FjaGVbIlNxdWlnZ2x5X1VEIl0gPSBfdXNlcmRpY3Q7CisJCQkJU3BlbGxVSS5fY2FjaGVbIlNxdWlnZ2x5X1NPIl0gPSBfc2hhcmVkT2JqZWN0OworCQkJCVNwZWxsVUkuX2NhY2hlWyJTcXVpZ2dseV9VRCJdID0gX3VzZXJEaWN0aW9uYXJ5OwogCQkJfQogCQkJZWxzZSAKIAkJCXsKLQkJCQlfc2hhcmVkb2JqID0gU3BlbGxVSS5fY2FjaGVbIlNxdWlnZ2x5X1NPIl07Ci0JCQkJX3VzZXJkaWN0ID0gU3BlbGxVSS5fY2FjaGVbIlNxdWlnZ2x5X1VEIl07CisJCQkJX3NoYXJlZE9iamVjdCA9IFNwZWxsVUkuX2NhY2hlWyJTcXVpZ2dseV9TTyJdOworCQkJCV91c2VyRGljdGlvbmFyeSA9IFNwZWxsVUkuX2NhY2hlWyJTcXVpZ2dseV9VRCJdOwogCQkJfQotCQkJX3NwZWxsaW5nc2VydmljZS5hZGRVc2VyRGljdGlvbmFyeShfdXNlcmRpY3QpOworCQkJX3NwZWxsaW5nU2VydmljZS5hZGRVc2VyRGljdGlvbmFyeShfdXNlckRpY3Rpb25hcnkpOwogCQkJCiAJCQkKIAkJCS8vIEFkZCB0aGUgY29udGV4dCBtZW51LCB0aGlzIG1pZ2h0IGJlIG5vdCBzdWNjZXNzZnVsCi0JCQlzY20gPSBudWxsOworCQkJX3NjbSA9IG51bGw7CiAJCQl0cnkgewogCQkJCWFkZENvbnRleHRNZW51KG51bGwpOwogCQkJfQpAQCAtNTE2LDI4ICs1MTksMjEgQEAKIAkJCiAJCXByaXZhdGUgZnVuY3Rpb24gYWRkQ29udGV4dE1lbnUoZXZlbnQ6RXZlbnQpOnZvaWQKIAkJewotCQkJaWYgKCBzY20gIT0gbnVsbCApIHJldHVybjsKLQkJCWlmICggaXNIYWxvQ29tcG9uZW50ICkgewotCQkJCWhoPSBuZXcgSGFsb0hpZ2hsaWdodGVyKCBfYWN0dWFsUGFyZW50KTsKLQkJCQlodz0gbmV3IEhhbG9Xb3JkUHJvY2Vzc29yKCBfYWN0dWFsUGFyZW50ICk7Ci0JCQl9ZWxzZSBpZiAoIGlzU3BhcmtDb21wb25lbnQgKXsKLQkJCQloaCA9IG5ldyBTcGFya0hpZ2hsaWdodGVyKCBfYWN0dWFsUGFyZW50KTsKLQkJCQlodyA9IG5ldyBTcGFya1dvcmRQcm9jZXNzb3IoIF9hY3R1YWxQYXJlbnQpOwotCQkJfSBlbHNlIHsKLQkJCQl0cmFjZSgiZXJyb3Igbm93LCBsYXRlciB3aWxsIGJlIHRydWUiKTsKLQkJCX0KKwkJCWlmICggX3NjbSAhPSBudWxsICkgcmV0dXJuOworICAgICAgICAgICAgaGggPSBjcmVhdGVIaWdobGlnaHRlcihpc0hhbG9Db21wb25lbnQsIF9hY3R1YWxQYXJlbnQpOworICAgICAgICAgICAgaHcgPSBjcmVhdGVXb3JkUHJvY2Vzc29yKGlzSGFsb0NvbXBvbmVudCwgX2FjdHVhbFBhcmVudCk7CiAJCQotCQkJc2NtID0gIG5ldyBTcGVsbGluZ0NvbnRleHRNZW51KGhoLCBodywgX3NwZWxsaW5nc2VydmljZSwgX2FjdHVhbFBhcmVudCwgX2FjdHVhbFBhcmVudC5jb250ZXh0TWVudSk7IAotCQkJc2NtLnNldElnbm9yZVdvcmRDYWxsYmFjayggYWRkV29yZFRvVXNlckRpY3Rpb25hcnkgKTsKKwkJCV9zY20gPSAgbmV3IFNwZWxsaW5nQ29udGV4dE1lbnUoaGgsIGh3LCBfc3BlbGxpbmdTZXJ2aWNlLCBfYWN0dWFsUGFyZW50LCBfYWN0dWFsUGFyZW50LmNvbnRleHRNZW51KTsKKwkJCV9zY20uc2V0SWdub3JlV29yZENhbGxiYWNrKCBhZGRXb3JkVG9Vc2VyRGljdGlvbmFyeSApOwogCQkJCiAJCQkvLyBIYWxvIG5lZWQgdGhpcwogCQkJaWYgKF9hY3R1YWxQYXJlbnQuY29udGV4dE1lbnUgPT0gbnVsbCkKIAkJCXsKLQkJCQlfYWN0dWFsUGFyZW50LmNvbnRleHRNZW51ID0gc2NtLmNvbnRleHRNZW51OworCQkJCV9hY3R1YWxQYXJlbnQuY29udGV4dE1lbnUgPSBfc2NtLmNvbnRleHRNZW51OwogCQkJfQogCQkJCi0JCQkvL2hoLnNwZWxsaW5nRW5hYmxlZD10cnVlOwogCQkJX3NwZWxsaW5nRW5hYmxlZCA9IHRydWU7CisKIAkJCXRyeSB7CiAJCQkJZG9TcGVsbGluZ0pvYigpOwogCQkJfQpAQCAtNTQ2LDEzICs1NDIsMjMgQEAKIAkJCQkvLyBJZiBpdCBmYWlscyBoZXJlLCBpdCBzaG91bGQgbGF0ZXIgdHJpZ2dlcmVkIGJ5IHRoZSByZW5kZXIgZXZlbnQsIHNvIG5vIG5lZWQgdG8gZG8gYW55dGhpbmcKIAkJCX0KIAkJfQotCQkKKworICAgICAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY3JlYXRlSGlnaGxpZ2h0ZXIoaXNIYWxvQ29tb3BvbmVudDpCb29sZWFuLCBwYXJlbnQ6Kik6SUhpZ2hsaWdodGVyCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBpc0hhbG9Db21vcG9uZW50ID8gbmV3IEhhbG9IaWdobGlnaHRlcihwYXJlbnQpIDogbmV3IFNwYXJrSGlnaGxpZ2h0ZXIocGFyZW50KTsKKyAgICAgICAgfQorCisgICAgICAgIHByb3RlY3RlZCBmdW5jdGlvbiBjcmVhdGVXb3JkUHJvY2Vzc29yKGlzSGFsb0NvbW9wb25lbnQ6Qm9vbGVhbiwgcGFyZW50OiopOklXb3JkUHJvY2Vzc29yCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBpc0hhbG9Db21vcG9uZW50ID8gbmV3IEhhbG9Xb3JkUHJvY2Vzc29yKHBhcmVudCkgOiBuZXcgU3BhcmtXb3JkUHJvY2Vzc29yKCBfYWN0dWFsUGFyZW50KTsKKyAgICAgICAgfQorCiAJCXByaXZhdGUgZnVuY3Rpb24gYWRkV29yZFRvVXNlckRpY3Rpb25hcnkod29yZDpTdHJpbmcpOnZvaWQKIAkJewotCQkJX3VzZXJkaWN0LmFkZFdvcmQod29yZCk7CisJCQlfdXNlckRpY3Rpb25hcnkuYWRkV29yZCh3b3JkKTsKIAkJCiAJCQkvLyBUT0RPOiBzZXJpYWxpemF0aW9uIGhlcmUgbWlnaHQgYWZmZWN0IHRoZXIgcGVyZm9ybWFuY2UKLQkJCV9zaGFyZWRvYmouZGF0YS51ZCA9IF91c2VyZGljdC53b3JkTGlzdDsKKwkJCV9zaGFyZWRPYmplY3QuZGF0YS51ZCA9IF91c2VyRGljdGlvbmFyeS53b3JkTGlzdDsKIAkJCQogCQl9CiAJCS8qKgpAQCAtNTY0LDkgKzU3MCw5IEBACiAJCQkJaGguY2xlYXJTcXVpZ2dsZXMoKTsKIAkJCX0KIAotCQkJaWYoc2NtICE9IG51bGwpCisJCQlpZihfc2NtICE9IG51bGwpCiAJCQl7Ci0JCQkJc2NtLmNsZWFuVXAoKTsKKwkJCQlfc2NtLmNsZWFuVXAoKTsKIAkJCX0KIAogCQkJX2FjdHVhbFBhcmVudC5yZW1vdmVFdmVudExpc3RlbmVyKEV2ZW50LkFEREVEX1RPX1NUQUdFLCBhZGRDb250ZXh0TWVudSk7CmRpZmYgLS1naXQgYS9TcXVpZ2dseS9tYWluL1NwZWxsaW5nVUlFeC90ZXN0cy9jb20vYWRvYmUvbGluZ3Vpc3RpY3Mvc3BlbGxpbmcvRkxFWF8zNDcxN19UZXN0cy5hcyBiL1NxdWlnZ2x5L21haW4vU3BlbGxpbmdVSUV4L3Rlc3RzL2NvbS9hZG9iZS9saW5ndWlzdGljcy9zcGVsbGluZy9GTEVYXzM0NzE3X1Rlc3RzLmFzCmluZGV4IDYyNGFjYWUuLjljZTg5ZGYgMTAwNjQ0Ci0tLSBhL1NxdWlnZ2x5L21haW4vU3BlbGxpbmdVSUV4L3Rlc3RzL2NvbS9hZG9iZS9saW5ndWlzdGljcy9zcGVsbGluZy9GTEVYXzM0NzE3X1Rlc3RzLmFzCisrKyBiL1NxdWlnZ2x5L21haW4vU3BlbGxpbmdVSUV4L3Rlc3RzL2NvbS9hZG9iZS9saW5ndWlzdGljcy9zcGVsbGluZy9GTEVYXzM0NzE3X1Rlc3RzLmFzCkBAIC00NCw3ICs0NCw3IEBACiAgICAgICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0X2ltbWVkaWF0ZV9kaXNhYmxlX2FmdGVyX2VuYWJsZSgpOnZvaWQKICAgICAgICAgewogICAgICAgICAgICAgLy9naXZlbgotICAgICAgICAgICAgVUlJbXBlcnNvbmF0b3IuYWRkQ2hpbGQoX2lucHV0KTsKKyAgICAgICAgICAgIFVJSW1wZXJzb25hdG9yLmFkZEVsZW1lbnQoX2lucHV0KTsKIAogICAgICAgICAgICAgLy93aGVuCiAgICAgICAgICAgICBTcGVsbFVJLmVuYWJsZVNwZWxsaW5nKF9pbnB1dCwgImVuX1VTIik7CmRpZmYgLS1naXQgYS9TcXVpZ2dseS9tYWluL1NwZWxsaW5nVUlFeC90ZXN0cy9jb20vYWRvYmUvbGluZ3Vpc3RpY3Mvc3BlbGxpbmcvRkxFWF8zNDc1Nl9UZXN0LmFzIGIvU3F1aWdnbHkvbWFpbi9TcGVsbGluZ1VJRXgvdGVzdHMvY29tL2Fkb2JlL2xpbmd1aXN0aWNzL3NwZWxsaW5nL0ZMRVhfMzQ3NTZfVGVzdC5hcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2IwNzRmCi0tLSAvZGV2L251bGwKKysrIGIvU3F1aWdnbHkvbWFpbi9TcGVsbGluZ1VJRXgvdGVzdHMvY29tL2Fkb2JlL2xpbmd1aXN0aWNzL3NwZWxsaW5nL0ZMRVhfMzQ3NTZfVGVzdC5hcwpAQCAtMCwwICsxLDE2MCBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCitwYWNrYWdlIGNvbS5hZG9iZS5saW5ndWlzdGljcy5zcGVsbGluZyB7CisgICAgaW1wb3J0IGNvbS5hZG9iZS5saW5ndWlzdGljcy5zcGVsbGluZy5TcGVsbFVJOworICAgIGltcG9ydCBjb20uYWRvYmUubGluZ3Vpc3RpY3Muc3BlbGxpbmcuZnJhbWV3b3JrLlNwZWxsaW5nU2VydmljZTsKKyAgICBpbXBvcnQgY29tLmFkb2JlLmxpbmd1aXN0aWNzLnNwZWxsaW5nLmZyYW1ld29yay51aS5JSGlnaGxpZ2h0ZXI7CisKKyAgICBpbXBvcnQgZmxhc2guZXZlbnRzLkV2ZW50OworICAgIGltcG9ydCBmbGFzaC5ldmVudHMuSUV2ZW50RGlzcGF0Y2hlcjsKKworICAgIGltcG9ydCBmbGFzaHgudGV4dExheW91dC5lZGl0LkVkaXRNYW5hZ2VyOworICAgIGltcG9ydCBmbGFzaHgudGV4dExheW91dC5lbGVtZW50cy5GbG93RWxlbWVudDsKKyAgICBpbXBvcnQgZmxhc2h4LnRleHRMYXlvdXQuZWxlbWVudHMuUGFyYWdyYXBoRWxlbWVudDsKKyAgICBpbXBvcnQgZmxhc2h4LnRleHRMYXlvdXQuZWxlbWVudHMuU3BhbkVsZW1lbnQ7CisKKyAgICBpbXBvcnQgbW9ja29sYXRlLm5pY2U7CisgICAgaW1wb3J0IG1vY2tvbGF0ZS5wcmVwYXJlOworICAgIGltcG9ydCBtb2Nrb2xhdGUucmVjZWl2ZWQ7CisgICAgaW1wb3J0IG1vY2tvbGF0ZS5zdHViOworCisgICAgaW1wb3J0IG9yZy5mbGV4dW5pdC5hc3NlcnRUaGF0OworICAgIGltcG9ydCBvcmcuZmxleHVuaXQuYXNzZXJ0cy5hc3NlcnRUcnVlOworICAgIGltcG9ydCBvcmcuZmxleHVuaXQuYXN5bmMuQXN5bmM7CisgICAgaW1wb3J0IG9yZy5mbHVpbnQudWlJbXBlcnNvbmF0aW9uLlVJSW1wZXJzb25hdG9yOworCisgICAgaW1wb3J0IHNwYXJrLmNvbXBvbmVudHMuUmljaEVkaXRhYmxlVGV4dDsKKworICAgIHB1YmxpYyBjbGFzcyBGTEVYXzM0NzU2X1Rlc3QgeworICAgICAgICBwcml2YXRlIHN0YXRpYyB2YXIgX3RleHRGaWVsZDpSaWNoRWRpdGFibGVUZXh0OworICAgICAgICBwcml2YXRlIHN0YXRpYyB2YXIgX3N1dDpTcGVsbFVJOworICAgICAgICBwcml2YXRlIHN0YXRpYyBjb25zdCBURVhUX1dJVEhfU1BFTExJTkdfRVJST1I6U3RyaW5nID0gImhlbGxvbyI7CisgICAgICAgIHByaXZhdGUgc3RhdGljIGNvbnN0IERJQ1Q6U3RyaW5nID0gImVuX0dCIjsKKworICAgICAgICBbQmVmb3JlKGFzeW5jLCB0aW1lb3V0PTUwMDApXQorICAgICAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKTp2b2lkCisgICAgICAgIHsKKyAgICAgICAgICAgIF90ZXh0RmllbGQgPSBuZXcgUmljaEVkaXRhYmxlVGV4dCgpOworICAgICAgICAgICAgVUlJbXBlcnNvbmF0b3IuYWRkQ2hpbGQoX3RleHRGaWVsZCk7CisgICAgICAgICAgICBfdGV4dEZpZWxkLnRleHQgPSBURVhUX1dJVEhfU1BFTExJTkdfRVJST1I7CisKKyAgICAgICAgICAgIHZhciBtb2Nrb2xhdGVEaXNwYXRjaGVyOklFdmVudERpc3BhdGNoZXIgPSBwcmVwYXJlKElIaWdobGlnaHRlciwgU3BlbGxpbmdTZXJ2aWNlKTsKKyAgICAgICAgICAgIG1vY2tvbGF0ZURpc3BhdGNoZXIuYWRkRXZlbnRMaXN0ZW5lcihFdmVudC5DT01QTEVURSwgQXN5bmMuYXN5bmNIYW5kbGVyKHRoaXMsIG9uU2V0VXBDb21wbGV0ZSwgNTAwMCwgbnVsbCwgbnVsbCkpOworICAgICAgICB9CisKKyAgICAgICAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gb25TZXRVcENvbXBsZXRlKGV2ZW50OkV2ZW50LCBwYXNzVGhyb3VnaERhdGE6T2JqZWN0KTp2b2lkCisgICAgICAgIHsKKyAgICAgICAgICAgIFNwZWxsVUlGb3JUZXN0LnNwYXJrSGlnaGxpZ2h0ZXIgPSBuaWNlKElIaWdobGlnaHRlcik7CisgICAgICAgICAgICBTcGVsbFVJRm9yVGVzdC5zcGVsbGluZ1NlcnZpY2UgPSBuaWNlKFNwZWxsaW5nU2VydmljZSwgInNwZWxsaW5nU2VydmljZSIsIFtESUNUXSk7CisKKyAgICAgICAgICAgIF9zdXQgPSBuZXcgU3BlbGxVSUZvclRlc3QoX3RleHRGaWVsZCwgRElDVCk7CisgICAgICAgIH0KKworICAgICAgICBbQWZ0ZXJdCisgICAgICAgIHB1YmxpYyBmdW5jdGlvbiB0ZWFyRG93bigpOnZvaWQKKyAgICAgICAgeworICAgICAgICAgICAgVUlJbXBlcnNvbmF0b3IucmVtb3ZlQWxsQ2hpbGRyZW4oKTsKKyAgICAgICAgICAgIF90ZXh0RmllbGQgPSBudWxsOworICAgICAgICAgICAgX3N1dCA9IG51bGw7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdChhc3luYywgdGltZW91dD0yNTAwKV0KKyAgICAgICAgcHVibGljIGZ1bmN0aW9uIG1ha2Vfc3VyZV9pdF9kb2VzbnRfcnVuX2Ffc3BlbGxpbmdfam9iX29uX2RhbWFnZWRfdGV4dF9mbG93KCk6dm9pZAorICAgICAgICB7CisgICAgICAgICAgICAvL3doZW4KKyAgICAgICAgICAgIHN0dWIoU3BlbGxVSUZvclRlc3Quc3BlbGxpbmdTZXJ2aWNlKS5tZXRob2QoImluaXQiKS5kaXNwYXRjaGVzKG5ldyBFdmVudChFdmVudC5DT01QTEVURSkpOworICAgICAgICAgICAgU3BlbGxVSS5lbmFibGVTcGVsbGluZyhfdGV4dEZpZWxkLCAiZW5fR0IiKTsKKyAgICAgICAgICAgIFNwZWxsVUlGb3JUZXN0LmV2ZW50RGlzcGF0Y2hlci5hZGRFdmVudExpc3RlbmVyKEV2ZW50LkNPTVBMRVRFLCBBc3luYy5hc3luY0hhbmRsZXIodGhpcywgb25EaWN0aW9uYXJ5TG9hZENvbXBsZXRlLCAxNTAwLCBudWxsLCBudWxsKSk7CisgICAgICAgIH0KKworICAgICAgICBwcml2YXRlIGZ1bmN0aW9uIG9uRGljdGlvbmFyeUxvYWRDb21wbGV0ZShldmVudDpFdmVudCwgcGFzc1Rocm91Z2hEYXRhOk9iamVjdCk6dm9pZAorICAgICAgICB7CisgICAgICAgICAgICAvL2dpdmVuCisgICAgICAgICAgICBkYW1hZ2VUZXh0RmxvdygpOworCisgICAgICAgICAgICAvL3doZW4KKyAgICAgICAgICAgIF9zdXQuZG9TcGVsbGluZ0pvYigpOworCisgICAgICAgICAgICAvL3RoZW4KKyAgICAgICAgICAgIC8vZG9TcGVsbGluZ0pvYigpIGlzIGFsc28gY2FsbGVkIG9uY2UgYWZ0ZXIgdGhlIGRpY3Rpb25hcnkgZmluaXNoZXMgbG9hZGluZywgaGVuY2UgJ2F0TW9zdCgxKScgYmVsb3cKKyAgICAgICAgICAgIGFzc2VydFRoYXQoU3BlbGxVSUZvclRlc3Quc3BhcmtIaWdobGlnaHRlciwgcmVjZWl2ZWQoKS5tZXRob2QoImNsZWFyU3F1aWdnbGVzIikuYXRNb3N0KDEpKTsKKyAgICAgICAgICAgIGFzc2VydFRoYXQoU3BlbGxVSUZvclRlc3Quc3BlbGxpbmdTZXJ2aWNlLCByZWNlaXZlZCgpLm1ldGhvZCgiY2hlY2tXb3JkIikubmV2ZXIoKSk7CisgICAgICAgIH0KKworICAgICAgICBwcml2YXRlIGZ1bmN0aW9uIGRhbWFnZVRleHRGbG93KCk6dm9pZAorICAgICAgICB7CisgICAgICAgICAgICB2YXIgZWRpdE1hbmFnZXI6RWRpdE1hbmFnZXIgPSBfdGV4dEZpZWxkLnRleHRGbG93LmludGVyYWN0aW9uTWFuYWdlciBhcyBFZGl0TWFuYWdlcjsKKyAgICAgICAgICAgIHZhciBmaXJzdExpbmU6Rmxvd0VsZW1lbnQgPSBlZGl0TWFuYWdlci50ZXh0Rmxvdy5maW5kTGVhZigwKTsKKyAgICAgICAgICAgIHZhciBwYXJhZ3JhcGg6UGFyYWdyYXBoRWxlbWVudCA9IGZpcnN0TGluZS5nZXRQYXJhZ3JhcGgoKTsKKyAgICAgICAgICAgIHZhciBzcGFuOlNwYW5FbGVtZW50ID0gbmV3IFNwYW5FbGVtZW50KCk7CisgICAgICAgICAgICBzcGFuLnRleHQgPSAiICCVICAiOworICAgICAgICAgICAgcGFyYWdyYXBoLmFkZENoaWxkQXQoMCwgc3Bhbik7CisKKyAgICAgICAgICAgIGFzc2VydFRydWUoX3RleHRGaWVsZC50ZXh0Rmxvdy5mbG93Q29tcG9zZXIuaXNEYW1hZ2VkKF90ZXh0RmllbGQudGV4dEZsb3cudGV4dExlbmd0aCkpOworICAgICAgICB9CisgICAgfQorfQorCitpbXBvcnQgY29tLmFkb2JlLmxpbmd1aXN0aWNzLnNwZWxsaW5nLlNwZWxsVUk7CitpbXBvcnQgY29tLmFkb2JlLmxpbmd1aXN0aWNzLnNwZWxsaW5nLmZyYW1ld29yay5TcGVsbGluZ1NlcnZpY2U7CitpbXBvcnQgY29tLmFkb2JlLmxpbmd1aXN0aWNzLnNwZWxsaW5nLmZyYW1ld29yay51aS5IYWxvSGlnaGxpZ2h0ZXI7CitpbXBvcnQgY29tLmFkb2JlLmxpbmd1aXN0aWNzLnNwZWxsaW5nLmZyYW1ld29yay51aS5JSGlnaGxpZ2h0ZXI7CisKK2ltcG9ydCBmbGFzaC5ldmVudHMuRXZlbnQ7CitpbXBvcnQgZmxhc2guZXZlbnRzLkV2ZW50RGlzcGF0Y2hlcjsKK2ltcG9ydCBmbGFzaC5ldmVudHMuSUV2ZW50RGlzcGF0Y2hlcjsKK2ltcG9ydCBmbGFzaC5ldmVudHMuVGltZXJFdmVudDsKK2ltcG9ydCBmbGFzaC51dGlscy5UaW1lcjsKKworY2xhc3MgU3BlbGxVSUZvclRlc3QgZXh0ZW5kcyBTcGVsbFVJCit7CisgICAgcHVibGljIHN0YXRpYyB2YXIgc3BhcmtIaWdobGlnaHRlcjpJSGlnaGxpZ2h0ZXI7CisgICAgcHVibGljIHN0YXRpYyB2YXIgc3BlbGxpbmdTZXJ2aWNlOlNwZWxsaW5nU2VydmljZTsKKyAgICBwdWJsaWMgc3RhdGljIHZhciBldmVudERpc3BhdGNoZXI6SUV2ZW50RGlzcGF0Y2hlciA9IG5ldyBFdmVudERpc3BhdGNoZXIoKTsKKyAgICBwcml2YXRlIHN0YXRpYyB2YXIgX3RpbWVyOlRpbWVyID0gbmV3IFRpbWVyKDEwMCwgMSk7CisKKyAgICBwdWJsaWMgZnVuY3Rpb24gU3BlbGxVSUZvclRlc3QodGV4dE1vZGVsOiosIGxhbmc6U3RyaW5nKQorICAgIHsKKyAgICAgICAgX3RpbWVyLmFkZEV2ZW50TGlzdGVuZXIoVGltZXJFdmVudC5USU1FUl9DT01QTEVURSwgb25UaW1lcik7CisgICAgICAgIHN1cGVyKHRleHRNb2RlbCwgbGFuZyk7CisgICAgfQorCisgICAgcHJpdmF0ZSBmdW5jdGlvbiBvblRpbWVyKGV2ZW50OlRpbWVyRXZlbnQpOnZvaWQKKyAgICB7CisgICAgICAgIGV2ZW50RGlzcGF0Y2hlci5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudChFdmVudC5DT01QTEVURSkpOworICAgIH0KKworICAgIG92ZXJyaWRlIHByb3RlY3RlZCBmdW5jdGlvbiBjcmVhdGVIaWdobGlnaHRlcihpc0hhbG9Db21vcG9uZW50OkJvb2xlYW4sIHBhcmVudDoqKTpJSGlnaGxpZ2h0ZXIKKyAgICB7CisgICAgICAgIC8vd2UncmUgbm90IGRpc3BhdGNoaW5nIHRoZSBjb21wbGV0ZSBldmVudCBqdXN0IHlldCBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJlZm9yZQorICAgICAgICAvL3NvbWUgZXh0cmEgcHJvY2Vzc2luZyBpcyBkb25lIGFmdGVyIHRoZSBkaWN0aW9uYXJ5IGlzIGxvYWRlZC4gU2VlIFNwZWxsVUkuYWRkQ29udGV4dE1lbnUoKQorICAgICAgICBfdGltZXIuc3RvcCgpOworICAgICAgICBfdGltZXIucmVzZXQoKTsKKyAgICAgICAgX3RpbWVyLnN0YXJ0KCk7CisKKyAgICAgICAgcmV0dXJuIGlzSGFsb0NvbW9wb25lbnQgPyBuZXcgSGFsb0hpZ2hsaWdodGVyKHBhcmVudCkgOiBzcGFya0hpZ2hsaWdodGVyOworICAgIH0KKworICAgIG92ZXJyaWRlIHByb3RlY3RlZCBmdW5jdGlvbiBjcmVhdGVTcGVsbGluZ1NlcnZpY2UoZGljdGlvbmFyeU5hbWU6U3RyaW5nKTpTcGVsbGluZ1NlcnZpY2UKKyAgICB7CisgICAgICAgIHJldHVybiBzcGVsbGluZ1NlcnZpY2U7CisgICAgfQorCit9CmRpZmYgLS1naXQgYS9TcXVpZ2dseS9tYWluL1NwZWxsaW5nVUlFeC90ZXN0cy9jb20vYWRvYmUvbGluZ3Vpc3RpY3Mvc3BlbGxpbmcvU3BlbGxpbmdDb25maWcueG1sIGIvU3F1aWdnbHkvbWFpbi9TcGVsbGluZ1VJRXgvdGVzdHMvY29tL2Fkb2JlL2xpbmd1aXN0aWNzL3NwZWxsaW5nL1NwZWxsaW5nQ29uZmlnLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NGFjOTdkCi0tLSAvZGV2L251bGwKKysrIGIvU3F1aWdnbHkvbWFpbi9TcGVsbGluZ1VJRXgvdGVzdHMvY29tL2Fkb2JlL2xpbmd1aXN0aWNzL3NwZWxsaW5nL1NwZWxsaW5nQ29uZmlnLnhtbApAQCAtMCwwICsxLDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9J1VURi04Jz8+Cis8U3BlbGxpbmdDb25maWc+CisgIDxMYW5ndWFnZVJlc291cmNlIGxhbmd1YWdlPSJFbmdsaXNoIEdCIiAKKwkJCQkJbGFuZ3VhZ2VDb2RlPSJlbl9HQiIgCisJCQkJCXJ1bGVGaWxlPSJkaWN0aW9uYXJpZXMvZW5fR0IvZW5fR0IuYWZmIgorCQkJCQlkaWN0aW9uYXJ5RmlsZT0iZGljdGlvbmFyaWVzL2VuX0dCL2VuX0dCLmRpYyIvPgorPC9TcGVsbGluZ0NvbmZpZz4KZGlmZiAtLWdpdCBhL1NxdWlnZ2x5L21haW4vU3BlbGxpbmdVSUV4L3Rlc3RzL2NvbS9hZG9iZS9saW5ndWlzdGljcy9zcGVsbGluZy9kaWN0aW9uYXJpZXMvZW5fR0IvZW5fR0IuYWZmIGIvU3F1aWdnbHkvbWFpbi9TcGVsbGluZ1VJRXgvdGVzdHMvY29tL2Fkb2JlL2xpbmd1aXN0aWNzL3NwZWxsaW5nL2RpY3Rpb25hcmllcy9lbl9HQi9lbl9HQi5hZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGM3MWFjZQotLS0gL2Rldi9udWxsCisrKyBiL1NxdWlnZ2x5L21haW4vU3BlbGxpbmdVSUV4L3Rlc3RzL2NvbS9hZG9iZS9saW5ndWlzdGljcy9zcGVsbGluZy9kaWN0aW9uYXJpZXMvZW5fR0IvZW5fR0IuYWZmCkBAIC0wLDAgKzEsMTE1MCBAQAorIyBBZmZpeCBmaWxlIGZvciBCcml0aXNoIEVuZ2xpc2ggTXlTcGVsbCBkaWN0aW9uYXJ5CisjIEFsc28gc3VpdGFibGUgYXMgYmFzaXMgZm9yIENvbW1vbndlYWx0aCBhbmQgRXVyb3BlYW4gRW5nbGlzaC4KKyMgQnVpbHQgZnJvbSBzY3JhdGNoIGZvciBNeVNwZWxsLiBSZWxlYXNlZCB1bmRlciBMR1BMLgorIworIyBEYXZpZCBCYXJ0bGV0dCwgQW5kcmV3IEJyb3duLgorIyBSIDEuMTgsIDExLzA0LzA1CitTRVQgSVNPODg1OS0xCitUUlkgZXNpYelucnRvbGNkdWdtZnBoYnl2a3ctJy56cWp4U05SVExDR0RNRlBIQkVBVVlPSVZLV/P24vRaUUpYxefo7urg7/zk8QorUkVQIDI3CitSRVAgZiBwaAorUkVQIHBoIGYKK1JFUCBmIGdoCitSRVAgZiB1Z2gKK1JFUCBnaCBmCitSRVAgZmYgdWdoCitSRVAgdWYgb3VnaAorUkVQIHVmZiBvdWdoCitSRVAgayBjaAorUkVQIGNoIGsKK1JFUCBkZyBqCitSRVAgaiBkZworUkVQIHcgdWdoCitSRVAgbmVzcyBpdHkKK1JFUCBsZW5lc3MgaWxpdHkKK1JFUCBuZXNzIGl2aXR5CitSRVAgZW5lc3MgaXR5CitSRVAgb2cgb2d1ZQorUkVQIGNrIHF1CitSRVAgY2sgcXVlCitSRVAgZWcgZS5nLgorUkVQIGllIGkuZS4KK1JFUCB0IGdodAorUkVQIGdodCB0CitSRVAgb2sgT0sKK1JFUCB0cyBjZQorUkVQIGNlIHRzCitQRlggQSBZIDIKK1BGWCBBIDAgcmUgW15lXSAKK1BGWCBBIDAgcmUtIGUgCitQRlggYSBZIDEKK1BGWCBhIDAgbWlzIC4gCitQRlggSSBZIDQKK1BGWCBJIDAgaWwgbCAKK1BGWCBJIDAgaXIgciAKK1BGWCBJIDAgaW0gW2JtcF0gCitQRlggSSAwIGluIFteYmxtcHJdIAorUEZYIGMgWSAxCitQRlggYyAwIG92ZXIgLiAKK1BGWCBVIFkgMQorUEZYIFUgMCB1biAuIAorUEZYIEMgWSAyCitQRlggQyAwIGRlIFteZV0gCitQRlggQyAwIGRlLSBlIAorUEZYIEUgWSAxCitQRlggRSAwIGRpcyAuIAorUEZYIEYgWSA1CitQRlggRiAwIGNvbSBbYm1wXQorUEZYIEYgMCBjbyBbYWVpb3VoXQorUEZYIEYgMCBjb3IgcgorUEZYIEYgMCBjb2wgbAorUEZYIEYgMCBjb24gW15hYmVoaWxtb3BydV0uIAorUEZYIEsgWSAxCitQRlggSyAwIHByZSAuIAorUEZYIGUgWSAxCitQRlggZSAwIG91dCAuIAorUEZYIGYgWSAyCitQRlggZiAwIHVuZGVyIFtecl0gCitQRlggZiAwIHVuZGVyLSByIAorUEZYIE8gWSAxCitQRlggTyAwIG5vbi0gLiAKK1BGWCA0IFkgMQorUEZYIDQgMCB0cmFucyAuIAorU0ZYIFYgWSAxNQorU0ZYIFYgMCB0aXZlIFthaW9dIAorU0ZYIFYgYiBwdGl2ZSBiIAorU0ZYIFYgZCBzaXZlIGQgCitTRlggViBiZSBwdGl2ZSBiZSAKK1NGWCBWIGUgdGl2ZSBjZSAKK1NGWCBWIGRlIHNpdmUgZGUgCitTRlggViBrZSBjYXRpdmUga2UgCitTRlggViBlIHB0aXZlIG1lIAorU0ZYIFYgZSBpdmUgW3N0XWUgCitTRlggViBlIGF0aXZlIFteYmNka21zdF1lIAorU0ZYIFYgMCBsYXRpdmUgW2FlaW91XWwgCitTRlggViAwIGF0aXZlIFteYWVpb3VdbCAKK1NGWCBWIDAgaXZlIFtzdF0gCitTRlggViB5IGljYXRpdmUgeSAKK1NGWCBWIDAgYXRpdmUgW15hYmRlaWxvc3R5XSAKK1NGWCB2IFkgMTUKK1NGWCB2IDAgdGl2ZWx5IFthaW9dIAorU0ZYIHYgYiBwdGl2ZWx5IGIgCitTRlggdiBkIHNpdmVseSBkIAorU0ZYIHYgYmUgcHRpdmVseSBiZSAKK1NGWCB2IGUgdGl2ZWx5IGNlIAorU0ZYIHYgZGUgc2l2ZWx5IGRlIAorU0ZYIHYga2UgY2F0aXZlbHkga2UgCitTRlggdiBlIHB0aXZlbHkgbWUgCitTRlggdiBlIGl2ZWx5IFtzdF1lIAorU0ZYIHYgZSBhdGl2ZWx5IFteYmNka21zdF1lIAorU0ZYIHYgMCBsYXRpdmVseSBbYWVpb3VdbCAKK1NGWCB2IDAgYXRpdmVseSBbXmFlaW91XWwgCitTRlggdiAwIGl2ZWx5IFtzdF0gCitTRlggdiB5IGljYXRpdmVseSB5IAorU0ZYIHYgMCBhdGl2ZWx5IFteYWJkZWlsb3N0eV0gCitTRlggdSBZIDE1CitTRlggdSAwIHRpdmVuZXNzIFthaW9dIAorU0ZYIHUgYiBwdGl2ZW5lc3MgYiAKK1NGWCB1IGQgc2l2ZW5lc3MgZCAKK1NGWCB1IGJlIHB0aXZlbmVzcyBiZSAKK1NGWCB1IGUgdGl2ZW5lc3MgY2UgCitTRlggdSBkZSBzaXZlbmVzcyBkZSAKK1NGWCB1IGtlIGNhdGl2ZW5lc3Mga2UgCitTRlggdSBlIHB0aXZlbmVzcyBtZSAKK1NGWCB1IGUgaXZlbmVzcyBbc3RdZSAKK1NGWCB1IGUgYXRpdmVuZXNzIFteYmNka21zdF1lIAorU0ZYIHUgMCBsYXRpdmVuZXNzIFthZWlvdV1sIAorU0ZYIHUgMCBhdGl2ZW5lc3MgW15hZWlvdV1sIAorU0ZYIHUgMCBpdmVuZXNzIFtzdF0gCitTRlggdSB5IGljYXRpdmVuZXNzIHkgCitTRlggdSAwIGF0aXZlbmVzcyBbXmFiZGVpbG9zdHldIAorU0ZYIE4gWSAyNgorU0ZYIE4gYiBwdGlvbiBiIAorU0ZYIE4gZCBzaW9uIGQgCitTRlggTiBiZSBwdGlvbiBiZSAKK1NGWCBOIGUgdGlvbiBjZSAKK1NGWCBOIGRlIHNpb24gZGUgCitTRlggTiBrZSBjYXRpb24ga2UgCitTRlggTiBlIHB0aW9uIHVtZSAKK1NGWCBOIGUgbWF0aW9uIFtedV1tZSAKK1NGWCBOIGUgaW9uIFteb11zZSAKK1NGWCBOIGUgaXRpb24gb3NlIAorU0ZYIE4gZSBhdGlvbiBbaW91XXRlIAorU0ZYIE4gZSBpb24gW15pb3VddGUgCitTRlggTiBlIGF0aW9uIFteYmNka21zdF1lIAorU0ZYIE4gZWwgdWxzaW9uIGVsIAorU0ZYIE4gMCBsYXRpb24gW2Fpb3VdbCAKK1NGWCBOIDAgYXRpb24gW15hZWlvdV1sIAorU0ZYIE4gMCBtYXRpb24gW2FlaW91XW0gCitTRlggTiAwIGF0aW9uIFteYWVpb3VdbSAKK1NGWCBOIGVyIHJhdGlvbiBlciAKK1NGWCBOIDAgYXRpb24gW15lXXIgCitTRlggTiAwIGlvbiBbc3hdIAorU0ZYIE4gdCBzc2lvbiBtaXQgCitTRlggTiAwIGlvbiBbXm1daXQgCitTRlggTiAwIGF0aW9uIFteaV10IAorU0ZYIE4geSBpY2F0aW9uIHkgCitTRlggTiAwIGF0aW9uIFteYmRlbG1yc3R4eV0gCitTRlggbiBZIDI4CitTRlggbiAwIHRpb24gYSAKK1NGWCBuIGUgdGlvbiBjZSAKK1NGWCBuIGtlIGNhdGlvbiBrZSAKK1NGWCBuIGUgYXRpb24gW2lvdV10ZSAKK1NGWCBuIGUgaW9uIFteaW91XXRlIAorU0ZYIG4gZSBhdGlvbiBbXmNrdF1lIAorU0ZYIG4gZWwgdWxzaW9uIGVsIAorU0ZYIG4gMCBsYXRpb24gW2Fpb3VdbCAKK1NGWCBuIDAgYXRpb24gW15hZWlvdV1sIAorU0ZYIG4gZXIgcmF0aW9uIGVyIAorU0ZYIG4gMCBhdGlvbiBbXmVdciAKK1NGWCBuIHkgYXRpb24gcHkgCitTRlggbiB5IGljYXRpb24gW15wXXkgCitTRlggbiAwIGF0aW9uIFteYWVscnldIAorU0ZYIG4gMCB0aW9ucyBhIAorU0ZYIG4gZSB0aW9ucyBjZSAKK1NGWCBuIGtlIGNhdGlvbnMga2UgCitTRlggbiBlIGF0aW9ucyBbaW91XXRlIAorU0ZYIG4gZSBpb25zIFteaW91XXRlIAorU0ZYIG4gZSBhdGlvbnMgW15ja3RdZSAKK1NGWCBuIGVsIHVsc2lvbnMgZWwgCitTRlggbiAwIGxhdGlvbnMgW2Fpb3VdbCAKK1NGWCBuIDAgYXRpb25zIFteYWVpb3VdbCAKK1NGWCBuIGVyIHJhdGlvbnMgZXIgCitTRlggbiAwIGF0aW9ucyBbXmVdciAKK1NGWCBuIHkgYXRpb25zIHB5IAorU0ZYIG4geSBpY2F0aW9ucyBbXnBdeSAKK1NGWCBuIDAgYXRpb25zIFteYWVscnldIAorU0ZYIFggWSAyNgorU0ZYIFggYiBwdGlvbnMgYiAKK1NGWCBYIGQgc2lvbnMgZCAKK1NGWCBYIGJlIHB0aW9ucyBiZSAKK1NGWCBYIGUgdGlvbnMgY2UgCitTRlggWCBrZSBjYXRpb25zIGtlIAorU0ZYIFggZGUgc2lvbnMgZGUgCitTRlggWCBlIHB0aW9ucyB1bWUgCitTRlggWCBlIG1hdGlvbnMgW151XW1lIAorU0ZYIFggZSBpb25zIFteb11zZSAKK1NGWCBYIGUgaXRpb25zIG9zZSAKK1NGWCBYIGUgYXRpb25zIFtpb3VddGUgCitTRlggWCBlIGlvbnMgW15pb3VddGUgCitTRlggWCBlIGF0aW9ucyBbXmJjZGttc3RdZSAKK1NGWCBYIGVsIHVsc2lvbnMgZWwgCitTRlggWCAwIGxhdGlvbnMgW2Fpb3VdbCAKK1NGWCBYIDAgYXRpb25zIFteYWVpb3VdbCAKK1NGWCBYIDAgbWF0aW9ucyBbYWVpb3VdbSAKK1NGWCBYIDAgYXRpb25zIFteYWVpb3VdbSAKK1NGWCBYIGVyIHJhdGlvbnMgZXIgCitTRlggWCAwIGF0aW9ucyBbXmVdciAKK1NGWCBYIDAgaW9ucyBbc3hdIAorU0ZYIFggdCBzc2lvbnMgbWl0IAorU0ZYIFggMCBpb25zIFtebV1pdCAKK1NGWCBYIDAgYXRpb25zIFteaV10IAorU0ZYIFggeSBpY2F0aW9ucyB5IAorU0ZYIFggMCBhdGlvbnMgW15iZGVsbXJzdHh5XSAKK1NGWCB4IFkgNDAKK1NGWCB4IGIgcHRpb25hbCBiIAorU0ZYIHggZCBzaW9uYWwgZCAKK1NGWCB4IGJlIHB0aW9uYWwgYmUgCitTRlggeCBlIHRpb25hbCBjZSAKK1NGWCB4IGtlIGNhdGlvbmFsIGtlIAorU0ZYIHggZGUgc2lvbmFsIGRlIAorU0ZYIHggZSBpb25hbCBbXm9dc2UgCitTRlggeCBlIGl0aW9uYWwgb3NlIAorU0ZYIHggZSBpb25hbCB0ZSAKK1NGWCB4IGUgYXRpb25hbCBbXmJjZGtzdF1lIAorU0ZYIHggZWwgdWxzaW9uYWwgZWwgCitTRlggeCAwIGxhdGlvbmFsIFthaW91XWwgCitTRlggeCAwIGF0aW9uYWwgW15hZWlvdV1sIAorU0ZYIHggZXIgcmF0aW9uYWwgZXIgCitTRlggeCAwIGF0aW9uYWwgW15lXXIgCitTRlggeCAwIGlvbmFsIFtzeF0gCitTRlggeCAwIGlvbmFsIFtebl10IAorU0ZYIHggMCBhdGlvbmFsIG50IAorU0ZYIHggeSBpY2F0aW9uYWwgeSAKK1NGWCB4IDAgYXRpb25hbCBbXmJkZWxyc3R4eV0gCitTRlggeCBiIHB0aW9uYWxseSBiIAorU0ZYIHggZCBzaW9uYWxseSBkIAorU0ZYIHggYmUgcHRpb25hbGx5IGJlIAorU0ZYIHggZSB0aW9uYWxseSBjZSAKK1NGWCB4IGtlIGNhdGlvbmFsbHkga2UgCitTRlggeCBkZSBzaW9uYWxseSBkZSAKK1NGWCB4IGUgaW9uYWxseSBbXm9dc2UgCitTRlggeCBlIGl0aW9uYWxseSBvc2UgCitTRlggeCBlIGlvbmFsbHkgdGUgCitTRlggeCBlIGF0aW9uYWxseSBbXmJjZGtzdF1lIAorU0ZYIHggZWwgdWxzaW9uYWxseSBlbCAKK1NGWCB4IDAgbGF0aW9uYWxseSBbYWlvdV1sIAorU0ZYIHggMCBhdGlvbmFsbHkgW15hZWlvdV1sIAorU0ZYIHggZXIgcmF0aW9uYWxseSBlciAKK1NGWCB4IDAgYXRpb25hbGx5IFteZV1yIAorU0ZYIHggMCBpb25hbGx5IFtzeF0gCitTRlggeCAwIGlvbmFsbHkgW15uXXQgCitTRlggeCAwIGF0aW9uYWxseSBudCAKK1NGWCB4IHkgaWNhdGlvbmFsbHkgeSAKK1NGWCB4IDAgYXRpb25hbGx5IFteYmRlbHJzdHh5XSAKK1NGWCBIIE4gMTMKK1NGWCBIIHkgaWV0aCB5IAorU0ZYIEggcmVlIGlyZCByZWUgCitTRlggSCB2ZSBmdGggdmUgCitTRlggSCBlIHRoIFteZXZdZSAKK1NGWCBIIDAgaCB0IAorU0ZYIEggMCB0aCBbXmV0eV0gCitTRlggSCB5IGlldGhzIHkgCitTRlggSCByZWUgaXJkcyByZWUgCitTRlggSCB2ZSBmdGhzIHZlIAorU0ZYIEggZSB0aHMgW15ldl1lIAorU0ZYIEggMCBocyB0IAorU0ZYIEggMCB0aHMgW15ldHldIAorU0ZYIEggMCBmb2xkIC4gCitTRlggWSBZIDkKK1NGWCBZIDAgYWxseSBpYyAKK1NGWCBZIDAgbHkgW15pXWMgCitTRlggWSBlIHkgW15hZWlvdV1sZSAKK1NGWCBZIDAgbHkgW2FlaW91XWxlIAorU0ZYIFkgMCBseSBbXmxdZSAKK1NGWCBZIDAgeSBbXmFlaW91XWwgCitTRlggWSB5IGlseSBbXmFlaW91XXkgCitTRlggWSAwIGx5IFthZWlvdV1bbHldIAorU0ZYIFkgMCBseSBbXmNlbHldIAorU0ZYIEcgWSAyNAorU0ZYIEcgZSBpbmcgW15laW95XWUgCitTRlggRyAwIGluZyBbZW95XWUgCitTRlggRyBpZSB5aW5nIGllIAorU0ZYIEcgMCBiaW5nIFteYWVpb11bYWVpb3VdYiAKK1NGWCBHIDAga2luZyBbXmFlaW9dW2FlaW91XWMgCitTRlggRyAwIGRpbmcgW15hZWlvXVthZWlvdV1kIAorU0ZYIEcgMCBmaW5nIFteYWVpb11bYWVpb3VdZiAKK1NGWCBHIDAgZ2luZyBbXmFlaW9dW2FlaW91XWcgCitTRlggRyAwIGtpbmcgW15hZWlvXVthZWlvdV1rIAorU0ZYIEcgMCBsaW5nIFteYWVpb11bZWlvdV1sIAorU0ZYIEcgMCBpbmcgW2FlaW9dW2Vpb3VdbCAKK1NGWCBHIDAgbGluZyBbXmFlb11hbCAKK1NGWCBHIDAgaW5nIFthZW9dYWwgCitTRlggRyAwIG1pbmcgW15hZWlvXVthZWlvdV1tIAorU0ZYIEcgMCBuaW5nIFteYWVpb11bYWVpb3VdbiAKK1NGWCBHIDAgcGluZyBbXmFlaW9dW2FlaW91XXAgCitTRlggRyAwIHJpbmcgW15hZWlvXVthZWlvdV1yIAorU0ZYIEcgMCBzaW5nIFteYWVpb11bYWVpb3VdcyAKK1NGWCBHIDAgdGluZyBbXmFlaW9dW2FlaW91XXQgCitTRlggRyAwIHZpbmcgW15hZWlvXVthZWlvdV12IAorU0ZYIEcgMCB6aW5nIFteYWVpb11bYWVpb3VdeiAKK1NGWCBHIDAgaW5nIFthZWlvXVthZWlvdV1bYmNkZmdrbW5wcnN0dnpdIAorU0ZYIEcgMCBpbmcgW15hZWlvdV1bYmNkZmdrbG1ucHJzdHZ6XSAKK1NGWCBHIDAgaW5nIFteZWJjZGZna2xtbnByc3R2el0gCitTRlggSiBZIDI1CitTRlggSiBlIGluZ3MgW15laW95XWUgCitTRlggSiAwIGluZ3MgW2VveV1lIAorU0ZYIEogaWUgeWluZ3MgaWUgCitTRlggSiAwIGJpbmdzIFteYWVpb11bYWVpb3VdYiAKK1NGWCBKIDAga2luZyBbXmFlaW9dW2FlaW91XWMgCitTRlggSiAwIGRpbmdzIFteYWVpb11bYWVpb3VdZCAKK1NGWCBKIDAgZmluZ3MgW15hZWlvXVthZWlvdV1mIAorU0ZYIEogMCBnaW5ncyBbXmFlaW9dW2FlaW91XWcgCitTRlggSiAwIGtpbmdzIFteYWVpb11bYWVpb3VdayAKK1NGWCBKIDAgbGluZ3MgW15hZWlvXVtlaW91XWwgCitTRlggSiAwIGluZ3MgW2FlaW9dW2Vpb3VdbCAKK1NGWCBKIDAgbGluZ3MgW15hZW9dYWwgCitTRlggSiAwIGluZ3MgW2Flb11hbCAKK1NGWCBKIDAgbWluZ3MgW15hZWlvXVthZWlvdV1tIAorU0ZYIEogMCBuaW5ncyBbXmFlaW9dW2Fpb3VdbiAKK1NGWCBKIDAgcGluZ3MgW15hZWlvXVthZWlvdV1wIAorU0ZYIEogMCByaW5ncyBbXmFlaW9dW2Fpb3VdciAKK1NGWCBKIDAgc2luZ3MgW15hZWlvXVthZWlvdV1zIAorU0ZYIEogMCB0aW5ncyBbXmFlaW9dW2Fpb3VddCAKK1NGWCBKIDAgdmluZ3MgW15hZWlvXVthZWlvdV12IAorU0ZYIEogMCB6aW5ncyBbXmFlaW9dW2FlaW91XXogCitTRlggSiAwIGluZ3MgW15hZWlvXWVbbnJ0XSAKK1NGWCBKIDAgaW5ncyBbYWVpb11bYWVpb3VdW2JjZGZna21ucHJzdHZ6XSAKK1NGWCBKIDAgaW5ncyBbXmFlaW91XVtiY2RmZ2tsbW5wcnN0dnpdIAorU0ZYIEogMCBpbmdzIFteZWJjZGZna2xtbnByc3R2el0gCitTRlggayBZIDgKK1NGWCBrIGUgaW5nbHkgW15laW95XWUgCitTRlggayAwIGluZ2x5IFtlb3ldZSAKK1NGWCBrIGllIHlpbmdseSBpZSAKK1NGWCBrIDAga2luZ2x5IFteYWVpb11bYWVpb3VdYyAKK1NGWCBrIDAgbGluZ2x5IFteYWVpb11bYWVpb3VdbCAKK1NGWCBrIDAgaW5nbHkgW2FlaW9dW2FlaW91XVtjbF0gCitTRlggayAwIGluZ2x5IFteYWVpb3VdW2NsXSAKK1NGWCBrIDAgaW5nbHkgW15lY2xdIAorU0ZYIEQgWSAyNQorU0ZYIEQgMCBkIFteZV1lIAorU0ZYIEQgZSBkIGVlIAorU0ZYIEQgMCBiZWQgW15hZWlvXVthZWlvdV1iIAorU0ZYIEQgMCBrZWQgW15hZWlvXVthZWlvdV1jIAorU0ZYIEQgMCBkZWQgW15hZWlvXVthZWlvdV1kIAorU0ZYIEQgMCBmZWQgW15hZWlvXVthZWlvdV1mIAorU0ZYIEQgMCBnZWQgW15hZWlvXVthZWlvdV1nIAorU0ZYIEQgMCBrZWQgW15hZWlvXVthZWlvdV1rIAorU0ZYIEQgMCBsZWQgW15hZWlvXVtlaW91XWwgCitTRlggRCAwIGVkIFthZWlvXVtlaW91XWwgCitTRlggRCAwIGxlZCBbXmFlb11hbCAKK1NGWCBEIDAgZWQgW2Flb11hbCAKK1NGWCBEIDAgbWVkIFteYWVpb11bYWVpb3VdbSAKK1NGWCBEIDAgbmVkIFteYWVpb11bYWVpb3VdbiAKK1NGWCBEIDAgcGVkIFteYWVpb11bYWVpb3VdcCAKK1NGWCBEIDAgcmVkIFteYWVpb11bYWVpb3VdciAKK1NGWCBEIDAgc2VkIFteYWVpb11bYWVpb3VdcyAKK1NGWCBEIDAgdGVkIFteYWVpb11bYWVpb3VddCAKK1NGWCBEIDAgdmVkIFteYWVpb11bYWVpb3VddiAKK1NGWCBEIDAgemVkIFteYWVpb11bYWVpb3VdeiAKK1NGWCBEIHkgaWVkIFteYWVpb3VdeSAKK1NGWCBEIDAgZWQgW2FlaW91XXkgCitTRlggRCAwIGVkIFthZWlvXVthZWlvdV1bYmNkZmdrbW5wcnN0dnpdIAorU0ZYIEQgMCBlZCBbXmFlaW91XVtiY2RmZ2tsbW5wcnN0dnpdIAorU0ZYIEQgMCBlZCBbXmViY2RmZ2tsbW5wcnN0dnl6XSAKK1NGWCBkIFkgMTYKK1NGWCBkIDAgZCBlIAorU0ZYIGQgMCBrZWQgW15hZWlvXVthZWlvdV1jIAorU0ZYIGQgMCBsZWQgW15hZWlvXVthZWlvdV1sIAorU0ZYIGQgeSBpZWQgW15hZWlvdV15IAorU0ZYIGQgMCBlZCBbYWVpb3VdeSAKK1NGWCBkIDAgZWQgW2FlaW9dW2FlaW91XVtjbF0gCitTRlggZCAwIGVkIFteYWVpb3VdW2NsXSAKK1NGWCBkIDAgZWQgW15lY2x5XSAKK1NGWCBkIGUgaW5nIFteZWlveV1lIAorU0ZYIGQgMCBpbmcgW2VveV1lIAorU0ZYIGQgaWUgeWluZyBpZSAKK1NGWCBkIDAga2luZyBbXmFlaW9dW2FlaW91XWMgCitTRlggZCAwIGxpbmcgW15hZWlvXVthZWlvdV1sIAorU0ZYIGQgMCBpbmcgW2FlaW9dW2FlaW91XVtjbF0gCitTRlggZCAwIGluZyBbXmFlaW91XVtjbF0gCitTRlggZCAwIGluZyBbXmVjbF0gCitTRlggaCBZIDIyCitTRlggaCAwIGRseSBlIAorU0ZYIGggMCBiZWRseSBbXmFlaW9dW2FlaW91XWIgCitTRlggaCAwIGtlZGx5IFteYWVpb11bYWVpb3VdYyAKK1NGWCBoIDAgZGVkbHkgW15hZWlvXVthZWlvdV1kIAorU0ZYIGggMCBmZWRseSBbXmFlaW9dW2FlaW91XWYgCitTRlggaCAwIGdlZGx5IFteYWVpb11bYWVpb3VdZyAKK1NGWCBoIDAga2VkbHkgW15hZWlvXVthZWlvdV1rIAorU0ZYIGggMCBsZWRseSBbXmFlaW9dW2FlaW91XWwgCitTRlggaCAwIG1lZGx5IFteYWVpb11bYWVpb3VdbSAKK1NGWCBoIDAgbmVkbHkgW15hZWlvXVthaW91XW4gCitTRlggaCAwIHBlZGx5IFteYWVpb11bYWVpb3VdcCAKK1NGWCBoIDAgcmVkbHkgW15hZWlvXVthaW91XXIgCitTRlggaCAwIHNlZGx5IFteYWVpb11bYWVpb3VdcyAKK1NGWCBoIDAgdGVkbHkgW15hZWlvXVthaW91XXQgCitTRlggaCAwIHZlZGx5IFteYWVpb11bYWVpb3VddiAKK1NGWCBoIDAgemVkbHkgW15hZWlvXVthZWlvdV16IAorU0ZYIGggMCBlZGx5IFteYWVpb11lW25ydF0gCitTRlggaCB5IGllZGx5IFteYWVpb3VdeSAKK1NGWCBoIDAgZWRseSBbYWVpb3VdeSAKK1NGWCBoIDAgZWRseSBbYWVpb11bYWVpb3VdW2JjZGZna2xtbnByc3R2el0gCitTRlggaCAwIGVkbHkgW15hZWlvdV1bYmNkZmdrbG1ucHJzdHZ6XSAKK1NGWCBoIDAgZWRseSBbXmViY2RmZ2tsbW5wcnN0dnl6XSAKK1NGWCBpIFkgMjIKK1NGWCBpIDAgZG5lc3MgZSAKK1NGWCBpIDAgYmVkbmVzcyBbXmFlaW9dW2FlaW91XWIgCitTRlggaSAwIGtlZG5lc3MgW15hZWlvXVthZWlvdV1jIAorU0ZYIGkgMCBkZWRuZXNzIFteYWVpb11bYWVpb3VdZCAKK1NGWCBpIDAgZmVkbmVzcyBbXmFlaW9dW2FlaW91XWYgCitTRlggaSAwIGdlZG5lc3MgW15hZWlvXVthZWlvdV1nIAorU0ZYIGkgMCBrZWRuZXNzIFteYWVpb11bYWVpb3VdayAKK1NGWCBpIDAgbGVkbmVzcyBbXmFlaW9dW2FlaW91XWwgCitTRlggaSAwIG1lZG5lc3MgW15hZWlvXVthZWlvdV1tIAorU0ZYIGkgMCBuZWRuZXNzIFteYWVpb11bYWlvdV1uIAorU0ZYIGkgMCBwZWRuZXNzIFteYWVpb11bYWVpb3VdcCAKK1NGWCBpIDAgcmVkbmVzcyBbXmFlaW9dW2Fpb3VdciAKK1NGWCBpIDAgc2VkbmVzcyBbXmFlaW9dW2FlaW91XXMgCitTRlggaSAwIHRlZG5lc3MgW15hZWlvXVthaW91XXQgCitTRlggaSAwIHZlZG5lc3MgW15hZWlvXVthZWlvdV12IAorU0ZYIGkgMCB6ZWRuZXNzIFteYWVpb11bYWVpb3VdeiAKK1NGWCBpIDAgZWRuZXNzIFteYWVpb11lW25ydF0gCitTRlggaSB5IGllZG5lc3MgW15hZWlvdV15IAorU0ZYIGkgMCBlZG5lc3MgW2FlaW91XXkgCitTRlggaSAwIGVkbmVzcyBbYWVpb11bYWVpb3VdW2JjZGZna2xtbnByc3R2el0gCitTRlggaSAwIGVkbmVzcyBbXmFlaW91XVtiY2RmZ2tsbW5wcnN0dnpdIAorU0ZYIGkgMCBlZG5lc3MgW15lYmNkZmdrbG1ucHJzdHZ5el0gCitTRlggVCBZIDQyCitTRlggVCAwIHIgZSAKK1NGWCBUIDAgc3QgZQorU0ZYIFQgMCBiZXIgW15hZWlvXVthZWlvdV1iIAorU0ZYIFQgMCBiZXN0IFteYWVpb11bYWVpb3VdYgorU0ZYIFQgMCBrZXIgW15hZWlvXVthZWlvdV1jIAorU0ZYIFQgMCBrZXN0IFteYWVpb11bYWVpb3VdYworU0ZYIFQgMCBkZXIgW15hZWlvXVthZWlvdV1kIAorU0ZYIFQgMCBkZXN0IFteYWVpb11bYWVpb3VdZAorU0ZYIFQgMCBmZXIgW15hZWlvXVthZWlvdV1mIAorU0ZYIFQgMCBmZXN0IFteYWVpb11bYWVpb3VdZgorU0ZYIFQgMCBnZXIgW15hZWlvXVthZWlvdV1nIAorU0ZYIFQgMCBnZXN0IFteYWVpb11bYWVpb3VdZworU0ZYIFQgMCBrZXIgW15hZWlvXVthZWlvdV1rIAorU0ZYIFQgMCBrZXN0IFteYWVpb11bYWVpb3VdaworU0ZYIFQgMCBsZXIgW15hZWlvXVthZWlvdV1sIAorU0ZYIFQgMCBsZXN0IFteYWVpb11bYWVpb3VdbAorU0ZYIFQgMCBtZXIgW15hZWlvXVthZWlvdV1tIAorU0ZYIFQgMCBtZXN0IFteYWVpb11bYWVpb3VdbQorU0ZYIFQgMCBuZXIgW15hZWlvXVthZWlvdV1uIAorU0ZYIFQgMCBuZXN0IFteYWVpb11bYWVpb3VdbgorU0ZYIFQgMCBwZXIgW15hZWlvXVthZWlvdV1wIAorU0ZYIFQgMCBwZXN0IFteYWVpb11bYWVpb3VdcAorU0ZYIFQgMCByZXIgW15hZWlvXVthZWlvdV1yIAorU0ZYIFQgMCByZXN0IFteYWVpb11bYWVpb3VdcgorU0ZYIFQgMCBzZXIgW15hZWlvXVthZWlvdV1zIAorU0ZYIFQgMCBzZXN0IFteYWVpb11bYWVpb3VdcworU0ZYIFQgMCB0ZXIgW15hZWlvXVthZWlvdV10IAorU0ZYIFQgMCB0ZXN0IFteYWVpb11bYWVpb3VddAorU0ZYIFQgMCB2ZXIgW15hZWlvXVthZWlvdV12IAorU0ZYIFQgMCB2ZXN0IFteYWVpb11bYWVpb3VddgorU0ZYIFQgMCB6ZXIgW15hZWlvXVthZWlvdV16IAorU0ZYIFQgMCB6ZXN0IFteYWVpb11bYWVpb3VdegorU0ZYIFQgeSBpZXIgW15hZWlvdV15IAorU0ZYIFQgeSBpZXN0IFteYWVpb3VdeQorU0ZYIFQgMCBlciBbYWVpb3VdeSAKK1NGWCBUIDAgZXN0IFthZWlvdV15CitTRlggVCAwIGVyIFthZWlvXVthZWlvdV1bYmNkZmdrbG1ucHJzdHZ6XQorU0ZYIFQgMCBlciBbXmFlaW91XVtiY2RmZ2tsbW5wcnN0dnpdCitTRlggVCAwIGVyIFteZWJjZGZna2xtbnByc3R2eXpdCitTRlggVCAwIGVzdCBbYWVpb11bYWVpb3VdW2JjZGZna2xtbnByc3R2el0KK1NGWCBUIDAgZXN0IFteYWVpb3VdW2JjZGZna2xtbnByc3R2el0KK1NGWCBUIDAgZXN0IFteZWJjZGZna2xtbnByc3R2eXpdCitTRlggUiBZIDcyCitTRlggUiAwIHIgZSAKK1NGWCBSIDAgcnMgZSAKK1NGWCBSIDAgYmVyIFteYWVpb11bYWVpb3VdYiAKK1NGWCBSIDAgYmVycyBbXmFlaW9dW2FlaW91XWIgCitTRlggUiAwIGtlciBbXmFlaW9dW2FlaW91XWMgCitTRlggUiAwIGtlcnMgW15hZWlvXVthZWlvdV1jIAorU0ZYIFIgMCBkZXIgW15hZWlvXVthZWlvdV1kIAorU0ZYIFIgMCBkZXJzIFteYWVpb11bYWVpb3VdZCAKK1NGWCBSIDAgZmVyIFteYWVpb11bYWVpb3VdZiAKK1NGWCBSIDAgZmVycyBbXmFlaW9dW2FlaW91XWYgCitTRlggUiAwIGdlciBbXmFlaW9dW2FlaW91XWcgCitTRlggUiAwIGdlcnMgW15hZWlvXVthZWlvdV1nIAorU0ZYIFIgMCBrZXIgW15hZWlvXVthZWlvdV1rIAorU0ZYIFIgMCBrZXJzIFteYWVpb11bYWVpb3VdayAKK1NGWCBSIDAgbGVyIFteYWVpb11bZWlvdV1sIAorU0ZYIFIgMCBlciBbYWVpb11bZWlvdV1sIAorU0ZYIFIgMCBsZXIgW15hZW9dYWwgCitTRlggUiAwIGVyIFthZW9dYWwgCitTRlggUiAwIGxlcnMgW15hZWlvXVtlaW91XWwgCitTRlggUiAwIGVycyBbYWVpb11bZWlvdV1sIAorU0ZYIFIgMCBsZXJzIFteYWVvXWFsIAorU0ZYIFIgMCBlcnMgW2Flb11hbCAKK1NGWCBSIDAgbWVyIFteYWVpb11bYWVpb3VdbSAKK1NGWCBSIDAgbWVycyBbXmFlaW9dW2FlaW91XW0gCitTRlggUiAwIG5lciBbXmFlaW9dW2FlaW91XW4gCitTRlggUiAwIG5lcnMgW15hZWlvXVthZWlvdV1uIAorU0ZYIFIgMCBwZXIgW15hZWlvXVthZWlvdV1wIAorU0ZYIFIgMCBwZXJzIFteYWVpb11bYWVpb3VdcCAKK1NGWCBSIDAgcmVyIFteYWVpb11bYWVpb3VdciAKK1NGWCBSIDAgcmVycyBbXmFlaW9dW2FlaW91XXIgCitTRlggUiAwIHNlciBbXmFlaW9dW2FlaW91XXMgCitTRlggUiAwIHNlcnMgW15hZWlvXVthZWlvdV1zIAorU0ZYIFIgMCB0ZXIgW15hZWlvXVthZWlvdV10IAorU0ZYIFIgMCB0ZXJzIFteYWVpb11bYWVpb3VddCAKK1NGWCBSIDAgdmVyIFteYWVpb11bYWVpb3VddiAKK1NGWCBSIDAgdmVycyBbXmFlaW9dW2FlaW91XXYgCitTRlggUiAwIHplciBbXmFlaW9dW2FlaW91XXogCitTRlggUiAwIHplcnMgW15hZWlvXVthZWlvdV16IAorU0ZYIFIgeSBpZXIgW15hZWlvdV15IAorU0ZYIFIgeSBpZXJzIFteYWVpb3VdeSAKK1NGWCBSIDAgZXIgW2FlaW91XXkgCitTRlggUiAwIGVycyBbYWVpb3VdeSAKK1NGWCBSIDAgZXIgW2FlaW9dW2FlaW91XVtiY2RmZ2ttbnByc3R2el0gCitTRlggUiAwIGVycyBbYWVpb11bYWVpb3VdW2JjZGZna21ucHJzdHZ6XSAKK1NGWCBSIDAgZXIgW15hZWlvdV1bYmNkZmdrbG1ucHJzdHZ6XSAKK1NGWCBSIDAgZXJzIFteYWVpb3VdW2JjZGZna2xtbnByc3R2el0gCitTRlggUiAwIGVyIFteZWJjZGZna2xtbnByc3R2eXpdIAorU0ZYIFIgMCBlcnMgW15lYmNkZmdrbG1ucHJzdHZ5el0gCitTRlggUiAwIHIncyBlIAorU0ZYIFIgMCBiZXIncyBbXmFlaW9dW2FlaW91XWIgCitTRlggUiAwIGtlcidzIFteYWVpb11bYWVpb3VdYyAKK1NGWCBSIDAgZGVyJ3MgW15hZWlvXVthZWlvdV1kIAorU0ZYIFIgMCBmZXIncyBbXmFlaW9dW2FlaW91XWYgCitTRlggUiAwIGdlcidzIFteYWVpb11bYWVpb3VdZyAKK1NGWCBSIDAga2VyJ3MgW15hZWlvXVthZWlvdV1rIAorU0ZYIFIgMCBsZXIncyBbXmFlaW9dW2Vpb3VdbCAKK1NGWCBSIDAgZXIncyBbYWVpb11bZWlvdV1sIAorU0ZYIFIgMCBsZXIncyBbXmFlb11hbCAKK1NGWCBSIDAgZXIncyBbYWVvXWFsIAorU0ZYIFIgMCBtZXIncyBbXmFlaW9dW2FlaW91XW0gCitTRlggUiAwIG5lcidzIFteYWVpb11bYWVpb3VdbiAKK1NGWCBSIDAgcGVyJ3MgW15hZWlvXVthZWlvdV1wIAorU0ZYIFIgMCByZXIncyBbXmFlaW9dW2FlaW91XXIgCitTRlggUiAwIHNlcidzIFteYWVpb11bYWVpb3VdcyAKK1NGWCBSIDAgdGVyJ3MgW15hZWlvXVthZWlvdV10IAorU0ZYIFIgMCB2ZXIncyBbXmFlaW9dW2FlaW91XXYgCitTRlggUiAwIHplcidzIFteYWVpb11bYWVpb3VdeiAKK1NGWCBSIHkgaWVyJ3MgW15hZWlvdV15IAorU0ZYIFIgMCBlcidzIFthZWlvdV15IAorU0ZYIFIgMCBlcidzIFthZWlvXVthZWlvdV1bYmNkZmdrbW5wcnN0dnpdIAorU0ZYIFIgMCBlcidzIFteYWVpb3VdW2JjZGZna2xtbnByc3R2el0gCitTRlggUiAwIGVyJ3MgW15lYmNkZmdrbG1ucHJzdHZ5el0gCitTRlggciBZIDI0CitTRlggciAwIHIgZSAKK1NGWCByIDAgbGVyIFteYWVpb11bYWVpb3VdbCAKK1NGWCByIDAga2VyIFteYWVpb11bYWVpb3VdYyAKK1NGWCByIHkgaWVyIFteYWVpb3VdeSAKK1NGWCByIDAgZXIgW2FlaW91XXkgCitTRlggciAwIGVyIFthZWlvXVthZWlvdV1bY2xdIAorU0ZYIHIgMCBlciBbXmFlaW91XVtjbF0gCitTRlggciAwIGVyIFteZWNseV0gCitTRlggciAwIHJzIGUgCitTRlggciAwIGxlcnMgW15hZWlvXVthZWlvdV1sIAorU0ZYIHIgMCBrZXJzIFteYWVpb11bYWVpb3VdYyAKK1NGWCByIHkgaWVycyBbXmFlaW91XXkgCitTRlggciAwIGVycyBbYWVpb3VdeSAKK1NGWCByIDAgZXJzIFthZWlvXVthZWlvdV1bY2xdIAorU0ZYIHIgMCBlcnMgW15hZWlvdV1bY2xdIAorU0ZYIHIgMCBlcnMgW15lY2x5XSAKK1NGWCByIDAgcidzIGUgCitTRlggciAwIGxlcidzIFteYWVpb11bYWVpb3VdbCAKK1NGWCByIDAga2VyJ3MgW15hZWlvXVthZWlvdV1jIAorU0ZYIHIgeSBpZXIncyBbXmFlaW91XXkgCitTRlggciAwIGVyJ3MgW2FlaW91XXkgCitTRlggciAwIGVyJ3MgW2FlaW9dW2FlaW91XVtjbF0gCitTRlggciAwIGVyJ3MgW15hZWlvdV1bY2xdIAorU0ZYIHIgMCBlcidzIFteZWNseV0gCitTRlggUyBZIDkKK1NGWCBTIHkgaWVzIFteYWVpb3VdeSAKK1NGWCBTIDAgcyBbYWVpb3VdeSAKK1NGWCBTIDAgZXMgW3N4el0gCitTRlggUyAwIGVzIFtjc11oIAorU0ZYIFMgMCBzIFteY3NdaCAKK1NGWCBTIDAgcyBbYWVddSAKK1NGWCBTIDAgeCBbYWVddSAKK1NGWCBTIDAgcyBbXmFlXXUgCitTRlggUyAwIHMgW15oc3V4eXpdCitTRlggUCBZIDYKK1NGWCBQIHkgaW5lc3MgW15hZWlvdV15IAorU0ZYIFAgMCBuZXNzIFthZWlvdV15IAorU0ZYIFAgMCBuZXNzIFteeV0gCitTRlggUCB5IGluZXNzJ3MgW15hZWlvdV15IAorU0ZYIFAgMCBuZXNzJ3MgW2FlaW91XXkgCitTRlggUCAwIG5lc3MncyBbXnldIAorU0ZYIG0gWSAyMAorU0ZYIG0gMCBzbWFuIFtiZGtubXRdIAorU0ZYIG0gMCBzbWFuIFthZWlvdV1bYmRrbG1udF1lIAorU0ZYIG0gMCBtYW4gW15hZWlvdV1bYmRrbG1udF1lIAorU0ZYIG0gMCBtYW4gW15iZGtsbW50XWUgCitTRlggbSAwIG1hbiBbXmJkZWtubXRdIAorU0ZYIG0gMCBzbWVuIFtiZGtubXRdIAorU0ZYIG0gMCBzbWVuIFthZWlvdV1bYmRrbG1udF1lIAorU0ZYIG0gMCBtZW4gW15hZWlvdV1bYmRrbG1udF1lIAorU0ZYIG0gMCBtZW4gW15iZGtsbW50XWUgCitTRlggbSAwIG1lbiBbXmJkZWtubXRdIAorU0ZYIG0gMCBzbWFuJ3MgW2Jka25tdF0gCitTRlggbSAwIHNtYW4ncyBbYWVpb3VdW2Jka2xtbnRdZSAKK1NGWCBtIDAgbWFuJ3MgW15hZWlvdV1bYmRrbG1udF1lIAorU0ZYIG0gMCBtYW4ncyBbXmJka2xtbnRdZSAKK1NGWCBtIDAgbWFuJ3MgW15iZGVrbm10XSAKK1NGWCBtIDAgc21lbidzIFtiZGtubXRdIAorU0ZYIG0gMCBzbWVuJ3MgW2FlaW91XVtiZGtsbW50XWUgCitTRlggbSAwIG1lbidzIFteYWVpb3VdW2Jka2xtbnRdZSAKK1NGWCBtIDAgbWVuJ3MgW15iZGtsbW50XWUgCitTRlggbSAwIG1lbidzIFteYmRla25tdF0gCitTRlggNSBZIDE1CitTRlggNSAwIHN3b21hbiBbYmRrbm10XSAKK1NGWCA1IDAgc3dvbWFuIFthZWlvdV1bYmRrbG1udF1lIAorU0ZYIDUgMCB3b21hbiBbXmFlaW91XVtiZGtsbW50XWUgCitTRlggNSAwIHdvbWFuIFteYmRrbG1udF1lIAorU0ZYIDUgMCB3b21hbiBbXmJkZWtubXRdIAorU0ZYIDUgMCBzd29tZW4gW2Jka25tdF0gCitTRlggNSAwIHN3b21lbiBbYWVpb3VdW2Jka2xtbnRdZSAKK1NGWCA1IDAgd29tZW4gW15hZWlvdV1bYmRrbG1udF1lIAorU0ZYIDUgMCB3b21lbiBbXmJka2xtbnRdZSAKK1NGWCA1IDAgd29tZW4gW15iZGVrbm10XSAKK1NGWCA1IDAgc3dvbWFuJ3MgW2Jka25tdF0gCitTRlggNSAwIHN3b21hbidzIFthZWlvdV1bYmRrbG1udF1lIAorU0ZYIDUgMCB3b21hbidzIFteYWVpb3VdW2Jka2xtbnRdZSAKK1NGWCA1IDAgd29tYW4ncyBbXmJka2xtbnRdZSAKK1NGWCA1IDAgd29tYW4ncyBbXmJkZWtubXRdIAorU0ZYIDYgWSAzCitTRlggNiB5IGlmdWwgW15hZWlvdV15IAorU0ZYIDYgMCBmdWwgW2FlaW91XXkgCitTRlggNiAwIGZ1bCBbXnldIAorU0ZYIGogWSAzCitTRlggaiB5IGlmdWxseSBbXmFlaW91XXkgCitTRlggaiAwIGZ1bGx5IFthZWlvdV15IAorU0ZYIGogMCBmdWxseSBbXnldIAorU0ZYIHAgWSA1CitTRlggcCB5IGlsZXNzIFteYWVpb3VdeSAKK1NGWCBwIDAgbGVzcyBbYWVpb3VdeSAKK1NGWCBwIDAgZXNzIGxsIAorU0ZYIHAgMCBsZXNzIFtebF1sIAorU0ZYIHAgMCBsZXNzIFtebHldIAorU0ZYIFEgWSA0NAorU0ZYIFEgMCB0aXNlIGEgCitTRlggUSBlIGlzZSBbXmxdZSAKK1NGWCBRIGxlIGlsaXNlIFteYWVpb3VdbGUgCitTRlggUSBlIGlzZSBbYWVpb3VdbGUgCitTRlggUSB1bSBpc2UgdW0gCitTRlggUSAwIGlzZSBbXnVdbSAKK1NGWCBRIHMgc2UgaXMgCitTRlggUSAwIGlzZSBbXmldcyAKK1NGWCBRIHkgaXNlIFteYWVpb3VdeSAKK1NGWCBRIDAgaXNlIFthZWlvdV15IAorU0ZYIFEgMCBpc2UgW15hZW1zeV0gCitTRlggUSAwIHRpc2VzIGEgCitTRlggUSBlIGlzZXMgW15sXWUgCitTRlggUSBsZSBpbGlzZXMgW15hZWlvdV1sZSAKK1NGWCBRIGUgaXNlcyBbYWVpb3VdbGUgCitTRlggUSB1bSBpc2VzIHVtIAorU0ZYIFEgMCBpc2VzIFtedV1tIAorU0ZYIFEgcyBzZXMgaXMgCitTRlggUSAwIGlzZXMgW15pXXMgCitTRlggUSB5IGlzZXMgW15hZWlvdV15IAorU0ZYIFEgMCBpc2VzIFthZWlvdV15IAorU0ZYIFEgMCBpc2VzIFteYWVtc3ldIAorU0ZYIFEgMCB0aXNlZCBhIAorU0ZYIFEgZSBpc2VkIFtebF1lIAorU0ZYIFEgbGUgaWxpc2VkIFteYWVpb3VdbGUgCitTRlggUSBlIGlzZWQgW2FlaW91XWxlIAorU0ZYIFEgdW0gaXNlZCB1bSAKK1NGWCBRIDAgaXNlZCBbXnVdbSAKK1NGWCBRIHMgc2VkIGlzIAorU0ZYIFEgMCBpc2VkIFteaV1zIAorU0ZYIFEgeSBpc2VkIFteYWVpb3VdeSAKK1NGWCBRIDAgaXNlZCBbYWVpb3VdeSAKK1NGWCBRIDAgaXNlZCBbXmFlbXN5XSAKK1NGWCBRIDAgdGlzaW5nIGEgCitTRlggUSBlIGlzaW5nIFtebF1lIAorU0ZYIFEgbGUgaWxpc2luZyBbXmFlaW91XWxlIAorU0ZYIFEgZSBpc2luZyBbYWVpb3VdbGUgCitTRlggUSB1bSBpc2luZyB1bSAKK1NGWCBRIDAgaXNpbmcgW151XW0gCitTRlggUSBzIHNpbmcgaXMgCitTRlggUSAwIGlzaW5nIFteaV1zIAorU0ZYIFEgeSBpc2luZyBbXmFlaW91XXkgCitTRlggUSAwIGlzaW5nIFthZWlvdV15IAorU0ZYIFEgMCBpc2luZyBbXmFlbXN5XSAKK1NGWCA4IFkgNDQKK1NGWCA4IDAgdGl6ZSBhIAorU0ZYIDggZSBpemUgW15sXWUgCitTRlggOCBsZSBpbGl6ZSBbXmFlaW91XWxlIAorU0ZYIDggZSBpemUgW2FlaW91XWxlIAorU0ZYIDggdW0gaXplIHVtIAorU0ZYIDggMCBpemUgW151XW0gCitTRlggOCBzIHplIGlzIAorU0ZYIDggMCBpemUgW15pXXMgCitTRlggOCB5IGl6ZSBbXmFlaW91XXkgCitTRlggOCAwIGl6ZSBbYWVpb3VdeSAKK1NGWCA4IDAgaXplIFteYWVtc3ldIAorU0ZYIDggMCB0aXplcyBhIAorU0ZYIDggZSBpemVzIFtebF1lIAorU0ZYIDggbGUgaWxpemVzIFteYWVpb3VdbGUgCitTRlggOCBlIGl6ZXMgW2FlaW91XWxlIAorU0ZYIDggdW0gaXplcyB1bSAKK1NGWCA4IDAgaXplcyBbXnVdbSAKK1NGWCA4IHMgemVzIGlzIAorU0ZYIDggMCBpemVzIFteaV1zIAorU0ZYIDggeSBpemVzIFteYWVpb3VdeSAKK1NGWCA4IDAgaXplcyBbYWVpb3VdeSAKK1NGWCA4IDAgaXplcyBbXmFlbXN5XSAKK1NGWCA4IDAgdGl6ZWQgYSAKK1NGWCA4IGUgaXplZCBbXmxdZSAKK1NGWCA4IGxlIGlsaXplZCBbXmFlaW91XWxlIAorU0ZYIDggZSBpemVkIFthZWlvdV1sZSAKK1NGWCA4IHVtIGl6ZWQgdW0gCitTRlggOCAwIGl6ZWQgW151XW0gCitTRlggOCBzIHplZCBpcyAKK1NGWCA4IDAgaXplZCBbXmldcyAKK1NGWCA4IHkgaXplZCBbXmFlaW91XXkgCitTRlggOCAwIGl6ZWQgW2FlaW91XXkgCitTRlggOCAwIGl6ZWQgW15hZW1zeV0gCitTRlggOCAwIHRpemluZyBhIAorU0ZYIDggZSBpemluZyBbXmxdZSAKK1NGWCA4IGxlIGlsaXppbmcgW15hZWlvdV1sZSAKK1NGWCA4IGUgaXppbmcgW2FlaW91XWxlIAorU0ZYIDggdW0gaXppbmcgdW0gCitTRlggOCAwIGl6aW5nIFtedV1tIAorU0ZYIDggcyB6aW5nIGlzIAorU0ZYIDggMCBpemluZyBbXmldcyAKK1NGWCA4IHkgaXppbmcgW15hZWlvdV15IAorU0ZYIDggMCBpemluZyBbYWVpb3VdeSAKK1NGWCA4IDAgaXppbmcgW15hZW1zeV0gCitTRlggcSBZIDIyCitTRlggcSAwIHRpc2F0aW9uIGEgCitTRlggcSBlIGlzYXRpb24gW15sXWUgCitTRlggcSBsZSBpbGlzYXRpb24gW15hZWlvdV1sZSAKK1NGWCBxIGUgaXNhdGlvbiBbYWVpb3VdbGUgCitTRlggcSB1bSBpc2F0aW9uIHVtIAorU0ZYIHEgMCBpc2F0aW9uIFtedV1tIAorU0ZYIHEgcyBzYXRpb24gaXMgCitTRlggcSAwIGlzYXRpb24gW15pXXMgCitTRlggcSB5IGlzYXRpb24gW15hZWlvdV15IAorU0ZYIHEgMCBpc2F0aW9uIFthZWlvdV15IAorU0ZYIHEgMCBpc2F0aW9uIFteYWVtc3ldIAorU0ZYIHEgMCB0aXNhdGlvbnMgYSAKK1NGWCBxIGUgaXNhdGlvbnMgW15sXWUgCitTRlggcSBsZSBpbGlzYXRpb25zIFteYWVpb3VdbGUgCitTRlggcSBlIGlzYXRpb25zIFthZWlvdV1sZSAKK1NGWCBxIHVtIGlzYXRpb25zIHVtIAorU0ZYIHEgMCBpc2F0aW9ucyBbXnVdbSAKK1NGWCBxIHMgc2F0aW9ucyBpcyAKK1NGWCBxIDAgaXNhdGlvbnMgW15pXXMgCitTRlggcSB5IGlzYXRpb25zIFteYWVpb3VdeSAKK1NGWCBxIDAgaXNhdGlvbnMgW2FlaW91XXkgCitTRlggcSAwIGlzYXRpb25zIFteYWVtc3ldIAorU0ZYIC0gWSAyMgorU0ZYIC0gMCB0aXphdGlvbiBhIAorU0ZYIC0gZSBpemF0aW9uIFtebF1lIAorU0ZYIC0gbGUgaWxpemF0aW9uIFteYWVpb3VdbGUgCitTRlggLSBlIGl6YXRpb24gW2FlaW91XWxlIAorU0ZYIC0gdW0gaXphdGlvbiB1bSAKK1NGWCAtIDAgaXphdGlvbiBbXnVdbSAKK1NGWCAtIHMgemF0aW9uIGlzIAorU0ZYIC0gMCBpemF0aW9uIFteaV1zIAorU0ZYIC0geSBpemF0aW9uIFteYWVpb3VdeSAKK1NGWCAtIDAgaXphdGlvbiBbYWVpb3VdeSAKK1NGWCAtIDAgaXphdGlvbiBbXmFlbXN5XSAKK1NGWCAtIDAgdGl6YXRpb25zIGEgCitTRlggLSBlIGl6YXRpb25zIFtebF1lIAorU0ZYIC0gbGUgaWxpemF0aW9ucyBbXmFlaW91XWxlIAorU0ZYIC0gZSBpemF0aW9ucyBbYWVpb3VdbGUgCitTRlggLSB1bSBpemF0aW9ucyB1bSAKK1NGWCAtIDAgaXphdGlvbnMgW151XW0gCitTRlggLSBzIHphdGlvbnMgaXMgCitTRlggLSAwIGl6YXRpb25zIFteaV1zIAorU0ZYIC0geSBpemF0aW9ucyBbXmFlaW91XXkgCitTRlggLSAwIGl6YXRpb25zIFthZWlvdV15IAorU0ZYIC0gMCBpemF0aW9ucyBbXmFlbXN5XSAKK1NGWCBzIFkgMzMKK1NGWCBzIDAgdGlzZXIgYSAKK1NGWCBzIGUgaXNlciBbXmxdZSAKK1NGWCBzIGxlIGlsaXNlciBbXmFlaW91XWxlIAorU0ZYIHMgZSBpc2VyIFthZWlvdV1sZSAKK1NGWCBzIHVtIGlzZXIgdW0gCitTRlggcyAwIGlzZXIgW151XW0gCitTRlggcyBzIHNlciBpcyAKK1NGWCBzIDAgaXNlciBbXmldcyAKK1NGWCBzIHkgaXNlciBbXmFlaW91XXkgCitTRlggcyAwIGlzZXIgW2FlaW91XXkgCitTRlggcyAwIGlzZXIgW15hZW1zeV0gCitTRlggcyAwIHRpc2VycyBhIAorU0ZYIHMgZSBpc2VycyBbXmxdZSAKK1NGWCBzIGxlIGlsaXNlcnMgW15hZWlvdV1sZSAKK1NGWCBzIGUgaXNlcnMgW2FlaW91XWxlIAorU0ZYIHMgdW0gaXNlcnMgdW0gCitTRlggcyAwIGlzZXJzIFtedV1tIAorU0ZYIHMgcyBzZXJzIGlzIAorU0ZYIHMgMCBpc2VycyBbXmldcyAKK1NGWCBzIHkgaXNlcnMgW15hZWlvdV15IAorU0ZYIHMgMCBpc2VycyBbYWVpb3VdeSAKK1NGWCBzIDAgaXNlcnMgW15hZW1zeV0gCitTRlggcyAwIHRpc2VyJ3MgYSAKK1NGWCBzIGUgaXNlcidzIFtebF1lIAorU0ZYIHMgbGUgaWxpc2VyJ3MgW15hZWlvdV1sZSAKK1NGWCBzIGUgaXNlcidzIFthZWlvdV1sZSAKK1NGWCBzIHVtIGlzZXIncyB1bSAKK1NGWCBzIDAgaXNlcidzIFtedV1tIAorU0ZYIHMgcyBzZXIncyBpcyAKK1NGWCBzIDAgaXNlcidzIFteaV1zIAorU0ZYIHMgeSBpc2VyJ3MgW15hZWlvdV15IAorU0ZYIHMgMCBpc2VyJ3MgW2FlaW91XXkgCitTRlggcyAwIGlzZXIncyBbXmFlbXN5XSAKK1NGWCA5IFkgMzMKK1NGWCA5IDAgdGl6ZXIgYSAKK1NGWCA5IGUgaXplciBbXmxdZSAKK1NGWCA5IGxlIGlsaXplciBbXmFlaW91XWxlIAorU0ZYIDkgZSBpemVyIFthZWlvdV1sZSAKK1NGWCA5IHVtIGl6ZXIgdW0gCitTRlggOSAwIGl6ZXIgW151XW0gCitTRlggOSBzIHplciBpcyAKK1NGWCA5IDAgaXplciBbXmldcyAKK1NGWCA5IHkgaXplciBbXmFlaW91XXkgCitTRlggOSAwIGl6ZXIgW2FlaW91XXkgCitTRlggOSAwIGl6ZXIgW15hZW1zeV0gCitTRlggOSAwIHRpemVycyBhIAorU0ZYIDkgZSBpemVycyBbXmxdZSAKK1NGWCA5IGxlIGlsaXplcnMgW15hZWlvdV1sZSAKK1NGWCA5IGUgaXplcnMgW2FlaW91XWxlIAorU0ZYIDkgdW0gaXplcnMgdW0gCitTRlggOSAwIGl6ZXJzIFtedV1tIAorU0ZYIDkgcyB6ZXJzIGlzIAorU0ZYIDkgMCBpemVycyBbXmldcyAKK1NGWCA5IHkgaXplcnMgW15hZWlvdV15IAorU0ZYIDkgMCBpemVycyBbYWVpb3VdeSAKK1NGWCA5IDAgaXplcnMgW15hZW1zeV0gCitTRlggOSAwIHRpemVyJ3MgYSAKK1NGWCA5IGUgaXplcidzIFtebF1lIAorU0ZYIDkgbGUgaWxpemVyJ3MgW15hZWlvdV1sZSAKK1NGWCA5IGUgaXplcidzIFthZWlvdV1sZSAKK1NGWCA5IHVtIGl6ZXIncyB1bSAKK1NGWCA5IDAgaXplcidzIFtedV1tIAorU0ZYIDkgcyB6ZXIncyBpcyAKK1NGWCA5IDAgaXplcidzIFteaV1zIAorU0ZYIDkgeSBpemVyJ3MgW15hZWlvdV15IAorU0ZYIDkgMCBpemVyJ3MgW2FlaW91XXkgCitTRlggOSAwIGl6ZXIncyBbXmFlbXN5XSAKK1NGWCB0IFkgMjIKK1NGWCB0IDAgdGlzYWJsZSBhIAorU0ZYIHQgZSBpc2FibGUgW15sXWUgCitTRlggdCBsZSBpbGlzYWJsZSBbXmFlaW91XWxlIAorU0ZYIHQgZSBpc2FibGUgW2FlaW91XWxlIAorU0ZYIHQgdW0gaXNhYmxlIHVtIAorU0ZYIHQgMCBpc2FibGUgW151XW0gCitTRlggdCBzIHNhYmxlIGlzIAorU0ZYIHQgMCBpc2FibGUgW15pXXMgCitTRlggdCB5IGlzYWJsZSBbXmFlaW91XXkgCitTRlggdCAwIGlzYWJsZSBbYWVpb3VdeSAKK1NGWCB0IDAgaXNhYmxlIFteYWVtc3ldIAorU0ZYIHQgMCB0aXNhYmlsaXR5IGEgCitTRlggdCBlIGlzYWJpbGl0eSBbXmxdZSAKK1NGWCB0IGxlIGlsaXNhYmlsaXR5IFteYWVpb3VdbGUgCitTRlggdCBlIGlzYWJpbGl0eSBbYWVpb3VdbGUgCitTRlggdCB1bSBpc2FiaWxpdHkgdW0gCitTRlggdCAwIGlzYWJpbGl0eSBbXnVdbSAKK1NGWCB0IHMgc2FiaWxpdHkgaXMgCitTRlggdCAwIGlzYWJpbGl0eSBbXmldcyAKK1NGWCB0IHkgaXNhYmlsaXR5IFteYWVpb3VdeSAKK1NGWCB0IDAgaXNhYmlsaXR5IFthZWlvdV15IAorU0ZYIHQgMCBpc2FiaWxpdHkgW15hZW1zeV0gCitTRlggKyBZIDIyCitTRlggKyAwIHRpemFibGUgYSAKK1NGWCArIGUgaXphYmxlIFtebF1lIAorU0ZYICsgbGUgaWxpemFibGUgW15hZWlvdV1sZSAKK1NGWCArIGUgaXphYmxlIFthZWlvdV1sZSAKK1NGWCArIHVtIGl6YWJsZSB1bSAKK1NGWCArIDAgaXphYmxlIFtedV1tIAorU0ZYICsgcyB6YWJsZSBpcyAKK1NGWCArIDAgaXphYmxlIFteaV1zIAorU0ZYICsgeSBpemFibGUgW15hZWlvdV15IAorU0ZYICsgMCBpemFibGUgW2FlaW91XXkgCitTRlggKyAwIGl6YWJsZSBbXmFlbXN5XSAKK1NGWCArIDAgdGl6YWJpbGl0eSBhIAorU0ZYICsgZSBpemFiaWxpdHkgW15sXWUgCitTRlggKyBsZSBpbGl6YWJpbGl0eSBbXmFlaW91XWxlIAorU0ZYICsgZSBpemFiaWxpdHkgW2FlaW91XWxlIAorU0ZYICsgdW0gaXphYmlsaXR5IHVtIAorU0ZYICsgMCBpemFiaWxpdHkgW151XW0gCitTRlggKyBzIHphYmlsaXR5IGlzIAorU0ZYICsgMCBpemFiaWxpdHkgW15pXXMgCitTRlggKyB5IGl6YWJpbGl0eSBbXmFlaW91XXkgCitTRlggKyAwIGl6YWJpbGl0eSBbYWVpb3VdeSAKK1NGWCArIDAgaXphYmlsaXR5IFteYWVtc3ldIAorU0ZYIE0gWSAxCitTRlggTSAwICdzIC4gCitTRlggQiBZIDQ4CitTRlggQiBlIGFibGUgW15hY2VnaWxvdHVdZSAKK1NGWCBCIDAgYWJsZSBbYWNlZ2lsb3VdZSAKK1NGWCBCIHRlIGJsZSBhdGUgCitTRlggQiBlIGFibGUgW15hXXRlIAorU0ZYIEIgMCBiYWJsZSBbXmFlaW9dW2FlaW91XWIgCitTRlggQiAwIGthYmxlIFteYWVpb11bYWVpb3VdYyAKK1NGWCBCIDAgZGFibGUgW15hZWlvXVthZWlvdV1kIAorU0ZYIEIgMCBmYWJsZSBbXmFlaW9dW2FlaW91XWYgCitTRlggQiAwIGdhYmxlIFteYWVpb11bYWVpb3VdZyAKK1NGWCBCIDAga2FibGUgW15hZWlvXVthZWlvdV1rIAorU0ZYIEIgMCBsYWJsZSBbXmFlaW9dW2FlaW91XWwgCitTRlggQiAwIG1hYmxlIFteYWVpb11bYWVpb3VdbSAKK1NGWCBCIDAgbmFibGUgW15hZWlvXVthZWlvdV1uIAorU0ZYIEIgMCBwYWJsZSBbXmFlaW9dW2FlaW91XXAgCitTRlggQiAwIHJhYmxlIFteYWVpb11bYWVpb3VdciAKK1NGWCBCIDAgc2FibGUgW15hZWlvXVthZWlvdV1zIAorU0ZYIEIgMCB0YWJsZSBbXmFlaW9dW2FlaW91XXQgCitTRlggQiAwIHZhYmxlIFteYWVpb11bYWVpb3VddiAKK1NGWCBCIDAgemFibGUgW15hZWlvXVthZWlvdV16IAorU0ZYIEIgMCBhYmxlIFthZWlvXVthZWlvdV1bYmNkZmdrbG1ucHJzdHZ6XSAKK1NGWCBCIDAgYWJsZSBbXmFlaW91XVtiY2RmZ2tsbW5wcnN0dnpdIAorU0ZYIEIgeSBpYWJsZSBbXmFlaW91XXkgCitTRlggQiAwIGFibGUgW2FlaW91XXkgCitTRlggQiAwIGFibGUgW15lYmNkZmdrbG1ucHJzdHZ6eV0gCitTRlggQiBlIGFiaWxpdHkgW15hY2VnaWxvdHVdZSAKK1NGWCBCIDAgYWJpbGl0eSBbYWNlZ2lsb3VdZSAKK1NGWCBCIHRlIGJpbGl0eSBhdGUgCitTRlggQiBlIGFiaWxpdHkgW15hXXRlIAorU0ZYIEIgMCBiYWJpbGl0eSBbXmFlaW9dW2FlaW91XWIgCitTRlggQiAwIGthYmlsaXR5IFteYWVpb11bYWVpb3VdYyAKK1NGWCBCIDAgZGFiaWxpdHkgW15hZWlvXVthZWlvdV1kIAorU0ZYIEIgMCBmYWJpbGl0eSBbXmFlaW9dW2FlaW91XWYgCitTRlggQiAwIGdhYmlsaXR5IFteYWVpb11bYWVpb3VdZyAKK1NGWCBCIDAga2FiaWxpdHkgW15hZWlvXVthZWlvdV1rIAorU0ZYIEIgMCBsYWJpbGl0eSBbXmFlaW9dW2FlaW91XWwgCitTRlggQiAwIG1hYmlsaXR5IFteYWVpb11bYWVpb3VdbSAKK1NGWCBCIDAgbmFiaWxpdHkgW15hZWlvXVthZWlvdV1uIAorU0ZYIEIgMCBwYWJpbGl0eSBbXmFlaW9dW2FlaW91XXAgCitTRlggQiAwIHJhYmlsaXR5IFteYWVpb11bYWVpb3VdciAKK1NGWCBCIDAgc2FiaWxpdHkgW15hZWlvXVthZWlvdV1zIAorU0ZYIEIgMCB0YWJpbGl0eSBbXmFlaW9dW2FlaW91XXQgCitTRlggQiAwIHZhYmlsaXR5IFteYWVpb11bYWVpb3VddiAKK1NGWCBCIDAgemFiaWxpdHkgW15hZWlvXVthZWlvdV16IAorU0ZYIEIgMCBhYmlsaXR5IFthZWlvXVthZWlvdV1bYmNkZmdrbG1ucHJzdHZ6XSAKK1NGWCBCIDAgYWJpbGl0eSBbXmFlaW91XVtiY2RmZ2tsbW5wcnN0dnpdIAorU0ZYIEIgeSBpYWJpbGl0eSBbXmFlaW91XXkgCitTRlggQiAwIGFiaWxpdHkgW2FlaW91XXkgCitTRlggQiAwIGFiaWxpdHkgW15lYmNkZmdrbG1ucHJzdHZ6eV0gCitTRlggNyBZIDkKK1NGWCA3IGUgYWJsZSBbYWNlZ2lsb3VdZSAKK1NGWCA3IDAgYWJsZSBbXmFjZWdpbG91XWUgCitTRlggNyAwIGthYmxlIFteYWVpb11bYWVpb3VdYyAKK1NGWCA3IDAgbGFibGUgW15hZWlvXVthZWlvdV1sIAorU0ZYIDcgMCBhYmxlIFthZWlvXVthZWlvdV1bY2xdIAorU0ZYIDcgMCBhYmxlIFteYWVpb3VdW2NsXSAKK1NGWCA3IHkgaWFibGUgW15hZWlvdV15IAorU0ZYIDcgMCBhYmxlIFthZWlvdV15IAorU0ZYIDcgMCBhYmxlIFteY2VseV0gCitTRlggZyBZIDkKK1NGWCBnIGUgYWJpbGl0eSBbXmFjZWdpbG91XWUgCitTRlggZyAwIGFiaWxpdHkgW2FjZWdpbG91XWUgCitTRlggZyAwIGthYmlsaXR5IFteYWVpb11bYWVpb3VdYyAKK1NGWCBnIDAgbGFiaWxpdHkgW15hZWlvXVthZWlvdV1sIAorU0ZYIGcgMCBhYmlsaXR5IFthZWlvXVthZWlvdV1bY2xdIAorU0ZYIGcgMCBhYmlsaXR5IFteYWVpb3VdW2NsXSAKK1NGWCBnIHkgaWFiaWxpdHkgW15hZWlvdV15IAorU0ZYIGcgMCBhYmlsaXR5IFthZWlvdV15IAorU0ZYIGcgMCBhYmlsaXR5IFteY2VseV0gCitTRlggbCBZIDkKK1NGWCBsIGUgYWJseSBbXmFjZWdpbG91XWUgCitTRlggbCAwIGFibHkgW2FjZWdpbG91XWUgCitTRlggbCAwIGthYmx5IFteYWVpb11bYWVpb3VdYyAKK1NGWCBsIDAgbGFibHkgW15hZWlvXVthZWlvdV1sIAorU0ZYIGwgMCBhYmx5IFthZWlvXVthZWlvdV1bY2xdIAorU0ZYIGwgMCBhYmx5IFteYWVpb3VdW2NsXSAKK1NGWCBsIHkgaWFibHkgW15hZWlvdV15IAorU0ZYIGwgMCBhYmx5IFthZWlvdV15IAorU0ZYIGwgMCBhYmx5IFteY2VseV0gCitTRlggYiBZIDMKK1NGWCBiIGUgaWJsZSBbXmFlaW91XWUgCitTRlggYiAwIGlibGUgW2FlaW91XWUgCitTRlggYiAwIGlibGUgW15lXSAKK1NGWCBMIFkgMTIKK1NGWCBMIDAgYW1lbnQgbSAKK1NGWCBMIHkgaW1lbnQgW15hZWlvdV15IAorU0ZYIEwgMCBtZW50IFthZWlvdV15IAorU0ZYIEwgMCBtZW50IFtebXldIAorU0ZYIEwgMCBhbWVudHMgbSAKK1NGWCBMIHkgaW1lbnRzIFteYWVpb3VdeSAKK1NGWCBMIDAgbWVudHMgW2FlaW91XXkgCitTRlggTCAwIG1lbnRzIFtebXldIAorU0ZYIEwgMCBhbWVudCdzIG0gCitTRlggTCB5IGltZW50J3MgW15hZWlvdV15IAorU0ZYIEwgMCBtZW50J3MgW2FlaW91XXkgCitTRlggTCAwIG1lbnQncyBbXm15XSAKK1NGWCBaIFkgMjIKK1NGWCBaIGUgeSBbXmFlaW91eV1lIAorU0ZYIFogMCB5IFthZWlvdXldZSAKK1NGWCBaIDAgZXkgW2Fpb3V5XSAKK1NGWCBaIDAgYnkgW15hZWlvXVthZWlvdV1iIAorU0ZYIFogMCBreSBbXmFlaW9dW2FlaW91XWMgCitTRlggWiAwIGR5IFteYWVpb11bYWVpb3VdZCAKK1NGWCBaIDAgZnkgW15hZWlvXVthZWlvdV1mIAorU0ZYIFogMCBneSBbXmFlaW9dW2FlaW91XWcgCitTRlggWiAwIGt5IFteYWVpb11bYWVpb3VdayAKK1NGWCBaIDAgbHkgW15hZWlvXVthZWlvdV1sIAorU0ZYIFogMCBteSBbXmFlaW9dW2FlaW91XW0gCitTRlggWiAwIG55IFteYWVpb11bYWlvdV1uIAorU0ZYIFogMCBweSBbXmFlaW9dW2FlaW91XXAgCitTRlggWiAwIHJ5IFteYWVpb11bYWlvdV1yIAorU0ZYIFogMCBzeSBbXmFlaW9dW2FlaW91XXMgCitTRlggWiAwIHR5IFteYWVpb11bYWlvdV10IAorU0ZYIFogMCB2eSBbXmFlaW9dW2FlaW91XXYgCitTRlggWiAwIHp5IFteYWVpb11bYWVpb3VdeiAKK1NGWCBaIDAgeSBbXmFlaW9dZVtucnRdIAorU0ZYIFogMCB5IFthZWlvXVthZWlvdV1bYmNkZmdrbG1ucHJzdHZ6XSAKK1NGWCBaIDAgeSBbXmFlaW91XVtiY2RmZ2tsbW5wcnN0dnpdIAorU0ZYIFogMCB5IFteYWViY2RmZ2lrbG1ub3Byc3R1dnl6XSAKK1NGWCAyIFkgMjEKK1NGWCAyIGUgaW5lc3MgW15hZWlvdXldZSAKK1NGWCAyIDAgaW5lc3MgW2FlaW91eV1lIAorU0ZYIDIgMCBiaW5lc3MgW15hZWlvXVthZWlvdV1iIAorU0ZYIDIgMCBraW5lc3MgW15hZWlvXVthZWlvdV1jIAorU0ZYIDIgMCBkaW5lc3MgW15hZWlvXVthZWlvdV1kIAorU0ZYIDIgMCBmaW5lc3MgW15hZWlvXVthZWlvdV1mIAorU0ZYIDIgMCBnaW5lc3MgW15hZWlvXVthZWlvdV1nIAorU0ZYIDIgMCBraW5lc3MgW15hZWlvXVthZWlvdV1rIAorU0ZYIDIgMCBsaW5lc3MgW15hZWlvXVthZWlvdV1sIAorU0ZYIDIgMCBtaW5lc3MgW15hZWlvXVthZWlvdV1tIAorU0ZYIDIgMCBuaW5lc3MgW15hZWlvXVthaW91XW4gCitTRlggMiAwIHBpbmVzcyBbXmFlaW9dW2FlaW91XXAgCitTRlggMiAwIHJpbmVzcyBbXmFlaW9dW2Fpb3VdciAKK1NGWCAyIDAgc2luZXNzIFteYWVpb11bYWVpb3VdcyAKK1NGWCAyIDAgdGluZXNzIFteYWVpb11bYWlvdV10IAorU0ZYIDIgMCB2aW5lc3MgW15hZWlvXVthZWlvdV12IAorU0ZYIDIgMCB6aW5lc3MgW15hZWlvXVthZWlvdV16IAorU0ZYIDIgMCBpbmVzcyBbXmFlaW9dZVtucnRdIAorU0ZYIDIgMCBpbmVzcyBbYWVpb11bYWVpb3VdW2JjZGZna2xtbnByc3R2el0gCitTRlggMiAwIGluZXNzIFteYWVpb3VdW2JjZGZna2xtbnByc3R2el0gCitTRlggMiAwIGluZXNzIFteZWJjZGZna2xtbnByc3R2el0gCitTRlggeiBZIDI0CitTRlggeiBlIGlseSBbXmFlaW91eV1lIAorU0ZYIHogMCBpbHkgW2FlaW91eV1lIAorU0ZYIHogMCBpbHkgW2Fpb3VdeSAKK1NGWCB6IGV5IGlseSBleSAKK1NGWCB6IHkgaWx5IFteYWVpb3VdeSAKK1NGWCB6IDAgYmlseSBbXmFlaW9dW2FlaW91XWIgCitTRlggeiAwIGtpbHkgW15hZWlvXVthZWlvdV1jIAorU0ZYIHogMCBkaWx5IFteYWVpb11bYWVpb3VdZCAKK1NGWCB6IDAgZmlseSBbXmFlaW9dW2FlaW91XWYgCitTRlggeiAwIGdpbHkgW15hZWlvXVthZWlvdV1nIAorU0ZYIHogMCBraWx5IFteYWVpb11bYWVpb3VdayAKK1NGWCB6IDAgbGlseSBbXmFlaW9dW2FlaW91XWwgCitTRlggeiAwIG1pbHkgW15hZWlvXVthZWlvdV1tIAorU0ZYIHogMCBuaWx5IFteYWVpb11bYWlvdV1uIAorU0ZYIHogMCBwaWx5IFteYWVpb11bYWVpb3VdcCAKK1NGWCB6IDAgcmlseSBbXmFlaW9dW2Fpb3VdciAKK1NGWCB6IDAgc2lseSBbXmFlaW9dW2FlaW91XXMgCitTRlggeiAwIHRpbHkgW15hZWlvXVthaW91XXQgCitTRlggeiAwIHZpbHkgW15hZWlvXVthZWlvdV12IAorU0ZYIHogMCB6aWx5IFteYWVpb11bYWVpb3VdeiAKK1NGWCB6IDAgaWx5IFteYWVpb11lW25ydF0gCitTRlggeiAwIGlseSBbYWVpb11bYWVpb3VdW2JjZGZna2xtbnByc3R2eXpdIAorU0ZYIHogMCBpbHkgW15hZWlvdV1bYmNkZmdrbG1ucHJzdHZ5el0gCitTRlggeiAwIGlseSBbXmViY2RmZ2tsbW5wcnN0dnl6XSAKK1NGWCB5IFkgMTUKK1NGWCB5IGUgb3J5IHRlIAorU0ZYIHkgZSBhdG9yeSBbbXJdZSAKK1NGWCB5IGUgYXJ5IHNlIAorU0ZYIHkgMCByeSBbXm1yc3RdZSAKK1NGWCB5IDAgb3J5IFteYWVvdXNddCAKK1NGWCB5IDAgcnkgW2Flb3VzXXQgCitTRlggeSAwIGVyeSBoIAorU0ZYIHkgMCBhdG9yeSBbXmldbSAKK1NGWCB5IGltIG1hdG9yeSBpbSAKK1NGWCB5IDAgb3J5IHMgCitTRlggeSAwIGFyeSBpb24gCitTRlggeSAwIHJ5IFteaV1vbiAKK1NGWCB5IDAgbmVyeSBbYWl1XW4gCitTRlggeSAwIHJ5IFteYWlvdV1uIAorU0ZYIHkgMCByeSBbXmVobXN0bl0gCitTRlggTyBZIDEyCitTRlggTyAwIGwgYSAKK1NGWCBPIGUgYWwgW15iY2d2XWUgCitTRlggTyBlIGlhbCBbYmNndl1lIAorU0ZYIE8gMCBpYWwgW2JjcnhdIAorU0ZYIE8gdW0gYWwgdW0gCitTRlggTyAwIGFsIFtedV1tIAorU0ZYIE8geSBhbCB0eSAKK1NGWCBPIHkgaWFsIFtedF15IAorU0ZYIE8gMCB1YWwgW3B4XXQgCitTRlggTyAwIHRhbCBbaXVddCAKK1NGWCBPIDAgYWwgW15pcHV4XXQgCitTRlggTyAwIGFsIFteYWViY3J0eG15XSAKK1NGWCBvIFkgMTIKK1NGWCBvIDAgbGx5IGEgCitTRlggbyBlIGFsbHkgW15iY2d2XWUgCitTRlggbyBlIGlhbGx5IFtiY2d2XWUgCitTRlggbyAwIGlhbGx5IFtiY3J4XSAKK1NGWCBvIHVtIGFsbHkgdW0gCitTRlggbyAwIGFsbHkgW151XW0gCitTRlggbyB5IGFsbHkgdHkgCitTRlggbyB5IGlhbGx5IFtedF15IAorU0ZYIG8gMCB1YWxseSBbcHhddCAKK1NGWCBvIDAgdGFsbHkgW2l1XXQgCitTRlggbyAwIGFsbHkgW15pcHV4XXQgCitTRlggbyAwIGFsbHkgW15hZWJjcnR4bXldIAorU0ZYIFcgWSAyMQorU0ZYIFcgY2UgdGlmaWMgY2UgCitTRlggVyBlIGF0aWMgbWUgCitTRlggVyBzZSB0aWMgc2UgCitTRlggVyBsZSBpYyBibGUgCitTRlggVyBlIGljIFteYl1sZSAKK1NGWCBXIGUgaWMgW15jbG1zXWUgCitTRlggVyAwIGxpYyBbYXldbCAKK1NGWCBXIDAgaWMgW15heV1sIAorU0ZYIFcgdXMgaWMgdXMgCitTRlggVyAwIHRpYyBbXnVdcyAKK1NGWCBXIGVyIHJpYyBlciAKK1NGWCBXIDAgaWMgW15lXXIgCitTRlggVyAwIGF0aWMgW2FlaW91XW0gCitTRlggVyAwIGljIFteYWVpb3VdbSAKK1NGWCBXIDAgdGljIG1hIAorU0ZYIFcgYSBpYyBbXm1dYSAKK1NGWCBXIHkgZXRpYyB0aHkgCitTRlggVyB5IGljIFtedF1oeSAKK1NGWCBXIHkgdGljIHN5IAorU0ZYIFcgeSBpYyBbXmhzXXkgCitTRlggVyAwIGljIFteYWVsbXJzeV0gCitTRlggdyBZIDkKK1NGWCB3IGUgaWNhbCBlIAorU0ZYIHcgZXIgcmljYWwgZXIgCitTRlggdyAwIGljYWwgW15lXXIgCitTRlggdyAwIGF0aWNhbCBbYWVpb3VdbSAKK1NGWCB3IDAgaWNhbCBbXmFlaW91XW0gCitTRlggdyAwIHRpY2FsIG1hIAorU0ZYIHcgYSBpY2FsIFtebV1hIAorU0ZYIHcgeSBpY2FsIHkgCitTRlggdyAwIGljYWwgW15hZW1yeV0gCitTRlggMSBZIDkKK1NGWCAxIGUgaWNhbGx5IGUgCitTRlggMSBlciByaWNhbGx5IGVyIAorU0ZYIDEgMCBpY2FsbHkgW15lXXIgCitTRlggMSAwIGF0aWNhbGx5IFthZWlvdV1tIAorU0ZYIDEgMCBpY2FsbHkgW15hZWlvdV1tIAorU0ZYIDEgMCB0aWNhbGx5IG1hIAorU0ZYIDEgYSBpY2FsbHkgW15tXWEgCitTRlggMSB5IGljYWxseSB5IAorU0ZYIDEgMCBpY2FsbHkgW15hZW1yeV0gCitTRlggMyBZIDIxCitTRlggMyBlIGlzdCBbXmFjZWlvdV1lIAorU0ZYIDMgY2UgdGlzdCBjZSAKK1NGWCAzIDAgaXN0IFthZWlvdV1lIAorU0ZYIDMgeSBpc3QgW15hZWlvdWJwXXkgCitTRlggMyAwIGlzdCBbYWVpb3VicF15IAorU0ZYIDMgbyBpc3QgbyAKK1NGWCAzIDAgaXN0cyBbXmVveV0gCitTRlggMyBlIGlzdHMgW15hY2Vpb3VdZSAKK1NGWCAzIGNlIHRpc3RzIGNlIAorU0ZYIDMgMCBpc3RzIFthZWlvdV1lIAorU0ZYIDMgeSBpc3RzIFteYWVpb3VicF15IAorU0ZYIDMgMCBpc3RzIFthZWlvdWJwXXkgCitTRlggMyBvIGlzdHMgbyAKK1NGWCAzIDAgaXN0cyBbXmVveV0gCitTRlggMyBlIGlzdCdzIFteYWNlaW91XWUgCitTRlggMyBjZSB0aXN0J3MgY2UgCitTRlggMyAwIGlzdCdzIFthZWlvdV1lIAorU0ZYIDMgeSBpc3QncyBbXmFlaW91YnBdeSAKK1NGWCAzIDAgaXN0J3MgW2FlaW91YnBdeSAKK1NGWCAzIG8gaXN0J3MgbyAKK1NGWCAzIDAgaXN0J3MgW15lb3ldIApkaWZmIC0tZ2l0IGEvU3F1aWdnbHkvbWFpbi9TcGVsbGluZ1VJRXgvdGVzdHMvY29tL2Fkb2JlL2xpbmd1aXN0aWNzL3NwZWxsaW5nL2RpY3Rpb25hcmllcy9lbl9HQi9lbl9HQi5kaWMgYi9TcXVpZ2dseS9tYWluL1NwZWxsaW5nVUlFeC90ZXN0cy9jb20vYWRvYmUvbGluZ3Vpc3RpY3Mvc3BlbGxpbmcvZGljdGlvbmFyaWVzL2VuX0dCL2VuX0dCLmRpYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDAyNzg5Ci0tLSAvZGV2L251bGwKKysrIGIvU3F1aWdnbHkvbWFpbi9TcGVsbGluZ1VJRXgvdGVzdHMvY29tL2Fkb2JlL2xpbmd1aXN0aWNzL3NwZWxsaW5nL2RpY3Rpb25hcmllcy9lbl9HQi9lbl9HQi5kaWMKQEAgLTAsMCArMSw0NjI4MSBAQAorNDYyODAKK2FiYWZ0CithYmJyZXZpYXRpb24vTQorYWJkaWNhdGUvRE5HU24KK0FiZWxhcmQvTQorYWJpZGVyL00KK0FiaWRqYW4KK2FibGF6ZQorYWJsb29tCithYm92ZWdyb3VuZAorYWJyYWRlci9NCitBYnJhbS9NCithYnJlYWN0aW9uL01TCithYnJvZ2F0b3IvTVMKK2Fic2NvbmQvRFJTRworYWJzaW50aGUvTVMKK2Fic29sdXRlbmVzcy9TCithYnNvcmJlbmN5L1NNCithYnN0cmFjdC9TaFRWRFBpR1kKK2Fic3VyZG5lc3MvUworQWJ1amEvTQorQWJ5c3NpbmlhL00KK0FjYWRpYQorYWNjZWRlL1NERworYWNjZXB0L0JEU1JWR2tobAorYWNjZXB0YWJsZS9QCithY2NlcHRlZC9VCithY2NvbW1vZGF0ZS9ER25rU05WdQorYWNjb21tb2RhdGluZy9VCithY2NvbXBhbmllci9NCithY2NvbXBsaXNoL1JMU0dECithY2NvcmRpb24vTVMzCithY2Nvc3QvRFNHCithY2NvdW50YW50L1NNCithY2NydWFsL01TCithY2N1cmF0ZWx5L0kKK2FjY3VzYWwvTQorYWNoZW5lL1NNCithY2hpZXZhYmxlL1UKK2FjaGlldmVzL2MKK2FjaWRpZmljYXRpb24vTQorYWNpZHVsb3VzCithY291c3RpY2FsCithY3F1YWludGFuY2UvU00KK2FjcXVpc2l0aW9uL01BCithY3JpZGl0eS9TTQorYWNyb2JhdGljcy9NCithY3RpbmljCithY3RpbmlkZS9NUworYWN0aXZlbHkvSUEKK2FjdGl2aXR5L1NNSQorQWN0b24vTQorYWN0dWFsL3E4WVNRLQorYWRhZ2lvL1MKK2FkYXB0YXRpb24vTQorYWRkL1JER1M3CithZGRpdGl2aXR5CitBZGVsZS9NCithZGhlcmUvREdSUworYWRoZXJlbmNlL01TCithZGp1ZGljYXRvci9NUworYWRqdW5jdC9TWU1WCithZGp1cmF0aW9uL00KK2FkanVzdC9STERsR1M3VgorQWRsZXIvTQorYWRtaW5pc3RyYXRyaXgvTQorYWRtaXJhbHR5L1NNCithZG1pcmF0aW9uL00KK2Fkb2JlL052VlNNWAorYWRvcHRlZC9BVQorYWRvcHRpb24vTQorYWRvcm5lZC9VCithZHJlbmFsL1kKK2FkcmlmdAorYWR1bWJyYXRlL1ZTR252RE4KK0FkdmVudGlzdCdzCithZHZlcnNlL3lURFlHUAorYWR2ZXJ0aXNlL0xKCithZHplL0RNU0cKK0FlZ2Vhbi9NCitBZW5lYXMKK2FlcmlhbGlzdAorYWVyb2Ryb21lL1NNCithZXJvZHluYW1pYy9TWQorYWVyby1lbmdpbmUvTVMKK2FmZmVjdGVkbHkvVQorYWZmZWN0aXZlL00KK2FmZmluaXR5L01TCithZmZpcm1lZC9BCithZmZpeC9EU0cKK2FmZnJheS9NU0RHCithZmZyaWNhdGl2ZS9NCithZm9yZXNhaWQKK2FmdGVyL1MKK2FnZSdzL2UKK2FnaWxpdHkvTVMKK2FnaXRhdG9yL01TCithZ25vc3RpYy9NUworYWdub3N0aWNpc20vU00KK2FncmVlYWJsZW5lc3MvRVMKK2FncmljdWx0dXJhbGlzdAorQWdyaXBwYS9NCitBSQorQWlrZW4vTQorYWluJ3QKK2FpcmZsb3cvTVMKK2FpcnNpY2svUAorYWlydGltZQorYWlyd2F5L01TCithamFyCithbGFiYXN0ZXIvU00KK0FsYW1vL1MKK2FsYW5pbmUvTQorQWxhcmljL00KK2FsYXJtLzNER2tTCithbGJhY29yZS9TTQorYWxiZWRvL00KK2FsYmVpdAorYWxidW0vTVMKK0FsZHJpZGdlL00KK2FsZXdpZmUvTQorQWxleGlhL00KK0FsZXhpcworQWxmb25zby9NCitBbGdlci9NCitBbGdpZXJzCithbGllbmF0aW9uL00KK2FsaW5lbWVudCdzCithbGt5ZC9TCitBbGxhaC9NCithbGwtZGF5CithbGxlZ2F0aW9uL00KK2FsbGVyZ2VuL01TVworYWxsZXl3YXkvTVMKK2FsbGllcy9NCithbGxvY2F0b3IvS1NDCithbGxvdHMvQQorYWxsb3dhYmxlL1AKK2FsbC1zdGFyCitBbGxzdGF0ZQorYWxtcy9tCithbG5pY28KK2Fsb2Z0CithbG9uZworYWxwaW5lL1MKK2FsLVFhJ2lkYS9NCitBbHNhY2UvTQorYWx0ZXJuYXRpb24vTQorQWx0b24vTQorYWx1bW5pCithbHVuZHVtCithbHZlb2x1cy9NCitBTUEKK2FtYW51ZW5zZXMKK0FtYXpvbmlhbgorYW1iZXJncmlzL01TCitBbWRhaGwvTQorQW1oZXJzdC9NCithbWlkZS9NUworYW1pcidzCitBbWlzaC9NCithbW9yYWwKK2Ftb3JwaG91cy9QWQorYW1vcnRpc2UvblNHRAorYW1vcnRpemUvbk5TR0QKK2Ftb3VyL01TCithbXBoaWJpYW4vTVMKK2FtcGhpYm9sb2d5L00KK2FtcGxlL1BUCithbXBsaWZpY2F0aW9uL00KK2FuYXJjaHkvM1d3MVNNCithbmFzdGlnbWF0aWMKK0FuZGFtYW4vTQorYW5lcm9pZAorQW5nbGljYW4vTVMKK0FuZ2xpY2FuaXNtL00KK0FuZ2xpY2lzZS9uU0dECitBbmdsaWNpemUvbk5TR0QKK0FuZ2xvcGhvYmlhL00KK2FuZ3VsYXJpdHkvTVMKK2FuaHlkcm91cy9ZCithbmltYXRlL0RuQVNORworYW5pbWF0ZWQvWQorYW5pc2V0dGUvU00KK2FubmFsZW4KK2FubmloaWxhdG9yL1NNCithbm9yYWsvU00KK2Fub3JleGlhL01TCithbnRlZGlsdXZpYW4vUworYW50aGVtL01kUworYW50aHJvcG9tZXRyaWMvUworYW50aHJvcG9tZXRyeS9XTQorYW50aWJvZHkvTVMKK2FudGljb21wZXRpdGl2ZQorYW50aWRlbW9jcmF0aWMKK2FudGlmb3JtYW50CithbnRpZ2VuaWNpdHkvU00KK0FudGlndWEvTQorQW50aW9jaC9NCithbnRpcGFzdGkKK2FudGlwb2RhbC9TCithbnRpcXVhcmlhbi9NUworYW50aXF1YXJpYW5pc20vTVMKK2FudGlzZXBzZXMKK2FudGlzb2NpYWwvWQorYW50aXRydXN0L00KK2FudHJhbAorYW55d2F5CithcGFjZQorYXBoYXNpYy9TCithcGhpZC9NUworYXBpZWNlCithcG9jcnlwaGEvb00KK2Fwb2dlZS9TTQorQXBvbGxvL00KK2Fwb2xvZ3kvU1E4czlNMworYXBvc3RsZS9NUworYXBvdGhlb3NlcworQXBwaWFuCithcHBsaXF16WQKK2FwcGx5L3ZuTlJHRFNWCithcHByYWlzYWwvQU1TCithcHByYWlzZS9BR1NECithcHByZWNpYXRlL3Z5R1ZETm51UworYXBwcmVoZW5kZWQvYQorYXBwcm9iYXRpb24vTUVTCitBcHIKK2Fwc2lzL00KK2FwdG5lc3MvSVMKK2FxdWFyaWEKK2FxdWljdWx0dXJlJ3MKK2FxdWlsaW5lCitBcmFiaWEvTQorQXJhZmF0L00KK2FyYnV0dXMvTVMKK2FyY2FuZS9ZCithcmNhbmVuZXNzCithcmNoL3lURFJZU1BHTQorYXJjaGFpc3QvTVMKK2FyY2hlcnkvTQorQXJjaGltZWRlcworQXJnZW50aW5lL1NNCithcmdvbi9NCithcmd1YWJsZS9ZSVUKK2FyZ3VtZW50YXRpdmVuZXNzL1MKK2Fyay9NUworYXJtb3VyLXBsYXRlL0QKK2FybXBpdC9NUworQXJuZS9NCithcm91bmQKK2FycmF5L0VHTVNECithcnJoeXRobWlhL1NNCithcnJvd2hlYWQvU00KK2Fyc2VuYXRlL00KK2Fyc2luZS9NUworYXJzb25pc3QKK2FydC82TWpaMzJwUworYXJ0ZXJpb2xhcgorYXJ0ZXNpYW4KK0FydGllL00KK2FydGlmaWNlL29NUlMKK2FydGlsbGVyeS8zbVNNCithcnRpc3QvVzF5Cithc2Jlc3Rvcy9TTQorYXNjZXJ0YWluL0w3U0RHCitBU0NJSQorYXNjcmlwdGlvbi9NCitBc2lhdGljL01TCithc3AvTVdTCithc3BlY3QvTVMKK2FzcGh5eGlhdGUvU0RHCithc3BsZW5pdW0KK2Fzc2FpbC83RFNHCithc3Nhc3NpbmF0aW9uL00KK2Fzc2VtYmxlcy9BCithc3NlbWJsaW5nL0EKK2Fzc2lnbmVlL01TCithc3NpZ25vci9TTQorYXNzb2NpYXRlL0VEU0duTgorYXNzb2NpYXRpdml0eS9TCithc3N1cmFuY2UvU0FNCitBc3N5cmlhL00KK0Fzc3lyaW9sb2d5CitBc3RhbmEvTQorYXN0ZXJpc2svU0RHTQorYXN0aWdtYXRpc20vTVMKK2FzdHJpZGUKK2FzdHJvcGh5c2ljaXN0L1NNCithdC9GCithdGVsaWVyL1NNCitBdGxhbnRhL01XCitBdG1hbi9NCithdG9sbC9NUworYXRvbWljL1kKK2F0b25hbAorYXRvbmFsaXR5L1NNCithdHJpYWwKK2F0dGFjaGVzL0EKK2F0dGVuZC9TUkdECithdHRlbmRhbmNlL01TCithdHRlbnRpb25hbC9ZCithdHRlbnRpdmUvUElZCithdHRlbnVhdGUvR25TRE4KK2F0dGljL01TCithdHRvcm5leS9NUworYXR0cmFjdGl2ZS9VWQorYXR0cmFjdGl2ZW5lc3MvU00KK2F0dHJpYnV0ZS94R1Z2RFMKK2F0dHJpdGlvbi9TTQorYXViZXJnaW5lL01TCitBdWNrbGFuZC9NCithdWRhY2lvdXNuZXNzL1MKK2F1ZGlibHkvSQorYXVkaW8vTQorYXVkaW9tZXRyeS9NCithdWRpdGVkL1UKK2F1ZGl0b3JpdW0vU00KK0F1ZworYXVnbWVudC9ObkRSR1MKK2F1Z21lbnRhdGlvbi9NCithdWd1cnkvU00KK0F1Z3VzdGEvTQorQXVndXN0cworQXVzdHJhbGFzaWEvTQorQXVzdHJhbGlhL00KK2F1dGhvcmlzZWQvQVUKK2F1dGhvcml0YXRpdmUvWVAKK2F1dG9jcmF0L01XUzEKK2F1dG9kaWFsbGVyCithdXRvbWF0YQorYXV0b21vdGl2ZQorYXV0b3JlZ3Jlc3NpdmUKK2F2YWxhbmNoZS9HU01ECithdmF1bnQvUworYXZpdGFtaW5vc2VzCithd2VpZ2gKK2F3ZXMvYworYXdmdWxuZXNzL1MKK2F4ZS9EbU1HUworYXhpYWwvRlkKK0F5ci9NCitiYWJibGUvUkdEUworYmFieXNpdC9SU0cKK2JhY2NoYW5hbC9TTQorQmFjY2hhbmFsaWFuL1MKK2JhY2tmaWVsZC9NUworYmFja2ZpbGwvU0dECitiYWNrbGFzaGVyCitiYWNrc2NhdHRlci9kTVMKK2JhY2tzbGFwcGVyL1NNCitiYWNrc3RvcC9NU0dECitiYWNrd2FyZC9QU1kKK2JhZGUKK2JhaWwvN01ER1MKK2JhaWxleS9TCitiYWlsaWZmL01TCitiYWxhbmNlZC9jQWVVCitiYWxib2EvTVMKK0JhbGVhcmljL00KK2JhbGxpc3RpY3MvTQorYmFsbG9vbi8zUlNNREcKK2JhbHNhL1NNCitiYWxzYW0vZE1TCitiYW5hbGl0eS9TTQorQmFuYnJpZGdlL00KK2JhbmRlYXV4CitiYW5kZWQvRQorQmFuZ2tvay9NCitiYW5pc2gvR1NMRAorYmFubmlzdGVyL1NNCitiYW5xdWV0dGUvTVMKK2JhbnMvVQorYmFuc2hlZS9TTQorYmFudGVyL2tkUworYmFudGVyZXIvTQorYmFwdGlzbS9vU00KK2Jhci9DREVTVUcKK2JhcmJhcm91cy9ZUAorYmFyYmVsbC9NUworYmFyZWJhY2sKK2JhcmdlcG9sZS9NCitiYXJsZXkvTVMKK0JhcnJldHQvTQorQmFycm93LWluLUZ1cm5lc3MKK2JhcnljZW50cmUvTVcKK2Jhcnlvbi9NUworYmFzZWJhbGwvU00KK2Jhc2ViYW5kCitCYXNlbC9NCitiYXNlcy9DCitiYXNoL1NqNkRHCitiYXNpbGFyCitiYXNpbi82TVMKK2Jhc2luZnVsL1MKK2Jhc2luZy9DCitCYXNpbmdzdG9rZS9NCitiYXNzd29vZC9TTQorYmFzdGUvblNOCitiYXRjaGVyCitiYXRodHViL1NNCitiYXRod2F0ZXIKK0JhdG9yL00KK2JhdHRsZXNoaXAvU00KK2JhdWxreS9UUAorYmF5b25ldC9kTVMKK2JheW91L1NNCitCZWEvTQorYmVhZHkvVAorYmVhZ2xlL0RHU00KK2JlYXJpc2gvWVAKK0JlYXVqb2xhaXMKK2JlYXV0aWZ5L1dOUlNEbkcKK2JlY2F1c2UKK2JlZGF6emxlL0RMU0cKK2JlZGJ1Zy9TTQorYmVkcm9jay9TTQorYmVkc3ByZWFkL01TCitCZWR3b3J0aC9NCitCZWV0aG92ZW4vTQorYmVmdWRkbGUvTFNERworYmVnb25pYS9TTQorYmVncmltZS9TREcKK2JlZ3J1ZGdlL0dEU2sKK0JlaWppbmcvTQorYmVpbmcvU00KK2JlbGFib3VyL0RHU00KK2JlbGF0ZS9EaWgKK2JlbGllZidzL1UKK2JlbGlldmluZy9VCitiZWxpdHRsZS9HTERTCitiZWxsYm95L1NNCitiZWxsLWhvcCdzCitiZWxsLXJpbmdlci9TCitiZWxsd2V0aGVyL01TCitCZWxtb250L00KK2JlbHRlZC9VCitCZWx0b24vTQorYmVsdHdheS9TTQorYmVuZWRpY3RvcnkKK2JlbmVmYWN0b3IvU00KK2JlbmlnbmFudAorYmVyaWJib25lZAorQmVybWFuL00KK0Jlcm5hcmQvTQorQmVybmhhcmQvTQorYmVyc2Vyay9TCitCZXJ3aWNrL00KK2JlcnlsL01TCitiZXJ5bGxpdW0vTQorYmVzcGF0dGVyL2RTCitiZXNwZWFrL0dTCitiZXN0aWFsL1kKK2Jlc3RyaWRlL1NHCitiZXQvTVJHU0QKK0JldGgvTQorQmV0aGFueS9NCitCZXRzZXkvTQorYmV0d2Vlbi9QUworYmV3aWdnZWQKK2JpY2FyYm9uYXRlL01TCitiaWQvUk1aZEdKUworYmlkZXQvU00KK2JpZm9jYWwvUworYmlnZ2lzaAorYmlnb3QveWRTTQorYmlsZ2UvREdNUworYmlsaW5ndWFsaXNtL01TCitiaWxsYm9hcmQvU0dETQorQmlsbGllL00KK2Jpb3BoeXNpY3MvTQorYmlyZGhvdXNlL1NNCitiaXJkaWVpbmcKK2JpcmRzZWVkL1NNCitCaXJnaXQvTQorQmlyby9NCitCaXNjYXkvTQorYmlzZXJpYWwKK0Jpc2hrZWsvTQorYmlzaG9wL2RTTQorQmlzbWFyY2svTQorYml0Y2gvR1pEU3oyTQorQklUTkVUCitiaXR0ZW4KK2Jpd2Vla2x5L1MKK2JpeWVhcmx5CitibGFiYmVyL2QKK2JsYWNrLWhlYXJ0ZWQKK2JsYWNramFjay9NU0RHCitibGFtZXdvcnRoaW5lc3MvUworYmxhbmsvUERHU1RZCitibGFzdGluZy9NCitibGFzdG9mZi9TTQorYmxhdGFudC9ZCitibGVhdGVyL00KK2JsZW5kL1JHU0QKK2JsZXNzaW5nL00KK2JsZXcKK0JsaWdoL00KK2JsaXAvREdNUworYmxpdGhlL1lUUAorYmxpdHovR1NETQorYmxpdHprcmllZy9TTQorYmxvY2tidXN0aW5nL00KK0Jsb2VtZm9udGVpbi9NCitibG9vZC1sZXR0aW5nL1NNCitibG9vZHN0YWluL0RNUworYmxvb2RzdHJlYW0vU00KK2Jsb3Nzb215CitibG93LXVwL1NNCitibHVmZm5lc3MvUworYm9hci9NUworYm9hcmQvUk1HRFNKCitib2FzdGZ1bG5lc3MvUworYm9idGFpbC9TTUdECitib2RraW4vTVMKK2JvZHktY29sb3VyCitib2R5LXBpZXJjaW5nCitib2cvR0RNWlMKK2JvaGVtaWFuL1MKK2JvbGEvU00KK2JvbGVyby9NUworYm9sdGVyL00KK0JvbHR6bWFubi9NCitib25kYWdlL01TCitCb25pZmFjZS9NCitib25pbmVzcy9TCitib25zYWkvTQorYm9va2luZy9NCitib29rc2hvcC9NUworYm9vdGgvTVMKK0Jvb3RsZS9NCitib290bGVnZ2luZy9NCitib296eS9UCitib3AvUkdEUworQm9yZWFsaXMKK0JvcmlzL00KK2Jvcm4tYWdhaW4KK2Jvcm9zaWxpY2F0ZS9NCitCb3NlL00KK0JvdGhhbS9NCitib3R0b21tb3N0Citib3R1bGludXMvTQorYm91ZG9pci9NUworYm91dG9ubmnocmUvU00KK2JveHkvVAorYm95L01TCiticmFjaGlhCiticmFjdC9NUworQnJhaWxsZS9NCiticmFpbi1kZWFkCiticmFtYmxpbmcvTQorQnJhbm5vbi9NCiticmFzc2luZXNzL1MKK2JyYXZhZG8KK2JyYXZlL0RZeVRHUFMKK2JyYXZlcnkvU00KK2JyYXZlc3QvTQorYnJlYWthZ2UvTVMKK2JyZWFrdGhyb3VnaC9NUworYnJlYWstdXAvUworYnJlYWt3YXRlci9TTQorYnJlYXN0Ym9uZS9TTQorYnJlY2NpYXRlZAorYnJlZWNoLWxvYWRlZAorQnJldG9uL00KK2JyaWRlL1NNCitCcmlkZ2V0L00KK0JyaWRnbm9ydGgvTQorYnJpZGxlL01HU0QKK2JyaWdhZGUvR0RTTQorYnJpZ2FuZGFnZS9TTQorYnJpZ2FudGluZS9TTQorQnJpZ2h0b24vTQorYnJpbmttYW5zaGlwL01TCiticm9hZGNhc3QvU0FSRworYnJvYWRsb29tL01TCiticm9hZG5lc3MvUworYnJvaWwvR1JTRAorYnJva2VyL2QKK2Jyb2tlcmFnZS9NUworYnJvbWlkZS9TTVcKK2Jyb25jaHVzL00KK2Jyb29kL0dNMlpSU0RrCiticm91Z2hhbS9TTQorYnJvd25pc2gKK2Jyb3dzL1NEUkJHCiticnVpdC9TCiticnVzcXVlbmVzcy9TCitCcnluL00KK2J1Y2NhbmVlci9HRFNNCitidWNrZXIvTQorYnVja21pbnN0ZXJmdWxsZXJlbmUKK2J1Y2tzYXcvTVMKK2J1Y29saWMvWVMKK2J1ZmZlci9yZAorYnVmZmxlaGVhZC9NCitidWZmb29uaXNoCitidWlsZC9SR0pTCitCdWxnYXJpYW4vTVMKK2J1bGd5L1QKK2J1bGtlcgorYnVtcGtpbi9NUworYnVuaW9uL1NNCitidW95YW50L1kKK2J1cmRlbmVkL1VjCitidXJkb2NrL01TCitidXJnL1JTTQorYnVyZ2xlL1NERworYnVyaWFsL1NBTQorQnVybGluZ3Rvbi9NCitidXJuZWQvVQorYnVybmlzaC9SU0dECitidXJudG5lc3MKK2J1cnAvTURTRworYnVyeS9BRFNHCitidXMvTUFTCitCdXNjaC9NCitidXNoaW5lc3MvUworYnVzaGxhbmQKK2J1c2h3aGFja2luZy9NCitidXNpbmVzcy9tNVMKK2J1c2luZXNzbGlrZQorYnVzaW5lc3NwZXJzb24vUworYnVzeXdvcmsvU00KK2J1dHRvbmhvbGVyL00KK0J1eHRlaHVkZS9NCitidXp6d29yZC9TTQorYnkKK2J5LWVsZWN0aW9uL1MKK0J5cm5lL00KK2Mvbk4KK2NhYi9HTURYVlNOCitjYWJsZWdyYW0vU00KK2NhY3R1cy9NUworY2FlY3VtL00KK0NhZXNhcgorY2FnaWVzdAorY2Fob290L01TCitDYWlzb3MKK2Nham9sZS9STHlEU0cKK2NhbGNpdGUvU00KK0NBTENPTVAKK0NhbGRlcgorY2FsZGVyYS9TTQorY2FsZHJvbidzCitjYWxlbmRlci9kTVMKK2NhbGlicmF0ZS9TQUdETgorY2FsaWJyYXRlcidzCitjYWxpY28vTQorY2FsbGEvU00KK2NhbGxiYWNrL1MKK2NhbGxpcGVyL1NNCitjYWxsb3duZXNzL1MKK2NhbGxzL2FBCitjYWxvcmllL1NNCitjYWxvcmlmaWMKK2NhbHljZXMncworQ2FtYmVybGV5L00KK0NhbWRlbi9NCitjYW1lbGhhaXIncworQ2FtcGJlbGxzcG9ydAorY2FtcC1zaXRlL1NNCitjYW1wdXMvTVMKK0NhbmFhbi9NCitjYW5pbmcvTQorY2FubmluZXNzL1MKK2Nhbm5vbi9kU00KK2Nhbm9uaWNhbC9ROHEtCitjYW4ndAorY2FudGVkL0FJCitjYW52YXMvTVJHRFMKK2NhcG9uL1NNCitjYXBwdWNjaW5vL1NNCitjYXBzLzgKK2NhcHN1bGFyCitjYXB0YWluY3kvTVMKK2NhcHRpb25lcgorY2FwdGl2YXRlL1NERworY2FyYm95L01TCitjYXJidW5jbGUvRFNNCitjYXJkLWNhcnJ5aW5nCitjYXJkaW9pZC9NCitjYXJpYm91L00KK0Nhcm1lbi9NCitjYXJuYWwvWQorY2Fybml2YWwvU00KK2Nhcm9sLXNpbmdpbmcKK0NhcnBhdGhpYW4vUworY2FycGVudHJ5L1NNCitjYXJyYWdlZW4vTQorY2FycmllZC9hCitjYXJyb3QvTVMKK2NhcnNpY2svUAorQ2Fyc29uCitjYXJ0L1JNRDZHUworY2FydGxvYWQvTVMKK2NhcnlhdGlkL1NNCitDYXJ5cworY2FzZWQvVQorQ2FzZXkvTQorQ2Fzc2VscworY2FzdGVyL25OCitjYXN0cy9hQWUKK2Nhc3VhbG5lc3MvUworY2F0L00yWnpER1MKK2NhdGFsZXBzeS9NUworY2F0Y2gtYWxsL1NNCitjYXRjaHBocmFzZS9TCitjYXRlY2hpc20vTVMKK2NhdGhhcnNpcy9NCitjYXRoZWRyYWwvU00KK0NhdGhlcmluZQorQ2F0aHkKK0NhdWNhc29pZAorY2F2aWwvU0RSR0oKK2NjCitjZWxhbmRpbmUvU00KK2NlbGVicmF0ZWRuZXNzL00KK2NlbGxhci9kTVMKK2NlbGx1bG9pZC9NUworY2VudGF1ci9NUworY2VudGltZS9TTQorY2VudHVyaW9uL1NNCitDZXBoYWxvY2hvcmRhdGEKK0NlcGhhbG9wb2RhCitjZXJhbWljLzNNUworY2VyZWJlbGxhcgorY2VyZWJyYS9ubworY2VyaXNlL01TCitjZXJpdW0vTQorY2VybWV0L1NNCitjZXJ0aWZpY2F0aW9uL01DQQorY2VydGlvcmFyaS9NCitjZXNzaW9uL0ZNQUsKK0NGTworY2hhL1d5CitjaGFsa2JvYXJkL01TCitjaGFtbXkncworQ2hhbmNlbGxvcnNoaXAvUworY2hhbmNlcy9hCitjaGFuY2luZXNzL1MKK2NoYW5kZWxpZXIvTVMKK2NoYW5zb24vU00KK2NoYXBib29rL01TCitDaGFwbWFuCitjaGFyYWN0ZXIvc1E5OHQrZHBxNi1NUworY2hhcml0YWJsZS9VWQorY2hhcmxhdGFuaXNtL1NNCitjaGFzbS9TTQorY2jidGVsYWluZS9NUworY2hhdWZmZXVyL0RTTUcKK2NoZWNrbWF0ZS9NRFNHCitjaGVja291dC9TCitjaGVja3N1bS9HTVNECitjaGVlay8yR016RFpTCitjaGVla2luZXNzL1MKK2NoZWVybGVhZGVyL1NNCitjaGVsYXRlL0RuTU5HCitjaGVtb3N5bnRoZXNpcworY2hlbXVyZ3kvU00KK2NoZXF1ZS9SU00KK2NoZXJ0L1NNCitjaGVydWIvU01XCitDaGVyeWwvTQorY2hldmFsaWVyL01TCitjaGV3L0dSWjJTN0QKK2NoaWNrZW5mZWVkCitjaGlja2VucG94L1NNCitjaGlsZC9wTQorY2hpbGRsaWtlL1AKK0NoaW5hL01tCitjaGluZS9TTQorY2hpcC9HTUpaRFMKK2Nob2lyL0dTRE0KK2Nob2xlcmEvTVNXCitjaG9tcC9TREcKK0Nob3BpbgorY2hvcHBpbmVzcy9TCitjaG9wcHkvVFAKK2Nob3JhbGUvTVMKK2Nob3Jlb2dyYXBoeS9NUworY2hvc2UKK0NocmlzdC9NCitjaHJvbWF0aWNzL00KK2Nocm9tYXRvZ3JhcGgvWlcKK2Nocm9taXVtL1NNCitjaHJvbW9zb21hbAorY2hyb25vZ3JhcGgvWlNNCitDaHJ5c2xlcgorY2h1bS8yRHpNWlNHCitjaHVua3kvVFAKK2NodXJjaGdvaW5nL1NNCitjaW5jaG9uYS9TTQorY2lyY2xlci9NCitjaXJjdWl0L01kUworY2lyY3VpdGFsCitjaXJjdWl0cnkvTVMKK2NpcmN1aXR5L1NNCitjaXJjdWxhbnQKK2NpcmN1bWNpc2VkL1UKK2NpcmN1bWNpc2VyL00KK2NpcmN1bWZsZXgvRFNHTQorY2wvR0oKK2NsYWlydm95YW50L1NZCitjbGFuZy9EUkdTCitDbGFyYQorQ2xhcmVuY2UKK2NsYXNzaW5lc3MvUworY2xhc3NpbmcvZQorY2xhdXN0cm9waG9iaWMKK2NsZWFyYW5jZS9NUworQ2xlbWVudC9TTQorQ2xpbmUKK2NsaW5vbWV0ZXIvU0lNCitjbGlvbWV0cmljaWFuL1MKK2NsaXBib2FyZC9TTQorQ2xpdmVkZW4KK2Nsb2FrLWFuZC1kYWdnZXIKK2Nsb2FrZWQvVQorY2xvaXN0ZXIvTWRTCitjbG9zZS1jcm9wcGVkCitjbG9zZXIvRVNNCitjbG90aGVzbGluZS9TR0RNCitjbG90aGVzbWFuCitjbG91ZGxlc3MvUFkKK2Nsb3VkeS9UUAorY2xvd24vU0RHTQorY2x1YmJpbmcvTQorY2x1YmhvdXNlL01TCitjbHVuay9EUk0yR3paUworY29hY2hsb2FkcworY29hbGVyL00KK2NvYWwtZmlyZWQKK2NvYWxpdGlvbmlzdAorY29hcnNlL1RQWQorY29hc3RhbAorY29hc3RsaW5lL01TCitjb2NhaW5lL1NNCitjb2NrLWEtaG9vcAorY29ja2F0b28vU00KK2NvY2twaXQvTVMKK2NvY2tyb2FjaC9TTQorY29jay1zaHkKK2NvZGUvQ0RhQUdTCitjb2RlYm9vay9TCitjb2RlYnJlYWsKK2NvZGVicmVha2VyCitjb2RlbmFtZS9ECitjb2RwaWVjZS9NUworY29ldmFsL1NZCitjb2dlbnQvWQorY29naXRhdGlvbi9NCitjb2duaXRpb24vQU1LUworY29nbm9zY2VudGkKK2NvaWwvVVNBREcKK0NvaW50cmVhdQorY29pdGFsL1kKK2NvbGQtYmxvb2RlZG5lc3MKK2NvbGRpc2gKK2NvbGRuZXNzL1MKK0NvbGUvTQorY29sZXVzL01TCitjb2xsYWJvcmF0aXZlL1MKK2NvbGxlY3RpYmxlL1MKK2NvbGxlZ2lhbAorY29sbG9xdWl1bS9TTQorY29sbG9xdXkvTW8KK2NvbG9yYXR1cmEvU00KK0NvbG9zc2V1bQorY29sb3N0b215L1NNCitjb2xvdXItY29kZS9ECitjb21hZQorY29tYmF0L3ZWdQorY29tYmVkL1UKK2NvbWJ1c3RpYmlsaXR5L1NNCitjb21lL1JJR0pTCitjb21lZGlhbi9TTQorY29tZm9ydGFibGVuZXNzL1MKK2NvbWZ5L1QKK2NvbW1lbW9yYXRlL05EdlNWR24KK2NvbW1lbW9yYXRvci9TCitjb21tZXJjaWFsL3FROFMtCitjb21tZXJjaWFsbmVzcworY29tbWlzZXJhdGUvVk5uREdTCitjb21taXNzaW9uL0NSRFNHCitjb21tb25seS9VCitjb21tb25wbGFjZS9QCitjb21tb25zL00KK2NvbW1vbi1zZW5zZQorY29tbXVuaWNhYmlsaXR5L1NNCitjb21tdW5pY2FibGUvSQorY29tbXVuaWNhdGVkL2EKK2NvbXBhbmlvbi9ERzdsTVMKK2NvbXBlbmRpYQorY29tcGVuc2F0ZWQvVQorY29tcGVuc2F0b3IvTQorY29tcGxhaW5hbnQvU00KK2NvbXBsaWFuY2UvU00KK2NvbXBsaWNhdG9yL01TCitjb21wb3NpdGlvbi9DTQorY29tcHJlaGVuc2lvbi9JTVMKK2NvbXByZWhlbnNpdmVuZXNzL1MKK2NvbXByZXNzL1h2TlZoeGIKK2NvbXB1dGVkL0FLCitjb21wdXRpbmcvQQorY29uY2VkZS9SaAorY29uY2VpdmVyL00KK2NvbmNlcHR1YWxpdHkvTQorY29uY2VydG8vU00KK2NvbmNocworY29uY2lsaWFyCitjb25jbHVzaW9uL00KK2NvbmNvcmRhbnQvWQorY29uY3JldGUvR1BZTkRTbk0KK2NvbmN1YmluYWdlL1NNCitjb25jdXBpc2NlbnQKK2NvbmN1c3Npb24vTQorY29uZGVzY2VuZC9OWGsKK2NvbmRpdGlvbmFsbHkvVQorY29uZGl0aW9uJ3MvSworY29uZG9sZW5jZS9NUworY29uZHVjaXZlL1AKK2NvbmR1Y3RhbmNlLzQKK2NvbmR1Y3RpYmlsaXR5L01TCitjb25kdWN0b3IvU00KK2NvbmR1Y3RyZXNzL01TCitjb25leSdzCitjb25mYWJ1bGF0aW9uL00KK2NvbmZlZGVyYXRlL00KK2NvbmZlcmVlL01TCitjb25maWRlbnRpYWwvUFkKK2NvbmZpbmVyL00KK2NvbmZpcm1lZC9QWQorY29uZmxhZ3JhdGlvbi9TTQorY29uZnLocmUvU00KK2NvbmZyb250L05SbngKK0NvbmZ1Y2lhbgorY29uZnVzYWJsZQorY29uZnV0YXRpb24vTQorY29uZnV0ZXIvTQorY29uZ2VzdGVkL1UKK2NvbmdyZWdhdGUvR05uU0QKK2Nvbmp1Z2FjeQorY29uanVnYXRlbmVzcworY29uanVuY3RpdmUvUworY29uanVyYXRpb24vTQorY29ubmVjdGl2aXR5L1NNCitjb25zZW50L1NSR2tECitjb25zZXJ2YXRpdmUvUFMKK2NvbnNpZ25zL0EKK2NvbnNpc3QvU0dECitjb25zaXN0ZW50L0lZCitjb25zb2xlL1JOa243Citjb25zb25hbmNlL0lNCitjb25zcGlyYWN5L1NNCitjb25zdGFudC9JWQorY29uc3RlbGxhdGlvbi9NUworY29uc3RpdHVlbmN5L01TCitjb25zdGl0dXRlL0RBU0cKK2NvbnN1bHNoaXAvU00KK2NvbnN1bHRlZXMnCitjb25zdW1hYmxlL1MKK2NvbnN1bWVyLzMKK2NvbnN1bW1hdGVkL1UKK2NvbnN1bXB0aXZlL1MKK2NvbnRhbWluYXRlL05WR0RuUworY29udGFtaW5hdGlvbi9NQ1MKK2NvbnRlbXBvcmFuZW91cy9QWQorY29udGVtcHRpYmxlL1kKK2NvbnRpbmVuY2UvSU1TCitjb250b3J0L1ZERworY29udHJhZGljdC9TR3lECitjb250cmFsdG8vU00KK2NvbnRyYXBvc2l0aXZlL1MKK2NvbnRyYXB1bnRhbC9ZCitjb250cmFyaXdpc2UKK2NvbnRyb2xsYWJpbGl0eS9NCitjb252ZW5pZW50L1lJCitjb252ZW50aW9uYWxpc3QKK2NvbnZlcnNhbnQvWQorY29udmVyc2F6aW9uZS9NCitjb252ZXJ0L1JTYkRHCitjb252ZXgvWQorY29udmljdGlvbi9NUworY29udmluY2luZy9VWQorY29udm9sdXRpb24vQworY28tb3BlcmFudAorY28tb3BlcmF0aXZlL1NQCitjb290aWUvTVMKK2NvcGF5L1MKK2NvcGxhbmFyCitDb3BsYW5kCitjb3Byb2xpdGUvTQorY29yYWxsaW5lCitDb3JiaWUKK2NvcmRhZ2UvTVMKK2NvcmRvbi9kU00KK2NvLXJlbGlnaW9uaXN0CitDb3JmdS9NCitjb3JrZWQvVQorY29ybmZpZWxkL01TCitjb3JuZmxvdXIvTQorY29ybm1lYWwKK2Nvcm9sbGFyeS9TTQorY29yb25hcnkvUworY29yb25lci9NUworY29ycHMvU00KK0NvcnJpZ2FuCitjb3JydXB0aW9uJ3MvSQorY29yc2FnZS9NUworY29yc2V0L2RTTQorY29ydOhnZS9TTQorY29ydGV4L00KK0Nvc3RhCitjb3RhbmdlbnQvU00KK0NvdHN3b2xkL00KK2NvdHRvbndvb2QvU00KK2NvdHRvbnkKK0NvdWx0aGFyZAorY291bnNlbC9NREpHUworY291bnRlbmFuY2VyL00KK2NvdW50ZXJhcmd1bWVudC9TTQorY291bnRlci1lc3Bpb25hZ2UvU00KK2NvdW50ZXJmb3JjZS9NCitjb3VudGVyLW9mZmVuc2l2ZS9NUworY291bnRlci1yZXZvbHV0aW9uL3lTTQorY291bnRlci1yZXZvbHV0aW9uYXJ5L01TCitjb3VudGVyLXRlbm9yL1NNCitjb3VudGVyd2VpZ2h0L0dNU0QKK2NvdW50aW5nL0VhCitjb3VudHMvQWFFZgorY291cGxlZC9VCitjb3VyaWVyL01HRFMKK2NvdXJ0bGluZXNzL1MKK2NvdmUvUkRHTVMKK2NvdmVuYW50ZXIvTQorY292ZXJhZ2UvU00KK2NvdmV0b3VzbmVzcy9TCitjb3ctcGF0L1NNCitjcmFja3BvdC9NUworY3JhZnRlcgorY3JhZnRzcGVvcGxlCitjcmFmdHNwZXJzb25zCitDcmFuZmllbGQvTQorY3JhdmVyL00KK2NyYXcvWVNNCitjcmF3bC9TUkRHCitjcmF5ZmlzaC9TR0RNCitjcmVhbS9aRFJTMnpNRworY3JlYW15L1BUCitjcmVhdGl2ZW5lc3MvUworY3JlYXRvci9TTQorY3JlZGlibHkvSQorY3JlZG8vTVMKK2NyZWVkL1NNCitjcmVlZGFsCitjcmVuZWxhdGlvbi9NCitjcmVvbGUvTVMKK2Ny6nBleQorY3JlcHQKK2NyZXNjZW50L01TCitDcmVzdHZpZXcKK0NyZXRlCitjcmltaW5vbG9neS8zd01TCitjcmltc29uL1NNZAorY3JpbmdlL0dTRAorY3Jpc3MKK2NyaXRpcXVlL01HU0QKK2Nyb2NoZXQvZEpTWnIKK2Nyb2NvZGlsZS9NUworY3JvY3VzL01TCitjcm9pc3NhbnQvU00KK2Nyb3F1ZXR0ZS9NUworY3Jvc3NmaXJlL01TCitjcm9zc2luZy9NUworY3Jvc3Nwb2ludAorY3Jvc3Mtc2VjdGlvbmFsCitjcm/7dG9uL1NNCitjcm93YmFpdAorY3Jvd2QvY1NERworY3Jvd2ZlZXQKK2NydWRlbmVzcy9TCitjcnVkaXTpcworY3J1bWJseS9UUAorY3J1dGNoL1NER00KK2NydXgvTQorY3J5YmFieS9NUworY3J5b2dlbmljL1MKK2NyeXB0b2dyYXBoeS9XMVNNCitDcnlwdG96b2ljCitjcnlzdGFsbGluZS9TCitjdWJpYy9TCitjdWJpdC9TTQorY3VsL0RHCitjdWxsL1MKK0N1bGxlbi9NCitjdWxtaW5hdGlvbi9NCitjdWxwYS9TTQorY3VscGFibGUvWVAKK2N1bHRpdmFibGUKK2N1bHRpdmF0YWJsZQorY3VtYmVyc29tZW5lc3MvUworY3VtYnJvdXMKK2N1bWluL1NNCitDdW1taW5ncworY3VtdWx1cy9NCitjdXBib2FyZC9NUworY3Vwb2xhL0RTR00KK2N1cmF0b3JzaGlwcworY3VyaW9zaXR5L1NNCitjdXJpb3VzbmVzcy9TCitjdXJsZXcvU00KK2N1cmxpY3VlL1NETUcKK2N1cmx5L1BUCitDdXJyYW4vTQorY3Vyc29yeS9LCitjdXJ2ZS9TWkdETQorY3VzaHkvVAorY3Vzc2VkL0VGCitjdXRsZXJ5L01TCitjeWFuaWRlL1NNR0QKK2N5Y2xvaGV4YW5vbAorY3lsaW5kZXIvd1MxTQorY3luaWNhbAorY3lwaGVyL2RTTQorY3phcmV2aXRjaC9NCitkYWQvTVpTCitkYWZmb2RpbC9TTQorRGFndWVycmUKK2RhaW50eS9UU1lQCitkYWlyeWxhbmQKK2RhaXMvU1pNCitEYWxleS9NCitkYW0vTURHUworZGFtYWdlYWJsZQorRGFyY3kvTQorZGFya25lc3MvUworRGFybGVuZQorZGFybGluZy9QTVMKK2Rhcm5lZGVzdAorRGFyeWwvTQorZGF0YWJhc2UvRE1HUworZGF1Z2h0ZXIvWU1TCitkYXVnaHRlcnMtaW4tbGF3CitEYXZpZQorZGF5Y2FyZS9TCitkYXktdG8tZGF5CitkYXplL0RpU0doCitEQ0IKK2RlYWNvbmVzcy9TTQorZGVhZGJvbHQvUworZGVhZGxvY2svTUdTRAorZGVhZmVuaW5nL00KK2RlYW4vTUdECitkZWFuZXJ5L1NNCitEZWFyaW5nL00KK2RlYXRoLWtuZWxsCitkZWF0aGxlc3MvWQorZGVhdGgtdG9sbC9NCitkZWJhdWNoZXJ5L1NNCitkZWJpbGl0YXRpb24vTQorZGVib25haXIvUFkKK0RlYnVzc3kvTQorZGVjYWRlL1NNCitkZWNhZGVudC9ZCitEZWNlbWJlci9TTQorZGVjaWxpdHJlL01TCitkZWNpbWV0cmUvTVMKK2RlY2lzaW9uLW1ha2luZworZGVjbGFyYXRvci9TTQorZOljbGFzc+llCitkZWNvbXBvc2FibGUvSQorZGVjb3JhdGlvbi9BU00KK2RlY29yYXRpdmUvUAorZGVkaWNhdGlvbi9NCitkZWRpY2F0b3IvTVMKK2RlZWpheS9HRFNNCitkZWVwL1RQWVMKK2RlZXAtZnJvemVuCitkZWVwLXJvb3RlZAorZGVmZW5kL1Z1dgorZGVmaW5lL0tTREFHCitkZWZpbml0aXZlL1NQCitkZWZvcm0veG5SN0dOCitkZWZvcm1pdHkvU00KK2RlZnRuZXNzL1MKK0RlS2FsYgorZGVsZWdhYmxlCitkZWxldGUvTkRuU0cKK2RlbGV0aW9uL00KK2RlbGliZXJhdGVuZXNzL1MKK2RlbGlnaHRmdWwvUAorZGVsaW5xdWVudC9ZU00KK2RlbGlyaW91cy9QWQorZGVsdXNpb24vTQorZGVsdmUvUlNERworZGVtZWFub3VyCitk6W1vZOkKK2RlbW9ub2xvZ3kvTQorZGVtb25zdHJhdGl2ZW5lc3MvTVMKK2RlbXVyZW5lc3MvUworZGVub21pbmF0ZS94CitkZW5zaXRvbWV0cnkvTQorZGVudGlzdC9NU3kKK2RlbnkvRFI3a0dTCitkZW94eXJpYm9udWNsZWljCitkZXBhcnRtZW50L28KK2RlcGFydHVyZS9TTQorZOlwYXlz6QorZGVwZW5kYWJpbGl0eS9NUworZGVwZW5kYWJsZS9QCitkZXBsb3Jlci9NCitkZXByYXZlZC9QCitkZXByZXNzYW50L1MKK2RlcHJlc3Nvci9NUworZGVyaXNpb24vTQorZGVybWF0aXRpcy9NUworZGVyb2dhdGlvbi9NCitEZXJyeQorZGVzY2VuZGVudAorZGVzY3JpcHRpb24vTQorZGVzY3JpcHRvci9TTQorZGVzZXJ0aWZpY2F0aW9uCitkZXNpZ25hdGlvbi9NCitkZXNpcmUvQlJsCitEZXNtb25kL00KK2Rlc29sYXRpb24vTQorZGVzcGF0Y2gvR0RTCitkZXNwb25kZW5jZS9TWgorZGVzdHJ1Y3RpYmxlL0kKK2Rlc3VsdG9yeS9ZUAorZGV0YWNoL0dSU2lMaEQ3CitkZXRlY3RlZC9VCitkZXRlY3Rvci9TTQorZGV0ZXJpb3JhdGlvbi9NCitkZXRlcm1pbmFjeS9JCitkZXRlcm1pbmFudC9NUworZGV0ZXJtaW5lZC9QCitkZXRlcm1pbmVyL0tNUworZGV0b25hdGVkL1UKK2RldG94L1NHRAorZGV0cml0dXMvTQorRGV1dHNjaAorZGV2YXN0YXRlL0ROU25rVkcKK2RldmFzdGF0aW9uL00KK2RldmlhbmNlL01TWgorZGV2aWF0aW9uL00KK2RldmlsaXNoL1BZCitkZXZpb3VzL1lQCitEZXdleQorZGV3eS9UUAorRGhha2EvTQorZGhvdGkvTVMKK2RpYWJldGVzL00KK2RpYWdub3NlL0RHYVMKK2RpYWdub3Npcy9hCitkaWFsZWN0L3dXU28xTQorZGlhbQorZGlhcnJob2VhL1NNVworZGlhc3BvcmEKK2RpY2UvRG5TR04KK2RpY2hvdG9tb3VzL1kKK0RpY3RhcGhvbmUKK2RpZGFjdGljL1NZCitkaWRhY3RpY3MvTQorRGlkZXJvdAorRGlkby9NCitkaWZmZXIvU2QKK2RpZmZpZGVuY2UvTVMKK2RpZ2VzdGliaWxpdHkvU00KK2RpZ2l0L3EtczlTUThNCitkaWduaWZpZWQvVQorZGlncmFwaC9TTQorZGlncmVzcy91TnZEU0dYVgorZGlrdGF0L1NNCitkaWxlbW1hL1NNCitkaW1lbnNpb24vREdwTW9TCitkaW1pbnVlbmRvL01TCitkaW5naHkvTVMKK2Rpb3B0cmUvU00KK2Rpb3hpZGUvU00KK2Rpb3hpbi9TCitkaXBsb21hdC8zTVMKK2RpcHN0aWNrL01TCitkaXJuZGwvU00KK2Rpc2J1cnNhbC9TCitkaXNjaXBsaW5hcnkKK2Rpc2NsYWltLzcKK2Rpc2NvdGjocXVlL01TCitkaXNjcmVldC9QSVkKK2Rpc2N1c3MvTjdYCitkaXNmaWd1cmUvTAorZGlzaGNsb3RoL01TCitkaXNpbGx1c2lvbi9MREcKK2Rpc2ludGVyZXN0ZWQvUAorRGlzbmV5bGFuZAorZGlzcGVyc2l2ZS9QCitkaXNwaXJpdGVkL1kKK2Rpc3B1dGFibHkvSQorZGlzcHV0YW50L01TCitkaXNydXB0b3IvTQorZGlzc2VudC9SR0RTCitkaXNzb2x1YmxlL0kKK2Rpc3NvbHZlL0FHRFMKK2Rpc3NvbHZlZC9VCitkaXN0YXN0ZWZ1bG5lc3MvUworZGlzdGVuZC9YTgorZGlzdGlsbGF0aW9uL00KK2Rpc3RyYXVnaHQvWQorZGlzdHJpYnV0YWJsZQorZGlzdHJpYnV0aW9uL0FTTQorZGlzdHJpYnV0aW9uYWwKK2Rpc3R1cmJlZC9VCitkaXZhL1NNCitkaXZhbGVudC9TCitkaXZlcmdlbmNlL01TCitkaXZlcnMvTlgKK2RpdmVyc2lvbi9NeQorZGl2aWRhYmxlCitkaXZpc2l2ZW5lc3MvUworZG9iYmluL01TCitkb2N1bWVudGF0aW9uL00KK2RvZGRlci9kU1oKK2RvZGVjYWhlZHJhCitkb2RneS9UCitkb2ctY2x1dGNoCitkb2ctY29sbGFyL1NNCitkb2dnZWQvUAorZG9nbWF0aWNzJ3MKK2RvZ3MvZgorZG9pbmcvYVMKK2RvbWFpbi9NUworZG9taW5hdGUvS05EU0cKK0RvbWluaWNhL00KK0RvbWluaWNhbi9TTQorZG9uJ3QKK2RvcGEvU00KK0RvcmlhbgorZG9yay9aUworZG9ybWFuY3kvU00KK2Rvcm1pdG9yeS9TTQorRG9yc2V0L00KK2Rvc3MtaG91c2UKK2RvdC9NMlpkRGtyR1MKK2RvdWJsZS1nbGF6ZWQKK2RvdWJsZW5lc3MKK2RvdWJsZXMvQQorZG91Ymxvb24vTVMKK2Rvd2FnZXIvTVMKK2Rvd2VsL0RTR00KK2Rvd25mYWxsL1NNCitkb3ducGxheS9ER1MKK2Rvd25yYW5nZQorZG96ZXIvTQorZHJhYm5lc3MvUworZHJhZ2dlci9NCitkcmFpbmFnZS9TTQorZHJhaW5pbmctYm9hcmQvU00KK2RyYWlucGlwZS9NUworZHJhbS93MVNNVworZHJhbWF0aWNzL00KK2RyYXBlL1JTREd5CitkcmF1Z2h0c3BlcnNvbgorZHJhd2JhY2svU00KK2RyYXdlZS9NUworZHJhd3MvZWNBCitkcmVhbWxhbmQvU00KK2RyZXNzeS9UUAorZHJpcC1kcnkKK2RyaXp6bGUvR0RTTWtZCitkcm9ndWUvTVMKK2Ryb21lZGFyeS9TTQorZHJ1ZGdlL2t5TVNERworZHJ1bXN0aWNrL1NNCitEcnlkZW4KK2R1Y2h5L01TCitkdWNrL0dEWlNNSgorZHVjdC9DRElTR0YKK2R1ZS9Nb1BTCitkdWVsL1JNREdKUworZHVnb3V0L1NNCitkdW1iZm91bmQvU0dECitEdW1vbnQKK2R1bXAvRFIyR1pTCitkdW4vVERHUworZHVuY2UvU00KK2R1bmRlcmhlYWQvU00KK2R1cmFiaWxpdHkvU00KK0R1cmV4CitkdXN0aW5lc3MvUworZHV4ZXMKK2R3ZWxsaW5nL00KK2R3aW5kbGUvU0dECitkeWJidWsvU00KK2R5ZWluZy9NCitkeWtlL1NNCitkeXNsZXhpYS9TTQorZHlzcGVwc2lhL1NNCitkeXNwZXB0aWMvUworZWFyYWNoZS9NUworZWFybmVzdG5lc3MvUworZWFybmluZy9NCitlYXJ0aHF1YWtlL01TCitlYXJ0aC1zaGF0dGVyaW5nCitlYXNlL0VETVNHCitFYXN0RW5kZXJzCitlYXN0ZXJseS9TCitlYXZlc2Ryb3AvUkRTRworZWJiL0dEUworZWNjZW50cmljL01TWQorRWNoaW5vZGVybWF0YQor6WNsYXQvTQorZWN0b3BpYworZWN1bWVuaWNhbC9ZCitlZGdlL0RaTUdScFNKCitFZGdld29vZAorZWRpY3QvU00KK2VkaWZpY2UvU00KK0VkaXNvbgorZWRpdG9yL0ZNUworRWR1YXJkCitlZHVjL25OeFYKK2VkdWNhdGVkL2NmVQorZWR1Y2UvRE5HN1MKK2VmZmVuZGkvU00KK2VmZmV0ZW5lc3MvUworZWZmbG9yZXNjZW5jZS9TTQorZWZmcm9udGVyeS9NUworZWZmdWxnZW5jZS9NUworRWdlcnRvbgorZWdncGxhbnQvU00KK2Vnb2NlbnRyaWMvWVMKK2VncmVnaW91cy9ZUAorZWdyZXQvU00KK0VneXB0aWFuL1MKK0VneXB0b2xvZ3kKK2VpZGVyZG93bi9TTQorZWlnZW52ZWN0b3IvTVMKK2VpZ2h0eS1zZXZlbi9ICitlaWdodHktdGhyZWUvSAorZWlzdGVkZGZvZGF1CitlbGFib3JhdGVuZXNzL1MKK2VsYXN0aWMvU1E4WQorRWxiYQorZWxib3dyb29tL01TCitlbGRlci9TWQorZWxlY3RlZC9VCitlbGVjdGlvbi9TTQorZWxlY3RyaWNhbC9QCitlbGVjdHJvY2FyZGlvZ3JhcGgvTVNaCitlbGVjdHJvbHlzZS9HV1NECitlbGVjdHJvbHlzaXMvTQorZWxlY3Ryb215b2dyYXBoaWMvWQorZWxlY3Ryb24vU1cxTQorZWxlY3Ryb25lZ2F0aXZlCitlbGVjdHJvd2VhaworZWxlZ2FuY2UvSVNNCitlbGVwaGFudGlhc2lzL00KK0VsZ2FyL00KK2VsaW1pbmF0ZS9TVm5OREcKK2VsaXRlbmVzcworZWxpeGlyL01TCitFbG1zZm9yZAorZWxvbmdhdGUvR25TTkQKK0Vscm95CitlbHNld2hlcmUKK2VsdWRlL0R1Vkd2UworZWx1dGlvbi9NCitlbHZlci9NUworRWx5c+llL00KK0VseXNpdW0KK2VtL00KK2VtYmFuay9HTFNECitlbWJhcmNhZGVybworZW1iYXNzeS9NUworZW1iZWQvU0RHSgorZW1iZWRkZXIKK2VtYmVsbGlzaGVkL1UKK2VtYmVsbGlzaGVyL00KK2VtZXJpdGkKK0VtZXJzb24KK0VtaWxpby9NCitFbW9yeQorZW1vdGlvbmFsaXNtL1NNCitlbXBlcm9yL01TCitlbXBpcmljaXNtL01TCitlbXBpcmljaXN0CitlbXBsb3llZC9mVUEKK2VtcGxveWluZy9BCitlbXBsb3lzL0EKK2VtcHJlc3MvU00KK2VtcHR5L1NHRFRQCitlbXUvTVMKK2VtdWxhdGUvbkRWR1N2TgorZW5jYXNlL0dETFMKK2VuY2hhaW4vREdTCitlbmNpcGhlci9TZAorZW5jbG9zdXJlL01TCitlbmNvbWl1bS9TTQorZW5jeXN0L0dMRFMKK2VuZG9jcmluZS9TCitlbmRvcnBoaW5zCitlbmR1cmluZy9QCitlbmZvcmNpYmxlL1UKK0VuZ2xhbmRlci9TCitlbmdyYXZpbmcvTQorRW5pZC9NCitlbmphbWJtZW50L01TCitlbmxpZ2h0ZW5lZC9VCitlbmxpdmVuL0xTZAorZW5vcm1vdXMvUFkKK2Vuc2hyb3VkL1NERworZW50ZW50ZS9NUworZW50b21iL0RMR1MKK2VudW5jaWFibGUKK2VudW5jaWF0ZS9HU25ETgorZW52aXJvbi9MZFMKK2Vudmlyb25tZW50YWwvMworRXBoZXN1cworZXBpYy9NU1kKK2VwaWdlbmV0aWMKK2VwaW5lcGhyaW5lL1NNCitFcHBpbmcKK2VxdWlwYWdlL1NNCitlcXVpcHBlZC9VQQorZXF1aXYKK2VyYS9NUworZXJhc3VyZS9TTQorZXJnbworRXJpYy9NCitFcmlrc3Nvbi9NCitlcm9kZS9WRHVOR3hYU2IKK2Vyb3NpdmUvUAorZXNjYWRyaWxsZS9NCitlc3Bpb25hZ2UvU00KK2VzcG91c2FsL01TCitFc3NleC9NCitFc3RlcmjhenkvTQorZXRjaC9SR1NESgorZXRoYW5vbC9NCitldGhlci9NUThTCitFdGhlcm5ldC9NUworZXRobm9jZW50cmljCitldGh5bGVuZS9NCitFdHJ1c2NhbgorRVRTSQorZXVwaGVtaXNtL1NNCitldXBob3JpYS9NUworRXVwaHJhdGVzCitldXJla2EvUworRXVyb3BlL00KK2V1dGhhbmFzaWEvU00KK2V2YWRhYmxlCitldmFuZ2VsaWMvWQorRXZhbmdlbGluZQorZXZlbmx5L1UKK2V2ZW5zb25nL01TCitldmVudGZ1bG5lc3MvUworZXZlcnlkYXkvUAorZXZpY3QvU0dECitldm9sdXRlL1NNCitleGFjdC9QU0dZVERrCitleGFjdGl0dWRlL0lTTQorZXhhY3RuZXNzL0lTCitleGFtcGxlL01ER1MKK2V4Y2VwdGlvbmFibGUvVQorZXhjZXB0aW9uYWwvVVkKK2V4Y3JldG9yeS9TCitleGN1bHBhdGUvU0RObnlHCitleGN1c2FibGUvSVAKK2V4Y3VzZS9SbEdEUworZXhlY3V0aXZlL01TCitleGVtcHQvREdTCitleGVydGlvbi9TTWMKK2V4aGF1c3RpYmxlL0kKK2V4aG9ydGF0aW9uL00KK2V4aWdlbmN5L1NNCitleGlzdGVudC9GCitFeG1vb3IvTQorZXhvY3JpbmUKK2V4b2dhbXkvTQorZXhvbmVyYXRlL25TTlZERworZXhvdGljYQorZXhwYW5kL0JEUlhWTnZHU3UKK2V4cGVkaWVudGx5L0kKK2V4cGVsL0RTbjdHTgorZXhwZW5kZWQvVQorZXhwZW5kZXIvTQorZXhwZW5kaXR1cmUvTVMKK2V4cGVuc2l2ZW5lc3MvSVMKK2V4cGxhaW4vQUdEUworZXhwbGFuYXRpb24vU00KK2V4cGxpY2FibGUvSQorZXhwbG9pdC9SVk03R25EUworZXhwcmVzc2liaWxpdHkvSQorZXhwcmVzc2lvbi9NcAorZXhwdXJnYXRlL1NETkduCitleHRlbXBvcmFuZW91cy9ZUAorZXh0ZW1wb3JlL1FzODlxLVMKK2V4dGVuZGVkbmVzcy9NCitleHRpbmN0L1YKK2V4dG9ydC9HRFZTCitleHRyYWNlbGx1bGFyL1kKK2V4dHJhLWN1cnJpY3VsYXIKK2V4dHJhbWFyaXRhbAorZXh0cmFvcmRpbmFyeS9QWVMKK2V4dHJhc29sYXIKK2V4dHJhdGVycmVzdHJpYWwvUworZXh0cmF0ZXJyaXRvcmlhbGl0eS9TTQorZXh0cmF2YWdhbnphL01TCitleHRyZW1lbmVzcy9TCitleHRyZW1pc20vTVMKK2V4dHJ1c2lvbi9NCitleHVyYmlhL1NNCitleWVkcm9wcGVyL01TCitleWUtbGV2ZWwKK0V6cmEKK2ZhYmxlL01TREcKK2ZhY2UvQ0dLREFTZQorZmFjZWxlc3MKK2ZhY2VsaWZ0CitmYWNlJ3MvSworZmFjZS1zYXZlcgorZmFjZXRpb3VzbmVzcy9TCitmYWNpbGl0YXRlL3lER1NOblYKK2ZhY2luZy9NUworZmFjc2ltaWxlaW5nCitmYWN0aW9uYWxpc20vU00KK2ZhY3RvCitmYWN0b3JpYWwvU00KK0ZhZ2luCitGYWlyZmF4CitmYWlyLXdlYXRoZXIKK2ZhaXJ5L01TCitGYWxrbmVyCitmYWxsaWJpbGl0eS9JU00KK2ZhbGxpYmxlL1BZCitmYWxsJ3MvY2UKK2ZhbHNpZnkvUkJHbkRTTgorZmFsdGVyL3JKZFNrCitmYWx1dGluCitmYW5hdGljYWwvUAorZmFudGFzeS9ROFdzOURTR00KK2ZhbnppbmUvUworZmFyaW5hL01TCitmYXJtd29ya2VyL1MKK2Zhci1yZWFjaGluZworZmFzY2ljbGUvRFNNCitmYXN0LWZvcndhcmQKK2ZhdGFsaXNtL01TCitmYXRob20vN2RNcFMKK2ZhdGhvbWFibGUvVQorZmF0dWl0eS9TTQorZmF1bHQtZmluZGluZworZmF1bHRsZXNzL1lQCitmYXVsdHkvUFRZCitmYXVuL1NNCitmZWF0aGVyZWQvVQorZmVhdGhlci1lZGdlCitmZWF0aGVyd2VpZ2h0L1NNCitmZWNrbGVzcy9ZUAorZmVjdW5kL25nCitmZWN1bmRpdHkvU00KK2ZlZGVyYWxpc3QKK2ZlZWRpbmcvTQorZmVsaWNpdG91c2x5L0kKK0ZlbGlwZQorZmVsb255L1NNCitmZWx0LXRpcC9TCitmZW1pbmlzbS9NUworZmVuY2VzL0MKK0Zlcm1hbmFnaC9NCitmZXJyZXQvcmRTTQorZmVycml0ZS9NCitmZXJydWxlL0RNU0cKK2ZlcnJ5Ym9hdC9NUworZmV0bG9jay9NUworZmV1ZC9ETVNvRworZmV1ZGFsaXNtL1NNCitmaWF0L01TCitmaWJyb3Npcy9NCitGaWRlbC9NCitGaWZlL00KK2ZpZnR5LXR3b2ZvbGQKK2ZpZ2h0YmFjaworZmlnaHRzL2UKK2ZpbGwvSkRSWUdTNworZmlsdGVyLXRpcHBlZAorZmlsdGhpbmVzcy9TCitmaW5hbmNlL0FTR0QKK2ZpbmQvSlJHUzcKK2ZpbmVuZXNzL1NNCitmaW5nZXIvcHJkU01KCitmaW5nZXJwcmludC9ER1NNCitmaW5nZXJ0aXAvTVMKK2ZpbmlhbC9TTQorZmluaXRlL0NQWUkKK2Zpbm55L1QKK2Zpb3JkL01TCitmaXJlcGxhY2UvTVMKK0ZpcmVzdG9uZQorZmlyZS1zdG9ybS9NUworZmlyZXdvb2QvTQorZmlzaC1ib3dsL01TCitmaXNoZWQvYworZmlzaGVyL20KK2Zpc2htb25nZXIvU00KK2Zpc2h5L1BUCitmaXN0L0RNR1M2CitmaXhpdHkvTVMKK2ZsYWJieS9UUAorZmxhY2svU0RNRworZmxhZ3JhbnQvWQorZmxha2VyL00KK2ZsYWt5L1QKK2ZsYW1i6S9HU0QKK2ZsYW1lL3BHWlJTTURrSgorZmxhbWVuL00KK2ZsYW1tYWJsZS9JUworZmxhcGphY2svTVMKK2ZsYXNoLXBhbgorZmxhdHRvcC9TTQorZmxhd2xlc3NuZXNzL1MKK2ZsZWEvTVMKK2ZsZWFiaXRlcworZmxlYXdvcnQvTQorZmxlZXRpbmdseS9NCitmbGVzaGx5L1QKK2ZsZXhpYmlsaXR5L01JUworZmxpZ2h0cGF0aAorZmxpZ2h0cy9jCitmbGludHkvVFAKK2ZsaXJ0YXRpb24vTQorZmxvb2RsaWdodC9HU00KK2Zsb29yc3BhY2UKK2Zsb3Jlc2NlbmNlL01JUworZmxvcmlzdC9TTQorZmxvd2VyaW5lc3MvUworZmxvd3N0b25lCitmbHVlbmN5L1NNCitmbHVvcm9zY29wZS9TR0RNVworZmx1c2gvN0RQVEdTCitmbHktZmlzaGluZworZmx5d2hlZWwvTVMKK2ZvYW1lcgorZm9hbXkvVFAKK2ZvJ2Mnc2xlCitmb2N1cy9DZEdEQVMKK2ZvY3VzYWJsZQorZm9jdXMncworZm9ldGljaWRlCitmb2d5ZG9tCitmb2d5aXNoCitmb2xkYXdheQorZm9sa2xvcmUvM1dTTQorZm9sbHkvTVMKK2ZvbmRsZS9HRFMKK2ZvbmRsZXIvTQorRm9udGFpbmUvTQorZm9vbC9HRE1TCitmb290bWFuL00KK2Zvb3RwcmludC9TTQorZm9vdHNpZS9NUworZm9yYmlkZGluZy9QWQorZm9yY2VkL1UKK2ZvcmNlci9NCitmb3JlY2xvc3VyZS9NUworZm9yZWZyb250L01TCitmb3JlaGVhZC9TTQorZm9yZWtub3cvU0cKK2ZvcmVrbm93bgorZm9yZW5zaWNzL00KK2ZvcmVxdWFydGVycworZm9yZXJ1bm5lci9NUworZm9yZXNhdworZm9yZXdvcmQvU00KK2ZvcmZlaXQvRFJNU0cKK2ZvcmdhdmUKK2ZvcmdldC1tZS1ub3QvUworZm9yZ2luZy9NUworZm9ybWFsaXR5L1NNSQorZm9ybWF0ZS9NUworZm9ybXVsYXRlL0RBR1NObgorZm9ybXVsYXRlZC9VCitGb3JzdGVyCitmb3Jzd2Vhci9HUworZm9ydGh3aXRoCitmb3J0aWZpZWQvVQorZm9ydGlzc2ltby9TCitmb3J0eS1vbmVmb2xkCitmb3J0eS10aHJlZS9ICitmb3J1bS9NUworRm9zcworZm9zdGVyL2RTCitmb3VnaHQvZQorZm91bmRlZC9GVQorRm91cmllci9NCitmb3VyLWxlYXZlZAorZm91ci1zcXVhcmUKK2ZveC9NRHpaRzJTCitmb3hob3VuZC9NUworZnIKK0ZyYW5jZXNjYQorZnJhbmNoaXNlci9TTQorRnJhbudvaXNlL00KK0ZyYW5rZnVydAorZnJhbmtuZXNzL1MKK2ZyYXVkJ3MKK0ZyZWRkaWUKK0ZyZWRyaWNrCitmcmVlLWJvcm4KK2ZyZWVkbWVuL00KK2ZyZWVtYXNvbnJ5CitGcmVlcG9ydAorZnJlaWdodC9TTVJERworRnJlbnR6ZW4KK2ZyZXNoLWZhY2VkCitGcmV1ZC9NCitmcmljdGlvbi9vTVNwCitmcmllbmQvREdZTXBTCitmcmllemUvTUdTRAorZnJpZ2F0ZS9TTQorZnJpZ2h0L0RHTWpTNgorZnJpZ2h0ZW5lcnMKK2ZyaWdpZGl0eS9TTQorRnJpc2lhbgorZnJpc2svWkdTRHoyCitmcml2b2xpdHkvU00KK2ZyaXZvbG91c25lc3MvUworZnJvbnRlci9GCitmcm90aHkvVFAKK2Zyb3duL0RHU2sKK2Zyb3duZXIvTQorZnJ1bXB5L1QKK2Z1bGNydW0vU00KK2Z1bGZpbGxlZC9VCitmdWxmaWxsZXIKK0Z1bGxlcnRvbgorZnVsbC1sZW5ndGgKK2Z1bHNvbWUvWVAKK2Z1bWUvR2tEWlMKK2Z1bmRhbWVudGFsaXN0CitmdW5kaG9sZGluZworZnVuZC1yYWlzZXIvU00KK2Z1bmVyYWwvTVMKK2Z1ci9HTTJKWlNECitmdXJsL1VHRFMKK2Z1cnJpbmcvTQorZnVydGhlcmFuY2UvU00KK2Z1c2VsYWdlL1NNCitmdXNlcy9DQQorZnVzaWxpZXIvU00KK2Z1c3Nwb3QvU00KK2Z1dHVyaXN0L1cKK2Z1enp5L1RQCitnYWJlcmRpbmUvTQorZ2FkYWJvdXQvTVMKK0dhaWwKK2dhbGVuCitnYWxsZXkvTVMKK2dhbGxzdG9uZS9NUworZ2FsdmFuaWMKK2dhbWVzbWVuCitHYW5nZXMKK2dhbnRyeS9NUworZ2FwZXIvTQorR2FyZnVua2VsL00KK2dhcm5pc2gvTFNERworZ2FybmlzaGVlL0dNUworZ2FzL0ZDCitnYXNvbGluZS9NCitnYXNvbWV0ZXIvTQorZ2FzdHJvbm9teS9NV1MKK2dhc3Ryb3BvZC9TTQorZ2Fzd29ya3MvTQorR2F0ZXNoZWFkL00KK2dhdGhlci9kclNKCitnYXVjaGVyaWUvTVMKK2dhdmVsL0RTTUcKK2dhd2tlcgorZ2F6aWxsaW9uL1MKK2dlZS1nZWUvU00KK2dlZXplci9NUworZ2VsL0RNR1MKK2dlbGFibGUKK0dlbWluaQorZ2VuZGVyL01TcAorZ2VuZGVyZWQKK2dlbmVyYXRlL0FuVkNHRFNOCitnZW5lcmF0b3IvQU1TCitnZW5lcm91cy9ZUAorZ2VuZXJvdXNseS9VCitHZW5ldmlldmUvTQorZ2VuaWUvb1NNCitnZW5vY2lkYWwKK2dlbm90eXBlL01TCitnZW51ZmxlY3Rpb24vU00KK0dlb2ZmL00KK2dlb21hZ25ldGljL1kKK2dlb21hZ25ldGlzbS9NUworZ2VvcGh5c2ljYWwvWQorZ2VvcG9saXRpYy9ZUworR2VvcmdlL1NNCitHZW9yZ2V0b3duL00KK0dlb3JnaWFuL1MKK0dlcmFsZAorZ2VyYW5pdW0vU00KK0dlcmFyZAorR2VyYmVyCitnZXJtaW5hdGlvbi9NCitnaGlsbGllL01TCitnaG9zdGxpa2UKK2dob3N0LXdyaXR0ZW4KK2dpYW50L01TCitnaWFudGVzcy9NUworZ2liZXIvTQorZ2lkZHkvUEdZVERTCitHaWRlb24KK2dpZ2FjeWNsZS9NUworR2lsYmVydC9NCitnaWx0L1MKK2dpbWNyYWNrL1MKK2dpbXAvRE1HWlMKK2dpbi9NRFNHCitnaW5rZ29lcworZ2lybGZyaWVuZC9TTQorZ2l2ZXRoCitnaXptbydzCitnbGFj6S9ER1MKK2dsYWNpYWwvWQorR2xhZHlzCitnbGFzbm9zdAorZ2xlYW4vRFJTR0oKK0dsZWFzb24KK0dsZW5kYQorR2xlbmRhbGUKK2dsaWIvVFBZCitnbG9hbWluZy9NUworZ2xvYmFsLzNZCitnbG9idWxhcml0eS9NCitHbG9yaWEKK2dsb3NzeS9UU1AKK2dsb3cvR1JEa1NNCitnbHljb2dlbi9NUworR2x5bmRlYm91cm5lL00KK0dseW5uCitnbmFybC9HU01ECitnbmF0L01TCitnbm9taWMKK2dudS9NUworZ29hZC9HRE1TCitnby1haGVhZAorZ29hbGllL01TCitnb2FscG9zdC9TCitnby1iZXR3ZWVuCitnb2RjaGlsZHJlbgorZ29kLWRhbW4vRAorZ29kaGVhZC9TCitHb2VyaW5nCitHb2V0aGUvTQorZ29pdHJvdXMKK0dvbGRpbmcKK2dvbGQtcGxhdGVkCitnb25vY29jY2FsCitnb29kLWh1bW91cmVkL1kKK2dvb2QtbG9va2luZworZ29vZC1uYXR1cmVkL1kKK0dvcmFuCitHb3Jkb24vTQorZ290dGVuCitnb3VybWFuZGlzZQorZ291dHkvVAorZ3LiY2UKK2dyYWNlZC9FCitncmFjZWxlc3MvWVAKK2dyYWRhdGUvRFNHCitncmFkZS9uUkNTREcKK2dyYWRpZW50L1NNCitncmFkdWFsaXNtL1NNCitncmFkdWF0aW9uL00KK2dyYWZmaXRpCitncmFtcHVzL01TCitncmFuZG5pZWNlL01TCitncmFudC9EUk1HUworZ3JhbnVsYXRlL1NERworZ3JhbnVsb2N5dGljCitncmF0aXR1ZGUvU0lNCitncmF2aXRhdGlvbi9NCitHcmF5c29uCitncmF6ZS9SU0dECitncmVhc2VwYWludC9TTQorZ3JlZW5lcnkvU00KK2dyZWVuZmllbGQKK2dyZWVuZmluY2gvU00KK2dyZWV0L0RSR1NKCitncmVuYWRpZXIvU00KK2dyaWRpcm9uL01TCitncmlkbG9jay9EU0cKK2dyaW15L1RQCitncmluL0RHUworZ3JpbmQvUkdKU2sKK2dyaXN0bGUvU00KK2dyaXR0aW5lc3MvUworZ3JvYXQvTVMKK2dyb2luL1NNR0QKK2dyb29tL1NER00KK0dyb290Citncm90ZXNxdWVuZXNzL1MKK2dyb3ZlbC9EU0dSCitncnViL3pSTVoyREdTCitncnVkZ2VyL00KK2dydW1ibGUvR1JKa1NECitHVQorZ3VhbmluZS9TTQorR3VhcmRpYQorZ3VhcmRpYW5zaGlwL1NNCitHdWVudGhlci9NCitndWVycmlsbGFzCitndWVycmlsbGEncworZ3Vlc3MvRFJHN1MKK2d1ZXNzZWQvZQorZ3VpbGRoYWxsL1NNCitndWlsZWZ1bG5lc3MKK2d1aWx0eS9UUAorR3VpbmVhLUJpc3NhdS9NCitHdWlubmVzcworZ3VtYm9vdC9TCitndW1wdGlvbi9TTQorR3VuZGVyc29uCitndW5tZW4vTQorZ3VubmVyeS9TTQorZ3VubmluZy9NCitndW5ueXNhY2svTVMKK2d1cHB5L01TCitHdXMKK2d1c3NldC9TTQorZ3VzdHMvRQorZ3V0L01SR3BEUworR3dhbmdqdQorZ3ltL01TCitneXBzaXRlCitneXJvc2NvcGUvU01XCitoYQorSGFhZy9NCitoYWJpdGFibGUvUAoraGFiaXRhdGlvbi9JTUYKK2hhYml0dWF0aW9uL00KK0hhY2tldHQKK2hhZGoncworaGFlbS9TTQoraGFlbWF0b21hL00KK2hhZW1vbHl0aWMKK2hhZW1vcGhpbGlhYy9TTQorSGFndWUKK2hhLWhhCitoYWlrdS9NCitoYWlyLWRyaWVyCitoYWlybGVzcy9QCitoYWlybGlrZQoraGFpci1yYWlzaW5nCitoYWxjeW9uL1MKK2hhbGYtZGVjaworaGFsZi1ob3VyL1lTCitoYWxmcGVuY2UKK2hhbGYtc2lzdGVyL1NNCitoYWxmLXNvdmVyZWlnbgoraGFsZndpdC9oaVNNRAoraGFsaWJ1dC9NCitoYWxpdGUvTVMKK2hhbGwvU00KK2hhbGxlbHVqYWgvUworSGFsbGV5L00KK2hhbGxvdy9ER1MKK0hhbGxvd2VlbgoraGFsbHVjaW5hdGUvbnlOVkdEUworaGFsbHdheS9TTQoraGFsdGVyLW5lY2sKK2hhbHZlcnMKK2hhbW1lcmhlYWQvU00KK2hhbW1lcmluZy9NCitoYW5kL2g2UnpaU2lwTUdEMgoraGFuZGJpbGwvU00KK2hhbmRlZGx5L2YKK2hhbmRmdWwvTVMKK2hhbmRndW4vTVMKK2hhbmRsaW5nL00KK2hhbmRzdGFuZC9TTQoraGFuZ25haWwvU00KK2hhbmtlci9KZAoraGFua2VyZXIvTQorSGFub3ZlcmlhbgorSGFuc2VuCitoYSdwZW5ueQoraGFwaGF6YXJkbmVzcy9TCitoYXBsZXNzbmVzcy9TCitoYXJib3VyYWdlCitoYXJkLWxpbmUvUgoraGFyZHNoZWxsCitoYXJkeS9UUAoraGFya2VuL1MKK2hhcmxvdHJ5L1NNCitoYXJwc2ljaG9yZC9NM1MKK0hhcnJpc29uCitIYXJyaXNvbmJ1cmcKK2hhcnNoZW4vZAoraGFydmVzdC9NUkdEUworaGFydmVzdG1lbi9NCitoYXNzb2NrL01TCitoYXN0L3paMkQKK2hhdGNoZXQvZE1TCitoYXRjaHdheS9NUworaGF0ZWZ1bG5lc3MvUworaGF1Z2h0eS9ZUFQKK2hhdWwvY0RTRworaGF2ZS1ub3QvTVMKK2hhdm9jL1NETUcKK0hhd2FpaWFuL1MKK2hhd2tpc2huZXNzL1MKK2hlYWRtZW4vTQoraGVhZHRlYWNoZXIvU00KK2hlYWR3YXkvU00KK2hlYWx0aC9NNmp6UzJaCitoZWFsdGhjYXJlCitoZWFyaW5nL1NNCitoZWFyc2F5L1NNCitoZWFydGJ1cm4vR1NNCitoZWFydGxlc3NuZXNzL1MKK2hlYXJ0c3RyaW5ncworaGVhdGgvUlN5TQorSGVhdGhraXQKK2hlYXZlbi9NU1kKK0hlYnJldy9TTQoraGVjaworaGVjdG9ncmFtL1NNCitoZWRvbmlzdC9XTVMKK2hlZWwvcFJTR01ECitIZWlkZmVsZAorSGVsZW5hL00KK2hlbGl4L00KK2hlbGxlYm9yZS9TTQorSGVsbGVuaWMKK2hlbHBmdWxuZXNzL1UKK2hlbHBsZXNzbmVzcy9TCitIZWxzaW5raS9NCitoZW1wL1NNCitoZW4veU1TCitIZW5sZXkvTQorSGVubmVzc2V5L00KK0hlbnJpL00KK2hlcmFsZC9XR1NNRHkKK2hlcmJhbGlzdAorSGVyYmVydC9NCitoZXJlL0ZJCitoZXJlYWJvdXQvUworaGVyZWluCitoZXJldG9mb3JlCitoZXJpdGFibGUvSQorSGVybWVzCitIZXJ0Zm9yZHNoaXJlL00KK2hlc2l0YW5jZS9aUworaGV0ZXJvc2V4dWFsL01ZUworSGV0dGllL00KK0hldXNlci9NCitoZXcvUkdTRAorSGV3ZXR0L00KK2hleGFncmFtL1NNCitoZXlkYXkvTVMKK2hnd3kKK0hpYXdhdGhhCitoaWNjb3VnaAoraGlkZWF3YXkvTVMKK2hpZGVvdXQvTVMKK2hpZXJvZ2x5cGgvU1cKK2hpZ2gtaGF0CitoaWdoLWp1bXAKK2hpZ2hsYW5kL1JTTQoraGlnaC1zcGlyaXRlZG5lc3MKK2hpZ2gtc3RlcHBlcgoraGlrZS9SU0dECitIaWxiZXJ0CitoaWxsaW5lc3MvUworSGluY2tsZXkKK0hpbmRlbWl0aAorSGluZGkKK2hpbmRzaWdodC9TTQorSGluZHVpc20KK2hpbnQvUlNHTUQKK2hpcC9UWk1EU0cKK2hpcGJvbmUvU00KK2hpcmluZy9TCitIaXJzY2gKK2hpc3RvbG9neS8zTVN3CitoaXN0b3JpYW4vU00KK2hpc3RvcnkvU0sxTVcKK2hpc3RyaW9uaWMvU1kKK2hpc3RyaW9uaWNzL00KK2hpdGNoL1JEU0cKK0hJVgoraG9hcmQvTVNSREpHCitob2Jnb2JsaW4vU00KK0hvZmYvTQoraG9nYmFjay9TTQoraG9pc3QvU0RHCitob2xkL1JTR0o3CitIb2xkZW4KK0hvbHN0ZWluCitob21lY29taW5nL1NNCitob21lbGFuZC9NUworaG9tZS1tYWtpbmcvTQoraG9tZXNpY2tuZXNzL1MKK2hvbWlsZXRpYy9TCitob21vZW90aGVybS9aVworaG9tb2dhbXkvTQoraG9tb2dlbmVvdXNuZXNzCitob21vZ2VuaXplL0RSR25TTgorSG9uZG8KK2hvbmUvU1RHRE0KK2hvbmVzdGVyCitob25leS9TTUQKK2hvb2RlZC9QCitob29mZXIvTQoraG9va3VwL01TCitob3JuZWQvUAoraG9yc2UtdHJhZGluZworaG9yc2llcgoraG9yc2luZy9NCitob3MvU2QKK2hvJ3MvRgoraG9zcGl0YWJseS9JCitob3N0aWxpdHkvTVMKK2hvdG5lc3MvUworaG91bmRpbmcvTQoraG91c2Vib3kvTVMKK2hvdXNlYnJlYWsvU1JKRworaG91c2Uncy9lCitob3VzZS10by1ob3VzZQoraG91c2Utd2FybWluZy9TTQorSG92ZS9NCitob3Zlci9kUworaG92ZXJjcmFmdC9NCitIb3l0L00KK0hRCitIdWZmbWFuL00KK2h1ZmZ5L1RQCitIdWd1ZW5vdC9TTQorSHVsbC9NCitodW0vUlNERworaHVtYW4vc1E4WTMtcTlQUworaHVtYW5lbmVzcy9JCitodW1hbmlzdC9XCitodW1hbml6ZS9DUkRuU05HCitodW1hbmx5L0kKK2h1bWVydXMvTQoraHVtaWRpZmljYXRpb24vQ00KK0h1bW1lbC9NCitodW1vcm91c25lc3MvUworSHVuZ2FyeS9NCitIdW50bGV5L00KK2h1cnJpZWRuZXNzL00KK2h1cnRlci9NCitodXNiYW5kL0RZeUdTTQoraHVzc3kvU00KK2h5YnJpZGlzbS9NUworSHlkZXJhYmFkCitoeWRyYW5nZWEvTVMKK2h5ZHJvY2hsb3JpZGUvTQoraHlkcm9nZW5hdGVzL0MKK2h5ZHJvc3RhdGljcy9NCitIeW1hbgoraHltbmFsL01TCitoeXBlcmJvbGEvTVMKK2h5cGVyYm9sb2lkYWwKK2h5cGVycGxhbmUvTVMKK2h5cGVydHJvcGh5L0RHU00KK2h5cG90ZW51c2UvU00KK2h5cG90aGFsYW1pCitoeXBvdGhlc2VzCitoeXN0ZXJlY3RvbXkvU00KK0h5dW5kYWkvTQorSUNDL00KK2ljZWJveC9TTQoraWNpY2xlL1NNCitpY29ub2NsYXNtL01TCitpY29ub2dyYXBoeS9XTVMKK0lDVQorSWRhL00KK2lkZWFsaXN0L1cxCitpZGVhbG9naWNhbAoraWRlbnRpY2FsL1BZCitpZGlvY3kvU00KK2lkaW9tYXRpYy9VCitpZG9sYXRyZXNzL1MKK2lkeWxsaXN0CitpZi9GUworaWduaXRhYmxlCitpZ25vcmFuY2UvU00KK2lndWFuYS9TTQoraWlpCitJa2VhL00KK2lsbC1iZWhhdmVkCitpbGwtZGVmaW5lZAoraWxsLWVxdWlwcGVkCitpbGwtdGVtcGVyZWQKK2lsbHVtZS9HRAoraWxsdW1pbmFibGUKK2lsbHVzdHJhdGUvTm5HRHZTVgoraWxsdXN0cmF0aW9uL00KK2lsbHVzdHJpb3VzL1lQCitpbG1lbml0ZQoraW1hZ2luYWJseS9VCitpbWFnaW5lL2xuU1Z1TkpEdkcKK2ltYWdpbmVyL00KK2ltYmliZS9SU0RHCitpbW1hbmVuY3kvU00KK2ltbWVuc2l0eS9TTQoraW1tZXJzZS9TTmJER1gKK2ltbWVyc2VyCitpbW1vbGF0ZS9ER25TTgoraW1tb3J0YWwvUTgKK2ltcGVkL2QKK2ltcGVkZXIvTQoraW1wZXJpYWwvM1NZCitpbXBlcnR1cmJhYmlsaXR5L01TCitpbXBldHVvdXMvUFkKK2ltcGlzaG5lc3MvUworaW1wcmVzYXJpby9NUworaW1wcmludC9NCitpbXByaXNvbi9MCitpbXByb3Zlci9NCitpbXB1ZGVudC9ZCitpbmFsdGVyYWJsZW5lc3MKK2luYXBwcm9wcmlhdGUvUAoraW5ib3VuZAoraW4tY2FyCitpbmNhcm5hZGluZS9EU0cKK2luY2VwdGlvbi9NUworaW5jaXBpZW5jZS9NU1oKK2luY2lzZS9YVkd2RE5TdQoraW5jb21tb2RlL0dECitpbmNvbmNlaXZhYmlsaXR5L1NNCitpbmNvbmNlaXZhYmxlL1AKK2luY29udHJvdmVydGlibGUvWQoraW5jb3Jwb3JhdGVkL0VVCitpbmNyZWFzZS9KaworaW5jcmltaW5hdGUvU0RObnlHCitpbmN1YmF0aW9uL00KK2luZGVtbml0eS9NUworaW5kZW50YXRpb24vTQoraW5kaWNhdGlvbi9NCitpbmRpY2F0b3IvTVMKK2luZGljZXMvTQoraW5kaWdlbnQvWVMKK2luZGlzc29sdWJsZS9ZUAoraW5kaXN0aW5jdC9QCitpbmRpc3Rpbmd1aXNoYWJsZS9QCitpbmRvY3RyaW5hdGlvbi9NCitpbmR1c3RyaWFsaXN0CitpbmR1c3RyaW91c25lc3MvUworaW5lYnJpYXRpb24vTQoraW5lZmZhYmxlL1BZCitpbmVydG5lc3MvUworaW5leHBsaWNhYmxlL1BZCitpbmV4cGxpY2l0CitpbmZhbnRyeS9tTVMKK2luZmF0dWF0ZS9EU0duTgoraW5mZXJlbnRpYWwvWQoraW5mbGF0ZS9EU0dObgoraW5mbGF0ZWQvYworaW5mbGF0ZXIvTQoraW5mbGVjdC9HeFNWRAoraW4tZmxpZ2h0CitpbmZyYWN0aW9uCitpbmZyYXN0cnVjdHVyYWwKK2luZ2VudW91c2x5L0UKK2luZ290L1NNCitpbmdyYXRpYXRlL25HRFNrTgoraW5oaWJpdC9TVmR5WE4KK2luaGliaXRvci9NUworaW4taG91c2UKK2luaXRpYWxpc2VkL1UKK2luaXRpYWxpemVkL1UKK2luanVuY3RpdmUKK2lubGF5L0dTCitpbm5lcm1vc3QKK2lubm92YXRlL05Wbkd1RFN5dgoraW5ub3ZhdGlvbi9NCitpbm5vdmF0b3IvU00KK2lub2N1bGF0ZS9WR05EU24KK2lub3JkaW5hdGUvWVAKK2lucXVpc2l0aXZlL1BZCitpbnNjcmliZS9STlgKK2luc2VydC9ER0FTCitpbnNpZGlvdXNuZXNzL1MKK2luc2ludWF0ZS9ER2tuTlNWCitpbnNvbGVuY2UvU00KK2luc29sZW50L1kKK2luc29tbmlhL1NNCitpbnNwaXJlZC9VCitpbnNwaXJlci9NCitpbnN0YW50ZXIKK2luc3RpZ2F0ZS9TVm5ETkcKK2luc3RpdHV0ZWQvQQoraW5zdWx0L0RHa1MKK2luc3VwcG9ydGFibGUvUAoraW5zdXJyZWN0aW9uaXN0CitpbnRlbnNpdmVuZXNzL1MKK2ludGVudGlvbi9EU29NCitpbnRlbnRpb25hbGl0eS9NCitpbnRlcmFjdGlvbi9TTQoraW50ZXJjZXB0L0dTRAoraW50ZXJjZXNzb3IvU00KK2ludGVyY2hhbmdlL1NsR0JECitpbnRlcmZhY2luZy9NCitpbnRlcmZlcmUva1JTR0QKK2ludGVyZ2VuZXJhdGlvbi9vTQoraW50ZXJqZWN0L3hHU0QKK2ludGVybWFycnkvU0dECitpbnRlcm1lenppCitpbnRlcm1vZHVsZS9ObgoraW50ZXJuYXRpb25hbGlzbS9NUworaW50ZXJwbGFuZXRhcnkKK2ludGVycGxheS9NR0RTCitpbnRlcnBvc2l0aW9uL00KK2ludGVycHJldC9kYU5BblMKK2ludGVycHJvY2VzcworaW50ZXJzZWN0L0dTRAoraW50ZXJzdGF0ZS9TCitpbnRlcnN1cnZleQoraW50ZXJ1cmJhbi9TCitpbnRlcnZvY2FsaWMKK2ludGltaWRhdGlvbi9NCitpbnRyYWRlcGFydG1lbnRhbAoraW4tdHJheS9TCitpbnRydWRlL1J1TlhTREdWdgoraW50cnVzaXZlbmVzcy9TCitpbnVyZS9HRFMKK2ludmVjdGl2ZS9ZUE1TCitpbnZlbnRpdmVuZXNzL1MKK2ludmVudHJlc3MvTVMKK2ludmluY2libGUvUFkKK2ludml0aW5nL1UKK2ludm9rYWJsZQoraW52b2x2ZS9MR2hTRAoraW9kaWRlL01TCitpb24ncy9VCitJcmFuaQorSXJlbGFuZC9NCitpcmlkZXNjZW50L1kKK0lyaXNod29tZW4vTQoraXJrc29tZS9QWQorSXJtYQoraXJvbmVyL1MKK2lyb253b29kJ3MKK2lyb253b3JrZXIvTQoraXJyZXByZXNzaWJsZS9ZCitpcnJpZ2FibGUKK0lydmluZQorSXJ3aW4vTQorSXNhYWNzb24KK0lzaXMKK0lzbGFtYWJhZC9NCitJc2xhbWljCitpc2xhbmQvUlNNCitJc2xheS9NCitJc2xpbmd0b24vTQoraXNuJ3QKK2lzb2NsaW5lL00KK2lzb3BsZXRoL1NNCitJdGFsaWFuL1NNCitJdGhhY2FuCitpdHMKK2l4CitqYWNra25pZmUvREdNUworSmFjcXVlbGluZQorSmFlZ2VyL00KK2phZy9aRGhHaVMKK2phZ2d5L1QKK0phaXB1cgorSmFrYXJ0YQorSmFtYWljYW4vUworSmFtZXNvbgoramFuaXRvcmlhbAorSmFyZGluZQoramFzcGVyL01TCitqYXZlbGluL01TCitqYXdsaW5lCitqYXkvTVMKK2phenovUzJHTURaCitKZWFuaWUKK0plaG9zaGFwaGF0CitKZXNzZS9NCitqZXR0eS9NUworamliL0RNR1MKK2ppaGFkL01TCitqaW5nb2lzdC9XU00KK0pvYW5uZS9NCitKb2FxdWluCitqb2NrL01TCitKb2huL1MKK2pvaG5ueS9TTQoram9pbi9GUlNERworam9pbnMvQQoram9pbnR1cmVzCitqb2x0L0RTUkcKK0pvbmF0aGFuCitKb3JnZQorSm9yZ2Vuc29uCitKb3NodWEvTQoram9zcy9NCitqb3dsL1lTTQoram95bGVzcy9QWQorSnVhbml0YQoranViaWxhbnQvWQoranVkZ2VtZW50YWwKK2p1aWN5L1lQVAoranVsZXAvU00KK2p1bXAtc3RhcnQvRworanVuY3R1cmUvRk1TCitqdW5nbGUvU00KK2p1bmtldC9TZE0KK2p1bnRhL01TCitqdXJpc3QvVworanVzdGVyL00KK2p1dmVuaWxlL1NNCitrYWlzZXIvU00KK0thbm8KK2thcHBhL00KK2thdHlkaWQvTVMKK2tjYWwvTQorS2Vhcm5leQorS2VhdHMvTQora2VlbmVyL00KK2tlZW5pbmcvTQora2VlcHNha2UvTVMKK0tlaXRoCitLZW5kYWwKK0tlbnlhbi9TCitLZXBsZXIvTQora2VyYi9TTQora2VyY2hpZWYvU0RNCitrZXJuZWQKK2tleWNsaWNrL01TCitrZXlob2xlL1NNCitrZworS2htZXIKK2tpY2tiYWxscwora2lja3kvVAora2lkL1JETVNHcAora2lkZGlzaAorS2lldi9NCitraWYtZ2xvdmVzCitLaWxpbWFuamFyby9NCitraWxsam95L1MKK2tpbGxzL2MKK2tpbG93YXR0LWhvdXIKK0tpbWJlcmx5L00KK2tpbmRhCitraW5kbmVzcy9TCitLaW5nc2J1cnkKK0tpb3dhCitLaXJieQorS2lya3BhdHJpY2sKK0tpdGFreXVzaHUvTQora2l0YmFnL00KK2tpdHNjaC9aU00KK2tpdHRpd2FrZXMKK0tsb25kaWtlCitrbmFjay9TUk0KK2tuZWVjYXAvU0dNRAora25pY2sta25hY2tlcnkKK2tuaWdodC9HTURZUwora25pdC9SR1NESgora25pdHRpbmcvTQora25vdHR5L1RQCitrbm93L0dKazdTCitrbm93aW5nL1QKK2tub3dsZWRnZS9TbE0KK0tub3dsZXMKK0tvZGFjaHJvbWUvTQora29sYS9TTQorS29uZwora29vaydzCitrb29reS9UCitLcmVtbGluL00KK0tyb25lY2tlci9NCitLdWVubmluZy9NCitrdW1xdWF0L1NNCitLd2FadWx1CitsLzMKK2xhYi9vTVMKK2xhYmVsL2FHRFNBCitsYWJpb2RlbnRhbAorbGFib3JhdG9yeS9TTQorbGFidXJudW0vTVMKK2xhYnlyaW50aC9TTQorbGFjZXJhdGlvbi9NCitsYWNocnltb3NlCitsYWNrYWRhaXNpY2FsbmVzcworbGFjdGF0aW9uL00KK2xhY3VuYWUKK2xhZGRpZS9NUworbGFkeWJ1Zy9TTQorbGFldm9yb3RhdG9yeQorTGFtYWlzbQorTGFtZWxsaWJyYW5jaGlhCitsYW1pbmEvTW4KK2xhbWluYXRlL0RHUworTGFuY2FzdGVyL00KK0xhbmNlbG90L00KK2xhbmRmb3JtcworbGFuZC11c2UKK2xhbnRlcm4vTVMKK0xhb3MvTQorbGFwcy9TR0QKK2xhcHNlJ3MKK2xhcmJvYXJkL1NNCitsYXJjZW5pc3QvUworbGFyY2Vub3VzCitsYXJjZW55L1NNCitsYXJrL01HRFMKK2xhcmtzcHVyL1NNCitsYXNjaXZpb3VzbmVzcy9TCitsYXRjaGluZy9NCitsYXR0aWNpbmcvTQorTGF0dmlhL00KK2xhdWRhbnVtL01TCitsYXVkcy9NCitsYXVnaGFibGUvUAorTGF1bmNlc3RvbgorbGF2YXRvcnkvU00KK2xhd2dpdmVyL1NNCitsYXdsZXNzbmVzcy9TCitsYXdtYWtpbmcvTQorbGF3bm1vd2VyL1MKK2xhd3JlbmNpdW0vTQorbGF5ZXR0ZS9TTQorbGF5aW5nL2NhCitsYXlzL2ZhQWVjCitMYXphcgorTGF6YXJ1cworbGF6eWJvbmVzL00KK2xlYWRpbmcvYQorbGVhZi9wU0QyR01aCitsZWFmc3RhbGsvTVMKK2xlYXNpbmcvTQorTGVhdGhlcmRhbGUKK2xlYXZlbmluZy9NCitMZWF2ZW53b3J0aAorbGVjdHVyZXNoaXAvU00KK2xlZC9hCitsZWZ0eS9TM00KK2xlZ2FsbHkvSQorbGVnaXNsYXRvci9NUworbGVnaXRpbWF0ZWx5L0kKK2xlZ2l0aW1hdGluZy9JCitsZWdpdGltaXphdGlvbi9NCitMZWlkZW4KK0xlaWYKK0xlaWdoCitMZW50ZW4KK2xlcGVyL1NNCitsZXR0ZXJlZC9VCitsZXZlbC9TRFRQUkdZCitMZXdlcworbGV4ZW1lL01TCitMaWJieS9NCitsaWJlcmFsaXNtL01TCitsaWJlcnRhcmlhbi9TTQorbGliZXJ0YXJpYW5pc20vTQorTGlicmEKK0xpYnlhL00KK2xpY2hlbi9TTQorTGllYmVybWFuL00KK2xpZWRlcgorbGlmZXRha2luZworbGlnaHQtaGVhcnRlZG5lc3MvUworbGlnbml0ZS9TTQorbGlraW5nL01TCitsaW1iL1NETVdwCitsaW1lc3RvbmUvTVMKK2xpbXBpZC9ZUAorTGltcG9wbworTGluL00KK0xpbmRiZXJnaC9NCitsaW5lbi9TTQorbGluZXMvZUFmCitsaW5nL2YKK2xpbmd1YS9NbworbGluZ3VpbmkncworbGlua2FnZS9TTQorbGluc2VlZC9NUworbGlvbml6ZXIvTQorbGlwLXN5bmNoCitsaXF1ZWZ5L0RSU0cKK2xpcXVldXIvTVMKK2xpcXVvcmlzaAorTGlzYQorbGlzdGVkL1UKK2xpc3RpbmcvTQorbGl0ZXJhbGlzbS9NCitsaXRob2xvZ3kvTXcKK0xpdGh1YW5pYS9NCitsaXRpZ2lvdXNuZXNzL1MKK2xpdHJlL1NNCitsaXR0bGUvVFAKK2xpdHVyZ2ljcydzCitsaXZlbG9uZy9TCitsaXZlcnd1cnN0J3MKK2xsL0MKK2xvYWRzL0FVYworbG9hbnNoYXJraW5ncworbG9hdGhzb21lbmVzcy9TCitsb2F2ZXMvTQorbG9jaS9NCitMb2NrZQorbG9ja3MvVUEKK2xvZGUvTVMKK2xvZGVzdGFyL1NNCitMb2dhbgorbG9naWEKK2xvZ2luL1MKK0xva2kvTQorbG9uZWxpbmVzcy9TCitsb25lc29tZW5lc3MvUworbG9uZy1hZ28KK2xvbmctZGlzdGFuY2UKK2xvbmdoYWlyL1NNCitsb25naW5nL00KK2xvbmctbGl2ZWQKK2xvbmctcmFuZ2UKK2xvbmctdGltZQorbG9vc2UtbGVhZgorTG9ycmFpbmUKK2xvdHRvL1NNCitsb3Vkc3BlYWtlci9TTQorTG91Z2hib3JvdWdoL00KK0xvdWlzYS9NCitsb3VyL1NERworbG91c2UvQ0RTRworbG92ZS9wTWs3UlNZbERHCitsb3ZlbGVzcy9QWQorTG93ZWxsCitsb3dsaW5lc3MvUworbG95YWx0eS9FU00KK0x1Y2lhL00KK0x1Y3JldGlhCitMdWR3aWcKK2x1Z2UvQ00KK2x1a2V3YXJtL1BZCitsdWxsL0dTRAorbHVsdS9NCitsdW1pbmFuY2UvTQorbHVtaW5lc2NlbmNlL01TCitsdW1pbm91cy9ZUAorbHVtcGlzaC9ZUAorbHVuY2hlb25ldHRlL01TCitsdW5jaGVyL00KK2x1bmdlci9NCitsdXB1cy9NUworbHVzdC9HWlNEano2Mk0KK2x5ZS9NCitseW1waGF0aWMvUworbHlyZS9NU3dXMQorTWFiZWwvTQorTWFjZWRvbgorTWFjZWRvbmlhL00KK21hY2ludG9zaC9TTQorTWFjSW50eXJlCitNYWNrZW56aWUKK01hY2tpZQorTWFjbWlsbGFuL00KK21hY3JhbekvUworbWFjcm8vU00KK21hY3Jvc2ltdWxhdGlvbgorbWFkL1JUWVBHRAorbWFkZGVuL2RrUworbWFkaG91c2UvTVMKK01hZ2VsbGFuCittYWdpCittYWdpc3RlcmlhbC9ZCittYWduYW5pbW91cy9ZCittYWduZXRpYy9TCittYWdub2xpYS9TTQorbWFpZGVuaGVhZC9TTQorbWFpZGVubGluZXNzCitNYWllcgorbWFpbnN0cmVhbWVyCittYWpvci9NUworbWFraW5nL01TCitNYWxhZ2FzeS9NCittYWxlZmljZW5jZS9TTQorbWFsZW5lc3MvUworbWFsbGFyZC9TTQorTWFsbG9yeQorbWFsbnV0cml0aW9uL1NNCittYWxvY2NsdXNpb24vTVMKK01hbHRhL00KK01hbW1hbGlhCittYW1tb2dyYXBoeS9TCittYW5kYXRlL1NNR3lECittYW7oZ2UvU0dECitNYW5oYXR0YW4vTQorbWFuaG9sZS9TTQorbWFuaWtpbi9NUworbWFub2V1dnJlcy9lCittYW5zYXJkL01TCittYW50aWxsYS9NUworbWFudGlzL01TCittYW51cmUvUk1HRFMKK21hbnVzY3JpcHQvTVMKK21hbi15ZWFyL1MKK01hb2lzbQorbWFwcGluZy9NCittYXJhY2EvTVMKK21hcmdpbi9vTWRTCittYXJpYWNoaSdzCittYXJpanVhbmEvU00KK01hcmluCittYXJpbmEvbk1TCitNYXJqb3J5L00KK21hcmtldGFiaWxpdHkvTVMKK21hcmtldGFibGUvVQorTWFybG93ZS9NCitNYXJxdWVzcy9NCittYXJyaWFnZS9NQlMKK21hcnJvdy9NUworbWFyc3VwaWFsL01TCitNYXJ0ZWwKK21hcnRlbi9NUworTWFydmluCitNYXJ4LzNNCittYXJ6aXBhbi9TTQorTWFzYWkKK21hc3Rlci13b3JrL1MKK21hdGNobG9jay9NUworbWF0Y2hwbGF5CittYXRjaHdvb2QvU00KK21hdGVybmFsL1kKK21hdGluZy9NCittYXRyaWFyY2hzCittYXRyb24vTVNZCittYXR0L00KK21hdHRlci9kCittYXR1cmVseS9LSQorbWF0dXJpdHkvS01JCitNYXVyaWNlCittYXZlcmljay9NUworTWF2aXMKK21heGlsbGEveU0KK21hemUvU1pNR0QKK01jQ3JhY2tlbi9NCitNY0RvbmFsZC9NCitNY0Rvd2VsbC9NCitNY0dpbGwvTQorTWNHb3Zlcm4vTQorTWNHcmVnb3IvTQorTWNLZXNzb24vTQorTWNMZW9kL00KK01jTWFob24vTQorTWNOZWlsL00KK21lYWx0aW1lL01TCittZWFseS9UUFMKK21lYW4vQ1NHCittZWFuZXN0CittZWFuaW5nbGVzc25lc3MvUworbWVhc3VyZW1lbnQvQQorbWVjaGFuaXNtL01TCittZWNoYW5vY2hlbWljYWxseQorbWVkaWEvb01uCittZWRpYWV2YWxpc20KK21lZGlhZXZhbGlzdAorbWVkaWNhbWVudC9TTQorbWVkaWNhdGlvbi9NCittZWRpdGF0aXZlL1AKK21lZ2FjeWNsZS9NUworbWVnYWxpdGgvU1dNCitNZWlzdGVyCittZWxhbWluZS9NUworTWVsYW5lc2lhbgorTWVsYm91cm5lCittZWx0ZWQvQQorbWVsdHMvQQorTWVsdnluCittZW1vcmFibGUvUFkKK21lbW9yaWFtCittZW5kYWNpdHkvTVMKK21lbmRpY2FuY3kvTVMKK21lbmRpY2FudC9TCittZW5kaW5nL1NNCitNZW5kaXAKK21lbm9wYXVzZS9TTQorbWVuc3RydWFsL0sKK21lbnN3ZWFyL00KK21lbnRhbGl0eS9NUworbWVudGhvbC9NUworbWVyY2hhbnQvQlNNCittZXJjaGFudG1hbi9NCittZXJjaWxlc3NuZXNzL1MKK21lcml0ZWQvVQorbWVzY2FsL1NNCittZXNkYW1lcy9NCittZXNkZW1vaXNlbGxlcy9NCittZXRhCittZXRhYm9saXNtL1NNCittZXRhYm9saXplCittZXRhY2FycHVzL00KK21ldGFzdGFibGUKK21ldGVtcHN5Y2hvc2VzCittZXRlb3IvV1MxTQorTWV0Zm9yZAorbWV0aG9kLzFTTXcKK21ldHJlL1MxV3cKK21ldHRsZXNvbWUKK01leGljYW4vUworTUdNCittaWFzbWEvTVMKK21pY2UvTQorTWljaGVsc29uCittaWNyYSdzCittaWNyb2RlbnNpdG9tZXRlcgorbWljcm9kb3QvU00KK21pY3JvZWxlY3Ryb25pYy9TCittaWNyb2Zvc3NpbHMKK21pY3JvbGV2ZWwKK21pY3JvbWV0ZW9yaXRlL1NXTQorbWljcm9wcm9jZXNzaW5nCittaWNyb3Njb3BlL1NNV3cxWgorTWljcm9zb2Z0L00KK21pY3Jvc3RvcmUKK21pZC1iYW5kL00KK21pZGZpZWxkL00KK01pZGxhbmRzCittaWQtbGlmZQorbWlsY2gvTQorbWlsZS9TTQorTWlsbGllCittaWxsaW1ldHJlL1MKK21pbGxpbmVyL1pTTQorbWlsbGlzZWNvbmQvU00KK01pbG5lCittaW1lc2lzL00KK21pbmRsZXNzL1lQCittaW5kc2V0L1MKK01pbmVydmEKK21pbmVzd2VlcGVyL1NNCittaW5pbWF4L00KK21pbm5vdy9NUworbWlub3IvU00KK01pbm90YXVyL00KK01pbnNrL01aCittaW51c2N1bGUvU00KK21pbnV0aWEvTQorbWlueC9NUworbWlzY2hhbmNlCittaXNmZWFzYW5jZS9TTQorbWlzbGF5CittaXNwcmlzaW9uL1NNCittaXNzaXZlLzQKK01pc3NvdXJpCittaXN0eS9UCittaXN0eXBlL0oKK21pc3VuZGVyc3RhbmQvUgorbWl6emVuL1NNCittaXp6ZW5tYXN0L01TCittbmVtb25pYy9ZTVMKK21vYi9DU0RHCittb2NjYXNpbi9NUworbW9ja2VyeS9TTQorbW9kaWZpY2F0aW9uL00KK21vZHVsYXRpb24vTUNTCittb2R1bGkKK01vZW4vTQorbW9ndWwvTVMKK21vbGFsCittb2xlY3VsYXIvWQorbW9sZWN1bGUvTVMKK21vbGx5Y29kZGxlL1NHRAorbW9seWJkZW5pdGUvTQorbW9tZW50YS95Cittb21lbnRhcnkvUFkKK21vbSdzCittb25leW1ha2VyL01TCittb25nb2xvaWQvUworbW9ub2Rpc3QvUworbW9ub2R5L01XUworbW9ub2xpbmd1YWxpc20KK21vbm9wb2x5L1NNCittb25vdG9uZS9XTVMxWgorTW9udGNsYWlyCitNb256YQorbW9vY2gvUkdEUworbW9vbi9EU3BNRworbW9vcmxhbmQvU00KK21vcGVkL01TCittb3BwZXQvU00KK01vcmFuL00KK01vcmF5L00KK01vcmRlY2FpCittb3JuaW5nL00KK01vcnBldGgKK21vcnBob3Bob25lbWljcy9NCittb3JyaXMKK21vcnRhbGl0eS9JTVMKK01vc2xlbS9NCittb3RlbC9NUworbW90aGVyaG9vZC9NUworbW90aW9ubGVzcy9ZCittb3RvcmJvYXQvTVMKK21vdG9yd2F5L01TCittb3VsZGluZXNzL1MKK21vdW5kL01ER1MKK21vdW50YWludG9wL01TCittb3VudGVkL1UKK01vdXNzb3Jnc2t5L00KK21vdXN0YWNoZS9NRFMKK01veWVyL00KK01veXJhL00KK01vemFtYmljYW4vUworbXBnCitNUFYKK01zCittdWNoLW5lZWRlZAorbXVjay9ER01aUworbXVkc2xpZGUvUworbXVmdGkvU00KK211Z2dpbmVzcy9TCittdWxhdHRvL00KK011bGxlci9NCittdWx0aS1hY2Nlc3MKK211bHRpY2hhbm5lbC9NCittdWx0aWNvbHVtbgorbXVsdGljb21wb25lbnQKK011bHRpY3MvTQorbXVsdGlkaW1lbnNpb25hbGl0eQorbXVsdGlmdW5jdGlvbmFsCittdWx0aWxhdGVyYWwvWQorbXVsdGlwbGV4J3MKK211bHRpLXB1cnBvc2UKK211bHRpcmFjaWFsCittdW1ibGUvUlNER0oKK211bWJvLWp1bWJvCitNdW1mb3JkL00KK011c2UncworbXVzaHkvVFAKK011c2xpbS9TTQorbXV0YWJsZS9GSTQKK211dGVzdAorbXV0dG9uY2hvcHMKK211enpsZS1sb2FkZXIKK215cnJoL01TCitteXN0aWMvWU1TCituYWJvYi9NUworbmFjZWxsZS9NUworTmFnYXNha2kvTQorbmFpbGVyL00KK05haXJvYmkvTQorbmFrZWQvUFkKK25hbWJ5LXBhbWJ5CituYW1lbGVzc25lc3MKK25hbm9tZXRyZS9TTQorbmFwaHRoYWxlbmUvU00KK25hcmNvc2lzL00KK05hcnJhZ2Fuc2V0dC9NCituYXJyb3ctbWluZGVkCitOYXNzYXUvTQorTmF0aGFsaWUvTQorbmF0dXJhbGx5L1UKK25hdHVyZS9vaE1EUworbmF2dnkvTVMKK05hemkvU00KK04nRGphbWVuYS9NCitOZWFuZGVydGhhbC9TCituZWFyLXNpZ2h0ZWQvUFkKK25lYXItc2lnaHRlZG5lc3MvUworbmVja3RpZSdzCituZWNyb21hbnRpYworbmVjcm9wc3kvTQorbmVjcm90aWMKK25lZWRsZS9ENUdSU00KK25lZWR5L1RQCitOZWVseS9NCituZWZhcmlvdXNuZXNzL1MKK25lZ2xlY3RmdWwvUAorbmVnbGVjdGZ1bG5lc3MvUworbmVnbGln6WUvU00KK25lZ2xpZ2VudC9ZCituZWlnaGJvdXJsaW5lc3MvUworbmVvY2xhc3NpYy9NCituZW9jb2xvbmlhbGlzbS9TTQorbmVvbG9naXNtL01TCitOZXBhbC9NCituZXBocml0ZS9NV1MKK05lcHR1bmUvTQorbmVzdGxlL0RTRworbmV1cmFsL1kKK25ldXJpdGlkZXMKK25ldXJpdGlzL00KK25ldXJvc2NpZW5jZQorbmV1cm9zdXJnZW9uL1NNCituZXV0cmFsaXNlL00KK25ldnVzJ3MKK05ld21hcmtldC9NCituZXdzZmxhc2gvUworbmV3c3Jvb20vUworbmV3cy1zdGFuZC9NUworbmV3c3kvVFMKK25leHQKK05GUworbmljZXR5L01TCituaWNoZS9HTVNECitOaWNob2xzb24vTQorTmllbHNvbi9NCituaWdodGNsb3RoZXMKK25pZ2h0ZHJlc3MvTVMKK25pZ2h0LWxvbmcKK25pZ2h0bWFyZS9NUworbmlnaHRzdGFuZCdzCituaWdodC13YXRjaG1hbgorbmltYmxlL1RQWQorTmluYS9NCituaW5lL1NNSAorbmluZXBlbmNlL00KK25pbmV0eS1vbmVmb2xkCitOaW50ZW5kby9NCitOaXBwb25lc2UKK25pdHJvdXMKK25tCitOb2JlbC9NCitub2JlbGl1bS9NCitOb2JsZSdzCitub2N0dXJuYWwvUworbm9jdHVybmUvU29NCitub2Qvb0RNR1pTCitub2R1bGUvTVMKK25vaG93Citub2lyZS9TCitub2lzZWxlc3MvWVAKK05vbGwvTQorbm9taW5hbC9TWQorbm9uLWFicmFzaXZlCitub24tYWJzb3JiZW50Citub24tYWN0aXZlCitub24tYXRobGV0aWMKK25vbi1iYXNpYworbm9uLWJlbGxpZ2VyZW5jeQorbm9uLWJlbGxpZ2VyZW50L1MKK25vbi1idXNpbmVzcworbm9uY2hhbGFudC9ZCitub24tY29tcGxpYW5jZS9NUworbm9uLWNvbmR1Y3RpbmcKK25vbi1jb25kdWN0b3IvU00KK25vbmNvbmZvcm1pc3QvU00KK25vbi1jb3Jyb3NpdmUKK25vbi1jcnlzdGFsbGluZQorbm9uZGVzY3JpcHQvWVMKK25vbi1kaXNjbG9zdXJlL1MKK25vbi1kcmFtYXRpYworbm9uLWV4Y2x1c2l2ZQorbm9uLWZ1bmN0aW9uYWwvWQorbm9uLWhlcmVkaXRhcnkKK25vbi1saXRlcmFyeQorbm9uLW1lbWJlci9NUworbm9uLW1ldGFsL1NXTQorbm9uLW1ldHJvcG9saXRhbgorbm9uLW1pbGl0YXJ5Citub24tbmVnYXRpdmUKK25vbi1vcGVyYXRpb25hbC9ZCitub24tb3J0aG9nb25hbAorbm9uLW9ydGhvZ29uYWxpdHkKK25vbi1wYXJ0aXNhbi9TCitub24tcGF5aW5nCitub24tcGVhaworbm9uLXBlcmZvcm1hbmNlL1NNCitub24tcG9yb3VzCitub24tcmVjb2duaXRpb24vUworbm9uLXJlZGVlbWFibGUKK25vbi1yZWR1Y2luZworbm9uLXJlcHJlc2VudGF0aW9uYWwvWQorbm9uLXJlc2lkZW50L1NNCitub24tcmVzaWRlbnRpYWwKK25vbi1zY2llbnRpZmljCitub25zZW5zZS8xU013Citub24tc2V4aXN0Citub24tc2xpcAorbm9uLXN0YWluaW5nCitub24tc3dpbW1lcgorbm9uLXRlbnVyZWQKK25vbi11bmlvbi9TCitub24tdmVyYmFsL1kKK25vbi12b3Rlci9TTQorbm9vbnRpZGUvU00KK25vb250aW1lL1NNCitub3JhZHJlbmFsaW4KK25vcmFkcmVuYWxpbmUvTQorbm9ybWFsaXplcy9BCitub3J0aC9NU0cKK25vcnRoLWVhc3QvTQorbm9ydGhlcm4vUlMKK25vcnRoLVdlc3QvTQorbm90YXJpYWwKK25vdGF0aW9uJ3MvRgorbm90aWNlYWJsZS9VCitOb3R0aW5naGFtc2hpcmUvTQorbm91cmlzaGVkL2ZVCitub3VyaXNobWVudC9mCitub3V2ZWF1Citub3ZlbC8tTVEzUworbm92ZW5hL01TCitOb3ZvY2FpbmUKK05UCitudWNsZWFyLWZyZWUKK251Y2xlYXRpb24vTQorbnVkZ2UvR1NECitOdWdlbnQvTQorbnVrZS9TR01ECitudW1iZXJwbGF0ZS9NCitudW1iZXJzL0FlCitudXJzZW1haWQvU00KK251dHJpbWVudC9NUworbnV0cml0aW91c25lc3MvUworbnV0c2hlbGwvTVMKK251dHRpbmVzcy9TCitueW1waG9tYW5pYWMvUworT2FrbGFuZC9NCitvYi4KK29iZXllci9FTQorb2JmdXNjYXRpb24vTQorb2JqdXJnYXRlL0dTRG5OCitvYmxpZ2F0aW9uL00KK29ibGlnaW5nL1lQCitvYmxpdGVyYXRpb24vTQorb2Jsb25nL1BTCitvYm5veGlvdXNuZXNzL1MKK29ib2lzdC9TCitvYnNlcnZhYmlsaXR5L00KK29ic2VydmUvQnhrTlJsblNERworb2JzdGFjbGUvU00KK29ic3RldHJpYy9TCitvYnN0cnVjdGVyJ3MKK08nQ29ubm9yL00KK29jdGF2by9TTQorb2N0ZW5uaWFsCitvZGFsaXNxdWUvU00KK29kZS9NUworT2Rpcy9NCitPZG9tL00KK29lc3Ryb3VzCitvZmYvUkdNSgorb2ZmaGFuZGVkbmVzcy9TCitvZmZpY2lhdGlvbi9NCitvZmYtbGljZW5jZS9NUworb2dyZXNzL1MKK29pbC9tMlJaR01TRAorb2lsY2xvdGgvU00KK09qaWJ3YS9TTQorb2tyYS9NUworb2xlYWdpbm91cworTydMZWFyeS9NCitvbGVzCitvbGlnYXJjaHMKK09saXZpYS9NCitPbHltcGlhbi9TCitPbWFnaC9NCitPbmVpZGEvU00KK29uZS1vZmYKK29uLWxpbmUKK29ub21hdG9wb2VpYS9NUworT25vbmRhZ2EvU00KK29ucworb24tc2NyZWVuCitvbnRvbG9neS8xd01TCitvbnl4L1NNCitvb2RsZXMKK29wYWxlc2NlbmNlL1MKK29wZW4taGFuZGVkbmVzcy9TCitvcGVuLXBsYW4KK29wZXJhL25TdnVNVgorb3BlcmF0ZS9EU0dGTgorb3BwcmVzc2l2ZS9QCitvcHByb2JyaXVtL1NNCitvcHQvMXh3R1dTRAorb3B0aW1pemVkL1UKK29wdWxlbmNlL01TCitvci9OTW4KK29yZGVybHkvUworb3JkaW5hdGlvbidzL0YKK29yZWdhbm8vU00KK29yZ2FuaWMvUworb3JpZW50YXRpb24vRU1BCitvcmllbnQncworb3JpZ2luYWxpdHkvTVMKK29yaWdpbmF0aW9uL00KK29ybmVyaW5lc3Mncworb3JvZ3JhcGhpYy9NCitvcm9ncmFwaHkvV00KK09ydGl6L00KK09yd2VsbC9NCitPc2Jvcm4vTQorb3NjaWxsYXRpb24vTQorb3NtaXVtL00KK29zdGVuc2libGUvWQorb3N0ZW9hcnRocml0aXMvTQorb3N0ZW9wb3Jvc2VzCitvdWdodAorb3VnaHRuJ3QKK291ci9TCitvdmVyYnVpbGQvRworb3ZlcmJ1cmRlbi9rCitvdmVyZmxpZ2h0CitvdmVyaGFuZAorb3Zlci1yaWRlL0dTCitvdmVyLXRoZS1jb3VudGVyCitvdmVyLXRoZS10b3AKK292ZXJ0b25lCitvdmlmb3JtCitvd25lcnNoaXAvTVMKK294aWRlL1EtblNNcworb3h5bW9yb24vTQorb3pvbmUtZnJpZW5kbHkKK3BhY2VkL2UKK3BhY2VzZXR0aW5nCitwYWNpZmlzdC9XCitQYWNrYXJkL00KK3BhY2tpbmcvTVMKK1BhZGRpbmd0b24vTQorcGFlZGlhdHJpY3MvTQorcGFnZWJveS9TTQorUGFoYWppCitwYWludC9EUlNHTUoKK3BhaW50ZWQvQVUKK3BhaW50ZXIvWQorcGFpbnRzL0EKK3BhaXJ3aXNlCitwYWxhZW9lY29sb2dpc3QKK3BhbGVkL0kKK1BhbGVvem9pYworcGFsZXIvSQorcGFsZnJleS9TTQorcGFsbGFkaWEKK3BhbGxpYXRpb24vTQorcGFsbS9ETUczU1oKK3BhbG1pc3QveQorcGFscGFibHkvSQorcGFsc3kvRE1TRworcGFtcGhsZXQvU00KK3BhbmNocm9tYXRpYworcGFuY3JlYXRpYworcGFuZS9NRFMKK3BhbmVsbGlzdC9NUworcGFuaWMvR01TWkQKK3Bhbmt5CitwYW5vcmFtYS9NUworcGFudGVjaG5pY29uCitwYW50aWhvc2UKK3BhbnRpbGVzCitwYW50b21pbWUvM1NNREcKK3BhbnRzL2YKK3BhcGFyYXp6aQorUGFwZWV0ZS9NCitwYXBlcndlaWdodC9TTQorcGFyYWRlL1JNR0RTCitwYXJhZ2xpZGluZworcGFyYWdvbi9NUworcGFyYWdyYXBoL0RNU0cKK1BhcmFndWF5L00KK3BhcmFsZWdhbHMKK3BhcmFseXNlL1JTaEdXRGsKK3BhcmFtYWduZXQvTVcKK3BhcmFtb2VjaWEKK3BhcmFtb2VjaXVtL00KK3BhcmFwbGVnaWMvUworcGFyYXBzeWNob2xvZ2lzdC9TCitwYXJhcHN5Y2hvbG9neS9TTQorcGFyYXNpdGlzbS9TTQorcGFyYXNpdG9sb2d5L00KK3BhcmVudGhlc2lzZS9ECitwYXJlbnRoZXNpemUvRAorcGFyZW50aGV0aWNhbAorcGFyZXNpcy9NCitwYXJpbXV0dWVsL1MKK3BhcmthL01TCitQYXJrZXIvTQorcGFyb2R5L0czRE1TCitwYXJveHlzbWFsCitwYXJyaWNpZGUvTVMKK3BhcnNlCitwYXJ0YWtlL1JTRworcGFydGlhbHMKK3BhcnRpY2xlL1NNCitwYXJ0aWN1bGFyaXNtCitwYXJ0aXNhbi9NUworcGFydmVudS9NUworcGFzL0dSREoKK3Bhc3NhYmxlL0kKK3Bhc3NiYW5kCitwYXNz6S9NCitwYXNz6WUKK3Bhc3Nlcy9JY0ZmCitwYXNzaW5nL0ZjCitwYXNzaW9uYXRlL0ZFWQorcGFzc2l2ZW5lc3MvU0kKK3Bhc3N3b3JkL1NNRAorcGFzdG9yYWxpc20KK3Bhc3Qncy9BCitwYXRjaC9ERVNHCitwYXRjaGVyL0VNCitwYXRlbGxhdGUKK3BhdGgvcFNNCitwYXRobGVzc25lc3MKK3BhdGhvZ2VuZXNpcy9NCitwYXRpby9NUworcGF0cmlhcmNoYXRlL01TCitQYXRyaWNlCitwYXRyb2wvTURHUworcGF3bi9TR0RNCitwYXduYnJva2VyL1NNCitwYXllZS9NUworUEMvTQorcGVhY2VhYmxlL1AKK3BlYWsvRE0yU2lHWgorcGVhdC9aU00KK3BlYXR5L1QKK3BlYmJseS9UCitwZWNjYWRpbGxvZXMKK3BlY2NhcnkvTVMKK3BlZGVzdGFsL0RHTVMKK3BlZG9sb2d5CitwZWVsZWQvVQorcGVpZ25vaXIvTVMKK3BlbGwKK1BlbWJyb2tlc2hpcmUKK3BlbmNpbC9NR0RKUworcGVuZGluZworUGVuZGxlCitwZW5kdWxvdXMKK3BlbmV0cmF0b3IvU00KK3Blbmluc3VsYXIKK3Blbml0ZW5jZS9TSU0KK3Blbm1hbnNoaXAvTVMKK3Blbi1uYW1lL1MKK3BlbnRhdG9uaWMKK3BlcmNlaXZlci9TTQorcGVyY2hsb3JpbmF0aW9uCitwZXJjb2xhdGlvbi9NCitwZXJjdXRhbmVvdXMvWQorcGVyZGl0aW9uL01TCitwZXJmZWN0aWJpbGl0eS9NUworcGVyZmVjdGlvbmlzdC9TTQorcGVyZmlkeS9TTQorcGVyZnVzaW9uL00KK1BlcmljbGVzCitwZXJpZ2VlL01TCitwZXJpbmF0YWwKK3BlcmlwYXRldGljL1MKK3Blcmp1cmUvRFJTR1oKK3Blcm1hbGxveS9NCitwZXJtZWFiaWxpdHkvU0lNCitwZXJtaXNzaXZlbmVzcy9TCitwZXJtaXR0aXZpdHkKK3Blcm9yYXRpb24vU00KK3Blcm94aWRhc2UvTQorcGVyc2lzdGVudC9ZCitwZXJzb24vN29TTQorcGVyc29uYWJsZS9QCitwZXJzcGljYWNpb3VzL1lQCitwZXJ1c2UvRFJHUworcGVydmFzaXZlbmVzcy9TCitwZXJ2ZXJzZW5lc3MvUworcGVzdC9TTQorcGVzdGljaWRlL1NNCitwZXdpdC9TTQorcGhhbGFuZ2VzCitwaGFyeW5nZXMKK3BoaS9NUworcGhpbG9sb2d5L00xM3dTCitwaGlsb3NvcGhlci9NUworcGhsZWJvdG9teQorcGhsZWdtL1NNCitwaG9iaWMvUworcGhvbmVtZS9NUzEKK3Bob25leQorcGhvbmljcy9NCitwaG9zcGhvcmVzY2UKK3Bob3RvZW5ncmF2ZXIvU00KK3Bob3RvZ2VuaWMvWQorcGhvdG9taWNyb2dyYXBoL1pNCitwaG90b3JlYWxpc20KK3BoeXNpb2xvZ3kvV00xU3czCitwaHlzaW90aGVyYXBpc3QvU00KK3BpY2FyZXNxdWUKK3BpY2svRFJTR1pKCitwaWNrZXJlbC9NUworcGljdG9ncmFtCitwaWN0b2dyYXBoL1NNVworcGljdHVyZS13cml0aW5nCitwaWRnaW4vU00KK3BpZS9NUworcGllY2VtZWFsCitwaWV6b2VsZWN0cmljCitwaWdnaXNoL1lQCitwaWdneWJhY2svR0RTCitwaWtlc3RhZmYvTVMKK3BpbGluZy9NUworcGltZW50by9TTQorcGltcC9ZU0RNRworcGltcGx5L01UCitwaW4vTUdkREpTCitwaW5raWUKK3BpbmtuZXNzL1MKK3Bpbm5hCitwaW5uYWNlL1NNCitwafFvbi9TCitwaW91c25lc3MvSVMKK3BpcGl0L1NNCitwaXBwaW4vU00KK3Bpc3MvRFNHCitwaXQtYS1wYXQKK1BpdGNhaXJuCitwaXRtYW4vTQorcGxhY2VkL2FVQQorcGxhY2VraWNrL1NHRAorcGxhY2VtZW4KK3BsYWNrZXQvU00KK3BsYWdpYXJpc20vU00KK3BsYWljZS9NCitwbGFuYXJpdHkKK3BsYW5rdG9uL01TCitwbGFubmVkL0tVCitwbGFudC9JR1NEQTQKK3BsYXN0ZXJib2FyZC9TTQorcGxhdGVmdWwvUworcGxhdGVuL01TCitwbGF1c2libGUvSVkKK3BsYXkvZUdBREVTYWNmCitwbGF5aW5nL1MKK3BsYXl3cml0aW5nL00KK3BsZWFkL1NEUkdKaworcGxlYXRlci9NCitwbGVuaXBvdGVudGlhcnkvUworcGxldGhvcmEvTVMKK3BsaWFibGUvUAorcGxpYW5jeS9NUworcGxpYW50bmVzcy9NCitwbHVnaG9sZQorcGx1bWFnZS9TRE0KK3BsdW1wbmVzcy9TCitwbHV0b25pdW0vTQorcG5ldW1hdGljcy9NCitwb2NrZXRrbmlmZS9NCitwb2RneS9UUAorcG9kaWF0cnkvM1NNCitwb2lraWxvdGhlcm1pYworcG9pbnQtZHV0eQorcG9pc29ub3VzbmVzcworcG9sYXJpbWV0ZXIvU00KK3BvbGFyaXNlL0NSblNHRAorcG9sZS9NRFMKK3BvbGlvbXllbGl0aWRlcworcG9saXNoL1JESkdTCitwb2x0ZXJnZWlzdC9TTQorcG9seWFuZHJvdXMKK3BvbHlldGhlci9TCitwb2x5Z3lub3VzCitwb2x5aGVkcm9uL1NNCitwb2x5aXNvY3lhbmF0ZXMKK3BvbHltb3JwaGljCitwb2x5cGhvbnkvU01XCitwb2x5c3R5cmVuZS9NUworcG9seXRvcGVzCitwb2x5dW5zYXR1cmF0ZWQKK3BvbHl1bnNhdHVyYXRlcworcG9seXVyZXRoYW5lL1NNCitwb2x5dmlueWwvTQorcG9tcG9zaXR5L1NNCitwb29yaG91c2UvTVMKK3BvcGNvcm4vU00KK3BvcHB5L01TCitwb3JjaC9TTQorcG9ycGh5cnkvU00KK3BvcnRjdWxsaXMvTVMKK3BvcnRlbnRvdXMvUFkKK3BvcnRp6HJlL1NNCitwb3NlZC80QUkKK3Bvc2VyL0lNUworcG9zaXQvdnVTVmQKK3Bvc2l0aW9uL0NHQURLUworcG9zaXRpb25hYmxlCitwb3NpdGl2ZW5lc3MvUworcG9zaXRzL0MKK3Bvc3Nlc3NpdmVuZXNzL1MKK3Bvc3NpYmxlL1NJWQorcG9zdGFnZS9TTQorcG9zdGJhZy9NCitwb3N0ZXJpb3IvU1kKK3Bvc3RlcmlvcmkKK3Bvc3QtZmVtaW5pc3QKK3Bvc3QtZnJlZQorcG9zdGlsbGlvbgorcG9zdG1hcmsvTVNHRAorcG9zdC1vcmJpdAorcG9zdHNjcmlwdC9TTQorcG9zdC1zdHJ1Y3R1cmFsCitwb3N0dWxhdGlvbi9NCitwb3N0dXJlci9NCitwb3RhZ2UvTQorcG90LWJlbGx5L0RTTQorcG90aW9uL1NNCitwb3VmZmUvUworUE9XCitwb3dlcmJvYXQvU00KK3Bvd2VyZnVsL1AKK3BwbQorUFBTCitwcmFjdGlzZXIvTQorUHJhaWEvTQorcHJhbmNlL1JHU0RrCitwcmFuay9TTQorcHJhdHRsZS9EUlNHaworcHJlL1E4cworcHJlYW1ibGUvTQorcHJlY2VwdG9yL01TCitwcmVjaW91c25lc3MvUworcHJlY2lwaXRvdXMvWVAKK3ByZWNpc2lvbi9JTQorcHJlZGF0b3J5CitwcmVkaWNhYmxlL1MKK3ByZWRpY3RlZC9VCitwcmVkb21pbmF0ZS9ZCitwcmUtZWxlY3QKK3ByZS1leGlzdGVuY2UvU00KK3ByZWZhYi9EU01HCitwcmVmaXgvTQorcHJlaGVuc2lsZQorcHJlbWVkL3dTCitwcmVtaWVyc2hpcC9TTQorcHJlbWl1bS9TTQorcHJlcGFyYXRpdmUvU00KK3ByZXBvbmRlcmFuY2UvTVMKK3ByZS1wcm9ncmFtbWVkCitwcmVzZW50L05uTFlSUzd4bERHCitwcmVzZW50YXRpb24vTUFvCitwcmVzaWRlbnRpYWwvWQorcHJlc3MtdXAvUworcHJlc3N1cmUvTThxLTlHUXNEUworcHJlc3N1cmUtY29va2VyCitwcmVzdG8vUworUHJlc3Rvbi9NCitwcmVzdW1hYmxlCitwcmV0emVsL1NNCitwcmlhcGljCitwcmllc3Rlc3MvTVMKK3ByaW1hY3kvU00KK3ByaW1lL1BTCitwcmluY2Vkb20vU00KK3ByaW5jZWx5L1BUCitQcmluZ2xlL00KK3ByaW9yaQorcHJpc21hdGljCitwcmlzdGluZS9ZCitwcml0aGVlL1MKK3ByaXZhdGUvbllUUThTTi1xUFZ2Citwcml2YXRlZXIvTUdTCitwcml2aWxlZ2UvU0RNRworcHJpemV3aW5uZXIvUworcHJvYmFibGUvSQorcHJvY2FpbmUvU00KK3Byby1jaG9pY2UKK3Byb2NyYXN0aW5hdGlvbi9NCitwcm9kaWdhbC9TWQorcHJvZHVjZWQvZQorcHJvZHVjZXIvQU1TCitwcm9kdWNpYmxlCitwcm9mYW5lcgorcHJvZmVzc2lvbmFsaXNtL01TCitwcm9mZXNzb3Ivb1NNCitwcm9mZXNzb3JpYWwKK3Byb2dyYW1tZS9XU00KK3Byb2dyYW1taW5nL0MKK3Byb2plY3RpbGUvU00KK1Byb2tvZmlldi9NCitwcm9sYXBzZS9HU0RNCitwcm9sYXRlCitwcm9sZXRhcmlhbi9ROC1xUworcHJvbG9naXNlCitwcm9sb2dpemUKK3Byb21ldGhpdW0vTQorcHJvbWlzaW5nL1VZCitwcm9taXNzb3J5Citwcm9tb3Rpb24vTVMKK3Byb211bGdhdGUvR1NObkQKK3Byb25vdW5jZWQvVQorcHJvcGFnYXRpb24vTQorcHJvcGFnYXRvci9TTQorcHJvcGFuZS9TTQorcHJvcGhlY3kvU00KK3Byb3BvcnRpb25hbGl0eS9NCitwcm9wb3J0aW9uZXIvTQorcHJvcG9zZS9EUkdTTnhYCitwcm9wcmlvY2VwdGlvbgorcHJvLVJlcHVibGljYW4KK3Byb3NjcmliZS9EU1hWR04KK3Byb3NvZGljL1MKK3Byb3RhY3Rpbml1bS9NCitwcm90ZWN0aW9ucworcHJvdG9wbGFzbS9TV00KK1Byb3Rvem9hCitwcm90b3pvYW4vU00KK3Byb3RydWRlL1hTVnV2REdOCitwcm90dWJlcmFudAorcHJvdmVzL0FJCitwcm92aXNpb24vR01ECitwcm92b2NhdGl2ZS9QUworcHJvdm9jYXRpdmVuZXNzL1MKK3BydWRpc2gvUFkKK3BzaXR0YWNvc2VzCitwc3ljaGUvTQorcHN5Y2hvY3VsdHVyYWwKK3BzeWNob2xpbmd1aXN0aWNzL00KK3BzeWNob25ldXJvc2lzL00KK3BzeWNob3MvUworcHN5Y2hvdGhlcmFwZXV0aWMvUworcHN5Y2hvdGhlcmFweS9TTQorcHN5Y2hvdGljL1NZCitwdWIvTVdTREcKK3B1YmVydHkvTVMKK3B1YmxpY2F0aW9uL0tNQQorcHVibGljJ3MvQQorcHVja2VyL2RTCitwdWRkbGluZy9NCitwdWZmZXIvWgorcHVnbmFjaXR5L1NNCitwdWxjaHJpdHVkaW5vdXMvTQorcHVsbGV5L1NNCitwdWxsb3Zlci9TTQorcHVtcGluZy9NCitwdW1wa2luL01TCitwdW5jdHVhbGl0eS9VTQorcHVuaXNoZWQvVQorUHVuamFiaQorcHVwYS9NCitwdXBpbC9TTQorcHVwcGV0cnkvU00KK3B1cmJsaW5kCitwdXJjaGFzYWJsZQorcHVyZGFoL1NNCitwdXJlbmVzcy9TCitwdXJsaWV1cworcHVyc3VhbmNlL01TCitwdXJ2aWV3L01TCitwdXQvRFJHWlMKK3B1dHRlZC9lCitweXJvbWFuaWFjL01TCitweXJvdGVjaG5pYy9TCitweXJ1dmljCitQeXRoYWdvcmVhbgorcS50LgorcXVhY2svREdTCitxdWFkcmljZXBzL1NNCitxdWFkcmlsbGUvU00KK3F1YWRyaWxsaW9uL0hNUworcXVhZmZlci9NCitxdWFudGlmaWFibGUvVQorcXVhbnRpZnkvN05SREduUworcXVhbnRpdHkvTVMKK3F1YXJ0ZXJkZWNrL1NNCitxdWFzaC9TR0QKK3F1YXRlcm5hcnkvUworUXVheWxlCitxdWluY2VudGVuYXJ5L00KK3F1aXNsaW5nL1NNCitxdW9pdC9HRFNNCitxdW9ydW0vU00KK3F1b3RhL01TbgorcXVvdGVkL1UKK3F1b3RoCityYWJibGUtcm91c2luZworcmFjaWFsaXNtL00KK3JhY2svU0RHTQorcmFjcXVldC9TTQorcmFkaWFuY2UvTVMKK3JhZGlhbnQvWQorcmFkaW9hY3Rpdml0eS9NCityYWRpb2NhcmJvbi9NUworcmFkaW8tdGVsZWdyYXBoL1NaCityYWRpby10ZWxlcGhvbmUvTVMKK3JhZGlzaC9TTQorcmFkaXVtL00KK1JhaWtrb25lbgorcmFpbi9ETUdTcFoKK3JhaW5jb2F0L1NNCitSYWl0aAorcmFqYWgvTVMKK3JhbXAvRE1TRworcmFtcGFudC9ZCityYW1zaGFja2xlCityYW4vQWVjCityYW5jb3JvdXMvWQorUmFuZ29vbi9NCityYXBlc2VlZC9NCityYXBpZXIvTVMKK3JhcHBvcnQvTVMKK3JhcmUvWUdUUAorcmFyZWJpdC9NUworcmF0YXRvdWlsbGUKK3JhdGlvbmFsaXN0L1cKK3JhdGxpbmUvTVMKK3JhdHRsZS9SR1lKRFMKK3JhdmlzaC9EUkdMU2sKK3Jhdy9ZVFAKK3JlYWN0aXZlL05uCityZWFkZHJlc3MvRworcmVhbGlzYWJsZS9VCityZWFwcG9pbnQvTEcKK3JlYXIvRFJNR1MKK1JlYmEvTQorcmVicm9hZGNhc3QvTQorcmVjYWxjaXRyYW50CityZWNpdGFsaXN0CityZWNrb25lci9NCityZWNsYW1hdGlvbi9NUworcmVjbHVzZS9NU1ZOCityZWNvbWJpbmFudAorcmVjb21waWxlL05uCityZWN0aWZ5L0dON25EUlMKK3JlY3VzYW5jZS9aCityZWRlY2xhcmUvTgorcmVkLWV5ZQorUmVkZm9yZC9NCityZWQtaG90CityZWRvL0cKK3JlZHVjdGlvbmlzbS9NCityZWVrL1NERworcmUtZW51bWVyYXRlL04KK3JlLWVxdWlwL0cKK3JlLWVzdGFibGlzaAorcmVmZXJlbnRpYWwvWQorcmVmZXJyYWwvU00KK3JlZmxhdGlvbi95CityZWZsZXhpdml0eS9NCityZWZsdWVuY2UKK3JlZnJhY3Rpb24KK3JlZnJhY3RvbWV0cnkKK3JlZnJhY3RvcmluZXNzCityZWZ1cm5pc2gvRworcmVmdXRhdGlvbi9NCityZWcvbworcmVnYWxlL0RHCitSZWdnaWUvTQorcmVoZWFyc2VkL1VmCityZWhlYXJzZXIvTQorUmVpbGx5L00KK3JlbGVhc2FibGUKK3JlbGVudGxlc3MvWQorcmVsZXZhbmNlL01JWgorcmVsaWFiaWxpdHkvVU0KK3JlbGllZi9NCityZWxpZ2h0L0cKK3JlbGlnaW9uLzNTTQorcmVsaWdpb3NpdHkvTQorcmVsaXF1YXJ5L1NNCityZW1lbWJyYW5jZS9NUworcmVuYWlzc2FuY2UvUworcmVuYWwKK3JlbnQvRE1SU0cKK3JlcC9NUworcmVwYWlyJ3MvRQorcmVwYXN0CityZXBlYXRhYmxlL1UKK3JlcGVudGVyCityZXBldGl0aW91cy9ZCityZXBsYWNlL0wKK3JlcGx5L05SbkdWCityZXByZXNzaW9uL00KK3JlcHJvYWNoL2tEUzZHN2oKK3JlcHJvZ3JhbS9HUkQKK3JlcHVibGljL25OUworcmVwdXRhYmx5L0UKK3JlcXVlc3Rpb24vRworcmVxdWl0YWwvU00KK3JlcmVjb3JkL0cKK3Jlc2VtYmxlL0RTRworcmVzZXJ2ZS9uTmloMworcmVzZXJ2b2lyL01TCityZXNldC9HCityZXNpZGUvREcKK3Jlc2lnbi9pbmhOCityZXNpc3RpYmx5L0kKK3Jlc29sdmUvQgorcmVzcG9uZGVyL01TCityZXNwb25zaWJsZS9QSVkKK3Jlc3RhdXJhdGV1ci9TTQorcmV0YXJkYW50L1NNCityZXRhcmRhdGlvbi9NCityZXRlbnRpb24vU00KK3JldGljdWx1bS9NCityZXRpbnVlL01TCityZXRyZW5jaC9MCityZXRyaWV2YWJsZS9JCityZXZlbC9uUkpTREd5TgorcmV2ZXJiZXJhdGUvTkRHU24KK3JldmVyYmVyYXRpb24vTQorcmV2ZXJlbmNlZAorcmV2ZXJzZS9HYlkKK3JldmlzZS9OWAorcmV2aXRhbGlzZS9SbgorUmV2bG9uL00KK3Jldm9sdmFibGUKK3Jld3JpdGFibGUKK1JleC9NCitSaAorcmhlb2xvZ3kvdzNNCityaGV1bWF0aWMvU1oKK3JoZXVteS1leWVkCityaGluZXN0b25lL01TCityaGlub2Nlcm9zL1NNCitSaG9kZXNpYS9NCitSaG9uZGEvTQorcmh5dGhtLzFNd1NXCityaWJvc29tYWwKK1JpY2hhcmRvL00KK1JpY2thcmQvTQorcmlja2V0eS9UCityaWRlL0dDUlMKK3JpZGVyJ3MvY2UKK3JpZGljdWxvdXMvWVAKK3JpZGluZy9NCityaWZmL01TCityaWZmbGUvRFNHCityaWZmLXJhZmYvTQorcmlmbGUvbUdTTUQKK3JpZmxlLWZpcmUKK3JpZmxpbmcvTQorcmlnaHQtYW5nbGVkCityaWdodGlzdAorcmlnaHRtb3N0CityaWdpZGlmeS9TCityaWdvdXIvU00KK3JpbWUvU00KK3JpbmctcHVsbAorcmluZ3NpZGUvTVJTCityaW5zZXIKK3JpcGVuL2RTCityaXBwbGUvR01ZRFMKK3JpdHp5L1QKK1JpdmEvTVMKK3JpdmUvUkdEUworUml2aWVyYS9NCityaXZpbmcvQworcml5YWwvU00KK1JvYXJrZS9NCityb2JiZXJ5L1NNCitSb2JlcnNvbi9NCitSb2Jlc3BpZXJyZS9NCitSb2JpbnNvbi9NCityb2JvdGljL1MKK1JvYnNvbi9NCityb2NrLWNsaW1iZXIvUworcm9ja2V0cnkvU00KK1JvY2tpbmdoYW0KK1JvY2tsYW5kL00KK1JvZG9sZm8vTQorcm9sbC9HVVNECityb2xsLWJhY2svU00KK1JvbGxpbi9NUworUm9sbG8vTQorUm9tZXJvL00KK3Jvb2lib3MKK3Jvb3RzdG9jay9NCityb3BlL0dSRDdTTQorUm9xdWVmb3J0L00KK1Jvc2NvZS9NCitSb3NlYmVyeS9NCityb3NlLWNvbG91cmVkCitSb3NlbGxlL00KK1Jvc2VudGhhbC9NCityb3NlLXJlZAorUm9zdG92L00KK3JvdGFyeS9TCityb3RhdGlvbi9NCityb3VnaC9HU0RQVFkKK3JvdWdoLWhld24KK3JvdWdoc2hvZAorcm91bmRlbGF5L1NNCityb3VuZGlzaAorcm93ZHkvUFRTWQorUm94aWUvTQorcm95YWxpc3QKK1JzLgorUlNQQ0EKK1J1YmVuL01TCitydWJpY3VuZAorcnVib3V0CitSdWR5L00KK1J1aHIvTQorcnVtYmxlL1NHREoKK3J1bWVuL01TCitydW1teS9UTQorcnVtb3VyL0RHU00KK3J1bXBsZS9TR0QKK1J1bmRsZS9NCitydW5nL1NNCitydW5uYWJsZQorcnVubmVyL1NNCitydW4tdGhyb3VnaAorcnVzZS9TTQorcnVzaC1ob3VyCitSdXNraW4vTQorUnVzcworUnVzc2lhbi9TTQorcnVzdGljYXRpb24vTQorUnV0aGllL00KK1JWCitTYWJpbi9NCitTYWJyaW5hL00KK3NhY2tjbG90aC9NCitzYWNyZWQvWQorc2FnL0dEU1oKK3NhaGFyYQorc2FpZC9VCitzYWludGxpbmVzcworc2FpbnRseS9UCitzYWtlL1MKK3NhbGVhYmxlL1UKK3NhbGxvdy9UCitTYWxvCitTYWx0bGV5CitzYWx0bHkKK3NhbHRuZXNzCitzYWx1YnJpb3VzbmVzcworc2Fsdm8vTQorc2FtYXJpdW0vTQorU2FtdWVsc29uL00KK3NhbmRiYW5rL01TCitzYW5kYm94L01TCitzYW5lbHkvSQorc2FuZW5lc3MKK3Nhbmd1aW5hcnkKK3NhbmsKK1NhbnRvL1NNCitzYXAvRE1SWkcycFMKK3NhcmNvbWEvTVMKK3NhcmNvcGhhZ2kKK3NhcnRvcmlhbC9ZCitTYXNrYXRjaGV3YW4vTQorc2F0ZS9TCitzYXRpYXRlL0duRFNOCitzYXRpc2ZpZWQvRVUKK3NhdHVybmFsaWEKK3NhdW50ZXJlcgorc2F2YWJsZQorc2F2b3VyeS9VCitzYXdib25lcy9NCitTYXhvbi9NUworc2F5L1JHSlMKK3NjYWQvTQorc2NhbGFiaWxpdHkKK3NjYWxkL0dTRAorc2NhbS9NREdTCitzY2Fucy9OWAorc2NhcmVjcm93L01TCitzY2FyZW1vbmdlcmluZworc2NhcmlmaWNhdGlvbi9NCitzY2FyaWZ5L05HRFMKK3NjYXJsZXQvTQorc2NoaXN0L00KK1NjaG5laWRlci9NCitTY2hvZW5iZXJnL00KK3NjaG9sYXJzaGlwL01TCitzY2hvb2wtYWdlCitzY2lhdGljCitzY2llbmNlL00zU1cKK3NjaWVuY2Uncy9GSworc2Npb24vU00KK1Njb3JwaW8vTVMKK3Njb3QKK3Njb3QtZnJlZQorc2NvdXIvU0RSRworc2NvdXRtYXN0ZXIvU00KK3Njb3dsL0dTRAorc2NyYXdsL1NER1kKK3NjcmVlZC9TTQorc2NyZWVuaW5nL00KK3NjcmliYmxlL1JTR0RKCitzY3JpdmVuZXIvTVMKK3Njcm9mdWxvdXMKK3NjcnV0aW5lZXJzCitzY3VycmlsaXR5L01TCitzY3Vycmlsb3VzL1lQCitzZWFib2FyZC9NCitzZWFxdWFrZS9NCitzZWFyY2hhYmxlL1UKK3NlYXNvbmFibGVuZXNzL1UKK3NlYXNvbmluZy9NCitzZWF3YWxsL1MKK3NlYXdlZWQvU00KK3NlY2F0ZXVycworc2VjZWRlcgorc2Vjb25kYXJ5L1kKK3NlY3Rpb24ncy9FCitTZWRlci9NUworc2VkaW1lbnRhcnkKK3NlZGl0aW91c25lc3MKK3NlZHVjZS9SRE5WdnVHU24KK3NlZHVsb3VzL1kKK3NlZW1seS9UUAorc2Vlcy9jCitzZWdyZWdhdGVkL1UKK1NlaWRlbC9NCitzZWl6YWJsZQorU2VsYXNzaWUvTQorc2VsZWN0aXZlbmVzcworU2VsZW5hL00KK3NlbGVuaXVtL00KK1NlbGV1Y2lkL00KK3NlbGYtYXdhcmUKK3NlbGYtYXdhcmVuZXNzCitzZWxmLWNlbnNvcnNoaXAKK3NlbGYtY29uZmlkZW50L1kKK3NlbGYtY29udHJhZGljdGlvbgorc2VsZi1kZWNlcHRpb24KK3NlbGYtaW50ZXJlc3QvRAorc2VsZi1zYXRpc2ZpZWQKK3NlbGYtdGF1Z2h0CitTZWxraXJrL00KK3NlbGwtYnkKK3NlbGwtb3V0CitzZWx0emVyL1MKK3NlbWlhcmlkCitzZW1pLWR1cGxleAorc2VtaS1pbmZpbml0ZQorc2VtaW5hbC9ZCitzZW1pLXJpZ2lkCitzZW1pLXNraWxsZWQKK1NlbWl0ZS9XU00KK3NlbWktdG9uZS9NUworc2VtaXRyYW5zcGFyZW50CitTZW5lZ2FsZXNlCitzZW5lc2NlbnQKK3NlbnNpdGlzaW5nL0MKK3NlbnNpdGl2aXR5L0lNUworc2Vuc2l0aXppbmcvQworc2VudGVuY2UvTUdEUworc2VwYWwvU00KK3NlcGFyYWJpbGl0eS9JCitzZXBhcmFibGVuZXNzCitzZXBhcmF0aXNtL01TCitTZXBoYXJkaWMKK3NlcHQvTldNCitzZXJhcGgvVzFTTQorc2VyZW5lL1RZCitzZXJvbG9neS93MU0KK3NlcnZlL0FHQ1NLREYKK3NlcnZlci9DS1NNCitzZXJ2aW5nL0NTCitzZXJ2aXR1ZGUvU00KK3NldmVudHktZWlnaHQvSAorc2V2ZW50eS1zaXgvSAorc2V2ZW50eS10d29mb2xkCitzZXZlcmUvb1RZCitzZXh1YWxpdHkvTVMKK1NndC4KK3NoYWJiaW5lc3MKK3NoYWRvd2VkL2MKK3NoYWRvd2VyL00KK3NoYWRvd2luZy9jCitTaGFmdGVzYnVyeS9NCitzaGFreS9ZVAorc2hhbG9tCitzaGFtYW5pc20KK3NoYW1lLzZNanBTCitTaGFtdXMvTQorc2hhcGVsZXNzL1BZCitzaGFyZWhvbGRlci9NUworc2hhcmsvU00KK3NoYXJwZW5lci9TCitzaGVlcHdhbGsvTVMKK3NoZWlrL1NNCitzaGVsbGZpcmUvTQorc2hlbGxmaXNoL00KK3NoZWx0ZXIvZHJTTQorc2hlbHRlcmVkL1UKK3NoZXBoZXJkL0dNU0QKK1NoZXJpZGFuL00KK1NoZXRsYW5kL1MKK3NoaW5nbGUvRE1TRworU2hpbnRvaXNtL1MKK3Nob2VsYWNlL01TCitzaG9lbWFraW5nCitzaG9wLWJveS9NUworc2hvcC1mbG9vcgorc2hvcHBpbmcvTQorc2hvcnRhZ2UvTVMKK3Nob3J0Y3J1c3QKK3Nob3J0LXNpZ2h0ZWQvWQorc2hvdWxkZXIvZAorc2hvdWxkZXItbGVuZ3RoCitzaG92ZS9EU0cKK3Nob3dpbmcvTQorc2hvdy1wbGFjZS9NUworc2hyYW5rL0sKK3Nocmllay9EUlNNRworc2hydWJiZXJ5L01TCitzaHJ1YmJ5L1QKK3NocnVnL1NERworc2h1c2gvRFNHCitzaHV0dGVyL2RwCitzaHllc3QKK3NpY2tpc2gKK3NpY2stbGlzdAorc2lkZS1ieS1zaWRlCitzaWRlLWNoYXBlbAorc2lkZWQvWQorc2lkZWRuZXNzCitzaWRlbGlnaHQvTVMKK3NpZGUncy9mCitzaWRlc3RlcC9HRFMKK3NpZGUtdGFibGUvUworU2lkbmV5L00KK1NpZWdlbC9NCitzaWZ0ZXIvU00KK3NpZ25pZmljYW5jZS9JU00KK3NpZ25vci9NRgorc2lnbm9yaW5hL1NNCitTaWtoL1NNCitzaWxlbnQvWQorc2lsdmVyZmlzaC9TTQorU2lsdmVybWFuL00KK1NpbW1vbnMvTQorc2ltcGxpY2l0eS9NUworc2luY2UKK3NpbmdsZS1oYW5kZWQvWQorc2lyZW4vU00KK1Npc3lwaHVzL00KK3NpdC9SR1NKCitzaXh0eS1zaXgvSAorc2thdGluZy1yaW5rCitza2lsbC9EU00KK3NraWxsZWQvVQorc2tpbi10aWdodAorc2tpdnZ5L0RNU0cKK3NraXdlYXIKK3NrdWxrL1JHU0QKK3NreS1ibHVlCitTa3lsYWIvTQorc2t5bGluZS9NUworc2xhbS9SR1NECitzbGFuZGVyb3VzL1kKK3NsYXAtdXAKK3NsZWF6eS9QVFkKK3NsZWV2ZS9TTUdEcAorc2xldXRoL0dNRFMKK3Nsb2IvU00KK3Nsb3QvREdTTQorc2xvdWNoL0RTR1oKK1Nsb3VnaC9NCitTbG92YWsvUworU2xvdmFraWEvTQorc2xvd2Rvd24vTVMKK3NsdWUvRFNHCitzbHVtYmVyL01kUworc2x5bmVzcy9NCitTbQorc21hY2svR1NNRFIKK3NtYWxsL1NUCitzbWFsbGhvbGRpbmcvU00KK3NtYWxsLW1pbmRlZAorc21hbGwtbWluZGVkbmVzcworc21hbGwtdGltZQorc21hbGwtdG93bgorc21hc2gvUmtTR0QKK3NtYXNoLWFuZC1ncmFiCitzbWF0dGVyaW5nL1NNCitzbWlsYXgvTVMKK3NtaWxpZXMKK3Ntb2NraW5nL00KK3Ntb2tlc2NyZWVuL1MKK3Ntb2tlLXN0b25lCitzbW9raW5nLWphY2tldAorc21vb3RoaXNoCitzbXVnL1BUWQorc25ha2UvR1pETVMKK3NuYXBweS9UUAorc25hcmUvR0RNUworc25hcmVyL00KK3NuYXJsL1NER2tZCitzbmlja2VyL2QKK3NuaXRjaC9HRFMKK3Nub2JiaXNoL1kKK3Nub2JiaXNobmVzcworU25vZGdyYXNzL00KK3Nub29rZXIvZAorc25vb3QvU3pNMloKK3Nub3dkcmlmdC9TTQorc25vd2ZpZWxkL1NNCitzbnViLW5vc2VkCitzb2Fwc3Vkcworc29jaW9tZXRyeS9NVworc29jay9ETVNHCitzb2NrZXQvZE1TCitzb2V2ZXIKK3NvaWdu6Qorc29sZWx5Citzb2xpY2l0ZWQvVQorc29saWQtc3RhdGUKK1NvbGlzL00KK3NvbWFsaWEKK3NvbWVvbmUvTQorc29uL01XMVNaCitzb3JlL1RTWQorc29ycmVsL1NNCitzb3Jyb3dlci9NCitzb3JyeS9UUFkKK3NvcnRlci9TTQorc29ydHMvSworc291bGxlc3MvWQorc291bmQvR0pTVE1EUllwCitzb3VuZGluZy9NCitzb3VuZHMvQQorc293L1JHRFMKK3NwYS9NUworc3BhY2llc3QKK3NwYWRld29yay9NCitzcGFyZXN0CitzcGFyc2VuZXNzCitzcGVha2luZy9VYQorc3BlYXJoZWFkL0dTTUQKK3NwZWNpYWxpc2UvY25HRFMKK3NwZWNpZmllcy9BCitzcGVjaW1lbi9TTQorc3BlY2lvdXMvUFkKK3NwZWN0cm9ncmFwaC9aMU0KK3NwZWN0cm9waG90b21ldGVyL01XUworc3BlY3VsYXRvci9TTQorc3BlZWNobGVzcy9QWQorc3BlZWRib2F0ZXIKK1NwZW5jZXIvTQorc3Bldy9EUlNHCitzcGlkZXIvTVpTCitTcGllbGJlcmcvTQorc3BpbGxlcgorc3BpbmUtY2hpbGxpbmcKK3NwaW5ldC9TTQorc3Bpbm5lcmV0L1NNCitzcGlyYWVhL01TCitzcGlyaXR1YWxuZXNzCitzcGxhc2hkb3duL1NNCitzcGxlbmRpZmVyb3VzbmVzcworc3BsaXQvU1JHTQorc3BvaWwvQ1NSREcKK3Nwb2tlc3Blb3BsZQorc3Bvb25iaWxsL01TCitzcG9vci9TTQorc3BvcnJhbi9TTQorc3BvdXNlL1NNCitzcHJhbmcKK3NwcmVhZC9DR2NTZQorc3ByZWFkLWVhZ2xlZAorc3ByZWFkc2hlZXQvUworc3ByaW5neS9UUAorc3ByeQorc3B1ZC9TREdNCitzcHVybi9EU0cKK3NwdXJuZXIKK3NwdXRhCitzcXVlZWdlZS9NU0cKK3NxdWVlemFibGUKK1NxdWliYi9NCitzcXVpcmVkb20KK3NxdWlyZXNoaXAKK3NxdWlycmVsL1lNR1NECitzcXVpcnRlci9NCitzdGFiL1JZREpTRworc3RhYmlsaXR5L01TSQorU3RhZmZvcmRzaGlyZS9NCitzdGFsbGhvbGRlcnMKK3N0YWx3YXJ0L1lTCitzdGFsd2FydG5lc3MKK3N0YW5kL1NmR0oKK3N0YW5kLW9mZi9TCitzdGFwaHlsb2NvY2NhbAorc3RhcGh5bG9jb2NjdXMKK3N0YXItc3BhbmdsZWQKK3N0YXJ0L1JTREcKK3N0YXJ0cy9BCitzdGF0aXN0aWNhbAorc3RhdGlzdGljaWFuL1NNCitzdGF0b3IvU00KK3N0ZWFsZXIvTQorc3RlYW0velIyREdNWlMKK3N0ZWVkL1NNCitzdGVlbC1jbGFkCitzdGVlci9HU0Q3CitzdGVnb3NhdXJ1cy9TCitzdGVtL3BHTURTCitzdGVudG9yaWFuCitzdGVwY2hpbGRyZW4KK3N0ZXBsYWRkZXIvU00KK3N0ZXJpbGlzZS9BRFNHCitzdGVybi9TWVQKK3N0ZXZlZG9yZS9TTQorc3RpY2svUlpTMkd6TQorc3RpY2t5L1BUCitzdGlmZmVuL3JTZAorc3RpZ21hdGlzZWQvVQorc3RpbGUvTVMKK3N0aWxsL1NEUFRHCitzdGltdWxpL00KK3N0aW50aW5nL1UKK1N0aXJsaW5nL00KK3N0aXJydXAvU00KK3N0b2NoYXN0aWMvWQorc3RvY2tpbmcvTVNECitzdG9ja3Rha2luZy9NCitTdG9kZGFyZC9NCitzdG9kZ2UvMk1aCitzdG9saWQvWQorc3RvbGlkaXR5CitzdG9tYWNoL1I2cERNRworc3RvbmVtYXNvbi9TTQorc3RvbmV3b3J0L00KK3N0b3BvZmYKK3N0b3BvdmVyL1NNCitzdG9yZXkvUworc3Rvcmsncy1iaWxsCitzdG9ybS1jb2NrL01TCitzdG9ybS1kb29yL1NNCitTdG9ybm93YXkvTQorU3RvdXJicmlkZ2UKK1N0cmFjaGFuCitzdHJhZmUvU0dECitzdHJhZ2dseS9UCitzdHJhaWdodC1laWdodAorc3RyYWl0L1NNWQorc3RyYWl0LWxhY2VkCitzdHJhdGVnaWMvUworc3RyYXllci9NCitzdHJlc3NlZC9VCitzdHJlc3NmdWxuZXNzCitzdHJldGNoeS9UCitzdHJpZGRlbgorc3RyaWtlYnJlYWsvUkcKK3N0cmlrZS1icmVha2luZworc3RyaW5nL0FHUworc3RyaW5nZW50L1kKK3N0cm9iZS9TTQorc3Ryb2tlL1NHRE0KK3N0cnVjaworc3RydWdnbGVyL00KK3N0cnVtL0RHUworc3RydW1wZXQvTVMKK3N0dWZmeS9ZVFAKK3N0dW1ibGUvR1NEUmsKK3N0dW1weS9UCitzdWF2aXR5L00KK3N1Yi1hcXVhCitzdWItYmFzZW1lbnQvTVMKK3N1YmNvbnRyYWN0b3IvU00KK3N1YmRpcmVjdG9yeS9TCitzdWJkaXZpZGUvWFNER04KK3N1Yi1lZGl0L2QKK3N1YmZhbWlseS9NUworc3ViZnVzYworc3ViZ2VuZXJhL1cKK3N1YmplY3QvdkdTRHVNVgorc3ViamVjdGl2aXNtCitzdWJqZWN0aXZpc3QvUworc3ViamVjdGl2aXR5L1NNCitzdWJsZXQvU0cKK3N1Ym1lcnNlL1NiWEdETgorc3VibWl0L0FOU0dEWAorc3Vib3JuL05HRFMKK3N1YnNjcmlwdC9ER1MKK3N1YnNpZGlzZWQvVQorc3Vic2lzdC9HU0QKK3N1YnNwZWNpZXMvTQorc3Vic3RhdGlvbi9TTQorc3Vic3RyYXR1bS9NCitzdWJzdHJ1Y3R1cmUvTVMKK3N1YnN1bWUvR1NECitzdWJ0ZW5kL1NERworc3VidGl0bGUvTVNHRAorc3VidmVydC9TREcKK3N1Y2NvdXIvU0dNRHAKK3N1ZHMvWgorc3VmZml4L25TR0RNCitzdWZmdXNpb24vTQorc3VpY2lkZS9Tb00KK3N1bGt5L1QKK1N1bWF0cmEvTQorc3VtbWF0aW9uL0ZNUworc3VuYnVybi9NU0QKK3N1bmdsYXNzZXMKK1N1bm5pL01TCitTdW5ueXZhbGUvTQorc3Vucm9vZi9TCitzdW5zaGFkZS9TTQorc3VwZXJhYnVuZGFuY2UvTQorc3VwZXJjaWxpb3VzL1lQCitzdXBlcmNvb2xlZAorc3VwZXJmaWNpYWxpdHkvUworc3VwZXJmaW5lCitzdXBlcmludGVuZC9EU0cKK3N1cGVybmF0YW50CitzdXBlcm5hdHVyYWwvUFkKK3N1cGVyc3Rhci9TTQorc3VwZXJzdGl0aW9uL1NNCitzdXBlcnN0cnVjdHVyZS9TTQorc3VwZXJ2aXNlZC9VCitzdXBpbmUvUFkKK3N1cHBsZW1lbnRhcnkvUworc3VwcHJlc3Npb24vTQorc3VwcmEKK1N1cHQuCitTdXJhYmF5YS9NCitzdXJlLWZvb3RlZC9ZCitzdXJlLWZvb3RlZG5lc3MKK3N1cmZhY2UtYWN0aXZlCitzdXJmYWNlLXRvLWFpcgorc3VyZmFjZS10by1zdXJmYWNlCitzdXJmYm9hcmQvTUdTCitzdXJmZWl0L01HU0QKK3N1cmdpY2FsL1kKK1N1cmluYW1lc2UKK3N1cm1pc2UvREdTCitzdXJyZWFsCitTdXJyZXkvTQorc3VzY2VwdGliaWxpdHkvTVNJCitTdXphbm5lL00KK3N1emVyYWluL1NNCitzd2FzaGJ1Y2tsZXIvU00KK3N3ZWF0c2hpcnQvUworc3dlYXR5L1BUCitzd2VlcHN0YWtlL01TCitzd2luZWhlcmQvU00KK3N3aW5nZWluZy9ZCitzd2l0Y2gvRE1SR1MKK3N3aXRjaC1vdmVyL00KK3N3b29zaC9EU0cKK3N3b3JkL1NtTQorc3d1bmcKK3N5Y2Ftb3JlL1NNCitzeWxsYWJhcnkKK3N5bXB0b21hdG9sb2d5L00KK3N5bmFlc3RoZXRpYworc3luY2hyb25pemVkL0NVCitzeW5jaHJvbml6ZXIvQ1NNCitzeW5kaWNhbGlzdAorc3lub255bWl0eQorc3lub3BzaXMvTQorc3ludGhlc2lzL3JROVM4ZE0KK3N5bnRoZXRpYy9TWQorc3lwaGlsaXRpYy9TCitzeXN0ZW1hdGlzZS9uUlNHRAorc3lzdGVtYXRpemUvTlJTR25ECit0YWJib3VsZWgvUwordGFibGVzcG9vbmZ1bC9NUworVGFmdC9NCit0YWlnYS9TTQordGFpbC9BTUNEU0cKK3RhaWxnYXRlL0cKK3Rha2Utb2ZmL1NNCit0YWtlci9jUworVGFsYm90L00KK1RhbGllc2luL00KK3RhbGtpZQordGFtZS9SVEdEWVM3Cit0YW1wZXIvcmRTCitUYW5ha2EvTQordGFuZG9vcmkvUwordGFuZ3kvVAorVGFuaWEvTQordGFucy9aCitUYW9pc20vTVMKK3RhcC1kYW5jZS9HCit0YXIvRE1aR1MKK3RhcmFudHVsYS9TTQorVGFyYXdhL00KK3RhcnN1cy9NCit0YXJ0YW4vTVMKK1Rhc2hrZW50L00KK1Rhc21hbmlhL00KK3Rhc3RlbGVzcy9QWQordGF2ZXJuYS9TCit0YXdueS9UTQordGF4LWRlZHVjdGlibGUKK1RjaGFpa292c2t5L00KK1RDUAordGVhY2hpbmcvTQordGVhY2xvdGgKK3RlYXItb2ZmCit0ZWFzZQordGVhc2VsL01TCit0ZWF6ZWwKK3RlZGR5L01TCit0ZWV0ZXIvZFMKK3RlZXRvdGFsL1IKK1RlaWduYnJpZGdlCitUZWwuCit0ZWxlZmFjc2ltaWxlCit0ZWxlbWV0ZXIvV1NNCit0ZWxlbWV0cnkvTVMKK3RlbGVwYXRoaWMKK3RlbGV0ZXh0Cit0ZW1wZXJhbWVudGFsCit0ZW1wZXJhdGVuZXNzCit0ZW1wZXJhdHVyZS9NUwordGVtcHQvU1JuR0RrTgordGVuYWNpb3VzL1kKK3RlbmV0L1NNCit0ZW5zaW9uZXIvUwordGVudGF0aXZlbmVzcwordGVudGVyL00KK3RlcGlkbmVzcwordGVyY2VudGVubmlhbC9TCit0ZXJtaW5pCit0ZXJtLXRpbWUKK3Rlcm5hcnkvUwordGVycmVzdHJpYWwvWVNNCitUZXJyaWxsL00KK3RlcnRpYXJ5L1MKK1Rlc3NhL00KK3Rlc3NlbGxhdGlvbi9NCit0ZXN0aW1vbnkvTVMKK3Rlc3Qncy9GCit0ZXN0LXR1YmUKK3RldGhlcmVkL1UKK3RleHRpbGUvU00KK1RoYWkvUworVGhhbWVzCit0aGFuZS9TTQordGhhbmtsZXNzbmVzcworVGhhdGNoZXIvTQordGhhdCdsbAordGhlcm1pb25pY3MvTQordGhlcm1vY2hlbWljYWwKK3RoZXJtb3BsYXN0aWMvUwordGhlc2F1cnVzL1NNCitUaGVzcGlhbi9TCitUaGVzc2FseS9NCit0aGlja2VuL1NkcgordGhpZXZlL0d5RFMKK3RoaW1ibGVmdWwvTVMKK3RoaW5nYW1hYm9iL01TCit0aGlyZC1jbGFzcwordGhpcnR5LWVpZ2h0L0gKK3Rob3JhY2ljCitUaG9ybnRvbi9NCit0aHJlYWRiYXJlCit0aHJlYXQvU00KK3RocmVlLWNvcm5lcmVkCit0aHJlZS1oYW5kZWQKK3RocmVlcGVuY2UvTQordGhyZW5vZHkvU00KK3Rocm9tYm9zaXMvTQorVGh1bGUvTQordGh1bWJuYWlsL1NNCit0aHVuZGVyc3RydWNrCitUaHVybWFuL00KK3Rod2FydC9TREcKK3RoeXJvaWQvUworVGkKK3RpY2tsaXNoL1AKK3RpZGRseXdpbmtzCit0aWdodC1hcnNlZAordGlsZGUvU00KK3RpbHRlcnMKK3RpbWUtYW5kLW1vdGlvbgordGltZWxlc3MvWQordGltZXNsb3QvTVMKK3RpbWVzdGFtcGVkCitUaW1teS9NCit0aW1wYW5pc3QvUworVGltdXIvTQordGluZ2xlL0dEUworVGlvZ2EvTQorVGlwdG9uCit0aXJlZG5lc3MKK3RpdGhlL1NNREcKK1QtanVuY3Rpb24vUworVG9iaW4vTQordG9nL01HU0QKK1Rva3lvL00KK3RvbGVyYW5jZS9JU00KK3RvbGVyYXRpb24vTQordG9sbC1nYXRlL1NNCitUb2xzdG95L00KK1RvbXBraW5zL00KK3RvbmFsCit0b25hbGl0eS9TTQordG9uZS1kZWFmCit0b25ndWluZy9NCit0b25zaWxsaXRpcy9NCitUb255L00KK3Rvb2xib3gvTVMKK3Rvb3RoYnJ1c2gvU00KK3Rvb3RzaWUvTQordG9wL01Xd0dwUjFKRFMKK3RvcC1ub3RjaAorVG9yb250by9NCit0b3JyZW50aWFsCit0b3JyaWQvWQordG9ydHVyZS9SREdTCit0b3J1cy9TTQorVG9zY2EvTQordG90ZS9HUwordG91cGVlL01TCit0b3ctYmFyL01TCit0b3ctaGVhZC9TTUQKK3Rvd25zcGVvcGxlL00KK3RveGljb2xvZ3kvM013Cit0b3kvTURTRwordG95bWFrZXIKK3RyYWNrL0dNUlNEcAordHJhY2stbGF5aW5nCit0cmFjdGFibHkvSQordHJhY3Rvci9GU01DQQordHJhY3Qncy9GCit0cmFkZS1pbi9TCit0cmFkdWNlbWVudAordHJhZmZpYy1jYWxtZWQKK3RyYWdpYy9ZCit0cmFpbi9BREdTCit0cmFpbi1zcG90dGluZwordHJhbXBsZS9EU0cKK3RyYW5zY2VuZGVudC9vWQordHJhbnNncmVzc2lvbi9NCit0cmFuc2xhdGFibGUvVQordHJhbnNsYXRlZC9hVQordHJhbnNtaXNzaW9uL0FNCit0cmFuc3BvbmRlci9NCit0cmFwc2hvb3RpbmcvTQordHJhc2gvU0dEMk1aCit0cmF2ZWxsZWQvVQordHJlYWRsZS9EU0dNCit0cmVhdGlzZS9NUwordHJlYXRtZW50L0tTTQordHJlbmNoYW50L1kKK1RyZXNjb3RoaWNrCit0cmlhbmd1bGF0aW9uL00KK3RyaWJhbGlzbS9NCit0cmliZS9TbU01Cit0cmljaGluYS9NCit0cmljaGxvcm9ldGhhbmUKK3RyaWdnZXIvZAordHJpZ2dlci1oYXBweQordHJpbW9udGhseQordHJpcGUvTQordHJpcHdpcmUvU00KK3RyaXNlY3QvU0dECit0cmlzZWN0b3IKK3Ryb2QvQQorVHJvbmRoZWltL00KK3Ryb29wc2hpcC9NUwordHJvdGgvUwordHJvdWJsZS9ER1NNCit0cm91YmxlbWFrZXIvTVMKK3Ryb3Vzc2VhdS9NCit0cm91c3NlYXV4Cit0cnVlbmVzcworVHJ1amlsbG8vTQordHJ1bXAvU0RHTQordHJ1c3MvR1NECit0cnVzdGVkL1UKK3RydXN0ZnVsL1AKK3RydXN0aW5nL1kKK3RyeS1vdXQvTVMKK1Qtc2hpcnQvUwordHViaW5nL00KK3R1YnVsZS9TTQorVHVjaydzCitUdWxseS9NCit0dW1ibGVyZnVsL1MKK3R1bWJyaWxzCit0dW5lL0FDU0dECit0dW5pYy9TTQorVHVwcGVyd2FyZQordHVyYmluYXRlCit0dXJib2pldC9TTQordHVyYm9wcm9wL1NNCitUdXJpbmcvTQordHVybi1idWNrbGUvU00KK3R1cm5vdmVyL01TCit0dXJwaXR1ZGUvTVMKK3R1dG9yaWFsL01TCitUdXR0bGUvTQordHdlZXQvU1JHRAordHdlbnR5LWZpcnN0L1MKK3R3ZW50eS10aHJlZS9ICit0d2VudHktdHdvCitUd2lja2VuaGFtCit0d2lkZGx5L1QKK3R3aXQvREdTTQorJ3R3aXh0Cit0d28td2hlZWxlci9NUwordHlwZS9hQVNHRAordHlyYW5ub3NhdXJ1cy9TCit0eXJvL1NNCitVRk8vUworVWtyYWluaWFuL1MKK3VsY2VyYXRlL1NHTkRuCit1bGNlcm91cworVWxyaWthL00KK3VsdHJhL1MKK3VsdHJhY29uc2VydmF0aXZlL1MKK3VsdHJhLWhpZ2gKK3VsdHJhbWFyaW5lL1NNCit1bWJyYWdlL1NNCit1bmFibGUKK3VuYWNjdXN0b21lZC9ZCit1bmFsdGVyYWJsZS9ZCit1bmFuaW1pdHkvU00KK3VuYXZhaWxhYmxlCit1bmJlbGlldmluZy9ZCit1bmNocmlzdGlhbgordW5jb25maXJtZWQKK3VuY29yay9HCit1bmNvdXBsZS9HCit1bmN0dW91c25lc3MKK3VuY3V0Cit1bmRlcnN0YW5kYWJpbGl0eQordW5kZXJ0YWtpbmcvTQordW5lbmRpbmcvWQordW5lc3NlbnRpYWwKK3VuZmFpcgordW5maXQvREcKK3VuZ2Fpbmx5Cit1bmd1ZW50L1MKK3VuZ3VsYXRlL1MKK3VuaWxhdGVyYWxpc20vTQorVW5pb25kYWxlCit1bmlvbidzL0VBCit1bmlwb2xhcgorVW5peC9NCit1bmxpa2UKK3VubG9hZC9HCit1bm1hbmx5Cit1bm1hcnJpZWQKK3VubW92YWJsZQordW5wb3B1bGFyCit1bnByb3ZhYmxlCit1bnJlYWQvMkIKK3Vuc2VsZmNvbnNjaW91c25lc3MKK3Vuc2V0dGxlL2tpCit1bnNvbGRlcgordW5zb3VuZAordW5zdGFibGUKK3Vuc3RpbnRpbmcvWQordW5zdXJlCit1bnN1c3BlY3RpbmcvWQordW50b3VjaGFibGUvTVMKK3VudXR0ZXJhYmxlL1kKK1VwYW5pc2hhZHMKK3VwbGlmdC9TREcKK3VwcGVkCit1cHBlci9TCit1cHBlcm1vc3QKK1VyYW51cy9NCit1cmJhbml0ZS9TWk0KK1VSTAordXNlci9hTQorVVNTUgordXRlbnNpbC9TTQordXRtb3N0Cit1dG9waWFuCitVdHJlY2h0L00KK3V2dWxhL1NNCitVemkvTQordmFjYW50L1kKK3ZhY3VpdHkvTVMKK3ZhY3VvbGF0ZWQKK3ZhY3V1bS9NUwordmFpbmdsb3Jpb3VzL1kKK1ZhbC9NCitWYWxlbnRpbm8vTQorVmFsZW56dWVsYS9NCitWYWxwYXJhaXNvL00KK3ZhbHVhYmx5L0kKK3ZhbHVlLWFkZGVkCit2YWx1ZWxlc3MKK3ZhbHVlcy9mYworVmFuY2UvTQordmFuZGFsL1E4TVMKK3ZhbnF1aXNoL1JHRFMKK3ZhcmllZ2F0ZS9TbkRHTgordmFyaW91cy9ZCit2YXJzaXR5L1NNCit2YXNjdWxhcgorVmFzZWxpbmUvTQorVmF0aWNhbi9NCit2YXVudC9ER1MKK1ZlZ2VtaXRlCit2ZWdnaWUvU00KK3ZlaGljdWxhcgordmVsb2NpdHkvU00KK3ZlbG91ci9NUwordmVsdW0vTQorVmVuYWJsZXMKK3ZlbmRldHRhL01TCit2ZW5vbW91cy9ZCit2ZW50aWxhdGlvbi9NCit2ZW50cmljdWxhcgordmVudHJpbG9xdWllcwordmVudHVyZXNvbWUvWQorVmVyZGkvTQordmVyaWRpY2FsCit2ZXJpZmlhYmxlL1UKK1Zlcm4vTQordmVyc2F0aWxpdHkvU00KK3ZlcnNpZnkvR05SU25ECit2ZXJzaW9uL01JRkFTCit2ZXJ0ZWJyYXRlL1NJTQordmVydGljZXMKK3Zlc2ljbGUvTVMKK3Zlc2ljdWxhdGUvTkdTCitWZXN0YS9NCit2ZXN0aWJ1bGFyCit2ZXN0cnkvbVNNCit2ZXN0cy9JCit2ZXgvRgordmV4YXRpb3VzL1kKK1ZGCit2aWJyYXRpb25hbAordmljZS9DU00KK1ZpY2VudGUvTQordmljaXNzaXR1ZGUvTVMKK1ZpY3RvcmlhL00KK1ZpZGFsL00KK1ZpZW5uZXNlL00KK1ZpZXQKK3ZpZXdwb2ludC9TTQordmlnaWxhbnRpc20vU00KK3ZpZ29yb3VzL1kKK1ZpbGEvTQordmlsZS9QWVQKK3ZpbGxhL1NNCit2aWxsdXMvTQordmluYWlncmV0dGUvU00KK3Zpbm8vTQordmlvbGluaXN0CitWaXJnaWwvTQordmlyaWxlCit2aXJ0dW9zby9TTQordmlzY29zaXR5L01TCit2aXNpdC9BZFMKK3Zpc3RhL1NNCit2aXRhbGl6ZWQvQwordml0cmlmaWNhdGlvbi9NCit2aXZhL1MKK3ZpdmlzZWN0L3hHRFMKK3ZpeGVuL01TCit2b2NhYnVsYXJ5L1NNCit2b2NhdGlvbidzL0lGQQordm9jb2Rlcgordm9pY2Utb3Zlci9TCit2b2x0bWV0ZXIvU00KK3ZvbHVibGUvWQordm9sdW50YXJpbHkvSQordm9taXQvU2QKK3ZvcmFjaW91cy9ZCit2b3VjaC9HU1JECitWcmVlbGFuZC9NCit2dWxuZXJhYmlsaXR5L1NJCit2dWx2YS9NCitXQUMKK3dhZ29uL1NNCit3YWl0cmVzcy9NUworV2FsZGVtYXIvTQorV2FsdC9NUgorV2FsdGhlci9NCit3YXJibGUvR1JEUword2FyZGVuL01TCit3YXJtb25nZXIvTVMKK3dhcm5pbmcvTQorV2Fyc2F3L00KK3dhc2hiYXNpbi9TTQord2FzaGhvdXNlL1MKK1dhc2hpbmd0b24vTQord2FzdGUvU2o2Cit3YXRjaHdvcmQvU00KK3dhdGVybWFyay9NREdTCit3YXRlci1yZXNpc3RhbnQKK1dhdGZvcmQvTQord2F0dGFnZS9NUworV2F0dXNpL00KK3dheC9HTVpEUword2VhbmVycworV2VhcgorV2Vhci1UZWVzCit3ZWF0aGVyY29jay9TTQorV2VhdGhlcmZvcmQvTQord2Vkcy9BCit3ZWZ0L1NNCit3ZWlnaHRsZXNzL1kKK3dlaWdodGxpZnRlci9TCitXZWlzcy9NCitXZWxkb24vTQord2VsbC1kZXNlcnZlZAord2VsbG5lc3MKK3dlbGwtdGhvdWdodC1vZgorV2Vsc2h3b21hbi9NCitXZW50d29ydGgvTQord2VzdGJvdW5kCitXZXN0ZXJuCit3ZXRsYW5kL1MKK3dldC1udXJzZS9TCitXZXltb3V0aC9NCitXaGF0bGV5L00KK1doZWF0c3RvbmUvTQord2hlZWxiYXJyb3cvTVMKK3doZWVsYmFzZS9NUword2hlbGsvU00KK3doZXJlYXQKK3doZXJlJ2QKK3doaW1zLzFadword2hpcHBlci1zbmFwcGVyL1NNCit3aGlza2V5L01TCit3aGlzdGxlLWJsb3dlci9TCit3aGl0ZS9QU1RHTVkKK3doaXRlLWNvbGxhcgord2hpdGUtb3V0L1MKK1doaXRmaWVsZC9NCitXaGl0bmV5L00KK1doaXRzdW50aWRlCit3aG9ldmVyCit3aG9yZS9TREdNCit3aG8ncmUKK3dob3JlaG91c2UvTVMKK3dob3JsL1NNRAord2lja2Vyd29yay9NCit3aWRlLWFuZ2xlCit3aWRlLXJhbmdpbmcKK3dpZmVsaW5lc3MKK1dpZ2FuL00KK1dpZ2dpbnMKK3dpbGQvVFlQU0cKK3dpbGRmb3dsL00KK1dpbGV5L00KK3dpbGZ1bC9ZUAorV2lsbGFtZXR0ZS9NCitXaWxsZW0KK3dpbGxpbmcvVVkKK1dpbGx5CitXaWx0c2hpcmUvTQord2ltcGxlL01EU0cKK3dpbmRidXJuL1NNCitXaW5kaG9lay9NCit3aW5kaW5nL1NNCit3aW5kb3ctc2hvcAord2luZG93c2lsbC9TTQord2luZS9aTVMKK1dpbnRocm9wCit3aXJ5L1QKK3dpc2RvbS9NUworV2lzZW1hbgord2lzaGluZy13ZWxsCit3aXRjaC9NeURTRword2l0aAord2l0aGRyZXcKK3dpdGhzdG9vZAorV2l0d2F0ZXJzcmFuZAord2l6YXJkL3lTWU0KK3dpemVuCit3b2ViZWdvbmUKK3dva2VuCitXb2tpbmcKK1dvbGZmL00KK3dvbHZlcmluZS9NUword29uZGVyZXIvTQord29uZGVybGFuZC9TTQord29vZC9tWkRTMk0KK3dvb2RjaHVjay9TTQord29vZHkvVAord29vbGxpbmVzcword29venkvVFlQCit3b3JkYm9vay9TTQord29ya2ZhcmUvUword29ya21hbi9NCit3b3JrbWFuc2hpcC9NUword29ya291dC9NUworV29ybGRDb20KK3dvcmxkLXZpZXcvUword29ybi1vdXQKK3dvcnN0L0QKK3dvdWxkLWJlCit3cmFwJ3MKK3dyZWF0aGUvUword3Jlbi9TTQord3JpZ2dseS9UCit3cmlua2xlL0dEU01ZCit3cmlzdHdhdGNoL1NNCit3cml0ZS1vZmYvUword3JvdWdodC9JYworV1dXCitXeWxpZS9NCitYZXJ4ZXMKK1hpJ2FuL00KK3h5bG9waG9uZS9TTQorWWFrdXRzaworWWFsdGEKK1lhbmtlZS9TCitZYW5rZWVpc20KK1lhcmJvcm91Z2gKK1lhc2htYWsKK3lhd24va0dSRFMKK3llCit5ZWxsL1NHRAorWWlkCit5aW4KK3lva2VsL1NNCit5by15bworeXR0ZXJiaXVtL00KK1phZGllCitaYWlyZS9NCit6YW5pbmVzcworemVhbG91c2x5Cit6ZWJyYS9NUworemVyb2VzCitaZXRsYW5kCit6aXAvVUdEUworemlyY29uL00KK3pvbmUvQVNERworWnVsdS9NUworQUEKK0FiYWJhL00KK2FiYXNlci9NCithYmF0ZWQvVQorYWJib3QvU00KK0FiYm90dC9NCithYmJyZXZpYXRlZC9VCithYmRpY2F0aW9uL00KK2FiaG9yL1NHRAorYWJob3JyZW50L1kKK2FiamVjdG5lc3MvUworYWJub3JtYWxpdHkvU00KK2Fib3J0ZXIKK2Fib3J0aXZlL1AKK2Fib3ZlYm9hcmQKK2FicmFkZS9ER1ZYdnVOUworYWJyYXNpdmUvTVMKK2FicmVhc3QKK2Ficm9nYXRpb24vTQorYWJzdHJhY3Rlci9NCithYnN0cmFjdGlvbi8zU00KK0FidS9NCithYnVzYWJsZQorYWNjZWxlcmF0aW9uL00KK2FjY2VsZXJvbWV0ZXIvTVMKK2FjY2Vzc2lvbi9NREcKK2FjY3VsdHVyYXRpb24vTQorYWNjdXJhY3kvSVNNCithY2hpZXZlL1JTZkRHCithY291c3RpY2lhbi9NCithY3F1aXQvREdTCithY3JvYmF0L00xU1cKK2FjdGlvbi9JTVM0QQorYWN0aW9uYWJsZQorYWN0dWF0aW9uL00KK2FjdWl0eS9NUworYWRhcHRvci9TCithZGRlbmQvU00KK2FkZGljdC9EU0dWdQorYWRkaXRpb25hbAorYWRkaXRpdmUvWVNNCithZGQtb24vUworYWRkcmVzc2VkL0FhCithZGR1Y3Rvci9NCitBZGVuL00KK2FkamVjdGl2ZS9TTQorYWRtaXNzaW9uL0FNCithZG1peHR1cmUvTVMKK2Fkb2xlc2NlbmNlL1NLCithZG9sZXNjZW50L01ZUworQWRvbHBoL00KK2Fkb3JuL0RMU0cKK2Fkc29yYmF0ZS9NCithZHVsYXRlL1NETm5HeQorYWR1bGF0aW9uL00KK2FkdWx0aG9vZC9TTQorYWR2ZW50aXRpb3VzL1BZCithZHZlbnR1cmUncy9hCithZHZlbnR1cm91cy9VCithZHZlbnR1cm91c25lc3MvU00KK2FkdmVyc2FyaWFsCithZHZlcnNpdHkvU00KK2FkdmlzYWJpbGl0eS9JCithZHZpc2UvQkxSU0dEbGgKK2Fkdm9jYWN5L01TCithZXJvZHluYW1pY3MvTQorYWVzdGl2YXRlL04KK0FGQworYWZmYWJpbGl0eS9TTQorYWZmZWN0L2hWdk5ua0RpU0cKK2FmZmxpY3Rpb24vU00KK2FmZmx1ZW50L1kKK2Fmb3JlbWVudGlvbmVkCitBZnJpa2FhbnMKK0FmcmlrYW5lci9TTQorYWZybworYWdlbmN5L1NNCithZ2dyZXNzb3IvTVMKK2FnaWxlL1RZCithZ2xvdworYWdvcmFwaG9iaWMvUworYWdyZWUvZEVTTGxHCithZ3Jvbm9teS8zU01XCithZ3VlL01TCitBaGFiL00KK0FpZGEvTQorYWlkZS9NUworYWlkZS1t6W1vaXJlCithaWwvTFNERworYWlyYm9ybmUKK2FpcmZyYW1lL01TCithaXJmcmVpZ2h0L0RTRworYWlyaGVhZC9TTQorYWlyaW5nL00KK2FpcnNpY2tuZXNzL1MKK2FpcnRpZ2h0L1AKK2Fpci10by1haXIKK2Fpc2xlL0RHU00KK0FqYXgKK2FsL0FGQworQWxhYmFtaWFuL00KK0FsYWRkaW4vTQorYWxiYS9NCitBbGJlcnRhL00KK0FsZGVuL00KK0FsZWMvTQorQUxHT0wKK0FsLUhhaWxpCithbGlnbmVyL01TCithbGlxdW90L1MKK2Fsa3lsL00KK0FsbGVnaGVueS9TCithbGxlZ29yeS8xTVdTM3cKK2FsbGVncmV0dG8vTVMKK2FsbGllcgorYWxsb2NhdGlvbidzL0NLQQorYWxsLXRpbWUKK2FsbW9zdAorYWxvaGEvTVMKK0FscGVydC9NCithbHBoYWJldC9zUS1TVzg5cTFNdworYWxwaGFudW1lcmljYWwKK2FsLVFhZWRhL00KK2FsLVNoYXJpZgorYWx0YXIvU00KK2FsdGhvdWdoCithbHRvZ2V0aGVyCithbHVtbmEvTQorQWx2YXJlegorYW1hbGdhbWF0ZS9TREcKK2FtYmFzc2Fkb3JzaGlwL01TCithbWJpZW5jZS9NCithbWJpdmFsZW50L1kKK2FtYnVsYW5jZS9NUworQW1lbGlhL00KK2FtZW5lcgorYW1lbm9ycmhvZWEvTQorYW1tb25pYWMKK2FtbXVuaXRpb24vU00KK2FtbmlvY2VudGVzZXMKK2Ftb2Vib2lkCitBbW9zCithbXB1dGVlL1NNCithbmFncmFtL0dNRFMKK0FuYWhlaW0vTQorYW5hbGdlc2ljL1MKK2FuYXJjaGlzdC9XCithbmFzdG9tb3NlcworYW5jZXN0cmFsL1kKK2FuY2VzdHJlc3MvU00KK2FuZGlyb24vTVMKK2FuZHJvZ3lueS9NUworYW5lY2RvdGFsCithbmVtb21ldGVyL1NNCitBbmdsaWNpc20vUworQW5nbG9waGlsZS9TTQorYW5nc3QvTVMKK2FuaHlkcml0ZS9NCithbmlsaW5lL01TCithbmltYWxjdWxlL1MKK2FuaW1hdGVseS9JCithbmtsZXQvTVMKK0FubmllL00KK2FubmloaWxhdGlvbi9NCithbm5pdmVyc2FyeS9TTQorYW5ub3kvRGtSU0cKK2Fub255bW91cy9ZCithbm90aGVyL00KK2Fucy9NCithbnN3ZXJhYmxlL1UKK2Fuc3dlcmVkL1UKK2FudGUvTVcKK2FudGhyYWNpdGUvTVMKK2FudGhyb3BvbW9ycGhpc20vU00KK2FudGhyb3BvbW9ycGhvdXMKK2FudGliaW90aWMvTVMKK2FudGljaXBhdGlvbi9NCithbnRpY29hZ3VsYW50L1MKK2FudGltYWNhc3Nhci9NUworYW50aXBhdGh5L1NNVworYW50aXBob25hbC9TCithbnRpcXVpdHkvU00KK2FudGlyZXNvbmFuY2UvTQorYW50aXNsYXZlcnkKK2FudGlzeW1tZXRyeS9XCithbnRpdGVycm9yaXNtCitBbnRvaW5ldHRlL00KK2FudXMvTVMKK2FueWJvZHkvU00KK2FueWhvdworYW9ydGEvV1NNCithcGFydC9QTAorYXBleC9TTQorYXBocm9kaXNpYWMvU00KK2FwaXNoL1lQCithcG9waHRoZWdtL1NNCithcHBhcmF0dXMvU00KK2FwcGVhbGluZy9VCithcHBlYXNlZC9VCithcHBlbGxhdGlvbi9NCithcHBlbGxhdGl2ZS9NCithcHBsaWNhdG9yL1NNCithcHBvaW50cy9FQQorYXBwb3NpdGUvWXgKK2FwcHJlaGVuZGVyL00KK2FwcHJlbnRpY2UvRFNHTQorYXBwcm9wcmlhdG9yL1NNCithcHB1cnRlbmFudAorYXB0L1RQWQorQXJhYmlhbi9TTQorYXJhYmxlL1MKK0FyYXBhaG8vTQorYXJiaXRyYXJpbmVzcy9TCithcmJvdXIvTURTCitBcmJyb2F0aC9NCithcmMvU01ERworYXJjaGFlb3B0ZXJ5eAorYXJjaGRpb2Nlc2FuCithcmNoaXBlbGFnby9TTQorQXJjdHVydXMKK2FyZGVudC9ZCitBcmRzL00KK2FyZHVvdXMvWVAKK2FyZWEvTVMKK2FyZW4ndAorQXJldGhhL00KK2FyZ3VhYmx5L0lVCithcmd1ZWQvZQorYXJndW1lbnQvU25NTgorYXJpc2VyCitBcmlzdG9waGFuZXMKK0FyaXN0b3RlbGlhbi9NCitBcmlzdG90bGUvTQorYXJpdGhtZXRpY2FsCitBcml6b25hL00KK2FybWFkYS9TTQorQXJtYWduYWMKK0FybWVuaWEvTQorYXJtbGV0L1NNCitBcm1zdHJvbmcvTQorYXJvbWEvV1NNMQorYXJvbWF0aWMvUFMKK2FycmFzL00KK2FycmVhcnMKK2Fycm9nYXRlL0ROR25TCithcnNlbmlkZS9NCithcnRlcmlhbAorYXJ0ZXJpb2xlL1NNCithcnRmdWwvUAorYXJ0aHJpdGlzL00KK0FydGh1cmlhbgorYXJ0aWN1bGF0ZW5lc3MvUworYXJ0aWZpY2lhbGl0eS9TTQorYXJ0aXN0aWMvSVkKK2FzY2V0aWMvTVlTCithc2NvcmJpYworYXNleHVhbC9ZCithc2gvU01ER1oKK0FzaGxhbmQvTQorQXNpYS9NCithc2tlZC9VCithc29jaWFsCithc3BhcmFndXMvU00KK2FzcGFydGFtZS9TCithc3Blcml0eS9TTQorYXNwaXJhdGUvU0dECithc3BpcmVyL00KK2FzcGlyaW4vU00KK0Fzc2FkL00KK2Fzc2F5L0dEUlMKK2Fzc2VydGl2ZW5lc3MvUworYXNzZXNzb3IvU00KK2Fzc2V2ZXJhdGUvU0duRE4KK2Fzc2lnbmVkL0tBQ1UKK2Fzc2lnbnMvS0NBCithc3NpbWlsYXRlL0RTVkduTgorYXNzaW1pbGF0aW9uaXN0Cithc3Npc3Rlci9NCithc3NvY2lhdGl2ZS9ZCithc3NvbmFudC9TCithc3N1bWluZy9VCithc3N1bXB0aW9uL00KK2FzdGhtYXRpYy9TCithc3RvbmlzaC9TTGtERworQXN0b3JpYS9NCithc3Ryb25vbWVyL1NNCithc3Ryb3BoeXNpY2FsCithc3ltcHRvbWF0aWMvWQorYXN5bXB0b3RlLzFNU1cKK0F0YXJpL00KK2F0dGFjaGVkL0FVCithdHRhaW5hYmx5L1UKK2F0dGFpbmVkL0FVCithdHRlbXB0ZWQvQQorYXR0ZW51YXRvci9TTQorYXR0aXR1ZGluYWwvWQorYXR0cmFjdC9WdVM3REd2CithdQorYXVkaWJsZS9ZSQorQXVndXN0aW5pYW4KK2F1cmljbGUvU00KK0F1c3RyYWxhc2lhbi9TCithdXRoZW50aWNhdG9yL01TCithdXRoZW50aWNpdGllcworYXV0aG9yaWFsCithdXRob3JpemVzL0EKK2F1dGhvcnNoaXAvTVMKK2F1dG9jcm9zcworYXV0b2d5cm8vTVMKK2F2YWlsYWJsZS9QCithdmFudC1nYXJkaXNtCithdmFyaWNlL01TCithdmUvUworYXZlci9ERworYXZpYXJ5L1NNCithdmlvbmljL1MKK2F2b2NhdGlvbi9Nb1MKK2F2b2lkYW5jZS9NUworYXZvdy9HU0VECithd2VzdHJ1Y2sKK2F3aGlsZQorYXhlZC9GCitheGlsbGFyeQorYXhvbG90bC9NUworYmFhL0dTRAorQmFiY29jay9NCitiYWJlL1NaTQorYmFjY2FsYXVyZWF0ZS9TTQorYmFja2FjaGUvTVMKK2JhY2tlci9TTQorYmFja2luZy9TTQorYmFja2xhc2gvU0RHTQorYmFja2xpdAorYmFja3BsYXRlL01TCitiYWNrc3RhaXJzCitiYWNrdHJhY2svUkdTRAorQmFja3VzCitiYWNrd2F0ZXIvTVMKK2JhZGdlL1NSR01ECitiYWRnZXIvZAorYmFnZ2luZXNzL1MKK2JhZ2d5L1RQUworYmFncGlwZS9NUlMKK2JhZ3VldHRlL01TCitiYWtlL1JHU0R5CitiYWtpbmcvTQorYmFrc2hlZXNoL01TCitiYWxkcmljL00KK2JhbGxhc3QvU01HRAorYmFsbC1iZWFyaW5nL1MKK2JhbGxnYW1lL1MKK2JhbGx5aG9vL01ER1MKK2JhbHVuCitiYWx1c3RyYWRlL01TCitiYW5kbWFzdGVyL01TCitiYW5kc3RvcAorYmFuaXNoZXIvTQorYmFuam9pc3QvTVMKK2JhbmsvUzdSR0pNRAorQmFudHUvTQorYmFwdGlzZS9EUlNHCitiYXB0aXN0ZXJ5L1NNCitiYXJiYXJpYW4vU00KK2JhcmJhcmlhbmlzbS9NUworYmFyYmVyc2hvcC9TTQorYmFyY2Fyb2xlL1NNCitiYXJkL01TREdXCitCYXJlbnRzCitiYXJrZWVwL1JTCitiYXJtYWlkL1NNCitCYXJuZXQvTQorYmFyb25hZ2UvTVMKK2Jhcm9uZXQvU00KK0JhcnIvTVoKK2Jhci1yb29tL01TCitiYXIncworQmFydGxleS9NCitiYXMvU2QxbworYmFzZXBsYXRlL00KK2Jhc2V0dGluZworYmFza2V0LzZTTXkKK0Jhc3F1ZS9NUworYmFzc2luZXQvTVMKK2JhdGUvQ0RBU0cKK2JhdGVyL0MKK2JhdHRlZAorYmF0dGxlL1JETE1TRworYmF1YmxlL01TCitCQkMvTQorYmVhY2hjb21iZXIvU00KK2JlYXJkL3BTR2lETQorYmVhdGFibHkvVQorYmVhdGVuL1UKK2JlYXRpbmcvTQorYmVhdGl0dWRlL01TCitiZWF0bmlrL01TCitiZWNhbWUKK2JlY2tvbi9TZAorYmVkY2hhbWJlci9NCitiZWRpbS9HU0QKK2JlZGxhbS9TTQorYmVkcmlkZGVuCitiZWVjaC9TTQorYmVlZmVhdGVyCitiZWVybWF0L1MKK0JlZXJzaGViYS9NCitiZWV2ZXMvTQorYmVmaXQvU0dETQorYmVmaXR0aW5nL1kKK2JlZnJpZW5kL0RHUworYmVoYXZpb3VyL2FTTQorYmVoZXN0L01TCitiZWhvbGQvR1NSCitiZWpld2VsL0RHUworQmVsYXJ1cy9NCitiZWxhdGVkL1AKK2JlbGllZi9TTUUKK2JlbGlldmFibHkvVQorYmVsbG93L1NERworQmVsbHdvb2QKK2JlbG9uZ2luZy9NCitiZW1vYW4vU0dECitiZW5jaC9HU0RNCitCZW5lZGljdC9NCitiZW5ldm9sZW50L1lQCitCZW5naGF6aS9NCitCZW50bGV5L01TCitiZXJrZWxpdW0vTQorYmVzaWRlL1MKK2Jlc290L1NERworYmVzcGFuZ2xlL0RTRworYmVzcG9rZW4KK2Jlc3Rpci9TREcKK2Jlc3Rvdy9EU0cKK2JldGFrZS9TRworYup0ZS9TCitiZXRob3VnaHQKK2JldHdpeHQKK2JpYXNlZC9VCitiaWNhbWVyYWwKK2JpY2VudGVubmlhbC9TCitiaWVyL00KK2JpZ2dpZS9NCitiaWtpbmkvU01ECitiaWxpYXJ5CitiaW1vZGFsCitiaW4vREdTTQorYmluZGVyL1oKK2Jpbm9taWFsL1NZTQorYmlvZW5naW5lZXJpbmcvTQorYmlvdGVjaG5vbG9neS93M1NNCitiaXBsYW5lL1NNCitiaXJ0aHJhdGUvTVMKK2Jpc3lsbGFiaWMKK2JpdHRlcmVyCitCbGFja2FkZGVyL00KK2JsYWNrYm9kaWVzCitibGFja21haWwvUkdNRFMKK0JsYWNrc2hpcnQvU00KK2JsYWNrc21pdGgvR1NNCitCbGFja3dlbGwvTQorYmxhbWV3b3J0aHkvUAorYmxhbmQvVFBZCitibGFua25lc3MvUworYmxhcm5leS9HU01ECitibGFzcGhlbWUvUkRTWkcKK2JsYXRoZXJlcgorYmxhdHRpbmcKK2JsZWVkL1JTRworYmxpZ2h0L0RHTVMKK2JsaWdodGVyL00KK2JsaW1leS9TCitibGlua2VyL2QKK2JsaW5rcy9NCitibGlzcy82alMKK2JsaXNzZnVsL1AKK2JsaXp6YXJkL1NNCitibG9iL1NNREcKK0Jsb2NoL00KK2Jsb2NrYnVzdGVyL01TCitibG9uZGUvU00KK2Jsb25kaXNoCitibG9vZC1icm90aGVyCitibG9vZC1oZWF0CitibG9vZGxpbmUvTVMKK2Jsb29kLW1vbmV5CitibG9vZHJvb3QvTQorYmxvb2RzdG9uZS9NCitibG9vZHltaW5kZWRuZXNzCitCbG9vbWluZ3Rvbi9NCitibG90L0dNUlNECitibG90dG8KK2Jsb3ctZHJ5L0dECitibHViYmVyL2RTWgorYmx1ZS9UWkdTWVBETUoKK2JsdWVqZWFucworYmx1ZXIvTQorYmx1ZXN0b2NraW5nL1NNCitibHVpbmcvTQorYm9hc3RlZC9lCitib2F0LWhvb2svUworYm9hdHlhcmQvU00KK2JvY2svU0dECitib2RoaXNhdHR2YQorYm9keS9wRE1TWUcKK2JvZHl3b3JrL01TCitib2dnbGUvREdTaworYm9pbGVycGxhdGUvU00KK0JvaXMvTQorYm9pc3Rlcm91cy9ZUAorYm9sZG5lc3MvUworQm9saXZpYS9NCitib2x0L1VHU0QKK2JvbWJhc3QvV01TMQorYm9tYmVkLW91dAorYm9uZmlyZS9TTQorYm9uZ28vTVMKK2JvbmhvbWllL1NNCitib25ueS9UCitib29ob28vU0RHCitib29rYmluZGVyeS9NUworYm9va2Nhc2UvU00KK2Jvb2tlZC9jQQorYm9va21ha2VyL01TCitib29rc2hlbGYvTQorYm9vdGllJ3MKK2Jvb3RsZWcvR1NSRAorYm9yYXRlL0RNUworYm9yZGVybGFuZC9TTQorYm9yZS9SR1NrRFcKK2JvcmluZy9NCitib3JuL0FVCitib3NzL1N6RzJNRFoKK2Jvc3Npc20vU00KK2Jvc3VuL00KK2JvdWZmYW50Citib3VpbGxvbi9NUworYm91bmN5L1lUCitib3VuZGVkL1AKK2JvdW50aWZ1bC9QCitib3V0L01TCitCb3dlcnkKK2Jvd2wvUjZNU0RHCitib3ctc2F3L01TCitib3lmcmllbmQvU00KK2JyYWNrZXQvZFNNCiticmFja2V0aW5nL00KK0JyYWR5CiticmFnL1RTRFJHCiticmFpbi9HRDJwTVpTCiticmFpbmNoaWxkcmVuCiticmFpbndhc2gvU0dECiticmFpbndhdmUvUworYnJhbWJseS9UCiticmF2dXJhL01TCiticmF5L1NHRAorQnJhenphdmlsbGUvTQorYnJlYWQtYW5kLWJ1dHRlcgorYnJlYWRib2FyZC9ER01TCiticmVhZHdpbm5lci9TTQorYnJlYWsvZU1TCiticmVlY2hpbmcvTQorQnJldHQvTQorYnJpZGVncm9vbS9NUworYnJpZGxld2F5L1MKK2JyaWVmcy9DCitCcmlnYWRvb24vTQorYnJpZ2h0ZW4vZHJTCiticmlsbGlhbmN5L1NNCiticmluay9NUworYnJpcXVldHRlL1NNCitCcmlzdG9sL00KK0JyaXRhaW4vTQorQnJpdHRlbi9NCiticml0dGxlbHkKK2Jyb2NoZXR0ZS9TTQorYnJvZ3VlL1NNCiticm9uY2hpb2xlL01TCiticm9va2xldC9TTQorQnJvcy4KK2Jyb3cvU00KK0JydWJlY2svTQorYnJ1c2gvWkdTRE0KK2JydXNobGlrZQorYnJ1c2gtb2ZmL1MKK0JydXNzZWxzL00KK2JydXRhbC9xUTgtCitCcnljZS9NCitCU2t5Qi9NCitCVFUKK0J1ZGFwZXN0L00KK2J1ZGdpZS9NUworQnVlbmEKK2J1Zy1leWVkCitCdWljay9NCitidWlsZGluZy9NZVMKK2J1aWxkLXVwL1NNCitCdWxhd2F5by9NCitidWxsZG96ZS9SR0RTCitidWxsZmlnaHQvUlNNRworYnVsbHkvREdUTVMKK2J1bWJsZS9EUmtTRworYnVuY2h5L1QKK2J1bmtob3VzZS9NUworYnVyZGVuaW5nL2MKK2J1cmRlbnMvY1UKK2J1cmdlc3MvTVMKK2J1cmdsYXJpb3VzCitCdXJnb3luZS9NCitidXJsYXAvTVMKK2J1cmxlci9NCitidXJsaW5lc3MvUworYnVyc2EveU0KK2J1cnNhci9NUworYnVyc3R5CitidXNoZXIKK2J1c2h3aGFjay9HUlNECitidXN0eS9UCitidXN5bmVzcworYnV0L0RBR1MKK0J1dGUvTQorYnV0dGVyZmF0L01TCitidXR0ZXJmaW5nZXJzL00KK2J1enphcmQvU00KK2J5bGluZXIvTQorYnlwYXRoL1NNCitieXdvcmQvU00KK0J5emFudGluZQorQnl6YW50aXVtCitjYWJhbC9HRFNNCitjYWJhbGxlcm8vU00KK2NhYmJhZ2UvREdTTQorY2Fib2Nob24KK2NhYnN0YW5kL1NNCitjYWNrbGUvRFJTWUcKK0NhZGRpY2svTQorY2FkZGllCitjYWVjYQorY2FlY2l0aXMKK2NhZmZlaW5lL1NNCitjYWdleW5lc3MKK2NhZ291bGUvUworY2FsY2lmaWNhdGlvbi9NCitjYWxjaW1pbmUvRFNNRworQ2FsZWRvbmlhL00KK2NhbGZza2luL1NNCitjYWxsLWJveQorY2FsbGluZy9hCitjYWxsaXN0aGVuaWMvUworY2FsbGlzdGhlbmljcy9NCitDYWx2ZXJ0L00KK0NhbHZpbi8zTQorY2FtYmlhbAorY2FtZS9jCitjYW1lby9NU0RHCitDYW5hdmVyYWwKK2NhbmNlcm91cy9ZCitjYW5kZWxhYnJ1bS9NCitjYW5kaWRuZXNzL1MKK2NhbmRvdXIvU00KK2Nhbm5hYmlzL01TCitjYW55b24vU00KK2NhcGFibGUvSVAKK2NhcGFjaW91c25lc3MvUworY2FwYWNpdHkvU01JCitjYXBpbGxhcml0eS9NUworY2FwaXRhbC8tcU1Rczg5M1MKK2NhcHBlZC9VCitjYXByaWNlL1NNCitjYXB0b3IvU00KK2NhcHR1cmVkL0EKK2NhcmJvaHlkcmF0ZS9TTQorY2FyYm9uL3NROVM4Vy1OcU1uCitDYXJib25kYWxlCitjYXJjaW5vZ2VuZXNpcworY2FyZC1pbmRleAorY2FyZGlvZ3JhbS9TTQorY2FyZWVyaXNtL00KK2NhcmVzc2VyL00KK2NhcmdvL00KK0NhcmliYmVhbgorY2FyaW91cy9LCitjYXItamFjay9TREpSRworQ2FybGluL00KK0NhcmxpbmUKK0Nhcm5leS9NCitDYXJub3QKK2Nhcm55L0cKK0Nhcm9saW5naWFuCitDYXJvbHluCitjYXJwZXQvZEpTTQorY2FycGV0aW5nL00KK2NhcnJpZXMvYQorY2FydHJpZGdlL01TCitjYXNoL0RHU3BNCitjYXNoLWJvb2svTVMKK2Nhc2hldy9TTQorY2Fzc2V0dGUvTVMKK2Nhc3RpbmcvTWMKK0Nhc3RybworY2FzdWFsL1BZCitjYXRhY2x5c20vV1NNCitjYXRhY29tYi9NUworY2F0YW1hcmFuL01TCitDYXRhd2JhCitjYXRjYWxsL0RHU00KK2NhdGNod29yZC9NUworY2F0a2luL1NNCitjYXRsaWtlCitjYXR0aW5lc3MvUworY2F0dHkvVFAKK2NhdWN1cy9TCitjYXVnaHQvVQorY2F1bGRyb24vU00KK2NhdXNlL0duRE1vUlNwCitjYXV0aW91c25lc3MvSQorY2F2YWxpZXIvWVBTREcKK2NhdmUvbVJTTURHCitjYXZlci9GCitDYXh0b24KK0NCCitDRHMKK0NlZHJpYy9NCitDZWxhbmVzZQorY2VsZWJyYW50L1NNCitjZWxlcnkvU00KK2NlbnRlbmFyaWFuL1NNCitjZW50cmVib2FyZC9TTQorY2VudHJlcGllY2UvU00KK2NlbnRyaW5nL00KK2NlbnR1cnkvU00KK2NlcGhhbGljL1MKK2NlcmVicmFsL1MKK2NlcnQvU0YKK2Nlc3Nwb29sL01TCitjaGFkb3IKK2NoYWZlci9NCitjaGFncmluL01TCitjaGFpbi1zbW9rZS9HRAorY2hhaXJtYW5zaGlwL01TCitjaGFsY2Vkb255L1NNCitjaGFsay9NR1oyU0QKK2NoYWxsZW5nZS9SREdTaworY2hhbXBpb25zaGlwL1NNCitjaGFuY2VsbGVyeS9TTQorY2hhbmNlJ3MvYQorY2hhbmdlb3Zlci9TTQorQ2hhbm5pbmcKK2NoYW50aWNsZWVyL1NNCitjaGFvcy9NUworY2hhcmlzbWEvTTFXCitDaGFybGVzdG9uCitjaGFydC9SREc3M01KUworY2hhcnRlci9kcgorY2hhc3RpdHkvU00KK2NoYXRlYXVicmlhbmQKK0NoYXR0YWhvb2NoZWUKK2NoZWFwL1RZCitjaGVja3BvaW50L01TCitjaGVlc3kvUFQKK2NoZWYvU00KK2NoZW1pc3RyeS9TTQorY2hlcm9vdC9NUworY2hlc3RmdWwvUworY2hldnJvbi9TTQorY2hpY2VyCitjaGlja2VuLWxpdmVyZWQKK2NoaWxibGFpbi9TTQorY2hpbGRyZWFyaW5nCitDaGlsZWFuL1MKK2NoaWxsL1REazJQUkdNWVMKK0NoaWx0ZXJuL1MKK2NoaW5jaGlsbGEvTVMKK0NoaW5lc2UvTQorY2hpbnN0cmFwL1MKK2NoaXBwaW5nL00KK2NoaXZhbHJvdXMvUFkKK2NobG9yaW5hdGlvbi9NCitjaG9jb2hvbGljL1MKK2Nob2NvbGF0ZXkKK2Nob2ljZS9UU1BZTQorY2hva2ViZXJyeS9NCitjaG9saW5lc3RlcmFzZS9NCitjaG9wc3RpY2svU00KK2Nob3JkaW5nL00KK0Nob3JsZXkKK2Nob3J0bGUvUkdEUworY2hvc2VuCitjaHJpc3RlbmluZy9NUworQ2hyaXN0aWUKK0NocmlzdG1hc3RpbWUKK2Nocm9tYXRvZ3JhbS9NUworY2h1bW1pbmVzcy9TCitDaHVyY2hpbGxpYW4KK2NodXJsaXNoL1lQCitjaHVybi9SREdTTQorY2h1dG5leS9TTQorY2h5bWUvTVMKK2NpYW8vUworQ0lECitjaWxpdW0vTQorQ2luZXJhbWEKK2Npbm5hbW9uL1NNCitjaXJjYQorQ2lyY2UKK2NpcmNsZS9HRFNNCitjaXJjdWxhdGluZy9BCitjaXJjdW1mZXJlbmNlL1NNCitjaXJjdW1zcGVjdC9ZCitjaXNzeQorY2lzdGVybi9TTQorY2l0YWRlbC9TTQorY2l2aWwvczlxUS04WQorY2l2aWxpdHkvSVNNCitjbGFpcnZveWFuY2UvTVMKK2NsYW1vdXIvR01EUlMKK2NsYXJpZmljYXRpb24vTQorY2xhcmlmeS9OREdTbgorY2xhcml0eS9TTQorQ2xhcmtlL00KK2NsYXNwZXIvTQorY2xhc3MtY29uY2lvdXNuZXNzCitjbGFzc2ljaXNtL1NNCitjbGFzc2ljaXN0CitDbGF1ZGlvCitjbGF2aWNob3JkL1NNCitjbGF2aWVyL01TCitjbGVhbi1jdXQKK2NsZWFubGluZXNzZXMKK2NsZWFybmVzcy9TCitDbGVvcGF0cmEvTQorY2xlcmljYWxpc20vTVMKK2NsZXcvU01ERworY2xpY2svUlNHRE0KK2NsaWZmaGFuZ2VyL1NNCitjbGltYWN0ZXJpYy9NUworY2xpbWUvV1NNCitjbGluaWNhbC9LCitjbGlvbWV0cmljL1MKK2NsaXAvUkdTREpNCitjbGlxdWlzaC9ZUAorY2xpdG9yaWRlcworY2xvYWNhL00KK2Nsb2lzb25u6QorY2xvc2UtaGF1bGVkCitjbG9zdXJlL0dEU00KK2Nsb3RoYm91bmQKK2Nsb3RoZXMtcGVnL1NNCitjbG91ZGluZXNzL1MKK2Nsb3Vkcy9jCitjbG91ZHNjYXBlL1NNCitjbG93bmlzaG5lc3MvUworY2x1YnJvb20vU00KK2NsdWVkLXVwCitjbHVzdGVyL01kU0oKK2NtCitDbworY29hZ3VsYXRvci9TCitjb2JibGVzdG9uZS9TRE0KK2NvY2EvU00KK2NvY2N5eC9NCitjb2NrYWRlL01TCitjb2NrbmV5L01TCitjb2RlZC9LNAorY29kZWluZS9NUworY29kaW5nLzQKK0NvZWxlbnRlcmF0YQorY29lbGVudGVyYXRlL01TCitjb2ZmZWUtY3VwL1NNCitjb2ZmZXItZGFtL01TCitjb2duaXNhbmNlCitjb2duaXphbmNlL0FNUworY29nd2hlZWwvU00KK2NvaGVyZW5jZS9TSU1aCitjb2hlc2l2ZS9ZUAorY29rZS9TTURHCitjb2tleQorY29sYS9TTQorQ29sYnkKK0NvbGRmaWVsZAorY29sbGlkZS9YREd4TlMKK2NvbGxpbWF0ZS9TQ05ERworY29sb25lbC9TTQorY29sb25pYWxuZXNzCitjb2xvbmlzZWQvVQorY29sb3JpbWV0ZXIvU01XCitjb2xvdXJhbnQvU00KK0NvbHVtYmlhL00KK2NvbHVtbi9EM1NROE0KK2NvbWJ1c3RpdmUKK2NvbWV0YXJ5Citjb21maXRzL0UKK2NvbWZvcnRhYmx5L1UKK2NvbWZvcnRlci9TTQorY29taWMvWU1TCitjb21pbmcvYworQ29tbWFuZGVyCitjb21tYW5kby9TTQorY29tbWVuZGVyL0FNCitjb21tZW5zdXJhYmx5Citjb21tZW50aW5nCitjb21taXRzL0EKK2NvbW1pdHRhYmxlCitjb21tb2RlL0VTSQorY29tbXVuaWNhdGUvQkR4U1Z2R25OdQorY29tbXVuaWNhdGVzL2EKK2NvbW11bmljYXRpdmUvUAorY29tbXV0YWJsZS9JCitDb21wYXEvTQorY29tcGFyYXRvci9NUworY29tcGF0aWJsZS9TSVkKK2NvbXBlbC83TkdTRG5rCitjb21wZW5kaXVtL01TCitjb21wZW5zYWJsZQorY29tcGlsZXMvQQorY29tcGxleC9HeERZVFBOWFMKK2NvbXBsZXhpdHkvY00KK2NvbXBsaWNhdGUvR2NEUworY29tcGxpY2l0Citjb21wbGljaXR5L01TCitjb21wbGltZW50YXJ5L1UKK2NvbXBvc2UvQ1JEU1hHTgorY29tcG9zaW5nL0VBCitjb21wcmVoZW5zaWJpbGl0eS9JTVMKK2NvbXB1bHNpdmUvWVNQCitjb21wdWxzb3J5L1lTCitDb210ZQorY29uY2VpdGVkbmVzcy9TCitjb25jZWl2ZS9LU0RhRworY29uY2lsaWF0b3IvU00KK2NvbmNsYXZlL1MKK2NvbmRlbW4vTm43UkdEUworY29uZGVtbmF0aW9uL00KK2NvbmRpdGlvbmluZy9NCitjb25kdWN0aW9uL00KK2NvbmZhYi9EU01HCitjb25mZWN0aW9uZXIvWgorY29uZmVzc29yL1NNCitjb25maWRlbnQvY1kKK2NvbmZpZ3VyYXRpb24vQU0KK0NvbmcKK2NvbmdlbmVyL1NNCitjb25nZW5pYWwvVQorQ29uZ28vTQorQ29uZ29sZXNlCitjb25ncmVzcy9teE01R1NECitjb25ncnVlbmN5L00KK2NvbmsvUlNECitjb25uZWN0aW9uL01FUworY29ubmVjdGlvbidzL0EKK2NvbnNjaW91cy9ZVQorY29uc2VxdWVudGlhbC9JWQorY29uc2VxdWVudGx5L0kKK2NvbnNlcXVlbnRuZXNzCitjb25zZXJ2YXRpc20vU00KK2NvbnNpZGVyYXRlL1luTgorY29uc2lnbm1lbnQvQQorY29uc2lzdGVuY2UvWlMKK2NvbnNvbGF0b3J5Citjb25zb2xpZGF0b3IvTVMKK2NvbnNvbmFudC9ZU00KK2NvbnNwaXJhdG9yL1NvTQorY29uc3BpcmUvRworY29uc3RpcGF0ZS9OR0RTbgorY29uc3RpcGF0aW9uL00KK2NvbnN0cnVjdGliaWxpdHkKK2NvbnN0cnVlL0RTN0cKK2NvbnN0cnVlZC9hCitjb25zdHJ1ZXMvYQorY29udAorY29udGVtcGxhdGl2ZS9QUworY29udGVtcG9yYW5laXR5L01TCitjb250cmEveVMKK2NvbnRyYWNlcHRpdmUvUworY29udHJpdGUvUAorY29udW5kcnVtL01TCitjb252YWxlc2NlL0RTRworY29udmVuZS9HQURTCitjb252ZW50aW9uL1NvTQorY29udmVyZ2VuY2UvU00KK2NvbnZlcnRzL0EKK2NvbnZleW9yL01TCitjb252aW5jZS9SR0RTaworY29udmluY2VkL1UKK2NvbnZva2UvR0ROblMKK0NvbndheS9NCitjb29rZXIvU01aCitjb29sZWQvYworY29vcC9SREdNCitjby1vcGVyYXRlL1ZTREd1TnYKK2Nvb3JkaW5hdGUvREdWCitDb3Blcm5pY2FuCitjb3Bpb3VzL1lQCitjb3B1bGEvbk1TVgorY29yYWNsZS9TTQorY29yYWwvU00KK2NvcmQvRUdTQU1ECitjb3JkaWFsL1BZUworY29yaWFuZGVyL01TCitjb3JtL1NNCitjb3JuY3Jha2UvTQorY29ybnN0YWxrL01TCitjb3JvbmF0ZQorY29ycG9yYWwvTVMKK2NvcnJlY3Rpb24vU00KK2NvcnJvYm9yYXRlZC9VCitjb3JydWdhdGUvRFNObkcKK2NvcnVuZHVtL00KK2Nvcy9TCitjb3NtaWMvWQorY29zc2V0L1NkCitjb3N0bHkvVFAKK2NvdGUvU00KK2NvdWNoL0RHU00KK2NvdW5jaWxwZXJzb24vUworY291bnRhYmx5L1UKK2NvdW50ZXJiYWxhbmNlL01TREcKK2NvdW50ZXJleGFtcGxlL1MKK2NvdW50ZXJmZWl0L0dSU0QKK2NvdW50ZXItaW50ZWxsaWdlbmNlL01TCitjb3VudGVycG9pc2UvRE1HUworY291bnRlci1wcm9kdWN0aXZlCitjb3VudGVydmFpbC9TR0QKK0NvdXBlcmluCitjb3VyZ2V0dGUvU00KK2NvdXJzZXIvRVNNCitjb3VydGVzaWVkCitjb3VydGVzeS9FU00KK2NvdXNjb3VzL01TCitjb3ZlcmxldC9TTQorY292ZXRlci9NCitjb3dhcmRpY2UvU00KK2Nvd2FyZGxpbmVzcy9TCitjb3ctcGFyc2xleS9NCitjby13cml0dGVuCitDUFUvU00KK2NyYWItYXBwbGUvU00KK2NyYWJiaW5lc3MvUworY3JhYmJpbmcvTQorY3JhYmdyYXNzL1MKK2NyYWRsZXIvTQorY3JhZnRpbmVzcy9TCitDcmFpZworY3JhbXBlci9NCitjcmFuZS9NRFNHCitjcmFuaWFsCitDcmFubGVpZ2gKK2NyYXNoLWxhbmQvR0QKK2NyYXdkYWQvUworY3Jhd2x5L1NUCitjcmF6eS9ZU1BUCitjcmVha3kvUFQKK2NyZWFtZXIvWgorY3JlYXNlL0dJU0NECitjcmVhdGluZy9BCitjcmVkZW50aWFsL01TCitjcmVkaWJpbGl0eS9JU00KK2NyZWRpdG9yL01TCitjcmVkaXQncworY3JlZGl0d29ydGh5CitjcmVlbC9ER01TCitDcmVpZ2h0b24KK2Ny6G1lCitjcmVzY2VuZG9zL0MKK2NyZXNzL1MKK2NyZXRpbm91cworY3JldmljZS9NUworQ3JpY2h0b24KK2NyaXNwbmVzcy9TCitjcml0aWNpc20vTVMKK0Nyb2F0aWFuCitjcm9va2VkL1AKK2Nyb3NzLWNoZWNrL0RHUworY3Jvc3NseQorY3Jvc3NuZXNzL01TCitjcm9zcy1zZWN0aW9uL29TCitjcm90Y2hldC9NU1oyCitjcnVjaWZpeC9YTk1TCitjcnVjaWZpeGlvbi9NCitjcnVpc2UvUlNERworY3J1bWJsZS9TSkRHCitjcnVtbXkvVAorY3J1bXBsZS9TREcKK2NydXNhZGUvTVJTREcKK2NydXN0YWNlYW4vTVMKK2NyeS9DUlNHRAorY3J5cHRhbmFseXRpYworY3J5c3RhbGxvZ3JhcGhlci9NUworY3J5c3RhbGxvZ3JhcGh5L1dNCitDU0VVCitjdS4KK2N1Y2tvbGQvTURHeVMKK2N1ZC9TTQorY3VkZ2VsL0RTR01KCitjdWxvdHRlL1MKK2N1bHRpdmF0aW9uL00KK2N1bHZlcnQvTVMKK2N1bS9TCitjdW1iZXIvU2QKK2N1bW1lcmJ1bmQvU00KK2N1bm5pbmcvVFlQCitjdXBmdWwvTVMKK2N1cGlkaXR5L1NNCitjdXJhYmlsaXR5L1NNCitjdXJhdG9yL1NNCitjdXJic2lkZQorY3VyZXR0YWdlL1NNCitjdXJpdW0vTQorY3VybGVkL1UKK2N1cmxpbmcvTQorY3VybHMvVQorY3VybXVkZ2Vvbi9NWVMKK0N1cnJpZQorY3VycnkvREdNUworY3Vycnljb21iL1NNREcKK2N1cnZhdHVyZS9NUworY3VydmlsaW5lYXJpdHkvTQorY3VzcGF0ZQorQ3VzdGVyL00KK2N1c3RvbWhvdXNlL1MKK2N1c3RvbWlzZWQvQworY3VzdG9tLW1hZGUKK2N1dGF3YXkvU00KK2N1dGxldC9NUworY3V0LW9mZi9TTQorY3V0LW91dC9TTQorY3V0dXAvTVMKK2N5YW5hdGUvTQorY3ljbG9pZGFsCitjeW5vc3VyZS9NUworQ3lydXMKK2N5c3QvU1dNCitjemFyaW5hL01TCitjemFyaXN0CitkL3RvCitkYW1hZ2VkL1UKK0RhbWFzY3VzL00KK2RhbmNlbGlrZQorRGFuZS9TCitkYW5nZXJvdXMvWVAKK2RhbnNldXNlL1NNCitkYXJrL1BTRFRHWQorZGFydC9NR1NSRAorRGFyd2luCitEQVQKK2RhdGl2ZS9TCitkYXVnaHRlci1pbi1sYXcKK2RhdW50ZWQvVQorZGF1bnRsZXNzbmVzcy9TCitEYXZpc29uL00KK2RlYWRiZWF0L1NNCitkZWFkbGluZXNzL1MKK2RlYWR3b29kL1NNCitkZWFmL1BZVAorZGVhZi1hbmQtZHVtYgorZGVhZm5lc3MvUworZGVhdGgvcFlNUworZGVhdGhibG93L01TCitEZWJiaWUvTQorZGVidC9NUworRGVjYWxvZ3VlCitkZWNpbWF0aW9uL00KK2RlY2xpbmF0aW9uL00KK2TpY29sbGV06QorZGVjb3J1bS9TTQorZGVjb3VwYWdlL0RHU00KK2TpY291cGFnZQorZGVjcmVlL1NNZEcKK2RlY3J5L0oKK2RlZGljYXRpdmUKK2RlZWRzL2EKK2RlZXBlbi9kUworZGVmZWNhdGlvbi9NCitkZWZlbmNlbGVzcy9ZCitkZWZlbmRlZC9VCitkZWZpYW5jZS9TTQorZGVmaWNpZW50L1kKK2RlZmljaXQvU00KK2RlZmlsZS9MCitkZWZpbmVkL1UKK0RlZm9lCitkZWcKK2RlaWZpY2F0aW9uL00KK0RlaWdodG9uL00KK2RlaWduL0RHUworZGUtaW5kdXN0cmlhbGl6YXRpb24KK2RlbGV0ZXJpb3VzL1BZCitkZWxpY2lvdXNuZXNzL1MKK2RlbGljdGkKK2RlbGlnaHRlZC9QCitkZW1lYW4vRAorZGVtZW50ZWQvUFkKK2RlbWlzdC9HCitkZW1vbnN0cmFibGVuZXNzL00KK2RlbW9uc3RyYWJseS9JCitkZW11ci9HRFMKK2RlbXVycmFsL01TCitkZW5ndWUvU00KK2RlbmlhYmxlL1UKK2RlbmlhbC9NUworZGVub3RlcgorZGVuc2l0eS9TTQorZGVwZW5kL0JTREdsCitkZXBlbmRlbnRseS9JCitkZXBpY3Rlci9NCitkZXBsb3kvTEQ3RworZGVwbG95ZWQvQQorZGVwb3J0YXRpb24vTQorZGVwcmVjaWF0ZS9EbnZHa1NWTgorRGVyYnkvTQorZGVyZWZlcmVuY2UvUgorZGVyaXZhdGl2ZS9NUFMKK2Rlc2NlbmRhbnQvU00KK2Rlc2NyaXB0aXZpc20KK2Rlc2VydmUva2loCitkZXNpY2NhdG9yL1NNCitkZXNpZ25hdG9yL1NNCitkZXNpcmVkL1UKK0Rlc2lyZWUKK2Rlc3Bpc2UvU1JHRAorZGVzc2VydC9TTQorZGVzdHJ1Y3Rvci9NCitkZXRvbmF0b3IvU00KK2RldHJhY3QvREdWdgorZGV1dGVyb24vTQorRGV1dGVyb25vbXkKK2RldmVsb3AvY2RBUworZGV2aWFudC9NWVMKK2RldmlsL0RMeU1HUworZGV2aXRhbGl6ZQorZGV2b2x1dGlvbi9TTQorZGV2b3RlZS9TTQorZGV2b3Rpb24vU00KK2Rld2NsYXcvU00KK2RleHRlcm91cy9QWQorZGlhZ25vc2VkL1UKK2RpYWdvbmFsL3RRKzhTWQorZGlhbW9uZGJhY2svU00KK0RpYW5lCitkaWFwYXNvbi9TTQorRGlibGV5CitkaWJzCitkaWNobG9yaWRlL00KK2RpY3RhL25NCitkaWN0YXRlL0RHUworZGljdGF0b3IvTW9TCitkaWUtaGFyZC9TCitEaWVwcGUKK2RpZXRpY2lhbi9NUworRGlldHoKK2RpZmZlcmVuY2UvSU1TCitkaWdlc3QvU0tHRAorZGlnZXN0aW9uJ3MvSQorZGlsYXBpZGF0ZS9ER1NObgorZGlsYXRvci9NUworZGlsZG8vU00KK2RpbWV0aHlsZ2x5b3hpbWUKK2RpbW9ycGhpYworZGluZy96REcyWgorZGluZ2xlL1NNCitkaW5reS9TVAorZGlubmVydGltZS9TCitkaW5vc2F1ci9TTQorZGlwaHRoZXJpYS9TTQorZGlyZWN0aW9uYWwvUworZGlyZWN0b3IvTUFTCitkaXJlY3RvcnMnCitkaXNhZHZhbnRhZ2UvaQorZGlzY2Vybi9MYmtTR0QKK2Rpc2Nlcm5pYmxlL0kKK2Rpc2NpcGxpbmUvR0RTTQorZGlzY29ubmVjdGVkbmVzcy9TCitkaXNjb25zb2xhdGUvWQorZGlzY290aGVxdWUvU00KK2Rpc2NyaW1pbmF0ZS9Tbk5EVkdreQorZGlzZ3Vpc2UvR1JEaAorZGlzam9pbnRlZG5lc3MvUworZGlzam9pbnRuZXNzCitkaXNvcmRlcmx5L1AKK2Rpc3BhdGNoL1IKK2Rpc3BlbnNhdGUKK2Rpc3Byb3BvcnRpb24vTgorZGlzcHJvcG9ydGlvbmF0aW9uL00KK2Rpc3NhdGlzZnkKK2Rpc3NvY2lhdGlvbi9NCitkaXNzb2x1dGVuZXNzL1MKK2Rpc3RpbC9OUzdWbkcKK2Rpc3RyaWJ1dG9yc2hpcC9NCitkaXN1bHBoaWRlL00KK2RpdGNoL0RTTUcKK2RpdGhlcmVyL1MKK2RpdmUtYm9tYmluZworZGl2ZXJzaWZpZXIvTQorZGl2ZXJzaWZ5L1NHTkRuCitkaXZlcnNpdHkvU00KK2RpdmVydGltZW50by9NCitkaXZpZGUvUnVEU0d4Vlh2TgorZGl2aWRlZC9BVQorZGl2aWRlcy9BCitkaXZ2eS9EU01HCitkaXp6aW5lc3MvUworRE1aCitkb2MvUlNNREcKK2RvY3VtZW50L05NUkRHU24KK0RvZG9tYS9NCitkb2VzL2VjVUEKK2RvZmYvU0RHCitkb2dnZXJlbC9TTQorZG9nLXBhZGRsZQorZG9tZS9TTUdECitkb21pbmF0aW9uL0tNCitEb21pbmljCitEb21pbmlxdWUvTQorZG9uYS9TTQorZG9uYXRpb24vTQorRG9uY2FzdGVyCitEb25uZWxseQorZG9vcnBvc3QKK2Rvb3JzdG9wL1NNCitkb29yd2F5L1NNCitEb3JlZW4vTQorRG9yaXMKK2Rvcm1hbnQKK2RvdHR5L1QKK2RvdWJsZS1lZGdlZAorZG91YnRmdWwvWVAKK2RvdWJ0bGVzcy9QWQorZG91ci9QVFkKK2RvdXNlL1NHRAorZG92ZS9TTQorZG92ZWlzaAorZG93bmhlYXJ0ZWQvUFkKK2Rvd25oaWxsZXIKK2Rvd25saW5rL1NHRAorZG93bnBvdXIvU00KK2Rvd25zdGFnZS9TCitkb3duLXRvLWVhcnRoCitkcmFnZ3kvVAorRHJhbWFtaW5lCitkcmF3L1NSRzdKCitkcmVhbWluZXNzL1MKK2RyZWFyaW5lc3MvUworZHJlZy9TTQorZHJlc3NpbmVzcy9TCitkcmVzc21ha2VyL1NNCitEcmV3J3MKK0RyZXhlbAorZHJpYmxldC9TTQorZHJpbmthYmxlL1UKK2RyaXZlLWlucworRHJ1aWRpY2FsCitEcnVpZCdzCitEcnVtbW9uZC9NCitEVFAKK2R1YWxpdHkvTVMKK0R1YnVxdWUKK2R1bGwvUFlHU0RUCitkdWxsYXJkL01TCitkdW1ibmVzcy9TCitEdW5iYXIvTQorRHVuZmVybWxpbmUvTQorZHVuZ2hpbGwvU00KK2R1by9TTQorZHVvbG9ndWUvTQorZHVvcG9seS8zTQorZHVwZS9SU01HRAorZHVwbGV4ZXIvTQorZHVwbGljYWJpbGl0eS9NCitkdXJhdGlvbi9NUworRHVyaGFtL00KK2R1c2svR1NETTJaCitE/HNzZWxkb3JmCitkdXN0LzJNWkdTelJEcAorZHVzdGNhcnQvTQorRHV0Y2h3b21lbi9NCitkdXR5LzZqTVM3CitEdXhmb3JkL00KK2R3YXJmaXNtL01TCitkd2VsbC9HUkpTCitEd2lnaHQKK2R5bmFzdHkvU01XCitlYWdlcmx5L2MKK2VhZ2xldC9TTQorRWFsaGFtCitlYXJmdWwvU00KK2Vhci1zcGxpdHRpbmcKK2VhcnRobW92ZXIvTQorZWFydGh5L1BUCitFYXN0L1JNCitlYXN0d2FyZC9TCitFYnJhaGltCitFQworZWNjbGVzaW9sb2d5LzN3CivpY2xhaXIvU00KK2Vjb2NpZGUvU00KK2VjdG9wbGFzbS9NCitFY3VhZG9yaWFuCitlZC4KK0VkZ2VydG9uCitlZGlibGVuZXNzL1MKK0VkaXRoCitFZGl0b3ItQXQtTGFyZ2UKK0VkbXVuZHNidXJ5CitFZG5hCitlZHVjYXRlZG5lc3MKK2VkdWNhdGlvbmFsaXN0CitlZWxncmFzcy9NCitlJ2VyCitFRlQKK2VnYWxpdGFyaWFuL1MKK0VnYW4vTQorZWdvbWFuaWEvU00KK2VpZ2h0L0hNWlMKK2VpZ2h0eS1maXZlL0gKK2VqYWN1bGF0ZS9uREdTTnkKK2VqZWN0b3IvTVMKK2VsYXBzZS9TR0QKK2VsYXN0b2R5bmFtaWNzCitlbGVjdGFiaWxpdHkKK2VsZWN0cm9sb2dpc3QvU00KK2VsZWN0cm9sdW1pbmVzY2VudAorZWxlY3Ryb21hZ25ldGlzbS9TTQorZWxlY3Ryb3N0YXRpY3MvTQorZWxlZ3kvTVMKK2VsZXBoYW50L1NNCitlbGVwaGFudGluZQorZWxmaXNoCitlbGljaXRhdGlvbi9NCitlbGlzaW9uL00KK0VsbGVuL00KK0VsbGllCitlbGxpcHNvaWRhbAorRWxsd29vZC9NCitlbG9xdWVuY2UvU00KK2VsdWNpZGF0ZS9WTkRTR24KK2VsdWNpZGF0aW9uL00KK2VsdmVzL00KK0VseS9NCitlbWFpbC9NREdTCitlbWFuYXRlL0RuVkdTTgorZW1hbmNpcGF0aW9uL00KK2VtYmFya2F0aW9uL01TRQorZW1ib3NzL0dEUlMKK2VtYnJ5b2xvZ3kvUzN3TQorZW1lbmRhdGlvbi9NCitlbWVyYWxkL01TCitlbWVyaXRhCitFbWlsL00KK0VtaWxlL01aCitlbWlyYXRlL01TCitFbWlyYXRlcy9NCitlbWlzc2FyeS9TTQorZW1vbGxpZW50L1MKK2VtcGhhc2l6ZWQvYworZW1wbG95L0RHTFNSQgorZW1wbG95bWVudHMvZgorZW1wb3dlci9MU2QKK2VtcHR5LWhhbmRlZAorZW4vN00KK2VuYWJsZS9SREdTCitlbmFjdC9HTFNECitlbmFjdGluZy9BCitlbmFjdG1lbnQvQQorZW5hbWVsL0dNUkRKUworZW5jYXBzdWxhdGlvbi9NCitlbmNvbXBhc3MvREdTCitlbmNvdW50ZXIvU2QKK2VuY3ljbGljYWwvU00KK2VuZG90aGVsaWFsCitlbmRwYXBlcnMKK2VuZHVyYWJsZS9VCitlbmZlZWJsZS9MU0RHCitFbmdsYW5kL00KK0VuZ2xpc2gtc3BlYWtlcgorZW5ncm9zc2VyL00KK2Vuam9pbmRlcgorZW5sYXJnZS9STERTRworZW5udWkvTVMKK2Vub3Jtb3VzbmVzcy9TCitlbnF1ZXVlL1NECitlbnF1aXJ5L1MKK2Vucm9iZWQKK2Vucm9sbGVlL01TCitlbnNpZ24vU00KK2VudGlyZXR5L1NNCitlbnRpdGxlL1NETEcKK2VudGl0eS9TTQorZW50cmFuY2V3YXkvTQorZW52aXJvbm1lbnQvbworZW52b3kvTVMKK2VwaWNlbnRyZS9NUworZXBpY3VyZWFuL1MKK2VwaXNvZGUvVzFTTQorZXBpdGFwaC9NUworZXBpdGhlbGl1bS9TTQorZXF1YWJpbGl0eS9NUworZXF1YWJsZS9ZUAorZXF1YWxpdHkvSU1TCitlcXVpbGlicmF0aW9uL00KK2VxdWlub3gvTVMKK2VxdWlwb2lzZS9NU0RHCitlcXVpcHJvcG9ydGlvbmFsL1kKK2VxdWlwcy9BCitlcXVpc3BhY2VkCitlcXVpdmFsZW50L1lTCitlcXVpdm9jYXRlL0dETlNuCitFcmlja3NvbgorZXJrCitlcm1pbmUvU0RNCitFcndpbgorZXNjYWxhdG9yL01TCitlc2NhbGxvcC9TTQorZXNjYXBhZGUvTVMKK2VzY2FwZWUvU00KK2VzcC9aCitlc3BhbGllci9TREdNCitlc3BlY2lhbC9ZCitlc3RhYmxpc2hlZC9BCitlc3RlZW0vRURHUworRXRoYW4KK0V0aGVsCitFVQorZXVjbGlkZWFuCitFdXN0b24vTQorZXZhbHVhdGUveE5WREdTbgorZXZhbmdlbGlzdC9XU00KK0V2YW5zdmlsbGUKK2V2ZW4vWWRTUEoKK2V2ZW4taGFuZGVkL1kKK2V2ZW5pbmcvTQorZXZlbnRmdWwvUAorZXZvY2F0aXZlL1AKK2V2b2tlL1ZHdXZTbkROCitldm9sdXRpb25hcnkvWQorRXdpbmcKK2V4YWNlcmJhdGlvbi9NCitleGFjdGluZy9QCitleGFtcGxlZC9VCitFeGNhbGlidXIKK2V4Y2F2YXRpb24vTQorZXhjZWwvREdTCitleGNoYW5nZWFibGUKK2V4Y2l0YXRvcnkKK2V4Y2l0ZS9sa25HTkxSRFNCaAorZXhjaXRpbmcvVWMKK2V4Y2l0b24vTQorZXhjbGFtYXRpb24vTVMKK2V4Y3JlbWVudGFsCitleGNyZXRlL3luREdTTgorZXhjcnVjaWF0ZS9EU05rRworZXhjcnVjaWF0aW9uL00KK2V4Y3Vyc2lvbi8zTVMKK2V4Y3Vyc2l2ZW5lc3MvUworZXhjdXNhYmx5L0kKK2V4ZW1wdGlvbi9NUworZXhlcmNpc2VzL2MKK2V4aGFsZS9HTkRTbgorZXhoaWJpdGlvbmlzbS9NUworZXhoaWJpdGlvbmlzdAorZXhoaWxhcmF0ZS9EU1ZOR2tuCitleGh1bWUvR0RTbgorZXhpdC9kU00KK2V4b3JiaXRhbnQvWQorZXhwYXRpYXRlL0dORFNuCitleHBlZGllbnQvWVMKK2V4cGVuZC9EdTdWU0d2CitleHBlcmllbmNlcworZXhwZXJpbWVudGFsaXN0CitleHBlcmltZW50YXRpb24vTQorZXhwbG9kZWQvVQorZXhwbG9pdGF0aXZlCitleHBsb3JhYmxlCitleHBvbmVudGlhbC9ZUworZXhwb3J0ZWQvQQorZXhwb3J0aW5nL0EKK2V4cG9zaXQveVhOCitleHB1bmdlL1NHRAorZXhxdWlzaXRlL1lQCitleHRlbmRlZC9jCitleHRlbnNpYmlsaXR5L00KK2V4dGVuc2l2ZS9GWQorZXh0ZXJtaW5hdGlvbi9NCitleHRpbmN0aW9uL1NNCitleHRyYWdhbGFjdGljCitleHRyYXZlaGljdWxhcgorZXh0cmVtYWwKK2V4dHJpY2F0ZS9HbkRTTgorZXh1bHRhdGlvbi9NCitleWUtY2F0Y2hpbmcKK2V5ZWdsYXNzL1NNCitleWVsaWQvU00KK2V5ZS1zaGFkb3cKK2V5ZS10ZWV0aAorZXlyaWUncworZmEvTQorRmFiaWFucworZmHnYWRlL1NNCitmYWNlLXNhdmluZworZmFjaWxpdGF0b3IvU00KK2ZhZGluZy9NCitGYWVyb2UvTQorZmFlcnkvU00KK2ZhaW50L1JHU1BZVEQKK2ZhaXIvRFRaUFNHcEpZCitGYWlydmlldworZmFpdGhmdWwvVVkKK0ZhbGsKK2ZhbGxlbgorZmFsc2lmaWFiaWxpdHkvTQorRmFsc3RhZmYKK2ZhbWlsaWFyLzlRc3E4LVNZCitmYW1pbGlhcmlzZS9rCitmYW1vdXNseS9JCitmYW5hdGljL01ZUworZmFuZy9TRE0KK2ZhbnRhc3RpYy9ZCitmYXIvZAorRmFybWluZ3RvbgorZmFybXN0ZWFkL01TCitmYXJyaWVyL1NNCitmYXItc2lnaHRlZC9ZUAorZmFydGhlc3QKK2Zhc2NpYS9NUworZmFzY2luYXRlL0RHU25rTgorZmFzaGlvbnMvQQorZmFzdGVuL2RBU1UKK2ZhdGhlcmxhbmQvU00KK2ZhdWx0aW5lc3MvUworZmF1dmlzbS9TCitmYXV4CitGYXlldHRldmlsbGUKK2ZlYXR1cmUvRE1HU3AKK2ZlYXR1cmUncy9hCitmZWRlcmF0ZS9GTkduU0QKK2ZlZGVyYXRpdmUvWQorZmVlbGluZy9QTQorZmVsZHNwYXIvU00KK2ZlbGljaXRhdGUvREdTTm4KK2ZlbGxhaGluCitmZWxsYXRlCitmZWxsYXRpby9NUworZmVsbGF0b3IKK2ZlbHRpbmcvTQorZmVtaW5pc2UvblNHRAorZmVtaW5pemUvblNOR0QKK2ZlbmNlZC9VCitGZXJndXNvbi9NCitGZXJyZWlyYQorZmVydmVudC9ZCitm6nRlL1NNCitmZXRpc2hpc20vTVMKK2ZldmVyaXNoL1lQCitmZXduZXNzL1MKK0ZJQQorZmlhbmPpZS9NUworZmlicmlsbGF0ZS9TR0QKK2ZpY2hlL1NNCitmaWRnZXQvU2RaCitmaWR1Y2lhbC9ZCitmaWVmZG9tL1MKK2ZpZXJjZS9UUFkKK2ZpZnRoLWdlbmVyYXRpb24KK2ZpbG0vWlMyRE1HCitmaWxteS9UUAorZmluZS9DRlNEQUcKK2ZpbmVyL0ZDQQorZmluZ2VyaW5nL00KK2Zpbmdlcm5haWwvTVMKK2ZpcmVicmFuZC9TTQorZmlyZS1icmVhay9TTQorZmlyZS1lYXRlcgorZmlyZXNpZGUvTQorZmlyZS13YXRlcgorZmlybWVzdAorZmlybWx5L0kKK2Zpcm1uZXNzL1NNCitmaXJzdC1ib3JuL1MKK2ZpcnN0LWNsYXNzCitmaXJzdC1kYXkKK0Zpc2hndWFyZC9NCitmaXNoaW5nL00KK2Zpc3Npb25hYmxlL1MKK2Zpc3R1bG91cworZml0bmVzcy9TCitGaXR6Z2VyYWxkCitmaXhhdGl2ZS9TCitmbGFjY2lkL1kKK2ZsYWdlbGxhdGUvRFNHCitmbGFnc2hpcC9TTQorZmxhaXIvU00KK2ZsYW1tYWJpbGl0eS9JU00KK2ZsYW5rJ3MKK2ZsYXR0ZXJ5L1NNCitmbGF0dGVzdC9NCitmbGF1bnQvRGtHUworZmxheGVuCitGbGVkZXJtYXVzCitmbGVkZ2VkL1UKK2ZsZWV0L0RrR1NUWVBNCitmbGVldGluZy9QCitmbGVzaHBvdC9TTQorZmxleGVzL0EKK2ZsZXh1cmFsCitmbGliYmVydGlnaWJiZXQvU00KK2ZsaWdodHkvVFAKK2ZsaW5nZXIvTQorZmxpbnRsb2NrL1NNCitGbGludHNoaXJlL00KK2ZsaXAtZmxvcC9TCitmbGlydC9OREdaU24KK2Zsb2F0L0RHWlNSTgorZmxvY2svRE1KR1MKK2Zsb2cvRFNHSlIKK2Zsb2dnaW5nL00KK2Zsb29kbGl0CitmbG9vcmJvYXJkL1NNCitmbG9wLzJER1N6WgorZmxvcHBpbmVzcy9TCitmbG93ZXJiZWQvTVMKK0Zsb3lkCitmbHVmZnkvUFQKK2ZsdWlkL1E4czlQU1lNCitmbHVrZS9TR0RNWgorZmx1bmcKK2ZsdW9yaWRlL25NUworZmx5bGVhdmVzCitmbHlzaGVldC9TTQorZm9jdXNzZWQvVQorZm9nL0NHRFMKK2b2aG4KK2ZvbGQtb3V0L1NNCitmb2xpYXRlL0NHU25ETgorZm9uZG5lc3MvUworZm9udGFuZWxsZS9TTQorZm9vZC9TTQorZm9vdGxvY2tlci9TTQorZm9vdG1hcmtzCitmb290d2Vhci9NCitmb3AvR1NNRAorZm9yYQorZm9yYXkvRFNHTQorZm9yYmVhci9NU0cKK2ZvcmVnYXRoZXIKK2ZvcmVnYXRoZXJlZAorZm9yZWlnbm5lc3MvUworZm9yZW5zaWMvU1kKK2ZvcmVzZWVuL1UKK2ZvcmVzaG9ydGVuL2RTCitmb3Jlc2lnaHQvU01pRGgKK2ZvcmVzdGFsbC9HUlNECitmb3Jld2VudAorZm9yZ2VyL1NaTQorZm9yZ2V0dGFibHkvVQorZm9yZ2l2ZW5lc3MvUworZm9yZ29lcworZm9ybWlkYWJsZS9QWQorZm9ybSdzCitmb3Jzb290aAorZm9yc3dvcm4KK2ZvcnRpZnkvREFHUworZm9ydHVpdG91cy9ZUAorZm9ydHVuYXRlbmVzcy9NCitmb3J0dW5lLXRlbGxlci9TTQorZm9ydHVuaW5nCitmb3J3YXJkL0RZU1RQUkcKK2ZvdWxzL00KK2ZvdW5kYXRpb25hbAorZm91bmRpbmcvRgorZm91bmRsaW5nL1NNCitmb3VycGVuY2UvTQorZm91ci13aGVlbAorZm92ZWF0ZQorZm94dGFpbC9NCitmcmFnbWVudGF0aW9uL00KK2ZyYWdyYW50L1kKK2ZyYWlsL1BUWQorRnJhbmNlc2NvCitmcmFuZ2liaWxpdHkvU00KK2ZyYW5naWJsZQorZnJhbmtpbmNlbnNlL01TCitGcmFzZXIvTQorRnJhemVyCitmcmF6emxlL0dEUworZnJlZS9tVFNZUGRHCitmcmVlYmFzZS9EU0cKK2ZyZXF1ZW50ZWQvVQorZnJlcXVlbnRseS9JCitGcmVzbmVsCitmcmljYXNzZWUvR1NNCitmcmllcy9NCitmcmlnL1NKR0QKK0ZyaXR6Citmcm9nbWFyY2hlZAorZnJvaWQKK2Zyb2xpYy9TUkRNRworZnJvdWZyb3UvU00KK2ZydWN0b3NlL1NNCitmcnVnYWwvWQorZnJ1c3RyYXRpb24vTQorZnJ1c3R1bS9NUworZnVkZ2UvTVNERworRnVqaXRzdS9NCitGdWt1b2thCitmdWxsLWJsb3duCitmdWxuZXNzJ3MKK2Z1bmN0aW9uYXJ5L01TCitmdW5naWJsZS9NCitmdW5nb2lkL1MKK2Z1bmd1cy9NCitmdW5rL1MyREdNWgorZnVuLWxvdmluZworZnVyaW91cy9ZUAorZnVybmlzaC9SU0dESgorZnVybmlzaGVzL0EKK2Z1cm5pdHVyZS9TTQorZnVydGl2ZS9ZUAorZnVzaWJsZQorZnV6ei9EWk1HejJTCitGWUkKK2dhYi9HWlNEMgorZ2FiYXJkaW5lL01TCitnYWJieS9UCitnYWJsZXIKK0dhYnJpZWxsZQorZ2FkZ2V0L1NNeQorR2FnYXJpbgorZ2FpZXR5L1NNCitnYWxhY3RpYworR2FsYWhhZAorZ2FsYXh5L1NNCitnYWxlL0FTCitnYWxsYW50L1NHRFkKK2dhbGxvbi9TTQorZ2FsbG9uYWdlL00KK0dhbGx1cAorZ2FsdW1waC9TR0QKK0dhbHZlc3RvbgorR2FtYmlhbi9TCitnYW1ib2wvU0dECitnYW5nbGlvbi9NVworZ2FuZ3Jlbm91cworZ2FuZ3dheS9NUworZ2FyYmxlL0dEUworR2FyYm8vTQorZ2Fy529uL1NNCitnYXJkZW4vZFNyTQorZ2FyZ2FudHVhbgorZ2FybWVudHMvZgorZ2FybWVudCdzL2YKK2dhcnJ1bGl0eS9NUworZ2FycnVsb3VzbmVzcy9TCitHYXJyeQorZ2FydGVyL2RTTQorZ2Fzb2hvbC9TCitHYXNwYXIKK2dhcydzCitnYXN0cm9lbnRlcml0aWRlcworR2F0c2J5CitHYXlsb3JkCitnZWxhdGluZQorZ2VsZC9TR0pECitnZW0vU1pNREcKK2dlbW1vbG9neS8zTQorZ2VuZGFybWUvU00KK2dlbmUvU00KK2dlbmVyYWwvUThQdHE5MytzLVNNCitnZW5lcmFsaXN0CitnZW5lcmFsaXR5L1NNCitnZW5lcmF0aW9uL0NNQQorZ2VuaXRhbC9ZRgorZ2VuaXVzL01TCitHZW5vYS9NCitnZW50aWFuL1NNCitnZW51cworZ2VvZGVzaWMvUworZ2VybWFuZGVyCitnZXJtYW5pdW0vTQorZ2VybWljaWRhbAorZ2VybWluYWwvWQorR2Vyc2h3aW4KK2dlc3RhdGlvbi9NCitnZXN1bmRoZWl0CitHZXRoc2VtYW5lCitnZXR1cC9NUworR2V3/HJ6dHJhbWluZXIKK2dob3N0bGluZXNzL1MKK2dpYmJldC9TTWQKK2dpZGRpbmVzcy9TCitnaWxsL01TR0QKK2dpcmRsZXIvTQorZ2lyby9NCitnaXJ0aC9HRFNNCitnaXN0L00KK2dsYWRuZXNzL1MKK2dsYW1vcm91cy9VWQorZ2xhc3MvMkQ2TUdaelNwCitnbGFzc2luZXNzL1MKK2dsYXNzLW1ha2luZworZ2xpbW1lci9kSlMKK2dsdWVpbmcKK2dsdW9uL00KK2dseXBoL01TCitnby9mR2UKK2dvYWxtb3V0aAorZ29hbHNjb3Jlci9TCitnb2JibGVkZWdvb2svTQorZ29kZmF0aGVyL1NkTQorZ29kbGluZXNzL1MKK2dvZHNlbmQvTVMKK2dvZ2dsZS1ib3gvU00KK2dvaW5ncy1vbgorZ29sZGVuc2VhbC9NCitnb2xkc21pdGgvU00KK2dvbGYvTVJTR0QKK2dvbGx5d29nCitnb25nL1NETUcKK2dvbmlvbWV0cnkKK0dvbnZpbGxlCitHb29iZXIKK0dvb2RtYW4KK2dvb2Qtb2gKK2dvb2QtdGVtcGVyZWQKK2dvb2dseS9TCitnb29zZWJlcnJ5L1NNCitnb29zZWJ1bXBzCitnb3JnZW91cy9ZUAorR29yaGFtCitnb3JzZS9NUworZ29zbGluZy9NCitnb3VnZS9EUkdTCitHb3VnaAorZ291cmRmdWwvUworZ291cm1hbmRpc20KK2dyYWIvUlNKREcKK2dyYWNlL0RwRzZNalMKK2dyYWNpbmcvRQorZ3JhY2lvdXNuZXNzL01TCitncmFkdWFuZC9TTQorZ3JhaW5lci9NCitncmFuZGRhdWdodGVyL01TCitncmFuaXRlL01XUworR3JhbnRoYW0KK2dyYW50b3IncworZ3JhbnVsYXJpdHkvTVMKK2dyYW51bGUvbk5NVlMKK2dyYXBlZnJ1aXQvTQorZ3JhcGgvTVdHd0QxUworZ3JhcGhpdGUvTVMKK2dyYXNwL0drN0RTCitncmFzc2xhbmQvU00KK2dyYXNzeS9UCitncmF2YW1lbi9NUworZ3JhdmVzaWRlL1MKK2dyYXZleWFyZC9NUworZ3JhdmlkL1lQCitncmF2aXR5L1NNCitncmF2eS9NUworR3JheQorZ3JlYXNpbmVzcy9TCitncmVhdG5lc3MvUworR3JlZW5iZXJnCitncmVlbmdhZ2UvTVMKK2dyZWVuc3dhcmQvU00KK0dyZWdvcmlhbgorZ3JlbmFkaW5lL01TCitHcmV0Y2hlbgorZ3JpZmZvbi9NCitHcmltYWxkaS9NCitncmltbmVzcy9TCitncmluZHN0b25lL01TCitncmluZ28vU00KK2dyaXNseS9QVAorZ3Jvb3ZlL0dTRE1aCitHcm9zegorZ3JvdHRvL1NNCitncm91Y2h5L1QKK2dyb3VuZC1wbGFuCitncm91bmQncy9mCitncm91bmR3b3JrL00KK2dyb3Vwcy9BCitncm91dC9NR0RTCitncm93dGgvZVNBSU1jZgorZ3J1bmdlL1NaCitncnVudGVyL00KK0d1YW0vTQorZ3VhcmQvUm1HRGhNaVMKK2d1ZGdlb24vTQorZ3Vlc3NpbmcvZQorZ3VmZi9NUworR1VJCitHdWlsZGZvcmQKK2d1cnUvU00KK2d1c2gvR1pSU0QKK2d1dHRhLXBlcmNoYQorZ3V0dGVyaW5nL00KK0d1eWFuYS9NCitHd3luZWRkCitneXBzL1oKK2d5cHN1bS9TTQorZ3lyb21hZ25ldGljCitoYWJlcmRhc2hlci9aTVMKK0hhYmliL00KK2hhY2tsZS9EU01HCitoYWQKK2hhZGppJ3MKK0hhZGxleS9NCitoYWVtYXRpdGUvU00KK2hhZ2dhcmQvUFkKK2hhZ2dhcmRuZXNzL1MKK2hhaXJwaWVjZS9TTQoraGFpcnNwcmF5CitIYWwvTQoraGFsYmVyZC9TTQoraGFsZi1ibG9vZC9ECitoYWxmYnJlZWQKK2hhbGYtY2VudHVyeQoraGFsZi1jdXQKK2hhbGYtZWF0ZW4KK2hhbGYtaGFyZHkKK2hhbGYtc2Vhcy1vdmVyCitoYWxmLXRlcm0vUworaGFsZndheQoraGFsZndvcmQvU00KK2hhbGlkZS9TTQoraGFsbG8vR1NECitoYWxsb3dlZC9VCitoYWxsdWNpbmF0aW9uL00KK2hhbHZlL0RTRworaGFtL0RHU1JaTQoraGFtYnVyZ2VyL1NNCitIYW1pc2gKK0hhbXBzaGlyZQoraGFtc3RyaW5nL1NHTQorSGFuY29jay9NCitoYW5kYmFycm93L1NNCitoYW5kaWNyYWZ0L1NNCitoYW5kbWFpZC9TTQoraGFuZHNoYWtlL1NNRworaGFuZHNvbWVuZXNzL1MKK2hhbmR3cml0aW5nL00KK2hhbmR5L21QVAorSGFuZXkvTQoraGFuZ2FyL1NkTQoraGFua2llL00KK0hhbm5hL00KK0hhbnMKK2hhcHB5LWdvLWx1Y2t5CitIYXBzYnVyZy9NCitIYXJiaW4vTQoraGFyZGJvYXJkL00KK2hhcmQtaGVhcnRlZC9QWQoraGFyZC1oZWFydGVkbmVzcy9TCitoYXJkc2hpcC9NUworaGFyZC13aXJlL1NERworaGFyZC13b3JraW5nCitoYXJlYnJhaW5lZAoraGFybWVyL00KK2hhcm1sZXNzL1BZCitoYXJtb25pY2EvU00KK2hhcm1vbmljcy9NCitoYXJuZXNzZXIvTQoraGFycC9STURHM1pKUworaGFycGlzdAoraGFycG9vbi9SU0RHTQoraGFycm9nYXRlL00KK2hhc2gncworSGFza2VsbAoraGFzbid0CitoYXNzbGUvRE1HUworaGFzdGVuZXIvTQoraGFzdHkvVFAKK2hhdGNoYmFjay9TTQoraGF0cmVkL1NNCitoYXVnaHRpbmVzcy9TCitIYXVwdG1hbm4KK0hhd2tpbnMvTQoraGF3dGhvcm4vU00KK2hheWNvY2svU00KK0hheWRuL00KK2hhemVsL1NNCitoZHFycworaGVhZGluZy9NCitoZWFkcXVhcnRlcnMKK2hlYWRzaGlwL1NNCitoZWFkc3Ryb25nCitoZWFkd2FsbC9TCitoZWFsdGhmdWxuZXNzL1MKK2hlYXJkL1VhY0EKK2hlYXJ0ZWQvUAoraGVhcnRlZG5lc3MvUworaGVhcnRmZWx0CitoZWFydC10by1oZWFydAoraGVhdC9SSjdNR0RTaAoraGVhdGhlbmRvbS9TTQoraGVhdmVud2FyZC9TCitoZWF2aWVyLXRoYW4tYWlyCitoZWF2eS1oYW5kZWQKK2hlY3RhcmUvU00KK2hlY3RpYy9ZCitoZWVkLzZNR0RqcFMKK2hlaW5vdXMvUFkKK2hlaXJlc3MvTVMKK2hlbGljb3B0ZXIvZFNNCitoZWxpb2NlbnRyaWMKK2hlbGlwb3J0L01TCitoZWxsL01TCitoZWxsLXJhaXNlcgoraGVsbHV2YQoraGVscGZ1bGx5L1UKK2hlbHBsaW5lL1MKK2hlbWxpbmUvTVMKK2hlbmNobWFuL00KK2hlbm5hL0RNR1MKK2hlcHRhbmUvTQoraGVwdGF0aGxvbi9TCitIZXJjdWxhbmV1bQoraGVyY3VsZWFuCitoZXJlYXQKK2hlcm8vVzFNCitIZXJyaW5ndG9uCitIZXJ6ZWdvdmluYS9NCitoZXNpdGFuY3kvU00KK2hlc2l0YXRpb24vTQorSGV3aXR0L00KK2hleC9EU0cKK0hleXdvb2QKK0hHVgorSGlja2V5L1MKK0hpZ2dpbnMvTQoraGlnaC1mYWx1dGluCitoaWdoLXJpc2sKK2hpZ2gtc291bmRpbmcKK2hpZ2h3YXkvbU1TCitoaWx0L0dNRFMKK0hpbWFsYXlhcworSGluZHUvTVMKK0hpbmtsZQoraGlwbmVzcy9TCitoaXJlL0dBRFMKK2hpc3MvU00KK2hpc3RvZ3JhbS9NUworaG9hcnNlL1BZVAoraG9iL1NaR01ECitIb2Jva2VuCitob2d3YXNoL01TCitIb2xicm9vaworSG9sY29tYi9NCitob2xlL0dEU00KK0hvbGxpc3RlcgoraG9sbHlob2NrL1NNCitob2xtaXVtL00KK2hvbG9ncmFwaC9EU1pHV00KK0hvbHN0Citob21lLWJ1aWxkZXIvUworaG9tZWxlc3MvUAoraG9tZWxpa2UKK2hvbWVseS9UUAoraG9tZS1tYWRlCitob21lLW1ha2VyL1NNCitob21lcGFnZQoraG9tZXluZXNzL1MKK2hvbWljaWRhbAoraG9taW5nL00KK2hvbW9lb3N0YXNlcworaG9tb2dlbmlzYXRpb24KK2hvbW9zZXh1YWwvU01ZCitob21venlnb3VzL1kKK0hvbmVja2VyCitob25vcmFyeS9TWQoraG9vZm1hcmsvUworaG9vay9SR1NNRAoraG9vcmF5L1MKK2hvb3QvUk1ER1MKK0hvb3ZlcidzCitob3BlZnVsL1NQCitob3JkZS9NUworSG9yZ2FuCitob3Jvc2NvcGUvU00KK2hvcnJvci9TTQoraG9yc2UvWW1HNURNU3AKK2hvcnNlZmxlc2gvTQoraG9yc2VmbHkvU00KK2hvcnNlbGlrZQoraG9yc2VyYWRpc2gvU00KK2hvcnRpY3VsdHVyZS8zU00KK2hvc2VwaXBlCitob3N0aWxlL1kKK2hvdC9QRFNZR1QKK2hvdGhlYWQvU0RpaE0KK2hvdHBvdC9NCitob3RzcG90L1MKK0hvdWRpbmkKK2hvdXNlZnVsL1NNCitob3VzZW1haWQvU00KK2hvdXNlcy9lQQorSG91c3RvbgoraG93ZXZlcgoraHVlL1NNCitIdWdvCitodW1hbml0eS9TTUkKK2h1bWlkL1kKK2h1bW1hYmxlCitodW1taW5nYmlyZC9TTQoraHVtdXMvU00KK0h1cm9uCitodXJyYXkvUworaHVydC9rakc2UworaHVzYmFuZGVyL00KK2h5ZHJhdGluZy9DQQoraHlkcm9jZXBoYWxpCitoeWRyb2ZsdW9yaWMKK2h5ZHJvZ2VuYXRlL1NNR0QKK2h5ZHJvcGhpbGljCitoeWRyb3BvbmljL1NZCitoeWRyb3N0YXRpYy9TCitoeWRyb3h5bGF0ZQoraHltbm9ncmFwaGVyCitoeXBlcmFjdGl2aXR5L1NNCitoeXBlcmdseWNhZW1pYQoraHlwZXJ2ZW50aWxhdGUvR1NuRE4KK2h5cG9hY3RpdmUKK2h5cG9waHlzZWFsCitoeXBveGljCitoeXN0ZXJpYS9NUworSQorSWFuL00KK2lhdHJvZ2VuaWMKK2liZXgvU00KK0liaXphCitpY2VjYXAvTVMKK0lDTQoraWN5L1RQWQorSWRhaG8KK2lkZWEvTW9TCitpZGVhbGl6YXRpb24vTQoraWRlbnRpZmlhYmxlL1UKK2lkZW9ncmFwaC9XTVMKK2lkZXMKK2lkaW9sZWN0L00KK2lkaW9tYXRpY25lc3MKK2lkeWxsL1NNVzEKK0lFRQorSUVFRQoraWZmaW5lc3MvUworSWduYXRpdXMKK2lnbm9yYW50L1NZCitpZ25vcmUvR0RTCitpbGlhCitpbGwtYXNzb3J0ZWQKK2lsbC1icmVkCitpbGxpbWl0YWJsZS9QCitpbGx1bWluYXRlZC9VCitJbWFnZW4vTQoraW1hZ2luYWJsZS9VCitpbWJlY2lsZS9NV1MKK2ltaXRhdGUvRFZHdk51blMKK2ltaXRhdGl2ZS9QCitpbWl0YXRvci9TTQoraW1tYW5lbmNlL1pTCitpbW11bm9kZWZpY2llbnQKK2ltcGFjdG9yL1NNCitpbXBhaXIvTEcKK2ltcGFydC9HTgoraW1wYXNzaW9uZWQvVQoraW1wZWwvTlJTR25ECitpbXBlcmlsL0xHRAoraW1waW5nL0cKK2ltcGxhdXNpYmlsaXR5L00KK2ltcGxvZGUvU05ER1gKK2ltcGxvcmUvU2tERworaW1wbG9zaW9uL00KK2ltcHJpbWF0dXIvTVMKK2ltcHJvYmFibGUvUAoraW1wdWxzaW9uL00KK2luYXV0aGVudGljCitpbmJvcm4KK2luY2FwYWNpdGF0aW9uL00KK2luY2VudGl2ZS9FU00KK2luY2lkZW50L0ZvCitpbmNpbmVyYXRpb24vTQoraW5jb2duaXRvL1MKK2luY29tZS9NCitpbmNvbW11bmljYWRvCitpbmNvbnRpbmVudAoraW5jb252ZW5pZW5jZS9ERworaW5jcmVtZW50L05NU0RHbworaW5jdW1iZW5jeS9NUworaW5kZWVkCitpbmRlbW5pZmljYXRpb24vTQoraW5kZW50ZWQvVQoraW5kZW50ZXIvTQoraW5kZXRlcm1pbmFibGUvWQoraW5kZXRlcm1pbmFjeS9TTQoraW5kaWNhdGl2ZS9TCitpbmRpY3QvTFNEN0cKK2luZGlnZW5vdXMvWVAKK2luZGlnby9TTQoraW5kaXNwdXRhYmxlL1AKK2luZGl2aWR1YWxpdHkvTVMKK0luZG9jaGluYQoraW5kdXN0cmlhbGlzZWQvVQoraW5kdXN0cmlvdXMvUFkKK2luZHVzdHJ5L29NUworaW5mYW5jeS9NCitpbmZlY3Rpb3VzbmVzcy9TCitpbmZlci9EUzdHCitpbmZlc3QvblNER05SCitpbmZpcm1pdHkvU00KK2luZmxhbWUvWE4KK2luZnJhCitpbmZyYXNvbmljCitpbmZyZXF1ZW50CitpbmdlbmlvdXMvWVAKK2luZ2VuaW91c25lc3MvUworaW5nZW51aXR5L01TCitJbmdoYW0KK2luZ3VpbmFsCitpbmhhbGF0aW9uL00KK2luaXRpYWxsZXIKK2luaXRpYXRpb24vTQoraW4tbGF3L1MKK2lubnVtZXJhYmxlL1BZCitpbnF1aXNpdG9yaWFsCitpbnNjcnV0YWJsZS9ZUAoraW5zZW1pbmF0ZS9ObkRTRworaW5zZW1pbmF0aW9uL00KK2luc2VwYXJhYmlsaXR5L01TCitpbnNpZGUtb3V0CitpbnNpZGlvdXMvUFkKK2luc3BlY3RvcmF0ZS9NUworaW5zcGVjdG9ycycKK2luc3BpcmF0aW9uL00KK2luc3RhbnQvU1lNCitpbnN0YW50bmVzcworaW4tc3RvcmUKK2luc3RydWN0b3IvU00KK2luc3RydW1lbnQvR05vU0RuTQoraW5zdHJ1bWVudGFsaXR5L1NNCitpbnN1bGFyaXR5L01TCitpbnN1bGF0ZWQvVQoraW5zdXJyZWN0aW9uLzNNUworaW50ZWdyYWJpbGl0eS9NCitpbnRlZ3JhdGUvRUFEU0dOCitpbnRlbGxlY3R1YWxpdHkvTQoraW50ZXJjYWxhdGUvREdWU04KK2ludGVyY2FzZQoraW50ZXJjaGFuZ2VyL00KK2ludGVyY29ubmVjdGl2aXR5CitpbnRlcmdvdmVybm1lbnRhbAoraW50ZXJpbS9TCitpbnRlcmluZGV4CitpbnRlcmxheWVyCitpbnRlcmxlYXZlL0NHRFMKK2ludGVybG9idWxhcgoraW50ZXJtZXNoZWQKK2ludGVybmV0CitpbnRlcm51Y2xlYXIKK2ludGVycGVyc29uYWwvWQoraW50ZXItcGVyc29uYWwKK0ludGVycG9sL00KK2ludGVycG9zZXIvTQoraW50ZXJwcmV0YWJsZQoraW50ZXJwcmV0YXRpb24vQU1hCitpbnRlcnF1YXJ0aWxlCitpbnRlcnJ1cHRlZC9VCitpbnRlcnJ1cHRpYmlsaXR5CitpbnRlcnN0ZWxsYXIKK2ludGVydGlkYWwKK2ludGVydHdpbmUvRFNHCitpbnRlc3RpbmFsCitpbnRlc3RpbmUvU29NCitpbnRyYWN0YWJpbGl0eS9TTQoraW50cmFuc2lnZW50L1NZCitpbnRyYW5zaXRpdmUvUworaW50cmFzZWN0b3JhbAoraW50cmlndWUvUlNrREcKK2ludHJvL1MKK2ludHJvZHVjdGlvbi9NQQoraW50cnVzaW9uL00KK2ludmFyaWFudC9NWQoraW52ZXN0aWdhdG9yeQoraW52ZXN0b3IvU00KK2ludmlvbGF0ZS9QWUIKK0lvbGFudGhlL00KK0lvbmEKK2lvbm9zcGhlcmUvU01XCitJb3dhCitJcmFuL00KK2lyaWRpdW0vTQoraXJvbm1vbmdlcnkvTQoraXJyZXByb2FjaGFibGUvUFkKK2lycmVzb2x1dGUvUAoraXJyZXNwb25zaWJsZS9TCitpcnJpZ2F0ZS9HRE5uUworaXJyaXRhYmlsaXR5L1NNCitpc29sYXRpb25pc20vU00KK2lzb2xhdGlvbmlzdC9XCitJc29sZGUvTQoraXNvbWV0cmljcy9NCitpdGVtaXNlZC9VCitpdCdsbAorSVVEL1MKK0kndmUKK2l2b3J5L1NNCitqYWJiZXIvU2RySgoramFjay9NRFJTSkcKK0phY29iaS9NCitKYWNvYnNvbi9NCitqYWNxdWFyZC9NUworamFkZWRuZXNzL1MKK0phaW1lL00KK2phbG9weS9TTQorSmFtYWljYS9NCitqYW1ib3JlZS9TTQorSmFtZXMKK0phbmVpcm8KK2phbmdsZS9EUlNHWQoramFuaXNzYXJ5L1NNCitKYW5zZW4KK0phbnVhcnkvU00KK2phdG8vTVMKK0plYW4KK0plZXAvU00KK0pla3lsbAoramVubnkvU00KK2plb3BhcmR5L01ROFMKK0plcmVteS9NCitKZXJpY2hvL00KK2plcmtlci9NCitqZXJzZXkvTVMKK0plcnVzYWxlbS9NCitKZXNzaWNhCitqZXRsaW5lcidzCitqZXR0aXNvbi9kUworamV3ZWwvUkdTTUQKK0pld2lzaAorSmV3aXNobmVzcworamlmZi9aUworamlnZ2luZy9NCitqaW1taWVkCitqaW5nbHkvVAoramlubmkncworamlucmlraXNoYSdzCitqaXRzdQoraml1CitqaXZlL01ER1MKK2puci4KK2pvY29zaXR5L1NNCitqb2N1bmQvWQorSm9lL00KK0pvaGFubmVzYnVyZy9NCitqb2ludGVkL0VQWQoram9pc3QvU01ECitqb2t5L1lUCitqb2xsaW5lc3MvUworSm9uL01aCitKb3BsaW4KK0pvdmFub3ZpY2gKK2pvd2x5L1QKK2pveXJpZGUvUkdNUworam95c3RpY2svUworanUveQoranVkaWNpb3VzL0lZUAorSnVkeS9NCitqdWdmdWwvU00KK2p1Z2dsZXJ5L1NNCitqdWppdHN1L01TCitqdS1qdS9NCitqdWp1YmUvTVMKK0p1bGl1cworanVuY28vTVMKK2p1bmlwZXIvU00KK2p1c3NpdmUKK0p1dmVuYWwKK2thYm9vbQora2FwdXQvTQorS2F1Zm1hbi9NCitLZWxsb2dnCitLZWxzZXkvTQora2VwdAorS2VybWl0CitrZXJuZWwvU00KK2tlcm9zZW5lL01TCitLZXN0ZXZlbgora2VzdHJlbC9TTQora2V0Y2gvTVMKK0tleW5lc2lhbgora2V5bm90ZS9TUkdNRAorSy1mYWN0b3IKK2toYW4vTVMKK2tpY2stb2ZmL01TCitLaWRkZXJtaW5zdGVyCitLaWt1eXUvTQora2lsb2hlcnR6L00KK2tpbG93YXR0L1NNCitraWxvd29yZAorS2ltCitraW4vNVNtTQora2luZXNpY3MKK2tpbmdzaGlwL1NNCitLaW5zZXkKK2tpcmsvU00KK2tpdGUtZmx5aW5nCitraXR0ZW4vTWRTCitraXR0eS9NUwora2l3aS9TTQora2x5c3Ryb24vU00KK2tuZWVzLXVwCitrbm9iYnkvVAora25vY2svUkRKU0cKK2tub2NrLW91dAora25vY2t3dXJzdCdzCitLbnV0c2VuCitLb25yYWQvTQora293dG93L0dEUwora3JhYWwvTVMKK0tyZW1saW5vbG9neQora3JpbGwvTVMKK0tyaXNobmEKK2tyb25lL00KK0tydWVnZXIKK0t1cmQvU00KK2tWCitMYWIKK2xhYml1bS9NCitsYWMvREdTTQorbGFjZS11cHMKK2xhY3RpYworbGFkZS9aRworTGFkZW4ncworbGFnb29uL1NNCitsYWl0eS9NUworTGFrZWh1cnN0CitMYWtlbGFuZAorTGFtYXIvTQorTGFtYmVydAorbGFtZS9ZRFBUCitsYW1pbmF0aW9uL00KK2xhbXBvb25lci9NWgorTGFuY2FzaGlyZS9NCitsYW5jZS9EUkdNUworbGFuZG93bmluZy9NCitMYW5nZm9yZAorbGFuZ3VpZG5lc3MvUworbGFwZWwvTVMKK0xhcGhyb2FpZworTGFwcAorbGFwd2luZy9TTQorbGFyZ2VoZWFydGVkCitsYXJnZS1zY2FsZQorbGFyZ2lzaAorbGFydmEvTQorbGFzYWduZS9NCitsYXNoL1NETUpHCitsYXNoZWQvVQorbGFzaGVyL00KK2xhdGNoL0dNRFMKK2xhdGljZXMvTQorbGF1ZGF0b3J5CitsYXVnaHRlci9TTQorTGF1cmEvTQorTGF1cmVuY2UKK2xhdmUvRFNHCitsYXZpc2gvRFBUU0dZCitsYXhlcy9BCitsYXktYnlzCitsYXllcmluZy9NCitsYXlvdmVyL01TCitsYXl1cC9NUworTGF6aW8KK2xhenkvR0RUUFkKK2xlYWRzL2EKK2xlYXAvREdTCitsZWFwZXIvTQorbGVhcm5pbmcvU00KK0xlYmFub24vTQorbGViZW5zcmF1bQorbGVjaGVyL1NNWgorbGVjaGVyeS9TTQorTEVEcworbGVlL1N5TQorbGVlci9ER2tTMgorbGVld2F5L1NNCitsZWZ0aXNtL01TCitsZWZ0bW9zdAorbGVmdG92ZXIvTVMKK2xlZ2F0ZWUvTVMKK2xlZ2VuZGFyeS9ZUworTGVnby9NCitsZWd3b3JrL01TCitMZWhtYW4vTQorbGVuZ3RoeS9UUAorTGVuaW4KK0xlbmluZ3JhZAorbGVuaXRpdmUvUworTGVvbmEKK0xlb3BvbGQKK0xlb3BvbGR2aWxsZQorTGVyb3kKK0xlc290aG8vTQorbGV0LWRvd24vU00KK2xldGhhbC9ZCitsZXQncy9lCitsZXR0ZXJpbmcvTQorTGV2CitMZXZpL1MKK2xleGljYWwvWQorbGliZWwvRFJTTUcKK2xpYmVyYWxzCitMaWJlcmlhbi9TCitMaWItTGFiCitMaWNodGVuc3RlaW4KK2xpZXIncy9GCitsaWZlYm9hdG1lbgorbGlmZWJ1b3kvUworbGlmZS1mb3JjZQorbGlmZWxvbmcKK2xpZmUtc2l6ZS9ECitMSUZPCitsaWZ0LW9mZi9NUworbGlnYXRpb24vTQorbGlnaHQtZmluZ2VyZWQKK2xpZ2h0aG91c2UvU00KK2xpa2VhYmlsaXR5L1NNCitsaWtlbGlob29kL1VNCitsaWtlc3QKK2xpbHkvU0RNCitMaW1lcmljay9NCitsaW1pdGxlc3MvUFkKK0xpbmNvbG4vTQorTGluZC9NCitMaW5kYS9NCitsaW5kZW4vTVMKK2xpbmViYWNrZXIvTVMKK2xpbmtzL1UKK0xpbm90eXBlL00KK2xpcC9wU0RaR00KK2xpcG9zdWN0aW9uL1MKK0xpcHNjb21iL00KK2xpcC1zZXJ2aWNlCitsaXBzdGljay9NUworbGlxdWlkYXRpb24vTQorbGlyYS9NCitsaXN0ZW4vcmRTCitsaXN0ZXJpYQorbGl0ZXJhdGkKK2xpdHRlci9kCitsaXR0b3JhbC9TCitsaXZlYWJpbGl0eS9TTQorbGl2ZXJ5L0RtTVMKK2xpdmVzdG9jay9NUworTGxveWQvTQorbG9hdGgvSkdEUFIKK2xvYXRoc29tZS9QWQorbG9iZS9EU00KK2xvZGdlcy9FCitsb2dnaW5nL00KK2xvaW5jbG90aC9NUworbG9sbGlwb3AvU00KK0xvbWIvTQorbG9uZ2VyLXRlcm0KK0xvbmdmZWxsb3cKK2xvbmdpdHVkaW5hbC9ZCitsb25nLXBsYXlpbmcKK2xvbmctc2lnaHRlZG5lc3MKK2xvbmdzd29yZAorbG9uZy10YWlsZWQKK2xvbmd3YXlzCitsb29rYWhlYWQKK2xvb2tpbmcvYworbG9vcC9ETVpTRworbG9vcGVyL00KK2xvb3Bob2xlL1NNR0QKK2xvcmQvRGNTTUcKK0xvcmVudHoKK0xvcmkvTQorTG91aWUvTQorTG91dGgvTQorTG92ZWpveQorbG92ZXN0cnVjaworbG95YWxpc20vU00KK0x1YmJvY2sKK2x1Y2lkL1lQCitsdWN1YnJhdGUvR25TTkQKK2x1Z2dhZ2UvTVMKK2x1Z3NhaWwvTVMKK2x1Z3VicmlvdXNuZXNzL1MKK2x1bWJlcmluZy9NCitsdW1pbmVzY2VudAorTHVuYS9NCitsdW5hY3kvU00KK2x1bmNocm9vbSdzCitsdW5lL05NCitsdW5nZS9TTQorbHVyaWRuZXNzL1MKK2x1c3R5L1RQCitsdXRldGl1bS9NCitMdXRoZXJhbi9NUworTHV4ZW1ib3VyZy9STQorbHV4dXJpYXRpb24vTQorbHV4dXJ5L1NNCitMdXpvbi9NCitseWPpZQorTHluCitseW5jaC9HUkRTSgorTHluY2hidXJnCitMeW9uL01TCitseXJpc3QKK21hJ2FtCittYWNhZGFtL1FNUworTWFjYW8KK21hY2Fyb25pYworbWFjZXIvTQorTWFjaGlhdmVsbGlhbgorbWFjaGluYXRlL0dTRAorbWFjaGluZWxpa2UKK21hY3Jvbi9TTQorTWFkYWdhc2Nhci9NCitNYWRkb3gKK01hZGVsaW5lL00KK01hZG9ubmEvTQorbWFlc3RyaQorbWFnYXppbmUvTUdEUworbWFnZW50YS9NUworbWFnaXN0cmFjeS9TTQorbWFnbmVzaXVtL00KK21hZ25ldC9XcVE4LVNNdCsxCittYWduZXRvZHluYW1pY3MKK21hZ25ldHJvbi9NCittYWduaWxvcXVlbmNlL1NNCittYWhhcmFuaS9TTQorTWFpZHN0b25lL00KK21haWxsb3QvU00KK21haWwtb3JkZXIKK21haW5zdHJlYW0vU00KK21ham9saWNhL01TCittYWxhdGhpb24vUworTWFsYXdpL00KK01hbGNvbG0vTQorbWFsZmVhc2FuY2UvTVMKK21hbGljZS9TTQorbWFsaWduL1lSU0RHCittYWxvZG9yb3VzCittYWx0cmVhdC9MRFNHCitNYW1tb24vTQorbWFtbW90aC9TTQorbWFuLzYxWVJHRE1qVworTWFuYWd1YQorTWFuYXNzZWgKK01hbmRlbGJyb3QvTQorbWFuaWFjL1NNCittYW5pZmVzdC9EWVNHTm4KK01hbml0b2JhCitNYW5pdG93b2MKK01hbm4vTQorbWFubmVyaXNtL1NNCittYW5uZXJpc3QvTQorbWFubmVybHkvUAorbWFubmlzaC9QWQorbWFub2V1dnJhYmlsaXR5L1NNCittYW5vZXV2cmUvU0JNR0RKCittYW4tb2Ytd2FyCittYW5vbWV0ZXIvU00KK21hbnF16S9NCittYW50ZWxwaWVjZS9TTQorbWFudWZhY3R1cmUvUkJTR0pECitNYW52aWxsZQorbWFwcy9BCittYXJhYm91dCdzCittYXJhc2NoaW5vL01TCittYXJibGVyL00KK01hcmNlbAorTWFyaWx5bgorbWFyaW1iYS9NUworbWFyam9yYW0vTVMKK21hcmsvUm1ESmhHU003CittYXJrZG93bi9NUworbWFybGluZXNwaWtlL1NNCitNYXJtaXRlCittYXJtb3JlYWwKK01hcnJha2VzaAorbWFycmlhZ2Uncy9BCitNYXJyaW90dAorTWFyc2VpbGxlcworbWFyc2gvTVpTMgorbWFyc2hsYW5kL01TCittYXJzaHkvUFQKK21hcnQvTUdTRAorbWFydHlyZG9tL01TCitNYXJ5L00KK01hcnlsZWJvbmUvTQorTWFzZXJ1L00KK21hc3NhZ2UvRE1TRworbWFzc2V1ci9TTQorbWFzcy1wcm9kdWNpbmcKK21hc3RvaWQvUworbWF0Y2hpbmcvYworbWF0Y2hsZXNzL1kKK01hdGVvL00KK21hdGVyaWFsaXN0L1cxCittYXRlcmlhbGl0eS9JTQorTWF0aGlzCitNYXRzdXNoaXRhCittYXR0cmVzcy9NUworbWF0dXJlci9NCitNYXVkCitNYXVyaXRhbmlhL00KK21hdy9EU0dNCitNYXh0b3IvTQorTWF4d2VsbGlhbgorTWF5YW4vUworbWF5Zmxvd2VyL1NNCittYXlmbHkvTVMKK21heWhlbS9NUworTWF5by9NCittYXlvcmFsCittYXlvcmVzcy9TTQorTWNDb25uZWxsL00KK01jRG91Z2FsbC9NCitNY0ZhcmxhbmQvTQorTWNLaW5uZXkvTQorbWVhZG93L1NNCittZWFuaW5nL002anBTCittZWFudGltZQorbWVjaGFuaXNlL0JuUlNERworbWVjaGFuaXplL25CRE5HCittZWRpYWV2YWwvM01ZUworbWVkaWFsL1MKK01lZGljaQorbWVkaWNvL1NNCittZWRpY28tbGVnYWwKK21lZGl0YXRlL1ZTR0R2dU5uCittZWVyc2NoYXVtL01TCittZWV0ZXIvTQorbWVnYXZvbHQvTQorbWVnYXdhdHQvU00KK23qbOllL01TCittZWxvZGljL1MKK21lbG9kcmFtYXRpYy9TCitNZWx2aW4KK21lbW9pcmVzCitNZW5kZWxzc29obgorbWVuZm9say9NCittZW5pbmdlYWwKK21lbmluZ2l0aXMvTQorTWVuc2EKK21lbnN1cmF0aW9uL1NNCittZW50YWxpc3QKK21lbnRpb25hYmxlL1UKK21lbnUtZHJpdmVuCitNZW51aGluL00KK01lcmNlZGVzCittZXJjaGFuZGlzZS9SU0RHSk0KK21lcmNpZnVsL1AKK21lcmNpZnVsbHkvVQorbWVyY3VyaWFsL1MKK21lcmluZ3VlL01TCittZXJpdG9jcmF0aWMKK01lcnJpbGwKK01lcnJpdHQvTQorbWVzbWVyaXplZAorTWVzb3BvdGFtaWEvTQorbWVzb3pvaWMKK21lc3NpbmVzcy9TCittZXRhbGluZ3Vpc3RpYworbWV0YWx3b3JraW5nL00KK21ldGF0YXJzYWwvUworbWV0YXRhcnNpCittZXRhdmFyaWFibGUKK21ldGhvZGljYWxuZXNzL1MKK01ldGhvZGlzbQorbWV0aHlsL1NNCittZXRyb3BvbGlzL1NNCitNZXhpY28vTQorTWV5ZXIvUworTWV5ZXJiZWVyCittZXp6by9TCittaS9DCitNaWNoYWVsL1NNCitNaWNoYWVsbWFzCitNaWNrL00KK21pY3JvL1MKK21pY3JvYW5hbHlzZXMKK21pY3JvYW5hbHl0aWMKK21pY3JvcHJvY2Vzc29yL01TCittaWNyb3ZvbHQvTVMKK21pZGRheS9TTQorbWlkZGxlYnJvdy9TTQorbWlkZGxlLWNsYXNzCittaWRkbGUtb2YtdGhlLXJvYWQKK21pZGRsZXIKK01pZGRsZXRvd24KK21pZG1vc3QvUworbWlkdGVybS9NUworbWlkdG93bnMKK21pZHdpZmUvTXkKK21pZ3JhaW5lL01TCittaWxraW5lc3MvUworbWlsa3kvVFAKK21pbGxlbm5pYWxpc20KK01pbGxnYXJ0aAorbWlsbGliYXIvUworbWlsbGluZXJ5L1NNCittaWxsaW9uL01IUworTWlsbHdhcmQKK01JTUQKK01pbmRhbmFvL00KK21pbmQtcmVhZGVyCittaW5kcy9BCittaW5nbGUvRkdEUworbWluaWRyZXNzJ3MKK21pbmltYWxpc20vUworbWluaW1hbGlzdC9XCittaW5pc3RyYXRpb24vTQorbWludGFnZS9NUworTWlvY2VuZQorTUlQUworbWlyYWNsZS9NUworTWlyYW5kYQorTWlyaWFtCittaXJyb3IvZE1TCittaXJ0aC82U3BNagorbWlzYmVoYXZlci9NCittaXNmZWF0dXJlCittaXNoYXAvTQorbWlzaG1hc2gvTVMKK21pc3Npb25zLzQKK21pc3Npb24ncy9BNAorbWlzdGluZXNzL1MKK21pc3RyYWwvU00KK21pc3RydXN0ZXIvTQorbWlzdHMvQworbWl0aWdhdGVkL1UKK21pdGlnYXRpb24vTQorbWtzCittb2JiZXIKK21vYmlsZS9JUS0rOXN0cTgKK21vZGUvRk1TCittb2RlbHMvQQorbW9kZXJubmVzcy9TCittb2RpIHZpdmVuZGkKK01vZ2FkaXNodS9NCitNb2hhd2svTQorbW9pbC9HU0QKK01vbGRvdmEvTQorTW9sb2thaQorbW9tZW50b3VzbmVzcy9TCittb21tYS9TCittb25hc3RlcnkvTVMKK21vbmF1cmFsL1kKK01vbm1vdXRoc2hpcmUvTQorbW9ub2Nocm9tZS9NU1cKK21vbm9jbGluaWMKK21vbm9nYW1vdXMvWQorbW9ub2xpdGgvUzFNVworbW9ub21hbmlhYy9TTQorbW9ub3RoZWlzbS9NUworTW9uc2lldXIvTQorTW9uc2lnbm9yaQorbW9uc3Ryb3NpdHkvTVMKK01vbnRldmlkZW8vTQorTW9udGV6dW1hCitNb250bWFydHJlL00KK21vb25yaXNlCittb3Bpc2gKK01vcmFudC9NCitNb3JhdmlhCittb3JndWUvTVMKK01vcmlhcnR5Cittb3Jvbi9XTTFTCittb3JwaGlhL1MKK01vcnJpc29uL00KK21vcnRnYWdvci9NUworTW9ydGltZXIvTQorbW9zcXVlL01TCitNb3NzYmVyZy9NCittb3RoZXJsaW5lc3MvUworbW90aWxlL1MKK21vdHRsZXIvTQorbW91bGQvMk1aSkRSR1MKK21vdWxkeS9UUAorbW91cm5mdWwvVAorbW91dGgvTTZaREdTMgorbW91dGhmdWwvU00KK21vdXRod2F0ZXJpbmcKK21vdXRoeS9QVAorbW92ZS9BUlNERworTW96YXJ0L00KK01vemVzL00KK01QMworbXBoCitNU1QKK010CittdWRzbGluZ2luZy9NCitNdWVsbGVyL00KK011ZW5zdGVyCittdWVzbGkvTQorbXVnc2hvdC9TCittdWxiZXJyeS9TTQorbXVsbC9TREcKK211bGxldC9TTQorbXVsdGljZWxsdWxhcgorbXVsdGlkaW1lbnNpb25hbC9ZCittdWx0aWZvcm0KK211bHRpbGluZ3VhbGlzbS9TCittdWx0aW1lZGlhCittdWx0aXBsZXgvQ0dEUlMKK211bHRpcGxpY2FuZC9NUworbXVsdGktc2l0ZQorbXVsdGl0dWRpbm91cy9QWQorbXVsdGktdXNlcgorbXVtYm8KK211bW1lci9aCittdW5jaC9ETVJHUworbXVuaXRpb24vRFNHCittdXJreS9UCitNdXJwaHkvTQorbXVycmFpbi9TTQorTXVycm93L00KK211c2NsZS1ib3VuZAorbXVzY3VsYXIvWQorbXVzay9aTTIKK011c2tlZ29uL00KK211c2tldC1iYWxsCittdXN0L3paUzIKK211c3RhbmcvTVMKK211c3RhcmQvU00KK211c3QtaGF2ZQorbXV0aWxhdGUvR25TTkQKK211dGluZWVyL01TCittdXVtdXUvU00KK211enpsZS9ER1VTCittVworTXljZW5hZWFuCitteWVsaXRpZGVzCitNeXJhL00KK015cm5hL00KK25hZGlyL01TCituYWcvUkRTR00KK05ha2FtdXJhL00KK05hbmN5L00KK25hcC9wUlNaR01ECitOYXBpZXIvTQorbmFycmF0b3IvTVMKK05hc3Nlci9NCitOYXRhc2hhL00KK25hdGlvbi9NCituYXZpZ2FibGUvUAorbmF5L1NNCitOYXphcmV0aC9NCituZWJ1bGFyCituZWNyb3NlcworbmVlZGVkL1UKK25lZWRlci9NCituZWVkbGVwb2ludC9TTQorbmVlZGxld29yay9NUworbmVnYXRpdmVuZXNzL1MKK05lZ2V2L00KK05lZ3JvZXMKK05laHJ1L00KK25laWdoYm91cmx5L1AKK25lb25hdGFsCituZW9wcmVuZS9TTQorTmVwYWxlc2UKK25lcGVudGhlL1NNCituZXN0ZXIvTQorbmV0YmFsbC9NCituZXRoZXJtb3N0CituZXR0bGUvTVNHRAorbmV1cmFzdGhlbmlhL01TCituZXVyb2xvZ3kvMTNNU3cKK25ldXJvbmUvUworbmV1cm90cmFuc21pdHRlci9TCituZXV0cmFsL1E4LVNzWQorbmV1dHJhbGlzbS9NUworTmV2aXMvTQorbmV3YmllL1MKK25ldy1mb3VuZAorTmV3Zm91bmRsYW5kL1JNCituZXdpc2gKK25ldy1sYWlkCituZXdsaW5lL1NNCitOZXdyeS9NCituZXdzYm95L1NNCituZXdzZGVhbGVyJ3MKK05ndXllbi9NCitOSEwKK25pYWNpbi9NUworbmliL1NHTUQKK25pY2UvVFBZCituaWNrbmFtZS9NR0RTCituaWdodGhhd2svTVMKK25pZ2h0c3BvdC9TTQorbmlnaHR3ZWFyL00KK05JSAorbmloaWxpc20vTVMKK05pa2UvTQorTmlscworbmluZXBpbnMvTQorbmluZXRlZW4vSFNNCituaW5ldHktZm91ci9ICitOaW5ldmVoL00KK25pdC9TTQorbml0cmUvTU5TblcKK25pdHJpZGUvU00KK25pdHJvZ2x5Y2VyaW4vTQorTml4b24vTQorTmtydW1haC9NCitOb21pL00KK25vbgorbm9uLWFncmljdWx0dXJhbAorbm9uLWFsaWduZWQKK25vbi1hbGxlcmdpYworbm9uLWNvbXBldGluZworbm9uLWNvbnRhZ2lvdXMKK25vbi1jcml0aWNhbAorbm9uLWN1bXVsYXRpdmUKK25vbi1jdXN0b2RpYWwKK25vbi1kZXN0cnVjdGl2ZS9ZCitub24tZGlzY3JpbWluYXRvcnkKK25vbi1kcnlpbmcKK25vbi1leGVjdXRpdmUKK25vbi1leGVtcHQKK25vbi1pbnRlbGxlY3R1YWwvUworbm9uLWxpbmVhci9ZCitub24tbG9naWNhbAorbm9uLW1hZ25ldGljCitub24tcGVyc29uL1MKK25vbi1wcm9mZXNzaW9uYWwvU1kKK25vbi1wcm9maXQtbWFraW5nCitub24tcHJvbGlmZXJhdGlvbi9TCitub24tcmFjaWFsCitub24tcmVzaXN0YW50L1MKK25vbi1yZXNwb25zZQorbm9uLXNjb3JpbmcKK25vbi1zaW5naW5nCitub24tc2luZ3VsYXIKK25vbi1zbW9raW5nCitub24tc3BlY2lhbGl6aW5nCitub24tc3RhcnRlci9TCitub24tc3VjY2Vzc2l2ZQorbm9uLXN5bXBhdGhpc2VyL00KK25vbi10YXJuaXNoYWJsZQorbm9vbi9TTQorbm9vbmRheS9TTQorTm9yZHN0cm9tL00KK25vcm1hbGl6ZS9DR1NECitub3JtYWxpemVyL1MKK05vcnRoZmllbGQvTQorbm9ydGgtbm9ydGgtZWFzdAorTm9ydGh1bWJyaWEKK25vcnRoLXdlc3Qncworbm8tc2hvdy9TCitub3N0YWxnaWMvWVMKK25vc3kvVFlQCitub3Rld29ydGh5L1AKK25vdGhpbmcvUFMKK25vdXJpc2hlci9NCitub3V2ZWxsZQorTm92Citub3ZlbGV0dGUvU00KK25vdworbm93YXkKK05wCitudWJpbGUKK251Y2xlYXNlL00KK251bWlzbWF0aWNzL00KK251bWlzbWF0aXN0L01TCitOdW5hdnV0CitudXB0aWFsL1MKK055cXVpc3QvTQorb2FyL0RTTQorb2FybG9jay9TTQorT2Jlcm9uL00KK29iZnVzY2F0ZS9ETm55R1MKK29iaXQvTVMKK29ibGlxdWVuZXNzL1MKK29ibGl2aW91c25lc3MvUworb2Jsb3F1eS9NCitvYm9lL1NNCitvYnNjdXJlL05TRFRHWVAKK29ic2VxdWllcworb2JzZXJ2YW5jZS9NUworb2JzZXNzaW9uL00KK29idHJ1c2l2ZS9VWQorb2NjYXNpb25hbAorb2NjdXBhdGlvbmFsL1kKK29jY3VwaWVkL1UKK29jZWFuL01XUworb2NlYW4tZ29pbmcKK09jZWFuaWEvTQorbydDbG9jaworb2N0ZXQvTVMKK29jdG9yb29uL00KK29jdWxpc3QvU00KK29kb3JvdXMvWQorb2VkZW1hdG91cworb2ZmLWFpcgorb2ZmaWNlaG9sZGVyL1NNCitvZmZpY2VyL2QKK29mZmlzaAorT2dkZW4vTQorTydIYXJhCitvaWxzZWVkL1NNCitva2F5L0RNRworb2xkLWFnZQorb2xkZW4KK29sZC1mYXNoaW9uZWQKK29sZW9tYXJnYXJpbmUvU00KK29saWdhcmNoeS9TTQorb2xpdmUvTVMKK09saXZpZXIvTQorT2xsaWUvTQorb21idWRzbWFuL00KK29tZWdhL01TCitvbW5pdm9yb3VzL1lQCitvbmNlCitvbmNvZ2VuZS9TCitvbmNvbG9naXN0L1MKK29uZS1oYWxmCitvbmVzZWxmCitvbmUtc2lkZWRuZXNzCitvbi1zdHJlZXQKK29vemUvRFpTRworT1BFQworb3Blbi1hbmQtc2h1dAorb3Blbi1leWVkCitvcGVubmVzcy9TCitvcHBvcnR1bml0eS9NUworb3Bwb3NpdGlvbi9NCitvcHRpY2lhbi9NUworb3B0aW9uYWxpdHkvTQorb3B0b21ldHJ5L1NNVworb3JhbC9TCitvcmFuZ2VyeS9TTQorb3Jhbmctb3V0YW5nL1MKK29yYXRpb24vTQorb3JhdG9yeS9TTQorb3JiaXRlci9TCitvcmNoaWQvU00KK29yZGFpbnMvSworT3JlZ29uL00KK09yZWdvbmlhbi9TCitPcmVzdGVzCitvcmdhbmRpZS9NUworb3JnYW5lbGxlL1NNCitvcmdhbmlzYXRpb24vb00KK29yZ2FuaXNtL01XUworb3JnYW5pemF0aW9uL29NCitvcmdhbm9tZXRhbGxpYworb3JpZworT3JsYW5kby9NCitPcnBpbmd0b24KK29ydGhvZG9udGljL1MKK29ydGhvZG94eS9TTQorb3J0aG9nb25hbC9ROHEtWQorb3J0aG9yaG9tYmljCitPVEIKK290aGVyd2lzZQorT1RUCitvdXRib2FzdAorb3V0Y3J5L00KK291dGRvL0cKK291dGVybW9zdAorb3V0Zm94L0cKK291dGxpbmUKK291dHBhY2UKK291dHBvaW50L0RHCitvdmVyYmlkL0cKK292ZXJkcmF3L0cKK292ZXJncmF6ZQorb3Zlcmdyb3cKK292ZXJsaWVyCitvdmVyc2hvZQorb3ZlcnRpbWUKK292ZXJ3aGVsbS9rCitvd2xldC9NUworb3hpZGl6aW5nCitPeG9uaWFuCitveHlnZW5hdGUvRE1HUworb3h5Z2VuYXRpb24vTQorcGFjZS9EUk1TRworcGFjZW1ha2VyL1NNCitwYWNrYWdlL0pSR0RNUworcGFja2VyL1NNCitwYWNrc2FkZGxlL1NNCitQYWRyYWlnL00KK3BhZWFuL01TCitwYWVkaWF0cmljL1MKK3BhZ29kYS9TTQorcGFpZC11cAorcGFpbmtpbGxpbmcKK1Bha2lzdGFuaS9TCitwYWxhY2UvU00KK3BhbGFlb2JvdGFuaXN0CitwYWxhZW9ib3RhbnkvdworcGFsYWVvZ3JhcGh5L01TdzFXCitQYWxhdS9NCitwYWxlL0RUU1lHCitwYWxlcy9JCitwYWxsaWF0aXZlL1MKK3BhbG1ldHRvL01TCitwYWx0cnkvVFAKK3BhbmFjZWEvTVMKK3BhbmFtYS9TCitQYW5hbWFuaWFuL1MKK3BhbmNyZWFzL1NNCitwYW4tRXVyb3BlYW4KK3BhbmdvbGluL00KK3BhbmphbmRydW0vTQorcGFudGhlci9TTQorcGFudG9ncmFwaC9TTQorUGFuemEvTQorUGFvbG8vTQorcGFwaWxsYS95TQorcGFweXJpCitwYXB5cnVzL00KK3BhcmFkaXNhbAorcGFyYWxsZWwvUworcGFyYWxsZWxlZC9VCitwYXJhbW91ci9NUworcGFyYXRoaW9uL1NNCitwYXJhdHJvb3AvUlMKK3BhcmluZy9NCitwYXJpc2hpb25lci9NUworUGFyaXNpYW4vUworcGFybGlhbWVudC9NUworcGFyb3h5c20vTVMKK3BhcnJha2VldCdzCitwYXJyaWNpZGFsCitwYXJzZWMvU00KK3BhcnNvbmFnZS9NUworcGFydGFrZW4KK3BhcnRpY2lwYXRpb24vTQorcGFydGljbGVib2FyZC9TCitwYXJ0aXRpb24vTUdEUworcGFydGl6YW4ncworcGFydGx5CitwYXJ0b29rCitwYXNjaGFsL1MKK3Bhc3NhZ2UvRE1TRworcGFzc2VuZ2VyLW1pbGUKK3Bhc3NpbQorcGFzc2l2aXR5L0lTCitwYXNzbWFyaworcGFzdGUvU00KK3Bhc3RyYW1pL01TCitwYXN0cy9BCitwYXQvRFNNWkcKK3BhdHJpYXJjaC9aTQorcGF0cmlhcmNoYWwKK3BhdHJvbml6ZS9rCitwYXktYmVkCitwZWFsL1NBR0QKK1BlYXJzb24vTQorcGVhc2hvb3Rlci9TTQorcGVjdW5pYXJ5CitwZWRlcmFzdHkvU00KK3BlZGltZW50L0lTTQorcGVlbGluZy9NCitwZWVuL1NHRE0KK3BlZXJsZXNzL1BZCitwZWxhZ2ljCitwZWxpY2FuL1NNCitwZWxsdWNpZAorcGVuZHVsdW0vU00KK3BlbmV0cmF0aW9uL00KK3Blbmd1aW4vU00KK3BlbmlsZQorcGVuaXRlbnQvSVNZCitwZW5ueS1waW5jaGluZworcGVudGVjb3N0YWwKK3BlcHBlcm9uaS9TCitwZXBweS9QVAorcGVyYW1idWxhdG9yL1NNCitwZXJjZW50YWdlL1NNCitwZXJjaC9ER01TCitwZXJjdXNzL0ROdnVTR1hWCitwZXJjdXNzaW9uLzNNCitwZXJjdXNzaW9uJ3MvQQorcGVyZmlkaW91cy9QWQorcGVyZm9yYXRlL1NOREduCitwZXJmb3JhdGlvbi9NCitwZXJmdW1lci9aCitwZXJoYXBzCitwZXJpbHMvSQorcGVyaXN0YWxzZXMKK3BlcmlzdHlsZS9NUworcGVyaXRvbmVhbAorcGVyaXdpbmtsZS9NUworcGVybWFmcm9zdC9NUworcGVybWlzc2liaWxpdHkvTQorcGVycGV0dWF0ZS9HblNETgorcGVycGV0dWl0eS9TTQorcGVycXVpc2l0ZS9NUworcGVyc2VjdXRpb24vU00KK3BlcnNpc3RlbmNlL1NNCitwZXJzb25hbGl0eS9TTQorcGVydG5lc3MvUworUGVydS9NCitwZXNzYXJ5L1MKK3Blc3RpZmVyb3VzCitQZXRlcmhlYWQvTQorcGV0aXRlL1BTCitwZXRyZWwvU00KK3BldHJvZ3JhcGhpYworcGV0cm9sZXVtL00KK3BldHRpZm9nL1JHRFMKK3BldHVuaWEvU00KK3Bld2VlL1NNCitwaGFldG9uL01TCitwaGFnb2N5dGUvTVMKK3BoYW50YXN5J3MKK1BoYXJpc2FpYworcGhpbG9kZW5kcm9uL01TCitwaGlsb3NvcGh5L3cxc1dROFM5TQorcGhsZWJpdGlkZXMKK3Bob2VuaXgvTVMKK3Bob25lbWljL1MKK3Bob25vbG9neS8xM3dTTQorcGhvc3BoaW5lL00KK3Bob3RvY2hlbWlzdHJ5L00KK3Bob3RvZW5ncmF2aW5nL01TCitwaG90b2dyYXBoL1IxR1pEV1NNCitwaG90b2x5dGljCitwaG90b3JlY2VwdG9yCitwaHJhc2FsCitwaWFub2ZvcnRlL01TCitwaWJyb2NocworcGlja2VkL1UKK1BpY2tlcmluZworcGlja2xlL0RTTUcKK3BpY29zZWNvbmRzCitwaWN0b3JpYWwvWVBTCitwaWZmbGUvRFNNRworcGlnZW9uLWZhbmNpZXIvTVMKK3BpZ21lbnQvRE5uRworcGlnbWVudGF0aW9uL00KK3Bpa2VtZW4KK3BpbGFzdGVyL01TCitwaWxhdSdzCitwaWxncmltL01TCitwaWxncmltYWdlL01TREcKK3BpbGwvU00KK3BpbGxib3gvTVMKK3BpbGxpb24vTVMKK3BpbGxvdy9HRE1TCitwaWxvdGhvdXNlL1NNCitwaW1pZW50by9NUworcGltcGVybmVsL01TCitwaW5jZS1uZXoKK3BpbmNlcmVkCitwaW5jaGVyL00KK3BpbmVhcHBsZS9TTQorcGluZmVhdGhlci9TTQorcGluaGVhZC9TRGlNCitwaW5reS9TCitwaW5uaW5nL2ZTCitwaW5zdHJpcGUvRFNNCitwaXBlL01TCitwaXN0b2wvU0RHTQorcGlzdG9sZS9NCitwaXRjaC9SR0RTCitwaXRjaC1hbmQtdG9zcworcGl0aGluZXNzL1MKK3BpdGh5L1RQCitwaXRvbi9NUworcGl0dGFuY2UvTVMKK3BpdHkvU0dNUmpwa2xENzYKK3Bpdm90aW5nL00KK3BpeAorcGl4aWUvU00KK3BsYWNlL0VEUlNMRworcGxhY2VudGFsL1MKK3BsYWluY2hhbnQKK3BsYWlubmVzcy9TCitwbGFudGluZy9TCitwbGFudGxpa2UKK3BsYW50J3MKK3BsYXNtL00KK3BsYXRpdHVkZS9NUworcGxhdG9vbi9HTURTCitwbGF1ZGl0L01TCitwbGF5LWFjdGluZy9NCitwbGF5Z29lci9TTQorcGxlYS9NUworcGxlYWRpbmcvTQorcGxlYXMvU2tER0oKK3BsZWFzZS9FR0RTCitwbGVudHkvTTZqCitwbGllZC9BSUYKK3BsaWdodC9ER01TCitwbGlnaHRlcgorcGxvZGRpbmcvWQorcGx1bXBpc2gKK3BsdW5kZXJlci9TCitwbHVuay9SR0RTCitwbHVzaHkvVAorcGx5d29vZC9TTQorUE0vTQorcG8vUVkKK3BvY2tldGtuaXZlcworcG9kaXVtL1NNCitwb2V0aWMvUworcG9pZ25hbnQvWQorcG9pbnRpbGxpc3QvTVMKK3BvbGFyaXNjb3BlL00KK3BvbGl0aWNraW5nL01TCitwb2xrYS9ER1NNCitwb2xsaW5hdG9yL01TCitwb2xvL01TCitwb2xvbmFpc2UvU00KK3BvbG9uaXVtL00KK3BvbHlldGh5bGVuZS9TTQorcG9seW1lci9ROC1xTVMKK3BvbHlub21pYWwvTVNZCitwb21lZ3JhbmF0ZS9NUworcG9tcGFkb3VyL1NNRAorcG9tcG91c25lc3MvUworcG9uY2hvL1NNCitwb25kZXJlci9TTQorcG9uZy9ECitwb255L1NNCitwb29sL0dTRE0KK3BvcGd1bi9TTQorcG9wdWxhcml0aWVzCitwb3B1bGF0aW9uL0NNYworcG9wdWxpc3QvU00KK3BvcmN1cGluZS9TTQorcG9ydGFnZSdzCitwb3J0ZWQvQTRFRkNJCitwb3J0aWNvZXMKK3BvcnQncy9BCitwb3NlL0ZOQ1J4REdTRVgKK3Bvc2VzL0lBNAorcG9zdC1kb2N0b3JhbAorcG9zdC1ob3JuL01TCitwb3N0aWxpb24vTVMKK3Bvc3QtaW1wcmVzc2lvbmlzdC9XCitwb3N0cHJhbmRpYWwKK3Bvc3QtdG93bi9NUworcG90ZW50L1lJUworcG90ZnVsL1NNCitwb3Rob2xlL1NNR0QKK3BvdC1wb3VycmkvU00KK3BvdHMvQworcG90dGVyeS9TTQorcG90dHkvVFMKK1BvdWxlbmMvTQorcG93ZGVycHVmZgorcG93ZXJlZC9jZgorcG93ZXJob3VzZS9TTQorcG93ZXJpbmcvYworcHJhaXNld29ydGh5L1AKK3ByYXhlcworcHJheWVyZnVsL1AKK1BSQworcHJlYmVuZGFyeS9NCitwcmVjYXJpb3VzbmVzcy9TCitwcmVjZXB0L1Z2TVMKK3ByZWNpc2UvTlBJWFkKK3ByZWNpc2VuZXNzL0lTCitwcmVmZWN0L01TCitwcmVqdWRpY2UvU0RNRworcHJlbGl0ZXJhdGUKK3ByZW1lZGl0YXRlZC9VCitwcmVtaWVyL01TCitwcmUtcHJvY2Vzcy9HCitwcmVzYnl0ZXIvTVpTCitwcmVzYnl0ZXJpYWwKK3ByZXNjcmlwdGl2aXNtCitwcmVzc2VyL01TCitwcmVzc2VyJ3MvSQorcHJlc3NpbmcvWVMKK3ByZXNzbWVuL00KK3ByZXN0aWRpZ2l0YXRlL05uCitwcmVzdGlkaWdpdGF0b3IvTQorcHJlc3VtZXIvTQorcHJlLXRlZW4vUworcHJldGVudGlvdXNuZXNzL1UKK3ByZXRlcml0ZS9NCitwcmV2YXJpY2F0b3IvTVMKK3ByZS13YXIKK3ByaWNlci9NUworcHJpY2tseS9UCitwcmlkZS9ER2o2U00KK1ByaWVzdGxleS9NCitwcmltaXRpdmlzbS9NCitwcmltcC9HU0QKK3ByaW5jaXBhbGl0eS9TTQorcHJpbnQvSURBR1NhS2MKK3ByaW50b3V0L1MKK3ByaXNlL0ZTQUdECitwcmlzc2luZXNzL1MKK3ByaXplL00KK3ByaXplZmlnaHQvUkpTTUcKK3Byby9TTQorcHJvLUFtZXJpY2FuCitwcm9iYWJseS9JCitwcm9iZS9CbkRHbFMKK3Byb2Jvc2Npcy9TTQorcHJvY2Vzc2lvbi9NCitwcm9jcmFzdGluYXRlL1NOR0RuCitwcm9kaWd5L1NNCitwcm9kdWNlcy9lCitwcm9kdWNpbmcvZQorcHJvZHVjdGl2ZS9VWQorcHJvZmZlci9kUworcHJvZmljaWVuY3kvU00KK3Byb2dyYW1zL0EKK3Byb2xvbmdlci9NCitwcm9taXNlL0ZSa0RHUworcHJvcGhlc3kvUkRTRworcHJvcGhldC8xV1N3TQorcHJvcHVsc2l2ZQorcHJvcHlsZW5lL00KK3Byb3NvZHkvV1NNCitwcm9zcGVjdHVzL01TCitwcm9zdGF0ZS9TTQorcHJvc3RpdHV0ZS9NR0RTCitwcm9zdHJhdGlvbi9NCitwcm90ZWN0aW9uaXNtL1NNCitwcm90ZWN0aXZlL1NZCitwcm90ZW9seXRpYworcHJvdG96b29uJ3MKK3Byb3RyYWN0aW9uL01TCitwcm92ZW5hbmNlL1NNCitwcm92ZXJiaWFsCitwcm92aWRlbmNlL1NJTQorcHJvdm9zdC9TTQorcHJ1ZGlzaG5lc3MvUworcHJ1bmUvREdSU00KK3BzeWNoLzFHU1dEdworcHN5Y2hvL1NNCitwc3ljaG9waHlzaWNhbC9ZCitwc3ljaG90cm9waWMvUworcHVibGljaXNlZC9VCitwdWJsaWNpemVkL1UKK3B1YmxpYy1zcGlyaXRlZAorcHVkZW5kYQorUHVkc2V5CitwdWVyaWxlL1kKK3B1ZmYvUlNaRDJNRworcHVmZmVyeS9NCitwdWxzYXRpb24vTQorcHVtbWVsL0RHUworcHVuZGl0cnkvUworcHVuc3Rlci9TTQorcHVy6WUvRE1TCitwdXJlci9JCitwdXJnZS9EUlNHTlYKK3B1cml0YW4vd1MxTQorcHVybC9HU0RNCitwdXJsb2luL1NERworcHVybG9pbmVyL00KK3B1cnBsaXNoCitwdXJwb3NlZnVsbmVzcy9TCitwdXJzdWFudAorcHVyc3VlL0RSU0cKK3B1c2gvU1I3Mkd6RFoKK3B1c2hjYXJ0L01TCitwdXNoLXB1bGwKK3B1dHJpZC9QWQorcHlhZW1pYQorcHlnbXkvTVMKK3B5cmFtaWRhbAorcHlyaW1pZGluZS9TTQorcHlyb2x5c2UvU1cKK3B5cm94ZW5lL01TCitRYSdpZGEvTQorcXQKK3F1YWRyYW5nbGUvTVMKK3F1YWRyaWxhdGVyYWwvUworcXVhZHJpcGxlZ2lhL1NNCitxdWFkcnVwZWQvU00KK3F1YWZmL0RTRworcXVhZ21pcmUvU00KK3F1YWtlL1NHWkQKK3F1YWxpZmljYXRpb24vRU0KK3F1YWxtL1NNCitxdWFydGVyZXIvTQorcXVhcnRlcnN0YWZmL1NNCitxdWFydGljL1MKK3F1YXNpCitxdWF0ZXJuaW9uL01TCitxdWF5L1NNCitxdWVhc2luZXNzL1MKK3F1ZXN0L0FEU1JHTQorcXVlc3Rpb25lZC9BVQorcXVpZXNjZW5jZS9TTQorcXVpZXRuZXNzL1MKK3F1aW50ZXQvU00KK3F1aXQvUlNHRAorcXVvaW4vRFNNRworcXVvcmF0ZS9JCitxdW90YWJsZQorcmFiYmluaWMvWQorcmFiaWQvUFkKK1JBQworcmFkYXIvTVMKK3JhZGljYWwvU1EKK3JhZGlvY2hlbWlzdHJ5L00KK3JhZ2FtdWZmaW4vU00KK3JhZ2UvZVNNR0QKK3JhaWxlci9NCityYWlsaW5nL00KK3JhaWxsZXJ5CityYWluLXNoYWRvdy9TTQorcmFpc2UvUkdEUworcmFtYmxlL2tKRFJTRworcmFtZWtpbi9NUworcmFtaWZ5L25TREdOCityYW1qZXQvU00KK3JhbXBhcnQvU00KK1JhbXNheS9NCitSYW5jaGkKK3JhbmQvMlpNCityYXBhY2lvdXMvWVAKK3JhcGUvU00zCitSYXBoYWVsaXRlL1NNCityYXBwcm9jaGVtZW50L01TCityYXNwYmVycnkvTVMKK3JhdGlvL1NNCityYXRpb25hbC9zOC0zOVFxCityYXR0bGV0cmFwL01TCityYXVuY2h5L1RZCityYXpvcmJhY2svTVMKK3Jhem9yYmlsbHMKK3JlYWRvdXQvTVMKK3JlYWxuZXNzCitSZWFscG9saXRpay9NCityZWFyZ3VhcmQvTVMKK3JlYXNvbmFibHkvVQorcmVhc3NlbWJsZS9ZCityZWNlaXB0L0dNRFMKK3JlY2VpdmUvRFJHUworcmVjZWl2ZWQvVQorcmVjZXNzaW9uYWwvUworcmVjaXByb2NhdGlvbi9NCityZWNpdGUvUgorcmVjb21wb3NlL0QKK3JlY29tcHV0ZQorcmVjb25jaWxhYmxlL1VJCityZWNvbnNpZ24vRworcmVjb3JkL1JKMzcKK3JlY291cGxlCityZWNyZWF0ZS94CityZWNydWRlc2NlbnQKK3JlY3RvL1N5TQorcmVjdG9yL1NNRgorcmVjdG9yeS9TTQorcmVjeWNsYWJsZS9TCityZWRlY29yYXRlCityZWRlZW1lZC9VCityZWQtZmFjZWQKK3JlZGlyZWN0aW9uCityZWRvbGVudAorcmVkb3VuZC9HRFMKK3JlZWR5L1BUCityZWVsL1NSR0RNCityZWZlY3RvcnkvTVMKK3JlZmVyZW5jZS9DRFNHCityZWZsYXRlL04KK3JlZmxleGl2ZW5lc3MvTQorcmVmbGV4b2xvZ3kKK3JlZm9ybWlzbS9NCityZWdhbGlhL00KK3JlZ2ljaWRlL1NNCityZWdpbWVuL1NNCitSZWdpbmEvTQorcmVnaXN0ZXIvS2ROU24KK3JlZ2lzdHJhci9TTQorcmVncmVzcy9YR1ZEdlN1TgorcmVndWxhcml0eS9JTVMKK3JlaGFiaWxpdGF0ZS9ETlZHU24KK3JlaGVhcnNhbC9TTQorcmVob3VzZQorcmVpbi9HRE0KK3JlaW5mb3JjZWQvVQorcmVsYXRlci9TTQorcmVsYXRpb25zaGlwL01TCityZWxpYWJseS9VCityZW1pbmQvRworcmVtb2JpbGlzZS9CCityZW1vcnNlZnVsbmVzcworcmVtb3JzZWxlc3MvWVAKK3JlbXVuZXJhdGVkL1UKK1JlbmZyZXdzaGlyZS9NCityZW5uZXQvTQorcmVub3VuY2VtZW50CityZW51bWJlci9kCityZXBhaXJzL0UKK3JlcGFyYXRpb24vU00KK3JlcGF0cmlhdGUvR25ETlMKK3JlcGVhdC9CUkRHaAorcmVwZW50L1NERworcmVwbGV0aW9uL00KK3JlcG9ydGVkL2ZhVQorcmVwb3NpdG9yeS9TTQorcmVwcmVoZW5zaWJsZS9ZCityZXByZXNlbnQvYW5OR1NECityZXByZXNlbnRhYmxlCityZXByZXNzL051dlhWCityZXByaXNhbC9TTQorcmVwcm9hY2hlci9NCityZXByb2JhdGUvR0QKK3JlcHJvZHVjaWJsZS9VCityZXB1ZGlhdG9yL1MKK3JlcHVsc2lvbi9NCityZS1yZWxlYXNlL0RHUworcmVzZWN0aW9uL0cKK3Jlc2lkZW5jZS9NWlMKK3Jlc2lkdWUvU00KK3Jlc2lueQorcmVzaXN0aWJsZS9ZSQorcmUtc2l0ZS9TREcKK3Jlc29sdXRlL0lZCityZXNvbmFudC9ZCityZXNvdXJjZWZ1bC9QCityZXNwZWN0ZnVsbmVzcworcmVzdGl2ZS9QCityZXN0cmFpbnQvTVMKK3JldGljdWxhdGlvbi9NCityZXRyYWN0L0RHCityZXRyZWF0L0cKK3JldHJvZmlyZS9TTQorcmV0cm9maXQvR1NECityZXRyb3NwZWN0L012VgorcmV0dXJuLzcKK3JldW5pb24KK3JldmVhbC9SU0Q3R2sKK3JldmVyZW50aWFsL1kKK3Jldm9jYWJsZS9JCityZXdhcmRpbmcvVQorcmV3ZWQvR0QKK3Jld29yay83CitSaGVlL00KK3JoZW5pdW0vTQorcmhlb3N0YXQvTVMKK3JoZXRvcmljYWwKK1JoaW5lL00KK1JoaW5lbGFuZGVyL00KK1Job2RlL1MKK3Job21idXMvU1dNCitSaHVtL00KK3JoeW1lc3Rlci9TTQorcmlib2ZsYXZpbi9NCitSaWNhcmRvL00KK1JpY2hhcmRzb24vTQorcmlja3NoYXcvTVMKK1JpY28vTQorcmlkaWN1bGVyL00KK3JpZ2h0ZW91cy9VWQorcmlnaHRpc2gKK3JpZ2h0LXdpbmcKK1JpbmFsZG8vTQorcmluZ3dvcm0vU00KK3JpbmsvTVMKK3JpcGVyCityaXBwaW5nL1kKK1JpdGEvTQorcml0ZS9TTQorcml0dWFsL1FTOFlNCitSTUkKK3JvYWRibG9jay9TTQorcm9hZC1ob2cvUworcm9hZC10ZXN0Cityb2Fkd29yay9TTQorcm9ja2ZhbGwvUworUm9ja2ZvcmQvTQorUm9ja3dlbGwvTQorcm9ja3kvVAorcm9kL1NNCitSb2RyaWdvL00KK3JvbGxpY2svU0drRAorcm9tYW50aWMvOFEzTVlTCitSb21lL00KK1JvbmEvTQorUm9uYW4KK1JvbnRnZW4KK3Jvb20tbWF0ZS9NUworcm9vbXkvUFQKK3Jvb3RsZXQvTVMKK3Jvc2VtYXJ5L00KK3Jvc3RydW0vU00KK3JvdHRlbm5lc3MKK3JvdHVuZGEvU00KK3JvdWdoZW4vZFMKK3JvdWdobmVjay9TTQorcm91bmR3b3JtL01TCityb3V0ZS9hRFNBCityb3V0aW5nL00KK1Jvd2FuL00KK3Jvd2R5aXNtL1NNCityb3dlbC9NR0RTCitSUE8KK1JTQworcnViYmVyLXN0YW1wL0RHCitydWJkb3duL1NNCitydWN0aW9uL1NNCitydWRkeS9QVAorUnVkb2xmL00KK1J1ZG9scGgvTQorUnVkeWFyZC9NCitydWZmaWFuL1NNCitydWZmbGVkL1UKK1J1ZnVzL00KK3J1Zy9oU01EaQorcnVuYXdheS9TCitydW5uZXJzLXVwCitydXJhbC9ZCitydXJhbGl0eQorcnVzc2V0L01TCitydXN0aWNpdHkvUworUnV0bGFuZC9NCitSd2FuZGEvTQorU0EKK3NhYmJhdGljYWwvUworc2Fib3RldXIvU00KK3NhYnJhL1MKK3NhY2NoYXJpbgorc2FjaGV0L1NNCitTYWNocy9NCitzYWNrL002SlMKK3NhY3JhbWVudGFsCitzYWNyaWxlZ2UvTVMKK3NhY3Jpc3Rhbi9TTQorc2FkZGxlYmFnL01TCitTQUUKK3NhZmVrZWVwaW5nCitzYWZmbG93ZXIvU00KK3NhaWxib3JkZXJzCitzYWlsaW5nLXNoaXAvU00KK1NhbGFzL00KK3NhbGllbnQvWQorc2FsaW5pdHkvU00KK3NhbGl2YXRlL05EU0cKK3NhbGx5L0RNU0cKK3NhbG9vbi9TTQorc2FsdC9DU0RHCitzYWx0ZXIvU00KK3NhbHQtc3Bvb24vTVMKK3NhbHZlL1JNU05uRworc2FtcGxlZC9jCitTYW1wc29uL00KK1NhbmJvcm4vTQorc2FuY3RpbW9ueS9TTQorc2FuY3Rpb25lZC9VCitzYW5kYmFyL1MKK1NhbmR1c2t5L00KK3NhbmR5L1QKK3NhbmdyaWEvTVMKK3Nhbml0YXJ5L1VJCitzYXBpZW5jZS9NCitTYXJhL00KK1NhcmFuL00KK3Nhcm9uZy9TTQorU2FzaGEvTQorc2F0YW5pYworc2F0Y2hlbC9TTQorc2F0aXJlL1dROHdNMVMzCitzYXR1cm5pbmUvWQorc2F1bmEvTVMKK3Nhd2R1c3QvTQorc2F3bi1vZmYKK3Nhdy1waXQKK1NheG9ueS9NCitTQkEKK1NjYWxhL00KK3NjYWxlL0RBR1MKK3NjYWxlZC9VCitzY2FsbHl3YWcvU00KK3NjYW4vQURTRworc2NhbnNpb24vTQorc2NhcmNlbmVzcworc2NhcmVyL00KK1NjYXJsYXR0aS9NCitzY2F0dGVyYnJhaW4vTURTCitzY2VuYXJpc3QvTVMKK3NjZW50ZWQvVQorc2NlbnRsZXNzCitzY2guCitzY2hlZHVsZWQvVUEKK3NjaGVkdWxpbmcvQQorc2NoZW1hdGEKK3NjaGlzbWF0aWMKK3NjaGxlcC9HRFMKK3NjaG9vbGJvb2svTVMKK1NjaHVtYW5uL00KK1NjaHdhcnR6a29wZi9NCitzY2lzc29yaW5nCitzY29sZC9EUkpTRworc2NvbGlvc2lzCitzY29uZS9TTQorc2NvcmNoL1JTa0dECitzY29yZWxlc3MKK3Njb3JuL2pEUk1HNlMKK3Njb3JuZnVsbmVzcworc2NvdXJnZS9TRE1HCitzY3JhbWJsZS9VR0NTRAorc2NyYXRjaC9EMnpKWlJTRworc2NyYXRjaGVkL1UKK3NjcmVlY2h5L1QKK3NjcmV3ZHJpdmVyL01TCitzY3JpYmUncworU2NyaXBwcy9NCitzY3JpcHR3cml0ZXIvTVMKK3Njcm90dW0vTQorc2N1bGxlci9aCitzY3VscHR1cmUvR0RvU00KK1NlCitzZWEvY1MKK3NlYWJlZAorc2VhLWNoZXN0CitzZWFndWxsL1MKK3NlYWhvcnNlL1MKK3NlYW1pZXIKK3NlYW1sZXNzbmVzcworU2Vhbi9NCitzZWFwb3J0L01TCitzZWFyL0dTRGsKK3NlYXNvbmFsL1VZCitzZWF0J3MKK1NlYXR0bGUvTQorc2VjYW50L01TCitzZWNsdXNpb24vTQorc2Vjb25kL1JHTFNZRAorc2Vjb25kLWhhbmQKK3NlY29uZC1yYXRlCitzZWN0YXJpYW5pc20vTVMKK3NlY3RhcnkvU00KK3NlZGFuL1NNCitTZWRnZWZpZWxkL00KK3NlZWRiZWQvTVMKK3NlZWRsaW5nL1NNCitzZWVrL0dSUworc2VnbWVudC9Hb25OTVNECitzZWd1ZS9EU0cKK1NlaWtvL00KK3NlbGVub2dyYXBoeS9NCitzZWxmLWNsb3NpbmcKK3NlbGYtY29uc2lzdGVudAorc2VsZi1jb250cm9sCitzZWxmLWNvcnJlY3RpbmcKK3NlbGYtZGV0ZXJtaW5lZAorc2VsZi1lc3RlZW0KK3NlbGYtZXZpZGVudC9ZCitzZWxmLWZlZWRpbmcKK3NlbGYtZ292ZXJuaW5nCitzZWxmLWltbW9sYXRpb24KK3NlbGYtaW1wb3J0YW50CitzZWxmaXNoL1VZCitzZWxmLWtub3dsZWRnZQorc2VsZi1sb2NraW5nCitzZWxmbmVzcworc2VsZi1yZXN0cmFpbnQKK3NlbGYtcmV2ZWxhdGlvbgorc2VsbC1vZmYKK3NlbHZhZ2UvU00KK3NlbWJsYW5jZS9BTUVTCitzZW1pLWFubnVhbC9ZCitzZW1pLWF1dG9tYXRpYworc2VtaS1jb25zY2lvdXMKK3NlbWlxdWF2ZXJzCitzZW1pc3dlZXQKK3NlbWktd2Vla2x5CitzZW1wcmUKK1NlbXRleAorc2VuZC1vZmYvUworc2VuZXNjZW5jZS9NCitzZW5pb3JpdHkvU00KK3Nlbm5hL00KK3NlbnNhdGlvbmFsL1E4Mworc2Vuc2libGVuZXNzCitzZW5zdWFsaXN0L01TCitzZW50L0ZFS1VBCitzZW50aWVuY2UvSU0KK3NlbnRpbWVudGFsaXN0CitzZXB0YS9NCitzZXB1bGNocmFsCitzZXF1ZW5jZXMvRkEKK3NlcXVlc3RyYXRlL1NERworU2VyZ2lvL00KK1NlcmkvTQorc2VybW9uL1E4U00KK3NldHRhYmxlL0EKK3NldmVudHktZml2ZS9ICitzZXZlbnR5LXNldmVuL0gKK3NleC1saW5rZWQKK3NleHBvdC9TTQorc2V4dGlsbGlvbi9NCitzZXh5L1QzCitzZm9yemFuZGkKK3NoYWRlL01EcEpTWkcyCitzaGFkZWQvVQorU2hhZmZlci9NCitzaGFnZ3kvVAorc2hha2VhYmxlL1lVCitzaGFtYW4vTVMKK1NoYXJvbi9NCitzaGFycG5lc3MKK1NoYXN0YS9NCitzaGF0dGVyLXByb29mCitTaGF2aWFuCitzaGVhci9SREdTCitzaGVhdGhpbmcvTQorc2hlYXZlL0RTRworc2hlZXBsaWtlCitzaGVlcHNoYW5rL1NNCitzaGVldC9EU01HCitTaGVsYWdoL00KK3NoZWxmLzZNCitzaGVsZmxpa2UKK1NoZW0vTQorU2hlbmFuZG9haC9NCitzaGVyaWZmL1NNCitTaGVycGEvU00KK1NoZXJ3b29kL00KK3NoaWF0c3UKK3NoaWZ0bGVzc25lc3MvUworc2hpZnR5L1RQCitzaGluLXBhZC9TTQorc2hpcC1mZXZlcgorc2hpcG93bmVyL01TCitzaGlwd3JlY2svR01EUworc2hpcnQvRHBTTUcKK3NoaXR0eS9UCitzaGl2ZXJlci9NCitTaG9ja2xleS9NCitzaG9kL3paMgorc2hvZW1ha2VyL1NNCitzaG9lc3RyaW5nL1NNCitzaG9vdGluZy1icmVhaworc2hvcnQtcmFuZ2UKK3Nob3J0LXdpbmRlZAorc2hvcnR5L00KK1Nob3N0YWtvdmljaC9NCitzaG90Z3VuL01TCitzaG90LXB1dAorc2hvd3Jvb20vU00KK3NocmFwbmVsL00KK3NocmlrZS9TTQorc2hyaW1wL1NNCitTaHJvcHNoaXJlL00KK3NodW50ZXIvTQorc2h5L0RUU0cKK1NpYW0vTQorU2liL00KK3NpYmlsYW5jZS9NWgorc2ljL1RERworc2ljY2F0aXZlCitzaWNrYmF5L00KK3NpY2stYmVuZWZpdC9TTQorc2lkZS9JU0FLZWYKK3NpZGViYXIvTVMKK3NpZGUtYmV0CitzaWRlLWRvb3IKK3NpZGUtb24KK3NpZGUtc3Ryb2tlL1NETUcKK3NpZGxlL0RTRworc2lnaHRsaW5lc3MvVQorU2loYW5vdWsvTQorc2lsdGF0aW9uL00KK1NpbHVyaWFuCitzaWx2ZXIvZE1aUzIKK3NpbHZlcnNtaXRoL1NNCitTaW1sYQorU2ltbXMvTQorU2ltb25lL00KK1NpbmdhcG9yZWFuL1MKK3NpbmdsZXQvU00KK3Npbmctc29uZworc2lubGVzcy9ZCitzaW5zL0EKK1Npb2JoYW4vTQorU2lzeXBoZWFuCitTaXZhL00KK3NpeHRoLWZvcm1lci9TCitzaXh0eS1uaW5lL0gKK3NpenpsZXIvTQorc2tlaW4vTVMKK3NrZWxldG9uL01TCitza2V3L0RQUkdTCitza2V3LWV5ZWQKK3NraWZmL01TCitza2lwL1JTREcKK3NreWxlc3MKK3NreS13cml0aW5nL1NNCitzbGFjay9ER1RSUFlTCitTbGFkZS9NCitzbGFpbgorc2xhcHN0aWNrL00KK3NsYXNoL1NER1IKK3NsYXZlLWJhbmdsZQorc2xlZXAvUjJNWkdTenAKK3NsZWVwd2Vhci9NCitzbGVuZGVyZXIKK1NsaWdvL00KK3NsaW5rL0daUworc2xpcHBlcmVkCitzbGlwc2hvZAorc2xpdmVyL2RTTQorc2xvYmJlci9aZFMKK1Nsb2N1bS9NCitzbG90aC82TWoKK1Nsb3ZlbmUvUworU2xvdmVuaWFuL1MKK3Nsb3Zlbmx5L1RQCitzbHVkZ2UvWk0KK3NsdWdnYXJkL1NNCitzbHVtcC9HRFMKK3NtYWxsaXNoCitzbWFydHktcGFudHMKK3NtZWFyZXIvTQorc21pdGVyL00KK3Ntb2NrL0RHU00KK3Ntb3RoZXIvU2QKK3Ntb3VsZGVyL1NrZAorc211Z2dsZS9SU0dKRAorU24KK3NuYWZ1L01TCitzbmFpbC9TTQorc25ha2ViaXRlL1NNCitzbmFwcy9VCitzbmF0Y2gvR0RSUworU25lZWQvTQorc25vb3B5L1QKK3Nub3JlL0dEUlMKK3Nub3dib3VuZAorc25vd2ZhbGwvTVMKK3Nub3dzdG9ybS9TTQorc25vd3kvVAorU255ZGVyL00KK3NvYWsvREdKUworc28tYW5kLXNvL00KK3NvYmVyZXIKK3NvYmVyZXN0Citzb2NpYWwvUThzMzlTcS1ZCitzb2NpYWxpdGUvWlNNCitTb2ZpYS9NCitzb2Z0bHktc29mdGx5Citzb2Z0LXNwb2tlbgorU29oby9NCitzb2pvdXJuL1JNREdTCitzb2xlbm9pZGFsCitzb2wtZmEKK3NvbGljaXRvdXNuZXNzCitzb2xpY2l0dWRlL01TCitzb2xpZGVyCitzb2xpZGVzdAorU29sJ3MKK3NvbHV0ZXMvRQorc29sdXRlJ3MKK3NvbHV0aW9uL0FTTUUKK1NvbWFsaWEvTQorc29tZWJvZHkvU00KK3NvbWVib2R5J2xsCitzb21ldGltZS9TCitzb21ld2hhdAorc29tZXdoZXJlCitzb21tZWxpZXIvU00KK3NvbmF0aW5hL1NNCitzb25nc3Rlci9TTQorc29ubmV0L01TCitzb3BoaXN0L1MxeU1Xdworc29yY2VyZXIvTVMKK3NvdHRpc2gKK3NvdWZmbOkvU00KK3NvdWdodC1hZnRlcgorc291bC9wUzZNagorc291bmRuZXNzL1UKK3NvdW5kcHJvb2ZpbmcvTQorc291dGgvTQorc291dGgtZWFzdAorc291dGgtRWFzdGVybHkKK1NvdXRoZW5kLW9uLVNlYQorc291dGh3YXJkL1MKK3NvdXRoLVdlc3QvTQorc3BhY2VzaGlwL1NNCitzcGFjZS10aW1lCitTcGFja2xlCitTcGFpbi9NCitzcGFtL1JERworU3BhbmlhcmQvU00KK3NwYXJrL0RZR1pTTQorc3BhcmxpbmcvU00KK3NwYXRlL1NNCitzcGF0aW8KK3NwZWFrZXJzaGlwL00KK3NwZWNpYWwvUS04cTNTCitzcGVjaWFsaXNtL01TCitzcGVjaWFsaXN0L1cKK3NwZWNpYWxuZXNzCitzcGVjaWZpY2l0eS9TCitzcGVjaWZ5L1NCbDFuUkRXTkcKK3NwZWN0YWNsZS9EU00KK3NwZWN0cmFsCitzcGVjdWxhcgorc3BlY3VsYXRlL05EblN2VkcKK3NwZWN1bGF0aW9uL00KK3NwZWVkeS9UUAorc3BlbGVvbG9naXN0L1MKK3NwZW50L1VmY2VhCitzcGVybWF0b3pvb24vTQorc3Blcm1pY2lkYWwKK3NwaGVyb2lkL29NUworc3BpY2UvREdTWk0KK3NwaWRlcndvcnQvTQorc3BpbGxvdmVyL1NNCitzcGlsdAorc3BpcmFjbGUvU00KK3NwaXJpdHVhbGlzbS9NUworc3Bpcml0dWFsaXR5L1NNCitzcGl0ZWZ1bC9QWQorc3BsZW5ldGljCitzcGx1dHRlci9kUworc3Bvb2wvTVJTREcKK3Nwb29uZXJpc20vU00KK3Nwb29uLWZlZWQvU0cKK3Nwb3J0aXZlL1AKK3Nwb3J0c21hbi9ZCitzcG9ydHNtYW5zaGlwL00KK3Nwb3QvMkdEUlNaek1wCitzcG90dGVkL1UKK3NwcmluZ2Jvay9NUworc3ByaW5nLWNsZWFuL0QKK3NwcmluZy1sb2FkZWQKK3Nwcm91dC9ER1MKK3NwdW4KK3NxdWFkcm9uL01TCitzcXVhbGlkL1lQCitzcXVhbmRlci9kUworc3F1YXJlL1BNVERTWUcKK3NxdWFzaHkvVFAKK3NxdWF3ay9STURTRworc3F1ZWFreS9UCitzcXVpZC9NR0RTCitzcXVpbnRlci9NCitzcXVpcmVsaW5nCitTUworU1NFCitTU1cKK3N0Lgorc3RhYmxpbmcKK3N0YWJseS9VCitzdGFkaXVtL1NNCitTdGFmZm9yZC9NCitzdGFnZS9TWkJNMgorc3RhZ25hbmN5L01TCitzdGFnbmF0ZS9uTkRTRworc3RhbGFnbWl0ZS9NUworU3RhbGV5L00KK1N0YW1mb3JkL00KK3N0YW1pbmF0ZQorc3RhbmNoaW9uL1NNCitzdGFuZC1pbi9TCitTdGFubGV5L00KK1N0YW50b24vTQorU3Rhbndvb2QvTQorc3RhcmNoL1N6TUdEMloKK3N0YXRpb25hcmluZXNzCitzdGF0aW9uZXJ5L01TCitzdGF0dXMvTVdTCitzdGF0dXRvcnkvWQorc3RlYWRmYXN0L1BZCitzdGVhZHktZ29pbmcKK3N0ZWFtYm9hdC9NUworc3RlZWwvRE1HWjJTCitTdGVmYW5pZS9NCitzdGVpbi9NUworc3RlbGxhdGVkCitzdGVwY2hpbGQvTQorc3RlcCdzL2FJCitzdGVyYWRpYW5zCitzdGVyZW9ncmFwaHkvTVcKK3N0ZXJlb3Njb3B5L00KK1N0ZXZlbnNvbi9NCitzdGV3L0RNR1MKK3N0aWZmL1lQVFMKK3N0aWdtYXRhCitzdGlua3kvVAorc3RpcGVuZC9NUworc3RpcnJpbmcvWQorc3RvY2tlZC9mCitzdG9ja2luZXQncworc3RvY2twaWxlL0RTRworc3RvY2sncworU1RPTAorc3RvbWFjaGZ1bC9TCitzdG9tYWNocworc3RvbmVjdXR0ZXIvTVMKK3N0b25lci9NCitzdG9wZ2FwL01TCitzdG9yZWhvdXNlL01TCitzdG93YXdheS9TTQorc3RyYW5ndWxhdGUvR25TTkQKK3N0cmF0YWdlbS9NUworU3RyYXRmb3JkL00KK3N0cmF3YmVycnkvU00KK3N0cmF5L0dEU00KK3N0cmVhbWxpbmUvR0RTCitzdHJlbnVvdXMvWVAKK3N0cmVzcy9jRAorc3RyZXNzaW5nCitzdHJldGNoZWQvYworc3RyaWRlL01TRworc3RyaWRlbnQvWQorc3RyaW5nZW5jeS9TCitzdHJpcGVyL00KK3N0cml2ZS9EU0dKCitTdHJvbHovTQorc3RydWN0dXJhbGlzdAorU3R1YXJ0L01TCitzdHViYnkvVAorc3R1ZC9EU01HCitzdHVkaWVkL1UKK3N0dWZmcworc3R1cGlkZXN0CitzdHVwb3IvTVMKK3N0dXR0ZXJlci9TCitzdHlsaQorc3R5bGlzaC9ZCitzdWJhbHRlcm4vTVMKK3N1YmN1bHR1cmFsCitzdWJjdXRhbmVvdXMvWQorc3VibHVuYXJ5CitzdWJtZXJnZS9HRFMKK3N1Ym1lcnNpYmxlL1MKK3N1Ym1pY3Jvc2NvcGljCitzdWJvcmJpdGFsCitzdWItU2FoYXJhbgorc3Vic2VydmllbmNlL00KK3N1YnNvaWwvTVMKK3N1YnRlbmFuY3kvU00KK3N1YnR5cGUvU00KK3N1YnVyYi9TTQorc3VidXJiYW5pdGUvTVMKK3N1YnZlcnNpdmUvUFNZCitzdWNjZXNzaXZlL1AKK3N1Y2Nlc3Nvci9TTQorU3VkYW5lc2UvTQorc3VmZm9jYXRlL1NHa0RuTgorc3VmZnJhZ2V0dGUvTVMKK3N1Z2FyL2RNcFMKK3N1Z2dlc3RpdmUvUAorU3VrYXJuby9NCitzdWx0YW4vU00KK3N1bW1lci9kWgorc3VtbW9ucy9TR0RNCitzdW5ib25uZXQvTVMKK3N1bmJ1cm50CitzdW4tZHJpZWQKK3N1bmZsb3dlci9TTQorc3VuZy9VCitzdW5sYW1wL1MKK3N1bmxpdAorU3Vubml0ZS9NUworc3Vuc2V0L1NNCitzdXBlcmNvbXB1dGVyL01TCitzdXBlcmNvbXB1dGluZworc3VwZXJpb3IvU01ZCitzdXBlcmlvcml0eS9TTQorc3VwZXJtb2RlbC9TCitzdXBlcnN0b3JlL1MKK3N1cHBvc2VkL1kKK3N1cHJlbW8vTQorc3VyY2hhcmdlL0dEU00KK1N1cmluYW0vTQorc3VycmVuZGVyL1NkCitzdXJ2aXZhbC9TTQorU3VzYW4vTQorU3VzYW5uZS9NCitzdXNwZWN0aW5nL1UKK3N1c3BlbnNlL002CitzdXNwZW5zaW9uL00KK1N1c3F1ZWhhbm5hL00KK1N1emV0dGUvTQorU3Zlbi9NCitzd2FkZGxlL0RHUworU1dBSworc3dhbXB5L1QKK3N3YW5rL0dEVDJaU3oKK1N3YW5zb24vTQorc3dhcm0vTURTRworc3dhdGNoL01TCitzd2VhcndvcmQvTVMKK1N3ZWRpc2gKK3N3ZWV0YnJlYWQvU00KK3N3ZWV0ZW5lZC9VCitzd2VwdGJhY2sKK3N3aW0vU1JHCitzd2luaXNobmVzcworc3dvb24vRFNHCitzd29yZQorU3lkbmV5L00KK3N5bGxhYmlmaWNhdGlvbi9NCitzeW1iaW9zaXMvTQorc3ltYmlvdGljL1kKK3N5bWJvbC8xM1dROC1xU3dNCitzeW5jbGluYWwKK3N5bmRyb21lL1NNCitzeW5vbnltb3VzbmVzcworc3lub255bXkvU00KK3N5bnRheC9TTQorc3ludGhlc2lzZS9BREdTCitzeXJ1cHkKK3N5c3RlbS9XMVNNCitzeXN0ZW1hdGljL1MKK3N5c3RlbWljL1kKK1RhCit0YWJsZS9NU0dECit0YWJsZWNsb3RoL1NNCit0YWJsb2lkL1NNCit0YWJ1bGFyL1kKK3RhY3RpbGUvWQordGFjdGlsaXR5Cit0YWZmZXRhL01TCitUYWdhbG9nL00KK3RhaWxvci9kU00KK1RhaXBlaS9NCit0YWtlL1JmR1NKCit0YWtlYXdheS9TCit0YWtlcy9JYWNBCit0YWtpbmcvQWFjCit0YWxlYmVhcmVyL01TCit0YWxseS1obydzCitUYWxtdWQvVzNNCit0YW1hcmFjay9NUwordGFuay9HTVI2RFMKK3RhbnRhbHVtL3NRLTk4cU0KK1RhbnRhbHVzL00KK3RhbnRhbW91bnQKK3RhcGVyL2QKK3RhcmFtYXNhbGF0YQordGFyZGluZXNzCit0YXJnZXQvZFNNCit0YXJyYWdvbi9NUwordGFycnkvRFRTRworVGFycnl0b3duL00KK3Rhc3RpbmcvUworVGF1bnRvbgordGF1dGVuL2RTCit0YXdkcnkvUFRZCit0YXhpZXMKK3RheGltZXRlci9TTQorVGF5bG9yL00KK1RERAordGVhLWxlYXZlcwordGVhcmF3YXkKK3RlYXNwb29uZnVsL01TCit0ZWF6bGUKK3RlY2hub2NyYXQvV1MKK1RlbGVkeW5lL00KK3RlbGVmYXgKK3RlbGVncmFwaC9XWkQxR1NNM1IKK3RlbGVncmFwaHkvM00KK3RlbGVwaG9ueS9NCit0ZWxlcGhvdG8vUwordGVsZXgvU0RHTQorVGVsZm9yZC9NCit0ZWxsLXRhbGUvU00KK3RlbXBlc3R1b3VzL1kKK3RlbXBvcmFyeS9GUwordGVtcHRzL0YKK3RlbmFudC9NR1NECit0ZW5kZW50aW91cy9QWQordGVuZGVyZm9vdC9NUwordGVuZGluaXRpcwordGVucy94TlRTRFhHCit0ZW5zaW9uZWQKK3Rlcm1hZ2FudC9TTQordGVybnMvSQordGVycmFwaW4vTVMKK3RlcnJpdG9yaWFsCit0ZXJyaXRvcnkvTVNvCit0ZXJ0aWFuCit0ZXN0YXRlL0kKK3Rlc3RpY2xlL01TCit0ZXRhbnVzL00KK3TqdGUKK3RldHJhY2hvcmQvU00KK3RldHJhcGxlZ2lhCit0ZXRyYXZhbGVudAordGhhbgordGhhdy9ER1MKK1RoZWFkb3JhL00KK3RoZWZ0L01TCit0aGVpci9TCitUaGVvZG9yZS9NCitUaGVvZG9zaXVzL00KK3RoZW9yeS9Rcy04OXEzTVMKK3RoZXJhcGlzdC9TTQorVGhlcmF2YWRhL00KK3RoZXJlL00KK3RoZXJlYnkKK3RoZXJldG8KK3RoZXJld2l0aAordGhlcm1vZWxlY3RyaWMKK3RoZXJtb3BpbGUvTQordGhlcm1vc3RhdC8xTVNXCit0aGV5Cit0aGlja2V0L01TCit0aGlldmlzaAordGhpZ2gtYm9uZS9NUworVGhpbXBodS9NCit0aGluay9SSjdHUwordGhpcnR5L0hNUwordGhpcnR5LW9uZWZvbGQKK1Rob3JlYXUvTQordGhvcm4vTTJaUwordGhvcm91Z2hmYXJlL01TCitUaG9ycGUvTQordGhvdQordGhvdWdodCdzCit0aHJhc2gvUkpTREcKK3RocmVlLXBoYXNlCit0aHJpY2UtbWFycmllZAordGhyaXZlL0RTa0cKK3Rocm93cy9jCit0aHVnZ2lzaAordGh1bWIvREdNUwordGh1bXAvTUdTRAorVGh1cnJvY2svTQordGh5cm90cm9waGljCit0aWNrZXQvU01kWgordGlja2V0eS1ib28KK3RpZS9SU01ERwordGllLWJyZWFrCit0aWVyL0QKK1RpanVhbmEvTQorVGltL1pTTQordGltZWx5L1RQCit0aW1lLXNwYW5zCit0aW1lLXdvcmsKK3RpbXBhbmkKK3Rpbi9ER1pTTXoyCit0aW5jdHVyZS9EU01HCit0aW5rZXIvZE1TCit0aW5rbGUvRFNHWQordGlubnkvVFAKK1RpcHBlcmFyeS9NCit0aXBwZXQvU00KK3RpcHMveloyCit0b2JhY2NvbmlzdC9NUworVG9iYWdvL00KK3RvYm9nZ2FuL1Mzck1kCit0b2NrL0dNRFMKK3RvZGF5L00KK3RvZ2V0aGVyCit0b2lsZXRyeS9NUwordG9sZXJhdGUvTkRHQlNuCit0b21ib3lpc2gKK3RvbS10b20KK3RvbmVsZXNzbmVzcworVG9uZ2EvTQordG9uaWdodC9NCit0b25uZS9NUwordG9wLWhlYXZ5Cit0b3BpYy9NUwordG9wcGluZy9NCit0b3JlCitUb3JmYWVuL00KK3Rvcm4KK3Rvcm5hZG9lcwordG9yb2lkL29TTQordG9ycmVudC9TTQorVPNyc2hhdm4vTQordG9yc2lvbi9NU28KK3RvcnRpbGxhL01TCit0b3J0b2lzZS9NUwordG9ydG9pc2VzaGVsbC9TTQordG9zcy9HUlNECit0b3NzLXVwL1NNCit0b3RhbGl0eS9TTQordG90dGVyL1NkawordG91Z2gvR1lQVFNECit0b3VybWFsaW5lL1NNCit0b3V0L0RTRwordG93ZXIvZGsKK1Rvd3NsZXkvTQordHJhY2hlYWUKK3RyYWZmaWMvRFJNR1MKK3RyYW1wb2xpbmUvU00KK3RyYW5zY2VuZGVudGFsLzMKK3RyYW5zZm9ybS9SNwordHJhbnNmb3JtZWQvVQordHJhbnNncmVzcy9OU0RWR1gKK3RyYW5zbGF0YWJpbGl0eS9NCit0cmFuc2xhdGlvbi9hU00KK3RyYW5zbGF0b3IvTVMKK3RyYW5zbW9ncmlmeS9uU0RORwordHJhbnNwb3NlZC9VCit0cmFuc3NleHVhbGlzbS9NUworVHJhbnN2YWFsL00KK3RyYW5zdmVzdGl0ZS9TTQorVHJhbnN5bHZhbmlhL00KK3RyYXAvSlNSRE1HCitUcmFwcGlzdC9TTQordHJheS9TTQordHJlYWNoZXJ5L01TCit0cmVhc29ub3VzCit0cmVhdGFibGUvVQordHJlbmNoYW5jeS9TTQordHJlbmRzZXR0aW5nCit0cmVuZHkvVAorVHJldmluby9NCitUcmV2b3IvTQordHJpYWxsaW5nCit0cmlhbmdsZS9TTQordHJpY2Vwcy9NCit0cmljaGlub3NlcwordHJpY2tsZS9EU0cKK3RyaWNvbG91ci9TRE0KK3RyaWRlbnQvU00KK3RyaW1tZWQvVQordHJpbW1pbmcvTQordHJpbmtldC9TTQordHJpb2RlL1NNCit0cmlwaHRob25nL1MKK3RyaXBsZS9TR0QKK3RyaXBvZGFsCit0cmlwcGluZy9ZCit0cml1bXBoYWxpc20KK3RyaXVtdmlyYXRlL01TCit0cm9pa2EvU00KK1Ryb2phbi9NUwordHJvbGwvREdNUwordHJvbGxlZC9GCit0cm91c2VyZWQKK3RydWNlL1NNCit0cnVkZ2UvU0RHCitUcnVkaS9NCit0cnVmZmxlL01TCitUcnVtYW5uL00KK3RydXN0eS9UTVMKK3RzYXIvUwordHNhcmluYSdzCitUVEwKK3R1Yi9kclNNWgordHViZXJjdWxpbi9NCit0dWJlcmN1bG9zZXMKK1R1ZG9yL1NNCit0dWZ0L0RTR1pNCit0dWxhcmFlbWljCit0dWxsZS9NUwordHVtYmxlLWRyaWVyCit0dW1pZGl0eS9TTQordHVtbXkvTVMKK3R1bmVsZXNzL1kKK1R1bmlzaWFuL1MKK3R1cmJvY2hhcmdlci9TTQordHVyYm9mYW4vTVMKK1R1cmtpYy9NCitUdXJrbWVuaXN0YW4vTQorVHVya3MvTQordHVybi1kb3duCitUdXJwaW4vTQordHVycmV0L01TCit0dXJ2eQorVHVza2VnZWUvTQordHV0L1NHRAordHV0b3IvZFNNCitUdXZhbHUvTQordHdhbmcvREdaU00KK3R3ZW50eS1laWdodC9ICit0d2VudHktdHdlbnR5Cit0d2lkZGxlL1lHRFMKK3R3aW5lL1NNCit0d2lua2xlL1lHRFMKK3R3by1zaWRlZAorVHlsZXIvTQordHlwZXNldC9SU0cKK3R5cGV3cml0ZXIvTVMKK3R5cG8vM01TCit0eXJhbm55LzhTUTFNdworVHlyb25lL00KK3R6YXJpbmEvTVMKK1VBUgorVWdhbmRhbi9TCit1Z2xpbmVzcworVUsvTQordWxzdGVyL01TCit1bHRyYWxpZ2h0L1MKK3VsdHJhbW9udGFuZQordWx1bGF0aW9uL00KK1VseXNzZXMKK3VtCit1bmFmZmVjdGVkCit1bmJla25vd25zdAordW5jbG9hay9HCit1bmNvbXByZXNzL0cKK3VuY291dGhuZXNzCit1bmNvdmVyL2QKK3VuZGF1bnRlZC9ZCit1bmRlcmNvdW50Cit1bmRlcmRvZwordW5kZXJnb25lCit1bmRlcm5lYXRoL1MKK3VuZGVyc2VhCit1bmRlcnN0YW5kYWJsZS9ZCit1bmRlcnN0YW5kaW5nL2FNCit1bmRlcnN0dWR5L00KK3VuZWF0YWJsZQordW5lbnZpYWJsZQordW5ldmVuCit1bmZlbWluaW5lCit1bmhhcHBpbmVzcwordW5odXJ0Cit1bmljYXN0Cit1bmlzZXgKK3VuaXQvZAordW5pdmVyc2FsLzhRUwordW5taXN0YWthYmxlL1kKK3VubWlzdGFrZWFibGUvWQordW5wcm9mZXNzaW9uYWwKK3VucmVsYXRlZAordW50aWR5L1QKK3Vud2llbGR5CitVUEMKK3VwbGFuZC9TTQordXBwZXJjdXQvUwordXBwaXNoCit1cHJpc2luZy9TTQordXBzdHJlYW0KK3VyYmFuaXNtL00KK3VyYmFuaXR5L01TCitVcmlhaAordXJpbmFsL1NNCit1cmluYWx5c2VzCit1c2VsZXNzL1kKK3VzaGVyZXR0ZS9TTQordXN1cnAvRFJOU25HCit1c3VycGF0aW9uL00KK3V0aWxlLy04cVEKK3V0dGVyYW5jZS9TTQordXR0ZXJlZC9VCitVemJla2lzdGFuL00KK3YKK3ZhY2F0aW9uL00KK3ZhY2NpbmUvTm5NUwordmFjdW91c25lc3MKK1ZhZGVyL00KK1ZhZHV6L00KK3ZhZ2luYWwKK3ZhaW5nbG9yeS9TTQordmFsZWRpY3Rpb24vU00KK3ZhbGVuY3kvU00KK1ZhbGVyaWFuL00KK3ZhbGV0L1NNZAordmFsb3JvdXMvWQordmFsdWF0aW9uL2YKK3ZhbHVlZC9VZmMKK3ZhbHVlci9TTQordmFuL1NNCitWYW5keWtlL00KK1ZhbmVzc2EvTQordmFyaWNvbG91cmVkCit2YXVkZXZpbGxlL1NNCit2YXVsdC9SU0dNRAorVkFYZXMKK3ZlY3RvcnMKK3ZlZwordmVoZW1lbnQvWQordmVuZG9yL1NNCitWZW5lenVlbGEvTQordmVuaWFsL1kKK3Zlbm91cy9ZCit2ZW50cmlsb3F1aXN0L01TCit2ZXJhY2l0aWVzL0kKK3ZlcmFjaXR5J3MvSQordmVyaWZpYWJpbGl0eS9NCit2ZXJtb3V0aC9NUworVmVybmVuL00KK3ZlcnNlJ3MKK3ZlcnNpZmljYXRpb24vTQordmVzc2VsL1NNCitWRworVkhTCit2aWFibGUvWQordmlicmF0ZS9ER255TlMKK3ZpYnJhdG9yL1NNCit2aWNlLWxpa2UKK3ZpY2UtUHJlc2lkZW50L1NNCit2aWNlcm95L01TCit2aWNpb3VzL1kKK1ZpY2svTQordmljdG9yL01TCit2aWRlb2Rpc2MvTVMKK3ZpaQordmlpaQordmlsaWZpY2F0aW9uL00KK3ZpbGxpCitWaWxsaWVycworVmluY2UKK1ZpbmNlbnQvTQordmlueWwvTQordmlvbC9NUzczCit2aW9sYXRlcwordmlyYWdvL01TCitWaXJnaW5pYW4vUworVmlyZ28vU00KK3Zpcm9sb2dpc3QvUwordmlydHVvc2l0eS9TTQordmlzY2lkL1kKK3Zpc2NvdXMvWQordmlzY3VzCit2aXNpYmxlL0lZCit2aXNpb24veUdNCit2aXNpb25hcnkvUwordmlzaW9uaW5nL0sKK3Zpc2l0b3IvU00KK3ZpdGEvb00KK3ZpdGFlCit2aXRhbC9ROFMtcQordml0dXBlcmF0ZS9Ebk5TVnZHCit2aXouCitWbGVpCit2b2NhdGl2ZS9ZUwordm9pY2VsZXNzL1kKK3ZvaWzgCit2b2wtYXUtdmVudAordm9saXRpb24vb01TCit2b2xpdGlvbmFsCit2b2xpdGlvbmFsaXR5CitWb2xrc3dhZ2VuL1NNCit2b2x0YWljCit2b3JhY2lvdXNuZXNzCitWUAorVlBOCit2dWxwaW5lCit3YWRkbGUvRFNHCit3YWcvRGRyU01HCit3YWdnaXNobmVzcword2FnZ2xlL0RTRword2FrZWZ1bG5lc3MKK1dhbGJyaWRnZS9NCit3YWxrd2F5L01TCit3YWxsLXRvLXdhbGwKK1dhbGx5J3MKK1dhbHNhbGwvTQord2FuZGVyL0pTZHIKK3dhbmRlcmx1c3QvTVMKK3dhcm1lZC9BCit3YXJtLWhlYXJ0ZWRuZXNzCit3YXJtb25nZXJpbmcvTQord2FybXRoL00KK3dhcnMvQworV2FydGJ1cmcvTQord2FzaGJvYXJkL01TCit3YXN0cmVsL1NNCit3YXRjaGVkL1UKK1dhdGVyaG91c2UvTQorV2F0c29uL00KK3dhdHQvU00KK1dhdXNhdS9NCit3YXZlbGlrZQord2F2ZXIvZGtTCit3YXkvU00KK3dlL0d6Sgord2Vhbi9TREcKK3dlYW5saW5nL00KK3dlYXRoZXJ2YW5lL1NNCitXZWJiZXIvTQorV2VkZ3dvb2QvTQord2VkJ3MKK3dlZXAvU1pHCit3ZWlnaHR5L1lUCit3ZWlyL1NNCit3ZWxsLWVhcm5lZAorV2VsbGVyL00KK1dlbGxlc2xleS9NCit3ZWxsLWZvdW5kZWQKK3dlbGwtc3RydWN0dXJlZAord2VsbC10cmllZAord2VsdGVyL2QKK1dlbWJsZXkvTQord2VuY2gvTVMKK1dlbnNsZXlkYWxlL00KK3dlcmV3b2x2ZXMKK1dlcnRoZXIvTQorV2VzdGhhbXB0b24vTQord2V0bmVzcword2hhcnZlcword2hhdC9NCit3aGVhdC9NCitXaGVhdG9uL00KK3doZXJlZm9yZS9TCit3aGVyZW9uCit3aGV0c3RvbmUvTVMKK1doaWdnZXJ5Cit3aGltc3kvUword2hpcHBldC9NUword2hpc3Blci9rZHJKUword2hpdGVmbHkKK3doaXRlLWhvdAorV2hpdGxvY2svTQord2hvL00KK3dobydkCit3aG9sZW5lc3MKK3dob21ldmVyCit3aG9vcGVlL1MKK3dob29zaC9HTURTCit3aWNrZWRlc3QKK3dpZGVuL3JkUworV2lsZGUvTQord2lsZS9EU01HCitXaWxsYS9NCitXaWxsaWFtc2J1cmcvTQorV2lsbGlzCitXaW5jaGVzdGVyL1MKK1dpbmNrZWxtYW5uCit3aW5kYnVybnQKK3dpbmRlZG5lc3MKK3dpbmRqYW1tZXIvTVMKK3dpbmRvd3BhbmUvU00KK3dpbmQncworV2lubmlwZWcKK3dpbm8vTVMKK3dpbnRlci9jZFMKK1dpcnJhbAord2lzaHktd2FzaHkKK3dpc3RmdWxuZXNzCit3aXQvelNNMnBQR1pECitXTk8KK3dvZS9qU002CitXb2xjb3R0CitXb2xmZ2FuZword29tYmF0L01TCit3b21lbmZvbGsvTQord29uCit3b250ZWRseS9VCitXb29kYmVycnkKK3dvb2RibG9jay9TCit3b29kY29jay9TTQord29vZGxpY2UKK3dvb2RwZWNrZXIvTVMKK3dvb2R3b3JtL00KK3dvb2xsZW4vUworV29yY2VzdGVyCit3b3JkLWJsaW5kbmVzcword29yay9BRGVTY0cKK3dvcmthYmx5Cit3b3JrYXJvdW5kL01TCit3b3JrYmVuY2gvU00KK3dvcmtob3JzZS9NUword29ya2luZy1jbGFzcword29yaydzL2UKK3dvcmtzcGFjZS9TCit3b3JtLWVhdGVuCit3b3JzdC1jYXNlCit3b3VsZG4ndAord293L0dTRAorV1JBRgord3JldGNoL01pRGhTCit3cmlnZ2xlL1lSRFNHCitXcmlnbGV5Cit3cmluZy9SR1MKK3dyaXR0ZW4vZlVjYUEKK3hpdgorWWFod2VoCit5YWsvTQoreWFyZGFnZS9NUworeWVhcmxvbmcKK3llYXItcm91bmQKK3llYXN0L1NNMloKK3lpcHBlZQoreW8KK3lva2UncworWW9ya3Rvd24KK3lvdW5naXNoCit5b3V0aC9qU002CitZdWxlCit5dW0teXVtCitaYWRpZScKK1plaXRnZWlzdAorWmVsbGljaydzRgorWmVuCit6ZXJvL0dTRE0KK3plc3QvNk1qCitaaW1tZXJtYW4vTQoremluYy9NCit6aXJjb25pdW0vTQorWm9yb2FzdGVyCitab3JvYXN0cmlhbi9TCitBCithYmFsb25lL01TCithYmRvbWVuL01TCitBYmVyZGVlbnNoaXJlL00KK2FiZXR0b3IvU00KK2FiaWRhbmNlL01TCithYmlkZS9rR0RTCithYmxlL25WdllOVAorYWJuZWdhdGlvbi9NCithYm9taW5hYmxlL1kKK2Fic2VudGlhL00KK2Fic2VudC1taW5kZWQvWQorYWJzZW50LW1pbmRlZG5lc3MvUworYWJzb2x1dGlzbS9TTQorYWJzdGVudGlvbi9NUworYWJzdHJhY3RlZC9QCithYnN0cmFjdG5lc3MvUworYWJzdXJkaXR5L01TCithYnVuZGFudC9ZCithYnlzcy9TTQorYWNjZXB0YWJsZW5lc3MvUworYWNjZXB0YW50CithY2NsYWltL0RTRworYWNjcmVkaXQvU25kCithY2NyZXRlZAorYWNlcmJpYy9ZCithY2V0YXRlL1NNCithY2hlL0RHa1pTTQorYWNoZWQvRktBCithY2tub3dsZWRnZS9MUkdTaEQKK2Fjb3JuL01TCithY3F1YWludC9BU0RHCithY3F1YWludGFuY2VzaGlwL1MKK2Fjcm9zcworYWNyeWxhdGUvTQorYWN0aXZhdGUvU0lObkRDRworYWN0aXZhdGlvbi9JTUNBCithY3R1YWxpdHkvU00KK2FkL0FDCitBZGFtL1NNCithZGFwdGVkL1AKK0FEQworYWRkZW5kYQorYWRkcmVzc2VlL01TCithZGVwdG5lc3MvUworYWRlcXVhdGUvSVlQCithZGlhYmF0aWMvWQorYWRpZXUvUworYWRtaW5pc3RyYXRlL0RHU3ZWCithZG1pbmlzdHJhdGlvbi9NCithZG1pdC9TQU5ER1gKK2FkbW9uaXRpb24vU00KK2Fkby9NCithZG9wdHMvQQorYWRyZW5hbGluCithZHZlbnRpc3QvUworYWR2ZXJzYXJ5L01TCithZHZpY2UvTVMKK0FlbmVpZAorYWVvbGlhbgorQWVvbHVzCithZXJhdGlvbi9NCithZXRpb2xvZ3kvVzF3TQorQUZBSUsKK2FmZmVjdGF0aW9uL00KK2FmZmVjdGlvbi9FTVMKK2FmZmluZQorYWZsYW1lCithZnJhaWQvVQorYWZ0ZXJsaXZlcworQWdhYS9NCithZ2dsb21lcmF0ZS9uVkROU0cKK2FnZ3Jlc3Npb24vTVMKK2FnZ3Jlc3NpdmVuZXNzL1MKK0FnbmVzL00KK2FncmljdWx0dXJlL00zb1MKK2FpZC9SR0RTCitBaWRhbi9NCithaW0vUkdEcFN5CithaXJiYXNlL1MKK2FpcmNyYWZ0L00KK2FpcmZhcmUvUworYWlyZmllbGQvU00KK2FpcmxpbmUvUk1TCithaXJtYWlsL0RNRworYWxhY2sKK0FsYW1lZGEKK0FsYmFuaWFuL01TCitBbGJyZWNodC9NCithbGJ1bWVuL1NNCitBbGRlcm5leS9NCithbGdhZWNpZGUKK2FsZ2VicmFpc3QKK0FsZ2VyaWEvTQorQWxpL00KK2FsaWVuaXN0CithbGltb255L1NNCithbGlwaGF0aWMKK2FsLUphemVlcmEKK2FsbC1jbGVhcgorYWxsb3QvU0xHRAorYWxsdXZpYQorYWxsdXZpb25zCithbGx5L1NHRAorYWxtaWdodHkvUAorYWxvb2ZuZXNzL1MKK2FscGhhbnVtZXJpYy9ZUworQWwtUWEnaWRhL00KK0Fsc2F0aWFuL1MKK2Fsc28KK2FsdGVybmF0aXZlL1BNUworYWx1bWluaXVtL00KK2FsdmVvbGFyL1kKK2FsdmVvbGkKK2FtL0EKK0FtYWxpZS9NCithbWFudWVuc2lzL00KK2FtYXJldHRvL1MKK0FtYXJpbGxvL00KK2FtYXplL0xEaGtHUworYW1iZXIvTVMKK2FtYmlkZXh0ZXJpdHkvU00KK2FtYnJvc2lhL01TbworYW1idWxhdGlvbi9NCithbWJ1bGF0b3J5L1MKK2FtYnVzY2FkZS9TTURHCitBbWVyYWRhCitBbWVyaWNhbmEKK2FtaWNhYmxlL1BZCithbWlkc3QKK2FtaXR5L01TCithbW5lc2lhYy9TTQorQW1vY28vTQorYW1vcm91c25lc3MvUworYW1vcnBob3VzbmVzcy9TCithbXBob3JhL00KK2FtcGhvcmFlCithbXQuCithbmFsZWN0cworYW5hbHlzYWJsZQorYW5hbHlzYW5kL01TCithbmFseXRpY2FsCithbmFwaG9yYS8xV00KK0FuYXRvbGlhbgorYW5jaG9yL201ZFNNCitBbmRlcworQW5kcmV3L01TCitBbmdlbG8vTQorYW5nZXIvTWRTCitBbmdvbGEvTQorQW5oZXVzZXIvTQorYW5oeWRyaWRlL00KK2FuaW1hdGVuZXNzL0kKK2FuaW3pCithbmlzb3Ryb3B5L01XUworYW5uYWwvM1NNCithbm5leGF0aW9uL00KK2Fubm91bmNlZC9VCithbm51YWwvUThZUworYW5udWl0YW50L1NNCithbm51aXR5L1NNCithbm9kZS84TVFTVworYW50L0UKK2FudGVyaW9yL1NZCithbnRob2xvZ3kvUThTTTMKK2FudGhyb3BpYy9hCithbnRpLWFpcmNyYWZ0CithbnRpLUFtZXJpY2FuaXNtCithbnRpLWFwYXJ0aGVpZAorYW50aWNhbmNlcgorYW50aWNvbW11bmlzdC9NUworYW50aWRvdGUvU0RNRworYW50aS1oZXJvZXMKK2FudGlwYXJ0aWNsZS9TTQorYW50aXBlcnNwaXJhbnQvU00KK2FudGlxdWFyeS9TTQorYW50aXRoZXNlcworQW50cmltL00KK2FueGlldHkvU00KK2FueGlvdXNuZXNzL1MKK2FueXRoaW5nCithcGFydGhlaWQvTQorYXBlcmlvZGljaXR5L00KK2FwZXJ0dXJlL0RNUworYXBsb21iL1NNCithcHBhcmF0Y2hpay9TCithcHBlYXJhbmNlL0FNRVMKK2FwcGVuZGljZXMKK2FwcGVuZGl4L01TCithcHBsYXVzZS9NUworYXBwbGljYXRpb24vQU0KK2FwcGx5aW5nL2EKK0FwcG9tYXR0b3gKK2FwcHJlY2lhYmx5L0kKK2FwcHJlY2lhdG9yL01TCithcHByZWhlbnNpYmxlCithcHByZWhlbnNpb24vYU1TCithcHByaXNlL2tTR0QKK2FwcHJvcHJpYWJsZQorYXByaWNvdC9NUworYXBzZS9TTQorYXF1aWZlci9NUworQXJhYmljL00KK2FyYWNobm9pZC9NCithcmJpdHJhZ2V1ci9TCithcmNoYWljL1kKK2FyY2hhaXNtL01TCithcmNoZHVrZS9NUworYXJjaGV0eXBhbAorYXJjaGllcGlzY29wYWwKK2FyY2hpdGVjdG9uaWMvUworYXJlbmFjZW91cworYXJpZC9QWQorYXJpdGhtZXRpYy9ZTQorQXJrYW5zYXMvTQorQXJrd3JpZ2h0L00KK0FybGVuL00KK2FybS9SRUxHRFMKK2FybWF0dXJlL0RNR1MKK2FybWNoYWlyL1NNCitBcm1jbworYXJyYWlnbi9MR0RTCithcnJhbmdlcy9BRUsKK2FycmVzdGVlL1NNCithcnJpdmFsL01TCithcnJpdmUvR1NECithcnJvZ2F0aW9uL00KK2Fycm93L01HU0QKK2Fycm95by9NUworQXJ0ZW1pcworYXJ0ZXJpb3NjbGVyb3NlcworYXJ0aWZpY2lhbC9QCithc2NlbmRlbmN5CitBc2hldmlsbGUvTQorQXNoZm9yZC9NCitBc2h0b24vTQorYXNodHJheS9TTQorQXNpYW4vU00KK0FzaW1vdi9NCithc2tldworYXNwaGFsdGVyCithc3BpYy9NUworYXNzZW4KK2Fzc2VudC9HTVNECithc3NlcnRpb24vTUFTCithc3Nlc3NlZC9BCithc3N0CitBc3N5cmlhbi9NCithc3Rlcm4KK0FzdG9uL00KK2FzdHJhZGRsZQorYXN0cmFsL1kKK2FzdHJpbmdlbmN5L1NNCithc3Ryb25hdXRpYy9TCithc3lsdW0tc2Vla2VyL1MKK2F0ZS9jCitBdGhlbmEvTQorQXRoZW5zL00KK2F0aGxldGljcy9NCithdG9taWNpdHkvTQorYXR0YWluYWJsZS9QCithdHRhci9NUworYXR0ZW5kYW50L01TCithdHRlc3RlZC9VCithdHRlc3Rlci9NCitBdWJyZXkvTQorYXVjdGlvbmVlci9EU01HCithdWRpb3BoaWxlL01TCithdWd1c3QvWVBUCitBdWd1c3RhbgorYXVyYS9XU01vCithdXJlb2xlL01EU0cKK2F1cmljdWxhcgorYXVzY3VsdGF0aW9uL00KK2F1c3BpY2UvU00KK2F1c3RlcmUvWVBUCitBdXN0aW4vTQorQXVzdHJpYW4vTVMKK2F1dGhlbnRpY2F0aW9uL00KK2F1dGhvci9Rcy05ZDhxU00KK2F1dGhvcmVzcy9TCithdXRob3JpdGFyaWFuL1MKK2F1dGhvcml6YXRpb24vTQorYXV0aG9yaXplL0tBCithdXRpc3RpYworYXV0b2dyYXBoL0dNU0QKK2F1dG9sb2FkZXIKK2F1dG9tYXRpb24vTQorYXV0b3JlcGVhdC9HUworYXV0by1zdWdnZXN0aWJpbGl0eS9NCithdXhpbGlhcnkvUworYXZhbnQKK2F2aWF0cmljZXMKK2F2b2NhZG8vTVMKK2F2b3VjaC9EU0cKK2F2b3dlZC9ZCithd2FrZW5lZC9BCithd2t3YXJkL1lQVAorQXpvcmVzCitCYWJiYWdlL00KK2JhY2svZU0KK2JhY2tib25lL01TCitiYWNrZHJvcC9EU01HCitiYWNraG9lL1MKK2JhY2tyZXN0L1NNCitiYWNrc3BhY2UvREdTCitiYWNrLXVwL1MKK2JhY2t5YXJkL1NNCitiYWQtZWdnCitiYWRtaW50b24vTQorYmFkLXRlbXBlcmVkCitCYWhhbWFzL00KK0JhaHJhaW4vTQorYmFpbGVyCitiYWxkbmVzcy9TCitiYWxlZnVsL1RQCitiYWxlZnVsbmVzcy9TCitiYWxsYWQvTXlTCitiYWxsYWRyeS9TTQorQmFsbGFyZC9NCitiYWxsb29uaXN0CitiYWxsb3QvZE1TCitCYWxseW1vbmV5L00KK2JhbmFsCitCYW5idXJ5L00KK2JhbmtpbmcvTQorYmFubmVyL2QKK0Jhbm5lcm1hbi9NCitiYW5ub2NrL01TCitiYXB0aXN0L1NNCitiYXJiYXJpc20vU00KK2JhcmJhcml6ZS9EU0cKK2JhcmJpdHVyYXRlL1NNCitiYXJlL1lQRFRTRworYmFyZWhhbmRlZAorYmFyZWhlYWRlZAorYmFyZ2Fpbi1iYXNlbWVudAorYmFyZ2UvRG1NU1pHCitiYXJrZWQvQworYmFybGV5Y29ybi9TTQorQmFybG93L00KK2Jhcm1lbi9NCitiYXJuL01EUzZHCitCYXJudW0vTQorYmFyb25ldGN5L1NNCitCYXJyaWNoZWxsby9NCitiYXJyaWVyL01TCitiYXJyaW8vTVMKK0JhcnJvbi9NCitiYXJ0ZW5kZXIvU00KK2Jhc2VsZXNzbmVzcworYmFzaGVyCitiYXNpcy9NCitiYXNzL1MzTQorQmFzc2V0ZXJyZS9NCitiYXQvRmRNUworYmF0dGxlYXhlCitiYXV4aXRlL00KK2Jhd2wvREdTCitiYXphYXIvTVMKK2JlYWNoL0dTRE0KK2JlYXIvSmxSU0c3CitiZWFzdGx5L1RQCitiZWF1eC9NCitCZWF2ZXJ0b24vTQorYupjaGUKK2JlZC9GCitiZWRkZXIvU00KK2JlZHNpdC9TCitiZWRzb3JlL1NNCitiZWQtd2V0dGluZworYmVlaGl2ZS9TTQorQmVlbHplYnViL00KK2JlZXQvTVMKK2JlZXRsZS9ETVNHCitiZWZhbGwvR1MKK2JlZm9yZQorYmVnaW5uaW5nL00KK2JlZ3J1ZGdlcgorYmVoYXZpb3VyYWwvWQorYmVob3ZlL0RTCitiZWxpZXZhYmxlL1lVCitiZWxsaWNvc2UvWVAKK2JlbGxpZ2VyZW50L1lTTQorYmVsbHlidXR0b24vU00KK2JlbHRpbmcvTQorYmVtdXNlL0RMaFNHCitiZW50L1UKK0JlbnRvbi9NCitiZXF1ZXN0L1NNCitiZXJlYXZlL0xHRFMKK0JlcmdlcmFjL00KK2Jlcm0vTVMKK0Jlcm5hZGV0dGUvTQorQmVybmUvTQorYmVycnlsaWtlCitCZXJ0aGEvTQorYmV0aWRlL0RHUworYup0aXNlCitiZXRva2VuL2RTCitCZXR0ZS9NWgorYmV0dGVyLW9mZgorYmkvTQorYmlibGlvZ3JhcGh5L1d3MU1TCitiaWJ1bG91cworYmljeWNsZS9SRzNTTUQKK2JpZGR5L1NNCitiaWRlL1MKK2JpZ2hlYWQvTVMKK2JpZ290cnkvU00KK2JpbGxpb24vTUhTCitiaW9jaGVtaXN0L1N5TQorYmlvZGVncmFkYWJpbGl0eS9TCitiaW9mZWVkYmFjay9TTQorYmlvZ3JhcGh5L1NNCitiaW9sb2d5L3czTVcxUworYmlvbWFzcy9NUworYmlvbWV0cmljL1MKK2Jpb21ldHJ5L1dNCitiaW9uaWNzL00KK2Jpb3Rpbi9NUworYmlwYXJ0aXRlL1kKK2JpcGVkYWxpc20KK2JpcmV0dGEvTVMKK0Jpcm1pbmdoYW0vTQorYmlzZWN0L0dTRAorYmlzb24vTQorYml0ZXIvU00KK2JpdG1hcC9NUworYml0dGVyL1lQU2QKK2JpdHRlcmVzdAorYml0d2lzZQorYmxhY2tiZXJyeS9NU0cKK2JsYWNrZW5lci9NCitCbGFja2Zvb3QvTQorYmxhY2toZWFkL1NNCitibGFja2lzaAorYmxhY2tuZXNzL1MKK0JsYW5jaGUvTQorYmxhbmRpc2gvREdMUworYmxhbmRuZXNzL1MKK2JsYXpvbi9TZAorYmxlc3MvaEdTRGlKCitibGl0aGVuZXNzL1MKK2JsaXRoZXJpbmcKK2Jsb2MvR0RNU1IKK2Jsb2NrYWRlL0RNR1JTCitCbG9tYmVyZy9NCitibG9uZC9QTVNUCitibG9vZC1sdXN0CitibG9vZHN1Y2tlci9NUworYmxvb2R0aGlyc3R5L1BUWQorYmxvdGNoL1NHTVpECitibG93cGlwZS9NUworYmx1ZWJpbGwvTQorYmx1ZWJvbm5ldC9TTQorYmx1ZXN5L1QKK2JsdW5kZXIvZGtySk1TCitibHVycmluZy9ZCitibHVydGVyCitibHVzaGluZy9VWQorQk1XL00KK2JvYXN0L0RSRzZqSlMKK2JvYXN0aW5nL2UKK2JvYXQvTURSR1MKK2JvYmJsZS9TR01ECitib2NjaWUvU00KK2JvZHktYmxvdworQm9lci9TTQorYm9sbC9NUworYm9sbGFyZC9TTQorQm9sb2duYS9NCitib2xvbWV0ZXIvV1NNCitCb2xzaGV2aXNtL00KK0JvbHNoZXZpc3QvV01TCitCb2xzaG9pL00KK2JvbHQncworYm9tYnByb29mCitib25kL01tREpSR1MKK2JvbmVtZWFsCitib25pdG8vTVMKK2JvbnVzL01TCitib29rYmluZC9SR0oKK2Jvb2tiaW5kaW5nL00KK2Jvb2trZWVwL1JHSgorYm9va21hcmtlcgorYm9vbGVhbgorYm9vbmllcworYm9vci9NUworYm9vdHByaW50cworQm9yZGVuL00KK2JvcmRlci9kTVMKK2JvcmRlcmxpbmUvTVMKK2JvcnJvd2luZy9NCitib3JzdGFsL01TCitCb3NuaWEtSGVyemVnb3ZpbmEvTQorQm9zdG9uL00KK2JvdGhlcnNvbWUKK0JvdHN3YW5hL00KK2JvdWdhaW52aWxsZWEvTQorYm91bGV2YXJkL01TCitib3VuZC9BRFNHCitib3VyZ2VvaXNpZS9NUworYm91cnNlcworYm93ZXIvZAorYm93LWxlZ3MKK2Jvd2xmdWwvUworYm93c3RyaW5nL0RNR1MKK2JveXNjb3V0CitCUAorYnJhY2VsZXQvU00KK2JyYWNlci9NCitCcmFjaGlvcG9kYQorYnJhY2tlbi9TTQorYnJhY3RlYWwKK0JyYWRsZXkvTQorQnJhZ2cvTQorYnJhZ2dhZG9jaW8vTVMKK0JyYWhtYW5pc20KK2JyYWlkZXIvTQorYnJhaWRpbmcvTQorYnJhbWJsZS9HTVlEUworQnJhbmRlbmJ1cmcvTQorQnJhdW4vTQorYnJhdmVuZXNzL1MKK2JyYXplL0RTRworYnJlYWQvSERNU0cKK2JyZWFrb3V0L01TCiticmVhc3RmZWQKK2JyZWFzdGluZy9NCiticmVhc3R3b3JrL01TCiticmVlenkvVFBZCitCcmVudHdvb2QvTQorQnJlc3QvTQorYnJldmV0L01HRFMKK2JyZXdlci9aCiticmljL0RHCiticmlja2xheWluZy9TTQorYnJpY2ttYXNvbi9TCiticmlja3lhcmQvTQorQnJpZ2dzL00KK2JyaWxsaWFuY2UvU01aCiticmluZGxlL01EUworYnJpbmVyL00KK2JyaXN0bHkvVAorYnJpc3RvbHMKK2JybworYnJvYWRlbi9TcmQKK2Jyb2FkLW1pbmRlZG5lc3MKK2Jyb2Fkc2lkZS9TTUdECitCcm9tbGV5L00KK0Jyb213aWNoL00KK2Jyb250b3NhdXJ1cy9TTQorYnJvb20vR01TRAorYnJvd2JlYXRlbgorQnJ1Y2UvTQorYnJ1Y2VsbG9zaXMvTQorQnJ1Y2tuZXIvTQorYnJ1c3F1ZS9QVFkKK2JydXRpc2gvUFkKK2J1Y2tldC9TZDZNCitCdWNraW5naGFtL00KK2J1Y2tsaW5nL00KK2J1Y2stcGFzc2luZworYnVkZ2V0L3JTZE0KK0J1ZHdlaXNlci9NCitidWZmYWxvL00KK2J1ZmZldC9TZEpNCitCdWxhd2F5bydzYworYnVsa3kvVFAKK2J1bGxmaW5jaC9NUworYnVsbGhlYWRlZC9QCitidWxsaWVkL00KK2J1bGxzaGl0L1JTRE1HCitidWxseWluZy9NCitidW1tZWQvTQorYnVuZy9HTURTCitidW5naG9sZS9TTQorYnVua2VyL2QKK2J1bnRpbmcvTQorYnVyZ2Vvbi9TREcKK2J1cmllci9NCitidXJsZXNxdWUvRFlSTVNHCitidXJub3V0L01TCitidXJyL01TCitidXJzdGluZworQnVydW5kaS9NCitidXNtZW4KK2J1dHRlcmZpbmdlcmVkCitidXR0b25lci9NCitieWUvTVMKK2J5bmFtZQorQnlyZC9NCitieXJvYWQvTVMKK0NBQQorY2FiZHJpdmVyL01TCitjYWJpbmV0L015UworY2FjaGV0L01kUworY2FkL01aUworY2FkZW56YS9NUworY2FmZXRlcmlhL01TCitjYWlybi9EU00KK2Nham9sZXJ5L1NNCitjYWtlL01ER1MKK2NhbGFtaXRvdXMvUFkKK2NhbGN1bGF0ZWQvYUEKK2NhbGxvdXMvUERZU0cKK2NhbG1uZXNzL1MKK2NhbHVtZXQvTVMKK2NhbS9NU0QKK2NhbWJlci9kTVdTCitDYW1icmlkZ2UvTQorQ2FtYnJpZGdlc2hpcmUvTQorQ2FtaW5vCitjYW1pc29sZS9NUworY2FtcGhvci9TTQorY2FuYXJkL01TCitjYW5jZWwvUkRHUworQ2FuZGFjZQorY2FuZGVsYWJyYS9TCitjYW5kaWRhY3kvTVMKK2NhbmR5LXN0cmlwZWQKK2Nhbm5pZXIKK2Nhbm55L1VQWQorY2Fuc3QKK2NhbnQvRENSR1MKK2NhbnRhYmlsZQorY2FudGFsb3VwZS9TTQorY2FwYWJpbGl0eS9JU00KK2NhcGFjaXRhbmNlL1NNCitjYXBpdGFsaXNlZC9VYworQ2Fwb3RlCitjYXByaWNpb3VzL1lQCitDYXByaWNvcm4KK2NhcCdzCitjYXJhcGFjZS9NUworY2FyYm9ueWwvTQorY2FyYnVyZXR0b3IvU00KK2NhcmNhc2UvTVMKK2NhcmNhc3MvTVMKK2NhcmNpbm9tYS9TTQorY2FyZC9ERVJHUworY2FyZGlhYy9TCitjYXJkaW5hbGl0eS9NUworY2FyZHNoYXJwL1JNUworY2FyZWdpdmVyL1MKK2NhcmlsbG9uL01TCitDYXJsdG9uCitjYXJvbC9EUkdTTQorY2Fyb3RlbmUvU00KK2Nhcm91c2FsL1NNCitjYXJvdXNlL1JHRFMKK2NhcnBlbnRlcmluZy9NCitDYXJyL00KK0NhcnJpZQorY2Fycnktb24KK2NhcnRob3JzZS9NUworQ2FydGllcgorY2FydG9uL2RNUworY2FydG9vbi9HM0RNUworY2FydG9vbmlzdAorQ2FydHdyaWdodAorY2FydmUvUlNKR0R5CitjYXJ2ZW4KK2Nhc2FiYS9TTQorY2FzYmFoL00KK2Nhc2NhZGUvR0RTTQorY2FzaGllci9HTURTCitjYXNzaWEvU00KK2Nhc3RhbmV0L1NNCitDYXN0bGVyZWFnaC9NCitjYXN0cmF0bworY2FzdCdzL2UKK2Nhc3VhbHR5L1NNCitjYXN1aXN0L1NNV3kKK2NhdGFmYWxxdWUvU00KK2NhdGFseXNlL1NEV0cKK0NhdWNoeQorY2F1c2FsaXR5L01TCitjYXVzYXRpdmUvUworQ2F2YW4vTQorY2F5ZW5uZS9NUworY2Vhc2UvQ0RTRworY2Vhc2VsZXNzbmVzcy9TCitjZWRlL0ZLQUdEUworY2VpbGluZy9NU0QKK2NlbGVicmF0aW9uL00KK2NlbGVzdGEvU00KK2NlbGVzdGlhbC9ZCitjZW1lbnQvUkdEU00KK2NlbnNvci9kU00KK2NlbnNvcmlvdXMvUFkKK2NlbnN1cmUvR1JNU0QKK0NlbnRyYWxpYQorY2VudHJlL0dEUk1KM1dvUworY2VudHJpcGV0YWwvWQorY2VyZWJyYXRpb24vTQorY2VyZW1vbmlvdXNuZXNzL1NNCitjZXJlbW9ueS9TTW8KK0NFUk4KK2NlcnRhaW4vVVkKK2NlcnRhaW50eS9VU00KK0NoYWJsaXMKK2NoYWluJ3MKK2NoYWlycGVyc29uL1NNCitjaGFsZXQvU00KK2NoYW1iZXJwb3QvUworY2hhbW9taWxlL01TCitjaGFuY3kvVAorY2hhbmdlYWJpbGl0eS9NUworY2hhbmdlYWJseS9VCitjaGFuZ2UtcmluZ2luZworQ2hhbnRpbGx5CitjaGFyYWN0ZXJpc3RpYy9VWQorY2hhcmFjdGVyaXN0aWNzCitDaGFyZG9ubmF5L1MKK2NoYXJtaW5nL1QKK2NoYXJ0ZWQvVQorY2hhc2luZy9NCitjaOJ0ZWF1L1NNCitjaGF0dGluZXNzL1MKK2NoYXV2aW5pc20vTVMKK2NoZWFwaXNoCitjaGVkZGFyL1MKK2NoZWVyaW8vUworY2hlZXNlY2xvdGgvTVMKK2NoZWV0YWgvU00KK0NoZWxtc2xleXdvb2QKK2NoZW1pbHVtaW5lc2NlbnQKK2NoZW1vdGhlcmFwZXV0aWMvUworY2hlcXVlYm9vay9NUworY2hlcnJ5L01TCitjaGVzcy9tU00KK0NoZXZpb3QvU00KK2NoaWFyb3NjdXJvL01TCitjaGllZi9TTWEKK2NoaWdnZXIvU00KK2NoaWxkcHJvb2YvR0QKK2NoaXBtdW5rL01TCitjaGlyYWwKK2NoaXJvZ3JhcGh5L1NNCitjaGlyb3BvZHkvM1NNCitjaGlyb3ByYWN0aWMvTVMKK2NoaXJvcHJhY3Rvci9TTQorY2hpc2VsL1JEU0dKTQorY2hpdmFscnkvV1NNCitjaGxvcm9mb3JtL0dEU00KK2Nob2lybWFzdGVyL1NNCitjaG9vc2luZXNzL1MKK2Nob3Jpb24vTQorY2hvcmlzdGVyL1NNCitDaHJpc3RlbmRvbQorY2hyaXN0ZW5lZC9VCitDaHJpc3RtYXN0aWRlCitjaHVjay9TREdNCitjaHVra2EvUworY2h1dGUvU0dNRAorY2ljZXJvbmUvU00KK2NpZGVyL0NNUworY2luY2gvRFNHTQorQ2luY2lubmF0aQorY2luZW1hL1dNUworY2lyY3VtcG9sYXIKK2NpcnJob3NlcworY2l0YXRpb24vTUEKK2NpdGluZy9JCitjaXRpemVuL01ZeVMKK0NpdHJvZW4vTQorY2xhZC9KR1MKK2NsYWltL0VSU0dDQUQKK2NsYW0vR016WkQyUworY2xhbW15L1RQCitjbGFtc2hlbGwvU00KK2NsYXB0cmFwL01TCitjbGFyaW5ldC9NUworY2xhcmluZXR0aXN0L01TCitjbGFyaW9uL01EU0cKK2NsYXNwLWtuaWZlCitjbGFzc2ljYWxpdHkKK2NsYXNzeS9UUAorY2xhdHRlci9kU1prCitDbGF1c2VuCitjbGF1c3Ryb3Bob2JpYS9TTQorY2xhdmUvRk0KK2NsYXlpZXN0CitjbGVhbnNlCitjbGVhcndheS9NCitjbGVhdC9HTURTCitjbGVmL1NNCitDbGV2ZWxhbmQvTQorY2xpY2jpL01TCitjbGljaOlkCitjbGlmZi9TTQorY2xpbWF0b2xvZ3kvUzNNdzEKK2NsaW5jaC9TUkdrRAorY2xpcHBpbmcvTQorY2xpcXVlL0RNR1NaCitjbG9zZS1maXR0aW5nCitjbG90L0dETVMKK2Nsb3RoZS9VR0QKK2Nsb3RoZXNob3JzZS9TTQorY2xvdWRlZC9jVQorY2x1ZS9wTURHUworQ2x3eWQKK0NseWRlCitDTUcKK0NOQUEKK2NvYWd1bGF0ZS9uR1NETgorY29hbGVzY2VuY2UvU00KK2NvYXJzZW4vZFMKK2NvYXN0LXRvLWNvYXN0Citjb2F0ZXIvUworY29hdGluZydzL2MKK2NvYi9HTVNECitDb2JiL00KK2NvYndlYi9NWlNHRAorY29id2ViYnkvVAorY29jY2kvTVMKK2NvLWNoYW5uZWwKK2NvY2hsZWEvTVMKK2NvY2hsZWFyCitjb2NrL3pHTURaUzIKK2NvY2stYW5kLWJ1bGwKK2NvY2tuZXlpc20KK2NvY2stb2YtdGhlLXdhbGsKK2NvY2t0YWlsL0dEU00KK2NvY29vbi9NR1NECitjb2RpY2lsL1NNCitjb2VxdWFsCitjb2ZmZWUvU00KK2NvZmZlZS1ob3VzZS9TTQorQ29obgorY29pbi9STURHCitDb2xiZXJ0Citjb2xsYWdlbi9NCitjb2xsYXRlL0dTRAorY29sbGVjdC9iU2l2RFY3aEcKK2NvbGxlY3RpdmlzbS9TTQorY29sbGVjdG9yL01TCitjb2xsZWN0cy9BCitjb2xsZWdpYW4vTVMKK0NvbG9tYm8vTQorY29sb25lbGN5L1NNCitjb2xvbmlhbC9TMworY29sb3Bob24vU00KK2NvbG91ci1mYXN0L1AKK2NvbHQvTVMKK2NvbHRpc2gvUFkKK2NvbWJpbmF0b3Ivb1dTTQorY29tYnVzdGlvbi9NUworQ29tZGV4L00KK2NvbWVsaW5lc3MvUworY29tZWx5L1BUCitjb21lcydzCitjb21pY2FsaXR5L1NNCitjb21tZW1vcmF0aW9uL00KK2NvbW1lbmRhdGlvbi9BTQorY29tbWlzZXJhdGlvbi9NCitjb21taXRtZW50L2NTCitjb21tb2Rpb3VzL1BJWQorY29tbW9ubmVzcy9VCitjb21tdW5pb24vTVMKK2NvbW11dGF0b3IvTQorY29tbXV0ZS9SCitDb21vcm9zL00KK2NvbXAvREdTCitjb21wYWN0aW9uL00KK2NvbXBhbmlvbnNoaXAvU00KK2NvbXBhcmFiaWxpdGllcworY29tcGFydG1lbnRhbC8tOHFRCitjb21wYXNzaW9uYXRlL1AKK2NvbXBhdHJpb3QKK2NvbXBldGUvU0RHCitjb21wZXRlbmN5L0lTCitjb21wbGFjZW50L1kKK2NvbXBsZW1lbnQvRE1HU1JOCitjb21wb3NlZC9QWQorY29tcHJlc3NpYmlsaXR5L01JCitjb21wcmVzc2lvbi9NQworY29tcHVsc2lvbi9NCitjb21wdXRlcmVzZQorY29uY2VybnMKK2NvbmNlcnRlZC9FCitjb25jaWVyZ2UvU00KK2NvbmNpb3VzbmVzcworY29uY2x1ZGUvUk5HWERTdlZ1Citjb25jb2N0L1NER1YKK2NvbmNvcmRhbmNlL01TCitDb25jb3JkaWEKK2NvbmN1cnJlbmNlL1NNCitjb25kZW1uYXRvcnkKK2NvbmRlc2NlbnNpb24vTQorY29uZG9tL1NNCitjb25kdWN0YW5jZSdzCitjb25mYWJ1bGF0ZS9OU25ERworY29uZmlkYW50L1NNCitjb25maXJtL25BTkdTRAorY29uZmlzY2F0aW9uL00KK2NvbmZsYXRlL0duRFNOCitjb25mbGljdHVhbAorY29uZm91bmQvaAorY29uZ3J1ZW5jZS9aTVMKK2NvbmdydWVudC9ZCitjb25pY2FsL1AKK2NvbmlmZXIvTVMKK2NvbmlmZXJvdXMKK2NvbmplY3R1cmFsCitjb25qdWdhbC9ZCitjb25qdW5jdGl2aXRpcy9TTQorY29ubmVjdGl2ZS9NUworY29ubmVjdG9yL1NNCitjb25uZXhpb24vU00KK2Nvbm5pdmUvUlNERworY29uc2NpZW5jZS9wCitjb25zZWNyYXRlZC9VCitjb25zZWNyYXRpb24vTUEKK2NvbnNlcXVlbnRpYWxpdHkvU00KK2NvbnNpc3RvcnkvTVMKK2NvbnNvbGF0aW9uL0VNCitjb25zb2xpZGF0ZWQvQVUKK2NvbnNvbGlkYXRpb24vTQorY29uc3BlY3R1cy9NUworY29uc3BpY3VvdXNuZXNzL1NJCitjb25zdGFuY3kvSU1TCitjb25zdGVybmF0ZS9Ebk5HUworY29uc3RyYWludC9TTQorY29uc3RydWN0aW9uaXN0L1NNCitjb25zdHJ1Y3Rvci9TTQorY29udGFtaW5hdG9yL1NNCitjb250ZW1wbGF0ZS9WTkR2dUduCitjb250ZW50L0xFRGhHTVMKK2NvbnRlc3RlZC9VCitjb250aW5lbnQvb1lTTQorY29udGluZ2VuY3kvTVMKK2NvbnRpbnVhL29uCitjb250aW51b3VzbmVzcy9FCitjb250cmFjdC9HYkQKK2NvbnRyYWlsL00KK2NvbnRyYXJpbmVzcy9TCitjb250cmFyeS9QU1kKK2NvbnRyYXZlbmVyL00KK2NvbnRyaWJ1dGUvRHZHVnkKK2NvbnRyaWJ1dGlvbi9TTQorY29udHJpdmUvUkRTRworY29udHJvbC9CUk1TbEcKK2NvbnRyb2xsZWQvVQorY29udmVub3IKK2NvbnZlbnRpb25hbGlzbS9NCitjb252ZXJzYXRpb24vTW8KK2NvbnZlcnNhdGlvbmFsaXN0Citjb252ZXJzZXIKK2NvbnZvbHV0aW9uJ3MKK0Nvb2tlL00KK2Nvb2tlcnkvTQorQ29vbGlkZ2UKK2Nvb2xpbmctb2ZmCitjb29wZXJhZ2UvTVMKK2Nvb3JkaW5hdGVkL1UKK2NvcGVyL00KK2NvcXVldHJ5L1NNCitjb3JkaXRlL01TCitjb3JlL01EUkdTCitDb3JleS9NCitjb3JpYWNlb3VzCitjb3JuL1IyWlNNekRHCitjb3JuZWEvU00KK0Nvcm9uYWRvCitjb3JvbmF0aW9uL00KK2NvcnBvcmF0ZXMvSQorY29ycG9yZWFsL0lZCitjb3JwdXNjbGUvTVMKK2NvcnJlY3RuZXNzL1MKK2NvcnJpZ2VuZHVtL00KK2NvcnJpZ2libGUvSQorY29ycm9ib3JhdGUvRFNuVnZHeU4KK2NvcnJ1cHQvVlBUYnZTREdZCitjb3JydXB0ZXIvTQorY29ycnVwdGlvbi9NUworY29ydGljb3N0ZXJvaWQvTVMKK2Nvc2luZXNzL1MKK2Nvc21vbG9neS8xUzNNdworY29zcG9uc29yL1NkCitjb3N0LWVmZmVjdGl2ZQorY29zdC1lZmZlY3RpdmVuZXNzCitDb3N0ZWxsbworY29zdGxpbmVzcy9TCitjb3QvUk1TRAorY290dGVyZWQKK2NvdWdoZXIvTQorY291bmNpbGxvci9NUworY291bnRkb3duL01TCitjb3VudGVyLWNsYWltL0dTTUQKK2NvdW50ZXItY3VsdHVyZS9TTQorY291bnRlcm1hbmQvU0dECitjb3VudGVycG9pbnQvRFNNRworY291bnRlcnN1bmsKK2NvdW50ZXNzL1NNCitjb3VudHJ5LzVtTVMKK2NvdXBsZXQvTVMKK2NvdXJzZS9TTUZFCitjb3VydGVvdXMvWUVQCitjb3VydC1tYXJ0aWFsCitjb3ZhbGVudC9ZCitjb3ZhcmlhdGUvU04KK2NvdmVyZWQvRUFVCitjb3ZlcnQvUFkKK2NvdmVydG5lc3MvUworY292ZXItdXAvUworY293bC9ER01TCitjb3dyaWUvU00KK2NveGNvbWIvTVMKK2NveW90ZS9TTQorY296ZW5hZ2UvU00KK2NyYWcvTVpTMgorY3JhbmUtZmxpZXMKK0NyYW5mb3JkCitjcmFua3kvVFAKK2NyYXAvR0RNWlMKK2NyYXNoL1JTREdrCitjcmFzcy9UWVAKK2NyYXlvbi9NZFMKK2NyZWFtaW5lc3MvUworY3JlYXR1cmUvWVNNCitjcmVhdHVyZWx5L1AKK2NyZWR1bG91cy9QWQorY3JlZWtzaWRlCitjcmVlcC9SWlNHMnoKK2NyZWVweS9QVFMKK2NyZW5lbGxhdGVkCitjcmV0b25uZS9NUworY3JldmFzc2UvTUdEUworY3JpYi9EUkdTTQorY3JpbWluYWxpc2UvQ25EU0cKK2NyaW1pbmFsaXplL0NHTm5EUworY3JpdGVyaW9uL00KK2NyaXRpY2lzZS9rCitjcml0aWNpemUvaworY3JvYWt5L1QKK0Nyb2F0Citjcm9uZS9TWk0KK2Nyb29rZWRlcgorY3Jvc2llci9TTQorY3Jvc3Nib3cvbVNNCitjcm9zcy1icmVkL1MKK2Nyb3NzLWdyYWluZWQKK2Nyb3NzLXJlZmVyL1MKK2Nyb3cvTURTRworY3Jvemllci9TTQorY3J1ZGUvUFRZCitjcnVlbHR5LWZyZWUKK2NydW1ieS9UCitjcnVtcAorY3J1bmNoL1JTRFpHMgorY3J1c2UvU00KK0NydXN0YWNlYQorY3J1c3RhbAorY3J5b3N0YXQvTQorY3J5cHRhbmFseXNpcy9NCitjcnlzdGFsbGlzZS9BbkRTRworQ1NBCitjdWUvRGFNU0cKK2N1aXNpbmUvTVMKK0N1bGxvZGVuCitDdWxseQorY3VsdGl2YXRvci9NUworY3VsdHVyZS9TTW9ERworY3VtYmVyc29tZS9QWQorY3VtdWxhdGUvRE52R25TVgorY3VtdWxhdGlvbi9NCitjdXJmZXcvU00KK2N1cmlvL1NNCitjdXJyZW50bHkvQUYKK2N1cnNlL00KK0N1cnRpcworY3Vzc2VkbmVzcy9NCitjdworY3liZXJuZXRpYy9TCitjeWNsZWQvQQorY3ljbG9wYWVkaWEvTVMKK2N5Y2xvdHJvbi9NUworY3luaWMvU01ZCitDemVjaG9zbG92YWtpYS9NCitDemVjaG9zbG92YWtpYW4KK2RhY2hzaHVuZC9TTQorRGFjcm9uCitEYWRhCitkYWRkeS9TTQorRGFobC9NCitkYWxsaWFuY2UvTVMKK2RhbWUvTVMKK2RhbW1pdC9TCitkYW1uL2xER2tOUzduCitkYW1uZWRlcgorZGFtbmVkZXN0CitkYW1wZW4vZHJTCitEYW4vWk0KK2RhbmNlL1NEUkcKK2RhcHBlcmVzdAorZGFya2VuL3JkUworZGFybmluZy9NCitEYXJ0Zm9yZAorZGFzaC9HUlNEaworZGFzdGFyZGxpbmVzcy9TCitkYXRlbGluZS9TTURHCitkYXVwaGluL01TCitEYXZlbnRyeQorRGF2aWRzb24KK2Rhdml0L1NNCitkYXp6bGUvU1JHa0QKK2RCbQorRENNCitkZWF0aGx5L1QKK2RlYXRoLXJvbGwKK2RlYmF1Y2hlci9NCitkZWJvdWNoL0RHUworZGVidG9yL1NNCitkZWNhcGl0YXRvci9NUworZGVjYXllcgorZGVjZWFzZSdzCitkZWNlaXRmdWxuZXNzL1MKK2RlY2VwdGl2ZW5lc3MvUworZGVjaWRlL0RCR1ZpdmhOeFh1UworZGVjaWRlZC9VCitkZWNpc2lvbmluZworZGVja2luZy9NCitkZWNsYWltL3kKK2RlY2xhcmVkL0tVQQorZOljb2xsZXTpZQorZGVkaWNhdG9yeQorZGVkdWNlL0RHbmJOVnZTCitkZWVwLWZyaWVkCitkZWVwLWxhaWQKK2RlZXIvTQorZGVmYWxjYXRlL0dEU05uCitkZWZhbGNhdGlvbi9NCitkZWZlYXRlZC9VCitkZWZlY3RpdmVuZXNzL1MKK2RlZmlhbnQvWQorZGVmbGF0YWJsZQorRGVpcmRyZS9NCitkZWlzdC9XTVMKK0RlS2FzdGVyZQorRGVsYW5leS9NCitkZWxlY3RhdGlvbi9TTQorZGVsaWNhdGVuZXNzL1MKK2RlbGljYXRlc3Nlbi9NUworZGVsaXF1ZXNjZS9HRFMKK2RlbGl2ZXJhbmNlL1NNCitEZWxwaGkKK0RlbHBvcnQKK2RlbWFnb2d1ZXJ5L1NNCitkZW1hZ29neS9NVworZGVtYW5kZXIvTQorZGVtYXJjYXRlL1NOR25ECitkZW1hcmNhdGlvbi9NCitkZW1vY3JhdGljL1VZCitkZW1vbGlzaC9EU0cKK2RlbW9uaWFjL1MKK2RlbW9uc3RyYXRpdmUvVVkKK2RlbW91bnQvNworZGVteXRob2xvZ2lzZS9uCitkZW50YWwvWQorZGVudGlmcmljZS9NUworZGVwZW5kZW5jeS9NUworZGVwcmVjYXRpb24vTQorRGVyYnlzaGlyZS9NCitkZXJlbGljdGlvbi9NUworZGVybWlzL1NNCitkZXJvZ2F0ZS9OVlNHbnlECitkZXNjZW5kL0ZTR0QKK2Rlc2VydC9SR01EUworZGVzZXJ2ZWRuZXNzL00KK2Rlc2lnbnMvQQorZGVzaXJhYmlsaXR5L1VNCitkZXNvcnB0aW9uL00KK2Rlc3BhaXIvU2tERworZGVzcG90LzFXCitkZXRlcmVycworZGV0ZXJtaW5hYmxlL0lQCitkZXRlcm1pbmluZy9LQQorZGV0ZXJtaW5pc20vU00KK2RldGVybWluaXNtJ3MvSQorZGV0ZXJyZW5jZS9TTQorZGV0aHJvbmUvTEcKK2RldG9uYXRpb24vTQorZCfqdHJlCitkZXZpb3VzbmVzcy9TCitkZXZvaWQKK2Rldm90aW9uYWwvUworZGV3YXIKK2RleHRlcgorRGhhYmkvTQorZGlhYm9saWMvWQorZGlhY3JpdGljL01TWQorZGlhZ25vc2FibGUKK2RpYWxlY3RhbAorZGlhbGVjdGljL01TCitkaWFscy9BCitkaWFtb25kL01TREcKK2RpYXJ5LzNNUworZGlhc3RvbGUvV1NNCitkaWF0aGVybXkvTVMKK2RpYXRyaWJlL01TCitkaWNraWVzdAorZGllLWNhc3QKK2RpZmZlcmVudGlhdG9yL01TCitkaWZmaWN1bHR5L01TCitkaWdlc3Rpb24vTVMKK2RpZ2l0YWxpcy9NCitkaWdyZXNzaW9uL00KK0RpbGxvbgorZGlsdXRlL1BZVkdEUworZGluZXR0ZS9NUworZGlwdGVyb3VzCitkaXJlY3Rpdml0eS9NCitkaXJlY3RuZXNzL0lTCitkaXJlY3RvcmF0ZS9TTQorZGlzL00KK2Rpc2FncmVlYWJsZS9TCitkaXNhbGxvdworZGlzY2lwbGVzaGlwL1NNCitkaXNjaXBsaW5lZC9VSQorZGlzY2xvc2VkL1UKK2Rpc2NvZ3JhcGh5L01TCitkaXNjb2xvdXJlZC9NCitkaXNjb21maXQvZAorZGlzY29udGludWUvbk4KK2Rpc2NvdXJhZ2UvTERHaworZGlzY3JlcGFuY3kvTVMKK2Rpc2NyaW1pbmF0aW9uL01JCitkaXNncmFjZXIvTQorZGlzanVuY3RpdmUvUworZGlzbWFsbmVzcworZGlzbWF5L0RTaworZGlzcGFyYXRlL1BTWQorZGlzcGVsL0RHUworZGlzcGVuc2FyeS9TTQorZGlzcGVyc2lvbi9NCitkaXNwb3NhYmxlL1MKK2Rpc3Bvc2l0aW9uL0tNSQorZGlzcHV0YWJsZS9JCitkaXNyZXB1dGUvTQorZGlzc2ltaWxhci9TCitkaXN0YW5jaW5nL2UKK2Rpc3RpbmN0aXZlL1AKK2Rpc3RvcnRpb24vU00KK2Rpc3RyYWN0L0doaWtECitkaXN0cmlidXRpdmUvWVBTCitkaXRoZXIvU2QKK2RpdmlkaW5nL0EKK2RpdmlzaXZlL1AKK0RpeGllbGFuZAorZGl6enkvUFRZRFNHaworZG9jaWxlL1kKK2RvY2t5YXJkL1NNCitEb2Rnc29uL00KK2RvZG8vTVMKK2RvZXNuJ3QKK2Qnb2V1dnJlCitkb2ctYm94Citkb2ctZWFyZWQKK2RvZ2d5LXBhZGRsZQorZG9nLWxlZy9ECitkb2dtYXRpc20vU00KK2RvZydzL2YKK2RvZ3Rvb3RoL00KK2RvZy10b290aAorZG9ndHJvdC9HU0RNCitkb2lseS9TTQorZG8taXQteW91cnNlbGYKK2RvbG9taXRlL1NXTQorZG9tZXMvVworRG9tZXNkYXkKK2RvbWVzdGljYXRlL1NHRAorZG9taW5hdG9yL00KK0RvbWluZ28vTQorRG9ub3ZhbgorZG9vZGxlL1NSR0QKK0Rvb2xleS9NCitkb3BpbmVzcy9TCitkb3JtL1JNUworRG9yb3RoZWEvTQorZG90ZS9TCitkb3VibGUvU1JER1kKK2RvdWJsZS1kZWFsaW5nCitkb3VibGVzcGVhay9TCitkb3VibGV0YWxrCitkb3VidGluZy9ZCitkb3VnaG51dC9HTURTCitkb3VybmVzcy9TCitkb3ZlY290Citkb3ZlY290ZS9NUworZG93bmdyYWRlL1NHRAorZG93bnJpdmVyCitkb3dueS9UCitkb3plbnRoCitkcmFnb24vTVMKK2RyYWluL0dSU01ECitkcmVhZGZ1bC9QCitkcmVhZG5vdWdodC9TTQorZHJlZGdlL0dSTVNECitkcmlmdHdvb2QvU00KK2RyaWxsaW5nL00KK2RyaW5rLzdTR1IKK2RyaXZlbm5lc3MKK2RyaXZld2F5L1NNCitkcm9uZXIKK2Ryb29sL0RSU0cKK2Ryb3AtaW4KK2Ryb3ZlL0dTRFIKK2Ryb3dzeS9QVFkKK2RydWcvRE1HUworZHJ1Z2dpZS9UUworZHJ1bWhlYWQvTQorZHJ1bmtlbm5lc3MvUworRHJ1cnkKK2RyeXdhbGwvR0RTCitEdQorZHVhbC9TCitkdWN0aWxpdHkvTVMKK2R1Y3Qncy9GCitkdWZmZWwvTQorZHVnL1MKK0R1aXNidXJnCitkdW1iYmVsbC9TTQorZHVtcGluZXNzL1MKK0R1bXB0eQorZHVuZS9NUworRHVua2lyay9NCitEdW5zdGFibGUKK2R1cGxpY2F0b3IvTVMKK2R1cnVtL01TCitkdXN0YmluL1NNCitkdXN0bWFuL00KK2R1c3R5L1RQCitkdXRlb3VzL1kKK2R1dGlmdWwvVQorZHluYW1vL01TCitkeXNmdW5jdGlvbmFsCitEWgorZQorZWFjaAorZWFybGluZXNzL1MKK2VhcnRoYm91bmQKK2VhcnRobHkvUFQKK2VhcnRod29yay9TTQorZWFzZWwvU00KK2Vhc2llcgorRWFzdGJvdXJuZS9NCitlYXN0ZXJuL1IKK0Vhc3RlcnRpZGUKK0Vhc3R3b29kCitlYXN5L1VZCitFYm9sYQorRWNjbGVzaWFzdGVzCitlY2NsZXNpYXN0aWNhbAorZWNsZWN0aWMvU1kKK2Vjb25vbWV0cmljcy9NCitFY3VhZG9yL00KK0VkZGllCitlZGd5L1RQWQorZWRpZmljYXRpb24vTQorRWRpbmJ1cmdoL00KK0VkaXRvcgorZWRpdG9yaWFsL3MzUTg5U1kKK0VEVAorRWR3YXJkL01TCitFRUcKK2VmZmVyZW50L1lTCitlZmZlcnZlc2NlL1NHRAorZWZmdXNpb24vTQorZWdnZXIvTQorZWdvY2VudHJpY2l0eS9NUworRWd5cHQvTQorZWlkZXRpYworZWlnaHRwZW5jZQorZWlnaHR5L0hNUworZWlnaHR5LWVpZ2h0L0gKK2VpZ2h0eS1mb3VyL0gKK0VpcmUvTQor6Wxhbi9NCitlbGF0ZXIvTQorZWxkZXJmbG93ZXIKK2VsZWN0L0RBR1M3CitlbGVjdHJvY3V0aW9uL1NNCitlbGVjdHJvZHluYW1pYy9TWQorZWxlY3Ryb2VuY2VwaGFsb2dyYW0vU00KK2VsZWN0cm9tYWduZXQvVzFNUworZWxlY3Ryb25pY3MvTQorZWxlY3Ryb3RoZXJhcHkKK2VsZW1lbnQvU01vCitlbGVwaGFudGlhc2VzCitlbGV2YXRlL0RTbkdOCitFbGdpbgorZWxpZ2liaWxpdHkvSU1TCitFbGlvdAorRWxpc2hhL00KK2VsaXRlL1MzTQorZWxsaXBzZS9TTVcKK0VsbHN3b3J0aAorRWxtaXJhCitlbG9xdWVudC9JWQorRWx0b24vTQorZWx1c2l2ZW5lc3MvUworRWx2aXJhCitlbWFzY3VsYXRlL0RTR05uCitlbWJyb2lkZXIvclpkUworZW1icm9pbC9ETFNHCitlbWVyZ2VudC9TCitlbWVyaXRhZQorZW1lcnkvTVMKK0VtbWFudWVsCitlbXBhbmVsbGVkCitlbXBoYXNlcy9jCitlbXVsYXRvci9TTQorZW5jaGlsYWRhL01TCitlbmNpcmNsZS9ER1NMCitlbmNsb3NlZC9VCitlbmNyeXB0L0dTRAorZW5kZW1pYy9TWQorZW5kbGVzcy9QWQorZW5kbGVzc25lc3MvUworZW5kb3Njb3BlL01TV1oKK2VuZHVyZS9TR2tsRAorZW5kLXVzZXIvUworZW5lcmdldGljL1lTCitlbmVyZ2lzZWQvVQorZW5mcmFuY2hpc2UvRURMU0cKK2VuZnJhbmNoaXNlci9TTQorZW5nb3JnZS9MRFNHCitlbmdyYWluZWQKK2VuZ3JhbS9NCitlbmhhbmNlYWJsZQorZW5pZ21hL1NXTTEKK2Vuam95YWJsZS9QCitlbmxhcmdlYWJsZQorZW5saWdodGVuL2RTTAorZW5vcm1pdHkvU00KK2Vub3VnaAorZW50YW5nbGVycworZW50ZXJwcmlzZS9SU0dNaworZW50aWNlL1NSTGtKR0QKK2VudHJ1c3QvREdTCitlbnVtZXJhdGluZy9BCitlbnVyZXNpcy9NCitlbnZlbG9wL0xyZFMKK2VuenltYXRpYy9ZCitlcGlkZW1pYy9NWVMKK2VwaWRlbWlvbG9neS9TTTMxdworZXBpc2NvcGFjeS9TTQorZXBpc2NvcGF0ZS9TTQorRXBzdGVpbgorZXF1YWxseS9VRgorZXF1aWFuZ3VsYXIKK2VxdWlwL0xEU0cKK2VxdWlwcm9wb3J0aW9uYXRlCitlcXVpdm9jYXRvci9TTQorZXJhZGljYXRvci9TTQorRXJhdG9zdGhlbmVzCitlcmVjdGVyCitlcmVjdGlsZQorZXJlY3Rpb24vU00KK2VyZ29zdGVyb2wvTVMKK0VyaWUKK0VyaWthL00KK0VyaW4KK0VybGFuZy9NCitFcm5lc3QKK0VzYXUKK2VzY2FwZXIvTQorZXNjYXBvbG9neQorRXNraW1vL1MKK0VUQQorZXRhbG9uCitldGhhbmUvTQorRXRoaW9waWEvTQorZXRobmljL1NZCitFdWdlbmlhCitldWdlbmljaXN0CitldW51Y2hzCitldXBob255L1NNCitldmFjdWF0aW9uL00KK2V2ZS95TVMKK2V2ZW5lc3QKK2V2ZW4taGFuZGVkbmVzcworRXZlcmV0dAorZXZlcmdyZWVuL1MKK0V2ZXJoYXJ0L00KK2V2ZXItaW5jcmVhc2luZworZXZlcmxpdmluZworZXZlcm1vcmUKK2V2ZXJ5Ym9keS9NCitleAorZXhhY3RseS9JCitleGNlZWRlci9NCitleGNpc2lvbi9NCitleGNsdXNpb24vTXkKK2V4Y29tbXVuaWNhdGlvbi9NCitleGN1bHBhdGlvbi9NCitleGN1cnNpb25pc3QKK2V4ZW1wbGlmeS9TR1JuTkQKK0V4ZXRlci9NCitleGhhbGF0aW9uL00KK2V4aGliaXQvWFZkU04KK2V4aGliaXRvci9TTQorZXhob3J0ZXIvTQorZXhpZ2VudC9TWQorZXhpZ3VpdHkvTVMKK2V4aXN0ZW50aWFsaXN0L1cKK2V4b2dhbW91cworZXhvc2tlbGV0b24vTVMKK2V4b3RpY2lzbS9TTQorZXhwYW5kYWJpbGl0eS9NCitleHBhbmRlZC9VCitleC1wYXJ0bmVycworZXhwZWN0YW5jeS9NUworZXhwZWN0b3JhdGlvbi9NCitleHBlbmRhYmxlL1MKK2V4cGVuc2UvTUdTRAorZXhwZW5zaXZlL0lQWQorZXhwZXJpbWVudGFsLzMKK2V4cGVydHMKK2V4cGlhdGUvR3lOblNECitleHBpcmVkL1UKK2V4cGlyeS9NUworZXhwbGFpbmVyL1NNCitleHBsYW5hdG9yeQorZXhwbG9yZWQvVQorZXhwb25lbnQvU00KK2V4cG9zZWQvVQorZXgtcHJlc2lkZW50CitleHByZXNzaWJsZS9JWQorZXhwcmVzc2l2ZW5lc3MvU0kKK2V4dG9sL1NERworZXh0b3J0ZXIvTQorZXh0b3J0aW9uYXRlL1kKK2V4dHJhZGl0aW9uL1NNCitleHRyYXBvbGF0ZS9TRG5HTlYKK2V4dHJ1ZGVyL00KK2V5ZWJyb3cvU00KK2V5ZXNpZ2h0L01TCitGYWJlcmfpL00KK2ZhYnJpY2F0aW9uL01LCitmYWNlbGVzc25lc3MKK2ZhY2lhbC9ZUworZmFjdWx0eS9TTQorZmFkZW91dAorZmFlY2VzCitmYWVyaWUvTQorZmFpbC1zYWZlCitmYWlsdXJlL01TCitGYWlyY2hpbGQKK0ZhaXJmaWVsZAorZmFpcmdyb3VuZC9TTQorRmFpcm1vbnQKK2ZhbHNpdHkvU00KK2ZhbWlsaWFyaXplL2sKK2ZhbnRhc2lhL01TCitmYXJhZC9NUworZmFyY2UvdzFNUworZmFyLWZsdW5nCitGYXJnbworRmFycmVsbAorZmFydGhlcgorZmFzCitmYXR0ZW4vZHJTCitmYXR1b3VzL1BZCitmYXR3YS9NUworZmF6ZS9ER1MKK2ZlYXJmdWwvVFAKK2ZlYXRoZXItaGVhZC9ECitGZWIKK2ZlZWJsZW5lc3MvUworZmVlZHMvYworZmVlbGluZ2x5L1UKK2ZlaWduL1JHU0QKK2ZlaXN0eS9UCitGZWxpeHN0b3dlL00KK2ZlbWluaW5lL1BZUworZmVtaW5pc3QvU00KK2ZlbXVyL01TCitmZW5jZXBvc3QvTQorZmVybWVudGF0aW9uL00KK2Zlcm9jaW91c25lc3MvUworRmVycmFyaS9NUworRmVycmlzCitmZXJyb2VsZWN0cmljCitmZXN0ZXJpbmcKK2Zlc3RpdmVuZXNzL1MKK2ZldGEvTVMKK2ZldGlzaC9NM1MKK2ZldHR1Y2NpbmUvUworZmlhc2NvL1NNCitmaWJyZS9NU0QKK2ZpYnJlYm9hcmQvU00KK2ZpYnJvdXMvUFkKK2ZpYnVsYS9NCitmaWN0aW9uL01TT28KK2ZpY3RpdGlvdXMvWVAKK2ZpY3RpdmUvWQorZmlkZGxlL1JHWU1KRFMKK2ZpZGVsaXR5L0lNUworZmllL3kKK2ZpZWYvTVMKK2ZpZXJ5L1RZUAorZmllc3RhL01TCitmaWZ0eS1uaW5lL0gKK2ZpZnR5LXNlY29uZC9TCitGaWdhcm8KK2ZpZ3VyYXRpb25zLzQKK2ZpZ3VyaW5nL1MKK0ZpamkvTQorZmlsZS9DYVNBR0QKK2ZpbGV0J3MKK0ZpbGxtb3JlCitmaWxtLW1ha2VyL1MKK2ZpbHRoLzJaU016CitmaW4vRFpHb3dNZFMKK2ZpbmFsaXR5L1NNCitmaW5hbmNpZXIvU0RHTQorRmlubmVnYW4KK2ZpcmUtZmlnaHRlci9TTQorZmlyZSdzCitmaXJld2FsbC9TCitmaXJpbmcvTVMKK2Zpcm1lcgorZmlzaG5ldC9TTQorZmlzaC1wbGF0ZS9TCitmaXNzdXJlL0dEU00KK2ZpeGFibGUKK2ZpeHR1cmUvTVMKK2ZsYWdlbGx1bS9NCitmbGFnZ2luZy9ZVQorZmxhZ3N0b25lL1NNCitmbGFtYm95YW50L1kKK2ZsYW5rL2VTREcKK2ZsYXBzL00KK2ZsYXNoYmFjay9NUworZmxhc2hjYXJkL1MKK2ZsYXNoZ3VuL1MKK2ZsYXQtaGVhZC9NCitmbGF0d2FyZS9NUworZmxlYWJhZy9TTQorZmxlY2tlcgorZmxleHVyZS9NCitmbGlnaHRpbmVzcy9TCitmbGluY2hlci9NCitmbGlydGF0aW91c25lc3MvUworZmxvcmEvTVNvCitmbG9yaWRuZXNzL1MKK2Zsb3RhdGlvbi9TTQorZmxvdHNhbS9TTQorZmxvdXQvR1JEUworZmx0CitmbHVvcml0ZS9NUworZmx1c3Rlci9kUworZmx1dGVsaWtlCitmbHV4J3MvSQorZmx5Ymxvd24KK2ZseWVyL1NNCitmbHloYWxmCitmbydjJ3MnbGUKK2ZvY3VzZWQvVQorZm9ldGlkL1kKK2ZvZXR1cy9NUworZm9pc3QvRFNHCitmb2xpby9TR01ECitmb2xrcy9aMgorZm9say13YXlzCitmb25kYW50L01TCitGb290ZQorZm9vdGluZy9NCitmb290bWVuL00KK2Zvb3RyYWNlL1MKK2Zvb3Rzb3JlCitmb3BwaXNobmVzcy9TCitmb3Jib3JlCitmb3JlZ29lcworZm9yZW1vc3QKK2ZvcmVwZW9wbGUKK2ZvcmVzZWUvQkdSUworZm9yZXNlZWFibGUvVQorZm9yZXN0ZWQvQUMKK2ZvcmVzdHMvQUMKK2ZvcmV0YXN0ZS9NR1NECitmb3JnZXJ5L1NNCitmb3JnZSdzCitmb3Jnby9SRworZm9yZ290dGVuL1UKK2ZvcmsvRDZHU00KK2ZvcmtlcgorZm9ybWFsL3FzUTg5UDMtCitGb3JtaWNhCitmb3JtdWxhL01TbgorRm9ycmVzdGVyCitmb3JzYWtlbgorZm9ydC9NWlMKK2ZvcnRoY29taW5nL1UKK2ZvcnR1bmF0ZS9VWVMKK2ZvcnR5LXNlY29uZC9TCitmb3J3YXJkLWxvb2tpbmcKK2ZvdW50L01TCitmb3VudGFpbi9TRE1HCitmb3VudGFpbi1oZWFkL1NNCitmb3VycGVubnkKK2ZvdXJzb21lL01TCitmb3ZlYWUKK2Zvd2xlci9NCitmb3dsLXJ1bgorZm94ZWQvZQorZm94aG9sZS9NUworZm94LWh1bnRpbmcKK2ZveHRyb3QvRE1HUworZnJhY3Rpb25hdGlvbi9NCitmcmFnbWVudC9OR01TbkQKK2ZyYWlsdHkvU00KK2ZyYW5jaXVtL00KK0ZyYW5jaworZnJhbnRpYy9ZUAorZnJhdHJpY2lkZS9TTQorZnJhdWR1bGVudC9ZCitmcmVlZG9tL1NNCitmcmVlaG9sZC9SU00KK2ZyZWUtc3RhbmRpbmcKK0ZyZWV0b3duL00KK2ZyZWUtd2hlZWwvREdTCitmcmVlemUtZHJpZWQKK2ZyZW5ldGljL1kKK2ZyZXNjb2VzCitmcmV0Ym9hcmQKK2ZyZXRzYXcvUworZnJpYXJ5L01TCitmcmllbmRsaW5lc3MvU00KK2ZyaWVuZGx5L1RVCitmcmllbmRzaGlwL01TCitmcmlnaHRmdWxuZXNzL1MKK2ZyaWdpZC9QWQorZnJpbmdlL0lER1MKK0ZyaXNiZWUKK2ZyaXNreS9UUAorZnJpdHRlcmVyL00KK2Zyb250cnVubmluZworZnJvbnQncworZnJvc3QvQ1NHRAorZnJvd3ppbmVzcy9TCitmcnVjdGlmeS9EU0cKK2ZydWl0L1g2ak5kcFNNCitmcnVzdHJhdGVyL00KK2Ytc3RvcC9TCitmdC9DCitGVEMKK2Z1Y2svRFJTTUdKCitmdWVsL01SR0RTCitmdWxsZXN0CitmdWxsLXdhdmUKK2Z1bGx5LWZsZWRnZWQKK2Z1bXkvVAorZnVuY3Rpb24vU015R29wRAorZnVuY3Rvci9TTQorZnVuZGFtZW50YWxpc20vTVMKK2Z1bmRob2xkZXJzCitmdW5pY3VsYXIvU00KK2Z1cm5pc2hpbmcvTQorZnVydGhlcm1vc3QKK2Z1c3MvU0QyWk1HegorZnVzc2VyL00KK2Z1dAorR2Fib3JvbmUvTQorR2FlbC9XCitnYWdnbGUvU0dECitnYWwvR2tETQorR2FsYXRpYW5zCitHYWxpbGVlCitHYWxsaWNpc20KK2dhbGxvd3MvTQorZ2FsdmFuaXNlL25TREcKK2dhbHZhbml6ZS9OblNERworZ2FsdmFub21ldGVyL01TVworZ2FuZGVyL2RNUworZ2FuZy9ETUdTWQorZ2FuZ2xhbmQvTVMKK2dhbmdsaWEvTQorZ2FubmV0L01TCitnYW9sL1JER01TCitHYXJjaWEvTQorR2FyZG5lci9NCitHYXJldGgvTQorZ2FybGFuZC9TRE1HCitnYXNlb3VzL1lQCitnYXNzeS9QVAorZ2FzdHJpdGlkZXMKK2dhc3Ryb2VudGVyaXRpcy9NCitnYXN0cm9ub21lL1oxU3dNCitnYXRld2F5L01TCitnYXRoZXJlZC9BSQorZ2F0aGVyaW5nL00KK2dhdWNoZW5lc3MvUworZ2F1Y2hvL01TCitnYXVudG5lc3MvUworZ2F3a2luZXNzL1MKK2dlYXJib3gvTVMKK2dlZS9kR01TCitnZWlzaGEvTQorZ2VsYXRpbi9NUworZ2VsYXRpbm91cy9QWQorZ2VuL0dECitnZW5lcmEvb25XTTFWdgorZ2VuZXJpYy9TCitnZW5lcm91c25lc3MvUworR2VuZXZhL00KK2dlbmlhbGx5L0YKK2dlbm9jaWRlL1NNCitnZW50ZWVsL1BZCitnZW50bGVuZXNzL1MKK0dlb2ZmcmV5L00KK2dlb2dyYXBoZXIvTVMKK2dlb21ldHJpY2lhbi9NCitHZXJhbGRpbmUKK2dlcmlhdHJpY3MvTQorR2VybWFudG93bgorR2VybWFueS9NCitnZXJvbnRvbG9neS8zU013CitnZXJ1bmQvTVMKK2dleXNlci9kTVMKK2dob3N0LXdyb3RlCitHSFEKK0dpZmZvcmQKK2dpZy9HTVNECitnaWxkL1JKR0RTCitnaW1sZXQvTVMKK0dpbmEvTQorZ2luZ2VybHkvUAorZ2lybGllL00KK2dpcmxpc2gvUFkKK2dpdmluZy9hWQorZ2xhZGlhdG9yL1NNCitnbGFtb3VyL0dNRFMKK2dsYW5kZXJzL00KK2dsYXJlL2tTREcKK2dsYXNzZnVsL01TCitnbGFzcy1tYWtlci9NUworZ2xhc3MtcGFwZXIKK2dsYXVjb21hL01TCitnbGltL00KK2dsb2F0ZXIvTQorZ2xvYnVsYXIvWVAKK2dsb2J1bGUvU00KK2dsb3NzL0RNWkdTejIKK2dsb3R0YWxpemF0aW9uL00KK2dsb3ctd29ybS9TTQorZ2x1ZS1zbmlmZmluZworZ2x1aWVyCitnbHVtbmVzcy9TCitnbHV0ZXVzCitnbHljZXJvbGl6ZWQvQworZ2x5Y2luZS9NCitHTU8KK2duZWlzcy9NUworZ25vbWVsaWtlCitnbm9zdGljCitnb2F0aGVyZC9TTQorZ29kY2hpbGQvTQorR29kLWZvcnNha2VuCitnb2RsZXNzbmVzcy9TCitnb2Rzb24vTVMKK2dvbGRicmljay9NRFJTRworZ29sZGZpc2gvU00KK0dvbGdvdGhhCitHb2xpYXRoL00KK2dvbmFkYWwKK0dvbmR3YW5hbGFuZAorZ29ub2NvY2N1cworZ29ub3JyaG9lYS9NCitnb29kL1lQWlMKK0dPUAorR29yZW4vTQorR29yZ29uem9sYQorZ29zaGF3ay9TTQorZ291cmQvTTZTCitnb3Zlcm5tZW50L2EKK0dQU1MKK2dyYWRlcy9BCitncmFkdWFsL1lQMworZ3JhZHVhbGlzdAorZ3JhZHVhbG5lc3MvUworZ3JhbW1hcmlhbi9NUworZ3JhbmQvVFlTUAorZ3JhbmRtYXN0ZXIvU00KK2dyYW50c21hbnNoaXAvUworZ3JhcGhlbWUvTQorZ3JhcGhpYy9QUworZ3JhcGhpY3MvTQorZ3JhcG5lbC9TTQorZ3Jhc3BpbmcvUAorZ3Jhc3NlcnMKK2dyYXRlZnVsbHkvVQorZ3JhdHVpdG91cy9QWQorZ3Jhdml0YXMKK2dyYXplcy9jCitncmVhc2UncworZ3JlYXRoZWFydGVkCitncmVlZC8yWlN6TQorZ3JlZWRpbmVzcy9TCitHcmVlbGV5CitHcmVlbmUvTQorZ3JlZW5ob3JuL01TCitncmVlbmluZy9NCitHcmVlbndpY2gKK0dyZWVyL00KK0dyZWlnCitHcmVuYWRpYW4vUworR3Jlbm9ibGUKK2dyZXcvY0FlCitncmV5YmVhcmQvTQorZ3JpbGwvR1NECitncmltYWNlL1JNRFNHCitHcmltbQorZ3Jpbm5lci9NCitncmlwL3JSZEdNRFMKK2dyaXNhaWxsZQorZ3JpenpseS9UUworZ3JvZ2d5L1RQCitHcm9zdmVub3IKK0dydW1tYW4KK2dydW1waW5lc3MvUworR3J1eehyZQorZydzCitndWFjYW1vbGUvU00KK0d1YWRhbHVwZQorR3VlcnJlCitHdWVycmVybworZ3Vlc3N0aW1hdGUvR0RTCitndWVzdC9ER01TCitHdWdnZW5oZWltCitndWlkYW5jZS9NYVMKK0d1aWRvCitndWlsZWxlc3NuZXNzL1MKK2d1aXRhci8zTVMKK2d1bS9HMkRaTVMKK2d1bWJvaWwvU00KK2d1bmZpZ2h0L1JNUworZ3Vuay9NWlMKK2d1bm1hbi9NCitndW5ueS9NUworZ3VucnVubmVyL01TCitndW5zaGlwL1MKK2d1c2h5L1QKK2d1c3RlZC9FCitndXRzeS9QVAorZ3V0dGEKK2d1dHRlci9kCitndXR0ZXJzbmlwZS9TTQorZ3ltbm9zcGVybS9TTQorZ3luYWVjb2xvZ2ljYWwvTVMKK2d5bmFlY29sb2d5L1Mzd00KK2d5cHBpbmcKK2hhYmVhcworaGFiaWxpbWVudC9NUworaGFiaXRhdC9NUworaGFiaXRlZC9JRgoraGFiaXR1YWxuZXNzL1MKK2hhYml0dWF0ZS9OblNERworaGFlbW9waGlsaWEvTVMKK2hhZW1vcnJob2lkL01TCitoYWZuaXVtL00KK2hhZnQvTURHUworSGFpbGkKK2hhaWxzdG9ybS9TTQoraGFqamVzCitoYWxlL1NJREcKK2hhbGYtYmFrZWQKK2hhbGYtYnJlZWQvU00KK2hhbGYtbWFzdAoraGFsZi1tb29uCitoYWxmbmVzcworaGFsZi10aW1iZXJlZAoraGFsZi15ZWFybHkKK2hhbGwtc3RhbmQvUworaGFuZGJvb2svU00KK2hhbmRyYWlsL01TCitoYW5kcy9VYworaGFuZHNoYWtlci9NCitoYW5kc29tZWx5L1UKK2hhbmRzcHJpbmcvU00KK2hhbmdvdXQvU00KK0hhbm92ZXIKK2hhcGxvaWQvUworaGFwcHkvVFVZCitoYXJkZW4vcmRTCitoYXJkaW5lc3MvUworaGFyZG5lc3MvUworaGFyZC1vbgoraGFyZC1wcmVzc2VkCitoYXJlYmVsbC9TTQoraGFyZW0vTVMKK0hhcmdyZWF2ZXMKK2hhcm1sZXNzbmVzcy9TCitIYXJvbGQvTQoraGFycm93L01HRFMKK0hhcnZhcmQKK2hhcnZlc3RtYW4vTQorSGFyd2VsbAorSGFyd2ljaAorSGF0dGllCitoYXVsZXIvYworSGF1c2VyCitIYXZhbmEvTQoraGF2ZW4ndAoraGF3L0dNRFMKK0hhd2xleQorSGF5ZGVuL00KK2hheWVyCitIYXluZXMKK2hheXN0YWNrL01TCitIYXl3YXJkCitoYXl3aXJlCitoZWFkLWh1bnQvREdTUgoraGVhZGxpZ2h0L01TCitoZWFkbGluZS9EU01HCitoZWFkcGhvbmUvU00KK2hlYWRyZXN0L01TCitoZWFkcm9vbS9TTQoraGVhZHN0YWxsL01TCitoZWFkd2F0ZXIvUworaGVhbC9ER1JTCitoZWFsZWQvVQoraGVhcnRhY2hlL1NNCitoZWFydGxhbmQvTVMKK2hlYXJ0eS9UU1AKK2hlYXRwcm9vZgoraGVhdHdhdmUKK2hlYXZlL1JTR1pECitoZWF2eS1kdXR5CitIZWJyYWlzbQoraGVjdG9tZXRyZS9TTQoraGVlZGZ1bC9QCitIZWdlbGlhbgorSGVpZGVsYmVyZworaGVpZ2gKK2hlbGQKK0hlbGVuL1NNCitoZWxpdW0vTQoraGUnbGwKK0hlbGxlbmlzZS9ER25TCitIZWxsZW5pemUvREdTCitIZWxsZXIKK2hlbG0vbVNHTUQKK0hlbG1ob2x0egoraGVsdGVyCitoZW5jZWZvcnRoCitoZW5yeS9NCitoZXAKK2hlcGF0aXRpcy9NCitoZXJiYWxpc20KK2hlcmJpY2lkZS9TTQoraGVyYml2b3JlL1NNCitIZXJjdWxlcworaGVyZXN5L1NNCitoZXJpdGFiaWxpdHkKK2hlcml0b3IvSU0KK2hlcm1hcGhyb2RpdGlzbQorSGVybWFwaHJvZGl0dXMKK2hlcm1pdGFnZS9TTQoraGVyb2VzCitoZXJvaWMvUworaGVyb2luZS9NUworSGVyc2NoZWwKK0hlc3Rlci9NCitoZXRlcm9zZXh1YWxpdHkvU00KK2hld24KK2hleGFnb25hbAoraGV5CitIaWFsZWFoCitoaWRkZW4vVQoraGlkZW91c25lc3MvUworaGlnaC1ib3JuCitoaWdoZmFsdXRpbgoraGlnaC1mbHllci9TCitoaWdoLWhhbmRlZC9QWQoraGlnaC1sZXZlbAoraGlnaG5lc3MvUworaGlsbC8yTUdZUworaGlsbHdhbGtlcgoraGlsbHkvUFQKK0hpbGx5ZXIKK0hpbHRvbgoraGluZC9SCitIaW5kZW5idXJnCitIaW5kdXN0YW4vTQoraGluZ2UvVVNHRAorSGlwcG9jcmF0aWMKK2hpcHBvZHJvbWUvU00KK2hpcnN1dGUvUAoraGlzdAoraGlzdG9jaGVtaWMKK2hpdGhlcnRvCitob2FyeS9UUAorSG9iYnMKK2hvaXR5LXRvaXR5Citob2xkYWxsL1NNCitIb2xsYW5kL00KK2hvbGxvdy9QRFRHU1kKK0hvbG1hbi9NCitIb2x0Citob21pbHkvU00KK2hvbWluaWQvU00KK2hvbW9sb2d5L1NNdworaG9tb3RvcHkKK2hvbXVuY3VsdXMKK0hvbmRhL00KK2hvbmVyL1MKK2hvbmV5YmVlL1NNCitob25vcmlmaWMKK2hvbm91ci9FN01SbERHUworaG9vZXkvTVMKK0hvb3NpZXIKK2hvcHBsZWQKK0hvcmFjZQoraG9ycmlibGVuZXNzL1MKK2hvcnJpZnkvMVNXR0RrCitIb3JzaGFtCitob3JzaWVzdAoraG9ydGF0b3J5Citob3NlL00KK2hvc3BpdGFibGUvWUkKK2hvdGVsL21TTQoraG91bmQvR1NNRAoraG91c2VyCitob3VzaW5nJ3MKK0hvd2FyZAorSG93ZWxsCitob3lkZW4vZE1TCitodG1sCitodWJidWIvTQoraHVicmlzL01TCitIdWRzb24KK2h1ZmYvR01aRFN6MgoraHVsbGluZy9NCitodW1hbml0YXJpYW4vUworaHVtaWxpYXRpb24vTQoraHVtbXVzL1MKK2h1bW91cmxlc3NuZXNzL1MKK0h1bi9TCitIdW50aW5nZG9uL00KK0h1bnRpbmdkb25zaGlyZS9NCitodW50cmVzcy9TTQoraHVybC9EWVNHUgoraHVybHktYnVybHkKK2h1cnJpZXIKK2h1c2JhbmRyeS9NUworaHVzaC9ER1MKK0h1eGxleQoraHlkcmF0ZWQvQUMKK2h5ZHJvZ2VuL25NTgoraHlkcm9nZW5hdGluZy9DCitoeWRyb21ldGVyL1NNCitoeWRyb3RoZXJhcHkvTVMKK2h5Z2llbmljL1UKK2h5cGVyY2VsbHVsYXJpdHkKK2h5cGVyc2Vuc2l0aXZlL1AKK2h5cGVyc2Vuc2l0aXZpdHkvTVMKK2h5cGhlbmF0ZS9TR0QKK2h5cG5vc2lzL00KK2h5cG90aGFsYW1pYy9ZCitoeXBvdGhlc2lzL2Q4ck05UVMKK2h5cG94YWVtaWEKK0liZXJpYW4vU00KK2ljZWJvdW5kCitpY29uL1NXTQoraWNvbm9jbGFzdC9NV1MKK2ljdHVzL1NNCitJJ2QKK2lkZWFsaXNtL1NNCitpZGlvc3luY3Jhc3kvU00KK0lnb3IvTQoraWxsdW1pbmF0aW9uL00KK2lsbHVzaW9uYXJ5CitpbGx1c2l2ZS9QWQorSSdtCitpbWFnaW5hdGl2ZS9VWQoraW1hZ2luYXRpdmVuZXNzL1UKK2ltbWFuZW50L1kKK2ltbWVkaWF0ZW5lc3MvUworaW1tZW5zZS9ZUFQKK2ltbWVyc2lvbi9NCitpbW11bm9hc3NheS9NCitpbW11dGFibGUvUAoraW1wYWxhL00KK2ltcGFsZXIvTQoraW1wYXNzaWJpbGl0eS9TTQoraW1wZWFjaGVkL1UKK2ltcGVjY2FiaWxpdHkvU00KK2ltcGVjdW5pb3VzbmVzcy9TCitpbXBlcmlhbGlzbS9TTQoraW1wZXJtZWFibGUvWQoraW1wbGVtZW50YXRpb24vU00KK2ltcGx5L1Z1R052bmgKK2ltcG9zaW5nL1kKK2ltcHJlZ25hYmxlL1BZCitpbXByZXNzZWQvVQoraW1wcmVzc2l2ZS9VCitpbXByb3Zpc2F0aW9uYWwKK2ltcHVsc2l2ZS9QCitpbXB1bml0eS9TTQoraW5icmVlZC9TR0oKK2luY2FudGF0aW9uL00KK2luY2FudGF0b3J5CitpbmNsaW5hdGlvbi9FTQoraW5jb25ncnVlbmNlCitpbmNvbnNvbGFibGUvUFkKK2luY29udGVzdGFiaWxpdHkvTVMKK2luY29ycnVwdGlibGUvU1kKK2luY3JlYXNhYmxlCitpbmN1YmF0ZS9ETlNHVm4KK2luY3VidXMvTQoraW5jdXJpb3VzCitpbmN1cnMvWE4KK0luZC4KK2luZGVidGVkbmVzcy9TCitpbmRlZmluYWJsZS9QUworaW5kZW1uaWZ5L05EblNHCitJbmRpYW5hL00KK0luZGlhbmFwb2xpcworaW5kaWdlbmNlL1NNCitpbmRpZ25hbnQvWQoraW5kaWduYXRpb24vU00KK2luZGlyZWN0L0dQCitpbmRpc2NyaW1pbmF0ZS9QWQoraW5kb2N0cmluYXRvci9TTQoraW5lcHRpdHVkZS9NUworaW5ldml0YWJsZS9ZUAoraW5leGFjdC9QCitpbmV4aGF1c3RpYmxlL1lQCitpbmV4cGVkaWVuY2UvTQoraW5leHByZXNzaWJsZS9TUAoraW5mYWxsaWJsZQoraW5mZWN0L0VER0FTCitpbmZlY3RlZC9VCitpbmZlY3RlcgoraW5mZWN0aW91cy9ZUAoraW5mZXJuby9NUworaW5maXJtYXJ5L1NNCitpbmZpeC9NCitpbmZsdWVudGlhbC9ZCitpbmZsdWVuemEvTVMKK2luZm9ybS9hTkdEUworaW5mcmEtcmVkL00KK2luZnJpbmdlL0wKK0luZ2Vyc29sbAoraW5nZXN0L0RHYlZTCitpbmhhYml0YW5jZQoraW5oZXJlbnQvWQoraW5oZXJpdG9yL1MKK2luaGliaXRpbmcvVQoraW5ob2xkL0pHCitpbml0aWFsbmVzcworaW5pdGlhdGVkL1UKK2lua2luZXNzL1MKK2lua3kvVFAKK2lubWF0ZS9TTQoraW5ub2NlbnQvVFlTCitpbm5vY3VvdXMvUFkKK2lubnVlbmRvL0RHTVMKK2lubnVlbmRvZXMKK2lub3BlcmF0aXZlCitpbnF1ZXN0CitpbnF1aXJlL2tSREdaCitpbnF1aXNpdGlvbi9Tb00KK2luc2F0aWFibGUvUFkKK2luc2VjdGljaWRhbAoraW5zaWRlL1IKK2luc2lnaHQvNmoKK2luc2ludWF0b3IvU00KK2luc2lzdGVudC9ZCitpbnNvbXVjaAoraW5zcGVjdG9yL1NNCitpbnN0L2cKK2luc3RhbG1lbnQvTVMKK2luc3RlYWQKK2luc3RlcAoraW5zdWxhdGUvRFNuTkcKK2luc3VybW91bnRhYmxlL1kKK2ludGFuZ2libGUvTQoraW50ZWxsaWdlbmNlcidzCitpbnRlbGxpZ2VudHNpYS9NUworaW50ZWxsaWdpYmxlL1VZCitpbnRlbXBlcmF0ZS9QCitpbnRlbnNpZmljYXRpb24vTQoraW50ZXIvRUxERworaW50ZXJheGlhbAoraW50ZXJicmVkCitpbnRlcmNlZGUvR1NECitpbnRlcmNlbnNhbAoraW50ZXJjb21tdW5pY2F0ZS9ER25OUworaW50ZXJjb25uZWN0L0dEaVMKK2ludGVyZmVyb21ldHJ5L00KK2ludGVybGV1a2luL1MKK2ludGVybG9jay9HU0QKK2ludGVybG9ja2VyL00KK2ludGVybHVkZS9NUworaW50ZXJtZWRpYXJ5L01TCitpbnRlcm1lZGlhdGlvbi9NCitpbnRlci1tb2RhbAoraW50ZXJtb2R1bGF0ZS9TRAoraW50ZXJuZWNpbmUKK2ludGVybmVlL1NNCitpbnRlcm5pc3QncworaW50ZXJvZmZpY2UKK2ludGVycGVuZXRyYXRlcworaW50ZXJwb2xhdGlvbi9NCitpbnRlcnByZXRhdGl2ZS9ZCitpbnRlcnNwZWNpZXMKK2ludGVydmVudGlvbmlzdC9TCitpbnRlcnZpZXcncy9LCitpbnRlcndlYXZlL1NHCitpbnRlc3RhdGUvUworaW50cmEKK2ludHJhbGluZQoraW50cmFtdXNjdWxhci9ZCitpbnRyYW5zaWdlbmNlL01TCitpbnRyYXV0ZXJpbmUKK2ludHJpbnNpYy9ZUworaW51bmRhdGlvbi9NCitpbnZlbnRpdmUvUAoraW52ZW50b3J5L01EU0cKK2ludmVzdHMvQQoraW52ZXRlcmFjeS9TTQoraW52aWRpb3VzL1lQCitpbnZpZ29yYXRpb24vTUEKK2ludml0ZXIvTQoraW52dWxuZXJhYmlsaXR5L00KK2lvbi9zOU1XcVE4LVMKK2lwZWNhYy9TTQoraXBzbworSXJhCitJcmVuZQoraXJrL0RTRworaXJvbndvcmsvTVMKK2lycmVtZWRpYWJsZS9QWQoraXJyaXRhdGUvQm5Ta05oVkRHCitpcnJ1cHQvREdWUworSXJ2aW5nCitJc2FiZWwvTQoraXNsZXQvTVMKK2lzb21lci9NUworaXNvdGhlcm1hbAorSXNyYWVsaXRlL1NNCitJU1NOCitpc3N1YW5jZS9TTQoraXNzdWluZy9BCitpdGVyYXRpb24vTQorSXZhbi9NCitKCitqYWNrcG90L01TCitKYWNrc29uL01TCitKYWNrc29udmlsbGUKK2phZGVkL1AKK0phZ2dlcgoramFndWFyL01TCitqYW1iYWxheWEvU00KK2phcGUvR1NNRAoramFyL01HNkpTRAoramFycmluZy9ZCitKYXlhc3VyaXlhCitqZXJreS9UUAoramVycnkvTQoramVycnktYnVpbHQKK2plc3MvTQoramV0L01ER1MKK2pldHNhbS9NUworamV0LXNldHRlZAoramliZS9TCitqaXR0ZXJidWcvUkdTRE0KK0pvL00KK2pvYmxlc3MvUAoram9jdW5kaXR5L01TCitKb2RpZQoram9nL1JKRFNHCitqb2ludGluZy9FCitqb3VuY2UvU0dECitqb3VybmFsaXNtL1NNCitqb3VybmFsaXN0L1cKK0pvdmUKK2pveS9wTURHNmpTCitqb3lvdXMvWVAKK2p1YmlsZWUvU00KK2p1ZGdlbWVudC9vCitqdWRnZW1lbnQtc2VhdAoranVnZ2xlL1J5U0RHCitqdWljaW5lc3MvUworSnVsaWFuYQoranVsaWVubmUvUworanVtcHN1aXQvUworSnVwaXRlci9NCitqdXN0aWZpYWJseS9VCitLYWZrYQora2FmdGFuCitLYWhuL00KK0thbGFtYXpvbworS2FubmFkYQorS2Fub2EvTQorS2FzcHJvd2ljegora2F6b28vU00KK0tERQorS2VubmV0aAorS2VubnkKK0tlbm9zaGEKK2tlcm5pbmcKK0tlcnIvTVoKK2tldG9uZS9NCitrZXRvc2lzL00KK0tld2Fza3VtCitrZXlib2FyZGlzdC9TCitLR0IKK0toYWJhcm92c2sKK2tpY2tiYWNrL01TCitraWRkaWUvUworS2llZmZlci9NCitraWYKK2tpbG9ncmFtbWUvUwora2luZGxlci9NCitraW5nYmlyZC9NCitraW5nLXNpemUvRAorS2luZ3N0b3duCitLaW5nd29vZAora2lua2luZXNzL1MKK0tpd2FuaXMKK2tsZXB0b21hbmlhYy9TTQora25lZS1qZXJrCitrbnVja2xlZHVzdGVyL1MKK0tvY2gKK0tvZGFrL00KK0tvZGlhawora29va2luZXNzL1MKK0tvcmVhL00KK0tvd2xvb24KK0tyZWJzCitLcnVnbWFuCitrdWRvcy9NCitrdXJ0b3Npcy9NCitrVwora3lsZS9TTQorS3l1c2h1L00KK2xhYmVsbGVkL1UKK2xhY3RlYWwKK2xhY3VuYS9TTQorbGFkL01SREpTRworbGFkbGUvR1NNRAorbGFnZ2FyZC9QWU1TCitsYWduaWFwcGUncworTGFnb3MvTQorTGFncmFuZ2lhbi9NCitsYWlkL0FhY2YKK2xha2UvU00KK0xhbG8KK2xhbS9HU0QKK2xhbWJraW4vU00KK2xhbXBvb24vU0RHTQorbGFuY2V0L01TCitsYW5kd2FyZC9TCitMYW5nL00KK2xhbmd1aXNoZXIvTQorbGFuay9UMlBZWgorbGFua2luZXNzL1MKK2xhbm9saW4vU00KK2xhcGRvZy9TCitsYXBwZXQvTVMKK2xhcmQvRk1TCitsYXJkeS9UCitsYXJnZS9UUFkKK0xhcmluZQorTGFyc2VuCitsYXJ5bngvTQorbGFzc2l0dWRlL01TCitMYXN6bG8vTQorbGF0ZS9QVFkKK2xhdGV4L1NNCitMYVRlWC9NCitsYXRoZXIvZAorbGF0aGVyZXIvTQorbGF0aXR1ZGluYXJpYW4vUworbGF0aXR1ZGluYXJ5CitMYXRyb2JlL00KK2xhdHRlL1MKK2xhdWRlci9NCitsYXVuY2hpbmcvUworbGF2YWdlL1NNCitsYXdicmVha2VyL1NNCitsYXdmdWxuZXNzL01TCitMYXdzb24KK2xhd3llci9ZTWRTCitsYXhuZXNzL1MKK2xheW1lbi9NCitsYXppbmVzcy9TCitsZS9HejMKK2xlYWd1ZS9GTURHUworbGVhcHQKK2xlYXRoZXJuCitMZWRhCitMZWUKK2xlZnR3YXJkL1MKK2xlZ2FjeS9TTQorbGVnYWxpdHkvSVNNCitsZWdhdGUncy9DCitMZWdlbmRyZS9NCitsZWdpYmxlL0lZCitsZWdpc2xhdGl2ZS9TCitsZWdyb29tL1NNCitMZWlnaHRvbgorbGVpc3VyZWxpbmVzcy9TCitsZWl0bW90aWYvTVMKK0xlbGFuZC9NCitsZW1tZS9KRworbGVtdXIvU00KK0xlbi9NCitsZW5ndGhpbmVzcy9TCitsZW5ndGh3aXNlCitsZW5pZW5jeS9TTQorTGVubworTGVub3JlL00KK2xlbnMvU0RHTQorbGVuc2VyL1MKK0xlb21pbnN0ZXIKK2xlb3BhcmQvU00KK2xlb3BhcmRlc3MvTVMKK2xlc3Nvci9NUworbGV0dGVycHJlc3MvTVMKK2xldmVsLWhlYWRlZG5lc3MvUworTGV3aXMvTQorTGV4aW5ndG9uCitsaWFiaWxpdHkvU0FNCitsaWJhdGlvbi9NCitMaWJlcmFjZQorbGliZXJhbGl0eS9TSU0KK2xpYmVyYWxpemF0aW9uL00KK2xpYmVyYWxuZXNzL1NNCitsaWJlcmF0b3IvTUNTCitsaWJyYXJ5L1NNCitMaWJyZXZpbGxlL00KK2xpY2VuY2UvU00KK2xpY2Vuc2FibGUKK2xpY2Vuc29yL00KK2xpY2hlbm9sb2d5CitMaWNoZmllbGQKK2xpY2l0L0lZCitsaWNrZXJpc2gKK2xpZmUvUnBNCitsaWZlLWFuZC1kZWF0aAorbGlmZXNwYW4vUworbGlnYW5kL01TCitsaWdodGVuaW5nL00KK2xpZ2h0LWhlYWRlZAorbGlnaHRzaGlwL1NNCitMaWxsaXB1dAorbGltYmVyL2RVUworbGltZWFkZS9NUworbGltcGVyL00KK2xpbmVhZ2UvTVMKK2xpbmVmZWVkCitsaW5rLXVwL1MKK0xpbm4vTQorTGludG9uCitsaW9uL1FTTS1zCitsaXBhc2UvTQorTGlwc2NoaXR6L00KK2xpcQorbGlxdWlkaXR5L1NNCitsaXNwL1JNU0dECitMaXN0ZXIvU00KK2xpc3RsZXNzbmVzcy9TCitsaXRhbnkvTVMKK2xpdGhvZ3JhcGh5L01TCitMaXRodWFuaWFuCitsaXRpZ2FudC9NUworbGl2ZXJ3b3J0L01TCitsaXZpbmcvZUEKK0xpdmluZ3N0b24KK0xpdm9uaWEKK0xqdWJsamFuYS9NCitsbGFtYS9NUworTExCCitsb2FkZWQvQUtjVQorbG9iL01SREdTWgorbG9idWxhci9ZCitsb2J1bGFyaXR5Citsb2NhdGl2ZQorbG9jYXRvci9TTQorbG9jay9SU0RHTTcKK2xvY2tlZC9VQQorbG9ja3NtaXRoL1NNRworbG9jb21vdGlvbi9NUworbG9jb21vdGl2ZS9ZTVMKK2xvZGdlZC9FCitsb2Z0ZXIvTQorbG9nYW5iZXJyeS9NUworbG9naWMvSU1TWQorbG9pbi9TTQorTG9pcworTG9uZG9uZGVycnkvTQorbG9uZy1hd2FpdGVkCitMb25nYnJpZGdlCitsb25nLWZhY2VkCitsb25naG9ybi9TTQorbG9uZy1zaWdodGVkL1kKK2xvbmctc3RhbmRpbmcKK2xvbmd1ZXVyL1NNCitsb25nLXdhaXN0ZWQKK2xvb2t1cC9NUworbG9vc2luZy9VCitsb3JlL1NNCitsb3JuCitsb3JyeS9NUworbG9zYWJsZQorbG9zcy9TcE1aCitsb3QvTVMKK2xvdGlvbi9NUworTG91aXN2aWxsZS9NCitsb3V0L01TCitsb3ctYm9ybgorbG93ZXItY2FzZQorbG93LWluY29tZQorbG93bGlnaHQvTVMKK2xvd2x5L1BUCitsdWJyaWNhdGlvbi9NCitsdWNpZGl0eS9NUworTHVjaWxsZQorbHVja3kvVFVZCitMdWRtaWxsYQorbHVnZXIKK2x1Z3VicmlvdXMvUFkKK0x1a2UvTQorTHVtaehyZS9NCitsdW5jaHBhY2sKK2x1bmNoLXRpbWUKK2x1cmNoZXIvTQorbHV4dXJpYW50L1kKK0x5bWFuL00KK0x5bWUKK2x5bmNoaW5nL00KK2x5cmljYWwvUAorbHlyaWNpc3QKK21hL0ZNUworbWFjYWJyZS9ZCittYWNoaW5lLXJlYWRhYmxlCittYWNyb21vbGVjdWxlL1NNCittYWNyb3Njb3BpYy9ZCittYWRlL0FVCitNYWRyaWQvTQorTWFkc2VuL00KK21hZHdvbWFuL00KK01hZS9NCitNYWZpb3NvL00KK01hZ2RhbGVuZQorbWFnZ290eS9UCittYWduaWZpY2F0aW9uL1NNCittYWdwaWUvU00KK01hZ3VpcmUKK21haGF0bWEvTVMKK01haGF5YW5hCittYWlkc2VydmFudC9NUworbWFpbC9SUzdHRE1KCittYWlsc2hvdAorTWFpbmUKK21haW5mcmFtZS9TTQorbWFpbmxhbmQvUk1TCittYWlubWFzdC9NUworbWFpbnMvTQorbWFpbnNwcmluZy9NUworbWFqb3JldHRlL01TCittYWtlc2hpZnQKK01hbGFiby9NCittYWxhY2hpdGUvU00KK21hbGFyaWEvU00KK21hbGFya2V5L1NNCitNYWxheQorTWFsYXlhbi9NUworTWFsZQorbWFsaWduYW50L1kKK21hbGxldC9NUworbWFuYWdlZC9VCittYW5hZ2VyL29TTQorbWFuYWdlcmlhbAorbWFuYWdlcnNoaXAvTQorTWFuYW1hL00KK01hbmNoZXN0ZXIvTQorbWFuZGFyaW4vU00KK21hbmdvL01TCittYW5nb2xkLXd1cnplbC9TCittYW5neS9UCittYW5odW50L1NNCittYW5pZm9sZGVyL00KK21hbmlwdWxhdGFibGUKK21hbmxpbmVzcy9TCittYW4tc2l6ZWQKK21hbnRlbHNoZWxmCitNYW50b24KK21hbnRyYS9TTQorbWFudW1pdC9YTlNHRAorTWFueAorbWFwcGFibGUKK21hcmNoL0RSU0cKK21hcmdhcmluZS9TTQorTWFyZ2UveQorTWFyaWFubmUvTQorTWFyaW5hCitNYXJqb3JpZQorbWFya2VkL0FVCittYXJra2EvTQorbWFybC9TR0RNCitNYXJsYm9yb3VnaC9NCitNYXJsaW5lL00KK21hcm1hbGFkZS9TTQorbWFycXVldHJ5L01TCittYXJyaWFnZWFiaWxpdHkvU00KK21hcnJpYWdlcy9BCittYXJyaWVkL1MKK01hcnNoYWxsL00KK01hcnRoYQorbWFydGluaXF1ZQorTWFydGluc29uCitNYXJ0eQorbWFydmVsL0dEUworbWFydmVsbG91cy9ZCitNYXJ4aXNtCitNYXJ5bGFuZC9NCittYXNjYXJhL0RHU00KK21hc2gvUkpTR0RNCittYXNxdWVyYWRlL01SU0RHCittYXNzZXVzZS9TTQorTWFzc2V5L00KK21hc3RlY3RvbXkvU00KK21hc3RlcmxpbmVzcworbWF0Y2hib29rJ3MKK01hdGhlbWF0aWNhCittYXRoZW1hdGljaWFuL01TCitNYXRoaWFzCitNYXRoaWV1CittYXRyaWFyY2gvTVoKK21hdHJpY3VsYXRlL05TR0RuCitNYXRzdW1vdG8vTQorTWF0dGVsCittYXR1cmF0ZS9TR0QKK21hdHpvL01TCitNYXVyZWVuCitNYXVyaWNpbworTWF1cml0YW5pYW4vUworTWF4d2VsbC9NCitNYXlmYWlyL00KK21heWhhcAorbWF5b3JhbHR5L01TCittYXlvcnNoaXAvTQorTWF5b3R0ZS9NCittYXlwb2xlL01TCitNYXpkYQorbWF6ZXIKK21henkvVAorTWJhYmFuZS9NCitNY0NhcnR5L00KK01jQ29ybWljay9NCitNY0ludG9zaC9NCitNY0xhcmVuL00KK01jTGF1Z2hsaW4vTQorTWNNaWxsYW4vTQorTWNQaGVyc29uL00KK21kc2UKK21lYXN1cmVyL00KK21lYXRiYWxsL1NNCittZWF0bG9hdmVzCittZWNoYW5pemVyL00KK21lZGlhdGVkCittZWRpYXRvci9TTQorbWVkaWMvTllWbk1TCittZWRpY2FsL1MKK21lZGljaW5lL01vUworbWVkaW9jcmUKK01lZHdheS9NCittZWV0aW5nL00KK01lZy9NCittZWdhCittZWdhYnVjay9TCittZWdhYnl0ZS9TCittZWdhbG9tYW5pYS9NUworbWVnYWxvbWFuaWFjL1NNCitt6WxhbmdlCitNZWxhbmllCittZW1icmFub3VzCittZW1vaXIvU00KK21lbmRhY2lvdXMvUFkKK21lbmlhbC9ZUworbWVuc3VyYWJsZS9GCittZW50aG9sYXRlZAorbWVvdy9EU0cKK01lcmNlZGVzLUJlbnovTQorbWVyY2hhbnRtZW4vTQorbWVyb21vcnBoaWMKK21lcnJ5bWFrZXIvU00KK01lcnRoeXIKK21lc2hlcworbWVzbWVyaXppbmcKK21lc3NpYW5pYworbWVzdGl6by9TTQorbWV0YWJvbGljL1kKK21ldGFjZW50cmUvVworbWV0YWxsaWMvUworbWV0YWxsdXJneS8xTVN3VworbWV0YW1vcnBoaWMKK21ldGFwaHlzaWNhbAorbWV0YXN0YXNlcworbWV0YXRhcnN1cy9NCittZXRlbXBzeWNob3Npcy9NCittZXRyb3BvbGl0YW4vUworbWdyCittaWNlbGxlcworbWljcm9iaWNpZGUvTQorbWljcm9lY29ub21pYy9TCittaWNyb2Vjb25vbWljcy9NCittaWNyb2ZpY2hlL00KK21pY3JvZmlsbS9HRE1TCittaWNyby1vcmdhbmlzbS9TTQorbWljcm93b3JkL1MKK21pZC1haXIvU00KK01pZGRsZXNleAorbWlkbGFuZAorbWlkbGFuZGVyCittaWRsaXZlcworbWlkd2F5CittaWR5ZWFyL1NNCitNSUcvUworbWlnaHQvUzJaegorbWlnaHRpbmVzcy9TCitNaWdub24KK01pa2hhaWwKK21pbGVwb3N0L1NNCittaWxlci9NCittaWxlc3RvbmUvTVMKK21pbGl0YXJpc2F0aW9uCittaWxpdGF0ZS9TR0QKK21pbGl0aWEvbVNNCittaWxsZW5hcmlhbmlzbS9NCittaWxsaWdyYW0vUworbWlsbGlsaXRyZS9TCittaWxsaXZvbHRtZXRlci9TTQorbWlsbHN0b25lL1NNCitNaWxsd2FsbAorTWlscXVldG9hc3QvUworTWlsd2F1a2VlCittaW5jZW1lYXQvU00KK21pbmQtbnVtYmluZy9ZCittaW5lZC9mCittaW5lcmFsL1FxOC1TTQorbWluZXJhbGlzYXRpb24vQ1MKK21pbmVyYWxvZ3kvTXczUworbWluaWF0dXJlL0dRM1M4TS1xRAorbWluaWNhbS9NUworbWluaXN0ZXJpYWwKK21pbmtlCittaW5uZXNpbmdlci9NUworbWlub3JpdHkvU00KK21pbnN0cmVsc3kvU00KK21pc2JyYW5kCittaXNjYWxsCittaXNjbGFzc2lmaWVkCittaXNjb21tdW5pY2F0ZQorbWlzY3JlYW50L1NNCittaXNlcnkvTVMKK21pc2dpdmluZy9TTQorbWlzZ3VpZGVkL1AKK21pc2hhbmRsZS9HCittaXNub21lci9TTQorbWlzb2dhbXkvTTNTCittaXNwbGFjZS9MCittaXNzYWwvTVNFCittaXN0aW1lL0cKK21pdG9zaXMvTQorbWl0dC9TTQorbW9iaWxpdHkvU01JCitNb2J1dHUKK21vY2hhL1NNCittb2NrLXVwL1MKK21vZC9vUworbW9kYWwKK21vZGFsaXR5L1NNCittb2RlcmF0aW9uL01JCittb2RpZnkvTm5SU0JHRAorTW9oYW1lZC9NCitNb2hhbW1lZGFuaXNtCitNb2phdmUKK21vbGVzdGF0aW9uL00KK21vbWVudGFyaW5lc3MvUworTW9uYWNvL00KK21vbmFzdGljL1lTCittb25ldGFyaXNtL1MKK21vbmV0YXJ5LzNZCittb25leS1jaGFuZ2VyL1MKK01vbmdvbGlhbi9TCisnbW9uZ3N0Cittb25pdG9yL01TZAorbW9uay9TTQorbW9ua2V5c2hpbmUvUworbW9ub2dhbW91c25lc3MKK21vbm9tYW5pYWNhbAorbW9ub21pYWwvTVMKK01vbm9uZ2FoZWxhL00KK21vbm9udWNsZW9zZXMKK21vbm9wb2xpc3QvVworTW9ucm92aWEvTQorbW9uc3Rlci9NUworbW9udGFnZS9TTURHCittb29uYmVhbS9NUworbW9vbmxpZ2h0aW5nL00KK21vb25zdHJ1Y2sKK01vb3JlCittb29zZS9NCittb3JhbGlzdC9XMQorbW9yYWxseS9JCitNb3JlZW4KK21vcmlidW5kL1kKK21vcm9zZW5lc3MvUworbW9ycGgvU0RKRworTW9ycGhldXMvTQorbW9ycGhvZ2VuZXNpcworbW9ycm93L01TCittb3J0YWwvSVlTCittb3J0YXIvZE1TCittb3J0Z2FnZWUvU003Cittb3J0aWZpZXIvTQorbW9ydGlmeS9HaG5TTkQKK21vcnR1YXJ5L1NNCittb3NhaWMvTVMKK21vdGUvU01WCittb3Rlcy9DCittb3RoZXJib2FyZC9NUworbW90aGVycy1pbi1sYXcKK21vdG9jcm9zcy9NUworbW90b3JjeWNsZS8zR1NNCittb3RvcmlzZWQvVQorbW90dGxlL1NHRAorbW90dG9lcworbW91bGRib2FyZC9NUworbW91bnRhaW4vU00KK21vdXJuZnVsbmVzcy9TCittb3VzaW5lc3MvUworbW92YWJseS9JCittb3ZlYWJsZS9QU1kKK21vdmVtZW50L1NNCitNUHMKK21zCittdWNvdXMKK211ZGRsZWhlYWQncworbXVnLzJKTVJHWlNECitNdWlyZS9NCittdWtsdWsncworTXVsbGVuL00KK211bHRpY3VsdHVyYWwKK211bHRpbGF0ZXJhbGlzdHMKK211bHRpbGV2ZWwvRAorbXVsdGlsaW5ndWFsCittdWx0aXBsZXhvci9TTQorbXVsdGl2ZXJzaXR5L00KK211bW1pZmljYXRpb24vTQorbXVtbWlmeS9TTkRHbgorbXVtcHMvTQorbXVuZGFuZW5lc3MKK211bmljaXBhbGl0eS9TTQorTXVucm9lL00KK211cmRlci9yZFNNCitNdXJpbGxvL00KK211cm11cmluZy9TCittdXJtdXJvdXMKK011c2NhdC9NCittdXNjdWxhcml0eS9TTQorbXVzaGluZXNzL1MKK211c2ljaWFuL01TWQorbXVza2V0ZWVyL1NNCittdXRhYmlsaXR5L0lNUworbXV0ZWQvWQorbXV0ZWx5CittdXRlbmVzcy9TCittdXRpbnkvRFNHTQorbXlvcGlhL1NNCitteXN0ZXJ5L1NNCitteXRob2xvZ2lzZS9DU0dECitteXRob2xvZ3kvU1FNMzF3CituL05ueFZ2dQorbmFjaG8vUworbmFjcmUvTVMKK25hZmZuZXNzCituYWl2ZW5lc3MKK25haXZldGUvWgorTmFrYXlhbWEvTQorbmFtZWx5CituYXJrL1NNWgorbmFycm93YmFuZAorbmFzY2VuY2VzL0EKK25hdGNoCituYXRpb25hbGlzbS9TTQorbmF0aW9uYWxseS80CituYXRpb253aWRlCituYXRsCituYXVnaHQvejJNWgorbmF2aWdhdGlvbi9NCituYXlzYXllci9TCitOQkEKK05CUworTkNPCituZWNlc3NpdG91cworbmVjZXNzaXR5L01TCituZWNrZXJjaGllZi9NUworbmVjcm9wb2xpcy9NUworbmVjdGFyaW5lL1NNCituZWVkbGVzcy9ZCituZWVkbid0CituZSdlci1kby13ZWxscworbmVnYXRpb24vTQorbmVnbGVjdC82alNERworbmVnb3RpYWJpbGl0eS9NUworbmVnb3RpYWJsZS9BCituZWdvdGlhdGlvbi9NQQorbmVpdGhlcgorTmVsbC9NWQorbmVvY2xhc3NpY2lzbS9NUworTmVwYWxpL00KK25lcGhyaXRpcy9NCitOZXJvL00KK25lcnZvdXNuZXNzL1MKK25ldGhlcndvcmxkL1MKK25ldHQvU0oKK25ldHRlcgorbmV1dHJhbGl6YXRpb24vTQorTmV2YWRhL00KK25ldmVybW9yZQorTmV3YXJrL00KK25ld2ZhbmdsZWQKK05ld25oYW0KK25ld3NhZ2VudC9TTQorbmV3c2Nhc3QvUlNNCituZXdzLWdhdGhlcmluZworbmV3c2dyb3VwL01TCitOZXdzd2Vla2x5L00KK05GQworTkZMCitOaWNob2xhcworTmlja3kvTQorTmljb2xhL01TCituaWNvdGluZS9TTQorTmlnZXIvTQorbmlnZ2FyZC9ZTVMKK25pZ2dhcmRseS9QCituaWdoCituaWdodGllL1NNCituaWdodC1saWZlL00KK25pZ2h0c2hpcnQvTVMKK25pZ2h0c3RpY2svUworTmlra2kvTQorTmlrb24vTQorbmlsL01HWQorbmltYmkKK25pbWJ1c2VkCitOaW1yb2QvTVMKK25pbmV0eS9ITVMKK25pbmV0eS1zZXZlbi9ICituaW5ldHktdGhyZWUvSAorbmluZXR5LXR3bworbml0cmF0aW9uL00KK25pdHJpdGUvTVMKK25vL1EKK05PQUEKK25vZGUvU00KK25vZXMKK05vbGFuL00KK25vbWluZWUvU00KK25vbi1hY2lkL1MKK25vbi1hZGhlc2l2ZQorbm9uLWFkanVzdGFibGUKK25vbi1jb21wbHlpbmcvUworbm9uLWNvbnNlcnZhdGl2ZQorbm9uLWNvbnN0cnVjdGl2ZQorbm9uLWRlZHVjdGlibGUKK25vbi1kZXRlcm1pbmlzdGljL1kKK25vbi1kaXNjcmltaW5hdGlvbi9TCitub24tZW5mb3JjZWFibGUKK25vbi1lcXVpdmFsZW50L1MKK25vbi1mYWN0dWFsCitub24tZ292ZXJubWVudGFsCitub24tZ3JhbnVsYXIKK25vbi1pbnRlcmNoYW5nZWFibGUKK25vbi1pbnRlcmZlcmVuY2UKK25vbi1pbnRlcnZlbnRpb24vUworbm9uLWlvbmljCitub24taW9uaXNpbmcKK25vbi1qdWRpY2lhbAorbm9uLW5hdHVyYWwKK25vbi1udWNsZWFyCitub24tb2JsaWdhdG9yeQorbm9uLW9wZXJhdGl2ZQorbm9uLXBhcmFtZXRyaWMKK25vbi1wYXltZW50L1NNCitub24tcGh5c2ljYWwvWQorbm9uLXByZXNjcmlwdGlvbgorbm9uLXByb2R1Y3RpdmUKK25vbi1yZWNpcHJvY2F0aW5nCitub24tcmVjdXJyaW5nCitub24tcmV0dXJuYWJsZS9TCitub25zdWNoCitub24tc3VyZ2ljYWwKK25vbi10YXhhYmxlL1MKK25vbi10cnVuaworbm9uLXVzZXIvU00KK25vbi12aW9sZW50L1kKK25vbi13aGl0ZS9TTQorTm9yYmVydC9NCitOb3JkaWMvUworbm9ybWFsY3kvU00KK25vcm1hbGlzZS9DR0FTRAorTm9ybWFuZHkvTQorTm9ycmlzCitub3J0aC1lYXN0d2FyZC9TCitOb3J0aHJvcC9NCitOb3J0aHVtYmVybGFuZC9NCitub3J0aC1XZXN0d2FyZC9TCitub3NoL1NETUcKK25vc3RyaWwvU00KK25vdGljZWJvYXJkL1MKK25vdGlvbidzCitOb3ZhCitudWJiaW4ncworbnViYnkvVAorbnVnYXRvcnkKK251aXNhbmNlL01TCitudWxsL1MKK251bGxpZnkvRFJTbk5HCitudW1iZXJlci9NCitudW1iZXJpbmcvZQorbnVtYnNrdWxsL00KK251cnR1cmUvTVJEU0cKK251dGF0ZS9HU0QKK255bG9uL1NNCitueW1waG9sZXBzeS9NCitvYWZpc2huZXNzL1MKK29ha3dvb2QKK09BUAorb2Fycy9tNQorb2JkdXJhdGUvWVMKK29iZHVyYXRlbmVzcy9TCitvYmxpZ2F0ZS9TTnh5R25ECitvYmxpZ2UvRUdEUworb2JzZXJ2YXRpb24vTQorb2JzZXJ2YXRvcnkvTVMKK29ic3RldHJpY3MvTQorb2JzdHJlcGVyb3VzL1BZCitvYnN0cnVjdC9HU3ZEdVYKK29ic3RydWN0aW9uaXNtL1NNCitvYnRhaW4vU0dENworb2J0cnVzaXZlbmVzcy9TTQorb2J0dXNlbmVzcy9TCitvYnZpYXRlL0RuTlNHCitvY2NpcGl0YWwvWQorb2NjbHVzaXZlL1MKK29jY3VycmVuY2UvU00KK29jZWFuaWMvNAorT2NlYW5zaWRlL00KK29jdGFsL1MKK09jdG9iZXIvU00KK29kaW91cy9QWQorb2Vub3BoaWxlL1MKK28nZXIKK29lc29waGFnZWFsCitvZXNvcGhhZ3VzL00KK09mZWxpYS9NCitPZmZhbHkvTQorb2ZmZW5zaXZlL0lZUAorb2ZmZXJ0b3J5L01TCitvZmZpY2Vyc2hpcC9TCitvZmZpY2lvdXMvUFkKK29mZnByaW50L0dNU0QKK29mZnNob290L01TCitvZnRlbmVyCitvZnRlbmVzdAorb2lsaW5lc3MvUworT2thbW90by9NCitPa2luYXdhL00KK09rdG9iZXJmZXN0CitPbGRidXJ5CitvbGQtdGltZS9SCitvbGQtd29ybGQKK09saXZlci9NCitPbHNvbi9NCitvbWVuL1NNZAorb21uaWRpcmVjdGlvbmFsCitvbi1ib2FyZAorb25lbmVzcy9TCitvbmUtcGllY2UKK29uZS10aGlyZAorb25lLXRyYWNrCitvbmUtd2F5Citvbmxvb2tlci9TTQorb25sb29raW5nCitvbndhcmQvUworb29oL0RTRworb29wcy9TCitvcGVuLWFpcgorb3BlbmVkL0FVCitvcGVuLWhlYXJ0L0QKK29wZW4tdG9wCitvcGVud29yay9TTQorb3BlcmFuZC9TTQorb3BpbmUvR1NECitPcG9ydG8KK29wb3NzdW0vU00KK09wcGVuaGVpbWVyL00KK29wcG9zaXRlL1lQUworb3BwcmVzc2lvbi9NCitvcHRpb25hbC9TCitvcHVzL1NNCitvcmRlcmVkL0FVCitvcmRlcmVyCitvcmRpbmFuZHMKK29yZGluYXJ5L1RTWQorb3JkaW5hdGlvbi9TTQorb3JlL015U28KK08nUmVpbGx5CitvcmdhbmlzZS9FbkFER1MKK29yZ2FuaXplL0FuU0VHRE4KK29yZ2FuemEvTVMKK29yZ3kvTVMKK29yaWVudC9FTlNBRG5HCitvcmllbnRhbC9TWQorb3JpZW50ZWVyaW5nL00KK29yaWdhbWkvTVMKK29yaWdpbmFsL1UKK09yaXlhL00KK09ybGVhbnMKK29ybmFtZW50L25NREdOU28KK29ybml0aG9sb2d5LzN3U00KK09ycGhldXMvTQorT3JyaW4vTQorb3J0aG9ncmFwaHkvdzFTTVcKK29zbW9zaXMvTQorb3N0ZW9wb3Jvc2lzL00KK09zd2FsZC9NCitPVEMKK290aGVyL1NQTQorT1RPSAorb3V0L01EU0dKCitvdXRncmlwCitvdXRncm93CitvdXRsYW5kCitvdXRsYW5kaXNobmVzcy9TCitvdXRsYXcvRHlHCitvdmFsL01TUAorb3Zlbi9TTQorb3Zlci1hYnVuZGFuY2UvU00KK292ZXItYWJ1bmRhbnQKK292ZXJib29rL0cKK292ZXJidXkKK292ZXJjbG91ZAorb3Zlci1kZWxpY2F0ZQorb3ZlcmVkdWNhdGUKK292ZXJsb2FkL0cKK292ZXJuaWdodC9HCitvdmVycHJlc3N1cmUKK292ZXItc2Vuc2l0aXZlbmVzcy9TCitvdmVyc2l6ZQorb3ZlcnRha2UKK292ZXJ3ZWVuaW5nCitvdmVyd3JpdGUvRworb3Z1bGF0ZS9HeVNECitvdnVtL1NNCitvd2wvTVMKK293bmVyL1NNCitveGFsaWMKK294YWxvYWNldGljCitveGJvdy9NUworT3hmb3Jkc2hpcmUKK294aWRhdGlvbi9NCitQYWFybAorUGFibG8vTQorcGFjZXNldHRlci9TTQorcGFjaHlkZXJtL01TCitwYWNpZmljLzQKK3BhY2lmaWNhdGlvbi9NCitwYWNrYWdpbmcvTQorcGFkZHkvTVMKK3BhZW9ueS9NCitwYWdhbmlzbS9TTQorcGFpbnRlcmxpbmVzcworcGFpbnRpbmcvTQorcGFpci9BRE1TRworcGFpcmVkL1VJCitwYWwvTVMKK1BhbGFlb2NlbmUKK3BhbGF0ZS9TZ29NCitQYWxlc3RpbmUvTQorcGFsbG9yL01TCitQYWxteXJhL00KK3BhbHBpdGF0aW9uL00KK3BhbmFjaGUvTVMKK3BhbmRlbWljL1MKK3BhbmcvU00KK3BhcmFib2xhL01XUworcGFyYWRpZ21hdGljCitwYXJhZmZpbi9TTQorcGFyYWxpbmd1aXN0aWMKK1BhcmFtYXJpYm8vTQorcGFyYW1lZGljYWwvUworcGFyYW1vdW50CitwYXJhcGhyYXNlci9NCitwYXJhcXVhdC9TCitwYXJhc2l0ZS9Nd1dTMQorcGFyYXNpdGljL1MKK3BhcmRvbi9yZ2w3ZFMKK3BhcmRvbmFibGVuZXNzL00KK3BhcmVudGFnZS9NUworcGFyZmFpdC9TTQorUGFyaXMvTQorcGFya2xhbmQvTQorcGFybG91cm1haWQKK3BhcnF1ZXRyeS9NUworcGFyc29uL01TCitwYXJ0aWFsL0lZCitwYXJ0aWN1bGFyaXR5L1NNCitwYXJ0aXRpdmUvUworcGFydC10aW1lci9TCitwYXJ0dXJpdGlvbi9NUworcGFydHdheQorcGFydHkvRE1TRworcGFzY2FsL01TCitwYXNzYm9vay9NUworcGFzc2l2ZS9JWQorcGFzc2tleS9TTQorcGFzc292ZXIKK3Bhc3RpbmVzcy9TCitwYXN0aXMKK3Bhc3Rvci9kTVMKK3Bhc3R1cmFnZS9TTQorcGF0Y2hhYmxlCitwYXRlbGxhZQorcGF0ZW5jeQorcGF0ZXJuYWxpc3QvVworcGF0ZXJuaXR5L01TCitwYXRpZW50L2VNUworcGF0aXNzZXJpZQorcGF0cmlvdGljL1UKK3BhdHJvbi85OFEtWU1xc1MKK3BhdHJvbmlzZS9rCitwYXRyb29uL01TCitwYXR0ZW4vTVMKK3BhdW5jaC9TMkdNWkQKK3BhdXBlcmlzbS9NUworcGF2ZWQvVQorcGF2ZXIvTQorcGF3bmVyL00KK3BjbQorUEUKK3BlYWNldGltZS9TTQorcGVhcmxlci9NCitwZWFzYW50aG9vZAorcGViYmxpbmcvTQorcGVjYW4vTVMKK3BlY3RvcmFsL1MKK3BlZGFnb2dpY3MvTQorcGVkZXN0cmlhbi9RLThxTVMKK3BlZHVuY2xlL01TCitwZWUvUkdTCitwZWVrYWJvby9TTQorcGVlcnMvRgorcGVsbC1tZWxsCitwZW4vb0dETVMKK3Blbmluc3VsYS9TTQorcGVua25pZmUvTQorcGVua25pdmVzCitwZW5ub24vU00KK3Blbm55d29ydGgvTQorcGVuc2l2ZW5lc3MvUworcGVudWx0aW1hdGUvU1kKK1BlbnphbmNlL00KK3Blb3BsZS9ETUdTCitwZW9wbGVkL1UKK3BlcHRpZGUvTVMKK3BlcmNoYW5jZQorcGVyY29sYXRlL05uRFNHCitwZXJlc3Ryb2lrYS9TCitwZXJmZWN0aW9uaXNtL1NNCitwZXJmb3JtL2VER1MKK3BlcmZvcm1hbmNlL01TCitwZXJmb3JtZXIvTVMKK3BlcmZ1c2VkCitwZXJpYXN0cm9uCitwZXJpaGVsaWEKK3BlcmlsL01TREcKK3BlcmlvZC9NdzFXUworcGVyaW9kb250YWwvWQorcGVyaXBocmFzaXMvTQorcGVyaXBocmFzdGljCitwZXJpc2gvN1JHRGtTCitwZXJpc2hhYmxlL0lTCitwZXJtYW5lbmNlJ3MvSQorcGVybWFuZW50L1BZCitwZXJtaXQvR1hETU5TCitwZXJwZXRyYXRlL1NHRE5uCitwZXJzZXZlcmUva0dEUworUGVyc2lhL00KK3BlcnNvbi10by1wZXJzb24KK3BlcnN1YXNpdmUvUAorUGVydGhzaGlyZS9NCitwZXJ2YXNpb24vTQorcGVydmVyc2UvUFhWWU4KK3Blc3NpbWFsL1kKK3BldGFsL01TRAorUGV0ZQorcGV0aXRpb25lci9TTQorcGV0aXRpb25pbmcKK3BldHJvZG9sbGFyL1NNCitwZXRyb2xvZ3kvTVMzdworcGV0dGljb2F0L1NETQorcGV0dHkvVFNZCitwZXcvTVMKK3BleW90ZS9NUworcGhhbnRhc20vU00KK3BoYW50b20vU00KK1BoZWxwcworUGhpbGlwcGluZXMvTQorcGhpbHRyZS9TTQorcGhvZWJlL01TCitwaG9uZS1pbi9TCitwaG9uZW1pY3MvTQorcGhvbnkvVFNQCitwaG9vZXkvUworcGhvc3BoYXRlL01TCitwaG9zcGhvcmVzY2VuY2UvTVMKK3Bob3NwaG9yb3VzCitwaG9zcGhvcnVzL00KK3Bob3RvY2VsbC9TTQorcGhvdG9qb3VybmFsaXNtL01TCitwaG90b2pvdXJuYWxpc3QvTVMKK3Bob3RvbHlzaXMvTQorcGhvdG9zcGhlcmUvTQorcGhvdG9zeW50aGVzZXMKK3BocmFzaW5nL01TCitwaHJlbm9sb2d5LzF3M01TCitwaHlsdW0vTQorcGljYWRvci9NUworcGljb3QvU00KK3BpZWNld29yay9NUlMKK3BpZWluZworcGlnL0xHWkRNUworcGlsbG93Y2FzZS9TTQorcGlsb3QvU2RNCitwaW5hZm9yZS9NUworcGluZS9BR1NECitwaW5nZWQvSQorcGlubmVkL2YKK3BpbnRhaWwvU00KK3BpcC9kckRrTUdTCitwaXF1ZS9TTURHCitwaXN0ZS9TTQorcGlzdGlsL01TCitwaXRmYWxsL1NNCitwaXRoL3oyWkRNR1MKK3BpdGlsZXNzL1BZCitwaXp6ZXJpYS9TTQorcGwuCitwbGFjZWFibGUvQQorcGxhY2Viby9TTQorcGxhY2VtZW50L2VNUworcGxhY2VudGEvTVMKK3BsYWdpYXJpc3QvU00KK3BsYWluaW5nL0YKK3BsYWluLXNwb2tlbgorcGxhaW50cy9GCitwbGFuZ2VuY3kvUworcGxhbmtpbmcvTQorcGxhbnRhaW4vTVMKK3BsYXN0ZXIvck1kUworcGxhdGl0dWRpbm91cy9ZCitQbGF0by9NCitwbGF1c2libGVuZXNzCitwbGF1c2libHkvSQorcGxheWVkL1UKK3BsYXltYXRlL1NNCitwbGVhc3VyZS9HRFNsTQorcGxlYi9aUworcGxlbnVtL00KK3BsZXVyaXN5L01TCitwbGllcy9GQUkKK3Bsb3AvR0RNUworcGxvdWdoL21SR1NNRAorcGxveS9DUworcGx1Y2t5L1RQCitwbHVtZWxpa2UKK3BsdW5kZXIvZFMKK3BsdXJhbGlzbS9TTQorcGx1cy9TCitwb2FjaC9SRFNHCitwb2V0ZXNzL1NNCitwb2V0aWNhbG5lc3MKK3BvZXRpY3MvTQorcG9pbnRzL2UKK3Bva2VyLWZhY2UvRAorcG9sYXIvUS04cVNzCitwb2xlLWF4ZWQKK3BvbGVtaWMvWVMKK3BvbGVtaWNpc3QvUworcG9sZS12YXVsdGluZworcG9saWN5aG9sZGVyL01TCitwb2xpdGVzdAorcG9saXRpYy9ROC1HRFNxCitwb2xsaW5hdGUvRE5HU24KK3BvbGxpbmF0aW9uL00KK1BvbGxvY2svTQorcG9seWNoZW1pY2FscworcG9seW1hdGgvU00KK1BvbHluZXNpYS9NCitwb2x5cGVwdGlkZS9TCitwb25kZXJpbmcKK3Bvb2gtcG9vaC9ECitwb29sc2lkZQorcG9waW5qYXkvTVMKK3BvcHVsYXRlZC9VZkEKK1BvcmlmZXJhCitwb3JvdXNuZXNzL1MKK3BvcnJpbmdlci9NUworcG9ydGFsL01TCitwb3J0ZXJhZ2UvTQorcG9ydHJhaXRpc3QKK3Bvc2l0aW9uZWQvYQorcG9zaXRpb25zLzRJCitwb3NzZXMvR2hEaQorcG9zc2Vzc29yL1NNCitwb3N0LWNsYXNzaWNhbAorcG9zdC1jb2xvbmlhbAorcG9zdGVkL0FGSQorcG9zdGVyaXR5L01TCitwb3N0LWZlbWluaXNtCitwb3N0Zml4L0RTRworcG9zdGdyYWR1YXRlL01TCitwb3N0LWluZHVzdHJpYWwKK3Bvc3RuYXRhbAorcG9zdC1uYXRhbAorcG9zdC1udXB0aWFsCitwb3N0LW9wZXJhdGl2ZS9ZCitwb3N0J3MvSWVGCitwb3N0dWxhdGUvTlNuREcKK3BvdGFibGUvUFMKK3BvdGVudGlhbC9ZUworcG90aGVyYi9NUworcG90LWh1bnRlcgorcG90c2hlcmQvU00KK3BvdW5kYWdlL01TCitwb3VyZXIncworcG91cmluZy9lCitwb3ZlcnR5LXN0cmlja2VuCitwb3dlcmxlc3MvUFkKK3Bvd2VyLXNoYXJpbmcKK3BwCitQcgorcHJhY3RpY2FscworcHJhY3RpdGlvbmVyL01TCitQcmFlc2lkaXVtL00KK3ByYXRlL1NSa0RHCitwcmVjYXJpb3VzL1BZCitwcmVjZXNzL0dEUworcHJlY2lvc2l0eS9NUworcHJlY29jaW91c25lc3MvUworcHJlZGljYW1lbnQvTVMKK3ByZS1lY2hvCitwcmUtZWNsYW1wdGljCitwcmUtZW1icnlvL1MKK3ByZS1lbXBsb3ltZW50L1NNCitwcmVlbmVyL00KK3ByZS1leGlzdC9ER1MKK3ByZS1leGlzdGFudAorcHJlZ25hbmN5L01TCitwcmUtaWduaXRpb24KK3ByZW1p6HJlL1NER00KK3ByZW5hdGFsL1kKK3ByZW51cHRpYWwKK3ByZW9wZXJhdGl2ZQorcHJlb3JkYWluCitwcmVwYWNrCitwcmUtcGFpZAorcHJlcGF5L0wKK3ByZXBvc3Rlcm91cy9QWQorcHJlcHJpbnQvTQorcHJlc2VudHMvQQorcHJlc2VydmF0aW9uL00KK3ByZXNlcnZhdGl2ZS9TTQorcHJlc2VydmUvbk5WCitwcmVzaWRlL0RHCitwcmVzcy9GSUdTQURDCitwcmVzdW1wdHVvdXNuZXNzL1MKK3ByZS10YXgKK3ByZXRlbmRpbmcvVQorcHJldmlvdXMvWQorcHJpY2UvU0FEY0cKK3ByaWNrbGUvTURTMkcKK3ByaWVzdC9NRFNHWQorcHJpZy9TTQorcHJpbW9yZGlhbC9ZUworcHJpbnRhYmxlL1UKK3ByaXNtL1NNCitwcml2YWN5L1NNCitwcml2aWxlZ2VkL1VmCitwcml2eS9ZTQorcHJvYmF0aW9uYWwKK3Byb2JpdHkvU00KK3Byb2NsaXZpdHkvTVMKK3Byb2NyZWF0aXZpdHkKK3Byb2R1Y3Rpb24ncy9BZgorcHJvZmVzcy9ETnhYaFNHCitwcm9maXRlZXIvREdTTQorcHJvZmxpZ2F0ZS9TWQorcHJvZm91bmRuZXNzL1MKK3Byb2Z1c2VuZXNzL1MKK3Byb2duYXRob3VzCitwcm9nbm9zaXMvTQorcHJvZ3JhbW1hYmxlL1MKK3Byb2dyZXNzaXZpc20KK3Byb2plY3QvU0RWdk1HCitwcm9tZW5hZGUvUk1TR0QKK3Byb21pbmVudC9ZCitwcm9taXNjdWl0eS9NUworcHJvbW8vU1Z1Citwcm9uZW5lc3MvUworcHJvbnVuY2lhdGlvbi9hU00KK3Byb29maW5nL00KK3Byb3BoeWxhY3RpYy9TCitwcm9wdWxzaW9uL00KK3Byb3JvZ3VlL0RHUworcHJvcy9TCitwcm9zZWN1dGFibGUKK3Byb3Nlci9NCitwcm90ZWN0ZWRseQorcHJvdGVvbHlzaXMvTQorcHJvdGVzdGF0aW9uL00KK3Byb3ZlL0VCU0dECitwcm92aWRhYmxlCitwcm92aWRlL05EUlhTeEcKK3Byb3ZvY2F0aW9uL00KK3BydWRlbmNlL0lTTQorcHJ1cmllbmNlL1NNCitwcnkvVGtEUkdTCitwc2V1ZG8KK3BzeWNob2Jpb2xvZ3kvTQorcHN5Y2hva2luZXNpcy9NCitwc3ljaG9saW5ndWlzdGljL1MKK3BzeWNob21ldHJpYy9TCitwc3ljaG9uZXVyb3NlcworcHN5Y2hvcGF0aHkvU00KK3BzeWNob3NvbWF0aWNzL00KK3BzeWNob3RoZXJhcGlzdC9NUworcHVibGljL04zTVE4bgorcHVibGljYW4vQVNNCitwdWJsaXNoYWJsZS9VCitwdWJsaXNoZXMvQQorcHVja2lzaC9ZCitwdWtlL0dEUworcHVra2EKK3B1bGNocml0dWRlL1NNCitwdWxsLWJhY2svUworcHVsbC1kb3duCitwdWxzZXIKK3B1bHZlcml6ZXIvTQorcHVuY2hsaW5lL1MKK3B1bmN0aWxpby9TTQorcHVuaW5lc3MvUworcHVuaXRpdmUvUFkKK3B1bmsvVDJTTVoKK3B1bnQvUkdETVMKK3B1cGlsbGFnZS9NCitwdXBwZXQveVNNCitwdXJlLWJyZWQvUworcHVyaXR5L0lTTQorcHVycG9zZS82TXZwVkRqdVNHWQorcHVycG9zZWxlc3MvUFkKK3B1cnBvc2l2ZS9QCitwdXNoaW5lc3MvUworcHV0LWRvd24KK3B1dHJlZmFjdGlvbi9TTQorcHV6emxlL0xSU2tKREcKK1BXCitweXRob24vTVdTCitweXgvU00KK3F1YWRydXBsZS9TWURHCitxdWFkcnVwb2xlCitxdWFpbC9ER01TCitxdWFsaWZ5L05FbkRHUworcXVhbGl0eS9TTQorcXVhcnJpZXIvTQorcXVhcnRlcmJhY2svU00KK3F1YXJ0ZXQvU00KK3F1YXJ0by9TTQorcXVhc2lsaW5lYXIKK3F1YXRyYWluL1NNCitxdWVlbmx5L1QKK3F1ZW5jaGVkL1UKK3F1ZXN0aW9ucy9BCitxdWVzdHMvRkkKK3F1aWNrbGltZS9TTQorcXVpZXRlci9FCitxdWlldHVzL01TCitRdWludG9uCitxdWlyay9aTTJTCitxdWl0ZS9BCitxdWl2ZXIvZFprUworcXVpenp5L3cxCitxdW9uZGFtCitSYQorcmFjY29vbi9NUworcmFjZXdheS9TTQorcmFjaXNtL1MKK3JhY2tldC9NZFpTCityYWRpYXRvci9TTQorcmFkaWkvTQorcmFkaW9jb21tdW5pY2F0aW9ucworcmFnL2RpR2tNU0RoCityYWdzLXRvLXJpY2hlcworcmFpbWVudC9NCityYW1yb2QvTVMKK3JhbmNpZC9QCityYW5zYWNrL0dTRAorcmFwL2QzUkRHUworUmFwaGFlbC9NCityYXBpZC9ZUworcmFwaWRuZXNzCityYXRoZXIKK3JhdGluZy9NUworcmF0aW9jaW5hdGUvRFZHU05uCityYXRpb25hbGl0eS9JTQorcmF0dGxlc25ha2UvTVMKK3JhdmVuL2RTTQorcmF2aW5lL1NNRAorcmF5L0RNU0cKK3JheW9uL00KK3JhenptYXRhenoKK1JEUworcmVhZGp1c3QvTEcKK3JlYWR5L1RTRFBHCitSZWFnYW4vTQorcmVhbGlzZWQvVQorcmVhbGlzbS9TTQorcmVhbGlzdGljL1VZCityZWFsaXplZC9VCityZWFybW9zdAorcmVhc29uL3JscDdkU00KK1JlYmVjY2EvTQorcmVjZW5zaW9uL00KK3JlY2VwdGlvbi9NUzMKK3JlY2Vzc2lvbi95CityZWNoZXJjaOkKK3JlY2tvbi9kUworcmVjb2duaXNhYmxlL1UKK3JlY29pbC9wCityZWNvbmNpbGUvN1NHRAorcmVjb25maWd1cmUvQgorcmVjb250YW1pbmF0aW9uCityZWNvcmRpc3QKK3JlY29yZHMvQQorcmVjcmVhbmN5CityZWNydWRlc2NlL0RTRworcmVjdGFsL1kKK3JlY3Vyc2lvbi9NCityZWRkaXNoCityZWRlZW1hYmxlL1VJCityZWRlbXB0aXZlCityZWRlcGxveS9MRworcmVkaWFsL0RHCitSZWRvbmRvL00KK3JlZHVjaWJsZS9ZSQorcmVkdW5kYW5jeS9NUworcmVlZC9aR0RNUzIKK1JlZXNlL00KK3JlZmFzaGlvbi9HCityZWZlcmVuY2VkL1UKK3JlZmVyZW5kdW0vU00KK3JlZmluZS9MUgorcmVmaW5lZC9jVQorcmVmbGVjdGFuY2UvTQorcmVmbGV4aXZlcworcmVmb3Jlc3QvbkdOCityZWZyYWN0b3JzCityZWdpb24vb1NNCityZWdpb25hbAorcmVnaXN0ZXJlZC9VCityZWdpc3RyYXRpb24vTUsKK3JlZ3Jvdy9HCityZWd1bGFyL3E4US1ZUworcmVndWxhcmx5L0kKK3JlZ3VsYXRlL0NOR1NEbnkKK3JlZ3VsYXRpdmUKK3JlaGVhdC9HCityZWluc3RpdHV0aW9uCityZWlzc3VlCityZWpvaW4vRworcmVsaWMvTVMKK3JlbGlnaW91cy9QWQorcmVsaXZlL1MKK3JlbWFpbmRlci9kTVMKK3JlbWFyay9HbDcKK3JlbWF0Y2gKK3JlbWVtYmVyL2FkCityZW1pdHRhbmNlL1NNCityZW1pdHRpbmcvVQorcmVtb2JpbGl6ZS9CCityZW1vbnN0cmF0ZS9uRFZOdlNHCityZW1vdWxkL0cKK3JlbW92YWwvU00KK3JlbXVuZXJhdGlvbi9NCitSZW5haXNzYW5jZSdzCitSZW5hdWx0L1NNCityZW5kL0dTCityZW5kZXIvcmRKUworcmVudW5jaWFudAorcmVudW5jaWF0aXZlCityZW51bmNpYXRvcnkKK3JlcGVydG9pcmUvU00KK3JlcGxlbmlzaC9TREcKK3JlcGxpY2FibGUKK3JlcHJlc2VudGF0aW9uL2YKK3JlcHRpbGUvTVMKK3JlcHVkaWF0aW9uL00KK3JlcHVsc2l2ZS9QCityZXB1dGVzL0UKK3JlcXVpdGUvRFMKK3JlLXJhZGlhdGVkCityZXNjaW5kL0dEUworcmVzZW50ZnVsL1AKK3Jlc2VydmVkL1VZCityZXNpZGVuY3kvU00KK3Jlc2lkZW50aWFsL1kKK3Jlc2l0L0cKK3Jlc29sdmVkL1UKK3Jlc29uYXRvci9TTQorcmVzb3cvRworcmVzcGVjaWZ5L0cKK3Jlc3BlY3QvRUQ2R1NNagorcmVzcGVjdGFiaWxpdHkvTVMKK3Jlc3BlbGwvRworcmVzcGlyYXRpb24vTQorcmVzcGlyYXRvci9TTQorcmVzcGxlbmRlbnQvWQorcmVzcG9uc2liaWxpdHkvSVNNCityZXNwb25zaXZlL1VZCityZXN0LzZWanB2R3VETVMKK3Jlc3RhcnQvRworcmVzdHJvb20vU00KK3Jlc3VsdGFudC9ZUworcmVzdXJmYWNlCityZXRha2UKK3JldGFyZC9uUkRHUworcmV0b3VjaC9SCityZXRyb2dyZXNzL1hER1NWTnYKK3JldmVyaWZ5L05HCityZXZlcnNlLWNoYXJnZQorcmV2ZXJzaWJpbGl0eS9JCityZXZpc2lvbi8zeQorcmV2b2tlL0ROR25SUworcmV3aW5kLzcKK1JleWVzCityaGVhL01TCityaGl6b21lL1NNCityaG8vTQorcmliL0dETVMKK3JpY2UtcGFwZXIKK1JpY2hmaWVsZC9NCitSaWNobW9uZC9NCityaWNrL01TCitSaWRnZWZpZWxkL00KK1JpZXNsaW5nL1NNCityaWdodGVuCityaWdpZGl0eS9TCitSaWxleS9NCityaW5nLWZlbmNlL0dECityaW90b3VzL1BZCityaXNpYmlsaXR5L00KK3Jpc290dG8vU00KK3Jpc3F16QorUml0YWxpbgorcml2ZXQvZHJTTWsKK1JpeWFkaC9NCityb2FkL01TCityb2FtL0dEUlMKK1JvYW5va2UvTQorcm9ja2VyL1oKK3JvZGVudC9NUworUm9kbmV5L00KK3JvZS9NUworUm9nZXIncworcm9sZS9NWlMKK3JvbGUtcGxheS9HRAorcm9sbGVyLWNvYXN0ZXIKK3JvbGxpbmctc3RvY2sKK3JvbGwtb3Zlci9TCityb21hbmNlL1JTRE1HCitSb21hbm92L00KK1JvbWVvL01TCitSb21uZXkvTQorUm9tdWx1cy9NCitSb25uaWUvTQorcm9vay9NUworcm9vdC9SaXBETUdTCitSb3NhbGluZC9NCitSb3NlbGFuZC9NCitSb3NpY3J1Y2lhbi9NCityb3Npbi9kU00KK1Jvc3NpbmkvTQorcm90YXRlL1N4R0R5CitSb3RhdmF0b3IvU00KK3JvdHRlbmVyCityb3VibGUvU00KK1JvdW5kaGVhZC9NUworcm91bmQtdGhlLWNsb2NrCitSb3Vya2UvTQorcm91c2UvU0RHCityb3cvRFJNU0cKK1Jvd2VuYS9NCitSUEcKK1JTTQorUlNWCitydWJhdG8vU00KK1J1YmluL00KK3J1ZGRlci9wTVMKK3J1aW5hdGlvbi9NCitydWlub3VzL1kKK3J1bGluZy9TTQorUnVtYW5pYW4vTQorUnVuYW1pYQorcnVudHkvVAorcnVwaWFoL1NNCitydXN0aWMvUworcnVzdGljYXRlL1NHRAorUnV0Z2VycworUnV0aC9NCitydXRobGVzcy9QWQorUnlkZXIvTQorUnllZGFsZQorUnl1a3l1L00KK1NhYmJhdGgvTVMKK1NhYmluYS9NCitzYWNyaXN0eS9TTQorU2FkZHVjZWUvTQorc2Fkb21hc29jaGlzbS9TTQorc2Fkb21hc29jaGlzdC9XTVMKK3NhZ2FjaW91cy9ZCitzYWdhY2lvdXNuZXNzCitzYWdlL0tNUworc2FnZWx5CitTYWdpbmF3L00KK3NhaGliL1NNCitzYWlsYm9hcmRlcgorc2FpbG9yL01TWQorc2FsYWNpb3VzL1kKK1NhbGxlL00KK1NhbG9tb24vTQorc2FsdGxlc3MKK3NhbHV0ZS9TbkdORAorU2FsdmFkb3IvTQorU2FsdmFkb3Jhbi9TCitzYWx2b2VzCitzYW1lbmVzcworU2FtbWllL00KK3NhbXBhbi9NUworc2FuZC9aTURHMlMKK1NhbnNrcml0aXNlL00KK1NhbnRhbmEvTQorc2FwcHkvVAorU2FyYXRvZ2EvTQorU2FyZGluaWEvTQorU2FyZ2VudC9NCitTYXNzb29uL00KK1NhdGFuaXNtL00KK3NhdGlud29vZC9TTQorc2F0b3JpL00KK1NhdHVybmFsaWEncworc2F0eXJpYXNpcy9NCitTYXViZXIvTQorc2F1Y2VyL1MKK1NhdWt2aWxsZS9NCitTYXZveWFyZC9NCitzYXZ2aWVkCitzYXdmbHkvTVMKK3Nhdy1ob3JzZQorc2F3dG9vdGgKK3NheGlmcmFnZS9TTQorU2F4dG9uL00KK1NheXJlL00KK3NjYWxkZXIKK3NjYWxlbmUKK3NjYWxsaW9uL01TCitzY2FsbG9wL2RTTQorc2NhbGxvcGVyL00KK3NjYWxwL1JTTURHCitzY2FudHkvVAorc2NhcGVnb2F0L1NNCitzY2FyZS9TMloKK3NjYXRoZWQvVQorc2NlcHRpY2lzbS9NUworU2NoYWZlci9NCitzY2hlZHVsZXMvQQorc2NoZXJ6by9TTQorc2NoaXNtL01TCitzY2htb296ZQorc2Nob29saW5nL00KK3NjaG9vbmVyL1NNCitTY2h1YmVydC9NCitTY2h1bHovTQorU2NodXN0ZXIvTQorc2NpYXRpY2EvTQorc2NsZXJvc2VzCitzY29vdC9SU0RHCitzY29yYnV0aWMKK1Njb3RsYW5kL00KK3Njb3V0aW5nL00KK3Njb3dsZXIvTQorc2NyYWdnbHkvVAorc2NyYXB5YXJkL1NNCitzY3JlYW0va1JHU0QKK3NjcmVlbndyaXRlci9TTQorc2NyZXd5L1QKK3NjcmltL1NNCitzY3JpbW1hZ2VyL00KK3NjcmlwL00KK3NjcnVwdWxvc2l0eS9TTQorc2N1YmEvU00KK3NjdWxsZXJ5L1NNCitzY3VscHR1cmFsCitzY3VwcGVyZWQKK3NjeXRoZS9HU01ECitTZWEKK1NlYWdhdGUvTQorc2VhcmNoZWQvQQorc2VhcmNobGlnaHQvU00KK3NlYSdzCitzZWN0L0lTRQorc2VjdGlvbmFsaXNtL1NNCitzZWN1bGFyL1EzLThxWQorc2VjdXJpdHkvU01JCitzZWRhdGVuZXNzCitzZWRpbWVudC9Tbk5NCitzZWRpdGlvbi9TTQorc2VkaXRpb3VzL1kKK3NlZWQtYmVkL1NNCitzZWVkZWQvVUEKK3NlZ21lbnRhbAorc2VpZ25pb3J5L1MKK3NlaXNtb2dyYW0KK3NlaXNtb2xvZ3kvTTN3MQorc2Vpc21vbWV0ZXIvUworc2VsZWN0aXZpdHkvTQorc2VsZi1hYnNvcnB0aW9uCitzZWxmLWFuYWx5c2lzCitzZWxmLWFzc2VydGl2ZQorc2VsZi1jb25maWRlbmNlCitzZWxmLWRlZmVhdGluZworc2VsZi1kZXN0cnVjdC9EVkdTCitzZWxmLWRpc2NpcGxpbmUKK3NlbGYtZXhwcmVzc2lvbgorc2VsZi1pbmR1bGdlbnQKK3NlbGYtcHJvcGVsbGVkCitzZWxmLXJlZ3VsYXRpb24KK1NlbGZyaWRnZS9NCitzZWxmLXNhY3JpZmljZS9HCitzZWxmc2FtZQorc2VsZi1zdXJyZW5kZXIKK3NlbGYtc3VzdGFpbmVkCitzZWx2ZXMKK3NlbWFudGljLzNTWQorc2VtZWlvbG9neS8zCitzZW1pY29uZHVjdGluZworc2VtaXByZWNpb3VzCitzZW1pLXNvbGlkCitzZW1vbGluYS9NCitzZfFvcmVzCitzZW5zYXRlL3gKK3NlbnNvcnkKK3NlbnN1YWwvRlkKK3NlbnN1YWxpdHkvTVMKK3NlcHRlbm5pYWwvWQorc2VwdGlsbGlvbi9IUworc2VwdHVhZ2VuYXJpYW4vU00KK1NlcmJpYW4vUworc2VyZQorc2Vydm9tZWNoYW5pc20vTVMKK3NldC9lTVMKK3NldGJhY2svUworc2V0dGVlL01TCitzZXZlbnR5LW9uZQorc2V2ZXJhbAorU2V2ZXJuL00KK3Nld2VyYWdlL1NNCitzZXh0dXBsZXQvU00KK3NoYWNrbGUncworU2hhZmVyL00KK3NoYWcvWkRTRzJNCitzaGFrZW4vVQorc2hha2Utb3V0CitzaGFsbG93L1lTRFQKK3NoYW1teSdzCitzaGFuJ3QKK3NoYXJlLW91dAorU2hhcnBlL00KK1NoYXdhbm8vTQorc2hlZW4vWlNNCitzaGVlbnkvVAorc2hlZXBkb2cvU00KK3NoZWVwaXNoL1BZCitzaGVlcHNraW4vTVMKK1NoZWxsZXkvTQorc2hlbHZlL0RTRworc2hlcmRzCitTaGV2YXJkbmFkemUvTQorc2hpZWxkZWQvVQorc2hpbW15L01EU0cKK3NoaW5kaWcvU00KK3NoaW5lL1NlRworU2hpbnRvaXN0L01TCitzaGlwbG9hZC9TTQorc2hpcC1yaWdnZWQKK3NoaXAncworU2hpcmxleS9NCitzaGl0L1pHUworc2hvY2twcm9vZgorc2hvZS9wR1NNCitzaG9vdGluZy1jb2F0L1MKK3Nob3AtZ2lybC9TTQorc2hvdXQvZURHUworc2hvdy9HSm1SMnpTRFoKK3Nob3dlci9aZAorc2hvd24KK3NocmVkL0RSU01HCitzaHJld2QvVFlQCitzaHJpbmsvS1NHCitzaHJpbmthZ2UvU00KK3Nocmluay13cmFwcGVkCitzaHV0LW9mZi9NCitzaHV0dGxlL01HU0QKK1NoeWxvY2svTQorc2h5bHkKK3NoeW5lc3MvTQorU2lhbWVzZS9NCitTaWJlcmlhbi9TCitzaWJpbGFuY3kvTQorU2lieWwvTQorU2ljaWxpYW4vUworc2lja2JlZC9TCitzaWNraWUvTVMKK3NpY2tsZS1jZWxsCitzaWNrcm9vbS9NUworc2lkZWJ1cm5zCitzaWRlc2hvdy9TTQorc2lkZS1zbGlwCitzaWVnZS9TTQorU2llbWVucy9NCitTaWVuYS9NCitzaWVubmEvTQorc2lnaHQvY01TSQorc2lnaHRlZG5lc3MKK3NpZ2h0bGVzcy9ZCitzaWduYWwvLU1xUlE4R0RtU1kKK3NpZ25pZmljYXRpb24vTQorU2lsYXMvTQorc2lsa3NjcmVlbgorc2lsa3dvcm0vU00KK3NpbGx5L1RQUworU2lsdmEvTQorc2ltaWxlL01TCitzaW1vbgorc2ltb24tcHVyZQorc2ltb255L01TCitzaW1wbGUvVFkKK3NpbXBsZXgvUworc2ltdWxjYXN0L1MKK1NpbmFpL00KK3NpbmNlcmVseS9JCitzaW5jZXJpdHkvTVNJCitzaW5nZS9TCitzaW5nbGV0b24vTVMKK3NpbmsvUkc3Uworc2lua2FibGUvVQorc2luay1ob2xlL1NNCitzaW51cy9TTQorU2lvdXgvTQorU2lyaXVzL00KK3Npc2FsL1NNCitzaXRhcmlzdAorc2l0ZS9EU00KK3NpdHVhdGUvR25ETgorc2l4dHktZmlyc3QvUworc2l4dHktb25lZm9sZAorc2tlbGV0YWwvWQorc2tlcnJpZXMKK3NrZXRjaC9TelJNREdaMgorc2tpJ2QKK3NraWxsZXQvTVMKK3NraW5oZWFkL01TCitza2lwcGVyL2QKK3NreWRpdmUvU1JERworc2t5LWhpZ2gKK1NreXBlL00KK3NreXNjYXBlL1MKK3NsYWtlL1NHRAorc2xhbmRlcmVyL1MKK3NsYXBwZXIKK3NsYXR0ZXJuL1lTTQorc2xhdmUtZHJpdmUKK3NsYXZlci9kCitTbGF2b25pYy9NCitzbGVldHkvVAorc2xpbmdzaG90L1NNCitTbG9hbi9NCitzbG9zaC9ER1MKK3Nsb3djb2FjaC9NUworc2x1Zy9SU0dETQorc2x1bmcvVQorU21ldGh3aWNrCitzbWlsaW5nL1VZCitzbWlyay9TTURHCitzbWl0ZS9TRworc21pdGh5L1NNCitzbW9rZS9TUjJHWkRwTTcKK3Ntb290aGllL01TCitzbW9vdGgtdG9uZ3VlZAorU01TQS9TTQorc25hcHNob3QvTVMKK1NuZWxsL00KK3NuaWRlL1BUWQorc25pZnRlci9TTQorc25vb2QvU00KK3Nub3dibG93ZXIvUworc25vdy13aGl0ZQorc251Yi9ER1MKK3NvYXBib3gvU00KK3NvY2lhYmlsaXR5J3MKK3NvY2lhbGl0eS9NCitzb2Npby1lY29ub21pYy9ZUworc29jaW9saW5ndWlzdGljcy9NCitzb2RvbXkvUThTTQorc29mYS9TTQorc29mdC1ib2lsZWQKK3NvZnRpZSdzCitzb2Z0bmVzcy9TCitzb2ly6WUvTVMKK3NvbGQvQWZlY1UKK3NvbGRpZXJ5L1NNCitzb2xlbm9pZC9TTQorc29sZXMvSQorU29semhlbml0c3luL00KK3NvbWJyZW5lc3MKK1NvbmRoZWltL00KK3NvcC9ETUdaUworU29waG9jbGVzL00KK3NvcmJldC9NUworc29yY2VyeS9TTQorc29yZ2h1bS9NUworc29ydGllL1NNRAorc29ydGluZy9LCitzb3VnaHQvVQorc291bmRib2FyZC9NUworc291cnB1c3MvTVMKK3NvdXRoYm91bmQKK3NvdXRoLUVhc3Rlcm4KK3NvdXRocGF3L1NNCitTb3V0aHBvcnQKK3NvdXRod2VzdGVyL01TCitzb3V0aC13ZXN0ZXJsaWVzCitzb3V0aC13ZXN0J3MKK3Nvd24vQQorc295CitzcGFjZS1zYXZpbmcKK3NwYWRlL1NHTUQ2CitzcGFkaWNlcworc3Bhbi9HRFJNUworc3BhbmllbC9NUworU1BBUkNzdGF0aW9uL00KK3NwYXR1bGEvU00KK3NwYXZpbmVkCitzcGF3bi9NR1NECitzcGVha2luZy10dWJlCitzcGVhci9NR1NECitzcGVjdHJhL29NCitzcGVjdHJvZ3JhcGh5L00KK3NwZWN0cm9waG90b21ldHJ5L00KK3NwZWVjaC9wU00KK3NwZWx0L2EKK3NwZW5kZXIvU00KK3NwaGVydWxlL01TCitTcGllZ2VsL00KK3NwaW4tZHJpZXIvUworc3BpbmVsZXNzL1lQCitzcGluLW9mZi9TCitzcGluc3Rlci9NUworc3Bpcm9jaGFldGUvU00KK3NwbGF0dGVyL2RTCitzcGxheS9TREcKK3NwbGF5Zm9vdC9ETQorc3BsaW50L1JEU0dNCitzcGxpbnRlci9kWgorc3Bsb2RnZS9NUworc3BsdXJnZS9NRFNHCitzcGx1dHRlcmVyL00KK3Nwb2lsYWdlL01TCitzcG9rZXNoYXZlL1NNCitzcG9uZ3kvVAorc3BvbnNvcnNoaXAvUworc3BvbnRhbmVvdXMvWVAKK3Nwb29reS9UUAorc3BvdGxpZ2h0L1NNR0QKK3Nwb3RzL0MKK3Nwb3V0ZXIvTQorc3ByYXllci9NUworc3ByaW5nL1JaU3oyRworc3ByaW5nYm9hcmQvU00KK3Nwcmlua2xlL1JKU0RHCitzcHJpdGUvU00KK1NwdXRuaWsvTVMKK3NwdXR1bS9NCitzcHlob2xlCitzcXJ0CitzcXVhc2gvWkdEUzIKK3NxdWlnZ2x5L1QKK3NxdWlydC9TR0QKK3NxdWlzaHkvVAorU1JBL00KK3N0YWJsZS1sYWQvU00KK3N0YWNrLzdHU0RNCitzdGFnZWNvYWNoL01TCitzdGFpbi9TcERHCitzdGFsZS9QVFlERworc3RhbGwvU0dJRAorc3RhbWVuL01TCitzdGFuZGFyZC9zOXFRLThTCitzdGFuZGFyZGlzZWQvVQorc3RhbmQtb2ZmaXNoCitzdGFybGluZy9TTQorc3RhcnJ5L1QKK3N0YXJzdHJ1Y2sKK3N0YXJ0ZWQvQQorc3Rhc2gvR1NECitzdGF0ZXJvb20vU00KK3N0YXRlcy81bQorc3RhdGVzbWFubGlrZQorc3RhdGljL1lTCitzdGF0aW9uYXJ5CitzdGF0dWFyeS9TTQorc3RhdHVldHRlL1NNCitzdGF0dXRlL1N5TQorc3RhdW5jaG5lc3MKK3N0ZWFkeWluZworc3RlYWsvU00KK1N0ZWFybnMKK3N0ZWVwL1RTR0RZCitzdGVlcnMvbQorc3RlbmNpbC9EU01HSgorU3RlcG5leS9NCitzdGVyaWxlL1E4cS1zOQorc3Rlcm5uZXNzCitzdGlja2xlYmFjay9NUworc3RpZ21hdGl6YXRpb24vQ1MKK1N0aWxsd2VsbC9NCitzdGluay9HWlNSaworc3RpcHBsZXIvTQorc3RvY2twb3QvU00KK1N0b2Nrd2VsbC9NCitzdG9sb24vTVMKK3N0b21hCitzdG9tYXRhCitzdG9uZS9wU01aREcKK3N0b25ld29yay9NCitzdG9wcGFnZS9TTQorc3RvcmVyL0EKK3N0b3JtLWJpcmQvU00KK1N0cmFkaXZhcml1cy9NCitzdHJhaWdodC9TVFBZCitzdHJhaWdodGVuL3JTZAorc3RyYWlnaHQtZmFjZWQKK3N0cmFpdG5lc3MKK3N0cmFuZ2UvUFRZUgorU3RyYXNib3VyZy9NCitzdHJhdGEvTQorc3RyYXRvc3BoZXJlL1NXTTEKK3N0cmVzc2Z1bC9ZCitzdHJldGNoYWJsZQorc3RyZXdlcgorc3RyaWN0ZXIvRgorc3RyaWN0bmVzcworc3RyaWZlL00KK3N0cmluZ2VkCitzdHJpbmdlci9NUworc3RyaW5neS9UUAorc3RyaXBlL1NNRFpHCitzdHJ1Y3R1cmUvQVNHRAorc3R1YmJvcm4vVFlQCitzdHVtcC9aU0RHTQorc3R1bi9HU0QKK3N0dW5uZXIvTQorc3R1bm5pbmcvWQorc3R1bnQvaVNER00KK3N0dW50bWFuL00KK3N0dXBlZnkvU2tHRAorc3R1cGlkZXIKK3N0dXJkeS9UWVAKK3N0dXR0ZXIvZFMKK3N0eW1pZS9TRAorU3R5cm9mb2FtCitzdWItY2xhdXNlL1MKK3N1YmNvbW1hbmQvUworc3ViY29udGluZW50YWwKK3N1Yi1lZGl0b3JpYWwKK3N1Ym1hcmluZS9SU00KK3N1Ym9yZGluYXRlL0lTTllER24KK3N1YnJvZ2F0aW9uL00KK3N1YnNlcnZpZW50L1kKK3N1YnNpZGVuY2UvTQorc3Vic2lkeS9TTQorc3Vic3RhbnRpYWwvWUkKK3N1YnN0cmF0ZS9NUworc3VidHJhaGVuZC9TTQorc3VidHJvcGljcworc3VjY2VlZC9EU0cKK3N1Y2NpbmN0L1BZCitzdWZmcmFnYW4vUworU3VmaS9NCitzdWdhci1kYWRkeS9TTQorc3VnZ2VzdC9SR3VWdlNEYgorc3VpY2lkYWwKK3N1aXRhYmxlbmVzcworc3VpdGFibHkvVQorc3VpdGVkL1UKK1N1a2tvdGgncworc3VscGh1ci9NZFNXCitzdWx0YW5hdGUvTVMKK1N1bWF0cmFuL1MKK3N1bW1lcnRpbWUvTQorc3VtbWl0L1NwTQorc3VubnkvVFAKK3N1cGVyYi9QWQorc3VwZXJjb25kdWN0b3IvTVMKK3N1cGVyZXJvZ2F0b3J5CitzdXBlcmZsdW91c25lc3MKK3N1cGVybmFsCitzdXBlcnNvbmljL1lTCitzdXBlcnZpc2lvbi9NCitzdXBwbGljYW50L1NNCitzdXBwbHkvQVNER2MKK3N1cHBvc2FibGUKK3N1cHByZXNzL05YVkdEU2IKK3N1cHJlbWUvWVAKK3N1cmUtZmlyZQorc3VyZmFjZXMvQQorc3VyZ2Uncworc3VybHkvUFRZCitzdXJwYXNzL0drU0QKK3N1cnByaXNlL2tTTURHCitzdXNjZXB0aWJsZS9JCitTdXNldHRlL00KK3N1c3BpY2lvbi9TTQorc3VzdGFpbmFibGUvVQorc3dhbXBsYW5kL1NNCitzd2FubGlrZQorU3dhbnNlYS9NCitzd2F5YmFjay9EUworc3dlYXQvUlpTR01EMnoKK3N3ZWV0ZW5pbmcvTQorc3dlZXRoZWFydC9TTQorc3dpbXN1aXQvTVMKK3N3aXNoaWVyCitzd2l0Y2hiYWNrL01TCitTd2l0emVyL00KK3N3aXp6L1MKK3N3b3JkZmlzaC9TTQorc3dvcmRwbGF5L00KK3N3b3JkdGFpbC9NCitzeWxsYWJpCitTeWx2YW5pYS9NCitTeWx2aWUvTQorc3ltYmlvbnQvTQorc3ltYm9saXNtL1NNCitzeW1ib2xpc3QKK3N5bW1ldHJ5L1E4U1dNMXcKK3N5bXBhdGhldGljL1VZCitzeW5jaHJvdHJvbi9NCitzeW5jb3BhbAorc3luY29wYXRvci9TTQorc3lub3BzZXMKK3N5bnRhY3RpY2FsCitzeW50aGVzaXplL0FER1MKK1N5cmlhbi9NUwordGFiL0dNWlNECitUYWJiL00KK3RhYmxlc3Bvb24vNlNNCit0YWNob2dyYXBoL1MKK3RhY2l0L1BZCit0YWNrL1NNCit0YWN0L2pXTTZwMXcKK3RhZmZyYWlsL01TCitUYWhvZS9NCit0YWludC9TR0QKK1RhaXdhbmVzZQorVGFsYmVydC9NCit0YWxlbnQvcE1EUwordGFsZW50ZWQvVQordGFsay9SRHZTdVpWRwordGFsbGlzaAorVGFsbHVsYWgvTQordGFsdXMvU00KK1RhbWlsL1NNCit0YW1wL0RHUworVGFtd29ydGgKK3RhbmFnZXIvU00KK1RhbmR5L00KK3RhbmdlbnRpYWwvWQordGFuZ2libHkvSQordGFuZ2xlJ3MKK1RhcmEvTQordGFyZS9TTQordGFybi9NUwordGFzc2VsL0dNRFMKK3Rhc3RlZnVsL0VQCit0YXQvclNHRFoKK3RhdXQvVFkKK3RhdXRvbG9nb3VzCitUYgorVGJpbGlzaS9NCit0ZWFjYWtlL1NNCit0ZWFjaGVzL0EKK3RlYWN1cGZ1bC9TTQordGVhbXdvcmsvTQordGVhci82cE1HU2oKK3RlYXNwb29uLzZNUwordGVjaG5pY2lhbi9TTQordGVjaG5vcGhpbGVzCit0ZWNobm9waG9iaWMKK3RlZW5zL1oKK3RlZW55LWJvcHBlci9NUwordGVldGgvREdNCit0ZWV0aGUKK3RlbGVjYXN0L1JTRworVGVsZWNvbQordGVsZWtpbmVzaXMvTQordGVsZXBob25lL0czWk1TRFcKK3RlbGVwcmludGVyL1NNCitUZWxlUHJvbXBUZXJzCit0ZWxseS9NUwordGVtcGVyYW1lbnQvbwordGVtcG8vU00KK3RlbmFjaW91c25lc3MKK3RlbmRlbmN5L1NNCit0ZW5kZXJlc3QKK1Rlbm5lY28vTQordGVubmVyCit0ZW5zaWxlCit0ZW5zaW9uL0tNUwordGVuc29yL1NNCit0ZW50L0RGTUdTCit0ZW50YXRpdmUvWQordGVudGgvWQordGVyYml1bS9NCitUZXJpL00KK3Rlcm0vR0RTTQordGVybWluYXRvci9TTQordGVybWlub2xvZ3kvU013MQorVGVycmVuY2UvTQorVGVycmllL00KK3RlcnJpbmUvTQordGVzdGltb25pYWwvTVMKK3Rlc3Rpcy9NCit0ZXN0eS9UWQordGV0cmEvU00KK3RleHR1YWwvRlkKK1RoYWlsYW5kL00KK3RoZWlzbS9NUwordGhlb3JldGljL1kKK3RoZXJlYWJvdXQvUwordGhlcmV0b2ZvcmUKK3RoZXJldW5kZXIKK3RoZXJtL29TTQordGhlc2F1cmkKK1RoZXNzYWxvbmlhbgordGhleSdkCit0aGlnaC9NUwordGhpcnRlZW4vSE0KK3RoaXJ0eS1maXZlL0gKK3RoaXMKK3Rob2xlL00KK1Rob3IvTQordGhvdWdoCit0aG91Z2h0cworVGhyYWNpYW4vTQordGhyZWFkJ3MKK3RocmVhdGVuL2RTawordGhyZWUtZm9sZAordGhyZWUtd2hlZWxlcgordGhyZXNoL1NEUkcKK3RocmVzaG9sZC9NUwordGhyb2UvU00KK3RodWcvU00KK3RodWdnZXJ5L00KK3RodW5kZXJmbGFzaC9TCitUaHVyc3Rvbi9NCit0aHlyaXN0b3IvU00KK3RoeXJvdHJvcGluCit0aWNrLXRvY2svR1NETQordGlkZS9aRDJTb0pHCit0aWRld2F0ZXIvU00KK3RpZGlseS9VCitUaWVuYW5tZW4KK3RpZXMvQVUKK3RpZmYvTVMKK3RpZ2VyL01TCit0aW1icmUvTVMKK3RpbWUvcFlSRFNKTUcKK3RpbWVwaWVjZS9TTQorVGltb3RoeS9NCit0aW5nZWluZwordGlubml0dXMvTQordGluLXBhbgordGluLXBsYXRlL00KK3RpbnNlbC9NR1NEWQordGlwc3kvVFAKK1RpcmFuZQorVGlyZWUvTQordGl0aWxsYXRlL1NuREdrTgordGl0bGUvU0dBRAordGl0bGVkL1UKK3RvYWR5L1NER00KK3RvYWR5aXNtL00KK1RvZGQvTQordG8tZG8KK1RPRUZMCit0b2lsZXR0ZS9TTQorVG9reW9pdGUvTVMKK3RvbGwvREdTCit0b21mb29sCit0b25lcy9mYwordG9uZ3VlLXRpZWQKK3Rvbmd1ZS10d2lzdGVyL1MKK1RvbmkvTQordG9ubmFnZS9TTQordG9uc29yaWFsCit0b3Bjb2F0L01TCit0b3IvTQordG9yY2gvU01ERwordG9yZWFkb3IvU00KK3RvcnNpb25hbAordG9yc2lvbidzL0kKK3RvcnR1cm91cwordG91Y2hkb3duL01TCit0b3VjaGluZy9ZCit0b3VjaHkvVFBZCit0b3VnaC1taW5kZWQKK3RvdXJpc20vTVMKK3Rvd2VsL1NNREcKK3Rvdy1saW5lL1NNCit0b3duc2ZvbGsKK3Rvdy1yb3BlL1NNCitUb3lvdGEvTQordHJhY2VhYmxlL1UKK1RyYWNleS9NCit0cmFjaW5nL01TCit0cmFjdGlvbi9GQ0VTTUEKK1RyYWZhbGdhci9NCitUcmFmZm9yZAordHJhZ2VkeS9TTQordHJhaWwvR1JTRAordHJhaWxzL0YKK3RyYWluYWJsZS9VCit0cmFuY2hlL01TCit0cmFucXVpbC9ZCit0cmFuc2NyaXB0aW9uYWwKK3RyYW5zZm9ybWF0aW9uYWwKK3RyYW5zaWVuY3kvUwordHJhbnNpZW50L1NZCit0cmFuc2xhdGlvbmFsCit0cmFuc2x1Y2VuY2UvWk0KK3RyYW5zbWl0dGFsL01TCit0cmFuc3Bvc2FibGUKK3RyYXZlbG9ndWUvTVMKK3RyYXZlcnNlL0RTRworVHJhdmlzL00KK3RyZWFzb24vUzdNCit0cmVtYmx5L1QKK1RyZW50b24vTQordHJpYWxsZWQKK3RyaWJhbC9ZCit0cmljeWNsZS9TTQordHJpZW5uaWFsL1lTCit0cmlmbGUvR1JNU0QKK3RyaWxvZ3kvU00KK3RyaXBsYW5lCit0cmlwbGV4L1MKK3RyaXB0eWNocwordHJpdGUvWUYKK3RyaXVtcGgvU0RHTQordHJvbGxleWJ1cy9TCit0cm9sbG9wL1NNCit0cm9waWMvU00KK3Ryb3VibGVkL1UKK3Ryb3VibGVzaG9vdC9HUlMKK3RydW1wZXJ5L1NNCit0cnVuY2hlb24vTVMKK3RydXN0aW5lc3MKK3RydXN0d29ydGhpbmVzcy9VCit0cnlpbmcvWQordHViYS9TTQordHViZXJvdXMKK3R1bXVsdHVvdXMvUFkKK3R1bmFibGUvQwordHVubmVsL0pTUkdETQordHVwZWxvL00KK3R1cmJpZAordHVyYm9jaGFyZ2VkCit0dXJmeS9UCit0dXJnaWRpdHkvU00KK3R1cm5hYm91dC9NUwordHVybmtleS9NCit0dXJuLXVwL1MKK3R1cnF1b2lzZS9NUwordHVycmV0ZWQKK3R1c3NsZS9TREcKK1RXQS9NCit0d2VlZC9NUzJaCitUd2VlZGxlZGVlL00KK1R3ZWVkbGVkdW0vTQordHdlbHZlL0gKK3R3ZW50eS9TSAordHdlbnR5LXNlY29uZC9TCit0d2lsaXQKK3R3aWxsL0RTRwordHdpdGNoL1NHRFoKK3R3by1lZGdlZAordHdvLXN0ZXAKK3R3by10b25lCitUeWRmaWwvTQorVHlsZW5vbC9NCit0eW1wYW5pCit0eW1wYW51bS9TTQordHlwaG9vbi9TTQordHlwaWZ5L0RHUworVURQCitVTAordWx0cmFjZW50cmlmdWdlL00KK3VsdHJhbW9kZXJuCit1bHVsYXRlL05uU0dECit1bWJlci9TTQorVW1iZXJ0by9NCit1bWJpbGljdXMvTQordW1icmFlCit1bmFwcGVhc2FibGUKK3VuY2Vhc2luZy9ZCit1bmNoYW5naW5nL1kKK3VuY2xlYXIKK3VuY29tbW9uCit1bmNvbXByZWhlbmRpbmcvWQordW5jb25mdXNlZAordW5jb25zdGl0dXRpb25hbAordW5jb3V0aC9ZCit1bmN1cmwvRwordW5kZXJjb3ZlcgordW5kZXJlbXBoYXNpcwordW5kZXJncm91bmQKK3VuZGVycmF0ZS9HU0QKK3VuZGVyLXJlcG9ydAordW5kZXJzdGFuZGluZ2x5Cit1bmRyYW1hdGljCit1bmZlZWxpbmcKK3VuZmxhcHBhYmxlL1kKK3VuZm9sZC9HCit1bmZ1c3N5Cit1bmdvZGx5Cit1bmdyYXRlZnVsCitVTklDRUYKK3VuaWNvcm4vU00KK3VuaWRpcmVjdGlvbmFsaXR5Cit1bmlmaWNhdGlvbi9NQQordW5pbGF0ZXJhbGlzdC9TCit1bmltcGVhY2hhYmxlL1kKK3VuaXByb2Nlc3NvcgordW5pdGFyeQordW5pdGUvQUdFRFMKK3VubWFuYWdlYWJsZS9ZCit1bm1hbm5lcmVkL1kKK3VubWVhbmluZwordW5uYXR1cmFsCit1bnBsZWFzYW50bmVzcwordW5yZWFzb25pbmcvWQordW5yZXN0Cit1bnJvbWFudGljL1kKK3Vuc25hcC9HRAordW5zdWJ0bGUKK3Vud291bmQKK3VwY29taW5nCit1cGRyYXVnaHQvU00KK3VwZ3JhZGUvRFNHNwordXByaXZlcgordXByb290L1NHRAordXBzaWxvbi9NUwordXBzdGFpcnMKK3VwdHVybi9TR0QKK1VyYWwvUwordXJldGVyL01TCit1cmluZS9uTU5TCitVU0EKK3VzYWJsZS9VQQorVVNTCit1c3VyaW91c25lc3MKK3V0ZXJ1cy9NCit1dGlsaXplL2ZuRFNORwordmFjdW9sZS9TTQordmFndWUvVFkKK3ZhZ3VlbmVzcwordmFsb3VyL00KK3ZhbHZ1bGFyCit2YW5kYWxpc20vTVMKK3Zhbmd1YXJkL01TCit2YW5pdHkvTVMKK3ZhcmlhYmxlL0lTCit2YXJpYWJsZW5lc3MKK3ZhcmlhdGUvTW54TlMKK3Zhcm5pc2gvU0RNRworVmFzc2FyL00KK1ZhdWdoYW4vTQordmVjdG9yaW5nCitWZWRhbnRhL00KK3ZlZXIvREdTCit2ZWxkdC9NCit2ZW5hbC9ZCit2ZW5pYWxpdHkvUworVmVubi9NCit2ZW50aWxhdGVkL1UKK3ZlbnRyaWxvcXV5Cit2ZW50dXJpCit2ZXJiL1NNCit2ZXJiZW5hL01TCit2ZXJib3NlbmVzcwordmVyYm90ZW4KK3ZlcmRhbnQvWQordmVyZ2UvR0ZTRAorVmVybmEvTQordmVydGVicmFsCit2ZXJ0ZXgvTVMKK3ZldGVyaW5hcmlhbi9TTQordmV4YXRpb24vU00KK3ZleGluZwordmlhCit2aWFkdWN0L01TCit2aWJyYXRvL1NNCit2aWJ1cm51bS9TTQordmljYXIvU00KK3ZpY2UtY2hhbmNlbGxvcnNoaXAvUworVmljaHkvTQordmljaW5pdHkvTVMKK3ZpY2lvdXNuZXNzL1MKK1ZpY2tlcnMvTQorVmlja2llL00KK3ZpY3RpbS9zOVE4LU1xcFMKK3ZpZ2lsYW50ZS9TTQordmlnb3VyL00KK3ZpbGxhZ2UvUlNNCitWaWxsYWluYWdlCit2aWxsZWluYWdlL00KK1ZpbG5pdXMvTQorVklQL1MKK3Zpcmd1bGUvTVMKK3Zpcm9sb2d5L00KK3ZpcnVsZW50L1kKK3Zpcy9iTlgKK3Zpc2NvdW50ZXNzL01TCit2aXNvcmVkCit2aXRhbGl6aW5nL0MKK3ZpdGFtaW4vTVMKK3ZpdHJpZnkvTkdTbkQKK3ZpdmlzZWN0aW9uaXN0CitWbGFkaW1pci9NCitWLW5lY2sKK1ZPQQordm9jYWJsZS9BSQordm9jaWZlcmF0ZS9HU05EbgorVm9ldHN0b290cworVm9nZWwvTQordm9pY2Uncy9JCit2b2lkL0dEN1MKK3ZvaWxlL1NNCitWb0lQCit2b2x1bnRlZXIvTUdTRAordm9ydGljaXR5L00KK3ZvdGFyeS9NUwordm90ZS9DREdlUwordm90ZSdzCit2b3lhZ2UvU01SR0QKK3ZveWV1ci9NUworVnVsY2FuL00KK3Z1bGdhci9RLThZcQord2FnZS1lYXJuaW5nCitXYWduZXIvTQorV2Fpa2F0by9NCit3YWl0L1JEU0cKK1dhaXRlL00KK1dhbGNvdHQvTQord2Fsay1vbgord2Fsa292ZXIvTVMKK3dhbGxvdy9HRFMKK1dhbHRoYW0vTQorV2FsdmlzL00KK1dhcmJ1cnRvbgord2FyaG9yc2UvU00KK3dhcnQvTVMKK3dhcnRob2cvUword2FzcC9NUword2F4d29yay9NUworV2F5bmUvTQord2VhcmVyL1NNCit3ZWF2ZXJiaXJkCit3ZWJiaW5nL00KK3dlJ2QKK3dlZWtkYXkvU00KK3dlZW55Cit3ZWlnaC9lU0FERword2VpZ2h0bGlmdGluZy9NCitXZWluZXIvTQorV2Vpc3NtYW4vTQorV2VsY2gvTQord2VsY29tZS9VRword2VsY29tZXMKK3dlJ2xsCit3ZWxsLWRlZmluZWQKK3dlbGwtZGlzY2lwbGluZWQKK3dlbGwtZW5kb3dlZAord2VsbC1lcXVpcHBlZAorV2VsbGluZ3Rvbi9NCit3ZWxsLWtub3duCit3ZWxsLWxvdmVkCit3ZWxsLW1hZGUKK3dlbGwtbWVhbnQKK3dlbGwtdGhvdWdodC1vdXQKK1dlbHNod29tZW4KK3dlcmV3b2xmL00KK1dlcm5lci9NCitXZXN0L00KK3dlc3Rlcm5tb3N0CitXZXN0bWVhdGgvTQorV2VzdG9uL00KK3dlc3R3YXJkL1MKK1doYXJ0b24vTQord2hhdGV2ZXIKK3doYXQncmUKK3doYXRzb2V2ZXIKK3doZWVsY2hhaXIvU00KK3doZWVsaWUvU00KK3doZW4KK3doZW5jZQord2hlcmVvZgord2hldword2hpcC9NSkdTRAord2hpc2tlci9aCit3aGlzdGxlL0RSU0cKK1doaXRlZmllbGQvTQord2hpdGV3YXNoL0RHTVMKK3dob2EKK3dob2xlZ3JhaW4KK3doeQorV2ljaGl0YQord2lkZ2Vvbi9NCit3aWRvdy9STVNERword2lkdGgvU00KK1dpbGJlcmZvcmNlL00KK1dpbGxpZS9NCit3aWxsaW5nbmVzcy9NCitXaWx0b24KK1dpbWJsZWRvbi9NCit3aW5jZS9TREcKK3dpbmNoZXIvTQorV2luZHNvci9NCit3aW5lZ2xhc3MvU00KK3dpbmVyaWVzCit3aW5nL3BtUkdETQord2ludGVyJ3MKK3dpc2UvVFlTCit3aXNweS9UCit3aXN0ZnVsL1kKK3dpdGhkcmF3L1NHCit3aXRoZHJhd2VyL00KK3dpdGhlcmVkCit3aXRoaGVsZAord2l0cy9lCitXTlAKK3dvYmJseS9UCit3b2xmcmFtL01TCit3b21hbi9Nc1FZCit3b25kcm91c25lc3MKK3dvby9EUkdTCit3b29kYmluZS9TTQord29vZGNhcnZpbmcvU00KK3dvb2RsYW5kZXIKK3dvb2YvRFJHTVMKK1dvb25zb2NrZXQKK3dvcmQncworV29yZHN3b3J0aC9NCit3b3JraG91c2UvU00KK3dvcmttYW5saWtlCit3b3JrcGxhY2UvU00KK3dvcmxkd2lkZQord29ybWVyL00KK3dvcnJpZWQvVQord29ycnkvUkRrU0doCit3b3JzZW4vZFMKK3dvdW5kL01ESlNHCit3b3VuZGVkL1UKK3dvdmUvQQord3Jlc3RsZS9EUkdTCitXcmlnaHQKK3dyaW5rbGVkL1UKK3dyb25nLWhlYWRlZG5lc3MKK3dyb3RlL2ZBYword3JvdWdodC1pcm9uCitXVgorV3lrZWhhbQorWGVuaWEKK1hlbml4L00KK3hlbm9waG9iZS9NV1MKK1hlcm94L1NER00KK3lhY2h0LzVtTVNERworWWFraW1hCit5YW1tZXJlci9TCit5YW5nCit5ZW4vRFNHTQoreWV0aS9TTQoreWV3L1NNCit5aWVsZC9EU0cKK3lvZ2kvU00KK1lvcmtlci9TCitZb3Jrc2hpcmVtYW4KK1lvc3QvTQorWW91bmdiZXJyeQoreW91cnNlbGYKK3lvdXRoZnVsbmVzcworWXVhbgorWXViYQorWXVjYXRhbgorWXVnb3NsYXZpYS9NCit5dW0vWgoreXVwcGllL1NNCitZdXJpCitaYW1iaWFuL1MKK1phbnppYmFyCitaYXdhaGlyaQoremVhbC9NCit6aWdndXJhdC9TTQorWmlvbi8zTQorWmlvbmlzbQorem9vcGh5dGUvU00KK2FiYWNrCithYmF0ZS9ETEdTCithYmJlc3MvU00KK0FiZS9NCitBYmVsL00KK2FibGF0ZS9TREcKK2Fib21pbmF0aW9uL00KK2Fib3ZlCithYnJpZGdlZC9VCithYnJpZGdlci9NCithYnNlbmNlL1NNCithYnNvbHV0ZS9QVFkzUworYWJzb2x2ZS9HU0QKK2Fic29yYmVkL1VBCithYnN0YWluL1JHU0QKK2Fic3RyYWN0ZWRuZXNzL1MKK2Fic3RyYWN0aW9uaXNtL00KK2FidXNlci9NUworYWJ1c2l2ZS9ZUAorYWJ1enoKK0FDCithY2FkZW1pYy9TCithY2FkZW1pY2lhbnNoaXAKK2FjY2VsZXJhdGUvTlZEU25HaworYWNjZW50L0dNRFMKK2FjY2VudGVkL1UKK2FjY2VudHVhdGlvbi9NCithY2NpZGVudC9vTVMKK2FjY2lkZW50YWwvU1AKK2FjY29tcGxpY2UvU00KK2FjY291bnRhYmlsaXR5L1NNCithY2NvdW50YWJsZS9QCitBY2NyYS9NCithY2NyZWRpdGF0aW9uL00KK2FjY3VtdWxhdGlvbi9NCithY2N1cmF0ZW5lc3MvUworYWNjdXNhdGlvbi9NCithY2N1c2F0b3J5CithY2N1c3RvbWVkbmVzcy9NCithY2VyCithY2VyYml0eS9TTQorYWNldGljCitBY2hhZWFuL00KK2FjaGluZy9LWQorYWNpZG9waGlsZXMKK2Fjb3VzdGljL1NZCithY291c3RpY3MvTQorYWNxdWllc2NlbnQvWQorYWNxdWlyYWJsZQorYWN0L2NTNEdBRAorYWN0aW9uZWQKK2FjdGl2YXRlZC9BCithY3R1YXJpYWwKK2FjdXByZXNzdXJlL1MKK2FkZGVuZHVtL00KK2FkZGxlL0RTRworQWRlbmF1ZXIvTQorYWRoZXNpdmUvUE1TWQorYWRqb2luL1NERworYWRqb3Vybi9TTERHCithZG1hbi9NCithZG1vbmlzaC9Ta0dMRAorYWRtb25pc2hlci9NCithZG9yYXRpb24vTQorQWRyaWF0aWMvTQorYWR1bHRlcmF0ZWQvVQorYWR1bHRlcm91cy9ZCithZHZhbnRhZ2UvTUVER1MKK2FkdmFudGFnZW91cy9FWQorYWR2ZW50dXJpc20KK2FkdmVyYi9Tb00KK2FlcmF0ZS9OU25ERworYWVyaWFsL00zUworYWVybworYWVyb2Fjb3VzdGljCithZXJvbmF1dGljL1NZCithZXJvbmF1dGljYWwKK2Flcm9zcGFjZS9TTQorYWZmYWlyL1NNCithZmZpYW5jZS9TREcKK2FmZnJpY2F0aW9uL00KK2FmZnJpZ2h0CithZmZyb250L0dETVMKK0FmZ2hhbi9TTQorYWZpY2lvbmFkby9NUworYWZpcmUKK2Fmb3JldGhvdWdodAorYWZ0ZXJtb3N0CithZnRlcnNob2NrL01TCithZnRlcndvcmQvU00KK0FnCithZ2Utb2xkCithZ2VyYXR1bS9NCitBZ2dpZS9NCithZ2dsdXRpbmF0ZS9uVkdORFMKK2FnZ3JlZ2F0aW9uL0UKK2FnbGVhbQorQWduYXRoYQorYWdvcmFwaG9iaWEvU00KK2FncmFyaWFuaXNtL01TCithaWRlLWRlLWNhbXAKK2FpZ3JldHRlL1NNCithaWxlcm9uL01TCithaXJzaGlwL01TCithaXJzcGVlZC9TTQorYWlyc3RyaXAvU00KK0FsYWJhbWFucworQWxhc3RhaXIvTQorQWxiYW5pYS9NCitBbGJlcnRvL00KK0FsYmlvbi9NCitBbGJ1cXVlcnF1ZS9NCithbGNvaG9sL01XMVMKK0FsZHVzCithbGVwaC9NCitBbGVwcG8vTQorQWxmYS9NCithbGZyZXNjbworYWxnYS9NCitBbGdvbnF1aW4vTQorYWxpYmkvR1NNRAorYWxpdmVuZXNzL1MKK0FsLUphemVlcmEKK2FsbGF5L0dTRAorYWxsZWdlL05TaG5ERworYWxsZWdvcmljYWxuZXNzCithbGxldmlhdGUvU1ZEbkdOCithbGwtaW5jbHVzaXZlCithbGwtaW4tb25lCithbGxpdGVyYXRpb24vTQorYWxsb2NhdGUvQ0RuQUdTS04KK2FsbG90dGluZy9BCithbGxvd2VkL0UKK2FsbG93cy9FCithbGwtcGVydmFkaW5nCithbGwtcm91bmQKK2FsbHVzaXZlL1AKK2FsbHVzaXZlbmVzcy9TCithbG1vbmQvU00KK2Fsb2UvU00KK2Fsb29mL1BZCithbHBhY2EvU00KK2FscGhhL1NNCitBbC1TaGFyaWYKK2FsdGVyL2RTNworYWx0ZXJjYXRpb24vTQorYWx0ZXJlZC9VCithbHRpbWV0ZXIvTVMKK0FsdmluL00KK2FtYWxnYW1hdGlvbi9NCitBbWFuZGEvTQorYW1hdGV1cmlzaC9QWQorQW1hem9uL01TCithbWJhc3NhZG9yL1NNCithbWJpZW50CithbWJsZXIvTVMKK2FtYmxpbmcKK2FtYnVsYW50L1MKK2FtZWxpb3JhdGlvbi9NCithbWVuZC9MRFNHNworYW1pZAorYW1pbmUvUworYW1tby9TTQorYW1uaW9jZW50ZXNpcy9NCithbW9lYmEvTVNXCithbW9yYWxpdHkvU00KK2FtcC9TWUdNRAorYW1waGV0YW1pbmUvTVMKK2FtcG91bGUvTVMKK2FteWwvTQorYW4vQ1MKK2FuYWJvbGljCithbmFjb25kYS9TTQorYW5hbGdlc2lhL01TCithbmFsb2dvdXMvUFkKK2FuYWx5c2UvR1dEUworYW5hbHl0aWMvWQorYW5hcGxhc21vc2lzL00KK2FuYXJjaGlzbS9TTQorQW5hc3Rhc2lhL00KK2FuYXRvbXkvUTgxM3dTV00KK2FuY2VzdHJ5L1NNCithbmNob3JhZ2UvTVMKK2FuY2hvcmVzcworYW5jaWxsYXJ5L1MKK0FuZGVyc2VuL00KK0FuZG92ZXIvTQorYW5lbW9uZS9NUworYW5ldXJ5c20vU00KK2FuZ2luYS9NUworYW5nbGV3b3JtL01TCitBbmdsb3Bob2JlL00KK2FuZ3J5L1BUWQorYW5nc3Ryb21zCithbmltYWR2ZXJ0L0dEUworYW5pbWlzbS9NUworYW5pbW9zaXR5L01TCithbm5vdGF0b3IvU00KK2Fubm91bmNlL1JEU0xHCithbm5veWFuY2UvTVMKK2FubnVsL0dMRFMKK2FubnVsdXMvTQorYW5udW5jaWF0ZS9ORG5TRworYW5udW5jaWF0aW9uL00KK2Fub2ludGVyL00KK2Fub21pYworQW5zZWxtL00KK2FudGFjaWQvU00KK0FudGFyY3RpY2EvTQorYW50ZXJvb20vTVMKK2FudGhyYWNlcworYW50aHJvcG9pZC9TCithbnRocm9wb2xvZ3kvMzF3TVMKK2FudGktYWJvcnRpb24vMworYW50aS1hYm9ydGlvbmlzdAorYW50aWJhY3RlcmlhbC9TCithbnRpY2xpbmUvTVMKK2FudGlnZW4vTVNXCithbnRpbm9teS9NCithbnRpc2Vwc2lzL00KK2FudGlzZXJ1bS9TTQorQW50b25pby9NCithbnRvbnltL1NNCithbnRvbnltb3VzCitBbnR3ZXJwL00KK2FwaG9yaXNtL01TCithcGljZXMncworYXBvbGFyCithcHBlYXJlci9TTQorYXBwZW5kYWdlL1NNCithcHBlbmRlY3RvbXkvU00KK2FwcGV0aXplci9TTQorYXBwbGUtY2FydC9NCithcHBsZS1waWUKK2FwcGxpYW5jZS9TTQorYXBwbGljYWJsZS9ZCithcHBsaWVkL0FhCithcHBsaWVyL2FNCithcHBvc2l0aW9uL00KK2FwcHJhaXNpbmcvWQorYXBwcmVjaWF0aXZlL0lZUAorYXBwcmVoZW5kL0R2TlZTR3VYCithcHByZWhlbnNpdmUvUAorYXBwcm9iYXRlL05uCithcHByb3ByaWF0ZWx5L0kKK2FwcHJvcHJpYXRpb24vTQorYXBwcm92YWwvTUVTCithcHB1cnRlbmFuY2UvTVMKK2FxdWFsdW5nL01TCithcmFiaWxpdHkvTVMKK0FyYXJhdC9NCithcmJpdHJhcnkvUFkKK2FyYm9yZXR1bS9TTQorYXJib3J2aXRhZS9TTQorYXJjaGFpc2UvUkRTRworYXJjaGRpb2Nlc2UvTVMKK2FyY2hpdGVjdHVyYWwKK2FyZG91ci9TTQorYXJlL0IKK2FyZW5hL01TCithcmdvc3kvTVMKK2FyZ3VlLzdEUlNHCitBcmd1cworQXJpYW4vU00KK0FyaWVsL00KK2FyaXN0b2NyYWN5L1NNCitBcmxlbmUvTQorQXJtYWdlZGRvbi9NCithcm1iYW5kL01TCithcm1mdWwvU00KK2FybWhvbGUvU00KK2FybWxvYWQvTQorYXJtb3VyL1NSREdNWgorYXJteS9NUworYXJvbWF0aWNpdHkvTQorQXJwYW5ldC9NCithcnJhY2svTQorYXJyYW5nZWQvRUtBCithcnJlc3RlZC9BCithcnJvZ2FuY2UvU00KK2Fycm9nYW50L1kKK2FydGZ1bG5lc3MvUworYXJ0aHJpdGljL1MKK2FydGhyb3Njb3BlL1NXCithc2NhcmlzCithc2NlbmRlZC9BCithc2NldGljaXNtL1NNCithc2hvcmUKK2FzaWRlL1MKK2FzbGFudAorQXNtYXJhL00KK2FzcGhvZGVsL1NNCitBc3F1aXRoL00KK2Fzcy9TOE0KK2Fzc2FpbGFibGUvVQorQXNzYW0vTQorYXNzZW1ibHkvbTVTTQorYXNzZW50ZXIKK2Fzc2lkdW91c25lc3MvUworYXNzaXN0L1NHRAorYXNzb25hbmNlL1NNCithc3N1YWdlZC9VCithc3N1bWUvR05YQlNEVgorYXNzdXJlL0dBU2tECithc3RobWEvV1NNCithc3RyYXkKK2FzdHJvbG9nZXIvTVMKK2FzdHJvbm9teS8xTVdTdworYXN0cm9waHlzaWNzL00KK2FzdHV0ZS9UUFkKK0Fzd2FuL00KK2FzeW5jaHJvbmlzbS9NCithc3luY2hyb25vdXMvWQorYXRheGlhL01TCitBVEMKK2F0aGVpc20vTVMKK2F0aGVpc3QvTTFTVworYXRpbHQKK2F0b21pY3MncworYXRyaWEKK2F0dGFjaC9TRFJMN0dNCithdHRlbnRpb24vSVNNCithdHRlbnRpb25hbGl0eQorQXR0aWNhL00KK2F0dGl0dWRlL01TCithdHRyYWN0aW9uL01TCithdHR1bmUvRFNHCitBdWRpL00KK2F1ZGl0L2RYeU1WU04KK2F1Z3VyL2RNUworYXVrL1NNCithdXJhbAorYXVyZW9teWNpbgorQXVzY2h3aXR6CithdXN0cmFsaXRlcworYXV0aGVudGljYXRlL0RTRworYXV0aGVudGljaXR5J3MKK2F1dGhvcmlzZS9LQQorYXV0aXNtL01TCithdXRvYmFobi9NUworYXV0b2RpZGFjdC9TTVcKK2F1dG9pbW11bml0eS9TCithdXRvbm9taWMvUworYXV4aW4vTVMKK2F2YWlsYWJpbGl0aWVzCithdmFpbGFiaWxpdHkvVU0KK2F2YXJpY2lvdXMvWVAKK2F2ZW5nZWQvVQorYXZlcmFnZS9HTURTWQorYXZlcnNpb24vTQorYXZlcnQvR2JTRAorYXZpZC9ZCithdml0YW1pbm9zaXMvTQorYXZvaXJkdXBvaXMvTQorYXZvd2FsL1NFTQorYXdlZC9jCithd2UtaW5zcGlyaW5nL1kKK2F3ZXNvbWUvWVAKK2F3bC9TTQorYXhsZS9TTQorYXlhdG9sbGFoL1MKK0F5ZXJzCitBemVyaS9NCitBeml6L00KK0F6dGVjYW4KK2JhYm9vbi9TTQorYmFidXNoa2EvTVMKK2JhYnkvRFRNU0cKK2JhYnlpc2gKK0JhYnlsb25pYQorYmFjY2FyYXQvTVMKK0JhY2gvTQorYmFjay1kb29yCitiYWNrbG9nL0RHTVMKK2JhY2t3b29kL21TCitiYWRtb3V0aC9ER1MKK2JhZ2F0ZWxsZS9TTQorYmFpbGl3aWNrL1NNCitiYWtlaG91c2UvTQorQmFrdS9NCitiYWxhbmNlZG5lc3MKK2JhbGRlci9XCitiYWxlZW4vU00KK2JhbGwvRFJHU00KK2JhbGxjb2NrL1MKK2JhbGxzeS9UCitiYWxtaW5lc3MvUworYmFsb25leS9TTQorQmFsdWNoaXN0YW4vTQorYmFtYm9vemxlL0dEUworYmFuZC9EbUdaU00KK2JhbmRhZ2UvU0RNRworYmFuZGVhdS9NCitiYW5kaW5nL0UKK2JhbmRwYXNzCitiYW5kd2Fnb24vU00KK2JhbmR5L0RUU0cKK2JhbmVmdWwvVAorQmFuZ3VpL00KK2Jhbmtib29rL01TCitiYW55YW4vU00KK2JhcmJhcmlzZS9HRFMKK2JhcmJlci9keQorYmFyYmVycnkvU00KK0JhcmJldHRlL00KK2JhcmJpdGFsL00KK0JhcmJvdXIvTQorYmFyZWZhY2VkL1lQCitiYXJlLWZvb3QvRAorYmFyZi9TWUdECitiYXJmbHkvU00KK2JhcmdhaW4vREdSU00KK2JhcmhvcC9HU0QKK0Jhcm5zdGFwbGUvTQorYmFycmVsL0dNRFMKK2JhcnJpc3Rlci9NUworQmFycnkvTQorQmFydC9NCitiYXNhbAorYmFzay9HU0QKK2Jhc3NldC9NUworQmFzc2UtVGVycmUvTQorYmFzdC9EUkdNCitiYXN0YXJkL1E4cS1NU1laCitiYXN0aW5nL00KK2JhdGhob3VzZS9NUworYmF0b24vU00KK2JhdHRlcmVyL1MKK2JhdHRsZW1lbnQvRAorQmF1c2NoL00KK2Jhd2QvMlpTTXoKK2Jhd2RpbmVzcy9TCitiYXdkeS9UUAorQmF4dGVyL00KK2JhemlsbGlvbi9TCitiZWFkbGUvTVMKK2JlYWR3b3JrZXIKK2JlYW5vCitiZWFzdC9ZU01KCitCZWF0cmljZS9NCitiZWNrL1NNREcKK0JlY2tldC9NCitCZWNxdWVyZWwKK2JlZHJhZ2dsZS9EU0cKK2JlZHNpZGUvTVMKK2JlZHNwcmluZy9TTQorYmVlL1JTeU0KK2JlZWJyZWFkL01TCitiZWVjaG51dC9NUworYmVlZmJ1cmdlci9TTQorYmVlZmluZXNzL1MKK2JlZWZzdGVhay9TTQorYmVldHJvb3QvTQorYmVmYWxsZW4KK2JlZmVsbAorYmVoYXZpb3VyaXN0L1dNUworYmVoZW1vdGgvU00KK0JlbGZhc3QvTQorQmVsZ2l1bS9NCitCZWxncmFkZS9NCitiZWxpZXZlL0dFUkRTCitiZWxsaG9wL01TCitiZWxsaWVkCitiZWxseWFjaGVyL00KK2JlbHQvREdTTQorQmVsdHN2aWxsZS9NCitiZW5kZXIvU00KK2JlbmVmYWN0aW9uL1NNCitiZW5lZmFjdHJlc3MvUworYmVuZWZpY2lhbC9QCitiZW5lZml0L3JNZFMKK0JlbmdhbGkvTQorYmVuaWdodGVkL1BZCitiZW5pZ24vWQorQmVuei9NCitCZW56ZWRyaW5lL00KK2JlbnppbmUvU00KK0JlcmJlci9NCitCZXJnbWFuL00KK0Jlcmxpbi9NcgorQmVybGl0ei9NCitCZXJuYWRpbmUvTQorQmVybmhhcmR0L00KK0Jlcm5pZS9NCitCZXJuc3RlaW4vTQorYmVycnkvU0RHTQorQmVydHJhbS9NCitiZXN0ZXIKK2Jlc3RpYXJ5L1NNCitiZXN0cmV3L0RHUworYmVzdHJpZGRlbgorYmV0YWtlbgorYmV0ZWwvU00KK2JldHJvdGhhbC9TTQorYmV2eS9NUworYmV3YXJlL0dTRAorYmV3aGlza2VyZWQKK2JlemlxdWUKK2JpYW5udWFsL1kKK2JpYmxpb3BoaWxlL1NNCitiaWNlbnRlbmFyeS9TCitiaWNrZXJpbmcvTQorYmljb25uZWN0ZWQKK2JpZGRpbmcvTQorYmlnL1RHRFAKK2JpZ2Ftb3VzCitiaWplY3Rpb24vU00KK2Jpam91eAorYmlrZS9STVNHRAorYmlsYXRlcmFsL1lQCitiaWxsZXQvU2RNCitiaWxsaWFyZC9NUworYmlsbHBvc3RlcnMKK2JpbWV0YWxsaWMKK2JpbmF1cmFsL1kKK2Jpb2NoZW1pY2FsL1NZCitiaW9nL1MKK2Jpb3BoeXNpY2lzdAorYmlvcHN5L0RHTVMKK2Jpb3NwaGVyZS9TTQorYmlyYWNpYWwKK2JpcmQvRFJHU00KK2JpcmRicmFpbi9TTUQKK0JpcmtlbmhlYWQvTQorYmlydGgvQVNNCitiaXJ0aGRheS9TTQorYmlydGhyaWdodC9TTQorYmlydGhzdG9uZS9TTQorYmlzY3VpdC9NUworYmlzdGF0ZQorYmlzdHJvL1NNCitiaXRlL2NTCitiaXR0ZXJudXQvTQorYml0dW1lbi9NUworQml6ZXQvTQorYml6emVzCitibGFja2JhbGwvREdTTQorYmxhY2tib2FyZC9NUworYmxhY2tlbi9TZAorYmxhY2tseS8zCitCbGFja3N0b25lL00KK2JsYW1lbGVzc25lc3MvUworYmxhbmtldGluZy9NCitCbGFudG9uL00KK2JsYXNwaGVteS9NUworYmxlYXIvU0QyR3paCitibGVlcC9NREdTUgorYmxlbmNoL0RHUworYmxpc3NmdWxuZXNzL1MKK2Jsb2NraG91c2UvTVMKK2Jsb2NraWVyCitibG9vZGxlc3MvUFkKK2Jsb29kc2hvdAorYmxvdy1ieS1ibG93CitibHViYmVyZXIKK0JsdWViZWFyZC9NCitibHVlYmlyZC9NUworYmx1ZW5lc3MvUworYmx1ZmYvUFNEUkdUWQorYmx1bnQvRFNUR1BZCitibHVycnkvVAorYmx1c3Rlci9yU1pkaworYm9hL1NNCitCb2FkaWNlYS9NCitib2FzdGZ1bC9QCitib2F0bWFuL00KK2JvYmJpbi9TTQorYm9iLXNsZWlnaC9SU0RNRworYm9ja3d1cnN0Citib2lzdGVyb3VzbmVzcy9TCitib2xkL1BZVAorYm9sdC1vbgorYm9tYmFyZC9HTERTCitib21ic2hlbGwvU00KK2JvbmJvbi9TTQorYm9uZGhvbGRlci9TTQorYm9uZHdvbWVuCitib25lL3BSTVNaR0QKK0JvbmhhbS9NCitib25rZXJzCitib29kbGUvRE1TRworYm9va2lzaC9ZUAorYm9va2tlZXBpbmcvTQorYm9va2xldC9TTQorYm9vbWVyL00KK2Jvb21lcmFuZy9HU0RNCitib29yaXNoL1lQCitib29zdC9SR1NNRAorYm9vdGxlc3MKK2JvcmVob2xlL1MKK2Jvcm9uL00KK2Jvc3NlcgorYm90YW55LzNXU013MQorYm90Y2gvU1JHRAorYm90aC9aCitib3RoeS9NCitib3R0bGUvUkRHU00KK2JvdHRsZS1mZWVkCitib3R0bGUtZ3JlZW4KK2JvdHVsaW4vTQorYm90dWxpc20vU00KK2JvdWNs6QorYm91bGRlci9kTVMKK2JvdW5kbGVzcy9QWQorYm91cmJvbi9NUworYm92aW5lL1kKK2Jvd2RsZXJpc2UvbkRHUworYm93LWxlZ2dlZAorYnJhY2UvU2tHRE0KK2JyYWNraXNobmVzcy9TCitCcmFkc2hhdy9NCiticmFnZ2FydC9NUworQnJhaG1hbi9NCiticmFpbmNoaWxkL00KK2JyYWludGVhc2luZworYnJhaW53YXNoaW5nL00KK0JyYW5jaHZpbGxlL00KK0JyYW5kdC9NCitCcmFzaWxpYS9NCiticmFzc2VyaWUvU00KK2JyYXR0eS9UCiticmF2by9HRFMKK2JyYXplbm5lc3MvUworYnJlYWRjcnVtYi9TCiticmVhZHRoL00KK2JyZWF0aGxlc3MvWVAKK2JyZWF0aHRha2luZy9ZCiticmVhdGh5L1QKK2JyZW1zc3RyYWhsdW5nL00KK0JyZW5kYW4vTQorQnJlbnRmb3JkL00KK2JyZXdlcnkvU00KK2JyaWNrZXIKK2JyaWRhbAorQnJpZGV3ZWxsL00KK2JyaW0vREdNU3A2CiticmluZS9TR0RaTQorYnJpc3RsZS9TTVlHRAorQlJNCiticm9hZC1icnVzaAorYnJvYWRjYXN0aW5nL1MKK2Jyb2FkLW1pbmRlZC9ZCiticm9uYy9TCiticm9uY2hpYWwKK2Jyb25jaGlvbGl0aXMKK2Jyb256ZS9TTUdECiticm9uemluZy9NCiticm9vY2gvU00KK2Jyb29rc2lkZQorYnJvc2UKK2Jyb3RoZXItaW4tbGF3Citicm90aGVybGluZXNzL1MKK2Jyb3VnaHQKK2Jyb3duaWUvU01UCiticm93bm91dC9TTQorQnJveGJvdXJuZS9NCitCcm94dG93ZS9NCitCcnVuZWwvTQorYnJ1c2hmaXJlL1NNCiticnV0ZXIKK2JydXRpc2huZXNzL1MKK0JydXR1cy9NCitCVFcKK2J1LgorYnViYmx5L1QKK2J1Y2tsZXMvVQorYnVja3RlZXRoCitidWQvU0dETVoKK0J1ZGRoYS9NCitidWZmb29uZXJ5L01TCitidWZmcy9BCitidWdnZXIvZFoKK2J1aWx0LXVwCitidWxsc2V5ZQorYnVsbHlib3kvU00KK2J1bS9TRFJHVE0KK2J1bXB0aW91cy9QWQorYnVuY2gvWlNER00KK2J1cmJsZXIvTQorYnVyZ2xhcnByb29mL0dECitidXJuYWJsZS9TCitidXJzaXRpcy9TTQorYnVyc3QvZVMKK2J1cnN0ZXIvTQorYnVzaGZpcmUKK2J1c2hpbmcvTQorYnVza2luL1NNCitidXRjaGVyeS9TTQorYnV0bGVyL2RTTQorYnV0dC9SU00KK2J1dHRlcmJhbGwvTVMKK2J1dHRvY2svRFNNRworYnV0dG9ud2VlZAorYnhzCitieWVycworY2FiaW5ldHJ5L1NNCitjYWJsZS9ER1NNCitjYWNoZS9ER1NNCitDQUNNCitjYWNvcGhvbm91cworY2Fjb3Bob255LzNTTQorQ2FkaWxsYWMvUworY2Flbm9yaGFiZGl0aXMKK2Nha2V3YWxrL1NER00KK0NhbGFpcworY2FsYW1hcmkvUworY2FsYW1pbmUvTURHUworY2FsY2FyZW91cy9ZUAorY2FsY2lmZXJvdXMKK2NhbGN1bGF0ZXMvQWEKK2NhbGN1bGF0aW5nL2FBCitDYWxjdXR0YS9NCitjYWxpYnJhdG9yL01TCitDYWxpZm9ybmlhbi9TTQorY2FsbG9zaXR5L1NNCitjYWxvcmltZXRlci9TTVcKK2NhbHVtbmlhdGUvbkRTR04KK2NhbHVtbmlvdXMKK2NhbHlwc28vTVMKK2NhbXAvUkdaU00yRHoKK2NhbXBhbmlsZS9TTQorY2FtcHkvVAorY2FuL2R6MlNEUlpyR3lNCitDYW5iZXJyYS9NCitjYW5kaWQvUFkKK2Nhbm5pYmFsaXN0aWMKK2Nhbm9lL0dEM1NNCitjYW4tb3BlbmVyCitjYW5vcHkvREdNUworY2FudGFua2Vyb3VzbmVzcy9TCitjYW50YXRhL1NNCitjYW50ZWVuL01TCitjYXBhY2l0eSdzL2MKK2NhcGVza2luL1NNCitjYXBpdGFsaXNlL0FER25TCitjYXBpdGFsaXplL0FHblNETgorY2FwaXRvbC9TTQorY2FwaXR1bGF0ZS9BU0RHTm4KK2NhcHRhaW4vR0RTTQorY2FwdGl2YXRpb24vTQorY2FwdHVyZS9SREdTCitjYXB0dXJpbmcvQQorQ2FwdXRvCitjYXJhdC9NUworY2FyYXZlbC9NUworY2FyYmlkZS9TTQorY2FyYm9uYWNlb3VzCitjYXJib24tcGFwZXIKK2NhcmJ1bmN1bGFyCitjYXJkaW5nL00KK2NhcmUvNmpTcAorY2FyZWVyZXIKK2NhcmVmdWwvVFAKK2NhcmVzL0RHCitjYXJld29ybgorY2FyaWNhdHVyaXNhdGlvbgorQ2FybWFydGhlbi9NCitjYXJtaW5lL1NNCitjYXJuaXZvcm91c25lc3MvUworQ2Fyb2xpbmUvTQorY2Fyb20vUworY2FycGVudGVyL2RTTQorY2FycGV0YmFnL1JNU0RHCitDYXJyb2xsL00KK2NhcnJ5L0RSU0cKK2Nhci1zaWNrL1AKK2NhcnRlL00KK0NhcnRoYWdpbmlhbgorY2FydGlsYWdpbm91cworY2FydG9ncmFwaHkvV1NNCitDYXNhbm92YS9NCitDYXNzYW5kcmEKK2NhdGFseXRpYy9ZCitjYXRhcmFjdC9NUworY2F0YXRvbmlhL01TCitjYXRiaXJkL01TCitjYXRjaHkvVAorY2F0ZWNob2xhbWluZS9TTQorY2F0ZWdvcmlzZS9BR1NECitjYXRoYXJzZXMKK2NhdGhvbGljaXR5L01TCitDYXRob2xpY3MKK2NhdGlvbi9NVworY2F0bmFwL0RNU0cKK2NhdWxrL0dEUkpTCitDYXZlbmRpc2gKK2NhdmVybm91cy9ZCitjYXcvR1NNRAorQ2F5ZW5uZS9NCitDRC9NCitjZWlsaWRoL00KK2MuRWxlZ2FucworY2VsZXJpdHkvU00KK0NlbGlhL00KK2NlbGliYWN5L1NNCitjZWxscGhvbmUvU00KK2NlbWV0ZXJ5L1NNCitjZW5zb3JpYWwKK2NlbnNvcnNoaXAvU00KK2NlbnQvU00KK2NlbnRyYWwvcXNRODktMworY2VudHJhbGlzZS9DRG5TQUcKK2NlbnRyZWxpbmUvTVMKK2NlbnRyaWZ1Z2UvTUdORFMKK2NlcmVhbC9NUworY2VyZWJydW0vTVMKK2NlcnRpZmllZC9VQUMKK2NlcnRpdHVkZS9NSVMKK0NlcnZhbnRlcworY2Vzc3BpdC9NCitjaGFsaWNlL01EUworY2hhbGt5L1QKK2NoYWxsZW5nZWQvVQorQ2hhbWJlcmxhaW4vTQorY2hhbW9pcy9NRFNHCitjaGFtcGFpZ24vTQorQ2hhbXBsYWluCitjaGFuY2luZy9NCitjaGFuZ2VhYmxlL1UKK2NoYW5uZWwvcXMtOUpTUThSR0RNCitjaGFvdGljL1kKK2NoYXBlYXUvTVMKK0NoYXBsaW4KK2NoYXJhYmFuYy9TTQorY2hhcmFjdGVyaXNlZC9VCitjaGFyZC9NUworY2hhcmdlci9FU00KK2NoYXJpb3RlZXIvRFNNRworY2hhcmxhZHkvTQorY2hhcmxhdGFucnkvU00KK0NoYXJsZW1hZ25lL00KK0NoYXJsZXkKK2NoYXN1YmxlL1NNCitjaGF0ZWxhaW5lL01TCitjaGF0dHkvUFQKK0NoYXV0YXVxdWEKK2NoZWFwZW4vZFMKK2NoZWFwc2thdGUvU00KK2NoZWNrZXIvUworY2hlZXAvTUdEUworY2hlZXJsZXNzL1lQCitjaGVlc2luZXNzL1MKK2NoZWxhdGlvbi9NCitDaGVsdGVuaGFtCitjaGVtb3RoZXJhcGlzdC9TTQorY2hlcmlzaGVyL00KK2NoZXN0ZXJmaWVsZC9TTQorY2hlc3R5L1QKK0NoZXZyb2xldAorY2hld3kvVAorQ2hpYmEKK2NoaWNrcGVhL1NNCitjaGlsZGlzaC9QWQorY2hpbGxpbmVzcy9TCitjaGlsbG5lc3MvUworY2hpbm8vU00KK0NoaW5vb2sKK2NoaW4tc3RyYXAvTVMKK0NoaXBwZW5oYW0KK2NoaXBweS9TCitjaGlycC9HRFpTCitjaGxhbXlkaWEvUworY2htCitjaG9waG91c2UvU00KK0Nob3JkYXRhCitjaG9yZGF0ZS9TTQorY2hvcmVvZ3JhcGgvWkdSUzFEVworQ2hyaXMKK0NocmlzdGNodXJjaAorQ2hyaXN0aW5lCitDaHJpc3RsaWtlCitjaHJvbWljCitjaHJ5c2FsaWRzCitjaHVmZi9NRAorY2h1Zy9EU0dNCitjaHVtcC9NR0RTCitDaHVuZworY2h1cmNod2FyZGVuL1NNCitjaHVybmluZy9NCitjaWxpYS9NCitjaW5lbWF0b2dyYXBoZXIvU00KK2NpcGhlcmVkL0MKK2NpcgorY2lyY2xldC9NUworY2lyY3VsYXRpb24vTUEKK2NpcmN1bWNpc2lvbi9NCitjaXJjdW1uYXZpZ2F0aW9uL00KK2NpcmN1bXNjcmliZS9TWERORworY2lyY3Vtc3RhbnRpYWwvWQorY2lyY3VzL1NNCitjaXJyaG90aWMvUworY2l0ZWQvSQorY2l0aXplbnJ5L1NNCitjaXRyYXRlL0RNCitjaXRyb24vTVMKK2NpdnZpZXMKK2NsYWNrL0RHUworY2xhaW1hbnQvU00KK2NsYW1iZXIvZFNyCitjbGFtb3JvdXMvWVAKK2NsYW1wZXIvTQorY2xhbi9tU00KK2NsYW5nb3JvdXMvWQorY2xhbmdvdXIvU0dETQorY2xhcXVlL1NNCitDbGFyay9NCitjbGFzc2VkL2UKK2NsYXNzaWZpYWJsZS9VCitjbGFzc21hcmsvU00KK0NsYXVkZQorQ2xhdWRpdXMKK2NsYXZlcgorY2xhdy9EU0dNCitjbGVhbi1saXZpbmcKK2NsZWFuLXNoYXZlbgorY2xlYXJlci9NCitjbGVtYXRpcy9NUworY2xlbWVuY3kvTUlTCitDbGVtZW5zCitjbGVyZ3kvNW1TTQorY2xldmVyZXN0CitjbGlmZmhhbmdpbmcKK0NsaWZmb3JkCitjbGltYmVkL1UKK2NsaW5rL0RHU1IKK2NsaXF1aWVyCitjbG9ha3Jvb20vTVMKK2Nsb2NoZS9TTQorY2xvY2ttYWtlci9NCitjbG9ja3dpc2UKK2Nsb2dzL1UKK2Nsb3NlZC1jaXJjdWl0CitjbG9zZS1rbml0CitjbG9zZXQvU2RNCitjbG9zZS11cC9TCitjbG9zaXNoCitjbG90aGllci9TTQorY2xvdGhpbmcvTWYKK2Nsb3VkbGV0CitjbG92ZS9STVMKK0Nsb3ZpcworY2x1Yi1jbGFzcworY2x1dGNoL1NERworY2x1dHRlci9kUworY28vRURTCitjb2FkanV0b3IvU00KK2NvYWd1bGFudC9TTQorY29hbGVzY2VudAorY29hdC9jTVNmCitDb2F0ZXMKK2NvYXRpbmcvU00KK2NvYXR0YWlsL1MKK2NvYXR0ZXN0Citjb2JyYS9TTQorY29jY3VzL00KK2NvY2tsZS9HRE1TCitjb2NrLW9mLXRoZS13b29kCitjb2NvbnV0L01TCitDb2Nvcy9NCitjb2RkbGVyL00KK2NvZWQvTQorY29lZHVjYXRpb25hbAorY29lcmNpYmxlL0kKK2NvLWZvdW5kZXIKK2NvZ2l0YXRlL1NOVm5HRAorY29nbm9tZW4vU00KK2NvZ25vc2NlbnRlCitjb2hvcnQvU00KK2NvaWYvTQorY29pZmZ1cmUvU0RNRworY29pbmFnZS9NUworY29sL1NOVm5XCitDb2xjaGVzdGVyL00KK2NvbGQtYmxvb2RlZC9ZCitDb2xnYXRlCitjb2xsCitjb2xsYWJvcmF0ZS9WR0ROU3ZuCitjb2xsZWN0ZWRuZXNzL00KK2NvbGxvZ3VlL0RTRworY29sbG9xdWlhCitjb2xsb3F1aWVzCitjb2xvc3NhbC9ZCitjb2xvdXJhdGlvbi9FTQorY29sb3VybGVzcy9ZCitjb2x1bW5pc3QKK2NvbWJpbmF0aW9uYWwKK2NvbWVkb3duL01TCitjb21ldXBwYW5jZS9TTQorY29tbWVudGFyeS9TTQorY29tbWlzc2FyL01TCitjb21taXNzaW9uYWlyZQorY29tbWlzc2lvbidzL0EKK2NvbXBhcmVyL00KK2NvbXBlbGxpbmcvTQorY29tcGVuc2F0ZS9EY1NuR04KK2NvbXBsYWluL1JrCitjb21wbGFpbnQKK2NvbXBsYWlzYW50L1kKK2NvbXBsZXRhYmxlCitjb21wbHkvTFJuSk4KK2NvbXBvbmVudC9TTQorY29tcHJlc3Nvci9NUworY29tcHV0YXRpb24vb00KK2NvbXB1dGF0aW9uYWwKK2NvbmNlYWxlZC9VCitDb25jZXBjafNuL00KK2NvbmNlcnQvRGlHaE0KK2NvbmNlcnRpbmcvRQorY29uY29jdGVyL00KK2NvbmNvcmQKK2NvbmRpZ24KK2NvbmRpbWVudC9TTQorY29uZG8vU00KK2NvbmRvbWluaXVtL1NNCitjb25kdWNlL25OdkRHVlMKK2NvbmR1aXQvU00KK2NvbmVmbG93ZXIvTQorY29uZmVjdGlvbi9SM1NHRE0KK2NvbmZlcnJhbC9NUworY29uZmVzc2lvbmFsL1MKK2NvbmZldHRpL00KK2NvbmZpZGUva0RSR1MKK2NvbmZvcm1hYmxlL1UKK2NvbmZyb250YXRpb24vTQorY29uZ2VhbC9ETEdTCitjb25nZXN0aW9uL1NNCitjb25nbG9tZXJhdGUvRE1TR25WTgorY29uZ3JhdHMKK2NvbmdyZXNzcGVyc29uL1MKK2NvbmljL1MKK2Nvbmp1cmluZy9NCitDb25uZWxseQorY29ubm9pc3NldXIvU00KK0Nvbm5vcnMKK2Nvbm5vdGF0aXZlL1kKK2NvbnF1ZXJhYmxlL1UKK2NvbnF1ZXJvci9NUworY29ucXVlc3QvQVNNCitjb25xdWlzdGFkb3JlcworY29uc2FuZ3Vpbml0eS9NUworY29uc2VjdXRpdmUvUFkKK2NvbnNlcXVlbmNlCitjb25zZXJ2YXRvci9TTQorY29uc2lkZXJhYmx5L0kKK2NvbnNpZGVyZXIvTQorY29uc2lnbi9MCitjb25zaWduZWQvQQorY29uc2lzdGVuY3kvU01JCitjb25zcGljdW91cy9QSVkKK2NvbnNwaXJhdGlvbmFsCitDb25zdGFudGlub3BsZQorY29uc3RpdHV0aW9uL0FNUworY29uc3RydWN0aW9uL0NNQVMKK2NvbnN0cnVjdGlvbidzL2EKK2NvbnN0cnVjdGl2ZS9ZUDMKK2NvbnN0cnVjdGl2ZW5lc3MvUworY29udGFtaW5hdGluZy9DCitjb250ZW1uL1NHRAorY29udGVtcGxhdGlvbi9NCitjb250ZW50aW9uL1NNCitjb250ZW50bHkKK2NvbnRlc3QvNworY29udGluZW50bHkvSQorY29udGludWVyL00KK2NvbnRyYWRpY3RvcnkvUFkKK2NvbnRyYXN0L0d2WlNEa1YKK2NvbnRyb2xsYWJsZS9VCitjb250dW1hY2lvdXMvWQorY29udHVtZWx5L01TCitjb251cmJhdGlvbi9TTQorY29udmFsZXNjZW5jZS9NUworY29udmFsZXNjZW50L1MKK2NvbnZlbmllbmNlL0lTTQorY29udm95L0dETVMKK2Nvb2tpZS9NUworY29va3dhcmUvU00KK2Nvb3BlcmFudAorY28tb3B0aW9uCitjby1vcmRpbmF0ZS9HRFNOVgorY29wZS9TWgorQ29wZW5oYWdlbi9NCitjb3BpZWQvQQorY29weWFibGUKK2NvcHlpbmcvYQorY29xdWV0dGUvU01HRAorQ29yZG9iYQorY29yZHMvRgorY29yZi9NCitDb3Jpb2xpcworY29ya3NjcmV3L0RTTUcKK2Nvcm5lci9kCitjb3JuaWNlL0RTTUcKK2NvcnB1bGVuY2UvU00KK2NvcnB1bGVudC9ZCitjb3JwdXNjdWxhcgorY29ycmFsL0dETVMKK2NvcnJlY3QvVHh2UFNEdUdZN1YKK2NvcnJ1Z2F0aW9uL00KK2NvcnJ1cHRpYmxlL0kKK0NvcnNpY2EvTQorY29ydGlzb2wKK2NvcnVzY2F0aW9uL00KK2Nvc21pY2FsCitjb3Ntb2dvbnkvM01TCitjb3Ntb25hdXQvU00KK2Nvc3NhY2tzCitjb3N0L1lHdlNNSnVEcFYKK2Nvc3QtY3V0dGluZworY290dGFnZS9ETVJTRworY290eWxlZG9uL01TCitjb3VnaC9HRFMKK2NvdWxkJ3ZlCitjb3VuY2lsL1NtTTUKK2NvdW50ZWQvQVVFYQorY291bnRyeXNpZGUvTVMKK2NvdXBsZXMvVQorY291cGxpbmcvTUMKK2NvdXJ0bHkvUFQKK2NvdmFyaWFudC9TCitjb3ZlbmFudC9EU0dNCitjb3ZlcmFibGUvRQorY296ZW4vZFMKK0NyYWJiZS9NCitjcmFja2xpbmcvTQorY3JhY2t1cC9TCitjcmFmdC9EbTUyTUd6WlMKK0NyYW5zdG9uCitDcmF3Zm9yZAorY3Jhd2xzcGFjZS9TCitjcmVhc2VkL1UKK2NyZWFzZXIvSQorY3JlZGVuemEvTVMKK2NyZWR1bG91c25lc3MvUworY3JlbWF0ZS9TeUduTkQKK2NyZW1hdG9yaWEKK2NyZW1hdG9yaXVtL01TCitjcmVwZS9HRE1TCitjcupwZS9TTQorY3Jlc3QvRE1HcFMKK2NyZXN0ZmFsbGVuL1BZCitjcmVzdGluZy9NCitDcmV1dHpmZWxkdC1KYWtvYgorQ3Jld2UKK2NyZXdlbC9TTQorY3JpYmJpbmcvTQorY3JpY2tldC9yZE1TCitjcmltaW5hbC9xUTgtU01ZCitjcmlzcGVyL00KK2NyaXRpYy9ZUThTczlNCitjcml0aWNhbGl0eQorY3JvY2tlcnkvU00KK0Nyb2l4CitDcm9td2VsbC9NCitjcm9wcGVyL01TCitjcm9zcy9HQVNVRAorY3Jvc3NhYmxlCitjcm9zc2N1cnJlbnQvTVMKK2Nyb3NzLWN1dC9TTUcKK2Nyb3NzZXIvUworY3Jvc3MtZXhhbWluZS9ORFNHCitjcm9zcy1leWVkCitjcm9zc3dpbmQvU00KK2Nyb3RjaC9EU3BNCitjcm91cC9ETUdaUworY3JvdXRvbnMKK0Nyb3dsZXkKK2Nyb3duL01TR0QKK2NydWV0L01TCitjcnVtYmxpbmVzcy9TCitjcnlzdGFsbGl6ZS9OUm5ER1MKK0NUT0wKK2N1ZGRsZS9EMkdZUworY3VsdGlzbS9NUworY3VsdGlzdAorY3VsdHVyYWwvNAorQ3VtYnJpYS9NCitjdW5laWZvcm0vUworY3VwaWQvUworY3VyYWJsZS9QSQorY3VyYWN5L1NNCitjdXJhdGUvREdNUworY3VyaWEvTQorY3VyaWFlCitjdXJseWN1ZSdzCitjdXJyZW50L1BZUworY3VycmVudHMvZgorY3Vyc2l2ZW5lc3MvRQorY3Vyc2l2ZW5lc3MncworY3Vyc2l2ZXMKK2N1cnRhaW4vRE1HUworY3VydmFjZW91c25lc3MvUworY3VydnkvVAorY3Vzc2VzL0ZFCitjdXN0b2RpYW4vU00KK2N1dC1hbmQtcGFzdGUKK2N1dGxhc3MvTVMKK2N1dHMvZgorY3V0dGluZy9NWQorY3V0dGxlYm9uZS9NUworQ1YKK2N5YW5vZ2VuL00KK0N5YmVsZS9NCitjeWJlcnNxdWF0dGluZworQ3ljbGFkZXMKK2N5Y2xld2F5L1MKK0N5Y2xvcGVhbgorQ3ljbG9wcworQ3lub24vTQorY3l0b3BsYXNtL1NXTQorZGFjaGEvTVMKK2RhZG8vTVMKK2RhaW50aW5lc3MvUworZGFpc3kvTVMKK0RhbW9jbGVzCitEYW1vbi9NCitkYW1zb24vU00KK2RhbmRydWZmL01TCitEYW5pZWwvUworZGFuay9ZUFQKK0Rhbm55L00KK0RhbnZpbGxlCitEYXBobmUKK2RhcnRib2FyZC9TTQorZGFzdGFyZGx5L1AKK2RhdGUvTUdWUlNpcGhECitkYXkvU00KK2RheWRyZWFtL1NSTURHCitkYXlsaWdodC9HU0RNCitkYXlzYWNrCitEYXl0b24KK2QnQXp1cgorREJNUworZGVhY29uL1NkTQorZGVhZGVuL1NkaworZGVhbGluZy9hCitkZWFuc2hpcC9TTQorZGVhc3NpZ24vRworZGVhdGhsaWtlCitkZWF0aC13YXJyYW50L01TCitkZWJhc2UvUkwKK2RlYmF1Y2gveUdoU2lECitkZWJpdC9kCitkZS1icmllZgorRGVjYXR1ci9NCitEZWNjYQorZGVjZWl2ZS9VR0RTCitkZWNlbmN5L1NJTQorZGVjaWR1b3VzL1lQCitkZWNpc2l2ZS9QSVkKK2RlY2xhcmUvdm5SRE5WR3lTCitk6WNsYXNz6QorZGVjbGFzc2lmeS9ER05uCitkZWNvbnRhbWluYXRlCitkZWNvcmF0aW5nL0FjCitkZWNvcmF0b3IvU00KK2RlY295L0dNUworZGVjcmVwaXR1ZGUvU00KK2RlZHVjdGliaWxpdHkvTQorZGVkdWN0aWJsZS9TCitkZWVwLXNlYQorZGVmYW1lL3lSR24KK2RlZmVhdGlzbS9TTQorZGVmZWNhdGUvU05HbkQKK2RlZmVjdC9HdVNETVZ2CitkZWZlbmNlL3AKK2RlZmVuc2liaWxpdHkvTQorZGVmZXJlbmNlL1NNCitkZWZpbml0ZWx5L0kKK2RlZmxhdGUvR25ETlMKK2RlZnVzZQorZGVncmFkZWQvUAorZGVoeWRyYXRlCitkZWljaWRlCitkZWplY3Rpb24vU00KK0RlbGF3YXJlL00KK0RlbGdhZG8KK2RlbGkvTQorZGVsaWJlcmF0ZS9QdXZZVgorRGVsaWJlcworRGVsaWxhaAorZGVtZXNuZS9NUworRGVtZXRlcgorZGVtaWdvZGRlc3MvTVMKK2RlbW9jcmFjeS9TTQorZGVtb2dyYXBoaWMvUworZGVtb3JhbGlzZS9uCitkZW1vdGl2YXRlCitkZW15dGhvbG9naXplL25ER05TCitkZW5kcml0ZS9TTQorRGVuaXMKK2RlbnMvVAorZGVudGlzdHJ5L01TCitkZW50J3MKK2RlbnVkYXRpb24vTQorZGVwZW5kZW5jZS9JU00KK2RlcGxvcmFibGUvUAorZGVwbG95cy9BCitkZXBvbmVudC9TCitkZXBvc2l0b3IvU00KK2RlcG9zaXRvcnkvU00KK2RlcHJhdml0eS9NUworZGVwcmVjaWFibGUKK2RlcHJlc3MvYnZrVlhOCitkZXByaXZlL1NHbk5ECitk6XJhaWxsZXVyL01TCitEZXJlay9NCitkZXJpc29yeQorZGVzY3JpYmUvTlZ2dVJYCitkZXNjcmlwdGl2ZS9TUAorZGVzZWNyYXRlci9NCitkZXNlY3JhdGlvbi9NCitkZXNlcnZpbmcvVQorZGVzaWRlcmF0YQorZGVzcGVyYWRvL00KK2Rlc3BpY2FibGUvWQorZGVzcG9uZAorZGVzdGlueS9TTQorZGVzdHJ1Y3Rpb24vTVMKK2Rlc3RydWN0aXZlL1AKK2Rlc3VldHVkZS9NUworZGV0YWluL0RHU0wKK2QnZXRhdAorZGV0ZXJnZW50L1NNCitkZXRlcmlvcmF0ZS9ETlNuR1YKK2RldGVybWluYXRlL0lQWU4KK2RldWNlL0RHaE1TCitkZXZlbG9wZXIvU0FNCitkZXZpbGlzaG5lc3MvUworZGV2b3VyL0RSU0cKK2RpYWNocm9uaWMKK2RpYWNocm9uaWNuZXNzCitkaWFseXNlL1NHRAorZGlhcGVyCitEaWNrZW5zaWFuCitEaWNraW5zb24KK0RpY2tzb24KK2RpY3R1bS9NCitkaWRkbGUvUkRTRworRGllZ28KK2RpZXNlbC9TTQorZGlldGV0aWMvUworZGlldGh5bAorZGlldGl0aWFuL1NNCitkaWZmZXJlbmNlZAorZGlmZmVyZW50aWFsL01TWQorZGlmZmVyZW50aWF0ZS9TR25CRE4KK2RpZmZpY3VsdC9ZWgorZGlmZmlkZW50L1kKK2RpZmZyYWN0b21ldGVyL01TCitkaWZmdXNlL1BTdllSREd1Yk54WFYKK2RpZ2VzdGVkL1UKK2RpZ2VzdGlibGUvSQorZGlnZXN0aXZlbmVzcworRGlnaW1vbgorRGlqa3N0cmEvTQorZGlrZXIvTQorZGlsaXRoaXVtCitEaU1hZ2dpbworZGltZXRoeWwvTQorZGltcGx5L1QKK0Rpb255c2lhbgorZGlwc29tYW5pYS9TTQorZGlwdHljaHMKK2RpcmVjdGVkL2FVSUEKK2RpcmVjdGlvbnMvQQorZGlyay9NUworZGlydC96WjJTTQorZGlydHkvVERTR1AKK2Rpc2FmZmVjdAorZGlzYW1iaWd1YXRlL05TREduCitkaXNhcHBvaW50L0xoaworZGlzYmVsaWV2ZS9rCitkaXNjZXJuaWJpbGl0eQorZGlzY2VybmlibHkKK2Rpc2NyZXRlL25ZUE4KK2Rpc2N1cy9TTUcKK2Rpc2N1c3Npb24vTQorZGlzaGFiaWxsZS9NUworZGlzaGFybW9uaW91c25lc3MKK2Rpc2h3YXNoZXIvU00KK2Rpc2h3YXRlci9NCitkaXNpbnRlcmVzdGVkbmVzcy9TCitkaXNqb2luCitkaXNqdW5jdC9WdgorZGlzbWF5ZWQvVQorZGlzb3JkZXJlZC9QCitkaXNwZW5zYWJsZS9JCitkaXNwZW5zZS9SeUduRFMKK2Rpc3BsZWFzdXJlCitkaXNwb3J0CitkaXNwcm9wb3J0aW9uYWwKK2Rpc3B1dGF0aW9uL00KK2Rpc3B1dGVkL1UKK2Rpc3JvYmUvRworZGlzc2Vuc2lvbi9TTQorZGlzc2VydGF0aW9uL01TCitkaXNzaW1pbGl0dWRlL1MKK2Rpc3NpcGF0aW9uL00KK2Rpc3NvY2lhYmxlL0kKK2Rpc3NvbmFuY2UvU00KK2Rpc3NvbmFudC9ZCitkaXN0YW50L1BZCitkaXN0aW5jdGx5L0kKK2Rpc3Rpbmd1aXNoYWJsZS9JVQorZGlzdHJpYnV0ZS9BU1ZHRAorZGl2ZWQvTQorZGl2ZXJnZW50L1kKK2RpdmVyc2lmaWNhdGlvbi9NCitkaXZlcnQvU0RHCitkaXZlc3RpdHVyZS9TTQorZGl2aW5hdGlvbi9NCitkaXZvcmPpZS9TTQorRG5pZXBlci9NCitET0IKK2RvY2svTVMKK2RvY3RyaW5haXJlL1MKK2RvZS9TTQorZG9nZ2VkbmVzcy9TCitkb2dtYS8xTVNXCitkb2d5J3MKK2RvaW5nJ3MKK2RvbGUncworZG9sbGFyL1NNCitkb2xsb3AvZFNNCitkb2x0L1NNCitEb20KK2RvbWljaWxlL0dTRE0KK2RvbWluby9NCitkb24vTlNHblZECitEb25hbGRzb24KK2Rvb20tbGFkZW4KK2RvcGllc3QKK0RvcmEvTVcKK0RvcmNoZXN0ZXIKK2Rvcmt5L1QKK2Rvc3MKK2RvdWJsZS1jcm9zcy9HCitEb3VibGVkYXkKK2RvdWJsZXRoaW5rCitkb3VidGVkL1UKK0RvdWcKK2Rvd2VyL01kUworZG93bmJlYXQvU00KK2Rvd25yaWdodC9ZUAorZG93bnMvOAorZG93bnN0YWlycworZHJhZy9ETVpTRworRHJha2Vuc2JlcmcvTQorZHJhc3RpYy9ZCitkcmF3bGVyL00KK2RyYXduLW91dAorZHJheS9NU0RHCitkcmVhZC9TNkdEagorZHJlYW10CitkcmVzc2VzL0FVYworZHJvb3AvUzJHWkRrCitkcm9vcGluZXNzL1MKK2Ryb3AtaGVhZAorZHJvd3NpbmVzcy9TCitkcnVpZC9TCitkcnVtYmVhdC9NU0cKK2RydW5rZW4vUFkKK2RyeS1jbGVhbmluZworZHViYmluZy9NCitkdWJpZXR5L1NNCitEdWJsaW4vTQorZHVjYXQvU00KK2R1Y2tlci9NCitkdWNrd2VlZC9NUworZHVja3kvVFNNCitkdWgKK2R1bGNldC9ZCitEdWx1dGgKK2R1bWJzdHJ1Y2sKK2R1bWR1bS9TTQorRHVtZnJpZXMvTQorZHVuZ2Vvbi9HU01ECitEdW53b29keQorZHVvZGVuYWwKK2R1cGxpY2FibGUKK2R1cGxpY2F0aXZlCitEdXBvbnQKK2R1cmFuY2UvTQorZHVyZXNzL01TCitEdXNlbmJlcmcKK2R1c3RpbmcvTQorRHV0Y2gvNW0KK2R5bmFtaWNhbAorZHluYW1pY3MvTQorZHluZS9NCitlYXIvNlNZTUQKK2VhcmwvMk1TCitlYXJseS9QVFMKK2Vhci1waWVyY2luZworZWFycGx1Zy9TTQorZWFydGhpbmVzcy9TCitlYXNlJ3MvVQorZWFzaWVzdAorRWFzdGVybgorZWF0ZXJ5L1NNCitlYXZlL1NNCitlYnVsbGllbnQvWQorRWNjbGVzCitlY2NsZXNpYXN0aWNpc20KK0VDRworZWNoZWxvbi9kU00KK2VjaG9lcy9BCitlY2xlY3RpY2lzbS9NUworZWNsb2d1ZS9TTQorZS5jb2xpCitlLWNvbW1lcmNlCitlY29ub21pY2FsL1UKK2VkaXRhYmxlL1UKK2VkdWN0aW9uL00KK0Vkd2FyZGlhbi9NUworZWZmZWN0L0R1R3ZWU00KK2VmZmVjdGl2ZW5lc3MvU0kKK2VmZmVtaW5hdGUvU1kKK2VmZmV0ZS9QWQorZWZmaWNhY3kvSVNNCitlZmZ1c2UvTkR2dVZTR1gKK2Vnb2lzbS9NUworRWhybGljaC9NCitlaWRlci9TTQorZWlnaHR5LXNpeC9ICitlaWdodHktdHdvZm9sZAorRWlsZWVuCitFaW5zdGVpbi9NCitla2UvR1NECitFbGFpbmUKK2VsYW5zCitlbGF0ZWQvUAorZWxlY3RhYmxlL1UKK0VsZWN0cmEKK2VsZWN0cmVzcy9NCitlbGVjdHJpY2lhbi9TTQorZWxlY3Ryb2NhcmRpb2dyYW0vU00KK2VsZWN0cm9kZS9NUworZWxlY3Ryb2VuY2VwaGFsb2dyYXBoL1pXTVMKK2VsZWN0cm9tZWNoYW5pY3MKK2VsZWN0cm9tb3RpdmUKK2VsZWN0cm9wbGF0ZS9TR0QKK2VsZWN0cm9zaG9jay9NR0RTCitlbGVlbW9zeW5hcnkKK2VsZWdpYWNhbAorZWxlbWVudGFyeS9ZUAorZWxldmVuL0hNUworRWxpCitlbGljaXQvZFNuCitlbGlkZS9OU0RHWAorRWxpemFiZXRoYW4vUworRWxsaW90CitlbGxpcHRpY2l0eS9NCitlbG9wZS9MU0RHCitlbHVzaXZlL1AKK2VtYWNpYXRlL1NHbk5ECitlLW1haWwvTVNHRAorZW1ib2R5L0FFR0RTCitlbWJvc29tCitlbWJvd2VyL1NkCitlbWJyaXR0bGUKK2VtY2VlL01HUworZW1lcmdlL0FTR0QKK2VtZi9TCitlbWlncmFudC9TTQorZW1pbmVuY2UvU00KK2VtaXIvU00KK2VtcGF0aGV0aWMvWQorZW1waGF0aWMvWQorZW11bHNpZnkvblJTTkdECitlbmNhbXAvRExTRworZW5jYXBzdWxhdGUvU05EbkcKK2VuY2lwaGVyZXIvTQorZW5jb2RlL0pEUlNCRworZW5jb3JlL0RTRworZW5jdW1iZXJlZC9VCitlbmRnYW1lL00KK2VuZG9zcGVybS9NCitlbmR1ZS9HU0QKK2VuZHdheXMKK2VuZXJneS9xU1FNczgtOQorRW5maWVsZAorZW5mb2xkL0RHUworZW5mb3JjZWFibGUvVQorZW5mcmFuY2hpemUvTERHUlMKK2VuZ2FnZS9BR0VTRAorZW5nZW5kZXIvZFMKK2VuaGFuY2UvR1JMRFMKK2VubWl0eS9TTQorZW5ub2JsZXIvTQorZW50YW5nbGUvRURMU0cKK2VudGVyL0FkUworZW50ZXJpdGlzL01TCitlbnRodXNpYXN0aWMvVVkKK2VudG9tb2xvZ3kvUzNNdworZW50cmVuY2gvTERTRworZW50cmVwcmVuZXVyc2hpcC9NCitlbnRyeSdzCitlbnVtZXJhdGUvVm5HRE5TCitlbnZpYWJsZS9QCitlbnZpb3VzbmVzcy9TCitlbnZpcm9ubWVudGFsaXNtL01TCitlbnZpc2FnZS9TR0QKK2Vuenltb2xvZ3kvTQorZXBhdWxldHRlL01TCitFcGhlc2lhbi9TCitlcGljdXJlL01TCitlcGlwaGFueS9NUworZXBpdG9tZS9zLTlxUThNUworZXF1YWxzL0YKK2VxdWF0b3IvU00KK2VxdWVzdHJpZW5uZS9NUworZXJvc2lvbi9NCitlcnJhbnRyeS9NCitlcnJhdGEvU1dNMQorZXJyYXR1bS9NUworRXJza2luZS9NCitlcnN0d2hpbGUKK2VyeXNpcGVsYXMvU00KK2VzY2FsYXRlL0NER05uUworZXNjYWxhdGlvbi9DTQorZXNjcml0b2lyZS9NUworZXNzYXkvRFJNRzNTCitlc3NlbmNlL01TCitlc3RhYmxpc2gvRUxER1MKK0VzdGVsbGUKK0VzdGhlcgorZXN0aW1hYmxlL1AKK2VzdGltYWJsZW5lc3MvSQorZXN0aW1hdGlvbi9NU2MKK2VzdG9wcGFsCitldGNldGVyYS9NUworZXRjaGluZy9NCitldGVybmFsbmVzcy9TCitldGhub2dyYXBoeS9NVworRXVsZXIvTQorZXVsb2dpc3QvVworZXVsb2d5L1E5czM4U00KK2V1cmh5dGhtaWNzCitFdXJvY2VudHJpYworRXVyb3NjZXB0aWNpc20KK0V1cm9zdGFyCitldXN0YXRpYworZXZhY3VlZS9TTQorZXZhbHVhdG9yL1NNCitldmFzaW9uL00KK2V2ZW5lcgorZXZlbnQvNlNqR00KK2V2ZW50aWRlL01TCitldmVudHVhbGl0eS9TTQorZXZlcnl0aGluZworZXZpc2NlcmF0aW9uL00KK2V2b2x2ZS9TR0QKK2V4YWN0ZXIvTQorZXhhY3Rpb24vU00KK2V4YWdnZXJhdGlvbi9NCitleGFnZ2VyYXRvci9TTQorZXhhbHQvUm5oU05ERworZXhhbWluZWQvVQorZXhhbWluZXIvU00KK2V4Y2Vsc2lvci9TCitleGNpdGF0aW9uL00KK2V4Y3Vyc3VzL01TCitleGVjdXRvci9NUworZXhlcnQvY0dEUworZXhoYXVzdGlvbi9TTQorZXhoYXVzdGl2ZS9QCitleGhpbGFyYXRpb24vTQorZXhodW1lci9NCitleG9uZXJhdGlvbi9NCitleG9yYml0YW5jZS9NUworZXhvcmNpc3QvTVMKK2V4b3NwaGVyZS9TTQorZXhwCitleHBhdGlhdGlvbi9NCitleHBlY3RhdGlvbmFsCitleHBlY3RlZC9VWQorZXhwZWRpZW5jeS9JTVMKK2V4cGVyaW1lbnRhbGlzbS9NCitleHBpYXRpb24vTQorZXhwbGFpbmFibGUvVQorZXhwbGljaXQvUFkKK2V4cG9uZW50aWF0ZS9HbkRTTgorZXhwcmVzc2VkL1UKK2V4cHJlc3Npb25pc3QvV1MKK2V4cHVuZ2VyL00KK2V4dGVtcG9yYW5lb3VzbmVzcy9TCitleHRlcm1pbmF0ZS9EblNORworZXh0aW5ndWlzaC9HUjdTRAorZXh0aW5ndWlzaGFibGUvSQorZXh0cmFjdC9HN1ZEU3YKK2V4dWJlcmFuY2UvU00KK2V4dWRhdGUvTQorZXh1cmJhbgorZXh1cmJhbml0ZS9TTQorZXgtd2l2ZXMKK2V5ZWZ1bC9TTQorZXlld2FzaC9TTQorZi9GNworZmFicmljYXRvci9TTQorZmFjdHVhbC9ZUAorZmFjdHVhbGl0eS9NCitmYWdnb3QvZFNNCitmYWludC1oZWFydGVkL1kKK2ZhaXJnb2VyL1MKK2ZhaXJpbmcvTQorZmFpcmlzaAorRmFpcnBvcnQKK0ZhaXNhbAorZmFpdGhmdWxuZXNzL1NNCitmYWxsb3BpYW4KK2ZhbWVkL0MKK2ZhbWlsaWFybmVzcworZmFtb3VzL1lQCitmYW5saWdodC9NUworRkFRL1NNCitGYXJhZGF5CitmYXJhd2F5CitmYXJtbGFuZC9NUworZmFydC9TREdNCitmYXJ0aGluZy9TTQorZmFzY2lzbS9TTQorZmFzaGlvbmVkL0EKK2ZhdC9Tb1lQVE1HWkQyCitmYXRlZnVsbmVzcy9TCitmYXZvdXJhYmx5L1UKK2Zhdm91cmVkL1NZTQorRmF5ZXR0ZS9NCitmZWFzaWJseS9JCitmZWF0aGVyaW5nL00KK2ZlYXRoZXJ5L1QKK2ZlZC9VZmMKK2ZlZGVyYWwvcS1RODNZCitmZWRvcmEvTVMKK0ZlbGljaWEKK2ZlbGljaXR5L0lTTQorZmVsbG93L01TCitmZWxvbi9TTQorZmVtCitmZW5uZWwvU00KK2Zlcm55L1QKK2Zlcm9jaXR5L1NNCitmZXR0ZXIncworZmV1ZGF0b3J5L00KK2ZldmVyL1NkTQorZmlicm9ibGFzdC9NUworZmlicm9zZXMKK2ZpY2tsZW5lc3MvUworZmlkdWNpYXJ5L01TCitmaWVyY2VuZXNzL1MKK2ZpZnR5LWZpcnN0L1MKK2ZpZ3VyYXRpb24vTUs0RgorZmlsYW1lbnRhcnkKK2ZpbGxlZC9jQVUKK2ZpbGxldGluZy9NCitmaWx0ZXJlZC9VCitmaW5nZXJsaW5nL00KK2Zpbmdlci1wbGF0ZQorZmluaXNoL0FTR0QKK2ZpbmlzaGVyL1NNCitmaW5pc2hpbmcvUworZmlyZWFybS9TTQorZmlyZWJveC9NUworZmlyZS1icmljay9NUworZmlyZS1idWcKK2ZpcmUtZ3VhcmQvTQorZmlyZWxlc3MKK2ZpcmUtdHJhcC9TTQorZmlybWFtZW50L1NNCitmaXJzdC1oYW5kCitmaXNoLWhvb2svU00KK2Zpc2gtdGFua3MKK2Zpc3RmaWdodC9NUworZml0cy9BYWUKK2ZpdHRpbmcvUFkKK2ZpdmUtZmluZ2VyCitmaXgvS0RTNEcKK2ZpeGVyL1NNCitmaXp6eS9UCitmbGFiL1pTejJNCitmbGFjY2lkaXR5L1NNCitmbGFncG9sZS9TTQorZmxhay9kU00KK2ZsYW1lbmNvL1NNCitmbGFtZS10aHJvd2VyL01TCitmbGFtaW5nL0kKK2ZsYW1pbmdvZXMKK2ZsYXNoYnVsYi9TTQorZmxhc2h5L1RQCitmbGF0L1BUU1lHTUQKK2ZsYXRmaXNoL1NNCitmbGF0bWF0ZS9TTQorZmxhdG5lc3MvUworZmxhdHRlci9TZGtacgorZmxhdHRpc2gKK2ZsYXV0aXN0L1NNCitmbGVkZ2xpbmcvU00KK2ZsZXhpdGltZS9NCitmbGlnaHQvR1NaMnBNRAorZmxpZ2h0J3MvY0sKK2ZsaW1mbGFtL1NER00KK2ZsaW1zeS9UUFkKK2Zsb29yL1NHSkRNCitmbG9vcmluZy9NCitmbG9yZXNjZW50L0kKK2Zsb3JpZC9QWQorZmxvdW5jZS9ER1NaCitmbG93ZXJsZXNzCitmbHUvTQorZmx1b3JpZGF0ZS9HU0QKK2ZseS1ieS1uaWdodAorZmx5b3Zlci9NUworZmx5c3dhdHRlci9NUworZm9hbWluZXNzL1MKK2ZvY2kvTQorZm9nJ3MKK2ZvaWwvU0RHCitmb2xpYXIKK2ZvbGtsaWtlCitmb2xrc3kvVFAKK2ZvbGstdGFsZS9TCitmb2xsb3ctb24vUworZm9sbG93LXVwL1NNCitmb21lbnQvUkdTbkROCitmb29sZXJ5L1NNCitmb290YmFsbC9SRFNHTQorZm9vdGxpbmcKK2ZvcgorZm9yYWdlL1JER1NNCitmb3JiYWRlCitmb3Jib3JuZQorRm9yZGhhbQorZm9yZWNhc3RsZS9NUworZm9yZWZhdGhlci9TTQorZm9yZWdvZXIvTQorZm9yZXRlbGwvR1JTCitmb3Jld2Fybi9TREpHCitmb3JmZWl0dXJlL01TCitmb3JmZW5kL1NHRAorZm9yZ2V0L2pHUzYKK2ZvcmtmdWwvUworZm9ybWFsZGVoeWRlL1NNCitmb3JtYXQvUk1HdVNEdlYKK2Zvcm1pYworZm9ybXVsYWUvVworZm9yc3dvcmUKK2ZvcnRocmlnaHQvUFkKK2ZvcnRpdHVkZS9NUworZm9ydHktbmluZS9ICitmb3J0eS1vbmUKK2ZvcndhcmRpbmcvTQorZm9zdGVyZXIvTQorZm91bGFyZC9TTQorZm91ci9IU00KK2ZvdXItZXllcworZm92ZWEvTQorZnJhY3Rpb25hdGUvREcKK2ZyYWN0aW91cy9QWQorZnJhZ21lbnRhcnkvUFkKK2ZyYW1lL1JNU0RHCitmcmFtZWQvVQorRnJhbmNlL1NNCitmcmFuY2hpc2UvRVNERworZnJhbmNoaXNlZS9NUworRnJhbmNpc2Nhbi9TCitmcmFuY29waG9uZS9NCitGcmFua2VsL00KK2ZyYW5rZXIvTQorZnJhbmtsaW4vTQorZnJhdGVybmFsL1kKK2ZyYXRlcm5pdHkvU01GCitmcmF0cmljaWRhbAorZnJlYWsvR1NNRFoKK2ZyZWFraXNoL1BZCitGcmVkYQorRnJlZGVyaWN0b24vTQorZnJlZS1saXZpbmcKK0ZyZWVtYXNvbi9TTQorZnJlZXphYmxlCitmcmVvbi9TCitmcmV0d29yay9TTQorRnJldWRpYW4KK2ZyaWVyJ3MKK2Zyby9TCitmcm9udGllci9TTQorZnJvc3RiaXRpbmcvTQorZnJvd2FyZC9QCitGcnVlaGF1Zi9NCitmcnVpdGZ1bC9UUAorZnRwCitGdWxhbmkKK2Z1bGwvYworZnVsbC1zY2FsZQorZnVsbC10aW1lci9TCitmdWxseQorZnVsbWluYXRlL1NOREduCitmdW1pZ2FudC9NUworRnVuYWZ1dGkvTQorZnVuZC9BU0RHTQorZnVuZC1yYWlzaW5nCitmdW5lcmVhbC9ZCitmdW5raW5lc3MvUworZnVyYmlzaGVyL01TCitGdXJuZXNzL00KK2Z1cnRoZXJtb3JlCitmdXJ0aXZlbmVzcy9TCitmdXNpbGxhZGUvU01ERworZnVzaW9uL0lNNEYKK2Z1c3NpbmVzcy9TCitmdXN0eS9UUAorZnV0b24vUworZndkCitHYS95CitnYWJibGUvR0RTCitnYWQvUlNERworR2Fkc2RlbgorZ2FpbmVyL1NNCitHYWluc2Jvcm91Z2gKK2dhaXRlcmVkCitHYWxpbGVhbgorR2FsaWxlby9NCitHYWxsYWdoZXIvTQorZ2FsbGVyeS9EU00KK0dhbG9pcworZ2FsdmFuaXNtL01TCitnYW1la2VlcGVyL01TCitnYW5ncmVuZS9EU01HCitHYW55bWVkZQorZ2FwLXRvb3RoZWQKK2dhcmJsZXIvTQorR2FyZGluZXIvTQorZ2FyaXNobmVzcy9TCitnYXJsaWMvRFNHWk0KK2dhcm5lci9TZAorR2FybmV0dAorZ2FzaWZ5L1NSbkdETgorR2FzdG9uCitnYXN0cmljCitHYXRsaW5nCitHYXVsCitHYXVsaXNoCitnYXVudC9QWVQKK2dhdXplL0RNWlNHCitHYXphCitnYXplL1JHU0QKK2dhemVsbGUvU00KK0dEUAorZ2VhcndoZWVsL01TCitnZWVzZS9NCitHZWlnZXIKK2dlbGNhcAorZ2VtbGlrZQorZ2VuZXRpY2lzdAorZ2VuaXRvdXJpbmFyeQorZ2VudGlsZS9TCitnZW51aW5lL1lQCitnZW51aW5lbmVzcy9TCitnZW9jZW50cmljL1kKK2dlb2Nocm9ub2xvZ3kvTQorZ2VvZ3JhcGh5L1NNMVd3CitHZW9yZGllCitnZW9zdGF0aW9uYXJ5CitHZXJtYW4vTVNXCitnZXJvbnRvY3JhY3kvTQorZ2VzdHVyZS9TTURHCitnZXQtb3V0L1MKK2dldHRhYmxlCitnZXdnYXcvU00KK2doYXQvU00KK2doZXJraW4vTVMKK2doZXR0b2VzCitnaWZ0L2hHRFNNaQorZ2lnYXdhdHQvTQorZ2lnb2xvL1NNCitHaWxjaHJpc3QvTQorZ2luZ2VyYnJlYWQvU00KK0dpb3Zhbm5pCitnaXJkbGUvRFNHTQorZ2l2ZW4KK2dsYWNpZXIvU00KK2dsYWNpb2xvZ3kvTTN3CitnbGFkc29tZS9UCitnbGFuZHVsYXIvWQorR2xhc2dvdy9NCitnbGFzcy1ibG93ZXIvUworZ2xhc3Nob3VzZS9TTQorZ2xlYW5pbmcvTQorZ2xpc3Rlci9TZAorZ2xvYnVsaW4vU00KK2dsb29taW5lc3MvUworZ2xvcmlmaWNhdGlvbi9NCitnbG93ZXIvZAorZ2x1dC9TTUdECitnbHV0dG9ueS9TTQorZ2x5Y2VyaW5lL00KK2duYXcvSlNHRAorZ25hd2luZy9NCitnb2IvU0dETQorZ29iYmxlZHlnb29rL1MKK0dvZHNwZWVkCitnb2VyL1NNCitHb2xkYmVyZworZ29sZG1pbmUvUworZ29uYWQvU00KK2dvbmRvbGEvTVMKK0dvbnphbGV6Citnb29kaGVhcnRlZAorZ29vZGllJ3MKK2dvb2ZpbmVzcy9TCitnb29uL1NNCitnb3JnZW91c25lc3MvUworZ29zc2FtZXIvTVMKK2dvc3NpcGVyL1MKK2dvdC9JCitHb3RoLzFXCitnb3YuCitnb3Zlcm5hYmxlL1UKK2dvdmVybmVzcy9NUworZ292ZXJubWVudCdzCitncmFkaW5nL0EKK2dyYWR1YXRlJ3MvZgorR3JhZW1lCitncmFmZml0by9NCitncmFtL01TCitncmFtbWUvU00KK2dyYW5hcnkvU00KK2dyYW5kaWxvcXVlbmNlL01TCitncmFuZGlsb3F1ZW50L1kKK2dyYW5kaW9zaXR5L01TCitHcmFuZ2VyCitncmFudC1tYWludGFpbmVkCitncmFudWxhdGlvbi9NCitncmFwcGxlL1NHRAorZ3JhdGljdWxlL00KK2dyYXR1aXRvdXNuZXNzL1MKK2dyYXZlc3RvbmUvTVMKK2dyYXppbmcvYworZ3JlYXQtZ3JhbmRmYXRoZXIKK2dyZWF0LWdyYW5kbW90aGVyL1MKK2dyZWVkeS9QVAorZ3JlZW5ncm9jZXIvU1pNCitncmVlbm1haWwvU0dECitncmVldGluZy9NCitncmVnYXJpb3VzbmVzcy9TCitHcmVudmlsbGUKK2dyZXlpc2gKK2dyZXluZXNzL1MKK2dyaWVmL01TCitHcmltc2J5CitncmluZHMvQQorR3Jpc3dvbGQvTQorZ3JpenpsZS9TWUdECitncm9rL1NERworZ3Jvc3NuZXNzL1MKK2dyb3R0b2VzCitncm91Y2gvMlpEU3pHCitncm91bmRudXQKK2dyb3dsLzJHU2tEUgorZ3J1YmJ5L1RQCitncnVlc29tZS9ZUFQKK2dydWZmbmVzcy9TCitHU0EKK0ctc3RyaW5nL1NNCitndWFuby9NUworZ3VhcmFudGVlL0dkU00KK2d1YmVybmF0b3JpYWwKK0d1Y2NpCitndWVybnNleS9TCitndWZmYXcvR0RTTQorR3VpYW5hL00KK2d1aWRlbGluZS9TTQorZ3VpbGVsZXNzL1lQCitHdWphcmF0aQorZ3VsZGVuL01TCitndW4veUdTWlJNRAorZ3VuYm9hdC9NUworZ3Vuc2hvdC9NUworR3VudGhlci9NCitndXJnbGUvREdTCitndXJuYXJkCitneWJlL1MKK2d5cC9TCitoYWJlcmRhc2hlcnkvTVMKK2hhYml0YWJpbGl0eS9NUworaGFja2xlci9NCitoYWVtYXRpbgoraGFlbW9ycmhvaWRhbAoraGFobml1bS9TCitoYWlyL3AyWlNNRAoraGFpcmJhbGwvU00KK2hhaXJjdXQvU01HCitoYWlyZG8vU00KK2hhaXJuZXQvU00KK2hhaXItc2xpZGUKK2hhaXItc3BsaXR0ZXIvU00KK2hhaXItc3BsaXR0aW5nCitoYWxlci9NSQoraGFsZi9NCitoYWxmLWxpZ2h0CitoYWxmLW1hcmF0aG9uL01TCitoYWxmcGVubnl3b3J0aAorSGFsaWZheC9NCitoYWxvL01EU0cKK0hhbW1lcnNtaXRoL00KK0hhbW1vbmQKK2hhbmRjYXJ0L01TCitoYW5kLWhlbGQKK2hhbmRob2xkL01TCitoYW5kaWNhcC9HRFJNUworaGFuZHNvbWUvUFRZCitoYW5kd292ZW4KK2hhbmcvN1JtREpTRworaGFwcGVuL1NKZAoraGFwcGluZworaGFyYW5ndWUvREdTCitIYXJhcmUvTQorSGFyYmhhamFuL00KK2hhcmRiYWNrL1NNCitoYXJkd29vZC9NCitIYXJsZW0KK2hhcmxlcXVpbi9TTQorSGFybW9uL00KK2hhcm1vbmljL1lTCitoYXJtb25pdW0vTVMKK0hhcnJpbmd0b24vTQorSGFycnkncworaGFyc2gvUFRZCitIYXJ2ZXkKK2hhc3NsZXIKK0hhdGhhd2F5L00KK2hhdmVyaW5nCitoYXdraXNoCitIYXd0aG9ybmUKK2hlYWQvRFJ6R20ycGloTVpKUworaGVhZGRyZXNzL1NNCitoZWFkZ2Vhci9NUworaGVhZG1hc3Rlci9NUworaGVhcmVyL1NNCitIZWFyc3QKK2hlYXJ0LXdhcm1pbmcKK2hlYXRpbmcvS2MKK2hlYXZlcy9NCitoZWN0b2xpdHJlL1MKK2hlZWRpbmcvVQoraGVmdC9EekcyWlMKK2hlaAorSGVpZGkvTQoraGVpZ2gtaG8KK2hlbGlvZ3JhcGh5L00KK2hlbGwtY2F0L01TCitIZWxsZW5pc20KK0hlbGxlbmlzdC9TTVcKK2hlbHBsZXNzL1BZCitoZWxwbWF0ZS9NUworaGVtc3RpdGNoL0RTR00KK2hlbmNobWVuL00KK0hlbnJpZXR0YQoraGVwYXRpdGlkZXMKK2hlcmJhbC8zUworaGVyYml2b3JvdXMvWQoraGVyZXVwb24KK2hlcml0YWdlL01TCitoZXJuaWF0ZS9HRFMKK2hlcnJpbmdib25lL1NNR0QKK0hlcnR6b2cvTQoraGVzaXRhdGVyL00KK2hldGVyb2dhbW91cworaGV1cmlzdGljL1NNWQoraGV4YWNobG9yaWRlL00KK2hleGFmbHVvcmlkZS9NCitoZXhhZ29uL29TTQoraGllcm9nbHlwaGljcy9NCitoaWdnbGVkeQoraGlnaC1taW5kZWRuZXNzCitoaWdoLXJlc29sdXRpb24KK2hpamFja2VycycKK0hpbGxzZGFsZQoraGluZGVyZXIvTQorSGluZXMKK2hpcHBvL01TCitoaXBweS9UTVMKK2hpcy9KREcKK2hpc3Nlci9NCitoaXN0b3JpY2FsL1AKK2hpc3RvcmljaXNtL00KK2hpc3RvcmljaXN0L00KK2hpc3RvcmlvZ3JhcGhlci9NUworaGl0Y2hlZC9VCitoaXRjaGVzL1UKK2hpdHRhYmxlCitob2FyaW5lc3MvUworaG9heC9EUkdTTQoraG9ibmFpbC9ETVMKK2hvZC9TTQoraG9kZ2UvU00KK0hvZGdraW4vTQoraG9lY2FrZS9NUworaG9nYW4vTVMKK2hvZ2dlcgoraG9pdHkKK2hva2V5Citob2xpZGF5bWFrZXIvUworaG9saW5lc3MvUworaG9sbGFuZGFpc2UKK2hvbGxvdy1leWVkCitIb2xseXdvb2QvTQorSG9sb2NlbmUKK2hvbHkvUFNUCitob21hZ2VyL00KK2hvbWVsZXNzbmVzcy9TCitob21lc3RyZXRjaC9NUworaG9tZXdhcmQvUworaG9tZXdvcmsvUk0KK2hvbWljaWRlL1NvTQoraG9taWVzdAoraG9taW5lc3MncworaG9tb2Vvc3Rhc2lzL00KK2hvbW9nZW5hdGUvU00KK2hvbW9ncmFwaC9TTQoraG9tb21vcnBoL1daTTEKK2hvbW9tb3JwaGlzbS9TTQoraG9tb3BvbHltZXJzCitIb24uCitob25lc3R5L1NNRQoraG9vZC9ER01pUworaG9vdmVzL00KK0hvcGtpbnMKK0hvcmF0aXVzCitob3Jpem9uL1NNCitob3Jpem9udGFsL1NZCitob3Jtb25hbAorSG9ybXV6Citob3JuYmxlbmRlL01TCitIb3Jvd2l0egoraG9ycmlibGUvUFkKK2hvcnNlLWRyYXduCitob3JzZXBsYXkKK2hvcnNlLXJhY2UvU01HCitob3Nhbm5hL0dTRAoraG9zaWVyL1NNWgoraG9zaWVyeS9TTQoraG9zcGljZS9NUworaG9zcGl0YWxpdHkvU00KK2hvc3RhZ2UvTVMKK2hvc3Rlc3MvR01EUworaG90aG91c2UvTVNHRAoraG90cGxhdGUvTVMKK2hvdW5kZXIvTQoraG91c2Vicm9rZW4KK2hvdXNlY2xlYW5pbmcvTQoraG91c2UtaHVudGluZworaG91c2VrZWVwL0dSCitob3VzZXRvcC9TTQoraG93aXR6ZXIvU00KK0hVRAorSHVkZGVyc2ZpZWxkCitodWRkbGUvRFNNRworSHVleQoraHVnL1NERworaHVnZW5lc3MvUworSHVnZ2lucworSHVnaAorSHVnaGllCitodWxhL01ER1MKK2h1bWFuZS9QM1kKK2h1bWJsZW5lc3MvUworaHVtZXJhbC9TCitodW1vcmlzdC9XU00KK2h1bW9yb3VzL1BZCitodW5jaC9HU0RNCitodW5rL01aUworaHVudC9EbUdSSlMKK2h1cnJpY2FuZS9TTQoraHVycnkvaVNHaEQKK2h1cnRmdWxuZXNzL1MKK2h1cnRsZS9ER1MKK0h1c3Rvbi9NCitIdXRjaGlucworaHlkcm9jaGxvcmljCitoeWRyb2xvZ3kvTTMxU3cKK2h5ZHJvbHlzaXMvTQoraHlkcm9tYWduZXRpYworaHlkcm9tZXRyeS9NUworaHlkcm9wbGFuZS9ETVNHCitoeWRyb3Bvbmljcy9NCitoeWRyb3RoZXJtYWwvWQoraHlkcm94eXppbmUvTQoraHltbi9XU0dNRAoraHltbm9keQoraHlwZXJzZW5zaXRpdmVuZXNzL1MKK2h5cG9jYXVzdAoraWFtYmkKK0liZXJpYS9NCitpYmlzL1NNCitJY2VsYW5kL01SVworaWRlbnRpZnkvQlJuRGxOU0cKK2lkZW50aXR5L01TCitpZGVvbG9neS9NMzF3UworaWRpb3BhdGhpYworaWdsb28vTVMKK2lnbmVvdXMKK2lnbm9yYWJsZQoraWdub3JhbnRuZXNzJ3MKK2lpCitpbGVhCitpbGwtY29uY2VpdmVkCitpbGwtaHVtb3VyZWQKK2lsbHVtaW5hbnQKK2lsbHVzaW9uaXN0L01TCitpbWFnZXJ5L1NNCitpbWJlY2lsaXR5L1NNCitpbWJydWluZworaW1pdGFibGUvSQoraW1tb3JhbAoraW1tb3ZlYWJsZQoraW1wYWlyZWQvVQoraW1wZWRlL1MKK2ltcGVkaW1lbnRhCitpbXBlcmlvdXMvWVAKK2ltcGVydHVyYmFibGUvWQoraW1waW5nZS9MUworaW1wbGFjYWJpbGl0eS9NUworaW1wbGVtZW50YWJpbGl0eQoraW1wbGVtZW50ZWQvVQoraW1wbGljYXRlL1NERworaW1wbGljaXQvWVAKK2ltcG9uZGVyYWJsZS9TUAoraW1wcmVzc2lvbmFiaWxpdHkvU00KK2ltcHJlc3QvU00KK2ltcHVsc2l2ZW5lc3MvUworaW1wdXRhdGlvbi9NCitpbmFuZS9UWQoraW5hcHBsaWNhYmxlCitpbmFzbXVjaAoraW4tYmV0d2VlbgoraW5ib2FyZAoraW5jYXBhY2l0YXRlL1NOREcKK2luY2FyY2VyYXRpb24vTQoraW5jZW5zZS9HTURTCitpbmNlcHQvRFZTR3YKK2luY2VzdHVvdXMvUFkKK2luY2lzaXZlL1AKK2luY2lzb3IvTVMKK2luY2l0ZS9MUlgKK2luY2x1c2lvbi9NCitpbmNvbXBldGVudC9TTQoraW5jb3Jwb3JhdGUvREFOR1MKK2luY3JlZHVsb3VzL2MKK2luY3J1c3RhdGlvbi9NUworaW5jdXIvR1M3bEQKK2luY3VyYWJsZS9TCitpbmN1cnNpb24vTQorSW5kaWEvTQorSW5kaWFuL1NNCitpbmRpc2NpcGxpbmUKK2luZHViaXRhYmxlL1lQCitpbmR1Y3Rvci9NUworaW5lcnQvUFkKK2luZXNzZW50aWFsCitpbmV4b3JhYmlsaXR5L00KK2luZXhvcmFibGUvWVAKK2luZmFudGlsZQoraW5mYXR1YXRpb24vTQoraW5mZXJlbmNlL0dTTQoraW5mZXJlbmNlcgoraW5maWRlbC9NUworaW5maWxsL0dNCitpbmZsdXgKK2luZm9ybWF0aW9uL0VTCitJbmdsaXMKK2luZ3JhdGUvTQoraW5ncmVzcy9TTk0KK2luaGFiaXRhYmxlL1UKK2luaGFsZS9OblIKK2luaGVyaXRhYmxlL1AKK2luaGVyaXRhbmNlL0VNUworaW5oZXJpdHJlc3MvU00KK2luaGliaXRlcidzCitpbmltaXRhYmxlL1lQCitpbml0aWF0b3IvU00KK2luLWpva2UvUworaW5qdXJlZC9VCitpbm5hdGUvUFkKK2lubmF0ZW5lc3MvUworaW5ua2VlcGVyL01TCitpbm9jdWxhdGluZy9BCitpbnMKK2luc2FsdWJyaW91cworaW5zZXJ0ZXIvTQoraW5zZXQvRworaW5zaXN0ZW5jZS9NUworaW5zb2xlCitpbnNvbW5pYWMvUworaW5zdGF0ZS9BTFNERworaW5zdGl0dXRpb24vU00KK2luc3RydWN0aW9uL1NNCitpbnN0cnVjdGl2ZS9QCitpbnN1bHRlci9NCitpbnN1cmFuY2UvRk1TQQoraW5zdXJlZC9VCitpbnN1cmdlbnQvU00KK2ludGFrZS9NCitpbnRlZ2VyL01TTm4KK0ludGVsL00KK2ludGVuc2VuZXNzL1MKK2ludGVuc2l2ZS9QUworaW50ZXJicmVlZC9HUworaW50ZXJjbGFzcworaW50ZXJjb20vTVMKK2ludGVyY29tbXVuaWNhdGlvbi9NCitpbnRlcmZhaXRoCitpbnRlcmluZHVzdHJ5CitpbnRlcmlvci9ZTVMKK2ludGVybWFycmlhZ2UvTVMKK2ludGVyb2N1bGFyCitpbnRlcnByZXRlci9hTVMKK2ludGVycmVnaW9uYWwvWQoraW50ZXJyb2dhdGlvbi9NCitpbnRlcnZpZXdlZS9NUworaW50ZXJ3b3ZlbgoraW50aWZhZGEKK2ludGltaWRhdGUvTkRTa0d5bgoraW50b25lL3huTgoraW50b3hpY2FudC9TTQoraW50cmFjZWxsdWxhcgoraW50cmFpbmR1c3RyeQoraW50cmFuc2l0aXZlbmVzcy9TCitpbnRyYXByb2Nlc3MKK2ludHJpY2F0ZS9QWQoraW50cm9kdWN0b3J5CitpbnRyb2l0L1NNCitpbnRyb3ZlcnQvR1NETQoraW50dWl0aW9uaXN0L00KK2ludHVpdGl2ZS9QCitpbnZhZGUvUlhWdURHU04KK2ludmFsdWFibGUvUAoraW52ZWlnaGVyL00KK2ludmVudG9yL1NNCitpbnZlcnQvUkdTRGIKK2ludmVzdGlnYXRlL0FHRFNOCitpbnZpb2xhYmxlL1kKK2ludmlzaWJsZS9QUworaW52aXRhdGlvbmFsCitpbnZva2UvUm5ER05TCitpbnZvbHV0aW9uL1NNCitpb3RhL1NNCitJT1UKK0lQCitpcmtzb21lbmVzcy9TCitJcmt1dHNrCitpcm9uaWNhbC9QCitpcm9ueS9NUworaXJyZWRlbnRpc20vTQoraXJyZXNpc3RpYmlsaXR5L00KK2lycml0YXRpb24vTQorSXNobWFlbAoraXNsZS9TTQoraXNvYmFyL1NXTQoraXNvbGF0ZS9Tbk5ERworaXNvbGF0aW9uLzNNCitpc29tZXJpc20vU00KK2lzb21ldHJpYy9ZUworaXNvc3RhdGljCitJdGFuYWdhcgoraXRjaGluZXNzL1MKK2l0Y2h5L1RQCitpdCdkCitJdGhhY2EKK2l0aW5lcmFudC9TWQoramFja2Rhdy9NUworamFja2tuaXZlcworSmFjcXVlcworamFjdXp6aQoramFpbGJyZWFrL1NNCitKYWtvYgoramFsb3VzaWUvU00KK0phbmEKK2phcmRpbmnocmUvTVMKK2pjdAorSmVhbm5pZQoramVhbnMKK2planVuZS9QWQoramVsbC9EWUdTCitqZWxseWZpc2gvTVMKK0plbnNvbgorSmVyb21lCitqZXJyeS1idWlsZGVyL1MKK0plcnNleS9NCitKZXNzaWUKK2plc3Qva01EUkdTCitqZXQtc2V0dGVyL1NNCitqZXQtc2V0dGluZworamV3ZWxsZXJ5L00KK2ppZ2dseS9UCitqaWx0L0RHUworSmltL1pNCitqaXUtaml0c3UKK2pvYmJlci9aCitqb2JiZXJ5L00KK2pvYmJpbmcvTQoram9iaG9sZGVyL1NNCitKbydidXJnCitqb2Nvc2UvUFkKK2pvY3VsYXIvWQoram9kaHB1cnMKK0pvaG5zdG9uZQorSm9sbGEvTQoram9ucXVpbC9TTQorSm9zZXBoaW5lCitKb3NlcGhzb24KK0pvc2VwaHVzCitKb3NpYWgKK2pvdWxlL1NNCitqb3ZpYWwvWQorSm93ZWxsL00KK0pveWNlCitqb3llZC9jCitqb3lmdWxuZXNzL1MKK2p1YmlsYXRlL0dETm5TCitqdWRpY2lhbC9LWQorSnVkc29uL00KK0p1bGllL00KK2p1bXBpbmVzcy9TCitKdW5lL00KK0p1bmVhdQorSnVuZ2ZyYXUKK2p1cmlzcHJ1ZGVuY2UvTVMKK2p1c3RpZmlhYmlsaXR5L00KK2p1c3RpZmlhYmxlL1UKK2p1c3RpZmllZC9VCitqdXN0aWZ5L1JsQkROU0duCitKdXN0aW4KK2p1dC9TR0QKK0sKK0thZmthZXNxdWUKK0thbGFoYXJpCitrYWxlaWRvc2NvcGUvU1dNMQora2FybWljCitLYXRyaW5hL00KK0thdWFpCitrZWJhYi9TTQora2VkZ2VyZWUvUwora2VlbC9ER01TCitrZWVsaGF1bC9HRFMKK2tlZXBpbmcvTQorS2VsbGV5CitrZW4vR1NNRAorS2VudG9uL00KK0tlcnJ5L00KK0tldmluCitLZXluZXMKK2tleXdvcmQvU00KK0toYWNoYXR1cmlhbgora2liYnV0emltCitraWNrLXN0YXJ0L1NERwora2lsb2J1Y2sKK2tpbG9ncmFtL1NNCitraWxvam91bGUvU00KK2tpbHRlcgorS2ltYmFsbC9NCitLaW1iZXJsZXkKK2tpbmRlcmdhcnRlbi9TTQora2luZGxpbmVzcy9TCitraW5nZG9tL1NNCitraW5ncGluL01TCitraW5rLzJNR0RaU3oKK2tpcC9TREdNUgora2l0ZS9NUwora2x1ZGdleQora25lYWQvUkRHUwora25lbHQKK2tuaWNrZXJib2NrZXIvUwora25pY2tlcnMKK2tuaWdodC1lcnJhbnRyeQora25vdGhvbGUvTVMKK2tub3ctaG93Citrbm93bGVkZ2VhYmxlL1AKK2tudWNrbGUvU0RNRworS251ZHNvbgora251cmwvRFMKK2tvb2thYnVycmEvU00KK0tvcmVhbi9TCitLb3NjaXVza28KK0tyYWVtZXIKK0tyYW1lcgora3Jvbm9yCitLdQorS3VibGFpCitLdW1hcgorS3V3YWl0aS9TCitLd2FOZGViZWxlCitsYWJlbCdzCitsYWJpbGUKK2xhY2VyYXRlL05HRG5TCitsYWNrL01TCitsYWNvbmljL1kKK2xhY3Jvc3NlL01TCitsYWN0YXRlL1NOTW5EeEcKK2xhZGRlci9kCitsYWR5L01TCitsYWluL2ZjCitsYW1iYXN0ZS9HU0QKK2xhbWJlbmN5L01TCitsYW1lZC9NCitsYW1lbnRlZC9VCitsYW1wL0dEU00KK0xhbmFpCitsYW5kb3duZXJzaGlwL00KK0xhbmdlcgorbGFuZ3VhZ2UvU00KK0xhbnNpbmcKK2xhbnRoYW5pZGUvTQorbGFwdG9wL01TCitMYXJhCitsYXJnZW1vdXRoCitMYXJyeS9NCitMYXJzCitsYXNzL01TCitsYXN0LWRpdGNoCitsYXN0LW1pbnV0ZQorbGF0Y2hrZXkvU00KK2xhdGVyL0EKK2xhdGhpbmcvTQorbGF0dGljZXdvcmsvU00KK0xhdWRlcmRhbGUKK2xhdW5kcmV0dGUvUworTGF1cmVuCitMYXVyZW50L00KK0xhdXNhbm5lL00KK2xhdmF0b3JpYWwKK2xhdy9lU00KK2xhdy1hYmlkaW5nCitsYXdicmVha2luZy9TTQorbGF3c3VpdC9TTQorbGF5d29tYW4vTQorbGJzCitMZWFrZXkKK2xlYW5pbmcvTQorbGVhcm5lci9TTQorbGVhc2gvR1NVRAorbGVhdGhlci9TTVpkCitMZWJsYW5jCitsZWNoZXJvdXMvWVAKK2xlZWNoL0dTTQorbGVlay9NUworbGVnL29tRFNiTTJwTkdKWm4KK2xlZy1ieWUKK2xlZ2dpbmVzcy9TCitsZWdpb24vU015CitsZWdpc2xhdGUvdlZTR25ETgorbGVnLXNwaW5uZXIvTVMKK0xlbWtlCitsZW5pZW50L1kKK2xlbnQvQQorbGVudGlsL1NNCitMZW8KK0xlb25hcmRvCitsZW9uaW5lCitsZXB0YQorbGVzc29uL2RNUworTGV0aXRpYS9NCitsZXR0ZXIvZHJtSgorbGV1a2FlbWlhL00KK2xldmVsbmVzcy9TCitsZXZlci9kTVMKK2xldml0eS9TTQorTGhhc2EKK2xpYmVyYWwvSVkKK2xpYmVyYXRlL0NuRE5HCitsaWJlcmF0aW9uL0NNCitMaWJlcmlhL00KK2xpYmVybworbGlicmFyaWFuL01TCitsaWJyZXR0aQorbGljZW5zZS9TR0QKK0xpZGRlbGwvTQorbGllcy9BCitsaWV1dAorbGlmZS1wcmVzZXJ2ZXIKK2xpZ2h0ZWQvQ1UKK2xpZ2h0LXBlbi9NUworbGlrZWxpaG9vZHMKK2xpa2VuL2RTCitMaWxvbmd3ZS9NCitsaWx0aW5nbmVzcworTGltYS9NCitsaW1lL0dNRFpTCitsaW1pdGF0aW9uL01DCitsaW1uL0RTRworTGluZGJlcmcvTQorTGluZHNheS9NCitsaW5lYWwvWQorbGluZ3VpbmUKK2xpbmd1aXN0aWNzL00KK2xpbmluZy9mZUEKK2xpbmluZydzCitsaW50ZWwvU00KK2xpbnR5L1QKK2xpcGlkL01TCitsaXBsaWtlCitMaXNidXJuL00KK2xpdGVyYWwvWVNQCitsaXRlcmFsaXN0aWMKK2xpdGVyYXJpbmVzcy9TCitsaXRlcmF0dXJlL01TCitsaXRpZ2F0aW9uL00KK2xpdHTpcmF0ZXVyL1MKK2xpdHRlcmVyL1MKK2xpdHRsZW5lY2svTQorbGl0dGxlbmVzcy9TCitsaXZlL3lSR1REUEpZN1MKK2xpdmVyaWVzL0MKK0xpei9NWgorbG8KK2xvYW53b3JkL1MKK2xvYXRoaW5nL00KK2xvY2FsaXR5L1NNCitsb2NramF3L1NNCitsb2N1c3QvU00KK2xvZGVzdG9uZS9TTQorbG9nZS9NUworbG9naWNhbC9QCitsb2dpc3RpY2FsCitMb2lyZQorbG9sbC9ER1lTCitsb25nZXZpdHkvTVMKK2xvbmctdGVybQorbG9uZy13aW5kZWRuZXNzCitsb29rb3V0L1NNCitsb29ueS9UUworbG9wZS9TCitsb3JkbGluZXNzL1MKK0xvcmVuei9NCitMb3JldHRhCitsb3N0Citsb3VkLW1vdXRoL01EUworTG91aXNpYW5hbgorbG91c3kvVFBZCitsb3ZlbHkvVFNQCitsb3ZlbWFraW5nL00KK2xvd2xhbmQvTVJTCitsb3lhbC8zWQorbG95YWxseS9FCitsb3plbmdlL0RTTQorbHViYmVyL01TWQorbHVicmljYXRvci9TTQorbHVicmljaW91cy9ZCitsdWNpZG5lc3MvUworTHVkb3ZpYworbHVrZXdhcm1uZXNzL1MKK2x1bWlub3NpdHkvU00KK2x1bW1veCdzCitsdW5nL0RNR1M2CitsdW5nZmlzaC9NUworbHVwaW4vUworbHV0ZW5pc3QvU00KK0x1dGhlcgorbHV0aW5nL00KK2x5bXBob2lkCitseW54L1NNCitNYWNBcnRodXIvTQorbWFjYXcvTVMKK01hY2NsZXNmaWVsZAorbWFjaGV0ZS9TTQorbWFjcm9iaW90aWNzL00KK21hY3JvZWNvbm9taWMvUworbWFjcm9tb2xlY3VsYXIKK21hZGNhcC9TCittYWRlbW9pc2VsbGUvU00KK21hZG5lc3MvUworbWFlbHN0cm9tL01TCitNYWdnaWUKK21hZ2ljL01ZR0QKK21hZ2lzdHJhdGUvU00KK21hZ21hL1dNUworbWFnbmFuaW1pdHkvU00KK21hZ25ldG9tZXRlci9NUworbWFoLWpvbmdnL00KK21haG91dC9TTQorbWFpZC9NUworbWFpbGJveC9NUworbWFpbS9SR1NECitNYWpvcmNhL00KK21ham9yaXR5L1NNCittYWtlL0dBU1UKK21ha2UtYmVsaWV2ZQorTWFsYXByb3AKK21hbGFwcm9waXNtL01TCittYWxldm9sZW5jaWVzCittYWxmdW5jdGlvbi9HU0QKK21hbGluZ2VyL2RyUworbWFsbGVhYmxlL1AKK21hbHRpbmcvTQorbWFsdHkvVAorbWFtYm8vTUdTRAorbWFuYWNsZS9TRE1HCittYW5hZ2VhYmxlL1UKK21h8WFuYS9NCitNYW5kYWxheQorTWFuZGVsJ3MKK21hbmRyZWwvU00KK01hbmV0CittYW5oYW5kbGUvREdTCittYW5ob29kL1NNCittYW5pZmVzdG5lc3MKK21hbmlvYy9TTQorbWFubHkvUFQKK21hbm5hL01TCitNYW5uaGVpbQorbWFubmlraW4ncworbWFub2V1dnJpbmcvZQorbWFucG93ZXIvTVMKK21hbnRlbC9TTQorbWFudGxlL0VTREcKK01hbworbWFwL0dSU01ESgorTWFyY2VsbHVzCitNYXJjby9NUworTWFyZ2VyeS9NCittYXJnaW5hbGlhCittYXJnaW5hbGl0eQorbWFyaW5hZGUvRE1HUworbWFya2V0cGxhY2UvTVMKK21hcmtpbmcvTQorTWFya292L00KK01hcmxleS9NCittYXJxdWlzZS9NCittYXJxdWlzZXR0ZS9NUworbWFycnkvREdTQQorTWFydGEKK01hcnRpbmlxdWUvTQorTWFyeGlhbgorbWFza2VkL1UKK21hc29ucnkvU00KK21hc3NhY3JlL01HRFMKK21hc3MtcHJvZHVjZWQKK21hc3RpYy9OU25NCittYXN0aWNhdGlvbi9NCittYXRlL016SlMKK21hdGhlbWF0aWNzL00KK01hdGhld3MKK21hdHJpY3VsYXRpb24vTQorbWF0cmltb255L29NUworTWF0dGhhdQorTWF0dGhldy9TCitNYXR0aGlhcworbWF0dXJpdGllcy9JCittYXdraXNobmVzcy9TCittYXhpbGxhZQorbWF4aW1hL00KK21heGltYWwvUworbWF4aW11bS9ZTVMKK21heS9FRworTWF5bmFyZC9NCittYXlvci9TTQorTWJwcworTWNDYWxsL00KK01jQ2xhaW4vTQorTWNGYWRkZW4vTQorTWNHdWlyZS9NCitNY0tuaWdodC9NCittZWFncmUvWQorbWVhbmRlci9TSmQKK21lYW5pbmdmdWwvUAorbWVhbmluZ2Z1bG5lc3MvUworbWVhbndoaWxlCittZWFzdXJlcy9BCitNZWF0aC9NCittZWRhbC9NU0QKK21lZGlhbi9ZU00KK21lZGlhdGUvSVBZCittZWRpYXRpbmcKK21lZGl0YXRlcy9LCittZWRsZXkvTVMKK21lZ2FwaG9uZS9NRFNHCittZWdhd29yZC9TCitNZWxhbmVzaWEKK21lbGFuZ2UKK01lbGJhCittZWxsb3duZXNzL1MKK21lbG9keS9TV00xCittZW1icmFuZS9NU0QKK21lbW9yYW5kdW0vU00KK21lbmFnZXJpZS9TTQorTWVubG8KK21lbm9wYXVzYWwKK21lbnNlcnZhbnRzL00KK21lbnRhbC9ZMworbWVyY2FudGlsZQorbWVyY3VyeS9vTVcKK21lcmdlL1JHU0QKK21lcmlkaWFuL1NNCittZXJpdG9yaW91cy9VCittZXJpdG9yaW91c25lc3MvTVMKK21lcmxpbi9NCitNZXJyaW1hY2sKK21lc2gvVUQKK21lc2hpbmcKK21lc3NhZ2UvU01ERworTWVzc3JzCittZXRhbHNtaXRoL01TCittZXRhbW9ycGhpc20vU00KK21ldGF0aGVzaXplZAorbWV0ZW9yb2xvZ2lzdC9TCittZXRoYW5lL00KK21ldGhhbm9sL00KK21ldGhpb25pbmUvTQorbWV0aHlsYXRlZAorbWV0cmljcy9NCittZXRyby9NUworbWV0cm9wb2xpdGFuaXphdGlvbgorbWV3cy9NUworTWljaGVsZS9NCitNaWNrZWxzb24KK21pY3JvY2hlbWlzdHJ5L00KK21pY3JvY2hpcC9TCittaWNyb2ZhcmFkCittaWNyb3MvTQorbWljcm9zZWNvbmQvU00KK21pY3Jvc3VyZ2VyeS9NUworbWlkZGxlL21EU0drSgorTWlkZGxlc2Jyb3VnaC9NCittaWRkbGV3ZWlnaHQvTVMKK21pZGZpZWxkZXIKK21pZC1mbGlnaHQKK21pZGdldC9TTQorbWlkLW9mZgorbWlkcG9pbnQvTVMKK21pZHJhbmdlCittaWRzcGFuCittaWRzdC9NUworTWlkd2VzdAorbWlkd2lja2V0CittaWR3aW50ZXIvTVlTCittaWdyYXRpb24vTUkKK21pbGFkeS9NUworTWlsYW4KK21pbGl0YW5jeS9TTQorbWlsaXRhcmlzZS9DU0RHCitNaW1pCitNaW5hcmRpCittaW5kbGVzc25lc3MvUworbWluZWZpZWxkL1NNCittaW5pL1MKK21pbmlidXMvU00KK21pbmltYWwvUzMKK21pbmltYWxpdHkKK21pbmltdW0vU00KK21pbmlza2lydC9NUworbWluc3Rlci9NUworbWludXRlbmVzcy9TCitNaXJybGVlcworbWlydGhmdWwvUAorTUlSVgorbWlzYW50aHJvcGlzdC9TCittaXNjZWxsYW5lYQorbWlzY2hpZWYtbWFraW5nCittaXNjaGlldm91c25lc3MvUworbWlzZGVtZWFuYW50L1NNCittaXNkaXJlY3QKK21pc2ZpZWxkCittaXNpZGVudGlmeS9OCittaXNvZ3luaXN0L1cKK21pc3JlcG9ydAorbWlzc2l2ZSdzCitNaXNzb3VsYQorTWl0Y2gvTQorTWl0Y2hlbGwvTQorbW9iY2FwL1NNCittb2NrL1JHU2tENworbW9kZW0vTVMKK21vZGVyYXRlL1lJUE4KK21vZGVyYXRlbmVzcy9TCittb2R1bGF0ZS9DR0FORFMKK21vZHVsdXMvTQorbW9oYWlyL1NNCitNb2luZXMKK21vbGFyL1NLCittb2xlaGlsbC9NUworTW9saWVyZQorTW9saW5lCittb2xseS9NUworbW9uYWQvU01XCittb25hcmNoLzN3V01aCitNb25lZ2FzcXVlCittb25ldGl6ZS9uQ0dOQURTCittb25pZXMvTQorbW9uaXNtL01TCittb25vY290eWxlZG9ub3VzCittb25vY3VsdHVyZQorbW9ub2dhbXkvM1NNCittb25vcG9saXphdGlvbi9NCittb25vdGhlaXN0L1dTCitNb25zZWlnbmV1ci9TCittb25zb29uL1NNCitNb250ZS9aCitNb250ZXJleQorTW9udHJhY2hldC9NCittb29kaW5lc3MvUworbW9vbnNoaW5lL01TCitNb3JhCittb3JhbC8tUXM4M1NNCittb3JhdG9yaXVtL1NNCittb3JiaWRuZXNzL1MKK21vcmUvb1MKK01vcmVzYnkvTQorbW9ybi9HTVNKCitNb3JvY2Nhbi9TCitNb3JzZS9NCittb3NhaWNrZWQKK01vc2Nvdy9NCittb3NzL01TCitNT1QvTQorbW90aGVybGFuZC9NUworbW90aWYvU00KK21vdGlvbidzL0ZDCittb3RpdmF0aW5nL0MKK21vdGl2ZS9EblNOeE1WcEcKK21vdG9yaW5nL00KK21vdG9yaXN0CitNb3R0L00KK21vdWxkZWQvQQorbW91bnRhYmxlL1UKK21vdXNpbmcvTQorbW91c3RhY2hpby9EU00KK21vdmVkL1UKK21vdy9SU0RHCitNb3dnbGkvTQorTW95bGUvTQorTXJzCitNLlNjLgorbXVjaWxhZ2lub3VzCittdWNrZXIvTQorbXVmZmluL01TCittdWZmbGUvREdSUworTXVoYW1tYWQvTQorTXVoYW1tYWRhbmlzbQorbXVsYXR0b2VzCittdWxlL01HRFMKK211bGlzaC9QWQorbXVsaXNobmVzcy9TCittdWxsaWdhdGF3bnkvU00KK211bHRpCittdWx0aWNvbGxpbmVhcml0eS9NCittdWx0aWN1bHR1cmFsaXNtL1MKK211bHRpLWV0aG5pYworbXVsdGlub21pYWwvTQorbXVsdGlwaGFzZQorbXVsdGlwbGljYXRpb24vTQorbXVsdGlwbGljaXR5L01TCittdWx0aXR1ZGUvTVMKK211bHRpdmFsdWVkCitNdW1iYWkKK211bW15L01TCitN/G5jaGhhdXNlbi9NCittdW5kYW5lL1kKK211bmlmaWNlbnQvWQorTXVub3ovTQorTXVzY292aXRlL01TCittdXNldW0vTVMKK211c2hyb29tL0RHTVMKK211c2ljYWxpdHkvU00KK211c2ljaWFuc2hpcC9NUworbXVzaWNvbG9neS9NM3dTCittdXNrZWcvTVMKK211c2tlbGx1bmdlL1NNCittdXNreS9UUAorbXVzc2VsL1NNCitNdXNzb3Jnc2t5L00KK211dGF0aW9uYWwvWQorbXV0dWFsL1lTCittdXR1YWxpdHkvUworbXlybWlkb24vUworbXl0aC9NVzF3UworTmFkYS9NCituYWZmCitOYWdveWEvTQorTmFneS9NCituYWlhZC9TTQorbmFpZnMKK25haWwvRE1HUworbmFpdmV06S9TTQorTmFrdSdhbG9mYS9NCituYW1lL2FEQVNHCitOYW9taS9NCituYXJyb3cvREdQU1RZCitOQVNBL1NNCituYXN0dXJ0aXVtL01TCitOYXRhbGllL00KK25hdGlvbmFsaXNlL0NuQUdTRAorTkFUTy9NUworbmF0dGluZXNzL1MKK25hdWdodGluZXNzL1MKK25hdXNlYXRlL0dEU2sKK25hdmFsL1kKK25hdmUvWk1TCituYXZpZ2F0b3IvTVMKK05lYWwvTQorbmVhcAorTmVhcG9saXRhbi9TTQorbmVhcnNpZGUvTQorbmVidWxvdXNuZXNzL1MKK25lY2Vzc2FyeS9VWQorbmVjZXNzaXRhdGlvbi9NCituZWNyb21hbmNlci9NUworbmVjcm9zaXMvTQorbmVjdGFyeS9TTQorbulnbGln6QorbmVnb3RpYXRvci9NUworbmVtZXNlcworbmVvY29ydGV4L00KK25lb2R5bWl1bS9NCituZW9uL01TCituZW9waHl0ZS9TTQorbmVwb3Rpc3QvUworbmVydmUvVUdTRAorbmV0L1NNREcKK25ldHRpbmcvTQorbmV1cm9zdXJnZXJ5L01TCituZXV0ZXIvZFMKK25ldXRyYWxpc3QvUworbmV1dHJpbm8vTVMKK25ldmVyLWVuZGluZworTmV3YnVyeS9NCituZXdlbC9TTQorbmV3c3ByaW50L1NNCituZXdzcmVlbC9TTQorbmV3LXN0eWxlCitOZXdzd2Vlay9ZTQorbmV3dG9uL01TCitOaS9NCitOaWFnYXJhL00KK05pY2UncworTmljaG9sZS9NCitOaWNvZGVtdXMvTQorbmllY2UvU00KK25pZ2h0LXNvaWwKK25pZ2h0eSdzCituaWhpbGlzdC9NU1cKK25pbmV0eS1uaW5lL0gKK25pbmV0eS1vbmUKK25pcHBpbmcvWQorbmlwcGxlL1NNCituaXRyb2dlbm91cworbm8tYmFsbC9TRAorbm9ibGUvbVBUNVMKK25vYm9keS9TTQorbm8tY2xhaW1zCitub2RkbGUvRE1TRworbm9taW5hdGUvQ0dBU25ETgorbm9uLWFkbWluaXN0cmF0aXZlCitub24tYXNzaWduYWJsZQorbm9uLWF0dGVuZGFuY2UvU00KK25vbi1hdmFpbGFiaWxpdHkvU00KK25vbi1idXJuYWJsZQorbm9uLWNhbG9yaWMKK25vbi1jbGluaWNhbAorbm9uLWNvbW11bmljYWJsZQorbm9uLWNvbXByZWhlbmRpbmcKK25vbi1kZXRhY2hhYmxlCitub24tZGV0ZXJtaW5hY3kKK25vbi1kcml2ZXIKK25vbi1kdXJhYmxlCitub24tZXF1aXZhbGVuY2UKK25vbi1leGlzdGVuY2UvU00KK25vbi1mYXR0ZW5pbmcKK25vbi1pbmZsYXRpb25hcnkKK25vbi1sZWdhbAorbm9uLW5lZ290aWFibGUKK25vbi1udW1lcmljYWwvUworbm9uLW9ic2VydmFudAorbm9uLXBhcnR5Citub24tcHJlanVkaWNpYWwKK25vbi1yYW5kb20KK25vbi1yZWZ1bmRhYmxlCitub24tcmVzaXN0YW5jZS9TCitub24tcmVzdHJpY3RpdmUKK25vbi1zY2llbnRpc3QvUworbm9uLXNwZWFraW5nCitub24tc3BlY2lmaWMKK25vbi1zdHJpa2luZworbm9uLXRoaW5raW5nL1MKK25vbi12ZW5vbW91cworbm9uLXZvY2FsCitub24teWllbGRpbmcKK25vbi16ZXJvCitub3JtL1ZER01vU3Z1CitOb3JtYS9NCitub3JtYXRpdmUvUAorbm9ydGgtRWFzdGVybHkKK25vcnRod2FyZC9TCitOb3J3aWNoL00KK25vc2VnYXkvTVMKK25vc3RhbGdpYS9TTQorbm90YWJsZS9DCitub3RhYmxlcworbm90YXRpb24vTUNvCitub3RlL0ZEQ0dTTm4KK25vdGljZWQvVQorbm90aW9uL0NTCitub3R3aXRoc3RhbmRpbmcKK25vdW5hbAorbm91cy9NCitub3ZlbHR5L1NNCitub3ZpdGlhdGUvTVMKK25vd3QKK05SQQorTlNGCitudWNsZWFyCitudWNsZW9uL1NNCitudWNsZW90aWRlL1NNCitudWdnZXQvTVMKK251bWVyb2xvZ3kvd1NNCitudXRjcmFja2VyL1NNCitvYWsvU00KK29hdC9TTQorb2F0bWVhbC9NUworb2JlbGlzay9NUworb2JsaXZpb3VzL1BZCitvYm5veGlvdXMvWVAKK08nQnJpZW4vTQorb2JzY3VyaXR5L01TCitvYnNvbGVzY2VudC9ZCitvY2Nhc2lvbi9TTUpvREcKK29jY3VwYW50L01TCitPJ0Nvbm5lbGwvTQorT0NSCitPY3QKK29jdGFuZS9TTQorb2N0b2dlbmFyaWFuL01TCitvY3RvcHVzL01TCitvZGRuZXNzL1MKK08nRGVsbC9NCitPZGVzc2EvTQorb2Rpb3VzbmVzcy9TCitvZmYtZHJpdmUvUworT2ZmZW5iYWNoL00KK29mZmVuZC9EUlZ1R1N2CitvZmZlci9ySmQKK29mZmljaWFsaXNtL01TCitvZmYtcHV0dGluZworb2ZmLXN0YWdlL1MKK09mc3RlZC9NCitvZnRlbgorb2Z0LXRpbWVzCitvZ3JlL01TCitPJ0hpZ2dpbnMKK29ocworb2lsc2tpbi9NUworT0oKK09rbGFob21hbi9NUworb2xlZmluL00KK09sZ2EvTQorT2xpdmV0dGkvTQorT2x5bXBpYWQvU00KK09seW1waWMvUworT21hci9NCitvbW5pcG90ZW5jZS9TTQorb25hbmlzbS9NCitvbmNvbG9neS9TTQorb25lLW1hbgorb25nb2luZy9TCitvbmlvbi9NUworb25seS1iZWdvdHRlbgorb25ydXNoL0dNUworb296eS9UCitvcGFjaXR5L1NNCitvcGVyYWJsZS9JCitvcGVyYXRpb25hbAorb3BlcmF0aW9uJ3MvRgorb3BlcmF0aXZlbmVzcy9JCitvcGlhdGUvTUdEUworb3BpdW0vU00KK29wcG9ydHVuZS9JWQorb3Bwb3J0dW5pc20vU00KK29wcG9ydHVuaXN0L1NNVzEKK29wcHJlc3NpdmVuZXNzL1MKK09wcmFoL00KK29wdGltaXNtL2NNUworb3B0aW1pc3QvU1cxTQorb3B0aW9uL0dEU00KK29yY2hlc3RyYXRvci9NCitvcmRpbmFsL1MKK29yZHVyZS9TTQorb3JnYW5pc2VyL0FTTQorb3JnYW5pemVyL0FNCitvcmllbC9NUworb3JpZW50YWJsZQorT3Jpbi9NCitPcmlvbi9NCitvcm1vbHUvU00KK29ycGhhbi9TTWQKK29ycGhhbmhvb2QvTQorb3J0aG9kb3hlcworT1MvTQorT3Nha2EvTQorT3Nib3JuZS9NCitvc2NpbGxhdGUvTnluU0RHCitvc2N1bGF0aW9uL00KK08nU2hlYS9NCitvc3Rlb3BhdGh5L01TCitPdHRvbWFuL1NNCitvdXN0L1JHRFMKK291dGFnZQorb3V0YmFja2VyCitvdXRjcm9wL0oKK291dGRvb3IKK291dC1vZi1waGFzZQorb3V0cukKK291dHNpemUKK292YXJpYW4KK292YXJ5L01TCitvdmF0ZS9TCitvdmVyLWFjdGl2aXR5CitvdmVyLWFueGlldHkKK292ZXJhcmNoaW5nCitvdmVyYXJtCitvdmVyYmVhcmluZy9QCitvdmVyYm9hcmQKK292ZXJib2xkCitvdmVyY29taXRzCitvdmVyY29tbWl0CitvdmVyY29ycmVjdGlvbgorb3ZlcmRlY29yYXRlCitvdmVyZWFnZXIKK292ZXJlbW90aW9uYWwKK292ZXJlbXBoYXNpemUKK292ZXJmaWxsL0cKK292ZXJoZWF0CitvdmVyLWxvbmcKK292ZXItbmljZQorb3Zlci1uaWNldHkKK292ZXJuaWdodGVyCitvdmVycGFzcy9NCitvdmVycGF5CitvdmVyc2ltcGxlCitvdmVyc3BpbGwvTQorb3ZlcnN1YnRsZQorb3ZlcnRheAorb3ZlcnZpZXcKK092aWQvTQorb3ZvaWQvUworb3Z1bGFyCitvdnVsZS9OU01uCitvd2xpc2gvWVAKK293bi1icmFuZAorT3hicmlkZ2UKK094Zm9yZC9NUworb3hpZGFudC9TTQorb3hpZGlzZS9KCitveHlnZW4vTm5NCitveHloeWRyb3hpZGVzCitwYWJ1bHVtL1NNCitQYWNpZmljJ3MKK3BhY2thZ2VkL0FVCitwYWNrZXQvZFNNCitwYWNraG9yc2UvTQorcGFkL1NaSkdNRAorUGFkZGllL00KK3BhZWRvcGhpbGlhL00KK1BhZ2FuaW5pL00KK3BhaW5sZXNzL1kKK3BhaW5sZXNzbmVzcy9TCitwYWlyaW5nL1MKK3BhbGFlb2FudGhyb3BvbG9naXN0CitwYWxhZW9jbGltYXRvbG9naXN0CitwYWxhZW9jbGltYXRvbG9neS93CitwYWxhZW9udG9sb2d5L3dNUworcGFsZW5lc3MvUworUGFsZXN0aW5pYW4vUworcGFsaW5kcm9tZS9NUworcGFsaW5kcm9taWMKK3BhbGlzYWRlL01HRFMKK3BhbGwtYmVhcmVycworcGFscGF0ZS9TR0RuTgorcGFsdHJpbmVzcy9TCitwYW1waGxldGVlci9ER1NNCitQYW5hbWEvTQorcGFuY2FrZS9TRE1HCitQYW5kb3JhL00KK1BhbmlzCitwYW5waXBlcworcGFudGFsb29ucworcGFudGhlaXNtL01TCitwYW50aGVpc3QvU1cKK3BhbnRyeS9NUworcGFwYXcvTVMKK3BhcGVyZWQvQQorcGFwZXJ5L1AKK3BhcmEvU00KK3BhcmFjaHV0ZXIvTQorUGFyYW1lY2l1bS9NCitwYXJhbWV0ZXIvVzFwTVMKK3BhcmFub2lhYy9TCitwYXJhcHJvZmVzc2lvbmFsL1NNCitwYXJhc2l0b2xvZ2lzdC9NCitwYXJhc29sL01TCitwYXJhdGh5cm9pZC9TCitQQVJDL00KK3BhcmRvbmFibHkvVQorcGFyZWQvS0YKK3BhcmVnb3JpYy9TTQorcGFyZW50aG9vZC9TTQorcGFyZXIvRgorcGFyaXR5L0VNUworcGFya2luZy9NCitwYXJvY2hpYWxpc20vTVMKK3Bhcm9sZS9EU01HCitwYXJzL1JER0pTCitwYXJ0aGVub2dlbmVzaXMvTQorcGFydGljaXBhbnQvU00KK3BhcnRpc2Fuc2hpcC9TTQorcGFzc2VuZ2VyL01TCitwYXNzaW9uL0ZNCitwYXN0ZXJuL01TCitQYXRlbAorcGF0ZW50b3IvTVMKK3BhdGVyZmFtaWxpYXMvTVMKK3BhdGVybmFsL1kKK3BhdGhuYW1lL01TCitwYXRob2dlbi9XU00KK3BhdGhvbG9neS9TTTN3MQorcGF0cmlhcmNoeS9TTQorcGF0cmljaWFuL01TCitwYXRyaWNpZGUvU00KK3BhdHJpbW9ueS9NUworcGF0cmlvdHMvRgorcGF0dGVyZXIvTQorUGF1bC9NCitwYXlhYmxlL1MKK3BheXJvbGwvU00KK1BCWAorUENCCitQRFAKK3BlYWNlbWFrZXIvU00KK3BlYWNoL0lEU0cKK3BlYWNoeS9UCitwZWFjb2NrL1NNCitwZWFybC9HRFNNCitwZWFybHkvVFMKK3BlYXNhbnQvTVMKK3BlZGFnb2d1ZS9TTQorcGVkaWNhYi9TTQorcGVkaWN1cmUvR1MzRE0KK1BlZHJvCitwZWVwL0RTUkdaCitwZWVwLXNob3cvTVMKK3BlZXZpc2huZXNzL1MKK3BlZ2JvYXJkL1NNCitwZWpvcmF0aXZlL1kKK1Bla2luZy9NCitwZWxmL00KK3Blbi1hbmQtaW5rCitwZW5pcy9NUworcGVubWVuL00KK3Blbm55L3BNUworcGVuc2lvbi83R01SRAorcGVudGFtZXRlci9NUworcGVudGF0aGxldGUvUworcGVudC11cAorcGVudXJ5L1NNCitwZXBwZXJlci9NCitwZXJhZHZlbnR1cmUvUworcGVyY2hsb3JhdGUvTQorcGVyZHVyYWJsZQorcGVyZW1wdG9yeS9ZCitwZXJmZWN0aW9uL0lTTQorcGVyZmVjdGx5L0kKK3BlcmljYXJkaXVtL00KK3Blcmlsb3VzL1BZCitwZXJpb2RpY2FsL1NNCitwZXJpb2RvbnRpc3QvUworcGVyaXBoZXJhbC9TWQorcGVyaXNoYWJsZSdzCitwZXJtdXRhdGlvbi9NCitwZXJwZXR1YWwvU1kKK3BlcnBsZXhpdHkvTVMKK3BlcnNpc3QvRFNHCitwZXJzb25hZQorcGVyc29uYWwvUXE4LQorcGVyc29uYWxpdHkncy9JCitwZXJzb25hbGx5L0kKK3BlcnNvbmlmeS9TbkRHTgorcGVyc3BpY2FjaXR5L1MKK3BlcnNwaXJlL0RHbk5TCitwZXJ2YXNpdmUvUAorcGVydmVyc2l0eS9TTQorcGVydmVydC9EaFNpRworcGVza2luZXNzL1MKK3Blc3Rlci9kUworcGV0YXJkL01TCitwZXRlci9kUworUGV0ZXJib3JvdWdoL00KK1BldHJvbmFzCitwZXR0aW5lc3MvUworcGV0dWxhbnQvWQorcGhhbGxpCitwaGFudGFzbWFsCitwaGFyeW5naXRpcy9NCitwaGVhc2FudC9NUworcGhlbm9sL1NXTQorcGhlbnlsL00KK3BoZW55bGFsYW5pbmUvTQorcGhpbGFudGhyb3B5LzFNU1cKK3BoaWxpc3RpbmUvUworcGhsZWJpdGlzL00KK3BobG9naXN0b24KK3Bob25pYy9TCitwaG9uaW5lc3MvUworcGhvdG8vTVMKK3Bob3RvY29weS9EUkdTTQorcGhvdG9maW5pc2hpbmcvTVMKK3BoeXNpY2lzdAorcGlhbmlzbS9NCitwaWJyb2NoL00KK3BpY2theGUvU00KK3BpZWNlL01EU0cKK3BpZXpvZWxlY3RyaWNpdHkvTQorcGlnZW9ucnkvUworcGlnZ3kvVE1TCitwaWctaGVhZGVkCitwaWdzdHkvTVMKK3BpZ3RhaWwvU01ECitwaWxlL0dGU0QKK3BpbGZlci9kclMKK3BpbGxhci9NUworcGlsbG93c2xpcC9TCitwaW1wbGlrZQorcGluYmFsbC9TTQorcGluY2UKK3BpbmctcG9uZworcGlua2lzaG5lc3MKK3Bpbm5hZQorcGluLXdoZWVsL1NNCitwaXJvdWV0dGUvU0dNRAorcGlzY2F0b3JpYWwKK1Bpc2NlcworcGlzdG9uL01TCitwaXRjaHN0b25lL00KK3BpenphL01TCitwbGFjYXRlcgorcGxhY2VudGFlCitwbGFjZSdzCitwbGFpbmVkL0YKK3BsYWludGlmZi9NUworcGxhaXQvRE1TRworcGxhbmUvU00KK3BsYW5lbG9hZAorcGxhbnRhcgorcGxhbnRhdGlvbi9JTVMKK3BsYXN0ZXJ3b3JrL00KK3BsYXN0aWMvWVE4czlNUworcGxhdGluZy9NCitQbGF0eWhlbG1pbnRoZXMKK3BsYXliYWNrL1NNCitwbGF5ZnVsbmVzcy9TCitwbGF5Z3JvdW5kL1NNCitwbGF5cm9vbS9TTQorcGxlYXNhbnRseS9VCitwbGVhc3VyYWJsZS9QCitwbGVjdHJhCitwbHVja2VyL00KK3BsdWdnYWJsZQorcGx1bWJhZ28vTQorcGx1bWJlZC9VCitwbHVtZS9wU00KK3BsdW5nZS9SU0RHCitwbHVwZXJmZWN0L1MKK3BsdXRvY3JhY3kvTVMKK1BseW1vdXRoL00KK1BPCitwb2NrZXRmdWwvTVMKK3BvLWZhY2VkCitwb2lzb25pbmcvU00KK3BvbGFyaW1ldHJ5Citwb2xlLWF4ZXMKK3BvbGlvbXllbGl0aXMvTQorcG9saXNoZWQvVQorcG9saXRlcgorcG9saXRpY2x5L0kKK3BvbGxlbi9TTQorcG9sbHN0ZXIvTVMKK3BvbGx1dGlvbi9TTQorcG9seWNhcmJvbmF0ZQorcG9seWdhbXkvM1NNCitwb2x5aXNvYnV0eWxlbmUKK3BvbHlzYWNjaGFyaWRlcworcG9seXRvbmFsL1kKK3BvbmRlcm91cy9ZUAorcG9udGlmZi9TTQorcG9udGlmaWNhdGUvTm5ER1MKK3Bvb2NoL1NNCitwb29kbGUvTVMKK3BvcHB5Y29jay9TTQorcG9wdWxhci9xUThZczktCitwb3B1bGFyaXNtCitwb3AtdXAKK3BvcmsvUlNaTQorcG9ya3kvVFMKK3Bvcm5vZ3JhcGh5L01TMVcKK3Bvcm9zaXR5L1NNCitwb3J0L2xETVlTQlJHCitwb3J0ZW5kL0dTRAorcG9ydGhvbGUvU00KK3BvcnRseS9QVAorcG9ydHMvQUNGRUk0Citwb3NpdGl2ZS9UUworcG9zc2liaWxpdHkvSU1TCitwb3N0YWwKK3Bvc3RodW1vdXMvUFkKK3Bvc3QtaW1wcmVzc2lvbmlzbQorcG9zdG1hbi9NCitwb3N0LW1pbGxlbm5pYWwKK3Bvc3QtbWlsbGVubmlhbGlzdAorcG9zdC1zdHJ1Y3R1cmFsaXNtCitwb3N0LXN0cnVjdHVyYWxpc3QKK3Bvc3R3YXIKK3Bvc3kvU00KK3BvdC9SRzZTWjdEZ00KK3BvdC1ib2lsZXIvTQorcG90ZW50YXRlL1NNCitwb3RlbnRpYWxpdHkvU00KK3BvdGVudGlhdGluZworcG90ZW50aW9tZXRlci9NUworcG90LXNob3QvUworcG91bmQvRkdJU0QKK3BvdmVydHkvU00KK3ByYWN0aWNhYmxlbmVzcworcHJhZ21hdGljcy9NCitwcmFnbWF0aXNtL1NNCitwcmFpc2V3b3J0aGluZXNzL1MKK3ByYWlzaW5nL1kKK3ByYW0vU00KK3ByYXduL0RNR1MKK3ByYXllcmJvb2sKK3ByZWNlZGVuY2UvTVMKK3ByZS1DaHJpc3RpYW4KK3ByZWNpbmN0L01TCitwcmVjbHVkZS9EU1hORworcHJlY29jaW91cy9ZUAorcHJlZGF0b3IvU00KK3ByZWRlY2Vzc29yL1NNCitwcmVmCitwcmVmZWN0dXJlL1NNCitwcmVmZXJhYmxlL1AKK3ByZWxpbWluYXJ5L1lTCitwcmVtZWRpdGF0ZS9oCitwcmVwcmVwYXJlZAorcHJlLXByaXZhdGlzYXRpb24KK3ByZXF1ZWwvUworUHJlc2J5dGVyaWFuL00KK3ByZXNieXRlcnkvU00KK3ByZXNjcmlwdGl2aXN0CitwcmVzZW5jZS9TTQorcHJlc2VudGFibGUvUAorcHJlc2VudGF0aW9uYWwvQQorcHJlc2VydmFibGUKK3ByZXNpZGVyL00KK3ByZXNzLXN0dWQvUworcHJldGVudGlvdXMvWVUKK3ByZXZhbGVudC9ZCitwcmljZSdzCitwcmllc3Rob29kL01TCitwcmltYXJ5L1lNUworcHJpbWl0aXZlbmVzcy9TCitwcmltbmVzcworcHJpbnRtYWtlci9TTQorcHJpb3Jlc3MvU00KK3ByaW9yaXR5L1E4cS1zOVNNCitwcmlzb25lci9TTQorcHJpc3N5L1RQWQorcHJpdmF0aW9uL01DCitwcm9iYWJpbGl0eS9NSVMKK3Byb2NlZWQvREpHUworcHJvY2xhaW0vRFJTN0cKK3Byb2Zlc3Npb24vTQorcHJvZmVzc2lvbmFsL1E4UworcHJvZmVzc2lvbmFsbHkvVQorcHJvZmljaWVudC9ZCitwcm9mb3JtYS9TCitwcm9mdXNpb24vTQorcHJvZ2VzdGVyb25lL1NNCitwcm9oaWJpdC9kdnVTVnlOWAorcHJvamVjdGlvbi8zU00KK3Byb2xldGFyaWF0L1NNCitwcm9saWZpY25lc3MKK3Byb2xvZ3VlL1NNR0QKK3Byb21vdGUvU1J4QkdECitwcm9tcHRpdHVkZS9NUworcHJvbm91bmNlYWJsZS9VCitwcm9vZmVkCitwcm9vZmVyCitwcm9vZnJlYWQvU0dSCitwcm9wZWxsZW50Citwcm9wZW5zaXR5L1NNCitwcm9wcmlldGFyeS9TCitwcm9zZWN1dG9yL1NNCitwcm9zdGhldGljL1MKK3Byb3RlYXNlL00KK3Byb3RlaW4vTVMKK3Byb3RyYWN0L0RTRworcHJvdmluY2lhbC9TCitwcm92aW5jaWFsaXNtL01TCitwcm92b2tlL1Z1U05SR2tudkQKK3BydXJpZW50L1kKK3BzYWx0ZXIvWgorcHNlcGhvbG9neS93MQorcHNldWRvLXNjaWVuY2UvV1MKK3BzeWNob2Fjb3VzdGljcy9NCitwc3ljaG9kcmFtYS9TTQorcHN5Y2hva2luZXRpYworcHN5Y2hvbGluZ3Vpc3RzCitwc3ljaG9tZXRyaWNzL00KK3BzeWNob3BoeXNpb2xvZ3kvTQorcHN5Y2hvc2lzL00KK3BzeWNob3NvbWF0aWMvUworUFRPCitQdWNjaW5pL00KK3B1Y2svU00KK3B1ZGRpbmcvU00KK3B1ZGd5L1RQCitwdWVibG8vU00KK1B1ZXJ0bworcHVmZmluL01TCitwdWZmeS9UCitwdWduYWNpb3VzbmVzcy9TCitwdWxwaW5lc3MvUworcHVsc2Uncy9JCitwdWx2ZXJpc2F0aW9uCitwdWx2ZXJpemF0aW9uL00KK3B1bWljZS9EU01HCitwdW1wL0dETVMKK3B1bi9TR0RNCitwdW5jaGVvbi9TTQorcHVuY3RpbGlvdXMvUFkKK3B1bm5ldAorcHVwcHkvTVMKK3B1cmUvUDNUWQorcHVydmV5L0RHUworcHVydmV5YW5jZS9NUworcHVzaC1iaWtlL1NNCitwdXNob3Zlci9NUworcHVzaC11cC9TCitwdXNpbGxhbmltaXR5L1NNCitwdXNpbGxhbmltb3VzL1kKK3B1c3MvUworcHVzc3kvTVMKK3B1c3R1bGFyCitwdXRzY2gvUworUFgKK3B5YWVtaWMKK3B5amFtYS9NUworcHlyb21ldHJ5L00KK3B5eGlkaXVtCitweXhpcworcXVhY2tpc2gKK3F1YWRyaXZpdW0vTQorcXVhaW50L1RQWQorcXVhbGlmaWVkbHkKK3F1YW50aWZpZWQvVQorcXVhcnRlcmx5L1MKK3F1YXZlci9ka1NaCitxdWVsbGVyL00KK3F1ZXJ5L0dNU0QKK3F1ZXN0aW9uYWJsZW5lc3MvTQorcXVpY2tpZS9TTQorcXVpY2tuZXNzL1MKK3F1aWQvU00KK3F1aW50L1dNUworcXVpbnRlc3NlbmNlL01TCitxdWludHVwbGV0L1NNCitxdWlyZSdzCitxdW90aWRpYW4vUworcmFiaWVzCityYWNlL1JEU0dKWm9NCityYWNlbWUvTVMKK3JhY2lhbC8zCityYWNvbnRldXIvU00KK3JhZGlhdGUvU25JVkRHTgorcmFkaW9jaGVtaWNhbAorcmFkaW9tZXRyeS9NCityYWZmaXNoL1BZCityYWZ0L1JTRE1HCityYWdnZWR5CityYWluZHJvcC9TTQorcmFpbnN0b3JtL01TCitSYWlwdXIKK3JhaXNvbgorcmFuZG9taXNlcgorcmFuc2Fja2VyL00KK3Jhc2NhbC9ZTVMKK3Jhc3Blci9NCityYXNweS9UCityYXRlLWNhcC9HCityYXRpb25hbGx5L0kKK3JhdmVub3VzL1kKK1JheW1vbmQvTQorUmIKK3JlYWJzb3JiL0cKK3JlYWN0aW9uL2NNUworcmVhZGluZy9hUworcmVhZG9wdC9HCityZWFmZm9yZXN0L04KK3JlYWwvVHRzMys5cS1ROFkKK3JlYWxpc2UvbAorcmVhbGl6ZS9sCityZWFyLXZpZXcKK3JlYXJ3YXJkL1MKK3JlYXNvbmFibGUvVQorcmVhc29uaW5nJ3MKK3JlYmVsbGlvdXNuZXNzCityZWJ1dHRhbC9TTQorcmVjZXNzL0dNTnVTWERWdgorcmVjaWRpdmlzbS9TTQorcmVjaWRpdmlzdC9TTQorcmVjaXBlL01TCityZWNpdGFsLzNTTQorcmVjbGFpbS83CityZWNvZ25pc2FuY2VzCityZWNvZ25pc2UvUkJHRGxTCityZWNvZ25pemUvUkJHRGxTCityZWNvbW1pdC9HTlhECityZWNvbmRpdGUvUFkKK3JlY29uc2lkZXJhdGlvbi9NCityZWNvcHkvRworcmVjb3JkLWJyZWFraW5nCityZWNvdmVyeS9TCityZWN1cnMvTlh2VgorcmVkYnJpY2sKK3JlZGN1cnJhbnQvU00KK3JlZGVsaXZlcnkvTQorcmVkZXNpZ24vRworcmVkaXZpZGUKK3JlZGxpbmluZworcmVkdWNlZC9VCityZWR1Y2liaWxpdHkvTUkKK1JlZWNlL00KK3JlLWVsZWN0aW9uCityZS1lbXBsb3kvNworcmUtZW5hY3QKK1JlZXMKK3JlZmVyL1JTREc3CityZWZpbGwvRzcKK3JlZml0L0dECityZWZsZWN0aXZpdHkvTQorcmUtZm9ybS9OCityZWZyYWN0L0R5dkdWUworcmVmcmVzaC9ETEdTN2sKK3JlZnJpZ2VyYXRlL05EU0cKK3JlZnJpZ2VyYXRvci9NUworcmVmdWxnZW5jZS9NCityZS1mdW5kCityZWZ1cmJpc2htZW50L1MKK3JlZ2F0aGVyL2QKK3JlZ2ltZW50YWwvUworcmVnaW9uYWxpc20vTVMKK3JlZ2lzdHJhYmxlCityZWdyZXNzaXZlL1AKK3JlZ3VsYXRlZC9VCityZWhhYmlsaXRhdGlvbi9NCitSZWluaG9sZC9NCityZWluc3RpdHV0ZS9TCityZWp1dmVuYXRlL1NuTkRHCityZWxhdGl2ZW5lc3MvTQorcmVsZW50bGVzc25lc3MKK3JlbGlhbmNlL00KK3JlbW9yc2UvcE1qNgorUmVuYS9NCitSZW5hbGRvL00KK1JlbmF0ZS9NCityZW5kZXp2b3VzL1NER00KK3Jlbm92YXRlL0RTTkduCityZW5vdmF0aW9uL00KK3JlcGFpci9SbTcKK3JlcGFydGl0aW9uL0cKK3JlcOpjaGFnZQorcmVwZXJjdXNzaW9uCityZXBsZW5pc2hlcgorcmVwbGljYS9NUworcmVwb3J0L2g3RworcmVwb3J0aW5nL2FmCityZXBvcnRzL2EKK3JlcHJlaGVuc2liaWxpdHkvTQorcmVwcmlldmUvU0RHCitSZXB0aWxpYQorcmVwdWduYW5jZS9NCityZXB1Z25hbnQvWQorcmVwdXRhYmlsaXR5L00KK3JlcXVpc2l0aW9uL0dNRFMKK3JlcXVpdGVkL1UKK3Jlc2FsZS83CityZXNjaXNzaW9uL01TCityZXNldHRsZS9MCityZXNpZ25hbC9HRAorcmVzaW4vZAorcmVzb2x1dGVuZXNzCityZXNvbHZhYmlsaXR5L00KK3Jlc29sdmFibGUvSVUKK3Jlc29sdmVudAorcmVzb25hbmNlL1NNCityZXNvbmF0ZS9EU0cKK3Jlc29ycHRpb24vTQorcmVzb3JwdGl2ZQorcmVzb3VyY2UvNmpwCityZXNvdXJjZWxlc3NuZXNzCityZXNwZWN0YWJsZS9ZCityZXNwaXJlL25OeUcKK3Jlc3RsZXNzL1BZCityZXN0b3JlL2dSblZOdgorcmVzdHJpY3RlZC9VWQorcmVzdW1lL0dTTkRYCityZXRhaWwvUgorcmV0aW5hL1NNCityZXRpcmUva0wKK3JldHJvdmlydXMvUworcmV0dXJuZWUvU00KK1JldWJlbi9NCityZXZlaWxsZS9TTQorcmV2ZXJzaWJseS9JCityZXZlcnQvRFNHYgorcmV2aXZlL0dTRAorcmV2aXZlci9NCityZXZvbHQvREdrCityZXZvbHV0aW9uL1E4TXkzUworcmV2b2x1dGlvbmFyeS9TTQorUkZVL00KK3JoZXN1cworcmhldW1hdGlzbS9TTQorcmhldW1hdG9pZAorcmhpbml0aXMvTQorcmhvZGl1bS9NCityaG9tYm9pZGFsCityaHViYXJiL1NNCityaWJhbGQveQorcmliYWxkcnkvU00KK3JpYmJpbmcvTQorUmljYW4vU00KK3JpY2tldHMKK1JpY2t5L00KK3JpZGRsZS9EU01HCitSaWdhL00KK3JpZ2h0LW1pbmRlZAorcmlnaHQtd2luZ2VyL1MKK3JpZ2lkL1kKK3JpZ29yb3VzbmVzcworcmlsbC9TTQorcmluZC9TRE0KK3JpbmdsZWFkZXIvU00KK3JpbmdsZXQvU00KK3JpbnNlL0dEUworcmlwZS9ZUAorcmlwb3N0ZS9ETVNHCityaXNrL0dTWnoyRE0KK3Jpc2t5L1RQCitSaXRjaGllL00KK1JpdHRlci9NCityaXZhbC9TTXlHRAorcml2ZW4KK1JpdmVydmlldy9NCityb2FjaC9TTQorcm9hZGllL1MKK3JvYW4vUworUm9iZXJ0L1NNCitSb2JlcnRzb24vTQorUm9iJ3MKK3JvY2stYm90dG9tCityb2NrLWNsaW1iaW5nCityb2NvY28vTQorUm9kcmlndWV6L00KK3JvZWJ1Y2svU00KK1JvZ2VsaW8vTQorcvRsZS9NUworcm9sbGVyLWNvYXN0Cityb2xsaW5nLXBpbi9TTQorUm9sb2RleAorUm9uL01aCitSb29zZXZlbHQvTQorcm9vdC1tZWFuLXNxdWFyZQorUm9zYS9NCitSb3Nhbm5hL00KK3Jvc2UvU1p5TQorUm9zZWFubmUvTQorUm9zZW1hcmllL00KK1Jvc2Vtb25kZS9NCitSb3NzCityb3RhL3l2U1ZNCityb3RpZmVyCityb3Rpc3NlcmllL1NNCityb3RvZ3JhdnVyZS9TTQorcm91Z2gtYW5kLXJlYWR5CitSb3Vzc2VhdS9NCityb3V0aW5lL1FTWU0KK3JveWFsLzNTWQorUlAKK3J0LgorcnViYmVyL1FaCitydWRlL1RZUAorcnVkaW1lbnRhcnkKK3J1ZmYvU0dETQorcnVmZmxlL0RHUworUnVpei9NCitydWxlYm9vay9TCitydW1idXN0aW91cworcnVtcHVzL1NNCitydW4tb2YtdGhlLW1pbGwKK3J1c2gvUkRaR1MKK1J1c3NpYS9NCitydXN0eS9OUFRuCitzYWNoZW0vUworc2Fja2Z1bC9TCitzYWNraW5nL00KK3NhY3JhL0wKK3NhY3JhbAorU2FjcmFtZW50by9NCitTYWRkYW0vTQorc2FkZGxlL0dVRFMKK3NhZG5lc3MvUworc2FmZXIKK1NhZ2l0dGFyaXVzL00KK3NhZ28vU00KK3NhaWxib3JkZXIncworc2FpbGluZy1tYXN0ZXIvU00KK3NhaW50aG9vZC9TTQorc2FraSdzCitzYWxhY2l0eS9NCitzYWxhbWkvTVMKK3NhbGFyeS9ETVMKK3NhbGVhYmlsaXR5L00KK1NhbGVtL00KK1NhbGVybm8vTQorc2FsZSdzL0EKK3NhbGVzZ2lybC9TTQorc2FsZXNsYWR5L1MKK1NhbGluYS9NUworc2FsbW9uZWxsYS9NCitzYWxtb25lbGxhZQorc2Fsc2lmeS9NCitzYWx0LWFuZC1wZXBwZXIKK3NhbHQtcGFuL01TCitzYWx0LXdhdGVyCitzYWx1dGF0b3J5CitTYWx6YnVyZy9NCitTYW1hcmEvTQorU2FtbXkvTQorU2Ftb2EvTQorc2Ftb3Zhci9NUworU2FtdWVsL1NNCitzYW5jdHVtL1NNCitTYW5kZXIncworc2FuZG1lbi9NCitTYW5kcmEvTQorc2FuZS9ZVAorc2FuZy1mcm9pZAorc2FuZ3VpbmUvWQorc2FuZ3VpbmVuZXNzCitTYW5oZWRyaW4vTQorU2FudGlhZ28vTQorc2FwaWVudAorU2FwcG9yby9NCitTYXJhc290YS9NCitTYXJhd2FrL00KK1Nhcmdhc3NvL00KK1NBU0UKK3NhdGlzZmFjdGlvbi9TRU0KK3NhdHJhcC9NUworc2F1dOkvU0dECitzYXZhbm5haC9NCitzYXduCitzYXlpbmcvTQorc2NhYmJ5L1QKK1NjYW5kaW5hdmlhL00KK3NjYXBlL00KK1NjYXJhbW91Y2gvTQorc2NhcmVtb25nZXIvU00KK3NjYXJwL0RHU00KK1NDQ1MKK3NjaGVkdWxlL1JETUdTCitzY2hlbWF0aWMvUworc2NoZW1lL1NEUldHTQorc2NoaWxsaW5nL1NNCitTY2hsaXR6L00KK3NjaG5hcHBzCitzY2huaXR6ZWwvU00KK3NjaG9vbC9HTURKUworc2Nob29sZWQvVQorc2Nob29sZmVsbG93L1MKK3NjaG9vbC1sZWF2aW5nCitzY2hvb2wtdGltZQorU2NodW1hY2hlci9NCitTY2h3YXJ0ei9NCitzY2ludGlsbGF0aW9uL00KK3NjaXNzb3IvUworc2NvZmYvUkdEUworc2NvbmNlL00KK3Njb3JlL2VEZkdTCitzY29yZSdzCitTY290dGllL1NNCitzY291bmRyZWwvWVNNCitzY3JhZy1lbmQKK3NjcmFnZ3kvVAorc2NyYW1ibGVycy9DCitzY3JhcGllCitzY3JlZW4vR0pTTUQKK3NjcmVlbmVyCitzY3Jld3MvVQorc2NyaW1zaGF3L0dTTUQKK3NjcmlwdGluZy9GCitzY3J1ZmYvMlpTTXoKK3NjcnVmZnkvVAorc2NydW1tYWdlL0RNR1MKK3NjcnVwbGUvRE1TRworc2NydXB1bG91c25lc3MvTQorU0NTSQorc2N1bW15L1QKK3NjdXJmL1pNCitzZWEtZ3JlZW4KK1NlYXJzJ3MKK3NlYXNjYXBlL1NNCitzZWFzb25hYmx5L1UKK3NlYXQvVUdEU0EKK3NlYXdheS9NUworU2ViYXN0aWFuL00KK3NlYworc2Vjb25kLWJlc3QKK3NlY29uZC1jbGFzcworc2Vjb25kLWRlZ3JlZQorc2VjcmVjeS9TTQorc2VjdGFyaWFuL1MKK3NlY3Rpb25lZC9BCitzZWN0aW9ucy9FQQorc2VjdCdzL0kKK3NlY3VyZS9TWURHCitzZWN1cmVyCitzZWRhdGl2ZS9TCitzZWRlbnRhcnkKK3NlZHVjdGlvbi9NCitzZWR1Y3RpdmUvUAorc2VlZC9NRDJHU1JacAorc2VlZHMvQQorc2VlbS9ZU2tHRAorc2VlcnN1Y2tlci9TTQorc2VlLXRocm91Z2gKK3NlZ3JlZ2FibGUKK3NlZ3JlZ2F0aW9uaXN0CitzZWlnbmV1ci9NUworc2VsZWN0L0tTR0NEQQorc2VsZW5vZ3JhcGhlci9NUworc2VsZi1hcHBvaW50ZWQKK3NlbGYtYXNzZXJ0aW9uCitzZWxmLWNvbmdyYXR1bGF0aW9uCitzZWxmLWNvbnNjaW91cy9ZCitzZWxmLWNvbnRyYWRpY3RvcnkKK3NlbGYtZGVuaWFsCitzZWxmLWRldGVybWluYXRpb24KK3NlbGYtZ292ZXJubWVudAorc2VsZi1pbXByb3ZlbWVudAorc2VsZmxlc3MvWQorc2VsZmxlc3NuZXNzCitzZWxmLXBhcm9keQorc2VsZi1wb3J0cmFpdC9TCitzZWxmLXJlbGlhbnQKK3NlbGYtcmlnaHRlb3VzL1kKK3NlbGYtc2Vla2VyL1MKK3NlbGYtc2Vla2luZworc2VsZi1zdWZmaWNpZW5jeQorc2VsZi10YXBwaW5nCitzZWxmLXRvcnR1cmUKK1NlbGp1ay9NCitzZWxsL0FTY2VHZgorc2VtZW4vTQorc2VtaWNpcmNsZS9TTQorc2VtaWZpbmFsLzNNUworc2VtaW90aWNpYW4KK3NlbWktc2tpbW1lZAorU2VtaXRpYy9TTQorc2VuZC9BU0cKK3Nl8W9yaXRhL1NNCitzZW5zZS9ER25TcE1iCitzZW5zaWJseS9JCitzZW5zb3IvU00KK3NlbnN1b3VzbmVzcworc2VudGllbnQvSQorc2VudGltZW50L1NLTQorc2VudGltZW50YWxpc20vTVMKK3NlbnRpbmVsL0RHU00KK1Nlb3VsL00KK3NlcXVlbC9NUworc2VxdWVuY2UvUlNNR0QKK3NlcXVpbi9NU0QKK1NlcmFmaW4vTQorc2VyYXBlL1MKK1NlcmIvTVMKK3NlcmVuaXR5CitzZXJmL1NNCitzZXJmZG9tL1NNCitzZXJnZWFudC9NUworc2VyaWFsL3FRLThTWQorc2VyaWVzCitzZXJvdG9uaW4KK3NlcnJhdGUvTm5ECitzZXJyYXRpb24vTQorc2VydmljZWFiaWxpdHkvTQorc2VydmljZWFibGVuZXNzCitzZXJ2aWxlL1kKK3Nlc2FtZS9TTQorc2V0LWFzaWRlCitzZXR0bGUvUkxHU0QKK3NldHRsaW5nL1VBCitzZXZlbi9ITVMKK3NldmVudGVlbi9ICitzZXZlbnR5LW5pbmUvSAorc2V2ZXJpdHkvU00KK3Nld2FnZS9NCitzZXh1YWwvWQorc2hhaC9NUworc2hha2VhYmx5L1UKK1NoYWtlc3BlYXJlL00KK3NoYW1ibGUvRFNHCitzaGFtZWZ1bG5lc3MKK3NoYXBlbGluZXNzCitzaGFya3NraW4vTQorc2hhdmVuL1UKK3NoYXdsL01EUworc2hjaGkKK3NoZWVyL0dZVERTCitzaGVpa2gvU00KK1NoZWxkb24vTQorU2hlbGZvcmQvTQorU2hlbGx5L00KK3NoZXJiZXQvU00KK1NoZXJyaS9NCitTaGVycmllL00KK3NoZXJyeS9NUworc2hpZWxkL1NETUcKK1NoaWtva3UvTQorc2hpbi1ndWFyZAorc2hpbmluZXNzCitzaGlwLWJyb2tlci9TTQorc2hpcHBpbmcvTQorU2hpcmF6L00KK3NoaXJyL0dEUworc2hpcnRzbGVldmUvTVMKK3NoaXJ0LXRhaWwvUworc2hpdmVyL2RrWlMKK3Nob2V0cmVlL1NNCitzaG9vL1NERworc2hvb2sKK3Nob290aW5nL1MKK3Nob290LW91dC9TTQorc2hvcmViaXJkL1MKK3Nob3J0aXNoCitzaG9ydC10ZXJtCitTaG9zaG9uZS9TTQorc2hvdXQncworc2hvdy1vZmYvUworc2hyZXdpc2gvWVAKK1NocmV3c2J1cnkvTQorc2hyaXZlbC9HU0QKK3NocnViL1pNUworc2h1ZGRlci9kU1oKK3NodWZmbGUvQVNHRAorc2liaWxhbnQvWVMKK1NpYmxleS9NCitzaWNrL1BZCitzaWNrbGUtZmVhdGhlcgorU2lkL00KK3NpZGUtYmFuZC9TTQorc2lkZS1jYXIvTVMKK3NpZGUtc3BsaXR0aW5nCitzaWRlLXN0cmVldC9TTQorc2lkZXRyYWNrL1NHRAorc2lkZXdpc2UKK3NpZ25hdHVyZS9NUworc2lnbmlmeS9uTkRTRworc2lsZW5jZS9TUk1HRAorU2lsZXNpYS9NCitzaWxob3VldHRlL0dEU00KK3NpbGljYXRlL01TCitzaWxrL1N6WjJNCitzaWxreS9UUAorc2lsdC9OTURHU1oKK1NpbWVvbi9NCitzaW1vbmlhY2FsCitzaW1wbGVuZXNzCitzaW1wbGlzdGljL1kKK3NpbXVsdGFuZWl0eS9NUworc2luL3BSU2o2R0RNCitzaW5jZXJlL1RZCitzaW5nbGUtbWluZGVkCitzaW5pc3Rlci9ZCitzaW51b3NpdHkKK3NpbnVzaXRpcy9NCitzaXBob24vZE1TCitzaXJlL0NER1MKK3Npc3N5L01TCitzaXRhci9NM1MKK3NpeC1mb2xkCitzaXgtcGFjay9TCitzaXh0eS9ITVMKK3NpeHR5LW9uZQorc2l4dHktc2Vjb25kL1MKK3NpeHR5LXR3bworc2l4dHktdHdvZm9sZAorc2l6emxlL0RTRworc2tlbHRlcgorc2tldGNocGFkCitza2ktanVtcC9SR0QKK3NraS1wbGFuZQorU2tpcHB5L00KK3Nrb2wKK3NreWxhcmsvR0RTTQorc2t5d2FyZC9TCitzbGFnL1NNREcKK3NsYW5kZXIvZFNNCitzbGFudHdpc2UKK3NsYXAvTUdTRAorc2xhdmVyeS9TTQorc2xheS9SU0cKK3NsZWRnZS9TR0RNCitzbGVlay9UR1lECitzbGVlcHloZWFkL1NNCitzbGVpZ2gvU1JNREcKK3NsZW5kZXJlc3QKK3NsaW1lLzJNU1oKK3NsaXAtb25zCitzbGl0L01SU0RHCitzbG9lL1NNCitzbG90aGZ1bC9QCitzbG93L1RTUERHWQorc2xvd2lzaAorc2x1bW15L1QKK3NseWVyCitzbWFsbGhvbGRlci9TCitzbWFsbHBveC9NCitzbWFydGVzdAorc21lZ21hL1cKK3NtZWxsZXIvTQorc21lbGx5L1BUCitzbWlkZ2VvbgorU21pdGhmaWVsZC9NCitzbW9nL01aCitzbW9raW5nLXJvb20KK1NNVFAKK3NuYWZmbGUvR0RTTQorc25ha3kvVAorc25henp5L1RZCitzbmVlemVyCitzbm93Ym9hcmQvR1JEUworc25vd2xpbmUKK3NudWZmYm94L01TCitzb2FweS9UCitzb2NpZXRhbAorc29jaW8KK3NvY2lvYmlvbG9neS9NCitTb2NyYXRpYy9TCitzb2RhL1NNCitTb2RvbS9NCitTT0UKK3NvZnQvY1AKK3NvZnRlc3QKK3NvZnQtaGVhcnRlZG5lc3MKK3NvZ2d5L1RZCitzb2lsZWQvVQorc29sZGVyaW5nCitzb2xlL0ZBREdTCitzb2xpZC9ZUworc29saWRuZXNzCitzb2xpdGFyeS9TCitzb2x2ZWQvVQorc29tYS9NCitzb21lZGF5CitTb21tZS9NCitzb21uYW1idWxpc3QvU00KK3NvbW5vbGVuY2UvTQorc29uYXIvTQorU29uamEvTQorc29ub3JvdXMvWVAKK3Nvb3QvTVoKK3Nvb3Roc2F5ZXIvU00KK3Nvb3Roc2F5aW5nCitTb3Bob2NsZWFuCitzb3J0aWVpbmcKK3NvdWJyaXF1ZXQvTQorc291bmRlZC9BCitzb3VuZHByb29mL0RHUworc291cmlzaAorc291dGgtZWFzdGVybgorc291dGgtZWFzdHdhcmQvUworc291dGhlcm5tb3N0CitzcGFjZS9EbVJNNVNHSgorc3BhbmRyZWxzCitzcGFubmVkL1UKK3NwYXJlcmlicworc3BhcmVycworc3BhcmVyJ3MKK3NwYXJrbGUvR1JrRFMKK3NwYXNtL01TCitzcGF0aGUvTVMKK3NwYXRpYWwvWQorc3BhdHRlci9kUworc3BlY2llL01vUworc3BlbGxpbmcvTWFTCitzcGVuZC9lU2NhRworc3BoZXJlL00xV3dTCitzcGhpbmN0ZXIvTVMKK3NwaGlueC9TTQorc3BpbmUvcE1TMloKK3NwaW5uYWtlci9TTQorc3BpbnN0ZXJpc2gKK3NwaXJpdGVkbmVzcworc3Bpcml0J3MKK3NwbGVuZGlkL1BZCitzcGxpbmUvTURTCitTcG9jay9NCitzcG9rZW4vVWVhCitzcG9ydGluZy9VCitzcG9ydHNtYW5saWtlL1UKK3Nwb3J0c3dlYXIvTQorc3BvdHR5L1RQCitzcG91dC9ER1MKK3NwcmVhZGFibGUKK3NwcmVhZGVyL1NNCitTcHJpbmdmaWVsZC9NCitzcHJpbmd0aW1lL00KK3NwcnVjZXIKK3NwcnVlL00KK3NwdW5rL01aCitzcXVhbGx5L1QKK3NxdWFyaXNoCitzcXVhdy9NUworc3F1ZWxjaHkvVAorc3F1aWIvREdNUworc3F1aXJlL1lHTURTCitzcXVpcmVhcmNoL1p3CitzcXVpcm15L1QKK3N0YWJsZWQKK3N0YWJsZWZ1bC9TCitzdGFibGlzaAorc3RhY2tlZC9VCitzdGFmZi9BREdTCitzdGFnZS1oYW5kL1NNCitzdGFnbmFudC9ZCitzdGFpZC9QWQorc3RhaW5lZC1nbGFzcworc3RhaXIvTVMKK3N0YWtlL01EU0cKK3N0YWtlaG9sZGVyL1MKK1N0YWxpbmdyYWQvTQorc3RhbmNlL0lTTQorc3RhbmRhcmQtYmVhcmVyL1NNCitzdGFuZGVlL01TCitTdGFuZGlzaC9NCitzdGFuZG9mZmlzaC9ZCitzdGFuZHBvaW50L1NNCitTdGFuc3RlZC9NCitzdGFwaHlsb2NvY2NpCitzdGFwbGVkL1UKK3N0YXJlL1MKK3N0YXJmaXNoL01TCitTdGFya2V5L00KK3N0YXJ0bGUvR2tEUworc3RhcnZlbGluZy9NCitzdGF0ZWx5L1RQCitzdGF0ZXIvTWEKK3N0YXRpb25tYXN0ZXIvTQorc3RhdHVyZS9NUworc3RhdW5jaC9EVFNHWQorc3RlYWRpZXN0CitzdGVhbXNoaXAvTVMKK1N0ZWVsZS9NCitzdGVlbHdvcmsvUlNNCitTdGVlbi9NCitzdGVlcGxlY2hhc2UvR1NNCitzdGVlcG5lc3MKK1N0ZWluYmVyZy9NCitTdGVpbm1ldHovTQorc3RlbW1lZC9VCitzdGVwL2NER1MKK3N0ZXBmYXRoZXIvU00KK1N0ZXBoZW5zb24vTQorc3RlcHMvYUkKK3N0ZXJlb3R5cGUvWk1ER1NXdzEKK3N0ZXJsaW5nL1BNWQorc3Rlcm9pZC9NUworU3RldmVuL01TCitzdGV3YXJkc2hpcC9TTQorc3RpY2tsZXIvU00KK1N0aWx0b24vTQorc3RpbXVsYW50L1NNCitzdGltdWxhdGlvbi9NUworU3RpbmUvTQorc3Rpbmd5L1BUCitzdGlua3BvdC9NCitzdGlyL0dTSkRSCitzdGlycmVkL1UKK3N0b2NrL0djREFTCitzdG9ja2Jyb2tpbmcKK3N0b2NrcGlsZXIvTQorc3RvZGd5L1RZCitTdG9rZS1vbi1UcmVudC9NCitzdG9sZS9NUworc3RvcHdhdGNoL01TCitzdG9yZXJvb20vTVMKK3N0b3J5bGluZQorc3Rvcnl0ZWxsZXIvTVMKK3N0b3VwL1NNCitzdG91dC1oZWFydGVkL1kKK3N0cmF0aQorc3RyYXRpZnkvTkduRFMKK1N0cmF1c3MKK1N0cmF2aW5za3kvTQorc3RyYXcvTVpTCitzdHJhdy1jb2xvdXIvRAorc3RyZWV0L01TCitzdHJlZXR3YWxraW5nCitzdHJlZXR3aXNlCitzdHJlcHRvY29jY2kKK3N0cmVwdG9teWNpbi9NCisnc3RyZXd0aAorc3RyaWRlbmN5L1MKK3N0cmlrZW91dC9TCitzdHJpbS9SR0QKK3N0cmlwL2VER1MKK3N0cmlwLXNlYXJjaGVkCitzdHJvbnRpdW0vTQorU3Ryb3VkCitzdHJ1bmcvY1VBCitzdHJ1dHRlci9NCitzdHViYmx5L1QKK3N0dWRib29rL1NNCitzdHVkZW50L1NNCitzdHVmZmVyCitzdHVtcGVyL00KK3N0dW5nCitTdHVybS9NCitzdHltaWVpbmcKK3N0eXJlbmUvTQorc3ViL1NHRE0KK3N1YmFxdWF0aWMKK1N1YmFydS9NCitzdWJjYXRlZ29yeS9TTQorc3ViY29uc2Npb3VzbmVzcy9TCitzdWJjb250aW5lbnQvU00KK3N1YmdlbnVzCitzdWItaGVhZC9KCitzdWJqdWdhdGUvRG5HU04KK3N1YmxlYXNlL0RNR1MKK3N1YmxpbWl0eS9TTQorc3ViLW1hY2hpbmUtZ3VuCitzdWJtZXJnZW5jZS9TTQorc3VicG9lbmEvREdTTQorc3Vic2NyaWJlL0FHY1NECitzdWJzY3JpYmVyL1NNCitzdWJzZWN0aW9uL1NNCitzdWJzaWRlL3FRLThEWkdzOVMKK3N1YnNpZGlhcnkvTVMKK3N1YnNvbmljCitzdWJzcGFjZS9TTQorc3Vic3RhbnRpYXRpb24vRk1TCitzdWJzdGl0dXRpb25hbAorc3VidGVzdAorc3VidHJhY3QvUnZWR0RTCitzdWJ0cmFjdGlvbi9TTQorc3VidW5pdC9NUworc3VidXJiaWEvTQorc3ViemVybworc3VjY2VlZGVyL00KK3N1Y2Nlc3Npb24vTQorc3VjaAorc3VjaC1hbmQtc3VjaAorc3VjaGxpa2UKK3N1Y2tlci9kCitzdWZmZXIvZHJKUworU3VmZm9say9NCitzdWl0L01sZFNnNworc3VpdGUvTVMKK3N1aXRvci9NUworU3VsbGl2YW4vTQorc3VsdGFuYS9NUworU3VtdGVyL00KK3N1bmJhdGgvR1JEUworc3VuYmVkcworc3VuYmxvY2svUworU3VuZGFuZXNlL00KK1N1bmRlcmxhbmQvTQorc3VuZHJ5L1MKK3N1bmZpc2gvTVMKK3N1bnRhbi9ETVNHCitzdXBlci81bQorc3VwZXJjYXJnb2VzCitzdXBlcmNyaXRpY2FsCitzdXBlcm5vcm1hbAorc3VwZXJzY3JpcHQvR1NECitzdXBlcnNldC9TTQorc3VwZXJzdGl0aW91cy9ZCitzdXBlcnZpc29yL01TCitzdXBlcnZpc29yeQorc3VwcG9ydC92UkRrU0JHVgorc3VwcG9ydGVkL1UKK3N1cHB1cmF0ZS9ORFNuRworc3VwcHVyYXRpb24vTQorc3VyZmFjZS9SU0dNRAorc3VybW91bnQvRzdEUworc3VybW91bnRhYmxlL0kKK3N1cnJlcHRpdGlvdXNuZXNzCitzdXJ2ZXlvci9TTQorc3Vydml2YWJpbGl0eS9NCitzdXNwZWN0L0dTRAorc3VzcGVuZGVkL1UKK3N1c3BlbnNvcnkKK3N1c3RhaW4vbEdCTERTCitzdXR1cmUvREdNUworU3V6aWUvTQorU3ZhbGJhcmQvTQorc3ZlbHRlL1kKK3N3YWIvU01ERworU3dhaGlsaS9NUworU3dhbGUKK3N3YWxsb3dlci9NCitzd2FzdGlrYS9TTQorc3dhdC9TUkdECitzd2VkZS9TTQorc3dlZXRpc2gKK3N3ZWV0c2hvcC9TTQorc3dlZXQtdGFsa2luZworU3dlbnNvbi9NCitzd2luZy9Sa1pTRworc3dpbmdpZXIKK1N3aXRoaW4vTQorc3dpenpsZXIKK3N5YmFyaXRlL01XUworc3ljb3BoYW5jeS9TCitzeWxsYWJsZS9XU00KK3N5bGxvZ2lzbS9TTQorc3lsdmFuCitzeW1wb3NpYQorc3luY2hyb25pc20vTQorc3luZ2Ftb3VzCitzeW5vbnltL1NaV00KK3N5bnRoZXNlcworc3lwaGlsaXMvTQorc3lzdG9sZS9XU00KK1QKK3RhL28KK3RhYm9vL0RHTVMKK3RhYm9yL1NNCit0YWMvRDJaRwordGFjaXR1cm4vWQordGFjaXR1cm5pdHkvTQordGFja2xlL0RSTUdTCit0YWN0dWFsL1kKK1RhZmZ5L01TCit0YWlsZ2F0ZXIvTQorVGFpdC9NCit0YWxjL00KK3RhbGwvVAorVGFsbXVkaXN0Cit0YW1hcmluZC9TTQordGFtYm91cmluZS9NUworVGFtbWFueS9NCit0YW5rYXJkL1NNCit0YW5rZnVsL1NNCitUYW5uaOR1c2VyL00KK3Rhbm5pbi9TTQordGFudHJ1bS9TTQordGFwZS9TcDdNCit0YXBpci9TTQordGFwcGVkL1UKK3Rhcm5pc2hlZC9VCit0YXJvL1NNCit0YXJwb24vU00KK3RhcnNhbAorVGFyemFuL00KK3Rhc2svU0RNRwordGFza21hc3Rlci9NUwordGFzdGUvRU02alMKK1RhdGFyL1NNCit0YXR0b29pc3QvU00KK3RhdS9NCitUYXVydXMvTQordGF4YXRpb24vTQordGF4aS9EU0dNCit0YXhwYXllci9NUworVGMKK3RlYWN1cC82U00KK3RlYW0tbWF0ZS9TCit0ZWFwb3QvU00KK3RlYXJmdWxuZXNzCit0ZWFzL1JTRGtHCit0ZWNobmljYWwvWQordGVjaG5vbG9neS8zd1NNMQorVGVkL00KK3RlZS9TR2RNCitURWlydHphL00KK3RlbGx1cml1bS9NCit0ZW1wL0dNUlNURAordGVtcGVyYS9NTFMKK3Rlbi9sU0hnN00KK3RlbmFiaWxpdHkvU00KK3RlbmFibGUvVQordGVuYWNpdHkvUwordGVuZGVyZXIKK3RlbmRlci1oZWFydGVkL1lQCit0ZW5kb24vU00KK3RlbmRyaWwvTVMKK3RlbmVicm91cworVEVORVgvTQordGVuc2lvbmxlc3MKK3Rlbi15ZWFyCit0ZXJtaW5hYmxlL0kKK3Rlcm1pbmF0ZWQKK3Rlcm1pdGUvU00KK3Rlcm4vU00KK1RlcnBzaWNob3JlYW4KK1RlcnJhL00KK3RlcnJhY2UvR1NNRAorVGVycmVsbC9NCit0ZXJyb3Jpc3QKK3RlcnJvci1zdHJpY2tlbgordGVyc2VuZXNzCitURVNMCit0ZXN0YW1lbnQvTVMKK3Rlc3QtZHJpdmUvRwordGVzdGlmeS9SRFNHCit0ZXRoZXIvZE1TCit0ZXRyYWN5Y2xpYwordGV0cmFnb25hbAordGV0cmFwb2QKK1Rld2tlc2J1cnkKK1RlWCdzCit0ZXh0dXJhbAordGhhbGFtaQordGhhbGFtdXMvTQordGhhbGxpdW0vTQordGhhbmsvRDZqR3BTCit0aGVhdHJpY3MKK1RoZWJlcworVGhlbG1hL00KK3RoZW1hdGljL1MKK3RoZW9yZXRpY2FsCit0aGVvcmV0aWNpYW4vU00KK3RoZXJhcGV1dGljL1lTCit0aGVyZWF0CitUaGVyZXNlL00KK3RoZXJldW50bwordGhlcmV1cG9uCit0aGVybW9zZXR0aW5nCit0aGltYmxlLzZNUwordGhpcnR5LWZvdXIvSAordGhpcnR5LXNldmVuL0gKK3RoaXJ0eS10d29mb2xkCit0aGlzdGxlZG93bi9NCitUaG9tYXMKK3Rob3VnaHRmdWwvWQordGhvdWdodGZ1bG5lc3MKK3Rob3VnaHRsZXNzL1lQCit0aHJlZS1kaW1lbnNpb25hbC9ZCit0aHJlZS1wcm9uZ2VkCit0aHJlZS1xdWFydGVyL1MKK3Rocm9iL1NHRAordGhyb21ib3NlcwordGhyb21idXMvTQordGhyb25lL0NTRAordGhyb3duL2MKK3RodW5kZXIvU1prTWQKK3RodW5kZXJjbGFwL01TCit0aHVuZGVyc3Rvcm0vTVMKK3RoeW11cy9TTQordGh5cm94aW5lL00KK1RpYmV0L00KK1RpYmV0YW4vUwordGlsbGVkL0UKK3RpbGxlci9FTVMKK3RpbHRoL00KK3RpbWUtY29uc3VtaW5nCit0aW1lLWhvbm91cmVkCit0aW1lLXNlcnZlci9TTQordGltZS1zZXJ2aW5nL1MKK3RpbWV0YWJsZS9TREdNCit0aW1vcm91c25lc3MKK3RpbmRlci9NCit0aW5mb2lsL00KK3RpbnQvTVNERwordGlwL1JTR01ECit0aXAtdG9wCit0aXJhZGUvU00KK3RpcmVsZXNzL1kKK3RpdGFuaXVtL00KK3RpdGJpdC9TTQordGl0aXZhdGlvbi9NCit0aXRyZS9NU04KK3RpenovWgorVE5UCit0b2tlbi9TUU04Cit0b2xkL0FVCitUb21hcwordG9tZm9vbGVyeS9NUworVG9tbXkvTVMKK3RvbXRpdC9TTQordG9uZS9JUkRHUworVG9ueWEvTQordG9vdGgvek1wRFoKK3Rvb3RocGFzdGUvTVMKK3Rvb3RzeS9TTQordG9wZHJlc3NpbmcvUwordG9wZ2FsbGFudC9NCit0b3BvZ3JhcGh5L1MxV013Cit0b3BzYWlsL01TCit0b3BzaWRlL1NNCit0b3BzcGluL01TCit0b3BzeS10dXJ2eQorVG9yYmF5Cit0b3JtZW50b3IvU00KK1RvcnJlcwordG9ydCdzCit0b3J0dW91cy9ZCit0b3RhbC9zOU1ER1MKK3RvdHRpbmctdXAKK3RvdWNoZWQvVQordG91cm5leS9ER1NNCit0b3duL1NtTTUKK3Rvd25pZS9TTQordG94YWVtaWMKK3RveGljaXR5L1NNCitUb3lvZGEvTQordHJhY3QvRTdBU0YKK3RyYWN0YWJpbGl0eS9JCit0cmFkZS1vZmYvUwordHJhaW5lZS9TTQordHJhaXBzZS9TR0QKK3RyYW1jYXIvUwordHJhbWxpbmVzCit0cmFubnkvUwordHJhbnF1aWxsaXR5L1MKK3RyYW5zY29kZQordHJhbnNjb250aW5lbnRhbAordHJhbnNlcHQvU00KK3RyYW5zZ2VuaWMKK3RyYW5zaWVuY2UvWlNNCit0cmFuc2xhdGluZy9hCit0cmFuc21pc3NpYmxlCit0cmFuc21pdHRlci9NUwordHJhbnNwbGFudC83Tm4KK3RyYW5zdWJzdGFudGlhdGlvbi9TTQordHJhbnN1cmFuaWMKK3RyYW5zdmVyc2UvWW8KK3RyYW5zdmVzdGl0aXNtCit0cmFwZG9vci9TCitUcmF2ZXJzCit0cmF2ZXJzYWwvU00KK3RyZWFzdXJlL0RSU1pNRwordHJlYXQvTE03WkRTRworVHJlYmxpbmthL00KK3RyZWV0b3AvTVMKK3RyZWsvU1JER00KK3RyZW1ibGUvU0dZa0QKK3RyZW1lbmRvdXMvWQordHJpYnVuYWwvU00KK3RyaWJ1dGUncwordHJpY2VudGVubmlhbAorVHJpY2lhL00KK3RyaWxpbmd1YWwKK3RyaW0vRFRHSlNSWQordHJpcGFydGl0ZQordHJpcGxpY2F0aW9uL00KK3RyaXB0eWNoL00KK3RyaXJlbWUvU00KK1RyaXNoL00KK1RyaXNoYS9NCit0cmlzeWxsYWJsZQordHJpdGVuZXNzCit0cml0aXVtL00KK3RyaXVtdmlyL01TCit0cml2aWFsL1E4cS0KK3Ryb2phbgordHJvcGUvV01TdzEKK3Ryb3VibGVzb21lL1BZCit0cm95Cit0cnVja2xvYWQvU00KK3RydXN0J3MKK3RydXRoL01VU2o2Cit0cnkvQURHUwordHJ5cHNpbi9NCit0c2FyZXZpY2gKK3RzZXRzZQorVHVhcmVnL00KK3R1YmVyY3VsYXIKK3R1Z2JvYXQvTVMKK3R1bS9aCit0dW1icmVsL01TCit0dW1vdXIvTVMKK3R1bXVsdXMvTQordHVuZSdzCit0dW5pbmcvU00KK1R1bmlzL00KK3R1cmJvdC9TTQordHVyYnVsZW5jZS9NUwordHVybW9pbC9NCit0dXJuaW5nL1NNCit0dXJuaXAvU00KK1RWcwordHdlbnR5LWZpdmUvSAordHdlbnR5LWZvdXIvSAordHdlbnR5LW9uZWZvbGQKK3R3ZW50eS1zaXgvSAordHdpY2UtbWFycmllZAordHdpZ2d5L1QKK3R3aWxpZ2h0L1NNCit0d2luL0RTZEdNCitUd2lua2llCit0d2lybC9EUkdZUwordHdpc3RzL1UKK3R3b2ZvbGQKK3R5cGUncwordHlwaWNhbGl0eS9NCit0eXBvZ3JhcGh5L1NXTXcxCit0eXBvbG9neS93U00xCitUeXJvbGVhbi9TCitUeXJvbCdzCit1YmlxdWl0b3VzL1kKK3ViaXF1aXRvdXNuZXNzCitVQ0wvTQorVWdhbmRhL00KK3VnaC9GCit1a3VsZWxlL1NNCit1bWJlbC9TTQordW1iaWxpY2kKK3VuYXR0cmFjdGl2ZW5lc3MKK3VuYmFsYW5jZQordW5iZWNvbWluZ25lc3MKK3VuYmVsaWVmCit1bmJpbmQvRwordW5jaWFsL1MKK3VuY2xhZAordW5jb25uZWN0ZWQKK3VuY29vbAordW5kZXJjbGFzcwordW5kZXJjdXJyZW50L00KK3VuZGVyZmxvdy9NCit1bmRlcmZvb3QKK3VuZGVybGF5Cit1bmRlcnBhc3MvTQordW5kZXJzaG90Cit1bmRlcnNpZ25lZC9NCit1bmRldGVybWluZWQKK3VuZG8vRwordW5lYXNlLzIKK3VuZXZlbnRmdWwKK3VuZXhhY3RpbmcKK3VuZmFzaGlvbmFibGUKK3VuZmF2b3VyYWJsZQordW5mbGluY2hpbmcvWQordW5mcm96ZW4KK1VuaWNvZGUvTQordW5pZmlhYmxlCit1bmlmaWVyL01TCit1bmlsYXRlcmFsL1kKK3VuaW1wb3J0YW5jZQordW5pbnRlbGxpZ2liaWxpdHkKK3VuaXNvbi9TCit1bml2YWx2ZS9TTQordW5raW5kL1kKK3Vua2luZG5lc3MKK3VubGFwCit1bmxhd2Z1bG5lc3MKK3VubGl0Cit1bmxvb2tlZC1mb3IKK3VubG9vc2UKK3VubWFubGluZXNzCit1bm1hbm5lcmx5Cit1bm1lbW9yYWJsZQordW5tZXQKK3VubWlzc2FibGUKK3VubmVpZ2hib3VybGluZXNzCit1bm9ibGlnaW5nCit1bm9ic2VydmFibGUKK3VucGluL0dECit1bnBsZWFzYW50Cit1bnByZXBhcmVkCit1bnF1b3RlCit1bnNlZWluZy9ZCit1bnN0dWZmeQordW50aGlua2FibGUvWQordW50aXJpbmcvWQordW50cnVlCit1bndlbGwKK3Vud29ybGRseQordW55aWVsZGluZy9ZCit1cGJlYXQvTVMKK3VwZGF0ZS9ER1MKK3VwZnJvbnQKK3VwaG9sZC9SR1MKK3VwcmlnaHQvWVMKK3Vwc2lkZS9NUwordXBzaWRlLWRvd24KK3Vwc3RhbmRpbmcKK3Vwc3Ryb2tlL01TCit1cmJhbi9xUTgtCit1cmVhL00KK3VyaWMKK3VyaW5hbHlzaXMvTQorVXJvY2hvcmRhdGEKK3Vyb2xvZ3kvd00KK3VzYWdlL1NNCit1c2UvY0VEU0FhCit1c2VyLWZyaWVuZGxpbmVzcwordXN1YWxuZXNzL1UKK3VzdXJ5L01TCitVdGFoL00KK3V0aWxpc2UvZlNHRAordXRvcGlhL00KK1VWCit2YWN1b3VzL1kKK3ZhZ2Fib25kYWdlL01TCitWYWxlbmNpYS9NCitWYWxlcmlhL00KK3ZhbGlhbnQvWQordmFsdWF0b3IvTVMKK3ZhbHVlL0NuQVNOR0QKK3ZhbHVlLWZvci1tb25leQordmFsdWUncwordmFtcCdzCit2YXBpZGl0eS9TTQordmFwb3Jpc2UvUm5TR0QKK3ZhcG9yaXplL25SU0dORAordmFyLgordmFyaXN0b3IvTQordmFzb21vdG9yCitWYXgvTQordmVjdG9yL0ZNCit2ZWN0b3JlZAordmVjdG9yaWFsCitWZWRhL01TCit2ZWlsL0RVU0cKK3ZlbGx1bS9NUwordmVsdmV0L1NaTQorVmVuZXRpYW4vTVMKK3ZlbmdlZnVsL1kKK3ZlbnQncy9GCit2ZW51ZS9TTUEKK3ZlcmFjaW91cy9ZCit2ZXJib3NpdHkvTVMKK1ZlcmRlL00KK3ZlcnNhCit2ZXJ0ZWJyYS9NCitWZXJ0ZWJyYXRhCit2ZXJ0aWNhbC9ZUwordmVzcGVyL1MKK3Zlc3RpYnVsZS9NUwordmV0ZXJpbmFyeS9TCitWSQordmlhbGZ1bC9TCit2aWNlLUNoYW5jZWxsb3JzaGlwL1MKK3ZpY3R1YWwvUlNHRAordmlkZW90YXBlL1NETUcKK1ZpZXRtaW5oL00KK1ZpZXRuYW0vTQordmlld2VkL0tBCit2aWV3ZXIvQUtTTQordmluZGljYXRlL1NETkduCit2aW50bmVyL01TCit2aW9sYXRvci9TTQorVmlvbGV0dGUvTQordmlwZXIvU00KK3ZpcmdpbmFsL1MKK3Zpcmdpbml0eS9NUwordmlzaWJpbGl0eS9JU00KK1Zpc2lnb3RoL1MKK3Zpc29yL1NNCit2aXRpYXRpb24vTQordml0cmVvdXMvWQordml0cm8KK3ZpdHVwZXJhdGlvbi9NCit2aXZhY2lvdXNuZXNzCitWTVMvTQordm9sYXRpbGUvcVE4LVMKK3ZvbHQvQU1TCitWb2x0YS9NCit2b2x0ZQordm9sdGUtZmFjZQordm9sdW1pbm91cy9ZCit2b2x1bnRhcnkvWVMKK3ZvbHVwdHVvdXMvWQordm9ydGljZXMKK3ZvdGl2ZS9ZCit2b3cvU0RHTQordm93ZWwvU00KK3ZveWV1cmlzbS9TTQordnVsdmFlCit3YWRlL1MKK3dhZ2dpc2gvWQord2FpbC9TR0QKK3dhaXN0YmFuZC9TTQord2Fpc3Rjb2F0L1NNCitXYWxsYWNoaWEvTQorV2FsbG9vbi9NCit3YW1wdW0vTQord2FudG9ubmVzcworV2FxYXIvTQord2FyL3BTREdNCit3YXJkcmVzcy9NUword2FyaGVhZC9NUword2FybGlrZQord2FybWlzaAord2FycGF0aC9NUword2FycmFudGFibGUvVQord2FycmFudHkvU00KK3dhcnRpbWUvU00KK3dhc2gvQUdEUword2FzaGluZy11cAord2FzaG91dC9NUword2Fzbid0Cit3YXNwaXNoL1kKK1dhdGVyZ2F0ZS9NCit3YXRlcmxvZ2dlZAord2F0ZXJtaWxsL1MKK3dhdGVyLXRhYmxlCitXYXRraW5zCit3YXR0bGUvU00KK1dhdWtlc2hhL00KK3dhdmUvRFNaRzIKK3dhdmVyaW5nL1VZCit3ZWFrbmVzcy9TCit3ZWF0aGVyYm9hcmQvRword2VhdGhlci1ib3VuZAord2VhdmVyL1NNCit3ZWIvRFNHTQord2Vla2VuZC9NUword2Vlay1sb25nCit3ZWVuaWUKK3dlaWdodGluZy9TTQord2VpcmRuZXNzCit3ZWxsLWJlbG92ZWQKK3dlbGwtYnVpbHQKK3dlbGwtZGlzcG9zZWQKK1dlbGxtYW4KK3dlbGwtbWFubmVyZWQKK3dlbGwtdHJhaW5lZAorV2Vsc2htYW4vTQorV2Vsd2l0c2NoaWEvTQord2UncmUKK1dlc3RjaGVzdGVyL00KK3dlc3Rlcmx5L1MKK1dlc3Rpbmdob3VzZS9NCitXZXN0cGhhbGlhL00KK3dldC9UU0RZRword2V0c3VpdC9TCit3aGFtL1NER00KK3doYXQncy1oaXMtbmFtZQord2hlZWx3cmlnaHQvTVMKK3doZXJldG8KK3doaWNoZXZlcgord2hpbXBlci9kUword2hpbm55L0RTRword2hpc2t5L1MKK3doaXN0bGUtc3RvcAord2hpdGViYWl0L00KK1doaXRlaGF2ZW4vTQorV2hpdG1hbi9NCitXaGl0c3VuL00KK1doaXR0aW5ndG9uL00KK3doaXovR0QKK3dob2xlaGVhcnRlZC9ZCit3aG9sZW1lYWwKK3dob29wL0RHUword2hvc28KK3dpY2tlZC9QCit3aWNrZWRlcgorV2lja2xvdy9NCit3aWRlLWV5ZWQKK1dpZG5lcword2lnd2FtL1NNCitXaWxrZXMKK1dpbGtpbnMKK1dpbGtpbnNvbi9NCitXaWxsZW5zdGFkL00KK1dpbGxpYW1zb24vTQord2lseS9QWVQKK3dpbmRibG93bgord2luZGZsb3dlci9TTQord2luZGxlc3MKK3dpbmRwaXBlL1NNCit3aW5lZ3Jvd2VyL1NNCit3aW5nLXRpcC9TCit3aW5uaW5nL1kKK1dpbm9vc2tpCit3aW50cmluZXNzCit3aXJlZC9BCit3aXJlci9NCitXaXNjb25zaW4vTQord2lzZWx5L1UKK3dpc2hib25lL01TCit3aXRjaGNyYWZ0L01TCit3aXRjaGRvY3Rvci9TCit3aXZlcword29rZQorV29sZmUvTQord29uZGVyL2pMU2RrTTYKK1dvbmcvTQord29ua3kvVAord29udC9oREcKK3dvb2RjdXR0aW5nL00KK1dvb2RsYXduCit3b29kcnVmZi9NCit3b29kd29yay9STUcKK3dvcC9TTQord29yZC9BREpHUword29yZGFnZQord29yZHBsYXkvTVMKK3dvcmtzaG9wL01TCit3b3JrdGFibGUvTVMKK3dvcm0vR1NEWk0KK3dvcnNlCitXb3J0aGluZ3Rvbi9NCit3b3J0aGxlc3MvUFkKK3dvcnRoeS9UUFMKK3dvdWxkCit3cmVuY2gvREdrU00KK3dyZXN0ZXIvTQord3Jlc3RsaW5nL00KK3dyaXRlLXVwL1MKK1dSTlMKK3dyeWx5Cit4Cit4LWF4aXMKK3hlbm9uL00KK3hlbm9waG9iaWEvTQoreGlpaQoreWFtL1NNCit5YXJkc3RpY2svU00KK3llYXJib29rL1NNCit5ZWFyLWVuZAorWWVvdmlsCit5b2IvUworeW9iYmlzbQoreW9nYS9NCitZb3J1YmEKK3lvdSd2ZQoreXVtbXkvVAorWXZlcworWXZldHRlCit6YW55L1QKK1pldXMvTQorWmllZ2xlci9NCit6aXRoZXIvTVMKK3psb3R5L00KK3pvZGlhY2FsCit6b29tL0RHUworM0dQUCdzCithYmFjdXMvU00KK2FiYXNlL1NHTEQKK2FiYmV5L1NNCitBYmVyZGVlbi9NCithYmV5YW50CithYmplY3Rpb24vTVMKK2FibHV0aW9uL1NNCithYm5lZ2F0ZS9OR25EUworYWJvbGlzaC9ER0xSUworYWJvbWluYXRlL0RuTlNHCithYm9ydGlvbmlzdAorYWJydXB0bmVzcy9TCithYnNvbHV0aW9uL01TCithYnN0ZW1pb3VzL1lQCithYnN0ZW1pb3VzbmVzcy9TCithYnN0aW5lbmNlL01TCithYnlzbWFsL1kKK2FjYWRlbXkvTVdTCitBQ0FTCithY2NlcHRhYmlsaXR5L01TCithY2NlcHRhbmNlL1NNCithY2NlcHRpbmduZXNzCithY2Nlc3NpYmlsaXR5L0lTTQorYWNjaWRlbmNlL00KK2FjY2xhaW1lci9NCithY2NsYW1hdGlvbi9NUworYWNjb21wYW5pZWQvVQorYWNjb3JkYW50L1kKK2FjY291bnQvTUJsRFNHCithY2NvdW50YWJseS9VCithY2NvdW50YW5jeS9TTQorYWNjb3VudGVkL1UKK2FjY3VtdWxhdGUvRFNHTlZudnUKK2FjY3VtdWxhdG9yL1NNCithY2N1cmF0ZS9ZUAorYWNoaWV2ZWQvVWMKK2FjaHkvVEsKK2FjaWRvc2VzCithY21lL01TCithY3RpdmF0b3IvU00KK2FjdHVhcnkvU01vCithY3ljbGljL1kKK0FkYW1zb24vTQorYWRkaXRpb24vb01TCithZGR1Y2VyL00KK2FkZHVjdC9HRFMKK2FkZHVjdGlvbi9NCithZGVwdC9UUFlTCithZGVxdWF0ZW5lc3MvU0kKK2FkaGVzaXZlbmVzcy9TCithZGp1ZGdlL0RTRworYWRqdXN0ZWQvVUEKK2FkbWlzc2liaWxpdHkvTVNJCithZG1vbml0b3J5CithZHVsdGVyZXNzL01TCithZHZlbnR1cmUvUk1TR0QKK2FkdmVudHVyZXNvbWUKK2FkdmVydC9Rc1MKK2FkdmlzYWJsZS9JCithZXJvbmF1dGljcy9NCitBZXNjdWxhcGl1cworYWZmZWN0aW9uYXRlL1UKK2FmZm9yZC9TR0JECithZmZvcmVzdC9HbkROUworQWZnaGFuaS9TTQorYWZvdWwKK2FmdGVyYnVybmVyL01TCithZnRlci1ob3VycworYWZ0ZXJsaWZlL00KK2FmdGVybWF0aC9NUworYWZ0ZXJzaGF2ZS9TCithZnRlci10YXN0ZS9TTQorYWdhci1hZ2FyCithZ2UvTWlocFNECithZ2Vpc20vUworYWdlaXN0L00KK2FnZWxlc3MvWVAKK2FnZW50ZWQKK2FnZW50aXZlCithZ2dyZWdhdGUvdk5uVkRZU0cKK2Fnb25pemUvaGsKK2FncmVlci9TTQorYWdyaWN1bHR1cmFsLzMKK2FoYS9TCithaG95L1MKK2FpZGVzLWRlLWNhbXAKK0FpcmJ1cy9TTQorYWlyY3JhZnQtY2Fycmllci9TTQorYWlyY3Jldy9NUworYWlybGVzc25lc3MvUworYWlybG9jay9NUworYWlycGxheS9TCithaXJzcGFjZS9NUworYWlyd2F2ZXMKK2FpcndvbWVuCithaXJ3b3J0aGluZXNzL1MKK2FpdGNoL01TCithbGNvdmUvRFNNCithbGVydC9QaFNEUlRZRworQS1sZXZlbHMKK2FsZXdpdmVzCitBbGV4L00KK2FsZ2VicmFpY2FsCitBbGljaWEvTQorYWxsL01TYworYWxsZWdpYW5jZS9TTQorYWxsZWdyaQorYWxsZWx1aWEvUworQWxsZW5kYWxlCithbGxlcmd5LzNXMVNNCitBbGxpcworYWxsb2NhdGVkL1UKK2FsbG9jYXRpb24vYworYWxsb2NhdG9yJ3MvQworYWxsb3R0ZWQvQQorYWxsb3R0ZXIvTQorYWxsb3dhbmNlL01TCithbGxvd2luZy9FCithbGwtcG93ZXJmdWwKK2FsbHVkZS92REdWdVhTTgorYWxsdXJlL0xEa0dTCitBbG1hCithbG1hZ2VzdAorYWxtb25lci9NUworQWxvZmkvTQorYWxvbmdzaG9yZQorQWx0YWljL00KK2FsdW1pbmEvU00KK0FsdmEvTQorYWwtWmF3YWhpcmkKK2FtYmFzc2FkcmVzcy9TTQorYW1iaXRpb24vTQorYW1idXNjYWRlci9NCithbWVuYWJpbGl0eS9TTQorQW1lcmljYW5pc20vUworQW1lcmluZGlhbgorYW1pYWJsZS9ZVFAKK2FtaWRzaGlwcworYW1pc3MKK2FtbW9uaWEvU00KK2FtbW9uaXRlcworYW1uZXNpYworYW1uZXN0eS9EU0dNCithbW9udGlsbGFkby9TTQorYW1vcmFsbHltCithbW9yb3VzL1BZCitBbXBoaWJpYQorYW1waGl0aGVhdHJlL1NNCithbXBsaWZ5L05EUkdTbgorYW1wdXRhdGUvRE5TR24KK0FteS9NCithbmFlcm9iZS9NVzFTCithbmFlc3RoZXNpYS9NUworYW5hbC9ZCithbmFseXNpcy9NCithbmFzdG9tb3RpYworYW5jaG9ycGVyc29uL1MKK2FuY2llbnRuZXNzL1MKK2FuZC9ERworYW5kYW50ZS9TCithbmRlcnMKK2FuZHJvZ2VuL01TVworYW5kcm9neW5vdXMKK2FuZHJvaWQvU00KK2FuZWNob2ljCithbmV3CitBbmdlbGVzCithbmdlbGZpc2gvU00KK2FuZ2lvZ3JhcGh5CitBbmdsZXNleS9NCitBbmdsby1GcmVuY2gKK0FuZ2xvbWFuaWEKK0FuZ2xvLU5vcm1hbgorYW5nb3JhL01TCithbmltYWwvUThTLXFNCithbmltYWxjdWxhcgorYW5pc2VlZC9TTQorYW5raC9TTQorQW5uYS9NCithbm5paGlsYXRlL05TblZERworYW5udWxpCithbm51bQorYW5vbWFseS9TTQorYW5vcGhlbGVzL00KK0FudGFuYW5hcml2by9NCithbnRlY2VkZW50L1lNUworYW50ZW5uYWUKK2FudGhyb3BvbW9ycGhpYy9ZCithbnRpY2xpbWFjdGljL1kKK2FudGloaXN0YW1pbmUvTVMKK2FudGktbnVjbGVhcgorYW50aXF1YXRlL0dTRAorYW50aXJlZGVwb3NpdGlvbgorYW50aXN0YXRpYworYW50aXRhbmsKK2FudGl2ZW5pbi9TTQorQW50b2luZS9NCithbnZpbC9ER1NNCithbnlvbmUvTQorYW9yaXN0CitBcGFjaGUvU00KK2FwZS9NMUd3U0QKK2FwZXIvQQorYXBlcml0aWYvUworQXBocm9kaXRlL00KK2FwaWFyeS9TM00KK2Fwb2xpdGljYWwvWQorYXBvbG9nZXRpYy9TWQorYXBvbG9nZXRpY3MvTQorYXBvcGxlY3RpYworYXBvc3RsZXNoaXAvTVMKK2Fwb3N0cm9waGUvUThTTQorYXBvdGhlY2FyeS9NUworYXBwYWwvRFNHaworYXBwYXJlbnQvUFkKK2FwcGVhci9HQURTRQorYXBwZXRpemluZy9VWQorYXBwbGF1ZC9SU0RHCithcHBsaWNhYmlsaXRpZXMKK2FwcGxpY2FiaWxpdHkvTUkKK2FwcGxpZXMvQWEKK2FwcG9pbnRlZC9FQQorYXBwcmFpc2VyL01TCithcHByZW50aWNlc2hpcC9TTQorYXBwcm9hY2hhYmlsaXR5L00KK2FwcHJveGltYXRpb24vTQorYXB0aXR1ZGUvU00KK2FxdWEvTVMKK2FxdWFtYXJpbmUvU00KK2FxdWF2aXQvU00KK2FxdWVkdWN0L1NNCitBcXVpbmFzCithcXVpdHRhbAorQXJhY2huaWRhCithcmJpdHJhbWVudC9NUworYXJjYW5hL00KK2FyY2gtZW5lbXkvU00KK0FyY2hpYmFsZC9NCithcmNobmVzcy9TCitBcmRlbi9NCithcmR1b3VzbmVzcy9TCithcmVhd2lkZQorYXJlb2xhZQorYXJnZW50L00KK0FyZ2VudGluYS9NCithcmdvdC9TTQorYXJndWVzL2UKK2FyZ3ktYmFyZ3kvU0QKK0FyZ3lsbC9NCithcmlnaHQKK2FyaXNlL1NHSgorYXJtYWRpbGxvL1NNCitBcm1lbmlhbi9NCitBcm5vbGQvTQorYXJvbWF0aGVyYXBpc3QvTVMKK2Fyb21hdGhlcmFweS9TCithcnJheWVyCithcnJlYXJhZ2UKK2FydGljaG9rZS9TTQorYXJ0aWN1bGF0ZS9uUFNHeVlETlYKK2FydHkvM1RQCithc2NlbnQvTVMKK2FzZXh1YWxpdHkvU00KK0FzaGxleS9NCithc2ltaWxhcgorYXNrL0RSU0cKK2Fza2FuY2UKK2Fza2V3bmVzcworYXNwaGFsdC9TR0RNCithc3BoeXhpYS9NU24KK2Fzc2Fzc2luL05Tbk0KK2Fzc2F1bHQvR1NWdU12RAorYXNzZXJ0cy9BCithc3Nlcy9HRAorYXNzZXZlcmF0aW9uL00KK2Fzc2lnbmF0aW9uL00KK2Fzc2ltaWxhYmxlCithc3Npc3RhbmNlL01TCithc3Npc3RhbnQvTVMKK2Fzc29ydC9HRExTCithc3N1bWVyL00KK2Fzc3VyZWQvUFkKK2Fzc3VyZXIvTVMKK2FzdGF0aW5lL1NNCitBc3Rvci9NCitBc3RyYWtoYW4KK2FzdHJvbmF1dGljcy9NCithc3R1dGVuZXNzL1MKK2FzeW1tZXRyeS9Xd1MxTQorYXRod2FydAorQVRNL00KK2F0b20vUXMtOThNcVMKK2F0cm9jaW91c25lc3MvUworYXRyb2NpdHkvU00KK2F0dGFjay9SU0RHN00KK2F0dGVtcHQvRFJHUworYXR0ZW50aXZlbmVzcy9JUworYXR3aXR0ZXIKK2F1ZGlvbG9neS9TM013CithdWRpb21ldGVyL1NXTQorYXVkaW90YXBlL1MKK0F1ZHJleS9NCithdWdlci9NUworYXVnaXRlCitBdWd1c3R1cworYXVudHkvTVMKK2F1cm9yYWUKK2F1cm9yYWwKK2F1dGhlbnRpY2F0ZWQvVQorYXV0aG9yaXRhdGl2ZW5lc3MvUworYXV0aG9yaXplZC9BVQorYXV0b2JhaG5lbgorYXV0b2NsYXZlL01EU0cKK2F1dG9jcmFjeS9TTQorYXV0b2lnbml0aW9uL00KK2F1dG9tYXRpc20vU00KK2F1dG90cmFuc2Zvcm1lci9NCitBVgorYXZhbnQtZ2FyZGUvMworYXZlbmdlL0RHUlMKK2F2ZW51ZS9TTQorYXZpYW4vUworYXZpYXRvci9NUworYXZpZG5lc3MKK0F2aXMvTQorYXZ1bmN1bGFyCitBV0FDUworYXdhaXQvU0RHCithd2FyZW5lc3MvVQorYXdhcmVuZXNzZXMKK2F3ZXNvbWVuZXNzL1MKK2F3aW5nL2MKK2F3b2tlbgorQVdPTAorYXdyeS9UCitBeGVsL00KK2F4aW9sb2d5L00xdworYXllL01TCitBemlraXdlL00KK2JhYnlob29kL01TCitiYWJ5c2F0CitiYWNjaGFuYWxpYQorQmFjY2h1cworYmFjaGVsb3IvTVMKK2JhY2tiaXRlL1JTCitiYWNrYm9hcmQvU00KK2JhY2ticmVha2luZworYmFja2NoYWluaW5nCitiYWNraGFuZC9oUk1TR0QKK2JhY2tsZXNzCitiYWNrb3JkZXIKK2JhY2tzdGFiYmVyL00KK2JhY2tzdHJlZXQvTQorYmFjay10by1iYWNrCitiYWQvUFkKK0JhZmZpbi9NCitiYWl0ZXIvTQorQmFrZWxpdGUvTQorYmFsYW5jZS9ETUlTCitiYWxhbmNlci9TTQorYmFsZC9QR1lURFoKK0JhbGkvTQorYmFsbGFkZWVyL01TCitiYWxsZXJpbmEvTVMKK2JhbGxwb2ludC9NUworYmFsbHMvWgorYmFsbS9NMlpTCitCYWx0aWMvTQorQmFsdGltb3JlL00KK0JhbHphYy9NCitiYW5kcy9FCitiYW5lL002agorQmFuZ2Fsb3JlL00KK0JhbmdsYWRlc2hpL00KK2JhbmpvL1NNCitiYW9iYWIvTVMKK0JhcmJhZG9zL00KK2JhcmJhcmljL1kKK0JhcmNsYXkvTQorYmFyZWxlZ2dlZAorYmFybWFuL00KK0Jhcm5ldHQvTQorYmFybnN0b3JtL0dSRFMKK2Jhcm9xdWUvU1lNCitiYXJyYWN1ZGEvU00KK2JhcnJhZ2UvU01ERworYmFycmUvU01KCitiYXJ0ZXIvcmRTCitiYXNlYm9hcmQvTVMKK2Jhc2VkL0MKK2Jhc2hmdWxuZXNzL1MKK2Jhc2ljL1MKK2Jhc2tldGJhbGwvTVMKK2Jhc3NvL1MzTQorQmF0ZW1hbi9NCitiYXRoL1NSR01ECitiYXRtZW4KK2JhdHRlbi9NZFMKK2JhdWQvTQorYmF6b29rYS9TTQorYmRybQorYmVhay9NRFJTCitiZWFyYWJseS9VCitCZWFyZHNsZXkvTQorYmVhc3RsaW5lc3MvUworYmVhdC9TbFJHN0oKK2JlYXRpZnkvV0RHblMxTgorYmVhdXRpY2lhbi9NUworYmVhdXRpZmljYXRpb24vTQorYmVkYXViL0RTRworQmVkZm9yZC9NCitCZWRmb3Jkc2hpcmUvTQorYmVkcm9vbS9TRE0KK2JlZHNoZWV0cworYmVkc3RlYWQvTVMKK2JlZWNoZXIKK2JlZS1rZWVwaW5nL00KK2JlZWxpbmUvR1NECitiZWVyeS9UCitiZWdhbgorYmVnZ2FyL2RNU1kKK2JlZ290CitiZWd1bS9TTQorYmVoYXZlL1NhR0QKK2JlaGVsZAorYmVoaW5kL1MKK2JlbGllci9NCitiZWxsL1NHbU1EWQorYmVsbGV0cmlzdC9TTVcKK2JlbGxpZ2VyZW5jeS9TTQorYmVsb3ZlZC9TCitiZW1pcmUvU0RHCitCZW4vTQorYmVuY2hlci9NCitiZW5kL1NVRworYmVuZWF0aAorYmVuaWduaXR5L1NNCitCZW5uZXR0L00KK2JlbnplbmUvU00KK0Jlcmdlbi9NCitCZXJrCitCZXJsaW96L00KK0Jlcm5hcmRpbm8vTQorQmVydC9NCitiZXNlZWNoL1JEa1NHSgorYmVzcG9rZQorYmVzdC9TR0QKK2JldGhpbmsvU0cKK2JldHJheWFsL1NNCitiZXR0ZXIvZEwKK0JldWxhaC9NCitCZXZlcmx5CitiZXdoaXNrZXIKK2Jld2l0Y2gvTERTa0cKK2JpYXMvTURTRworYmlibGlvZ3JhcGhlci9TTQorYmlkaWFnb25hbAorYmlnaGVhcnRlZAorYmlnaHQvTUdEUworYmlnbW91dGgvTVMKK2JpbGF5ZXIvUworYmlsYmVycnkvU00KK2JpLWxldmVsCitiaWxpbmd1YWwvWVMKK2JpbGlvdXMvUAorYmlsay9EUkdTCitiaWxsb3d5L1QKK2JpbGx5L01TCitiaWxseS1nb2F0CitiaW1ldGFsbGlzbS9TTQorYmltb250aGx5L1MKK2JpbmRlcnkvU00KK2JpbmdlL0RHTVMKK0JpbmdoYW0vTQorYmlvZXRoaWNzCitiaW9tb3JwaAorYmlvcGh5c2ljL1MzWQorYmlvcGljL1MKK2Jpb3NjaWVuY2UvUworYmlwZWRhbAorYmlyZGNhZ2UvTVMKK2JpcmVmcmluZ2VudAorYmlzZXh1YWwvTVNZCitiaXNob3ByaWMvU00KK0Jpc21hcmsvTQorYmlzcXVlL01TCitiaXRibHQvUworYml0Y2h5L1RQCitiaXR0ZXJuL01TCitiaXR1bWlub3VzCitiaXZhcmlhdGUKK2Jpei9NCitiaworYmxhY2tiaXJkL0dTTUQKK2JsYWNrZ3VhcmQvU0RZR00KK2JsYWNraW5nL00KK2JsYWNrbGlzdGVyCitCbGFpci9NCitibGFua2V0L2RTTQorYmxhcmUvR0RTCitibGVtaXNoZWQvVQorQmxldmlucworYmxpbmRmb2xkL0RTRworYmxpbmRuZXNzL1MKK2JsaW5raW5nL1UKK2Jsb2NraGVhZC9TTQorYmxvY2sncworYmxvb2RiYXRoL1MKK2Jsb29kaW5lc3MvUworQmxvb21maWVsZC9NCitibG93L1JHWlMKK2Jsb3ctZHJpZXIKK2Jsb3dmaXNoL00KK2Jsb3duL2MKK2Jsb3d0b3JjaC9NUworQmx1Y2hlci9NCitibHVlYm9vay9NCitibHVlLWdyZWVuCitibHVlcHJpbnQvR1NNRAorQmx1bS9NCitibHVyYi9HU0RNCitibHZkCitib2FyZGluZy9NCitib2FyZHJvb20vU00KK2JvYi9NREdTWgorYm9iY2F0L1NNCitCb2NhL00KK2JvZGljZS9TTQorYm9kaWVkL00KK2JvZHktYnVpbGRpbmcKK0JvaGVtaWEvTQorYm9pbGVyL01TCitib2xlL01TCitib2xsb2NraW5nCitib2xsb2NrcworQm9sdG9uL00KK2JvbmEgZmlkZQorYm9vYi9NRFpHUworYm9vay83R01EUkpTCitib29rZW5kL0RTRworYm9va21ha2luZy9NCitib29rc3RhbGwvU00KK2Jvb2tzeQorYm9va3dvcm0vTVMKK0Jvb25lL00KK2Jvb3Jpc2huZXNzL1MKK2Jvb3N0ZXJpc20KK2Jvb3QvU0FHRAorYm9vdGJsYWNrL1NNCitib3JlZG9tL01TCitib3JvdWdoL01TCitCb3NuaWEvTQorQm9zbmlhbi9TTQorYm9zb20vVWRTCitCb3N3ZWxsL00KK2JvdC9TCitib3R0b21lcgorYm91bnRlb3VzbmVzcy9TCitib3VudHkvNkRqU00KK2JvdXF1ZXQvTVMKK2Jvd2RsZXJpemUvTm5EU0cKK0JveWNlL00KK2JveWNvdHRlci9NCitib3lob29kL1NNCitib3lpc2gvUFkKK0JSL00KK0JyYWhtYS9NCitCcmFobWFwdXRyYS9NCitCcmFobXMKK2JyYWluc3Rvcm1lcgorQnJhaW50cmVlL00KK2JyYW5jaGxpa2UKK2JyYW5kL01SR1pTRAorYnJhcy8yR3paRAorYnJhc3N5L1RTUAorQnJhdGlzbGF2YS9NCiticmF3bC9NUkdTRAorYnJheWVyL00KK2JyYXplbi9kWVAKK0JyYXppbGlhbi9TTQorYnJlYWNoL0RSU0dNCiticmVhZGJveC9TCiticmVhbS9EU0cKK2JyZWFzdC9ER01TCiticmVhc3RmZWVkL0cKK2JyZWF0aGUvUworYnJlZWNoLWxvYWRlcgorYnJlZWQvTVJHUworQnJlbmRhL00KK0JyZW5uZXIvTQorYnJldml0eS9NUworYnJld2luZy9NCiticmlja2JhdC9NUworYnJpZGdlYWJsZS9VCitCcmlkZ2VuZC9NCitCcmlkZ2Vwb3J0L00KK2JyaWRnaW5nL00KK2JyaWVmY2FzZS9NUworYnJpbGxpYW50L1BTWQorQnJpdC4KK0JyaXRpc2gvUlkKK0JyaXRvbi9TTQorYnJpdHRsZW5lc3MvUworYnJvYWQvVFlTCiticm9hZHNoZWV0L1NNCiticm9jaHVyZS9TTQorYnJvbWluZS9NCitCcm9ueC9NCiticm9uemVkL00KK2Jyb256ZXIKK2Jyb29keS9UUAorYnJvdGhlci9kWQorYnJvdGhlcmhvb2QvTVMKK2Jyb3diZWF0L0dTCitCcnVuc3dpY2svTQorYnJ1c2gtdXAKK2JydXNod29yay9TTQorQnJ5YW4vTQorQlNBCitidWNrZXRmdWwvU00KK2J1Y2tleWUvTVMKK2J1Y2tob3JuL00KK0J1Y2tpbmdoYW1zaGlyZS9NCitidWNrbGUvUkdTTUQKK2J1Y2tzaG90L01TCitidWNrd2hlYXQvU00KK0J1ZGRoaXNtL00KK2J1ZmZhbG9lcworYnVmZmVkL0EKK0J1Z2F0dGkvTQorYnVnYmVhci9NUworYnVnJ3MKK2J1bGltaWMKK2J1bGxkb2cvTVMKK2J1bGxldGluL01kUworYnVsbGZyb2cvU00KK2J1bGxoaWRlCitidWxsaXNoL1BZCitidWxscmluZy9TTQorYnVsd2Fyay9NR0RTCitidW1wdGlvdXNuZXNzL1MKK2J1bi9NWlMKK2J1bmNvJ3MKK2J1bmRsZXIvTQorYnVuZ2VlL1NNCitidW5ueS9NUworQnVuc2VuL00KK0J1cmJlcnJ5L00KK2J1cmVhdS9NUworYnVyZ2gvUk1TCitidXJnb21hc3Rlci9TTQorQnVybGluZ2FtZS9NCitidXJseS9UUAorQnVybmUvTQorYnVybm9vc2UvU00KK2J1cnJvdy9ETUdTUgorYnVyc2FlCitidXNobWFzdGVyL01TCitidXNoeS9UUAorYnVzbWFuL00KK2J1c3RhcmQvTVMKK2J1c3kvUFNZVEdECitidXR0LWVuZC9TCitCdXR0ZXJmaWVsZC9NCitidXR0cmVzcy9TR0RNCitidXhvbW5lc3MKK0J1eHRvbi9NCitidXliYWNrL1MKK2J1eXMvYworYnlwYXNzL01EU0cKK2J5LXByb2R1Y3QvU00KK2NhYnJpb2xldC9TTQorY2FjY2lhdG9yZQorY2FkZW50L0MKK2NhZGV0L01TCitjYWRtaXVtL00KK2NhZWNhbAorY2FnZS9HRHpSMk1TCitjYWxhYmFzaC9TTQorY2FsY2l1bS9NCitjYWxjdWxhYmlsaXR5L0lNCitjYWxjdWxhdGUvaVZEU0drQmhObgorQ2FsZ2FyeQorY2FsaWJyZS9NblNOCitDYWxpZm9ybmlhL00KK2NhbGlwaGF0ZS9TTQorY2FsbC9SU0dESjcKK2NhbGxlZS9NCitjYWxsLWdpcmwvUworY2FtYXJhZGVyaWUvU00KK2NhbWVsLWhhaXIKK0NhbWlsbGEKK2NhbW91ZmxhZ2UvR0RSU00KK2NhbXBzL0MKK2NhbmFyeS9NUworY2FuZGlkZXIKK2NhbmRsZWxpZ2h0L1NNCitjYW5uZWxsb25pCitjYW5uaWVzdAorY2Fubm9uYWRlL01HRFMKK2Nhbm5vdAorY2FubnVsYQorY2Fub25pc3QKK2NhbnRlci9kCitDYW50b25lc2UKK2NhcGFibGVyCitjYXBhY2l0YXRpdmUKK2NhcGFyaXNvbi9TTQorY2FwZS9CRFJNbFMKK2NhcGl0YWxpc20vU00KK2NhcGl0YWxpc3QvMVcKK0NhcGl0YW4KK2NhcHNpY3VtL01TCitDYXB0LgorY2FwdGlvdXNuZXNzL1MKK2NhcHRpdml0eS9TTQorY2FwdHVyZXMvQQorY2FyYWZlL1NNCitjYXJhbWVsL1E4U00KK2NhcmFwYXhlcworY2FyZGlnYW4vTVMKK2NhcmRpb3B1bG1vbmFyeQorY2FyaW5nL1UKK0Nhcmxpc2xlL00KK0Nhcm1pY2hhZWwKK2Nhcm5lbGlhbi9NUworY2FybmV0L1NNCitjYXJuaXZvcmUvTVMKK2Nhcm91c2VsL1NNCitjYXJwZWwvU00KK2NhcnBvb2wvRFNHCitjYXJyaWFnZXdheS9NUworY2Fycm90eS9UCitDYXJ0ZXNpYW4KK2NhcnRmdWwvUworQ2FzYWJsYW5jYQorY2FzZS1oYXJkZW4vZFMKK2Nhc2Vpbi9NUworY2FzZXdvcmsvUlNNCitjYXNrL1NNR0QKK2Nhc3QvUlNHSk0KK2Nhc3RpZ2F0ZS9TbkRORworQ2FzdGlsbG8vTQorY2FzdC1vZmYvUworY2FzdG9yL01TCitDYXRhbG9uaWEKK2NhdGNoL0xSR1o3UworY2F0Y2h1cC9TTQorY2F0ZWdvcml6ZS9BR1NECitjYXRlZ29yeS93cThXOVFzLVNNMQorY2F0aG9kYWwKK2NhdGhvbGljbHkKK2NhdWxpZmxvd2VyL1NNCitjYXVzYXRlL3ZWCitjYXV0ZXJpemUvTlNER24KK2NhdXRpb3VzbmVzc2VzCitjYXZlLWluCitjYXZpdHkvRk1TCitDQ1RWCitjZWRhci9NUworY2VsZWJyYXRlZC9VCitjLmVsZWdhbnMKK2NlbGxhcmVyL00KK2NlbGxvL1MzTQorY2VsbG9waGFuZS9TTQorY2VsbHVsaXRlCitDZWxzaXVzCitjZW5vdGFwaC9TTQorY2VudGVubmlhbC9ZCitjZW50aW1ldHJlL01TCitjZW50cmFsaXNtL00KK2NlbnRyYWxpemUvQ0ROU0FuRworY2VudHJpYy9GCitjZW50cmlmdWdhdGlvbi9NCitDZXJlcworY2VydGFpbmVzdAorY2VydGlmaWNhdGUvU0RNCitDZXNzbmEKK0NoYWR3aWNrL00KK2NoYWZmZXIvcmQKK2NoYWdyaW5lZAorY2hhaW5zYXcvRFNHCitjaGFpc2UvTVMKK2NoYWxraW5lc3MvUworY2hhbGtsaW5lCitjaGFtYmVybGFpbi9TTQorY2hhbWZlci9kU00KK2NoYW5jZWxsb3IvTVMKK2NoYXAvU0RNRworY2hhcGVyb25lL1NNCitjaGFyZ2VkL1UKK2NoYXJpc21hdGEKK2NoYXJpc21hdGljL1UKK0NoYXJsb3R0ZXN2aWxsZQorY2hhc3Rlbi9TZAorY2hhdHRlbC9TTQorY2hhdHRlci9kU3IKK2NoYXR0ZXJib3gvU00KK2NoYXV2aW5pc3QvTVNXMQorY2hlY2thYmxlCitjaGVja2VkL1UKK2NoZWVyZnVsL1RQCitjaGVlcmZ1bG5lc3MvUworY2hlZXNlYm9hcmQKK2NoZWVzZWNha2UvU00KK2NoZWVzZXBhcmluZy9TCitDaGVuCitjaGVxdWVyL2QKK2NoZXJpc2gvR0RTCitjaGVydWJpbS9TCitjaGVzdC82WlNETQorQ2hldnkKK2NoZXdpbmVzcy9TCitDaGljYWdvL00KK2NoaWNhbmUvTURHU3kKK0NoaWNhbm8vU00KK2NoaWNoaS9UUworY2hpZmZvbmllci9NUworY2hpZ25vbi9TTQorY2hpbGRlcworY2hpbGRtaW5kZXJzCitjaGltYWVyYS9NdworY2hpbW5leS9ETVMKK2NoaW5hL1NNCitDaGlwcGV3YQorY2hpcHBpZQorQ2hpcmFjL00KK0NoaXNob2xtCitjaGl0L1NNCitjaGl0Y2hhdC9EU01HCitjaGl2ZS9TTQorY2hsb3JpZGUvU00KK2Nob2NrLWEtYmxvY2sKK2Nob2xlci9TTQorY2hvcmQvR1NETQorY2hvdy9HU01ECitjaHJpc20vTVMKK0Nocmlzc2llCitDaHJpc3RlbnNlbi9NCitDaHJpc3RvcGgvTQorY2hyb21hdG9ncmFwaHkvTQorY2hyb21lL01XR0QKK2Nocm9ub2xvZ3kvMTNTTXcKK2NodWNrbGUvRGtHUworY2h1bmsvWlNHTTJECitjaHVua2luZXNzL1MKK2NodXJjaGdvZXIvTVMKK0NodXJjaGlsbC9NCitjaHVyY2h5YXJkL01TCitjaHVybGlzaG5lc3MvUworY2luY3R1cmUvTUdEUworY2luZW1hdG9ncmFwaHkvV1NNCitjaXJjdWl0b3VzbmVzcy9TCitjaXJjdWxhcml0eS9NUworY2lyY3VsYXRlZC9BCitjaXJjdW1sb2N1dG9yeQorY2l0ZS9uQUdORFMKK2NsYWltYWJsZQorY2xhbXAvU0dNRAorY2xhbm5pc2gvWVAKK0NsYXB0b24KK0NsYXJlL01aCitDbGFyZW5kb24vTQorY2xhcmlmaWVyL00KK2NsYXNoZXIvTQorY2xhc3NpYy8zUworY2xhc3NpY2FsLzMKK2NsYXNzaWNzL00KK2NsYXNzaWZpZWQvUworY2xhc3NpZmllcy9DQQorY2xhc3NsZXNzbmVzcworY2xhc3MtbGlzdAorY2xhdHRlcmVyL00KK2NsYXZpY2xlL1NNCitjbGVhcmluZy1ob3VzZS9TCitjbGVyZXN0b3J5L1NNCitjbGV2aXMvU00KK0NsaWZ0b24vTQorY2xpbWJkb3duCitDbGlvCitjbGlxdWllc3QKK0NsaXZlCitjbG9jay9TRE1SR0oKK2Nsb2QvU01HRAorY2xvc2FibGUKK2Nsb3VkLWN1Y2tvby1sYW5kCitjbG91ZGluZy9jCitjbG93bmlzaC9QWQorY2x1YmJlZC9NCitjbHVuZworQ05OCitjb2FsL1NHTUQKK2NvYWxlc2NlL0dEUworY29hcnNlbmVzcy9TCitjb2F0LWhhbmdlcgorY29iYWx0L00KK2NvY2stZXllZC9ZCitjb2NrLW9mLXRoZS1yb2NrCitjb2NreS9UUAorY29kL3JNZFNERworY29kZXgvTQorY29lcmNpdmUvUFkKK2NvZmZpbi9kTVMKK0NvZmZtYW4KK2NvZ2l0YXRvci9TTQorY29nbmFjL01TCitjb2duaXRpdmUvU1kKK2NvaGFiaXQvbmQKK2NvaGFiaXRhdGlvbi9vCitjb2luY2lkZW50L1kKK2NvbGFuZGVyL1NNCitjb2xkL1RQU1kKK0NvbGV0dGUvTQorY29saXNldW0vTVMKK2NvbGxhYm9yYXRpb24vM00KK2NvbGxhYm9yYXRvci9NUworY29sbGFwc2UvYgorY29sbGFwc2liaWxpdHkvTQorY29sbGFyL3BkTVMKK2NvbGxhdGlvbi9NCitjb2xsaWUvTVJ5RAorY29sbGltYXRpb24vTQorY29sbHVzaW9uL00KK2NvbG9nbmUvU01ECitDb2xvbWJpYW4vUworY29sb25uYWRlL0RTTQorY29sb3NzaQorY29sb3VyZnVsbmVzcy9TCitjb2xvdXJpbmcvTQorY29sb3VybGVzc25lc3MKK2NvbG91cnMvQUUKK2NvbHRlci9NCitDb2x3eW4vTQorY29tYXRvc2UKK2NvbWJpbmF0aW9uJ3MvQQorY29tYmluYXRvcmlhbAorY29tYmluYXRvcmljL1MKK2NvbWJpbmVyL1NNCitjb21lc3RpYmxlL01TCitjb21mb3J0L0VHTVNEaworY29tbWVuZC9BblM3REcKK2NvbW1lbnQncworY29tbWVyY2lhbGlzbS9TTQorY29tbWlzc2FyaWF0L01TCitjb21taXR0ZWQvY1UKK2NvbW1vbi1sYXcKK2NvbW1vbndlYWx0aC9TTQorY29tbXVuaXNtL01TCitjb21tdW5pc3QvVworY29tbXVuaXR5L1NNCitjb21tdXRhdGUvVnYKK2NvbXBhY3QvVFJQRFlHCitjb21wYWN0bmVzcy9TCitjb21wYW5pb25hYmxlL1AKK2NvbXBhbnkvU01ERworY29tcGFyYXRpdmUvUFMKK2NvbXBhcmUvdVZ2R0JsCitjb21wYXNzL00KK2NvbXBlZXIKK2NvbXBldGVuY2UvTVNaSQorY29tcGV0ZW5jeSdzCitjb21wZXRpdGl2ZW5lc3MvUworY29tcGV0aXRvci9TTQorY29tcGxldGVyL00KK2NvbXBsZXRpbmcKK2NvbXBsaWNhdGVkbHkKK2NvbXBsaWNhdGVkbmVzcy9NCitjb21wbGltZW50L1JHRAorY29tcG9zdC9HCitjb21wb3N1cmUvTUVTCitjb21wb3RlL1NNCitjb21wcmVoZW5kL051WFNEdkdWCitDb21wdG9uL00KK2NvbXB1bmN0aW9uL1NNCitjb21wdXRlci9ROHEtCitjb21wdXRlci1saXRlcmF0ZQorY29uY2VudHJhdG9yL01TCitjb25jZXB0L3hTVm9NCitjb25jZXB0dWFsLy1ROHEKK2NvbmNlcm5pbmcKK2NvbmNlc3Npb24veW8KK2NvbmNlc3Npb25lcgorY29uY2lzZS9UWVBOWAorY29uY3JldGVuZXNzL1MKK2NvbmNyZXRlcgorY29uY3JldGlvbi9NCitjb25jdXNzL05YVgorY29uZHVjdGl2aXR5L1NNCitjb25lL01aUworY29uZmVjdC9TCitjb25mZWN0aW9uZXJ5L1NNCitjb25mZXNzL0dYeGhETgorY29uZmlndXJlZC9LCitjb25maXJtYXRvcnkKK2NvbmZvcm1pc20vU00KK2NvbmZ1c2Uva1JoaQorY29uZ2VzdC9EVlNHCitjb25ncnVlbmNlJ3MvSQorY29uamVjdHVyZXIvTQorY29uanVuY3RpdmEvTVMKK2Nvbmp1cmUvTlJHU25ECitDb25sZXkvTQorQ29ubmVjdGljdXQKK2Nvbm5lY3RpbmcvRQorQ29ucmFpbC9NCitjb25zY2llbmNlLXN0cmlja2VuCitjb25zY2llbnRpb3VzbmVzcy9TCitjb25zZWNyYXRpdmUKK2NvbnNlbnN1cy9TTQorY29uc2lkZXJlZC9VCitjb25zaWRlcmluZy9TCitjb25zaWduZWUvU00KK2NvbnNpcHJhdGlvbmFsbHkKK2NvbnNvbGlkYXRlL0ROR25TCitjb25zdGFidWxhcnkvU00KK2NvbnN0YW5jZS9aCitjb25zdGVybmF0aW9uL00KK2NvbnN0aXR1dGlvbmFsLzNZUworY29uc3RyaWN0L1NEVkcKK2NvbnN0cnVjdGFibGUKK2NvbnN1bGFyL1MKK2NvbnN1bWVyaXN0Citjb25zdW1wdGlvbi9NYworY29udGVtcHQvYk0KK2NvbnRlbXB0dW91c25lc3MvUworY29udGVudGVkL1AKK2NvbnRlcm1pbm91cy9ZCitjb250ZXN0YWJsZS9JCitjb250ZXN0YW50L1NNCitjb250aW5nZW50L01ZUworY29udGludWVkL0UKK2NvbnRpbnVlcy9FCitjb250cmFyaWV0eS9TTQorY29udHJvdmVyc2lhbC9VWQorY29udHJvdmVyc3kvU01vCitjb250dXNlL1hHU05ECitjb252ZXJzaW9uJ3MvQQorY29udmV5YW5jZS9EUlNHTQorY29udml2aWFsL1kKK2NvbnZpdmlhbGl0eS9NUworY29udnVsc2l2ZS9QCitjby1vY2N1cnJlbmNlCitjb29rYm9vay9NUworY29vaydzCitjby1vcAorY29waW5nL00KK2NvcHJhL1NNCitjb3BzZS9NCitjb3B1bGF0aXZlL1MKK2NvcHl3cml0ZXIvTVMKK0NvcmJldHQvTQorQ29yYnkKK2NvcmRpbGxlcmEvTVMKK2NvcmRvdmFuL01TCitDb3JuZWxsL00KK2Nvcm5mbG93ZXIvU00KK2Nvcm51Y29waWEvU00KK2Nvcm9sbGEveU1TCitjb3JvbmEveVNuTQorY29ycG9yYXRpc20vTQorY29ycG9yZWFsbmVzcy9NCitjb3Jwc2UvTQorY29ycmVzcG9uZC9rCitjb3JyaWRvci9TTQorY29ycnVwdG5lc3MvUworY29yc2Fpci9TTQorY29ydGlzb25lL1NNCitjb3J2ZXMKK2Nvc2lnbmF0b3J5L1NNCitjb3R0YWdleQorY291Y2hpbmcvTQorY291bGRuJ3QKK2NvdW50ZXItYXR0YWNrL1NSTURHCitjb3VudGVybWVhc3VyZS9TTQorY291bnRlcnNpbmsvU0cKK2NvdXJhZ2UncworY291cnNld29yaworY291cnRlb3VzbmVzcy9TRQorY291cnRlc2FuL01TCitjb3Zlbi9TTQorY292ZXJpbmcvRQorY293YXJkL1NNWQorY293YXJkbHkvUAorY293YmVsbC9TTQorQ293ZXMKK2Nvd2dpcmwvU00KK0Nvd2xleQorY293bGluZy9NCitjcmFja2x5L1QKK2NyYWdneS9UUAorQ3JhaWdhdm9uL00KK2NyYXBlL1NNCitjcmVhdGFibGUKK2NyZWF0ZXMvQQorY3JlYXRpb24vTUFTCitjcmVhdGlvbmlzbS9TTQorY3LoY2hlL01TCitjcmVkaXRhYmlsaXR5L00KK2NyZWR1bG91c2x5L0kKK2NyZXNjZW5kbydzL0MKK2NyaWNrL0RTTUcKK2NyaWVzL2UKK2NyaW1lL0RHU00KK2NyaW1pbmFsaXR5L01TCitjcmlua2x5L1RTCitjcmlub2xpbmUvTVMKK2NyaXNweS9UUAorY3JpdGljYWwvVVkKK2NyaXR0ZXIvU00KK0Nyb2F0aWEvTQorY3JvY2tlci9aCitjcm9mdC9NR1NSCitDcm9td2VsbGlhbgorY3Jvb2svRFNpTWhHCitjcm9wL0dTZU1ECitjcm9zc2JlYW0vTVMKK2Nyb3NzLWJyZWVkL0dTCitjcm9zcy1wbHkKK2Nyb3NzLXBvbGFyCitjcm9zc3Byb2R1Y3QvUworY3JvdGNoZXR5L1AKK2Nyb3diYXIvU01HRAorY3J1Y2lmb3JtL1MKK2NydWNpZnkvREdSUzcKK2NydWVsdHkvU00KK2NydW1wZXQvTVMKK0NydXNvZQorY3J5b2dlbmljcy9NCitjcnlwdC9NVzFTCitjcnlwdG9ncmFtL01TCitjcnlwdHMvQworY3J5c3RhbC9NUworY3J5c3RhbC1jbGVhcgorY3J5c3RhbGxpc2VyL1NNCitjcnlzdGFsbGl6ZWQvQQorQ1NVCitjdWJlci9NCitjdWJpc20vU00KK0N1bGJlcnRzb24vTQorY3VsLWRlLXNhYworY3VscHJpdC9TTQorY3VwL0RNNkdTCitDdXBlcnRpbm8vTQorY3VyYXJlL01TCitjdXJyYW50L01TCitjdXJyaWN1bGFyCitjdXJyaWN1bHVtL00KK2N1cnMvR3lpaFNECitjdXJ2YWNlb3VzL1kKK2N1cnZpbmcvTQorQ3VzaG1hbgorY3Vzc2VyL0ZFCitjdXN0b20tYnVpbHQKK2N5YW4vTVdTCitjeWJvcmcvUworY3ljbG9pZC9TTQorY3ljbG9wYWVkaWMKK2N5ZGVyL1NNCitjeXByZXNzL1NNCitjeXN0aXRpcworY3l0b2xvZ3kvM3dTTQorRGFnCitEYWdlbmhhbQorZGFpcnltYWlkL01TCitkYWxseS9SR0RTCitEYWx5CitkYW1hc2svRE1HUworRGFtaWVuCitkYW1uZXIKK2RhbXAvU0RUUlBHWQorRGFuYesKK2RhbmR5L1RZTVMKK0RhbmlzaAorZGFua25lc3MvUworRGFudGUKK2RhcHBlci9QWQorZGFwcGxlL0RTRworZGFyZS9SRGtHUworZCdBcmV6em8KK0RhcmlvCitkYXJuL0RSR1MKK0RhcnJlbgorRGFydG1vb3IvTQorRGF0YW1hdGlvbgorZGF0ZWRuZXNzL2UKK2RhdWIvRFJHUworRGF2ZW5wb3J0L01TCitkYXliZWQvUworZGF5dGltZS9TTQorRERUCitkZWFkZW5pbmcvTQorZGVhZHBhbgorZGVhci9UUFlaUworZGVhcm5lc3MvUworZGVhdGhiZWQvTVMKK2RlYmFya2F0aW9uL00KK2RlYmF0YWJsZQorZGVjYWwvU00KK2RlY2VsZXJhdGlvbi9NCitkZWNlcHRpdmUvUFkKK2RlY2lkZWRuZXNzL00KK2RlY2lzaW9uZWQKK2RlY2xlbnNpb24vU00KK0RlY28KK2RlY29sbGV0ZXMKK2TpY29yL1NNCitkZWNvcm91cy9JUFkKK2RlY3JlYXNlL2sKK2RlZXBuZXNzL1MKK2RlZXAtc2VhdGVkCitkZWVyc2tpbi9TTQorZGVmZWF0L1JHM0QKK2RlZmVjdG9yL1NNCitkZWZpbml0ZW5lc3MvSVMKK2RlZmxlY3QvR1NWRAorZGVmb2xpYW50L01TCitkZWZ5L1JTa0RHCitkZWdhdXNzL0dECitkZWdyYWRhYmxlCitkZWxldGFibGUKK2RlbGZ0d2FyZS9TCitkZWxpY2lvdXMvUFkKK2RlbGlyaW91c25lc3MvUworZGVsaXJpdW0vTVMKK2RlbGl2ZXJlZC9VCitkZWxpdmVyZXIvU00KK2RlbHRvaWQvU00KK2RlbHVkZXIvTQorZGVtaS1tb25kZS9TTQorZGVtaXNlbWlxdWF2ZXIvUworZGVtby9HRE0KK2RlbW9saXRpb24vTVMKK2RlbW9uL1NXTQorZGVtb25pYWNhbC9ZCitkZW1vcmFsaXplL1IKK0RlTW9yZ2FuL00KK2RlbW90aW9uCitEZW5iaWdoc2hpcmUvTQorZGVuaWdyYXRpb24vTQorZGVuaW0vTVMKK2Rlbm91ZW1lbnQvU00KK2RlbnNpdG9tZXRlci9NV1MKK2RlbnQvU0lHRAorZGVvZG9yYW50L01TCitkZXBhcnRtZW50YWwvUTgtcQorZOlwYXlz6WUKK2RlcGljdGlvbi9TTQorZGVwcmF2ZXIvTQorZGVwdGgvU00KK2RlcHV0YXRpb24vTQorZGVyaXNpdmUvUAorZGVyaXNpdmVuZXNzL1MKK2Rlc2FsaW5hdGUvU05uR0QKK0Rlc2NhcnRlcworZGVzY3JpcHRpdmVuZXNzL1MKK2Rlc2VydGlvbi9NUworZGVzaXJvdXMvUFkKK2Rlc3BlcmF0ZW5lc3MvUworZGVzc2ljYXRlL05ECitkZXN0cnVjdGl2ZW5lc3MvUworZGV0YWluZXIvTQorZGV0ZWN0YWJpbGl0eS9VCitkZXRlcnJlZC9VCitkZXRlc3RhYmxlL1AKK2RldGVzdGF0aW9uL00KK2RldHJpbWVudC9Tb00KK2RldHJpbWVudGFsCitEZXR0aW5nZW4KK2RldmFzdGF0b3IvU00KK2RldmlhdGluZy9VCitkaWFiZXRpYy9TCitkaWFib2xpY2FsL1AKK2RpYWdub3N0aWNzL00KK2RpYWdyYW1tYXRpY2FsaXR5CitkaWFtYW506QorZGlhcGhyYWdtL01TCitkaWF0b25pYworZGliYmxlL01HRFMKK2RpY290eWxlZG9uL1NNCitkaWNvdHlsZWRvbm91cworZGllcy9VCitkaWV0YXJ5L1MKK0RpZXRyaWNoCitkaWZmZXJlbnRpYXRlZC9VCitkaWZmZXJlbnRpYXRpb24vTQorZGlmZnJhY3QvREdTCitkaWZmdXNlbmVzcy9TCitkaWZmdXNpdml0eS9NCitkaWdlcmF0aQorZGlncmFtCitkaWhlZHJhbAorZGlsZXR0YW50aXNoCitkaWxpZ2VuY2UvU00KK2RpbHVlbnQKK2RpbWUvTVMKK2RpbWVuc2lvbmFsaXR5L00KK2RpbWluaXNoZWQvVQorZGltaW51dGlvbi9TTQorZGltd2l0L0RNUworRGluYWgKK2Rpbm5lcndhcmUvU00KK2Rpb2Nlc2UvU00KK2Rpb2RlL01TCitkaXBsZXhlcnMKK2RpcGxvbWF0YQorZGlyZWN0L1R4UERHeVNZVgorZGlyZWN0aW5nL2EKK2RpcmVjdGlvbmFsaXR5CitkaXJlY3RyaXgvTQorZGlyZ2UvTVNERworZGlydGluZXNzL1MKK2Rpc2FybS9rCitkaXNjbG9zZQorZGlzY29sb3VyL05uaUdKCitkaXNjb21wb3NlL0QKK2Rpc2NyZXRpb25hcnkKK2Rpc2NyaW1pbmFudC9TTQorZGlzZGFpbi9qTURHNlMKK2Rpc2dyYWNlCitkaXNoL1NETUcKK2Rpc2xveWFsCitkaXNtZW1iZXIvZEwKK0Rpc25leS9NCitkaXNwZW5zYXRpb24vTQorZGlzcGVyc2FudC9NCitkaXNwb3NhbC9TTQorRGlzcHVyCitkaXNxdWlldC9rTQorZGlzcXVpc2l0aW9uL01TCitkaXNydXB0ZWQvVQorZGlzcnVwdGVyL00KK2Rpc3NpZGVuY2UvTVMKK2Rpc3NpcGF0ZWQvUAorZGlzc29sdXRlL1BZCitkaXN0aWxsYXRlL01TCitkaXN0aWxsZXIvWgorZGlzdGlsbGVyeS9NUworZGlzdG9ydGVkL1UKK2Rpc3RyaWJ1dG9yL01TCitkaXN0cmljdC9TTQorZGl2YW4vU00KK2RpdmUvUkpEVEdTCitkaXZlcnNlL1lQCitkaXZlc3RtZW50CitkaXZpZGVuZC9NUworZGl2aXNpYmlsaXR5L0lNUworZGl2b3QvU00KK0RKL00KK2RvY2tsYW5kL01TCitkb2Nrc2lkZS9NCitEb2RlY2FuZXNlCitkb2RnZW0vUworZG9nZS9NUworZG9nZm91Z2h0Citkb2dob3VzZS9NUworZG8tZ29vZGVyL1MKK2RvbGwvU0RNR1kKK2RvbG1lbi9NUworZG9tZXN0aWMvU25OWQorZG9taWNpbGlhcnkKK2RvbWluYXRpb25zCitkb21pbmF0aXZlCitkb21pbmF0cml4CitEb25pemV0dGkKK2RvbmtleS9TTQorZG9vci9EbUdNUworZG9vcmtlZXAvUgorZG9vcmtub2IvU00KK2Rvb3JwbGF0ZS9TTQorZG9wZS9SMkRNR1MKK0RvcHBsZXIKK0RvcmFkbworZG9ybWljZQorZG9zdAorZG90YXJkL1NNCitkb3VibGUtYmxpbmQKK2RvdWJsZS1kZWNrZXIvUworZG91YmxlLWpvaW50ZWQKK2RvdWJsZS1zaWRlZAorZG91YnQvTUFTNworZG91Z2h0eS9UCitkb3VnaHkvVAorRG91Z2xhcy1Ib21lL00KK0RvdworZG93bmhlYXJ0ZWRuZXNzL1MKK2Rvd25oaWxsCitkb3dudHVybi9NUworZG93bndhcmQvUFlTCitkb3dyeS9NUworZG95ZW5uZS9NUworZHJhZ29vbi9NRFNHCitkcmFtYXRpc3QvU00KK2RyYW5rCitkcmF1Z2h0aW5lc3MvUworZHJhdWdodHNtYW5zaGlwL01TCitkcmVhbWxlc3MvWVAKK2RyZXNzZWQvY0FVCitkcmVzc2VyL0FNCitEcmV5ZnVzcworZHJpYmJsZS9SR0RTCitkcmlwcHkvVAorZHJpdmFibGUKK2Ryb2xsZXJ5L01TCitkcm9wbGV0L01TCitkcm9wc3kvTQorZHJ1ZGdlcnkvU00KK0RydWlkaXNtL1NNCitkcnVua2FyZC9NUworZHJ1cGUvTVMKK2RyeWVyL1NNCitkcnktZXllZAorZHJ5aXNoCitkcnlseQorZHViaW91c25lc3MvUworZHVja3BpbnMKK2R1Y2twb25kCitkdWN0d29yay9NCitkdWxjaW1lci9TTQorZHVtYi9EVFBHWQorRHVuY2FuL00KK2R1bmcvREdTTQorZHVuZ2FyZWUvTVMKK2R1cnN0CitEdXN0aW4KK2R1c3RtZW4vTQorZHdhcmYvR1NNRAorZHdhcmZpc2gKK0RXUC9NCitkeWFkL1NNVworZHliYnVraW0KK0R5ZmVkCitkeW5hbWljL1lTCitkeW5hbWl0ZS9NR1JEUworZHlzZW50ZXJ5L00KK2R5c2xlY3RpYy9TCitkeXN0b3BpYS9NCitlYWdlcmVyCitlYXJtYXJrL0dESlMKK2Vhcm5lc3QvUFkKK2VhcnBob25lL01TCitlYXJ0aHNoYWtpbmcKK2Vhc2luZy9NCitFYXN0aGFtcHRvbgorZWFzdGluZy9NCitFYXRvbi9NCitlYm9ueS9TTQorZWNvbm9tZXRyaWMvUworZWNvbm9taWMvVVkKK2Vjc3Rhc3kvTVMKK2Vjc3RhdGljL1lTCitlY3VtZW5pc3QvTVMKK2VjemVtYXRvdXMKK2VkZ2luZy9NCitlZGlmeS9STlNuREcKK2VkaXRpbmcvRgorZWVsL01TCitlZmZlY3R1YXRlL0RHU04KK0VmZmllL00KK2VmZmlneS9TTQorZWZmbHV4L01OCitlZmZvcnQvU01wCitFR0EvTQorZWdnY3VwL1NNCitlZ290aXNtL01TCitlaAorZWlnaHRlZW4vSE1TCitlamVjdC9WR1NECitlamVjdGlvbi9NUworRWt0YWNocm9tZQorZWxhdGUvaVNER25oTgorRWxiZQorRWxlYW5vcgorZWxlY3RyaWZ5L25SREdTTgorZWxlY3Ryby9NCitlbGVjdHJvY2FyZGlvZ3JhcGh5L1NNCitlbGVjdHJvbmljL1MKK2VsZWN0cm9zdGF0aWMvUworZWxlZ2FudC9JWQorZWxpbWluYXRpb24vTQorZWxrL01TCitFbGxhCitlbGxpcHRpY2FsL1MKK0VsbGlzb24KK2Vsb2N1dGlvbmlzdAorRWxvaXNlCitlbWFjaWF0aW9uL00KK2VtYXNjdWxhdGlvbi9NCitlbWJhbG0vUkdEUworZW1iYXJnb2VzCitlbWJlci9TTQorZW1ibGVtL1dTTQorZW1icnlvbmljCitlbWVyZ2VuY2UvU01aCivpbWlncukvUworZW1vdGUvU3ZEeFZHCitlbW90aW9uYWwvUTgKK2Vtb3Rpb25hbGl0eS9NCitlbXBoeXNlbWEvU00KK2VtcGxhbmUvR0RTCitlbXBsb3ltZW50L2ZNVQorZW1wdGlvbi9TTQorZW11bHNpZmljYXRpb24vTQorZW11bHNpb24vU00KK2VuYworZW5jZXBoYWxvcGF0aHkvTQorZW5jaGFudHJlc3MvTVMKK2VuY2xvc2UvRFNHCitlbmNyb2FjaGVyL00KK2VuY3J5cHRlZC9VCitlbmRhbmdlci9MU2QKK2VuZGVhci9Ma0RHUworZW5kZW1pY2l0eQorZW5kbW9zdAorZW5kb2dhbXkvTQorZW5kdW5nZW9uZWQKK2VuZW15L01TCitlbmZvcmNlZC9BVQorZW5mb3JjZXIvQVMKK2VuZm9yY2luZy9BCitFbmdsZXdvb2QKK2VuZ3JhbW1hdGljCitlbmd1bGYvTEdEUworZW5qb3kvR0xCU0RsCitlbnJhcHR1cmUvR0RTCitlbnJpY2gvR1NETAorZW5yaWNoZXIvTQorZW5zaHJpbmUvR0RMUworZW5zbGF2ZS9SR0xTRAorZW50YW5nbGVyL0VNCitlbnRlcnByaXNpbmcvVQorZW50cmFpbHMKK2VudHJhbmNlL0xNU0dEaworZW50cmFudC9BCitlbnRyZWF0eS9NUworZW50cnkvQVMKK2VudW1lcmF0ZWQvQQorZW52aWVkL1UKK0VQQQorZXBoZW1lcmlzL00KK2VwaXBoZW5vbWVub24KK2VwaXN0ZW1pYworZXBpdGhldC9TV00KK2Vwb2NoYWwKK0Vwc29tCitlcXVhbGl6ZWQvVQorZXF1YXRpb24vTQorZXF1aWRpc3RhbnQvWQorZXF1aWxpYnJhdGUvRE5TRworZXF1aXRhYmxlL1BZCitlcXVpdm9jYXRpb24vTQorZXJhZGljYXRlL1ZOU0RHbgorZXJhZGljYXRpb24vTQorZXJlCitlcmdvcGhvYmlhCitFcmljc3Nvbi9NCitFcm9zCitlcm90aWNhL00KK2VydWRpdGUvWQorRXMKK2VzY3Vkby9NUworZXNvdGVyaWMvWQorRXNwZXJhbnRvCitlc3ByaXQvTVMKK2Vzc2VudGlhbC9QM1NZCitFc3RlcworZXN0aW1hdGl2ZQorRXN0b25pYS9NCitFc3RvbmlhbgorZXRobmljaXR5L1NNCitldGhvbG9neS8zd01TCitldGhvcy9TTQorZXVjYWx5cHR1cy9TTQorZXVsb2dpemVkL1UKK0V1bmljZQorZXVudWNoL00KK2V1cGhvbmlvdXMvWQorRXVyb3BhCitFdXJvcGVhbi9ROE1xLVMKK0V1cnl0aG1pY3MKK2V2YWN1YXRlL1ZObkRTRworZXZhZGUvU3ZSRE5WR3VYCitldmFsdWF0aW9uL0EKK2V2YWx1YXRpb24ncworZXZhc2l2ZS9QCitldmVubmVzcy9TCitldmVudHVhdGUvRFNHCitFdmVyZWFkeQorZXZlcnl3aGVyZQorZXZpY3Rpb24vU00KK2V2aWRlbnRpYWwvWQorZXZpbGRvaW5nL01TCitldmlsbmVzcy9TCitleGFtaW5hdGlvbi9TTQorZXhhbWluZS9BU0dETgorZXhhc3BlcmF0ZS9EaEduU2tOCitleGNhdmF0ZS9ETlNHbgorZXhjZWxsZW5jeS9NUworZXhjZWxsZW50L1kKK2V4Y2VycHQvTVNERworZXhjZXNzL0RTdVZ2TUcKK2V4Y2hlcXVlci9NUworZXhjaXRlZC9VYworZXhjaXRlcy9jCitleGNsdWRlci9NCitleGNyZXNjZW50CitleGVjL01TCitleGVjdXRyaXgvTQorZXhlbXBsYXIvU00KK2V4ZW1wbGlmaWNhdGlvbi9NCitleGVyY2lzaW5nL2MKK2V4aWxlL0dTRE0KK2V4b2R1cy9TTQorZXhwYW5zaW9uL3kzTQorZXhwYXRyaWF0ZS9EblNORworZXhwZWN0L25TaEdEaTdrTgorZXhwZWN0ZWRuZXNzL1UKK2V4cGVkaWVuY2UvU0laCitleHBlZGl0aW91cy9QWQorZXhwZXJpZW5jZS9JTUQKK2V4cGVydGVkCitleHBlcnRuZXNzL1MKK2V4cGxvcmF0aW9uL00KK2V4cG9z6S9TTQorZXhwb3N0dWxhdGUvbkRHTlMKK2V4cG9zdHVsYXRpb24vTQorZXhwb3VuZC9TUkRHCitleHByZXNzaW9ubGVzcy9ZCitleHB1cmdhdGVkL1UKK2V4cHVyZ2F0aW9uL00KK2V4dGVuZGluZy9jCitleHRlbnNpb24vTQorZXh0ZW5zb3IvU00KK2V4dGVudWF0ZS9uR1NETgorZXh0aXJwYXRlL0dTbkROVgorZXh0cmEvUworZXh0cmFzZW5zb3J5CitleHRyYXRlcnJpdG9yaWFsCitleHRyZW1lL1BUWTNTCitleHRyZW1pdHkvU00KK2V4LXdpZmUKK2V5ZS1vcGVuZXIvU00KK2ZhY2VjbG90aC9TCitmYWNpbGl0eS9TTQorZmFjc2ltaWxlL01EUworZmFjdG9yL1E4dCtkLU1xUworZmFjdG9yeS9TTQorZmFjdG90dW0vU00KK2ZhZGRpc3QvTVMKK2ZhZGUvaFMKK2ZhZmYvR0RTCitmYWlsL1NER2tKCitGYWlyYmFua3MKK2ZhaXRoLzZEanBNR1MKK2ZhbWUvTURTegorZmFtaWxpYXJpdHkvTVMKK2ZhbmN5LWZyZWUKK0ZhcmxleQorZmFyLW9mZgorZmFycmFnby9NUworZmFzY2ljdWxhdGlvbi9NCitmYXN0ZW5lci9TTQorZmFzdGVuaW5nL01TCitmYXRhbGlzdC9XMQorZmF0aGVycy1pbi1sYXcKK2ZhdWx0bGVzc25lc3MvUworZmF2b3VyL0VSU01ERworZmF2b3VyYWJsZS9TWU0KK0Zhd2x0eQorZmVhcmxlc3MvUFkKK2ZlYXNpYmlsaXR5L0kKK2ZlYXRoZXItYmVkZGluZy9NCitmZWUvR01ZU2QKK2ZlZWRiYWNrL1NNCitmZWVkc3RvY2sKK2ZlbGljaXRhdGlvbi9NCitmZWxsYWgKK2ZlbWFsZW5lc3MvUworZmVtbWUvUworZmVuL01TCitmZW5sYW5kL00KK0ZlcmRpbmFuZAorZmVybWVudGVyCitmZXJyb3VzCitmZXNzJ3MKK2ZldHRsaW5nL00KK2Zldy9UUAorRmlib25hY2NpL00KK2ZpYnJvaWQvUworZmljdGlvbmFsL1E4cS0KK2ZpZGRsZXN0aWNrL1NNCitGaWRlbGlvL00KK2ZpZW5kaXNoL1BZCitGSUZPCitmaWZ0eS1laWdodC9ICitmaWZ0eS1maXZlL0gKK2ZpZnR5LWZvdXIvSAorZmlmdHktb25lCitmaWZ0eS1vbmVmb2xkCitmaWZ0eS10aHJlZS9ICitmaWcvTE1ER1MKK2ZpZ2h0ZXIvSU1TCitmaWd1cmluZS9NUworZmlsY2gvRFNHCitmaWxtaW5lc3MvUworZmlsdHJhdGlvbi9NSQorZmluYWxlL00zUworZmluZWx5CitmaW5pcy9TTQorZmlyZWJhbGwvU00KK2ZpcmVwcm9vZi9HRAorZmlyZXdvcmsvTVMKK2Zpcm0ncworZmlyc3QtZmxvb3IKK2Zpc2hpbmVzcy9TCitmaXNoLW1lYWwKK2Zpc2gtcG9uZC9TTQorZmlzaHdpZmUvTQorRmlzaworRmlza2UvTQorZmlzc2lsZQorZml0ZnVsL1AKK2ZpdHRlZC9lCitmaXR0ZXIvZU1TCitmaXZlLWEtc2lkZQorZml4YXRpZnMKK2ZpeGVzL0kKK2ZsYWdyYW5jeQorZmxhbWJveWFuY3kvU00KK2ZsYXJlLXVwL1MKK2ZsYXRjYXIvU00KK2ZsYXRmb290L01TCitmbGF0dWxlbmNlL1NNCitmbGF0dXMvU00KK2ZsYXR3b3JtL1NNCitmbGF2b3VyZWQvVQorZmxlZGdlL0RTRworZmxlZS9ER1MKK0ZsZW1pbmcKK2ZsZXNoL3BZMk1ER1pTCitmbGV3L2MKK2ZsZXgncy9BCitmbGlja2VyL2RTa1oKK2ZsaW5nL0dTTQorZmxpcC9SU1RHRAorZmxpcnRlcgorZmxvY2N1bGF0aW9uL00KK0Zsb3JlbmNlCitGbG9yaWRpYW4vUworZmxvdW5kZXIvZFMKK2Zsb3dpbmcvYworZmx1aWRpdHkvU00KK2ZsdWt5L1QKK2ZsdW1lL0dNU0QKK2ZsdXRlL0dNU1pESgorZmx1dGluZy9NCitmbHV0dGVyL3JTWmQKK2ZseWJ5L00KK2ZseS1ieS13aXJlCitmbHljYXRjaGVyL1NNCitmbHlsZWFmL00KK0ZseW5uCitmbHktcGFwZXIvTQorZmx5d2VpZ2h0L1NNCitmb2NhbC9GWQorZm9nZ2luZXNzL1MKK2ZvbGlhZ2UvU01ECitmb2xrLWRhbmNlL01HUworRm9sa3N0b25lL00KK0ZvbHNvbQorZm9udC9TCitGb250YW5hCitGb250ZW5veQorZm9vbGhhcmRpbmVzcy9TCitmb290aG9sZC9NUworZm9vdGxpZ2h0cworZm9vdHBhdGgvTVMKK2Zvb3Rzb2xkaWVyL1NNCitmb290c3RlcC9NUworZm9wcGVyeS9TTQorZm9yY2UtZmVlZC9HCitmb3JjZWZ1bC9QCitmb3JkL1NER003Citmb3JlYXJtL0dNRFMKK2ZvcmVrbmV3Citmb3Jla25vd2xlZGdlL01TCitmb3Jlc2lnaHRlZG5lc3MvUworZm9yZXRob3VnaHQvTVMKK2ZvcmV2ZXIKK2ZvcmV3YXJuZXIvTQorZm9ybG9ybi9UUFkKK2Zvcm0vRm9TSUdObkQKK2Zvcm1hYmlsaXR5L00KK2Zvcm1hbGlzdC9XCitmb3JtYXRzL0EKK2Zvcm1lcmx5CitGb3Jtb3NhbgorZm9yc2FrZS9HUworZm9ydGUvTVMKK2ZvcnRpZmllci9TTQorZm9ydHktZmlyc3QvUworZm9ydHktc2l4L0gKK2ZvcnR5LXR3b2ZvbGQKK2Zvc3NpbC9RLVNNcTgKK0Zvc3RlcidzCitmb3VuZC9EUkd5blMKK2ZvdW5kZXIvZAorZm91bnRhaW4tcGVuL01TCitmb3VyLWluLWhhbmQKK2ZvdXJ0ZWVuL0hTTQorZm92ZWFsCitmb3h5L1RQCitmcmFuYy9TTQorRnJhbmNpc2NvL00KK0ZyYW5raWUKK2ZyYXRlcm5pemVyL00KK2ZyYXVkdWxlbnRuZXNzCitmcmF1Z2h0CitGcmF6aWVyCitGcmVkL1oKK0ZyZWRlcmljL00KK0ZyZWRlcmljay9TCitmcmVlYm9ybgorZnJlZS1raWNrCitmcmVlLXJhbmdlCitmcmVlemVzL0FVCitmcmVxCitmcmVxdWVuY3kvTVNJCitmcmljYXRpb24vTQorRnJpZWRtYW4KK0ZyaWVkcmljaC9NCitmcmlza2VyL00KK2ZyaXp6bHkvVAorZnJvY2svQ0dTRFUKK2Zyb2NrLWNvYXQvUworZnJvbQorZnJvbnRpZXJzL20KK2Zyb250d2FyZC9TCitmcm9zdGJpdGUvTUdTCitmcm9zdGluZy9NUworZnJvdGhpbmVzcy9TCitmcm93enkvVFBZCitmcnVpdGlvbi9NCitmcnkvR1NORDdWCitGcnllL00KK2b8aHJlci9NUworZnVsbC1kcmVzcworZnVsbC1ncm93bgorZnVsbHdvcmQvTVMKK2Z1bG1pbmF0aW9uL00KK2Z1bmZhaXIvTQorZnVubmVsL01ER1MKK2Z1bm5pbmVzcy9TCitmdXJiaXNoL0FTR0QKK2Z1cm9yZS9NUworZnVyeS9NUworZnVzZWQvQ0EKK2Z1c3N5L1BUCitmdXRpbGl0eS9TTQorZnV0dXJlL00zUworZnV0dXJpc3RpYy9TCitnLzcKK2dhYmJpbmVzcy9TCitnYWRmbHkvTVMKK2dhZGdldHJ5L1NNCitHYWVsaWMtc3BlYWtpbmcKK2dhZ2EKK2dhaWx5CitHYWluZXMKK0dhaW5lc3ZpbGxlCitnYWluc2F5L1JHUworZ2FpdC9TUk0KK0dhaXRoZXJzYnVyZworZ2FsZSdzCitnYWxsYmxhZGRlci9NUworZ2FsbGVvbi9TTQorR2FsbGljCitnYWxsb3AvU3JkCitnYWxvcmUKK0dhbWJpYS9NCitnYW1lY29jay9TTQorZ2FtaW4vU00KK2dhbWluZS9TTQorZ2FtbW9uL2RNUworZ2FuZ3N0ZXJpc20KK2dhcmIvRE1TRworZ2FyZ2xlL0RTRworZ2FybWVudC9EU01HCitnYXJvdHRlL1NNREcKK2dhcnJvdHRlL01SR1NECitHYXJ5L00KK2dhc3AvU1JER2sKK2dhcy1wZXJtZWFibGUKK0dhdHdpY2svTQorZ2F1Z2VhYmxlCitHYXp6YQorZ2VhcmluZy9NCitnZWxpZAorZ2Vtc3RvbmUvU00KK2dlbmVyYWwtcHVycG9zZQorZ2VuZXJhbHNoaXAvU00KK0dlbmdoaXMKK2dlbml0YWxpYQorZ2Vub21lL1NNCitnZW50ZWVsZXN0CitnZW9tCitnZW9waHlzaWNpc3QvU00KK2dlc3RhbHQvTQorZ2V0dGVyZWQKK0dldHR5CitHaGFuYS9NCitHaGVudAorZ2hvdWxpc2gvUFkKK2dob3VsaXNobmVzcy9TCitnaWJsZXRzCitHaWJyYWx0YXIvTQorZ2lmdGVkL1AKK0dpbGJlcnRzb24KK2dpbGRpbmcvTQorZ2luZ2VyL1pZU2RNCitnaW5taWxsCitHaW9jb25kYQorR2lvcmdpbworR2xhbW9yZ2FuL00KK2dsYW5jZS9rRFNHCitnbGFucy9NCitnbGFzc3dhcmUvTVMKK2dsYXNzeS9QVAorR2xhc3RvbmJ1cnkvTQorZ2xhdWNvdXMKK2dsaWRlL0dTUkRKCitnbGludC9ER1MKK2dsaXNzYW5kaQorZ2xvYmUvU01ECitnbG9iZS10cm90dGluZworZ2xvb215L1RQCitnbHVlZC9VCitnbHVpZXN0Citnbm9tZS9NUworZ29hbGtlZXBlci9NUworZ29hbC1saW5lL1MKK2dvYXRlZS9TTQorR29iaS9NCitnb2Rmb3JzYWtlbgorZ29kaG9vZC9TTQorR29kd2luL00KK2dvZXMvZWYKK2dvZ2dsZS9TUkRHCitnb2dnbGUtZXllZAorR29sZG1hbgorR29tZXoKK2dvb2RieWUvTVMKK2dvb2QtZm9yLW5vdGhpbmcvUworZ29vZGx5L1QKK2dvb2YvR0QyTVpTCitnb29pZXN0Citnb29zZS9NCitnb3JnZS9NU0RHCitnb3JnZXMvRQorZ29yZ29uL1MKK2dvcmluZy9NCitnb3JtbGVzcworZ29zaC9TCitHb3Nwb3J0CitH9nRlYm9yZy9NCitHb3RoaWMvUTgKK0dvdGhpY2lzbQorR09UTworZ291bGFzaC9NUworZ292ZXJuYW5jZS9TTQorR292dC4KK0dQCitncgorZ3JhY2VmdWwvRVBZCitncmFjZWZ1bGxlc3QKK2dyYWNlJ3MvRQorR3JhY2llCitncmFja2xlL1NNCitncmFkZWQvVUEKK0dyYWZmL00KK2dyYWluaW5lc3MvUworZ3JhaW4ncworZ3JhaW55L1RQCitncmFtbWF0aWNhbGl0eS9VCitHcmFtcGlhbi9NCitncmFuZGNoaWxkL00KK2dyYW5kZGFkL1NNWgorZ3JhbmRlZS9TTQorZ3JhbmRpb3NlbmVzcworZ3JhbmR1bmNsZS9TTQorR3JhbnZpbGxlCitncmFzcy9aU0RHTQorZ3JhdGlzCitncmF2ZWwvRFlHTVMKK2dyYXZpdG9uL01TCitncmF6ZWQvYworZ3JlYXRjb2F0L1NETQorZ3JlYXQtZ3JhbmRwYXJlbnRzCitncmVhdC11bmNsZQorZ3JlZW5iZWx0L1MKK2dyZWVuZmx5L00KK2dyZWVuZ3JvY2VyeS9NCitncmVlbmtlZXBlci9TTQorZ3JlZW5uZXNzL1MKK2dyZW5hZGUvTVMKK0dyZXNoYW0vTQorZ3JleS9QR1lEUworZ3JleWxhZworZ3JpZXZvdXMvUFkKK2dyaWZmaW4vU00KK2dyaWxzZQorZ3Jpbm5pbmcvWQorZ3JpcGUvUworZ3Jpc2xpbmVzcy9TCitncmlzdC9NWQorZ3JpenpsaW5nL00KK2dyb2Nlci9aU00KK2dyb2NlcnkvU00KK2dyb21tZXQvZE1TCitncm9zYmVhay9NUworR3Jvc3NtYW4KK0dyb3RvbgorZ3JvdW5kd2F0ZXIKK2dyb3duLXVwL01TCitncnViYmluZXNzL1MKK2dydWRnZS9Ea01HUworZ3J1ZXNvbWVuZXNzL1MKK2dydWZmL0RUUEdZCitncnVtcC8yTVpTegorZ3J1bXB5L1BUCitncnVudC9ER1MKK2d1YXJhbmkvU00KK2d1YXJkZWQvUAorZ3VhcmRlZGx5L1UKK2d1YXJkcmFpbC9NUworR3VhdGVtYWxhL00KK2d1ZXNzd29yay9TTQorZ3Vlc3RpbWF0ZS9EU0cKK2d1aWRlL2FEU0cKK2d1aWxsb3RpbmUvRFNNRworZ3VpbHRpbmVzcy9TCitndWlzZS9FTVMKK0d1amFyYXQKK2d1bGwvU0RNYkdZCitndWxsZXQvTVMKK2d1bGxpYmlsaXR5L1NNCitndW1kcm9wL1NNCitndW5reS9UCitndXNzZXRlZAorZ3VzdC9TRDJNR3paCitndXN0YXRvcnkKK0d1c3Rhdm8KK0d1dGhyaWUKK0d1dGllcnJlegoraGFiaXRhbnQvSUZTTQoraGFiaXQtZm9ybWluZworaGFiaXRzL0ZJCitoYWJpdHXpL01TCitoYWRlcworaGFkbid0CitoYWRzdAoraGFlbW9nbG9iaW4vU00KK2hhZy9NUworaGFnZ2xlL0RSU0cKK2hhZ2lvZ3JhcGhlci9TTQoraGFnaW9ncmFwaHkvTVMKK2hhaWxzdG9uZS9NUworaGFpcmRyZXNzaW5nL01TCitoYWlyaW5lc3MvUworaGFpcnNwcmluZy9TTQoraGFpci10cmlnZ2VyCitoYWxlc3QKK2hhbGYtZmluaXNoZWQKK2hhbGYtbGl2ZXMKK2hhbGYtcGF5CitoYWxpdG9zaXMvTQoraGFsbG1hcmsvU01ERworaGFsb2dlbi9TTQoraGFsdGVyL2QKK2hhbHlhcmQvTVMKK0hhbWFsL00KK0hhbWxpbi9NCitoYW1wZXIvZFMKK2hhbmRiYWcvU01ERworaGFuZGJhc2luCitoYW5kZWRuZXNzL1NNCitoYW5ka2VyY2hpZWYvU00KK2hhbmRsZWFibGUKK0hhbmRsZXkKK2hhbmRzcGlrZS9NUworaGFuZ2Vycy1vbgoraGFuZ292ZXIvTVMKK2hhbmtlcmluZy9NCitIYW5zb24KK2hhcC9hUworaGFwbGVzcy9QWQoraGFwcGluZXNzL1NNCitoYXJhCitIYXJhbGQKK0hhcmNvdXJ0CitoYXJkZW5pbmcvTQoraGFyZHBhbgoraGFyZHdhcmUvTQorSGFybGFuL00KK2hhcm1mdWwvUAoraGFycGluZy9NCitoYXJyaWRhbi9TTQoraGF0ZWZ1bC9QCitIYXRmaWVsZAorSGF1Z2VuL00KK2hhdWxpZXIvTVMKK2hhdmVuL1NNCitoYXdraW5nL00KK2hheS9HTVNECitoYXplL0RNUlNHWgoraGUvTQoraGVhZGluZXNzL1MKK2hlYWRsZXNzL1AKK2hlYWRtYXN0ZXJzaGlwL00KK2hlYWRzY2FyZi9NCitoZWFkc2hyaW5rZXIvTVMKK2hlYWRzdGFuZC9NUworaGVhZHN0b25lL01TCitoZWFya2VuL2RTCitoZWFycy9TQQoraGVhcnNlJ3MKK2hlYXJ0aHJ1ZworaGVhcnRpbmVzcy9TCitoZWFydHRocm9iL1NNCitoZWF0ZWQvY0tVQQoraGVhdGhlbmlzaC9ZCitoZWF0LXJlc2lzdGFudAoraGVhdnl3ZWlnaHQvTVMKK2hlZGdlL0RSR1NNaworaGVkZ2Vob3AvU0RHCitoZWVkZWQvVQoraGVlZGxlc3NuZXNzL1MKK2hlZWxpbmcvTQoraGVnZW1vbnkvU1dNCitoZWlyL1NGTQorSGVsZW5lCitoZWxsLWJlbnQKK2hlbG1ldC9kTVMKK2hlbHBtZWV0J3MKK0hlbHZldGlhbgorSGVtaWNob3JkYXRhCitoZW5jZQoraGVucGVjay9ER1MKK2hlci9HUworaGVyYmljaWRhbAorSGVyZWZvcmQvTQoraGVyZWluYWZ0ZXIKK2hlcmV0aWMvU00KK2hlcmV0bworSGVybWFuCitoZXJvbi9NUworaGVycmluZy9TTQoraGVzaXRhbnQvWQorSGVzcworaGV0ZXJvZG94eS9TTQoraGV0ZXJvZ2FteS9NCitoZXhhbmUKK0hnCitoaWNrcworaGlkZWJvdW5kCitoaWRleQoraGlkaW5nL00KK2hpZ2dsZWR5LXBpZ2dsZWR5CitoaWdoLWNsYXNzCitoaWdoLWZsb3duCitoaWdoLWZseWluZworaGlnaC1ncmFkZQoraGlnaC1oZWVsZWQKK2hpZ2gtcGl0Y2hlZAoraGlnaC1yYW5raW5nCitoaWdoLXN0ZXBwaW5nCitoaWdodAorSGlsYXJ5CitIaWxsaWFyZAoraGlsbHdhbGtpbmcKK2hpbmRyYW5jZS9NUworaGluZ2VyCitoaXBwaWUvTQorSGlzcGFuaWMvU00KK2hpc3RvcmljaXR5L01TCitoaXQvcFJNU0cKK2htbQorSE1TCitob2JiaXQKK2hvYm5vYi9ER1MKK2hvZGdlcG9kZ2UvTVMKK2hvZS9HTVMKK2hvLWh1bQoraG9sZG92ZXIvTVMKK2hvbGVhYmxlCitob2xpZGF5L0dTTUQKK0hvbGxlcml0aAoraG9sbG93d2FyZS9NCitIb2xtL00KK2hvbG9ncmFtL1NNCitob2xvZ3JhcGh5L1NNCitob2xzdGVyL01kUworSG9seWhlYWQvTQoraG9tZWJ1aWx0Citob21lLW93bmVyc2hpcAorSG9tZXJpYworaG9tZS1zY2hvb2xpbmcKK2hvbWVzcHVuL1MKK2hvbW9lb3RoZXJtYWwKK2hvbW9waG9iZXMKK2hvbW9zZXh1YWxpdHkvU00KK2hvbmV5Y29tYi9HRFNNCitIb25pYXJhL00KK2hvbm91cmFibGVuZXNzCitob25vdXJhYmx5L1MKK2hvb2Rvby9NR0RTCitob29rYWgvU00KK0hvb2tlCitob29rcy9VCitob29saWdhbi9TTQoraG9vdGNoJ3MKK2hvb3Zlci9kCitob3JucGlwZS9TTQoraG9ycm9yLXN0cmlja2VuCitob3JzZS1jbG90aAoraG9yc2Vwb3dlcgoraG9yc2V5CitIb3JzdAoraG9zcAoraG9zcGl0YWwvUXE4U00tCitob3RsaW5lCitob3RzaG90L1MKK0hvdW5zbG93Citob3VzZWJ1aWxkaW5nCitob3VzZWZseS9TTQoraG91c2UtcHJvdWQKK2hvdXNld2FyZXMKK2hvdXNld2l2ZXMKK2hvdy9NUworSG93ZS9TCitIUkgKK2hycy4KK2h1Yi1jYXAvU00KK0h1YmVyL00KK0h1YmVydAoraHVja3N0ZXIvTVNkCitodWgvUworaHVsay9HTURTCitodW1hbmVseS9JCitodW1kcnVtCitodW1lcmkKK2h1bWlsaXR5L1NNCitodW1wL0dTTUQKK0h1bXB0eQoraHVuY2hiYWNrL1NNRAoraHVua3kvVAoraHVudGluZy9NCitodXJyYWgKK2h1c3RsZS9SR1NECitIdXRjaGlzb24KK2h5YWNpbnRoL01TCitoeWFlbmEvU00KK0h5YXR0CitoeWRyYW50L01TCitoeWRyb2NhcmJvbi9TTQoraHlkcm9keW5hbWljcy9NCitoeWRyb2dlbm91cworaHlkcm9seXNlL0RTRworaHlkcm91cworaHlncm9zY29waWMKK2h5bWVuZWFsL1MKK2h5cGVyYm9sZS9NMVNXCitoeXBlcmJvbG9pZC9NUworaHlwZXJjcml0aWNhbC9ZCitoeXBlcnNwaGVyZS9NCitoeXBoZW5hdGVkL1UKK2h5cG5vc2VzCitoeXBub3Rpc3QvTVMKK2h5cG90aGVybWlhL01TCitoeXBvdGhldGljYWwvWQoraHlwb3RoeXJvaWQKK2h5c3RlcmljYWwKK0lhaW4KK2lhbWIvU01XCitJYnJhaGltCitpZGVhbC9TcVEtOHM5M00KK2lkZW0KK2lkZW50aWZpZWQvVWEKK2lkbGVuZXNzL1MKK2lkb2xhdHJvdXMKK2lkb2xhdHJ5L01TCitpLmUuCitpZ25pdGUvREFTRworaWxlaXRpZGVzCitpbGVpdGlzL00KK2lsaXVtL00KK0knbGwKK2lsbC1jb25zaWRlcmVkCitpbGwtZGlzcG9zZWQKK2lsbGVnYWwKK2lsbGl0ZXJhdGUvUAoraWxsLW9tZW5lZAoraWxsdW1pbmUvRFNOVkduCitpbGx1c3RyYXRvci9NUworaW1hZ2UvU015REcKK2ltYWdpbmF0aW9uL00KK2ltaXRhdGlvbi9NCitpbWl0YXRpdmVuZXNzL1MKK2ltbWVhc3VyYWJsZS9QCitpbW11bml0eS9TTQoraW1tdW5vZGVmaWNpZW5jeS9TCitpbW11cmUvR0RTCitpbXBhc3NhYmxlL1AKK2ltcGVhY2hhYmxlL1UKK2ltcGVuZXRyYWJsZS9QWQoraW1wZXR1b3NpdHkvU00KK2ltcGV0dW91c25lc3MvUworaW1wZXR1cy9TTQoraW1waXNoL1BZCitpbXBsYWNhYmxlL1lQCitpbXBsYW50L043bgoraW1wbGVtZW50L0FER1NOCitpbXBsaWNhbnQvTVMKK2ltcG9saXRpYy9QCitpbXBvcnRhdGlvbi9TTQoraW1wb3J0dW5lL0dEUlMKK2ltcG9zc2libGUvUAoraW1wb3N0L0cKK2ltcG92ZXJpc2gvR0xTRAoraW1wb3ZlcmlzaGVyL00KK2ltcHJlY2F0aW9uL00KK2ltcHJlc3Npb24vTUIzCitpbXByb3ZhYmxlCitpbXB1Z24vUkJHU0xECitpbmF1Z3VyYXRlL1NER05uCitpbmJyZWQKK2luYnJlZWRpbmcvTQorSW5jYS9TCitpbmNhcm5hdGUvREdBTlNuCitpbmNhcm5hdGlvbi9BTQoraW5jZXN0dW91c25lc3MvUworaW5jaWRlbnRhbHMKK2luY3JlZGlibGUvUAoraW5jdW1iZW50L1MKK2luY3VuYWJ1bGEKK2luZGVmaW5pdGUvU1AKK2luZGVsaWJsZS9ZCitpbmRlbnRpb24vU00KK2luZGVzdHJ1Y3RpYmxlL1lQCitpbmRpY3Rlci9NCitpbmRpc3BlbnNhYmlsaXR5L01TCitpbmRpdGUvU0dECitpbmR1Y3RhbmNlL1NNCitpbmR1bGdlbnQvYworaW5lcHQvUFkKK2luZXB0bmVzcy9TCitpbmVxdWl0YWJsZQoraW5ldml0YWJpbGl0eS9NUworaW5leHBlbnNlCitpbmZhbnRpY2lkZS9TTQoraW5mYXJjdGlvbi9TTQoraW5mZWxpY2l0b3VzCitpbmZsYW1tYXRvcnkKK2luZmx1ZW5jZWQvVQoraW5mcmluZ2VyL00KK2luZ3JhaW4vaAoraW5oYWxhbnQvUworaW5oaWJpdGVkL1UKK2luaG9tb2dlbmVvdXMKK2luaXRpYWwvUXMtODlxRFNZCitpbml0aWFsaXNlL0FTS0RHCitpbml0aWFsaXplL0FTbkRHTgoraW5qZWN0aW9uL01TCitpbmsvR1IyWk1TRAoraW5udW1lcmF0ZS9CCitpbm9yZ2FuaWMvWQoraW5ydXNoL0dTTQoraW5zLgoraW5zYW5lCitpbnNpZ25lJ3MKK2luc2lnbmlhL01TCitpbnNvbHViaWxpdHkvUworaW5zdGFsbGFibGUKK2luc3RhbGxhbnQKK2luc3RhbGxlci9NUworaW5zdGlnYXRpb24vTQoraW5zdGlsbWVudAoraW5zdGl0dXRpb25hbC9ROC1xCitpbnN0aXR1dGlvbmFsaXN0L00KK2luc3RydW1lbnRhbGlzdAoraW5zdWZmaWNpZW5jeS9TCitpbnN1bGluL01TCitpbnN1cGVyYWJsZS9ZCitpbnRhZ2xpby9TTUdECitpbnRlZ3JhYmxlCitpbnRlZ3JhdGlvbi9BTUUKK2ludGVncmF0aW9ucy9FCitpbnRlbGxpZ2VuY2UvTVMKK2ludGVsbGlnZW50L1VZCitpbnRlbGxpZ2liaWxpdHkncy9VCitpbnRlbmRhbnQvTVMKK2ludGVyY2hhbmdlYWJpbGl0eS9NCitpbnRlcmNvbGxlZ2lhdGUKK2ludGVyY29ubmVjdGVkL1AKK2ludGVyY29udGluZW50YWwKK2ludGVyZGVwZW5kZW5jZS9TTVoKK2ludGVyZGljdC9ER01WUworaW50ZXJlc3RlZC9VWQoraW50ZXJlc3RpbmcvVVkKK2ludGVyZmVyb24vU00KK2ludGVyZ2VuZXJhdGlvbmFsCitpbnRlcmdyb3VwCitpbnRlcmxpbmVhci9TCitpbnRlcmxpbmluZy9NCitpbnRlcmxpbmsvRFNHCitpbnRlcm1pc3Npb24vU00KK2ludGVybWl0dGVudC9ZCitpbnRlcm1peC9HU0QKK2ludGVybi9HTER4bworaW50ZXJuYWwvczlTUThxLQoraW50ZXJuYXRpb25hbC8zUTgtcVMKK2ludGVybmF0aW9uYWxpc3QKK2ludGVybmV0d29yaworaW50ZXJvcGVyYXRlL0JETlNHCitpbnRlcnByZXRpdmUvWQoraW50ZXJyZWxhdGlvbi9NCitpbnRlcnJvZ2F0b3J5L1MKK2ludGVyc2Vzc2lvbi9TTQoraW50ZXJzdGFnZQoraW50ZXJzdGljZS9TTQoraW50ZXItdXJiYW4KK2ludGVydmVuZXIvTQoraW50aW1hY3kvTVMKK2ludG94aWNhdGUvR0Robk5TCitpbnRyYXRpc3N1ZQoraW50cm9kdWNlL0RTQW5ORworaW50cm9zcGVjdGlvbi9TTQoraW50cm92ZXJzaW9uL1NNCitpbnR1YmF0aW9uL00KK0ludWl0CitpbnZlc3RlZS9NUworaW52ZXN0aWdhdGlvbidzL0EKK2ludmlvbGFiaWxpdHkvTVMKK2ludml0YXRpb24vb00KK2ludml0ZS9HU2tObkQKK2ludm9sdW50YXJ5L1AKK2ludm9sdXRlCitpb2RpbmUvTQorSVBSCitJUQorSXJhcS9NCitpcmFzY2libGUvWQoraXJhdGUvVFkKK2lyb25tb25nZXIvWlNNCitpcnJlY29uY2lsYWJsZS9QWVMKK2lycmVzaXN0aWJsZS9QCitpcnJlc29sdXRlbmVzcy9TCitpcnJpdGFudC9TCitJUlMKK2lzCitJc2FpYWgvTQorSVNPCitpc29kaW5lCitpc29sYXRvci9TTQoraXNzdWVkL0EKK2l0Y2gvR00yWnpEUworaXRlcmF0aXZlL1kKK0lUVAoramFiL0dNRFMKK2phY2thbC9TTQorSmFjb2JpYW4KK0phY29iaW4KK2phZ2dlZC9QCitKYWtlL1MKK2phbXMKK0phbmVzdmlsbGUKK0phcGFuL00KK2phcmZ1bC9TCitqYXJnb24vTQoramF1bmRpY2UvU01HRAorSmF2YW5lc2UKK0pheWNlZS9TCitqZWFuJ3MKK0plZmYvTQoramVsbHliZWFuJ3MKK2plbW15L00KK0plbmtpbnMKK0plbm5pZQoramV0LWJsYWNrCitqZXR0aW5nL00KK2ppZmZ5L01TCitqaWdzYXcvTVMKK0ppbWVuZXoKK0pvZWwKK2pvZXkvTQorSm9oYW5uZXMKK0pvaG5zdG93bgoram9pbmVyL1oKK2pvaW50L0ZZRQoram9pbnQtc3RvY2sKK2pva2V5Citqb25nL00KK0pvcmdlbnNlbgoram92aWFsaXR5L1NNCitqb3lmdWwvUFQKK2pveW91c25lc3MvUworam95cm9kZQoranVkaWNpYXJ5L1MKK2p1bWJvL1NNCitqdW1weS9UUAorSnVubworanVyaWRpY2FsL1kKK2p1cnkncy9JCitqdXN0aWZpY2F0aW9uL00KK0p1dGxhbmQvTQoranV4dGFwb3NpdGlvbi9NCitLYWxpCitrYW1pa2F6ZS9TTQorS2Fuc2FzCitrYXBvay9NCitLYXJsCitLYXRoZXJpbmUKK2theW8vTVNERwora2IKK0tlbnlhdHRhCitLZXNzbGVyL00KK2tldHRsZWRydW0vTVMKK0tld2VsbAora2V5Ym9hcmQvR01EUlMKK2tleXN0cm9rZS9NRFMKK0toeWJlcgora2ljay9aUlNERwora2lja2JhbGwncwora2lja3N0YW5kL1NNCitraWRkeSdzCitraWRuZXkvTVMKK0tpbGtlbm55L00KK2tpbGxpbmcvYwora2lsb2JpdC9TCitraWxvZ2F1c3MvTQora2lsdC9TTUQKK2tpbmRlcmfkcnRuZXIvU00KK2tpbmV0aWNzL00KK2tpbmtlZC9VCitraW5reS9UUAorS2lyZ2hpegorS2lyaWJhdGkvTQora2lzbWV0L01TCitraXNzL0RHUlNKNwora2l0Y2hlbmVyJ3MKK2tsdXR6J3MKK2tuaWNrLWtuYWNrL1NNCitrbmlnaHRob29kL1NNCitrbm9jay1rbmVlZAora25vd2luZ2x5L1UKK2tub3dpbmduZXNzCitLb2JlCitLb2VuaWdzYmVyZworS29lcnR6ZW4KK2tvc2hlcgorS29zb3ZvL00KK0tvd2Fsc2tpL00KK2tyYWZ0L00KK0tyYWthdG9hCitLcmllZ2VyL00KK0tyaXMKK0t1d2FpdC9NCitrV2gKK2xhYmlhL00KK2xhYm91ci1pbnRlbnNpdmUKK2xhYm91ci1zYXZpbmcKK2xhZXZ1bG9zZQorTGFncmFuZ2UKK2xhbXBzaGFkZS9NUworbGFuZC9tSkRSR1NNcAorbGFuZGVyL2VNUworbGFuZGluZy9NCitsYW5kc2NhcGUvR1JNU0QKK2xhbmd1aWQvUFkKK2xhbnRoYW51bS9NCitsYXBib2FyZC9NUworTGFwbGFjZQorTGFwbGFuZC9STQorbGFwc2UvRkRBR1MKK0xhcmFtaWUKK2xhcnluZ2VhbC9TWQorbGFyeW5naXRpZGVzCitsYXNzby9NU0RHCitsYXNzb2VyL00KK2xhc3QvWURHU2tKCitsYXN0ZWQvZQorbGFzdGluZy9QCitsYXN0cy9lCitsYXRlbnQvWQorTGF0aW5hdGUKK2xhdHJpbmUvU00KK2xhdW5jaC9HQURTCitsYXVuZHJlc3MvU00KK0xhdXJpZS9NCitsYXdsZXNzL1BZCitMYXdsZXkvTQorTGF3cmVuY2V2aWxsZQorbGF4L3Z1VFlTUFYKK2xheWFib3V0L01TCitsYXktYnkKK2xheWVyL2RDCitsYXltYW4vTQorTGEneW91bi9NCitsYXlwZW9wbGUKK0xDRAorbGVhY2gvU0RHCitMZWFkZW5oYWxsCitsZWFrYWdlL1NNCitsZWFuZXIvTQorbGVhcy9HUlNECitsZWF2ZS9HU0pEUgorbGVhdmVuZWQvVQorbGVhdmluZy9NCitsZWVyeS9UUAorbGVnYWwvUThxLVMKK2xlZ2FsaXN0aWMKK2xlZ2Fscy9JCitsZWdhdGlvbi9BTUMKK2xlZ2hvcm4vTVMKK2xlZ2lvbm5haXJlL1NNCitsZWdpdGltYXRlZC9JCitMZWhpZ2gKK2xlaXN1cmV3ZWFyCitsZWl0bW90aXYvU00KK0xlaXRyaW0vTQorbGVtb255CitsZW5ndGhlbi9TZAorbGVwcm9zeS9TTQorbGVwdG9uL1NNCitsZXNiaWFuL01TCitMZXNsaWUvTQorbGVzcy9VCitMZXN0ZXIKK2xldHR1Y2UvTVMKK0xldmluZQorbGV2aXRhdGUvREdOU24KK2xldnkvU0RSRworbGV4aWNvZ3JhcGh5LzFXd01TCitsZXhpY29uL1NNCitMZXhpcworbGcKK0xpCitsaWFyL1NNCitsaWJlbGxvdXMvWQorbGliaWRpbmFsCitsaWJpZG8vTVMKK2xpY2Vuc2VkL1UKK2xpY2VudGlvdXNuZXNzL1MKK2xpY2hlbmVkCitsaWNvcmljZQorbGlkby9TTQorbGllLWRvd24KK2xpZWdlL1MKK2xpZXV0ZW5hbmN5L1NNCitsaWZlbGVzcy9QWQorbGlmZWxpa2UvUAorbGlmZXNhdmVyL1NNCitsaWZlLXN1cHBvcnQKK2xpZ2F0dXJlL01ER1MKK2xpZ2h0ZW4vZHJTCitsaWdodC1oZWFkZWRuZXNzCitsaWtlL0RHRTdTCitsaWtlbHkvVFUKK2xpa2UtbWluZGVkCitsaWtlci9NCitsaWtld2lzZQorbGlsbHkKK2xpbWl0L3JuZHBNU2dsCitsaW1pdHMvQworbGltby9TCitsaW1wZXQvTVMKK2xpbXBpZGl0eS9TTQorbGluZWFyL3RZUQorbGluZSdzL2UKK2xpbmd1YWwvUworbGluZ3Vpc3RpYy9TCitsaW5rLzdSU01KREcKK2xpbnQvWlNNCitMaW51cworTGludXgvTQorTGlwdG9uL00KK2xpcXVlZmFjdGlvbi9NUworbGlxdW9yL01TCitsaXRlcmFyeS9QCitsaXRoZW5lc3MvUworbGl0b3Rlcy9NCitsaXR1cmd5L1MzTTF3CitsaXZlZC9BZQorbGl2ZWxpaG9vZC9TTQorTGl2aW5nc3RvbmUKK0xsYW5lbGxpL00KK0xMRAorbG9hZGluZy9NCitsb2Fkc3RhcidzCitsb2JvdG9taXN0Citsb2NhbC9xWVFzOFM5LQorbG9jYWxlL1NNCitsb2NhdGlvbmFsL1kKK2xvY2tldC9TTQorbG9jay11cC9NUworbG9kZ2luZy9FCitsb2RnaW5nJ3MKK2xvZnRpbmVzcy9TCitsb2dpY2lhbi9NUworbG9naXN0aWMvTVlTCitsb2dqYW0vU00KK2xvZ28vU00KK2xvZ290eXBlL1NNCitsb2dyb2xsaW5nL1NNCitMb25kb24vck0KK2xvbmUvUFJZCitsb25lbHkvVFAKK2xvbmdib2F0L01TCitsb25nLWRyYXduLW91dAorbG9uZ2VpbmcKK0xvbmd5ZWFyYnllbi9NCitsb29rZXItb24KK2xvb21pbmcvTQorTG9yZW56by9NCitsb3Jpcy9NCitMb3RoaWFuL00KK0xvdS9NCitsb3VkL1lUUAorTG91aXNlL00KK2xvdXRpc2gvWVAKK2xvdmVsb3JuL1AKK2xvdmluZ25lc3MvTQorbG93YnJvdy9TTQorbG93ZXIvU2QKK2xvd2VyLWNsYXNzCitsb3dlcm1vc3QKK2xvd2lzaAorbG93LWtleQorbG93LXNwaXJpdGVkCitMb3lvbGEKK0x1YnVtYmFzaGkKK2x1Y2VudC80WQorTHVjaWZlcgorTHVkZGl0ZQorTHVkaGlhbmEKK2x1ZGljcm91cy9QWQorbHVkaWNyb3VzbmVzcy9TCitMdWRsb3cvTQorbHVnL0RSR1MKK2x1bWVuL00KK2x1bmF0aWMvUworbHVuYXRpb24vTQorTHVuZC9NCitsdXJjaC9HU0QKK2x1cmlkL1BZCitsdXN0ZnVsL1AKK2x1c3RpbmVzcy9TCitMdXhlbmJvdXJnL00KK0x5Y3JhCitMeWRpYW4KK2x5bXBoL1NNCitNQQorbWFjYXF1ZS9NUworbWFjYXJvb24vTVMKK01hY0RvbmFsZC9NCittYWNlLWJlYXJlci9TCittYWNlcmF0ZS9ER1NuTgorTWFjaGlhdmVsbGkKK21hY2hpbmUvRE0zU0dOeW4KK21hY2hpc21vL1NNCittYWNrL00KK21hY3JvcGhhZ2UvTVMKK21hY3Jvc29jaW8tZWNvbm9taWMKK01hZGFnYXNjYW4vTVMKK21hZGFtZS9NCittYWRtZW4vTQorbWFkd29tZW4KK01hZmlhL00KK21hZ25hbmltb3NpdHkKK21hZ25hbmltb3VzbmVzcworbWFnbmF0ZS9NUworbWFnbmV0by9TTQorbWFnbmV0b2h5ZHJvZHluYW1pY2FsCittYWduaWxvcXVlbnQKK21hZ25pdHVkZS9TTQorTWFnb2cvTQorbWFoCittYWltZWRuZXNzJ3MKK21haW4vU0EKK21haW5zYWlsL01TCittYWluc3RheS9NUworbWFpbnRlbmFuY2UvTVMKK21haXplCittYWplc3R5L1dTTTEKK01hanVyby9NCittYWtlZmlsZS9TCittYWtlb3Zlci9TCittYWxhZGp1c3QvTERWCittYWxhZG1pbmlzdHJhdGlvbgorbWFsYWRyb2l0L1lQCitNYWxhd2lhbi9TCitNYWxheXNpYW4vUworbWFsZWZpYworbWFsZmVhc2FudAorbWFscG9zZWQKK21hbHQvREdNWlMKK01hbHRodXNpYW4KK01hbHZlcm4KK21hbWJhL1NNCittYW1tYWwvU00KK21hbW1hcnkvUworbWFtbWEncworbWFtbW9ncmFtL1MKK01hbmNodXJpYS9NCittYW5kaWJ1bGFyCittYW5nYW5lc2UvTQorbWFuaWxsYS9TCittYW5uZXJlZC9VCitNYW5zZmllbGQKK21hbnRpc3NhL01TCittYW50bGUncworbWFudW1pc3Npb24vTQorTWFvcmkKK21hcGxlL1NNCitNYXB1dG8vTQorTWFyYQorbWFyYWJvdS9TTQorTWFyYXRoaQorbWFyYXVkL1NSREcKK21hcmJsaW5nL00KK01hcmNpZS9NCittYXJlL1NNCitNYXJnYXJldC9NCitNYXJnYXRlCitNYXJndWVyaXRlCittYXJpZ29sZC9TTQorbWFyaW5hdGUvU0dECittYXJrZXQvZzdyU01kSgorbWFya3MvQQorbWFyaydzL0EKK21hcmtzbWFuc2hpcC9TCittYXJxdWVzcy9NUworbWFycXVpcy9NUworTWFycworbWFyc2htYWxsb3cvTVMKK01hcnRpbmV6CittYXJ0aW5nYWxlL01TCittYXJ0eXIvTUdEUworTWFyeGlzdAorTWFzY2FnbmkKK21hc2N1bGluZS9ZUAorbWFzcy9wU1Z2dQorbWFzc2FnZXIvTQorbWFzc2l2ZS9QCittYXNzLW1hcmtldAorbWFzdGVyc2hpcC9NCittYXN0aGVhZC9HU0RNCittYXN0b2Rvbi9TTQorbWF0Y2hhYmxlL1UKK21hdGNoZWQvQVUKK21hdGNoZXIvTVMKK21hdGVyaWFsL3FzMzlTLU1QUTgKK21hdOlyaWVsL1NNCitNYXRpbGRhCitNYXRpc3NlCittYXRyaWNpZGUvU00KK01hdHRlcmhvcm4KK21heGltYWxpdHkKK01heGluZQorbWF4aW5nCitNQkEKK01jQ2FiZS9NCitNY0NhcnRuZXkKK01jQ295L00KK01jRG9ubmVsbC9NCitNY0dvd2FuL00KK01jS2VlL00KK01jTGVhbi9NCitNY05hdWdodG9uL00KK01EVAorbWVhbmx5CittZWFudC9VCittZWFzdXJlL0xTcE1obEdECittZWF0eS9UUAorbWVjaGFuaWNhbC9TCitNZWRpY2FpZAorbWVkaWV2YWxpc3QvUworTWVkaW5hCittZWRpdGF0aW5nL0sKK01lZHVzYS9NCittZWVrL1lQVAorbWVldC9HSlNZCittZWdhaGVydHovTQorbWVnYWxvcG9saXMvU00KK21laW9zaXMvTQorbWVsYW5vbWEvU00KK01lbHZpbGxlCittZW1iZXIncworbWVtYmVyc2hpcC9TTQorbWVtby9TeU0KK21lbW9yYW5kYQorbWVtb3J5L3M5UThvcS1TTQorTWVub21pbmVlCittZW50aW9uZWQvZlUKK01lcGhpc3RvcGhlbGVzCitNZXJjay9NCittZXJjeS9TNmpwTQorbWVyZXRyaWNpb3VzbmVzcy9TCittZXJpbm8vTVMKK21lcml0b3Jpb3VzbHkKK21lcnJ5bWFraW5nL1NNCitNZXJ0b24KK21lcy8yRFp6RworbWVzb24vTVMKK01lc3NpbmEvTQorbWVzc21hdGUvU00KK21ldGFjaXJjdWxhcgorbWV0YWxhbmd1YWdlL01TCittZXRhbW9ycGhvc2lzL00KK21ldGFzdGFiaWxpdHkvTQorbWV0ZS9TCittZXRlb3JpdGljcy9NCittZXRlb3JvaWQvTVMKK21ldGVyL2QKK21ldGhpbmtzCitNZXRodXNlbGFoCitNZXR6bGVyL00KK01IegorbWlhc21hbAorbWljcm9hbXAKK21pY3JvYmUvTVMKK21pY3JvY29zbS9XU00KK21pY3JvZ3Jvb3ZlL01TCitNaWNyb25lc2lhL00KK21pY3Jvc2NvcGlzdAorbWlkbmlnaHQvU00KK21pZHNjYWxlCittaWRzZWN0aW9uL00KK21pZHdlZWsvWVNNCittaWR3aXZlcworbWlkLXllYXIKK21pZmYvRFNHCittaWdodG4ndAorbWlsZGVuCittaWxpdGFyaXNtL1NNCittaWxpdGFyaXN0L1cKK21pbGttZW4vTQorTWlsbGFyZAorbWlsbGVubmlhbAorbWlsbGlhbXBlcmUvUworbWlsbGlvbmFpcmUvU00KK21pbGxzdHJlYW0vU00KK21pbWUvRFNNRworbWltZXIvTQorbWltZXRpYy9ZCittaW5hdG9yeQorbWluZGVyL0FTCittaW5kZnVsL1UKK21pbmltL3M5UThTLXFNbworbWluaW9uL1NNCittaW5pdmVyL00KK01pbm9zCitNaW5za3kvTQorbWludWV0L01TCittaW51cy9TCittaW51dGUvUE1HVERTWQorTWlyYWJlYXUKK21pc2FudGhyb3B5L01TCittaXNjYWxjdWxhdGUKK21pc2NlZ2VuYXRpb24vU00KK21pc2NlbGxhbmVvdXMvWQorbWlzY2hpZXZvdXMvUFkKK21pc2NvbnN0cnVlCittaXNjb3VudAorbWlzZXJseS9QCittaXNndWlkZS9oaQorbWlzbGVhZGVyCittaXNvZ3lueS8zU00KK21pc3NoYXBlbm5lc3MvUworbWlzc2lsZS9TTXkKK21pc3Rlci9DTVMKK21pc3RyZWF0L0wKK21pdG9jaG9uZHJpYWwKK21peGVkL1UKK21sCitNbgorbW9hdC9ETUdTCittb2JpbGVzCittb2JpbGl6ZS9BRFNDTm5HCittb2RlbC9SU01KREcKK21vZGVyYXRlcworbW9kZXJuaXN0L1dTCittb2Rlcm5pdHkvTVMKK21vZGVybml6YXRpb24vTQorTW9lL00KK01vZmZpdHQvTQorTW9oYW1tZWQvTQorbW9pcmUvU00KK21vaXN0bmVzcy9TCittb2xlY3VsYXJpdHkvU00KK21vbGVzdC9Tbk5SR0QKK21vbGVzdGVkL1UKK21vbGwvTVlTCitNb2xsdXNjYQorbW9sbHljb2RkbGVyL00KK21vbWVudC9ZU00KK21vbWVudG91cy9QWQorTW9uCittb25hcmNoaXNtL1NNCittb25hcmNoaXN0L1cKK01vbmFzaAorbW9uYXN0aWNpc20vTVMKK01vbmRlbworTW9uZHJpYW4KK21vbmV0aXNlL0NuQURTRworTW9uZ29sL1cKK21vbmtleS9EU01HCittb25raXNoCittb25vbnVjbGVvc2lzL00KK21vbm9wb2xlL1E4WnMzLVMKK01vbnRhZ3VlCitNb250YWlnbmUKK01vbnRhbmEvTQorTW9udGVuZWdyaW4KK01vbnRldmVyZGkvTQorTW9udGljZWxsbworTW9udHJlYWwKK21vbnVtZW50L29NUworbW9vL1NHRAorbW9vbnNoaW5lcidzCittb29uc2hvdC9NUworbW9vci9EU01HSgorbW9wZS9TWgorbW9yYWluZS9NUworbW9yYXkvU00KK21vcmJpZGl0eS9NUworbW9yZGFudC9HRFlTCitNb3JkcmVkCitNb3JnYW4KK01vcm1vbmlzbS9NCittb3Jvc2UvWVAKK21vcnBoZW1pYy9TCitNb3J0L00KK01vcnRlbi9NCittb3J0aWNlL01TCittb3J0aWZpY2F0aW9uL00KK21vc3N5L1QKK21vc3QvWQorbW90aGVybHkvUAorbW90aW9uYWwKK21vdGlvbnMvQ0YKK21vdGl2YXRlL1NHRAorbW90aXZhdGVkL0NVCittb3RvcmJpa2UvRFNNRworbW91bGRpbmcvTQorbW91bGRzL0EKK21vdW50YWluZWVyaW5nL00KK21vdW50YWlub3VzL1BZCittb3VudGFpbnNpZGUvTVMKK21vdW50ZXIvU00KK21vdW50aWVzCittb3VybmluZy9NCittb3VzZXkKK21vdXRob3JnYW4KK21vdXRoLXRvLW1vdXRoCittb3V0aHdhc2gvTVMKK21vdmluZy9VCittb3p6YXJlbGxhL01TCitNUGhpbAorTVJJCitNVFMKK211CittdWNrcmFrZS9EUlNNRworbXVkZGluZXNzL1MKK211ZGR5L0dUU0RQCittdWRmbGF0L1MKK211ZGxhcmtzCittdWRyb29tL1MKK211ZHNsaW5nL1JHSgorTXVnYWJlL00KK211Z2d5L1QKK211bGxhaC9NUworbXVsbGlvbi9HTVNECittdWx0aWRpc2NpcGxpbmFyeQorbXVsdGlmYWNldGVkCittdWx0aWZhcmlvdXNuZXNzL1MKK211bHRpbGF5ZXIKK211bHRpcGxpY2F0aXZlL1MKK211bHRpcGx5L1J2U05WRDduRworbXVsdGktdHJhY2sKK011bmljaC9NCittdXNjYXQvU00KK211c2NhdGVsL1NNCittdXNlL0oKK211c2VyL00KK211c2hlcidzCittdXNrZXQvU015CittdXN0bid0CittdXRpbGF0aW9uL00KK015ZXJzCitteW9waWMvWVMKK015cm9uL00KK215cnRsZS9TTQorbXlzdGVyaW91c25lc3MvUworbXlzdGljYWwKK215c3RpY2lzbS9TTQorbXlzdGlxdWUvU00KK05hL00KK05BQUNQCituYWdnaW5nL1kKK25hbWVkL00KK05hTgorTmFuZXR0ZS9NCituYXBraW4vTVMKK25hcmNvbGVwdGljCituYXJjb3Rpc2UvRFNHCituYXJ3aGFsL1NNCituYXN0eS9QWVRTCitOYXRoYW4vTQorbmF0aW9uYWxpc3QvMVcKK25hdGlvbmFsaXplL0NTR25ORFIKK25hdGl2ZS9QUworbmF0dGVyL2RTCituYXR1cmFsL3FTMzhRLQorbmF0dXJhbG5lc3MvVQorTmF0V2VzdAorTmF1cnUvTQorbmF1dGljYWwvWQorTmF2YWpvL1MKK05hdmFycm8vTQorbmF2aWdhYmlsaXR5L1NNCitOQkMKK25lYXRlbi9kUworbmVhdG5lc3MvUworTmVicmFza2FuL01TCituZWNlc3NhcmllcworbmVja2JhbmQvTQorbmVja2xhY2UvRFNNRworbmVja2xpbmUvU00KK27pZQorbmVlZGluZXNzL1MKK25lZWRsZWNyYWZ0L00KK25lZ2F0aXZpc20vTVMKK25lZ2F0aXZpdHkvU00KK25lZ2F0b3IvTVMKK25lZ2xpZ2liaWxpdHkvTQorTmVncm8vTQorbmVpZ2hib3VyaG9vZC9NUworTmVsc2VuL00KK05lbWJ1dGFsL00KK25lb2xpdGhpYworbmVvbXljaW4vTQorbmVydmVsZXNzL1lQCituZXJ2aW5nL00KK05ldHNjYXBlL00KK25ldXJvYmlvbG9neS9NCituZXVyb24vU00KK25ldXJvbmFsCituZXVyb3BoeXNpb2xvZ3kvTQorbmV1cm90aWMvU1kKK25ldXRlcmVyL1MKK25ldXRyYWxpdHkvU00KK05ldmEvTQorbmV2ZXIKK05ldmlsbGUvTQorbmV3bHkKK25ld3MvWm01cAorTmlhbGwvTQorTmljYXJhZ3Vhbi9TCituaWNrbmFtZXIvTQorbmlnaHRjYXAvU00KK25pZ2h0ZmFsbC9TTQorbmlnaHRtYXJpc2gvWQorbmlwcGluZXNzL1MKK05pcHBvbi9NCituaXRyYXRlL1NNREcKK25pdHJpZmljYXRpb24vU00KK25pdHJvY2VsbHVsb3NlL1NNCitub2JsZW5lc3MvUworbm9pc2UvcE1aCitub2lzaW5lc3MvUworbm9tZW5jbGF0dXJlL01TCitub21pbmF0aW9uL01DQQorbm9uLWFjYWRlbWljL1MKK25vbi1hZGRpY3RpdmUKK25vbmFnZS9TTQorbm9uLWJsb2NraW5nCitub24tY2hhcmdlYWJsZQorbm9uLWNvbWJ1c3RpYmxlL1MKK25vbmNvbmZvcm1pbmcKK25vbi1jb25zZWN1dGl2ZQorbm9uLWNvbnRyaWJ1dG9yeQorbm9uLWNvb3BlcmF0aW9uL1MKK25vbi1jcmltaW5hbC9TCitub24tY3ljbGljCitub24tZGVsaXZlcnkvUworbm9uLWRlcGFydG1lbnRhbAorbm9uLWRldGVybWluYXRlL1kKK25vbi1lZmZlY3RpdmUvUworbm9uLWVsZWN0cmljL1MKK25vbi1lbGVjdHJpY2FsCitub25lcy9NCitub24tZXhjaGFuZ2VhYmxlCitub24tZmVycm91cworbm9uLWZsb3dlcmluZworbm9uLWZsdWN0dWF0aW5nCitub24taW5mbGFtbWF0b3J5Citub24taW50b3hpY2F0aW5nCitub24tbGV0aGFsCitub24tbGl2aW5nCitub24tbmFyY290aWMvUworbm9uLXBlcmZvcm1pbmcKK25vbi1wcm9ncmFtbWFibGUKK25vbi1zYWxhcmllZAorbm9uLXNraWQKK25vbi1zbW9rZXIvU00KK25vbi1zcGVjaWFsaXN0L1NNCitub24tc3RyYXRlZ2ljCitub24tc3RydWN0dXJhbAorbm9uLXRlcm1pbmF0aW5nCitub24tdW5pZm9ybQorbm9uLXZpcnVsZW50Citub24tdm9jYXRpb25hbC9ZCitub24tdm90aW5nCitub24td29ya2luZworTm9yYS9NCitOT1JBRC9NCitub3JtYWxpdHkvU00KK25vcnRoLXdlc3Rlcmx5Citub3J0aC1XZXN0ZXJuCitOb3J0b24vTQorbm9zZWJsZWVkL01TCitub3NlZGl2ZS9EU0cKK25vc2V5Citub3NpbmcvTQorbm90YXRpb25hbC9DCitub3RlcGFwZXIvU00KK25vdG9yaWV0eS9TCitub3VnYXQvU00KK25vdWdodC9TCitOb3Vt6WEvTQorbm93aGVyZQorTm95ZXMvTQorbnVhbmNlL1NNRAorbnViL1pNUworbnVjbGlkZS9NCitudWRpc20vU00KK051a3UnYWxvZmEKK251bGxpdHkvTVMKK251bWJlci9wZEoKK251bWJuZXNzL1MKK251bWVyYWJsZS9JQworbnVtZXJhY3kvU0kKK251cnNlcnkvbVNNCitudXJzbGluZy9NCitudXQvMkdETVpOUworbnV0bWVnL01TREcKK251dHJpdGlvdXMvUFkKK251dHR5L1RQCitudXp6bGUvUlNERworbnltcGhvbWFuaWEvU00KK05ZU0UKK09haHUvTQorb2FrdW0vU00KK09hdGVzL00KK29iYmxpZ2F0by9TCitvYmR1cmFjeS9TCitvYmVkaWVudC9FWQorb2JlaXNhbnQvWQorT2Jlcmxpbi9NCitvYml0dWFyeS9TTQorb2JqZWN0L0RTR3Z1Vk0KK29iamVjdGlmeS9EU25ORworb2JqZWN0aXZpdHkvU00KK29ibGF0ZS9ZU25OCitvYmxpZ2F0b3J5L1kKK29ic2N1cmFudGlzbS9TTQorb2JzZXNzaXZlL1MKK29ic3RldHJpY2FsCitvYnN0cmVwZXJvdXNuZXNzL1MKK29idGFpbmVyCitvYnZlcnNlL1NZCitvY2N1bHQvREdTWQorb2NjdXBhdGlvbi9NS0EKK29jY3VweS9BRFNLbkcKK29jdGFoZWRyb24vTQorb2RkaXR5L1NNCitPZGVsbC9NCitPZGluL00KK29kb21ldGVyL1NNCitvZG9yaWZlcm91cworb2RvdXIvU3BNCitPRHMKK08nRHd5ZXIvTQorT2R5c3NldXMvTQorT2VkaXB1cy9NCitvZXN0cm9nZW4vU00KK29mZmJlYXQvU00KK29mZmVuc2l2ZW5lc3MvU0kKK29mZmljZW1hdGUvUworb2ZmaWNpYWxzCitvZmZpY2lhbCdzCitvZmZpY2lhdGUvTm5TREcKK29mZi1zY3JlZW4KK29mZi1zZWFzb24KK29mZnNldC9TR00KK29mZnNob3JlCitvaWxmaWVsZC9NUworb2lseS9UUAorT0svR0RNCitPa2xhaG9tYS9NCitvbGQvVAorT2xtc3RlZC9NCitvbWVsZXR0ZS9NUworb21uaXByZXNlbmNlL1NNCitvbmNlLW92ZXIKK29uY29taW5nL1MKK29uZS9QTVMKK29uZS1saW5lcgorb25lci9NCitvbmVyb3VzbmVzcy9TCitvbmlvbnNraW4vTVMKK29uc2hvcmUKK29uLXN0YWdlCitvcGFxdWUvUFRTWQorb3BlbmNhc3QKK29wZW4tbW91dGhlZAorb3BpbmlvbmF0ZWQvUFkKK29wdGljcy9NCitvcHRpbWEvbworb3B0aW1hbAorb3B0aW1pc2UvTQorb3B0aW1pc2VkL1UKK29wdGltaXphdGlvbi9NCitvcHRpbXVtL3FzOFEtOVNNCitvcHRvZWxlY3Ryb25pYworb3B1bGVudC9ZCitvcmFjbGUvTVMKK29yYW5nCitvcmFuZ2UveU1TCitvcmF0b3Jpby9TTQorb3JiaXRhbC9ZU00KK29yY2hlc3RyYXRpb24vTQorb3JkYWlubWVudC9LCitvcmRlcmluZy9TCitvcmRlcmxlc3MKK29yZGluYW5jZS9TTQorb3JkaW5hdGUvRk5TCitvcmRpbmF0b3IvU0YKK09yaWVudGFsaXN0CitPcmxhbmQvTQorb3J0aG9waG9zcGhhdGUncworT3NjZW9sYS9NCitPc2hrb3NoL00KK29zbW9zZXMKK29zdGVvYXJ0aHJpdGlkZXMKK09UCitPdGhlbGxvL00KK290aGVyd29ybGRseQorT3Rpcy9NCitPdHRhd2EvTQorb3Vyc2VsdmVzCitvdXRib2FyZAorb3V0YnVyc3QvTQorb3V0Y2FzdC9HCitvdXRlcndlYXIvTQorb3V0ZmlnaHQvRworb3V0Z28vSgorb3V0bGF3cnkvTQorb3V0bG9vay9NCitvdXRudW1iZXIKK291dC1vZi1jb3VydAorb3V0cG9zdAorb3V0c3Bva2VuL1BZCitvdXR3YXJkL1BZCitvdmVyYWNoaWV2ZQorb3ZlcmFnZQorb3ZlcmF0dGVudGl2ZQorb3ZlcmNhcGl0YWxpc2UKK292ZXJjYXJlZnVsCitvdmVyY2F1dGlvdXMKK292ZXJjb25zY2llbnRpb3VzCitvdmVyLWRlbGljYWN5CitvdmVyZXhjaXRlCitvdmVyZXhlcmNpc2UKK292ZXJleHRlbmQvTgorb3ZlcmdlbmVyb3VzCitvdmVyaGFzdHkKK292ZXJsYW5kCitvdmVyLW1hbnkKK292ZXItbXVjaAorb3Zlci1uaWNlbmVzcworb3Zlci1wYXJ0aWN1bGFyCitvdmVyLXJpZGRlbgorb3ZlcnJpZGVyCitvdmVyc2VlCitvdmVyc2xlZXAKK292ZXJ0bmVzcworb3ZlcnZhbHVlCitvd2UvUworT3dlbi9NCitvd24vR0VTRAorT3huYXJkCitveXN0ZXIvTVMKK296b25lL00KK3AvQVlGSQorcC5hLgorcGFjZXkKK3BhY2luZy9lCitwYWRkb2NrL1NHRE0KK3BhZHJlL1NNCitwYWVkb3BoaWxlL1MKK3BhaW5raWxsZXIvU00KK3BhaW50d29yaworcGFsYXRhYmlsaXR5L00KK3BhbGF2ZXIvZFNNCitwYWxpbmcvTQorcGFsbGlkbmVzcy9TCitwYWxwYWJsZS9ZSQorUGFtL00KK3BhbXBlcmVyL00KK3Bhbi9XR1NETQorUGFuYXNvbmljL00KK3BhbmVsJ3MKK3Bhbmlja3kvVAorcGFubmllci9NUworcGFuc3kvTVMKK3BhbnRpZXMKK3BhbnRpbGVkCitwYXBhL01TCitwYXBheWEvU00KK3BhcGVyYmFjay9NUworcGFwZXItZ2lybC9TTQorcGFwZXJ3b3JrL01TCitwYXJhYmxlL1NNCitQYXJhZ3VheWFuL1MKK3BhcmFrZWV0L01TCitwYXJhbGxlbGluZworcGFyYWxsZWxvZ3JhbS9NUworcGFyYW5vaWQKK3BhcmRvbmFibGUvVQorcGFyZW50aGVzZXMKK3BhcmVzL0ZLCitwYXJpYWgvU00KK3BhcmlzaC9NUworcGFyay9ER01TWgorcGFyc2VkL1UKK3BhcnNpbW9ueS9NUworcGFydC9mSUNTCitwYXJ0ZXIvUworcGFydGljaXBhdG9yL1MKK3BhcnRpY29sb3VyZWQKK3Bhc3Nlci1ieQorcGFzc2l2YXRlZAorcGFzdG9yYWwvWVMKK3Bhc3R5L1RTUAorcGF0ZW50ZWUvU00KK3BhdGgtbG9zcworcGF0aWVudGx5L0kKK3BhdHJpYXJjaHMKK3Bhdy9EU0dNCitwYXktY2xhaW0KK3BheXMvZmNLCitQYgorUERRCitwZWFmb3dsL01TCitwZWN0aWMKK3BlZXJhZ2UvU00KK3BlZXZlL01TR0QKK3BlZy9HU0RNCitwZWxsYWdyYS9TTQorcGVuYWxpc2F0aW9uCitwZW5hbGl6YXRpb24vTQorcGVuZGVudC9DCitQZW5lbG9wZQorcGVuZXRyYWJpbGl0eS9JTVMKK1Blbm5pbmUvUworcGVudGFjbGUvTVMKK3BlbnRhZ29uYWwvUworcGVudGF0aGxvbi9TTQorcGVudGhvdXNlL1NNCitwZW50aXVtCitwZW51bWJyYWUKK3Blb25hZ2UvU00KK3BlcC9aRDJTR1JNCitwZXJhbWJ1bGF0ZS9ER25TTgorcGVyY2VudC9NCitwZXJjZW50aWxlL01TCitwZXJjZXB0aWJpbGl0eS9JCitwZXJjZXB0aWJsZS9ZSQorcGVyY2VwdGl2ZS9QCitwZXJjb2xhdG9yL01TCitwZXJjdXNzaW9uaXN0Citw6HJlcy9GCitwZXJmb3JtYWJsZQorcGVyaWdsYWNpYWwKK3BlcmloZWxpb24vTQorcGVyaXBoZXJ5L1NNCitwZXJpc2NvcGUvU00KK3BlcmlzdGFsc2lzL00KK3BlcmlzdGFsdGljCitwZXJpd2lnL1NNCitwZXJreS9UCitwZXJuaWNpb3VzbmVzcy9TCitwZXJveGlkZS9TRE1HCitwZXJwZXRyYXRvci9TTQorcGVyc29uYS9NCitwZXJzb25hbGlzZS9DblNHRAorcGVyc3BpY3VvdXMvWVAKK3BlcnN1YWRhYmxlCitwZXJzdWFzaW9uL00KK1BlcnRoCitwZXJ0aW5lbmNlL0lTCitwZXJ0dXJiYXRpb24vTQorcGVydHVzc2lzL00KK3Blc2V0YS9TTQorcGVzby9NUworcGVzdGlsZW5jZS9TTQorcGV0aGlkaW5lL00KK3BldGl0aW9uL0ZTQU0KK1BHCitQaGFyaXNhaXNtCitwaGFzZS9TUkdETQorUGguRC4KK3BoZW5vbHBodGhhbGVpbi9NCitwaGVub21lbm9uL1NNCitwaGV3L1MKK3BoaWFsL1NNCitQaGlsYWRlbHBoaWEvTQorcGhpbGFuZGVyL2RyUworcGhpbGlwcGljL01TCitQaGlsaXBwaW5lL1MKK3Bob25ldGljaWFuL1NNCitwaG9uZXRpY3MvTQorcGhvc3Bob3Jlc2NlbnQvWQorcGhvdG9lbGVjdHJvbmljCitwaG90b2VsZWN0cm9ucworcGhvdG9tZXRyeS9NCitwaG90b21pY3JvZ3JhcGh5L00KK3Bob3Rvbi9TTQorcGhvdG90eXBlc2V0dGluZy9NCitwaHlzaXF1ZS9NUworcGkvRFIKK3BpY2tvZmYvUworcGljbmljL01SR1NECitwaWNvCitwaWNvam91bGUKK3BpY3R1cmUvRE1TRworcGlkZGxlL0dZRFMKK3BpZWJhbGQvUworcGlldHkvSU1TCitwaWdnbGVkeQorcGlnLXN0aWNrZXIKK3BpbGxhci1ib3gKK1BpbW1zCitwaW5nL0dETQorcGlua2lzaAorcGlucG9pbnQvR0RTCitwaW5wcmljay9TREdNCitwaW4tdXAvTVMKK3BpbnkvVAorcGlwZXdvcmsKK3BpcGluZy9NCitwaXJhdGUvMU1HRFN3CitQaXNhL00KK3BpdGEvTQorcGl0Y2gtZGFyaworcGl0Y2hmb3JrL1NNREcKK3BpdGNoaW5nL00KK3BpdGVvdXMvUFkKK3BpdGVvdXNuZXNzL1MKK3BpdGhlYWQKK3BpdGlsZXNzbmVzcy9TCitwaXZvdC9kU01vCitQaworcGxhY2FyZC9HU01ECitwbGFjZXMvYUEKK3BsYWluL21QR0RUU1kKK3BsYWlucy9GCitwbGFpbnQncy9GCitwbGFuZXRhcml1bS9NUworcGxhbmV0ZXNpbWFsL01TCitwbGFub2NvbmNhdmUKK3BsYW50ZXIncy9JCitwbGFzaC9ETUdTWgorcGxhc21hL1NNCitwbGFzdGljaW5lCitwbGF0L3JkUgorcGxhdXNpYmlsaXR5L0lTCitwbGF5Z2lybC9TTQorcGxheXBlbi9TTQorcGxheXRpbWUvTVMKK3BsYXphL1NNCitQTEMKK3BsZWFzYW50L1RZUAorcGxlY3RydW0vTVMKK3BsZW50ZW91cy9ZUAorcGxlbnRpZnVsL1AKK3BsZW9uYXNtL01TCitwbGlhbnQvRlkKK3Bsb3Zlci9NUworcGx1Zy1pbgorcGx1ZydzCitwbHVtYi9NREpTUkcKK3BsdW1wL1RZWgorcG9ja21hcmsvRFNNRworcG9jdXMKK3BvZXRhc3Rlci9NUworcG9pbnQvUmhTcEdpTURaCitwb2ludGxlc3MvWVAKK3BvaW50LXRvLXBvaW50Citwb2lzZS9NCitwb2lzb24vZE1yUworcG9sZXIvTQorcG9sZXdhcmQvUworcG9saWN5LW1ha2luZworcG9seWN5Y2xpYworcG9seWdhbW91cy9ZCitwb2x5Z29uL29NUworcG9seXN5bGxhYmxlL1dTTQorcG9seXRlY2huaWMvTVMKK3BvbW1lbC9TR0RNCitwb25zL00KK3BvbnRpZmljYWwvWVMKK3Bvb2YvU00KK3Bvb3JuZXNzL1MKK3BvcGxhci9NUworcG9wdWxhY2UvU00KK3BvcHVsYXRpbmcvQQorcG9wdWxvdXMvUFkKK3BvcnBoeXJpdGljCitwb3J0YWJsZS9TCitwb3J0YWdlL0EKK3BvcnRpb24vU0RHTQorcG9ydGxpbmVzcy9TCitwb3J0bWFudGVhdS9TTQorUG9ydC1vZi1TcGFpbi9NCitwb3J0cmFpdHVyZS9TTQorUG9ydHNtb3V0aC9NCitwb3NldXIvTVMKK3Bvc2gvVAorcG9zaW5nL0FJNAorcG9zaXRpbmcvRgorcG9zaXRpb24ncy9FSTRGQ0sKK3Bvc3Nlc3NpdmUvUE1ZUworcG9zc3VtL1NNCitwb3N0Ym94L01TCitwb3N0Y2FyZC9TTQorcG9zdGNvbmRpdGlvbi9TCitwb3N0aHlwbm90aWMKK3Bvc3RpbmcvTQorcG9zdC1tb2Rlcm5pc20KK3Bvc3QtbW9kZXJuaXN0Citwb3N0LW1vcnRlbS9TTQorcG9zdC10cmF1bWF0aWMKK3Bvc3R1cmUvSU1TCitwb3N0dXJpbmcvUworcG90YXRvL00KK3BvdGxhdGNoL01TCitwb3VyLzdHU0QKK3ByYWN0aWNhYmlsaXR5L0kKK3ByYWN0aWNhbC9JUFkKK3ByYWN0aWNlL1M3TQorcHJhY3RpY2lhbgorcHJhZXRvci9NUworcHJhZ21hdGljYWwKK3ByYWlyaWUvU00KK3ByYWxpbmUvU00KK3ByYXllci9qNgorcHJlYWNoL1JKTAorcHJlY2FuY2VsCitwcmVjaXBpdGFibGUKK3ByZWNvY2l0eS9NUworcHJlY29kZQorcHJlY29uc2Npb3VzCitwcmVjdXJzb3IKK3ByZWRlY2xpbmUKK3ByZWRlc3RpbmUvU0cKK3ByZWRldGVybWluZS9ObkQKK3ByZWRpY2F0b3IKK3ByZWRpY3RhYmlsaXRpZXMKK3ByZWRpbGVjdGlvbi9TTQorcHJlLWVsZWN0aW9uCitwcmUtZW1pbmVuY2UvTVMKK3ByZWVuL0RTRworcHJlZ25hbnQvWQorcHJlbGF0ZS9NUworcHJlbWF0dXJlCitwcmVwL1NNCitwcmVwYXJlZG5lc3MvUworcHJlcGVuZHMKK3ByZXBvbmRlcmFudC9ZCitwcmVyZXF1aXNpdGUvTQorcHJlc2J5dGVyc2hpcAorcHJlc2NpZW5jZQorcHJlc2NpZW50L1kKK1ByZXNjb3R0L00KK1ByZXNpZGVudGlhbAorUHJlc2xleS9NCitwcmVzc3VyZS1jb29rL0cKK3ByZXN0aWRpZ2l0YXRpb24vTQorcHJldGVuY2UvTVMKK3ByZXRlcm5hdHVyYWwvWQorcHJldmVudC9sdTd2VgorcHJldmVudGF0aXZlL1MKK3ByZXZlbnRpb24vTVMKK3ByZXkvRE1HUworcHJpZ2dpc2gvTVkKK3ByaW1vZ2VuaXRvci9TTQorcHJpbnRpbmcvSU0KK3ByaXpld2lubmluZworcHJvYmFibGVzCitwcm9jZWR1cmFsL1MKK3Byb2Nlc3Nlcy9BCitwcm9kaWdhbGl0eS9TCitwcm9kdWN0aW9uL0tmCitwcm9mYW5pdHkvU00KK3Byb2Zlc3NvcnNoaXAvU00KK3Byb2ZpbGUvUkdEU00KK3Byb2dlbml0b3IvU00KK3Byb2dlbnkvU00KK3Byb2dub3N0aWNhdGlvbi9NCitwcm9nbm9zdGljYXRvci9TCitwcm9ncmFtbWVkL0tDCitwcm9ncmVzcy9HTXVTRE5YVnYKK3Byb2dyZXNzaXZlbmVzcy9TCitwcm9sZWdvbWVuYQorcHJvLWxpZmUKK3Byb25naG9ybi9NUworcHJvbm91bi9TTQorcHJvbm91bmNlL2FHRFMKK3Byb3BlbGxhbnQvTVMKK3Byb3BoZXRlc3MvUworcHJvcGlucXVpdHkvU00KK3Byb3BvbmVudC9NUworcHJvcG9zaXRpb24vR0RNCitwcm9wcmlldG9yL1NNCitwcm9wcmlldG9yaWFsCitwcm9wcmlldG9yc2hpcC9TTQorcHJvcHJpZXR5L1NNSQorcHJvc2NyaWJlci9NCitwcm9zZS9EWk0KK3Byb3NlY3V0ZS9HRFMKK3Byb3NlbHl0aXNtL1NNCitwcm9zdGhlc2lzL00KK3Byb3RlYXMvUworcHJvdGVjdGlvbi9jTQorcHJvdG96b2EvVworcHJvdmlkZW50L0lZCitwcm92aWRlbnRpYWwvWQorcHJveGltaXR5L01TCitQU1QKK3BzeWNob2FjdGl2ZQorcHViZXNjZW50L0sKK3B1ZGVuZHVtL00KK3B1ZXJpbGl0eS9NUworcHVmZmluZXNzL1MKK3B1bGwvUkRHUworcHVscHkvVAorcHVsc2FyL1NNCitwdWxzZS9BRFNJRworcHVuY2gvUkdTRDdKWgorcHVuZGl0L01TCitwdW5pc2hlci9NCitwdXBweWlzaAorUHVyY2VsbC9NCitwdXJpZnkvU25STkRHCitwdXJzdWl0L01TCitwdXJ1bGVudAorcHVydmV5b3IvTVMKK3B1c2gtYnV0dG9uL1MKK3B1c3N5Zm9vdC9HRFMKK3B1dHJlc2NlbnQKK3B1dHR5L01TREcKK3B1dC11cAorcHZ0CitweWtuaWMKK3B5bG9yaQorcHlyYW1pZC9TTW8KK3B5cmUvTVMKK3B5cm9seXNpcy9NCitweXJvdGVjaG5pY3MvTQorcHlycmhpYworcHl4aWRpYQorUUMKK3F1YWRyb3Bob25pYworcXVhZHJ1cGx5L05uCitxdWFreS9UCitxdWFsaWZpZWQvVWMKK3F1YW5kYXJ5L01TCitxdWFudGEvTQorcXVhcmsvU00KK3F1YXJ0ZXItZmluYWwvU00KK3F1YXJ0ZXJtYXN0ZXIvU00KK1F1ZWVuc2xhbmQKK3F1ZWVybmVzcy9TCitxdWVyaWVyCitxdWVzdGlvbi9SREpTN2tNR2wKK3F1ZXN0aW9uYWJsZS9VCitxdWVzdGlvbm5haXJlL01TCitxdWVzdCdzL0ZJCitxdWliYmxlL1JTREcKK3F1aWNrZW4vZFMKK3F1aWNrZW5lci9TCitxdWlja3NpbHZlci9kTVMKK3F1aWV0L1BUWURHUworcXVpbHQvUkRNR1MKK3F1aW5pbmUvU00KK3F1aW5xdWVubmlhbC9ZCitxdWludGlsbGlvbi9IUworcXVpdHRhbmNlL1NNCitxdW90YXRpb24vYU0KK3F1b3Rlci9NCitxdW90aWVudC9NUworcmFiYml0L1NkTQorcmFjb29uJ3MKK3JhZGlhbC9TWQorcmFkaWF0ZWx5CityYWRpY2FsaXNtL01TCityYWRpby1jb250cm9sbGVkCityYWRpb2dyYW0vU00KK3JhZGlvbG9neS9XMTNNdworcmFkaW9uaWNzCityYWRpb3NvbmRlL01TCityYWRpby10ZWxlZ3JhcGh5L00KK3JhZGlvdGhlcmFweS9TTQorcmFkaXVzL00KK1JBRgorcmFmZmxlL0RTTUcKK3JhaWxoZWFkL01TCityYWlzaW4vTVMKK3JhbmcvUkdEWgorcmFyaXR5L01TCityYXN0ZXIvTVMKK3JhdGVwYXllci9TTQorcmF0dGx5L1QKK3JhdW5jaGluZXNzCityYXZlbC9VR0RTCityYXctYm9uZWQKK1JlYS9NCityZWFjaC9lR2NEUworcmVhZC8ySmxaUnpHQgorcmUtYWRhcHQvU0RHCityZWFmZmlybS9HTm4KK3JlYWxpc3QvVzEKK3JlYWxtL1NNCityZWFtL1JHRE1TCityZWFwcGx5L25ORworcmVhc3NpZ24vTEcKK3JlYXNzdXJpbmdseS9VCityZWF0dGFpbi9HCityZWJhbGFuY2UKK3JlYnVpbGQvRworcmVjZW5jeS9NCityZWNlbnRyZQorcmVjZXB0YWNsZS9TTQorcmVjZXB0aXZlbmVzcworcmVjaXBpZW5jeQorcmVjaXByb2NpdHkvU00KK3JlY29nbmlzZWQvVQorcmVjb21taXNzaW9uL0cKK3JlY29uY2lsZXIvTQorcmVjb25zdHJ1Y3RlZC9VCityZWNyeXN0YWxsaXplL05uCityZWN0aWxpbmVhci9ZCityZWN1cGVyYXRpb24vTQorcmVjdXNhbnQvTQorcmVjeWNsZS83UgorcmVkYWN0aW9uL1NNCityZWQtYmxvb2RlZG5lc3MKK3JlZGNvYXQvU00KK3JlZC1oYW5kZWQKK3JlZHJhdy9HCityZWRyZXNzL0cKK3JlZHVjZS9TYkRHUm5OVgorcmVkdWN0aW9uaXN0L1cKK1JlZWR2aWxsZS9NCityZWVmL0RNUlNHCityZWZsZWN0L0d1dlNWRAorcmVmbGV4L1kKK3JlZmx1ZW50CityZWZvcm0vQlJuTlZ5M0cKK3JlZnJhaW4vREdTCityZWZ1Z2UvU00KK3JlZnVnZWUvU00KK3JlZnVsZ2VudC9ZCityZWZ1c2VyL00KK3JlZ2FsCityZWdhbGVtZW50CityZWdhcmRsZXNzCity6WdpbWUvTVMKK1JlZ2luYWxkL00KK1JlZ2lzL00KK3JlZ2lzdGVyJ3MKK3JlZ3JldC9HRGo2UworcmVncmV0ZnVsL1AKK3JlaGFuZy9HCityZWhlYXJzL0RHCityZWh5ZHJhdGFibGUKK1JlaWQvTQorcmVpZ25pdGlvbgorcmVpbnZlc3QvRworcmVsYXRpb25hbC9ZCityZWxhdGl2ZS9TRgorcmVsYXhlZC9QCityZWxpZXZlZC9VCityZWxpZ2lvbmlzdAorcmVsb2NrL0cKK1JlbWJyYW5kdC9NCityZW1lZGlhYmxlL0kKK3JlbWluaXNjZW5jZS9TTQorcmVtaW5pc2NlbnQvWQorcmVtb2RlbC9HRAorcmVtb25zdHJhbnQKK3JlbmFzY2VuY2UKK3JlbmRpdGlvbi9NUworcmVuZWdhZGUvTVMKK3Jlbm5pbi9NCityZW5vdW5jZS9HRFMKK3JlbnRhbC9NUworcmVvcGVuL2QKK3JlcGFja2FnZS9HCityZXBhcGVyL2QKK3JlcGV0aXRpb3VzbmVzcworcmVwbGljYXRlL0RHUworcmVwb3B1bGF0ZQorcmVwcmVoZW5zaW9uL00KK3JlcHJlc2VudGF0aXZlL1UKK3JlcHJlc2VudGF0aXZlbHkKK3JlcHJlc2VudGVkL2ZVYworcmVwcmltYW5kL0RTR00KK3JlcHJvYWNoZnVsL1AKK3JlcHJvZ3JhbW1lCityZXByb29mL0cKK3JlcHJvdmVyCityZXB0aWxpYW4vUworcmVwdXRhdGlvbi9NCityZXNjaGVkdWxlCityZXNlYXJjaC9NN0cKK3Jlc2VlZC9HCityZXNlbWJsYW50CityZXNlbnQvNkxqREdTCityZXNlcnZhdGlvbi9NCityZXNpZHVhbC9TCityZXNpbGllbmN5L1MKK3Jlc2lubGlrZQorcmVzaXN0YW5jZS9NUworcmVzaXN0YW50CityZXNpc3Rpdml0eS9NCityZXNvdW5kL2tHCityZXNwZWN0aXZlL0lZCityZXNwbGVuZGVuY2UvTQorcmVzcG9uZGVudC9GU00KK3Jlc3BvbnNlL2J2VlN1TQorcmVzdGZ1bG5lc3MKK3Jlc3RyYWluL0doCityZXN0cmFpbmVkL1VZCityZXN0cmljdC9TRHZodVZHCityZXN1bXB0aW9uL00KK3Jlc3VycmVjdGlvbi9TTQorcmV0ZW50aXZlbmVzcworcmV0aWNlbmNlCityZXRpY3VsYXIKK3JldGlyYWwKK3JldHJhY3RpbGUKK3JldHJpYnV0aXZlCityZXRyaWV2ZS9SU0dECityZXRyb2ZsZXgvRE4KK3JldHJvZmxleGlvbi9NCityZXRyb2dyYWRlL1NERworcmV0dXJuZWQvVQorcmV2ZW5nZXIvTQorcmV2ZXJlL1NERworcmV2ZXJlbmNpbmcKK3JldmVyc2libGUvWUkKK3JldmlzaW9uaXNtL01TCityZXZpdmFsLzNNUworcmV2aXZpZnkvbgorcmhhcHNvZHkvUVNNd1cKK3JoZXRvcmljL01ZCitSaG9uZQorcmlhbC9NUworcmliYm9uL1NNCityaWJjYWdlCitSaWNraWUvTQorcmlkL3JTN0cKK3JpZGVyL3AKK3JpZGdlL0RHU01aCitSaWVtYW5uL00KK3JpZ2F0b25pL00KK3JpZ2h0ZnVsbmVzcworcmlnaHQtb24KK3JpbS9HcFNETQorUmlvcmRhbi9NCityaXBhcmlhbi9TCityaXBjb3JkL1NNCitSaXBsZXkvTQorcmlwcGx5L1QKK3JpcC1yb2FyaW5nL1kKK3Jpc3NvbGUvU00KK3JpdmFscnkvU00KK3JpdmVkL0MKK3JvYWQtYmFzZWQKK3JvYWRob3VzZS9TTQorcm9hZHN0ZXIvTVMKK3JvYWR3b3J0aHkKK3JvYXN0L1JHRFNKCitSb2JlcnRhL00KK3JvYmVzL0UKK3JvYmluL01TCityb2JvdC9XUU1TCityb2J1c3QvWVBUCitSb2J5L00KK1JvY2hkYWxlCitSb2NoZXN0ZXIvTQorcm9ja2V0L2R5U00KK1JvY2tpZXMKK1JvY2t2aWxsZS9NCitSb2RnZXIvTVMKK3JvZ2VyCityb2d1ZS95U00KK3JvZ3VlcnkvTVMKK3JvaXN0ZXIvZHJTCitSb2xhbmQvTQorUm9sbGFuZC9NCitSb2xsZXJibGFkZS9TCityb2xsLW9mZgorcm9sbC1vdXQKK1JPTQorUm9tYW5pYS9NCityb29kL01TCityb29rZXJ5L01TCityb29tL1o2TTJTCityb29tZnVsL1NNCitSb29uZXkvTQorUm9zYWx5bi9NCityb3NlYnVzaC9NUworUm9zZWxsYS9NCitSb3Nlbi9NCitSb3NldHRhL00KK1Jvc3NldHRpL00KK1JvdGFyaWFuL1NNCitSb3RoZXJoYW0vTQorcm90dW5kaXR5L1MKK3JvdWdoaXNoCityb3VuZC9UUllQRFNpRworcm91bmRlbC9TCityb3VuZC1zaG91bGRlcmVkCityb3VzZXIvTQorcm91c3RhYm91dC9NUworcm91dGVpbmcvQQorcm91dGUncworUlBJCitSdC4KK3J0ZQorUnUvTQorcnViYmluZy9NCitydWJlbGxhCitydWNrc2Fjay9TTQorcnVnYnkvTQorUnVnZ2llcm8vTQorcnVtaW5hbnQvU00KK3J1bXBseS9UCitydW50L01aUworcnVud2F5L1NNCitSdXNobW9yZS9NCitSdXNzby9NCitydXN0cmUvTVMKK1J1dGhhbm4vTQorcnV0aGVuaXVtL00KK1J1dGhlcmZvcmQvTQorU2Fhci9NCitzYWNrZXIKK3NhY3JlZG5lc3MKK3NhY3JpZmljaWFsCitzYWRkbGVyL00KK3NhZGRsZSdzCitzYWZlcworc2FmZXR5L1MKK3NhZ2FjaXR5CitzYWlsaW5nLXZlc3NlbAorU2FrYWkvTQorc2FrZXIvTQorc2FsYWNpb3VzbmVzcworc2FsYWQvU00KK3NhbGUvQk1tNVMKK1NhbGZvcmQKK1NhbGlzYnVyeS9NCitzYWxpdmEvTXkKK3NhbGxvd25lc3MKK3NhbmN0aW1vbmlvdXNuZXNzCitzYW5jdGlvbi9HRFNNCitzYW5kYmFnL1NNREcKK3NhbmR3aWNoL01TREcKK3Nhbml0eS9JU00KK1NhbmthcmEvTQorc2FyY29waGFndXMvTQorc2Fyc2FwYXJpbGxhL01TCitTYXNrYXRvb24vTQorc2F0L2QKK3NhdGlhYmxlL0kKK3NhdGlzZmFjdG9yeS9ZVQorc2F1Y2UvU0dNWjIKK1NhdWRpL1NNCitTYXVuZGVycworc2F1cmlhbi9TCitzYXVzYWdlL1NNCitTYXV0ZXJuZXMKK3NhdmFnZS9EUFNZR3kKK3NhdmFudC9TTQorc2F3bWlsbC9TTQorc2NhYnJvdXNuZXNzCitzY2FseS9UCitzY2FtcGkvTQorc2NhbnRuZXNzCitzY2FwdWxhZQorU2NhcmdpbGwKK3NjaG9sYXIvU1lNCitzY2hvb2wtZGF5L1MKK3NjaG9vbG1hcm0KK1NjaHJvZWRpbmdlci9NCitTY2h1bHR6L00KK1NjaHdhYi9NCitzY2llbmNlcy9GSworc2NpZW50aWZpYy9VWQorc2Nvb3BmdWwvUworc2NvcGUvU01HRAorc2NvcmVsaW5lCitTY290L001U20KK3NjcmFiYmxlL1NHRAorc2NyYWcvR01aU0QKK1NjcmFudG9uL00KK3NjcmFwZS9TSgorc2NyYXRjaHkvVAorc2NyZWVjaC9TWkRNRworc2NyZXcvTVpTMkdECitzY3JpcHR1cmUvb1NNCitzY3JvZnVsYS9NCitTY3Jvb2dlL1NNCitzY3JvdGEKK3NjcnViYmllcgorc2NydXRpbmlzZWQvVQorc2N1bGxpb24vU00KK3NjdXBwZXIvTVMKK1NjeWxsYS9NCitzZWFmb29kL00KK3NlYWZyb250L1NNCitzZWEtZ2lydAorc2VhbC9EVUFHUworc2VhbGVyL00KK3NlYW1zdHJlc3MvTVMKK3NlYXJjaC9CUkRKa1NHCitzZWFzb25lZC9VCitzZWMuCitzZWNvbmRhcmluZXNzCitzZWNyZXRhcmlhdC9TTQorc2VjdGlvbmFsL1E4Uworc2VjdWxhcml0eS9NCitzZWRnZS9TTVoKK3NlZGltZW50YXRpb24vTQorc2VlZC12ZXNzZWwKK3NlZW4vVWMKK3NlZXBhZ2UvU00KK3NlZS1zYXcvRFNNRworc2VncmVnYXRpb24vM00KK3NlaWduaW9yaWFsCitTZWluZmVsZC9NCitTZWxieS9NCitzZWxlY3RlZC9VCitzZWxlY3Rvci9NUworc2VsZi1hYmFzZW1lbnQKK3NlbGYtYWJ1c2UKK3NlbGYtYXNzdXJhbmNlCitzZWxmLWNvbW1hbmQKK3NlbGYtY29uZmVzc2VkCitzZWxmLWNyaXRpY2lzbQorc2VsZi1kZWZlbmNlCitzZWxmLWRlbnlpbmcKK3NlbGYtZXZpZGVuY2UKK3NlbGYtaGF0ZQorc2VsZi1pbnZvbHZlZAorc2VsZi1wZXJwZXR1YXRpbmcKK3NlbGYtcHJlc2VydmF0aW9uCitzZWxmLXJlZmVyZW50aWFsCitzZWxmLXJlc3BlY3QvRworc2VsZi1zYXRpc2ZhY3Rpb24KK3NlbGYtc2VsZWN0aW5nCitzZWxmLXN1ZmZpY2llbnQKK3NlbGYtc3VwcG9ydC9HCitzZWxmLXN1c3RhaW5pbmcKK3NlbWkvTVMKK3NlbWljb25kdWN0b3IvU00KK1NlbWlub2xlL1NNCitzZW1pLXBlcm1hbmVudC9ZCitzZW5hdG9yL01TCitzZW5zYXRpb24vTQorc2Vuc2VsZXNzbmVzcworc2Vuc2liaWxpdHkvSU1TCitzZW50aWVudGx5CitzZXB0aWNhZW1pYQorc2VxdW9pYS9TTQorU2VxdW95YS9NCitzZXJlbmRpcGl0eS9NUworc2VyaW91cy9ZCitTZXJyYW5vL00KK3NlcnZpY2UvbUI1RE1TRworc2VydmljZWQvVQorc2VydmlsaXR5L01TCitzZXJ2aW5nJ3MKK3Nlc3NpbGUKK3Nlc3Npb24vTVMKK3NldHRsZXMvVUEKK1NldXNzL00KK3NldmVudHkvSFMKK3NldmVudHktdGhyZWUvSAorc2V2ZW50eS10d28KK3NldmVyL2RFUworc2V3bgorc2V4YWdlbmFyaWFuL1NNCitzZgorc2ZvcnphbmRvL1MKK3NoYWR5L1lUCitTaGFsb20ncworc2hhbWFuaXN0aWMKK3NoYW1lZmFjZWQvWQorc2hhbW1lcgorc2hhbnR1bmcvTQorc2hhbnR5L01TCitzaGFycHNob290aW5nCitTaGF3L00KK3NoYXdtL1NNCitTaGF3bmVlL01TCitzaGVlcC1kaXAKK3NoZWVybmVzcworc2hla2VsL01TCitzaGVsZmZ1bC9TCitzaGVsbC9TREdNCitzaGVsbGFjL0RTRworc2hlbGxlZC9VCitTaGVsbGllL00KK3NoaWJib2xldGgvTVMKK3NoaWZ0L1J6WjJTREdwCitzaGltL0RaR01TCitzaGlwYm9hcmQvTQorc2hpcGJ1aWxkZXIvTVMKK3NoaXJlL1NNCitzaG9hbC9TTQorc2hvZGR5L1RQCitzaG9ndW5hdGUvU00KK1Nob2ppL00KK3Nob290aW5nLWphY2tldC9TTQorc2hvcC9HUkRTTQorc2hvcC13aW5kb3cvU00KK3Nob3J0L1laU1RER1AKK3Nob3J0LWNoYW5nZS9HU0QKK3Nob3J0ZmFsbC9NUworc2hvcnQtaGFuZGVkCitzaG9ydC1saXN0L0RHCitzaG9ydHN0b3AvTVMKK3Nob3VsZC9SCitzaG92ZWxmdWwvU00KK3Nob3dnaXJsL01TCitzaHJpbmUvTVMKK3NodWZmbGVyL1NNCitzaHV0LWV5ZQorU2liZWxpdXMvTQorc2lja2xlLWJpbGwKK3NpZGUtdHJpcAorU0lEUworU0lHR1JBUEgvTQorc2lnaHRpbmcvUworc2lnbW9pZAorc2lnbi9GUlNDQUdECitzaWduaWZpY2FudC9JWQorc2lnbmlmaWVyCitzaWxpY2VvdXMKK3NpbGwvMllTTQorc2lsdmVyeS9UCitTaWx2ZXN0ZXIvTQorc2ltb29tCitzaW11bHRhbmVvdXNuZXNzCitzaW5mdWwvUAorc2ludXNvaWQvb01TCitzaXN0ZXIvTUFTCitzaXN0ZXJob29kL1NNCitzaXQtaW4vUworc2l4L0hTTQorc2l4ZXIKK3NpeC1zaG9vdGVyL1MKK3NpeHRoL1kKK3NpeHR5LWVpZ2h0L0gKK3NrZXdlci9kCitza2lubnkvUFQKK1Nrb3BqZS9NCitza3kvUzdSR0RaTQorU2t5ZS9NCitzbGFwZGFzaAorU2xhdi9TTVcKK3NsYXZlL1NSTXlERworc2xhdmlzaC9ZUAorc2xlZXBvdmVyL1MKK3NsZWVwd2Fsay9SREdTSgorc2xlZXB5L1BUCitzbGlkZS9TRworc2xpZ2h0aXNoCitzbG9wZS9TCitzbG91Y2h5L1QKK1NMUgorc2x1ZGd5L1QKK3NsdXIvR0RTWk0KK3NsdXR0aXNoCitTbWFsbHdvb2QvTQorc21pdGhlcmVlbnMKK3NtaXRoZXJ5L1MKK1NtaXRoc29uaWFuL00KK1NtaXRodG93bi9NCitzbW9rZS1kcmllZAorc21vcmdhc2JvcmQvU00KK3NtdXQvMkdEWlNNCitzbmVha3kvVFAKK3NuaXAvRHJHWlMKK3Nub2JiZXJ5L1NNCitzbm9vcC9aU1JERworc25vb3plL1NHRAorc25vdHR5L1RQCitzbm93ZHJvcC9NUworc25vd21vYmlsZS9TTQorc251ZmYvUllHU0QKK3NudWZmbGUvR1NECitzby9NCitzb2FrZXIvTQorc29hcmVyL00KK3NvY2Nlci9NCitzb2NpYWJpbGl0eS9VCitzb2NpYWJseS9VCitzb2Npb2xpbmd1aXN0cworU29jb3Jyby9NCitzb2Z0LXBhc3RlCitzb2Z0LXBlZGFsL0dECitzb2Z0d29vZC9NUworc29pCitzb2xhcml1bS9NCitzb2xkZXJlZAorc29sZWNpc20vU00KK3NvbGVtbmVzcworc29saWNpdG91cy9ZCitzb2xpZGlmaWNhdGlvbi9NCitzb2xpbG9xdWllcworc29saWxvcXVpc2UvU0RHCitzb2xpcHNpc20vTQorc29saXBzaXN0L1MKK3NvbG8vR0RNUworc29sdXRlL0FFCitzb2x2YXRpbmcKK1NvbWFsaS9TTQorc29tYnJlcm8vU00KK3NvbmcvTVMKK3NvbmdiaXJkL01TCitzb25nd3JpdGVyL1NNCitzb24taW4tbGF3CitTb25vcmEvTQorc29vbmlzaAorc29vdGhlL1MKK1NvcGhpZS9NCitzb3BoaXN0cnkvU00KK3NvcG9yaWZpYy9TTVkKK1NvcHdpdGgvTQorU29yYm9ubmUvTQorc29yY2VyZXNzL1MKK3NvcmVuZXNzCitTb3JlbnNvbi9NCitzb3Jyb3cvREdNNmpTCitTb3NhL00KK3NvdWxmdWwvUAorc291cmNlL1NlREdBCitTb3V0aGV5L00KK3NwYWNleQorU3BhcnRhL00KK3NwYXRpby10ZW1wb3JhbC9ZCitzcGF5L0RTRworU1BDQQorc3BlYWtzL2EKK3NwZWNrbGUvREdTTQorc3BlY3Ryb3Njb3BlL00xWlNXCitzcGVjdWx1bQorc3BlZWQvRFJKWlNHMk16CitzcGVlZGJvYXQvTVMKK3NwZWxsYmluZC9TUkcKK3NwZWxsYm91bmQKK1NwZW5zZXIvTQorc3BoYWduYQorc3BpY3kvVFlQCitzcGlkZXJpc2gKK3NwaWVsL0RTR00KK3NwaWxsL2NHRFMKK3NwaW5kbHkvVAorc3BpbmRyaWZ0CitzcGlyaXR1YWwvM1lTCitzcGl0L1JHUworc3BpdGZpcmUvTVMKK1NwaXR6L00KK3NwbGF5ZmVldAorc3BsZWVuL1NNCitzcGxlbmRvdXIvU00KK3NwbGljZS9HRFJTSgorc3Bsb3RjaC9NR0RTWgorc3BvaWx0L1UKK3Nwb2tlc3BlcnNvbi9TCitzcG9vay9NR1pTRDIKK3Nwb29uZnVsL01TCitzcG90bGl0CitzcG90LXdlbGQvREcKK3NwcmVlL01HUworc3ByaWcvTVNERworc3BydWNlL1lNRFBTRworc3ByeWVzdAorc3B1cmlvdXMvWVAKK3NwdXR0ZXIvZFMKK3NxdWFtb3VzCitzcXVhbmRlcmVyCitzcXVhdC9ZVFJTUERHCitzcXVlYWsvUlpTR01EMnoKK3NxdWVlemUvU1JERworc3F1aXJtL1pTREcKK3NxdWlzaC8yREdaUworU1NICitzdGFibGUtYm95L1NNCitzdGFibGUtZ2lybC9NUworU3RhY2llL00KK3N0YWZmZXJzCitzdGFneS9UCitTdGFobC9NCitzdGFpbmVyL00KK1N0YWxsb25lL00KK3N0YW1wZWRlL01TCitzdGFtcGVkZXIvTQorc3RhbmQtYWxvbmUKK3N0YW5kLXVwCitzdGFuaworc3RhcmRvbS9NUworc3RhcnQtdXAvTVMKK3N0YXJ2YXRpb24vTQorc3RhdGVob3VzZS9TCitTdGF0ZW4vTQorc3RhdGUncworU1RECitzdGVhZGluZXNzL00KK3N0ZWFsdGgvTTJ6Wgorc3RlYWx0aHkvVFAKK3N0ZWVseS9QVAorc3RlZXJhZ2UvU00KK1N0ZWZhbm8vTQorU3RlaW53YXkvTQorc3RlbmNoL1NNCitTdGVuZ2VsL00KK1N0ZXBoZW4vTVMKK3N0ZXBzaXN0ZXIvU00KK3N0ZXBzb24vTVMKK3N0ZXB3aXNlCitzdGVybnVtL1NNCitzdGV3YXJkL0dNRFMKK3N0aWNrdXAvU00KK3N0aXRjaCdzCitTdG9ja3Rvbi9NCitzdG9pY2lzbS9NUworc3Rva2UvU1JHRAorc3RvbmUtY29sZAorc3RvbmV3YXJlL00KK3N0b29sLXBpZ2Vvbgorc3RvcC1nbworc3RvcmUvU0FHRAorU3RvdWZmZXIvTQorc3RyYWl0ZW4vZFMKK3N0cmFpdGphY2tldC9kTVMKK3N0cmFpdC1qYWNrZXQvZFNNCitTdHJhdGZvcmQtdXBvbi1Bdm9uCitzdHJhdHVtL00KK3N0cmVhay9SU0RaR00KK3N0cmVha3kvVAorc3RyZW5ndGgvU00KK3N0cmVuZ3RoZW4vQWRTCitzdHJlcHRvY29jY3VzL00KK3N0cmV0Y2hhYmlsaXR5L00KK3N0cmlrZS9SR1NrCitzdHJvbGwvU1JHRAorc3Ryb3AvU01ERworc3RydWN0dXJlbGVzcworc3R1YmJsZS9ZU00KK3N0dWx0aWZ5L25TR05ECitzdHVudG1lbi9NCitzdHkvU00KK3N0eWxpc3RpYy9TCitTdWFyZXovTQorc3VhdmUvWQorU3ViCitzdWJjb21taXR0ZWUvU00KK3N1YmNvbnRyYWN0L1NHRE0KK3N1YmludGVydmFsL1NNCitzdWJsaW1hdGUvRFNHCitzdWJsaW1hdGlvbi9NCitzdWJtaXNzaW9uL01BCitzdWJtaXNzaXZlL1BZCitzdWJtaXR0YWwKK3N1Ym5ldC9NUworc3Vib3JkaW5hdG9yCitzdWJzaXN0ZW5jZS9NCitzdWJ0ZW5hbnQvU00KK3N1YnRleHQvU00KK3N1YnRsZS9QVFkKK3N1Y2Nlc3NmdWwvUAorc3VjY2Vzc2Z1bGx5L1UKK3N1Y2Nlc3NmdWxuZXNzL1UKK3N1ZmZlcmFuY2UvTQorc3VmZmljZS9TR0QKK3N1ZmZpY2llbnQvSVkKK3N1Z2dlc3RpYmlsaXR5L00KK3N1aXRhYmlsaXR5L1UKK3N1bGxpZWQvVQorc3VuYmF0aGUKK3N1bmRhZS9TTQorc3Vua2VuCitzdW5saWdodC9NCitzdW5yaXNlL1NNCitzdW5zaGluZS9aTQorc3Vuc3Ryb2tlL00KK3N1cGVyY29uZHVjdGluZworc3VwZXJmaWNpYWwvWQorc3VwZXJmbHVpdHkvTVMKK3N1cGVyZmx1b3VzL1kKK3N1cGVyaGVhdC9ECitzdXBlcmhlcm9lcworc3VwZXJub3ZhZQorc3VwZXJvcmRpbmF0ZQorc3VwZXJzYXR1cmF0aW9uL00KK3N1cGVyc2VkZS9HU0QKK3N1cHBseSdzL2MKK3N1cHBvcnRhYmlsaXR5L00KK3N1cHBvcnRhYmxlL0lVCitzdXBwb3NpdG9yeS9TTQorc3VwcHJlc3NlZC9VCitzdXJnZW9uL1NNCitzdXJwbGljZS9NUworc3Vycm91bmQvRFNKRworc3VydmVpbGxhbmNlL01TCitzdXJ2aXZlL0JHRFMKK3N1c2hpL00KK1N1c3NleC9NCitTdXZhL00KK1N1enVraS9NCitzd2FsbG93L0RHUworc3dhbXAvREdaUzJNCitTd2FydGhtb3JlL00KK3N3YXRoZS9TCitzd2Vhci9SU0cKK3N3ZWF0c2hvcC9TTQorc3dlZXQvU1RZCitzd2VldG1lYXQvTVMKK3N3ZWV0bmVzcworc3dlcnZlL0RHUworc3dpZy9NU0RHCitzd2ltbWluZy9ZCitTd2luYnVybmUvTQorU3dpbmRvbi9NCitTd2l0emVybGFuZC9NCitzd2l6emxlL01HRAorc3dpenpsZS1zdGljay9TTQorc3dvb3AvREdTCitzd29yZHNtYW5zaGlwL00KK3N3dW0KK1N5a2VzL00KK3N5bGxhYmlmeS9HTlNuRAorc3lsbGFidWIvTQorc3lsbG9naXN0aWMKK3N5bWJpb3Nlcworc3luY2hyb25pc2UvQ1NBR0QKK3N5bmNocm9uaXNlZC9VCitzeW5jaHJvbmlzZXIvQ1NNCitzeW5jaHJvbnkvODlzcVEtCitzeW5jbGluZS9NUworc3luZGljL25OTVMKK3N5bm9kYWwKK3N5bm9wdGljCitzeXBob24vZAorc3lydXAvU00KK3RhYnVsYXRpb24vTQordGFjdGljL01TCit0YWN0J3MvRgorVGFmZi9NWgorVGFoaXRpL00KK3RhaWxib2FyZAordGFpbC1lbmQKK3RhaWwtZW5kZXIvUwordGFpbGluZy9TTQorVGFpd2FuL00KK3Rha2VvdmVyL01TCit0YWtlLXVwCit0YWxvbi9NUwordGFtYXplcGFtCit0YW1lZC9VCitUJ2FuZwordGFuZ2VudC9NUwordGFuZ2xlL0RTVUcKK3Rhbm5lZC9VCit0YW5uZXJ5L1NNCit0YW5uaW5nL00KK3RhbnRyYS9TCitUYW9pc3QvU1dNCit0YXBlLXJlY29yZC9HCit0YXBld29ybS9NUwordGFyaWZmL01HRFMKK3RhcnBhdWxpbi9TTQordGF0dGVyZWQKK3RhdXRvbG9neS9NUzF3Cit0ZWFrL01TCit0ZWFybGVzcy9ZCit0ZWF0L01TCit0ZWNobmlxdWUvU00KK3RlY2hub3Bob2JpYQordGVjdG9uaWMvWVMKK3RlZGl1bS9NCit0ZWVtL0RHUwordGVldG90YWxpc20vTVMKK1RlZ3VjaWdhbHBhL00KK1RlaGVyYW4ncwordGVrdGl0ZS9NUworVGVrdHJvbml4L00KK3RlbGVjb21tdW5pY2F0ZS9uTgordGVsZWdyYW0vU0dETQordGVsZWtpbmV0aWMKK3RlbGVtYXJrZXRpbmcKK3RlbGVzY29wZS9NR1MxRFcKK3RlbGV0aG9uL01TCit0ZWxldmlzaW9uL00KK3RlbGwvUllrR1MKK1RlbHVndS9NCit0ZW1lcml0eS9TTQordGVtcGVzdC9TTQordGVuYW5jeS9TTQordGVuY2gvTQordGVuZC9GUktTSUdECit0ZW5vbi9TTQordGVudW91c25lc3MKK3RlcGlkaXR5L1MKK3RlcmNlbC9NCit0ZXJtaW5hdGlvbi9NQwordGVybWludXMvTQordGVybWlzbQordGVycmFpbi9TTQordGVycmF6em8vTQorVGVycmkvTQordGVycmlmeS8xU1dHRGsKK3RlcnJpdG9yaWFsaXR5L00KK3RlcnJvci9xczlRODMtU00KK1Rlc2xhL00KK1RFU09MCit0ZXNzZWxsYXRlL05ER1NuCit0ZXN0L0tGRENHU0EKK3Rlc3RhYmxlCit0ZXN0YW1lbnRhcnkKK3Rlc3RlcwordGVzdG9zdGVyb25lL1NNCit0ZXRyYWNobG9yaWRlL00KK3RldHJhcmNoCit0ZXRyb2RlCitUaGFkL00KK1RoYWRkZXVzL00KK3RoYW5rc2dpdmluZy9NUwordGhhdCdkCitUaGF5ZXIvTQordGhlbWUvTVNECit0aGVtc2VsdmVzCitUaGVvL00KK3RoZW9sb2dpYW4vTVMKK3RoZXJhcHkvU00KK3RoZXJlJ2xsCit0aGVybWlvbmljL1MKK3RoZXJtb2VsYXN0aWMKK3RoZXJtb2Zvcm1lZAordGhleSdyZQorVGhpZXJyeQordGhpZXZlcnkvU00KK3RoaWV2aXNobmVzcwordGhpbmdhbWFqaWcvU00KK3RoaXJkLXBhcnR5Cit0aGlyZC1yYXRlCit0aGlydHktc2Vjb25kL1MKK3RoaXJ0eS10d28KK3RoaXRoZXIKK3Rob3JvdWdoYnJlZC9TCit0aG91Z2h0LXByb3Zva2luZworVGhyYWNlL00KK3RocmFsbC9TTQordGhyYXNoaW5nL00KK3RocmVlLWxpbmUKK3RocmV3L2MKK3Rocm9hdHkvVFAKK3Rocm9tYmkKK3Rocm91Z2hvdXQKK3Rocm91Z2hwdXQvU00KK3Rocm93YXdheS9NUwordGhyb3diYWNrL01TCit0aHJ1c3QvR1JTCit0aHVnZ2lzaG5lc3MKK3RodWxpdW0vTQordGh1bmRlcmNsb3VkL1NNCit0aWJpYWUKK3RpY2svTVMKK3RpY2tldC1kYXkKK1RpY29uZGVyb2dhL00KK3RpZGFsCit0aWR5L0dZU0RUCitUaWVybmV5L00KK3RpZ3Jlc3MvTVMKK1RpbGxtYW4vTQordGlsdC9ER1MKK3RpbWVrZWVwZXIvU00KK3RpbWUtbGFwc2UKK3RpbWUtb3V0L1MKK3RpbWUtd29ybgorVGltZXgvTQordGlwdG9wCit0aXJlL2NBR0RTCit0aXJpbmcvVQorVGl0aWFuL00KK3RpdGxlaG9sZGVyL01TCit0aXRtb3VzZS9NCit0aXR0ZXIvZAordGl0dGxlL01TCit0aXp6eS9NUworVEtPCitUbQordG9hZC9NWlMKK3RvZmZlZS9TTQordG9nZXRoZXJuZXNzCit0b2tlbmlzbS9TTQorVG9rdWdhd2EvTQordG9sZXJhYmlsaXR5L01JCit0b2xlcmFibHkvSQordG9sbGJvb3RoL01TCit0b2xsLWhvdXNlL00KK3RvbGwtcm9hZC9NUwordG9tYXRvL00KK3RvbWF0b2VzCit0b21ibGlrZQordG9tYm95L1NNCit0b21vZ3JhcGh5L01XCit0b25lbGVzcy9ZCit0b25ndWUvR1NNRAordG9uZ3VlLWluLWNoZWVrCitUb25pYS9NCit0b29rL2FmY0EKK3Rvb3QvR1JEUwordG9vdGh5L1QKK3RvcGF6L01TCit0b3AtZG93bgordG9wZmxpZ2h0Cit0b3AtbGV2ZWwKK3RvcG1hc3QvU00KK3RvcmNoLWJlYXJlci9TTQordG9ybWVudC9HRGtTCit0b3Jwb3IvTVMKK1RvcnJhbmNlL00KK3RvcnR1b3VzbmVzcworVG9zY2FuaW5pL00KK3RvdC9EU29NRwordG91Y2gtdG9uZQordG91cm5hbWVudC9NUworVG93bmxleS9NCit0b3duc2NhcGUKK1Rvd25zZW5kL00KK3RveGluL01TCit0cmFjZWFiaWxpdHkKK3RyYWNlZC9VCit0cmFjZXIvWlNNCit0cmFjZXJ5L1NNCit0cmFjaGVvdG9teS9NUwordHJhZGl0aW9uYWxpc20vTVMKK3RyYWRpdGlvbmFsaXN0L1cKK3RyYWlsYmxhemluZwordHJhaW5lZC9VCit0cmFpbmVyL01TCit0cmFtd2F5L1NNCitUcmFubWVyZQordHJhbnNhbHBpbmUKK3RyYW5zY2VuZGVudGFsaXN0Cit0cmFuc2l0aXZpdHkvTQordHJhbnNsYXRlL0RnTkduUwordHJhbnNsYXRlcy9hCit0cmFuc25hdGlvbmFsCit0cmFuc29tL1NNCit0cmFuc3BhcmVuY3kvU00KK3RyYW5zcGFyZW50L1kKK3RyYW5zcGlyYXRpb24vTQordHJhbnNwdXRlci9NCit0cmVhc3VyeS9TTQordHJlYXR5L01TCit0cmVsbGlzLXdvcmsKK3RyZW1vci9TTQordHJlbmNoZXIvbVNNCit0cmVwaWRhdGlvbi9NUwordHJlc3MvYU1TCit0cmlhZC9XU00KK3RyaWNlCit0cmljZXJhdG9wcy9NCit0cmljaGlub3Npcy9NCit0cmljaHJvbWF0aWMKK3RyaWxieS9NUwordHJpbWFyYW4vU00KK1RyaW1ibGUvTQordHJpbml0cm90b2x1ZW5lL00KK3RyaXBodGhvbmdhbAordHJpcGxpY2F0ZS9TCit0cmlzb2RpdW0KK3RyaXVtcGhhbnQvWQordHJvbXBlCit0cm91YmxlbWFraW5nCit0cm91bmNlL0dEUwordHJvdmUvU00KK3Ryb3dlbC9NUwordHJ1Y2svRFJHTVMKK1RydWRlL01aCit0cnVlLWJvcm4KK3RydWlzbS9NUworVHJ1bWJ1bGwvTQordHJ1dGhmdWxuZXNzL1UKK1RSVworVCdzCit0c3VuYW1pL1NNCit0dWJieS9UCit0dWJlcmNsZS9TTQorVHVjc29uL00KK3R1bGlwL01TCit0dW1ibGVyLzYKK3R1bWVzY2VudAordHVtaWQvWQordHVtb3JvdXMKK3R1bi9XN3JkU1oKK3R1cHBlbmNlL00KK3R1cmVlbi9TTQordHVya2V5L01TCitUdXJtZW5pc3RhbgordHVybm91dC9NUwordHVycGVudGluZS9NCit0dXR1L01TCit0d2FpbgordHdhbmd5L1QKKyd0d2FzCit0d2Vhay9EU1JHCit0d2VlbmVzcwordHdpc3QvUlpHU0QKK3R3by9TTQordHdvLXN0cm9rZS9NUwordHdvLXRoaXJkcworVHlsb3IvTQorVHluZXNpZGUvTQordHlwZWQvVQordHlwZWZhY2UvTVMKK3R5cmFudC9TTQorVHlyZWUvTQordHphdHppa2kKK1UKK3Vmb2xvZ2lzdC9TCit1Zm9sb2d5L00KK1VscmljaC9NCit1bHRyYXNvbmljL1NZCit1bWJyYWdlb3VzCitVTgordW5hY2NvdW50YWJpbGl0eQordW5hdmFpbGluZy9ZCit1bmNoYWxsZW5nZWFibGUKK3VuY2l2aWwKK3VuY2xlL01TCit1bmNsZWFuCit1bmNvbWZvcnRhYmxlCit1bmNvbmRpdGlvbmFsCit1bmNvbnRyb2xsYWJpbGl0eQordW5kZXBlbmRhYmxlCit1bmRlci1hZ2UKK3VuZGVyYXJtCit1bmRlcmNvYXQvRwordW5kZXItaW52ZXN0bWVudAordW5kZXJzdGFuZC9hSlNHCit1bmRlcnRvdy9NCit1bmRlcndhdGVyCit1bmRlcndlaWdodAorVW5kZXJ3b29kL00KK3VuZHJlc3MvRwordW5ncmFtbWF0aWNhbAordW5oZWxwZnVsCit1bmhvb2svRwordW5pY2VsbHVsYXIKK3VuaWN5Y2xlL0RNRzNTCit1bmltcG9ydGFudAordW5pbnRlcnJ1cHRlZC9ZCit1bmludHVpdGl2ZQordW5pb25zL0VBCitVbml0YXJpYW4vU00KK3VuaXZhbGVudAordW5pdmVyc2Uvb01TCit1bml2ZXJzaXR5L01TCit1bm9idHJ1c2l2ZW5lc3MKK3VucGljay9HCit1bnB1bmN0dWFsCit1bnJlYWxpc20KK3VucmlwZQordW5zY3J1cHVsb3VzbmVzcwordW5zZWVtbHkKK3Vuc2VsZmNvbnNjaW91cy9ZCit1bnNlbGxhYmxlCit1bnNob2QKK3Vuc3RlYWRpbmVzcwordW5zdG9wcGFibGUvWQordW5zd2VydmluZy9ZCit1bnRob3VnaHRmdWwKK3VudGllCit1bnRpbAordW50cnVzdHdvcnRoeQordW53aWVsZGluZXNzCit1bndpbGxpbmduZXNzCit1bndvcnRoeQordXAvTUZTCit1cGVuZC9TR0QKK3VwbWFya2V0Cit1cHBpdHkKK3Vwcm9hci9TTQordXBzZXQvU0cKK3VwdGlnaHQKK3VwdGltZQorVXIvTQordXJhZW1pYS9NCitVcmJhbmEvTQordXJldGhyYWwKK1VyaS9NCitVcnVndWF5L00KK1VTQy9NCitVU0RBCit1c2VkL2ZVCitVc2VuZXQvTQordXRlcmluZQordXR0ZXIvWWRTCit1dHRlcm1vc3QKK3V1Y3AvTQordmFjY2luYXRpb24vTQordmFjaWxsYXRlL1NEa0dObgordmFjaWxsYXRvci9NUwordmFnYXJpb3VzCit2YWdyYW5jeS9NUwordmFpbi9UWQordmFsZW5jZS9NS1MKK3ZhbGlkYXRlL0lEQVNHTgordmFsbGV5L1NNCit2YWx1YWJsZS9ZUwordmFtcC9BR1NECitWYW5kZXJiaWx0L00KK3ZhbmlsbGEvU00KK3ZhcGlkL1kKK3ZhcmlhYmlsaXR5L1NJTQordmFyaWNvc2UKK3ZhcmllZC9VCit2YXJuaXNoZWQvVQordmFzZWN0b215L01TCitWYXNpbGkvU00KK3Zhc3RuZXNzL1MKK3ZhdWRldmlsbGlhbi9TTQorVkRUCit2ZWdhbi9NUwordmVnZXRhcmlhbi9TTQordmVnZXRhcmlhbmlzbS9TTQorVmVs4XNxdWV6L00KK1ZlbG1hL00KK3ZlbG9jaXBlZGUvTVMKK1ZlbHZlZXRhL00KK3ZlbHZldGVkCit2ZW5nZWZ1bG5lc3MvQQordmVudC9JR0ZTSworVmVudHVyYS9NCit2ZXJhbmRhaC9NUwordmVyYmF0aW0KK3ZlcmJpYWdlL1NNCit2ZXJkaWdyaXMvTQordmVyZ2UncwordmVyaWZpZWQvQVUKK3Zlcml0eS9TTQordmVybWljdWxpdGUvU00KK3Zlcm1pbi9NCit2ZXJtaW5vdXMKK3Zlcm5hY3VsYXIvWVMKK3Zlcm9uaWNhL1NNCit2ZXJydWNhZQorVmVyc2FpbGxlcy9NCit2ZXJ0ZWJyYWUKK3ZlcnRpY2FsaXR5Cit2ZXN0ZWQvSQordmVzdGlnaWFsCit2ZXN0aW5nL0kKK3ZleGF0aW91c25lc3MKK1ZpYWdyYS9NCit2aWNhcmFnZS9TTQordmljYXJpb3VzL1kKK3ZpY2h5c3NvaXNlL01TCit2aWN0b3J5L1NNCitWaWRhL00KK3ZpZXdncmFwaC9TTQordmlsZXIvQQorVmlsbGFub3Zhbi9NCitWaWxsZW5ldXZlL00KK1ZpbmNlbm5lcwordmluZWdhci9NUwordmludGFnZS9TTQordmlvbGFibGUvSQordmlyZ2luL01vUwordmlzY2VyYS9vCitWaXNobnUvTQordml0aWN1bHR1cmUvTQordml2YWNlCitWSgorVkxGCit2b2NhbGlzbS9NCit2b2x0YWdlL1NNCit2b2x1bnRhcmlzbS9TTQorVm9uCitWcmllcworVlRPTAordnUKK3Z1bGNhbmlzZS9HRG5TCit2dWxjYW5pemUvR0ROU24KK3dhY2t5L1QKK1dhY28vTQord2FndGFpbC9NUworV2Fpa2lraS9NCit3YWluc2NvdC9ER2RTCit3YWtlL2o2TUdEUword2Fsa2Fib3V0L01TCit3YWxraWUKK3dhbGtpZS10YWxraWUvUword2FsbGV0L1NNCit3YWxsLWV5ZS9EU00KK3dhbGxwYXBlci9kU00KK1dhbHBvbGUvTQord2FscnVzL01TCit3YWx0ei9EU0dNCitXYW5kc3dvcnRoL00KK1dhbmcvTQord2FubmFiZS9TCit3YW50L0RHUword2FyZC9NQUdTRAorV2FyZWhhbS9NCit3YXJtL1RSSkRTR1kKK1dhcm5lci9NCitXYXJyaW5ndG9uL00KK1dhcndpY2tzaGlyZS9NCit3YXMKK3dhc2hkYXkvTQord2FzaGVyd29tZW4vTQord2FzdGFnZS9TTQorV2F0YW5hYmUvTQord2F0Y2hmdWxuZXNzCit3YXRlci1iZWQvUword2F0ZXItYm9ybmUKK1dhdGVyYnVyeS9NCitXYXRlcmZvcmQvTQord2F0ZXJpbmctaG9sZQord2F0ZXItc29sdWJsZQord2F0ZXJ3aGVlbC9TCit3YXZlZm9ybS9NUword2F4ZW4KK3dheHkvVAord2F5ZmFyaW5nCit3YXlsYWlkCitXYXlsYW5kL00KK1dlYWxkL00KK3dlYXBvbnJ5L1NNCit3ZWF0aGVycGVyc29uL1MKK3dlYXRoZXItd29ybgord2VhdmUvQUdTCit3ZWF2ZWQKK3dlYi1mb290ZWQKK3dlYnNpdGUvTVMKK1dlZG5lc2RheS9NUword2VpZ2hicmlkZ2UKK3dlaWdoLWluCit3ZWxsLWFkanVzdGVkCit3ZWxsLWJhbGFuY2VkCit3ZWxsLWJlaGF2ZWQKK3dlbGwtYnJlZAord2VsbC1jb25uZWN0ZWQKK3dlbGwtZm9ybWVkCit3ZWxsLW1hcmtlZAord2VsbC1wcmVwYXJlZAord2VsbHNwcmluZy9TTQord2VsbC1zdXBwb3J0ZWQKK1dlbmR5L00KK3dlcHQKK1dlc2xleWFuCitXZXN0ZXJuaXNtL00KK1dleGZvcmQvTQord2hhbGVib2F0L1NNCit3aGF0bm90L1NNCitXaGVhdGxhbmQKK3doZWVsLWNsYW1wL0dECit3aGVyZWluCit3aGV0aGVyCit3aGV5L00KK3doaWxzdAord2hpbmUvU1JHRE1aaword2hpcHNhdy9TTUdECit3aGlyL0RHUword2hpcmxpZ2lnL1NNCit3aGlybHdpbmQvTVMKK3doaXNrL0dSRFpTCit3aGl0ZWJvYXJkL1MKK1doaXRsZXkvTQord2hpdHRsZS9SREdTSgord2hvbGx5Cit3aG9zZQord2lja2V0LWdhdGUKK3dpY2tldC1rZWVwZXIvU00KK3dpZHRod2F5cword2llbGQvU1JERworV2llc2JhZGVuL00KK3dpZmUvTXBZCit3aWdnbHkvVAord2lnd2FnL0dTRAord2lsZGVyL1AKK3dpbGRsaWZlL00KK1dpbGhlbG0vTQorV2lsbGNveC9NCitXaWxsb3VnaGJ5L00KK3dpbGx5L1MKK1dpbG1ldHRlCit3aW4vUkdkU0oKK3dpbmRmYWxsL01TCit3aW5kbGFzcy9TRE1HCit3aW5kbWlsbC9NUword2luZHN1cmYvU0dEUgord2luZHkvUFlUCit3aW5lbWFrZXIvU00KK3dpbm5vdy9ER1JTCit3aW5zb21lbmVzcword2ludGVyZ3JlZW4vU00KK3dpcmUtaGFpcmVkCit3aXJlbGVzcy9NUword2lyZXMvQQord2lzcC9NWlMKK3dpdGNoLWh1bnQvUword2l0aGVyL2sKK3dpdGhob2xkL1NSSkcKK3dpdGhvdXQKK3dpemFyZHJ5L1NNCitXTword29iYmxlL1NZMkRHCitXb2xmc29uCit3b2xmLXdoaXN0bGVzCit3b21hbmhvb2QvU00KK3dvbWFuaXNoCit3b21lbi9NCitXb29kYXJkCit3b29kY2FydmVyL1MKK1dvcmNlc3RlcnNoaXJlL00KK3dvcmUvZQord29ya2FiaWxpdHkvTQord29ya2FibGVuZXNzCit3b3JrYm9vay9NUword29ya3Jvb20vU00KK3dvcmtzaGVldC9TCitXb3Jrc29wL00KK3dvcm0tY2FzdHMKK3dvcm1ob2xlL1NNCit3b3JuL2VVCit3b3JyaXNvbWUvWQord29yc2hpcGZ1bG5lc3MKK1dvcnRoaW5nL00KK3dvdWxkc3QKK3dvdmVuL1VBCit3cG0KK3dyYXAvY1UKK3dyYXBhcm91bmQvUword3Jhc3NlL01TCit3cmVja2FnZS9NUworV3Jla2luL00KK3dyaXN0YmFuZC9NUword3JpdC9NclMKK3dyaXRlcy9jCit3cml0aW5nL0FTCit3cm9uZy9qNkdZU0QKK3dyb25nZG9lci9NUworV3lhdHQvTQoreGVyb2dyYXBoeS9NVworWGhvc2EKK1htYXMKK3h2Cit4dmkKK3h5bGVtL1NNCit5L0sKK1lhbWFoYS9NCit5YXcvRFNHCit5ZWxsb3cvR0RTTVoKK3llbGxvdy1iZWxsaWVkCitZZWxsb3drbmlmZS9NCit5ZWxwL0RHUworeWVzdGVyeWVhci9TTQoreWlrZXMKK3lvZGVsL1JER1MKK3lvZ2h1cnQvTQorWW9rb2hhbWEKK1lvbmtlcnMKK3lvdQoreW91J2QKK3lvdS1rbm93LXdoYXQKK3lvdXIvUworWW91c3VmCitZcHNpbGFudGkKK3lyCit5dWNjYS9NUworWXVnYQorWXVsZXRpZGUvTQorWmFncmViL00KK3phcC9EUkdTCitaZWFsYW5kL00KK3plYWxvdC9NUworemVhbG91cy9jUAorWmVlYnJ1Z2dlCitaZWxsaWNrCitaZXBwZWxpbi9NUworemV0YS9TCitaaWVnZmVsZC9TTQoremlsbGlvbi9TCitaaW9uaXN0Cit6aXAncworem9ua2VkCitadWtlcm1hbgorenlnb3RlL1NXTQorYWJhdGVyL00KK2FiZHVjdC9TREcKK2FiZHVjdG9yL01TCitBYmVyY29ud3kvTQorQWJlcm5hdGh5L00KK0FiZXJ5c3R3eXRoL00KK2FiZXlhbmNlL1NNCithYmhvcnJlbmNlL1NNCithYmhvcnJlci9NCitBYmlnYWlsL00KK0FiaWxlbmUvTQorYWJpbGl0eS9FU0lNCithYmxhdGlvbi9NCithYmxlLWJvZGllZAorYWJvZGUvTVMKK2Fib2xpdGlvbmlzbS9TTQorQWJvcmlnaW5hbHMKK2Fib3J0aW9uLzNTTQorYWJvdXQKK2Fic2Npc3NhZQorYWJzZWlsL1NERworYWJzZW50ZWUvTVMKK2Fic29sdmVyL00KK2Fic29ycHRpb24vTQorYWJzb3JwdGl2aXR5L00KK2Fic3RydXNlL1RZUAorYWJzdHJ1c2VuZXNzL1MKK2FjYWRlbWlhL01TCithY2FudGh1cy9TTQorQWNhcHVsY28vTQorYWNjZXNzb3JzCithY2NsaW1hdGlzZS9BRFNHCithY2NsaW1hdGl6ZS9BRFNHCithY2NsaXZpdHkvU00KK2FjY29tcGxpc2hlZC9VCithY2NvdXRyZS9MRFNHCithY2N1bXVsYXRpdmUvUAorYWNlcmJhdGUvR0RTCithY2hyb21hdGljCithY2lkL1lQV1NNCithY2tub3dsZWRnZWFibGUKK2FjcXVpZXNjZW5jZS9TTQorYWNxdWl0dGFuY2UvTQorYWNyaW1vbnkvU00KK2Fjcm9iYXRpYy9TCithY3Rpbml1bS9NCithY3RpdmVuZXNzL1MKK2FjdGl2aXNtL01TCithY3VwdW5jdHVyZS9NUzMKK2FjdXRlbmVzcy9TCithZGFnZS9TTQorYWRhcHQvTlJ2dURCaW5TVkcKK2FkYXB0YWJpbGl0eS9NUworQWRkaXMKK0FkZGlzb24vTQorYWRkcmVzcy9SRE1CR1MKK2FkZHJlc3NpbmcvYQorYWRkdWNlL2JHVk5TRAorYWRlcXVhY3kvSVNNCithZGphY2VudC9ZCithZGplY3RpdmFsL1kKK0Fka2lucworYWRtZW4KK2FkbWluaXN0ZXIvZE5TbgorYWRtaXJhbC9TTQorYWRtaXR0ZWQvWQorYWRyZW5hbGluZS9NUworYWRzb3JiZW50CithZHVsdGVyeS9TTQorYWR2ZW50dXJlc3MvU00KK2FkdmVyYmlhbC9NCithZHZpc2FiaWxpdHkncworYWR2aXNvci9NCithZWdpcy9TTQorYWVyaWUvb1NNCitBZXNvcC9NCithZXN0aGV0ZS8xV1MKK2FmZmVjdGVkL0VQWQorYWZmZWN0ZXIvTQorYWZmZWN0aW9uYXRlbHkKK2FmZmlsaWF0aW9uL01FCithZmZpcm1zL0EKK2FmZmxhdHVzL1NNCithZmZsaWN0L1Z2R0RTCithZmZsdWVuY2UvU00KK2FmbG9hdAorYWZvb3QKK2FmdGVybm9vbi9TTQorYWdhaW5zdAorQWdhbWVtbm9uL00KK2FnYXBlCithZ2UtbG9uZworYWdlbnRpbmcKK2FnZXMvZQorYWdnbG9tZXJhdGlvbi9NCithZ2dyYXZhdGUvR2tEU25OCithZ2dyZXNzaXZlbHkKK2FnaGFzdAorYWdsaXR0ZXIKK2FnbworYWdvbmlzZS9raAorQWlsZWVuL00KK2FpbWxlc3NuZXNzL1MKK2FpcmluZXNzL1MKK2FpcnkvVFAKK0FsYWJhbWEvTQorQWxhbW9nb3JkbworQWxhbi9NCitBbGJhbnkKK2FsYmF0cm9zcy9NUworQWxiZXJ0L00KK2FsYmluby9TTQorQWxjb2EKK2FsZGVoeWRlL00KK0FsZXV0aWFuL00KK0FsZXhhbmRyaWEvTQorYWxnb3JpdGhtL1NXTTEKK2FsaWVuYXRlL1NHRAorYWxpbWVudC9ER01TCitBbGlzdGFpci9NCithbGthbGluaXR5L01TCithbGthbG9pZC9TTQorYWxsZWdpYW50CithbGxlbGUvU01XCithbGxlbWFuZGUvTQorYWxsLWVtYnJhY2luZworQWxsZW50b3duCithbGxleS9NUworQWxsaXNvbi9NCithbGwtbmlnaHQKK2FsbG9jYXRpdmUKK2FsbG93LzdEU0dobAorQWwtUWFlZGEvTQorQWxzYXRpb24vU00KK2FsdGVyYWJsZS9VSQorYWx0ZXJhdGlvbi9TTQorYWx0ZXJuYXRlL05WdnVTREdZbgorYWx0cnVpc20vU00KK2FsdHJ1aXN0LzFNU1cKK2FsdW1uYWUKK0FsLVphd2FoaXJpCithbWFyYW50aC9TTQorYW1hc3Nlci9NCithbWF0ZXVyaXNobmVzcy9TCithbWJpZ3VpdHkvU00KK2FtYml0aW91c25lc3MvU00KK2FtYml2YWxlbmNlL1NNCithbWJyb3NpYWwKK2FtZW5kcy9NCithbWVuaXR5L1NNCitBbWVyaWNhbi9RcS04TVMKK2FtaW5vYmVuem9pYworQW1pdC9NCithbW1ldGVyL1NNCithbW91bnQvTVNHRAorYW1wZXJhZ2UvU00KK2FtcGhpYmlvdXMvUFkKK2FtcHV0YXRpb24vTQorQW1zdGVyZGFtL00KK2FuYWNocm9uaXNtL1NNCithbmFlc3RoZXRpYy9ZTVMKK2FuYWVzdGhldGlzdC9NUworYW5hcGFlc3QvV1NNCithbmNob3JwZW9wbGUKK2FuY2hvdnkvTVMKK0FuZG9ycmEvTQorQW5kcmVpL00KK0FuZ2VsYS9NCitBbmdpZS9NCitBbmdrb3IvTQorQW5ndWlsbGEvTQorYW5pbWF0b3IvU00KK2FuaW11cy9TTQorYW5uZWxpZC9NUworYW5vbnltaXR5L1NNCitBbnNvbi9NCithbnN3ZXIvN2RyU00KK2FudGVsb3BlL01TCithbnRlbmF0YWwKK2FudGkvUworQW50aWNocmlzdAorYW50aWN5Y2xvbmUvU01XCitBbnRpZ29uZQorYW50aWhpc3RvcmljYWwKK2FudGltaWNyb2JpYWwvUworYW50aW5vbWlhbgorYW50aW94aWRhbnQvTVMKK2FudGlxdWF0aW9uL00KK2FudGlxdWUvTVNETkcKK2FudGktcmFjaXN0CithbnRpdGhlc2lzL00KK2FudGl2aXZpc2VjdGlvbmlzdC9TCithbnQncworYW50c2llc3QKK2FwYXRpdGUvU00KK2FwZXJpb2RpYy9ZCithcGhvcmlzdGljL1kKK2FwbGVudHkKK2Fwbm9lYQorYXBvbG9naWEvU00KK2Fwb3N0YXRlL1FNUzgKK2FwcGFsb29zYS9TCithcHBhcmVudGx5L0kKK2FwcGVhbGVyL00KK2FwcGVsbGF0ZS9OVnZuCithcHBlbmRpY2l0aXMvTVMKK2FwcGVydGFpbi9TREcKK2FwcGV0aXRlL1ZTTQorYXBwbGV0L1MKK2FwcG9pbnRlZS9TTQorYXBwb3J0aW9uL0xBRFNHCithcHByZWhlbmRzL2EKK2FwcHJvcHJpYXRlL0duYUROUworYXBwcm9wcmlhdGVuZXNzL0lTTQorYXF1YXJpdW0vU00KK0FxdWFyaXVzL00KK2FyYml0ZXIvTU5uUworYXJiaXRyYWdlL0RHUlNNCithcmNhZGUvU0RHTQorYXJjaGJpc2hvcHJpYy9TTQorYXJjaGRlYWNvbi95TVMKK2FyY2hldHlwZS93TVMKK2FyY2hmaWVuZC9NUworQXJjaGllL00KK2FyY2hpbmcvTQorYXJjaGl0ZWN0dXJlL29TTQorQVJDTworQXJjdGljL00KK2FyZW9sYQorYXJlb2xhcgorQXJlcworYXLqdGUvTVMKK2FyZ3VpbmcvZQorYXJpZGl0eS9TTQorYXJpdGhtZXRpY2lhbi9NUworQXJsaW5ndG9uL00KK2FybWluZy9NCithcm1pc3RpY2UvTVMKK2FybSdzCithcm91c2FsL1NNCithcnJhbmdlYWJsZQorYXJyYW50L1kKK2Fyc2VuYWwvU00KK2Fyc2VuaWMvU00KK2FydGVyaW9zY2xlcm9zaXMvTQorQXJ0aHVyL00KK2FydGljdWxhYmxlL0kKK2FydGljdWxhY3kvSQorYXJ0aWN1bGFyCithcnRpY3VsYXRlbHkvSQorYXJ0aXN0ZS9NUworYXJ1bS9NUworYXNoYW1lZC9VWQorYXNpbmluaXR5L1NNCithc3Blbi9NUworYXNwZXJzaW9uL1NNCithc3BpcmF0b3IvU00KK0Fzc2FtZXNlCithc3NlbWJsYWdlL1NNCithc3Nlc3Nlcy9BCithc3NpZHVpdHkvU00KK2Fzc2lkdW91cy9QWQorYXNzaWduL1JMN0RTTkduCithc3NpZ25pbmcvSworQXNzaXNpL00KK2Fzc2l6ZS9NCithc3NuCithc3NvY2lhdGlvbmFsCithc3N1YWdlL0RTRworYXN0ZXIvRlNFTQorYXN0b3VuZC9rR1NECitBc3VuY2nzbi9NCithc3VuZGVyCithc3luY2hyb255CithdGF4aWMKK2F0aGxldGljaXNtL00KK0F0a2luc29uL00KK0F0bGFudGlzCithdGxhcy9NUworYXRtb3NwaGVyZS9NUzFEVworYXRyaXVtL00KK2F0cm9waHkvTURXR1MKK2F0dGFpbmRlci9NUworYXR0aXJlL0RHUworYXR0aXR1ZGluaXNlL0dEUworYXR0cmFjdGFudC9TTQorYXVidXJuL1NNCithdWRhY2lvdXMvUFkKK2F1Z2h0CitBdWd1c3RpbmUKK2F1Z3VzdG5lc3MvUworYXVudC9aU00KK0F1c3NpZS9NUworYXVzdGVyaXR5L01TCitBdXN0cmFsaWFuL1NNCitBdXN0cmFsaXMKK0F1c3RyYWxvcGl0aGVjdXMKK2F1dGhvcmlzaW5nL0EKK2F1dG9mbHVvcmVzY2VuY2UKK2F1dG9tYXRlL0Q4TlFXR1NuMQorYXV0b21hdGljL1MKK2F1dG9tb3JwaGlzbS9TTQorYXV0b25vbW91cy9ZCithdXRvcGlsb3QvTVMKK2F1dHVtbi9Nb1MKK2F2YWlsaW5nL1UKK0F2YWxvbi9NCitBdmVyeS9NCithdm9jYXRpb25hbAorQXZvbi9NCithd2FyZC9EUkdTCithd2FzaAorYXdlL1NNREcKK2F3ZnVsL1RQWQorYXdrd2FyZG5lc3MvUworYXduL1NNREpHCitheGVoZWFkL1MKK2F4aXMvTQorYXlhaC9TTQorQXpvdgorQkEKK0JhYmJpdHQvTQorYmFjaWxsYXJ5CitiYWNrYmVuY2gvU1IKK2JhY2tlZAorYmFja2ZpcmUvR0RTCitiYWNrcGxhbmUvTVMKK2JhY2tzCitiYWNrc2xpZC9yCitiYWNrc3RhZ2UKK2JhY2t0YWxrL1MKK2JhY29uL1NNCitiYWNvbmVyL00KK2JhZGRpZS9NUworYmFkZGlzaAorQmFlZGVrZXIvTQorYmFmZmxlL1JETEdrUworQmFnaGRhZC9NCitiYWlsZWUvTVMKK0Jha2Vyc2ZpZWxkL00KK2JhbGFsYWlrYS9NUworYmFsYW5jZXMvY0FlVQorYmFsZGVyZGFzaC9TTQorQmFsZHdpbi9NCitiYWxlL1I2R2pTTUQKK0JhbGZvdXIvTQorYmFsbGlzdGljL1MKK2JhbGxwYXJrL01TCitCYW1iaS9NCitiYW4vU29STURHCitiYW5hbmEvTVMKK0JhbmNyb2Z0L00KK0JhbmRhci9NCitiYW5kZXIvTQorYmFuZGl0L01TCitiYW5kaXRyeS9TTQorYmFua3J1cHRjeS9TTQorYmFyYmFyaXR5L01TCitiYXJiZWN1ZXIKK2JhcmJlZHdpcmUvTVMKK2Jhcmd5L0RTCitCYXJuYWJhcworQmFyb2RhL00KK2Jhcm9tZXRlci9NUzFXCitiYXJvbmVzcy9TTQorYmFycmVuL1AKK2JhcnJvdy9TTQorQmFycnltb3JlL00KK0JhcnRsZXR0L00KK2Jhc2FsdC9XU00KK2Jhc2hmdWwvUAorYmFzaWxpc2svU00KK2JhdGhlL1MKK2JhdGhldGljCitiYXR0ZXJ5L01TCitiYXR0bGVkcmVzcworYmF0dHkvVAorYmF1bGtlci9NCitCYXZhcmlhbi9TTQorYmVhY2hoZWFkL01TCitCZWFsZS9NCitiZWFuYmFnL1NNCitiZWFyaXNobmVzcy9TCitiZWFybGlrZQorYmVhc3RpZXMKK2JlYXN0aW5ncy9NCitiZWF0YWJsZS9VCitiZWF1L1NNCitCZWF1Zm9ydC9NCitCZWNraGFtL00KK0JlY2t5L00KK2JlY2xvdWQvU0RHCitiZWNvbWluZy9VWQorYmVkZGluZy9TTQorQmVkZS9NCitiZWRwYW4vTVMKK2JlZHBvc3QvU00KK2JlZCdzCitiZWRzdHJhdy9NCitiZWVjaGVuCitiZWVjaHdvb2QKK2JlZWZjYWtlL1NNCitiZWVuCitiZWcvU0dECitCZWdhd2FuL00KK2JlZ290dGVuL2EKK2JlZ3VuCitiZWhhbGYvTQorYmVoYXZpb3VyZWQKK2JlaGVhZC9EU0cKK2JlaG9sZGVuCitiZWxlYWd1ZXIvU2QKK0JlbGdyYW5vL00KK0JlbGxhL00KK2JlbGxlL1NNCitiZWxsaWNvc2l0eS9TTQorYmVsbHlhY2hlL01TR0QKK0JlbG1vcGFuL00KK2JlbG9uZy9HU0RKCitiZWx0LWZlZAorYmVsdWdhL1NNCitiZWx2ZWRlcmUvTQorYmVuY2htYXJrL0RTR00KK2JlbmRhYmxlCitCZW5lZGljdGluZS9NCitiZW5ldm9sZW5jZS9TTQorQmVuZ2FsL00KK2JlcmV0L01TCitiZXJnL1NNCitCZXJrZWxleS9NCitCZXJtdWRhL00KK0Jlcm5pY2UvTQorQmVydHJhbmQvTQorQmVyd2ljay11cG9uLVR3ZWVkL00KK2Jlc2VlbS9ER1MKK2Jlc29tL1NkTQorYmVzdHJvZGUKK2Jlc3R1YmJsZS9ECitCZXRlbGdldXNlCitiZXRvb2sKK2JldmVyYWdlL1NNCitCZXZlcmxleS9NCitiaWFzc2VkCitiaWFzc2VzCitiaWFzc2luZworYmlhdGhsb24vTVMKK2JpY2hyb21hdGUvTUQKK2JpY29uY2F2ZQorYmljb252ZXgKK2JpY3VzcGlkL1MKK2JpZ290ZWQvWQorYmloYXJtb25pYworYmlqZWN0aXZlL1kKK2JpbGwvUk03WURKU0cKK2JpbmFyeS9TCitiaW5kL2tSSlNHCitiaW5kbGUvTQorYmluZHMvQVUKK2JpbmdlbgorYmlub2N1bGFyL1NZCitiaW51Y2xlYXIKK2Jpb2RlZ3JhZGFibGUKK2Jpb21lZGljYWwKK2Jpb21lZGljaW5lL00KK2Jpb21ldHJpY3MvTQorYmlvbW9sZWN1bGUvUworYmlvcGh5c2ljYWwKK2JpcG9sYXIKK2JpcG9sYXJpdHkvU00KK2JpcmNoL1NNCitiaXJjaGVuCitiaXJkYmF0aC9NUworQmlzY2F5bmUvTQorYmlzZWN0b3IvU00KK2JpdHRlcm5lc3MvUworYml0dGVyLXN3ZWV0bmVzcworYml0dGluZXNzCitCbGFja2J1cm4vTQorYmxhY2tjdXJyYW50L1NNCitibGFoL01EU0cKK0JsYW5jaGFyZC9NCitibGFuY2hlci9NCitibGFzdC9HUlNNRAorYmxhdGFudG5lc3MKK2JsZWFrbmVzcy9TCitibGVlZGluZy1oZWFydAorYmxva2UvTVMKK2Jsb29kbGVzc25lc3MvUworYmxvb2QtcmVkCitibG9vZHNoZWQvU00KK2Jsb3RjaHkvVAorYmxvdXNlL1NNR0QKK2Jsb3dpbmcvTQorYmxvd3kvVAorYmxvd3p5L1QKK2JsdWViZWxsL1NNCitibHVlYmVycnkvTVMKK2JsdWVib3R0bGUvU00KK2JsdWVmaXNoL1NNCitibHVlaXNoCitibHVlamFja2V0L1NNCitibHVlbm9zZS9NUworYmx1ZXBvaW50L1NNCitibHVyL2hHRFpTTTIKK2JsdXJ0L1NHRAorQmx5dGhlL00KK0JORkwvTQorYm9hcmRnYW1lcworYm9hcmRzL2UKK2JvYXRjbHVicworYm9hdGluZy9NCitib2F0bWVuL00KK2JvYmJpbmcvTQorYm9icy9NCitib2RpbmcvTQorYm9keS1jaGVjaworYm9nZ3kvVAorQm9oci9NCitib2xkZmFjZS9NR0RTCitib21iL1JTTURHSgorYm9tYmFyZGllci9TTQorYm9uYW56YS9TTQorQm9uYXBhcnRlL00KK2JvbmR3b21hbi9NCitib25nL1NNREcKK2Jvbm5pZQorYm9ueS9QVAorYm9vYnktdHJhcC9TCitib29nZXltYW4ncworYm9va3NoZWx2ZXMKK2Jvb3QncworQm9yZGVhdXgKK2Jvc29teS9UCitib3Nvbi9TTQorYm9zc2luZXNzL1MKK2JvdGhlci9kUworYm90dGxlLWZlZAorYm90dG9tLXVwCitib3VpbGxhYmFpc3NlL00KK2JvdW5kYXJ5L01TCitib3VuZGVyL1NNCitib3VudGlmdWxuZXNzL1MKK2JvdXLpZQorQm91cm5lbW91dGgvTQorQm93ZW4vTQorQm93aWUKK2Jvd3llci9TTQorYm94LW9mZmljZQorYm94dG9wcworQm95ZC9NCitib3lzZW5iZXJyeS9NUworYnJhY2hpdW0vTQorQnJhY2tuZWxsL00KK0JyYWRidXJ5L00KK2JyYWluLWRhbWFnZWQKK2JyYWluaW5lc3MvUworYnJhaW5sZXNzL1BZCitCcmFtcHRvbi9NCiticmFuY2gvU01HRAorYnJhbmRpbmcvYQorYnJhbmR5d2luZQorYnJhdC9NWlMKK2JyYXR3dXJzdC9NUworYnJhd255L1RQCiticmVhZGJhc2tldC9NUworYnJlYWRsaW5lL01TCiticmVha2luZy9NCiticmVha3VwL1NNCiticmVhdGhhYmxlL1UKK2JyZWQKK2JyZWVjaC9TR01ECiticmVlZGluZy9NCiticmVlemluZXNzL1MKK0JyZW1lbi9NCitCcmVubmFuL00KK0JyZW50L00KK0JyZXdzdGVyL00KK2JyaWFyL00KK2JyaWMtYS1icmFjCitCcmljZS9NCiticmlja2xheWVyL1NNCiticmllZi9USlNZRFBHCiticmllZmVkL0MKK2JyaWVmZXIvQworYnJpZ2FuZC9TTQorYnJpbS1mdWxsCiticmltc3RvbmUvU00KK2JyaW5nL1JTRworYnJpbworQnJpdC9TCitCcml0YW5uaWMKK0JyaXRhbm5pY2EKK0JyaXRpc2huZXNzCitCcml0dGFueS9NCiticml0dGxlL0RUR1BTCiticm9hY2gvU0dECiticm9hZHN3b3JkL01TCitCcm9hZHdheS9NCiticm9rZW5uZXNzL00KK2Jyb25jaGl0aWMvUworYnJvdGhlbC9TTQorYnJvd25uZXNzL1MKK2JycgorYnJ1aW4vU00KK2JydWlzZS9SR1NESgorYnJ1bmV0dGUvTVMKK2JydXNoZXIvTQorYnJ1dGUvR1NNb0QKK0IuU2MuCitidWJibGVndW0vUworQnVjaGVud2FsZC9NCitidWZmL1JTTURHCitidWlsZHMvQWMKK2J1aWx0LWluCitCdWp1bWJ1cmEvTQorYnVsbGV0cHJvb2YvREcKK2J1bGxob3JuL1NNCitidWxsaW9uL1NNCitidWxscGVuL1NNCitidWxsJ3MtZXllCitidWxsd2hhY2tlcnMKK2J1bWJsZWJlZS9TTQorYnVtcHkvVFAKK0J1bmRlc3RhZy9NCitidW5kbGVzCitidW5nbGUvR2tEUlMKK2J1bmtvJ3MKK2J1bmsncworYnVua3VtL00KK2J1b3lhbmN5L01TCitidXJsLzJNRFMKK0J1cm1hL00KK0J1cm1lc2UKK0J1cm5ldHQvTQorQnVybmxleS9NCitidXNoL1MybUdNSlpECitidXRhbmUvTVMKK2J1dHRlci9kcloKK2J1dHRlcmZseS9NUworYnV0dGVyc2NvdGNoL00KK2J1dHRpbmcvTQorYnV0dG9ud29vZC9TTQorYnV5aW5nL2MKK0J5cm9uaXNteWFoCitDYS95CitDYWJlcm5ldC9NCitjYWN0aQorY2FkZW5jaW5nCitjYWVzdXJhL1NNCitjYWdpZXIKK2NhZ2luZXNzL01TCitDYWljb3MvTQorY2FpbWFuJ3MKK2NhbGNpbmUvU0RHCitjYWxjdWxhYmxlL0kKK2NhbGN1bGFibGVuZXNzCitjYWxjdWxhdGlvbi9hU0FNCitjYWxjdWx1cy9NCitjYWxsZWQvQVVhCitjYWxsaW9wZS9NUworY2FsbS9ZVEdQU2tECitDYWx2YXJ5CitjYWx2ZXMvTQorQ2FtYm9kaWEvTQorQ2FtYnJpYW4KK2NhbWJyaWMvTVMKK0NhbWVtYmVydAorY2FtZXJhL01tUzUKK2NhbWlvbi9NCitjYW1wYW5vbG9neS8zd1NNCitjYW5hc3RhL1NNCitjYW5jZWxsYXRlL0RuTgorY2FuY2VyL1NNCitjYW5kbGUvUk1EU0cKK2NhbmRsZWxpdAorY2FuZS9TTUoKK2Nhbm5lcnkvU00KK2Nhbm5pc3Rlci9TTQorQ2Fubm9jaworY2Fub24vd01XLTFxUThTMworY2FudGFsb3VwCitjYW50aWNsZS9TTQorY2FudGlsZXZlci9kU00KK2NhbnZhc2VyCitjYXAvU0FERworY2FwYWJsZXN0CitjYXBhY2l0YXRlL0kKK2NhcGl0YXRpb24vQ01TCitjYXBvL1NNCitjYXB0aXZlL05TTW4KK0NhcmFjYXMvTQorY2FyY2lub2dlbi9XTVMKK2NhcmRhbW9tL1NNCitDYXJkaWZmL00KK2NhcmRpb21lZ2FseS9NCitjYXJlZW4vREdTCitjYXJlbGVzcy9ZUAorY2FyZWxlc3NuZXNzL1MKK2NhcmVzcy9TdlZNaworY2FyZXQvU00KK2NhcmV0YWtlci9NUworQ2FybC9NRworY2FycC9HTURrUlMKK2NhcnB1cy9NCitjYXJyaW9uL1NNCitjYXJ0YWdlL01TCitjYXJ0ZWwvU00KK2NhcnRpbGFnZS9TTQorY2FzZS1sb2FkL1NNCitjYXNpbmcvTQorQ2FzcGlhbgorQ2Fzc2l1cworY2FzdGUvTVMKK2Nhc3RpZ2F0aW9uL00KK2Nhc3RsZS9HTURTCitjYXN0cmF0ZS9HRFMKK0Nhc3RyaWVzL00KK2NhdGFsZXB0aWMvUworY2F0YWxvZ3VlL0dSRFMKK2NhdGFseXN0L1NNCitjYXQtYW5kLWRvZworY2F0YXJyaC9NUworY2F0YXRvbmljL1MKK2NhdGNocGVubnkvUworY2F0ZWNoaXN0L1NNCitjYXRlcmluZy9NCitjYXRndXQvU00KK0NhdGhheQorY2F0aGV0ZXIvOFFNUworQ2F0c2tpbGwvUworY2F1c2V3YXkvR01TRAorY2F1c3RpY2l0eS9TTQorY2F1dGVyaXNlL0RuR1MKK2NhdXRpb24vS1NHeURNCitjYXZhbGNhZGUvTVMKK2NhdmVybi9EU0dNCitjYXkvU0NNCitDYXltYW4vTQorY2VkaWxsYS9NUworY2VsZWJyYXRlL2luTlNEeUcKK0NlbGVzdGUKK2NlbGliYXRlL1NNCitjZWxsL01EUzNHCitjZW5zb3JlZC9VCitjZW5zdXMvU2RNCitjZW50YXZvL1NNCitjZW50aWdyYWRlL1MKK2NlbnRpbGl0cmUvU00KK2NlbnRpcGVkZS9TTQorY2VudHJhbGl0eS9TTQorQ0VPCitDZXJiZXJ1cworY2V0YWNlYW4vUworQ2ZJVC9NCitDaGFkL00KK2NoYWV0b2duYXRoCitjaGFmZmluY2gvU00KK2NoYWxsZW5naW5nL1UKK2NoYWxsaXMvU00KK2NoYW1iZXIvcmRNUworY2hhbWVsZW9uL01TCitDaGFuY2VsbG9yL1NNCitjaGFuY3JlL1NNCitjaGFuZ2VsaW5nL00KK2NoYW50ZXVzZS9TTQorY2hhcGVscnkvU00KK2NoYXBsYWluY3kvTVMKK2NoYXBsZXQvU00KK2NoYXJhY3RlcmlzdGljJ3MKK2NoYXJnZWFibGVuZXNzL00KK2NoYXJpb3QvU0dNRAorQ2hhcmxpZQorY2hhcm0vTVJHa0RwUworY2hhc3RlL3NRVFlQCitjaGFzdGVseS9VCitjaGFzdGlzZS9MCitjaGVhcG5lc3MKK2NoZWVrYm9uZS9TTQorY2hlZXIvUkRwNkcyWmpTegorY2hlZXJpbmVzcy9TCitjaGVtaWNhbC9NU1kKK2NoZW1pc2UvU00KK2NoZW5pbGxlL1NNCitjaGVxdWVpbmcKK2NoZXF1ZXJib2FyZC9NUworY2hlcnZpbC9TTQorQ2hlc2FwZWFrZQorQ2hlc3Rlci9NCitDaGVzdGVyLWxlLVN0cmVldAorQ2hpYW5nL00KK2NoaWNhbmVyeS9TTQorY2hpY2VzdAorQ2hpY2hlc3RlcgorY2hpY2svTVMKK0NoaWNrYXNhdy9TCitjaGllZmx5CitjaGlmZm9uL01TCitjaGlsZGJlYXJpbmcvTQorY2hpbGRiaXJ0aC9TTQorY2hpbGRjYXJlCitjaGlsZGhvb2QvU00KK2NoaWxkbGVzc25lc3MvUworQ2hpbGUvTVMKK0NoaWx0b24vTQorY2hpbWUvUk1EU0cKK2NoaW1wYW56ZWUvTVMKK0NoaW5hdG93bi9NCitjaGlwYm9hcmQvTQorY2hpdnZ5L1NHRAorQ2hsb2UKK2NobG9yYWwvTQorY2hsb3JpbmF0ZS9DR1NETgorY2hva2UvUmtEU0cKK2Nob29zZS9HUjJTWgorY2hvcmUvTW9EU0cKK2Nob3JpbmVzCitDaHJpc3RpYW4vUThNUworQ2hyaXN0aWFuaXR5CitjaHJvbWF0aWMvU1AKK2Nocm9tb3NwaGVyZS9NCitjaHJvbmljL1kKK2NodW50ZXJpbmcKK2NpY2F0cmljZS9NUworY2ljZXJvbmkKK2NpZ2FyZXR0ZS9NUworY2lsYW50cm8vUworY2luZGVyL1NkTQorQ2luZGVyZWxsYQorQ2luZHkvTQorY2lyY2FkaWFuCitjaXJjdWxhdGVzL0EKK2NpcmN1bWxvY3V0aW9uL1NNCitjaXJjdW1uYXZpZ2F0ZS9ETm5TeEcKK2NpcmN1bXNjcmlwdGlvbi9NCitjaXJjdW1zdGFuY2UvR1NETQorY2lyY3VtdmVudC9ER1M3CitjaXJjdW12ZW50aW9uL1NNCitjaXJydXMvTQorY2l2ZXQvU00KK2NpdmlsaXNlZC9VCitjaXZpbGl6ZWQvVQorQ0pECitDbGFja21hbm5hbnNoaXJlL00KK0NsYWlyZQorY2xhbmsvRE1rR1MKK2NsYW5uaXNobmVzcy9TCitjbGFwL1JHRFMKK2NsYXJldC9kU00KK2NsYXNwL1NVR0QKK2NsYXNwLWtuaXZlcworY2xhc3AncworY2xhc3MtY29uY2lvdXMKK2NsYXNzaWZpY2F0b3J5CitjbGFzc2lmeWluZy9hCitjbGFzc3dvcmsvTQorY2xhdXNlL1NNCitjbGF3ZXIvTQorY2xheS9aU01ERworY2xheWllcgorY2xlYXItY3V0CitjbGVhci1oZWFkZWQvUFkKK2NsZXJpYy9TWU0KK2NsaW1hY3RpYworY2xpbWF0ZS9NMVMKK2NsaW5pY2lhbi9TTQorQ2xpbnRvbi9NCitjbGlwLW9uCitjbGl0b3Jpcy9NUworY2xvYWNhZQorY2xvYWsvRE1HUworY2xvYmJlci9TZAorY2xvZGRpc2gvUAorY2xvbXAvU01ERworY2xvbmFsCitjbG9zZS9UUkpQRFlHUworY2xvc2VkL1VFCitjbG9zZS1kb3duCitjbG9zZS1maXN0ZWQKK2Nsb3N1cmVzL0UKK2Nsb3RoZXMvZgorY2xvdXQvU01ERworY2xvdmVybGVhZi9TTQorY2x1YmZlZXQKK2NsdW1weS9UCitDbHlkZXNkYWxlCitjb2FjaGVyL00KK2NvYWNod29yay9NCitjb2FndWxhYmxlCitDb2JvbC9NCitjb2NjeWdlcworQ29jaGluCitjb2NrYXRyaWNlL01TCitDb2NrYnVybi9NCitjb2NrZXJlbC9TTQorY29ja2xlYnVyL00KK2NvZGEvU00KK2NvZGVyLzRTQ00KK2NvZGUncworY29kZXRlcm1pbmUvUworY29lZmZpY2llbnQvU00KK2NvZXJjZS9SRGJHUworY29mYWN0b3IvTVMKK2NvZmZlZS10YWJsZS9NUworY29nbmF0aW9uL00KK2NvaGVyZW50L0lZCitjb2hlc2lvbi9NUworY29pZmZlZAorY29pbmNpZGUvU0dECitjb2xpZm9ybQorY29sbGF0ZXJhbC9NCitjb2xsZWN0aW9uL0FNUworY29sbGVlbi9NCitjb2xsZWdlcworY29sbGVnaWFsaXR5L1MKK2NvbGxlZ2lhdGUvWQorY29sbGllcnkvU00KK2NvbGxpbWF0ZWQvVQorY29sbGltYXRvci9NCitjb2xsaXNpb24vTQorY29sb24vOU1XUXNxMy04UworY29sb25pYWxpc3QKK2NvbG9uaXplL0FHQ0RTTm4KK2NvbG9yaW1ldHJ5Citjb2xvc3RydW0vU00KK2NvbG91ci1zZXJnZWFudAorY29sdW1iaW5lL1NNCitDb2x1bWJ1cworY29tYS9TTQorY29tYmF0aXZlL1AKK2NvbWJ1c3RpYmxlL0lTCitjb21lci9jTQorY29tZm9ydGVkL1UKK2NvbW1hbmQvUmtHRExNUworY29tbWFuZGFudC9TTQorY29tbWFuZGVlci9ER1MKK0NvbW1hbmRlci1pbi1DaGllZgorY29tbWVuY2VyL00KK2NvbW1lbmRhdG9yeS9BCitjb21tZW50YXRlL1NHRAorY29tbWVyY2UvR29TRE0KK2NvbW1pc3NhcnkvU00KK2NvbW1pdHRlZS9tU001Citjb21tb25lc3QKK2NvbW1vbnNlbnNpY2FsCitjb21tdW5hbGl0eS9NCitjb21tdW5pY2F0b3IvU00KK2NvbW11dGF0aXZpdHkKK2NvbXBhbmlvbndheS9NUworY29tcGFyYWJpbGl0eS9NSQorY29tcGFyaXNvbi9TTQorY29tcGF0aWJpbGl0eS9TTUkKK2NvbXBlbnNhdG9yeQorY29tcGlsZWQvQQorY29tcGxldGUvSVlQCitjb21wbGV0ZW5lc3MvSVMKK2NvbXBsZXRlcworY29tcGxleGlvbi9ETQorY29tcGxpY2F0ZWQvVQorY29tcG9zaXRvci9NUworY29tcHJlaGVuZGVkL2EKK2NvbXByb21pc2UvTQorY29tcHV0ZXMvQQorY29uL1N3TVcxREcKK0NvbmFrcnkvTQorY29uY2VpdGVkL1AKK2NvbmNlaXZhYmxlL0lZCitjb25jZW50cmF0aW9uL00KK2NvbmNlcnRtYXN0ZXIvTVMKK2NvbmNoL01ERworY29uZGVuc2F0ZS9NUworY29uZGVuc2F0aW9uL00KK2NvbmRlbnNlL0RSU0dibgorY29uZGl0aW9uYWwvUworY29uZG9uYWJsZQorY29uZG9uZXIvTQorY29uZmVkZXJhY3kvU00KK2NvbmZlcmVuY2UvR01EUworY29uZmlndXJlL05BREdTbgorY29uZmluZWQvVQorY29uZmlybWF0aW9uL01BCitjb25maXNjYXRlL3lOblNHRAorY29uZmx1ZW5jZS9NUworY29uZm9ybS83UjN4Citjb25mb3JtaXRpZXMKK0NvbmZ1Y2l1cworQ29uZ2xldG9uCitjb25ncmVnYXRpb24vTQorQ29uZ3JlZ2F0aW9uYWxpc20vTVMKK0NvbmdyZWdhdGlvbmFsaXN0Citjb25pY3MvTQorY29uanVnYXRlL0RWR25TTlkKK2Nvbm1lbi9NCitjb25uZWN0L3ZpVmJHaERTCitjb25ub2lzc2V1cnNoaXAKK2NvbnF1ZXIvQWRTCitDb25yYWQvTQorY29uc2Npb3VzbmVzcy9TTQorY29uc2VydmF0aW9uaXN0Citjb25zZXJ2ZS9WbnZOdQorY29uc2lkZXJhdGVuZXNzL0kKK2NvbnNvcnRpYQorY29uc3RpdHVlbnQvWVNNCitjb25zdGl0dXRpb25hbGl0aWVzL1UKK2NvbnN0aXR1dGlvbmFsaXR5L1NNCitjb25zdHJpY3Rpb24vU00KK2NvbnN0cnVjdGlvbmFsL1kKK2NvbnN0cnVjdGl2aXNtCitjb25zdHJ1aW5nL2EKK2NvbnN1bHQvbkROR1MKK2NvbnN1bHRhbnQvU00KK2NvbnN1bWVkL1UKK2NvbnRhY3QvRzdEUworY29udGFnaW91cy9ZUAorY29udGFpbmVyL1EtOHEKK2NvbnRhbWluYXRlZC9VQworY29udCdkCitjb250ZW1wb3JhcnkvUAorY29udGludWFudC9NCitjb250aW51b3VzbmVzcydzCitjb250b3J0aW9uL00zUworY29udG9ydGlvbmlzdAorY29udHJhY3RpbGUKK2NvbnRyYWluZGljYXRpb24vTQorY29udHJhcHRpb24vTVMKK2NvbnRyaXZhbmNlL1NNCitjb252ZW50aWNsZS9TTQorY29udmVudGlvbmFsaXR5L01VUworY29udmVudGlvbmFsbHkvVQorY29udmVyZ2VudAorY29udmVyc2UvR25ZCitjb252ZXJ0aWJsZS9QUworY29udmljdC9HVkRTCitjb252aW5jaW5nbmVzcy9NCitjb252b2x1dGlvbnMKK2NvbnZ1bHNlL0dYRFNWdU52Citjb29rL0tHQURjUworQ29vbGV5L00KK2Nvb3QvTVMKK2NvLW93bmVycworY29wcGljZS9ETVNHCitDb3B0aWMKK2NvcHkvM0RSR01TCitjb3JkaW5nL0FNCitDb3JpbnRoL00KK2Nvcm5iYWxsL01TCitjb3JuZWFsCitDb3JuZWxpYS9NCitjb3JuaW5lc3MvUworQ29ybmlzaAorY29ybnJvdy9HU0QKK2Nvcm5zdGFyY2gvTVMKK2Nvcm55L1QKK2NvcnJlY3RlZC9VCitjb3JyZXNwb25kZW5jZS9NUworY29ycm9kZS9EdmJHdVNYTlYKK2NvcnJvc2lvbi9NCitjb3JydXB0aW9ucy9JCitjb3J0aWNhbC9ZCitDb3J2YWxsaXMKK2Nvc2luZS9NUworY29zbWV0b2xvZ3kvM01TCitjb3Ntb3MvTVMKK2Nvc3QtZWZmaWNpZW50Citjb3Vuc2VsbG9yL1NNCitjb3VudC9HU2xEUkJwWgorY291bnRlcnByb3Bvc2FsL00KK2NvdXJhZ2UvRVMKK2NvdXJhZ2VvdXMvVQorY291cmFnZW91c2x5Citjb3VyYWdlb3VzbmVzcy9TTQorY291cnRpZXIvU00KK2NvdXR1cmllci9TTQorY292YXJpYW5jZS9NUworY292YXJ5CitDb3ZlbnRyeQorY292ZXIvSmQ3Citjb3ZleS9NUworY293L1NoR01EbQorY293c2hlZC9TTQorY3BzCitjcmFiYmVkL1AKK2NyYWNrbGUvRFNHSgorY3JhbW1lci9NCitDcmFuZGFsbAorY3JhbmtjYXNlL1NNCitjcmFua3NoYWZ0L1NNCitjcmFubnkvRFNHTQorY3Jhc3NuZXNzL1MKK2NyYXRlci9kCitjcmF2YXQvU01HRAorY3JhdmUvREpTRworQ3Jhd2xleQorY3JlYXRlL3VHblNORFZ2CitjcmVhdGVkL1VBCitjcmVhdGl2aXR5L1NNCitjcmVkaXRhYmxlL1AKK2NyZWR1bGl0eS9JTVMKK2NyZWVwaW5lc3MvUworY3JlbWF0aW9uL00KK2NyZW5lbGF0ZS9TTkdEbgorY3JlbmVsbGF0aW9uL1MKK0NyaW1lYQorY3JpbXAvU0dECitjcmltcGVyL00KK2NyaW5rbGUvREdTWQorY3Jpc3BpbmVzcy9TCitjcm9ueS9NUworY3Jvc3N3YXlzCitjcm9zc3dpc2UKK2Nyb3Nzd29yZC9TTQorY3JvdWNoL1NHRAorY3J1bmNoeS9UUAorY3J1c3R5L1RQUworY3J5c3RhbGxpemluZy9BCitDcworQ3ViYW4vUworY3VsbWluYXRlL05TR25ECitjdWxwYWJpbGl0eS9NUworY3VtdWxpCitjdW11bG9uaW1iaQorY3VubmlsaW5ndXMvTVMKK2N1cHBpbmcvTQorY3VyYXRvcmlhbAorY3VyYi9NRFNHCitjdXJpYWwKK2N1cmxpbmVzcy9TCitjdXJyaWN1bGEKK0N1cnJpZXIKK2N1cnNpdmUvRVkKK2N1cnQvWVRQCitjdXJ0YWlsL1JMU0RHCitjdXJ0c2V5L0RTTUcKK2N1cnRzeS9ER1NNCitjdXNwL01EUworY3Vzc2luZy9GCitjdXN0b2RpYWwKK2N1c3RvbWFyeS9ZUAorY3V0ZXN5L1QKK2N1dC1wcmljZQorY3V0dGxlL00KK2N5YmVybmF0ZS9OCitjeWNhZC9TTQorY3ljbGFtZW4vU00KK2N5Y2xlcy9BCitjeWNsaW5nL0EKK2N5Y2xvbWV0ZXIvTVMKK0N5Z251cworY3ltYmFsaXN0CitDeW50aGlhCitjeXRvY2hlbWlzdHJ5L00KK2N5dG9jaHJvbWUvTQorZGFmZnkvVAorRGFrYXIvTQorRGFrb3RhCitkYW1wbmVzcy9TCitkYW1zZWxmbHkvU00KK2RhbmNlYWJsZQorZGFuZ2VyL1NkTQorZGFuZ2xlL1JHa0RTCitEYW56aWcKK0RhcmJ5CitkYXJrcm9vbS9TTQorRGFyd2luaWFuCitkYXNoaWtpL01TCitEYXZpcworRGF3ZXMKK2RheS1ib3lzCitkYXktbG9uZworZGVhZC1lbmQKK2RlYWRoZWFkL1NNCitkZWFkLWhlYXQKK2RlYWRsaW5lL01HU0QKK2RlYWxlcnNoaXAvTVMKK0RlYW5lL00KK0RlYW5uYS9NCitkZWF0aC10cmFwL01TCitkZWIvU00KK2RlYmFyL0wKK2RlYmFyay9ObkcKK0RlYmJ5CitkZWJlbnR1cmUvU00KK0RlYm9yYWgvTQorRGVicmEKK2TpYnV0L1MKK2RlY2FmL1MKK2RlY2FmZmVpbmF0ZS9ER1MKK2RlY2VydGlmeS9OR24KK2RlY2svRFJHU0pNCitkZWNsYW1hdGlvbi9TTQorZGVjbGl2aXR5L1NNCitkZWNvbXBvc2FiaWxpdHkvTQorZGVjb21wcmVzcy9OWEcKK2RlY3JlbWVudGFsCitkZWNyZXBpdAorZGVjcnlwdC9HRAorZGVkaWNhdGUvTkFTbkRHCitkZWR1Y3QvYgorZGVlcnN0YWxraW5nL00KK2RlZmF1bHQvUgorZGVmZXJlbnRpYWwvWQorZGVmZXJyYWJsZQorZGVmZXJyYWwvU00KK2RlZmluYWJsZS9VSQorZGVmaW5pdGUveFZ1dgorZGVmbGF0aW9uL015CitERUZSQQorZGVmcmF1ZC9SR0QKK2RlZnJvc3QvUgorZGVncmFkZS9oa2kKK2RlZ3JlZS9TTQorZGVoeWRyYXRvci9NUworZGUtaW5kdXN0cmlhbGlzYXRpb24KK2RlamEKK2RlamVjdGVkL1AKK2RlbGVjdGFibGUvUFNZCitEZWxoaS9NCitkZWxpY2FjeS9JTVMKK2RlbGlucXVlbmN5L01TCitkZWxpcXVlc2NlbnQKK2RlbGl2ZXJhYmxlL1MKK0RlbG1hcnZhCitkZWx0YS9TTQorZGVsdWRlL05Ydmt4U0dWRHUKK2RlbWlsaXRhcmlzZS9uCitkZW1pbGl0YXJpemUvbk5TRworZGVtaS1tb25kYWluZS9TTQorZGVtb2dyYXBoeS8xV3dTTQorZGVtb2xpc2hlci9NCitkZW1vbmVzcworZGVtb25zdHJhdG9yL1NNCitkZW50aXRpb24vTVMKK2RlcGVyc29uemxpemVkCitkZXBpY3QvR1NECitkZXBpbGF0b3J5L1MKK2RlcG9sYXJpemUvUgorZGVwb3J0L25MTkcKK2RlcG9ydGVlL1NNCitkZXBvdAorZGVwcmF2ZS9EaFNpRworZGVwcmVjaWF0aW9uL00KK2RlcHJlc3NpdmUvUworRGVwdC4KK2RlcHV0eS9TTQorZGVyYnkvTVMKK2Rlcm9nYXRvcnkvWQorZGVycmnocmUvUworZGVzY2FudC9TTQorZGVzaWduL05oSjdWeG4KK2Rlc2lnbmVkL0EKK2Rlc2lyYWJsZW5lc3MvUworZGVzb2xhdGUvWU5Qa0duRFMKK2RldGVjdGl2ZS9NUworZGV0b25hdGUvRFZOR1NuCitkJ2V0cmUKK2RldmlhbmN5L1MKK2RldmlscnkvU00KK2Rldm91dC9UWVAKK2RleHRlcml0eS9NUworZGV4dHJvc2UvU00KK2Rob3cvU00KK2RpYWJvbGlzbS9NCitkaWFjcml0aWNhbC9TCitkaWFlcmVzaXMvTQorZGlhZ3JhbW1hdGljL1kKK2RpYXBoYW5vdXMvUFkKK2RpYXRoZXNpcy9NCitkaWNlci9NCitkaWNleQorZGljaG90b215L3FRUy04TQorZGljaWVyCitkaWNrZXkvU00KK2RpY3RhdG9yaWFsL1AKK2RpY3Rpb25hcnkvTVMKK2RpZC9BZWNVCitkaWVzZWwtZWxlY3RyaWMKK2RpZXQvTUdTUkQKK2RpZXRldGljcy9NCitkaWZmZXJlbnQvSVkKK2RpZmZyYWN0aW9uL1NNCitkaWdlc3RpZnMKK2RpZ25pZnkvRFNHCitkaWtlL1NNR0QKK2RpbGFwaWRhdGlvbi9NCitkaWxpZ2VudC9ZUAorZGlsbHktZGFsbHkvR0RTCitkaWxvZ2FyaXRobQorZGlsdXRlcgorZGltL3JTUlBZRFRHCitkaW50L01HU0QKK0Rpb255c3VzCitkaXBvbGUvU00KK2RpcHNvbWFuaWFjL1NNCitEaXJhYworZGlyZWN0b3J5L01TCitkaXNhZ2dyZWdhdGUKK2Rpc2JhbmQvTAorZGlzYmFyL0wKK2Rpc2Nlcm5pbmcvVQorZGlzY2lwbGluYXJpYW4vU00KK2Rpc2NvbmNlcnQvaworZGlzY29ubmVjdAorZGlzY29yZGFuY2UvTVMKK2Rpc2NvcnBvcmF0ZS9ECitkaXNjb3ZlcmVkL1UKK2Rpc2NvdmVyZXIvUworZGlzY3JlZXRuZXNzL1MKK2Rpc2NyaW1pbmF0b3IvTVMKK2Rpc2N1c3NhbnQvU00KK2Rpc2N1c3Nlci9NCitkaXNndWlzZWQvVQorZGlzbWFsL1kKK2Rpc21hbnRsZS9MCitkaXNwZXJzZS9MWFZ1Yk52RGhSR1MKK2Rpc3J1cHRpb24vU00KK2Rpc3NlY3Rpb24KK2Rpc3NlbWluYXRlL0RTTm5HCitkaXNzaWRlbnQvTVMKK2Rpc3N1YWRlL1ZER1MKK2Rpc3RhbC9ZCitkaXN0YW5jZS9NR0RTCitkaXN0aW5ndWlzaGVkL1UKK2Rpc3RyZXNzL0drRDYKK2Rpc3RyaWJ1dGVkL1UKK2Rpc3RyaWJ1dGl2aXR5CitkaXN0dXJiL0RSa0dTCitkaXN1c2UvTQorZGl1cmV0aWMvUworZGl2ZXJnZS9ER1MKK2RpdmluZS9ZVE5EU0duUgorZGl2aXNvci9NUworZGl2dWxnZS9ER1MKK0RpeGllCitkamVsbGFiYS9TCitESnMKK0RvYmVybWFuCitkb2N0cmluZS9vTVMKK2RvY3VkcmFtYS9TCitkb2N1bWVudGFyeS9NUworZG9jdW1lbnRlZC9VCitET0QKK2RvZGVjYWhlZHJhbAorZG9kZWNhaGVkcm9uL00KK2RvZy9EU01pR1poCitkb2ctc3RhcgorZG9sZXJpdGUKK2RvbHRpc2huZXNzL1MKK2RvbWVzdGljaXR5L1NNCitkb21pbmFudC9LWQorZG9taW5hdHJpY2VzCitEb25hbGQvTQorZG9uYXRlL0RTRworZG9uZS9mVWVBY0YKK2Rvb2RsZWJ1Zy9NUworZG9vcGVyCitkb29yYmVsbC9TTQorZG8tb3ItZGllCitkb29ybmFpbC9NCitkb29yc3RlcC9EU0dNCitkb29yLXRvLWRvb3IKK2Rvb3J5YXJkL1NNCitkb3BwZWxn5G5nZXIKK2RvcnkvTVMKK2Rvc2FnZS9NUworZG9zaW1ldGVyL01TCitkb3RoCitkb3VibGUtYnJlYXN0ZWQKK2RvdWJsZS1oZWFkZWQKK2RvdWJsZXMncworRG91Z2xhcworZG93bi9NR1pSU0QKK2Rvd25jYXN0Citkb3duZHJhdWdodC9NCitEb3duZXkKK2Rvd3NlL1NEUkcKK2RveG9sb2d5L1NNCitkcmFjaG1hL1NNCitkcmFjb25pYW4KK2RyYWZ0ZWUvU01ECitkcmFnZ2luZy9ZCitkcmF3YnJpZGdlL01TCitkcmF3aW5nL00KK2RyYXdsL1NHRGsKK2RyYXdzdHJpbmcvU00KK2RyZWFkZnVsbmVzcy9TCitkcmVhbS9TTTJHcFpEUnprCitkcmVhbWxpa2UKK2RyZWFtLXdvcmxkL1MKK2RyaWxsL1NHRFJNCitkcm9wL0RSTUpHUworZHJvcC1vdXQvU00KK2Ryb3BwaW5nL00KK2Ryb3BzL1p3Citkcm9wLXNob3QvTVMKK0Ryb3R0bmluZ2hvbG0vTQorZHJvd25lci9NCitkcm93c2UvWkdTRAorZHJ5bmVzcy9TTQorZHVhbGlzbS9NUworRHViYWkvTQorRHVicm92bmlrCitkdWtlZG9tL01TCitkdWx5L1UKK2R1bXBsaW5nL01TCitkdW5nLWJlZXRsZQorZHVua2VyL00KK2R1bm5vL00KK0R1c2hhbmJlL00KK2R1dHktYm91bmQKK2VhZ2VyZXN0CitlYWdlcm5lc3MvY00KK2VhZ2VybmVzc2VzCitlYWdsZS9NU0dECitlYXJkcnVtL01TCitlYXJuL0dSU1RESgorZWFybmVkL1UKK2VhcnJpbmcvU00KK2VhcnRoZWQvVQorZWFydGhlbndhcmUvTVMKK2VhcnRod29ybS9TTQorZWFzZXIvTQorZWFzaW5lc3MvU00KK0Vhc3Rlci9ZCitFYXN0bGFuZAorZWF0L1NjRworZWF0aW5nL00KK2VjY2VudHJpY2l0eS9TTQorZWNsaXBzZS9TR01EVworRWNvbGUKK2VjdW1lbmljaXNtL1NNCitFZGVuL00KK0VkZ2V3YXRlcgorZWRpYmxlL1BTCitlZGl0L0E3ZE5TCitlZGl0b3JpYWxpc3QKK2VkaXRzL0YKK0VkbXVuZAorZWR1Y2F0aW9uL0ZTTW8KK2VkdWNhdG9yL01TCitlZXJpbHkKK2VmZmVydmVzY2VuY2UvU00KK2VmZmljaWVudC9JRgorZWZmbHVlbnQvU00KK2VnYWQKK0VnYmVydAorZWdnYmVhdGVyL1NNCitlZ2dub2cvTVMKK2VncmVzcy9ETVNHCitlaWdodHktb25lCitlaWdodHktc2Vjb25kL1MKK0Vpc2VuaG93ZXIKK2VqYWN1bGF0aW9uL00KK2VsYXN0aWNhdGVkCitlbGFzdG9tZXIvTQorZWxib3cvR1NETQorZWxkZXJiZXJyeS9TTQorZWxlY3Ryb2NoZW1pY2FsL1kKK2VsZWN0cm9jdXRlL1NERworZWxlY3Ryb2R5bmFtaWNzL00KK2VsZWN0cm9lbmNlcGhhbG9ncmFwaHkvTVMKK2VsZWN0cm9tZWNoYW5pY2FsCitlbGV2YXRvci9TTQorZWxmaW4vUworRWxpYXMKK2VsaWdpYmxlL1NZSQorZWxpdGlzbS9NUworZWxsL1NNCitlbGxpcHNvbWV0cnkKK0VsbWVyCitlbHNlL00KK2VsdWF0ZS9TTQorRW1hY3MvTQorZW1hbmNpcGF0ZS9EU05uR3kKK2VtYmFyZ28vTUdECitlbWJhcmsvRUdTQUQKK2VtYmFycmFzc2VkL1UKK2VtYmVkZGFibGUKK2VtYmVsbGlzaC9EU0dMCitlbWJpdHRlci9MZFMKK2VtYnJhY2l2ZQorZW1lbmQvN25HRFMKK2VtZXJpdHVzCitlbWV0aWMvUworZS5tLmYuCitlbWlncmF0aW9uL00KK2VtaXQvUlhTTkRHCitlbXBhdGhldGljYWwKK2VtcGhhc2l6ZS9DUkdEUworZW1waHlzZW1hdG91cworZW1wbG95YWJsZS9VUworZW1wdHktaGVhZGVkCitlbmFjdHMvQQorZW5jaGFudGVyL01TCitlbmNsYXZlL01TCitlbmNyeXB0aW9uL01TCitlbmQvU1JwTURKRworZW5kaW5nL1UKK2VuZG5vdGUvU00KK2VuZG9nYW1vdXMKK2VuZG9tb3JwaGlzbS9TTQorZW5kb3BsYXNtaWMKK2VuZHVyYWJseS9VCitlbmR1cmFuY2UvU00KK2VuZW1hL01TCitlbmVydmF0ZS9HRG5WU04KK2VuZXJ2YXRpb24vTQorZW5maWxhZGUvU01HRAorZW5mb3JjZXMvQQorRW5nZWwvUworZW5ncmF2ZS9HUkRKUworZW5qb2luL1NERworZW5saWdodGVuaW5nL1UKK2VubGlzdC9BR0RTCitlbmxpc3Rlci9NCitlbmxpc3RtZW50cworRW5vY2gKK2VucXVpcmUvR1pTRFJrCitlbnJhZ2UvRFNHCitFbnJvbgorZW5zZW1ibGUvTVMKK2VudGVydGFpbi9HUkxTa0QKK2VudGhyb25lL0RMR1MKK2VudGh1c2UvU0RHCitlbnRvdXJhZ2UvTVMKK2VudHJhaW5lci9NCitlbnRyYXAvTEdTRAorZW50cmVwcmVuZXVyL01TCitlbnR3aW5lL1NERworZW51bWVyYXRpb24vTQorZW51cmVzZXMKK2VudmVsb3BlL1NNCitlb2xpdGgvVworZXBoZWRyaW5lL1NNCitlcGhlbWVyaWRlcworRXBocmFpbQorRXBpY3VydXMKK2VwaWRlcm1hbAorZXBpZGVybWljCitlcGlkdXJhbAorZXBpZ3JhcGh5L1NNCitlcGlzY29wYWwvWQorZXBpc3RlbW9sb2d5LzF3TQorZXBpc3RsZS9TTQorZXF1YW5pbWl0eS9NUworZXF1YXRvcmlhbC9TCitlcXVpbGlicmlhCitlcXVpbGlicml1bS9FU00KK2VxdWluZS9TCitlcXVpdHkvTVNJCitlcXVpdmFsZW5jZS9HRFNNCitFcXV1bGV1cworZXIvYWUKK2VyZWN0L0RBCitlcmVjdG9yL01TCitFcmxlbm1leWVyL00KK2VycmFuZC9TTQorZXJyYXRpYy9TCitlcnVjdGF0aW9uL01TCitlc2NhcGlzbS9NUworZXNwYWRyaWxsZS9NUworRXNwYWdub2wKK2VzcG91c2UvR0RSUworZXN0L1IKK2VzdGFibGlzaGVzL0EKK2VzdGF0ZS9TTQorZXN0aW1hdGlvbnMvZgorZXN0cmFuZ2UvREdMUworZXN0cmFuZ2VyL00KK2V0Yy4KK2V0ZXJuYWwvUFkKK2V0aGVyZWFsL1BZCitldGhpYy8zTVNZCitldGhpY2FsL1VZCitldGhub2xvZ3kvM1N3TQorZXRobm9tZXRob2RvbG9neQorRXRuYQorZXR5bW9sb2d5LzMxU013CitFdWNoYXJpc3QvTVdTCitldXBob25pdW0vTVMKK0V1cmFzaWEKK2V2YW5lc2NlbnQKK0V2ZWx5bgorZXZlcgorZXZlcmxhc3RpbmcvUFkKK2V2b2x1dGlvbi8zTXlTCitldm9sdXRpb25pc20KK2V4YW1pbmVlcworZXhjZWxsZW5jZS9NWlMKK2V4Y2VwdC94REdTCitleGNlc3NpdmUvUAorZXhjaXRhYmlsaXR5L1NNCitleGNsdXNpdmVuZXNzL1MKK2V4Y29tbXVuaWNhdGUvU05uVkRHCitleC1jb21tdW5pc3QvTVMKK2V4Y29yaWF0ZS9TR0RObgorZXhjb3JpYXRpb24vTQorZXhjcmVzY2VuY2UvTVMKK2V4Y3JldGEKK2V4Y3Vyc2l2ZS9QWQorZXhlY3JhdGlvbi9NCitleGVjdXRlL1NWUnhHRAorZXhlZ2V0aWMvUworZXhlbXBsYXJ5L1AKK2V4ZXVudAorZXhoYXVzdGVyL00KK2V4b3JjaXNtL01TCitleG90aGVybWljL1kKK2V4b3RpYy9QU1kKK2V4cGF0cmlhdGlvbi9NCitleHBlY3RvcmFudC9TCitleHBlZGl0ZS9SU0RHCitleHBlZGl0aW9uL1N5TQorZXhwbGV0aXZlL1NNCitleHBsaWNhdGlvbi9NCitleHBsaWNpdGx5L0kKK2V4cGxvaXRhdGlvbidzCitleHBsb3NpdmVuZXNzL1MKK2V4cG9uZW50aWF0aW9uL00KK2V4cG9ydC9EUkdCbk1TTgorZXhwb3J0cy9BCitleHBvc2l0ZWQKK2V4cHJlc3Npb25pc20vU00KK2V4cHJvcHJpYXRvci9NUworZXhxdWlzaXRlbmVzcy9TCitleHRlbmQvaURSVnZoR05TeHViWAorZXh0ZW5kaWJpbGl0eS9NCitleHRlbmRzL2MKK2V4dGVuc2l2ZW5lc3MvU00KK2V4dGVyaW9yL01ZUworZXh0ZXJtaW5hdG9yL1NNCitleHRlcm5hbGl0aWVzCitleHRpcnBhdGlvbi9NCitleHRvcnRpb24vTVNSMworZXh0b3J0aW9uaXN0CitleHRyYWN0b3IvU00KK2V4dHJhbGVnYWwvWQorZXh0cmFtdXJhbAorZXh0cmF2YWdhbmNlL1NNCitleHVkYXRpb24vTQorZXllL1JTcE1ENmlHCitleWVsZXQvTWRTCitFemVraWVsCitGQUEKK2ZhY2VyL0tNQworZmFkL3JTZE0KK2ZhaWxpbmcvTQorZmFpbnRuZXNzL1MKK2Zha2UvUlNERworZmFraXIvU00KK2ZhbGxhY2lvdXMvUFkKK2ZhbGxpYmx5L0kKK2ZhbGxvdy9EUFNHCitmYWxzZXR0by9NUworZmFsdXRpbmcKK2ZhbWlsaWFsCitmYW5kYW5nby9NUworZmFuZm9sZC9NCitmYXJld2VsbC9NREdTCitmYXJpbmFjZW91cworZmFybS9TRFJHTQorZmFzY2lzdC9XU00KK2Zhc2hpb25hYmx5L1UKK2Zhc3RpZGlvdXMvWVAKK2Zhc3RpZGlvdXNuZXNzL1MKK2ZhdGFsZS8zUworZmF0YWxpdHkvU00KK2ZhdGUvalM2RE0KK2ZhdGhlci9kcFNZTQorZmF0aGVybHkvUAorRmF1bGtuZXIKK2ZhdW5hL1NNCitGYXVudGxlcm95CitmYXZvdXJpbmcvU01ZCitmYXZvdXJpdGlzbS9NUworZmVhbHR5L1NNCitmZWFzdC9SRE1HUworZmVhdGhlci9kcnBTWk0KK2ZlYXRoZXItYmVkL0dECitmZWF0aGVyLWJyYWluL01ECitmZWF0aGVyLXN0aXRjaAorZmVicmlsZQorRmVkcworZmVlZHN0dWZmcworRmVsZGVyCitGZWxkbWFuCitmZWxpbmUvWVMKK2ZlbWFsZS9QU00KK2ZlcnJvCitmZXJyeS9TR21XRE0KK2ZlcnRpbGl0eS9JU00KK2ZlcnZlbmN5L1NNCitmZXN0ZXIvSVMKK2Zlc3RlcmVkCitmZXZlcmlzaG5lc3MvUworZmlhbmPpL1NNCitmaWJyZWZpbGwvUworZmlicmVnbGFzcy9NCitmaWJ1bGFyCitmaWVsZGVkCitmaWVsZGluZworZmllbmQvTVMKK0ZpZmEvTQorZmlmZS9SU0RNRworZmlmdGVlbi9TSE0KK2ZpZnR5LXR3bworZmlnaHRpbmcvSVMKK2ZpZ3VyYWwKK0Zpamlhbi9TTQorZmlsZSdzCitmaWxpbmcvUworZmlsbGV0L1NkTQorZmlsdGVyLzdTcm5kTU4KK2ZpbHRyYXRlJ3MKK2ZpbmFsL1E4M3EtUworZmluYW5jZSdzCitmaW5pdGVzCitGaW5sZXkvTQorRmlubi9NUworZmlyZWQvVQorZmlyZS13YWxraW5nCitmaXJtd2FyZS9TTQorZmlydGgvTVMKK2Zpc2h0YWlsL0RNU0cKK0ZpdGNoYnVyZworZml0ZnVsbmVzcy9TCitmaXRtZW50cworZml0dGluZ2x5L1UKK2ZsYW1lcy9JCitmbGFtaW5nby9TTQorZmxhbmtlci9TTQorZmxhbm5lbGV0dGUvTVMKK2ZsYXNoL01EUlpTMkd6SgorZmxhdC1mb290ZWQvWQorZmxhdGxhbmQvUworZmxhdHRlbi9TcmQKK2ZsYXR1bGVudC9ZCitmbGF2b3VyaW5nL00KK2ZsYXhzZWVkL00KK2ZsZWV0aW5nbmVzcy9TCitmbGV0Y2hlci9NCitmbGV4L1NHRE1iCitmbGllc3QKK2ZsaW5jaC9EU0cKK2ZsaXJ0YXRpb3VzL1BZCitmbG9hdGluZy1wb2ludAorZmxvb3p5L1NNCitmbG9wcHkvVFNQTQorZmxvc3N5L1RTCitmbG91bmNpbmcvTQorZmxvdXJpc2gvU0RrRworZmxvdXJpc2hlci9NCitmbG93Y2hhcnQvR1MKK2ZsdWUvU00KK2ZsdWUtY3VyZWQKK2ZsdWZmL0RNWlNHMgorZmx1bW1veC9EU0cKK2ZsdW5reS9TTQorZmx1b3Jlc2NlbmNlL1NNCitmbHVvcmVzY2VudC9TCitmbHVycnkvR1NETQorZmx5LWRyaXZlCitmbHlwYXBlci9NCitmbHlwYXN0L00KK2ZvYi9EU01HCitmb2V0aWRuZXNzCitGb2xleS9NCitmb2xpYWNlb3VzCitmb2xrL1NNCitmb2xsaWN1bGFyCitGb2xzdG9uZS9NCitmb29saXNobmVzcy9TCitmb290cmVzdC9NUworZm9yYXllci9NCitmb3JiZWFyYW5jZS9NUworZm9yYmVhcmVyL00KK2ZvcmJpZC9HUworZm9yY2libGUvWVAKK2ZvcmUvNW0KK2ZvcmVib2RpbmcvUE0KK2ZvcmVjbG9zZS9TR0QKK2ZvcmVjb3VydC9TTQorZm9yZWZvb3QvTQorZm9yZWdyb3VuZC9HTVNECitmb3JlbGVnL1NNCitmb3JlbGltYi9TTQorZm9yZXBhd3MKK2ZvcmVzaGFkb3cvR1NECitmb3Jlc2hvcmUvU00KK2ZvcmVzdGxhbmQvUworZm9yZXN0cnkvU00KK2ZvcmdhdGhlci9kUworZm9yZ2V0ZnVsL1AKK2ZvcmdpdmFibHkvVQorZm9yZ29uZQorZm9ya2xpZnQvR0RNUworZm9ybWF0dGVkL1UKK2Zvcm1sZXNzL1BZCitmb3JuaWNhdGUvU05ER24KK2Zvcm5pY2F0aW9uL00KK2ZvcnN5dGhpYS9NUworZm9ydGlmaWNhdGlvbi9NUworZm9ydG5pZ2h0bHkvUworRm9ydHJhbi9NCitmb3VsbmVzcy9TCitmb3dsL0RNR1MKK2Zvd2xpbmcvTQorZm94aW5nL00KK2ZyYWNhcy9TTQorZnJhY3RhbC9TTQorZnJhY3Rpb25zL0lBCitmcmFjdGlvdXNuZXNzL1MKK2ZyYW1ld29yay9TTQorZnJhbmNoaXNlJ3MKK2ZyYW5jaGlzb3IvU00KK0ZyYW5jaW5lL00KK0ZyYW7nb2lzCitmcmFuay9QWVNEVEcKK0ZyYW5raXNoCitGcmFuaydzCitmcmFudGljbHkKK2ZyYXAvR1NECitGcmF1CitmcmF5L0NER1MKK0ZyZWRyaWNrc29uCitmcmVlYmllL1NNCitmcmVlbGFuY2UvU0RSR00KK2ZyZWVzdHlsZS9TTQorZnJlZXplL1JTRworRnJlbmNoL201TQorZnJlc2hlci9BTVMKK2ZyZXRmdWwvUAorZnJldGZ1bG5lc3MvUworRnJpZGF5L1NNCitmcmlkZ2UvU00KK2ZyaWVkL0EKK2ZyaWVuZGxlc3MvUAorZnJpbmdlJ3MKK2ZyaXR0ZXIvZFMKK2ZyaXp6bGUvREdTCitmcm9udC9GREdTCitmcm9udGFnZS9TTQorZnJvbnRpc3BpZWNlL01TCitmcm9udHJ1bm5lci9NUworZnJvc3RiaXR0ZW4KK2Zyb3plL0FVCitmcnVpdGVyZXIvTQorZnJ1aXRmdWxuZXNzL1UKK2ZydWl0bGVzc25lc3MvUworZnJ1c3RyYXRlL2hORFNrbkcKK2ZyeWVyL1NNCitGU0EKK2Z1ZGRsZS9HRFMKK0Z1amkKK0Z1bGhhbS9NCitmdWxsLWJsb29kZWQKK2Z1bGwtZnJvbnRhbAorZnVsbGlzaAorZnVsbC10aW1lCitmdW1hcm9sZS9TCitmdW1pZ2F0b3IvTVMKK2Z1bi9NejJaCitmdW5nb3VzCitmdXJpb3VzZXIKK2Z1cmxvbmcvTVMKK2Z1cm5pc2hlZC9VQQorZnVzZWUvTVMKK2Z1c2liaWxpdHkvU00KK2Z1dHVyaXNtL01TCitnYWJsZS9TREdNCitHYWJvbi9NCitnYWRvbGluaXVtL00KK2dhZmYvUk1TR0QKK2dhZ3dyaXRlci9TCitHYWxhcGFnb3MKK0dhbGVuJ3MKK2dhbGxhbnRseS9VCitnYWxsYW50cnkvU00KK2dhbGxpbWF1ZnJ5L01TCitHYWxsaXBvbGkKK2dhbG9zaC9TCitnYW1iaXQvTVMKK2dhbWJsZS9SRFNHCitnYW1lL0pZUFRTTUdSWkQKK2dhbWVzbWFuc2hpcC9NUworZ2FtdXQvU00KK2dhbmdwbGFuay9TTQorZ2FyZGVuaWEvU00KK2dhcmRlbmluZy9NCitHYXJmaWVsZC9NCitHYXJpYmFsZGkvTQorZ2Fycmlzb24vZFNNCitnYXJydWxvdXMvUFkKK0dhcnRoL00KK0dhcnZleQorZ2FzYmFnL1NNCitnYXNoL0RNR1RTCitnYXRlYXUvU00KK2dhdGVjcmFzaC9EUlNHCitnYXRlcG9zdC9NUworZ2F0aGVycy9BCitnYXVkaW5lc3MvUworR2F1Z3VpbgorR2F1bGxlL00KK2dhdXppbmVzcy9TCitnYXZlCitnYXpldHRlL0RHTVMKK2dhenBhY2hvL1NNCitHQ1NFL01TCitnZW5lcmFsaXNzaW1vL1NNCitnZW5pYWxpdHkvRlNNCitnZW5paS9NCitnZW5vbWljCitnZW50ZWVsaXNtCitnZW50ZWVsbmVzcy9TCitnZW50bGUvNVBZbVRHRAorZ2VvZGUvU00KK2dlb21ldHJ5L1NNCitHZW9yZ2lhL00KK0dlcmhhcmQKK2dlcm1pY2lkZS9NUworZ2VzdGljdWxhdGUvVkROU0dudgorZ2VzdGljdWxhdGlvbi9NCitnZXN0dXJhbAorR2V0dHlzYnVyZworZ2hhc3RsaW5lc3MvUworZ2hldHRvL1FTREdNCitnaG91bC9NUworR2lic29uL00KK0dpZGRpbmdzCitnaWdhaGVydHovTQorZ2lnZ2x5L1QKK2dpbGxpZS9TTQorR2lsbGluZ2hhbQorR2lyYXVkCitHaXVzdG8KK2dsYWNpYXRpb24vTQorR2xhZHN0b25lL00KK2dsYXNzLWJsb3dpbmcvTVMKK0dsYXN3ZWdpYW4vUworZ2xhemllci9TTQorZ2xlZS9qU002CitnbGVuL01TCitHbGVubgorZ2xpbW1lcmluZy9NCitnbGltcHNlL01HUkRTCitnbGlzdGVuL1NkCitnbGl0dGVyL2RTWmtKCitnbG9iYWxpc2F0aW9uCitnbG9iYWxpemF0aW9uCitnbG9iZXRyb3R0ZXIvTVMKK2dsb3Nzb2xhbGlhL1NNCitnbG90dGFsCitHbG91Y2VzdGVyL00KK2dsb3ZlL1NSR0RNcAorZ2x1bS9UWVAKK2dsdXR0b25vdXMvWQorZ2x5Y2Vyb2wvU00KK2dseWNvbC9TTQorZ29hbC1raWNrL1MKK2dvYmJsZS9SREdTCitnb2JsaW4vU00KK2dvZC9TTVlwCitnb2QtZGF1Z2h0ZXIvTVMKK0f2ZGVsL00KK0dvZGZyZXkvTQorR29kemlsbGEvTQorZ28ta2FydAorZ29sZGZpbmNoL1NNCitHb2xldGEvTQorZ29sbHkvUworR29uemFsZXMKK2dvb2Rlci9TCitHb29keWVhcgorZ29yZ2VyL0VNCitnb3JpbGxhL1NNCitHb3JreQorZ28tc2xvdworZ29zcGVsL1NNCitnb3NzaXAvZFNNCitHb3VsZC9NCitnb3VybWFuZC9TTQorZ291cm1ldC9TTQorZ292ZXJuL0dhU0QKK2dvdmVybm1lbnRhbC9ZCitHb3dlci9NCitHUE8KK2dyYWNlZnVsbHkvVQorZ3JhY2VmdWxuZXNzL1NFCitncmFmdC9TTVJHRAorR3JhaGFtL00KK2dyYW1tYXRpY2FsL1BZCitncmFuZGV1ci9TTQorZ3JhbmRmYXRoZXIvTWRTWQorZ3JhbmRtYS9TTQorZ3JhbmRuZXNzL1MKK2dyYW5kcGFyZW50L1NNCitncmFudWxhci9ZCitncmFwZXNob3QvTQorZ3JhdGlmeWluZy9VCitncmF0aW5nL00KK2dyYXZlZGlnZ2VyL1NNCitncmF2aW1ldGVyL1NXTQorZ3JlYXNlcHJvb2YKK2dyZWJlL1NNCitncmVlbi9UUE1HWURTCitncmVlbi1leWVkCitncmVlbmlzaAorR3JlZW5sYW5kL00KK2dyZWVuc3RpY2sKK2dyZWVud29vZC9TTQorZ3JlbWxpbi9NUworZ3JleWVyCitncmlkZGxlL0RHU00KK2dyaWxsZS9TTQorZ3JpbGxlci9NCitncmlzZW9mdWx2aW4KK2dyb2FuL01HUkRTCitncm9zcy9ZU0RUUEcKK2dyb3VuZHNoZWV0L00KK2dyb3VuZC1zcXVpcnJlbAorZ3JvdXAvU01SSkdECitncm91cGllL1NNCitncm91c2UvUkdTRE0KK2dyb3duL2NlSUEKK2dydW5pb24vU00KK0ctc3VpdAorR3VhZGVsb3VwZS9NCitndWlkZWJvb2svTVMKK2d1aWRlci9hTQorZ3VpZGVycworR3VpbGxhdW1lCitndWlsdC9aUzJ6TXAKK2d1bW15L1RQCitndW10cmVlL01TCitndW5wb3dkZXIvTVMKK0d1dGVuYmVyZworZ3V5L1JTTURHCitHdXlhbmVzZQorZ3V6emxlL0RSR1MKK0d3ZW4KK2d5cHBlZAorZ3lwc3Rlci9TCitneXJmYWxjb24vTVMKK2gvRQoraGFiaXR1YWwvWVAKK2hhY2tuZXkvU0RNCitIYWRkYWQvTQorSGFkcmlhbgorSGFnYXIKK0hhZ2VuL00KK0hhaWZhCitoYWlyYnJ1c2gvU00KK2hhaXJjbG90aC9TTQoraGFpcmRyZXNzZXIvU00KK2hhaXItZHJ5ZXIvUworaGFpcnkvVFAKK2hhamppL1NNCitoYWxmLWJhY2svU00KK2hhbGYtYmVhaworaGFsZi1ibHVlL1MKK2hhbGYtY2FzdGUvUworaGFsZi1oZWFydGVkbmVzcy9TCitoYWxmLWluY2gKK2hhbGYtbGVuZ3RoCitoYWxmLXN0ZXAKK2hhbGYtdGltZS9TCitoYWxmLXRyYWNrCitoYWxsdWNpbm9nZW4vU1dNCitoYWxvbi9NCitIYW1ibGV0b24KK0hhbWJ1cmcvTQoraGFtbGV0L01TCitoYW1tZXIvZHByCitoYW1zdHJ1bmcKK2hhbmRjdWZmL0RTRworaGFuZGluZy9jCitoYW5kbGUvUk1HRFMKK2hhbmRsZWQvYQoraGFuZG1hZGUKK2hhbmQtdG8taGFuZAoraGFuZC10by1tb3V0aAoraGFuZy1nbGlkZS9SRworaGFuZ3MvY0EKK2hhbmd1cC9TCitIYW51a2thaAoraGFwaGF6YXJkL1BZCitoYXBwZW5pbmcvTQoraGFyYm91ci9wUkdTRE0KK2hhcmJvdXJtYXN0ZXIncworaGFyZGNvcmUKK2hhcmR0b3AvU00KK2hhcmsvR1NECitoYXJsb3QveVNNCitoYXJtZWQvVQoraGFybW9uaW91c2x5L0UKK2hhcnJ1bXBoL0RHUworaGFycnkvUkRTRworaGFydC9TTQoraGFzcC9HU01ECitoYXN0aW5lc3MvUworaGF0Y2hpbmcvTQoraGF0c3RhbmRzCitoYXVsZXIncworaGF1bnQva0RSSkdTCitoYXV0ZXVyCitIYXZhbnQKK2hhdmVyL1MKK2hheWxvZnQvTVMKK2hhemFyZC9ER1NNCitoZWFkZWRuZXNzL1MKK2hlYWRsb25nCitoZWFkbm90ZQoraGVhZC1vbgoraGVhZHBpZWNlL1NNCitoZWFkd2luZC9TTQoraGVhZHdvcmQvU00KK2hlYWx0aGZ1bC9QCitoZWFyZXIncy9jCitoZWFydGJyZWFrL1NrR00KK2hlYXJ0aC9NUworaGVhdGhlbi9TTQoraGVhdmVuLXNlbnQKK2hlYXZpbmVzcy9TCitoZWF2eS9UUFNZCitoZSdkCitoZWRnZXJvdy9NUworaGVlZGxlc3MvWVAKK2hlZnRpbmVzcy9TCitoZWlnaHQvTVMKK2hlbGljYWwvWQoraGVsaWNlcy9NCitIZWxtdXQKK2hlbG90L1MKK2hlbHAvUlNqcEQ2SkcKK2hlbHRlci1za2VsdGVyCitoZW1sb2NrL1NNCitoZXBhcmluL01TCitoZXB0YWdvbi9NUworaGVyZXRpY2FsCitoZXJldW5kZXIKK0hlcmlvdC1XYXR0CitoZXJtYXBocm9kaXRlL1NNVworaGVybWV0aWNhbAoraGVybWl0aWFuCitIZXJvZC9NCitIZXdsZXR0L00KK2hleGVyL00KK2hndAoraGlhdHVzL1NNCitoaWJlcm5hdGUvR1NuRE4KK0hpYmVybmlhbgorSGljaworaGllaW5nCitoaWVyYXRpYworaGlnaC9TVFBZCitoaWdoYnJvdy9NUworaGlnaC1oYW5kZWRuZXNzL1MKK2hpZ2gtaW5jb21lCitoaWdoaXNoCitoaWdoLW9jdGFuZQoraGlnaC1wb3dlcmVkCitoaWdoLXNwaXJpdGVkCitoaWdoLXN0cmVldAoraGlqYWNrL0dSU0RKCitIaWxkZWJyYW5kL00KK0hpbGxjcmVzdAoraGluZHF1YXJ0ZXJzCitIaW5zZGFsZQoraGlwcG9wb3RhbXVzL01TCitIaXJhbQoraGlzdGFtaW5lL01TCitoaXN0b2NoZW1pc3RyeS9NCitIaXRhY2hpCitoaXQtYW5kLW1pc3MKK2hpdC1hbmQtcnVuCitoaXRoZXIKK2hpdGhlcnRvLXVuc2VlbgorSE1TTworaG8vTVJZRAorSG9iYmVzCitob2JieS8zTVMKK2hvY2tleS9TTQoraG9jdXMKK2hvZXMvRgorSG9mZm1hbgorSG9nZworaG9sZXkKK2hvbGx5L01TCitIb2x5b2tlCitob21lL1JwWUd6RE1TCitob21lLWJyZXcvU0RNCitob21lLWJ1aWxkaW5nCitIb21lcnRvbgoraG9tZS1zaG9wcGVyCitob21vZ2VuZWl0eS9JU00KK2hvbW9waG9iaWMKK2hvbmVzdGVzdAoraG9ub3VyYWJsZS9NUworSG9uc2h1L00KK2hvb2YvTURHUworaG9vay1ub3NlZAoraG9va3dvcm0vU00KK2hvcHBsZXMKK0hvcm5ibG93ZXIKK2hvcm5lcgoraG9ybmxpa2UKK2hvcm9sb2d5L1czd1NNCitob3JzZWJhY2sKK2hvcnNlLWRvY3RvcgoraG9yc2VoYWlyL1NNCitob3JzZXdoaXAvR0RTTQorSG9ydG9uCitob3QtYmxvb2RlZAoraG90Ym94L1NNCitob3RjaHBvdGNoL00KK2hvdGhlYWRlZC9QCitob3QtdGVtcGVyZWQKK2hvdXIvTVlTCitob3VyZ2xhc3MvU00KK2hvdXJseS9TCitob3VzZWhvbGQvUlNNCitob3VzZS1tb3RoZXIvU00KK2hvdXNlLXBhcmVudC9TTQoraG91c2UtdHJhaW4vRAoraG92ZQoraG93YmVpdAoraG93ZGFoL1NNCitIb3lsZQoraHVnZS9QVFkKK0h1Z2hlcworaHVsbC9TUkdNRAoraHVtYW5raW5kL00KK2h1bWFubmVzcy9TCitIdW1iZXIKK0h1bWJlcnNpZGUKK2h1bWlkaWZ5L0NuR05SRFMKK2h1bWlkaXR5L1NNCitodW1vbmdvdXMKK2h1bW91cmVyL1MKK0h1cmxleS9NCitodXJsaW5nL00KK2h1c2svUnpaU01EMkcKK2h1c2t5L1RTUAorSHVzc2Fpbi9NCitIdXR1CitoeWJyaWQvcS1NUThTCitoeWRyYXRpb24vQ01TCitoeWRyb2ZvaWwvTVMKK2h5ZHJvZ2VuYXRlZC9DCitoeWRyb3Bob25lL01TCitoeW1ub2dyYXBoeQoraHlwZXIvUworaHlwZXJhY3RpdmUvUworaHlwZXJhZW1pYS9NCitoeXBlcmFlc3RoZXRpYworaHlwZXJjdWJlL1NNCitoeXBlcmdhbXkvTQoraHlwZXJwbGFzaWEvTQoraHlwZXJ2ZW50aWxhdGlvbi9NCitoeXBoZW5hdGlvbi9NCitoeXBvLWFsbGVyZ2VuaWMKK2h5cG9jaG9uZHJpYS9TTQoraHlwb2Rlcm1pYy9TCitIegoraWJ1cHJvZmVuL1MKK2ljZS1jb2xkCitJY2VuaQoraWNpbmcvTQoraWRlb2dyYW0vU00KK2lkZW9sb2d1ZS9TCitpZGlvc3luY3JhdGljL1kKK2lkaW90LzFTTVcKK0llc3R5bgoraWduaXRlci9NCitpZ25vbWlueS9TTQorSWtlL00KK2lsZXVtL00KK2lsaworaWxsLWZpdHRpbmcKK2lsbC1mb3VuZGVkCitpbGwtZ290dGVuCitpbGxpY2l0bmVzcy9TCitpbGxpcXVpZAoraWxsLWp1ZGdlZAoraWxsLW1hbm5lcmVkCitpbGwtc3VpdGVkCitpbGwtdHJlYXQvRAoraWxsLXRyZWF0bWVudAoraWxsdXNpb24vRVMKK2lsbHVzaW9uJ3MKK2lsbHVzdHJhdGVkL1UKK2ltYWdpbmFibGVuZXNzCitpbWFnaW5hdGl2ZW5lc3MncworaW1hZ2luZWQvVQoraW1tYXR1cmUvUAoraW1tZWRpYWN5L1NNCitpbW1lbW9yaWFsCitpbXAvRFNHTQoraW1wYXJ0YXRpb24vTQoraW1wYXNzaWJsZS9ZCitpbXBlZGVkL1UKK2ltcGVyZmVjdC9nVlAKK2ltcGVyaW91c25lc3MvUworaW1wZXJpc2hhYmxlL1BZCitpbXBlcm1hbmVudAoraW1wZXJzb25hbAoraW1wZXJzb25hbGl0eQoraW1wZXR1b3VzaXR5CitpbXBsZW1lbnQncworaW1wbGljaXRuZXNzL1MKK2ltcG9ydGFuY2UvU00KK2ltcG9ydHVuYXRlL1BTWQoraW1wb3NlL0FTREcKK2ltcG9zaXRpb24KK2ltcG90ZW5jZS9NU1oKK2ltcHJlY2F0ZS9HTkRTbgoraW1wcmVzc2lvbmFibGUvUAoraW1wcmVzc2lvbmlzdC9XCitpbXByb21wdHUvUworaW1wcm92ZWQvVQoraW5hZG1pc3NpYmxlCitpbmFkdmVydGVuY2UvU00KK2luYW5lbmVzcworaW5hcHBlYXNhYmxlCitpbmFwdC9QCitpbmF1Z3VyYWwvUworaW5jYW50L05uRworaW5jYXJjZXJhdGUvRE5uU0cKK2luY2VwdG9yL00KK2luY2hvYXRlL0dEUworaW5jaWRlbmNlL01GUworaW5jaW5lcmF0b3IvU00KK2luY2lwaWVudC9ZCitpbmNsaW5lL0VETlNuRworaW5jb25kZW5zYWJsZQoraW5jb25ncnVvdXNuZXNzL1MKK2luY29udGVzdGFibGUvWQoraW5jcmltaW5hdGlvbi9NCitpbmN1YmF0b3IvU00KK2luZGV4L1JEN0duTQoraW5kaWNhdGUvTlZuU0d2RAoraW5kb2xlbmNlL1NNCitJbmRvbmVzaWEvTQoraW5kdWNlL25SdURMR1ZTTmJ2CitpbmR1Y3RpdmUvUAoraW5kdWxnZS9jR0RTCitpbmR1c3RyaWFsaXNtL1NNCitJbmR5L1MKK2luZWR1Y2FibGUKK2luZWZmYWJpbGl0eS9NUworaW5lcnRpYS9vTVMKK2luZXhwbGljaXRuZXNzCitpbmV4cHJlc3NpYmlsaXR5L00KK2luZXh0cmljYWJsZS9ZCitpbmZlY3RpdmUKK2luZmlnaHRpbmcvTQoraW5maWx0cmF0ZS9WCitpbmZpbml0aXZlL01TCitpbmZsZXhpb24vU00KK2luZmxpY3Rlci9NCitpbmZvcm1hdGl2ZS9VWQoraW5mb3JtYXRpdmVuZXNzL1MKK2luZnVzaWJsZS9QCitpbmdyZXNzaW9uL00KK2luaGVyaXRyaXgvTVMKK2luaHVtYW5lCitpbmlxdWl0b3VzL1BZCitpbmp1cmUvUkRHU1oKK2lua2Jsb3QvTVMKK2lua3N0YW5kL1NNCitpbmxpZXIvTQoraW4tbGluZQoraW5tb3N0Citpbm5hcmRzCitpbm5lcnNvbGUvUworaW5uZXJ2YXRpb24vTQoraW5vY3VsYXRpb24vQQoraW5vcHBvcnR1bmUvUAoraW5wdXQvU0dNCitpbnJvYWQvU00KK2luc2NydXRhYmxlbmVzcy9TCitpbnNlY3VyZQoraW5zZW50aWVuY2UvUworaW5zZXBhcmFibGUvUFMKK2luLXNlcnZpY2UKK2luc29mYXIKK2luc3RhbnRpYXRlZC9VCitpbnN0YW50aWF0aW9uL00KK2luc3RpbmN0L3ZWTVMKK2luc3RpbmN0dWFsCitpbnN0aXR1dGUvRHhSR1NWCitpbnN0aXR1dGluZy9BCitpbnN0cnVtZW50YXRpb24vTQoraW5zdWZmZXJhYmxlL1kKK2luc3VsYXRpb24vTQoraW5zdXJlL0RSU0cKK2luc3VyZ2VuY3kvU00KK2ludGVtcGVyYXRlbmVzcy9TCitpbnRlbnQvUFkKK2ludGVudG5lc3MvUworaW50ZXJjYXN0ZQoraW50ZXJjb25uZWN0aW9uL1NNCitpbnRlcmRlcGVuZGVudC9ZCitpbnRlcmRpc2NpcGxpbmFyeQoraW50ZXJlc3RpbmduZXNzL00KK2ludGVyZmFjZXIKK2ludGVyZmlsZS9TREcKK2ludGVyZ2xhY2lhbAoraW50ZXJsZWF2ZXIvU00KK2ludGVybGluZS9TREdKCitpbnRlcmxvcGUvU0RSRworaW50ZXJuYXRpb25hbGl0eS9NCitJbnRlcm5ldC9NCitpbnRlcnBvbGF0YWJsZQoraW50ZXJwb2xhdGUvRE5uU1ZHCitpbnRlcnByb2Nlc3NvcgoraW50ZXJyYWNpYWwKK2ludGVyc2VjdGlvbi9TTQoraW50ZXJ0YXNrCitpbnRlcnZlbmUvU0RHCitpbnRpbWF0ZS9EWVBHTlNuCitpbnRpbWF0ZXIvTQoraW50aW1hdGlvbi9NCitpbnRyYWNpdHkKK2ludHJhbWV0cm9wb2xpdGFuCitpbnRyYXB1bG1vbmFyeQoraW50dWl0ZWQKK2ludHVpdGl2ZW5lc3MvUworaW52YWxpZGlzbS9NUworaW52ZWlnbGUvUlNHRAoraW52ZW50aW9uL0FNUworaW52ZXN0ZWQvQQoraW52aWdpbGF0ZS9ERworaW52dWxuZXJhYmxlL1AKK2lud2FyZC9ZUAoraW9kaXNlL0dEUworaW9kaXplL0dEUworSVBBCitJcWFsdWl0CitJcmFuaWFuL1NNCitpcmUvNlNETUcKK2lyaWRlc2NlbmNlL01TCitJcmlzaC9tNQoraXJvbnNpZGUvU00KK2lyb25zdG9uZS9TTQoraXJvbndhcmUvU00KK2lycmVkZW50aXN0L00KK2lycmVmdXRhYmxlL1kKK2lycmV0cmlldmFibGUvWQoraXJyaWdhdGlvbi9NCitpcnJpdGFibGUvUFkKK2lycnVwdGlvbi9NUworaXNpbmdsYXNzL1NNCitpc29sYXRlZC9LCitpc29wZXJpbWV0cmljYWwKK2lzb3RvbmljCitJU1AKK2lzcGVsbC9NCitpc3N1YW50CitpdC9NNFNVCitpdGluZXJhcnkvU00KK0lUVQorSXZlcworaXZ5L0RNUworamFja2Fzcy9TTQoramFja2hhbW1lcmVkCitqYWNraGFtbWVyJ3MKK0phY2tpZQorSmFjb2IvUworamFsYXBl8W8vUworamFtYi9HTURTCitKYW1lc3Rvd24vTQorSmFuaXMKK2phdW50aW5lc3MvUworamF5d2Fsay9HRFNSSgorSmF6ZWVyYQoramF6em1lbgorSmVhbm5lCitqZWxsbydzCitqZWxseWluZy9NCitKZXRocm8KK2pldC1sYWcvRAorSmV6ZWJlbC9TCitqZy9NCitqaWcvRFJTR00KK2ppZ2dlci9kWgoramltbXlpbmcKK2ppbm4vTVMKK0pvYW5uYQoram9jdWxhcml0eS9NUworam9nZ2xlL0RHUworam9pbnRlci9NCitqb2xsaXR5L1NNCitKb25hcworSm9yZGFuL00KK0pvc2VwaAoram91cm5leS9SbVNNREpHCitKdWFuCitqdWJpbGF0aW9uL00KK2p1ZGdlci9NCitqdWRpY2lvdXNuZXNzL0lTCitqdWRvL01TCitKdWxpZXQvTQoranVtYmxlL0dEUworSnVuZy9NCitqdW5rL01EUlpHUworanVua3kvVFMKK2p1cmlzZGljdGlvbmFsCitqdXRlL01TCitqdXh0YXBvc2UvU0RYR04KK2thYnVraS9NUwora2FkZGlzaC9TCitrYWxlL01TCitLYW1wYWxhL00KK0thbmRhaGFyCitLYW5zYWkKK0thbnQKK2thb2xpbi9XUThNCitrYXJhb2tlCitLYXRlL00KK0thdGhsZWVuCitLYXVuZGEKK0thd2FzYWtpCitLYXpha2gKK2tjL00KK0tlYXRpbmcKK2tlZWxlcgora2Vlbi9UR0RQWQora2Vlbm5lc3MvUwora2VlcC1maXQKK2tlZy9TR01ECitLZWlnaGxleQorS2VsbGVyCitLZW5uZXQKK2tlbm8ncworS2VudHVja3kKK0tlbnlhL00KK2tlcmJzaWRlCitLZXJzaGF3CitrZXkvRFNHTQora2V5cHVuY2gvR1JEUworS2hhbGlkCitLaG9pc2FuCitraWJibGUvRFNHTQorS2lkZAora2lsbC9TUmtKN0dECitraWxsZGVlci9TTQora2lsb2htL00KK2tpbG9saXRyZS9TTQora2lsb21ldHJlL1NNCitraW1vbm8vU00KK2tpbmQvUFNUWQora2luZGVzdC9VCitraW5kLWhlYXJ0ZWQvWVAKK2tpbmRsZS9EU0FHCitraW5kcmVkCitraW5nbHkvVFAKK0tpbnJvc3MvTQora2lvc2svTVMKK0tpcGxpbmcvTQorS2lyY2huZXIvTQora2l0dGVuaXNoL1lQCitraXdpZnJ1aXQvUwora2wKK0tsZWVuZXgKK0tsaW5nb24KK2tsdWRnZS9SR1NETQora25hcHNhY2svTVMKK2tuYXZlcnkvU00KK2tuZWUvR2RNUwora25lZS1kZWVwCitLbmVzc2V0CitrbmV3CitrbmlnaHRsaW5lc3MvUwora25pc2gvU00KK2tuaXR3ZWFyL00KK2tuaXZlcy9NCitrbm9ja2luZy1zaG9wCitrbm93ZXIvTQorS25veAorS251dHNvbgorS29iYXlhc2hpCitLb2hsZXIKK2tvcGVjay9NUworS292YWNzCitrcGgKK0tyYWtvdworS3JhdXNlCitrcm9uYS9NCitLcm9wb3RraW4KK0tydXNlL00KK0tTCitLdWJyaWNrCitLdXJkaXNoCitsYWJpYWwvUworbGFib3VyaW5nL00KK2xhY2VyL01WCitsYWNocnltYWwvUworbGFjaW5nL00KK2xhY2tleS9NREdTCitsYWNrbHVzdHJlCitsYWNxdWVyL1NyZE0KK0xhZGJyb2tlcworbGFkeWJpcmQvU00KK2xhZHlsaWtlL1UKK2xhZHlsb3ZlL01TCitsYWcvU3JESkcKK2xhaXJkL1NNCitsYWlzc2V6CitsYWtlc2lkZQorbGFtYXNlcnkvU00KK2xhbWJkYS9NUworbGFtYmVudC9ZCitsYW1ic2tpbi9NUworbGFtYnN3b29sCitsYW1lbnRhYmxlL1AKK0xhbW9udAorbGFtcHJleS9TTQorTGFuYS9NCitMYW5hcmtzaGlyZS9NCitsYW5kbG9yZC9TTQorbGFuZGx1YmJlci9NUworbGFuZG1pbmUKK2xhbmUvU00KK2xhbmd1b3IvU00KK0xhbmthL00KK2xhbmtuZXNzL1MKK2xhcC9EU2NHTQorbGFwaW4vTVMKK2xhcmdlbmVzcy9TCitsYXJnZXNzZQorbGFyZ28vUworbGFzY2l2aW91cy9ZUAorbGF0ZXN0L1MKK2xhdGgvU0RSeUdNCitsYXRoZS9TTQorTGF0aHJvcAorTGF0aW5vCitsYXRpdHVkZS9NUworbGF0dGVyL1lNCitMYXR0aW1lcgorbGF1ZC9TbERHNworbGF1Z2gvN1JTbEdrREoKK2xhdWdoaW5nL00KK2xhdXJlYXRlL1MKK2xhd2dpdmluZy9NCitsYXduL01TCitsYXkvQ1JHUworbGF5cGVyc29uL1MKK2xheXdvbWVuCitsZWFkZXJzaGlwL01TCitsZWFkLWZyZWUKK2xlYWZob3BwZXIvTQorbGVhay9EWlMyR00KK2xlYWtlci9NCitsZWFreS9UUAorbGVhbi1idXJuCitsZWFwZnJvZy9NU0dECitsZWFzaCdzCitsZWFzdC9TCitsZWF2ZXMvTQorbGVjdHVyZS9SR0RTTQorTEVEJ3MKK0xlZWRzCitMZWV1d2VuaG9lay9NCitsZWV3YXJkL1MKK2xlZnQtZm9vdGVkCitsZWdlbmQvTVMKK2xlZ2lzbGF0dXJlL01TCitsZWdpdAorbGVnaXRpbWFjeS9JU00KK2xlZ2l0aW1pc2F0aW9uCitsZWd1bWUvU00KK2xlZ3VtaW5vdXMKK2xlaS9TTQorTGVpcHppZy9NCitsZWlzdXJlbHkvUAorbGVtb24vTVMKK2xlbmQvU1JHCitMZW9uCitMZW9uZS9NCitMZW9uaWQvTQorbGVzdAorTGV0aGUvTQorbGV0dGVyaGVhZC9NUworbGV0dXAvU00KK2xldWtvY3l0ZS9NUworTGV2YW50CitsZXdkL1RQWQorTGlhbmEKK2xpYi9ER1NuTQorTGlieWFuL1MKK2xpY2Vuc2VlL1NNCitsaWNoZW5vdXMKK2xpY2svSkRTRworbGlja2VyL00KK0xpZWJmcmF1bWlsY2gKK2xpZS1pbi9TCitsaWV1L00KK2xpZmUtZ2l2aW5nCitsaWZlbGVzc25lc3MvUworbGlnYXRlL05uRFNHCitsaWdodC1oZWFydGVkL1BZCitsaWdodG5pbmcvRE1TCitsaWdodHMvQ0EKK2xpZ2h0d2VpZ2h0L1MKK2xpZ251bQorbGlrZWFibGVuZXNzL1MKK2xpa2VuZXNzL01TCitsaWxhYy9NUworbGlsdC9TR0RNaworbGlseS13aGl0ZQorTGltYXZhZHkvTQorTGltYnVyZ2VyCitsaW1la2lsbi9NCitsaW1pdGVkbHkvVQorbGltaXRsZXNzbmVzcy9TCitsaW1wL1NUR0RQWQorbGltcGlkbmVzcy9TCitsaW15L1QKK0xpbmRzZXkvTQorTGluZHN0cm9tL00KK2xpbmdvZXMKK2xpbnRlcidzCitsaW9uaXplL0QKK2xpcHB5L1QKK2xpcC1yZWFkL0dTSgorbGlxdWlkYXRvci9NUworbGlxdW9yaWNlL1NNCitsaXJlCitsaXNzb21lL1AKK2xpc3RsZXNzL1BZCitMaXN6dAorbGl0L1IKK2xpdGVyYXRlbmVzcworbGl0aGVzb21lCitsaXRob3NwaGVyZS9XU00KK0xpdHRsZXRvbgorbGl2ZXJpc2gKK2xsYW5vL01TCitMbGV3ZWxseW4KK2xvYWQvUlNER01KNworbG9hZHN0b25lJ3MKK2xvYW0vWlNNCitsb2JhcgorbG9jYXRhYmxlL0EKK2xvY3V0aW9uL1NNCitsb2RnZS9MUlNER0pNCitsb2Z0L1NEejJHTVoKK2xvaXRlci9kU3IKK0xvbGEKK0xvbWJhcmR5L00KK2xvbmVzb21lL1BTWQorbG9uZy1kcmF3bgorbG9uZy1saWZlCitsb25nLXN1ZmZlcmluZy9ZCitsb25nd2lzZQorbG9vay9lU2MKK2xvb2tlZC9VYworbG9va2VyL1NNCitsb29zaW5nJ3MKK2xvb3QvUlNER00KK0xvcGV6Citsb3F1YWNpb3VzL1BZCitsb3F1YWNpdHkvTVMKK2xvdHRlcnkvU00KK2xvdHVzL1NNCitsb3VkZW4vZAorbG91ZHNwZWFraW5nCitsb3ZhYmxlbmVzcy9TCitsb3ZlLWJpcmQvTVMKK2xvdmUtY2hpbGQKK2xvdy9ER1NUWVAKK2xvd2xpZmUvTVMKK2xvdy1wcm9maWxlCitsb3lhbGlzdAorTFBHCitMU0QKK2x1YnJpY2l0eS9NUworTHVjYXMKK0x1Y2VybmUKK0x1Y2lhbgorbHVja2luZXNzL1NNCitsdWNyYXRpdmUvUAorbHVjdWJyYXRpb24vTQorbHVtYmVyL3JkU00KK2x1bWJlcmphY2svTVMKK2x1bXBlci9NCitsdW1weS9QVAorbHVuYXIvUworbHVuY2gvU0RNRworbHVyZXgKK2x1cmsvUkdEUworTHVzaXRhbmlhCitsdXRhbmlzdC9TTQorTHV0egorbHV4ZS9DCitMdXhlbWJvdXJnaWFuCitsdXh1cmlhbmNlL1NNCitseXJpYy8zUworTWFjYXUKK01hY0RyYXcvTQorTWFjaAorbWFja2VyZWwvU00KK21hY3JvY29zbS9TTQorTWFmaW9zaQorbWFnZ290L01TCittYWduZXNpYS9TTQorbWFnbmVzaXRlL00KK21hZ25ldGljcy9NCittYWduaWZpY2VuY2UvU00KK21hZ251bS9NUworTWFnbnVzb24vTQorTWFoYXlhbmlzdAorbWFpZGVuL1lTTQorbWFpZGVuaGFpci9NUworbWFpZGVuaG9vZC9NUworbWFpbmxpbmUvUlNHRAorbWFpbmx5CittYWludGFpbi9SQlNERworbWFpbnRvcC9TTQorbWFqb3Jkb21vL1MKK21ha2UtdXAvU00KK21hbGFkYXB0L1ZECittYWxjb250ZW50L00KK01hbGRpdmVzL00KK21hbGVmYWN0b3IvU00KK21hbGVmaWNlbnQKK01hbGlidS9NCittYWxpZ25hbmN5L1NNCittYWxsL1NNCittYWxwcmFjdGljZS9NUworbWFtbXkvTQorTWFtb3V0enUvTQorbWFuYWdlYWJsZW5lc3MKK21hbmFuYXMKK21hbmF0ZWUvU00KK01hbmNodXJpYW4vUworTWFuZnJlZAorbWFuZ2xlL0dEUworbWFuZ2xlci9NCittYW5ncm92ZS9NUworTWFuaQorbWFuaWFjYWwvWQorbWFuaWN1cmUvM0RTTUcKK21hbm5lcXVpbi9TTQorbWFubmVyL1kKK21hbm5lcmxpbmVzcy9VCittYW5uaW5nL2MKK21hbm9ldXZyZWQvZQorbWFuc2UvWE5NUworbWFuc2VydmFudC9NCittYW5zaW9uL00KK21hcG1ha2VyL1MKK21hcHBlZC9VCittYXIvREdaCitNYXJkaQorTWFyZ28vTQorbWFyaWEvTQorTWFyaWFuYS9TCitNYXJpYW5hcy9NCitNYXJpZS9NCittYXJpbmFyYS9TTQorbWFyaW5lL1JTTgorTWFyaW9uCittYXJpdGltZQorTWFya2hhbS9NCitNYXJsZW5lL00KK21hcmxpbi9TTQorbWFybW90L1NNCitNYXJxdWV0dGUKK01hcnlsYW5kZXJzCittYXNrL0pSRE1TRworbWFzb2NoaXN0L1NXTTEKK01hc3NhY2h1c2V0dHMKK21hc3NpZi9TTQorbWFzdC9EUlNNRworbWFzdGVyLXN0cm9rZS9NUworbWFzdGljYXRlL0RHUworTWF0YS1VdHUvTQorbWF0Y2hlcy9BCittYXRlcm5pdHkvU00KK21hdGhzCitNYXRsYWIKK21hdHJpY2VzCitNYXR0aWUKK01hdWRlCittYXVsL0RSU0cKK01hdXJpdGlhbi9TCittYXhpL1MKK21heGltL3FRczg5TW8tUworTWF5YQorTWF5ZXIvTQorbWF5bid0CitNQgorTWNHZWUvTQorTWNHcmF0aC9NCittZWF0bG9hZgorbWVjaGFuaWMvU01ZCittZWRhbGxpb24vTVMKK21lZGRsZS9SU0RHCitNZWRmaWVsZAorbWVkaWNhdGUvU0dECittZWRpY2luYWwvUworbWVla25lc3MvUworTWVpZXIvTQorTWVrb25nCitNZWxib3VybgorTWVsZHJldworbWVsaW9yYXRpb24vTQorbWVsbGlmbHVvdXNuZXNzL1MKK01lbGxvbgorbWVsbG93L0dZVFBTRAorbWVsb2Rpb3VzL1UKK21lbG9kcmFtYS9XU00xCittZWx0L0RrU0cKK21lbHRkb3duL1MKK21lbW9yaWFsbHkvSQorbWVtb3JpemF0aW9uL00KK21lbW9yeWxlc3MKK23pbmFnZQorTWVuZG96YQorbWVuaGFkZW4vTQorbWVuaW54CittZW5zdHJ1YXRlL1NHbk5ECittZW5zdXJhYmxlbmVzcworbWVudGlvbi83U1JERworbWVudG9yL01TCittZW51L01TCittZXJjZW5hcnkvUE1TCittZXJjaWxlc3MvUFkKK21lcmN1cmlhbG5lc3MKK01lcmN1cm9jaHJvbWUKK21lcmUvVFlTCittZXJldHJpY2lvdXMvUFkKK21lcml0L0NkTVMKK21lcml0b2NyYXRzCitNZXJyaWFtCitNZXJyaW1hYworbWVycmluZXNzL1MKK21lcnJ5LWdvLXJvdW5kL1MKK21lc2EvTVMKK21lc2NhbGluZS9TTQorbWVzaCdzCittZXNzL1NNCitNZXNzaWFlbgorbWVzc2lldXJzJ3MKK21lc3N5L1RQCittZXQvZHIKK21ldGFsbGlmZXJvdXMKK21ldGFsbG9pZC9NCittZXRhbHdvcmsvUkdKTVMKK21ldGFtYXRoZW1hdGljYWwKK21ldGFzdGFzaXMvZE1TUQorbWV0YXRoZXNlcworbWV0YXRoZXNpemluZworbWV0ZW9yaXRpYy9TCittZXRob2RvbG9naXN0cworTWV0aHVlbi9NCittZXRoeWxlbmUvTQorbWV0aWN1bG91c25lc3MvUworbWV0cmljL01OU24KK21ldHJvbm9tZS9TTQorbWV3bC9EU0cKK21lenpvLXNvcHJhbm8KK21mZworbWljYS9NUworTWljaGFlbGFuZ2VsbworTWljaGVsL00KK01pY2hlbGxlL00KK21pY2tleS9TTQorbWljcm9iaW9sb2d5L3czU00KK21pY3JvYnJld2VyeS9TCittaWNyb2VsZWN0cm9uaWNzL00KK21pY3JvZmlicmUvUworbWljcm9ncmFtbWUvUworbWljcm9oeWRyb2R5bmFtaWNzCitNaWNyb25lc2lhbi9TCittaWNyb3NvbWFsCittaWNyb3dhdmUvRzdEU00KK21pZC9aCittaWRkZW4vU00KK21pZC1ldmVuaW5nCitNaWRsb3RoaWFuL00KK21pZC1tb3JuaW5nCittaWRyaWZmL1NNCitNaWR3ZXN0ZXJuZXIvUworbWlncmF0ZS9JTlM0RG5HCitNaWd1ZWwKK21pa2UvRE1HUworTWlsYW5lc2UKK21pbGl0YW50L1lQUworbWlsa3NvcC9TTQorbWlsa3dlZWQvTVMKK21pbGxpYXJkL1NNCittaWxsaWRlZ3JlZS9TCittaWxsd3JpZ2h0L1NNCitNaWxvCitNaWx0b24vVworbWluZGVkL0EKK21pbmVzL2YKK01pbmcKK21pbmlzdHJhbnQvUworbWluay9NUworTWlubmVhcG9saXMKK01pbm9hbgorbWluc3RyZWxzL1oKK21pbnQvREdTTVJaCittaXNhZGRyZXNzCittaXNhZHZlbnR1cmUKK21pc2FwcHJlaGVuZAorbWlzY2VsbGFuZW91c25lc3MKK21pc2NlbGxhbnkvU00KK21pc2NvbmZpZ3VyYXRpb24KK21pc2RlZWQKK21pc2VyYWJsZS9QCittaXNmaXQKK21pc3Npb25hcnkvTVMKK21pc3NwZWxsCittaXN0YWtlL00KK21pc3RlZC9DCittaXRlL01TCittaXRvc2VzCittaXRyZS9ER01TCittbQorTW1lCitNbworbW9iaWxpc2UvQ25HQURTCittb2IncworbW9ic3Rlci9NUworbW9ja2luZ2JpcmQvU00KK21vZGVyYXRpbmcKK21vZGVybmlzZWQvVQorbW9kZXN0L1RaWQorbW9kaQorbW9kdWxhci9RLVk4cQorbW9kdXMKK01vaGFtbWVkYW4KK21vbGFyaXR5L1NNCittb2xhcidzCittb2xhc3Nlcy9NCitNb2xkYXZpYQorbW9sbHVzY2FuCitNb2xvdG92Cittb2x0ZW4KK21vbWVudHVtL01TCitNb25hL00KK21vbmV5ZXIncworbW9uZXltYWtpbmcvTQorTW9uZm9ydAorbW9uZ29saXNtL1NNCittb25ncmVsL01TCittb25pa2VyL1NNCittb25pdG9yZWQvVQorbW9uaXRvcnkvUworbW9ub2xvZ2lzdC9TCittb25vcGh0aG9uZ3MKK21vbm9wbGFuZS9TTQorbW9ub3RvbmljaXR5Cittb25vdG9ueS9TTQorbW9ub3hpZGUvTVMKK01vbnJvZQorTW9uc2lnbm9yCittb25zdHJhbmNlL1NNCittb25zdHJhbmNlJ3MvQQorbW9udGgvTVNZCitNb250cm9zZQorbW9vZHkvVFAKK21vcC9kU0dyTUQKK21vcmFsaXR5L1NNSQorbW9yYXNzL01TCitNb3JhdmlhbgorTW9yZWhvdXNlCittb3JlbC9NUworTW9ybGV5L00KK21vcnBoaW5lL1NNCittb3JzZWwvU00KK21vcnRpc2UvREdTTQorTW9zZWxleS9NCitNb3NlcworbW90aC9SU00KK21vdGhiYWxsL0RNR1MKK21vdGhlcmVyL1MKK21vdGl2YXRvci9TCittb3RsZXkKK21vdG9yY2FyL1NNCittb3R0by9NCittb3Vybi82akpEUkdTCittb3VzZS9EUkdNU1oKK21vdXRocGllY2UvU00KK21vdmVhYmlsaXR5Cittb3dpbmcvTQorbW93bgorTW94CittdWRndWFyZC9NUworTXVoYW1tZWQKK211bGV0ZWVyL1NNCitNdWxsaWdhbi9TTQorTXVsbGlucworbXVsdGljYXN0CittdWx0aWNvbXB1dGVyL01TCittdWx0aS1jb3VwbGVyCittdWx0aW5hdGlvbmFsL1NZCittdWx0aXBvaW50CittdWx0aXByb2Nlc3Nvci9TTQorbXVsdGlwcm9ncmFtbWluZy9NCittdWx0aXZhcmlhdGUKK211cmRlcmVzcy9TCittdXJkZXJvdXMvWVAKK011cmRvY2svTQorTXVyaWFsL00KK011cm1hbnNrL00KK211cm11ci9kTVNyCitNdXJyYXkvTQorbXVzL2RTdzFrCittdXNjdWxhdHVyZS9TTQorbXVzZXR0ZS9NUworbXVza2V0cnkvU00KK211c2xpbi9NUworbXVzdCd2ZQorbXV0YWdlbi9NUworTXV0c3VoaXRvL00KK211dHQvU00KK211dHRvbi9NUworTXV6YWsKK211enpsZS1sb2FkZWQKK211enpsZS1sb2FkaW5nCittdXp6bGVyL00KK015Y2VuYWUvTQorbXljb2xvZ3kvM1NNCitteXN0ZXJpb3VzL1BZCitteXN0aWZpZXIvTQorbXl0aG9ncmFwaGVyL1NNCituYWIvR1NECituYWNyZW91cworTmFkaWEvTQorTmFkaW5lL00KK25h73ZlL1kKK25h73ZldHkvUworbmFtZS1kcm9wL0RHU1IKK25hbWVwbGF0ZS9TTQorTmFubmV0dGUvTQorbmFub3NlY29uZC9TTQorTmFudHdpY2gKK25hcHB5L01TCitOYXJhL00KK25hcmNpc3Npc20vTVMKK25hcmNpc3Npc3QvU1dNCituYXJjaXNzdXMvTQorbmFycmF0aW9uL00KK25hc2NlbnQvQQorTkFTREFRCitOYXNodWEvTQorbmF0YWxpc3QKK05hdGhhbmllbC9NCituYXR1cmlzdAorbmF1Z2h0eS9QVFMKK25hdXNlYS9NUworbmF1c2VvdXMvUAorbmF1c2VvdXNuZXNzL1MKK05hdmFoby9NCituYXZlbC9TTQorbmF2eS9NUworTmIKK25lYXB0aWRlCituZWFyL1lEVEdQUworTmVicmFza2EvTQorbmVidWxvc2l0eQorbmVjZXNzaXRhdGUvRE5uU0cKK25lY2tpbmcvTQorbmVjcm9waGlsaWEvTQorbmVjdGFyL01TCituZWVkZnVsbmVzcworbmVpZ2gvU0dETQorbmVpZ2hib3VyL0RZU0dNCitOZWxsaWUvTQorTmVsbHkvTQorbmVtYXRpYworTmVtZXNpcy9NCituZXBocml0aWRlcworbmVyZC9TWgorTmV0aGVybGFuZHMvTQorbmV1cmFsZ2ljCituZXVyb3BzeWNoaWF0cmljCituZXVyb3NlcworbmV1dHJvbi9NUworbmV3Y29tZXIvTVMKK25ld2VzdAorTmV3cG9ydC9NCituZXdzcGFwZXIvbWRTNU0KK25ld3QvU00KK25leHQtZG9vcgorbmljZW5lc3MvUworTmljaG9sL1NNCituaWNrZWwvU0dNRAorTmljb3NpYS9NCitOaWVsc2VuL00KK25pZ2h0ZXJzL2MKK25pZ2h0aW5nYWxlL1NNCitOaWtvbGFpL00KK05pbGUvU00KK25pbmV0eS1zaXgvSAorbml0cm9nZW4vTQorbml0cm9nbHljZXJpbmUKK05pdWUvTQorbml4CitOTFJCCitub2dnaW4vU00KK25vaXNlbGVzc25lc3MvUworbm9pc2UtbWFrZXIvU00KK05va2lhL00KK05vbGFuZC9NCitub25hZ2VuYXJpYW4vTVMKK25vbi1hbGNvaG9saWMvUworbm9uLWJlbGlldmVyL01TCitub24tY29tYmF0YW50L01TCitub24tY29tbWVyY2lhbC9TCitub24tY29tcGV0aXRpdmUKK25vbi1jb250ZW50Citub24tY29udGlndW91cworbm9uLWNvbnRpbnVvdXMKK25vbi1jb250cmlidXRpbmcKK25vbi1jb3Jyb2RpbmcvUworbm9uLWRlbm9taW5hdGlvbmFsL1kKK25vbi1kaXNjaXBsaW5hcnkKK25vbi1mbGFtbWFibGUKK25vbi1oYXphcmRvdXMKK25vbi1pbnRlcnZlbnRpb25pc3QKK25vbi1sb2NhbAorbm9uLW1hZ2ljYWwKK25vbi1uYXRpdmUvUworbm9uLW9iamVjdGl2ZQorbm9uLXJhZGlvYWN0aXZlCitub24tcmlnaWQKK25vbi1ydXJhbAorbm9uLXNlYXNvbmFsCitub24tc2VjdWxhcgorbm9uLXNleHVhbAorbm9uLXNwaXJpdHVhbC9TCitub24tc3VwZXJ2aXNvcnkKK25vbi10cmFuc3BhcmVudAorbm9uLXRyaXZpYWwKK25vbi12aW9sZW5jZS9TCitub29kbGUvU00KK25vcGUKK25vcgorTm9yZm9say9NCitub3JtYWxpemVkL0EKK05vcnRoYW1wdG9uL00KK25vcnRoLUVhc3QvTQorbm9ydGgtd2VzdGVybgorTm9yd2Fsay9NCitOb3J3ZWdpYW4vUworbm9zZS1jb25lL1MKK25vdGFiaWxpdHkvU00KK25vdGFyeS9TTQorbm90YXRlL3hEU1ZHCitub3RlYm9vay9NUworbm90aWNlL0RNU0dsCitub3RpZmljYXRpb24vTQorbm91cmlzaC9ER0xTCitub3ZhZQorTm92b2NhaW4KK25vd2FkYXlzCituby13aW4KK051Ymlhbi9NCitudWRlcy9DCitudWRpdHkvU00KK251bGxpZmljYXRpb24vTQorbnVtYi9Sa1RZRFBHUworbnVtZXJhdGlvbi9NUworbnVtZXJhdG9yL1NNCitudW1lcmljL1NZCitudW1lcm9sb2dpc3QvUworbnVtc2t1bGwvU00KK051bmV6L00KK251bm5lcnkvU00KK051cmVtYmVyZy9NCitudXRhdGlvbi9NCitOdXVrL00KK055YXNhL00KK255bXBoL1NNCitOeXNzYS9NCitPQVMKK29iZXNlCitvYmVzaXR5L1NNCitvYmplY3Rpb25hYmxlL1UKK29ibGF0ZW5lc3MKK29ibGlnZXIvTQorb2JzZXF1aW91cy9ZCitvYnNlcXVpb3VzbmVzcy9TCitvYnNlcnZhbnQvWVUKK29ic2Vzc2l2ZW5lc3MvUworb2J0YWluYWJsZS9VCitvYnRydWRlL1Z2dUdOU0RYCitvYnR1c2UvVFkKK29idmlvdXNuZXNzL1MKK08nQ2FzZXkKK29jY2x1ZGUvU1ZYTkRHCitvY2NsdXNpb24vTQorb2NjdWx0ZXIvTQorb2NjdWx0aXNtL1NNCitvY2N1cGFuY3kvTVMKK29jY3VwaWVyL1NNCitvY2Vhbm9ncmFwaGVyL1NNCitvY3RhaGVkcmFsCitvZG9yb3VzbmVzcworb2R5c3NleS9TCitPZHlzc2V5J3MKK29lc29waGFnaQorb2ZmLWJyZWFrCitvZmZjdXRzCitvZmZlbnNpdmUncworb2ZmLWZyZXF1ZW5jeQorb2ZmaWNlL1NSb00KK29mZmljaWF0b3IvU00KK29mZmljaW91c25lc3MvUworb2ZmaW5nL00KK29mZi1rZXkKK29mZnNpZGUvUworb2ZmLXRoZS1zaGVsZgorb2Z0CitvaW50bWVudC9TTQorT0tzCitvbGRpc2gKK09sZHNtb2JpbGUvTQorb2xpZ29wb2x5L1NNCitPbHltcGlhL00KK29taXNzaW9uL00KK29tbmlidXMvTVMKK29tbml2b3JlL1NNCitvbi9ZCitPbmVnYS9NCitvbmUtaG9yc2UKK08nTmVpbGwKK29uZS1zaWRlZC9ZCitvbmUtdGltZQorb24tZnJlcXVlbmN5Citvbi1zaXRlCitvbnNsYXVnaHQvU00KK09udGFyaWFuL1MKK29wYWwvU00KK29wYXF1ZW5lc3MvUworb3Bjb2RlJ3MKK29wZW4vcmRTSlkKK29wZW4tZW5kZWQKK29wZW4tZmFjZWQKK29wZXJhZGkKK29wZXJhdG9yL0ZNUworb3Bpbmlvbi9NUworb3BwCitvcHBvc2UvU054WEdECitvcHRpbWlzdGljL2MKK29wdC1vdXQvUworb3JhbmdlYWRlL1NNCitvcmNoZXN0cmFsCitvcmRhaW4vTFNHRAorb3JkZXIvWUVTZE0KK29yZGVybGluZXNzL0VTCitvcmRuYW5jZS9TTQorT3Jlbi9NCitvcmdhbmlzYXRpb25hbAorb3JnYW5pemF0aW9uYWwvUworb3JpZW50YXRlL1NEQUVHCitvcmllbnRlcgorb3JpZ2luYXRlL1NERworb3JvdHVuZAorT3Jzb24vTQorb3J0aG9nb25hbGl0eS9NCitvcnRob2dvbmFsaXphdGlvbi9NCitPcnZpbGxlL00KK09zYWdlL1NNCitPc2Nhci9NUworb3NjaWxsb3Njb3BlL1NNCitvc2N1bGF0ZS9uTkRHUworT1NHaQorT1NIQQorb3NpZXIvTVMKK09zbG8vTQorb3NwcmV5L1NNCitvc3RlbnRhdGlvdXMvWVAKK29zdGVvcGF0aC9XWlNNCitvc3RyaWNoL01TCitPJ1N1bGxpdmFuL00KK290aGVyd29ybGRsaW5lc3MKK290aW9zZQorb3VibGlldHRlL1NNCitvdW5jZS9TTQorb3V0YW5nL1MKK291dGJpZC9HCitvdXRib3VuZAorb3V0ZGlzdGFuY2UKK291dGZhbGwKK291dGd1ZXNzCitvdXRsYW5kaXNoL1BZCitvdXRsYXkvTQorb3V0bWlncmF0aW9uCitvdXRwb3VyaW5nL1NNCitvdXRyYW5rL0cKK291dHNpZGUvUgorb3V0d2l0L0cKK292YS95b01uCitvdmVyLWFjdGl2ZQorb3ZlcmF3ZQorb3ZlcmRldGVybWluZWQKK292ZXJlbnRodXNpYXN0aWMKK292ZXJmYWxsCitvdmVyZmVlZC9HCitvdmVyaGVhZAorb3ZlcmxheQorb3ZlcnBvcHVsb3VzCitvdmVyLXNlbnNpdGl2ZQorb3Zlci1zZW5zaXRpdml0eQorb3cvR0QKK294YWxhdGUvTQorb3hpZGlzYXRpb24KK294aWRpemF0aW9uL00KK3BhL01vCitQYWJzdC9NCitQQUMKK3BhY2thYmxlCitwYWN0cy9GCitQYWRpbGxhL00KK3BhZGxvY2svR0RNUworcGFlZGlhdHJpY2lhbi9TTQorcGFnYW4vU00KK3BhZ2VhbnQvU00KK3BhZ2VhbnRyeS9NUworcGFnaW5hdGUvRFNHTm4KK3BhaWwvUzZNCitwYWluc3Rha2luZy9ZCitwYWlycy9JCitQYWtpc3Rhbi9NCitwYWxhZW9ncmFwaGVyL1NNCitwYWxhdGFsL1FTCitwYWxhdGlhbC9ZCitwYWxhdGluYXRlL1NNCitQYWxlb2NlbmUKK3BhbGxpYXRlL05WR3ZEblMKK3BhbHBhdGlvbi9NCitwYW5kYS9TTQorcGFuZGVyL1NkCitwYW5lbC9JR1NECitwYW5zL1oKK3BhbnplcgorcGFwZXJoYW5nZXIvU00KK3BhcGlzdAorcGFyYWJvbG9pZGFsL00KK3BhcmFkb3hpY2FsL1AKK3BhcmFsbGF4L1NNCitwYXJhbHl0aWMvWVMKK3BhcmFub3JtYWwvWVMKK3BhcmFwZXQvU00KK3BhcmFwaGVybmFsaWEKK3BhcmF0eXBob2lkL1MKK3BhcmJvaWwvR1NECitwYXJjZWxsaW5nL00KK3BhcmNoL1NHTEQKK3BhcmVudGVyYWwKK3Bhcm9sZWUvTVMKK3BhcnNpbW9uaW91cy9ZCitwYXJzbmlwL1NNCitwYXJ0ZXJyZS9TTQorcGFydGhlbm9nZW5lc2VzCitwYXJ0aWN1bGF0ZS9TCitwYXJ0aWVyCitwYXJ0cmlkZ2UvU00KK3Bhc3NhZ2V3YXkvU00KK3Bhc3NlZC9GYworcGFzc2Vycy1ieQorcGFzdGEvU00KK3Bhc3RlcgorcGFzdGljaGUvTVMKK3BhdGNoaW5lc3MvUworcGF0Y2gncworcGF0ZXJub3N0ZXIvU00KK3BhdGhldGljL1kKK3BhdGhmaW5kZXIvTVMKK3BhdGllbmNlL0lTTQorcGF0aWVudGVyCitwYXRyb25pemluZy9NCitwYXVuY2h5L1RQCitwYXZlL0FTREcKK3BhdmlsaW9uL0dETVMKK3BhdmluZy9TTQorcGF3bmJyb2tpbmcvUworcGF5LWFzLXlvdS1lYXJuCitwYXliYWNrL1MKK3BheWxvYWQvTVMKK3BheW1lbnQvZk1TYworcGF5LW9mZi9NUworcGVhY2VrZWVwZXJzCitwZWFjZW1ha2luZy9NCitwZWFoZW4vTVMKK3BlYWwncworcGVjdWxpYXIvU1kKK3BlZGFnb2d5LzFTTVd3CitwZWVsZXIvTQorcGVlci9wREcKK3BlZXJlZC9GCitwZWVyZXNzL1NNCitwZWV2ZXJzL00KK3BlbGxldC9kTVMKK3BlbHRlci9NCitwZW5kYW50L0NNUworcGVuZXRyYXRpdmUvUAorcGVubWFuL00KK1Blbm4KK3BlbnRhZ3JhbS9TTQorcGVudGFzeWxsYWJpYworcGVudW1icmEvU00KK3Blb24vU1pNCitwZW9ueS9NUworcGVwZXJvbmkKK3BlcHBpbmVzcy9TCitwZXJjYWxlL1NNCitwZXJjZWl2ZWQvVQorcGVyY2VwdHVhbAorcGVyY2hhCitwZXJjaXBpZW5jZS9TTQorUGVyY3kKK3BlcmVncmluYXRlL0RTRworcGVyZWdyaW5lL25TTgorcGVyZW1wdG9yaW5lc3MKK3BlcmZ1bWVyeS9NUworcGVyaWNhcmRpYQorcGVyaW1ldGVyL1NNCitwZXJrL0R6R1NaMgorcGVya2luZXNzL1MKK3Blcm1hbmdhbmF0ZQorcGVycGxleC9TR0RoCitwZXJzZWN1dGUveURTRworcGVyc2lmbGFnZS9NUworcGVyc2lzdGVyCitwZXJzb25hZ2UvTVMKK3BlcnNvbmFsaXplL0NTTkduCitwZXJ0L1BUWQorcGVydGluYWNpb3VzL1BZCitwZXJ0dXJiZWQvVQorcGVydmVydGVyL00KK3Blc3NpbWlzdC9NU1cxCitwZXN0by9TCitQZXRlcmhvdXNlCitwZXRyb2NoZW1pY2FsL1NNCitwZXd0ZXJlcgorUGhhcmlzZWUvUworcGhhcm1hY29wb2VpYS9TTQorcGhlbm9tZW5vbG9neS9TMU13CitwaGlsaGFybW9uaWMvUworUGhpbGxpcHMKK3BobG9lbS9TTQorcGhvbmV0aWMvU1kKK3Bob25ldGljaXN0CitwaG9zcGhpZGUvTQorcGhvc3Bob3IvU1dNCitwaG90b2VuZ3JhdmVkCitwaG90b2dyYXBoeS9TTQorcGhvdG9zeW50aGVzaXMvU1FkTQorcGhvdG9zeW50aGV0aWMvWQorcGh5c2ljYWwvUworcGh5c2ljYWxpdHkvTQorcGh5c2lvY2hlbWljYWwKK3BoeXNpb3RoZXJhcHkvU00KK3BoeXRvcGxhbmt0b24vTQorcGlhbmlzdC9XCitwaWFuby8zTVMKK3BpY3R1cmVzcXVlL1BZCitwaWVyY2UvUkRTSmtHCitwaWdlb24tYnJlYXN0L0QKK3BpbGNoYXJkL01TCitwaWxlJ3MKK3BpbGZlcmFnZS9NUworcGluY3VzaGlvbi9NUworcGlvbmVlci9TREdNCitwaXJhY3kvTVMKK3BpcmFndWEKK3Bpc3RvbGVlcnMKK1BpdHRzYnVyZ2gKK3Bpdm90YWwKK3BsYWlkL0RNUworcGxhaW50aXZlL1AKK3BsYW5nZW50CitwbGFubmluZy9BCitwbGFub2NvbnZleAorcGxhbnRlci9TTQorcGxhc21pZC9TCitwbGFzdGVyaW5nL00KK3BsYXN0aWNpdHkvU00KK3BsYXRlbGV0L1NNCitwbGF5ZnVsL1BZCitwbGF5dGhpbmcvU00KK3BsZWFzYW50cnkvU00KK3Bsb3NpdmUvSQorcGx1bS9NU1oKK3BsdW1lcnkKK3BsdXJhbC9zOFEtUzlxWQorcGx5L0JEU05HCitwbmV1bWF0aWMvU1kKK3BvY2tldC9kNk1TCitwb2QvU0RNRworcG9ldC8xV1N5d00KK3BvZXRyeS9TTQorcG9pbnRpbGxpc20vU00KK3BvaW50aW5nL00KK3BvaXNvbm91cy9ZCitwb2tlL3lSRFNHWgorUG9sYW5kL00KK3BvbGVtaWNzL00KK3BvbGljZS9tNURTR1pNCitwb2xpY3ktbWFrZXIvUworcG9saXRpY2lhbi9NUworcG9saXRpY3MvTQorcG9sbHV0YW50L01TCitwb2xsdXRlZC9VCitwb2x0cm9vbi9TTQorcG9seWFuZHJ5L1NNCitwb2x5YXRvbWljCitwb2x5Y2hyb21lL1cKK3BvbHljbGluaWMvTVMKK3BvbHllbGVjdHJvbHl0ZXMKK3BvbHlnbG90L1MKK3BvbHloZWRyYWwKK3BvbHltZXJpYworcG9seXByb3B5bGVuZS9TTQorcG9seXRoZW5lL00KK1BvbnRpbmcvTQorcG9vcC9TREdNCitwb3BsaW4vU00KK3BvcHBldC9NCitwb3JyaWRnZS9TTQorcG9ydGFnZWQKK3BvcnRhZ2luZworcG9ydGFtZW50by9NCitQb3J0LWF1LVByaW5jZS9NCitwb3J0ZW50L1NNCitwb3J0ZXJlZAorcG9ydGVyaW5nCitwb3J0cmF5YWwvU00KK3Bvc2l0aW9uYWwvS1kKK3Bvc3NpYmx5L0kKK3Bvc3RkYXRlL0dEUworcG9zdC1lbnRyeS9TCitwb3N0bWFzdGVyL01TCitwb3N0bWVuL00KK3Bvc3QtbWlsbGVubmlhbGlzbQorcG9zdG9wZXJhdGl2ZS9ZCitwb3N0cGFpZAorcG9zdC1wYXJ0dW0KK3Bvc3Rwb25hYmxlCitwb3N0cG9uZS9MR0RTCitwb3N0cy9GSUFlCitwb3N0dXJlZAorcG90aGVyL2RTTQorcG90dGFnZS9TTQorcG90dGVyZXIKK3BvdW5kZXIvRk0KK3BvdW5kZXJzCitwcHIKK3ByYWN0aWNhYmlsaXRpZXMKK3ByYWN0aXNlL1NHRAorcHJhZXRvcmlhbi9TCitwcmFnbWF0aWMvWVMKK3ByYWdtYXRpc3QvU00KK3ByYWlzZS9FRFNHCitwcmFpc2VyL1MKK3ByZWFtcAorcHJlYXNzaWduCitwcmVjYW5jZXJvdXMKK3ByZWNpcGl0YXRlL1luU0RQR04KK3By6WNpcy9kU00KK3ByZWNvZ25pdGl2ZQorcHJlZGF0aW9uL01DUworcHJlZGljYXRpb24vTQorcHJlLWVjaG9lcworcHJlLWVtcGhhc2lzCitwcmVmYXRvcnkKK3ByZWZlci9EU2w3RworcHJlZm9ybQorcHJlaGVhdAorcHJlLWltcGxlbWVudGF0aW9uCitwcmVtYXJrZXQKK3ByZW1pc2UvRFNHTQorcHJlbWlzcy9NCitwcmVwYXJlZC9QCitwcmUtcHJlZmVyZW5jZQorcHJlLXByaW50CitwcmVwdWJlc2NlbnQvUworcHJlc2J5b3BpYS9NUworcHJlc2Nob29sCitwcmVzZW50YWJseS9BCitwcmVzZW50ZWQvQQorcHJlc2VydmVkL1UKK3ByZXNpZGVudC9NUworcHJlc29ydAorcHJlc3N1cmlzZWQvVQorcHJlc3RpZGlnaXRhdG9yaWFsCitwcmV0ZW50aW91c25lc3NlcworcHJldHRpZnkvU0RHCitwcmV0dGluZXNzL1MKK3ByZXR0eS9EVFNZUEcKK3ByaWNlZC9VCitwcmljay9ZUkRHUworcHJpY2tsaW5lc3MvUworcHJpbWFsCitwcmluY2lwYWwvU1kKK3ByaW5jaXBsZS9TTUQKK3ByaW5jaXBsZWQvVQorcHJpb25zCitwcmlzZSdzL0EKK1ByaXgKK3Byb2JhdGUvU0FOTQorcHJvYmF0aW9uL1JveU0KK3Byb2JhdGlvbmFyeS9TCitwcm9iZXIvTQorcHJvY2xhbWF0aW9uL01TCitwcm9jcmFzdGluYXRvci9NUworcHJvY3RvcmlhbAorcHJvY3VyYWJsZS9VCitwcm9jdXJlci9NCitwcm9kL0dEUworcHJvZHVjZS9jTkRTR0FuCitwcm9mYW5lL0RQU0dZTm4KK3Byb2ZhbmVuZXNzL1MKK3Byb2ZvdW5kL1BZVAorcHJvZ25vc2VzCitwcm9ncmFtL0JSR1NKRE0KK3Byb2hpYml0ZXIvTQorcHJvaGliaXRpdmUvUAorcHJvLWh1bnQvRworcHJvamVjdG9yL1NNCitwcm9saWZlcmF0aW9uL00KK3Byb2xpeGl0eS9TTQorcHJvbS9RTVNzCitQcm9tZXRoZWFuCitwcm9taW5lbmNlL01TCitwcm9taXNjdW91cy9QWQorcHJvbXB0L1BZUkpUU0dECitwcm9tdWxnYXRpb24vTQorcHJvbmcvRE1HUworcHJvbm91bmNlci9NCitwcm9wZXIvSVBZCitwcm9wZXJ0eS9EU00KK3Byb3BvcnRpb25hdGUvRVlTCitwcm9wcmlvY2VwdGl2ZQorcHJvcm9nYXRpb24vTVMKK3Byb3NhaWMvWQorcHJvc3BlY3QvRFN1VnZNRworcHJvc3BlY3Rvci9TTQorcHJvc3Blcml0eS9TTQorcHJvc3Blcm91cy9ZUAorcHJvdGVhL1NNCitwcm90ZWN0aXZlbmVzcy9TCitwcm90ZXN0L1JTTU5ua0RHCitwcm92YWJpbGl0eS9NUworcHJvdmVkL0FJCitwcm93ZXNzL01TCitwc2VwaG9sb2dpc3QvTQorcHNldWRvbnltb3VzCitwc2V1ZG9wb2QKK3BzZXVkb3BvZGlhCitwc2hhdy9TCitwc29yaWFzaXMvTQorcHN5Y2hvYW5hbHlzdC9TCitwc3ljaG9wYXRob2xvZ3kvTQorcHN5Y2hvcGh5c2ljcy9NCitwc3ljaG9zb2NpYWwvWQorcHN5Y2hzCitwdGVyb3NhdXJzCitQdQorcHViZXNjZW5jZS9LUworcHVibGljaXR5L1NNCitwdWJsaWNseQorcHVlcnBlcmFsCitwdWcvU01HRAorcHVnaWxpc20vTVMKK3B1bHBlcgorcHVscGl0L1NNCitwdW5jaGJvd2wvTQorcHVuY3R1YWxpdGllcworcHVwL1NNTlpERworcHVwYWUKK3B1cGFsCitwdXBhdGUvRFNHCitQdXJiZWNrCitwdXJjaGFzZS9TQVJHRAorcHVyZXN0L0kKK3B1cmdhdG9yaWFsCitwdXNoeS9UUAorUHV0bmV5L00KK3B1dHJlc2NlbmNlL01TCitwdXRyaWRpdHkvTQorcHV0dGVyL2QKK3B5bG9uL1NNCitQeW9uZ3lhbmcvTQorcHlvcnJob2VhL00KK3B5cm9tYW5pYS9TTQorcHlyb3RlY2hueS9XdworcQorUW9TCitxdWFkcmFudC9TTQorcXVhZHJhdHVyZS9TTQorcXVhZHJlbm5pYWwvWVMKK3F1YWRyaXZpYQorcXVhZHJ1cGxpY2F0ZS9EU0cKK3F1YWxpZmllci9TTQorcXVhbnRpdGF0aXZlL1BZCitxdWFudHVtL3FRczhNLTkKK3F1YXJyeS9tU01HRAorcXVhcnRlci9kWQorcXVhcnR6L1NNCitxdWF5c2lkZS9NCitRdWViZWMvUk0KK3F1ZXJ1bG91cy9ZCitxdWV1ZXIvU00KK3F1ZXVlJ3MKK3F1aWNrLXdpdHRlZAorcXVpZXRlbi9TZAorcXVpZXRlcidzCitxdWlldGx5L0UKK3F1aWV0dWRlL0VTTUkKK1F1aW5uZWxsL00KK3F1aXJreS9UUAorcXVpcnQvRFNNRworUXVpdG8vTQorcXVvdGFiaWxpdHkvUworcXVvdGUvRGFTTkduCitxd2VydHkKK3JhYmJpbmF0ZS9NUworcmFiYmluaWNhbAorcmFja2V0ZWVyL0pHTVMKK3JhY3kvVDNQWQorcmFkaWNlcworcmFkaW8vRG1TR00KK3JhZGlvaXNvdG9wZS9NUworcmFkaW9zY29weS9NCityYWRvbi9NCityYWZ0ZXJlZAorcmFndGltZS9NCityYWlsJ3MKK3JhaWx3YXkvbVNNCityYWluLW1ha2luZworcmFsbHkvRFNHCityYW1wYW5jeQorcmFuZG9tL3FRLThZUAorcmFuZHkvVAorcmFuZ2UvU0NHRAorcmFuZ2UncworcmFuc29tL01kUworcmFwaW5lL01TCityYXBwZWwvR0RTCityYXBwaW5nL00KK3JhcHR1cmUvU00KK3JhcmVmYWN0aW9uL01TCityYXJlZnkvREdTCityYXRlYWJsZQorcmF0aW9uYWxpdGllcworcmF0dGFpbAorcmF0dGFuL1NNCityYXplL0RTRworcmF6b3IvTVMKK1JkL00KK3JlYWN0aW9uYXJ5L01TCityZWFjdGl2YXRlCityZWFkZXJzaGlwL01TCityZWFsLWxpZmUKK3JlLWFsbG9jYXRlZAorcmVhbmFseXNpcworcmVhcm0vR0wKK3JlYXJyYW5nZS9MCityZWFycmVzdC9HCityZWFzb25lZC9VCityZWFzb25pbmcvVQorcmVhc3Nlc3MvTEcKK3JlYXdha2VuL2QKK3JlYmVsL01TR0QKK3JlYnVrZXIKK3JlY2FudC9HTm4KK3JlY2FzdC9HCityZWNlbnRuZXNzCityZWNlcHRpb25pc3QKK3JlY2tsZXNzbmVzcworcmVjbGFzc2lmeS9ETkduCityZWNsdXNpb24vTQorcmVjb2xsZWN0L0cKK3JlY29tbWl0dGFsCityZWNvbm5haXNzYW5jZS9NUworcmVjb3JkYWJsZS9VCityZWNvdXAvREcKK3JlY291cnNlCityZWNvdmVyL2dkWjcKK3JlY3RpZmljYXRpb24vTQorcmVjdXIvREdTCityZWN1cnJlbmNlL01TCityZWRhY3Rvci9NUworcmVkLWJsb29kZWQKK3JlZGJyZWFzdC9TTQorcmVkLWhlYWQvTVNECitSZWRoaWxsCityZWRvbGVuY2UvTQorcmVkb3VidC9sCityZWR1bmRhbnQvWQorcmVlZGluZy9NCityZWV2ZS9TR00KK3JlZmVyZWUvR2RNUworcmVmZXJlbmNpbmcvVQorcmVmbGVjdGl2ZS9QCityZWZsZXhpdmUvSQorcmVmbGV4aXZlbHkKK3JlZnJpZ2VyYW50L1NNCityZWZyaWdlcmF0aW9uL00KK3JlZnVlbC9EUkcKK1JlZnVnaW8vTQorcmVmdXNhbC9TTQorcmVmdXNlCityZWduYW50CityZWdyYWRlCityZWdyZXR0YWJsZS9ZCityZWd1bGFycy9JCitSZWlrby9NCityZWltYnVyc2FibGUKK3JlaW5pdGlhbGlzZS9uCityZWludmVudC9HCityZWplY3QvRFJHU1YKK3JlamVjdGlvbi9TTQorcmVrbml0CityZWxhdGVkL1AKK3JlbGF0aXZpdHkvU00KK3JlbGF4YW50L01TCityZWxheGF0aW9uL00KK3JlbGlhYmxlL1UKK3JlbG9hZC83RworcmVtYXJrYWJsZS9VCityZW1hcnJpYWdlCityZW1lZGlhbAorcmVtaXNzL1BWCityZW1vbnN0cmF0aW9uL00KK1JlbXkvTQorcmVuZWd1ZQorcmVwYWludC9HCityZXBhcnRlZS9TTQorcmVwZWF0ZWQvVQorcmVwZXJ0b3J5L1NNCityZXBldGl0aXZlbmVzcworcmVwbGVuaXNobWVudC9TCityZXBsZXRlL05QCityZXBseS1wYWlkCityZXByb2FjaGFibGUvSQorcmVwcm9jZXNzL0c3CityZXByb2R1Y2liaWxpdHkncworcmVwcm92ZS9rCityZXB1bHNlL1Z1dgorcmVxdWlzaXRpb25lci9NCityZXJlYWQvN0cKK3JlLXJvdXRlL0dTRAorcmVzY3VlL1JTR0QKK3Jlc2VhcmNoZWQvVQorcmVzZWxlY3QvNworcmVzaWxpZW5jZS9NWgorcmVzaXN0L2JTdkRWRworcmVzcG9uZC9GR0RTCity6XN1bekvUworcmVzdXJnZW50CityZXN1c2NpdGF0ZS9uU1ZHRE4KK3JldGFpbi9SU0RHCityZXRlYWNoL0cKK3JldGluaXRpcworcmV0cm8KK3JldmVuZ2UvRDZqU01HCityZXZlcmVuZC9TTQorcmV2ZXJ0ZXIvTQorcmV2aXZhbGlzbS9NUworcmV2aXZhbGlzdAorcmV2b2x1dGlvbmlzdAorcmV3YXJkL2sKK3Jld2FybS9HCitSZXlramF2aWsvTQorUmV5bmEvTQorUmV5bmFsZG8vTQorUmhlaW1zL00KK3JoZXVteS9UCitSaGluZWxhbmQvTQorcmhpbm8vU00KK1JoeXMvTQorcmliYm9uZWQKK1JpY2EvTQorcmljZS9TTQorUmlja2V5L00KK3JpY29jaGV0L2RHRFMKK3JpZGVzL2MKK3JpZnQvRE1HUworcmlnaHQtaGFuZC9pRAorUmlnb2xldHRvL00KK3JpZ29yb3VzL1kKK3JpbGUvRFNHCityaW90L0RSTUdTSgorcmlwLW9mZi9TCityaXR1YWxpc3RpYy9ZCitSaXZlcmEvTQorcml2ZXJib2F0L1MKK3JpdmVzL0MKK3JvYWRtYXAKK3JvYWRydW5uZXIvU00KK3JvYWRzaWRlL1MKK3JvYWR3YXkvU00KK1JvYmJpZS9NCitSb2JiaW5zCitSb2JieS9NCitSb2NrYXdheS9NCitSb2dlcnMKK1JvamFzL00KK1JvbGZlL00KK1JvbWFuaWFuL01TCityb21hbml6ZS9TR25ORAorcm9tYW50aWNpc20vTVMKK1JvbmFsZC9NCityb25kby9TTQorcm9vZi1nYXJkZW4KK3Jvb3N0L1NNUkRHCityb290bGVzc25lc3MKK1JvcmtlL00KK1JvcnNjaGFjaAorUm9yeS9NCitSb3NhcmlvL00KK1Jvc2NvbW1vbi9NCitSb3NlYXUvTQorUm9zZW5iZXJnL00KK3Jvc2UtdGludGVkCityb3N5L1BZVAorcm90YXRhYmxlCityb3RhdG9yL01TCitSb3RoL00KK3JvdHRlbi9ZCityb3VnZS9TR0RNCityb3VuZGVkL1AKK3JvdW5kaG91c2UvU00KK1Jvd2UvTQorUm93bGFuZC9NCitSb3kvTQorcm95YWx0eS9TTQorcnQKK3J1Yi9TUkdECitydWJhdGkKK3J1Y2svTQorcnVlZnVsbmVzcworcnVpbi9kTU5TbgorcnVtbWFnZS9HRFMKK3J1bXAvTVlTCitydW5hYm91dC9NUworcnVuLWluL1MKK3J1bm5lbC9TTQorUnVubnltZWRlL00KK3J1bi1vZmYvTVMKK3J1bi1vdXQvUworcnVudGltZQorUnVwZXJ0L00KK3J1dC9TR01aRAorcnV0dHkvVAorUndhbmRhbi9TCitSeWFuL00KK3NhYmxlL01TCitzYWJvdAorc2FjL0RHCitzYWNyaWxlZ2lvdXMvWQorc2FnZW5lc3MKK3NhaWxib2FyZC9TRworc2FpbGluZy1ib2F0L1NNCitzYWludGxpa2UKK3NhbGFhbS9NCitzYWxlcm9vbS9NUworc2FsZXNtYW5zaGlwCitzYWxlc3Blb3BsZS9NCitzYWxlc3BlcnNvbi9TTQorc2FsaWVuY2UvWk0KK1NhbGsvTQorc2FsdCdzCitzYWx0eS9UCitTYWx2YWRvcmlhbi9TCitzYWx2YWdlYWJsZQorc2FsdmF0aW9uL00KK1NhbHZhdG9yZS9NCitTYW1vYW4vUworU2Ftb3llZC9NCitzYW1wbGluZy9jCitTYW1zb24vTQorc2FuY3RpZnkvbkdETlMKK3NhbmRibGFzdC9HRFNSCitzYW5kY2FzdGxlL1MKK1NhbmRlcnNvbi9NCitzYW5kbWFuL00KK1NhbmRvdmFsL00KK1NhbmZvcmQvTQorc2FuZworc2FuaXRhdGlvbgorc2FwcGhpcmUvTVMKK3NhcHJvcGh5dGUvTVNXCitzYXJjYXNtL01TCitzYXJkaW5lL01TCitzYXJpL01TCitzYXJ0b3JpdXMKK1NhdGFuL00zMQorc2F0ZWxsaXRlL1NNCitzYXRpZXR5L01TCitzYXRpbi9TTQorU2F0bworc2F0dXJhdGVkL1UKK3NhdHlyL1NNVworc2F1ZXJrcmF1dC9TTQorc2F2b3VyL1pEMlNHTQorc2NhbGVyL1NNCitzY2FsaW5lc3MKK3NjYW5kYWwvU01ROAorc2NhbmRpdW0vTQorc2NhcGVncmFjZS9NUworc2Nhci9kRFNHTQorc2NhcmFiL1NNCitTY2FybGV0dC9NCitzY2FyeS9UWQorc2NhdGhlL0drRAorc2NlbmFyaW8vTVMKK3NjZW50L0NNREdTCitzY2hlcnppCitTY2hpbGxlci9NCitzY2hpem8vUworc2NoaXpvaWQvUworc2Nob29sYm95L1NNCitzY2hvb2xnaXJsaXNoCitzY2hvb2wtaW5zcGVjdG9yCitzY2hvb2xyb29tL01TCitTY2h3ZXBwZXMvTQorU2NpZW50b2xvZ3kvTQorU2NpbGx5L00KK3NjaW50aWxsYXRlL1NERworc2NsZXJvdGljCitzY29yZWJvYXJkL01TCitzY3JhcGJvb2svTVMKK3NjcmlwdC9TS01GCitzY3JpcHRlZC9GVQorc2NyaXB0b3JpdW0KK3Njcm90YWwKK3Njcm91bmdlL1NER1IKK1NjcnVnZ3MvTQorc2NydW0taGFsZgorc2N1bGwvRFJNU0cKK1NlYWJyb29rL00KK3NlYWdvaW5nCitzZWFtL01ER1NacAorc2VhbWVuL00KK3NlYXNoZWxsL1NNCitzZWFzaG9yZS9TTQorc2Vhc29uYWJsZS9VCitzZWF3YXJkL1MKK3NlYXdvcnRoeS9VCitzZWNyZXQvZFZTWXZ1CitzZWNyZXRhcnkvTVMKK3NlY3JldGFyeXNoaXAvU00KK3NlY3Rvci9FTVMKK3NlY3RvcmFsCitzZWN1bGFyaXNtL01TCitzZWRhdGUvWVZHblNORAorc2VlL1JTOThkRworU2Vnb3ZpYS9NCitTZWd1bmRvL00KK3NlaWduaW9yYWdlCitzZWluZS9NRworc2Vpc21pY2FsCitzZWxlY3Rpb24vU29NCitzZWxlY3Rpb25hbAorc2VsZWN0aXZlL1kKK3NlbGYtYWJzb3JiZWQKK3NlbGYtYXNzZW1ibHkKK3NlbGYtYXNzdXJlZAorc2VsZi1jZW50cmVkCitzZWxmLWNvbnNjaW91c25lc3MKK3NlbGYtY29udGFpbmVkCitzZWxmLWRlbHVzaW9uCitzZWxmLWVmZmFjaW5nCitzZWxmLWhlbHAKK3NlbGYtaW1hZ2UKK3NlbGYtaW1wb3J0YW5jZQorc2VsZi1qdXN0aWZpY2F0aW9uCitzZWxmLWxvYWRpbmcKK3NlbGYtbW90aXZhdGVkCitzZWxmLXBvbGxpbmF0aW9uCitzZWxmLXBvc3Nlc3NlZAorc2VsZi1wcm9wYWdhdGluZworc2VsZi1wcm90ZWN0aW9uCitzZWxmLXJhaXNpbmcKK3NlbGYtcmVjb3JkaW5nCitzZWxmLXJpZ2h0ZW91c25lc3MKK3NlbGYtc2VydmljZQorc2VsZi1zdHlsZWQKK3NlbGYtd2luZGluZworc2VsdmVkZ2UvTVMKK3NlbWVpb3RpYy9TCitzZW1pY2lyY3VsYXIKK3NlbWktZmxleGlibGUKK3NlbWluYXJpYW4vTVMKK3NlbWktcGVybWVhYmxlCitzZW1pcHJpdmF0ZQorU2VtaXRpc20vTQorc2VtaXRvbmUvTVMKK3NlbXBpdGVybml0eQorc2VuYXRvcmlhbAorU2VuZWdhbC9NCitzZW5pbGUKK3Nl8W9yL00KK3NlbnNpdGlzZS9HUm5EUworc2Vuc2l0aXNlZC9DCitzZW5zaXRpc2VzL0MKK3NlbnNpdGl2ZW5lc3MKK3NlbnNpdGl6ZS9HUk5uRFMKK3NlbnNpdGl6ZWQvQworc2Vuc2l0aXplcy9DCitzZW5zdW91cy9ZCitzZXBhcmFibGUvSVkKK3NlcGFyYXRlL0IzblNHRFZZTgorU2Vwb3kncworc2Vwc2lzCitzZXB0YXRlCitTZXB0dWFnaW50L01TCitzZXB1bGNocmUvU29NCitzZXJhZ2xpby9TTQorc2VyZW5hZGVyL00KK3NlcmVuZGlwaXRvdXMvWQorc2VyZ2UvTQorc2VyaWYvU0RNCitzZXJ2YW50L1NNCitzZXJ2aWV0dGUvU00KK3NlcnZpdG9yL1NNCitzZXNxdWljZW50ZW5uaWFsL1MKK1NldmFzdG9wb2wvTQorc2V2ZW50eS1mb3VyL0gKK3NldmVudHktc2Vjb25kL1MKK1NldmlsbGUvTQorc2V3L1NBR0QKK3NleHRldC9TTQorc2hhYmJ5L1RZCitzaGFjay9NR0RTCitzaGFja2xlci9NCitzaGFkb3ctYm94aW5nCitzaGFrZWRvd24KK1NoYWtlc3BlYXJlYW4vUworc2hha2luZy9NCitzaGFsZS9NCitzaGFsbAorc2hhbGxvd25lc3MKK3NoYW1yb2NrL1NNCitzaGFuZHkvTQorU2hhbmdoYWkncworc2hhcmQvTVMKK3NoYXJld2FyZQorU2hhdW5hL00KK1NoYXduL00KK3NoZWVwL00KK1NoZWlsYS9NCitzaGVsdmVyL00KK1NoaWxsb25nCitzaGluL3JTZERHa00KK1NoaW50by9TTQorc2hpbnkvVAorc2hpcC1icmVha2VyL01TCitzaGlwbWVuL00KK3NoaXBzaGFwZQorc2hpcHdyaWdodC9TTQorc2hpcHlhcmQvTVMKK3Nob2d1bi9TTQorc2hvbmUvZQorc2hvb3RpbmctcmFuZ2UKK3Nob3BsaWZ0L0RSU0cKK3Nob3Atd29ybgorc2hvcm4vVQorc2hvcnRlbi9kSlMKK3Nob3ctcGllY2UvTVMKK3NocmlsbC9HU1RQRFkKK3Nocmlua2VyL00KK3Nocmlua2luZy9ZCitzaHJpdmVuCitTaHJvdmUKK1Nocm92ZXRpZGUvTQorc2hydW5rL0sKK3NocnVua2VuCitzaHRpY2svUworc2h1ZmZsZS1ib2FyZAorc2h1bnQvRFNHCitzaHV0L1JHUworc2h1dC1kb3duL1NNCitTaS9NCitTaWJlcmlhL00KK3NpYmxpbmcvTVMKK1NpYnlsbGluZQorc2lja2xlLzJTR00KK3NpY2tuZXNzL1MKK3NpZGVib2FyZC9TTQorc2lkZS1kcnVtL1NNCitzaWRla2ljay9NUworc2lkZXdheXMKK3NpZGV3aW5kZXIvU00KK3NpZGluZy9TTQorU2llZ2ZyaWVkL00KK3NpZ2h0LWxpbmUKK3NpZ2h0bHkvVFAKK3NpZ2h0LXJlYWQvUkcKK3NpZ25pbmcvUworU2lncmlkL00KK3NpbGljb3Npcy9NCitTaWx2ZXJzdGVpbi9NCitzaWx2ZXJ3YXJlL01TCitTaWx2aWEvTQorc2ltdWxhdGl2ZQorU2luZGJhZC9NCitTaW5kaGkvTQorc2luZS9NCitzaW5lY3VyZS9NUworc2luZ3NvbmcvRE1TCitzaW5sZXNzbmVzcworc2ludW91cy9ZUAorc2lwL1JTREcKK3NpcmUncworc2lybG9pbi9TTQorc2lzdGVycy1pbi1sYXcKK3NpeHBlbmNlL1NNCitzaXh0eS10aHJlZS9ICitza2F0ZWJvYXJkL1JHTVNECitza2lsZnVsL1kKK3NraWxmdWxuZXNzCitza2ltcC96RzJaU0QKK3NraS1ydW4KK3NraXQvU00KK3NsYXRlL01TCitzbGF1Z2h0ZXIvU2RyTQorc2xhdWdodGVyaG91c2UvU00KK3NsYXZlLWJvcm4KK3NsYXZlLWRyaXZlci9TCitzbGVkZ2VoYW1tZXIvU00KK3NsZWVwaW5nL2MKK3NsZWVwcy9jCitzbGVuZGVyLzhRUFkKK3NsaWNlL1JNRFNHCitzbGlkL3IKK3NsaWdodC9rU0RUWUcKK3NsaW0vRFJTR1lUCitzbGltbGluZQorc2xpbmcvTUdTCitzbGluZ2VyCitzbGlua3kvVAorc2xpcHN0cmVhbS9NR0RTCitzbGl0aGVyL2RTWgorc2xvZy9TREcKK3Nsb3AvR3oyU0RaZAorc2x1bWJlcmVyL00KK3NsdXNoL1MyREdNWgorc21hbGwtc2NhbGUKK3NtYXJ0ZXIKK3NtZWFyL1NHRFoKK3NtZWx0L1JER1MKK1NtaXJub2ZmL00KK3NtaXR0ZW4KK3Ntb2tlLXJvb20KK3Ntb2t5L1QKK3Ntb3RlCitzbXVkZ2UvU3BER1oKK1NteXJuYS9NCitzbmFrZWxpa2UKK3NuYWtlcm9vdC9NCitzbmFrZXNraW4KK1NuYXBlCitzbmFwcGlzaC9ZUAorc25lZXJlci9NCitzbmlwcGV0L01TCitzbm9iL1NNWgorc25vdC96UzJaTQorc25vdXQvTURTCitzbm93Zmxha2UvTVMKK3Nub3dwbG91Z2gvRFNNRworU25yLgorc251YmJlcgorc29icmlldHkvSVNNCitzby1jYWxsZWQKK3NvY2lhbGlzdC9XCitzb2Npb2N1bHR1cmFsL1kKK3NvZnRlbi9kclMKK3NvZnQtaGVhZGVkCitzb2Z0bHkKK3NvbGRpZXIvRFlTR1pNCitzb2xlbW4vLXFROFRZCitzb2xlJ3MvSQorc29saWNpdC9kblMKK3NvbGljaXRvci9NUworc29saWRpZnkvRE5uR1MKK3NvbGlkaXR5L1MKK1NvbGlodWxsL00KK3NvbGl0YXJpbmVzcworc29sdWJpbGl0eS9NSQorc29sdmUvRURSQVNHCitzb21icmUvWQorc29tZW9uZSdsbAorc29tbmFtYnVsaXNtL00KK3NvbmF0YS9TTQorU29uZHJhL00KK3NvbmdzbWl0aAorc29ub3JpdHkvUworc29waGlzdGljYXRlZC9VCitzb3BoaXN0aWNhdGlvbi9NCitzb3J0ZWQvVUsKK3NvdWdoL0RHUworc291bC1zZWFyY2hpbmcKK3NvdXAvU01aCitzb3VyY2Uncy9BCitzb3VzYXBob25lL01TCitTb3V0aGFtcHRvbi9NCitzb3V0aGVyL1lNCitzb3V0aGVybHkvUworc291dGgtc291dGgtd2VzdAorc291J3dlc3Rlcgorc292ZXJlaWduL1lTTQorc293ZWQvQQorU295dXovTQorc3BhY2llcgorc3BhZ2hldHRpL00KK3NwYXJreS9UCitzcGFyc2UvWQorc3Bhd25lci9NCitzcGVjaWFsaXR5L1MKK3NwZWNpZmljbmVzcworc3BlY2svTVMKK3NwZWN0cm9tZXRlci9TTVcKK3NwZWN0cm9tZXRyeS9NCitzcGVjdHJ1bS9NCitzcGVlZC11cC9NUworc3BlZWR3YXkvU00KK3NwZWxsL1JHN0pEUworc3BlbmRpbmcvZgorc3Blcm1hdG9waHl0ZS9NCitzcGVybWF0b3pvYQorc3BpY2VidXNoL00KK3NwaWtlL0RHU01aCitzcGlsbGlraW4KK3NwaWxsd2F5L1NNCitzcGluYWNoL1NNCitzcGluYWwvUworc3BpbmRsZS9TTUdZRAorc3BpcmUvSURGU0EKK3NwbGF0L0RNR1MKK3NwbGVuZGlmZXJvdXMvWQorU3Bva2FuZS9NCitzcG9uZ2VhYmxlCitzcG9uZ2VsaWtlCitzcG9uc29yL2RNUworc3BvbnRhbmVpdHkvU00KK3Nwb29uLWZlZAorc3BvcnQva1ZtR3ZNNVpEUzJ1CitzcG90J3MvQworc3ByYXkvQURHUworc3ByaW5nbGlrZQorc3BydW5nL1UKK1NQU1MKK3NwdW1lL1NNWgorc3B1ci9TTURHCitzcHV0dGVyZXIKK3NxdWVsY2hlci9NCitzcXVpZGd5L1QKK3NxdWlyZWVuCitzcXVpcmVob29kCitzcXVpcmwKK1NyCitzdGFiaWxpc2UvQ25SR0RTCitzdGFiaWxpemUvQ05SbkdEUworc3RhZGlhCitzdGFmZnJvb20KK3N0YWcvZFNNCitzdGFnZS1tYW5hZ2UvUkQKK3N0YWdlci9NCitzdGFnZ2VyL1NrcmQKK3N0YWduYXRpb24vTQorc3RhaXJjYXNlL01TCitzdGFrZW91dC9NUworU3RhbGluL00KK3N0YWxrL1JETUdTCitzdGFsbGlvbi9TTQorc3RhbmRpbmcvZk0KK1N0YW5maWVsZC9NCitTdGFwbGV0b24vTQorc3RhcmR1c3QvTQorc3RhcmdhemUvUlNHRAorc3RhcmxpdAorc3Rhci1zdHVkZGVkCitzdGFzaXMvTQorc3RhdGlvbi9lTVMKK1N0YXVmZmVyL00KK3N0YXZlL0dEU00KK3N0YXkvZWNEU0cKK3N0ZWVseWFyZC9TTQorc3RlZXBsZWNoYXNlcgorc3RlZXBsZWphY2svTVMKK1N0ZWluYmVjay9NCitTdGVsbGVuYm9zY2gvTQorc3Rlbm9zCitzdGVub3R5cGUvTQorU3RlcGhhbmllL00KK3N0ZXJpbGlzZWQvVQorU3Rld2FydC9NCitzdGltdWxhdGUvY0dTRAorc3RpbXVsYXRlZC9VCitzdGludC9HRE1TCitzdGlwZW5kaWFyeQorc3RpcHVsYXRpb24vTQorc3RvY2ticm9rZXIvU00KK1N0b2NraGF1c2VuL00KK3N0b2NraG9sZGVyL01TCitzdG9pY2FsCitzdG9sZW4KK3N0b255L1lQVAorc3Rvb2QvZgorc3Rvcm0vUjJHcHpEWlNNCitzdG9ybXkvVAorc3Rvcnlib2FyZC9TR01ECitzdG93L0RHUworc3Rvd2FnZS9NCitTdG93ZS9NCitTdHJhYmFuZS9NCitzdHJhaWdodGZvcndhcmQvUFkKK3N0cmFpbi9GU0FECitzdHJhaW5lZC9jVQorc3RyYWluZXIvQU1TCitzdHJhcGxlc3MKK3N0cmFwJ3MKK3N0cmF0aWdyYXBoeS9Nd1cKK3N0cmF3Ym9hcmQKK1N0cmVldAorc3RyZXNzJ3MKK3N0cmV0Y2hlci9kTVMKK3N0cmV3L0dEUworc3RyaWNrZW4KK1N0cmlja2xhbmQvTQorc3RyaWN0dXJlL01TCitzdHJpZGVyL00KK3N0cmlwbGluZy9NCitzdHJpcHRlYXNlL1JTTQorc3RyaXZlci9NCitzdHJvYm9zY29wZS9NU1cKK3N0cm9uZy9tVFkKK3N0cm9uZ2JveC9NUworc3Ryb25nLW1pbmRlZAorc3RydWN0dXJlZC9VCitzdHJ1dC9EU0cKKydzdHJ1dGgKK3N0cnljaG5pbmUvTQorU3R1YmJsZWZpZWxkL00KK3N0dWNjb2VzCitzdHVkaWVkbHkKK3N0dWR5L0FTZkRHCitTdHV0dGdhcnQvTQorc3R5bGUvQVNHRAorc3R5bGlzZS9uU0RHCitzdHlsaXplL25TTkRHCitzdHlsdXMvU00KK3N0eXB0aWMvUworU3R5eC9NCitzdWFzaW9uL1NFTQorc3VhdmVuZXNzCitzdWJhcmN0aWMKK3N1YmNvbnNjaW91cy9ZUAorc3ViaGVhZGluZy9NCitzdWItbGlldXRlbmFudC9TTQorc3VibGltZS9ZVERuU0cKK3N1Ym5vcm1hbAorc3Vib3JkaW5hdGlvbi9NSQorc3Vib3JuYXRpb24vTQorc3VicmVnaW9uYWwKK3N1YnNlcXVlbnQvWQorc3Vic3RhbmNlL1NNCitzdWItc3RhbmRhcmQKK3N1YnN0aXR1dGUvU1ZCdkRHCitzdWJzdGl0dXRpb24vU3lNCitzdWJzeXN0ZW0vTVMKK3N1YnZlcnNpb24vU00KK3N1YndheS9NUworc3VjY3VsZW50L1MKK3N1Y2N1bWIvR1NECitzdWNrbGluZy9NCitzdWRkZW4vWVAKK3N1ZWRlL00KK3N1ZXQvTVoKK3N1ZmZlcmluZy9NCitzdWZmcmFnZS8zU00KK3N1a2l5YWtpL01TCitTdWxsYS9NCitzdWxwaGlkZS9NUworc3VsdHJ5L1RQWQorc3VtLzhOU1JNWERHCitzdW1taW5nLXVwCitTdW1uZXIvTQorc3Vtby9TTQorU3VuYmVsdC9NCitTdW5kYXkvTVMKK3N1bmRvd24vTVIKK3N1bmsKK3N1bnNwb3QvU00KK3N1cGVyYW5udWF0aW9uL00KK3N1cGVyY2FyZ28vTQorc3VwZXItZG9vcGVyCitzdXBlcmZpY2lhbG5lc3MKK3N1cGVyaGVyby9NCitzdXBlcmh1bWFuL1kKK3N1cGVyaW50ZW5kZW5jZS9aCitzdXBlcm51bWVyYXJ5L1MKK3N1cGVydmVuZS9TREcKK3N1cHBsYW50ZXIvTQorc3VwcGxlbWVudC9HRE5uCitzdXBwbGVtZW50YWwKK3N1cHBsaWFudC9TCitzdXBwbGllci9TTQorc3VwcmFuYXRpb25hbC9ZCitzdXByZW1hY3kvM01TCitzdXJjZWFzZS9TTQorc3VyZC9NCitzdXJmYWNpbmcvQQorc3VyZ2VyeS9TTQorc3VycGx1cy9NUworc3Vydml2b3IvU00KK3N1c3RhaW5lci9NCitTdXRoZXJsYW5kL00KK1N1emFubi9NCitTVworc3dhbGxvd3RhaWwvTVMKK3N3YW0KK3N3YW5reS9UUAorc3dhcnRoeS9QVAorU3dhemkvTVMKK3N3ZWF0YmFuZC9NUworc3dlZXRjb3JuCitzd2VsdGVyL1Nkaworc3dpZnRuZXNzCitzd2luZS9NCitzd2luZ2xldHJlZS9TTQorc3dpdGNoLWJsYWRlL1NNCitzd290L1MKK1N5YmlsL00KK3N5Y29waGFudC9NU1cxCitzeWxwaGxpa2UKK3N5bHBoLWxpa2UKK3N5bXBhdGh5L1NROXM4V00KK3N5bXBob255L1NXTQorc3luYWdvZ3VlL01TCitzeW5jaHJvbml6ZS9BbkRHTlMKK3N5bmNvcGF0ZS9HRFMKK3N5bmRyb21pYworc3lub255bW91cy9ZCitzeXp5Z3kvUworU3plY2h1YW4vTQorVGFiZXIvTQordGFibGEvTVMKK3RhY3RmdWwvVQordGFjdGljaWFuL1NNCit0YWN0bGVzcy9ZCit0YWN0bGVzc25lc3MKK3RhZHBvbGUvU00KK3RhaWxiYWNrL01TCit0YWlsY29hdC9TCit0YWlsb3ItbWFkZQordGFpbHdpbmQvU00KK3Rha2UtaG9tZQordGFsZS9NUworVGFsbGV5L00KK3RhbG9uZWQKK1RhbS9NWgordGFtZW5lc3MKK1RhbW1pZS9NCit0YW4vU01KRFJ5RwordGFuZGVtL01TCit0YW5nZWxvL01TCit0YW5nby9TR01ECitUYW56YW5pYS9NCit0YXBlbGlrZQordGFwaW9jYS9TTQordGFwcGV0L1NNCit0YXJkeS9UWQordGFybWFjL0RHUworVGFydHVmZmUvTQorVGF0ZS9NCitUYXRpYW5hL00KK3RhdHRpZXIKK3RhdHRvby9SR1NNRAorVGF0dW0vTQordGF1cGUvTQordGF4aWNhYi9NUwordGF4aW5nL2MKK1RheXNpZGUvTQorVGUKK3RlYWNoL1JHU0o3Cit0ZWFsL1NNCit0ZWFtc3Rlci9TTQorVGVjdW1zZWgvTQordGVkaW91cy9ZUAordGVlbi9TWgordGVlbnkvVAorVGVlcy9NCitURUZMCit0ZWxlY29tbXV0ZS9TUkcKK3RlbGVjb25mZXJlbmNlL0dNRFMKK3RlbGVtYXJrZXRlci9TCit0ZWxlcGF0aHkvUzFNCit0ZW1wZXJhbmNlL01JCit0ZW1wZXJhdGUvSVkKK3RlbXB0cmVzcy9TTQordGVuZGVkL0VVCit0ZW5kZXIvUGRROFlzOQordGVuZW1lbnQvU00KK3Rlbm9yL1NNCit0ZW5zaW9uaW5nCit0ZXJhdG9sb2d5L00KK1RlcnBzaWNob3JlL00KK3RlcnJvcmlzbS9NCit0ZXN0ZWQvVQordGVzdGVyL0ZTQ00KK3TqdGUt4C106nRlCit0ZXRyYXRobG9uCitUZXgKK1RleGFuL1MKK3RoYWxpZG9taWRlL1NNCitUaGF5bmUvTQordGhlYXRyZS9TMU13Cit0aGVuY2Vmb3J3YXJkCit0aGVvY3JhdGljCitUaGVvZG9yYS9NCitUaGVvZG9zaWEvTQordGhlcmVmb3JlCit0aGVybW9sdW1pbmVzY2VuY2UvTQorVGhlcm1vcy9NUwordGhlc2UvUwordGhlc2lzL00KK3RoaWNrLXNraW5uZWQKK3RoaWVmL00KK3RoaW5nL00KK3RoaW5rLXRhbmsKK3RoaXJzdC8yU016R0RaCit0aGlydHktb25lCit0aG9ybnkvVAordGhvcm91Z2gvWVAKK3RocmVhZGxpa2UKK3RocmVlLWNvbG91cgordGhyZWUtbGVnZ2VkCit0aHJlZXNjb3JlCit0aHJpZnQvMnBTTXpaCit0aHJvbmcvU0dNRAordGhyb3dpbmcvYworVGh1Cit0aHVtYnByaW50Cit0aHVzCit0aHdhcnRlci9NCit0aHltaW5lL00KK3RpYXJhL1NNCitUaWJlcml1cy9NCitUaWJ1cm9uL00KK3RpZGllci9VCit0aWRpbmVzcy9VCit0aWVkL1VBCit0aWdodC1maXR0aW5nCit0aWdodHJvcGUvTVMKK3RpbGwvRFJTRzcKK3RpbWJlci9TZE0KK3RpbWJyZWwvU00KK1RpbWJ1a3R1L00KK3RpbWVkL2EKK3RpbWUtc2NhbGUvUwordGltZXNwYW4KK3RpbWlkaXR5L1NNCit0aW4tZ2xhemUKK3RpbnBvdAordGludGlubmFidWxhdGlvbi9TTQordGlwdG9lL0RHUwordGlyZXNvbWUvWQorVGlyb2wvTQorVGl0YW5pYS9NCitUaXRhbmljJ3MKK3RpdGxlJ3MKK3RpdHRsZS10YXR0bGUKK3RpdHVsYXIvWQorVExDCit0b2Fkc3Rvb2wvU00KK3RvYXN0L0RHUlpNUwordG9hc3R5L1QKK3RvZWNhcC9NUwordG9lbmFpbC9NUwordG9mdS9TCit0b2lsc29tZS9ZCit0b2xlcmFibGUvWUkKK3RvbWIvU00KK3RvbmcvUwordG9uc2lsbGVjdG9teS9TTQordG9uc3VyZS9TTUdECit0b29sL0FHRFMKK3Rvb3RoYWNoZS9NUwordG9vdGhwaWNrL1NNCit0b290bGUvRFNHCitUb3Bla2EvTQordG9wZXIvTQordG9waWFyeS9TCit0b3BvZ3JhcGhlci9NUwordG9wb2xvZ3kvdzEzU00KK3RvcHBsZS9HRFMKK3RvcHNvaWwvTQordG9wLXVwCit0b3JwaWQvWQordG9ycgordG9yc28vU00KK3RvcnRlL01TCit0b3J0ZWxsaW5pL00KK1Rvc2hpYmEvTQorVG90YWxpemF0b3IvTQordG90ZW1pYworVG90ZSdzCitUb3RvL00KK3RvdWNoYWJsZS9VCit0b3VjaC1hbmQtZ28KK3RvdWNoLWp1ZGdlL1MKK3RvdWNocGFwZXIKK3RvdWNod29vZAordG91Y2h5LWZlZWx5Cit0b3VnaGVuL2RTCit0b3VyZXIvU00KK3RvdXJuaXF1ZXQvTVMKK3Rvd25lZQordG94YWVtaWEvTQordHJhY2hlYS9NCitUcmFjeS9NCit0cmFkZS9NbTVHUlNECit0cmFkaXRpb25hbGx5L1UKK3RyYWlubWFuL00KK3RyYWplY3RvcnkvU00KK3RyYW1wL1JER1MKK3RyYW5zYWN0L3gKK3RyYW5zY2VuZC9TREcKK3RyYW5zY2VuZGVuY2UvTVMKK3RyYW5zY3JpcHRpb24vTQordHJhbnNpdC9keFh1dk5WeQordHJhbnNtaXQvQVhHTlNECit0cmFuc3ZlcnNhbC9NCit0cmFwZXppYQordHJhcGV6aXVtL1NNCit0cmF1bWEvUThTVzFNCit0cmF1bWF0YQordHJhdmFpbC9TREdNCit0cmF2ZXJzYWJsZQordHJlYWQvQVNHCit0cmVhc3VyZS10cm92ZS9TTQordHJlbWVuZG91c25lc3MKK3RyZW1vbG8vTVMKK3RyZW5kc2V0dGVyCit0cmVzcGFzcy9SRFNHCit0cmlhbC9LYUEKK3RyaWFsJ3MvQWEKK3RyaWFuZ3VsYXIvWQorVHJpYXNzaWMKK3RyaWJ1bGF0aW9uL1NNCit0cmlidXRhcnkvU00KK3RyaWZvY2FscwordHJpbGF0ZXJhbAordHJpbG9iaXRlL1NNCit0cmlvL1NNCit0cmlwbGV0L1NNCitUcmlzdGFuL00KK3RyaXVtcGhhbAordHJpdW5lCit0cml2aWFsaXR5L01TCit0Uk5BCit0cm9kZGVuL1VBCit0cm9vcC9SRE1HUwordHJvcG9zcGhlcmUvTVcKK1Ryb3Rza3kvTQordHJvdWJhZG91ci9TTQordHJ1ZWxvdmUvTVMKK3RydW1wZWQtdXAKK3RydW1wZXQvcmRTTQordHJ1bmNhdGUvR0RTbk4KK3RyeXN0L0dETVMKK3R1CitUVUMKK1R1ZS9TCitUdW1zL00KK3R1bXVsdC9TTQordHVuYS9NUwordHVyYmlkaXR5L01TCit0dXJibwordHVyZ2lkL1kKK1R1cmtpc2gKK3R1cm5hcm91bmQvTVMKK3R1cm4tb2ZmL1NNCit0dXJuc3RvbmUvTQordHVydGxlL01TCit0dXJ0bGUtbmVjay9EU00KK1R1c2NhbnkvTQordHVzaAordHVzc29jay9NU1oKK1R1dHNpCit0d2VlL1QKK3R3ZXJwL01TCit0d2lnL1NNWkRHCit0d2l0dGVyL2RTCit0d28taGFuZGVkCit0d29wZW5ueQordHdvc29tZS9TTQorVHluZGFsbC9NCitUeW5lL00KK3R5cGVjYXN0L0cKK3R5cGVzY3JpcHQvTVMKK3R5cGh1cy9NCit0eXBvZ3JhcGhlci9NUwordHlyYW5ub3NhdXIvTVMKK3R5cmFubm91cwordHphci9TTQorVWRhbGwvTQordWdseS9UCit1aAordWxjZXIvVk1TCitVbHJpa2UvTQordWx0cmF2aW9sZXQKK3VtYnJlbGxhL01TCit1bmFwb2xvZ2V0aWMvWQordW5hcHBhcmVudAordW5hcHByZWNpYXRpdmUKK3VuYXV0aGVudGljCit1bmF3YXJlCit1bmJvdW5kL0RpCit1bmJyZWFrYWJsZQordW5jbGFzc2lmaWVkCit1bmNsZWFubmVzcwordW5jb2xvdXJlZAordW5jb21tdW5pY2F0aXZlCit1bmNvbnNjaW91c25lc3MKK3VuY3Rpb24vTQordW5jdGlvbidzL0kKK3VuZGVkaWNhdGVkCit1bmRlcgordW5kZXJtaW5lL0cKK3VuZGVycGlubmluZy9NCit1bmRlci1yZXByZXNlbnQKK3VuZGVyLXNlY3JldGFyeS9TTQordW5kZXJza2lydAordW5kZXJzcGVjaWZpY2F0aW9uCit1bmRlcnN0b29kL2EKK3VuZGVydmFsdWUKK3VuZGVzaXJhYmxlCit1bmR1ZQordW5leGNlcHRpb25hYmxlL1kKK3VuZmFpbGluZwordW5mYW1pbGlhcgordW5maXgvRzdECit1bmdhaW5saW5lc3MKK3VuZ3JhY2lvdXNuZXNzCit1bmhpc3RvcmljYWwKK3VuaGl0Y2gvRwordW5pCit1bmlmeS9BR05TbkQKK1VuaXRhcmlhbmlzbS9NCit1bml0eS9NRVMKK3Vua25vd2luZwordW5saWtlbmVzcwordW5sb2NrL0cKK3VubWVudGlvbmFibGUvUwordW5tZXJjaWZ1bAordW5tb2RpZmlhYmxlCit1bm1vdmVhYmxlCit1bm5laWdoYm91cmx5Cit1bnBhbGF0YWJsZQordW5zaGFwZWx5Cit1bnNpZ2h0bHkKK3VudGF4YWJsZQordW50aGlua2luZy9ZCit1bndpc2UKK3VwYnJhaWQvRFNHCit1cGhvbHN0ZXJ5L1NNCit1cGtlZXAvTVMKK3VwcmFpc2UvU0RHCit1cHMKK3Vwc2hvdAordXBzdGFydC9NUwordXBzdXJnZS9TCit1cHRha2UvU00KK1VwdG9uL00KK3Vwd2luZAorVXJkdS9NCit1cmV0aGFuZS9NUworVXJxdWhhcnQvTQordXNlZnVsL1kKK3VzZWxlc3NuZXNzCitVdGFoYW4vU00KK3V0YW4vUwordXRpbGl0YXJpYW5pc20vTVMKK3V0aWxpdHkvTVMKK1YKK3ZhY2FuY3kvU00KK3ZhZ2FyeS9NUwordmFpbmdsb3Jpb3VzbmVzcwordmFsZWRpY3RvcnkvU00KK3ZhbGlkL0luWQordmFsaWRhdGlvbi9JTUEKK3ZhbGlkYXRvci9TTQorVmFsa3lyaWUvU00KK1ZhbGxlam8KK3ZhbHVhdGlvbidzL0MKK3ZhbmFkaXVtL00KK1ZhbmF1dHUvTQordmFybGV0L1NNCitWYXNxdWV6L00KK3Zhc3NhbC9TTQordmFzdC9QVFkKK1ZEVQordmVpbCdzCit2ZWluL0dNU0QKK1ZlbGNyby9NCitWZWxlei9NCit2ZW5hbGl0eS9TTQorVmVuZXp1ZWxhbi9TCit2ZW50aWxhdGUvU05ER25WCit2ZW50aWxhdG9yL1NNCit2ZW50cmFsL1kKK1ZlcmEvTQordmVyYmFsL3FzODlRWS0KK3Zlcmdlci9TTQordmVybWlsaW9uL1NNCit2ZXNpY3VsYXIKK3Zlc3R1cmUvRFNHCit2ZXQvU0dNRAordmV0ZXJhbi9NUwordmV0by9ER00KK1ZldHRvcmkvTQordmV4ZWQvWQordmliZS9TCit2aWJyYW50L1kKK1ZpYy9NWgorVmlja3NidXJnL00KK1ZpY2t5L00KK1ZpY3Rvcmlhbi9TTQordmlkZWxpY2V0CitWaWVpcmEvTQorVmlldG5hbWVzZS9NCit2aWdpbGFudC9ZCit2aWxsYWdleQordmlsbGFpbm91cy9ZCit2aWxsZWluL1NNCit2aW0vTQordmluZGFsb28vUwordmluZGljYXRpb24vTQordmluZWdhcnkKK1ZpbmVsYW5kCit2aW9sYXRlL0kKK3Zpb2xhdGVkCit2aW9sYXRpbmcKK3Zpb2xvbmNlbGxpc3QvUwordmlyaWxpdHkvU00KK3ZpcnVsZW5jZS9TCit2aXMt4C12aXMKK3Zpc2NlcmFsCit2aXRhbGlzZS9DR0FTRAordml0YWxpdHkvU00KK3ZpdGFsaXplL0FObkRHCit2aXRyaW9sL01XCit2aXZhY2lvdXMvWQordml2YXJpdW0vTQordml2aXBhcm91cwordm9jYXRpb24vb01TCit2b2NvZGVkCit2b2wuCit2b2xjYW5vZXMKK1ZvbGdvZ3JhZC9NCitWb2x0YWlyZS9NCit2b2x1cHR1b3VzbmVzcworVm9sdm8vTQordm90ZXIvU00KK3ZvdWNoc2FmZS9EU0cKK1ZUCit2dWx0dXJlL01TCitXQUFDL1MKK1dhYmFzaC9NCit3YWZlci9TTQorV2FnbmVyaWFuCit3YWlzdC9NRFMKK3dha2VuL1NkCitXYWxkZW4vTQorV2FsZG9yZi9NCitXYWxkcm9uL00KK1dhbGVzCit3YWxrL1NSR0QKK3dhbGstaW4KK1dhbGxhY2UvTQorV2FsbGlzL00KK3dhbGxvcC9kUworV2Fsc2gvTQorV2Fuc2JlY2svTQord2FyZGVyL1NNCit3YXJkcm9iZS9TTQord2FyZHJvb20vU00KK3dhcmUvTVMyWgord2FybW5lc3MKK3dhcm4vR1NEa0oKK3dhcnJhbnRlZC9VCit3YXJyYW50b3IvTQord2FzaGFibGUvUworV2FzaGJ1cm4vTQord2FzcC13YWlzdGVkCit3YXRjaG1ha2VyL01TCit3YXRlcmNvbG91ci9NUword2F0ZXJjb3Vyc2UvTVMKK3dhdGVyY3Jlc3MvTQord2F0ZXJmYWxsL1NNCit3YXRlcmhvbGUvUword2F0ZXJsaW5lL1MKK3dhdGVybWVsb24vU00KK3dhdGVyc2lkZS9TTQord2F0ZXJ0aWdodAord2F0ZXJ3YXkvTVMKK3dhdGVyeS9UCit3YXZ5L1QKK3dheHdpbmcvU00KK3dheWxheS9HUworV2F5bmVzYm9yby9NCit3YXl3YXJkbmVzcword2Vhay1taW5kZWQKK3dlYXIvZVNHCit3ZWFyeS9Ea1RTR1kKK3dlZC9DQVUKK3dlZWsvU01ZCit3ZWVrbHkvUword2VlbnN5Cit3ZWVweS9UCitXZWlkbWFuL00KK3dlaWdodGluZXNzCit3ZWxmYXJlL01TCit3ZWxsLWZlZAord2VsbC1oZWFkL1NNCit3ZWxsLWtlcHQKK3dlbGwtb2ZmCit3ZWxsLW9yZGVyZWQKK3dlbGwtb3JnYW5pc2VkCitXZWxsc3ZpbGxlL00KK3dlbGwtdG8tZG8KK3dlbGwtdXNlZAord2Vsc2gKK1dlbHNobWVuL00KK1dlbmRlbGwvTQord2VudC9mCit3ZXJlbid0CitXZXNzZXgKK1dlc3RtaW5zdGVyL00KK3dlJ3ZlCitXRkYKK3doYXJmL01TCit3aGVhdGVuCit3aGVlbGhvdXNlL1NNCit3aGVlenkvVAord2hlcmUncmUKK3doZXJld2l0aGFsL00KK1doaWdnaXNoCit3aGlsZS9ER1MKK3doaXJscG9vbC9NUword2hpcnIKK1doaXRha2VyL00KK3doaXRlbi9kU3IKK3doaXRpc2gKK3doaXp6ZXMKK3dob2xlc29tZW5lc3MvVQord2hvJ2xsCit3aG9tCit3aG9tc29ldmVyCit3aG9yaXNoCit3aWNrZXQvU00KK3dpZGUvVFkKK3dpZGUtYXJlYQord2lkZ2V0L1NNCit3aWRvd2hvb2QvUworV2lsaGVsbWluYS9NCitXaWxsYXJkL00KK1dpbG1hCit3aW5lc2tpbi9NCit3aW5rbGUvRFNHCitXaW5zbG93Cit3aW50ZXJ0aW1lL00KK3dpc2gvUlNqR0Q2Wgord2lzaC1saXN0Cit3aXRjaGVyeS9TTQord2l0aGRyYXdhbC9NUword2l0bGVzcy9ZCit3aXR0aW5nL1lVCit3b2VmdWxuZXNzCitXb2xkcword29sZmlzaG5lc3MKK3dvbmRyb3VzL1kKK3dvb2Rsb3VzZS9NCit3b29kcGlsZS9TTQorV29vZHdhcmQvUword29vbGx5L1RTCitXb29zdGVyCit3b3JkbGVzcy9ZCit3b3JrYWJsZS9VCit3b3JrZXIvU00KK3dvcmxkLXdlYXJ5Cit3b3JteS9UCit3b3JzaGlwL2pSU0c2RAord291bGQndmUKK3dyYXRoL2pNNgord3JlY2svR1NEUgord3Jvbmdkb2luZy9NUworV1kKK1d5bWFuCitXeW9taW5nCitYYXZpZXIKK3h5bG9waG9uaXN0L1MKK1lhbGUKK1lhbW91c3NvdWtyby9NCit5YXJkYXJtL01TCit5ZWFybmluZy9NCitZZW1lbmkKK3llb21lbi9NCitZZXJldmFuL00KK3lva2UvVURHUworWW9ya3NoaXJlL00KK3lvdSdyZQoreW91cnNlbHZlcworWXVnb3NsYXYvUworWVdDQQorei9kCitaYW1pYQoremVuaXRoL01TCit6aWd6YWcvU0dECit6aWxjaAorWmltYmFid2UvTQoremluZy9HRE0KK1pvZS9NCit6b21iaWUvU00KK3pvby9TTQorWm9yb2FzdHJpYW5pc20KK3p3aWViYWNrL01TCitBQUEKK2FhcmR2YXJrL01TCitBYXJodXMvTQorQWFyb252aXRjaC9NCithYmFuZG9uZXIvTQorYWJkb21pbmFsL1lTCithYmVhbQorYWJlcnJhdGlvbi9NUworYWJsZXIvRQorYWJvbGl0aW9uLzNNUworYWJyYWNhZGFicmEvUworYWJyYXNpdmVuZXNzL1MKK2Ficm9hZAorYWJyb2dhdGUvRE5uR1MKK2FicnVwdC9UUFkKK2Fic2Npc3Npb24vU00KK2Fic2VudC9ZREcKK2Fic2VudGVyCithYnN0aW5lbnQvWQorYWJzdHJhY3Rvci9TTQorYWJ1bmRhbmNlL01TCithYnlzc2FsCithY2FkZW1pY2lhbi9TTQorYWNjZXNzaWJseS9JCithY2Nlc3NvcnkvTVMKK2FjY2xpbWF0aW9uL00KK2FjY2xpbWF0aXNhdGlvbgorYWNjbGltYXRpemF0aW9uCithY2NvbW1vZGF0aW9uL00KK2FjY29tcGFueS8zU0xERworYWNjb3JkaW9uaXN0CithY2NvdW50aW5nL00KK2FjY3JlZGl0ZWQvVQorYWNjdAorYWNjdWx0dXJhdGUvVkRTTkduCithY2N1cnNlZC9ZUAorYWNjdXN0b21lZC9VCithY2Uvdk5TTW51VgorYWNldHlsZW5lL01TCithY2hpZXZlbWVudCdzCitBY2hpbGxlcworYWNpZGlmeS9OU0dECithY2lkaXR5L1NNCithY2lkb3Npcy9NCithY29uaXRlL01TCithY3F1aXJlbWVudC9TTQorYWNxdWlzaXRpb25zCithY3JlL1NNCithY3JpZC9QWQorYWNyaW1vbmlvdXMvUFkKK2Fjcm9ueW0vU00KK2Fjcm9waG9iaWEvTVMKK2Fjcm9zdGljL01TCithY3J5bGljL1MKK2FjdG9yL1M0TUEKK2FjdHVhdGUvTlNHbkQKK2FjdHVhdG9yL1NNCithY3V0ZS9QVFkKK2FkYW1hbnQvU1kKK2FkZW5pbmUvTQorYWRoZXNpb24vTVMKK2FkamFjZW5jeS9NUworYWRqdWRpY2F0aW9uL00KK2FkanVyZS9OR1NEbgorYWRqdXN0cy9BCithZG1pbmlzdHJhdG9yL01TCithZG1pcmUvTlJHU0RrbG4KK2FkbWlzc2libGUvWQorQWRvbmlzL00KK2Fkb3B0L0RSUzdHCithZHJvaXRuZXNzL1MKK2Fkcy9BCithZCdzCithZHNvcmIvWHZETlZHUworYWRzb3JwdGlvbi9NCithZHVsYXRvci9TTQorYWR1bHRlcmF0ZS9HRG5OUworYWR1bHRlcmF0aW9uL00KK2FkdmVydGlzZWQvVQorYWR2aXNvcnkvUworYWVyYXRvci9TTQorYWVyb3BsYW5lL01TCithZXJvc29sL1NNCitBZXNjaHlsdXMKK2FldGhlci9NCithZmZlY3RzL0UKK2FmZmlkYXZpdC9TTQorYWZmaXJtL0RHVm52U04KK0FmZ2hhbmlzdGFuL00KK2FmaWVsZAorYWZsdXR0ZXIKK2Fmb3JlCithZnQKK2FmdGVycy9NCithZ2FyL01TCithZ2F2ZS9TTQorYWdlbGVzc25lc3MvUworYWdnbHV0aW5hdGlvbi9NCithZ2l0YXRlL0RWR1NObmgKK2FnaXRhdGlvbi9NCitBZ25ldy9NCithZ29nCithZ29ueS9ROFNzOQorYWdyb2NoZW1pY2FsL1MKK2FoCithaGVtL1MKK2FpZGVkL1UKK2FpbWxlc3MvWVAKK2Fpci1jb25kaXRpb25lZAorYWlyLWNvbmRpdGlvbmluZworYWlyLWNvb2xlZAorQWlyZWRhbGUvTQorYWlybWFzcworYWlyd29tYW4KK2FpcndvcnRoeS9UUAorYWtpbWJvCitBa3Jvbi9NCithbGFzL1MKK2FsYnVtaW5vdXMKK2FsY2hlbXkvM1NNdworQWxkcmljaC9NCithbGUvU00KK0FsZWNrCithbGVtYmljL01TCithbGVydG5lc3MvUworQWxldXQKK2FsZmFsZmEvU00KK0FsZnJlZC9NCithbGdlYnJhLzNTTQorQWxnZXJpYW4vU00KK0FsZ29ucXVpYW4KK2FsLUhhaWxpCitBbGljZS9NCithbGlnbi9TYURHTEEKK2FsaWduZWQvVQorYWxpa2UvUAorYWxrYWxpL01TCitBbGxhbi9NCithbGxlZ29yaXNpbmcKK2FsbGlhbmNlL2FNUworYWxsLWltcG9ydGFudAorYWxsaXRlcmF0ZS9uTlZTdkRHCithbGxvY2FibGUKK2FsbC1vdXQKK2FsbHVzaW9uL00KK2FsbWFuYWMvTVMKK2FsbXNob3VzZS9NUworYWxvdWQKK0FscGluaXN0L01TCithbHJlYWR5CithbHNvLXJhbi9TCithbHRpdHVkZS9TTQorYWx0by9TTQorYWx1bW51cy9NUworYWx3YXlzCitBbWFkZXVzL00KK2FtYXJ5bGxpcy9TTQorYW1hc3MvR0RTCithbWF0ZXVyL01TCithbWJpYW5jZS9TTQorYW1iaWd1b3VzbmVzcy9NCithbWJpdGlvdXMvVVkKK2FtYnVzaC9SU0dETQorYW1lbi9kZ2w3UworQW1lcmljYS9NUworQW1lcworYW1ldGh5c3QvU00KK0FtaQorYW1pYWJpbGl0eS9TTQorYW1pY2FiaWxpdHkvTVMKK2FtaWdvL01TCithbWluby9NCithbW1vbml1bS9NCithbW5lc2lhL01TCithbW9lYmFlCithbXBlcnNhbmQvU00KK2FtdXNlL1JTa0xWaERHCithbmFlbWljL1kKK2FuYWVzdGhlc2lvbG9neS9NM1MKK2FuYWdyYW1tYXRpYy9ZCithbmFsZWN0YQorYW5hbG9neS9TUThNMXcKK2FuYWx5c2VkL2FVCithbmFseXNlci9TCithbmFseXN0L1NNCithbmFseXRpY3MncworYW5jaG9yaXRpc20vTQorQW5kZWFuL00KK0FuZHJlYS9TTQorQW5keS9NCithbmVjZG90ZS9TTW8KK2FuZW1vbWV0cnkvTQorYW5nZWxpY2EvTVMKK2FuZ2lvcGxhc3R5L1MKK2FuZ2xlcG9pc2UKK0FuZ2xvCithbmltYWR2ZXJzaW9uL1NNCithbmltYXRlbmVzcydzCithbmlzZWlrb25pYworQW5uL00KK2FubmFsaXN0Cithbm5leC9uRFNHCithbm5vdGF0ZS9Hbk5WRFMKK2Fubm90YXRpb24vTQorYW5vaW50L1NER0wKK2Fub21pZQorYW50ZWF0ZXIvU00KK2FudGhlci9NUworQW50aG9ueS9NCithbnRocmF4L00KK2FudGljL0dNRFMKK2FudGljaXBhdGUvTm55U3ZWR0QKK2FudGljb2FndWxhdGlvbi9NCithbnRpY29tbXVuaXNtL1NNCithbnRpZnVuZGFtZW50YWxpc3QvTQorYW50aS1ncmF2aXR5CithbnRpLWhlcm8vTQorYW50aWtub2NrL1NNCithbnRpbG9ncworYW50aW1pc3NpbGUvUworYW50aXBhc3RvL01TCithbnRpLXBlcnNvbm5lbAorYW50aXBob24vTVNvCithbnRpLVNlbWl0aWMKK2FudGktU2VtaXRpc20vTQorYW50aXNlcHRpYy9TWQorYW50aXNwYXNtb2RpYy9TCithbnRpc3VibWFyaW5lCithbnRsZXJlZAorYW50cworYW55d2hlcmUKK2FwYXRoZXRpYy9ZCithcGF0aHkvTVNXCithcG9jYWx5cHNlL1dNUworYXBvc3RvbGljCithcG90aGVvc2l6aW5nCithcHBhbmFnZS9NCithcHBlYXNlL1NEUkxHCithcHBldGlzaW5nL1VZCithcHBsZS9ZU00KK2FwcGxpcXXpL1NNRworYXBwb2ludC9STFNWREcKK2FwcG9pbnRpbmcvRQorYXBwcmVjaWF0ZWQvVQorYXBwcmVjaWF0aW9uL00KK2FwcHJvYWNoL0JSR0RTCithcHByb2FjaGFibGUvVQorYXBwcm9wcmlhdGl2ZQorYXBwcm92ZWQvVQorYXByb24vU00KK2Fwcm9wb3MKK2FxdWFjdWx0dXJlL01TCithcXVhdGljL1lTCithcXVlb3VzL1kKK2FyYWNobmlkL1NNCithcmFsZGl0ZQorQXJhbWFpYworYXJiaXRyYXRpb24vTQorYXJiaXRyYXRvci9NUworYXJjYW51bQorYXJjaGJpc2hvcC9NUworYXJjaGZvb2wKK2FyY2h3YXkvU00KK2FyY2xpa2UKK0FyZ29uYXV0L1NNCithcmd1bWVudGF0aXZlL1BZCithcmd5CitBcmlhZG5lL00KK2FyaXRobWV0aXNlL1NHRAorYXJpdGhtZXRpemUvU0dECitBcm1hZ2gvTQorYXJtZWQvVUEKK0FybW9uay9NCithcm1vcmlhbAorYXJtcy9BZmMKK2FycGVnZ2lvL1NNCithcnJlc3QvUms3REdTCithcnJvd3Jvb3QvTVMKK2Fyc29uLzNTTQorQXJ0ZQorYXJ0ZWZhY3R1YWwKK2FydGVyeS9NU28KK0FydGhyb3BvZGEKK2FydGljbGUvTVNERworYXJ0aWN1bGF0ZWQvRVUKK2FydGluZXNzL1MKK2FydGxlc3MvWVAKK2FydHdvcmsvTVMKK2FzYmVzdG9zaXMKK2FzY2VuZC9SWERHU04KK2FzY2VuZGFuY3kvTVMKK2FzY3JpYmUvTkRHWFNWCitBc2lhdGVjaC9NCithc2luaW5lL1kKK2FzcGlyYXRpb24vTQorYXNwaXJlL3hTRG5HTgorYXNzYXNzaW5hdGUvU0dECithc3NlbWJsaWVzL0EKK2Fzc2V0L1NNCithc3Npc3RlZC9VCithc3RyaW5nZW50L1lTCithc3Ryb2xhYmUvU00KK2F0ZW1wb3JhbAorYXRlcworYXRoZXJvc2NsZXJvc2VzCithdGhsZXRlLzFTTVcKK0F0a2lucworYXRsYW50ZXMKK2F0dGFpbnMvQQorYXR0ZW5kZWUvU00KK2F0dGVudWF0ZWQvVQorYXR0cmlidXRlci9NCitBdHdvb2QvTQorYXVnbWVudGF0aXZlL1MKK2F1bnRpZS9NCithdXNwaWNpb3VzL0lZCithdXN0cmFsZXMKK0F1c3RyaWEvTQorYXV0aG9yaXNlcy9BCithdXRob3JpdGFyaWFuaXNtL01TCithdXRvCithdXRvYmlvZ3JhcGh5L00xU3dXCithdXRvY29sbGltYXRvci9NCithdXRvY29ycmVsYXRpb24vTQorYXV0b2dpcm8vTVMKK2F1dG9ub215L1NNVworYXZhdGFyL1NNCithdmVyc2UvUE5YVlkKK0F2ZXMKK2F2b2lkYWJseS9VCithdm93ZXIvTQorYXdha2UvU0cKK2F3YWtlbmVyL00KK2F3YWtlbnMvQQorYXdhcmUvUAorYXhpb20vU1dNMQorYXhvbi9NUworQXlja2JvdXJuL00KK0F5bGVzYnVyeS9NCithemltdXRoL1NNbworYXppbXV0aGFsCitBenRlYy9NCitCYWJ5bG9uL00KK0JhYnlsb25pYW4vTVMKK2JhY2lsbHVzL01TCitiYWNrY2xvdGgvTQorYmFjay1wZWRhbC9HRAorYmFja3NpZGUvTVMKK2JhY2tzdGFiYmluZworYmFja3N0cmV0Y2gvTVMKK2JhY3RlcmlhbAorYmFjdGVyaWNpZGFsCitiYWN0ZXJpb3Bob3JhCitiYWN0ZXJpdW0vTQorYmFkbWVuL00KK2JhZG5lc3MvUworYmFnZnVsL1NNCitiYWlybi9TTQorQmFqYS9NCitiYWtlZC9VCitiYWtsYXZhL00KK0JhbGluZXNlL00KK2JhbGthbmlzZS9HU25ECitiYWxrYW5pemUvR1NuTkQKK2JhbGxvdGVyL00KK2JhbHVzdGVyL01TCitCYW1ha28vTQorYmFuZGJveC9TTQorYmFuZHN0YW5kL1NNCitiYW5nL1JNREdTCitiYW5nbGUvU00KK2JhbnF1ZXQvcmRTTQorYmFudGFtL1NNCitiYXB0aXNtYWwKK0JhcmNlbG9uYS9NCitiYXJlZm9vdC9ECitiYXJpdG9uZS9NUworYmFyaXVtL00KK2Jhcm5hY2xlL0RNUworQmFybmV5L00KK2Jhcm5zLzYKK2Jhcm9ueS9NUworQmFycmllL00KK0JhcnRob2xvbWV3L00KK0JhcnTzay9NCitiYXNlL21ZUHBMTVQKK2Jhc2VuZXNzL1MKK2Jhc2luZWQKK0Jhc3NldHQvTQorYmFzc29vbmlzdAorYmFzdGFyZHkvTQorYmFzdGlvbi9NRAorYmF0aG9zL01TCitiYXRoeXNjYXBoZSdzCitiYXRoeXNwaGVyZS9NUworYmF0aXN0ZS9TTQorYmF0bWFuCitiYXRzL20KK2JhdHRlci9kWk1TCitiYXR0bGUtY3J5CitiYXR0bGVkb3JlL1NNCitiYXR0bGVmcm9udC9NUworYmF0dGxlZ3JvdW5kL1NNCitCYXVoYXVzL00KK0JheWFyZC9NCitCYXlsb3IvTQorQkJRCitCQ0QKK2JlYWNod2Vhci9NCitiZWFjb24vZFNNCitiZWFkL1pTTURtSkcKK2JlYW0vU1JHTUQKK2JlYW0td2lkdGgKK2JlYW5pZS9TTQorYmVhbnN0YWxrL01TCitiZWFycy9jCitiZWFyc2tpbi9TTQorYmVhdGlmaWNhdGlvbi9NCitiZWF1dC9NWlMKK0JFQ1RhCitiZWRkZWQKK2JlZGZlbGxvdy9TTQorYmVkbGluZW4KK2JlZG1hdGUvU00KK2JlZHMKK2JlZHRpbWUvU00KK0JlZWIKK0JlZWJlL00KK2JlZWYvTUQyR1pTCitiZWxheS9EU0cKK2JlbGNoL1NHRAorYmVsaWV2YWJpbGl0eS9NCitiZWxpZXZlci9VTVMKK0JlbGl6ZS9NCitCZWxsaW5pL00KK2JlbGx5ZnVsL1MKK2JlbGx5aW5nCitiZW5lZmljZS9NR29EUworYmVuZWZpY2VuY2UvTVMKK2JlbmVmaWNpYXJ5L1NNCitiZW50d29vZC9TTQorYmVyYXRlL1NERworYmVyZWZ0CitCZXJlc2ZvcmQvTQorQmVyZ2VyL00KK0Jlcmtvd2l0ei9NCitCZXJrc2hpcmUvTQorYmVzbWlyY2gvREdTCitiZXNwZWN0YWNsZWQKK0Jlc3NlbC9NCitCZXNzZW1lcgorYmVzdC1rbm93bgorYmVzdG93YWwvU00KK2JldGhlbC9NCitCZXRoZXNkYS9NCitCZXRobGVoZW0vTQorYmV0cm90aC9ER1MKK0JldHR5L01TCitCZXhsZXkvTQorYmV6ZWwvTVMKK0Job3BhbC9NCitCaHV0YW4vTQorYmljYW1lcmFsaXNtL01TCitiaWNlcHMKK2JpY2tlci9kclMKK2JpZGRhYmxlCitCaWRkbGUvTQorYmlkZXIvTQorYmllbm5pYWwvU1kKK2JpZW5uaXVtL1NNCitiaWZ1cmNhdGlvbi9NCitCaWdlbG93L00KK2JpbGluZWFyCitiaW5kd2VlZC9TTQorYmlub2RhbAorYmlvZGl2ZXJzaXR5L1MKK2Jpb2dyYXBoL1daUncxCitiaW9yaHl0aG0vUworYmlvc3ludGhlc2l6ZWQKK2Jpb3RhL1cKK2JpcGFydGlzYW4KK2JpcGFydGlzYW5zaGlwL1NNCitiaXJkaWUvTURTCitiaXJlZnJpbmdlbmNlL00KK2JpcnRoaW5nCitiaXJ0aHBsYWNlL1NNCitiaXMKK2JpdGluZy9ZCitiaXQncworYml0dHkvVAorYml2YWx2ZS9TTUQKK2Jpdm91YWMvR01EUworYmxhYmJlcm1vdXRoL1NNCitibGFja2xlZy9ER01TCitibGFkZGVyd29ydC9NCitibGFzcGhlbW91cy9ZUAorYmxlYXJpbmVzcy9TCitibGVhdC9ER1MKK2JsaW1wL01TCitibGluZGluZy9NCitibGlzdGVyL2RNa1NaCitCbG9mZWxkL00KK0Jsb21xdWlzdC9NCitibG9vZC96aHAyTURpWkdTCitibG9vZC1jdXJkbGluZworYmxvb2RzdG9jay9TTQorYmxvb2RzdWNraW5nCitibG9vZC13b3J0L00KK2JsdWUtYmxhY2sKK2JsdWVncmFzcy9TTQorYmx1ZXN0L00KK2JsdWlzaC9QCitCbHVua2V0dC9NCitibHVzdGVyb3VzCitib2FyZGluZ2hvdXNlL01TCitib2FzdHMvZQorQm9iYmllL00KK2JvZC9TTWQKK2JvZGVnYS9TTQorYm9keS1idWlsZGVyL1NNCitib2R5c3VpdC9TCitCb2dhcnQvTQorYm9nZXkvR21NRFMKK2JvZ3VzCitib2hlbWlhbmlzbS9TCitib2lsZXJtYWtlci9NUworQm9saXZhci9NCitib2xvbmV5J3MKK2JvbHN0ZXIvZFMKK0Jvbm5lci9NCitib25uZXQvZFNNCitib256ZXMKK2Jvb2J5L01TCitib29naWUvU0QKK2Jvb2tzL2NBCitib29rd29yay9NCitib29tL1NHRAorYm9vdGVlL1NNCitib290bGFjZS9TCitib290bGVnZ2VkL00KK2Jvb3plL1JaR0RNUworYm9yaW5nbmVzcworYm9ybmUvYworQm9yb2Rpbi9NCitib3J6b2kvTVMKK0Jvc2NoL00KK0Jvc3BvcnVzL00KK0JvdHRpY2VsbGkvTQorYm91bmNlL2taU1JHMkQKK2JvdW5kcy9lCitib3V0aXF1ZS9TTQorQm91dmllci9NCitib3dpbmcvTQorYm93bGluZy9NCitib3ctd2luZG93Citib3d3b3cvU0RNRworYm94Y2FyL01TCitib3llcgorYnBpCiticmEvV3BTTQorQnJhZGZvcmQvTQorYnJhaW5jZWxsL1MKK2JyYW5keS9HTURTCitCcmFudC9NCitCcmFxdWUvTQorYnJhc2gvWVNQVAorYnJhc3MvTVMKK2JyYXNzaWVyZS9NUworYnJhd24vWlNNMgorYnJhemllci9TTQorYnJlYWthYmxlL1MKK2JyZWFrLWluL1MKK2JyZWFrbmVjaworYnJlYXN0cGxhdGUvTVMKK2JyZWF0aGFseXNlZAorYnJlYXRoYWx5c2VyL1MKK2JyZWVjaC1sb2FkaW5nCiticmV2aWFyeS9TTQorYnJldy9SR01EUworYnJpYmUvRFJ5U0cKK2JyaWJlcnkvU00KK2JyaWVmbmVzcy9TCiticmlnL01TCiticmlnYWRpZXIvU00KK2JyaW55L1RQCiticmlza25lc3MvUworYnJpdGNoZXMKK2Jyb2FkbGVhdmVkCiticm9rZW4taGVhcnRlZC9ZCitCcm9tZm9yZC9NCitCcm9tc2dyb3ZlL00KK2Jyb25jaGlvbGFyCiticm9uY28vTVMKK2Jyb25jb2J1c3Rlci9NUworYnJvdGgvUk1TCiticm91aGFoYS9NUworQnJvd25lbGwvTQorYnJvd25maWVsZAorYnJvd25pbmcvTQorYnJvd3NlCiticnVudC9ETUdTCitCdWNoYXJlc3QvTQorYnVja2xlZC9VCitCdWRkaGlzdC9TTQorQnVlbm9zCitidWZmZXJlZC9VCitidWZmb29uL01TCitidWcvQ1JHU0QKK2J1Z2xlL1JHRE1TCitidWxibGV0CitidWxib3VzCitidWxnZS9aR0RNU2sKK2J1bGltaWEvU00KK2J1bGtpbmVzcy9TCitidWxsZXQvU00KK2J1bW1pbmcvTQorYnVtcGVyL2QKK2J1bmNvbWJlJ3MKK2J1bmRsZSdzCitCdW5keS9NCitidW5rL1JDU0RHCitidW50L1JTR0RKCitidW95L1NHTUQKK0J1cmJhbmsvTQorYnVyYmxlL0dTRAorYnVyZGVuL2RNUworYnVyZWF1Y3JhY3kvTVMKK2J1cmVhdWNyYXQvMVFXcThTTS0KK0J1cmd1bmRpYW4KK2J1cmllZC9VCitCdXJrZS9NCitidXJudC9ZCitidXJzYXJ5L01TCitidXNoZWwvTVNER0oKK0J1c2huZWxsL00KK2J1c2tpbmVkCitidXN5Ym9keS9TTQorYnV0Y2gvUnlTCitidXRjaGVyL2RZCitidXRjaGVyZXIvTQorYnV0ZW5lL00KK2J1dHRlcmN1cC9NUworYnV0eWwvTQorYnV5L1JTRworYnV5b3V0L1MKK2J1enovTURSU0daCitieWUtYnllCitieWdvbmUvUworYnlsaW5lL0dEU00KK2J5cGxheS9TCitCeXJvbi9XTQorY2FiYW5hL1NNCitjYWJlci9NCitjYWJvb2RsZS9TTQorY2FjYW8vU00KK2NhZGF2ZXIvTVMKK2NhZGF2ZXJvdXMvWQorY2FkZGlzaG5lc3MvUworY2FkZHkvTURTRworY2FkZW5jZWQKK2NhZGdlL0RSU0cKK2NhZHVjZXVzL00KK0NhZXJwaGlsbHkvTQorY2Flc2FyZWFuL1MKK2NhZnRhbi9NUworQ2FqdW4vU00KK2NhbGFtaXR5L1NNCitjYWxjaWZ5L05EU25HCitjYWxjdWxhdG9yL1NNCitjYWxjdWxpCitDYWxkd2VsbC9NCitDYWxlYi9NCitjYWxpYnJhdGlvbi9NCitjYWxpY29lcworQ2FsbGFnaGFuL00KK2NhbGxpZ3JhcGhlci9TTQorY2FsbGluZydzCitjYWxsb3VzbmVzcy9TCitjYWxsLXVwCitjYWx1bW55L1NNCitjYW1lbGxpYS9TTQorY2FtZXJhZQorY2FtZXJhLXJlYWR5CitDYW1lcm9vbi9NCitjYW1vbWlsZS9NCitjYW1wLWZpcmUvTVMKK2NhbXNoYWZ0L1NNCitjYW5hcOkvUworY2FuY2FuL01TCitjYW5kZWxhcworY2FuZGlkYXR1cmUvUworQ2FudGVyYnVyeS9NCitjYW50b25hbAorY2FudCdzCitjYW52YXNzL1MKK2NhcGFjaXRpdmUvWQorY2FwaXR1bGF0aW9uL01BCitDYXByaQorY2FwcmljaW91c25lc3MvUworY2Fwc3Rhbi9TTQorY2Fwc3RvbmUvU00KK2NhcHN1bGUvOFNRTUdECitjYXB0aXZhdG9yL01TCitjYXJhdmFubmVyL00KK2NhcmF3YXkvU00KK2NhcmJvbmF0ZS9HRFNNCitjYXJib25hdGlvbi9NCitjYXJib3J1bmR1bQorY2FyZGhvbGRlcnMKK2NhcmRpbmFsL01ZUworY2FyZGlvbG9neS8zTVMKK2NhcmRpb3Zhc2N1bGFyCitjYXJkJ3MKK2NhcmVlci9HM01EUworY2FyZWZ1bG5lc3MvUworY2FyaWNhdHVyZS8zU0dETQorY2FyaWVzL00KK0NhcmxvL1MKK0NhcmxvdGEKK0NhcmxzYmFkL00KK0Nhcmx5bGUKK2Nhcm5hZ2UvU00KK2Nhcm5hbGl0eS9TTQorY2Fybml2b3JvdXMvWVAKK0Nhcm9saW5pYW4vUworY2Fyb3RpZC9NCitjYXJwYWwvU00KK2NhcnBpL00KK2NhcnJ5aW5nL2EKK2Nhci1zaGFyaW5nCitjYXItc2lja25lc3MvUworY2FydG9ncmFwaGVyL1NNCitDYXJ1c28KK2Nhc2Vib29rL01TCitjYXNpbm8vU00KK2Nhc2tldC9kU00KK2Nhc3Nlcm9sZS9NR0RTCitDYXNzaW9wZWlhCitjYXN0YXdheS9TTQorY2FzdGVsbGF0ZWQKK2NhdGFjbHlzbWFsCitjYXRhbHBhL1NNCitjYXRhbHlzaXMvTQorY2F0Ym9hdC9TTQorY2F0ZW5hdGlvbi9NRgorY2F0ZXIvZHJTCitjYXRlcnBpbGxhci9TTQorY2F0aGFydGljCitjYXRob2RlL1NXTQorY2F0dGxlL21NCitjYXVkYWwvWQorY2F1c2FsCitjYXV0aW9uZXIvU00KK2NhdXRpb3VzL0lZCitjYXZlYXQvU00KK2Nhdm9ydC9EU0cKK0NCUworQ0RUCitjZWFzaW5nL1UKK0NlaWwKK2NlbGVicml0eS9NUworY2VsbHVsYXIvWQorY2Vuc29yaW91c25lc3MvUworY2Vuc3VyYWJsZQorY2VudHJhbGlzdAorY2VudHJlZm9sZC9TCitjZW50cmlmdWdhdGUvTQorY2VudHJvaWQvU00KK2NlcmViZWxsdW0vTVMKK2NlcmVtb25pYWxuZXNzCitjZXJ0aWZ5L05SbDdER25TCitDRkMvUworY2hhY29ubmUKK2NoYWlubGlrZQorY2hhaXJsaWZ0L1NNCitjaGFtYnJheS9TTQorY2hhbmNlcnkvU00KK2NoYW5nZS9SQmxwR0RTCitjaGFubmVsbGluZy9NCitjaGFwZWwvTXlTCitjaGFwZXJvbmFnZS9NUworY2hhci81R0RTCitjaGFyYWRlL1NNCitjaGFyYnJvaWwvU0dECitjaGFybGF0YW4vTVMKK0NoYXJsZXMKK0NoYXJsb3R0ZS9NCitDaGFybHRvbgorY2hhcnRpc3QKK2NoZWF0L1JEU0cKK2NoZWNrL0FTR0QKK2NoZWVyeS9QVAorQ2hla2hvdgorY2hlbWlzdC95CitjaGVtb3RoZXJhcHkvU00KK0NoZXJ3ZWxsCitjaGVzc2JvYXJkL01TCitjaGcKK2NoaWNrZW5oZWFydGVkCitjaGljbGUvWU1TCitjaGljbmVzcy9TCitjaGljb3J5L1NNCitjaGlkZS9Ea1NHCitDaGllZgorY2hpZWZkb20vTVMKK2NoaWVmdGFpbi9TTQorY2hpbGRsZXNzL1AKK2NoaWxseS9UUFMKK2NoaW1wL01TCitjaGl0aW4vTVMKK2NoaXR0ZXJsaW5ncworY2hpdmFscm91c2x5L1UKK2NoaXZhbHJvdXNuZXNzL1MKK2NobG9yb3F1aW5lL00KK2Nob2NvbGF0ZS9TTVoKK2Nob2lyYm95L01TCitjaG9wL1IyWlN6R0QKK2Nob3JkYWwKK0NocmlzdGlhbmEvTQorQ2hyaXN0aWFuc2VuCitjaHJvbWl0ZS9NCitjaHJvbm9tZXRlci9TTVcKK2NocnlzYWxpcy9TTQorY2h1YmJ5L1RQCitjaHVtbXkvVFAKK2NodW1waW5nL00KK0NodXJjaAorY2h1dHpwYWgvU00KK0NpY2VseQorQ2ljZXJvCitjaWdhci9TTQorY2lsaWF0ZS9ERllTCitjaXBoZXJzL0MKK2NpcmN1bGFyLzhZUVBNUworY2lycmkvTQorY2l0aXplbnNoaXAvU00KK2NpdHkvRE1TCitjaXR5d2lkZQorY2xhaW0ncworY2xhbW1pbmVzcy9TCitjbGFtcGRvd24vU00KK2NsYW5kZXN0aW5lL1lQCitjbGFzcGVkL00KK2NsYXNzcm9vbS9NUworQ2xheXRvbi9NCitjbGVhbm5lc3MvUworQ2xlYXJ3YXRlcgorY2xlYXZhZ2UvU00KK2NsZXJrL0dTWURNCitjbGV2ZXJlcgorY2xpbWIvN0dSRFNKCitjbGluZ3kvVAorQ2xpbnQKK0MuTGl0LgorY2xvYWtzL1UKK2Nsb2Nrd2F0Y2hlcgorY2xvY2t3b3JrL1NNCitjbG9kaG9wcGVyL01TCitjbG9uay9HU0QKK2Nsb3RoZXNicnVzaAorY2xvdWRidXJzdC9TTQorY2x1Yi1mb290L01ECitjbHVibGFuZAorY2x1bXNpbmVzcy9TCitDbHlkZWJhbmsvTQorQ01PUworY29hY2gvbUdNCitjb2FndWxhdGlvbi9NCitjb2FsLWJsYWNrCitjb2FsZmFjZS9TTQorY29hbGZpZWxkL01TCitjb2FzdGd1YXJkL1NNCitjb2NrLWV5ZWRuZXNzCitjb2NraW5lc3MvUworY29ja2xlc2hlbGwvTVMKK2NvY2tzaGllcworY29jby9NUworY29kZGxlL1NHRAorY29kaWZ5L1JER1NObgorQ29keS9NCitjb2ZmZWUtbWFrZXIvUworY29nZW5jeS9TTQorY29nbmF0ZS9ZblNOCitjb2hhYml0YXRpb25hbAorY29oZXNpdmVuZXNzL1MKK2NvaWZmaW5nCitDb2xlbWFuL00KK0NvbGVyaWRnZS9NCitjb2xsYWJvcmF0aW9uaXN0Citjb2xsYXJib25lL1NNCitjb2xsZWN0ZWQvVUEKK2NvbGxlY3RpdmUvcTM4U1EtCitjb2xsZWN0aXZpdHkvU00KK2NvbGxlZ2UvTUsKK2NvbGxvaWRhbAorY29sbHVkZS9ER05WU1gKK2NvLWxvY2F0ZWQKK0NvbG9tYmlhL00KK2NvbG9uaXNlL0FHQ0RTbgorY29sb255L29TTTMKK2NvbG91cmVkL0VTCitjb2xvdXJmdWwvUAorQ29sdHJhbmUKK0NvbHVtYmlhbgorY29sdW1uYXIKK2NvbWFrZXIvTVMKK2NvbWIvUkdNUworY29tYmluZS9ER0FuU04KK2NvbWViYWNrL1NNCitjb21lZHkvV1NNCitjb21lcy9jZQorY29tZml0L1NNCitjb21mb3J0YWJpbGl0eS9TCitjb21mb3J0YWJsZS9QWQorY29taWNhbAorY29taXR5L1NNCitjb21tZW1vcmF0aXZlL1MKK2NvbW1lbnQvVVNECitjb21tZW50ZXIvTQorY29tbWlzc2lvbmVkL0EKK2NvbW1pdC9OTFNvWERHCitjb21tb2RvcmUvTVMKK2NvbW1vbmFsaXR5L01TCitjb21tdW5hbAorY29tbXVuaWNhYmx5Citjb21tdW5pY2F0aW9uL2EKK2NvbW11bmlxdekvTVMKK2NvbW11bml0YXJpYW4vTQorY29tcGFjdG9yL1NNCitjb21wYXJhYmx5L0kKK2NvbXBhcnRtZW50L0RHTVMKK2NvbXBlbnNhdGlvbi9jTQorY29tcGV0aXRpdmUvUFkKK2NvbXBsYWNlbmN5L1NNCitjb21wbGFpc2FuY2UvU00KK2NvbXBsZW1lbnRhdGlvbi9NCitjb21wbGV0aW9uJ3MvSQorY29tcG91bmQvTTcKK2NvbXByZWhlbmRpbmcvVQorY29tcHJlaGVuc2libGUvSVBZCitjb21wdWxzaXZpdHkKK2NvbXB1dGFiaWxpdHkvTQorY29tcHV0ZS9EUkduTmxTQgorY29tcmFkZS9NU1kKK2NvbmNlaXQvR2lNU0RoCitjb25jZWl2YWJpbGl0eS9JCitjb25jZXB0aW9uL0tTTWEKK2NvbmNlcnRpCitjb25jZXJ0aW5hL01ER1MKK2NvbmNlc3Npb25haXJlL1NNCitjb25jZXNzaW9uYWwKK2NvbmNvbWl0YW50L1kKK2NvbmNvcmRhdC9TTQorY29uY3VyL0RHN1MKK2NvbmRpdGlvbi9vTUdSSkRTCitjb25kaXRpb25lZC9BVUsKK2NvbmRvci9NUworY29uZHVjdC9hREdNUworQ29uZXN0b2dhCitjb25mZXIvN0RnR1JTCitjb25mZXNzaW9uL00KK2NvbmZpZGVuY2UvY1NNCitjb25maWd1cmFibGUvSworY29uZmlndXJpbmcvSworY29uZmxhdGlvbi9NCitjb25mb3JtYWwKK2NvbmZvcm1hbmNlL1NNCitjb25mb3JtaXN0Citjb25mb3JtaXR5L0lNVQorY29uZ2VyaWVzL00KK2Nvbmdsb21lcmF0aW9uL00KK2NvbmdyYXR1bGF0ZS9EU0dueU4KK2NvbmdydWVudGlhbAorY29uanVuY3QvVlN2RAorY29ubmVjdGlvbmxlc3MKK2Nvbm5pdmFuY2UvTVMKK2NvbnNjaWVudGlvdXMvUFkKK2NvbnNjaW9uYWJsZS9VCitjb25zZXF1ZW50L1kKK2NvbnNlcnZhdG9yeS9TTQorY29uc2lkZXIvQWRTCitjb25zaWRlcmFibGUvWUkKK2NvbnNvbmFuY2VzCitjb25zb3J0aXVtL00KK2NvbnNwaXJhdG9yaWFsCitjb25zdGFudHMKK2NvbnN0aXR1dGlvbmFsaXN0Citjb25zdHJhaW4vaAorY29uc3RyYWluZWQvVQorY29uc3RyaWN0b3IvU00KK2NvbnN0cnVjdC9BU2JERworY29uc3VsdGFuY3kvUworY29uc3VsdGVyL00KK2NvbnN1bWVyaXNtL01TCitjb250YWdpb24vU00KK2NvbnRhaW4vN1JMRFNHCitjb250YW1pbmFudC9NUworY29udGFtaW5hdGVzL0MKK2NvbnRlbnRlZG5lc3MvUworY29udGVudGlvdXMvVVkKK2NvbnRlbnRpb3VzbmVzcy9NUworY29udGludWluZy9FCitjb250cmFjdHVhbC9ZCitjb250cml0aW9uL1NNCitjb250cm92ZXJ0L0RHU2IKK2NvbnZlY3QveEdTRFYKK2NvbnZlbmVyL1NNCitjb252ZW50aW9uYWwvUTgzCitjb252ZXhpdHkvTVMKK2NvbnZleWFuY2luZy9NCitjb252b2x2ZS9DU0dECitjb255L01TCitjb28vR1NECitjb29rZWQvZlUKK2Nvb2wvR0RQU1JZVAorY29vcGVyL2R2dVYKK2Nvb3BlcmF0aXZlL1UKK2NvcGllcy9BCitDb3BsZXkKK2NvcG9seW1lci9TTQorY29wLW91dC9TCitjb3BwZXJwbGF0ZS9TTQorY29wcGVyc21pdGgvU00KK2NvLXByb2R1Y2VkCitjb3Byb3BoYWdvdXMKK2NvcHlib29rL1NNCitjb3JiZWwvU0pHTUQKK2NvcmRlci9BTQorY29yaW5nL00KK2Nvcm5jb2IvU00KK2Nvcm5lcnN0b25lL1NNCitjb3JuZXQvU00KK2Nvcm5mbGFrZS9TCitDb3Jud2FsbGlzCitjb3JvbmFsL01TCitjb3JwLgorY29ycG9yZWFsaXR5L01TCitjb3JyCitjb3JyZWN0bHkvSQorY29ycmVsYXRlZC9VCitjb3JyaWdlbmRhCitjb3Jyb2JvcmF0b3IvU00KK2NvcnJvc2l2ZS9TUAorY29ycnVwdGliaWxpdHkvTUlTCitDb3JzaWNhbgorY29ydXNjYXRlL05TbkRHCitjb3J2ZXR0ZS9NUworY29zbWV0aWMvTVNZCitjb3NtZXRpY2lhbi9TTQorY29zbW9wb2xpdGFuaXNtL1NNCitjby1zdGFyL0dTRAorY290ZXJtaW5vdXMvWQorY290dG9uL2RNUworY290dG9udGFpbC9NUworY291bOllL1NNCitjb3VudGFibGUvVQorY291bnRlbmFuY2UvU0RFRworY291bnRlcmN5Y2xpY2FsCitjb3VudGVyb2ZmZXIvU00KK2NvdW50ZXJwYW5lL1NNCitjb3VudGVycGFydC9TTQorY291bnRlcnMvRQorY291cGxlJ3MKK2NvdXBvbi9NUworY291cnNlZC9FCitjb3Vyc2luZy9NCitDb3VydG5leS9NCitjb3VydHNoaXAvU00KK2NvdXNpbi9NWVMKK0NvdXN0ZWF1Citjb3ZlcmVyL0FNRQorY292ZXJpbmcncworY292ZXJzaGVldAorY293aGlkZS9TR0RNCitjb3gvU0dNRAorY295bmVzcy9TCitjcmFiLzJHaERSek1pWlMKK2NyYWNrL1NSWURHNworY3JhY2tkb3duL01TCitjcmFkbGUvU0RNRworY3JhZnRzbWFuc2hpcC9TTQorY3Jhbml1bS9NUworY3JhdGUvTURSU0cKK2NyYXZlbm5lc3MvUworY3Jhd2Zpc2gncworQ3JheS9NCitjcmVhay96WlNEMkcKK2NyZWFraW5lc3MvUworY3JlYW1lcnkvTVMKK2NyZWF0aW9uaXN0L01TCitjcmVkaXQvZEU3bFMKK2NyZWRpdGVkL1UKK2NyZW9zb3RlL1NNR0QKK2NyZXNjZW5kby9HRFNNCitjcmV0aW4vTVMKK2NyaXNpcy9NCitjcmlzcC9HWVBEVFoyUworY3Jpc3MtY3Jvc3MvREdTCitDcmlzdGluYS9NCitDcm9ja2V0dAorY3Jvc3Nhcm0KK2Nyb3NzLWRyZXNzaW5nCitjcm9zcy1mZXJ0aWxpc2F0aW9uCitjcm9zcy1mZXJ0aWxpemF0aW9uCitjcm9zcy1oYXRjaC9EU0cKK2Nyb3NzcGF0Y2gvU00KK2Nyb3NzLXJlZmVyZW5jZS9ER1MKK2Nyb3Nzcm9hZC9TTQorY3Jvc3MncworY3Jvd2RlZC9QCitjcm93Zm9vdC9NCitjcnVjaWFsL1kKK2NydWNpYmxlL1NNCitjcnVkZHkvVAorY3J1ZGl0eS9TTQorY3J1ZWwvRFRZR1AKK2NydWVsbmVzcy9TCitjcnVtYi9ZRFpTTUcKK2NydW1taW5lc3MvUworY3J1cHBlci9NUworY3J1c2gvUjdrU0RHCitDcnV6Citjcnlvc3VyZ2VyeS9TTQorY3J5cHRvZ3JhcGhlci9TTQorY3J5cHRvbG9neS9NM1d3CitjcnlzdGFsbGl0ZS9TTQorQ1NFCitjdWNrb28vTVNHRAorY3VkZGx5L1QKK2N1ZmYvREdNUworY3VsdHVyZWQvVQorY3VyL3JZZ3ZabDdkU01WCitjdXJiaW5nL00KK2N1cmwvREdTUjIKK2N1cnJlbmN5L0ZTTQorY3Vyc29ycy9LCitjdXJ2aWxpbmVhci9ZCitjdXNoaW9uL1NHTUQKK2N1c3RhcmQvU00KK2N1dGFuZW91cy9ZCitjdXQtZG93bgorY3V0LXRocm9hdC9NUworY3V0dGxlZmlzaC9TTQorQ3lhbmFtaWQKK2N5YmVycHVuay9TTQorY3ljbGVyL0EKK2N5Y2xvbmUvV1NNCitDeXBydXMvTQorY3l0b3RveGljCitjemFyLzNNUworQ3plY2hvc2xvdmFrCitDemVjaHMKK2RhY3R5bC9TTQorZGFkZHktbG9uZy1sZWdzCitEYWRlCitkYWhsaWEvU00KK2RhbWFnZS9EUlNrTUcKK2RhbW5hdGlvbi9NCitkYW1zZWwvU00KK0RhbmEvTQorZGFuZGVsaW9uL01TCitkYW5kaWZ5L0dEUworZGFyZWRldmlscnkvUworRGFyaXVzCitEYXJyZWxsCitEYXJ3aW5pc20KK2RhdGFncmFtL1NNCitkYXVudC9ER2twUworZGF1bnRsZXNzL1BZCitEYXZlL01aCitkYXduL0dEU00KK0Rhd3NvbgorREMKK0RDVk8KK2RlL0cKK2RlYWxpbmcncworZGVhbHMvYQorZGVhcnkvU00KK2RlYXRobGVzc25lc3MKK2RlYXRoLXJhdHRsZQorZGVhdGgtd2lzaC9TCitkZWJvbmFpcm5lc3MvUworZOlidXRhbnRlL01TCitkZWNlaXQvUzZqTQorZGVjZWl0ZnVsL1AKK2RlY2VpdmVyL01TCitkZWNlaXZpbmcvWQorZGVjZWxlcmF0b3IvU00KK2RlY2liZWwvTVMKK2RlY2lwaGVyYWJsZS9JVQorZGVjaXNpb24vSU1TCitkZWNsYXJhdGlvbi9BTQorZGVjbGFyYXRpdmUvUworZGVjbGFyaW5nL0EKK2RlY2xpbmUvUkdOblNECitERUNORVQKK2RlY29tcG9zZS9CCitkZWNvbXByZXNzZXIKK2RlY29udHJvbC9HRAorZGVjb3J0aWNhdGUvREdTTgorZGVjcmVtZW50L1NER00KK2RlY3J5cHRpb24KK2RlZHVjdGlvbi9NCitkZWVkL1NHRE0KK2RlZW0vU0RBRworZGVlcGlzaAorRGVlcmUKK2RlZmVjdGlvbi9NUworZGVmZWN0aXZlL1BTCitkZWZlbmNlbGVzc25lc3MKK2RlZmVyL1JHU0QKK2RlZmljaWVuY3kvTVMKK2RlZmlsZWQvVQorZGVmaW5lci9NUworZGVmbGF0ZXIKK2RlZmxlY3Rpb24vU00KK2RlZm9saWF0b3IvU00KK2RlZm9yZXN0L05uRworZGVmcmF5YWwvTVMKK2RlZnVuY3QKK2RlZ2VuZXJhY3kvTVMKK2RlbGV0ZXIKK2RlbGltaXQvbmQKK2RlbGluZWF0ZS9TR0ROblYKK2RlbGl2ZXIvQWRaUworZGVsbC9TTQorRGVsbGEvTQorRGVscGhpYworZGVsdXNpdmUvUAorZGVtYWdvZ3VlL0R5U01HCitkZW1hbmQvU0dEaworZGVtYW5kaW5nL1UKK2RlbW9ncmFwaGVyL1NNCitkZW1vbnN0cmFibGUvSVkKK2RlbW9uc3RyYXRlL3VHblZTRHZOCitkZW1vbnN0cmF0aXZlcworZGVtb3RpYy9TCitEZW1wc2V5CitkZW11cmUvWVAKK2RlbmF0dXJlL0cKK2RlbmRyb2Nocm9ub2xvZ3kvdworRGVubWFyay9NCitkZW5zZS9GWQorZGVuc2VyL0YKK2RlbnVuY2lhdGUvRFNHbk5WCitkZXBsZXRpb24vTQorZGVwbG9yZS9rbERHUworZGVwb3NpdGFyeS9NCitkZXByZWNhdGUvRFNObkdreQorZGVyYW5nZS9MCitkZXJpdmUvVnV2Tm4KK2Rlcm1hbAorZGVybWF0aXRpZGVzCitkZXJyaW5nZXIvU00KK2RlcnZpc2gvU00KK2Rlc2NlbmRlci9TTQorZGVzY3JpYmFibGUvSQorZGVzZW5zaXRpc2UvbgorZGVzZW5zaXRpemUvbk4KK2Tpc2hhYmlsbOkncworZGVzaWNjYXRpb24vTQorZGVzaXJhYmlsaXRpZXMKK2Rlc2lyYWJsZXMvVQorZGVzay9NUworZGVzcG9pbC9MCitkZXNwb25kZW50L1kKK2Rlc3BvdGlzbS9NUworZCdFc3RhaW5nCitkZXN0aW5lL25LTkQKK2Rlc3RpdHV0aW9uL1NNCitkZXRlY3Rpb24vTVMKK2TpdGVudGUvUworZGV0ZXJtaW5hYmlsaXR5L00KK2RldGVybWluYXRpb24vSU1LCitkZXRlcm1pbmF0aXZlL1AKK2RldGVybWluZS91RFJCdkdWaGlTCitkZXRlcm1pbmlzdGljL1kKK2RldGVycmVudC9ZU00KK0RFVFIvTQorZGV2b3V0bmVzcy9TCitkZXdiZXJyeS9TTQorZGV4dGVyb3VzbmVzcy9TCitkaWFiYXNlL00KK2RpYWxvZ3VlL1MKK2RpYWx5c2lzL00KK2RpYW1ldGVyL1NNdzFXCitEaWFuYQorZGlhcnJob2VhbAorZGlhc3Rhc2UvTVMKK2RpYXRvbS9NUworZGljZXMvSQorZGljaG90b21vdXNuZXNzCitkaWNpbmcvTQorZGljay9ER01TCitkaWNreSdzCitkaWN0YXRpb24vTQorZGljdGlvbi9LU00KK2RpZG4ndAorZGlkc3QKK2RpZS9TREcKK2RpZ2VzdGl2ZS9ZUworZGlsYXRhdGlvbi9TTQorZGlsYXRlL2hpVkduRFNOeQorZGlsdXRlZC9VCitkaW1pbmlzaC9TREc3CitkaW1pdHkvTVMKK2RpbW9ycGhpc20vTQorZGltb3JwaG91cworZGltcGxlL1lNR0RTCitkaW4vckRSU01kRworZGlwbG9tYS9TRE0xVworZGlwbG9tYXRpY3MvTQorZGlwcHkvVAorZGlyZS9QVGo2WQorZGlyZWN0aW9uLWZpbmRlcgorZGlyZWN0b3JpYWwKK2RpcmVjdHJpY2VzCitkaXJlY3RzL2FBCitkaXNhc3Ryb3VzL1kKK2Rpc2NvbWZpdHVyZS9TTQorZGlzY29tbW9kZS9HRAorZGlzY29yZGFudC9ZCitkaXNjb3VudC9SQgorZGlzY291cmFnZXIKK2Rpc2NvdXJzZS9HCitkaXNjb3Zlci9BZFpTCitkaXNjb3ZlcnkvTVNBCitkaXNjcmVwYW50L1kKK2Rpc2VtYmFyay9ObgorZGlzZnJhbmNoaXNlL0wKK2Rpc2dvcmdlCitkaXNpbmdlbnVvdXMKK2Rpc2xvZGdlL0wKK2Rpc3Bhc3Npb25hdGUvUAorZGlzcGxheS9BREdTCitkaXNwbGVhc2UvaAorZGlzcHJvcG9ydGlvbmF0ZS9ERworRGlzcmFlbGkvTQorZGlzc2VtaW5hdGlvbi9NCitkaXN0aW5jdGlvbi9NUworZGlzdGluY3RpdmVuZXNzL1MKK2Rpc3RpbmN0bmVzcy9JUworZGl1cm5hbC9TWQorZGl2ZXJzZW5lc3MvUworZGl2aXNpYmxlL0kKK2Rpdm9yY2UvR1NNRAorZGl2b3JjZWUvUworZG9jdG9yYXRlL1NNCitkb2RnZS9aUlNERworZG9nZ28KK2RvZ2d5L01TVAorZG9nbGVnL1NHRE0KK2RvZy10YWlsCitkb2gvTQorRG9sYnkvTQorZG9sZS9GU0dECitkb2xvdXIvTVMKK2RvbHBoaW4vTVMKK2RvbHRpc2gvUFkKK2RvbWVzdGljYXRlZC9VCitkb21lc3RpY2F0aW9uL00KK2RvbWluYW50cworRG9taW5pY2svTQorZG9taW5vZXMKK0RvbmFodWUKK2RvbmF0aXZlL00KK2Rvbm9yL1NNCitkb3BhbnQvTQorZG9waWVyCitEb3JvdGh5Citkb3JzYWwvWQorZG9zaW1ldHJ5L00KK2Rvc3NpZXIvTVMKK2RvdGFnZS9NUworZG91YmxlZC9BCitkb3VibGUtcGFya2VkCitkb3VidGZ1bG5lc3MvUworZG91Y2hlL0dNU0QKK0RvdWdsYXNzCitEb3ZlcgorZG93bnBpcGUvUworZG93bnNjYWxlL0RTRworZG93bnNpZGUvUworZG93bnN0cmVhbQorZG93bnN3aW5nJ3MKK2Rvd250cm9kZGVuCitkb3llbi9TTQorZHJhZnRlZC9BCitkcmFmdGVyL1NNCitkcmFtYS9zOVE4cS1TTQorZHJhd2luZy1yb29tCitkcmVhZGxvY2tzCitkcmVhbXkvVFAKK2RyZWFyeS9UUAorZHJlbmNoL0dEUworZHJlbmNoZXIvTQorRHJlc2RlbgorZHJlc3MvWjJSU0RHSgorZHJpZnQvRFJHa1MKK2RyaXZlbC9SREdTCitkcml2ZXMvYworZHJvbGxlci9aCitkcm9sbG5lc3MvUworZHJvb3B5L1RQCitkcm9wLWtpY2svUworZHJvdWdodC9TTQorZHJ1Yi9SREpHUworZHJ1YmJpbmcvTQorZHJ1bWxpbi9NUworZHJ5c3RvbmUKK2R1YWwtcHVycG9zZQorZHViL2NER1MKK2R1YmJpbi9TTQorZHVjYWwKK2R1Y2hlc3MvU00KK2R1Y2tiaWxsL1NNCitEdWRsZXkvTQorZHVlbGxpc3QvU00KK2R1bGNpZnkKK2R1bXB5L1RTUAorRHVuaGFtCitEdW5uL00KK0R1bm5lCitkdXBsaWNhdGUvR0FuTkRTCitkdXBsaWNpdHkvU00KK0R1cmJhbi9NCitkdXJpbmcKK2R1c2tpbmVzcy9TCitkdXN0LXVwCitkdXRpZnVsbmVzcy9TCitEVkQvU00KK0R2b3JhaworZHdhcnZlcworRHkKK2R5c3Byb3NpdW0vTQorZWEKK2VhcmxvYmUvUworZWFycGllY2UvUworZWFydGhlbgorZWFydGhsaW5lc3MvVQorZWFydGhsaW5nL1NNCitlYXJ0aG1lbgorZWFydGhtb3ZpbmcKK2Vhc2VtZW50L1NNCitlYXN0L0dNCitFYXN0bWFuCitFYXN0d2FyZC9TCitlYXN5Z29pbmcvUAorZWF0ZW4vVWMKK2VhdGVycworZWNoaW5vZGVybS9NUworZWNob2xvY2F0aW9uL1NNCitlY29ub215L3FROHMzOXdXUy1NMQorRWRhbQorZWRnZXdpc2UKK2VkZ2luZXNzL1MKK2VkaWJpbGl0eS9TTQorZWRpdGVkL1VGCitFZG1vbnRvbi9NCitlZHVjYWJpbGl0eS9TTQorZWR1Y2F0ZWRseQorZWR1Y2F0aW9uYWwvMworRWR3aW4KK0Vkd2luYQorZSdlbgorZWZmZWN0b3IvU00KK2VmZmVjdHVhdGlvbi9NCitlZmZsb3Jlc2NlbnQKK2VmZmx1dml1bS9NCitlZmZvcnRsZXNzL1lQCitlZmZ1c2l2ZW5lc3MvUworZWdnaGVhZC9NaURTCitlZ2dzaGVsbC9NUworZWdsYW50aW5lL01TCitlZ28vU00KK0VpY2htYW5uCitFaWZmZWwKK2VpZ2VuZnVuY3Rpb24vTVMKK2VpZ2h0eS1uaW5lL0gKK0VpbnN0ZWluaWFuCitlaXRoZXIKK0VsCitlbGRlc3QKK0VsZG9uL00KK2VsZWN0aXZlL1NQWQorZWxlY3Ryb3Bob3Jlc2lzL00KK2VsZWN0cm9waG9ydXMvTQorZWxlY3Ryb3RoZXJhcGlzdC9TTQorZWxlY3Ryb3R5cGVycworZWxpZ2libHkvSQorRWxpamFoCitFbGxpbmd0b24KK0VsbGlvdHQKK2VsbGlwdGljL1kKK0VsbGlzCitlbG0vU00KK2Vsb25nYXRpb24vTQorZWxvcGVyL00KK0Vsc2llCitlbWJhcnJhc3Mva0xEaFNHCitlbWJhdHRsZS9TR0QKK2VtYmVkZGluZy9NCitlbWJvZGltZW50L01TCitlbWJvbGlzbS9TTQorZW1icm9pZGVyeS9TTQorZW1pdHRhbmNlL00KK0VtbWEKK2VtcGF0aGljCitlbXBoYXNpc2UvQ1IKK2VtcGhhc2lzJ3MvQ2MKK2VtcGxveWFiaWxpdHkvTQorZW1wdC96VlpHU0R2MgorZW1weXJlYW4vU00KK2VuYW1lbHdhcmUvTVMKK2VuY2VwaGFsaXRpYworZW5jZXBoYWxvZ3JhcGhpYworZW5jaGFudC9FR0xTRAorZW5jcnVzdGF0aW9uL00KK2VuY3ljbG9wYWVkaWMKK2VuZGVhdm91ci9SR01EUworZW5kaXZlL1NNCitlbmRvZ2Vub3VzL1kKK2VuZG9zY29weS9TTQorZW5kb3RoZXJtaWMKK2VuZXJnaXplZC9VCitlbmdhZ2VtZW50L1NNCitlbmdpbmUvU01ECitFbmdsaXNoL201TQorZW5oYXJtb25pYworZW5saXN0ZWUvU00KK2VubWVzaC9MRFNHCitlbm5vYmxlL0xEU0cKK2Vuc2NvbmNlL0RTRworZW5zdWUvU0RHCitlbnRhaWwvRFJMU0cKK2VudGlyZS9ZCitlbnRyYW50cworZW50cullL1MKK2VudHJlbWV0cworZW50cnl3YXkvU00KK2VudW1lcmFibGUKK2VudW1lcmF0b3IvU00KK2VudnkvTVJTN2xEa0cKK2VvaGlwcHVzL00KK2VwaWN5Y2xlL1d3MU1TCitlcGlncmFtbWF0aWMKK2VwaWxlcHRpYy9TCitlcGlsb2d1ZS9NR0RTCitlcGlzY29wYWxpYW4KK2VwaXRheGlhbAorZXBveHkvRFNHCitlcXVhbC9zOVEtREdZcVM4CitlcXVhbGlzZS9KCitlcXVhbGlzaW5nL1UKK2VxdWF0YWJsZQorZXF1aWxhdGVyYWwvUworZXF1aXBvdGVudGlhbAorZXF1aXZvY2FsbmVzcy9NUworZXJiaXVtL00KK2VyZy9TTQorZXJnb25vbWljL1UKK2VyZ290L01TCitFUk0KK2Vyb2dlbm91cworZXJyb25lb3VzL1BZCitFcnNlCitlcnVkaXRpb24vU00KK2VydXB0L0RWR1N2Citlcnl0aHJvY3l0ZS9TTQorZXNjYWxvcGUvTVMKK2VzY2FycG1lbnQvU00KK2VzY2hldy9HRFMKK2VzY3V0Y2hlb24vRFNNCitlc3BsYW5hZGUvTVMKK0VzcG9vCitlc3ByZXNzby9TTQorZXNzZW50aWFsaXN0Citlc3RhYmxpc2hlci9NCitlc3RpbWF0ZS9jR2ZBU05ECitlc3RpbWF0b3IvU00KK2VzdHVhcmluZQorZXN0dWFyeS9TTQorRXRoZWxyZWQKK2V0aGljaXN0CitFdGhpb3BpYW4vUworZXRobm9ncmFwaGVyL1MKK2V1Y2FseXB0aQorZXVjaHJlL01TR0QKK0V1cmFzaWFuCitFdXJpcGlkZXMKK0V1cm8KK0V1cnlkaWNlL00KK2V2YWx1YWJsZQorZXZhbHVhdGVkL0FVCitldmFuZXNjZW5jZS9TTQorZXZhbmdlbGljYWxpc20vTVMKK2V2YXBvcmF0aW9uL00KK2V2YXNpdmVuZXNzL1MKK2V2ZW50dWFsL1kKK0V2ZXJnbGFkZXMKK2V2ZXJ5b25lL00KK2V2aWRlbmNlL0RNR1MKK2V2aWRlbnQvWQorZXZpbC9ZU1BUCitldmlzY2VyYXRlL0dEU05uCitld2UvUlNNCitleGFnZ2VyYXRlL1NudmhpR05WRAorZXhjYXZhdG9yL01TCitleGNlZWQvU0RHaworZXhjZXB0aW9uYWxuZXNzL00KK2V4Y2VycHRlci9NCitleGNoYW5nZS9SR0RTCitleGNpc2UvR0RTTU5CWAorZXhjbGFpbS95UlNERworZXhjbHVkZS9ORFNHdVhWdgorZXhjbHVzaXZlL1NQCitleGNyZXRlci9NCitleGVjcmF0ZS9TR1ZuTkQKK2V4ZWdlc2lzL00KK2V4ZWdldGUvTXdXCitleGhhdXN0aXZlbmVzcy9TCitleGhvcnQvTm5TREcKK2V4aHVtYXRpb24vTQorZXhpc3QvRkdTRAorZXhpc3RlbnRpYWwvWTMKK2V4aXN0ZW50aWFsaXNtL01TCitleG9yY2lzZS9HRFMKK2V4cGFuc2UvU0RNR2IKK2V4cGFuc2lvbmlzdAorZXhwZWN0YXRpb24vTW8KK2V4cGVyaWVuY2luZworZXhwZXJ0J3MKK2V4cGlyYXRpb24vTQorZXhwaXJlL3luRFNaR04KK2V4cGxhaW5lZC9VCitleHBsb2RlL1NEUkd1WFZ2TgorZXhwby9NUworZXhwb3J0YXRpb24vTQorZXhwb3NlL2ZEU2NHCitleHBvc2l0b3IvU00KK2V4cG9zdXJlL2NTTWYKK2V4cHJlc3NpYmx5L0kKK2V4cHJvcHJpYXRpb24vTQorZXh0YW50CitleHRlbmRpYmxlL1MKK2V4dHJhY3Rpb24vU00KK2V4dHJhY3VycmljdWxhci9TCitleHRyYWxpbmd1aXN0aWMKK2V4dHJlbWlzCitleHRyaWNhdGlvbi9NCitleHRyb3ZlcnQvRE1TRworZXh1ZGUvU25ERworZXh1bHRhbnQvWQorZXllYmFsbC9TTQorZXllLXRvb3RoL00KK0V5cmUKK2ZhYmxlci9NCitmYWJyaWMvU05uTQorZmFicmljYXRlL0RTS05uRworZmFjZXRpb3VzL1lQCitmYWNlLXRvLWZhY2UKK2ZhY3QvU015eFkKK2ZhY3Rpb24vTVMKK2ZhY3RpdGlvdXMKK2ZhZGRpc2gKK2ZhZWNhbAorZmFpbgorZmFpcmUKK2ZhaXJ3YXkvTVMKK2ZhaXRobGVzcy9QWQorZmFpdGhsZXNzbmVzcy9TCitmYWppdGFzCitmYWxhZmVsCitGYWxraXJrL00KK2ZhbGxhY3kvU00KK2ZhbGxvdXQvTVMKK2ZhbGxzL2UKK2ZhbHNlaG9vZC9TTQorZmFsdGVyaW5nL1VZCitmYW1pc2gvREdTCitmYW4vRFNNR1oKK2ZhbmF0aWNpc20vTVMKK2ZhbmN5L1JUalBZRFM2RworZmFudGFpbC9TTQorZmFyZS9TTQorZmFybWluZy9NCitmYXJteWFyZC9TTQorRmFybmJvcm91Z2gKK2Zhci1zaWdodGVkbmVzcy9TCitmYXNjaWN1bGF0ZS9Ebk4KK0Zhc2hhbnUKK2Zhc2hpb25hYmxlL1BTCitGYXNvL00KK2Zhc3RuZXNzL1MKK2ZhdGhlcmhvb2QvU00KK2ZhdG5lc3MvUworZmF1bHQtZmluZGVyL1NNCitGYXdrZXMKK0ZDQworZmVhci82TXBHRGpTCitmZWFybGVzc25lc3MvUworZmVhc2liaWxpdGllcworZmVhc2liaWxpdHkncworZmVhdGhlci1saWdodAorZmVjdW5kYXRlL1NERworZmVkZXJhdGlvbi9NRgorZmVldC9NCitmZWludC9TRE1HCitmZWxsb3dzaGlwL1NNCitmZW1tZSBmYXRhbGUKK2ZlbW1lcyBmYXRhbGVzCitmZW1vcmFsCitGZW53aWNrCitGZXJndXMKK0Zlcm1hdC9NCitGZXJtaQorZmVyb2Npb3VzL1lQCitmZXJyb21hZ25ldC9NVworZmVydWxlL1NER00KK2ZlcnZpZC9QWQorZmVzdG9vbi9TTUdECitmZXRjaC9EUmtTRworZmV0aXNoaXN0L1cKK2ZldHRlci9VU2QKK2ZldHRsZS9TREcKK2ZldWRhbAorZmV5L1QKK2ZmCitmaWJyaWwvTW5TTgorZmljdXMKK2ZpZWxkL1NlUklNCitmaWVyaW5lc3MvUworZmlmdHktc2V2ZW4vSAorZmlmdHktc2l4L0gKK2ZpZ2h0L1JTSkcKK2ZpZ3VyZS9FRzRLU0ZECitmaWd1cmUncworZmlsYmVydC9NUworZmlsZXIvQ1NNCitmaWxpYnVzdGVyL2RyU00KK2ZpbGx5L01TCitmaWx0aHkvR1REUAorZmluYW5jaWFsL1lTCitmaW5lLWdyYWluZWQKK2ZpbmVzcHVuCitmaW5lc3NlL01TCitGaW5sYW5kL00KK2Zpci9yZFMKK2ZpcmUtYm9tYi9ETUdTCitmaXJlLWNvbnRyb2wKK2ZpcmVjcmFja2VyL01TCitmaXJlbGlnaHQvTQorZmlyZS1saWdodGVyL1MKK2ZpcmVtYW4vTQorZmlya2luL00KK2ZpcnN0LWFpZAorZmlyc3QtbmFtZQorZmlyc3Qtc3RyaWtlCitGaXNjaGVyCitmaXNoL0RSWkdNMnp5UworRmlzaGtpbGwKK0Zpc2ljaGVsbGEKK2Zpc3R1bGEvTVMKK2ZpdmUvU0hNCitmaXhhdGlvbi9NCitmaXp6ZXIvTQorZml6emxlL0dEUworZmxhYmJpbmVzcy9TCitmbGFnZ2luZydzCitmbGFnb24vU00KK2ZsYWtlL1oyTVMKK2ZsYW1lZC9JCitmbGFtZS1wcm9vZi9HRAorZmxhbWVyL0lNCitmbGFuL01TCitGbGFuYWdhbgorZmxhbmdlL0RNR1MKK2ZsYW5uZWwvREdNUworZmxhcmUvREdrUworZmxhc2hpbmVzcy9TCitmbGFzaGluZy9NCitmbGFzaHBvaW50L1MKK2ZsYXRmZWV0CitmbGF0LWZvb3RlZG5lc3MKK2ZsYXRsYW5kZXIKK2ZsYXZvdXIvUk02REdKU3AKK2ZsYXcvREdNcFMKK2ZsZWRnZWxpbmcKK0ZsZXRjaAorZmxld3MvTQorZmxpZXIvU00KK2ZsaXBwYW50L1kKK2Zsb29kZ2F0ZS9NUworZmxvb2RwbGFpbi9TCitmbG9wcGVyL00KK0Zsb3JlbnRpbmUKK0Zsb3JlcworZmxvcmluL1NNCitmbG9zcy9ER01aUworZmxvdGlsbGEvTVMKK2Zsb3dlcnkvUFQKK2Zsb3duL2MKK2ZsdW5rL0RaR1MKK2ZsdW5rZXIKK2ZsdW9yZXNjZS9ER1MKK2ZsdW9yZXNjZXIKK2ZsdW9yaWRhdGlvbi9NCitmbHVvcmluZS9TTQorZmx1eC9ER0FTCitmbHlhd2F5CitGTQorZm9jdXNlci9NCitmb2N1c3Nlcy9DQQorZm9nYm91bmQKK0Zva2tlcgorZm9sL1kKK2ZvbGRzL0FVCitmb2xpYXRpb24vQ00KK2ZvbGtzaW5lc3MvUworZm9say1zaW5nZXIvUworZm9sbAorZm9uZC9UUE1ZCitGb25kYQorZm9vbGhhcmR5L1RQWQorZm9vbGlzaC9UUFkKK2Zvb2xwcm9vZgorZm9vbHNjYXAvTVMKK2Zvb3RhZ2UvU00KK2Zvb3RwbGF0ZS9NCitmb3JjZS9EaDZqR2JNUworZm9yY2VmdWxuZXNzL1MKK2ZvcmNlcHMvTQorZm9yZWJvZGUvRFNHSmsKK2ZvcmVkZWNrCitmb3JlaGFuZC9TCitmb3JlbmFtZS9EU00KK2ZvcmVvcmRhaW4vR0RTCitmb3JlcGVyc29uL1MKK2ZvcmVzaWdodGVkL1AKK2ZvcmVzdGVyL0NNUworZm9yZXRvbGQKK2ZvcmdldGZ1bG5lc3MvUworZm9ybWFsaXNtL01TCitmb3JtYW50L01JUworZm9ybmljYXRvci9TTQorRm9ydC1kZS1GcmFuY2UvTQorZm9ydHJlc3MvRE1HUworZm9ydHVuZS9TYU0KK2ZvcnR1bmVkCitmb3J0dW5lLXRlbGxpbmcvU00KK2ZvcnR5LWVpZ2h0L0gKK2ZvcnR5LWZpdmUvSAorZm9ydHktZm91ci9ICitmb3J0eS1zZXZlbi9ICitmb3J0eS10d28KK2ZvdWwvRFRQU0dZCitmb3VuZHJ5L1NNCitmb3VydGgvWQorZm94aW5lc3MvUworZnJhY3Rpb24ncy9JQQorZnJhZ2lsaXR5L01TCitGcmFuY2hpdHRpCitGcmFuY2lzCitGcmFuY28KK0ZyYW5rZm9ydAorZnJhcHDpCitmcmF1ZC9DUworRnJlZHJpY3RvbgorZnJlZS1mYWxsL0cKK2ZyZWVzdG9uZS9TTQorZnJlZXdpbGwKK2ZyZWV6ZS1mcmFtZQorZnJlc2NvL0RHTVMKK0ZyaWNrCitmcmlnaHRlbi9TZGsKK2ZyaWdpZG5lc3MvUworZnJpbGwvR1NNRFkKK2ZyaXBwZXJ5L1NNCitmcml6ei9HWVNEWgorZnJpenp5L1QKK2Zyb250LWxpbmUKK2Zyb250LXBhZ2UKK2Zyb3N0Yml0Citmcm9zdGluZXNzL1MKK2Zyb3N0eS9UUFkKK2ZydWl0aW5lc3MvUworZnJ1aXR5L1BUCitGVFAKK2Z1Y2hzaWEvU00KK2Z1ZWwtY2VsbAorZnVnYWwKK2Z1bGxlci9kU00KK2Z1bGxzdG9wcworZnVsc29tZW5lc3MvUworZnVtaWdhdGUvU0dEbk4KK2Z1bmRlZC9mVQorZnVuZGVyL1NNCitmdW5nYWwvUworZnVubnkvVFNQCitmdXJsb3VnaC9TTQorZnVybmFjZS9NUworZnVycm93L1NETUcKK2Z1cnRoZXN0CitmdXNlL1NJWDROR0ZECitmdXNlJ3MvQQorZnVzaW5nL0NBCitmdXRpbGUvUFkKK0Z1dHVuYS9NCitnYWcvUkRHUworZ2FpbmZ1bC9ZUAorZ2FsYS9TTQorZ2FsZW5hL00KK2dhbG9vdC9TTQorZ2FtZXN0L1IKK2dhbWluZXNzL1MKK2dhbWluZy9NCitnYW5nc3Rlci9TTQorZ2FwL2RrU01ECitnYXJhZ2UvR0RTTQorZ2FyZGUKK2dhcmdveWxlL0RTTQorZ2FyaXNoL1BZCitnYXJuZXQvU00KK0dhcnJpY2sKK2dhc3NlcworZ2FzdHJpdGlzL1NNCitnYXN0cm9pbnRlc3RpbmFsCitnYXRlL1NNREcKK2dhdWR5L1RZUAorZ2F1Z2UvR2FTRAorZ2F1Z2VyL00KK0dhdXNzaWFuCitnYXV6eS9UUAorZ2F2b3R0ZS9TTURHCitnYXdrL0QyTXpaU0cKK2dhd2t5L1BUCitnYXkvVFBTCitnYXluZXNzL1MKK0dicHMKK2dlbGRpbmcvTQorZ2VuZXJhbGlzYWJsZS9ZCitnZW5lcmF0aW9uYWwvWQorZ2VuZXNpcworZ2VuZXRpYy8zU1kKK2dlbmV0aWNzL00KK2dlbnRsZWZvbGsKK2dlbnRsZW1hbi9ZCitnZW50bGVtYW5saW5lc3MvTQorZ2VvY2VudHJpY2lzbQorZ2VvZGVzeS9NUworZ2VvbG9neS93M1dNMVMKK2dlb3RoZXJtYWwKK2dlcm1hbmUKK0dlcnJ5L00KK2dlcnVuZGl2ZS9NCitHZXN0YXBvCitnZXQtcmljaC1xdWljaworZ2hvc3RseS9QVAorZ2liYmVyaXNoL01TCitnaWJib24vTVMKK2dpZ2FudGljL1BZCitnaWdhdm9sdAorR2lnZ3MKK0dpbGdhbWVzaAorR2lsbGVzcGllCitHaWxsZXR0ZQorR2lsbW9yZS9NCitnaW1iYWxzCitnaW1jcmFja2VyeS9TTQorZ2ltcHkvVAorZ2luZ2hhbS9NUworZ2luZ2l2aXRpcy9NUworZ2luc2VuZy9NUworZ2lwc3kvUworZ2lydAorZ2l0L00KK2dpdmUtYXdheS9NUworZ2xhZC9EWlBHVFkKK2dsYWRkZW4vZFMKK2dsYWRlL01TCitnbGFkaWF0b3JpYWwKK2dsYWRpb2xpCitnbGF6ZS9SU0pERworZ2xpYm5lc3MvUworZ2xpc3NhbmRvL00KK2dsb2F0L0drU0QKK2dsb2IvU00KK2dsb2NrZW5zcGllbC9TTQorZ2xvb20vTUQyR1pTegorZ2xvcnkvTVNHRAorZ2x1Y29zZS9NUworZ2x1ZS9TUk1ER1oKK2dsdXRhbWF0ZS9NCitnbHV0ZWFsCitnbmF3ZXIvTQorZ25vbW9uaWMKK2dub3N0aWNpc20KK2dvYXRza2luL1NNCitnb2JsZXQvU00KK0dvZAorZ29kbGllci9VCitnb2luZy9TTQorZ29sZGVuL1BZCitHb2xkc3RlaW4vTQorR29tb3JyYWgKK2dvbm9ycmhvZWFsCitHb29kcmljaAorZ29vZnkvVFAKK0dvcmRpYW4KK2dvcmUvU01ER1oKK2dvcmdlZC9FCitnb3JtYW5kaXNlL0dTUkQKK2dvcm1hbmRpemUvR1NSRAorZ29zc2lweQorR291bm9kCitnb3V0L1pTTQorZ3JhY2VsZXNzbmVzcy9TCitncmFjaW91cy9VWQorZ3JhZGF0aW9uL0NNCitncmFkZSdzCitncmFpbC9TCitncmFtbWFyL1NNCitncmFtbWF0aWNhbGx5L1UKK0dyYW5hZGEKK2dyYW5kY2hpbGRyZW4KK2dyYW5kbmVwaGV3L1NNCitncmFuZHNvbi9TTQorZ3JhbmRzdGFuZC9TREdNCitncmFwZS9NUworZ3JhcGhvbG9neS8zTVMKK2dyYXRlZnVsL1RQCitncmF0ZXMvSQorZ3JhdGlmeS9TR2tObkQKK2dyYXZlbgorR3JhdmVzZW5kCitncmVhc3kvUFRZCitncmVhdC1ncmFuZGNoaWxkcmVuCitncmVhdC1uZXBoZXcKK2dyZWF0LW5pZWNlCitHcmVlay9TTQorR3JlZW5zYm9ybworR3JlZW52aWxsZQorR3JldGVsL00KK2dyZXlob3VuZC9TTQorZ3JpZXZvdXNuZXNzL1MKK0dyaWZmaXRoCitncmltZS9aTQorZ3JpdC8yR1NEUk1aCitncm9nZ2luZXNzL1MKK2dyb3VuZC9tUk1HSkRwUworZ3JvdW5kZWQvVQorZ3JvdW5kc3dlbGwvUworZ3Jvdy83UmtHUworZ3Jvd2luZy9JZWMKK0dy/G5ld2FsZC9NCitncnlwaG9uJ3MKK0d1YWRhbGNhbmFsCitndWFyZGhvdXNlL01TCitndWFyZGlhbi9TTQorR3VhdGFtYWxhCitndWVyaWxsYS9TTQorZ3Vlc3Nlcy9lCitndWlkZWQvVQorZ3VpbGxlbW90L01TCitndWluZWEvTVMKK0d1bGxpdmVyL00KK2d1bm1ldGFsL00KK2d1bnJ1bm5pbmcvTVMKK0d1c3Rhdi9NCitndXN0aW5nL0UKK2d1dGxlc3NuZXNzL1MKK2d5bWtoYW5hL1NNCitneW1uYXNpdW0vU00KK2d5bW5hc3QvTTFTVworZ3lyYXRpb24vTQorZ3lyYXRvci9TTQoraGFiaXQvN25kZ1NNCitoYWNrc2F3L0dTTUQKK2hhY2t3b3JrL1MKK2hhZGRvY2svU00KK2hhZW1vcnJoYWdlL1NHRFdNCitoYWlsL1JNRFNHCitIYWl0aS9NCitIYWl0aWFuL1NNCitIYWxleS9NCitoYWxmLWxpZmUKK2hhbGZwZW5ueS9TTQorSGFsdG9uCitoYW1wZXJlZC9VCitoYW1zdGVyL01TCitoYW5kY3VmZnMvTQoraGFuZGVkL2ZVCitoYW5kbGVzL2EKK2hhbmRtYWlkZW4vU00KK2hhbmQtbWUtZG93bi9TCitoYW5kd3JpdHRlbgoraGFua3kvTVMKK0hhbm9pL00KK2hhcmEta2lyaQoraGFyYXNzL1JMRFNHCitoYXJkLWJvaWxlZAoraGFyZC1oaXR0aW5nCitoYXJkaWhvb2QvU00KK0hhcmRpbmcKK2hhcmRpc2gKK0hhcmxleS9NCitoYXJtb25pemUvUkRHbk5TCitoYXJwc2ljaG9yZGlzdAoraGFycHkvTVMKK0hhcnJpZXQKK2hhc2gvQURHUworaGF0Y2hlcnkvU00KK2hhdWxhZ2UvU00KK2hhdWxlcnMKK2hhdW5jaC9ER1NNCitoYXZlL1NHCitIYXdhaWkvTQoraGF3cy9SCitIYXllcworaGF5bW93L1NNCitoYXlzZWVkL01TCitoYXl3YWluCitoYXphcmRvdXMvWVAKK0hhemxpdHQKK2hhenkvUFlUCitoZWFkYWNoZS9TTQoraGVhZGxvY2svTVMKK2hlYWRtaXN0cmVzcy9TTQoraGVhcC9NRFNHCitoZWFyc2UvQQoraGVhcnRidXJuaW5nL00KK2hlYXJ0c2ljay9QCitoZWF0aGxhbmQKK0hlYXRocm93L00KK2hlYXRzdHJva2UvTVMKK2hlYXZlbmx5L1BUCitoZWF2eWhlYXJ0ZWQKK2hlYmV0dWRlCitIZWJyYWljCitoZWN0b3IvZFMKK2hlZGdlaG9nL1NNCitoZWVoYXcvREdTCitoZWlnaHRlbi9TZAorSGVpbnJpY2gvTQorSGVpc2VuYmVyZworSGVsaW9zCitoZWxpb3Ryb3BlL01TCitoZWxsaXNoL1lQCitoZWxsby9NR1MKK2hlbHZlL01TCitIZW5kcmlja3MKK2hlbmdlL00KK2hlcmIvTVMKK2hlcmVhZnRlci9TCitoZXJlZGl0eS9TTQorSGVyZWZvcmRzaGlyZS9NCitoZXJldW50bworSGVybWFubi9NCitoZXJvaW4vTVMKK2hlcnBlcy9NCitIZXJyaWNrCitoZXJzZWxmCitoZXNpdGF0ZS9uTkRrU0cKK2hlc2l0YXRpbmcvVVkKK2hldGVyb2dlbmVpdHkvU00KK2hldGVyb3N0cnVjdHVyZQoraGV0ZXJvenlnb3VzCitoZXhhZGVjaW1hbC9TWQorSGkKK2hpYmVybmF0aW9uL00KK0hpY2ttYW4vTQoraGlkL3IKK2hpZGUtYW5kLXNlZWsKK0hpLUZpL1MKK2hpZ2gtZmxpZXIvUworSGlnaGdhdGUKK2hpZ2gtcHJlc3N1cmUKK2hpbGFyaXR5L1NNCitoaWxsb2NrL1NNCitoaWxsc2lkZS9NUworaGltCitoaW1zZWxmCitoaW50ZXJsYW5kL01TCitoaXN0b2NoZW1pY2FsCitoaXN0b3Jpb2dyYXBoeS93U00KK2hpdHRpbmcvYQoraG9hci9NWjIKK2hvYXJmcm9zdC9TTQorSG9iYXJ0L00KK2hvYmJ5LWhvcnNlL1NNCitob2cvR1NETQoraG9nZ2lzaC9ZCitob2dzaGVhZC9NUworaG9rZXktY29rZXkKK2hvbGRpbmcvTQoraG9sZG91dC9TTQorSG9sbGFuZGVyL1MKK0hvbHptYW4KK2hvbWFnZS9TTQoraG9tYnVyZy9NUworaG9taWVyCitob21vL1NNCitob21vZW9wYXRoL1dTWgoraG9tb2dlbmVvdXMvWQoraG9tb2xvZ3VlL00KK2hvbW9ueW0vTVMKK2hvbW9waG9uZS9NU1oKK2hvbmV5bW9vbi9SREdNUworaG9uZXlzdWNrbGUvTVMKK0hvbmV5d2VsbAorSG9uZy9NCitob25rL1JTTURHCitob25vcmFyaXVtL01TCitob29kbHVtL1NNCitob29saWdhbmlzbS9TTQoraG9vcC9HTURTCitob3AvUmREU0dNCitob3BlZnVsbmVzcy9TCitob3Blci9NCitob3JuYmVhbS9NCitob3JzZWRvbQoraG9yc2V0YWlsL1NNCitob3RjYWtlL1MKK2hvdXNlYnJva2UKK2hvdXNlY29hdC9TTQoraG91c2VkL0EKK2hvdXNlLXBsYW50L1MKK2hvdXNld2lmZS9NWQoraG91c2luZy9BCitob3ZlbC9TTQoraG92ZXJlci9NCitob3dzb2V2ZXIKK2hveS9NCitoci4KK0h1YW5nCitIdWJiYXJkL00KK0h1YmJsZS9NCitodWJjYXBzCitodWRkbGVyL00KK2h1bWFuZXIKK2h1bWFuaXRhcmlhbmlzbS9TTQoraHVtYW5vaWQvUworaHVtYmxlL1BUR1NEWQorSHVtZQoraHVtb3VybGVzcy9QWQoraHVtcGgvUworSHVtcGhyZXkvTQorSHVudHN2aWxsZQoraHVycmllZC9VWQorSHVzc2Vpbi9NCitodXRjaC9HU0RNCitIdXlnZW5zCitoeWRyYXppbmUvTQoraHlkcm9jZXBoYWx1cy9NUworaHlkcm9jaGVtaXN0cnkKK2h5ZHJvZHluYW1pYy9TCitoeWRyb3Bob2JpYS9TTQoraHlkcm94aWRlL1NNCitoeWRyb3h5bC9OU00KK2h5Z2llbmUvTTEzV1MKK2h5Z2llbmljcy9NCitoeXBlL0RTTUcKK2h5cGVydGVuc2l2ZS9TCitoeXBub3RoZXJhcHkvTVMKK2h5cG5vdGlzbS9NUworaHlwbm90aXplL0RTRworaHlwb2NlbGx1bGFyaXR5CitoeXBvY3JpdGUvMXdNUworaHlwb2dseWNhZW1pYS9TTQoraHlwb3RoYWxhbXVzL01XCitoeXBvdGh5cm9pZGlzbS9TTQoraHlyYXgKK2h5c3NvcC9TTQoraHlzdGVyZXNpcy9NCitJQQoraWFtYnVzL1NNCitpYmlkCitJQk0vTQorSWJzZW4KK2ljZWJlcmcvU00KK2ljZWJyZWFrZXIvU00KK2ljZXBpY2svUworaWNlLXNrYXRlL0cKK2lja3kvVAoraWRsZS9EUlRQU0cKK2lkb2xhdGVyL1NNCitpZ25pdGlvbi9NUworaWdub2JsZS9ZUAoraWdub21pbmlvdXMvWQoraWxsL1lQCitpbGwtaW5mb3JtZWQKK2lsbG5lc3MvUworaWxsdW1pbmF0ZS9EU0drCitpbWFtL01TCitpbWJyb2dsaW8vTVMKK2ltYnVlL1NHRAoraW1wYXNzaW9uL0RHCitpbXBhc3Npdml0eS9NCitpbXBhdGllbnMvTQoraW1wZWNjYWJsZS9ZCitpbXBlZGFuY2UvTVMKK2ltcGVyaWFsaXN0L1cxCitpbXBlcnNvbmF0ZS9TR0RObgoraW1wZXJzb25hdG9yL01TCitpbXBsYW50ZXIKK2ltcGxlbWVudGFibGUvVQoraW1wb3J0YW50L1kKK2ltcHJhY3RpY2FibGUvUAoraW1wcmVzcy9YVkxiTnZ1CitpbXByZXNzaWJpbGl0eS9TTQoraW1wcm92ZS9xUTlMczgKK2ltcHVkZW5jZS9NUworaW1wdWxzZS9WdXYKK2ltcHV0ZS9HRE5uUworaW5hY2N1cmF0ZQoraW5hY3RpdmUKK2luYWxpZW5hYmlsaXR5L1NNCitpbmFsaWVuYWJsZS9ZCitpbmFuaW1hdGUKK2luYXVzcGljaW91c25lc3MKK2luYnVpbHQKK2luY2Vzc2FudC9ZCitJbmNob24KK2luY2h3b3JtL01TCitpbmNpZGVudHMKK2luY2xpbmluZy9NCitpbmNvcnBvcmFibGUKK2luY29ycmlnaWJsZS9QU1kKK2luY3JlbWVudGFsCitpbmN1bGNhdGUvU0RHbk4KK2luZGVudHVyZS9ERworaW5kZXBlbmRlbnQvUworaW5kZXNjcmliYWJsZS9ZUFMKK2luZGV0ZXJtaW5pc20KK2luZGV0ZXJtaW5pc3RpYworaW5kaWNhbnQvU00KK2luZGlzcGVuc2FibGUvUFNZCitpbmRpdmlkdWFsaXplL2sKK2luZGl2aWR1YXRpb24vTQoraW5kb2xlbnQvWQorSW5kb25lc2lhbi9TCitpbmRvb3IKK2luZWRpYmxlCitpbmVsYXN0aWMvWQoraW5lbHVjdGFibGUvWQoraW5lcnRpYWwKK2luZXN0aW1hYmxlL1kKK2luZmFyY3QvU00KK2luZmVydGlsZQoraW5mZXN0YXRpb24vTQoraW5maXJtCitpbmZsYXRpb24vRU15UworaW5mbGVjdGlvbi9TTQoraW5mbG93L0dNCitpbmZvcm1hdGlvbmFsL1kKK2luZm90YWlubWVudC9NUworaW5mdXJpYXRpb24vTQoraW5mdXNlL1JiCitpbmdlbnVvdXMvWVAKK2luZ2VudW91c25lc3MvUworaW5nZXN0aW9uL1NNCitpbmdyYXRpYXRpb24vTQoraW5oYWJpdGVkL1UKK2luaGliaXRpb24vTQoraW5odW1hbgoraW5qZWN0L1NHN0RWCitpbmp1cmlvdXMvUFkKK2lua3dlbGwvU00KK2lubGFpZAoraW5seS9HCitpbm5lci1jaXR5Citpbm5vY3VvdXNuZXNzL1MKK2lucGF0aWVudC9NUworaW4tcGhhc2UKK2lucXVpc2l0aW9uYWwKK2lucXVpc2l0aXZlbmVzcy9TCitpbnNhdGlhYmlsaXR5L01TCitpbnNjcnV0YWJpbGl0eS9TTQoraW5zZWN0aWNpZGUvTVMKK2luc2VjdGl2b3JlL01TCitpbnNlY3Rpdm9yb3VzCitpbnNlcnRpb24vU01BCitpbnNpbnVhdGlvbi9NCitpbnNpcGlkaXR5L1NNCitpbnNpc3QvRFNHaworaW5zb2x1YmxlL1BTWQoraW5zb3VjaWFuY2UvU00KK2luc291Y2lhbnQvWQoraW5zcGVjdGlvbi9TTQoraW5zcGlyZS94Tm5HaworaW5zcGlyaW5nL1UKK2luc3RhbnRhbmVvdXMvUFkKK2luc3RhbnRpYXRlL1NHRE5uCitpbnN0aWdhdG9yL01TCitpbnN0aWwvU1JObkdECitpbnN0aWxsYXRpb24vTQoraW5zdGl0dXRpb25hbGlzbS9NCitpbnN0cnVjdGVkL1UKK2luc3VsYXRvci9NUworaW50YWN0L1AKK2ludGVncmFuZC9TTQoraW50ZWdyYXRvci9NUworaW50ZWxsZWN0L1NNCitpbnRlbGxlY3R1YWwvUThZUFMKK2ludGVsbGVjdHVhbGlzbS9TTQoraW50ZW5kZWRuZXNzL00KK2ludGVuc2l0eS9NUworaW50ZW50aW9uYWwvVVkKK2ludGVyYWN0L1NWREd2dQoraW50ZXJhY3Rpdml0eQoraW50ZXJjb2hvcnQKK2ludGVyY291cnNlL01TCitpbnRlcmRlcGFydG1lbnRhbC9ZCitpbnRlcmRlcGVuZGVuY3kvTVMKK2ludGVyZGljdGlvbi9TTQoraW50ZXJlc3QvRURoU01HCitpbnRlcmdhbGFjdGljCitpbnRlcmplY3Rpb24vU00KK2ludGVybGFjZS9ER1MKK2ludGVybGluZ3VhbAoraW50ZXJsaW5ndWEncworaW50ZXJsb2N1dG9yL01TCitpbnRlcm1lZGlhdGUvWU5NUEdEUworaW50ZXJtZXp6by9TTQoraW50ZXJtb2xlY3VsYXIvWQoraW50ZXJyZWxhdGUvU25HaWhORAoraW50ZXJyZWxhdGVkL1AKK2ludGVycm9nYXRlL1NHTnl2RFZuCitpbnRlcnJvZ2F0aXZlL1MKK2ludGVycm9nYXRvci9NUworaW50ZXJydXB0aW9uL01TCitpbnRlcnMKK2ludGVyc3BlcnNpb24vTQoraW50ZXJ2YWwvU00KK2ludGVydmVudGlvbi9TTQoraW50ZXJ3b3ZlCitpbnRlc3RhY3kvTVMKK2ludG9sZXJhYmxlL1AKK2ludG94aWNhdGlvbi9NCitpbnRyYW11cmFsL1kKK2ludHJhcmVnaW9uYWwvWQoraW50cmFzdGF0ZQoraW50cmF2ZW5vdXMvU1kKK2ludHJlcGlkL1BZCitpbnZhbGlkL01kUworaW52YXNpb24vTQoraW52ZWlnaC9HU0QKK2ludmVpZ2xlbWVudAoraW52ZW50cy9BCitpbnZlcnNlL1kKK2ludmVzdGlnYXRvci9TTQoraW52ZXN0bWVudC9mCitpbnZldGVyYXRlL1kKK2ludmlkaW91c25lc3MvUworaW52aW5jaWJpbGl0eS9NUworaW52aXRlZS9TCitpbnZvbHZlZC9VCitpbnZvbHZlci9NCitpb2RhdGUKK2lvbmlzZS9DUlNHRAoraW9uaXplL0NSU0dECitpb25zL1UKK2lyYXRlbmVzcy9TCitpcm9uY2xhZC9TCitpcm9ud29vZHMKK2lycmF0aW9uYWwvUworaXJyZWRlZW1hYmxlL1lTCitJU0JOCitJc2xhbS9NCitpc29jaHJvbmFsL1kKK2lzb21vcnBoaXNtL01TCitpc290aGVybS9NU28KK2lzb3Ryb3B5LzFNVworSXNyYWVsaS9TTQorSXN0YW5idWwvTQorSXRhbGlhbmF0ZQorSXRhbHkvTQoraXRlcmF0ZS9uQUdETlNWCitJdG8vTQoraXRzZWxmCitJVFYKK0l2YW5ob2UKK2phZ2dlZG5lc3MvUworamFtL1VERworSmFuZXQvTQorSmFuaWNlCitKYW5vcworSmFzb24vTQoramF1bnQvTXoyR1pTCitqYXVudHkvUFQKK2phd2JyZWFrZXIvU00KK2pheWJpcmQvTVMKK2plZXJlci9NCitKZWZmZXJzb24vTQoramVoYWQncworamVqdW51bS9NCitqZWxseXJvbGwvUworamVya2luL01TCitKZXJ2aXMKK0pldy9NU3kKK2ppbmdsZS9ZR0RTCitqaW5nby9NCitqaW54L1NHTUQKK2ppdWppdHN1J3MKK2pvYi9ScEdTRE0KK2pvYmxlc3NuZXNzL1MKK2pvY2tleS9TREdNCitKb2hhbm4KK0pvaG5uaWUvTQoram9obm55LWNvbWUtbGF0ZWx5Citqb2huJ3MKK2pvaW50cy9FCitqb2xseS9TUFRZREcKK0pvcmRhbmlhbi9TCitKb3NlZgoram9zdGxlL1NHRAoram90L1JKU0RHCitqb3lyaWRkZW4KK0p1ZGFpYworSnVkYWlzbS9NCitKdWRhcworanVpY2UvUlpNREdTCitqdWp1dHN1J3MKK2p1a2Vib3gvTVMKK0p1bGVzCitKdWxpbworSnVseS9NUworanVtcC96UjJaU0RHCitqdXJpZXMvSQoranVzdGljaWFibGUKK0thZ29zaGltYQorS2FtcGYKK2thcGVsbG1laXN0ZXIvTQora2FyYWt1bC9NCitrYXJhdCdzCitLYXJlbgora2FybWEvU00KK0thdGhhcmluZS9NCitLYXRtYWkKK2ticHMKK2tlbHBlcnMKK2tlbHZpbi9TTQorS2VubmVkeQora2VubmVsL0RTR00KK0tlbnQvTQorS2VueW9uL00KK0tld2F1bmVlCitLZXdwaWUKK2tleXBhZC9TTQora2V5cmluZwora2lkZG8vU00KK2tpZG5hcC9EUkdKUworS2lnYWxpL00KK2tpbGxlZC9jCitLaWxtYXJub2NrL00KK2tpbG9ieXRlL1MKK2tpbG92b2x0L1NNCitraW5kbGluZy9NCitraW5lL00KK2tpbmVtYXRpYy9TCitraW5lbWF0aWNzL00KK2tpbmV0aWMvWVMKK2tpbmdmaXNoZXIvTVMKK2tpcHBlci9kCitraXRjaGVuL1NNCitraXRjaGVud2FyZS9TTQora2l0aC9NUworS2xhbgorS2xhdXMKK0tsdXgKK2ttCitrbmFja2VyZWQKK0tuYXBwL00KK2tuZWVsL1JHUwora25lZS1sZW5ndGgKK2tuZWxsL0dNU0QKK2tuaWZlLWVkZ2UKK2tub2IvWk1TCitLbm9zc29zL00KK2tub3QvWk1TMkdECitrbm90dGluZy9NCitLbm94dmlsbGUKK0tudXRoL00KK0tvZW5pZworS29maQora29obHJhYmllcworS29sb25pYS9NCitLb3Jvci9NCitLcmlzdGluL00KK0tydXBwCitLdW9taW50YW5nCitLdXJvc2F3YQorS3lvdG8vTQorS3lyZ3l6c3Rhbi9NCitsYWJlbGxlci9NUworTGFicmFkb3IKK2xhY2UvVVNHRAorbGFjZSdzCitsYWNrYWRhaXNpY2FsL1kKK2xhY3Rvc2UvU00KK2xhZGVuL1VjCitsYWRpbmcvTQorbGFldHJpbGVzCitMYWZheWV0dGUKK2xhaXNzZXotZmFpcmUKK2xhbWEvU00KK2xhbWJlcgorTGFtYmV0aAorbGFtZW50L1NuRGxHN04KK2xhbWVudGF0aW9uL00KK2xhbXBibGFjay9TTQorbGFtcGVyCitsYW1wbGlnaHQvUlNNCitsYW1wcG9zdC9TTQorTEFOCitsYW5kZmFsbC9TTQorbGFuZGxhZHkvU00KK2xhbmRtYXNzL01TCitMYW5nbGV5CitsYW5ndWlzaC9Ta0RHCitsYW5ndW9yb3VzL1kKK2xhbnlhcmQvU00KK2xhcHNlci9BTQorbGFyY2gvTVMKK2xhcmRpbmcKK0xhcmdlCitsYXJpYXQvRFNHTQorbGFya2VyL00KK0xhcnNvbgorbGFzaC11cAorbGFzc2llL1NNCitsYXRjaGVkL1UKK2xhdHRpY2UvR1NETQorTGF1bmNlCitsYXVuY2hwYWQvUworbGF2YS9TTQorTGF2YWwKK2xhd2Z1bC9VWQorTGF3cmVuY2UKK0xhd3RvbgorbGF4YXRpdmUvU01QCitsYXktb2ZmL1NNCitsYXlvdXQvU00KK0xCSgorbGVhL1NNCitsZWFkZXIncy9hCitMZWFoCitMZWFuZGVyL00KK2xlYXJuL1VHU0FECitsZWFybnQKK2xlYXNlL0FSR01TRAorbGVhc2ViYWNrL01TCitsZWFzdHdpc2UKK2xlY3Rlcm4vTVMKK2xlZGdlL1JNUworTGVlLUVuZmllbGQKK2xlZnQtd2luZy9SCitsZWctY3V0dGVyCitsZWdnaW5nL00KK2xlZ2d5L1RQCitsZWdpYmlsaXR5L01JUworTGVpY2VzdGVyL00KK0xlaWNlc3RlcnNoaXJlCitsZWlzdXJlL01TWUQKK2xlbW1hL01TCitsZW1vbmFkZS9TTQorTGVuYS9NCitsZW5ndGgvelNaMk0KK2xlbmd0aHdheXMKK2xlbmllbmNlL1pTCitMZW5pbmlzbQorTGVubm9uL00KK2xlb3BhcmRza2luCitsZXByb3VzCitsZXNpb24vR0RNUworbGVzc2VlL1NNCitsZXRoYWxpdHkvTQorbGV2aXRhdGlvbi9NCitsZXdkbmVzcy9TCitsZXdpcy9NCitsZXhpY29ncmFwaGVyL1NNCitMZXlsYW5kL00KK0xleXRvbgorbGlhYmxlbmVzcy9BCitMaWIvWgorbGliZXJhdGlvbmlzdHMKK2xpYnJldHRvLzNNUworbGljZW50aWF0ZS9TTQorTGllY2h0ZW5zdGVpbi9STQorbGllZC9NCitsaWZlYmxvb2QvU00KK2xpZmVib2F0L01TCitsaWZlZm9ybXMKK2xpZmVzYXZpbmcKK2xpZmVzdHlsZS9TCitsaWZldGltZS9NUworbGlnYW1lbnQvTVMKK2xpZ2h0L0pURFJTUE1HWQorTGlsbGlhbi9NCitsaW1lbGlnaHQvR01TCitsaW1lcmljay9TTQorbGltaXRlZG5lc3MvTQorbGltaXRlci9DTVMKK2xpbW91c2luZS9TTQorTGluZHF1aXN0L00KK2xpbmVkL2ZVQWUKK2xpbmdlci9kcmtTCitsaW5pbWVudC9TTQorTGlubmFldXMvTQorbGlub2xldW0vU00KK2xpb25lc3MvTVMKK0xpc2Jvbi9NCitsaXNsZS9NUworTGlzc2Fqb3VzCitsaXN0L0RHSnAKK2xpdGVyYWxuZXNzL1MKK2xpdGVyYXRlbHkvSQorbGl0aGUvWVBUCitsaXRob2dyYXBoL1JNWlcxU0RHCitsaXRpZ2F0ZS9TTm5ERworbGl0aWdhdG9yL1NNCitsaXZlZC1pbgorbGl2ZWx5L1RQCitsaXZpZC9QWQorbG9hbi9STVM3R0QKK2xvY2FsaXphdGlvbi9NCitsb2NhdGlvbi9FTUFGCitsb2NocworTG9ja2hhcnQvTQorTG9ja2hlZWQvTQorbG9ja291dC9TTQorbG9ja3NtaXRoaW5nL00KK2xvY2tzdGVwcworbG9jby9HU00KK2xvZ2FyaXRobS9XMVNNCitsb2dib29rL01TCitsb2dnZXJoZWFkL01TCitsb2dpY2ljYWxseQorTG9oZW5ncmluCitsb2xsZXIvTQorTG9tYmFyZC9aCitsb25nL0dQU0RUa0oKK2xvbmdib3cvU00KK2xvbmdpc2gKK2xvbmdpdHVkZS9NUworbG9uZy1sZWdnZWQKK2xvbmctcnVubmluZworbG9vL00KK2xvb2thbGlrZS9TCitMb29taXMKK2xvb3B5L1QKK2xvb3NlL1BZR1NEVAorbG9vc2VuZXNzL1MKK2xvb3Nlcy9VCitsb3BzaWRlZC9QWQorbG9yZGx5L1RQCitMb3Jkc2hpcC9NUworTG9yZW4vTQorTG9yZW50emlhbgorbG9ycnlsb2FkL1MKK2xvc2UvUlNHCitsb3NzLWxlYWRlci9TCitMb3Vpcy9NCitMb3Vpc2lhbmEvTQorbG91cGUvTVMKK2xvdXZyZS9NU0QKK0xvdmVsYW5kCitsb3ZlbGluZXNzL1MKK2xvdmVzaWNrCitsb3ctZ3JhZGUKK2xvdy1ub2lzZQorbG94CitMdAorTHVhbmRhL00KK2x1YnJpY2F0ZS9EU05HblYKK0x1Y2UvWgorbHVjcmF0aXZlbmVzcy9TCitsdWZmL01TREcKK2x1bWJhZ28vTVMKK2x1bXBlbgorbHVtcGluZXNzL1MKK0x1bXB1ci9NCitsdW5hdGUvV1kKK2x1bmNoZW9uL01TCitMdW5kYmVyZy9NCitsdXBpbmUvU00KK2x1cmVyL00KK2x1c2gvVFBZCitsdXN0cmUvcFNNR0QKK2x1c3RyaW5nL00KK2x1eHVyaWF0ZS9OU0dEbgorbHV4dXJpb3VzL1lQCitsdXh1cmlvdXNuZXNzL1MKK2x5Y29wb2RpdW0vTQorbHlpbmdseQorbHltcGhvbWEvTVMKK0x5bm4vTQorbWFjaGluYXRpb24vTQorbWFjaGluZS1ndW4vREdTCittYWNoaW5lcnkvU00KK21hY2hvL1MKK21hY3JvZWNvbm9taWNzL00KK21hZGFtL1NNCittYWRlLXVwCitNYWRpc29uCittYWRtYW4vTQorbWFkcmFzCittYWRyaWdhbC9TTQorTUFHCitNYWdkYWxlbmEKK01hZ2hlcmFmZWx0L00KK21hZ2ljYWwKK01hZ2lsbAorbWFnbmV0aXNlL0NCblNERworbWFnbmV0aXplL0NCTm5TREcKK21hZ25pZmljZW50L1kKK21hZ25pZnkvQ1NHUk5ECittYWhhcmlzaGkvTVMKK21haC1qb25nL00KK01haGxlci9NCittYWlvbGljYSdzCittYe50cmUKK01hbGFtdWQKK01hbGF5YQorTWFsYXlzaWEvTQorbWFsZm9ybWF0aW9uL01TCitNYWxpL00KK01hbGxhcm3pL00KK21hbG5vdXJpc2hlZAorTWFsb25lCitNYW5jaHUKK21hbmUvTVNaCittYW5nb2xkCittYW5pYS9TTQorbWFuaWZlc3RhdGlvbi9NCittYW5pZmVzdG8vU00KK21hbm5lZC9mVQorbWFubmlzaG5lc3MvUworbWFudGxpbmcvTQorbWFudHJhcC9TTQorbWFyYmxlL0RTTUdKCitNYXJjL01aCitNYXJjZWxsby9NCittYXJjaGlvbmVzcy9NUworbWFyZ2FyaXRhcworbWFyaW9uZXR0ZS9NUworTWFyaXVzCitNYXJsb3cvTQorbWFycm93Ym9uZS9NUworbWFyc2hhbC9KUlNHRE0KK21hcnRpYWwvWQorbWFzL3JHV0QKK21hc2MKK21hc2tzL1UKK01hc3NhCittYXNzYWNyZXIKK01hc3NlbmV0CittYXN0ZXJpbmcvUworbWFzdGVybWluZC9HRFMKK21hc3RlcnkvTVMKK21hc3RpZmYvU00KK21hc3R1cmJhdGUvR1NuRE55CittYXN0dXJiYXRpb24vTQorbWF0YWRvci9TTQorbWF0Y2gvZUdEYVMKK21hdGNoaW5ncworbWF0Y2htYWtlL1JKRworbWF0Y2htYWtpbmcvTQorbWF0ZXJpYWxpc20vTVMKK21hdGVyaWFsbmVzcy9JCittYXRlcmllbAorbWF0aGVtYXRpY2FsL1kKK21hdGlucy9NCittYXRyaW1vbmlhbAorbWF0dGVyLW9mLWZhY3QvWQorbWF0dXJlL1lEVFZTeG5QR04KK01hdWkKK21hdW5kZXIvU2QKK01hdXJpbmUvTQorbWF3a2lzaC9QWQorbWF5YmUvUworbWF5b25uYWlzZS9NUworbWF6dXJrYS9TTQorTWNBZGFtcworTWNDYXJ0aHkvTQorTWNDbHVyZS9NCitNY0Rlcm1vdHQvTQorTWNHcmF3L00KK01jSW50eXJlL00KK01jS2F5L00KK01jS2VuemllL00KK01jS2lubGV5L00KK21lLzNzCitNZWFkZQorbWVhZG93c3dlZXQvTQorbWVhbmllL1NNCittZWFubmVzcy9TCittZWFzdXJhYmx5L0kKK21lYXN1cmluZy9BCittZWF0L1pTMnBNCittZWF0aW5lc3MvUworbWVjaGFuaXNlZC9VCittZWNoYW5pemVkL1UKK21lZGRsZXNvbWUKK21lZGl0YXRlZC9LCitNZWRpdGVycmFuZWFuCittZWRpdW0vU00KK21lZGl1bWlzdGljCittZWVkL1NNCittZWV0aW5naG91c2UvUworbWVsYW5jaG9saWEvU00KK21lbGFuaW4vTVMKK21lbGF0b25pbgorTWVsY2hlci9NCitNZWxpbmRhCittZWxsaWZsdW91cy9QWQorbWVsb2Rpb3VzbmVzcy9TCittZW1lbnRvZXMKK21lbmFyY2hlL01TCittZW5kL0dGU0QKK21lbmRlbGV2aXVtL00KK21lbmRlci9GTQorbWVuc3RydWF0aW9uL00KK21lcmNlci9RTVMKK01lcmVkaXRoCittZXJnYW5zZXIvTVMKK21lcm1haWQvU00KK21lc21lcmljCittZXNtZXJpc20vTVMKK21lc21lcml6ZXIvTQorTWVzb2xpdGhpYworbWVzb21vcnBoL1NNCittZXNvc3BoZXJlL01TCittZXRhY2FycGkKK21ldGFsbGl6ZS9ObkRTRworbWV0YWxsb2dyYXBoeS9NCittZXRhbGx1cmdpc3QvUworbWV0YXRoZXNpemVzCittZXRoYWRvbmUvU00KK01ldGhvZGlzdC9NUworbWV0aG9kb2xvZ3kvU3cxTQorbWV0aG91Z2h0CittZXRpZXIKK21ldHJvbm9taWMKK01pY2FoCitNaWNoYWVsc29uCitNaWNoZWxhbmdlbG8KK01pY2hpZ2FuL00KK21pY3JvY29kZS9HRFMKK21pY3JvZ3Jhdml0eQorbWljcm9pbnN0cnVjdGlvbi9NUworbWljcm9saWdodC9TCittaWNyb21ldGVyL1NNCittaWNyb21ldHJlL1MKK21pY3Jvbi9NUworbWljcm9waG9uZS9TTUcKK21pY3JvdG9tZQorTWlkYXMKK01pZGRsZWJ1cnkKK21pZC1vbgorbWlkcmliL01TCittaWRzaGlwL21TCittaWRzdHJlYW0vTQorTWlkd2VzdGVybgorbWlnaHR5L1RQCittaWdyYXRvcnkvUworbWlsZGV3L1pHRFNNCittaWxkLW1hbm5lcmVkCittaWxkbmVzcy9TCittaWxpdGFyaXphdGlvbi9NCittaWxrL1JEMlpTTUcKK21pbGttYW4vTQorbWlsa3NoYWtlL1MKK21pbGxlbm5pYQorbWlsbGVubml1bS9TTQorbWlsbGl2b2x0L01TCittaWxsaXdhdHQvUworbWlsbHBvbmQvU00KK21pbGxyYWNlL01TCittaWx0L1JTTQorbWltb3NhL01TCittaW5kLWV4cGFuZGluZworbWluZS1kZXRlY3RvcgorbWluZXJhbGl6YXRpb24vQ1MKK01pbm5pZQorTWlyYQorbWlyYWN1bG91cy9ZUAorbWlyZS9ETUdTWgorbWlydGhsZXNzL1BZCittaXNjaGllZi1tYWtlcnMKK21pc2RlYWwKK21pc2RlbWVhbm91cidzCittaXNlcmFibGVuZXNzL1MKK21pc2VybGluZXNzL1MKK21pc29neW5vdXMKK21pc3ByaW50L00KK21pc3JlYWQKK21pc3MvRVZER1MKK01pc3Npc3NpcHBpCitNaXNzaXNzaXBwaWFuL1MKK01pc3N5CittaXN0YWtlcgorbWlzdXNlL00KK01JVC9NCittaXRvdGljCittaXhhYmxlCitNb2JpbAorTfZiaXVzCittb2NrZXIvWgorbW9kZXJhdGlvbnMKK01vZGVzdG8KK21vZGVzdHkvTUlTCittb2RpY3VtL01TCittb2RpZmlhYmxlL1AKK21vZGkgb3BlcmFkaQorbW9kdWxhcml0eS9NUworbW9kdWxlL05Tbk0KK21vaWV0eS9TTQorbW9pc3Rlbi9yZFMKK21vaXN0dXJlL3NRTVMKK21vbGUvTVMKK01vbGxpZQorTW9uYWdoYW4vTQorTW9uZGF5L1NNCittb25leWJhZ3MKK21vbmV5bGVuZGVyL01TCitNb25nb2xpYS9NCittb25nb29zZS9NUworbW9uby9TTTMKK21vbm9jbG9uYWwvUworbW9ub2dyYW0vREdTTQorbW9ub2xpbmd1YWwvUworbW9ub2xvZ3VlL01ER1MKK21vbm9yYWlsL1NNCittb25vc3lsbGFibGUvV1NNCittb25vdG9ub3VzL1BZCittb25zb29uYWwKK21vbnN0cm91cy9ZUAorTW9udGVuZWdyby9NCitNb250Z29tZXJ5CitNb29nCitNb29uZXkKK21vb25saWdodC9NR1JTRAorbW9vdC9HU0QKK21vb3RlcgorbW9weS9QWVQKK21vcmFsZS9NUzMKK21vcmRhbmN5L1NNCitNb3JlbGFuZAorTW9yZ2VuCittb3JpYnVuZGl0eS9NCittb3JwaGVtZS9TTQorbW9ycGhvbG9neS9Nd1MxCittb3JwaG9waG9uZW1pYy9TCitNb3Nlci9NCitNb3NsZXkvTQorbW9zcXVpdG9lcworbW90ZXQvU00KK21vdGhlci1vZi1wZWFybAorTW90aGVyd2VsbAorbW90aWxpdHkvU00KK21vdGlvbmxlc3NuZXNzL1MKK21vdGxpZXN0Cittb3Rvci9RU2RxbTM4LU0KK01vdG9yb2xhL00KK21vdWUvRE1HUworTW91bnRpZQorbW91bnQncworbW92YWJpbGl0eS9JCittb3ZhYmxlL1NJUFkKK01vemFtYmlxdWUvTQorbXVjaC9QCittdWN1cy9TTQorbXVkZGxlL1JTR0QKK211ZGRsZWhlYWRlZG5lc3MKK211bGNoL0RHTVMKK011bHRpYnVzL00KK211bHRpZmFyaW91cy9QWQorbXVsdGlmaWd1cmUKK211bHRpZnVuY3Rpb24vb0QKK211bHRpbWlsbGlvbmFpcmUvTVMKK211bHRpLW5hdGlvbmFsCittdWx0aXByb2Nlc3MvRworbXVsdGlwcm9ncmFtL0pERworbXVsdGktc3RhZ2UKK211bW1lcnkvU00KK211bmdlL1JHU0pECitNdW5yby9NCitNdW5zb24vTQorTXVuc3Rlci9NCittdW9uL1NNCittdXJhbC8zTVMKK011cmNoaXNvbi9NCitNdXJkb2NoL00KK211cmsvVFp6U00yCitNdXJyeS9NCitNdXNjb3Z5L00KK211c2ljYWwvUworbXVza3JhdC9TTQorbXVzdHkvVFAKK211dGFibGVuZXNzL00KK211dGVyL0YKK211enpsZSdzCitteW9jYXJkaWFsCitteW9jYXJkaXVtL00KK215cmlhZC9TCitNeXJpYXBvZGEKK215c2VsZgorTmFiaXNjby9NCitOYWh1bS9NCituYWlsLWJpdGluZworbmFtZS1jYWxsaW5nCituYW1lJ3MKK25hbWVzYWtlL1NNCitOYW1pYmlhL00KK05hbmFrL00KK05hbmNlL1pNCituYXBhbG0vU01ERworbmFwZS9NUworbmFwaHRoYS9TTQorbmFyY290aWMvTVMKK25hcnJhdGl2ZS9TTQorbmFzYWwvLVlxUThTCituYXNjZW5jZSdzL0EKK25hc3RpbmVzcy9TCituYXRhbGl0eS9NCituYXRpb25hbC84LVM5UXNxMworbmF0aW9uYWxpdHkvTVMKK25hdHR5L1BZVAorbmF0dXJhbGlzbS9TTQorbmF0dXJhbG5lc3NlcworbmF2aWdhdGUvQk54REdTbgorTmRqYW1lbmEvTQorbmVidWxhZQorbmVjay9NSlNHRAorbmVja2VyCituZWNyb21hbmN5L01TCitOZWQvTQorbmVlCituZWVkbGVzc25lc3MvUworbmVlZGxld29ya2VyCituZWdhdGUvR1NECituZWdsZWN0ZXIvTQorbmVnbGlnZW5jZS9NUworbmVnb3RpYXRlL0RBbk5TRworTmVncml0dWRlL00KK05laWxsL00KK25lbHNvbi9TTQorbmVtZXNpcworTmVvbGl0aGljJ3MKK25lb3BsYXNtL1NNCituZXJ2eS9UUAorbmVzdGxlci9NCituZXVyb2FuYXRvbXkKK25ldy9BUworTmV3Y2FzdGxlL00KK05ld2VsbC9NCituZXdlcgorbmV3bHktd2VkL01TCituZXdzZ2lybC9TCituZXdzbGV0dGVyL1NNCituZXdzcmVhZGVyL01TCituZXdzLXNoZWV0CitOZXd0b3duYWJiZXkvTQorbmV4dXMvTVMKK05pY2FyYWd1YS9NCituaWNocm9tZQorbmlja25hY2sncworTmljb2xlL00KK25pZnR5L1RTWQorTmlnZXJpYS9NCituaWdnbGUvUkdrSkRTCituaWdodHNoYWRlL1NNCitOSU1CWQorbmluY29tcG9vcC9TTQorbmluZXR5LWVpZ2h0L0gKK25pbmV0eS10d29mb2xkCituaW9iaXVtL00KK25pcC9SR0QyU1oKK25pcHB5L1QKK25pcnZhbmEvU00KK05pdGEvTQorbml0cGljay9SR0RKUworbml0d2l0L01TCitOaXVvCitOb2FoL00KK25vYmxlc3NlL00KK25vZGR5L00KK25vaXNvbWUKK25vbWFkL1dNUworTm9tZS9NCitOb25hL00KK25vbi1hY2NlcHRhbmNlL1MKK25vbi1hZGphY2VudAorbm9uLWFnZ3Jlc3Npb24vUworbm9uLWFsaWdubWVudC9TCitub24tYXV0b21vdGl2ZQorbm9uLWNhbmNlcm91cworbm9uLWNhcmJvaHlkcmF0ZQorbm9uY2UvU00KK25vbmNoYWxhbmNlL01TCitub24tY29sbGVjdGFibGUKK25vbi1jb250cm92ZXJzaWFsCitub24tY3JlZGl0Citub24tZGFpcnkKK25vbi1kZWNyZWFzaW5nCitub24tZGV0ZXJtaW5pc20KK25vbi1kcmlua2VyL1NNCitub25lL1MKK25vbi1lbWVyZ2VuY3kKK25vbi1mYXRhbAorTm9uaWUvTQorbm9uLWluZHVzdHJpYWwKK25vbi1pbmZlY3Rpb3VzCitub24taW50dWl0aXZlCitub24taW52YXNpdmUKK25vbi1pcnJpdGF0aW5nCitub24tbWlncmF0b3J5Citub24tb2NjdXBhdGlvbmFsL1kKK25vbi1wZXJpc2hhYmxlL1MKK25vbi1wZXJ0dXJiaW5nCitub24tcG9pc29ub3VzCitub24tcHJvY2VkdXJhbC9ZCitub24tcHJvZ3JhbW1lcgorbm9uLXB1YmxpYworbm9uLXJlYWN0aXZlCitub24tcmVjaXByb2NhbC9TCitub24tcmVsaWdpb3VzCitub24tc2NoZWR1bGVkCitub24tc29jaWFsCitub24tc3RvcAorbm9uLXN1c3RhaW5pbmcKK25vbi10ZXJtaW5hbC9TCitub24tdGhyZWF0ZW5pbmcKK25vbi10cmFkaXRpb25hbC9ZCitub24tdmlhYmxlCitub24tdm9sdW50ZWVyL1MKK05vcnJpc3Rvd24vTQorbm9ydGhlYXN0ZXIvTVMKK25vcnRoLUVhc3Rlcm4KK25vcnRoZXJubW9zdAorbm9ydGgtc291dGgKK25vcnRoLXdlc3R3YXJkL1MKK25vdGF0aXZlL0YKK25vdGNoL0RHU00KK25vdGUncworbm90aWZ5L1NSRzdORG4KK05vdHRpbmcKK05vdW7pYQorbm92ZWxsYS9TTQorbm94aW91cy9ZUAorbnJvZmYvTQorbnRoCitudWRlci9DCitudW1lcmFsL01TCitudW1lcmF0ZS9JUworbnVtaXNtYXRpYy9TCitudXJzZXIvWgorbnV0cml0aW9uYWwKK251dHJpdGl2ZS9ZCitOeWUvTQorTnllcmVyZS9NCitOWgorT2FrbGV5L00KK09ha21vbnQvTQorb2FzZXMKK29hdGNha2UvU00KK29iamVjdGlvbmFibGVuZXNzL00KK29iamVjdGl2ZW5lc3MvUworb2JqdXJnYXRpb24vTQorb2JsaXF1ZS9ZRFNHCitvYmxpcXVpdHkvTVMKK29ibGl2aW9uL01TCitvYnNjdXJhbnRpc3QvU00KK29ic2VydmFibGUvUworb2Jzb2xldGUvR1BEU1kKK29idHJ1ZGVyL00KK29jYXJpbmEvTVMKK09jY2lkZW50L00KK29jZWxvdC9TTQorb2NocmUvTVMKK09jb25vbW93b2MvTQorb2N0YWdvbi9vTVMKK29jdGFudC9NCitvY3RhdmUvTVMKK29jdGlsZQorb2N0aWxsaW9uJ3MKK09ECitvZGl1bS9NUworTydEb25uZWxsL00KK09FRAorb2VkZW1hL1NNCitPRU0vTQorb2V1dnJlL1NNCitvZgorb2ZmLWNlbnRyZQorb2ZmZW5zaXZlcworb2ZmLXBlYWsKK29mZnNwcmluZy9NCitvZmYtdGhlLXBlZworb2dpdmUvTQorb2dsZS9EUlNHCitPJ0hhcmUvTQorT2hpby9NCitPaGlvYW4vUworb2htL1dTTQorb2xpZ29wb2xpc3RpYworT2xpbi9NCitPTQorT21haGEvTQorb21lbGV0L1NNCitvbWl0L05YU0RHCitvbW5pL00KK29tbmlwcmVzZW50L1kKK09uby9NCitvbnNldC9TTQorT250YXJpby9NCitvbnVzL1NNCitvb2xpdGljCitvcGVuLW1pbmRlZC9ZCitvcGVuLW1pbmRlZG5lc3MKK29wZXJhYmlsaXR5CitvcGVyYXRpb24vTW8KK09waGVsaWEvTQorb3Bpb2lkCitvcHByZXNzL1ZOdVN2REdYCitvcHRpYy9TCitvcmFjdWxhcgorb3JiaXQvZE1TCitvcmNoYXJkL01TCitvcmNoZXN0cmEvU25vTQorb3JjaGVzdHJhdGUvRFNHCitvcmRhaW5pbmcvSworb3JkaW5hdGUncworT3Jlbworb3JpZ2luL05NblNvVnYKK29yaWdpbmFscworT3Jpbm9jby9NCitvcmlvbGUvU00KK29yaXNvbi9NUworT3JrbmV5L00KK29ybmF0ZW5lc3MvUworb3J0aG9kb250aXN0L1NNCitvcnRob3BhZWRpYy9TCitPc2FtYS9NCitPc2dvb2QvTQorb3Ntb3RpYworb3NzaWZpY2F0aW9uL00KK09zdGVpY2h0aHllcworb3N0bGVyCitvc3RyYWNpc2UvRFNNRworb3V0YXJndWUKK291dGJhbGFuY2UKK291dGNsYXNzCitvdXRkcmF3L0cKK291dGdvaW5nbmVzcworb3V0aG91c2UKK291dGxpZXIvUworb3V0bGl2ZS9TCitvdXQtb2YtZGF0ZQorb3V0LW9mLXBvY2tldAorb3V0c2lkZXJuZXNzCitvdXRzdGFuZGluZy9ZCitvdmVuYmlyZC9TTQorb3Zlbi1yZWFkeQorb3Zlci9NU1kKK292ZXItYW54aW91cy9ZCitvdmVyYml0ZS9NCitvdmVyY2VyZWJyYWwKK292ZXItY3VyaW9zaXR5CitvdmVyZG8vRworb3ZlcmRyaXZlL00KK292ZXJraWxsL00KK292ZXItbGFyZ2UKK292ZXJyaXBlCitvdmVyc2F3CitvdmVyc2ltcGxpZmljYXRpb24vTQorb3ZlcnN0cmV0Y2gKK292ZXJzdHJpY3QKK292ZXJ0dXJlL1NNCitvdmlkdWN0L1NNCitvd25lci1vY2N1cGllcgorb3gvTQorb3hjYXJ0J3MKK294aWRhdGl2ZS9ZCitveHlhY2V0eWxlbmUvU00KK096emllL00KK1BhY2hlY28vTQorcGFja2luZ2hvdXNlL1MKK3BhY2sncworcGFkZGluZy9NCitQYWRnZXR0L00KK3BhaWQvS2ZVY0EKK3BhaWxmdWwvTVMKK3BhaW5mdWxuZXNzL1MKK3BhbGFlb250b2xvZ2lzdC9TCitwYWxhbnF1aW4vU00KK1BhbGVybW8vTQorcGFsaW1wc2VzdC9TTQorUGFsbGFkaW8vTQorUGFsbW9saXZlL00KK3BhbG10b3AvUworUGFsby9NCitwYWxwaXRhdGUvRFNOR24KK3BhbHMvWgorUGFuY3JhcworcGFub3BseS9EU00KK3BhbnQvU0RHCitQYW50YWxvb24vTQorcGFudGlsaW5lcgorcGFwL29NM3IKK3BhcGVycy9BCitwYXJhY2h1dGUvM0RTTUcKK3BhcmFkaWdtL01TCitwYXJhZGlzZS9Nd1MKK3BhcmFncmFwaGVyL00KK3BhcmFsbGVsZXBpcGVkL01TCitwYXJhbWV0cmlzZS9EQm5HUworcGFyYXBocmFzZS9TR01ECitwYXJhc3ltcGF0aGV0aWMvUworcGFyZW50L0RKU29HTQorcGFyZW50YWwKK3Bhcm1pZ2lhbmEKK3Bhcm9jaGlhbGl0eQorcGFycm90L2RTTQorcGFydGlhbGl0eS9NSVMKK3BhcnRpY2lwYXRlL3lTTlZER24KK3BhcnRpY2lwbGUvU00KK3BhcnRpY3VsYXIvUThTWQorcGFydGljdWxhcmlzdGljCitwYXJ0aW5nL01TCitwYXJ0aXRpb25lZC9BCitwYXJ0aXRpb25lci9NCitwYXJ0aXRpb25zL0EKK3BhcnQtc29uZworcGFzc2lvbmZsb3dlci9TTQorcGFzdGV1cmlzZS9SblNERworcGFzdGV1cml6ZS9uUk5TREcKK3Bhc3RpbWUvTVMKK3BhdGNod29yay9SU00KK3BhdGNoeS9UWQorcGF0ZS9TTQorcGF0ZW4vTQorcGF0aHdheS9TTQorcGF0aWVudGVzdAorcGF0aW5hL1NNCitQYXRyaWNrL00KK3BhdHJpbW9uaWFsCitwYXRyb25hZ2UvU00KK3BhdHJvbmVzcy9TCitwYXR0ZXIvZFMKK1BhdHRlcnNvbi9NCitwYXR0eS9NUworcGF1cGVyL1FkTVMKK3BhdXNlL0dTRAorcGF3bnNob3AvTVMKK3Bhd3BhdydzCitwYXkvQTdMU0cKK1BBWUUKK3BlYWNlZnVsbmVzcy9TCitwZWFjZWtlZXBpbmcKK3BlYS1ncmVlbgorcGVha3kvUAorcGVhbnV0L1NNCitwZWFzYW50cnkvTVMKK3BlYXRzL0EKK3BlY2NhZGlsbG8vTQorcGVkYWdvZ2ljL1MKK3BlZGFsL1JHTVNECitwZWRkbGUvU0RHCitwZWRlcmFzdC9aU00KK3BlZGxhci9TTQorcGVlcidzL0YKK1BlbGUKK3BlbHZpcy9NUworcGVuYWx0eS9TTQorUGVuYmVydGh5CitwZW5ldHJhYmxlL0kKK3Blbml0ZW50aWFsL1lTCitQZW5uc3lsdmFuaWEKK3BlbnMvWHVOdlYKK3BlbnRhZ29uL29TTQorcGVwcGVyY29ybi9NUworcGVyL3kKK3BlcmNlaXZhYmxlL0kKK3BlcmNlcHRpYmx5L0kKK3BlcmNlcHRpb24vTVMKK3BlcmN1c3Npb25zL0EKK3BlcmZlY3Rlci9NCitwZXJmb3JjZQorcGVyanVyeS9NUworcGVybWFuZW5jeS9TTQorcGVybWFuZW50bHkvSQorcGVybWVhdGUvQkRObkdTCitwZXJtaXNzaWJsZS9QWQorcGVybmljaW91cy9ZUAorcGVycGVuZGljdWxhci9TWQorcGVycGVuZGljdWxhcml0eS9NUworcGVycGV0cmF0aW9uL00KK3BlcnNwZXgKK3BlcnN1YWRlL0RWWFJOU3Z1RworcGVydGluYWNpdHkvU00KK3BlcnRpbmVudC9ZSQorcGVydHVyYi9HU25ECitwZXJ1a2UvU00KK3Blc2t5L1RZCitwZXN0aWxlbnQvWQorcGV0aXRpb25lZAorUGV0cmkKK3BldHJpZnkvR1NORAorcGV0dWxhbmNlL1NNCitwZmVubmlnL01TCitwaGFybWFjZXV0aWNhbC9TWQorcGhhcm1hY29sb2d5LzNNMVN3CitwaGFyeW5naXRpZGVzCitwaGlsYW50aHJvcGlzdC9TTQorUGhpbGlwL01TCitQaG5vbQorcGhvbm9ncmFwaC9XU00KK3Bob25vbi9NCitwaG90b2dyYXBoZWQvQQorcGhvdG9ncmFwaHMvQQorcGhvdG9tZXRlci8xV1NNCitwaG90b3N0YXRpYworcGh5bGEvTQorcGh5bG9nZW5ldGljCitwaWFub2xhCitwaWNrLXVwL01TCitwaWNreS9UCitwaWVjZXIvTQorcGlnaGVhZGVkbmVzcy9TCitwaWdza2luL1NNCitwaWxhZi9TTQorcGluY2VyL1MKK3BpbmhvbGUvTVMKK3Bpbmlvbi9ETUdTCitwaW5uYXRlCitwaW9uL00KK3BpcGVsaW5lL0RNUworcGlwZXR0ZS9TTURHCitwaXBzcXVlYWsvTVMKK3Bpc3NlcgorcGl0L01HU0QKK3BpeG1hcC9NUworcGl6emljYXRvCitwbGFjaWRpdHkvTVMKK3BsYWNpbmdzCitwbGFuZXRhcnkKK3BsYW5rL0dNRFNKCitwbGF0Zm9ybS9NUworcGxheS1hY3QvSkdEUworcGxheXdyaWdodC9NUworcGxlYXNhbnRuZXNzL1MKK3BsZWJlaWFuL1MKK3BsZXVyYWwKK3BsaWNhdGlvbi9GTUlBCitwbG90L1NSTUdESgorcGxvdWdoc2hhcmUvU00KK3BsdWNraW5lc3MvUworcGx1bWJpbmcvTQorcGx1bXBlci9NCitwbHVyYWxpdHkvTVMKK1BsdXRvL00KK3BsdXZpYWwvUworUE1TCitwb2NrL1NETQorcG9ja2V0ZXIvUworcG9ncm9tL1NNCitwb2luY2lhbmEvU00KK3BvbGFyaXR5L1NNCitwb2xhcm9ncmFwaC9aCitwb2xlbWljYWwKK3BvbGlvL1NNCitwb2xpdGUvSVBZVworcG9sby1uZWNrCitwb2x5Y3J5c3RhbGxpbmUKK3BvbHlnb25hbAorcG9seWdyYXBoL0RTTUcKK3BvbHloZWRyYQorcG9seW1lcmFzZS9TCitwb2x5bW9ycGhpc20vUworcG9seW1vcnBob3VzCitwb2x5dGhlaXNtL01TCitwb2x5dGhlaXN0L1dTTQorcG9tYWRlL1NHTUQKK3BvbXAvU00KK3BvbXBhbm8vTVMKK3BvbmNlL00KK3BvbmRlcmVkCitwb25kZXJvdXNuZXNzL1MKK3BvbmR3ZWVkCitwb250b29uL01EU0cKK3Bvbnl0YWlsL1NNCitwb29oL1NERworUG9vbGUvTQorcG9vci1zcGlyaXRlZAorcG9wcHlzZWVkCitwb3B1bGFyaXphdGlvbi9NCitwb3B1bGF0ZS9jQ25OREdTCitwb3B1bGlzbS9TCitwb3B1bG91c25lc3MvUworcG9yY2luZQorcG9yZS9HRFMKK3Bvcm4vUworcG9ybm8vUworcG9ydGVyL0NNNFNBSQorcG9ydGVyaG91c2UvTQorcG9ydGljby9NCitQb3J0bworcG9ydHJheS9TREcKK1BvcnR1Z3Vlc2UvTQorcG9zc2UvYlNNCitwb3NzZXNzaW9uL01LRUEKK3Bvc3Rjb2RlL1NNCitwb3N0bWlzdHJlc3MvTVMKK3Bvc3R1cmFsCitwb3RhYmlsaXR5L1NNCitwb3Rhc2gvU00KK3BvdGhvb2svU00KK3BvdCdzL0MKK3BvdWNoL01EU0cKK3BvdXQvUlNERworUG93ZWxsL00KK3Bvd2Vycy9jCitQb3d5cworUFBQCitwcmFjdGljYWJsZS9JWQorcHJhbmtzdGVyL01TCitwcmFzZW9keW1pdW0vTQorcHJheS9SR0RTCitwcmVjb25kaXRpb24vRworcHJlZGljYXRlL1ZuTlNERworcHJlZGljdGFiaWxpdHkvVU0KK3ByZWRpY3Rvci9TTQorcHJlLWVjbGFtcHNpYQorcHJlLWVtcHQvRFZTdkcKK3ByZWZlcmVudGlhbC9ZCitwcmUtaW5kdXN0cmlhbAorcHJlaW50ZXJ2aWV3CitwcmVqdWRpY2VkL1UKK3ByZWxhY3kvU00KK3ByZWx1ZGVyL00KK3ByZW1vbml0b3J5CitwcmVwYXJlL1Z2aUdueWhOCitwcmVwb3NzZXNzaW5nL1UKK3ByZXByb2Nlc3NvcgorcHJlLXB1YmVzY2VudAorcHJlcmFkaWF0aW9uCitwcmVzYWdlci9NCitwcmVzY3JpYmUvdlhWTgorcHJlc2NyaXB0aW9uL00KK3ByZS1zZXQvUworcHJlc3MtZ2FuZy9ECitwcmVzdGlnaW91cy9ZCitQcmVzdHdpY2svTQorcHJlc3VtcHRpb24vTQorcHJldmFyaWNhdGUvREdOU24KK3ByZXZlbnRhYmxlL1UKK3ByZXZpZXcvRworcHJldmlzaW9uL0QKK3ByaWNleQorcHJpY2llc3QKK3ByaWVzdGxpbmVzcy9TCitwcmltZXZhbC9ZCitwcmltaXRpdmUvUFNZCitwcmluY2Vzcy9NUworcHJpdmV0L01TCitwcm9iYXRpb24ncy9BCitwcm9ibGVtYXRpYy9VCitwcm9jZWR1cmUvTVNvCitwcm9jZXNzaW5nL0sKK3Byb2Nlc3Npb25hbC9TCitwcm9jZXNzb3JzL0sKK3Byb2NyZWF0aW9uL00KK3Byb2N1cmUvTERTRworcHJvZGlnaW91cy9ZUAorcHJvZHVjdGlvbnMvZgorUHJvZi4KK3Byb2ZpdC9NcGdkbDdTCitwcm9maXRhYmx5L1UKK3Byb2ZpdGVyb2xlL01TCitwcm9maXQtdGFraW5nCitwcm9mdXNlL1lQTlgKK3Byb2dub3N0aWMvbk5WUworcHJvZ3Jlc3Npb24vTQorcHJvamVjdGlvbmlzdAorcHJvbGlmZXJhdGUvR25EU05WCitwcm9waHlsYXhpcy9NCitwcm9waW9uYXRlL00KK3Byb3BpdGlvdXNseQorcHJvcGl0aW91c25lc3MvTQorcHJvcG9ydGlvbi9FRFNHTW8KK3Byb3BvcnRpb25tZW50L00KK3Byb3ByaWV0cmVzcy9NUworcHJvc2Nlbml1bS9TTQorcHJvc2NpdXR0by9NCitwcm9zZWx5dGUvTThHc1E5RFMKK3Byb3NwZWN0aXZlL1BTCitwcm9zdGhlc2VzCitwcm9zdGhldGljcy9NCitwcm9zdGl0dXRpb24vTVMKK3Byb3N0cmF0ZS9ObkRTRworcHJvdGFnb25pc3QvTVMKK3Byb3RlY3QvY1ZHU0QKK3Byb3RlY3RlZC9VCitwcm90ZWN0b3IvTVMKK3Byb3Rlc3RhbnRpc20KK3Byb3RyYWN0b3IvU00KK3Byb3R1YmVyYW5jZS9TCitwcm91ZC9ZVAorcHJvdmVuL1UKK3Byb3Zpc2lvbmFsL1MKK3Byb3Zpc28vTVMKK3Byb3cvU00KK3Byb3dsL1JTREcKK3Byb3hpbWFsL1kKK3BydWRlcnkvTQorcHNldWRvLWludGVsbGVjdHVhbAorcHN5Y2hlZGVsaWEKK3BzeWNoaWMvU00KK3BzeWNob2Fjb3VzdGljL1MKK3BzeWNob2FuYWx5c2lzL00KK3BzeWNob3BhdGgvWlNNVworcHQKK3B1YmVzCitwdWJsaXNoZWQvVUEKK3B1Y2UvS01TCitwdWxlL0dEUworcHVsbGV0L1NNCitwdWxtb25hcnkKK3B1bWEvU00KK3B1bXBlcgorcHVtcGVybmlja2VsL1NNCitwdW5nZW50L1kKK3B1bmtpZXIKK3B1cmdhdGlvbi9NCitwdXJpc20vU00KK3B1cmlzdC9XCitwdXJwbGUvVFNNR0QKK3B1cnVsZW5jZS9TTQorcHV0dGVyZXIvUworcHlyaWRpbmUvTQorcHlyb21ldGVyL1NNCitweXJvdGVjaG5pc3QKK3B5eGlkZXMKK1FhZWRhL00KK1FhdGFyL00KK1FQUgorcXVhCitxdWFkcmFuZ3VsYXIvTQorcXVhZHJhdGljL01ZUworcXVhbGl0YXRpdmUvWQorcXVhbG1pc2gKK3F1YXJyZWxzb21lL1BZCitxdWFydGVyLWhvdXIKK3F1YXJ0aWxlL01TCitxdWFzYXIvU00KK3F1ZWVuL0dZU0RNCitxdWljaGUvTVMKK3F1aWV0ZWQvRQorcXVpbnR1cGxlL0RHUworcXVpcC9TTUdECitxdWl4b3RpYy9ZCitxdWl6emVzCityL3NkCityYWJiZXQvU01kCityYWNlY291cnNlL1NNCitSYWNobWFuaW5vdi9NCityYWRpYW4vTVMKK3JhZGlvdGhlcmFwaXN0L01TCityYWZmaWEvTQorcmFnYS9NUworcmFnb3V0L1NNCityYWluYm93L01TCitSYWovTQorUmFtZWF1CityYW1pZS9NUworcmFuY291ci9NCitSYW5kb2xwaC9NCityYW5lZS9NUworcmFua2VkL1VlCityYW5raW5nL00KK3JhbmtsZS9EU0cKK3JhcHBvcnRldXIvU00KK3JhcHRuZXNzCityYXNobmVzcworcmFzcC9TR2taRE0KK3JhdC9EZE1SR1NaCityYXRjaGV0L2RTTQorcmF0dHJhcC9TTQorcmF1Y291cy9QWQorcmF2ZW5vdXNuZXNzCityYXZpb2xpL1NNCityYXdoaWRlL1NNCityYXpvcmJsYWRlcworcmVhY3QvY1NERworcmVhY3RhbnQvU00KK3JlYWN0aXZpdHkKK3JlYWRpbmcncworcmVhZHktbWFkZQorcmVhbC10aW1lCityZWF1dGhvcmlzZS9uCityZWF1dGhvcml6ZS9ObgorcmViZWxsaW9uL01TCityZWJpZC9HCityZWJvb2svRworcmVjYXB0dXJlCityZWNlaXZlcnNoaXAvU00KK3JlY2VudC9ZCityZWNpcGllbnQvU00KK3JlY2lwcm9jYXRlL05uREdTCityZWNpcmN1bGF0ZQorcmVjb25kaXRpb24vRworcmVjb25uZWN0L0dECityZWNvbnZlcnQvRworcmVjb3ZlcmFibGUvVUkKK3JlY3JlYW50L1NZCityZWNydWl0L3JkTUxTCityZWN0YW5nbGUvTVMKK3JlY3VwZXJhdGUvU25OVkdECityZWN1cnZpbmcKK3JlZC9QVFNaCityZWRjYXAvU00KK1JlZGNhci9NCityZWRldmVsb3AvTAorcmVkaGVhZC9TCityZWRpcmVjdC9HCityZWQtbGlnaHQKK3JlZHVjaWJseS9JCityZWR3b29kL01TCitSZWVib2svTQorcmUtZW5saXN0ZXIKK3JlLWV4cG9ydC83CityZWZlcmVudC9NUworcmVmbGVjdGlvbi9TTQorcmVmb3JtaXN0CityZWZ1bmQvNworcmVmdXNlbmlrcworUmVnYW4vTQorcmVnZW5jeS9NUworcmVnZ2FlL1NNCityZWdpbWUvU00KK3JlZ2ltZW50L0RNR25TTgorcmVncmVzc2lvbi9NCityZWdyaW5kL0cKK3JlZ3VyZ2l0YXRlL0RHU25OCityZWluZGVlci9NCityZWluZm9yY2UvTERTRworcmVpbmZvcmNlci9NCityZWxlbnQvcFNERworcmVsZXZhbnQvSVkKK3JlbGlhbnQvWQorcmVsaW5xdWlzaC9HRExTCityZWxpc2gvU0RHCityZWxpdAorcmVseS9CbFdHRAorcmVtCityZW1lYXN1cmUKK3JlbWVkeS83U0dNb0QKK3JlbWVsdC9HCityZW1vdGVuZXNzCityZW11bmVyYXRlL0RTTm52VkcKK1JlbmF0by9NCitSZW5lZS9NCityZW5ld2FsL1NNCitSZW5vaXIvTQorcmVub3VuY2VyL00KK3Jlbm92YXRvci9NUworcmVudC1mcmVlCityZW9yZGVyL2QKK3JlcGFpcmFibGUvVQorcmVwZWF0YWJpbGl0eS9NCityZXBlbC9ETkdTbgorcmVwZWxsZW50L1NZCityZXBob3RvZ3JhcGgvRworcmVwbGF5L00KK3JlcHJlc2VudGF0aW9uJ3MvYQorcmVwcmVzZW50YXRpdmVuZXNzCityZXByZXNlbnRhdGl2ZSdzCityZXByb2dyYW1tYWJsZQorcmVwdWJsaWNhbmlzbS9TTQorcmVwdWJsaXNoL0cKK3JlcXVpc2l0ZS9TSworcmUtcm91dGVpbmcKK3Jlc2VxdWVuY2UKK3Jlc2VydmVkbmVzcy9NCityZXNpZGVudC9NUworcmVzaWR1YS9veQorcmVzaWR1dW0vTQorcmVzaWxpZW50L1kKK3Jlc2lub3VzCityZXNpc3Rvci9NUworcmVzdG9yYXRpdmUvUworcmVzdHJpY3Rpb24vTVMKK3Jlc3VycmVjdC9EU0cKK3JldGNoL1NHRAorcmV0aWNsZS9NUworcmV0aW5hbAorcmV0cm9hY3RpdmUvWQorcmV0cm9ncmFkYXRpb25zCityZXRzaW5hL01TCityZXYvUXNTREcKK1JldmQuCityZXZlYWxpbmcvVQorcmV2ZXJiZXJhbnQKK3JldmVyZW5jZS9JU00KK3JldmVyc2VyL00KK3JldmV0L0xERworcmV2aXZpZmljYXRpb24vTQorcmV2b2x2ZS9SREpHUworcmV3YXJkZWQvVQorcmV3aXJlCityZXdvdW5kCitSaG9kYS9NCityaG9tYm9pZC9NUworcmlib251Y2xlaWMKK3JpYm9zb21lL00KK1JpY2hhcmQvTVMKK3JpY2hlbi9kCitSaWNobW9uZHNoaXJlCityaWNvdHRhL1NNCityaWRkZW4vYworUmlnZ3MvTQorcmlnaHQvUlA3RGpHMzZTWQorUmluZWhhcnQvTQorcmluZy9EUk1HCityaXNlL2JHSlMKK3Jpc2VuCityaXR1YWxpc20vTQorUm4vTQorcm9iYmVyL1oKK1JvYmVydG8vTQorUm9iaW5ldHRlL00KK1JvYmxlcy9NCitSb2Njby9NCitSb2NoZWxsZS9NCityb2RlL2NGCitSb2dldC9NCityb2lsL1NHRAorcm9sbC1jYWxsCityb2xsZXIvTVMKK3JvbGxlci1za2F0ZS9HU0RNCityb2xsLW9uCitSb21hL00KK1JvbWFuZXNxdWUKK3JvbWFuaXNlL25TREcKK1JvbWFuc2gvTQorUm9uZGEvTQorcm9vZi9ScERHU00KK3Jvb2Z0b3AvUworcm9va2llL1NNCityb3Nld2F0ZXIKK1Jvc2x5bi9NCityb3N0ZXIvTVMKK3JvdG9yL1NNCityb3R1bmQvWQorcm91bGV0dGUvTQorcm92ZS9SR0RTCityb3dpbmctYm9hdC9NUworUm94YW5uZS9NCitSb3ljZS9NCityLnAubS4KK1J1Ymljb24vTQorcnViaWRpdW0vTQorcnVicmljL01TCitydWJ5L1NNCitSdWRkL00KK3J1bW1lcgorcnVuLWRvd24vTQorcnVubnkvVAorcnVuLXVwL1MKK3J1cHR1cmUvR01EUworcnVzaHkvVAorcnVzay9NUworcnVzdC9TV1pHMUQyTQorUnVzdGJlbHQvTQorcnV0YWJhZ2EvU00KK3J1dGhlcmZvcmRpdW0vTQorUnV0bGVkZ2UvTQorUnV0dGVyL00KK3J5ZS9NUworU2FhYi9NCitzYWJvdGFnZS9TREcKK3NhYnJlL1NNRAorc2FicmUtdG9vdGhlZAorc2Fjcm9pbGlhYy9TCitzYWNyb3NhbmN0CitzYWQvVDNQWQorc2FkZGVuL2RTCitTYWRpZS9NCitzYWRpc3QvMVcKK3NhZmZyb24vTQorc2FndWFyby9NUworc2FpbnQvWURTTQorU2FsL00KK3NhbGFtYW5kZXIvU00KK1NhbGF6YXIvTQorc2FsZXNjbGVyaworc2FsaW5lCitzYWxtb24vTVMKK3NhbHQtY2F0CitzYWx0ZWQvVQorc2FsdC1tYXJzaC9NCitzYWx0cGV0cmUKK3NhbHVicmlvdXMvWQorc2FsdWJyaXR5L00KK3NhbHV0YXRpb24vTQorc2FsdmFnZXIvTQorU2FtYW50aGEvTQorU2FtYXJpYS9NCitzYW1iYS9TTUdECitzYW1pemRhdAorc2FtcGxlL0RSU0dNSgorU2FtcHJhcworU2Ftc3VuZy9NCitTYW5hJ2EvTQorU2FuY2hlei9NCitzYW5jdGlmaWVyL00KK3Nhbml0aXNhdGlvbgorU2FudGEvTQorU2F0YW5pc3QKK3NhdGVlbi9NCitzYXRpc2ZpZXMvRQorc2F0aXNmeS9CRGtSU0cKK3NhdHVyYXRlL0NuU0dORAorU2F0dXJuL00KK1NhdWwvTQorU2F1bmRyYS9NCitzYXZvdXJpZXMKK3Nhdm95L1NNCitzYXd5ZXIvTVMKK3NjYWJyb3VzL1kKK3NjYWxwZWwvTVMKK3NjYW1wCitzY2FuZGFsb3VzL1kKK3NjYW50LzJ6WlkKK3NjYXJpZmllcgorc2NhcmxhdGluYS9NCitzY2F0b2xvZ3kvd00KK3NjYXZlbmdlL1JER1MKK1NjaGVoZXJhemFkZS9NCitzY2hpem9waHJlbmlhL00KK1NjaGxvc3MvTQorc2Nob2xhc3RpYy9TWQorc2Nob29saG91c2UvU00KK3NjaG9vbG1hdGUvUworU2NodXlsZXIvTQorU2Nod2VpdHplci9NCitzY2ltaXRhci9TTQorc2Nvb3AvTUdTNlJECitzY29yZXIvU00KK1Njb3R0aXNoCitzY291dGVyL00KK1NjcmFiYmxlJ3MKK3NjcmFtYmxlci9VTUMKK3NjcmltbWFnZS9NR1NECitTY3VkYW1vcmUvTQorc2N1ZmYvREdTCitzY3VydnkvU1kKK3NlYWZhcmVyL1NNCitzZWFsc2tpbgorc2VhbWVyL00KK1NlYW11cy9NCitzZWFuY2UvUworc2VhcmNoZXIvQU1TCitzZWFzb25hbGl0eQorc2VhdGVyL00KK3NlYmFjZW91cworc2VjZWRlL1NHRAorc2VjbHVkZS9HTlhTVkQKK3NlY3VyZWx5L0kKK3NlZGF0aW9uL00KK3NlZWQtcG90YXRvCitzZWVkeS9UUAorc2VlcC9HU0QKK3NlZ21lbnRhdGlvbi9NCitzZWlnbmlvci9TWk0KK3NlbGRvbQorc2VsZW5pdGUvTQorc2VsZi9wCitzZWxmLWFkZHJlc3NlZAorc2VsZi1jYXRlcmluZworc2VsZi1jbGVhbmluZworc2VsZi1jb25ncmF0dWxhdG9yeQorc2VsZi1jb25zaXN0ZW5jeQorc2VsZi1mdWxmaWxsaW5nCitzZWxmLWhhdHJlZAorc2VsZi1tYWRlCitzZWxmLW9waW5pb25hdGVkCitzZWxmLXBvc3Nlc3Npb24KK3NlbGYtcHJvY2xhaW1lZAorc2VsZi1yZWd1bGF0b3J5CitzZWxmc2FtZW5lc3MKK3NlbGYtc2VydmluZworc2VsZi13aWxsZWQKK1NlbGxhZmllbGQKK3NlbGxlci9BTVMKK3NlbWFudGljaXN0CitzZW1hcGhvcmUvRFNNRworc2VtZWlvdGljaWFuCitzZW1pLWRldGFjaGVkCitzZW1pLWZpbmFsL1MKK3NlbWluYXIvTVMKK3NlbXBsaWNlCitzZW5hdGUvU00KK1NlbmRhaS9NCitzZW5kZXIvU00KK3Nlbmlvci9TTQorU2VubmFjaGVyaWIvTQorc2Vuc2F0aW9uYWxpc3QvVworc2VudGVudGlvdXMvWQorc2VudGltZW50YWwvUTMtOHFZczkKK3NlbnRyeS9TTQorc2VwYXJhdGVuZXNzCitTZXB0ZW1iZXIvU00KK3NlcHRldC9TTQorc2VwdGljYWVtaWMKK3NlcS4KK3NlcXVhY2lvdXMvWQorc2VxdWVuY2Uncy9GCitzZXF1ZW50aWFsaXR5L0YKK3NlcXVlc3Rlci9kU25OCitzZXJhJ3MKK1NlcmVuYS9NCitzZXJpb3VzbmVzcworc2VycGVudC9TTQorc2VycGlnaW5vdXMKK3NlcnJpZWQKK3NlcnVtL01TCitzZXJ2aWNlYWJsZS9VCitzZXJ2b21vdG9yL01TCitTZXRvbi9NCitzZXRzL0FJCitzZXQtdXAvUworc2V2ZXJhbHR5L00KK3NldmVyYW5jZS9NUworc2V3ZXIvU00KK3NleC9TekczcDJaRAorc2V4b2xvZ3kvM00KK3NleC1zdGFydmVkCitzZXh0YW50L1NNCitzaGFkaW5nL00KK3NoYWRvdy9ER3AyWk1TCitzaGFkb3dzL2MKK3NoYWZ0L0RHU00KK3NoYWtlLzJaN1NSRworU2hha2VzcGVhcmlhbgorc2hhbmdoYWkvRFNNRworU2hhbm5vbi9NCitzaGFwZSdzCitTaGFwaXJvL00KK3NoYXJlLzdTUkdETQorc2hhcmVob2xkaW5nL1MKK1NoYXJpZgorc2hhcnBzaG9vdGVyL01TCitTaGF1bi9NCitTaGF5L00KK3NoZWF0aC9NR0RKUworU2hlYmEvTQorc2hlZC9TR00KK3NoZSdkCitzaGVpa2RvbS9TTQorU2hlaWxhaC9NCitTaGVsYnkvTQorc2hlbGYtbGlmZQorc2hlbGYtbWFyaworc2hlbGYtcm9vbQorU2hlbGlhL00KK3NoZSdsbAorc2hlbHZpbmcvTQorU2hlcHN0b25lL00KK1NoZXJhdG9uL00KK1NoZXJpL00KK1NoZXJ3aW4vTQorc2hpZnRsZXNzL1kKK1NoaSdpdGUKK3NoaWxsaW5nL1NNCitTaGlsb2gvTQorc2hpbi1ib25lL1NNCitzaGlwYm9ybmUKK3NoaXBwYWJsZQorc2hpcnQtZnJvbnQvUworU2hpdmEvTQorc2hvY2svR1JTRGsKK3Nob2VzL2MKK3Nob290L2ZHU2MKK3Nob3BrZWVwaW5nCitTaG9yZWhhbQorc2hvcmV3YXJkCitzaG9ydGJyZWFkL1NNCitzaG9ydGNha2UvTVMKK3Nob3J0LWNpcmN1aXRpbmcKK3Nob3J0ZW5pbmcvTQorc2hvcnRoYW5kL00KK3Nob3VsZGVyLWhpZ2gKK3Nob3ZlbC9NRFI2R1MKK1NpY2lseS9NCitzaWNrLWxlYXZlCitzaWNrLXBheQorc2lkZXJlYWwKK1NpZXJyYS9NCitzaWV2ZS9TR0RNCitzaWZ0L0FTR0QKK3NpZ21hL00KK3NpZ25ldC9NUworc2lnbm9yaQorU2lraGlzbS9TTQorc2lsaWNvbmUvU00KK3NpbHR5L1QKK1NpbW9uL00KK3NpbXBlci9kUworc2ltcGxlLW1pbmRlZC9ZCitzaW1wbGlmaWVyL1NNCitzaW1wbGlmeS9uY0dETlMKK1NpbXBzb24vTQorc2ltdWxhdG9yL01FUworc2luZWN1cmlzdC9NCitzaW5nZWluZworc2luZ2VyLXNvbmd3cml0ZXIKK3NpbmdsZS9QR0RTCitzaW5nbGUtbGluZQorc2luaXN0ZXJuZXNzCitzaW4ncy9BCitzaW50ZXJlZAorc2lyb2Njby9NUworc2lzdGVybHkvUAorc2l0dGluZy9NCitzaXR1YXRpb24vTQorc2l0dWF0aW9uYWwKK3NpeHR5LWZpdmUvSAorc2l4dHktZm91ci9ICitza2F0ZS9HUlNNRAorc2tlZGFkZGxlL1NHRAorc2tldGNoeS9QVAorc2tpL0dNUworc2tpbXB5L1BUCitza2luZmxpbnQvTVMKK3NraXJ0J3MvZgorc2tpdHRlci9kU1oKK3NraXR0aXNoL1lQCitza2l0dGxlL01TCitza3VsbC9TTQorc2t5amFjay9SSlNHRAorc2t5d2F5L00KK3NsYWNrZW4vZFMKK3NsYW50L0dEUworc2xhdmUtZHJpdmVuCitzbGVhemUvWlMKK3NsZWV0L0daRFNNCitzbGVpZ2h0L1NNCitzbGlteS9UCitzbGlwcGVyLzJaCitzbG9nYW4vU00KK3Nsb29wL1NNCitzbG9wcHkvVFAKK3Nsb3Zlbi9ZU00KK1Nsb3ZlbmlhL00KK3NsdWdnaXNoL1BZCitzbHVpY2UvRE1TRworc2x1bWJlcm91cworc2x1c2h5L1BUCitzbHV0L1NNCitzbWlkZ2VuL01TCitzbWlsZXkvTQorc21pdGgvWlNNeQorc21va2VzdGFjay9TTQorc21vb2NoL0dTRAorc211dHR5L1BUCitzbmFwcGFibGUKK3NuYXBwaW5nL1kKK3NuZWVyL0RTa0dNCitzbmVlemUvU0dECitzbmljay9STQorU25pZGVyJ3MKK3NuaWdnZXIvZFMKK3NuaXZlbC9SU0RHSgorc25vb2svUk0KK3Nub3diYWxsL0dEU00KK3NvYXAvU0daTUQyCitzb2IvU0RHCitTb2MuCitzb2NpZXR5L29TTQorc29jaW9saW5ndWlzdGljL1MKK3NvY2lvbG9neS8xM013Uworc29jaW8tcG9saXRpY2FsCitzb2RvbWl0ZS9TTQorc29mdGVyCitzb2Z0LWhlYWRlZG5lc3MKK3NvZnR5L01TCitTb2hhbS9NCitzb2xlY2lzdC9XCitzb2xpZGFyaXR5L1NNCitzb2xpdGFpcmUvU00KK3NvbGl0dWRlL1NNCitTb2xvbW9uL00KK3NvbHN0aWNlL1NNCitTb21lcnNldC9NCitzb21ub2xlbnQvWQorc29uZ2Jvb2svUworU29ub21hL00KK3Nvb24vVAorc29vdHkvVAorc29waGlzbS9TTQorc29waGlzdGljYXRlL0dTaEQKK3NvcHB5L1QKK3NvcnJvd2Z1bC9QCitzb3J0L0ZTTUFHRAorc290L01TCitzb3VsLWRlc3Ryb3lpbmcKK3NvdW5kdHJhY2svTVMKK1NvdXRoYWxsCitzb3V0aC1FYXN0L00KK3NvdXRoLWVhc3Rlcmx5CitTb3V0aGZpZWxkL00KK3NvdXRoLXNvdXRoLWVhc3QKK3NvdXRoLVdlc3Rlcmx5L1MKK3NvdXZlbmlyL01TCitzb3ZlcmVpZ250eS9TTQorc292aWV0L1NNCitzb3lhCitzcGFjZXN1aXQvU00KK3NwYWRpY2VvdXMKK1NwYW5pc2gvTQorc3Bhbmtlci9NCitzcGFyL2RNa0RHUworU1BBUkMvTQorc3BhcnJvdy9TTQorU3BhcnRhbi9TCitzcGFzbW9kaWMvWQorc3BhdmluL1NNCitzcGVhay9HUlM3Sgorc3BlYXJtaW50L1NNCitzcGVjaWFsaXNlZC9VCitzcGVjdGF0b3IvTVMKK3NwZWN0cmUvTVMKK3NwZWN0cm9ncmFtL1NNCitzcGVlY2hpZnlpbmcKK3NwZW5kYWJsZQorc3BlbmRpbmdzCitTcGVycnkvTQorc3BoYWdudW0vTQorc3BoZXJvaWRhbAorc3BpY3VsZS9TTQorc3BpZ290L1NNCitzcGlueS9UCitzcGlyYWwvU0RHWQorc3Bpcml0dW91cworc3BpdGluZworc3BsaXQtc2Vjb25kCitzcGxvdGNoeS9UCitzcG9ydHNjYXN0L1JTR00KK3Nwb3J0eS9UUAorc3ByaWdodGx5L1RQCitzcHJpbmdpbmVzcy9TCitTcHJpbmdzdGVlbi9NCitzcHJvY2tldC9kU00KK3NwcnlseQorc3ByeW5lc3MKK3NwdW5reS9UCitzcHVyZ2UvU00KK3NweS9HRE1TCitzcHlnbGFzcy9TTQorc3EKK3NxdWFkL01TCitzcXVhbGwvTVlTREcKK3NxdWFyZXIvTQorc3F1ZWxjaC9aRFNHCitzcXVpZ2dsZS9TWU1HRAorc3F1aW50L1NERworU1NBL1NNCitTU1MKK3N0YWJsZW1lbi9NCitzdGFmZmVkL2NVZgorc3RhZmYncworc3RhZ2UtbWFuYWdlbWVudAorU3RhaW5lcworc3RhaXJ3YXkvTVMKK3N0YWxhY3RpdGUvTVMKK3N0YW1tZXIvcmRTaworc3RhbXBlZC9kCitzdGFuZHN0aWxsL1NNCitTdGFuZm9yZC9NCitzdGFubm91cworU3RhcmdhdGUvTQorc3RhcmsvVFlQCitzdGFyc2hpcAorc3RhcnZlL0dOU25ECitzdGF0ZS9hU0FMR2ZJY0QKK3N0YXRlY3JhZnQKK3N0YXRlaG9vZC9NUworc3RhdGVsZXNzL1AKK3N0YXRlLW9mLXRoZS1hcnQKK3N0YXRpb25lZAorc3RhdGlvbmluZworc3RhdHVlL01TRAorc3RhdHVlc3F1ZW5lc3MKK3N0YXktYXQtaG9tZQorc3RheWVyL1NNCitzdGVhZGllZAorc3RlYWRpZXIKK3N0ZWFsaW5nL00KK3N0ZWVwZW4vZFMKK1N0ZWZhbi9NCitTdGVmZmkvTQorc3RlcGJyb3RoZXIvTVMKK3N0ZXBkYXVnaHRlci9NUworU3RlcGhhbi9NCitzdGVwbW90aGVyL1NNCitzdGVwLXBhcmVudC9TTQorc3RlcmVvc2NvcGUvWldNMVMKK3N0ZXJpbGl0eS9TTQorc3Rlcm5hbAorc3Rlcm9pZGFsCitzdGV0aG9zY29wZS9TTQorc3RpZmYtbmVja2VkCitzdGlsdC9NaGlTRAorc3RpbXVsYXRvci9NCitzdGluZy9SWlNHa3oyCitzdGludGVyL00KK3N0aXBwbGUvR0RTSgorc3RpcHVsYXRlL0dObkRTCitzdGl0Y2gvQURHSlMKK3N0b2NrZXIvTVMKK3N0b2Nrcm9vbS9TTQorc3RvY2t5L1lUUDMKK1N0b2tlcydzCitzdG9sb25hdGUKK3N0b2xvbmlmZXJvdXMKK3N0b21hY2gtdHViZQorU3RvbmVoZW5nZS9NCitzdG9uZXdhbGwvRFNHCitzdG9vbC9NUworc3RvcHBlcmVkCitzdG9ybWJvdW5kCitzdG9ybS1maW5jaC9TTQorc3Rvcnlib29rL1NNCitzdG91dC1oZWFydGVkbmVzcworU3RvdXQncworc3RvdmUvU00KK3N0cmFpZ2h0LWVkZ2UvU00KK3N0cmFuZC9HU0QKK3N0cmFuZ2xlL0RHUlMKK3N0cmFuZ2xlaG9sZC9NUworU3RyYXRoY2x5ZGUvTQorc3RyYXRpZmljYXRpb24vTQorU3RyZWlzYW5kL00KK3N0cmV0Y2gvZUdEUworc3RyaWEvbk0KK3N0cmlhdGlvbi9NCitzdHJpa2VicmVha2luZy9NCitzdHJpcHBlci9NUworc3RyaXAncworc3Ryb2RlCitzdHJvcGhlL1dTTQorc3Ryb3ZlCitzdHJ1Y3R1cmFsaXNtL00KK3N0dWNrL1UKK3N0dWRlbnRzaGlwL01TCitzdHVkaWVkbmVzcy9NCitzdHVkaWVyL1NNCitzdHVkaW8vU00KK3N0dXBlbmRvdXMvWVAKK3N0dXBpZGl0eS9NUworU3R5Z2lhbgorc3R5bGUncworc3R5bGlzaG5lc3MKK3N0eWxpc3QvV00xUworc3ViYXRvbWljCitzdWJjdWx0dXJlL1NNCitzdWItZWRpdG9yL1NNCitzdWJncm91cC9TTQorc3ViaGVhZC9NR1NKCitzdWJqZWN0aW9uL1NNCitzdWJqb2luL0dEUworc3VianVnYXRpb24vTQorc3VibGltaW5hbC9ZCitzdWJvcmRpbmF0aXZlCitzdWJyZWdpb24vU29NCitzdWJyb3V0aW5lL1NNCitzdWJzaWRpYXJpdHkKK3N1YnNpc3RlbnQKK3N1YnN0YW50aWF0ZS9OU0RHbgorc3Vic3RhbnRpYXRlZC9VCitzdWJzdHJhdGEKK3N1YnRlcnJhbmVhbi9ZUworc3VidG90YWwvTVMKK3N1Y2N1bGVuY2UvTQorc3Vjay9HUlNECitzdWRzeS9UCitzdWUvUjdTR0QKK1N1ZXovTQorc3VmZmljaWVuY3kvSU0KK3N1Z2FyeQorc3VnZ2VzdGlvbi9TTQorc3VpdGFibGUvVQorc3VpdGNhc2UvU00KK3N1bGsvR1p6MlNECitzdWxsZW4vWVAKK3N1bHBoaXRlL1MKK1N1bW1lcmRhbGUvTQorc3VtbW9uL3JkUworc3VtcC9TTQorc3VuL0RacE1TRzIKK3N1bmJlYW0vTVMKK3N1bnNjcmVlbi9TCitzdXBlcmFidW5kYW50CitzdXBlcmNvb2xpbmcKK3N1cGVyZXJvZ2F0aW9uL00KK3N1cGVyaW1wb3NlL1hTR0ROCitzdXBlcnBvc2UvREdOUworc3VwZXJ1c2VyL01TCitzdXBlcnZpc2UvRE5HWFMKK3N1cHBsaWNhdGUvR0RTTm4KK3N1cHByZXNzYW50L1MKK3N1cHByZXNzb3IvUworc3VyZS9UUFkKK3N1cmV0eS9TTQorc3VyZmluZy9NCitTdXJpbmFtZS9NCitzdXJyZXB0aXRpb3VzL1kKK3N1cnJvZ2FjeQorc3Vycm91bmRpbmcvTQorc3VydGl0bGVzCitzdXJ2aXZhbGlzdC9TCitTdXNhbm5hL00KK3N1c3MvR1NECitzdXN0ZW5hbmNlL00KK3N1dGxlci9NUworU3V0dG9uL00KK3N3YW4vR01TRAorc3dhcHBhYmxlCitzd2FydAorc3dhc2hidWNrbGluZworc3dlYXRwYW50cworU3dlZGVuYm9yZy9NCitzd2VldGJyaWVyL1NNCitzd2VldGllL1NNCitzd2VldC10ZW1wZXJlZAorc3dlbGxpbmcvTQorc3dlcHQKK3N3ZXJ2aW5nL1UKK3N3aWxsL1NERworc3dpc2gvU1pERworc3dpdGNoZ2Vhcgorc3dpdmVsL0RHU00KK1N5YmlsbGUvTQorU3lsdmVzdGVyL00KK1N5bHZpYS9NCitzeW5hZXJlc2lzCitzeW5hZ29nYWwKK3N5bmNoCitzeW5jaHJvbml6aW5nL0MKK3N5bmNocm9ub3VzL1kKK3N5bmNvcGUvbk1OCitzeW5lcmd5L1NNCitTeXJhY3VzZS9NCitTeXJpYS9NCit0YWJieS9NUwordGFibGVhdS9NCit0YWJsZWF1eAordGFibGV3YXJlL00KK3RhYnVsYXRlL1NOR25ECit0YWNvL01TCitUYWNvbWEvTQordGFnZ2VkL1UKK3RhaWxsZXNzCit0YWlsc3Bpbi9TTQorVGFsbGFkZWdhL00KK3RhbGxib3kvTVMKK3RhbGx5L0RTRwordGFsbHktaG9zCit0YW1lYWJpbGl0eQorVGFtcGF4L00KK1RhbXBlcmUKK3RhbmcvTVpiUworVGFuZ2FueWlrYS9NCit0YW5naWJsZS9JWVMKK1RhbmdpZXIncwordGFuc3kvTVMKK1Rhbnphbmlhbi9TCit0YXJhbnRlbGxhL1NNCit0YXJtYWNhZGFtCit0YXJvdC9TTQorVGFzbWFuaWFuL1MKK1Rhc3MvTQordGFzdHkvVFBZCit0YXgvU2tsbk1KRzdECit0YXhhYmxlL1MKK3RheC1mcmVlCit0YXhpZGVybXkvM1NNCit0YXhvbm9teS8xM3dXU00KK3RlYS1sZWFmCit0ZWFtL01ER1MKK3RlYXItZ2FzL0dECit0ZWFyamVya2VyL1MKK3RlYXJsZXNzbmVzcwordGVhcm9vbS9NUwordGVjaG5vY3JhY3kvU00KK3RlY2hzCit0ZWVuc3ktd2VlbnN5Cit0ZWxlb2xvZ3kvd00KK1RlbGV0eXBlL01TCit0ZWxldmFuZ2VsaXNtL1MKK3RlbGV3b3JraW5nCit0ZW1wb3JhcmlseQordGVtcG9yYXJpbmVzcworVGVubmVzc2VlL00KK1Rlbm55c29uL00KK1RlcmVuY2UvTQorVGVyZXNhL00KK3Rlcm1pbmFsL1NZTQordGVybWluYXRlL0NOU24KK1RlcnJhbmNlL00KK3RlcnJhcml1bS9TTQordGVycmlibGVuZXNzCit0ZXJyeS9TUk0KK3Rlc3RhYmlsaXR5L00KK3RldGNoeS9UWQordGV0cmFoZWRyYS9vCit0ZXRyYW1ldGVyL01TCit0ZXh0L0tTRk0KK3RleHR1cmVkL1UKK3RoYW5rbGVzcy9ZCit0aGF0Y2gvTVJEU0cKK1RoYXRjaGVyaXRlCit0aGUvSkcKK3RoZWF0cmVnb2VyL01TCit0aGVpc3QvTVdTCit0aGVvZG9saXRlL1NNCit0aGVvbG9neS9TdzFNCit0aGVyZWluCit0aGVybW9jb3VwbGUvU00KK3RoZXJtb2Zvcm1pbmcKK3RoZXJtb21ldHJ5L00KK1RoZXJvbi9NCitUaGVzZXVzCit0aGV5J3ZlCitUaGllbnN2aWxsZS9NCit0aGluL1REUkdQWVMKK3RoaW5rYWJsZS9VCit0aGlydHktZmlyc3QvUwordGhpcnR5LXNpeC9ICitUaG9tL00KK1Rob21zb24vTQordGhvcmF4L01TCit0aG91c2FuZC9IU00KK3RocmVlcGVubnkKK3RocmVlLXBvaW50Cit0aHJlZS13YXkKK3RocmlsbC9EUk1rU0cKK3Rocm9hdC8yRE1aelMKK3Rocm9uZSdzCit0aHJvdHRsZS9ETUdTCit0aHJvdy1pbgordGhydXNoL1NNCit0aHVuZGVyLWJveAordGh5c2VsZgorVGliZXIvTQordGlja2V0LW9mLWxlYXZlCit0aWNrLXRhY2sKK3RpYy10YWMKK3RpZGV3YXkvTQordGlnaHRlbi9kUwordGlnaHQtZmlzdGVkCit0aWtlJ3MKK3RpbWJlcmxpbmUvUwordGltZXMvY2EKK1RpbmEvTQordGluZGVyYm94L1NNCit0aW5lL01TWgordGluZ2x5L1QKK3RpbmtlcmVyL1MKK3RpbnNtaXRoL1NNCit0aW4tdGFjawordGlud2FyZS9NCit0aXAtb2ZmcwordGlyZWQvWQordGlzc3VlL01TCit0aXRpbGxhdGlvbi9NCit0aXRpdmF0ZS9uU05ERwordGl0bGUtZGVlZC9NUwordGl0cmF0ZS9TR0QKK1RpdHVzL00KK3RvYXN0aW5nLWZvcmsKK3RvYXN0bWFzdGVyL1NNCit0b2JvZ2dhbmlzdAorVG9ieS9NCit0b2NjYXRhL00KK3RvY3Npbi9NUwordG9pbHNvbWVuZXNzCit0b2lsLXdvcm4KK3RvbGVyYW50L0lZCit0b20vTVMKK3RvbWJvbGEvTQordG9tYnN0b25lL1NNCit0b25lJ3MvY2YKK3RvbmljL01TCit0b25zaWwvU00KK3RvcGtub3QvTVMKK3RvcG1vc3QKK3RvcmNobGlnaHQKK3Rvcm5hZG8vTQordG9ycGVkb2VzCit0b3JwaWRpdHkvUwordG90ZW0vTVMKK1RvdHRlbmhhbS9NCit0b3VjYW4vTVMKK3RvdWNo6QordG91Y2hzdG9uZS9TTQordG91cmlzdC9aTVMKK3Rvd25zaGlwL01TCitUb3luYmVlL00KK3RyYWNlL0FOREduUwordHJhY2tiZWQKK3RyYWNrc3VpdC9NUwordHJhY3RpdmUKK3RyYWRlc2NhbnRpYQordHJhZGl0aW9uL1NNbwordHJhZGl0aW9uYWwvMwordHJhZHVjZS9HUkRTCit0cmFmZmlja2luZy9TCit0cmFnZWRpYW4vU00KK3RyYWdpY29tZWR5L01TCit0cmFnaWNvbWljCit0cmFpbi1iZWFyZXIvUwordHJhaW5lZXNoaXBzCit0cmFpdG9yb3VzL1kKK3RyYW1tZWxsZWQvVQordHJhbnNjZWl2ZXIvU00KK3RyYW5zZWN0L1NHCit0cmFuc2ZlcmVlL1NNCit0cmFuc2l0aW9uL0RNRwordHJhbnNpdGl2ZS9JUFkKK3RyYW5zbWl0dGFibGUKK3RyYW5zb25pYwordHJhbnNwaXJlL0RuTlNHCit0cmFuc3BvcnRhYmxlL1UKK3RyYW5zcG9zZS9OCit0cmF2ZWwvRFJHSlMKK3RyYXZlcnRpbmUvTQordHJlYWNoZXJvdXMvUFkKK3RyZWF0ZWQvS1VBYQordHJlYmxlL1NERwordHJlZS9NcEdTCit0cmVsbGlzL01kUwordHJlbWF0b2RlL1NNCit0cmVuZC9EeloyTVNHCit0cmV3cwordHJpYnV0ZS9GU0UKK3RyaWVkL1UKK3RyaWVyL01TCitUcmllc3RlL00KK3RyaWcvRFJHUwordHJpaGVkcmFsCitUcmluYS9NCit0cmluaXR5L1NNCit0cmlveGlkZS9NCit0cmlwL1NEUkdNWQorVHJpcG9saS9NCit0cmlwb3MvU00KK1RyaXBwL00KK3Ryb2NoYWljL1MKK3Ryb2dsb2R5dGUvU00KK3Ryb3BoeS9NUwordHJvdWdoL01TCit0cm91cGUvU1JNCit0cm91dC9NCit0cnVhbnQvR0RNUwordHJ1Y3VsZW50L1kKK3RydWUtYmx1ZQorVHJ1bWFuL00KK3RydW5kbGUvU0RHCit0cnVuay9TR00KK3RydXN0L0U2U2FER2oKK3RzYXJpc3QKK3R1YmUvTXBTCit0dWJlcmN1bG91cwordHViZXJvc2UvTVMKK3R1Zy9HU0QKK1R1bHNhL00KK3R1cmQvU00KK1R1cmtleS9NCit0dXJtZXJpYy9NUwordHVybmNvYXQvU00KK3R1cm50YWJsZS9NUworVHVzY2Fsb29zYS9NCit0dXRvcnNoaXAvUwordHUtd2hvbwordHdhZGRsZS9NCitUd2VlZC9NCit0d2VlemVycwordHdpZGRsZXIvTQordHdpbmdlL0RNR1MKK1R3cAordHlpbmcvVUEKK3R5cm9zaW5lL00KK1VBVwordWRkZXIvU00KK3VsY2VyYXRpb24vTQordWxuYS9NCit1bWJpbGljYWwKK3VtbGF1dC9HRFNNCit1bXB0ZWVuCit1bmFzc2VydGl2ZQordW5idWNrbGUvRwordW5jYWxsZWQtZm9yCit1bmNvbXBldGl0aXZlCit1bmNvbnZlbnRpb25hbAordW5kZXJsaW5lCit1bmRlcnBpbgordW5kZXItc2hlcmlmZgordW5kZXJzdHJlbmd0aAordW5kZXJzdHJ1Y3R1cmUKK3VuZGVyd2Vhci9NCit1bmR1bGF0ZS9Tbk5ERwordW5ldmVubmVzcwordW5mYXRob21hYmxlL1kKK3VuZm9yZ2VhYmxlCit1bmdhbGxhbnQKK3VuZ2VudGxlCit1bmdyYWNlZnVsCit1bmd1YXJkZWQKK3VuaG9yc2UKK3VuaWRpcmVjdGlvbmFsL1kKK3VuaWZvcm1pdHkvTVMKK3VuaW1wb3NpbmcKK3VuaW9uaXN0Cit1bmxhdGNoL0cKK3VubXVzaWNhbAordW5uYXZpZ2FibGUKK3VucGFydGl6YW4KK3VucHJvZml0YWJsZQordW5yZWxlbnRpbmcvWQordW5yZW1pdHRpbmcvWQordW5zZXQKK3Vuc2hha2FibGUvWQordW5zdGFtcGVkCit1bnRpbWVseQordW50eXJlZAordW53b21hbmx5Cit1cGdyYWRhYmxlCit1cGhlbGQKK3VwaGlsbAordXBvbi9GCit1cHJpZ2h0bmVzcwordXBzdGFnZS9TREcKK3VwLXRlbXBvCit1cC10by10aGUtbWludXRlCit1cHRvd24KK3VyYWNpbC9NUwordXJhZW1pYwordXJjaGluL01TCit1cmV0aHJhL01TCit1cmV0aHJhZQordXJnZS9KREdTCitVcnVndWF5YW4vUworVVNBRgorVVNDRworVVNJQQorVVNNQworVVNOCit1c3VhbC9VWQordXRpbGl0YXJpYW4KK1V0dGxlc2ZvcmQKK1ZhaWwvTQorVmFsbGV0dGEvTQorVmFuY291dmVyL00KK3ZhbmUvTVMKK3ZhbnF1aXNoZWQvVQordmFwb3JvdXMKK3ZhcG91ci9NUworVmFyZ2FzL00KK3ZhcmlhbnQvSVMKK3ZhcmlhdGlvbi9NCit2YXJpZWdhdGlvbi9NCit2YXJpZXRhbAordmFyeS9CU0RsR2toCitWYXNpbHkvTQordmFzc2FsYWdlL01TCit2ZWFsJ3MKK1ZlZ2EvU00KK3ZlZ2V0YWJsZS9NUwordmVnZXRhdGlvbi9NCit2ZWxhci9TCit2ZW5kL1NiREcKK3ZlbmVlci9HbkRTTk0KK3ZlbmVyYXRlL0dCRFMKK3ZlbmVyZWFsCit2ZW5pc29uL00KK3Zlbm9tb3VzbmVzcwordmVyYWNpdHkvU00KK3ZlcmlmeS9CblJER05TCitWZXJuZS9NCitWZXJvbmEvTQorVmVyb25pcXVlL00KK3ZlcnJ1Y2EvTVMKK3ZlcnN1cwordmVydGlnaW5vdXMKK3ZlcnZlL01TCit2ZXN0L3lTREdMb00KK3Zlc3RpZ2UvTW9TCit2ZXhlcworVkZXCitWR0EKK1ZIRgordmljZS1DaGFuY2VsbG9yL1NNCit2aWNlZ2VyZW50L1NNCit2aWNlLVByZXNpZGVudGlhbAordmljZXJlZ2FsCit2aWN0b3Jpb3VzL1kKK3ZpZGVvL0RNR1MKK3ZpZS83U0RHCit2aWV3ZmluZGVyL01TCit2aWdpbC9TTQordmlnbmV0dGUvTUdEUworVmlrcmFtL00KK3ZpbGxhaW4vTVNaCit2aWxsYWlueS9TTQordmlvbGEvbk1TCit2aW9saW4vM01TCit2aW9saXN0Cit2aW9sb25jZWxsby9TTQordmlyYWwvWQorVmlyZ2luaWEvTQordmlydHVhbAordmlydHVvc2kKK3ZpcnR1b3VzL1kKK3Zpc2EvTVMKK3Zpc2NvdW50L01TCit2aXNpYmx5L0kKK3Zpc2lvbidzL0sKK3ZpdGFsaXplcy9DCit2aXRpY3VsdHVyaXN0L1MKK3ZpdmFjaXR5L1NNCitWaXZhbGRpL00KK3ZpdmVuZGkKK3ZpdmlzZWN0aW9uL01TMworVkxTSQordm9jYWwvOTgtUTNzcVNZCit2b2NhbGlzZWQvVQordm9jYWxpc3QKK3ZvY2F0aW9uYWwKK3ZvY2lmZXJhdGlvbi9NCit2b2RrYS9TTQorVm9ldHNlawordm9ndWUvU00KK3ZvbGNhbmljL1kKK3ZvbGNhbmlzbS9NCit2b2xjYW5vL00KK3ZvbGUvTVMKK1ZvbGtlcgordm9sbGV5L1NETUcKK3ZvbHV0ZS9TRgordm9ydGV4L1NNCit2b3lhZ2V1ci9TTQordm95ZXVyaXN0aWMKK3Z1bG5lcmFibHkvSQorV2Fkc3dvcnRoL00KK3dhZ2UvTVMKK3dhZ2dvbmVyJ3MKK1dhaGhhYmkKK3dhaWYvTVMKK3dhaXZlL0dTUkQKK1dha2F5YW1hL00KK3dha2V1cAorV2FsZ3JlZW4vTQord2FsbC9TREdNCitXYWx0b24vTQorV2FsdG9uLW9uLVRoYW1lcword2FuZC9TTQord2FudGVkL1UKK3dhbnRvbi9ZCit3YXBpdGkvU00KK3dhcmVob3VzZS9EbU1HUword2FyZmFyZS9NCit3YXJpZXN0Cit3YXJsb3JkL1NNCit3YXJtLWRvd24KK3dhcm0tdXAvUworV2FybmUvTQord2FycmFudC9TN1pER00KK3dhcidzL0MKK3dhc2hzdGFuZC9TTQord2FzaHkKK3dhc3QvUkRHCit3YXN0ZWZ1bG5lc3MKK3dhc3RlbGFuZC9NUword2FzdGUtcGFwZXIvTQord2F0Y2h0b3dlci9TTQord2F0ZXIvbU1wWmRTMgord2F0ZXJmb3dsL00KK1dhdGVybG9vL00KK3dhdGVyc3BvdXQvU00KK1dhdGVydG93bi9NCitXYXVwYWNhL00KK3dhdmViYW5kL01TCit3YXZlbGV0L01TCit3YXlmYXJlci9TTQord2Vha2VuL2RTCit3ZWFsdGh5L1QKK3dlYXJhYmxlL1UKK3dlYXNlbC9TREdNCitXZWJiL00KK3dlZGRpbmcvTVMKK3dlZGdlL0dTTUQKK1dlZG5lc2ZpZWxkCit3ZWUKK3dlaWdodC9jRFNHCitXZWlzc211bGxlci9NCit3ZWxjb21lZAord2VsbC1jaG9zZW4KK3dlbGwtZGVzaWduZWQKK3dlbGwtZHJlc3NlZAord2VsbC1lc3RhYmxpc2hlZAord2VsbC1pbmZvcm1lZAord2VsbC1tZWFuaW5nCit3ZWxsLXJlYWQKK3dlbGwtcm91bmRlZAord2VsbC1zcG9rZW4KK3dlbGwtdGltZWQKK3dlbHQvUlNER00KK1dlbHd5bi9NCit3ZXJlCitXZXNsZXkvTQorV2VzdGZpZWxkL00KK1dlc3Rtb3JsYW5kL00KK1dlc3Rwb3J0L00KK3doYWxlYm9uZS9TTQorV2hhbGVuL00KK3doZWVkbGUvRFNHCit3aGVlbC9HUkRTTQord2hlcmV2ZXIKK3doZXJld2l0aAord2hpY2gKK3doaWZmL0RHU00KK1doaWcvU00KK3doaWxvbQord2hpcmwvR0RTCit3aGl0CitXaGl0YnJlYWQKK1doaXRlbGF3L00KK3doaXRld2FzaGVyCit3aGl0aGVyCitXaGl0dGFrZXIvTQorV2hpdHdlbGwvTQord2hvbGVoZWFydGVkbmVzcword2h5cword2lkZS1zY3JlZW4KK3dpZy9NR1NECit3aWdnbGUvUkdZRFMKK3dpbGRlcm5lc3MvUword2lsZGZpcmUvTVMKK1dpbGxjb2NrcworV2lsbGVtc3RhZAord2lsbHBvd2VyL01TCit3aW5jaC9EU0dNCit3aW5kY2hlYXRlci9TTQord2luZGVyL01TCit3aW5kLXVwL1NNCit3aW5kd2FyZAord2luZ3NwcmVhZC9TTQorV2luaWZyZWQvTQord2luay9SRFNHCitXaW5uZWJhZ28vTQord2ludGVyZXIvTQord2ludHJ5L1QKK3dpcmUtdGFwcGVyCit3aXJpbmcncword2lzZWFjcmUvTVMKK1dpdGhlcnNwb29uCit3aXRoaW4KK1dpdHRnZW5zdGVpbi9NCit3aXR0eS9QVAord29iYmxlcidzCit3b2xmaG91bmQvU00KK1dvbGxvbmdvbmcKK3dvbWFua2luZC9NCit3b29kZW5uZXNzCit3b29kc2hlZC9NUword29yZC1wZXJmZWN0Cit3b3JkeS9UUFkKK3dvcmthaG9saWMvUword29ya2ZvcmNlL1MKK1dvcmtpbmd0b24KK3dvcmtsb2FkL1NNCit3b3JrdG9wL1MKK3dvcmxkL2ZNUword29ybGRseS13aXNlCit3b3JzdGVkL01TCit3b3J0aC9wWnoyCit3b3J0aGlseS9VCit3b3J0aGluZXNzL1UKK3dvcnRod2hpbGUKK3dyYWNrL00KK3dyYWl0aC9NUword3JhbmdsZS9HUkRTCit3cmVhay9EU0cKK1dyZXhoYW0vTQord3JvbmctZm9vdC9ECit3cm9uZy1oZWFkZWQvWQord3JvbmduZXNzCit3cm90aAord3J5LzMKK3dyeWVzdAord3J5bmVzcworV3UvTQord3VyemVsL1MKK1d5Y29tYmUKK3hlcm9waHl0ZS9NUworeGlpCitYT1IKK3lhY2h0ZXJzCit5YW5rL1NHRAorWWFvdW5k6S9NCit5YXAvU0dECit5YXJkL1NNCit5ZWFoCitZZWF0cworeWVsbG93aGFtbWVyL01TCit5ZW9tYW5yeQoreWVzdGVyZGF5L1NNCit5b2xrL1NNCit5b24KK3lvcmUKK3lvdW5nL1QKK1lvdW5pcworWW91bmtlcgoreW93bC9HU0QKK1phY2hhcnkKK1phbWJpYS9NCitaZWFsYW5kZXJzCit6ZWJ1L1NNCitaZWVsYW5kCit6ZXVnbWEvTQoremlwcHkvVAorem9vbG9neS8zU013MQorYS9vCitBYXJvbi9NCithYmFuZG9uL0xkUworQWJiYS9NCithYmR1Y3Rpb24vU00KK2FiZXQvR1NECithYmplY3QvUFkKK2FianVyZS9ueVJTREdOCithYm9saXRpb25pc3QKK2Fib3JpZ2luYWwKK2Fib3JpZ2luZS9vU00KK2Fib3J0L0RWR3ZTdQorQWJyYWhhbS9NCithYnJhc2lvbi9NCithYnMvTQorYWJzZW50ZWVpc20vU00KK2Fic29yYi9HUkRYTlZrUworYWNhY2lhL1NNCithY2FkZW1lLzFTTVp3CithY2NlbnR1YWwvWQorYWNjZW50dWF0ZS9ORFNuRworYWNjZXB0b3IvTVMKK2FjY2Vzc2libGUvSVkKK2FjY2xpbWF0ZS9TczlROERObkcKK2FjY29sYWRlL01HRFMKK2FjY29yZC9TTURrUkcKK2FjY3Vyc2VkbmVzcy9TCithY2N1c3RvbS9kUworYWNldGFtaW5vcGhlbi9TCithY2V0b25lL1NNCithY2hlcy9LRkEKK2FjaGlldmVtZW50cworYWNoaWV2aW5nL2MKK2FjcXVpc2l0aXZlL1BZCithY3F1aXR0YWwvU00KK2FjcXVpdHRlci9NCithY3JpbW9uaW91c25lc3MvUworYWNyb3BvbGlzL01TCithY3Rpb25pbmcKK2FjdGl2YXRpbmcvQQorYWN0aXZlLzNOU25QCithY3RyZXNzL01TCithY3QncworQWRhaXIvTQorYWRhcHRpdmUvUAorYWRhcHRpdml0eQorYWRkaWN0aW9uL01TCithZGRyZXNzZXMvYUEKK0FkZWxhaWRlL00KK2FkZW5vaWQvUworYWRlbm9pZGFsCithZGlwb3NlL1MKK2FkanVkaWNhdGUvREduU05WeQorYWRvcmFibGVuZXNzL1MKK0Fkcmllbm5lL00KK2FkdWx0L1lQU00KK2FkdWx0ZXJhbnQvTVMKK2FkdmFuY2UvTEdTRFIKK2FkdmFudGFnZW91c25lc3MncworYWR2ZW50dXJlcy9hCithZHZlbnR1cm91c2x5CithZHZlcnNlbmVzcy9TCithZHZlcnRpc2luZy9NCithZHZpc2FiaWxpdGllcworYWR2aXNlZGx5L0kKK2FkdmlzZWUvU00KK2Fkdm9jYXRlL0dTVkQKK2FlZ3JvdGF0L1NNCithZXJvYmF0aWMvUworYWVzdGhldGljL1MKK2FmZmVjdGluZy9FCithZmZlcmVudC9ZCithZmZpbGlhdGVkL1UKK2FmZm9yZXN0YXRpb24vTQorYWZ0ZXItY2FyZS9NUworYWZ0ZXJnbG93L1NNCithZnRlci1pbWFnZS9NUworYWdhaW4KK8VnYXIKK2FnYXRlL1NNCithZ2VpbmcKK2FnZW50L0FNUworYWdncmFuZGlzZS9EU0xHCithZ2dyYXZhdGlvbi9NCithZ2dyZWdhdGVkL0UKK2FnZ3JlZ2F0ZXMvRQorYWdncmVnYXRpb24ncworYWdncmlldmUvRGhTRworYWdvdXRpCitBZ3JhCithZ3Jhcmlhbi9TCithZ3JlZWFibGUvUEUKK2FncmlidXNpbmVzcy9TTQorYWdyb3VuZAorYWhlYWQKK0FpbnUKK2Fpci9tekdUcDJaUk1ESlMKK2Fpci1jb25kaXRpb25lcgorQWlyZHJpZQorYWthCithbGFybWlzdAorYWxiaW5pc20vU00KK2FsY29ob2xpYy9TTQorYWxjb2hvbGlzbS9NUworYWxkZXIvbU01UworYWxlYXRvcnkKK0FsZXhhbmRlci9NCitBbGV4YW5kcmlhbgorYWxnaW5hdGUvU00KK2FsaWFzL0dTRAorYWxpZW4vTkdETW4zUzcKK2FsaWVuYWJsZS9JVQorYWxpZ2h0L1NHRAorQWxpc29uL00KK2Fsa2FsaW5lCithbGthbGlzL1FkUworYWxsZWdyby9NUworYWxsZXZpYXRpb24vTQorYWxsZXZpYXRvci9TTQorYWxsaWdhdG9yL01TCithbGxvY2F0YWJsZS9DCithbGxvcGhvbmUvTVNXCithbGxveWVkL1UKK2FsbC1yb3VuZGVyCithbG9uZS9QCithbG9uZ3NpZGUKK0FscHMKK2FsdGFycGllY2UvU00KK2FsdGVyZXIvUworQUxVCithbWF0ZXVyaXNtL1NNCithbWJpZ3VvdXMvVVkKK2FtYml0L05NWAorYW1idWxhdGUvU055REduCithbWVyY2UvU0dMRAorYW1lcmljaXVtL1NNCithbWV0aHlzdGluZQorQW1tYW4vTQorYW1vaworYW1wbGl0dWRlL1NNCithbXVsZXQvTVMKK2FtdXNlZC9VCithbXVzaW5nL1AKK2FteWxhc2UvTVMKK0FuYWJhcHRpc3QvTVMKK2FuYWVzdGhldGl6ZS9OUkRTR24KK2FuYWdseXBoL00KK2FuYWxvZ3VlL1NNCithbmFseXRpY2l0eS9TCithbmNlc3Rvci9NUworYW5jaWVudC9UUFlTCitBbmRyZS9NCitBbmdsaWEvTQorYW5nbGluZy9NCithbmdsb3Bob25lL01TCitBbmdsby1TYXhvbgorQW5ndXMvTQorYW5pbWFsaXNtCithbmltYWxpdHkKK2FuaW1pc3QvV1MKK0FuaXRhL00KK2Fua2xlL0dETVMKK0FubmFwb2xpcy9NCithbm5lYWwvRFJHUworQW5uZWxpZGEKK2FubmV4ZS9NCithbm51bGFyL1kKK2Fub2R5bmUvTQorYW5vcmV4aWMvUworYW50YWdvbmlzZS9SU0dECitBbnRhcmN0aWMvTQorYW50ZWNoYW1iZXIvTVMKK2FudGVubmEvU00KK2FudGhpbGwvUworYW50aHJvcG9nZW5pYworYW50aHJvcG9tb3JwaGlzaW5nCithbnRocm9wb21vcnBoaXppbmcKK2FudGljaXBhdGVkL1UKK2FudGljbGVyaWNhbC9TCithbnRpZGVwcmVzc2FudC9TTQorYW50aWZhc2Npc3QvU00KK2FudGlsb2dhcml0aG0vTVMKK2FudGltYWxhcmlhbC9TCithbnRpbW9ueS9NCithbnRpLXJhY2lzbQorYW50aXJlc29uYXRvcgorYW50aXRoZXRpY2FsCithbnRpdGh5cm9pZAorYW50aXRveGluL1NNCithbnRpdHJ1c3RlcgorYW50aXdhcgorYW50bGVyL01TCitBbnRvbi9NCithbnkKK0FwYWxhY2hpY29sYQorYXBoYXNpYS9TTQorQXBpYS9NCitBcG9sbG9uaWFuCithcG9zdGFzeS9TTQorYXBvdGhlb3Npcy9NCithcG90aGVvc2l6ZWQKK2FwcGFyZWwvREdNUworYXBwZW5kL1NHUkQKK2FwcGV0aXNlci9TTQorYXBwbGljYW50L1NNCithcHBvc2l0ZW5lc3MKK2FwcHJhaXNlZXMKK2FwcHJlY2lhYmxlL1lJCithcHByZWhlbmRpbmcvYQorYXBwcmVoZW5zaXZlbmVzcy9TCithcHByb3ZlL1JrRUdTRAorYXBwcm94aW1hdGUvR1ZOU3ZEWW4KK0FwcmlsL01TCithcXVhcGxhbmUvTURHUworYXJib3JlYWwvWQorQXJjYWRpYS9NCitBcmNhZGlhbgorYXJjaGFuZ2VsL01TCithcmNoZHVjaGVzcy9TTQorYXJjaGl0ZWN0b25pY3MvTQorYXJjaGl2YWwKK2FyY2hpdmUvRFJTM01HCithcmNzaW5lCithcmRlbmN5L00KK2FyZWFsCitBcmdvcworYXJpc2VuCitBcmthbnNhbgorYXJtbGVzcworYXJvc2UKK0FSUEEKK2FycgorYXJyYW5naW5nL0FFSworYXJyZXN0b3IvU00KK2Fycmh5dGhtaWMKK2Fycmh5dGhtaWNhbAorYXJ0aHJpdGlkZXMKK2FydGhyb2dyYW0vTVMKK2FydGljdWxhdGlvbi9NCithcnRsZXNzbmVzcy9TCitBcnViYS9NCithc2FwCithc2VwdGljL1kKK0FzaGFudGkvTQorYXNoZW4KK2FzaHJhbS9TTQorYXNwaWRpc3RyYS9TTQorYXNwaXJhbnQvU00KK2Fzc2FpbGFudC9NUworYXNzYXVsdGVyL00KK2Fzc2VtYmxlL1NHUkVEWQorYXNzZXJ0L3h2dVJTRFZHCithc3NlcnRlZC9BCithc3NlcnRpdmUvUAorYXNzZXNzLzdMUworYXNzaXN0YW50c2hpcC9TTQorYXNzb2NpYWJsZQorYXNzb2NpYXRpb24ncy9FCithc3RpZ21hdGljCithc3RpcgorYXN0cm9sb2d5L3cxTVMzCithc3lsdW0vTVMKK0F0CithdGF2aXNtL01TCithdGF2aXN0L1NNVworYXRoaXJzdAorQXRsYW50aWMvTQorQXRsZWUvTQorYXRvbWlzdGljCithdG9wCithdHJvY2lvdXMvUFkKK2F0cm9waW5lL1NNCithdHRhaW4vbERSQkdMUworYXR0YWlubWVudC9BCithdHRlbXB0cy9BCithdHRlbmRlZC9VCithdHRlbnVhdGlvbi9NCithdHRlc3QvRG5HTlMKK0F0dGlsYS9NCithdHRyaWJ1dGFibGUvVQorYXR0cmlidXRlZC9VCithdWRpYmlsaXR5L01JUworYXVkaW92aXN1YWwvUworYXVkaXRpb24vRE1HCithdXJvcmEvU00KK2F1c2N1bHRhdGUvREdTTm4KK2F1c3BpY2lvdXNuZXNzL01TCithdXN0cmFsCithdXRldXIKK2F1dGhlbnRpYy9uTlkKK2F1dGhlbnRpY2l0eS9JCithdXRob3JpemluZy9BCithdXRvY29ycmVsYXRlL0dTbkROCithdXRvZm9jdXMKK2F1dG9wc3kvU01ERworYXV0by1zdWdnZXN0aW9uCitBdmFydWEvTQorYXZlcmFnZW5lc3MKK2F2aWRpdHkvTVMKK0F2aXYvTQorYXdva2UKK2F4ZXMvRgorYXhpbC9TCitheGlvbWF0aXNpbmcKK2F4aW9tYXRpemluZworQXplcmJhaWphbi9NCithenVyZS9TTQorYmFiZWwKK2JhY2hlbG9yaG9vZC9TTQorYmFja2Fycm93CitiYWNrZ2FtbW9uL01TCitiYWNrZ3JvdW5kL0RSR1NNCitiYWNrcGFjay9TUkRHTQorYmFja3NsYXBwaW5nL00KK2JhY2tzbGFzaC9HU0QKK2JhY2tzcGluL1NNCitiYWNrc3RpdGNoL01TR0QKK2JhY2t1cC9NUworYmFja3dhcmRuZXNzL1MKK2JhY2t3YXNoL0RHTVMKK2JhY3RlcmlhL01vCitiYWRsYW5kL1MKK2JhZy8yWnpSNk1HRFMKK2JhZ2dhZ2UvbVNNCitiYWdnaW5nL00KK2JhaWxzL20KK0JhaXJkL00KK2Jha2VyeS9NUworYmFsY29ueS9EU00KK2JhbGxldC9NV1MKK2JhbGxmaWVsZHMKK0JhbGx5bWVuYS9NCitiYWxteS9UUAorYmFsc2FtaWMKK2JhbmRvbGVlci9TTQorYmFuZHktbGVnZ2VkCitCYW5qdWwvTQorYmFubnMKK2JhbnRhbXdlaWdodC9NUworYmFuemFpL1MKK0JhcmJhcmEvTQorQmFyYnVkYS9NCitCYXJuYXJkL00KK0Jhcm5lcworQmFybnNsZXkvTQorYmFybnlhcmQvTQorYmFyb25pYWwKK2JhcnF1ZS9NUworYmFycmljYWRlL0dEU00KK0JhcnJvdworYmFyc3Rvb2wvU00KK0JhcnN0b3cvTQorYmFzZWxpbmUvU00KK2Jhc2lsL1NNCitiYXNpbGljYS9TTQorYmFza2V0d29yay9TTQorYmFzc29vbi8zTVMKK2JhdGhyb2JlL01TCitiYXRocm9vbS9ETVMKK2JhdGlrL1NNCitiYXR0bGVmaWVsZC9NUworYmF1bGsvR1pTTUQyCitiYXdsZXIvTQorYmF5L0dNRFMKK2JheWJlcnJ5L01TCitCYXllc2lhbgorYmJsCitCQworYmUvWQorYmVhbi9EUkdTTQorYmVhci1iYWl0aW5nCitiZWFyaW5nL2MKK2JlYXJpbmcncworQmVhdGxlcworQmVhdWNoYW1wcworYmVhdXRlb3VzL1BZCitiZWF1dHkvalNNNgorYmVhdmVyL2RTTQorYmVib3AvU00KK2JlY2FsbS9ER1MKK2JlZGVjay9ER1MKK2JlZGl6ZW4vU2QKK2JlZG1ha2VyL1NNCitiZWVmeS9QVAorYmVlcC9EUlNHTQorYmVlc3dheC9NREcKK2JlZXRsZXIKK2JlZm9nL0RHUworYmVmb3VsL0RTRworYmVnZ2FybHkvUAorYmVnZ2FyeS9NCitiZWdvbmUvUworYmVndWluZS9TTQorYmVoYXZpb3VyaXNtL1NNCitiZWlnZQorYmVsaWUKK2JlbGl0dGxlci9NCitCZWxsYW15L00KK0JlbGxldmlsbGUvTQorYmVsbGlnZXJlbmNlL1pTTQorQmVsb2l0CitiZW1hbgorYmVuZGVkCitiZW5lZGljdGlvbi9TTQorQmVuZWx1eC9NCitCZW5ueS9NCitCZW5zb24vTQorYmVudW1iL1NERworQmVybi9NCitiZXJzZXJrZXIvTQorYmVydGgvR1NETQorYmVzZXQvU0cKK2Jlc21lYXIvREdTCitiZXNvdWdodAorQmVzc2llL00KK2Jlc3RpYWxpdHkvU00KK2Jlc3RyZXduCitiZXN0LXNlbGxpbmcKK2JldGEvTVMKK2JldGF0cm9uL00KK2JldGNoYQorYmV0cmF5L0dSU0QKK0JldHN5CitiZXZlbC9SU0RNRworYmV3YWlsL0RTRworYmV3aWxkZXIvaWRMaFNrCitiaWIvRE1HUworYmlibGljaXN0L1NNCitiaWNhcmIvU00KK2JpZGRlbi9VCitiaWRpcmVjdGlvbmFsL1kKK2JpZHMvZmNBZQorYmlmdXJjYXRlL1lTR25ETgorYmlnYW15LzNNUworYmlnaGVhcnRlZG5lc3MvUworYmlnaG9ybi9TTQorYmlnbmVzcy9TCitiaWd3aWcvU00KK2Jpam91L00KK2JpbGUvTVMKK2JpbGhhcnppYQorYmltb2xlY3VsYXIvWQorYmluZ28vU00KK2Jpb2NoZW1pc3RyeS9TTQorYmlvbmljL1lTCitiaXBhcnRpdGlvbi9NCitiaXJkbGltZS9TTUdECitiaXJkc29uZworYmlyZHRhYmxlcworYmlyZHdhdGNoL1JHCitiaXNleHVhbGl0eS9NUworQmlzc2F1L00KK2JpdC9DUworYml0c2VyL00KK2JpdHRlci1zd2VldC9ZCitiaXZhbGVudAorYmxhY2svVFNQWUdECitCbGFja3Bvb2wvTQorYmxhY2t0aG9ybi9TTQorYmxhZGRlci9NUworYmxhZGRlcm51dC9NCitibGFtZS9SN1NHTXBECitibGFtZWxlc3MvUFkKK0JsYW50eXJlL00KK2JsYXpvbmVyL00KK2JsZGcKK2JsZWFjaC9HUkRTCitibGVhY2hlZC9VCitibGVhay9UUFNZCitibGVhcnktZXllZAorYmxlbWlzaC9NRFNHCitibGVzc2VkL1UKK2JsaW5rL1JTR0QKK2Jsb2NrYWdlL01TCitibG9uZG5lc3MvUworYmxvb2RzcG9ydC9TCitibG9vZHdvcm0vTQorYmxvb2R5L1NUUEdECitibG9zc29tL2RNUworYmxvd2ZseS9TTQorYmxvdy1vdXQvU00KK2JsdWUtY29sbGFyCitibHVlZ2lsbC9NUworYmx1ZWluZydzCitibHVlLXBlbmNpbHMKK2JsdW5kZXJidXNzL00KK2JsdW50bmVzcy9TCitibHVycmluZXNzL1MKK2JsdXNoL0dEa1JTCitib2JieS9NUworYm9iYnlzb3hlcidzCitib2J3aGl0ZS9TTQorYm9keWd1YXJkL01TCitib2R5d2VpZ2h0CitCb2lzZS9NCitCb2xzaGV2aWsvU00KK2JvbHVzL01TCitib21iYXN0ZXIKK0JvbWJheS9NCitib25laGVhZC9ETVMKK0Jvbm4vTQorQm9ubmV2aWxsZS9NCitib29rYmluZGVyL1oKK2Jvb2tpZS9NUworYm9va21hcmsvR1NETQorYm9vbi9TTQorYm9yYXgvTQorQm9yZy9NCitCb3JuZW8vTQorYm9ycm93L1JHUzdKRAorYm9zb20ncworYm90Zmx5L00KK2JvdHRvbS9kU3BNCitCb3VjaGVyL00KK2JvdWdoL1NNCitib3VnaHQvYworYm91bmRlbgorYm93L21SR0RTCitib3dlZC9VCitib3dzZXIvTQorYm94ZnVsL00KK2JveGluZy9NCitib3hsaWtlCitib3ljb3R0L1NHRAorYm95aXNobmVzcy9TCitCb3lsZS9NCitib3pvL1NNCiticHMKK0JyYWJoYW0vTQorYnJhZC9EU0dNCiticmFkYXdsL00KK2JyYWlkL0RHU0oKK2JyYWlucG93ZXIvTQorYnJhaW55L1BUCiticmFrZS9TR0RNCiticmFuY2hpbmcvTQorQnJhbmRvL00KK0JyYW5kb24vTQorYnJhbmRzL2EKK2JyYXNobmVzcy9TCitCcmF6aWwvTQorYnJlYWthd2F5L01TCiticmVha2Rvd24vU00KK2JyZWFrZmFzdC9NUkdEUworYnJlYXN0c3Ryb2tlL1NNCiticmVhdGgvUnBaRFM3SkdNCiticmVhdGhsZXNzbmVzcy9TCiticmVlemUvWk1HU0QKK2JyZXRocmVuCiticmljLeAtYnJhYworYnJpY2t3b3JrL1NNCiticmlkZXNtYWlkL01TCiticmlkZ2UvTUdTRAorQnJpZGdldG93bi9NCitCcmlkZ2V3YXRlci9NCiticmlkZ2V3b3JrL01TCiticmlkbGVkL1UKK2JyaWVyL1NNCitCcmllcmx5L00KK2JyaWdodC9UUEdZCiticmlnaHQtZXllZAorQnJpbmRpc2kvTQorQnJpbmtsZXkvTQorQnJpc2JhbmUvTQorYnJpc2svVFlQRworYnJpc2tldC9TTQorQnJpdGFubmlhL00KK0JyaXRpY2lzbQorYnJvYWRiYW5kCiticm9hZGNsb3RoL1NNCiticm9jYWRlL0RNU0cKK2Jyb2Njb2xpL01TCitCcm9jay9NCiticm9rZW4vVVkKK2Jyb2tlbi1kb3duCiticm9rZW4taGVhcnRlZG5lc3MKK2Jyb25jaGkvTQorYnJvbmNoaXRpcy9NUworYnJvb21zdGljay9NUworYnJvd24vRFRTTVBHWQorYnJvd25zdG9uZS9NUworYnJ1bmNoL1NER00KK0JydW5laS9NCiticnVuZXQvUworQnJ1bm8vTQorYnJ1c2hpZXIKK2JydXNod29vZC9TTQorYnJ1dGFsaXR5L01TCitCU0QKK2J1Ym8vTQorYnVjay9TTURHCitCdWNrbGV5L00KK2J1Y2tza2luL1NNCitidWNrdG9vdGgvRE0KK2J1ZGdldGFyeQorYnVkZ2luZy9VCitidWdhYm9vL1NNCitidWdnZXJ5L00KK2J1aWx0L0FjCitidWxiL0RTR00KK0J1bGdhcmlhL00KK2J1bGsvWlNNRDJHCitidWxraGVhZC9EU00KK2J1bGxvY2svU00KK2J1bHJ1c2gvU00KK2J1bXAvRFJHWlMyCitidW5nYWxvdy9TTQorYnVua21hdGUvTVMKK2J1cmJzCitCdXJjaC9NCitidXJnbGFyL01TCitCdXJraW5hL00KK2J1cm4vRFI3a1NHSgorQnVybnNpZGUvTQorQnVydG9uL00KK2J1dHRvbi9VZFMKK2J1dHRvbmhvbGUvRE1TRworYnV0dG9uJ3MKK2J5LWxhdy9NUworYnlzCitieXRlL01TCitjYWJhbGEvTVMKK2NhYmJ5J3MKK2NhYmluL2RNUworY2FiaW5ldG1ha2VyL1NNCitjYWJpbmV0bWFraW5nL1NNCitjYWJpbmV0d29yay9NUworY2FibGVjYXN0L1NHCitDYWJvdC9NCitjYWRkaXNoL1lQCitjYWRlbmNlL0NNUworY2Flc2FyaWFuCitjYWVzaXVtL00KK2NhZ2V5CitDYWhva2lhCitDYWluCitDYWlyby9NCitjYWlzc29uL1NNCitDYWl1cworY2FsYWJvb3NlL1NNCitjYWxlbmRhci9TZE0KK2NhbGYvTQorY2FsZi1sZW5ndGgKK0NhbGhvdW4vTQorQ2FsbGFvCitjYWxsdXMvU2RNCitjYWxvcmljCitjYWxvcmltZXRyeS9NCitDYWx0ZWNoCitjYWx1bW5pYXRpb24vTQorQ2FsdmluaXNtCitDYWx2aW5pc3QvVworQ2FtYm9kaWFuL1MKK2NhbWVsL1NNCitDYW1lcm9uL00KK2NhbXBlZC9DCitDYW1wb3MKK0NhbmFhbml0ZQorQ2FuYWRhL00KK2NhbmFsL3EtR1NNUThECitjYW5kaWRhdGUvTVMKK2NhbmRsZXBvd2VyL01TCitjYW5kbGVzdGljay9NUworY2FuZGxld2ljay9TTQorY2FuZWJyYWtlL1NNCitjYW5pbmUvUworY2FuaXN0ZXIvZFNNCitjYW5rZXIvZE1TCitDYW5uZXMKK2Nhbm5pYmFsaXNtL1NNCitjYW50YW5rZXJvdXMvWVAKK2NhbnRvL01TCitjYW50b24vZE1TTAorY2FudmFzYmFjay9TTQorY2FwYWJseS9JCitjYXBhY2lvdXMvUFkKK2NhcGFjaXRvci9NUworY2FwZXIvZAorQ2FwaWxhbm8KK2NhcGlsbGFyeS9TCitjYXBpdGFsaXNlcy9jCitDYXBvbmUKK2NhcHRpb24vREdNCitjYXB0aW91cy9QWQorY2FyL3JaZE1TCitjYXJhdmFuL01TREcKK2NhcmF2YW5zZXJhaSdzCitjYXJiaW5lL1NNCitjYXJib25pZmVyb3VzCitjYXJjaW5vZ2VuaWNpdHkvTVMKK2NhcmRpb2dyYXBoL1NNCitjYXJlZC9VCitDYXJleS9NCitjYXJsb2FkL0dNUworQ2FybG93L00KK0Nhcmxzb24KK0Nhcm1lbAorY2Fyb2IvTVMKK0Nhcm9saW5hL1NNCitjYXJwb3J0L01TCitDYXJyaWNrCitDYXJyaWNrZmVyZ3VzL00KK2NhcnZpbmcvTQorY2FzY2FyYS9TTQorY2FzZS9ETUxKU0cKK2Nhc2htZXJlL1NNCitjYXNzYXZhL1NNCitjYXNzaW5vJ3MKK2Nhc3RldGgKK2Nhc3QtaXJvbgorY2F0YWxvZ3VlZC9VCitjYXRhcHVsdC9HTURTCitjYXRhc3Ryb3BoZS9TTTFXCitjYXRlY2hpemUvR1NECitjYXRlZ29yaXNlZC9VCitjYXRlcndhdWwvR0RTCitDYXRob2xpY2lzbQorQ2F0bworY2F0c3VpdC9NUworY2F0dGVyeS9NCitjYXR3YWxrL1NNCitDYXVjYXN1cworY2F1c2VyaWUvTVMKK2NhdXN0aWMvU1kKK2NhdmFscnkvU21NCitjYXZpYXJlL01TCitjYXltYW4vUworQ0RDL00KK0NETUEKK0NELVJPTQorY2Vhc2VmaXJlL1MKK0NlY2lsL00KK2NlbWVudGEKK2NlbWVudHVtL01TCitjZW5vYml0ZS9TTVcKK2NlbnNlci9TTQorY2VudGVuYXJ5L1MKK0NlbnRyZXgKK0NlcGhlaWQKK2NlcmFtaWNpc3QKK2NlcmFtaXN0L1NNCitjZXJlbWVudC9TTQorY2Vydml4L00KK2Nlc3NhdGlvbi9TTQorQ2V5bG9uCitjaGEtY2hhCitDaGFldG9nbmF0aGEKK2NoYWZlL1NHRAorY2hhaW4vVURHUworQ2hhbGFuL00KK2NoYW5kbGVyL01TCitjaGFuZ2luZy9VCitjaGFudHJ5L1NNCitjaGFwZXJvbi9kCitjaGFwbGFpbi9NUworY2hhcmNvYWwvR1NNRAorY2hhcmdlL2NHRWZEQVMKK2NoYXJnZWFibGUvQQorY2hhcml0YWJsZW5lc3MvTVMKK2NoYXJpdGFibHkvVQorY2hhcnRyZXVzZS9TTQorY2hhcnkvVFBZCitjaGFzdGVuZXNzL1MKK0NoYXR0YW5vb2dhCitDaGF1Y2VyCitDaGVjaGVuCitjaGVjay1pbgorY2hlY2stbGlzdC9TCitjaGVjay11cC9NUworY2hlZWt5L1RQCitjaGVlcmxlc3NuZXNzL1MKK2NoZWVzZS9aTURTRworY2hlZi1kJ29ldXZyZQorQ2hlbmV5L00KK0NoZW5nCitDaGVybm9ieWwvTQorQ2hlc3RlcnRvbi9NCitjaGVzdG51dC9NUworY2hldnJvbmVkCitDaGV5ZW5uZQorQ2hpY2Fnb2FuL1MKK2NoaWNrYWRlZS9NUworY2hpY2tlbi9kU00KK2NoaWNrZW4tYW5kLWVnZworY2hpY2t3ZWVkL01TCitjaGlodWFodWEvUworY2hpbGRpc2huZXNzL1MKK2NoaWxkcmVuL00KK2NoaW1lcmEvU013VworY2hpbi9wU01HRAorY2hpbmsvREdNUworY2hpbnR6L1NNWgorY2hpbnR6eS9UCitDaGlwcGVuZGFsZQorY2hpcnB5L1QKK2NoaXJydXAvU2QKK2NoaXRpbm91cworY2hsYW15ZGlhZQorY2hsb3JhdGUvTQorY2hsb3JpbmUvbk5NCitjaGxvcm9mbHVvcm9jYXJib24vUworQ2hvY3Rhdy9TCitjaG9wcGVyL2QKK2Nob3JkYXRhCitjaG9yb2lkL1MKK2Nob3J1cy9NZFMKK2NocmlzdGVuL2RBUworQ2hyaXN0aW5hL00KK2Nocm9tYXRpY2lzbS9NCitjaHJvbmljbGUvTVNSR0QKK2NodWIvU01aMgorY2h1YmJpbmVzcy9TCitjaHVyY2hseS9QCitDaHVyY2gtb2YtRW5nbGFuZAorQ0lBCitjaW5lL00KK2Npbm5hYmFyL01TCitjaXJjdWl0b3VzL1lQCitjaXJjdWxhdG9yCitjaXJjdW1jaXNlL0RTR05YCitjaXJjdW1zcGVjdGlvbi9TTQorY2lyY3Vtc3BoZXJlCitjaXRpZmllZAorY2l0cnVzL1NXTQorY2l2aWMvUworY2l2aWNzL00KK2NsYWNrZXJzCitjbGFpbWVkL1UKK0NsYW5jeQorQ2xhcmVtb250CitjbGFzc2VyL00KK2NsYXNzaWNhbGlzdAorY2xhc3NpZmljYXRpb24vTWFDQQorY2xhc3NtYXRlL1NNCitDbGF1cworY2xhdXNhbAorY2xheW1vcmUvU00KK2NsZWFuL0JEUlRQWUdTCitjbGVhbmx5L1RQCitjbGVhcmluZy9NCitjbGVhci11cC9TCitjbGVhdmUvUkdTRAorQ2xlbWVuY2UKK0NsZW1lbnRpbmUKK0NsZW1zb24KK2NsZW5jaC9HVVNECitjbGVyaWNhbC9TCitjbGVya3NoaXAvTVMKK2NsZXZlci9QWQorY2xldmVybmVzcy9TCitjbGluZy9SR1oKK2NsaXAtY2xvcAorY2xpcHBlZC9VCitjbGlxdWlzaG5lc3MvUworY2xvZy9NU0dECitjbG9pc29ubmVzCitjbG9pc3RyYWwKK2Nsb3AvRFNHCitjbG9zZS1tb3V0aGVkCitjbG9zaW5nL0UKK2Nsb3RoZXNtZW4KK2Nsb3VkL3BaMlNNREd6CitjbG92ZW4KK2Nsb3kvRGtTRworY2x1Y2svREdNUworY2x1bmt5L1QKK2NsdXR0ZXJlZC9VCitjb2FsLWhvbGVzCitjb2FsaXRpb24vM1NNCitjb2FzdC9TR01ECitjb2F0ZWQvVQorY28tYXV0aG9yL1NNZAorY29heC9Sa29HCitjb2JibGUvR1JETVMKK2NvYmxlL00KK2NvY2tlci9NCitjb2NrLWZpZ2h0L0pTR00KK2NvY2stdXAvU00KK2NvY29hL1NNCitjb2RlcGVuZGVuY3kvUworY29kZXBlbmRlbnQvUworY29kZmlzaC9NUworY29kZ2VyL1NNCitjb2RpZmljYXRpb24vTQorY29kaW5nJ3MKK2NvZG9uL1MKK2NvZmZlci9TZE0KK0NvZmZleS9NCitjb2cvRE1HUworY29nbml0aW9uYWwvWQorY29nbml6YWJsZQorQ29oZW4vTQorY29oZXJlL0dEUworY29oZXJlbmN5L1MKK2NvbGF0aXR1ZGUvU00KK2NvbGQtc2hvdWxkZXJpbmcKK2NvbGl0aXMvU00KK2NvbGxhZ2UvU0RNRworY29sbGF0ZWQvVQorY29sbGF0b3IvU00KK2NvbGxpbmVhcgorY29sbG9xdWlhbAorY29sbG9xdWlhbGlzbS9NUworY29sb25pYWxpc20vU00KK2NvbG91ci9xUS04Uk5wR0pTbkQ2ak0KK2NvbG91ci1mYXN0bmVzcy9TCitjb21iYXRhbnQvTVMKK2NvbWJhdGl2ZW5lc3MvUworY29tYmluYXRpb24vb00KK2NvbWJvL01TCitjb21lZGllbm5lL01TCitjb21tZW5jZS9ETEFHUworY29tbWVuZGFibGUvWQorY29tbWllL01TCitjb21taXR0YWwvTVMKK2NvbW1pdHRpbmcvYworY29tbW9kaXR5L01TCitjb21tb25hbHR5L1NNCitjb21tb3Rpb24KK2NvbW11bmUvb1E4UzNERworY29tbXVuaWNhbnQvU00KK2NvbW11bmljYXRpb24ncworY29tcGF0aWJsZW5lc3MvTQorY29tcGVuc2F0aXZlCitjb21w6HJlL00KK2NvbXBpbGF0aW9uL1NBTQorY29tcGlsZS9SQ05TN0RHCitjb21waWxpbmcvQQorY29tcGxhY2VuY2UvWgorY29tcGxlbWVudGFyaXR5Citjb21wbGVtZW50YXJ5L1BTCitjb21wbGV0ZXN0Citjb21wbGV0aXZlCitjb21wbGV4aXRpZXMKK2NvbXBvc2VzL0FFCitjb21wcmVoZW5zaWJseS9JCitjb21wcmVzc2VkL1VDCitjb21wcmVzc2VzL0MKK2NvbXByb21pc2luZy9VWQorY29tcHVsc2l2ZW5lc3MvUworQ29tcHVTZXJ2ZS9NCitjb21yYWRlc2hpcC9TTQorY29uY2VhbC9TN1JEa0xHCitjb25jZWl2YWJseS9JCitjb25jZXJuL2hVRAorY29uY2VydHMvRQorY29uY2lsaWF0b3J5L0EKK2NvbmNpb3VzCitjb25jaXNpb24vTQorY29uY3VycmVudAorY29uZGVuc2VuZXNzCitjb25kaXRpb25zL0tBCitjb25kdWN0aWJsZQorY29uZmlkYW50ZS9TTQorY29uZmlkZW50aWFsaXR5L1NNCitjb25maWRpbmduZXNzCitjb25maW5lL0wKK2NvbmZ1dGUvTlNuREcKK2NvbmdhL01ERworQ29uZ3JlZ2F0aW9uYWwvM1kKK2NvbmdydWVudGx5L0kKK2NvbmdydWl0eS9NU0kKK2NvbmdydW91cy9ZUEkKK2NvbmplY3R1cmUvR0RvU00KK2Nvbmp1Z2F0aW9uL00KK2Nvbm1hbi9NCitjb25uZWN0ZWQvRVBZCitjb25xdWlzdGFkb3IvU00KK2NvbnNlY3JhdGUvQUROU25HCitjb25zZXF1ZW50aWFsbmVzcy9NCitjb25zZXJ2YXRpb24vTTMKK2NvbnNlcnZhdGlvbmlzbQorY29uc2lkZXJhdGVseS9JCitjb25zaWdub3IvUworY29uc29sYWJsZS9JCitjb25zb2wncworY29uc3RpdHV0aW9uYWxseS9VCitjb25zdWwvU00KK2NvbnN1bWUvUlZTWHZrTkRoR0oKK2NvbnN1bW1hdGUvRFNHVlkKK2NvbnRhZ2lvdXNuZXNzL1MKK2NvbnRkCitjb250ZW1wdHVvdXMvUFkKK2NvbnRpbnVhbAorY29udGludWF0aW9uL01FCitjb250aW51ZS83RFNHTgorY29udGludXVtL00KK2NvbnRyYWJhbmQvTQorY29udHJhYmFzcy9NCitjb250cmFjZXB0aW9uL01TCitjb250cmFkaWN0aW9uL1NNCitjb250cmFpbmRpY2F0ZS9WU05uREcKK2NvbnRyYXZlbmUvU0dECitjb250cmlidXRvcnkvU1kKK2NvbnRyaXRlbmVzcy9TCitjb250cm9sbGFibHkvVQorY29udHJvdmVyc2lhbGlzdC9NUworY29udHJvdmVydGlibGUvSQorY29udHVtYWN5L01TCitjb250dW1lbGlvdXMKK2NvbnR1c2lvbi9NCitjb252ZXJzYXRpb25hbC8zCitjb252ZXJzaW9uL0cKK2NvbnZlcnRpYmlsaXRpZXMKK2NvbnZlcnRpYmlsaXR5L0lNCitjb252dWxzaW9uL00KK2Nvb2tpbmcvTQorQ29va3N0b3duL00KK2Nvb2xhbnQvU00KK2Nvb2wtYmFnCitjb29sLWJveC9TTQorY29vbC1oZWFkZWQKK2Nvb2xpZS9NUworY29vbGlzaAorY29vcmRpbmF0b3IvTQorQ29vcnMKK2NvcC9HRFJkTVMKK0NvcGVsYW5kCitDb3Blcm5pY3VzCitjby1waWxvdAorY29waW91c25lc3MvUworY29wcGVyL2RaCitjb3B1bGF0ZS9HU3lECitjb3B5cmlnaHQvR1JNRFM3Citjb3JkaWFsaXR5L01TCitjb3JkdXJveS9EU01HCitjb3JnaS9TTQorY29ybmJyZWFkL1MKK0Nvcm53ZWxsCitjb3JvbmV0L1NETQorY29yb3V0aW5lL1NNCitjb3Jwb3JhL01uVm8KK2NvcnBvcmF0aW9uL01JUworY29ycHVzL00KK2NvcnJlbGF0ZS9DU0dETgorY29ycnVwdGVkL1UKK2NvcnRpY2VzCitDb3NtbworQ29zc2FjaworY29zdHVtZS9EUk1TRworY290ZXJpZS9NUworY290dGFyJ3MKK2NvdW50ZXIvbWQKK2NvdW50ZXJmb2lsL01TCitjb3VudGVyLWluZmxhdGlvbi95Citjb3VudGVyaW5zdXJnZW5jeS9NUworY291bnRlcnNpZ25hdHVyZS9NUworY291bnRlcnN0cmlrZQorY291bnRyaWZ5L0QKK2NvdW50cnl3aWRlCitjb3VwL0FTCitjb3VydC9TUllNR0QKK2NvdXJ0aG91c2UvTVMKK2NvdXJ0cm9vbS9TTQorY291cnR5YXJkL01TCitjb3V0dXJlL01TCitjb3ZlcmFsbC9EU00KK2NvdmVycy9BRVUKK2NvdmV0b3VzL1BZCitjb3dib3kvU00KK2Nvd2VyL2RrUworY28td29ya2VyL1NNCitDb3dwZXIvTQorY295L1RQWUdECitjb3llZC9DCitDUEkKK2NwbAorQ1BSCitjcmFibGlrZQorY3JhZnR5L1BUCitjcmFnZ2luZXNzL1MKK0NyYW1lcgorY3JhbXAvRFNNRworY3JhbmJlcnJ5L1NNCitjcmFuZWxpa2UKK2NyYW5raW5lc3MvUworY3JhemUvU1pHRE0KK2NyYXppbmVzcy9TCitjcmVhc2UncworY3JlZGVuY2UvTVMKK0NyZXRhY2VvdXMvWQorY3Jldy9tTURHUworY3JpYmJhZ2UvU00KK2NyaW5nZXIvTQorY3JvY2svREdTTQorQ3JvbmluCitjcm9xdWV0L1NkTQorY3Jvc3Nib25lcworY3Jvc3MtY291bnRyeQorY3Jvc3MtaGFpci9TCitjcm9zcy1sZWdnZWQKK2Nyb3NzdGFsay9NCitjcm91cHkvUlQKK2NydWQvR0RNWlMKK2NydW5jaGluZXNzL1MKK2NydXNocHJvb2YKK2NydXN0aW5lc3MvUworQ1NZUworQ3UKK0N1YmEvTQorY3ViYnlob2xlL1NNCitjdWJlL00zUworY3ViaWNsZS9TTQorY3Vib2lkCitjdWNrb2xkcnkvU00KK2N1bGluYXJ5CitDdWx2ZXIvUworQ3VtYmVybGFuZC9NCitjdW11bG9uaW1idXMvTQorY3VudC9NUworY3VwcmljCitjdXJic3RvbmUvU00KK2N1cmQvR3Z1TVZTRAorY3VyaW91cy9UUFkKK2N1cnNvci9kU00KK2N1cnNvcmlseQorY3Vyc29yaW5lc3MvTVMKK2N1cnNvcidzL0sKK2N1cnZlZC9BCitjdXJ2ZWQncworY3VzcydzL0YKK2N1c3RvZGlhbnNoaXAvTVMKK2N1c3RvZHkvU00KK2N1dGUvVFlQCitjdXRpY2xlL1NNCitjdXRsZXIvWlNNCitjd3QKK2N5YmVybmV0aWNzL00KK2N5YmVyc3BhY2UvTVMKK2N5bWJhbC9NM1MKK2N5bmljaXNtL01TCitDeXByaWFuCitjemFyc2hpcAorZGFiL1RHRFMKK0RhY2NhL00KK2RhY2UvTQorRGFlZGFsdXMKK2RhZnQvWVRQCitkYWdnZXIvZE1TCitkYWlsaW5lc3MvUworZGFpbHkvU1AKK0RhaW1sZXIKK2RhaXF1aXJpL01TCitkYWlyeWluZy9NCitkYWxlL01tUworZGFsZXRoL00KK0RhbGxhcworZGFsbWF0aWFuL1MKK2RhcHBlcmVyCitkYXJpbmcvUAorRGFyamVlbGluZworZGFya2x5L1QKK0Rhcmxpbmd0b24vTQorZGFybmVkZXIKK0RBUlBBL00KK0Rhcndlbi9NCitkYXRhc2V0L1MKK2RhdGVkL2VVCitEYXRzdW4KK2RCL00KK2RCaQorZEJXCitEQ01HCitkZWFkZW5lci9NCitkZWFmZW4vZGtTCitkZWFsL0pSR1MKK2RlYXRoLXdhdGNoL01TCitk6WLiY2xlL1NNCitkZWJhdGUvUk0KK2RlYmF1Y2hlZC9QCitkZWJpbGl0eS9TTQorZGVicmllZi9KUkcKK2RlYnJpcy9NCitEZWMKK2RlY2FkZW5jZS9aCitkZWNhZ29uL01TCitkZWNhcGl0YXRlL0RTRworZGVjYXRobG9uL1NNCitkZWNheS9HRAorZGVjZXB0aW9uL01TCitkZWNpbGUvTVMKK2RlY2lwaGVyL2RMN3IKK2RlY2lzaXZlbmVzcy9JUworZGVja2NoYWlyL1MKK2RlY2toYW5kL1MKK2RlY2xhcmVzL0EKK2RlY29kZS9CCitkZWNvbmdlc3RhbnQvUworZGVjb3JhdGUvTlZ2R25EU3UKK2RlY29yYXRlZC9BY1UKK2RlY3Jlc2NlbmRvCitkZWR1Y2VyCitkZWVwLWZyZWV6ZS9HCitkZWZhbWF0aW9uL00KK2RlZmVuZGFudC9NUworZGVmZW5lc3RyYXRlL0RTRworZGVmZW5zaWJseS9JCitkZWZpYnJpbGxhdG9yL1NNCitkZWdhcy9KREcKK2RlLWljZS9EUkdTCitkZWljdGljCitkZWlmeS9OREduUworZGVpdHkvTVMKK2RlamVjdC9HaURoUworRGVsYW5vL00KK2RlbGF5L0QKK2RlbGZ0L1NNCitkZWxpY2F0ZS9JUFkKK2RlbGljYXRlcworZGVsaWdodC82amhHaQorZGVsaW5lYXRpb24vTQorRGVsaXVzCitkZW1pZ29kL1NNCitkZW1pam9obi9TTQorZGVtaXNlL0RNR1MKK2RlbWl0L0ROU0cKK2RlbWl0YXNzZS9NUworZGVtb25zdHJhdGlvbi9NCitkZW1vdGUvREdXCitkZW11bGNlbnQvUworZGVuaXplbi9kU00KK0Rlbm5pcworZOlub3VlbWVudAorZGVuc2VuZXNzL1NNCitkZW51Y2xlYXJpemUvU0dECitkZW51ZGUvRFJuRworZGVudW5jaWF0aW9uL00KK0RlbnZlcgorZGVwYXJ0L0xHCitkZXBsZXRlL0RHU05uVgorZGVwcmVzc2lvbi9NCitkZXJpdmFibGUKK2Rlcm1hdG9sb2d5LzNTTXcKK0RlcndlbnQKK2Rlc2VjcmF0ZS9TRE5uRworZGVzZXJ2ZWQvVVkKK2Rlc2ljY2F0ZS9ER1NObgorZGVzaWRlcmF0dW0vTQorZGVzaWduYXRlL0RLR1MKK2Rlc2lyYWJsZS9QUworZGVzaXN0L0RHUworZGVzb2xhdGVyL00KK2Rlc3BhaXJlci9NCitkZXNwZXJhZG9lcworZGVzcGVyYXRlL1lQTm4KK2Rlc3BlcmF0aW9uL00KK2Rlc3Ryb3kvRFI3R1MKK2Rlc3RydWN0L2J2VnVHRFMKK2Rlc3RydWN0aWJpbGl0eS9TTUkKK2RldGFjaGVkL1AKK2RldGVjdGFibHkvVQorZGV0ZW50aW9uL01TCitkZXRlci9TR0QKK2RldGVzdC9sbjdOCitkZXRyaWJhbGlzZS9EU0cKK2RldmVsb3BtZW50L2ZNUworZGV2aWF0ZS9ORFNHbgorZGV2aXNlL0RKUlNHCitEZXZvbmlhbgorRGV2b25zaGlyZS9NCitkZXZvdGUvaXhoCitkZXdkcm9wL1NNCitkZXd5LWV5ZWQKK0RleGVkcmluZQorZGV4ZXMvSQorRGZFUworZGlhZGVtL1NNZAorZGlhZ25vc3RpYy9TWU0KK2RpYWdub3N0aWNpYW4vTVMKK2RpYW1hZ25ldGljCitEaWFubmUKK2RpYXBocmFnbWF0aWMKK2RpYXRvbWljCitkaWNpZXN0CitkaWNrZW5zL00KK0RpY2tlcnNvbi9NCitkaWNraWVyCitkaWVtCitkaWdlc3Rlci9NCitkaWduaXRhcnkvU00KK2RpZ25pdHkvSVNNCitEaWpvbgorZGlsZXR0YW50aXNtL01TCitkaWxsL1lNCitkaWx1dGlvbi9TTQorZGltZW5zaW9uYWwKK2RpbWludXRpdmUvUFNZCitkaW1tZWQvVQorZGltbmVzcy9TCitkaW5hci9TTQorZGluZy1kb25nCitkaW5naW5lc3MvUworZGluZ29lcworZGlvcmFtYS9TTQorZGlwaHRob25nL1NNCitkaXJlY3Rpb24vSU1hUworZGlyZWN0bHkvSQorZGlyZWN0b3JzaGlwL1NNCitkaXNhcnJhbmdlL0wKK2Rpc2J1cnNlL0xTR0QKK2Rpc2NpcGxpbmVyL00KK2Rpc2NpcGxpbmUncy9JCitkaXNjby9NRworZGlzY29ubmVjdGVyL00KK2Rpc2NyZWV0ZXIKK2Rpc2NyZWV0ZXN0CitkaXNjcmV0ZW5lc3MvUworZGlzY3JpbWluYXRpbmcvSVkKK2Rpc2VtYm9keS9MCitkaXNlbWJvd2VsL0xEU0cKK2Rpc2VuZ2FnZS9MCitkaXNndXN0L2s2amgKK2Rpc2ludGVyZXN0L2kKK2Rpc2svTVMKK2Rpc2tldHRlL1MKK2Rpc29yZGVyL2hpCitkaXNwYXJhZ2UvTFJrRFNHCitkaXNwaXJpdC9kUworZGlzcG9zZS9LR05JU1hECitkaXNwdXRlL2xuUk5ER1MKK2Rpc3JlcGFpcgorZGlzc2VydmljZQorZGlzc2lwYXRlL25WUk5EU2hpRworZGlzc29jaWF0ZS9OVnZuU0RHCitkaXNzdWFkZXIvTQorZGlzdGFuY2VkL2UKK2Rpc3RpbmN0L1R2UFZZdQorZGlzdGluZ3Vpc2hhYmx5L0kKK2Rpc3RyYWN0ZWQvUAorZGlzdHJhaXQKK2Rpc3VuaW9uCitkaXR0by9ETUdTCitkaXR0eS9NUworZGl2ZXJ0aWN1bGl0aXMvTQorZGl2ZXN0L1NHRAorZGl2aXNpb24vQQorZGl2b3Jj6QorRGpha2FydGEvTQorZGplbGxhYmFoJ3MKK0RMUgorRG1pdHJpCitETkEKK2RvLzdUR0pSenkKK2RvY2lsaXR5L1NNCitkb2Nrd29ya2VyL1MKK0RvQ29NbworZG9jdG9yL2RTTQorZG9jdG9yYWwvSworZG9jdHJpbmFsCitEb2Rzb24vTQorZG9lc2tpbi9NUworZG9nLWJpc2N1aXQvTVMKK2RvZy1lbmQKK2RvZ2ZpZ2h0L0dTTQorZG9nbWF0aXN0L01TCitkb2cncy10YWlsCitkb2d3b29kL1NNCitkb2xkcnVtcworZG9sZWZ1bC9QWQorZG9sZWZ1bG5lc3MvUworZG9sb3JvdXMvWQorZG9taW5hbmNlL0tTTQorZG9taW5lZXJpbmcvUAorZG9taW5pb24vU00KK2RvbmcvTUdTRAorZG9uZ2xlL1MKK0Rvbm55CitEb29saXR0bGUKK2Rvb3JoYW5kbGVzCitkb29ybWF0L1NNCitkb29ycy9lSQorZG9wYW1pbmUKK2RvcGV5Citkb3Jtb3VzZS9NCitEb3J0bXVuZC9NCitkb3NlL2NTTURHCitkb3VibGUtY2hlY2tlZAorZG91YmxlaGVhZGVyL01TCitkb3VidGVyL01TCitEb3VnaGVydHkKK2Rvd2RpbmVzcy9TCitkb3duLWFuZC1vdXQvUworZG93bnRpbWUvU00KK2Rvd253aW5kCitkcmFiL1lQVAorZHJhZ25ldC9TTQorZHJhbWF0dXJneS9NCitkcmF0L1NERworZHJhdWdodHkvVFAKK0RyYXZpZGlhbgorZHJhd24vY2VBSQorZHJlYWRlcgorZHJlYW1ib2F0L01TCitkcmVhbWVkL1UKK2RyZWFyLzJaegorZHJlc3NhZ2UvTVMKK2RyZXNzaW5nL00KK2RyZXNzbWFraW5nL01TCitkcmlua2FibGVzCitkcm9uZS9TR2tETQorZHJvcC10ZXN0L0dTRE0KK2RydWRnZXIvTQorRHJ1aWRpYworZHJ5YWQvTVMKK2RyeS1jbGVhbmVkCitEdWFuZQorZHViYmVyL01TCitkdWJpb3VzL1BZCitkdWN0aWxlCitkdWRlL01TCitkdWRnZW9uL1NNCitkdWZmL0dSRFNNCitkdWctb3V0CitEdW1iYXJ0b24vTQorZHVtYmZvdW5kZXIKK0R1bmxhcAorRHVuc3RhbgorZHVvZGVuYQorZHVvZGVudW0vTQorZHVwbGUKK2R1cGxpY2F0aW9uL01BCitkdXBsaWNpdG91cworRHVyYWNlbGwvTQorZHVzdHBhbi9NUworZHV0eS1mcmVlCitkdXZldC9TTQorRHZvcuFrL00KK2R3YXJmbmVzcworZHdlbHQvSQorZHllLzdHRFJKTVMKK2R5ZXN0dWZmL01TCitkeXNsZXhpYy9TWQorZHlzdHJvcGh5L00KK2VhcnRod2FyZC9TCitlYXJ3YXgvTQorZWFzdGJvdW5kCitlYXN0ZXJubW9zdAorRWFzdGxlaWdoCitlYXN0LW5vcnRoLWVhc3QKK2VhdGVyL2NNCitlY2NsZXNpYXN0aWMvU01ZCitlY2hvL0FHRAorZWNobydzCitlY29jbGltYXRlL01TCitFY29uLgorZWNvbm9tZXRyaWNpYW5zCitlY29zeXN0ZW0vTVMKK0VjdWFkb3JhbgorZWN1bWVuaWNpc3QvTVMKK2VjemVtYS9TTQorRWQKK2VkZ2V3YXlzCitlZGlmaWVkL1UKK2VkaXRpb24vTVMKK2VkaXRvcnNoaXAvU00KK0VEUAorZWRzL0YKK0VkdWFyZG8vTQorZWR1dGFpbm1lbnQvU00KK0VFQworZWVyaWUvVAorZWZmYWNlYWJsZS9JCitlZmZhY2VyL00KK2VmZmVjdGl2ZS9JUFkKK2VmZmVydmVzY2VudC9ZCitlZmZpY2llbnRseS9JCitlZmZsdWVuY2UvTVMKK2VmZmx1dmlhCitlZmZ1bGdlbnQKK2VmZnVzaXZlL1AKK2VnZy9NREdTCitlZ2lzJ3MKK2Vnb2lzdC9TTVd3MQorZWdvbWFuaWFjL1NNCitFaUMKK2VpZ2h0eS1vbmVmb2xkCitlaWdodHktdHdvCitlaW5zdGVpbml1bS9NCitlaXN0ZWRkZm9kL1dNUworZWplY3RhCitlbGFib3JhdG9ycworZWxhbmQvTVMKK0VsYmVydAorZWxib3ctd29yaworZWxlY3Rpb25lZXIvR1NECitlbGVjdG9yL1NNCitlbGVjdG9yYXRlL1NNCitlbGVjdHJpYy9TWQorZWxlY3RyaWNpdHkvTVMKK2VsZWN0cmlmaWNhdGlvbi9NCitlbGVjdHJvc2NvcGUvU01XCitlbGVjdHJvdHlwZS9TREdNCitlbGVnaWFjL1MKK0VsZW5hL00KK2VsZXZhdGlvbi9NCitlbGV2ZW5zL1MKK0VsaXNlL00KK0Vsa2hhcnQKK0VsbGVzbWVyZQorZWxsaXBzaXMvTQorZWxsaXBzb2lkL1NNCitFbG1odXJzdAorZWxvY3V0aW9uLzNTTXkKK2Vsb2RlYS9TCitlbWFuYXRpb24vTQorZW1hbmNpcGF0b3IvU00KK0VtYW51ZWwKK2VtYmxhem9uL0xTZAorZW1ib2RpZXIvTQorZW1ib2xkZW4vZFMKK2VtYnJhY2UvU0dEaworZW1icmFjZWFibGUKK2VtYnJhc3VyZS9NUworZW1lbmRlcgorZW1pZ3JhdGUvblNOREcKK2VtaW5lbnQvWQorZW1pc3Npdml0eS9TTQorRW1tZXR0L00KK2Vtb2x1bWVudC9TTQorZW1vdGlvbmFsbHkvVWMKK2VtcGFuZWxsaW5nCitlbXBoYXNpemVzL0EKK2VtcGlyZS93UzFNVworZW1waXJpYy9NMworZW1wbGFjZS9MCitlbXBvcmlhCitlbXBvcml1bS9NUworZW1wdG9yL00KK2VtcworZW5jZXBoYWxpdGlkZXMKK2VuY2hhbnRpbmcvWQorZW5jbAorZW5jb3VyYWdlci9NCitlbmNyb2FjaC9MR0RTCitlbmNydXN0L25ER05TCitlbmN1bWJlci9FU2QKK0VuZGljb3R0CitlbmRpbmcncworZW5kb3cvR0xTRAorZW5kcG9pbnQvTVMKK2VuZm9yY2VhYmlsaXR5L00KK2VuZ2FnaW5nL1kKK2VuZ2luZWVyaW5nL00KK2VubGlzdG1lbnQvQQorZW5saXN0bWVudCdzCitlbnNpbGFnZS9TTUdECitlbnRlcmVyL01TCitlbnRyJ2FjdGUvUworZW50cmFpbi9ER0xTCitlbnRyYW1tZWwvRFNHCitlbnRyZWF0L2tTR1pECitlbnRyZWP0dGUvU00KK2VudHJvcHkvV1NNCitlbnVuY2lhdGlvbi9NCitlbnZlbm9tL2RTCitlbnZpcm9ubWVudGFsaXN0CitlbnZpc2lvbi9HU0QKK2VuenltZS9XU00KK0VvY2VuZQorZXBoZW1lcmFsL1MKK2VwaWRlcm1pcy9TTQorZXBpZ2xvdHRpcy9TTQorZXBpZ3JhcGgvd1NNWgorZXBpbGVwc3kvU00KK2Vwb2NoL29NCitlcHNpbG9uL01TCitlcXVhdGUvREdCU25OCitlcXVlcnJ5L1NNCitlcXVlc3RyaWFuaXNtL1NNCitlcXVpbm9jdGlhbC9TCitlcXVpcHJvcG9ydGlvbmFsaXR5CitlcmFkaWNhYmxlL0kKK2VyYXMvN2dTcmQKK2VyZWN0bmVzcy9TTQorZXJlY3RzCitlcmVtaXRlL1NNCitlcmdvbm9taWNzL00KK0VyaGFyZAorRXJpY2EKK0VyaWNoCitFcml0cmVhL00KK0VybmVzdGluZQorZXJyYW50L1lTCitlcnJvci9NUworZXJ1cHRpb24vTVMKK2VzY3Jvdy9TRE1HCitlc3RhYmxpc2htZW50L0EKK2V0CitldGVybml0eS9TTQorZXRoeWwvTVMKK2V1Z2VuaWNzL00KK2V1a2FyeW90ZS9TCitldXBoZW1pc3QvU1cxTQorZXVwaG9yaWMvWQorZXVyb3BpdW0vTQorZXVzdGFjeQorZXV0ZWN0aWMKK2V2YWx1YXRpbmcvQQorZXZhbmdlbGlzZS9ER1MKK2V2YW5nZWxpemUvREdTCitFdmFucworRXZhbnN0b24KK2V2YXBvcmF0ZS92R25EU1ZOCitldmVudGZ1bGx5L1UKK2V2b2NhYmxlCitldm9sdXRpb25pc3QKK2V4YWNlcmJhdGUvbk5EU0cKK2V4YWx0YXRpb24vTQorZXhhbS9TTQorZXhjZXB0aW9uLzdNUworZXhjbHVzaXZpdHkvU00KK2V4ZWN1dGFibGUvU00KK2V4ZWN1dGlvbi9TTVIKK2V4aGF1c3QvYmtTVnZEaHVHCitleGhpYml0aW9uL01SMworZXhvYmlvbG9neS9NUworZXhvZ2Vub3VzL1kKK2V4b3JjaXplL1NERworZXhwZWRpdGlvdXNuZXNzL1MKK2V4cGVyaWVudGlhbC9ZCitleHBlcnRpbmcKK2V4cGVydGlzZS9TTQorZXhwbGljYXRlL1ZTbk52R0QKK2V4cGxvaXRhdGlvbi9jCitleHBsb2l0ZWQvY1VmCitleHBsb3NpdmUvU1AKK2V4cG9zL3JkUworZXhwcmVzc2l2ZS9JUFkKK2V4cHJvcHJpYXRlL1NHRE5uCitleHB1bHNpb24vTQorZXh0CitleHRlbnQvU00KK2V4dGVybmFsL3FRLThZczlTCitleHRvbGxlci9NCitleHRyYWRpdGFibGUKK2V4dHJhZGl0ZS9HRFMKK2V4dHJhcG9sYXRpb24vTQorZXh0cmljYWJsZS9JCitleHRyb3ZlcnNpb24vU00KK2V4dWJlcmFudC9ZCitleHVsdC9ObmtHRFMKK2V4dXJiL01TCitFeHhvbgorZXllLW9wZW5pbmcKK2V5ZXBpZWNlL01TCitleWV3aXRuZXNzL01TCitmYWN0aW91cy9ZUAorZmFjdG9pZC9TCitGYWdhdG9nby9NCitmYe9lbmNlL1MKK2ZhaWxpbmdseS9VCitmYWlyLW1pbmRlZAorZmFpcm5lc3MvUworZmFpcnl0YWxlCitmYWxjb25yeS9TTQorZmFsbC9SYk1HUworZmFsbC1iYWNrCitmYWxsaWJsZW5lc3MvUworZmFsc2UvVFlQCitmYWxzZW5lc3MvUworZmFtaWxpYXJseS9VCitmYW5jaWZ1bG5lc3MvUworZmFuZmFyZS9NUworZmFub3V0CitmYW50YXN0aWNhbAorRmFyYmVyCitGYXJlaGFtCitmYXJmZXRjaGVkbmVzcy9NCitmYXJvL00KK2ZhcnJhZ2lub3VzCitmYXJyb3cvTURTRworZmFydGhlcm1vc3QKK2Zhc2NpbmF0aW9uL00KK2Zhc3QvVEdQU0QKK2Zhc3RiYWNrL1NNCitmYXRhbC8zCitmYXRlZnVsL1AKK2ZhdGhlYWQvTVNEaQorZmF0aGVyLWluLWxhdworZmF0aWd1ZS9rRE1TRworZmF0dHkvVFNQCitGYXVzdGlhbgorZmF2b3VyZWRuZXNzCitmYXgvU0dNRAorZmVhc2libGUvUFkKK2ZlYnJpbGl0eQorRmVicnVhcnkvU00KK2ZlZGVyYWxpc20vTVMKK2ZlZC11cAorZmVlYmxlLW1pbmRlZAorZmVlbC9Ha1JTSgorZmVsaWNpdG91cy9ZUAorRmVsaXgKK2ZlbHQvR1NECitGZWx0aGFtCitmZW1pbmluaXR5L1NNCitmZW5jaW5nL00KK2ZlbmVzdHJhdGlvbi9DU00KK2Zlcm1pb24vTVMKK2Zlcm1pdW0vTQorZmVybi9NWlMKK0Zlcm5hbmRvCitmZXJ0aWxlL1BzLVE4OXFZCitmZXNzL1NGCitmZXN0aXZhbC9NUworZmVzdGl2ZS9ZUAorZmV6L00KK0ZpCitmaWJ1bGFlCitmaWVsZHdvcmsvU01SCitmaWZ0eS9ITVMKK2ZpZ3VyYXRpdmUvUFkKK2ZpZ3VyZXIvU01GCitmaWxhbWVudG91cworZmlsaWFsL1VZCitmaWxsaW5nL00KK2ZpbGxzL0FjCitmaWxtLXN0cmlwL01TCitmaWx0cmF0ZS9JR0ROblMKK2ZpbmFnbGUvUlNHRAorZmluYW5jaW5nL1MKK2ZpbmRpbmcvTQorZmluZSdzCitmaW5lc3QKK2Zpbmdlcm1hcmtzCitmaW5pY2t5L1QKK2ZpbmluZy9NCitGaW5zYnVyeS9NCitmaXJlLWhvc2UvTVMKK2ZpcmUtd2Fsa2VyL1MKK2Zpcm0vRkRHUworZmlzY2FsL1kKK2Zpc3RpY3VmZnMKK0ZpdGNoCitGaXR6cGF0cmljaworRml0enJveQorZml2ZS15ZWFyCitmaXp6L1pHU0QKK2ZsYWJiZXJnYXN0L0drU0QKK2ZsYWdlbGxhdGlvbi9NCitmbGFnc3RhZmYvU00KK2ZsYWctd2F2aW5nCitmbGFpbC9HU01ECitmbGFtYm95YW5jZS9NWlMKK2ZsYW1lbGlrZQorZmxhd2xlc3MvUFkKK2ZsYXgvTVMKK2ZsZWVjeS9QVAorZmxlZXIKK0ZsZW1pc2gKK2ZsZXNoZXIvTQorZmxlc2h5L1RQCitmbGV4aWJsZS9JWQorZmxpY2svREdTCitmbGluY2hpbmcvVQorZmxpcHBhYmxlCitmbG9yZXQvU00KK2Zsb3VyeS9UCitmbHVjdHVhdGUvbkdEU04KK2ZsdWN0dWF0aW9uL00KK2ZsdW9yaW5hdGVkCitmbHkvY0dTCitmbHlhYmxlCitmbHlieXMKK2ZvYWwvTUdTRAorZm9ldGFsCitmb2dneS9UUFkKK2ZvZ2hvcm4vU00KK2ZvaWJsZS9NUworZm9sZC9KR1JTRAorZm9sZGVkL1VBCitmb2xraXNoCitmb2xsb3cvREdKUlM3Citmb25kdWUvTVMKK2Zvb2RpZS9TCitmb29kc3R1ZmYvTVMKK2Zvb3RmYWxsL1NNCitmb290aGlsbC9TTQorZm9vdGxvb3NlCitmb290c3Rvb2wvU00KK2Zvb3R3b3JrL01TCitmb3BwaXNoL1BZCitmb3JjZS1mZWQKK2ZvcmViZWFyL1NNCitmb3JlY2FzdC9TUkcKK2ZvcmVmZWV0Citmb3JlZ28vR0oKK2ZvcmVnb25lCitmb3JlaWduL1BSWQorZm9yZWxvY2svREdTTQorZm9yZXBsYXkvU00KK2ZvcmVzdGF0aW9uL0NNQQorZm9yZ2l2ZS9SUGxTN2tHCitmb3Jnb3QKK2Zvcm1hdGlvbi9NRklDNFMKK2Zvcm1maXR0aW5nCitmb3JtdWxhdGlvbi9BTQorZm9yc2VlYWJpbGl0eQorZm9ydGlvcmkKK2ZvcnR1aXRvdXNuZXNzL1MKK2ZvcnR5L0hNUworZm9yd2FyZG5lc3MvUworRm91Y2F1bHQKK2ZvdWwtbW91dGgvRAorZm91bC11cC9TCitmb3VuZGF0aW9uL01vCitmb3VyLWxldHRlcgorZm91ci1wb3N0ZXIvTVMKK2ZvdXJzY29yZS9TCitmb3hlcy9lCitmb3hnbG92ZS9TTQorZnJhY3Rpb24vRE5vU0dNCitmcmFnaWxlL1kKK2ZyYWdyYW5jZS9TTQorZnJhbWluZy9NCitGcmFuL00KK2ZyYW5rZnVydGVyL01TCitGcmFuegorZnJhdWRzdGVyL1MKK2ZyYXVkdWxlbmNlL1MKK2ZyZWFraXNobmVzcy9TCitmcmVja2x5L1QKK2ZyZWVib290L1IKK2ZyZWVkbWFuL00KK2ZyZWVoYW5kL0RoCitmcmVlLWhhbmRlZC9ZCitmcmVlLW1hcmtldAorZnJlZXRoaW5rZXIvTVMKK2ZyZXNoL1RQUm1ZCitmcmVzaGV0L1NNCitmcmVzaHdhdGVyL01TCitGcmVzbm8KK2ZyZXQvakQ2U0cKK0ZyZXkKK2ZyaWFyL1laU00KK2ZyaWN0aW9uYWwKK2ZyaWVuZGxpbHkKK2ZyaWVuZHMnCitmcmlnaHRmdWwvUAorRnJvYmlzaGVyCitmcm9nL0RHbVNNCitmcm9saWNzb21lCitmcm9uZC9TTQorZnJvd2FyZG5lc3MvUworZnJvemVuL1BZCitmcnVnYWxpdHkvTVMKK2ZydWl0Y2FrZS9NUworZnJ1aXRmdWxuZXNzZXMKK2ZydWl0bGVzcy9ZUAorZnJ1bXBpc2gKK0Z1Y2hzCitGVUQKK2Z1Z2l0aXZlL1BTWU0KK2Z1Z3VlL0dTRE0KK2Z1aHJlci9TCitmdWxmaWwvRExHUworZnVsbG5lc3MvU00KK2Z1bWlnYXRpb24vTQorZnVuY3Rpb25hbGlzbS9NCitmdW5lcmFyeQorZnVuZ2ljaWRlL1NNCitmdXJyaW5lc3MvUworZnVycnkvVFJQCitmdXJ0aGVyZXN0CitmdXNlYm94L1MKK2Z1c2lmb3JtCitmdXN0aWFuL01TCitmdXR1cm9sb2d5LzNTTQorZnV6emluZXNzL1MKK0dhYmFyb25lCitHYWJyaWVsCitnYWluL0FTREcKK0dhbGJyYWl0aAorZ2FsbGl2YW50L0RHUworZ2FtZXRlL1dNUworZ2FteS9QVAorR2FudHQKK2dhcnJldC9NUworZ2FzZXMKK2dhc2lmaWNhdGlvbi9NCitnYXNsaWdodC9ETVMKK2dhc3Nlci9TTQorZ2Fzc2luZy9DTVMKK0dhc3Ryb3BvZGEKK2dhdGVrZWVwZXIvTVMKK0dhdGxpbmJ1cmcKK2dhdXNzL01TCitHYXV0aWVyCitnYXlldHkncworZ2F6ZWJvL01TCitnYXpldHRlZXIvU00KK0dlCitnZWFyL0RHU0pNCitnZWNrby9NUworZ2VsaWduaXRlL01TCitnZW5lYWxvZ3kvdzMxTVMKK2dlbmVyYWxpc2UvY0RTRworZ2VuZXJhdGl2ZS9BWQorZ2VuaWFsL1AKK2dlbml0YWxzCitnZW50L0FNUworZ2VudHJ5L1NNCitnZW9jaGVtaXN0cnkvU00KK2dlb2RldGljL1MKK2dlb2cKK2dlb21ldGVyL3dTMU1XCitnZW9tb3JwaG9sb2d5L3dNCitnZW9zeW5jaHJvbm91cworZ2VyYmlsL01TCitnZXJtL01TCitnaG9zdC13cml0ZS9SR1MKK0dIegorZ2liYmVyL1NkCitnaWJib3VzL1BZCitnaWdhYnl0ZS9TCitnaWdnbGUvUkdEU1lrCitnaWxsZXIKK2dpbW1pY2svU1pNeQorZ2lua2dvL00KK0dpbm8vTQorZ2lybC9TTQorZ2lybGhvb2QvU00KK2dpcmxpc2huZXNzL1MKK0dpcnRvbi9NCitnaXZlLzdSR1NrCitnbGFjaWF0ZS9ER1NObgorZ2xhZGlvbGEvU00KK2dsYXJpbmcvUAorZ2xhc3N3b3J0L00KK2dsYXplZC9VCitnbGVlZnVsL1AKK2dsaXRjaC9NUworZ2xpdHovU0RHWgorZ2xvcmlmeS9STlNHbkQKK2dsb3Jpb3VzL1BZSQorZ2xvc3NhcnkvU00KK2dsb3R0aXMvU00KK2dsdXRlbi9TTQorZ2x1dGlub3VzL1BZCitnbHljZXJpZGUvTQorZ2x5Y2VyaW5hdGUvRE0KK0dNVAorZ25vbWlzaAorR05QCitnb2Fsa2VlcGluZy9NCitnb2FsLW1vdXRoL00KK2dvYWxzY29yaW5nCitnb2F0L1NNCitnb2JiZXQvU00KK2dvZGRlc3MvU00KK0dvZC1mZWFyaW5nCitnb2RsaWtlL1AKK2dvZGx5L1BUCitnb2RwYXJlbnQvTVMKK0dvbGRhCitnb2xkZW5yb2QvTVMKK2dvbGRpbG9ja3MKK2dvby9aTQorZ29vZGlzaAorZ29vZG5lc3MvUworZ29vZG5pZ2h0CitHb29kd2luCitnb29keS9NUworZ29waGVyL01TCitnb3JnaW5nL0UKK0dvdWRhL00KK2dvdmVybmVkL1UKK2dvdmVybm9yL01TCitnb3Zlcm5vcnNoaXAvTVMKK0dveWEKK2dyYWNlZnVsbGVyCitncmFjZXMvRQorZ3JhZGluZ3MKK2dyYWR1YXRlcy9mCitncmFmdGluZy9NCitHcmFmdG9uCitncmFuZGFtL01TCitncmFuZG1vdGhlci9NWVMKK2dyYW5kcGEvTVMKK2dyYW5kc3RhbmRlci9NCitncmFubnkvTVMKK2dyYXBldmluZS9NUworZ3JhcHBsaW5nL00KK2dyYXNwZXIvTQorZ3JhdGVmdWxuZXNzL1UKK2dyYXRlZnVsbmVzc2VzCitncmF2ZS9SU01aUFREWUcKK2dyYXZlLXN0b25lL1NNCitncmF2aXRhdGUvTkRHblZ4UworZ3JlYXQvUFlTVAorR3JlY2lhbi9TCitncmVlbmVyL1oKK2dyZWVuaXNobmVzcworZ3JlZ2FyaW91cy9QWQorR3JlZ29yeQorR3JldGEKK2dyaWV2YW5jZS9NUworZ3JpZXZlL1JrU0RHCitHcmltZXMKK2dyaW1pbmVzcy9TCitncmlwcGluZy9ZCitncm9wZS9SSlNER2sKK2dyb3VuZHNrZWVwZXJzCitncm91cGluZy9NCitncm91dGVyL00KK2dyb3dzL2NBZQorZ3J1ZGdpbmcvVQorR3J1bmR5CitndWFyYW50eS9TTQorR3VhdGVtYWxhbi9TCitHdWV2YXJhCitndWlsZC9NU1IKK0d1aW5ldmVyZS9NCitndWl0YXJpc3QKK2d1bGYvU00KK0d1bGxhaAorR3VubmFyCitHdW50ZXIKK2d1bndhbGUvU00KK2d1dHMvWjIKK2d1dHR1cmFsL1BTWQorR3dlbnQvTQorSGFkYW1hcmQKK2hhZW1vc3Rhc2lzCitIYWdlci9NCitoYWdnaXMvU00KK2hhaXJjYXJlCitoYWlybGluZS9NUworaGFpcnBpbi9TTQoraGFpcnN0eWxlLzNNU0cKK2hha2UvU00KK2hhbGFsL1NERworaGFsZi1jcm93bi9NUworaGFsZi10b25lL1MKK2hhbGYtd2F2ZQoraGFsZi13YXkKK2hhbGl0b3NlcworaGFsbHVjaW5vZ2VuaWMvUworaGFsb2VzCitoYWxvZ2VuYXRlZAorSGFsc2V5L00KK2hhbHZlcy9NCitIYW1pbHRvbmlhbi9TCitoYW1tZXJsb2NrL1NNCitoYW1teS9UCitIYW1wc3RlYWQKK2hhbmRiYWxsL01TCitoYW5kY2xhc3AvU00KK0hhbmRlbC9NCitoYW5kb3ZlcgoraGFuZC1waWNrL0dTRAoraGFuZHNldC9TTQoraGFuZHdvcmsvU00KK2hhbmR3cml0ZS9HSlMKK2hhbmdkb2cvUworaGFuZ2luZydzCitoYW5rL1JNWlMKK0hhbm5haAorSGFuc2VsCitoYXJhbmd1ZXIvTQoraGFyYmluZ2VyL01TCitoYXJkL1oyWVB6VAoraGFyZGJpdHRlbgoraGFyZC1lYXJuZWQKK2hhcmRlbmVkL1UKK0hhcmRpbgoraGFyZC1ub3NlZAoraGFybS9HU2pwTTZECitoYXJtZnVsbmVzcy9TCitoYXJtb25pb3VzL0lQWQoraGFybW9uaXNlL1JuR1NECitoYXJtb255L0VTTQoraGFybmVzcy9TVURHCitoYXJyb3dlci9NCitoYXJzaG5lc3MvUworSGFydGxlcG9vbC9NCitIYXJ0bWFuCitoYXMKK0hhc2JybworaGFzaGlzaC9NUworaGFzdGUvTVMKK2hhc3Rlbi9TZAorSGFzdGluZ3MvTQoraGF0Y2hlci9NCitoYXRlL2pTTTYKK2hhdmVyc2Fjay9TTQoraGF3ay9STURHUworaGF6aW5lc3MvUworSERUVgoraGVhZGJhbmQvTVMKK2hlYWRib2FyZC9TTQoraGVhZGNvdW50CitoZWFkbWFuL00KK2hlYWRzZXQvU00KK2hlYWR5L1QKK2hlYWx0aGluZXNzL1NNCitoZWFsdGh5L1RVWQoraGVhcnRiZWF0L01TCitoZWFydGVuL2tFZFMKK2hlYXJ0aHN0b25lL01TCitoZWFydHdvb2QvTQoraGVhdHMvS2NBCitoZWF2eXNldAorSGVicmlkZXMKK2hlZG9uaXNtL01TCitoZWZ0eS9UUAoraGVpbm91c25lc3MvUworSGVpbnoKK2hlaXJsb29tL01TCitoZWxsaXNobmVzcy9TCitI6WxvaXNlL00KK2hlbHBmdWwvUAoraGVtcGVuCitIZW5kZXJzb24KK0hlbmRyaXgKK0hlbnJ5L00KK2hlcGF0aWMvUworaGVwdGFnb25hbAoraGVyYWxkZWQvVQoraGVyYWxkcnkvU00KK2hlcmJhZ2UvU00KK0hlcmJ5CitoZXJlYnkKK2hlcmVkaXRhcnkKK2hlcmVvZgorSGVybW9zYQoraGVybmlhL25TTQorSGVyb2RvdHVzCitoZXJwZXRvbG9neS9TM00KK0hlcnNoZXkKK2hlcnR6L00KK0hlc3NpYW4vUworaGV0ZXJvZG94L1oKK2hldGVyb2dlbmVvdXMvWVAKK0hGCitoaWJlcm5hdG9yL1NNCitIaWJlcm5pYQoraGljY3VwL2RTTQoraGlja29yeS9TTQoraGlkZW91cy9QWQoraGllL0dTCitoaWVyYXJjaHkvMVdNU3cKK2hpZXJvZ2x5cGhpYy9TCitoaWdoLXByb2ZpbGUKK2hpZ2gtcXVhbGl0eQoraGlnaC1yaXNlCitoaWdoLXNwZWVkCitoaWdoLXN0cnVuZworSGlsbGFyeQoraGlsbHRvcC9TTQoraGluZGVyL2QKK2hpbmdlJ3MKK2hpcHN0ZXIvU00KK2hpcmVyL01TCitIaXJvc2hpL00KK0hpcm9zaGltYQoraG9hcmRpbmcvTQoraG9iYmxlL1JHRFMKK2hvY2svTVMKK2hvY3VzLXBvY3VzCitob2lzdGVyL00KK0hva2thaWRvCitIb2xiZWNrCitob2xpZGF5ZXIKK2hvbGlzdGljL1kKK0hvbGxvd2F5L00KK2hvbGxvd25lc3MvUworSG9sbWVzCitob2x5c3RvbmUvU00KK2hvbWUtYmFzZWQKK2hvbWVib2R5L1NNCitob21lLWdyb3duCitob21lbGluZXNzL1MKK2hvbWUtc2hvcHBpbmcKK2hvbWVzaWNrL1AKK2hvbWVzdGVhZC9HTURTUgoraG9tZXdhcmQtYm91bmQKK2hvbWV5L1AKK2hvbW9lb3BhdGh5L1NNCitob21vbW9ycGhvdXMKK2hvbW9waG9iaWEvUworSG9ub2x1bHUKK2hvb2R3aW5rZXIvTQoraG9va2VkL1UKK2hvb3BsYS9NUworSG9yYXRpbworaG9ybW9uZS9vTVMKK2hvcm4vREdpcDJaU00KK2hvcm5ldC9NUworaG9ybnkvUFQKK2hvcnJlbmRvdXMvWQoraG9yc2UtYnJlYWtlcgoraG9yc2VzaG9lL0dEU00KK2hvcnRpY3VsdHVyYWwKK0hvc2VhCitob3N0ZWwvRFJNU3lHCitob3N0ZWxyeS9TTQoraG90ZWxpZXIvTVMKK2hvdGZvb3QvRFNHCitob3RoZWFkZWRuZXNzL1MKK2hvdHJvZAoraG91Z2gvTQoraG91c2UvTTZTSm1ERworaG91c2Vib2F0L01TCitob3VzZWJvdW5kCitob3VzZXdpZmVseS9QCitob3dsL0RTUkdNCitob3lkZW5pc2gKK2h0dHAKK2h1Yi9NWlMKK2h1Y2tsZWJlcnJ5L01TCitodWZmaW5lc3MvUworaHVsbGFiYWxvby9NUworaHVtYW5pc20vTVMKK2h1bWJ1Zy9HRFNNCitodW1kaW5nZXIvU00KK2h1bW1vY2svRFNNWkcKK2h1bW91ci9EaE1wU0cKK2h1bmRyZWR3ZWlnaHQvTVMKK2h1bmdlci9kTVMKK2h1bmdvdmVyCitodW5ncmluZXNzL1MKK2h1bmdyeS9ZUFQKK0h1cnN0CitodXJ0ZnVsL1AKK2h1dC9NREdTCitIeWRlL00KK2h5ZHJhdGVzL0NBCitoeWRyYXVsaWMvWVMKK2h5ZHJpZGUvU00KK2h5ZHJvL01TCitoeWRyb2R5bmFtaWNhbAoraHlkcm9lbGVjdHJpYy9ZCitoeWRyb2dlbmF0aW9uL0NNCitoeWRyb21lY2hhbmljcy9NCitoeW1lbi9NUworaHltbmFyeS9TCitoeW1uLWJvb2svU00KK2h5cGVyYWVtaWMKK2h5cGVyZmluZQoraHlwZXJnYW1vdXMvWQoraHlwZXJtYXJrZXQvTVMKK2h5cGVyc3BhY2UvTQoraHlwZXJ0ZW5zaW9uL1NNCitoeXBlcnRleHQvTVMKK2h5cGVydGh5cm9pZAoraHlwZXJ0aHlyb2lkaXNtL1NNCitoeXBoZW4vTWRuU04KK2h5cG5vdGlzZS9TR0QKK2h5cG8vTURHUworaHlwb2Nob25kcmlhYy9NUworaHlwb2NyaXN5L1NNCitpYW1iaWMvUworaWNlYm9hdC9NUworaWNvc2FoZWRyYQoraWNvc2FoZWRyYWwKK2ljb3NhaGVkcm9uL00KK2ljdG9yaWFuaXNlcworaWQvTVkKK2lkZWF0aW9uL00KK2lkZW50aWZpY2F0aW9uL01hCitpZGlvbS9XU00xCitpZG9sL1FxU3MtODlNCitpZmZ5L1QKK2lmcworSWxpYWQKK2lsbC1hZHZpc2VkCitpbGxlZ2l0aW1hdGUvUworaWxsLWZhdm91cmVkCitpbGwtc3RhcnJlZAoraW1hZ28vTVMKK0lNQVAKK2ltYnJpY2F0aW9uL1NNCitJTUhPCitpbW1hY3VsYXRlL1lQCitpbW1hY3VsYXRlbmVzcy9TCitJbW1hbnVlbAoraW1taW5lbnQvUFkKK2ltbW9sYXRpb24vTQoraW1tdW5vbG9neS8zdzFXTVMKK2ltcGFjdC9WREcKK2ltcGFpcmVyL00KK2ltcGFsZS9MRworaW1wYXNzaXZlL1AKK2ltcGF0aWVudAoraW1wZWN1bmlvdXMvUFkKK2ltcGVyYXRpdmUvUFlTCitpbXBlcm1hbmVuY2UKK2ltcGVybWlzc2libGUKK2ltcGVydGluZW5jZS9NCitpbXBlcnZpb3VzL1BZCitpbXBldGlnby9NUworSW1waGFsCitpbXBvcnRhYmxlCitpbXBvc3Rvci9TTQoraW1wb3VuZG1lbnRzCitpbXByZWduYXRpb24vTQoraW1wcmVzc2VyCitpbXByZXNzaW9uaXNtL01TCitpbXByb3Zpc2F0aW9uL29NCitpbXByb3Zpc2F0b3J5CitpbXB1cmUvUAoraW1wdXRhYmxlCitpbmFkdmVydGVudC9ZCitpbmFtb3JhdGEvU00KK2luYW5pdHkvTVMKK2luYXJ0aWN1bGF0ZQorSW5jLgoraW5jYWxjdWxhYmxlL1BZCitpbmNhbmRlc2NlbmNlL1NNCitpbmNhbmRlc2NlbnQvU1kKK2luY2VuZGlhcnkvUworaW5jZXN0L1NNCitpbmNoL1NNR0QKK2luY2lkZW50YWwvRgoraW5jaWRlbnQncworaW5jaXNpb24vTQoraW5jbGluZXIvTQoraW5jbHVkZS9TR1hOdlZEdQoraW5jbHVzaXZlL1AKK2luY29oZXJlbmN5L00KK2luY29ycmVjdC83CitpbmN1bHBhdGUvREdTCitpbmRlYnRlZC9QCitpbmRlY2VudGVyCitpbmRlZmF0aWdhYmxlL1BZCitpbmRlbnQvTm4KK0luZGlyYQoraW5kaXZpZHVhbGlzZS9rCitpbmRpdmlkdWF0ZS9HbkRTTgoraW5kdWN0aW9uL00KK2luZHVsZ2VyL00KK2luZHVzdHJpYWwvOFEzLXFTCitpbmR3ZWxsL0cKK2luZWJyaWF0ZS9ObkdEUworaW5lc2NhcGFibGUvWQoraW5leHBlZGllbnQKK2luZmFtb3VzCitpbmZhbXkvU00KK2luZmVjdGlvbi9FTVNBCitpbmZlcmlvci9NWVMKK2luZmVyaW9yaXR5L1NNCitpbmZpbml0ZS9WWgoraW5maW5pdGVzaW1hbC9ZUworaW5mbGF0YWJsZS9TTQoraW5mbGljdGlvbi9NUworaW5mb3JtYXRpY3MKK2luZm9ybWF0b3J5CitpbmZvcm1lZC9VCitpbmZvcm1lci9NCitpbmZ1cmlhdGUvU0dEa04KK2luZ+ludWUvUworaW5nbGVub29rL1NNCitJbmdyYW0KK2luZ3JlZGllbnQvTVMKK2luaG9zcGl0YWJsZS9QCitpbmhvc3BpdGFsaXR5CitpbmltaWNhbC9ZCitpbmlxdWl0eS9TTQoraW5rbGluZy9TTQoraW5sYW5kCitpbmxldC9NUworaW5uL01KUworaW5ub2NlbmNlL1NNCitpbm9jdWxhdGVkL0EKK2lucXVpcnkvU00KK2lucXVpc2l0b3Ivb01TCitpbnNjcmlwdGlvbi9NCitpbnNpbmNlcmUKK2luc3BlY3QvQUdTRAoraW5zdGFsbGF0aW9uL1NNCitpbnN0YW5jZS9HRAoraW5zdGl0dXRlcy9NCitpbnN0cnVjdC9WdnVHeERTCitpbnN1bGFyL1kKK2luc3VyYWJsZS9VCitpbnN1cmdlbmNlL1pTTQoraW50ZWdyaXR5L01TCitpbnRlbGxpZ2liaWxpdHkvU00KK2ludGVsbGlnaWJsZW5lc3MvTQoraW50ZW1wZXJhbmNlL1MKK2ludGVuZC91aFZpdgoraW50ZW5kZWQvVQoraW50ZW5zZS9QCitpbnRlcmNlZGVyL00KK2ludGVyY2VwdGlvbi9NUworaW50ZXJjZXB0b3IvU00KK2ludGVyY2Vzc29yeQoraW50ZXJjaGFuZ2VhYmxlL1AKK2ludGVyY29ycmVsYXRlZAoraW50ZXJkZW5vbWluYXRpb25hbC9ZCitpbnRlcmZhY2UvR1NNRAoraW50ZXJsYXllcmluZworaW50ZXJtaW5nbGUvRFNHCitpbnRlcm1vZHVsYXRpb24vTQoraW50ZXJwZW5ldHJhdGlvbgoraW50ZXJwcmV0b3IvUworaW50ZXJyZWdudW0vTVMKK2ludGVyc3BlcnNlL0RTTlhHCitpbnRlcnZlbnRpb25pc20vTVMKK2ludGVyd29yay9TR0QKK2ludG9uYXRlCitpbnRvbmF0aW9uL00KK2ludHJhZmFtaWx5CitpbnRyYW9mZmljZQoraW50cmljYWN5L01TCitpbnRyb3NwZWN0aXZlL1BZCitpbnRydXNpdmUvUAoraW52ZW50L3VWeXYKK2ludmVudGVkL0EKK2ludmVzdGlnYXRpb24vTVMKK2ludmlnaWxhdG9yL01TCitpbnZpZ29yYXRpbmcvWQoraW52aXRlZC9VCitpbnZvbHVudGFyaW5lc3MvUworSXFiYWwKK0lyYXFpL01TCitpcmFzY2liaWxpdHkvU00KK2lyZW5pYy9TCitpcmlzL01TCitpcm9uaW5nL00KK2lyb25uZXNzCitJcm9xdW9pcworaXJyZXBsYWNlYWJsZW5lc3MKK2lycmV2b2NhYmxlL1lQCitJcnZpbi9NCitpJ3MKK0lzYWJlbGxhL00KK0lzY2FyaW90Citpc29jaHJvbm91cy9ZCitpc29jeWFuYXRlL00KK2lzb21lcmljCitpc29zY2VsZXMKK2lzb3RvcGUvU01XCitpc3N1ZS9SRzdETVMKK2lzc3Vlcy9BCitpc3RobWlhbgoraXN0aG11cy9NUworaXRhbGljL1E4cS1TCitpdi9NCitqYWNhcmFuZGEvTVMKK2phY2toYW1tZXJpbmcKK2phY2staW4tdGhlLWJveAorSmFjb2JlYW4KK0phY29iaXRlCitKYWNvYnNlbgorSmFtaWUvTQorSmFuYWNlaworSmFuZS9NCitqYW5pdG9yL1NNCitKYXBhbmVzZS9NCitqYXcvTURHUworSmVhbmV0dGUvTQoramVlegorSmVob3ZhaAoramVsbHkvREdNUworamVsbHlsaWtlCitKZW5uZXIKK2plbm5ldC9TTQorSmVyZW1pYWgKK2plcmtpbmVzcy9TCitqZXJyeS1idWlsZGluZworamV0LXByb3BlbGxlZAorSmV3ZXNzL1NNCitqaWdnZXJ5LXBva2VyeQoramluZ2xlci9NCitqaW5nb2lzbS9TTQoraml0dGVyL1NaCitqaXR0ZXJ5L1QKK2pvY29zZW5lc3MvUworam9nZ2xlci9NCitqb2ludCdzCitqb2xsaWZpY2F0aW9uL1NNCitKb25haAorSm9uZXMvUworam91cm5hbC85UTgzRHNTTUcKK2pvdXJuYWxlc2UvTVMKK2pvdXN0L01SR1NECitqb3lsZXNzbmVzcy9TCitKdWRkL00KK2p1ZGdlL0RLTGFHUworanVkZ2VzaGlwL1NNCitKdWx5cworanVuaW9yL01TCitqdXN0L1RQWQoranVzdGljZS9JTVMKK2p1c3RseS9VCitLYWJ1bC9NCitLYW1wdWNoZWEvTQora2FuZ2Fyb28vU00KK0thcmFjaGkvTQorS2FzaG1pcgorS2F6YWtoc3Rhbi9NCitLZWNrL00KK2tlZXAvSlNHUgorS2VtcAorS2VybgorS2V0dGVyaW5nCitLaGFydG91bS9NCitrSHovTQora2liaXR6ZXIncwora2lib3NoL1NNCitraWQtZ2xvdmUKK0tpbGRhcmUvTQora2lsbi9TTQora2lsb2JhdWQvTQorS2luZ3NsZXkKK0tpbmdzdG9uL00KK0tpbm5leS9NCitLaW5ub2NrL00KK2tpbnNmb2xrCitLaXJrbGFuZAorS2lya3dvb2QKK0tpcm92L00KK2tpcnNjaC9TCitLaXNhbmdhbmkKK2tpdC9HTVpyRFMKK0tpdGNoZW5lcgora2l0Y2hlbmV0dGUvTVMKK0tpdHRzL00KK0tsYW5zbWFuCitLbGVpbi9NCitrbGVwdG9tYW5pYS9NUwora24KK2tuYWNrZXIvWgora25hY2tpc2gKK2tuZWUtaGlnaAora25pY2sKK2tuaWZlL1NHTUQKK2tuaWdodGx5L1AKK2tub2NrLW9uCitrbm93LWl0LWFsbAorS29kYWx5Citrb2hscmFiaS9NCitrb3Bla3MKK2tyaWVnc3BpZWwvTQorS3Jpc3RpbmEKK2tyb251cgorS3J1Z2VyCitrcnlwdG9uL00KK0t1YWxhL00KK2t1ZHp1L1NNCitLdWhuL00KK2xhL00KK2xhYmVsbGluZy9TCitsYWJvcmlvdXMvWVAKK2xhYm9yaW91c25lc3MvUworbGFib3VyZWQvTVAKK0xhY2thd2FubmEKK0xhaG9yZS9NCitsYWlyL01HRFMKK0xha2V3b29kCitsYW1iL01HRFMKK2xhbWJhZGEvUworbGFtZWJyYWluL01TCitsYW1pbmFyCitsYW5kYXUvTQorbGFuZGF1cworbGFuZGhvbGQvUkdKCitsYW5kb3duZXIvU00KK0xhbmR3ZWhyCitMYW5nZQorTGFyZWRvCitsYXJ5bmdlcworbGFzZS9TUkcKK2xhc2hpbmcvTQorbGF0Y2hlcy9VCitsYXRlbmN5L1NNCitsYXRlbmVzcy9TCitsYXRlcmFsL0ZTWQorbGF0dGVyLWRheQorbGF1bmRlcmV0dGUvTVMKK2xhdW5kcm9tYXQvUworbGF1cmVhdGVzaGlwL01TCitsYXZpc2huZXNzL1MKK2xheGl0eS9NUworbGF6dWxpL00KK2xidworbGVhZC9HU1JECitsZWFkZWQvVQorbGVhZGVyL3AKK2xlYWZhZ2UvU00KK2xlYWd1ZXIvU00KK2xlYW5uZXNzL1MKK0xlYXIvWgorbGVhcm5lZC9QWQorbGVhc2Vob2xkL1JNUworbGVhdmVuL2RTTQorTGViYW5lc2UKK0xlYmVzZ3VlCitsZWNpdGhpbi9TTQorbGVlcmluZXNzL1MKK2xlZnQvWlMzVAorbGVmdC1oYW5kL0RpUmgKK2xlZ2F0ZS9DREFTbkdOCitsZWdlcmRlbWFpbi9NUworbGVnaW9uYXJ5L1MKK2xlZ2l0aW1hdGUvWUdRTkQKK2xlZ2l0aW1pc2UvU0dECitMZWlibml6CitsZW5ndGhlbmVyL00KK0xlbm55CitsZW50aWN1bGFyCitsZW50by9TCitMZW9uYXJkCitsZW90YXJkL1NNCitMZXMKK2xlc2JpYW5pc20vTVMKK2xlc3NlcgorbGV0L1JNR1MKK2xldGhhcmd5LzFTTVcKK2xldHRpbmcvUworbGV2ZWwtaGVhZGVkL1kKK0xld2lzaGFtCitMZXlkZW4KK2xpYWJsZQorbGlhaXNlL0RTRworbGliZXJhdGVzCitsaWNlbnRpb3VzL1BZCitsaWNoZWUvTQorbGlja2luZy9NCitsaWQvTXBHRFMKK2xpZW4vTVMKK2xpZmViZWx0L01TCitsaWZlZ3VhcmQvU0dETQorbGlmZWxpbmUvU00KK2xpZmUtdGhyZWF0ZW5pbmcKK2xpZmV3b3JrL01TCitsaWdodG5lc3MvUworbGlrZWFibGUvUAorbGlrZWxpbmVzcworbGltaXRlZC9VQworbGluY2hwaW4vU00KK2xpbmUvU21KUkdNRAorbGluZWFtZW50L01TCitsaW5lYXJpdHkvRk0KK2xpbmdvL00KK2xpbmd1aXN0L01XUzEKK2xpbmtlZC9VCitsaXAtcmVhZGVyCitsaXAncy9mCitsaXF1aWQvOW44WVBRLVNNc3EKK2xpcXVpZGF0ZS9ER1MKK2xpc3NvbS9QCitsaXRlcmFjeS9TTUkKK2xpdGVyYWwtbWluZGVkCitsaXRlcmF0ZS80TlMKK2xpdGVyYXRlcy9JSworbGl0aWdpb3VzL1BZCitsaXZlYWJsZS9ZUAorbGl2ZWxpbmVzcy9TCitsaXZlbi9kUworTGl2ZXJwb29sL00KK2xpdmVzL00KK0xpenppZQorbG9hZi9NUkRHUworbG9hbXkvVAorbG9hbmluZy9NCitsb2F0aGUvUworTG9iYWNoZXZza3kKK2xvYmJ5LzNETUdTCitsb2JvdG9teS9RU00KK2xvYnN0ZXIvZFNNCitsb2NhbGlzbXMKK2xvY2F0ZS9BU0dGRU5uRAorbG9jb21vdG9yCitsb2NvbW90b3J5Citsb2N1cy9NCitsb2cvSkdNV1J3MURTCitsb2dnaWEvTVMKK2xvZ2lvbi9NCitsb2xseS9NUworbG9uZy13aW5kZWQKK2xvb2tlcnMtb24KK2xvb20vU0RHTQorbG9vc2VkL1UKK2xvcC9kRFJHUworbG9yZ25ldHRlL01TCitMb3VyZGVzCitsb3VzaW5lc3MvUworbG92ZWQvVQorbG93LWRvd24vUworbG93LWxldmVsCitsb3duZXNzL1MKK2xzL0kKK0x0LgorTHRkCitMdQorbHVhdSdzCitsdWJlL1NHTUQKK2x1YnJpY2FudC9NUworTHVjaWVuCitsdWRvL00KK2x1bGxhYnkvRFNHTQorbHVtYmFyCitsdW1pbmFyeS9NUworTHVuZHF1aXN0L00KK2x1bmdmdWwvUworbHVzY2lvdXNuZXNzL1MKK2x1c2huZXNzL1MKK2x1c3Ryb3VzL1lQCitsdXRlL1NHTUQKK0x1dG9uL00KK2x5Y2V1bS9NUworTHlkaWEKK2x5aW5nL2UKK0x5bGUvTQorbHltcGhvY3l0ZS9TTQorbHlyaWNpc20vU00KK2x5c2luZS9NCitMeXR0bGV0b24KK21hY2Fyb25pL01TCittYWNlL1NNR0QKK01hY2Vkb25pYW4KK21hY2VyYXRpb24vTQorTWFjb24KK21hY3JvZHluYW1pYworTWFkaHlhCittYWVzdHJvL1NNCittYWduZXRpc20vU00KK21hZ25ldG9oeWRyb2R5bmFtaWNzL00KK21hZ25ldG9zcGhlcmUvTQorbWFnbmlmaWVkL1UKK21haGFyYW5lZSdzCittYWludGFpbmVkL1UKK21haXNvbmV0dGUvU00KK21hbGFkeS9NUworbWFsYXJpYWwKK21hbGUvUFNNCittYWxldm9sZW50L1kKK21hbGZvcm1lZAorbWFsaWduaXR5L1NNCittYWxsb3cvU00KK21hbG5vdXJpc2htZW50L1NNCitNYWx0ZXNlCittYW1hL1NNCittYW1tYWxpYW4vTVMKK21hbmFnZWFiaWxpdHkvUworbWFuY2lwbGUvTQorTWFuY3VuaWFuL01TCittYW5kaWJsZS9TTQorbWFuZHJpbGwvTVMKK21hbmdpbmVzcy9TCittYW5pZm9sZC9QU1lNCittYW5pcHVsYXRpdmUvTQorbWFuaXB1bGF0b3IvU00KK21hbmtpbmQvTQorbWFuLW1hZGUKK21hbm9yaWFsCittYW5zbGF1Z2h0ZXIvTVMKK21hbnVhbC9NU1kKK01hbnVlbC9NCittYXJnYXJpdGEncworbWFya2V0ZWVyL1MKK21hcmtldGluZy9NCittYXJrLXVwL01TCittYXJtb3NldC9TTQorbWFycXVlL01TCittYXJxdWVlL1NNCitNYXJzZWlsbGFpc2UKK01hcnNoYQorTWFydGlhbi9TCittYXJ0aW4vU00KK01hcnRpbmkvU00KK01hcnZlbGwKK21hc2NvdC9NUworbWFzb2NoaXNtL1NNCittYXQvZFJNREpHUworbWF0ZXJpYWxseS9JCittYXRpbmVlL1MKK21hdGlu6WUvUworbWF0cml4L00KK21hdHRlL01TCittYXR0aW5nL00KK21hdHVyYXRpb24vTQorbWF0dXJlbmVzcy9LCittYXR6b3RoCitNYXVyaXRpdXMvTQorbWF4aW1pemF0aW9uL00KK01heSdzCitNY0NsdXNrZXkvTQorTWNEYW5pZWwvTQorTUNJCitNY05pc2gKK01ECittZWFncmVuZXNzCittZWFsL1pTTTIKK21lYW5pbmdsZXNzL1BZCittZWFzbHkvVAorbWVhc3VyZWQvVUEKK21lYXRwYWNraW5nL1MKK01lY2NhL00KK21lY2hhbmlzdC9NVzEKK21lZGlhdGVzCittZWRpYXRpb24vTQorbWVkaWV2YWwKK21lZGlvY3JpdHkvU00KK21lZHVsbGEvU00KK21lZ2FiaXQvU00KK21lZ2FkZWF0aC9NUworbWVnYXRvbi9TTQorbWVpb3NlcworTWVsCittZWxkL1NERworbWVsaW9yYXRlL25ER05WUworTWVsaXNzYQorbWVsb2Rpb3VzbHkKK01lbHRvbgorbWVtZW50by9TTQorbeltb2lyZQorbWVuZGVycworbWVuaW5naXRpZGVzCittZW5pc2NpCitNZW5ub25pdGUvUworbWVub3JhaC9TTQorbWVub3JyaG9lYQorTWVyY2F0b3IKK01lcmNpZXIKK01lcnJpY2sKK01lcnNleXNpZGUvTQorbWVzbWVyaXNlL1JHU0QKK01lc29wb3RhbWlhbi9TCittZXNzaWFoL1MKK21ldGFib2xpdGUvU00KK21ldGFjaXJjdWxhcml0eQorbWV0YWxsaXNlL1NuR0QKK21ldGFtb3JwaG9zZS9ER1MKK21ldGFwaG9zcGhhdGUncworbWV0ZW9yaXRlL1NNVworbWV0aG9kaWNhbC9QCittZXRyaWNhdGUvRFNHCittZXR0bGUvRFNNCittZnIvUworTWlhbWkKK01pY2hlbGluCittaWNyb2JpY2lkYWwKK21pY3JvZmlsbWVyCittaWNyb2dyYXBoL1oKK21pY3JvbWFuYWdlL0xEU0cKK21pY3JvcHJvZ3JhbS9NU0dECittaWNyb3Njb3B5L01TCittaWNyb3NpbXVsYXRpb24vUworbWljcm93YXZhYmxlCittaWRkbGUtYWdlL0QKK21pZGRsZS1zaXplZAorbWlkZHkvU00KK21pZGdlL1NNCittaWR0b3duJ3MKK21pZ3JhdGl2ZQorbWlrYWRvL1NNCitNaWxkcmVkCittaWxpZXUvU00KK21pbGl0YXJpemVkL0MKK21pbGttYWlkL1NNCittaWxsL1NSRDdNRworbWlsbGVuYXJpYW4KK21pbGxlcGVkZSdzCittaWxsZXQvU00KK21pbGxpam91bGUvUworbWlsbGluZy9NCittaWxsaW9udGgvTQorbWlsbGlwZWRlL1NNCittaW1pYy9SREdTeQorbWltaWNyeS9TTQorTWluCittaW4uCittaW5hcmV0L1NNCittaW5jZS9SREdrU0oKK21pbmQvcGhTaVI2RGpNRworbWluZXNoYWZ0CittaW5lc3Ryb25lL01TCittaW5ld29ya2VycworbWluaW1hL00KK21pbmltaXphdGlvbi9NCittaW5pc2VyaWVzCittaW5pc3Rlci9OZG5TTW8KK21pbmlzdHJ5L1NNCitNaW5uZXNvdGEvTQorTWlub3QvTQorbWluc3RyZWwvU00KK21pc2FudGhyb3BlL00xWlMKK21pc2FwcGx5L25OCittaXNjYXJyeQorbWlzY2liaWxpdHkvUworbWlzY2libGUvQ0kKK21pc2RpcmVjdG9yCittaXNlci9aWTdsCittaXNyZXByZXNlbnRlci9NCittaXNzaGFwZW4vWVAKK01pc3Npc3NhdWdhCittaXNzaXZlcworbWlzc3Bva2UKK21pc3N1cy9TTQorbWlzdC9SWjJ6REcKK21pdGlnYXRlL0RObnlHUworbWl0b2Nob25kcmlhCittaXR0ZW4vU00KK01pdHRlcnJhbmQKK21peC9HS0RTQQorbWl4dHVyZS9NUworTWxsZQorbW9hbi9SREdNUworbW9iaWxlJ3MKK21vZGVyYXRlZC9VCittb2Rlc3RseS9JCittb2RpZmlhYmlsaXR5L00KK21vZGlzaC9ZUAorbW9kdWxhdGVkL1UKK21vZHVsbworbW9kdXMgdml2ZW5kaQorbW9nZ2llL01TCitNb2hyL00KK21vaXN0L1BZVAorbW9sZXNraW4vU00KK01vbGluYQorbW9sbGlmeS9HbkRTTgorTW9tYmFzYQorbW9tbXkncworbW9uYXJjaHMKK01vbmV0Cittb25leS9wTURTCittb25nZXIvU00KK01vbmljYQorbW9ua3Nob29kL1NNCittb25vY290eWxlZG9uL01TCittb25vY3VsYXIvU1kKK21vbm9sYXllcnMKK21vbm9tYW5pYS9NUworbW9ub21lci9NUworbW9ub3N0YWJsZQorbW9ub3Rvbm91c25lc3MvUworTW9udGVycmV5CitNb250ZXNzb3JpCittb250aGx5L1MKK01vbnRveWEvTQorTW9udHBlbGllcgorTW9udHNlcnJhdC9NCittb251bWVudGFsCittb29ud2Fsay9ER1MKK21vcmFsaXplL0NOblNERworbW9yYmlkL1kKK21vcmVvdmVyCittb3Jpb24ncworbW9ydGFyYm9hcmQvU00KK21vc2FpY2tpbmcKK01vc2hlL00KK21vc3F1aXRvL00KK21vc3MtZ3Jvd24KK21vdGlvbi9HcERNUworbW90aW9uZXIvTQorbW90aXZhdGlvbi9NCittb3RvcmNhZGUvTUdTRAorbW90cworbW91bGRlci9kCittb3VudC9FRENBR1MKK01vdW50YmF0dGVuL00KK21vdW50aW5nL01TCitNb3VybmUvTQorbW91c2V0cmFwL0RNU0cKK21vdXRoZXIKK21vdXRoaW5lc3MvUworTW96aWxsYS9NCitNU2MKK01UVgorbXVja3kvVAorbXVmZi9ER01TCitNdWhhbW1hZGFuL1NNCitNdWxkZXIvTQorbXVsZXNraW5uZXIvUworbXVsdGltaWxsaW9uCittdWx0aS1tb2RhbAorbXVsdGlzeWxsYWJpYworbXVsdGktd2F5CittdW5pY2lwYWwvU1kKK011cmllbC9NCittdXJraW5lc3MvUworbXVzaC9aMlNNCittdXNpYy9NUworbXVzay1yb3NlCitNdXNzb2xpbmkvTQorbXVzdGVyL1NkCittdXRhbnQvTVMKK211dGF0b3IvRlMKK211dGlub3VzL1kKK015YW5tYXIvTQorbXllbGl0aXMvTQorTXlsYXIKK215bmFoL01TCitteXN0aWZ5L0NTbkRHTgorbmFpdmUvWVQKK25h73ZlbmVzcworbmHvdmV06S9TCituYW1lYWJsZS9VCitOYW1pYmlhbi9TCitOYW5hL00KK25hbm55L01EU0cKK25hbm90ZWNobm9sb2d5CitOYXBvbGVvbi9XU00KK05hcmJvbm5lL00KK25hcmNvc2VzCituYXJyYXRlL0dEbk5TVnYKK25hcnJhdG9sb2d5CituYXJ5CitOYXNoL00KK05BVEEKK25hdGl2aXR5L1NNCituYXR1cmVkL0MKK05hemlzbQorTmQKK04nRGplbWVuYQorbmVhcmJ5CituZWFybmVzcy9TCituZWF0L1RQWQorJ25lYXRoCituZWVkL1pEU3BqMjZHCituZWdsaWdlZS9NUworbmVnb3RpYW50L00KK05lZ3JvaWQvUworTmVoZW1pYWgvTQorbmVvbmF0ZS9vU00KK25lcGhldy9TTQorbmVydmUncworbmVydm91cy9QWQorbmVzdC9EUzdNRworbmVzdGxpbmcvTQorTmVzdG9yL00KK05ldGhlcmxhbmRlci9TTQorbmV0d29yay9HSkRNUworTmV1bWFubi9NCituZXVyYWxnaWEvU00KK25ldXJpdGljL1MKK25ldXJvc2NpZW50aXN0L1MKK25ldXJvc2lzL00KK25ldXRyYWxpc2F0aW9uCituZXZlcnRoZWxlc3MKK05ld2J1cnlwb3J0L00KK05ld2Nhc3RsZS11bmRlci1MeW1lCituZXctbG9vaworbmV3c2Nhc3RpbmcncworbmV3c3dvcnRoaW5lc3MvUworTmV3dG9uaWFuCituaWJibGUvUkdEUworbmljay9HRFNNCitOaWdlbC9NCitOaWdlcmlhbi9TCituaWdnZXIvU00KK25pZ2h0L01wWVMKK25pZ2h0LXRpbWUvU00KK25pbHBvdGVudAorTmlsc3Nvbi9NCituaW1ibGVuZXNzL1MKK05pbWl0ei9NCituaW5lcGluL1MKK25pbmV0eS1maXZlL0gKK25pbmV0eS1zZWNvbmQvUworbmluamEvUworTmlzc2FuL00KK25vYi9NWQorbm9kYWwKK25vZHVsYXIKK25vLWdvCitub2lzeS9QVFkKK05vbGEvTQorbm9taW5hdGl2ZS9TWQorbm9uLWFwcGVhcmFuY2UvUworbm9uLWJyZWFrYWJsZQorbm9uY2hhbGFudG5lc3MKK25vbi1jbGVyaWNhbC9TCitub24tY29tbWl0dGFsL1kKK25vbmNvbmZvcm1pdHkvU00KK25vbi1kZWZlcmVudGlhbAorbm9uLWRlbW9jcmF0aWMKK25vbi1lY29ub21pYworbm9uLWVtcHR5Citub25lbnRpdHkvTVMKK25vbmVzdWNoCitub25ldGhlbGVzcworbm9uLWV4aXN0ZW50Citub24tZXhwbG9zaXZlL1MKK25vbi1mYWRpbmcKK25vbi1mYXQKK25vbi1mb29kCitub24taHVtYW4KK25vbi1pbmNsdXNpdmUKK25vbi1pbmZsZWN0ZWQKK25vbi1pbnRlcmFjdGluZworbm9uLWp1ZGdlbWVudGFsCitub24tbW9yYWwKK25vbi1wYXJ0aWNpcGF0aW5nCitub24tcG9sbHV0aW5nCitub24tcHVuaXNoYWJsZQorbm9uLXJlc2lkdWFsCitub24tcmh5dGhtaWMKK25vbi1zZWdyZWdhdGVkCitub25zZW5zaWNhbC9QCitub25zdWl0Citub24tdGhlYXRyaWNhbAorbm9uLXRveGljCitub24tdHJhbnNmZXJhYmxlCitub24tdHJvcGljYWwKK25vbi12b2xhdGlsZQorbm9uLXdvcmRzCitub29rL1NNCitub29uaW5nJ3MKK25vb3NlL01TREcKK05vcmVlbi9NCitub3JtYWwvOFFzKy10cVMKK05vcm1hbi9NUworTm9ycGxhbnQKK05vcnRlbC9NCitub3J0aC1lYXN0ZXJuCitub3J0aC1FYXN0d2FyZC9TCitub3J0aGluZy9NCitOb3J0aHdlc3QvTQorbm90LzdOeGRnbmxTCitub3RlcGFkL1MKK25vdW4vTVMKK25vdmEvU00KK25vdmVsaXN0L1cKK25vdmljZS9TTQorTm92by9NCitub3p6bGUvU00KK251Y2xlYXRlL05uR0RTCitudWNsZWkvTQorbnVjbGV1cy9NVworbnVkZ2VyL00KK251bWJlcmVkL0FlVQorbnVtZXJpY2FsL1MKK251bWlub3VzL1MKK251bi9NeVMKK251bmNpby9TTQorTnVuZWF0b24KK251cnNlL1JNSlNERworbnV0aGF0Y2gvTVMKK251dHJpZW50L1NNCitudXRyaXRpb24vb00zUworbnltcGhldC9TTQorTworb2FmL01TCitPYmFkaWFoL00KK29iZWRpZW5jZS9FTVMKK29iZWlzYW5jZS9TTQorb2JqZWN0aW9uL2xTTTcKK29iamVjdGl2ZS9QUworb2JqZWN0b3IvU00KK29ibG9xdWllcworb2JzY2VuaXR5L1NNCitvYnNpZGlhbi9TTQorb2JzdGV0cmljaWFuL01TCitvYnN0aW5hdGUvUFkKK29ic3RydWN0ZWQvVQorb2JzdHJ1Y3Rpb25pc3QKK29ic3RydWN0aXZlbmVzcy9TCitPY2NhbS9NCitvY2NpZGVudGFsL1NZCitvY2Vhbm9ncmFwaHkvV01TCitvY3RhZ29uYWwKK29kZGJhbGwvU00KK29kZHMtb24KK09FCitPZWRpcGFsL1kKK29lbm9sb2d5L1NNCitvZmZhbC9TTQorb2ZmaWNpYWwvVVkKK29mZmljaWFsbmVzcworb2ZmaWNpYW50L1NNCitvZmYtbGluZQorb2ZmLXBpc3RlCitvZmYtdGhlLWN1ZmYKK29mZi13aGl0ZQorb2htbWV0ZXIvU00KK29pbmsvREdTCitPJ0tlZWZmZQorT2xkZW5idXJnL00KK09sZGZpZWxkL00KK09sZGhhbQorb2xkbmVzcy9TCitvbGRzdGVyL1NNCitvbGQtc3R5bGUKK29sZWFuZGVyL01TCitvbGZhY3RvcnkKK29saXZpbmUKK29taWNyb24vU00KK29tbmlwb3RlbnQvWVMKK29tbml2b3JvdXNuZXNzL1MKK29uY2VyL00KK29uZWZvbGQKK08nTmVpbAorb25lLXN0ZXAKK29uZS11cG1hbnNoaXAKK29ub21hdG9wb2VpYworb250bworb3AvRlMKK29wZW5pbmcvTQorT3Blbk9mZmljZS9NCitvcGVucy9BCitvcGVyYW5kaQorb3BlcmFudGx5CitvcGVyYXRpYy9ZUworb3BlcmV0dGEvTVMKK29wcG9uZW50L1NNCitvcHByb2JyaW91cy9ZCitvcHRpbWFsaXR5CitPcmFuL00KK29yYW5nZXkKK09yYW5qZXN0YWQvTQorb3JhdGUvU0dECitvcmF0b3IvU3cxTQorb3JkYWluZWQvS1UKK29yZGFpbmVyL00KK29yZGVycy9BCitvcmdhc20vREdNU1cKK29yZ2lhc3RpYworb3JpZmljZS9NUworb3JpZ2luYXRvci9NUworb3JuYW1lbnRhbC9TCitvcm5hbWVudGF0aW9uL00KK29ybmF0ZS9ZUAorT3JyL00KK29ycmlzL1NNCitvcnMKK09ydGVnYS9NCitvcnRob25vcm1hbAorb3NzZW91cy9ZCitvc3NpZnkvU05HbkQKK29zdGVudGF0aW9uL1NNCitvc3RyYWNpc20vTVMKK09zd2VzdHJ5CitPdWFnYWRvdWdvdS9NCitvdXJzZWxmCitvdXRjb21lL00KK291dGVyL1MKK291dGluZy9NCitvdXRsYXN0L0cKK291dG1vZGVkCitvdXRyYWdlb3VzL1BZCitvdXRyaWdodAorb3V0c3Bva2VubmVzcy9TCitvdXQtdGFrZS9TCitvdmVyYW1iaXRpb3VzCitvdmVyLWN1cmlvdXMKK292ZXJkcmVzcy9HCitvdmVyZHVlCitvdmVyZmlzaC9HCitvdmVyaGVhcmVyCitvdmVybGVhZgorb3ZlcnJpZGUvRworb3ZlcnNob3QKK292ZXJ0L1kKK292ZXJ0aHJvdworb3ZpcGFyb3VzCitvd25lZC9VCitveGVuL00KK294aWRpc2VkL1UKK294aWRpemVkCitveGlkaXplci9NCitveHRhaWwvTQorcGFjaWZpc20vU00KK3BhY2svR0FEU1UKK3BhY3QvSU1TCitwYWVsbGEvTVMKK1BhaWdlL00KK3BhaW4vRE1wU2pHNgorUGFpbmUvTQorcGFpbnRib3gvTQorcGFpbnRicnVzaC9NUworcGFpc2xleQorcGFsYWRpbi9TTQorcGFsYWVvYW50aHJvcG9sb2d5L3cKK3BhbGVmYWNlL1NNCitQYWxlc3RyaW5hL00KK3BhbGlzaAorcGFsbGV0L01ROC1TcQorcGFsbGlkL1BZCitwYWxtZXIvTQorcGFsbWlzdHJ5L1NNCitwYWxvbWluby9TTQorcGFtcGVyL2RTCitwYW5kZW1vbml1bS9NUworcGFuZWxsaW5nL1NNCitwYW5pYy1zdHJpY2tlbgorcGFuaWVyJ3MKK3Bhbm9yYW1pYworcGFudG9taW1pYworUGFvbGEvTQorcGFwYWN5L01TCitwYXBhbAorcGFwZXItY2xpcC9TTQorcGFwZXJoYW5naW5nL1NNCitwYXBvb3NlL01TCitwYXJhYm9sb2lkL1NNCitwYXJhZG94L013MVdTCitwYXJhbWVkaWMvTVMKK3BhcmFtZXRyaXplL1NHQm5ETgorcGFyYW1pbGl0YXJ5L1MKK3BhcmFub2lhL1NNCitwYXJhcGxlZ2lhL1NNCitwYXJkb25lZC9VCitwYXJlL0pTCitwYXJlbnRoZXNpcy9NCitwYXJlbnRoZXRpYy9ZCitwYXJlc2VzCitwYXJsYW5jZS9TTQorcGFybGV5L01HRFMKK3BhcmxpYW1lbnRhcnkvVQorcGFybG91ci9NUworcGFyc2xleS9TTQorUGFydGhlbm9uL00KK3BhcnRpY2lwaWFsL1kKK3BhcnRuZXIvZE1TCitwYXJ0LXRpbWUKK3Bhc3MvN1N1Vk5YdmxrCitwYXNzaW9ubGVzcworcGFzdGV1cmlzZWQvVQorcGFzdGV1cml6ZWQvVQorcGFzdHVyZS9HRFNNCitwYXN0dXJlci9NCitwYXRlbGxhL00KK3BhdGVsbGFyCitwYXRlci9NCitwYXRlcm5hbGlzbS9TTQorUGF0bmEKK3BhdG9pcy9NCitwYXRyaW90aXNtL1NNCitwYXRyaXN0aWMvUworcGF0cm9ueW1pYy9ZUworcGF3bC9NUworcGF4ZXMKK3BheW1hc3Rlci9NUworcGF5b3V0L1MKK3BheXBob25lL1MKK3BjCitQQ3MKK3BlYS9NUworcGVhY2VmdWwvVAorcGVhY2gncworcGVhci9NWVMKK3BlYXJ0cmVlcworcGViYmxlL0RZTUdTCitwZWN1bGlhcml0eS9TTQorcGVkYW50L1dTTTEKK3BlZGFudHJ5L1NNCitwZWRpZ3JlZS9NUworcGVkaW1lbnRlZAorcGVlay9TREcKK3BlZXZpc2gvUFkKK3BlZXdlZS9TCitwZWtlL1NNCitwZWtvZS9NUworcGVsbWV0L1MKK3BlbmNlL00KK3BlbmNoYW50L1NNCitwZW5ldHJhdGUvdk5uQlNEVmt1RworcGVubGlnaHQvTVMKK3Blbm55LWZhcnRoaW5nCitwZW5ueXdlaWdodC9TTQorcGVub2xvZ3kvUzNNCitwZW50L0EKK3BlbnVyaW91cy9ZUAorcGVwcGVybWludC9TTQorcGVyY2VpdmUvYVNECitwZXJjZXB0L3ZiVk1veFN1CitwZXJjZXB0aXZlbmVzcy9TCitwZXJjaXBpZW50L1MKK3BlcmVncmluYXRpb24vTQorcGVyZmVjdC9iRFlUdVBTR1Z2CitwZXJmb3JtZWQvVWYKK3BlcmlvZGljaXR5L01TCitwZXJpdG9uaXRpcy9NUworcGVybS9HU0RNCitwZXJtYW5lbmNlL01aUworcGVybWlzc2lvbi9NCitwZXJtaXNzaXZlL1lQCitwZXJtdXRlL0RHTlNuCitwZXJzZWN1dG9yL01TCitwZXJzZXZlcmFuY2UvTVMKK3BlcnNvbmFsdHkvTVMKK3BlcnNwZWN0aXZlL1lTTQorcGVyc3BpY3VpdHkvTVMKK3BlcnN1YXNpdmVuZXNzL1MKK3BlcnVzYWwvTVMKK1BlcnV2aWFuL1MKK3BlcnZhZGUvdURHTlZTdgorcGVzc2ltaXNtL01TCitwZXN0bGUvRFNNRworcGV0aW9sZS9TTQorUGV0aXQKK3BldHJvZ3JhcGhpY2FsCitwZXRyb2wvTVMKK3Bld3Rlci9NUworUEZDCitwSC9NCitwaGFnZS9NCitwaGFybWFjZXV0aWNzCitwaGVuYWNldGluL1NNCitwaGVub21lbmEvTW8KK3BoZW5vbWVuYWwKK3BoZXJvbW9uZS9NUworcGhpbGF0ZWx5LzNTV00KK3BobGVnbWF0aWMvWQorcGhvYmlhL01TCitwaG90b2VsZWN0cmljL1kKK3Bob3RvbXVsdGlwbGllci9NCitwaG90b3NlbnNpdGl2ZQorcGhvdG90eXBlc2V0dGVyCitwaHJhc2UvR0RTQQorcGhyYXNlYm9vaworcGhyYXNlJ3MKK3BoeWxhY3RlcnkvU00KK3BoeWxvZ2VueS9TTQorcGh5c2ljL1MzREdNCitwaHlzaWNpYW4vU00KK3BoeXNpb2dyYXBoeS9NUworcGlhbmlzc2ltby9TCitwaWNrLW1lLXVwL1MKK3BpY2twb2NrZXRpbmcKK3BpY29mYXJhZC9TTQorUGllcnJlL00KK3BpZ2Vvbi9TeU0KK3BpZ2Vvbi1ob2xlL1NNREcKK3BpZ2Vvbi10b2VkCitwaWdnaXNobmVzcy9TCitwaWdoZWFkZWQvWQorcGlnbGV0L1NNCitwaWdzd2lsbC9NCitwaWxlcnMvRgorcGlsZXVwL1NNCitwaWxsYXJlZAorcGlsbG9yeS9EU01HCitwaW1wbGUvRFNNCitwafFhdGEvUworcGluY2gvRFNHCitwaW5lJ3MKK3BpbmdlcgorcGlucy9mVQorcGlvdXMvUFlJCitwaXNtaXJlL1NNCitwaXRjaGJsZW5kZS9TTQorcGl6YXp6L1MKK3BsYWNpZC9ZUAorcGxhZ3Vlci9NCitwbGFpbi1jbG90aGVzCitwbGFpbmVyL0YKK3BsYWludC91U3ZNVgorcGxhaXRpbmcvTQorcGxhbi9EZE1TclJHCitwbGFxdWUvTVMKK3BsYXRpbnVtL1FNCitwbGF0eXB1cy9NUworcGxheWFiaWxpdHkKK3BsYXllci9TRU0KK3BsYXlmZWxsb3cvUworcGxheS1vZmYvUworcGxlYXNpbmcvUAorcGxlYXN1cmVzL0UKK3BsZWF0L0dETVMKK3BsZWJpc2NpdGUvU00KK3BsZWRnZXIvTQorcGxlbml0dWRlL1NNCitwbGV1cmEvTQorcGxleHVzL01TCitwbGllcnMvRgorUExPCitwbG90dGVkL0EKK3Bsb3kncworcGx1bW15L1QKK3BsdXJhbGlzdC9TVworcGx1c2huZXNzL1MKK3BsdXRvY3JhdC9TTVcKK3BseWluZy9GCitwb2NrZXRib29rL1NNCitwb2VtL1NNCitwb2ludC1vZi1zYWxlCitwb2t5L1QKK3BvbGVjYXQvU00KK3BvbGljeS9TTQorcG9saXRpY2lzZS9DR1NECitwb2xpdGljby9TTQorcG9sbC9ETUdTCitwb2xsZXIKK3BvbGx1dGUvUlNERworcG9seWVzdGVyL01TCitwb2x5cC9NUworcG9seXBob3NwaGF0ZS9TCitwb21wb3VzL1kKK3BvbmQvRE1HUworcG9uZGVyLzRTCitwb25nZWUvTVMKK3Bvb3IvVFlQCitwb3BlL1NNCitwb3Jub2dyYXBoZXIvU00KK1BvcnRsYW5kL00KK3BvcnRyYWl0LzNTTQorcG9zaXRlZC9GQworcG9zaXRpdmlzbS9NCitwb3NpdGl2aXN0L1MKK3Bvc2l0aXZpdHkKK3Bvc3Nlc3MvRUdLRFNOQVgKK3Bvc3QvSkRNUkdTCitwb3N0ZXIvSVNNCitwb3N0LWhhc3RlCitwb3N0bWFyaXRhbAorcG9zdC1vZmZpY2UvTVMKK3Bvc3Rwb25lcgorcG9zdHBvc2l0aW9ucworcG90ZW5jeS9NUworcG90aGVhZC9TTQorcG90aG9saW5nL00KK3BvdWx0ZXJlci9TTQorcG91bHRpY2UvRFNNRworcG91bHRyeS9NUworcG93ZGVyL2RNU1oKK3Bvd2RlcmVyCitwb3gvU00KK3ByYWN0aWNhYmx5L0kKK3ByYWN0aWNhbGl0eS9JU00KK1ByYWd1ZS9NCitwcmUtYWRvbGVzY2VudAorcHJlLWFtcGxpZmllci9NCitwcmVhcnJhbmdlL0wKK3ByZWNlZGVudC9NRFMKK3ByZWNlZGVudGVkL1UKK3ByZWNpcGl0YW50L1MKK3ByZWNpc2VyCitwcmVjb25maWd1cmUKK3ByZWN1dAorcHJlLWRhdGUvRFNHCitwcmVkaWN0L0RTdkJHbFYKK3ByZWRpY3RhYmx5L1UKK3ByZWZlcmVuY2UvTVMKK3ByZWZpZ3VyZS9OCitwcmVmbGlnaHQKK3ByZWp1ZGljaWFsbmVzcworcHJlcGVuZGVyL1MKK3ByZXBvbmRlcmF0ZS9HWVNETgorcHJlLXByb2Nlc3NvcgorcHJlc2VydmF0aW9uaXN0L1MKK3ByZXNpZGVuY3kvTVMKK1ByZXNpZGVudC9NUworcHJlc3VtZS92RFNHVmtYTmwKK3ByZXZlbnRlci9NCitwcmljZWxlc3MKK3ByaWNpbmcvZgorcHJpY2tpbmcvTQorcHJpZXN0bHkvVFAKK3ByaW1hdGUvTVMKK1ByaW5jaXBlL00KK3ByaW50ZWQvVQorcHJpbnRlci9BTUlTCitwcmludG1ha2luZy9NCitwcmlvci9ZWgorcHJpb3J5L01TCitwcmlzb24vSVNkCitwcm9iYXRpdmUKK3Byb2JsZW0vTVN3VzEKK3Byb2NlZWRlci9NCitwcm9jZXNzLzdYTk1TR3hECitwcm9jb25zdWwvTVMKK3Byb2NvbnN1bGFyCitwcm9jcmVhdGUvVkd5eEROU24KK3Byb2N1cmF0b3IvU00KK3Byb2R1Y3RpdmVuZXNzL1NNCitwcm9mL01TCitwcm9maXRhYmxlL1AKK3Byb2ZsaWdhY3kvUworcHJvZnVuZGl0eS9TTQorcHJvbGlmaWMvWQorcHJvbG9ndWlzZQorcHJvbG9uZ2F0aW9uL00KK3Byb21vbnRvcnkvU00KK3Byb211bGdhdG9yL1NNCitwcm9uZS9QWQorcHJvbm9taW5hbAorcHJvbm91bmNlZGx5Citwcm9udG8KK3Byb29mLXJlYWQvR1MKK3Byb29mLXJlYWRlci9TCitwcm9wYWdhbmRpc3QvU1dNCitwcm9wYWdhdGUvTm5WR0RTCitwcm9waXRpYXRlL055blNERworcHJvcGl0aW91cy9VCitwcm9wb3J0aW9uYWwvUworcHJvcG91bmQvU0RHCitwcm9yYXRlL0ROU0cKK3Byb3NlY3V0aW9uL01TCitwcm9zeS9UCitwcm906WfpL01TCitwcm90ZXN0YW50L1MKK3Byb3ZlcmIvb01TCitwcm92aW5jZS9vTVMKK3Byb3ZpbmcvSUEKK3BydWRlL015UworcHJ1ZGVudGlhbC9ZUworUFMKK3BzYWxtL00zUworcHNldWRvbnltL01TCitwc2l0dGFjb3Npcy9NCitwc3ljaGlhdHJ5L1czTVMKK3BzeWNob2xvZ3kvTVMzMXcKK1BUQQorcHRhcm1pZ2FuL1NNCitwdWJlcnRhbAorcHVibGlzaGluZy9NCitwdWRkbGUvU0dKWURNCitwdWRnaW5lc3MvUworcHVmZmJhbGwvTVMKK3B1Z2lsaXN0L1dTCitwdWlzc2FudC9ZCitwdWxsLW91dC9TCitwdWxzYXRlL1NObkRHCitwdWx2ZXJpc2UvUlNERworcHVsdmVyaXplL05ER24KK3B1bnkvUFQKK3B1cmVseS9JCitwdXJnYXRpdmUvU00KK3B1cmdhdG9yeS9NUworcHVyaW5lL1NNCitwdXJpdGFuaXNtL1MKK3B1cnBvcnQvUkdEU2gKK3B1cnIvR0RTaworcHVyc2UvR1JETVMKK3B1c3R1bGUvU00KK3B1dGF0aXZlL1kKK3B1dHMvZQorcHlsb3J1cy9NVworcHlyaXRlL01TCitQeXRoYWdvcmFzCitxdWFkL1NNCitxdWFkcmFwaG9uaWMvUworcXVhZHJlbm5pdW0vTVMKK3F1YWRydXBlZGFsCitxdWFkcnVwbGV0L1NNCitxdWFpbnRuZXNzL1MKK3F1YW5nby9TCitxdWFyYW50aW5lL0RTTUcKK3F1YXJyZWwvUkdTRE1KCitxdWFycmVsc29tZW5lc3MvUworcXVhcnQvV01SUworcXVhcnRlci1saWdodAorcXVlYXN5L1BZVAorUXVlYmVjb2lzCitxdWVlci9ZREdUUworcXVlbmNoL0RSN1NHcAorcXVlbmNoYWJsZS9VCitxdWVybi9NCitxdWVydWxvdXNuZXNzL1MKK3F1ZXN0aW9uaW5nL1VZCitxdWV1ZS9HQ1NECitxdWV1ZWluZworcXVpY2svVFBZCitxdWlja3NhbmQvTVMKK3F1aWVzY2UvRAorcXVpbGwvRE1HUworcXVpbmNlL1NNCitxdWluc3kvU00KK3F1aW50ZXNzZW50aWFsL1kKK3F1aXBzdGVyL1NNCitxdWlya2luZXNzL1MKK3F1aXovRFJaR00KK3JhYmJpL1NNCityYWNlaG9yc2UvU00KK3JhY2V0cmFjay9NUworcmFjaWFsaXN0CitSYWRmb3JkL00KK3JhZGlvZ3JhcGhlci9NUworcmFkaW9ncmFwaHkvU1dNCityYWRpb21ldGVyL01TVworcmFkaW9udWNsaWRlL00KK3JhZmYKK3JhZ2JhZy9TTQorcmFnZ2VkL1AKK3JhaWwvQ0RTR0oKK3JhaW4tY2xvdWQvU00KK3JhaW55L1QKK3JhaXNvbiBkJ+p0cmUKK3Jha2lzaC9QWQorcmFuY2gvRFJTR00KK3JhbmtzL2UKK3JhbnMKK3JhcGFjaXR5L00KK3JhcHQvWQorcmFzaC9TWVRSCityYXRlJ3MKK3JhdGlvbmFsZS8zTVMKK3JhdGlvbmFsaXNtL1NNCityYXR0eS9UCityYXZlL1JEU0dKCitSYXZlbnNicnVjay9NCitSYXltb25kdmlsbGUvTQorUmF5dGhlb24vTQorcmF6b3Itc2hhcnAKK3JlYWNoYWJsZS9VCityZWFkZXIvYU0KK3JlYWxpdHkvVVNNCityZWFwL1JHUworcmVhc29uYWJsZW5lc3MvVQorcmVhc3NlcnQvRworcmVhdHRhY2gvR0wKK3JlYmF0ZS9NCityZWJlbGxpb3VzL1kKK3JlYnVrZS9Ea1NHCityZWNhbGwvRzcKK3JlY2VpdmFibGUvUworcmVjZXB0aXZpdHkKK3JlY2VydGlmeS9OCityZWNpcHJvY2FsL1lTCityZWNrbGVzcy9ZCityZWNsYWltYWJsZS9JCityZWNsaW5lL1NEUkcKK3JlY29sb3VyL0dECityZWNvbm5lY3Rpb24KK3JlY29ubm9pdHJlL1NERworcmVjb3VudC9HCityZWNyaW1pbmF0ZS9WU3lHRG5OCityZWN0aXR1ZGUvTQorcmVjdHVtL01TCityZWRhY3QvR0RTCityZWRidWQvTQorcmVkZWVtLzdSCityZWRlbXB0aW9uL1NNCityZWRza2luL1NNCityZS1lbWVyZ2VuY2UKK3JlLWVtaXNzaW9uCityZS1lbXBsb3ltZW50CityZS1lbmZvcmNlL0wKK3JlLWVuZ2FnZW1lbnQKK3JlLWV2YWx1YXRlCityZWZlcmVuY2UncworcmVmZXJlbmRhCityZWZvbGQvRworcmVmb3JtYXQvREcKK3JlZm9ybWF0b3J5L01TCityZWZvcm1lZC9VCityZWZyaWdlcmF0ZWQvVQorcmVmdXRhYmxlL0kKK3JlZnV0ZS9ORG5SU0cKK3JlZ2FyZC9FU0dECityZWdhdHRhL1NNCityZWdlbmVyYXRlL1UKK3JlZ3JvdW5kCityZWd1bGF0aW9uL00KK3JlZ3VyZ2l0YXRpb24vTQorcmVoYWIKK3JlaHlkcmF0ZS9OCitSZWljaC9NCityZWlnbi9TREdNCityZWlub2N1bGF0ZQorcmVqb2ljZS9TSkRHaworcmVsYXRpb24vTUYKK3JlbGF4L0dpRG5raAorcmVsZW50aW5nL1UKK3JlbGlldmUvU0dEaFIKK3JlbWFpbi9HRAorcmVtYXJrYWJsZW5lc3MKK3JlbWVtYmVyZWQvVQorcmVtZW1iZXJlci9NCitSZW1pbmd0b24vTQorcmVtaW5pc2NlL0RHUworcmVtb25zdHJhbmNlCityZW1vdGUvVFkKK1JlbmUvTQorcmVuZXcvRDdHCitSZW5zc2VsYWVyL00KK3JlbnVuY2lhdGlvbi9TTQorcmVwZW50YW5jZS9NUworcmVwZW50YW50L1VZCityZXBsYWNlYWJsZS9JCityZXBvc3QvRworcmVwcmVzc2l2ZS9QCityZXByb2R1Y2liaWxpdHkvSQorcmVwcm9kdWNpYmx5CitSZXB1YmxpY2FuCityZXB1dGFibGUvRQorcmVxdWllbS9NUworcmVzYXQKK3Jlc2VhbC83CityZXNlbGVjdGlvbgorcmVzaXN0aW5nL1UKK1Jlc3BpZ2hpL00KK3Jlc3BvbnNpdmVuZXNzL1UKK3Jlc3RpdHV0aW9uL1NNCityZXN1bHQvTURHUworcmVzdXNjaXRhdG9yL1NNCityZXN5bmNocm9uaXNlL24KK3JldGFsaWF0ZS9TVnluR0ROCityZXRlbGwvRworcmV0aWUKK3JldG9ydC9ERworcmV0b3J0aW9uL1NNCityZXRyaWJ1dGlvbi9NUworcmV0cmlldmFsL01TCitSZXV0ZXJzCityZXZlbHJ5L1NNCityZXZlcmVudC9ZSQorcmV2ZXJpZS9NUworcmV2aWV3L0cKK3JldmlzYWJsZQorcmV2dWxzaW9uL00KK1JleW5vbGQvU00KK1JmCitSaGVpbmhvbGR0L00KK1Job2Rlc2lhbi9TCitSaG9uZGRhL00KK3JoeW1lL1NSR0RNCitSaWNoZWxpZXUvTQorUmljaGllL00KK1JpY2hsYW5kL00KK3JpZGVycy9lCityaWRnZS1wb2xlL1NNCityaWRnZS10aWxlL1NNCityaWRneS9UCityaWcvSkRNUkdTCityaWdnaW5nL00KK3JpZ2h0ZW91c25lc3MncworcmlnaHRpc20vU00KK3JpZ2h0d2FyZC9TCitSaW8vU00KK3JpcC9EUkdTCityaXBwbGV0CityaXBzYXcvU00KK3JpdmVyaW5lCityaXZ1bGV0L1NNCityb2FkYmVkL1NNCityb2FyL1JrU0RHSgorcm9iZS9NRFMKK1JvYnluL00KK3JvY2thYmlsbHkvTQorcm9ja2luZy1ob3JzZS9TTQorcm9kZW8vTVMKK1JvZGVyaWNrL00KK1JvZHJpcXVlei9NCityb2VudGdlbi9NUworUm9nYXRpb24KK3JvZ3Vpc2gvWVAKK1JvbGYvTQorcm9seS1wb2x5CitSb21hbm8vTQorcm9tYW50aWNpc3QKK1JvbW1lbC9NCityb29maW5nL00KK1Jvc2FsaWUvTQorcm9zZWF0ZQorcm9zZWJ1ZC9TTQorcm9zZXdvb2QvTVMKK3JvdGUvTQorUm90aHNjaGlsZC9NCityb3R0ZW5lc3QKK3JvdHRlci9NCitSb3R0ZXJkYW0vTQorcm91bmRhYm91dC9TTQorcm91bmQtYXJtCitSb3dlbGwvTQorUlNJCitSU1ZQCitydWJiZXJuZWNrL0RSR1NNCitydWJiZXJ5L1QKK3J1YmJsZS9NCitydWxlJ3MKK3J1bS9aTVMKK1J1bWFuaWEncworcnVtaW5hdGUvREd2TlNuVgorcnVtbWFnZXIvTQorcnVtb3VybW9uZ2VyL01TCitydW5lL01TVworcnVubGV0L01TCitydW5uZXItdXAKK1J1bnlvbi9NCitSdXNzZWxsL00KK3J1c3RsZS9TR1JECitydXN0cHJvb2YvR0QKK3Mva283CitTYWJpbmUvTQorc2FjY2hhcmluZQorc2FjZXJkb3RhbAorc2FjcmlmaWNlL0dEU29NCitzYWZlL1lVCitzYWZlbmVzcworc2FmZXN0CitzYWdhL1NNCitTYWhhcmEvTQorU2FoYXJhbi9NCitTYWlnb24vTQorU2Fsb21lL00KK3NhbHNhL01TCitzYWx0LW1hc2hlcworU2FtL1pNCitTYW1hcml0YW4vU00KK1NhbXNvbml0ZS9NCitzYW5hdG9yaXVtL1NNCitzYW5jdGlmaWNhdGlvbi9NCitzYW5jdGl0eS9TTQorc2FuZGFsL0dNRFMKK3NhbmRhbHdvb2QvTQorc2FuZHBpcGVyL1NNCitzYW5kcGl0L1NNCitTYW5nZXIvTQorc2FuZ3VpbmVvdXMvRgorc2FuaXRpc2UvUkdEUworc2FuaXRpemUvUkdEU04KK3NhbnNlcmlmCitzYXBsaW5nL01TCitTYXJhamV2by9NCitzYXJjYXN0aWMvWQorc2FyZG9uaWMvWQorU2FyZ29uL00KK1NhcnRyZS9NCitzYXVjZXBhbi9TTQorc2F1Y3kvVFkKK3NhdmFnZXJ5L1NNCitTYXZhbm5haCdzCitzYXZlbG95L00KK3NhdmlvdXIvU00KK3Nhdm91cnkncworc2F3L0RHTVMKK3NheG9waG9uZS9NUzMKK3NheS1zbworU2IvTQorc2NhYi8yR01aU0QKK3NjYWJpZXMvTQorc2NhZmZvbGRpbmcvTQorc2NhbGFyL01TCitzY2FsZSdzCitzY2FuZGFsb3VzbmVzcworc2Nhbm5lci9TTQorc2NhcHVsYXIvUworU2NhcmJvcm91Z2gvTQorc2NhdC9ERworc2NhdHRlci9yU2tKZAorc2NhdHRlcmluZy9NCitzY2VwdHJlL1NECitzY2hlbWEvUzFNCitTY2hlbmVjdGFkeS9NCitTY2hpY2svTQorU2NobWl0dC9NCitzY2hvb2xjaGlsZC9NCitzY2hvb2wtbGVhdmVyL01TCitzY2hvb2xtaXN0cmVzcy9TTQorU2Nob3R0a3kvTQorU2Nocm9lZGVyL00KK1NjaHV5bGtpbGwvTQorU2Nod2FyemVuZWdnZXIvTQorc2NvcmVjYXJkL1NNCitzY29yZWtlZXBlci9TTQorc2NvdGNoL1NNREcKK1Njb3RpYS9NCitTY290dC9NCitzY291dC9NR0RTCitzY3JhbS9HRFMKK3NjcmFwL3JEUkdkWlMKK3NjcmFwaGVhcC9TTQorc2NyYXBweS9UCitzY3Jhd255L1QKK3NjcmVlbnBsYXkvTVMKK1NjcmlibmVyL00KK3Njcm9sbGJhci9TTQorc2NydW1wdGlvdXMvWQorc2NydW5jaC9HU0RaCitzY3J1dGlueS9Tc1E5OE1xLQorU2N1bGxleS9NCitzY3VscHQvRFNHCitzY3VyZnkvVAorc2N1dHRsZS9NR0RTCitzY3V0dGxlYnV0dC9NUworc2VhYm9ybmUKK1NlYWdyYW0vTQorc2VhbGFudC9TTQorc2VhbWFuL1lNCitzZWFtbGVzcy9ZCitzZWFwbGFuZS9TTQorc2VhcmNoZXMvQQorc2Vhc2ljay9QCitzZWFzb24vZGxTN01vCitTRUFUTworc2Vhd2F0ZXIvUworc2Vib3JyaG9lYS9XCitzZWNlc3Npb24vTTNTCitzZWNlc3Npb25pc3QKK3NlY3JldGFyaWFsCitzZWNyZXRpb24vTQorc2VjdGlvbi9HTURTbworc2VjdWxhcmlzdAorc2VjdXJlZC9VCitzZWRneS9UCitzZWVkLWNvcmQKK3NlZ3JlZ2F0aXZlCitzZWlnbmV1cmlhbAorc2Vpc2luCitzZWlzbWFsCitzZWxmLWFkaGVzaXZlCitzZWxmLWFwcHJvdmFsCitzZWxmLWNyaXRpY2FsCitzZWxmLWRlcHJlY2F0aW5nCitzZWxmLWRlc3RydWN0aW9uCitzZWxmLWRvdWJ0CitzZWxmLWVtcGxveWVkCitzZWxmLWV4cGxhbmF0b3J5CitzZWxmLWZpbmFuY2luZworc2VsZi1mdWxmaWxtZW50CitzZWxmLWdsb3JpZmljYXRpb24KK3NlbGYtaW1wb3NlZAorc2VsZmlzaG5lc3MvVQorc2VsZi1yZWd1bGF0aW5nCitzZWxmLXJlbGlhbmNlCitzZWxmLXdvcnRoCitTZWxtYS9NCitzZW1pZmluYWxpc3QKK3NlbWktb2ZmaWNpYWwvWQorc2VtaS1wcmVjaW91cworc2VtaXRyb3BpY2FsCitzZW1pLXllYXJseQorc2VtcGl0ZXJuYWwvWQorU2VuLgorc2VuaWxpdHkvU00KK3NlbnNlbGVzcy9ZCitzZW5zaWJsZS9JWQorc2VwYXJhYmx5L0kKK3NlcGFyYXRvci9NUworc2Vwc2VzCitzZXB0dW0vTQorc2VxcS4KK3NlcXVhY2l0eQorc2VxdWVuY2luZy9BCitzZXF1ZW50L0YKK3NlcmFwaGltL00KK1NlcmVuZ2V0aS9NCitzZXJvdXMKK3NlcnZpY2VzL0UKK3NldHQvN1JKTURTRworc2V0dGxlZC9VQQorU2V2ZW5vYWtzCitzZXZlbnR5LW9uZWZvbGQKK3NleHRvbi9NUworU2V5ZmVydC9NCitTaGFja2xldG9uL00KK3NoYWtlLXVwCitzaGFtcG9vL0dNRFMKK3NoYW5rL1NETQorc2hhcGUvQURhU0cKK1NoYXJpL00KK3NoYXJwL1lUUworU2hlYS9NCitTaGVib3lnYW4vTQorU2hlbHRhbmQvTQorU2hlbHRvbi9NCitzaGVuYW5pZ2FuL1NNCitzaGVwaGVyZGVzcy9TTQorc2hpcC9ENEFMR1MKK3NoaXBidWlsZGluZworc2hpcG1hdGUvTVMKK3NoaXJrL0dTUkQKK3Nob2Uncy9jCitzaG9vdGFibGUKK3Nob290aW5nLWJveC9TTQorc2hvb3RpbmctYnJha2UKK3Nob3BrZWVwZXIvU00KK3Nob3BsaWZ0aW5nL00KK3Nob3Atc29pbGVkCitzaG9yZS9HRE1TCitTaG9yZXdvb2QvTQorc2hvcnRjb21pbmcvU00KK3Nob3J0aG9ybi9NUworc2hvcnQtbGl2ZWQKK3Nob3J0LXNpZ2h0ZWRuZXNzCitTaG9zdGFrb3ZpdGNoL00KK3Nob3VsZG4ndAorc2hvdXRlci9TTQorc2hvd3kvVFAKK3NocmlmdC9NUworc2hyaXZlL0dTCitzaHJvdWQvRE1TRworc2h5ZXIKK3NpZGUtYXJtcworc2lkZWxpbmUvRE1TCitzaWRlLXNhZGRsZQorc2lkZS1zd2lwZS9ETUdTCitzaWVzdGEvU00KK3NpZ2gvRFNHCitzaWdodGVyL00KK1NpZ211bmQvTQorc2lnbmFsLXRvLW5vaXNlCitzaWduYXRvcnkvU00KK3NpZ25vcmEvTQorc2lsaWNhL00KK3NpbGljb24vTQorc2lsay1zY3JlZW4vU00KK3NpbG8vU00KK3NpbHRzdG9uZS9NCitTSU1ECitzaW1pYW4vUworc2ltaWxhci9FWQorc2ltaWxpdHVkZS9NRQorc2ltbWVyL1NkCitzaW1wbGUtbWluZGVkbmVzcworc2ltcGxldG9uL1NNCitzaW1wbGlmaWVkL1UKK1NJTVVMQS9NCitzaW11bGFjcnVtL00KK3NpbXVsdGFuZW91cy9ZCitzaW5jZXJlbmVzcworU2luY2xhaXIvTQorc2luZm9uaWEvTQorc2luZnVsbmVzcy9TCitzaW5nL1JTN0dEaworU2luZ2Fwb3JlL00KK3NpbmdsZS1kZWNrZXIvUworc2luZ2xlLXNlYXRlcgorc2luZ3VsYXJpdHkvTVMKK3NpbmlzdHJhbC9ZCitzaW51c29pZGFsCitzaXIvZE1TCitzaXNzaWZpZWQKK3Npc3Rlci1pbi1sYXcKK1Npc3RpbmUKK3NpdHMvQQorc2l4dHktc2V2ZW4vSAorc2tlZXQvTQorc2tpZC9ER1MKK3NraW0vUkRTR00KK1NraW5uZXIvU00KK3NraXJtaXNoL0RTUkdNCitza2lydC9HRE1TCitza3VhL1MKK3NrdWxkdWdnZXJ5L00KK3NrdWxsY2FwL01TCitza3lzY3JhcGVyL01TCitzbGFiL01TR0QKK3NsYWxvbS9NUworc2xhbmcvTUdaCitzbGF0L01EZEdTCitzbGVkL0cKK3NsZWVrbmVzcworc2xlZXBsZXNzL1lQCitzbGVldmluZy9NCitzbGltbmVzcworc2xpcHBlcnkvVAorc2xpcHdheS9NUworc2xvdWdoL1NNR0QKK1Nsb3Zha2lhbi9TCitzbHVuaworc2x1cnAvREdTCitzbHllc3QKK3NseWx5CitzbWFsbG5lc3MKK3NtYXJ0L2VEU0cKK3NtYXJ0ZW4vU2QKK3NtYXJ0bHkKK3NtYXJ0eQorc21hc2gtdXAvUworc21pbGUvR0RNa1MKK3Ntb290aC9HWVJTVFBENworc25hcGRyYWdvbi9NUworc25hcmxlci9NCitzbmlmZi9TUkdECitzbmlmZmxlL1NHRAorc25vYmJ5L1QKK3Nub3J0L0dSRFMKK3Nub3djYXBwZWQKK3Nub3dzaG9lci9NCitzbnVnL1lQVAorc251Z2dsZS9HU0QKK3NvYXBzdG9uZS9NCitzb2JiaW5nL1kKK3NvY2lhbGlzbS9NUworc29kaXVtL00KK3NvZnRiYWxsL1NNCitzb2Z0LWhlYXJ0ZWQKK3NvZnR3YXJlL00KK3NvZ2dpbmVzcworc29pLWRpc2FudAorc29pbC9HTURTCitzb2lyZWUKK3NvbAorc29sYWNlL0dETVMKK3NvbGFyaWEKK3NvbGRpZXJzaGlwCitzb2xpZGkKK3NvbG9pc3QvU00KK3NvbHZhYmxlL0lVCitzb2x2ZW50L1NJTQorc29tZS9XCitzb21lcnNhdWx0L0dTTUQKK3NvbmdzdHJlc3MvTVMKK3NvbnMtaW4tbGF3CitTb255YS9NCitzb290aC9Sa01ERworc29waGlzdGljL05uCitzb3J0YWJsZQorc291L01TCitzb3VuZGx5L1UKK3NvdXB5L1QKK3NvdXIvRFBUU0dZCitTb3VzYS9NCitzb3VzZQorU291dGhlbmQvTQorU293ZXRvL00KK3Nvd3MvQQorc3BhY2luZy9NCitzcGFkZWZ1bC9NUworc3BhZGl4L00KK3NwYW5raW5nL00KK3NwYXJlL1BZUworc3BhcnMvVAorU3BhcnRhY3VzL00KK3NwYXMvVworc3Bhc3RpYy9TCitzcGF0aWFsaXR5L00KK3NwZWNpZmllZC9VYUFmCitzcGVjdHJvc2NvcHkvTQorc3BlbGVvbG9neS9Ndworc3BlbGxlZC9hQQorc3BlbGxzL2FBCitTcGVuY2UvTQorc3BlbmR0aHJpZnQvU00KK3NwZXJtL01TCitzcGlkZXJpbmcKK3NwaWxsYWdlL1NNCitzcGluL1JHU28KK3NwaW5uZXkKK3NwaXJlJ3MvSQorc3Bpcml0bGVzcworc3BsYXNoL0dEU3paCitzcGxpdC1sZXZlbAorc3BvaWxzcG9ydC9NUworc3Bvb2YvU0RHTQorc3BvcnRlcgorc3BvdGxlc3MvUFkKK3NwcmFpbi9HRFMKK3NwcmF3bC9HU0QKK3NwcmF5J3MKK3Nwcnllcgorc3EuCitzcXVhbG9yL1MKK3NxdWVhbWlzaC9ZUAorc3F1aXJlbGV0CitTUk8KK1NTVAorU3QKK3N0YWJsZS9GTVMKK3N0YWNjYXRvL1MKK1N0YWN5L00KK3N0YWdlY3JhZnQvTQorc3RhZ2Utc3RydWNrCitzdGFnZmxhdGlvbi9TTQorU3RhbGFnL00KK3N0YWxlbWF0ZS9TR01ECitTdGFsaW5pc3QKK3N0YW1pbmEvTQorc3RhbXAvUkpER1MKK1N0YW4vTQorc3RhbmRieQorc3RhbmRlci9TCitzdGFuZG9mZmlzaG5lc3MKK3N0YW5kcGlwZS9TTQorc3Rhbm5pYworc3RhbnphL1NNCitzdGFwbGUvU0dEUk0KK3N0YXIvcmRacFNERworc3RhcmJvYXJkL01TCitzdGFybGV0L1NNCitzdGFybGlnaHQvTQorU3RhcnIvTQorc3RhdGVzbWFuc2hpcC9NCitzdGF0aWNhbAorc3RhdGlvbmVyL1pTTQorc3RhdGlvbi13YWdvbi9NUworc3RhdHVlc3F1ZS9ZCitzdGVhZC96Mk1aCitzdGVhZGllcworc3RlYWR5L1VZCitzdGVhbXJvbGxlci9kU00KK3N0ZWFteS9UUAorU3RlaW5lci9NCitTdGVsbGEvTQorc3RlbGxhcgorc3Rlbm9ncmFwaGVyL01TCitzdGVwcGUvU1JNCitzdGVwcGluZ3N0b25lL1MKK3N0ZXJlb3Bob25pYworc3RldC9NR1NECitTdGV2ZW5hZ2UKK3N0aWZsZS9TR0RrCitzdGlsbGJvcm4vUworc3RpbXVsYXRpdmUKK3N0aW11bGF0b3J5CitzdGltdWx1cy9NCitzdGl0Y2hlci9NWgorc3RvYXQvTVMKK3N0b2NrYWRlL01TCitTdG9ja2RhbGUKK1N0b2NraG9sbS9NCitzdG9ja2luZXR0ZQorU3RvY2t0b24tb24tVGVlcy9NCitzdG9ja3lhcmQvTVMKK3N0b2ljL1NZTQorc3RvaWNoaW9tZXRyeS9NVworc3RvbGlkbmVzcworc3RvbWFjaC1hY2hlL1NNCitzdG9tYWNoLXB1bXAKK3N0b21hbAorc3RvbmV3YXNoZWQKK3N0b29wL0RHUworc3RvcC9NUlNERworc3RvcHBhYmxlL1UKK3N0b3Jla2VlcGVyL1NNCitzdG9yay9TTQorc3Rvcm0tbGFudGVybi9TTQorc3Rvcm0tc2FpbC9TTQorc3RvcnkvTVNECitzdG9yeXRlbGxpbmcvTQorc3RyYWRkbGUvUlNERworc3RyYW5ndWxhdGlvbi9NCitzdHJlYW0vR1NSTUQKK3N0cmVhbWVkL1UKK3N0cmVuZ3RoZW5lci9TTQorc3RyZXRjaGluZXNzCitzdHJpYWUKK3N0cmlhdGUvU0dECitzdHJpY3QvVFkKK3N0cmluZydzCitTdHJvbWJlcmcvTQorc3RydWN0dXJlJ3MKK3N0cnVkZWwvTVMKK3N0cnVnZ2xlL1NHRAorc3R1Y2NvL01ERworc3R1ZmYvY0RHCitzdHVmZmluZy9NCitzdHVwaWQvWQorc3R1cmdlb24vTVMKK3N0eWxlci9TTQorc3ViYXF1ZW91cworc3ViZHVjdGlvbgorc3ViZHVlL1NERworc3ViaHVtYW4KK3N1Ym1hcmdpbmFsCitzdWJtaXR0ZXIvUworc3Vib3B0aW1hbAorc3ViLXBsb3QvU00KK3N1YnNlcXVlbmNlL00KK3N1YnNldC9NUworc3Vic3RhbnRpdmUvU01ZCitzdWJ0YXNrL1NNCitzdWJ0ZXJmdWdlL1NNCitzdWJ0bGV0eS9TTQorc3VidGx5L1UKK3N1YnRvcGljL1NNCitzdWJ2ZW50aW9uL01TCitzdWNyb3NlL00KK1N1ZGFuL00KK1N1ZmlzbS9NCitzdWdhci1jb2F0ZWQKK3N1bGxlbmVyCitzdW1hYy9TTQorc3VtbWFyeS9TczlROE1ZCitzdW1wdHVvdXMvWVBLCitzdW4tYmFrZWQKK3N1bmRlci9kUworc3VuZGlhbC9TTQorc3VwZXJjaGFyZ2UvR1NSRAorc3VwZXJlZ28vTVMKK3N1cGVyaGlnaHdheS9TTQorc3VwZXJpbnRlbmRlbmN5L00KK3N1cGVyaW50ZW5kZW50L1NNCitzdXBlcmx1bmFyeQorc3VwZXJtYXJrZXQvTVMKK3N1cGVybm92YS9TTQorc3VwZXJwb3NpdGlvbi9NCitzdXBlcnNjcmliZS9YRE5TRworc3VwZXJzY3JpcHRpb24vTQorc3VwZXJzdGF0ZS9TCitzdXBlcnN0aXRpb3VzbmVzcworc3VwZXJ2ZW50aW9uCitzdXBwbGFudC9HU0QKK3N1cHBsZWx5CitzdXBwb3NlL0RYS1NHTgorc3VwcmFuYXRpb25hbGlzbS9NCitTdXJhdC9NCitzdXJlci9JCitzdXJmL1JETVNHCitzdXJnZS9BU0RHCitzdXJwcmlzZWQvVQorc3VycHJpc2luZy9VWQorc3VycmVhbGlzbS9NUworc3VycmVhbGlzdC9XMVMKK3N1cnJvZ2F0ZS9NUworc3VydGF4L1NNCitTdXNhbmEvTQorU3VzaWUvTQorc3VzcGljaW91cy9QWQorc3dhbnNvbmcKK1N3YXJ0ei9NCitzd2F0aC9NREdTCitTd2F6aWxhbmQvTQorU3dlZGVuL00KK1N3ZWVuZXkvTQorc3dlbGwvSkRHUworc3dpZnQvVFlTCitzd2luaXNoL1kKK3N3aXJsL0RHWVMKK3N3aXJseS9UCitTd2lzcworc3dpdGNoYm9hcmQvTVMKK3N3b2xsZW4KK3N5bGxhYnVzL1NNCitzeWxwaC9NUworc3ltcGhvbmlzdHMKK3N5bmFlc3RoZXNpYQorc3luYy9TREcKK3N5bmRhY3R5bC9ZCitzeW5kaWNhbGlzbQorc3luZXJnaXNtL1NNCitzeW5lcmdpc3RpYworc3luZ2FteQorc3lub2QvTVd3Uworc3lub2VjaW91cworVGFiaXRoYS9NCit0YWJsZS10b3AKK3RhY2hvbWV0ZXIvU00KK3RhY2h5Y2FyZGlhL1NNCit0YWNreS9UCit0YWcvR01EUworVGFoaXRpYW4vUwordGFpbHBsYW5lCit0YWxjdW0KK3RhbGt5L1MKK1RhbGxpbm4vTQordGFsbG5lc3MKK3RhbGxvdy9aTQordGFtYWxlL01TCitUYW1hci9NCitUYW1hcmEvTQorVGFtcGEvTQordGFtcG9uL2RNUwordGFuZ2VuY3kvTQordGFuZ2VyaW5lL01TCit0YW50YWxpc2UvawordGFudGFsaXplL2sKK1Rhby9NCit0YXAvZHJSRE1HUwordGFwZXN0cnkvU01ECit0YXByb29tL01TCit0YXJuaXNoL0c3RFMKK3RhcnNpCit0YXNrbWlzdHJlc3MvTVMKK3Rhc3RlZAordGFzdGVyL1NNCit0YXVnaHQvQVUKK3RhdXRuZXNzCit0YXZlcm4vU00KK3RlYWJhZy9TCit0ZWFjaC1pbgordGVhci1qZXJrZXIKK3RlYXRpbWUvU00KK3RlY2huaWNhbGl0eS9TTQordGVlLWhlZWQKK3RlZW5hZ2UvUgordGVlbnktd2VlbnkKK3RlZXBlZS9NUworVGVocmFuL00KK1RlbGVmb25pY2EKK1RlbGVmdW5rZW4vTQorVGVsZXByb21wdGVyCit0ZWxldmlzdWFsCitUZW1wZS9NCit0ZW1wZXIvZEVTTQordGVtcGxhdGUvRlMKK3RlbXBsYXRlJ3MKK3RlbXBsZS9NUworVGVtcGxldG9uL00KK3RlbXBvcmFsL1kKK3RlbXB0YXRpb24vTQordGVtcHVyYS9TTQordGVucGluL1NNCit0ZW50cy9JCit0ZW51b3VzL1kKK3RlcGVlL01TCit0ZXF1aWxhL01TCit0ZXJjZW50ZW5hcnkvUwordGVycmFjb3R0YQorVGVycmUvTQordGVyc2UvVFkKK3Rlc3RhdG9yL1NNCit06nRlLWLqY2hlCit0ZXRyYWZsdW9yaWRlCit0ZXRyYWdvbi9vTVMKK3RldHJhaGVkcmFsCit0ZXRyYWhlZHJvbi9TTQorVGV0dGVuaGFsbAorVGV1dG9uL01XCit0ZXh0Ym9vay9NUwordGhhbGxvcGh5dGUvTQorVGhhbWVzbGluawordGhhdC9NCit0aGF0Y2hpbmcvTQorVEhDCit0aGVhdHJpY2FsL1MKK3RoZW0vVzEKK3RoZW5jZQordGhlbmNlZm9ydGgKK3RoZW9jcmFjeS9TTQordGhlb3JlbS9TTQordGhlcmUnZAordGhlcmVvbgorVGhlcmVzYS9NCit0aGVybWFsL1MKK3RoZXJtaXN0b3IvU00KK3RoZXJtb251Y2xlYXIKK3RoaWFtaW5lL00KK3RoaWNrZW5pbmcvTQordGhpY2toZWFkCit0aGljay1oZWFkZWQKK3RoaWNraXNoCit0aGlja3NldAordGhpbmUKK3RoaW5raW5nL1UKK3RoaW5rcy9BCit0aGlydHktbmluZS9ICit0aGlzJ2xsCitUaG9taXNtL00KK1Rob21wc29uL00KK3Rob3JvdWdoZ29pbmcKK3Rob3NlCit0aG91Z2h0L0EKK3RocmVhZC9BR0RTCit0aHJlZS1waWVjZQordGhyZWUtcGx5Cit0aHJvdWdoCit0aHJvdWdoLXRyYWZmaWMKK3Rocm93L1JTRwordGh1bXBlcgordGh1bmRlcm91cy9ZCit0aHVuawordGh5cm90cm9waWMKK3RpY2tlci10YXBlCit0aWViYWNrL1NNCit0aWdodC9TWVBUCit0aWdodGVuZWQvYwordGlnaHQta25pdAorVGlncmlzL00KK3RpbGUvUkRTTUcKK3RpbGxhZ2UvU00KK3RpbWVrZWVwaW5nL00KK3RpbWVsZXNzbmVzcwordGltZWxpbmVzcy9VCit0aW1lLXNoYXJlL0RHUwordGltaWQvWQordGltaWRuZXNzCit0aW5nZS9TCitUaW5nJ3MKK3Rpbi1vcGVuZXIKK1RpcHBlY2Fub2UvTQorVGlyYW5hL00KK3RpcmVsZXNzbmVzcwordGl0L1JNUwordGl0YW4vTVNXCit0aXRyYXRpb24vTQordG9iYWNjby9NUwordG9lL0RNR1MKK3RvZWhvbGQvU00KK3RvZ2EvRFNNCitUb2dvL00KK1RvZ29sZXNlCitUb2xlZG8vTQordG9tYWhhd2svTURHUworVG9tbGluL00KK1RvbW1pZS9NCit0b21vcnJvdy9NUwordG9uL2Ryb01XUworVG9uYnJpZGdlCitUb25nYW4vU00KK3Rvb2xtYWtpbmcvTQordG9vbCdzCit0b3BpY2FsaXR5L01TCit0b3BzL1oKK3RvcXVlL01TCitUb3JxdWF5Cit0b3JxdWUvRFNHTQordG9ydC9GU0VBCitUb3J5L1NNCit0b3RhbGl0YXJpYW5pc20vU00KK3RvdXNsZS9EU0cKK3Rvdy9EUkdTCit0b3ctY29sb3VyZWQKK3RveXNob3AKK3RyYWNlbGVzcy9ZCit0cmFjZSdzCitUcmFjaS9NCit0cmFja2JhbGwvUwordHJhY3RhYmxlL0lZCit0cmFjdHMvQwordHJhZGVtYXJrL0dTRE0KK3RyYWRlc3Blb3BsZQordHJhZmZpYy1jYWxtaW5nCit0cmFpbGJsYXplci9NUwordHJhaW5pbmcvTVMKK3RyYWlubG9hZAordHJhaW5tZW4vTQordHJhbS9TTQordHJhbW1lbC9TREcKK3RyYW1wb2xpbmlzdAordHJhbmNlL01TCit0cmFucXVpbGx5L1E4cS1zOQordHJhbnNhdGxhbnRpYwordHJhbnNjcmliZS9SR05TRFgKK3RyYW5zZHVjZXIvTVMKK3RyYW5zaXN0b3IvUThNUwordHJhbnNsaXRlcmF0ZS9HbkQKK3RyYW5zbHVjZW5jeS9TTQordHJhbnNtaXR0YW5jZS9NUwordHJhbnNzZXh1YWwvU00KK3RyYXBlem9pZGFsCit0cmFwcGFibGUvVQordHJhc2h5L1RQCit0cmF3bC9TUkdECit0cmVhZG1pbGwvTVMKK3RyZWF0cy9hQQordHJlZm9pbC9TTQordHJlbXVsb3VzL1lQCit0cmVuY2gvQUdEUwordHJpYW5ndWxhdGUvTm5TR0QKK3RyaWF0aGxvbi9TCit0cmljay9TR0QyTXpaCit0cmlja2VyeS9TTQordHJpY2tzdGVyL01TCit0cmlja3kvVFAKK3RyaWxsL1NNR0QKK3RyaWxsaW9uL0hTCit0cmlsbGl1bS9TTQordHJpbWVzdGVyL1NNCit0cmltbmVzcworVHJpbmlkYWQvTQordHJpcGx5L04KK3RyaXBvZC9TTQordHJpc2VjdGlvbi9TCit0cm9jaGVlL01TCit0cm9waXNtL01TCit0cm90L0dSU0QKK1RydWNrZWUvTQordHJ1Y2tsZS9HU0QKK3RydWN1bGVuY2UvTQorVHJ1ZGVhdS9NCit0cnVlL0RURwordHJ1bHkKK3RydW1wZXQtY2FsbAorVHN3YW5hL00KK3R1YmVyY3Vsb3Npcy9NCit0dWJ1bGFyCit0dWNrL0RSU0cKK3R1aXRpb24vU01JCit0dW1ibGVkb3duCitUdW5pc2lhL00KK3R1bm55L01TCit0dXJiYW4vU00KK3R1cmJhbmVkCit0dXJuL0FTY0dECit0dXJuZWQvVQordHVybmVyL0FTCit0dXJuZXIncwordHVybnBpa2UvU00KK3R1cm5zdGlsZS9TTQordHVydGxlLWRvdmUvU00KK3R1dGVsYWdlL01TCit0dXRlbGFyeS9TCit0dS13aGl0CitUVkEKK3R3ZW50eS1vbmUKK3R3aXN0ZWQvVQordHdvLWZhY2VkCit0d29wZW5jZS9TTQordHdvLXdheQorVFdYCitUeQordHlrZS9TTQordHltcGFuaXN0L01TCitUeW5lbW91dGgKK3R5cGV3cml0aW5nCit0eXBld3JpdHRlbgordHlwaG9pZC9NCitUeXNvbi9NCit0emlnYW5lCitVQVJUCitVa3JhaW5lL00KK1VsYW4vTQordWxuYXIKK3VsdGltYXR1bS9NUwordWx0aW1vCit1bHRyYXNvdW5kL1NNCitVbHRyaXgvTQorVU1JU1QKK3VtcHRlZW50aAordW5hYmF0ZWQvWQordW5hY2NlcHRhYmlsaXR5Cit1bmFjY2VwdGFibGUKK3VuYWxpa2UKK3VuYW5pbW91cy9ZCit1bmF0dGFpbmFibGUKK3VuYmFuL0RHCit1bmJla25vd24KK3VuY2FwcGluZwordW5jZXJ0YWlubmVzcwordW5jaGFzdGUKK3VuY3JlYXRpdmUKK3VuZGF0ZWQvSQordW5kZWxpdmVyYWJsZQordW5kZW5pYWJsZS9ZCit1bmRlcmZsb29yCit1bmRlcmdhcm1lbnQKK3VuZGVyZ3JhZC9NUwordW5kZXJsaXAKK3VuZGVycGF5Cit1bmRlcnRvbmUKK3VuZG91YnRlZC9ZCit1bmR1bGFudAordW5mYWlybmVzcwordW5mYW1pbGlhcml0eQordW5mYXZvdXJlZAordW5mZWx0Cit1bmZsYXBwYWJpbGl0eQordW5mb3JnaXZpbmcKK3VuZnJpZW5kbGluZXNzCit1bmZydWl0ZnVsCit1bmZ1bm55Cit1bmdvZGxpbmVzcwordW5oYW5kL0daCit1bmljYW1lcmFsCit1bmlkaW1lbnNpb25hbAordW5pZm9ybS9TTVlECitVbmlzeXMvTQordW5pdmVyc2FsaXNtL00KK3VuaXZlcnNhbGl0eS9TTQordW5qdXN0Cit1bmtlbXB0Cit1bmtpbmsKK3VubG92YWJsZQordW5tYXNrL0cKK3VubWV0aG9kaWNhbAordW5wZXJzdWFzaXZlCit1bnJ1bGluZXNzCit1bnJ1bHkvVAordW5zZW50aW1lbnRhbAordW5zb2NpYWwKK3Vuc3BlYWthYmxlL1kKK3Vuc3BlY3RhY3VsYXIKK3Vuc3Vic3RhbnRpYWwKK3Vuc3lzdGVtYXRpYwordW50b3dhcmQvWQordW50cmFkaXRpb25hbAordW50d2lzdC9HCit1bndyYXAvREcKK3VwZGF0ZXIvTQorVXBkaWtlL00KK3VwaGVhdmFsL1NNCit1cGhvbHN0ZXIvQVNkCit1cGhvbHN0ZXJlci9TTQorVVBJCit1cGxpbmsvR0RTCit1cC10by1kYXRlCit1cmFuaXVtL00KK3VyYmFuZS9ZCit1cmdlbnQvWQordXJpbmFyeQordXJpbmF0ZS9EU0cKK3VyaW5hdGlvbi9NCit1cm9sb2dpc3QvUworVXJzdWxhL00KK3VzL3JTN2RnbAorVVNBUlQKK3VzZWZ1bG5lc3MKK1VTTworVVNQUwordXN1cmVyL1NNCitVdGljYS9NCit1dnVsYXIvUwordXhvcmlvdXMKK1V6YmVrL00KK3ZhY2NpbmF0ZS9HRFMKK3ZhY2lsbGF0aW9uL00KK3ZhY3VhL00KK3ZhZ2Fib25kL0dNU0QKK3ZhZ3JhbnQvWVNNCit2YWlubmVzcworVmFsZGV6L00KK3ZhbGUvTVMKK1ZhbGVyaWUvTQordmFsZXR1ZGluYXJpYW4vTVMKK3ZhbGlkaXR5L1NNSQordmFsdmUvU0RNcAorVmFudWF0dQordmFwb3VyaXNoCit2YXJpYWJseS9JCitWYXJpYW4vTQordmFyaWFuY2UvSVMKK3ZhcmlhbmNlJ3MKK3ZhcmlldHkvU00KK3ZhcnlpbmcvVVkKK3ZhdC9HTURTCitWQ1IKK1ZECit2ZWFsL0EKK3ZlY3RvcmlzZS9uREdTCit2ZWN0b3JpemUvRE5HblMKK3ZlbGQvU00KK3ZlbmF0aW9uL1NNCit2ZW5lcmF0aW9uL00KK1ZlbmljZS9NCit2ZW50cmljbGUvU00KK3ZlbnR1cmUvU1JERwordmVudHVyZXNvbWVuZXNzCitWZW51c2lhbi9TCit2ZXJhbmRhL1NNCit2ZXJkaWN0L01TCit2ZXJkdXJlL0RTTQordmVyaWZpZXMvQQordmVyaXNpbWlsaXR1ZGUvTVMKK3Zlcm1pY2VsbGkvU00KK3Zlcm1pZm9ybQorVmVybW9udC9NCit2ZXJuaWVyL01TCitWZXJub24vTQordmVyc2F0aWxlL1kKK3ZlcnNlcy80SQordmVyc28vTVMKK3ZlcnRpZ28vTQordmVyeS9ZCit2ZXN0YWwvUworVmVzdXZpdXMvTQordmlhYmlsaXR5L01TCit2aWJyYW5jeS9TTQordmlicmFwaG9uZS9TM00KK3ZpYnJhdGlvbi9NCit2aWNhcmlvdXNuZXNzCit2aWNlLWNoYW5jZWxsb3IvU00KK1ZpY2tpL00KK3ZpY3XxYS9TCit2aWRlb3Bob25lL1NNCitWaWVubmEvTQorVmllbnRpYW5lL00KK1ZpZXRjb25nL00KK3ZpZXdpbmcvTQordmlld3MvS0FjCit2aWdvcm91c25lc3MKK1Zpa2luZy9TTQordmlsaWZ5L0ROU25HCitWaW5jaS9NCit2aW5kaWNhdG9yL1NNCit2aW5leWFyZC9NUwordmlvbGV0L1NNCit2aXBlcm91cwordmlyZW8vTVMKK3ZpcnVzL01TCit2aXNjb21ldGVyL1NNCit2aXNjb3VudGN5L01TCit2aXNpb25zL0sKK3Zpc2l0YXRpb24vU00KK3Zpc2l0ZWQvVQordmlzdWFsLzhzWS05UVNxCitWaXZpYW4vTQordm9jaWZlcm91c25lc3MKK1ZvZ3RzCit2b2xhdGlsaXR5L1NNCitWb2xnYS9NCit2b2x1bWUvTVMKK3ZvbHVtZXRyaWMvWQordm9sdW1pbm91c25lc3MKK3ZvbHVwdHVhcnkvU00KK1Zvc3MvTQorVm91dnJheS9NCit2dWxnYXJpc20vU00KK3Z1bGdhcml0eS9NUwordnVsbmVyYWJsZS9JWQord2FkL2RyTUdTCit3YWZmbGUvR01EUword2FmZmxlLWlyb24KK3dhZ2VyL2QKK3dhaWxlci9NCitXYWlud3JpZ2h0Cit3YWlzdGxpbmUvU00KK1dha2VmaWVsZAord2Fsa291dC9TTQord2FsbGFieS9TTQord2FsbnV0L01TCitXYWxzaW5naGFtL00KK1dhbHdvcnRoL00KK3dhbmUvUword2FyaW5lc3MvVQord2FybXMvQQord2FycC9ER01TCit3YXJyZW4vU00KK3dhcnJpb3IvTVMKK3dhcnNoaXAvTVMKK1dhcndpY2svTQord2FyeS9VWQord2FzaGVyLzVTTQord2FzaGluZy9TTQord2FzcGlzaG5lc3MKK1dhc3Nlcm1hbgord2F0Y2hkb2cvU00KK3dhdGVyLWdsYXNzCit3YXRlcnNoZWQvTVMKK3dhdGVyd29ya3MKK1dhdGxpbmcvTQorV2F1cHVuL00KK1dhdmVsYW5kL00KK1dhdmVybGV5L00KK3dheXdhcmQvWQord2Vhay9ZVAord2VhbHRoL01aCit3ZWF0aGVyL21kU00KK1dlYnN0ZXIvTQord2VlZC9ER01TWgord2Vla2VuZGVyL00KK3dlZXZpbC9TTQord2VpZ2hlZC9VCit3ZWlnaHRsZXNzbmVzcworV2VpbWFyL00KK1dlaW5iZXJnL00KK3dlbGwvREdTCit3ZWxsLWJvcm4KK3dlbGwtZGV2ZWxvcGVkCitXZWxsaW5nYm9yb3VnaC9NCit3ZWxsLXBhaWQKK3dlbGwtcmVjZWl2ZWQKK3dlbGwtd2lzaGVyL1MKK3dlbmQvREdTCitXZW5nZXIvTQorV2Vzc29uL00KK3dlc3QvTQorV2VzdGJyb29rL00KK1dlc3R3YXJkL1MKK3doYWNrL1NERword2hhbGUvUk1HUword2hhdCdzLWhlci1uYW1lCit3aGF0J3MtaXRzLW5hbWUKK3doZWV6ZS9EU0daCit3aGVsbS9mRGNHUword2hlbHAvU0RNRword2hlcmUvTQord2hlcmVhYm91dHMKK3doZXJlYXMKK3doZXJlYnkKK3doaW55L1QKK3doaXBjb3JkL1NNCitXaGlwcGFueQord2hpcHBlcgord2hpcHBpbmcvTQord2hpcmx5YmlyZC9TTQord2hpc3QvTQorV2hpdGVoYWxsL00KK1doaXRlaG9yc2UvTQorV2hpdGxvdy9NCitXaGl0dGllci9NCit3aG9vCit3aG8ndmUKK1dJCit3aWNrL1JpU0RoTQord2lkZWJhbmQKK3dpZGVzcHJlYWQKK1dpbGNveC9NCitXaWxmcmVkL00KK1dpbGtpZS9NCit3aWxsb3cvU01aCitXaWxtaW5ndG9uCitXaWxtc2xvdworV2lsc29uL00KK3dpbHQvREdTCit3aW1wL01TWgord2luZGVkCit3aW5kb3cvcEdTRE0KK3dpbmRyb3cvU00KK3dpbmRzY3JlZW4vTVMKK1dpbmZpZWxkCit3aW5nc3Bhbi9NUworV2luc3Rvbi9NCit3aXJlLzJabURwU01KRworV2lzZW5oZWltZXIKK3dpc3RlcmlhL1NNCit3aXRoZHJhd25uZXNzCit3aXRsZXNzbmVzcword2l0bmVzcy9ER1MKK1dpdHQvTQorV2l0dGVuYmVyZword2l0dGljaXNtL1NNCit3aXplbmVkCit3b2FkL00KK1dvZGVob3VzZQord29rL01TCitXb2tpbmdoYW0KK1dvbGZmaWFuCit3b2xmaXNoL1kKK1dvbHZlcmhhbXB0b24vTQord29tYW5saWtlCit3b21hbmx5L1RQCitXb29kYnVyeQord29vZGN1dC9TUkdKTQord29vZHdvcmtpbmcvTQorV29vZHkncworV29vbHdvcnRoCit3b3JkLXByb2Nlc3NpbmcKK3dvcmtkYXkvTVMKK3dvcmtpbmcvTVMKK3dvcmttZW4vTQord29ybGQtZmFtb3VzCit3b3JsZGxpbmVzcy9VCit3b3JsZGx5L1RQCit3b3JtLXdoZWVsCit3cmFwcGluZy9TTQord3Jlc3QvR1NECit3cmV0Y2hlZC9QCit3cmlnaHRzCit3cml0ZWFibGUKK3dyaXRpbmcncword3JvbmdmdWxuZXNzCit3cnVuZword3QKK1gKK1gtcmF5L1MKK3lhY2svR0RTCit5J2FsbAorWWFybW91dGgvTQoreWFybXVsa2UvU00KK3lhcm4vRE1HUworWWFzbWluCit5YXdsL1NNCit5LWF4aXMKK3llYS9TCitZZWFnZXIKK3llYXIvWU1TCit5ZWFybGluZy9TTQoreWVhcm4vREpHa1MKK3llYXN0eS9UCitZZWxsb3dzdG9uZS9NCitZZW1lbi9NCit5ZW9tYW4vWU0KK3llcworeWVzLW1hbgoreWllbGRpbmcvVQorWU1DQQoreW9uZGVyCitZb29uZworWW9yay9NCitZb3NlbWl0ZQorWW91bmdzdG93bgorWXByZXMKK3l1Y2t5L1QKK1l1Z29zbGF2aWFuCitaYWliYXRzdQorWmFtYmV6aQoremVwaHlyL01TCit6b2RpYWMvTVMKK3p5bXVyZ3kvUwor4AorQWFjaGVuL00KK2FiYXNoL0xHaFNECithYmFzaGVkL1VZCithYmF0dG9pci9TTQorYWJi6S9TCithYmJyZXZpYXRlL05EblNHCitBYmR1bC9NCitBYmVsc29uL00KK2FiZXJyYW50L1kKK2FianVyYXRpb24vTQorYWJub3JtYWwvWQorYWJvYXJkCithYm91bmQvR0RTCithYnJpZGdlL0xTR0QKK2Fic2Nlc3MvRFNHTQorYWJzY2lzc2EvTVMKK2Fic2VpbGVyCithYnNvcmJlbnQvTQorYWJzb3Jicy9BCithYnN0cmFjdGlvbmlzdAorYWJzdXJkL1BZVAorYWJ1c2UvR0VTRAorYWJ1c2l2ZW5lc3MvUworYWJ1dC9HUlNMRAorQWJ5c3NpbmlhbgorQWMKK2FjYy4KK2FjY2VsZXJhdG9yL1NNCithY2NlcHRhYmx5L1UKK2FjY2Vzcy9OU1hEeU1iRworYWNjaWRlbnQtcHJvbmUKK2FjY29tbW9kYXRpdmUvUAorYWNjb3JkYW5jZS9TTQorYWNjb3VudGFiaWxpdHkncy9VCithY2NyZXRpb24vU00KK2FjY3J1ZS9TR0QKK2FjY3VzYXRpdmUvUworYWNjdXNlL25Sa1NHRAorYWNjdXNlZC9NCithY2hpZXZlbWVudC9mCithY2hpZXZlci9jUworQWNrZXJtYW4vTQorYWNrbm93bGVkZ2VkL1UKK0FDTQorYWNuZS9TTUQKK2Fjb2x5dGUvTVMKK2FjcXVhaW50ZWQvVQorYWNxdWllc2NlL0dTRAorYWNxdWlyZS9EQVNHCithY3F1aXNpdGl2ZW5lc3MvUworYWNyZWFnZS9NUworYWNyaWRuZXNzL1MKK2FjdGlub21ldGVyL01TCithY3VtZW4vU00KK2FjeWNsb3Zpci9TCithZGhlcmVudC9ZU00KK2FkafNzCitBZGlyb25kYWNrL1MKK2FkanVzdG9yJ3MKK2FkanV0YW50L01TCithZG1pbmlzdHJhYmxlCithZG1pcmFibGUvUAorYWRtaXR0YW5jZS9TTQorYWRvbGVzY2VuY2UncworYWRvcmFibGUvUAorYWRvcmUvbFJTTm5Ha0QKK0Fkcmlhbi9NCithZHJvaXQvVFlQCitBRHRlCithZHVsdGVyZXIvU00KK2FkdW1icmF0aW9uL00KK2FkdmFudGFnZW91c25lc3MvRQorYWR2ZW50L1N2TQorYWVvbi9TTQorYWVyb2JpYy9TWQorYWVyb2ZvaWwvTVMKK2Flc3RoZXRpY2lzbS9TTQorYWVzdGl2YWwKK2FmYXIKK2FmZmFibGUvVFkKK2FmZmlsaWF0ZS9uRVNHRE4KK2FmZmlybWF0aW9uL01BCithZmZvcmRhYmxlL1UKK2FmZnJpY2F0ZS9WU05NCithZnJlc2gKK0FmcmljYS9NCitBZnJpY2FuL1NNCithZnRlcmJpcnRoL1NNCithZnRlci1lZmZlY3QvU00KK2FmdGVydGhvdWdodC9NUworYWZ0ZXJ3YXJkcworYWdlZC9QCithZ2VuZGEvTVMKK2FnZ2x1dGluaW4vU00KK2FnZ3JhbmRpemUvR0xEUworYWdncmVnYXRpbmcvRQorYWdncmVzc2l2ZS9jCithZ2l0cHJvcC9TTQorYWdyb25vbWljL1MKK2FpcmJydXNoL01HRFMKK0FpcmVzL00KK2FpcmxpZnQvR0RNUworYWlycG9ydC9NUworYWtpbgorQWwvTQorYWxhY3JpdHkvU00KK0FsYXNrYS9NCitBbGJhbnMKK2FsYnVtaW4vTVMKK2FsZWUKK2FsZWhvdXNlL1NNCitBbGYvTQorQWxmcmVkby9NCithbGdhZQorYWxnYWwKK2FsZ2VicmFpYy9ZCitBbGhhbWJyYS9NCithbGllbmVyCithbGltZW50YXJ5CithbGl2ZS9QCitBbGxlbi9NCithbGwtaW4KK2FsbG90cm9wZS9XTQorYWxsb3kvU0dNRAorYWxsLXB1cnBvc2UKK2FsbHNwaWNlL00KK2FsbHV2aWFsCithbGx1dml1bS9TTQorYWxwL00KK0FscGhvbnNlL00KK0FsdGFpL00KK2FsdGVyY2F0ZS9uTgorYWx0ZXJuYXRvci9TTQorQWx0aGVhL00KK2FsdW0vU00KK0FseXNzYS9NCithbWFsZ2FtL25WU00KK2FtYmFzc2Fkb3JpYWwKK2FtYmlkZXh0cm91cy9ZCithbWJsZS9LUworYW1ibGVkCithbWJyb3NlCithbWVsaW9yYXRlL0RHbk5WUworYW1lbmRlci9NCithbW5pb24vTVMKK2FtbmlvdGljCithbW9uZworYW1vbmdzdAorYW1vcnRpc2VkL1UKK2FtcGVyZS9NUworQW10cmFrL00KK2FuYWJvbGlzbS9NUworYW5hY2hyb25pc3RpYy9ZCithbmFlbWlhL1NNCithbmFlc3RoZXRpc2UvUm5TR0QKK2FuYWxvZ291c25lc3MvUworYW5hbW9ycGhpYworYW5hc3RvbW9zaXMvTQorYW5hdGhlbWEvTVE4UworQW5hdG9saWEvTQorYW5jaG9yZXQvVworYW5jaG9yaXRlL1NXTQorQW5kYWx1c2lhL00KK0FuZGVyc29uL00KK2FuZ2VsL1Mxd01XCitBbmdlbGluYS9NCithbmdpb3NwZXJtL1NNCithbmdsZS9NUlNKR0QKK0FuZ2xvLUJvZXIKK0FuZ2xvLUluZGlhbgorQW5nbG8tSXJpc2gKK2FuZ3Vpc2gvTURTRworYW5ndWxhci9ZCithbmltYWxuZXNzCithbmltYXRpb24vQU0KK2FuaW9uL1NXTQorYW5pc2UvTVMKK0Fua2FyYS9NCithbmtsZWJvbmUvTVMKK0FubmUvTQorQW5uZXR0ZS9NCithbm51bmNpYXRvci9NUworYW5vbWFsb3VzL1BZCithbm9uCithbm9uLgorYW5vcmVjdGljCitBTlNJL00KK2FudGFnb25pc20vU00KK2FudGFnb25pc3QvV1NNMQorYW50YWdvbml6ZS9SU0RHCithbnRlYmVsbHVtCithbnRlY2VkZW5jZS9TTQorYW50ZWRhdGUvR1NECithbnRocm9wb2NlbnRyaWMKK2FudGljbGltYXgvTVMKK2FudGljbG9ja3dpc2UKK2FudGlkaXNlc3RhYmxpc2htZW50YXJpYW5pc20vTQorYW50aS1lc3RhYmxpc2htZW50CithbnRpZnJlZXplL01TCithbnRpLWh1bnQvRworQW50aWxsZXMvTQorYW50aW1hdHRlci9NUworYW50aXBvZGUvU00KK2FudGlwb2RlYW4vUworYW50aXRoZXRpYy9ZCithbnRpdmlyYWwvUworYW50c2llcgorYW54aW91cy9QWQorYXBlZC9BCithcGVsaWtlCitBcGVubmluZXMKK2FwaGVsaWEKK2FwaGVsaW9uL1NNCithcGhvbmljCitBUE8KK2Fwb2NyeXBoYWwvUAorYXBvcGxleHkvU00KK0Fwb3N0aWxsZQorYXBvdGhlb3NpemVzCitBcHBhbGFjaGlhL00KK0FwcGFsYWNoaWFuL01TCithcHBhcml0aW9uL1NNCithcHBlYWwvR0RTa00KK2FwcGVsbGFudC9TTQorQXBwbGV0b24vTQorYXBwcm94CithcHJvbmVkCithcHRseS9JCithcXVhbmF1dC9TTQorQXJhYi9NV1MKK2FyYWJlc3F1ZS9NUworYXJhY2hub3Bob2JpYQorYXJiaXRyYXRlL1ZTR0QKK2FyY2hhZW9sb2d5L3czU00xCithcmNoYWljbmVzcworYXJjaGl0ZWN0L1NNCithcmNoaXRyYXZlL1NNCithcmN0YW5nZW50CitBcmdlbnRpbmlhbi9TCithcmd1bWVudGF0aW9uL00KK2FyaWEvU00KK0FyaWFuaXNtL00KK0FyaWVzL00KK2FyaXN0b2NyYXQvV00xUworYXJtb3VyeS9TTUQKK2FybXJlc3QvU00KK2Fyb3VzZS9TREcKK2FycmFuZ2UvTFJTREcKK2FycmVzdHMvQQorYXJyaXZlci9NCithcnRlZmFjdC9TTQorYXJ0aHJvcG9kL01TCithcnRpY3VsYXRvci9NUworYXJ0aXNhbi9NUworYXJ0aXN0cnkvTVMKK0FydHVyby9NCitBcnlhbi9TTQorYXMKK2FzY2VuZGFudC9ZCithc2NlbmRzL0EKK2FzY2Vuc2lvbi9NCitBc2NvdC9NCithc2NyaWJhYmxlCithc2hlcgorQXNoZ2FiYXQvTQorYXNobGFyL2RTTQorYXNoeS9UCithc2xlZXAKK2FzcGh5eGlhdGlvbi9NCithc3NlbWJsZWQvQVUKK2Fzc2VtYmx5J3MvQUUKK2Fzc2ltaWxhdGlvbi9NMworYXNzb2NpYXRlc2hpcAorYXNzb2NpYXRpb24vb00KK2Fzc29jaWF0b3IvTVMKK2Fzc29ydGVyL00KK2FzdGVyb2lkL1NNCithc3Rlcm9pZGFsCithc3Ryb25hdXQvV3dTTQorQXRoZW5pYW4vU00KK2F0aGVyb3NjbGVyb3Npcy9NCitBdGhlcnRvbi9NCithdGhsZXRpYy9TCithdG1vc3BoZXJpYy9TCithdG9uZS9Tb0xERworYXR0YWNo6S9TCithdHRhaW5hYmlsaXR5L01TCithdHRlc3RhdGlvbi9NCithdHRyYWN0b3IvU00KK2F0dHJpYnV0aW9uL1NNCithdHlwaWNhbC9ZCithdWN0aW9uL0RNR1MKK2F1ZGFjaXR5L1NNCithdWRpZW5jZS9TTQorYXVkaXRvci9NUworQXVkdWJvbi9NCitBdWd1c3QncworQXVyZWxpdXMKK2F1dGhvcml0eS9TTQorYXV0b2Jpb2dyYXBoZXIvU00KK0F1dG9jdWUKK2F1dG9kaWFsCithdXRvaW1tdW5lCithdXRvbWF0b24vTVMKK2F1dHVtbmFsCithdmFpbC9CbFNERworYXZhc3QvUworYXZpYXRlL25OCithdmlhdGlvbi9NCithdmlhdHJpeC9TTQorYXZpb25pY3MvTQorYXZvaWQvUlNER2w3Cithdm9pZGFibGUvVQorYXdha2VuL2RKUworYXdheQorYXdheW5lc3MKK2F3bmluZy9NRAorQXlyc2hpcmUvTQorYXphbGVhL01TCitiL3BiCitCYWFsL00KK2JhY2lsbGkKK2JhY2tkYXRlL0RTRworYmFjay1zZWF0CitiYWNrc2xpZGUvR1MKK2JhY2tzdHJva2UvREdNUworYmFjdGVyaWNpZGUvTVMKK2JhY3RlcmlvbG9neS9Nd1czUworYmFjdGVyaW9waGFnZQorQmFkZW4vTQorYmFkaW5hZ2UvU0RNRworYmFkbWFuL00KK2JhZ2VsL1NNCitiYWdnZWQvTQorYmFoL1MKK2JhaWxvdXQvTVMKK0JhaXJpa2kvTQorYmFpdC9TTUdECitiYWl6ZS9NCitiYWxhY2xhdmEvTVMKK2JhbGFuY2luZy9BY1VlCitCYWxrYW4vU00KK2JhbGxhZGUvTVMKK2JhbGxwbGF5ZXIvU00KK2JhbGxyb29tL1NNCitiYW1ib28vU00KK2JhbmRhZ2VyL00KK2JhbmRhbm5hL00KK2JhbmRpbmcncworYmFuZHdpZHRoL1NNCitCYW5nbGFkZXNoL00KK0Jhbmdvci9NCitiYW5pc3Rlci9TTQorYmFua2NhcmQvUworYmFua25vdGUvUworYmFua3JvbGwvR1NETQorYmFua3J1cHQvR1NETQorYmFwdGlzdHJ5J3MKK2JhcmIvU1JHTURpCitCYXJiYXJ5CitiYXJiZWN1ZS9EU01HCitiYXJiZWwvU00KK0JhcmNsYXljYXJkCitiYXJlbmVzcy9TCitiYXJrL01EUkdTCitCYXJrbGV5J3MKK2JhcmtzL0MKK2Jhcm9uL01TCitiYXJvcXVlbmVzcworYmFycmFjay9TR0QKK2JhcnJhY2tlci9NCitiYXJyZW5uZXNzL1MKK2JhcnJldHRlL01TCitCYXJ0b24vTQorYmFzZXIvQworQmFzaWxkb24vTQorYmFza2V0cnkvU00KK2Jhc29waGlsaWMKK2Jhcy1yZWxpZWYvUworQmFzdGlsbGUvTQorQmF0YXZpYS9NCitiYXRjaC9EU0dNCitiYXRobWF0L1MKK2JhdHRhbGlvbi9NUworYmF0dGluZy9NCitCYXVlci9NCitCYXZhcmlhL00KK0JheW9ubmUvTQorQkJTCitiZWFkaW5nL00KK2JlYW5wb2xlL01TCitiZWFyYWJsZS9VCitCZWF1bW9udC9NCitCZWNrZXR0L00KK2JlY29tZS9TR2sKK2JlZGNsb3RoZXMKK2JlZGV2aWwvTERHUworQmVkb3Vpbi9NCitiZWRyb2xsL01TCitiZWRzaXR0ZXIvTQorYmVlLWtlZXBlci9TTQorQmVlcmJvaG0vTQorYmVmb3JlaGFuZAorYmVnZ2FyLW15LW5laWdoYm91cgorYmVnaW4vUkpHUworYmVndWlsZS9EUkxTR2sKK2JlaGFsdmVzCitiZWhhdmVyL2EKK2JlaGluZGhhbmQKK0JlaXJ1dC9NCitiZWxmcnkvU00KK0JlbGdpYW4vTVMKK2JlbGxhZG9ubmEvU00KK2JlbGxmbG93ZXIvTQorYmVsbHkvU2ZNCitiZWxvbmdpbmduZXNzCitiZWxvdworYmVseS9TREcKK2JlbmVmaWNlbnQvWQorQmVuaW4vTQorQmVuamFtaW4vTQorQmVubmluZ3Rvbi9NCitCZW93dWxmL00KK2JlcXVlYXRoL0dEUworQmVyZ3N0cm9tL00KK2JlcmliYm9uCitiZXJpYmVyaS9NUworQmVyaW5nCitCZXJuYXJkby9NCitCZXJub3VsbGkvTQorYmVzCitiZXNpZWdlL1NSREcKK2Jlc3Qtc2VsbGVyL1MKK2JldGltZXMKK2JleW9uZAorYmYKK2JpYXhpYWwvWQorYmlibGUvMXdNUworYmlnLWJvbmVkCitiaWctbmFtZQorYmlsYWJpYWwKK0JpbGJhby9NCitiaWxpb3VzbmVzcy9TCitiaWxsaW5nL00KK2JpbGxpb25haXJlL1NNCitiaWxsb3cvREdNWlMKK2JpbWJvL01TCitiaW5kaW5nL1BNCitCaW5naGFtdG9uCitiaW5uYWNsZS9TTQorYmlvbAorYmlvc3RhdGlzdGljL1MKK2JpcGVkL1NNCitiaXJkbGlrZQorYmlydGhlZAorYmlydGhtYXJrL1NNCitiaXNlY3Rpb24vU00KK0Jpc2hvcHNnYXRlL00KK2Jpc211dGgvTQorYmlzdGFibGUKK2JpdGNoaW5lc3MvUworYml0dGVycm9vdC9NCitiaXphcnJlL1BZCitibGFiL1JTREcKK2JsYWNrbGlzdC9HRAorQmxhY2ttYW4vTQorYmxhY2tvdXQvTVMKK2JsYWRlL0dETVMKK0JsYWVuYXUvTQorQmxhaW5lL00KK0JsYWtlL00KK2JsYW5jL00KK2JsYW5jaC9EU0cKK2JsYW5jbWFuZ2UvTVMKK2JsYW5rZXRlci9TCitibGFz6QorYmxhdGFuY3kvTVMKK2JsYXRoZXIvZFMKK2JsYXplL1JrR0RNUworYmxlYXJ5L1RQCitibGVkCitibGVzc2VkbmVzcy9NUworYmxpbmQvU0RSVFBHa1kKK2JsaXRoZXNvbWUKK2Jsb2F0L1NEUkcKK2Jsb2NrL1VHRFMKK2Jsb29kaG91bmQvU00KK2Jsb29kaWVkL1UKK2Jsb29kLXBvaXNvbmluZworYmxvb20vUk1ER1MKK2Jsb29wL1NEUkcKK2Jsb3ctZHJ5ZXIKK2Jsb3dndW4vU00KK2JsdWRnZW9uL01HU0QKK2JsdWViYWNrCitibHVlLWJsb29kZWQKK2JsdWVidXNoCitibHVlLWV5ZWQKK2JvYXRob3VzZS9TTQorYm9hdGxvYWQvTVMKK2JvYXRzd2Fpbi9NUworYm9kZS9TWgorYm9keWluZy9NCitCb2VpbmcvTQorYm9mZmluCitCb2dvdOEvTQorYm9pbC9BR1NECitib2lsZWQvVQorQm9saXZpYW4vUworQm9sbGluZ2VyL00KK2JvbHN0ZXJlci9NCitib25hCitib28vRFNHCitib29rc2VsbGVyL1NNCitib290c3RyYXAvTURHUworYm9vdHkvU00KK2JvcmRlcmVyL00KK2JvcnNjaHQvU00KK2Jvc2gvU00KK2Jvc3N5L1RQCitCb3N0b25pYW4vTVMKK2JvdHRsZW5lY2svTURHUworYm90dG9tbGVzcy9ZUAorYm91bmRsZXNzbmVzcy9TCitib3VudGVvdXMvWVAKK2JvdXJnZW9pcy9NCitCb3VybmUvTQorYm93ZWwvU0dNRAorQm93ZXMKK2Jvd2xpbmUvU00KK2Jvd3Nwcml0L01TCitib3ctdGllL1NNCitib3gvRFoyUlM2R00KK2JveHdvb2QvU00KK2JyYWNraXNoL1AKK2JyYWN0ZWF0ZQorYnJhZS9TTVEKK2JyYWluc3Rvcm0vU01ERworYnJhaW5zdG9ybWluZy9NCiticmFpbnRlYXNlci9TCiticmFpbndhc2hlci9NCiticmFuL1NER00KK2JyYW5kZWQvVWEKK2JyYW5kZXIvZAorYnJhbmRpc2gvU0dECiticmF3bmluZXNzL1MKK2JyZWFkZnJ1aXQvTVMKK2JyZWFrZXIvU00KK2JyZWFrcG9pbnQvREdNUworYnJlYXRoaW5nL00KK2JyZWNjaWFzCiticmV2ZS9NUworQnJpYW4vTQorYnJpY2svU00KK2JyaWNrLXJlZAorYnJpZGdlaGVhZC9TTQorYnJpZWZpbmcvTQorQnJpZ2hhbS9NCiticmlnaHRuZXNzL1MKK2JyaW5pbmVzcy9TCiticmlvY2hlL1NNCiticm9hY2hlci9NCiticm9rZS9SRworYnJvbnRvc2F1ci9TTQorYnJvb2RtYXJlL1NNCiticm9vay9EU01HCiticm90aGVybHkvUAorYnJvdGhlcnMtaW4tbGF3CitCcm93bmUvTQorQnJvd25pYW4KK0JyeWFudC9NCitidWJibGUvR1lTTUQKK2J1Ym9lcworYnVib25pYworQnVjaGFuYW4vTQorYnVja3JhbS9kTVMKK0J1ZGQvTQorYnVkZHkvTVNHRAorYnVkZ2UvREdTCitidWRnZXJpZ2FyL01TCitidWdneS9NVFMKK2J1bGltYXJleGlhL1MKK2J1bGwvR1lTTUQKK2J1bGxmaWdodGluZy9NCitidWxsaGVhZC9oTURTaQorYnVsbGhlYWRlZG5lc3MvUworYnVsbGlzaG5lc3MvUworYnVtcGluZXNzL1MKK2J1bmRsZS9VREcKK2J1ci9ER1NZTQorYnVyZGVuc29tZS9QWQorYnVyZ2xhcnkvU00KK2J1cmd1bmR5L1MKK0J1cmsvTQorQnVycm91Z2hzCitCdXJ0L00KK0J1c2hpZG8vTQorYnVzaW5lc3NwZW9wbGUKK2J1c2svTVJHCitidXN0L1JHWlNNRAorYnVzdGVkL0YKK2J1c3RsZS9rU0dECitidXR0ZXJtaWxrL00KK2J1dHRlcnkvVFMKK2J1dHlyYXRlL00KK2J1eG9tL1kKK2J4CitieWUtbGF3L1NNCitieXJlL1NNCitieXN0YW5kZXIvTVMKK2J5d2F5L1NNCitjYWJhcmV0L1NNCitjYWNoZXBvdC9NUworY2FjaGVyCitjYWRyZS9TTQorY2FkdWNlaQorY2Fm6S9NUworY2FpdGlmZi9NUworY2FsaWZvcm5pdW0vTQorQ2FsaWd1bGEKK2NhbGlwaC9TTQorQ2FsbGFoYW4vTQorY2FsbGlncmFwaHkvUzNNVworY2FsbG93L1BUCitjYWx1bW5pYXRvci9TTQorY2FsdmUvREdTCitjYWx5eC9TTQorY2FtYml1bS9NUworY2FtY29yZGVyL1MKK0NhbWVsb3QKK0NhbWlsbGUKK2NhbXBhaWduL01SRFNHCitDYW1wYmVsbC9NCitDYW5hZGlhbi9TCitjYW5jZWxsYXRpb24vTQorY2FuY2Vscy9LCitjYW5kbGVsaWdodGVyCitjYW5keS9TR01ECitjYW5rZXJvdXMKK2Nhbm5pYmFsL01ROFNxLQorY2Fubm9uYmFsbC9TRE1HCitDYW5vZ2EKK2NhbnRvci9TTQorY2FudHMvQQorQ2FwaXN0cmFubworY2FwaXRhL29uTQorY2FwaXRhbGlzaW5nL2MKK2NhcHBpbmcvTQorY2FyYXZhbnNhcnkvU00KK2NhcmJvbGljCitjYXJkYm9hcmQvU00KK0NhcmRpZ2FuL00KK0NhcmRpbgorY2FyZWVyaXN0CitjYXJlZnJlZQorY2FyZ29lcworY2FyaWNhdHVyaXphdGlvbgorQ2FyaW5hCitDYXJsYQorQ2FybGV0b24KK2Nhcm5hdGlvbi9NSVMKK0Nhcm5lZ2llL00KK2NhcnJlbC9TTQorY2FycmlhZ2UvYVNNZgorY2FycnktYWxsL1NNCitjYXJyeS1jb3QvU00KK0NhcnRoYWdlCitjYXJ0d2hlZWwvUkdNRFMKK0Nhc3BhcgorY2Fzc29jay9TTUQKK2Nhc3Nvd2FyeS9NUworY2FzdGlnYXRvci9NUworY2FzdHJhdGlvbi9NCitjYXN1aXN0cnkvTVMKK0NhdGFsYW4KK0NhdGFsaW5hCitjYXRlY2hpc2UvU0dECitjYXRlbmF0ZS9GTgorY2F0ZmlzaC9TTQorY2F0aG9saWMvTQorY2F0bmlwL1NNCitDQVRWCitDYXVjYXNpYW4vUworY2F1c2F0aW9uL00KK2NhdXRpb3VzbmVzcydzCitjYXZpbmcvTQorY2F2aXRhdGlvbgorQ2F5dWdhL00KK2NlYXNlbGVzcy9QWQorQ2VjaWxpYQorY2VsZWJyYXRvci9TTQorY2VsbHVsb3NlL01TCitDZWx0L1cKK2NlbnRyaWZ1Z2FsL1NZCitjZXJlYnJhdGUvU0RHCitjZXJlbW9uaWFsL1MKK2NlcmVtb25pb3VzL1VZCitjZXJ0YWluZXIKK2NlcnRpZmllcy9DQQorY2VydWxlYW4vTVMKK2NlcnZpY2FsCitjZXNzaW9ucy9GCitjaGFmZi9NR1NECitjaGFpci9NR201U0QKK2NoYWlybGFkeS9NCitjaGFtYmVybWFpZC9NUworY2hhbXAvREdTCitjaGFtcGFnbmUvU00KK2NoYW1wZXJzCitjaGFtcGlvbi9TR0RNCitjaGFuY2UvRFMyTVpHeQorY2hhbmNlbC9TTQorY2hhbmNlbGxvcnNoaXAvTVMKK2NoYW5jZXIKK0NoYW5nCitjaGFuZ2VhYmxlbmVzcy9TTQorY2hhbmdlZC9VCitjaGFudC9NUkRHU0oKK2NoYXB0ZXIvZFNNCitjaGFyaW5lc3MvUworY2hhcmlzbWF0aWNzCitjaGFyaXR5L1NNCitDaGFybG90dGV0b3duCitjaGFydHJvb20vUworY2hhc2UvUkRHUworY2hhc3Npcy9NCitjaGF0L0dTMk1aRHoKK2NoZWVzZWJ1cmdlci9NUworQ2hlbG1zZm9yZAorQ2hlbHNlYS9NCitjaGVtLzMKK2NoZW1pbHVtaW5lc2NlbmNlL00KK0NoZXJpZQorQ2hlcm9rZWUvUworQ2hlc2hpcmUvTQorY2hnZQorY2hpL00KK2NoaWFudGkvTQorY2hpbGxpL00KK2NoaW4td2FnL0dECitDaGlzaW5hdS9NCitjaGxvcm9waHlsbC9TTQorY2hsb3JvcGxhc3QvU00KK2Nob2NrL0RHU00KK2Nob2NrZXIKK2Nob2NrLWZ1bGwKK2Nob2tlcy9NCitjaG9sZXN0ZXJvbC9TTQorY2hvbGluZS9NCitDaG9uZHJpY2h0aHllcworY2hvb3N5L1QKK2Nob3JhbAorY2hvcmVhL1NNCitDaHJpc3RpCitDaHJpc3RtYXMvTVMKK0NocmlzdG9waGVyL00KK2Nocm9tYS9NMQorY2hyb21hdGUvTQorY2hyb21hdGluL01TCitjaHJvbW9zb21lL1NNCitjaHJ5c2FudGhlbXVtL01TCitjaHVyY2gvbU1HNVNEWQorY2h1cmwvTVMKK2NpY2FkYS9TTQorY2ljYXRyaXgvTQorY2lnYXJpbGxvL1NNCitjaXBoZXIvTWRTCitjaXJjdWxhdGUvR3lORFNuVgorY2lyY3VtZmVyZW50aWFsL1kKK2NpcnF1ZS9TTQorY2lycmhvc2lzL00KK2NpdGFibGUKK2NpdGVzL0kKK2NpdHJvbmVsbGEvU00KK2NpdHJvdXMKK2NpdHlzY2FwZS9TTQorY2l2aWxpYW4vU00KK2NpdmlsbHkvVQorY2svQworY2xhZGRpbmcvTQorY2xhc2gvREdTCitjbGFzcy8yR1pETXdwUzEKK2NsYXNzZXMvZQorY2xhc3NpZnkvUjdEU25HTgorQ2xhdWRpYQorY2xlYW5pbmcvTQorY2xlYW5saW5lc3MvVQorY2xlYW5zL0RSU0cKK2NsZWFuLXVwL01TCitjbGVhci9UUFNZR0pECitjbGVhci1zaWdodGVkCitjbGVmdC9ER1NNCitDbGVtZW5jZWF1CitjbGVtZW50L0lZCitjbGllbnQvTVMKK2NsaWVudOhsZS9NCitjbGltYXgvTUdEUworY2xpbmljL1lTTQorY2xpbmtlci9kCitjbGl0b3JhbAorY2xvbmUvR0RNUlMKK2Nsb3Nlcy9FCitjbG9zZS1zZXQKK2Nsb3N1cmUncy9FCitjbG90aC9ER0pTTQorY2x1Yi9HU01ECitjbHVtcC9EWlNHTQorY2x1bXN5L1RZUAorQ20KK2NvYWxtaW5lcnMKK2NvY2hpbmVhbC9TTQorY29jaGxlYWUKK0NvY2hyYW4vTQorY29jay1maWdodGluZy9NCitjb2Nrc2NvbWIvTVMKK2NvY2tzdWNrZXIvUworY29ja3N1cmUKK2NvZGVjL1NNCitjb2Rld29yZC9TTQorY29kaWNlcy9NCitjb2RsaW5nL00KK2NvZXJjaW9uL1NNCitjb2ZmZWUtY2FrZS9NUworY29mZmVlLXBvdC9NUworY28tZm91bmQKK2NvZ25pc2FudAorY29nbml6YW50L0EKK2NvaGVyZXIvTQorY29oby9TCitjb2l0dXMvTVMKK2NvbGQtaGVhcnRlZAorQ29sZXJhaW5lL00KK2NvbGVzbGF3L1NNCitjb2xpYy9aU00KK0NvbGluCitjb2xsZWN0YWJsZS9TCitDb2xsaW5zCitjb2xsb2lkL01vUworQ29sb3JhZG8vTQorY29sb3NzdXMvTQorY29sb3VyLWJsaW5kL1AKK0NvbWFuY2hlCitjb21iaW5hYmxlCitjb21ldC9NUworY29tZXRoCitjb21tCitjb21tZW5zdXJhYmxlL0kKK2NvbW1lbnN1cmF0ZS9ZSQorY29tbWVudGF0b3IvU00KK2NvbW1vbi9ZUFNyCitjb21tb24tcm9vbS9NCitjb21tdW5pcXVlL1MKK2NvbXBhcmFibGUvUAorY29tcGF0aWJseS9JCitjb21wZW5kaW91cworY29tcGV0ZW50L0lZCitjb21wbGFpbmluZy9VWQorY29tcGxldGVkL1UKK2NvbXBsZXRpb24vU00KK2NvbXBvcnQvTAorY29tcG9zaXRlL1NZCitjb21wcmVoZW5zaXZlL1BTCitjb21wcmVzc2libGUvSQorY29tcHRyb2xsZXIvU00KK2NvbXJhZGVsaW5lc3MKK0NvbmFuCitjb25jYXRlbmF0ZS9uRFNHCitjb25jYXZlL1kKK2NvbmNlbnRyYXRlL1NHTm5WRAorY29uY2VudHJpYy9ZCitjb25jaWxpYXRlL25HVnlOCitjb25jaWxpYXRpb24vTUEKK2NvbmNpc2VuZXNzL1MKK2NvbmNsdXNpdmUvSVBZCitjb25jbHVzaXZlbmVzcy9JUworY29uY29jdGlvbi9TTQorQ29uY29yZGUvTQorY29uY3ViaW5lL01TCitjb25jdXBpc2NlbmNlL01TCitjb25kaXRpb25hbGl0eQorY29uZG9uZS9ER1MKK2NvbmR1Y3RhbmNlcworY29uZmVjdGlvbmlzdAorY29uZmlzY2F0b3IvU00KK2NvbmZsaWN0L2tTTVZERworQ29uZnVjaWFuaXNtCitjb25mdXNlZC9QCitjb25nZXIvU00KK2NvbmdyYXR1bGF0aW9uL00KK2NvbmdyZXNzcGVvcGxlCitjb25uZWN0cy9FQQorY29ubmVyCitDb25uaWUKK2Nvbm51YmlhbC9ZCitjb25xdWVyZWQvVQorY29uc2FuZ3VpbmVvdXMvWQorY29uc2NyaXB0aW9uL1NNCitjb25zZXJ2YW5jeS9NUworY29uc2lkZXJhdGlvbi9BUworY29uc29saWRhdGVzL0EKK2NvbnNvbW3pL1MKK2NvbnNvbmFudGFsCitDb25zdGFudGluZS9NCitjb25zdGl0dXRpdmUvWQorY29uc3VsYXRlL1NNCitjb25zdWx0YXRpb24vTQorY29uc3VsdGF0aXZlCitjb25zdWx0ZWUvU00KK2NvbnRlbXBvcmFyaW5lc3MvUworY29udGVtcHRpYmlsaXR5Citjb250ZXh0dWFsL1EtcTgKK2NvbnRpZ3VpdHkvTVMKK2NvbnRpZ3VvdXMvUFkKK2NvbnRpbmVudGFsL1MKK2NvbnRpbnVhbmNlL0VTTQorY29udGludWl0eS9FU00KK2NvbnRpbnVvdXMvWUUKK2NvbnRyYWRpc3RpbmN0aW9uL1NNCitjb250cmFmbG93L1MKK2NvbnRyYXZlbnRpb24vTVMKK2NvbnRyZXRlbXBzL00KK2NvbnRyaWJ1dG9yL01TCitjb252ZWN0aW9uL1NNCitjb252ZXJ0ZWQvVUEKK2NvbnZleS9EN1NHCitjb252b2x1dGUvRFkKK2Nvb2xuZXNzL1MKK2NvLW9wZXJhdGlvbi9NCitjby1vcGVyYXRvci9NUworY28tb3B0L05WRworY28tb3JkaW5hdG9yL1NNCitjby1vd25lcnNoaXAKK2NvcGlsb3QvU00KK0NvcHBlcmZpZWxkCitjb3BwZXJoZWFkL01TCitjb3Byb2Nlc3Nvci9TCitjb3BzL0RTRworY29wdGVyL1NNCitjb3B1bGF0aW9uL00KK2NvcHljYXQvU01ERworY29xdWV0dGlzaC9ZCitjb3JkbGVzcworY29yZCdzL0YKK2NvLXJlc3BvbmRlbnQvU00KK0NvcmludGhpYW4vUworY29yay9EUkdNUworY29ya3MvVQorY29ybW9yYW50L1NNCitDb3JuZWxpdXMKK0Nvcm53YWxsL00KK2NvcnBvcmF0ZS8zU1kKK2NvcnB1bGVudG5lc3MvUworY29ycmVjdGFibGUvVQorY29ycmVjdGl2ZS9TCitjb3JyZWxhdG9yL1NNCitjb3Jyb2JvcmF0aW9uL00KK0NvcnRsYW5kCitjb3NpZ24vUlNERworY28tc2l0ZQorY29zbW9wb2xpdGFuL01TCitjb3N0aXZlL1AKK2Nvc3kvWVRQCitD9HRlCitjb3RpbGxpb24vTVMKK2NvdWdhci9TTQorY291bGQKK2NvdWxvbWIvU00KK2NvdW50ZW5hbmNlJ3MKK2NvdW50ZXJhY3QvREdWUworY291bnRlcmFjdGlvbi9TTQorY291bnRlci1jbG9ja3dpc2UKK2NvdW50ZXJmbG93Citjb3VudGVyLWludHVpdGl2ZQorY291bnRlcnNpZ24vRFNHCitjb3VudGVyc3B5L1NNCitjb3VudGVyLXRlcnJvcmlzbQorY291bnRsZXNzL1kKK2NvdW50eS9NCitjb3Vw6S9TTQorY291cGxlL0RSQ1NHSgorY291cnRlc3lpbmcKK0NvdmVudAorY292ZXJzJ3MKK2NvdmV0L2RTaworY293aGVyZC9TTQorY293LWxpY2svU00KK2Nvd3BveC9NUworY28td3JpdGVyCitjb3dzbGlwL1NNCitjb3hzd2Fpbi9HU01ECitjb3lwdS9TTQorQ1BBCitjcGQKK2NyYWJieS9UCitjcmFja2FibGUvVQorY3JhZGxpbmcvTQorY3JhbS9HU0QKK2NyYW1wb24vTVMKK2NyYW5rL0RUWlNHTTJ6CitjcmFwcHkvVAorY3JhdmVuL2RQWQorY3JhdmluZy9NCitjcmF3bHdheQorY3JlYXRpdmUvUAorY3JlZGlibGUvWUkKK2NyZWRpdHdvcnRoaW5lc3MKK2NyZWVrL1NNCitDcmV0YW4KK2NyZXRpbmlzbS9TTQorQ3JldXR6ZmVsZHQKK2NyZXdlbHdvcmsvTVMKK0NyaW1lYW4KK2NyaXBwbGUvUkdrRFNNCitjcmlzZXMKK2NyaXRlcmlhCitjcm9hay9SRFpTRworY3Jvb2tlZGVzdAorQ3Jvb2tlcworY3Jvb24vR1NSRAorQ3Jvc2J5Citjcm9zc2Jhci9NU0RHCitjcm9zc2VzdAorY3Jvc3NvdmVyL01TCitjcm9zc3BpZWNlL1NNCitjcm93ZCdzCitjcm93bmVkL1UKK2Nyb3duZXIvTQorQ3JveWRvbi9NCitDUlQvUworY3J1c3QvTUdaelMyRAorY3J5cHRhbmFseXN0L00KK2NyeXN0YWxsaXplcy9BCitDU1AKK2N1Yi9kV3czU0QxR00KK2N1Y3VtYmVyL01TCitjdWVpbmcKK2N1bGxlci9NCitjdWx0L1NNMworY3VsdGl2YXRlL05HU25ECitjdWx0aXZhdGVkL1UKK0N1bWJyaWFuL00KK2N1bXF1YXQncworQ3VubmluZ2hhbS9NCitjdXBjYWtlL1NNCitjdXBpZGlub3VzbHkKK2N1cHJvdXMKK2N1cmF0aXZlL1MKK2N1cmRsZS9HU0QKK2N1cmUvUworY3VyaWUvTVMKK2N1cnJpY2xlL00KK2N1cnNlZC9QCitjdXJ0bmVzcy9TCitjdXNwaWRhbAorY3Vzcy9EaGlTR00KK2N1c3RvbS9zUS05TXI4cVN0KworY3V0L1JTR0pNCitjdXRiYWNrL1NNCitjdXRlbmVzcy9TCitjdXR3b3JtL1NNCitjeWJlcm5ldGljaWFuCitDeWNsYWRpYworY3ljbGUvRDNTV0d3TTEKK2N5Y2xpbmcncworY3lnbmV0L1NNCitDeXByaW90L1NNCitDeXJpbAorQ3lyaWxsaWMKK2N5dG9zaW5lL1NNCitjemFyaXNtL00KK0N6ZWNoL00KK2RhYmJlci9NCitkYWJibGUvRFJTRworRGFjaGF1CitkYWN0eWxpYworZGFlbW9uL1NXTQorZGFmZmluZXNzL1MKK2RhZnRuZXNzL1MKK2RhZ3VlcnJlb3R5cGUvU01ERworZGFpcnkvbTVNU0cKK2RhaXN5LWN1dHRlci9TCitEYWx0b24KK0RhbmJ1cnkKK2RhbmRlci9TZE0KK2RhbmRsZS9EU0cKK0RhbmllbHNvbgorRGFudWJlCitkYXJlZGV2aWwvU3lNCitkYXJraXNoCitkJ2FydAorRGFydG1vdXRoCitkYXNoYm9hcmQvU00KK2RhdGEvTQorZGF0YWJsZQorZGF0YWZpbGUKK2RhdHVtL01TCitEYXVnaGVydHkvTQorRGF2aWQvTQorRGF2eS9TCitkYXdkbGUvRFJTRworZGF5YnJlYWsvU00KK0RCRQorZGVhZC9QVFkKK2RlYWRseS9QVAorZGVhbHQvYQorRGVhcmJvcm4KK2RlYXJ0aC9TTQorZGViYXVjaGVlL01TCitkZWJpbGl0YXRlL1NOR25ECitkZWNhZGVuY3kvUworZGVjYW1wL0dMCitkZWNlYXNlL0tTR0QKK2RlY2VsZXJhdGUvbkRTTkcKK2RlY2VubmlhbC9ZUworZGVjZW50L1lJCitkZWNpbWFsL1E4WS1xU00KK2RlY2ltYXRlL05EU25HCitkZWNsYXJhYmxlCitk6WNvbGxldGFnZS9TCitkZWNvcmF0ZXMvY0EKK2RlY29yb3VzbmVzcy9TCitkZWNvcnRpY2F0aW9uL00KK2RlZGljYXRlZC9ZCitkZWUvTQorZGVlZCdzL2EKK2RlZXJzdGFsa2VyL1NNCitkZWZhY2UvUkwKK2RlZmVhdGlzdAorZGVmZW5zaWJsZS9JWQorZGVmaW5hYmx5L0kKK2RlZmluaXRpb24vS0FNUworZGVmbGVjdG9yL01TCitkZWZvZy9SCitkZWZ0L1BUWQorZGVnZW5lcmF0ZS9ZUAorZGVncmVlZAorZGVoeWRyb2dlbmF0ZQorZOlq4AorRGVsaWEvTQorZGVsaWJlcmF0aXZlL1AKK2RlbGl2ZXJ5L20KK2RlbHBoaW5pdW0vU00KK2RlbHVnZS9HU0QKK2RlbWVudGlhL1NNCitkZW1vY3JhdC9xUTgxLVdTTQorZGVuL1pEU0dNCitkZW5pZ3JhdGUvblZHU05ECitEZW5ueQorZGVub3VuY2UvRExTR1IKK2RlbnRpbmUvTQorZGVudHVyZS9TSU0KK2RlbnVjbGVhcmlzZS9TREcKK2Rlb2RvcmlzZS9uR1JTRAorZGVvZG9yaXplL25HUk5TRAorZGVwZW5kZW50L2NJCitkZXBvc2l0L0FkUworZGVwdXRlL1NuUThOR0RaCitkZXJhaWwvTAorZGVyZWxpY3QvUworZGVyaWRlL05YdmtWdUQKK2Rlcml2YXRpb24vTQorZGVycmljay9TREdNCitkZXNjcnkvREdTCitkZXNpY2NhbnQvUworZGVzaXJhYmlsaWEKK2Rlc2lyYWJseS9VCitkZXNrdG9wL1MKK2Rlc29sYXRlbmVzcy9TCitkZXNwaXRlCitkZXNwb25kZW5jeS9TTQorZGVzdGlnbWF0aXphdGlvbi9NCitkZXN0aW5hdGlvbi9NSworZGVzdGl0dXRlL1AKK2RldGFpbmVlL1MKK2RldGVjdC9ER1NCVmwKK2RldGVjdGFibGUvVQorZGV0ZXJtaW5lcy9LQQorZGV0b25hYmxlCitkZXRveGlmaWNhdGlvbi9NCitkZXRveGlmeS9HbkRTTgorZGV0cmliYWxpemUvRFNHCitEZXRyb2l0CitkZXV0ZXJpdW0vTQorZGV2ZWxvcGVkL1VmCitkZXZlbG9wbWVudGFsL1kKK2Rldm9sdmUvU0dECitEZXZvbi9NCitkZXcvWkdTMk0KK2Rld2luZXNzL1MKK0Rld2l0dAorZGV3bGFwL1NNCitEaGlyaQorZGlhZXJlc2VzCitkaWFnbm9tZXRlci9TTQorZGlhZ25vc2lzJ3MKK2RpYWdyYW0vUkRHTVMKK2RpYWdyYW1tYWJsZQorZGlhbC9SU01HRAorZGljdGF0b3JzaGlwL01TCitkaWVsZWN0cmljL1NNCitkaWZmZXJlbmNpbmcKK2RpZmZlcmVudG5lc3MKK2RpZmZlcmVyL1MKK2RpZmZ1c2lvbi9NCitkaWZmdXNpdmUvUAorZGlnL1JTSkcKK2RpZ2l0YWwvLXFROXM4WQorZGlncmVzc2l2ZS9QCitkaWxhdGlvbi9NCitkaWxhdG9yeS9QCitkaWxldHRhbnRlL01TCitEaWxsaW5nZXIKK2RpbmUvUworZGluZ28vTVMKK2Rpbmd5L1RTUAorZGlvY2VzYW4vUworRGlvZ2VuZXMKK2Rpb3hhbGF0ZQorZGlwL0RSR1NaCitkaXBsb2lkL1MKK2RpcGxvbWFjeS9TTQorZGlwbG9tYXRpYy9VCitkaXBsb21hdGlzdAorZGlwdHljaC9NCitkaXJlY3RpdmUvU00KK2RpcmVjdG9ycy9hCitkaXJpZ2libGUvUworZGlzYWJsZS9MR1NEUgorZGlzYnVyc2VyL00KK2Rpc2MvU00KK2Rpc2Nlcm5lci9NCitkaXNjaXBsZS9NR0RTCitkaXNjbG9zdXJlCitkaXNjcmV0aW9uL0lNUworZGlzY3JpbWluYWJsZQorZGlzZGFpbmZ1bC9QCitkaXNncnVudGxlL0xTREcKK2Rpc2hhcm1vbmlvdXMKK2Rpc2hldmVsL0RHTFMKK2Rpc2luZmVjdGFudC9TTQorZGlzbWlzcy92UgorZGlzcGVyc2FsL1NNCitkaXNwdXRhdGlvdXMvWQorZGlzcmVnYXJkLzYKK2Rpc3JlcHV0YWJsZS9QCitkaXNydXB0L3VHVlNEdgorZGlzc2VjdC9HRAorZGlzc2VtYmxlL0RTUkcKK2Rpc3RhZmYvU00KK2Rpc3RhbmNlcy9lCitkaXN0aW5ndWlzaC9TN0RsRworZGlzdG9ydC9EUkc3CitkaXN0dXJiYW5jZS9TTQorZGlzeWxsYWJsZS9NVworZGl0Y2hlci9NCitkaXR6L1MKK2RpdXJlc2lzL00KK2RpdmluaXR5L1NNCitkaXZpc2lvbidzCitEaXhvbi9NCitEamlib3V0aS9NCitETEEKK2RvY2tldC9TZE0KK2RvZy1lYXQtZG9nCitkb2dmaXNoL01TCitEb2dnZXR0L00KK2RvZ3Nib2R5L00KK2RvZy10aXJlZAorRG9oYS9NCitkb2xseS9ER01TCitEb2xvcmVzCitkb21pbmVlci9Ea1NHCitEb25lZ2FsL00KK0Rvbm5hCitkb25uaXNoL1lQCitkb29tL1NER00KK2Rvb21zZGF5L01TCitkb3MvZFNERworRG9zdG9ldnNreQorZG91YmxlLWJhcnJlbGxlZAorZG91YmxldC9TTQorZG91YmxpbmcvQQorZG91Z2gvTVpTCitkb3VzZXIvTQorZG92ZWxpa2UKK2RvdmV0YWlsL01HRFMKK2Rvd2R5L1BUWQorZG93bmxhbmQvUworZG93bmxvYWQvQkdEUworRG95bGUKK2RvemUvU1pERworZG96ZW4vUworRHIKK0RyYWN1bGEvTQorZHJhZnQvY1NBCitkcmFmdGluZworZHJhZnQncy9jCitkcmFnb25mbHkvTVMKK2RyYWtlL01TCitkcmFtYXRpYy9TCitkcmFwZXJ5L1NNCitkcmF1Z2h0L3ptNTJTWgorZHJldy9BY2UKK2RyaWxsbWFzdGVyL01TCitkcmluay1kcml2aW5nCitkcmlwL0pTWk1ERworZHJpdmUvUkpTRworZHJpdmVuCitkcml6emx5L1QKK2Ryb2xsL1lUUAorZHJvcC1mb3JnaW5nCitkcm9zb3BoaWxhL00KK2Ryb3NzL01TCitkcm93bi9HSkRTCitkcnVtL1JTREdNCitkcnVuay9UTVNZCitkcnkvU0dURFJZCitkJ3MvQQorZHVjay1iaWxsZWQKK2R1Y2tsaW5nL1NNCitkdWN0bGVzcworZHVkL1NNCitkdWVubmEvU00KK2R1ZXQvU0RNRworRHVmZnkKK2R1a2UvU00KK0R1bGxlcworRHVtYXMKK2R1bW15L1NHRE0KK0R1bmJhcnRvbnNoaXJlL00KK0R1bmRlZS9NCitEdW5lZGluL00KK0R1bmdhbm5vbi9NCitkdW5rL0dEUworZHVvZGVjaW1hbC9TCitkdXBpb24vTQorZHVwbGV4L1NNREcKK2R1cmFibGUvU1BZCitkdXNreS9QVAorZHdlbGxzL0kKK0R5ZmVkLVBvd3lzCitkeWluZy9VCitEeWxhbi9NCitkeW5hbWlzbS9TTQorZHlzZnVuY3Rpb24vb1NNCitlYWdlci9NWVAKK2VhZ2xlLWV5ZWQKK0VhbGluZworZWFybGRvbS9TTQorZWFybXVmZi9TTQorZWFyc2hvdC9NCitlYXItc3R1ZC9NUworZWFydGgvTVpZMkRHCitlYXJ3aWcvR1NETQorRUJDRElDCitlYnVsbGllbmNlL1NNCitlY2hvaWMKK2VjbGlwdGljL01TCitlY29sb2d5L3dTM00xCitlY29ub21pY3MvTQorZWNydS9NCitlY3VtZW5pc20vU00KK2VkZHkvREdNUworZWRlbHdlaXNzL00KK0VkZ2FyL00KK0VkZ2Jhc3RvbgorZWRpZnlpbmcvVQorZWR1Y2FibGUvUworZWR1Y2F0ZS9ER0FOUworRUVPQworZWVyaW5lc3MvU00KK2VmZmFjZS9MRFNHCitlZmZlY3R1YWwvUElZCitlZmZlbWluYWN5L01TCitlZmZpY2FjaW91cy9ZSVAKK2VmZmljaWVuY3kvTUlTCitlZmZsb3Jlc2NlCitlZmZvcnRsZXNzbmVzcy9TCitlLmcuCitlZ2FsaXRhcmlhbmlzbS9TTQorZWdvdGlzdC9XUzFNdworZWdyZWdpb3VzbmVzcy9TCitlaWdlbnN0YXRlL1MKK2VpZ2VudmFsdWUvTVMKK2VpZ2h0eS1maXJzdC9TCitFS0cKK2VsYWJvcmF0ZS9QRFNHbllWTgorZWxhYm9yYXRpb24vTQorZWxhc3RpY2l0eS9TTQorZWxhdGlvbi9NCitlbGRlcmx5L1NQCitlbGVjdG9yYWwvWQorZWxlY3Ryb2x5dGUvTVMxCitlbGVtZW50YWwKK2VsZi9NCitlbGltaW5hdG9yL01TCitFbGlzYWJldGgvTQorRWxpemFiZXRoL00KK0VsbGUKK2VsbGlwc29tZXRlci9NUworZWx1dGUvREcKK2VsdmVuCitFbHZpcy9NCitlbHZpc2gKK0Vsd29vZC9NCitlbHlzaWFuCitlbWJlenpsZS9ETFJTRworZW1ib3VjaHVyZS9NUworZW1icmFjZXIvTQorZW1icm9jYXRpb24vTVMKK2VtYnJ5by9TTQorZW1lcmdlbmN5L1NNCitlbWlzc2lvbi9NCitlbW90aW9uL3BNUworZW1wYXRoeS9RTThXUworZW1waGFzaXMvY2RBQ1FTCitlbXBoYXNpemluZy9BCitlbXBsb3llZS9TTQorZW1wdGllci9NCitlbXB0aW5lc3MvUworZW11bGF0aW9uL00KK2VuYWN0ZWQvQQorZW5hbW91ci9ER1MKK2VuY2VwaGFsaXRpcy9NCitlbmNvdXJhZ2UvTERTa0cKK2VuY3VtYnJhbmNlL1NNCitlbmN5Y2xvcGFlZGlhL1NNCitlbmRvY3Jpbm9sb2d5LzNTTQorZW5kb3JzZS9MUkRTRworZW5lcmdldGljcy9NCitlbmZvcmNlL1JiQkxER2hTCitlbmdpbmVlci9TREdNCitFbmdsaXNoLXNwZWFraW5nCitlbmdyb3NzL0xEU0doaworRW5uaXMKK0VucmljbworZW5yb2wvTERSU0cKK2Vuc25hcmUvU0RMRworZW5zdXJlL0RSR1MKK2VudGVyaXRpZGVzCitlbnRoYWxweS9NUworZW50aHJhbC9HRExTCitlbnRodXNpYXNtL1NNCitlbnRodXNpYXN0L1NXTTEKK2VudHJhbnQncworZW50cmVjaGF0L1MKK2VudHJlcPR0L1MKK2VudHJlcHJlbmV1cmlhbAorZW51bWVyYXRlcy9BCitlbnZpb3VzL1BZCitlcGhlbWVyYS9TTW8KK2VwaWN5Y2xvaWQvTQorZXBpZ3JhbS9NUworZXBpZ3JhcGhlci9NCitlcGlwaGVub21lbmEKK2VwaXN0b2xhcnkvUworZXBpdGF4eS9NbworZXBpdGhlbGlhbAorZXBvY2hzCitlcG9ueW1vdXMKK2VxdWFsaXNlZC9VCitlcXVlc3RyaWFuL1MKK2VxdWlwYXJ0aXRpb24vTQorZXF1aXRhYmx5L0kKK2VxdWl0YXRpb24vTVMKK2VxdWl2b2NhbC9VWQorZXJhc2UKK0VyYXNtdXMKK2VyZWN0aW5nCitlcmVjdGx5CitlcmdvZGljCitlcmdvZGljaXR5L00KK2VyZ29ub21pY2FsbHkKK0VyaWsvTQorRXJuaWUKK0VybnN0Citlcm9zaWJsZQorZXJvdGljL1lTCitlcm90aWNpc20vU00KK2Vyci9Ea1NHCitlcnJhbmN5L1NNCitlcnJpbmcvVVkKK0Vycm9sCitlcnNhdHovUworZXJzdAorRXJ2aW4KK2VzY2FwYWJsZS9JCitlc2NhcGUvM1NETEcKK2VzY2hhdG9sb2d5L00KK2VzY29ydC9TR01ECitlc2NvcnRlZC9VCitlc290ZXJpY2EKK0VzcG9zaXRvL00KK2VzcHkvREdTCitlc3F1aXJlL1NNCitFc3Nlbi9NCitlc3RhYmxpc2hpbmcvQQorRXN0ZWxsYS9NCitldGNoYW50CitldGhpY2FsbmVzcy9NCitldGhub2NlbnRyaXNtL1NNCitldGlxdWV0dGUvU00KK0V1Y2xpZAorRXVnZW5lCitldWdlbmljL1kzUworZXVsb2dpc2VkL1UKK0V1c3RhY2hpYW4KK0V2YQorZXZhbHVhdGVzL0EKK2V2YW5nZWxpY2FsL1MKK2V2YW5nZWxpc20vU00KK2V2YXBvcmF0b3IvU00KK2V2ZXItY2hhbmdpbmcKK0V2ZXJlc3QKK0V2ZXJ0b24KK0V2ZXJ5bWFuCitldmlsZG9lci9NUworZXZpbmNlL1NERworZXZvY2F0aW9uL00KK2V4YW1pbmFibGUvQQorZXhhc3BlcmF0aW9uL00KK2V4Y2l0YWJsZS9QCitleGNyZW1lbnQvU00KK2V4Y3JldGlvbi9NCitleGVjcmFibGUvUFkKK2V4ZWN1dHJpY2VzCitleGVnZXNlcworZXhlcmNpc2UvUlNCR0QKK2V4ZXJjaXNlZC9jCitleGlnZW5jZS9aUworZXhpZ3VvdXMKK2V4aXN0ZW5jZS9TRk0KK2V4cGFuc2lvbmlzbS9NUworZXhwYW5zaXZlbmVzcy9TCitleHBlY3RhbnQvU1kKK2V4cGVjdG9yYXRlL1NHTkRuCitleHBlZGl0b3IncworZXhwZXJpbWVudC9OUlNHTW9uRAorZXhwZXJ0L0lQWQorZXhwaWFibGUvSQorZXhwbGljaXRuZXNzL1MKK2V4cGxvcmUvU25EUk55RworZXhwbG9zaW9uL00KK2V4cG9zaXRpb24vTQorZXhwcmVzcy9TTnZidURHWVhWCitleHByZXNzZXIvTQorZXhwcmVzc2lvbmxlc3NuZXNzCitleC1zdHVkZW50cworZXh0ZW5zaWJsZS9JCitleHRlbnVhdGlvbi9NCitleHRyYW5lb3VzL1BZCitleHRyYXZhZ2FudC9ZCitleHRyYXZlcnQncworZXh0cmVtYQorZXh0cmluc2ljL1kKK2V4dHJ1ZGUvR05TRFhWCitleWVsYXNoL01TCitleWUtbGluZXIvTVMKK2V5ZXNvcmUvU00KK0ZhYmVyL00KK2ZhYnVsb3VzL1BZCitmYWNlcGxhdGUvTQorZmFjZXQvU2RNCitmYWNpbGUvWVAKK2ZhY2lsaXRhdGlvbi9NCitmYWN0b3JpbmcvTVMKK2ZhZy9TREdNCitmYWdnb3RpbmcvTQorRmFocmVuaGVpdAorZmFpbnQtaGVhcnRlZG5lc3MKK2ZhaXJseS9VCitmYWlyeWxhbmQvU00KK2ZhbGNvbi9TcnlNCitGYWxrbGFuZC9TTQorZmFsbG9mZi9TCitmYWxzaWZpY2F0aW9uL00KK2ZhbWVzL0MKK2ZhbWlseS9NUworZmFtaW5lL1NNCitmYW5jaWZ1bC9QCitmYW5jaW5lc3MvUworZmFuY3l3b3JrL1NNCitmYW5ueS9NUworZmFyZXIvTQorZmFyLWZldGNoZWQKK2Zhcm1oYW5kL1MKK2Zhcm1ob3VzZS9NUworZmFyc2VlaW5nCitmYXNoaW9uL1JTTURsN0cKK2ZhdGFsbmVzcworZmF0aG9tZWQvVQorZmF0c28vTQorZmF0dGluZXNzL1MKK2ZhdHVvdXNuZXNzL1MKK2ZhdWx0L0NTREdNCitGYXVzdAorZmF2b3VyYWJsZW5lc3MKK2Zhdm91cml0ZS9NUworZmF3bi9TUmtER00KK2ZheS9TTQorRkJJCitGREEKK2ZlYXJmdWxuZXNzL1MKK2ZlYXJzb21lL1BZCitmZWF0L1NDTQorZmVjdW5kYXRpb24vTQorZmVlYmxlL1RQWQorZmVlZC9HUlMKK2ZlaWduZWQvVQorZmVsbC9HU1RECitmZWxsb3ctdHJhdmVsbGVyL01TCitmZWxvbmlvdXMvUFkKK2ZlbmNlL1JTRE1KRworZmVuZC9DR0RSUworZmVyL0tMRkMKK2ZlcmFsCitmZXJtZW50L25ETkcKK2Zlcm5lcnkvTQorZmVydm91ci9NUworZmVzdGFsL1kKK2Zlc3Rpdml0eS9TTQorZmliL0RSU0cKK2ZpYnJpbGxhdGlvbi9NCitmaWJyaW4vU00KK2ZpY2h1L1NNCitmaWNrbGUvUFQKK2ZpZWxkc3RvbmUvTQorZmlmdGgvWQorZmlndXJlaGVhZC9TTQorZmlsYW1lbnQvU00KK2ZpbGlncmVlL0dNUworRmlsaXBpbm8vUworZmlsbGlwL01TCitmaWxtaW5nL00KK2ZpbmNoL1NNCitmaW5kYWJsZS9VCitmaW5lcnkvTVNBCitmaW5lLXR1bmUvU0RHCitmaW5nZXJib2FyZC9TTQorZmluaWNraW5lc3MvUworZmluaXNoZWQvVQorRmlubmlzaAorZmlyZS9hU0dECitmaXJlZGFtcC9TTQorZmlyZWZseS9TTQorZmlyZW1lbi9NCitmaXJlLXBvd2VyL01TCitmaXJzdC9TWQorZmlyc3QtcmF0ZQorRmlzCitmaXNoZXJ5L1NNCitmaXNobGlrZQorZmlzaHdpdmVzCitmaXNzaW9uLzdTTURHCitmaXN0ZnVsL01TCitmaXQvUlBUSlNHNllEak0KK2ZpdCdzL0FlYQorRml0endpbGxpYW0KK2ZpdmUtZm9sZAorZml2ZXIvTQorZml4YXRlL0RTblZHTgorZml4ZWQvUFkKK2ZpeGluZy9NUworZmpvcmQvU00KK2ZsYWcvbURHTUpTCitmbGFnZWxsYS9uTQorRmxhbmRlcnMKK2ZsYXAvU0dEUk0KK2ZsYXNoY3ViZS9TTQorZmxhc2svU00KK2ZsYXR0ZXJpbmcvVVkKK2ZsYXZvdXJzb21lCitmbGF5L0RSR1MKK2ZsZWNrL0dEU00KK2ZsZWVjZS9SRE1HWlMKK2ZsZWVjaW5lc3MvUworZmxlZXRuZXNzL1MKK2ZsZXhpYmx5L0kKK2ZsaW1zaW5lc3MvUworZmxpbnQvWlNHTUQycAorRmxpbnRvZmYKK2ZsaXBwYW5jeS9TTQorZmxpdC9TREcKK2Zsb2NjdWxhdGUvRFNORworZmxvZS9TTQorZmxvb2QvU0dNRAorZmxvb2RlcgorZmxvb3Jlci9NCitmbG9yYWwKK0Zsb3JpZGEvTQorZmxvdW5jeS9UCitmbG91ci9ETUdaUworZmxvdy9rUkdEUworZmxvd2VkL2MKK2Zsb3dlci9DU2QKK2Zsb3dlcnBvdC9NUworZmxvd3MvSWZlYworZmx1ZW50L1lGCitmbHVmZmluZXNzL1MKK2ZsdW5rZXkncworZmx1b3JvY2FyYm9uL01TCitmbHV4ZXMvSQorZm9hbS9EWlNNMkcKK2ZvZGRlci9TZE0KK2ZvZS9TTQorZm9nZXkKK2ZvZ3kvTVMKK2ZvbGstc29uZy9TCitmb2xsaWNsZS9TTQorZm9tZW50YXRpb24vTQorRm9udGFpbmVibGVhdQorZm9vdC9HU1JESmhpcE0KK2Zvb3RicmlkZ2UvU00KK2Zvb3Rub3RlL0dEU00KK2Zvb3RwYWQvU00KK0ZvcmJlcworZm9yYmlkZGVuCitmb3JjZWZpZWxkL1NNCitmb3JlZG9vbS9HU0QKK2ZvcmVmaW5nZXIvTVMKK2ZvcmVtYXN0L1NNCitmb3Jlbm9vbi9NUworZm9yZXNhaWwvU00KK2ZvcmVza2luL01TCitmb3Jlc3QvUk1EU3lObkcKK2ZvcmV2ZXJuZXNzCitmb3JnZS9TR0FECitmb3JnZXR0YWJsZS9ZVQorZm9yZ2l2ZW4vVQorZm9yZ2l2aW5nL1AKK2Zvcm1hbGluL00KK2Zvcm1hdGl2ZS9QSVkKK2Zvcm1hdGl2ZXMKK2Zvcm1lZC9LNENBVQorZm9ybWVyL1NDNEZBSQorZm9ybWluZy9LNAorZm9ybWxlc3NuZXNzL1MKK0Zvcm1vc2EKK2Zvcm1zL0FLQzQKK2Zvcm11bGF0b3IvU00KK2ZvcnNvb2sKK2ZvcnRoCitmb3J0aHJpZ2h0bmVzcy9TCitmb3J0bmlnaHQvTVlTCitmb3J0dWl0eS9TTQorZm9yd2VudAorZm9zc2lsaWZlcm91cworZm91bmRzL0YKK2ZveWVyL01TCitmcHMKK2ZyYWN0aW9uYWwKK2ZyYWN0dXJlL0RTTUcKK2ZyYWlsbmVzcy9TCitGcmFua2Vuc3RlaW4KK0ZyYW5rZm9yZAorZnJhdGVybmlzZS9SblNHRAorZnJhdGVybml6ZS9OblNHCitmcmF5J3MKK2ZyZWFreS9UCitmcmVja2xlL0dNRFNZCitGcmVkZHkvTQorZnJlZS1mb3ItYWxsCitmcmVlLWZvcm0KK2ZyZWUtaGFuZGVuZXNzCitmcmVldGhpbmtpbmcvUworZnJlZS11cAorZnJlZXppbmcvQVUKK2ZyZW56eS9ETVNoRworZnJlcXVlbnQvVERSWVNHUAorZnJlc2hlbi9kU3IKK2ZyZXNobmVzcy9TCitGcmV5YS9NCitmcmlhYmxlL1AKK2ZyaWNhdGl2ZS9NUworZnJpY3Rpb25sZXNzL1kKK2ZyaWVuZGxpZXMKK0ZyaWdpZGFpcmUKK2ZyaWxseS9UUworRnJpc2NvCitmcmlza2luZXNzL1MKK2ZyaXNzb24vTQorRnJpdG8KK2ZyaXZvbG91cy9QWQorZnJvY2tpbmcvTQorZnJvY2sncworZnJvbnRhbC9ZUworZnJvc3QncworZnJvdGgvWlNEMk1HCitmcnVtcC9aU00KK2Z1ZWxzL0EKK2Z1bGxiYWNrL1NNRworZnVsbC1ib2RpZWQKK2Z1bGxpbmcKK2Z1bGwtcGFnZQorRnVsdG9uL00KK2Z1bWJsZS9HUmtTSkQKK2Z1bmN0aW9uYWwKK2Z1bmN0aW9uYWxpdHkvUworZnVuZGFtZW50YWwvU1kzCitmdW5kaW5nL2YKK2Z1bmdpL00KK2Z1bmdpY2lkYWwKK2Z1bmt5L1QKK2Z1cmJlbG93L0RHTVMKK2Z1cnRoZXIvZHJTCitmdXJ6ZS9TTQorZnVzdGluZXNzL1MKK2Z1dHVyaXR5L1NNCitHCitnYWZmZS9NUworZ2FnZS9TTQorZ2FpbnNhaWQKK2dhbGwvU00KK2dhbGxlcmlhL1MKK2dhbGxpdW0vTQorR2FsbG93YXkvTQorR2FsdmluL00KK0dhbHdheS9NCitnYW1lbmVzcy9TCitnYW1tYS9NUworR2FuZGhpL00KK0dhbmRoaW5hZ2FyCitnYW5nZXIvTQorZ2FuZ2xpbmcKK0dBTworZ2FwZS9TCitnYXJiYWdlL00KK0dhcnJldHQKK0dhc2NvaWduZS9NCitnYXNrZXQvU00KK2dhc3NlZAorZ2F0ZWhvdXNlL1NNCitnYXVjaGUvVFBZCitnYXVudGxldC9TZE0KK2dhdXNzZXMvQworR2F2aW4vTQorR0IKK0dlYXJ5CitnZW5lcmFsaXplL2wKK2dlbmVyaWNuZXNzCitnZW5lcm9zaXR5L1NNCitHZW5ldAorZ2VuaXRpdmUvU00KK2dlbnJlL01TCitnZW50aWxpdHkvU00KK2dlbnRsZW1hbmx5L1UKK2dlbnRyaWZpY2F0aW9uL00KK2dlbnRyaWZ5L25TREdOCitnZW51ZmxlY3QvREdTCitnZW9jaGVtaWNhbC9ZCitnZW9tZXRyaWMvUworZ2VvcGh5c2ljcy9NCitnZW9wb2xpdGljYWwKK2dlb3BvbGl0aWNzL00KK0dlb3JnZXR0ZQorZ2Vvc2NpZW50aWZpYworZ2VyaWF0cmljL1MKK2dlcm1pbmF0ZS9ObkRHVnZTCitnZXJyeW1hbmRlci9kUworR2VydHJ1ZGUKK2dlc3RhdGUvU054REduCitnZXQvUlNHCitnZXRhd2F5L1NNCitnaGFzdGx5L1RQCitnaG9zdC9ER01ZUworZ2lhbnRraWxsZXIKK0dpYmJzCitnaWJlL0dTRAorR2lsZWFkL00KK0dpbGVzCitnaWx0LWVkZ2VkCitnaW1taWNrcnkvU00KK2dpcmFmZmUvU00KK2dpcmQvUlNERworR2l1c2VwcGUvTQorZ2l2ZWJhY2svUworZ2l6emFyZC9TTQorZ2xhZGlvbHVzL00KK2dsYW1vcmlzZS9uRFJTRworZ2xhbW9yaXplL05uRFJTRworZ2xhbmQvTVMKK2dsYW5kZXMKK0dsYXNlcgorZ2xhc3MtY2xvdGgKK2dsYXppbmcvTQorZ2xlYW0vR1NNRAorZ2xlZWZ1bG5lc3MvUworZ2xpdHp5L1QKK2dsb2JhbGlzbS9TCitnbG9iYWxpc3QKK2dsb3NzaW5lc3MvUworR2xvdWNlc3RlcnNoaXJlL00KK2dsdXRlaQorZ2x1dHRvbi9TTQorZ2x5Y2VyaW5zCitnbQorZ25hc2gvREdTCitnb2FsL3BTRE0KK0dvZGRhcmQvTQorZ29kbGVzcy9QCitnb2Rtb3RoZXIvTVMKK0dvZmYvTQorZ29pdHJlL0RNUworZ29sZC9UU00KK2dvbGxpd29nL1NNCitnb25kb2xpZXIvTVMKK2dvbmUvUgorZ29uaW9tZXRlci9XdworZ29ub2NvY2NpCitnb29kd2lsbC9TTQorZ29vaWVyCitnb29zZS1zdGVwL0cKK2dvcmluZXNzL1MKK2dvcnkvVFlQCitnbydzCitnb3R0YQorZ292ZXJubWVudHMKK2dvd24vU0RNRworZ3JhZHVhdGUvTk1HbkRTCitHcmFkeQorZ3JhaW4vRElHUworZ3JhaW5pbmcvTQorZ3JhbW1hdGljYWxpdHkncworZ3JhbW9waG9uZS9NUworZ3JhbmRhdW50L01TCitncmFuZGRhZGR5L1NNCitncmFuZGlvc2UvWQorZ3JhbmdlL1NNCitHcmFudGNoZXN0ZXIKK2dyYW50ZWUvU00KK2dyYXBwbGVyL00KK2dyYXNzaG9wcGVyL1NNCitncmF0ZS9qUkc2U0RrSgorZ3JhdGlmaWNhdGlvbi9NCitncmF0aWZpZWQvVQorZ3JhdHVpdHkvTVMKK2dyYXZlbmVzcy9TCitncmF6aW5nJ3MKK2dyZWFzZS9DRFJHUworZ3JlYXQtYXVudC9TCitHcmVlY2UvTQorZ3JlZW5ob3VzZS9NUworR3JlZW5wZWFjZS9NCitHcmVnL00KK0dyZWdnCitHcmVuYWRhL00KK0dyZW5hZGluZXMvTQorR3JldG5hCitncmlkL1NNRAorR3JpZWcvTQorZ3JpbS9QWVQKK2dyaXN0bHkvUFQKK2dyaXR0eS9UUAorZ3JvZy9aMnpNCitncm9vdnkvVAorZ3JvdGVzcXVlL1BZCitncm91bmRsZXNzL1BZCitncm91bmRzL2YKK2dyb3VwZWQvQQorZ3JvdmUvUlNNCitncnVic3Rha2UvTUdEUworZ3J1ZWwvTUdrUworZ3J1bmd5L1QKK0dUCitHdWFkYWxhamFyYQorZ3VhcmFudG9yL1NNCitndWFyZHJvb20vU00KK2d1YXZhL01TCitHdWVybnNleS9NCitndWlkZXBvc3QvTVMKK2d1aWxlL3BNNmoKK2d1aWx0bGVzcy9QWQorR3VpbmVhL00KK2d1bGxleS9TTQorZ3VsbHkvTVNHRAorZ3VscC9SR1NECitndW5maXJlL1NNCitndW5uZWwncworZ3VucG9pbnQvTQorZ3Vuc21pdGgvU00KK0d1cmtoYS9NCitHdXN0YWZzb24vTQorZ3VzdG8vTQorZ3VzdHkvUFQKK0d3eW5ldGgKK2d5bW5hc2lhL00KK2d5bW5hc3RpYy9TCitneW1uYXN0aWNzL00KK2d5cHN5L01TCitneXJhdGUvR0RTTm4KK2d5cm9jb21wYXNzL00KK2hhY2llbmRhL1NNCitoYWNrL1I3REdTSgoraGFkcm9uL1NNCitoYWVtYXRvbG9neS9XM1NNdworaGFlbW9zdGF0aWMKK0hhZml6CitIYWdnYWkKK2hhZ2dpc2gKK0hhaG4vTQoraGFpcmJyZWFkdGgvU00KK2hhaXJzYnJlYWR0aC9TCitoYWpqL00KK2hhbGYtYW5kLWhhbGYKK2hhbGYtYnJvdGhlci9TTQoraGFsZi1kdXBsZXgKK2hhbGYtZmFyZQoraGFsZi1oZWFydGVkL1lQCitoYWxmLXRydXRoL1MKK2hhbGxvbydzCitoYWx0L1JKR1NNa0QKK0hhbWlsdG9uL00KK2hhbW1lcnRvZS9TTQorSGFtbWV0dAoraGFtbW9jay9NUworSGFtcHRvbgoraGFuZGJyYWtlL1NNCitoYW5kaXdvcmsvTVMKK2hhbmRsZWJhci9NUworaGFuZG91dC9NUworaGFuZHNhdy9TTQoraGFuZHNoYWtpbmcvTQoraGFuZ2VyLW9uCitoYW5naW5nL2MKK2hhbmt5LXBhbmt5CitIYW5uaWJhbC9NCitoYW5zb20vU00KK2hhJ3Anb3J0aAoraGFyZGJvdW5kCitoYXJkLWNvcmUKK2hhcmQtZG9uZS1ieQoraGFyZC1oZWFkZWQvWVAKK2hhcmQtaGVhZGVkbmVzcy9TCitoYXJkLXBhc3RlCitoYXJlL01ER1MKK2hhcmVsaXAvTVNECitIYXJpbmdleQorSGFybG93CitoYXJtb25pb3VzbmVzcy9JUworaGFybW9uaXNlZC9VCitoYXJuZXNzJ3MKK0hhcnJpcworSGFycmlzYnVyZworSGFycm9nYXRlCitIYXJ0Zm9yZAorSGFydGxleQoraGFydmVzdGVkL1UKK2hhc2hlci9NCitoYXNoaW5nL00KK0hhc2tpbnMKK2hhdC9yR1JTTWRwRAoraGF0Y2gvR3lEU0oKK2hhdWJlcmsvU00KK2hheWZpZWxkL01TCitoYXlyaWNrL1NNCitIYXl3b29kCitoYXplbG51dC9TTQoraGVhZGxhbXAvUworaGVhZGxhbmQvU00KK2hlYWRzL2MKK2hlYWRzdG9jay9NCitoZWFyL0dBYVNjCitoZWFydC9EaGlNWnoyU3AKK2hlYXJ0YnJva2VuCitoZWFydGxlc3MvUFkKK2hlYXJ0LXJlbmRpbmcvWQoraGVhcnQtc2VhcmNoaW5nCitoZWF0aGVuaXNtL1NNCitoZWJlCitoZWNhdG9tYi9NCitoZWNrbGUvUkdTRAorSGVnZWwKK2hlZ2lyYS9TCitoZWlmZXIvTVMKK2hlbGljb24vTQoraGVsaW9zcGhlcmUKK2hlbGwtZmlyZS9NCitoZWxsLWhvbGUvTVMKK2hlbHBmdWxuZXNzZXMKK2hlbHBpbmcvTQoraGVtL0dSU01ECitIZW1pbmd3YXkKK2hlbWlzcGhlcmUvU01Xd0QKK2hlbmNlZm9yd2FyZAorSGVuZHJpY2tzb24KK2hlcmJhY2VvdXMKK2hlcmQvbVJHU01ECitoZXJlJ3MKK2hlcmV3aXRoCitoZXJtZW5ldXRpYy9TCitoZXJtZW5ldXRpY3MvTQoraGVybWV0aWMvWVMKK2hlcm1pdC9TTQorSGVybmFuZGV6L00KK2hlcm5pYWwKK2hlcm9pc20vU00KK0hlcnIKK0hlcnNoZWwKK0hlc3BlcnVzCitoZXRlcm9keW5lCitIZXdraW4vTQoraGV4YW1ldGVyL1NNCitIZXpla2lhaAoraGkKK2hpYmlzY3VzL01TCitoaWRlL0dTSgoraGlnaC1lbmVyZ3kKK2hpZ2gtZmFsdXRpbmcKK0hpZ2hmaWVsZAoraGlnaGxpZ2h0L1NHTURSCitoaWdoLW1pbmRlZC9ZCitoaWdocG9pbnQKK2hpbGFyaW91cy9ZUAoraGlsYXJpb3VzbmVzcy9TCitIaWxsc2Jvcm8KK2hpbmRlcmVkL1UKK2hpbmRtb3N0CitoaXBwaW5nL00KK2hpcmVsaW5nL01TCitoaXJlLXB1cmNoYXNlCitoaXJzdXRlbmVzcy9TCitoaXNzaW5nL00KK0hpdGNoY29jaworaGl0Y2gtaGlrZS9EUkdTCitIaXRsZXIvTQorSGl0dGl0ZS9TTQoraGl2ZS9NREdTCitob2Fyc2VuZXNzL1MKK0hvZ2FydGgKK0hvZ2dhcmQKK0hvbGRzd29ydGgvTQoraG9sZC11cC9NUworaG9sb2NhdXN0L1NNCitob21lLW93bmVyL01TCitob21lLW93bmluZworaG9tb2Vvc3RhdGljCitob21vZXJvdGljCitob21vZ2VuaXNlL1JHRFMKK2hvbW9sb2dvdXMKK0hvbmR1cmFzL00KK2hvbmVzdC9FWlkKK2hvbmV5ZGV3L1NNCitob25leWxvY3VzdAoraG9vZHdpbmsvU0dECitob29wZXIvTQorSG9vdmVycworaG9wZS82TWpTcAoraG9wZWxlc3MvUFkKK2hvcGVsZXNzbmVzcy9TCitob3BzY290Y2gvTQorSG9ybmUKK2hvcnJpZC9QWQoraG9ycm9yLXN0cnVjaworaG9yc2VtYW5zaGlwL1NNCitob3NwaXRhbGl0eSdzL0kKK2hvc3QvWVNNR0QKK2hvc3RsZXIvU00KK2hvdC1haXIKK2hvdGJlZC9NUworSG90dGVudG90L00KK2hvdXJpL1NNCitob3VzZWJyZWFraW5nL00KK2hvdXNlY2xlYW4vSkdEUworaG91c2UtaHVzYmFuZAoraG91c2V3b3JrL1JTTQorSFAKK2h1YmJ5L01TCitIdWNrCitodWxsby9NU0dECitodW1hbmVuZXNzZXMKK2h1bWFuaXNlL0NSRFNuRworSHVtYm9sZHQKK2h1bWlkaXN0YXQvTQoraHVtaWRvci9NUworaHVtaWxpYXRlL0dTa05EbgoraHVtcGJhY2svRFNNCitodW5kcmVkL0hNUworaHVuZy9BYworSHVuZ2FyaWFuL1MKK2h1bmtlci9TZAoraHVudGVyLWdhdGhlcmVyL1MKK2h1cmRsZS9STUdTRAoraHVza2luZXNzL1MKK2h1c2tpbmcvTQoraHVzc2FyL1NNCitodXN0aW5ncy9NCitIdXRjaGluc29uCitod3lsCitoeWRyYS9uU00KK2h5ZHJhdGUvTUdEUworaHlkcm9lbGVjdHJpY2l0eS9TTQoraHlkcm9waG9iaWMKK2h5ZHJvc3BoZXJlL01TCitoeWVuYS9TTQoraHlncm9tZXRlci9TTQoraHltbm9sb2d5LzMKK2h5cGVyYWVzdGhlc2lhCitoeXBlcmdseWNhZW1pYworaHlwZXJpbmZsYXRpb24KK0h5cGVyaW9uCitoeXBlcm1lZGlhCitoeXBlcnNvbmljCitoeXBub3RpYy9TWQoraHlwb2dseWNhZW1pYy9TCitoeXBveGlhL00KK2h5c3RlcmljL01TWQoraWJpZGVtCitJQworSWNhcnVzCitpY2UvbVNNSkdECitpY2VwYWNrCitpY2huZXVtb24vTQoraWNodGh5b2xvZ3kvTTNTCitpY2luZXNzL1MKK2lkZWF0ZS9TTgoraWRlbXBvdGVudC9TCitpZGVudGlmaWVzL2EKK2lkZW50aWZ5aW5nL2EKK2lkcworaWdub3JhbXVzL1NNCitpZ25vcmVyL00KK2lsaWFjCitpbGwtZmF0ZWQKK2lsbGljaXQvUAorSWxsaW5vaXMKK2lsbC1tYXRjaGVkCitpbGxvZ2ljYWwKK2lsbHVzb3J5L1AKK2lsbHVzdHJpb3VzbmVzcy9TCitpbWFnaW5hcnkvUFMKK2ltbWF0ZXJpYWwKK2ltbWluZW5jZS9TTQoraW1tb2Rlc3QKK2ltbW92YWJpbGl0eS9NUworaW1tdW5lL3EtUTgKK2ltcGFjdGlvbi9TTQoraW1wYXNzZS9NdWxYYk4KK2ltcGFzdG8vTVMKK2ltcGVhY2gvTFI3CitpbXBlbmQvR1NECitpbXBlcmNlcHRpYmlsaXR5L01TCitpbXBlcnNvbmF0aW9uL00KK2ltcGxlbWVudGVyL01TCitpbXBvcnQvQVJHU0QKK2ltcG9ydHVuaXR5L01TCitpbXBvc2FibGUKK2ltcHJlZ25hYmlsaXR5L01TCitpbXByZWduYXRlL0RCU0duTgoraW1wcmVzc2l2ZW5lc3MvTVMKK2luL0FTRgoraW5hdWd1cmF0aW9uL00KK2luY2luZXJhdGUvU25OREcKK2luY2lwaWVuY3kvTQoraW5jaXNpdmVuZXNzL1MKK2luY2x1c2l2ZW5lc3MvUworaW5jb21wYXJhYmxlCitpbmNvbnNpZGVyYWJsZS9QCitpbmNvbnNpZGVyYXRlL04KK2luY29udmVydGlibGUKK2luY29ycmlnaWJpbGl0eS9TTQoraW5jcmVhc2VyL00KK2luY3VsY2F0aW9uL00KK2luY3VuYWJ1bHVtCitpbmRlZmVhc2libGUvWQoraW4tZGVwdGgKK2luZGV4LWxpbmtlZAoraW5kaWdlc3Rpb24KK2luZGl1bS9NCitpbmRpdmlkdWFsL3NZMzhRLTlNcVMKK2luZGl2aWR1YWxpc20vTVMKK2luZGl2aWR1YWxpc3QvMVcKK2luZGl2aXNpYmxlL1NQWQoraW5kb2N0cmluYXRlL05uR1NECitpbmRvbWl0YWJsZS9QWQoraW5kdWN0ZWUvTVMKK2luZHVsZ2VuY2UvY01TCitpbmR1bGdlbnRseQoraW5lcXVpdmFsZW50CitpbmVycmFudAoraW5mYW50L1NNCitpbmZlYXNpYmxlCitpbmZlcm5hbC9ZCitpbmZpbHRyYXRvci9NUworaW5maW5pdGl2YWwKK2luZmluaXR1ZGUvU00KK2luZmluaXR1bQoraW5maW5pdHkvTVMKK2luZmxhbW1hdGlvbi9NCitpbmZsaWN0L0RHUworaW5mbHVlbmNlL1JER01TCitpbmZvL1MKK2luZm9ybWFsCitpbmZyYXN0cnVjdHVyZS9NUworaW5nb2luZworaW5oYWJpdC83ZAoraW5oYWxhdG9yJ3MKK2luaGVyZS9EU0cKK2luaGVyaXQvRWRTCitpbml0aWF0ZS9OREdTblZ5Citpbml0aWF0aXZlL1NNCitpbmplY3Rvci9TTQoraW5uZXIvUworaW5uZXJzcHJpbmcKK2lubmVydmF0ZS9TR0RuTgorSW5uc2JydWNrCitpbm51bWVyYWJpbGl0eS9NCitpbm9jdWxhdGVzL0EKK2lub2N1bGF0aW9uJ3MKK2luc2Vuc2F0ZS9ZUAoraW5zaG9yZQoraW5zaXBpZC9ZCitpbnNvbHZlbnQvWQoraW5zdGFsbC9BREdTCitpbnN0aXR1dGlvbidzL0EKK2luc3RydW1lbnRhbC8zUworaW50ZWdyYWwvU01ZCitpbnRlZ3JhdGl2ZQoraW50ZWd1bWVudC9TTQoraW50ZWxsaWdpYmx5L1UKK0ludGVsc2F0CitpbnRlbnNpZnkvUk5uRFNHCitpbnRlcmJhbmsKK2ludGVyY2FsYXRpb24vTQoraW50ZXJjZXNzaW9uL01TCitpbnRlcmNpdHkKK2ludGVyY29udmVyc2lvbi9NCitpbnRlcmZlcmVuY2UvTVMKK2ludGVyZmVyb21ldGVyL1dTTQoraW50ZXJsYXJkL0RTRworaW50ZXJsaWJyYXJ5CitpbnRlcmxvY3V0b3J5CitpbnRlcm1ldHJpY3MKK2ludGVybWluYWJsZS9QWQoraW50ZXJtaXhlcgoraW50ZXJwb3NlL1NORFhHCitpbnRlcnByZXRlZC9VCitpbnRlcnJlbGF0aW9uc2hpcC9TTQoraW50ZXJydXB0L0RHU2JSVgoraW50ZXJzdGl0aWFsL1NZCitpbnRlcnZlbm9yL00KK2ludGVydmlldy9BREdTCitpbnRlcnZpZXdlci9NUworaW50aW1hbAoraW50cmFjbGFzcworaW50cmFjb2hvcnQKK2ludHJhZ2VuZXJhdGlvbmFsL1kKK2ludHJhbmFzYWwKK0ludHJhbmV0CitpbnRyZXBpZGl0eS9NUworaW50cm9kdWNlci9NCitpbnR1YmF0ZS9TTkRHCitpbnR1aXQvdlNWWHU3TgoraW51bmRhdGUvblNORworSW52ZXJjbHlkZS9NCitJbnZlcm5lc3MvTQoraW52ZXN0L0FMRQoraW52ZXN0aWdhdGl2ZQoraW52ZXN0aXR1cmUvU00KK2ludmlnb3JhdGUvQUdETlNuCitpbnZpc2NpZAorSW9uaWFuCitJcHN3aWNoL00KK2lyaWRlcydzCitpcm9uL3dNU2QxVworSXJvcXVvaWFuCitpcnJlY29uY2lsYWJpbGl0eS9NUworaXJyZWNvdmVyYWJsZS9ZUAoraXJyZWd1bGFyCitpcnJlbGV2YW5jZS9TCitpcnJlbGlnaW91cworaXJyZXBhcmFibGUvWVAKK0lzYWFjL00KK2lzbS9TTUMKK2lzb21vcnBoL1dNMQorSXNyYWVsL00KK2l0ZW0vcXNROTgtU00KK2l0ZXJhdG9yL1NNCitqYWJvdC9TTQoramFja2Jvb3QvTVNECitqYWNrZXQvZFNNCitqYWNrZXRlZC9VCitKYWNreQorSmFjb2J5CitqYWRlL2lETWhTCitqYWRlaXRlL01TCitqYWlsL1JNREdTCitqYWlsYmlyZC9TTQorSmFpbmlzbQoramFtJ3MKK0phbgorSmFydmlzCitqYXNtaW5lL1NNCitKYXZhL00KK0phdmFTY3JpcHQKK2phd2JvbmUvU0RNCitqYXp6eS9QVAoramVhbG91cy9ZUFoKK2plYWxvdXN5L1NNCitqZWVyL01ESlNHaworSmVldmVzCitKZWZmcmV5L1MKK2planVuYQorSmVubmlmZXIKK0plbm5pbmdzCitKZW5zZW4vTQoramVyZW1pYWQvU00KK2plcmsvekdaU0QyCitqZXJvYm9hbQorSmVzc29wL1NNCitKZXN1aXQvUworSmVzdXMKK2pld2VsbGVyL1oKK2ppYi1ib29tL1MKK2ppZ2dsZS9EU1lHCitqaWx0ZXIvTQoramltbXkncworamlua2VkCitKb2FuCitqb2Nrc3RyYXAvTVMKK0pvaGFubmEvTQorSm9oYW5zZW4KK0pvaG5zb24KK0pvaG5zdG9uL00KK2pvaW5lZC9BCitqb2luZXJ5L1NNCitqb2tlL1pEUk1TR2sKK2pvbmdnL00KK0pvc2UKK0pvc+kvTQoram90dGluZy9NCitKdWRhaAoranVkZGVyL2RTCitKdWRlL1oKK0p1ZGVhCitqdWRnZSdzCitqdWRpY2F0dXJlL1NNCitKdWRpdGgKK2p1Zy82R0RTTQoranVnZ2VybmF1dC9TTQoranVndWxhci9TCitKdWxpYS9NCitKdWxpYW4vTQoranVtcC1vZmYKK2p1bmN0aW9uL0ZTTUlFCitKdW5naWFuCitqdW5pb3JpdHkvTQoranVua2llL00KK0p1cmFzc2ljCitqdXJpc2RpY3Rpb24vb01TCitqdXJpc3BydWRlbnQKK2p1cmlzcHJ1ZGVudGlhbC9ZCitqdXJvci9NUworanVyeS8zNURtTVNHCitKdXNzaS9NCitqdXN0aWZpY2F0b3J5CitKdXN0aW5lCitqdXN0bmVzcy9VCitqdXN0bmVzc2VzCitrL2sKK2thYm9iJ3MKK0thbmUvTQorS2FwbGFuL00KK2thcmF0ZS9NCitLYXJwL00KK2thcnQvTQorS2FzYWkKK0thdGhtYW5kdS9NCitLYXRoeQorS2F0aWUvTQorS2F0egorS2F5CitrYXlhay9NUwora0IKK0tlYW5lCitLZWVnYW4KK0tlZWxlL00KK0tlZW5hbgorS2VsbHkvTQora2VscC9ER1NNCitLZW5kYWxsL00KK0tlbmlsd29ydGgKK0tlbnNpbmd0b24KK2tlcGkvTVMKK2tlcmF0aW4vTVMKK2tldGNodXAvU00KK2tldHRsZS82U00KK2tleXN0b25lL1NNCitraGFraS9NUworS2hydXNoY2hldgora2liYnV0ei9NCitraWRkaW5nL01ZCitLaWVsL00KK0tpbGF1ZWEKK0tpbGJyaWRlL00KK2tpbG8vTVMKK2tpbG9jeWNsZS9NUwora2lsb3Rvbi9TTQora2luYWVzdGhldGljL1lTCitraW5kLWhlYXJ0ZWRuZXNzL1MKK2tpbmRseS9QVAora2luZy9NRFNHCitraW5nbGV0L00KK0tpbnNoYXNhL00KK2tpbnNoaXAvTVMKK2tpcmkKK2tsYXhvbi9NCitLbGluZS9NCitrbmF2ZS9NeVMKK2tuYXZpc2gvWQora25pY2sta25hY2tpc2gKK2tub2JibHkKK2tub2NrYWJvdXQvTQora25vY2stZG93bi9TCitrbm9jay11cAora25vbGwvRFNHTQora25vd24vVVMKK0tudWRzZW4KK2tvYWxhL01TCitLb2hsCitLb3Jhbi9NCitLcmVtbGlub2xvZ2lzdAora3JvbmVyCitrdC4KK2t1bGFrcworS3VyZGlzdGFuL00KK0t1cnQvTQorbGFib3VyL0pTaFJpa0dETQorbGFieXJpbnRoaW5lCitsYWNld2luZy9NUworbGFjeS9UCitsYWR5ZmluZ2VyJ3MKK0xhZHlzaGlwL01TCitsYWdnaW5nL00KK0xhZ3VlcnJlCitMYWd1bmEKK0xhbWJvcmdoaW5pL00KK2xhbekKK2xhbWVuZXNzL1MKK2xhbWluYWUKK0xhbXBldGVyCitsYW1wLXBvc3QvUworbGFuZGZpbGwvU0QKK0xhbmRpcworbGFuZGxpbmVzCitsYW5kbG9ja2VkCitsYW5kbWFyay9TREdNCitsYW5kc2xpZGUvU00KK2xhbmRzbGlwL1MKK2xhbmt5L1RQCitMYW9pcy9NCitMYW90aWFuL1MKK2xhcGlkYXJ5L1NNCitsYXJkZWQKK2xhcmRlci9TTQorbGFyZ2Vzcy9TTQorTGFyb3Vzc2UKK2xhcnZhZQorbGFydmFsCitsYXJ5bmdpdGlzL00KK2xhdGVjb21lci9NUworTGF0ZXJhbi9NCitMYXRpbi9NCitsYXRpc2gKK2xhdGl0dWRpbmFsL1kKK0xhdHZpYW4KK2xhdWdoaW5nc3RvY2svU00KK2xhdW5jaGVyL1NNCitsYXVuZGVyL3JkUworbGF1bmRlcmVkL1UKK2xhdW5kcnkvNVNtTQorbGF1cmVsL1NNREcKK2xhdmVuZGVyL2RTTQorbGF3bWFrZXIvU00KK0xheXRvbi9NCitsYXplL0daRFMKK2xiCitsZWFkZW4vUFkKK2xlYWZsZXQvTWRTCitsZWFmeS9UUAorbGVha2luZXNzL1MKK2xlYW4vSllHRFRQUworbGVhbnQKK2xlYXRoZXJldHRlL1MKK2xlYXRoZXJuZWNrL1NNCitsZWF2ZS10YWtpbmcKK2xlY2hlcm91c25lc3MvUworTGVlLU1ldGZvcmQKK2xlZ2FsZXNlL01TCitsZWdhbGlzbS9NUworbGVnYXRvL1NNCitsZWdpYmx5L0kKK2xlZ2lzbGF0aW9uL00KK2xlZ2l0aW1pc2VyCitsZWdpdGltaXplL05EbkcKK2xlZ3N0cmFwcworTGVpbGEKK2xlbW1pbmcvTQorTGVuaW5pc3QKK2xlcHJlY2hhdW4vU00KK2xlc3Nlbi9kUworbGV0LW91dAorbGV0cy9lCitsZXR0ZXJib3gvUworbGV2ZXJhZ2UvRE0KK2xldmlhdGhhbi9TTQorTGV2aW4vTQorTGV2aXRpY3VzCitsaWFpc29uL01TCitsaWJlcmFsaXNlL0RHblNSCitsaWJlcmFsaXplL0RHTlNSbgorbGliZXJ0aW5lL1NNCitsaWJlcnR5L1NNCitsaWJpZGlub3VzL1lQCitsaWJyYXJpYW5zaGlwCitsaWNlL00KK2xpY2Vuc2VyL00KK2xpZS9GR2NTZgorbGllZi9BCitsaWV1dGVuYW50L1NNCitsaWV1eAorbGlmZS1yYWZ0L1NNCitsaWZ0L1JEU0dNCitsaWdodGluZy9NCitsaWdodHByb29mCitsaWduZW91cworTGlsYS9NCitMaWxsaXB1dGlhbi9TCitsaWx5LWxpdmVyZWQKK2xpbWJvL0RTTUcKK2xpbXBuZXNzL1MKK2xpbmFnZS9TTQorTGluY29sbnNoaXJlL00KK2xpbmVhcmlzYXRpb24KK2xpbmVhcml0aWVzCitsaW5lLXVwL1MKK2xpbmdlcmllL1NNCitsaW5uZXQvTVMKK2xpbm8vTQorTGlvbmVsCitsaW9uaGVhcnRlZAorbGlvbml6YXRpb24vTQorbGlwLXN5bmMKK2xpdGVyYXRpb24vTQorbGl0aGl1bS9NCitsaXRtdXMvU00KK2xpdHRlcmJ1Zy9NUworTGl0dG9uCitsaXZlci9DZFNaCitMaXZlcm1vcmUKK0xpdmVycHVkbGlhbi9TTQorbGl4aXZpYXRpb24KK2xpemFyZC9NUworbG9idWxlL01TCitsb2NhdGVyL00KK2xvY2gvTQorbG9ja251dC9NCitMb2Nrd29vZC9NCitsb2Nvd2VlZC9TTQorbG9mdHkvVFAKK2xvZ2ljYWxpdHkvTUlTCitsb2dvdXQKK0xvbekvTQorTG9uZ2ZvcmQvTQorbG9uZ2hhbmQvU00KK2xvbmctbGFzdGluZworbG9uZy1sb3N0CitMb25nc3RyZWV0L00KK2xvb2ZhaC9TTQorbG9va2luZy1nbGFzcy9TCitsb29uL1pTTQorbG9vc2VuL2RTVQorbG9vc2VuZXIvUworbG9wZXIvTQorbG9wc2lkZWRuZXNzL1MKK2xvcXVhY2lvdXNuZXNzL1MKK2xvcmRpbmcvTQorbG9zc3kvVAorbG91ZG5lc3MvUworbG91bmdlL0RSU0cKK2xvdXNlJ3MKK2xvdXNld29ydC9NCitsb3ZhYmxlL1AKK0xvdmVsYWNlCitMb3ZlbGwKK2xvdmluZy9VCitMb3dlL015Citsb3ctZW1pc3Npb24KK2xvdy1seWluZworbG93LXBpdGNoZWQKK0xveQorbHVjay96TVpwUzJERworbHVjcmUvdk1WdVMKK0x1Y3JldGl1cworTHVjeS9NCitMdWZ0aGFuc2EvTQorTHVmdHdhZmZlL00KK0x1aXMKK2x1bXAvR0RaMlNNCitsdW5jaHRpbWUvTVMKK2x1cmUvR0RTCitMdXNha2EvTQorbHVzY2lvdXMvWVAKK2x1eGVzCitsdXhlJ3MKK2x5Y2hlZS9TTQorTHluZG9uCitseXJlYmlyZC9TTQorTHlzZW5rby9NCitMeXNvbAorbWFjL1NNCitNYWNHcmVnb3IvTQorbWFjaGluYWJsZQorTWFjS2VuemllL00KK21hY2tpbnRvc2gvU00KK01hY01pbGxhbi9NCittYWNyb2Jpb3RpYy9TCitNYWRlaXJhCitNYWRlbGVpbmUvTQorbWFnaWNpYW4vU00KK21hZ25ldGl0ZS9NUworTWFneWFyCittYWhhcmFqYWgvTVMKK21haG9nYW55L1NNCitNYWlkZW5oZWFkL00KK21haWxiYWcvU00KK21haW5icmFjZS9NCittYWludGFpbmFibGUvVQorbWFrYWJsZQorbWFrZXIvU00KK21hbGFkcm9pdG5lc3MvUworbWFsYWlzZS9NUworbWFsYW11dGUvTVMKK21hbGVkaWN0aW9uL1NNCittYWxlZmFjdGlvbi9TTQorbWFsZXZvbGVuY2UvUworbWFsaWNpb3VzL1BZCittYWxpY2lvdXNuZXNzL1MKK21hbGxlYWJpbGl0eS9NUworbWFsdG9zZS9NUworTWFuYWdhdS9NCittYW5hZ2UvTGFER1MKK21hbmFnZXJlc3MvU00KK21hbmRhbGEvU00KK21hbmRhbXVzL1NkTQorTWFuZGVsYQorbWFuZG9saW4vTVMKK21hbmRyYWtlL1NNCittYW5nZS9NWlJTMgorbWFuZ29lcworbWFuLWhvdXIvUworbWFuaWMvUworTWFuaWxhL00KK21hbmlsbGUKK21hbmlwdWxhdGUvQlNHbnlETlZ1CitNYW5sZXkvTQorbWFubGlrZQorbWFub3IvU00KK21hbnRhL01TCitNYXJhY2FpYm8KK21hcmF0aG9uL01yUworTWFyY2VhdS9NCitNYXJjaWEvTQorTWFyY29uaQorTWFyY3VzCittYXJnaW5hbC9ROHEtUworTWFyaWFuL00KK01hcmlldHRhCittYXJpbmF0aW9uL00KK01hcmluby9NCitNYXJpbworTWFyaXNzYS9NCittYXJpdGFsL0tZCittYXJpdGltZXIKK01hcmtvdml0ei9NCittYXJvb24vU0RHCittYXJvb25lcgorTWFyc2RlbgorbWFydGluZXQvTVMKK21hc2N1bGluaXR5L01TCittYXNvbi9TZHlXTQorTWFzb25pdGUKK21hc3F1ZS9SU00KK21hc3NpdmVuZXNzL1MKK21hc3Rlci9BZFNjCittYXN0ZXItY2xhc3MvU00KK21hc3RlcmZ1bC9QWQorbWFzdGVybHkKK21hc3RlcnBpZWNlL01TCittYXRjaGJveC9TTQorbWF0Y2gncy9BCittYXRjaHN0aWNrL1NNCittYXRlci9NbworbWF0ZXJpYWxpemF0aW9uL00KK01hdGxvY2sKK21hdHJpYXJjaGFsCittYXRyaWFyY2h5L01TCittYXRyaWNpZGFsCittYXR0b2NrL1NNCittYXVkbGluL1kKK01hdXNlcgorbWF1c29sZXVtL1NNCittYXV2ZS9NUworbWF4aWxsYXJ5L1MKK01heGltaWxpYW4KK21heWRheS9TCitNYXloZXcKK21heXN0CitNY0FsbGlzdGVyL00KK01jQnJpZGUvTQorTWNDYXVsZXkvTQorTWNDbGVsbGFuL00KK01jQ3VsbG91Z2gvTQorbWVhZC9NUworbWVhZG93bGFuZAorbWVhZG93bGFyay9TTQorbWVhbGluZXNzL1MKK21lYWx5LW1vdXRoZWQKK21lYW5lcgorbWVhc2xlcworbWVhc3VyYWJsZS9JVQorbWVhdGF4ZQorbWVkYWxsaXN0L1MKK01lZGljYXJlCittZWRpdGF0aW9uL0tNUworbWVkaXVtLXNpemVkCittZWdham91bGVzCittZWdhcGFyc2VjCittZWdvaG0vTVMKK21laW90aWMKK01laXN0ZXJzaW5nZXIKK21lbGFuY2hvbGljL1MKK21lbGFuY2hvbHkvTVNXCittZWxvbi9TTQorbWVsdGVyL00KK21lbWJlci9BU0UKK21lbW9yYWJpbGlhCittZW1vcmFiaWxpdHkvTVMKK21lbW9yaWFsL1FTCitNZW1waGlzCittZW4vTQorbWVuYWNlL2tTR0QKK01lbmRlbC9NCittZW5pbmdlcworbWVuaXNjdXMvTQorbWVudG9yZWQKK21lcmlkaW9uYWwKK21lcml0b2NyYWN5L1NNCitNZXJsZQorbWVycnkvVExZCitNZXJzZXkKK21lc3F1aXRlL01TCittZXNzZW5nZXIvZE1TCittZXRhYm9saXNlL0RTRworbWV0YWNhcnBhbC9TCittZXRhbC9XU01HSkQKK21ldGFwaG9yL1NXdzFNCittZXRhcGh5c2ljL1NNWQorbWV0YXN0YXRpYworbWV0YXRoZXNpcy9NCittZXRlb3JvbG9neS93TVMKK01ldGh5ci9NCittZXRpY3Vsb3VzL1BZCitt6XRpZXIvUworbWV0b255bXkvTQorbWV3L0dTRAorbWV6emFuaW5lL01TCittZworbWljcm9hbmFseXNpcy9NCittaWNyb2JpYWwKK21pY3JvY2lyY3VpdC9TTQorbWljcm9jb21wdXRlci9NUworbWljcm9ncmFtL1MKK21pY3JvZ3JhcGh5L00KK21pY3Jvam91bGUKK21pZC1hZnRlcm5vb24KK01pZGRsZXRvbgorbWlkaS9TCittaWRzdW1tZXIvU00KK21pZHdpZmVyeS9NUworbWllbi9TTQorbWlncmFudC9JU00KK21pbGQvVFBZCittaWxlYWdlL01TCitNaWxmb3JkL00KK21pbGl0YXJ5Ly1RM1kKK21pbGxpYW1wCittaW1lb2dyYXBoL01EU0cKK01pbmEKK21pbmRib2dnbGluZ2x5CittaW5kZnVsbmVzcy9TTQorbWluZS9SRFNKRworbWluaWNhYi9NCittaW5pY29tcHV0ZXIvU00KK21pbmluZy9NCittaW5pdmFuL1MKK21pbnR5L1QKK21pbnVlbmQvTVMKK21pbnV0aWFlCitNaXF1ZWxvbi9NCittaXJhZ2UvRFNNRworbWlydGhmdWxuZXNzL1MKK21pcnkvVAorbWkncworbWlzYy9iCittaXNjYXN0L0cKK21pc2xlYWQvaworbWlzc2VzL0sKK21pc3NpbGVyeS9NUworbWlzc2lvbi9GUlNNCittaXNzcGVhaworbWlzc3BlY2lmaWNhdGlvbgorbWlzc3RlcAorbWlzdGFrYWJsZS9VCittaXN0YWtlbi9ZCittaXN0bGV0b2UvU00KK01pdHN1YmlzaGkKK21peGVyL1NNCittaXgtdXAKK21uZW1vbmljcy9NCittb2NrZXJzL00KK21vZGVyYXRvci9NUworbW9kZXJuL1E4WVRQczlxLQorbW9kZXJuaXNtL1NNCittb2RpZmllZC9VCittb2Rpc2huZXNzL1MKK21vZHVsYXRvci9DQU1TCittb2R1cyBvcGVyYW5kaQorTW9sZGF2aWFuCittb2xsaWZpY2F0aW9uL00KK21vbGx1c2MvTVMKK21vbHliZGVudW0vTQorbW9uYXJjaHkvU00zCitNb25kYWxlCittb25pdGlvbi9LTVMKK01vbm1vdXRoL00KK21vbm9jbGUvRE1TCittb25vZ3JhcGgvU01ERworbW9ub21lcmljCittb25vbW9sZWN1bGFyCittb25vcGhvbmljCitNb25zYW50bworbW9udW1lbnRhbGl0eS9NCittb29kLzJNWlN6Cittb29ubGl0Cittb29uc2NhcGUvTVMKK21vb25zdG9uZS9NUworbW9vcmluZy9NCitNb29yaXNoCittb3JhbGlzZS9DR1NEUgorTW9yZWNhbWJlCitNb3Jtb24vU00KK01vcm8vTQorTW9yb2Njby9NCitNb3JvbmkvTQorbW9ycGhpc20vTVMKK01vcnJpcydzCitNb3JyaXN0b3duL00KK21vcnRlbS9TTQorbW9ydGdhZ2UvRFNNRworTW9ydG9uL00KK21vcy9HWkQKK01vc2VsbGUvTQorbW9zZXkvREdTCittb3RoLWVhdGVuCittb3RoZXIvZHBZCittb3RoZXJpbmcvTQorbW90aGVyLWluLWxhdworbW90bGllcgorbW91bHQvUlNHRAorbW91bnRhaW5lZXIvSk1HU0QKK21vdW50ZWJhbmsvU00KK21vdXNzZS9TTQorbW91c3kvUFQKK21vdXRvbidzCittb3ZpbmdseQorTW95ZXMKK01yL00KK211Y2lsYWdlL1NNCittdWNvc2EvTQorbXVkL1NNMlp6CittdWRkbGVoZWFkZWQKK211ZXp6aW4vTVMKK011aXIvTQorbXVsY3QvU0RHCittdWxsZWluL01TCittdWx0aWNvbG91ci9TTUQKK211bHRpZmFtaWx5CittdWx0aW1lZ2F0b24vTQorbXVsdGltZXRlci9NCittdWx0aXBhdGgKK211bHRpcGxlL1NNWQorbXVsdGlwbGUtY2hvaWNlCittdWx0aS1zdG9yZXkKK211bHRpdGFza2luZworbXVsdGl2YWxlbnQKK211bHRpdml0YW1pbi9TCittdW0vUkRaU01HCitNdW5jaWUvTQorbXVuaWZpY2VuY2UvTVMKK011cHBldC9NCitNdXJhbGkKK211cmFsaXN0CitNdXJpZWxsZS9NCittdXNjbGUvTUdTRAorbXVzaWNhbGUncworbXVzaWNhbGx5L1UKK211c3RpbmVzcy9TCittdXRhYmx5L0kKK211dGF0ZS9GRFNHCittdXRhdGlvbi9GTTQKK211dGUvRm40TkRTRworbXV0aWxhdG9yL01TCittdXR0ZXIvckpTZAorTVcKK215CitNeWxlcy9NCitteW5hL1NNCitteXN0aWZpY2F0aW9uL00KK215c3RpZnlpbmcvWQorbXl0aG9ncmFwaHkvTQorTmFDbC9NCituYWZmZXIKK25haWxicnVzaCdzCituYWl2ZXR5L1NNCituYWtlZG5lc3MvUworbmFtYnkKK25hbWVsZXNzL1kKK25hbWVyL01TCituYW4vTVoKK25hbm8KK05hbnRlcy9NCitOYW50dWNrZXQvTQorTmFwbGVzL00KK25hcmt5L1QKK25hcnJvdy1taW5kZWRuZXNzCituYXJyb3duZXNzL1MKK25hc2FsaXR5L1NNCitOYXNodmlsbGUvTQorbmF0YWwvSworTmF0Y2hlegorbmF0aW9uYWxpc2VyL0NNUworbmF0aW9uYWxpemF0aW9uL00KK25hdGlvbmhvb2QvU00KK25hdHVyYWxpc3QvVworbmF0dXJlcy9DCituYXV0aWx1cy9NUworbmF2ZWwtZ2F6aW5nCitOYXphcmVuZS9NUworTkNBQQorTkNDCitOZQorbukKK05lYXRoL00KK05lYnVjaGFkbmV6emFyL00KK25lYnVsYS9NUworbmVidWxvdXMvUFkKK25lY3JvbG9neS9NUworbmVjcm9waGlsaWFjL1MKK25lY3Rhcm91cworTmVlZGhhbS9NCituZSdlcgorbmVmYXJpb3VzL1BZCituZWcvdU5udlYKK25lZ2F0aXZlL0dEUFMKK25lZ2xpZ2libGUvWQorTmVpbC9NCitOZW1hdG9kYQorbmVtYXRvZGUvU00KK25lb2NsYXNzaWNhbAorbmVvcGxhc3RpYworbmVwb3Rpc20vU00KK25lcHR1bml1bS9NUworbmVyZHkvVAorbmVydmVsZXNzbmVzcy9TCituZXJ2aW5lc3MvUworbmV0aGVyCituZXVyYXN0aGVuaWMvUworbmV1cm9tdXNjdWxhcgorbmV1cm9wYXRob2xvZ3kvTQorbmV1dHJhbG5lc3MKK05ldmFkYW4vUworbmV3Ym9ybi9TCitOZXdtYW4vTQorbmV3bmVzcy9TTQorbmV3c3dvcnRoeS9UUAorTkhTCitOaWFtZXkvTQorTmljZW5lCituaWNrZWxvZGVvbidzCitOaWV0enNjaGUvTQorTmlldmVzL00KK25pZ2h0LWJsaW5kbmVzcworbmlnaHRjbHViL01HU0QKK25pZ2h0Z293bi9NUworbmlnaHQtb3dsCitOaWtpdGEvTQorbmltYnVzL00KK25pbmV0eS1maXJzdC9TCituaW5ueS9NUworbm9iaWxpdHkvU00KK05vZWwvU00KK05vZWxsZS9NCitub21pbmF0b3IvQ01TCitub24tYWRhcHRpdmUKK25vbi1jb20vTVMKK25vbi1jb21taXNzaW9uZWQKK25vbi1jb252ZXJ0aWJsZQorbm9uLWRlcHJlY2lhdGluZworbm9uLWVkdWNhdGlvbmFsL1kKK25vbi1lbGFzdGljCitub24tZXNzZW50aWFsL1MKK25vbi1ldmVudC9NUworbm9uLWV4dGVuc2libGUKK25vbi1mbHlpbmcKK25vbi1mcmVlemluZworbm9uLWlkZW50aWNhbAorbm9uLWluZGVwZW5kZW50Citub24tbGluZWFyaXR5L1NNCitub24tbGluZ3Vpc3RpYworbm9uLW1hbGlnbmFudAorbm9uLW1pbGl0YW50L1MKK25vbi1vYnNlcnZhbmNlL1MKK25vbm9nZW5hcmlhbgorbm8tbm9uc2Vuc2UKK25vbi1wYXJhbGxlbC9TCitub25wYXJlaWwvTVMKK25vbi1wYXJ0aWNpcGFudC9TTQorbm9ucGx1cy9HRFMKK25vbi1wb2xpdGljYWwKK25vbi1wcm9maXQvUzcKK25vbi1yZWNvdmVyYWJsZQorbm9uLXJlZmlsbGFibGUKK25vbi1yZW5ld2FibGUKK25vbi1yZXNwb25kZW50L1MKK25vbi1zZWN0YXJpYW4KK25vbi1zdGFuZGFyZAorbm9uLXN0aWNrCitub24tc3VwcG9ydC9TRworbm9uLXRlY2huaWNhbC9ZCitub24tdGVybWluYXRpb24KK25vbi12ZXRlcmFuL1NNCitOb3JhaC9NCitub3JtYWxpemluZy9BCitOb3JzZS9tCitOb3J0aGFtcHRvbnNoaXJlL00KK25vcnRoYm91bmQKK25vcnRoLWVhc3Rlcmx5Citub3J0aGVybHkvUworbm9ydGhlcidzCitub3J0aG1lbgorbm9ydGh3ZXN0ZXIvTVMKK25vcnRoLVdlc3Rlcmx5CitOb3J3YXkvTQorbm9zZS9aREdTTQorbm9zZWJhZy9NCitub3NpbmVzcy9TCitub3N0cnVtL1NNCitub3RhYmxlbmVzcy9NCitub3Rld29ydGhpbmVzcy9TCitub3RoaW5nbmVzcy9TCitub3RvcmlvdXMvUFkKK05vdHJlCitOb3R0aW5naGFtL00KK05vdWFrY2hvdHQvTQorbm91dmVhdXgKK05vdmFrL00KK05vdmVtYmVyL1NNCitudS9NCitudWNsZWFyLXBvd2VyZWQKK251Y2xlb2xpCitudWNsZW9sdXMvTQorbnVkZS9ZM1NUUAorbnVtZXJvdXMvUFkKK251dHJpYS9NUworbnV0cml0aW9uaXN0CitvYWZpc2gvWQorb2FrZW4KK29hc2lzL00KK29hdGVuCitvYXRoL1NNCitvYmV5L0VTREcKK29iZnVzY2F0ZXIKK29ibGF0aW9uL00KK29ibGl0ZXJhdGUvRE52blNWRworb2JzY2VuZS9UWQorb2JzZXJ2ZWQvVQorb2JzZXNzL054WFZTdURHdgorb2Jzb2xlc2NlbmNlL1MKK29ic3RpbmFjeS9TTQorb2JzdHJ1Y3Rpb24vM1NNCitvYnN0cnVjdGl2ZS9QUworb2J2aW91cy9QWQorb2NjdXIvQVNHRAorT2Nob2EvTQorbydjbG9jaworb2N1bGFyL1MKK29kZC9UTFBTWQorT0VNUworT2Vyc3RlZC9NCitvZXN0cnVzL1NNCitvZmZlbmNlL1MKK29mZmhhbmQvaURoCitvZmZpY2lhbGRvbS9NUworb2ZmaWNpbworb2ZmbG9hZC9ER1MKK29mZi1yb2FkL0cKK29mZi1zdHJlZXQKK29mZi10aGUtd2FsbAorT2dsZXRob3JwZS9NCitvZ3JlaXNoCitvZ3Jpc2gKK29oCitvaG8vUworT0hTQS9NCitvaWwtc2hhbGUKK29rYXBpL1NNCitPa2F5YW1hL00KK09rZWVjaG9iZWUvTQorT2tob3Rzay9NCitvbGQtZ29sZAorb2xkaWUvTVMKK29s6QorT2xlbi9NCitvbGlnYXJjaC9aTVd3CitPbHNlbi9NCitPbHltcHVzL1dNCitPbWFuL00KK29tYnVkc21lbgorb21pbm91cy9QWQorb21pbm91c25lc3MvUworb21uaXNjaWVuY2UvTVMKK29tbmlzY2llbnQvU1kKK29uZS1xdWFydGVyCitvbmVyb3VzL1BZCitvbmUtdG8tb25lCitvbi1vZmYKK29uc2lkZQorb250b2dlbnkvTVMKK09Pby9NCitvcGFsZXNjZW50L1kKK29wZW4tZGVhcnRlZG5lc3MKK29wZW4taGFuZGVkL1AKK29wZXJhdGl2ZS9GUFMKK29waHRoYWxtaWMvUworb3BodGhhbG1vbG9neS8zTVdTCitvcHBvc2FibGUKK29wcG9zZWQvVQorb3Bwb3Nlci9NCitvcHByZXNzb3IvU00KK29wcworb3JhbmctdXRhbi9NUworb3JiL1NNR0QKK29yYmljdWxhcgorb3JkZWFsL1NNCitvcmRpbmFyaW5lc3MvUworT3Jkb3ZpY2lhbgorb3JnYW4vVzNxLVE4MXM5dCtTTQorb3JnYW5pc3QKK29yb3R1bmRpdHkvTVMKK29ycGhhbmFnZS9NUworT3JwaGljCitvcnRob2RvbnRpYQorb3J0aG9kb3gvWlVZCitPcndlbGxpYW4KK29zY2lsbGF0b3IvU00KK29zdGVvbG9neS9NCitPc3RyYW5kZXIvTQorb3R0ZXIvTVMKK090dG8vTQorb3VjaC9TCitvdXRmaXQvRworb3V0Zmxvdy9NCitvdXRsZXQKK291dG1hbm9ldXZyZQorb3V0cHJvZHVjZQorb3V0cHV0L01HCitvdXRyaWRlcgorb3V0c291cmNlL0oKK291dC10cmF5CitvdXpvL01TCitvdmF0aW9uL00KK292ZXJiYWxhbmNlCitvdmVyYmVhci9rCitvdmVyYm9yZQorb3ZlcmNhcGFjaXR5CitvdmVyY2FzdAorb3ZlcmNvbWUKK292ZXJjcml0aWNhbAorb3ZlcmZsb3cKK292ZXJmb25kCitvdmVyZ3JvdW5kCitvdmVyaGFuZworb3ZlcmhhdWwvSgorb3ZlcnBvd2VyL2sKK292ZXJwcmVjaXNlCitvdmVycmVhY2hlcgorb3ZlcnNhbXBsZQorb3ZlcnNhdHVyYXRlCitvdmVyc2hhZG93CitPeG9yZHNoaXJlL00KK296CitPemFyay9NUworcGFjZW1hbgorcGFjaWZ5L25EM1JXTjFTRworcGFja2FnZXMvQQorUGFja3dvb2QvTQorcGFkZGVkL1UKK3BhZGRsZS9EUlNNRworUGFkcmV3c2tpL00KK3BhZ2UvU002UkRHCitwYWdlZC9VCitwYWluZnVsL1RQCitQYWlzbGV5L01TCitwYWxhZW9lY29sb2d5L3cKK3BhbGFlb2xpdGhpYworUGFsYWVvem9pYworcGFsYXRhYmxlL1AKK3BhbGF0aW5lL1MKK3BhbGV0dGUvTVMKK3BhbGwvTVMKK3BhbGxhZGl1bS9NCitwYWxsYmVhcmVyL01TCitwYWxtYXRlCitwYWxteS8zVAorcGFsdWRhbAorcGFtYnkKK1BhbWVsYS9NCitwYW1wYXMvTQorcGFuZGVyZXIvUworcGFuZWd5cmljL01TCitwYW5lbGxpc2UvU25ERworcGFuZWxsaXplL1NORG5HCitwYW50aGVvbi9TTQorUGFvbGkvTQorcGFwZXIvMnBkcloKK3BhcGVyLWJveS9TTQorcGFwaWxsYWUKK3BhcHJpa2EvTVMKK1BhcHVhL00KK3Bhci9kREdTN1oKK3BhcmFjZXRhbW9sL00KK3BhcmFsbGVsaXNtL01TCitwYXJhbHlzaXMvTQorcGFyYW1hZ25ldGlzbQorUGFyYW1lY2lhCitwYXJjZWwvU01HRAorcGFyZXJzCitwYXJpZXRhbC9TCitwYXJrd2F5L1NNCitwYXJreS9UCitwYXJsaWFtZW50YXJpYW4vTVMKK3BhcmxvdXMKK3Bhcm9jaGlhbC9ZCitwYXJxdWV0L2R5TVMKK3BhcnJvdGxpa2UKK3BhcnJ5L0dEUworcGFydGVkL0NJCitwYXJ0bmVyc2hpcC9TTQorcGFydCdzL2YKK3Bhc2hhL01TCitwYXNzaXZlcworcGFzc3BvcnQvU00KK3Bhc3QvRE1TMkdaeQorcGFzdGVib2FyZC9TTQorcGFzdGVsL1NNCitwYXN0ZS11cAorcGFzdGlsbGUvTVMKK3Bhc3RvcmF0ZS9TTQorcGFzdHJ5L1NNCitw4nTpL00KK3BhdGVudC9ZU01EN0cKK3BhdGhvcy9TTQorcGF0cmlvdC8xV1NNCitwYXRyaW90J3MvRgorcGF0dGVybi9TR0RwTQorcGF1Y2l0eS9TTQorcGF2ZW1lbnQvTVMKK3BheWVyL1NNCitwYXlpbmcvS2ZjCitwYXktcGFja2V0L1NNCitwYXlzbGlwL1MKK3BkCitQZGUKK1BEU0EKK3BlYWNlL01sNmoKK3BlY2svRFJNR1MKK3BlY3Rpbi9NUworcGVjdWxhdGUvR0RTTm4KK3BlY3VsYXRvci9TCitwZWRvbWV0ZXIvTVMKK3BlZWwvREdTSgorcGVlcC1ob2xlL1NNCitwZWVyaW5nL0YKK3BlbHQvREdTCitwZWx2aWMvUworUGVtYnJva2UvTQorcGVtbWljYW4vU00KK3BlbmFsL1E4LQorcGVuYW5jZS9EU0dNCitQZW5oL00KK3BlbmljaWxsaW4vU00KK3Blbm5hbnQvTVMKK3Blbm55cm95YWwKK1BlbnJpdGgKK3BlbnVyaW91c25lc3MvUworcGVwcGVyL1pkCitwZXBwZXJncmFzcy9NCitwZXBzaW4vU00KK3BlcHRpYy9TCitwZXJhbWJ1bGF0aW9uL00KK3BlcmNlaXZhYmx5CitwZXJjZWl2aW5nCitwZXJjdXNzaXZlL1AKK3BlcmVubmlhbC9ZUworcGVyZmVjdGl2ZS9QCitwZXJmZWN0bmVzcy9TSQorcGVyZnVtZS9TUkRNRworcGVyZnVuY3RvcnkvUFkKK3BlcmdvbGEvU00KK3BlcmluZXVtL00KK3BlcmlvZG9udGljcy9NCitwZXJpcGhyYXNlcworcGVyaXRvbmV1bS9NUworcGVybWFuZW5jZXMvSQorcGVybWVhYmxlL0lQCitwZXJwZXR1YXRpb24vTQorUGVyc2lhbi9NUworcGVyc2ltbW9uL1NNCitwZXJzb25pZmljYXRpb24vTQorcGVyc29uaWZpZXIvTQorcGVyc29ubmVsL01TCitwZXJzcGlyYXRpb24vTQorcGVydGFpbi9EU0cKK3BlcnZlcnNpb24vTQorcGVzdGlsZW50aWFsL1kKK3BldC9TUkdNRAorcGV0cmlmYWN0aW9uL1NNCitwZXRyb2dseXBoL00KK3BldHRpc2gvWVAKK3BoYWxhbmdlci9TTQorcGhhbGFueC9TTQorcGhhbGx1cy9XTVMKK3BoYW50YXNtYWdvcmlhL01TCitQaGFyYW9oL1MKK1BoYXJpc2FpY2FsCitwaGFybWFjeS8zU00KK3BoYXJ5bmdlYWwvUworcGhhcnlueC9NCitwaGFzZW91dC9TCitwaGVub3R5cGUvTVMKK3BoaWxpc3RpbmlzbS9TCitwaGxveC9NCitwaG9uZS9aU1dHMURNCitwaG9zcGhhdGFzZS9NCitwaG90b2NoZW1pY2FsL1kKK3Bob3Rvdm9sdGFpYworcGhyYXNlbWFraW5nCitwaHJhc2VvbG9neS9TTQorcGh5cy93MQorcGh5c2ljYWxuZXNzCitwaHlzaW9nbm9teS9TTQorcGlhc3RyZS9NUworcGlhenphL1NNCitwaWNhL1NNCitwaWNjYWxpbGxpL01TCitwaWNjb2xvL01TCitwaWNrZXQvcmRNUworcGlja3BvY2tldC9TTQorcGljdHVyZXNxdWVuZXNzL1MKK3BpZWNld2lzZQorcGllZG1vbnQKK3BpZ2dlcnkvTQorcGlrZS9TUk1ERworcGlrZW1hbgorcGlsbGFnZS9ER1JTCitwaWxvdGluZy9NCitwaW5lYWwKK3BpbmsvUFpEVE1ZR1MKK3BpbmtleWUvU00KK3Bpbm5hY2xlL0RTTUcKK3BpbnQvTVMKK3BpcXVhbmN5L1NNCitwaXF1YW50L1BZCitwaXJhbmhhL1NNCitwaXN0YWNoaW8vU00KK3Bpc3RpbGxhdGUKK3BpdGlhYmxlL1AKK3BpdGlmdWwvUFQKK3BpdHVpdGFyeS9NUworcGl4ZWwvU00KK3BpenppY2F0aQorcGxhY2F0ZS95RFZTR25OCitwbGFjZWxlc3MvWQorcGxhY2luZy9hQQorcGxhZ2lhcmlzZS9EUkdTCitwbGFnaWFyaXplL0RSR1MKK3BsYWd1ZS9HRE1TCitwbGFpbnNvbmcvU00KK3BsYWl0ZXIKK3BsYW5hcgorcGxhbmV0L01TCitwbGFuZXRvaWQvTVMKK3BsYXRlLzZTTUoKK3BsYXRlYXUvR01EUworcGxhdG9uaWMKK3BsYXlhYmxlL0VVCitwbGF5YmlsbC9NUworcGxheWJveS9NUworcGxheWdyb3VwL1MKK3BsYXlob3VzZS9TTQorcGxlYXNlci9NCitwbGVhc3VyZSdzL0UKK3BsZWJpc2NpdGFyeQorcGxlZGdlL0dETVMKK3BsZW5hcnkvUworcGxldXJhZQorcGxpYWJpbGl0eS9TTQorcGxpbXNvbGxzCitwbGludGgvTVMKK3Bsb2QvRFJHU0pWCitwbG91Z2hlZC9VCitwbHVjay9aR1N6MkQKK3BsdWcvVURTRworcGx1bW1ldC9TZAorcGx1cmFsaXphdGlvbi9NCitwbHVzaC9UWlBNUzJZCitwbQorcG5ldW1vbmlhL01TCitQLk8uCitwb2NrZXRpbmcvTQorcG9lc3kvTVMKK3BvZ28KK3BvaWduYW5jeS9TTQorcG9pbnNldHRpYS9TTQorcG9pbnQtYmxhbmsKK3BvaW50ZWQvUAorcG9pbnRsZXNzbmVzcy9TCitwb2ludHkvVAorcG9sYXJpemUvQ25OU0dECitwb2xhcm9ncmFwaHkvTQorcG9sZS12YXVsdGVyCitwb2xpdGJ1cm8vUworcG9saXRlbmVzcy9JUworcG9saXRlc3NlL01TCitwb2xpdGljaXplL0NHU0QKK3BvbGl0eS9TTXcxCitwb2xsYWNrL01TCitwb2x5YnV0ZW5lL1NNCitwb21hbmRlci9NUworcG9tcG9tL01TCitwb25lL1NaTQorcG9uaWFyZC9TTQorcG9wL1pSR1NETQorcG9wdWxhcml0eS9NVQorcG9wdWxhdGVzL0EKK3BvcmNlbGFpbi9NUworcG9yb3VzL1lQCitwb3Jwb2lzZS9ETUdTCitwb3J0YWJpbGl0eS9TCitwb3J0YWdlcworcG9ydGZvbGlvL01TCitwb3J0aW5nL0ZFNAorcG9ydHJheWVyL00KK1BvcnR1Z2FsL00KK3Bvc2l0cm9uL1NNCitwb3N0LWNvaXRhbC9ZCitwb3N0bHVkZS9NUworcG9zdC1tb2Rlcm4KK3Bvc3QtcHJvZHVjdGlvbgorcG9zdC13YXIKK3BvdGFzc2l1bS9NCitwb3RhdG9lcworcG90ZW5jaWVzL0kKK3BvdHRlci9kWgorcG91bmNlL0RTRworcG91cnJpL1NNCitwb3dlci82amRwU00KK3Bvd2VybGVzc25lc3MvUworcG93d293L1NHRE0KK3ByYWN0aXNlZC9VCitwcmFndWUncworcHJhaXNlJ3MKK3ByYXhpcy9NCitwcmVjaW91cy9TWQorcHJlY2lwaWNlL01TCitwcmVjaXBpdGF0aW9uL00KK3ByZWNpc2VzdAorcHJlZGVjZXNzb3JzJworcHJlLWRlY2ltYWwKK3ByZS1kZWZpbmVkCitwcmVkaWN0YWJsZS9VCitwcmUtZW1pbmVudC9ZCitwcmUtZW1wdGlvbi9TTQorcHJlLWVtcHRvci9NCitwcmVsdWRlL0dNRFMKK3ByZS1wYWNrYWdlL0dTRAorcHJlcGFyYXRpb24vTQorcHJlLXJlY29yZC9TREcKK3ByZXJvZ2F0aXZlL01TCitwcmVzYWdlL0dECitwcmVzYnl0ZXJhbAorcHJlc2J5dGVyYXRlCitwcmVzY2hvb2xlci9TCitwcmVzZW50LWRheQorcHJlc3NtYW4vTQorcHJlc3RpZ2UvU00KK3ByZXN0aWdpb3VzbmVzcworUHJldG9yaWEvTQorcHJldmFpbC9Ha1NECitwcmV2ZW50aXZlL1NQCitwcmljaWVyCitwcmlnZ2lzaG5lc3MvUworcHJpbS9yZFRZCitwcmltYWV2YWwKK3ByaW1vZ2VuaXR1cmUvTVMKK3ByaW1yb3NlL01TCitwcmluY2UvWVNNCitwcmluY2VsaW5lc3MvUworcHJpbnRhYmx5CitwcmludGluZ3MKK3ByaXNvbidzCitwcml6ZWZpZ2h0aW5nL00KK3Byb2FjdGl2ZQorcHJvYmFiaWxpc3QvVzEKK3Byb2NlZWRpbmcvTQorcHJvY2Vzc2VkL1VLQQorcHJvY2Vzc29yL01TCitwcm9jdG9yL2RNUworcHJvLWRlbW9jcmFjeQorcHJvZHVjdC9RVk1zdlN1Citwcm9kdWN0aXZpdHkvU00KK3Byb2dub3N0aWNhdGUvREdTCitwcm9ncmVzc2l2ZS9QUworcHJvaGliaXRpb24vM00KK3Byb2hpYml0aW9uaXN0Citwcm9saXgvWQorcHJvbG9ndWl6ZQorcHJvbG9uZy9uU0RORworcHJvbXB0ZWQvVQorcHJvbXB0bmVzcy9TCitwcm9ub3VuY2VtZW50L1NNCitwcm9vZi9FQVNNCitwcm9wL01TR0QKK3Byb3BhZ2FuZGEvTVMKK3Byb3BhZ2FuZGlzZS9EU0cKK3Byb3BlbC9SU05EbkcKK3Byb3BoeWxheGVzCitwcm9wb3NhbC9TTQorcHJvc2NyaXB0aW9uL00KK3Byb3NwZXIvZFMKK3Byb3RlYW4vUworcHJvdGVjdGlvbmlzdC9TTQorcHJvdGVjdG9yYXRlL01TCitwcm906WfpZS9TCitwcm90b2NvbC9TTQorcHJvdG9uL01TCitwcm90b3R5cGUvV0dTTTFEdworcHJvdHJ1c2lsZQorcHJvdHJ1c2lvbi9NCitwcm92YWJsZS9ZCitQcm92ZW7nYWwKK1Byb3ZlbmNlL00KK3Byb3ZlbmRlci9TTQorcHJvdmlzaW9uZXIvTQorcHJvdm9rZWQvVQorcHJveGltYXRlL1lQCitwcm94eS9NUworcHJ1ZGVudC9JWQorcHJ1c3NpYworcHNhbG1pc3QKK3BzYWx0ZXJ5L1NNCitwc2kKK3Bzb3JpYXNlcworcHNzdC9TCitwc3ljaGVkZWxpYy9ZUworcHN5Y2hvYW5hbHlzZS9XRFNHCitwc3ljaG9hbmFseXRpY2FsCitwc3ljaG9tZXRyeS9XTQorcHN5Y2hvcGF0aGljL1MKK3B0ZXJvZGFjdHlsL01TCitwdG9tYWluZS9NUworcHViaXMvTQorcHVibGljaXN0CitwdWJsaXNoL1I3U0pERworcHVja2lzaG5lc3MvUworcHVkZGxlci9NCitwdWduYWNpb3VzL1lQCitQdWxpdHplcgorcHVscC9ETVMyR1oKK3B1bHB3b29kL1NNCitwdW5jaHkvVAorcHVuY3RpbGlvdXNuZXNzL1MKK3B1bmN0dWFsL1lQCitwdW5jdHVhdGUvRFNHeG5OCitwdW5jdHVhdGlvbi9NCitwdW5jdHVyZS9EU01HCitwdW5nZW5jeS9TTQorcHVuaXNoL0RHTDdTCitwdXBwZXRlZXIvU00KK3B1cullaW5nCitwdXJsaWV1L00KK3B1cnBvc2UtYnVpbHQKK3B1cy9aTQorcHVzaGNoYWlyL1NNCitwdXNzeS1jYXQvUworcHV0cmVmYWN0aXZlCitwdXRyZWZ5L0dTRAorcHV0dC9NUworcHV0dGVlL01TCitwdXR0eWluZy9NCitQVkMKK3FpCitxcgorcXVhY2tlcnkvU00KK3F1YWRyaWMKK3F1YWRyaXBhcnRpdGUvWQorcXVhZHJpcGxlZ2ljL1NNCitxdWFudGlsZS9TCitxdWFydGVyaW5nL00KK3F1YXJ0ZXItcGxhdGUKK3F1YXJ0eml0ZS9NCitxdWFzaS1zeW5jaHJvbm91cworcXVlbGwvU0dECitxdWVzdGVyL0ZNUworcXVlc3Rpb25hYmx5L1UKK3F1ZXVlLWp1bXAvRworcXVpY2tzdGVwL1NNCitxdWllc2NlbnQvWQorcXVpZXNjZW50bmVzcworcXVpZXRpbmcvRQorcXVpZXRzL0UKK3F1aWZmCitxdWlsdGluZy9NCitxdWlwcGVyCitxdWlyZS9TQUkKK1JhYmF0L00KK3JhYmJsZS9TTQorcmFiYmxlLXJvdXNlcgorcmFjZWdvZXJzCityYWQvdzEKK3JhZGlhdGlvbi9NSQorcmFkaW9hY3RpdmUvWQorcmFkaXgvTQorcmFnbGFuL1NNCityYWd0YWcvTQorcmFnd29ydC9NCityYWlkL1JHU0RNCitSYWlsdHJhY2svTQorcmFpbmZhbGwvU00KK3JhaW5mb3Jlc3QvTVMKK3JhaW4tbWFrZXIvTVMKK3JhaW5wcm9vZgorcmFpbndhdGVyL00KK3Jha2UvU0dNRAorcmFrZXIvTQorUmFsZgorcmFtL0RTR00KK3JhbWlmaWNhdGlvbi9NCityYW1wYWdlL0RTRworUmFtcHJha2FzaAorcmFuY2lkaXR5L01TCityYW5neS9UCityYW5rL1BSWVRKREdTTQorcmFudC9SR0pTRGsKK3JhcGlkLWZpcmUKK3JhcGlkaXR5L00KK3JhcHNjYWxsaW9uL1NNCityYXB0dXJvdXMvUFkKK3JhdC1jYXRjaGVyCityYXRlL2NER1MKK3JhdGlmeS9TUk5uREcKK3JhdGlvY2luYXRpb24vTQorcmF0aW9uL01HRAorcmF2YWdlL0RSU0cKK1JheWxlaWdoL00KK3JlL254aG9ZSk5pCityZWFjaGFiaWxpdHkKK3JlYWRhYmlsaXR5L1NNCityZWFkLW9ubHkKK3JlYWRzL2FBCityZWFsdG9yJ3MKK3JlYXNjZW5kL05HCityZWF0dGVtcHQvRworcmViaW5kL0cKK3JlYnVmZi9HCityZWNhbGNpdHJhbmNlL00KK3JlY2FsY3VsYXRlCityZWNlcHRpdmUvVQorcmVjZXB0aXZlbHkKK3JlY2VwdG9yL1NNCityZWNlc3NpdmUvUFMKK3JlY2l0YXRpdmUvU00KK3JlY29nbmlzYWJseS9VCityZWNvbXBlbnNlL1NERworcmVjb25jaWxlZC9VCityZWNvbnZlcnNpb24KK3JlY29yZGVkL0FVCityZWNyaW1pbmF0aW9uL00KK3JlY3J1ZGVzY2VuY2UvTQorcmVjdGFuZ3VsYXIvWQorcmVjdW1iZW50L1kKK3JlY3VycmVudAorcmVkZGVuL2RTCityZS1kZXBsb3llZAorcmVkZXRlcm1pbmUvTkQKK3JlZC1sZXR0ZXIKK1JlZG1vbmQvTQorcmVkb3VibGUKK3JlZHJhZnQvRworcmVkdWN0aW9uL00zCityZS1lbXBoYXNpemUKK3JlZi9NCityZWZlY3Rpb24vTQorcmVmbGVjdG9yL01TCityZWZyYWN0b21ldGVyL1dNUworcmVmcmVlemUKK3JlZnJpZXMKK3JlZnJvemVuCityZWdpbWVudGF0aW9uL00KK3JlZ2lzdHJ5L1NNCityZWdyb3VwL0cKK3JlZ3VsYXRvci9NUworUmVpZ2F0ZQorcmVpbWJ1cnNlL0dMRFMKK1JlaW5oYXJkdC9NCityZWpvaWNlcgorcmVsYXRlL0ZuTnZTVkRHCityZWxhdGl2aXNtL00KK3JlbGF0aXZpc3QvTTFXUworcmVsYXkvR0RNCityZWxlYXNlZC9VCityZWxldmFuY3kvSU1TCityZWxpY3QvTUMKK3JlbGluZQorcmVsdWN0YW5jZS9TTQorcmVsdWN0YW50L1kKK3JlbWFuZC9TREcKK3JlbWFwL0dECityZW1pdC9HWE5TRAorcmVtbmFudC9NUworcmVtb3ZhYmxlL0kKK1JlbmF0YS9NCityZW5lZ2UvUlNERworUmVuby9NCityZW5vd24vRE0KK3JlcGV0aXRpdmUvWQorcmVwb3NlL042TVgKK3JlcHJlaGVuZC9YR1NORAorcmVwcmVzZW50YXRpdmVzCityZXByaW50L0pNCityZXByb2R1Y2UvdWJ2VgorcmVwdWRpYXRlL05uU0RHCityZXB1dGUvbGhTQm5ORAorcmVxdWlyZS9MR0QKK3Jlc2hvdy9HCityZXNpZ25hdGlvbi9NCityZS1zb2x1YmxlCityZXNvbHV0aW9uL0lNUworcmVzcG9uc2libHkvSQorcmVzdGF1cmFudC9NUworcmVzdG9yYXRpb24vTQorcmVzdXJnZW5jZS9TTQorcmVzdXNjaXRhdGlvbi9NCityZXRhbGlhdGlvbi9NCityZXRlbnRpdmUvWQorcmV0aGluay9HCityZXRpY2VudC9ZCityZXRpY3VsYXRlL1NZR0QKK3JldGljdWxlL05TTW4KK3JldHJlYWQvRAorcmV0cm9ncmVzc2lvbi9NCityZXRyb3JvY2tldC9NUworcmV0cm9zcGVjdGlvbi9TTQorcmV0cm9zcGVjdGl2ZS9TCitS6XVuaW9uL00KK3JldmVsYXRpb24vU00KK3JldmVsYXRvcnkKK3JldmVyc2FsL01TCityZXZlcnNpYmlsaXR5J3MKK3JldmlsZS9HUlNMRAorcmV2aXNpb25pc3QKK3JldnVlL1NNCityaGV0b3JpY2lhbi9NUworcmhldW0vVzFNWgorcmhvZG9kZW5kcm9uL01TCityaWNoL1BUU1kKK1JpY2hleS9NCitSaWNodGVyL00KK3JpZGRhbmNlL00KK3JpZGljdWxlL1NETUcKK3JpZmUvVAorcmlnZ2VyL2VTTQorcmlnaHRlb3VzbmVzcy9VCityaWdodC1oYW5kZXIvUworcmlnaHQtdGhpbmtpbmcKK3JpZ21hcm9sZQorUmluZ2xpbmcvTQorcmluZ21hc3Rlci9NUworUml0ei9NCityaXZhbGxlZC9VCityaXZlcmJhbmsvTVMKK3JpdmVyYmVkL1MKK3JpdmVyc2lkZS9TTQorcm9iL0dEUlMKK1JvYmIvTVoKK1JvY2hlL00KK3JvY2svUloyREdTTQorUm9ja2VmZWxsZXIvTQorUm9scGgvTQorUm9tYW4vU00zCitSb21hbnkvTTMKK3JvbXAvUkdTRAorUm9ubnkvTQorcm9vaW5lay9TCityb3BleQorUm9zYWxlcy9NCitSb3NhbW9uZC9NCityb3NhcnkvU00KK3Jvc+kKK1Jvc2Vtb250Cityb3NldHRlL1NNRAorUm9zaWUvTQorUm9zc2kvTQorUm9zc2x5bi9NCitSb3N3ZWxsL00KK3JvdC9ObkRTRworcm90LWd1dC9NCityb3XpL01TCityb3VnaGFnZS9TTQorcm91bmQtdXAKK3JvdXN0L0dEUworcm91dC9SR0RKCitSb3dsZXkvTQorUlNBCitSVQorcnViLWEtZHViCitydWJiaXNoL1NHRFpNCitSdWJlL00KK1J1YmlrL00KK1J1Ymluc3RlaW4vTQorUnVkZG9jay9NCitydWRpbWVudC9TTQorcnVlL0dqNlNECitSdWdieSdzCitydWxlL2NTYUdECitydWxlZC9VCitydWxlci9TTQorcnVtYmEvRE1TRworUnVtZm9yZC9NCitydW4vZUdTY0EKK1J1bmNvcm4vTQorcnVwZWUvTVMKK3NhY3J1bS9NCitTYWRhdC9NCitzYWRpc20vU00KK3NhZmFyaS9TTQorc2FmZWd1YXJkL0dTRE0KK3NhZ2VicnVzaC9NUworc2FnZ3kvVAorc2FpbC9NRFNKRworc2FpbGNsb3RoL00KK3NhaWxmaXNoL01TCitTYWludC1EZW5pcy9NCitTYWtoYWxpbi9NCitzYWxpY3lsaWMKK1NhbGxpZS9NCitTYWxseWFubmUvTQorc2Fsb24vTVMKK3NhbHQtY2VsbGFyL1NNCitzYWx0aW5lc3MKK3NhbHRpc2gKK3NhbHV0YXJ5CitzYWx1dGVyL00KK3NhbHZhZ2UvR01EUworc2FtZQorc2FtdXJhaS9NCitTYW4vTQorc2FuY3RpbW9uaW91cy9ZCitzYW5jdHVhcnkvTVMKK1NhbmRidXJnL00KK3NhbmRlci9TCitTYW5kaS9NCitzYW5kcGFwZXIvTWRTCitzYW5kc3RvbmUvU00KK3NhbmRzdG9ybS9TTQorc2FucworU2Fuc2tyaXQvTVcKK1Pjbworc2Fwd29vZC9NCitTYXJhY2VuL1NNCitTYXJhaC9NCitzYXNoL01EUworc2F0aWF0aW9uL00KK3NhdGlueQorc2F0aXNmYWN0b3JpbmVzcworc2F0aXNmeWluZy9VRQorU2F0dXJkYXkvU00KK1NhdW5kZXJzb24vTQorc2F1bnRlci9kUworc2F1cm9wb2QvU00KK3NhdmUvU0dSSkQKK3NhdmVkL1UKK3NheC9TTQorU2MvTQorc2NhYmJhcmQvTVMKK3NjYWZmb2xkL0pHU00KK3NjYWxhYmxlCitzY2FtcGVyL1NkCitzY2FuZGFsbW9uZ2VyL01TCitTY2FuZGluYXZpYW4vUworc2NhcHVsYS9NCitzY2FyY2UvWVQKK3NjYXJjaXR5L1NNCitzY2FyZi9ETQorc2NhcnZlcworc2NlbmUvMU1TV3kKK3NjZW5lcnkvU00KK3NjZXB0aWMvWU1TCitzY2VwdGljYWwKK1NjaGFlZmVyL00KK1NjaGFlZmZlci9NCitzY2hpem9waHJlbmljL1NZCitTY2htaWR0L00KK3NjaG5hdXplci9NUworU2Nob2ZpZWxkL00KK3NjaG9vbGNoaWxkcmVuCitzY2hvb2xnaXJsL1NNCitzY2hvb2xtYXN0ZXIvU00KK3NjaG9vbHMvSworc2Nob29sdGVhY2hlci9TTQorU2NocvZkaW5nZXIvTQorc2NodXNzL00KK3NjaHdhL01TCitzY2ludGlsbGEvbk0KK1NjaXBpby9NCitzY2xlcm9zaXMvTQorc2NvcnBpb24vTVMKK1Njb3R0c2RhbGUvTQorU2NvdHR5J3MKK3Njb3VyZ2VyL00KK3NjcmF3bHkvVAorc2NyYXduaW5lc3MKK3NjcmVlL00KK3NjcmVlY2hlci9NCitzY3JlZW5lZC9VCitzY3Jld2VkL1UKK3NjcmV3ZXIvTQorU2NyaWFiaW4vTQorc2NyaWJlL0lEU0dDSworc2NyaWJlci9JTUtDCitzY3JpbXAvR1NECitzY3JpcHR1cmFsCitzY3JpcHR3cml0aW5nL00KK3Njcm9sbC9HN01TRAorc2NydWIvUkdEWlMKK3NjcnVtL01TCitzY3J1cHVsb3VzL1lVCitzY3VkL1NERworc2N1ZmZsZS9ER1MKK3NjdWxwdG9yL1NNCitzY3VscHRyZXNzL01TCitzY3VtL1pETUcKK1NjdW50aG9ycGUvTQorc2N1cnJ5L0RHU0oKK1NESQorc2VhZmFyaW5nL1MKK3NlYWwncworc2VhbWFuc2hpcC9NCitz6WFuY2UvTVMKK3NlYXNpZGUvTQorc2VhdGJlbHQvUworc2Vhd29ydGhpbmVzcworc2VjcmV0ZS9TTm4KK3NlY3RvcmVkCitTZWRnZW1vb3IvTQorU2VkZ3dpY2svTQorc2VkdWN0cmVzcy9NUworc2VlZC1lYXRlci9TTQorc2VlaW5nL1VjCitTZWVsZXkvTQorc2VlbWxpbmVzcy9VCitzZWVyL2NTTQorc2VldGhlL1NERworc2VnbWVudGVkL1UKK3NlZ3JlZ2F0ZS9DTkRTR24KK3NlZ3JlZ2F0aW9uJ3MvQworc2VpZ2V1cnkvUworc2Vpc21pYy9ZCitzZWlzbW9ncmFwaC9SU01XWgorc2Vpc21vZ3JhcGh5L00KK3NlaXp1cmUvU00KK3NlbGVjdGFibGUKK3NlbGVuYXRlCitzZWxlbm9sb2d5LzMKK3NlbGYtZGVjZWl0CitzZWxmLWV4YW1pbmF0aW9uCitzZWxmLWluZHVjZWQKK3NlbGYtaW5kdWxnZW5jZQorc2VsZi1pbmZsaWN0ZWQKK3NlbGYtanVzdGlmeWluZworc2VsZi1sb3ZlCitzZWxmLXBpdHkKK3NlbGYtcmVnYXJkCitzZWxmLXJlc3RyYWluZWQKK1NlbHd5bgorc2VtZXN0ZXIvU00KK3NlbWljb2xvbi9NUworc2VtaS1pbmRlcGVuZGVudAorc2VtaS1tb250aGx5CitzZW1pbmFyeS9TTQorc2VtaW9sb2d5LzMKK3NlbWlvdGljL1MKK3NlbWktcHJvZmVzc2lvbmFsL1NZCitzZW1pLXRyYWlsZXIKK3NlbWktdm93ZWwKK3NlbXBzdHJlc3MvTVMKK1NlbmVjYS9NCitzZfFvcmEvU00KK1Nl8W9yYS9NCitzZW5zYXRpb25hbGlzbS9NUworc2Vuc2l0aXZlL0lZCitzZW50ZW50aWFsCitzZW50aW1lbnRhbGl0eS9TTQorc2VwYXJhdGlvbi9NCitzZXBpYS9TTQorc2Vwb3kvUworc2VxdWVuY2VkL0EKK3NlcXVlbnRpYWwvRlkKK3NlcXVlc3RyYXRpb24vTQorU2VyYmlhL00KK3NlcmVuYWRlL0RNR1MKK3NlcmlncmFwaC9NUworc2VycGVudGluZQorc2Vydm8vUworU2V0aC9NCitzZXR0aW5nL0sKK3NldmVudHktZmlyc3QvUworc2V2ZXJhYmxlCitTZXdhcmQvTQorc2V4ZWQvZmMKK3NleGlzbS9TTQorc2V4dHVwbGUvREcKK1NleWNoZWxsZXMvTQorU2V5bW91ci9NCitzaGFja2xlL1VTREcKK3NoYWxsb3QvU00KK3NoYW0vU0dNZEQKK3NoYW1lbGVzcy9ZCitzaGFtZWxlc3NuZXNzCitTaGFuZS9NCitzaGFwZWx5L1QKK3NoYXBlci9NUworc2hhcmVkL1UKK3NoYXJwZW4vQWRTCitzaGFycGVuZWQvVQorc2hhdHRlci9rU2QKK3NoYXZlL0RHU1JKCitzaGUvRE0KK3NoZWFmL00KK3NoZWF0aGUvVURHCitzaGVlcGZvbGQvTQorc2hlZXRpbmcvTQorU2hlZmZpZWxkL1JNCitTaGVwYXJkL00KK1NoZXBwYXJkL00KK3NoZXJkJ3MKK1NoZXJsb2NrL00KK1NoZXJtYW4vTQorU2hlcnlsL00KK1NoaWl0ZS9TTQorc2hpbGxlbGFnaC9NUworc2hpbW1lci9kU1oKK3NoaXBwZXIvU00KK3NoaXJ0aW5nL00KK3Nob2Vib3gKK3Nob2Vob3JuL1NER00KK3Nob290ZXIvU00KK3Nob290aW5nLXN0aWNrL1NNCitzaG9yZWxpbmUvU00KK3Nob3J0LWNpcmN1aXQKK3Nob3J0LXN0YWZmZWQKK3Nob3J0LXRlcm1pc20KK3Nob3QvTVMKK3Nob3diaXoKK3Nob3djYXNlL0dEU00KK3Nob3dkb3duL1NNCitzaG93ZXItYmF0aC9TCitzaG93bWFuc2hpcC9NCitTaHJldmVwb3J0L00KK3NocmV3L01TCitzaHJpbmthYmxlCitzaHVuL0RHUworc2h1dC1vdXQKK3NodXR0bGVjb2NrL01TCitTaWNpbGlhbmEvTQorc2lja2VuL2RrUworc2lja2x5L1QKK3NpZGVsb25nCitzaWRld2FyZHMKK3NpZXJyYS9TTQorc2lmdGluZy9TCitzaWdodGVkL1UKK3NpZ2h0ZWRseQorc2lnaHRzZWUvR1IKK3NpZ25ib2FyZC9NUworc2lnbmVkL2ZVCitzaWduZXQtcmluZy9TTQorc2lnbnBvc3QvREdNUworc2lnbidzL0MKK3NpbGFnZS9TTQorc2lsaWNvc2VzCitzaWxrZW4KK1NpbHZlcnN0b25lCitzaW1pbGFyaXR5L0VTTQorc2ltcGF0aWNvCitzaW11bGF0ZS9Fbk5TR0QKK3NpbXVsYXRpb24vRU0KK1NpbmF0cmEvTQorc2luZXcvTVpTCitzaW5nLWFsb25nCitzaW5ndWxhci9xUy1ZCitzaW50ZXIvTQorc2lzL1oKK3NpdGNvbS9TTQorc2l0dWF0aW9uaXN0CitzaXhwZW5ueQorc2l4dGVlbi9ITQorc2l6ZS9BRDdHUworc2l6ZWQvZmMKK3NrZXRjaGJvb2svU00KK3NrZXdiYWxkCitza2ktbGlmdC9TTQorc2tpbi9NcFoyREdTCitza2luY2FyZQorc2tpbi1kaXZlL1JHCitza2lydHMvZWYKK3NrdW5rL1NNCitza3lkaXZpbmcvTQorc2t5bGlnaHQvTVMKK3NreS1yb2NrZXQvU2RNCitza3ktd3JpdGVyL1NNCitzbGFuZ3kvVAorc2xhcC1oYXBweQorc2xhdmUtZHJvdmUKK3NsYXZlLXRyYWRlL1IKK1NsYXZpYy9NCitzbGVwdC9jCitzbGV3L0dEUworc2xpY2svWURQR1NUCitzbGlnaHRuZXNzCitzbGlwL01TRFJHCitzbGlwY2FzZS9TTQorc2xpcGtub3QvU00KK3NsaXBwYWdlL1NNCitTbG9hbmUvTQorc2x1bS9TR1pNRAorc2x1cnJ5L1NNCitzbHkKK3NtYXJteS9UCitzbWFydG5lc3MKK3NtZWxsL1kyR1M3RAorU21ldGFuYS9NCitzbWlsZXIKK3NtaXJjaC9EU0cKK3Ntb2dneS9UCitzbW9rYWJsZQorc21vb3RoLXRhbGsKK3NtdWRneS9UWVAKK3NuYWNrL0RTR00KK3NuYWcvR01EUworc25hcC9aU1IyR0R6CitzbmFybHkvVAorU25lYWQvTQorc25lYWsvekRrMlpTRworc25pZmZsZXIvTQorc25pcGUvU0dNCitzbmlwcHkvVAorc25vb3R5L1RQCitzbm9ya2VsL1JNU0RHCitzbm93L1ptRDJNR1MKK3Nub3dzaG9lL1NNCitzbnVmZmxlci9NCitzb2FyL0RHa1MKK3NvYmVyL1lka1BTCitzb2JyaXF1ZXQvTVMKK3NvY2lhYmxlL0VVCitTb2NyYXRlcy9NCitzb2QvR1NETQorc29kZGVuL1lQCitzb2Z0LXNlbGwKK3NvbGFyCitzb2xkZXIvU0EKK3NvbGRlcmVyL1MKK3NvbGVtbml0eS9NUworc29saWR1cy9NCitzb2xpbG9xdXkvTQorc29sdWJsZS9FSQorc29sdmVuY3kvSVNNCitTb21hbGlhbi9TCitzb21laG93CitTb21lcnZpbGxlL00KK3NvbWV0aGluZworU29uaWEvTQorc29ubnkvTVMKK1NvbnkvTQorU29waGlhL00KK3NvcHJhbm8vU00KK3NvcmRpZC9QWQorU29yZW5zZW4vTQorU09TCitzb3VuZGxlc3MvWQorc291cOdvbi9NUworc291cy9ER1MKK3NvdXRoZWFzdGVyL1NNCitzb3V0aC1FYXN0d2FyZC9TCitzb3V0aGVybi9SCitTb3V0aHdhcmsKK3NwYWNlY3JhZnQvTQorc3BhY2lhbAorc3BhY2lvdXMvUFkKK1NwYWxkaW5nL00KK3NwYW5nbGUvR01EUworc3BhbmsvSlNERworc3BhcmluZy9VCitzcGFyc2l0eQorc3BhdC9NU0dECitzcGVha2FibGUvVQorc3BlY2lmaWMvUworc3BlY2lmaWNhdGlvbi9NCitzcGVjdGFjdWxhci9ZUworc3BlZAorc3BlZWRvbWV0ZXIvTVMKK3NwZWVkd2VsbC9NUworU3BlbnNlcmlhbgorc3Blcm1pY2lkZS9NCitTUEYKK3NwaWRlcmxpa2UKK3NwaWZmeS9UCitzcGlreS9UUAorc3BpbnN0ZXJob29kL00KK3NwaXJpdC9JZFMKK3NwaXJpdGVkL1kKK3NwaXJpdHVhbGlzdC9XCitTcGlyby9NCitzcGlyeQorc3BpdGUvQU1TCitzcGl0dGxlL01ZCitzcGl0dG9vbi9TTQorc3BsYXNoeS9UCitzcG9pbGVkL1UKK3Nwb2tlL0RtNVMKK3Nwb2xpYXRpb24vU0NNCitzcG9uZ2UvR1pEUlMyTQorc3Bvb24vRDZHU00KK3Nwb3JhZGljL1kKK3Nwb3JlL01TCitzcHJhdC9TTQorc3ByaW5rbGluZy9NCitzcHJpbnQvUkRTTUcKK3NwdW15L1QKK3NwdXJ0L0RHUworc3F1YWIvU00KK3NxdWFiYmxlL0RSU0cKK3NxdWVhbC9EUlNHTQorU3JpCitTU0MKK1NTTAorc3RhYmxlbWFuL00KK3N0YWJsZS1tYXRlCitzdGFibGVuZXNzCitzdGFibGVyCitzdGFibGVzdAorc3RhY2tlci9NCitzdGFpbmVkL1UKK3N0YWlyd2VsbC9NUworc3RhbGtpbmctaG9yc2UKK3N0YWxsJ3MKK3N0YW5kYWxvbmUKK3N0YW5kYnlzCitTdGFuaXNsYXZza3kvTQorU3RhbmxlaWdoL00KK1N0YXJidWNrcworc3RhcmNoeS9UUAorc3RhdGVkL1UKK1N0YXRlaG91c2Uncworc3RhdGVzbWFuL1kKK3N0YXRpc3RpYy9TWU0KK3N0ZWFraG91c2UvTVMKK3N0ZWFsL1NHCitzdGVlcGxlL1NNCitzdGVlcmVyL00KK3N0ZWV2ZXMKK1N0ZWZmZW4vTQorc3Rlbm9ncmFwaHkvV00KK3N0ZXJlby9TTQorc3RlcnRvcm91cy9QWQorU3RldHNvbi9NUworU3RldWJlbi9NCitTdGV2ZS9NCitzdGV3YXJkZXNzL01TCitzdGlmbGVyL00KK3N0aWdtYS9ROFdxLVNNCitzdGlsZXR0by9TTQorc3RpbGxiaXJ0aC9TTQorc3RpbmdyYXkvTVMKK3N0aXItZnJ5L0QKK3N0aXRjaGluZy9NCitzdG9ja2JyZWVkZXIvU00KK3N0b2NrLWluLXRyYWRlCitTdG9ja3BvcnQKK1N0b2tlL00KK3N0b21wL0RTRworc3Rvb2dlL1NNCitzdG9wY29jay9TTQorc3RvcHBlZC9VCitzdG9wcGluZy9VCitzdG9yYWJsZQorc3RvcmFnZS9NUworc3RvcmUncworc3Rvcm1wcm9vZgorc3Rvcm0tc2lnbmFsL01TCitzdG91dC9UWVNQCitzdG92ZS1waXBlL1NNCitzdHJhZ2dsZS9SWURTRworc3RyYWlnaHRpc2gKK3N0cmFpbmluZy9jCitzdHJhcC9EVVNHCitzdHJhdGVneS9XM01TdzEKK3N0cmF0dXMvTQorc3RyYXctd29ybS9TCitzdHJlYW1saW5lcgorc3RyZWV0d2Fsa2VyL01TCitzdHJlcHRvY29jY2FsCitzdHJlc3Nlcworc3RyZXduCitzdHJpcC1zZWFyY2hpbmcKK3N0cml2ZW4KK1N0cm9tL00KK3N0cm9uZ2hvbGQvTVMKK3N0cm9uZ2lzaAorc3Ryb25ncm9vbS9TTQorc3RydWN0dXJhbC8zWQorc3R1Yi9NWkRHUworc3R1ZGlvdXMvWVAKK3N0dW5rCitzdHVwZWZhY3Rpb24vTVMKK3N1Yi1icmFuY2gvTVMKK3N1YmNsYXNzL01TCitzdWJjb21wb25lbnQvU00KK3N1YmRpdmlzaW9uL00KK3N1YmZyYW1lL1NNCitzdWItZ3JvdXAvUworc3ViamVjdGl2ZS9QCitzdWJqdW5jdGl2ZS9TCitTdWItTHQuCitzdWJtZXJzaW9uL00KK3N1Ym9yZGVyL01TCitzdWJzY3JpcHRpb24vTVMKK3N1Yi1zZXF1ZW5jZS9TTQorc3Vic3RhbmRhcmQKK3N1YnN1cmZhY2UKK3N1YnRyb3BpY2FsCitzdWJ1cmJhbi9ROHEtCitzdWJ2ZXJ0ZXIvTQorc3ViLXplcm8KK3N1Y2Nlc3MvWFZNTjZqdnVTCitzdWNjdWJ1cy9NCitzdWNrbGUvSlNHRAorc3VjdGlvbi9ETUdTCitTdWUncworc3VmZnVzZS9ETlhTRworc3VnYXItcGVhL1MKK3N1Z2FycGx1bS9TTQorc3VsbHkvU0RHCitzdWxwaGF0ZS9HRFNNCitzdWxwaG9uYW1pZGUvTVMKK3N1bHBodXJvdXMKK1N1bWVyaWFuL00KK3N1bW1lcmhvdXNlL01TCitzdW5idXJzdC9TTQorc3VwL0dSU0QKK3N1cGVyYW5udWF0ZS9HU05Ebgorc3VwZXJjbGFzcy9NCitzdXBlcmNvbmR1Y3Rpdml0eS9TTQorc3VwZXJpbXBvc2l0aW9uL00KK3N1cGVybGF0aXZlL1BTWQorc3VwZXJuYXR1cmFsaXNtL00KK3N1cGVycG93ZXIvU00KK3N1cGVyc2F0dXJhdGUvR0ROUworc3VwZXJzdHJ1Y3R1cmFsCitzdXBlcnRhbmtlci9NUworc3VwcGxlL0xZUFQKK3N1cHBsaWNhdGlvbi9NCitzdXBwb3NpdGlvbi9NCitzdXJjaW5nbGUvTVMKK3N1cmZhY2VkL1VBCitzdXJmYWN0YW50L1NNCitzdXJuYW1lL1NETQorc3VycGFzc2VkL1UKK3N1cnJlYWxpdHkKK3N1cnZleS9BR1NECitTdXNhbm5haC9NCitzdXNwZW5kL1NORFJYR3ZWCitTVVYKK3N1emVyYWludHkvU00KK1N1enkvTQorU3ZldGxhbmEvTQorc3dhZy9ETUdTCitzd2FnZ2VyL2RTCitzd2FnZ2VyZXIKK3N3YWluL01TCitzd2FtaS9TTQorc3dhcC9SU0dECitzd2FyZC9NRFMKK3N3YXNoL0RTRworc3dheS9TREcKK3N3ZWVwL2tSU0dKCitzd2VldGVuL2RyUworc3dpbXdlYXIKK3N3aW5kbGUvRFJHUworc3dpcGUvREdTTQorc3dpdGNoZWQtb24KK3N3b3JuCitTeWx2YW4ncworc3ltbWV0cmljYWwvVQorc3ltcG9zaXVtL1NNCitzeW1wdG9tL01wV1MxCitzeW5hZXJlc2VzCitzeW5hcHNlL1dTTQorc3luY2hyb25pemVzL0MKK3N5bmNvcGF0aW9uL00KK3N5bmRpY2FsCitzeW5kaWNhdGUvU01ERworc3luZ2VuZXNpcworc3ludGFjdGljL1kKK3N5cmluZ2UvU01HRAordC83aworVGFiYXNjby9NCit0YWJlcm5hY2xlL01TCit0YWJsZWxhbmQvU00KK3RhYmxldC9TTQordGFibGV0b3AvTVMKK3RhYnVsYXRvci9TTQordGFjdGZ1bG5lc3MKK3RhaWxwaXBlL01TCit0YWludGVkL1UKK1RhamlraXN0YW4vTQordGFrZW4vY2FBZgordGFrZXIncy9hCitUYWxpYmFuL00KK3RhbGlzbWFuL1dTTQorVGFsbGFoYXNzZWUvTQorVGFsbHkncwordGFtZWFibGUvVQorVGFtaS9NCitUYW1teS9NCit0YW5iYXJrL1NNCit0YW5naWJpbGl0eS9TSU0KK1Rhbm5lbmJhdW0vTQorVGFueWEvTQordGFydC9TTVlQVEdECit0YXJ0YXIvU01XCitUYXNtYW4KK3RhdHRlci9TCit0YXR0bGUvRFJTRwordGF1bnQva1JHRFMKK3RheGVkL1VjCit0YXhlci9TCit0YXhpd2F5L01TCit0YXhwYXlpbmcKK1RheQorVEJBCit0ZWEvU00KK3RlYWNoYWJsZS9VCit0ZWFyLWRyb3AvU00KK3RlYXItZHVjdC9TCit0ZWFzaG9wL01TCit0ZWNobmV0aXVtL00KK1RlZmxvbi9NCit0ZWxlY29tbXVuaWNhdGlvbi9NCitUZWxlbWFubi9NCit0ZWxldmFuZ2VsaXN0L1MKK3RlbGV2aXNlL0RTWE5HCit0ZWxscy9BCit0ZW1wZXN0dW91c25lc3MKK3RlbXBpCit0ZW1wb3Jpc2UvRFNrUkcKK3RlbXBvcml6ZS9EU2tSRwordGVuZGVybG9pbi9TTQordGVuZGluZy9FCit0ZW5kcy9FCit0ZW5uaXMvTQordGVuc2UvWUlUCit0ZW5zZW5lc3MKK3RlbnRhY2xlL0RTTQordGVudGVyaG9vay9NUwordGVudXJlL01TRAordGVwaWQvWQordGVybWluYXRpbmcKK3RlcnJpYmxlL1kKK3Rlc3RhdHJpeAordGVzdGljdWxhcgordGVzdGluZXNzCit0ZXRyYWN5Y2xpbmUvTVMKK3RldHJhcGxlZ2ljCit0ZXRyYXN0aWNoCit0ZXRyYXN5bGxhYmxlL1cKK1RleGFjby9NCitUZXhhcy9NCitUZXh0cm9uL00KK3RleHR1cmUvU01vREcKK1RoCit0aGFua2Z1bG5lc3MKK3RoZWF0cmVnb2luZwordGhlYXRyaWNhbGl0eS9NUwordGhlZQordGhlbgordGhlb3NvcGh5L3czV1NNCit0aGVyZWFmdGVyCit0aGVyZW9mCit0aGVybW9keW5hbWljL1NZCit0aGVybW9tZXRlci9TTVcKK3RoZXRhL01TCit0aGV5J2xsCit0aGljay9UUFkKK3RoaW5uaXNoCit0aGlyZC9ZCit0aGlyc3R5L1QKK3RoaXJ0eS10aHJlZS9ICit0aGlzdGxlL01TCit0aG9uZy9NU0QKK3Rob3JpdW0vTQorVGhvcm5kaWtlL00KK3RocmVlL0hNUwordGhyZWVzb21lL1NNCit0aHJpY2UKK3RocmlmdHkvVAordGhydW0vR0RTCit0aHVkL0RTTUcKK3RodW1ic2NyZXcvTVMKK1RodW5kZXJiaXJkcwordGh1bmRlcmJvbHQvTVMKK1RodXIvUworVGh1cnNkYXkvU00KK3Rod2Fjay9HRFMKK3RoeQordGh5bWUvTVMKK3RoeXJvaWRhbAordGliaWEvTQordGljL0dSRAordGlja2xlL0RTR1IKK3RpZWJyZWFrZXIvU00KK3RpZS1pbgorVGlmZmFueS9NCit0aWdlcmlzaAordGlnaHQtbGlwcGVkCit0aWdodGx5LWtuaXQKK1RpbWFldXMKK3RpbWViYXNlCit0aW1lJ3MvYwordGltZXN0YW1wcwordGltZS13YXN0aW5nCit0aW1pbmcvTQordGltb3JvdXMvWQordGluZy9ECit0aW55L1BUCit0aXBwbGUvRFNSRwordGlwc3Rlci9TTQordGlyZXNvbWVuZXNzCitUaXJvbGVhbi9TCit0aXQtZm9yLXRhdAordGl0bGUtcGFnZQordGl0bWljZQorVGl0by9NCit0by9JVQordG9hc3RtaXN0cmVzcy9TCitUb2JpYXMvTQordG9kZGxlL0RHU1IKK3RvZGR5L01TCit0b2dnbGUvREdNUwordG9pbC9SU01ERwordG9pbGV0L3lTZE0KK3RvaXR5Cit0b2xsLWJyaWRnZS9NUwordG9sdWVuZS9NCit0b21jYXQvU00KK3RvbWUvU00KK1RvbekvTQordG9vCit0b29sbWFrZXIvU00KK3Rvb3Roc29tZQordG9vdHMvWgorVG9yYWgvTVMKK3Rvcm9pZGFsCit0b3JwZWRvL0RNRworVG9ycmljZWxsaS9NCit0b3JyaWRuZXNzCit0b3RhbGl0YXJpYW4vUwordG91Y2gvQUdEUwordG91Y2hsaW5lL00KK3RvdWNoLXR5cGlzdHMKK1RvdWxvdXNlL00KK3RvdXIvQ1NHTUZECit0b3dhcmQvUwordG93LXBhdGgvTVMKK3Rvd3MvZgordG94aWMvUwordHJhY2hlYWwKK1RyYWNpZS9NCit0cmFja2VkL1UKK3RyYWdlZGllbm5lL1NNCit0cmFpbGVyL2QKK3RyYWluLXNwb3R0ZXIvTQordHJhaXQvU00KK3RyYWl0b3IvTVMKK3RyYW5zY2VuZGVudGFsaXNtL1NNCit0cmFuc2NyaXB0L01TCit0cmFuc2Zlci9EUjdTR01nCit0cmFuc2ZlcmFiaWxpdHkvTQordHJhbnNmZXJlbmNlL1NNCit0cmFuc2Zlcm9yL1NNCit0cmFuc2ZlcnJhbC9TTQordHJhbnNmaW5pdGUKK3RyYW5zZ3Jlc3Nvci9TCit0cmFuc21vZ3JpZmljYXRpb24vTQordHJhbnNwb3J0L0JuTgordHJhbnNwb3J0YXRpb24vTQordHJhbnN2ZXN0aXNtL1NNCit0cmFwZXplL1NNCit0cmFwZXpvaWQvU00KK3RyYXZlc3R5L01EU0cKK3RyZWFjbGUvTVkKK3RyZWF0aW5nL2EKK3RyZWVsaWtlCitUcmVtYXluZS9NCit0cmVtYmxlci9NCit0cmVuY2gncworVHJlbnQvTQordHJlcGFubmVkCit0cmVzc2VzL0UKK3RyZXN0bGUvTVMKK3RyaWFnZS9TRE1HCit0cmlhbHMvQWEKK3RyaWJ1bmUvU00KK3RyaWNoaW5hZQordHJpZmZpZC9TCit0cmlnbHljZXJpZGUvTQordHJpZ29ub21ldHJ5L1d3TQordHJpa2UvTQordHJpbW9kYWwKK3RyaXN0YXRlCit0cml1bXBoYWxpc3QKK3RyaXZhbGVudAordHJpdmV0L1NNCit0cml2aWEvbwordHJvbGxleS9TTQorVHJvbGxvcGUvTQordHJvbWJvbmUvM01TCit0cm91c2VyL1MKK1Ryb3V0bWFuL00KK1Ryb3kncwordHJ1YW5jeS9TTQorVHJ1ZHkvTQordHJ1bmNhdGlvbi9NCitUcnVyby9NCit0cnVzdGVlL1NNCit0cnVzdGVlc2hpcC9TTQordHJ1c3RmdWxuZXNzL0UKK3RydXN0d29ydGh5L1AKK1R1ZXNkYXkvU00KK1R1bGFuZS9NCit0dWxhcmFlbWlhCit0dW1ibGUvUlNHRAordHVtYmxlLWRyeS9TRAordHVtZXNjZW5jZQorVHVuYnJpZGdlCit0dW5kcmEvU00KK3R1bmVmdWwvUFkKK3R1bmdzdGVuL00KK3R1cmJpbmUvU00KK3R1cmJ1bGVudC9ZCit0dXJmL01HWkRTCitUdXJpbi9NCitUdXJrL1dTTQorVHVzY2FuCit0dXNrL0RSR01TCitUdXRhbmtoYW1lbi9NCit0dXRvcmVkL1UKK3R1dHRpL1MKK3R1dC10dXRzCitUVi9NCit0d2VlZHkvVAordHdlbnR5LW5pbmUvSAordHdlbnR5LXNldmVuL0gKK3R3ZW50eS10d29mb2xkCit0d2ljZQordHdpdGNoeS9UCit0d28tZGltZW5zaW9uYWwvWQordHdvLXRpbWVyCit0eWNvb24vU00KK3R5cGljYWwvWQordHlyZS9TTQordWJpcXVpdHkvUworVUhGCit1a2FzZS9TTQordWxuYWUKK3VsdGVyaW9yCit1bHRpbWF0ZS9ZCit1bWJyYS9NUwordW1waXJlL0RNR1MKK3VuYWNjb3VudGFibGUKK3VuYXNzdW1pbmcvWQordW5ibGlua2luZy9ZCit1bmJ1cmRlbi9kCit1bmNsb2cvREcKK3VuY29tZWx5Cit1bmNvbnNjaW9uYWJsZS9ZCit1bmNvbnN0aXR1dGlvbmFsaXR5Cit1bmN0dW91cy9ZCit1bmRlcmJpZC9HCit1bmRlcmN1dC9HCit1bmRlcmdyYWR1YXRlCit1bmRlcmhhbmQvaQordW5kZXJsaW5nL01TCit1bmRlcnNwZW5kCit1bmRpc2NyaW1pbmF0aW5nCit1bmVhcnRoL1lTRwordW5lbW90aW9uYWwKK3VuZXF1YWwvRAorVU5FU0NPCit1bmZhaXRoZnVsbmVzcwordW5mYXRoZXJseQordW5maXRuZXNzCit1bmZvcmdpdmFibGUKK3VuZnJlZXplCit1bmdlbmVyb3VzCit1bmhhcm1vbmlvdXMKK3VuaGVhcmQtb2YKK3VuaG9seQordW5pZGVhbAordW5pbmhpYml0ZWQvWQordW5pb24vcVEzCit1bmlvbmlzbS9NUwordW5pcXVlL1kKK3VuaXF1ZW5lc3MKK3VuaXZhcmlhdGUKK3VuaXZlcnNhbGlzdGljCit1bmxpbmsvRwordW5sb3ZlbHkKK3VubHVja2luZXNzCit1bm5hbWVkCit1bm5lcnZlL2sKK3VucGVydHVyYmVkL1kKK3VucmVhbAordW5yZXNlcnZlZG5lc3MKK3Vuc2NyZXcvRwordW5zaHJpbmtpbmcKK3Vuc3BlY2lmaWMKK3Vuc3VjY2Vzc2Z1bAordW50aWVzL0YKK3Vud2FycmFudGFibGUvWQordW53aXNlbmVzcwordXBicmluZ2luZy9NUwordXBjb3VudHJ5Cit1cGxvYWQvU0RHCit1cHBlci1jYXNlL0RTRwordXBwZXItY2xhc3MvUwordXBwaW5nCit1cHJhdGUvR0QKK3Vwcm9hcmlvdXMvUFkKK3Vwc3RhbmRpbmduZXNzCit1cHN3aW5nL01TCit1cHdhcmQvU1kKK3VyZXRocml0aXMvTQordXJnZW5jeS9TTQordXJuL1NNCit1cnNpbmUKK3VzZXItZnJpZW5kbHkKK1VTRy9NCit1c2hlci9kU00KK3VzaW5nL2ZhY0EKK1VTUAordXN1cmlvdXMvWQorVXRlL00KK3V0ZXJpCit1dGlsaXNhdGlvbi9mCit1dG9waWFuaXNtL00KK3ZhY2F0ZS9ORFNHbgordmFnaW5hL1NNbwordmFsYW5jZS9NUwordmFsZW50aW5lL1NNCit2YWxldHVkaW5hcmlhbmlzbS9NCitWYWxoYWxsYS9NCit2YWxpc2UvU00KK1ZhbGxlL00KK3ZhbHVpbmcvZmMKK3ZhbXBpcmUvTVMKK3ZhbmlzaC9HSlNrRAordmFudGFnZS9TTQordmFyaWFibGUncwordmFzZS9TTQordmVnZXRhdGUvR1ZuRE5TCit2ZWhlbWVuY2UvTQordmVoaWNsZS9TTQordmVsdmV0ZWVuL1NNCit2ZW5nZWFuY2UvU00KK3Zlbm9tL01TCit2ZW50ZWQvS0kKK3ZlbnRyaWxvcXVpc20vTVMKK1ZlbnVzL1MKK3ZlcmJvc2UvWQordmVyaXRhYmxlL1kKK1Zlcm1lZXIvTQordmVybmFsL1kKK3ZlcnNlL0FORFhGUwordmVyc2VkL1UKK3ZldGNoL1NNCit2ZXRvZXMKK3ZpYWwvUzZNCit2aWFuZC9NUwordmljZS1wcmVzaWRlbnQvU00KK3ZpY2UtcHJlc2lkZW50aWFsCitWaWNlJ3MKK1ZpY2tlcnkKK3ZpZXcvSnBEUkdTN00KK3ZpZXcncy9jS0EKK3ZpZ2lsYW5jZS9TTQordmluZGljdGl2ZS9ZUAordmluZS9TTQordmlub3VzCit2aW9sZW5jZS9NUwordmlvbGVudC9ZCit2aXJ0dWUvU29NCit2aXJ0dW91c25lc3MKK3Zpc2FnZS9TTQordmlzY29zZS9TTQordmlzaXRhbnQvU00KK1ZpdGVyYmkvTQordml0aWF0ZS9TTm5HRAordml2YXJpYQordml2aWQvWVAKK3ZpdmlmeS9BU0dORAordml6aWVyL01TCitWbGFkaXZvc3Rvay9NCit2b2NhbGljCit2b2NpZmVyb3VzL1kKK1ZvZGFmb25lL00KK3ZvZ3Vpc2gKK3ZvaWNlL0NHRElTCit2b2ljZS1iYW5kCit2b2ljZWQvVQordm9sbGV5YmFsbC9TTQordm9sdWJpbGl0eS9TCit2b29kb28vU00KK3ZvcmFjaXR5L1NNCitWdWVsdGEvTQorVnVsY2FuaXRlCitXQQorV0FBRgorV2FkZSdzCit3YWZ0L1NHRAord2FmdGVycworV2FsZG8vTQord2FsZS9NRword2FsbGZsb3dlci9TTQord2FuL2RZCit3YW5nbGUvR0RTCit3YXJkcy9JZQord2FyaWVyCit3YXJsb2NrL1NNCit3YXJtLWhlYXJ0ZWQvWQord2FybWluZy9NCit3YXNoZWQvVQord2FzaGVkLW91dAord2FzaC1vdXQvUword2Fzc2FpbC9HTVNECit3YXN0ZS1iYXNrZXQKK3dhdGNoL0dtRFJTNmoKK3dhdGVyLWJpcmQvUword2F0ZXItY29vbGVkCit3YXRlcmZyb250L01TCit3YXRlcnByb29mL1NHRAorV2F1Z2gvTQord2F2ZWxlbmd0aC9NUword2F5c2lkZS9NUword2Vha2xpbmcvU00KK3dlYWwvTQord2VhcG9uL3lNUword2VhcmluZXNzCit3ZWFyaW5nL1kKK3dlYXJpc29tZS9ZCit3ZWF0aGVycHJvb2YvREdTCit3ZWRkZWQKK3dlZGdpZXMKK3dlZGxvY2svTQorV2VkbnNlYnVyeQord2VlZHkvVAorV2VpYnVsbC9NCit3ZWlnaHQncworV2VpbnN0ZWluL00KK3dlaXJkL1RZCit3ZWxkL0dTUkQKK3dlbGwtYmVpbmcKK3dlbGwtZWR1Y2F0ZWQKK3dlbGwtaW50ZW50aW9uZWQKK3dlbGwtbWF0Y2hlZAord2VsbC1uaWdoCit3ZWxsLXBsYWNlZAord2VsbC1wcmVzZXJ2ZWQKK3dlbGwtd29ybgord2VsdGVyd2VpZ2h0L1NNCitXZXN0ZXJseS9TCit3ZXN0ZXJuL3FRU1IKK1dlc3R3b29kL00KK3doYXQnZAorV2hlbGFuL00KK3doZW5ldmVyCit3aGVyZXVwb24KK3doZXQvU0RHCit3aGltL1NNCit3aGltc2ljYWxpdHkvTVMKK3doaW1zaWNhbG5lc3MKK3doaXBsYXNoL01TCitXaGlwcGxlL00KK3doaXNrZXJlZAorV2hpdGNvbWIvTQord2hpdGV5L1NNCitXaGl0dGFsbC9NCit3aG9sZS9TCit3aG9sZXNhbGUvUk1ERword2hvbGVzb21lL1VZCit3aG9vcGVyL00KK3dob3AvUkcKK3dob3NvZXZlcgord2lja2V0LWtlZXBpbmcKK1dpY2tsaWZmZS9NCit3aWRlbmVzcworV2llbGFuZC9NCit3aWZlbHkvVAorV2lnaHQvTQorV2lsYnVyL00KK3dpbGRjYXQvTVMKK3dpbGRlYmVlc3QvU00KK3dpbGRpbmcvTQord2lsbC9Ha1NZRAorV2lsbGlhbS9NUword2lsbG93eS9UCit3aWxseS1uaWxseQord2ltcHkvVAorV2luY2V5ZXR0ZQord2luZC9VR1NBCit3aW5kYmFnL1NNCit3aW5kYnJlYWsvU00KK3dpbmRpbmctc2hlZXQKK3dpbmRzb2NrL1NNCit3aW5kc3dlcHQKK3dpbm5hYmxlCitXaW5uZXRrYQord2luc29tZS9ZCit3aXBlL1NSR0QKK3dpcmUtdGFwcGluZword2lyaW5nL0EKK1dpc2Rlbgord2lzZWNyYWNrL1NHTUQKK3dpdGhhbAord2l0aGRyYXduCit3aXRoc3RhbmQvU0cKK3dpdHRlZC9lCit3b2xmL01ER1MKK1dvbHZlcnRvbgord29sdmVzCit3b21iL01TCit3b25kZXJmdWwvUAord29uJ3QKK3dvb2Rlbi9ZCit3b29kZW5lcgord29vZGxhbmQvU00KK1dvb2Ryb3cKK1dvb2RzdG9jay9NCit3b29kd2luZC9TCit3b29sL1NNWQord29vbC1nYXRoZXJpbmcKK3dvcmRpbmcvTUEKK3dvcmthZGF5Cit3b3JrbWF0ZS9TCit3b3JrLXNoeQord29ya3N0YXRpb24vTVMKK3dvcmstdG8tcnVsZQord29ybGQtY2xhc3MKK3dvcm13b29kL01TCit3cmFwcGVkCit3cmFwcGVyL01TCit3cmFwcy9VCit3cmF0aGZ1bG5lc3MKK3dyZWF0aC9TRE1HCit3cml0ZS9mUkdBUword3JpdGhlL1NERword3J5ZXIKK1dXSUkKK1d5bm4vTQoreWFob28vU00KK3lhbW1lci9TZAorWWFuZ3R6ZQorWWFua3Rvbi9NCitZYW91bmRlL00KK3lhcnJvdy9TTQorWWF0ZXMKK3lkCit5ZWFyLW9uLXllYXIKK3llbGxvd2lzaAoreWVsbG93bmVzcworeWV0CitZaWRkaXNoCit5b2Jiby9TCit5b3Uta25vdy13aG8KK3lvdSdsbAoreW91bmdzdGVyL1NNCit5dHRyaXVtL00KK1l1a29uCit6YWJhZ2xpb25lCit6ZWQvTVMKK3plcm8tcmF0ZWQKK3plcm8tc3VtCitaaW1iYWJ3ZWFuL1MKK3ppbm5pYS9TTQorem9uZSdzCitadXJpY2gvTQpkaWZmIC0tZ2l0IGEvYW50X29uX2Fpci9idWlsZC54bWwgYi9hbnRfb25fYWlyL2J1aWxkLnhtbAppbmRleCBmODNmYmJhLi4yMDQ4ZWZmIDEwMDY0NAotLS0gYS9hbnRfb25fYWlyL2J1aWxkLnhtbAorKysgYi9hbnRfb25fYWlyL2J1aWxkLnhtbApAQCAtMTI4LDYgKzEyOCw3IEBACiAgICAgICAgIGRlc2NyaXB0aW9uPSJDb21waWxlcyB0aGUgU1dDLiI+CiAgICAgICAgIDxjb21wYyAKICAgICAgICAgICAgIG91dHB1dD0iJHtMSUJSQVJZX0RJUn0vJHtMSUJSQVJZX05BTUV9LnN3YyIKKwkJCXN3Zi12ZXJzaW9uPSIyMyIKICAgICAgICAgICAgIGRlYnVnPSIke0RFQlVHX0ZMQUd9IgogICAgICAgICAgICAgZmFpbG9uZXJyb3I9InRydWUiCiAgICAgICAgICAgICBmb3JrPSJ0cnVlIgpAQCAtMTU4LDYgKzE1OSw3IEBACiAJCTxteG1sYyBmaWxlPSIke2Jhc2VkaXJ9L3Rlc3RzL0FudE9uQWlyLm14bWwiCiAJCQlvdXRwdXQ9IiR7YmFzZWRpcn0vdGVzdHMvQW50T25BaXIuc3dmIgogCQkJZGVidWc9IiR7REVCVUdfRkxBR30iCisJCQlzd2YtdmVyc2lvbj0iMjMiCiAJCQlmYWlsb25lcnJvcj0idHJ1ZSIKICAgICAgICAgICAgIGZvcms9InRydWUiCiAgICAgICAgICAgICBtYXhtZW1vcnk9IjUxMm0iPgpkaWZmIC0tZ2l0IGEvYW50X29uX2Fpci9sb2NhbGUvZW5fQVUvYW50LnByb3BlcnRpZXMgYi9hbnRfb25fYWlyL2xvY2FsZS9lbl9BVS9hbnQucHJvcGVydGllcwppbmRleCBkMGFlOWI3Li44Njg3MGEyIDEwMDY0NAotLS0gYS9hbnRfb25fYWlyL2xvY2FsZS9lbl9BVS9hbnQucHJvcGVydGllcworKysgYi9hbnRfb25fYWlyL2xvY2FsZS9lbl9BVS9hbnQucHJvcGVydGllcwpAQCAtMSwyMiArMSwxNyBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IS0tCi0KLSAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCi0gIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAotICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCi0gIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCi0gICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCi0gIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0KLSAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotCi0gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0KLS0tPgorIyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyMgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisjIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyMgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyMgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyMgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyMKKyMgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorIworIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisjIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisjIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisjIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogCiBNS0RJUj1DcmVhdGVkIHlhIGRpciBtYXRlICUxCiBDT1BZPUNvcHlpbmcgeWEgJTEgZmlsZSB0byAlMgpkaWZmIC0tZ2l0IGEvYW50X29uX2Fpci9sb2NhbGUvZW5fR0IvYW50LnByb3BlcnRpZXMgYi9hbnRfb25fYWlyL2xvY2FsZS9lbl9HQi9hbnQucHJvcGVydGllcwppbmRleCA4NDIwMzEzLi42YjVkZWFmIDEwMDY0NAotLS0gYS9hbnRfb25fYWlyL2xvY2FsZS9lbl9HQi9hbnQucHJvcGVydGllcworKysgYi9hbnRfb25fYWlyL2xvY2FsZS9lbl9HQi9hbnQucHJvcGVydGllcwpAQCAtMSwyMiArMSwxNyBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IS0tCi0KLSAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCi0gIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAotICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCi0gIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCi0gICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCi0gIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0KLSAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotCi0gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0KLS0tPgorIyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyMgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisjIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyMgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyMgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyMgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyMKKyMgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorIworIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisjIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisjIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisjIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogCiBNS0RJUj1DcmVhdGVkIGRpcmVjdG9yeSAlMQogQ09QWT1Db3B5aW5nICUxIGZpbGUgdG8gJTIKZGlmZiAtLWdpdCBhL2FudF9vbl9haXIvbG9jYWxlL2VuX1VTL2FudC5wcm9wZXJ0aWVzIGIvYW50X29uX2Fpci9sb2NhbGUvZW5fVVMvYW50LnByb3BlcnRpZXMKaW5kZXggODQyMDMxMy4uNmI1ZGVhZiAxMDA2NDQKLS0tIGEvYW50X29uX2Fpci9sb2NhbGUvZW5fVVMvYW50LnByb3BlcnRpZXMKKysrIGIvYW50X29uX2Fpci9sb2NhbGUvZW5fVVMvYW50LnByb3BlcnRpZXMKQEAgLTEsMjIgKzEsMTcgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCEtLQotCi0gIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQotICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKLSAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgotICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAotICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAotICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotCi0gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLQotICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotCi0tLT4KKyMgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisjIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorIyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisjIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisjICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisjIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisjCisjICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyMKKyMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KIAogTUtESVI9Q3JlYXRlZCBkaXJlY3RvcnkgJTEKIENPUFk9Q29weWluZyAlMSBmaWxlIHRvICUyCmRpZmYgLS1naXQgYS9hbnRfb25fYWlyL3NyYy9vcmcvYXBhY2hlL2ZsZXgvYW50L3RhZ3MvUmVwbGFjZS5hcyBiL2FudF9vbl9haXIvc3JjL29yZy9hcGFjaGUvZmxleC9hbnQvdGFncy9SZXBsYWNlLmFzCmluZGV4IDZhM2NhYzEuLjI4NzNlZTEgMTAwNjQ0Ci0tLSBhL2FudF9vbl9haXIvc3JjL29yZy9hcGFjaGUvZmxleC9hbnQvdGFncy9SZXBsYWNlLmFzCisrKyBiL2FudF9vbl9haXIvc3JjL29yZy9hcGFjaGUvZmxleC9hbnQvdGFncy9SZXBsYWNlLmFzCkBAIC0yNiw2ICsyNiw3IEBACiAgICAgCiAgICAgaW1wb3J0IG9yZy5hcGFjaGUuZmxleC5hbnQuQW50OwogICAgIGltcG9ydCBvcmcuYXBhY2hlLmZsZXguYW50LnRhZ3Muc3VwcG9ydENsYXNzZXMuVGFza0hhbmRsZXI7CisgICAgaW1wb3J0IG9yZy5hcGFjaGUuZmxleC54bWwuSVRhZ0hhbmRsZXI7CiAgICAgCiAgICAgW01peGluXQogICAgIHB1YmxpYyBjbGFzcyBSZXBsYWNlIGV4dGVuZHMgVGFza0hhbmRsZXIKQEAgLTg5LDEwICs5MCwyNiBAQAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGZvciAodmFyIGk6aW50ID0gMDsgaSA8IG51bUNoaWxkcmVuOyBpKyspCiAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICB2YXIgcmY6UmVwbGFjZUZpbHRlciA9IGdldENoaWxkQXQoaSkgYXMgUmVwbGFjZUZpbHRlcjsKLSAgICAgICAgICAgICAgICAgICAgcmYuc2V0Q29udGV4dChjb250ZXh0KTsKLSAgICAgICAgICAgICAgICAgICAgdG9rZW5zLnB1c2gocmYudG9rZW4pOwotICAgICAgICAgICAgICAgICAgICByZXBzLnB1c2gocmYudmFsdWUpOworICAgICAgICAgICAgICAgICAgICB2YXIgY2hpbGQ6SVRhZ0hhbmRsZXIgPSBnZXRDaGlsZEF0KGkpOworICAgICAgICAgICAgICAgICAgICBpZihjaGlsZCBpcyBSZXBsYWNlRmlsdGVyKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmY6UmVwbGFjZUZpbHRlciA9IGNoaWxkIGFzIFJlcGxhY2VGaWx0ZXI7CisgICAgICAgICAgICAgICAgICAgICAgICByZi5zZXRDb250ZXh0KGNvbnRleHQpOworICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5zLnB1c2gocmYudG9rZW4pOworICAgICAgICAgICAgICAgICAgICAgICAgcmVwcy5wdXNoKHJmLnZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKGNoaWxkIGlzIFJlcGxhY2VUb2tlbikKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJ0OlJlcGxhY2VUb2tlbiA9IGNoaWxkIGFzIFJlcGxhY2VUb2tlbjsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJ0LnNldENvbnRleHQoY29udGV4dCk7CisgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbnMucHVzaChydC50ZXh0KTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKGNoaWxkIGlzIFJlcGxhY2VWYWx1ZSkKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJ2OlJlcGxhY2VWYWx1ZSA9IGNoaWxkIGFzIFJlcGxhY2VWYWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJ2LnNldENvbnRleHQoY29udGV4dCk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXBzLnB1c2gocnYudGV4dCk7CisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB2YXIgbjppbnQgPSB0b2tlbnMubGVuZ3RoOwpAQCAtMTEyLDcgKzEyOSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZmlyc3RIYWxmOlN0cmluZyA9IHMuc3Vic3RyKDAsIGMpOwogICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNlY29uZEhhbGY6U3RyaW5nID0gcy5zdWJzdHIoYyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBzID0gZmlyc3RIYWxmICsgc2Vjb25kSGFsZi5yZXBsYWNlKHRva2Vuc1tpXSwgcmVwc1tpXSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjdXIgPSBjICsgMTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN1ciA9IGMgKyByZXBzW2ldLmxlbmd0aDsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0gd2hpbGUgKGMgIT0gLTEpCiAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9hbnRfb25fYWlyL3NyYy9vcmcvYXBhY2hlL2ZsZXgvYW50L3RhZ3MvUmVwbGFjZVRva2VuLmFzIGIvYW50X29uX2Fpci9zcmMvb3JnL2FwYWNoZS9mbGV4L2FudC90YWdzL1JlcGxhY2VUb2tlbi5hcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YmI4MTFkCi0tLSAvZGV2L251bGwKKysrIGIvYW50X29uX2Fpci9zcmMvb3JnL2FwYWNoZS9mbGV4L2FudC90YWdzL1JlcGxhY2VUb2tlbi5hcwpAQCAtMCwwICsxLDQ0IEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCitwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC5hbnQudGFncworeworCWltcG9ydCBteC5jb3JlLklGbGV4TW9kdWxlRmFjdG9yeTsKKwkKKwlpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LmFudC5BbnQ7CisJaW1wb3J0IG9yZy5hcGFjaGUuZmxleC5hbnQudGFncy5zdXBwb3J0Q2xhc3Nlcy5UYWdIYW5kbGVyOworCQorCVtNaXhpbl0KKwlwdWJsaWMgY2xhc3MgUmVwbGFjZVRva2VuIGV4dGVuZHMgVGFnSGFuZGxlcgorCXsKKwkJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpbml0KG1mOklGbGV4TW9kdWxlRmFjdG9yeSk6dm9pZAorCQl7CisJCQlBbnQuYW50VGFnUHJvY2Vzc29yc1sicmVwbGFjZXRva2VuIl0gPSBSZXBsYWNlVG9rZW47CisJCX0KKworCQlwdWJsaWMgZnVuY3Rpb24gUmVwbGFjZVRva2VuKCkKKwkJeworCQkJc3VwZXIoKTsKKwkJfQorCQkKKwkJcHVibGljIGZ1bmN0aW9uIGdldCB0ZXh0KCk6U3RyaW5nCisJCXsKKwkJCXJldHVybiBhbnQuZ2V0VmFsdWUoeG1sLnRleHQoKS50b1N0cmluZygpLCBjb250ZXh0KTsKKwkJfQorCX0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hbnRfb25fYWlyL3NyYy9vcmcvYXBhY2hlL2ZsZXgvYW50L3RhZ3MvUmVwbGFjZVZhbHVlLmFzIGIvYW50X29uX2Fpci9zcmMvb3JnL2FwYWNoZS9mbGV4L2FudC90YWdzL1JlcGxhY2VWYWx1ZS5hcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjdkOGE5Ci0tLSAvZGV2L251bGwKKysrIGIvYW50X29uX2Fpci9zcmMvb3JnL2FwYWNoZS9mbGV4L2FudC90YWdzL1JlcGxhY2VWYWx1ZS5hcwpAQCAtMCwwICsxLDQ0IEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCitwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC5hbnQudGFncworeworCWltcG9ydCBteC5jb3JlLklGbGV4TW9kdWxlRmFjdG9yeTsKKwkKKwlpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LmFudC5BbnQ7CisJaW1wb3J0IG9yZy5hcGFjaGUuZmxleC5hbnQudGFncy5zdXBwb3J0Q2xhc3Nlcy5UYWdIYW5kbGVyOworCQorCVtNaXhpbl0KKwlwdWJsaWMgY2xhc3MgUmVwbGFjZVZhbHVlIGV4dGVuZHMgVGFnSGFuZGxlcgorCXsKKwkJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpbml0KG1mOklGbGV4TW9kdWxlRmFjdG9yeSk6dm9pZAorCQl7CisJCQlBbnQuYW50VGFnUHJvY2Vzc29yc1sicmVwbGFjZXZhbHVlIl0gPSBSZXBsYWNlVmFsdWU7CisJCX0KKworCQlwdWJsaWMgZnVuY3Rpb24gUmVwbGFjZVZhbHVlKCkKKwkJeworCQkJc3VwZXIoKTsKKwkJfQorCQkKKwkJcHVibGljIGZ1bmN0aW9uIGdldCB0ZXh0KCk6U3RyaW5nCisJCXsKKwkJCXJldHVybiBhbnQuZ2V0VmFsdWUoeG1sLnRleHQoKS50b1N0cmluZygpLCBjb250ZXh0KTsKKwkJfQorCX0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hbnRfb25fYWlyL3NyYy9vcmcvYXBhY2hlL2ZsZXgvYW50L3RhZ3MvVFN0YW1wLmFzIGIvYW50X29uX2Fpci9zcmMvb3JnL2FwYWNoZS9mbGV4L2FudC90YWdzL1RTdGFtcC5hcwppbmRleCA4YjdmODhiLi4wNjQ2YTFmIDEwMDY0NAotLS0gYS9hbnRfb25fYWlyL3NyYy9vcmcvYXBhY2hlL2ZsZXgvYW50L3RhZ3MvVFN0YW1wLmFzCisrKyBiL2FudF9vbl9haXIvc3JjL29yZy9hcGFjaGUvZmxleC9hbnQvdGFncy9UU3RhbXAuYXMKQEAgLTIxLDcgKzIxLDggQEAKICAgICBpbXBvcnQgbXguY29yZS5JRmxleE1vZHVsZUZhY3Rvcnk7CiAgICAgaW1wb3J0IG14LnJlc291cmNlcy5SZXNvdXJjZU1hbmFnZXI7CiAgICAgCi0gICAgaW1wb3J0IHNwYXJrLmZvcm1hdHRlcnMuRGF0ZVRpbWVGb3JtYXR0ZXI7CisgICAgaW1wb3J0IGZsYXNoLmdsb2JhbGl6YXRpb24uRGF0ZVRpbWVGb3JtYXR0ZXI7CisgICAgaW1wb3J0IGZsYXNoLmdsb2JhbGl6YXRpb24uTG9jYWxlSUQ7CiAgICAgCiAgICAgaW1wb3J0IG9yZy5hcGFjaGUuZmxleC5hbnQuQW50OwogICAgIGltcG9ydCBvcmcuYXBhY2hlLmZsZXguYW50LnRhZ3Muc3VwcG9ydENsYXNzZXMuVGFza0hhbmRsZXI7CkBAIC00NCwxNCArNDUsMTQgQEAKICAgICAgICAgICAgIHN1cGVyLmV4ZWN1dGUoY2FsbGJhY2tNb2RlLCBjb250ZXh0KTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgdmFyIGQ6RGF0ZSA9IG5ldyBEYXRlKCk7Ci0gICAgICAgICAgICB2YXIgZGY6RGF0ZVRpbWVGb3JtYXR0ZXIgPSBuZXcgRGF0ZVRpbWVGb3JtYXR0ZXIoKTsKLSAgICAgICAgICAgIGRmLmRhdGVUaW1lUGF0dGVybiA9ICJ5eXl5TU1kZCI7CisgICAgICAgICAgICB2YXIgZGY6RGF0ZVRpbWVGb3JtYXR0ZXIgPSBuZXcgRGF0ZVRpbWVGb3JtYXR0ZXIoTG9jYWxlSUQuREVGQVVMVCk7CisgICAgICAgICAgICBkZi5zZXREYXRlVGltZVBhdHRlcm4oInl5eXlNTWRkIik7CiAgICAgICAgICAgICB2YXIgZHN0YW1wOlN0cmluZyA9IGRmLmZvcm1hdChkKTsKICAgICAgICAgICAgIGNvbnRleHRbIkRTVEFNUCJdID0gZHN0YW1wOwotICAgICAgICAgICAgZGYuZGF0ZVRpbWVQYXR0ZXJuID0gImhobW0iOworICAgICAgICAgICAgZGYuc2V0RGF0ZVRpbWVQYXR0ZXJuKCJoaG1tIik7CiAgICAgICAgICAgICB2YXIgdHN0YW1wOlN0cmluZyA9IGRmLmZvcm1hdChkKTsKICAgICAgICAgICAgIGNvbnRleHRbIlRTVEFNUCJdID0gdHN0YW1wOwotICAgICAgICAgICAgZGYuZGF0ZVRpbWVQYXR0ZXJuID0gIk1NTU0gZGQgeXl5eSI7CisgICAgICAgICAgICBkZi5zZXREYXRlVGltZVBhdHRlcm4oIk1NTU0gZGQgeXl5eSIpOwogICAgICAgICAgICAgdmFyIHRvZGF5OlN0cmluZyA9IGRmLmZvcm1hdChkKTsKICAgICAgICAgICAgIGNvbnRleHRbIlRPREFZIl0gPSB0b2RheTsKICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvYW50X29uX2Fpci90ZXN0cy90ZXN0LnhtbCBiL2FudF9vbl9haXIvdGVzdHMvdGVzdC54bWwKaW5kZXggZmE0ZWE0ZC4uZTIxODc5NSAxMDA2NDQKLS0tIGEvYW50X29uX2Fpci90ZXN0cy90ZXN0LnhtbAorKysgYi9hbnRfb25fYWlyL3Rlc3RzL3Rlc3QueG1sCkBAIC0xODYsNiArMTg2LDcgQEAKICAgICAgICAgICAgIDxlbnRyeSBrZXk9InNvbWVrZXkiIHZhbHVlPSJzb21ldmFsdWUiIC8+CiAgICAgICAgICAgICA8ZW50cnkga2V5PSJzb21la2V5MSIgdmFsdWU9InNvbWV2YWx1ZTEiIC8+CiAgICAgICAgICAgICA8ZW50cnkga2V5PSJsb29wdGVzdCIgdmFsdWU9ImZvbyIgLz4KKyAgICAgICAgICAgIDxlbnRyeSBrZXk9InhtbCIgdmFsdWU9IiZsdDt0ZXN0LyZndDsiIC8+CiAgICAgICAgIDwvcHJvcGVydHlmaWxlPgogICAgICAgICA8ZmFpbCBtZXNzYWdlPSJwcm9wZXJ0eWZpbGUgZGlkIG5vdCByZXN1bHQgaW4gZXhwZWN0ZWQgZmlsZSI+CiAgICAgICAgICAgICA8Y29uZGl0aW9uPgpAQCAtMTk5LDYgKzIwMCwxNCBAQAogICAgICAgICA8cmVwbGFjZSBmaWxlPSIke2Jhc2VkaXJ9L3RlbXAvY3VzdG9tLnByb3BlcnRpZXMiPgogICAgICAgICAgICAgPHJlcGxhY2VmaWx0ZXIgdG9rZW49ImtleSIgdmFsdWU9Imt5IiAvPgogICAgICAgICA8L3JlcGxhY2U+CisgICAgICAgIDxyZXBsYWNlIGZpbGU9IiR7YmFzZWRpcn0vdGVtcC9jdXN0b20ucHJvcGVydGllcyI+CisgICAgICAgICAgICA8cmVwbGFjZXRva2VuPmxvb3A8L3JlcGxhY2V0b2tlbj4KKyAgICAgICAgICAgIDxyZXBsYWNldmFsdWU+bG9wPC9yZXBsYWNldmFsdWU+CisgICAgICAgIDwvcmVwbGFjZT4KKyAgICAgICAgPHJlcGxhY2UgZmlsZT0iJHtiYXNlZGlyfS90ZW1wL2N1c3RvbS5wcm9wZXJ0aWVzIj4KKyAgICAgICAgICAgIDxyZXBsYWNldG9rZW4+PCFbQ0RBVEFbPHRlc3QvPl1dPjwvcmVwbGFjZXRva2VuPgorICAgICAgICAgICAgPHJlcGxhY2V2YWx1ZT48IVtDREFUQVs8cmVwbGFjZWQvPjx0ZXN0Lz5dXT48L3JlcGxhY2V2YWx1ZT4KKyAgICAgICAgPC9yZXBsYWNlPgogICAgICAgICA8bG9hZHByb3BlcnRpZXMgc3JjRmlsZT0iJHtiYXNlZGlyfS90ZW1wL2N1c3RvbS5wcm9wZXJ0aWVzIiAvPgogICAgICAgICA8ZmFpbCBtZXNzYWdlPSJyZXBsYWNlIGRpZCBub3Qgd29yazogZm91bmQgc29tZWtleSI+CiAgICAgICAgICAgICA8Y29uZGl0aW9uPgpAQCAtMjEyLDYgKzIyMSwxMSBAQAogICAgICAgICAgICAgICAgIDwvbm90PgogICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgIDwvZmFpbD4KKyAgICAgICAgPGZhaWwgbWVzc2FnZT0icmVwbGFjZSBkaWQgbm90IHdvcms6IGZvdW5kIGxvb3B0ZXN0Ij4KKyAgICAgICAgICAgIDxjb25kaXRpb24+CisgICAgICAgICAgICAgICAgPGlzc2V0IHByb3BlcnR5PSJsb29wdGVzdCIgLz4KKyAgICAgICAgICAgIDwvY29uZGl0aW9uPgorICAgICAgICA8L2ZhaWw+CiAgICAgICAgIDxmYWlsIG1lc3NhZ2U9InJlcGxhY2UgZGlkIG5vdCB3b3JrOiBkaWQgbm90IGZpbmQgcmVwbGFjZWRrZXkxIj4KICAgICAgICAgICAgIDxjb25kaXRpb24+CiAgICAgICAgICAgICAgICAgPG5vdD4KQEAgLTIyMiw3ICsyMzYsMTQgQEAKICAgICAgICAgPGZhaWwgbWVzc2FnZT0icmVwbGFjZSBkaWQgbm90IHdvcms6IGRpZCBub3QgZmluZCBmb29kIj4KICAgICAgICAgICAgIDxjb25kaXRpb24+CiAgICAgICAgICAgICAgICAgPG5vdD4KLSAgICAgICAgICAgICAgICAgICAgPGVxdWFscyBhcmcxPSIke2xvb3B0ZXN0fSIgYXJnMj0iZm9vZCIgLz4KKyAgICAgICAgICAgICAgICAgICAgPGVxdWFscyBhcmcxPSIke2xvcHRlc3R9IiBhcmcyPSJmb29kIiAvPgorICAgICAgICAgICAgICAgIDwvbm90PgorICAgICAgICAgICAgPC9jb25kaXRpb24+CisgICAgICAgIDwvZmFpbD4KKyAgICAgICAgPGZhaWwgbWVzc2FnZT0icmVwbGFjZSBkaWQgbm90IHdvcms6IGRpZCBub3QgZmluZCAmbHQ7cmVwbGFjZWQvJmd0OyZsdDt0ZXN0LyZndDsiPgorICAgICAgICAgICAgPGNvbmRpdGlvbj4KKyAgICAgICAgICAgICAgICA8bm90PgorICAgICAgICAgICAgICAgICAgICA8ZXF1YWxzIGFyZzE9IiR7eG1sfSIgYXJnMj0iJmx0O3JlcGxhY2VkLyZndDsmbHQ7dGVzdC8mZ3Q7IiAvPgogICAgICAgICAgICAgICAgIDwvbm90PgogICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgIDwvZmFpbD4KZGlmZiAtLWdpdCBhL2luc3RhbGxlci9SRUFETUUgYi9pbnN0YWxsZXIvUkVBRE1FCmluZGV4IDhmZWY4ZTcuLjVhNTZiYTcgMTAwNjQ0Ci0tLSBhL2luc3RhbGxlci9SRUFETUUKKysrIGIvaW5zdGFsbGVyL1JFQURNRQpAQCAtMTksNyArMTksNyBAQAogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIE92ZXJ2aWV3OgotPT09PT09PT09Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAogLSBUaGUgQXBhY2hlIEZsZXggU0RLIEluc3RhbGxlciBBSVIgYXBwbGljYXRpb24gcHJvdmlkZXMgYW4gZWFzeSBpbnN0YWxsYXRpb24gb2YgdGhlIAogICBBcGFjaGUgRmxleCBTREsgYW5kIGFsbCBpdHMgZGVwZW5kZW5jaWVzLiAgVGhpcyB3aWxsIG1ha2UgaXQgc3VpdGFibGUgZm9yIHdvcmtpbmcgd2l0aCAKQEAgLTEyNyw3ICsxMjcsNyBAQAogCWZpbGUgKHZhcjogVEVNUF9QQVNTX0NIQU5HRV9USElTKQogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLUhvdyB0byBzZXQgdXAgdGhlIHByb2plY3QgZm9yIHdvcmtpbmcgd2l0aCBBZG9iZSBGbGFzaCBCdWlsZGVyIChvciBhbnkgb3RoZXIgSURFKToKK0hvdyB0byBzZXQgdXAgdGhlIHByb2plY3QgZm9yIHdvcmtpbmcgd2l0aCBBZG9iZSBGbGFzaCBCdWlsZGVyIDQuNzoKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCiAxLiAgVW56aXAgdGhlIHNvdXJjZSBkaXN0cmlidXRpb24uICBZb3Ugc2hvdWxkIHNlZSB0aGUgJ2luc3RhbGxlcicgZGlyZWN0b3J5IGFuZCB0aGUgCkBAIC0xNTEsMyArMTUxLDUyIEBACiAKIDcuICBJbiB0aGUgaW5zdGFsbGVyIHByb2plY3QsIGFkZCAke0FQQUNIRV9GTEVYX1VUSUxJVElFU19ST09UfS9hbnRfb25fYWlyL2xvY2FsZS97bG9jYWxlfSBhcyBhIHNvdXJjZSBwYXRoLgogCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK0hvdyB0byBzZXQgdXAgdGhlIHByb2plY3QgZm9yIHdvcmtpbmcgd2l0aCBKZXRCcmFpbnMgSURFQSAxMisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisxLiAgU2V0dXAgYSBuZXcgcHJvamVjdCBieSBlaXRoZXIgdW56aXBwaW5nIHRoZSBkb3dubG9hZGVkIHNvdXJjZSBvciBncmFiYmluZyB0aGUgc291cmNlIGZyb20gdGhlIHZlcnNpb24gY29udHJvbC4KKworMi4gIER1cmluZyB0aGUgcHJvamVjdCBzZXR1cCwgRE8gTk9UIHNlYXJjaCBmb3IgbW9kdWxlcyBvciBmcmFtZXdvcmtzLiAgV2Ugd2lsbCBzZXQgdGhlc2UgdXAgbGF0ZXIuCisKKzMuICBTZXR1cCBhIG5ldyBtb2R1bGUgYnkgZ29pbmcgdG8gdGhlIEZpbGUgLT4gTmV3IE1vZHVsZSBtZW51LgorICAgIE1vZHVsZSBUeXBlIDogIEZsYXNoCisgICAgVGFyZ2V0IFBsYXRmb3JtIDogRGVza3RvcAorICAgIE91dHB1dCBUeXBlIDogQXBwbGljYXRpb24KKyAgICBDcmVhdGUgU2FtcGxlIEFwcCA6ICBVbmNoZWNrZWQKKyAgICBDcmVhdGUgSFRNTCBXcmFwcGVyIDogVW5jaGVja2VkCisKKyAgICBDcmVhdGUgdGhlIG5ldyBtb2R1bGUsIG5hbWUgaXQgImluc3RhbGxlciIgYW5kIGNob3NlIHRoZSAke0FQQUNIRV9GTEVYX1VUSUxJVElFU19ST09UfS9pbnN0YWxsZXIgZGlyZWN0b3J5CisKKzQuICBBZnRlciB0aGUgbW9kdWxlIGlzIGNyZWF0ZWQsIGdvIGludG8gdGhlIGluc3RhbGxlciBtb2R1bGUgc2V0dGluZ3MgKFJpZ2h0LUNsaWNrIC0+ICBPcGVuIE1vZHVsZSBTZXR0aW5ncykKKworNS4gIEFkZCB0aGUgZm9sbG93aW5nIENvbnRlbnQgUm9vdHMgOgorICAgIGZsZXgtdXRpbGl0aWVzXGFudF9vbl9haXIKKyAgICBmbGV4LXV0aWxpdGllc1xjb21tb24KKworNi4gIE1hcmsgdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllcyBhcyBTb3VyY2VzIDogICAoc29tZSBtYXkgYWxyZWFkeSBiZSBtYXJrZWQgYXMgc3JjKQorICAgIGZsZXgtdXRpbGl0aWVzXGFudF9vbl9haXJcc3JjCisgICAgZmxleC11dGlsaXRpZXNcYW50X29uX2FpclxleHRlcm5hbAorICAgIGZsZXgtdXRpbGl0aWVzXGNvbW1vblxzcmMKKyAgICBmbGV4LXV0aWxpdGllc1xpbnN0YWxsZXJcc3JjCisKKzcuICBDbG9zZSB0aGUgU2V0dGluZ3MgZGlhbG9nCisKKzguICBPcGVuIHRoZSBBbnQgQnVpbGQgdGFiIHdpdGhpbiBJREVBLgorICAgIEFkZCB0aGUgZmxleC11dGlsaXRpZXNcYnVpbGQueG1sIEFOVCBidWlsZCBzY3JpcHQuCisKKzkuICBSdW4gdGhlIGdldC1hczNjb21tb25zLnN3YyBhbnQgdGFyZ2V0LiAgVGhpcyB3aWxsIGRvd25sb2FkIHRoZSByZXF1aXJlZCBTV0MgdG8gYnVpbGQgdGhlIGluc3RhbGxlci4KKworMTAuIFJldHVybiB0byB0aGUgbW9kdWxlIHByb3BlcnRpZXMsIGFuZCBnbyB0byB0aGUgZGVwZW5kZW5jaWVzIHRhYi4gIE1ha2Ugc3VyZSB0aGUgZm9sbG93aW5nIGFyZSBsaXN0ZWQgOgorICAgIEZsZXggU0RLCisgICAgZmxleC11dGlsaXRpZXNcaW5zdGFsbGVyXGxpYnMKKyAgICBmbGV4LXV0aWxpdGllc1xpbnN0YWxsZXJcY29tbW9uXGJpblxjb21tb24uc3djCisgICAgZmxleC11dGlsaXRpZXNcaW5zdGFsbGVyXGFudF9vbl9haXJcYmluXGFudF9vbl9haXIuc3djCisgICAgZmxleC11dGlsaXRpZXNcYW50X29uX2FpclxleHRlcm5hbFxsaWJzXGFzM2NvbW1vbnMtemlwLTEuMC4wLWFscGhhLjEuc3djCisKKzExLiBBcHBseSBhbmQgY2xvc2UgdGhlIGRpYWxvZyBib3guCisKKzEyLiBVcGRhdGUgdGhlIGZsZXgtdXRpbGl0aWVzXGluc3RhbGxlclxidWlsZC5wcm9wZXJ0aWVzIHRvIG1hdGNoIHlvdXIgc2V0dGluZ3MuICBJbiB0aGVvcnkgeW91IHNob3VsZCBvbmx5CisgICAgaGF2ZSB0byB1cGRhdGUgdGhlIEZMRVhfSE9NRV9XSU4gb3IgRkxFWF9IT01FX01BQyBwcm9wZXJ0eSB0byBwb2ludCB0byB5b3VyIFNESyB3aXRoIEFJUiA0LjAgb3ZlcmxhaWQuCisKK1lvdSBzaG91bGQgbm93IGJlIGFibGUgdG8gYnVpbGQgYW5kIGRlYnVnIHRoZSBpbnN0YWxsZXIuCmRpZmYgLS1naXQgYS9pbnN0YWxsZXIvYnVpbGQueG1sIGIvaW5zdGFsbGVyL2J1aWxkLnhtbAppbmRleCA0OWRlNjk3Li5lMDUyMDUxIDEwMDY0NAotLS0gYS9pbnN0YWxsZXIvYnVpbGQueG1sCisrKyBiL2luc3RhbGxlci9idWlsZC54bWwKQEAgLTY4LDYgKzY4LDEwIEBACiAgICAgPHByb3BlcnR5IG5hbWU9ImJpbmFyeS5raXQiIHZhbHVlPSIke2tpdC5wcmVmaXh9LWJpbiIvPgogICAgIDxwcm9wZXJ0eSBuYW1lPSJMT0NBTF9DT05GSUdfRklMRSIgdmFsdWU9IiR7YmFzZWRpcn0vc3JjL2luc3RhbGxlci9zZGstaW5zdGFsbGVyLWNvbmZpZy00LjAueG1sIiAvPgogCisgICAgPCEtLTxwcm9wZXJ0eSBuYW1lPSJjb21tb25zLnppcCIgdmFsdWU9Imh0dHA6Ly9wcm9qZWN0cy55b29sYWIub3JnL21hdmVuL2NvbnRlbnQvcmVwb3NpdG9yaWVzL3JlbGVhc2VzL29yZy9hczNjb21tb25zL2FzM2NvbW1vbnMtemlwLzEuMC4wLWFscGhhLjEvYXMzY29tbW9ucy16aXAtMS4wLjAtYWxwaGEuMS5zd2MiIC8+LS0+CisgICAgPCEtLSB1c2UgdGhpcyBvbmUgZm9yIG5vdyB1bnRpbCB3ZSBmaW5kIGEgYmV0dGVyIHNvdXJjZSAtLT4KKyAgICA8cHJvcGVydHkgbmFtZT0iY29tbW9ucy56aXAiIHZhbHVlPSJodHRwczovL2dpdGh1Yi5jb20vYmlnb3NtYWxsbS9NYWtlQXBhY2hlRmxleEZvckZsYXNoQnVpbGRlci9ibG9iL21hc3Rlci9saWJzL2FzM2NvbW1vbnMtemlwLTEuMC4wLWFscGhhLjEuc3djP3Jhdz10cnVlIiAvPgorICAgIAogICAgIDwhLS0KICAgICAgICAgUHJvcGVydGllcyBhcmUgaW1tdXRhYmxlIHNvIHZhbHVlIGZyb3plbiBmaXJzdCB0aW1lIHByb3BlcnR5IGlzIHNldC4KICAgICAgICAgSWYgRkxFWF9IT01FIGlzIG5vdCBzZXQgd2l0aCAtREZMRVhfSE9NRT0vcGF0aC90by9mbGV4L3NkayBvbiB0aGUgYW50IGNvbW1hbmQgbGluZQpAQCAtMjc1LDEwICsyNzksMTEgQEAKICAgICA8dGFyZ2V0IG5hbWU9ImdldC1hczNjb21tb25zLnN3YyIgZGVwZW5kcz0iY2hlY2stYXMzY29tbW9ucy5zd2MiIHVubGVzcz0iYXMzY29tbW9ucy5zd2MucHJlc2VudCIKICAgICAgICAgZGVzY3JpcHRpb249IkRvd25sb2FkIGFzM2NvbW1vbnMuc3djIGFuZCBmYWlsIGlmIGNoZWNrc3VtIG1pc21hdGNoLiI+CiAgICAgICAgIDxta2RpciBkaXI9IiR7TElCUkFSWV9ESVJ9Ii8+Ci0gICAgICAgIDxnZXQgc3JjPSJodHRwOi8vcHJvamVjdHMueW9vbGFiLm9yZy9tYXZlbi9jb250ZW50L3JlcG9zaXRvcmllcy9yZWxlYXNlcy9vcmcvYXMzY29tbW9ucy9hczNjb21tb25zLXppcC8xLjAuMC1hbHBoYS4xL2FzM2NvbW1vbnMtemlwLTEuMC4wLWFscGhhLjEuc3djIgorICAgICAgICA8Z2V0IHNyYz0iJHtjb21tb25zLnppcH0iCiAgICAgICAgICAgICBkZXN0PSIke0xJQlJBUllfRElSfS9hczNjb21tb25zLXppcC0xLjAuMC1hbHBoYS4xLnN3YyIKICAgICAgICAgICAgIHZlcmJvc2U9InRydWUiLz4KLSAgICAgICAgPGdldCBzcmM9Imh0dHA6Ly9wcm9qZWN0cy55b29sYWIub3JnL21hdmVuL2NvbnRlbnQvcmVwb3NpdG9yaWVzL3JlbGVhc2VzL29yZy9hczNjb21tb25zL2FzM2NvbW1vbnMtemlwLzEuMC4wLWFscGhhLjEvYXMzY29tbW9ucy16aXAtMS4wLjAtYWxwaGEuMS5zd2MubWQ1IgorICAgICAgICA8IS0tIHNraXAgY2hlY2tzdW0gdW50aWwgd2UgZmluZCBhIHZhbGlkIGZpbGUKKyAgICAgICAgPGdldCBzcmM9IiR7Y29tbW9ucy56aXB9Lm1kNSIKICAgICAgICAgICAgIGRlc3Q9IiR7TElCUkFSWV9ESVJ9L2FzM2NvbW1vbnMtemlwLTEuMC4wLWFscGhhLjEuc3djLm1kNSIKICAgICAgICAgICAgIHZlcmJvc2U9InRydWUiLz4KICAgICAgICAgPGNoZWNrc3VtIGZpbGU9IiR7TElCUkFSWV9ESVJ9L2FzM2NvbW1vbnMtemlwLTEuMC4wLWFscGhhLjEuc3djIiBhbGdvcml0aG09Im1kNSIgdmVyaWZ5UHJvcGVydHk9ImlzTUQ1b2siLz4KQEAgLTI4OCw2ICsyOTMsNyBAQAogICAgICAgICAgICAgICAgIDxpc2ZhbHNlIHZhbHVlPSIke2lzTUQ1b2t9Ii8+CiAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgPC9mYWlsPgorICAgICAgICAgLS0+CiAgICAgPC90YXJnZXQ+CiAKICAgICA8dGFyZ2V0IG5hbWU9ImNoZWNrLWFzM2h0dHBjbGllbnQuc3djIj4KZGlmZiAtLWdpdCBhL2luc3RhbGxlckxvY2FsZUVkaXRvci9zcmMvb3JnL2FwYWNoZS9mbGV4L3J1bnRpbWVsb2NhbGUvaW5pL0luaVJlYWRlci5hcyBiL2luc3RhbGxlckxvY2FsZUVkaXRvci9zcmMvb3JnL2FwYWNoZS9mbGV4L3J1bnRpbWVsb2NhbGUvaW5pL0luaVJlYWRlci5hcwppbmRleCBjY2U2MWEzLi41ZWNjNTM5IDEwMDY0NAotLS0gYS9pbnN0YWxsZXJMb2NhbGVFZGl0b3Ivc3JjL29yZy9hcGFjaGUvZmxleC9ydW50aW1lbG9jYWxlL2luaS9JbmlSZWFkZXIuYXMKKysrIGIvaW5zdGFsbGVyTG9jYWxlRWRpdG9yL3NyYy9vcmcvYXBhY2hlL2ZsZXgvcnVudGltZWxvY2FsZS9pbmkvSW5pUmVhZGVyLmFzCkBAIC02LDEwICs2LDYgQEAKIAlpbXBvcnQgb3JnLmFzM2NvbW1vbnMubG9nZ2luZy5hcGkuSUxvZ2dlcjsNCiAJaW1wb3J0IG9yZy5hczNjb21tb25zLmxvZ2dpbmcuYXBpLmdldENsYXNzTG9nZ2VyOw0KIA0KLQkvKioNCi0JICoNCi0JICogQGF1dGhvciBSb2xhbmQgWndhZ2ENCi0JICovDQogCXB1YmxpYyBjbGFzcyBJbmlSZWFkZXIgew0KIA0KIAkJLyoqIENoYXJhY3RlciBjb2RlIGZvciB0aGUgQVBQTEUgbGluZSBicmVhay4gKi8NCmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9jb21wb25lbnRzL2FwaS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvY29tcGlsZXIvQ29tcGlsZXIuamF2YSBiL21hdmVuLWZsZXgtcGx1Z2luL2NvbXBvbmVudHMvYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9jb21waWxlci9Db21waWxlci5qYXZhCmluZGV4IDZlMjI2MWYuLjhkZTNlMGMgMTAwNjQ0Ci0tLSBhL21hdmVuLWZsZXgtcGx1Z2luL2NvbXBvbmVudHMvYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9jb21waWxlci9Db21waWxlci5qYXZhCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2NvbXBvbmVudHMvYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9jb21waWxlci9Db21waWxlci5qYXZhCkBAIC0xOCwxMiArMTgsNiBAQAogDQogaW1wb3J0IG9yZy5hcGFjaGUubWF2ZW4ucHJvamVjdC5NYXZlblByb2plY3Q7DQogDQotLyoqDQotICogQ3JlYXRlZCB3aXRoIEludGVsbGlKIElERUEuDQotICogVXNlcjogY2R1dHoNCi0gKiBEYXRlOiAwMS4xMi4xMg0KLSAqIFRpbWU6IDIzOjEzDQotICovDQogcHVibGljIGludGVyZmFjZSBDb21waWxlciB7DQogDQogICAgIHZvaWQgY29tcGlsZShNYXZlblByb2plY3QgcHJvamVjdCk7DQpkaWZmIC0tZ2l0IGEvbWF2ZW4tZmxleC1wbHVnaW4vY29tcG9uZW50cy9hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L2dlbmVyYXRvci9HZW5lcmF0b3IuamF2YSBiL21hdmVuLWZsZXgtcGx1Z2luL2NvbXBvbmVudHMvYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9nZW5lcmF0b3IvR2VuZXJhdG9yLmphdmEKaW5kZXggYmRhYjI0Zi4uODliYTA1NCAxMDA2NDQKLS0tIGEvbWF2ZW4tZmxleC1wbHVnaW4vY29tcG9uZW50cy9hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L2dlbmVyYXRvci9HZW5lcmF0b3IuamF2YQorKysgYi9tYXZlbi1mbGV4LXBsdWdpbi9jb21wb25lbnRzL2FwaS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvZ2VuZXJhdG9yL0dlbmVyYXRvci5qYXZhCkBAIC0xNiwxMSArMTYsNSBAQAogICovDQogcGFja2FnZSBvcmcuYXBhY2hlLmZsZXgubWF2ZW4ucGx1Z2lucy5mbGV4LmdlbmVyYXRvcjsNCiANCi0vKioNCi0gKiBDcmVhdGVkIHdpdGggSW50ZWxsaUogSURFQS4NCi0gKiBVc2VyOiBjZHV0eg0KLSAqIERhdGU6IDAxLjEyLjEyDQotICogVGltZTogMjM6MTMNCi0gKi8NCiBwdWJsaWMgaW50ZXJmYWNlIEdlbmVyYXRvciB7DQogfQ0KZGlmZiAtLWdpdCBhL21hdmVuLWZsZXgtcGx1Z2luL2NvbXBvbmVudHMvYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9vcHRpbWl6ZXIvT3B0aW1pemVyLmphdmEgYi9tYXZlbi1mbGV4LXBsdWdpbi9jb21wb25lbnRzL2FwaS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvb3B0aW1pemVyL09wdGltaXplci5qYXZhCmluZGV4IDIwYjQ2ZTguLjBjY2Q3NjYgMTAwNjQ0Ci0tLSBhL21hdmVuLWZsZXgtcGx1Z2luL2NvbXBvbmVudHMvYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9vcHRpbWl6ZXIvT3B0aW1pemVyLmphdmEKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vY29tcG9uZW50cy9hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L29wdGltaXplci9PcHRpbWl6ZXIuamF2YQpAQCAtMTYsMTEgKzE2LDUgQEAKICAqLw0KIHBhY2thZ2Ugb3JnLmFwYWNoZS5mbGV4Lm1hdmVuLnBsdWdpbnMuZmxleC5vcHRpbWl6ZXI7DQogDQotLyoqDQotICogQ3JlYXRlZCB3aXRoIEludGVsbGlKIElERUEuDQotICogVXNlcjogY2R1dHoNCi0gKiBEYXRlOiAwMS4xMi4xMg0KLSAqIFRpbWU6IDIzOjEzDQotICovDQogcHVibGljIGludGVyZmFjZSBPcHRpbWl6ZXIgew0KIH0NCmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9jb21wb25lbnRzL2FwaS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvcGFja2FnZXIvUGFja2FnZXIuamF2YSBiL21hdmVuLWZsZXgtcGx1Z2luL2NvbXBvbmVudHMvYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9wYWNrYWdlci9QYWNrYWdlci5qYXZhCmluZGV4IDdiNWU1NjAuLjExZWE5YzMgMTAwNjQ0Ci0tLSBhL21hdmVuLWZsZXgtcGx1Z2luL2NvbXBvbmVudHMvYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9wYWNrYWdlci9QYWNrYWdlci5qYXZhCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2NvbXBvbmVudHMvYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9wYWNrYWdlci9QYWNrYWdlci5qYXZhCkBAIC0xNiwxMSArMTYsNSBAQAogICovDQogcGFja2FnZSBvcmcuYXBhY2hlLmZsZXgubWF2ZW4ucGx1Z2lucy5mbGV4LnBhY2thZ2VyOw0KIA0KLS8qKg0KLSAqIENyZWF0ZWQgd2l0aCBJbnRlbGxpSiBJREVBLg0KLSAqIFVzZXI6IGNkdXR6DQotICogRGF0ZTogMDEuMTIuMTINCi0gKiBUaW1lOiAyMzoxMw0KLSAqLw0KIHB1YmxpYyBpbnRlcmZhY2UgUGFja2FnZXIgew0KIH0NCmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9jb21wb25lbnRzL2FwaS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvdGVzdC9UZXN0LmphdmEgYi9tYXZlbi1mbGV4LXBsdWdpbi9jb21wb25lbnRzL2FwaS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvdGVzdC9UZXN0LmphdmEKaW5kZXggMGFiZjMyYy4uM2ZkYTRkMyAxMDA2NDQKLS0tIGEvbWF2ZW4tZmxleC1wbHVnaW4vY29tcG9uZW50cy9hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L3Rlc3QvVGVzdC5qYXZhCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2NvbXBvbmVudHMvYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC90ZXN0L1Rlc3QuamF2YQpAQCAtMTYsMTEgKzE2LDUgQEAKICAqLw0KIHBhY2thZ2Ugb3JnLmFwYWNoZS5mbGV4Lm1hdmVuLnBsdWdpbnMuZmxleC50ZXN0Ow0KIA0KLS8qKg0KLSAqIENyZWF0ZWQgd2l0aCBJbnRlbGxpSiBJREVBLg0KLSAqIFVzZXI6IGNkdXR6DQotICogRGF0ZTogMDEuMTIuMTINCi0gKiBUaW1lOiAyMzoxMw0KLSAqLw0KIHB1YmxpYyBpbnRlcmZhY2UgVGVzdCB7DQogfQ0KZGlmZiAtLWdpdCBhL21hdmVuLWZsZXgtcGx1Z2luL2NvbXBvbmVudHMvY29tcGlsZXIvY29tcGlsZXItYXNkb2Mvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L2NvbXBpbGVyL2FzZG9jL0FzZG9jQ29tcGlsZXJJbXBsLmphdmEgYi9tYXZlbi1mbGV4LXBsdWdpbi9jb21wb25lbnRzL2NvbXBpbGVyL2NvbXBpbGVyLWFzZG9jL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9jb21waWxlci9hc2RvYy9Bc2RvY0NvbXBpbGVySW1wbC5qYXZhCmluZGV4IDJmYjc0NjkuLjFlM2ZjMmMgMTAwNjQ0Ci0tLSBhL21hdmVuLWZsZXgtcGx1Z2luL2NvbXBvbmVudHMvY29tcGlsZXIvY29tcGlsZXItYXNkb2Mvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L2NvbXBpbGVyL2FzZG9jL0FzZG9jQ29tcGlsZXJJbXBsLmphdmEKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vY29tcG9uZW50cy9jb21waWxlci9jb21waWxlci1hc2RvYy9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvY29tcGlsZXIvYXNkb2MvQXNkb2NDb21waWxlckltcGwuamF2YQpAQCAtMjAsMTIgKzIwLDYgQEAKIGltcG9ydCBvcmcuYXBhY2hlLm1hdmVuLnByb2plY3QuTWF2ZW5Qcm9qZWN0Ow0KIGltcG9ydCBvcmcuY29kZWhhdXMucGxleHVzLmNvbXBvbmVudC5hbm5vdGF0aW9ucy5Db21wb25lbnQ7DQogDQotLyoqDQotICogQ3JlYXRlZCB3aXRoIEludGVsbGlKIElERUEuDQotICogVXNlcjogY2R1dHoNCi0gKiBEYXRlOiAwMi4xMi4xMg0KLSAqIFRpbWU6IDEyOjQwDQotICovDQogQENvbXBvbmVudChyb2xlID0gQ29tcGlsZXIuY2xhc3MsIGhpbnQgPSAiYXNkb2MiKQ0KIHB1YmxpYyBjbGFzcyBBc2RvY0NvbXBpbGVySW1wbCBpbXBsZW1lbnRzIENvbXBpbGVyIHsNCiANCmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9jb21wb25lbnRzL2NvbXBpbGVyL2NvbXBpbGVyLWNvbXBjL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9jb21waWxlci9jb21wYy9Db21wY0NvbXBpbGVySW1wbC5qYXZhIGIvbWF2ZW4tZmxleC1wbHVnaW4vY29tcG9uZW50cy9jb21waWxlci9jb21waWxlci1jb21wYy9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvY29tcGlsZXIvY29tcGMvQ29tcGNDb21waWxlckltcGwuamF2YQppbmRleCBkMmI0ODI3Li40ZjZiNDU1IDEwMDY0NAotLS0gYS9tYXZlbi1mbGV4LXBsdWdpbi9jb21wb25lbnRzL2NvbXBpbGVyL2NvbXBpbGVyLWNvbXBjL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9jb21waWxlci9jb21wYy9Db21wY0NvbXBpbGVySW1wbC5qYXZhCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2NvbXBvbmVudHMvY29tcGlsZXIvY29tcGlsZXItY29tcGMvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L2NvbXBpbGVyL2NvbXBjL0NvbXBjQ29tcGlsZXJJbXBsLmphdmEKQEAgLTIwLDEyICsyMCw2IEBACiBpbXBvcnQgb3JnLmFwYWNoZS5tYXZlbi5wcm9qZWN0Lk1hdmVuUHJvamVjdDsNCiBpbXBvcnQgb3JnLmNvZGVoYXVzLnBsZXh1cy5jb21wb25lbnQuYW5ub3RhdGlvbnMuQ29tcG9uZW50Ow0KIA0KLS8qKg0KLSAqIENyZWF0ZWQgd2l0aCBJbnRlbGxpSiBJREVBLg0KLSAqIFVzZXI6IGNkdXR6DQotICogRGF0ZTogMDIuMTIuMTINCi0gKiBUaW1lOiAxMjo0MA0KLSAqLw0KIEBDb21wb25lbnQocm9sZSA9IENvbXBpbGVyLmNsYXNzLCBoaW50ID0gImNvbXBjIikNCiBwdWJsaWMgY2xhc3MgQ29tcGNDb21waWxlckltcGwgaW1wbGVtZW50cyBDb21waWxlciB7DQogDQpkaWZmIC0tZ2l0IGEvbWF2ZW4tZmxleC1wbHVnaW4vY29tcG9uZW50cy9jb21waWxlci9jb21waWxlci1mYWxjb24vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L2NvbXBpbGVyL2ZhbGNvbi9GYWxjb25Db21waWxlckltcGwuamF2YSBiL21hdmVuLWZsZXgtcGx1Z2luL2NvbXBvbmVudHMvY29tcGlsZXIvY29tcGlsZXItZmFsY29uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9jb21waWxlci9mYWxjb24vRmFsY29uQ29tcGlsZXJJbXBsLmphdmEKaW5kZXggZDc4MmU4Mi4uMzYxMzc3MiAxMDA2NDQKLS0tIGEvbWF2ZW4tZmxleC1wbHVnaW4vY29tcG9uZW50cy9jb21waWxlci9jb21waWxlci1mYWxjb24vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L2NvbXBpbGVyL2ZhbGNvbi9GYWxjb25Db21waWxlckltcGwuamF2YQorKysgYi9tYXZlbi1mbGV4LXBsdWdpbi9jb21wb25lbnRzL2NvbXBpbGVyL2NvbXBpbGVyLWZhbGNvbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvY29tcGlsZXIvZmFsY29uL0ZhbGNvbkNvbXBpbGVySW1wbC5qYXZhCkBAIC0yMCwxMiArMjAsNiBAQAogaW1wb3J0IG9yZy5hcGFjaGUubWF2ZW4ucHJvamVjdC5NYXZlblByb2plY3Q7DQogaW1wb3J0IG9yZy5jb2RlaGF1cy5wbGV4dXMuY29tcG9uZW50LmFubm90YXRpb25zLkNvbXBvbmVudDsNCiANCi0vKioNCi0gKiBDcmVhdGVkIHdpdGggSW50ZWxsaUogSURFQS4NCi0gKiBVc2VyOiBjZHV0eg0KLSAqIERhdGU6IDAyLjEyLjEyDQotICogVGltZTogMTI6NDANCi0gKi8NCiBAQ29tcG9uZW50KHJvbGUgPSBDb21waWxlci5jbGFzcywgaGludCA9ICJmYWxjb24iKQ0KIHB1YmxpYyBjbGFzcyBGYWxjb25Db21waWxlckltcGwgaW1wbGVtZW50cyBDb21waWxlciB7DQogDQpkaWZmIC0tZ2l0IGEvbWF2ZW4tZmxleC1wbHVnaW4vY29tcG9uZW50cy9jb21waWxlci9jb21waWxlci1teG1sYy9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvY29tcGlsZXIvbXhtbGMvTXhtbGNDb21waWxlckltcGwuamF2YSBiL21hdmVuLWZsZXgtcGx1Z2luL2NvbXBvbmVudHMvY29tcGlsZXIvY29tcGlsZXItbXhtbGMvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L2NvbXBpbGVyL214bWxjL014bWxjQ29tcGlsZXJJbXBsLmphdmEKaW5kZXggMWMwNjA4My4uMDM4ZmMxZiAxMDA2NDQKLS0tIGEvbWF2ZW4tZmxleC1wbHVnaW4vY29tcG9uZW50cy9jb21waWxlci9jb21waWxlci1teG1sYy9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvY29tcGlsZXIvbXhtbGMvTXhtbGNDb21waWxlckltcGwuamF2YQorKysgYi9tYXZlbi1mbGV4LXBsdWdpbi9jb21wb25lbnRzL2NvbXBpbGVyL2NvbXBpbGVyLW14bWxjL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9jb21waWxlci9teG1sYy9NeG1sY0NvbXBpbGVySW1wbC5qYXZhCkBAIC0yMCwxMiArMjAsNiBAQAogaW1wb3J0IG9yZy5hcGFjaGUubWF2ZW4ucHJvamVjdC5NYXZlblByb2plY3Q7DQogaW1wb3J0IG9yZy5jb2RlaGF1cy5wbGV4dXMuY29tcG9uZW50LmFubm90YXRpb25zLkNvbXBvbmVudDsNCiANCi0vKioNCi0gKiBDcmVhdGVkIHdpdGggSW50ZWxsaUogSURFQS4NCi0gKiBVc2VyOiBjZHV0eg0KLSAqIERhdGU6IDAyLjEyLjEyDQotICogVGltZTogMTI6NDANCi0gKi8NCiBAQ29tcG9uZW50KHJvbGUgPSBDb21waWxlci5jbGFzcywgaGludCA9ICJteG1sYyIpDQogcHVibGljIGNsYXNzIE14bWxjQ29tcGlsZXJJbXBsIGltcGxlbWVudHMgQ29tcGlsZXIgew0KIA0KZGlmZiAtLWdpdCBhL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2ZsZXhqcy9mbGV4anMtaGVsbG8td29ybGQvcG9tLnhtbCBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2ZsZXhqcy9mbGV4anMtaGVsbG8td29ybGQvcG9tLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWQ5Yzg1Ci0tLSAvZGV2L251bGwKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvZmxleGpzL2ZsZXhqcy1oZWxsby13b3JsZC9wb20ueG1sCkBAIC0wLDAgKzEsNzYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IS0tCisKKyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIKKyAgICAgICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisgICAgICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9tYXZlbi12NF8wXzAueHNkIj4KKyAgICA8bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+CisKKyAgICA8cGFyZW50PgorICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXguZXhhbXBsZXMuZmxleGpzPC9ncm91cElkPgorICAgICAgICA8YXJ0aWZhY3RJZD5mbGV4anM8L2FydGlmYWN0SWQ+CisgICAgICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgIDwvcGFyZW50PgorCisgICAgPGFydGlmYWN0SWQ+ZmxleGpzLWhlbGxvLXdvcmxkPC9hcnRpZmFjdElkPgorICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgIDxwYWNrYWdpbmc+c3dmPC9wYWNrYWdpbmc+CisKKyAgICA8YnVpbGQ+CisgICAgICAgIDxzb3VyY2VEaXJlY3Rvcnk+c3JjL21haW4vZmxleDwvc291cmNlRGlyZWN0b3J5PgorICAgICAgICA8cGx1Z2lucz4KKyAgICAgICAgICAgIDxwbHVnaW4+CisgICAgICAgICAgICAgICAgPGdyb3VwSWQ+bmV0LmZsZXhtb2pvcy5vc3M8L2dyb3VwSWQ+CisgICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+ZmxleG1vam9zLW1hdmVuLXBsdWdpbjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgICAgICA8dmVyc2lvbj43LjEuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICAgICAgICAgICAgICA8ZXh0ZW5zaW9ucz50cnVlPC9leHRlbnNpb25zPgorICAgICAgICAgICAgICAgIDxjb25maWd1cmF0aW9uPgorICAgICAgICAgICAgICAgICAgICA8c291cmNlRmlsZT5GbGV4SlNUZXN0X2Jhc2ljLm14bWw8L3NvdXJjZUZpbGU+CisgICAgICAgICAgICAgICAgICAgIDwhLS1jb21waWxlck5hbWU+RmFsY29uPC9jb21waWxlck5hbWUtLT4KKyAgICAgICAgICAgICAgICAgICAgPGNvbXBpbGVyTmFtZT5GbGV4SlM8L2NvbXBpbGVyTmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGRlYnVnPnRydWU8L2RlYnVnPgorICAgICAgICAgICAgICAgIDwvY29uZmlndXJhdGlvbj4KKyAgICAgICAgICAgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICAgICAgICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC5jb21waWxlcjwvZ3JvdXBJZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxhcnRpZmFjdElkPmZhbGNvbi1qeC1jb21waWxlcjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx2ZXJzaW9uPjAuMC4zLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgICAgICAgICAgICAgICAgICA8L2RlcGVuZGVuY3k+CisgICAgICAgICAgICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICAgICAgICA8L3BsdWdpbj4KKyAgICAgICAgPC9wbHVnaW5zPgorICAgIDwvYnVpbGQ+CisKKyAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC5mbGV4anM8L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5mcmFtZXdvcms8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4wLjAuMy1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICAgICAgICAgIDx0eXBlPnBvbTwvdHlwZT4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICA8IS0tIFRoaXMgaXMgc3RpbGwgb25seSBuZWVkZWQgdG8gc2F0aXNmeSBjaGVjayBpbiBGbGV4bW9qb3MgLS0+CisgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGdyb3VwSWQ+Y29tLmFkb2JlLmZsYXNoLmZyYW1ld29yazwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPnBsYXllcmdsb2JhbDwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjE0LjA8L3ZlcnNpb24+CisgICAgICAgICAgICA8dHlwZT5zd2M8L3R5cGU+CisgICAgICAgIDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY2llcz4KKworPC9wcm9qZWN0PgpkaWZmIC0tZ2l0IGEvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvZmxleGpzL2ZsZXhqcy1oZWxsby13b3JsZC9zcmMvbWFpbi9mbGV4L0ZsZXhKU1Rlc3RfYmFzaWMubXhtbCBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2ZsZXhqcy9mbGV4anMtaGVsbG8td29ybGQvc3JjL21haW4vZmxleC9GbGV4SlNUZXN0X2Jhc2ljLm14bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjAwMDE5NgotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2ZsZXhqcy9mbGV4anMtaGVsbG8td29ybGQvc3JjL21haW4vZmxleC9GbGV4SlNUZXN0X2Jhc2ljLm14bWwKQEAgLTAsMCArMSw1MyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0KKworTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCitjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKK3RoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KK1RoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAordGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKK1VubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKK2Rpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCitXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KK1NlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKK2xpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCistLT4KKzxiYXNpYzpBcHBsaWNhdGlvbiB4bWxuczpmeD0iaHR0cDovL25zLmFkb2JlLmNvbS9teG1sLzIwMDkiCisJCQkJICAgeG1sbnM6bG9jYWw9IioiCisJCQkJICAgeG1sbnM6YmFzaWM9ImxpYnJhcnk6Ly9ucy5hcGFjaGUub3JnL2ZsZXhqcy9iYXNpYyIgCisJCQkJICAgeG1sbnM6bW9kZWxzPSJtb2RlbHMuKiIgCisJCQkJICAgeG1sbnM6Y29udHJvbGxlcnM9ImNvbnRyb2xsZXJzLioiCisJCQkJICAgaW5pdGlhbGl6ZT0iTXlNb2RlbChtb2RlbCkubGFiZWxUZXh0PSdIZWxsbyBXb3JsZCciPgorCisJPGZ4OlNjcmlwdD48IVtDREFUQVsgaW1wb3J0IG1vZGVscy5NeU1vZGVsOyBdXT48L2Z4OlNjcmlwdD4KKworCTxiYXNpYzp2YWx1ZXNJbXBsPgorCQk8YmFzaWM6U2ltcGxlQ1NTVmFsdWVzSW1wbCAvPgorCTwvYmFzaWM6dmFsdWVzSW1wbD4KKwk8YmFzaWM6aW5pdGlhbFZpZXc+CisJCTxsb2NhbDpNeUluaXRpYWxWaWV3IC8+CisJPC9iYXNpYzppbml0aWFsVmlldz4KKwk8YmFzaWM6bW9kZWw+CisJCTxtb2RlbHM6TXlNb2RlbCAvPgorCTwvYmFzaWM6bW9kZWw+CisJPGJhc2ljOmNvbnRyb2xsZXI+CisJCTxjb250cm9sbGVyczpNeUNvbnRyb2xsZXIgLz4KKwk8L2Jhc2ljOmNvbnRyb2xsZXI+CisgICAgPGJhc2ljOmJlYWRzPgorICAgICAgICA8YmFzaWM6SFRUUFNlcnZpY2UgaWQ9InNlcnZpY2UiPgorICAgICAgICAgICAgPGJhc2ljOkxhenlDb2xsZWN0aW9uIGlkPSJjb2xsZWN0aW9uIj4KKyAgICAgICAgICAgICAgICA8YmFzaWM6aW5wdXRQYXJzZXI+CisgICAgICAgICAgICAgICAgICAgIDxiYXNpYzpKU09OSW5wdXRQYXJzZXIgLz4KKyAgICAgICAgICAgICAgICA8L2Jhc2ljOmlucHV0UGFyc2VyPgorICAgICAgICAgICAgICAgIDxiYXNpYzppdGVtQ29udmVydGVyPgorICAgICAgICAgICAgICAgICAgICA8bG9jYWw6U3RvY2tEYXRhSlNPTkl0ZW1Db252ZXJ0ZXIgLz4KKyAgICAgICAgICAgICAgICA8L2Jhc2ljOml0ZW1Db252ZXJ0ZXI+IAorICAgICAgICAgICAgPC9iYXNpYzpMYXp5Q29sbGVjdGlvbj4KKyAgICAgICAgPC9iYXNpYzpIVFRQU2VydmljZT4KKyAgICA8L2Jhc2ljOmJlYWRzPgorPC9iYXNpYzpBcHBsaWNhdGlvbj4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9mbGV4anMvZmxleGpzLWhlbGxvLXdvcmxkL3NyYy9tYWluL2ZsZXgvTXlJbml0aWFsVmlldy5teG1sIGIvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvZmxleGpzL2ZsZXhqcy1oZWxsby13b3JsZC9zcmMvbWFpbi9mbGV4L015SW5pdGlhbFZpZXcubXhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTkxMGNjCi0tLSAvZGV2L251bGwKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvZmxleGpzL2ZsZXhqcy1oZWxsby13b3JsZC9zcmMvbWFpbi9mbGV4L015SW5pdGlhbFZpZXcubXhtbApAQCAtMCwwICsxLDE0MyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0KKworTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCitjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKK3RoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KK1RoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAordGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKK1VubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKK2Rpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCitXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KK1NlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKK2xpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCistLT4KKzxiYXNpYzpWaWV3QmFzZSB4bWxuczpmeD0iaHR0cDovL25zLmFkb2JlLmNvbS9teG1sLzIwMDkiCisJCQkJeG1sbnM6YmFzaWM9ImxpYnJhcnk6Ly9ucy5hcGFjaGUub3JnL2ZsZXhqcy9iYXNpYyIgCisJCQkgICA+CisgICAgPGZ4OlNjcmlwdD4KKyAgICAgICAgPCFbQ0RBVEFbICAgICAgICAgICAgCisJCQlpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LmV2ZW50cy5DdXN0b21FdmVudDsKKwkJCWltcG9ydCBvcmcuYXBhY2hlLmZsZXguZXZlbnRzLkV2ZW50OworCQkJaW1wb3J0IG9yZy5hcGFjaGUuZmxleC51dGlscy5UaW1lcjsKKwkJCQorCQkJcHJpdmF0ZSB2YXIgdGltZXI6b3JnLmFwYWNoZS5mbGV4LnV0aWxzLlRpbWVyOworCQkJCisJCQlwdWJsaWMgZnVuY3Rpb24gZ2V0IHN5bWJvbCgpOlN0cmluZworCQkJeworCQkJCXJldHVybiBsaXN0LnNlbGVjdGVkSXRlbSBhcyBTdHJpbmc7CisJCQl9CisJCQkKKwkJCXB1YmxpYyBmdW5jdGlvbiBnZXQgY2l0eSgpOlN0cmluZworCQkJeworCQkJCXJldHVybiBjaXR5TGlzdC5zZWxlY3RlZEl0ZW0gYXMgU3RyaW5nOworCQkJfQorCQkJCisJCQlwdWJsaWMgZnVuY3Rpb24gZ2V0IGlucHV0VGV4dCgpOlN0cmluZworCQkJeworCQkJCXJldHVybiBpbnB1dC50ZXh0OworCQkJfQorCQkJCisJCQlwdWJsaWMgZnVuY3Rpb24gZ2V0IGNvbWJvQm94VmFsdWUoKTpTdHJpbmcKKwkJCXsKKwkJCQlyZXR1cm4gU3RyaW5nKGNvbWJvQm94LnNlbGVjdGVkSXRlbSk7CisJCQl9CisJCQkKKwkJCXB1YmxpYyBmdW5jdGlvbiBzdGFydFRpbWVyKCk6dm9pZAorCQkJeworCQkJCXRpbWVyID0gbmV3IG9yZy5hcGFjaGUuZmxleC51dGlscy5UaW1lcigxMDAwKTsKKwkJCQl0aW1lci5hZGRFdmVudExpc3RlbmVyKCd0aW1lcicsIHRpbWVySGFuZGxlcik7CisJCQkJdGltZXIuc3RhcnQoKQkJCQkKKwkJCX0KKwkJCQorCQkJcHVibGljIGZ1bmN0aW9uIHRpbWVySGFuZGxlcihldmVudDpvcmcuYXBhY2hlLmZsZXguZXZlbnRzLkV2ZW50KTp2b2lkCisJCQl7CisJCQkJdGltZXJMYWJlbC50ZXh0ID0gdGltZXIuY3VycmVudENvdW50LnRvU3RyaW5nKCk7CQorCQkJfQorICAgICAgICBdXT4KKyAgICA8L2Z4OlNjcmlwdD4KKwk8Zng6U3R5bGU+CisJCUBuYW1lc3BhY2UgYmFzaWMgImxpYnJhcnk6Ly9ucy5hcGFjaGUub3JnL2ZsZXhqcy9iYXNpYyI7CisJCQorCQkuc2tpbm5lZCB7CisJCQliYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ0J1dHRvbkltYWdlVXAucG5nJyk7CisJCQlib3JkZXItc3R5bGU6IG5vbmU7CisJCX0KKwkJCisJCS5za2lubmVkOmhvdmVyIHsKKwkJCWJhY2tncm91bmQtaW1hZ2U6IHVybCgnQnV0dG9uSW1hZ2VPdmVyLnBuZycpOworCQl9CisJCQorCQkuc2tpbm5lZDphY3RpdmUgeworCQkJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdCdXR0b25JbWFnZURvd24ucG5nJyk7CisJCX0KKworCTwvZng6U3R5bGU+CisJPGJhc2ljOkxhYmVsIGlkPSJsYmwiIHg9IjEwMCIgeT0iMjUiID4KKwkJPGJhc2ljOmJlYWRzPgorCQkJPGJhc2ljOlNpbXBsZUJpbmRpbmcgZXZlbnROYW1lPSJsYWJlbFRleHRDaGFuZ2VkIgorCQkJCQkJCQkgc291cmNlSUQ9ImFwcGxpY2F0aW9uTW9kZWwiCisJCQkJCQkJCSBzb3VyY2VQcm9wZXJ0eU5hbWU9ImxhYmVsVGV4dCIKKwkJCQkJCQkJIGRlc3RpbmF0aW9uUHJvcGVydHlOYW1lPSJ0ZXh0IiAvPgorCQk8L2Jhc2ljOmJlYWRzPgorCTwvYmFzaWM6TGFiZWw+CisJPGJhc2ljOlRleHRCdXR0b24gdGV4dD0iU3RhcnQgVGltZXIiIHg9IjEwMCIgeT0iNzUiIGNsaWNrPSJzdGFydFRpbWVyKCkiIC8+CisJPGJhc2ljOlRleHRCdXR0b24gdGV4dD0iU3RvcCBUaW1lciIgeD0iMTAwIiB5PSIxMDAiIGNsaWNrPSJ0aW1lci5yZW1vdmVFdmVudExpc3RlbmVyKCd0aW1lcicsIHRpbWVySGFuZGxlcik7dGltZXIuc3RvcCgpIiAvPgorCTxiYXNpYzpMYWJlbCBpZD0idGltZXJMYWJlbCIgeD0iMTAwIiB5PSIxMjUiIC8+CisJCisJPGJhc2ljOkxpc3QgaWQ9ImNpdHlMaXN0IiAgeD0iMjAwIiB5PSI3NSIgd2lkdGg9IjEwMCIgaGVpZ2h0PSI3NSIgY2hhbmdlPSJkaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnY2l0eUxpc3RDaGFuZ2VkJykpIj4KKwkJPGJhc2ljOmJlYWRzPgorCQkJPGJhc2ljOkNvbnN0YW50QmluZGluZworCQkJCXNvdXJjZUlEPSJhcHBsaWNhdGlvbk1vZGVsIgorCQkJCXNvdXJjZVByb3BlcnR5TmFtZT0iY2l0aWVzIgorCQkJCWRlc3RpbmF0aW9uUHJvcGVydHlOYW1lPSJkYXRhUHJvdmlkZXIiIC8+CisJCTwvYmFzaWM6YmVhZHM+CisJPC9iYXNpYzpMaXN0PgorCQorCTxiYXNpYzpUZXh0QXJlYSB4PSIzMjAiIHk9IjI1IiB3aWR0aD0iMTUwIiBoZWlnaHQ9Ijc1Ij4KKwkJPGJhc2ljOmJlYWRzPgorCQkJPGJhc2ljOlNpbXBsZUJpbmRpbmcgZXZlbnROYW1lPSJsYWJlbFRleHRDaGFuZ2VkIgorCQkJCQkJCQkgc291cmNlSUQ9ImFwcGxpY2F0aW9uTW9kZWwiCisJCQkJCQkJCSBzb3VyY2VQcm9wZXJ0eU5hbWU9ImxhYmVsVGV4dCIKKwkJCQkJCQkJIGRlc3RpbmF0aW9uUHJvcGVydHlOYW1lPSJ0ZXh0IiAvPgorCQk8L2Jhc2ljOmJlYWRzPgorCTwvYmFzaWM6VGV4dEFyZWE+CisJPGJhc2ljOlRleHRJbnB1dCBpZD0iaW5wdXQiIHg9IjMyMCIgeT0iMTEwIiAvPgorCTxiYXNpYzpUZXh0QnV0dG9uIHRleHQ9IlRyYW5zZmVyIiB4PSIzMjAiIHk9IjEzOCIgY2xpY2s9ImRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCd0cmFuc2ZlckNsaWNrZWQnKSkiIC8+CisJCisJPGJhc2ljOkNoZWNrQm94IGlkPSJjaGVja2JveCIgeD0iMzIwIiB5PSIxNzAiIHRleHQ9IkNoZWNrIE1lIiAvPgorCQorCTxiYXNpYzpSYWRpb0J1dHRvbiBncm91cE5hbWU9Imdyb3VwMSIgdGV4dD0iQXBwbGVzIiB2YWx1ZT0iMCIgeD0iMTAwIiB5PSIxNTAiIC8+CisJPGJhc2ljOlJhZGlvQnV0dG9uIGdyb3VwTmFtZT0iZ3JvdXAxIiB0ZXh0PSJPcmFuZ2VzIiB2YWx1ZT0iMSIgeD0iMTAwIiB5PSIxNzAiIHNlbGVjdGVkPSJ0cnVlIiAvPgorCTxiYXNpYzpSYWRpb0J1dHRvbiBncm91cE5hbWU9Imdyb3VwMSIgdGV4dD0iR3JhcGVzIiB2YWx1ZT0iMiIgeD0iMTAwIiB5PSIxOTAiIC8+CisJCisJPGJhc2ljOlJhZGlvQnV0dG9uIGdyb3VwTmFtZT0iZ3JvdXAyIiB0ZXh0PSJSZWQiIHZhbHVlPSJyZWQiIHg9IjEwMCIgeT0iMjUwIiBzZWxlY3RlZD0idHJ1ZSIgLz4KKwk8YmFzaWM6UmFkaW9CdXR0b24gZ3JvdXBOYW1lPSJncm91cDIiIHRleHQ9IkdyZWVuIiB2YWx1ZT0iZ3JlZW4iIHg9IjEwMCIgeT0iMjcwIiAvPgorCTxiYXNpYzpSYWRpb0J1dHRvbiBncm91cE5hbWU9Imdyb3VwMiIgdGV4dD0iQmx1ZSIgdmFsdWU9ImJsdWUiIHg9IjEwMCIgeT0iMjkwIiAgLz4KKwkKKwk8YmFzaWM6RHJvcERvd25MaXN0IGlkPSJsaXN0IiB4PSIyMDAiIHk9IjIwMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxOCIgY2hhbmdlPSJkaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnbGlzdENoYW5nZWQnKSkiPgorCQk8YmFzaWM6YmVhZHM+CisJCQk8YmFzaWM6Q29uc3RhbnRCaW5kaW5nCisJCQkJc291cmNlSUQ9ImFwcGxpY2F0aW9uTW9kZWwiCisJCQkJc291cmNlUHJvcGVydHlOYW1lPSJzdHJpbmdzIgorCQkJCWRlc3RpbmF0aW9uUHJvcGVydHlOYW1lPSJkYXRhUHJvdmlkZXIiIC8+CisJCTwvYmFzaWM6YmVhZHM+CisJPC9iYXNpYzpEcm9wRG93bkxpc3Q+CisJPGJhc2ljOlRleHRCdXR0b24gdGV4dD0iT0siIHg9IjIwMCIgeT0iMjMwIiBjbGljaz0iZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2J1dHRvbkNsaWNrZWQnKSkiIC8+CisJPGJhc2ljOlRleHRCdXR0b24gdGV4dD0iU2tpbm5lZCIgeD0iMjAwIiB5PSIyNjAiIHdpZHRoPSI4MCIgaGVpZ2h0PSIyNCIgY2xhc3NOYW1lPSJza2lubmVkIiBjbGljaz0iZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2J1dHRvbkNsaWNrZWQnKSkiIC8+CisJCisJPGJhc2ljOkNvbWJvQm94IGlkPSJjb21ib0JveCIgeD0iMzIwIiB5PSIyMDAiIHdpZHRoPSIxMDAiIGNoYW5nZT0iZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2NvbWJvQm94Q2hhbmdlZCcpKSI+CisJCTxiYXNpYzpiZWFkcz4KKwkJCTxiYXNpYzpDb25zdGFudEJpbmRpbmcKKwkJCQlzb3VyY2VJRD0iYXBwbGljYXRpb25Nb2RlbCIKKwkJCQlzb3VyY2VQcm9wZXJ0eU5hbWU9ImNpdGllcyIKKwkJCQlkZXN0aW5hdGlvblByb3BlcnR5TmFtZT0iZGF0YVByb3ZpZGVyIiAvPgorCQk8L2Jhc2ljOmJlYWRzPgorCTwvYmFzaWM6Q29tYm9Cb3g+CisgICAgCis8L2Jhc2ljOlZpZXdCYXNlPgpkaWZmIC0tZ2l0IGEvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvZmxleGpzL2ZsZXhqcy1oZWxsby13b3JsZC9zcmMvbWFpbi9mbGV4L1N0b2NrRGF0YUpTT05JdGVtQ29udmVydGVyLmFzIGIvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvZmxleGpzL2ZsZXhqcy1oZWxsby13b3JsZC9zcmMvbWFpbi9mbGV4L1N0b2NrRGF0YUpTT05JdGVtQ29udmVydGVyLmFzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhZDBjMzgKLS0tIC9kZXYvbnVsbAorKysgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9mbGV4anMvZmxleGpzLWhlbGxvLXdvcmxkL3NyYy9tYWluL2ZsZXgvU3RvY2tEYXRhSlNPTkl0ZW1Db252ZXJ0ZXIuYXMKQEAgLTAsMCArMSwzOCBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworcGFja2FnZQoreworaW1wb3J0IG9yZy5hcGFjaGUuZmxleC5jb2xsZWN0aW9ucy5jb252ZXJ0ZXJzLkpTT05JdGVtQ29udmVydGVyOworCisgICAgcHVibGljIGNsYXNzIFN0b2NrRGF0YUpTT05JdGVtQ29udmVydGVyIGV4dGVuZHMgSlNPTkl0ZW1Db252ZXJ0ZXIKKyAgICB7CisgICAgICAgIHB1YmxpYyBmdW5jdGlvbiBTdG9ja0RhdGFKU09OSXRlbUNvbnZlcnRlcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHN1cGVyKCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIG92ZXJyaWRlIHB1YmxpYyBmdW5jdGlvbiBjb252ZXJ0SXRlbShkYXRhOlN0cmluZyk6T2JqZWN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBvYmo6T2JqZWN0ID0gc3VwZXIuY29udmVydEl0ZW0oZGF0YSk7CisJCQlpZiAob2JqWydxdWVyeSddWydyZXN1bHRzJ10gPT0gbnVsbCkKKwkJCQlyZXR1cm4gJ05vIFF1b3RlIEF2YWlsYWJsZSc7CisgICAgICAgICAgICByZXR1cm4gb2JqWydxdWVyeSddWydyZXN1bHRzJ11bJ3F1b3RlJ11bJ0FzayddOworICAgICAgICB9CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2ZsZXhqcy9mbGV4anMtaGVsbG8td29ybGQvc3JjL21haW4vZmxleC9jb250cm9sbGVycy9NeUNvbnRyb2xsZXIuYXMgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9mbGV4anMvZmxleGpzLWhlbGxvLXdvcmxkL3NyYy9tYWluL2ZsZXgvY29udHJvbGxlcnMvTXlDb250cm9sbGVyLmFzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzNmVkMzAKLS0tIC9kZXYvbnVsbAorKysgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9mbGV4anMvZmxleGpzLWhlbGxvLXdvcmxkL3NyYy9tYWluL2ZsZXgvY29udHJvbGxlcnMvTXlDb250cm9sbGVyLmFzCkBAIC0wLDAgKzEsOTIgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KK3BhY2thZ2UgY29udHJvbGxlcnMKK3sKKwlpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LmNvcmUuQXBwbGljYXRpb247CisJaW1wb3J0IG9yZy5hcGFjaGUuZmxleC5jb3JlLklEb2N1bWVudDsKKwlpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LmV2ZW50cy5FdmVudDsKKwkKKwkKKwlpbXBvcnQgbW9kZWxzLk15TW9kZWw7CisJCisJcHVibGljIGNsYXNzIE15Q29udHJvbGxlciBpbXBsZW1lbnRzIElEb2N1bWVudAorCXsKKwkJcHVibGljIGZ1bmN0aW9uIE15Q29udHJvbGxlcihhcHA6QXBwbGljYXRpb24gPSBudWxsKQorCQl7CisJCQlpZiAoYXBwKQorCQkJeworCQkJCXRoaXMuYXBwID0gYXBwIGFzIEZsZXhKU1Rlc3RfYmFzaWM7CisJCQkJYXBwLmFkZEV2ZW50TGlzdGVuZXIoInZpZXdDaGFuZ2VkIiwgdmlld0NoYW5nZUhhbmRsZXIpOworCQkJfQorCQl9CisJCQorCQlwcml2YXRlIHZhciBxdWVyeUJlZ2luOlN0cmluZyA9ICJodHRwOi8vcXVlcnkueWFob29hcGlzLmNvbS92MS9wdWJsaWMveXFsP3E9c2VsZWN0JTIwKiUyMGZyb20lMjB5YWhvby5maW5hbmNlLnF1b3RlcyUyMHdoZXJlJTIwc3ltYm9sJTIwaW4lMjAoJTIyIjsKKwkJcHJpdmF0ZSB2YXIgcXVlcnlFbmQ6U3RyaW5nID0gIiUyMiklMEElMDklMDkmZW52PWh0dHAlM0ElMkYlMkZkYXRhdGFibGVzLm9yZyUyRmFsbHRhYmxlcy5lbnYmZm9ybWF0PWpzb24iOworCQlwcml2YXRlIHZhciBhcHA6RmxleEpTVGVzdF9iYXNpYzsKKwkJCisJCXByaXZhdGUgZnVuY3Rpb24gdmlld0NoYW5nZUhhbmRsZXIoZXZlbnQ6RXZlbnQpOnZvaWQKKwkJeworCQkJYXBwLmluaXRpYWxWaWV3LmFkZEV2ZW50TGlzdGVuZXIoImJ1dHRvbkNsaWNrZWQiLCBidXR0b25DbGlja0hhbmRsZXIpOworCQkJYXBwLmluaXRpYWxWaWV3LmFkZEV2ZW50TGlzdGVuZXIoImxpc3RDaGFuZ2VkIiwgbGlzdENoYW5nZWRIYW5kbGVyKTsKKwkJCWFwcC5pbml0aWFsVmlldy5hZGRFdmVudExpc3RlbmVyKCJjaXR5TGlzdENoYW5nZWQiLCBjaXR5TGlzdENoYW5nZUhhbmRsZXIpOworCQkJYXBwLmluaXRpYWxWaWV3LmFkZEV2ZW50TGlzdGVuZXIoInRyYW5zZmVyQ2xpY2tlZCIsIHRyYW5zZmVyQ2xpY2tIYW5kbGVyKTsKKwkJCWFwcC5pbml0aWFsVmlldy5hZGRFdmVudExpc3RlbmVyKCJjb21ib0JveENoYW5nZWQiLCBjb21ib0JveENoYW5nZUhhbmRsZXIpOworCQl9CisJCQorCQlwcml2YXRlIGZ1bmN0aW9uIGJ1dHRvbkNsaWNrSGFuZGxlcihldmVudDpFdmVudCk6dm9pZAorCQl7CisJCQl2YXIgc3ltOlN0cmluZyA9IE15SW5pdGlhbFZpZXcoYXBwLmluaXRpYWxWaWV3KS5zeW1ib2w7CisJCQlhcHAuc2VydmljZS51cmwgPSBxdWVyeUJlZ2luICsgc3ltICsgcXVlcnlFbmQ7CisJCQlhcHAuc2VydmljZS5zZW5kKCk7CisJCQlhcHAuc2VydmljZS5hZGRFdmVudExpc3RlbmVyKCJjb21wbGV0ZSIsIGNvbXBsZXRlSGFuZGxlcik7CisJCX0KKwkJCisJCXByaXZhdGUgZnVuY3Rpb24gY29tcGxldGVIYW5kbGVyKGV2ZW50OkV2ZW50KTp2b2lkCisJCXsKKwkJCU15TW9kZWwoYXBwLm1vZGVsKS5sYWJlbFRleHQgPSBhcHAuY29sbGVjdGlvbi5nZXRJdGVtQXQoMCkgYXMgU3RyaW5nOworCQl9CisJCQorCQlwcml2YXRlIGZ1bmN0aW9uIGxpc3RDaGFuZ2VkSGFuZGxlcihldmVudDpFdmVudCk6dm9pZAorCQl7CisJCQlNeU1vZGVsKGFwcC5tb2RlbCkubGFiZWxUZXh0ID0gTXlJbml0aWFsVmlldyhhcHAuaW5pdGlhbFZpZXcpLnN5bWJvbDsKKwkJfQorCQkKKwkJcHJpdmF0ZSBmdW5jdGlvbiBjaXR5TGlzdENoYW5nZUhhbmRsZXIoZXZlbnQ6RXZlbnQpOnZvaWQKKwkJeworCQkJTXlNb2RlbChhcHAubW9kZWwpLmxhYmVsVGV4dCA9IE15SW5pdGlhbFZpZXcoYXBwLmluaXRpYWxWaWV3KS5jaXR5OworCQl9CisJCQorCQlwcml2YXRlIGZ1bmN0aW9uIHRyYW5zZmVyQ2xpY2tIYW5kbGVyKGV2ZW50OkV2ZW50KTp2b2lkCisJCXsKKwkJCU15TW9kZWwoYXBwLm1vZGVsKS5sYWJlbFRleHQgPSBNeUluaXRpYWxWaWV3KGFwcC5pbml0aWFsVmlldykuaW5wdXRUZXh0OworCQl9CisJCQorCQlwcml2YXRlIGZ1bmN0aW9uIGNvbWJvQm94Q2hhbmdlSGFuZGxlcihldmVudDpFdmVudCk6dm9pZAorCQl7CisJCQlNeU1vZGVsKGFwcC5tb2RlbCkubGFiZWxUZXh0ID0gTXlJbml0aWFsVmlldyhhcHAuaW5pdGlhbFZpZXcpLmNvbWJvQm94VmFsdWU7CisJCX0KKwkJCisJCXB1YmxpYyBmdW5jdGlvbiBzZXREb2N1bWVudChkb2N1bWVudDpPYmplY3QsIGlkOlN0cmluZyA9IG51bGwpOnZvaWQKKwkJeworCQkJdGhpcy5hcHAgPSBkb2N1bWVudCBhcyBGbGV4SlNUZXN0X2Jhc2ljOworCQkJYXBwLmFkZEV2ZW50TGlzdGVuZXIoInZpZXdDaGFuZ2VkIiwgdmlld0NoYW5nZUhhbmRsZXIpOworCQl9CisJCQorCX0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9mbGV4anMvZmxleGpzLWhlbGxvLXdvcmxkL3NyYy9tYWluL2ZsZXgvbW9kZWxzL015TW9kZWwuYXMgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9mbGV4anMvZmxleGpzLWhlbGxvLXdvcmxkL3NyYy9tYWluL2ZsZXgvbW9kZWxzL015TW9kZWwuYXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWRjMjNlNgotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2ZsZXhqcy9mbGV4anMtaGVsbG8td29ybGQvc3JjL21haW4vZmxleC9tb2RlbHMvTXlNb2RlbC5hcwpAQCAtMCwwICsxLDU5IEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCitwYWNrYWdlIG1vZGVscworeworCWltcG9ydCBvcmcuYXBhY2hlLmZsZXguZXZlbnRzLkV2ZW50OworCWltcG9ydCBvcmcuYXBhY2hlLmZsZXguZXZlbnRzLkV2ZW50RGlzcGF0Y2hlcjsKKwkKKwlwdWJsaWMgY2xhc3MgTXlNb2RlbCBleHRlbmRzIEV2ZW50RGlzcGF0Y2hlcgorCXsKKwkJcHVibGljIGZ1bmN0aW9uIE15TW9kZWwoKQorCQl7CisJCX0KKwkJCisJCXByaXZhdGUgdmFyIF9sYWJlbFRleHQ6U3RyaW5nOworCQkKKwkJcHVibGljIGZ1bmN0aW9uIGdldCBsYWJlbFRleHQoKTpTdHJpbmcKKwkJeworCQkJcmV0dXJuIF9sYWJlbFRleHQ7CisJCX0KKwkJCisJCXB1YmxpYyBmdW5jdGlvbiBzZXQgbGFiZWxUZXh0KHZhbHVlOlN0cmluZyk6dm9pZAorCQl7CisJCQlpZiAodmFsdWUgIT0gX2xhYmVsVGV4dCkKKwkJCXsKKwkJCQlfbGFiZWxUZXh0ID0gdmFsdWU7CisJCQkJZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImxhYmVsVGV4dENoYW5nZWQiKSk7CisJCQl9CisJCX0KKyAgICAgICAgCisgICAgICAgIHByaXZhdGUgdmFyIF9zdHJpbmdzOkFycmF5ID0gWyJBQVBMIiwgIkFEQkUiLCAiR09PRyIsICJNU0ZUIiwgIllIT08iXTsKKyAgICAgICAgcHVibGljIGZ1bmN0aW9uIGdldCBzdHJpbmdzKCk6QXJyYXkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIF9zdHJpbmdzOworICAgICAgICB9CisJCQorCQlwcml2YXRlIHZhciBfY2l0aWVzOkFycmF5ID0gWyJMb25kb24iLCAiTWlhbWkiLCAiUGFyaXMiLCAiU3lkbmV5IiwgIlRva3lvIl07CisJCXB1YmxpYyBmdW5jdGlvbiBnZXQgY2l0aWVzKCk6QXJyYXkKKwkJeworCQkJcmV0dXJuIF9jaXRpZXM7CisJCX0KKworCX0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9mbGV4anMvcG9tLnhtbCBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2ZsZXhqcy9wb20ueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkMDFiMDcKLS0tIC9kZXYvbnVsbAorKysgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9mbGV4anMvcG9tLnhtbApAQCAtMCwwICsxLDQwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhLS0KKworICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworLS0+Cis8cHJvamVjdCB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIgorICAgICAgICAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKKyAgICAgICAgIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL21hdmVuLXY0XzBfMC54c2QiPgorICAgIDxtb2RlbFZlcnNpb24+NC4wLjA8L21vZGVsVmVyc2lvbj4KKworICAgIDxwYXJlbnQ+CisgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC5leGFtcGxlczwvZ3JvdXBJZD4KKyAgICAgICAgPGFydGlmYWN0SWQ+cGFyZW50PC9hcnRpZmFjdElkPgorICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICA8L3BhcmVudD4KKworICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC5leGFtcGxlcy5mbGV4anM8L2dyb3VwSWQ+CisgICAgPGFydGlmYWN0SWQ+ZmxleGpzPC9hcnRpZmFjdElkPgorICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgIDxwYWNrYWdpbmc+cG9tPC9wYWNrYWdpbmc+CisKKyAgICA8bW9kdWxlcz4KKyAgICAgICAgPG1vZHVsZT5mbGV4anMtaGVsbG8td29ybGQ8L21vZHVsZT4KKyAgICA8L21vZHVsZXM+CisKKzwvcHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL2NvbXBpbGVkLWxvY2FsZXMvcG9tLnhtbCBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vY29tcGlsZWQtbG9jYWxlcy9wb20ueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlODA3ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL2NvbXBpbGVkLWxvY2FsZXMvcG9tLnhtbApAQCAtMCwwICsxLDQwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhLS0KKworICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworLS0+Cis8cHJvamVjdCB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIgorICAgICAgICAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKKyAgICAgICAgIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL21hdmVuLXY0XzBfMC54c2QiPgorICAgIDxtb2RlbFZlcnNpb24+NC4wLjA8L21vZGVsVmVyc2lvbj4KKworICAgIDxwYXJlbnQ+CisgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC5leGFtcGxlcy5pMThuPC9ncm91cElkPgorICAgICAgICA8YXJ0aWZhY3RJZD5pMThuPC9hcnRpZmFjdElkPgorICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICA8L3BhcmVudD4KKworICAgIDxhcnRpZmFjdElkPmNvbXBpbGVkLWxvY2FsZXM8L2FydGlmYWN0SWQ+CisgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgPHBhY2thZ2luZz5wb208L3BhY2thZ2luZz4KKworICAgIDxtb2R1bGVzPgorICAgICAgICA8bW9kdWxlPnN3ZjwvbW9kdWxlPgorICAgICAgICA8bW9kdWxlPndhcjwvbW9kdWxlPgorICAgIDwvbW9kdWxlcz4KKworPC9wcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vY29tcGlsZWQtbG9jYWxlcy9zd2YvcG9tLnhtbCBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vY29tcGlsZWQtbG9jYWxlcy9zd2YvcG9tLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzIzZTM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9jb21waWxlZC1sb2NhbGVzL3N3Zi9wb20ueG1sCkBAIC0wLDAgKzEsNzcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IS0tCisKKyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIKKyAgICAgICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisgICAgICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9tYXZlbi12NF8wXzAueHNkIj4KKyAgICA8bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+CisKKyAgICA8cGFyZW50PgorICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXguZXhhbXBsZXMuaTE4bjwvZ3JvdXBJZD4KKyAgICAgICAgPGFydGlmYWN0SWQ+Y29tcGlsZWQtbG9jYWxlczwvYXJ0aWZhY3RJZD4KKyAgICAgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgPC9wYXJlbnQ+CisKKyAgICA8YXJ0aWZhY3RJZD5jb21waWxlZC1sb2NhbGVzLXN3ZjwvYXJ0aWZhY3RJZD4KKyAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICA8cGFja2FnaW5nPnN3ZjwvcGFja2FnaW5nPgorCisgICAgPGJ1aWxkPgorICAgICAgICA8c291cmNlRGlyZWN0b3J5PnNyYy9tYWluL2ZsZXg8L3NvdXJjZURpcmVjdG9yeT4KKyAgICAgICAgPHBsdWdpbnM+CisgICAgICAgICAgICA8cGx1Z2luPgorICAgICAgICAgICAgICAgIDxncm91cElkPm5ldC5mbGV4bW9qb3Mub3NzPC9ncm91cElkPgorICAgICAgICAgICAgICAgIDxhcnRpZmFjdElkPmZsZXhtb2pvcy1tYXZlbi1wbHVnaW48L2FydGlmYWN0SWQ+CisgICAgICAgICAgICAgICAgPHZlcnNpb24+Ny4xLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgICAgICAgICAgICAgPGV4dGVuc2lvbnM+dHJ1ZTwvZXh0ZW5zaW9ucz4KKyAgICAgICAgICAgICAgICA8Y29uZmlndXJhdGlvbj4KKyAgICAgICAgICAgICAgICAgICAgPGRlYnVnPnRydWU8L2RlYnVnPgorICAgICAgICAgICAgICAgICAgICA8bG9jYWxlc0NvbXBpbGVkPgorICAgICAgICAgICAgICAgICAgICAgICAgPGxvY2FsZT5lbl9VUzwvbG9jYWxlPgorICAgICAgICAgICAgICAgICAgICAgICAgPGxvY2FsZT5kZV9ERTwvbG9jYWxlPgorICAgICAgICAgICAgICAgICAgICA8L2xvY2FsZXNDb21waWxlZD4KKyAgICAgICAgICAgICAgICA8L2NvbmZpZ3VyYXRpb24+CisgICAgICAgICAgICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgICAgICAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICAgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXg8L2dyb3VwSWQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8YXJ0aWZhY3RJZD5jb21waWxlcjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx2ZXJzaW9uPjQuMTQuMTwvdmVyc2lvbj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlPnBvbTwvdHlwZT4KKyAgICAgICAgICAgICAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICAgICAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgICAgICAgPC9wbHVnaW4+CisgICAgICAgIDwvcGx1Z2lucz4KKyAgICA8L2J1aWxkPgorCisgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXg8L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5mcmFtZXdvcms8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj40LjE0LjE8L3ZlcnNpb24+CisgICAgICAgICAgICA8dHlwZT5wb208L3R5cGU+CisgICAgICAgIDwvZGVwZW5kZW5jeT4KKyAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICA8Z3JvdXBJZD5jb20uYWRvYmUuZmxhc2guZnJhbWV3b3JrPC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+cGxheWVyZ2xvYmFsPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgPHZlcnNpb24+MTQuMDwvdmVyc2lvbj4KKyAgICAgICAgICAgIDx0eXBlPnN3YzwvdHlwZT4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jaWVzPgorCis8L3Byb2plY3Q+CmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL2NvbXBpbGVkLWxvY2FsZXMvc3dmL3NyYy9tYWluL2ZsZXgvTWFpbi5teG1sIGIvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9jb21waWxlZC1sb2NhbGVzL3N3Zi9zcmMvbWFpbi9mbGV4L01haW4ubXhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDQ5YWI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9jb21waWxlZC1sb2NhbGVzL3N3Zi9zcmMvbWFpbi9mbGV4L01haW4ubXhtbApAQCAtMCwwICsxLDQ5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEtLQorCisgIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCistLT4KKzxzOkFwcGxpY2F0aW9uIHhtbG5zOmZ4PSJodHRwOi8vbnMuYWRvYmUuY29tL214bWwvMjAwOSIKKyAgICAgICAgICAgICAgIHhtbG5zOnM9ImxpYnJhcnk6Ly9ucy5hZG9iZS5jb20vZmxleC9zcGFyayI+CisKKyAgICA8Zng6TWV0YWRhdGE+CisgICAgICAgIFtSZXNvdXJjZUJ1bmRsZSgibXlyZXNvdXJjZXMiKV0KKyAgICA8L2Z4Ok1ldGFkYXRhPgorCisgICAgPGZ4OlNjcmlwdD4KKyAgICAgIDwhW0NEQVRBWworICAgICAgICBpbXBvcnQgbXguY29sbGVjdGlvbnMuQXJyYXlDb2xsZWN0aW9uOworCisgICAgICAgIGltcG9ydCBzcGFyay5ldmVudHMuSW5kZXhDaGFuZ2VFdmVudDsKKworICAgICAgICBbQmluZGFibGVdCisgICAgICAgIHByaXZhdGUgdmFyIGxvY2FsZXM6QXJyYXlDb2xsZWN0aW9uID0gbmV3IEFycmF5Q29sbGVjdGlvbihbe2xhYmVsOiJFbmdsaXNoIiwgbG9jYWxlOiJlbl9VUyJ9LAorICAgICAgICAgICAge2xhYmVsOiJHZXJtYW4iLCBsb2NhbGU6ImRlX0RFIn1dKTsKKworICAgICAgICBwcml2YXRlIGZ1bmN0aW9uIG9uTGFuZ3VhZ2VDaGFuZ2UoZXZlbnQ6SW5kZXhDaGFuZ2VFdmVudCk6dm9pZCB7CisgICAgICAgICAgICByZXNvdXJjZU1hbmFnZXIubG9jYWxlQ2hhaW4gPSBbbG9jYWxlU2VsZWN0b3Iuc2VsZWN0ZWRJdGVtLmxvY2FsZV07CisgICAgICAgIH0KKworICAgICAgICBdXT4KKyAgIDwvZng6U2NyaXB0PgorCisgICAgPHM6Vkdyb3VwPgorICAgICAgICA8czpDb21ib0JveCBpZD0ibG9jYWxlU2VsZWN0b3IiIGRhdGFQcm92aWRlcj0ie2xvY2FsZXN9IiBjaGFuZ2U9Im9uTGFuZ3VhZ2VDaGFuZ2UoZXZlbnQpIi8+CisgICAgICAgIDxzOkxhYmVsIHRleHQ9IntyZXNvdXJjZU1hbmFnZXIuZ2V0U3RyaW5nKCdteXJlc291cmNlcycsJ2dyZWV0aW5nJyl9Ii8+CisgICAgPC9zOlZHcm91cD4KKworPC9zOkFwcGxpY2F0aW9uPgpkaWZmIC0tZ2l0IGEvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9jb21waWxlZC1sb2NhbGVzL3N3Zi9zcmMvbWFpbi9sb2NhbGVzL2RlX0RFL215cmVzb3VyY2VzLnByb3BlcnRpZXMgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL2NvbXBpbGVkLWxvY2FsZXMvc3dmL3NyYy9tYWluL2xvY2FsZXMvZGVfREUvbXlyZXNvdXJjZXMucHJvcGVydGllcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNzkyYjkzCi0tLSAvZGV2L251bGwKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9jb21waWxlZC1sb2NhbGVzL3N3Zi9zcmMvbWFpbi9sb2NhbGVzL2RlX0RFL215cmVzb3VyY2VzLnByb3BlcnRpZXMKQEAgLTAsMCArMSwxOSBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjCisjIyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisjIyAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisjIyAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorIyMgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisjIyAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyMjICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorIyMKKyMjICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisjIworIyMgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyMjICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIyMgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIyMgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyMjICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworZ3JlZXRpbmc9SGFsbG8gV2VsdCEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL2NvbXBpbGVkLWxvY2FsZXMvc3dmL3NyYy9tYWluL2xvY2FsZXMvZW5fVVMvbXlyZXNvdXJjZXMucHJvcGVydGllcyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vY29tcGlsZWQtbG9jYWxlcy9zd2Yvc3JjL21haW4vbG9jYWxlcy9lbl9VUy9teXJlc291cmNlcy5wcm9wZXJ0aWVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhOGFjOTkKLS0tIC9kZXYvbnVsbAorKysgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL2NvbXBpbGVkLWxvY2FsZXMvc3dmL3NyYy9tYWluL2xvY2FsZXMvZW5fVVMvbXlyZXNvdXJjZXMucHJvcGVydGllcwpAQCAtMCwwICsxLDE5IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMKKyMjICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyMjICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyMjICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisjIyAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyMjICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorIyMgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisjIworIyMgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyMjCisjIyAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIyMgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisjIyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisjIyAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIyMgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitncmVldGluZz1IZWxsbyBXb3JsZCEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL2NvbXBpbGVkLWxvY2FsZXMvd2FyL3BvbS54bWwgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL2NvbXBpbGVkLWxvY2FsZXMvd2FyL3BvbS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjY4YmQzMAotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vY29tcGlsZWQtbG9jYWxlcy93YXIvcG9tLnhtbApAQCAtMCwwICsxLDEyNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhLS0KKworICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworLS0+Cis8cHJvamVjdCB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIgorICAgICAgICAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKKyAgICAgICAgIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL21hdmVuLXY0XzBfMC54c2QiPgorICAgIDxtb2RlbFZlcnNpb24+NC4wLjA8L21vZGVsVmVyc2lvbj4KKworICAgIDxwYXJlbnQ+CisgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC5leGFtcGxlcy5pMThuPC9ncm91cElkPgorICAgICAgICA8YXJ0aWZhY3RJZD5jb21waWxlZC1sb2NhbGVzPC9hcnRpZmFjdElkPgorICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICA8L3BhcmVudD4KKworICAgIDxhcnRpZmFjdElkPmNvbXBpbGVkLWxvY2FsZXMtd2FyPC9hcnRpZmFjdElkPgorICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgIDxwYWNrYWdpbmc+d2FyPC9wYWNrYWdpbmc+CisKKyAgICA8IS0tCisgICAgICAgIFByb3BlcnRpZXMgdXNlZCBpbiB0aGUgd3JhcHBlciB0ZW1wbGF0ZSwgdXNlZCBieSBtYXZlbi13YXItcGx1Z2luIHRvCisgICAgICAgIHBlcmZvcm0gdGhlIGZpbHRlcmluZy4KKyAgICAtLT4KKyAgICA8cHJvcGVydGllcz4KKyAgICAgICAgPHN3Zj5jb21waWxlZC1sb2NhbGVzLXN3Zi0xLjAuMC1TTkFQU0hPVDwvc3dmPgorICAgICAgICA8d2lkdGg+MTAwJTwvd2lkdGg+CisgICAgICAgIDxoZWlnaHQ+MTAwJTwvaGVpZ2h0PgorICAgICAgICA8dGl0bGU+TXkgRmlyc3QgQXBwbGljYXRpb248L3RpdGxlPgorICAgICAgICA8dXNlQnJvd3Nlckhpc3Rvcnk+dHJ1ZTwvdXNlQnJvd3Nlckhpc3Rvcnk+CisgICAgICAgIDxiZ2NvbG9yPndoaXRlPC9iZ2NvbG9yPgorICAgICAgICA8dmVyc2lvbl9tYWpvcj4xMDwvdmVyc2lvbl9tYWpvcj4KKyAgICAgICAgPHZlcnNpb25fbWlub3I+MjwvdmVyc2lvbl9taW5vcj4KKyAgICAgICAgPHZlcnNpb25fcmV2aXNpb24+MDwvdmVyc2lvbl9yZXZpc2lvbj4KKyAgICAgICAgPGV4cHJlc3NJbnN0YWxsU3dmPmV4cHJlc3NJbnN0YWxsLnN3ZjwvZXhwcmVzc0luc3RhbGxTd2Y+CisgICAgICAgIDxhcHBsaWNhdGlvbj5hcHBsaWNhdGlvbjwvYXBwbGljYXRpb24+CisgICAgPC9wcm9wZXJ0aWVzPgorCisgICAgPGJ1aWxkPgorICAgICAgICA8cGx1Z2lucz4KKyAgICAgICAgICAgIDwhLS0KKyAgICAgICAgICAgICAgICBDb3B5IGFsbCB0aGUgZmxleCByZWxhdGVkIHJlc291cmNlcyAoU1dGcywgUlNMcywgLi4uKQorICAgICAgICAgICAgLS0+CisgICAgICAgICAgICA8cGx1Z2luPgorICAgICAgICAgICAgICAgIDxncm91cElkPm5ldC5mbGV4bW9qb3Mub3NzPC9ncm91cElkPgorICAgICAgICAgICAgICAgIDxhcnRpZmFjdElkPmZsZXhtb2pvcy1tYXZlbi1wbHVnaW48L2FydGlmYWN0SWQ+CisgICAgICAgICAgICAgICAgPHZlcnNpb24+Ny4xLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgICAgICAgICAgICAgPGV4ZWN1dGlvbnM+CisgICAgICAgICAgICAgICAgICAgIDxleGVjdXRpb24+CisgICAgICAgICAgICAgICAgICAgICAgICA8Z29hbHM+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdvYWw+Y29weS1mbGV4LXJlc291cmNlczwvZ29hbD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvZ29hbHM+CisgICAgICAgICAgICAgICAgICAgIDwvZXhlY3V0aW9uPgorICAgICAgICAgICAgICAgIDwvZXhlY3V0aW9ucz4KKyAgICAgICAgICAgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICAgICAgICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleDwvZ3JvdXBJZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxhcnRpZmFjdElkPmNvbXBpbGVyPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHZlcnNpb24+NC4xNC4xPC92ZXJzaW9uPgorICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGU+cG9tPC90eXBlPgorICAgICAgICAgICAgICAgICAgICA8L2RlcGVuZGVuY3k+CisgICAgICAgICAgICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICAgICAgICA8L3BsdWdpbj4KKyAgICAgICAgICAgIDwhLS0KKyAgICAgICAgICAgICAgICBCdWlsZHMgdGhlIHdhciBhbmQgY29waWVzIHRoZSBmbGV4IGRlZmF1bHQgd3JhcHBlciB0ZW1wbGF0ZS4KKyAgICAgICAgICAgIC0tPgorICAgICAgICAgICAgPHBsdWdpbj4KKyAgICAgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLm1hdmVuLnBsdWdpbnM8L2dyb3VwSWQ+CisgICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+bWF2ZW4td2FyLXBsdWdpbjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgICAgICA8dmVyc2lvbj4yLjQ8L3ZlcnNpb24+CisgICAgICAgICAgICAgICAgPGNvbmZpZ3VyYXRpb24+CisgICAgICAgICAgICAgICAgICAgIDxvdmVybGF5cz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxvdmVybGF5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC53cmFwcGVyPC9ncm91cElkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcnRpZmFjdElkPnN3Zm9iamVjdDwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZT53YXI8L3R5cGU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlcmVkPnRydWU8L2ZpbHRlcmVkPgorICAgICAgICAgICAgICAgICAgICAgICAgPC9vdmVybGF5PgorICAgICAgICAgICAgICAgICAgICA8L292ZXJsYXlzPgorICAgICAgICAgICAgICAgIDwvY29uZmlndXJhdGlvbj4KKyAgICAgICAgICAgIDwvcGx1Z2luPgorICAgICAgICAgICAgPCEtLQorICAgICAgICAgICAgICAgIE1ha2UgdGhlIHdhciBwcm9qZWN0ICJydW5uYWJsZSIgYnkgcnVubmluZyBtdm4gamV0dHk6cnVuCisgICAgICAgICAgICAtLT4KKyAgICAgICAgICAgIDxwbHVnaW4+CisgICAgICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLm1vcnRiYXkuamV0dHk8L2dyb3VwSWQ+CisgICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+bWF2ZW4tamV0dHktcGx1Z2luPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgICAgIDx2ZXJzaW9uPjYuMS4xNzwvdmVyc2lvbj4KKyAgICAgICAgICAgIDwvcGx1Z2luPgorICAgICAgICA8L3BsdWdpbnM+CisgICAgPC9idWlsZD4KKworICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LmV4YW1wbGVzLmkxOG48L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5jb21waWxlZC1sb2NhbGVzLXN3ZjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgICAgICAgICAgPHR5cGU+c3dmPC90eXBlPgorICAgICAgICA8L2RlcGVuZGVuY3k+CisKKyAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXgud3JhcHBlcjwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPnN3Zm9iamVjdDwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjQuMTQuMTwvdmVyc2lvbj4KKyAgICAgICAgICAgIDx0eXBlPndhcjwvdHlwZT4KKyAgICAgICAgICAgIDxzY29wZT5ydW50aW1lPC9zY29wZT4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jaWVzPgorCis8L3Byb2plY3Q+CmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL2NvbXBpbGVkLWxvY2FsZXMvd2FyL3NyYy9tYWluL3dlYmFwcC9XRUItSU5GL3dlYi54bWwgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL2NvbXBpbGVkLWxvY2FsZXMvd2FyL3NyYy9tYWluL3dlYmFwcC9XRUItSU5GL3dlYi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGRkODM1YQotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vY29tcGlsZWQtbG9jYWxlcy93YXIvc3JjL21haW4vd2ViYXBwL1dFQi1JTkYvd2ViLnhtbApAQCAtMCwwICsxLDMxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLQorCisgIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCistLT4KKzx3ZWItYXBwIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisgICAgICAgICB4bWxucz0iaHR0cDovL2phdmEuc3VuLmNvbS94bWwvbnMvamF2YWVlIgorICAgICAgICAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vamF2YS5zdW4uY29tL3htbC9ucy9qYXZhZWUgaHR0cDovL2phdmEuc3VuLmNvbS94bWwvbnMvamF2YWVlL3dlYi1hcHBfMl81LnhzZCIKKyAgICAgICAgIGlkPSJXZWJBcHBfSUQiIHZlcnNpb249IjIuNSI+CisKKyAgICA8ZGlzcGxheS1uYW1lPndhciB3YXI8L2Rpc3BsYXktbmFtZT4KKworICAgIDx3ZWxjb21lLWZpbGUtbGlzdD4KKyAgICAgICAgPHdlbGNvbWUtZmlsZT5pbmRleC5odG1sPC93ZWxjb21lLWZpbGU+CisgICAgPC93ZWxjb21lLWZpbGUtbGlzdD4KKworPC93ZWItYXBwPgpkaWZmIC0tZ2l0IGEvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9sb2NhbGUtY2hhaW5zL3BvbS54bWwgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL2xvY2FsZS1jaGFpbnMvcG9tLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZmYzOWJjCi0tLSAvZGV2L251bGwKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9sb2NhbGUtY2hhaW5zL3BvbS54bWwKQEAgLTAsMCArMSw0MCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0tCisKKyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIKKyAgICAgICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisgICAgICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9tYXZlbi12NF8wXzAueHNkIj4KKyAgICA8bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+CisKKyAgICA8cGFyZW50PgorICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXguZXhhbXBsZXMuaTE4bjwvZ3JvdXBJZD4KKyAgICAgICAgPGFydGlmYWN0SWQ+aTE4bjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgPC9wYXJlbnQ+CisKKyAgICA8YXJ0aWZhY3RJZD5sb2NhbGUtY2hhaW5zPC9hcnRpZmFjdElkPgorICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgIDxwYWNrYWdpbmc+cG9tPC9wYWNrYWdpbmc+CisKKyAgICA8bW9kdWxlcz4KKyAgICAgICAgPG1vZHVsZT5zd2Y8L21vZHVsZT4KKyAgICAgICAgPG1vZHVsZT53YXI8L21vZHVsZT4KKyAgICA8L21vZHVsZXM+CisKKzwvcHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL2xvY2FsZS1jaGFpbnMvc3dmL3BvbS54bWwgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL2xvY2FsZS1jaGFpbnMvc3dmL3BvbS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmQ3MTQ2OAotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vbG9jYWxlLWNoYWlucy9zd2YvcG9tLnhtbApAQCAtMCwwICsxLDc5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLQorCisgIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCistLT4KKzxwcm9qZWN0IHhtbG5zPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAiCisgICAgICAgICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgorICAgICAgICAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAgaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvbWF2ZW4tdjRfMF8wLnhzZCI+CisgICAgPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgorCisgICAgPHBhcmVudD4KKyAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LmV4YW1wbGVzLmkxOG48L2dyb3VwSWQ+CisgICAgICAgIDxhcnRpZmFjdElkPmxvY2FsZS1jaGFpbnM8L2FydGlmYWN0SWQ+CisgICAgICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgIDwvcGFyZW50PgorCisgICAgPGFydGlmYWN0SWQ+bG9jYWxlLWNoYWlucy1zd2Y8L2FydGlmYWN0SWQ+CisgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgPHBhY2thZ2luZz5zd2Y8L3BhY2thZ2luZz4KKworICAgIDxidWlsZD4KKyAgICAgICAgPHNvdXJjZURpcmVjdG9yeT5zcmMvbWFpbi9mbGV4PC9zb3VyY2VEaXJlY3Rvcnk+CisgICAgICAgIDxwbHVnaW5zPgorICAgICAgICAgICAgPHBsdWdpbj4KKyAgICAgICAgICAgICAgICA8Z3JvdXBJZD5uZXQuZmxleG1vam9zLm9zczwvZ3JvdXBJZD4KKyAgICAgICAgICAgICAgICA8YXJ0aWZhY3RJZD5mbGV4bW9qb3MtbWF2ZW4tcGx1Z2luPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgICAgIDx2ZXJzaW9uPjcuMS4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgICAgICAgICAgICAgIDxleHRlbnNpb25zPnRydWU8L2V4dGVuc2lvbnM+CisgICAgICAgICAgICAgICAgPGNvbmZpZ3VyYXRpb24+CisgICAgICAgICAgICAgICAgICAgIDxkZWJ1Zz50cnVlPC9kZWJ1Zz4KKyAgICAgICAgICAgICAgICAgICAgPGxvY2FsZXNDb21waWxlZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsb2NhbGU+ZW5fVVM8L2xvY2FsZT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsb2NhbGU+ZW5fR0IsZW5fVVM8L2xvY2FsZT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsb2NhbGU+ZGVfREU8L2xvY2FsZT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsb2NhbGU+ZGVfQVQsZGVfREU8L2xvY2FsZT4KKyAgICAgICAgICAgICAgICAgICAgPC9sb2NhbGVzQ29tcGlsZWQ+CisgICAgICAgICAgICAgICAgPC9jb25maWd1cmF0aW9uPgorICAgICAgICAgICAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgICAgICAgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4PC9ncm91cElkPgorICAgICAgICAgICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+Y29tcGlsZXI8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8dmVyc2lvbj40LjE0LjE8L3ZlcnNpb24+CisgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZT5wb208L3R5cGU+CisgICAgICAgICAgICAgICAgICAgIDwvZGVwZW5kZW5jeT4KKyAgICAgICAgICAgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgICAgICAgIDwvcGx1Z2luPgorICAgICAgICA8L3BsdWdpbnM+CisgICAgPC9idWlsZD4KKworICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4PC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+ZnJhbWV3b3JrPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgPHZlcnNpb24+NC4xNC4xPC92ZXJzaW9uPgorICAgICAgICAgICAgPHR5cGU+cG9tPC90eXBlPgorICAgICAgICA8L2RlcGVuZGVuY3k+CisgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGdyb3VwSWQ+Y29tLmFkb2JlLmZsYXNoLmZyYW1ld29yazwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPnBsYXllcmdsb2JhbDwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjE0LjA8L3ZlcnNpb24+CisgICAgICAgICAgICA8dHlwZT5zd2M8L3R5cGU+CisgICAgICAgIDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY2llcz4KKworPC9wcm9qZWN0PgpkaWZmIC0tZ2l0IGEvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9sb2NhbGUtY2hhaW5zL3N3Zi9zcmMvbWFpbi9mbGV4L01haW4ubXhtbCBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vbG9jYWxlLWNoYWlucy9zd2Yvc3JjL21haW4vZmxleC9NYWluLm14bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2YyY2RhZAotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vbG9jYWxlLWNoYWlucy9zd2Yvc3JjL21haW4vZmxleC9NYWluLm14bWwKQEAgLTAsMCArMSw2MyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0KKworICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworLS0+Cis8czpBcHBsaWNhdGlvbiB4bWxuczpmeD0iaHR0cDovL25zLmFkb2JlLmNvbS9teG1sLzIwMDkiCisgICAgICAgICAgICAgICB4bWxuczpzPSJsaWJyYXJ5Oi8vbnMuYWRvYmUuY29tL2ZsZXgvc3BhcmsiPgorCisgICAgPGZ4Ok1ldGFkYXRhPgorICAgICAgICBbUmVzb3VyY2VCdW5kbGUoIm15cmVzb3VyY2VzIildCisgICAgPC9meDpNZXRhZGF0YT4KKworICAgIDxmeDpTY3JpcHQ+CisgICAgICA8IVtDREFUQVsKKyAgICAgICAgaW1wb3J0IG14LmNvbGxlY3Rpb25zLkFycmF5Q29sbGVjdGlvbjsKKworICAgICAgICBpbXBvcnQgc3BhcmsuZXZlbnRzLkluZGV4Q2hhbmdlRXZlbnQ7CisKKyAgICAgICAgW0JpbmRhYmxlXQorICAgICAgICBwcml2YXRlIHZhciBsb2NhbGVzOkFycmF5Q29sbGVjdGlvbiA9IG5ldyBBcnJheUNvbGxlY3Rpb24oWworICAgICAgICAgICAge2xhYmVsOiJVUyBFbmdsaXNoIiwgbG9jYWxlOiJlbl9VUyJ9LAorICAgICAgICAgICAge2xhYmVsOiJCcml0aXNoIEVuZ2xpc2giLCBsb2NhbGU6ImVuX0dCLGVuX1VTIn0sCisgICAgICAgICAgICB7bGFiZWw6Ikdlcm1hbiIsIGxvY2FsZToiZGVfREUsZW5fVVMifSwKKyAgICAgICAgICAgIHtsYWJlbDoiQXVzdHJpYW4gR2VybWFuIiwgbG9jYWxlOiJkZV9BVCxkZV9ERSxlbl9VUyJ9CisgICAgICAgIF0pOworCisgICAgICAgIHByaXZhdGUgZnVuY3Rpb24gb25MYW5ndWFnZUNoYW5nZShldmVudDpJbmRleENoYW5nZUV2ZW50KTp2b2lkIHsKKyAgICAgICAgICAgIHJlc291cmNlTWFuYWdlci5sb2NhbGVDaGFpbiA9IGdldExvY2FsZUNoYWluKGxvY2FsZVNlbGVjdG9yLnNlbGVjdGVkSXRlbS5sb2NhbGUpOworICAgICAgICB9CisKKyAgICAgICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRMb2NhbGVDaGFpbihzdHI6U3RyaW5nKTpBcnJheSB7CisgICAgICAgICAgICB2YXIgcmVzdWx0OkFycmF5ID0gW107CisgICAgICAgICAgICBmb3IgZWFjaCh2YXIgbG9jYWxlOlN0cmluZyBpbiBzdHIuc3BsaXQoIiwiKSkgeworICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGxvY2FsZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisKKyAgICAgICAgXV0+CisgICA8L2Z4OlNjcmlwdD4KKworICAgIDxzOlZHcm91cD4KKyAgICAgICAgPHM6Q29tYm9Cb3ggaWQ9ImxvY2FsZVNlbGVjdG9yIiBkYXRhUHJvdmlkZXI9Intsb2NhbGVzfSIgY2hhbmdlPSJvbkxhbmd1YWdlQ2hhbmdlKGV2ZW50KSIvPgorICAgICAgICA8czpMYWJlbCB0ZXh0PSJ7cmVzb3VyY2VNYW5hZ2VyLmdldFN0cmluZygnbXlyZXNvdXJjZXMnLCdob3REcmluaycpfSIvPgorICAgICAgICA8czpMYWJlbCB0ZXh0PSJ7cmVzb3VyY2VNYW5hZ2VyLmdldFN0cmluZygnbXlyZXNvdXJjZXMnLCdjb2xkRHJpbmsnKX0iLz4KKyAgICAgICAgPHM6TGFiZWwgdGV4dD0ie3Jlc291cmNlTWFuYWdlci5nZXRTdHJpbmcoJ215cmVzb3VyY2VzJywnc3RyYW5nZURyaW5rJyl9Ii8+CisgICAgPC9zOlZHcm91cD4KKworPC9zOkFwcGxpY2F0aW9uPgpkaWZmIC0tZ2l0IGEvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9sb2NhbGUtY2hhaW5zL3N3Zi9zcmMvbWFpbi9sb2NhbGVzL2RlX0FUL215cmVzb3VyY2VzLnByb3BlcnRpZXMgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL2xvY2FsZS1jaGFpbnMvc3dmL3NyYy9tYWluL2xvY2FsZXMvZGVfQVQvbXlyZXNvdXJjZXMucHJvcGVydGllcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDhkODIyCi0tLSAvZGV2L251bGwKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9sb2NhbGUtY2hhaW5zL3N3Zi9zcmMvbWFpbi9sb2NhbGVzL2RlX0FUL215cmVzb3VyY2VzLnByb3BlcnRpZXMKQEAgLTAsMCArMSwxOSBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjCisjIyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisjIyAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisjIyAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorIyMgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisjIyAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyMjICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorIyMKKyMjICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisjIworIyMgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyMjICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIyMgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIyMgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyMjICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworaG90RHJpbms9SGFmZXJsIEthZmZlZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vbG9jYWxlLWNoYWlucy9zd2Yvc3JjL21haW4vbG9jYWxlcy9kZV9ERS9teXJlc291cmNlcy5wcm9wZXJ0aWVzIGIvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9sb2NhbGUtY2hhaW5zL3N3Zi9zcmMvbWFpbi9sb2NhbGVzL2RlX0RFL215cmVzb3VyY2VzLnByb3BlcnRpZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2E0ZTIwZQotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vbG9jYWxlLWNoYWlucy9zd2Yvc3JjL21haW4vbG9jYWxlcy9kZV9ERS9teXJlc291cmNlcy5wcm9wZXJ0aWVzCkBAIC0wLDAgKzEsMjAgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIworIyMgIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorIyMgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorIyMgIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyMjICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorIyMgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisjIyAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyMjCisjIyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorIyMKKyMjICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisjIyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyMjICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyMjICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisjIyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK2hvdERyaW5rPVRhc3NlIEthZmZlZQorY29sZERyaW5rPUJpZXIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL2xvY2FsZS1jaGFpbnMvc3dmL3NyYy9tYWluL2xvY2FsZXMvZW5fR0IvbXlyZXNvdXJjZXMucHJvcGVydGllcyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vbG9jYWxlLWNoYWlucy9zd2Yvc3JjL21haW4vbG9jYWxlcy9lbl9HQi9teXJlc291cmNlcy5wcm9wZXJ0aWVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwMjAzMzIKLS0tIC9kZXYvbnVsbAorKysgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL2xvY2FsZS1jaGFpbnMvc3dmL3NyYy9tYWluL2xvY2FsZXMvZW5fR0IvbXlyZXNvdXJjZXMucHJvcGVydGllcwpAQCAtMCwwICsxLDE5IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMKKyMjICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyMjICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyMjICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisjIyAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyMjICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorIyMgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisjIworIyMgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyMjCisjIyAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIyMgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisjIyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisjIyAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIyMgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitob3REcmluaz1DdXAgb2YgdGVlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9sb2NhbGUtY2hhaW5zL3N3Zi9zcmMvbWFpbi9sb2NhbGVzL2VuX1VTL215cmVzb3VyY2VzLnByb3BlcnRpZXMgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL2xvY2FsZS1jaGFpbnMvc3dmL3NyYy9tYWluL2xvY2FsZXMvZW5fVVMvbXlyZXNvdXJjZXMucHJvcGVydGllcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTU5ZDJjCi0tLSAvZGV2L251bGwKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9sb2NhbGUtY2hhaW5zL3N3Zi9zcmMvbWFpbi9sb2NhbGVzL2VuX1VTL215cmVzb3VyY2VzLnByb3BlcnRpZXMKQEAgLTAsMCArMSwyMSBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjCisjIyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisjIyAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisjIyAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorIyMgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisjIyAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyMjICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorIyMKKyMjICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisjIworIyMgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyMjICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIyMgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIyMgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyMjICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworaG90RHJpbms9Q3VwIG9mIGNvZmZlZQorY29sZERyaW5rPUJlZXIKK3N0cmFuZ2VEcmluaz1SZWQgQnVsbApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vbG9jYWxlLWNoYWlucy93YXIvcG9tLnhtbCBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vbG9jYWxlLWNoYWlucy93YXIvcG9tLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODM3YzYwCi0tLSAvZGV2L251bGwKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9sb2NhbGUtY2hhaW5zL3dhci9wb20ueG1sCkBAIC0wLDAgKzEsMTI0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLQorCisgIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCistLT4KKzxwcm9qZWN0IHhtbG5zPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAiCisgICAgICAgICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgorICAgICAgICAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAgaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvbWF2ZW4tdjRfMF8wLnhzZCI+CisgICAgPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgorCisgICAgPHBhcmVudD4KKyAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LmV4YW1wbGVzLmkxOG48L2dyb3VwSWQ+CisgICAgICAgIDxhcnRpZmFjdElkPmxvY2FsZS1jaGFpbnM8L2FydGlmYWN0SWQ+CisgICAgICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgIDwvcGFyZW50PgorCisgICAgPGFydGlmYWN0SWQ+bG9jYWxlLWNoYWlucy13YXI8L2FydGlmYWN0SWQ+CisgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgPHBhY2thZ2luZz53YXI8L3BhY2thZ2luZz4KKworICAgIDwhLS0KKyAgICAgICAgUHJvcGVydGllcyB1c2VkIGluIHRoZSB3cmFwcGVyIHRlbXBsYXRlLCB1c2VkIGJ5IG1hdmVuLXdhci1wbHVnaW4gdG8KKyAgICAgICAgcGVyZm9ybSB0aGUgZmlsdGVyaW5nLgorICAgIC0tPgorICAgIDxwcm9wZXJ0aWVzPgorICAgICAgICA8c3dmPmxvY2FsZS1jaGFpbnMtc3dmLTEuMC4wLVNOQVBTSE9UPC9zd2Y+CisgICAgICAgIDx3aWR0aD4xMDAlPC93aWR0aD4KKyAgICAgICAgPGhlaWdodD4xMDAlPC9oZWlnaHQ+CisgICAgICAgIDx0aXRsZT5NeSBGaXJzdCBBcHBsaWNhdGlvbjwvdGl0bGU+CisgICAgICAgIDx1c2VCcm93c2VySGlzdG9yeT50cnVlPC91c2VCcm93c2VySGlzdG9yeT4KKyAgICAgICAgPGJnY29sb3I+d2hpdGU8L2JnY29sb3I+CisgICAgICAgIDx2ZXJzaW9uX21ham9yPjEwPC92ZXJzaW9uX21ham9yPgorICAgICAgICA8dmVyc2lvbl9taW5vcj4yPC92ZXJzaW9uX21pbm9yPgorICAgICAgICA8dmVyc2lvbl9yZXZpc2lvbj4wPC92ZXJzaW9uX3JldmlzaW9uPgorICAgICAgICA8ZXhwcmVzc0luc3RhbGxTd2Y+ZXhwcmVzc0luc3RhbGwuc3dmPC9leHByZXNzSW5zdGFsbFN3Zj4KKyAgICAgICAgPGFwcGxpY2F0aW9uPmFwcGxpY2F0aW9uPC9hcHBsaWNhdGlvbj4KKyAgICA8L3Byb3BlcnRpZXM+CisKKyAgICA8YnVpbGQ+CisgICAgICAgIDxwbHVnaW5zPgorICAgICAgICAgICAgPCEtLQorICAgICAgICAgICAgICAgIENvcHkgYWxsIHRoZSBmbGV4IHJlbGF0ZWQgcmVzb3VyY2VzIChTV0ZzLCBSU0xzLCAuLi4pCisgICAgICAgICAgICAtLT4KKyAgICAgICAgICAgIDxwbHVnaW4+CisgICAgICAgICAgICAgICAgPGdyb3VwSWQ+bmV0LmZsZXhtb2pvcy5vc3M8L2dyb3VwSWQ+CisgICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+ZmxleG1vam9zLW1hdmVuLXBsdWdpbjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgICAgICA8dmVyc2lvbj43LjEuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICAgICAgICAgICAgICA8ZXhlY3V0aW9ucz4KKyAgICAgICAgICAgICAgICAgICAgPGV4ZWN1dGlvbj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxnb2Fscz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Z29hbD5jb3B5LWZsZXgtcmVzb3VyY2VzPC9nb2FsPgorICAgICAgICAgICAgICAgICAgICAgICAgPC9nb2Fscz4KKyAgICAgICAgICAgICAgICAgICAgPC9leGVjdXRpb24+CisgICAgICAgICAgICAgICAgPC9leGVjdXRpb25zPgorICAgICAgICAgICAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgICAgICAgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4PC9ncm91cElkPgorICAgICAgICAgICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+Y29tcGlsZXI8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8dmVyc2lvbj40LjE0LjE8L3ZlcnNpb24+CisgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZT5wb208L3R5cGU+CisgICAgICAgICAgICAgICAgICAgIDwvZGVwZW5kZW5jeT4KKyAgICAgICAgICAgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgICAgICAgIDwvcGx1Z2luPgorICAgICAgICAgICAgPCEtLQorICAgICAgICAgICAgICAgIEJ1aWxkcyB0aGUgd2FyIGFuZCBjb3BpZXMgdGhlIGZsZXggZGVmYXVsdCB3cmFwcGVyIHRlbXBsYXRlLgorICAgICAgICAgICAgLS0+CisgICAgICAgICAgICA8cGx1Z2luPgorICAgICAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUubWF2ZW4ucGx1Z2luczwvZ3JvdXBJZD4KKyAgICAgICAgICAgICAgICA8YXJ0aWZhY3RJZD5tYXZlbi13YXItcGx1Z2luPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgICAgIDx2ZXJzaW9uPjIuNDwvdmVyc2lvbj4KKyAgICAgICAgICAgICAgICA8Y29uZmlndXJhdGlvbj4KKyAgICAgICAgICAgICAgICAgICAgPG92ZXJsYXlzPgorICAgICAgICAgICAgICAgICAgICAgICAgPG92ZXJsYXk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LndyYXBwZXI8L2dyb3VwSWQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+c3dmb2JqZWN0PC9hcnRpZmFjdElkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlPndhcjwvdHlwZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyZWQ+dHJ1ZTwvZmlsdGVyZWQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8L292ZXJsYXk+CisgICAgICAgICAgICAgICAgICAgIDwvb3ZlcmxheXM+CisgICAgICAgICAgICAgICAgPC9jb25maWd1cmF0aW9uPgorICAgICAgICAgICAgPC9wbHVnaW4+CisgICAgICAgICAgICA8IS0tCisgICAgICAgICAgICAgICAgTWFrZSB0aGUgd2FyIHByb2plY3QgInJ1bm5hYmxlIiBieSBydW5uaW5nIG12biBqZXR0eTpydW4KKyAgICAgICAgICAgIC0tPgorICAgICAgICAgICAgPHBsdWdpbj4KKyAgICAgICAgICAgICAgICA8Z3JvdXBJZD5vcmcubW9ydGJheS5qZXR0eTwvZ3JvdXBJZD4KKyAgICAgICAgICAgICAgICA8YXJ0aWZhY3RJZD5tYXZlbi1qZXR0eS1wbHVnaW48L2FydGlmYWN0SWQ+CisgICAgICAgICAgICAgICAgPHZlcnNpb24+Ni4xLjE3PC92ZXJzaW9uPgorICAgICAgICAgICAgPC9wbHVnaW4+CisgICAgICAgIDwvcGx1Z2lucz4KKyAgICA8L2J1aWxkPgorCisgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXguZXhhbXBsZXMuaTE4bjwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPmxvY2FsZS1jaGFpbnMtc3dmPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgICAgICAgICA8dHlwZT5zd2Y8L3R5cGU+CisgICAgICAgIDwvZGVwZW5kZW5jeT4KKworICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC53cmFwcGVyPC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+c3dmb2JqZWN0PC9hcnRpZmFjdElkPgorICAgICAgICAgICAgPHZlcnNpb24+NC4xNC4xPC92ZXJzaW9uPgorICAgICAgICAgICAgPHR5cGU+d2FyPC90eXBlPgorICAgICAgICAgICAgPHNjb3BlPnJ1bnRpbWU8L3Njb3BlPgorICAgICAgICA8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmNpZXM+CisKKzwvcHJvamVjdD4KZGlmZiAtLWdpdCBhL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vbG9jYWxlLWNoYWlucy93YXIvc3JjL21haW4vd2ViYXBwL1dFQi1JTkYvd2ViLnhtbCBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vbG9jYWxlLWNoYWlucy93YXIvc3JjL21haW4vd2ViYXBwL1dFQi1JTkYvd2ViLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZGQ4MzVhCi0tLSAvZGV2L251bGwKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9sb2NhbGUtY2hhaW5zL3dhci9zcmMvbWFpbi93ZWJhcHAvV0VCLUlORi93ZWIueG1sCkBAIC0wLDAgKzEsMzEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IS0tCisKKyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPHdlYi1hcHAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKKyAgICAgICAgIHhtbG5zPSJodHRwOi8vamF2YS5zdW4uY29tL3htbC9ucy9qYXZhZWUiCisgICAgICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9qYXZhLnN1bi5jb20veG1sL25zL2phdmFlZSBodHRwOi8vamF2YS5zdW4uY29tL3htbC9ucy9qYXZhZWUvd2ViLWFwcF8yXzUueHNkIgorICAgICAgICAgaWQ9IldlYkFwcF9JRCIgdmVyc2lvbj0iMi41Ij4KKworICAgIDxkaXNwbGF5LW5hbWU+d2FyIHdhcjwvZGlzcGxheS1uYW1lPgorCisgICAgPHdlbGNvbWUtZmlsZS1saXN0PgorICAgICAgICA8d2VsY29tZS1maWxlPmluZGV4Lmh0bWw8L3dlbGNvbWUtZmlsZT4KKyAgICA8L3dlbGNvbWUtZmlsZS1saXN0PgorCis8L3dlYi1hcHA+CmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL3BvbS54bWwgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL3BvbS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjZjNmNjMAotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vcG9tLnhtbApAQCAtMCwwICsxLDQyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhLS0KKworICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworLS0+Cis8cHJvamVjdCB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIgorICAgICAgICAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKKyAgICAgICAgIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL21hdmVuLXY0XzBfMC54c2QiPgorICAgIDxtb2RlbFZlcnNpb24+NC4wLjA8L21vZGVsVmVyc2lvbj4KKworICAgIDxwYXJlbnQ+CisgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC5leGFtcGxlczwvZ3JvdXBJZD4KKyAgICAgICAgPGFydGlmYWN0SWQ+cGFyZW50PC9hcnRpZmFjdElkPgorICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICA8L3BhcmVudD4KKworICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC5leGFtcGxlcy5pMThuPC9ncm91cElkPgorICAgIDxhcnRpZmFjdElkPmkxOG48L2FydGlmYWN0SWQ+CisgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgPHBhY2thZ2luZz5wb208L3BhY2thZ2luZz4KKworICAgIDxtb2R1bGVzPgorICAgICAgICA8bW9kdWxlPmNvbXBpbGVkLWxvY2FsZXM8L21vZHVsZT4KKyAgICAgICAgPG1vZHVsZT5ydW50aW1lLWxvY2FsZXM8L21vZHVsZT4KKyAgICAgICAgPG1vZHVsZT5sb2NhbGUtY2hhaW5zPC9tb2R1bGU+CisgICAgPC9tb2R1bGVzPgorCis8L3Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9ydW50aW1lLWxvY2FsZXMvcG9tLnhtbCBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vcnVudGltZS1sb2NhbGVzL3BvbS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2EzYThkMgotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vcnVudGltZS1sb2NhbGVzL3BvbS54bWwKQEAgLTAsMCArMSw0MCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0tCisKKyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIKKyAgICAgICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisgICAgICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9tYXZlbi12NF8wXzAueHNkIj4KKyAgICA8bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+CisKKyAgICA8cGFyZW50PgorICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXguZXhhbXBsZXMuaTE4bjwvZ3JvdXBJZD4KKyAgICAgICAgPGFydGlmYWN0SWQ+aTE4bjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgPC9wYXJlbnQ+CisKKyAgICA8YXJ0aWZhY3RJZD5ydW50aW1lLWxvY2FsZXM8L2FydGlmYWN0SWQ+CisgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgPHBhY2thZ2luZz5wb208L3BhY2thZ2luZz4KKworICAgIDxtb2R1bGVzPgorICAgICAgICA8bW9kdWxlPnN3ZjwvbW9kdWxlPgorICAgICAgICA8bW9kdWxlPndhcjwvbW9kdWxlPgorICAgIDwvbW9kdWxlcz4KKworPC9wcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vcnVudGltZS1sb2NhbGVzL3N3Zi9wb20ueG1sIGIvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9ydW50aW1lLWxvY2FsZXMvc3dmL3BvbS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQ4MThjNgotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vcnVudGltZS1sb2NhbGVzL3N3Zi9wb20ueG1sCkBAIC0wLDAgKzEsNzcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IS0tCisKKyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIKKyAgICAgICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisgICAgICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9tYXZlbi12NF8wXzAueHNkIj4KKyAgICA8bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+CisKKyAgICA8cGFyZW50PgorICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXguZXhhbXBsZXMuaTE4bjwvZ3JvdXBJZD4KKyAgICAgICAgPGFydGlmYWN0SWQ+cnVudGltZS1sb2NhbGVzPC9hcnRpZmFjdElkPgorICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICA8L3BhcmVudD4KKworICAgIDxhcnRpZmFjdElkPnJ1bnRpbWUtbG9jYWxlcy1zd2Y8L2FydGlmYWN0SWQ+CisgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgPHBhY2thZ2luZz5zd2Y8L3BhY2thZ2luZz4KKworICAgIDxidWlsZD4KKyAgICAgICAgPHNvdXJjZURpcmVjdG9yeT5zcmMvbWFpbi9mbGV4PC9zb3VyY2VEaXJlY3Rvcnk+CisgICAgICAgIDxwbHVnaW5zPgorICAgICAgICAgICAgPHBsdWdpbj4KKyAgICAgICAgICAgICAgICA8Z3JvdXBJZD5uZXQuZmxleG1vam9zLm9zczwvZ3JvdXBJZD4KKyAgICAgICAgICAgICAgICA8YXJ0aWZhY3RJZD5mbGV4bW9qb3MtbWF2ZW4tcGx1Z2luPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgICAgIDx2ZXJzaW9uPjcuMS4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgICAgICAgICAgICAgIDxleHRlbnNpb25zPnRydWU8L2V4dGVuc2lvbnM+CisgICAgICAgICAgICAgICAgPGNvbmZpZ3VyYXRpb24+CisgICAgICAgICAgICAgICAgICAgIDxkZWJ1Zz50cnVlPC9kZWJ1Zz4KKyAgICAgICAgICAgICAgICAgICAgPGxvY2FsZXNSdW50aW1lPgorICAgICAgICAgICAgICAgICAgICAgICAgPGxvY2FsZT5lbl9VUzwvbG9jYWxlPgorICAgICAgICAgICAgICAgICAgICAgICAgPGxvY2FsZT5kZV9ERTwvbG9jYWxlPgorICAgICAgICAgICAgICAgICAgICA8L2xvY2FsZXNSdW50aW1lPgorICAgICAgICAgICAgICAgIDwvY29uZmlndXJhdGlvbj4KKyAgICAgICAgICAgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICAgICAgICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleDwvZ3JvdXBJZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxhcnRpZmFjdElkPmNvbXBpbGVyPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHZlcnNpb24+NC4xNC4xPC92ZXJzaW9uPgorICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGU+cG9tPC90eXBlPgorICAgICAgICAgICAgICAgICAgICA8L2RlcGVuZGVuY3k+CisgICAgICAgICAgICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICAgICAgICA8L3BsdWdpbj4KKyAgICAgICAgPC9wbHVnaW5zPgorICAgIDwvYnVpbGQ+CisKKyAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleDwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPmZyYW1ld29yazwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjQuMTQuMTwvdmVyc2lvbj4KKyAgICAgICAgICAgIDx0eXBlPnBvbTwvdHlwZT4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPmNvbS5hZG9iZS5mbGFzaC5mcmFtZXdvcms8L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5wbGF5ZXJnbG9iYWw8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4xNC4wPC92ZXJzaW9uPgorICAgICAgICAgICAgPHR5cGU+c3djPC90eXBlPgorICAgICAgICA8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmNpZXM+CisKKzwvcHJvamVjdD4KZGlmZiAtLWdpdCBhL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vcnVudGltZS1sb2NhbGVzL3N3Zi9zcmMvbWFpbi9mbGV4L01haW4ubXhtbCBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vcnVudGltZS1sb2NhbGVzL3N3Zi9zcmMvbWFpbi9mbGV4L01haW4ubXhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjg2MzY1Ci0tLSAvZGV2L251bGwKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9ydW50aW1lLWxvY2FsZXMvc3dmL3NyYy9tYWluL2ZsZXgvTWFpbi5teG1sCkBAIC0wLDAgKzEsODAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IS0tCisKKyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPHM6QXBwbGljYXRpb24geG1sbnM6Zng9Imh0dHA6Ly9ucy5hZG9iZS5jb20vbXhtbC8yMDA5IgorICAgICAgICAgICAgICAgeG1sbnM6cz0ibGlicmFyeTovL25zLmFkb2JlLmNvbS9mbGV4L3NwYXJrIgorICAgICAgICAgICAgICAgY3JlYXRpb25Db21wbGV0ZT0ib25DcmVhdGlvbkNvbXBsZXRlKGV2ZW50KSI+CisKKyAgICA8Zng6TWV0YWRhdGE+CisgICAgICAgIFtSZXNvdXJjZUJ1bmRsZSgibXlyZXNvdXJjZXMiKV0KKyAgICA8L2Z4Ok1ldGFkYXRhPgorCisgICAgPGZ4OlNjcmlwdD4KKyAgICAgIDwhW0NEQVRBWworICAgICAgICBpbXBvcnQgbXguY29sbGVjdGlvbnMuQXJyYXlDb2xsZWN0aW9uOworICAgICAgICBpbXBvcnQgbXguZXZlbnRzLkZsZXhFdmVudDsKKyAgICAgICAgaW1wb3J0IG14LmV2ZW50cy5SZXNvdXJjZUV2ZW50OworICAgICAgICBpbXBvcnQgbXgubW9kdWxlcy5Nb2R1bGVCYXNlOworCisgICAgICAgIGltcG9ydCBzcGFyay5ldmVudHMuSW5kZXhDaGFuZ2VFdmVudDsKKworICAgICAgICAvLyBBY3R1YWxseSBJIGRvbid0IHF1aXRlIGtub3cgd2h5IEkgbmVlZCB0byBkbyB0aGlzIC4uLgorICAgICAgICAvLyB3aXRob3V0IGl0LCBJIGdldCBhbiBlcnJvciwgdGhhdCB0aGlzIGNsYXNzIGlzIG1pc3NpbmcuCisgICAgICAgIHByaXZhdGUgdmFyIHRzdDpNb2R1bGVCYXNlID0gbnVsbDsKKworICAgICAgICBbQmluZGFibGVdCisgICAgICAgIHByaXZhdGUgdmFyIGxvY2FsZXM6QXJyYXlDb2xsZWN0aW9uID0gbmV3IEFycmF5Q29sbGVjdGlvbihbe2xhYmVsOiAiRW5nbGlzaCIsIGxvY2FsZTogImVuX1VTIn0sCisgICAgICAgICAgICB7bGFiZWw6ICJHZXJtYW4iLCBsb2NhbGU6ICJkZV9ERSJ9XSk7CisKKyAgICAgICAgcHJpdmF0ZSBmdW5jdGlvbiBvbkNyZWF0aW9uQ29tcGxldGUoZXZlbnQ6RmxleEV2ZW50KTp2b2lkIHsKKyAgICAgICAgICAgIGlmKCJlbiIgPT0gQ2FwYWJpbGl0aWVzLmxhbmd1YWdlKSB7CisgICAgICAgICAgICAgICAgbG9jYWxlU2VsZWN0b3Iuc2VsZWN0ZWRJdGVtID0gbG9jYWxlcy5nZXRJdGVtQXQoMCk7CisgICAgICAgICAgICB9IGVsc2UgaWYoImRlIiA9PSBDYXBhYmlsaXRpZXMubGFuZ3VhZ2UpIHsKKyAgICAgICAgICAgICAgICBsb2NhbGVTZWxlY3Rvci5zZWxlY3RlZEl0ZW0gPSBsb2NhbGVzLmdldEl0ZW1BdCgxKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG9uTGFuZ3VhZ2VDaGFuZ2UoKTsKKyAgICAgICAgfQorCisgICAgICAgIHByaXZhdGUgZnVuY3Rpb24gb25MYW5ndWFnZUNoYW5nZShldmVudDpJbmRleENoYW5nZUV2ZW50ID0gbnVsbCk6dm9pZCB7CisgICAgICAgICAgICB2YXIgc2VsZWN0ZWRMb2NhbGU6U3RyaW5nID0gU3RyaW5nKGxvY2FsZVNlbGVjdG9yLnNlbGVjdGVkSXRlbS5sb2NhbGUpOworCisgICAgICAgICAgICAvLyBFbnN1cmUgdGhhdCB5b3UgYXJlIG5vdCBsb2FkaW5nIHRoZSBzYW1lIHJlc291cmNlIG1vZHVsZSBtb3JlIHRoYW4gb25jZS4KKyAgICAgICAgICAgIGlmIChyZXNvdXJjZU1hbmFnZXIuZ2V0TG9jYWxlcygpLmluZGV4T2Yoc2VsZWN0ZWRMb2NhbGUpICE9IC0xKSB7CisgICAgICAgICAgICAgICAgY29tcGxldGVIYW5kbGVyKG51bGwpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB2YXIgcmVzb3VyY2VNb2R1bGVVUkw6U3RyaW5nID0KKyAgICAgICAgICAgICAgICAgICAgICAgICIuL2xvY2FsZXMvcnVudGltZS1sb2NhbGVzLXN3Zi0xLjAuMC1TTkFQU0hPVC0iICsgc2VsZWN0ZWRMb2NhbGUgKyAiLnN3ZiI7CisgICAgICAgICAgICAgICAgdmFyIGV2ZW50RGlzcGF0Y2hlcjpJRXZlbnREaXNwYXRjaGVyID0gcmVzb3VyY2VNYW5hZ2VyLmxvYWRSZXNvdXJjZU1vZHVsZShyZXNvdXJjZU1vZHVsZVVSTCk7CisgICAgICAgICAgICAgICAgZXZlbnREaXNwYXRjaGVyLmFkZEV2ZW50TGlzdGVuZXIoUmVzb3VyY2VFdmVudC5DT01QTEVURSwgY29tcGxldGVIYW5kbGVyKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIHByaXZhdGUgZnVuY3Rpb24gY29tcGxldGVIYW5kbGVyKGV2ZW50OlJlc291cmNlRXZlbnQpOnZvaWQgeworICAgICAgICAgICAgcmVzb3VyY2VNYW5hZ2VyLmxvY2FsZUNoYWluID0gW2xvY2FsZVNlbGVjdG9yLnNlbGVjdGVkSXRlbS5sb2NhbGVdOworICAgICAgICB9CisKKyAgICAgICAgXV0+CisgICA8L2Z4OlNjcmlwdD4KKworICAgIDxzOlZHcm91cD4KKyAgICAgICAgPHM6Q29tYm9Cb3ggaWQ9ImxvY2FsZVNlbGVjdG9yIiBkYXRhUHJvdmlkZXI9Intsb2NhbGVzfSIgY2hhbmdlPSJvbkxhbmd1YWdlQ2hhbmdlKGV2ZW50KSIvPgorICAgICAgICA8czpMYWJlbCB0ZXh0PSJ7cmVzb3VyY2VNYW5hZ2VyLmdldFN0cmluZygnbXlyZXNvdXJjZXMnLCdncmVldGluZycpfSIvPgorICAgIDwvczpWR3JvdXA+CisKKzwvczpBcHBsaWNhdGlvbj4KZGlmZiAtLWdpdCBhL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vcnVudGltZS1sb2NhbGVzL3N3Zi9zcmMvbWFpbi9sb2NhbGVzL2RlX0RFL215cmVzb3VyY2VzLnByb3BlcnRpZXMgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL3J1bnRpbWUtbG9jYWxlcy9zd2Yvc3JjL21haW4vbG9jYWxlcy9kZV9ERS9teXJlc291cmNlcy5wcm9wZXJ0aWVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3OTJiOTMKLS0tIC9kZXYvbnVsbAorKysgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL3J1bnRpbWUtbG9jYWxlcy9zd2Yvc3JjL21haW4vbG9jYWxlcy9kZV9ERS9teXJlc291cmNlcy5wcm9wZXJ0aWVzCkBAIC0wLDAgKzEsMTkgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIworIyMgIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorIyMgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorIyMgIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyMjICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorIyMgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisjIyAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyMjCisjIyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorIyMKKyMjICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisjIyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyMjICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyMjICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisjIyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK2dyZWV0aW5nPUhhbGxvIFdlbHQhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9ydW50aW1lLWxvY2FsZXMvc3dmL3NyYy9tYWluL2xvY2FsZXMvZW5fVVMvbXlyZXNvdXJjZXMucHJvcGVydGllcyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vcnVudGltZS1sb2NhbGVzL3N3Zi9zcmMvbWFpbi9sb2NhbGVzL2VuX1VTL215cmVzb3VyY2VzLnByb3BlcnRpZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE4YWM5OQotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vcnVudGltZS1sb2NhbGVzL3N3Zi9zcmMvbWFpbi9sb2NhbGVzL2VuX1VTL215cmVzb3VyY2VzLnByb3BlcnRpZXMKQEAgLTAsMCArMSwxOSBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjCisjIyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisjIyAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisjIyAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorIyMgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisjIyAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyMjICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorIyMKKyMjICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisjIworIyMgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyMjICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIyMgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIyMgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyMjICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworZ3JlZXRpbmc9SGVsbG8gV29ybGQhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9ydW50aW1lLWxvY2FsZXMvd2FyL3BvbS54bWwgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL3J1bnRpbWUtbG9jYWxlcy93YXIvcG9tLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMWQ3NTNlCi0tLSAvZGV2L251bGwKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvaTE4bi9ydW50aW1lLWxvY2FsZXMvd2FyL3BvbS54bWwKQEAgLTAsMCArMSwxMjQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IS0tCisKKyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIKKyAgICAgICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisgICAgICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9tYXZlbi12NF8wXzAueHNkIj4KKyAgICA8bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+CisKKyAgICA8cGFyZW50PgorICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXguZXhhbXBsZXMuaTE4bjwvZ3JvdXBJZD4KKyAgICAgICAgPGFydGlmYWN0SWQ+cnVudGltZS1sb2NhbGVzPC9hcnRpZmFjdElkPgorICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICA8L3BhcmVudD4KKworICAgIDxhcnRpZmFjdElkPnJ1bnRpbWUtbG9jYWxlcy13YXI8L2FydGlmYWN0SWQ+CisgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgPHBhY2thZ2luZz53YXI8L3BhY2thZ2luZz4KKworICAgIDwhLS0KKyAgICAgICAgUHJvcGVydGllcyB1c2VkIGluIHRoZSB3cmFwcGVyIHRlbXBsYXRlLCB1c2VkIGJ5IG1hdmVuLXdhci1wbHVnaW4gdG8KKyAgICAgICAgcGVyZm9ybSB0aGUgZmlsdGVyaW5nLgorICAgIC0tPgorICAgIDxwcm9wZXJ0aWVzPgorICAgICAgICA8c3dmPnJ1bnRpbWUtbG9jYWxlcy1zd2YtMS4wLjAtU05BUFNIT1Q8L3N3Zj4KKyAgICAgICAgPHdpZHRoPjEwMCU8L3dpZHRoPgorICAgICAgICA8aGVpZ2h0PjEwMCU8L2hlaWdodD4KKyAgICAgICAgPHRpdGxlPk15IEZpcnN0IEFwcGxpY2F0aW9uPC90aXRsZT4KKyAgICAgICAgPHVzZUJyb3dzZXJIaXN0b3J5PnRydWU8L3VzZUJyb3dzZXJIaXN0b3J5PgorICAgICAgICA8Ymdjb2xvcj53aGl0ZTwvYmdjb2xvcj4KKyAgICAgICAgPHZlcnNpb25fbWFqb3I+MTA8L3ZlcnNpb25fbWFqb3I+CisgICAgICAgIDx2ZXJzaW9uX21pbm9yPjI8L3ZlcnNpb25fbWlub3I+CisgICAgICAgIDx2ZXJzaW9uX3JldmlzaW9uPjA8L3ZlcnNpb25fcmV2aXNpb24+CisgICAgICAgIDxleHByZXNzSW5zdGFsbFN3Zj5leHByZXNzSW5zdGFsbC5zd2Y8L2V4cHJlc3NJbnN0YWxsU3dmPgorICAgICAgICA8YXBwbGljYXRpb24+YXBwbGljYXRpb248L2FwcGxpY2F0aW9uPgorICAgIDwvcHJvcGVydGllcz4KKworICAgIDxidWlsZD4KKyAgICAgICAgPHBsdWdpbnM+CisgICAgICAgICAgICA8IS0tCisgICAgICAgICAgICAgICAgQ29weSBhbGwgdGhlIGZsZXggcmVsYXRlZCByZXNvdXJjZXMgKFNXRnMsIFJTTHMsIC4uLikKKyAgICAgICAgICAgIC0tPgorICAgICAgICAgICAgPHBsdWdpbj4KKyAgICAgICAgICAgICAgICA8Z3JvdXBJZD5uZXQuZmxleG1vam9zLm9zczwvZ3JvdXBJZD4KKyAgICAgICAgICAgICAgICA8YXJ0aWZhY3RJZD5mbGV4bW9qb3MtbWF2ZW4tcGx1Z2luPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgICAgIDx2ZXJzaW9uPjcuMS4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgICAgICAgICAgICAgIDxleGVjdXRpb25zPgorICAgICAgICAgICAgICAgICAgICA8ZXhlY3V0aW9uPgorICAgICAgICAgICAgICAgICAgICAgICAgPGdvYWxzPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnb2FsPmNvcHktZmxleC1yZXNvdXJjZXM8L2dvYWw+CisgICAgICAgICAgICAgICAgICAgICAgICA8L2dvYWxzPgorICAgICAgICAgICAgICAgICAgICA8L2V4ZWN1dGlvbj4KKyAgICAgICAgICAgICAgICA8L2V4ZWN1dGlvbnM+CisgICAgICAgICAgICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgICAgICAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICAgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXg8L2dyb3VwSWQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8YXJ0aWZhY3RJZD5jb21waWxlcjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx2ZXJzaW9uPjQuMTQuMTwvdmVyc2lvbj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlPnBvbTwvdHlwZT4KKyAgICAgICAgICAgICAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICAgICAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgICAgICAgPC9wbHVnaW4+CisgICAgICAgICAgICA8IS0tCisgICAgICAgICAgICAgICAgQnVpbGRzIHRoZSB3YXIgYW5kIGNvcGllcyB0aGUgZmxleCBkZWZhdWx0IHdyYXBwZXIgdGVtcGxhdGUuCisgICAgICAgICAgICAtLT4KKyAgICAgICAgICAgIDxwbHVnaW4+CisgICAgICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5tYXZlbi5wbHVnaW5zPC9ncm91cElkPgorICAgICAgICAgICAgICAgIDxhcnRpZmFjdElkPm1hdmVuLXdhci1wbHVnaW48L2FydGlmYWN0SWQ+CisgICAgICAgICAgICAgICAgPHZlcnNpb24+Mi40PC92ZXJzaW9uPgorICAgICAgICAgICAgICAgIDxjb25maWd1cmF0aW9uPgorICAgICAgICAgICAgICAgICAgICA8b3ZlcmxheXM+CisgICAgICAgICAgICAgICAgICAgICAgICA8b3ZlcmxheT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXgud3JhcHBlcjwvZ3JvdXBJZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXJ0aWZhY3RJZD5zd2ZvYmplY3Q8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGU+d2FyPC90eXBlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXJlZD50cnVlPC9maWx0ZXJlZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvb3ZlcmxheT4KKyAgICAgICAgICAgICAgICAgICAgPC9vdmVybGF5cz4KKyAgICAgICAgICAgICAgICA8L2NvbmZpZ3VyYXRpb24+CisgICAgICAgICAgICA8L3BsdWdpbj4KKyAgICAgICAgICAgIDwhLS0KKyAgICAgICAgICAgICAgICBNYWtlIHRoZSB3YXIgcHJvamVjdCAicnVubmFibGUiIGJ5IHJ1bm5pbmcgbXZuIGpldHR5OnJ1bgorICAgICAgICAgICAgLS0+CisgICAgICAgICAgICA8cGx1Z2luPgorICAgICAgICAgICAgICAgIDxncm91cElkPm9yZy5tb3J0YmF5LmpldHR5PC9ncm91cElkPgorICAgICAgICAgICAgICAgIDxhcnRpZmFjdElkPm1hdmVuLWpldHR5LXBsdWdpbjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgICAgICA8dmVyc2lvbj42LjEuMTc8L3ZlcnNpb24+CisgICAgICAgICAgICA8L3BsdWdpbj4KKyAgICAgICAgPC9wbHVnaW5zPgorICAgIDwvYnVpbGQ+CisKKyAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC5leGFtcGxlcy5pMThuPC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+cnVudGltZS1sb2NhbGVzLXN3ZjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgICAgICAgICAgPHR5cGU+c3dmPC90eXBlPgorICAgICAgICA8L2RlcGVuZGVuY3k+CisKKyAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXgud3JhcHBlcjwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPnN3Zm9iamVjdDwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjQuMTQuMTwvdmVyc2lvbj4KKyAgICAgICAgICAgIDx0eXBlPndhcjwvdHlwZT4KKyAgICAgICAgICAgIDxzY29wZT5ydW50aW1lPC9zY29wZT4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jaWVzPgorCis8L3Byb2plY3Q+CmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL3J1bnRpbWUtbG9jYWxlcy93YXIvc3JjL21haW4vd2ViYXBwL1dFQi1JTkYvd2ViLnhtbCBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL2kxOG4vcnVudGltZS1sb2NhbGVzL3dhci9zcmMvbWFpbi93ZWJhcHAvV0VCLUlORi93ZWIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkZDgzNWEKLS0tIC9kZXYvbnVsbAorKysgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9pMThuL3J1bnRpbWUtbG9jYWxlcy93YXIvc3JjL21haW4vd2ViYXBwL1dFQi1JTkYvd2ViLnhtbApAQCAtMCwwICsxLDMxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLQorCisgIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCistLT4KKzx3ZWItYXBwIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisgICAgICAgICB4bWxucz0iaHR0cDovL2phdmEuc3VuLmNvbS94bWwvbnMvamF2YWVlIgorICAgICAgICAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vamF2YS5zdW4uY29tL3htbC9ucy9qYXZhZWUgaHR0cDovL2phdmEuc3VuLmNvbS94bWwvbnMvamF2YWVlL3dlYi1hcHBfMl81LnhzZCIKKyAgICAgICAgIGlkPSJXZWJBcHBfSUQiIHZlcnNpb249IjIuNSI+CisKKyAgICA8ZGlzcGxheS1uYW1lPndhciB3YXI8L2Rpc3BsYXktbmFtZT4KKworICAgIDx3ZWxjb21lLWZpbGUtbGlzdD4KKyAgICAgICAgPHdlbGNvbWUtZmlsZT5pbmRleC5odG1sPC93ZWxjb21lLWZpbGU+CisgICAgPC93ZWxjb21lLWZpbGUtbGlzdD4KKworPC93ZWItYXBwPgpkaWZmIC0tZ2l0IGEvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvbW9iaWxlL3BvbS54bWwgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9tb2JpbGUvcG9tLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NGIxNjgzCi0tLSAvZGV2L251bGwKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvbW9iaWxlL3BvbS54bWwKQEAgLTAsMCArMSw0MCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0tCisKKyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIKKyAgICAgICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisgICAgICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9tYXZlbi12NF8wXzAueHNkIj4KKyAgICA8bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+CisKKyAgICA8cGFyZW50PgorICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXguZXhhbXBsZXM8L2dyb3VwSWQ+CisgICAgICAgIDxhcnRpZmFjdElkPnBhcmVudDwvYXJ0aWZhY3RJZD4KKyAgICAgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgPC9wYXJlbnQ+CisKKyAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXguZXhhbXBsZXMubW9iaWxlPC9ncm91cElkPgorICAgIDxhcnRpZmFjdElkPm1vYmlsZTwvYXJ0aWZhY3RJZD4KKyAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICA8cGFja2FnaW5nPnBvbTwvcGFja2FnaW5nPgorCisgICAgPG1vZHVsZXM+CisgICAgICAgIDxtb2R1bGU+c2ltcGxlLWFpcjwvbW9kdWxlPgorICAgIDwvbW9kdWxlcz4KKworPC9wcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL21vYmlsZS9zaW1wbGUtYWlyL3BvbS54bWwgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9tb2JpbGUvc2ltcGxlLWFpci9wb20ueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0OWU3ODkKLS0tIC9kZXYvbnVsbAorKysgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9tb2JpbGUvc2ltcGxlLWFpci9wb20ueG1sCkBAIC0wLDAgKzEsMTEwIEBACis8IS0tCisKKyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKKyAgICAgICAgIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL21hdmVuLXY0XzBfMC54c2QiPgorCisgICAgPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgorCisgICAgPHBhcmVudD4KKyAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LmV4YW1wbGVzLm1vYmlsZTwvZ3JvdXBJZD4KKyAgICAgICAgPGFydGlmYWN0SWQ+bW9iaWxlPC9hcnRpZmFjdElkPgorICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICA8L3BhcmVudD4KKworICAgIDxhcnRpZmFjdElkPnNpbXBsZS1haXI8L2FydGlmYWN0SWQ+CisgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgPHBhY2thZ2luZz5haXI8L3BhY2thZ2luZz4KKworICAgIDxidWlsZD4KKyAgICAgICAgPHNvdXJjZURpcmVjdG9yeT5zcmMvbWFpbi9mbGV4PC9zb3VyY2VEaXJlY3Rvcnk+CisgICAgICAgIDxwbHVnaW5zPgorICAgICAgICAgICAgPHBsdWdpbj4KKyAgICAgICAgICAgICAgICA8Z3JvdXBJZD5uZXQuZmxleG1vam9zLm9zczwvZ3JvdXBJZD4KKyAgICAgICAgICAgICAgICA8YXJ0aWZhY3RJZD5mbGV4bW9qb3MtbWF2ZW4tcGx1Z2luPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgICAgIDx2ZXJzaW9uPjcuMS4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgICAgICAgICAgICAgIDxleHRlbnNpb25zPnRydWU8L2V4dGVuc2lvbnM+CisgICAgICAgICAgICAgICAgPGV4ZWN1dGlvbnM+CisgICAgICAgICAgICAgICAgICAgIDxleGVjdXRpb24+CisgICAgICAgICAgICAgICAgICAgICAgICA8Z29hbHM+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdvYWw+c2lnbi1haXI8L2dvYWw+CisgICAgICAgICAgICAgICAgICAgICAgICA8L2dvYWxzPgorICAgICAgICAgICAgICAgICAgICA8L2V4ZWN1dGlvbj4KKyAgICAgICAgICAgICAgICA8L2V4ZWN1dGlvbnM+CisKKyAgICAgICAgICAgICAgICA8Y29uZmlndXJhdGlvbj4KKyAgICAgICAgICAgICAgICAgICAgPCEtLSBTdHJhbmdlbHkgSSBnZXQgbGlua2VyIGVycm9ycywgaWYgSSBjb21tZW50IGluIHRoaXMgbGluZSAtLT4KKyAgICAgICAgICAgICAgICAgICAgPCEtLWtlZXBHZW5lcmF0ZWRBY3Rpb25zY3JpcHQ+dHJ1ZTwva2VlcEdlbmVyYXRlZEFjdGlvbnNjcmlwdC0tPgorCisgICAgICAgICAgICAgICAgICAgIDxzdG9yZXBhc3M+ZmxleG1vam9zPC9zdG9yZXBhc3M+CisgICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdG9yVGVtcGxhdGU+JHtiYXNlZGlyfS9zcmMvbWFpbi9yZXNvdXJjZXMvZGVzY3JpcHRvci54bWw8L2Rlc2NyaXB0b3JUZW1wbGF0ZT4KKyAgICAgICAgICAgICAgICAgICAgPGRlYnVnPnRydWU8L2RlYnVnPgorICAgICAgICAgICAgICAgIDwvY29uZmlndXJhdGlvbj4KKworICAgICAgICAgICAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgICAgICAgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4PC9ncm91cElkPgorICAgICAgICAgICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+Y29tcGlsZXI8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8dmVyc2lvbj40LjE0LjE8L3ZlcnNpb24+CisgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZT5wb208L3R5cGU+CisgICAgICAgICAgICAgICAgICAgIDwvZGVwZW5kZW5jeT4KKyAgICAgICAgICAgICAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICAgICAgICAgICAgICA8Z3JvdXBJZD5jb20uYWRvYmUuYWlyLmNvbXBpbGVyPC9ncm91cElkPgorICAgICAgICAgICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+YWR0PC9hcnRpZmFjdElkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHZlcnNpb24+MTcuMDwvdmVyc2lvbj4KKyAgICAgICAgICAgICAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICAgICAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgICAgICAgPC9wbHVnaW4+CisgICAgICAgIDwvcGx1Z2lucz4KKyAgICA8L2J1aWxkPgorCisgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXg8L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5mcmFtZXdvcms8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj40LjE0LjE8L3ZlcnNpb24+CisgICAgICAgICAgICA8dHlwZT5wb208L3R5cGU+CisgICAgICAgIDwvZGVwZW5kZW5jeT4KKworICAgICAgICA8IS0tIEFkZCB0aGUgY29tcG9uZW50cyBvcHRpbWl6ZWQgZm9yIG1vYmlsZSB1c2UgLS0+CisgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LmZyYW1ld29yazwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPm1vYmlsZTwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjQuMTQuMTwvdmVyc2lvbj4KKyAgICAgICAgICAgIDx0eXBlPnBvbTwvdHlwZT4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorCisgICAgICAgIDwhLS0gQWRkIHRoZSBkZWZhdWx0IG1vYmlsZSBza2luIC0tPgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC5mcmFtZXdvcmsudGhlbWVzPC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+bW9iaWxlPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgPHZlcnNpb24+NC4xNC4xPC92ZXJzaW9uPgorICAgICAgICAgICAgPHR5cGU+c3djPC90eXBlPgorICAgICAgICAgICAgPHNjb3BlPnRoZW1lPC9zY29wZT4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorCisgICAgICAgIDwhLS0gQWlyIHJ1bnRpbWUgZGVwZW5kZW5jaWVzIC0tPgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPmNvbS5hZG9iZS5haXI8L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5mcmFtZXdvcms8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4xNy4wPC92ZXJzaW9uPgorICAgICAgICAgICAgPHR5cGU+cG9tPC90eXBlPgorICAgICAgICA8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmNpZXM+CisKKzwvcHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9tb2JpbGUvc2ltcGxlLWFpci9zcmMvbWFpbi9haXIvc2lnbi5wMTIgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9tb2JpbGUvc2ltcGxlLWFpci9zcmMvbWFpbi9haXIvc2lnbi5wMTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJlOWZjMwotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL21vYmlsZS9zaW1wbGUtYWlyL3NyYy9tYWluL2Fpci9zaWduLnAxMgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9tb2JpbGUvc2ltcGxlLWFpci9zcmMvbWFpbi9mbGV4L1NpbXBsZUFpck1vYmlsZUFwcGxpY2F0aW9uLm14bWwgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9tb2JpbGUvc2ltcGxlLWFpci9zcmMvbWFpbi9mbGV4L1NpbXBsZUFpck1vYmlsZUFwcGxpY2F0aW9uLm14bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDk4NDVmNwotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL21vYmlsZS9zaW1wbGUtYWlyL3NyYy9tYWluL2ZsZXgvU2ltcGxlQWlyTW9iaWxlQXBwbGljYXRpb24ubXhtbApAQCAtMCwwICsxLDI3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhLS0KKworICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworLS0+Cis8czpUYWJiZWRWaWV3TmF2aWdhdG9yQXBwbGljYXRpb24KKyAgICAgICAgeG1sbnM6Zng9Imh0dHA6Ly9ucy5hZG9iZS5jb20vbXhtbC8yMDA5IgorICAgICAgICB4bWxuczpzPSJsaWJyYXJ5Oi8vbnMuYWRvYmUuY29tL2ZsZXgvc3BhcmsiPgorCisgICAgPHM6Vmlld05hdmlnYXRvciBsYWJlbD0idGFiMSIgZmlyc3RWaWV3PSJ0YWJzLlRhYjEiLz4KKyAgICA8czpWaWV3TmF2aWdhdG9yIGxhYmVsPSJ0YWIyIiBmaXJzdFZpZXc9InRhYnMuVGFiMiIvPgorCis8L3M6VGFiYmVkVmlld05hdmlnYXRvckFwcGxpY2F0aW9uPgpkaWZmIC0tZ2l0IGEvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvbW9iaWxlL3NpbXBsZS1haXIvc3JjL21haW4vZmxleC90YWJzL1RhYjEubXhtbCBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL21vYmlsZS9zaW1wbGUtYWlyL3NyYy9tYWluL2ZsZXgvdGFicy9UYWIxLm14bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGZlNDkyYwotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL21vYmlsZS9zaW1wbGUtYWlyL3NyYy9tYWluL2ZsZXgvdGFicy9UYWIxLm14bWwKQEAgLTAsMCArMSwyNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0tCisKKyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPHM6VmlldyB4bWxuczpmeD0iaHR0cDovL25zLmFkb2JlLmNvbS9teG1sLzIwMDkiIHhtbG5zOnM9ImxpYnJhcnk6Ly9ucy5hZG9iZS5jb20vZmxleC9zcGFyayI+CisKKyAgPHM6TGFiZWwgdGV4dD0idGFiMSIvPgorCis8L3M6Vmlldz4KZGlmZiAtLWdpdCBhL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL21vYmlsZS9zaW1wbGUtYWlyL3NyYy9tYWluL2ZsZXgvdGFicy9UYWIyLm14bWwgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9tb2JpbGUvc2ltcGxlLWFpci9zcmMvbWFpbi9mbGV4L3RhYnMvVGFiMi5teG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzYTM3ODMKLS0tIC9kZXYvbnVsbAorKysgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9tb2JpbGUvc2ltcGxlLWFpci9zcmMvbWFpbi9mbGV4L3RhYnMvVGFiMi5teG1sCkBAIC0wLDAgKzEsMjQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCEtLQorCisgIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCistLT4KKzxzOlZpZXcgeG1sbnM6Zng9Imh0dHA6Ly9ucy5hZG9iZS5jb20vbXhtbC8yMDA5IiB4bWxuczpzPSJsaWJyYXJ5Oi8vbnMuYWRvYmUuY29tL2ZsZXgvc3BhcmsiPgorCisgIDxzOkxhYmVsIHRleHQ9InRhYjIiLz4KKworPC9zOlZpZXc+CmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9tb2JpbGUvc2ltcGxlLWFpci9zcmMvbWFpbi9yZXNvdXJjZXMvZGVzY3JpcHRvci54bWwgYi9tYXZlbi1mbGV4LXBsdWdpbi9leGFtcGxlcy9tb2JpbGUvc2ltcGxlLWFpci9zcmMvbWFpbi9yZXNvdXJjZXMvZGVzY3JpcHRvci54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RjMjIwZAotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL21vYmlsZS9zaW1wbGUtYWlyL3NyYy9tYWluL3Jlc291cmNlcy9kZXNjcmlwdG9yLnhtbApAQCAtMCwwICsxLDI5NyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cis8YXBwbGljYXRpb24geG1sbnM9Imh0dHA6Ly9ucy5hZG9iZS5jb20vYWlyL2FwcGxpY2F0aW9uLzE3LjAiPgorCis8IS0tIEFkb2JlIEFJUiBBcHBsaWNhdGlvbiBEZXNjcmlwdG9yIEZpbGUgVGVtcGxhdGUuCisKKwlTcGVjaWZpZXMgcGFyYW1ldGVycyBmb3IgaWRlbnRpZnlpbmcsIGluc3RhbGxpbmcsIGFuZCBsYXVuY2hpbmcgQUlSIGFwcGxpY2F0aW9ucy4KKworCXhtbG5zIC0gVGhlIEFkb2JlIEFJUiBuYW1lc3BhY2U6IGh0dHA6Ly9ucy5hZG9iZS5jb20vYWlyL2FwcGxpY2F0aW9uLzMuNQorCQkJVGhlIGxhc3Qgc2VnbWVudCBvZiB0aGUgbmFtZXNwYWNlIHNwZWNpZmllcyB0aGUgdmVyc2lvbiAKKwkJCW9mIHRoZSBBSVIgcnVudGltZSByZXF1aXJlZCBmb3IgdGhpcyBhcHBsaWNhdGlvbiB0byBydW4uCisJCQkKKwltaW5pbXVtUGF0Y2hMZXZlbCAtIFRoZSBtaW5pbXVtIHBhdGNoIGxldmVsIG9mIHRoZSBBSVIgcnVudGltZSByZXF1aXJlZCB0byBydW4gCisJCQl0aGUgYXBwbGljYXRpb24uIE9wdGlvbmFsLgorLS0+CisKKwk8IS0tIEEgdW5pdmVyc2FsbHkgdW5pcXVlIGFwcGxpY2F0aW9uIGlkZW50aWZpZXIuIE11c3QgYmUgdW5pcXVlIGFjcm9zcyBhbGwgQUlSIGFwcGxpY2F0aW9ucy4KKwlVc2luZyBhIHJldmVyc2UgRE5TLXN0eWxlIG5hbWUgYXMgdGhlIGlkIGlzIHJlY29tbWVuZGVkLiAoRWcuIGNvbS5leGFtcGxlLkV4YW1wbGVBcHBsaWNhdGlvbi4pIFJlcXVpcmVkLiAtLT4KKwk8aWQ+U2ltcGxlQWlyTW9iaWxlPC9pZD4KKworCTwhLS0gVXNlZCBhcyB0aGUgZmlsZW5hbWUgZm9yIHRoZSBhcHBsaWNhdGlvbi4gUmVxdWlyZWQuIC0tPgorCTxmaWxlbmFtZT5TaW1wbGVBaXJNb2JpbGU8L2ZpbGVuYW1lPgorCisJPCEtLSBUaGUgbmFtZSB0aGF0IGlzIGRpc3BsYXllZCBpbiB0aGUgQUlSIGFwcGxpY2F0aW9uIGluc3RhbGxlci4gCisJTWF5IGhhdmUgbXVsdGlwbGUgdmFsdWVzIGZvciBlYWNoIGxhbmd1YWdlLiBTZWUgc2FtcGxlcyBvciB4c2Qgc2NoZW1hIGZpbGUuIE9wdGlvbmFsLiAtLT4KKwk8bmFtZT5TaW1wbGVBaXJNb2JpbGU8L25hbWU+CisJCisJPCEtLSBBIHN0cmluZyB2YWx1ZSBvZiB0aGUgZm9ybWF0IDwwLTk5OT4uPDAtOTk5Pi48MC05OTk+IHRoYXQgcmVwcmVzZW50cyBhcHBsaWNhdGlvbiB2ZXJzaW9uIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGNoZWNrIGZvciBhcHBsaWNhdGlvbiB1cGdyYWRlLiAKKwlWYWx1ZXMgY2FuIGFsc28gYmUgMS1wYXJ0IG9yIDItcGFydC4gSXQgaXMgbm90IG5lY2Vzc2FyeSB0byBoYXZlIGEgMy1wYXJ0IHZhbHVlLgorCUFuIHVwZGF0ZWQgdmVyc2lvbiBvZiBhcHBsaWNhdGlvbiBtdXN0IGhhdmUgYSB2ZXJzaW9uTnVtYmVyIHZhbHVlIGhpZ2hlciB0aGFuIHRoZSBwcmV2aW91cyB2ZXJzaW9uLiBSZXF1aXJlZCBmb3IgbmFtZXNwYWNlID49IDIuNSAuIC0tPgorCTx2ZXJzaW9uTnVtYmVyPjEuMC4wPC92ZXJzaW9uTnVtYmVyPgorCQkgICAgICAgICAKKwk8IS0tIEEgc3RyaW5nIHZhbHVlIChzdWNoIGFzICJ2MSIsICIyLjUiLCBvciAiQWxwaGEgMSIpIHRoYXQgcmVwcmVzZW50cyB0aGUgdmVyc2lvbiBvZiB0aGUgYXBwbGljYXRpb24sIGFzIGl0IHNob3VsZCBiZSBzaG93biB0byB1c2Vycy4gT3B0aW9uYWwuIC0tPgorCTwhLS0gPHZlcnNpb25MYWJlbD48L3ZlcnNpb25MYWJlbD4gLS0+CisKKwk8IS0tIERlc2NyaXB0aW9uLCBkaXNwbGF5ZWQgaW4gdGhlIEFJUiBhcHBsaWNhdGlvbiBpbnN0YWxsZXIuCisJTWF5IGhhdmUgbXVsdGlwbGUgdmFsdWVzIGZvciBlYWNoIGxhbmd1YWdlLiBTZWUgc2FtcGxlcyBvciB4c2Qgc2NoZW1hIGZpbGUuIE9wdGlvbmFsLiAtLT4KKwk8IS0tIDxkZXNjcmlwdGlvbj48L2Rlc2NyaXB0aW9uPiAtLT4KKworCTwhLS0gQ29weXJpZ2h0IGluZm9ybWF0aW9uLiBPcHRpb25hbCAtLT4KKwk8IS0tIDxjb3B5cmlnaHQ+PC9jb3B5cmlnaHQ+IC0tPgorCisJPCEtLSBQdWJsaXNoZXIgSUQuIFVzZWQgaWYgeW91J3JlIHVwZGF0aW5nIGFuIGFwcGxpY2F0aW9uIGNyZWF0ZWQgcHJpb3IgdG8gMS41LjMgLS0+CisJPCEtLSA8cHVibGlzaGVySUQ+PC9wdWJsaXNoZXJJRD4gLS0+CisKKwk8IS0tIFNldHRpbmdzIGZvciB0aGUgYXBwbGljYXRpb24ncyBpbml0aWFsIHdpbmRvdy4gUmVxdWlyZWQuIC0tPgorCTxpbml0aWFsV2luZG93PgorCQk8IS0tIFRoZSBtYWluIFNXRiBvciBIVE1MIGZpbGUgb2YgdGhlIGFwcGxpY2F0aW9uLiBSZXF1aXJlZC4gLS0+CisJCTwhLS0gTm90ZTogSW4gRmxhc2ggQnVpbGRlciwgdGhlIFNXRiByZWZlcmVuY2UgaXMgc2V0IGF1dG9tYXRpY2FsbHkuIC0tPgorCQk8Y29udGVudD4ke291dHB1dH08L2NvbnRlbnQ+CisJCQorCQk8IS0tIFRoZSB0aXRsZSBvZiB0aGUgbWFpbiB3aW5kb3cuIE9wdGlvbmFsLiAtLT4KKwkJPCEtLSA8dGl0bGU+PC90aXRsZT4gLS0+CisKKwkJPCEtLSBUaGUgdHlwZSBvZiBzeXN0ZW0gY2hyb21lIHRvIHVzZSAoZWl0aGVyICJzdGFuZGFyZCIgb3IgIm5vbmUiKS4gT3B0aW9uYWwuIERlZmF1bHQgc3RhbmRhcmQuIC0tPgorCQk8IS0tIDxzeXN0ZW1DaHJvbWU+PC9zeXN0ZW1DaHJvbWU+IC0tPgorCisJCTwhLS0gV2hldGhlciB0aGUgd2luZG93IGlzIHRyYW5zcGFyZW50LiBPbmx5IGFwcGxpY2FibGUgd2hlbiBzeXN0ZW1DaHJvbWUgaXMgbm9uZS4gT3B0aW9uYWwuIERlZmF1bHQgZmFsc2UuIC0tPgorCQk8IS0tIDx0cmFuc3BhcmVudD48L3RyYW5zcGFyZW50PiAtLT4KKworCQk8IS0tIFdoZXRoZXIgdGhlIHdpbmRvdyBpcyBpbml0aWFsbHkgdmlzaWJsZS4gT3B0aW9uYWwuIERlZmF1bHQgZmFsc2UuIC0tPgorCQk8IS0tIDx2aXNpYmxlPjwvdmlzaWJsZT4gLS0+CisKKwkJPCEtLSBXaGV0aGVyIHRoZSB1c2VyIGNhbiBtaW5pbWl6ZSB0aGUgd2luZG93LiBPcHRpb25hbC4gRGVmYXVsdCB0cnVlLiAtLT4KKwkJPCEtLSA8bWluaW1pemFibGU+PC9taW5pbWl6YWJsZT4gLS0+CisKKwkJPCEtLSBXaGV0aGVyIHRoZSB1c2VyIGNhbiBtYXhpbWl6ZSB0aGUgd2luZG93LiBPcHRpb25hbC4gRGVmYXVsdCB0cnVlLiAtLT4KKwkJPCEtLSA8bWF4aW1pemFibGU+PC9tYXhpbWl6YWJsZT4gLS0+CisKKwkJPCEtLSBXaGV0aGVyIHRoZSB1c2VyIGNhbiByZXNpemUgdGhlIHdpbmRvdy4gT3B0aW9uYWwuIERlZmF1bHQgdHJ1ZS4gLS0+CisJCTwhLS0gPHJlc2l6YWJsZT48L3Jlc2l6YWJsZT4gLS0+CisKKwkJPCEtLSBUaGUgd2luZG93J3MgaW5pdGlhbCB3aWR0aCBpbiBwaXhlbHMuIE9wdGlvbmFsLiAtLT4KKwkJPCEtLSA8d2lkdGg+PC93aWR0aD4gLS0+CisKKwkJPCEtLSBUaGUgd2luZG93J3MgaW5pdGlhbCBoZWlnaHQgaW4gcGl4ZWxzLiBPcHRpb25hbC4gLS0+CisJCTwhLS0gPGhlaWdodD48L2hlaWdodD4gLS0+CisKKwkJPCEtLSBUaGUgd2luZG93J3MgaW5pdGlhbCB4IHBvc2l0aW9uLiBPcHRpb25hbC4gLS0+CisJCTwhLS0gPHg+PC94PiAtLT4KKworCQk8IS0tIFRoZSB3aW5kb3cncyBpbml0aWFsIHkgcG9zaXRpb24uIE9wdGlvbmFsLiAtLT4KKwkJPCEtLSA8eT48L3k+IC0tPgorCisJCTwhLS0gVGhlIHdpbmRvdydzIG1pbmltdW0gc2l6ZSwgc3BlY2lmaWVkIGFzIGEgd2lkdGgvaGVpZ2h0IHBhaXIgaW4gcGl4ZWxzLCBzdWNoIGFzICI0MDAgMjAwIi4gT3B0aW9uYWwuIC0tPgorCQk8IS0tIDxtaW5TaXplPjwvbWluU2l6ZT4gLS0+CisKKwkJPCEtLSBUaGUgd2luZG93J3MgaW5pdGlhbCBtYXhpbXVtIHNpemUsIHNwZWNpZmllZCBhcyBhIHdpZHRoL2hlaWdodCBwYWlyIGluIHBpeGVscywgc3VjaCBhcyAiMTYwMCAxMjAwIi4gT3B0aW9uYWwuIC0tPgorCQk8IS0tIDxtYXhTaXplPjwvbWF4U2l6ZT4gLS0+CisKKyAgICAgICAgPCEtLSBUaGUgYXNwZWN0IHJhdGlvIG9mIHRoZSBhcHAgKCJwb3J0cmFpdCIgb3IgImxhbmRzY2FwZSIgb3IgImFueSIpLiBPcHRpb25hbC4gTW9iaWxlIG9ubHkuIERlZmF1bHQgaXMgdGhlIG5hdHVyYWwgb3JpZW50YXRpb24gb2YgdGhlIGRldmljZSAtLT4KKworICAgICAgICA8IS0tIDxhc3BlY3RSYXRpbz48L2FzcGVjdFJhdGlvPiAtLT4KKworICAgICAgICA8IS0tIFdoZXRoZXIgdGhlIGFwcCB3aWxsIGJlZ2luIGF1dG8tb3JpZW50aW5nIG9uIGxhdW5jaC4gT3B0aW9uYWwuIE1vYmlsZSBvbmx5LiBEZWZhdWx0IGZhbHNlIC0tPgorCisgICAgICAgIDwhLS0gPGF1dG9PcmllbnRzPjwvYXV0b09yaWVudHM+IC0tPgorCisgICAgICAgIDwhLS0gV2hldGhlciB0aGUgYXBwIGxhdW5jaGVzIGluIGZ1bGwgc2NyZWVuLiBPcHRpb25hbC4gTW9iaWxlIG9ubHkuIERlZmF1bHQgZmFsc2UgLS0+CisKKyAgICAgICAgPCEtLSA8ZnVsbFNjcmVlbj48L2Z1bGxTY3JlZW4+IC0tPgorCisgICAgICAgIDwhLS0gVGhlIHJlbmRlciBtb2RlIGZvciB0aGUgYXBwIChlaXRoZXIgYXV0bywgY3B1LCBncHUsIG9yIGRpcmVjdCkuIE9wdGlvbmFsLiBEZWZhdWx0IGF1dG8gLS0+CisKKyAgICAgICAgPCEtLSA8cmVuZGVyTW9kZT48L3JlbmRlck1vZGU+IC0tPgorCisgICAgICAgIDwhLS0gV2hldGhlciB0aGUgZGVmYXVsdCBkaXJlY3QgbW9kZSByZW5kZXJpbmcgY29udGV4dCBhbGxvY2F0ZXMgc3RvcmFnZSBmb3IgZGVwdGggYW5kIHN0ZW5jaWwgYnVmZmVycy4gIE9wdGlvbmFsLiAgRGVmYXVsdCBmYWxzZS4gLS0+CisgICAgICAgIDwhLS0gPGRlcHRoQW5kU3RlbmNpbD48L2RlcHRoQW5kU3RlbmNpbD4gLS0+CisKKwkJPCEtLSBXaGV0aGVyIG9yIG5vdCB0byBwYW4gd2hlbiBhIHNvZnQga2V5Ym9hcmQgaXMgcmFpc2VkIG9yIGxvd2VyZWQgKGVpdGhlciAicGFuIiBvciAibm9uZSIpLiAgT3B0aW9uYWwuICBEZWZhdWx0cyAicGFuLiIgLS0+CisJCTwhLS0gPHNvZnRLZXlib2FyZEJlaGF2aW9yPjwvc29mdEtleWJvYXJkQmVoYXZpb3I+IC0tPgorCisJCTwhLS0gRGlzcGxheSBSZXNvbHV0aW9uIGZvciB0aGUgYXBwIChlaXRoZXIgInN0YW5kYXJkIiBvciAiaGlnaCIpLiBPcHRpb25hbCwgT1NYLW9ubHkuIERlZmF1bHQgInN0YW5kYXJkIiAtLT4KKwkJPCEtLSA8cmVxdWVzdGVkRGlzcGxheVJlc29sdXRpb24+PC9yZXF1ZXN0ZWREaXNwbGF5UmVzb2x1dGlvbj4gLS0+CisJPGF1dG9PcmllbnRzPnRydWU8L2F1dG9PcmllbnRzPgorICAgICAgICA8ZnVsbFNjcmVlbj5mYWxzZTwvZnVsbFNjcmVlbj4KKyAgICAgICAgPHZpc2libGU+dHJ1ZTwvdmlzaWJsZT4KKyAgICAgICAgPHNvZnRLZXlib2FyZEJlaGF2aW9yPm5vbmU8L3NvZnRLZXlib2FyZEJlaGF2aW9yPgorICAgIDwvaW5pdGlhbFdpbmRvdz4KKworCTwhLS0gV2UgcmVjb21tZW5kIG9taXR0aW5nIHRoZSBzdXBwb3J0ZWRQcm9maWxlcyBlbGVtZW50LCAtLT4KKwk8IS0tIHdoaWNoIGluIHR1cm4gcGVybWl0cyB5b3VyIGFwcGxpY2F0aW9uIHRvIGJlIGRlcGxveWVkIHRvIGFsbCAtLT4KKwk8IS0tIGRldmljZXMgc3VwcG9ydGVkIGJ5IEFJUi4gSWYgeW91IHdpc2ggdG8gcmVzdHJpY3QgZGVwbG95bWVudCAtLT4KKwk8IS0tIChpLmUuLCB0byBvbmx5IG1vYmlsZSBkZXZpY2VzKSB0aGVuIGFkZCB0aGlzIGVsZW1lbnQgYW5kIGxpc3QgLS0+CisJPCEtLSBvbmx5IHRoZSBwcm9maWxlcyB3aGljaCB5b3VyIGFwcGxpY2F0aW9uIGRvZXMgc3VwcG9ydC4gLS0+CisJPCEtLSA8c3VwcG9ydGVkUHJvZmlsZXM+ZGVza3RvcCBleHRlbmRlZERlc2t0b3AgbW9iaWxlRGV2aWNlIGV4dGVuZGVkTW9iaWxlRGV2aWNlPC9zdXBwb3J0ZWRQcm9maWxlcz4gLS0+CisKKwk8IS0tIExhbmd1YWdlcyBzdXBwb3J0ZWQgYnkgYXBwbGljYXRpb24gLS0+CisJPCEtLSBPbmx5IHRoZXNlIGxhbmd1YWdlcyBjYW4gYmUgc3BlY2lmaWVkIC0tPgorCTwhLS0gPHN1cHBvcnRlZExhbmd1YWdlcz5lbiBkZSBjcyBlcyBmciBpdCBqYSBrbyBubCBwbCBwdCBydSBzdiB0ciB6aDwvc3VwcG9ydGVkTGFuZ3VhZ2VzPiAtLT4KKworCTwhLS0gVGhlIHN1YnBhdGggb2YgdGhlIHN0YW5kYXJkIGRlZmF1bHQgaW5zdGFsbGF0aW9uIGxvY2F0aW9uIHRvIHVzZS4gT3B0aW9uYWwuIC0tPgorCTwhLS0gPGluc3RhbGxGb2xkZXI+PC9pbnN0YWxsRm9sZGVyPiAtLT4KKworCTwhLS0gVGhlIHN1YnBhdGggb2YgdGhlIFByb2dyYW1zIG1lbnUgdG8gdXNlLiAoSWdub3JlZCBvbiBvcGVyYXRpbmcgc3lzdGVtcyB3aXRob3V0IGEgUHJvZ3JhbXMgbWVudS4pIE9wdGlvbmFsLiAtLT4KKwk8IS0tIDxwcm9ncmFtTWVudUZvbGRlcj48L3Byb2dyYW1NZW51Rm9sZGVyPiAtLT4KKworCTwhLS0gVGhlIGljb24gdGhlIHN5c3RlbSB1c2VzIGZvciB0aGUgYXBwbGljYXRpb24uIEZvciBhdCBsZWFzdCBvbmUgcmVzb2x1dGlvbiwKKwlzcGVjaWZ5IHRoZSBwYXRoIHRvIGEgUE5HIGZpbGUgaW5jbHVkZWQgaW4gdGhlIEFJUiBwYWNrYWdlLiBPcHRpb25hbC4gLS0+CisJPCEtLSA8aWNvbj4KKwkJPGltYWdlMTZ4MTY+PC9pbWFnZTE2eDE2PgorCQk8aW1hZ2UyOXgyOT48L2ltYWdlMjl4Mjk+CisJCTxpbWFnZTMyeDMyPjwvaW1hZ2UzMngzMj4KKwkJPGltYWdlMzZ4MzY+PC9pbWFnZTM2eDM2PgorCQk8aW1hZ2U0OHg0OD48L2ltYWdlNDh4NDg+CisJCTxpbWFnZTUweDUwPjwvaW1hZ2U1MHg1MD4KKwkJPGltYWdlNTd4NTc+PC9pbWFnZTU3eDU3PgorCQk8aW1hZ2U1OHg1OD48L2ltYWdlNTh4NTg+CisJCTxpbWFnZTcyeDcyPjwvaW1hZ2U3Mng3Mj4KKwkJPGltYWdlOTZ4OTY+PC9pbWFnZTk2eDk2PgorCQk8aW1hZ2UxMDB4MTAwPjwvaW1hZ2UxMDB4MTAwPgorCQk8aW1hZ2UxMTR4MTE0PjwvaW1hZ2UxMTR4MTE0PgorCQk8aW1hZ2UxMjh4MTI4PjwvaW1hZ2UxMjh4MTI4PgorCQk8aW1hZ2UxNDR4MTQ0PjwvaW1hZ2UxNDR4MTQ0PgorCQk8aW1hZ2U1MTJ4NTEyPjwvaW1hZ2U1MTJ4NTEyPgorCQk8aW1hZ2U3MzJ4NDEyPjwvaW1hZ2U3MzJ4NDEyPgorCQk8aW1hZ2UxMDI0eDEwMjQ+PC9pbWFnZTEwMjR4MTAyND4KKwk8L2ljb24+IC0tPgorCisJPCEtLSBXaGV0aGVyIHRoZSBhcHBsaWNhdGlvbiBoYW5kbGVzIHRoZSB1cGRhdGUgd2hlbiBhIHVzZXIgZG91YmxlLWNsaWNrcyBhbiB1cGRhdGUgdmVyc2lvbgorCW9mIHRoZSBBSVIgZmlsZSAodHJ1ZSksIG9yIHRoZSBkZWZhdWx0IEFJUiBhcHBsaWNhdGlvbiBpbnN0YWxsZXIgaGFuZGxlcyB0aGUgdXBkYXRlIChmYWxzZSkuCisJT3B0aW9uYWwuIERlZmF1bHQgZmFsc2UuIC0tPgorCTwhLS0gPGN1c3RvbVVwZGF0ZVVJPjwvY3VzdG9tVXBkYXRlVUk+IC0tPgorCQorCTwhLS0gV2hldGhlciB0aGUgYXBwbGljYXRpb24gY2FuIGJlIGxhdW5jaGVkIHdoZW4gdGhlIHVzZXIgY2xpY2tzIGEgbGluayBpbiBhIHdlYiBicm93c2VyLgorCU9wdGlvbmFsLiBEZWZhdWx0IGZhbHNlLiAtLT4KKwk8IS0tIDxhbGxvd0Jyb3dzZXJJbnZvY2F0aW9uPjwvYWxsb3dCcm93c2VySW52b2NhdGlvbj4gLS0+CisKKwk8IS0tIExpc3Rpbmcgb2YgZmlsZSB0eXBlcyBmb3Igd2hpY2ggdGhlIGFwcGxpY2F0aW9uIGNhbiByZWdpc3Rlci4gT3B0aW9uYWwuIC0tPgorCTwhLS0gPGZpbGVUeXBlcz4gLS0+CisKKwkJPCEtLSBEZWZpbmVzIG9uZSBmaWxlIHR5cGUuIE9wdGlvbmFsLiAtLT4KKwkJPCEtLSA8ZmlsZVR5cGU+IC0tPgorCisJCQk8IS0tIFRoZSBuYW1lIHRoYXQgdGhlIHN5c3RlbSBkaXNwbGF5cyBmb3IgdGhlIHJlZ2lzdGVyZWQgZmlsZSB0eXBlLiBSZXF1aXJlZC4gLS0+CisJCQk8IS0tIDxuYW1lPjwvbmFtZT4gLS0+CisKKwkJCTwhLS0gVGhlIGV4dGVuc2lvbiB0byByZWdpc3Rlci4gUmVxdWlyZWQuIC0tPgorCQkJPCEtLSA8ZXh0ZW5zaW9uPjwvZXh0ZW5zaW9uPiAtLT4KKwkJCQorCQkJPCEtLSBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGZpbGUgdHlwZS4gT3B0aW9uYWwuIC0tPgorCQkJPCEtLSA8ZGVzY3JpcHRpb24+PC9kZXNjcmlwdGlvbj4gLS0+CisJCQkKKwkJCTwhLS0gVGhlIE1JTUUgY29udGVudCB0eXBlLiAtLT4KKwkJCTwhLS0gPGNvbnRlbnRUeXBlPjwvY29udGVudFR5cGU+IC0tPgorCQkJCisJCQk8IS0tIFRoZSBpY29uIHRvIGRpc3BsYXkgZm9yIHRoZSBmaWxlIHR5cGUuIE9wdGlvbmFsLiAtLT4KKwkJCTwhLS0gPGljb24+CisJCQkJPGltYWdlMTZ4MTY+PC9pbWFnZTE2eDE2PgorCQkJCTxpbWFnZTMyeDMyPjwvaW1hZ2UzMngzMj4KKwkJCQk8aW1hZ2U0OHg0OD48L2ltYWdlNDh4NDg+CisJCQkJPGltYWdlMTI4eDEyOD48L2ltYWdlMTI4eDEyOD4KKwkJCTwvaWNvbj4gLS0+CisJCQkKKwkJPCEtLSA8L2ZpbGVUeXBlPiAtLT4KKwk8IS0tIDwvZmlsZVR5cGVzPiAtLT4KKworICAgIDwhLS0gaU9TIHNwZWNpZmljIGNhcGFiaWxpdGllcyAtLT4KKwk8IS0tIDxpUGhvbmU+IC0tPgorCQk8IS0tIEEgbGlzdCBvZiBwbGlzdCBrZXkvdmFsdWUgcGFpcnMgdG8gYmUgYWRkZWQgdG8gdGhlIGFwcGxpY2F0aW9uIEluZm8ucGxpc3QgLS0+CisJCTwhLS0gPEluZm9BZGRpdGlvbnM+CisgICAgICAgICAgICA8IVtDREFUQVsKKyAgICAgICAgICAgICAgICA8a2V5PlVJRGV2aWNlRmFtaWx5PC9rZXk+CisgICAgICAgICAgICAgICAgPGFycmF5PgorICAgICAgICAgICAgICAgICAgICA8c3RyaW5nPjE8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgICAgPHN0cmluZz4yPC9zdHJpbmc+CisgICAgICAgICAgICAgICAgPC9hcnJheT4KKyAgICAgICAgICAgICAgICA8a2V5PlVJU3RhdHVzQmFyU3R5bGU8L2tleT4KKyAgICAgICAgICAgICAgICA8c3RyaW5nPlVJU3RhdHVzQmFyU3R5bGVCbGFja09wYXF1ZTwvc3RyaW5nPgorICAgICAgICAgICAgICAgIDxrZXk+VUlSZXF1aXJlc1BlcnNpc3RlbnRXaUZpPC9rZXk+CisgICAgICAgICAgICAgICAgPHN0cmluZz5ZRVM8L3N0cmluZz4KKyAgICAgICAgICAgIF1dPgorICAgICAgICA8L0luZm9BZGRpdGlvbnM+IC0tPgorICAgICAgICA8IS0tIEEgbGlzdCBvZiBwbGlzdCBrZXkvdmFsdWUgcGFpcnMgdG8gYmUgYWRkZWQgdG8gdGhlIGFwcGxpY2F0aW9uIEVudGl0bGVtZW50cy5wbGlzdCAtLT4KKwkJPCEtLSA8RW50aXRsZW1lbnRzPgorICAgICAgICAgICAgPCFbQ0RBVEFbCisgICAgICAgICAgICAgICAgPGtleT5rZXljaGFpbi1hY2Nlc3MtZ3JvdXBzPC9rZXk+CisgICAgICAgICAgICAgICAgPGFycmF5PgorICAgICAgICAgICAgICAgICAgICA8c3RyaW5nPjwvc3RyaW5nPgorICAgICAgICAgICAgICAgICAgICA8c3RyaW5nPjwvc3RyaW5nPgorICAgICAgICAgICAgICAgIDwvYXJyYXk+CisgICAgICAgICAgICBdXT4KKyAgICAgICAgPC9FbnRpdGxlbWVudHM+IC0tPgorCTwhLS0gRGlzcGxheSBSZXNvbHV0aW9uIGZvciB0aGUgYXBwIChlaXRoZXIgInN0YW5kYXJkIiBvciAiaGlnaCIpLiBPcHRpb25hbC4gRGVmYXVsdCAic3RhbmRhcmQiIC0tPgorCTwhLS0gPHJlcXVlc3RlZERpc3BsYXlSZXNvbHV0aW9uPjwvcmVxdWVzdGVkRGlzcGxheVJlc29sdXRpb24+IC0tPgorCTwhLS0gRm9yY2luZyBSZW5kZXIgTW9kZSBDUFUgZm9yIHRoZSBkZXZpY2VzIG1lbnRpb25lZC4gT3B0aW9uYWwgIC0tPgorCTwhLS0gPGZvcmNlQ1BVUmVuZGVyTW9kZUZvckRldmljZXM+PC9mb3JjZUNQVVJlbmRlck1vZGVGb3JEZXZpY2VzPiAtLT4KKwk8IS0tIEZpbGUgY29udGFpbmluZyBsaW5lIHNlcGFyYXRlZCBsaXN0IG9mIGV4dGVybmFsIHN3ZiBwYXRocy4gVGhlc2Ugc3dmcyB3b24ndCBiZSAKKwlwYWNrYWdlZCBpbnNpZGUgdGhlIGFwcGxpY2F0aW9uIGFuZCBjb3JyZXNwb25kaW5nIHN0cmlwcGVkIHN3ZnMgd2lsbCBiZSBvdXRwdXQgaW4gCisJZXh0ZXJuYWxTdHJpcHBlZFN3ZnMgZm9sZGVyLiAtLT4KKwk8IS0tIDxleHRlcm5hbFN3ZnM+PC9leHRlcm5hbFN3ZnM+IC0tPgorCTwhLS0gPC9pUGhvbmU+IC0tPgorCisJPCEtLSBTcGVjaWZ5IEFuZHJvaWQgc3BlY2lmaWMgdGFncyB0aGF0IGdldCBwYXNzZWQgdG8gQW5kcm9pZE1hbmlmZXN0LnhtbCBmaWxlLiAtLT4KKyAgICA8IS0tPGFuZHJvaWQ+IC0tPgorICAgIDwhLS0JPG1hbmlmZXN0QWRkaXRpb25zPgorCQk8IVtDREFUQVsKKwkJCTxtYW5pZmVzdCBhbmRyb2lkOmluc3RhbGxMb2NhdGlvbj0iYXV0byI+CisJCQkJPHVzZXMtcGVybWlzc2lvbiBhbmRyb2lkOm5hbWU9ImFuZHJvaWQucGVybWlzc2lvbi5JTlRFUk5FVCIvPgorCQkJCTx1c2VzLXBlcm1pc3Npb24gYW5kcm9pZDpuYW1lPSJhbmRyb2lkLnBlcm1pc3Npb24uV1JJVEVfRVhURVJOQUxfU1RPUkFHRSIvPgorCQkJCTx1c2VzLXBlcm1pc3Npb24gYW5kcm9pZDpuYW1lPSJhbmRyb2lkLnBlcm1pc3Npb24uQUNDRVNTX0ZJTkVfTE9DQVRJT04iLz4KKwkJCQk8dXNlcy1mZWF0dXJlIGFuZHJvaWQ6cmVxdWlyZWQ9InRydWUiIGFuZHJvaWQ6bmFtZT0iYW5kcm9pZC5oYXJkd2FyZS50b3VjaHNjcmVlbi5tdWx0aXRvdWNoIi8+CisJCQkJPGFwcGxpY2F0aW9uIGFuZHJvaWQ6ZW5hYmxlZD0idHJ1ZSI+CisJCQkJCTxhY3Rpdml0eSBhbmRyb2lkOmV4Y2x1ZGVGcm9tUmVjZW50cz0iZmFsc2UiPgorCQkJCQkJPGludGVudC1maWx0ZXI+CisJCQkJCQkJPGFjdGlvbiBhbmRyb2lkOm5hbWU9ImFuZHJvaWQuaW50ZW50LmFjdGlvbi5NQUlOIi8+CisJCQkJCQkJPGNhdGVnb3J5IGFuZHJvaWQ6bmFtZT0iYW5kcm9pZC5pbnRlbnQuY2F0ZWdvcnkuTEFVTkNIRVIiLz4KKwkJCQkJCTwvaW50ZW50LWZpbHRlcj4KKwkJCQkJPC9hY3Rpdml0eT4KKwkJCQk8L2FwcGxpY2F0aW9uPgorICAgICAgICAgICAgPC9tYW5pZmVzdD4KKwkJXV0+CisgICAgICAgIDwvbWFuaWZlc3RBZGRpdGlvbnM+IC0tPgorCSAgICA8IS0tIENvbG9yIGRlcHRoIGZvciB0aGUgYXBwIChlaXRoZXIgIjMyYml0IiBvciAiMTZiaXQiKS4gT3B0aW9uYWwuIERlZmF1bHQgMTZiaXQgYmVmb3JlIG5hbWVzcGFjZSAzLjAsIDMyYml0IGFmdGVyIC0tPgorICAgICAgICA8IS0tIDxjb2xvckRlcHRoPjwvY29sb3JEZXB0aD4gLS0+CisgICAgICAgIDwhLS0gSW5kaWNhdGVzIGlmIHRoZSBhcHAgY29udGFpbnMgdmlkZW8gb3Igbm90LiBOZWNlc3NhcnkgZm9yIG9yZGVyaW5nIG9mIHZpZGVvIHBsYW5lcyB3aXRoIGdyYXBoaWNzIHBsYW5lLCBlc3BlY2lhbGx5IGluIEplbGx5YmVhbiAtIGlmIHlvdSBhcHAgZG9lcyB2aWRlbyB0aGlzIG11c3QgYmUgc2V0IHRvIHRydWUgLSB2YWxpZCB2YWx1ZXMgYXJlIHRydWUgb3IgZmFsc2UgLS0+CisgICAgICAgIDwhLS0gPGNvbnRhaW5zVmlkZW8+PC9jb250YWluc1ZpZGVvPiAtLT4KKyAgICA8IS0tIDwvYW5kcm9pZD4gLS0+CisJPCEtLSBFbmQgb2YgdGhlIHNjaGVtYSBmb3IgYWRkaW5nIHRoZSBhbmRyb2lkIHNwZWNpZmljIHRhZ3MgaW4gQW5kcm9pZE1hbmlmZXN0LnhtbCBmaWxlIC0tPgorCisgICAgPGFuZHJvaWQ+CisgICAgICAgIDxjb2xvckRlcHRoPjE2Yml0PC9jb2xvckRlcHRoPgorICAgICAgICA8bWFuaWZlc3RBZGRpdGlvbnM+PCFbQ0RBVEFbCisJCQk8bWFuaWZlc3QgYW5kcm9pZDppbnN0YWxsTG9jYXRpb249ImF1dG8iPgorCQkJICAgIDwhLS1TZWUgdGhlIEFkb2JlIEFJUiBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNldHRpbmcgR29vZ2xlIEFuZHJvaWQgcGVybWlzc2lvbnMtLT4KKwkJCSAgICA8IS0tUmVtb3ZpbmcgdGhlIHBlcm1pc3Npb24gYW5kcm9pZC5wZXJtaXNzaW9uLklOVEVSTkVUIHdpbGwgaGF2ZSB0aGUgc2lkZSBlZmZlY3QKKwkJCQkJb2YgcHJldmVudGluZyB5b3UgZnJvbSBkZWJ1Z2dpbmcgeW91ciBhcHBsaWNhdGlvbiBvbiB5b3VyIGRldmljZS0tPgorCQkJICAgIDx1c2VzLXBlcm1pc3Npb24gYW5kcm9pZDpuYW1lPSJhbmRyb2lkLnBlcm1pc3Npb24uSU5URVJORVQiLz4KKwkJCSAgICA8IS0tPHVzZXMtcGVybWlzc2lvbiBhbmRyb2lkOm5hbWU9ImFuZHJvaWQucGVybWlzc2lvbi5XUklURV9FWFRFUk5BTF9TVE9SQUdFIi8+LS0+CisJCQkgICAgPCEtLTx1c2VzLXBlcm1pc3Npb24gYW5kcm9pZDpuYW1lPSJhbmRyb2lkLnBlcm1pc3Npb24uUkVBRF9QSE9ORV9TVEFURSIvPi0tPgorCQkJICAgIDwhLS08dXNlcy1wZXJtaXNzaW9uIGFuZHJvaWQ6bmFtZT0iYW5kcm9pZC5wZXJtaXNzaW9uLkFDQ0VTU19GSU5FX0xPQ0FUSU9OIi8+LS0+CisJCQkgICAgPCEtLVRoZSBESVNBQkxFX0tFWUdVQVJEIGFuZCBXQUtFX0xPQ0sgcGVybWlzc2lvbnMgc2hvdWxkIGJlIHRvZ2dsZWQgdG9nZXRoZXIKKwkJCQkJaW4gb3JkZXIgdG8gYWNjZXNzIEFJUidzIFN5c3RlbUlkbGVNb2RlIEFQSXMtLT4KKwkJCSAgICA8IS0tPHVzZXMtcGVybWlzc2lvbiBhbmRyb2lkOm5hbWU9ImFuZHJvaWQucGVybWlzc2lvbi5ESVNBQkxFX0tFWUdVQVJEIi8+LS0+CisJCQkgICAgPCEtLTx1c2VzLXBlcm1pc3Npb24gYW5kcm9pZDpuYW1lPSJhbmRyb2lkLnBlcm1pc3Npb24uV0FLRV9MT0NLIi8+LS0+CisJCQkgICAgPCEtLTx1c2VzLXBlcm1pc3Npb24gYW5kcm9pZDpuYW1lPSJhbmRyb2lkLnBlcm1pc3Npb24uQ0FNRVJBIi8+LS0+CisJCQkgICAgPCEtLTx1c2VzLXBlcm1pc3Npb24gYW5kcm9pZDpuYW1lPSJhbmRyb2lkLnBlcm1pc3Npb24uUkVDT1JEX0FVRElPIi8+LS0+CisJCQkgICAgPCEtLVRoZSBBQ0NFU1NfTkVUV09SS19TVEFURSBhbmQgQUNDRVNTX1dJRklfU1RBVEUgcGVybWlzc2lvbnMgc2hvdWxkIGJlIHRvZ2dsZWQKKwkJCQkJdG9nZXRoZXIgaW4gb3JkZXIgdG8gdXNlIEFJUidzIE5ldHdvcmtJbmZvIEFQSXMtLT4KKwkJCSAgICA8IS0tPHVzZXMtcGVybWlzc2lvbiBhbmRyb2lkOm5hbWU9ImFuZHJvaWQucGVybWlzc2lvbi5BQ0NFU1NfTkVUV09SS19TVEFURSIvPi0tPgorCQkJICAgIDwhLS08dXNlcy1wZXJtaXNzaW9uIGFuZHJvaWQ6bmFtZT0iYW5kcm9pZC5wZXJtaXNzaW9uLkFDQ0VTU19XSUZJX1NUQVRFIi8+LS0+CisJCQk8L21hbmlmZXN0PgorCQkJCisJCV1dPjwvbWFuaWZlc3RBZGRpdGlvbnM+CisgICAgPC9hbmRyb2lkPgorICAgIDwhLS1pUGhvbmU+CisgICAgICAgIDxJbmZvQWRkaXRpb25zPjwhW0NEQVRBWworCQkJPGtleT5VSURldmljZUZhbWlseTwva2V5PgorCQkJPGFycmF5PgorCQkJCTxzdHJpbmc+MTwvc3RyaW5nPgorCQkJCTxzdHJpbmc+Mjwvc3RyaW5nPgorCQkJPC9hcnJheT4KKyAgICAgICAgICAgIDxrZXk+VUlBcHBsaWNhdGlvbkV4aXRzT25TdXNwZW5kPC9rZXk+CisgICAgICAgICAgICA8dHJ1ZS8+CisJCV1dPjwvSW5mb0FkZGl0aW9ucz4KKyAgICAgICAgPHJlcXVlc3RlZERpc3BsYXlSZXNvbHV0aW9uPmhpZ2g8L3JlcXVlc3RlZERpc3BsYXlSZXNvbHV0aW9uPgorICAgIDwvaVBob25lLS0+Cis8L2FwcGxpY2F0aW9uPgpkaWZmIC0tZ2l0IGEvbWF2ZW4tZmxleC1wbHVnaW4vZXhhbXBsZXMvcG9tLnhtbCBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL3BvbS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzgwMjhiZAotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL2V4YW1wbGVzL3BvbS54bWwKQEAgLTAsMCArMSwxMjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCEtLQorCisgIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCistLT4KKzxwcm9qZWN0IHhtbG5zPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAiCisgICAgICAgICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgorICAgICAgICAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAgaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvbWF2ZW4tdjRfMF8wLnhzZCI+CisgICAgPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgorCisgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LmV4YW1wbGVzPC9ncm91cElkPgorICAgIDxhcnRpZmFjdElkPnBhcmVudDwvYXJ0aWZhY3RJZD4KKyAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICA8cGFja2FnaW5nPnBvbTwvcGFja2FnaW5nPgorCisgICAgPG1vZHVsZXM+CisgICAgICAgIDxtb2R1bGU+ZmxleGpzPC9tb2R1bGU+CisgICAgICAgIDxtb2R1bGU+aTE4bjwvbW9kdWxlPgorICAgICAgICA8bW9kdWxlPm1vYmlsZTwvbW9kdWxlPgorICAgIDwvbW9kdWxlcz4KKworICAgIDxyZXBvc2l0b3JpZXM+CisgICAgICAgIDwhLS0KKyAgICAgICAgICAgIFRoaXMgaXMgd2hlcmUgd2UgZ2V0IHJlbGVhc2VkIHN0dWZmIGZyb20uCisgICAgICAgIC0tPgorICAgICAgICA8cmVwb3NpdG9yeT4KKyAgICAgICAgICAgIDxpZD5tYXZlbi1jZW50cmFsPC9pZD4KKyAgICAgICAgICAgIDx1cmw+aHR0cDovL3JlcG8xLm1hdmVuLm9yZy9tYXZlbjIvPC91cmw+CisgICAgICAgICAgICA8cmVsZWFzZXM+CisgICAgICAgICAgICAgICAgPGVuYWJsZWQ+dHJ1ZTwvZW5hYmxlZD4KKyAgICAgICAgICAgIDwvcmVsZWFzZXM+CisgICAgICAgICAgICA8c25hcHNob3RzPgorICAgICAgICAgICAgICAgIDxlbmFibGVkPmZhbHNlPC9lbmFibGVkPgorICAgICAgICAgICAgPC9zbmFwc2hvdHM+CisgICAgICAgIDwvcmVwb3NpdG9yeT4KKyAgICAgICAgPCEtLQorICAgICAgICAgICAgVGhpcyBpcyB3aGVyZSB3ZSBnZXQgdW5yZWxlYXNlZCBBcGFjaGUgc3R1ZmYgZnJvbQorICAgICAgICAtLT4KKyAgICAgICAgPHJlcG9zaXRvcnk+CisgICAgICAgICAgICA8aWQ+YXBhY2hlLXNuYXBzaG90czwvaWQ+CisgICAgICAgICAgICA8dXJsPmh0dHA6Ly9yZXBvc2l0b3J5LmFwYWNoZS5vcmcvc25hcHNob3RzLzwvdXJsPgorICAgICAgICAgICAgPHJlbGVhc2VzPgorICAgICAgICAgICAgICAgIDxlbmFibGVkPmZhbHNlPC9lbmFibGVkPgorICAgICAgICAgICAgPC9yZWxlYXNlcz4KKyAgICAgICAgICAgIDxzbmFwc2hvdHM+CisgICAgICAgICAgICAgICAgPGVuYWJsZWQ+dHJ1ZTwvZW5hYmxlZD4KKyAgICAgICAgICAgIDwvc25hcHNob3RzPgorICAgICAgICA8L3JlcG9zaXRvcnk+CisgICAgICAgIDwhLS0KKyAgICAgICAgICAgIFRoaXMgaXMgd2hlcmUgd2UgZ2V0IHVucmVsZWFzZWQgRmxleG1vam9zIHN0dWZmIGZyb20uCisgICAgICAgIC0tPgorICAgICAgICA8cmVwb3NpdG9yeT4KKyAgICAgICAgICAgIDxpZD5zb25hdHlwZS1zbmFwc2hvdHM8L2lkPgorICAgICAgICAgICAgPHVybD5odHRwczovL29zcy5zb25hdHlwZS5vcmcvY29udGVudC9yZXBvc2l0b3JpZXMvc25hcHNob3RzLzwvdXJsPgorICAgICAgICAgICAgPHJlbGVhc2VzPgorICAgICAgICAgICAgICAgIDxlbmFibGVkPmZhbHNlPC9lbmFibGVkPgorICAgICAgICAgICAgPC9yZWxlYXNlcz4KKyAgICAgICAgICAgIDxzbmFwc2hvdHM+CisgICAgICAgICAgICAgICAgPGVuYWJsZWQ+dHJ1ZTwvZW5hYmxlZD4KKyAgICAgICAgICAgIDwvc25hcHNob3RzPgorICAgICAgICA8L3JlcG9zaXRvcnk+CisgICAgPC9yZXBvc2l0b3JpZXM+CisKKyAgICA8cGx1Z2luUmVwb3NpdG9yaWVzPgorICAgICAgICA8IS0tCisgICAgICAgICAgICBUaGlzIGlzIHdoZXJlIHdlIGdldCByZWxlYXNlZCBzdHVmZiBmcm9tLgorICAgICAgICAtLT4KKyAgICAgICAgPHBsdWdpblJlcG9zaXRvcnk+CisgICAgICAgICAgICA8aWQ+bWF2ZW4tY2VudHJhbDwvaWQ+CisgICAgICAgICAgICA8dXJsPmh0dHA6Ly9yZXBvMS5tYXZlbi5vcmcvbWF2ZW4yLzwvdXJsPgorICAgICAgICAgICAgPHJlbGVhc2VzPgorICAgICAgICAgICAgICAgIDxlbmFibGVkPnRydWU8L2VuYWJsZWQ+CisgICAgICAgICAgICA8L3JlbGVhc2VzPgorICAgICAgICAgICAgPHNuYXBzaG90cz4KKyAgICAgICAgICAgICAgICA8ZW5hYmxlZD5mYWxzZTwvZW5hYmxlZD4KKyAgICAgICAgICAgIDwvc25hcHNob3RzPgorICAgICAgICA8L3BsdWdpblJlcG9zaXRvcnk+CisgICAgICAgIDwhLS0KKyAgICAgICAgICAgVGhpcyBpcyB3aGVyZSB3ZSBnZXQgdW5yZWxlYXNlZCBBcGFjaGUgc3R1ZmYgZnJvbQorICAgICAgIC0tPgorICAgICAgICA8cGx1Z2luUmVwb3NpdG9yeT4KKyAgICAgICAgICAgIDxpZD5hcGFjaGUtc25hcHNob3RzPC9pZD4KKyAgICAgICAgICAgIDx1cmw+aHR0cDovL3JlcG9zaXRvcnkuYXBhY2hlLm9yZy9zbmFwc2hvdHMvPC91cmw+CisgICAgICAgICAgICA8cmVsZWFzZXM+CisgICAgICAgICAgICAgICAgPGVuYWJsZWQ+ZmFsc2U8L2VuYWJsZWQ+CisgICAgICAgICAgICA8L3JlbGVhc2VzPgorICAgICAgICAgICAgPHNuYXBzaG90cz4KKyAgICAgICAgICAgICAgICA8ZW5hYmxlZD50cnVlPC9lbmFibGVkPgorICAgICAgICAgICAgPC9zbmFwc2hvdHM+CisgICAgICAgIDwvcGx1Z2luUmVwb3NpdG9yeT4KKyAgICAgICAgPCEtLQorICAgICAgICAgICAgIFRoaXMgaXMgd2hlcmUgd2UgZ2V0IHVucmVsZWFzZWQgRmxleG1vam9zIHN0dWZmIGZyb20uCisgICAgICAgICAtLT4KKyAgICAgICAgPHBsdWdpblJlcG9zaXRvcnk+CisgICAgICAgICAgICA8aWQ+c29uYXR5cGUtc25hcHNob3RzPC9pZD4KKyAgICAgICAgICAgIDx1cmw+aHR0cHM6Ly9vc3Muc29uYXR5cGUub3JnL2NvbnRlbnQvcmVwb3NpdG9yaWVzL3NuYXBzaG90cy88L3VybD4KKyAgICAgICAgICAgIDxyZWxlYXNlcz4KKyAgICAgICAgICAgICAgICA8ZW5hYmxlZD5mYWxzZTwvZW5hYmxlZD4KKyAgICAgICAgICAgIDwvcmVsZWFzZXM+CisgICAgICAgICAgICA8c25hcHNob3RzPgorICAgICAgICAgICAgICAgIDxlbmFibGVkPnRydWU8L2VuYWJsZWQ+CisgICAgICAgICAgICA8L3NuYXBzaG90cz4KKyAgICAgICAgPC9wbHVnaW5SZXBvc2l0b3J5PgorICAgIDwvcGx1Z2luUmVwb3NpdG9yaWVzPgorCis8L3Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWF2ZW4tZmxleC1wbHVnaW4vcGx1Z2lucy9tYXZlbi1mbGV4LXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvQWJzdHJhY3RGbGV4TW9qby5qYXZhIGIvbWF2ZW4tZmxleC1wbHVnaW4vcGx1Z2lucy9tYXZlbi1mbGV4LXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvQWJzdHJhY3RGbGV4TW9qby5qYXZhCmluZGV4IGFlMzk5YTYuLjc5YTQyYTMgMTAwNjQ0Ci0tLSBhL21hdmVuLWZsZXgtcGx1Z2luL3BsdWdpbnMvbWF2ZW4tZmxleC1wbHVnaW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L0Fic3RyYWN0RmxleE1vam8uamF2YQorKysgYi9tYXZlbi1mbGV4LXBsdWdpbi9wbHVnaW5zL21hdmVuLWZsZXgtcGx1Z2luL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9BYnN0cmFjdEZsZXhNb2pvLmphdmEKQEAgLTIsMTEgKzIsNSBAQAogDQogaW1wb3J0IG9yZy5hcGFjaGUubWF2ZW4ucGx1Z2luLkFic3RyYWN0TW9qbzsNCiANCi0vKioNCi0gKiBDcmVhdGVkIHdpdGggSW50ZWxsaUogSURFQS4NCi0gKiBVc2VyOiBjZHV0eg0KLSAqIERhdGU6IDAxLjEyLjEyDQotICogVGltZTogMTg6MjQNCi0gKi8NCiBwdWJsaWMgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGbGV4TW9qbyBleHRlbmRzIEFic3RyYWN0TW9qbyB7DQogfQ0KZGlmZiAtLWdpdCBhL21hdmVuLWZsZXgtcGx1Z2luL3BsdWdpbnMvbWF2ZW4tZmxleC1wbHVnaW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L2NvbXBpbGVyL0NvbXBpbGVyTW9qby5qYXZhIGIvbWF2ZW4tZmxleC1wbHVnaW4vcGx1Z2lucy9tYXZlbi1mbGV4LXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvY29tcGlsZXIvQ29tcGlsZXJNb2pvLmphdmEKaW5kZXggNGZkZTcyMS4uOGE3MmExMiAxMDA2NDQKLS0tIGEvbWF2ZW4tZmxleC1wbHVnaW4vcGx1Z2lucy9tYXZlbi1mbGV4LXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvY29tcGlsZXIvQ29tcGlsZXJNb2pvLmphdmEKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vcGx1Z2lucy9tYXZlbi1mbGV4LXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvY29tcGlsZXIvQ29tcGlsZXJNb2pvLmphdmEKQEAgLTI0LDEyICsyNCw2IEBACiANCiBpbXBvcnQgamF2YS51dGlsLk1hcDsNCiANCi0vKioNCi0gKiBDcmVhdGVkIHdpdGggSW50ZWxsaUogSURFQS4NCi0gKiBVc2VyOiBjZHV0eg0KLSAqIERhdGU6IDAxLjEyLjEyDQotICogVGltZTogMTc6NDgNCi0gKi8NCiBATW9qbyhuYW1lID0gImNvbXBpbGUiLA0KICAgICAgICAgZGVmYXVsdFBoYXNlID0gTGlmZWN5Y2xlUGhhc2UuQ09NUElMRSwNCiAgICAgICAgIHJlcXVpcmVzRGVwZW5kZW5jeVJlc29sdXRpb24gPSBSZXNvbHV0aW9uU2NvcGUuQ09NUElMRSwNCmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9wbHVnaW5zL21hdmVuLWZsZXgtcGx1Z2luL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9nZW5lcmF0b3IvR2VuZXJhdG9yTW9qby5qYXZhIGIvbWF2ZW4tZmxleC1wbHVnaW4vcGx1Z2lucy9tYXZlbi1mbGV4LXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvZ2VuZXJhdG9yL0dlbmVyYXRvck1vam8uamF2YQppbmRleCBhZDQ5NjAzLi43NjcxNGZmIDEwMDY0NAotLS0gYS9tYXZlbi1mbGV4LXBsdWdpbi9wbHVnaW5zL21hdmVuLWZsZXgtcGx1Z2luL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9nZW5lcmF0b3IvR2VuZXJhdG9yTW9qby5qYXZhCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL3BsdWdpbnMvbWF2ZW4tZmxleC1wbHVnaW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L2dlbmVyYXRvci9HZW5lcmF0b3JNb2pvLmphdmEKQEAgLTIwLDEyICsyMCw2IEBACiBpbXBvcnQgb3JnLmFwYWNoZS5tYXZlbi5wbHVnaW5zLmFubm90YXRpb25zLkxpZmVjeWNsZVBoYXNlOw0KIGltcG9ydCBvcmcuYXBhY2hlLm1hdmVuLnBsdWdpbnMuYW5ub3RhdGlvbnMuTW9qbzsNCiANCi0vKioNCi0gKiBDcmVhdGVkIHdpdGggSW50ZWxsaUogSURFQS4NCi0gKiBVc2VyOiBjZHV0eg0KLSAqIERhdGU6IDAxLjEyLjEyDQotICogVGltZTogMTc6NDgNCi0gKi8NCiBATW9qbyhuYW1lID0gImdlbmVyYXRlIiwNCiAgICAgICAgIGRlZmF1bHRQaGFzZSA9IExpZmVjeWNsZVBoYXNlLkdFTkVSQVRFX1NPVVJDRVMsDQogICAgICAgICB0aHJlYWRTYWZlID0gdHJ1ZSkNCmRpZmYgLS1naXQgYS9tYXZlbi1mbGV4LXBsdWdpbi9wbHVnaW5zL21hdmVuLWZsZXgtcGx1Z2luL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9vcHRpbWl6ZXIvT3B0aW1pemVyTW9qby5qYXZhIGIvbWF2ZW4tZmxleC1wbHVnaW4vcGx1Z2lucy9tYXZlbi1mbGV4LXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvb3B0aW1pemVyL09wdGltaXplck1vam8uamF2YQppbmRleCA1M2M3MjUzLi4zOWNiYWFjIDEwMDY0NAotLS0gYS9tYXZlbi1mbGV4LXBsdWdpbi9wbHVnaW5zL21hdmVuLWZsZXgtcGx1Z2luL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC9vcHRpbWl6ZXIvT3B0aW1pemVyTW9qby5qYXZhCisrKyBiL21hdmVuLWZsZXgtcGx1Z2luL3BsdWdpbnMvbWF2ZW4tZmxleC1wbHVnaW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L29wdGltaXplci9PcHRpbWl6ZXJNb2pvLmphdmEKQEAgLTIwLDEyICsyMCw2IEBACiBpbXBvcnQgb3JnLmFwYWNoZS5tYXZlbi5wbHVnaW5zLmFubm90YXRpb25zLkxpZmVjeWNsZVBoYXNlOw0KIGltcG9ydCBvcmcuYXBhY2hlLm1hdmVuLnBsdWdpbnMuYW5ub3RhdGlvbnMuTW9qbzsNCiANCi0vKioNCi0gKiBDcmVhdGVkIHdpdGggSW50ZWxsaUogSURFQS4NCi0gKiBVc2VyOiBjZHV0eg0KLSAqIERhdGU6IDAxLjEyLjEyDQotICogVGltZTogMTc6NDgNCi0gKi8NCiBATW9qbyhuYW1lID0gIm9wdGltaXplIiwNCiAgICAgICAgIGRlZmF1bHRQaGFzZSA9IExpZmVjeWNsZVBoYXNlLlBST0NFU1NfQ0xBU1NFUywNCiAgICAgICAgIHRocmVhZFNhZmUgPSB0cnVlKQ0KZGlmZiAtLWdpdCBhL21hdmVuLWZsZXgtcGx1Z2luL3BsdWdpbnMvbWF2ZW4tZmxleC1wbHVnaW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L3BhY2thZ2VyL1BhY2thZ2VyTW9qby5qYXZhIGIvbWF2ZW4tZmxleC1wbHVnaW4vcGx1Z2lucy9tYXZlbi1mbGV4LXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvcGFja2FnZXIvUGFja2FnZXJNb2pvLmphdmEKaW5kZXggZjcyNWUzNy4uOWNkNzY1YiAxMDA2NDQKLS0tIGEvbWF2ZW4tZmxleC1wbHVnaW4vcGx1Z2lucy9tYXZlbi1mbGV4LXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvcGFja2FnZXIvUGFja2FnZXJNb2pvLmphdmEKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vcGx1Z2lucy9tYXZlbi1mbGV4LXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvcGFja2FnZXIvUGFja2FnZXJNb2pvLmphdmEKQEAgLTIwLDEyICsyMCw2IEBACiBpbXBvcnQgb3JnLmFwYWNoZS5tYXZlbi5wbHVnaW5zLmFubm90YXRpb25zLkxpZmVjeWNsZVBoYXNlOw0KIGltcG9ydCBvcmcuYXBhY2hlLm1hdmVuLnBsdWdpbnMuYW5ub3RhdGlvbnMuTW9qbzsNCiANCi0vKioNCi0gKiBDcmVhdGVkIHdpdGggSW50ZWxsaUogSURFQS4NCi0gKiBVc2VyOiBjZHV0eg0KLSAqIERhdGU6IDAxLjEyLjEyDQotICogVGltZTogMTc6NDgNCi0gKi8NCiBATW9qbyhuYW1lID0gInBhY2thZ2UiLA0KICAgICAgICAgZGVmYXVsdFBoYXNlID0gTGlmZWN5Y2xlUGhhc2UuUEFDS0FHRSwNCiAgICAgICAgIHRocmVhZFNhZmUgPSB0cnVlKQ0KZGlmZiAtLWdpdCBhL21hdmVuLWZsZXgtcGx1Z2luL3BsdWdpbnMvbWF2ZW4tZmxleC1wbHVnaW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L3Rlc3QvVGVzdENvbXBpbGVyTW9qby5qYXZhIGIvbWF2ZW4tZmxleC1wbHVnaW4vcGx1Z2lucy9tYXZlbi1mbGV4LXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvdGVzdC9UZXN0Q29tcGlsZXJNb2pvLmphdmEKaW5kZXggZWJlZTE1Mi4uZWQ0Yjc3YyAxMDA2NDQKLS0tIGEvbWF2ZW4tZmxleC1wbHVnaW4vcGx1Z2lucy9tYXZlbi1mbGV4LXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvdGVzdC9UZXN0Q29tcGlsZXJNb2pvLmphdmEKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vcGx1Z2lucy9tYXZlbi1mbGV4LXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvdGVzdC9UZXN0Q29tcGlsZXJNb2pvLmphdmEKQEAgLTIxLDEyICsyMSw2IEBACiBpbXBvcnQgb3JnLmFwYWNoZS5tYXZlbi5wbHVnaW5zLmFubm90YXRpb25zLk1vam87DQogaW1wb3J0IG9yZy5hcGFjaGUubWF2ZW4ucGx1Z2lucy5hbm5vdGF0aW9ucy5SZXNvbHV0aW9uU2NvcGU7DQogDQotLyoqDQotICogQ3JlYXRlZCB3aXRoIEludGVsbGlKIElERUEuDQotICogVXNlcjogY2R1dHoNCi0gKiBEYXRlOiAwMS4xMi4xMg0KLSAqIFRpbWU6IDE3OjQ4DQotICovDQogQE1vam8obmFtZSA9ICJ0ZXN0LWNvbXBpbGUiLA0KICAgICAgICAgZGVmYXVsdFBoYXNlID0gTGlmZWN5Y2xlUGhhc2UuVEVTVF9DT01QSUxFLA0KICAgICAgICAgcmVxdWlyZXNEZXBlbmRlbmN5UmVzb2x1dGlvbiA9IFJlc29sdXRpb25TY29wZS5URVNULA0KZGlmZiAtLWdpdCBhL21hdmVuLWZsZXgtcGx1Z2luL3BsdWdpbnMvbWF2ZW4tZmxleC1wbHVnaW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L3Rlc3QvVGVzdEdlbmVyYXRvck1vam8uamF2YSBiL21hdmVuLWZsZXgtcGx1Z2luL3BsdWdpbnMvbWF2ZW4tZmxleC1wbHVnaW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L3Rlc3QvVGVzdEdlbmVyYXRvck1vam8uamF2YQppbmRleCBiMGIzYmUzLi5lODdmMmQ3IDEwMDY0NAotLS0gYS9tYXZlbi1mbGV4LXBsdWdpbi9wbHVnaW5zL21hdmVuLWZsZXgtcGx1Z2luL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC90ZXN0L1Rlc3RHZW5lcmF0b3JNb2pvLmphdmEKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vcGx1Z2lucy9tYXZlbi1mbGV4LXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvdGVzdC9UZXN0R2VuZXJhdG9yTW9qby5qYXZhCkBAIC0yMSwxMiArMjEsNiBAQAogaW1wb3J0IG9yZy5hcGFjaGUubWF2ZW4ucGx1Z2lucy5hbm5vdGF0aW9ucy5Nb2pvOw0KIGltcG9ydCBvcmcuYXBhY2hlLm1hdmVuLnBsdWdpbnMuYW5ub3RhdGlvbnMuUmVzb2x1dGlvblNjb3BlOw0KIA0KLS8qKg0KLSAqIENyZWF0ZWQgd2l0aCBJbnRlbGxpSiBJREVBLg0KLSAqIFVzZXI6IGNkdXR6DQotICogRGF0ZTogMDEuMTIuMTINCi0gKiBUaW1lOiAxNzo0OA0KLSAqLw0KIEBNb2pvKG5hbWUgPSAidGVzdC1nZW5lcmF0ZSIsDQogICAgICAgICBkZWZhdWx0UGhhc2UgPSBMaWZlY3ljbGVQaGFzZS5HRU5FUkFURV9URVNUX1NPVVJDRVMsDQogICAgICAgICByZXF1aXJlc0RlcGVuZGVuY3lSZXNvbHV0aW9uID0gUmVzb2x1dGlvblNjb3BlLlRFU1QsDQpkaWZmIC0tZ2l0IGEvbWF2ZW4tZmxleC1wbHVnaW4vcGx1Z2lucy9tYXZlbi1mbGV4LXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvdGVzdC9UZXN0UnVubmVyTW9qby5qYXZhIGIvbWF2ZW4tZmxleC1wbHVnaW4vcGx1Z2lucy9tYXZlbi1mbGV4LXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL2ZsZXgvdGVzdC9UZXN0UnVubmVyTW9qby5qYXZhCmluZGV4IDliZmZmMDkuLjA4MTYwYzggMTAwNjQ0Ci0tLSBhL21hdmVuLWZsZXgtcGx1Z2luL3BsdWdpbnMvbWF2ZW4tZmxleC1wbHVnaW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9mbGV4L3Rlc3QvVGVzdFJ1bm5lck1vam8uamF2YQorKysgYi9tYXZlbi1mbGV4LXBsdWdpbi9wbHVnaW5zL21hdmVuLWZsZXgtcGx1Z2luL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvZmxleC90ZXN0L1Rlc3RSdW5uZXJNb2pvLmphdmEKQEAgLTIwLDEyICsyMCw2IEBACiBpbXBvcnQgb3JnLmFwYWNoZS5tYXZlbi5wbHVnaW5zLmFubm90YXRpb25zLkxpZmVjeWNsZVBoYXNlOw0KIGltcG9ydCBvcmcuYXBhY2hlLm1hdmVuLnBsdWdpbnMuYW5ub3RhdGlvbnMuTW9qbzsNCiANCi0vKioNCi0gKiBDcmVhdGVkIHdpdGggSW50ZWxsaUogSURFQS4NCi0gKiBVc2VyOiBjZHV0eg0KLSAqIERhdGU6IDAxLjEyLjEyDQotICogVGltZTogMTc6NDgNCi0gKi8NCiBATW9qbyhuYW1lID0gInRlc3QiLA0KICAgICAgICAgZGVmYXVsdFBoYXNlID0gTGlmZWN5Y2xlUGhhc2UuVEVTVCwNCiAgICAgICAgIHRocmVhZFNhZmUgPSB0cnVlKQ0KZGlmZiAtLWdpdCBhL21hdmVuLWZsZXgtcGx1Z2luL3BsdWdpbnMvbWF2ZW4tbWF2ZW5pemVyLXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL21hdmVuaXplci9NYXZlbml6ZXJNb2pvLmphdmEgYi9tYXZlbi1mbGV4LXBsdWdpbi9wbHVnaW5zL21hdmVuLW1hdmVuaXplci1wbHVnaW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvbWF2ZW4vcGx1Z2lucy9tYXZlbml6ZXIvTWF2ZW5pemVyTW9qby5qYXZhCmluZGV4IDU1ODI5MzIuLmYyYWJhZDQgMTAwNjQ0Ci0tLSBhL21hdmVuLWZsZXgtcGx1Z2luL3BsdWdpbnMvbWF2ZW4tbWF2ZW5pemVyLXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC9tYXZlbi9wbHVnaW5zL21hdmVuaXplci9NYXZlbml6ZXJNb2pvLmphdmEKKysrIGIvbWF2ZW4tZmxleC1wbHVnaW4vcGx1Z2lucy9tYXZlbi1tYXZlbml6ZXItcGx1Z2luL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L21hdmVuL3BsdWdpbnMvbWF2ZW5pemVyL01hdmVuaXplck1vam8uamF2YQpAQCAtMjMsMTIgKzIzLDYgQEAKIA0KIGltcG9ydCBqYXZhLmlvLkZpbGU7DQogDQotLyoqDQotICogQ3JlYXRlZCB3aXRoIEludGVsbGlKIElERUEuDQotICogVXNlcjogY2R1dHoNCi0gKiBEYXRlOiAwMS4xMi4xMg0KLSAqIFRpbWU6IDE3OjQ4DQotICovDQogQE1vam8obmFtZSA9ICJtYXZlbml6ZXIiLA0KICAgICAgICAgZGVmYXVsdFBoYXNlID0gTGlmZWN5Y2xlUGhhc2UuTk9ORSwNCiAgICAgICAgIHRocmVhZFNhZmUgPSBmYWxzZSkNCmRpZmYgLS1naXQgYS9tYXZlbml6ZXIvTElDRU5TRSBiL21hdmVuaXplci9MSUNFTlNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiMGIxMjcKLS0tIC9kZXYvbnVsbAorKysgYi9tYXZlbml6ZXIvTElDRU5TRQpAQCAtMCwwICsxLDIwMyBAQAorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcGFjaGUgTGljZW5zZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbiAyLjAsIEphbnVhcnkgMjAwNAorICAgICAgICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzLworCisgICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgVVNFLCBSRVBST0RVQ1RJT04sIEFORCBESVNUUklCVVRJT04KKworICAgMS4gRGVmaW5pdGlvbnMuCisKKyAgICAgICJMaWNlbnNlIiBzaGFsbCBtZWFuIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgdXNlLCByZXByb2R1Y3Rpb24sCisgICAgICBhbmQgZGlzdHJpYnV0aW9uIGFzIGRlZmluZWQgYnkgU2VjdGlvbnMgMSB0aHJvdWdoIDkgb2YgdGhpcyBkb2N1bWVudC4KKworICAgICAgIkxpY2Vuc29yIiBzaGFsbCBtZWFuIHRoZSBjb3B5cmlnaHQgb3duZXIgb3IgZW50aXR5IGF1dGhvcml6ZWQgYnkKKyAgICAgIHRoZSBjb3B5cmlnaHQgb3duZXIgdGhhdCBpcyBncmFudGluZyB0aGUgTGljZW5zZS4KKworICAgICAgIkxlZ2FsIEVudGl0eSIgc2hhbGwgbWVhbiB0aGUgdW5pb24gb2YgdGhlIGFjdGluZyBlbnRpdHkgYW5kIGFsbAorICAgICAgb3RoZXIgZW50aXRpZXMgdGhhdCBjb250cm9sLCBhcmUgY29udHJvbGxlZCBieSwgb3IgYXJlIHVuZGVyIGNvbW1vbgorICAgICAgY29udHJvbCB3aXRoIHRoYXQgZW50aXR5LiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwKKyAgICAgICJjb250cm9sIiBtZWFucyAoaSkgdGhlIHBvd2VyLCBkaXJlY3Qgb3IgaW5kaXJlY3QsIHRvIGNhdXNlIHRoZQorICAgICAgZGlyZWN0aW9uIG9yIG1hbmFnZW1lbnQgb2Ygc3VjaCBlbnRpdHksIHdoZXRoZXIgYnkgY29udHJhY3Qgb3IKKyAgICAgIG90aGVyd2lzZSwgb3IgKGlpKSBvd25lcnNoaXAgb2YgZmlmdHkgcGVyY2VudCAoNTAlKSBvciBtb3JlIG9mIHRoZQorICAgICAgb3V0c3RhbmRpbmcgc2hhcmVzLCBvciAoaWlpKSBiZW5lZmljaWFsIG93bmVyc2hpcCBvZiBzdWNoIGVudGl0eS4KKworICAgICAgIllvdSIgKG9yICJZb3VyIikgc2hhbGwgbWVhbiBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eQorICAgICAgZXhlcmNpc2luZyBwZXJtaXNzaW9ucyBncmFudGVkIGJ5IHRoaXMgTGljZW5zZS4KKworICAgICAgIlNvdXJjZSIgZm9ybSBzaGFsbCBtZWFuIHRoZSBwcmVmZXJyZWQgZm9ybSBmb3IgbWFraW5nIG1vZGlmaWNhdGlvbnMsCisgICAgICBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHNvZnR3YXJlIHNvdXJjZSBjb2RlLCBkb2N1bWVudGF0aW9uCisgICAgICBzb3VyY2UsIGFuZCBjb25maWd1cmF0aW9uIGZpbGVzLgorCisgICAgICAiT2JqZWN0IiBmb3JtIHNoYWxsIG1lYW4gYW55IGZvcm0gcmVzdWx0aW5nIGZyb20gbWVjaGFuaWNhbAorICAgICAgdHJhbnNmb3JtYXRpb24gb3IgdHJhbnNsYXRpb24gb2YgYSBTb3VyY2UgZm9ybSwgaW5jbHVkaW5nIGJ1dAorICAgICAgbm90IGxpbWl0ZWQgdG8gY29tcGlsZWQgb2JqZWN0IGNvZGUsIGdlbmVyYXRlZCBkb2N1bWVudGF0aW9uLAorICAgICAgYW5kIGNvbnZlcnNpb25zIHRvIG90aGVyIG1lZGlhIHR5cGVzLgorCisgICAgICAiV29yayIgc2hhbGwgbWVhbiB0aGUgd29yayBvZiBhdXRob3JzaGlwLCB3aGV0aGVyIGluIFNvdXJjZSBvcgorICAgICAgT2JqZWN0IGZvcm0sIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSBMaWNlbnNlLCBhcyBpbmRpY2F0ZWQgYnkgYQorICAgICAgY29weXJpZ2h0IG5vdGljZSB0aGF0IGlzIGluY2x1ZGVkIGluIG9yIGF0dGFjaGVkIHRvIHRoZSB3b3JrCisgICAgICAoYW4gZXhhbXBsZSBpcyBwcm92aWRlZCBpbiB0aGUgQXBwZW5kaXggYmVsb3cpLgorCisgICAgICAiRGVyaXZhdGl2ZSBXb3JrcyIgc2hhbGwgbWVhbiBhbnkgd29yaywgd2hldGhlciBpbiBTb3VyY2Ugb3IgT2JqZWN0CisgICAgICBmb3JtLCB0aGF0IGlzIGJhc2VkIG9uIChvciBkZXJpdmVkIGZyb20pIHRoZSBXb3JrIGFuZCBmb3Igd2hpY2ggdGhlCisgICAgICBlZGl0b3JpYWwgcmV2aXNpb25zLCBhbm5vdGF0aW9ucywgZWxhYm9yYXRpb25zLCBvciBvdGhlciBtb2RpZmljYXRpb25zCisgICAgICByZXByZXNlbnQsIGFzIGEgd2hvbGUsIGFuIG9yaWdpbmFsIHdvcmsgb2YgYXV0aG9yc2hpcC4gRm9yIHRoZSBwdXJwb3NlcworICAgICAgb2YgdGhpcyBMaWNlbnNlLCBEZXJpdmF0aXZlIFdvcmtzIHNoYWxsIG5vdCBpbmNsdWRlIHdvcmtzIHRoYXQgcmVtYWluCisgICAgICBzZXBhcmFibGUgZnJvbSwgb3IgbWVyZWx5IGxpbmsgKG9yIGJpbmQgYnkgbmFtZSkgdG8gdGhlIGludGVyZmFjZXMgb2YsCisgICAgICB0aGUgV29yayBhbmQgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLgorCisgICAgICAiQ29udHJpYnV0aW9uIiBzaGFsbCBtZWFuIGFueSB3b3JrIG9mIGF1dGhvcnNoaXAsIGluY2x1ZGluZworICAgICAgdGhlIG9yaWdpbmFsIHZlcnNpb24gb2YgdGhlIFdvcmsgYW5kIGFueSBtb2RpZmljYXRpb25zIG9yIGFkZGl0aW9ucworICAgICAgdG8gdGhhdCBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiwgdGhhdCBpcyBpbnRlbnRpb25hbGx5CisgICAgICBzdWJtaXR0ZWQgdG8gTGljZW5zb3IgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yayBieSB0aGUgY29weXJpZ2h0IG93bmVyCisgICAgICBvciBieSBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eSBhdXRob3JpemVkIHRvIHN1Ym1pdCBvbiBiZWhhbGYgb2YKKyAgICAgIHRoZSBjb3B5cmlnaHQgb3duZXIuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLCAic3VibWl0dGVkIgorICAgICAgbWVhbnMgYW55IGZvcm0gb2YgZWxlY3Ryb25pYywgdmVyYmFsLCBvciB3cml0dGVuIGNvbW11bmljYXRpb24gc2VudAorICAgICAgdG8gdGhlIExpY2Vuc29yIG9yIGl0cyByZXByZXNlbnRhdGl2ZXMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8KKyAgICAgIGNvbW11bmljYXRpb24gb24gZWxlY3Ryb25pYyBtYWlsaW5nIGxpc3RzLCBzb3VyY2UgY29kZSBjb250cm9sIHN5c3RlbXMsCisgICAgICBhbmQgaXNzdWUgdHJhY2tpbmcgc3lzdGVtcyB0aGF0IGFyZSBtYW5hZ2VkIGJ5LCBvciBvbiBiZWhhbGYgb2YsIHRoZQorICAgICAgTGljZW5zb3IgZm9yIHRoZSBwdXJwb3NlIG9mIGRpc2N1c3NpbmcgYW5kIGltcHJvdmluZyB0aGUgV29yaywgYnV0CisgICAgICBleGNsdWRpbmcgY29tbXVuaWNhdGlvbiB0aGF0IGlzIGNvbnNwaWN1b3VzbHkgbWFya2VkIG9yIG90aGVyd2lzZQorICAgICAgZGVzaWduYXRlZCBpbiB3cml0aW5nIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIgYXMgIk5vdCBhIENvbnRyaWJ1dGlvbi4iCisKKyAgICAgICJDb250cmlidXRvciIgc2hhbGwgbWVhbiBMaWNlbnNvciBhbmQgYW55IGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5CisgICAgICBvbiBiZWhhbGYgb2Ygd2hvbSBhIENvbnRyaWJ1dGlvbiBoYXMgYmVlbiByZWNlaXZlZCBieSBMaWNlbnNvciBhbmQKKyAgICAgIHN1YnNlcXVlbnRseSBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrLgorCisgICAyLiBHcmFudCBvZiBDb3B5cmlnaHQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKKyAgICAgIHRoaXMgTGljZW5zZSwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzIHRvIFlvdSBhIHBlcnBldHVhbCwKKyAgICAgIHdvcmxkd2lkZSwgbm9uLWV4Y2x1c2l2ZSwgbm8tY2hhcmdlLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlCisgICAgICBjb3B5cmlnaHQgbGljZW5zZSB0byByZXByb2R1Y2UsIHByZXBhcmUgRGVyaXZhdGl2ZSBXb3JrcyBvZiwKKyAgICAgIHB1YmxpY2x5IGRpc3BsYXksIHB1YmxpY2x5IHBlcmZvcm0sIHN1YmxpY2Vuc2UsIGFuZCBkaXN0cmlidXRlIHRoZQorICAgICAgV29yayBhbmQgc3VjaCBEZXJpdmF0aXZlIFdvcmtzIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybS4KKworICAgMy4gR3JhbnQgb2YgUGF0ZW50IExpY2Vuc2UuIFN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mCisgICAgICB0aGlzIExpY2Vuc2UsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5IGdyYW50cyB0byBZb3UgYSBwZXJwZXR1YWwsCisgICAgICB3b3JsZHdpZGUsIG5vbi1leGNsdXNpdmUsIG5vLWNoYXJnZSwgcm95YWx0eS1mcmVlLCBpcnJldm9jYWJsZQorICAgICAgKGV4Y2VwdCBhcyBzdGF0ZWQgaW4gdGhpcyBzZWN0aW9uKSBwYXRlbnQgbGljZW5zZSB0byBtYWtlLCBoYXZlIG1hZGUsCisgICAgICB1c2UsIG9mZmVyIHRvIHNlbGwsIHNlbGwsIGltcG9ydCwgYW5kIG90aGVyd2lzZSB0cmFuc2ZlciB0aGUgV29yaywKKyAgICAgIHdoZXJlIHN1Y2ggbGljZW5zZSBhcHBsaWVzIG9ubHkgdG8gdGhvc2UgcGF0ZW50IGNsYWltcyBsaWNlbnNhYmxlCisgICAgICBieSBzdWNoIENvbnRyaWJ1dG9yIHRoYXQgYXJlIG5lY2Vzc2FyaWx5IGluZnJpbmdlZCBieSB0aGVpcgorICAgICAgQ29udHJpYnV0aW9uKHMpIGFsb25lIG9yIGJ5IGNvbWJpbmF0aW9uIG9mIHRoZWlyIENvbnRyaWJ1dGlvbihzKQorICAgICAgd2l0aCB0aGUgV29yayB0byB3aGljaCBzdWNoIENvbnRyaWJ1dGlvbihzKSB3YXMgc3VibWl0dGVkLiBJZiBZb3UKKyAgICAgIGluc3RpdHV0ZSBwYXRlbnQgbGl0aWdhdGlvbiBhZ2FpbnN0IGFueSBlbnRpdHkgKGluY2x1ZGluZyBhCisgICAgICBjcm9zcy1jbGFpbSBvciBjb3VudGVyY2xhaW0gaW4gYSBsYXdzdWl0KSBhbGxlZ2luZyB0aGF0IHRoZSBXb3JrCisgICAgICBvciBhIENvbnRyaWJ1dGlvbiBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrIGNvbnN0aXR1dGVzIGRpcmVjdAorICAgICAgb3IgY29udHJpYnV0b3J5IHBhdGVudCBpbmZyaW5nZW1lbnQsIHRoZW4gYW55IHBhdGVudCBsaWNlbnNlcworICAgICAgZ3JhbnRlZCB0byBZb3UgdW5kZXIgdGhpcyBMaWNlbnNlIGZvciB0aGF0IFdvcmsgc2hhbGwgdGVybWluYXRlCisgICAgICBhcyBvZiB0aGUgZGF0ZSBzdWNoIGxpdGlnYXRpb24gaXMgZmlsZWQuCisKKyAgIDQuIFJlZGlzdHJpYnV0aW9uLiBZb3UgbWF5IHJlcHJvZHVjZSBhbmQgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlCisgICAgICBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiBpbiBhbnkgbWVkaXVtLCB3aXRoIG9yIHdpdGhvdXQKKyAgICAgIG1vZGlmaWNhdGlvbnMsIGFuZCBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0sIHByb3ZpZGVkIHRoYXQgWW91CisgICAgICBtZWV0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKworICAgICAgKGEpIFlvdSBtdXN0IGdpdmUgYW55IG90aGVyIHJlY2lwaWVudHMgb2YgdGhlIFdvcmsgb3IKKyAgICAgICAgICBEZXJpdmF0aXZlIFdvcmtzIGEgY29weSBvZiB0aGlzIExpY2Vuc2U7IGFuZAorCisgICAgICAoYikgWW91IG11c3QgY2F1c2UgYW55IG1vZGlmaWVkIGZpbGVzIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzCisgICAgICAgICAgc3RhdGluZyB0aGF0IFlvdSBjaGFuZ2VkIHRoZSBmaWxlczsgYW5kCisKKyAgICAgIChjKSBZb3UgbXVzdCByZXRhaW4sIGluIHRoZSBTb3VyY2UgZm9ybSBvZiBhbnkgRGVyaXZhdGl2ZSBXb3JrcworICAgICAgICAgIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsbCBjb3B5cmlnaHQsIHBhdGVudCwgdHJhZGVtYXJrLCBhbmQKKyAgICAgICAgICBhdHRyaWJ1dGlvbiBub3RpY2VzIGZyb20gdGhlIFNvdXJjZSBmb3JtIG9mIHRoZSBXb3JrLAorICAgICAgICAgIGV4Y2x1ZGluZyB0aG9zZSBub3RpY2VzIHRoYXQgZG8gbm90IHBlcnRhaW4gdG8gYW55IHBhcnQgb2YKKyAgICAgICAgICB0aGUgRGVyaXZhdGl2ZSBXb3JrczsgYW5kCisKKyAgICAgIChkKSBJZiB0aGUgV29yayBpbmNsdWRlcyBhICJOT1RJQ0UiIHRleHQgZmlsZSBhcyBwYXJ0IG9mIGl0cworICAgICAgICAgIGRpc3RyaWJ1dGlvbiwgdGhlbiBhbnkgRGVyaXZhdGl2ZSBXb3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlIG11c3QKKyAgICAgICAgICBpbmNsdWRlIGEgcmVhZGFibGUgY29weSBvZiB0aGUgYXR0cmlidXRpb24gbm90aWNlcyBjb250YWluZWQKKyAgICAgICAgICB3aXRoaW4gc3VjaCBOT1RJQ0UgZmlsZSwgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3QKKyAgICAgICAgICBwZXJ0YWluIHRvIGFueSBwYXJ0IG9mIHRoZSBEZXJpdmF0aXZlIFdvcmtzLCBpbiBhdCBsZWFzdCBvbmUKKyAgICAgICAgICBvZiB0aGUgZm9sbG93aW5nIHBsYWNlczogd2l0aGluIGEgTk9USUNFIHRleHQgZmlsZSBkaXN0cmlidXRlZAorICAgICAgICAgIGFzIHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3M7IHdpdGhpbiB0aGUgU291cmNlIGZvcm0gb3IKKyAgICAgICAgICBkb2N1bWVudGF0aW9uLCBpZiBwcm92aWRlZCBhbG9uZyB3aXRoIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBvciwKKyAgICAgICAgICB3aXRoaW4gYSBkaXNwbGF5IGdlbmVyYXRlZCBieSB0aGUgRGVyaXZhdGl2ZSBXb3JrcywgaWYgYW5kCisgICAgICAgICAgd2hlcmV2ZXIgc3VjaCB0aGlyZC1wYXJ0eSBub3RpY2VzIG5vcm1hbGx5IGFwcGVhci4gVGhlIGNvbnRlbnRzCisgICAgICAgICAgb2YgdGhlIE5PVElDRSBmaWxlIGFyZSBmb3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5IGFuZAorICAgICAgICAgIGRvIG5vdCBtb2RpZnkgdGhlIExpY2Vuc2UuIFlvdSBtYXkgYWRkIFlvdXIgb3duIGF0dHJpYnV0aW9uCisgICAgICAgICAgbm90aWNlcyB3aXRoaW4gRGVyaXZhdGl2ZSBXb3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlLCBhbG9uZ3NpZGUKKyAgICAgICAgICBvciBhcyBhbiBhZGRlbmR1bSB0byB0aGUgTk9USUNFIHRleHQgZnJvbSB0aGUgV29yaywgcHJvdmlkZWQKKyAgICAgICAgICB0aGF0IHN1Y2ggYWRkaXRpb25hbCBhdHRyaWJ1dGlvbiBub3RpY2VzIGNhbm5vdCBiZSBjb25zdHJ1ZWQKKyAgICAgICAgICBhcyBtb2RpZnlpbmcgdGhlIExpY2Vuc2UuCisKKyAgICAgIFlvdSBtYXkgYWRkIFlvdXIgb3duIGNvcHlyaWdodCBzdGF0ZW1lbnQgdG8gWW91ciBtb2RpZmljYXRpb25zIGFuZAorICAgICAgbWF5IHByb3ZpZGUgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQgbGljZW5zZSB0ZXJtcyBhbmQgY29uZGl0aW9ucworICAgICAgZm9yIHVzZSwgcmVwcm9kdWN0aW9uLCBvciBkaXN0cmlidXRpb24gb2YgWW91ciBtb2RpZmljYXRpb25zLCBvcgorICAgICAgZm9yIGFueSBzdWNoIERlcml2YXRpdmUgV29ya3MgYXMgYSB3aG9sZSwgcHJvdmlkZWQgWW91ciB1c2UsCisgICAgICByZXByb2R1Y3Rpb24sIGFuZCBkaXN0cmlidXRpb24gb2YgdGhlIFdvcmsgb3RoZXJ3aXNlIGNvbXBsaWVzIHdpdGgKKyAgICAgIHRoZSBjb25kaXRpb25zIHN0YXRlZCBpbiB0aGlzIExpY2Vuc2UuCisKKyAgIDUuIFN1Ym1pc3Npb24gb2YgQ29udHJpYnV0aW9ucy4gVW5sZXNzIFlvdSBleHBsaWNpdGx5IHN0YXRlIG90aGVyd2lzZSwKKyAgICAgIGFueSBDb250cmlidXRpb24gaW50ZW50aW9uYWxseSBzdWJtaXR0ZWQgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yaworICAgICAgYnkgWW91IHRvIHRoZSBMaWNlbnNvciBzaGFsbCBiZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKKyAgICAgIHRoaXMgTGljZW5zZSwgd2l0aG91dCBhbnkgYWRkaXRpb25hbCB0ZXJtcyBvciBjb25kaXRpb25zLgorICAgICAgTm90d2l0aHN0YW5kaW5nIHRoZSBhYm92ZSwgbm90aGluZyBoZXJlaW4gc2hhbGwgc3VwZXJzZWRlIG9yIG1vZGlmeQorICAgICAgdGhlIHRlcm1zIG9mIGFueSBzZXBhcmF0ZSBsaWNlbnNlIGFncmVlbWVudCB5b3UgbWF5IGhhdmUgZXhlY3V0ZWQKKyAgICAgIHdpdGggTGljZW5zb3IgcmVnYXJkaW5nIHN1Y2ggQ29udHJpYnV0aW9ucy4KKworICAgNi4gVHJhZGVtYXJrcy4gVGhpcyBMaWNlbnNlIGRvZXMgbm90IGdyYW50IHBlcm1pc3Npb24gdG8gdXNlIHRoZSB0cmFkZQorICAgICAgbmFtZXMsIHRyYWRlbWFya3MsIHNlcnZpY2UgbWFya3MsIG9yIHByb2R1Y3QgbmFtZXMgb2YgdGhlIExpY2Vuc29yLAorICAgICAgZXhjZXB0IGFzIHJlcXVpcmVkIGZvciByZWFzb25hYmxlIGFuZCBjdXN0b21hcnkgdXNlIGluIGRlc2NyaWJpbmcgdGhlCisgICAgICBvcmlnaW4gb2YgdGhlIFdvcmsgYW5kIHJlcHJvZHVjaW5nIHRoZSBjb250ZW50IG9mIHRoZSBOT1RJQ0UgZmlsZS4KKworICAgNy4gRGlzY2xhaW1lciBvZiBXYXJyYW50eS4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yCisgICAgICBhZ3JlZWQgdG8gaW4gd3JpdGluZywgTGljZW5zb3IgcHJvdmlkZXMgdGhlIFdvcmsgKGFuZCBlYWNoCisgICAgICBDb250cmlidXRvciBwcm92aWRlcyBpdHMgQ29udHJpYnV0aW9ucykgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvcgorICAgICAgaW1wbGllZCwgaW5jbHVkaW5nLCB3aXRob3V0IGxpbWl0YXRpb24sIGFueSB3YXJyYW50aWVzIG9yIGNvbmRpdGlvbnMKKyAgICAgIG9mIFRJVExFLCBOT04tSU5GUklOR0VNRU5ULCBNRVJDSEFOVEFCSUxJVFksIG9yIEZJVE5FU1MgRk9SIEEKKyAgICAgIFBBUlRJQ1VMQVIgUFVSUE9TRS4gWW91IGFyZSBzb2xlbHkgcmVzcG9uc2libGUgZm9yIGRldGVybWluaW5nIHRoZQorICAgICAgYXBwcm9wcmlhdGVuZXNzIG9mIHVzaW5nIG9yIHJlZGlzdHJpYnV0aW5nIHRoZSBXb3JrIGFuZCBhc3N1bWUgYW55CisgICAgICByaXNrcyBhc3NvY2lhdGVkIHdpdGggWW91ciBleGVyY2lzZSBvZiBwZXJtaXNzaW9ucyB1bmRlciB0aGlzIExpY2Vuc2UuCisKKyAgIDguIExpbWl0YXRpb24gb2YgTGlhYmlsaXR5LiBJbiBubyBldmVudCBhbmQgdW5kZXIgbm8gbGVnYWwgdGhlb3J5LAorICAgICAgd2hldGhlciBpbiB0b3J0IChpbmNsdWRpbmcgbmVnbGlnZW5jZSksIGNvbnRyYWN0LCBvciBvdGhlcndpc2UsCisgICAgICB1bmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgKHN1Y2ggYXMgZGVsaWJlcmF0ZSBhbmQgZ3Jvc3NseQorICAgICAgbmVnbGlnZW50IGFjdHMpIG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzaGFsbCBhbnkgQ29udHJpYnV0b3IgYmUKKyAgICAgIGxpYWJsZSB0byBZb3UgZm9yIGRhbWFnZXMsIGluY2x1ZGluZyBhbnkgZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwKKyAgICAgIGluY2lkZW50YWwsIG9yIGNvbnNlcXVlbnRpYWwgZGFtYWdlcyBvZiBhbnkgY2hhcmFjdGVyIGFyaXNpbmcgYXMgYQorICAgICAgcmVzdWx0IG9mIHRoaXMgTGljZW5zZSBvciBvdXQgb2YgdGhlIHVzZSBvciBpbmFiaWxpdHkgdG8gdXNlIHRoZQorICAgICAgV29yayAoaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBkYW1hZ2VzIGZvciBsb3NzIG9mIGdvb2R3aWxsLAorICAgICAgd29yayBzdG9wcGFnZSwgY29tcHV0ZXIgZmFpbHVyZSBvciBtYWxmdW5jdGlvbiwgb3IgYW55IGFuZCBhbGwKKyAgICAgIG90aGVyIGNvbW1lcmNpYWwgZGFtYWdlcyBvciBsb3NzZXMpLCBldmVuIGlmIHN1Y2ggQ29udHJpYnV0b3IKKyAgICAgIGhhcyBiZWVuIGFkdmlzZWQgb2YgdGhlIHBvc3NpYmlsaXR5IG9mIHN1Y2ggZGFtYWdlcy4KKworICAgOS4gQWNjZXB0aW5nIFdhcnJhbnR5IG9yIEFkZGl0aW9uYWwgTGlhYmlsaXR5LiBXaGlsZSByZWRpc3RyaWJ1dGluZworICAgICAgdGhlIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLCBZb3UgbWF5IGNob29zZSB0byBvZmZlciwKKyAgICAgIGFuZCBjaGFyZ2UgYSBmZWUgZm9yLCBhY2NlcHRhbmNlIG9mIHN1cHBvcnQsIHdhcnJhbnR5LCBpbmRlbW5pdHksCisgICAgICBvciBvdGhlciBsaWFiaWxpdHkgb2JsaWdhdGlvbnMgYW5kL29yIHJpZ2h0cyBjb25zaXN0ZW50IHdpdGggdGhpcworICAgICAgTGljZW5zZS4gSG93ZXZlciwgaW4gYWNjZXB0aW5nIHN1Y2ggb2JsaWdhdGlvbnMsIFlvdSBtYXkgYWN0IG9ubHkKKyAgICAgIG9uIFlvdXIgb3duIGJlaGFsZiBhbmQgb24gWW91ciBzb2xlIHJlc3BvbnNpYmlsaXR5LCBub3Qgb24gYmVoYWxmCisgICAgICBvZiBhbnkgb3RoZXIgQ29udHJpYnV0b3IsIGFuZCBvbmx5IGlmIFlvdSBhZ3JlZSB0byBpbmRlbW5pZnksCisgICAgICBkZWZlbmQsIGFuZCBob2xkIGVhY2ggQ29udHJpYnV0b3IgaGFybWxlc3MgZm9yIGFueSBsaWFiaWxpdHkKKyAgICAgIGluY3VycmVkIGJ5LCBvciBjbGFpbXMgYXNzZXJ0ZWQgYWdhaW5zdCwgc3VjaCBDb250cmlidXRvciBieSByZWFzb24KKyAgICAgIG9mIHlvdXIgYWNjZXB0aW5nIGFueSBzdWNoIHdhcnJhbnR5IG9yIGFkZGl0aW9uYWwgbGlhYmlsaXR5LgorCisgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKKworICAgQVBQRU5ESVg6IEhvdyB0byBhcHBseSB0aGUgQXBhY2hlIExpY2Vuc2UgdG8geW91ciB3b3JrLgorCisgICAgICBUbyBhcHBseSB0aGUgQXBhY2hlIExpY2Vuc2UgdG8geW91ciB3b3JrLCBhdHRhY2ggdGhlIGZvbGxvd2luZworICAgICAgYm9pbGVycGxhdGUgbm90aWNlLCB3aXRoIHRoZSBmaWVsZHMgZW5jbG9zZWQgYnkgYnJhY2tldHMgIltdIgorICAgICAgcmVwbGFjZWQgd2l0aCB5b3VyIG93biBpZGVudGlmeWluZyBpbmZvcm1hdGlvbi4gKERvbid0IGluY2x1ZGUKKyAgICAgIHRoZSBicmFja2V0cyEpICBUaGUgdGV4dCBzaG91bGQgYmUgZW5jbG9zZWQgaW4gdGhlIGFwcHJvcHJpYXRlCisgICAgICBjb21tZW50IHN5bnRheCBmb3IgdGhlIGZpbGUgZm9ybWF0LiBXZSBhbHNvIHJlY29tbWVuZCB0aGF0IGEKKyAgICAgIGZpbGUgb3IgY2xhc3MgbmFtZSBhbmQgZGVzY3JpcHRpb24gb2YgcHVycG9zZSBiZSBpbmNsdWRlZCBvbiB0aGUKKyAgICAgIHNhbWUgInByaW50ZWQgcGFnZSIgYXMgdGhlIGNvcHlyaWdodCBub3RpY2UgZm9yIGVhc2llcgorICAgICAgaWRlbnRpZmljYXRpb24gd2l0aGluIHRoaXJkLXBhcnR5IGFyY2hpdmVzLgorCisgICBDb3B5cmlnaHQgW3l5eXldIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0KKworICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL05PVElDRSBiL21hdmVuaXplci9OT1RJQ0UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDFiZWNmMAotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuaXplci9OT1RJQ0UKQEAgLTAsMCArMSw1IEBACitBcGFjaGUgRmxleCBNYXZlbml6ZXIKK0NvcHlyaWdodCAyMDE1IFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbgorCitUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGF0CitUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKGh0dHA6Ly93d3cuYXBhY2hlLm9yZy8pLgpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL1JFQURNRS50eHQgYi9tYXZlbml6ZXIvUkVBRE1FLnR4dAppbmRleCBkMjJjNTM5Li43Zjg0ZTc2IDEwMDY0NAotLS0gYS9tYXZlbml6ZXIvUkVBRE1FLnR4dAorKysgYi9tYXZlbml6ZXIvUkVBRE1FLnR4dApAQCAtMSwxMzAgKzEsMjIyIEBACi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotVGhlIE1hdmVuaXplciB0b29sIGlzIHVzZWQgdG8gY29udmVydCB0aGUgQXBhY2hlIGFuZCBBZG9iZSBGbGV4IFNES3MgYW5kIEFpciBTREtzIGludG8KLU1hdmVuIGFydGlmYWN0cy4gQXV0b21hdGljYWxseSBjcmVhdGluZyB0aGUgRGlyZWN0b3JpZXMsIHBvbS1maWxlcywgY29weWluZyBhbmQgbW92aW5nIAotdGhlIHJlc291cmNlcyB0byB0aGUgY29ycmVjdCBkZXN0aW5hdGlvbnMuCitBcGFjaGUgRmxleCBTREsgQ29udmVydGVyCis9PT09PT09PT09PT09PT09PT09PT09PT09CisJVGhlIE1hdmVuaXplciB0b29sIGlzIHVzZWQgdG8gY29udmVydCB0aGUgQXBhY2hlIGFuZCBBZG9iZSBGbGV4IFNES3MgYW5kIEFpcgorCVNES3MgaW50byBNYXZlbiBhcnRpZmFjdHMuIEF1dG9tYXRpY2FsbHkgY3JlYXRpbmcgdGhlIERpcmVjdG9yaWVzLCBwb20tZmlsZXMsCisJY29weWluZyBhbmQgbW92aW5nIHRoZSByZXNvdXJjZXMgdG8gdGhlIGNvcnJlY3QgZGVzdGluYXRpb25zLgogCi1UaGVzZSBhcnRpZmFjdHMgY2FuIGJlIHVzZWQgaW4gTWF2ZW4gYnVpbGRzIHVzaW5nIHRoZSBGbGV4bW9qb3MgcGx1Z2luIChTdGFydGluZyB3aXRoCi12ZXJzaW9uIDYueCkuCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCVRoZXNlIGFydGlmYWN0cyBjYW4gYmUgdXNlZCBpbiBNYXZlbiBidWlsZHMgdXNpbmcgdGhlIEZsZXhtb2pvcyBwbHVnaW4KKwkoU3RhcnRpbmcgd2l0aCB2ZXJzaW9uIDYueCkuCiAKLVRoZSBnZW5lcmF0b3IgYXV0b21hdGljYWxseSBjb252ZXJ0cyB0aGUgZGVzaXJlZCBGREtzIGludG8gYSBtYXZlbml6ZWQgZm9ybSwgYWxsIHlvdSAKLW5lZWQsIGlzIHRvIGRvd25sb2FkIGFuZCB1bnppcCB0aGUgYXJjaGl2ZXMgY29udGFpbmluZyB0aGUgc2RrcyBhbmQgZXhlY3V0ZSB0aGUgCi1nZW5lcmF0b3IgcGFzc2luZyBpbiB0aGUgc291cmNlIGFuZCB0YXJnZXQgZGlyZWN0b3J5IGFzIHBhcmFtZXRlci4gCisJVGhlIEFwYWNoZSBGbGV4IFNESyBDb252ZXJ0ZXIgY29tZXMgd2l0aCBhbGwgdGhlIG1lYW5zIHRvIGRvd25sb2FkLCBjb252ZXJ0CisJYW5kIGRlcGxveSBhIG1hdmVuaXplZCBmb3JtIG9mIGFuIEFwYWNoZSBGbGV4IFNESy4KIAotVGhlIEdlbmVyYXRvciBkb2Vzbid0IHN0dXBpZGx5IGNvcHkgYWxsIGphdmEgbGlicmFyaWVzIHRvIHRoZSBkZXN0aW5hdGlvbiwgYnV0IGNoZWNrcwotaWYgdGhlIGdpdmVuIGFydGlmYWN0IGhhcyBhbHJlYWR5IGJlZW4gZGVwbG95ZWQgdG8gbWF2ZW4gY2VudHJhbCBvciBieSBkZXBsb3lpbmcgYW4KLW90aGVyIEZESyBwcmV2aW91c2x5LiBGb3IgdGhpcyBjaGVjayB5b3UgZG8gbmVlZCBhbiBpbnRlcm5ldCBjb25uZWN0aW9uIHRvIGRvIHRoZQotY29udmVyc2lvbiwgb3RoZXJ3aXNlIEkgdGhpbmsgdGhpcyB3aWxsIHByb2JhYmx5IHRha2UgZm9yZXZlci4KKyAgICBUaGUgQ29udmVydGVyIGRvZXMgbm90IHNpbXBseSBjb3B5IGFsbCBqYXZhIGxpYnJhcmllcyB0byB0aGUgZGVzdGluYXRpb247IGl0IGNoZWNrcworICAgIGlmIHRoZSBnaXZlbiBhcnRpZmFjdCBoYXMgYWxyZWFkeSBiZWVuIGRlcGxveWVkIHRvIG1hdmVuIGNlbnRyYWwgb3IgYnkgZGVwbG95aW5nIGFuCisgICAgb3RoZXIgRkRLIHByZXZpb3VzbHkuIEZvciB0aGlzIGNoZWNrIHlvdSBkbyBuZWVkIGFuIGludGVybmV0IGNvbm5lY3Rpb24gdG8gZG8gdGhlCisgICAgY29udmVyc2lvbiwgb3RoZXJ3aXNlIGl0IHdpbGwgcHJvYmFibHkgdGFrZSBmb3JldmVyLgogCi1JbnRlcm5hbGx5IGl0IGNvbnNpc3RzIG9mIDMgY29tcG9uZW50czogCi0tIE9uZSBmb3IgZGVwbG95aW5nIHRoZSBGbGFzaCBhcnRpZmFjdHMKLS0gT25lIGZvciBkZXBsb3lpbmcgdGhlIEFpciBhcnRpZmFjdHMKLS0gT25lIGZvciBkZXBsb3lpbmcgdGhlIEZsZXggYXJ0aWZhY3RzCisgICAgSW50ZXJuYWxseSBpdCBjb25zaXN0cyBvZiAzIGNvbXBvbmVudHM6CisgICAgLSBPbmUgUmV0cmlldmVyCisgICAgCS0gRG93bmxvYWRSZXRyaWV2ZXI6IEZvciBkb3dubG9hZGluZyBiaW5hcnkgYXJ0aWZhY3RzCisgICAgLSBGb3VyIENvbnZlcnRlcnMKKyAgICAJLSBPbmUgZm9yIHByb2R1Y2luZyB0aGUgQXBhY2hlIEZsZXggU0RLIGFydGlmYWN0cworICAgIAktIE9uZSBmb3IgcHJvZHVjaW5nIHRoZSBBZG9iZSBGbGFzaCBhcnRpZmFjdHMKKyAgICAJLSBPbmUgZm9yIHByb2R1Y2luZyB0aGUgQWRvYmUgQWlyIGFydGlmYWN0cworICAgIAktIE9uZSBmb3IgcHJvZHVjaW5nIHRoZSBBZG9iZSBGb250a2l0IGFydGlmYWN0cworICAgIC0gVHdvIERlcGxveWVycworICAgIAktIE9uZSB1c2luZyBBZXRoZXIgd2l0aCBubyByZXF1aXJlbWVudCB0byBNYXZlbiAoRmFzdGVyLCBidXQgbGVzcyBjb25maWd1cmFibGUpCisgICAgCS0gT25lIHVzaW5nIGEgbG9jYWwgTWF2ZW4gaW5zdGFsbGF0aW9uIChBIGxvdCBzbG93ZXIsIGJ1dCBmdWxseSBjb25maWd1cmFibGUpCiAKLUFzIHRoZSBBZG9iZSBGREtzIGFsbCBjb250YWluZWQgdGhlIEFJUiBTREsgYW5kIHRoZSBGbGFzaCBydW50aW1lIHRoZSBGREsgZGlyZWN0b3JpZXMKLWFyZSBwcm9jZXNzZWQgYnkgZWFjaCBvZiB0aGUgRkRLIGRpcmVjdG9yaWVzLiBXaGVuIGRlcGxveWluZyB0aGUgRmxleCBTREsgdGhlIHJlZmVyZW5jZXMKLXRvIHRoZSBmbGFzaCBhbmQgYWlyIGFydGlmYWN0cyBhcmUgZG9uZSBiYXNlZCB1cG9uIHRoZSBwbGF5ZXJnbG9iYWwuc3djIGFuZCAKLWFpcmdsb2JhbC5zd2MuIFRoZSBHZW5lcmF0b3IgY29tcGFyZXMgdGhlIGNoZWNrc3VtIG9mIHRoZSBmaWxlIGNvbnRhaW5lZCBpbiB0aGUgRkRLCi13aXRoIHRoYXQgb2YgYWxyZWFkeSBkZXBsb3llZCBhcnRpZmFjdHMgKEkgdGhpbmsgaW4gb25lIG9mIHRoZSAzLnggRkRLcyB0aGUgCi0iQUlSIFNESyBSZWFkbWUudHh0IiBzdGF0ZWQgdGhlIHZlcnNpb24gdG8gYmUgYSBkaWZmZXJlbnQgdmVyc2lvbiB0aGFuIGl0IGFjdHVhbGx5IHdhcykuCiAKLVRoZSBGbGFzaCB2ZXJzaW9uIHVzZWQgaXNuJ3QgZGV0ZWN0ZWQgYnkgbG9va2luZyBhdCB0aGUgcGxheWVyZ2xvYmFsLnN3YyBidXQgYnkgaGF2aW5nCi1hIGxvb2sgYXQgdGhlIGNvbnRlbnQgb2YgdGhlIGZpbGUgImZsZXgtY29uZmlnLnhtbCIgaW4gdGhlIGRpcmVjdG9yeSAKLSJ7ZmRrcm9vdH0vZnJhbWV3b3JrcyIuIFVuZm9ydHVuYXRlbHkgSSBjb3VsZG4ndCBmaW5kIGEgc2ltaWxhciByZWZlcmVuY2UgdG8gYSBkZXNpcmVkCi1BSVIgdmVyc2lvbiBpbiBhbnkgb2YgdGhlIGNvbmZpZyBmaWxlcy4KKworR2V0dGluZyB0aGUgbGF0ZXN0IHNvdXJjZXMgdmlhIGdpdAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisgICAgR2V0dGluZyB0aGUgc291cmNlIGNvZGUgaXMgdGhlIHJlY29tbWVuZGVkIHdheSB0byBnZXQgdGhlIEFwYWNoZSBGbGV4IFNESworICAgIENvbnZlcnRlci4KKworICAgIFlvdSBjYW4gYWx3YXlzIGNoZWNrb3V0IHRoZSBsYXRlc3Qgc291cmNlIHZpYSBnaXQgdXNpbmcgdGhlIGZvbGxvd2luZworICAgIGNvbW1hbmQ6CisKKwkgZ2l0IGNsb25lIGh0dHBzOi8vZ2l0LXdpcC11cy5hcGFjaGUub3JnL3JlcG9zL2FzZi9mbGV4LXV0aWxpdGllcy5naXQgZmxleC11dGlsaXRpZXMKKwkgY2QgZmxleC11dGlsaXRpZXMvbWF2ZW5pemVyCisJIGdpdCBjaGVja291dCBkZXZlbG9wCisKK0J1aWxkaW5nIHRoZSBBcGFjaGUgRmxleCBTREsgQ29udmVydGVyCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisgICAgVGhlIEFwYWNoZSBGbGV4IFNESyBDb252ZXJ0ZXIgaXMgYSByZWxhdGl2ZWx5IHNpbXBsZSBwcm9qZWN0LiBJdCByZXF1aXJlcyBzb21lCisgICAgYnVpbGQgdG9vbHMgd2hpY2ggbXVzdCBiZSBpbnN0YWxsZWQgcHJpb3IgdG8gYnVpbGRpbmcgdGhlIGNvbXBpbGVyIGFuZCBpdCBkZXBlbmRzCisgICAgb24gc29tZSBleHRlcm5hbCBzb2Z0d2FyZSB3aGljaCBhcmUgZG93bmxvYWRlZCBhcyBwYXJ0IG9mIHRoZSBidWlsZCBwcm9jZXNzLgorICAgIFNvbWUgb2YgdGhlc2UgaGF2ZSBkaWZmZXJlbnQgbGljZW5zZXMuIFNlZSB0aGUgU29mdHdhcmUgRGVwZW5kZW5jaWVzIHNlY3Rpb24KKyAgICBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgZXh0ZXJuYWwgc29mdHdhcmUgZGVwZW5kZW5jaWVzLgorCitJbnN0YWxsIFByZXJlcXVpc2l0ZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICAgQmVmb3JlIGJ1aWxkaW5nIHRoZSBBcGFjaGUgRmxleCBDb21waWxlciB5b3UgbXVzdCBpbnN0YWxsIHRoZSBmb2xsb3dpbmcgc29mdHdhcmUKKyAgICBhbmQgc2V0IHRoZSBjb3JyZXNwb25kaW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyB1c2luZyBhYnNvbHV0ZSBmaWxlIHBhdGhzLgorICAgIFJlbGF0aXZlIGZpbGUgcGF0aHMgd2lsbCByZXN1bHQgaW4gYnVpbGQgZXJyb3JzLgorCisgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgIFNPRlRXQVJFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRU5WSVJPTk1FTlQgVkFSSUFCTEUgKGFic29sdXRlIHBhdGhzKQorICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworICAgIEphdmEgU0RLIDEuNiBvciBncmVhdGVyICgqMSkgICAgICAgICAgICAgICAgSkFWQV9IT01FCisKKyAgICBNYXZlbiAzLjEuMCBvciBncmVhdGVyICgqMSkgICAgICAgICAgICAgICAgIE1BVkVOX0hPTUUKKworICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworICAgICoxKSBUaGUgYmluIGRpcmVjdG9yaWVzIGZvciBNQVZFTl9IT01FIGFuZCBKQVZBX0hPTUUgc2hvdWxkIGJlIGFkZGVkIHRvIHlvdXIKKyAgICAgICAgUEFUSC4KKworICAgICAgICBPbiBXaW5kb3dzLCBzZXQgUEFUSCB0bworCisgICAgICAgICAgICBQQVRIPSVQQVRIJTslTUFWRU5fSE9NRSVcYmluOyVKQVZBX0hPTUUlXGJpbgorCisgICAgICAgIE9uIHRoZSBNYWMgKGJhc2gpLCBzZXQgUEFUSCB0bworCisgICAgICAgICAgICBleHBvcnQgUEFUSD0iJFBBVEg6JE1BVkVOX0hPTUUvYmluOiRKQVZBX0hPTUUvYmluIgorCisgICAgICAgICBPbiBMaW51eCBtYWtlIHN1cmUgeW91IHBhdGggaW5jbHVkZSBNQVZFTl9IT01FIGFuZCBKQVZBX0hPTUUuCisKK1NvZnR3YXJlIERlcGVuZGVuY2llcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyAgICBUaGUgQXBhY2hlIEZsZXggU0RLIENvbnZlcnRlciB1c2VzIHRoaXJkLXBhcnR5IGNvZGUgdGhhdCB3aWxsIGJlIGRvd25sb2FkZWQgYXMKKyAgICBwYXJ0IG9mIHRoZSBidWlsZC4KKworICAgIFRoZSBBcGFjaGUgVmVyc2lvbiAyLjAgbGljZW5zZSBpcyBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisgICAgVGhlIGZvbGxvd2luZyBkZXBlbmRlbmNpZXMgaGF2ZSBsaWNlbnNlcyB3aGljaCBhcmUsIG9yIGFyZSBjb21wYXRpYmxlIHdpdGgsCisgICAgdGhlIEFwYWNoZSBWZXJzaW9uIDIuMCBsaWNlbnNlLiAgWW91IHdpbGwgbm90IGJlIHByb21wdGVkIHRvIGFja25vd2xlZGdlIHRoZQorICAgIGRvd25sb2FkLiAgTW9zdCBvZiB0aGUgamFycyBhcmUgaW5zdGFsbGVkIGluIHlvdXIgbWF2ZW4gbG9jYWwgcmVwb3NpdG9yeSBhbmQKKyAgICBhcmUgaW5jbHVkZWQgaW4gdGhlIGFzc2VtYmx5IGphcnMuCisKK1RPRE86IEFkZCB0aGVtIGFsbCBoZXJlIC4uLgorCitCdWlsZGluZyB0aGUgU291cmNlIGluIHRoZSBTb3VyY2UgRGlzdHJpYnV0aW9uCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyAgICBUaGUgcHJvamVjdCBpcyBidWlsdCB3aXRoIEFwYWNoZSBNYXZlbiBzbyBmb3IgYSByZWZlcmVuY2UgdG8gTWF2ZW4gY29tbWFuZHMKKyAgICBwbGVhc2UgaGF2ZSBhIGxvb2sgYXQgdGhlIE1hdmVuIGRvY3VtZW50YXRpb24uCisKKyAgICBXaGVuIHlvdSBoYXZlIGFsbCB0aGUgcHJlcmVxdWlzaXRlcyBpbiBwbGFjZSBhbmQgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcworICAgIHNldCAoc2VlIEluc3RhbGwgUHJlcmVxdWlzaXRlcyBhYm92ZSkgdXNlCisKKyAgICAgICAgY2QgPG1hdmVuaXplci5kaXI+CisgICAgICAgIG12biBpbnN0YWxsCisKKyAgICB0byBkb3dubG9hZCB0aGUgdGhpcmRwYXJ0eSBkZXBlbmRlbmNpZXMgYW5kIGJ1aWxkIHRoZSBiaW5hcnkgZnJvbSB0aGUgc291cmNlLgorCisgICAgVG8gY2xlYW4gdGhlIGJ1aWxkLCBvZiBldmVyeXRoaW5nIG90aGVyIHRoYW4gdGhlIGRvd25sb2FkZWQgdGhpcmQtcGFydHkKKyAgICBkZXBlbmRlbmNpZXMgdXNlCisKKyAgICAgICAgbXZuIGNsZWFuCisKKyAgICBUaGUgcGFja2FnZXMgY2FuIGJlIGZvdW5kIGluIHRoZSAidGFyZ2V0IiBzdWJkaXJlY3Rvcmllcy4KKworICAgIFRoZSBwYXJ0aWN1bGFybHkgaW50ZXJlc3Rpbmcgb25lIGlzIHRoZSBTdGFuZGFsb25lIENvbW1hbmQgTGluZSBJbnRlcmZhY2U6CisgICAgLSBjbGkvdGFyZ2V0L2FwYWNoZS1mbGV4LXNkay1jb252ZXJ0ZXItMS4wLjAtU05BUFNIT1QuamFyCisKKworCitVc2luZyB0aGUgQXBhY2hlIEZsZXggU0RLIENvbnZlcnRlcgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworCVRoZSBDTEkgKENvbW1hbmQgTGluZSBJbnRlcmZhY2UpIGFsbG93cyB0aGUgQXBhY2hlIEZsZXggU0RLIENvbnZlcnRlcgorCXRvIGJlIGV4ZWN1dGVkIGZyb20gdGhlIGNvbW1hbmQtbGluZS4gQXNzdW1pbmcgdGhlIEphdmEgZXhlY3V0YWJsZSBpcworCWF2YWlsYWJsZSBvbiB0aGUgY3VycmVudCBzeXN0ZW1zIHBhdGgsIGl0IGNhbiBiZSBjYWxsZWQgdXNpbmc6CisKKyAJY2QgPG1hdmVuaXplci5kaXI+L2NsaS90YXJnZXQKKwlqYXZhIC1qYXIgYXBhY2hlLWZsZXgtc2RrLWNvbnZlcnRlci0xLjAuMC1TTkFQU0hPVC5qYXIKKworCUlmIGV4ZWN1dGVkIHdpdGhvdXQgYW55IGNvbW1hbmQsIGl0IHdpbGwgb3V0cHV0IGEgbGlzdCBvZiBjb21tYW5kcyBhbmQKKwlhdmFpbGFibGUgcHJvcGVydGllcy4KKworCUluIGdlbmVyYWwgaXQgaXMgYWJsZSB0byBwZXJmb3JtIDQgZGlmZmVyZW50IGNvbW1hbmRzOgorCisJLSBoZWxwCQlQcmludHMgYSBsaXN0IG9mIGFsbCBjb21tYW5kcyBhbmQgb3B0aW9ucyBhdmFpbGFibGUuCisJLSBsaXN0ICAgICAJTGlzdHMgYWxsIHZlcnNpb25zIGFuZCBwbGF0Zm9ybXMgYXZhaWxhYmxlIGZvciBkb3dubG9hZAorCS0gZG93bmxvYWQgIERvd25sb2FkcyBzZWxlY3RlZCB2ZXJzaW9ucyBhbmQgYXNzZW1ibGVzIGFuIEZESworCS0gY29udmVydCAgIENvbnZlcnRzIGEgcHJldmlvdXNseSBpbnN0YWxsZWQgKHVzaW5nIHRoZSBpbnN0YWxsZXIpIG9yCisJCQkJYXNzZW1ibGVkICh1c2luZyBkb3dubG9hZCBjb21tYW5kKSBGREsgaW50byBhIG1hdmVuaXplZCBmb3JtLgorCS0gZGVwbG95ICAgIFVwbG9hZHMgcHJldmlvdXNseSBjcmVhdGVkIG1hdmVuIGFydGlmYWN0cyB0byBhIHJlbW90ZSByZXBvc2l0b3J5LgorCitTb21lIHR5cGljYWwgdXNhZ2Ugc2NlbmFyaW9zCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKwktIENyZWF0ZSBhIG1hdmVuaXplZCB2ZXJzaW9uIG9mIGEgcHJldmlvdXNseSBpbnN0YWxsZWQgRkRLIChVc2luZyB0aGUgaW5zdGFsbGVyKToKKwkgICAJIi4uLiAtZmRrRGlyIDxGREsgaW5zdGFsbCBkaXI+IC1tYXZlbkRpciA8bWF2ZW4gbG9jYWwgcmVwbz4gY29udmVydCIKKworCS0gRG93bmxvYWQgYW5kIGNyZWF0ZSBhbiBGREsgKEZsZXggNC4xNC4xIHdpdGggcGxheWVyZ2xvYmFsIDE3LjAgYW5kIDE2LjAKKwkJQUlSIFNESyAxNy4wIGZvciBXaW5kb3dzIGFuZCBNYWMgYW5kIHRoZSBmb250a2l0IGxpYnMpOgorICAgCQkiLi4uIC1mZGtEaXIgPEZESyB0YXJnZXQgZGlyPiAtZmxleFZlcnNpb24gNC4xNC4xIC1mbGFzaFZlcnNpb25zIDE3LjAsMTYuMCBcCisgICAJCQktYWlyVmVyc2lvbiAxNy4wIC1wbGF0Zm9ybSBXSU5ET1dTLE1BQyAtZm9udGtpdCBkb3dubG9hZCIKKworCS0gRG93bmxvYWQgYW5kIGNvbnZlcnQgYW4gRkRLIChGREsgYXNzZW1ibGVkIGluIHRlbXAgZGlyZWN0b3J5IHVzaW5nIEFpciBmb3IKKwkJY3VycmVudCBzeXN0ZW1zIHBsYXRmb3JtIG9ubHkpOgorICAgCQkiLi4uIC1mbGV4VmVyc2lvbiA0LjE0LjEgLWZsYXNoVmVyc2lvbnMgMTcuMCAtYWlyVmVyc2lvbiAxNy4wIC1mb250a2l0IFwKKyAgIAkJCS1tYXZlbkRpciA8bWF2ZW4gbG9jYWwgcmVwbz4gZG93bmxvYWQgY29udmVydCIKKworCS0gRGVwbG95IGEgYnVuY2ggb2YgbWF2ZW4gYXJ0aWZhY3RzIHRvIGEgcmVtb3RlIG1hdmVuIHJlcG9zaXRvcnk6CisgICAJCSIuLi4gLW1hdmVuRGlyIDxkaXIgd2l0aCBtYXZlbiBhcnRpZmFjdHM+IC1yZXBvVXJsIDx1cmw+IFwKKyAgIAkJCS1yZXBvVXNlcm5hbWUgPHVzZXJuYW1lPiAtcmVwb1Bhc3N3b3JkIDxwYXN3b3JkPiBkZXBsb3kiCisKKwktICJUaGUgd29ya3MiOiBEb3dubG9hZCwgQ29udmVydCBhbmQgRGVwbG95IHVzaW5nIG9ubHkgdGVtcCBkaXJlY3RvcmllczoKKyAgIAkJIi4uLiAtZmxleFZlcnNpb24gNC4xNC4xIC1mbGFzaFZlcnNpb25zIDE3LjAgLWFpclZlcnNpb24gMTcuMCAtZm9udGtpdCBcCisgICAJCQktcmVwb1VybCA8dXJsPiAtcmVwb1VzZXJuYW1lIDx1c2VybmFtZT4gLXJlcG9QYXNzd29yZCA8cGFzd29yZD4gXAorICAgCQkJZG93bmxvYWQgY29udmVydCBkZXBsb3kiCisKKworVGhhbmtzIGZvciB1c2luZyBBcGFjaGUgRmxleC4gIEVuam95IQorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgQXBhY2hlIEZsZXggUHJvamVjdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGh0dHA6Ly9mbGV4LmFwYWNoZS5vcmc+CisKKworCisKIAogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0JCQkJCQkJCSEhISBXQVJOSU5HICEhIQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi1JIHdvdWxkIHN1Z2dlc3Qgbm90IHRvIGdlbmVyYXRlIHRoZSBhcnRpZmFjdHMgaW50byB5b3VyIGxvY2FsIHJlcG8gZGlyZWN0bHksIGJ1dAotdG8gZ2VuZXJhdGUgaXQgdG8gYW4gZW1wdHkgZGlyZWN0b3J5IGFuZCB0aGVuIG1vdmUgaXQgZnJvbSB0aGVyZS4KK1NvbWUgaW5mb3JtYXRpb24gKEhPV1RPKSB0byBnbyB3aXRoIHRoZSBkZXBsb3llciBhcnRpZmFjdHMKIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAKLUhlcmUgY29tZSB0aGUgc3RlcHMgbmVlZGVkIHRvIGJ1aWxkIHRoZSBHZW5lcmF0b3IgKEFzc3VtaW5nIHlvdSBhbHJlYWR5IGhhdmUgYSB3b3JraW5nCi1NYXZlbiBpbnN0YWxsYXRpb24pCitUaGUgZGVwbG95ZXJzIGFyZSBzZXBhcmF0ZSBtb2R1bGVzLiBDdXJyZW50bHkgdHdvIGltcGxlbWVudGF0aW9ucyBleGlzdC4KKzEuIFRoZSBNYXZlbiBkZXBsb3llciAobG9jYXRlZCBpbiBkZXBsb3llcnMvbWF2ZW4vdGFyZ2V0L21hdmVuLWRlcGxveWVyLTEuMC4wLWZ1bGwuamFyKQorMi4gVGhlIEFldGhlciBkZXBsb3llciAobG9jYXRlZCBpbiBkZXBsb3llcnMvYWV0aGVyL3RhcmdldC9hZXRoZXItZGVwbG95ZXItMS4wLjAtZnVsbC5qYXIpCiAKLTEuIENoZWNrb3V0IHRoZSBjb2RlIChUaGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHBvbS54bWwgSSB3aWxsIGNhbGwge2hvbWV9IGZyb20gbm93IG9uKQotMi4gR28gdG8gdGhlIGRpcmVjdG9yeSB7aG9tZX0KLTMuIEV4ZWN1dGUgIm12biBwYWNrYWdlIgorVGhlIE1hdmVuLURlcGxveWVyIGV4cGVjdHMgTWF2ZW4gdG8gYmUgaW5zdGFsbGVkIG9uIHlvdXIgc3lzdGVtIGFuZCBpc3N1ZXMgYSBzZXQgb2YKK2NvbW1hbmRsaW5lIGNvbW1hbmRzIGluIG9yZGVyIHRvIGRlcGxveSB0aGUgYXJ0aWZhY3RzLiBUaGlzIGlzIHRoZSBzYWZlc3QgYXBwcm9hY2ggaWYgeW91CitoYXZlbiBhbnkgc3BlY2lhbCBzZXR0aW5ncyB0aGF0IG5lZWQgdG8gYmUgaGFuZGxlZCBpbiBvcmRlciB0byBkZXBsb3kgdGhlIGFydGlmYWN0cy4KIAotWW91IHNob3VsZCBub3cgaGF2ZSBhIGphciBmaWxlIGNhbGxlZCBmbGV4LXNkay1jb252ZXJ0ZXItMS4wLmphciBpbiB5b3VyIHtob21lfS90YXJnZXQKLWRpcmVjdG9yeS4KK1RoZSBBZXRoZXItRGVwbHlvZXIgdXNlcyB0aGUgTWF2ZW4tSW50ZXJuYWwgYWV0aGVyIGxpYnJhcmllcyB0byBkZXBsb3kgdGhlIGFydGlmYWN0cyBmcm9tCit3aXRoaW4gdGhlIHJ1bm5pbmcgSlZNLiBUaGlzIG1ha2VzIHRoaXMgYXBwcm9hY2ggYSBsb3QgZmFzdGVyIHRoYW4gdGhlIE1hdmVuLURlcGxveWVyLgogCi1Vc2luZyB0aGUgZ2VuZXJhdG9yOgorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KK1VzYWdlIGZvciB0aGUgTWF2ZW4gRGVwbG95ZXI6CisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogCi0xLiBQcmVwYXJlIHRoZSBzb3VyY2UgZGlyZWN0b3J5OgotCWEpIENyZWF0ZSBhIGRpcmVjdG9yeSBhbnl3aGVyZSAoSSB3aWxsIGNhbGwgaXQge3Nka2hvbWV9IGZyb20gbm93IG9uKS4KLQliKSBDcmVhdGUgYSBkaXJlY3Rvcnkge3Nka2hvbWV9L2FpciAob3B0aW9uYWxseSBpZiB5b3Ugd2FudCB0byBkZXBsb3kgQWlyIFNES3MpLgotCQlJKSBDb3B5IHRoZSBBSVIgU0RLIGFyY2hpdmVzIHlvdSBkb3dubG9hZGVkIGludG8ge3Nka2hvbWV9L2FpciAKLQkJSUkpIFVucGFjayB0aGUgYXJjaGl2ZXMgaW4gdGhhdCBkaXJlY3RvcnksIHNvIHRoZSBwYXRoIHRvIHRoZSAiQUlSIFNESyBSZWFkbWUudHh0IgotCQkgICAgaXMgYXMgZm9sbG93cyAie3Nka2hvbWV9L2Fpci9BZG9iZUFJUlNESy17QWlydmVyc2lvbn0te0FpcnBsYXRmb3JtfS9BSVIgU0RLIFJlYWRtZS50eHQiCi0JCQkoQWN0dWFsbHkgdGhlIG5hbWUgb2YgdGhlICJBZG9iZUFJUlNESy0qIiBkaXJlY3RvcnkgZG9lc24ndCBtYXR0ZXIsIGl0J3MganVzdCBpbXBvcnRhbnQKLQkJCWZvciB0aGUgc2VxdWVuY2UgaW4gd2hpY2ggdGhlIGFydGlmYWN0cyBhcmUgZ2VuZXJhdGVkKQotCWMpIENyZWF0ZSBhIGRpcmVjdG9yeSB7c2RraG9tZX0vZmxleCAob3B0aW9uYWxseSBpZiB5b3Ugd2FudCB0byBkZXBsb3kgRmxleCBTREtzKS4KLQkJSSkgQ29weSB0aGUgRmxleCBTREsgYXJjaGl2ZXMgeW91IGRvd25sb2FkZWQgaW50byB7c2RraG9tZX0vZmxleAotCQlJSSkgVW5wYWNrIHRoZSBhcmNoaXZlZCBpbiB0aGF0IGRpcmVjdG9yeSwgc28gdGhlIHBhdGggdG8gdGhlICJmbGV4LXNkay1kZXNjcmlwdGlvbi54bWwiCi0JCSAgICBpcyBhcyBmb2xsb3dzICJ7c2RraG9tZX0vZmxleC9mbGV4X3Nka197RmxleHZlcnNpb259L2ZsZXgtc2RrLWRlc2NyaXB0aW9uLnhtbCIKLQkJCShBY3R1YWxseSB0aGUgbmFtZSBvZiB0aGUgImZsZXhfc2RrXyoiIGRpcmVjdG9yeSBkb2Vzbid0IG1hdHRlciwgaXQncyBqdXN0IGltcG9ydGFudAotCQkJZm9yIHRoZSBzZXF1ZW5jZSBpbiB3aGljaCB0aGUgYXJ0aWZhY3RzIGFyZSBnZW5lcmF0ZWQpCi0JZCkgQ3JlYXRlIGEgZGlyZWN0b3J5IGFueXdoZXJlIHdoaWNoIHdpbGwgY29udGFpbiB0aGUgb3V0cHV0IChJIHdpbGwgY2FsbCBpdCB7ZmRrdGFyZ2V0fSAKLQkgICBmcm9tIG5vdyBvbikKLQllKSBDaGFuZ2UgdG8gdGhlIGRpcmVjdG9yeSB7aG9tZX0KLQlmKSBFeGVjdXRlIHRoZSBmb2xsb3dpbmcgY29tbWFuZDogImphdmEgLWNwIHRhcmdldC9mbGV4LXNkay1jb252ZXJ0ZXItMS4wLmphciBTREtHZW5lcmF0b3IgIntzZGtob21lfSIgIntmZGt0YXJnZXR9IiIKLQkgICAoWW91IHNob3VsZCB3cmFwIHRoZSBib3RoIGRpcmVjdG9yeSBuYW1lcyBpbiBkb3VibGUtcXVvdGVzIGlmIHRoZXkgY29udGFpbiBzcGFjZXMpCitqYXZhIC1jcCB7aG9tZX0vZGVwbG95ZXJzL21hdmVuL3RhcmdldC9tYXZlbi1kZXBsb3llci0xLjAuMC1mdWxsLmphciAiZGlyZWN0b3J5IiAicmVwb3NpdG9yeUlkIiAidXJsIiAibXZuIgogCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotU29tZSBub3RlcyB0byB0aGluZ3MgSSBub3RpY2VkIGluIGRlYWxpbmcgd2l0aCBzb21lIG9mIHRoZSBTREtzCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotCSAgIAotRmxleCBTREsgMi4wOgotLSBWZXJzaW9uIGlzIHN0cmFuZ2UgIjMuMCBNb3hpZSBNMi4xODA5MjciLiBIYXMgdG8gYmUgY2hhbmdlZCB0byAyLjAuMS4xODA5MjcgaW4gZmxleC1zZGstZGVzY3JpcHRpb24ueG1sIAotCi1XaXRoIHRoZSBmaXJzdCB0aHJlZSBGbGV4IFNES3MgKDMuMC4wLjQ3N0EsIDMuMC4xLjE3MzJBIGFuZCAzLjIuMC4zOTU4QSkgSSBkaWQgaGF2ZSBzb21lIAotdHJvdWJsZSBmaW5kaW5nIG91dCB0aGUgQUlSIHZlcnNpb24gYXMgd2VsbCBhcyB0aGUgYmluYXJ5IGFydGlmYWN0cy4gVGhlIHNpemVzIGFuZCAKLWNoZWNrc3VtcyBvZiB0aGUgYWlyZ2xvYmFsLnN3YyBkaWRudCBtYXRjaCBhbnkgb2YgdGhlIG9mZmljaWFsIEFJUiBhcnRpZmFjdHMgYW5kIHRoZSBhZGwgCi1jb21tYW5kIGRpZG4ndCBvdXRwdXQgYSB2ZXJzaW9uLiBDdXJyZW50bHkgd2l0aG91dCB0d2Vha2luZyB0aGVzZSBGREtzIGFyZSBnZW5lcmF0ZWQgCi13aXRob3V0IHdvcmtpbmcgQUlSIHN1cHBvcnQuCi1JZiBob3dldmVyIHlvdSBuZWVkIG9uZSBvZiB0aGVzZSBGREtzIHlvdSBjYW4gc2ltcGx5IG1ha2UgdGhlIGdlbmVyYXRvciB1c2UgdGhlIGFpciAKLXZlcnNpb24geW91IHdhbnQsIGJ5IGNvcHlpbmcgdGhlIGFpcmdsb2JhbC5zd2Mgb2YgdGhlIHZlcnNpb24geW91IHdhbnQgdG8gdXNlIGludG8gdGhlCi1kaXJlY3RvcnkgIntmZGtyb290fS9mcmFtZXdvcmtzL2xpYnMvYWlyIiBhc3N1bWluZyB5b3UgaGF2ZSBkZXBsb3llZCBhbnkgRkRLIG9yIEFpciBTREsgCi1jb250YWluaW5nIHRoYXQgdmVyc2lvbiBvZiBhaXJnbG9iYWwsIHRoZSBnZW5lcmF0b3Igd2lsbCBjb3JyZWN0bHkgYWRkIGRlcGVuZGVuY2llcyB0bwotdGhhdCBBSVIgdmVyc2lvbi4KLQotRmxleCA0LjguMC4xMzU5NDE3OgotLSBOZWVkcyBhICJwbGF5ZXIiIGRpcmVjdG9yeSBpbiAiZnJhbWV3b3JrIiBpbiBvcmRlciB0byBleGVjdXRlIGNvbXBjIChDb3B5IGZyb20gRmxleCA0LjYuMCkuCi0tIE5lZWRzIGFsbCB0aGUgZGVwZW5kZW5jaWVzIGluIHBsYWNlICJ0ZXh0bGF5b3V0IiwgIm9zbWYiIGFuZCB0aGUgc3R1ZmYgdGhhdCBuZWVkcyB0bwotICBiZSBjb3BpZWQgaW50byB0aGUgIntmZGtyb290fS9saWIvZXh0ZXJuYWwiIGFuZCAie2Zka3Jvb3R9L2xpYi9leHRlcm5hbC9vcHRpb25hbCIgCi0gIGRpcmVjdG9yaWVzLiBGb3IgbW9yZSBpbnN0cnVjdGlvbnMgb24gdGhpcywgcGxlYXNlIHJlYWQgdGhlIFJFQURNRS50eHQgaW4gdGhlIHJvb3Qgb2YKLSAgWW91ciBGREsuCi0tIE5lZWRzIHRvIGRldGVjdCB0aGUgQUlSIHZlcnNpb24gdGhlIEZESyBpcyBjb21wYXRpYmxlIHdpdGgsIHRoaXMgaXMgY3VycmVudGx5IGRldGVybWluZWQgCi0gIGJ5IGNoZWNraW5nIHRoZSB2ZXJzaW9uIG9mIHRoZSBhaXJnbG9iYWwuc3djIGluIHRoZSBmcmFtZXdvcmsvbGlicy9haXIvYWlyZ2xvYmFsLnN3Yy4gCi0gIFNpbXBseSBjb3B5IHRoaXMgZnJvbSB0aGUgNC42IEZESwotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotU29tZSBvZiB0aGUgdXJscyB0byBhY2Nlc3MgdGhlIGJpbmFyeSBkaXN0cmlidXRpb25zOiAgCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotICAKLUFJUiBTREtzIChGcm9tIEFkb2JlKTogIAotaHR0cDovL2hlbHB4LmFkb2JlLmNvbS9haXIva2IvYXJjaGl2ZWQtYWlyLXNkay12ZXJzaW9uLmh0bWwKLQotRmxleCBTREtzIChGcm9tIEFkb2JlKToKLShVbmZvcnR1bmF0ZWx5IHRoZSBwYWdlIHNlZW1zIG1lc3NlZC11cCwgYnV0IHlvdSBjYW4gZ2V0IHRoZSBVUkxzIGZyb20gdGhlcmUpCi1odHRwOi8vc291cmNlZm9yZ2UubmV0L2Fkb2JlL2ZsZXhzZGsvd2lraS9kb3dubG9hZHMvCi0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi1Tb21lIGluZm9ybWF0aW9uIChIT1dUTykgdG8gZ28gd2l0aCB0aGUgTWF2ZW5EZXBsb3llcgotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLQotVGhlIE1hdmVuRGVwbG95ZXIgYWxsb3dzIHlvdSB0byBkZXBsb3kgYW55IG1hdmVuIHN0cnVjdHVyZWQgZGlyZWN0b3J5IHRvIGEgcmVtb3RlIG1hdmVuCi1yZXBvc2l0b3J5IGFzIHNvb24gYXMgeW91J3ZlIGdvdCB0aGUgcmVtb3RlIHJpZ2h0cy4KLQotVXNhZ2U6Ci1qYXZhIC1jcCBmbGV4LXNkay1jb252ZXJ0ZXItMS4wLmphciBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5kZXBsb3llci5tYXZlbi5NYXZlbkRlcGxveWVyICJkaXJlY3RvcnkiICJyZXBvc2l0b3J5SWQiICJ1cmwiICJtdm4iCi0KLVRoZSBNYXZlbkRlcGxveWVyIG5lZWRzIDQgb3JkZXJlZCBwYXJhbWV0ZXJzIHNlcGFyYXRlZCBieSBzcGFjZXM6CitUaGUgTWF2ZW4tRGVwbG95ZXIgbmVlZHMgNCBvcmRlcmVkIHBhcmFtZXRlcnMgc2VwYXJhdGVkIGJ5IHNwYWNlczoKICAgICAxLSBkaXJlY3Rvcnk6IFRoZSBwYXRoIHRvIHRoZSBkaXJlY3RvcnkgdG8gZGVwbG95LgogICAgIDItIHJlcG9zaXRvcnlJZDogU2VydmVyIElkIHRvIG1hcCBvbiB0aGUgPGlkPiB1bmRlciA8c2VydmVyPiBzZWN0aW9uIG9mIHNldHRpbmdzLnhtbC4KICAgICAzLSB1cmw6IFVSTCB3aGVyZSB0aGUgYXJ0aWZhY3RzIHdpbGwgYmUgZGVwbG95ZWQuCiAgICAgNC0gbXZuOiBUaGUgcGF0aCB0byB0aGUgbXZuLmJhdCAvIG12bi5zaC4KKworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KK1VzYWdlIGZvciB0aGUgTWF2ZW4gRGVwbG95ZXI6CisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCitqYXZhIC1jcCB7aG9tZX0vZGVwbG95ZXJzL2FldGhlci90YXJnZXQvbWF2ZW4tYWV0aGVyLTEuMC4wLWZ1bGwuamFyICJkaXJlY3RvcnkiICJ1cmwiIFsidXNlcm5hbWUiICJwYXNzd29yZF0KKworVGhlIEFldGhlci1EZXBsb3llciBuZWVkcyAyIG9yZGVyZWQgcGFyYW1ldGVycyBzZXBhcmF0ZWQgYnkgc3BhY2VzOgorICAgIDEtIGRpcmVjdG9yeTogVGhlIHBhdGggdG8gdGhlIGRpcmVjdG9yeSB0byBkZXBsb3kuCisgICAgMi0gdXJsOiBVUkwgd2hlcmUgdGhlIGFydGlmYWN0cyB3aWxsIGJlIGRlcGxveWVkLgorT3B0aW9uYWxseSB5b3UgY2FuIHByb3ZpZGUgdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCB0aGF0IGlzIHVzZWQgZm9yIGRlcGxveWluZyBhcnRpZmFjdHMuCisgICAgMy0gdXNlcm5hbWU6IFRoZSB1c2VybmFtZSBuZWVkZWQgdG8gbG9nLWluIHRvIHRoZSByZW1vdGUgcmVwb3NpdG9yeS4KKyAgICA0LSBwYXNzd29yZDogVGhlIHBhc3N3b3JkIG5lZWRlZCB0byBsb2ctaW4gdG8gdGhlIHJlbW90ZSByZXBvc2l0b3J5LgorCisKZGlmZiAtLWdpdCBhL21hdmVuaXplci9SRUxFQVNFX05PVEVTIGIvbWF2ZW5pemVyL1JFTEVBU0VfTk9URVMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDUxZmQ5NgotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuaXplci9SRUxFQVNFX05PVEVTCkBAIC0wLDAgKzEsMTkgQEAKK0FwYWNoZSBGbGV4IE1hdmVuaXplciAxLjAuMAorPT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK0FwYWNoZSBGbGV4IE1hdmVuaXplciAxLjAuMCBpcyB0aGUgZmlyc3QgcmVsZWFzZSBvZiBhIHRvb2wgYWxsb3dpbmcsIGF1dG9tYXRpbmcKK3RoZSBjb252ZXJzaW9uIG9mIEFwYWNoZSBGbGV4IEZES3MgaW50byBNYXZlbiBhcnRpZmFjdHMgdGhhdCBjYW4gYmUgdXNlZCBieQorRmxleE1vam9zIHRvIGJ1aWxkIEFwYWNoZSBGbGV4IGFwcGxpY2F0aW9uIHVzaW5nIE1hdmVuLgorCitLbm93biBJc3N1ZXMKK19fX19fX19fX19fX18KKworQ3VycmVudGx5IE5vbmUuCisKKworUGxlYXNlIHJlcG9ydCBuZXcgaXNzdWVzIHRvIG91ciBidWcgdHJhY2tlciBhdDoKKworICAgIGh0dHBzOi8vaXNzdWVzLmFwYWNoZS5vcmcvamlyYS9icm93c2UvRkxFWAorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgQXBhY2hlIEZsZXggUHJvamVjdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGh0dHA6Ly9mbGV4LmFwYWNoZS5vcmcvPgpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL2NvcmUvcG9tLnhtbCBiL21hdmVuaXplci9jbGkvcG9tLnhtbApzaW1pbGFyaXR5IGluZGV4IDcxJQpyZW5hbWUgZnJvbSBtYXZlbml6ZXIvY29yZS9wb20ueG1sCnJlbmFtZSB0byBtYXZlbml6ZXIvY2xpL3BvbS54bWwKaW5kZXggZDhmMDZkMC4uNWE3NDQ5YSAxMDA2NDQKLS0tIGEvbWF2ZW5pemVyL2NvcmUvcG9tLnhtbAorKysgYi9tYXZlbml6ZXIvY2xpL3BvbS54bWwKQEAgLTE3LDE4ICsxNywxNiBAQAogICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KIAogLS0+Ci08cHJvamVjdCB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIgotICAgICAgICAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKLSAgICAgICAgIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54c2QiPgorPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAgaHR0cDovL21hdmVuLmFwYWNoZS5vcmcveHNkL21hdmVuLTQuMC4wLnhzZCI+CiAgICAgPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgogCiAgICAgPHBhcmVudD4KICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXI8L2dyb3VwSWQ+Ci0gICAgICAgIDxhcnRpZmFjdElkPmZsZXgtc2RrLWNvbnZlcnRlcjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgPGFydGlmYWN0SWQ+YXBhY2hlLWZsZXgtc2RrLWNvbnZlcnRlcjwvYXJ0aWZhY3RJZD4KICAgICAgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CiAgICAgPC9wYXJlbnQ+CiAKLSAgICA8YXJ0aWZhY3RJZD5jb3JlPC9hcnRpZmFjdElkPgorICAgIDxhcnRpZmFjdElkPmNsaTwvYXJ0aWZhY3RJZD4KICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KICAgICA8cGFja2FnaW5nPmphcjwvcGFja2FnaW5nPgogCkBAIC00Miw3ICs0MCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICA8bWFuaWZlc3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFkZERlZmF1bHRJbXBsZW1lbnRhdGlvbkVudHJpZXM+dHJ1ZTwvYWRkRGVmYXVsdEltcGxlbWVudGF0aW9uRW50cmllcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWRkQ2xhc3NwYXRoPnRydWU8L2FkZENsYXNzcGF0aD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFpbkNsYXNzPm9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyLmNvcmUuU2RrQ29udmVydGVyPC9tYWluQ2xhc3M+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1haW5DbGFzcz5vcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5jb3JlLlNka0NvbnZlcnRlckNMSTwvbWFpbkNsYXNzPgogICAgICAgICAgICAgICAgICAgICAgICAgPC9tYW5pZmVzdD4KICAgICAgICAgICAgICAgICAgICAgICAgIDxtYW5pZmVzdEVudHJpZXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEltcGxlbWVudGF0aW9uLUJ1aWxkPiR7cHJvamVjdC52ZXJzaW9ufTwvSW1wbGVtZW50YXRpb24tQnVpbGQ+CkBAIC01MSw3ICs0OSw3IEBACiAgICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdG9yUmVmcz4KICAgICAgICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdG9yUmVmPmphci13aXRoLWRlcGVuZGVuY2llczwvZGVzY3JpcHRvclJlZj4KICAgICAgICAgICAgICAgICAgICAgPC9kZXNjcmlwdG9yUmVmcz4KLSAgICAgICAgICAgICAgICAgICAgPGZpbmFsTmFtZT5mbGV4LXNkay1jb252ZXJ0ZXItJHtwcm9qZWN0LnZlcnNpb259PC9maW5hbE5hbWU+CisgICAgICAgICAgICAgICAgICAgIDxmaW5hbE5hbWU+YXBhY2hlLWZsZXgtc2RrLWNvbnZlcnRlci0ke3Byb2plY3QudmVyc2lvbn08L2ZpbmFsTmFtZT4KICAgICAgICAgICAgICAgICAgICAgPGFwcGVuZEFzc2VtYmx5SWQ+ZmFsc2U8L2FwcGVuZEFzc2VtYmx5SWQ+CiAgICAgICAgICAgICAgICAgPC9jb25maWd1cmF0aW9uPgogICAgICAgICAgICAgICAgIDxleGVjdXRpb25zPgpAQCAtNjksMTQgKzY3LDM1IEBACiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgICAgPGRlcGVuZGVuY3k+CiAgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlcjwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPmRvd25sb2FkLXJldHJpZXZlcjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgICAgICA8L2RlcGVuZGVuY3k+CisgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXI8L2dyb3VwSWQ+CiAgICAgICAgICAgICA8YXJ0aWZhY3RJZD5mbGV4LWNvbnZlcnRlcjwvYXJ0aWZhY3RJZD4KICAgICAgICAgICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgogICAgICAgICA8L2RlcGVuZGVuY3k+CiAgICAgICAgIDxkZXBlbmRlbmN5PgogICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXI8L2dyb3VwSWQ+Ci0gICAgICAgICAgICA8YXJ0aWZhY3RJZD5kb3dubG9hZC1yZXRyaWV2ZXI8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5hZXRoZXItZGVwbG95ZXI8L2FydGlmYWN0SWQ+CiAgICAgICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KICAgICAgICAgPC9kZXBlbmRlbmN5PgorCisgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGdyb3VwSWQ+Y29tbW9ucy1jbGk8L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5jb21tb25zLWNsaTwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjEuMjwvdmVyc2lvbj4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuY29tbW9uczwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPmNvbW1vbnMtbGFuZzM8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4zLjMuMjwvdmVyc2lvbj4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPm9yZy5zbGY0ajwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPnNsZjRqLXNpbXBsZTwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjEuNy43PC92ZXJzaW9uPgorICAgICAgICA8L2RlcGVuZGVuY3k+CiAgICAgPC9kZXBlbmRlbmNpZXM+CiAKIDwvcHJvamVjdD4KZGlmZiAtLWdpdCBhL21hdmVuaXplci9jbGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvdXRpbGl0aWVzL2NvbnZlcnRlci9jb3JlL1Nka0NvbnZlcnRlckNMSS5qYXZhIGIvbWF2ZW5pemVyL2NsaS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL2NvcmUvU2RrQ29udmVydGVyQ0xJLmphdmEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE4ZGQ3MAotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuaXplci9jbGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvdXRpbGl0aWVzL2NvbnZlcnRlci9jb3JlL1Nka0NvbnZlcnRlckNMSS5qYXZhCkBAIC0wLDAgKzEsMzk0IEBACitwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyLmNvcmU7CisKK2ltcG9ydCBvcmcuYXBhY2hlLmNvbW1vbnMuY2xpLio7CitpbXBvcnQgb3JnLmFwYWNoZS5jb21tb25zLmlvLkZpbGVVdGlsczsKK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5haXIuQWlyQ29udmVydGVyOworaW1wb3J0IG9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyLmRlcGxveWVyLmFldGhlci5BZXRoZXJEZXBsb3llcjsKK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5mbGFzaC5GbGFzaENvbnZlcnRlcjsKK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5mbGV4LkZsZXhDb252ZXJ0ZXI7CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIuZm9udGtpdC5Gb250a2l0Q29udmVydGVyOworaW1wb3J0IG9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyLnJldHJpZXZlcnMuZG93bmxvYWQuRG93bmxvYWRSZXRyaWV2ZXI7CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIucmV0cmlldmVycy50eXBlcy5QbGF0Zm9ybVR5cGU7CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIucmV0cmlldmVycy50eXBlcy5TZGtUeXBlOworaW1wb3J0IG9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyLndyYXBwZXIuV3JhcHBlckNvbnZlcnRlcjsKK2ltcG9ydCBvcmcuYXBhY2hlLm1hdmVuLmFydGlmYWN0LnZlcnNpb25pbmcuRGVmYXVsdEFydGlmYWN0VmVyc2lvbjsKKworaW1wb3J0IGphdmEuaW8uRmlsZTsKK2ltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOworaW1wb3J0IGphdmEudXRpbC4qOworCisvKioKKyAqIENyZWF0ZWQgYnkgY2hyaXN0b2ZlcmR1dHogb24gMDcuMDQuMTUuCisgKi8KK3B1YmxpYyBjbGFzcyBTZGtDb252ZXJ0ZXJDTEkgeworCisgICAgcHVibGljIHN0YXRpYyBmaW5hbCBTdHJpbmcgQ09NTUFORF9IRUxQID0gImhlbHAiOworICAgIHB1YmxpYyBzdGF0aWMgZmluYWwgU3RyaW5nIENPTU1BTkRfTElTVCA9ICJsaXN0IjsKKyAgICBwdWJsaWMgc3RhdGljIGZpbmFsIFN0cmluZyBDT01NQU5EX0RPV05MT0FEID0gImRvd25sb2FkIjsKKyAgICBwdWJsaWMgc3RhdGljIGZpbmFsIFN0cmluZyBDT01NQU5EX0NPTlZFUlQgPSAiY29udmVydCI7CisgICAgcHVibGljIHN0YXRpYyBmaW5hbCBTdHJpbmcgQ09NTUFORF9ERVBMT1kgPSAiZGVwbG95IjsKKworICAgIHB1YmxpYyBzdGF0aWMgZmluYWwgU3RyaW5nIE9QVElPTl9GTEVYX1ZFUlNJT04gPSAiZmxleFZlcnNpb24iOworICAgIHB1YmxpYyBzdGF0aWMgZmluYWwgU3RyaW5nIE9QVElPTl9GTEFTSF9WRVJTSU9OUyA9ICJmbGFzaFZlcnNpb25zIjsKKyAgICBwdWJsaWMgc3RhdGljIGZpbmFsIFN0cmluZyBPUFRJT05fQUlUX1ZFUlNJT04gPSAiYWlyVmVyc2lvbiI7CisgICAgcHVibGljIHN0YXRpYyBmaW5hbCBTdHJpbmcgT1BUSU9OX0ZPTlRLSVQgPSAiZm9udGtpdCI7CisgICAgcHVibGljIHN0YXRpYyBmaW5hbCBTdHJpbmcgT1BUSU9OX1BMQVRGT1JNUyA9ICJwbGF0Zm9ybXMiOworCisgICAgcHVibGljIHN0YXRpYyBmaW5hbCBTdHJpbmcgT1BUSU9OX0ZES19ESVIgPSAiZmRrRGlyIjsKKyAgICBwdWJsaWMgc3RhdGljIGZpbmFsIFN0cmluZyBPUFRJT05fTUFWRU5fRElSID0gIm1hdmVuRGlyIjsKKworICAgIHB1YmxpYyBzdGF0aWMgZmluYWwgU3RyaW5nIE9QVElPTl9SRVBPX1VSTCA9ICJyZXBvVXJsIjsKKyAgICBwdWJsaWMgc3RhdGljIGZpbmFsIFN0cmluZyBPUFRJT05fUkVQT19VU0VSTkFNRSA9ICJyZXBvVXNlcm5hbWUiOworICAgIHB1YmxpYyBzdGF0aWMgZmluYWwgU3RyaW5nIE9QVElPTl9SRVBPX1BBU1NXT1JEID0gInJlcG9QYXNzd29yZCI7CisKKworICAgIEBTdXBwcmVzc1dhcm5pbmdzKCJ1bmNoZWNrZWQiKQorICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBFeGNlcHRpb24geworICAgICAgICBPcHRpb25zIG9wdGlvbnMgPSBuZXcgT3B0aW9ucygpOworICAgICAgICBvcHRpb25zLmFkZE9wdGlvbihPcHRpb25CdWlsZGVyLndpdGhBcmdOYW1lKCJ2ZXJzaW9uIikuaGFzQXJnKCkuCisgICAgICAgICAgICAgICAgd2l0aERlc2NyaXB0aW9uKCIoT3B0aW9uYWwgYW5kIE9ubHkgdmFsaWQgZm9yIGRvd25sb2FkKSBWZXJzaW9uIG9mIHRoZSAiICsKKyAgICAgICAgICAgICAgICAgICAgICAgICJGREsgd2hpY2ggc2hvdWxkIGJlIGRvd25sb2FkZWQuIikuCisgICAgICAgICAgICAgICAgaXNSZXF1aXJlZChmYWxzZSkuCisgICAgICAgICAgICAgICAgY3JlYXRlKE9QVElPTl9GTEVYX1ZFUlNJT04pKTsKKyAgICAgICAgb3B0aW9ucy5hZGRPcHRpb24oT3B0aW9uQnVpbGRlci53aXRoQXJnTmFtZSgidmVyc2lvbihzKSIpLmhhc0FyZygpLgorICAgICAgICAgICAgICAgIHdpdGhWYWx1ZVNlcGFyYXRvcignLCcpLgorICAgICAgICAgICAgICAgIHdpdGhEZXNjcmlwdGlvbigiKE9wdGlvbmFsIGFuZCBPbmx5IHZhbGlkIGZvciBkb3dubG9hZCkgVmVyc2lvbihzKSBvZiB0aGUgIiArCisgICAgICAgICAgICAgICAgICAgICAgICAiQWRvYmUgRmxhc2ggU0RLIHdoaWNoIHNob3VsZCBiZSBkb3dubG9hZGVkLiBNdWx0aXBsZSB2ZXJzaW9ucyBjYW4gIiArCisgICAgICAgICAgICAgICAgICAgICAgICAiYmUgc2VwYXJhdGVkIGJ5IFwiLFwiLiIpLgorICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQoZmFsc2UpLgorICAgICAgICAgICAgICAgIGNyZWF0ZShPUFRJT05fRkxBU0hfVkVSU0lPTlMpKTsKKyAgICAgICAgb3B0aW9ucy5hZGRPcHRpb24oT3B0aW9uQnVpbGRlci53aXRoQXJnTmFtZSgidmVyc2lvbiIpLmhhc0FyZygpLgorICAgICAgICAgICAgICAgIHdpdGhEZXNjcmlwdGlvbigiKE9wdGlvbmFsIGFuZCBPbmx5IHZhbGlkIGZvciBkb3dubG9hZCkgVmVyc2lvbiBvZiB0aGUgIiArCisgICAgICAgICAgICAgICAgICAgICAgICAiQWRvYmUgQWlyIFNESyB3aGljaCBzaG91bGQgYmUgZG93bmxvYWRlZC4iKS4KKyAgICAgICAgICAgICAgICBpc1JlcXVpcmVkKGZhbHNlKS4KKyAgICAgICAgICAgICAgICBjcmVhdGUoT1BUSU9OX0FJVF9WRVJTSU9OKSk7CisgICAgICAgIG9wdGlvbnMuYWRkT3B0aW9uKE9wdGlvbkJ1aWxkZXIuCisgICAgICAgICAgICAgICAgd2l0aERlc2NyaXB0aW9uKCIoT3B0aW9uYWwgYW5kIE9ubHkgdmFsaWQgZm9yIGRvd25sb2FkKSBJZiBwcm92aWRlZCwgdGhlICIgKworICAgICAgICAgICAgICAgICAgICAgICAgIkNvbnZlcnRlciB3aWxsIGFsc28gZG93bmxvYWQgdGhlIEZvbnRraXQgbGlicmFyaWVzIG5lZWRlZCBmb3IgZm9udCAiICsKKyAgICAgICAgICAgICAgICAgICAgICAgICJlbmNvZGluZy4iKS4KKyAgICAgICAgICAgICAgICBpc1JlcXVpcmVkKGZhbHNlKS4KKyAgICAgICAgICAgICAgICBjcmVhdGUoT1BUSU9OX0ZPTlRLSVQpKTsKKyAgICAgICAgb3B0aW9ucy5hZGRPcHRpb24oT3B0aW9uQnVpbGRlci53aXRoQXJnTmFtZSgicGxhdGZvcm0ocykiKS5oYXNBcmcoKS4KKyAgICAgICAgICAgICAgICB3aXRoVmFsdWVTZXBhcmF0b3IoJywnKS4KKyAgICAgICAgICAgICAgICB3aXRoRGVzY3JpcHRpb24oIihPcHRpb25hbCBhbmQgT25seSB2YWxpZCBmb3IgZG93bmxvYWQpIFBsYXRmb3JtIHRoZSBhcnRpZmFjdHMgIiArCisgICAgICAgICAgICAgICAgICAgICAgICAic2hvdWxkIGJlIGRvd25sb2FkZWQgZm9yLiBJZiBvbWl0dGVkIHRoZSBwbGF0Zm9ybSB0aGlzIHByb2Nlc3MgaXMgcnVuICIgKworICAgICAgICAgICAgICAgICAgICAgICAgIm9uIHdpbGwgYmUgdXNlZC4gVmFsaWQgb3B0aW9ucyBhcmU6IFwiV0lORE9XU1wiLCBcIk1BQ1wiIGFuZCBcIkxOWFwiLiAiICsKKyAgICAgICAgICAgICAgICAgICAgICAgICJNdWx0aXBsZSB2ZXJzaW9ucyBjYW4gYmUgc2VwYXJhdGVkIGJ5IFwiLFwiLiIpLgorICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQoZmFsc2UpLgorICAgICAgICAgICAgICAgIGNyZWF0ZShPUFRJT05fUExBVEZPUk1TKSk7CisgICAgICAgIG9wdGlvbnMuYWRkT3B0aW9uKE9wdGlvbkJ1aWxkZXIud2l0aEFyZ05hbWUoImRpciIpLmhhc0FyZygpLgorICAgICAgICAgICAgICAgIHdpdGhEZXNjcmlwdGlvbigiKE9wdGlvbmFsKSBEaXJlY3RvcnkgdGhhdCB0aGUgRkRLIHdpbGwgYmUgbG9jYXRlZCBpbi4gIiArCisgICAgICAgICAgICAgICAgICAgICAgICAiSWYgb21pdHRlZCwgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHdpbGwgYmUgdXNlZC4iKS4KKyAgICAgICAgICAgICAgICBpc1JlcXVpcmVkKGZhbHNlKS4KKyAgICAgICAgICAgICAgICBjcmVhdGUoT1BUSU9OX0ZES19ESVIpKTsKKyAgICAgICAgb3B0aW9ucy5hZGRPcHRpb24oT3B0aW9uQnVpbGRlci53aXRoQXJnTmFtZSgiZGlyIikuaGFzQXJnKCkuCisgICAgICAgICAgICAgICAgd2l0aERlc2NyaXB0aW9uKCIoT3B0aW9uYWwpIERpcmVjdG9yeSB0aGF0IHRoZSBtYXZlbml6ZWQgYXJ0aWZhY3RzIHdpbGwgYmUgbG9jYXRlZCBpbi4gIiArCisgICAgICAgICAgICAgICAgICAgICAgICAiSWYgb21pdHRlZCwgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHdpbGwgYmUgdXNlZC4iKS4KKyAgICAgICAgICAgICAgICBpc1JlcXVpcmVkKGZhbHNlKS4KKyAgICAgICAgICAgICAgICBjcmVhdGUoT1BUSU9OX01BVkVOX0RJUikpOworICAgICAgICBvcHRpb25zLmFkZE9wdGlvbihPcHRpb25CdWlsZGVyLndpdGhBcmdOYW1lKCJ1cmwiKS5oYXNBcmcoKS4KKyAgICAgICAgICAgICAgICB3aXRoRGVzY3JpcHRpb24oIihPcHRpb25hbCBhbmQgb25seSB2YWxpZCBmb3IgZGVwbG95KSBVcmwgb2YgdGhlIHJlbW90ZSBNYXZlbiAiICsKKyAgICAgICAgICAgICAgICAgICAgICAgICJyZXBvc2l0b3J5IHRoYXQgdGhlIGdlbmVyYXRlZCBNYXZlbiBhcnRpZmFjdHMgc2hvdWxkIGJlIGRlcGxveWVkIHRvLiIpLgorICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQoZmFsc2UpLgorICAgICAgICAgICAgICAgIGNyZWF0ZShPUFRJT05fUkVQT19VUkwpKTsKKyAgICAgICAgb3B0aW9ucy5hZGRPcHRpb24oT3B0aW9uQnVpbGRlci53aXRoQXJnTmFtZSgidXNlcm5hbWUiKS5oYXNBcmcoKS4KKyAgICAgICAgICAgICAgICB3aXRoRGVzY3JpcHRpb24oIihPcHRpb25hbCBhbmQgb25seSB2YWxpZCBmb3IgZGVwbG95KSBVc2VybmFtZSB1c2VkIHRvIGF1dGhlbnRpY2F0ZSAiICsKKyAgICAgICAgICAgICAgICAgICAgICAgICJvbiB0aGUgcmVtb3RlIE1hdmVuIHJlcG9zaXRvcnkgdGhhdCB0aGUgZ2VuZXJhdGVkIE1hdmVuIGFydGlmYWN0cyBzaG91bGQgYmUgIiArCisgICAgICAgICAgICAgICAgICAgICAgICAiZGVwbG95ZWQgdG8uIikuCisgICAgICAgICAgICAgICAgaXNSZXF1aXJlZChmYWxzZSkuCisgICAgICAgICAgICAgICAgY3JlYXRlKE9QVElPTl9SRVBPX1VTRVJOQU1FKSk7CisgICAgICAgIG9wdGlvbnMuYWRkT3B0aW9uKE9wdGlvbkJ1aWxkZXIud2l0aEFyZ05hbWUoInBhc3N3b3JkIikuaGFzQXJnKCkuCisgICAgICAgICAgICAgICAgd2l0aERlc2NyaXB0aW9uKCIoT3B0aW9uYWwgYW5kIG9ubHkgdmFsaWQgZm9yIGRlcGxveSkgUGFzc3dvcmQgdXNlZCB0byBhdXRoZW50aWNhdGUgIiArCisgICAgICAgICAgICAgICAgICAgICAgICAib24gdGhlIHJlbW90ZSBNYXZlbiByZXBvc2l0b3J5IHRoYXQgdGhlIGdlbmVyYXRlZCBNYXZlbiBhcnRpZmFjdHMgc2hvdWxkIGJlICIgKworICAgICAgICAgICAgICAgICAgICAgICAgImRlcGxveWVkIHRvLiIpLgorICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQoZmFsc2UpLgorICAgICAgICAgICAgICAgIGNyZWF0ZShPUFRJT05fUkVQT19QQVNTV09SRCkpOworCisgICAgICAgIENvbW1hbmRMaW5lUGFyc2VyIHBhcnNlciA9IG5ldyBCYXNpY1BhcnNlcigpOworICAgICAgICB0cnkgeworICAgICAgICAgICAgQ29tbWFuZExpbmUgY21kID0gcGFyc2VyLnBhcnNlKG9wdGlvbnMsIGFyZ3MpOworICAgICAgICAgICAgaWYoY21kLmdldEFyZ0xpc3QoKS5pc0VtcHR5KCkgfHwgY21kLmdldEFyZ0xpc3QoKS5jb250YWlucyhDT01NQU5EX0hFTFApKSB7CisgICAgICAgICAgICAgICAgcHJpbnRIZWxwKG9wdGlvbnMpOworICAgICAgICAgICAgICAgIFN5c3RlbS5leGl0KDApOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBGaW5kIG91dCB0aGUgZGVzaXJlZCBwbGF0Zm9ybShzKS4KKyAgICAgICAgICAgIExpc3Q8UGxhdGZvcm1UeXBlPiBwbGF0Zm9ybXMgPSBuZXcgQXJyYXlMaXN0PFBsYXRmb3JtVHlwZT4oKTsKKyAgICAgICAgICAgIFN0cmluZyBwbGF0Zm9ybVBhcmFtID0gY21kLmdldE9wdGlvblZhbHVlKE9QVElPTl9QTEFURk9STVMpOworICAgICAgICAgICAgaWYoKHBsYXRmb3JtUGFyYW0gIT0gbnVsbCkgJiYgIXBsYXRmb3JtUGFyYW0uaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgU3RyaW5nW10gcGxhdGZvcm1OYW1lcyA9IHBsYXRmb3JtUGFyYW0uc3BsaXQoIiwiKTsKKyAgICAgICAgICAgICAgICBmb3IoU3RyaW5nIHBsYXRmb3JtTmFtZSA6IHBsYXRmb3JtTmFtZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgcGxhdGZvcm1zLmFkZChQbGF0Zm9ybVR5cGUudmFsdWVPZihwbGF0Zm9ybU5hbWUpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmKHBsYXRmb3Jtcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBwbGF0Zm9ybXMuYWRkKFBsYXRmb3JtVHlwZS5nZXRDdXJyZW50KCkpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7CisgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5lcnIucHJpbnRsbigiVW5zdXBwb3J0ZWQgT1MgdHlwZS4gUHJvdmlkZSBtYW51YWxseSB1c2luZyAncGxhdGZvcm0nIHBhcmFtZXRlci4iKTsKKyAgICAgICAgICAgICAgICAgICAgU3lzdGVtLmV4aXQoMSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgICAgICAgICAgIC8vIFZhbGlkYXRlIHNlbnNpYmxlIGNvbWJpbmF0aW9ucyBvZiBjb21tYW5kcy4KKyAgICAgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisgICAgICAgICAgICAvLyBDaGVjayB0aGF0IGFsbCBjb21tYW5kcyBhcmUgdmFsaWQuCisgICAgICAgICAgICBmb3IoU3RyaW5nIGNvbW1hbmQgOiAoTGlzdDxTdHJpbmc+KSBjbWQuZ2V0QXJnTGlzdCgpKSB7CisgICAgICAgICAgICAgICAgaWYoIUNPTU1BTkRfTElTVC5lcXVhbHMoY29tbWFuZCkgJiYgIUNPTU1BTkRfRE9XTkxPQUQuZXF1YWxzKGNvbW1hbmQpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAhQ09NTUFORF9DT05WRVJULmVxdWFscyhjb21tYW5kKSAmJiAhQ09NTUFORF9ERVBMT1kuZXF1YWxzKGNvbW1hbmQpKSB7CisgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5lcnIucHJpbnRsbigiVW5zdXBwb3J0ZWQgY29tbWFuZCAnIiArIGNvbW1hbmQgKyAiJy4iKTsKKyAgICAgICAgICAgICAgICAgICAgU3lzdGVtLmV4aXQoMSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBEb3dubG9hZGluZyBhbmQgZGVwbG95aW5nIHdpdGhvdXQgY29udmVydGluZyBkb2Vzbid0IG1ha2Ugc2Vuc2UuCisgICAgICAgICAgICBpZihjbWQuZ2V0QXJnTGlzdCgpLmNvbnRhaW5zKENPTU1BTkRfRE9XTkxPQUQpICYmICFjbWQuZ2V0QXJnTGlzdCgpLmNvbnRhaW5zKENPTU1BTkRfQ09OVkVSVCkgJiYKKyAgICAgICAgICAgICAgICAgICAgY21kLmdldEFyZ0xpc3QoKS5jb250YWlucyhDT01NQU5EX0RFUExPWSkpIHsKKyAgICAgICAgICAgICAgICBTeXN0ZW0uZXJyLnByaW50bG4oIkRvd25sb2FkaW5nIGFuZCBkZXBsb3lpbmcgd2l0aG91dCBjb252ZXJzaW9uIGRvZXNuJ3QgbWFrZSBtdWNoIHNlbnNlLiIpOworICAgICAgICAgICAgICAgIFN5c3RlbS5leGl0KDEpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBJZiBEb3dubG9hZGluZyBhbmQgbm90IGNvbnZlcnRpbmcsIHRoZSBmZGtEaXIgcGFyYW1ldGVyIGhhcyB0byBiZSBwcm92aWRlZCBhcworICAgICAgICAgICAgLy8gb3RoZXJ3aXNlIHRoZSBkb3dubG9hZCByZXN1bHQgd291bGQgcmVzaWRlIGluIHNvbWUgc3RyYW5nZSB0ZW1wIGRpcmVjdG9yeS4KKyAgICAgICAgICAgIGlmKGNtZC5nZXRBcmdMaXN0KCkuY29udGFpbnMoQ09NTUFORF9ET1dOTE9BRCkgJiYgIWNtZC5nZXRBcmdMaXN0KCkuY29udGFpbnMoQ09NTUFORF9DT05WRVJUKQorICAgICAgICAgICAgICAgICAgICAmJiAhY21kLmhhc09wdGlvbihPUFRJT05fRkRLX0RJUikpIHsKKyAgICAgICAgICAgICAgICBTeXN0ZW0uZXJyLnByaW50bG4oIlBhcmFtZXRlciAnZmRrRGlyJyByZXF1aXJlZCBmb3IgdGFzayAnZG93bmxvYWQnIHdpdGhvdXQgY29udmVyc2lvbi4iKTsKKyAgICAgICAgICAgICAgICBTeXN0ZW0uZXhpdCgxKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gSWYgQ29udmVydGluZyBhbmQgbm90IGRlcGxveWluZywgdGhlIG1hdmVuRGlyIHBhcmFtZXRlciBoYXMgdG8gYmUgcHJvdmlkZWQgYXMKKyAgICAgICAgICAgIC8vIG90aGVyd2lzZSB0aGUgY29udmVydGVkIEZESyB3b3VsZCByZXNpZGUgaW4gc29tZSBzdHJhbmdlIHRlbXAgZGlyZWN0b3J5LgorICAgICAgICAgICAgaWYoY21kLmdldEFyZ0xpc3QoKS5jb250YWlucyhDT01NQU5EX0NPTlZFUlQpICYmICFjbWQuZ2V0QXJnTGlzdCgpLmNvbnRhaW5zKENPTU1BTkRfREVQTE9ZKQorICAgICAgICAgICAgICAgICAgICAmJiAhY21kLmhhc09wdGlvbihPUFRJT05fTUFWRU5fRElSKSkgeworICAgICAgICAgICAgICAgIFN5c3RlbS5lcnIucHJpbnRsbigiUGFyYW1ldGVyICdtYXZlbkRpcicgcmVxdWlyZWQgZm9yIHRhc2sgJ2NvbnZlcnQnIHdpdGhvdXQgZGVwbG95bWVudC4iKTsKKyAgICAgICAgICAgICAgICBTeXN0ZW0uZXhpdCgxKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gRG93bmxvYWRpbmcgbm90aGluZyBkb2Vzbid0IHJlYWxseSBtYWtlIHNlbnNlLiBPbiB0aGUgYmFkIHNpZGUgaXQgZXZlbiBjYXVzZXMKKyAgICAgICAgICAgIC8vIHByb2JsZW1zIHdpdGggdGhlIGNvbnZlcnRlciB3aXRob3V0IGFueSBmZGtEaXIgcGFyYW1ldGVyLCB0aGVyZWZvcmUgd2UgYWJvcnQgaGVyZS4KKyAgICAgICAgICAgIGlmKGNtZC5nZXRBcmdMaXN0KCkuY29udGFpbnMoQ09NTUFORF9ET1dOTE9BRCkgJiYgIWNtZC5oYXNPcHRpb24oT1BUSU9OX0ZMRVhfVkVSU0lPTikgJiYKKyAgICAgICAgICAgICAgICAgICAgIWNtZC5oYXNPcHRpb24oT1BUSU9OX0ZMQVNIX1ZFUlNJT05TKSAmJiAhY21kLmhhc09wdGlvbihPUFRJT05fQUlUX1ZFUlNJT04pICYmCisgICAgICAgICAgICAgICAgICAgICFjbWQuaGFzT3B0aW9uKE9QVElPTl9GT05US0lUKSkgeworICAgICAgICAgICAgICAgIFN5c3RlbS5lcnIucHJpbnRsbigiQXQgbGVhc3Qgb25lIG9mIHRoZSBwYXJhbWV0ZXJzICdmbGV4VmVyc2lvbicsICdmbGFzaFZlcnNpb25zJywgJ2FpclZlcnNpb24nIG9yICIgKworICAgICAgICAgICAgICAgICAgICAgICAgIidmb250a2l0JyByZXF1aXJlZCBmb3IgdGFzayAnZG93bmxvYWQnLiIpOworICAgICAgICAgICAgICAgIFN5c3RlbS5leGl0KDEpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBGaW5kIG91dCB3aGVyZSB0byBkb3dubG9hZCBvciBjb252ZXJ0IGZyb20uCisgICAgICAgICAgICBGaWxlIGZka0RpciA9IGNtZC5oYXNPcHRpb24oT1BUSU9OX0ZES19ESVIpID8KKyAgICAgICAgICAgICAgICAgICAgbmV3IEZpbGUoY21kLmdldE9wdGlvblZhbHVlKE9QVElPTl9GREtfRElSKSkgOiBnZXRUZW1wRGlyKCJGTEVYLURPV05MT0FELSIpOworCisgICAgICAgICAgICAvLyBGaW5kIG91dCB3aGVyZSB0byBjb252ZXJ0IHRvIG9yIGRlcGxveSBmcm9tLgorICAgICAgICAgICAgRmlsZSBtYXZlbkRpciA9IGNtZC5oYXNPcHRpb24oT1BUSU9OX01BVkVOX0RJUikgPworICAgICAgICAgICAgICAgICAgICBuZXcgRmlsZShjbWQuZ2V0T3B0aW9uVmFsdWUoT1BUSU9OX01BVkVOX0RJUikpIDogZ2V0VGVtcERpcigiRkxFWC1NQVZFTi0iKTsKKworICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgICAgICAgICAgLy8gRXhlY3R1dGUgb3BlcmF0aW9ucworICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisgICAgICAgICAgICAvLyBPdXRwdXQgYSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgZG93bmxvYWRzLgorICAgICAgICAgICAgaWYoY21kLmdldEFyZ0xpc3QoKS5jb250YWlucyhDT01NQU5EX0xJU1QpKSB7CisgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpOworICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiLSBBdmFpbGFibGUgZG93bmxvYWRzIik7CisgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpOworCisgICAgICAgICAgICAgICAgRG93bmxvYWRSZXRyaWV2ZXIgcmV0cmlldmVyID0gbmV3IERvd25sb2FkUmV0cmlldmVyKCk7CisgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJBcGFjaGUgRmxleDoiKTsKKyAgICAgICAgICAgICAgICBMaXN0PERlZmF1bHRBcnRpZmFjdFZlcnNpb24+IHZlcnNpb25zID0gbmV3IEFycmF5TGlzdDxEZWZhdWx0QXJ0aWZhY3RWZXJzaW9uPigKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHJpZXZlci5nZXRBdmFpbGFibGVWZXJzaW9ucyhTZGtUeXBlLkZMRVgpLmtleVNldCgpKTsKKyAgICAgICAgICAgICAgICBDb2xsZWN0aW9ucy5zb3J0KHZlcnNpb25zKTsKKyAgICAgICAgICAgICAgICBmb3IoRGVmYXVsdEFydGlmYWN0VmVyc2lvbiB2ZXJzaW9uIDogdmVyc2lvbnMpIHsKKyAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCIgLSAiICsgdmVyc2lvbi50b1N0cmluZygpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCk7CisKKyAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkFkb2JlIEZsYXNoOiIpOworICAgICAgICAgICAgICAgIHZlcnNpb25zID0gbmV3IEFycmF5TGlzdDxEZWZhdWx0QXJ0aWZhY3RWZXJzaW9uPigKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHJpZXZlci5nZXRBdmFpbGFibGVWZXJzaW9ucyhTZGtUeXBlLkZMQVNIKS5rZXlTZXQoKSk7CisgICAgICAgICAgICAgICAgQ29sbGVjdGlvbnMuc29ydCh2ZXJzaW9ucyk7CisgICAgICAgICAgICAgICAgZm9yKERlZmF1bHRBcnRpZmFjdFZlcnNpb24gdmVyc2lvbiA6IHZlcnNpb25zKSB7CisgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiIC0gIiArIHZlcnNpb24udG9TdHJpbmcoKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigpOworCisgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJBZG9iZSBBSVI6Iik7CisgICAgICAgICAgICAgICAgTWFwPERlZmF1bHRBcnRpZmFjdFZlcnNpb24sIENvbGxlY3Rpb248UGxhdGZvcm1UeXBlPj4gdmVyc2lvbkRhdGEgPQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0cmlldmVyLmdldEF2YWlsYWJsZVZlcnNpb25zKFNka1R5cGUuQUlSKTsKKyAgICAgICAgICAgICAgICB2ZXJzaW9ucyA9IG5ldyBBcnJheUxpc3Q8RGVmYXVsdEFydGlmYWN0VmVyc2lvbj4odmVyc2lvbkRhdGEua2V5U2V0KCkpOworICAgICAgICAgICAgICAgIENvbGxlY3Rpb25zLnNvcnQodmVyc2lvbnMpOworICAgICAgICAgICAgICAgIGZvcihEZWZhdWx0QXJ0aWZhY3RWZXJzaW9uIHZlcnNpb24gOiB2ZXJzaW9ucykgeworICAgICAgICAgICAgICAgICAgICBTdHJpbmdCdWlsZGVyIHNiID0gbmV3IFN0cmluZ0J1aWxkZXIoKTsKKyAgICAgICAgICAgICAgICAgICAgc2IuYXBwZW5kKCIgLSAiKS5hcHBlbmQodmVyc2lvbi50b1N0cmluZygpKS5hcHBlbmQoIiAoIik7CisgICAgICAgICAgICAgICAgICAgIGJvb2xlYW4gZmlyc3RPcHRpb24gPSB0cnVlOworICAgICAgICAgICAgICAgICAgICBmb3IoUGxhdGZvcm1UeXBlIHBsYXRmb3JtVHlwZSA6IHZlcnNpb25EYXRhLmdldCh2ZXJzaW9uKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYoIWZpcnN0T3B0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2IuYXBwZW5kKCIsICIpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgc2IuYXBwZW5kKHBsYXRmb3JtVHlwZS5uYW1lKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RPcHRpb24gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBzYi5hcHBlbmQoIikiKTsKKyAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKHNiLnRvU3RyaW5nKCkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gSGFuZGxlIHRoZSBkb3dubG9hZGluZyBvZiBhdGlmYWN0cy4KKyAgICAgICAgICAgIGlmKGNtZC5nZXRBcmdMaXN0KCkuY29udGFpbnMoQ09NTUFORF9ET1dOTE9BRCkpIHsKKyAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIik7CisgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCItIERvd25sb2FkaW5nIik7CisgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpOworCisgICAgICAgICAgICAgICAgRG93bmxvYWRSZXRyaWV2ZXIgcmV0cmlldmVyID0gbmV3IERvd25sb2FkUmV0cmlldmVyKCk7CisKKyAgICAgICAgICAgICAgICBTdHJpbmcgZmxleFZlcnNpb24gPSBjbWQuZ2V0T3B0aW9uVmFsdWUoT1BUSU9OX0ZMRVhfVkVSU0lPTiwgbnVsbCk7CisgICAgICAgICAgICAgICAgaWYoZmxleFZlcnNpb24gIT0gbnVsbCkgeworICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIi0gRG93bmxvYWRpbmcgRmxleCBTREsgdmVyc2lvbjogIiArIGZsZXhWZXJzaW9uICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHRvIGRpcmVjdG9yeTogIiArIGZka0Rpci5nZXRBYnNvbHV0ZVBhdGgoKSk7CisgICAgICAgICAgICAgICAgICAgIEZpbGUgZmRrRG93bmxvYWREaXJlY3RvcnkgPSByZXRyaWV2ZXIucmV0cmlldmUoU2RrVHlwZS5GTEVYLCBmbGV4VmVyc2lvbik7CisgICAgICAgICAgICAgICAgICAgIC8vIFVucGFjayB0aGUgYXJjaGl2ZSB0byB0aGUgRkRLIGRpcmVjdG9yeS4KKyAgICAgICAgICAgICAgICAgICAgbWVyZ2VEaXJlY3RvcmllcyhmZGtEb3dubG9hZERpcmVjdG9yeSwgZmRrRGlyKTsKKworICAgICAgICAgICAgICAgICAgICAvLyBBZGQgdGhlIHN3Zm9iamVjdCBmaWxlcy4KKyAgICAgICAgICAgICAgICAgICAgRmlsZSBzd2ZPYmplY3REaXJlY3RvcnkgPSByZXRyaWV2ZXIucmV0cmlldmUoU2RrVHlwZS5TV0ZPQkpFQ1QpOworICAgICAgICAgICAgICAgICAgICBtZXJnZURpcmVjdG9yaWVzKHN3Zk9iamVjdERpcmVjdG9yeSwgZmRrRGlyKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBTdHJpbmcgZmxhc2hWZXJzaW9ucyA9IGNtZC5nZXRPcHRpb25WYWx1ZShPUFRJT05fRkxBU0hfVkVSU0lPTlMsICIiKTsKKyAgICAgICAgICAgICAgICBpZighZmxhc2hWZXJzaW9ucy5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgZm9yKFN0cmluZyBmbGFzaFZlcnNpb24gOiBmbGFzaFZlcnNpb25zLnNwbGl0KCIsIikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiLSBEb3dubG9hZGluZyBGbGFzaCBTREsgdmVyc2lvbjogIiArIGZsYXNoVmVyc2lvbiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgdG8gZGlyZWN0b3J5OiAiICsgZmRrRGlyLmdldEFic29sdXRlUGF0aCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIEZpbGUgZmxhc2hEb3dubG9hZERpcmV0b3J5ID0gcmV0cmlldmVyLnJldHJpZXZlKFNka1R5cGUuRkxBU0gsIGZsYXNoVmVyc2lvbik7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBJbnRlZ3JhdGUgdGhlIGRvd25sb2FkIGludG8gIHRoZSBGREsgZGlyZWN0b3J5LgorICAgICAgICAgICAgICAgICAgICAgICAgbWVyZ2VEaXJlY3RvcmllcyhmbGFzaERvd25sb2FkRGlyZXRvcnksIGZka0Rpcik7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBTdHJpbmcgYWlyVmVyc2lvbiA9IGNtZC5nZXRPcHRpb25WYWx1ZShPUFRJT05fQUlUX1ZFUlNJT04sICIiKTsKKyAgICAgICAgICAgICAgICBpZighYWlyVmVyc2lvbi5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgZm9yKFBsYXRmb3JtVHlwZSBwbGF0Zm9ybVR5cGUgOiBwbGF0Zm9ybXMpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiLSBEb3dubG9hZGluZyBBaXIgU0RLIHZlcnNpb246ICIgKyBhaXJWZXJzaW9uICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBhbmQgcGxhdGZvcm0gIiArIHBsYXRmb3JtVHlwZS5uYW1lKCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHRvIGRpcmVjdG9yeTogIiArIGZka0Rpci5nZXRBYnNvbHV0ZVBhdGgoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBGaWxlIGFpckRvd25sb2FkRGlyZWN0b3J5ID0gcmV0cmlldmVyLnJldHJpZXZlKFNka1R5cGUuQUlSLCBhaXJWZXJzaW9uLCBwbGF0Zm9ybVR5cGUpOworICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW50ZWdyYXRlIHRoZSBkb3dubG9hZCBpbnRvIHRoZSBGREsgZGlyZWN0b3J5LgorICAgICAgICAgICAgICAgICAgICAgICAgbWVyZ2VEaXJlY3RvcmllcyhhaXJEb3dubG9hZERpcmVjdG9yeSwgZmRrRGlyKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmKGNtZC5oYXNPcHRpb24oT1BUSU9OX0ZPTlRLSVQpKSB7CisgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiLSBEb3dubG9hZGluZyBGbGV4IEZvbnRraXQgbGlicmFyaWVzIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiB0byBkaXJlY3Rvcnk6ICIgKyBmZGtEaXIuZ2V0QWJzb2x1dGVQYXRoKCkpOworICAgICAgICAgICAgICAgICAgICBGaWxlIGZvbnRraXREb3dubG9hZERpcmVjdG9yeSA9IHJldHJpZXZlci5yZXRyaWV2ZShTZGtUeXBlLkZPTlRLSVQpOworICAgICAgICAgICAgICAgICAgICAvLyBJbnRlZ3JhdGUgdGhlIGRvd25sb2FkIGludG8gdGhlIEZESyBkaXJlY3RvcnkuCisgICAgICAgICAgICAgICAgICAgIG1lcmdlRGlyZWN0b3JpZXMoZm9udGtpdERvd25sb2FkRGlyZWN0b3J5LCBmZGtEaXIpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiRmluaXNoZWQgZG93bmxvYWRzLiIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBIYW5kbGUgdGhlIGNvbnZlcnNpb24uCisgICAgICAgICAgICBpZihjbWQuZ2V0QXJnTGlzdCgpLmNvbnRhaW5zKENPTU1BTkRfQ09OVkVSVCkpIHsKKyAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIik7CisgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCItIENvbnZlcnNpb24iKTsKKyAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIik7CisKKyAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIi0gQ29udmVydGluZyBGbGV4IFNESyBmcm9tICIgKyBmZGtEaXIuZ2V0QWJzb2x1dGVQYXRoKCkgKworICAgICAgICAgICAgICAgICAgICAgICAgIiB0byAiICsgbWF2ZW5EaXIuZ2V0QWJzb2x1dGVQYXRoKCkpOworICAgICAgICAgICAgICAgIEZsZXhDb252ZXJ0ZXIgZmxleENvbnZlcnRlciA9IG5ldyBGbGV4Q29udmVydGVyKGZka0RpciwgbWF2ZW5EaXIpOworICAgICAgICAgICAgICAgIGZsZXhDb252ZXJ0ZXIuY29udmVydCgpOworCisgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCItIENvbnZlcnRpbmcgRmxhc2ggU0RLcyBmcm9tICIgKyBmZGtEaXIuZ2V0QWJzb2x1dGVQYXRoKCkgKworICAgICAgICAgICAgICAgICAgICAgICAgIiB0byAiICsgbWF2ZW5EaXIuZ2V0QWJzb2x1dGVQYXRoKCkpOworICAgICAgICAgICAgICAgIEZsYXNoQ29udmVydGVyIGZsYXNoQ29udmVydGVyID0gbmV3IEZsYXNoQ29udmVydGVyKGZka0RpciwgbWF2ZW5EaXIpOworICAgICAgICAgICAgICAgIGZsYXNoQ29udmVydGVyLmNvbnZlcnQoKTsKKworICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiLSBDb252ZXJ0aW5nIEFpciBTREsgZnJvbSAiICsgZmRrRGlyLmdldEFic29sdXRlUGF0aCgpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICIgdG8gIiArIG1hdmVuRGlyLmdldEFic29sdXRlUGF0aCgpKTsKKyAgICAgICAgICAgICAgICBBaXJDb252ZXJ0ZXIgYWlyQ29udmVydGVyID0gbmV3IEFpckNvbnZlcnRlcihmZGtEaXIsIG1hdmVuRGlyKTsKKyAgICAgICAgICAgICAgICBhaXJDb252ZXJ0ZXIuY29udmVydCgpOworCisgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCItIENvbnZlcnRpbmcgRm9udGtpdCBsaWJyYXJpZXMgZnJvbSAiICsgZmRrRGlyLmdldEFic29sdXRlUGF0aCgpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICIgdG8gIiArIG1hdmVuRGlyLmdldEFic29sdXRlUGF0aCgpKTsKKyAgICAgICAgICAgICAgICBGb250a2l0Q29udmVydGVyIGZvbnRraXRDb252ZXJ0ZXIgPSBuZXcgRm9udGtpdENvbnZlcnRlcihmZGtEaXIsIG1hdmVuRGlyKTsKKyAgICAgICAgICAgICAgICBmb250a2l0Q29udmVydGVyLmNvbnZlcnQoKTsKKworICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiLSBDb252ZXJ0aW5nIFdyYXBwZXJzIGZyb20gIiArIGZka0Rpci5nZXRBYnNvbHV0ZVBhdGgoKSArCisgICAgICAgICAgICAgICAgICAgICAgICAiIHRvICIgKyBtYXZlbkRpci5nZXRBYnNvbHV0ZVBhdGgoKSk7CisgICAgICAgICAgICAgICAgV3JhcHBlckNvbnZlcnRlciB3cmFwcGVyQ29udmVydGVyID0gbmV3IFdyYXBwZXJDb252ZXJ0ZXIoZmRrRGlyLCBtYXZlbkRpcik7CisgICAgICAgICAgICAgICAgd3JhcHBlckNvbnZlcnRlci5jb252ZXJ0KCk7CisKKyAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkZpbmlzaGVkIGNvbnZlcnNpb24uIik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIEhhbmRsZSB0aGUgZGVwbG95bWVudC4KKyAgICAgICAgICAgIGlmKGNtZC5nZXRBcmdMaXN0KCkuY29udGFpbnMoQ09NTUFORF9ERVBMT1kpKSB7CisgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpOworICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiLSBEZXBsb3ltZW50Iik7CisgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpOworCisgICAgICAgICAgICAgICAgaWYoIWNtZC5oYXNPcHRpb24oT1BUSU9OX1JFUE9fVVJMKSkgeworICAgICAgICAgICAgICAgICAgICBTeXN0ZW0uZXJyLnByaW50bG4oIlBhcmFtZXRlciAncmVwb1VybCcgcmVxdWlyZWQgZm9yIHRhc2sgJ2RlcGxveScuIik7CisgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5leGl0KDEpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIFN0cmluZyByZXBvVXJsID0gY21kLmdldE9wdGlvblZhbHVlKE9QVElPTl9SRVBPX1VSTCk7CisgICAgICAgICAgICAgICAgU3RyaW5nIHJlcG9Vc2VybmFtZSA9IGNtZC5nZXRPcHRpb25WYWx1ZShPUFRJT05fUkVQT19VU0VSTkFNRSwgbnVsbCk7CisgICAgICAgICAgICAgICAgU3RyaW5nIHJlcG9QYXNzd29yZCA9IGNtZC5nZXRPcHRpb25WYWx1ZShPUFRJT05fUkVQT19QQVNTV09SRCwgbnVsbCk7CisKKyAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIi0gRGVwbG95aW5nIGxpYnJhcmllcyB0byAiICsgcmVwb1VybCArICIgZnJvbSAiICsgbWF2ZW5EaXIuZ2V0QWJzb2x1dGVQYXRoKCkpOworCisgICAgICAgICAgICAgICAgQWV0aGVyRGVwbG95ZXIgZGVwbG95ZXIgPSBuZXcgQWV0aGVyRGVwbG95ZXIobWF2ZW5EaXIsIHJlcG9VcmwsIHJlcG9Vc2VybmFtZSwgcmVwb1Bhc3N3b3JkKTsKKyAgICAgICAgICAgICAgICBkZXBsb3llci5kZXBsb3koKTsKKworICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiRmluaXNoZWQgZGVwbG95aW5nLiIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpOworICAgICAgICB9IGNhdGNoIChQYXJzZUV4Y2VwdGlvbiBlKSB7CisgICAgICAgICAgICBTeXN0ZW0uZXJyLnByaW50bG4oIlBhcnNpbmcgZmFpbGVkLiBSZWFzb246ICIgKyBlLmdldE1lc3NhZ2UoKSk7CisgICAgICAgICAgICBwcmludEhlbHAob3B0aW9ucyk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBwcm90ZWN0ZWQgc3RhdGljIHZvaWQgcHJpbnRIZWxwKE9wdGlvbnMgb3B0aW9ucykgeworICAgICAgICBTdHJpbmcgaGVhZGVyVGV4dCA9ICJDb21tYW5kczogXG4iICsKKyAgICAgICAgICAgICAgICAiSWYgdGhlIHBhcmFtZXRlcnMgJ2Zka0RpcicgYW5kICdtYXZlbkRpcicgYXJlIG5vdCBzcGVjaWZpZWQsIHRoZSBDb252ZXJ0ZXIgY3JlYXRlcyB0d28gdGVtcG9yYXJ5ICIgKworICAgICAgICAgICAgICAgICJkaXJlY3RvcmllcyBpbiB5b3VyIHN5c3RlbXMgdGVtcCBkaXJlY3RvcnkgYW5kIHVzZXMgdGhlc2UgZm9yIHRoZSBmb2xsd29pbmcgY29tbWFuZHMuXG4iICsKKyAgICAgICAgICAgICAgICAiIC0gbGlzdDpcbkxpc3QgYWxsIGF2YWlsYWJsZSB2ZXJzaW9ucyBhbmQgcGxhdGZvcm1zIChmb3IgZG93bmxvYWQpXG4iICsKKyAgICAgICAgICAgICAgICAiIC0gZG93bmxvYWQ6XG5Eb3dubG9hZCB0aGUgc2VsZWN0ZWQgdmVyc2lvbnMgb2YgRkRLIHBhcnRzIHNwZWNpZmllZCBieSAnZmxleFZlcnNpb24nLCAiICsKKyAgICAgICAgICAgICAgICAiJ2ZsYXNoVmVyc2lvbnMnLCAnYWlyVmVyc2lvbicgYW5kICdmb250a2l0JyBhbmQgY3JlYXRlcyBhbiBGREsgaW4gdGhlIGRpcmVjdG9yeSBzcGVjaWZpZWQgYnkgIiArCisgICAgICAgICAgICAgICAgIidmZGtEaXInLiBJZiAnYWlyVmVyc2lvbicgaXMgc3BlY2lmaWVkLCB0aGUgJ3BsYXRmb3JtcycgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgcGxhdGZvcm1zIGZvciB3aGljaCAiICsKKyAgICAgICAgICAgICAgICAidGhlIGdpdmVuIEFJUiBTREsgc2hvdWxkIGJlIGRvd25sb2FkZWQsIGlmIG5vdCBzcGVjaWZpZWQgdGhlIGN1cnJlbnQgc3lzdGVtcyBwbGF0Zm9ybSBpcyB1c2VkLiBcbiIgKworICAgICAgICAgICAgICAgICIgLSBjb252ZXJ0OlxuQ29udmVydCB0aGUgRkRLIGxvY2F0ZWQgaW4gJ2Zka0RpcicgaW50byBhIG1hdmVuaXplZCBmb3JtIGF0ICdtYXZlbkRpcicuXG4iICsKKyAgICAgICAgICAgICAgICAiIC0gZGVwbG95OlxuRGVwbG95IHRoZSBtYXZlbiBhcnRpZmFjdHMgbG9jYXRlZCBpbiAnbWF2ZW5EaXInLCB0byB0aGUgcmVtb3RlIG1hdmVuIHJlcG9zaXRvcnkgIiArCisgICAgICAgICAgICAgICAgInNwZWNpZmllZCB3aXRoICdyZXBvVXJsJy4gSWYgdGhlICdyZXBvVXNlcm5hbWUnIGFuZCAncmVwb1Bhc3N3b3JkJyBwYXJhbWV0ZXJzIGFyZSBzcGVjaWZpZWQsIHVzZSAiICsKKyAgICAgICAgICAgICAgICAidGhlc2UgY3JlZGVudGlhbHMgZm9yIGF1dGhlbnRpY2F0aW5nIGF0IHRoZSByZW1vdGUgc3lzdGVtLlxuIiArCisgICAgICAgICAgICAgICAgIk9wdGlvbnM6IjsKKworICAgICAgICBIZWxwRm9ybWF0dGVyIGhlbHBGb3JtYXR0ZXIgPSBuZXcgSGVscEZvcm1hdHRlcigpOworICAgICAgICBoZWxwRm9ybWF0dGVyLnByaW50SGVscCgiamF2YSAtamFyIGFwYWNoZS1mbGV4LXNkay1jb252ZXJ0ZXIuamFyIFtsaXN0XSBbLWZka0RpciA8ZmRrRGlyPl0gIiArCisgICAgICAgICAgICAgICAgICAgICAgICAiWy1tYXZlbkRpciA8bWF2ZW5EaXI+XSBbWy1mbGV4VmVyc2lvbiA8dmVyc2lvbj5dIFstZmxhc2hWZXJzaW9ucyA8dmVyc2lvbihzKT5dICIgKworICAgICAgICAgICAgICAgICAgICAgICAgIlstYWlyVmVyc2lvbiA8dmVyc2lvbj4gWy1wbGF0Zm9ybXMgPHBsYXRmb3JtKHMpPl1dIFstZm9udGtpdF0gZG93bmxvYWRdIFtjb252ZXJ0XSAiICsKKyAgICAgICAgICAgICAgICAgICAgICAgICJbLXJlcG9VcmwgPHVybD4gWy1yZXBvVXNlcm5hbWUgPHVzZXJuYW1lPiAtcmVwb1Bhc3N3b3JkIDxwYXNzd29yZD5dIGRlcGxveV0iLAorICAgICAgICAgICAgICAgIGhlYWRlclRleHQsIG9wdGlvbnMsICIiKTsKKyAgICB9CisKKyAgICBwcm90ZWN0ZWQgc3RhdGljIEZpbGUgZ2V0VGVtcERpcihTdHJpbmcgcHJlZml4KSB0aHJvd3MgSU9FeGNlcHRpb24geworICAgICAgICBGaWxlIHRlbXBGaWxlID0gRmlsZS5jcmVhdGVUZW1wRmlsZShwcmVmaXgsICIuVE1QIik7CisgICAgICAgIHRlbXBGaWxlLmRlbGV0ZSgpOworICAgICAgICBGaWxlIHRlbXBEaXIgPSBuZXcgRmlsZSh0ZW1wRmlsZS5nZXRQYXJlbnRGaWxlKCksCisgICAgICAgICAgICAgICAgdGVtcEZpbGUuZ2V0TmFtZSgpLnN1YnN0cmluZygwLCB0ZW1wRmlsZS5nZXROYW1lKCkubGVuZ3RoKCkgLSA0KSk7CisgICAgICAgIGlmKCF0ZW1wRGlyLmV4aXN0cygpKSB7CisgICAgICAgICAgICB0ZW1wRGlyLm1rZGlycygpOworICAgICAgICB9CisgICAgICAgIHJldHVybiB0ZW1wRGlyOworICAgIH0KKworICAgIHByb3RlY3RlZCBzdGF0aWMgdm9pZCBtZXJnZURpcmVjdG9yaWVzKEZpbGUgc291cmNlRGlyLCBGaWxlIHRhcmdldERpcikgdGhyb3dzIElPRXhjZXB0aW9uIHsKKyAgICAgICAgRmlsZVV0aWxzLmNvcHlEaXJlY3Rvcnkoc291cmNlRGlyLCB0YXJnZXREaXIpOworICAgIH0KKworfQpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL2NvbnZlcnRlcnMvYWlyL3BvbS54bWwgYi9tYXZlbml6ZXIvY29udmVydGVycy9haXIvcG9tLnhtbAppbmRleCBjMzAyMWM1Li44OGQ2MWFhIDEwMDY0NAotLS0gYS9tYXZlbml6ZXIvY29udmVydGVycy9haXIvcG9tLnhtbAorKysgYi9tYXZlbml6ZXIvY29udmVydGVycy9haXIvcG9tLnhtbApAQCAtMTcsOSArMTcsNyBAQAogICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KIAogLS0+Ci08cHJvamVjdCB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIgotICAgICAgICAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKLSAgICAgICAgIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54c2QiPgorPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAgaHR0cDovL21hdmVuLmFwYWNoZS5vcmcveHNkL21hdmVuLTQuMC4wLnhzZCI+CiAgICAgPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgogCiAgICAgPHBhcmVudD4KZGlmZiAtLWdpdCBhL21hdmVuaXplci9jb252ZXJ0ZXJzL2Fpci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL2Fpci9BaXJDb252ZXJ0ZXIuamF2YSBiL21hdmVuaXplci9jb252ZXJ0ZXJzL2Fpci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL2Fpci9BaXJDb252ZXJ0ZXIuamF2YQppbmRleCBjNjU1ZGY1Li5kMWRiYmZjIDEwMDY0NAotLS0gYS9tYXZlbml6ZXIvY29udmVydGVycy9haXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvdXRpbGl0aWVzL2NvbnZlcnRlci9haXIvQWlyQ29udmVydGVyLmphdmEKKysrIGIvbWF2ZW5pemVyL2NvbnZlcnRlcnMvYWlyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvYWlyL0FpckNvbnZlcnRlci5qYXZhCkBAIC01Miw4ICs1Miw5IEBACiAgICAgICovCiAgICAgQE92ZXJyaWRlCiAgICAgcHJvdGVjdGVkIHZvaWQgcHJvY2Vzc0RpcmVjdG9yeSgpIHRocm93cyBDb252ZXJ0ZXJFeGNlcHRpb24gewotICAgICAgICBpZighcm9vdFNvdXJjZURpcmVjdG9yeS5leGlzdHMoKSB8fCAhcm9vdFNvdXJjZURpcmVjdG9yeS5pc0RpcmVjdG9yeSgpKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgQ29udmVydGVyRXhjZXB0aW9uKCJBaXIgU0RLIGRpcmVjdG9yeSAnIiArIHJvb3RTb3VyY2VEaXJlY3RvcnkuZ2V0UGF0aCgpICsgIicgaXMgaW52YWxpZC4iKTsKKyAgICAgICAgaWYoKGFpclNka1ZlcnNpb24gPT0gbnVsbCkgfHwgIXJvb3RTb3VyY2VEaXJlY3RvcnkuZXhpc3RzKCkgfHwgIXJvb3RTb3VyY2VEaXJlY3RvcnkuaXNEaXJlY3RvcnkoKSkgeworICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJTa2lwcGluZyBBSVIgU0RLIGdlbmVyYXRpb24uIik7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICBnZW5lcmF0ZUNvbXBpbGVyQXJ0aWZhY3RzKCk7CkBAIC0yMTAsOSArMjExLDExIEBACiAgICAgICAgIC8vIHN0aWNrIHRvIHRoYXQgZm9yIG5vdy4KIAogICAgICAgICBmaW5hbCBGaWxlIHNka0Rlc2NyaXB0b3IgPSBuZXcgRmlsZShyb290RGlyZWN0b3J5LCAiQUlSIFNESyBSZWFkbWUudHh0Iik7CisKKyAgICAgICAgLy8gSWYgdGhlIGRlc2NyaXB0b3IgaXMgbm90IHByZXNlbnQsIHJldHVybiBudWxsIGFzIHRoaXMgRkRLIGRpcmVjdG9yeSBkb2Vzbid0CisgICAgICAgIC8vIHNlZW0gdG8gY29udGFpbiBhIEFJUiBTREsuCiAgICAgICAgIGlmKCFzZGtEZXNjcmlwdG9yLmV4aXN0cygpIHx8ICFzZGtEZXNjcmlwdG9yLmlzRmlsZSgpKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgQ29udmVydGVyRXhjZXB0aW9uKCJBaXIgU0RLIGRpcmVjdG9yeSAnIiArIHJvb3REaXJlY3RvcnkuZ2V0UGF0aCgpICsKLSAgICAgICAgICAgICAgICAgICAgIicgaXMgbWlzc2luZyBhIHRoZSB2ZXJzaW9uIHRleHQtZmlsZSAnQUlSIFNESyBSZWFkbWUudHh0Jy4iKTsKKyAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICB9CiAKICAgICAgICAgRGF0YUlucHV0U3RyZWFtIGluID0gbnVsbDsKZGlmZiAtLWdpdCBhL21hdmVuaXplci9jb252ZXJ0ZXJzL2Jhc2UvcG9tLnhtbCBiL21hdmVuaXplci9jb252ZXJ0ZXJzL2Jhc2UvcG9tLnhtbAppbmRleCBlOTE5MDEyLi41YTFiODljIDEwMDY0NAotLS0gYS9tYXZlbml6ZXIvY29udmVydGVycy9iYXNlL3BvbS54bWwKKysrIGIvbWF2ZW5pemVyL2NvbnZlcnRlcnMvYmFzZS9wb20ueG1sCkBAIC0xNyw5ICsxNyw3IEBACiAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogCiAtLT4KLTxwcm9qZWN0IHhtbG5zPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAiCi0gICAgICAgICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgotICAgICAgICAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAgaHR0cDovL21hdmVuLmFwYWNoZS5vcmcveHNkL21hdmVuLTQuMC4wLnhzZCI+Cis8cHJvamVjdCB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy94c2QvbWF2ZW4tNC4wLjAueHNkIj4KICAgICA8bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+CiAKICAgICA8cGFyZW50PgpAQCAtNDQsOSArNDIsOSBAQAogICAgICAgICAgICAgPHZlcnNpb24+MS4zLjE8L3ZlcnNpb24+CiAgICAgICAgIDwvZGVwZW5kZW5jeT4KICAgICAgICAgPGRlcGVuZGVuY3k+Ci0gICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLnZlbG9jaXR5PC9ncm91cElkPgotICAgICAgICAgICAgPGFydGlmYWN0SWQ+dmVsb2NpdHk8L2FydGlmYWN0SWQ+Ci0gICAgICAgICAgICA8dmVyc2lvbj4xLjc8L3ZlcnNpb24+CisgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuZnJlZW1hcmtlcjwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPmZyZWVtYXJrZXI8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4yLjMuMjI8L3ZlcnNpb24+CiAgICAgICAgIDwvZGVwZW5kZW5jeT4KICAgICA8L2RlcGVuZGVuY2llcz4KIApkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL2NvbnZlcnRlcnMvYmFzZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL0Jhc2VDb252ZXJ0ZXIuamF2YSBiL21hdmVuaXplci9jb252ZXJ0ZXJzL2Jhc2Uvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvdXRpbGl0aWVzL2NvbnZlcnRlci9CYXNlQ29udmVydGVyLmphdmEKaW5kZXggOTc0NzIwOS4uNWQ5MDRkZCAxMDA2NDQKLS0tIGEvbWF2ZW5pemVyL2NvbnZlcnRlcnMvYmFzZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL0Jhc2VDb252ZXJ0ZXIuamF2YQorKysgYi9tYXZlbml6ZXIvY29udmVydGVycy9iYXNlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvQmFzZUNvbnZlcnRlci5qYXZhCkBAIC0xOSwxMSArMTksMTEgQEAKIGltcG9ydCBjb20uc3VuLmplcnNleS5hcGkuY2xpZW50LkNsaWVudDsKIGltcG9ydCBjb20uc3VuLmplcnNleS5hcGkuY2xpZW50LkNsaWVudFJlc3BvbnNlOwogaW1wb3J0IGNvbS5zdW4uamVyc2V5LmFwaS5jbGllbnQuV2ViUmVzb3VyY2U7Ci0KK2ltcG9ydCBmcmVlbWFya2VyLnRlbXBsYXRlLkNvbmZpZ3VyYXRpb247CitpbXBvcnQgZnJlZW1hcmtlci50ZW1wbGF0ZS5UZW1wbGF0ZTsKK2ltcG9ydCBmcmVlbWFya2VyLnRlbXBsYXRlLlRlbXBsYXRlRXhjZXB0aW9uSGFuZGxlcjsKIGltcG9ydCBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5leGNlcHRpb25zLkNvbnZlcnRlckV4Y2VwdGlvbjsKIGltcG9ydCBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5tb2RlbC5NYXZlbkFydGlmYWN0OwotaW1wb3J0IG9yZy5hcGFjaGUudmVsb2NpdHkuVmVsb2NpdHlDb250ZXh0OwotaW1wb3J0IG9yZy5hcGFjaGUudmVsb2NpdHkuYXBwLlZlbG9jaXR5RW5naW5lOwogaW1wb3J0IG9yZy5jb2RlaGF1cy5qZXR0aXNvbi5qc29uLkpTT05BcnJheTsKIGltcG9ydCBvcmcuY29kZWhhdXMuamV0dGlzb24uanNvbi5KU09ORXhjZXB0aW9uOwogaW1wb3J0IG9yZy5jb2RlaGF1cy5qZXR0aXNvbi5qc29uLkpTT05PYmplY3Q7CkBAIC0zMSwxMiArMzEsMTIgQEAKIAogaW1wb3J0IGphdmEuaW8uKjsKIGltcG9ydCBqYXZhLm1hdGguQmlnSW50ZWdlcjsKK2ltcG9ydCBqYXZhLm5ldC5VUkw7CiBpbXBvcnQgamF2YS5zZWN1cml0eS5NZXNzYWdlRGlnZXN0OwogaW1wb3J0IGphdmEuc2VjdXJpdHkuTm9TdWNoQWxnb3JpdGhtRXhjZXB0aW9uOwogaW1wb3J0IGphdmEudXRpbC5IYXNoTWFwOwogaW1wb3J0IGphdmEudXRpbC5MaXN0OwogaW1wb3J0IGphdmEudXRpbC5NYXA7Ci1pbXBvcnQgamF2YS51dGlsLlByb3BlcnRpZXM7CiBpbXBvcnQgamF2YS51dGlsLnppcC5aaXBFbnRyeTsKIGltcG9ydCBqYXZhLnV0aWwuemlwLlppcE91dHB1dFN0cmVhbTsKIApAQCAtNTQsNyArNTQsNyBAQAogICAgIHByb3RlY3RlZCBGaWxlIHJvb3RTb3VyY2VEaXJlY3Rvcnk7CiAgICAgcHJvdGVjdGVkIEZpbGUgcm9vdFRhcmdldERpcmVjdG9yeTsKIAotICAgIHByaXZhdGUgVmVsb2NpdHlFbmdpbmUgdmVsb2NpdHlFbmdpbmU7CisgICAgcHJvdGVjdGVkIENvbmZpZ3VyYXRpb24gZnJlZW1hcmtlckNvbmZpZzsKIAogICAgIHByb3RlY3RlZCBCYXNlQ29udmVydGVyKEZpbGUgcm9vdFNvdXJjZURpcmVjdG9yeSwgRmlsZSByb290VGFyZ2V0RGlyZWN0b3J5KSB0aHJvd3MgQ29udmVydGVyRXhjZXB0aW9uIHsKICAgICAgICAgaWYocm9vdFNvdXJjZURpcmVjdG9yeSA9PSBudWxsKSB7CkBAIC02NywyMCArNjcsMTAgQEAKICAgICAgICAgdGhpcy5yb290U291cmNlRGlyZWN0b3J5ID0gcm9vdFNvdXJjZURpcmVjdG9yeTsKICAgICAgICAgdGhpcy5yb290VGFyZ2V0RGlyZWN0b3J5ID0gcm9vdFRhcmdldERpcmVjdG9yeTsKIAotICAgICAgICB0cnkgewotICAgICAgICAgICAgLy8gTG9hZCBzb21lIGluaXRpYWwgcHJvcGVydGllcyBmcm9tIHRoZSBjbGFzc3BhdGguCi0gICAgICAgICAgICBmaW5hbCBQcm9wZXJ0aWVzIHByb3BlcnRpZXMgPSBuZXcgUHJvcGVydGllcygpOwotICAgICAgICAgICAgZmluYWwgSW5wdXRTdHJlYW0gcHJvcGVydHlJbnB1dFN0cmVhbSA9Ci0gICAgICAgICAgICAgICAgICBnZXRDbGFzcygpLmdldENsYXNzTG9hZGVyKCkuZ2V0UmVzb3VyY2VBc1N0cmVhbSgidmVsb2NpdHkucHJvcGVydGllcyIpOwotICAgICAgICAgICAgaWYocHJvcGVydHlJbnB1dFN0cmVhbSAhPSBudWxsKSB7Ci0gICAgICAgICAgICAgICAgcHJvcGVydGllcy5sb2FkKHByb3BlcnR5SW5wdXRTdHJlYW0pOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAvLyBJbnN0YW50aWF0ZSB0aGUgZW5naW5lIHRoYXQgd2lsbCBiZSB1c2VkIGZvciBldmVyeSBnZW5lcmF0aW9uLgotICAgICAgICAgICAgdmVsb2NpdHlFbmdpbmUgPSBuZXcgVmVsb2NpdHlFbmdpbmUocHJvcGVydGllcyk7Ci0gICAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgQ29udmVydGVyRXhjZXB0aW9uKCJFcnJvciBpbml0aWFsaXppbmcgdGhlIHZlbG9jaXR5IHRlbXBsYXRlIGVuZ2luZS4iLCBlKTsKLSAgICAgICAgfQorICAgICAgICB0aGlzLmZyZWVtYXJrZXJDb25maWcgPSBuZXcgQ29uZmlndXJhdGlvbihDb25maWd1cmF0aW9uLlZFUlNJT05fMl8zXzIyKTsKKyAgICAgICAgdGhpcy5mcmVlbWFya2VyQ29uZmlnLnNldERlZmF1bHRFbmNvZGluZygiVVRGLTgiKTsKKyAgICAgICAgdGhpcy5mcmVlbWFya2VyQ29uZmlnLnNldFRlbXBsYXRlRXhjZXB0aW9uSGFuZGxlcihUZW1wbGF0ZUV4Y2VwdGlvbkhhbmRsZXIuUkVUSFJPV19IQU5ETEVSKTsKKyAgICAgICAgdGhpcy5mcmVlbWFya2VyQ29uZmlnLnNldENsYXNzRm9yVGVtcGxhdGVMb2FkaW5nKHRoaXMuZ2V0Q2xhc3MoKSwgIi8iKTsKICAgICB9CiAKICAgICBwdWJsaWMgdm9pZCBjb252ZXJ0KCkgdGhyb3dzIENvbnZlcnRlckV4Y2VwdGlvbiB7CkBAIC0yNDMsMTcgKzIzMywxNiBAQAogICAgIHByb3RlY3RlZCB2b2lkIGNyZWF0ZVBvbURvY3VtZW50KGZpbmFsIE1hdmVuQXJ0aWZhY3QgbWV0YWRhdGEsIEZpbGUgb3V0cHV0RmlsZSkgdGhyb3dzIENvbnZlcnRlckV4Y2VwdGlvbiB7CiAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAvLyBCdWlsZCBhIGNvbnRleHQgdG8gaG9sZCB0aGUgbW9kZWwKLSAgICAgICAgICAgIGZpbmFsIFZlbG9jaXR5Q29udGV4dCB2ZWxvY2l0eUNvbnRleHQgPSBuZXcgVmVsb2NpdHlDb250ZXh0KCk7Ci0gICAgICAgICAgICB2ZWxvY2l0eUNvbnRleHQucHV0KCJhcnRpZmFjdCIsIG1ldGFkYXRhKTsKKyAgICAgICAgICAgIE1hcCBmcmVlbWFya2VyQ29udGV4dCA9IG5ldyBIYXNoTWFwKCk7CisgICAgICAgICAgICBmcmVlbWFya2VyQ29udGV4dC5wdXQoImFydGlmYWN0IiwgbWV0YWRhdGEpOwogCiAgICAgICAgICAgICAvLyBUcnkgdG8gZ2V0IGEgdGVtcGxhdGUgInRlbXBsYXRlcy97dHlwZX0udm0iLgotICAgICAgICAgICAgZmluYWwgU3RyaW5nIHRlbXBsYXRlTmFtZTsKLSAgICAgICAgICAgIGlmKHZlbG9jaXR5RW5naW5lLnJlc291cmNlRXhpc3RzKCJ0ZW1wbGF0ZXMvIiArIG1ldGFkYXRhLmdldFBhY2thZ2luZygpICsgIi52bSIpKSB7Ci0gICAgICAgICAgICAgICB0ZW1wbGF0ZU5hbWUgPSAidGVtcGxhdGVzLyIgKyBtZXRhZGF0YS5nZXRQYWNrYWdpbmcoKSArICIudm0iOwotICAgICAgICAgICAgfSBlbHNlIGlmKHZlbG9jaXR5RW5naW5lLnJlc291cmNlRXhpc3RzKCJ0ZW1wbGF0ZXMvZGVmYXVsdC52bSIpKSB7Ci0gICAgICAgICAgICAgICB0ZW1wbGF0ZU5hbWUgPSAidGVtcGxhdGVzL2RlZmF1bHQudm0iOworICAgICAgICAgICAgVGVtcGxhdGUgdGVtcGxhdGU7CisgICAgICAgICAgICBVUkwgY2hlY2sgPSB0aGlzLmdldENsYXNzKCkuZ2V0Q2xhc3NMb2FkZXIoKS5nZXRSZXNvdXJjZSgidGVtcGxhdGVzLyIgKyBtZXRhZGF0YS5nZXRQYWNrYWdpbmcoKSArICIuZnRsIik7CisgICAgICAgICAgICBpZihjaGVjayAhPSBudWxsKSB7CisgICAgICAgICAgICAgICAgdGVtcGxhdGUgPSBmcmVlbWFya2VyQ29uZmlnLmdldFRlbXBsYXRlKCJ0ZW1wbGF0ZXMvIiArIG1ldGFkYXRhLmdldFBhY2thZ2luZygpICsgIi5mdGwiKTsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICB0aHJvdyBuZXcgQ29udmVydGVyRXhjZXB0aW9uKCJObyB0ZW1wbGF0ZSBmb3VuZCBmb3IgZ2VuZXJhdGluZyBwb20gb3V0cHV0LiIpOworICAgICAgICAgICAgICAgIHRlbXBsYXRlID0gZnJlZW1hcmtlckNvbmZpZy5nZXRUZW1wbGF0ZSgidGVtcGxhdGVzL2RlZmF1bHQuZnRsIik7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIFByZXBhcmUgYW4gb3V0cHV0IHN0cmVhbSB0byB3aGljaCB0aGUgb3V0cHV0IGNhbiBiZSBnZW5lcmF0ZWQuCkBAIC0yNjcsOCArMjU2LDggQEAKIAogICAgICAgICAgICAgICAgIHdyaXRlciA9IG5ldyBGaWxlV3JpdGVyKG91dHB1dEZpbGUpOwogCi0gICAgICAgICAgICAgICAgLy8gSGF2ZSB2ZWxvY2l0eSBnZW5lcmF0ZSB0aGUgb3V0cHV0IGZvciB0aGUgdGVtcGxhdGUuCi0gICAgICAgICAgICAgICAgdmVsb2NpdHlFbmdpbmUubWVyZ2VUZW1wbGF0ZSh0ZW1wbGF0ZU5hbWUsICJ1dGYtOCIsIHZlbG9jaXR5Q29udGV4dCwgd3JpdGVyKTsKKyAgICAgICAgICAgICAgICAvLyBIYXZlIEZyZWVtYXJrZXIgZ2VuZXJhdGUgdGhlIG91dHB1dCBmb3IgdGhlIHRlbXBsYXRlLgorICAgICAgICAgICAgICAgIHRlbXBsYXRlLnByb2Nlc3MoZnJlZW1hcmtlckNvbnRleHQsIHdyaXRlcik7CiAgICAgICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICAgICAgIGlmKHdyaXRlciAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICAgICAgIHdyaXRlci5jbG9zZSgpOwpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL2NvbnZlcnRlcnMvYmFzZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL0NvbnZlcnRlci5qYXZhIGIvbWF2ZW5pemVyL2NvbnZlcnRlcnMvYmFzZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL0NvbnZlcnRlci5qYXZhCmluZGV4IDU4ODMyNzAuLjU0ZjRlMTggMTAwNjQ0Ci0tLSBhL21hdmVuaXplci9jb252ZXJ0ZXJzL2Jhc2Uvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvdXRpbGl0aWVzL2NvbnZlcnRlci9Db252ZXJ0ZXIuamF2YQorKysgYi9tYXZlbml6ZXIvY29udmVydGVycy9iYXNlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvQ29udmVydGVyLmphdmEKQEAgLTE4LDggKzE4LDYgQEAKIAogaW1wb3J0IG9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyLmV4Y2VwdGlvbnMuQ29udmVydGVyRXhjZXB0aW9uOwogCi1pbXBvcnQgamF2YS5pby5GaWxlOwotCiAvKioKICAqIENyZWF0ZWQgYnkgY2R1dHogb24gMTguMDQuMjAxNC4KICAqLwpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL2NvbnZlcnRlcnMvYmFzZS9zcmMvbWFpbi9yZXNvdXJjZXMvdGVtcGxhdGVzL2RlZmF1bHQuZnRsIGIvbWF2ZW5pemVyL2NvbnZlcnRlcnMvYmFzZS9zcmMvbWFpbi9yZXNvdXJjZXMvdGVtcGxhdGVzL2RlZmF1bHQuZnRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0YTIwMGIKLS0tIC9kZXYvbnVsbAorKysgYi9tYXZlbml6ZXIvY29udmVydGVycy9iYXNlL3NyYy9tYWluL3Jlc291cmNlcy90ZW1wbGF0ZXMvZGVmYXVsdC5mdGwKQEAgLTAsMCArMSw0MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IS0tCisKKyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCI+CisgICAgPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgorCisgICAgPGdyb3VwSWQ+JHthcnRpZmFjdC5ncm91cElkfTwvZ3JvdXBJZD4KKyAgICA8YXJ0aWZhY3RJZD4ke2FydGlmYWN0LmFydGlmYWN0SWR9PC9hcnRpZmFjdElkPgorICAgIDx2ZXJzaW9uPiR7YXJ0aWZhY3QudmVyc2lvbn08L3ZlcnNpb24+CisgICAgPHBhY2thZ2luZz4ke2FydGlmYWN0LnBhY2thZ2luZ308L3BhY2thZ2luZz4KKworPCNpZiBhcnRpZmFjdC5oYXNEZXBlbmRlbmNpZXMoKT4KKyAgICA8ZGVwZW5kZW5jaWVzPgorPCNsaXN0IGFydGlmYWN0LmRlcGVuZGVuY2llcyBhcyBkZXBlbmRlbmN5PgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPiR7ZGVwZW5kZW5jeS5ncm91cElkfTwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPiR7ZGVwZW5kZW5jeS5hcnRpZmFjdElkfTwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPiR7ZGVwZW5kZW5jeS52ZXJzaW9ufTwvdmVyc2lvbj4KKyAgICAgICAgICAgIDx0eXBlPiR7ZGVwZW5kZW5jeS5wYWNrYWdpbmd9PC90eXBlPgorICAgICAgICA8L2RlcGVuZGVuY3k+Cis8LyNsaXN0PgorICAgIDwvZGVwZW5kZW5jaWVzPgorPC8jaWY+CisKKzwvcHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tYXZlbml6ZXIvY29udmVydGVycy9iYXNlL3NyYy9tYWluL3Jlc291cmNlcy90ZW1wbGF0ZXMvZGVmYXVsdC52bSBiL21hdmVuaXplci9jb252ZXJ0ZXJzL2Jhc2Uvc3JjL21haW4vcmVzb3VyY2VzL3RlbXBsYXRlcy9kZWZhdWx0LnZtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YmZiNjBlLi4wMDAwMDAwCi0tLSBhL21hdmVuaXplci9jb252ZXJ0ZXJzL2Jhc2Uvc3JjL21haW4vcmVzb3VyY2VzL3RlbXBsYXRlcy9kZWZhdWx0LnZtCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Ci08cHJvamVjdCB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIj4KLSAgICA8bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+Ci0KLSAgICA8Z3JvdXBJZD4ke2FydGlmYWN0Lmdyb3VwSWR9PC9ncm91cElkPgotICAgIDxhcnRpZmFjdElkPiR7YXJ0aWZhY3QuYXJ0aWZhY3RJZH08L2FydGlmYWN0SWQ+Ci0gICAgPHZlcnNpb24+JHthcnRpZmFjdC52ZXJzaW9ufTwvdmVyc2lvbj4KLSAgICA8cGFja2FnaW5nPiR7YXJ0aWZhY3QucGFja2FnaW5nfTwvcGFja2FnaW5nPgotCi0jaWYgKCAkYXJ0aWZhY3QuaGFzRGVwZW5kZW5jaWVzKCkgKQotICAgIDxkZXBlbmRlbmNpZXM+Ci0jZm9yZWFjaCggJGRlcGVuZGVuY3kgaW4gJGFydGlmYWN0LmRlcGVuZGVuY2llcyApCi0gICAgICAgIDxkZXBlbmRlbmN5PgotICAgICAgICAgICAgPGdyb3VwSWQ+JHtkZXBlbmRlbmN5Lmdyb3VwSWR9PC9ncm91cElkPgotICAgICAgICAgICAgPGFydGlmYWN0SWQ+JHtkZXBlbmRlbmN5LmFydGlmYWN0SWR9PC9hcnRpZmFjdElkPgotICAgICAgICAgICAgPHZlcnNpb24+JHtkZXBlbmRlbmN5LnZlcnNpb259PC92ZXJzaW9uPgotICAgICAgICAgICAgPHR5cGU+JHtkZXBlbmRlbmN5LnBhY2thZ2luZ308L3R5cGU+Ci0gICAgICAgIDwvZGVwZW5kZW5jeT4KLSNlbmQKLSAgICA8L2RlcGVuZGVuY2llcz4KLSNlbmQKLQotPC9wcm9qZWN0PgpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL2NvbnZlcnRlcnMvYmFzZS9zcmMvbWFpbi9yZXNvdXJjZXMvdGVtcGxhdGVzL3BvbS5mdGwgYi9tYXZlbml6ZXIvY29udmVydGVycy9iYXNlL3NyYy9tYWluL3Jlc291cmNlcy90ZW1wbGF0ZXMvcG9tLmZ0bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjQyZmI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWF2ZW5pemVyL2NvbnZlcnRlcnMvYmFzZS9zcmMvbWFpbi9yZXNvdXJjZXMvdGVtcGxhdGVzL3BvbS5mdGwKQEAgLTAsMCArMSw1NSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IS0tCisKKyAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCI+CisgICAgPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgorCisgICAgPGdyb3VwSWQ+JHthcnRpZmFjdC5ncm91cElkfTwvZ3JvdXBJZD4KKyAgICA8YXJ0aWZhY3RJZD4ke2FydGlmYWN0LmFydGlmYWN0SWR9PC9hcnRpZmFjdElkPgorICAgIDx2ZXJzaW9uPiR7YXJ0aWZhY3QudmVyc2lvbn08L3ZlcnNpb24+CisgICAgPHBhY2thZ2luZz4ke2FydGlmYWN0LnBhY2thZ2luZ308L3BhY2thZ2luZz4KKworPCNpZiBhcnRpZmFjdC5oYXNEZXBlbmRlbmNpZXMoKT4KKyAgICA8ZGVwZW5kZW5jaWVzPgorPCNsaXN0IGFydGlmYWN0LmRlcGVuZGVuY2llcyBhcyBkZXBlbmRlbmN5PgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPiR7ZGVwZW5kZW5jeS5ncm91cElkfTwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPiR7ZGVwZW5kZW5jeS5hcnRpZmFjdElkfTwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPiR7ZGVwZW5kZW5jeS52ZXJzaW9ufTwvdmVyc2lvbj4KKzwjaWYgZGVwZW5kZW5jeS5wYWNrYWdpbmcgIT0gImphciI+CisgICAgICAgICAgICA8dHlwZT4ke2RlcGVuZGVuY3kucGFja2FnaW5nfTwvdHlwZT4KKzwvI2lmPgorICAgICAgICA8L2RlcGVuZGVuY3k+Cis8LyNsaXN0PgorICAgIDwvZGVwZW5kZW5jaWVzPgorCisgICAgPGRlcGVuZGVuY3lNYW5hZ2VtZW50PgorICAgICAgICA8ZGVwZW5kZW5jaWVzPgorPCNsaXN0IGFydGlmYWN0LmRlcGVuZGVuY2llcyBhcyBkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICAgICAgPGdyb3VwSWQ+JHtkZXBlbmRlbmN5Lmdyb3VwSWR9PC9ncm91cElkPgorICAgICAgICAgICAgICAgIDxhcnRpZmFjdElkPiR7ZGVwZW5kZW5jeS5hcnRpZmFjdElkfTwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgICAgICA8dmVyc2lvbj4ke2RlcGVuZGVuY3kudmVyc2lvbn08L3ZlcnNpb24+CisgICAgICAgICAgICA8L2RlcGVuZGVuY3k+Cis8LyNsaXN0PgorICAgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICA8L2RlcGVuZGVuY3lNYW5hZ2VtZW50PgorPC8jaWY+CisKKzwvcHJvamVjdD4KZGlmZiAtLWdpdCBhL21hdmVuaXplci9jb252ZXJ0ZXJzL2Jhc2Uvc3JjL21haW4vcmVzb3VyY2VzL3RlbXBsYXRlcy9wb20udm0gYi9tYXZlbml6ZXIvY29udmVydGVycy9iYXNlL3NyYy9tYWluL3Jlc291cmNlcy90ZW1wbGF0ZXMvcG9tLnZtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MDVhZGExLi4wMDAwMDAwCi0tLSBhL21hdmVuaXplci9jb252ZXJ0ZXJzL2Jhc2Uvc3JjL21haW4vcmVzb3VyY2VzL3RlbXBsYXRlcy9wb20udm0KKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ibm8iPz4KLTxwcm9qZWN0IHhtbG5zPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAiPgotICAgIDxtb2RlbFZlcnNpb24+NC4wLjA8L21vZGVsVmVyc2lvbj4KLQotICAgIDxncm91cElkPiR7YXJ0aWZhY3QuZ3JvdXBJZH08L2dyb3VwSWQ+Ci0gICAgPGFydGlmYWN0SWQ+JHthcnRpZmFjdC5hcnRpZmFjdElkfTwvYXJ0aWZhY3RJZD4KLSAgICA8dmVyc2lvbj4ke2FydGlmYWN0LnZlcnNpb259PC92ZXJzaW9uPgotICAgIDxwYWNrYWdpbmc+JHthcnRpZmFjdC5wYWNrYWdpbmd9PC9wYWNrYWdpbmc+Ci0KLSNpZiAoICRhcnRpZmFjdC5oYXNEZXBlbmRlbmNpZXMoKSApCi0gICAgPGRlcGVuZGVuY2llcz4KLSNmb3JlYWNoKCAkZGVwZW5kZW5jeSBpbiAkYXJ0aWZhY3QuZGVwZW5kZW5jaWVzICkKLSAgICAgICAgPGRlcGVuZGVuY3k+Ci0gICAgICAgICAgICA8Z3JvdXBJZD4ke2RlcGVuZGVuY3kuZ3JvdXBJZH08L2dyb3VwSWQ+Ci0gICAgICAgICAgICA8YXJ0aWZhY3RJZD4ke2RlcGVuZGVuY3kuYXJ0aWZhY3RJZH08L2FydGlmYWN0SWQ+Ci0gICAgICAgICAgICA8dmVyc2lvbj4ke2RlcGVuZGVuY3kudmVyc2lvbn08L3ZlcnNpb24+Ci0jaWYgKCRkZXBlbmRlbmN5LnBhY2thZ2luZyAhPSAiamFyIikKLSAgICAgICAgICAgIDx0eXBlPiR7ZGVwZW5kZW5jeS5wYWNrYWdpbmd9PC90eXBlPgotI2VuZAotICAgICAgICA8L2RlcGVuZGVuY3k+Ci0jZW5kCi0gICAgPC9kZXBlbmRlbmNpZXM+Ci0KLSAgICA8ZGVwZW5kZW5jeU1hbmFnZW1lbnQ+Ci0gICAgICAgIDxkZXBlbmRlbmNpZXM+Ci0jZm9yZWFjaCggJGRlcGVuZGVuY3kgaW4gJGFydGlmYWN0LmRlcGVuZGVuY2llcyApCi0gICAgICAgICAgICA8ZGVwZW5kZW5jeT4KLSAgICAgICAgICAgICAgICA8Z3JvdXBJZD4ke2RlcGVuZGVuY3kuZ3JvdXBJZH08L2dyb3VwSWQ+Ci0gICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+JHtkZXBlbmRlbmN5LmFydGlmYWN0SWR9PC9hcnRpZmFjdElkPgotICAgICAgICAgICAgICAgIDx2ZXJzaW9uPiR7ZGVwZW5kZW5jeS52ZXJzaW9ufTwvdmVyc2lvbj4KLSAgICAgICAgICAgIDwvZGVwZW5kZW5jeT4KLSNlbmQKLSAgICAgICAgPC9kZXBlbmRlbmNpZXM+Ci0gICAgPC9kZXBlbmRlbmN5TWFuYWdlbWVudD4KLSNlbmQKLQotPC9wcm9qZWN0PgpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL2NvbnZlcnRlcnMvYmFzZS9zcmMvbWFpbi9yZXNvdXJjZXMvdmVsb2NpdHkucHJvcGVydGllcyBiL21hdmVuaXplci9jb252ZXJ0ZXJzL2Jhc2Uvc3JjL21haW4vcmVzb3VyY2VzL3ZlbG9jaXR5LnByb3BlcnRpZXMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJiZWI1MDIuLjAwMDAwMDAKLS0tIGEvbWF2ZW5pemVyL2NvbnZlcnRlcnMvYmFzZS9zcmMvbWFpbi9yZXNvdXJjZXMvdmVsb2NpdHkucHJvcGVydGllcworKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLSMKLSMgc3BlY2lmeSB0aHJlZSByZXNvdXJjZSBsb2FkZXJzIHRvIHVzZQotIwotcmVzb3VyY2UubG9hZGVyID0gY2xhc3MKLQotIwotIyAgZm9yIHRoZSBsb2FkZXIgd2UgY2FsbCAnY2xhc3MnLCB1c2UgdGhlIENsYXNzcGF0aFJlc291cmNlTG9hZGVyCi0jCi1jbGFzcy5yZXNvdXJjZS5sb2FkZXIuZGVzY3JpcHRpb24gPSBWZWxvY2l0eSBDbGFzc3BhdGggUmVzb3VyY2UgTG9hZGVyCi1jbGFzcy5yZXNvdXJjZS5sb2FkZXIuY2xhc3MgPSBvcmcuYXBhY2hlLnZlbG9jaXR5LnJ1bnRpbWUucmVzb3VyY2UubG9hZGVyLkNsYXNzcGF0aFJlc291cmNlTG9hZGVyCmRpZmYgLS1naXQgYS9tYXZlbml6ZXIvY29udmVydGVycy9mbGFzaC9wb20ueG1sIGIvbWF2ZW5pemVyL2NvbnZlcnRlcnMvZmxhc2gvcG9tLnhtbAppbmRleCA4NGQwYWQzLi42YWZjNTE5IDEwMDY0NAotLS0gYS9tYXZlbml6ZXIvY29udmVydGVycy9mbGFzaC9wb20ueG1sCisrKyBiL21hdmVuaXplci9jb252ZXJ0ZXJzL2ZsYXNoL3BvbS54bWwKQEAgLTE3LDkgKzE3LDcgQEAKICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAKIC0tPgotPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIKLSAgICAgICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCi0gICAgICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy94c2QvbWF2ZW4tNC4wLjAueHNkIj4KKzxwcm9qZWN0IHhtbG5zPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54c2QiPgogICAgIDxtb2RlbFZlcnNpb24+NC4wLjA8L21vZGVsVmVyc2lvbj4KIAogICAgIDxwYXJlbnQ+CmRpZmYgLS1naXQgYS9tYXZlbml6ZXIvY29udmVydGVycy9mbGFzaC9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL2ZsYXNoL0ZsYXNoQ29udmVydGVyLmphdmEgYi9tYXZlbml6ZXIvY29udmVydGVycy9mbGFzaC9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL2ZsYXNoL0ZsYXNoQ29udmVydGVyLmphdmEKaW5kZXggNWNlNzJmNi4uNzc2ZTBjNiAxMDA2NDQKLS0tIGEvbWF2ZW5pemVyL2NvbnZlcnRlcnMvZmxhc2gvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvdXRpbGl0aWVzL2NvbnZlcnRlci9mbGFzaC9GbGFzaENvbnZlcnRlci5qYXZhCisrKyBiL21hdmVuaXplci9jb252ZXJ0ZXJzL2ZsYXNoL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvZmxhc2gvRmxhc2hDb252ZXJ0ZXIuamF2YQpAQCAtNTMsNyArNTMsOCBAQAogICAgIEBPdmVycmlkZQogICAgIHByb3RlY3RlZCB2b2lkIHByb2Nlc3NEaXJlY3RvcnkoKSB0aHJvd3MgQ29udmVydGVyRXhjZXB0aW9uIHsKICAgICAgICAgaWYoIXJvb3RTb3VyY2VEaXJlY3RvcnkuZXhpc3RzKCkgfHwgIXJvb3RTb3VyY2VEaXJlY3RvcnkuaXNEaXJlY3RvcnkoKSkgewotICAgICAgICAgICAgdGhyb3cgbmV3IENvbnZlcnRlckV4Y2VwdGlvbigiRmxhc2ggU0RLIGRpcmVjdG9yeSAnIiArIHJvb3RTb3VyY2VEaXJlY3RvcnkuZ2V0UGF0aCgpICsgIicgaXMgaW52YWxpZC4iKTsKKyAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiU2tpcHBpbmcgRmxhc2ggU0RLIGdlbmVyYXRpb24uIik7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICBnZW5lcmF0ZVJ1bnRpbWVBcnRpZmFjdHMoKTsKQEAgLTY5LDcgKzcwLDcgQEAKICAgICAgICAgLy8gQ3JlYXRlIGEgbGlzdCBvZiBhbGwgbGlicyB0aGF0IHNob3VsZCBiZWxvbmcgdG8gdGhlIEZsYXNoIFNESyBydW50aW1lLgogICAgICAgICBmaW5hbCBGaWxlIGRpcmVjdG9yeSA9IG5ldyBGaWxlKHJvb3RTb3VyY2VEaXJlY3RvcnksICJydW50aW1lcyIgKyBGaWxlLnNlcGFyYXRvciArICJwbGF5ZXIiKTsKICAgICAgICAgaWYoIWRpcmVjdG9yeS5leGlzdHMoKSB8fCAhZGlyZWN0b3J5LmlzRGlyZWN0b3J5KCkpIHsKLSAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiU2tpcHBpbmcgcnVudGltZSBnZW5lcmF0aW9uLiIpOworICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJTa2lwcGluZyBGbGFzaCBydW50aW1lIGdlbmVyYXRpb24uIik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgZmluYWwgTGlzdDxGaWxlPiBwbGF5ZXJWZXJzaW9ucyA9IG5ldyBBcnJheUxpc3Q8RmlsZT4oKTsKQEAgLTIxNCw4ICsyMTUsMTAgQEAKICAgICBwcm90ZWN0ZWQgdm9pZCBnZW5lcmF0ZUZyYW1ld29ya0FydGlmYWN0cygpIHRocm93cyBDb252ZXJ0ZXJFeGNlcHRpb24gewogICAgICAgICAvLyBDcmVhdGUgYSBsaXN0IG9mIGFsbCBsaWJzIHRoYXQgc2hvdWxkIGJlbG9uZyB0byB0aGUgRmxhc2ggU0RLIHJ1bnRpbWUuCiAgICAgICAgIGZpbmFsIEZpbGUgZGlyZWN0b3J5ID0gbmV3IEZpbGUocm9vdFNvdXJjZURpcmVjdG9yeSwgImZyYW1ld29ya3MubGlicy5wbGF5ZXIiLnJlcGxhY2UoIi4iLCBGaWxlLnNlcGFyYXRvcikpOworICAgICAgICAvLyBJdCBzZWVtcyB0aGUgZmRrIGRpcmVjdG9yeSBkb2Vzbid0IGNvbnRhaW4gYW55IGZsYXNoIHJlc291cmNlcy4KICAgICAgICAgaWYgKCFkaXJlY3RvcnkuZXhpc3RzKCkgfHwgIWRpcmVjdG9yeS5pc0RpcmVjdG9yeSgpKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgQ29udmVydGVyRXhjZXB0aW9uKCJSdW50aW1lIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdC4iKTsKKyAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiU2tpcHBpbmcgRmxhc2ggZnJhbWV3b3JrIGdlbmVyYXRpb24uIik7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgZmluYWwgTGlzdDxGaWxlPiBwbGF5ZXJWZXJzaW9ucyA9IG5ldyBBcnJheUxpc3Q8RmlsZT4oKTsKICAgICAgICAgZmluYWwgRmlsZVtdIHZlcnNpb25zID0gZGlyZWN0b3J5Lmxpc3RGaWxlcygpOwpAQCAtMjQxLDYgKzI0NCwxNyBAQAogICAgICAgICAgICAgICAgIHBsYXllcmdsb2JhbC5zZXRQYWNrYWdpbmcoInN3YyIpOwogICAgICAgICAgICAgICAgIHBsYXllcmdsb2JhbC5hZGREZWZhdWx0QmluYXJ5QXJ0aWZhY3QocGxheWVyZ2xvYmFsU3djKTsKICAgICAgICAgICAgICAgICB3cml0ZUFydGlmYWN0KHBsYXllcmdsb2JhbCk7CisKKyAgICAgICAgICAgICAgICAvLyBDcmVhdGUgYSBkdW1teSBwb20gYXJ0aWZhY3QgdGhhdCByZWZlcmVuY2VzIHRoZSBwbGF5ZXJnbG9iYWwKKyAgICAgICAgICAgICAgICAvLyBpbiBvcmRlciB0byBjb25zZXF1ZW50bHkgaGF2ZSBhIGZyYW1ld29yayBhcnRpZmFjdCBmb3IgZXZlcnkKKyAgICAgICAgICAgICAgICAvLyBwYXJ0IG9mIGZsZXguCisgICAgICAgICAgICAgICAgZmluYWwgTWF2ZW5BcnRpZmFjdCBmcmFtZXdvcmsgPSBuZXcgTWF2ZW5BcnRpZmFjdCgpOworICAgICAgICAgICAgICAgIGZyYW1ld29yay5zZXRHcm91cElkKCJjb20uYWRvYmUuZmxhc2giKTsKKyAgICAgICAgICAgICAgICBmcmFtZXdvcmsuc2V0QXJ0aWZhY3RJZCgiZnJhbWV3b3JrIik7CisgICAgICAgICAgICAgICAgZnJhbWV3b3JrLnNldFZlcnNpb24odmVyc2lvbik7CisgICAgICAgICAgICAgICAgZnJhbWV3b3JrLnNldFBhY2thZ2luZygicG9tIik7CisgICAgICAgICAgICAgICAgZnJhbWV3b3JrLmFkZERlcGVuZGVuY3kocGxheWVyZ2xvYmFsKTsKKyAgICAgICAgICAgICAgICB3cml0ZVBvbUFydGlmYWN0KGZyYW1ld29yayk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9tYXZlbml6ZXIvY29udmVydGVycy9mbGV4L3BvbS54bWwgYi9tYXZlbml6ZXIvY29udmVydGVycy9mbGV4L3BvbS54bWwKaW5kZXggZWNhODUwNS4uNDgwYmM4MyAxMDA2NDQKLS0tIGEvbWF2ZW5pemVyL2NvbnZlcnRlcnMvZmxleC9wb20ueG1sCisrKyBiL21hdmVuaXplci9jb252ZXJ0ZXJzL2ZsZXgvcG9tLnhtbApAQCAtMTcsOSArMTcsNyBAQAogICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KIAogLS0+Ci08cHJvamVjdCB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIgotICAgICAgICAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKLSAgICAgICAgIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54c2QiPgorPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAgaHR0cDovL21hdmVuLmFwYWNoZS5vcmcveHNkL21hdmVuLTQuMC4wLnhzZCI+CiAgICAgPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgogCiAgICAgPHBhcmVudD4KQEAgLTUxLDYgKzQ5LDE2IEBACiAgICAgICAgICAgICA8YXJ0aWZhY3RJZD5mbGFzaC1jb252ZXJ0ZXI8L2FydGlmYWN0SWQ+CiAgICAgICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KICAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyPC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+Zm9udGtpdC1jb252ZXJ0ZXI8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyPC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+d3JhcHBlci1jb252ZXJ0ZXI8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgogICAgIDwvZGVwZW5kZW5jaWVzPgogCiA8L3Byb2plY3Q+CmRpZmYgLS1naXQgYS9tYXZlbml6ZXIvY29udmVydGVycy9mbGV4L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvZmxleC9GbGV4Q29udmVydGVyLmphdmEgYi9tYXZlbml6ZXIvY29udmVydGVycy9mbGV4L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvZmxleC9GbGV4Q29udmVydGVyLmphdmEKaW5kZXggNGFhOWJhOC4uNmRlZjhhMSAxMDA2NDQKLS0tIGEvbWF2ZW5pemVyL2NvbnZlcnRlcnMvZmxleC9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL2ZsZXgvRmxleENvbnZlcnRlci5qYXZhCisrKyBiL21hdmVuaXplci9jb252ZXJ0ZXJzL2ZsZXgvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvdXRpbGl0aWVzL2NvbnZlcnRlci9mbGV4L0ZsZXhDb252ZXJ0ZXIuamF2YQpAQCAtNDEsNiArNDEsNyBAQAogcHVibGljIGNsYXNzIEZsZXhDb252ZXJ0ZXIgZXh0ZW5kcyBCYXNlQ29udmVydGVyIGltcGxlbWVudHMgQ29udmVydGVyIHsKIAogICAgIHByb3RlY3RlZCBTdHJpbmcgZmxleFNka1ZlcnNpb247CisgICAgcHJvdGVjdGVkIFN0cmluZyBmbGV4QnVpbGQ7CiAKICAgICAvKioKICAgICAgKiBAcGFyYW0gcm9vdFNvdXJjZURpcmVjdG9yeSBQYXRoIHRvIHRoZSByb290IG9mIHRoZSBvcmlnaW5hbCBGbGV4IFNESy4KQEAgLTUyLDYgKzUzLDcgQEAKIAogICAgICAgICAvLyBHZXQgdGhlIHZlcnNpb24gb2YgdGhlIGN1cnJlbnQgRmxleCBTREsuCiAgICAgICAgIHRoaXMuZmxleFNka1ZlcnNpb24gPSBnZXRGbGV4VmVyc2lvbihyb290U291cmNlRGlyZWN0b3J5KTsKKyAgICAgICAgdGhpcy5mbGV4QnVpbGQgPSBnZXRGbGV4QnVpbGQocm9vdFNvdXJjZURpcmVjdG9yeSk7CiAgICAgfQogCiAgICAgLyoqCkBAIC02MSw4ICs2Myw5IEBACiAgICAgICovCiAgICAgQE92ZXJyaWRlCiAgICAgcHJvdGVjdGVkIHZvaWQgcHJvY2Vzc0RpcmVjdG9yeSgpIHRocm93cyBDb252ZXJ0ZXJFeGNlcHRpb24gewotICAgICAgICBpZighcm9vdFNvdXJjZURpcmVjdG9yeS5leGlzdHMoKSB8fCAhcm9vdFNvdXJjZURpcmVjdG9yeS5pc0RpcmVjdG9yeSgpKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgQ29udmVydGVyRXhjZXB0aW9uKCJGbGV4IFNESyBkaXJlY3RvcnkgJyIgKyByb290U291cmNlRGlyZWN0b3J5LmdldFBhdGgoKSArICInIGlzIGludmFsaWQuIik7CisgICAgICAgIGlmKChmbGV4U2RrVmVyc2lvbiA9PSBudWxsKSB8fCAhcm9vdFNvdXJjZURpcmVjdG9yeS5leGlzdHMoKSB8fCAhcm9vdFNvdXJjZURpcmVjdG9yeS5pc0RpcmVjdG9yeSgpKSB7CisgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlNraXBwaW5nIEZsZXggU0RLIGdlbmVyYXRpb24uIik7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICBnZW5lcmF0ZUNvbXBpbGVyQXJ0aWZhY3RzKCk7CkBAIC05NCwxMiArOTcsNiBAQAogICAgICAgICBmaW5hbCBGaWxlIGV4dGVybmFsRGlyZWN0b3J5ID0gbmV3IEZpbGUoZGlyZWN0b3J5LCAiZXh0ZXJuYWwiKTsKICAgICAgICAgaWYoZXh0ZXJuYWxEaXJlY3RvcnkuZXhpc3RzKCkgJiYgZXh0ZXJuYWxEaXJlY3RvcnkuaXNEaXJlY3RvcnkoKSkgewogICAgICAgICAgICAgZmlsZXMuYWRkQWxsKEFycmF5cy5hc0xpc3QoZXh0ZXJuYWxEaXJlY3RvcnkubGlzdEZpbGVzKG5ldyBGbGV4Q29tcGlsZXJGaWx0ZXIoKSkpKTsKLQotICAgICAgICAgICAgLy8gQWRkIGFsbCBqYXJzIGluIHRoZSAiZXh0ZXJuYWwvb3B0aW9uYWwiIGRpcmVjdG9yeS4KLSAgICAgICAgICAgIGZpbmFsIEZpbGUgb3B0aW9uYWxEaXJlY3RvcnkgPSBuZXcgRmlsZShleHRlcm5hbERpcmVjdG9yeSwgIm9wdGlvbmFsIik7Ci0gICAgICAgICAgICBpZihvcHRpb25hbERpcmVjdG9yeS5leGlzdHMoKSAmJiBvcHRpb25hbERpcmVjdG9yeS5pc0RpcmVjdG9yeSgpKSB7Ci0gICAgICAgICAgICAgICAgZmlsZXMuYWRkQWxsKEFycmF5cy5hc0xpc3Qob3B0aW9uYWxEaXJlY3RvcnkubGlzdEZpbGVzKG5ldyBGbGV4Q29tcGlsZXJGaWx0ZXIoKSkpKTsKLSAgICAgICAgICAgIH0KICAgICAgICAgfQogCiAgICAgICAgIC8vIEdlbmVyYXRlIGFydGlmYWN0cyBmb3IgZXZlcnkgamFyIGluIHRoZSBpbnB1dCBkaXJlY3Rvcmllcy4KQEAgLTE3Miw3ICsxNjksNiBAQAogICAgICAgICAvLyBBZnRlciBwcm9jZXNzaW5nIHRoZSBjdXJyZW50IGRpcmVjdG9yeSwgcHJvY2VzcyBhbnkgZXZlbnR1YWxseSBleGlzdGluZyBjaGlsZCBkaXJlY3Rvcmllcy4KICAgICAgICAgZmluYWwgTGlzdDxGaWxlPiBjaGlsZHJlbiA9IG5ldyBBcnJheUxpc3Q8RmlsZT4oKTsKICAgICAgICAgY2hpbGRyZW4uYWRkQWxsKEFycmF5cy5hc0xpc3QoZGlyZWN0b3J5Lmxpc3RGaWxlcyhuZXcgRmlsZUZpbHRlcigpIHsKLSAgICAgICAgICAgIEBPdmVycmlkZQogICAgICAgICAgICAgcHVibGljIGJvb2xlYW4gYWNjZXB0KEZpbGUgcGF0aG5hbWUpIHsKICAgICAgICAgICAgICAgICByZXR1cm4gcGF0aG5hbWUuaXNEaXJlY3RvcnkoKSAmJiAhInBsYXllciIuZXF1YWxzKHBhdGhuYW1lLmdldE5hbWUoKSkgJiYKICAgICAgICAgICAgICAgICAgICAgICAgICEibXgiLmVxdWFscyhwYXRobmFtZS5nZXROYW1lKCkpOwpAQCAtNDMwLDYgKzQyNiwxMSBAQAogICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICBmaW5hbCBGaWxlIGNvbXBjTGlicmFyeSA9IG5ldyBGaWxlKGZka0xpYkRpciwgImNvbXBjLmphciIpOwogICAgICAgICAgICAgICAgIGZpbmFsIEZpbGUgZnJhbWV3b3JrRGlyID0gbmV3IEZpbGUocm9vdFNvdXJjZURpcmVjdG9yeSwgImZyYW1ld29ya3MiKTsKKyAgICAgICAgICAgICAgICBmaW5hbCBTdHJpbmcgdGFyZ2V0UGxheWVyID0gZ2V0VGFyZ2V0UGxheWVyKG5ldyBGaWxlKGZyYW1ld29ya0RpciwgImxpYnMvcGxheWVyIikpOworICAgICAgICAgICAgICAgIGlmKHRhcmdldFBsYXllciA9PSBudWxsKSB7CisgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiU2tpcHBpbmcgdGhlbWUgY29tcGlsYXRpb24gZHVlIHRvIG1pc3NpbmcgcGxheWVyZ2xvYmwuc3djIik7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsOworICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIHByb2Nlc3NDbWQuYWRkKCJqYXZhIik7CiAgICAgICAgICAgICAgICAgcHJvY2Vzc0NtZC5hZGQoIi1YbXgzODRtIik7CkBAIC00MzcsMTEgKzQzOCwxMSBAQAogICAgICAgICAgICAgICAgIHByb2Nlc3NDbWQuYWRkKCItamFyIik7CiAgICAgICAgICAgICAgICAgcHJvY2Vzc0NtZC5hZGQoY29tcGNMaWJyYXJ5LmdldENhbm9uaWNhbFBhdGgoKSk7CiAgICAgICAgICAgICAgICAgcHJvY2Vzc0NtZC5hZGQoIitmbGV4bGliPSIgKyBmcmFtZXdvcmtEaXIuZ2V0Q2Fub25pY2FsUGF0aCgpKTsKKyAgICAgICAgICAgICAgICBwcm9jZXNzQ21kLmFkZCgiLXRhcmdldC1wbGF5ZXI9IiArIHRhcmdldFBsYXllcik7CiAKICAgICAgICAgICAgICAgICBpZiAodGhlbWVEaXJlY3RvcnkuaXNEaXJlY3RvcnkoKSkgewogICAgICAgICAgICAgICAgICAgICAvLyBBZGQgYWxsIHRoZSBjb250ZW50IGZpbGVzLgogICAgICAgICAgICAgICAgICAgICBmaW5hbCBGaWxlIGNvbnRlbnRzW10gPSB0aGVtZURpcmVjdG9yeS5saXN0RmlsZXMobmV3IEZpbGVGaWx0ZXIoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBAT3ZlcnJpZGUKICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBib29sZWFuIGFjY2VwdChGaWxlIHBhdGhuYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICEocGF0aG5hbWUuaXNEaXJlY3RvcnkoKSAmJiAic3JjIi5lcXVhbHMocGF0aG5hbWUuZ2V0TmFtZSgpKSkgJiYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEicHJldmlldy5qcGciLmVxdWFscyhwYXRobmFtZS5nZXROYW1lKCkpICYmICFwYXRobmFtZS5nZXROYW1lKCkuZW5kc1dpdGgoIi5mbGEiKTsKQEAgLTU2NSw2ICs1NjYsMTIgQEAKICAgICBwcm90ZWN0ZWQgU3RyaW5nIGdldEZsZXhWZXJzaW9uKEZpbGUgcm9vdERpcmVjdG9yeSkgdGhyb3dzIENvbnZlcnRlckV4Y2VwdGlvbiB7CiAgICAgICAgIGZpbmFsIEZpbGUgc2RrRGVzY3JpcHRvciA9IG5ldyBGaWxlKHJvb3REaXJlY3RvcnksICJmbGV4LXNkay1kZXNjcmlwdGlvbi54bWwiKTsKIAorICAgICAgICAvLyBJZiB0aGUgZGVzY3JpcHRvciBpcyBub3QgcHJlc2VudCwgcmV0dXJuIG51bGwgYXMgdGhpcyBGREsgZGlyZWN0b3J5IGRvZXNuJ3QKKyAgICAgICAgLy8gc2VlbSB0byBjb250YWluIGEgRmxleCBTREsuCisgICAgICAgIGlmKCFzZGtEZXNjcmlwdG9yLmV4aXN0cygpKSB7CisgICAgICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAgICAgfQorCiAgICAgICAgIGZpbmFsIERvY3VtZW50QnVpbGRlckZhY3RvcnkgZGJmID0gRG9jdW1lbnRCdWlsZGVyRmFjdG9yeS5uZXdJbnN0YW5jZSgpOwogICAgICAgICB0cnkgewogICAgICAgICAgICAgLy8gUGFyc2UgdGhlIGRvY3VtZW50CkBAIC01NzcsNyArNTg0LDM5IEBACiAgICAgICAgICAgICBmaW5hbCBTdHJpbmcgYnVpbGQgPSByb290LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJidWlsZCIpLml0ZW0oMCkuZ2V0VGV4dENvbnRlbnQoKTsKIAogICAgICAgICAgICAgLy8gSW4gZ2VuZXJhbCB0aGUgdmVyc2lvbiBjb25zaXN0cyBvZiB0aGUgY29udGVudCBvZiB0aGUgdmVyc2lvbiBlbGVtZW50IHdpdGggYW4gYXBwZW5kZWQgYnVpbGQtbnVtYmVyLgotICAgICAgICAgICAgcmV0dXJuIChidWlsZC5lcXVhbHMoIjAiKSkgPyB2ZXJzaW9uICsgIi1TTkFQU0hPVCIgOiB2ZXJzaW9uICsgIi4iICsgYnVpbGQ7CisgICAgICAgICAgICByZXR1cm4gKGJ1aWxkLmVxdWFscygiMCIpKSA/IHZlcnNpb24gKyAiLVNOQVBTSE9UIiA6IHZlcnNpb247CisgICAgICAgIH0gY2F0Y2ggKFBhcnNlckNvbmZpZ3VyYXRpb25FeGNlcHRpb24gcGNlKSB7CisgICAgICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbihwY2UpOworICAgICAgICB9IGNhdGNoIChTQVhFeGNlcHRpb24gc2UpIHsKKyAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKHNlKTsKKyAgICAgICAgfSBjYXRjaCAoSU9FeGNlcHRpb24gaW9lKSB7CisgICAgICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbihpb2UpOworICAgICAgICB9CisgICAgfQorCisgICAgLyoqCisgICAgICogR2V0IHRoZSB2ZXJzaW9uIG9mIGFuIEZsZXggU0RLIGZyb20gdGhlIGNvbnRlbnQgb2YgdGhlIFNESyBkaXJlY3RvcnkuCisgICAgICoKKyAgICAgKiBAcmV0dXJuIHZlcnNpb24gc3RyaW5nIGZvciB0aGUgY3VycmVudCBGbGV4IFNESworICAgICAqLworICAgIHByb3RlY3RlZCBTdHJpbmcgZ2V0RmxleEJ1aWxkKEZpbGUgcm9vdERpcmVjdG9yeSkgdGhyb3dzIENvbnZlcnRlckV4Y2VwdGlvbiB7CisgICAgICAgIGZpbmFsIEZpbGUgc2RrRGVzY3JpcHRvciA9IG5ldyBGaWxlKHJvb3REaXJlY3RvcnksICJmbGV4LXNkay1kZXNjcmlwdGlvbi54bWwiKTsKKworICAgICAgICAvLyBJZiB0aGUgZGVzY3JpcHRvciBpcyBub3QgcHJlc2VudCwgcmV0dXJuIG51bGwgYXMgdGhpcyBGREsgZGlyZWN0b3J5IGRvZXNuJ3QKKyAgICAgICAgLy8gc2VlbSB0byBjb250YWluIGEgRmxleCBTREsuCisgICAgICAgIGlmKCFzZGtEZXNjcmlwdG9yLmV4aXN0cygpKSB7CisgICAgICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAgICAgfQorCisgICAgICAgIGZpbmFsIERvY3VtZW50QnVpbGRlckZhY3RvcnkgZGJmID0gRG9jdW1lbnRCdWlsZGVyRmFjdG9yeS5uZXdJbnN0YW5jZSgpOworICAgICAgICB0cnkgeworICAgICAgICAgICAgLy8gUGFyc2UgdGhlIGRvY3VtZW50CisgICAgICAgICAgICBmaW5hbCBEb2N1bWVudEJ1aWxkZXIgZGIgPSBkYmYubmV3RG9jdW1lbnRCdWlsZGVyKCk7CisgICAgICAgICAgICBmaW5hbCBEb2N1bWVudCBkb20gPSBkYi5wYXJzZShzZGtEZXNjcmlwdG9yKTsKKworICAgICAgICAgICAgLy8gR2V0IG5hbWUsIHZlcnNpb24gYW5kIGJ1aWxkIG5vZGVzCisgICAgICAgICAgICBmaW5hbCBFbGVtZW50IHJvb3QgPSBkb20uZ2V0RG9jdW1lbnRFbGVtZW50KCk7CisgICAgICAgICAgICByZXR1cm4gcm9vdC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYnVpbGQiKS5pdGVtKDApLmdldFRleHRDb250ZW50KCk7CiAgICAgICAgIH0gY2F0Y2ggKFBhcnNlckNvbmZpZ3VyYXRpb25FeGNlcHRpb24gcGNlKSB7CiAgICAgICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbihwY2UpOwogICAgICAgICB9IGNhdGNoIChTQVhFeGNlcHRpb24gc2UpIHsKQEAgLTU4OCw3ICs2MjcsNyBAQAogICAgIH0KIAogICAgIHByb3RlY3RlZCBGaWxlIGdldFJzbChTdHJpbmcgYXJ0aWZhY3RJZCkgewotICAgICAgICBmaW5hbCBGbGV4UnNsRmlsdGVyIGZpbHRlciA9IG5ldyBGbGV4UnNsRmlsdGVyKGFydGlmYWN0SWQsIGZsZXhTZGtWZXJzaW9uKTsKKyAgICAgICAgZmluYWwgRmxleFJzbEZpbHRlciBmaWx0ZXIgPSBuZXcgRmxleFJzbEZpbHRlcihhcnRpZmFjdElkLCBmbGV4U2RrVmVyc2lvbiwgZmxleEJ1aWxkKTsKICAgICAgICAgZmluYWwgRmlsZSByc2xEaXJlY3RvcnkgPSBuZXcgRmlsZShyb290U291cmNlRGlyZWN0b3J5LCAiZnJhbWV3b3JrcyIgKyBGaWxlLnNlcGFyYXRvciArICJyc2xzIik7CiAgICAgICAgIGZpbmFsIEZpbGVbXSByc2xzID0gcnNsRGlyZWN0b3J5Lmxpc3RGaWxlcyhmaWx0ZXIpOwogICAgICAgICBpZiAoKHJzbHMgIT0gbnVsbCkgJiYgKHJzbHMubGVuZ3RoID09IDEpKSB7CkBAIC02MjIsNiArNjYxLDE2IEBACiAgICAgICAgIHJldHVybiBidW5kbGVzOwogICAgIH0KIAorICAgIHByb3RlY3RlZCBTdHJpbmcgZ2V0VGFyZ2V0UGxheWVyKEZpbGUgcGxheWVyRGlyKSB7CisgICAgICAgIGlmKHBsYXllckRpci5leGlzdHMoKSAmJiBwbGF5ZXJEaXIuaXNEaXJlY3RvcnkoKSkgeworICAgICAgICAgICAgRmlsZVtdIGZpbGVzID0gcGxheWVyRGlyLmxpc3RGaWxlcygpOworICAgICAgICAgICAgaWYoKGZpbGVzICE9IG51bGwpICYmIGZpbGVzLmxlbmd0aCA+IDApIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gZmlsZXNbMF0uZ2V0TmFtZSgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHJldHVybiBudWxsOworICAgIH0KKwogICAgIHB1YmxpYyBzdGF0aWMgY2xhc3MgRmxleENvbXBpbGVyRmlsdGVyIGltcGxlbWVudHMgRmlsZW5hbWVGaWx0ZXIgewogICAgICAgICBwcml2YXRlIEFpckNvbnZlcnRlci5BaXJDb21waWxlckZpbHRlciBhaXJGaWx0ZXIgPSBuZXcgQWlyQ29udmVydGVyLkFpckNvbXBpbGVyRmlsdGVyKCk7CiAKQEAgLTY0NSw4ICs2OTQsOCBAQAogICAgIHB1YmxpYyBzdGF0aWMgY2xhc3MgRmxleFJzbEZpbHRlciBpbXBsZW1lbnRzIEZpbGVuYW1lRmlsdGVyIHsKICAgICAgICAgcHJpdmF0ZSBTdHJpbmcgZmlsZU5hbWU7CiAKLSAgICAgICAgcHVibGljIEZsZXhSc2xGaWx0ZXIoU3RyaW5nIGFydGlmYWN0TmFtZSwgU3RyaW5nIGFydGlmYWN0VmVyc2lvbikgewotICAgICAgICAgICAgdGhpcy5maWxlTmFtZSA9IGFydGlmYWN0TmFtZSArICJfIiArIGFydGlmYWN0VmVyc2lvbiArICIuc3dmIjsKKyAgICAgICAgcHVibGljIEZsZXhSc2xGaWx0ZXIoU3RyaW5nIGFydGlmYWN0TmFtZSwgU3RyaW5nIGFydGlmYWN0VmVyc2lvbiwgU3RyaW5nIGJ1aWxkKSB7CisgICAgICAgICAgICB0aGlzLmZpbGVOYW1lID0gYXJ0aWZhY3ROYW1lICsgIl8iICsgYXJ0aWZhY3RWZXJzaW9uICsgIi4iICsgYnVpbGQgKyAiLnN3ZiI7CiAgICAgICAgIH0KIAogICAgICAgICBwdWJsaWMgYm9vbGVhbiBhY2NlcHQoRmlsZSBkaXIsIFN0cmluZyBuYW1lKSB7CmRpZmYgLS1naXQgYS9tYXZlbml6ZXIvY29udmVydGVycy9mb250a2l0L3BvbS54bWwgYi9tYXZlbml6ZXIvY29udmVydGVycy9mb250a2l0L3BvbS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Q0NzJlMAotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuaXplci9jb252ZXJ0ZXJzL2ZvbnRraXQvcG9tLnhtbApAQCAtMCwwICsxLDQxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLQorCisgIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCistLT4KKzxwcm9qZWN0IHhtbG5zPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54c2QiPgorICAgIDxtb2RlbFZlcnNpb24+NC4wLjA8L21vZGVsVmVyc2lvbj4KKworICAgIDxwYXJlbnQ+CisgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyPC9ncm91cElkPgorICAgICAgICA8YXJ0aWZhY3RJZD5jb252ZXJ0ZXJzPC9hcnRpZmFjdElkPgorICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICA8L3BhcmVudD4KKworICAgIDxhcnRpZmFjdElkPmZvbnRraXQtY29udmVydGVyPC9hcnRpZmFjdElkPgorICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgIDxwYWNrYWdpbmc+amFyPC9wYWNrYWdpbmc+CisKKyAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyPC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+YmFzZS1jb252ZXJ0ZXI8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jaWVzPgorCis8L3Byb2plY3Q+CmRpZmYgLS1naXQgYS9tYXZlbml6ZXIvY29udmVydGVycy9mb250a2l0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvZm9udGtpdC9Gb250a2l0Q29udmVydGVyLmphdmEgYi9tYXZlbml6ZXIvY29udmVydGVycy9mb250a2l0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvZm9udGtpdC9Gb250a2l0Q29udmVydGVyLmphdmEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODFmYmUwOQotLS0gL2Rldi9udWxsCisrKyBiL21hdmVuaXplci9jb252ZXJ0ZXJzL2ZvbnRraXQvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvdXRpbGl0aWVzL2NvbnZlcnRlci9mb250a2l0L0ZvbnRraXRDb252ZXJ0ZXIuamF2YQpAQCAtMCwwICsxLDc0IEBACitwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyLmZvbnRraXQ7CisKK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5CYXNlQ29udmVydGVyOworaW1wb3J0IG9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyLkNvbnZlcnRlcjsKK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5leGNlcHRpb25zLkNvbnZlcnRlckV4Y2VwdGlvbjsKK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5tb2RlbC5NYXZlbkFydGlmYWN0OworCitpbXBvcnQgamF2YS5pby5GaWxlOworCisvKioKKyAqIENyZWF0ZWQgYnkgY2hyaXN0b2ZlcmR1dHogb24gMDYuMDQuMTUuCisgKi8KK3B1YmxpYyBjbGFzcyBGb250a2l0Q29udmVydGVyIGV4dGVuZHMgQmFzZUNvbnZlcnRlciBpbXBsZW1lbnRzIENvbnZlcnRlciB7CisKKyAgICBwdWJsaWMgRm9udGtpdENvbnZlcnRlcihGaWxlIHJvb3RTb3VyY2VEaXJlY3RvcnksIEZpbGUgcm9vdFRhcmdldERpcmVjdG9yeSkgdGhyb3dzIENvbnZlcnRlckV4Y2VwdGlvbiB7CisgICAgICAgIHN1cGVyKHJvb3RTb3VyY2VEaXJlY3RvcnksIHJvb3RUYXJnZXREaXJlY3RvcnkpOworICAgIH0KKworICAgIEBPdmVycmlkZQorICAgIHByb3RlY3RlZCB2b2lkIHByb2Nlc3NEaXJlY3RvcnkoKSB0aHJvd3MgQ29udmVydGVyRXhjZXB0aW9uIHsKKyAgICAgICAgRmlsZSBmb250a2l0Um9vdERpciA9IG5ldyBGaWxlKHJvb3RTb3VyY2VEaXJlY3RvcnksICJsaWIvZXh0ZXJuYWwvb3B0aW9uYWwiKTsKKyAgICAgICAgaWYoIWZvbnRraXRSb290RGlyLmV4aXN0cygpIHx8ICFmb250a2l0Um9vdERpci5pc0RpcmVjdG9yeSgpKSB7CisgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlNraXBwaW5nIEZvbnRraXQgZ2VuZXJhdGlvbi4iKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIEZpbGUgYWZlSmFyID0gbmV3IEZpbGUoZm9udGtpdFJvb3REaXIsICJhZmUuamFyIik7CisgICAgICAgIEZpbGUgYWdsajQwSmFyID0gbmV3IEZpbGUoZm9udGtpdFJvb3REaXIsICJhZ2xqNDAuamFyIik7CisgICAgICAgIEZpbGUgcmlkZWF1SmFyID0gbmV3IEZpbGUoZm9udGtpdFJvb3REaXIsICJyaWRlYXUuamFyIik7CisgICAgICAgIEZpbGUgZmxleEZvbnRraXRKYXIgPSBuZXcgRmlsZShmb250a2l0Um9vdERpciwgImZsZXgtZm9udGtpdC5qYXIiKTsKKworICAgICAgICBpZighYWZlSmFyLmV4aXN0cygpIHx8ICFhZ2xqNDBKYXIuZXhpc3RzKCkgfHwgIXJpZGVhdUphci5leGlzdHMoKSB8fCAhZmxleEZvbnRraXRKYXIuZXhpc3RzKCkpIHsKKyAgICAgICAgICAgIHRocm93IG5ldyBDb252ZXJ0ZXJFeGNlcHRpb24oIkZvbnRraXQgZGlyZWN0b3J5ICciICsgZm9udGtpdFJvb3REaXIuZ2V0UGF0aCgpICsgIicgbXVzdCBjb250YWluIHRoZSBqYXIgIiArCisgICAgICAgICAgICAgICAgICAgICJmaWxlcyBhZmUuamFyLCBhZ2xqNDAuamFyLCByaWRlYXUuamFyIGFuZCBmbGV4LWZvbnRraXQuamFyLiIpOworICAgICAgICB9CisKKyAgICAgICAgZmluYWwgTWF2ZW5BcnRpZmFjdCBmb250a2l0ID0gbmV3IE1hdmVuQXJ0aWZhY3QoKTsKKyAgICAgICAgZm9udGtpdC5zZXRHcm91cElkKCJjb20uYWRvYmUiKTsKKyAgICAgICAgZm9udGtpdC5zZXRBcnRpZmFjdElkKCJmb250a2l0Iik7CisgICAgICAgIGZvbnRraXQuc2V0VmVyc2lvbigiMS4wIik7CisgICAgICAgIGZvbnRraXQuc2V0UGFja2FnaW5nKCJqYXIiKTsKKyAgICAgICAgZm9udGtpdC5hZGREZWZhdWx0QmluYXJ5QXJ0aWZhY3QoZmxleEZvbnRraXRKYXIpOworCisgICAgICAgIGZpbmFsIE1hdmVuQXJ0aWZhY3QgYWZlID0gbmV3IE1hdmVuQXJ0aWZhY3QoKTsKKyAgICAgICAgYWZlLnNldEdyb3VwSWQoImNvbS5hZG9iZS5mb250a2l0Iik7CisgICAgICAgIGFmZS5zZXRBcnRpZmFjdElkKCJhZmUiKTsKKyAgICAgICAgYWZlLnNldFZlcnNpb24oIjEuMCIpOworICAgICAgICBhZmUuc2V0UGFja2FnaW5nKCJqYXIiKTsKKyAgICAgICAgYWZlLmFkZERlZmF1bHRCaW5hcnlBcnRpZmFjdChhZmVKYXIpOworICAgICAgICBmb250a2l0LmFkZERlcGVuZGVuY3koYWZlKTsKKworICAgICAgICBmaW5hbCBNYXZlbkFydGlmYWN0IGFnbGo0MCA9IG5ldyBNYXZlbkFydGlmYWN0KCk7CisgICAgICAgIGFnbGo0MC5zZXRHcm91cElkKCJjb20uYWRvYmUuZm9udGtpdCIpOworICAgICAgICBhZ2xqNDAuc2V0QXJ0aWZhY3RJZCgiYWdsajQwIik7CisgICAgICAgIGFnbGo0MC5zZXRWZXJzaW9uKCIxLjAiKTsKKyAgICAgICAgYWdsajQwLnNldFBhY2thZ2luZygiamFyIik7CisgICAgICAgIGFnbGo0MC5hZGREZWZhdWx0QmluYXJ5QXJ0aWZhY3QoYWdsajQwSmFyKTsKKyAgICAgICAgZm9udGtpdC5hZGREZXBlbmRlbmN5KGFnbGo0MCk7CisKKyAgICAgICAgZmluYWwgTWF2ZW5BcnRpZmFjdCByaWRlYXUgPSBuZXcgTWF2ZW5BcnRpZmFjdCgpOworICAgICAgICByaWRlYXUuc2V0R3JvdXBJZCgiY29tLmFkb2JlLmZvbnRraXQiKTsKKyAgICAgICAgcmlkZWF1LnNldEFydGlmYWN0SWQoInJpZGVhdSIpOworICAgICAgICByaWRlYXUuc2V0VmVyc2lvbigiMS4wIik7CisgICAgICAgIHJpZGVhdS5zZXRQYWNrYWdpbmcoImphciIpOworICAgICAgICByaWRlYXUuYWRkRGVmYXVsdEJpbmFyeUFydGlmYWN0KHJpZGVhdUphcik7CisgICAgICAgIGZvbnRraXQuYWRkRGVwZW5kZW5jeShyaWRlYXUpOworCisgICAgICAgIHdyaXRlQXJ0aWZhY3QoYWZlKTsKKyAgICAgICAgd3JpdGVBcnRpZmFjdChhZ2xqNDApOworICAgICAgICB3cml0ZUFydGlmYWN0KHJpZGVhdSk7CisgICAgICAgIHdyaXRlQXJ0aWZhY3QoZm9udGtpdCk7CisgICAgfQorCit9CmRpZmYgLS1naXQgYS9tYXZlbml6ZXIvY29udmVydGVycy9wb20ueG1sIGIvbWF2ZW5pemVyL2NvbnZlcnRlcnMvcG9tLnhtbAppbmRleCA0MTg0N2Q4Li42OWE4NTliIDEwMDY0NAotLS0gYS9tYXZlbml6ZXIvY29udmVydGVycy9wb20ueG1sCisrKyBiL21hdmVuaXplci9jb252ZXJ0ZXJzL3BvbS54bWwKQEAgLTE3LDE0ICsxNywxMiBAQAogICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KIAogLS0+Ci08cHJvamVjdCB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIgotICAgICAgICAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKLSAgICAgICAgIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54c2QiPgorPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAgaHR0cDovL21hdmVuLmFwYWNoZS5vcmcveHNkL21hdmVuLTQuMC4wLnhzZCI+CiAgICAgPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgogCiAgICAgPHBhcmVudD4KICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXI8L2dyb3VwSWQ+Ci0gICAgICAgIDxhcnRpZmFjdElkPmZsZXgtc2RrLWNvbnZlcnRlcjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgPGFydGlmYWN0SWQ+YXBhY2hlLWZsZXgtc2RrLWNvbnZlcnRlcjwvYXJ0aWZhY3RJZD4KICAgICAgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CiAgICAgPC9wYXJlbnQ+CiAKQEAgLTQwLDYgKzM4LDggQEAKICAgICAgICAgPG1vZHVsZT5haXI8L21vZHVsZT4KICAgICAgICAgPG1vZHVsZT5mbGFzaDwvbW9kdWxlPgogICAgICAgICA8bW9kdWxlPmZsZXg8L21vZHVsZT4KKyAgICAgICAgPG1vZHVsZT5mb250a2l0PC9tb2R1bGU+CisgICAgICAgIDxtb2R1bGU+d3JhcHBlcjwvbW9kdWxlPgogICAgIDwvbW9kdWxlcz4KIAogPC9wcm9qZWN0PgpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL2NvbnZlcnRlcnMvd3JhcHBlci9wb20ueG1sIGIvbWF2ZW5pemVyL2NvbnZlcnRlcnMvd3JhcHBlci9wb20ueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2ZjhhNDMKLS0tIC9kZXYvbnVsbAorKysgYi9tYXZlbml6ZXIvY29udmVydGVycy93cmFwcGVyL3BvbS54bWwKQEAgLTAsMCArMSw0MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhLS0KKworICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworLS0+Cis8cHJvamVjdCB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy94c2QvbWF2ZW4tNC4wLjAueHNkIj4KKyAgICA8bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+CisKKyAgICA8cGFyZW50PgorICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlcjwvZ3JvdXBJZD4KKyAgICAgICAgPGFydGlmYWN0SWQ+Y29udmVydGVyczwvYXJ0aWZhY3RJZD4KKyAgICAgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgPC9wYXJlbnQ+CisKKyAgICA8YXJ0aWZhY3RJZD53cmFwcGVyLWNvbnZlcnRlcjwvYXJ0aWZhY3RJZD4KKyAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICA8cGFja2FnaW5nPmphcjwvcGFja2FnaW5nPgorCisgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlcjwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPmJhc2UtY29udmVydGVyPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgICAgIDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY2llcz4KKworPC9wcm9qZWN0PgpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL2NvbnZlcnRlcnMvd3JhcHBlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL3dyYXBwZXIvV3JhcHBlckNvbnZlcnRlci5qYXZhIGIvbWF2ZW5pemVyL2NvbnZlcnRlcnMvd3JhcHBlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL3dyYXBwZXIvV3JhcHBlckNvbnZlcnRlci5qYXZhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlNGFmNGMKLS0tIC9kZXYvbnVsbAorKysgYi9tYXZlbml6ZXIvY29udmVydGVycy93cmFwcGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvd3JhcHBlci9XcmFwcGVyQ29udmVydGVyLmphdmEKQEAgLTAsMCArMSw5MyBAQAorcGFja2FnZSBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci53cmFwcGVyOworCitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIuQmFzZUNvbnZlcnRlcjsKK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5Db252ZXJ0ZXI7CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIuZXhjZXB0aW9ucy5Db252ZXJ0ZXJFeGNlcHRpb247CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIubW9kZWwuTWF2ZW5BcnRpZmFjdDsKK2ltcG9ydCBvcmcudzNjLmRvbS5Eb2N1bWVudDsKK2ltcG9ydCBvcmcudzNjLmRvbS5FbGVtZW50OworaW1wb3J0IG9yZy54bWwuc2F4LlNBWEV4Y2VwdGlvbjsKKworaW1wb3J0IGphdmF4LnhtbC5wYXJzZXJzLkRvY3VtZW50QnVpbGRlcjsKK2ltcG9ydCBqYXZheC54bWwucGFyc2Vycy5Eb2N1bWVudEJ1aWxkZXJGYWN0b3J5OworaW1wb3J0IGphdmF4LnhtbC5wYXJzZXJzLlBhcnNlckNvbmZpZ3VyYXRpb25FeGNlcHRpb247CitpbXBvcnQgamF2YS5pby5GaWxlOworaW1wb3J0IGphdmEuaW8uSU9FeGNlcHRpb247CisKKy8qKgorICogQ3JlYXRlZCBieSBjaHJpc3RvZmVyZHV0eiBvbiAwNi4wNC4xNS4KKyAqLworcHVibGljIGNsYXNzIFdyYXBwZXJDb252ZXJ0ZXIgZXh0ZW5kcyBCYXNlQ29udmVydGVyIGltcGxlbWVudHMgQ29udmVydGVyIHsKKworICAgIHB1YmxpYyBXcmFwcGVyQ29udmVydGVyKEZpbGUgcm9vdFNvdXJjZURpcmVjdG9yeSwgRmlsZSByb290VGFyZ2V0RGlyZWN0b3J5KSB0aHJvd3MgQ29udmVydGVyRXhjZXB0aW9uIHsKKyAgICAgICAgc3VwZXIocm9vdFNvdXJjZURpcmVjdG9yeSwgcm9vdFRhcmdldERpcmVjdG9yeSk7CisgICAgfQorCisgICAgQE92ZXJyaWRlCisgICAgcHJvdGVjdGVkIHZvaWQgcHJvY2Vzc0RpcmVjdG9yeSgpIHRocm93cyBDb252ZXJ0ZXJFeGNlcHRpb24geworICAgICAgICBGaWxlIHdyYXBwZXJSb290RGlyID0gbmV3IEZpbGUocm9vdFNvdXJjZURpcmVjdG9yeSwgInRlbXBsYXRlcy9zd2ZvYmplY3QiKTsKKyAgICAgICAgaWYoIXdyYXBwZXJSb290RGlyLmV4aXN0cygpIHx8ICF3cmFwcGVyUm9vdERpci5pc0RpcmVjdG9yeSgpKSB7CisgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlNraXBwaW5nIFdyYXBwZXIgZ2VuZXJhdGlvbi4iKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHRyeSB7CisgICAgICAgICAgICAvLyBSZW5hbWUgdGhlIGluZGV4LnRlbXBsYXRlLmh0bWwgdG8gaW5kZXguaHRtbAorICAgICAgICAgICAgRmlsZSBpbmRleEh0bWwgPSBuZXcgRmlsZSh3cmFwcGVyUm9vdERpciwgImluZGV4LnRlbXBsYXRlLmh0bWwiKTsKKyAgICAgICAgICAgIGlmKCFpbmRleEh0bWwucmVuYW1lVG8obmV3IEZpbGUod3JhcHBlclJvb3REaXIsICJpbmRleC5odG1sIikpKSB7CisgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJDb3VsZCBub3QgcmVuYW1lIGluZGV4LnRlbXBsYXRlLmh0bWwgdG8gaW5kZXguaHRtbC4iKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZmluYWwgRmlsZSB3cmFwcGVyV2FyID0gRmlsZS5jcmVhdGVUZW1wRmlsZSgiU1dGT2JqZWN0V3JhcHBlci0yLjIiLCAiLndhciIpOworICAgICAgICAgICAgZ2VuZXJhdGVaaXAod3JhcHBlclJvb3REaXIubGlzdEZpbGVzKCksIHdyYXBwZXJXYXIpOworCisgICAgICAgICAgICBmaW5hbCBNYXZlbkFydGlmYWN0IHN3Zm9iamVjdFdyYXBwZXIgPSBuZXcgTWF2ZW5BcnRpZmFjdCgpOworICAgICAgICAgICAgc3dmb2JqZWN0V3JhcHBlci5zZXRHcm91cElkKCJvcmcuYXBhY2hlLmZsZXgud3JhcHBlciIpOworICAgICAgICAgICAgc3dmb2JqZWN0V3JhcHBlci5zZXRBcnRpZmFjdElkKCJzd2ZvYmplY3QiKTsKKyAgICAgICAgICAgIHN3Zm9iamVjdFdyYXBwZXIuc2V0VmVyc2lvbihnZXRGbGV4VmVyc2lvbihyb290U291cmNlRGlyZWN0b3J5KSk7CisgICAgICAgICAgICBzd2ZvYmplY3RXcmFwcGVyLnNldFBhY2thZ2luZygid2FyIik7CisgICAgICAgICAgICBzd2ZvYmplY3RXcmFwcGVyLmFkZERlZmF1bHRCaW5hcnlBcnRpZmFjdCh3cmFwcGVyV2FyKTsKKworICAgICAgICAgICAgd3JpdGVBcnRpZmFjdChzd2ZvYmplY3RXcmFwcGVyKTsKKyAgICAgICAgfSBjYXRjaCAoSU9FeGNlcHRpb24gZSkgeworICAgICAgICAgICAgdGhyb3cgbmV3IENvbnZlcnRlckV4Y2VwdGlvbigiRXJyb3IgY3JlYXRpbmcgd3JhcHBlciB3YXIuIiwgZSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvKioKKyAgICAgKiBHZXQgdGhlIHZlcnNpb24gb2YgYW4gRmxleCBTREsgZnJvbSB0aGUgY29udGVudCBvZiB0aGUgU0RLIGRpcmVjdG9yeS4KKyAgICAgKgorICAgICAqIEByZXR1cm4gdmVyc2lvbiBzdHJpbmcgZm9yIHRoZSBjdXJyZW50IEZsZXggU0RLCisgICAgICovCisgICAgcHJvdGVjdGVkIFN0cmluZyBnZXRGbGV4VmVyc2lvbihGaWxlIHJvb3REaXJlY3RvcnkpIHRocm93cyBDb252ZXJ0ZXJFeGNlcHRpb24geworICAgICAgICBmaW5hbCBGaWxlIHNka0Rlc2NyaXB0b3IgPSBuZXcgRmlsZShyb290RGlyZWN0b3J5LCAiZmxleC1zZGstZGVzY3JpcHRpb24ueG1sIik7CisKKyAgICAgICAgLy8gSWYgdGhlIGRlc2NyaXB0b3IgaXMgbm90IHByZXNlbnQsIHJldHVybiBudWxsIGFzIHRoaXMgRkRLIGRpcmVjdG9yeSBkb2Vzbid0CisgICAgICAgIC8vIHNlZW0gdG8gY29udGFpbiBhIEZsZXggU0RLLgorICAgICAgICBpZighc2RrRGVzY3JpcHRvci5leGlzdHMoKSkgeworICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgIH0KKworICAgICAgICBmaW5hbCBEb2N1bWVudEJ1aWxkZXJGYWN0b3J5IGRiZiA9IERvY3VtZW50QnVpbGRlckZhY3RvcnkubmV3SW5zdGFuY2UoKTsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIC8vIFBhcnNlIHRoZSBkb2N1bWVudAorICAgICAgICAgICAgZmluYWwgRG9jdW1lbnRCdWlsZGVyIGRiID0gZGJmLm5ld0RvY3VtZW50QnVpbGRlcigpOworICAgICAgICAgICAgZmluYWwgRG9jdW1lbnQgZG9tID0gZGIucGFyc2Uoc2RrRGVzY3JpcHRvcik7CisKKyAgICAgICAgICAgIC8vIEdldCBuYW1lLCB2ZXJzaW9uIGFuZCBidWlsZCBub2RlcworICAgICAgICAgICAgZmluYWwgRWxlbWVudCByb290ID0gZG9tLmdldERvY3VtZW50RWxlbWVudCgpOworICAgICAgICAgICAgZmluYWwgU3RyaW5nIHZlcnNpb24gPSByb290LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ2ZXJzaW9uIikuaXRlbSgwKS5nZXRUZXh0Q29udGVudCgpOworICAgICAgICAgICAgZmluYWwgU3RyaW5nIGJ1aWxkID0gcm9vdC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYnVpbGQiKS5pdGVtKDApLmdldFRleHRDb250ZW50KCk7CisKKyAgICAgICAgICAgIC8vIEluIGdlbmVyYWwgdGhlIHZlcnNpb24gY29uc2lzdHMgb2YgdGhlIGNvbnRlbnQgb2YgdGhlIHZlcnNpb24gZWxlbWVudCB3aXRoIGFuIGFwcGVuZGVkIGJ1aWxkLW51bWJlci4KKyAgICAgICAgICAgIHJldHVybiAoYnVpbGQuZXF1YWxzKCIwIikpID8gdmVyc2lvbiArICItU05BUFNIT1QiIDogdmVyc2lvbjsKKyAgICAgICAgfSBjYXRjaCAoUGFyc2VyQ29uZmlndXJhdGlvbkV4Y2VwdGlvbiBwY2UpIHsKKyAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKHBjZSk7CisgICAgICAgIH0gY2F0Y2ggKFNBWEV4Y2VwdGlvbiBzZSkgeworICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oc2UpOworICAgICAgICB9IGNhdGNoIChJT0V4Y2VwdGlvbiBpb2UpIHsKKyAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKGlvZSk7CisgICAgICAgIH0KKyAgICB9CisKK30KZGlmZiAtLWdpdCBhL21hdmVuaXplci9jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvY29yZS9BaXJEb3dubG9hZGVyLmphdmEgYi9tYXZlbml6ZXIvY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL2NvcmUvQWlyRG93bmxvYWRlci5qYXZhCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZTJiOWNlLi4wMDAwMDAwCi0tLSBhL21hdmVuaXplci9jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvY29yZS9BaXJEb3dubG9hZGVyLmphdmEKKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi0vKgotICogTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCi0gKiBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKLSAqIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KLSAqIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCi0gKiAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAotICogdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqCi0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKgotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKi8KLXBhY2thZ2Ugb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIuY29yZTsKLQotaW1wb3J0IG9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyLmFpci5BaXJDb252ZXJ0ZXI7Ci1pbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIucmV0cmlldmVycy5kb3dubG9hZC5Eb3dubG9hZFJldHJpZXZlcjsKLWltcG9ydCBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5yZXRyaWV2ZXJzLnR5cGVzLlBsYXRmb3JtVHlwZTsKLWltcG9ydCBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5yZXRyaWV2ZXJzLnR5cGVzLlNka1R5cGU7Ci0KLWltcG9ydCBqYXZhLmlvLkZpbGU7Ci0KLS8qKgotICogQ3JlYXRlZCBieSBjZHV0eiBvbiAyNC4wNS4yMDE0LgotICovCi1wdWJsaWMgY2xhc3MgQWlyRG93bmxvYWRlciB7Ci0KLSAgICBwdWJsaWMgdm9pZCBkb3dubG9hZEFuZENvbnZlcnQoRmlsZSB0YXJnZXREaXJlY3RvcnksIFN0cmluZyB2ZXJzaW9uLCBQbGF0Zm9ybVR5cGUgcGxhdGZvcm1UeXBlKSB0aHJvd3MgRXhjZXB0aW9uIHsKLSAgICAgICAgZmluYWwgRG93bmxvYWRSZXRyaWV2ZXIgZG93bmxvYWRSZXRyaWV2ZXIgPSBuZXcgRG93bmxvYWRSZXRyaWV2ZXIoKTsKLSAgICAgICAgZmluYWwgRmlsZSBhaXJTREtTb3VyY2VEaXJlY3RvcnkgPSBkb3dubG9hZFJldHJpZXZlci5yZXRyaWV2ZShTZGtUeXBlLkFJUiwgdmVyc2lvbiwgcGxhdGZvcm1UeXBlKTsKLQotICAgICAgICBmaW5hbCBBaXJDb252ZXJ0ZXIgYWlyQ29udmVydGVyID0gbmV3IEFpckNvbnZlcnRlcihhaXJTREtTb3VyY2VEaXJlY3RvcnksIHRhcmdldERpcmVjdG9yeSk7Ci0gICAgICAgIGFpckNvbnZlcnRlci5jb252ZXJ0KCk7Ci0gICAgfQotCi0gICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIEV4Y2VwdGlvbiB7Ci0gICAgICAgIGlmKGFyZ3MubGVuZ3RoICE9IDMpIHsKLSAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVXNhZ2U6IEFpckRvd25sb2FkZXIge2Fpci12ZXJzaW9ufSB7dGFyZ2V0LWRpcmVjdG9yeX0ge3BsYXRmb3JtLXR5cGV9Iik7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBmaW5hbCBTdHJpbmcgdmVyc2lvbiA9IGFyZ3NbMF07Ci0gICAgICAgIGZpbmFsIEZpbGUgdGFyZ2V0RGlyZWN0b3J5ID0gbmV3IEZpbGUoYXJnc1sxXSk7Ci0gICAgICAgIGZpbmFsIFBsYXRmb3JtVHlwZSBwbGF0Zm9ybVR5cGUgPSBQbGF0Zm9ybVR5cGUudmFsdWVPZihhcmdzWzJdKTsKLSAgICAgICAgaWYocGxhdGZvcm1UeXBlID09IG51bGwpIHsKLSAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oIlVua25vd24gcGxhdGZvcm0gdHlwZTogIiArIGFyZ3NbMl0pOwotICAgICAgICB9Ci0KLSAgICAgICAgbmV3IEFpckRvd25sb2FkZXIoKS5kb3dubG9hZEFuZENvbnZlcnQodGFyZ2V0RGlyZWN0b3J5LCB2ZXJzaW9uLCBwbGF0Zm9ybVR5cGUpOwotICAgIH0KLQotfQpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL2NvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvdXRpbGl0aWVzL2NvbnZlcnRlci9jb3JlL0JhdGNoQ29udmVydGVyLmphdmEgYi9tYXZlbml6ZXIvY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL2NvcmUvQmF0Y2hDb252ZXJ0ZXIuamF2YQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2FmMTRjZi4uMDAwMDAwMAotLS0gYS9tYXZlbml6ZXIvY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL2NvcmUvQmF0Y2hDb252ZXJ0ZXIuamF2YQorKysgL2Rldi9udWxsCkBAIC0xLDg3ICswLDAgQEAKLS8qCi0gKiBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKLSAqIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAotICogdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgotICogVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKLSAqICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCi0gKiB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICoKLSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqLwotcGFja2FnZSBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5jb3JlOwotCi1pbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIuYWlyLkFpckNvbnZlcnRlcjsKLWltcG9ydCBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5mbGFzaC5GbGFzaENvbnZlcnRlcjsKLWltcG9ydCBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5mbGV4LkZsZXhDb252ZXJ0ZXI7Ci0KLWltcG9ydCBqYXZhLmlvLkZpbGU7Ci1pbXBvcnQgamF2YS5pby5GaWxlRmlsdGVyOwotCi0vKioKLSAqIENyZWF0ZWQgYnkgY2R1dHogb24gMzAuMDUuMjAxNC4KLSAqLwotcHVibGljIGNsYXNzIEJhdGNoQ29udmVydGVyIHsKLQotICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBFeGNlcHRpb24gewotICAgICAgICBpZihhcmdzLmxlbmd0aCAhPSAyKSB7Ci0gICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlVzYWdlOiBTREtDb252ZXJ0ZXIge3NvdXJjZS1kaXJlY3Rvcnl9IHt0YXJnZXQtZGlyZWN0b3J5fSIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgZmluYWwgRmlsZSBzb3VyY2VEaXJlY3RvcnkgPSBuZXcgRmlsZShhcmdzWzBdKTsKLSAgICAgICAgZmluYWwgRmlsZSB0YXJnZXREaXJlY3RvcnkgPSBuZXcgRmlsZShhcmdzWzFdKTsKLQotICAgICAgICBpZighc291cmNlRGlyZWN0b3J5LmV4aXN0cygpKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCInc291cmNlLWRpcmVjdG9yeScgZG9lcyBub3QgZXhpc3Q6ICIgKyBzb3VyY2VEaXJlY3RvcnkuZ2V0QWJzb2x1dGVQYXRoKCkpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYoIXRhcmdldERpcmVjdG9yeS5leGlzdHMoKSkgewotICAgICAgICAgICAgaWYoIXRhcmdldERpcmVjdG9yeS5ta2RpcnMoKSkgewotICAgICAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oIkNvdWxkIG5vdCBjcmVhdGUgJ3RhcmdldC1kaXJlY3RvcnknOiAiICsgdGFyZ2V0RGlyZWN0b3J5LmdldEFic29sdXRlUGF0aCgpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIGZvcihmaW5hbCBGaWxlIGJhdGNoRGlyZWN0b3J5IDogc291cmNlRGlyZWN0b3J5Lmxpc3RGaWxlcyhuZXcgRmlsZUZpbHRlcigpIHsKLSAgICAgICAgICAgIEBPdmVycmlkZQotICAgICAgICAgICAgcHVibGljIGJvb2xlYW4gYWNjZXB0KEZpbGUgcGF0aG5hbWUpIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gcGF0aG5hbWUuaXNEaXJlY3RvcnkoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSkpIHsKLSAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpOwotICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJQcm9jZXNzaW5nIGRpcmVjdG9yeTogIiArIGJhdGNoRGlyZWN0b3J5LmdldEFic29sdXRlUGF0aCgpKTsKLQotICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkdlbmVyYXRpbmcgRkxFWCBTREsiKTsKLSAgICAgICAgICAgICAgICBmaW5hbCBGbGV4Q29udmVydGVyIGZsZXhDb252ZXJ0ZXIgPSBuZXcgRmxleENvbnZlcnRlcihiYXRjaERpcmVjdG9yeSwgdGFyZ2V0RGlyZWN0b3J5KTsKLSAgICAgICAgICAgICAgICBmbGV4Q29udmVydGVyLmNvbnZlcnQoKTsKLSAgICAgICAgICAgIH0gY2F0Y2goRXhjZXB0aW9uIGUpIHsKLSAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlNraXBwaW5nIGdlbmVyYXRpb24gb2YgRkxFWCBTREsiKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkdlbmVyYXRpbmcgQUlSIFNESyIpOwotICAgICAgICAgICAgICAgIGZpbmFsIEFpckNvbnZlcnRlciBhaXJDb252ZXJ0ZXIgPSBuZXcgQWlyQ29udmVydGVyKGJhdGNoRGlyZWN0b3J5LCB0YXJnZXREaXJlY3RvcnkpOwotICAgICAgICAgICAgICAgIGFpckNvbnZlcnRlci5jb252ZXJ0KCk7Ci0gICAgICAgICAgICB9IGNhdGNoKEV4Y2VwdGlvbiBlKSB7Ci0gICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJTa2lwcGluZyBnZW5lcmF0aW9uIG9mIEFJUiBTREsiKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkdlbmVyYXRpbmcgRmxhc2ggU0RLIik7Ci0gICAgICAgICAgICAgICAgZmluYWwgRmxhc2hDb252ZXJ0ZXIgZmxhc2hDb252ZXJ0ZXIgPSBuZXcgRmxhc2hDb252ZXJ0ZXIoYmF0Y2hEaXJlY3RvcnksIHRhcmdldERpcmVjdG9yeSk7Ci0gICAgICAgICAgICAgICAgZmxhc2hDb252ZXJ0ZXIuY29udmVydCgpOwotICAgICAgICAgICAgfSBjYXRjaChFeGNlcHRpb24gZSkgewotICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiU2tpcHBpbmcgZ2VuZXJhdGlvbiBvZiBGbGFzaCBTREsiKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJGaW5pc2hlZC4iKTsKLSAgICAgICAgfQotICAgIH0KLQotfQpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL2NvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvdXRpbGl0aWVzL2NvbnZlcnRlci9jb3JlL0ZsYXNoRG93bmxvYWRlci5qYXZhIGIvbWF2ZW5pemVyL2NvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvdXRpbGl0aWVzL2NvbnZlcnRlci9jb3JlL0ZsYXNoRG93bmxvYWRlci5qYXZhCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOTBhMjIzLi4wMDAwMDAwCi0tLSBhL21hdmVuaXplci9jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvY29yZS9GbGFzaERvd25sb2FkZXIuamF2YQorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLS8qCi0gKiBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKLSAqIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAotICogdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgotICogVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKLSAqICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCi0gKiB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICoKLSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqLwotcGFja2FnZSBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5jb3JlOwotCi1pbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIuZmxhc2guRmxhc2hDb252ZXJ0ZXI7Ci1pbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIucmV0cmlldmVycy5kb3dubG9hZC5Eb3dubG9hZFJldHJpZXZlcjsKLWltcG9ydCBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5yZXRyaWV2ZXJzLnR5cGVzLlNka1R5cGU7Ci0KLWltcG9ydCBqYXZhLmlvLkZpbGU7Ci0KLS8qKgotICogQ3JlYXRlZCBieSBjZHV0eiBvbiAyNC4wNS4yMDE0LgotICovCi1wdWJsaWMgY2xhc3MgRmxhc2hEb3dubG9hZGVyIHsKLQotICAgIHB1YmxpYyB2b2lkIGRvd25sb2FkQW5kQ29udmVydChGaWxlIHRhcmdldERpcmVjdG9yeSwgU3RyaW5nIHZlcnNpb24pIHRocm93cyBFeGNlcHRpb24gewotICAgICAgICBmaW5hbCBEb3dubG9hZFJldHJpZXZlciBkb3dubG9hZFJldHJpZXZlciA9IG5ldyBEb3dubG9hZFJldHJpZXZlcigpOwotICAgICAgICBmaW5hbCBGaWxlIHBsYXllcmdsb2JhbFNvdXJjZUZpbGUgPSBkb3dubG9hZFJldHJpZXZlci5yZXRyaWV2ZShTZGtUeXBlLkZMQVNILCB2ZXJzaW9uKTsKLQotICAgICAgICBmaW5hbCBGaWxlIHRlbXBTZGtSb290ID0gbmV3IEZpbGUocGxheWVyZ2xvYmFsU291cmNlRmlsZS5nZXRQYXJlbnQoKSwKLSAgICAgICAgICAgICAgICBwbGF5ZXJnbG9iYWxTb3VyY2VGaWxlLmdldE5hbWUoKS5zdWJzdHJpbmcoMCwgcGxheWVyZ2xvYmFsU291cmNlRmlsZS5nZXROYW1lKCkubGVuZ3RoKCkgLSA0KSArCi0gICAgICAgICAgICAgICAgICAgICAgICAiLXRlbXAtZGlyIik7Ci0gICAgICAgIGZpbmFsIEZpbGUgcGxheWVyR2xvYmFsVGFyZ2V0RGlyID0gbmV3IEZpbGUodGVtcFNka1Jvb3QsCi0gICAgICAgICAgICAgICAgKCJmcmFtZXdvcmtzLmxpYnMucGxheWVyLiIpLnJlcGxhY2UoIi4iLCBGaWxlLnNlcGFyYXRvcikgKyB2ZXJzaW9uKTsKLSAgICAgICAgaWYoIXBsYXllckdsb2JhbFRhcmdldERpci5ta2RpcnMoKSkgewotICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigiQ291bGRuJ3QgY3JlYXRlIHBsYXllcmdsb2JhbCB0YXJnZXQgZGlyICIgKyB0ZW1wU2RrUm9vdC5nZXRBYnNvbHV0ZVBhdGgoKSk7Ci0gICAgICAgIH0KLSAgICAgICAgZmluYWwgRmlsZSBwbGF5ZXJHbG9iYWxUYXJnZXRGaWxlID0gbmV3IEZpbGUocGxheWVyR2xvYmFsVGFyZ2V0RGlyLCAicGxheWVyZ2xvYmFsLnN3YyIpOwotCi0gICAgICAgIGlmKCFwbGF5ZXJnbG9iYWxTb3VyY2VGaWxlLnJlbmFtZVRvKHBsYXllckdsb2JhbFRhcmdldEZpbGUpKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCJDb3VsZG4ndCBtb3ZlIHBsYXllcmdsb2JhbCBmaWxlIGZyb20gIiArIHBsYXllcmdsb2JhbFNvdXJjZUZpbGUuZ2V0QWJzb2x1dGVQYXRoKCkgKwotICAgICAgICAgICAgICAgICAgICAiIHRvICIgKyBwbGF5ZXJHbG9iYWxUYXJnZXRGaWxlLmdldEFic29sdXRlUGF0aCgpKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZpbmFsIEZsYXNoQ29udmVydGVyIGZsYXNoQ29udmVydGVyID0gbmV3IEZsYXNoQ29udmVydGVyKHRlbXBTZGtSb290LCB0YXJnZXREaXJlY3RvcnkpOwotICAgICAgICBmbGFzaENvbnZlcnRlci5jb252ZXJ0KCk7Ci0gICAgfQotCi0gICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIEV4Y2VwdGlvbiB7Ci0gICAgICAgIGlmKGFyZ3MubGVuZ3RoICE9IDIpIHsKLSAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVXNhZ2U6IEZsYXNoRG93bmxvYWRlciB7cGxheWVyLXZlcnNpb259IHt0YXJnZXQtZGlyZWN0b3J5fSIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgZmluYWwgU3RyaW5nIHZlcnNpb24gPSBhcmdzWzBdOwotICAgICAgICBmaW5hbCBGaWxlIHRhcmdldERpcmVjdG9yeSA9IG5ldyBGaWxlKGFyZ3NbMV0pOwotCi0gICAgICAgIG5ldyBGbGFzaERvd25sb2FkZXIoKS5kb3dubG9hZEFuZENvbnZlcnQodGFyZ2V0RGlyZWN0b3J5LCB2ZXJzaW9uKTsKLSAgICB9Ci0KLX0KZGlmZiAtLWdpdCBhL21hdmVuaXplci9jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvY29yZS9TZGtDb252ZXJ0ZXIuamF2YSBiL21hdmVuaXplci9jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvY29yZS9TZGtDb252ZXJ0ZXIuamF2YQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTk4Y2Y1Zi4uMDAwMDAwMAotLS0gYS9tYXZlbml6ZXIvY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL2NvcmUvU2RrQ29udmVydGVyLmphdmEKKysrIC9kZXYvbnVsbApAQCAtMSw3MCArMCwwIEBACi0vKgotICogTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCi0gKiBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKLSAqIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KLSAqIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCi0gKiAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAotICogdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqCi0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKgotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKi8KLXBhY2thZ2Ugb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIuY29yZTsKLQotaW1wb3J0IG9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyLmFpci5BaXJDb252ZXJ0ZXI7Ci1pbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIuZXhjZXB0aW9ucy5Db252ZXJ0ZXJFeGNlcHRpb247Ci1pbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIuZmxhc2guRmxhc2hDb252ZXJ0ZXI7Ci1pbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIuZmxleC5GbGV4Q29udmVydGVyOwotCi1pbXBvcnQgamF2YS5pby5GaWxlOwotCi0vKioKLSAqIENyZWF0ZWQgYnkgY2R1dHogb24gMjQuMDUuMjAxNC4KLSAqLwotcHVibGljIGNsYXNzIFNka0NvbnZlcnRlciB7Ci0KLSAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0aHJvd3MgRXhjZXB0aW9uIHsKLSAgICAgICAgaWYoYXJncy5sZW5ndGggIT0gMikgewotICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJVc2FnZTogU0RLQ29udmVydGVyIHtzb3VyY2UtZGlyZWN0b3J5fSB7dGFyZ2V0LWRpcmVjdG9yeX0iKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIGZpbmFsIEZpbGUgc291cmNlRGlyZWN0b3J5ID0gbmV3IEZpbGUoYXJnc1swXSk7Ci0gICAgICAgIGZpbmFsIEZpbGUgdGFyZ2V0RGlyZWN0b3J5ID0gbmV3IEZpbGUoYXJnc1sxXSk7Ci0KLSAgICAgICAgaWYoIXNvdXJjZURpcmVjdG9yeS5leGlzdHMoKSkgewotICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigiJ3NvdXJjZS1kaXJlY3RvcnknIGRvZXMgbm90IGV4aXN0OiAiICsgc291cmNlRGlyZWN0b3J5LmdldEFic29sdXRlUGF0aCgpKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmKCF0YXJnZXREaXJlY3RvcnkuZXhpc3RzKCkpIHsKLSAgICAgICAgICAgIGlmKCF0YXJnZXREaXJlY3RvcnkubWtkaXJzKCkpIHsKLSAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCJDb3VsZCBub3QgY3JlYXRlICd0YXJnZXQtZGlyZWN0b3J5JzogIiArIHRhcmdldERpcmVjdG9yeS5nZXRBYnNvbHV0ZVBhdGgoKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICB0cnkgewotICAgICAgICAgICAgZmluYWwgRmxleENvbnZlcnRlciBmbGV4Q29udmVydGVyID0gbmV3IEZsZXhDb252ZXJ0ZXIoc291cmNlRGlyZWN0b3J5LCB0YXJnZXREaXJlY3RvcnkpOwotICAgICAgICAgICAgZmxleENvbnZlcnRlci5jb252ZXJ0KCk7Ci0gICAgICAgIH0gY2F0Y2goQ29udmVydGVyRXhjZXB0aW9uIGUpIHsKLSAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiU2tpcHBpbmcgZ2VuZXJhdGlvbiBvZiBGTEVYIFNESyIpOwotICAgICAgICB9Ci0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBmaW5hbCBBaXJDb252ZXJ0ZXIgYWlyQ29udmVydGVyID0gbmV3IEFpckNvbnZlcnRlcihzb3VyY2VEaXJlY3RvcnksIHRhcmdldERpcmVjdG9yeSk7Ci0gICAgICAgICAgICBhaXJDb252ZXJ0ZXIuY29udmVydCgpOwotICAgICAgICB9IGNhdGNoKENvbnZlcnRlckV4Y2VwdGlvbiBlKSB7Ci0gICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlNraXBwaW5nIGdlbmVyYXRpb24gb2YgQUlSIFNESyIpOwotICAgICAgICB9Ci0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBmaW5hbCBGbGFzaENvbnZlcnRlciBmbGFzaENvbnZlcnRlciA9IG5ldyBGbGFzaENvbnZlcnRlcihzb3VyY2VEaXJlY3RvcnksIHRhcmdldERpcmVjdG9yeSk7Ci0gICAgICAgICAgICBmbGFzaENvbnZlcnRlci5jb252ZXJ0KCk7Ci0gICAgICAgIH0gY2F0Y2goQ29udmVydGVyRXhjZXB0aW9uIGUpIHsKLSAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiU2tpcHBpbmcgZ2VuZXJhdGlvbiBvZiBGbGFzaCBTREsiKTsKLSAgICAgICAgfQotICAgIH0KLQotfQpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL2RlcGxveWVycy9hZXRoZXIvcG9tLnhtbCBiL21hdmVuaXplci9kZXBsb3llcnMvYWV0aGVyL3BvbS54bWwKaW5kZXggYWM3ZDJiYi4uNjkyYjk5YyAxMDA2NDQKLS0tIGEvbWF2ZW5pemVyL2RlcGxveWVycy9hZXRoZXIvcG9tLnhtbAorKysgYi9tYXZlbml6ZXIvZGVwbG95ZXJzL2FldGhlci9wb20ueG1sCkBAIC0xNyw5ICsxNyw3IEBACiAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogCiAtLT4KLTxwcm9qZWN0IHhtbG5zPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAiCi0gICAgICAgICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgotICAgICAgICAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAgaHR0cDovL21hdmVuLmFwYWNoZS5vcmcveHNkL21hdmVuLTQuMC4wLnhzZCI+Cis8cHJvamVjdCB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy94c2QvbWF2ZW4tNC4wLjAueHNkIj4KICAgICA8bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+CiAKICAgICA8cGFyZW50PgpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL2RlcGxveWVycy9hZXRoZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvdXRpbGl0aWVzL2NvbnZlcnRlci9kZXBsb3llci9hZXRoZXIvQWV0aGVyRGVwbG95ZXIuamF2YSBiL21hdmVuaXplci9kZXBsb3llcnMvYWV0aGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvZGVwbG95ZXIvYWV0aGVyL0FldGhlckRlcGxveWVyLmphdmEKaW5kZXggNzQ0MzRmOS4uODliOTkxYiAxMDA2NDQKLS0tIGEvbWF2ZW5pemVyL2RlcGxveWVycy9hZXRoZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvdXRpbGl0aWVzL2NvbnZlcnRlci9kZXBsb3llci9hZXRoZXIvQWV0aGVyRGVwbG95ZXIuamF2YQorKysgYi9tYXZlbml6ZXIvZGVwbG95ZXJzL2FldGhlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL2RlcGxveWVyL2FldGhlci9BZXRoZXJEZXBsb3llci5qYXZhCkBAIC01OCwyMSArNTgsMjQgQEAKICAqIGV4ZWN1dGlvbi4KICAqCiAgKiBDcmVhdGVkIHdpdGggSW50ZWxsaUogSURFQS4KLSAqIFVzZXI6IGNkdXR6CiAgKiBEYXRlOiAwMy4xMS4xMwotICoKLSAqIEBhdXRob3IgQ2hyaXN0b2ZlciBEdXR6CiAgKi8KIHB1YmxpYyBjbGFzcyBBZXRoZXJEZXBsb3llciB7CiAKLSAgICBwcml2YXRlIFN0cmluZyBkaXJlY3Rvcnk7CisgICAgcHJpdmF0ZSBGaWxlIGRpcmVjdG9yeTsKICAgICBwcml2YXRlIFN0cmluZyB1cmw7CiAgICAgcHJpdmF0ZSBTdHJpbmcgdXNlcm5hbWU7CiAgICAgcHJpdmF0ZSBTdHJpbmcgcGFzc3dvcmQ7CiAKKyAgICBwdWJsaWMgQWV0aGVyRGVwbG95ZXIoRmlsZSBkaXJlY3RvcnksIFN0cmluZyB1cmwsIFN0cmluZyB1c2VybmFtZSwgU3RyaW5nIHBhc3N3b3JkKSB7CisgICAgICAgIHRoaXMuZGlyZWN0b3J5ID0gZGlyZWN0b3J5OworICAgICAgICB0aGlzLnVybCA9IHVybDsKKyAgICAgICAgdGhpcy51c2VybmFtZSA9IHVzZXJuYW1lOworICAgICAgICB0aGlzLnBhc3N3b3JkID0gcGFzc3dvcmQ7CisgICAgfQogCiAgICAgcHVibGljIEFldGhlckRlcGxveWVyKFN0cmluZ1tdIHBhcmFtZXRlcnMpIHsKLSAgICAgICAgdGhpcy5kaXJlY3RvcnkgPSBwYXJhbWV0ZXJzWzBdOworICAgICAgICB0aGlzLmRpcmVjdG9yeSA9IG5ldyBGaWxlKHBhcmFtZXRlcnNbMF0pOwogICAgICAgICB0aGlzLnVybCA9IHBhcmFtZXRlcnNbMV07CiAgICAgICAgIGlmIChwYXJhbWV0ZXJzLmxlbmd0aCA+IDIpIHsKICAgICAgICAgICAgIHRoaXMudXNlcm5hbWUgPSBwYXJhbWV0ZXJzWzJdOwpAQCAtODcsNyArOTAsNyBAQAogICAgICAgICB9CiAKICAgICAgICAgZmluYWwgQWV0aGVyRGVwbG95ZXIgZGVwbG95ZXIgPSBuZXcgQWV0aGVyRGVwbG95ZXIoYXJncyk7Ci0gICAgICAgIGRlcGxveWVyLnN0YXJ0KCk7CisgICAgICAgIGRlcGxveWVyLmRlcGxveSgpOwogICAgIH0KIAogICAgIHByaXZhdGUgc3RhdGljIHZvaWQgcHJpbnRVc2FnZSgpIHsKQEAgLTEwMCw3ICsxMDMsNyBAQAogICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlx0NC0gcGFzc3dvcmQ6IFRoZSBwYXNzd29yZCB1c2VkIHRvIGF1dGhlbnRpY2F0ZSBvbiB0aGUgdGFyZ2V0IHJlcG9zaXRvcnkuIik7CiAgICAgfQogCi0gICAgcHJpdmF0ZSB2b2lkIHN0YXJ0KCkgeworICAgIHB1YmxpYyB2b2lkIGRlcGxveSgpIHsKICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgIGZpbmFsIERlZmF1bHRTZXJ2aWNlTG9jYXRvciBsb2NhdG9yID0gbmV3IERlZmF1bHRTZXJ2aWNlTG9jYXRvcigpOwogICAgICAgICAgICAgbG9jYXRvci5hZGRTZXJ2aWNlKFJlcG9zaXRvcnlDb25uZWN0b3JGYWN0b3J5LmNsYXNzLCBCYXNpY1JlcG9zaXRvcnlDb25uZWN0b3JGYWN0b3J5LmNsYXNzKTsKQEAgLTEzNCw3ICsxMzcsNyBAQAogICAgICAgICAgICAgICAgIHNlc3Npb24uc2V0TG9jYWxSZXBvc2l0b3J5TWFuYWdlcihyZXBvc2l0b3J5U3lzdGVtLm5ld0xvY2FsUmVwb3NpdG9yeU1hbmFnZXIoc2Vzc2lvbiwgbG9jYWxSZXBvKSk7CiAKICAgICAgICAgICAgICAgICAvLyBQcm9jZXNzIGFsbCBjb250ZW50IG9mIHRoZSBtYXZlbml6ZXIgdGFyZ2V0IGRpcmVjdG9yeS4KLSAgICAgICAgICAgICAgICBmaW5hbCBGaWxlIHJvb3REaXIgPSBuZXcgRmlsZShkaXJlY3RvcnkpOworICAgICAgICAgICAgICAgIGZpbmFsIEZpbGUgcm9vdERpciA9IGRpcmVjdG9yeTsKICAgICAgICAgICAgICAgICBwcm9jZXNzRGlyKHJvb3REaXIsIHJlcG9zaXRvcnlTeXN0ZW0sIHNlc3Npb24sIHJlbW90ZVJlcG9zaXRvcnkpOwogICAgICAgICAgICAgfQogICAgICAgICB9IGNhdGNoIChUaHJvd2FibGUgZSkgewpAQCAtMjI1LDIxICsyMjgsMTggQEAKICAgICB9CiAKICAgICBwcml2YXRlIGNsYXNzIFBvbUZpbHRlciBpbXBsZW1lbnRzIGphdmEuaW8uRmlsZUZpbHRlciB7Ci0gICAgICAgIEBPdmVycmlkZQogICAgICAgICBwdWJsaWMgYm9vbGVhbiBhY2NlcHQoRmlsZSBwYXRobmFtZSkgewogICAgICAgICAgICAgcmV0dXJuIHBhdGhuYW1lLmdldE5hbWUoKS5lbmRzV2l0aCgiLnBvbSIpOwogICAgICAgICB9CiAgICAgfQogCiAgICAgcHJpdmF0ZSBjbGFzcyBEaXJGaWx0ZXIgaW1wbGVtZW50cyBqYXZhLmlvLkZpbGVGaWx0ZXIgewotICAgICAgICBAT3ZlcnJpZGUKICAgICAgICAgcHVibGljIGJvb2xlYW4gYWNjZXB0KEZpbGUgcGF0aG5hbWUpIHsKICAgICAgICAgICAgIHJldHVybiBwYXRobmFtZS5pc0RpcmVjdG9yeSgpOwogICAgICAgICB9CiAgICAgfQogCiAgICAgcHJpdmF0ZSBjbGFzcyBBcnRpZmFjdEZpbHRlciBpbXBsZW1lbnRzIGphdmEuaW8uRmlsZUZpbHRlciB7Ci0gICAgICAgIEBPdmVycmlkZQogICAgICAgICBwdWJsaWMgYm9vbGVhbiBhY2NlcHQoRmlsZSBwYXRobmFtZSkgewogICAgICAgICAgICAgcmV0dXJuICFwYXRobmFtZS5nZXROYW1lKCkuZW5kc1dpdGgoIi5wb20iKSAmJiAhcGF0aG5hbWUuaXNEaXJlY3RvcnkoKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL2RlcGxveWVycy9tYXZlbi9wb20ueG1sIGIvbWF2ZW5pemVyL2RlcGxveWVycy9tYXZlbi9wb20ueG1sCmluZGV4IGUwNjI4NWQuLmMxZmM5M2MgMTAwNjQ0Ci0tLSBhL21hdmVuaXplci9kZXBsb3llcnMvbWF2ZW4vcG9tLnhtbAorKysgYi9tYXZlbml6ZXIvZGVwbG95ZXJzL21hdmVuL3BvbS54bWwKQEAgLTE3LDkgKzE3LDcgQEAKICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAKIC0tPgotPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIKLSAgICAgICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCi0gICAgICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy94c2QvbWF2ZW4tNC4wLjAueHNkIj4KKzxwcm9qZWN0IHhtbG5zPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54c2QiPgogICAgIDxtb2RlbFZlcnNpb24+NC4wLjA8L21vZGVsVmVyc2lvbj4KIAogICAgIDxwYXJlbnQ+CmRpZmYgLS1naXQgYS9tYXZlbml6ZXIvZGVwbG95ZXJzL21hdmVuL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvZGVwbG95ZXIvbWF2ZW4vTWF2ZW5EZXBsb3llci5qYXZhIGIvbWF2ZW5pemVyL2RlcGxveWVycy9tYXZlbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL2RlcGxveWVyL21hdmVuL01hdmVuRGVwbG95ZXIuamF2YQppbmRleCA4OGMyOGI4Li42YjJkYTUzIDEwMDY0NAotLS0gYS9tYXZlbml6ZXIvZGVwbG95ZXJzL21hdmVuL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvZGVwbG95ZXIvbWF2ZW4vTWF2ZW5EZXBsb3llci5qYXZhCisrKyBiL21hdmVuaXplci9kZXBsb3llcnMvbWF2ZW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvdXRpbGl0aWVzL2NvbnZlcnRlci9kZXBsb3llci9tYXZlbi9NYXZlbkRlcGxveWVyLmphdmEKQEAgLTIyLDEyICsyMiw4IEBACiAKIC8qKgogICogQ3JlYXRlZCB3aXRoIEludGVsbGlKIElERUEuCi0gKiBVc2VyOiBmdGhvbWFzCiAgKiBEYXRlOiAxMS4wOC4xMgogICogVGltZTogMTg6MTcKLSAqCi0gKiBAYXV0aG9yIEZyZWRlcmljIFRob21hcwotICogQGF1dGhvciBKb3NlIEJhcnJhZ2FuCiAgKi8KIHB1YmxpYyBjbGFzcyBNYXZlbkRlcGxveWVyIHsKIApkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL2RlcGxveWVycy9wb20ueG1sIGIvbWF2ZW5pemVyL2RlcGxveWVycy9wb20ueG1sCmluZGV4IDNjODIxZGMuLjY5MmI0NWQgMTAwNjQ0Ci0tLSBhL21hdmVuaXplci9kZXBsb3llcnMvcG9tLnhtbAorKysgYi9tYXZlbml6ZXIvZGVwbG95ZXJzL3BvbS54bWwKQEAgLTE3LDE0ICsxNywxMiBAQAogICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KIAogLS0+Ci08cHJvamVjdCB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIgotICAgICAgICAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKLSAgICAgICAgIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54c2QiPgorPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAgaHR0cDovL21hdmVuLmFwYWNoZS5vcmcveHNkL21hdmVuLTQuMC4wLnhzZCI+CiAgICAgPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgogCiAgICAgPHBhcmVudD4KICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXI8L2dyb3VwSWQ+Ci0gICAgICAgIDxhcnRpZmFjdElkPmZsZXgtc2RrLWNvbnZlcnRlcjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgPGFydGlmYWN0SWQ+YXBhY2hlLWZsZXgtc2RrLWNvbnZlcnRlcjwvYXJ0aWZhY3RJZD4KICAgICAgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CiAgICAgPC9wYXJlbnQ+CiAKZGlmZiAtLWdpdCBhL21hdmVuaXplci9tYXZlbml6ZXIvcG9tLnhtbCBiL21hdmVuaXplci9tYXZlbi1leHRlbnNpb24vcG9tLnhtbApzaW1pbGFyaXR5IGluZGV4IDYyJQpyZW5hbWUgZnJvbSBtYXZlbml6ZXIvbWF2ZW5pemVyL3BvbS54bWwKcmVuYW1lIHRvIG1hdmVuaXplci9tYXZlbi1leHRlbnNpb24vcG9tLnhtbAppbmRleCAxMTgzZGE4Li40YTk2MzU1IDEwMDY0NAotLS0gYS9tYXZlbml6ZXIvbWF2ZW5pemVyL3BvbS54bWwKKysrIGIvbWF2ZW5pemVyL21hdmVuLWV4dGVuc2lvbi9wb20ueG1sCkBAIC0xNyw0OCArMTcsNTEgQEAKICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAKIC0tPgotPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIKLSAgICAgICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCis8cHJvamVjdCB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgogICAgICAgICAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAgaHR0cDovL21hdmVuLmFwYWNoZS5vcmcveHNkL21hdmVuLTQuMC4wLnhzZCI+CiAgICAgPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgogCiAgICAgPHBhcmVudD4KICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXI8L2dyb3VwSWQ+Ci0gICAgICAgIDxhcnRpZmFjdElkPmZsZXgtc2RrLWNvbnZlcnRlcjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgPGFydGlmYWN0SWQ+YXBhY2hlLWZsZXgtc2RrLWNvbnZlcnRlcjwvYXJ0aWZhY3RJZD4KICAgICAgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CiAgICAgPC9wYXJlbnQ+CiAKLSAgICA8YXJ0aWZhY3RJZD5tYXZlbml6ZXI8L2FydGlmYWN0SWQ+CisgICAgPGFydGlmYWN0SWQ+bWF2ZW4tZXh0ZW5zaW9uPC9hcnRpZmFjdElkPgogICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgogICAgIDxwYWNrYWdpbmc+amFyPC9wYWNrYWdpbmc+CiAKLSAgICA8bmFtZT5BcGFjaGUgRmxleCBNYXZlbml6ZXI8L25hbWU+Ci0gICAgPGRlc2NyaXB0aW9uPlVlYmVyIGphciBjb250YWluaW5nIGFsbCBsaWJyYXJpZXMgbmVlZGVkIHRvIHVzZSB0aGUgTWF2ZW5pemVyLjwvZGVzY3JpcHRpb24+Ci0KICAgICA8YnVpbGQ+CiAgICAgICAgIDxwbHVnaW5zPgogICAgICAgICAgICAgPHBsdWdpbj4KLSAgICAgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLm1hdmVuLnBsdWdpbnM8L2dyb3VwSWQ+Ci0gICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+bWF2ZW4tc2hhZGUtcGx1Z2luPC9hcnRpZmFjdElkPgotICAgICAgICAgICAgICAgIDx2ZXJzaW9uPjIuMzwvdmVyc2lvbj4KKyAgICAgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuc29uYXR5cGUucGx1Z2luczwvZ3JvdXBJZD4KKyAgICAgICAgICAgICAgICA8YXJ0aWZhY3RJZD5zaXN1LW1hdmVuLXBsdWdpbjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgICAgICA8dmVyc2lvbj4xLjQ8L3ZlcnNpb24+CisgICAgICAgICAgICAgICAgPGV4ZWN1dGlvbnM+CisgICAgICAgICAgICAgICAgICAgIDxleGVjdXRpb24+CisgICAgICAgICAgICAgICAgICAgICAgICA8aWQ+Z2VuZXJhdGUtaW5kZXg8L2lkPgorICAgICAgICAgICAgICAgICAgICAgICAgPGdvYWxzPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnb2FsPm1haW4taW5kZXg8L2dvYWw+CisgICAgICAgICAgICAgICAgICAgICAgICA8L2dvYWxzPgorICAgICAgICAgICAgICAgICAgICA8L2V4ZWN1dGlvbj4KKyAgICAgICAgICAgICAgICA8L2V4ZWN1dGlvbnM+CisgICAgICAgICAgICA8L3BsdWdpbj4KKworICAgICAgICAgICAgPHBsdWdpbj4KKyAgICAgICAgICAgICAgICA8YXJ0aWZhY3RJZD5tYXZlbi1hc3NlbWJseS1wbHVnaW48L2FydGlmYWN0SWQ+CisgICAgICAgICAgICAgICAgPHZlcnNpb24+Mi40PC92ZXJzaW9uPgogICAgICAgICAgICAgICAgIDxjb25maWd1cmF0aW9uPgotICAgICAgICAgICAgICAgICAgICA8dHJhbnNmb3JtZXJzPgotICAgICAgICAgICAgICAgICAgICAgICAgPHRyYW5zZm9ybWVyIGltcGxlbWVudGF0aW9uPSJvcmcuYXBhY2hlLm1hdmVuLnBsdWdpbnMuc2hhZGUucmVzb3VyY2UuTWFuaWZlc3RSZXNvdXJjZVRyYW5zZm9ybWVyIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFpbkNsYXNzPm9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyLmNvcmUuU2RrQ29udmVydGVyPC9tYWluQ2xhc3M+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L3RyYW5zZm9ybWVyPgotICAgICAgICAgICAgICAgICAgICA8L3RyYW5zZm9ybWVycz4KLSAgICAgICAgICAgICAgICAgICAgPGZpbHRlcnM+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcnRpZmFjdD4qOio8L2FydGlmYWN0PgotICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+Ci0gICAgICAgICAgICAgICAgICAgIDwvZmlsdGVycz4KLSAgICAgICAgICAgICAgICAgICAgPGZpbmFsTmFtZT5tYXZlbml6ZXI8L2ZpbmFsTmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0b3JSZWZzPgorICAgICAgICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0b3JSZWY+amFyLXdpdGgtZGVwZW5kZW5jaWVzPC9kZXNjcmlwdG9yUmVmPgorICAgICAgICAgICAgICAgICAgICA8L2Rlc2NyaXB0b3JSZWZzPgorICAgICAgICAgICAgICAgICAgICA8ZmluYWxOYW1lPmZsZXgtbWF2ZW4tZXh0ZW5zaW9uLSR7cHJvamVjdC52ZXJzaW9ufTwvZmluYWxOYW1lPgorICAgICAgICAgICAgICAgICAgICA8YXBwZW5kQXNzZW1ibHlJZD5mYWxzZTwvYXBwZW5kQXNzZW1ibHlJZD4KICAgICAgICAgICAgICAgICA8L2NvbmZpZ3VyYXRpb24+CiAgICAgICAgICAgICAgICAgPGV4ZWN1dGlvbnM+CiAgICAgICAgICAgICAgICAgICAgIDxleGVjdXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICA8cGhhc2U+cGFja2FnZTwvcGhhc2U+CiAgICAgICAgICAgICAgICAgICAgICAgICA8Z29hbHM+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdvYWw+c2hhZGU8L2dvYWw+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdvYWw+c2luZ2xlPC9nb2FsPgogICAgICAgICAgICAgICAgICAgICAgICAgPC9nb2Fscz4KICAgICAgICAgICAgICAgICAgICAgPC9leGVjdXRpb24+CiAgICAgICAgICAgICAgICAgPC9leGVjdXRpb25zPgpAQCAtNjksMTggKzcyLDEyIEBACiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgICAgPGRlcGVuZGVuY3k+CiAgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlcjwvZ3JvdXBJZD4KLSAgICAgICAgICAgIDxhcnRpZmFjdElkPmNvcmU8L2FydGlmYWN0SWQ+Ci0gICAgICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KLSAgICAgICAgPC9kZXBlbmRlbmN5PgotCi0gICAgICAgIDxkZXBlbmRlbmN5PgotICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXI8L2dyb3VwSWQ+Ci0gICAgICAgICAgICA8YXJ0aWZhY3RJZD5iYXNlLWNvbnZlcnRlcjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPmRvd25sb2FkLXJldHJpZXZlcjwvYXJ0aWZhY3RJZD4KICAgICAgICAgICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgogICAgICAgICA8L2RlcGVuZGVuY3k+CiAgICAgICAgIDxkZXBlbmRlbmN5PgogICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXI8L2dyb3VwSWQ+Ci0gICAgICAgICAgICA8YXJ0aWZhY3RJZD5haXItY29udmVydGVyPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+ZmxleC1jb252ZXJ0ZXI8L2FydGlmYWN0SWQ+CiAgICAgICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KICAgICAgICAgPC9kZXBlbmRlbmN5PgogICAgICAgICA8ZGVwZW5kZW5jeT4KQEAgLTkwLDMwICs4NywzMSBAQAogICAgICAgICA8L2RlcGVuZGVuY3k+CiAgICAgICAgIDxkZXBlbmRlbmN5PgogICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXI8L2dyb3VwSWQ+Ci0gICAgICAgICAgICA8YXJ0aWZhY3RJZD5mbGV4LWNvbnZlcnRlcjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPmFpci1jb252ZXJ0ZXI8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyPC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+Zm9udGtpdC1jb252ZXJ0ZXI8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyPC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+d3JhcHBlci1jb252ZXJ0ZXI8L2FydGlmYWN0SWQ+CiAgICAgICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KICAgICAgICAgPC9kZXBlbmRlbmN5PgogCiAgICAgICAgIDxkZXBlbmRlbmN5PgotICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXI8L2dyb3VwSWQ+Ci0gICAgICAgICAgICA8YXJ0aWZhY3RJZD5hZXRoZXItZGVwbG95ZXI8L2FydGlmYWN0SWQ+Ci0gICAgICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgICAgICAgICAgIDxncm91cElkPmphdmF4LmluamVjdDwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPmphdmF4LmluamVjdDwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjE8L3ZlcnNpb24+CisgICAgICAgICAgICA8c2NvcGU+cHJvdmlkZWQ8L3Njb3BlPgogICAgICAgICA8L2RlcGVuZGVuY3k+CiAgICAgICAgIDxkZXBlbmRlbmN5PgotICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXI8L2dyb3VwSWQ+Ci0gICAgICAgICAgICA8YXJ0aWZhY3RJZD5tYXZlbi1kZXBsb3llcjwvYXJ0aWZhY3RJZD4KLSAgICAgICAgICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgotICAgICAgICA8L2RlcGVuZGVuY3k+Ci0KLSAgICAgICAgPGRlcGVuZGVuY3k+Ci0gICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlcjwvZ3JvdXBJZD4KLSAgICAgICAgICAgIDxhcnRpZmFjdElkPmJhc2UtcmV0cmlldmVyPC9hcnRpZmFjdElkPgotICAgICAgICAgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+Ci0gICAgICAgIDwvZGVwZW5kZW5jeT4KLSAgICAgICAgPGRlcGVuZGVuY3k+Ci0gICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlcjwvZ3JvdXBJZD4KLSAgICAgICAgICAgIDxhcnRpZmFjdElkPmRvd25sb2FkLXJldHJpZXZlcjwvYXJ0aWZhY3RJZD4KLSAgICAgICAgICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5tYXZlbjwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPm1hdmVuLWNvcmU8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4zLjEuMTwvdmVyc2lvbj4KKyAgICAgICAgICAgIDxzY29wZT5wcm92aWRlZDwvc2NvcGU+CiAgICAgICAgIDwvZGVwZW5kZW5jeT4KICAgICA8L2RlcGVuZGVuY2llcz4KIApkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL21hdmVuLWV4dGVuc2lvbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL21hdmVuZXh0ZW5zaW9uL0ZsZXhFdmVudFNweS5qYXZhIGIvbWF2ZW5pemVyL21hdmVuLWV4dGVuc2lvbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL21hdmVuZXh0ZW5zaW9uL0ZsZXhFdmVudFNweS5qYXZhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzNDYzNmQKLS0tIC9kZXYvbnVsbAorKysgYi9tYXZlbml6ZXIvbWF2ZW4tZXh0ZW5zaW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvbWF2ZW5leHRlbnNpb24vRmxleEV2ZW50U3B5LmphdmEKQEAgLTAsMCArMSwyNDEgQEAKK3BhY2thZ2Ugb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIubWF2ZW5leHRlbnNpb247CisKK2ltcG9ydCBvcmcuYXBhY2hlLmNvbW1vbnMuaW8uRmlsZVV0aWxzOworaW1wb3J0IG9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyLmFpci5BaXJDb252ZXJ0ZXI7CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIuZmxhc2guRmxhc2hDb252ZXJ0ZXI7CitpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIuZmxleC5GbGV4Q29udmVydGVyOworaW1wb3J0IG9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyLmZvbnRraXQuRm9udGtpdENvbnZlcnRlcjsKK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5yZXRyaWV2ZXJzLmRvd25sb2FkLkRvd25sb2FkUmV0cmlldmVyOworaW1wb3J0IG9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyLnJldHJpZXZlcnMudHlwZXMuUGxhdGZvcm1UeXBlOworaW1wb3J0IG9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyLnJldHJpZXZlcnMudHlwZXMuU2RrVHlwZTsKK2ltcG9ydCBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci53cmFwcGVyLldyYXBwZXJDb252ZXJ0ZXI7CitpbXBvcnQgb3JnLmFwYWNoZS5tYXZlbi5NYXZlbkV4ZWN1dGlvbkV4Y2VwdGlvbjsKK2ltcG9ydCBvcmcuYXBhY2hlLm1hdmVuLmFydGlmYWN0LnJlc29sdmVyLkFydGlmYWN0UmVzb2x1dGlvblJlcXVlc3Q7CitpbXBvcnQgb3JnLmFwYWNoZS5tYXZlbi5hcnRpZmFjdC5yZXNvbHZlci5BcnRpZmFjdFJlc29sdXRpb25SZXN1bHQ7CitpbXBvcnQgb3JnLmFwYWNoZS5tYXZlbi5ldmVudHNweS5BYnN0cmFjdEV2ZW50U3B5OworaW1wb3J0IG9yZy5hcGFjaGUubWF2ZW4uZXhlY3V0aW9uLkV4ZWN1dGlvbkV2ZW50OworaW1wb3J0IG9yZy5hcGFjaGUubWF2ZW4uZXhlY3V0aW9uLk1hdmVuU2Vzc2lvbjsKK2ltcG9ydCBvcmcuYXBhY2hlLm1hdmVuLnJlcG9zaXRvcnkuUmVwb3NpdG9yeVN5c3RlbTsKK2ltcG9ydCBvcmcuY29kZWhhdXMucGxleHVzLmxvZ2dpbmcuTG9nZ2VyOworaW1wb3J0IG9yZy5lY2xpcHNlLmFldGhlci5SZXBvc2l0b3J5RXZlbnQ7CitpbXBvcnQgb3JnLmVjbGlwc2UuYWV0aGVyLmFydGlmYWN0LkFydGlmYWN0OworCitpbXBvcnQgamF2YXguaW5qZWN0LkluamVjdDsKK2ltcG9ydCBqYXZheC5pbmplY3QuTmFtZWQ7CitpbXBvcnQgamF2YXguaW5qZWN0LlNpbmdsZXRvbjsKK2ltcG9ydCBqYXZhLmlvLkZpbGU7CisKKy8qKgorICogTWF2ZW4gRXZlbnRTcHkgdGhhdCBsaXN0ZW5zIGZvciByZXNvbHV0aW9uIHJlcXVlc3RzIGFuZCBpbiBjYXNlIG9mIEZsZXggcmVsYXRlZAorICogYXJ0aWZhY3RzLCBpdCBwcmUtY2hlY2tzIHRoZWlyIGF2YWlsYWJpbGl0eS4gSWYgdGhleSBhcmUgbm90IGF2YWlsYWJsZSwgaXQgdXNlcworICogdGhlIGFwYWNoZSBmbGV4IHNkayBjb252ZXJ0ZXIgdG8gYXV0b21hdGljYWxseSBkb3dubG9hZCBhbmQgY29udmVydCB0aGUgbWlzc2luZworICogYXJ0aWZhY3RzIGJlZm9yZSBjb250aW51aW5nIHRoZSBidWlsZCBub3JtYWxseS4KKyAqCisgKiBDcmVhdGVkIGJ5IGNocmlzdG9mZXJkdXR6IG9uIDE3LjA0LjE1LgorICovCitATmFtZWQKK0BTaW5nbGV0b24KK3B1YmxpYyBjbGFzcyBGbGV4RXZlbnRTcHkgZXh0ZW5kcyBBYnN0cmFjdEV2ZW50U3B5IHsKKworICAgIEBJbmplY3QKKyAgICBwcm90ZWN0ZWQgUmVwb3NpdG9yeVN5c3RlbSByZXBvc2l0b3J5U3lzdGVtOworCisgICAgQEluamVjdAorICAgIHByb3RlY3RlZCBMb2dnZXIgbG9nZ2VyOworCisgICAgcHJvdGVjdGVkIE1hdmVuU2Vzc2lvbiBtYXZlblNlc3Npb247CisKKyAgICBwcm90ZWN0ZWQgYm9vbGVhbiBpbnRlcm5hbExvb2t1cCA9IGZhbHNlOworICAgIHByb3RlY3RlZCBib29sZWFuIGZsZXhTcGxhc2hTY3JlZW5TaG93biA9IGZhbHNlOworCisgICAgcHVibGljIEZsZXhFdmVudFNweSgpIHsKKyAgICB9CisKKyAgICBAT3ZlcnJpZGUKKyAgICBwdWJsaWMgdm9pZCBpbml0KENvbnRleHQgY29udGV4dCkgdGhyb3dzIEV4Y2VwdGlvbiB7CisgICAgfQorCisgICAgQE92ZXJyaWRlCisgICAgcHVibGljIHZvaWQgb25FdmVudChPYmplY3QgbykgdGhyb3dzIEV4Y2VwdGlvbiB7CisgICAgICAgIGlmKG8gaW5zdGFuY2VvZiBFeGVjdXRpb25FdmVudCkgeworICAgICAgICAgICAgbWF2ZW5TZXNzaW9uID0gKChFeGVjdXRpb25FdmVudCkgbykuZ2V0U2Vzc2lvbigpOworICAgICAgICB9IGVsc2UgaWYobyBpbnN0YW5jZW9mIFJlcG9zaXRvcnlFdmVudCkgeworICAgICAgICAgICAgUmVwb3NpdG9yeUV2ZW50IHJlcG9zaXRvcnlFdmVudCA9IChSZXBvc2l0b3J5RXZlbnQpIG87CisgICAgICAgICAgICBpZihyZXBvc2l0b3J5RXZlbnQuZ2V0VHlwZSgpID09IFJlcG9zaXRvcnlFdmVudC5FdmVudFR5cGUuQVJUSUZBQ1RfUkVTT0xWSU5HKSB7CisgICAgICAgICAgICAgICAgaWYoIWludGVybmFsTG9va3VwKSB7CisgICAgICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbExvb2t1cCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICBBcnRpZmFjdCBhcnRpZmFjdCA9IHJlcG9zaXRvcnlFdmVudC5nZXRBcnRpZmFjdCgpOworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJ0aWZhY3QuZ2V0R3JvdXBJZCgpLnN0YXJ0c1dpdGgoIm9yZy5hcGFjaGUuZmxleCIpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEicmIuc3djIi5lcXVhbHMoYXJ0aWZhY3QuZ2V0RXh0ZW5zaW9uKCkpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3V0cHV0IGEgY29vbCBzcGFzaC1zY3JlZW4gLi4uIHNvcnJ5IGZvciB0aGF0IC4uLiBjb3VsZG4ndCByZXNpc3QgOi0pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoIWZsZXhTcGxhc2hTY3JlZW5TaG93bikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93RmxleFNwbGFzaFNjcmVlbigpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCFjYW5SZXNvbHZlKGFydGlmYWN0LmdldEdyb3VwSWQoKSwgYXJ0aWZhY3QuZ2V0QXJ0aWZhY3RJZCgpLCBhcnRpZmFjdC5nZXRWZXJzaW9uKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnRpZmFjdC5nZXRFeHRlbnNpb24oKSwgYXJ0aWZhY3QuZ2V0Q2xhc3NpZmllcigpKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0RmxleChhcnRpZmFjdC5nZXRWZXJzaW9uKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYXJ0aWZhY3QuZ2V0R3JvdXBJZCgpLnN0YXJ0c1dpdGgoImNvbS5hZG9iZS5mbGFzaCIpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoIWNhblJlc29sdmUoYXJ0aWZhY3QuZ2V0R3JvdXBJZCgpLCBhcnRpZmFjdC5nZXRBcnRpZmFjdElkKCksIGFydGlmYWN0LmdldFZlcnNpb24oKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFydGlmYWN0LmdldEV4dGVuc2lvbigpLCBhcnRpZmFjdC5nZXRDbGFzc2lmaWVyKCkpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRGbGFzaChhcnRpZmFjdC5nZXRWZXJzaW9uKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYXJ0aWZhY3QuZ2V0R3JvdXBJZCgpLnN0YXJ0c1dpdGgoImNvbS5hZG9iZS5haXIiKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCFjYW5SZXNvbHZlKGFydGlmYWN0LmdldEdyb3VwSWQoKSwgYXJ0aWZhY3QuZ2V0QXJ0aWZhY3RJZCgpLCBhcnRpZmFjdC5nZXRWZXJzaW9uKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnRpZmFjdC5nZXRFeHRlbnNpb24oKSwgYXJ0aWZhY3QuZ2V0Q2xhc3NpZmllcigpKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0QWlyKGFydGlmYWN0LmdldFZlcnNpb24oKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChhcnRpZmFjdC5nZXRHcm91cElkKCkuZXF1YWxzKCJjb20uYWRvYmUiKSAmJiBhcnRpZmFjdC5nZXRBcnRpZmFjdElkKCkuZXF1YWxzKCJmb250a2l0IikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZighY2FuUmVzb2x2ZShhcnRpZmFjdC5nZXRHcm91cElkKCksIGFydGlmYWN0LmdldEFydGlmYWN0SWQoKSwgYXJ0aWZhY3QuZ2V0VmVyc2lvbigpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJ0aWZhY3QuZ2V0RXh0ZW5zaW9uKCksIGFydGlmYWN0LmdldENsYXNzaWZpZXIoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdEZvbnRraXQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbExvb2t1cCA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgcHJvdGVjdGVkIGJvb2xlYW4gY2FuUmVzb2x2ZShTdHJpbmcgZ3JvdXBJZCwgU3RyaW5nIGFydGlmYWN0SWQsIFN0cmluZyB2ZXJzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nIHR5cGUsIFN0cmluZyBjbGFzc2lmaWVyKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBBcnRpZmFjdFJlc29sdXRpb25SZXF1ZXN0IHJlcSA9IG5ldyBBcnRpZmFjdFJlc29sdXRpb25SZXF1ZXN0KCk7CisgICAgICAgICAgICByZXEuc2V0TG9jYWxSZXBvc2l0b3J5KG1hdmVuU2Vzc2lvbi5nZXRMb2NhbFJlcG9zaXRvcnkoKSk7CisgICAgICAgICAgICByZXEuc2V0UmVtb3RlUmVwb3NpdG9yaWVzKG1hdmVuU2Vzc2lvbi5nZXRSZXF1ZXN0KCkuZ2V0UmVtb3RlUmVwb3NpdG9yaWVzKCkpOworICAgICAgICAgICAgaWYoKGNsYXNzaWZpZXIgPT0gbnVsbCkgfHwgKGNsYXNzaWZpZXIubGVuZ3RoKCkgPT0gMCkpIHsKKyAgICAgICAgICAgICAgICByZXEuc2V0QXJ0aWZhY3QocmVwb3NpdG9yeVN5c3RlbS5jcmVhdGVBcnRpZmFjdChncm91cElkLCBhcnRpZmFjdElkLCB2ZXJzaW9uLCB0eXBlKSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHJlcS5zZXRBcnRpZmFjdChyZXBvc2l0b3J5U3lzdGVtLmNyZWF0ZUFydGlmYWN0V2l0aENsYXNzaWZpZXIoZ3JvdXBJZCwgYXJ0aWZhY3RJZCwgdmVyc2lvbiwgdHlwZSwgY2xhc3NpZmllcikpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgQXJ0aWZhY3RSZXNvbHV0aW9uUmVzdWx0IHJlcyA9IHJlcG9zaXRvcnlTeXN0ZW0ucmVzb2x2ZShyZXEpOworICAgICAgICAgICAgcmV0dXJuIHJlcy5pc1N1Y2Nlc3MoKTsKKyAgICAgICAgfSBjYXRjaCAoVGhyb3dhYmxlIGUpIHsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHByb3RlY3RlZCB2b2lkIGluaXRGbGV4KFN0cmluZyB2ZXJzaW9uKSB0aHJvd3MgTWF2ZW5FeGVjdXRpb25FeGNlcHRpb24geworICAgICAgICBsb2dnZXIuaW5mbygiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iKTsKKyAgICAgICAgbG9nZ2VyLmluZm8oIiAtIEluc3RhbGxpbmcgQXBhY2hlIEZsZXggU0RLICIgKyB2ZXJzaW9uKTsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIEZpbGUgbG9jYWxSZXBvQmFzZURpciA9IG5ldyBGaWxlKG1hdmVuU2Vzc2lvbi5nZXRMb2NhbFJlcG9zaXRvcnkoKS5nZXRCYXNlZGlyKCkpOworICAgICAgICAgICAgRG93bmxvYWRSZXRyaWV2ZXIgZG93bmxvYWRSZXRyaWV2ZXIgPSBuZXcgRG93bmxvYWRSZXRyaWV2ZXIoKTsKKyAgICAgICAgICAgIEZpbGUgc2RrUm9vdCA9IGRvd25sb2FkUmV0cmlldmVyLnJldHJpZXZlKFNka1R5cGUuRkxFWCwgdmVyc2lvbik7CisKKyAgICAgICAgICAgIC8vIEluIG9yZGVyIHRvIGNyZWF0ZSBhIGZ1bGx5IGZ1bmN0aW9uYWwgd3JhcHBlciB3ZSBuZWVkIHRvIGRvd25sb2FkCisgICAgICAgICAgICAvLyBTV0ZPYmplY3QgYW5kIG1lcmdlIHRoYXQgd2l0aCB0aGUgZmRrIGZpcnN0LgorICAgICAgICAgICAgRmlsZSBzd2ZPYmplY3RSb290ID0gZG93bmxvYWRSZXRyaWV2ZXIucmV0cmlldmUoU2RrVHlwZS5TV0ZPQkpFQ1QpOworICAgICAgICAgICAgRmlsZVV0aWxzLmNvcHlEaXJlY3Rvcnkoc3dmT2JqZWN0Um9vdCwgc2RrUm9vdCk7CisKKyAgICAgICAgICAgIC8vIEluIG9yZGVyIHRvIGNvbXBpbGUgc29tZSBvZiB0aGUgdGhlbWVzLCB3ZSBuZWVkIHRvIGRvd25sb2FkIGEKKyAgICAgICAgICAgIC8vIHBsYXllcmdsb2JhbCB2ZXJzaW9uLgorICAgICAgICAgICAgbG9nZ2VyLmluZm8oIkluIG9yZGVyIHRvIGNvbnZlcnQgc29tZSBvZiB0aGUgc2tpbnMgaW4gdGhlIEFwYWNoZSBGbGV4IFNESywgIiArCisgICAgICAgICAgICAgICAgICAgICJhIEZsYXNoIFNESyBoYXMgdG8gYmUgZG93bmxvYWRlZC4iKTsKKyAgICAgICAgICAgIEZpbGUgZmxhc2hTZGtSb290ID0gZG93bmxvYWRSZXRyaWV2ZXIucmV0cmlldmUoU2RrVHlwZS5GTEFTSCwgIjEwLjIiKTsKKyAgICAgICAgICAgIEZpbGVVdGlscy5jb3B5RGlyZWN0b3J5KGZsYXNoU2RrUm9vdCwgc2RrUm9vdCk7CisKKyAgICAgICAgICAgIC8vIENvbnZlcnQgdGhlIEZESyBpdHNlbGYuCisgICAgICAgICAgICBGbGV4Q29udmVydGVyIGNvbnZlcnRlciA9IG5ldyBGbGV4Q29udmVydGVyKHNka1Jvb3QsIGxvY2FsUmVwb0Jhc2VEaXIpOworICAgICAgICAgICAgY29udmVydGVyLmNvbnZlcnQoKTsKKworICAgICAgICAgICAgLy8gQ29udmVydCB0aGUgd3JhcHBlci4KKyAgICAgICAgICAgIFdyYXBwZXJDb252ZXJ0ZXIgd3JhcHBlckNvbnZlcnRlciA9IG5ldyBXcmFwcGVyQ29udmVydGVyKHNka1Jvb3QsIGxvY2FsUmVwb0Jhc2VEaXIpOworICAgICAgICAgICAgd3JhcHBlckNvbnZlcnRlci5jb252ZXJ0KCk7CisgICAgICAgIH0gY2F0Y2ggKFRocm93YWJsZSBjZSkgeworICAgICAgICAgICAgdGhyb3cgbmV3IE1hdmVuRXhlY3V0aW9uRXhjZXB0aW9uKAorICAgICAgICAgICAgICAgICAgICAiQ2F1Z2h0IGV4Y2VwdGlvbiB3aGlsZSBkb3dubG9hZGluZyBhbmQgY29udmVydGluZyBhcnRpZmFjdC4iLCBjZSk7CisgICAgICAgIH0KKyAgICAgICAgbG9nZ2VyLmluZm8oIiAtIEZpbmlzaGVkIGluc3RhbGxpbmcgQXBhY2hlIEZsZXggU0RLICIgKyB2ZXJzaW9uKTsKKyAgICB9CisKKyAgICBwcm90ZWN0ZWQgdm9pZCBpbml0Rmxhc2goU3RyaW5nIHZlcnNpb24pIHRocm93cyBNYXZlbkV4ZWN1dGlvbkV4Y2VwdGlvbiB7CisgICAgICAgIGxvZ2dlci5pbmZvKCI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIpOworICAgICAgICBsb2dnZXIuaW5mbygiIC0gSW5zdGFsbGluZyBBZG9iZSBGbGFzaCBTREsgIiArIHZlcnNpb24pOworICAgICAgICB0cnkgeworICAgICAgICAgICAgRmlsZSBsb2NhbFJlcG9CYXNlRGlyID0gbmV3IEZpbGUobWF2ZW5TZXNzaW9uLmdldExvY2FsUmVwb3NpdG9yeSgpLmdldEJhc2VkaXIoKSk7CisgICAgICAgICAgICBEb3dubG9hZFJldHJpZXZlciBkb3dubG9hZFJldHJpZXZlciA9IG5ldyBEb3dubG9hZFJldHJpZXZlcigpOworICAgICAgICAgICAgRmlsZSBzZGtSb290ID0gZG93bmxvYWRSZXRyaWV2ZXIucmV0cmlldmUoU2RrVHlwZS5GTEFTSCwgdmVyc2lvbik7CisgICAgICAgICAgICBGbGFzaENvbnZlcnRlciBjb252ZXJ0ZXIgPSBuZXcgRmxhc2hDb252ZXJ0ZXIoc2RrUm9vdCwgbG9jYWxSZXBvQmFzZURpcik7CisgICAgICAgICAgICBjb252ZXJ0ZXIuY29udmVydCgpOworICAgICAgICB9IGNhdGNoIChUaHJvd2FibGUgY2UpIHsKKyAgICAgICAgICAgIHRocm93IG5ldyBNYXZlbkV4ZWN1dGlvbkV4Y2VwdGlvbigKKyAgICAgICAgICAgICAgICAgICAgIkNhdWdodCBleGNlcHRpb24gd2hpbGUgZG93bmxvYWRpbmcgYW5kIGNvbnZlcnRpbmcgYXJ0aWZhY3QuIiwgY2UpOworICAgICAgICB9CisgICAgICAgIGxvZ2dlci5pbmZvKCIgLSBGaW5pc2hlZCBpbnN0YWxsaW5nIEFkb2JlIEZsYXNoIFNESyAiICsgdmVyc2lvbik7CisgICAgfQorCisgICAgcHJvdGVjdGVkIHZvaWQgaW5pdEFpcihTdHJpbmcgdmVyc2lvbikgdGhyb3dzIE1hdmVuRXhlY3V0aW9uRXhjZXB0aW9uIHsKKyAgICAgICAgbG9nZ2VyLmluZm8oIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Iik7CisgICAgICAgIGxvZ2dlci5pbmZvKCIgLSBJbnN0YWxsaW5nIEFkb2JlIEFJUiBTREsgIiArIHZlcnNpb24pOworICAgICAgICB0cnkgeworICAgICAgICAgICAgRmlsZSBsb2NhbFJlcG9CYXNlRGlyID0gbmV3IEZpbGUobWF2ZW5TZXNzaW9uLmdldExvY2FsUmVwb3NpdG9yeSgpLmdldEJhc2VkaXIoKSk7CisgICAgICAgICAgICBEb3dubG9hZFJldHJpZXZlciBkb3dubG9hZFJldHJpZXZlciA9IG5ldyBEb3dubG9hZFJldHJpZXZlcigpOworICAgICAgICAgICAgRmlsZSBzZGtSb290ID0gZG93bmxvYWRSZXRyaWV2ZXIucmV0cmlldmUoU2RrVHlwZS5BSVIsIHZlcnNpb24sIFBsYXRmb3JtVHlwZS5nZXRDdXJyZW50KCkpOworICAgICAgICAgICAgQWlyQ29udmVydGVyIGNvbnZlcnRlciA9IG5ldyBBaXJDb252ZXJ0ZXIoc2RrUm9vdCwgbG9jYWxSZXBvQmFzZURpcik7CisgICAgICAgICAgICBjb252ZXJ0ZXIuY29udmVydCgpOworICAgICAgICB9IGNhdGNoIChUaHJvd2FibGUgY2UpIHsKKyAgICAgICAgICAgIHRocm93IG5ldyBNYXZlbkV4ZWN1dGlvbkV4Y2VwdGlvbigKKyAgICAgICAgICAgICAgICAgICAgIkNhdWdodCBleGNlcHRpb24gd2hpbGUgZG93bmxvYWRpbmcgYW5kIGNvbnZlcnRpbmcgYXJ0aWZhY3QuIiwgY2UpOworICAgICAgICB9CisgICAgICAgIGxvZ2dlci5pbmZvKCIgLSBGaW5pc2hlZCBpbnN0YWxsaW5nIEFkb2JlIEFJUiBTREsgIiArIHZlcnNpb24pOworICAgIH0KKworICAgIHByb3RlY3RlZCB2b2lkIGluaXRGb250a2l0KCkgdGhyb3dzIE1hdmVuRXhlY3V0aW9uRXhjZXB0aW9uIHsKKyAgICAgICAgbG9nZ2VyLmluZm8oIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Iik7CisgICAgICAgIGxvZ2dlci5pbmZvKCIgLSBJbnN0YWxsaW5nIEFkb2JlIEZvbnRraXQgbGlicmFyaWVzIik7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBGaWxlIGxvY2FsUmVwb0Jhc2VEaXIgPSBuZXcgRmlsZShtYXZlblNlc3Npb24uZ2V0TG9jYWxSZXBvc2l0b3J5KCkuZ2V0QmFzZWRpcigpKTsKKyAgICAgICAgICAgIERvd25sb2FkUmV0cmlldmVyIGRvd25sb2FkUmV0cmlldmVyID0gbmV3IERvd25sb2FkUmV0cmlldmVyKCk7CisgICAgICAgICAgICBGaWxlIHNka1Jvb3QgPSBkb3dubG9hZFJldHJpZXZlci5yZXRyaWV2ZShTZGtUeXBlLkZPTlRLSVQpOworICAgICAgICAgICAgRm9udGtpdENvbnZlcnRlciBjb252ZXJ0ZXIgPSBuZXcgRm9udGtpdENvbnZlcnRlcihzZGtSb290LCBsb2NhbFJlcG9CYXNlRGlyKTsKKyAgICAgICAgICAgIGNvbnZlcnRlci5jb252ZXJ0KCk7CisgICAgICAgIH0gY2F0Y2ggKFRocm93YWJsZSBjZSkgeworICAgICAgICAgICAgdGhyb3cgbmV3IE1hdmVuRXhlY3V0aW9uRXhjZXB0aW9uKAorICAgICAgICAgICAgICAgICAgICAiQ2F1Z2h0IGV4Y2VwdGlvbiB3aGlsZSBkb3dubG9hZGluZyBhbmQgY29udmVydGluZyBhcnRpZmFjdC4iLCBjZSk7CisgICAgICAgIH0KKyAgICAgICAgbG9nZ2VyLmluZm8oIiAtIEZpbmlzaGVkIGluc3RhbGxpbmcgQWRvYmUgRm9udGtpdCBsaWJyYXJpZXMiKTsKKyAgICB9CisKKworICAgIHByb3RlY3RlZCB2b2lkIHNob3dGbGV4U3BsYXNoU2NyZWVuKCkgeworICAgICAgICBsb2dnZXIuaW5mbygiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiArCisgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAsOyc6LCAgICAgICAgICAgICAgICA6Jzs7OyAgXG4iICsKKyAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgOjsnJyc7JyAgICAgICAgICAgICBgKysnJzs7LCBcbiIgKworICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo7JycnKys7JyAgICAgICAgICAgLisnKycnJzs7O1xuIiArCisgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgICAgICAgOycnJysrKysnJyAgICAgICAgICwnOysrKycnJzsnXG4iICsKKyAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICAgLC4gYCwgICwuIC4uOiAsIGAsICAgIGAnJycrKysjIzsnJywgICAgICA7OycrIysrKycnJydcbiIgKworICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgIDsgOyA7IDs7IDtgOiA6LDogOyA7ICAgIDsnKysrOyAgIzs7Ozs7Ojo6Ozs7OysgICsrKycnOlxuIiArCisgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAgOyA7IDogOzsgOy4sIDogOiA7LiAgICAgOzsrKyMgICAgJzs7Ozs7Ozs7OzsrICAgLisrKzsgXG4iICsKKyAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICBgOzogOjsgYDs6IDo7OiAsIDo7YCAgICAgKzsrIyAgICAsOzs7Ojo6Ojo7OiAgICA7IysnLCBcbiIgKworICAgICAgICAgICAgICAgICIgICAgICA7KysrKzonKysgICAgICA6ICAgICAgICAgICAgICAgIDsrLDsgKys7IyAgICArOzo6Ojo6OjsgICAgLCs7OzogIFxuIiArCisgICAgICAgICAgICAgICAgIiAgICAgKysrKysrLCcrKyAgICAgICAgICAgICAgICAgIGArKycgICAgICAgKycnJ2AgICA7Ojo6Ojo6LCAgICs6Ozs6ICAgXG4iICsKKyAgICAgICAgICAgICAgICAiICAgIGArKysuICAgJysrICAgICsrKysrKyAgKysrICAgKysrICAgICAgICAgJycnJycgICA7Ojo6OjogICA6Ozs7OyAgICBcbiIgKworICAgICAgICAgICAgICAgICIgICAgKysrYCAgICAnKysgICArKysrKysrKyArKytgIGArKzogICAgICAgICA6Jyc7OzsgICA7OjpgICAgOjo6OjogICAgIFxuIiArCisgICAgICAgICAgICAgICAgIiAgICArKysgICAgICcrKyAgKysrJyAgOisrOiArKysgKysrICAgICAgICAgICA7Ozs7OycgICAgICAgIDo6Ojo6OiAgICAgXG4iICsKKyAgICAgICAgICAgICAgICAiICAgICsrKyAgICAgJysrICArKysgICAgKysnIGArKysrK2AgICAgICAgICAgIDs7Ozs7OzogICAgICAuOjo6OjpgICAgICBcbiIgKworICAgICAgICAgICAgICAgICIgICAgKysrKysrKyAnKysgICsrKzo6OisrKy4gICsrKysrICAgICAgICAgICAgOzs7Ozs7OyAgICAgICw6Ojo6OiAgICAgIFxuIiArCisgICAgICAgICAgICAgICAgIiAgICArKysrKysrICcrKyAgKysrKysrKysrICAgOisrKycgICAgICAgICAgICA7Ozs7Ozs7ICAgICAgLDo6Ojo6ICAgICAgXG4iICsKKyAgICAgICAgICAgICAgICAiICAgICsrKycnJyAgJysrICArKys7Ozs6YCAgICArKysrKyAgICAgICAgICAgIDs7Ozs7O2AgICAgICA6Ojo6OjouICAgICBcbiIgKworICAgICAgICAgICAgICAgICIgICAgKysrICAgICAnKysgICsrKyAgICAgICAgKysrICsrKyAgICAgICAgICAgOzs7Ozs6ICAgICAgICA6Ojo6OjogICAgIFxuIiArCisgICAgICAgICAgICAgICAgIiAgICArKysgICAgIDorKy4gKysrKyAgIGAgIDorKywgLCsrOyAgICAgICAgICcnJzs7LiAgIGAuLjogICA6Ojo6O2AgICAgXG4iICsKKyAgICAgICAgICAgICAgICAiICAgICsrKyAgICAgICsrJyAgKysrKysrKyAgKysrICAgKysrICAgICAgICA6JycnOyAgICAsLCwsLDogICA7Ozs7OyAgICBcbiIgKworICAgICAgICAgICAgICAgICIgICAgOysrYCAgICAgKysrICAgKysrKysrICsrKyAgICAgKysrICAgICAgLisnOysgICAgOiwsLCwsLDogICBgJzs7OyAgIFxuIiArCisgICAgICAgICAgICAgICAgIiAgICAgKysnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGArJycnICAgIDo6LCwsLCw6OjogICAgJzs7JyAgXG4iICsKKyAgICAgICAgICAgICAgICAiICAgICA6KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzsnJyAgICArOjo6LCwsOjo6OiAgICAuJyc6OyBcbiIgKworICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc7OycnICAgOjo6Ojo6Ojo6Ojo6JyAgICwnOzs6LlxuIiArCisgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzs7OycnYDsrOzs6OmAgIC46Ojs7Jy4sJzs7Ozs6XG4iICsKKyAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGA6Ojs7OycnJzo7OyAgICAgICBgOzs7Jyc7Ozs7OztcbiIgKworICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6Ojs7OycnOzogICAgICAgICAgOzsnOzs7Ozs6O1xuIiArCisgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLDo6Ojs7OycsICAgICAgICAgICAgJyw7Ozs7OjpgXG4iICsKKyAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLjo6Ojs6LiAgICAgICAgICAgICAgOzo7Ozo6OiBcbiIgKworICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo7LCAgICAgICAgICAgICAgICAgYCw7O2AgIFxuIik7CisgICAgICAgIGZsZXhTcGxhc2hTY3JlZW5TaG93biA9IHRydWU7CisgICAgfQorCit9CmRpZmYgLS1naXQgYS9tYXZlbml6ZXIvcG9tLnhtbCBiL21hdmVuaXplci9wb20ueG1sCmluZGV4IDgwNWE3ODAuLmU1MzE3ZjYgMTAwNjQ0Ci0tLSBhL21hdmVuaXplci9wb20ueG1sCisrKyBiL21hdmVuaXplci9wb20ueG1sCkBAIC0xNywyNCArMTcsMjIgQEAKICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAKIC0tPgotPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIKLSAgICAgICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCi0gICAgICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy94c2QvbWF2ZW4tNC4wLjAueHNkIj4KKzxwcm9qZWN0IHhtbG5zPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54c2QiPgogICAgIDxtb2RlbFZlcnNpb24+NC4wLjA8L21vZGVsVmVyc2lvbj4KIAogICAgIDxwYXJlbnQ+CiAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGU8L2dyb3VwSWQ+CiAgICAgICAgIDxhcnRpZmFjdElkPmFwYWNoZTwvYXJ0aWZhY3RJZD4KLSAgICAgICAgPHZlcnNpb24+MTQ8L3ZlcnNpb24+CisgICAgICAgIDx2ZXJzaW9uPjE2PC92ZXJzaW9uPgogICAgIDwvcGFyZW50PgogCiAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXI8L2dyb3VwSWQ+Ci0gICAgPGFydGlmYWN0SWQ+ZmxleC1zZGstY29udmVydGVyPC9hcnRpZmFjdElkPgorICAgIDxhcnRpZmFjdElkPmFwYWNoZS1mbGV4LXNkay1jb252ZXJ0ZXI8L2FydGlmYWN0SWQ+CiAgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CiAgICAgPHBhY2thZ2luZz5wb208L3BhY2thZ2luZz4KIAogICAgIDxwcm9wZXJ0aWVzPgotICAgICAgICA8bWF2ZW5WZXJzaW9uPjMuMS4wPC9tYXZlblZlcnNpb24+CisgICAgICAgIDxtYXZlblZlcnNpb24+My4xLjE8L21hdmVuVmVyc2lvbj4KICAgICAgICAgPGFldGhlclZlcnNpb24+MC45LjAuTTQ8L2FldGhlclZlcnNpb24+CiAgICAgICAgIDx3YWdvblZlcnNpb24+Mi4yPC93YWdvblZlcnNpb24+CiAgICAgPC9wcm9wZXJ0aWVzPgpAQCAtNTIsMjQgKzUwLDE4IEBACiAgICAgPC9tYWlsaW5nTGlzdHM+CiAKICAgICA8c2NtPgotICAgICAgICA8Y29ubmVjdGlvbj4KLSAgICAgICAgICAgIHNjbTpzdm46aHR0cHM6Ly9naXQtd2lwLXVzLmFwYWNoZS5vcmcvcmVwb3MvYXNmL2ZsZXgtdXRpbGl0aWVzLmdpdAotICAgICAgICA8L2Nvbm5lY3Rpb24+Ci0gICAgICAgIDxkZXZlbG9wZXJDb25uZWN0aW9uPgotICAgICAgICAgICAgc2NtOnN2bjpodHRwczovL2dpdC13aXAtdXMuYXBhY2hlLm9yZy9yZXBvcy9hc2YvZmxleC11dGlsaXRpZXMuZ2l0Ci0gICAgICAgIDwvZGV2ZWxvcGVyQ29ubmVjdGlvbj4KLSAgICAgICAgPHVybD4KLSAgICAgICAgICAgIGh0dHBzOi8vZ2l0LXdpcC11cy5hcGFjaGUub3JnL3JlcG9zL2FzZi9mbGV4LXV0aWxpdGllcy5naXQKLSAgICAgICAgPC91cmw+CisgICAgICAgIDxjb25uZWN0aW9uPnNjbTpnaXQ6aHR0cHM6Ly9naXQtd2lwLXVzLmFwYWNoZS5vcmcvcmVwb3MvYXNmL2ZsZXgtdXRpbGl0aWVzLmdpdDwvY29ubmVjdGlvbj4KKyAgICAgICAgPGRldmVsb3BlckNvbm5lY3Rpb24+c2NtOmdpdDpodHRwczovL2dpdC13aXAtdXMuYXBhY2hlLm9yZy9yZXBvcy9hc2YvZmxleC11dGlsaXRpZXMuZ2l0PC9kZXZlbG9wZXJDb25uZWN0aW9uPgorICAgICAgICA8dXJsPmh0dHBzOi8vZ2l0LXdpcC11cy5hcGFjaGUub3JnL3JlcG9zL2FzZi9mbGV4LXV0aWxpdGllcy5naXQ8L3VybD4KKyAgICAgICAgPHRhZz5IRUFEPC90YWc+CiAgICAgPC9zY20+CiAKICAgICA8bW9kdWxlcz4KLSAgICAgICAgPG1vZHVsZT5jb3JlPC9tb2R1bGU+CiAgICAgICAgIDxtb2R1bGU+cmV0cmlldmVyczwvbW9kdWxlPgogICAgICAgICA8bW9kdWxlPmNvbnZlcnRlcnM8L21vZHVsZT4KICAgICAgICAgPG1vZHVsZT5kZXBsb3llcnM8L21vZHVsZT4KLQotICAgICAgICA8bW9kdWxlPm1hdmVuaXplcjwvbW9kdWxlPgorICAgICAgICA8bW9kdWxlPmNsaTwvbW9kdWxlPgorICAgICAgICA8bW9kdWxlPm1hdmVuLWV4dGVuc2lvbjwvbW9kdWxlPgogICAgIDwvbW9kdWxlcz4KIAogICAgIDxidWlsZD4KZGlmZiAtLWdpdCBhL21hdmVuaXplci9yZXRyaWV2ZXJzL2Jhc2UvcG9tLnhtbCBiL21hdmVuaXplci9yZXRyaWV2ZXJzL2Jhc2UvcG9tLnhtbAppbmRleCAzNTI0ZGQ4Li5hY2U4NmM2IDEwMDY0NAotLS0gYS9tYXZlbml6ZXIvcmV0cmlldmVycy9iYXNlL3BvbS54bWwKKysrIGIvbWF2ZW5pemVyL3JldHJpZXZlcnMvYmFzZS9wb20ueG1sCkBAIC0xNyw5ICsxNyw3IEBACiAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogCiAtLT4KLTxwcm9qZWN0IHhtbG5zPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAiCi0gICAgICAgICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgotICAgICAgICAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAgaHR0cDovL21hdmVuLmFwYWNoZS5vcmcveHNkL21hdmVuLTQuMC4wLnhzZCI+Cis8cHJvamVjdCB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy94c2QvbWF2ZW4tNC4wLjAueHNkIj4KICAgICA8bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+CiAKICAgICA8cGFyZW50PgpAQCAtMzIsNiArMzAsMTEgQEAKICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KICAgICA8cGFja2FnaW5nPmphcjwvcGFja2FnaW5nPgogCisgICAgPHByb3BlcnRpZXM+CisgICAgICAgIDxwb3dlcm1vY2sudmVyc2lvbj4xLjYuMjwvcG93ZXJtb2NrLnZlcnNpb24+CisgICAgICAgIDxqdW5pdC52ZXJzaW9uPjQuMTE8L2p1bml0LnZlcnNpb24+CisgICAgPC9wcm9wZXJ0aWVzPgorCiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgICAgPGRlcGVuZGVuY3k+CiAgICAgICAgICAgICA8Z3JvdXBJZD5jb21tb25zLWlvPC9ncm91cElkPgpAQCAtNDQsMTAgKzQ3LDIzIEBACiAgICAgICAgICAgICA8dmVyc2lvbj4xLjguMTwvdmVyc2lvbj4KICAgICAgICAgPC9kZXBlbmRlbmN5PgogICAgICAgICA8ZGVwZW5kZW5jeT4KLSAgICAgICAgICAgIDxncm91cElkPm9yZy5jb2RlaGF1cy5wbGV4dXM8L2dyb3VwSWQ+Ci0gICAgICAgICAgICA8YXJ0aWZhY3RJZD5wbGV4dXMtdXRpbHM8L2FydGlmYWN0SWQ+Ci0gICAgICAgICAgICA8dmVyc2lvbj4zLjAuMTU8L3ZlcnNpb24+CisgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmNvbW1vbnM8L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5jb21tb25zLWxhbmczPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgPHZlcnNpb24+My4zLjI8L3ZlcnNpb24+CisgICAgICAgIDwvZGVwZW5kZW5jeT4KKworICAgICAgICA8IS0tVEVTVC0tPgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPmp1bml0PC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+anVuaXQ8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4ke2p1bml0LnZlcnNpb259PC92ZXJzaW9uPgorICAgICAgICAgICAgPHNjb3BlPnRlc3Q8L3Njb3BlPgorICAgICAgICA8L2RlcGVuZGVuY3k+CisgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGdyb3VwSWQ+cGwucHJhZ21hdGlzdHM8L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5KVW5pdFBhcmFtczwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjEuMC40PC92ZXJzaW9uPgorICAgICAgICAgICAgPHNjb3BlPnRlc3Q8L3Njb3BlPgogICAgICAgICA8L2RlcGVuZGVuY3k+CiAgICAgPC9kZXBlbmRlbmNpZXM+Ci0KIDwvcHJvamVjdD4KZGlmZiAtLWdpdCBhL21hdmVuaXplci9yZXRyaWV2ZXJzL2Jhc2Uvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvdXRpbGl0aWVzL2NvbnZlcnRlci9yZXRyaWV2ZXJzL3R5cGVzL1BsYXRmb3JtVHlwZS5qYXZhIGIvbWF2ZW5pemVyL3JldHJpZXZlcnMvYmFzZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL3JldHJpZXZlcnMvdHlwZXMvUGxhdGZvcm1UeXBlLmphdmEKaW5kZXggYjVjZjgzZi4uZDczMjBkNCAxMDA2NDQKLS0tIGEvbWF2ZW5pemVyL3JldHJpZXZlcnMvYmFzZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL3JldHJpZXZlcnMvdHlwZXMvUGxhdGZvcm1UeXBlLmphdmEKKysrIGIvbWF2ZW5pemVyL3JldHJpZXZlcnMvYmFzZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL3JldHJpZXZlcnMvdHlwZXMvUGxhdGZvcm1UeXBlLmphdmEKQEAgLTE2LDYgKzE2LDggQEAKICAqLwogcGFja2FnZSBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5yZXRyaWV2ZXJzLnR5cGVzOwogCitpbXBvcnQgb3JnLmFwYWNoZS5jb21tb25zLmxhbmczLlN5c3RlbVV0aWxzOworCiAvKioKICAqIENyZWF0ZWQgYnkgY2R1dHogb24gMTguMDUuMjAxNC4KICAqLwpAQCAtMjMsNiArMjUsMjUgQEAKIAogICAgIFdJTkRPV1MsCiAgICAgTElOVVgsCi0gICAgTUFDCisgICAgTUFDOwogCisgICAgcHVibGljIHN0YXRpYyBQbGF0Zm9ybVR5cGUgZ2V0Q3VycmVudCgpIHRocm93cyBFeGNlcHRpb24geworICAgICAgICBQbGF0Zm9ybVR5cGUgcGxhdGZvcm1UeXBlID0gbnVsbDsKKworICAgICAgICBpZiAoU3lzdGVtVXRpbHMuSVNfT1NfV0lORE9XUykKKyAgICAgICAgeworICAgICAgICAgICAgcGxhdGZvcm1UeXBlID0gUGxhdGZvcm1UeXBlLldJTkRPV1M7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoU3lzdGVtVXRpbHMuSVNfT1NfTUFDIHx8IFN5c3RlbVV0aWxzLklTX09TX01BQ19PU1gpCisgICAgICAgIHsKKyAgICAgICAgICAgIHBsYXRmb3JtVHlwZSA9IFBsYXRmb3JtVHlwZS5NQUM7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoU3lzdGVtVXRpbHMuSVNfT1NfVU5JWCkKKyAgICAgICAgeworICAgICAgICAgICAgcGxhdGZvcm1UeXBlID0gUGxhdGZvcm1UeXBlLkxJTlVYOworICAgICAgICB9CisgICAgICAgIGVsc2UgdGhyb3cgbmV3IEV4Y2VwdGlvbigiVW5zdXBwb3J0ZWQgT1MuIik7CisKKyAgICAgICAgcmV0dXJuIHBsYXRmb3JtVHlwZTsKKyAgICB9CiB9CmRpZmYgLS1naXQgYS9tYXZlbml6ZXIvcmV0cmlldmVycy9iYXNlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvcmV0cmlldmVycy90eXBlcy9TZGtUeXBlLmphdmEgYi9tYXZlbml6ZXIvcmV0cmlldmVycy9iYXNlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvcmV0cmlldmVycy90eXBlcy9TZGtUeXBlLmphdmEKaW5kZXggZGEwYjUyNy4uZjhiMzAyNCAxMDA2NDQKLS0tIGEvbWF2ZW5pemVyL3JldHJpZXZlcnMvYmFzZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL3JldHJpZXZlcnMvdHlwZXMvU2RrVHlwZS5qYXZhCisrKyBiL21hdmVuaXplci9yZXRyaWV2ZXJzL2Jhc2Uvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvdXRpbGl0aWVzL2NvbnZlcnRlci9yZXRyaWV2ZXJzL3R5cGVzL1Nka1R5cGUuamF2YQpAQCAtMjEsOCArMjEsMTAgQEAKICAqLwogcHVibGljIGVudW0gU2RrVHlwZSB7CiAKKyAgICBGTEVYLAogICAgIEZMQVNILAogICAgIEFJUiwKLSAgICBGTEVYCisgICAgRk9OVEtJVCwKKyAgICBTV0ZPQkpFQ1QKIAogfQpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL3JldHJpZXZlcnMvYmFzZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL3JldHJpZXZlcnMvdXRpbHMvUHJvZ3Jlc3NCYXIuamF2YSBiL21hdmVuaXplci9yZXRyaWV2ZXJzL2Jhc2Uvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvdXRpbGl0aWVzL2NvbnZlcnRlci9yZXRyaWV2ZXJzL3V0aWxzL1Byb2dyZXNzQmFyLmphdmEKaW5kZXggOGU5MTg2NC4uYzE1ZDI2YiAxMDA2NDQKLS0tIGEvbWF2ZW5pemVyL3JldHJpZXZlcnMvYmFzZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL3JldHJpZXZlcnMvdXRpbHMvUHJvZ3Jlc3NCYXIuamF2YQorKysgYi9tYXZlbml6ZXIvcmV0cmlldmVycy9iYXNlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvcmV0cmlldmVycy91dGlscy9Qcm9ncmVzc0Jhci5qYXZhCkBAIC0xNiw3ICsxNiw3IEBACiAgKi8KIHBhY2thZ2Ugb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIucmV0cmlldmVycy51dGlsczsKIAotaW1wb3J0IG9yZy5jb2RlaGF1cy5wbGV4dXMudXRpbC5TdHJpbmdVdGlsczsKK2ltcG9ydCBvcmcuYXBhY2hlLmNvbW1vbnMubGFuZzMuU3RyaW5nVXRpbHM7CiAKIC8qKgogICogQ3JlYXRlZCBieSBjZHV0eiBvbiAyNC4wNS4yMDE0LgpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL3JldHJpZXZlcnMvYmFzZS9zcmMvdGVzdC9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL3JldHJpZXZlcnMvdHlwZXMvUGxhdGZvcm1UeXBlVGVzdC5qYXZhIGIvbWF2ZW5pemVyL3JldHJpZXZlcnMvYmFzZS9zcmMvdGVzdC9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL3JldHJpZXZlcnMvdHlwZXMvUGxhdGZvcm1UeXBlVGVzdC5qYXZhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlYjZhMjIKLS0tIC9kZXYvbnVsbAorKysgYi9tYXZlbml6ZXIvcmV0cmlldmVycy9iYXNlL3NyYy90ZXN0L2phdmEvb3JnL2FwYWNoZS9mbGV4L3V0aWxpdGllcy9jb252ZXJ0ZXIvcmV0cmlldmVycy90eXBlcy9QbGF0Zm9ybVR5cGVUZXN0LmphdmEKQEAgLTAsMCArMSw2OSBAQAorcGFja2FnZSBvcmcuYXBhY2hlLmZsZXgudXRpbGl0aWVzLmNvbnZlcnRlci5yZXRyaWV2ZXJzLnR5cGVzOworCitpbXBvcnQganVuaXRwYXJhbXMuSlVuaXRQYXJhbXNSdW5uZXI7CitpbXBvcnQganVuaXRwYXJhbXMuUGFyYW1ldGVyczsKK2ltcG9ydCBvcmcuYXBhY2hlLmNvbW1vbnMubGFuZzMuU3lzdGVtVXRpbHM7CitpbXBvcnQgb3JnLmp1bml0LkJlZm9yZTsKK2ltcG9ydCBvcmcuanVuaXQuVGVzdDsKK2ltcG9ydCBvcmcuanVuaXQucnVubmVyLlJ1bldpdGg7CisKK2ltcG9ydCBqYXZhLmxhbmcucmVmbGVjdC5GaWVsZDsKK2ltcG9ydCBqYXZhLmxhbmcucmVmbGVjdC5Nb2RpZmllcjsKK2ltcG9ydCBqYXZhLnV0aWwuQXJyYXlzOworaW1wb3J0IGphdmEudXRpbC5Db2xsZWN0aW9uOworCitpbXBvcnQgc3RhdGljIG9yZy5qdW5pdC5Bc3NlcnQuYXNzZXJ0RXF1YWxzOworCisvKioKKyAqIEBhdXRob3I6IEZyZWRlcmljIFRob21hcworICogRGF0ZTogMTIvMDUvMjAxNQorICogVGltZTogMDE6MzQKKyAqLworQFJ1bldpdGgoSlVuaXRQYXJhbXNSdW5uZXIuY2xhc3MpCitwdWJsaWMgY2xhc3MgUGxhdGZvcm1UeXBlVGVzdCB7CisKKwlwcml2YXRlIENsYXNzPFN5c3RlbVV0aWxzPiBzeXN0ZW1VdGlsc0NsYXNzOworCisJcHVibGljIHN0YXRpYyBDb2xsZWN0aW9uPE9iamVjdFtdPiBwbGF0Zm9ybVBhcmFtZXRlcnMoKSB7CisJCXJldHVybiBBcnJheXMuYXNMaXN0KG5ldyBPYmplY3RbXVtdeworCQkJCXsiSVNfT1NfV0lORE9XUyIsIFBsYXRmb3JtVHlwZS5XSU5ET1dTfSwKKwkJCQl7IklTX09TX01BQyIsIFBsYXRmb3JtVHlwZS5NQUN9LAorCQkJCXsiSVNfT1NfTUFDX09TWCIsIFBsYXRmb3JtVHlwZS5NQUN9LAorCQkJCXsiSVNfT1NfVU5JWCIsIFBsYXRmb3JtVHlwZS5MSU5VWH0KKwkJfSk7CisJfQorCisJQEJlZm9yZQorCXB1YmxpYyB2b2lkIHNldFVwKCkgdGhyb3dzIEV4Y2VwdGlvbiB7CisJCXN5c3RlbVV0aWxzQ2xhc3MgPSBTeXN0ZW1VdGlscy5jbGFzczsKKworCQlzZXRGaW5hbFN0YXRpYyhzeXN0ZW1VdGlsc0NsYXNzLmdldEZpZWxkKCJJU19PU19XSU5ET1dTIiksIGZhbHNlKTsKKwkJc2V0RmluYWxTdGF0aWMoc3lzdGVtVXRpbHNDbGFzcy5nZXRGaWVsZCgiSVNfT1NfTUFDIiksIGZhbHNlKTsKKwkJc2V0RmluYWxTdGF0aWMoc3lzdGVtVXRpbHNDbGFzcy5nZXRGaWVsZCgiSVNfT1NfTUFDX09TWCIpLCBmYWxzZSk7CisJCXNldEZpbmFsU3RhdGljKHN5c3RlbVV0aWxzQ2xhc3MuZ2V0RmllbGQoIklTX09TX1VOSVgiKSwgZmFsc2UpOworCX0KKworCUBUZXN0CisJQFBhcmFtZXRlcnMobWV0aG9kID0gInBsYXRmb3JtUGFyYW1ldGVycyIpCisJcHVibGljIHZvaWQgaXRfZGV0ZWN0c190aGVfY3VycmVudF9wbGF0Zm9ybV90eXBlKFN0cmluZyBmaWVsZE5hbWUsIFBsYXRmb3JtVHlwZSBwbGF0Zm9ybVR5cGUpIHRocm93cyBFeGNlcHRpb24geworCisJCXNldEZpbmFsU3RhdGljKHN5c3RlbVV0aWxzQ2xhc3MuZ2V0RmllbGQoZmllbGROYW1lKSwgdHJ1ZSk7CisJCWFzc2VydEVxdWFscyhwbGF0Zm9ybVR5cGUsIFBsYXRmb3JtVHlwZS5nZXRDdXJyZW50KCkpOworCX0KKworCUBUZXN0KGV4cGVjdGVkID0gRXhjZXB0aW9uLmNsYXNzKQorCXB1YmxpYyB2b2lkIGl0X3Rocm93c19hbl9leGNlcHRpb25fd2hlbl9pdF9jYW5fbm90X2RldGVjdF90aGVfY3VycmVudF9wbGF0Zm9ybV90eXBlKCkgdGhyb3dzIEV4Y2VwdGlvbiB7CisJCVBsYXRmb3JtVHlwZS5nZXRDdXJyZW50KCk7CisJfQorCisJcHJpdmF0ZSBzdGF0aWMgdm9pZCBzZXRGaW5hbFN0YXRpYyhGaWVsZCBmaWVsZCwgT2JqZWN0IG5ld1ZhbHVlKSB0aHJvd3MgRXhjZXB0aW9uIHsKKwkJZmllbGQuc2V0QWNjZXNzaWJsZSh0cnVlKTsKKworCQkvLyByZW1vdmUgZmluYWwgbW9kaWZpZXIgZnJvbSBmaWVsZAorCQlGaWVsZCBtb2RpZmllcnNGaWVsZCA9IEZpZWxkLmNsYXNzLmdldERlY2xhcmVkRmllbGQoIm1vZGlmaWVycyIpOworCQltb2RpZmllcnNGaWVsZC5zZXRBY2Nlc3NpYmxlKHRydWUpOworCQltb2RpZmllcnNGaWVsZC5zZXRJbnQoZmllbGQsIGZpZWxkLmdldE1vZGlmaWVycygpICYgfk1vZGlmaWVyLkZJTkFMKTsKKworCQlmaWVsZC5zZXQobnVsbCwgbmV3VmFsdWUpOworCX0KK30KZGlmZiAtLWdpdCBhL21hdmVuaXplci9yZXRyaWV2ZXJzL2Rvd25sb2FkL3BvbS54bWwgYi9tYXZlbml6ZXIvcmV0cmlldmVycy9kb3dubG9hZC9wb20ueG1sCmluZGV4IGE1NjY2NzMuLjEzY2QxYTkgMTAwNjQ0Ci0tLSBhL21hdmVuaXplci9yZXRyaWV2ZXJzL2Rvd25sb2FkL3BvbS54bWwKKysrIGIvbWF2ZW5pemVyL3JldHJpZXZlcnMvZG93bmxvYWQvcG9tLnhtbApAQCAtMTcsOSArMTcsNyBAQAogICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KIAogLS0+Ci08cHJvamVjdCB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIgotICAgICAgICAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKLSAgICAgICAgIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54c2QiPgorPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAgaHR0cDovL21hdmVuLmFwYWNoZS5vcmcveHNkL21hdmVuLTQuMC4wLnhzZCI+CiAgICAgPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgogCiAgICAgPHBhcmVudD4KQEAgLTM4LDYgKzM2LDE3IEBACiAgICAgICAgICAgICA8YXJ0aWZhY3RJZD5iYXNlLXJldHJpZXZlcjwvYXJ0aWZhY3RJZD4KICAgICAgICAgICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgogICAgICAgICA8L2RlcGVuZGVuY3k+CisKKyAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmh0dHBjb21wb25lbnRzPC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+aHR0cGNsaWVudDwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjQuMi4zPC92ZXJzaW9uPgorICAgICAgICA8L2RlcGVuZGVuY3k+CisgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5tYXZlbjwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPm1hdmVuLWFydGlmYWN0PC9hcnRpZmFjdElkPgorICAgICAgICAgICAgPHZlcnNpb24+My4yLjM8L3ZlcnNpb24+CisgICAgICAgIDwvZGVwZW5kZW5jeT4KICAgICA8L2RlcGVuZGVuY2llcz4KIAogPC9wcm9qZWN0PgpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL3JldHJpZXZlcnMvZG93bmxvYWQvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZsZXgvdXRpbGl0aWVzL2NvbnZlcnRlci9yZXRyaWV2ZXJzL2Rvd25sb2FkL0Rvd25sb2FkUmV0cmlldmVyLmphdmEgYi9tYXZlbml6ZXIvcmV0cmlldmVycy9kb3dubG9hZC9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL3JldHJpZXZlcnMvZG93bmxvYWQvRG93bmxvYWRSZXRyaWV2ZXIuamF2YQppbmRleCBmZjBhMDVlLi40NWM5NTcwIDEwMDY0NAotLS0gYS9tYXZlbml6ZXIvcmV0cmlldmVycy9kb3dubG9hZC9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL3JldHJpZXZlcnMvZG93bmxvYWQvRG93bmxvYWRSZXRyaWV2ZXIuamF2YQorKysgYi9tYXZlbml6ZXIvcmV0cmlldmVycy9kb3dubG9hZC9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmxleC91dGlsaXRpZXMvY29udmVydGVyL3JldHJpZXZlcnMvZG93bmxvYWQvRG93bmxvYWRSZXRyaWV2ZXIuamF2YQpAQCAtMTYsMTEgKzE2LDE5IEBACiAgKi8KIHBhY2thZ2Ugb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIucmV0cmlldmVycy5kb3dubG9hZDsKIAoraW1wb3J0IG9yZy5hcGFjaGUuY29tbW9ucy5pby5GaWxlVXRpbHM7CitpbXBvcnQgb3JnLmFwYWNoZS5jb21tb25zLmlvLklPVXRpbHM7CiBpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIucmV0cmlldmVycy5CYXNlUmV0cmlldmVyOwogaW1wb3J0IG9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyLnJldHJpZXZlcnMuZXhjZXB0aW9ucy5SZXRyaWV2ZXJFeGNlcHRpb247CiBpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIucmV0cmlldmVycy50eXBlcy5QbGF0Zm9ybVR5cGU7CiBpbXBvcnQgb3JnLmFwYWNoZS5mbGV4LnV0aWxpdGllcy5jb252ZXJ0ZXIucmV0cmlldmVycy50eXBlcy5TZGtUeXBlOwogaW1wb3J0IG9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyLnJldHJpZXZlcnMudXRpbHMuUHJvZ3Jlc3NCYXI7CitpbXBvcnQgb3JnLmFwYWNoZS5odHRwLkh0dHBFbnRpdHk7CitpbXBvcnQgb3JnLmFwYWNoZS5odHRwLkh0dHBSZXNwb25zZTsKK2ltcG9ydCBvcmcuYXBhY2hlLmh0dHAuY2xpZW50Lkh0dHBDbGllbnQ7CitpbXBvcnQgb3JnLmFwYWNoZS5odHRwLmNsaWVudC5tZXRob2RzLkh0dHBHZXQ7CitpbXBvcnQgb3JnLmFwYWNoZS5odHRwLmltcGwuY2xpZW50LkRlZmF1bHRIdHRwQ2xpZW50OworaW1wb3J0IG9yZy5hcGFjaGUubWF2ZW4uYXJ0aWZhY3QudmVyc2lvbmluZy5EZWZhdWx0QXJ0aWZhY3RWZXJzaW9uOwogaW1wb3J0IG9yZy53M2MuZG9tLkRvY3VtZW50OwogaW1wb3J0IG9yZy53M2MuZG9tLkVsZW1lbnQ7CiBpbXBvcnQgb3JnLnczYy5kb20uTm9kZUxpc3Q7CkBAIC0zMywxNCArNDEsMTEgQEAKIGltcG9ydCBqYXZheC54bWwueHBhdGguWFBhdGhDb25zdGFudHM7CiBpbXBvcnQgamF2YXgueG1sLnhwYXRoLlhQYXRoRXhwcmVzc2lvbkV4Y2VwdGlvbjsKIGltcG9ydCBqYXZheC54bWwueHBhdGguWFBhdGhGYWN0b3J5OwotCiBpbXBvcnQgamF2YS5pby4qOwotaW1wb3J0IGphdmEubmV0Lk1hbGZvcm1lZFVSTEV4Y2VwdGlvbjsKLWltcG9ydCBqYXZhLm5ldC5VUkw7Ci1pbXBvcnQgamF2YS5uZXQuVVJMQ29ubmVjdGlvbjsKK2ltcG9ydCBqYXZhLm5ldC4qOwogaW1wb3J0IGphdmEubmlvLmNoYW5uZWxzLkNoYW5uZWxzOwogaW1wb3J0IGphdmEubmlvLmNoYW5uZWxzLlJlYWRhYmxlQnl0ZUNoYW5uZWw7Ci1pbXBvcnQgamF2YS51dGlsLlByb3BlcnRpZXM7CitpbXBvcnQgamF2YS51dGlsLio7CiAKIC8qKgogICogQ3JlYXRlZCBieSBjZHV0eiBvbiAxOC4wNS4yMDE0LgpAQCAtNTAsNDAgKzU1LDE4NyBAQAogICAgIHB1YmxpYyBzdGF0aWMgZmluYWwgU3RyaW5nIEZMRVhfSU5TVEFMTEVSX0NPTkZJR19VUkwgPQogICAgICAgICAgICAgImh0dHA6Ly9mbGV4LmFwYWNoZS5vcmcvaW5zdGFsbGVyL3Nkay1pbnN0YWxsZXItY29uZmlnLTQuMC54bWwiOwogCisgICAgLyoqCisgICAgICogV3JhcHBlciB0byBhbGxvdyBzaW1wbGUgb3ZlcnJpZGluZyBvZiB0aGlzIHByb3BlcnR5LgorICAgICAqCisgICAgICogQHJldHVybiBVUkwgZnJvbSB3aGljaCB0aGUgdmVyc2lvbiBpbmZvcm1hdGlvbiBzaG91bGQgYmUgbG9hZGVkLgorICAgICAqLworICAgIHByb3RlY3RlZCBTdHJpbmcgZ2V0RmxleEluc3RhbGxlckNvbmZpZ1VybCgpIHsKKyAgICAgICAgcmV0dXJuIEZMRVhfSU5TVEFMTEVSX0NPTkZJR19VUkw7CisgICAgfQorCisgICAgcHVibGljIEZpbGUgcmV0cmlldmUoU2RrVHlwZSB0eXBlKSB0aHJvd3MgUmV0cmlldmVyRXhjZXB0aW9uIHsKKyAgICAgICAgcmV0dXJuIHJldHJpZXZlKHR5cGUsIG51bGwsIG51bGwpOworICAgIH0KKwogICAgIHB1YmxpYyBGaWxlIHJldHJpZXZlKFNka1R5cGUgdHlwZSwgU3RyaW5nIHZlcnNpb24pIHRocm93cyBSZXRyaWV2ZXJFeGNlcHRpb24gewogICAgICAgICByZXR1cm4gcmV0cmlldmUodHlwZSwgdmVyc2lvbiwgbnVsbCk7CiAgICAgfQogCiAgICAgcHVibGljIEZpbGUgcmV0cmlldmUoU2RrVHlwZSB0eXBlLCBTdHJpbmcgdmVyc2lvbiwgUGxhdGZvcm1UeXBlIHBsYXRmb3JtVHlwZSkgdGhyb3dzIFJldHJpZXZlckV4Y2VwdGlvbiB7CiAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBpZiAodHlwZS5lcXVhbHMoU2RrVHlwZS5GTEFTSCkgfHwgdHlwZS5lcXVhbHMoU2RrVHlwZS5BSVIpKSB7CisgICAgICAgICAgICBpZiAodHlwZS5lcXVhbHMoU2RrVHlwZS5GTEFTSCkgfHwgdHlwZS5lcXVhbHMoU2RrVHlwZS5BSVIpIHx8IHR5cGUuZXF1YWxzKFNka1R5cGUuRk9OVEtJVCkpIHsKICAgICAgICAgICAgICAgICBjb25maXJtTGljZW5zZUFjY2VwdGFuY2UodHlwZSk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIC8vIERlZmluZSB0aGUgc291cmNlLgotICAgICAgICAgICAgZmluYWwgVVJMIHNvdXJjZVVybCA9IG5ldyBVUkwoZ2V0QmluYXJ5VXJsKHR5cGUsIHZlcnNpb24sIHBsYXRmb3JtVHlwZSkpOwotICAgICAgICAgICAgZmluYWwgVVJMQ29ubmVjdGlvbiBjb25uZWN0aW9uID0gc291cmNlVXJsLm9wZW5Db25uZWN0aW9uKCk7Ci0gICAgICAgICAgICBmaW5hbCBSZWFkYWJsZUJ5dGVDaGFubmVsIHJiYyA9IENoYW5uZWxzLm5ld0NoYW5uZWwoY29ubmVjdGlvbi5nZXRJbnB1dFN0cmVhbSgpKTsKKyAgICAgICAgICAgIGlmKHR5cGUuZXF1YWxzKFNka1R5cGUuRk9OVEtJVCkpIHsKKyAgICAgICAgICAgICAgICBGaWxlIHRtcFRhcmdldEZpbGUgPSBGaWxlLmNyZWF0ZVRlbXBGaWxlKFVVSUQucmFuZG9tVVVJRCgpLnRvU3RyaW5nKCksICIiKTsKKyAgICAgICAgICAgICAgICBTdHJpbmcgdGVtcFN1ZmZpeCA9IHRtcFRhcmdldEZpbGUuZ2V0TmFtZSgpLnN1YnN0cmluZyh0bXBUYXJnZXRGaWxlLmdldE5hbWUoKS5sYXN0SW5kZXhPZigiLSIpKTsKKyAgICAgICAgICAgICAgICBpZighKHRtcFRhcmdldEZpbGUuZGVsZXRlKCkpKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IElPRXhjZXB0aW9uKCJDb3VsZCBub3QgZGVsZXRlIHRlbXAgZmlsZTogIiArIHRtcFRhcmdldEZpbGUuZ2V0QWJzb2x1dGVQYXRoKCkpOworICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgLy8gQ3JlYXRlIGEgdGVtcCB0YXJnZXQgZmlsZS4KLSAgICAgICAgICAgIGZpbmFsIEZpbGUgdGFyZ2V0RmlsZSA9IEZpbGUuY3JlYXRlVGVtcEZpbGUodHlwZS50b1N0cmluZygpICsgIi0iICsgdmVyc2lvbiArCi0gICAgICAgICAgICAgICAgICAgICgocGxhdGZvcm1UeXBlICE9IG51bGwpID8gIi0iICsgcGxhdGZvcm1UeXBlIDogIiIpICsgIi0iLAotICAgICAgICAgICAgICAgICAgICBzb3VyY2VVcmwuZ2V0RmlsZSgpLnN1YnN0cmluZyhzb3VyY2VVcmwuZ2V0RmlsZSgpLmxhc3RJbmRleE9mKCIuIikpKTsKLSAgICAgICAgICAgIGZpbmFsIEZpbGVPdXRwdXRTdHJlYW0gZm9zID0gbmV3IEZpbGVPdXRwdXRTdHJlYW0odGFyZ2V0RmlsZSk7CisgICAgICAgICAgICAgICAgRmlsZSB0YXJnZXRSb290RGlyID0gbmV3IEZpbGUodG1wVGFyZ2V0RmlsZS5nZXRQYXJlbnRGaWxlKCksIHR5cGUudG9TdHJpbmcoKSArIHRlbXBTdWZmaXgpOworICAgICAgICAgICAgICAgIEZpbGUgdGFyZ2V0RGlyID0gbmV3IEZpbGUodGFyZ2V0Um9vdERpciwgIi9saWIvZXh0ZXJuYWwvb3B0aW9uYWwiKTsKKyAgICAgICAgICAgICAgICBpZighKHRhcmdldERpci5ta2RpcnMoKSkpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSU9FeGNlcHRpb24oIkNvdWxkIG5vdCBjcmVhdGUgdGVtcCBkaXJlY3Rvcnk6ICIgKyB0YXJnZXREaXIuZ2V0QWJzb2x1dGVQYXRoKCkpOworICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLSAgICAgICAgICAgIC8vIERvIHRoZSBkb3dubG9hZGluZy4KLSAgICAgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgICAgICAgICAgICAgZmluYWwgVVJJIGFmZVVyaSA9IG5ldyBVUkkoImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvYWRvYmUvZmxleHNkay9jb2RlL0hFQUQvdHJlZS90cnVuay9saWIvYWZlLmphcj9mb3JtYXQ9cmF3Iik7CisgICAgICAgICAgICAgICAgZmluYWwgRmlsZSBhZmVGaWxlID0gbmV3IEZpbGUodGFyZ2V0RGlyLCAiYWZlLmphciIpOworICAgICAgICAgICAgICAgIHBlcmZvcm1TYWZlRG93bmxvYWQoYWZlVXJpLCBhZmVGaWxlKTsKIAotICAgICAgICAgICAgZmluYWwgbG9uZyBleHBlY3RlZFNpemUgPSBjb25uZWN0aW9uLmdldENvbnRlbnRMZW5ndGgoKTsKKyAgICAgICAgICAgICAgICBmaW5hbCBVUkkgYWdsajQwVXJpID0gbmV3IFVSSSgiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9hZG9iZS9mbGV4c2RrL2NvZGUvSEVBRC90cmVlL3RydW5rL2xpYi9hZ2xqNDAuamFyP2Zvcm1hdD1yYXciKTsKKyAgICAgICAgICAgICAgICBmaW5hbCBGaWxlIGFnbGo0MEZpbGUgPSBuZXcgRmlsZSh0YXJnZXREaXIsICJhZ2xqNDAuamFyIik7CisgICAgICAgICAgICAgICAgcGVyZm9ybVNhZmVEb3dubG9hZChhZ2xqNDBVcmksIGFnbGo0MEZpbGUpOworCisgICAgICAgICAgICAgICAgZmluYWwgVVJJIHJpZGVhdVVyaSA9IG5ldyBVUkkoImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvYWRvYmUvZmxleHNkay9jb2RlL0hFQUQvdHJlZS90cnVuay9saWIvcmlkZWF1Lmphcj9mb3JtYXQ9cmF3Iik7CisgICAgICAgICAgICAgICAgZmluYWwgRmlsZSByaWRlYXVGaWxlID0gbmV3IEZpbGUodGFyZ2V0RGlyLCAicmlkZWF1LmphciIpOworICAgICAgICAgICAgICAgIHBlcmZvcm1TYWZlRG93bmxvYWQocmlkZWF1VXJpLCByaWRlYXVGaWxlKTsKKworICAgICAgICAgICAgICAgIGZpbmFsIFVSSSBmbGV4Rm9udGtpdFVyaSA9IG5ldyBVUkkoImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvYWRvYmUvZmxleHNkay9jb2RlL0hFQUQvdHJlZS90cnVuay9saWIvZmxleC1mb250a2l0Lmphcj9mb3JtYXQ9cmF3Iik7CisgICAgICAgICAgICAgICAgZmluYWwgRmlsZSBmbGV4Rm9udGtpdEZpbGUgPSBuZXcgRmlsZSh0YXJnZXREaXIsICJmbGV4LWZvbnRraXQuamFyIik7CisgICAgICAgICAgICAgICAgcGVyZm9ybVNhZmVEb3dubG9hZChmbGV4Rm9udGtpdFVyaSwgZmxleEZvbnRraXRGaWxlKTsKKworICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXRSb290RGlyOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBmaW5hbCBVUkwgc291cmNlVXJsID0gbmV3IFVSTChnZXRCaW5hcnlVcmwodHlwZSwgdmVyc2lvbiwgcGxhdGZvcm1UeXBlKSk7CisgICAgICAgICAgICAgICAgZmluYWwgRmlsZSB0YXJnZXRGaWxlID0gRmlsZS5jcmVhdGVUZW1wRmlsZSh0eXBlLnRvU3RyaW5nKCkgKyAiLSIgKyB2ZXJzaW9uICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChwbGF0Zm9ybVR5cGUgIT0gbnVsbCkgPyAiLSIgKyBwbGF0Zm9ybVR5cGUgOiAiIikgKyAiLSIsCisgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VVcmwuZ2V0RmlsZSgpLnN1YnN0cmluZyhzb3VyY2VVcmwuZ2V0RmlsZSgpLmxhc3RJbmRleE9mKCIuIikpKTsKKyAgICAgICAgICAgICAgICBwZXJmb3JtRmFzdERvd25sb2FkKHNvdXJjZVVybCwgdGFyZ2V0RmlsZSk7CisKKyAgICAgICAgICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgICAgICAgICAgICAgIC8vIERvIHRoZSBleHRyYWN0aW5nLgorICAgICAgICAgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyAgICAgICAgICAgICAgICBpZiAodHlwZS5lcXVhbHMoU2RrVHlwZS5GTEFTSCkpIHsKKyAgICAgICAgICAgICAgICAgICAgZmluYWwgRmlsZSB0YXJnZXREaXJlY3RvcnkgPSBuZXcgRmlsZSh0YXJnZXRGaWxlLmdldFBhcmVudCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldEZpbGUuZ2V0TmFtZSgpLnN1YnN0cmluZygwLCB0YXJnZXRGaWxlLmdldE5hbWUoKS5sYXN0SW5kZXhPZigiLiIpIC0gMSkpOworICAgICAgICAgICAgICAgICAgICBmaW5hbCBGaWxlIGxpYkRlc3RGaWxlID0gbmV3IEZpbGUodGFyZ2V0RGlyZWN0b3J5LCAiZnJhbWV3b3Jrcy9saWJzL3BsYXllci8iICsgdmVyc2lvbiArICIvcGxheWVyZ2xvYmFsLnN3YyIpOworICAgICAgICAgICAgICAgICAgICBpZiAoIWxpYkRlc3RGaWxlLmdldFBhcmVudEZpbGUoKS5leGlzdHMoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgbGliRGVzdEZpbGUuZ2V0UGFyZW50RmlsZSgpLm1rZGlycygpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIEZpbGVVdGlscy5tb3ZlRmlsZSh0YXJnZXRGaWxlLCBsaWJEZXN0RmlsZSk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXREaXJlY3Rvcnk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJFeHRyYWN0aW5nIGFyY2hpdmUgdG8gdGVtcCBkaXJlY3RvcnkuIik7CisgICAgICAgICAgICAgICAgICAgIEZpbGUgdGFyZ2V0RGlyZWN0b3J5ID0gbmV3IEZpbGUodGFyZ2V0RmlsZS5nZXRQYXJlbnQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRGaWxlLmdldE5hbWUoKS5zdWJzdHJpbmcoMCwgdGFyZ2V0RmlsZS5nZXROYW1lKCkubGFzdEluZGV4T2YoIi4iKSAtIDEpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYodHlwZS5lcXVhbHMoU2RrVHlwZS5TV0ZPQkpFQ1QpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB1bnBhY2sodGFyZ2V0RmlsZSwgbmV3IEZpbGUodGFyZ2V0RGlyZWN0b3J5LCAidGVtcGxhdGVzIikpOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgdW5wYWNrKHRhcmdldEZpbGUsIHRhcmdldERpcmVjdG9yeSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCk7CisgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiRmluaXNoZWQgZXh0cmFjdGluZy4iKTsKKyAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIpOworCisgICAgICAgICAgICAgICAgICAgIC8vIEluIGNhc2Ugb2YgdGhlIHN3Zm9iamVjdCwgZGVsZXRlIHNvbWUgc3R1ZmYgd2UgZG9uJ3Qgd2FudCBpbiB0aGVyZS4KKyAgICAgICAgICAgICAgICAgICAgaWYodHlwZS5lcXVhbHMoU2RrVHlwZS5TV0ZPQkpFQ1QpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBGaWxlIGRlbEZpbGUgPSBuZXcgRmlsZSh0YXJnZXREaXJlY3RvcnksICJ0ZW1wbGF0ZXMvc3dmb2JqZWN0L2luZGV4X2R5bmFtaWMuaHRtbCIpOworICAgICAgICAgICAgICAgICAgICAgICAgRmlsZVV0aWxzLmRlbGV0ZVF1aWV0bHkoZGVsRmlsZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBkZWxGaWxlID0gbmV3IEZpbGUodGFyZ2V0RGlyZWN0b3J5LCAidGVtcGxhdGVzL3N3Zm9iamVjdC9pbmRleC5odG1sIik7CisgICAgICAgICAgICAgICAgICAgICAgICBGaWxlVXRpbHMuZGVsZXRlUXVpZXRseShkZWxGaWxlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlbEZpbGUgPSBuZXcgRmlsZSh0YXJnZXREaXJlY3RvcnksICJ0ZW1wbGF0ZXMvc3dmb2JqZWN0L3Rlc3Quc3dmIik7CisgICAgICAgICAgICAgICAgICAgICAgICBGaWxlVXRpbHMuZGVsZXRlUXVpZXRseShkZWxGaWxlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlbEZpbGUgPSBuZXcgRmlsZSh0YXJnZXREaXJlY3RvcnksICJ0ZW1wbGF0ZXMvc3dmb2JqZWN0L3NyYyIpOworICAgICAgICAgICAgICAgICAgICAgICAgRmlsZVV0aWxzLmRlbGV0ZURpcmVjdG9yeShkZWxGaWxlKTsKKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXREaXJlY3Rvcnk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9IGNhdGNoIChNYWxmb3JtZWRVUkxFeGNlcHRpb24gZSkgeworICAgICAgICAgICAgdGhyb3cgbmV3IFJldHJpZXZlckV4Y2VwdGlvbigiRXJyb3IgZG93bmxvYWRpbmcgYXJjaGl2ZS4iLCBlKTsKKyAgICAgICAgfSBjYXRjaCAoRmlsZU5vdEZvdW5kRXhjZXB0aW9uIGUpIHsKKyAgICAgICAgICAgIHRocm93IG5ldyBSZXRyaWV2ZXJFeGNlcHRpb24oIkVycm9yIGRvd25sb2FkaW5nIGFyY2hpdmUuIiwgZSk7CisgICAgICAgIH0gY2F0Y2ggKElPRXhjZXB0aW9uIGUpIHsKKyAgICAgICAgICAgIHRocm93IG5ldyBSZXRyaWV2ZXJFeGNlcHRpb24oIkVycm9yIGRvd25sb2FkaW5nIGFyY2hpdmUuIiwgZSk7CisgICAgICAgIH0gY2F0Y2ggKFVSSVN5bnRheEV4Y2VwdGlvbiBlKSB7CisgICAgICAgICAgICB0aHJvdyBuZXcgUmV0cmlldmVyRXhjZXB0aW9uKCJFcnJvciBkb3dubG9hZGluZyBhcmNoaXZlLiIsIGUpOworICAgICAgICB9CisgICAgfQorCisgICAgcHJvdGVjdGVkIHZvaWQgcGVyZm9ybUZhc3REb3dubG9hZChVUkwgc291cmNlVXJsLCBGaWxlIHRhcmdldEZpbGUpIHRocm93cyBJT0V4Y2VwdGlvbiB7CisgICAgICAgIGZpbmFsIFVSTENvbm5lY3Rpb24gY29ubmVjdGlvbiA9IHNvdXJjZVVybC5vcGVuQ29ubmVjdGlvbigpOworICAgICAgICBmaW5hbCBSZWFkYWJsZUJ5dGVDaGFubmVsIHJiYyA9IENoYW5uZWxzLm5ld0NoYW5uZWwoY29ubmVjdGlvbi5nZXRJbnB1dFN0cmVhbSgpKTsKKyAgICAgICAgZmluYWwgRmlsZU91dHB1dFN0cmVhbSBmb3MgPSBuZXcgRmlsZU91dHB1dFN0cmVhbSh0YXJnZXRGaWxlKTsKKworICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgICAgICAvLyBEbyB0aGUgZG93bmxvYWRpbmcuCisgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyAgICAgICAgZmluYWwgbG9uZyBleHBlY3RlZFNpemUgPSBjb25uZWN0aW9uLmdldENvbnRlbnRMZW5ndGgoKTsKKyAgICAgICAgbG9uZyB0cmFuc2ZlcmVkU2l6ZSA9IDBMOworCisgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iKTsKKyAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJEb3dubG9hZGluZyAiICsgc291cmNlVXJsLnRvU3RyaW5nKCkpOworICAgICAgICBpZihleHBlY3RlZFNpemUgPiAxMDE0ICogMTAyNCkgeworICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJFeHBlY3RlZCBzaXplOiAiICsgKGV4cGVjdGVkU2l6ZSAvIDEwMjQgLyAxMDI0KSArICJNQiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJFeHBlY3RlZCBzaXplOiAiICsgKGV4cGVjdGVkU2l6ZSAvIDEwMjQgKSArICJLQiIpOworICAgICAgICB9CisgICAgICAgIGZpbmFsIFByb2dyZXNzQmFyIHByb2dyZXNzQmFyID0gbmV3IFByb2dyZXNzQmFyKGV4cGVjdGVkU2l6ZSk7CisgICAgICAgIHdoaWxlICh0cmFuc2ZlcmVkU2l6ZSA8IGV4cGVjdGVkU2l6ZSkgeworICAgICAgICAgICAgdHJhbnNmZXJlZFNpemUgKz0gZm9zLmdldENoYW5uZWwoKS50cmFuc2ZlckZyb20ocmJjLCB0cmFuc2ZlcmVkU2l6ZSwgMSA8PCAyMCk7CisgICAgICAgICAgICBwcm9ncmVzc0Jhci51cGRhdGVQcm9ncmVzcyh0cmFuc2ZlcmVkU2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZm9zLmNsb3NlKCk7CisgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigpOworICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkZpbmlzaGVkIGRvd25sb2FkaW5nLiIpOworICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Iik7CisgICAgfQorCisgICAgcHJvdGVjdGVkIHZvaWQgcGVyZm9ybVNhZmVEb3dubG9hZChVUkkgc291cmNlVXJpLCBGaWxlIHRhcmdldEZpbGUpIHRocm93cyBJT0V4Y2VwdGlvbiB7CisgICAgICAgIEh0dHBHZXQgaHR0cGdldCA9IG5ldyBIdHRwR2V0KHNvdXJjZVVyaSk7CisgICAgICAgIEh0dHBDbGllbnQgaHR0cGNsaWVudCA9IG5ldyBEZWZhdWx0SHR0cENsaWVudCgpOworICAgICAgICBIdHRwUmVzcG9uc2UgcmVzcG9uc2UgPSBodHRwY2xpZW50LmV4ZWN1dGUoaHR0cGdldCk7CisKKyAgICAgICAgU3RyaW5nIHJlYXNvblBocmFzZSA9IHJlc3BvbnNlLmdldFN0YXR1c0xpbmUoKS5nZXRSZWFzb25QaHJhc2UoKTsKKyAgICAgICAgaW50IHN0YXR1c0NvZGUgPSByZXNwb25zZS5nZXRTdGF0dXNMaW5lKCkuZ2V0U3RhdHVzQ29kZSgpOworICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oU3RyaW5nLmZvcm1hdCgic3RhdHVzQ29kZTogJWQiLCBzdGF0dXNDb2RlKSk7CisgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihTdHJpbmcuZm9ybWF0KCJyZWFzb25QaHJhc2U6ICVzIiwgcmVhc29uUGhyYXNlKSk7CisKKyAgICAgICAgSHR0cEVudGl0eSBlbnRpdHkgPSByZXNwb25zZS5nZXRFbnRpdHkoKTsKKyAgICAgICAgSW5wdXRTdHJlYW0gY29udGVudCA9IGVudGl0eS5nZXRDb250ZW50KCk7CisKKyAgICAgICAgZmluYWwgUmVhZGFibGVCeXRlQ2hhbm5lbCByYmMgPSBDaGFubmVscy5uZXdDaGFubmVsKGNvbnRlbnQpOworICAgICAgICBmaW5hbCBGaWxlT3V0cHV0U3RyZWFtIGZvcyA9IG5ldyBGaWxlT3V0cHV0U3RyZWFtKHRhcmdldEZpbGUpOworCisgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgICAgIC8vIERvIHRoZSBkb3dubG9hZGluZy4KKyAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworICAgICAgICBmaW5hbCBsb25nIGV4cGVjdGVkU2l6ZSA9IGVudGl0eS5nZXRDb250ZW50TGVuZ3RoKCk7CisgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iKTsKKyAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJEb3dubG9hZGluZyAiICsgc291cmNlVXJpLnRvU3RyaW5nKCkpOworICAgICAgICBpZihleHBlY3RlZFNpemUgPCAwKSB7CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVW5rbm93biBzaXplLiIpOworICAgICAgICAgICAgICAgIElPVXRpbHMuY29weShjb250ZW50LCBmb3MpOworICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAvLyBjbG9zZSBodHRwIG5ldHdvcmsgY29ubmVjdGlvbgorICAgICAgICAgICAgICAgIGNvbnRlbnQuY2xvc2UoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGxvbmcgdHJhbnNmZXJlZFNpemUgPSAwTDsKLSAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iKTsKLSAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiRG93bmxvYWRpbmcgIiArIHR5cGUgKyAiIHZlcnNpb24gIiArIHZlcnNpb24gKwotICAgICAgICAgICAgICAgICAgICAoKHBsYXRmb3JtVHlwZSAhPSBudWxsKSA/ICIgZm9yIHBsYXRmb3JtICIgKyBwbGF0Zm9ybVR5cGUgOiAiIikpOwotICAgICAgICAgICAgaWYoZXhwZWN0ZWRTaXplID4gMTAxNCAqIDEwMjQpIHsKKyAgICAgICAgICAgIGlmIChleHBlY3RlZFNpemUgPiAxMDE0ICogMTAyNCkgewogICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiRXhwZWN0ZWQgc2l6ZTogIiArIChleHBlY3RlZFNpemUgLyAxMDI0IC8gMTAyNCkgKyAiTUIiKTsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJFeHBlY3RlZCBzaXplOiAiICsgKGV4cGVjdGVkU2l6ZSAvIDEwMjQgKSArICJLQiIpOworICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiRXhwZWN0ZWQgc2l6ZTogIiArIChleHBlY3RlZFNpemUgLyAxMDI0KSArICJLQiIpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZmluYWwgUHJvZ3Jlc3NCYXIgcHJvZ3Jlc3NCYXIgPSBuZXcgUHJvZ3Jlc3NCYXIoZXhwZWN0ZWRTaXplKTsKICAgICAgICAgICAgIHdoaWxlICh0cmFuc2ZlcmVkU2l6ZSA8IGV4cGVjdGVkU2l6ZSkgewpAQCAtOTIsMzMgKzI0NCw5IEBACiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBmb3MuY2xvc2UoKTsKICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigpOwotICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJGaW5pc2hlZCBkb3dubG9hZGluZy4iKTsKLSAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iKTsKLQotICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLSAgICAgICAgICAgIC8vIERvIHRoZSBleHRyYWN0aW5nLgotICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLQotICAgICAgICAgICAgaWYodHlwZS5lcXVhbHMoU2RrVHlwZS5GTEFTSCkpIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gdGFyZ2V0RmlsZTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJFeHRyYWN0aW5nIGFyY2hpdmUgdG8gdGVtcCBkaXJlY3RvcnkuIik7Ci0gICAgICAgICAgICAgICAgZmluYWwgRmlsZSB0YXJnZXREaXJlY3RvcnkgPSBuZXcgRmlsZSh0YXJnZXRGaWxlLmdldFBhcmVudCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0RmlsZS5nZXROYW1lKCkuc3Vic3RyaW5nKDAsIHRhcmdldEZpbGUuZ2V0TmFtZSgpLmxhc3RJbmRleE9mKCIuIikgLSAxKSk7Ci0gICAgICAgICAgICAgICAgdW5wYWNrKHRhcmdldEZpbGUsIHRhcmdldERpcmVjdG9yeSk7Ci0gICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCk7Ci0gICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJGaW5pc2hlZCBleHRyYWN0aW5nLiIpOwotICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iKTsKLQotICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXREaXJlY3Rvcnk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0gY2F0Y2ggKE1hbGZvcm1lZFVSTEV4Y2VwdGlvbiBlKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgUmV0cmlldmVyRXhjZXB0aW9uKCJFcnJvciBkb3dubG9hZGluZyBhcmNoaXZlLiIsIGUpOwotICAgICAgICB9IGNhdGNoIChGaWxlTm90Rm91bmRFeGNlcHRpb24gZSkgewotICAgICAgICAgICAgdGhyb3cgbmV3IFJldHJpZXZlckV4Y2VwdGlvbigiRXJyb3IgZG93bmxvYWRpbmcgYXJjaGl2ZS4iLCBlKTsKLSAgICAgICAgfSBjYXRjaCAoSU9FeGNlcHRpb24gZSkgewotICAgICAgICAgICAgdGhyb3cgbmV3IFJldHJpZXZlckV4Y2VwdGlvbigiRXJyb3IgZG93bmxvYWRpbmcgYXJjaGl2ZS4iLCBlKTsKICAgICAgICAgfQorICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkZpbmlzaGVkIGRvd25sb2FkaW5nLiIpOworICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Iik7CiAgICAgfQogCiAgICAgcHJvdGVjdGVkIFN0cmluZyBnZXRCaW5hcnlVcmwoU2RrVHlwZSBzZGtUeXBlLCBTdHJpbmcgdmVyc2lvbiwgUGxhdGZvcm1UeXBlIHBsYXRmb3JtVHlwZSkKQEAgLTEyNiw3ICsyNTQsNyBAQAogICAgICAgICB0cnkgewogICAgICAgICAgICAgZmluYWwgRG9jdW1lbnRCdWlsZGVyRmFjdG9yeSBmYWN0b3J5ID0gRG9jdW1lbnRCdWlsZGVyRmFjdG9yeS5uZXdJbnN0YW5jZSgpOwogICAgICAgICAgICAgZmluYWwgRG9jdW1lbnRCdWlsZGVyIGJ1aWxkZXIgPSBmYWN0b3J5Lm5ld0RvY3VtZW50QnVpbGRlcigpOwotICAgICAgICAgICAgZmluYWwgRG9jdW1lbnQgZG9jID0gYnVpbGRlci5wYXJzZShGTEVYX0lOU1RBTExFUl9DT05GSUdfVVJMKTsKKyAgICAgICAgICAgIGZpbmFsIERvY3VtZW50IGRvYyA9IGJ1aWxkZXIucGFyc2UoZ2V0RmxleEluc3RhbGxlckNvbmZpZ1VybCgpKTsKIAogICAgICAgICAgICAgLy9FdmFsdWF0ZSBYUGF0aCBhZ2FpbnN0IERvY3VtZW50IGl0c2VsZgogICAgICAgICAgICAgZmluYWwgU3RyaW5nIGV4cHJlc3Npb24gPSBnZXRVcmxYcGF0aChzZGtUeXBlLCB2ZXJzaW9uLCBwbGF0Zm9ybVR5cGUpOwpAQCAtMTM4LDcgKzI2Niw3IEBACiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZpbmFsIFN0cmluZ0J1aWxkZXIgc3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7Ci0gICAgICAgICAgICBpZiAoc2RrVHlwZSA9PSBTZGtUeXBlLkZMRVgpIHsKKyAgICAgICAgICAgIGlmICgoc2RrVHlwZSA9PSBTZGtUeXBlLkZMRVgpIHx8IChzZGtUeXBlID09IFNka1R5cGUuU1dGT0JKRUNUKSkgewogICAgICAgICAgICAgICAgIGZpbmFsIFN0cmluZyBwYXRoID0gYXJ0aWZhY3RFbGVtZW50LmdldEF0dHJpYnV0ZSgicGF0aCIpOwogICAgICAgICAgICAgICAgIGZpbmFsIFN0cmluZyBmaWxlID0gYXJ0aWZhY3RFbGVtZW50LmdldEF0dHJpYnV0ZSgiZmlsZSIpOwogICAgICAgICAgICAgICAgIGlmICghcGF0aC5zdGFydHNXaXRoKCJodHRwOi8vIikpIHsKQEAgLTE0OCw3ICsyNzYsMTAgQEAKICAgICAgICAgICAgICAgICBpZighcGF0aC5lbmRzV2l0aCgiLyIpKSB7CiAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIvIik7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGZpbGUpLmFwcGVuZCgiLnppcCIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGZpbGUpOworICAgICAgICAgICAgICAgIGlmKHNka1R5cGUgPT0gU2RrVHlwZS5GTEVYKSB7CisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIuemlwIik7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBmaW5hbCBOb2RlTGlzdCBwYXRoRWxlbWVudHMgPSBhcnRpZmFjdEVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhdGgiKTsKICAgICAgICAgICAgICAgICBmaW5hbCBOb2RlTGlzdCBmaWxlRWxlbWVudHMgPSBhcnRpZmFjdEVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImZpbGUiKTsKQEAgLTIwNCw2ICszMzUsMTIgQEAKICAgICAgICAgICAgIGNhc2UgRkxBU0g6CiAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIi8vKltAaWQ9J2ZsYXNoLnNkay52ZXJzaW9uLiIpLmFwcGVuZCh2ZXJzaW9uKS5hcHBlbmQoIiddIik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIEZPTlRLSVQ6CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIi8vZm9udHN3ZiIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBTV0ZPQkpFQ1Q6CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIi8vc3dmb2JqZWN0Iik7CisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHN0cmluZ0J1aWxkZXIudG9TdHJpbmcoKTsKICAgICB9CkBAIC0yMjEsODYgKzM1OCw4MSBAQAogICAgICAgICAgICAgcXVlc3Rpb24gPSBxdWVzdGlvblByb3BzLmdldFByb3BlcnR5KCJBU0tfQURPQkVfRkxBU0hfUExBWUVSX0dMT0JBTF9TV0MiKTsKICAgICAgICAgfSBlbHNlIGlmKHR5cGUuZXF1YWxzKFNka1R5cGUuQUlSKSkgewogICAgICAgICAgICAgcXVlc3Rpb24gPSBxdWVzdGlvblByb3BzLmdldFByb3BlcnR5KCJBU0tfQURPQkVfQUlSX1NESyIpOworICAgICAgICB9IGVsc2UgaWYodHlwZS5lcXVhbHMoU2RrVHlwZS5GT05US0lUKSkgeworICAgICAgICAgICAgcXVlc3Rpb24gPSBxdWVzdGlvblByb3BzLmdldFByb3BlcnR5KCJBU0tfQURPQkVfRk9OVEtJVCIpOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgdGhyb3cgbmV3IFJldHJpZXZlckV4Y2VwdGlvbigiVW5rbm93biBTREtUeXBlIik7CisgICAgICAgICAgICB0aHJvdyBuZXcgUmV0cmlldmVyRXhjZXB0aW9uKCJVbmtub3duIFNka1R5cGUiKTsKICAgICAgICAgfQotICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4ocXVlc3Rpb24pOwotICAgICAgICBTeXN0ZW0ub3V0LnByaW50KHF1ZXN0aW9uUHJvcHMuZ2V0UHJvcGVydHkoIkRPX1lPVV9BQ0NFUFRfUVVFU1RJT04iKSArICIgIik7CiAgICAgICAgIGZpbmFsIEJ1ZmZlcmVkUmVhZGVyIHJlYWRlciA9IG5ldyBCdWZmZXJlZFJlYWRlcihuZXcgSW5wdXRTdHJlYW1SZWFkZXIoU3lzdGVtLmluKSk7CiAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBmaW5hbCBTdHJpbmcgYW5zd2VyID0gcmVhZGVyLnJlYWRMaW5lKCk7Ci0gICAgICAgICAgICBpZiAoISJZRVMiLmVxdWFsc0lnbm9yZUNhc2UoYW5zd2VyKSkgewotICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiWW91IGhhdmUgdG8gYWNjZXB0IHRoZSBsaWNlbnNlIGFncmVlbWVudCBpbiBvcmRlciB0byBwcm9jZWVkLiIpOwotICAgICAgICAgICAgICAgIHRocm93IG5ldyBSZXRyaWV2ZXJFeGNlcHRpb24oIllvdSBoYXZlIHRvIGFjY2VwdCB0aGUgbGljZW5zZSBhZ3JlZW1lbnQgaW4gb3JkZXIgdG8gcHJvY2VlZC4iKTsKKyAgICAgICAgICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKHF1ZXN0aW9uKTsKKyAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50KHF1ZXN0aW9uUHJvcHMuZ2V0UHJvcGVydHkoIkRPX1lPVV9BQ0NFUFRfUVVFU1RJT04iKSArICIgIik7CisgICAgICAgICAgICAgICAgZmluYWwgU3RyaW5nIGFuc3dlciA9IHJlYWRlci5yZWFkTGluZSgpOworICAgICAgICAgICAgICAgIGlmICgiWUVTIi5lcXVhbHNJZ25vcmVDYXNlKGFuc3dlcikgfHwgIlkiLmVxdWFsc0lnbm9yZUNhc2UoYW5zd2VyKSkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmICgiTk8iLmVxdWFsc0lnbm9yZUNhc2UoYW5zd2VyKSB8fCAiTiIuZXF1YWxzSWdub3JlQ2FzZShhbnN3ZXIpKSB7CisgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiWW91IGhhdmUgdG8gYWNjZXB0IHRoZSBsaWNlbnNlIGFncmVlbWVudCBpbiBvcmRlciB0byBwcm9jZWVkLiIpOworICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmV0cmlldmVyRXhjZXB0aW9uKCJZb3UgaGF2ZSB0byBhY2NlcHQgdGhlIGxpY2Vuc2UgYWdyZWVtZW50IGluIG9yZGVyIHRvIHByb2NlZWQuIik7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9IGNhdGNoKElPRXhjZXB0aW9uIGUpIHsKICAgICAgICAgICAgIHRocm93IG5ldyBSZXRyaWV2ZXJFeGNlcHRpb24oIkNvdWxkbid0IHJlYWQgZnJvbSBTdGRpbi4iKTsKICAgICAgICAgfQogICAgIH0KIAorICAgIHB1YmxpYyBNYXA8RGVmYXVsdEFydGlmYWN0VmVyc2lvbiwgQ29sbGVjdGlvbjxQbGF0Zm9ybVR5cGU+PiBnZXRBdmFpbGFibGVWZXJzaW9ucyhTZGtUeXBlIHR5cGUpIHsKKyAgICAgICAgTWFwPERlZmF1bHRBcnRpZmFjdFZlcnNpb24sIENvbGxlY3Rpb248UGxhdGZvcm1UeXBlPj4gcmVzdWx0ID0KKyAgICAgICAgICAgICAgICBuZXcgSGFzaE1hcDxEZWZhdWx0QXJ0aWZhY3RWZXJzaW9uLCBDb2xsZWN0aW9uPFBsYXRmb3JtVHlwZT4+KCk7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBmaW5hbCBEb2N1bWVudEJ1aWxkZXJGYWN0b3J5IGZhY3RvcnkgPSBEb2N1bWVudEJ1aWxkZXJGYWN0b3J5Lm5ld0luc3RhbmNlKCk7CisgICAgICAgICAgICBmaW5hbCBEb2N1bWVudEJ1aWxkZXIgYnVpbGRlciA9IGZhY3RvcnkubmV3RG9jdW1lbnRCdWlsZGVyKCk7CisgICAgICAgICAgICBmaW5hbCBEb2N1bWVudCBkb2MgPSBidWlsZGVyLnBhcnNlKGdldEZsZXhJbnN0YWxsZXJDb25maWdVcmwoKSk7CisgICAgICAgICAgICBmaW5hbCBYUGF0aCB4UGF0aCA9IFhQYXRoRmFjdG9yeS5uZXdJbnN0YW5jZSgpLm5ld1hQYXRoKCk7CiAKKyAgICAgICAgICAgIFN0cmluZyBleHByZXNzaW9uOworICAgICAgICAgICAgTm9kZUxpc3Qgbm9kZXMgPSBudWxsOworICAgICAgICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgICAgICAgICAgY2FzZSBGTEVYOgorICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uID0gIi9jb25maWcvcHJvZHVjdHMvQXBhY2hlRmxleFNESy92ZXJzaW9ucy8qIjsKKyAgICAgICAgICAgICAgICAgICAgbm9kZXMgPSAoTm9kZUxpc3QpIHhQYXRoLmV2YWx1YXRlKGV4cHJlc3Npb24sIGRvYy5nZXREb2N1bWVudEVsZW1lbnQoKSwgWFBhdGhDb25zdGFudHMuTk9ERVNFVCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgRkxBU0g6CisgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb24gPSAiL2NvbmZpZy9mbGFzaHNkay92ZXJzaW9ucy8qIjsKKyAgICAgICAgICAgICAgICAgICAgbm9kZXMgPSAoTm9kZUxpc3QpIHhQYXRoLmV2YWx1YXRlKGV4cHJlc3Npb24sIGRvYy5nZXREb2N1bWVudEVsZW1lbnQoKSwgWFBhdGhDb25zdGFudHMuTk9ERVNFVCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgQUlSOgorICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uID0gIi9jb25maWcvYWlyc2RrLyovdmVyc2lvbnMvKiI7CisgICAgICAgICAgICAgICAgICAgIG5vZGVzID0gKE5vZGVMaXN0KSB4UGF0aC5ldmFsdWF0ZShleHByZXNzaW9uLCBkb2MuZ2V0RG9jdW1lbnRFbGVtZW50KCksIFhQYXRoQ29uc3RhbnRzLk5PREVTRVQpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KIAotICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBFeGNlcHRpb24gewotICAgICAgICBmaW5hbCBEb3dubG9hZFJldHJpZXZlciByZXRyaWV2ZXIgPSBuZXcgRG93bmxvYWRSZXRyaWV2ZXIoKTsKLQotICAgICAgICAvLyBUZXN0IHRoZSByZXRyaWV2YWwgb2YgRmxleCBTREtzCi0gICAgICAgIC8qcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuRkxFWCwgIjQuOS4xIik7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkZMRVgsICI0LjEwLjAiKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuRkxFWCwgIjQuMTEuMCIpOwotICAgICAgICByZXRyaWV2ZXIucmV0cmlldmUoU0RLVHlwZS5GTEVYLCAiNC4xMi4wIik7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkZMRVgsICI0LjEyLjEiKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuRkxFWCwgIk5pZ2h0bHkiKTsqLwotCi0gICAgICAgIC8vIFRlc3QgdGhlIHJldHJpZXZhbCBvZiBBSVIgU0RLcwotICAgICAgICAvKnJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkFJUiwgIjIuNiIsIFBsYXRmb3JtVHlwZS5XSU5ET1dTKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuQUlSLCAiMi42IiwgUGxhdGZvcm1UeXBlLk1BQyk7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkFJUiwgIjIuNiIsIFBsYXRmb3JtVHlwZS5MSU5VWCk7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkFJUiwgIjIuNyIsIFBsYXRmb3JtVHlwZS5XSU5ET1dTKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuQUlSLCAiMi43IiwgUGxhdGZvcm1UeXBlLk1BQyk7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkFJUiwgIjMuMCIsIFBsYXRmb3JtVHlwZS5XSU5ET1dTKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuQUlSLCAiMy4wIiwgUGxhdGZvcm1UeXBlLk1BQyk7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkFJUiwgIjMuMSIsIFBsYXRmb3JtVHlwZS5XSU5ET1dTKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuQUlSLCAiMy4xIiwgUGxhdGZvcm1UeXBlLk1BQyk7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkFJUiwgIjMuMiIsIFBsYXRmb3JtVHlwZS5XSU5ET1dTKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuQUlSLCAiMy4yIiwgUGxhdGZvcm1UeXBlLk1BQyk7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkFJUiwgIjMuMyIsIFBsYXRmb3JtVHlwZS5XSU5ET1dTKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuQUlSLCAiMy4zIiwgUGxhdGZvcm1UeXBlLk1BQyk7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkFJUiwgIjMuNCIsIFBsYXRmb3JtVHlwZS5XSU5ET1dTKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuQUlSLCAiMy40IiwgUGxhdGZvcm1UeXBlLk1BQyk7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkFJUiwgIjMuNSIsIFBsYXRmb3JtVHlwZS5XSU5ET1dTKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuQUlSLCAiMy41IiwgUGxhdGZvcm1UeXBlLk1BQyk7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkFJUiwgIjMuNiIsIFBsYXRmb3JtVHlwZS5XSU5ET1dTKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuQUlSLCAiMy42IiwgUGxhdGZvcm1UeXBlLk1BQyk7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkFJUiwgIjMuNyIsIFBsYXRmb3JtVHlwZS5XSU5ET1dTKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuQUlSLCAiMy43IiwgUGxhdGZvcm1UeXBlLk1BQyk7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkFJUiwgIjMuOCIsIFBsYXRmb3JtVHlwZS5XSU5ET1dTKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuQUlSLCAiMy44IiwgUGxhdGZvcm1UeXBlLk1BQyk7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkFJUiwgIjMuOSIsIFBsYXRmb3JtVHlwZS5XSU5ET1dTKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuQUlSLCAiMy45IiwgUGxhdGZvcm1UeXBlLk1BQyk7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkFJUiwgIjQuMCIsIFBsYXRmb3JtVHlwZS5XSU5ET1dTKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuQUlSLCAiNC4wIiwgUGxhdGZvcm1UeXBlLk1BQyk7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkFJUiwgIjEzLjAiLCBQbGF0Zm9ybVR5cGUuV0lORE9XUyk7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkFJUiwgIjEzLjAiLCBQbGF0Zm9ybVR5cGUuTUFDKTsqLwotICAgICAgICAvL3JldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkFJUiwgIjE0LjAiLCBQbGF0Zm9ybVR5cGUuV0lORE9XUyk7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTZGtUeXBlLkFJUiwgIjE0LjAiLCBQbGF0Zm9ybVR5cGUuTUFDKTsKLQotICAgICAgICAvLyBUZXN0IHRoZSByZXRyaWV2YWwgb2YgRmxhc2ggU0RLcwotICAgICAgICAvKnJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkZMQVNILCAiMTAuMiIpOwotICAgICAgICByZXRyaWV2ZXIucmV0cmlldmUoU0RLVHlwZS5GTEFTSCwgIjEwLjMiKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuRkxBU0gsICIxMS4wIik7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkZMQVNILCAiMTEuMSIpOwotICAgICAgICByZXRyaWV2ZXIucmV0cmlldmUoU0RLVHlwZS5GTEFTSCwgIjExLjIiKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuRkxBU0gsICIxMS4zIik7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkZMQVNILCAiMTEuNCIpOwotICAgICAgICByZXRyaWV2ZXIucmV0cmlldmUoU0RLVHlwZS5GTEFTSCwgIjExLjUiKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuRkxBU0gsICIxMS42Iik7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkZMQVNILCAiMTEuNyIpOwotICAgICAgICByZXRyaWV2ZXIucmV0cmlldmUoU0RLVHlwZS5GTEFTSCwgIjExLjgiKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuRkxBU0gsICIxMS45Iik7Ci0gICAgICAgIHJldHJpZXZlci5yZXRyaWV2ZShTREtUeXBlLkZMQVNILCAiMTIuMCIpOwotICAgICAgICByZXRyaWV2ZXIucmV0cmlldmUoU0RLVHlwZS5GTEFTSCwgIjEzLjAiKTsKLSAgICAgICAgcmV0cmlldmVyLnJldHJpZXZlKFNES1R5cGUuRkxBU0gsICIxNC4wIik7Ki8KLQorICAgICAgICAgICAgaWYgKG5vZGVzICE9IG51bGwpIHsKKyAgICAgICAgICAgICAgICBmb3IoaW50IGkgPSAwOyBpIDwgbm9kZXMuZ2V0TGVuZ3RoKCk7IGkrKykgeworICAgICAgICAgICAgICAgICAgICBFbGVtZW50IGVsZW1lbnQgPSAoRWxlbWVudCkgbm9kZXMuaXRlbShpKTsKKyAgICAgICAgICAgICAgICAgICAgRGVmYXVsdEFydGlmYWN0VmVyc2lvbiB2ZXJzaW9uID0gbmV3IERlZmF1bHRBcnRpZmFjdFZlcnNpb24oZWxlbWVudC5nZXRBdHRyaWJ1dGUoInZlcnNpb24iKSk7CisgICAgICAgICAgICAgICAgICAgIGlmKHR5cGUgPT0gU2RrVHlwZS5BSVIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFBsYXRmb3JtVHlwZSBwbGF0Zm9ybVR5cGUgPSBQbGF0Zm9ybVR5cGUudmFsdWVPZigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5nZXRQYXJlbnROb2RlKCkuZ2V0UGFyZW50Tm9kZSgpLmdldE5vZGVOYW1lKCkudG9VcHBlckNhc2UoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZighcmVzdWx0LmNvbnRhaW5zS2V5KHZlcnNpb24pKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1dCh2ZXJzaW9uLCBuZXcgQXJyYXlMaXN0PFBsYXRmb3JtVHlwZT4oKSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQuZ2V0KHZlcnNpb24pLmFkZChwbGF0Zm9ybVR5cGUpOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1dCh2ZXJzaW9uLCBudWxsKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBjYXRjaCAoUGFyc2VyQ29uZmlndXJhdGlvbkV4Y2VwdGlvbiBlKSB7CisgICAgICAgICAgICBlLnByaW50U3RhY2tUcmFjZSgpOworICAgICAgICB9IGNhdGNoIChTQVhFeGNlcHRpb24gZSkgeworICAgICAgICAgICAgZS5wcmludFN0YWNrVHJhY2UoKTsKKyAgICAgICAgfSBjYXRjaCAoSU9FeGNlcHRpb24gZSkgeworICAgICAgICAgICAgZS5wcmludFN0YWNrVHJhY2UoKTsKKyAgICAgICAgfSBjYXRjaCAoWFBhdGhFeHByZXNzaW9uRXhjZXB0aW9uIGUpIHsKKyAgICAgICAgICAgIGUucHJpbnRTdGFja1RyYWNlKCk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0KIH0KZGlmZiAtLWdpdCBhL21hdmVuaXplci9yZXRyaWV2ZXJzL2Rvd25sb2FkL3NyYy9tYWluL3Jlc291cmNlcy9tZXNzYWdlLnByb3BlcnRpZXMgYi9tYXZlbml6ZXIvcmV0cmlldmVycy9kb3dubG9hZC9zcmMvbWFpbi9yZXNvdXJjZXMvbWVzc2FnZS5wcm9wZXJ0aWVzCmluZGV4IGI3OTk2MjMuLjk1NTI0MzYgMTAwNjQ0Ci0tLSBhL21hdmVuaXplci9yZXRyaWV2ZXJzL2Rvd25sb2FkL3NyYy9tYWluL3Jlc291cmNlcy9tZXNzYWdlLnByb3BlcnRpZXMKKysrIGIvbWF2ZW5pemVyL3JldHJpZXZlcnMvZG93bmxvYWQvc3JjL21haW4vcmVzb3VyY2VzL21lc3NhZ2UucHJvcGVydGllcwpAQCAtMTgsNCArMTgsNSBAQAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIEFTS19BRE9CRV9BSVJfU0RLPVRoZSBBZG9iZSBTREsgbGljZW5zZSBhZ3JlZW1lbnQgYXBwbGllcyB0byB0aGUgQWRvYmUgQUlSIFNESy4gRG8geW91IHdhbnQgdG8gaW5zdGFsbCB0aGUgQWRvYmUgQUlSIFNESz8gQWRvYmUgQUlSIFNESyBMaWNlbnNlOiBodHRwOi8vd3d3LmFkb2JlLmNvbS9wcm9kdWN0cy9haXIvc2RrLWV1bGEuaHRtbAogQVNLX0FET0JFX0ZMQVNIX1BMQVlFUl9HTE9CQUxfU1dDPVRoZSBBZG9iZSBTREsgbGljZW5zZSBhZ3JlZW1lbnQgYXBwbGllcyB0byB0aGUgQWRvYmUgRmxhc2ggUGxheWVyIHBsYXllcmdsb2JhbC5zd2MuIERvIHlvdSB3YW50IHRvIGluc3RhbGwgdGhlIEFkb2JlIEZsYXNoIFBsYXllciBwbGF5ZXJnbG9iYWwuc3djPworQVNLX0FET0JFX0ZPTlRLSVQ9QXBhY2hlIEZsZXggY2FuIG9wdGlvbmFsbHkgaW50ZWdyYXRlIHdpdGggQWRvYmUncyBlbWJlZGRlZCBmb250IHN1cHBvcnQuIFRoaXMgZmVhdHVyZSByZXF1aXJlcyBhIGZldyBmb250IGphcnMgZnJvbSB0aGUgQWRvYmUgRmxleCBTREsuIFRoZSBBZG9iZSBTREsgbGljZW5zZSBhZ3JlZW1lbnQgZm9yIEFkb2JlIEZsZXggNC42IGFwcGxpZXMgdG8gdGhlc2UgamFycy4gVGhpcyBsaWNlbnNlIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhlIEFwYWNoZSBWMiBsaWNlbnNlLiBEbyB5b3Ugd2FudCB0byBpbnN0YWxsIHRoZXNlIGphcnMgZnJvbSB0aGUgQWRvYmUgRmxleCBTREs/CiBET19ZT1VfQUNDRVBUX1FVRVNUSU9OPURvIHlvdSBhY2NlcHQgKFllcy9Obyk/ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWF2ZW5pemVyL3JldHJpZXZlcnMvcG9tLnhtbCBiL21hdmVuaXplci9yZXRyaWV2ZXJzL3BvbS54bWwKaW5kZXggMzBiMzhkMy4uYTk1YmY0MSAxMDA2NDQKLS0tIGEvbWF2ZW5pemVyL3JldHJpZXZlcnMvcG9tLnhtbAorKysgYi9tYXZlbml6ZXIvcmV0cmlldmVycy9wb20ueG1sCkBAIC0xNywxNCArMTcsMTIgQEAKICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAKIC0tPgotPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIKLSAgICAgICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCi0gICAgICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy94c2QvbWF2ZW4tNC4wLjAueHNkIj4KKzxwcm9qZWN0IHhtbG5zPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54c2QiPgogICAgIDxtb2RlbFZlcnNpb24+NC4wLjA8L21vZGVsVmVyc2lvbj4KIAogICAgIDxwYXJlbnQ+CiAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuZmxleC51dGlsaXRpZXMuY29udmVydGVyPC9ncm91cElkPgotICAgICAgICA8YXJ0aWZhY3RJZD5mbGV4LXNkay1jb252ZXJ0ZXI8L2FydGlmYWN0SWQ+CisgICAgICAgIDxhcnRpZmFjdElkPmFwYWNoZS1mbGV4LXNkay1jb252ZXJ0ZXI8L2FydGlmYWN0SWQ+CiAgICAgICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgogICAgIDwvcGFyZW50PgogCg==