Y3VzdG9tPXRydWUKIyBFZGl0IHRoaXMgaWYvd2hlbiB0aGUgcmVsZWFzZSBudW1iZXIgY2hhbmdlcwpyZWxlYXNlLnZlcnNpb249Mi41LjMKIyBMaW5rIHRvIGRlcGVuZGVuY2llcyBub3QgaW4gU1ZOLCBhc3N1bWVzIGRlZmF1bHQgbG9jYXRpb24sIGlmIHlvdSBzdG9yZSBlbHNld2hlcmUgeW91IG5lZWQgdG8gZWRpdCB0aGVzZS4KanVuaXQubGliPS4uLy4uLy4uL2V4dGVuc2lvbi5saWIuZXh0ZXJuYWwvanVuaXQuamFyCmVjbGlwc2VsaW5rLmphcj1lY2xpcHNlbGluay5qYXIKCiMgRWRpdCB0aGlzIHByb3BlcnR5IHRvICJ0cnVlIiB0byBlbmFibGUgZGVidWcgYXR0cmlidXRlcyBsaWtlIGxpbmVzLCB2YXJpYWJsZXMgYW5kIHNvdXJjZS1maWxlbmFtZS4KamF2YWMuZGVidWc9dHJ1ZQpqYXZhYy5kZWJ1Z2xldmVsPWxpbmVzLHZhcnMsc291cmNlCgojIEVkaXQgdGhpcyBwcm9wZXJ0eSB3aGVuIHlvdSB3b3VsZCBsaWtlIHRvIG92ZXJyaWRlIHRoZSBqYXZhIHZlcnNpb24gZHVyaW5nIHRlc3RpbmcKamF2YWMudmVyc2lvbj0xLjYKCiMgRWRpdCB0aGlzIHByb3BlcnR5IHRvIGluY3JlYXNlIHRoZSBtYXhNZW1vcnkgaGVhcCBtZW1vcnkgdXNlZCBieSB0aGUgdGVzdHMgaWYgeW91IGdldCBhbiBPdXRPZk1lbW9yeUV4Y2VwdGlvbiAtIHVzZSBKQ29uc29sZS5leGUgdG8gdHJpYWdlIHRoZSBtZW1vcnkgc3Bpa2UgYXQgdGhlIGVuZCBvZiB0aGUgdGVzdAojIFRoZSBjdXJyZW50IGRlZmF1bHQgaXMgNzY4bSAodGhlIExDICJtIiBpcyByZXF1aXJlZCIpCm1heC5oZWFwLm1lbW9yeT03NjhtCgojIERvIG5vdCBlZGl0IHRoZSBwcm9wZXJ0aWVzIGJlbG93LgoKIyBHZW5lcmFsIEluZnJhc3RydWN0dXJlIERlZmluaXRpb25zCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnRlc3QucHJvcGVydGllcz0uL3Rlc3QucHJvcGVydGllcwpzcmMuZGlyPXNyYwpjbGFzc2VzLmRpcj1jbGFzc2VzCmNsYXNzZXMyMS5kaXI9Y2xhc3NlczIxCmJ1aWxkLmRpcj1idWlsZApyZXNvdXJjZS5kaXI9cmVzb3VyY2UKcGx1Z2lucy5kaXI9cGx1Z2lucwoKIyBHZW5lcmFsIDNyZC1QYXJ0eSBBUEkgamFyIGRlZmluaXRpb25zCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN0YXhfYXBpLmphcj1qYXZheC54bWwuc3RyZWFtXzEuMC4xLnYyMDEwMDQyNzIyMDAuamFyCmFjdGl2YXRpb24uamFyPWphdmF4LmFjdGl2YXRpb25fMS4xLjAudjIwMTEwODAxMTExNi5qYXIKbWFpbC5qYXI9amF2YXgubWFpbF8xLjQuMC52MjAxMDA1MDgwNjE1LmphcgpyZXNvdXJjZS5qYXI9amF2YXgucmVzb3VyY2VfMS41LjAudjIwMDkwNjAxMDQyOC5qYXIKZWpiLmphcj1qYXZheC5lamJfMy4wLjAudjIwMDkwNjAxMDQyOC5qYXIKam1zLmphcj1qYXZheC5qbXNfMS4xLjAudjIwMDkwNjAxMDQyOC5qYXIKdHJhbnNhY3Rpb24uamFyPWphdmF4LnRyYW5zYWN0aW9uXzEuMS4wLnYyMDEwMDIwNTEwNTUuamFyCnJlc3RmdWx3cy5qYXI9amF2YXgud3MucnNfMS4xLjEudjIwMTAxMDA0LTEyMDAuamFyCmpheGItYXBpLmphcj1qYXZheC54bWwuYmluZF8yLjIuMC52MjAxMTA1MjEwNjQ4Lmphcgpjb21tb25qLnNkby5qYXI9Y29tbW9uai5zZG9fMi4xLjEudjIwMTExMjA1MTg1Mi5qYXIKYmVhbnZhbGlkYXRpb24uamFyPWphdmF4LnZhbGlkYXRpb25fMS4wLjAudjIwMTEwMzAxMTQwMS1DUjMuamFyCnBlcnNpc3RlbmNlMjEuamFyPWphdmF4LnBlcnNpc3RlbmNlXzIuMS4wLnYyMDEzMDQyNDEyMTMuamFyCnBlcnNpc3RlbmNlMjAuamFyPWphdmF4LnBlcnNpc3RlbmNlXzIuMC42LnYyMDEzMDgyMTE0MTIuamFyCnBlcnNpc3RlbmNlMTAuamFyPWphdmF4LnBlcnNpc3RlbmNlX3Vuc2lnbmVkX2Zvcl90ZXN0aW5nXzEuMC4wLmphcgojdW5zaWduZWQucGVyc2lzdGVuY2UxMC5qYXI9amF2YXgucGVyc2lzdGVuY2VfdW5zaWduZWRfZm9yX3Rlc3RpbmdfMS4wLjAuamFyCgojIFByb2R1Y3QgamFyIERlZmluaXRpb25zCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZWNsaXBzZWxpbmsubW9kZWxnZW4ucHJlZml4PW9yZy5lY2xpcHNlLnBlcnNpc3RlbmNlLmpwYS5tb2RlbGdlbgplY2xpcHNlbGluay5tb2RlbGdlbi5wcm9jZXNzb3IucHJlZml4PWVjbGlwc2VsaW5rLWpwYS1tb2RlbGdlbgojYW50bHI9b3JnLmVjbGlwc2UucGVyc2lzdGVuY2UuYW50bHIKCiMgQnVpbGQgQXJ0aWZhY3QgRGVmaW5pdGlvbnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpjb3JldGVzdC5mcmFtZXdvcmsuamFyPWVjbGlwc2VsaW5rLWNvcmV0ZXN0LWZyYW1ld29yay5qYXIKY29yZXRlc3QuamFyPWVjbGlwc2VsaW5rLWNvcmUtdGVzdHMuamFyCmpwYXRlc3QuZnJhbWV3b3JrLmphcj1lY2xpcHNlbGluay1qcGF0ZXN0LWZyYW1ld29yay5qYXIKb3JhY2xlLmpwYS50ZXN0Lmphcj1lY2xpcHNlbGluay1vcmFjbGUtanBhLXRlc3QuamFyCm5vc3FsLmpwYS50ZXN0Lmphcj1lY2xpcHNlbGluay1ub3NxbC1qcGEtdGVzdHMuamFyCmpwYS50ZXN0Lmphcj1lY2xpcHNlbGluay1qcGEtdGVzdHMuamFyCmpwYTIxLnRlc3QuamFyPWVjbGlwc2VsaW5rLWpwYTIxLXRlc3RzLmphcgoKI09MRCBEaXJlY3RvcnkgZGVmaW5pdGlvbnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNlY2xpcHNlbGluay5wbHVnaW5zPS4uL3BsdWdpbnMKI2VjbGlwc2VsaW5rLnBsdWdpbnMudHJ1bms9Li4vLi4vcGx1Z2lucwojZWNsaXBzZWxpbmsuY29yZS5kZXBlbmQ9JHthY3RpdmF0aW9uLmphcn0sJHtyZXNvdXJjZS5qYXJ9LCR7ZWpiLmphcn0sJHtqbXMuamFyfSwke3N0YXhfYXBpLmphcn0sJHt0cmFuc2FjdGlvbi5qYXJ9LCR7bWFpbC5qYXJ9CiNlY2xpcHNlbGluay5jb3JlPS4uL29yZy5lY2xpcHNlLnBlcnNpc3RlbmNlLmNvcmUKI2VjbGlwc2VsaW5rLmNvcmUudHJ1bms9Li4vLi4vZm91bmRhdGlvbi9vcmcuZWNsaXBzZS5wZXJzaXN0ZW5jZS5jb3JlCiNlY2xpcHNlbGluay5qcGE9Li4vb3JnLmVjbGlwc2UucGVyc2lzdGVuY2UuanBhCiNlY2xpcHNlbGluay5qcGEuZGVwZW5kPSR7cGVyc2lzdGVuY2UyMC5qYXJ9LCAke2JlYW52YWxpZGF0aW9uLmphcn0KI2VjbGlwc2VsaW5rLmNvcmUudGVzdD0uLi9lY2xpcHNlbGluay5jb3JlLnRlc3QKI2VjbGlwc2VsaW5rLmNvcmUudGVzdC50cnVuaz0uLi8uLi9mb3VuZGF0aW9uL2VjbGlwc2VsaW5rLmNvcmUudGVzdAojZWNsaXBzZWxpbmsubW94eT0uLi9vcmcuZWNsaXBzZS5wZXJzaXN0ZW5jZS5tb3h5CiNlY2xpcHNlbGluay5tb3h5LnRydW5rPS4uLy4uL21veHkvb3JnLmVjbGlwc2UucGVyc2lzdGVuY2UubW94eQojZWNsaXBzZWxpbmsubW94eS5wbHVnaW5zPS4uL3BsdWdpbnMKI2VjbGlwc2VsaW5rLm1veHkucGx1Z2lucy50cnVuaz0uLi8uLi9wbHVnaW5zCiNlY2xpcHNlbGluay5tb3h5LmRlcGVuZD1qYXZheC54bWwuYmluZF8yLjIuMC52MjAxMTA1MjEwNjQ4LmphcgojZWNsaXBzZWxpbmsuZXh0ZW5zaW9uLm9yYWNsZT0uLi9vcmcuZWNsaXBzZS5wZXJzaXN0ZW5jZS5vcmFjbGUKI2VjbGlwc2VsaW5rLmV4dGVuc2lvbi5vcmFjbGUudHJ1bms9Li4vLi4vZm91bmRhdGlvbi9vcmcuZWNsaXBzZS5wZXJzaXN0ZW5jZS5vcmFjbGUKI2VjbGlwc2VsaW5rLmV4dGVuc2lvbi5vcmFjbGUubm9zcWwudHJ1bms9Li4vLi4vZm91bmRhdGlvbi9vcmcuZWNsaXBzZS5wZXJzaXN0ZW5jZS5vcmFjbGUubm9zcWwKI2VjbGlwc2VsaW5rLmV4dGVuc2lvbi5vcmFjbGUudGVzdD0uLi9lY2xpcHNlbGluay5leHRlbnNpb24ub3JhY2xlLnRlc3QKI2VjbGlwc2VsaW5rLmV4dGVuc2lvbi5vcmFjbGUudGVzdC50cnVuaz0uLi8uLi9mb3VuZGF0aW9uL2VjbGlwc2VsaW5rLmV4dGVuc2lvbi5vcmFjbGUudGVzdAojZWNsaXBzZWxpbmsuZXh0ZW5zaW9uLm9yYWNsZS5ub3NxbC50ZXN0LnRydW5rPS4uLy4uL2ZvdW5kYXRpb24vZWNsaXBzZWxpbmsuZXh0ZW5zaW9uLm9yYWNsZS5ub3NxbC50ZXN0CgojSlBBIFRlc3QgTW9kZWwgRGVmaW5pdGlvbnMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZWNsaXBzZWxpbmsuYW5ub3RhdGlvbi5tb2RlbD1lY2xpcHNlbGluay1hbm5vdGF0aW9uLW1vZGVsCmVjbGlwc2VsaW5rLmRkbC5nZW5lcmF0aW9uLm1vZGVsPWVjbGlwc2VsaW5rLWRkbC1nZW5lcmF0aW9uLW1vZGVsCmVjbGlwc2VsaW5rLnhtbC5vbmx5Lm1vZGVsPWVjbGlwc2VsaW5rLXhtbC1vbmx5LW1vZGVsCmVjbGlwc2VsaW5rLnhtbC5tZXJnZS5tb2RlbD1lY2xpcHNlbGluay14bWwtbWVyZ2UtbW9kZWwKZWNsaXBzZWxpbmsudmFsaWRhdGlvbi5mYWlsZWQubW9kZWw9ZWNsaXBzZWxpbmstdmFsaWRhdGlvbi1mYWlsZWQtbW9kZWwKZWNsaXBzZWxpbmsuYWR2YW5jZWQuZmllbGQuYWNjZXNzLm1vZGVsPWVjbGlwc2VsaW5rLWFkdmFuY2VkLWZpZWxkLWFjY2Vzcy1tb2RlbAplY2xpcHNlbGluay5hZHZhbmNlZC5wcm9wZXJ0aWVzPWVjbGlwc2VsaW5rLWFkdmFuY2VkLXByb3BlcnRpZXMKZWNsaXBzZWxpbmsueG1sLmV4dGVuZGVkLm1vZGVsPWVjbGlwc2VsaW5rLXhtbC1leHRlbmRlZC1tb2RlbAplY2xpcHNlbGluay5qcGEyMS5tb2RlbD1lY2xpcHNlbGluay1qcGEyMS1tb2RlbAplY2xpcHNlbGluay5wdS53aXRoLnNwYWNlcz1lY2xpcHNlbGluay1wdSB3aXRoIHNwYWNlcwplY2xpcHNlbGluay5jYXNjYWRlLmRlbGV0ZXM9ZWNsaXBzZWxpbmstY2FzY2FkZS1kZWxldGVzLW1vZGVsCiMgRU0gaGFzIG11bHRpLWJ5dGUgaGV4KEMzQTEpIGNoYXJzIGluIEVNIHBhdGggYW5kL29yIG5hbWUKZWNsaXBzZWxpbmsucHUud2l0aC5tdWx0aWJ5dGU9ZWNsaXBzZWxpbmstcHUtd2l0aC1tdWx0aWJ5dGUt4S1jaGFyCmVjbGlwc2VsaW5rLm1ldGFtb2RlbC5tb2RlbD1lY2xpcHNlbGluay1tZXRhbW9kZWwtbW9kZWwKanBhLnBlcmZvcm1hbmNlPWpwYS1wZXJmb3JtYW5jZQpqcGEucGVyZm9ybWFuY2UyPWpwYS1wZXJmb3JtYW5jZTIKZWNsaXBzZWxpbmsuZGVsaW1pdGVkLm1vZGVsPWVjbGlwc2VsaW5rLWRlbGltaXRlZC1tb2RlbAplY2xpcHNlbGluay5leHRlbnNpYmlsaXR5Lm1vZGVsPWVjbGlwc2VsaW5rLWV4dGVuc2liaWxpdHktbW9kZWwKZWNsaXBzZWxpbmsuYmVhbnZhbGlkYXRpb24ubW9kZWw9ZWNsaXBzZWxpbmstYmVhbnZhbGlkYXRpb24tbW9kZWwKCmVjbGlwc2VsaW5rLmNvbXBvc2l0ZS5hZHZhbmNlZC5tb2RlbD1lY2xpcHNlbGluay1jb21wb3NpdGUtYWR2YW5jZWQtbW9kZWwKZWNsaXBzZWxpbmsuY29tcG9zaXRlLmFkdmFuY2VkLm1vZGVsLm1lbWJlcl8xPWVjbGlwc2VsaW5rLWNvbXBvc2l0ZS1hZHZhbmNlZC1tb2RlbC1tZW1iZXJfMQplY2xpcHNlbGluay5jb21wb3NpdGUuYWR2YW5jZWQubW9kZWwubWVtYmVyXzI9ZWNsaXBzZWxpbmstY29tcG9zaXRlLWFkdmFuY2VkLW1vZGVsLW1lbWJlcl8yCmVjbGlwc2VsaW5rLmNvbXBvc2l0ZS5hZHZhbmNlZC5tb2RlbC5tZW1iZXJfMz1lY2xpcHNlbGluay1jb21wb3NpdGUtYWR2YW5jZWQtbW9kZWwtbWVtYmVyXzMKZWNsaXBzZWxpbmsueG1sLmNvbXBvc2l0ZS5hZHZhbmNlZC5tb2RlbD1lY2xpcHNlbGluay14bWwtY29tcG9zaXRlLWFkdmFuY2VkLW1vZGVsCmVjbGlwc2VsaW5rLnhtbC5jb21wb3NpdGUuYWR2YW5jZWQubW9kZWwubWVtYmVyXzE9ZWNsaXBzZWxpbmsteG1sLWNvbXBvc2l0ZS1hZHZhbmNlZC1tb2RlbC1tZW1iZXJfMQplY2xpcHNlbGluay54bWwuY29tcG9zaXRlLmFkdmFuY2VkLm1vZGVsLm1lbWJlcl8yPWVjbGlwc2VsaW5rLXhtbC1jb21wb3NpdGUtYWR2YW5jZWQtbW9kZWwtbWVtYmVyXzIKZWNsaXBzZWxpbmsueG1sLmNvbXBvc2l0ZS5hZHZhbmNlZC5tb2RlbC5tZW1iZXJfMz1lY2xpcHNlbGluay14bWwtY29tcG9zaXRlLWFkdmFuY2VkLW1vZGVsLW1lbWJlcl8zCmVjbGlwc2VsaW5rLnhtbC5leHRlbmRlZC5jb21wb3NpdGUuYWR2YW5jZWQubW9kZWw9ZWNsaXBzZWxpbmsteG1sLWV4dGVuZGVkLWNvbXBvc2l0ZS1hZHZhbmNlZC1tb2RlbAplY2xpcHNlbGluay54bWwuZXh0ZW5kZWQuY29tcG9zaXRlLmFkdmFuY2VkLm1vZGVsLm1lbWJlcl8xPWVjbGlwc2VsaW5rLXhtbC1leHRlbmRlZC1jb21wb3NpdGUtYWR2YW5jZWQtbW9kZWwtbWVtYmVyXzEKZWNsaXBzZWxpbmsueG1sLmV4dGVuZGVkLmNvbXBvc2l0ZS5hZHZhbmNlZC5tb2RlbC5tZW1iZXJfMj1lY2xpcHNlbGluay14bWwtZXh0ZW5kZWQtY29tcG9zaXRlLWFkdmFuY2VkLW1vZGVsLW1lbWJlcl8yCmVjbGlwc2VsaW5rLnhtbC5leHRlbmRlZC5jb21wb3NpdGUuYWR2YW5jZWQubW9kZWwubWVtYmVyXzM9ZWNsaXBzZWxpbmsteG1sLWV4dGVuZGVkLWNvbXBvc2l0ZS1hZHZhbmNlZC1tb2RlbC1tZW1iZXJfMwoKZWNsaXBzZWxpbmsueG1sLm1hcHBpbmcubWV0YWRhdGEuY29tcGxldGU9ZWNsaXBzZWxpbmsteG1sLW1hcHBpbmctbWV0YWRhdGEtY29tcGxldGUKCmVjbGlwc2VsaW5rLnN0cnVjdC5jb252ZXJ0ZXIubW9kZWw9ZWNsaXBzZWxpbmstc3RydWN0LWNvbnZlcnRlci1tb2RlbAplY2xpcHNlbGluay50aW1lc3RhbXB0ei5tb2RlbD1lY2xpcHNlbGluay10aW1lc3RhbXB0ei1tb2RlbAplY2xpcHNlbGluay5jdXN0b21mZWF0dXJlcy5tb2RlbD1lY2xpcHNlbGluay1jdXN0b21mZWF0dXJlcy1tb2RlbAplY2xpcHNlbGluay5wcm94eWF1dGhlbnRpY2F0aW9uLm1vZGVsPWVjbGlwc2VsaW5rLXByb3h5YXV0aGVudGljYXRpb24tbW9kZWwKCiMgT3JhY2xlIFRlc3RpbmcgRGVwZW5kZW5jeSBEZWZpbml0aW9ucwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmVjbGlwc2VsaW5rLmpwYS5vcmFjbGU9ZWNsaXBzZWxpbmstanBhLW9yYWNsZQpvcmFjbGUuc2RvYXBpLmphcj1zZG9hcGkuamFyCm9yYWNsZS54ZGIuamFyPXhkYi5qYXIKb3JhY2xlLnhtbHBhcnNlci5qYXI9eG1scGFyc2VydjIuamFyCm9yYWNsZS5vcmFpMThuLW1hcHBpbmcuamFyPW9yYWkxOG4tbWFwcGluZy5qYXIKb3JhY2xlLm5vc3FsLmphci5kaXI9Li4vLi4vLi4vZXh0ZW5zaW9uLm9yYWNsZS5saWIuZXh0ZXJuYWwKb3JhY2xlLm5vc3FsLmphcj1rdmNsaWVudC5qYXIKCiMgU3ByaW5nIFRlc3RpbmcgRGVwZW5kZW5jeSBEZWZpbml0aW9ucwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnNwcmluZy5qbGliLmRpcj0uLi8uLi8uLi9leHRlbnNpb24ubGliLmV4dGVybmFsL3NwcmluZwpzcHJpbmcuamxpYj1hb3AuamFyLGFzbS5qYXIsYXNwZWN0cy5qYXIsYmVhbnMuamFyLGNvbnRleHQuamFyLGNvbnRleHQuc3VwcG9ydC5qYXIsY29yZS5qYXIsZXhwcmVzc2lvbi5qYXIsaW5zdHJ1bWVudC5qYXIsaW5zdHJ1bWVudC50b21jYXQuamFyLGpkYmMuamFyLGptcy5qYXIsb3JtLmphcixveG0uamFyLHRlc3QuamFyLHRyYW5zYWN0aW9uLmphcixhb3BhbGxpYW5jZS0xLjAuamFyLGNvbW1vbnMtbG9nZ2luZy5qYXIsY2dsaWItbm9kZXAtMi4xXzMuamFyLGpvdG0tY2xpZW50LmphcixzcHJpbmctdHgtMi41Lmphcix4YXBvb2wuamFyCmVjbGlwc2VsaW5rLmpwYS5zcHJpbmcudGVzdD0uLi9lY2xpcHNlbGluay5qcGEuc3ByaW5nLnRlc3QKCiMgQmVhblZhbGlkYXRpb25KVW5pdFRlc3QgRGVwZW5kZW5jeSBEZWZpbml0aW9ucwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnZhbGlkYXRpb24uaW1wbC5qYXI9dmFsaWRhdGlvbkltcGwtNC4xLjAuQmV0YTEuamFyCnNsZjRqLmFwaS5qYXI9c2xmNGotYXBpLTEuNS4xMS5qYXIKc2xmNGouamRrLmphcj1zbGY0ai1qZGsxNC0xLjUuMTEuamFyCnZhbGlkYXRpb24uYXBpLmphcj12YWxpZGF0aW9uLWFwaS0xLjAuMC5HQS5qYXIKCgoK