MjAwNy0wNy0xOSAgUmVsZWFzZSBNYW5hZ2VyCgoJKiBHQ0MgNC4yLjEgcmVsZWFzZWQuCgoyMDA3LTA2LTI4ICBNaWtlIFN0dW1wICA8bXJzQGFwcGxlLmNvbT4KCgkqIGdjY19yZWxlYXNlOiBVcGRhdGUgZm9yIE9iamVjdGl2ZS1DKysuCgoyMDA3LTA1LTI4ICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX3JlbGVhc2U6IEFkanVzdCBwbGFjZW1lbnQgb2YgcmVsZWFzZSBjYW5kaWRhdGVzLgoKMjAwNy0wNS0xMyAgUmVsZWFzZSBNYW5hZ2VyCgoJKiBHQ0MgNC4yLjAgcmVsZWFzZWQuCgoyMDA2LTA5LTE3ICBHZXJhbGQgUGZlaWZlciAgPGdlcmFsZEBwZmVpZmVyLmNvbT4KCgkqIGdjY19yZWxlYXNlIChMQ19BTEwpOiBEZWZhdWx0IHRvIEMuCgoyMDA2LTAzLTExICBHYWJyaWVsIERvcyBSZWlzICA8Z2RyQGludGVncmFibGUtc29sdXRpb25zLm5ldD4KCgkqIGNyb250YWI6IERvbid0IGJ1aWxkIHNuYXBzaG90IGZvciAzLjQueCBhbnltb3JlLgoJKiB1cGRhdGVfdmVyc2lvbl9zdm4gKElHTk9SRV9CUkFOQ0hFUyk6IEFkZCAzXzQtYnJhbmNoLgoKMjAwNi0wMS0xMiAgQmVuIEVsbGlzdG9uICA8YmplQGF1LmlibS5jb20+CgoJKiB1cGRhdGVfdmVyc2lvbl9zdm4gKEFERF9CUkFOQ0hFUyk6IFJlbW92ZSBkZnAtYnJhbmNoLgoKMjAwNS0xMi0xNiAgSm9zZXBoIFMuIE15ZXJzICA8am9zZXBoQGNvZGVzb3VyY2VyeS5jb20+CgoJKiB1cGRhdGVfd2ViX2RvY3Nfc3ZuOiBSZW1vdmUgdW5uZWNlc3NhcnkgZmlsZXMgZnJvbSBzb3VyY2UgdHJlZS4KCVVzZSBzZXQgLWUuCgkqIGRvY19leGNsdWRlLCB1cGRhdGVfd2ViX2RvY3MsIHVwZGF0ZV93ZWJfZG9jc19saWJzdGRjeHg6IFJlbW92ZS4KCjIwMDUtMTItMTYgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiB1cGRhdGVfd2ViX2RvY3Nfc3ZuOiBTZXQgQHNyY2RpciBpbiBnY2MtdmVycy50ZXhpLiAKCQoyMDA1LTExLTE4ICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogY3JvbnRhYjogQWRkIDQuMSBicmFuY2ggZW50cnkuCgoyMDA1LTExLTA2ICBKb3NlcGggUy4gTXllcnMgIDxqb3NlcGhAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY19yZWxlYXNlOiBGdXJ0aGVyIHVwZGF0ZSBmb3IgU1ZOLiAgRG9uJ3Qgc2V0IEVYUE9SVFRBRyBvcgoJRVhQT1JUREFURTsgYWx3YXlzIGRldGVybWluZSBTVk5SRVYgdGhlIHNhbWUgd2F5LiAgQ29ycmVjdCBtZXNzYWdlCglhYm91dCB3aGF0IHNvdXJjZXMgYXJlIGJlaW5nIHJldHJpdmVkLiAgSW5jbHVkZSBicmFuY2ggaW5mb3JtYXRpb24KCWluIExBU1RfVVBEQVRFRC4KCSogY3JvbnRhYjogRG9uJ3QgaW5jbHVkZSBpbml0aWFsIC8gaW4gYnJhbmNoIG5hbWUuCgoyMDA1LTExLTA1ICBEYW5pZWwgQmVybGluICA8ZGJlcmxpbkBkYmVybGluLm9yZz4KCgkqIGdjY19yZWxlYXNlOiAgQWx3YXlzIGRldGVybWluZSByZXZpc2lvbiBudW1iZXIgZnJvbSBkYXRlIG9yIHRhZywKCWFuZCB1c2UgdGhhdCwgaW5zdGVhZCBvZiBmcmFnaWxlIGRhdGUgYmFzZWQgZXhwb3J0LgoJUHV0IGJhY2sgc2V0dGluZyBvZiBub24tbG9jYWwgQ1ZTUk9PVC4KCjIwMDUtMTEtMDUgIERhbmllbCBCZXJsaW4gIDxkYmVybGluQGRiZXJsaW4ub3JnPgoKCSogZ2NjX3JlbGVhc2U6IE1ha2UgdGFncyBnbyBpbiAvdGFncy4KCURvbid0IHRhZyBmb3Igc25hcHNob3RzLgoJRGV0ZXJtaW5lIHJldmlzaW9uIG51bWJlciBvZiBleHBvcnQgYW5kIHB1dCBpbnRvIHNuYXBzaG90Cglhbm5vdW5jZW1lbnQuCgoyMDA1LTExLTAzICBEYW5pZWwgQmVybGluICA8ZGJlcmxpbkBkYmVybGluLm9yZz4KCgkqIGdjY19yZWxlYXNlOiBVcGRhdGUgZm9yIFNWTgoJKiBjcm9udGFiOiBVcGRhdGUgZm9yIG5ldyBnY2NfcmVsZWFzZQoKMjAwNS0xMC0yNiAgRGFuaWVsIEJlcmxpbiAgPGRiZXJsaW5AZGJlcmxpbi5vcmc+CgoJKiB1cGRhdGVfd2ViX2RvY3Nfc3ZuOiBVc2UgLXEgdG8gcXVpZXQgc3ZuLgoKMjAwNS0xMC0yNiAgRGFuaWVsIEJlcmxpbiAgPGRiZXJsaW5AZGJlcmxpbi5vcmc+CgoJKiBjcm9udGFiOiBVcGRhdGUgdG8gcmVmbGVjdCByZWFsaXR5CgoyMDA1LTEwLTAxICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3NvdXJjZXMpOiBJZiB0cnlpbmcgdG8gYXBwbHkgYSB0YWcgdGhhdAoJYWxyZWFkeSBleGlzdHMsIGlzc3VlIGFuIGVycm9yIG1lc3NhZ2UgYW5kIGV4aXQuCgoyMDA1LTA5LTMwICBKb3NlcGggUy4gTXllcnMgIDxqb3NlcGhAY29kZXNvdXJjZXJ5LmNvbT4KCglQUiBvdGhlci8yMzY5MwoJKiB1cGRhdGVfd2ViX2RvY3M6IEFkZCBQREYgc3VwcG9ydC4gIENvcnJlY3QgY2hlY2sgb2YgREVWLVBIQVNFLgoKMjAwNS0wOS0zMCAgSm9zZXBoIFMuIE15ZXJzICA8am9zZXBoQGNvZGVzb3VyY2VyeS5jb20+CgoJKiB1cGRhdGVfd2ViX2RvY3Nfb2xkOiBSZW1vdmUuCgoyMDA1LTA4LTE0ICBLZWxsZXkgQ29vayAgPGtjb29rQGdjYy5nbnUub3JnPgoKCSogZ2NjX3JlbGVhc2U6IFVwZGF0ZSB3aXRoIEZTRiBhZGRyZXNzLgoKMjAwNS0wNy0yNiAgSmFuaXMgSm9obnNvbiAgPGphbmlzMTg3QHVzLmlibS5jb20+CgoJKiB1cGRhdGVfdmVyc2lvbiAoQUREX0JSQU5DSEVTKTogQWRkIGRmcC1icmFuY2guCgoyMDA1LTA1LTIxICBHZXJhbGQgUGZlaWZlciAgPGdlcmFsZEBwZmVpZmVyLmNvbT4KCgkqIGNyb250YWI6IFNwcmVhZCBzbmFwc2hvdCBidWlsZGluZyBtb3JlIGV2ZW5seSB0aHJvdWdob3V0IHRoZQoJd2Vlay4KCjIwMDUtMDUtMTkgIEpvc2VwaCBTLiBNeWVycyAgPGpvc2VwaEBjb2Rlc291cmNlcnkuY29tPgoKCSogY3JvbnRhYjogRG9uJ3QgYnVpbGQgMy4zIGJyYW5jaCBzbmFwc2hvdHMuCgkqIHVwZGF0ZV92ZXJzaW9uIChJR05PUkVfQlJBTkNIRVMpOiBBZGQgZ2NjLTNfMy1icmFuY2guCgoyMDA1LTAzLTE1ICBaYWNrIFdlaW5iZXJnICA8emFja0Bjb2Rlc291cmNlcnkuY29tPgoKCSogUkVBRE1FOiBVcGRhdGUuCgkqIGdjY19yZWxlYXNlOiBVcGRhdGUgZ2NjL0RFVi1QSEFTRSBpZiB0aGF0IGZpbGUgZXhpc3RzLCBpbnN0ZWFkCglvZiBnY2MvdmVyc2lvbi5jLgoJKiB1cGRhdGVfdmVyc2lvbjogSGFuZGxlIHVwZGF0aW5nIGdjYy9EQVRFU1RBTVAuCgkqIHVwZGF0ZV93ZWJfZG9jczogR2VuZXJhdGUgZ2NjLXZlcnMudGV4aSBmaXJzdC4KCjIwMDUtMDMtMTAgIFJhbmppdCBNYXRoZXcgIDxybWF0aGV3QGhvdG1haWwuY29tPgoKCSogZ2NjX3JlbGVhc2UgKEFEQV9ESVJTKTogQWRkICJnbmF0dG9vbHMiLgoKMjAwNS0wMi0yNSAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGNyb250YWI6IEFkanVzdCBmb3IgNC4wIGJyYW5jaC4KCjIwMDQtMTItMzAgIFNlYmFzdGlhbiBQb3AgIDxwb3BAY3JpLmVuc21wLmZyPgoKCSogdXBkYXRlX3ZlcnNpb24gKEFERF9CUkFOQ0hFUyk6IFJlcGxhY2UgbG5vLWJyYW5jaCB3aXRoCglhdXRvdmVjdC1icmFuY2guCgoyMDA0LTA5LTExICBHZXJhbGQgUGZlaWZlciAgPGdlcmFsZEBwZmVpZmVyLmNvbT4KCgkqIGNyb250YWI6IFJlbmFtZSBHQ0MgMy41IHNuYXBzaG90cyB0byBHQ0MgNC4wIHNuYXBzaG90cy4KCjIwMDQtMDgtMTQgIEtlbGxleSBDb29rICA8a2Nvb2tAZ2NjLmdudS5vcmc+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfc291cmNlcyk6IEFkZCBjb21tZW50IGhlYWRlciB0byBnZW5lcmF0ZWQKCU1ENVNVTVMuCgoyMDA0LTA4LTA2ICBLZWxsZXkgQ29vayAgPGtjb29rQGdjYy5nbnUub3JnPgoKCSogZ2NjX3JlbGVhc2UgKHNuYXBzaG90X3ByaW50KTogQWNjZXB0IGFyZ3VtZW50cy4gIERvbid0IHVzZSBlY2hvIC1lLgoJKGFubm91bmNlX3NuYXBzaG90KTogIFVwZGF0ZSBmb3IgYWJvdmUuICBEb24ndCB1c2UgZWNobyAtZS4KCjIwMDQtMDgtMDMgS2VsbGV5IENvb2sgIDxrY29va0BnY2MuZ251Lm9yZz4KCgkqIG1haW50YWluZXItc2NyaXB0cyAoc25hcHNob3RfcHJpbnQpOiBOZXcgZnVuY3Rpb24uCgkoYW5ub3VuY2Vfc25hcHNob3QpOiBHZW5lcmF0ZSBhbm5vdW5jbWVudCBvbiB0aGUgZmx5LgoJVXNlIGEgZGlyZWN0b3J5IGxpbmsgZm9yIExBVEVTVC4KCSogc25hcHNob3QtUkVBRE1FOiBEZWxldGUuCgkqIHNuYXBzaG90LWluZGV4Lmh0bWw6IERlbGV0ZS4KCjIwMDQtMDYtMDkgIFBhb2xvIEJvbnppbmkgIDxib256aW5pQGdudS5vcmc+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfc291cmNlcyk6IE1vdmUgdGhlIGxpYmNwcCBnbW8gZmlsZXMKCXRvIHRoZSBzb3VyY2UgZGlyZWN0b3J5LgoKMjAwNC0wNi0wMyAgSm9zZXBoIFMuIE15ZXJzICA8anNtQHBvbHlvbWluby5vcmcudWs+CgoJKiBnY2NfcmVsZWFzZSAobWF5YmVfYnVpbGRfdGFyZmlsZSk6IE5ldyBmdW5jdGlvbi4KCShidWlsZF90YXJmaWxlcyk6IFVzZSBtYXliZV9idWlsZF90YXJmaWxlLgoKMjAwNC0wNS0yMSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfc291cmNlcyk6IEdlbmVyYXRlIHRoZSBORVdTIGZpbGUgaW4gdG9wbGV2ZWwuCgoyMDA0LTA1LTE3ICBLZWxsZXkgQ29vayAgPGtjb29rQGdjYy5nbnUub3JnPgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3NvdXJjZXMpOiBDaGFuZ2UgQ1JDcyBmcm9tIGJyaWsgdG8gbWQ1c3VtLgoKMjAwNC0wNS0xNiAgR2VyYWxkIFBmZWlmZXIgIDxnZXJhbGRAcGZlaWZlci5jb20+CgoJKiBjcm9udGFiOiBBZGQgR0NDIDMuNSBzbmFwc2hvdHMsIGN1cnJlbnR5IHJ1biBvbiBTdW5kYXlzLgoKMjAwNC0wNS0xMyAgSm9zZXBoIFMuIE15ZXJzICA8anNtQHBvbHlvbWluby5vcmcudWs+CgoJKiB1cGRhdGVfd2ViX2RvY3M6IEFsc28gcmVtb3ZlIG9sZCAuZ3ogZmlsZXMgZnJvbSBzdWJkaXJlY3RvcmllcwoJb24gdGhlIDE1dGggb2YgdGhlIG1vbnRoLgoKMjAwNC0wNS0xMyAgSm9zZXBoIFMuIE15ZXJzICA8anNtQHBvbHlvbWluby5vcmcudWs+CgoJKiB1cGRhdGVfd2ViX2RvY3MgKE1BTlVBTFMpOiBBZGQgZ2ZvcnRyYW4uCgoyMDA0LTA1LTEzICBBcm5hdWQgQ2hhcmxldCAgPGNoYXJsZXRAYWN0LWV1cm9wZS5mcj4KCgkqIHVwZGF0ZV93ZWJfZG9jczogRml4IGdlbmVyYXRpb24gb2YgQWRhIGRvY3MuCgoyMDA0LTA1LTEzICBKb3NlcGggUy4gTXllcnMgIDxqc21AcG9seW9taW5vLm9yZy51az4KCgkqIHVwZGF0ZV92ZXJzaW9uIChBRERfQlJBTkNIRVMpOiBSZW1vdmUgdHJlZS1zc2EtMjAwMjA2MTktYnJhbmNoLgoKCSogZ2NjX3JlbGVhc2UgKERJRkYpOiBSZW1vdmUgLTMgb3B0aW9uLgoKMjAwMy0wNy0yNiAgUGF1bCBCcm9vayAgPHBhdWxAbm93dC5vcmc+CgoJKiBnY2NfcmVsZWFzZTogQWRkIGdjYy1mb3J0cmFuLgoJKiBzbmFwc2hvdC1SRUFETUU6IERpdHRvLgoJKiBzbmFwc2hvdC1pbmRleC5odG1sOiBEaXR0by4KCjIwMDQtMDUtMDIgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogY3JvbnRhYjogTW92ZSBHQ0MgMy40IHNuYXBzaG90cyBmcm9tIFdlZG5lc2RheSBhZnRlcm5vb24gdG8KCUZyaWRheSBuaWdodCwgd2hlcmUgZ2NjLmdudS5vcmcgaGFzIGxlc3MgbG9hZC4KCjIwMDQtMDUtMDIgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogY3JvbnRhYjogQWRqdXN0IHRlbXBvcmFyeSBkaXJlY3RvcnkgdXNlZCBmb3Igc25hcHNob3QgZ2VuZXJhdGlvbi4KCU1vdmUgR0NDIDMuMyBzbmFwc2hvdHMgdG8gV2VkbmVzZGF5IDIyOjMyLCB3aGVyZSBnY2MuZ251Lm9yZyBoYXMKCWxlc3MgbG9hZC4KCjIwMDQtMDQtMTkgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfc291cmNlcyk6IERvIG5vdCB1c2UgIi1GIiB0byB0YWcgc291cmNlcy4KCjIwMDQtMDQtMDcgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfc291cmNlcyk6IERvIG5vdCB1c2UgIi1yIiBhbmQgIi1EIiBhdCB0aGUKCXNhbWUgdGltZSB3aXRoICJjdnMgZXhwb3J0Ii4KCjIwMDQtMDMtMjcgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogZ2NjX3JlbGVhc2U6IEZpeCBzYW5pdHkgY2hlY2sgZm9yIGFyZ3VtZW50IG9mIC1wIGNvbW1hbmQtbGluZQoJb3B0aW9ucy4gIEluIHNuYXBzaG90IG1vZGUsIG9ubHkgZ2VuZXJhdGUgZGlmZnMgYWdhaW5zdCB0aGUgcHJldmlvdXMKCXNuYXBzaG90IGlmIHRoZSB1c2VyIGRpZCBub3Qgc3BlY2lmeSBhbnkgb2xkIHRhcmJhbGwgZXhwbGljdGx5LgoKMjAwNC0wMy0yNSAgR2VyYWxkIFBmZWlmZXIgIDxnZXJhbGRAcGZlaWZlci5jb20+CgoJKiBnY2NfcmVsZWFzZSAoRlRQX1BBVEgpOiBVc2UgL3Zhci9mdHAgaW5zdGVhZCBvZiB+ZnRwLCBhbmQKCW9ubHkgc2V0IGF0IGEgc2luZ2xlIHBsYWNlLgoKMjAwNC0wMy0xNCAgR2VyYWxkIFBmZWlmZXIgIDxnZXJhbGRAcGZlaWZlci5jb20+CgoJKiBnY2NfcmVsZWFzZSAoU05BUFNIT1RTX0RJUik6IE5ldyB2YXJpYWJsZS4gIFVzZSBpdC4KCShhbm5vdW5jZV9zbmFwc2hvdCk6IFVzZSBpdC4KCjIwMDQtMDMtMTQgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogZ2NjX3JlbGVhc2UgKGFubm91bmNlX3NuYXBzaG90KTogVXNlIGNoYW5nZWRpciBpbnN0ZWFkIG9mCglwbGFpbiBjZC4KCjIwMDQtMDItMTAgIEFybmF1ZCBDaGFybGV0ICA8Y2hhcmxldEBhY3QtZXVyb3BlLmZyPgoKCSogZ2NjX3JlbGVhc2U6IEFkZCBsaWJhZGEgYXMgcGFydCBvZiBBREFfRElSUy4KCjIwMDQtMDEtMjEgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogY3JvbnRhYjogTWFrZSAzLjQgc25hcHNob3RzIGZyb20gdGhlIG5ldyAzLjQgcmVsZWFzZSBicmFuY2guCgoyMDA0LTAxLTIwICBLZWxsZXkgQ29vayAgPGtjb29rQGdjYy5nbnUub3JnPgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3NvdXJjZXMpOiBEZWxldGUgY2FsbCB0byBtYWtlIGY3Ny5yZWJ1aWx0LgoKMjAwNC0wMS0xNyAgR2VyYWxkIFBmZWlmZXIgIDxnZXJhbGRAcGZlaWZlci5jb20+CgoJKiBzbmFwc2hvdC1SRUFETUU6IE1lbnRpb24gaG93IHRoZSBzbmFwc2hvdCB3YXMgZ2VuZXJhdGVkLgoJKiBzbmFwc2hvdC1pbmRleC5odG1sOiBEaXR0by4gIEZ1cnRoZXIgc3luYyB3aXRoIHNuYXBzaG90LVJFQURNRS4KCjIwMDQtMDEtMDMgIEpvc2VwaCBTLiBNeWVycyAgPGpzbUBwb2x5b21pbm8ub3JnLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzOiBDcmVhdGUgdGFyYmFsbHMgb2YgZG9jdW1lbnRhdGlvbiBzb3VyY2VzIGFuZAoJSFRNTCBkb2NzLgoKMjAwNC0wMS0wMiAgR2VyYWxkIFBmZWlmZXIgIDxncEBzdXNlLmRlPgoKCSogdXBkYXRlX3ZlcnNpb246IEFkZCBzb21lIGRvY3VtZW50YXRpb24uCgoyMDA0LTAxLTAyICBQb3AgU+liYXN0aWFuICA8cG9wQGdhdXZhaW4udS1zdHJhc2JnLmZyPgoKCSogdXBkYXRlX3ZlcnNpb24gKEFERF9CUkFOQ0hFUyk6IEFkZCBsbm8tYnJhbmNoLgoKMjAwMy0xMS0wMiAgR2VyYWxkIFBmZWlmZXIgIDxnZXJhbGRAcGZlaWZlci5jb20+CgoJKiBtYWludGFpbmVyLWFkZHJlc3NlczogTmV3IHNjcmlwdC4KCjIwMDMtMTAtMjQgIEtlbGxleSBDb29rICA8a2Nvb2tAZ2NjLmdudS5vcmc+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfc291cmNlcyk6IFVzZSAtLWVuYWJsZS1nZW5lcmF0ZWQtZmlsZXMtaW4tc3JjZGlyLgoKMjAwMy0wOS0yMiAgR2VyYWxkIFBmZWlmZXIgIDxnZXJhbGRAcGZlaWZlci5jb20+CgoJKiBnY2NfcmVsZWFzZSAoYW5ub3VuY2Vfc25hcHNob3QpOiBSZXN0cnVjdHVyZSBwcm9jZXNzaW5nCglvZiBzbmFwc2hvdC1SRUFETUUgYW5kIHNuYXBzaG90LWluZGV4Lmh0bWwgYW5kIGFkZCBhIG5ldwoJc3Vic3RpdHV0aW9uIGZvciBARVhQT1JUQC4KCjIwMDMtMDgtMjQgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3NvdXJjZXMpOiBDcmVhdGUvdXBkYXRlIHRoZSBMQVNUX1VQREFURUQgZmlsZQoJaW4gdGhlIHNvdXJjZSBkaXJlY3Rvcnkgd2l0aCBpbmZvcm1hdGlvbiBob3cgc291cmNlcyB3ZXJlIG9idGFpbmVkLgoKMjAwMy0wOC0xNiAgR2VyYWxkIFBmZWlmZXIgIDxnZXJhbGRAcGZlaWZlci5jb20+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfc291cmNlcyk6IFVzZSB0d28gbmV3IHZhcmlhYmxlcyBFWFBPUlRUQUcgYW5kCglFWFBPUlREQVRFIHRvIG1ha2UgdGhlIGV4dHJhY3Rpb24gb2Ygc291cmNlcyBtb3JlIHRyYW5zcGFyZW50IGFuZAoJYWxzbyBhbGxvdyBzbmFwc2hvdHMgKG9mZiBtYWlubGluZSkgd2l0aG91dCBhIHRhZy4KCjIwMDMtMDgtMDggIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfcmVsZWFzZTogQ29ycmVjdCBsb2dpYyBmb3IgdXBkYXRpbmcgdmVyc2lvbi5jLiAgUHV0CglwcmVyZWxlYXNlcyBpbnRvIGEgc3ViZGlyZWN0b3J5LgoKMjAwMy0wNy0yOSAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogY3JvbnRhYjogVXBkYXRlIGludm9jYXRpb24gb2YgZ2NjX3JlbGVhc2UgYWNjb3JkaW5nIHRvIHRoZQoJcHJldmlvdXMgY2hhbmdlcyB0aGVyZS4gIEFkZCBhdXRvbWF0aWMgMy40IHNuYXBzaG90cyBmcm9tIG1haW5saW5lLgoKMjAwMy0wNy0yMyAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3JlbGVhc2UgKHVzYWdlKTogRG9jdW1lbnQgdGhhdCAtcyBub3cgdGFrZXMgc3ltYm9saWMgbmFtZQoJYW5kIGJyYW5jaCBvZiB0aGUgc25hcHNob3QgYXMgcGFyYW1ldGVycy4KCUltcGxlbWVudCB0aGlzIGFzIHBhcnQgb2YgY29tbWFuZC1saW5lIHByb2Nlc3NpbmcuCgkoQlJBTkNIKTogUmVtb3ZlIGRlZmF1bHQgaW5pdGlhbGl6YXRpb24gZm9yIHNuYXBzaG90cy4KCShDVlNCUkFOQ0gpOiBEaXR0by4KCURvIG5vdCBsYXkgZG93biBhIENWUyB0YWcgaWYgZ2VuZXJhdGluZyBhIHNuYXBzaG90IGZyb20gbWFpbmxpbmUuCgoyMDAzLTA3LTE5ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZSAoYW5ub3VuY2Vfc25hcHNob3QpOiBVc2UgJHtSRUxFQVNFfSBpbnN0ZWFkCglvZiAke0JSQU5DSH0tJHtEQVRFfSB0byByZWZlciB0byB0aGUgc25hcHNob3QgZGlyZWN0b3J5LgoJUHV0IFJFQURNRSBmaWxlIGludG8gdGhlIHNuYXBzaG90IGRpcmVjdG9yeS4KCgkoUkVMRUFTRSk6IERlZmluZSBhcyAke0JSQU5DSH0tJHtEQVRFfSBmb3Igc25hcHNob3RzLgoJKEZUUF9QQVRIKTogVXNlICR7UkVMRUFTRX0gaW4gY2FzZSBvZiBzbmFwc2hvdHMuCgkoVEFHKTogRGl0dG8uCgkoT0xEX1RBUlMpOiBBZGp1c3QgdG8gbmV3IGRpcmVjdG9yeSBzY2hlbWUgZm9yIHNuYXBzaG90cy4KCjIwMDMtMDctMTQgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdjY19yZWxlYXNlIChhbm5vdW5jZV9zbmFwc2hvdCk6IEFkZCBzdWJzdGl0dXRpb24gb2YgQFJFTEVBU0VACglmb3IgUkVBRE1FIGFuZCBpbmRleC5odG1sLgoJKiBzbmFwc2hvdC1SRUFETUU6IFVzZSBpdC4KCSogc25hcHNob3QtaW5kZXguaHRtbDogRGl0dG8uCgoyMDAzLTA3LTA5ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZSAoYW5ub3VuY2Vfc25hcHNob3QpOiBBZGQgc3Vic3RpdHV0aW9uIG9mIEBCUkFOQ0hACglmb3IgUkVBRE1FIGFuZCBpbmRleC5odG1sLiAgUmVtb3ZlIHN1YnN0aXR1dGlvbiBvZiBATE9OR19EQVRFQC4KCVB1dCBpbmRleC5odG1sIGludG8gdGhlIHJlc3BlY3RpdmUgc25hcHNob3QgZGlyZWN0b3J5LgoJQWRqdXN0IHN1YmplY3Qgb2YgdGhlIG5vdGlmaWNhdGlvbiBtYWlsIHRvIHRoZSBuZXcgbmFtaW5nIHNjaGVtZQoJZm9yIENWUyB0YWdzLgoJQWRqdXN0IG5hbWUgb2YgdGhlIExBVEVTVC1JUy0uLi4gZmlsZXMgdG8gdGhlIG5ldyBuYW1pbmcgc2NoZW1lCglmb3Igc25hcHNob3QgZGlyZWN0b3JpZXMuCgkoRlRQX1BBVEgpOiBEaXR0by4KCShMQVNUX0RJUik6IERpdHRvLgoJKExBU1RfTE9OR19EQVRFKTogUmVtb3ZlLgoKCSogc25hcHNob3QtUkVBRE1FOiBBZGp1c3QgdG8gdGhlIG5ldyBuYW1pbmcgc2NoZW1lcyBmb3IgZGlyZWN0b3JpZXMKCWFuZCBzbmFwc2hvdHMgcGVyIHNlLgoJRHluYW1pY2FsbHkgZmlsbCBpbiB0aGUgcmVzcGVjdGl2ZSBicmFuY2ggaW5zdGVhZCBvZiBoYXJkY29kaW5nIGl0LgoKCSogc25hcHNob3QtaW5kZXguaHRtbDogUmVwbGFjZSBpbmRpdmlkdWFsIGxpbmtzIHRvIGRpZmZzIHdpdGggYQoJZ2VuZXJhbCBsaW5rIHRvIHRoZSBkaWZmLyBzdWJkaXJlY3RvcnkuCglNZW50aW9uIHRoZSBjb25jcmV0ZSBzbmFwc2hvdCBpbiA8dGl0bGU+IGFuZCA8aDE+LgoJQWRqdXN0IGxpbmtzIHRvIHRoZSBuZXcgbG9jYXRpb24gb2YgaW5kZXguaHRtbC4KCjIwMDMtMDctMDggIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdjY19yZWxlYXNlOiBNb3ZlIGhhbmRsaW5nIG9mIGNvbXBsZXggbW9kZXMgZGlyZWN0bHkgYWZ0ZXIKCXN3aXRjaCBoYW5kbGluZy4KCShUQUcpOiBJbmNsdWRlIHRoZSBicmFuY2ggbmFtZSBhcyBwYXJ0IG9mIHNuYXBzaG90IENWUyB0YWdzLgoKMjAwMy0wNy0wNCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3JlbGVhc2U6IEV4ZWN1dGUgZ2NjLmdudS5vcmctb25seSBvcGVyYXRpb25zIHdoaWNoIGFyZQoJcmVsYXRlZCB0byBkaWZmIGdlbmVyYXRpb24gb25seSBpZiBkaWZmcyBoYXZlIGJlZW4gcmVxdWVzdGVkLgoJKGJ1aWxkX3NvdXJjZXMpOiBJbXByb3ZlIHRyYWNpbmcgYW5kIGFuIGVycm9yIG1lc3NhZ2UgcmVsYXRlZAoJdG8gdGFnZ2luZy4KCjIwMDMtMDctMDEgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdjY19yZWxlYXNlIChCUkFOQ0gpOiBSZW5hbWUgdG8uLi4KCShDVlNCUkFOQ0gpOiAuLi5uZXcgbWFjcm8sIGFuZCB1c2UgQlJBTkNIIGZvciB0aGUgdmFyaWFudCB1c2VycwoJd2lsbCBzZWUuCgkoRlRQX0JSQU5DSCk6IEZvciBzbmFwc2hvdHMsIGluY2x1ZGUgJHtCUkFOQ0h9IGluIHRoZSBsYXN0IHBhcnQKCW9mIHRoZSBkaXJlY3RvcnkgbmFtZS4KCVVzZSAuc25hcHNob3RfZGF0ZS0ke0JSQU5DSH0gaW5zdGVhZCBvZiAuc25hcHNob3RfZGF0ZS4KCjIwMDMtMDYtMjggIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdjY19yZWxlYXNlOiBDb21tYW5kICJhbGwiIG5vdyBjcmVhdGVzIC5neiBmaWxlcyBvbmx5IGZvcgoJcmVsZWFzZXMgYW5kIHByZS1yZWxlYXNlcy4KCjIwMDMtMDYtMjcgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdjY19yZWxlYXNlIChidWlsZF9zb3VyY2VzKTogRG8gbm90IGluY2x1ZGUgZ25hdHMuaHRtbCBhbnkgbG9uZ2VyLgoJTWFrZSBhbiBlcnJvciBtZXNzYWdlIG1vcmUgZGVzY3JpcHRpdmUuCgoyMDAzLTA2LTI1ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZTogRmFjdG9yIHRoZSB1cGRhdGluZyBvZiBsaW5rcyBhbmQgUkVBRE1FcyBvbiB0aGUKCUZUUCBzZXJ2ZXIgYW5kIHNlbmRpbmcgbWFpbCBmb3Igc25hcHNob3RzIGludG8gYS4uLgoJKGFubm91bmNlX3NuYXBzaG90KTogLi4ubmV3IGZ1bmN0aW9uLgoJQWRkIGluZm9ybWF0aXZlIG91dHB1dCBmb3IgYm90aC4KCjIwMDMtMDYtMTggIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdjY19yZWxlYXNlOiBEbyBub3QgdXBkYXRlIGdjY19sYXRlc3Rfc25hcHNob3QgdGFnIGFueSBsb25nZXIuCgoyMDAzLTA2LTE4ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBzbmFwc2hvdC1pbmRleC5odG1sOiBVc2UgRjc3IGluc3RlYWQgb2YgRzc3IGZyb250IGVuZC4KCVJlbW92ZSBsaW5rIHRvIENvZGVTb3VyY2VyeSBzbmFwc2hvdHMgd2hpY2ggd2FzIG5vdCB1cC10by1kYXRlLgoJRG8gbm90IHJlZmVyIHRvIGdjYy1idWdzQGdjYy5nbnUub3JnIGFueSBsb25nZXIuCgoJKiBzbmFwc2hvdC1SRUFETUU6IFVzZSBGNzcgZnJvbnQgZW5kIGluc3RlYWQgb2YgRzc3IGxhbmd1YWdlLgoKMjAwMy0wNi0xNyAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3RhcmZpbGUpOiBCdWlsZCAuYnoyIGZpbGVzIGluc3RlYWQgb2YgLmd6IGZpbGVzLgoJKGJ1aWxkX2J6Mik6IFJlbmFtZSB0byBidWlsZF9nemlwIGFuZCBjcmVhdGUgLmd6IGZpbGVzIGZyb20gLmJ6MgoJZmlsZXMgaW5zdGVhZCBvZiB0aGUgb3RoZXIgd2F5IGFyb3VuZC4KCShidWlsZF9nemlwKTogTmV3IGZ1bmN0aW9uLgoJKGJ1aWxkX2RpZmZzKTogQnVpbGQgLmJ6MiBmaWxlcyBpbnN0ZWFkIG9mIC5neiBmaWxlcy4KCShidWlsZF9kaWZmKTogVXNlIC5iejIgZmlsZXMgaW5zdGVhZCBvZiAuZ3ogZmlsZXMuCglNYWtlIGFuIGVycm9yIG1lc3NhZ2UgaW5kZXBlbmRlbnQgb2YgdGhlIGNvbXByZXNzaW9uIGZvcm1hdC4KCShNT0RFX0JaSVAyKTogUmVuYW1lIHRvIE1PREVfR1pJUC4gIFJlbGF0ZWQgY2hhbmdlcyB0byB0aGUKCWludm9jYXRpb24gb2YgdGhpcyBzY3JpcHQuCgkoTU9ERV9HWklQKTogTmV3IHZhcmlhYmxlLgoJKE9MRF9UQVJTKTogVXNlIC5iejIgYXJjaGl2ZSBvZiB0aGUgcHJldmlvdXMgc25hcHNob3QuCgoyMDAzLTA2LTE0ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBzbmFwc2hvdC1SRUFETUU6IFVzZSBHQ0MgaW5zdGVhZCBvZiBnY2MsIEMrKyBmcm9udCBlbmQgaW5zdGVhZCBvZgoJZysrIGxhbmd1YWdlLCBhbmQgbm90ZSB0aGF0IEphdmEgaW5jbHVkZXMgYSBydW4gdGltZS4KCSogc25hcHNob3QuaW5kZXguaHRtbDogRGl0dG8uCgoyMDAzLTA2LTEwICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfZGlmZik6IFByb3Blcmx5IHVzZSAke1RBUn0gaW5zdGVhZCBvZgoJaGFyZC1jb2RlZCB0YXIuCgoyMDAzLTA1LTI4ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBzbmFwc2hvdC1pbmRleC5odG1sOiBSZWZlciB0byAuYnoyIGZpbGVzIGluc3RlYWQgb2YgLmd6IGZpbGVzLgoJU2ltcGxpZnkgdGhlIG5vdGUgb24gbm90IHVzaW5nIHVuYW5ub3VuY2VkIHNuYXBzaG90cy4KCjIwMDMtMDUtMjggIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIHNuYXBzaG90LVJFQURNRTogUmVmZXIgdG8gLmJ6MiBmaWxlcyBpbnN0ZWFkIG9mIC5neiBmaWxlcy4KCUFkZCBhIG5vdGUgb24gd2hlcmUgdG8gZmluZCB0aGUgZGlmZiBmaWxlcy4KCVNpbXBsaWZ5IHRoZSBub3RlIG9uIG5vdCB1c2luZyB1bmFubm91bmNlZCBzbmFwc2hvdHMuCglSZW1vdmUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgZ2NjX2xhdGVzdF9zbmFwc2hvdCB0YWcuCgoyMDAzLTA1LTI3ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfZGlmZnMpOiBBZGQgZGlhZ25vc3RpY3MgaW4gY2FzZSB3ZSBjYW5ub3QKCWdlbmVyYXRlIGEgc3BlY2lmaWMgZGlmZiBmaWxlLgoKMjAwMy0wNS0yNCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3NvdXJjZXMpOiBPbmx5IHVwZGF0ZSBDaGFuZ2VMb2cgZmlsZXMgd2hpY2gKCWRvIG5vdCB5ZXQgY29udGFpbiB0aGUgZW50cnkgd2UgYXJlIGdvaW5nIHRvIGFkZC4KCUZpeCB0eXBvIGluIGFkZGVkIENoYW5nZUxvZyBlbnRyaWVzLgoKMjAwMy0wNS0yMCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3JlbGVhc2UgKHVwbG9hZF9maWxlcyk6IFB1dCBkaWZmIGZpbGVzIGludG8gYSAiZGlmZnMiCglzdWJkaXJlY3RvcnkKCjIwMDMtMDUtMTggIE5hdGhhbmFlbCBOZXJvZGUgIDxuZXJvZGVuQGdjYy5nbnUub3JnPgoKCSogZ2NjX3JlbGVhc2U6IEdOVSBDQyAtPiBHQ0MuCgoyMDAzLTA1LTEyICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZSAodXNhZ2UpOiBQcmludCBtb3JlIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIGFsbAoJY29tbWFuZC1saW5lIG9wdGlvbnMuCgoyMDAzLTA1LTA5ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiB1cGRhdGVfdmVyc2lvbiAoQUREX0JSQU5DSEVTKTogQWRkLCBzZXQgdG8gTUFJTiBhbmQKCXRyZWUtc3NhLTIwMDIwNjE5LWJyYW5jaC4KCShCUkFOQ0hFUyk6IEFsd2F5cyBjb25zaWRlciBicmFuY2hlcyBnaXZlbiBieSAkQUREX0JSQU5DSEVTLgoKMjAwMy0wNS0wNCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogdXBkYXRlX3ZlcnNpb24gKHRleHRzdHJpbmdfRklMRVMpOiBPbmx5IHZlcnNpb24uYyBuZWVkcyB0byBiZQoJdXBkYXRlZCwgbm93IHRoYXQgd2UgZG8gbm90IGNvbnNpZGVyIG9sZGVyIGJyYW5jaGVzIGFueSBtb3JlLgoKMjAwMy0wNS0wMiAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogdXBkYXRlX3ZlcnNpb24gKElHTk9SRV9CUkFOQ0hFUyk6IEFkZC4KCShCUkFOQ0hFUyk6IERvIG5vdCBjb25zaWRlciBicmFuY2hlcyBtYXRjaGluZyAkSUdOT1JFX0JSQU5DSEVTLgoKMjAwMy0wNS0wMiAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogdXBkYXRlX3ZlcnNpb246IEFkZCBhIHRyYWNlIG9mIHdoaWNoIGJyYW5jaCB3ZSBhcmUgY3VycmVudGx5Cgl3b3JraW5nIG9uLgoKMjAwMi0xMi0xNiAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY19yZWxlYXNlOiBNYWtlIHNuYXBzaG90cyBmcm9tIHRoZSBHQ0MgMy4zIGJyYW5jaC4KCSogc25hcHNob3QtUkVBRE1FOiBVcGRhdGUuCgoyMDAyLTA5LTIzICBaYWNrIFdlaW5iZXJnICA8emFja0Bjb2Rlc291cmNlcnkuY29tPgoKCSogdXBkYXRlX3ZlcnNpb246IERvIG5vdCBjaGVjayBpbiBmaWxlcyB3aGljaCBhcmUgdW5jaGFuZ2VkLgoJKiBnY2NfcmVsZWFzZTogT25seSB1cGRhdGUgdGhlIHZlcnNpb24gaW4gZ2NjL3ZlcnNpb24uYy4KCjIwMDItMDktMTcgIEpvc2VwaCBTLiBNeWVycyAgPGpzbUBwb2x5b21pbm8ub3JnLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzIChNQU5VQUxTKTogQWRkIGZhc3RqYXIuCgoyMDAyLTA5LTA4ICBKb3NlcGggUy4gTXllcnMgIDxqc21AcG9seW9taW5vLm9yZy51az4KCgkqIGdjY19yZWxlYXNlOiBNYWtlIHNuYXBzaG90cyBjb21lIGZyb20gdGhlIG1haW5saW5lLgoJKiBzbmFwc2hvdC1SRUFETUU6IFVwZGF0ZS4KCjIwMDItMDgtMjggIEpvc2VwaCBTLiBNeWVycyAgPGpzbUBwb2x5b21pbm8ub3JnLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzOiBSZW1vdmUgc3VwcG9ydCBmb3IgZ2VuZXJhdGluZyBnNzdfbmV3cy5odG1sIGFuZAoJZzc3X2J1Z3MuaHRtbC4KCSogdXBkYXRlX3dlYl9kb2NzX29sZDogTGlrZXdpc2UuICBSZW1vdmUgc3VwcG9ydCBmb3IgZ2VuZXJhdGluZwoJdGhhbmtzLmh0bWwuCgoyMDAyLTA3LTI4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBnY2NfcmVsZWFzZTogVXBkYXRlIGNvbW1lbnQuCgoJKiBzbmFwc2hvdC1SRUFETUU6IFNuYXBzaG90cyBhcmUgdGFrZW4gZnJvbSBHQ0MgMy4yIGJyYW5jaC4KCjIwMDItMDctMjggIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfcmVsZWFzZTogVXNlIHRoZSAzLjIgYnJhbmNoIGZvciBzbmFwc2hvdHMuCgoyMDAyLTA1LTMxICBGbG9yaWFuIFdlaW1lciAgPGZ3QGRlbmViLmVueW8uZGU+CgoJKiB1cGRhdGVfd2ViX2RvY3MgKE1BTlVBTFMpOiBJbmNsdWRlIHZhcmlvdXMgZmxhdm91cnMgb2YgdGhlIEdOQVQKCVVzZXIgR3VpZGUuCgoyMDAyLTA1LTI3ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiB1cGRhdGVfdmVyc2lvbiAodGV4dHN0cmluZ19GSUxFUyk6IENoYW5nZSBnY2MvYWRhL2duYXR2c24uYWRzIHRvCglnY2MvZ2NjL2FkYS9nbmF0dnNuLmFkcy4KCjIwMDItMDUtMjYgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIGdjY19yZWxlYXNlOiBBZGQgZ2NjL2FkYS9nbmF0dnNuLmFkcyB0byBsaXN0IG9mIGZpbGVzIGluIHdoaWNoCglyZWxlYXNlIHN0YXR1cyBpcyB1cGRhdGVkLgoJKiB1cGRhdGVfdmVyc2lvbiAodGV4dHN0cmluZ19GSUxFUyk6IEFkZCBnY2MvYWRhL2duYXR2c24uYWRzLgoKMjAwMi0wNS0yMSAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogZ2NjX3JlbGVhc2U6IERvIHVwbG9hZCBmaWxlcyB3aGVuIGxvY2FsLgoKCSogc25hcHNob3QtUkVBRE1FLCBzbmFwc2hvdC1pbmRleC5odG1sOiBSZW1vdmUgY2hpbGwuCgoyMDAyLTA1LTA4ICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX3JlbGVhc2U6IENvcnJlY3QgdXBsb2FkIGhhbmRsaW5nLgoKMjAwMi0wNC0yMiAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY19yZWxlYXNlIChidWlsZF9kaWZmcyk6IFJlbW92ZSByZWZlcmVuY2UgdG8gQ2hpbGwuCgoyMDAyLTA0LTIxICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiB1cGRhdGVfd2ViX2RvY3MgKE1BTlVBTFMpOiBSZW1vdmUgY2hpbGwuICBBZGQgZ25hdF9ybS4KCjIwMDItMDQtMTkgIEtlbGxleSBSLiBDb29rIChrZWxseS5yLmNvb2tAZ20uY29tKQoKCSogZ2NjX3JlbGVhc2U6IFNldCBUWiB0byBVVEMwLgoKMjAwMi0wNC0xNSAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY19yZWxlYXNlIChidWlsZF90YXJmaWxlcyk6IERvIG5vdCBidWlsZCBDaGlsbCB0YXJmaWxlcy4KCShDSElMTF9ESVJTKTogUmVtb3ZlLgoKMjAwMi0wMy0xMCAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogZ2NjX3JlbGVhc2U6IEJ1aWxkIGRpZmZzIGZvciBhZGEgYW5kIGNoaWxsLiAgTWFrZSAiYnppcDIiIGEgbmV3CgltYWpvciBtb2RlLgoKMjAwMi0wMy0wNiAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogdXBkYXRlX3ZlcnNpb246ICBEb24ndCBpbmRlbnQgdGhlIHZlcnNpb24gc3RyaW5nLgoKMjAwMi0wMy0wNSAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogc25hcHNob3QtUkVBRE1FOiBOb3RlIHRoYXQgc25hcHNob3RzIGNvbWUgZnJvbSB0aGUgMy4xIGJyYW5jaC4KCVVwZGF0ZSBsaXN0IG9mIGZpbGVzLgoKMjAwMi0wMy0wMyAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogZ2NjX3JlbGVhc2U6IE1ha2Ugc25hcHNob3RzIGNvbWUgZnJvbSB0aGUgMy4xIGJyYW5jaC4KCjIwMDItMDItMjUgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiB1cGRhdGVfdmVyc2lvbjogQXV0b21hdGljYWxseSB1cGRhdGUgdmVyc2lvbiBmaWxlcyBvbiBhbGwKCWJyYW5jaGVzLgoJKiBjcm9udGFiOiBPbmx5IGludm9rZSB1cGRhdGVfdmVyc2lvbiBvbmNlLgoKMjAwMi0wMi0yMyAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogZ2NjX3JlbGVhc2U6IFJldmVydCBjaGFuZ2UgdG8gLXAgaW50ZXJmYWNlLiAgQWxsb3cgZm9yIGxvY2FsIGFuZAoJcmVtb3RlIGNhc2VzIGluIGNyZWF0aW5nIGRpcmVjdG9yaWVzLiAgR2l2ZSBhbiBlcnJvciBpZiAtcAoJYXJndW1lbnQgbmFtZXMgYSBkaXJlY3RvcnkuCgoyMDAyLTAyLTIxICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX3JlbGVhc2U6IENvcnJlY3QgaGFuZGxpbmcgb2YgZGlmZi1nZW5lcmF0aW9uLiAgQWRkCgkiZGlmZnMiIG1ham9yIG1vZGUuCgoyMDAyLTAyLTA4ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBnY2NfcmVsZWFzZTogU3Vic3RpdHV0ZSBkYXRlcyBpbiBzbmFwc2hvdC1SRUFETUUgYW5kCglzbmFwc2hvdC1pbmRleC5odG1sIGZpbGVzIHJhdGhlciB0aGFuIGRpcmVjdGx5IHVzaW5nIHRoZSBvbGQgZmlsZXMKCW9uIHRoZSBGVFAgc2l0ZS4gIFNldCBRTUFJTEhPU1QuCgoyMDAyLTAyLTA4ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBzbmFwc2hvdC1pbmRleC5odG1sOiBJbXByb3ZlIG1hcmt1cC4KCjIwMDItMDEtMjkgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHNuYXBzaG90LVJFQURNRSwgc25hcHNob3QtaW5kZXguaHRtbDogVXNlIGV4cHJlc3Npb25zIHN1Y2ggYXMKCUBEQVRFQCByYXRoZXIgdGhhbiBoYXJkY29kZWQgZGF0ZXMuCgoJKiBzbmFwc2hvdC1SRUFETUUsIHNuYXBzaG90LWluZGV4Lmh0bWw6IE5ldyBmaWxlcy4KCjIwMDItMDEtMDYgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIHVwZGF0ZV93ZWJfZG9jcyAoY29udHJpYl9maWxlKTogUmVtb3ZlLgoJQWxzbyByZW1vdmluZyBzcGVjaWFsIGhhbmRsaW5nIG9mIHRoYW5rcy5odG1sLgoKMjAwMS0xMi0xNyAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzOiBVc2UgbWFrZWluZm8gLS1odG1sIGluc3RlYWQgb2YgdGV4aTJodG1sLgoJUmVtb3ZlIHN1cHBvcnQgZm9yIHByZS0zLjEgR0NDIHZlcnNpb25zLiAgQnVpbGQgb25saW5lIGRvY3MgZm9yCglnY2NpbnQgbWFudWFsLgoKMjAwMS0xMi0xNyAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzX29sZDogQ29weSBmcm9tIHVwZGF0ZV93ZWJfZG9jcy4gIEFkZCBjb21tZW50Cgl0aGF0IHRoaXMgaXMgZm9yIEdDQyAzLjAueCBhbmQgZWFybGllciB2ZXJzaW9ucy4KCjIwMDEtMTEtMTkgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIGdjY19yZWxlYXNlOiBBZGQgL3Vzci9sb2NhbC9iaW4gdG8gcGF0aCB3aGVuIGxvY2FsLgoKMjAwMS0xMS0wNiAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzOiBTZXQgU09VUkNFRElSIHNvIHRoYXQgaW5zdGFsbCBtYW51YWwgY2FuIGJlCglmb3VuZCB3aGVuIHJ1bm5pbmcgaW5zdGFsbC50ZXhpMmh0bWwuCgoJKiBnY2NfcmVsZWFzZTogRG9uJ3QgcmVxdWlyZSBhIHVzZXJuYW1lIGlmIHJ1bm5pbmcgbG9jYWxseS4KCjIwMDEtMTEtMDUgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHVwZGF0ZV93ZWJfZG9jczogRWxpbWluYXRlIHdhcm5pbmdzIGFib3V0IGtlZXBpbmcgZmlsZXMgZnJvbSB3ZWIKCXBhZ2UgcHJlcHJvY2Vzc2luZy4KCgkqIHVwZGF0ZV93ZWJfZG9jczogQWxsb3cgZm9yIHRoZSBzYW1lIGZpbGUgbmFtZSBpbiBkaWZmZXJlbnQKCWRpcmVjdG9yaWVzLgoKMjAwMS0xMC0yOSAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzOiBHZW5lcmF0ZSBsaWJpYmVydHkgYW5kIGduYXQtc3R5bGUgbWFudWFscy4KCjIwMDEtMTAtMjQgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIGdjY19yZWxlYXNlOiBCdWlsZCBzbmFwc2hvdHMgZnJvbSBtYWlubGluZS4gIEdlbmVyYXRlIEFkYSBhbmQKCUNoaWxsIHRhcmJhbGxzLiAgQ29ycmVjdCBlcnJvciBjaGVjayB3aGVuIGJ1aWxkaW5nIGRpZmZzLiAgQ2hlY2sKCWZvciBlcnJvcnMgd2hlbiBidWlsZGluZyBiemlwMiBmaWxlcy4KCSogY3JvbnRhYjogVXNlIC9zb3VyY2V3YXJlL3NuYXBzaG90LXRtcCBmb3IgYnVpbGRpbmcgc25hcHNob3RzLgoKMjAwMS0xMC0wOCAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogY3JvbnRhYjogQnVpbGQgd2Vla2x5IHNuYXBzaG90cy4KCgkqIGdjY19yZWxlYXNlOiBDb3B5IGZyb20gMy4wIGJyYW5jaC4gIEFkZCBzdXBwb3J0IGZvciBidWlsZGluZyB0aGUKCXdlZWtseSBzbmFwc2hvdHMgb24gZ2NjLmdudS5vcmcuCgoyMDAxLTA4LTI4ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiB1cGRhdGVfd2ViX2RvY3M6IEFsc28gY2hlY2sgb3V0IHRleGluZm8udGV4IGZyb20KCWdjYy9kb2MvaW5jbHVkZS4KCjIwMDEtMDgtMDYgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIHVwZGF0ZV93ZWJfZG9jcyAoUFJFUFJPQ0VTUyk6IFJlbmFtZSB0byBXV1dQUkVQUk9DRVNTLgoJUHJlcHJvY2VzcyB0aGUgZW50aXJlIHdlYiBzaXRlLCBub3QganVzdCB0aGUgaW5zdGFsbCBkb2NzLgoKMjAwMS0wNi0yNSAgUGhpbCBFZHdhcmRzICA8cG1lQHNvdXJjZXMucmVkaGF0LmNvbT4KCgkqIHVwZGF0ZV92ZXJzaW9uOiAgQWRkIGNvbW1hbmQtbGluZSBhcmd1bWVudCBjYXBhYmlsaXR5LCBhbHNvCglidW1wIHZlcnNpb24gZm9yIGxpYnN0ZGMrKy12MywgYW5kIGV4aXQgd2l0aCB0aGUgcmV0dXJuIGNvZGUgZnJvbQoJdGhlIGN2cyBjb21taXQuCgkqIGNyb250YWI6ICBDYWxsIHVwZGF0ZV92ZXJzaW9uIHdpdGggYXJndW1lbnRzIGluc3RlYWQgb2YKCWNhbGxpbmcgdXBkYXRlX2JyYW5jaF92ZXJzaW9uLgoJKiB1cGRhdGVfYnJhbmNoX3ZlcnNpb246ICBSZW1vdmUuCgoyMDAxLTA2LTA4ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiB1cGRhdGVfd2ViX2RvY3M6IE9ubHkgdXBkYXRlIHRoZSBpbnN0YWxsIGRvY3VtZW50YXRpb24gZm9yIHRoZQoJQ1ZTIEhFQUQuCgoyMDAxLTA2LTA3ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiB1cGRhdGVfd2ViX2RvY3MsIGRvY19leGNsdWRlOiBDaGVjayBvdXQgZmlsZXMgdGhhdCBtYXkgYmUgaW4gdGhlCglBdHRpYy4gIENoZWNrIG91dCB0ZXhpbmZvLnRleC4gIERvbid0IGdlbmVyYXRlIGFueXRoaW5nIGZyb20KCWMtdHJlZS50ZXhpLiAgR2VuZXJhdGUgUG9zdFNjcmlwdCBvdXRwdXQgZnJvbSBtYW51YWxzLgoKMjAwMS0wNi0wNCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogdXBkYXRlX3dlYl9kb2NzIChXV1dCQVNFX1BSRUZPUk1BVFRFRCwgUFJFUFJPQ0VTUyk6IE5ldwoJdmFyaWFibGVzLgoJRml4IGEgY29tbWVudCBhbmQgYWRkIGFub3RoZXIgb25lLgoJR2VuZXJhdGUgdGhlIGluc3RhbGxhdGlvbiBkb2N1bWVudGF0aW9uIGluIEhUTUwgZm9ybWF0IGZyb20KCWdjYy9kb2MvaW5zdGFsbC50ZXhpLgoKMjAwMS0wNS0wMyAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzOiBEb24ndCBnZW5lcmF0ZSBIVE1MIGZyb20gZ3h4aW50LnRleGkuICBEb24ndAoJcnVuIHRleGkyaHRtbCBvbiBtYW51YWxzIHRoYXQgYXJlbid0IHByZXNlbnQuCgoyMDAxLTAzLTE4ICBQaGlsIEVkd2FyZHMgIDxwbWVAc291cmNlcy5yZWRoYXQuY29tPgoKCSogdXBkYXRlX3dlYl9kb2NzX2xpYnN0ZGN4eDogIE5ldyBzY3JpcHQuCgkqIGNyb250YWI6ICBDYWxsIHNhaWQgc2NyaXB0LgoKMjAwMS0wMy0xOCAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3ZlcnNpb24sIHVwZGF0ZV9icmFuY2hfdmVyc2lvbjogQ2hlY2sgb3V0IHdpdGggZ2NjCglkaXJlY3RvcnkgaW5zdGVhZCBvZiB1c2luZyBlZ2NzIGxpbmsuCgoyMDAxLTAzLTE3ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiB1cGRhdGVfd2ViX2RvY3M6IERvbid0IHN0cmlwIGxlYWRpbmcgLXIgZnJvbSBhcmd1bWVudCBmb2xsb3dpbmcKCS1yLCBvciBsZWFkaW5nIC1kIGZyb20gYXJndW1lbnQgZm9sbG93aW5nIC1kLiAgQnVnIHBvaW50ZWQgb3V0IGJ5CglNYXR0IEtyYWFpLgoKCSogdXBkYXRlX3dlYl9kb2NzOiBIYW5kbGUgLXIgYW5kIC1kIG9wdGlvbnMgdG8gZ2VuZXJhdGUgZG9jcyBmb3IgYQoJcmVsZWFzZSBvciBicmFuY2ggaW4gYSBzdWJkaXJlY3RvcnkuICBEZXRlcm1pbmUgbmFtZXMgb2YgRzc3IG5ld3MKCWFuZCBidWdzIGZpbGVzIGFuZCBjb250cmlidXRvcnMgZmlsZSBhZnRlciB1cGRhdGVkIGRvY3MgaGF2ZSBiZWVuCglpbnN0YWxsZWQsIG5vdCBiZWZvcmUuICBEb24ndCByZW1vdmUgZmlsZXMgZnJvbSBhIHN1YmRpcmVjdG9yeS4KCURvbid0IGdlbmVyYXRlIG1hbnVhbHMgZm9yIGdjb3YgKGluY2x1ZGVkIGluIHRoZSBHQ0MgbWFudWFsKSBvcgoJaW9zdHJlYW0gKG9ic29sZXRlKS4gIERvIGdlbmVyYXRlIG1hbnVhbHMgZm9yIGNwcGludGVybmFscywgZ2NqCglhbmQgcG9ydGluZy4gIFVwZGF0ZSByZWd1bGFyIGV4cHJlc3Npb25zIGZvciBkZXRlY3Rpbmcgd2hldGhlcgoJZmlsZXMgaGF2ZSByZWFsbHkgY2hhbmdlZCB3aGVuIHJlZ2VuZXJhdGVkLgoKMjAwMS0wMy0xNSAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzOiBVc2UgL3Vzci9sb2NhbC9iaW4vdGV4aTJodG1sIHJhdGhlciB0aGFuCglnY2NhZG1pbidzIGxvY2FsIGNvcHkuCgoyMDAxLTAzLTEwICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBjcm9udGFiLCBkb2NfZXhjbHVkZSwgdXBkYXRlX2JyYW5jaF92ZXJzaW9uLCB1cGRhdGVfdmVyc2lvbiwKCXVwZGF0ZV93ZWJfZG9jczogTmV3IGZpbGVzIChhcyBjdXJyZW50bHkgdXNlZCBieSBnY2NhZG1pbikuCgkqIFJFQURNRTogTmV3IGZpbGUuCg==