MjAwNS0wNy0wNyAgUmVsZWFzZSBNYW5hZ2VyCgoJKiBHQ0MgNC4wLjEgcmVsZWFzZWQuCgoyMDA1LTA0LTIwICBSZWxlYXNlIE1hbmFnZXIKCgkqIEdDQyA0LjAuMCByZWxlYXNlZC4KCjIwMDQtMTItMzAgIFNlYmFzdGlhbiBQb3AgIDxwb3BAY3JpLmVuc21wLmZyPgoKCSogdXBkYXRlX3ZlcnNpb24gKEFERF9CUkFOQ0hFUyk6IFJlcGxhY2UgbG5vLWJyYW5jaCB3aXRoIAoJYXV0b3ZlY3QtYnJhbmNoLgoKMjAwNC0wOS0xMSAgR2VyYWxkIFBmZWlmZXIgIDxnZXJhbGRAcGZlaWZlci5jb20+CgoJKiBjcm9udGFiOiBSZW5hbWUgR0NDIDMuNSBzbmFwc2hvdHMgdG8gR0NDIDQuMCBzbmFwc2hvdHMuCgoyMDA0LTA4LTE0ICBLZWxsZXkgQ29vayAgPGtjb29rQGdjYy5nbnUub3JnPgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3NvdXJjZXMpOiBBZGQgY29tbWVudCBoZWFkZXIgdG8gZ2VuZXJhdGVkCglNRDVTVU1TLgoKMjAwNC0wOC0wNiAgS2VsbGV5IENvb2sgIDxrY29va0BnY2MuZ251Lm9yZz4KCgkqIGdjY19yZWxlYXNlIChzbmFwc2hvdF9wcmludCk6IEFjY2VwdCBhcmd1bWVudHMuICBEb24ndCB1c2UgZWNobyAtZS4KCShhbm5vdW5jZV9zbmFwc2hvdCk6ICBVcGRhdGUgZm9yIGFib3ZlLiAgRG9uJ3QgdXNlIGVjaG8gLWUuCgkKMjAwNC0wOC0wMyBLZWxsZXkgQ29vayAgPGtjb29rQGdjYy5nbnUub3JnPgoKCSogbWFpbnRhaW5lci1zY3JpcHRzIChzbmFwc2hvdF9wcmludCk6IE5ldyBmdW5jdGlvbi4KCShhbm5vdW5jZV9zbmFwc2hvdCk6IEdlbmVyYXRlIGFubm91bmNtZW50IG9uIHRoZSBmbHkuCglVc2UgYSBkaXJlY3RvcnkgbGluayBmb3IgTEFURVNULgoJKiBzbmFwc2hvdC1SRUFETUU6IERlbGV0ZS4KCSogc25hcHNob3QtaW5kZXguaHRtbDogRGVsZXRlLgoKMjAwNC0wNi0wOSAgUGFvbG8gQm9uemluaSAgPGJvbnppbmlAZ251Lm9yZz4KCgkqIGdjY19yZWxlYXNlIChidWlsZF9zb3VyY2VzKTogTW92ZSB0aGUgbGliY3BwIGdtbyBmaWxlcwoJdG8gdGhlIHNvdXJjZSBkaXJlY3RvcnkuCgoyMDA0LTA2LTAzICBKb3NlcGggUy4gTXllcnMgIDxqc21AcG9seW9taW5vLm9yZy51az4KCgkqIGdjY19yZWxlYXNlIChtYXliZV9idWlsZF90YXJmaWxlKTogTmV3IGZ1bmN0aW9uLgoJKGJ1aWxkX3RhcmZpbGVzKTogVXNlIG1heWJlX2J1aWxkX3RhcmZpbGUuCgoyMDA0LTA1LTIxICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIGdjY19yZWxlYXNlIChidWlsZF9zb3VyY2VzKTogR2VuZXJhdGUgdGhlIE5FV1MgZmlsZSBpbiB0b3BsZXZlbC4KCjIwMDQtMDUtMTcgIEtlbGxleSBDb29rICA8a2Nvb2tAZ2NjLmdudS5vcmc+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfc291cmNlcyk6IENoYW5nZSBDUkNzIGZyb20gYnJpayB0byBtZDVzdW0uCgoyMDA0LTA1LTE2ICBHZXJhbGQgUGZlaWZlciAgPGdlcmFsZEBwZmVpZmVyLmNvbT4KCgkqIGNyb250YWI6IEFkZCBHQ0MgMy41IHNuYXBzaG90cywgY3VycmVudHkgcnVuIG9uIFN1bmRheXMuCgoyMDA0LTA1LTEzICBKb3NlcGggUy4gTXllcnMgIDxqc21AcG9seW9taW5vLm9yZy51az4KCgkqIHVwZGF0ZV93ZWJfZG9jczogQWxzbyByZW1vdmUgb2xkIC5neiBmaWxlcyBmcm9tIHN1YmRpcmVjdG9yaWVzCglvbiB0aGUgMTV0aCBvZiB0aGUgbW9udGguCgoyMDA0LTA1LTEzICBKb3NlcGggUy4gTXllcnMgIDxqc21AcG9seW9taW5vLm9yZy51az4KCgkqIHVwZGF0ZV93ZWJfZG9jcyAoTUFOVUFMUyk6IEFkZCBnZm9ydHJhbi4KCjIwMDQtMDUtMTMgIEFybmF1ZCBDaGFybGV0ICA8Y2hhcmxldEBhY3QtZXVyb3BlLmZyPgoKCSogdXBkYXRlX3dlYl9kb2NzOiBGaXggZ2VuZXJhdGlvbiBvZiBBZGEgZG9jcy4KCjIwMDQtMDUtMTMgIEpvc2VwaCBTLiBNeWVycyAgPGpzbUBwb2x5b21pbm8ub3JnLnVrPgoKCSogdXBkYXRlX3ZlcnNpb24gKEFERF9CUkFOQ0hFUyk6IFJlbW92ZSB0cmVlLXNzYS0yMDAyMDYxOS1icmFuY2guCgoJKiBnY2NfcmVsZWFzZSAoRElGRik6IFJlbW92ZSAtMyBvcHRpb24uCgoyMDAzLTA3LTI2ICBQYXVsIEJyb29rICA8cGF1bEBub3d0Lm9yZz4KCgkqIGdjY19yZWxlYXNlOiBBZGQgZ2NjLWZvcnRyYW4uCgkqIHNuYXBzaG90LVJFQURNRTogRGl0dG8uCgkqIHNuYXBzaG90LWluZGV4Lmh0bWw6IERpdHRvLgoKMjAwNC0wNS0wMiAgR2VyYWxkIFBmZWlmZXIgIDxnZXJhbGRAcGZlaWZlci5jb20+CgoJKiBjcm9udGFiOiBNb3ZlIEdDQyAzLjQgc25hcHNob3RzIGZyb20gV2VkbmVzZGF5IGFmdGVybm9vbiB0bwoJRnJpZGF5IG5pZ2h0LCB3aGVyZSBnY2MuZ251Lm9yZyBoYXMgbGVzcyBsb2FkLgoJCjIwMDQtMDUtMDIgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogY3JvbnRhYjogQWRqdXN0IHRlbXBvcmFyeSBkaXJlY3RvcnkgdXNlZCBmb3Igc25hcHNob3QgZ2VuZXJhdGlvbi4KCU1vdmUgR0NDIDMuMyBzbmFwc2hvdHMgdG8gV2VkbmVzZGF5IDIyOjMyLCB3aGVyZSBnY2MuZ251Lm9yZyBoYXMgCglsZXNzIGxvYWQuCgoyMDA0LTA0LTE5ICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3NvdXJjZXMpOiBEbyBub3QgdXNlICItRiIgdG8gdGFnIHNvdXJjZXMuCgoyMDA0LTA0LTA3ICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3NvdXJjZXMpOiBEbyBub3QgdXNlICItciIgYW5kICItRCIgYXQgdGhlCglzYW1lIHRpbWUgd2l0aCAiY3ZzIGV4cG9ydCIuCgoyMDA0LTAzLTI3ICBHZXJhbGQgUGZlaWZlciAgPGdlcmFsZEBwZmVpZmVyLmNvbT4KCgkqIGdjY19yZWxlYXNlOiBGaXggc2FuaXR5IGNoZWNrIGZvciBhcmd1bWVudCBvZiAtcCBjb21tYW5kLWxpbmUKCW9wdGlvbnMuICBJbiBzbmFwc2hvdCBtb2RlLCBvbmx5IGdlbmVyYXRlIGRpZmZzIGFnYWluc3QgdGhlIHByZXZpb3VzCglzbmFwc2hvdCBpZiB0aGUgdXNlciBkaWQgbm90IHNwZWNpZnkgYW55IG9sZCB0YXJiYWxsIGV4cGxpY3RseS4KCjIwMDQtMDMtMjUgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogZ2NjX3JlbGVhc2UgKEZUUF9QQVRIKTogVXNlIC92YXIvZnRwIGluc3RlYWQgb2YgfmZ0cCwgYW5kCglvbmx5IHNldCBhdCBhIHNpbmdsZSBwbGFjZS4KCjIwMDQtMDMtMTQgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogZ2NjX3JlbGVhc2UgKFNOQVBTSE9UU19ESVIpOiBOZXcgdmFyaWFibGUuICBVc2UgaXQuCgkoYW5ub3VuY2Vfc25hcHNob3QpOiBVc2UgaXQuCgoyMDA0LTAzLTE0ICBHZXJhbGQgUGZlaWZlciAgPGdlcmFsZEBwZmVpZmVyLmNvbT4KCgkqIGdjY19yZWxlYXNlIChhbm5vdW5jZV9zbmFwc2hvdCk6IFVzZSBjaGFuZ2VkaXIgaW5zdGVhZCBvZgoJcGxhaW4gY2QuCgkKMjAwNC0wMi0xMCAgQXJuYXVkIENoYXJsZXQgIDxjaGFybGV0QGFjdC1ldXJvcGUuZnI+CgoJKiBnY2NfcmVsZWFzZTogQWRkIGxpYmFkYSBhcyBwYXJ0IG9mIEFEQV9ESVJTLgoKMjAwNC0wMS0yMSAgR2VyYWxkIFBmZWlmZXIgIDxnZXJhbGRAcGZlaWZlci5jb20+CgoJKiBjcm9udGFiOiBNYWtlIDMuNCBzbmFwc2hvdHMgZnJvbSB0aGUgbmV3IDMuNCByZWxlYXNlIGJyYW5jaC4KCjIwMDQtMDEtMjAgIEtlbGxleSBDb29rICA8a2Nvb2tAZ2NjLmdudS5vcmc+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfc291cmNlcyk6IERlbGV0ZSBjYWxsIHRvIG1ha2UgZjc3LnJlYnVpbHQuCgoyMDA0LTAxLTE3ICBHZXJhbGQgUGZlaWZlciAgPGdlcmFsZEBwZmVpZmVyLmNvbT4KCgkqIHNuYXBzaG90LVJFQURNRTogTWVudGlvbiBob3cgdGhlIHNuYXBzaG90IHdhcyBnZW5lcmF0ZWQuCgkqIHNuYXBzaG90LWluZGV4Lmh0bWw6IERpdHRvLiAgRnVydGhlciBzeW5jIHdpdGggc25hcHNob3QtUkVBRE1FLgoKMjAwNC0wMS0wMyAgSm9zZXBoIFMuIE15ZXJzICA8anNtQHBvbHlvbWluby5vcmcudWs+CgoJKiB1cGRhdGVfd2ViX2RvY3M6IENyZWF0ZSB0YXJiYWxscyBvZiBkb2N1bWVudGF0aW9uIHNvdXJjZXMgYW5kCglIVE1MIGRvY3MuCgoyMDA0LTAxLTAyICBHZXJhbGQgUGZlaWZlciAgPGdwQHN1c2UuZGU+CgoJKiB1cGRhdGVfdmVyc2lvbjogQWRkIHNvbWUgZG9jdW1lbnRhdGlvbi4KCQoyMDA0LTAxLTAyICBQb3AgU+liYXN0aWFuICA8cG9wQGdhdXZhaW4udS1zdHJhc2JnLmZyPgoKCSogdXBkYXRlX3ZlcnNpb24gKEFERF9CUkFOQ0hFUyk6IEFkZCBsbm8tYnJhbmNoLgoKMjAwMy0xMS0wMiAgR2VyYWxkIFBmZWlmZXIgIDxnZXJhbGRAcGZlaWZlci5jb20+CgoJKiBtYWludGFpbmVyLWFkZHJlc3NlczogTmV3IHNjcmlwdC4KCjIwMDMtMTAtMjQgIEtlbGxleSBDb29rICA8a2Nvb2tAZ2NjLmdudS5vcmc+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfc291cmNlcyk6IFVzZSAtLWVuYWJsZS1nZW5lcmF0ZWQtZmlsZXMtaW4tc3JjZGlyLgoKMjAwMy0wOS0yMiAgR2VyYWxkIFBmZWlmZXIgIDxnZXJhbGRAcGZlaWZlci5jb20+CgoJKiBnY2NfcmVsZWFzZSAoYW5ub3VuY2Vfc25hcHNob3QpOiBSZXN0cnVjdHVyZSBwcm9jZXNzaW5nCglvZiBzbmFwc2hvdC1SRUFETUUgYW5kIHNuYXBzaG90LWluZGV4Lmh0bWwgYW5kIGFkZCBhIG5ldwoJc3Vic3RpdHV0aW9uIGZvciBARVhQT1JUQC4KCjIwMDMtMDgtMjQgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3NvdXJjZXMpOiBDcmVhdGUvdXBkYXRlIHRoZSBMQVNUX1VQREFURUQgZmlsZQoJaW4gdGhlIHNvdXJjZSBkaXJlY3Rvcnkgd2l0aCBpbmZvcm1hdGlvbiBob3cgc291cmNlcyB3ZXJlIG9idGFpbmVkLgoJCjIwMDMtMDgtMTYgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3NvdXJjZXMpOiBVc2UgdHdvIG5ldyB2YXJpYWJsZXMgRVhQT1JUVEFHIGFuZAoJRVhQT1JUREFURSB0byBtYWtlIHRoZSBleHRyYWN0aW9uIG9mIHNvdXJjZXMgbW9yZSB0cmFuc3BhcmVudCBhbmQKCWFsc28gYWxsb3cgc25hcHNob3RzIChvZmYgbWFpbmxpbmUpIHdpdGhvdXQgYSB0YWcuCgoyMDAzLTA4LTA4ICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX3JlbGVhc2U6IENvcnJlY3QgbG9naWMgZm9yIHVwZGF0aW5nIHZlcnNpb24uYy4gIFB1dAoJcHJlcmVsZWFzZXMgaW50byBhIHN1YmRpcmVjdG9yeS4KCjIwMDMtMDctMjkgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGNyb250YWI6IFVwZGF0ZSBpbnZvY2F0aW9uIG9mIGdjY19yZWxlYXNlIGFjY29yZGluZyB0byB0aGUKCXByZXZpb3VzIGNoYW5nZXMgdGhlcmUuICBBZGQgYXV0b21hdGljIDMuNCBzbmFwc2hvdHMgZnJvbSBtYWlubGluZS4KCjIwMDMtMDctMjMgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdjY19yZWxlYXNlICh1c2FnZSk6IERvY3VtZW50IHRoYXQgLXMgbm93IHRha2VzIHN5bWJvbGljIG5hbWUKCWFuZCBicmFuY2ggb2YgdGhlIHNuYXBzaG90IGFzIHBhcmFtZXRlcnMuCglJbXBsZW1lbnQgdGhpcyBhcyBwYXJ0IG9mIGNvbW1hbmQtbGluZSBwcm9jZXNzaW5nLgoJKEJSQU5DSCk6IFJlbW92ZSBkZWZhdWx0IGluaXRpYWxpemF0aW9uIGZvciBzbmFwc2hvdHMuCgkoQ1ZTQlJBTkNIKTogRGl0dG8uCglEbyBub3QgbGF5IGRvd24gYSBDVlMgdGFnIGlmIGdlbmVyYXRpbmcgYSBzbmFwc2hvdCBmcm9tIG1haW5saW5lLgoJCjIwMDMtMDctMTkgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdjY19yZWxlYXNlIChhbm5vdW5jZV9zbmFwc2hvdCk6IFVzZSAke1JFTEVBU0V9IGluc3RlYWQKCW9mICR7QlJBTkNIfS0ke0RBVEV9IHRvIHJlZmVyIHRvIHRoZSBzbmFwc2hvdCBkaXJlY3RvcnkuCglQdXQgUkVBRE1FIGZpbGUgaW50byB0aGUgc25hcHNob3QgZGlyZWN0b3J5LgoKCShSRUxFQVNFKTogRGVmaW5lIGFzICR7QlJBTkNIfS0ke0RBVEV9IGZvciBzbmFwc2hvdHMuCgkoRlRQX1BBVEgpOiBVc2UgJHtSRUxFQVNFfSBpbiBjYXNlIG9mIHNuYXBzaG90cy4KCShUQUcpOiBEaXR0by4KCShPTERfVEFSUyk6IEFkanVzdCB0byBuZXcgZGlyZWN0b3J5IHNjaGVtZSBmb3Igc25hcHNob3RzLgoKMjAwMy0wNy0xNCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3JlbGVhc2UgKGFubm91bmNlX3NuYXBzaG90KTogQWRkIHN1YnN0aXR1dGlvbiBvZiBAUkVMRUFTRUAKCWZvciBSRUFETUUgYW5kIGluZGV4Lmh0bWwuCgkqIHNuYXBzaG90LVJFQURNRTogVXNlIGl0LgoJKiBzbmFwc2hvdC1pbmRleC5odG1sOiBEaXR0by4KCjIwMDMtMDctMDkgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCQoJKiBnY2NfcmVsZWFzZSAoYW5ub3VuY2Vfc25hcHNob3QpOiBBZGQgc3Vic3RpdHV0aW9uIG9mIEBCUkFOQ0hACglmb3IgUkVBRE1FIGFuZCBpbmRleC5odG1sLiAgUmVtb3ZlIHN1YnN0aXR1dGlvbiBvZiBATE9OR19EQVRFQC4KCVB1dCBpbmRleC5odG1sIGludG8gdGhlIHJlc3BlY3RpdmUgc25hcHNob3QgZGlyZWN0b3J5LgoJQWRqdXN0IHN1YmplY3Qgb2YgdGhlIG5vdGlmaWNhdGlvbiBtYWlsIHRvIHRoZSBuZXcgbmFtaW5nIHNjaGVtZQoJZm9yIENWUyB0YWdzLgoJQWRqdXN0IG5hbWUgb2YgdGhlIExBVEVTVC1JUy0uLi4gZmlsZXMgdG8gdGhlIG5ldyBuYW1pbmcgc2NoZW1lCglmb3Igc25hcHNob3QgZGlyZWN0b3JpZXMuCgkoRlRQX1BBVEgpOiBEaXR0by4KCShMQVNUX0RJUik6IERpdHRvLgoJKExBU1RfTE9OR19EQVRFKTogUmVtb3ZlLgoKCSogc25hcHNob3QtUkVBRE1FOiBBZGp1c3QgdG8gdGhlIG5ldyBuYW1pbmcgc2NoZW1lcyBmb3IgZGlyZWN0b3JpZXMKCWFuZCBzbmFwc2hvdHMgcGVyIHNlLgoJRHluYW1pY2FsbHkgZmlsbCBpbiB0aGUgcmVzcGVjdGl2ZSBicmFuY2ggaW5zdGVhZCBvZiBoYXJkY29kaW5nIGl0LgoKCSogc25hcHNob3QtaW5kZXguaHRtbDogUmVwbGFjZSBpbmRpdmlkdWFsIGxpbmtzIHRvIGRpZmZzIHdpdGggYQoJZ2VuZXJhbCBsaW5rIHRvIHRoZSBkaWZmLyBzdWJkaXJlY3RvcnkuCglNZW50aW9uIHRoZSBjb25jcmV0ZSBzbmFwc2hvdCBpbiA8dGl0bGU+IGFuZCA8aDE+LgoJQWRqdXN0IGxpbmtzIHRvIHRoZSBuZXcgbG9jYXRpb24gb2YgaW5kZXguaHRtbC4KCQoyMDAzLTA3LTA4ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZTogTW92ZSBoYW5kbGluZyBvZiBjb21wbGV4IG1vZGVzIGRpcmVjdGx5IGFmdGVyCglzd2l0Y2ggaGFuZGxpbmcuCgkoVEFHKTogSW5jbHVkZSB0aGUgYnJhbmNoIG5hbWUgYXMgcGFydCBvZiBzbmFwc2hvdCBDVlMgdGFncy4KCjIwMDMtMDctMDQgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdjY19yZWxlYXNlOiBFeGVjdXRlIGdjYy5nbnUub3JnLW9ubHkgb3BlcmF0aW9ucyB3aGljaCBhcmUKCXJlbGF0ZWQgdG8gZGlmZiBnZW5lcmF0aW9uIG9ubHkgaWYgZGlmZnMgaGF2ZSBiZWVuIHJlcXVlc3RlZC4KCShidWlsZF9zb3VyY2VzKTogSW1wcm92ZSB0cmFjaW5nIGFuZCBhbiBlcnJvciBtZXNzYWdlIHJlbGF0ZWQKCXRvIHRhZ2dpbmcuCgoyMDAzLTA3LTAxICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZSAoQlJBTkNIKTogUmVuYW1lIHRvLi4uCgkoQ1ZTQlJBTkNIKTogLi4ubmV3IG1hY3JvLCBhbmQgdXNlIEJSQU5DSCBmb3IgdGhlIHZhcmlhbnQgdXNlcnMKCXdpbGwgc2VlLgoJKEZUUF9CUkFOQ0gpOiBGb3Igc25hcHNob3RzLCBpbmNsdWRlICR7QlJBTkNIfSBpbiB0aGUgbGFzdCBwYXJ0CglvZiB0aGUgZGlyZWN0b3J5IG5hbWUuCglVc2UgLnNuYXBzaG90X2RhdGUtJHtCUkFOQ0h9IGluc3RlYWQgb2YgLnNuYXBzaG90X2RhdGUuCgoyMDAzLTA2LTI4ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZTogQ29tbWFuZCAiYWxsIiBub3cgY3JlYXRlcyAuZ3ogZmlsZXMgb25seSBmb3IKCXJlbGVhc2VzIGFuZCBwcmUtcmVsZWFzZXMuCgoyMDAzLTA2LTI3ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfc291cmNlcyk6IERvIG5vdCBpbmNsdWRlIGduYXRzLmh0bWwgYW55IGxvbmdlci4KCU1ha2UgYW4gZXJyb3IgbWVzc2FnZSBtb3JlIGRlc2NyaXB0aXZlLgoJCjIwMDMtMDYtMjUgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdjY19yZWxlYXNlOiBGYWN0b3IgdGhlIHVwZGF0aW5nIG9mIGxpbmtzIGFuZCBSRUFETUVzIG9uIHRoZQoJRlRQIHNlcnZlciBhbmQgc2VuZGluZyBtYWlsIGZvciBzbmFwc2hvdHMgaW50byBhLi4uCgkoYW5ub3VuY2Vfc25hcHNob3QpOiAuLi5uZXcgZnVuY3Rpb24uCglBZGQgaW5mb3JtYXRpdmUgb3V0cHV0IGZvciBib3RoLgoKMjAwMy0wNi0xOCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3JlbGVhc2U6IERvIG5vdCB1cGRhdGUgZ2NjX2xhdGVzdF9zbmFwc2hvdCB0YWcgYW55IGxvbmdlci4KCjIwMDMtMDYtMTggIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIHNuYXBzaG90LWluZGV4Lmh0bWw6IFVzZSBGNzcgaW5zdGVhZCBvZiBHNzcgZnJvbnQgZW5kLgoJUmVtb3ZlIGxpbmsgdG8gQ29kZVNvdXJjZXJ5IHNuYXBzaG90cyB3aGljaCB3YXMgbm90IHVwLXRvLWRhdGUuCglEbyBub3QgcmVmZXIgdG8gZ2NjLWJ1Z3NAZ2NjLmdudS5vcmcgYW55IGxvbmdlci4KCgkqIHNuYXBzaG90LVJFQURNRTogVXNlIEY3NyBmcm9udCBlbmQgaW5zdGVhZCBvZiBHNzcgbGFuZ3VhZ2UuCgoyMDAzLTA2LTE3ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfdGFyZmlsZSk6IEJ1aWxkIC5iejIgZmlsZXMgaW5zdGVhZCBvZiAuZ3ogZmlsZXMuCgkoYnVpbGRfYnoyKTogUmVuYW1lIHRvIGJ1aWxkX2d6aXAgYW5kIGNyZWF0ZSAuZ3ogZmlsZXMgZnJvbSAuYnoyCglmaWxlcyBpbnN0ZWFkIG9mIHRoZSBvdGhlciB3YXkgYXJvdW5kLgoJKGJ1aWxkX2d6aXApOiBOZXcgZnVuY3Rpb24uCgkoYnVpbGRfZGlmZnMpOiBCdWlsZCAuYnoyIGZpbGVzIGluc3RlYWQgb2YgLmd6IGZpbGVzLgoJKGJ1aWxkX2RpZmYpOiBVc2UgLmJ6MiBmaWxlcyBpbnN0ZWFkIG9mIC5neiBmaWxlcy4KCU1ha2UgYW4gZXJyb3IgbWVzc2FnZSBpbmRlcGVuZGVudCBvZiB0aGUgY29tcHJlc3Npb24gZm9ybWF0LgoJKE1PREVfQlpJUDIpOiBSZW5hbWUgdG8gTU9ERV9HWklQLiAgUmVsYXRlZCBjaGFuZ2VzIHRvIHRoZQoJaW52b2NhdGlvbiBvZiB0aGlzIHNjcmlwdC4KCShNT0RFX0daSVApOiBOZXcgdmFyaWFibGUuCgkoT0xEX1RBUlMpOiBVc2UgLmJ6MiBhcmNoaXZlIG9mIHRoZSBwcmV2aW91cyBzbmFwc2hvdC4KCjIwMDMtMDYtMTQgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIHNuYXBzaG90LVJFQURNRTogVXNlIEdDQyBpbnN0ZWFkIG9mIGdjYywgQysrIGZyb250IGVuZCBpbnN0ZWFkIG9mIAoJZysrIGxhbmd1YWdlLCBhbmQgbm90ZSB0aGF0IEphdmEgaW5jbHVkZXMgYSBydW4gdGltZS4KCSogc25hcHNob3QuaW5kZXguaHRtbDogRGl0dG8uCgoyMDAzLTA2LTEwICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfZGlmZik6IFByb3Blcmx5IHVzZSAke1RBUn0gaW5zdGVhZCBvZgoJaGFyZC1jb2RlZCB0YXIuCgoyMDAzLTA1LTI4ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBzbmFwc2hvdC1pbmRleC5odG1sOiBSZWZlciB0byAuYnoyIGZpbGVzIGluc3RlYWQgb2YgLmd6IGZpbGVzLiAKCVNpbXBsaWZ5IHRoZSBub3RlIG9uIG5vdCB1c2luZyB1bmFubm91bmNlZCBzbmFwc2hvdHMuCgkKMjAwMy0wNS0yOCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoJCgkqIHNuYXBzaG90LVJFQURNRTogUmVmZXIgdG8gLmJ6MiBmaWxlcyBpbnN0ZWFkIG9mIC5neiBmaWxlcy4KCUFkZCBhIG5vdGUgb24gd2hlcmUgdG8gZmluZCB0aGUgZGlmZiBmaWxlcy4KCVNpbXBsaWZ5IHRoZSBub3RlIG9uIG5vdCB1c2luZyB1bmFubm91bmNlZCBzbmFwc2hvdHMuCglSZW1vdmUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgZ2NjX2xhdGVzdF9zbmFwc2hvdCB0YWcuCgoyMDAzLTA1LTI3ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfZGlmZnMpOiBBZGQgZGlhZ25vc3RpY3MgaW4gY2FzZSB3ZSBjYW5ub3QKCWdlbmVyYXRlIGEgc3BlY2lmaWMgZGlmZiBmaWxlLgoKMjAwMy0wNS0yNCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3NvdXJjZXMpOiBPbmx5IHVwZGF0ZSBDaGFuZ2VMb2cgZmlsZXMgd2hpY2gKCWRvIG5vdCB5ZXQgY29udGFpbiB0aGUgZW50cnkgd2UgYXJlIGdvaW5nIHRvIGFkZC4KCUZpeCB0eXBvIGluIGFkZGVkIENoYW5nZUxvZyBlbnRyaWVzLgoKMjAwMy0wNS0yMCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3JlbGVhc2UgKHVwbG9hZF9maWxlcyk6IFB1dCBkaWZmIGZpbGVzIGludG8gYSAiZGlmZnMiCglzdWJkaXJlY3RvcnkKCjIwMDMtMDUtMTggIE5hdGhhbmFlbCBOZXJvZGUgIDxuZXJvZGVuQGdjYy5nbnUub3JnPgoKCSogZ2NjX3JlbGVhc2U6IEdOVSBDQyAtPiBHQ0MuCgoyMDAzLTA1LTEyICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZSAodXNhZ2UpOiBQcmludCBtb3JlIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIGFsbAoJY29tbWFuZC1saW5lIG9wdGlvbnMuCgoyMDAzLTA1LTA5ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiB1cGRhdGVfdmVyc2lvbiAoQUREX0JSQU5DSEVTKTogQWRkLCBzZXQgdG8gTUFJTiBhbmQKCXRyZWUtc3NhLTIwMDIwNjE5LWJyYW5jaC4KCShCUkFOQ0hFUyk6IEFsd2F5cyBjb25zaWRlciBicmFuY2hlcyBnaXZlbiBieSAkQUREX0JSQU5DSEVTLgoKMjAwMy0wNS0wNCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogdXBkYXRlX3ZlcnNpb24gKHRleHRzdHJpbmdfRklMRVMpOiBPbmx5IHZlcnNpb24uYyBuZWVkcyB0byBiZQoJdXBkYXRlZCwgbm93IHRoYXQgd2UgZG8gbm90IGNvbnNpZGVyIG9sZGVyIGJyYW5jaGVzIGFueSBtb3JlLgoKMjAwMy0wNS0wMiAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogdXBkYXRlX3ZlcnNpb24gKElHTk9SRV9CUkFOQ0hFUyk6IEFkZC4KCShCUkFOQ0hFUyk6IERvIG5vdCBjb25zaWRlciBicmFuY2hlcyBtYXRjaGluZyAkSUdOT1JFX0JSQU5DSEVTLgoKMjAwMy0wNS0wMiAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogdXBkYXRlX3ZlcnNpb246IEFkZCBhIHRyYWNlIG9mIHdoaWNoIGJyYW5jaCB3ZSBhcmUgY3VycmVudGx5Cgl3b3JraW5nIG9uLgoKMjAwMi0xMi0xNiAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY19yZWxlYXNlOiBNYWtlIHNuYXBzaG90cyBmcm9tIHRoZSBHQ0MgMy4zIGJyYW5jaC4KCSogc25hcHNob3QtUkVBRE1FOiBVcGRhdGUuCgoyMDAyLTA5LTIzICBaYWNrIFdlaW5iZXJnICA8emFja0Bjb2Rlc291cmNlcnkuY29tPgoKCSogdXBkYXRlX3ZlcnNpb246IERvIG5vdCBjaGVjayBpbiBmaWxlcyB3aGljaCBhcmUgdW5jaGFuZ2VkLgoJKiBnY2NfcmVsZWFzZTogT25seSB1cGRhdGUgdGhlIHZlcnNpb24gaW4gZ2NjL3ZlcnNpb24uYy4KCjIwMDItMDktMTcgIEpvc2VwaCBTLiBNeWVycyAgPGpzbUBwb2x5b21pbm8ub3JnLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzIChNQU5VQUxTKTogQWRkIGZhc3RqYXIuCgoyMDAyLTA5LTA4ICBKb3NlcGggUy4gTXllcnMgIDxqc21AcG9seW9taW5vLm9yZy51az4KCgkqIGdjY19yZWxlYXNlOiBNYWtlIHNuYXBzaG90cyBjb21lIGZyb20gdGhlIG1haW5saW5lLgoJKiBzbmFwc2hvdC1SRUFETUU6IFVwZGF0ZS4KCjIwMDItMDgtMjggIEpvc2VwaCBTLiBNeWVycyAgPGpzbUBwb2x5b21pbm8ub3JnLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzOiBSZW1vdmUgc3VwcG9ydCBmb3IgZ2VuZXJhdGluZyBnNzdfbmV3cy5odG1sIGFuZAoJZzc3X2J1Z3MuaHRtbC4KCSogdXBkYXRlX3dlYl9kb2NzX29sZDogTGlrZXdpc2UuICBSZW1vdmUgc3VwcG9ydCBmb3IgZ2VuZXJhdGluZwoJdGhhbmtzLmh0bWwuCgoyMDAyLTA3LTI4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBnY2NfcmVsZWFzZTogVXBkYXRlIGNvbW1lbnQuCgoJKiBzbmFwc2hvdC1SRUFETUU6IFNuYXBzaG90cyBhcmUgdGFrZW4gZnJvbSBHQ0MgMy4yIGJyYW5jaC4KCjIwMDItMDctMjggIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfcmVsZWFzZTogVXNlIHRoZSAzLjIgYnJhbmNoIGZvciBzbmFwc2hvdHMuCgoyMDAyLTA1LTMxICBGbG9yaWFuIFdlaW1lciAgPGZ3QGRlbmViLmVueW8uZGU+CgoJKiB1cGRhdGVfd2ViX2RvY3MgKE1BTlVBTFMpOiBJbmNsdWRlIHZhcmlvdXMgZmxhdm91cnMgb2YgdGhlIEdOQVQKCVVzZXIgR3VpZGUuCgoyMDAyLTA1LTI3ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiB1cGRhdGVfdmVyc2lvbiAodGV4dHN0cmluZ19GSUxFUyk6IENoYW5nZSBnY2MvYWRhL2duYXR2c24uYWRzIHRvCglnY2MvZ2NjL2FkYS9nbmF0dnNuLmFkcy4KCjIwMDItMDUtMjYgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIGdjY19yZWxlYXNlOiBBZGQgZ2NjL2FkYS9nbmF0dnNuLmFkcyB0byBsaXN0IG9mIGZpbGVzIGluIHdoaWNoCglyZWxlYXNlIHN0YXR1cyBpcyB1cGRhdGVkLgoJKiB1cGRhdGVfdmVyc2lvbiAodGV4dHN0cmluZ19GSUxFUyk6IEFkZCBnY2MvYWRhL2duYXR2c24uYWRzLgoKMjAwMi0wNS0yMSAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogZ2NjX3JlbGVhc2U6IERvIHVwbG9hZCBmaWxlcyB3aGVuIGxvY2FsLgoKCSogc25hcHNob3QtUkVBRE1FLCBzbmFwc2hvdC1pbmRleC5odG1sOiBSZW1vdmUgY2hpbGwuCgoyMDAyLTA1LTA4ICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX3JlbGVhc2U6IENvcnJlY3QgdXBsb2FkIGhhbmRsaW5nLgoKMjAwMi0wNC0yMiAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY19yZWxlYXNlIChidWlsZF9kaWZmcyk6IFJlbW92ZSByZWZlcmVuY2UgdG8gQ2hpbGwuCgoyMDAyLTA0LTIxICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiB1cGRhdGVfd2ViX2RvY3MgKE1BTlVBTFMpOiBSZW1vdmUgY2hpbGwuICBBZGQgZ25hdF9ybS4KCjIwMDItMDQtMTkgIEtlbGxleSBSLiBDb29rIChrZWxseS5yLmNvb2tAZ20uY29tKQoKCSogZ2NjX3JlbGVhc2U6IFNldCBUWiB0byBVVEMwLgoKMjAwMi0wNC0xNSAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY19yZWxlYXNlIChidWlsZF90YXJmaWxlcyk6IERvIG5vdCBidWlsZCBDaGlsbCB0YXJmaWxlcy4KCShDSElMTF9ESVJTKTogUmVtb3ZlLgoKMjAwMi0wMy0xMCAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogZ2NjX3JlbGVhc2U6IEJ1aWxkIGRpZmZzIGZvciBhZGEgYW5kIGNoaWxsLiAgTWFrZSAiYnppcDIiIGEgbmV3CgltYWpvciBtb2RlLgoKMjAwMi0wMy0wNiAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogdXBkYXRlX3ZlcnNpb246ICBEb24ndCBpbmRlbnQgdGhlIHZlcnNpb24gc3RyaW5nLgoKMjAwMi0wMy0wNSAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogc25hcHNob3QtUkVBRE1FOiBOb3RlIHRoYXQgc25hcHNob3RzIGNvbWUgZnJvbSB0aGUgMy4xIGJyYW5jaC4KCVVwZGF0ZSBsaXN0IG9mIGZpbGVzLgoKMjAwMi0wMy0wMyAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogZ2NjX3JlbGVhc2U6IE1ha2Ugc25hcHNob3RzIGNvbWUgZnJvbSB0aGUgMy4xIGJyYW5jaC4KCjIwMDItMDItMjUgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiB1cGRhdGVfdmVyc2lvbjogQXV0b21hdGljYWxseSB1cGRhdGUgdmVyc2lvbiBmaWxlcyBvbiBhbGwKCWJyYW5jaGVzLgoJKiBjcm9udGFiOiBPbmx5IGludm9rZSB1cGRhdGVfdmVyc2lvbiBvbmNlLgoKMjAwMi0wMi0yMyAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogZ2NjX3JlbGVhc2U6IFJldmVydCBjaGFuZ2UgdG8gLXAgaW50ZXJmYWNlLiAgQWxsb3cgZm9yIGxvY2FsIGFuZAoJcmVtb3RlIGNhc2VzIGluIGNyZWF0aW5nIGRpcmVjdG9yaWVzLiAgR2l2ZSBhbiBlcnJvciBpZiAtcAoJYXJndW1lbnQgbmFtZXMgYSBkaXJlY3RvcnkuCgoyMDAyLTAyLTIxICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX3JlbGVhc2U6IENvcnJlY3QgaGFuZGxpbmcgb2YgZGlmZi1nZW5lcmF0aW9uLiAgQWRkCgkiZGlmZnMiIG1ham9yIG1vZGUuCgoyMDAyLTAyLTA4ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBnY2NfcmVsZWFzZTogU3Vic3RpdHV0ZSBkYXRlcyBpbiBzbmFwc2hvdC1SRUFETUUgYW5kCglzbmFwc2hvdC1pbmRleC5odG1sIGZpbGVzIHJhdGhlciB0aGFuIGRpcmVjdGx5IHVzaW5nIHRoZSBvbGQgZmlsZXMKCW9uIHRoZSBGVFAgc2l0ZS4gIFNldCBRTUFJTEhPU1QuCgoyMDAyLTAyLTA4ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBzbmFwc2hvdC1pbmRleC5odG1sOiBJbXByb3ZlIG1hcmt1cC4KCjIwMDItMDEtMjkgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHNuYXBzaG90LVJFQURNRSwgc25hcHNob3QtaW5kZXguaHRtbDogVXNlIGV4cHJlc3Npb25zIHN1Y2ggYXMKCUBEQVRFQCByYXRoZXIgdGhhbiBoYXJkY29kZWQgZGF0ZXMuCgoJKiBzbmFwc2hvdC1SRUFETUUsIHNuYXBzaG90LWluZGV4Lmh0bWw6IE5ldyBmaWxlcy4KCjIwMDItMDEtMDYgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIHVwZGF0ZV93ZWJfZG9jcyAoY29udHJpYl9maWxlKTogUmVtb3ZlLgoJQWxzbyByZW1vdmluZyBzcGVjaWFsIGhhbmRsaW5nIG9mIHRoYW5rcy5odG1sLgoKMjAwMS0xMi0xNyAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzOiBVc2UgbWFrZWluZm8gLS1odG1sIGluc3RlYWQgb2YgdGV4aTJodG1sLgoJUmVtb3ZlIHN1cHBvcnQgZm9yIHByZS0zLjEgR0NDIHZlcnNpb25zLiAgQnVpbGQgb25saW5lIGRvY3MgZm9yCglnY2NpbnQgbWFudWFsLgoKMjAwMS0xMi0xNyAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzX29sZDogQ29weSBmcm9tIHVwZGF0ZV93ZWJfZG9jcy4gIEFkZCBjb21tZW50Cgl0aGF0IHRoaXMgaXMgZm9yIEdDQyAzLjAueCBhbmQgZWFybGllciB2ZXJzaW9ucy4KCjIwMDEtMTEtMTkgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIGdjY19yZWxlYXNlOiBBZGQgL3Vzci9sb2NhbC9iaW4gdG8gcGF0aCB3aGVuIGxvY2FsLgoKMjAwMS0xMS0wNiAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzOiBTZXQgU09VUkNFRElSIHNvIHRoYXQgaW5zdGFsbCBtYW51YWwgY2FuIGJlCglmb3VuZCB3aGVuIHJ1bm5pbmcgaW5zdGFsbC50ZXhpMmh0bWwuCgoJKiBnY2NfcmVsZWFzZTogRG9uJ3QgcmVxdWlyZSBhIHVzZXJuYW1lIGlmIHJ1bm5pbmcgbG9jYWxseS4KCjIwMDEtMTEtMDUgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHVwZGF0ZV93ZWJfZG9jczogRWxpbWluYXRlIHdhcm5pbmdzIGFib3V0IGtlZXBpbmcgZmlsZXMgZnJvbSB3ZWIKCXBhZ2UgcHJlcHJvY2Vzc2luZy4KCgkqIHVwZGF0ZV93ZWJfZG9jczogQWxsb3cgZm9yIHRoZSBzYW1lIGZpbGUgbmFtZSBpbiBkaWZmZXJlbnQKCWRpcmVjdG9yaWVzLgoKMjAwMS0xMC0yOSAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzOiBHZW5lcmF0ZSBsaWJpYmVydHkgYW5kIGduYXQtc3R5bGUgbWFudWFscy4KCjIwMDEtMTAtMjQgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIGdjY19yZWxlYXNlOiBCdWlsZCBzbmFwc2hvdHMgZnJvbSBtYWlubGluZS4gIEdlbmVyYXRlIEFkYSBhbmQKCUNoaWxsIHRhcmJhbGxzLiAgQ29ycmVjdCBlcnJvciBjaGVjayB3aGVuIGJ1aWxkaW5nIGRpZmZzLiAgQ2hlY2sKCWZvciBlcnJvcnMgd2hlbiBidWlsZGluZyBiemlwMiBmaWxlcy4KCSogY3JvbnRhYjogVXNlIC9zb3VyY2V3YXJlL3NuYXBzaG90LXRtcCBmb3IgYnVpbGRpbmcgc25hcHNob3RzLgoKMjAwMS0xMC0wOCAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogY3JvbnRhYjogQnVpbGQgd2Vla2x5IHNuYXBzaG90cy4KCgkqIGdjY19yZWxlYXNlOiBDb3B5IGZyb20gMy4wIGJyYW5jaC4gIEFkZCBzdXBwb3J0IGZvciBidWlsZGluZyB0aGUKCXdlZWtseSBzbmFwc2hvdHMgb24gZ2NjLmdudS5vcmcuCgoyMDAxLTA4LTI4ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiB1cGRhdGVfd2ViX2RvY3M6IEFsc28gY2hlY2sgb3V0IHRleGluZm8udGV4IGZyb20KCWdjYy9kb2MvaW5jbHVkZS4KCjIwMDEtMDgtMDYgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIHVwZGF0ZV93ZWJfZG9jcyAoUFJFUFJPQ0VTUyk6IFJlbmFtZSB0byBXV1dQUkVQUk9DRVNTLgoJUHJlcHJvY2VzcyB0aGUgZW50aXJlIHdlYiBzaXRlLCBub3QganVzdCB0aGUgaW5zdGFsbCBkb2NzLgoKMjAwMS0wNi0yNSAgUGhpbCBFZHdhcmRzICA8cG1lQHNvdXJjZXMucmVkaGF0LmNvbT4KCgkqIHVwZGF0ZV92ZXJzaW9uOiAgQWRkIGNvbW1hbmQtbGluZSBhcmd1bWVudCBjYXBhYmlsaXR5LCBhbHNvCglidW1wIHZlcnNpb24gZm9yIGxpYnN0ZGMrKy12MywgYW5kIGV4aXQgd2l0aCB0aGUgcmV0dXJuIGNvZGUgZnJvbQoJdGhlIGN2cyBjb21taXQuCgkqIGNyb250YWI6ICBDYWxsIHVwZGF0ZV92ZXJzaW9uIHdpdGggYXJndW1lbnRzIGluc3RlYWQgb2YKCWNhbGxpbmcgdXBkYXRlX2JyYW5jaF92ZXJzaW9uLgoJKiB1cGRhdGVfYnJhbmNoX3ZlcnNpb246ICBSZW1vdmUuCgoyMDAxLTA2LTA4ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiB1cGRhdGVfd2ViX2RvY3M6IE9ubHkgdXBkYXRlIHRoZSBpbnN0YWxsIGRvY3VtZW50YXRpb24gZm9yIHRoZQoJQ1ZTIEhFQUQuCgoyMDAxLTA2LTA3ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiB1cGRhdGVfd2ViX2RvY3MsIGRvY19leGNsdWRlOiBDaGVjayBvdXQgZmlsZXMgdGhhdCBtYXkgYmUgaW4gdGhlCglBdHRpYy4gIENoZWNrIG91dCB0ZXhpbmZvLnRleC4gIERvbid0IGdlbmVyYXRlIGFueXRoaW5nIGZyb20KCWMtdHJlZS50ZXhpLiAgR2VuZXJhdGUgUG9zdFNjcmlwdCBvdXRwdXQgZnJvbSBtYW51YWxzLgoKMjAwMS0wNi0wNCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogdXBkYXRlX3dlYl9kb2NzIChXV1dCQVNFX1BSRUZPUk1BVFRFRCwgUFJFUFJPQ0VTUyk6IE5ldwoJdmFyaWFibGVzLgoJRml4IGEgY29tbWVudCBhbmQgYWRkIGFub3RoZXIgb25lLgoJR2VuZXJhdGUgdGhlIGluc3RhbGxhdGlvbiBkb2N1bWVudGF0aW9uIGluIEhUTUwgZm9ybWF0IGZyb20KCWdjYy9kb2MvaW5zdGFsbC50ZXhpLgoKMjAwMS0wNS0wMyAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzOiBEb24ndCBnZW5lcmF0ZSBIVE1MIGZyb20gZ3h4aW50LnRleGkuICBEb24ndAoJcnVuIHRleGkyaHRtbCBvbiBtYW51YWxzIHRoYXQgYXJlbid0IHByZXNlbnQuCgoyMDAxLTAzLTE4ICBQaGlsIEVkd2FyZHMgIDxwbWVAc291cmNlcy5yZWRoYXQuY29tPgoKCSogdXBkYXRlX3dlYl9kb2NzX2xpYnN0ZGN4eDogIE5ldyBzY3JpcHQuCgkqIGNyb250YWI6ICBDYWxsIHNhaWQgc2NyaXB0LgoKMjAwMS0wMy0xOCAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3ZlcnNpb24sIHVwZGF0ZV9icmFuY2hfdmVyc2lvbjogQ2hlY2sgb3V0IHdpdGggZ2NjCglkaXJlY3RvcnkgaW5zdGVhZCBvZiB1c2luZyBlZ2NzIGxpbmsuCgoyMDAxLTAzLTE3ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiB1cGRhdGVfd2ViX2RvY3M6IERvbid0IHN0cmlwIGxlYWRpbmcgLXIgZnJvbSBhcmd1bWVudCBmb2xsb3dpbmcKCS1yLCBvciBsZWFkaW5nIC1kIGZyb20gYXJndW1lbnQgZm9sbG93aW5nIC1kLiAgQnVnIHBvaW50ZWQgb3V0IGJ5CglNYXR0IEtyYWFpLgoKCSogdXBkYXRlX3dlYl9kb2NzOiBIYW5kbGUgLXIgYW5kIC1kIG9wdGlvbnMgdG8gZ2VuZXJhdGUgZG9jcyBmb3IgYQoJcmVsZWFzZSBvciBicmFuY2ggaW4gYSBzdWJkaXJlY3RvcnkuICBEZXRlcm1pbmUgbmFtZXMgb2YgRzc3IG5ld3MKCWFuZCBidWdzIGZpbGVzIGFuZCBjb250cmlidXRvcnMgZmlsZSBhZnRlciB1cGRhdGVkIGRvY3MgaGF2ZSBiZWVuCglpbnN0YWxsZWQsIG5vdCBiZWZvcmUuICBEb24ndCByZW1vdmUgZmlsZXMgZnJvbSBhIHN1YmRpcmVjdG9yeS4KCURvbid0IGdlbmVyYXRlIG1hbnVhbHMgZm9yIGdjb3YgKGluY2x1ZGVkIGluIHRoZSBHQ0MgbWFudWFsKSBvcgoJaW9zdHJlYW0gKG9ic29sZXRlKS4gIERvIGdlbmVyYXRlIG1hbnVhbHMgZm9yIGNwcGludGVybmFscywgZ2NqCglhbmQgcG9ydGluZy4gIFVwZGF0ZSByZWd1bGFyIGV4cHJlc3Npb25zIGZvciBkZXRlY3Rpbmcgd2hldGhlcgoJZmlsZXMgaGF2ZSByZWFsbHkgY2hhbmdlZCB3aGVuIHJlZ2VuZXJhdGVkLgoKMjAwMS0wMy0xNSAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzOiBVc2UgL3Vzci9sb2NhbC9iaW4vdGV4aTJodG1sIHJhdGhlciB0aGFuCglnY2NhZG1pbidzIGxvY2FsIGNvcHkuCgoyMDAxLTAzLTEwICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBjcm9udGFiLCBkb2NfZXhjbHVkZSwgdXBkYXRlX2JyYW5jaF92ZXJzaW9uLCB1cGRhdGVfdmVyc2lvbiwKCXVwZGF0ZV93ZWJfZG9jczogTmV3IGZpbGVzIChhcyBjdXJyZW50bHkgdXNlZCBieSBnY2NhZG1pbikuCgkqIFJFQURNRTogTmV3IGZpbGUuCg==